Buried point data processing method and buried point data processing equipment

By using a dual-serialization system to identify the embedded data between the client and the server, the problems of data duplication and omission caused by inaccurate system timestamps and unstable communication are solved, ensuring the accuracy and consistency of the embedded data, providing error correction guidance, and improving the accuracy of data analysis.

CN122053350APending Publication Date: 2026-05-15JUHAOKAN TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
JUHAOKAN TECH CO LTD
Filing Date
2024-11-08
Publication Date
2026-05-15

AI Technical Summary

Technical Problem

In existing technologies, the inaccuracy of system timestamps and the instability of communication processes make it difficult to guarantee the accuracy and consistency of embedded data, which may lead to data duplication and omissions, affecting the accuracy of server analysis results.

Method used

A dual serial number system based on the number of application launches and the number of data points is adopted to generate unique and sequential identifiers for the data points. Through collaborative processing between the client and the server, the accurate reporting and anomaly analysis of the data points are ensured.

Benefits of technology

It enables accurate identification of duplicate and missing data points in the event of local data loss on the client side or abnormal server response, provides error correction guidance, and improves the accuracy and reliability of data processing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122053350A_ABST
    Figure CN122053350A_ABST
Patent Text Reader

Abstract

The invention discloses a buried point data processing method and buried point data processing equipment, and through the buried point data processing method, each piece of buried point data can be jointly marked from two dimensions, namely the starting frequency of an application program and the number of the buried point data generated in each starting process of the application program; the burying point serial numbers among the plurality of burying point data can ensure uniqueness and sequence, and even under the condition that local data of a client side is lost or a server responds abnormally, the burying point serial numbers can not only ensure uniqueness and sequence; and the server can also perform accurate anomaly analysis according to the historical burying point data reported by the client and the burying point serial numbers corresponding to the burying point data reported at this time, and determine whether the burying point data reported by the client is repeated or omitted. And furthermore, according to the exception analysis result, error correction guidance information is provided for the client, so that the client can locate program vulnerabilities and optimize application functions.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of data processing technology. More specifically, it relates to a method and device for processing embedded data. Background Technology

[0002] With the continuous development of internet technology, people are increasingly using various internet-based terminals to meet their needs for life, entertainment, and work. During this process, these terminals communicate with servers via the internet, generating a large amount of communication data. To facilitate the management of this vast amount of communication data, it is necessary to differentiate and identify it. For example, this could involve differentiating and identifying communication data between different terminals and servers, or differentiating and identifying communication data between the same terminal and servers at different times. To achieve this, various tracking points are typically set up in applications running on the terminals to collect communication data and record corresponding identification information during application operation. Based on this, after the terminal reports the collected communication data to the server, application developers can analyze the reported communication data on the server side based on the identification information of each data point.

[0003] To distinguish data generated at different times, terminals typically obtain corresponding identification information based on the system timestamp corresponding to the time each data was generated. However, system timestamps can also be incorrect due to device restarts, malfunctions, application anomalies, etc. Therefore, identification information obtained based on incorrect system timestamps may contain errors, duplicates, or omissions. In such cases, if the terminal reports the corresponding data to the server and processes and analyzes the data based on the corresponding identification information, it is not only difficult to guarantee the accuracy of the results, but it may even lead to serious consequences. Summary of the Invention

[0004] Exemplary embodiments of this application provide a method and apparatus for processing embedded data, which improve the accuracy of embedded data reported to the server.

[0005] In some embodiments of this application, a method for processing event tracking data is provided, applied to a client, comprising: responding to a triggering operation on a target event in a target application, and obtaining event tracking data generated by the triggering operation; obtaining a first sequence value of a first sequence number and a second sequence value of a second sequence number based on the application identifier of the target application; the first sequence value being used to identify the cumulative number of launches of the target application since its most recent launch; the second sequence value being used to identify the cumulative number of event tracking data generated from the most recent launch of the target application to the current triggering operation; generating an event tracking sequence number corresponding to the event tracking data based on the first sequence value and a third sequence value of the second sequence number, wherein the third sequence value is determined based on the second sequence value; and reporting the event tracking data and the event tracking sequence number to a server so that the server can perform anomaly analysis on the event tracking data based on the event tracking sequence number.

[0006] In an optional embodiment, before responding to a triggering operation on a target event in the target application, the method further includes: responding to a launch operation on the target application and obtaining an application identifier of the target application; obtaining a fourth sequence value of a first sequence number based on the application identifier; the fourth sequence value being used to identify the cumulative number of launches of the target application prior to this launch; and updating the fourth sequence value to the first sequence value.

[0007] In one optional embodiment, obtaining the fourth sequence value of the first serial number based on the application identifier includes: obtaining the first serial number from the local disk based on the application identifier; if the first serial number is obtained from the local disk, reading the sequence value of the first serial number as the fourth sequence value of the first serial number; if the first serial number is not obtained from the local disk, obtaining the first serial number from the server based on the application identifier; if the first serial number is obtained from the server, reading the sequence value of the first serial number and saving it to the local disk as the fourth sequence value of the first serial number; if the first serial number is not obtained from the server, generating the first serial number and initializing the corresponding sequence value, saving it to the local disk as the fourth sequence value of the first serial number.

[0008] In one optional embodiment, obtaining the second sequence value of the second serial number based on the application identifier includes: obtaining the second serial number from the local disk based on the application identifier; if the second serial number is obtained from the local disk, reading the sequence value of the second serial number as the second sequence value of the second serial number; if the second serial number is not obtained from the local disk, obtaining the second serial number from the server based on the application identifier; if the second serial number is obtained from the server, reading the sequence value of the second serial number and saving it to the local disk as the second sequence value of the second serial number; if the second serial number is not obtained from the server, generating the second serial number and initializing the corresponding sequence value, saving it to the local disk as the second sequence value of the second serial number.

[0009] In one optional embodiment, the embedded data includes multiple data points. Generating an embedded sequence number corresponding to the embedded data based on the first sequence value and the third sequence value of the second sequence number includes: determining multiple third sequence values ​​of the second sequence number based on the number of embedded data points and the second sequence value, wherein the multiple third sequence values ​​are sequentially incremented; generating multiple embedded sequence numbers based on the first sequence value and each third sequence value; and sequentially determining the embedded sequence number corresponding to each data point based on the generation order of the multiple embedded data points and the ascending order of the sequence values ​​of the multiple embedded sequence numbers.

[0010] In an optional embodiment, the first sequence number is a 41-bit binary sequence including a sign bit, and the second sequence number is a 23-bit binary sequence; generating the tracking sequence number of the tracking data according to the first sequence value and the third sequence value of the second sequence number includes: generating a 64-bit long integer binary sequence according to the first sequence value and the third sequence value of the second sequence number as the tracking sequence number of the tracking data.

[0011] In one optional embodiment, reporting the event tracking data and the event tracking sequence number to the server includes: determining the access link information required to trigger the target event; the access link information includes the page identifier of at least one application page associated with the target event and the element identifier of at least one page element associated with it; and reporting the event tracking data, the event tracking sequence number, and the access link information to the server together, so that if the server determines that there is an anomaly in the event tracking data based on the event tracking sequence number, it returns error correction guidance information based on the access link information.

[0012] This application also provides a method for processing event tracking data, applied to a server, comprising: receiving event tracking data and its corresponding event tracking sequence number reported by a client; the event tracking data being generated after a target event of a target application is triggered; determining a first sequence number and a second sequence number based on the event tracking sequence number; the sequence value of the first sequence number being used to identify the cumulative number of times the target application has been launched; the sequence value of the second sequence number being used to identify the generation order of the event tracking data after the most recent launch of the target application; and performing anomaly analysis on the event tracking data based on the sequence values ​​corresponding to the first sequence number and the second sequence number, respectively.

[0013] In one optional embodiment, anomaly analysis is performed on the event tracking data based on the sequence values ​​corresponding to the first sequence number and the second sequence number, respectively. This includes: obtaining the historical sequence values ​​corresponding to the most recently saved historical first sequence number and historical second sequence number for the historical event tracking data reported by the target application; and performing anomaly analysis on the event tracking data based on the historical sequence values ​​and the sequence values ​​corresponding to the first sequence number and the second sequence number, respectively.

