Display device and application recovery method

By introducing controllers into smart TV display devices, verifying and repairing application versions, the problem that smart TV display devices cannot automatically perform application recovery is solved, and automatic application repair and system robustness are achieved.

CN119402713APending Publication Date: 2025-02-07VIDAA (NETHERLANDS) INT HLDG BV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411595223.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-08
Publication Date
2025-02-07

AI Technical Summary

Technical Problem

Smart TV display devices cannot automatically perform the application recovery operation, resulting in the normal operation of the system and the user experience is reduced.

Method used

By introducing a controller into the display device, responding to the application startup command, determining the application version, verifying the file to be detected, generating repair instructions, and repairing the application to the latest version according to the instructions.

Benefits of technology

The automatic recovery function of the application is realized, which solves the problem that the display device cannot automatically perform application recovery, and improves the system's robustness and user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119402713A_ABST
    Figure CN119402713A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a display device and an application recovery method, and the method comprises the steps: responding to a starting instruction for an application, and determining an application version corresponding to the application; when the application version is the first target version, verifying a to-be-detected file corresponding to the application; the first target version is the latest version of the application; the to-be-detected file is a file generated when the application is installed; the to-be-detected file comprises a to-be-detected identifier; and when the to-be-detected file does not pass the verification, generating a repair instruction, and repairing the application to the first target version according to the repair instruction. According to the method, based on the package application, anomaly detection is added for application upgrading, an automatic recovery function is provided for abnormal conditions after upgrading, and the problem that a display device cannot automatically execute application recovery operation is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of display devices, and in particular to a display device and an application recovery method. Background Art

[0002] In the field of smart TV, the applications in smart TV are diverse. Whether it is a single application or a composite application composed of multiple sub-applications, the package packaging mechanism is widely used. The package packaging mechanism integrates various application files and resources into one package, which not only simplifies the distribution and management of the application, but also gives the application the ability to self-upgrade.

[0003] In order to further improve the deployment efficiency and running performance of applications, smart TVs can also adopt a package localization strategy. Package localization is to package key resources such as js files, css files, and library files together to form an efficient management method. This management method can not only speed up the listing and deployment process of applications, but also improve the running speed of applications and facilitate their upgrading. However, while the localization strategy brings many advantages, it also hides security risks that cannot be ignored. Once the smart TV software is attacked maliciously, such as the attacker disguises himself as a trusted entity, tricks users into leaking sensitive information, or implants malware such as viruses and Trojans, it may damage the system, tamper with files, and even control user devices.

[0004] Although smart TVs have taken a series of preventive measures to reduce security risks, such as downloading apps or content only from trusted sources, avoiding triggering links from unknown sources, and regularly updating TV software and apps, these measures cannot completely eliminate security risks. Once a TV is attacked by malicious software, the display device cannot automatically perform the application recovery operation, which not only affects the normal operation of the TV, but also reduces the user experience. Summary of the invention

[0005] The present application provides a display device and an application recovery method to solve the problem that the display device cannot automatically perform an application recovery operation.

[0006] In a first aspect, some embodiments of the present application provide a display device, including.

[0007] a display configured to display a user interface;

[0008] A controller is coupled to the display and is configured to:

[0009] In response to a start instruction for an application, determining an application version corresponding to the application;

[0010] When the application version is the first target version, verify the file to be detected corresponding to the application; the first target version is the latest version of the application; the file to be detected is a file generated when the application is installed; the file to be detected includes a to-be-detected identifier;

[0011] When the file to be detected fails the verification, a repair instruction is generated, and the application is repaired to the first target version according to the repair instruction.

[0012] The above technical solution has the following advantages or beneficial effects: when the application is started, the defense mechanism can be started through the verification process, and the security verification can be performed on the started application. The automatic recovery mechanism can be started for the application that fails the verification, and the current version of the application package can be downloaded from the cloud according to the package name, version, platform and other related information of the application, and reinstalled locally. An automatic recovery function is provided for abnormal situations after the upgrade, solving the problem that the display device cannot automatically perform the recovery operation of the application.

[0013] In some embodiments, after verifying the file to be detected corresponding to the application, the controller is further configured to:

[0014] When the file to be detected passes the verification, an application start instruction is generated; in response to the application start instruction, the display is controlled to display an application page corresponding to the application of the first target version.

[0015] The above technical solution has the following advantages or beneficial effects: when the file to be detected passes the verification, the display device can start the application normally and present the application page corresponding to the application to the user.

[0016] In some embodiments, before verifying the to-be-detected file corresponding to the application, the controller is further configured to:

[0017] Obtain the file to be detected corresponding to the application of the first target version; perform segmentation processing on the file to be detected, and perform MD5 sampling on the segmented file to be detected; encrypt the result after performing MD5 sampling and store it in the configuration file of the file to be detected to generate an encrypted verification value.

[0018] The above technical solution has the following advantages or beneficial effects: the integrity of the file can be detected by comparing the encryption check value, thereby ensuring the integrity and reliability of the check process.

[0019] In some embodiments, the controller verifies the file to be detected corresponding to the application, and is specifically configured as follows:

[0020] Decrypt the encrypted verification value to obtain a decrypted verification value; segment the file to be detected, and perform MD5 sampling on the segmented file to be detected; store the result after MD5 sampling to obtain a sampling verification value; compare the decryption verification value with the sampling verification value; if the decryption verification value is the same as the sampling verification value, determine that the file to be detected has passed the verification; if the decryption verification value is different from the sampling verification value, determine that the file to be detected has not passed the verification.

[0021] The above technical solution has the following advantages or beneficial effects: by comparing the decryption check value with the sampling check value, the integrity and authenticity of the file to be detected can be verified to ensure that the file has not been illegally modified during transmission or storage.

[0022] In some embodiments, the controller repairs the application to the first target version according to the repair instruction, and is specifically configured as follows:

[0023] Obtain application association information in the file to be detected; the application association information at least includes the application package name of the application; generate a download request according to the application association information, and send the download request to the server, so that the server downloads the network application package file corresponding to the first target version through the request; receive the network application package file downloaded by the server, and install the network application package file locally to repair the application to the first target version.

[0024] The above technical solution has the following advantages or beneficial effects: the present application can activate the defense and repair mechanism when the application is attacked maliciously. During the repair, the current version of the application package can be downloaded from the cloud based on the application package name, version, platform and other related information, and reinstalled locally.

[0025] In some embodiments, after repairing the application to the first target version according to the repair instruction, the controller is further configured to:

[0026] Searching for an associated application associated with the application according to the associated field in the file to be detected; determining a second target version of the associated application that matches the first target version; and restoring the associated application to the second target version.

[0027] The above technical solution has the following advantages or beneficial effects: by processing application packages and their dependencies, maintenance costs can be reduced, other related problems caused by dependencies can be avoided, and the overall stability and reliability of the television system can be improved.

[0028] In some embodiments, after controlling the display to display the application page corresponding to the first target version of the application, the controller is further configured to:

[0029] Detecting the first startup state of the application after upgrading to the first target version; the first startup state includes a startup success state and a startup failure state; in response to the first startup state being the startup success state, obtaining a backup application package of the application backed up before upgrading to the first target version, and deleting the backup application package; in response to the first startup state being the startup failure state, restoring the application to the version before upgrading to the first target version.

[0030] The above technical solution has the following advantages or beneficial effects: the display device takes into account the recovery of the application after an error occurs during self-upgrade, thereby avoiding the situation where the application cannot be started, improving the robustness of the television system, and improving the user experience.

[0031] In some embodiments, after determining the application version corresponding to the application, the controller is further configured to:

[0032] When the application version is not the first target version, detect whether the first target version exists; if the first target version exists, control the display to display a reminder message box, and the reminder message box is used to remind the user to upgrade to the first target version based on the current application version; if the first target version does not exist, control the display to display the application page corresponding to the current version of the application according to the startup instruction.

[0033] The above technical solution has the following advantages or beneficial effects: the display device can execute the corresponding process according to the user's selection without affecting the user's normal use.

[0034] In some embodiments, after controlling the display to display the reminder message box, the controller is further configured to:

[0035] In response to an upgrade instruction to upgrade the application to the first target version, back up the application package corresponding to the current version of the application; detect the upgrade status of the application; if the application upgrade is successful, in response to the startup instruction, after the file to be detected passes the verification, execute the step of controlling the display to display the application page corresponding to the first target version of the application; if the application upgrade fails, restore the application to the current version according to the backed up application package.

[0036] The above technical solution has the following advantages or beneficial effects: the display device can ensure that the user can use the application normally, and there will be no situation where the application cannot be used due to an upgrade failure.

[0037] In a second aspect, some embodiments of the present application provide a method for recovering an application, the method comprising:

[0038] In response to a start instruction for an application, determining an application version corresponding to the application;

[0039] When the application version is the first target version, verify the file to be detected corresponding to the application; the first target version is the latest version of the application; the file to be detected is a file generated when the application is installed; the file to be detected includes a to-be-detected identifier;

[0040] When the file to be detected fails the verification, a repair instruction is generated, and the application is repaired to the first target version according to the repair instruction.

[0041] The above technical solution has the following advantages or beneficial effects: when the application is started, the defense mechanism can be started through the verification process, and the security verification can be performed on the started application. The automatic recovery mechanism can be started for the application that fails the verification, and the current version of the application package can be downloaded from the cloud according to the package name, version, platform and other related information of the application, and reinstalled locally. An automatic recovery function is provided for abnormal situations after the upgrade, solving the problem that the display device cannot automatically perform the recovery operation of the application.

[0042] It can be seen from the above technical solutions that some embodiments of the present application provide a method for recovering a display device and an application, the method comprising: in response to a startup instruction for an application, determining an application version corresponding to the application; when the application version is the first target version, verifying the file to be detected corresponding to the application; the first target version is the latest version of the application; the file to be detected is a file generated when the application is installed; the file to be detected contains an identification to be detected; when the file to be detected fails to pass the verification, a repair instruction is generated, and the application is repaired to the first target version according to the repair instruction. The method is based on a package application, adds anomaly detection for application upgrades, provides an automatic recovery function for abnormal situations after the upgrade, and solves the problem that the display device cannot automatically perform the recovery operation of the application. BRIEF DESCRIPTION OF THE DRAWINGS

[0043] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0044] Figure 1 A schematic diagram of an operation scenario between a display device and a control device provided in some embodiments of the present application;

[0045] Figure 2 A schematic diagram of the hardware configuration of a display device provided in some embodiments of the present application;

[0046] Figure 3 A schematic diagram of software configuration of a display device provided in some embodiments of the present application;

[0047] Figure 4 A schematic flow chart of a method for recovering an application executed by a display device provided in some embodiments of the present application;

[0048] Figure 5 A schematic diagram of a usage scenario of an application in a display device provided in some embodiments of the present application;

[0049] Figure 6 A schematic diagram of a presentation interface applied in a display device provided in some embodiments of the present application;

[0050] Figure 7 A schematic diagram of a startup interface of an application in a display device provided in some embodiments of the present application;

[0051] Figure 8 A schematic diagram of a functional architecture for a display device that performs an upgrade function according to some embodiments of the present application;

[0052] Fig. 9 A schematic diagram of a flow chart of a display device verifying a file to be detected provided in some embodiments of the present application;

[0053] Fig.10 A schematic diagram of a process of restoring an application to a first target version according to a repair instruction provided by a display device in some embodiments of the present application;

[0054] Fig.11 A schematic diagram of a process scenario of a display device executing an application upgrade according to some embodiments of the present application;

[0055] Fig.12 A schematic diagram of a retry scenario in which a display device performs an application upgrade according to some embodiments of the present application;

[0056] Fig.13 A schematic diagram of a scenario in which a display device verification is successful provided in some embodiments of the present application;

