Method, device and storage medium for buried point data statistics

CN116795661BActive Publication Date: 2026-08-11PING AN TECH (SHENZHEN) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-06-21
Publication Date
2026-08-11

AI Technical Summary

Technical Problem

如果需要更新的埋点数据越多,对更新后的埋点数据进行统计需要的时间复杂度越高

Benefits of technology

[0049] The method, apparatus, device, and storage medium for statistical analysis of embedded data proposed in this application obtain a first embedded data array by acquiring first embedded data received at different times. The first embedded data array is then transformed into a second embedded data array by dividing it into preliminary intervals. The second embedded data array stores intervals and related information. If the embedded data is updated, only the second embedded data array needs to be updated to obtain a third embedded data array. When performing embedded data statistics, only a portion of the array node values ​​in the third embedded data array need to be selected based on the statistical time to obtain the embedded data statistics value. This application embodiment reduces the time complexity during embedded data supplementation by transforming the first embedded data array into a second embedded data array, where the second embedded data stores the intervals and information of the first embedded data. When the first embedded data needs to be updated, it is not necessary to traverse the entire array; only the corresponding interval sum needs to be updated to update the second embedded data array.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116795661B_ABST
    Figure CN116795661B_ABST
Patent Text Reader

Abstract

This invention provides a method, apparatus, device, and storage medium for statistical analysis of embedded data, relating to the fields of data processing and financial technology. The method includes: obtaining a first embedded data array by acquiring first embedded data received at different times; converting the first embedded data array into a second embedded data array by dividing it into preliminary intervals; storing intervals and related information in the second embedded data array; and obtaining statistical values ​​by selecting a subset of array nodes in the second embedded data array based on the statistical time, as required by this invention. By converting the first embedded data array into a second embedded data array, and storing the intervals and information of the first embedded data in the second embedded data array, this invention eliminates the need to traverse the entire array when updating the first embedded data; only the corresponding interval sum needs to be updated to update the second embedded data array, thereby reducing the time complexity during the embedded data supplementation process.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the fields of data processing and financial technology, and in particular to methods, apparatus, equipment and storage media for statistical analysis of embedded data. Background Technology

[0002] Financial institutions can use event tracking technology to record user behavior on websites or apps, including clicks, browsing, and purchases. This allows them to understand user preferences, habits, and needs, helping to provide more personalized and precise services and products, while also controlling risk. To obtain user click-through rates, event tracking code can be set to collect user event data, which can be stored in an array. This data can be the number of times content is displayed or clicked at different times, or the total number of times content is displayed or clicked over a period of time.

[0003] In real-world scenarios, network issues or problems with the data collection equipment may prevent the timely reporting of event tracking data. This data needs to be re-reported after the network is restored or the equipment is repaired to update the previous tracking data. However, if we need to calculate the sum of event tracking data over a specific period, we need to iterate through the event tracking data storage array, resulting in a time complexity of O(N), where N is the size of the query time interval. The more event tracking data needs to be updated, the higher the time complexity becomes in calculating the updated data. Therefore, improving the efficiency of event tracking data analysis has become a pressing technical problem. Summary of the Invention

[0004] The main objective of this application is to propose a method, apparatus, device, and storage medium for statistical analysis of embedded data, which can reduce the time complexity of statistical analysis of embedded data.

[0005] To achieve the above objectives, a first aspect of this application proposes a method for statistical analysis of embedded data, comprising:

[0006] The first embedded data is obtained from the target terminal according to the receiving time; wherein, the receiving time is the time when the processing device receives the first embedded data;

[0007] The first embedded data is stored in the first node of the first embedded data array according to the receiving time to obtain the first node data. The first node data also includes: the first node index.

[0008] Calculate the preliminary interval of the first node index; wherein the preliminary interval includes a first right boundary, and the first right boundary is the first node index;

[0009] The sum of the intervals of the preliminary intervals is calculated based on the first embedded data, and the sum of the preliminary intervals is stored as interval statistical data in the second node of the second embedded data array to obtain the second node data.

[0010] When updating the first tracking data to the second tracking data, the sum of the initial intervals is updated according to the second tracking data to obtain the sum of the target intervals, and the second tracking array is updated using the sum of the target intervals to obtain the third tracking array;

[0011] Obtain the index of the first node corresponding to the statistical time, select at least one of the interval statistical data in the third embedding array according to the first node index, and obtain the embedding statistical value of the statistical time according to the interval statistical data.

[0012] In one embodiment, the preliminary interval further includes: a first left boundary; the calculation of the preliminary interval for the first node index includes:

[0013] Obtain the first calculated value of the first right boundary;

[0014] The first left boundary is calculated based on the first right boundary and the first calculated value;

[0015] The preliminary interval is obtained based on the first left boundary and the first right boundary.

[0016] In one embodiment, the second node data further includes: a second node index, wherein the array length of the second tracking point array is the same as the array length of the first tracking point array, and the second node index is the same as the first node index; the step of calculating the interval sum of the preliminary intervals based on the first tracking point data, obtaining the preliminary interval sum, and storing the preliminary interval sum as interval statistical data in the second node of the second tracking point array to obtain the second node data includes:

[0017] Obtain the interval elements of the preliminary interval, wherein the interval elements are all the first node indices contained between the first left boundary and the first right boundary;

[0018] Select the first embedded data corresponding to the interval element in the first embedded data array;

[0019] Summing all the first embedded data points yields the sum of the initial intervals of the initial intervals;

[0020] The sum of the preliminary intervals is stored in the second node in ascending order of the second node index to obtain the second node data. The interval statistics are the sum of the preliminary intervals.

[0021] In one embodiment, when updating the first tracking data to the second tracking data, updating the sum of the initial intervals based on the second tracking data to obtain the sum of the target intervals, and updating the second tracking array using the sum of the target intervals to obtain the third tracking array, includes:

[0022] Obtain the index of the first node corresponding to the first embedded data;

[0023] Obtain at least one target interval, wherein the interval element of the target interval contains the index of the first node, and obtain the first right boundary of the target interval;

[0024] Update the sum of each target interval based on the second embedded data to obtain the sum of the target intervals;

[0025] Update the interval statistics corresponding to the first right boundary based on the sum of the target intervals, and update the second tracking array to obtain the third tracking array.

[0026] In one embodiment, the step of selecting at least one of the interval statistical data from the third tracking point array according to the first node index, and obtaining the tracking point statistical value of the statistical time according to the interval statistical data, includes:

[0027] Query length information is generated based on the first node index, and a corresponding query interval is generated based on the query length information, wherein the query interval includes the second right boundary;

[0028] Select the interval statistical data corresponding to the second right boundary from the third embedded point array;

[0029] The statistical data of the interval is summed to obtain the statistical value of the embedded point.

[0030] In one embodiment, the query length information includes: the number of intervals; the first node index is an integer greater than or equal to 1; the number of intervals is obtained by taking the logarithm of the first node index with base 2; the step of generating query length information based on the first node index and generating corresponding query intervals based on the query length information includes:

[0031] The first node index is converted to binary to obtain the index conversion value;

[0032] The subscript conversion value is represented as the sum of at least one exponentiation data;

[0033] A first query interval is generated based on the number of intervals; the first query interval is a left-open and right-closed interval, and the first query interval includes: a second left boundary and a second right boundary;

[0034] Calculate the second left boundary and the second right boundary of each first query interval based on the first node index and the power data;

[0035] The left update boundary is obtained by adding 1 to the second left boundary, and the query interval is obtained by using the left update boundary and the second right boundary. The query interval is a closed interval with both left and right sides.

[0036] In one embodiment, calculating the second left boundary and the second right boundary of each of the first query intervals based on the first node index and the exponentiation data includes:

[0037] The number of target values ​​in the subscript conversion values ​​is counted to obtain the conversion quantity; wherein, the target value is a value of 1, the conversion quantity is an integer greater than or equal to 1, and the position information of the target value corresponds to selecting different exponent data;

[0038] Based on the location information of the target value, the number of power data to be converted are obtained in a preset order;

[0039] The second left boundary and the second right boundary are calculated based on the first node index and the power data; wherein, for the i-th first query interval, the second left boundary is the first node index minus i power data in the preset order; the second right boundary is the first node index minus i-1 power data in the preset order.

[0040] To achieve the above objectives, a second aspect of this application provides a data collection and statistics device for use in a processing device, the device comprising:

[0041] The acquisition module is used to acquire first embedded data from the target terminal according to the receiving time; wherein, the receiving time is the time when the processing device receives the first embedded data;

[0042] The first tracking point array storage module is used to store the first tracking point data in the first node of the first tracking point array according to the receiving time, so as to obtain the first node data. The first node data also includes: the first node index.

[0043] An interval partitioning module is used to calculate the preliminary interval of the first node index; wherein, the preliminary interval includes a first right boundary, and the first right boundary is the first node index;

[0044] The interval sum calculation module is used to calculate the interval sum of the preliminary interval based on the first embedded data, obtain the preliminary interval sum, and store the preliminary interval sum as interval statistical data in the second node of the second embedded array to obtain the second node data;

[0045] The tracking point array update module is used to update the sum of the initial intervals based on the second tracking point data to obtain the sum of the target intervals when updating the first tracking point data to the second tracking point data, and to update the second tracking point array using the sum of the target intervals to obtain the third tracking point array.

[0046] The tracking statistics module is used to obtain the index of the first node corresponding to the statistical time, select at least one of the interval statistical data in the third tracking array according to the first node index, and obtain the tracking statistics value of the statistical time according to the interval statistical data.

[0047] To achieve the above objectives, a third aspect of this application provides an electronic device, which includes a memory and a processor. The memory stores a computer program, and the processor executes the computer program to implement the method described in the first aspect.

[0048] To achieve the above objectives, a fourth aspect of the present application provides a storage medium, which is a computer-readable storage medium storing a computer program that, when executed by a processor, implements the method described in the first aspect.

[0049] The method, apparatus, device, and storage medium for statistical analysis of embedded data proposed in this application obtain a first embedded data array by acquiring first embedded data received at different times. The first embedded data array is then transformed into a second embedded data array by dividing it into preliminary intervals. The second embedded data array stores intervals and related information. If the embedded data is updated, only the second embedded data array needs to be updated to obtain a third embedded data array. When performing embedded data statistics, only a portion of the array node values ​​in the third embedded data array need to be selected based on the statistical time to obtain the embedded data statistics value. This application embodiment reduces the time complexity during embedded data supplementation by transforming the first embedded data array into a second embedded data array, where the second embedded data stores the intervals and information of the first embedded data. When the first embedded data needs to be updated, it is not necessary to traverse the entire array; only the corresponding interval sum needs to be updated to update the second embedded data array. Attached Figure Description

[0050] Figure 1 This is a flowchart of the data collection and statistics method provided in the embodiments of the present invention.

[0051] Figure 2 yes Figure 1 The flowchart of step S130.

[0052] Figure 3 This is a schematic diagram illustrating the conversion of the first tracking point array into the second tracking point array in the tracking point data statistics method provided in this embodiment of the invention.

[0053] Figure 4 yes Figure 1 The flowchart for step S140.

[0054] Figure 5 yes Figure 1 The flowchart for step S150.

[0055] Figure 6 yes Figure 1 The flowchart for step S160 in the process.

[0056] Figure 7 yes Figure 6 The flowchart for step S161.

[0057] Figure 8 yes Figure 7 The flowchart for step S1614 in the process.

[0058] Figure 9 This is a structural block diagram of a data collection and statistics device provided in another embodiment of the present invention.

[0059] Figure 10 This is a schematic diagram of the hardware structure of the electronic device provided in an embodiment of the present invention. Detailed Implementation

[0060] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the invention.

[0061] It should be noted that although functional modules are divided in the device schematic diagram and the logical order is shown in the flowchart, in some cases, the steps shown or described may be performed in a different order than the module division in the device or the order in the flowchart.

[0062] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention pertains. The terminology used herein is for the purpose of describing embodiments of the invention only and is not intended to limit the invention.

[0063] First, let's clarify some of the terms used in this invention:

[0064] Event tracking, also known as event monitoring, refers to the techniques and implementation processes involved in capturing, processing, and reporting specific user behaviors or events. Event tracking is used to collect user behavior data. For example, user actions and browsing content on a device can be tracked through event tracking. Event tracking involves embedding a piece of code into a page or button to listen for and report user behavior.

[0065] An array is a fixed-length data structure that stores elements of the same data type. The elements in an array are stored in a contiguous block of memory.

[0066] Click count: refers to the number of times one or more keywords are clicked within a certain period of time. It is a quantifier used to count the number of clicks on online content promotion, etc.

[0067] Exposure count: refers to how many specific users are recommended to one or more keyword-related content and displayed on their terminal display screen, or how many times one or more keyword-related content appears on a specific user's terminal display screen.

[0068] Binary: A number system used in computing technology. The base of binary is 2. The carry rule is "carry one when you reach two" and the borrow rule is "borrow one to be equivalent to two". Binary is composed of 1 and 0. Binary data uses two digits, 0 and 1, to represent numbers. Like decimal, it can represent any integer.

[0069] Recommendation systems can generate customized recommendation strategies for different users based on their click-through rates. They can then send the recommended data to various user terminals, either targeted or untargeted, to promote a product or information. To obtain user click-through rates, tracking codes can be set to capture user data. This data can be stored in an array, and can represent the number of impressions and clicks at different times, or the total number of impressions and clicks over a period of time.

[0070] In real-world scenarios, due to network or data collection device issues, tracking data may fail to be reported in a timely manner. It is necessary to re-report the data after the network is restored or the data collection device is repaired to update the previous tracking data. However, if it is necessary to calculate the sum of tracking data over a certain period, it is necessary to traverse the tracking data storage array, which has a time complexity of O(N), where N is the size of the query time interval. For example, if the tracking data is stored in the format of [date, number of clicks], assuming four days of tracking data are obtained and stored in the array, the tracking data is represented as: [(20230101,100),(20230102,200),(20230103,300),(20230104,260)]. If it is necessary to calculate the cumulative number of clicks from 20230101 to 20230104, i.e., to calculate the total number of clicks for these four days, it is necessary to traverse the array once, with a time complexity of O(4). If the event tracking data for January 4, 2023 needs to be updated, and the event tracking data for that day is counted as (20230104, 300), then if the cumulative count from January 1, 2023 to January 4, 2023 is also counted, it is still necessary to iterate through all dates again, and the time complexity remains O(4) for the query time interval. The more event tracking data needs to be updated, the higher the time complexity required to count the updated event tracking data. Therefore, how to improve the efficiency of the statistical analysis after event tracking data collection has become an urgent technical problem to be solved.

[0071] Based on this, embodiments of the present invention provide a method, apparatus, device, and storage medium for statistical analysis of embedded data. By converting a first embedded data array into a second embedded data array, the second embedded data array stores the interval and information of the first embedded data. When the first embedded data needs to be updated, it is not necessary to traverse the entire array; only the corresponding interval and information need to be updated to update the second embedded data array, thereby reducing the time complexity during the supplementary reporting of embedded data.

[0072] The present invention provides a method, apparatus, device and storage medium for statistical analysis of embedded data, which are specifically described through the following embodiments. First, the method for statistical analysis of embedded data in the embodiments of the present invention is described.

[0073] The method for statistical analysis of event tracking data provided in this invention relates to the field of data processing technology. This method can be applied to a terminal, a server, or a computer program running on either the terminal or the server. For example, the computer program can be a native program or software module in an operating system; it can be a native application (APP), i.e., a program that needs to be installed in the operating system to run, such as a client that supports event tracking data analysis; it can also be a mini-program, i.e., a program that only needs to be downloaded to a browser environment to run; or it can be a mini-program that can be embedded into any APP. In short, the above-mentioned computer program can be any form of application, module, or plugin. The terminal communicates with the server via a network. This event tracking data analysis method can be executed by the terminal or the server, or by the terminal and the server working together.

[0074] In some embodiments, the terminal can be a smartphone, tablet, laptop, desktop computer, or smartwatch, etc. Additionally, the terminal can also be a smart in-vehicle device. This smart in-vehicle device uses the data tracking statistics method of this embodiment to provide related services and improve the driving experience. The server can be an independent server, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks (CDNs), and big data and artificial intelligence platforms; it can also be a service node in a blockchain system, where the service nodes form a peer-to-peer (P2P) network. The P2P protocol is an application layer protocol running on top of the Transmission Control Protocol (TCP). The server can install the server-side software of the data tracking statistics system, which can interact with the terminal. For example, the server can install corresponding software, which can be an application implementing the data tracking statistics method, but is not limited to the above forms. The terminal and the server can be connected via Bluetooth, USB (Universal Serial Bus), or network communication methods, and this embodiment does not impose any restrictions.

[0075] This invention can be used in a wide variety of general-purpose or special-purpose computer system environments or configurations. Examples include: personal computers, server computers, handheld or portable devices, tablet devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, and distributed computing environments including any of the above systems or devices. This invention can be described in the general context of computer-executable instructions, such as program modules, that are executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform specific tasks or implement specific abstract data types. This invention can also be practiced in distributed computing environments where tasks are performed by remote processing devices connected via a communication network. In distributed computing environments, program modules can reside in local and remote computer storage media, including storage devices.

[0076] The method for statistical analysis of embedded data in the embodiments of the present invention will be described below first.

[0077] Figure 1 This is an optional flowchart of the data collection and statistics method provided in the embodiments of the present invention. Figure 1 The method may include, but is not limited to, steps S110 to S170. It is also understood that this embodiment... Figure 1 The order of steps S110 to S170 is not specifically limited, and the order of steps can be adjusted or some steps can be reduced or added according to actual needs.

[0078] Step S110: Obtain the first embedded data from the target terminal according to the receiving time.

[0079] In one embodiment, financial institutions can use event tracking technology to record user behavior on websites or apps, including clicks, browsing, and purchases, thereby understanding user preferences, habits, and needs. This helps provide users with more personalized and precise services and products. For example, on a bank's website or app, event tracking technology can accurately determine which pages users visit, which functions they use, and their experience during use, thus optimizing user experience and improving product design and marketing strategies. Besides optimizing user experience and product design, event tracking technology can also help financial institutions identify and prevent fraudulent activities. By analyzing user behavior, financial institutions can discover risks such as abnormal transactions and fraudulent transactions, and take timely preventative measures. In financial scenarios, the first type of event tracking data is collected by installing event tracking-related programs on the target terminal with the informed consent of the user. The target terminal can be a mobile terminal, a server, or other hardware device. The data can include the number of times users click on promotional content or the number of times promotional content is exposed on the target terminal. The specific data to be collected can be set according to actual needs.

[0080] It is understood that the data collection and statistics method of this application embodiment is applied to a processing device, which can be a server or a mobile terminal. The data collection program uploads the data collected from the target terminal to the processing device according to a preset receiving time. Here, the receiving time is the time when the processing device receives the data.

[0081] In one embodiment, the event tracking program can aggregate event tracking data collected at different collection times to obtain the first event tracking data. For example, if event tracking data is collected once per hour and needs to be uploaded once per day, then the collection time is in hours and the reception time is in days. The program can aggregate the 24 event tracking data collected every hour to obtain the first event tracking data for that day.

[0082] In one embodiment, when there are multiple user devices, that is, each date contains the tracking data uploaded by multiple user target terminals, the tracking data of all users under that date is summarized as the first tracking data of that date.

[0083] In one embodiment, the event tracking program needs to collect the number of clicks over M days. The upload format of the first event tracking data is [date, number of clicks]. Therefore, the first event tracking data is represented as: (day1, data1), (day2, data2), ..., (dayi, datai) ..., (dayM, dataM), where dayi represents the receiving time as day i, and datai represents the first event tracking data collected on day i. It is understood that the receiving time of the event tracking data can be consecutive dates or not consecutive dates.

[0084] Step S120: Store the first embedded data in the first node of the first embedded data array according to the receiving time to obtain the first node data.

[0085] In one embodiment, for ease of computation, the first tracking data needs to be discretized. This discretization refers to the process of constructing a first tracking array using the first tracking data. The first tracking array contains multiple first nodes, and each first node stores information related to a first tracking data to obtain first node data. If there are M first tracking data, then the first tracking array has M nodes.

[0086] In one embodiment, since each node in the array contains node data and its index, the first node data includes: first event tracking data and a first node index. If the upload format of the first event tracking data is [date, number of times], the date is the receiving time of the first event tracking data. The dates of the M first event tracking data are sorted according to their temporal order, and a first node index is generated according to the sorting result. The first event tracking data is stored in the node corresponding to the first node index to obtain the first node data, thereby constructing the first event tracking array. Here, the temporal order refers to the chronological order of the dates, for example, January 1st is before January 2nd, January 2nd is before January 3rd, and so on.

[0087] For example, the first set of event tracking data includes: (1201, 100), (1203, 200), (1206, 300), (1209, 300), where 1201 represents December 1st, and so on. Therefore, the first event tracking array A is constructed as follows:

[0088] A={A[1],A[2],A[3],A[4]}={100, 200, 300, 300}

[0089] The first node index starts from 1. 1201 corresponds to the first node index "1", 1203 corresponds to the first node index "2", 1206 corresponds to the first node index "3", and 1209 corresponds to the first node index "4".

[0090] As can be seen from the above, the first tracking point array contains the same number of first nodes as the number of first tracking point data. Each first node stores first node data, and the first node index of the first node data corresponds to the upload date. The content stored in the first node is the first tracking point data corresponding to the upload date.

[0091] Step S130: Calculate the preliminary interval of the first node index.

[0092] In one embodiment, assuming the first node index is m, where m is an integer greater than or equal to 1, the initial interval of the first node index m is a range including a first left boundary and a first right boundary, where the first right boundary is the first node index m. It is understood that in this embodiment, the initial interval of each first node index is calculated sequentially in ascending order.

[0093] In one embodiment, reference is made to Figure 2 This is a flowchart illustrating a specific implementation of step S130 in one embodiment. In this embodiment, step S130, which calculates the preliminary interval of the first node index, includes:

[0094] Step S131: Obtain the first operation value of the first right boundary.

[0095] Step S132: Calculate the first left boundary based on the first right boundary and the first operation value.

[0096] Step S133: Obtain the preliminary interval based on the first left boundary and the first right boundary.

[0097] In one embodiment, the initial interval is represented as [L, R], where L represents the left boundary and R represents the right boundary. The first operand is the lowbit operand value, where the lowbit(n) function extracts the value consisting of the least significant 1 bit of n in its binary representation and the 0 bits following it. That is, this step calculates the value of lowbit(R) as the first operand value.

[0098] In one embodiment, the first left boundary is represented as R-lowbit(R)+1, and the initial interval is represented as [R-lowbit(R)+1, R].

[0099] Since the first right boundary is the index of the first node, the above process represents each first node index as a preliminary interval, and the range of this preliminary interval is calculated from the first right boundary R. That is, the range of the first node index m can be calculated based on the first node index m, thus obtaining its preliminary interval. It can be understood that the preliminary interval may contain only one value.

[0100] In one embodiment, reference is made to Figure 3 Assume that the first tracking point array A contains 16 first tracking point data, represented as: A[1], A[2], A[3], A[4], A[5], A[6], A[7], A[8], A[9], A

[10] , A

[10] , A

[12] , A

[13] , A

[14] , A

[15] , A

[16] .

[0101] When the first node index m = 1, the initial interval is: [1-lowbit(1)+1,1] = [1];

[0102] When the index of the first node is m=2, the initial interval is: [2-lowbit(2)+1,2]=[2-2+1,2]=[1,2];

[0103] When the first node index m = 3, the initial interval is: [3-lowbit(3)+1,3] = [3-1+1,3] = [3];

[0104] When the first node index m = 4, the initial interval is: [4-lowbit(4)+1,4] = [4-4+1,4] = [1,4];

[0105] When the first node index m = 5, the initial interval is: [5-lowbit(5)+1,5] = [5-1+1,5] = [5];

[0106] When the first node index m = 6, the initial interval is: [6-lowbit(6)+1,6] = [6-2+1,6] = [5,6];

[0107] When the first node index m = 7, the initial interval is: [7-lowbit(7)+1,7] = [7-1+1,7] = [7];

[0108] When the first node index m = 8, the initial interval is: [8-lowbit(8)+1,8] = [8-8+1,8] = [1,8];

[0109] When the first node index m = 9, the initial interval is: [9-lowbit(9)+1,9] = [9-1+1,9] = [9];

[0110] When the first node index m = 10, the initial interval is: [10-lowbit(10)+1,10] = [10-2+1,10] = [9,10];

[0111] When the first node index m = 11, the initial interval is: [11-lowbit(11)+1,11] = [11-1+1,11] =

[11] ;

[0112] When the first node index m = 12, the initial interval is: [12-lowbit(12)+1,12] = [12-4+1,12] = [9,12];

[0113] When the first node index m = 13, the initial interval is: [13-lowbit(13)+1,13] = [13-1+1,13] =

[13] ;

[0114] When the first node index m = 14, the initial interval is: [14-lowbit(14)+1,14] = [14-2+1,14] = [13,14];

[0115] When the first node index m = 15, the initial interval is: [15-lowbit(15)+1,15] = [15-1+1,15] =

[15] ;

[0116] When the first node index m = 16, the initial interval is: [16-lowbit(16)+1,16] = [16-16+1,16] = [1,16];

[0117] As can be seen from the above, each first node index corresponds to a preliminary interval.

[0118] Step S140: Calculate the sum of the preliminary intervals based on the first embedded data, obtain the sum of the preliminary intervals, and store the sum of the preliminary intervals as interval statistics in the second node of the second embedded data array to obtain the second node data.

[0119] In one embodiment, a second tracking array with the same length as the first tracking array is constructed. The second tracking array corresponds to the first tracking array and includes multiple second nodes. The second nodes store second node data, which includes interval statistics and second node indices. Here, the second node indices correspond one-to-one with the first node indices. One-to-one correspondence means that if the first node indices in the first tracking array are 1, 2, 3, 4, 5, and 6, then the second node indices in the second tracking array are also 1, 2, 3, 4, 5, and 6. The number of second node indices is the same as the number of first node indices, and the values ​​at the same position are also the same.

[0120] In one embodiment, reference is made to Figure 4 This is a flowchart illustrating a specific implementation of step S140 in one embodiment. In this embodiment, the sum of the preliminary intervals is calculated based on the first embedded data, and the sum of the preliminary intervals is stored as interval statistical data in the second node of the second embedded data array. Step S140, which obtains the data of the second node, includes:

[0121] Step S141: Obtain the interval elements of the initial interval.

[0122] In one embodiment, the interval elements are all the indices of the first nodes contained between the first left boundary and the first right boundary. For example... Figure 3 When the index m of the first node is 4, the initial interval is [1, 4], and the interval elements contained in this initial interval are: 1, 2, 3 and 4.

[0123] Step S142: Select the first embedded data corresponding to the interval element in the first embedded data array.

[0124] In one embodiment, the interval element is used as the first node index to sequentially select the corresponding first tracking data in the first tracking data array. (Refer to...) Figure 3 When the first node index m = 4, the initial interval [1, 4] contains the interval elements 1, 2, 3 and 4, and the corresponding first embedded data are A[1], A[2], A[3] and A[4]. When the first node index m = 12, the initial interval [9, 12] contains the interval elements 9, 10, 11 and 12, and the corresponding first embedded data are A[9], A

[10] , A

[10] and A

[12] , and so on.

[0125] Step S143: Sum all the first embedded data to obtain the sum of the preliminary intervals.

[0126] In one embodiment, reference is made to Figure 3 When the first node index m = 4, the sum of the initial intervals of the initial interval [1, 4] is expressed as: A[1] + A[2] + A[3] + A[4]; when the first node index m = 12, the sum of the initial intervals of the initial interval [9, 12] is expressed as: A[9] + A

[10] + A

[10] + A

[12] , and so on.

[0127] Step S144: Store the sum of the initial intervals in the second node in ascending order of the second node index to obtain the second node data.

[0128] In one embodiment, the sum of the initial intervals is stored as interval statistics in the second node. (Refer to...) Figure 3 The second embedding array B corresponds to the first embedding array A, and is represented as: B[1], B[2], B[3], B[4], B[5], B[6], B[7], B[8], B[9], B

[10] , B

[10] , B

[12] , B

[13] , B

[14] , B

[15] , B

[16] . The subscripts of the second nodes range from 1 to 16.

[0129] When the index of the second node is 1, the sum of the initial intervals of the initial interval is: A[1], therefore the interval statistics corresponding to the index of the second node are: B[1] = A[1].

[0130] When the index of the second node is 2, the sum of the initial intervals of the initial intervals is: A[1]+A[2]. Therefore, the interval statistics corresponding to the index of the second node are: B[2]=A[1]+A[2].

[0131] When the index of the second node is 3, the sum of the initial intervals of the initial interval is: A[3], therefore the interval statistics corresponding to the index of the second node are: B[3] = A[3].

[0132] When the index of the second node is 4, the sum of the initial intervals is: A[1]+A[2]+…+A[4], therefore the interval statistics corresponding to the index of the second node are:

[0133] B[4]=A[1]+A[2]+…+A[4]=B[2]+B[3]+A[4].

[0134] When the index of the second node is 5, the sum of the initial intervals of the initial interval is: A[5], therefore the interval statistics corresponding to the index of the second node are: B[5] = A[5].

[0135] When the index of the second node is 6, the sum of the initial intervals of the initial intervals is: A[5]+A[6], therefore the interval statistics corresponding to the index of the second node are: B[6]=A[5]+A[6].

[0136] When the index of the second node is 7, the sum of the initial intervals of the initial intervals is: A[7], therefore the interval statistics corresponding to the index of the second node are: B[7] = A[7].

[0137] When the index of the second node is 8, the sum of the initial intervals is: A[1] + A[2] + ... + A[8]. Therefore, the interval statistics corresponding to the index of the second node are:

[0138] B[8]=A[1]+A[2]+…+A[8]=B[4]+B[6]+B[7]+A[8].

[0139] When the index of the second node is 9, the sum of the initial intervals of the initial intervals is: A[9], therefore the interval statistics corresponding to the index of the second node are: B[9] = A[9].

[0140] When the index of the second node is 10, the sum of the initial intervals of the initial intervals is: A[9]+A

[10] . Therefore, the interval statistics corresponding to the index of the second node are: B

[10] =A[9]+A

[10] .

[0141] When the index of the second node is 11, the sum of the initial intervals of the initial interval is: A

[11] , therefore the interval statistics corresponding to the index of the second node are: B

[11] = A

[11] .

[0142] When the index of the second node is 12, the sum of the initial intervals is: A[9] + A

[10] + ... + A

[12] . Therefore, the interval statistics corresponding to the index of the second node are:

[0143] B

[12] =A[9]+A

[10] +…+A

[12] =B

[10] +B

[11] +A

[12] .

[0144] When the index of the second node is 13, the sum of the initial intervals of the initial intervals is: A

[13] , therefore the interval statistics corresponding to the index of the second node are: B

[13] = A

[13] .

[0145] When the index of the second node is 14, the sum of the initial intervals of the initial intervals is: A

[13] +A

[14] . Therefore, the interval statistics corresponding to the index of the second node are: B

[14] =A

[13] +A

[14] .

[0146] When the index of the second node is 15, the sum of the initial intervals of the initial interval is: A

[15] , therefore the interval statistics corresponding to the index of the second node are: B

[15] = A

[15] .

[0147] When the index of the second node is 16, the sum of the initial intervals is: A[1] + A[2] + ... + A

[16] . Therefore, the interval statistics corresponding to the index of the second node are:

[0148] B

[16] =A[1]+A[2]+…+A

[16] =B[8]+B

[12] +B

[14] +A

[16] .

[0149] The above process transforms the first tracking point array into a second tracking point array, which stores the range and information of the first tracking point data.

[0150] Step S150: When updating the first tracking data to the second tracking data, update the initial interval sum based on the second tracking data to obtain the target interval sum, and use the target interval sum to update the second tracking array to obtain the third tracking array.

[0151] In one embodiment, reference is made to Figure 5 This is a flowchart illustrating a specific implementation of step S150 in one embodiment. In this embodiment, when updating the first tracking data to the second tracking data, the step S150, which updates the initial interval sum based on the second tracking data to obtain the target interval sum and updates the second tracking array using the target interval sum to obtain the third tracking array, includes:

[0152] Step S151: Obtain the index of the first node corresponding to the first embedded data.

[0153] In one embodiment, when it is necessary to update the first embedded data at a certain time in the receiving time, it is necessary to obtain the receiving time. Since the first embedded data in the first embedded data array is stored according to the receiving time, each receiving time corresponds to a first node index. This step obtains the first node index that needs to be updated.

[0154] Step S152: Obtain at least one target interval.

[0155] In one embodiment, a target interval is selected from the preliminary intervals, wherein the interval elements of the target interval include the first node index, and the first right boundary of the target interval is obtained, that is, at least one preliminary interval whose interval elements include the first node index is obtained as the target interval.

[0156] In one embodiment, the purpose of obtaining at least one preliminary interval whose interval elements contain the first node index is to determine which preliminary intervals are affected by the first node index that needs to be updated. For example, refer to... Figure 3 If it is necessary to update the first embedded data A[6] when the first node index m=6 to the second embedded data C[6], since the elements of the initial intervals [5,6], [1,8] and [1,16] all contain 6, the initial intervals containing the first node index are: [5,6], [1,8] and [1,16], that is, the target intervals are [5,6], [1,8] and [1,16], and their first right boundaries are 6, 8 and 16 respectively.

[0157] Step S153: Update the sum of each target interval based on the second embedded data to obtain the sum of the target intervals.

[0158] In one embodiment, since the data of the first embedded point corresponding to the first node index m=6 is updated, and since the target interval includes [5,6], [1,8] and [1,16], all of which contain 6, it is necessary to update the sum of the above target intervals [5,6], [1,8] and [1,16] to obtain the sum of the corresponding target intervals.

[0159] The specific sum of the target intervals is:

[0160] The sum of the target intervals [5,6] is updated to: A[5]+C[6].

[0161] The sum of the target intervals [1,8] is updated to: A[1]+A[2]+…+C[6]+A[7]+A[8].

[0162] The sum of the target interval [1,16] is updated to: A[1]+A[2]+…+C[6]+A[7]+…+A

[16] .

[0163] Step S154: Update the interval statistics corresponding to the first right boundary according to the sum of the target intervals, so as to update the second tracking array and obtain the third tracking array.

[0164] In one embodiment, the first right boundaries are 6, 8, and 16, therefore the corresponding second node indices need to be updated to 6, 8, and 16. The update result of the interval statistics is as follows:

[0165] B[6]=A[5]+C[6].

[0166] B[8]=A[1]+A[2]+…+C[6]+A[7]+A[8].

[0167] B

[16] =A[1]+A[2]+…+C[6]+A[7]+…+A

[16] .

[0168] That is, update the second embedding array after B[6], B[8] and B

[16] above to the third embedding array.

[0169] As described above, due to the need for supplementary reporting of event tracking points, the first event tracking data in the first event tracking array is first updated. Then, based on the updated first node index, the sum of the initial intervals to be updated is obtained. Finally, the second event tracking array is updated based on the interval sum to obtain the third event tracking array. This process is executed at most log(m) times, that is, the time complexity is O(logm), which is significantly lower than the O(N) time complexity in related technologies.

[0170] The following describes the statistical process of the updated data.

[0171] Step S160: Select at least one interval statistical data in the third embedding point array according to the index of the first node, and obtain the embedding point statistical value of the statistical time according to the interval statistical data.

[0172] In one embodiment, reference is made to Figure 6 This is a flowchart illustrating a specific implementation of step S160 in one embodiment. In this embodiment, step S160, which selects at least one interval statistical data from the third tracking point array based on the first node index and obtains the tracking point statistical value for the statistical time based on the interval statistical data, includes:

[0173] Step S161: Generate query length information based on the first node index, and generate the corresponding query interval based on the query length information.

[0174] In one embodiment, the statistical time is first obtained. The statistical time can be a specific time within the received time. The statistical value to be calculated is the sum of all data points recorded before that statistical time. It is understood that the index of the first node corresponding to the statistical time can be obtained based on the statistical time.

[0175] In one embodiment, for each first node subscript, query length information corresponding to the first node subscript is generated. The query length information includes: the number of intervals and the interval length. The number of intervals indicates how many query intervals the first node subscript is divided into in the following process, and the interval length is the length of each query interval. In this embodiment, the value of the number of intervals is obtained by taking the logarithm of the first node subscript with base 2. That is, if the first node subscript to be calculated is m, where m is an integer greater than or equal to 1, the number of intervals of the preliminary interval corresponding to the first node subscript m is the integer k obtained by rounding down log2(m). Here, k is an integer greater than or equal to 1. It can be understood that the query length information of different first node subscripts is different.

[0176] For example, when the first node subscript is 5, since 4 < 5 < 8, the number of intervals of the preliminary interval corresponding to 5 is: 2 < log2(5) < 3. Therefore, the integer k obtained by rounding down log2(5) is 2. So when the first node subscript is 5, this first node subscript corresponds to 2 different preliminary intervals. For example, when the first node subscript is 13, since 8 < 13 < 16, the number of intervals of the preliminary interval corresponding to 13 is: 3 < log2(13) < 4. Therefore, the integer k obtained by rounding down log2(13) is 3. So when the first node subscript is 13, this first node subscript corresponds to 3 different preliminary intervals.

[0177] In one embodiment, referring to Figure 7 , which is a specific implementation flowchart of step S161 shown in an embodiment. In this embodiment, the step S161 of generating query length information according to the first node subscript and generating corresponding query intervals according to the query length information includes:

[0178] Step S1611: Perform numerical binary conversion on the first node subscript to obtain a subscript conversion value.

[0179] In one embodiment, the first node subscript is a number represented in decimal. The numerical conversion is to perform binary representation on the decimal first node subscript to obtain a subscript conversion value. For example, the length of the first buried point array is 16, that is, the first buried point array contains 16 first node data. Each first node data includes: a first node subscript and corresponding first buried point data. When the first node subscript is 5, the corresponding subscript conversion value is 101. When the first node subscript is 13, the corresponding subscript conversion value is 1101, and so on, to obtain the subscript conversion values of all first node subscripts in the first buried point array.

[0180] Step S1612: Represent the subscript conversion value as the sum of at least one power data.

[0181] In one embodiment, the binary subscript conversion value can be represented as the sum of at least one power of 2, where each power of 2 is a power data. For example, when the first node subscript is 5, the subscript conversion value is 101. After executing step S132, we get: 5 = 101 = 2. 0 +2 2 , of which 2 0 and 2 2 All data are exponential. For example, when the index of the first node is 13, the converted index value is 1101. After executing step S132, we get: 13 = 1101 = 2. 0 +2 2 +2 3 , of which 2 0 2 2 and 2 3 All data are power numbers. It is understood that the order of the power numbers is not limited. However, for the sake of calculation convenience, the power numbers in this embodiment are arranged in ascending order.

[0182] As can be seen from the above, a subscript conversion value can be represented as the sum of at least one distinct exponentiation value.

[0183] Step S1613: Generate the first query interval corresponding to the number of intervals.

[0184] In one embodiment, the first query interval is a left-open, right-closed interval, which includes a second left boundary and a second right boundary. A left-open, right-closed interval means that the interval does not include the second left boundary but includes the second right boundary, expressed as: First query interval = (Second left boundary, Second right boundary). As in the above embodiment, after executing step S310, when the first node index is 13, three first query intervals are generated. It can be understood that if the first node index m = 1, the number of intervals k is 0, and in this case, it is not necessary to generate first query intervals.

[0185] Step S1614: Calculate the second left boundary and the second right boundary of each first query interval based on the first node index and the exponent data.

[0186] In one embodiment, reference is made to Figure 8 This is a flowchart illustrating a specific implementation of step S1614 in one embodiment. In this embodiment, step S1614, which calculates the second left boundary and the second right boundary of each first query interval based on the first node index and the exponentiation data, includes:

[0187] Step S810: Count the number of target values ​​in the subscript conversion values ​​to obtain the conversion quantity.

[0188] In one embodiment, the target value is a value of 1, and the conversion quantity n is an integer greater than or equal to 1, wherein the position information of the target value corresponds to different power data. For the binary subscript conversion value, since it consists of the digits "1" and "0", this step counts the number of digits 1. Since the first node subscript is an integer greater than 1, the number of digits 1 n in the binary subscript conversion value is an integer greater than or equal to 1.

[0189] Step S820: Based on the location information of the target value, obtain the number of powers of the conversion data in a preset order.

[0190] In one embodiment, since the subscript conversion value can be represented as the sum of at least one exponent data, and due to the binary conversion principle, each exponent data corresponds to a digit 1. It can be understood that, regarding the order of the digits 1 in the subscript conversion value, if the subscript conversion values ​​are arranged in ascending order of exponent data, the default order is from right to left; if the subscript conversion values ​​are arranged in descending order of exponent data, the default order is from left to right.

[0191] In one embodiment, the subscript conversion values ​​are arranged in ascending order of exponentiation, with the default order being from right to left. For example, when the first node's subscript is 5, the subscript conversion value is 101, where 5 = 101 = 2. 0 +2 2 , of which 2 0 and 2 2 All data are exponentiation data, with the number of 1s (n) being 2. The exponentiation data corresponding to the first 1 from right to left is 2. 0 The second number 1 corresponds to the power of 2. 2 For example, when the index of the first node is 13, the converted index value is 1101, 13 = 1101 = 2. 0 +2 2 +2 3 , of which 2 0 2 2 and 2 3 All data are exponentiation data, with the number of 1s (n) being 3, and the exponentiation data corresponding to the first 1 from right to left being 2. 0 The second number 1 corresponds to the power of 2. 2 The third number 1 corresponds to the power of 2. 3 Therefore, it can be seen that the number of digits 1 is the same as the integer k of the interval.

[0192] The above process obtains the power data corresponding to n digits 1 in a preset order based on the position information of the digit 1.

[0193] Step S830: Calculate the second left boundary and the second right boundary based on the first node index and the power data.

[0194] In one embodiment, for the i-th first query interval, the second left boundary is the first node index minus i powers of data in a preset order. The second right boundary is the first node index minus i-1 powers of data in a preset order.

[0195] In one embodiment, the subscript conversion values ​​are arranged in ascending order of exponentiation data, with the preset order being from right to left as an example.

[0196] Assuming the index of the first node is m, its binary representation is: m = 2. i1 +2 i2 +...+2 i(i-1) +2 ii ...+2 ik .

[0197] Among them, 2 ii Let represent the i-th power data, and k represent the number of intervals with the first node index m, which is the same as the number of 1s.

[0198] For the first node index m, the interval [1, m] is divided into k first query intervals, which are represented as follows:

[0199] The first query interval is represented as: (m-2) i1 [,m], containing 2 i1 The number is the power of the first number 1 from right to left.

[0200] The second first query interval is represented as: (m-2) i1 -2 i2 m-2 i1 ], containing 2 i2 The number is the power of the second number 1 from the right.

[0201]

[0202] The i-th first query interval is represented as: (m-2) i1 -2 i2 -...-2 i(i-1) -2 ii m-2 i1 -2 i2 -...-2 i(i-1) ], containing 2 ii The number is the power of the i-th number 1 from right to left.

[0203]

[0204] The kth first query interval is represented as:

[0205] (m-2i1 -2 i2 -...-2 i(i-1) -2 ii -...-2 ik m-2 i1 -2 i2 -...-2 i(i-1) -2 ii -...-2 i(k-1) ], containing 2 ik The number is the power of the k-th digit 1 from right to left.

[0206] As can be seen from the above, for the i-th first query interval, its second left boundary is m-2. i1 -2 i2 -...-2 i(i-1) -2 ii Subtract the index m of the first node by i powers of data in order from right to left: 2 i1 2 i2 、…、2 i(i-1) and 2 ii The second right boundary m-2 i1 -2 i2 -...-2 i(i-1) Subtract the index m of the first node by i-1 powers in order from right to left: 2 i1 2 i2 ... and 2 i(i-1) .

[0207] In one embodiment, the number of elements in the first query interval is the power data corresponding to different positions of the number 1 in the binary representation of the first node index m.

[0208] In one embodiment, for example, when the index of the first node is 5, the index conversion value is 101, corresponding to two first query intervals. Since 5 = 101 = 2 0 +2 2 =1+4, for the first query interval, its second left boundary is 5-2. 0 =5-1=4, its second right boundary is 5, therefore the first query interval is represented as (4, 5). For the second query interval, its second left boundary is 5-2. 0 -2 2 =5-1-4=0, its second right boundary is 5-2 0 =5-1=4, therefore the second first query interval is represented as: (0, 4).

[0209] For example, when the index of the first node is 13, the converted index value is 1101, corresponding to 3 first query intervals. Since 13 = 1101 = 20 +2 2 +2 3 For the first query interval, its second left boundary is 13-2. 0 =13-1=1213-2 0 -2 2 =13-1-4=7=42 0 +2 2 +2 3 Its second right boundary is 13, therefore the first query interval is represented as (12, 13). For the first query interval, its second left boundary is 13-2. 0 -2 2 =13-1-4=8, its second right boundary is 13-2 0 =13-1=12, therefore the second first query interval is represented as (8, 12). For the third first query interval, its second left boundary is 13-2. 0 -2 2 -2 3 =13-1-4-8=0, its second right boundary is 13-2 0 -2 2 =13-1-4=8, therefore the third first query interval is represented as (0, 8).

[0210] In one embodiment, the method further includes step S1715: adding 1 to the second left boundary to obtain the left update boundary, and using the left update boundary and the second right boundary to obtain the query interval, which is a closed interval on both sides.

[0211] In one embodiment, since the second left boundary of the first query interval is an open interval, it does not contain the value corresponding to the second left boundary. The second left boundary is incremented by 1 to obtain the left update boundary. Then, the query interval is obtained using the left update boundary and the second right boundary. The query interval is a closed interval with both left and right sides, that is, the query interval is represented as [left update boundary, second right boundary].

[0212] In one embodiment, for example, when the index of the first node is 5, the index conversion value is 101, corresponding to two first query intervals. The first first query interval is represented as (4, 5], and the second first query interval is represented as (0, 4). Therefore, after executing step S330, the query interval corresponding to the first first query interval is [5, 5] = [5], and the query interval corresponding to the second first query interval is [1, 4], that is, the interval [1, 5] corresponding to the index 5 of the first node is divided into [1, 4] and [5].

[0213] For example, when the index of the first node is 13, the index conversion value is 1101, corresponding to 3 first query intervals. The first first query interval is represented as (12, 13], the second first query interval is represented as (8, 12], and the third first query interval is represented as (0, 8). Therefore, after executing step S330, the query interval corresponding to the first first query interval is [13, 13] =

[13] , the query interval corresponding to the second first query interval is [9, 12], and the query interval corresponding to the third first query interval is [1, 8]. That is, the interval [1, 13] corresponding to the index of the first node 13 is divided into 3 query intervals: [1, 8], [9, 12], and

[13] .

[0214] Step S162: Select the interval statistical data corresponding to the second node index that is the same as the second right boundary in the second embedding array.

[0215] In one embodiment, if it is necessary to calculate the statistical value of the first node index 13, since the query intervals corresponding to 13 are [1, 8], [9, 12] and

[13] , and the second right boundaries are 8, 12 and 13 respectively, the interval statistical data corresponding to the second node indexes 8, 12 and 13 are selected in the second embedding array, which are B[8], B

[12] and B

[13] .

[0216] Step S163: Sum the interval statistical data to obtain the embedded point statistical value of the first node index.

[0217] In one embodiment, the statistical value of the first node with index 13 is: B[8]+B

[12] +B

[13] .

[0218] As described above, by converting the first tracking array into a second tracking array, which stores the range and information of the first tracking data, when the first tracking data needs to be updated, it is not necessary to traverse the entire array; only the corresponding range sum needs to be updated to update the second tracking array. This achieves the effect of reducing time complexity during the tracking data supplementation process. This process is executed at most log(m) times, that is, the time complexity is O(logm), which is significantly lower than the O(N) time complexity of related technologies.

[0219] In one embodiment, the data tracking method proposed in this application is applied to a financial scenario. Financial institutions can use tracking technology to record user behavior on websites or apps, including clicks, browsing, and purchases, thereby understanding user preferences, behavioral habits, and needs. This helps to provide users with more personalized and precise services and products. For example, on a bank's website or app, the bank can use tracking technology to accurately know which pages users visit, which functions they use, and their experience during use, thereby optimizing user experience and improving product design and marketing strategies. In addition to optimizing user experience and product design, tracking technology can also help financial institutions identify and prevent fraudulent activities. By analyzing user behavior, financial institutions can discover risks such as abnormal transactions and fraudulent transactions, and take timely measures to prevent them. In a financial scenario, the first data tracking involves installing tracking-related programs on the target terminal with the user's informed consent and collecting relevant data from that terminal.

[0220] The method, apparatus, device, and storage medium for statistical analysis of embedded data proposed in this application obtain a first embedded data array by acquiring first embedded data at different receiving times. The first embedded data array is then transformed into a second embedded data array by dividing it into preliminary intervals. The second embedded data array stores intervals and related information. During embedded data analysis, only a subset of array nodes in the second embedded data array need to be selected based on the statistical time to obtain the statistical values. Furthermore, expanding the second embedded data array after adding first embedded data according to actual needs is relatively easy, requiring minimal code modifications.

[0221] This invention also provides a device for statistical analysis of embedded data, applied to a processing device, which can implement the above-described method for statistical analysis of embedded data. (Refer to...) Figure 9 The device includes:

[0222] The acquisition module 910 is used to acquire the first embedded data from the target terminal according to the receiving time; wherein, the receiving time is the time when the processing device receives the first embedded data.

[0223] The first tracking point array storage module 920 is used to store the first tracking point data in the first node of the first tracking point array according to the receiving time, so as to obtain the first node data. The first node data also includes the first node index.

[0224] The interval partitioning module 930 is used to calculate the preliminary interval of the first node index; wherein, the preliminary interval includes the first right boundary, and the first right boundary is the first node index.

[0225] The interval sum calculation module 940 is used to calculate the interval sum of the preliminary interval based on the first embedded point data, obtain the preliminary interval sum, and store the preliminary interval sum as interval statistical data in the second node of the second embedded point array to obtain the second node data.

[0226] The tracking point array update module 950 is used to update the initial interval sum based on the second tracking point data to obtain the target interval sum when updating the first tracking point data to the second tracking point data, and then use the target interval sum to update the second tracking point array to obtain the third tracking point array.

[0227] The tracking statistics module 960 is used to obtain the index of the first node corresponding to the statistical time, select at least one interval statistical data in the third tracking array according to the index of the first node, and obtain the tracking statistics value of the statistical time according to the interval statistical data.

[0228] The specific implementation of the data collection device in this embodiment is basically the same as the specific implementation of the data collection method described above, and will not be repeated here.

[0229] This invention also provides an electronic device, comprising:

[0230] At least one memory.

[0231] At least one processor.

[0232] At least one program.

[0233] The program is stored in a memory, and the processor executes the at least one program to implement the above-described method for statistical analysis of embedded data according to the present invention. The electronic device can be any smart terminal, including mobile phones, tablets, personal digital assistants (PDAs), and in-vehicle computers.

[0234] Please see Figure 10 , Figure 10 The hardware structure of an electronic device according to another embodiment is illustrated. The electronic device includes:

[0235] The processor 1001 can be implemented using a general-purpose CPU (Central Processing Unit), microprocessor, application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of the present invention.

[0236] The memory 1002 can be implemented in the form of ROM (Read-Only Memory), static storage device, dynamic storage device, or RAM (Random Access Memory). The memory 1002 can store the operating system and other application programs. When the technical solutions provided in the embodiments of this specification are implemented by software or firmware, the relevant program code is stored in the memory 1002 and is called and executed by the processor 1001 to execute the data collection statistics method of the embodiments of this invention.

[0237] Input / output interface 1003 is used to implement information input and output.

[0238] Communication interface 1004 is used to enable communication and interaction between this device and other devices. Communication can be achieved via wired means (e.g., USB, Ethernet cable) or wireless means (e.g., mobile network, Wi-Fi, Bluetooth).

[0239] Bus 1005 transmits information between various components of the device (e.g., processor 1001, memory 1002, input / output interface 1003, and communication interface 1004).

[0240] The processor 1001, memory 1002, input / output interface 1003 and communication interface 1004 are connected to each other within the device via bus 1005.

[0241] This application embodiment also provides a storage medium, which is a computer-readable storage medium, storing a computer program that, when executed by a processor, implements the above-described method for statistical analysis of embedded data.

[0242] Memory, as a non-transitory computer-readable storage medium, can be used to store non-transitory software programs and non-transitory computer-executable programs. Furthermore, memory may include high-speed random access memory, and may also include non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some embodiments, memory may optionally include memory remotely located relative to the processor, and these remote memories can be connected to the processor via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.

[0243] The present invention proposes a method, device, electronic equipment, and storage medium for statistical analysis of embedded data. This method obtains a first embedded data array by acquiring first embedded data received at different times. The first embedded data array is then converted into a second embedded data array by dividing it into preliminary intervals. The second embedded data array stores intervals and related information. During embedded data statistical analysis, only a subset of array nodes in the second embedded data array need to be selected based on the statistical time to obtain the statistical value. By converting the first embedded data array into a second embedded data array, which stores the intervals and information of the first embedded data, this method eliminates the need to traverse the entire array when updating the first embedded data. Only the corresponding interval sum needs to be updated to update the second embedded data array, thereby reducing the time complexity during embedded data supplementation.

[0244] The embodiments described in this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided by the embodiments of this application. As those skilled in the art will know, with the evolution of technology and the emergence of new application scenarios, the technical solutions provided by the embodiments of this application are also applicable to similar technical problems.

[0245] Those skilled in the art will understand that the technical solutions shown in the figures do not constitute a limitation on the embodiments of this application, and may include more or fewer steps than shown, or combine certain steps, or different steps.

[0246] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs.

[0247] Those skilled in the art will understand that all or some of the steps in the methods disclosed above, as well as the functional modules / units in the systems and devices, can be implemented as software, firmware, hardware, or suitable combinations thereof.

[0248] The terms “first,” “second,” “third,” “fourth,” etc. (if present) in the specification and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms “comprising” and “having,” and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0249] It should be understood that in this application, "at least one (item)" means one or more, and "more than" means two or more. "And / or" is used to describe the relationship between related objects, indicating that three relationships can exist. For example, "A and / or B" can represent three cases: only A exists, only B exists, and both A and B exist simultaneously, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one (item) of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one (item) of a, b, or c can represent: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, and c can be single or multiple.

[0250] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of the units described above is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.

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

[0252] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0253] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes multiple instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing programs, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0254] The preferred embodiments of the present application have been described above with reference to the accompanying drawings, but this does not limit the scope of the claims of the present application. Any modifications, equivalent substitutions, and improvements made by those skilled in the art without departing from the scope and substance of the embodiments of the present application shall be within the scope of the claims of the present application.

Claims

1. A method for statistical analysis of embedded data, applied to processing equipment, characterized in that, include: The first embedded data is obtained from the target terminal according to the receiving time; wherein, the receiving time is the time when the processing device receives the first embedded data; The first embedded data is stored in the first node of the first embedded data array according to the receiving time to obtain the first node data. The first node data also includes: the first node index. Calculate the preliminary interval of the first node index; wherein the preliminary interval includes a first right boundary, and the first right boundary is the first node index; The sum of the intervals of the preliminary intervals is calculated based on the first embedded data, and the sum of the preliminary intervals is stored as interval statistical data in the second node of the second embedded data array to obtain the second node data. When updating the first tracking data to the second tracking data, the sum of the initial intervals is updated according to the second tracking data to obtain the sum of the target intervals, and the second tracking array is updated using the sum of the target intervals to obtain the third tracking array; Obtain the index of the first node corresponding to the statistical time, select at least one of the interval statistical data in the third embedding array according to the first node index, and obtain the embedding statistical value of the statistical time according to the interval statistical data.

2. The method of claim 1, wherein, The preliminary interval further includes: a first left boundary; the preliminary interval for calculating the index of the first node includes: Obtain the first calculated value of the first right boundary; The first left boundary is calculated based on the first right boundary and the first calculated value; The preliminary interval is obtained based on the first left boundary and the first right boundary.

3. The method of claim 2, wherein, The second node data further includes: a second node index, wherein the array length of the second tracking point array is the same as the array length of the first tracking point array, and the second node index is the same as the first node index; the step of calculating the interval sum of the preliminary intervals based on the first tracking point data, obtaining the preliminary interval sum, and storing the preliminary interval sum as interval statistical data in the second node of the second tracking point array to obtain the second node data includes: Obtain the interval elements of the preliminary interval, wherein the interval elements are all the first node indices contained between the first left boundary and the first right boundary; Select the first embedded data corresponding to the interval element in the first embedded data array; Summing all the first embedded data points yields the sum of the initial intervals of the initial intervals; The sum of the preliminary intervals is stored in the second node in ascending order of the second node index to obtain the second node data. The interval statistics are the sum of the preliminary intervals.

4. The method of claim 3, wherein, When updating the first tracking data to the second tracking data, the method of updating the initial interval sum based on the second tracking data to obtain the target interval sum, and using the target interval sum to update the second tracking array to obtain the third tracking array, includes: Obtain the index of the first node corresponding to the first embedded data; Obtain at least one target interval, wherein the interval element of the target interval contains the index of the first node, and obtain the first right boundary of the target interval; Update the sum of each target interval based on the second embedded data to obtain the sum of the target intervals; Update the interval statistics corresponding to the first right boundary based on the sum of the target intervals, and update the second tracking array to obtain the third tracking array.

5. The method for statistical analysis of embedded data according to any one of claims 1 to 4, characterized in that, The step of selecting at least one of the interval statistical data from the third data point array based on the first node index, and obtaining the data point statistical value for the statistical time based on the interval statistical data, includes: Query length information is generated based on the first node index, and a corresponding query interval is generated based on the query length information, wherein the query interval includes the second right boundary; Select the interval statistical data corresponding to the second right boundary from the third embedded point array; The statistical data of the interval is summed to obtain the statistical value of the embedded point.

6. The method for statistical analysis of embedded data according to claim 5, characterized in that, The query length information includes: the number of intervals; the first node index is an integer greater than or equal to 1; the number of intervals is obtained by taking the logarithm of the first node index with base 2; the step of generating query length information based on the first node index and generating corresponding query intervals based on the query length information includes: The first node index is converted to binary to obtain the index conversion value; The subscript conversion value is represented as the sum of at least one exponentiation data; A first query interval is generated based on the number of intervals; the first query interval is a left-open and right-closed interval, and the first query interval includes: a second left boundary and a second right boundary; Calculate the second left boundary and the second right boundary of each first query interval based on the first node index and the power data; The left update boundary is obtained by adding 1 to the second left boundary, and the query interval is obtained by using the left update boundary and the second right boundary. The query interval is a closed interval with both left and right sides.

7. The method for statistical analysis of embedded data according to claim 6, characterized in that, The step of calculating the second left boundary and the second right boundary of each of the first query intervals based on the first node index and the exponentiation data includes: The number of target values ​​in the subscript conversion values ​​is counted to obtain the conversion quantity; wherein, the target value is a value of 1, the conversion quantity is an integer greater than or equal to 1, and the position information of the target value corresponds to selecting different exponent data; Based on the location information of the target value, the number of power data to be converted are obtained in a preset order; The second left boundary and the second right boundary are calculated based on the first node index and the power data; wherein, for the i-th first query interval, the second left boundary is the first node index minus i power data in the preset order; the second right boundary is the first node index minus i-1 power data in the preset order.

8. A device for statistical analysis of embedded data, characterized in that, Applied to a processing device, the apparatus includes: The acquisition module is used to acquire first embedded data from the target terminal according to the receiving time; wherein, the receiving time is the time when the processing device receives the first embedded data; The first tracking point array storage module is used to store the first tracking point data in the first node of the first tracking point array according to the receiving time, so as to obtain the first node data. The first node data also includes: the first node index. An interval partitioning module is used to calculate the preliminary interval of the first node index; wherein, the preliminary interval includes a first right boundary, and the first right boundary is the first node index; The interval sum calculation module is used to calculate the interval sum of the preliminary interval based on the first embedded data, obtain the preliminary interval sum, and store the preliminary interval sum as interval statistical data in the second node of the second embedded array to obtain the second node data; The tracking point array update module is used to update the sum of the initial intervals based on the second tracking point data to obtain the sum of the target intervals when updating the first tracking point data to the second tracking point data, and to update the second tracking point array using the sum of the target intervals to obtain the third tracking point array. The tracking statistics module is used to obtain the index of the first node corresponding to the statistical time, select at least one of the interval statistical data in the third tracking array according to the first node index, and obtain the tracking statistics value of the statistical time according to the interval statistical data.

9. An electronic device, characterized in that, The electronic device includes a memory and a processor. The memory stores a computer program, and when the processor executes the computer program, it implements the data collection and statistics method according to any one of claims 1 to 7.

10. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by the processor, it implements the data collection statistics method for embedded data as described in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Buried point data processing method and device, computer equipment and storage medium

    CN107995266A

  • Buried point data processing method and device, electronic equipment and storage medium

    CN115237706A