[0014] In one optional embodiment, the tracking data includes multiple tracking points, each tracking point corresponding to a tracking point sequence number; based on the sequence values ​​corresponding to the first sequence number and the second sequence number, anomaly analysis is performed on the tracking data, including: based on the sequence values ​​corresponding to the first sequence number and the second sequence number of each tracking point, determining whether there are duplicate and / or missing tracking points in the tracking data according to the continuity of the sequence values; if there are duplicate and / or missing tracking points, then the multiple tracking points are determined to be abnormal.

[0015] In an optional embodiment, the method further includes: if it is determined that there are duplicate tracking data in the plurality of tracking data, performing deduplication processing on the duplicate tracking data and saving the processed data to obtain a plurality of tracking data; and / or, if it is determined that there are missing tracking data in the plurality of tracking data, deleting the plurality of tracking data.

[0016] In an optional embodiment, the method further includes: determining the last generated target embedding data among the plurality of embedding data according to the sequence value corresponding to the first sequence number and the second sequence number of each embedding data, based on the continuity of the sequence value; and saving the first sequence number and the second sequence number of the target embedding data.

[0017] In an optional embodiment, the method further includes: receiving access link information jointly reported by the client and the event tracking data; the access link information includes a page identifier of at least one application page associated with the target event and an element identifier of at least one associated page element; determining the target page identifier and target element identifier corresponding to the abnormal event tracking data based on the access link information; and returning error correction guidance information to the client based on the target page identifier and target element identifier.

[0018] This application embodiment also provides a data processing device for tracking points, including a controller configured to: respond to a triggering operation on a target event in a target application, and acquire tracking point data generated by the triggering operation; acquire a first sequence value of a first sequence number and a second sequence value of a second sequence number based on the application identifier of the target application; the first sequence value is used to identify the cumulative number of launches of the target application since its most recent launch; the second sequence value is used to identify the cumulative number of tracking point data generated from the most recent launch of the target application to the current triggering operation; generate a tracking point sequence number corresponding to the tracking point data based on the first sequence value and a third sequence value of the second sequence number, wherein the third sequence value is determined based on the second sequence value; and report the tracking point data and the tracking point sequence number to a server so that the server can perform anomaly analysis on the tracking point data based on the tracking point sequence number.

[0019] This application embodiment also provides a data processing device for event tracking, including a controller configured to: receive event tracking data and its corresponding event tracking sequence number reported by a client; the event tracking data is generated after a target event of a target application is triggered; determine a first sequence number and a second sequence number based on the event tracking sequence number; the sequence value of the first sequence number is used to identify the cumulative number of times the target application has been launched; the sequence value of the second sequence number is used to identify the generation order of the event tracking data after the most recent launch of the target application; and perform anomaly analysis on the event tracking data based on the sequence values ​​corresponding to the first sequence number and the second sequence number, respectively.

[0020] In summary, the data processing method and device provided in this application can jointly mark each data point from two dimensions: the number of times the application is launched and the number of data points generated during each application launch. The uniqueness and order of the data point sequence numbers among multiple data points are guaranteed. Even in cases of client-side data loss or abnormal server response, the server can perform accurate anomaly analysis based on the sequence numbers corresponding to the historical data points reported by the client and the currently reported data points, determining whether the reported data points are duplicated or missing. Furthermore, based on the anomaly analysis results, error correction guidance information is provided to the client, helping the client locate program vulnerabilities and optimize application functionality. Attached Figure Description

[0021] To more clearly illustrate the implementation methods in the embodiments of this application or related technologies, the accompanying drawings used in the description of the embodiments or related technologies will be briefly introduced below. Obviously, the accompanying drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings.

[0022] Figure 1 A flowchart of a method for processing embedded data according to an embodiment of this application is shown;

[0023] Figure 2 A flowchart of another method for processing embedded data provided in an embodiment of this application is shown;

[0024] Figure 3 This illustration shows a schematic diagram of data communication between a client and a server according to an embodiment of this application;

[0025] Figure 4a This illustration shows a schematic diagram of the format of a data embedding serial number provided in an embodiment of this application;

[0026] Figure 4b This illustration shows a schematic diagram of multiple embedding point sequence numbers with duplicate embedding point data provided in an embodiment of this application;

[0027] Figure 4c This illustration shows a schematic diagram of multiple embedding point serial numbers with missing embedding point data, provided in an embodiment of this application.

[0028] Figure 4d This illustration shows a schematic diagram of the client reporting multiple tracking point sequence numbers corresponding to tracking point data to the server during multiple startups of the target application, as provided in the embodiments of this application. Detailed Implementation

[0029] To make the objectives and implementation methods of this application clearer, the exemplary implementation methods of this application will be clearly and completely described below with reference to the accompanying drawings of the exemplary embodiments of this application. Obviously, the exemplary embodiments described are only some embodiments of this application, and not all embodiments.

[0030] It should be noted that the brief descriptions of terms in this application are only for the convenience of understanding the embodiments described below, and are not intended to limit the embodiments of this application. Unless otherwise stated, these terms should be understood in their ordinary and common meaning.

[0031] The terms "first," "second," "third," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish similar or related objects or entities, and do not necessarily imply a specific order or sequence, unless otherwise specified. It should be understood that such terms are interchangeable where appropriate.

[0032] The terms “comprising” and “having”, and any variations thereof, are intended to cover but not exclude inclusion, for example, a product or device that includes a range of components is not necessarily limited to all of the components that are clearly listed, but may include other components that are not clearly listed or that are inherent to such product or device.

[0033] In network service application scenarios, users generate a large amount of operational data while using various network services through a client. After the client reports this operational data to the server, the server can use this data to determine the various functions performed by the application running on the client, confirm the user's actions on the client, perform data processing and analysis, provide network services, and support peripheral services, among other operations. Therefore, for network services that the server focuses on, events that perform the corresponding service functions are usually marked with event logs in the application running on the client to distinguish them from other events.

[0034] In practical applications, users may trigger various events when using network services through a client, causing the application to execute various service functions. Consequently, the amount of operational data generated during the execution of these functions is enormous. Therefore, to differentiate operational data triggered by different events, the client can use sequentially increasing sequence numbers to mark the order in which each operational data point is generated, for operational data generated by events marked with embedded points. This way, when the client sends operational data generated by each embedded event, it can synchronously report the sequence number corresponding to each operational data point to the server. Based on this, after receiving the corresponding operational data and its corresponding sequence number, the server can perform differentiation, processing, and analysis on the massive operational data based on the sequence number of each operational data point, helping to reduce the server's processing load and improve the accuracy of the processing results.

[0035] Considering that each operation data is generated at a different time, the system timestamp corresponding to the generation time of each operation data is usually used as the sequence number of the corresponding operation data. Alternatively, an identifier with sequence attributes can be further generated based on the system timestamp corresponding to the generation time of each operation data as the sequence number of the corresponding operation data. Regardless of which method is used to generate the sequence number, although the forms are slightly different, the basic principle is similar, both utilizing the uniqueness and sequentiality of system timestamps.

[0036] However, in real-world applications, the distinctness and order of system timestamps are not absolute. For example, when a client device powers on, it needs to connect to the internet to calibrate its system timestamp. If there is network latency or failure to connect in time, the system timestamp cannot be calibrated in time. Before system timestamp calibration, the system may use a default value or a random value, such as 19700101 (January 1, 1970), as the system timestamp. This can lead to the current system timestamp overlapping with historical timestamps. Therefore, if operation data generated during this period is used to generate a corresponding serial number based on that timestamp, an incorrect serial number will be generated. Furthermore, considering the characteristics of a Universally Unique Identifier (UUID), there are also ways to use UUIDs to uniquely identify different operation data. However, while UUIDs can guarantee the differentiation of each operation data, they cannot identify the order of different operation data. If a serial number is generated based on a combination of UUID and system timestamp, the same problem as above will occur. Therefore, it is crucial to ensure the accuracy, uniqueness, and order of the sequence numbers generated by the client for different operational data, as this directly affects the accuracy of the server's processing and analysis of the operational data based on the sequence numbers.

[0037] However, even if the serial number generated by the client meets the above requirements, the communication process between the client and the server is a request-response process, which may involve various intermediate nodes. If problems occur on the client, server, or during the communication process, the operation data received by the server may be inaccurate. For example, if the client application terminates abnormally, or the device loses power or is forcibly shut down, the operation data cached on the local disk and ready to be reported may be lost, resulting in the client omitting operation data from the server. Another example is if the server successfully receives and stores the operation data reported by the client, but times out due to network latency, the client will assume the previous reporting process failed and re-report the corresponding operation data, leading to the client repeatedly reporting the same operation data to the server. Yet another example is if the server receives the operation data reported by the client but fails to store it, yet returns a successful storage response message to the client, resulting in missing operation data reported by the client to the server. Finally, the forwarding process by various intermediate nodes during the client's reporting of operation data to the server may cause duplicate or missed reports.

[0038] In the aforementioned situations, it is difficult for both the client and the server to determine the specific data that has been lost, especially when the accuracy of the sequence number cannot be guaranteed. Identifying duplicate or missing data becomes even more challenging. Therefore, it is necessary to propose a new solution that ensures the client generates accurate, distinct, and continuous sequence numbers for different operational data, while also guaranteeing that the server can accurately identify duplicate or missed reports, thus providing error correction guidance to the client.

[0039] To address these issues, one or more embodiments of this application provide a method for processing event tracking data. For ease of explanation, in the embodiments of this application, the event to be tracked is referred to as the target event, and correspondingly, the operation data generated and marked with a sequence number by the target event is referred to as event tracking data. In subsequent embodiments, any application running on the client will be used as the target application, and any target event in the target application will be used as an example to illustrate the execution steps of the event tracking data processing method provided in the embodiments of this application.

[0040] The following sections, with reference to the accompanying diagrams, will explain the methods for processing embedded data applied to the client and server respectively.

[0041] Figure 1 This application provides a method for processing event tracking data applied to a client-side application, as one embodiment of the present application. For example... Figure 1 As shown, the method includes:

[0042] S101, Respond to the triggering operation of the target event in the target application and obtain the tracking data generated by the triggering operation;

[0043] S102. Obtain the first sequence value of the first sequence number and the second sequence value of the second sequence number based on the application identifier of the target application. The first sequence value is used to identify the cumulative number of launches of the target application since its most recent launch; the second sequence value is used to identify the cumulative number of data points generated from the most recent launch of the target application to the current trigger operation.

[0044] S103. Generate the embedding sequence number of the embedding data based on the third sequence value of the first sequence value and the second sequence number, wherein the third sequence value is determined based on the second sequence value.

[0045] S104. Report the event tracking data and event tracking sequence number to the server so that the server can perform anomaly analysis on the event tracking data based on the event tracking sequence number.

[0046] When a user obtains network services through a client, various network services can be provided by the target application running on the client, which performs various functions. Different functions are executed when various events in the target application are triggered. Therefore, the user can obtain the corresponding network service by triggering various events. In this embodiment, taking a target event in the target application as an example, after the user triggers the target event, the client can respond to the triggering operation of the target event and obtain the corresponding event tracking data. The specific form of the target event may vary depending on the device functionality of the client. For example, if the device supports triggering various events through voice, touch screen, remote control, or typing commands in the operation area provided by the device, the user can trigger the target event through voice input, touch screen, remote control, or typing commands in the operation area provided by the device. Alternatively, besides being triggered by the user, the target application can also trigger the target event itself during execution. If the function executed by the target event requires the target parameters provided during the execution of the first function, the target application, after obtaining the target parameters by executing the first specified function, will access the target event and pass the target parameters to it to trigger the target event to execute the corresponding function.

[0047] In this embodiment, the specific triggering method used can be determined based on the functions supported by the actual device and the type of the target event, which will not be detailed here.

[0048] To uniquely identify each data point, the data point sequence number provided in this application consists of two parts: a first sequence number and a second sequence number. The sequence value of the first sequence number identifies the cumulative number of launches of the target application since its first launch, while the sequence value of the second sequence number identifies the cumulative number of data points generated during each launch of the target application. In other words, the sequence number provided in this application does not rely on the system timestamp but rather marks the data point data jointly from two dimensions: the number of launches of the target application and the number of data points generated during each launch. It is evident that the sequence value of the first sequence number corresponding to data points generated during two different launches of the target application is different, and the sequence value of the second sequence number corresponding to different data points generated during the same launch of the target application is different. Therefore, by jointly generating a data point sequence number from different dimensions, the uniqueness and order of each data point sequence number can be guaranteed, accurately identifying each data point.

[0049] In this embodiment, the application identifier of the target application is associated with the first sequence number and the second sequence number. Based on this, after the client obtains the event tracking data generated by the aforementioned triggering operation, it can obtain the first sequence value of the first sequence number and the second sequence value of the second sequence number according to the application identifier of the target application. The first sequence value refers to the sequence value corresponding to the currently obtained first sequence number, used to identify the cumulative number of launches of the target application since its most recent launch. Correspondingly, the second sequence value refers to the sequence value corresponding to the currently obtained second sequence number, used to identify the cumulative number of event tracking data generated by the target application from its most recent launch to the current triggering operation. Based on this, after obtaining the first sequence value of the first sequence number and the second sequence value of the second sequence number, the client can determine the third sequence value of the second sequence number based on the second sequence value. Then, it generates the event tracking sequence number corresponding to the event tracking data based on the first and third sequence values, and reports the event tracking data and the event tracking sequence number to the server so that the server can perform anomaly analysis on the event tracking data based on the event tracking sequence number.

[0050] It should be noted that the embodiments of this application do not limit the specific method of determining the third sequence value based on the second sequence value. The determination method will vary depending on the number of data points, which will be explained in detail in subsequent embodiments. Before explaining this, the process of how the client obtains the first sequence value of the first sequence number and the second sequence value of the second sequence number will be explained first.

[0051] To distinguish the sequence values ​​of the first sequence number corresponding to the target application in different startup processes, in this embodiment, before responding to the triggering operation of the target event in the target application, the client can also respond to the startup operation of the target application and obtain the application identifier of the target application. Then, based on the application identifier, the client obtains the fourth sequence value of the first sequence number, where the fourth sequence value is the sequence value corresponding to the currently obtained first sequence number, used to identify the cumulative number of startups of the target application before this startup. Based on this, the client can update the fourth sequence value to the first sequence value, for example, by performing a "plus 1" operation on the fourth sequence value to obtain the first sequence value, to indicate that the target application has been launched again. Thus, after updating the sequence value of the corresponding first sequence number based on the current startup operation of the target application, the client can execute the method steps S101-S104 described above after responding to the triggering of the target event.

[0052] In practical application scenarios, the target application may lose data stored on the local disk due to program abnormalities, device failures, or other reasons during execution. Therefore, in order to ensure that the tracking sequence number of the tracking data most recently reported to the server during the current startup process can still be determined even if data loss occurs on the client side, the server can save the first and second sequence numbers of the tracking sequence number of the most recently received tracking data after the client reports the tracking data and tracking sequence number to the server. This allows the server to obtain the corresponding first and second sequence numbers from the server if the client cannot obtain the first and second sequence numbers locally.

[0053] It should be noted that, in this embodiment, the specific method by which the server saves the first serial number and the second serial number is not limited. Optionally, the server can directly save the serial number of the most recently received tracking data. In this case, after the client obtains the corresponding tracking serial number from the server, it can obtain the first serial number and the second serial number from the corresponding tracking serial number. Alternatively, the server can also save the first serial number and the second serial number, which are included in the tracking serial number of the most recently received tracking data, separately. In this case, the client can directly obtain the corresponding first serial number and the second serial number from the server. The specific method used can be selected according to actual needs.

[0054] Based on this, when the client obtains the fourth sequence value of the first sequence number according to the application identifier, it can first obtain the first sequence number from the local disk. If the first sequence number is obtained from the local disk, its sequence value is read and used as the fourth sequence value. If the first sequence number is not obtained from the local disk, it is obtained from the server according to the application identifier. Further, if the first sequence number is obtained from the server, its sequence value is read and saved as the fourth sequence value to the local disk. If the first sequence number is not obtained from the server, it indicates that this is the first launch of the target application. The client can generate a first sequence number corresponding to this launch process and initialize the corresponding sequence value. For example, the first sequence number's sequence value can be initialized to 0 and saved as the fourth sequence value to the local disk to indicate that the target application has not been launched before this launch.

[0055] Accordingly, when the client obtains the second sequence value of the second sequence number based on the application identifier, it can first retrieve the second sequence number from the local disk. If the second sequence number is found on the local disk, its sequence value is read and used as the second sequence value of the second sequence number. If the second sequence number is not found on the local disk, it is retrieved from the server based on the application identifier. Further, if the second sequence number is found on the server, its sequence value is read and saved as the second sequence value of the second sequence number to the local disk. If the second sequence number is not found on the server, it indicates that the event-triggered event-generated tracking data is the first tracking data generated by the target application during this startup process. Based on this, the client can generate the second sequence number corresponding to the most recent startup process of the target application and initialize the corresponding sequence value. For example, the client can initialize the sequence value of the second sequence number to 0 and save it as the second sequence value of the second sequence number to the local disk to indicate that no tracking data has been generated during the most recent startup process of the target application.

[0056] Based on the above, after obtaining the first sequence value of the first sequence number and the second sequence value of the second sequence number, the client can determine the third sequence value of the second sequence number based on the second sequence value, and generate the corresponding tracking sequence number for the tracking data according to the first sequence value and the third sequence value. Since the tracking sequence number is used to uniquely identify a tracking data point, when there is only one tracking data point, only one tracking sequence number is generated, and correspondingly, only one third sequence value is generated; when there are multiple tracking data points, multiple tracking sequence numbers are generated, and correspondingly, multiple third sequence values ​​are generated, and these multiple third sequence values ​​are different. In this way, generating multiple different tracking sequence numbers can distinguish and identify multiple tracking data points.

[0057] Based on this, in one optional embodiment, there is one data point. When the client generates a third sequence value based on the second sequence value, it can perform an "increment 1" operation on the second sequence value to obtain a third sequence value corresponding to the second sequence number. This third sequence value is used to identify that the number of data points has increased by one after this triggering operation. Further, a data point sequence number is generated based on the first sequence value and this third sequence value, serving as the data point sequence number for the corresponding data point.

[0058] In another optional embodiment, there are multiple tracking data points. When the client generates a third sequence value based on a second sequence value, it can determine multiple third sequence values ​​for the second sequence number based on the number of tracking data points and the second sequence value. Then, it generates a corresponding tracking sequence number based on the first sequence value and each third sequence value to obtain multiple tracking sequence numbers. Optionally, when determining multiple third sequence values ​​for the second sequence number, an "add 1" operation can be performed on the second sequence value to obtain the first third sequence value. This operation is repeated, with each subsequent third sequence value being incremented by 1 to obtain a new third sequence value, until the number of third sequence values ​​equals the number of tracking data points, at which point the operation stops. Furthermore, the tracking sequence number corresponding to each tracking data point can be determined sequentially based on the generation order of the multiple tracking data points and the ascending order of the sequence values ​​of the multiple tracking sequence numbers to distinguish and identify the multiple tracking data points.

[0059] It should be noted that, in this embodiment, the specific method by which the client generates the tracking sequence number based on the first sequence value and the third sequence value of the second sequence number is not limited. Optionally, the first sequence value and the third sequence value can be directly concatenated together as a tracking sequence number, or an identifier can be generated based on the first sequence value and the third sequence value using a specified algorithm as a tracking sequence number. The specific method used can be selected according to actual needs. To simplify the operation, this embodiment uses the method of directly concatenating the first sequence value and the third sequence value as an example, where the first sequence value comes first and the third sequence value comes last. Of course, the actual processing method is not limited to this.

[0060] In this embodiment, the specific formats of the first and second serial numbers are not limited; their formats can be the same or different. Considering the lifespan of the target application, the first and second serial numbers should be able to represent a wide range of sequence values. Taking into account the difficulty of data processing by the device, this embodiment uses binary sequences as an example, representing the first serial number with a 41-bit binary sequence including a sign bit, and the second serial number with a 23-bit binary sequence. Based on this, when the client generates a tracking sequence number based on the first and second serial numbers' third sequence values, it can concatenate the first and second serial numbers to generate a 64-bit long integer binary sequence, which serves as the tracking sequence number for the tracking data.

[0061] It should be noted that the formats of the first and second serial numbers in the above embodiments are merely illustrative and are not limited to these in practical applications. Accordingly, the specific methods for performing update operations on the sequence values ​​of the first and second serial numbers can also differ based on their specific formats. For example, for numeric sequence values, the "increment" operation can be directly performed using the method described in the above embodiments; or, for character sequence values, the "increment" operation can be performed on the American Standard Code for Information Interchange (ASCII code) corresponding to the character in the computer, and then the new character is used as the updated sequence value. Of course, the above methods are merely illustrative, and the specific method used can be flexibly selected according to actual needs.

[0062] Based on the above, after generating the tracking sequence number of the tracking data according to the third sequence value of the first sequence value and the second sequence number, the tracking data and tracking sequence number can be reported to the server. Optionally, in order to return error correction guidance information to the client if the server determines that the received tracking data is abnormal, the client can also determine the access link information required to trigger the target event before reporting each tracking data and its corresponding tracking sequence number to the server. The access link information may include the page identifier of at least one application page associated with the target event and the element identifier of at least one page element associated with it. In this way, after the client reports each tracking data, its corresponding tracking sequence number, and the access link information to the server, the server can determine whether the corresponding tracking data is abnormal based on each tracking sequence number. If an abnormality is determined, the server can determine which application pages and page elements generated the abnormal tracking data based on the access link information corresponding to the abnormal tracking data, and then return error correction guidance information based on the corresponding access link information.

[0063] It should be noted that, considering the communication process between the client and the server may involve forwarding through intermediate nodes, the various operation data reported by the client to the server may include not only the data generated by the target event, but also operation data generated by other events in the target application, and other types of communication data. Therefore, this application embodiment does not limit the specific content of the access link information. Optionally, in addition to the page identifier of at least one application page associated with the target event and the element identifier of at least one page element associated with it, the access link information may also include the application identifier of the target application, the event identifier of each event including the target event, and the access order between the application pages involved in executing the service functions corresponding to each event and the triggering order between the page elements, etc., so as to enable the server to more accurately locate the target object that generates abnormal data.

[0064] In the above embodiments, the client generates the tracking sequence number of the tracking data from the perspective of the client executing the tracking data processing method. Below, with reference to the accompanying drawings, the server performs anomaly analysis on the tracking data based on the tracking sequence number from the perspective of the server executing the tracking data processing method.

[0065] Figure 2 This application provides an embodiment of a method for processing embedded data on a server. For example... Figure 2 As shown, the method includes:

[0066] S201. Receive the event tracking data and its corresponding event tracking sequence number reported by the client. The event tracking data is generated after the target event of the target application is triggered.

[0067] S202. Based on the tracking sequence number, determine the corresponding first sequence number and second sequence number; the sequence value of the first sequence number is used to identify the cumulative number of times the target application has been launched; the sequence value of the second sequence number is used to identify the generation order of the tracking data after the most recent launch of the target application.

[0068] S203. Perform anomaly analysis on the embedded data based on the sequence values ​​corresponding to the first and second sequence numbers respectively.

[0069] In this embodiment, when a target event of the target application is triggered, the client can report the event-generated tracking data and its corresponding tracking sequence number to the server. Since the tracking sequence number in this embodiment includes a first sequence number and a second sequence number, and the sequence value of the first sequence number is used to identify the cumulative number of launches of the target application, while the sequence value of the second sequence number is used to identify the generation order of the tracking data after the most recent launch of the target application, the server, upon receiving the tracking data and its corresponding tracking sequence number reported by the client, can determine the corresponding first and second sequence numbers based on the tracking sequence number. Furthermore, based on the sequence values ​​corresponding to the first and second sequence numbers, the server performs anomaly analysis on the tracking data to determine whether the tracking data reported by the client is abnormal.

[0070] In this embodiment, the method by which the client reports the event tracking data and its corresponding event tracking sequence number to the server is not limited and can be determined according to actual communication needs. In one optional method, the client and server communicate in real time. If only one event tracking data is generated after the target event is triggered, the client reports the corresponding event tracking data and its corresponding event tracking sequence number to the server each time an event tracking data is generated during the target application's most recent startup. If multiple event tracking data are generated after the target event is triggered, the client reports all multiple event tracking data and the event tracking sequence number of each event tracking data to the server after responding to the triggering of the target event and obtaining the generated multiple event tracking data during the target application's most recent startup. In another optional method, the client communicates with the server at preset time intervals. During each communication, the client reports one or more event tracking data generated by the target application within the corresponding preset time interval during the most recent startup, along with the event tracking sequence number of each event tracking data, to the server.

[0071] Therefore, to ensure that the client can obtain the first and second sequence numbers corresponding to the most recently generated event tracking data reported to the server in the event of local data loss, when the server receives a single event tracking data report from the client, if it determines that the event tracking data is normal, the server will save the first and second sequence numbers corresponding to that event tracking data. When the server receives multiple event tracking data reports from the client, if it determines that there are no missed reports among the multiple event tracking data, the server will save the first and second sequence numbers corresponding to the last generated event tracking data. In this way, in the event of local data loss, the client can determine the event tracking sequence number of the subsequently generated event tracking data based on the first and second sequence numbers obtained from the server. For details, please refer to the above embodiment description of the client execution method. The following describes the process of the server performing anomaly analysis and data processing on the event tracking data reported by the client.

[0072] In this embodiment, the processing method of the server performing anomaly analysis on the event tracking data is not limited. The processing method may also be different depending on the number of event tracking data reported by the client. The specific method can be determined according to actual needs. This embodiment only illustrates the case where the server determines whether the event tracking data reported by the client is duplicated or missing, but it is not limited to this in actual applications.

[0073] In one optional method, the client reports one set of event tracking data. Since the sequence value of each event tracking sequence number has the characteristics of continuity and uniqueness, when the server determines whether the corresponding event tracking data is abnormal based on the historical sequence values ​​corresponding to the first historical sequence number and the second historical sequence number, as well as the sequence values ​​corresponding to the first and second sequence numbers of the event tracking data reported by the client this time, it can determine whether the event tracking data is duplicated with the previously reported historical event tracking data, and whether any event tracking data that should have been reported was omitted between the most recent report and the current report, based on the continuity of the sequence values.

[0074] Based on this, if it is determined that the historical sequence value of the first historical sequence number is the same as the sequence value of the first sequence number corresponding to the data point, and the historical sequence value of the second historical sequence number is the same as the sequence value of the second sequence number corresponding to the data point; or, the historical sequence value of the first historical sequence number is greater than the sequence value of the first sequence number corresponding to the data point, and / or the historical sequence value of the second historical sequence number is greater than the sequence value of the second sequence number corresponding to the data point, then it is determined that the data point reported by the client this time is duplicated with the previously reported historical data point. Correspondingly, if it is determined that the historical sequence value of the first historical sequence number is less than the sequence value of the first sequence number corresponding to the data point, and the historical sequence value of the second historical sequence number is less than the sequence value of the second sequence number corresponding to the data point; or, the historical sequence value of the first historical sequence number is equal to the sequence value of the first sequence number corresponding to the data point, and the historical sequence value of the second historical sequence number is less than the sequence value of the second sequence number corresponding to the data point, but there is a discontinuity in the sequence values ​​between the first historical sequence number and the first sequence number of the data point and / or between the second historical sequence number and the second sequence number of the data point, then it is determined that the client missed reporting data point data that should have been reported between the most recent report and the current report.

[0075] In another alternative approach, the client reports multiple event tracking data points. For the first event tracking data point generated among these multiple points (i.e., the one with the smallest second sequence value), the method described in the previous embodiment can be used to determine whether it duplicates historical event tracking data reported by the client, and to determine if the client missed reporting event tracking data between the most recent report and the current report. In addition, the server can also perform anomaly analysis on the multiple event tracking data points reported by the client this time to determine whether there are duplicate or missed event tracking data points among them.

[0076] Optionally, the server can determine whether there are duplicate or missing data points among the multiple data points based on the sequence values ​​corresponding to the first and second sequence numbers of each data point, according to the continuity and uniqueness of the sequence values. For example, if multiple data points have the same first and second sequence numbers, then duplicate data points are identified; conversely, if multiple data points have the same first sequence number but the second sequence number does not satisfy the continuity requirement, then missing data points are identified. Based on this, if the server determines that the multiple data points reported by the client this time contain duplicates and / or omissions, then the server determines that the multiple data points reported by the client this time are abnormal.

[0077] Optionally, if the server determines that multiple event tracking data points contain duplicate data, it can further deduplicate the duplicate data points and save the resulting data points. Accordingly, to ensure data security in case of local data loss on the client side, the server can retrieve the first and second sequence numbers corresponding to the last generated event tracking data point from the most recently reported historical event tracking data. For the multiple event tracking data points obtained after deduplication, the server can also determine the target event tracking data point with the largest second sequence number based on the sequence values ​​corresponding to the first and second sequence numbers of each event tracking data point, according to the continuity of the sequence values. Then, the first and second sequence numbers of the target event tracking data point are saved so that the client can determine the event tracking sequence number of subsequently generated event tracking data points. The specific method by which the server saves the first and second sequence numbers is not limited; optionally, the first and second sequence numbers can be saved separately, or the event tracking sequence number of the target event tracking data point can be directly saved. Accordingly, if the server stores the first serial number and the second serial number separately, the client can directly obtain the corresponding first serial number and the second serial number according to the actual processing needs; if the server stores the tracking serial number, the client can obtain the corresponding tracking serial number from the server, and then read the first serial number and the second serial number from it. The specific method can be flexibly selected according to the actual processing needs.

[0078] In practical applications, the event tracking data reported by the client may not only be related to the target event, but may even be associated with other events and affect other service functions. If the client misses to report event tracking data, the server may not be able to accurately analyze other events and service functions associated with the corresponding event tracking data, which may even lead to serious consequences. Therefore, considering the integrity of functions and the accuracy of processing results, if the server determines that the client has missed to report event tracking data, it can delete the event tracking data reported by the client in this instance, so that it can be saved and processed after receiving the correct event tracking data later. Of course, in this embodiment of the application, the method of direct deletion is only an illustrative example, and the actual processing method is not limited to this. The specific method can be determined according to actual needs.

[0079] In practical applications, multiple service methods may need to be executed before an event is triggered. These service methods may also have inter-call relationships. Any one of these service methods may be used to perform low-level processing operations of the target application or to implement page functionality on the client side. Therefore, the tracking data generated when the target event is triggered actually corresponds to the upstream service method of the target event, as well as the application page and page elements corresponding to the respective service methods.

[0080] Therefore, to enable the server to determine from the complex call chain which application page the client accessed, which page element it triggered, and which service method it executed to generate the tracking data, the client can also report the access chain information corresponding to the tracking data to the server along with the tracking data and the corresponding tracking sequence number. The specific content of the access chain information is not limited; optionally, it may include the page identifier of at least one application page associated with the target event and the element identifier of at least one associated page element. Based on this, after receiving the access chain information reported along with the tracking data, if the server determines that the tracking data is abnormal, it can determine the target page identifier and target element identifier corresponding to the abnormal tracking data based on the access chain information, and then return error correction guidance information to the client based on the target page identifier and target element identifier.

[0081] It should be noted that the embodiments of this application do not limit the specific content of the error correction guidance information returned by the server to the client. Optionally, the target page identifier and target element identifier corresponding to the abnormal data can be returned to the client to instruct the client to perform functional checks on the program code corresponding to the target page identifier and target element identifier; or, the access link information corresponding to the abnormal data can be returned to the client so that the client can perform a comprehensive check on the associated application pages and page elements according to the access link; or, only a prompt message can be returned to the client to inform that the data sent in this communication is duplicated and / or omitted. The specific method is determined according to actual needs.

[0082] Alternatively, before returning error correction guidance information to the client, the server can also count the error frequency of each application page and page element based on the target page identifier and target element identifier corresponding to the abnormal data, and return this information to the client as error correction guidance information, so that the client can conduct targeted investigation and processing of the corresponding application pages and page elements.

[0083] In the above embodiments, the example only illustrates the server's anomaly analysis of the data generated by the target event. However, in real-world applications, a single communication process between the client and server is not limited to just one triggered target event. In fact, during the execution of the target application, after one event is triggered, other events may be automatically triggered, or further triggered by other user actions. During this process, multiple triggered events may be used to jointly implement the same service function, or they may be used to implement different service functions. For example, taking a smart TV as an example, when a user watches a video, a playback event is triggered. After the currently playing video finishes playing, a page jump event is automatically triggered to the next video playback page, or a query event is triggered to ask the user whether to continue playing the next video. During the current video playback, the user can also trigger other events through operations. For example, the video playback page includes a video introduction information display area; opening this display area triggers a window open event, scrolling through the introduction information triggers a scroll event, and exiting the display area after browsing triggers a window close event, and so on.

[0084] In other words, multiple data points reported by the client to the server may be generated by multiple events, and the service functions corresponding to different events may also be different. Therefore, to distinguish between them, the access link information corresponding to each data point reported by the client to the server may include, in addition to the above information, the function identifier of the service function corresponding to the data point event that generated each data point and other necessary related information, so that the server can accurately locate the target object causing the abnormal data point. The specific content of the access link information can be determined according to the type of service function involved in the execution of the target application, and is not limited here.

[0085] Based on this, when the server performs anomaly analysis on multiple event tracking data points reported by the client in one or more instances, it can also group these events according to the function identifier in the access link information of each event tracking data point. Event tracking data points used to execute the same service function are grouped together, allowing for anomaly analysis of event tracking data generated by different service functions. Of course, within each group, further granular differentiation can be performed based on information such as event identifiers, page identifiers, and element identifiers to perform anomaly analysis on the event tracking data from different dimensions. The specific method can be determined according to actual needs and will not be elaborated upon here.

[0086] For the process of the client and server executing the data processing method for the embedded data in the above embodiments, and the data communication process between the client and server, please refer to [link to relevant documentation]. Figure 3 .

[0087] like Figure 3 As shown in this embodiment, during the execution of the target application on the client, when a target event is triggered, corresponding event tracking data is generated. Based on this, the client can generate a corresponding event tracking sequence number for the event tracking data generated when the target event is triggered. Then, based on the communication protocol between the client and the server, the client reports the event tracking data and the corresponding event tracking sequence number to the server. Further, as... Figure 3 As shown, after receiving the event tracking data and corresponding event tracking sequence number reported by the client, the server can parse the event tracking sequence number to determine the first sequence number and the second sequence number. Then, based on the first and second sequence numbers, it performs anomaly analysis on the received event tracking data. Based on this, if it is determined that the client has repeatedly reported or omitted event tracking data, the server returns error correction guidance information to the client.

[0088] It should be noted that, Figure 3 This only illustrates the basic process of the client and server executing the data processing method and the data communication between the client and server. For specific details, please refer to the descriptions of the corresponding parts in the above method embodiments, which will not be repeated here.

[0089] In the above embodiments, the process of the client and server respectively executing the data processing method is described. The following, with specific examples, explains the principle of the data tracking sequence number provided in the embodiments of this application and how to perform anomaly analysis based on the data tracking sequence number.

[0090] Figure 4a This is a schematic diagram illustrating the format of a tracking sequence number provided in an embodiment of this application. In this embodiment, a 64-bit binary sequence is used as an example for explanation. Figure 4a As shown, in the tracking sequence number, the first bit is used as the sign bit, the 40-bit binary sequence immediately following the sign bit is used as the first sequence number, and the subsequent 23-bit binary sequence is used as the second sequence number. The first sequence number increments sequentially based on the number of times the target application is launched, starting from the first launch of the target application. The second sequence number increments sequentially based on the number of tracking data points generated during each launch of the target application.

[0091] Figure 4b This is a diagram illustrating the sequence numbers of data points that contain duplicate data points across multiple tracking points. Figure 4c This diagram illustrates the sequence number of a data point where there are missing data points among multiple data points. To simplify the example, it is represented by decimal numbers. For example, "1_2" represents the sequence number of the second data point generated during the first startup of the target application, and so on.

[0092] like Figure 4bAs shown, among the event tracking sequence numbers corresponding to multiple event tracking data points, there are two instances of "1_50," indicating that during the first startup of the target application, the event tracking data generated for the 50th time was reported to the server twice. Based on this, after identifying the aforementioned event tracking sequence numbers, the server can determine the existence of duplicate event tracking data based on the continuity of the sequence values ​​of the first and second sequence numbers. Furthermore, for duplicate event tracking data, the server can also perform deduplication processing based on the continuity of the sequence values ​​of the first and second sequence numbers, and save and further process the deduplicated event tracking data.

[0093] like Figure 4c As shown, among the multiple tracking point sequence numbers, "1_51" is missing between "1_50" and "1_52," indicating that the tracking point data generated in the 51st iteration during the target application's first startup was not reported to the server. Based on this, after identifying the aforementioned tracking point sequence numbers, the server can determine the missing tracking point data based on the continuity of the sequence values ​​of the first and second sequence numbers. Furthermore, for functional integrity and accuracy, the server can delete these multiple tracking point data sets to ensure that it receives tracking point data with correct sequence values ​​in subsequent communications before processing.

[0094] based on Figure 4a The serial number format shown is... Figure 4d This illustrates the sequence numbers of multiple tracking data points reported by the client to the server during multiple launches of the target application. In this embodiment, to distinguish the sign bit, the first sequence number, and the second sequence number, they are separated by hyphens, such as... Figure 4d As shown, during the first startup of the target application, the sequence number of the first data point reported by the client to the server is:

[0095] "0-00000000000000000000000000000000000001-00000000000000000000001"

[0096] Accordingly, such as Figure 4d As shown, the sequence number of the second data point reported by the client to the server is:

[0097] "0-00000000000000000000000000000000000001-0000000000000000000010"

[0098] And so on, such as Figure 4d As shown, the sequence number of the 100th data point reported by the client to the server is:

[0099] "0-00000000000000000000000000000000000001-00000000000000001100100"

[0100] Suppose that during the first startup of the target application, before the client reports the 101st data point to the server, the target application unexpectedly and automatically exits. Then, upon the second startup of the target application, if... Figure 4d As shown, the sequence number of the first data point reported by the client to the server is:

[0101] "0-00000000000000000000000000000000000010-00000000000000000000001"

[0102] Accordingly, such as Figure 4d As shown, the sequence number of the second data point reported by the client to the server is:

[0103] "0-000000000000000000000000000000000010-00000000000000000000010"

[0104] And so on, without going into further detail.

[0105] It should be noted that, Figures 4a-4d This is merely one implementation of the embedding sequence number provided in this application embodiment, and is not limited to this. The specific implementation can be flexibly selected according to actual needs.

[0106] In summary, the data processing method for event tracking provided in this application can jointly mark each event tracking data point from two dimensions: the number of application launches and the number of event tracking data points generated during each application launch. The event tracking sequence numbers among multiple event tracking data points not only guarantee uniqueness and order, but also allow the server to perform accurate anomaly analysis based on the event tracking sequence numbers corresponding to the historical event tracking data reported by the client and the currently reported event tracking data, even in cases of client-side data loss or abnormal server response. This analysis determines whether event tracking data has been repeatedly reported or omitted. Furthermore, based on the anomaly analysis results, error correction guidance information is provided to the client, helping the client locate program vulnerabilities and optimize application functionality.

[0107] It is understood that the above embodiments are merely examples, and modifications can be made to the above embodiments in actual implementation. Those skilled in the art will understand that any modifications to the above embodiments that do not require creative effort fall within the protection scope of one or more embodiments of this application, and will not be described in detail in the embodiments.

[0108] Based on the same inventive concept, this application also provides a data processing device corresponding to the data processing method for client applications. The device includes a controller configured to: respond to a triggering operation on a target event in a target application; acquire data generated by the triggering operation; acquire a first sequence value of a first sequence number and a second sequence value of a second sequence number based on the application identifier of the target application, wherein the first sequence value identifies the cumulative number of launches of the target application since its most recent launch; the second sequence value identifies the cumulative number of data points generated from the most recent launch of the target application to the current triggering operation; generate data point sequence numbers corresponding to multiple data points based on the first sequence value and the third sequence value of the second sequence number, wherein the third sequence value is determined based on the second sequence value; and report the data points and the data point sequence numbers to a server for the server to perform anomaly analysis on the data points based on the data point sequence numbers.

[0109] In an optional embodiment, before responding to a triggering operation on a target event in the target application, the controller is further configured to: respond to a launch operation on the target application, obtain the application identifier of the target application; obtain a fourth sequence value of a first sequence number based on the application identifier; the fourth sequence value is used to identify the cumulative number of launches of the target application before this launch; and update the fourth sequence value to the first sequence value.

[0110] In one optional embodiment, the controller obtains the fourth sequence value of the first sequence number based on the application identifier, configured to: obtain the first sequence number from the local disk based on the application identifier; if the first sequence number is obtained from the local disk, read the sequence value of the first sequence number as the fourth sequence value of the first sequence number; if the first sequence number is not obtained from the local disk, obtain the first sequence number from the server based on the application identifier; if the first sequence number is obtained from the server, read the sequence value of the first sequence number and save it to the local disk as the fourth sequence value of the first sequence number; if the first sequence number is not obtained from the server, generate the first sequence number and initialize the corresponding sequence value, and save it to the local disk as the fourth sequence value of the first sequence number.

[0111] In one optional embodiment, the controller obtains the second sequence value of the second serial number based on the application identifier, configured to: obtain the second serial number from the local disk based on the application identifier; if the second serial number is obtained from the local disk, read the sequence value of the second serial number and use it as the second sequence value of the second serial number; if the second serial number is not obtained from the local disk, obtain the second serial number from the server based on the application identifier; if the second serial number is obtained from the server, read the sequence value of the second serial number and save it as the second sequence value of the second serial number to the local disk; if the second serial number is not obtained from the server, generate a second serial number and initialize the corresponding sequence value, and save it as the second sequence value of the second serial number to the local disk.

[0112] In one optional embodiment, the embedded data includes multiple data points. The controller generates an embedded sequence number corresponding to the embedded data based on a first sequence value and a third sequence value of a second sequence number. The controller is configured to: determine multiple third sequence values ​​of the second sequence number based on the number of multiple embedded data points and the second sequence value, with the multiple third sequence values ​​increasing sequentially; generate multiple embedded sequence numbers based on the first sequence value and each third sequence value; and sequentially determine the embedded sequence number corresponding to each embedded data point based on the generation order of the multiple embedded data points and the ascending order of the sequence values ​​of the multiple embedded sequence numbers.

[0113] In one optional embodiment, the first sequence number is a 41-bit binary sequence including a sign bit, and the second sequence number is a 23-bit binary sequence; the controller generates the tracking sequence number of the tracking data based on the first sequence value and the third sequence value of the second sequence number, and is configured to generate a 64-bit long integer binary sequence as the tracking sequence number of the tracking data based on the first sequence value and the third sequence value of the second sequence number.

[0114] In one optional embodiment, the controller reports the event tracking data and event tracking sequence number to the server and is configured to: determine the access link information required to trigger the target event; the access link information includes the page identifier of at least one application page associated with the target event and the element identifier of at least one page element associated with it; and report the event tracking data, event tracking sequence number and access link information to the server together, so that if the server determines that there is an anomaly in the event tracking data based on the event tracking sequence number, it returns error correction guidance information based on the access link information.

[0115] Accordingly, based on the same inventive concept, this application also provides a data processing device corresponding to the data processing method for server applications. The device includes a controller configured to: receive data reported by a client and its corresponding data sequence number; generate data after a target event of the target application is triggered; determine a first sequence number and a second sequence number based on the data sequence number; use the sequence value of the first sequence number to identify the cumulative number of times the target application has been launched; use the sequence value of the second sequence number to identify the generation order of the data after the most recent launch of the target application; and perform anomaly analysis on the data based on the sequence values ​​corresponding to the first and second sequence numbers.

[0116] In one optional embodiment, the controller performs anomaly analysis on the embedded data based on the sequence values ​​corresponding to the first sequence number and the second sequence number, and is configured to: for the historical embedded data reported by the target application, obtain the historical sequence values ​​corresponding to the most recently saved historical first sequence number and historical second sequence number, respectively; and perform anomaly analysis on the embedded data based on the historical sequence values ​​and the sequence values ​​corresponding to the first sequence number and the second sequence number, respectively.

[0117] In one optional embodiment, the tracking data includes multiple tracking points, each tracking point corresponding to a tracking point sequence number; the controller performs anomaly analysis on the tracking data based on the sequence values ​​corresponding to the first sequence number and the second sequence number, and is configured to: determine whether there are duplicate and / or missing tracking points in the multiple tracking data according to the continuity of the sequence values ​​corresponding to the first sequence number and the second sequence number of each tracking point; if there are duplicate and / or missing tracking points, then the multiple tracking points are determined to be abnormal.

[0118] In an optional embodiment, the controller is further configured to: when it is determined that there are duplicate data points among the multiple data points, perform deduplication processing on the duplicate data points and save the processed data points to obtain multiple data points; and / or, when it is determined that there are missing data points among the multiple data points, delete the multiple data points.

[0119] In an optional embodiment, the controller is further configured to: determine the last generated target embedding data among multiple embedding data according to the sequence value corresponding to the first sequence number and the second sequence number of each embedding data, based on the continuity of the sequence value; and save the first sequence number and the second sequence number of the target embedding data.

[0120] In an optional embodiment, the controller is further configured to: receive access link information jointly reported by the client and the event tracking data; the access link information includes the page identifier of at least one application page associated with the target event and the element identifier of at least one page element associated with it; determine the target page identifier and target element identifier corresponding to the abnormal event tracking data based on the access link information; and return error correction guidance information to the client based on the target page identifier and target element identifier.

[0121] It should be noted that the functional principles of the above two types of data processing devices are the same as the implementation principles of the corresponding steps in the data processing methods in the above method embodiments. For details, please refer to the description of the corresponding parts in the above method embodiments, which will not be repeated here.

[0122] In some alternative implementations, the controller in the above two types of embedded data processing devices may include a microprocessor or other processor device and / or logic device, which receives input and controls the operation of various components of the corresponding embedded data processing device.

[0123] In some alternative implementations, the two types of embedded data processing devices mentioned above may also include components such as: memory, communication module, input unit, audio processor, display, and power supply.

[0124] The memory can be coupled to the controller and can be one or more of the following: a cache, flash memory, hard drive, removable media, volatile memory, non-volatile memory, or other suitable devices. It can store programs related to the aforementioned execution information. The controller can execute the program stored in the memory to perform information storage or processing, etc.

[0125] The memory can be solid-state memory, such as read-only memory (ROM), random access memory (RAM), SIM card, etc. It can also be memory that retains information even when power is off, can be selectively erased, and contains more data; examples of this type of memory are sometimes called EPROM, etc. The memory can also be some other type of device. The memory includes buffer memory (sometimes called a buffer). The memory can include an application / function storage unit for storing application programs and function programs or processes for executing the operation of the embedded data processing device via a controller.

[0126] The memory may also include a data storage section for storing data, such as contacts, digital data, images, sounds, and / or any other data used by the data processing device. The memory's driver storage section may include various drivers for the computer device's communication functions and / or for performing other functions of the computer device (such as messaging applications, address book applications, etc.).

[0127] The input unit can provide input to the controller. This input unit may be, for example, a button or touch input device. The power supply can be used to provide power to the embedded data processing equipment. The display can be used to display images and text, etc. This display may be, for example, an LCD display, but is not limited to this.

[0128] The communication module is a transmitter / receiver that sends and receives signals via an antenna. The communication module (transmitter / receiver) is coupled to the controller to provide input signals and receive output signals, which can be the same as in a conventional mobile communication terminal.

[0129] Based on different communication technologies, multiple communication modules can be configured in the same computer device, such as cellular network modules, Bluetooth modules, and / or wireless LAN modules. The communication modules (transmitters / receivers) are also coupled to speakers and microphones via an audio processor to provide audio output through the speakers and receive audio input from the microphones, thereby enabling typical telecommunications functions. The audio processor can include any suitable buffer, decoder, amplifier, etc. Additionally, the audio processor is coupled to a controller, enabling on-device recording via the microphone and on-device playback of stored sound via the speakers.

[0130] Accordingly, one or more embodiments of this application also provide a computer-readable storage medium storing a computer program, which, when executed by a controller, can implement all the steps of the above-described method for processing embedded data applied to the above-described client.

[0131] Accordingly, one or more embodiments of this application also provide a computer-readable storage medium storing a computer program, which, when executed by a controller, can implement all the steps of the above-described method for processing embedded data applied to the above-described server.

[0132] While one or more embodiments of this application provide method operation steps as shown in the embodiments or flowcharts, more or fewer operation steps may be included based on conventional or non-inventive labor. The order of steps listed in the embodiments is merely one possible execution order among many and does not represent the only execution order. In actual device or client product execution, the method can be executed sequentially as shown in the embodiments or drawings, or in parallel (e.g., in a parallel processor or multi-threaded processing environment).

[0133] Those skilled in the art will understand that embodiments of this application can be provided as methods, apparatus (systems), or computer program products. Therefore, embodiments of this application can take the form of entirely hardware embodiments, entirely software embodiments, or embodiments combining software and hardware aspects. Furthermore, one or more embodiments of this application can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0134] One or more embodiments of this application are described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to one or more embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0135] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0136] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0137] The various embodiments in this application are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the device and system embodiments are basically similar to the method embodiments, so the descriptions are relatively simple; relevant parts can be referred to the descriptions of the method embodiments.

[0138] In this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Those skilled in the art will understand the specific meaning of the above terms in one or more embodiments of this application, depending on the specific circumstances.

[0139] It should be noted that, unless otherwise specified, one or more embodiments of this application and the features thereof can be combined with each other. One or more embodiments of this application are not limited to any single aspect, nor to any single embodiment, nor to any combination and / or substitution of these aspects and / or embodiments. Furthermore, each aspect and / or embodiment of one or more embodiments of this application can be used alone or in combination with one or more other aspects and / or embodiments thereof.

[0140] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features therein. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.

[0141] For ease of explanation, the above description has been provided in conjunction with specific embodiments. However, the above exemplary discussion is not intended to be exhaustive or to limit the embodiments to the specific forms disclosed above. Various modifications and variations can be obtained based on the above teachings. The selection and description of the above embodiments are for the purpose of better explaining the principles and practical applications, thereby enabling those skilled in the art to better utilize the described embodiments and various different variations of embodiments suitable for specific use considerations.

Claims

1. A method for processing embedded data, applied to a client-side application, characterized in that, include: Responding to a triggering operation on a target event in the target application, the system acquires the tracking data generated by the triggering operation; Based on the application identifier of the target application, obtain the first sequence value of the first serial number and the second sequence value of the second serial number; The first sequence value is used to identify the cumulative number of times the target application has been launched since its most recent launch; The second sequence value is used to identify the number of data points generated cumulatively from the most recent launch of the target application to the current trigger operation; A third sequence value is generated based on the first sequence value and the second sequence value to generate a tracking sequence number corresponding to the tracking data, wherein the third sequence value is determined based on the second sequence value. The embedded data and the embedded sequence number are reported to the server so that the server can perform anomaly analysis on the embedded data based on the embedded sequence number.

2. The method according to claim 1, characterized in that, Prior to responding to a triggering action on a target event in the target application, the method further includes: In response to a launch operation on the target application, obtain the application identifier of the target application; The fourth sequence value of the first sequence number is obtained based on the application identifier; the fourth sequence value is used to identify the cumulative number of times the target application has been launched before this launch; Update the fourth sequence value to the first sequence value.

3. The method according to claim 2, characterized in that, Obtaining the fourth sequence value of the first sequence number based on the application identifier includes: Obtain the first serial number from the local disk based on the application identifier; If the first serial number is obtained from the local disk, then the sequence value of the first serial number is read and used as the fourth sequence value of the first serial number; If the first serial number is not obtained from the local disk, then the first serial number is obtained from the server based on the application identifier; If the first serial number is obtained from the server, the sequence value of the first serial number is read and saved to the local disk as the fourth sequence value of the first serial number. If the first serial number is not obtained from the server, the first serial number is generated and the corresponding serial value is initialized and saved to the local disk as the fourth serial value of the first serial number.

4. The method according to claim 1, characterized in that, Obtaining the second sequence value of the second sequence number based on the application identifier includes: Based on the application identifier, obtain the second serial number from the local disk; If the second serial number is obtained from the local disk, then the sequence value of the second serial number is read and used as the second sequence value of the second serial number; If the second serial number is not obtained from the local disk, then the second serial number is obtained from the server based on the application identifier; If the second serial number is obtained from the server, the sequence value of the second serial number is read and saved to the local disk as the second sequence value of the second serial number; If the second serial number is not obtained from the server, the second serial number is generated and the corresponding serial value is initialized and saved to the local disk as the second serial value of the second serial number.

5. The method according to any one of claims 1-4, characterized in that, The embedded data includes multiple data points. Based on the first sequence value and the third sequence value of the second sequence number, an embedded sequence number corresponding to the embedded data is generated, including: Based on the number of multiple embedded data points and the second sequence value, multiple third sequence values ​​of the second sequence number are determined, and the multiple third sequence values ​​are sequentially increased; Based on the first sequence value and each third sequence value, multiple embedding sequence numbers are generated; Based on the generation order of the multiple data points and the ascending order of the sequence values ​​of the multiple data point serial numbers, the serial number corresponding to each data point is determined sequentially.

6. The method according to any one of claims 1-4, characterized in that, The first sequence number is a 41-bit binary sequence including a sign bit, and the second sequence number is a 23-bit binary sequence; Based on the first sequence value and the third sequence value of the second sequence number, the tracking sequence number of the tracking data is generated, including: Based on the first sequence value and the third sequence value of the second sequence number, a 64-bit long integer binary sequence is generated as the tracking sequence number corresponding to the tracking data.

7. The method according to any one of claims 1-4, characterized in that, Reporting the embedded data and the embedded sequence number to the server includes: Determine the access link information required to trigger the target event; the access link information includes the page identifier of at least one application page associated with the target event and the element identifier of at least one page element associated with it; The event tracking data, the event tracking sequence number, and the access link information are reported to the server together, so that if the server determines that there is an anomaly in the event tracking data based on the event tracking sequence number, it can return error correction guidance information based on the access link information.

8. A method for processing embedded data, applied to a server, characterized in that, include: Receive the embedded data and its corresponding embedded sequence number reported by the client; The data points are generated after a target event of the target application is triggered. Based on the embedded point sequence number, a corresponding first sequence number and a second sequence number are determined; the sequence value of the first sequence number is used to identify the cumulative number of times the target application has been launched. The sequence value of the second sequence number is used to identify the generation order of the embedded data after the most recent start of the target application; Anomaly analysis is performed on the embedded data based on the sequence values ​​corresponding to the first and second sequence numbers, respectively.

9. The method according to claim 8, characterized in that, Based on the sequence values ​​corresponding to the first and second sequence numbers, anomaly analysis is performed on the embedded data, including: For the historical data points reported by the target application, obtain the historical sequence values ​​corresponding to the most recently saved first historical sequence number and second historical sequence number, respectively; Anomaly analysis is performed on the embedded data based on the historical sequence values ​​and the sequence values ​​corresponding to the first and second sequence numbers, respectively.

10. The method according to claim 8, characterized in that, The data points include multiple data points, and each data point corresponds to a data point sequence number. Based on the sequence values ​​corresponding to the first and second sequence numbers, anomaly analysis is performed on the embedded data, including: Based on the sequence values ​​corresponding to the first and second sequence numbers of each data point, determine whether there are duplicate and / or missing data points among multiple data points according to the continuity of the sequence values; If duplicate and / or missing data points are found, the multiple data points are determined to be abnormal.

11. The method according to claim 10, characterized in that, The method further includes: If duplicate data points are found among the multiple data points, the duplicate data points are deduplicated and saved to obtain multiple data points; and / or, If it is determined that there are missing data points among the multiple data points, then delete the multiple data points.

12. The method according to claim 11, characterized in that, The method further includes: Based on the sequence values ​​corresponding to the first and second sequence numbers of each data point, the last target data point generated among the multiple data points is determined according to the continuity of the sequence values. Save the first and second serial numbers of the target embedded data.

13. The method according to any one of claims 7-12, characterized in that, The method further includes: Receive access link information jointly reported by the client and the embedded data; the access link information includes the page identifier of at least one application page associated with the target event and the element identifier of at least one page element associated with it; Based on the access link information, determine the target page identifier and target element identifier corresponding to the abnormal data points; Based on the target page identifier and the target element identifier, error correction guidance information is returned to the client.

14. A device for processing embedded data, characterized in that, Includes a controller, which is configured to: Responding to a triggering operation on a target event in the target application, the system acquires the tracking data generated by the triggering operation; Based on the application identifier of the target application, obtain the first sequence value of the first serial number and the second sequence value of the second serial number; The first sequence value is used to identify the cumulative number of times the target application has been launched since its most recent launch; The second sequence value is used to identify the number of data points generated cumulatively from the most recent launch of the target application to the current trigger operation; A third sequence value is generated based on the first sequence value and the second sequence value to generate a tracking sequence number corresponding to the tracking data, wherein the third sequence value is determined based on the second sequence value. The embedded data and the embedded sequence number are reported to the server so that the server can perform anomaly analysis on the embedded data based on the embedded sequence number.

15. A device for processing embedded data, characterized in that, Includes a controller, which is configured to: Receive the event tracking data and its corresponding event tracking sequence number reported by the client; the event tracking data is generated after the target event of the target application is triggered; Based on the embedded point sequence number, a corresponding first sequence number and a second sequence number are determined; the sequence value of the first sequence number is used to identify the cumulative number of times the target application has been launched. The sequence value of the second sequence number is used to identify the generation order of the embedded data after the most recent startup of the target application; Anomaly analysis is performed on the embedded data based on the sequence values ​​corresponding to the first and second sequence numbers, respectively.