[0057] Fig.14 A schematic diagram of a scenario in which verification of a display device fails according to some embodiments of the present application;

[0058] Fig.15 A schematic diagram of a process for executing application upgrade on a display device provided in some embodiments of the present application. DETAILED DESCRIPTION

[0059] The following embodiments are described in detail, and examples thereof are shown in the accompanying drawings. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The implementations described in the following embodiments do not represent all implementations consistent with the present application. They are only examples of systems and methods consistent with some aspects of the present application as detailed in the claims.

[0060] It should be noted that the brief description of terms in this application is only for the convenience of understanding the embodiments described below, and is not intended to limit the embodiments of this application. Unless otherwise specified, these terms should be understood according to their common and usual meanings.

[0061] The terms "first", "second", "third", etc. in the specification and claims of this application and the above drawings are used to distinguish similar or similar objects or entities, and do not necessarily mean to limit a specific order or sequence, unless otherwise noted. It should be understood that the terms used in this way can be interchangeable under appropriate circumstances.

[0062] The terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover but not exclude inclusion, for example, a product or device comprising a list of components is not necessarily limited to all the components expressly listed but may include other components not expressly listed or inherent to such product or device.

[0063] The term "module" refers to any known or later developed hardware, software, firmware, artificial intelligence, fuzzy logic, or combination of hardware and / or software code that is capable of performing the functions associated with that element.

[0064] In the embodiment of the present application, the display device 200 generally refers to a device with image display and data processing capabilities. For example, the display device 200 includes but is not limited to a smart TV, a mobile terminal, a computer, a monitor, an advertising screen, a wearable device, a virtual reality device, an augmented reality device, etc.

[0065] Figure 1 This is a schematic diagram of an operation scenario between a display device and a control device provided in some embodiments of the present application. Figure 1 As shown in FIG. 1 , a user can operate the display device 200 through touch operation, the mobile terminal 300 and the control device 100. The control device 100 is used to receive operation instructions input by the user and convert the operation instructions into control instructions that can be recognized and responded to by the display device 200. For example, the control device 100 can be a remote controller, a stylus pen, a handle, etc.

[0066] The mobile terminal 300 can be used as a control device for performing human-computer interaction between the user and the display device 200. The mobile terminal 300 can also be used as a communication device for establishing a communication connection with the display device 200 and performing data interaction. In some embodiments, the mobile terminal 300 can install software applications with the display device 200, and achieve connection and communication through a network communication protocol to achieve the purpose of one-to-one control operation and data communication. The audio and video content displayed on the mobile terminal 300 can also be transmitted to the display device 200 to achieve a synchronous display function.

[0067] In some embodiments, the mobile terminal 300 or other electronic devices may also simulate the functions of the control device 100 by running an application program for controlling the display device 200 .

[0068] like Figure 1 As also shown in FIG. 4 , the display device 200 also communicates data with the server 400 through various communication methods. The display device 200 may be allowed to communicate and connect through a local area network (LAN), a wireless local area network (WLAN), and other networks.

[0069] The display device 200 may provide a broadcast receiving television function, and may also additionally provide an intelligent network television function with a computer support function, including but not limited to network television, smart television, Internet Protocol television (IPTV), and the like.

[0070] Figure 2 Some embodiments of the present application provide Figure 1 2 is a block diagram of the hardware configuration of the display device 200.

[0071] In some embodiments, the display device 200 may include at least one of a tuner 210, a communication device 220, a detector 230, a device interface 240, a controller 250, a display 260, an audio output device 270, a memory, a power supply, and a user input interface.

[0072] In some embodiments, the detector 230 is used to collect signals of the external environment or external interaction. For example, the detector 230 includes a light receiver, a sensor for collecting the intensity of ambient light; or, the detector 230 includes an image collector, such as a camera, which can be used to collect external environment scenes, user attributes or user interaction gestures; or, the detector 230 includes a sound collector, such as a microphone, etc., for receiving external sounds.

[0073] In some embodiments, the display 260 includes a display function component for presenting a picture, and a driving component for driving an image display. The display 260 is used to receive an image signal output from the controller 250 for display. For example, the display 260 can be used to display video content, image content, and components of a menu control interface and a user control UI interface.

[0074] In some embodiments, the communication device 220 is a component for communicating with an external device or server 400 according to various communication protocol types. The display device 200 may be provided with a plurality of communication devices 220 according to different supported communication modes. For example, when the display device 200 supports wireless network communication, the display device 200 may be provided with a communication device 220 including a WiFi function. When the display device 200 supports Bluetooth connection communication, the display device 200 needs to be provided with a communication device 220 including a Bluetooth function.

[0075] The communication device 220 can enable the display device 200 to communicate with the external device or server 400 by wireless or wired connection. Among them, the wired connection can connect the display device 200 with the external device through components such as data cables and interfaces. The wireless connection can connect the display device 200 with the external device through wireless signals or wireless networks. The display device 200 can establish a connection relationship with the external device directly, or indirectly establish a connection relationship through a gateway, a router, a connection device, etc.

[0076] In some embodiments, the controller 250 may include at least one of a central processing unit, a video processor, an audio processor, a graphics processor, and a power processor, and a first interface to an nth interface for input / output. The controller 250 controls the operation of the display device and responds to the user's operation through various software control programs stored in the memory. The controller 250 controls the overall operation of the display device 200.

[0077] In some embodiments, the controller 250 and the tuner-demodulator 210 may be located in different separate devices, that is, the tuner-demodulator 210 may also be located in an external device of the main device where the controller 250 is located, such as an external set-top box.

[0078] In some embodiments, the user may input a user command through a graphical user interface (GUI) displayed on the display 260 , and the user input interface receives the user input command through the graphical user interface (GUI).

[0079] In some embodiments, the audio output device 270 may be a local speaker of the display device 200, or may be an external audio output device of the display device 200. In particular, for the external audio output device of the display device 200, the display device 200 may also be provided with an external audio output terminal, and the audio output device may be connected to the display device 200 through the external audio output terminal to output the sound of the display device 200.

[0080] In some embodiments, the user input interface 280 may be used to receive instructions from a user.

[0081] In order to perform user interaction, in some embodiments, the display device 200 may run an operating system. The operating system is a computer program for managing and controlling hardware resources and software resources in the display device 200. The operating system can control the display device to provide a user interface, for example, the operating system can directly control the display device to provide a user interface, or can provide a user interface by running an application program. The operating system also allows the user to interact with the display device 200.

[0082] It should be noted that the operating system may be a native operating system based on a specific operating platform, or a third-party operating system deeply customized based on a specific operating platform, or an independent operating system specially developed for the display device.

[0083] The operating system can be divided into different modules or layers according to the functions implemented, such as Figure 3 As shown, in some embodiments, the system is divided into four layers, from top to bottom, namely, the application layer (Applications layer for short), the middleware layer, and the hardware layer.

[0084] In some embodiments, the application layer is used to provide services and interfaces for applications so that the display device 200 can run applications and interact with users based on the applications. At least one application can be run in the application layer, and these applications can be window programs, system settings programs, clock programs, etc. that come with the operating system; they can also be applications developed by third-party developers. In specific implementations, the application packages in the application layer are not limited to the above examples.

[0085] The framework layer provides application programming interfaces (APIs) and programming frameworks for applications. The application framework layer includes some predefined functions. The application framework layer is equivalent to a processing center that determines the actions that applications in the application layer take. Through the API interface, applications can access system resources and obtain system services during execution.

[0086] like Figure 3 As shown, Figure 3 Some embodiments of the present application provide Figure 1 Schematic diagram of software configuration in the display device. In some embodiments, the system of the display device 200 can be divided into three layers, namely, application layer, middleware layer and hardware layer from top to bottom.

[0087] The application layer mainly includes commonly used applications on TV and application frameworks. Common applications are mainly applications developed based on browsers, such as HTML5 APPs and native APPs.

[0088] The Application Framework is a complete program model that has all the basic functions required by standard application software, such as file access, data exchange, etc., as well as the user interfaces of these functions (toolbars, status bars, menus, dialog boxes).

[0089] Native apps can support online or offline, message push or local resource access.

[0090] The middleware layer includes various TV protocols, multimedia protocols, system components and other middleware. The middleware can use the basic services (functions) provided by the system software to connect various parts of the application system or different applications on the network, and can achieve the purpose of resource sharing and function sharing.

[0091] The hardware layer mainly includes the hardware abstraction layer (HAL) interface, hardware and drivers. The HAL interface is a unified interface for all TV chips to connect, and the specific logic is implemented by each chip. Drivers mainly include: audio driver, display driver, Bluetooth driver, camera driver, WIFI driver, USB driver, HDMI driver, sensor driver (such as fingerprint sensor, temperature sensor, pressure sensor, etc.), and power driver.

[0092] It should be noted that the above example is only a simple division of the operating system functions and does not constitute a limitation on the specific operating system form of the display device 200 in the embodiment of the present application. Depending on factors such as the function of the display device and the type of operating system, the number of levels and specific level types contained in the operating system may be expressed in other forms.

[0093] The display device 200 is an intelligent device that can present a user interface and support user interaction. Taking a smart TV as an example, a smart TV is based on Internet application technology, has an open operating system and chip, has an open application platform, can realize two-way human-computer interaction, and is a TV product that integrates multiple functions such as audio and video, entertainment, and data to meet the diverse and personalized needs of users. The display device can present different media recommendation interfaces, and the media recommendation interface can include multiple media options for users to select and play.

[0094] In the field of smart TV, the applications in smart TV are diverse. Whether it is a single application or a composite application composed of multiple sub-applications, the package packaging mechanism is widely used. The package packaging mechanism not only simplifies the distribution and management of applications by integrating various files and resources of applications into one package, but also gives applications the ability to self-upgrade. For example, applications can exist in the form of packages. Regardless of whether they are updated or not, they can maintain complete functional independence and continue to evolve on different platforms. In addition, the upgrade and iteration process of the package is also extremely flexible. Each application only needs to release its own new version package to complete the update.

[0095] In order to further improve the deployment efficiency and running performance of applications, smart TVs can also adopt a package localization strategy. Package localization is to package key resources such as js files, css files, and library files together to form an efficient management method. This management method can not only speed up the listing and deployment process of applications, but also improve the running speed of applications and facilitate their upgrading. However, while the localization strategy brings many advantages, it also hides security risks that cannot be ignored. Once the smart TV software is attacked maliciously, such as the attacker disguises himself as a trusted entity, tricks users into leaking sensitive information, or implants malware such as viruses and Trojans, it may damage the system, tamper with files, and even control user devices.

[0096] Although smart TVs have taken a series of preventive measures to reduce security risks, such as downloading applications or content only from trusted sources, avoiding triggering links from unknown sources, and regularly updating TV software and applications, these measures cannot completely eliminate security risks. Once the TV is attacked by malicious attacks, such as damage to the application app, TV upgrade failure or update error, the display device 200 often cannot automatically perform the application recovery operation, which not only affects the normal operation of the TV, but also reduces the user experience.

[0097] Based on the above scenario, in order to solve the problem that the display device 200 cannot automatically perform the recovery operation of the application, some embodiments of the present application provide a display device 200, wherein the display device 200 includes a display 260 and a controller 250 coupled to the display 260. Among them, the display 260 is configured to display a user interface, and the controller 250 enables the display device 200 to execute the recovery method of the application by running a specific computer execution instruction. In order to ensure system security, the display device 200 adds anomaly detection for application upgrades based on package applications. The upgrade in this application not only includes the upgrade of error repair of the application itself, but also includes the normal functional iterative update of the application, provides an automatic recovery function for abnormal situations after the upgrade, and provides a repair function for errors subsequent to the upgrade, which will be described in detail below.

[0098] In order to facilitate the understanding of the technical solutions in some embodiments of the present application, each step is described in detail below in conjunction with some specific embodiments and drawings. Figure 4 A flowchart of a method for restoring an application executed by a display device provided in some embodiments of the present application is shown in FIG. Figure 4 As shown, in some embodiments, when the display device 200 executes the application recovery method, the following steps may be included, and the specific contents include:

[0099] Step S1: In response to a start instruction for an application, determine an application version corresponding to the application.

[0100] In some embodiments, various applications are deployed in the display device 200. Figure 5 A schematic diagram of a usage scenario of an application in a display device provided in some embodiments of the present application, Figure 6 A schematic diagram of a presentation interface applied in a display device provided in some embodiments of the present application, Figure 7 A schematic diagram of a startup interface for an application in a display device provided in some embodiments of the present application, combined with Figure 5-Figure 7 , the icon of the application can be presented in the user interface, and in response to the user's start instruction for the icon corresponding to the application, the display device 200 can present the application page corresponding to the application to the user. The application can have multiple versions, and when a new version of the application 1 exists, the display device 200 can prompt the user to upgrade. In this way, the user can make a choice based on the content of the prompt, thereby choosing to upgrade the application or directly open the current version of the application, etc.

[0101] Figure 8 A schematic diagram of a functional architecture of a display device performing an upgrade function provided in some embodiments of the present application, such as Figure 8As shown, in some embodiments, in order to perform the upgrade function, a UI display module, an application package upgrade module, a recovery module and a security detection module may be provided in the display device 200. Among them, the UI display module is used to receive user operations and display the upgrade interactive interface, the application package upgrade module is used to receive instructions from the UI module, and upgrade the upgrade package to the display device 200, including detection and update, download, installation, etc.; the recovery module is used to receive system instructions, such as the application fails to start for the first time, and the abnormal app and the dependent app are restored accordingly (which will be described in detail later); the security detection module is used to verify whether the file to be detected corresponding to the application package passes the verification through an algorithm.

[0102] In some embodiments, the upgrade of the application can be divided into two scenarios, one is the scenario for the application has been upgraded to the latest version (for the convenience of description, this scenario can be described as Case 1), and the other is the scenario for the current version is not the latest version and can be upgraded to the latest version (for the convenience of description, this scenario can be described as Case 2). For example, taking the display device 200 as a TV as an example, Case 1 can describe the control during use. For example, if the latest version of application 1 is 2.0, after updating to 2.0, after the 2.0 version application has been used for a period of time, the TV is attacked by malicious attacks, and the scenario in which application 1 is damaged is the scenario of Case 1. For this scenario, the TV can restore the application to the complete 2.0 version, and it is necessary to re-download and install the 2.0 application package and restore it. Case 2 can describe the abnormal recovery during the update process. For example, the current version of application 2 is 1.0, and the latest version is 2.0. In the process of upgrading application 2 from 1.0 to 2.0, if an abnormality occurs during the upgrade process, the TV can be restored to version 1.0. This scenario is the scenario of Case 2. In the application scenario of Case 2, the application can also be restored to 1.0 if it fails to start for the first time, and the backup can be used for restoration. The cause of the abnormality may be a problem with the application package itself or a problem with the TV system security, etc. The following further describes the recovery process for different application upgrade scenarios such as Case 1 and Case 2.

[0103] For Case 1, in response to the start instruction of the application, the display device 200 determines the application version corresponding to the application. Exemplarily, at the user interaction level, in response to the user clicking or selecting to start an application through the user interface, the TV end can generate a start instruction for the application, and then the TV system can query the application version information corresponding to the application according to the application identifier (such as application ID, package name, etc.). When it is detected that there is no new version at present, for example, the current version of application 1 is 2.0 and the latest version is also 2.0, there is no need to upgrade, and the security detection module can execute the following step S2.

[0104] Step S2: When the application version is the first target version, verify the to-be-detected file corresponding to the application.

[0105] In some embodiments, the first target version may be the latest version of the application. When the application version is the first target version, the display device 200 may verify the file to be detected corresponding to the application. The file to be detected is a file generated when the application is installed, and the file to be detected includes a to-be-detected identifier.

[0106] For example, the security detection module can verify the files to be detected of the application. The files to be detected can be files specified by the application to be detected, and an identifier is set in the file corresponding to the application package. For example, the application package corresponding to each application can have a packageinfo.json file, and there is a field annotation in the file, such as the field name SafeStart_Fields, which can list the files to be detected.

[0107] In some embodiments, before verifying the file to be detected corresponding to the application, the display device 200 can obtain the file to be detected corresponding to the first target version of the application, perform segmentation processing on the file to be detected, and perform MD5 sampling on the segmented file to be detected, and then encrypt the result after performing MD5 sampling and store it in the configuration file of the file to be detected to generate an encrypted verification value.

[0108] Exemplarily, before verifying the file to be detected, the display device 200 can obtain the file to be detected corresponding to the latest version of the application. In order to reduce the impact on the application startup performance, the file to be detected can be divided into multiple parts. For example, the file can be segmented according to the number of CPU cores and the size occupied by the file to be detected to improve the efficiency of verification. Afterwards, MD5 sampling can be performed on the segmented file to be detected, that is, the MD5 segment is sampled and verified. Each segment can be executed by a sub-thread to obtain MD5, and multiple sub-threads are detected in parallel to improve the verification efficiency. The display device 200 can encrypt and store the result after MD5 sampling (that is, the hash value of each segment). For example, the encrypted hash value can be stored in the configuration file of the file to be detected to form an encrypted verification value.

[0109] That is to say, when generating an application App, this application can use an encryption algorithm to package the encrypted integrity check value (such as the encrypted check value) into the App installation package. For example, the encrypted check value can be encrypted and stored in the SafeStart_Verify field of the configuration file packageinfo.json in the package. This check value can be used in subsequent verification processes, such as verifying whether the file has been tampered with, etc. If the file content changes, its MD5 value will also change. Therefore, the integrity of the file can be detected by comparing the encrypted check value to ensure the integrity and reliability of the verification process.

[0110] Fig. 9 A schematic diagram of a flow chart of a display device verifying a file to be detected provided in some embodiments of the present application, such as Fig. 9 As shown, in some embodiments, when the display device 200 verifies the file to be detected corresponding to the application, it can first decrypt the encrypted verification value to obtain a decrypted verification value; then segment the file to be detected, and perform MD5 sampling on the segmented file to be detected; store the result after MD5 sampling to obtain a sampling verification value; then compare the decryption verification value with the sampling verification value. If the decryption verification value is the same as the sampling verification value, it can be determined that the file to be detected has passed the verification; if the decryption verification value is different from the sampling verification value, it can be determined that the file to be detected has not passed the verification.

[0111] Exemplarily, when verifying the file to be detected, the display device 200 can encrypt the check value for decryption, and the check value can be used for subsequent file integrity verification. After that, the file to be detected can be divided into multiple small segments, and the MD5 hash algorithm is executed on the segmented file to generate a hash value, such as a 128-bit hash value. After obtaining the hash value, the display device 200 can store the result after MD5 sampling to obtain a sampling check value, which is used to compare with the decryption check value. If the two are the same, it means that the file has not been tampered with during transmission or storage, and the file has passed the verification. If the two are different, it means that the file may have been tampered with or damaged, and the file has not passed the verification. By comparing the decryption check value with the sampling check value, the integrity and authenticity of the file to be detected can be verified to ensure that the file has not been illegally modified during transmission or storage.

[0112] For example, in actual usage scenarios, the verification of the file to be detected is equivalent to the reverse operation during packaging. The verification process can be performed by the security detection module, which is equivalent to decrypting the SafeStart_Verify field of packageinfo.json, and taking MD5 values ​​for the file to be detected in segments. The obtained value is compared with the decrypted value. If it meets the requirements, it has passed the verification. If it does not meet the requirements, it means that the application may be abnormal and has failed the verification. It can be understood that when the file to be detected passes the verification, the display device 200 can generate an application start instruction; in response to the application start instruction, the display 260 is controlled to display the application page corresponding to the first target version of the application. For example, the display device 200 can start the application normally and open the application page corresponding to the application. When the file to be detected fails to pass the verification, it can be judged that the application is abnormal and suspected of being tampered with.

[0113] It can be seen from the above content that the application package in this application provides security encryption when it is generated. For example, when installing the App, the encryption check value and the current version can be stored, and the application's files to be detected are checked in response to the startup instruction. For example, a security check is performed every time the App is started. In order to reduce the impact on the application startup performance, the sampled MD5 segment is used for verification, and multiple sub-threads are tested in parallel to increase the verification speed. It should be noted that in this application, regardless of the encryption or decryption stage, when sampling MD5, multiple sub-threads can be processed in parallel, so that the processing efficiency of the encryption and decryption links can be improved. After the file to be detected is verified, if the verification passes, it will start normally. If the verification fails, if the application is suspected to be tampered with, the display device 200 can execute the following step S3 to implement a recovery mechanism.

[0114] Step S3: When the file to be detected fails the verification, a repair instruction is generated, and the application is repaired to the first target version according to the repair instruction.

[0115] In some embodiments, when the file to be detected fails to pass the verification, the display device 200 can generate a repair instruction and restore the application to the first target version, that is, the latest version, according to the repair instruction.

[0116] Fig.10 A flow chart of a display device restoring an application to a first target version according to a repair instruction provided in some embodiments of the present application, such as Fig.10As shown, the display device 200 can first obtain the application association information in the file to be detected, and the application association information at least includes the application package name of the application, and then generate a download request according to the application association information, and send the download request to the server 400, so that the server 400 downloads the network application package file corresponding to the first target version through the request; receives the network application package file downloaded by the server 400, and installs the network application package file locally to repair the application to the first target version. For example, the network application package file corresponding to the latest version can be stored on the server 400, and the display device 200 can send a download request to the server 400 to apply to the server 400 for downloading the network application package through the download request. After the network application package is downloaded, the display device 200 can install the network application package file locally to repair the application to the first target version.

[0117] For example, taking the verification process of application 1 as an example, when application 1 is started, the display device 200 can Fig.11 The prompt box shown indicates that application 1 is being updated. If the update fails, the following prompt may be displayed: Fig.12 A prompt box is displayed to remind the user to retry or return. When application 1 passes the verification, a prompt can be displayed as follows: Fig.13 The prompt box shown in the figure is used to remind the user to open or return. When the application 1 fails the verification, the following prompt can be displayed: Fig.14 A prompt box is displayed to remind users to perform repairs on applications that fail the verification. Figure 5 and Figure 7 When the application is started, the defense mechanism can be started through the verification process to perform security verification on the started application. Fig.12 Retry in or Fig.14 If the application fails the verification, the automatic recovery mechanism can be started for the application that fails the verification. For example, a prompt box can be used to remind the user whether to repair it, or the user can directly repair it through the repair instruction without prompting. Therefore, the present application can start the defense and repair mechanism when the application is attacked maliciously. When repairing, the current version of the application package can be downloaded from the cloud based on the application package name, version, platform and other related information, and reinstalled locally, and then the application can be started.

[0118] Fig.15 A schematic diagram of a flow chart of a display device executing an application upgrade according to some embodiments of the present application, such as Fig.15As shown, in some embodiments, in response to the user clicking the start instruction of the application icon, the application package upgrade module can determine whether there is an upgrade. If there is no upgrade, the TV can directly start the current version of the application in response to the start instruction. If there is an upgrade, the TV can execute the upgrade process and back up the current old version of the application. After the upgrade is completed, the security detection module can determine whether the upgrade is successful. If the upgrade is successful, the upgraded application can be started. If the upgrade is unsuccessful, the old version of the application can be restored.

[0119] In some embodiments, after controlling the display 260 to display the application page corresponding to the first target version of the application, the display device 200 can also detect the first startup status of the application after it is upgraded to the first target version, the first startup status including a startup success status and a startup failure status; in response to the first startup status being a startup success status, obtaining a backup application package that was backed up before the application was upgraded to the first target version, and deleting the backup application package; in response to the first startup status being a startup failure status, restoring the application to the version before it was upgraded to the first target version.

[0120] For example, the first launch state of an application may be the first launch of the application after the application is installed. Each application upgrade has corresponding state management, for example, it may include the state of downloading the update package or upgrade package, the state of downloaded the update package or upgrade package has been successfully downloaded to the local, the state of installing the downloaded update package or upgrade package, the state of installed the update package or upgrade package has been successfully installed, the state of finished the upgrade process, etc. Fig.15 In actual usage scenarios, when the application upgrade is completed, it will become installed. When the application is successfully started for the first time after installation, it will become finished, indicating that the upgrade cycle has been completed. After the first startup fails, the display device 200 can set it to the error state ERROR. For the state of the first startup failure after installation, the display device 200 can restore it to the previous version, such as the version before the upgrade. In this way, the display device 200 also takes into account the recovery of the application after the self-upgrade error, avoids the situation where the application cannot be started, improves the robustness of the TV system, and improves the user experience.

[0121] In some embodiments, after the display device 200 repairs the application to the first target version according to the repair instruction, it can also search for associated applications that have an associated relationship with the application according to the associated fields in the file to be detected, determine the second target version of the associated application that matches the first target version, and restore the associated application to the second target version.

[0122] Exemplarily, the existence of an association relationship can be understood as the existence of a dependency relationship, that is, in the embodiment of the present application, it is necessary not only to process the application package itself, but also to process other applications that have a dependency relationship with the application package. For example, when determining the association relationship, the dependency relationship can be found through the dependent field in the application package (the dependency relationship can be written into the application package in advance). If App1 depends on App2, and both App1 and App2 have been upgraded, for this scenario, if there is a problem with the startup of App2, not only App2 but also App1 must be restored to a version that matches App2 after the upgrade. In this way, by processing the application package and its dependency relationship, maintenance costs can be reduced, other associated problems caused by dependency relationships can be avoided, and the overall stability and reliability of the television system can be improved.

[0123] The above is the upgrade in Case 1. The following describes the upgrade in Case 2 in detail.

[0124] For Case 2, after determining the application version corresponding to the application, the display device 200 can detect whether the first target version exists when the application version is not the first target version. If the first target version exists, the display device 200 can control the display 260 to display a reminder message box, which is used to remind the user to upgrade to the first target version based on the current application version; if the first target version does not exist, the display 260 is controlled to display the application page corresponding to the current version of the application according to the startup instruction.

[0125] For example, in response to the user clicking on the application icon, the upgrade module can detect whether there is the latest version corresponding to the application. If there is, the user can be prompted to perform the upgrade through a reminder message box. When the user chooses to upgrade, the display device 200 executes the upgrade process. If the user chooses not to upgrade, the display device 200 can start the application page corresponding to the current version. In this way, the corresponding process can be executed according to the user's choice without affecting the normal use of the user.

[0126] In some embodiments, after controlling the display 260 to display a reminder message box, the display device 200 may back up the application package corresponding to the current version of the application and detect the upgrade status of the application in response to an upgrade instruction to upgrade the application to the first target version; if the application upgrade is successful, in response to the startup instruction, after the file to be detected passes the verification, execute the step of controlling the display 260 to display the application page corresponding to the first target version of the application; if the application upgrade fails, the application is restored to the current version according to the backed up application package.

[0127] Exemplary, continue to combine Fig.15, the display device 200 can back up the relevant information and files of the current version before executing the upgrade. During the upgrade process, due to network, local space or other security issues, the upgrade may fail. For this scenario, the display device 200 can present the following Fig.12 The prompt box shown is displayed for the user to choose to retry or return, etc. In response to the user's retry instruction, the display device 200 can execute the upgrade process again. In response to the user's return instruction, the display device 200 can start the recovery process. The recovery here is to restore using the backup version, such as restoring to the old version before the upgrade, to ensure that the user can use the application normally and will not be unable to use the application due to an upgrade failure. In other words, after the application is successfully upgraded, the application page corresponding to the upgraded version of the application is started, and the backed-up old version application package can be deleted. If the first startup fails, the user can be prompted with an abnormality and restore to the old version of the application (this situation is rare in actual usage scenarios. It may be that there is a problem with the upgrade package itself, or that the application package that is not suitable for the platform cannot be sent during deployment).

[0128] In some usage scenarios, when an error occurs in the application update in the display device 200, the user can only uninstall and then reinstall it. In the embodiment of the present application, the recovery mechanism can be executed on the application from two links: the source and the use process. The control at the source, for example, after upgrading App1.0 to 2.0, if an abnormality is detected during the upgrade process, it can be restored to version 1.0 (corresponding to Case 2 of this application). The control during use, for example, after the App is updated to version 2.0, during the normal use of the 2.0 application, after the TV is attacked by a malicious attack, the application is damaged, then the display device 200 can restore the application to the complete 2.0 version (corresponding to Case 1 of this application). Through the above two processes, the security risks at the source and during use are minimized, the robustness and security of the TV system are improved, and the problem that the display device 200 cannot automatically perform the recovery operation of the application is solved.

[0129] It can be seen from the above technical solution that the above embodiment provides a display device 200, which determines the application version corresponding to the application in response to the start instruction of the application; when the application version is the first target version, verifies the file to be detected corresponding to the application; the first target version is the latest version of the application; the file to be detected is a file generated when the application is installed; the file to be detected contains a to-be-detected identifier; when the file to be detected fails to pass the verification, generates a repair instruction, and repairs the application to the first target version according to the repair instruction. The display device 200 is based on the package application, adds anomaly detection for application upgrade, and provides an automatic recovery function for abnormal situations after the upgrade, so as to solve the problem that the display device 200 cannot automatically perform the recovery operation of the application.

