Data reporting method and device

By polling the reported data in the application according to the polling cycle of each type of data to be reported in the application, and deleting the data after successful reporting, the problem of data loss in the conventional data reporting method is solved, and the reporting rate is improved.

CN115484181BActive Publication Date: 2025-04-08TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110665893.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-06-16
Publication Date
2025-04-08
Estimated Expiration
2041-06-16

AI Technical Summary

Technical Problem

Conventional data reporting methods are difficult to ensure a high reporting rate, especially when network interruptions or applications are shut down, resulting in data loss.

Method used

During the operation of the application, the data to be reported are polled and reported according to the corresponding polling cycles of each type of data to be reported, and the data is deleted from the data set after the data to be reported successfully to ensure that the data is not lost.

Benefits of technology

By polling and reporting data to be reported until it is successfully reported, data loss caused by network status and application process interruption is avoided, thereby improving the reporting rate.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115484181B_ABST
    Figure CN115484181B_ABST
Patent Text Reader

Abstract

The embodiment of the present application discloses a data reporting method, which relates to the field of Internet technology. The data reporting method includes: during the operation of the application, according to the polling period corresponding to each type of data to be reported, the corresponding type of data to be reported in the data set to be reported is polled and reported respectively until a predetermined condition is met. Among them, the data set to be reported is used to store the data to be reported generated during each operation of the application. In the process of polling and reporting the data to be reported, in response to the indication information that the data to be reported is successfully reported, the data to be reported is deleted from the data set to be reported. The use of this technical solution can ensure that the data to be reported is not lost, thereby improving the reporting rate. In addition, the aforementioned data to be reported also includes a sequence identifier, so that the server can calculate the reporting rate independently of the total number of data to be reported reported by the terminal device, and can calculate the reporting rate of any time period.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of Internet technology, and in particular, to a data reporting method and device. Background Art

[0002] User operation data analysis plays a vital role in obtaining user needs and optimizing applications. The reporting rate of data reported by the application to the server directly affects the accuracy of user operation data analysis. The "reporting rate" refers to the amount of data successfully received by the server as a percentage of the total amount of data generated by the application.

[0003] Some conventional operations, such as the commonly used data reporting method, are that the application reports each piece of data to the server. However, if at least one of the network conditions between the application and the server and the user operation conditions changes, such as network interruption or application shutdown, the application data will be lost, making it difficult to ensure a high reporting rate. Summary of the invention

[0004] The embodiments of the present application provide a data reporting method and device to solve the problem that conventional operations are difficult to ensure a high reporting rate.

[0005] In a first aspect, an embodiment of the present application provides a data reporting method, the method comprising:

[0006] During the running of the application, the corresponding types of data to be reported in the data sets to be reported are polled and reported according to the polling cycles corresponding to the types of data to be reported, and the following processing is performed on the data sets to be reported until the predetermined conditions are met:

[0007] In response to the indication information that the data to be reported is successfully reported, deleting the data to be reported from the data set to be reported;

[0008] The data set to be reported is used to store the data to be reported generated during each operation of the application.

[0009] In a second aspect, an embodiment of the present application provides a data reporting method, the method comprising:

[0010] Receive various types of reported data; each type of reported data is polled and reported from the to-be-reported data set according to the polling cycle corresponding to each type of to-be-reported data during the running of the application program, and the to-be-reported data set is used to store the to-be-reported data generated during each running of the application program; each reported data includes a sequence identifier;

[0011] Corresponding to each type, according to the preset first statistical period, the reporting rate corresponding to the reported data of the corresponding type in the corresponding first statistical period is periodically determined based on the corresponding maximum sequence identifier and minimum sequence identifier of the reported data received in the corresponding first statistical period.

[0012] In a third aspect, an embodiment of the present application provides a data reporting device, the device comprising:

[0013] The reporting module is used to poll and report the corresponding types of data to be reported in the data sets to be reported according to the polling cycles corresponding to the types of data to be reported during the running of the application program, and perform the following processing on the data sets to be reported until the predetermined conditions are met:

[0014] A deleting module, configured to delete the data to be reported from the data set to be reported in response to the indication information that the data to be reported is successfully reported;

[0015] The data set to be reported is used to store the data to be reported generated during each operation of the application.

[0016] In a fourth aspect, an embodiment of the present application provides a data reporting device, the device comprising:

[0017] The receiving module is used to receive various types of reported data; each type of reported data is polled and reported from the to-be-reported data set according to the polling cycle corresponding to each type of to-be-reported data during the running of the application program, and the to-be-reported data set is used to store the to-be-reported data generated during each running of the application program; each reported data includes a sequence identifier;

[0018] The reporting rate statistics module is used to determine the reporting rate corresponding to the corresponding type of reported data in the corresponding first statistical period according to the corresponding maximum sequence identifier and minimum sequence identifier of the reported data received in the corresponding first statistical period, corresponding to each type, according to the preset first statistical period.

[0019] In a fifth aspect, an embodiment of the present application provides a terminal device, which includes a processor and a memory: the memory is used to store program code; the processor is used to execute the data reporting method involved in the first aspect according to instructions in the program code.

[0020] In a sixth aspect, an embodiment of the present application provides a server, which includes a processor and a memory: the memory is used to store program code; the processor is used to execute the data reporting method involved in the second aspect according to instructions in the program code.

[0021] In the seventh aspect, an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores at least one instruction, at least one program, a code set, or an instruction set, and the at least one instruction, the at least one program, the code set, or the instruction set is loaded and executed by a processor to implement the data reporting method as described in the first aspect or the second aspect.

[0022] In an eighth aspect, an embodiment of the present application provides a computer program product, which includes a computer program code. When the computer program code runs on a computer, the computer implements the data reporting method described in the first aspect or the second aspect.

[0023] It can be seen from the above description that the embodiments of the present application have the following advantages:

[0024] During the operation of the application, the corresponding types of data to be reported in the data set to be reported are polled and reported respectively according to the polling cycles corresponding to each type of data to be reported, until the predetermined conditions are met. Among them, the data set to be reported is used to store the data to be reported generated during each operation of the application. And in the process of polling and reporting the data to be reported, in response to the indication information that the data to be reported is successfully reported, the data to be reported is deleted from the data set to be reported. It is explained that the data set to be reported includes the data to be reported that is generated during each operation of the application and is not successfully reported. It can be seen that in the technical solution of the embodiment of the present application, if the data to be reported is not successfully reported, then the data to be reported is stored in the data set to be reported, and is continuously polled and reported until it is successfully reported, and will not be lost due to the interruption of the network status and the application process, thereby being able to improve the reporting rate of the data to be reported. BRIEF DESCRIPTION OF THE DRAWINGS

[0025] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for use in the embodiments of the present application. It should be understood that for ordinary technicians in this field, other drawings can be obtained based on these drawings without creative labor.

[0026] Figure 1 An exemplary architecture diagram of a network architecture 10 provided in an embodiment of the present application;

[0027] Figure 2A An exemplary method flow chart of a data reporting method 100 provided in an embodiment of the present application;

[0028] Figure 2B An exemplary method flow chart of a data reporting method 200 provided in an embodiment of the present application;

[0029] Figure 3AA schematic diagram of an exemplary scenario for reporting rate statistics provided in an embodiment of the present application;

[0030] Figure 3B A schematic diagram of another exemplary scenario for reporting rate statistics provided in an embodiment of the present application;

[0031] Figure 4 An exemplary architecture diagram of a network architecture 20 provided in an embodiment of the present application;

[0032] Figure 5A An exemplary signaling interaction diagram of a data reporting method 300 provided in an embodiment of the present application;

[0033] Figure 5B Provided for the embodiments of this application Figure 5A Schematic diagram of exemplary signaling interaction of data reporting method 301;

[0034] Figure 5C Provided for the embodiments of this application Figure 5A Schematic diagram of exemplary signaling interaction of data reporting method 302;

[0035] Fig. 6A A schematic diagram of an exemplary composition of a data reporting device 60 provided in an embodiment of the present application;

[0036] Figure 6B An exemplary structural diagram of a terminal device 61 provided in an embodiment of the present application;

[0037] Fig. 7A A schematic diagram of an exemplary composition of a data reporting device 70 provided in an embodiment of the present application;

[0038] Figure 7B A schematic diagram of an exemplary structure of the server 71 provided in an embodiment of the present application. DETAILED DESCRIPTION

[0039] The technical solution of the embodiment of the present application is described below in conjunction with the drawings in the embodiment of the present application.

[0040] The terms used in the following embodiments of the present application are for the purpose of describing specific embodiments, and are not intended to be used as limitations on the technical solutions of the present application. As used in the specification and the appended claims of the present application, the singular expressions "one", "a kind of", "said", "above", "the" and "this" are intended to also include plural expressions, unless there is a clear contrary indication in the context. It should also be understood that although the terms first, second, etc. may be used to describe a certain class of objects in the following embodiments, the objects should not be limited to these terms. These terms are used to distinguish the specific implementation objects of this class of objects. For example, the terms first, second, etc. are used in the following embodiments to describe communication links, but communication links are not limited to these terms. These terms are only used to distinguish different communication links. The same is true for other classes of objects that may be described by the terms first, second, etc. in the following embodiments, which will not be repeated here.

[0041] The following introduces the implementation scenarios involved in the embodiments of the present application, the relevant devices used in such implementation scenarios, and embodiments for such devices.

[0042] Please refer to Figure 1 , Figure 1 An exemplary network architecture 10 is illustrated. The network architecture 10 includes: a terminal device 11 and a server 12, and the terminal device 11 and the server 12 exchange data through a network 13. Exemplarily, the terminal device 11 reports data to the server 12 through the network 13. The network 13 can be a wired network or a wireless network, which is not limited in the embodiments of the present application.

[0043] The terminal device 11 can be implemented as an electronic device such as a mobile phone, a tablet computer, a game console, a wearable device, and a PC (Personal Computer). Optionally, the terminal device 11 supports the running of applications. Optionally, the application can rely on the operating system of the terminal device 11 to achieve a specific application purpose by running a series of pre-configured computer data and instructions. Applications are, for example, mobile phone APPs (Applications), and mobile phone APPs include instant messaging APPs, browser APPs, and multimedia player APPs. Optionally, when the application is running in the terminal device 11, the terminal device 11 can report the data generated during the running of the application to the server 12 via the network 13.

[0044] Optionally, the data generated during the operation of the application can also be called a log or event. These data may include the operation data of the application (for example, the data of the application calling a certain function, the data of the application loading the user game scene, etc.), and the user's operation data (for example, the operation data of the user clicking to play a certain video, the data of the application function interface displayed in response to the user's operation, etc.). Optionally, each data may include an application identifier (App key) for identifying the business identity, and a device identifier (device ID) for identifying the terminal device identity. Obviously, the data generated during the operation of the application can reflect the user's behavior and can be considered as user operation data. Based on this, the terminal device 11 reports these data to the server 12, so as to optimize the application to meet more user needs by analyzing these data. The higher the reporting rate of these data, the closer the user operation obtained by analyzing the reported data is to the user's real behavior.

[0045] The server 12 may be a service device or a cloud platform that provides computing resources for the application. The server 12 may be used to receive and maintain the running data of the application, and process the logic related to the configuration and parameters of the application, such as providing the application with parameters for calculating the reported data, storing the data reported by the application, network services, security services, and services such as big data and artificial intelligence platforms. For example, the server 12 may maintain the execution logic of the reported data, maintain the statistical reporting rate, obtain the reporting rate, etc. The server 12 may also feedback the data reporting results to the terminal device through the network 13. The server 12 may be an independent physical server, or a server cluster or distributed system composed of multiple physical servers.

[0046] It can be understood that the terminal device 11, server 12 and network 13 in the network architecture 10 are all schematic diagrams at the logical functional level. In actual implementation, the terminal device 11 may include at least one terminal device entity, the server 12 may include at least one server device entity, and the network 13 may include at least one communication link. Optionally, if the server 12 includes multiple server device entities, different server device entities may perform different computing tasks. For example, some of the server device entities perform reporting rate statistics tasks, and other server device entities perform reporting rate acquisition tasks. Optionally, if the network 13 includes two communication links, the terminal device 11 may report the data to be reported to the server 12 through one of the communication links, and report other information of the data to be reported to the server 12 through the other communication link. There is no limitation here.

[0047] In some commonly used data reporting methods, each time an application generates a piece of data, the terminal device reports the data to the server; or the terminal device caches the data generated by the application, and when certain conditions are met, the terminal device reports the cached data. However, the reliability of the data reported by the terminal device depends on the network environment between the terminal device and the server and the user's operation. Once the communication link for reporting data is abnormal, or the user closes the application process, the data generated by the application but not successfully reported will be lost, making it difficult to guarantee the data reporting rate.

[0048] In view of this, an embodiment of the present application provides a data reporting method, after the application generates data to be reported and before determining that the data to be reported is successfully reported, the terminal device stores the data to be reported in the data set to be reported, and polls and reports the data to be reported in the data set to be reported. In this way, it can be ensured that the data to be reported is not lost, thereby improving the reporting rate. Optionally, the polling reporting involved in the embodiment of the present application refers to periodically determining the data to be reported and reporting the determined data to be reported.

[0049] The following describes several exemplary implementations to illustrate the technical solutions of the embodiments of the present application and the technical effects produced by the technical solutions of the present application.

[0050] Please refer to Figure 2A , the present application embodiment provides a data reporting method 100 (hereinafter referred to as method 100). This embodiment takes the data reporting method applied to a terminal device as an example, and the terminal device can be such as Figure 1 The terminal device 11 is shown. The method 100 comprises the following steps:

[0051] In step S101, during the running of the application, the terminal device polls and reports the corresponding types of data to be reported in the data sets to be reported according to the polling periods corresponding to the respective types of data to be reported, and executes step S102 on the data sets to be reported until a predetermined condition is met.

[0052] The predetermined condition refers to the application program interrupting the generation of user operation data. Optionally, the predetermined condition can be implemented as the application program being closed or the application program entering a dormant mode.

[0053] Optionally, the data set to be reported is used to store the data to be reported generated during each operation of the application. The data set to be reported can be implemented as a database, for example. In actual implementation, the data set to be reported may include the data to be reported that failed to be reported and the data to be reported generated by the current operation of the application. The data to be reported that failed to be reported includes historical operation data and current operation data. Historical operation data refers to the data to be reported that was generated by each operation of the application before the current operation and failed to be reported. It can be seen that, using this implementation method, if the data to be reported generated by the operation of the application is not successfully reported, then the data to be reported will continue to be stored in the data set to be reported, thereby avoiding data loss and improving the reporting rate of the data to be reported.

[0054] The "type" involved in the embodiments of the present application characterizes the importance of the data to be reported. The importance can be obtained by dividing the application according to different operation modes or operation processes. The application identifies the importance of the data to be reported through a field in the data to be reported. Optionally, the importance of the data to be reported can indicate the degree of impact of the data to be reported on the user's operating experience. For example, the data to be reported, such as operation errors, have a greater impact on the user's operating experience. The application can determine the importance of the data to be reported, such as operation errors, as having a higher importance. For another example, the corresponding data to be reported during the normal operation process has a smaller impact on the user's operating experience. The application can determine the importance of this type of data to be reported as having a general importance.

[0055] Furthermore, in an embodiment of the present application, different types of data to be reported correspond to different polling cycles. Optionally, the type that represents a higher degree of importance has a shorter corresponding polling cycle. The type that represents a lower degree of importance has a longer corresponding polling cycle. For example, the type that represents a higher degree of importance (for example, the type corresponding to an operation error) has a corresponding polling cycle length of 2 seconds (s), and the type that represents a lower degree of importance (for example, the type corresponding to a routine operation error) has a corresponding polling cycle length of 4s. In this way, the reporting priority of the data to be reported that represents a higher degree of importance is also higher, thereby ensuring the reporting rate of the data to be reported that has a higher degree of importance under the condition of limited network resources.

[0056] It is understandable that the number of "types" involved in the embodiment of the present application can be determined based on the level of importance of the data to be reported. The duration of the polling cycle corresponding to each type can be flexibly configured according to demand. The embodiment of the present application is not limited to this.

[0057] Taking a type as an example, polling and reporting the data to be reported of the type in the data set to be reported can be implemented as follows: in each polling cycle, a preset number of data to be reported of the type is determined from the data set to be reported, and then the corresponding preset number of data to be reported is reported. Afterwards, subsequent processing can be performed on the corresponding data to be reported in the data set to be reported according to the reporting result of each data to be reported.

[0058] In some implementations, each polling cycle starts at the time when the data to be reported is determined from the data set to be reported in the previous polling cycle. In other implementations, each polling cycle starts at the time when the data set to be reported is processed according to the reporting result of the last data to be reported in the previous polling cycle.

[0059] It is understandable that the preset number can be flexibly set according to the bandwidth of the transmission link to avoid congestion in the process of reporting data. In an optional example, the preset number is, for example, 48. In addition, optionally, the preset numbers corresponding to different types of data to be reported can be the same or different. For example, a first number corresponding to a first type of data to be reported and a second number corresponding to a second type of data to be reported, the first number is not equal to the second number. The embodiments of the present application are not limited to this.

[0060] In step S102, the terminal device deletes the data to be reported from the data set to be reported in response to the indication information that the data to be reported is successfully reported.

[0061] Optionally, in response to the indication information of the failure to report the data to be reported, the terminal device does not process the data to be reported in the data set to be reported. In this way, the terminal device continues to poll and report the data to be reported that failed to be reported until the report is successful, thereby avoiding the loss of the data to be reported that failed to be reported and improving the reporting rate.

[0062] It should be noted that after the terminal device reports the data to be reported to the server, it can receive feedback information from the server, and the feedback information can indicate at least one of the following information: information about the received data to be reported, information about the data to be reported that has not been received, or information about the received data to be reported and the data to be reported that has not been received. Based on the feedback information, the terminal device can determine whether each data to be reported has been reported successfully, and then perform operations on the corresponding data to be reported in the data set to be reported according to the reporting result.

[0063] In some other implementations, new data to be reported may be generated during the running of the application. The terminal device may add the new data to be reported generated during the running of the application to the data set to be reported, so that the terminal device can report the new data to be reported. The relevant implementations are described below and will not be described in detail here.

[0064] It can be seen that, by adopting the technical solution of the embodiment of the present application, during the operation of the application, the terminal device polls and reports the corresponding types of data to be reported in the data set to be reported according to the polling period corresponding to each type of data to be reported, until the predetermined condition is met. Among them, the data set to be reported is used to store the data to be reported generated during each operation of the application. And in the technical solution, the terminal device deletes the data to be reported from the data set to be reported in response to the indication information that the data to be reported is successfully reported during the process of polling and reporting the data to be reported. It is explained that the data set to be reported includes the data to be reported that is generated during each operation of the application and is not successfully reported. It can be seen that in the technical solution of the embodiment of the present application, if the data to be reported is not successfully reported, then the data to be reported is stored in the data set to be reported, and is continuously polled and reported until it is successfully reported, and will not be lost due to the interruption of the network state and the application process, thereby being able to improve the reporting rate of the data to be reported.

[0065] It should be pointed out that the data reporting method described above is an optional implementation method of the data reporting method of the embodiment of the present application. In other implementation methods, each data to be reported in the data set to be reported includes a sequence identifier. The sequence identifier is used to indicate the corresponding order of the data to be reported in the corresponding type of data to be reported, and this order can be the order in which the application generates the data to be reported. Based on this, corresponding to a type, the sequence identifiers of the data to be reported of this type are increased one by one in sequence. Optionally, the sequence identifiers corresponding to different types are independent of each other.

[0066] Optionally, the sequence identifier can be implemented by a specific value of the field log identifier (logID). For example, "logID=101" of a data to be reported indicates that the sequence identifier of the data to be reported is 101. In some implementations, the sequence identifier can be implemented as a number, such as Arabic numerals or Roman numerals. In other implementations, the sequence identifier can be implemented as a combination of letters and numbers, for example, A001 and A002. The embodiments of the present application are not limited to this. In addition, the implementation forms of the sequence identifiers corresponding to different types may be the same or different. For example, the sequence identifiers corresponding to each type are all implemented as Arabic numerals. For another example, the sequence identifier corresponding to the first type is implemented as Arabic numerals, and the sequence identifier corresponding to the second type is implemented as a combination of letters and numbers.

[0067] The sequence identifier can be configured by the application in the scenario where a new event to be reported is generated. Exemplarily, after a new event to be reported is generated during the operation of the application, the terminal device can determine the type of the new event to be reported. Furthermore, the terminal device determines the maximum sequence identifier currently corresponding to the type in the data set to be reported. Then, the terminal device adds a sequence identifier to the new event to be reported to obtain new data to be reported. The sequence identifier of the new data to be reported is, for example, the determined maximum sequence identifier plus 1. Then, the terminal device stores the new data to be reported in the data set to be reported. In this scenario, the sequence identifier of the new data to be reported is the largest among the sequence identifiers in each data to be reported corresponding to the corresponding type.

[0068] For example, a new operation log is generated during the operation of an application. The terminal device determines the type of the new operation log based on the content of the importance field in the new operation log, and then determines the maximum sequence identifier currently corresponding to the type in the data set to be reported, which is 500, for example. Afterwards, the terminal device configures the value of logID (i.e., sequence identifier) ​​in the new operation log to 501 according to the condition that sequence identifiers of the same type are increased one by one, obtains new data to be reported of this type, and then adds the new data to be reported to the data set to be reported.

[0069] Optionally, the terminal device can determine the data to be reported corresponding to each type in each polling cycle according to the sequence identifier, so that the server can calculate the reporting rate of the data to be reported according to the sequence identifier and obtain the reporting rate of the data to be reported.

[0070] In some implementations, for each polling cycle of a type, determining the first number of to-be-reported data of the corresponding type from the to-be-reported data set may be implemented as follows: the terminal device determines the minimum sequence identifier corresponding to the type in the corresponding polling cycle, and then determines the first number of to-be-reported data of the type in sequence starting from the minimum sequence identifier. Optionally, the terminal device may determine the minimum sequence identifier,

[0071] For example, the first number is 50. In a polling cycle, the minimum sequence identifier corresponding to the corresponding type is, for example, 260. The terminal device uses 260 as the starting sequence identifier, and sequentially determines 50 data to be reported with sequence identifiers of 260, 261, 262, 263, etc. from the data set to be reported, until the sequence identifier is 309, as the data to be reported to be reported in this polling cycle. Optionally, in another implementation, the sequence identifier 260 is the sequence identifier of the data to be reported that failed to be reported in the previous polling cycle, and the sequence identifier corresponding to this type in the data set to be reported that is greater than 260 and adjacent to 260 is, for example, 299. Then, in this example, the terminal device uses 260 as the starting sequence identifier, and sequentially determines 50 data to be reported with sequence identifiers of 260, 299, 300, 301, etc. from the data set to be reported, until the sequence identifier is 347, as the data to be reported to be reported in this polling cycle.

[0072] According to the description of the aforementioned step S102, if the terminal device receives information indicating that a data to be reported is successfully reported, the terminal device deletes the data to be reported from the data set to be reported. However, in actual operation, since the execution logic related to the data set to be reported is relatively complex, and the amount of data to be reported is relatively large, for example, it may be a data amount of tens of billions, so there may be a situation where the data to be reported fails to be deleted from the data set to be reported. This will cause the data to be reported that has been successfully reported to be repeatedly reported in subsequent polling cycles.

[0073] Based on this, in some other implementations, in each polling cycle, after determining the first number of data to be reported of the corresponding type from the data set to be reported, it also includes: the terminal device adds the sequence identifier of each data to be reported in the first number of data to be reported to the sequence identifier set corresponding to the type, and for each data to be reported, in response to the indication information that the data to be reported is successfully reported, the terminal device deletes the sequence identifier of the data to be reported from the sequence identifier set. Furthermore, in the process of determining the data to be reported corresponding to each polling cycle, the terminal device can determine the aforementioned minimum sequence identifier based on the sequence identifier in the sequence identifier set corresponding to the corresponding type.

[0074] With this implementation, the amount of data in the sequence identifier set is relatively small, and the execution logic of the terminal device for the sequence identifier set is relatively simple, so the situation of failure to delete the sequence identifier can be avoided. That is, the sequence identifier set can provide relatively accurate sequence identifier information. Based on this, the terminal device determines the aforementioned minimum sequence identifier according to the sequence identifier set, thereby avoiding repeated reporting of the data to be reported.

[0075] Optionally, the terminal device can report each type of data to be reported through the first communication link, and report the maximum sequence identifier and the minimum sequence identifier corresponding to each type through the second communication link. Exemplarily, the terminal device reports the maximum sequence identifier and the minimum sequence identifier corresponding to each type according to a preset period. The maximum sequence identifier and the minimum sequence identifier corresponding to each type are used to enable the server to determine the reporting rate confidence of the corresponding type of data to be reported, so as to obtain the reporting rate counted by the server. Optionally, the preset period can be flexibly set according to demand, for example, the preset period is 24 hours.

[0076] In some implementations, the first communication link and the second communication link are two communication channels in the same network, and the two communication channels have different IP addresses (Internet Protocol Address). In other implementations, the first communication link and the second communication link belong to two networks respectively.

[0077] Exemplarily, for any type, when a reporting cycle of the sequence identifier is reached, the terminal device obtains the maximum sequence identifier and the minimum sequence identifier corresponding to the type in the cycle, and then reports the maximum sequence identifier and the minimum sequence identifier corresponding to the type through the second communication link. Optionally, after a reporting cycle of the sequence identifier is reached, the terminal device obtains the maximum sequence identifier corresponding to the type in the cycle, and uses the maximum sequence identifier corresponding to the type in the previous reporting cycle as the minimum sequence identifier corresponding to the type in the current reporting cycle.

[0078] For example, in the reporting period of the first sequence identifier, the minimum sequence identifier corresponding to a type is 500, and the maximum sequence identifier is 700. In the reporting period of the second sequence identifier, the terminal device configures the minimum sequence identifier corresponding to the type to 700, and obtains the maximum sequence identifier corresponding to the type within the reporting period of the second sequence identifier, for example, 850. Then, the terminal device reports the minimum sequence identifier 700 and the maximum sequence identifier 850 corresponding to the type to the server through the second communication link. The reporting period of the second sequence identifier refers to the next reporting period adjacent to the reporting period of the first sequence identifier.

[0079] Method 100 is a description of the data reporting method of the embodiment of the present application from the perspective of the operation performed by the terminal device. The following describes the data reporting method of the embodiment of the present application from the perspective of the operation performed by the server.

[0080] Please refer to Figure 2B , Figure 2B An exemplary data reporting method 200 (hereinafter referred to as method 200) is shown. Optionally, method 200 is implemented as a reporting rate management method. In this embodiment, the server may be as follows Figure 1The server 12 is shown. The method 200 comprises the following steps:

[0081] In step S201, the server receives various types of reported data, each of which includes a sequence identifier.

[0082] Among them, each type of reported data is the data to be reported that is reported by the terminal device during the application program running according to the polling period corresponding to each type of data to be reported and successfully received by the server. The implementation method of the terminal device reporting the data to be reported is detailed in the description of the above-mentioned related embodiments, which will not be described in detail here.

[0083] In addition, the sequence identifier included in each reported data is detailed in the description of the sequence identifier in the aforementioned related embodiments, which will not be described in detail here.

[0084] In step S202, corresponding to each type, the server periodically determines the reporting rate corresponding to the reported data of the corresponding type in the corresponding first statistical period according to the corresponding maximum sequence identifier and minimum sequence identifier of the reported data received in the corresponding first statistical period according to the preset first statistical period.

[0085] The first statistical cycle refers to the cycle of the statistical data reporting rate. The first statistical cycle can be flexibly set according to demand. For example, in one optional design, the first statistical cycle is 3 hours; for another example, in another optional design, the first statistical cycle is 24 hours.

[0086] Optionally, for a first statistical period, the method for determining the reporting rate corresponding to each type of reported data includes: the ratio of the total number of reported data actually received in the first statistical period to the total number of data to be reported in the first statistical period. Among them, the total number of reported data actually received can be determined according to the sequence identifier of each reported data, and the total number of data to be reported is determined according to the maximum sequence identifier (max) and the minimum sequence identifier (min) corresponding to the corresponding type of the first statistical period. The reporting rate can be expressed, for example, by the following formula: reporting rate = total number of reported data actually received / total number of data to be reported, wherein the total number of data to be reported = (max(sequence identifier) ​​- min(sequence identifier) ​​+ 1), the total number of reported data actually received = count(distinct sequence identifier).

[0087] The following two exemplary scenarios illustrate the reporting rate statistics method of the embodiment of the present application.

[0088] Please refer to Figure 3A , Figure 3AThe following is a schematic diagram of an exemplary scenario of a type of reported data received by a server during a reporting rate statistical period. In this period, the largest sequence identifier (max(logid)) of the reported data received by the server is, for example, 200, and the smallest sequence identifier (min(logid)) is, for example, 101. The server determines based on the sequence identifiers of the reported data that no data is lost during the reporting rate statistical period, that is, count(distinct logid)=100. Then, Figure 3A It shows that during the reporting rate statistical period, the reporting rate of this type of reported data = count(distinct logid) / (max(logid) - min(logid) + 1)=100 / (200 -101+ 1)=100%.

[0089] Please refer to Figure 3B , Figure 3B Another exemplary scenario diagram of a type of reported data received by a server in a reporting rate statistical period is shown. In the reported data received by the server in this period, the max (logid) is, for example, 200, and the min (logid) is, for example, 101. Figure 3A As shown, this server determines based on the sequence identifier of the reported data that the data to be reported with logid=103 is lost, that is, count(distinct logid)=99. Then, Figure 3B It shows that during the reporting rate statistical period, the reporting rate of this type of reported data = count(distinct logid) / (max(logid) - min(logid) + 1)=99 / (200 -101+ 1)=99%.

[0090] It can be seen that, by adopting this implementation method, the server can count the reporting rate by the sequential identifier of the reported data increasing one by one, which is independent of the total number of data to be reported reported by the terminal device. In this way, it can not only avoid the problem caused by the terminal device periodically reporting the total number of data to be reported, but also make the obtained reporting rate more accurate. In addition, the server can count the reporting rate of any time period, which is more flexible.

[0091] It should be pointed out that, using the reporting rate statistics method of the embodiment of the present application, if all the data reported by the terminal device is lost within a reporting rate statistics period, the actual reporting rate is 0, but the reporting rate obtained by the server is 100%. In addition, according to the above description, the maximum sequence identifier and the minimum sequence identifier within a reporting rate statistics period are key information for statistical reporting rates. If at least one of the data corresponding to the maximum sequence identifier and the data corresponding to the minimum sequence identifier is lost, the statistically obtained reporting rate will be inaccurate.

[0092] Based on this, in another implementation, the server receives each type of reported data via the first communication link, and periodically receives the maximum sequence identifier and the minimum sequence identifier corresponding to each type via the second communication link according to the preset second statistical period, and then determines the reporting rate confidence corresponding to the corresponding type in any second statistical period according to the maximum sequence identifier and the minimum sequence identifier corresponding to each type in the second statistical period to obtain the reporting rate. Optionally, the second statistical period is greater than or equal to the first statistical period. The second statistical period can be, for example, 24 hours.

[0093] Optionally, for a second statistical period and a type, the server may determine the reporting rate confidence corresponding to the type in the second statistical period in the following manner: within the second statistical period, determine the ratio of the first total number of reported data corresponding to the type to the second total number as the reporting rate confidence corresponding to the type. The first total number is the total number of data to be reported corresponding to the type in the second statistical period; the second total number is determined based on the maximum sequence identifier and the minimum sequence identifier corresponding to the type transmitted by the second communication link.

[0094] Exemplarily, the reporting rate confidence can be expressed by the following formula: reporting rate confidence = first total number / second total number, where the first total number = the total number of data to be reported within the second period = (max(sequence identifier) ​​-min(sequence identifier) ​​+ 1), the second total number = (max'(sequence identifier) ​​- min'(sequence identifier) ​​+ 1).

[0095] Among them, max (sequence identifier) ​​and min (sequence identifier) ​​are determined by the reported data received by the server via the first communication link during the second period, and max' (sequence identifier) ​​and min' (sequence identifier) ​​are sequence identifiers received by the server via the second communication link during the second period. If there is no abnormality in the first communication link, max (sequence identifier) ​​and max' (sequence identifier), as well as min (sequence identifier) ​​and min' (sequence identifier), should theoretically be the same. Based on this, the larger the value of the reporting rate confidence, the higher the accuracy of the reporting rate obtained by statistics; the smaller the value of the reporting rate confidence, the lower the accuracy of the reporting rate obtained by statistics.

[0096] It can be seen that by adopting this implementation mode, the data quantity information in the same time period is reported through two independent communication links, which can avoid the situation where the reporting rate is 100% due to batch data loss in a reporting rate statistical cycle. In addition, the reporting rate is verified through the maximum sequence identifier and the minimum sequence identifier transmitted by the two links, so that the accuracy of the reporting rate statistics can be obtained.

[0097] Optionally, in an embodiment of the present application, the server device entity for counting the reporting rate and the server device entity for calculating the confidence can be the same or different. If the server device entity for counting the reporting rate and the server device entity for calculating the confidence are different, the two servers can communicate with each other to facilitate the calculation of the reporting rate confidence. This application does not limit this.

[0098] In summary, in the implementation of the embodiment of the present application, during the operation of the application, the terminal device polls and reports the corresponding types of data to be reported in the data set to be reported according to the polling period corresponding to each type of data to be reported, until the predetermined condition is met. Among them, the data set to be reported is used to store the data to be reported generated during each operation of the application. And in the technical scheme, the terminal device deletes the data to be reported from the data set to be reported in response to the indication information that the data to be reported is successfully reported during the process of polling and reporting the data to be reported. It is explained that the data set to be reported includes the data to be reported that is generated during each operation of the application and is not successfully reported. It can be seen that in the technical scheme of the embodiment of the present application, if the data to be reported is not successfully reported, then the data to be reported is stored in the data set to be reported, and is continuously polled and reported until it is successfully reported, and will not be lost due to the interruption of the network state and the application process, thereby being able to improve the reporting rate of the data to be reported.

[0099] Method 100 and method 200 respectively describe the technical solution of the present application from the perspective of each device independently performing operations. The following describes the data reporting method of the embodiment of the present application from the perspective of the interaction of each device in combination with examples.

[0100] Please refer to Figure 4 , Figure 4 An exemplary network architecture 20 is illustrated, and the network architecture 20 includes a terminal device 21, a first server 22, and a second server 23. The terminal device 21 interacts with the first server 22 via a communication link 24, and interacts with the second server 23 via a communication link 25. The first server 22 and the second server 23 also support data transmission.

[0101] Optionally, the terminal device 21 can be used to report the data to be reported to the first server 22 through the communication link 24, and to report the sequence identifier of the data to be reported to the second server 23 through the communication link 25. Optionally, the terminal device 21 can be implemented as at least one electronic device entity that deploys applications. These electronic device entities may include smart phones and tablet computers, etc. At least one application can be deployed in each electronic device entity, and the applications deployed in each electronic device entity may be the same or different. The terminal device 21 maintains the data to be reported generated by the operation of each application through a database.

[0102] Optionally, the first server 22 may be used to receive data reported by the terminal device 21 via the communication link 24, and to count the reporting rate of the corresponding data. Optionally, the first server 22 may be implemented as an independent physical server, or as a server cluster or distributed system composed of multiple physical servers.

[0103] Optionally, the second server 23 can be used to receive the sequence number of the data to be reported reported by the terminal device 21 via the communication link 25, and obtain the reporting rate. Optionally, the second server 23 can be implemented as an independent physical server, or as a server cluster or distributed system composed of multiple physical servers.

[0104] Understandably, Figure 4 This is only a schematic description and does not constitute a limitation on the network architecture involved in the embodiments of the present application. In actual implementation, the network architecture involved in the embodiments of the present application may also include more or fewer device entities. The embodiments of the present application do not limit this.

[0105] In conjunction with network architecture 20, please refer to Figure 5A , Figure 5A An exemplary signaling interaction diagram of a data reporting method 300 (hereinafter referred to as method 300) provided in an embodiment of the present application. Method 300 includes: during the running of the application, the terminal device 21 interacts with the first server 22 through the communication link 24 to execute the data reporting method 301, and interacts with the second server 23 through the communication link 25 to execute the data reporting method 302.

[0106] The following describes a data reporting method 301 (hereinafter referred to as method 301) and a data reporting method 302 (hereinafter referred to as method 302) by taking a type of data to be reported as an example. The type of data to be reported is, for example, a target type. The polling period of the target type is, for example, a target polling period. The database already contains data to be reported of multiple target types.

[0107] Please refer to Figure 5B , Figure 5B The following is a schematic diagram of an exemplary signaling interaction of method 301. Method 301 includes the following steps:

[0108] During the first target polling cycle, the terminal device 21 determines 48 target types of data to be reported from the database, stores the sequence identifiers of the 48 data to be reported in the sequence identifier set corresponding to the target type, and reports the 48 data to be reported to the first server 22 through an API (Application Programming Interface).

[0109] The first server 22 sends feedback information to the terminal device 21 according to the reception status of the 48 data to be reported, so as to indicate the reporting result of the 48 data to be reported to the terminal device 21.

[0110] For each of the 48 data to be reported, in response to the indication information of successful reporting, the terminal device 21 deletes the data to be reported from the database and deletes the sequence identifier of the data to be reported from the sequence identifier set. In response to the indication information of failed reporting, the data to be reported in the database is not processed, and the sequence identifier of the data to be reported in the sequence identifier set is not processed.

[0111] In the second target polling cycle, the terminal device 21 again performs the operation of determining the data to be reported of 48 target types from the database until the application is closed.

[0112] Optionally, in each target polling cycle, the terminal device 21 determines 48 data to be reported in ascending order according to the sequence identifier corresponding to the target type. The minimum sequence identifier corresponding to the target type is determined according to the sequence identifier in the sequence identifier set of the target type. This is not described in detail here.

[0113] See again Figure 5B In another thread, the first server 22 periodically calculates the reporting rate of the target type of data to be reported. The reporting rate calculation period is, for example, 24 hours. In each reporting rate statistical period, the first server 22 obtains the maximum sequence identifier and the minimum sequence identifier of the target type of data to be reported received within the 24 hours, as well as the number of target type of data to be reported actually received within the 24 hours. Then, the ratio of the number of target type of data to be reported actually received to the total number corresponding to the minimum sequence identifier to the maximum sequence identifier is calculated to obtain the reporting rate of the target type of data to be reported within the reporting rate statistical period.

[0114] Please refer to Figure 5C , Figure 5C The exemplary signaling interaction diagram of method 302 is shown. Method 302 describes the reporting sequence identifier of terminal device 21 with 24 hours as a cycle. Method 302 includes the following steps:

[0115] The terminal device 21 determines whether to enter a new reporting cycle from the start of the application. If entering a new reporting cycle, the maximum sequence identifier and the minimum sequence identifier corresponding to the target type in the new reporting cycle are determined, and then the maximum sequence identifier and the minimum sequence identifier corresponding to the determined target type are reported to the second server 23.

[0116] Optionally, the terminal device 21 may encapsulate the maximum sequence identifier and the minimum sequence identifier through information in the following format: type_logid_min=XX&type_logid_max=YY&logid_day=year / month / day, where type refers to the target type, logid_min refers to the field of the minimum sequence identifier, XX refers to the minimum sequence identifier, logid_max refers to the field of the maximum sequence identifier, YY refers to the minimum sequence identifier, and logid_day=year / month / day refers to the upload date.

[0117] The second server 23 may obtain the maximum sequence identifier and the minimum sequence identifier of the reported data of the target type in the new reporting cycle from the first server 22. Further, the reporting rate confidence of the second server 23 in the new reporting cycle.

[0118] If a new reporting cycle has not begun, the terminal device 21 repeats the judgment action.

[0119] In addition, it should be pointed out that Figure 5B and Figure 5C In other threads, the terminal device 21 will also obtain new events to be reported of the target type generated by the application, and then, based on the principle of sequentially increasing the sequence identifier by 1, the terminal device 21 adds a sequence identifier to the new events to be reported to obtain new data to be reported. Afterwards, the terminal device 21 stores the new data to be reported in the database.

[0120] Optionally, each time the terminal device 21 obtains a new data to be reported of the target type, it can synchronously update the maximum sequence identifier currently corresponding to the target type, so that in method 302, after reaching a new reporting cycle, the maximum sequence identifier and the minimum sequence identifier are reported to the second server 23.

[0121] It should be noted that the detailed implementation process of each step in method 301 and method 302 can be referred to the description of the aforementioned related embodiments, and the embodiments of the present application will not be repeated here.

[0122] It is understandable that the aforementioned database may also include more types of data to be reported, and the reporting process for each type of data to be reported is similar to the reporting process for the target type of data to be reported, and the embodiments of the present application will not be described in detail here.

[0123] also, Figures 4 to 5C All of them are schematic descriptions and do not constitute a limitation on the technical solutions of the embodiments of the present application. In other implementations, the network architecture involved in the embodiments of the present application may also be other. In other implementations, the signaling interaction process involved in the embodiments of the present application is also not limited thereto.

[0124] In summary, in the implementation of the embodiment of the present application, during the operation of the application, the terminal device polls and reports the corresponding types of data to be reported in the data set to be reported according to the polling period corresponding to each type of data to be reported, until the predetermined condition is met. Among them, the data set to be reported is used to store the data to be reported generated during each operation of the application. And in this technical solution, the terminal device deletes the data to be reported from the data set to be reported in response to the indication information that the data to be reported is successfully reported during the process of polling and reporting the data to be reported. It is explained that the data set to be reported includes the data to be reported that is generated during each operation of the application and is not successfully reported. It can be seen that in the technical solution of the embodiment of the present application, if the data to be reported is not successfully reported, then the data to be reported is stored in the data set to be reported, and is continuously polled and reported until it is successfully reported, and will not be lost due to the network state and the interruption of the application process, thereby being able to improve the reporting rate of the data to be reported. The server counts the reporting rate by the sequential identification of the reported data one by one, which can be independent of the total number of data to be reported reported by the terminal device. In this way, not only can the problem caused by the terminal device periodically reporting the total amount of data to be reported be avoided, but the obtained reporting rate can also be made more accurate. In addition, the server can count the reporting rate of any time period, which is more flexible. In addition, by transmitting the maximum sequence identifier and the minimum sequence identifier corresponding to the same type in the same time period through two links, the reporting rate corresponding to the type is verified, and the accuracy of the reporting rate statistics can be obtained.

[0125] In an actual implementation scenario, after obtaining the aforementioned reporting rate and confidence level, the corresponding reporting rate and confidence level may also be displayed through a display device to show the status of data reporting to the user.

[0126] The above embodiments introduce various implementation methods of the data reporting method provided by the embodiments of the present application from the perspective of the actions performed by the terminal device and the server, such as reporting of the data to be reported, statistics of the reporting rate, and acquisition of the reporting rate. It should be understood that, corresponding to the processing steps of reporting of the data to be reported, statistics of the reporting rate, and acquisition of the reporting rate, the embodiments of the present application can implement the above functions in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0127] For example, if the above implementation steps implement the corresponding functions through software modules. Fig. 6A As shown, a data reporting device 60 is provided, and the data reporting device 60 may include a reporting module 601 and a deletion module 602. The data reporting device 60 may be used to perform the above Figures 2A to 5CSome or all operations of the terminal equipment in the network.

[0128] For example, the reporting module 601 can be used to poll and report the corresponding types of data to be reported in the data set to be reported according to the polling period corresponding to each type of data to be reported during the running of the application, and perform the following processing on the data set to be reported until the predetermined condition is met. Among them, the data set to be reported is used to store the data to be reported generated during each running of the application. The deletion module 602 can be used to delete the data to be reported from the data set to be reported in response to the indication information that the data to be reported is successfully reported.

[0129] It can be seen that the data reporting device 60 provided in the embodiment of the present application, during the operation of the application, polls and reports the corresponding types of data to be reported in the data set to be reported according to the polling period corresponding to each type of data to be reported, until the predetermined condition is met. Among them, the data set to be reported is used to store the data to be reported generated during each operation of the application. And in the process of polling and reporting the data to be reported, in response to the indication information that the data to be reported is successfully reported, the data to be reported is deleted from the data set to be reported. It is explained that the data set to be reported includes the data to be reported that is generated during each operation of the application and is not successfully reported. It can be seen that in the technical solution of the embodiment of the present application, if the data to be reported is not successfully reported, then the data to be reported is stored in the data set to be reported, and is continuously polled and reported until it is successfully reported, and will not be lost due to the interruption of the network state and the application process, thereby being able to improve the reporting rate of the data to be reported.

[0130] Optionally, each data to be reported in the data set to be reported includes a sequence identifier. In this example, for any type of data to be reported, the reporting module 601 can also be used to determine a first number of data to be reported of the corresponding type from the data set to be reported in each polling cycle; and add the sequence identifier of each data to be reported in the first number of data to be reported to the sequence identifier set corresponding to the type. In this example, for each data to be reported, the deletion module 602 can also be used to delete the sequence identifier of the data to be reported from the sequence identifier set in response to the indication information of successful reporting of the data to be reported.

[0131] Optionally, for each polling cycle, the reporting module 601 can also be used to determine the minimum sequence identifier corresponding to the type in the corresponding polling cycle based on the sequence identifier in the sequence identifier set corresponding to the type; and determine the first number of data to be reported of the type in sequence starting from the minimum sequence identifier.

[0132] Optionally, the data reporting device 60 further includes: an acquisition module, an identification configuration module and a storage module. The acquisition module can be used to acquire new events to be reported generated during the running of the application. The identification configuration module can be used to add a sequence identifier to the new event to be reported to obtain new data to be reported, and the sequence identifier of the new data to be reported is the largest among the sequence identifiers of each data to be reported corresponding to the corresponding type. The storage module can be used to store the new data to be reported in the data set to be reported.

[0133] Optionally, the reporting module 601 can also be used to report the corresponding type of data to be reported through the first communication link. The reporting module 601 can also be used to report the maximum sequence identifier and the minimum sequence identifier corresponding to each type through the second communication link according to a preset period; the maximum sequence identifier and the minimum sequence identifier corresponding to each type are used to determine the reporting rate confidence of the corresponding type of data to be reported.

[0134] It can be understood that the division of the above modules is merely a division of logical functions. In actual implementation, the functions of the above modules can be integrated into the hardware entity implementation. For example, the function of the reporting module 601 can be integrated into the transceiver implementation, and the function of the deletion module 602 can be integrated into the processor implementation, etc.

[0135] Please refer to Figure 6B , Figure 6B A terminal device 61 is provided, which includes a processor 611, a transceiver 612 and a memory 613, and these components are connected and communicated through a communication bus 614. The transceiver 612 can be used to send and receive data with a server. The memory 613 is used to store an application and data to be reported. When the application is called, the processor 611 executes the above Figures 2A to 5C Some or all operations of the terminal equipment in the network.

[0136] For the specific implementation process, see Figures 2A to 5C The description of the terminal equipment is not repeated here.

[0137] Correspondingly, such as Fig. 7A As shown, Fig. 7A A data reporting device 70 is provided, and the data reporting device 70 may include a receiving module 701 and a reporting rate statistics module 702. The data reporting device 70 may be used to perform the above Figures 2B to 5C Some or all operations of the server in the.

[0138] For example: the receiving module 701 can be used to receive various types of reported data; the various types of reported data are polled and reported from the to-be-reported data set according to the polling period corresponding to each type of the to-be-reported data during the running of the application program, and the to-be-reported data set is used to store the to-be-reported data generated during each running of the application program; each reported data includes a sequence identifier. The reporting rate statistics module 702 can be used to correspond to each type, according to a preset first statistical period, periodically determine the reporting rate corresponding to the corresponding type of reported data in the corresponding first statistical period according to the corresponding maximum sequence identifier and minimum sequence identifier of the reported data received in the corresponding first statistical period.

[0139] It can be seen that the data reporting device 70 provided in the embodiment of the present application can be independent of the total number of data to be reported reported by the terminal device by using the sequential identifiers of the reported data to count the reporting rate. In this way, it can not only avoid the problem caused by the terminal device periodically reporting the total number of data to be reported, but also make the obtained reporting rate more accurate. In addition, the reporting rate of any time period can be counted, which is more flexible.

[0140] Optionally, for a first statistical period, the reporting rate statistics module 702 may also be used to use the ratio of the total number of reported data actually received in the first statistical period to the total number of data to be reported in the first statistical period as the reporting rate corresponding to each type of reported data. The total number of data to be reported is determined based on the maximum sequence identifier and the minimum sequence identifier corresponding to the corresponding type in the first statistical period.

[0141] Optionally, the receiving module 701 may also be used to receive various types of reported data via the first communication link. The receiving module 701 may also be used to periodically receive the maximum sequence identifier and the minimum sequence identifier corresponding to each type via the second communication link according to a preset second statistical period; the second statistical period is greater than or equal to the first statistical period. In this example, the reporting rate statistics module 702 may also be used to determine the reporting rate confidence corresponding to the corresponding type in any second statistical period based on the maximum sequence identifier and the minimum sequence identifier corresponding to each type in the second statistical period.

[0142] Optionally, for a second statistical period, the reporting rate statistics module 702 may also be used to determine, within the second statistical period, a ratio of a first total number of reported data of the type to a second total number as a reporting rate confidence level corresponding to the type. The first total number is the total number of data to be reported corresponding to the type within the second statistical period; the second total number is determined based on a maximum sequence identifier and a minimum sequence identifier corresponding to the type transmitted via the second communication link.

[0143] It can be understood that the division of the above modules is merely a division of logical functions. In actual implementation, the functions of the above modules can be integrated into the hardware entity implementation. For example, the function of the receiving module 701 can be integrated into the transceiver implementation, and the function of the reporting rate statistics module 702 can be integrated into the processor implementation, etc.

[0144] Please refer to Figure 7B , Figure 7B A server 71 is provided, which can implement the above Figures 2B to 5C The functions of any server. The server 71 may vary greatly due to different configurations or performances, and may include one or more central processing units (CPU) 711 (for example, one or more processors) and memory 712, and one or more storage media 713 (for example, one or more mass storage devices) storing application programs 7131 or data 7132. Among them, the memory 712 and the storage medium 713 may be temporary storage or permanent storage. The program stored in the storage medium 713 may include one or more modules (not shown in the figure), and each module may include a series of instruction operations on the server. Furthermore, the central processing unit 711 can be configured to communicate with the storage medium 713 to execute a series of instruction operations in the storage medium 713 on the server 71.

[0145] 71 The server 71 may also include one or more power supplies 714, one or more wired or wireless network interfaces 715, one or more input and output interfaces 716, and / or one or more operating systems 717, such as Windows ServerTM, Mac OS XTM, UnixTM, LinuxTM, FreeBSDTM, etc.

[0146] The steps performed by the data reporting device 70 in the above embodiment can be based on the Figure 7B The server structure shown is implemented.

[0147] It should be understood that in some possible implementations, Figure 6B and Figure 7BThe processor illustrated in the figure may be a central processing unit (CPU), and the processor may also be other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc. Figure 6B and Figure 7B The memory illustrated in the figure may include a read-only memory and a random access memory, and provide instructions and data to the processor. A portion of the memory may also include a non-volatile random access memory. For example, the memory may also store information on the device type, etc.

[0148] The present application also provides a computer-readable storage medium in which data reporting instructions are stored. When the computer-readable storage medium is run on a computer, the computer executes the above-mentioned Figures 2A to 5C The illustrated embodiment describes some or all of the steps in the data reporting method.

[0149] The present application also provides a computer program product including instructions for data reporting, which, when executed on a computer, enables the computer to execute the above-mentioned Figures 2A to 5C The illustrated embodiment describes some or all of the steps in the data reporting method.

[0150] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0151] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.

[0152] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0153] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.

[0154] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, a smart phone or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk and other media that can store program code.

[0155] Although the optional embodiments of the present application have been described, those skilled in the art, once informed of the basic creative concept, may make additional changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including the preferred embodiment and all changes and modifications falling within the scope of the present application.

[0156] The specific implementation methods described above further illustrate the purpose, technical solutions and beneficial effects of the present application in detail. It should be understood that the above description is only the specific implementation method of the present application and is not intended to limit the scope of protection of the present application. Any modifications, equivalent substitutions, improvements, etc. made on the basis of the technical solutions of the present application should be included in the scope of protection of the present invention.

Claims

1. A data reporting method, characterized in that: include: During the running of the application, the corresponding types of data to be reported in the data sets to be reported are polled and reported according to the polling cycles corresponding to the types of data to be reported, and the following processing is performed on the data sets to be reported until the predetermined conditions are met: In response to the indication information that the data to be reported is successfully reported, deleting the data to be reported from the data set to be reported; Each data to be reported in the data set to be reported includes a sequence identifier; The polling and reporting of the corresponding types of data to be reported in the data sets to be reported respectively includes: Reporting the corresponding type of data to be reported through the first communication link; The method further comprises: Reporting the maximum sequence identifier and the minimum sequence identifier corresponding to each type according to a preset period through the second communication link; the maximum sequence identifier and the minimum sequence identifier corresponding to each type are used to determine the reporting rate confidence of the corresponding type of data to be reported; The data set to be reported is used to store the data to be reported generated during each operation of the application.

2. The method according to claim 1, characterized in that For any type of data to be reported, the corresponding type of data to be reported in the data set to be reported is polled and reported, including: In each polling cycle, determining a first quantity of to-be-reported data of a corresponding type from the to-be-reported data set; Adding a sequence identifier of each data to be reported in the first number of data to be reported to a sequence identifier set corresponding to the type; For each data to be reported, in response to the indication information that the data to be reported is successfully reported, the sequence identifier of the data to be reported is deleted from the sequence identifier set.

3. The method according to claim 2, characterized in that For each polling cycle, determining a first quantity of to-be-reported data of a corresponding type from the to-be-reported data set includes: Based on the sequence identifiers in the sequence identifier set corresponding to the type, determine the minimum sequence identifier corresponding to the type in the corresponding polling cycle; A first quantity of to-be-reported data of the type is determined sequentially starting from the smallest sequence identifier.

4. The method according to any one of claims 1 to 3, characterized in that Also includes: Obtain new events to be reported generated during the running of the application; Adding a sequence identifier to the new event to be reported to obtain new data to be reported, wherein the sequence identifier of the new data to be reported is the largest among the sequence identifiers of the data to be reported corresponding to the corresponding type; The new data to be reported is stored in the data set to be reported.

5. The method according to claim 1, characterized in that The order identifier of each type of data to be reported is used to determine the reporting rate corresponding to the corresponding type of reported data, wherein the reporting rate corresponding to each type of reported data is determined in the following manner: Corresponding to each type, according to the preset first statistical period, the reporting rate corresponding to the reported data of the corresponding type in the corresponding first statistical period is periodically determined based on the corresponding maximum sequence identifier and minimum sequence identifier of the reported data received in the corresponding first statistical period.

6. The method according to claim 5, characterized in that For a first statistical period, the reporting rate corresponding to each type of reported data is determined by: Determine the reporting rate corresponding to each type of reported data according to the ratio of the total amount of reported data actually received in the first statistical period to the total amount of data that should be reported in the first statistical period; The total amount of data to be reported is determined according to the maximum sequence identifier and the minimum sequence identifier corresponding to the corresponding type of the first statistical period.

7. The method according to claim 5, characterized in that The reporting rate confidence of each type of data to be reported is determined in the following manner: According to a preset second statistical period, periodically receiving a maximum sequence identifier and a minimum sequence identifier corresponding to each type via a second communication link; the second statistical period is greater than or equal to the first statistical period; According to the maximum sequence identifier and the minimum sequence identifier corresponding to each type in any second statistical period, the reporting rate confidence corresponding to the corresponding type in the second statistical period is determined.

8. The method according to claim 7, characterized in that The confidence level of the reporting rate corresponding to the corresponding type in the second statistical period is determined by: In the second statistical period, determine the ratio of the first total number of reported data of the type to the second total number as the reporting rate confidence level corresponding to the type; The first total number is the total number of reportable data corresponding to the type in the second statistical period; The second total number is determined according to a maximum sequence identifier and a minimum sequence identifier corresponding to the type transmitted via the second communication link.

9. A data reporting method, characterized in that: include: Receive various types of reported data; the various types of reported data are polled and reported from the data set to be reported respectively during the running of the application according to the polling period corresponding to each type of data to be reported, and the data set to be reported is used to store the data to be reported generated during each running of the application; Each reported data includes a sequence identifier; Corresponding to each type, according to the preset first statistical period, periodically determining the reporting rate corresponding to the reported data of the corresponding type in the corresponding first statistical period according to the corresponding maximum sequence identifier and the minimum sequence identifier of the reported data received in the corresponding first statistical period; The receiving of various types of reported data includes: Receiving the reporting data of each type via the first communication link; The method further comprises: The maximum sequence identifier and the minimum sequence identifier corresponding to each type are periodically received via the second communication link, and the reporting rate confidence of the to-be-reported data of the corresponding type is determined according to the maximum sequence identifier and the minimum sequence identifier corresponding to each type.

10. The method according to claim 9, characterized in that For a first statistical period, the reporting rate corresponding to each type of reported data is determined by: Determine the reporting rate corresponding to each type of reported data according to the ratio of the total amount of reported data actually received in the first statistical period to the total amount of data that should be reported in the first statistical period; The total amount of data to be reported is determined according to the maximum sequence identifier and the minimum sequence identifier corresponding to the corresponding type of the first statistical period.

11. The method according to claim 9 or 10, characterized in that: The step of determining the reporting rate confidence of the to-be-reported data of the corresponding type according to the maximum sequence identifier and the minimum sequence identifier corresponding to each type includes: According to a preset second statistical period, periodically receiving a maximum sequence identifier and a minimum sequence identifier corresponding to each type via a second communication link; the second statistical period is greater than or equal to the first statistical period; According to the maximum sequence identifier and the minimum sequence identifier corresponding to each type in any second statistical period, the reporting rate confidence corresponding to the corresponding type in the second statistical period is determined.

12. The method according to claim 11, characterized in that For a second statistical period, determining a reporting rate confidence level corresponding to a type in the second statistical period according to a maximum sequence identifier and a minimum sequence identifier corresponding to the type, including: In the second statistical period, determine the ratio of the first total number of reported data of the type to the second total number as the reporting rate confidence level corresponding to the type; The first total number is the total number of reportable data corresponding to the type within the second statistical period; the second total number is determined based on the maximum sequence identifier and the minimum sequence identifier corresponding to the type transmitted through the second communication link.

13. A data reporting device, characterized in that: The device comprises: The reporting module is used to poll and report the corresponding types of data to be reported in the data sets to be reported according to the polling periods corresponding to the types of data to be reported during the running of the application program, and perform the following processing on the data sets to be reported until the predetermined conditions are met: A deletion module, configured to delete the data to be reported from the data set to be reported in response to the indication information that the data to be reported is successfully reported; each data to be reported in the data set to be reported includes a sequence identifier; wherein the data set to be reported is used to store the data to be reported generated during each operation of the application; When the reporting module is used to poll and report the corresponding types of data to be reported in the data sets to be reported, it is specifically used to: Reporting the corresponding type of data to be reported through the first communication link; The reporting module is also used for: The maximum sequence identifier and the minimum sequence identifier corresponding to each type are reported through the second communication link according to a preset period; the maximum sequence identifier and the minimum sequence identifier corresponding to each type are used to determine the reporting rate confidence of the corresponding type of data to be reported.

14. The device according to claim 13, characterized in that For any type of data to be reported, when polling and reporting the corresponding type of data to be reported in the data set to be reported, the reporting module is specifically used to: In each polling cycle, determining a first quantity of to-be-reported data of a corresponding type from the to-be-reported data set; Adding a sequence identifier of each data to be reported in the first number of data to be reported to a sequence identifier set corresponding to the type; For each data to be reported, in response to the indication information that the data to be reported is successfully reported, the sequence identifier of the data to be reported is deleted from the sequence identifier set.

15. The device according to claim 14, characterized in that For each polling cycle, when the reporting module is used to determine a first amount of to-be-reported data of a corresponding type from the to-be-reported data set, it is specifically used to: Based on the sequence identifiers in the sequence identifier set corresponding to the type, determine the minimum sequence identifier corresponding to the type in the corresponding polling cycle; A first quantity of to-be-reported data of the type is determined sequentially starting from the smallest sequence identifier.

16. The device according to any one of claims 13 to 15, characterized in that The device also includes: An acquisition module, used to acquire new events to be reported generated during the running of the application; An identification configuration module, used for adding a sequence identification to the new event to be reported to obtain new data to be reported, wherein the sequence identification of the new data to be reported is the largest among the sequence identifications of the data to be reported corresponding to the corresponding type; The storage module is used to store the new data to be reported into the data set to be reported.

17. The device according to claim 13, characterized in that The order identifier of each type of data to be reported is used to determine the reporting rate corresponding to the corresponding type of reported data, wherein the reporting rate corresponding to each type of reported data is determined in the following manner: Corresponding to each type, according to the preset first statistical period, the reporting rate corresponding to the reported data of the corresponding type in the corresponding first statistical period is periodically determined based on the corresponding maximum sequence identifier and minimum sequence identifier of the reported data received in the corresponding first statistical period.

18. The device according to claim 17, characterized in that For a first statistical period, the reporting rate corresponding to each type of reported data is determined by: Determine the reporting rate corresponding to each type of reported data according to the ratio of the total amount of reported data actually received in the first statistical period to the total amount of data that should be reported in the first statistical period; The total amount of data to be reported is determined according to the maximum sequence identifier and the minimum sequence identifier corresponding to the corresponding type of the first statistical period.

19. The device according to claim 17, characterized in that The reporting rate confidence of each type of data to be reported is determined in the following manner: According to a preset second statistical period, periodically receiving a maximum sequence identifier and a minimum sequence identifier corresponding to each type via a second communication link; the second statistical period is greater than or equal to the first statistical period; According to the maximum sequence identifier and the minimum sequence identifier corresponding to each type in any second statistical period, the reporting rate confidence corresponding to the corresponding type in the second statistical period is determined.

20. The device according to claim 19, characterized in that The confidence level of the reporting rate corresponding to the corresponding type in the second statistical period is determined by: In the second statistical period, determine the ratio of the first total number of reported data of the type to the second total number as the reporting rate confidence level corresponding to the type; The first total number is the total number of reportable data corresponding to the type in the second statistical period; The second total number is determined according to a maximum sequence identifier and a minimum sequence identifier corresponding to the type transmitted via the second communication link.

21. A data reporting device, characterized in that: The device comprises: A receiving module, used for receiving various types of reported data; the various types of reported data are polled and reported from the data set to be reported respectively during the running of the application program according to the polling period corresponding to each type of data to be reported, and the data set to be reported is used to store the data to be reported generated during each running of the application program; each reported data includes a sequence identifier; A reporting rate statistics module, for each type, according to a preset first statistical period, periodically determining a reporting rate corresponding to the reporting data of the corresponding type in the corresponding first statistical period according to the corresponding maximum sequence identifier and the minimum sequence identifier of the reported data received in the corresponding first statistical period; When the receiving module is used to receive various types of reported data, it is specifically used to: Receiving the reporting data of each type via the first communication link; The receiving module is also used for: The maximum sequence identifier and the minimum sequence identifier corresponding to each type are periodically received via the second communication link, and the maximum sequence identifier and the minimum sequence identifier corresponding to each type are used to determine the reporting rate confidence of the corresponding type of data to be reported.

22. The device according to claim 21, characterized in that For a first statistical period, the reporting rate corresponding to each type of reported data is determined by: a ratio of the total amount of reported data actually received during the first statistical period to the total amount of data that should be reported during the first statistical period; The total amount of data to be reported is determined according to the maximum sequence identifier and the minimum sequence identifier corresponding to the corresponding type of the first statistical period.

23. The device according to claim 21 or 22, characterized in that The receiving module is used to receive the maximum sequence identifier and the minimum sequence identifier corresponding to each type periodically via the second communication link, and the maximum sequence identifier and the minimum sequence identifier corresponding to each type are used to determine the reporting rate confidence of the corresponding type of data to be reported, specifically for: According to a preset second statistical period, periodically receiving a maximum sequence identifier and a minimum sequence identifier corresponding to each type via a second communication link; the second statistical period is greater than or equal to the first statistical period; According to the maximum sequence identifier and the minimum sequence identifier corresponding to each type in any second statistical period, the reporting rate confidence corresponding to the corresponding type in the second statistical period is determined.

24. The device according to claim 23, characterized in that For a second statistical period, when the receiving module determines the reporting rate confidence level corresponding to a type in the second statistical period according to the maximum sequence identifier and the minimum sequence identifier corresponding to the type, the receiving module is specifically used to: In the second statistical period, determine the ratio of the first total number of reported data of the type to the second total number as the reporting rate confidence level corresponding to the type; The first total number is the total number of reportable data corresponding to the type in the second statistical period; The second total number is determined according to a maximum sequence identifier and a minimum sequence identifier corresponding to the type transmitted via the second communication link.

25. A terminal device, characterized in that: The terminal device includes a processor and a memory: the memory is used to store program code; the processor is used to execute the data reporting method described in any one of claims 1 to 8 according to instructions in the program code.

26. A server, characterized in that: The server includes a processor and a memory: The memory is used to store program codes; the processor is used to execute the data reporting method according to any one of claims 9 to 12 according to instructions in the program codes.

27. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores at least one instruction, at least one program, a code set or an instruction set, and the at least one instruction, the at least one program, the code set or the instruction set is loaded and executed by the processor to implement the data reporting method according to any one of claims 1 to 8, or the data reporting method according to any one of claims 9 to 12.

Citation Information

Patent Citations

  • Data reporting method and device

    CN108989371A

  • User behavior data processing method and device

    CN110928755A