Display device and method of interacting with a system
Patent Information
- Application Number
- CN202211275940.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-10-18
- Publication Date
- 2026-10-30
- Estimated Expiration
- 2042-10-18
AI Technical Summary
由此会拖慢用户界面等应用和整个显示设备的启动时间,拖慢用户界面等应用的业务处理,进而影响用户画面的展示、用户功能的迟滞,拉低用户体验
[0039]本申请的一些实施例提供了一种显示设备及应用与系统交互方法。应用将其使用的命令字的名称生成命令字名称列表,当用户输入开机指令后,接收应用发送的携带有命令字名称列表的同步数据请求。判断命令字是否在命令字名称列表中,如果在,则将命令字对应的数据发送至该应用。如果不在,则无需将该命令字及其对应的数据发送至该应用。本申请实施例仅需要同步应用需要的命令字和数据,减少同步数据的时间,提升显示设备的启动性能,提升用户体验。
Smart Images

Figure CN117950740B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of display device technology, and in particular to a display device and a method for interaction between the device and the application and system. Background Technology
[0002] After the user interface and other applications on the display device start, the middleware synchronizes the commands and data it holds. There are two synchronization methods: one is to perform synchronization immediately after the user interface and other applications start and save the content in a local cache; the other is to retrieve the data from the middleware only when needed during the operation of the user interface and other applications. The first method is usually used to balance sensitivity and accuracy.
[0003] When user interface applications (UIAs) immediately request command words and data synchronization upon startup, the middleware needs to consume more time for one-to-one data synchronization as the number of UIAs increases. This slows down the startup time of UIAs and the entire display device, hinders the business processing of UIAs, and consequently affects the display of user screens, lags in user functions, and degrades the user experience. Summary of the Invention
[0004] Some embodiments of this application provide a display device and an application-system interaction method. By fixing the command words for data on the application side, only the command words and data required by the application are synchronized during data synchronization, thereby reducing synchronization time, improving startup performance, and enhancing user experience.
[0005] In a first aspect, some embodiments of this application provide a display device, including:
[0006] monitor;
[0007] The controller is configured as follows:
[0008] In response to a user-input power-on command, the application receives a synchronization data request, which includes a list of command word names. This list of command word names is pre-set based on the application's command word usage.
[0009] Obtain a set of command words, which includes pre-stored command words;
[0010] If the command word is in the command word name list, the data corresponding to the command word is sent to the application so that the application maps the data to the command word corresponding to the data and saves the mapping result to the local cache.
[0011] In some embodiments, after receiving a synchronization data request from an application, the controller is configured to:
[0012] If the command word is in the command word name list, then the attribute corresponding to the command word is sent to the application so that the application saves the command word and the attribute corresponding to the command word to the local cache.
[0013] In some embodiments, before receiving a synchronization data request from an application, the controller is configured to:
[0014] The application is controlled to map the attributes corresponding to the command words in the command word name list to the command words, and save the mapping results to the local cache; or,
[0015] Retrieve a preset file from the local cache. The preset file includes command words from the command word name list and the attributes corresponding to the command words.
[0016] In some embodiments, the controller is configured to:
[0017] Count the number of command words used by the application;
[0018] If the number of command words used by the application is less than the preset number, then the command word name list is set according to the command words used by the application;
[0019] If the number of command words used by the application is greater than or equal to a preset number, then the command word name list is set to empty.
[0020] In some embodiments, the controller is configured to:
[0021] Calculate the proportion of command words used by the application to the total number of command words;
[0022] If the ratio is less than the preset ratio, then the command word name list is set according to the command words used by the application;
[0023] If the ratio is greater than or equal to the preset ratio, then the command name list is set to empty.
[0024] In some embodiments, the application includes a first application and a second application, and the controller is configured to:
[0025] After the data of the first application is updated, an update data message sent by the first application is received, the update data message including an update command word and the data corresponding to the update command word;
[0026] If the update command word is empty in the command word name list of the second application or the command word name list of the second application is empty, then the update data message is sent to the second application so that the second application updates the data corresponding to the update command word based on the update data message.
[0027] In some embodiments, the controller is configured to:
[0028] In response to a user's input command to launch a first application, a synchronization data request sent by the first application is received. The synchronization data request includes a list of command word names, which is preset according to the command word usage of the first application.
[0029] If the command word is in the command word name list, the data corresponding to the command word is sent to the first application so that the first application maps the data to the command word and saves the mapping result to the local cache.
[0030] Secondly, some embodiments of this application provide an application-system interaction method, including:
[0031] In response to a user-input power-on command, the application receives a synchronization data request, which includes a list of command word names. This list of command word names is pre-set based on the application's command word usage.
[0032] Obtain a set of command words, which includes pre-stored command words;
[0033] If the command word is in the command word name list, the data corresponding to the command word is sent to the application so that the application maps the data to the command word corresponding to the data and saves the mapping result to the local cache.
[0034] In some embodiments, after receiving a synchronization data request sent by an application, the method further includes:
[0035] If the command word is in the command word name list, then the attribute corresponding to the command word is sent to the application so that the application saves the command word and the attribute corresponding to the command word to the local cache.
[0036] In some embodiments, before receiving a synchronization data request sent by an application, the method further includes:
[0037] The application is controlled to map the attributes corresponding to the command words in the command word name list to the command words, and save the mapping results to the local cache; or,
[0038] Retrieve a preset file from the local cache. The preset file includes command words from the command word name list and the attributes corresponding to the command words.
[0039] Some embodiments of this application provide a display device and a method for interaction between an application and a system. The application generates a list of command word names based on the names of the command words it uses. When a user inputs a power-on command, the application sends a synchronization data request carrying the list of command word names. The application determines whether the command word is in the list; if it is, the corresponding data is sent to the application. If not, there is no need to send the command word and its corresponding data to the application. This application embodiment only needs to synchronize the command words and data required by the application, reducing data synchronization time, improving the startup performance of the display device, and enhancing the user experience. Attached Figure Description
[0040] Figure 1 An operational scenario between a display device and a control device according to some embodiments is illustrated;
[0041] Figure 2 A hardware configuration block diagram of a control device according to some embodiments is shown;
[0042] Figure 3 A hardware configuration block diagram of a display device according to some embodiments is shown;
[0043] Figure 4 A software configuration diagram in a display device according to some embodiments is shown;
[0044] Figure 5 A flowchart of a user interface and middleware data synchronization method according to some embodiments is shown;
[0045] Figure 6 A flowchart illustrating a method for a controller to perform application and system interaction according to some embodiments is shown.
[0046] Figure 7 A schematic diagram of a server-client architecture distribution according to some embodiments is shown;
[0047] Figure 8 A flowchart of another user interface and middleware data synchronization method provided according to some embodiments is shown;
[0048] Figure 9 A flowchart illustrating another method for a controller to perform application and system interaction according to some embodiments is shown;
[0049] Figure 10 A flowchart of yet another user interface and middleware data synchronization method provided according to some embodiments is shown;
[0050] Figure 11 A flowchart illustrating a method for a controller to perform a first application-system interaction according to some embodiments is shown.
[0051] Figure 12 A flowchart of a data update method according to some embodiments is shown;
[0052] Figure 13 A flowchart illustrating a method for a controller to perform application and system data updates according to some embodiments is shown.
[0053] Figure 14 A flowchart of a data update method provided according to some embodiments is shown. Detailed Implementation
[0054] To make the objectives and implementation methods of this application clearer, the exemplary implementation methods of this application will be clearly and completely described below with reference to the accompanying drawings of the exemplary embodiments of this application. Obviously, the exemplary embodiments described are only some embodiments of this application, and not all embodiments.
[0055] It should be noted that the brief descriptions of terms in this application are only for the convenience of understanding the embodiments described below, and are not intended to limit the embodiments of this application. Unless otherwise stated, these terms should be understood in their ordinary and common meaning.
[0056] The terms "first," "second," and "third," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish similar or related objects or entities, and do not necessarily imply a specific order or sequence, unless otherwise specified. It should be understood that such terms are interchangeable where appropriate.
[0057] The term “comprising” and any variations thereof are intended to cover but not exclude inclusion, for example, a product or device that includes a range of components is not necessarily limited to all of the components that are clearly listed, but may include other components that are not clearly listed or that are inherent to such product or device.
[0058] The display device provided in this application can have various implementation forms, such as a television, a smart television, a laser projection device, a monitor, an electronic bulletin board, an electronic table, etc. Figure 1 and Figure 2 This is one specific embodiment of the display device of this application.
[0059] Figure 1 This is a schematic diagram illustrating the operational scenario between the display device and the control unit according to the embodiment. Figure 1 As shown, the user can operate the display device 200 through the smart device 300 or the control device 100.
[0060] In some embodiments, the control device 100 may be a remote control. Communication between the remote control and the display device includes infrared protocol communication, Bluetooth protocol communication, and other short-range communication methods, controlling the display device 200 wirelessly or via wired means. Users can control the display device 200 by inputting user commands through buttons on the remote control, voice input, control panel input, etc.
[0061] In some embodiments, a smart device 300 (such as a mobile terminal, tablet computer, computer, laptop computer, etc.) may also be used to control the display device 200. For example, an application running on the smart device may be used to control the display device 200.
[0062] In some embodiments, the display device may receive instructions not through the aforementioned smart devices or control devices, but through touch or gestures.
[0063] In some embodiments, the display device 200 can also be controlled in ways other than the control device 100 and the smart device 300. For example, it can be controlled by directly receiving the user's voice commands through a module configured inside the display device 200 for acquiring voice commands, or it can be controlled by receiving the user's voice commands through a voice control device set outside the display device 200.
[0064] In some embodiments, the display device 200 also communicates with the server 400. The display device 200 may communicate via a local area network (LAN), wireless local area network (WLAN), and other networks. The server 400 may provide various content and interactive features to the display device 200. The server 400 may be a cluster or multiple clusters, and may include one or more types of servers.
[0065] Figure 2 An exemplary block diagram of the configuration of the control device 100 according to an exemplary embodiment is shown. Figure 2 As shown, the control device 100 includes a controller 110, a communication interface 130, a user input / output interface 140, a memory, and a power supply. The control device 100 can receive user input operation commands and convert the operation commands into commands that the display device 200 can recognize and respond to, thus acting as an intermediary for interaction between the user and the display device 200.
[0066] like Figure 3 The display device 200 includes at least one of the following: a tuner 210, a communicator 220, a detector 230, an external device interface 240, a controller 250, a display 260, an audio output interface 270, a memory, a power supply, and a user interface.
[0067] In some embodiments, the controller includes a processor, a video processor, an audio processor, a graphics processor, RAM, ROM, and a first interface to an nth interface for input / output.
[0068] The display 260 includes a display screen assembly for presenting images, a driving assembly for driving image display, a component for receiving image signals from the controller output, and a user control UI interface for displaying video content, image content, menu control interface, and user control UI interface.
[0069] The display 260 can be an LCD display, an OLED display, or a projection display, and can also be a projection device and a projection screen.
[0070] The display 260 also includes a touch screen, which is used to receive input control commands from the user's fingers by sliding or clicking on the touch screen.
[0071] The communicator 220 is a component used to communicate with external devices or servers according to various communication protocol types. For example, the communicator may include at least one of the following: a Wi-Fi module, a Bluetooth module, a wired Ethernet module, other network communication protocol chips or near-field communication protocol chips, and an infrared receiver. The display device 200 can establish the transmission and reception of control signals and data signals with the external control device 100 or the server 400 through the communicator 220.
[0072] The user interface can be used to receive control signals from the control device 100 (such as an infrared remote control).
[0073] Detector 230 is used to collect signals from the external environment or to interact with the external environment. For example, detector 230 includes a light receiver, a sensor for collecting ambient light intensity; or, detector 230 includes an image acquisition device, such as a camera, which can be used to collect external environmental scenes, user attributes, or user interaction gestures; or, detector 230 includes a sound acquisition device, such as a microphone, for receiving external sounds.
[0074] The external device interface 240 may include, but is not limited to, one or more of the following: High Definition Multimedia Interface (HDMI), analog or high-definition component input interface (component), composite video input interface (CVBS), USB input interface (USB), RGB port, etc. It may also be a composite input / output interface formed by multiple interfaces mentioned above.
[0075] The tuner / demodulator 210 receives broadcast television signals via wired or wireless means, and demodulates audio and video signals, such as EPG data signals, from multiple wireless or wired broadcast television signals.
[0076] In some embodiments, the controller 250 and the tuner 210 may be located in different separate devices, that is, the tuner 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.
[0077] The controller 250 controls the operation of the display device and responds to user operations through various software control programs stored in the memory. The controller 250 controls the overall operation of the display device 200. For example, in response to receiving a user command to select a UI object to display on the monitor 260, the controller 250 can execute operations related to the object selected by the user command.
[0078] In some embodiments, the controller includes at least one of a central processing unit (CPU), a video processor, an audio processor, a graphics processing unit (GPU), RAM (random access memory), ROM (read-only memory), a first to an nth interface for input / output, a communication bus, etc.
[0079] Users can input commands through a graphical user interface (GUI) displayed on the monitor 260, and the user input interface receives the user input commands through the GUI. Alternatively, users can input commands by entering specific sounds or gestures, and the user input interface receives the user input commands by recognizing the sounds or gestures through sensors.
[0080] A "user interface" is the medium through which an application or operating system interacts and exchanges information with the user. It converts information from its internal form to a form that the user can accept. A common form of user interface is the graphical user interface (GUI), which refers to a user interface related to computer operation displayed graphically. It can be an icon, window, control, or other interface element displayed on the screen of an electronic device. Controls can include visual interface elements such as icons, buttons, menus, tabs, text boxes, dialog boxes, status bars, navigation bars, and widgets.
[0081] like Figure 4 As shown, the display device system is divided into three layers, from top to bottom: the application layer, the middleware layer, and the hardware layer.
[0082] The application layer mainly includes commonly used applications on TVs, as well as the application framework. The commonly used applications are mainly browser-based applications, such as HTML5 apps, and native apps.
[0083] An 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 interface for these functions (toolbar, status bar, menu, dialog box).
[0084] Native apps can support online or offline access, push notifications, or access to local resources.
[0085] The middleware layer includes various television protocols, multimedia protocols, and system components. Middleware can use the basic services (functions) provided by system software to connect different parts of application systems or different applications on the network, achieving resource sharing and function sharing.
[0086] The hardware layer mainly includes the HAL interface, hardware, and drivers. The HAL interface is a unified interface for all TV chips, with the specific logic implemented by each chip. The drivers mainly include: audio drivers, display drivers, Bluetooth drivers, camera drivers, Wi-Fi drivers, USB drivers, HDMI drivers, sensor drivers (such as fingerprint sensors, temperature sensors, pressure sensors, etc.), and power drivers.
[0087] After the user interface and other applications on the display device start, the middleware synchronizes the commands and data it holds. There are two synchronization methods: one is to perform synchronization immediately after the user interface and other applications start and save the synchronized data in a local cache; the other is to retrieve the data from the middleware only when needed during the operation of the user interface and other applications. Considering both sensitivity and accuracy, the first method is usually used.
[0088] When user interface applications (UIAs) request command words and data synchronization immediately upon startup, the middleware needs to spend more time performing one-to-one data synchronization as the number of UIAs increases. This slows down the startup time of UIAs and the entire display device, hinders the business processing of UIAs, and consequently affects the display of user screens, lags in user functions, and degrades the user experience.
[0089] like Figure 5As shown, taking the user interface as an example, after receiving the power-on command input by the user, the middleware starts, and the user interface also starts. After starting, the user interface sends a command word request to the middleware. Upon receiving the request from the user interface, the middleware organizes a command word response, that is, it sends the command word or command word and attributes to the user interface, which then saves the command word or command word and attributes to its local cache. The middleware continues to organize the data corresponding to the command word and synchronizes this data to the user interface, which then saves the synchronized data to its local cache. Here, "command word" refers to all the command words held by the middleware. During the power-on process of the display device, in addition to the user interface, other applications are also needed. These other applications also require the middleware to synchronize command words and data. Synchronizing a large number of command words and data during this process consumes time and affects the startup performance of the display device.
[0090] To address the above technical problems, this application provides a display device 200. The structure and functions of each part of the display device 200 can be found in the above embodiments. Furthermore, based on the display device 200 shown in the above embodiments, this embodiment further improves some functions of the display device 200. For example… Figure 6 As shown, controller 250 performs the following steps:
[0091] Step S601: Receive the power-on command input by the user;
[0092] In some embodiments, a power-on command input by the user via pressing the power button on the control device is received.
[0093] In some embodiments, a power-on command input by the user by pressing the power button on the display device is received.
[0094] In some embodiments, a power-on command is received from a user after the scheduled power-on time has elapsed.
[0095] In some embodiments, a power-on command is received by collecting and recognizing the user's voice, or by collecting and recognizing the user's voice input to the display device via other smart devices connected to the same network, such as a smart speaker.
[0096] Step S602: In response to the power-on command input by the user, receive a data request sent by the application. The data request includes a list of command word names, which is pre-customized according to the command word usage of the application.
[0097] In some embodiments, in response to a user-input power-on command, middleware starts and determines the applications that need to be started during power-on. These applications mainly include the user interface, but also include other necessary applications.
[0098] Middleware, or system services, connects the application layer and the hardware layer, and is used to implement most user functions. Middleware, as the holder of system data, can be considered a server, while user interface applications, as the party that needs to use data and commands, can be considered clients.
[0099] In display devices, system services hold all system command words and important data, typically existing as a server. The middleware business logic layer synchronizes these command words and data to the user interface and other applications. These applications, including the user interface, also use specific functions within the system services through this layer to fulfill user requests. For example... Figure 7 As shown, the middleware business logic layer (server-side) needs to synchronize commands and data to various clients. Clients include user interfaces in the application layer, applications such as YouTube (a video website), and sound and image modules in the middleware layer.
[0100] The middleware holds a large number of command words, typically reaching several thousand. Clients displaying a large amount of user functionality, such as user interfaces, may use nearly half of this number. Other applications, like YouTube, require fewer command words, generally a few hundred. The process involves first synchronizing command word names to the clients in batches, then synchronizing values one by one. This increases client startup time. As the number of clients increases during the display device's boot process, it will inevitably lengthen the display device's boot time.
[0101] Applications that need to be started upon system boot, such as the user interface, send a synchronization data request to the middleware after startup. This synchronization data request requests the command words and corresponding data held by the middleware, and includes a list of command word names. In other words, the user interface assembles a customized list of command word names into the synchronization data request and sends it to the middleware upon startup.
[0102] Command words: User interface applications (clients) can use these command words to execute get / set / action operations to the middleware; the middleware also uses these command words to synchronize and update data externally. Command words have the following characteristics: each command word has a unique name; the command word identifies the data type that can be operated on (when the operation is "action", it represents the execution of an action); command words have the function of notifying data updates and also the function of listening for data changes.
[0103] In some embodiments, applications such as user interfaces organize the command word names that need to be used, forming a customized list of command word names.
[0104] In some embodiments, the number of command words used by the application is obtained;
[0105] Determine whether the number of command words used by the application is less than a preset number;
[0106] If the number of command words used by the application is less than the preset number, then the command word name list is customized according to the command words used by the application;
[0107] If the number of command words used by the application is not less than the preset number, then the list of command word names can be left empty, or there is no need to customize the list of command word names based on the command words used by the application.
[0108] For example, the default quantity is 1000. If the application needs to use 900 command words, then a custom command word name list needs to be created based on the command words used by the application; that is, the names of the 900 command words need to be compiled into a command word name list. If the application needs to use 1200 command words, then it is not necessary to customize the command word name list based on the command words used by the application, or the customized command word name list is empty; that is, the application does not include the command word name list when sending data requests, or the included command word name list is blank.
[0109] In some embodiments, the proportion of the number of command words used by the application to the total number of command words is calculated;
[0110] Determine whether the ratio is less than a preset ratio;
[0111] If the ratio is less than the preset ratio, then the command word name list is customized according to the command words used by the application;
[0112] If the ratio is not less than the preset ratio, then the list of customized command names will be empty.
[0113] For example, the total number of command words is 2000, with a preset ratio of 70%. If the application needs to use 800 command words, and this represents 40% of the total, which is less than the preset ratio, then a custom command word name list needs to be created based on the command words used by the application. That is, the names of the 800 command words need to be compiled into a command word name list. If the application needs to use 1600 command words, and this represents 80% of the total, which is greater than the preset ratio, then no custom command word name list is needed, or the custom command word name list is empty. In other words, the application does not include a command word name list when sending data requests, or the included command word name list is blank.
[0114] User interface and other applications need to save this list of command names in advance.
[0115] In some embodiments, the list of command names can be stored as a global variable / environment variable in the code. The existence of the command name list or the presence of content within the list is determined by the global variable / environment variable.
[0116] In some embodiments, the list of command names can be saved to a local cache in any form, such as a file.
[0117] After receiving a synchronization data request from the application, the middleware saves the list of command names in the synchronization data request for use in subsequent data updates.
[0118] Step S603: Obtain a set of command words, wherein the set of command words includes pre-stored command words;
[0119] The command word set is the collection of all command words held by the middleware.
[0120] Step S604: Determine whether the command name list is empty;
[0121] In some embodiments, the absence of the command name list is determined by using global variables / environment variables.
[0122] In some embodiments, a file storing a list of command names is read, and the list of command names is determined to be empty by checking whether the file contains any content.
[0123] If the command word name list is not empty, then proceed to step S605: determine whether the command word is in the command word name list;
[0124] If the command name list is not empty, all command words held by the middleware are traversed, and each command word is checked in turn to see if it is in the command name list.
[0125] If the command word is in the command word name list, then step S606 is executed: send the command word and the corresponding attributes to the application so that the application saves the command word and the corresponding attributes to the local cache;
[0126] In some embodiments, the attributes of a command word include get, set, int, and string. The command word carries information that allows it to be matched with its corresponding attribute. For example, if a command word has a flag set, whether the flag is set or its value can be used to determine whether the command word corresponds to get or set, or whether it corresponds to int or string, etc.
[0127] The middleware needs to match the command word with its corresponding attribute before sending the command word and its corresponding attribute to the application. After receiving the command word and its corresponding attribute, the application can directly save it to the local cache, or it can match the local command word with the sent attribute based on the command word and then save the matching result to the local cache.
[0128] If the command word is not in the command word name list, then continue to determine whether the next command word is in the command word name list, and determine whether to send the command word and its corresponding attributes to the application based on the determination result.
[0129] S607: Determine whether the command word is in the command word name list;
[0130] In the above steps, after traversing all the command words held by the middleware once and sending the command words in the command word name list and their corresponding attributes to the application, it is necessary to traverse all the command words held by the middleware again and check whether the command word is in the command word name list again.
[0131] If the command word is in the command word name list, then step S608 is executed: the data corresponding to the command word is sent to the application, so that the application maps the data to the command word and saves the mapping result to the local cache.
[0132] The command word data specifically refers to the value of the command word carrying int (integer) and string (string) types. When the command word is action, the data is ignored.
[0133] The mapping result includes the correspondence between command words and their corresponding data. The mapping result can be a list, with one column for command words and one column for data, and command words and data corresponding to each other in the same row. The middleware sends the command word and its corresponding data. Meanwhile, the application caches the command word and its corresponding attributes locally. It can directly map the data corresponding to the command word to that command word based on its name, storing the corresponding data in a file containing the command word and its attributes. A new file containing the correspondence between the command word, its attributes, and the data is then saved to the local cache. The application can then retrieve the data directly from the local cache when needed.
[0134] If the command word is not in the command word name list, then continue to determine whether the next command word is in the command word name list, and determine whether to send the command word and its corresponding data to the application based on the determination result.
[0135] If the list of command names is empty, then step S609 is executed: the command and its corresponding attributes are sent to the application so that the application saves the command and its corresponding attributes to the local cache.
[0136] If the list of command names is empty, the middleware will send all the command names it holds and their corresponding attributes to the application.
[0137] Step S610: Send the data corresponding to the command word to the application, so that the application maps the data to the command word and saves the mapping result to the local cache.
[0138] If the list of command names is empty, the middleware will send all the command names it holds and their corresponding data to the application.
[0139] In some embodiments, step S604 may further involve detecting whether a list of command names exists in the synchronization data request. If a list of command names exists in the synchronization data request, then step S605 is executed; if a list of command names does not exist in the synchronization data request, then step S609 is executed.
[0140] The above embodiments use the user interface as an example, such as... Figure 8 As shown. Upon receiving the user's power-on command, the middleware starts, the user interface starts, and the user interface sends a synchronization data request carrying a list of command word names to the middleware. After receiving the request, the middleware saves the user interface's list of command word names, matches the command words in the list with their corresponding attributes, and sends the command words and their corresponding attributes to the user interface. The user interface receives and saves this data locally. The middleware continues to synchronize the command words in the list with their corresponding data to the user interface. The user interface receives the data, combines it with the command words, and saves it locally.
[0141] For example, when a user inputs a power-on command, the user interface, after starting, sends a synchronization data request carrying a list of command word names, including the command word "Backlight". The middleware receives the list of command word names, matches "Backlight" with its corresponding attribute "get", and sends "Backlight" and its corresponding attribute "get" to the user interface. The user interface saves "Backlight" and its corresponding attribute "get" locally. The middleware continues to send "Backlight" and its corresponding data "50" to the user interface. The user interface maps the data "50" corresponding to "Backlight" to the command word "Backlight" and saves it locally. When displaying, the user interface directly retrieves the backlight "50" information from the local cache and displays it with the backlight value "50".
[0142] In some embodiments, such as Figure 9 As shown, controller 250 performs the following steps:
[0143] Step S901: Receive the power-on command input by the user;
[0144] Step S902: In response to the power-on command input by the user, control the application to map the attributes corresponding to the command words in the command word name list to the command words, and save the mapping result to the local cache.
[0145] In some embodiments, the list of command word names and the attributes of the command words are stored in different files. After the application starts, the commands in the list of command word names are matched with their corresponding attributes, that is, the attributes corresponding to the command words in the list of command word names are mapped to the command words, and the mapping results are saved to the local cache. The mapping results include the correspondence between command words and their attributes. The mapping results can be a list, with one column for command words and one column for attributes, and command words and attributes corresponding to each other in the same row.
[0146] In some embodiments, the command words in the command word name list can be matched with the attributes corresponding to the command words in advance and saved to a preset file. After the application starts, the preset file in the local cache can be directly obtained. The preset file includes the command words in the command word name list and the attributes corresponding to the command words.
[0147] Step S903: Receive a data request sent by the application, the data request including a list of command word names, the list of command word names being pre-customized based on the application's command word usage.
[0148] In some embodiments, in response to a user-input power-on command, the middleware starts and determines the applications that need to be launched during power-on. These applications, such as the user interface, send a synchronization data request to the middleware after startup. The synchronization data request includes a list of command names. In other words, the user interface assembles a customized list of command names into the synchronization data request and sends it to the middleware after startup.
[0149] After receiving a synchronization data request from the application, the middleware saves the list of command names in the synchronization data request for use in subsequent data updates.
[0150] Step S904: Obtain a set of command words, wherein the set of command words includes pre-stored command words;
[0151] Step S905: Determine whether the command word is in the command word name list;
[0152] Iterate through all the command words held by the middleware and check in turn whether the command word is in the command word name list.
[0153] If the command word is in the command word name list, then step S906 is executed: the data corresponding to the command word is sent to the application, so that the application maps the data to the command word and saves the mapping result to the local cache.
[0154] If the command word is not in the command word name list, then continue to determine whether the next command word is in the command word name list, and determine whether to send the command word and its corresponding data to the application based on the determination result.
[0155] It should be noted that if the command name list is empty, meaning there are no command names cached locally, and there is no need to match attributes with command names on the application side, the middleware still needs to send the command names and their corresponding attributes to the application. Specifically, when the middleware detects that the command name list is empty, it first sends all command names and their corresponding attributes to the application, which then saves all command names and their corresponding attributes to its local cache. The middleware then sends all command names and their corresponding data to the application, which stores the corresponding data in a file containing the command names and their corresponding attributes, and finally saves the final result to its local cache.
[0156] The above embodiments use the user interface as an example, such as... Figure 10 As shown. Upon receiving the power-on command from the user, the middleware starts, the user interface starts, and the user interface matches the locally stored command words with the locally stored attributes according to the command word name list, saving the matching results to the local cache. The user interface sends a synchronization data request carrying the command word name list to the middleware. After receiving the request, the middleware saves the command word name list of the user interface and synchronizes the command words in the command word name list with their corresponding data to the user interface. After receiving the data, the user interface combines it with the command words and saves it to the local cache.
[0157] For example, when a user inputs a power-on command, the user interface starts up and matches the `Backlight` attribute in the command name list with its corresponding `get` attribute locally, saving the result. The user interface sends a synchronization data request to the middleware, carrying a list of command name names including the command `Backlight`. After receiving the command name list, the middleware sends `Backlight` and its corresponding data `50` to the user interface, which then saves `Backlight` and its corresponding data `50` locally. When displaying the user interface, it directly retrieves the backlight information `50` from the local storage and displays the user interface with the backlight value `50`.
[0158] The difference in this embodiment lies in the synchronization of command words and data. Since the command words required by applications such as the user interface are known, their attributes are also known. Therefore, before requesting data synchronization from the middleware, applications such as the user interface can locally complete the matching of command words and attributes, and the middleware only needs to synchronize data according to the command word name list. In the solution of this embodiment, command words and their attributes do not need to wait for the middleware to send a message before being added, thus speeding up the startup of the display device.
[0159] This application embodiment uses fixed command words in the user interface and other applications, so that the middleware only synchronizes the command words and data required by the user interface and other applications during synchronization. This reduces the synchronization work of thousands of command words to hundreds, thus optimizing the interaction logic.
[0160] The above embodiments, upon receiving the user's input boot command, only require starting the applications needed during the boot process and having those applications send synchronization data requests before proceeding with subsequent steps. During idle time, command words and their corresponding data from the command word name list of non-boot-start applications can be sent to those applications. In some embodiments, upon receiving the user's input boot command, all applications can send synchronization data requests, and the middleware will send the command words and their corresponding data from the command word name list of each application to that application. Applications needed during the boot process can be prioritized for these requests.
[0161] In some embodiments, such as Figure 11 As shown, controller 250 performs the following steps:
[0162] Step S1101: Receive the user's instruction to launch the first application;
[0163] In some embodiments, the user can select the control corresponding to the first application through the control device, press the confirmation key, and then enter a command to start the first application.
[0164] In some embodiments, a user can directly input a command to launch a first application by pressing a specific key on the control device.
[0165] Step S1102: In response to the user's input instruction to launch the first application, receive a data request sent by the first application. The data request includes a list of command word names, which is pre-customized based on the command word usage of the first application.
[0166] In some embodiments, after the display device is powered on, in response to a user's input command to launch the first application, the middleware is already in a running state, and the first application starts. After starting, the first application sends a synchronization data request to the middleware. This synchronization data request requests command words and corresponding data held by the middleware, and includes a list of command word names. That is, after starting, the first application assembles a customized list of command word names into the synchronization data request and sends it to the middleware.
[0167] After receiving a synchronization data request from the application, the middleware saves the list of command names in the synchronization data request for use in subsequent data updates.
[0168] Step S1103: Obtain a set of command words, wherein the set of command words includes pre-stored command words;
[0169] Step S1104: Determine whether the command name list is empty;
[0170] If the command word name list is not empty, then execute step S1105: determine whether the command word is in the command word name list;
[0171] If the command name list is not empty, all command words held by the middleware are traversed, and each command word is checked in turn to see if it is in the command name list.
[0172] If the command word is in the command word name list, then step S1106 is executed: send the command word and the corresponding attributes to the first application so that the first application saves the command word and the corresponding attributes to the local cache;
[0173] If the command word is not in the command word name list, then continue to determine whether the next command word is in the command word name list, and determine whether to send the command word and its corresponding attributes to the first application based on the determination result.
[0174] S1107: Determine whether the command word is in the command word name list;
[0175] In the above steps, after traversing all the command words held by the middleware once and sending the command words in the command word name list and their corresponding attributes to the first application, it is necessary to traverse all the command words held by the middleware again and check whether the command word is in the command word name list again.
[0176] If the command word is in the command word name list, then step S1108 is executed: the data corresponding to the command word is sent to the first application, so that the first application maps the data to the command word and saves the mapping result to the local cache.
[0177] If the command word is not in the command word name list, then continue to determine whether the next command word is in the command word name list, and determine whether to send the command word and its corresponding data to the first application based on the determination result.
[0178] If the list of command names is empty, then step S1109 is executed: the command name and the corresponding attribute of the command name are sent to the first application so that the first application saves the command name and the corresponding attribute of the command name to the local cache.
[0179] If the list of command names is empty, the middleware will send all the command names it holds and their corresponding attributes to the first application.
[0180] Step S1110: Send the data corresponding to the command word to the first application, so that the first application maps the data to the command word and saves the mapping result to the local cache.
[0181] If the list of command names is empty, the middleware will send all the command names it holds and their corresponding data to the application.
[0182] In some embodiments, step S1104 may also involve detecting whether a list of command names exists in the synchronization data request. If a list of command names exists in the synchronization data request, then step S1105 is executed; if a list of command names does not exist in the synchronization data request, then step S1109 is executed.
[0183] For example, a user inputs a command to launch a first application. After launching, the first application sends a synchronization data request carrying a list of command word names, including the command word "Volume". The middleware receives the list of command word names, matches "Volume" with its corresponding attribute "get", and sends "Volume" and its corresponding attribute "get" to the first application. The first application saves "Volume" and its corresponding attribute "get" locally. The middleware continues to send "Volume" and its corresponding data "8" to the first application. The first application maps the data "8" corresponding to "Volume" to "Volume" and saves it locally. When the first application needs to play video, it directly retrieves the volume "8" information from the local cache and plays the video at volume "8".
[0184] In some embodiments, since the command words required by the first application are known, the attributes of the command words are also known. Therefore, before requesting data synchronization from the middleware, the first application can locally complete the matching of command words and attributes, and the middleware can simply synchronize data according to the list of command word names.
[0185] For example, the user inputs a command to launch the first application. After the first application launches, it matches the Volume (volume) in the command word name list with its corresponding get (retrieval) attribute locally and saves it. The first application sends a synchronization data request to the middleware, carrying a list of command word names including the command word Volume. After receiving the list of command word names, the middleware sends the Volume and its corresponding data 8 to the first application, which saves the Volume and the corresponding data 8 locally. When the first application needs to play video, it directly retrieves the volume 8 information from the local cache and plays the video at volume 8.
[0186] In the solution of this application embodiment, the command word and its attributes do not need to wait for the middleware to send a message before being added, which speeds up the startup speed of the first application.
[0187] After the application's user interface and other components start up, data updates will occur during its runtime. After an update, the application needs to notify the middleware, which will then synchronize the data with other applications. For example... Figure 12 As shown, after the user interface detects a data update, it sends an update message to the middleware. The middleware organizes the message and sends it to YouTube. YouTube then updates its local data. When data is updated, the update message is sent to all applications, but each application treats it indiscriminately, even if it doesn't use the value. Therefore, this can lead to message queue overhead and message storms.
[0188] To address the above technical problems, this application provides a display device 200. The structure and functions of each part of the display device 200 can be found in the above embodiments. Furthermore, based on the display device 200 shown in the above embodiments, this embodiment further improves some functions of the display device 200. For example… Figure 13 As shown, controller 250 performs the following steps:
[0189] Step S1301: After detecting a data update in the first application, receive an update data message sent by the first application, wherein the update data message includes an update command word and the data corresponding to the update command word;
[0190] During the operation of the display device, the data corresponding to the command word may change due to user operations, i.e., data update. After detecting a data update in the first application, the first application will notify the middleware of the update data message. Here, the first application refers to the application that updated the data. After receiving the update data message sent by the first application, the middleware will identify the updated command word and the data corresponding to that command word.
[0191] Step S1302: Determine whether the command name list of the second application is empty;
[0192] The middleware stores a list of all applications and their corresponding command names. The middleware needs to traverse the command name lists of all applications and check whether the command name list of the second application is empty. The second application refers to an application other than the first application, or an application that is currently running on the system other than the first application.
[0193] If the command name list of the second application is empty, then step S1303 is executed: send an update data message to the second application so that the second application updates the data corresponding to the update command name based on the update data message;
[0194] If the command word name list of the second application is not empty, then execute step S1304: determine whether the update command word is in the command word name list of the second application;
[0195] If the update command word is in the command word name list of the second application, then step S1303 is executed: send an update data message to the second application so that the second application updates the data corresponding to the update command word based on the update data message;
[0196] If the update command word is not in the command word name list of the second application, then continue to determine whether the command word name list of the next second application is empty, that is, there is no need to send the update data message to the second application.
[0197] In some embodiments, step S1302 may also be to determine whether the second application has a list of command names. If the second application does not have a list of command names, then step S1303 is executed. If the second application has a list of command names, then step S1304 is executed.
[0198] The above embodiments use the first application as the user interface and YouTube as the second application as an example. Figure 14 As shown. When user interface data is updated, the user interface sends an update data message to the middleware. The middleware obtains the command word indicating the data update and its corresponding data, and checks if YouTube's command word name list is empty. If YouTube's command word name list is empty, or if YouTube's command word name list is not empty and the update command word is in YouTube's command word name list, the middleware organizes a message and sends the update data message to YouTube. YouTube then updates its local data based on the update data message.
[0199] For example, a user interacts with the user interface to change the backlight to 60. The user interface sends the command word "Backlight" and its corresponding data 60 as an update data message to the middleware. The middleware determines whether the list of command word names for the running application is empty, or whether the list is not empty and the command word "Backlight" is in the list of command word names for the running application. The middleware then sends the command word "Backlight" and its corresponding data 60 as an update data message to the running application, causing the running application to update its local data.
[0200] During device operation, the middleware continuously updates and sends notification messages. This involves cross-process clients, and large data volume updates can lead to message queue overhead. This embodiment of the application sends update messages only to the applications that need to update command words, effectively reducing message queues and thus message storms. This embodiment of the application can also decouple the server and client during data synchronization and updates.
[0201] Some embodiments of this application provide an application-system interaction method. The method is applicable to a display device, which includes a display and a controller. The controller is configured to: respond to a user-input power-on command; receive a synchronization data request sent by an application, the synchronization data request including a list of command word names, the list of command word names being pre-set according to the application's command word usage; obtain a set of command words, the set of command words including pre-stored command words; if the command word is in the command word name list, send the data corresponding to the command word to the application, so that the application maps the data to the command word corresponding to the data and saves the mapping result to a local cache. This application embodiment, by fixing the command words of data at the application end, ensures that middleware synchronization only synchronizes the command words and data required by the application, reducing synchronization time consumption, improving startup performance, and enhancing user experience.
[0202] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features therein. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.
[0203] For ease of explanation, the above description has been provided in conjunction with specific embodiments. However, the above exemplary discussion is not intended to be exhaustive or to limit the embodiments to the specific forms disclosed above. Various modifications and variations can be obtained based on the above teachings. The selection and description of the above embodiments are for the purpose of better explaining the principles and practical applications, thereby enabling those skilled in the art to better utilize the described embodiments and various different variations of embodiments suitable for specific use considerations.
Claims
1. A display device, characterized in that, include: monitor; The controller is configured as follows: In response to a user-input power-on command, the application receives a synchronization data request, which includes a list of command word names. This list of command word names is pre-set based on the application's command word usage. Obtain a set of command words, which includes pre-stored command words; Determine whether the list of command names is empty; If the command word name list is not empty, determine whether the command word is in the command word name list; If the command word is in the command word name list, the command word and its corresponding attributes are sent to the application so that the application saves the command word and its corresponding attributes to the local cache. If the command word is not in the command word name list, then continue to determine whether the next command word is in the command word name list, and determine whether to send the command word and its corresponding attributes to the application based on the determination result; Determine again whether the command word is in the command word name list; If the command word is in the command word name list, the data corresponding to the command word is sent to the application so that the application maps the data to the command word corresponding to the data and saves the mapping result to the local cache; If the command word is not in the command word name list, then continue to determine whether the next command word is in the command word name list, and determine whether to send the command word and its corresponding data to the application based on the determination result.
2. The display device according to claim 1, characterized in that, The controller is also configured to: If the list of command names is empty, the command and its corresponding attributes are sent to the application so that the application saves the command and its corresponding attributes to the local cache. The data corresponding to the command word is sent to the application, so that the application maps the data to the command word and saves the mapping result to the local cache.
3. The display device according to claim 1, characterized in that, Before receiving a synchronization data request from an application, the controller is configured to: The application is controlled to map the attributes corresponding to the command words in the command word name list to the command words, and the mapping results are saved to the local cache; or, Retrieve a preset file from the local cache. The preset file includes command words from the command word name list and the attributes corresponding to the command words.
4. The display device according to claim 1, characterized in that, The controller is configured as follows: Get the number of command words used by the application; If the number of command words used by the application is less than the preset number, then the command word name list is set according to the command words used by the application; If the number of command words used by the application is greater than or equal to a preset number, then the list of command word names is set to empty.
5. The display device according to claim 1, characterized in that, The controller is configured as follows: Calculate the proportion of command words used by the application to the total number of command words; If the ratio is less than the preset ratio, then the command word name list is set according to the command words used by the application; If the ratio is greater than or equal to the preset ratio, then the command name list is set to empty.
6. The display device according to claim 1, characterized in that, The application includes a first application and a second application, and the controller is configured as follows: After the data of the first application is updated, an update data message sent by the first application is received, the update data message including an update command word and the data corresponding to the update command word; If the update command word is empty in the command word name list of the second application or the command word name list of the second application is empty, then the update data message is sent to the second application so that the second application updates the data corresponding to the update command word based on the update data message.
7. The display device according to claim 6, characterized in that, The controller is configured as follows: In response to a user's input command to launch a first application, a synchronization data request sent by the first application is received. The synchronization data request includes a list of command word names, which is preset according to the command word usage of the first application. If the command word is in the command word name list, the data corresponding to the command word is sent to the first application so that the first application maps the data to the command word and saves the mapping result to the local cache.
8. A method for interaction between an application and a system, characterized in that, include: In response to a user-input power-on command, the application receives a synchronization data request, which includes a list of command word names. This list of command word names is pre-set based on the application's command word usage. Obtain a set of command words, which includes pre-stored command words; Determine whether the list of command names is empty; If the command word name list is not empty, determine whether the command word is in the command word name list; If the command word is in the command word name list, the command word and its corresponding attributes are sent to the application so that the application saves the command word and its corresponding attributes to the local cache. If the command word is not in the command word name list, then continue to determine whether the next command word is in the command word name list, and determine whether to send the command word and its corresponding attributes to the application based on the determination result; Determine again whether the command word is in the command word name list; If the command word is in the command word name list, the data corresponding to the command word is sent to the application so that the application maps the data to the command word corresponding to the data and saves the mapping result to the local cache; If the command word is not in the command word name list, then continue to determine whether the next command word is in the command word name list, and determine whether to send the command word and its corresponding data to the application based on the determination result.
9. The method according to claim 8, characterized in that, The method further includes: If the list of command names is empty, the command and its corresponding attributes are sent to the application so that the application saves the command and its corresponding attributes to the local cache. The data corresponding to the command word is sent to the application, so that the application maps the data to the command word and saves the mapping result to the local cache.
10. The method according to claim 8, characterized in that, Before receiving a synchronization data request sent by the application, the method further includes: The application is controlled to map the attributes corresponding to the command words in the command word name list to the command words, and save the mapping results to the local cache; or, Retrieve a preset file from the local cache. The preset file includes command words from the command word name list and the attributes corresponding to the command words.
Citation Information
Patent Citations
Method and apparatus using uplink synchronous shift commond bit in td-scdma uplink transmission
CN101990746A
Method, system and equipment for transmitting and receiving command words
CN102036358A