CN107911718B - Digital television software upgrading method and device and computer readable storage medium - Google Patents

Digital television software upgrading method and device and computer readable storage medium Download PDF

Info

Publication number
CN107911718B
CN107911718B CN201711082062.1A CN201711082062A CN107911718B CN 107911718 B CN107911718 B CN 107911718B CN 201711082062 A CN201711082062 A CN 201711082062A CN 107911718 B CN107911718 B CN 107911718B
Authority
CN
China
Prior art keywords
software
digital television
upgrading
information
upgrade
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201711082062.1A
Other languages
Chinese (zh)
Other versions
CN107911718A (en
Inventor
龙飞扬
巫剑锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Qianhai Moka Software Technology Co ltd
Original Assignee
Shenzhen Qianhai Moka Software Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Qianhai Moka Software Technology Co ltd filed Critical Shenzhen Qianhai Moka Software Technology Co ltd
Priority to CN201711082062.1A priority Critical patent/CN107911718B/en
Publication of CN107911718A publication Critical patent/CN107911718A/en
Application granted granted Critical
Publication of CN107911718B publication Critical patent/CN107911718B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/241Operating system [OS] processes, e.g. server setup
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The invention discloses a digital television software upgrading method, which determines whether upgrading information exists in code stream information when a digital television terminal is started; then when the upgrade information in the code stream information is detected, downloading and storing the digital television upgrade software corresponding to the upgrade information; and then after the software of the digital television terminal is upgraded, acquiring the running data information of the digital television terminal in real time and sending the running data information to a service provider terminal. The invention also discloses a digital television software upgrading device and a computer readable storage medium. The invention utilizes the digital television signal to transmit the upgrading software, so that the user gets rid of the dependence on the network, thereby obtaining better experience, avoiding the trouble of the problems in the existing version software, also enjoying richer and diversified applications as soon as possible, and simultaneously, after the software upgrading is finished, a service provider can obtain the current running condition of the digital television terminal in time.

Description

Digital television software upgrading method and device and computer readable storage medium
Technical Field
The invention relates to the technical field of digital televisions, in particular to a method and a device for upgrading digital television software and a computer readable storage medium.
Background
With the development of digital television technology, the whole broadcast television program production and transmission quality is obviously improved, the channel resource utilization rate is greatly improved, and the digital television service adopts the digital technology to process in the whole process of processing, transmitting and receiving television signals, so the signal loss is small, and the receiving effect is good. If the current version of digital television software cannot meet the requirements, or if a digital television manufacturer needs to add new functions or update small problems in a machine, the digital television software needs to be updated. In addition, with the increase of the coverage of the digital television, other applications of the digital television are gradually enriched, such as functions of data broadcasting, video on demand, electronic commerce, software downloading, television shopping, and the like, and meanwhile, the preferences of different users for different software functions cause that they cannot meet the requirements of single digital television software. Therefore, digital television production or operators need to provide users with diversified and alternative digital television software for periodic upgrade.
At present, the method for upgrading the digital television software mainly transmits the upgraded software through a network, and the method needs the digital television terminal to inquire in the network periodically. When a user who does not install a network at home or has a network which is temporarily unavailable wants to upgrade the software of the digital television, the software can be upgraded only by means of the on-door service of a technician, which is very inconvenient for both the digital television user and the technician. In addition, after software upgrading is completed, subsequent software running conditions cannot be effectively mastered, and further, a service provider cannot provide a targeted optimization scheme for digital television software according to the use conditions of users.
The above is only for the purpose of assisting understanding of the technical aspects of the present invention, and does not represent an admission that the above is prior art.
Disclosure of Invention
The invention mainly aims to provide a digital television software upgrading method, aiming at solving the technical problems of digital television software upgrading in the absence of a network and real-time monitoring of the running state of a digital television.
In order to achieve the above object, the present invention provides a digital television software upgrading method, which is applied to a digital television software upgrading system, wherein the digital television software upgrading system comprises a digital television terminal and a service provider terminal, and the digital television software upgrading method comprises the following steps:
when the digital television terminal is started, determining whether the code stream information contains upgrading information;
when the upgrade information in the code stream information is detected, downloading and storing digital television upgrade software corresponding to the upgrade information, wherein the digital television upgrade software is added with the corresponding upgrade information during compiling, and the digital television upgrade software and the upgrade information are coded, converted into a TS format and mixed into the program code stream information for transmission together, so that a digital television terminal can identify;
and after the software of the digital television terminal is upgraded, acquiring the running data information of the digital television terminal in real time, and when a data acquisition instruction sent by a service provider terminal through a shell script is received, sending the running data information corresponding to the data acquisition instruction to the service provider terminal.
Preferably, after the step of downloading and storing the digital television upgrade software corresponding to the upgrade information when the upgrade information in the code stream information is detected, the method further includes:
when the digital television terminal acquires the digital television upgrading software, displaying a software upgrading interface and determining whether to execute a software updating action;
and upgrading the software of the digital television terminal when an upgrade approval instruction triggered based on the software upgrading interface is acquired.
Preferably, after the step of displaying a software upgrading interface and determining whether to execute a software updating action when the digital television terminal acquires the digital television upgrading software, the method further includes:
and when an upgrading refusing instruction triggered based on the software upgrading interface is obtained, the software upgrading interface is quitted.
Preferably, the step of downloading and storing the digital television upgrade software corresponding to the upgrade information when the upgrade information in the code stream information is detected includes:
when the upgrading information in the code stream information is detected, verifying upgrading software corresponding to the upgrading information;
and when the upgrade software is successfully verified, restoring the upgrade software into upgrade source software through the Dmux, and storing the upgrade source software into an OAD partition in the digital television terminal.
Preferably, after the step of identifying the upgrade software corresponding to the upgrade information when the upgrade information in the code stream information is detected, the method further includes:
and when the upgrade software identification fails, re-receiving the upgrade software corresponding to the upgrade information.
Preferably, when the upgrade information in the code stream information is detected, the step of verifying the upgrade software corresponding to the upgrade information includes:
identifying a verification file based on the upgrade information;
and when the identification of the check file is finished, checking the corresponding digital television upgrading software in a mode of identifying the CRC file.
Preferably, the step of acquiring the running data information of the digital television terminal in real time after the software upgrade of the digital television terminal is completed, and when a data acquisition instruction sent by a service provider terminal through a shell script is received, sending the running data information corresponding to the data acquisition instruction to the service provider terminal includes:
after software upgrading of the digital television terminal is completed, acquiring running data information of the digital television terminal in real time, and sending a data transmission request and data transmission parameters to a service provider terminal when the content in a log folder for storing the running data information reaches a preset size;
and when a data acquisition instruction sent by the service provider terminal through the shell script is acquired, sending the running data information corresponding to the data transmission command to the service provider terminal for research of related technical personnel.
Preferably, the data transmission parameters include an item ID number, a digital television terminal IP number, and an output time of each line of the log.
In addition, in order to achieve the above object, the present invention further provides a digital television software upgrading apparatus, which is characterized in that the digital television software upgrading apparatus includes: the system comprises a memory, a processor and a digital television software upgrading program which is stored on the memory and can run on the processor, wherein when the digital television software upgrading program is executed by the processor, the steps of any one of the digital television software upgrading methods are realized.
In addition, to achieve the above object, the present invention further provides a computer readable storage medium, having a digital television software upgrade program stored thereon, where the digital television software upgrade program, when executed by a processor, implements the steps of any one of the above digital television software upgrade methods.
According to the scheme, when the digital television terminal is started, whether the code stream information contains the upgrading information is determined; then when the upgrade information in the code stream information is detected, downloading and storing the digital television upgrade software corresponding to the upgrade information; after the software of the digital television terminal is upgraded, acquiring running data information of the digital television terminal in real time and sending the running data information to a service provider terminal; the digital television signal is utilized to carry out the transmission of the upgrading software, so that the dependence on the network can be eliminated, users who do not install the network in the home or the network is temporarily unavailable can upgrade the digital television software in the home at the first time, better experience is obtained, the trouble caused by the problems in the existing version software is avoided, richer and diversified applications can be enjoyed as early as possible, and meanwhile, after the software upgrading is completed, a service provider or other terminals with authority can analyze the running state of the digital television upgrading software by obtaining the running data of the digital television and adjust the current running state timely.
Drawings
Fig. 1 is a schematic structural diagram of a terminal to which a digital television software upgrading apparatus belongs in a hardware operating environment according to an embodiment of the present invention;
fig. 2 is a schematic flow chart of a digital television software upgrading method according to a first embodiment of the present invention;
fig. 3 is a block diagram of a download monitoring process in a first embodiment of the digital television software upgrading method of the present invention;
fig. 4 is a schematic flow chart of a digital television software upgrading method according to a second embodiment of the present invention;
fig. 5 is a detailed flowchart of the steps of downloading and storing the digital television upgrade software corresponding to the upgrade information when the upgrade information in the code stream information is detected in the third embodiment of the digital television software upgrade method of the present invention;
fig. 6 is a flow chart of the transmission process of the upgrade software in the third embodiment of the digital television software upgrade method of the present invention;
fig. 7 is a schematic view of a detailed flow of the step of checking the upgrade software corresponding to the upgrade information when the upgrade information in the code stream information is detected in the fourth embodiment of the digital television software upgrade method of the present invention;
fig. 8 is a detailed flowchart of the steps of acquiring the running data information of the digital television terminal in real time after completing the software upgrade of the digital television terminal, and sending the running data information corresponding to the data acquisition instruction to the facilitator terminal when receiving the data acquisition instruction sent by the facilitator terminal through the shell script in the fifth embodiment of the digital television software upgrade method of the present invention.
The implementation, functional features and advantages of the objects of the present invention will be further explained with reference to the accompanying drawings.
Detailed Description
It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
As shown in fig. 1, fig. 1 is a schematic terminal structure diagram of a hardware operating environment according to an embodiment of the present invention.
The terminal of the embodiment of the invention can be a PC, and can also be a mobile terminal device with a display function, such as a smart phone, a tablet computer, an electronic book reader, an MP3(Moving Picture Experts Group Audio Layer III, dynamic video Experts compress standard Audio Layer 3) player, an MP4(Moving Picture Experts Group Audio Layer IV, dynamic video Experts compress standard Audio Layer 3) player, a portable computer, and the like.
As shown in fig. 1, the terminal may include: a processor 1001, such as a CPU, a network interface 1004, a user interface 1003, a memory 1005, a communication bus 1002. Wherein a communication bus 1002 is used to enable connective communication between these components. The user interface 1003 may include a Display screen (Display), an input unit such as a Keyboard (Keyboard), and the optional user interface 1003 may also include a standard wired interface, a wireless interface. The network interface 1004 may optionally include a standard wired interface, a wireless interface (e.g., WI-FI interface). The memory 1005 may be a high-speed RAM memory or a non-volatile memory (e.g., a magnetic disk memory). The memory 1005 may alternatively be a storage device separate from the processor 1001.
Optionally, the terminal may further include a camera, a Radio Frequency (RF) circuit, a sensor, an audio circuit, a WiFi module, and the like. Such as light sensors, motion sensors, and other sensors. Specifically, the light sensor may include an ambient light sensor that may adjust the brightness of the display screen according to the brightness of ambient light, and a proximity sensor that may turn off the display screen and/or the backlight when the mobile terminal is moved to the ear. As one of the motion sensors, the gravity acceleration sensor can detect the magnitude of acceleration in each direction (generally, three axes), detect the magnitude and direction of gravity when the mobile terminal is stationary, and can be used for applications (such as horizontal and vertical screen switching, related games, magnetometer attitude calibration), vibration recognition related functions (such as pedometer and tapping) and the like for recognizing the attitude of the mobile terminal; of course, the mobile terminal may also be configured with other sensors such as a gyroscope, a barometer, a hygrometer, a thermometer, and an infrared sensor, which are not described herein again.
Those skilled in the art will appreciate that the terminal structure shown in fig. 1 is not intended to be limiting and may include more or fewer components than those shown, or some components may be combined, or a different arrangement of components.
As shown in fig. 1, a memory 1005, which is a kind of computer storage medium, may include therein an operating system, a network communication module, a user interface module, and a digital tv software upgrade program.
In the terminal shown in fig. 1, the network interface 1004 is mainly used for connecting to a backend server and performing data communication with the backend server; the user interface 1003 is mainly used for connecting a client (user side) and performing data communication with the client; and the processor 1001 may be used to invoke the digital television software upgrade program stored in the memory 1005.
In this embodiment, the digital television software upgrading apparatus includes: the system comprises a memory 1005, a processor 1001 and a digital television software upgrading program which is stored on the memory 1005 and can run on the processor 1001, wherein when the processor 1001 calls the digital television software upgrading program stored in the memory 1005, the following operations are executed:
when the digital television terminal is started, determining whether the code stream information contains upgrading information;
when the upgrade information in the code stream information is detected, downloading and storing digital television upgrade software corresponding to the upgrade information, wherein the digital television upgrade software is added with the corresponding upgrade information during compiling, and the digital television upgrade software and the upgrade information are coded, converted into a TS format and mixed into the program code stream information for transmission together, so that a digital television terminal can identify;
and after the software of the digital television terminal is upgraded, acquiring the running data information of the digital television terminal in real time, and when a data acquisition instruction sent by a service provider terminal through a shell script is received, sending the running data information corresponding to the data acquisition instruction to the service provider terminal.
Further, the processor 1001 may call the digital tv software upgrade program stored in the memory 1005, and further perform the following operations:
when the digital television terminal acquires the digital television upgrading software, displaying a software upgrading interface and determining whether to execute a software updating action;
and upgrading the software of the digital television terminal when an upgrade approval instruction triggered based on the software upgrading interface is acquired.
Further, the processor 1001 may call the digital tv software upgrade program stored in the memory 1005, and further perform the following operations:
and when an upgrading refusing instruction triggered based on the software upgrading interface is obtained, the software upgrading interface is quitted.
Further, the processor 1001 may call the digital tv software upgrade program stored in the memory 1005, and further perform the following operations:
when the upgrading information in the code stream information is detected, verifying upgrading software corresponding to the upgrading information;
and when the upgrade software is successfully verified, restoring the upgrade software into upgrade source software through the Dmux, and storing the upgrade source software into an OAD partition in the digital television terminal.
Further, the processor 1001 may call the digital tv software upgrade program stored in the memory 1005, and further perform the following operations:
and when the upgrade software identification fails, re-receiving the upgrade software corresponding to the upgrade information.
Further, the processor 1001 may call the digital tv software upgrade program stored in the memory 1005, and further perform the following operations:
identifying a verification file based on the upgrade information;
and when the identification of the check file is finished, checking the corresponding digital television upgrading software in a mode of identifying the CRC file.
Further, the processor 1001 may call the digital tv software upgrade program stored in the memory 1005, and further perform the following operations:
after software upgrading of the digital television terminal is completed, acquiring running data information of the digital television terminal in real time, and sending a data transmission request and data transmission parameters to a service provider terminal when the content in a log folder for storing the running data information reaches a preset size;
and when a data acquisition instruction sent by the service provider terminal through the shell script is acquired, sending the running data information corresponding to the data transmission command to the service provider terminal for research of related technical personnel.
Further, the processor 1001 may call the digital tv software upgrade program stored in the memory 1005, and further perform the following operations:
the data transmission parameters comprise item ID number, digital television terminal IP number and output time of each row of log
A first embodiment of the present invention provides a digital television software upgrading method, and referring to fig. 2, fig. 2 is a schematic flow diagram of the first embodiment of the digital television software upgrading method of the present invention, where the digital television software upgrading method includes:
step S100, when the digital television terminal is started, determining whether the code stream information contains upgrading information;
the greatest difference from the software upgrading by using the network is that the method of the invention automatically searches the upgrading information in the broadcast television signal when the digital television terminal is started every time, and the network upgrading is inquired in the network when the digital television terminal is started every time.
Generally, the digital television service is implemented by digitally compressing, encoding and modulating captured analog signals such as video and audio to form digital signals, transmitting the digital signals through satellite, terrestrial radio or cable, receiving the digital signals by a digital television terminal, and restoring the analog signals such as video and audio through digital demodulation and decoding processing to display and play. The program source received by the digital television terminal or the set-top box is transmitted in the form of multi-segment code stream, and common systems include DVB-T, ATSC, ISDB and the like. The DVB standard adopted in China at present is a digital television standard adopted in European countries, the base band data format adopts an MPEG-2 standard, namely video and audio coding and code stream multiplexing conform to the MPEG-2 standard, and a Moving Picture experts Group (MPEG-2) is established in 1988 as an international standard related to Moving Picture compression. Among them, the MPEG-2TS Stream is one of MPEG-2 format types, which is called MPEG-2Transport Stream in its entirety, and has become a commonly used system layer coding standard in the field of digital tv. The TS transport stream can combine multiple programs into one stream for transmission with certain error code channels, which allows the same program to contain multiple audio and video streams, and can also add some additional information. It features that any segment in video stream can be decoded independently, and is suitable for transmitting real-time broadcast TV program. The TS code stream adopts a packet structure with fixed length, and when the synchronous information of a certain TS packet is damaged, the receiver can detect the synchronous information in the bread behind the TS packet at a fixed position, so that the synchronization is recovered, and the information loss is avoided.
The TS stream is a bit stream format based on packets, each of which is composed of a Packet Header (Packet Header) and Packet Data (Packet Data). Where the packet header indicates the packet's attributes and gives the packet data its unique network identifier PID. The PID is a unique identifier of each packet data in the current TS stream, and the type of the packet data can be known by reading the packet header of each packet. Each packet is 188 bytes or 204 bytes, the packet structure of 204 bytes is that 16 bytes of CRC check data are added after 188 bytes, and other formats are the same.
In this embodiment, when software upgrade needs to be performed on a digital television, for example, a television vendor has a new function update or needs to repair a small problem existing in a machine, the television vendor provides the latest version of the upgrade software to a television program service provider, where the television program service provider refers to a television station or the like with relevant qualification. After the upgrade software is obtained, the television program service provider can add the upgrade software to the common television program code stream information, the digital television terminal watching the program can identify whether the upgrade software is suitable for the machines in the batch from the code stream information of the program, and if the identification is successful, the upgrade software is downloaded to a storage unit of the current digital television terminal so as to be used for subsequent software upgrade.
Step S200, when the upgrade information in the code stream information is detected, downloading and storing the digital television upgrade software corresponding to the upgrade information, wherein the digital television upgrade software is added with the corresponding upgrade information during compiling, and the digital television upgrade software and the upgrade information are coded, converted into a TS format and mixed into the program code stream information for transmission together, so that a digital television terminal can identify;
when a television program service provider receives digital television upgrading software provided by a television vendor, HW and SW information and the upgrading software are coded together by using a coding tool, then the upgrading software with the HW and SW information is converted into a TS format by using a format conversion tool, and then TS stream is transmitted in an MPEG compression mode; wherein, HW information refers to hardroad _ VERSION, which represents related HARDWARE information, and SW information refers to softroad _ VERSION, which represents related SOFTWARE information.
The digital television terminal automatically acquires program code stream information sent by a television program service provider through digital television information when being started up every time, the program code stream information is analyzed when the digital television terminal or a set top box receives the program code stream information, and in the decoding process, if HW and SW information coded according to a preset format exists, a decoder of the digital television terminal can identify the HW and SW information, and then digital television upgrading software corresponding to the information is downloaded to the digital television terminal and stored in a reserved storage unit.
Step S300, after the software of the digital television terminal is upgraded, acquiring the running data information of the digital television terminal in real time, and when a data acquisition instruction sent by a service provider terminal through a shell script is received, sending the running data information corresponding to the data acquisition instruction to the service provider terminal.
After the digital television terminal finishes software upgrading, a television program service provider at the rear end can acquire the running data information of the digital television terminal at the front end, and then the running data is analyzed to know the running state of the digital television at the home of the user.
As shown in fig. 3, a timer is provided in a software system of the digital tv terminal, a while loop is used when the timer is programmed, and when the content of the log folder storing the running data information reaches a certain size, a data transmission request is sent from the digital tv terminal to the WEB terminal; and the WEB side can acquire the data of the digital television side through the shell script. Input-output redirection in the Linux Shell environment is represented by the symbols < AND >, 0, 1 and 2 representing standard input, standard output and standard error output, respectively. When a digital television terminal sends a data transmission request, 3 parameters are required to be transmitted to a service provider terminal, an item ID number, a host IP number and the output time of each row of logs; the project ID number is used for judging which project product is, the host IP number is used for judging which IP of the project is, so that the problem of locating which user household television is in question is solved, and the log time of each row is convenient for a developer to analyze and research the log. The WEB terminal is also a service provider terminal, and needs to cooperate with the digital television terminal due to huge information quantity, so that a special storage area is opened up to collect the information of each digital television terminal; the way of storing the log can be defined and distinguished by areas, countries, streets and the like from large to small. After receiving the relevant problem, the developer needs to call out the relevant log from the WEB end to analyze so as to solve the problem, and the log is located through the IP address.
The digital television software upgrading method provided in the embodiment determines whether upgrading information exists in code stream information when a digital television terminal is started; then when the upgrade information in the code stream information is detected, downloading and storing the digital television upgrade software corresponding to the upgrade information, wherein the digital television upgrade software and the corresponding upgrade information are encoded in a preset mode, converted into a TS format and mixed into the code stream information for transmission together, so that a digital television terminal can identify; after the software of the digital television terminal is upgraded, acquiring running data information of the digital television terminal in real time and sending the running data information to a service provider terminal; the digital television signal is utilized to transmit the upgrading software, so that the dependence on the network can be eliminated, users who do not install the network in a home or have the temporarily unavailable network can upgrade the digital television software in the home at the first time, better experience is obtained, the trouble caused by the problems in the existing version software is avoided, richer and diversified applications can be enjoyed as early as possible, and meanwhile, after the software upgrading is completed, a service provider or other terminals with permission can analyze the running state of the digital television upgrading software by obtaining the running data of the digital television, so that developers can adjust the current running state in time.
Based on the first embodiment, a second embodiment of the digital television software upgrading method of the present invention is provided, referring to fig. 4, after step S200, the method further includes:
step S400, when the digital television terminal acquires the digital television upgrading software, displaying a software upgrading interface and determining whether to execute a software updating action;
when the digital television terminal receives all the digital television upgrading software, a man-machine interaction UI window for prompting a user to upgrade the software is popped up on the current interface, and when the user receives the UI prompting window for upgrading the software, the user can automatically select whether to upgrade based on the current updated software version according to personal wishes,
and step S500, upgrading the software of the digital television terminal when an upgrade approval instruction triggered based on the software upgrading interface is obtained.
When the digital television terminal identifies the upgrading information, the software is downloaded to a 'problem' menu of the digital television terminal, an upgrading prompt is automatically sent out, a software upgrading interface is displayed, a user is inquired whether the software is required to be upgraded or not based on the software upgrading interface, and the user can select whether the software is required to be upgraded or not according to personal wishes. And when the software needs to be upgraded, entering a software upgrading program.
Further, in an embodiment, after step S400, the method further includes:
and when an upgrading refusing instruction triggered based on the software upgrading interface is obtained, the software upgrading interface is quitted.
When the software does not need to be upgraded, the user can select a rejection button on the software upgrading page and send an upgrading rejection instruction. And when the digital television terminal acquires an upgrade rejection instruction triggered based on the software upgrade interface, exiting the current software upgrade interface.
According to the digital television software upgrading method provided by the embodiment, when the digital television terminal acquires the digital television upgrading software, a software upgrading interface is displayed, and whether a software updating action is executed or not is determined; then when an upgrade approval instruction triggered based on the software upgrade interface is obtained, upgrading the software of the digital television terminal; when an upgrading refusing instruction triggered based on the software upgrading interface is obtained, the software upgrading interface is quitted; the software upgrading prompt is automatically generated in the process that the user watches the television program, the user does not need to search in a specific menu bar, the software upgrading has the option, the upgrading can be carried out at the moment, the upgrading can be carried out or not, and the upgrading operation is continued when the software upgrading is needed later.
Based on the first embodiment, a third embodiment of the digital television software upgrading method of the present invention is proposed, and referring to fig. 5, step S200 includes:
step S210, when the upgrade information in the code stream information is detected, verifying the upgrade software corresponding to the upgrade information;
after obtaining the upgrade software, the television program service provider will add the upgrade software to the common television program code stream information, and the digital television terminal watching the program can identify whether the upgrade software is suitable for the machines in the batch from the code stream information of the program, and if the identification is successful, the upgrade software is downloaded to the storage unit of the current digital television terminal for subsequent software upgrade.
When a television program service provider receives digital television upgrading software provided by a television vendor, HW and SW information and the upgrading software are coded together by using a coding tool, then the upgrading software with the HW and SW information is converted into a TS format by using a format conversion tool, and then TS stream is transmitted in an MPEG compression mode; wherein, HW information refers to hardroad _ VERSION, which represents related HARDWARE information, and SW information refers to softroad _ VERSION, which represents related SOFTWARE information.
The digital television terminal automatically acquires program code stream information sent by a television program service provider through digital television information when being started up every time, the program code stream information is analyzed when the digital television terminal or a set top box receives the program code stream information, and in the decoding process, if HW and SW information coded according to a preset format exists, a decoder of the digital television terminal can identify the HW and SW information, and then digital television upgrading software corresponding to the information is downloaded to the digital television terminal and stored in a reserved storage unit.
And step S220, when the upgrade software is successfully verified, restoring the upgrade software into upgrade source software through Dmux, and storing the upgrade source software into an OAD partition in the digital television terminal.
As shown in fig. 6, in order to ensure the consistency of the data, a corresponding verification file is generated for the upgrade software, and verification is performed during reading and writing, so as to ensure the accuracy of the data. In the embodiment, a Cyclic Redundancy Check (CRC) mode is adopted, a transmission process follows a code stream transmission protocol, the code stream transmission protocol is packaged into a plurality of 188 or 204 bit PID tables, when the PID tables are transmitted to a digital television terminal, the digital television terminal identifies a CRC + file, and if the check fails, the CRC + file is received again; if the verification is successful, the digital television terminal restores the transmitted PID table to the upgrading source file again through the data distributor DMUX. DMUX is a data distributor having an input and a plurality of outputs, and functions to transmit a signal from the input to one of the plurality of outputs, as opposed to MUX.
Dividing an OAD partition in a hard disk database of the digital television terminal for receiving downloaded files; after the files are completely received and downloaded, a man-machine interaction UI window for prompting a user to carry out software upgrading is popped up on the current interface, and when the user receives the UI prompting window for software upgrading, the user can automatically select whether to upgrade based on the current updated software version according to personal wishes.
Further, in an embodiment, after the step S210, the method further includes:
and when the upgrade software identification fails, re-receiving the upgrade software corresponding to the upgrade information.
The failure of the digital television terminal to identify the upgrade software is usually an error in the verification process, so that the CRC + file for verification needs to be identified again and the upgrade software needs to be received again.
In the digital television software upgrading method provided in the embodiment, when the upgrading information in the code stream information is detected, the upgrading software corresponding to the upgrading information is identified; then, when the upgrade software is successfully identified, restoring the upgrade software into upgrade source software, and storing the upgrade source software into the digital television terminal; the corresponding upgrading software is identified according to the upgrading information in the code stream information, so that the accuracy of file transmission and related data can be ensured, and the cost of the whole upgrading software transmission program can be effectively reduced due to the low cost of the method.
Based on the third embodiment, a fourth embodiment of the digital television software upgrading method of the present invention is proposed, and referring to fig. 7, step S210 includes:
step S211, identifying a verification file based on the upgrading information;
the HW and SW information is carried in the process of compiling the digital television upgrading software, then the upgrading software with the HW and SW information is converted into a TS code stream format through a related tool, when the TS code stream containing the upgrading software is transmitted to a target digital television terminal, the digital television terminal can be the code stream containing the upgrading software according to the information because the HW and SW information is contained in the data information. When the digital television terminal identifies the upgrade information, the CRC + check file in the code stream to which the upgrade file belongs can be further identified.
In the field of data storage and data communication, error detection means has to be adopted to ensure the correctness of data. Among many error detection measures, CRC is the most well-known one. The CRC is called as cyclic redundancy check, and is characterized in that: the error detection capability is extremely strong, the cost is low, and the method is easy to realize by using an encoder and a detection circuit. From the viewpoint of the error detection capability, the error which cannot be found by the method is only below 0.0047 percent. The method is far superior to parity check, arithmetic and check and the like in terms of performance and overhead. Thus, CRC is ubiquitous in the fields of data storage and data communication.
And step S212, when the identification of the check file is finished, checking the corresponding digital television upgrading software in a mode of identifying the CRC file.
The preset mode is a specific mode for checking the digital television upgrade software by using a CRC (cyclic redundancy check) technology, and can be set by a digital television upgrade software developer, under a normal condition, the digital television upgrade software developer can check by using a remainder of modulo-2 division, and the adopted divisors are different, and the types of CRC are also different. Typically, the divisor of a CRC is represented by a generator polynomial. The cyclic redundancy code CRC can be obtained by using a predetermined generator polynomial g (x) when encoding is performed at a transmitting end and checking is performed at a receiving end, where k bits of information to be transmitted may correspond to a (k-1) th-order polynomial k (x), r bits of redundancy bits correspond to a (r-1) th-order polynomial r (x), and a codeword of n ═ k + r, which is formed by adding r bits of redundancy bits to the k bits of information, corresponds to a (n-1) th-order polynomial. That is, a cyclic redundancy code is generated at the transmitting end and is transmitted to the receiving end together with the information bits. The check process of the receiving end is to divide the received code word polynomial by G (X), if the residue is zero, the transmission is considered to be error-free; if the remainder is not zero, the transmission has errors.
In the digital television software upgrading method provided in the embodiment, the verification file is identified based on the upgrading information; then, when the verification file is identified, verifying the corresponding digital television upgrading software according to a preset mode; the mode of checking the upgrade software by using the CRC + file can effectively improve the accuracy of data transmission, has low cost, reduces errors in the transmission process, and improves the use experience of users.
Based on the first embodiment, a fifth embodiment of the digital television software upgrading method of the present invention is proposed, and referring to fig. 8, step S300 includes:
step S310, after the software upgrade of the digital television terminal is completed, the operation data information of the digital television terminal is obtained in real time, and when the content in the log folder for storing the operation data information reaches the preset size, a data transmission request and data transmission parameters are sent to a service provider terminal;
as shown in fig. 8, the software system of the digital tv terminal stores the running data information of the terminal, i.e. the tv log of the digital tv terminal, and at the same time, a timer is written in the software system of the digital tv terminal, and the timer includes a while loop, so that the software system sends a data transmission request to the WEB end after the log folder content reaches a certain size. And when the WEB receives a data transmission request sent by the digital television terminal, the operation data information of the digital television terminal is obtained through the shell script. Input-output redirection in the Linux Shell environment is represented by a sum symbol, and 0, 1 and 2 represent a standard input, a standard output and a standard error output, respectively.
When a digital television terminal sends a data transmission request, 3 parameters are required to be transmitted to a WEB terminal, wherein the parameters comprise a project ID number, a host IP number and the output time of each row of logs; the transmission item ID number is used for judging which item the digital television terminal belongs to, the transmission host IP number is used for judging which IP of the item the terminal belongs to, so that the problem of which television in the user home is located, and the output time of each row of log is transmitted, so that the analysis and research of the log by developers are facilitated.
And step S320, when a data acquisition instruction sent by the service provider terminal through the shell script is acquired, sending the running data information corresponding to the data transmission command to the service provider terminal for research of related technicians.
In this embodiment, the facilitator terminal refers to a terminal capable of completing a task of the WEB side, and the WEB side is one of roles of the facilitator terminal. The service provider terminal may be a television program content provider, such as a television station, a digital television manufacturer, or any other terminal capable of performing WEB-side tasks.
When the service provider terminal obtains the operation data information of the digital television terminal, the operation data information is classified and stored according to a preset sequence, for example, the operation data information is classified according to the similar ranges from large to small, such as regions, countries, streets and the like, according to the IP address of the digital television terminal corresponding to the operation data information.
Because the information amount is huge, a special space needs to be opened up for storing the operation data information of each digital television terminal by the WEB terminal, so that the WEB terminal generally has relevant cooperation with television products in this aspect, and then if a digital television developer receives relevant problems, relevant operation data information needs to be called from the WEB terminal, and the operation data information is positioned by the address of the digital television terminal.
In the digital television software upgrading method provided in the embodiment, when a data transmission request sent by a digital television terminal is received, digital television terminal operation data information corresponding to the data transmission request is obtained; then, when the service provider terminal obtains the operation data information, classifying and storing the operation data information according to a preset sequence; by means of the WEB mode, the operation state of the digital television in the home of the remote user can be known without leaving home, the user is not required to provide professional operation data information or a developer himself or herself goes to the home of the user to capture the operation data information, and the operation data information of the digital television terminal can be acquired more conveniently.
In addition, an embodiment of the present invention further provides a computer-readable storage medium, where a digital television software upgrade program is stored on the computer-readable storage medium, and when executed by a processor, the digital television software upgrade program implements the following operations:
when the digital television terminal is started, determining whether the code stream information contains upgrading information;
when the upgrade information in the code stream information is detected, downloading and storing digital television upgrade software corresponding to the upgrade information, wherein the digital television upgrade software is added with the corresponding upgrade information during compiling, and the digital television upgrade software and the upgrade information are coded, converted into a TS format and mixed into the program code stream information for transmission together, so that a digital television terminal can identify;
and after the software of the digital television terminal is upgraded, acquiring the running data information of the digital television terminal in real time, and when a data acquisition instruction sent by a service provider terminal through a shell script is received, sending the running data information corresponding to the data acquisition instruction to the service provider terminal.
Further, the digital television software upgrading program when executed by the processor further realizes the following operations:
when the digital television terminal acquires the digital television upgrading software, displaying a software upgrading interface and determining whether to execute a software updating action;
and upgrading the software of the digital television terminal when an upgrade approval instruction triggered based on the software upgrading interface is acquired.
Further, the digital television software upgrading program when executed by the processor further realizes the following operations:
and when an upgrading refusing instruction triggered based on the software upgrading interface is obtained, the software upgrading interface is quitted.
Further, the digital television software upgrading program when executed by the processor further realizes the following operations:
when the upgrading information in the code stream information is detected, verifying upgrading software corresponding to the upgrading information;
and when the upgrade software is successfully verified, restoring the upgrade software into upgrade source software through the Dmux, and storing the upgrade source software into an OAD partition in the digital television terminal.
Further, the digital television software upgrading program when executed by the processor further realizes the following operations:
and when the upgrade software identification fails, re-receiving the upgrade software corresponding to the upgrade information.
Further, the digital television software upgrading program when executed by the processor further realizes the following operations:
identifying a verification file based on the upgrade information;
and when the identification of the check file is finished, checking the corresponding digital television upgrading software in a mode of identifying the CRC file.
Further, the digital television software upgrading program when executed by the processor further realizes the following operations:
after software upgrading of the digital television terminal is completed, acquiring running data information of the digital television terminal in real time, and sending a data transmission request and data transmission parameters to a service provider terminal when the content in a log folder for storing the running data information reaches a preset size;
and when a data acquisition instruction sent by the service provider terminal through the shell script is acquired, sending the running data information corresponding to the data transmission command to the service provider terminal for research of related technical personnel.
Further, the digital television software upgrading program when executed by the processor further realizes the following operations:
the data transmission parameters comprise item ID numbers, digital television terminal IP numbers and output time of each row of logs.
It should be noted that, in this document, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or system that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or system. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or system that comprises the element.
The above-mentioned serial numbers of the embodiments of the present invention are merely for description and do not represent the merits of the embodiments.
Through the above description of the embodiments, those skilled in the art will clearly understand that the method of the above embodiments can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware, but in many cases, the former is a better implementation manner. Based on such understanding, the technical solution of the present invention may be embodied in the form of a software product, which is stored in a storage medium (e.g., ROM/RAM, magnetic disk, optical disk) as described above and includes instructions for enabling a terminal device (e.g., a mobile phone, a computer, a server, an air conditioner, or a network device) to execute the method according to the embodiments of the present invention.
The above description is only a preferred embodiment of the present invention, and not intended to limit the scope of the present invention, and all modifications of equivalent structures and equivalent processes, which are made by using the contents of the present specification and the accompanying drawings, or directly or indirectly applied to other related technical fields, are included in the scope of the present invention.

Claims (10)

1. A digital television software upgrading method is applied to a digital television software upgrading system and is characterized in that the digital television software upgrading system comprises a digital television terminal and a service provider terminal, and the digital television software upgrading method comprises the following steps:
when the digital television terminal is started, automatically acquiring program code stream information, and determining whether the code stream information contains upgrading information;
when the upgrade information in the code stream information is detected, downloading and storing digital television upgrade software corresponding to the upgrade information, wherein the digital television upgrade software is added with the corresponding upgrade information during compiling, and the digital television upgrade software and the upgrade information are coded, converted into a TS format and mixed into the program code stream information for transmission together, so that a digital television terminal can identify;
and after the software of the digital television terminal is upgraded, acquiring the running data information of the digital television terminal in real time, and when a data acquisition instruction sent by a service provider terminal through a shell script is received, sending the running data information corresponding to the data acquisition instruction to the service provider terminal.
2. The method for upgrading digital television software according to claim 1, wherein after the step of downloading and storing the digital television upgrading software corresponding to the upgrading information when the upgrading information in the code stream information is detected, the method further comprises:
when the digital television terminal acquires the digital television upgrading software, displaying a software upgrading interface and determining whether to execute a software updating action;
and upgrading the software of the digital television terminal when an upgrade approval instruction triggered based on the software upgrading interface is acquired.
3. The method for upgrading digital television software according to claim 2, wherein after the step of displaying a software upgrading interface and determining whether to execute a software updating action when the digital television terminal acquires the digital television upgrading software, the method further comprises:
and when an upgrading refusing instruction triggered based on the software upgrading interface is obtained, the software upgrading interface is quitted.
4. The method for upgrading digital television software according to claim 1, wherein the step of downloading and storing the digital television upgrading software corresponding to the upgrading information when the upgrading information in the code stream information is detected comprises:
when the upgrading information in the code stream information is detected, verifying upgrading software corresponding to the upgrading information;
and when the upgrade software is successfully verified, restoring the upgrade software into upgrade source software through the Dmux, and storing the upgrade source software into an OAD partition in the digital television terminal.
5. The method for upgrading digital television software according to claim 4, wherein after the step of identifying the upgrade software corresponding to the upgrade information when the upgrade information in the code stream information is detected, the method further comprises:
and when the upgrade software identification fails, re-receiving the upgrade software corresponding to the upgrade information.
6. The method for upgrading digital television software according to claim 4, wherein the step of verifying the upgrade software corresponding to the upgrade information when the upgrade information in the code stream information is detected comprises:
identifying a verification file based on the upgrade information;
and when the identification of the check file is finished, checking the corresponding digital television upgrading software in a mode of identifying the CRC file.
7. The method for upgrading the software of the digital television as claimed in claim 1, wherein the step of acquiring the running data information of the digital television terminal in real time after the software upgrading of the digital television terminal is completed, and when a data acquisition instruction sent by a service provider terminal through a shell script is received, sending the running data information corresponding to the data acquisition instruction to the service provider terminal comprises the steps of:
after software upgrading of the digital television terminal is completed, acquiring running data information of the digital television terminal in real time, and sending a data transmission request and data transmission parameters to a service provider terminal when the content in a log folder for storing the running data information reaches a preset size;
and when a data acquisition instruction sent by the service provider terminal through the shell script is acquired, sending the running data information corresponding to the data transmission command to the service provider terminal for research of related technical personnel.
8. The digital television software upgrading method of claim 7, wherein the data transmission parameters include an item ID number, a digital television terminal IP number and an output time of each line log.
9. A digital television software upgrading device, characterized in that the digital television software upgrading device comprises: a memory, a processor and a digital television software upgrade program stored on the memory and executable on the processor, the digital television software upgrade program when executed by the processor implementing the steps of the digital television software upgrade method according to any one of claims 1 to 8.
10. A computer readable storage medium, characterized in that the computer readable storage medium has stored thereon a digital television software upgrade program, which when executed by a processor implements the steps of the digital television software upgrade method according to any one of claims 1 to 8.
CN201711082062.1A 2017-11-06 2017-11-06 Digital television software upgrading method and device and computer readable storage medium Active CN107911718B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711082062.1A CN107911718B (en) 2017-11-06 2017-11-06 Digital television software upgrading method and device and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711082062.1A CN107911718B (en) 2017-11-06 2017-11-06 Digital television software upgrading method and device and computer readable storage medium

Publications (2)

Publication Number Publication Date
CN107911718A CN107911718A (en) 2018-04-13
CN107911718B true CN107911718B (en) 2021-02-05

Family

ID=61843593

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711082062.1A Active CN107911718B (en) 2017-11-06 2017-11-06 Digital television software upgrading method and device and computer readable storage medium

Country Status (1)

Country Link
CN (1) CN107911718B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111309357B (en) * 2020-02-24 2022-07-12 腾讯科技(成都)有限公司 Cloud game software updating method and device, storage medium and cloud game system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005055593A1 (en) * 2003-12-03 2005-06-16 Nokia Corporation Methods and apparatuses for transmitting data in a television broadcast
CN101193197A (en) * 2006-12-01 2008-06-04 北京东方广视科技有限责任公司 Online upgrade method for smart card
EP2610700A3 (en) * 2011-12-26 2014-04-09 Samsung Electronics Co., Ltd. Display apparatus and control method thereof

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6157377A (en) * 1998-10-30 2000-12-05 Intel Corporation Method and apparatus for purchasing upgraded media features for programming transmissions
CN100521676C (en) * 2005-04-14 2009-07-29 华为技术有限公司 Method and apparatus for realizing independent staging business software in set-top box
CN101212689A (en) * 2006-12-25 2008-07-02 青岛海信电器股份有限公司 Method for software upgrade for digital TV signal receiver
CN101291399A (en) * 2007-09-25 2008-10-22 深圳市同洲电子股份有限公司 Digital television receiver, log system and log management method thereof
CN101527867A (en) * 2009-03-20 2009-09-09 广州杰赛科技股份有限公司 Television network monitoring system and monitoring method thereof
CN102111654A (en) * 2009-12-23 2011-06-29 康佳集团股份有限公司 Set-top box software upgrading method and set-top box
CN105025364A (en) * 2014-04-15 2015-11-04 Tcl集团股份有限公司 Method of intelligent television OTA delay upgrade
CN105704487A (en) * 2015-04-27 2016-06-22 深圳Tcl数字技术有限公司 Television stability testing method and device
CN105578283A (en) * 2015-12-21 2016-05-11 福建新大陆通信科技股份有限公司 Method and system for accurately controlling set top box terminal

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005055593A1 (en) * 2003-12-03 2005-06-16 Nokia Corporation Methods and apparatuses for transmitting data in a television broadcast
CN101193197A (en) * 2006-12-01 2008-06-04 北京东方广视科技有限责任公司 Online upgrade method for smart card
EP2610700A3 (en) * 2011-12-26 2014-04-09 Samsung Electronics Co., Ltd. Display apparatus and control method thereof

Also Published As

Publication number Publication date
CN107911718A (en) 2018-04-13

Similar Documents

Publication Publication Date Title
KR102057107B1 (en) Receiving device, receiving method, program, and information processing system
US7051325B2 (en) Apparatus and method for upgrading software
KR20160016945A (en) Synchronizing an application on a companion device
US9241183B2 (en) Information processing apparatus, information processing method, program, and application information table transmitting apparatus
WO2013157440A1 (en) Reception device, reception method, transmission device, transmission method, and program
JP3261399B2 (en) Remote maintenance method and remote maintenance device
US20090111448A1 (en) System and method for enabling widget interaction
CN104765627A (en) Smart device, and wearable device and application program installing and uninstalling method thereof
US20080276300A1 (en) Program Execution Device
US8799433B2 (en) Method and apparatus for upgrading software of digital broadcasting receiver
KR20070077744A (en) Method and apparatus for providing summary information of data broadcasting service in digital multimedia broadcasting terminal
CN113747183A (en) Live video sharing method and system and readable storage medium
CN109842814B (en) Program switching method and device, television and readable storage medium
CN107911718B (en) Digital television software upgrading method and device and computer readable storage medium
KR100848142B1 (en) Apparatus and Method for Receiving Data Broadcasting Service to Support a Connection with Mobile Networks
KR20070095946A (en) Bypass dsmcc middleware via section filter mechanism
CN111190684B (en) Display terminal user interface replacement method, device, equipment and storage medium
CN111479142B (en) Program content updating method and system based on information release
JP5192300B2 (en) Data broadcast receiving apparatus and portable device
CN102378058B (en) Method for updating search result of IPTV terminal and IPTV server
CN103501457A (en) Method and device for playing programs
KR100710320B1 (en) Apparatus and method for upgrading program of video device
KR102015048B1 (en) Method for installing application and multimedia device using broadcast streaming
US9900644B2 (en) Device and method for processing an object which provides additional service in connection with a broadcast service in a broadcast receiving device
CN109561321B (en) Program searching method and device, television terminal and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant