Display device and data uploading method
By introducing communication devices and controllers into the display device, the classification and intelligent uploading strategies of interactive data are realized, and the problem of data transmission efficiency reduction caused by failure of single-thread upload is solved, and more efficient data upload is achieved.
Patent Information
- Application Number
- CN202411375559.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-29
- Publication Date
- 2025-03-04
AI Technical Summary
In the display device, when a single thread uploads interactive data, if the upload of pre-order interactive data fails, it will cause thread blockage, affecting the upload progress of other interactive data in the post-order, and reducing the transmission efficiency of interactive data.
By introducing communication devices and controllers into the display device, an intelligent upload strategy for classification of interactive data and target interactive data is realized. Specific measures include: obtaining interactive data in response to the interaction instructions input by the user, classifying interactive data, recording the multiple relationship between the number of uploads of the target interactive data and the failure probability factor, and determining whether to skip the upload process of the current interactive data and replace the interactive data to be uploaded based on the relationship.
When data upload fails, skip the upload process of the current interactive data, and determine the upload order of other interactive data through the multiple relationship between the first upload times and the failure probability factor to avoid data upload congestion and improve data upload efficiency.
Smart Images

Figure CN119556871A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of display devices, and in particular to a display device and a data uploading method. Background Art
[0002] The display device will perform various interactive tasks according to the user's interactive operations and generate various interactive data, such as log data and media data. In order to count the interactive behaviors of users using the display device, the display device can upload the interactive data to the server so that developers can count the interactive data.
[0003] Corresponding to different interactive functions, interactive data can have multiple categories. Taking log data as an example, it can include video log data, game log data, network log data, etc. When the display device uploads the interactive data to the server, it needs to ensure the orderliness of each category of interactive data. Therefore, the display device needs to use a single thread to upload the interactive data, that is, the interactive data is uploaded to the server in sequence according to the preset data order. However, when the upload of the interactive data in the leading order fails, it will cause the thread upload to be blocked, affecting the upload progress of other interactive data in the latter order, and reducing the transmission efficiency of the interactive data. Summary of the invention
[0004] The present application provides a display device and a data uploading method to solve the problem of reducing the transmission efficiency of interactive data due to data upload failure when uploading data in a single thread.
[0005] In a first aspect, some embodiments of the present application provide a display device, the display device comprising a communication device and a controller, the communication device being configured to establish a communication connection with a server; the controller being configured to:
[0006] In response to an interaction instruction input by a user, acquiring interaction data, wherein the interaction data is data used to record the interaction action specified by the interaction instruction executed by the display device;
[0007] Classifying the interaction data to obtain at least one interaction data set having a category label, wherein the category label is used to characterize a data source of the interaction data, and the interaction data set includes interaction data having a data source that is the same as the category label;
[0008] Uploading target interaction data of the interaction data set to a server, and obtaining an upload result fed back by the server, wherein the target interaction data is interaction data in the interaction data set;
[0009] If the upload result is an upload failure, the first upload number of the target interaction data is recorded;
[0010] If the multiple relationship between the first upload number and the failure probability factor is an integer multiple, uploading the next interaction data of the target interaction data in the current interaction data set to the server;
[0011] If the multiple relationship between the first upload number and the failure probability factor is a non-integer multiple, the interaction data of the next interaction data set is uploaded to the server, and the failure probability factor is a coefficient used to determine whether to replace the uploaded interaction data.
[0012] In a second aspect, some embodiments of the present application provide a data uploading method, which is applied to the display device described in the first aspect, wherein the display device includes a communication device and a controller, and the communication device is configured to establish a communication connection with a server; the method includes:
[0013] In response to an interaction instruction input by a user, acquiring interaction data, wherein the interaction data is data used to record the interaction action specified by the interaction instruction executed by the display device;
[0014] Classifying the interaction data to obtain at least one interaction data set having a category label, wherein the category label is used to characterize a data source of the interaction data, and the interaction data set includes interaction data having a data source that is the same as the category label;
[0015] Uploading target interaction data of the interaction data set to a server, and obtaining an upload result fed back by the server, wherein the target interaction data is interaction data in the interaction data set;
[0016] If the upload result is an upload failure, the first upload number of the target interaction data is recorded;
[0017] If the multiple relationship between the first upload number and the failure probability factor is an integer multiple, uploading the next interaction data of the target interaction data in the current interaction data set to the server;
[0018] If the multiple relationship between the first upload number and the failure probability factor is a non-integer multiple, the interaction data of the next interaction data set is uploaded to the server, and the failure probability factor is a coefficient used to determine whether to replace the uploaded interaction data.
[0019] It can be seen from the above technical solutions that the present application provides a display device and a data uploading method, wherein the method obtains interactive data by responding to interactive instructions input by a user; classifies the interactive data to obtain an interactive data set with a category label, wherein the category label is used to characterize the data source of the interactive data; uploads the target interactive data of the interactive data set to a server, and obtains the upload result fed back by the server. If the upload result is an upload failure, the first upload number of the target interactive data is recorded, and the interactive data determined according to the multiple relationship between the first upload number and the failure probability factor is uploaded to the server. When data upload fails, the present application skips the upload process of the current interactive data, and determines other interactive data to be uploaded by the multiple relationship between the first upload number and the failure probability factor, thereby avoiding data upload congestion and improving data upload efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] 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 developers in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0021] 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;
[0022] Figure 2 A schematic diagram of the hardware configuration of a display device provided in some embodiments of the present application;
[0023] Figure 3 A schematic diagram of software configuration of a display device provided in some embodiments of the present application;
[0024] Figure 4 A flowchart of a data uploading method executed by a display device provided in some embodiments of the present application;
[0025] Figure 5 A timing diagram of a data uploading method executed by a display device provided in some embodiments of the present application;
[0026] Figure 6 A flowchart of generating an interactive data set for a display device provided in some embodiments of the present application;
[0027] Figure 7 A flowchart of a display device updating a first upload number provided in some embodiments of the present application;
[0028] Figure 8 This is an upload flow chart when the first upload number and the failure probability factor are non-integer multiples in some embodiments of the present application;
[0029] Fig. 9 This is an upload flow chart when the first upload number and the failure probability factor are integer multiples in some embodiments of the present application;
[0030] Fig.10 This is a flowchart of first-bit data movement between the first queue and the second queue in some embodiments of the present application;
[0031] Fig.11 A flow chart of movement of interactive data 1B between the first queue and the second queue in some embodiments of the present application;
[0032] Fig.12 A flowchart of moving all remaining interaction data in the first queue to the second queue in some embodiments of the present application;
[0033] Fig.13 A flowchart of interactive data upload when the flag bit of the interactive data set is a null value in some embodiments of the present application;
[0034] Fig.14 This is a sorting diagram of a data set queue when the flag bit of an interactive data set is a null value in some embodiments of the present application;
[0035] Fig.15 This is a data upload flow chart when the interactive data set is one in some embodiments of the present application;
[0036] Fig.16 This is a data upload flow chart showing the first data successfully uploaded in some embodiments of the present application. DETAILED DESCRIPTION
[0037] 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.
[0038] 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.
[0039] 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.
[0040] 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.
[0041] 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.
[0042] 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.
[0043] 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.
[0044] 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.
[0045] 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 .
[0046] 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.
[0047] 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.
[0048] 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.
[0049] 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.
[0050] 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.
[0051] 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.
[0052] 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.
[0053] 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.
[0054] 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.
[0055] 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.
[0056] 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).
[0057] 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.
[0058] In some embodiments, the user input interface 280 may be used to receive instructions from a user.
[0059] 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.
[0060] 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.
[0061] The operating system can be divided into different modules or layers according to the functions implemented, such as Figure 3As shown, in some embodiments, the system is divided into four layers, from top to bottom, namely, the application layer (Applications) layer (referred to as "application layer"), the application framework layer (Application Framework) layer (referred to as "framework layer"), the system library layer and the kernel layer.
[0062] 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.
[0063] 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.
[0064] like Figure 3 As shown, in the embodiment of the present application, the application framework layer includes a view system, managers, content providers, etc., wherein the view system can design and implement the interface and interaction of the application, and the view system includes lists, grids, text boxes, buttons, etc. The manager includes at least one of the following modules: an activity manager for interacting with all activities running in the system; a location manager for providing system services or applications with access to system location services; a package manager for retrieving various information related to the application package currently installed on the device; a notification manager for controlling the display and clearing of notification messages; and a window manager for managing icons, windows, toolbars, wallpapers, and desktop widgets on the user interface.
[0065] In some embodiments, the activity manager is used to manage the life cycle of each application and the usual navigation back function, such as controlling the exit, opening, and back of the application. The window manager is used to manage all window programs, such as obtaining the display screen size, determining whether there is a status bar, locking the screen, capturing the screen, and controlling the display window changes, for example, reducing the display window, shaking the display, distorting the display, etc.
[0066] In some embodiments, the system runtime layer can provide support for the framework layer. When the framework layer is used, the operating system will run the instruction library contained in the system runtime layer, such as the C / C++ instruction library, to implement the functions to be implemented by the framework layer.
[0067] In some embodiments, the kernel layer is a functional layer between the hardware and software of the display device 200. The kernel layer can implement functions such as hardware abstraction, multitasking, and memory management. Figure 3 As shown, the kernel layer may be configured with hardware drivers, and the drivers included in the kernel layer may be at least one of the following drivers: 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, etc.
[0068] 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.
[0069] In some embodiments, the user may also interact with the display device 200 by inputting a control instruction. After receiving the control instruction, the display device 200 may respond to the control instruction and perform a corresponding interactive action. For example, in response to a power-on instruction input by the user, the power-on program of the display device 200 is started; for another example, in response to a control instruction for browsing a page input by the user, the display device 200 is controlled to display a specified web page.
[0070] In order to facilitate recording of the display device 200 performing interactive tasks, the display device 200 generates interactive data according to the interactive tasks while performing interactive actions. The interactive data may be log data, media data, etc. Taking log data as an example, the log data is used to indicate the display device 200 performing interactive tasks. For example, when the display device 200 responds to a power-on instruction and starts a power-on program, power-on log data may be generated so that the user can obtain the power-on status of the display device 200 according to the power-on log data. For another example, the display device 200 may respond to a media playback instruction input by the user and play the specified media data. While playing the media data, the display device 200 may generate media playback log data so that the user can view the playback status of the media according to various log data.
[0071] In some embodiments, in order to facilitate the acquisition of various interactive data of the display device 200, an SDK program package may be provided in each functional program of the display device 200. The SDK program package can obtain the corresponding interactive data when the display device 200 executes the corresponding functional program. The SDK program package can be provided in the back-end program of the functional program, for example, a Java program or a PHP program. The SDK program package can also be provided in the front-end program of the functional program, for example, a native app, a program page or a small program of the functional program, so as to collect different interactive data according to different programs.
[0072] Developers need to compile statistics on users' interactive behaviors based on the interactive data. Therefore, in some embodiments, the interactive data may include running data on functional programs, such as the number of times the functional program is started, the time when the functional program is started, the duration of a single run, and other data, so that developers can analyze users' interactive behaviors on functional programs based on the interactive data.
[0073] Since the display device 200 has multiple interactive functions, the interactive data may have multiple categories corresponding to different interactive functions. Taking log data as an example, for a video playback function, the interactive data may be video log data; for a game function, the interactive data may be game log data, etc.
[0074] In order to facilitate statistics of the interactive behavior of users using the display device, the display device 200 can upload the interactive data to the server. In the process of uploading the interactive data, it is necessary to upload in the order of the time when the interactive data is generated. For this purpose, the display device 200 can upload the interactive data to the server using a single thread, that is, upload one interactive data at a time, and start the upload process of the next interactive data after the current interactive data is uploaded. However, when the upload of the interactive data in the leading order fails, the thread upload will be blocked, affecting the upload progress of other interactive data in the trailing order, and reducing the transmission efficiency of the interactive data.
[0075] In order to solve the problem of reducing the transmission efficiency of interactive data due to data upload failure when uploading data in a single thread, some embodiments of the present application provide a display device 200, including a communication device 220 and a controller 250. Among them, the communication device 220 is configured to establish a communication connection with the server 400, so as to upload the interactive data to the server 400 according to the communication channel. The controller 250 is coupled to the communication device 220 to control the connection between the communication device 220 and the server 400. The controller is configured to perform a data uploading method.
[0076] Figure 4 A flowchart of a data uploading method provided in some embodiments of the present application. Figure 5 The timing diagram of a data uploading method provided in some embodiments of the present application. The display device 200 is as follows Figure 5 The timing relationship shown in the figure is used to execute the data upload method. Figure 4 and Figure 5 , the method comprises the following contents:
[0077] S100: Acquire interaction data in response to an interaction instruction input by a user.
[0078] The interaction data is data used to record the interaction actions specified by the interaction instruction executed by the display device 200. Corresponding to different functions, the interaction instruction may also include different types of control instructions. Correspondingly, the controller 250 may control the display device 200 to generate different interaction data after responding to different types of control instructions.
[0079] For example, the interaction instruction may be a voice interaction instruction, and the display device 200 may respond to the voice interaction instruction, perform a voice interaction operation, and obtain the voice interaction data generated by the display device 200 during the voice interaction process through the SDK program package set in the voice interaction program. For another example, the interaction instruction may also be a query interaction instruction, and the display device 200 may respond to the query interaction instruction, perform a query interaction operation, such as querying the corresponding results according to the keywords input by the user, and obtain the query interaction data generated by the display device 200 during the query interaction process through the SDK program package set in the query interaction program.
[0080] In some embodiments, the display device 200 can also execute multiple functional programs in the scenario of responding to an interactive instruction, such as a timed reminder function. The display device 200 can only set the interval of the timed reminder, that is, the timed reminder is executed once after the interval. In the process of the timed reminder, the display device 200 can generate interaction data according to each timed reminder, that is, the controller 250 can obtain multiple interaction data from the functional program in response to an interactive instruction.
[0081] The interaction data may include multiple data of the display device 200 executing the interaction instruction. For example, the interaction data may include interaction content data, time data of executing the interaction, number of times the interaction is executed, and the like.
[0082] S200: Classify the interaction data to obtain at least one interaction data set with a category label.
[0083] After acquiring the interaction data, the interaction data of different categories are mixed together, which will affect the efficiency of user behavior analysis of different functional programs. Therefore, after acquiring the interaction data generated by various functional programs, the controller 250 can perform classification on the interaction data.
[0084] Before classifying the interaction data, a category label may be obtained, and the category label is used to characterize the data source of the interaction data, so as to classify the interaction data according to each data source. The data source may be a functional program, and the interaction data is classified according to the functional program. For example. The display device 200 includes a first functional program and a second functional program. At this time, all interaction data are derived from the first functional program or the second functional program. Therefore, the controller 250 may generate a first category label according to the first functional program, and generate a second category label according to the second functional program, so as to classify the interaction data according to the first category label and the second category label.
[0085] During the classification process, the controller 250 may traverse the data sources of the interaction data, and generate an interaction data set with the category label from the interaction data whose data sources are the same as the category label. Figure 6 As shown, among the interaction data A, interaction data B, interaction data C and interaction data D, interaction data A and interaction data B are both generated by the first functional program, that is, the data source of interaction data A and the data source of interaction data B are the same as the first category label, therefore, an interaction data set with the first category label can be generated according to interaction data A and interaction data B. Interaction data C and interaction data D are both generated by the second functional program, that is, the data source of interaction data C and the data source of interaction data D are the same as the second category label, therefore, an interaction data set with the second category label can be generated according to interaction data C and interaction data D.
[0086] It should be noted that the embodiment of the present application only uses two categories to exemplify the classification of interaction data. In the actual interaction data classification process, only one type of interaction data may be included, for example, the data sources of the interaction data all come from the same functional program. Alternatively, more than two types of interaction data may be included. When there are more than two types of data categories of the interaction data, please refer to the classification process in the above embodiment, and this application will not elaborate on it.
[0087] Since the upload process of the interaction data is a single-thread upload, in order to upload the interaction data in order, before generating the interaction data set, it is necessary to sort the interaction data of each category, so that the interaction data can be uploaded in a single thread according to the sorting result. The controller 250 can obtain the interaction data after the sorting is performed, and sort the sorted interaction data according to the first sorting rule to obtain the interaction data set.
[0088] The first sorting rule can be a reverse order rule according to the generation time of the interaction data, that is, sorting according to the generation time of the interaction data, sorting the interaction data with a relatively early generation time in front, and sorting the interaction data with a relatively late generation time in the back. For example, one of the interaction data sets includes interaction data A, interaction data B and interaction data C, wherein interaction data A is generated at 10:00:05, interaction data B is generated at 15:00:00, and interaction data C is generated at 12:10:00. According to the order of generation time, they are interaction data A-interaction data C-interaction data B, that is, the sorting result of the classified interaction data according to the first sorting rule is interaction data A-interaction data C-interaction data B. It should be understood that in the process of sorting, the first sorting rule can also be other sorting rules, for example, sorting according to the amount of interaction data, sorting according to the name of interaction data, etc. Different first sorting rules can refer to the sorting process of the above embodiment, and this application will not repeat them one by one.
[0089] S300: Upload target interaction data of the interaction data set to a server, and obtain an upload result fed back by the server.
[0090] After obtaining the interaction data set, any interaction data in the interaction data set may be selected as target interaction data. The controller 250 may use the target interaction data as the starting interaction data for data upload and upload the interaction data in the interaction data set according to the first sorting rule.
[0091] The controller 250 can upload the target interaction data to the server 400 through the communication channel established between the communication device 220 and the server 400. When receiving the target interaction data, the server 400 can run a data receiving program to verify and receive the target interaction data through the data receiving program. In the process of receiving the target interaction data, the server 400 can generate a receiving progress of receiving the target interaction data, and send the receiving progress to the display device 200, so that the user can view the upload status of the target interaction data through the receiving progress.
[0092] The server 400 can feed back the upload result to the display device 200 according to the upload progress of the first data. When the upload progress of the target interactive data is 100%, it means that the server 400 has successfully received the target interactive data, and the server 400 can generate an upload result of successful upload. When the upload progress of the target interactive data does not change, the server 400 can start the timing program, and when the timing result is greater than or equal to the failure determination threshold, the server 400 can generate an upload result of failed upload to prompt the display device 200 that the upload of the target interactive data has failed.
[0093] S400: If the upload result is upload failure, record the first upload number of the target interaction data.
[0094] Before uploading the target interaction data to the server 400, the number of uploads of the target interaction data is 0. Figure 7 As shown, if the upload result of the target interaction data is upload failure, the controller 250 can record the first upload number of the target interaction data. At this time, the first upload number is updated from 0 to 1.
[0095] After recording the first upload times, the controller 250 uploads the interaction data determined according to the multiple relationship between the first upload times and the failure probability factor to the server 400, that is, when the upload of the target interaction data fails, the upload process of the target interaction data is suspended, and other interaction data is uploaded to the server 400 instead. The failure probability factor is a coefficient used to determine whether to replace the uploaded interaction data, and the failure probability factor can be a coefficient preset by the user. The controller 250 can upload different interaction data to the server 400 according to the multiple relationship between the upload times and the failure probability factor.
[0096] Due to the different number of interaction data sets, the interaction data determined according to the multiple relationship between the first upload number and the failure probability factor is also different. The present embodiment is described below based on two scenarios of the number of interaction data sets. When the number of interaction data sets is multiple, the controller 250 is configured to perform the following steps:
[0097] S500: If the multiple relationship between the first upload number and the failure probability factor is a non-integer multiple, uploading the interaction data of the next interaction data set to the server.
[0098] When there are multiple interaction data sets, it means that the display device 200 generates multiple types of interaction data. When the target interaction data fails to be uploaded, since the other interaction data in the current interaction data set are of the same category as the target interaction data, the other interaction data in the current interaction data set also have the same upload risk. To this end, the controller 250 can start uploading the interaction data in other interaction data sets to avoid uploading the same type of interaction data as the target interaction data, thereby reducing the risk of data upload congestion.
[0099] In some embodiments, in order to improve the orderliness of switching between interactive data sets, the controller 250 may further sort the interactive data sets according to a second sorting rule to generate a data set queue. The second sorting rule may be sorting according to the name of the interactive data set, sorting according to the total amount of data in the set, or other sorting methods. If the first upload number and the failure probability factor are non-integer multiples, the controller 250 may move the interactive data set to the last position of the data set queue, and, according to the second sorting rule, upload the interactive data of the interactive data set currently at the first position of the data set queue to the server 400.
[0100] For example, the data set queue sorted according to the second sorting rule includes interaction data set 1, interaction data set 2, and interaction data set 3, wherein interaction data set 1 is located at the first position of the data set queue; interaction data set 2 is located at the second position of interaction data set 1; interaction data set 3 is located at the last position of the data set queue. After the target interaction data 1A of interaction data set 1 fails to be uploaded, the controller 250 records the first upload number of the target interaction data 1A.
[0101] like Figure 8 As shown, taking the failure probability factor as 3 as an example, if the first upload number of the target interaction data 1A is 2, at this time, the first upload number and the failure probability factor are non-integer multiples, therefore, the controller 250 moves the interaction data set 1 to the last position of the data set queue, and the order of the data set queue is interaction data set 2, interaction data set 3 and interaction data set 1, and interaction data set 2 is in the first position. The controller 250 can upload the target interaction data 2A of the interaction data set 2 to the server 400. If the target interaction data 2A is successfully uploaded to the server 400, the controller 250 uploads the next interaction data 2B of the target interaction data 2A to the server 400 according to the first sorting rule. When the interaction data set 2 has interaction data that fails to be uploaded in the subsequent uploading process, the next interaction data to be uploaded is determined according to the multiple relationship between the upload number of the interaction data and the failure probability factor.
[0102] S600: If the multiple relationship between the first upload number and the failure probability factor is an integer multiple, uploading the next interaction data of the target interaction data in the current interaction data set to the server.
[0103] When the controller 250 uploads the target interactive data 1A of the interactive data set 1 again, if the upload fails again, the first upload count of the first data 1A is updated to 3 times. Fig. 9 As shown, the first upload number and the failure probability factor are integer multiples. The controller 250 can skip the upload process of the target interaction data 1A according to the first sorting rule, upload the next interaction data 1B of the target interaction data 1A to the server 400, and record the second upload number of the interaction data 1B.
[0104] If the first upload times of the target interactive data and the failure probability factor are integer multiples, the controller 250 needs to upload the next interactive data located in the target interactive data to the server 400. To this end, the controller 250 can move the target interactive data to the last position of the interactive data set. However, when the target interactive data is located at the last position, if the display device 200 generates new interactive data of the same category as the interactive data set, the positional relationship between the new interactive data and the target interactive data will affect the orderliness of data uploading.
[0105] Based on the above scenario, in order to ensure the orderliness of data transmission, in some embodiments, the interaction data set may further include a first queue and a second queue, wherein the first queue is configured to store the interaction data to be uploaded, and the interaction data is arranged in the first queue according to a first sorting rule. The second queue is an empty queue, which is used to temporarily store the target interaction data that failed to be uploaded when the first upload number of the target interaction data and the failure probability factor are integer multiples. For example, Fig.10 As shown, when the first upload number of target interaction data 1A is 3 times, the target interaction data 1A is moved from the first queue to the second queue. After moving the target interaction data 1A, since the queue position of the target interaction data 1A is vacant, the controller 250 can move the next interaction data 1B located at the target interaction data 1A to the vacant position of the target interaction data 1A according to the first sorting rule to update the first queue. At this time, the interaction data 1B of the interaction data set is updated to the target interaction data. The controller 250 uploads the updated target interaction data 1B to the server. In this embodiment, the second queue is used to temporarily store the target interaction data that failed to be uploaded. When new interaction data is added, the new interaction data is located at the last position of the first queue, and the orderliness of data upload is still guaranteed.
[0106] In some embodiments, the target interactive data may be the first data, which is the interactive data at the first position of the interactive data set, that is, the controller 250 uploads all interactive data in the interactive data set according to the first sorting rule. When the first data is successfully uploaded, the controller 250 moves the next interactive data of the first data to the first position of the interactive data set, updates the next interactive data to the first data, and uploads it to the server to achieve orderly upload of interactive data.
[0107] For example, see again Fig.10 , Fig.10 In the example, the target interaction data 1A is located at the first position of the interaction data set 1. Therefore, after the controller 250 moves the target interaction data 1A from the first queue to the second queue, the first position of the first queue is vacant. At this time, the controller 250 can move the next interaction data 1B of the target interaction data 1A to the first position of the first queue to update the interaction data 1B to the first data, and upload the updated first data 1B to the server.
[0108] In some embodiments, when the next interaction data of the target interaction data, that is, the updated target interaction data, also fails to be uploaded, the controller 250 can record the second upload number of the updated target interaction data. If the second upload number and the failure probability factor are integer multiples, the updated target interaction data in the first queue are moved to the second queue according to the first sorting rule. During the movement process, the controller 250 also needs to move the data according to the first sorting rule. For example, taking the target interaction data as the first data as an example, when uploading the interaction data that is second to the first data, the first data is already in the first position of the second queue. Therefore, after moving to the second queue, the interaction data is still in the second position of the first data, and the remaining interaction data is moved in sequence according to the first sorting rule to ensure the orderliness of the interaction data.
[0109] When uploading the next interaction data of the target interaction data, the controller 250 needs to start uploading from the target interaction data again when uploading the interaction data of the interaction data set again.
[0110] For example, when the first upload number of interaction data 1A in interaction data set 1 is 3 times, the first upload number and the failure probability factor are integer multiples. At this time, the controller 250 moves the interaction data 1A to the second queue and starts uploading the interaction data 1B according to the first sorting rule. When the upload of interaction data 1B fails, the second upload number is updated from 0 to 1, and the interaction data 1A is moved from the second queue back to the first position of the first queue. At this time, the controller 250 uploads the interaction data in other interaction data sets according to the second sorting rule. When uploading interaction data set 1 again, the controller 250 continues to upload interaction data 1A and updates the first upload number when the upload fails.
[0111] When the first upload number is 9, the second upload number is 3. That is, when the first upload number is the square of the failure probability factor, the second upload number is the same as the failure probability factor. Fig.11 As shown, the second upload times of the interactive data 1B and the failure probability factor are integer multiples. The controller 250 can move the interactive data 1B from the first queue to the second queue, and start uploading the interactive data 1C located next to the interactive data 1B.
[0112] If the upload of interactive data 1C fails, the controller 250 may record the third upload number of interactive data 1C. However, when the interactive data in interactive data set 1 is uploaded next time, it is necessary to continue uploading from interactive data 1A. Fig.12 As shown, the controller 250 can move the remaining interactive data in the first queue to the second queue according to the first sorting rule to achieve the exchange of the first queue and the second queue. At this time, the first queue is an empty queue, which is used to store interactive data whose upload times and failure probability factors are integer multiples; the second queue is configured to store interactive data to be uploaded. By alternating the storage of the first queue and the second queue, the transmission data efficiency of the queue can be improved while ensuring the orderliness of the interactive data upload.
[0113] In some embodiments, after generating the interaction data set, the controller 250 can store the interaction data in the first queue. When the display device 200 generates new interaction data, the controller 250 can detect the new interaction data according to the category label of the interaction data set. After detecting the new interaction data, the controller 250 can store the new interaction data in the last position of the first queue according to the first sorting rule to ensure the orderliness of the interaction data in the first queue.
[0114] As the upload progress of the interaction data in each interaction data set increases, the interaction data in the interaction data set should become less and less until all the interaction data in the interaction data set has been uploaded. At this time, in order to improve the upload efficiency of the interaction data in other interaction data sets, the interaction data set that has completed the upload of all interaction data can be skipped. For example, in interaction data set 1, interaction data set 2 and interaction data set 3, when all the interaction data in interaction data set 2 are uploaded successfully, if the first upload number and the failure probability factor of interaction data set 1 are non-integer multiples, since there is no interaction data in interaction data set 2 for uploading to server 400, the controller 250 can directly start uploading the interaction data in interaction data set 3.
[0115] Based on the above scenario, after the interactive data set is moved to the last position of the data set queue, the controller 250 moves another interactive data set in the data set queue, which is located at the second position of the interactive data set, to the first position of the data set queue to update the data set queue. After the update is completed, before the interactive data of the interactive data set currently located at the first position of the data set queue is uploaded to the server 400, the controller 250 can detect the flag of the interactive data set currently located at the first position of the data set queue, and the flag is used to indicate that the interactive data set stores interactive data. If the flag is a non-null value, it means that there are remaining interactive data to be uploaded in the current interactive data set, and the controller 250 can upload the interactive data to the server 400 according to the first sorting rule. If the flag is a null value, it means that all the interactive data in the current interactive data set have been uploaded, and the controller 250 can move the current interactive data set to the last position of the data set queue, and update the data set queue until all the interactive data in the data set queue are uploaded.
[0116] For example, Fig.13 As shown, before the controller 250 switches from uploading the interactive data set 1 to uploading the interactive data set 2, the flag bit of the interactive data set 2 is obtained. If the flag bit is a null value, the interactive data set 2 is moved to the next position of the interactive data set 1. At this time, the arrangement result of the interactive data sets in the data set queue is as follows: Fig.14 As shown, the interaction data set 3 is located at the first position of the data set queue, and the controller 250 can continue to detect the flag bit of the interaction data set 3.
[0117] When the number of interaction data sets is one, it means that the display device 200 generates one type of interaction data. At this time, even if the first upload number and the failure probability factor are non-integer multiples, since there is no interaction data of other types, only interaction data can be selected from the interaction data set. Fig.15 As shown, if the first upload number and the failure probability factor are non-integer multiples, the controller 250 can continue to upload the target interaction data of the interaction data set to the server 400, and update the first upload number according to the upload result fed back by the server 400. If the first upload number and the failure probability factor are integer multiples, the target interaction data is moved from the first queue to the second queue, and the next interaction data of the target interaction data is uploaded to the server 400.
[0118] When the upload result of the target interactive data is successful, such as Fig.16As shown, the controller 250 may delete the target interaction data in the first queue, update the next interaction data of the target interaction data to the target interaction data, and upload the updated target interaction data to the server 400. For example, when the target interaction data 1A of the interaction data set 1 is uploaded successfully, the controller 250 may delete the target interaction data 1A in the first queue, and at this time, the next interaction data 1B of the target interaction data 1A is updated to the target interaction data 1B.
[0119] In some embodiments, in order to avoid repeated upload failures of the same interactive data, the controller 250 can also set an upload count threshold. When the first upload count is greater than or equal to the upload count threshold, the first data in the interactive data set is deleted. It should be understood that the upload count threshold in this embodiment can also be applied to other interactive data. For example, after the first data 1A is deleted, the interactive data 1B is located at the first position of the interactive data set. The controller 250 continues to determine whether the interactive data 1B fails to upload based on the second upload count of the interactive data 1B and the upload count threshold. If the interactive data 1B fails to upload, the controller 250 deletes the interactive data 1B in the interactive data set. At this time, the interactive data 1C is located at the first position of the interactive data set. By setting the upload count threshold, the interactive data that has failed to be uploaded multiple times in the interactive data set can be deleted in time, thereby reducing the time consumed for repeated uploading of these interactive data.
[0120] In some embodiments, when there are multiple interaction data sets, but only one interaction data set has a non-null flag, it means that only one type of interaction data has not been completely uploaded by the display device 200. At this time, the interaction data upload method when the number of interaction data sets is one can also be used to perform interaction data upload.
[0121] Some embodiments of the present application also provide a data uploading method, which is applied to the display device 200 described in the above embodiment, and the display device 200 should at least include a communication device 200 and a controller 250, and the communication device 200 is configured to establish a communication connection with a server 400. The method includes:
[0122] S100: Acquire interaction data in response to an interaction instruction input by a user.
[0123] The interaction data is data used to record the interaction action specified by the interaction instruction executed by the display device.
[0124] S200: Classify the interaction data to obtain at least one interaction data set with a category label.
[0125] The category label is used to characterize the data source of the interaction data, and the interaction data set includes interaction data whose data source is the same as the category label.
[0126] S300: Upload the first data of the interactive data set to a server, and obtain an upload result fed back by the server.
[0127] S400: If the upload result is an upload failure, record the first upload times of the first data, and upload the interactive data determined according to the multiple relationship between the first upload times and the failure probability factor to the server.
[0128] The failure probability factor is a coefficient used to determine whether to replace the uploaded interaction data.
[0129] It can be seen from the above technical solutions that the present application provides a display device and a data uploading method, wherein the method obtains interactive data by responding to interactive instructions input by a user; classifies the interactive data to obtain an interactive data set with a category label, wherein the category label is used to characterize the data source of the interactive data; uploads the target interactive data of the interactive data set to a server, and obtains the upload result fed back by the server. If the upload result is an upload failure, the first upload number of the target interactive data is recorded, and the interactive data determined according to the multiple relationship between the first upload number and the failure probability factor is uploaded to the server. When data upload fails, the present application skips the upload process of the current interactive data, and determines other interactive data to be uploaded by the multiple relationship between the first upload number and the failure probability factor, thereby avoiding data upload congestion and improving data upload efficiency.
[0130] 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.
[0131] 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, ordinary developers in the art should understand that they can still modify the technical solutions recorded 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.
[0132] For ease of explanation, the above description has been made in conjunction with specific implementations. However, the above exemplary discussion is not intended to be exhaustive or limit the implementation to the specific forms disclosed above. Based on the above teachings, a variety of modifications and variations can be obtained. The selection and description of the above implementations are intended to better explain the principles and practical applications, so that developers in the field can better use the implementations and various different variations of implementations suitable for specific use considerations.
Claims
1. A display device, characterized in that: include: A communication device configured to establish a communication connection with a server; The controller is configured as: In response to an interaction instruction input by a user, acquiring interaction data, wherein the interaction data is data used to record the interaction action specified by the interaction instruction executed by the display device; Classifying the interaction data to obtain at least one interaction data set having a category label, wherein the category label is used to characterize a data source of the interaction data, and the interaction data set includes interaction data having a data source that is the same as the category label; Uploading target interaction data of the interaction data set to a server, and obtaining an upload result fed back by the server, wherein the target interaction data is interaction data in the interaction data set; If the upload result is an upload failure, the first upload number of the target interaction data is recorded; If the multiple relationship between the first upload number and the failure probability factor is a non-integer multiple, uploading the interaction data of the next interaction data set to the server; If the multiple relationship between the first upload number and the failure probability factor is an integer multiple, the next interaction data of the target interaction data in the current interaction data set is uploaded to the server; the failure probability factor is a coefficient used to determine the replacement of the uploaded interaction data.
2. The display device according to claim 1, characterized in that The controller performs the step of classifying the interaction data to obtain at least one interaction data set with a category label, which is specifically configured as follows: Obtain interaction data after classification is performed; The classified interaction data is sorted according to a first sorting rule to obtain the interaction data set.
3. The display device according to claim 2, characterized in that The controller executes the step of uploading the interaction data of the next interaction data set to the server, and is specifically configured as follows: sorting the interaction data set according to the second sorting rule to generate a data set queue; moving the interactive data set to the last position of the data set queue, and uploading the interactive data of the interactive data set currently at the first position of the data set queue to the server according to the second sorting rule; The controller executes the step of uploading the next interaction data of the target interaction data in the current interaction data set to the server, which is specifically configured as follows: According to the first sorting rule, the next interaction data located at the target interaction data is uploaded to the server.
4. The display device according to claim 3, characterized in that The interaction data set includes a first queue and a second queue, the first queue is configured to store interaction data to be uploaded, and the second queue is an empty queue, and the step of uploading the next interaction data located at the target interaction data to the server according to the first sorting rule is specifically configured as follows: moving the target interaction data from the first queue to the second queue; After the target interaction data is moved, the next interaction data of the target interaction data is moved according to the first sorting rule to update the target interaction data; Upload the updated target interaction data to the server.
5. The display device according to claim 4, characterized in that The target interaction data is the first data of the interaction data set, and the first data is the interaction data located at the first position of the interaction data set; the controller executes the step of moving the next interaction data of the target interaction data, and is further configured to: After the target interaction data is moved to the second queue, the next interaction data of the target interaction data is moved to the first position of the first queue to update the first position data according to the next interaction data; Upload the updated first position data to the server.
6. The display device according to claim 4, characterized in that After the controller executes the step of uploading the updated target interaction data to the server, the controller is further configured to: If the updated target interaction data fails to be uploaded, recording the second upload times of the updated target interaction data; If the second upload number and the failure probability factor are integer multiples, the interactive data in the first queue is moved to the second queue according to the first sorting rule.
7. The display device according to claim 4, characterized in that After executing the step of sorting the classified interaction data according to the first sorting rule, the controller is further configured to: Detecting new interaction data according to the category label; According to the first sorting rule, the newly added interaction data is stored in the last position of the first queue.
8. The display device according to claim 3, characterized in that The controller executes the step of uploading the interaction data of the interaction data set currently located at the first position of the data set queue to the server, and is specifically configured as follows: Detecting a flag bit of the interaction data set, where the flag bit is used to indicate that the interaction data set stores interaction data; If the flag bit is a null value, the interactive data set is moved to the last position of the data set queue.
9. The display device according to claim 1, characterized in that: If the upload result is successful, the controller is further configured to: Deleting target interaction data in the interaction data set, and updating next interaction data to the target interaction data; Upload the updated target interaction data to the server.
10. A data uploading method, characterized in that: Applied to a display device, the display device includes a communication device and a controller, the communication device is configured to establish a communication connection with a server; the method includes: In response to an interaction instruction input by a user, acquiring interaction data, wherein the interaction data is data used to record the interaction action specified by the interaction instruction executed by the display device; Classifying the interaction data to obtain at least one interaction data set having a category label, wherein the category label is used to characterize a data source of the interaction data, and the interaction data set includes interaction data having a data source that is the same as the category label; Uploading target interaction data of the interaction data set to a server, and obtaining an upload result fed back by the server, wherein the target interaction data is interaction data in the interaction data set; If the upload result is an upload failure, the first upload number of the target interaction data is recorded; If the multiple relationship between the first upload number and the failure probability factor is an integer multiple, uploading the next interaction data of the target interaction data in the current interaction data set to the server; If the multiple relationship between the first upload number and the failure probability factor is a non-integer multiple, the interaction data of the next interaction data set is uploaded to the server, and the failure probability factor is a coefficient used to determine whether to replace the uploaded interaction data.