[0130] Based on the above display device 200, some embodiments of the present application further provide a method for recovering an application, which can be applied to the display device 200 in the above embodiment. In some embodiments, the method may include the following contents:

[0131] In response to a start instruction for an application, determining an application version corresponding to the application;

[0132] When the application version is the first target version, verify the file to be detected corresponding to the application; the first target version is the latest version of the application; the file to be detected is a file generated when the application is installed; the file to be detected includes a to-be-detected identifier;

[0133] When the file to be detected fails the verification, a repair instruction is generated, and the application is repaired to the first target version according to the repair instruction.

[0134] It can be seen from the above technical solution that the above embodiment provides an application recovery method, which is based on the package application, adds anomaly detection for application upgrade, and provides an automatic recovery function for abnormal situations after the upgrade, thereby solving the problem that the display device 200 cannot automatically perform the application recovery operation.

[0135] The same and similar parts between the various embodiments in this specification can be referenced to each other and will not be described again here.

[0136] Those skilled in the art can clearly understand that the technology in the embodiments of the present invention can be implemented by means of software plus a necessary general hardware platform. Based on this understanding, the technical solution in the embodiments of the present invention is essentially or the part that contributes to the prior art can be embodied in the form of a software product, which can be stored in a storage medium such as ROM / RAM, a disk, an optical disk, etc., and includes a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods of various embodiments of the present invention or certain parts of the embodiments.

[0137] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit it. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or replace some or all of the technical features therein with equivalents. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.

[0138] For the convenience of explanation, the above description has been made in conjunction with specific embodiments. However, the above exemplary discussion is not intended to be exhaustive or limit the embodiments to the specific forms disclosed above. Based on the above teachings, various modifications and variations can be obtained. The selection and description of the above embodiments are to better explain the principles and practical applications, so that those skilled in the art can better use the embodiments and various different variations of the embodiments suitable for specific use considerations.

Claims

1. A display device, characterized in that: include: a display configured to display a user interface; A controller is coupled to the display and is configured to: In response to a start instruction for an application, determining an application version corresponding to the application; When the application version is the first target version, verify the file to be detected corresponding to the application; the first target version is the latest version of the application; the file to be detected is a file generated when the application is installed; the file to be detected includes a to-be-detected identifier; When the file to be detected fails the verification, a repair instruction is generated, and the application is repaired to the first target version according to the repair instruction.

2. The display device according to claim 1, characterized in that After verifying the file to be detected corresponding to the application, the controller is further configured to: When the file to be detected passes the verification, generating an application start instruction; In response to the application start instruction, the display is controlled to display an application page corresponding to the application of the first target version.

3. The display device according to claim 1, characterized in that Before verifying the file to be detected corresponding to the application, the controller is further configured to: Obtaining the file to be detected corresponding to the application of the first target version; Performing segmentation processing on the file to be detected, and performing MD5 sampling on the segmented file to be detected; The result after executing MD5 sampling is encrypted and stored in the configuration file of the file to be detected to generate an encrypted verification value.

4. The display device according to claim 3, characterized in that The controller verifies the file to be detected corresponding to the application, and is specifically configured as follows: Decrypting the encrypted check value to obtain a decrypted check value; Performing segmentation processing on the file to be detected, and performing MD5 sampling on the segmented file to be detected; Store the result after MD5 sampling to obtain the sampling check value; Comparing the decryption check value with the sampling check value; If the decryption check value is the same as the sampling check value, it is determined that the file to be detected passes the check; If the decryption verification value is different from the sampling verification value, it is determined that the file to be detected fails the verification.

5. The display device according to claim 3, characterized in that The controller repairs the application to the first target version according to the repair instruction, and is specifically configured to: Acquire application-related information from the file to be detected; the application-related information at least includes the application package name of the application; generating a download request according to the application association information, and sending the download request to a server, so that the server downloads the network application package file corresponding to the first target version through the request; The network application package file downloaded by the server is received, and the network application package file is installed locally to repair the application to the first target version.

6. The display device according to claim 3, characterized in that After repairing the application to the first target version according to the repair instruction, the controller is further configured to: Searching for an associated application that has an associated relationship with the application according to an associated field in the file to be detected; Determining a second target version of the associated application that matches the first target version; The associated application is restored to the second target version.

7. The display device according to claim 2, characterized in that After controlling the display to display the application page corresponding to the application of the first target version, the controller is further configured to: Detecting a first startup state of the application after the application is upgraded to the first target version; the first startup state includes a startup success state and a startup failure state; In response to the first startup status being the startup success status, obtaining a backup application package of the application backed up before the application is upgraded to the first target version, and deleting the backup application package; In response to the first startup state being the startup failure state, the application is restored to a version before being upgraded to the first target version.

8. The display device according to claim 1, characterized in that After determining the application version corresponding to the application, the controller is further configured to: When the application version is not the first target version, detecting whether the first target version exists; If the first target version exists, controlling the display to display a reminder message box, where the reminder message box is used to remind the user to upgrade to the first target version based on the current application version; If the first target version does not exist, the display is controlled to display an application page corresponding to the current version application according to the startup instruction.

9. The display device according to claim 8, characterized in that After controlling the display to display the reminder message box, the controller is further configured to: In response to an upgrade instruction for upgrading the application to the first target version, backing up an application package corresponding to the current version of the application; Detecting an upgrade status of the application; If the application is successfully upgraded, in response to the startup instruction, after the file to be detected passes verification, a step of controlling the display to display an application page corresponding to the first target version of the application is executed; If the application upgrade fails, the application is restored to the current version according to the backed-up application package.

10. A method for restoring an application, applied to the display device according to any one of claims 1 to 9, characterized in that: The method comprises: In response to a start instruction for an application, determining an application version corresponding to the application; When the application version is the first target version, verify the file to be detected corresponding to the application; the first target version is the latest version of the application; the file to be detected is a file generated when the application is installed; the file to be detected includes a to-be-detected identifier; When the file to be detected fails the verification, a repair instruction is generated, and the application is repaired to the first target version according to the repair instruction.