A method, apparatus, device and storage medium for processing identification information

By leveraging the association between reference object identifiers and object identifiers to be processed within the application, the newly added object identifier can be directly determined, thus solving the problem of low analysis efficiency caused by large data volumes and achieving efficient application access analysis.

CN116662396BActive Publication Date: 2026-05-19TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
TENCENT TECHNOLOGY (SHENZHEN) CO LTD
Filing Date
2022-02-17
Publication Date
2026-05-19

AI Technical Summary

Technical Problem

As time goes on, the amount of data in the accumulated object identifier set increases, and existing technologies take longer to process data when determining newly added access object identifiers, affecting the efficiency of application access analysis.

Method used

By acquiring the current periodic object behavior data of the target application and the historical object identifier sequence of the previous period, and utilizing the correlation between the reference object identifier and the object identifier sequence to be processed, the new object identifier can be directly determined, reducing the number of comparisons and improving computational efficiency.

Benefits of technology

This effectively reduces the number of comparisons, improves the efficiency of application access analysis, and reduces computing resource consumption.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116662396B_ABST
    Figure CN116662396B_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide a method, device and equipment for processing identification information, and a storage medium, which can be applied to various scenes such as vehicle-mounted, cloud technology, artificial intelligence, intelligent transportation, and auxiliary driving. The method comprises: obtaining a sequence of to-be-processed object identifications based on a plurality of to-be-processed object identifications contained in object behavior data, and taking a historical object identification located at an end position in a historical object identification sequence as a reference object identification. At least one new object identification in the sequence of to-be-processed object identifications is determined based on an association relationship between the reference object identification and a to-be-processed object identification at at least one set position in the sequence of to-be-processed object identifications, and the at least one new object identification is added to the historical object identification sequence. The to-be-processed object identification does not need to be compared with each historical object identification in the historical object identification sequence, which greatly reduces the number of comparisons, improves the operation efficiency, and further improves the analysis efficiency of application program access conditions.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of vehicle networking technology, and in particular to a method, apparatus, device and storage medium for processing identification information. Background Technology

[0002] With the development of internet technology, the types and number of applications are increasing. As objects use these applications, their browsing behavior generates corresponding object behavior data. To obtain information about object access to applications, relevant technologies obtain a set of accessing object identifiers for the current period from the object behavior data. Then, each accessing object identifier in this set is compared with each historical object identifier in the cumulative object identifier set obtained in the previous period to identify newly added accessing object identifiers.

[0003] However, over time, the amount of data in the accumulated object identifier set will increase. Therefore, when determining new access object identifiers in the above way, the data processing time will become longer and longer, which will affect the efficiency of application access analysis. Summary of the Invention

[0004] This application provides a method, apparatus, device, and storage medium for processing identification information to improve the efficiency of application access analysis.

[0005] On one hand, embodiments of this application provide a method for processing identification information, the method comprising:

[0006] Obtain object behavior data associated with the target application in the current period, and obtain the historical object identifier sequence accumulated by the target application at the end of the previous period;

[0007] Based on the multiple object identifiers to be processed contained in the object behavior data, a sequence of object identifiers to be processed is obtained, and the historical object identifiers located at the endpoints of the historical object identifier sequence are used as reference object identifiers.

[0008] Based on the association between the reference object identifier and at least one object identifier at a set position in the object identifier sequence to be processed, at least one new object identifier in the object identifier sequence to be processed is determined, and the at least one new object identifier is added to the historical object identifier sequence, and the target object identifier sequence accumulated at the end of the current period is determined.

[0009] On one hand, embodiments of this application provide an apparatus for processing identification information, the apparatus comprising:

[0010] The acquisition module is used to acquire object behavior data associated with the target application in the current period, and to acquire the historical object identifier sequence accumulated by the target application at the end of the previous period.

[0011] The filtering module is used to obtain a sequence of object identifiers to be processed based on multiple object identifiers to be processed contained in the object behavior data, and to use historical object identifiers located at the endpoints of the historical object identifier sequence as reference object identifiers.

[0012] The matching module is used to determine at least one new object identifier in the sequence of object identifiers to be processed based on the association relationship between the reference object identifier and at least one object identifier at a set position in the sequence of object identifiers to be processed, and to add the at least one new object identifier to the historical object identifier sequence, and to determine the target object identifier sequence accumulated at the end of the current period.

[0013] Optionally, a statistics module may also be included;

[0014] The statistics module is specifically used for:

[0015] Based on the number of the at least one newly added object identifier and the number of historical access objects accumulated by the target application at the end of the previous period, the number of target access objects accumulated by the target application at the end of the current period is determined.

[0016] Optionally, the statistics module is further configured to:

[0017] Based on the at least one newly added object identifier and the object behavior data, determine the number of new visits to the target application in the current period;

[0018] Based on the newly added access count and the historical access count accumulated by the target application at the end of the previous period, the target access count accumulated by the target application at the end of the current period is determined.

[0019] Optionally, the matching module is specifically used for:

[0020] The sequence of object identifiers to be processed is used as the initial sequence of candidate object identifiers;

[0021] An iterative approach is adopted, in which the object identifier in the middle position of the candidate object identifier sequence is taken as the candidate object identifier, and the candidate object identifier sequence is updated based on the association between the candidate object identifier and the reference object identifier. The iteration process stops when the iteration stop condition is met, the target object identifier matching the reference object identifier is output, and the at least one new object identifier is determined from the object identifier sequence based on the target object identifier.

[0022] Optionally, the matching module is specifically used for:

[0023] Obtain the position markers of the first and last object identifiers to be processed in the candidate object identifier sequence;

[0024] Based on the position markers of the first and last objects to be processed, the median position marker is determined.

[0025] The object identifier to be processed corresponding to the median position mark in the candidate object identifier sequence is used as the candidate object identifier.

[0026] Optionally, the sorting method corresponding to the sequence of object identifiers to be processed is as follows: arranged in descending order of object identifiers; when the historical object identifier sequence is obtained by arranging the object identifiers in descending order, the reference object identifier is the first historical object identifier in the historical object identifier sequence; when the historical object identifier sequence is obtained by arranging the object identifiers in ascending order, the reference object identifier is the last historical object identifier in the historical object identifier sequence; the iteration stopping condition is obtaining the smallest object identifier to be processed that is greater than the reference object identifier from the sequence of object identifiers to be processed.

[0027] The matching module is specifically used for:

[0028] The target object identifier and the object identifier in the sequence of object identifiers that precedes the target object identifier are used as new object identifiers.

[0029] Optionally, the matching module is specifically used for:

[0030] If the candidate object identifier is greater than the reference object identifier, then remove the object identifiers from the first object identifier to the candidate object identifier in the candidate object identifier sequence to obtain an updated candidate object identifier sequence;

[0031] If the candidate object identifier is less than or equal to the reference object identifier, then remove the object identifiers from the candidate object identifier to the last object identifier to be processed in the candidate object identifier sequence to obtain an updated candidate object identifier sequence.

[0032] Optionally, the sorting method corresponding to the sequence of object identifiers to be processed is as follows: arranged in ascending order of object identifiers; when the historical object identifier sequence is obtained by arranging object identifiers in ascending order, the reference object identifier is the first historical object identifier in the historical object identifier sequence; when the historical object identifier sequence is obtained by arranging object identifiers in descending order, the reference object identifier is the last historical object identifier in the historical object identifier sequence; the iteration stopping condition is obtaining the largest object identifier to be processed that is smaller than the reference object identifier from the sequence of object identifiers to be processed.

[0033] The matching module is specifically used for:

[0034] The target object identifier and the object identifier in the sequence of object identifiers that precedes the target object identifier are used as new object identifiers.

[0035] Optionally, the matching module is specifically used for:

[0036] If the candidate object identifier is smaller than the reference object identifier, then remove the object identifiers from the first object identifier to the candidate object identifier in the candidate object identifier sequence to obtain an updated candidate object identifier sequence;

[0037] If the candidate object identifier is greater than or equal to the reference object identifier, then remove the object identifiers from the candidate object identifier to the last object identifier to be processed in the candidate object identifier sequence to obtain an updated candidate object identifier sequence.

[0038] On one hand, embodiments of this application provide a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the steps of the above-described method for processing identification information.

[0039] On one hand, embodiments of this application provide a computer-readable storage medium storing a computer program executable by a computer device, which, when run on the computer device, causes the computer device to perform the steps of the method for processing identification information described above.

[0040] On one hand, embodiments of this application provide a computer program product, the computer program product including a computer program stored on a computer-readable storage medium, the computer program including program instructions, which, when executed by a computer device, cause the computer device to perform the steps of the above-described method for processing identification information.

[0041] In this embodiment, since both the historical object identifier sequence of the previous period and the object identifier sequence to be processed in the current period are sequences of arranged object identifiers, the association between the entire historical object identifier sequence and the entire object identifier sequence to be processed can be directly obtained by comparing the association between the reference object identifier at the endpoint position in the historical object identifier sequence and the object identifier to be processed at the specified position in the object identifier sequence to be processed. This allows for the acquisition of at least one new object identifier in the object identifier sequence to be processed, without the need to compare each object identifier to be processed with each historical object identifier in the historical object identifier sequence. This significantly reduces the number of comparisons, effectively improves computational efficiency, and thus improves the efficiency of application access analysis. Attached Figure Description

[0042] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0043] Figure 1 A schematic diagram of a system architecture provided in an embodiment of this application;

[0044] Figure 2 A schematic diagram of the interface of an in-vehicle map application provided in an embodiment of this application;

[0045] Figure 3 A flowchart illustrating a method for processing identification information provided in this application embodiment. Figure 1 ;

[0046] Figure 4 A schematic diagram illustrating a reference object identifier provided in an embodiment of this application;

[0047] Figure 5 A flowchart illustrating a method for processing identification information provided in this application embodiment. Figure 2 ;

[0048] Figure 6 A flowchart illustrating a method for processing identification information provided in this application embodiment. Figure 3 ;

[0049] Figure 7 A flowchart illustrating a method for processing identification information provided in this application embodiment. Figure 4 ;

[0050] Figure 8 A schematic diagram of a shopping application interface provided in an embodiment of this application;

[0051] Figure 9 This is a schematic diagram of the structure of an apparatus for processing identification information provided in an embodiment of this application;

[0052] Figure 10 This is a schematic diagram of the structure of a computer device provided in an embodiment of this application. Detailed Implementation

[0053] To make the objectives, technical solutions, and beneficial effects 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 of the invention and are not intended to limit the invention.

[0054] For ease of understanding, the terms used in the embodiments of this invention are explained below.

[0055] Deduplication statistics: For records that appear repeatedly in the sequence, only count them once.

[0056] Aggregate operations: Aggregate functions perform calculations on a set of values ​​and return a single value. Except for COUNT, aggregate functions ignore null values. If the COUNT function applies to a specific column name and that column contains null values, COUNT will still ignore the null values.

[0057] Full table: A table that stores all the latest state data.

[0058] Incremental table: This table stores newly added data, which is the data that appears in the table after the last export. The incremental table records each new addition, not all data. It only reports the amount of change; it doesn't report changes when there are no changes.

[0059] Data skew: In a parallel-processed dataset, one part (such as a partition in Spark or Kafka) contains significantly more data than other parts, making the processing speed of that part the bottleneck for the entire dataset.

[0060] Sort-based interpolation: A data processing method that first sorts a data sequence from largest to smallest (or smallest to largest), and then selects a certain sort position to perform interpolation.

[0061] A binary tree is either an empty tree or a non-empty tree consisting of a root node and two disjoint subtrees called the left and right subtrees of the root; both the left and right subtrees are also binary trees.

[0062] Total Unique Visitor (TUV): The sum of the number of objects that access the application over all time periods. When calculating the number of accessed objects, it is necessary to deduplicate object identifiers.

[0063] Total Page Views (TPV): The sum of the number of times each object accesses the application over all time periods. When calculating the number of visits, the number of object identifiers is counted directly without deduplicating object identifiers.

[0064] The design concept of the embodiments of this application will be introduced below.

[0065] In order to obtain information about the object access application, the relevant technology obtains the set of access object identifiers for the current period from the object behavior data of the current period, and then compares each access object identifier in the set of access object identifiers with each historical object identifier in the cumulative set of object identifiers obtained in the previous period to obtain the newly added access object identifiers in the set of access object identifiers.

[0066] However, as time goes on, the amount of data in the accumulated object identifier set will become larger and larger. Therefore, when determining new access object identifiers in the above way, the data processing time will become longer and longer, which will affect the efficiency of analysis of application access status.

[0067] In view of this, embodiments of this application provide a method for processing identification information, the method comprising:

[0068] The process involves acquiring object behavior data associated with the target application in the current period, as well as the historical object identifier sequence accumulated by the target application at the end of the previous period. Then, based on multiple pending object identifiers contained in the object behavior data, a pending object identifier sequence is obtained, and historical object identifiers located at endpoints in the historical object identifier sequence are used as reference object identifiers. Next, based on the association between the reference object identifiers and at least one pending object identifier at a predetermined position in the pending object identifier sequence, at least one new object identifier is identified in the pending object identifier sequence, and this new object identifier is added to the historical object identifier sequence to determine the target object identifier sequence accumulated at the end of the current period.

[0069] In this embodiment, since both the historical object identifier sequence of the previous period and the object identifier sequence to be processed in the current period are sequences of arranged object identifiers, the association between the entire historical object identifier sequence and the entire object identifier sequence to be processed can be directly obtained by comparing the association between the reference object identifier at the endpoint position in the historical object identifier sequence and the object identifier to be processed at the specified position in the object identifier sequence to be processed. This allows for the acquisition of at least one new object identifier in the object identifier sequence to be processed, without the need to compare each object identifier to be processed with each historical object identifier in the historical object identifier sequence. This significantly reduces the number of comparisons, effectively improves computational efficiency, and thus improves the efficiency of application access analysis.

[0070] refer to Figure 1 This is a system architecture diagram applicable to the embodiments of this application. The system architecture includes at least terminal device 101 and server 102. The number of terminal devices 101 can be one or more, and the number of servers 102 can also be one or more. This application does not specifically limit the number of terminal devices 101 and servers 102.

[0071] The terminal device 101 pre-installs target applications, including vehicle networking applications, in-vehicle map applications, video applications, instant messaging applications, etc. The types of target applications include client applications, web-based applications, and mini-program applications. The terminal device 101 includes, but is not limited to, mobile phones, computers, intelligent voice interaction devices, smart home appliances, in-vehicle terminals, and aircraft. This invention can be applied to various scenarios, including but not limited to in-vehicle systems, cloud technology, artificial intelligence, smart transportation, and assisted driving.

[0072] Server 102 is the backend server of the target application. Server 102 can be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides 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 (CDN), and big data and artificial intelligence platforms. Terminal device 101 and server 102 can be connected directly or indirectly through wired or wireless communication, which is not limited herein.

[0073] The method for processing identification information in this application embodiment can be executed by terminal device 101, server 102, or by interaction between terminal device 101 and server 102.

[0074] Taking the method for processing identification information in this application embodiment executed by server 102 as an example, it includes the following steps:

[0075] In response to an access operation triggered in the target application, terminal device 101 sends an access request to server 102. Server 102 returns an access response message to terminal device 101. Simultaneously, server 102 records the object behavior data associated with the target application in the current period and obtains the historical object identifier sequence accumulated by the target application at the end of the previous period. Then, based on multiple pending object identifiers contained in the object behavior data, it obtains a pending object identifier sequence and uses historical object identifiers located at endpoints in the historical object identifier sequence as reference object identifiers. Based on the association between the reference object identifiers and at least one pending object identifier at a predetermined position in the pending object identifier sequence, it determines at least one new object identifier in the pending object identifier sequence and adds it to the historical object identifier sequence, thus determining the target object identifier sequence accumulated at the end of the current period.

[0076] In practical applications, the method for processing identification information in this application embodiment can be applied to the access analysis of any application, such as vehicle networking applications, in-vehicle map applications, video applications, instant messaging applications, browser applications, shopping applications, etc.

[0077] Taking an in-vehicle map application as an example, if a period of one day is set, after the terminal device launches the in-vehicle map application, the application displays a map interface, such as... Figure 2 As shown, objects can be clicked, browsed, and searched on the map interface. The terminal device responds to these actions by sending corresponding operation requests to the server, which then generates relevant log data. The server periodically or in real-time extracts the day's object behavior data from the logs.

[0078] The server retrieves the historical object identifier sequence accumulated by the vehicle map application up to yesterday's deadline. Then, based on multiple pending object identifiers contained in the object behavior data, it obtains a pending object identifier sequence, and uses historical object identifiers located at endpoints in the historical object identifier sequence as reference object identifiers. Next, based on the association between the reference object identifiers and at least one pending object identifier at a designated location in the pending object identifier sequence, it determines at least one new object identifier in the pending object identifier sequence and adds this new object identifier to the historical object identifier sequence to determine the historical object identifier sequence accumulated up to the current day's deadline.

[0079] In this embodiment, since both the historical object identifier sequence of the previous period and the object identifier sequence to be processed in the current period are sequences of arranged object identifiers, the association between the entire historical object identifier sequence and the entire object identifier sequence to be processed can be directly obtained by comparing the association between the reference object identifier at the endpoint position in the historical object identifier sequence and the object identifier to be processed at the specified position in the object identifier sequence to be processed. This allows for the acquisition of at least one new object identifier in the object identifier sequence to be processed, without the need to compare each object identifier to be processed with each historical object identifier in the historical object identifier sequence. This significantly reduces the number of comparisons, effectively improves computational efficiency, and thus improves the efficiency of application access analysis.

[0080] It is understood that in the specific implementation of this application, user-related data such as object behavior data and object identifiers are involved. When the above embodiments of this application are applied to specific products or technologies, user permission or consent is required, and the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions.

[0081] based on Figure 1 The system architecture diagram shown in this application illustrates a flowchart of a method for processing identification information. Figure 3 As shown, the process of this method is executed by a computer device, which can be... Figure 1 The terminal device 101 and / or server 102 shown include the following steps:

[0082] Step S301: Obtain the object behavior data associated with the target application in the current period, and obtain the historical object identifier sequence accumulated by the target application at the end of the previous period.

[0083] Specifically, the target application can be a vehicle-to-everything (V2X) application, an in-vehicle map application, a video application, an instant messaging application, etc. Each cycle includes a start time and an end time. If we define the start time of the previous cycle as the first moment and the end time of the previous cycle as the second moment, then the previous cycle refers to the time period from the first moment to the second moment. The end time of the previous cycle refers to the point when the end time of the previous cycle is reached, i.e., when the second moment is reached.

[0084] The end time of the previous cycle is the start time of the current cycle. If we set the start time of the current cycle as the second moment and the end time as the third moment, then the current cycle refers to the time period from the second moment to the third moment. The end time of the current cycle refers to the time when the third moment is reached. The duration of one cycle can be set according to actual needs.

[0085] Taking a cycle of 1 hour as an example, let's set the first time as 10:00, the second time as 11:00, and the third time as 12:00. Then the previous cycle was the period from 10:00 to 11:00, the current cycle is the period from 11:00 to 12:00, the end time of the previous cycle is when it reaches 11:00, and the end time of the current cycle is when it reaches 12:00.

[0086] When an object uses the target application, it generates corresponding object behavior data. This object behavior data is recorded in the target application's log data. In addition to recording object behavior data, the target application's log data also records information such as operation time and operating device information. The log data can be stored in a database. The database can be a relational database management system such as MySQL or Oracle, a distributed system such as HDFS (Hadoop Distributed File System) or HBase, or a data warehouse tool such as Hive.

[0087] Extract object behavior data associated with the target application in the current period from the target application's log data. The object behavior data includes multiple object identifiers to be processed and the object operation events corresponding to each object identifier. The object identifier includes keywords and serial numbers, where the serial number can be a unique identifier for the first object (IdentityDocument, or ID for short). Object operation events include, but are not limited to, click operation events, browsing operation events, and virtual resource exchange events.

[0088] The target application's accumulated historical object identifier sequence at the end of the previous period includes object identifiers obtained in the previous period and in each historical period prior to the previous period. The historical object identifier sequence can be obtained by arranging the object identifiers in descending order or by arranging them in ascending order.

[0089] Step S302: Based on the multiple object identifiers to be processed contained in the object behavior data, obtain the object identifier sequence to be processed, and use the historical object identifiers located at the endpoints in the historical object identifier sequence as reference object identifiers.

[0090] Specifically, after deduplicating multiple object identifiers in the object behavior data, the remaining object identifiers are sorted to obtain a sequence of object identifiers to be processed. Each object identifier in the sequence corresponds to a position marker. The object identifiers can be sorted in descending order or in ascending order. The sorting method for the sequence of object identifiers to be processed can be the same as or different from that of the historical object identifier sequence.

[0091] In some embodiments, the first historical object identifier in the historical object identifier sequence can be used as the reference object identifier; alternatively, the last historical object identifier in the historical object identifier sequence can be used as the reference object identifier.

[0092] For example, such as Figure 4 As shown, the current cycle is the nth cycle. The object identifiers to be processed are sorted in descending order to obtain the sequence of object identifiers to be processed. Where k represents the position marker, This represents the object identifier of the object to be processed, ranked kth in the nth period. The historical object identifiers accumulated at the end of the (n-1)th period are sorted in descending order of object identifiers to obtain the historical object identifier sequence. Where j represents the position marker, This represents the historical object identifier ranked j-th in the (n-1)th period. The first historical object identifier in the historical object identifier sequence... As reference object identifiers, n, k, and j are integers greater than 0.

[0093] Step S303: Based on the association between the reference object identifier and the object identifier at least at a set position in the object identifier sequence to be processed, determine at least one new object identifier in the object identifier sequence to be processed, add at least one new object identifier to the historical object identifier sequence, and determine the target object identifier sequence accumulated at the end of the current period.

[0094] Specifically, at least one predetermined position in the sequence of object identifiers to be processed can be set according to actual conditions. Based on the association between the reference object identifier and the object identifiers to be processed at the predetermined positions in the sequence of object identifiers to be processed, the insertion position of the reference object identifier in the sequence of object identifiers to be processed is determined.

[0095] When the object identifiers are arranged in descending order to obtain a sequence, the object identifiers at and before the insertion position are greater than the reference object identifier, and the object identifiers after the insertion position are less than or equal to the reference object identifier. Conversely, when the object identifiers are arranged in ascending order to obtain a sequence, the object identifiers at and before the insertion position are less than the reference object identifier, and the object identifiers after the insertion position are greater than or equal to the reference object identifier.

[0096] At least one new object identifier refers to an object identifier newly added to the object identifier sequence to be processed compared to the historical object identifier sequence accumulated at the end of the previous period. After obtaining at least one new object identifier, at least one new object identifier is added to the historical object identifier sequence to update the historical object identifier sequence and obtain the target object identifier sequence accumulated at the end of the current period.

[0097] In this embodiment, since both the historical object identifier sequence of the previous period and the object identifier sequence to be processed in the current period are sequences of object identifiers arranged in order, the association between the reference object identifier at the endpoint position in the historical object identifier sequence and the object identifier to be processed at the specified position in the object identifier sequence to be processed can be directly obtained by comparing the association between the reference object identifier at the endpoint position in the historical object identifier sequence and the object identifier to be processed at the specified position in the object identifier sequence to be processed. This allows for the acquisition of at least one new object identifier in the object identifier sequence to be processed, without the need to compare each object identifier to be processed with each historical object identifier in the historical object identifier sequence. This significantly reduces the number of comparisons, effectively improves computational efficiency, and thus improves the efficiency of application access analysis.

[0098] Optionally, after obtaining at least one new object identifier in the sequence of object identifiers to be processed, the number of target access objects accumulated by the target application at the end of the current period is determined based on the number of at least one new object identifier and the number of historical access objects accumulated by the target application at the end of the previous period.

[0099] Specifically, a distributed computing approach is used to determine the initial number of accessed objects. This distributed computing approach is based on Haplo (Hadoop, a distributed system infrastructure) and utilizes MapReduce (for parallel processing of large-scale datasets), or simply MapReduce distributed computing. The historical number of accessed objects is the number of object identifiers obtained after deduplicating the object identifiers from all previous periods.

[0100] The number of at least one newly added object identifiers obtained in the current period is added to the number of historical access objects accumulated by the target application at the end of the previous period to obtain the number of target access objects accumulated by the target application at the end of the current period.

[0101] For example, let's set the cumulative number of historical accessed objects at the end of the (n-1)th period as TUV. n-1 The number of newly added object identifiers obtained in the nth period is The target application accumulates the number of target access objects by the end of the nth period.

[0102] In this embodiment, the number of newly accessed objects is obtained based on the number of at least one newly added object identifier in the current period. Then, the cumulative target number of accessed objects is obtained based on the number of newly accessed objects and the cumulative number of historical accessed objects obtained in the previous period. This eliminates the need to use database operations such as distinct, group by, sum, and count to count the number of newly accessed objects and the cumulative number of accessed objects, thereby reducing computing resources and improving computing efficiency.

[0103] Optionally, based on at least one newly added object identifier and object behavior data, the number of new visits to the target application in the current period is determined, and then based on the number of new visits and the historical visits accumulated by the target application at the end of the previous period, the target number of visits accumulated by the target application at the end of the current period is determined.

[0104] Specifically, a distributed computing approach is used to determine the initial number of accesses. Based on at least one newly added object identifier, the number of newly added object identifiers before deduplication is determined from the object behavior data. Then, based on the number of newly added object identifiers before deduplication, the number of new accesses is determined. Finally, the number of new accesses is added to the historical access count accumulated at the end of the previous period to obtain the target number of accesses accumulated at the end of the current period.

[0105] For example, let's define the cumulative number of historical visits at the end of the (n-1)th period as TPV. n-1 From the object behavior data obtained in the nth period, determine the number of newly added object identifiers before deduplication. The target application then accumulates the target number of visits by the end of the nth period.

[0106] In this embodiment, the number of new visits is obtained based on at least one new object identifier and object behavior data. Then, based on the number of new visits and the historical visits accumulated in the previous period, the target number of visits accumulated in the current period is obtained. This eliminates the need to use database operations such as distinct, group by, sum, and count to count the number of new visits and the cumulative number of visits, thereby reducing computing resources and improving computing efficiency.

[0107] Optionally, in step S302 above, this application implements an iterative approach to compare the reference object identifier with the object identifier at a set position in the object identifier sequence to be processed, and to determine at least one newly added object identifier in the object identifier sequence to be processed. Specifically, this includes the following steps:

[0108] The sequence of object identifiers to be processed is used as the initial sequence of candidate object identifiers. Then, an iterative approach is adopted, taking the object identifier in the middle position of the candidate object identifier sequence as the candidate object identifier, and updating the candidate object identifier sequence based on the association between the candidate object identifier and the reference object identifier. The iteration process stops when the iteration stopping condition is met, and the target object identifier that matches the reference object identifier is output. Based on the target object identifier, at least one new object identifier is determined from the sequence of object identifiers to be processed.

[0109] Specifically, in each iteration, a distributed parallel computing approach is used to update the candidate object identifier sequence based on the association between the candidate object identifier and the reference object identifier. In each iteration, the embodiments of this application obtain the candidate object identifiers using at least the following methods:

[0110] First, obtain the position markers of the first and last object identifiers in the candidate object identifier sequence. Then, based on the position markers of the first and last object identifiers, determine the median position marker. Finally, use the object identifier corresponding to the median position marker in the candidate object identifier sequence as the candidate object identifier.

[0111] In some embodiments, the median position mark is determined based on the position mark of the first object to be processed and the position mark of the last object to be processed, satisfying the following binary tree sorting formula (1):

[0112]

[0113] in, This represents the median position marker in the candidate object identifier sequence during the i-th iteration of the n-th period. This represents the position marker of the first object identifier to be processed in the candidate object identifier sequence during the i-th iteration of the n-th period. represents the position marker of the last unprocessed object identifier in the candidate object identifier sequence during the i-th iteration of the n-th period, x represents the number of unprocessed object identifiers contained in the candidate object identifier sequence, E represents the even set, O represents the odd set, [] represents rounding, and i and x are integers greater than 0.

[0114] For example, the sequence of object identifiers obtained in the first cycle In the first iteration, the sequence of object identifiers to be processed, U1, is used as the candidate object identifier sequence. The position of the first object identifier to be processed in the candidate object identifier sequence is marked as 1, and the position of the last object identifier to be processed is marked as 5. Substituting the position marks "1" and "5" into the above formula (1), the median position mark is obtained as 3. Then, the object identifier to be processed corresponding to the median position mark is obtained from the candidate object identifier sequence. As an identifier for candidate objects.

[0115] In this embodiment, an iterative approach is adopted. The object identifier to be processed located in the middle position of the candidate object identifier sequence is taken as the candidate object identifier. Based on the association relationship between the candidate object identifier and the reference object identifier, the candidate object identifier sequence is reduced by half until the iteration stopping condition is met. The iteration process stops, and the target object identifier that matches the reference object identifier is output. Based on the target object identifier, at least one new object identifier is determined from the object identifier sequence to be processed. This greatly reduces the number of comparisons between the object identifier to be processed and the reference object identifier at the specified position, thereby improving the efficiency of obtaining new object identifiers and reducing resource consumption.

[0116] In some embodiments, when different sorting methods are used to obtain the historical object identifier sequence and the object identifier sequence to be processed are used to obtain the sequence during iteration, the method of iteratively updating the candidate object identifier sequence based on the association between the candidate object identifier and the reference object identifier is also different. For different sorting methods, this application embodiment provides at least the following iteration methods:

[0117] Implementation Method 1: The sorting method for the sequence of object identifiers to be processed is as follows: they are arranged in descending order of object identifiers; when the historical object identifier sequence is obtained by arranging the object identifiers in descending order, the reference object identifier is the first historical object identifier in the historical object identifier sequence; when the historical object identifier sequence is obtained by arranging the object identifiers in ascending order, the reference object identifier is the last historical object identifier in the historical object identifier sequence; the iteration stopping condition is to obtain the smallest object identifier to be processed that is greater than the reference object identifier from the sequence of object identifiers to be processed.

[0118] If the candidate object identifier is greater than the reference object identifier, then remove the object identifiers from the first pending object identifier to the candidate object identifier in the candidate object identifier sequence to obtain an updated candidate object identifier sequence. If the candidate object identifier is less than or equal to the reference object identifier, then remove the object identifiers from the candidate object identifier to the last pending object identifier in the candidate object identifier sequence to obtain an updated candidate object identifier sequence.

[0119] Specifically, since the sequence of object identifiers to be processed is obtained by arranging the object identifiers in descending order, in each iteration, the object identifiers to be processed in the candidate object identifier sequence obtained from the sequence of object identifiers to be processed are also arranged in descending order.

[0120] When the candidate object identifier is greater than the reference object identifier, it means that all the object identifiers to be processed before the candidate object identifier in the candidate object identifier sequence are greater than the reference object identifier. Therefore, the object identifiers to be processed before the candidate object identifier in the candidate object identifier sequence do not need to be compared with the reference object identifier. Thus, the object identifiers from the first object identifier to the candidate object identifier (including the first object identifier and the candidate object identifier) ​​in the candidate object identifier sequence are removed. Based on the retained object identifiers to be processed, the updated candidate object identifier sequence is used to enter the next iteration process.

[0121] When a candidate object identifier is less than or equal to a reference object identifier, it means that each object identifier to be processed after the candidate object identifier in the candidate object identifier sequence is less than or equal to the reference object identifier. Therefore, each object identifier to be processed after the candidate object identifier in the candidate object identifier sequence does not need to be compared with the reference object identifier. Thus, the object identifiers from the candidate object identifier to the last object identifier to be processed in the candidate object identifier sequence (including the candidate object identifier and the last object identifier to be processed) are removed. Based on the retained object identifiers to be processed, the updated candidate object identifier sequence is used to enter the next iteration process.

[0122] In this embodiment, since the candidate object identifier sequence is obtained by arranging the object identifiers in descending order, the size relationship between the candidate object identifier in the middle position of the candidate object identifier sequence and the reference object identifier can be directly obtained based on the size relationship between each object identifier to be processed in the candidate object identifier sequence that is before or after the candidate object identifier and the reference object identifier. Then, based on the obtained size relationship between each object identifier to be processed and the reference object identifier, the candidate object identifier sequence is reduced by half, which reduces the number of comparisons between the candidate object identifier and the reference object identifier, thereby improving the efficiency of obtaining the access status of the analysis application.

[0123] In some embodiments, when the iteration stops, the last remaining object identifier to be processed is the smallest object identifier in the object identifier sequence that is greater than the reference object identifier. Since the reference object identifier is the largest object identifier in the historical object identifier sequence, and the object identifier sequence to be processed is obtained by arranging object identifiers in descending order, when the last remaining object identifier to be processed is used as the target object identifier to match the reference object identifier, all object identifiers in the object identifier sequence preceding the target object identifier are object identifiers greater than the reference object identifier, i.e., object identifiers different from the historical object identifier sequence. Therefore, after obtaining the target object identifier to match the reference object identifier when the iteration stops, the target object identifier and the object identifiers in the object identifier sequence preceding the target object identifier can be directly used as new object identifiers.

[0124] For example, such as Figure 5 As shown, the largest historical object identifier in the initial historical object identifier sequence is... The sequence of object identifiers to be processed obtained in the first cycle serves as a reference object identifier. The object identifiers in the object identifier sequence are sorted from largest to smallest according to the object identifier.

[0125] In the first iteration, the object identifier sequence U1 to be processed is used as the candidate object identifier sequence Ug. The position mark of the first position in the candidate object identifier sequence is 1, and the position mark of the last position is 5. Substituting the position mark "1" of the first position and the position mark "5" of the last position into the above formula (1), the median position mark is obtained. Then, from the candidate object identifier sequence, obtain the object identifier corresponding to the median position marker. As an identifier for candidate objects.

[0126] like Remove Obtain the updated candidate object identifier sequence Proceed to the second iteration. If... Remove Obtain the updated candidate object identifier sequence Entering the second iteration process.

[0127] In the second iteration, if the candidate object identifier sequence The position marker of the first position in the candidate object identifier sequence is 3, and the position marker of the last position is 5. Substituting the position marker "3" of the first position and the position marker "5" of the last position into the above formula (1), we obtain the median position marker. Then, from the candidate object identifier sequence, obtain the object identifier corresponding to the median position marker. As an identifier for candidate objects.

[0128] like Remove Obtain the updated candidate object identifier sequence Enter the third iteration process. If... because and and Adjacent, therefore, For the object identifier sequence to be processed, the one that is greater than the reference object identifier. The smallest object identifier to be processed is found, therefore the iteration process ends and the object identifier to be processed is determined. Output as the target object identifier, and output the identifier of the object to be processed. and the object identifier sequence located in the object identifier to be processed Previous pending object identifier As a new object identifier.

[0129] In the second iteration, if the candidate object identifier sequence The position marker of the first position in the candidate object identifier sequence is 1, and the position marker of the last position is 2. Substituting the position marker "1" of the first position and the position marker "2" of the last position into the above formula (1), the median position marker is obtained. Then, from the candidate object identifier sequence, obtain the object identifier corresponding to the median position marker. As an identifier for candidate objects.

[0130] like because and and Adjacent, therefore, For the object identifier sequence to be processed, the one that is greater than the reference object identifier. The smallest object identifier to be processed is found, therefore the iteration process ends and the object identifier to be processed is determined. Output as the target object identifier, and output the identifier of the object to be processed. and the object identifier sequence located in the object identifier to be processed Previous pending object identifier As a new object identifier. Remove Obtain the updated candidate object identifier sequence Entering the third iteration process.

[0131] In the third iteration, if the candidate object identifier sequence is The position marker of the first position in the candidate object identifier sequence is 4, and the position marker of the last position is 5. Substituting the position marker "4" of the first position and the position marker "5" of the last position into the above formula (1), we obtain the median position marker. Then, from the candidate object identifier sequence, obtain the object identifier corresponding to the median position marker. As an identifier for candidate objects.

[0132] like because This is the last object identifier in the sequence of object identifiers to be processed. For the object identifier sequence to be processed, the one that is greater than the reference object identifier. The smallest object identifier to be processed is found, therefore the iteration process ends and the object identifier to be processed is determined. Output as the target object identifier, and output the identifier of the object to be processed. and the object identifier sequence located in the object identifier to be processed Previous pending object identifier As a new object identifier.

[0133] like because and and Adjacent, therefore, For the object identifier sequence to be processed, the one that is greater than the reference object identifier. The smallest object identifier to be processed is found, therefore the iteration process ends and the object identifier to be processed is determined. Output as the target object identifier, and output the identifier of the object to be processed. and the object identifier sequence located in the object identifier to be processed Previous pending object identifier As a new object identifier.

[0134] In the third iteration, if the candidate object identifier sequence Will and If a comparison is made, because and and Adjacent, therefore, For the object identifier sequence to be processed, the one that is greater than the reference object identifier. The smallest object identifier to be processed is found, therefore the iteration process ends and the object identifier to be processed is determined. Output as the target object identifier, and output the identifier of the object to be processed. As a new object identifier.

[0135] like This indicates that there are no new object identifiers in the sequence of object identifiers to be processed.

[0136] In this embodiment, based on the size relationship between the candidate object identifier in the middle position of the candidate object identifier sequence and the reference object identifier, the candidate object identifier sequence is gradually reduced by half until the smallest object identifier greater than the reference object identifier is obtained from the object identifier sequence to be processed as the target object identifier. Then, the target object identifier and the object identifiers in the object identifier sequence that are before the target object identifier are directly used as the new object identifier. This greatly reduces the number of comparisons between the candidate object identifier and the reference object identifier, improves the efficiency of obtaining the new object identifier, and effectively solves the data skew problem caused by using Left Join table operations to obtain the new object identifier when the amount of data in the object identifier sequence to be processed is large.

[0137] Implementation Method 2: The sorting method for the sequence of object identifiers to be processed is as follows: they are arranged in ascending order of object identifiers; when the historical object identifier sequence is obtained by arranging the object identifiers in ascending order, the reference object identifier is the first historical object identifier in the historical object identifier sequence; when the historical object identifier sequence is obtained by arranging the object identifiers in descending order, the reference object identifier is the last historical object identifier in the historical object identifier sequence; the iteration stopping condition is to obtain the largest object identifier to be processed that is smaller than the reference object identifier from the sequence of object identifiers to be processed.

[0138] If the candidate object identifier is less than the reference object identifier, then remove the object identifiers from the first object identifier to the candidate object identifier in the candidate object identifier sequence to obtain an updated candidate object identifier sequence; if the candidate object identifier is greater than or equal to the reference object identifier, then remove the object identifiers from the candidate object identifier to the last object identifier in the candidate object identifier sequence to obtain an updated candidate object identifier sequence.

[0139] Specifically, since the sequence of object identifiers to be processed is obtained by arranging the object identifiers in ascending order, in each iteration, the object identifiers to be processed in the candidate object identifier sequence obtained from the sequence of object identifiers to be processed are also arranged in ascending order.

[0140] When the candidate object identifier is less than the reference object identifier, it means that all the object identifiers to be processed before the candidate object identifier in the candidate object identifier sequence are less than the reference object identifier. Therefore, the object identifiers to be processed before the candidate object identifier in the candidate object identifier sequence do not need to be compared with the reference object identifier. Thus, the object identifiers from the first object identifier to the candidate object identifier in the candidate object identifier sequence (including the first object identifier and the candidate object identifier) ​​are removed. Based on the retained object identifiers to be processed, the updated candidate object identifier sequence is used to enter the next iteration process.

[0141] When the candidate object identifier is greater than or equal to the reference object identifier, it means that each object identifier to be processed after the candidate object identifier in the candidate object identifier sequence is greater than or equal to the reference object identifier. Therefore, each object identifier to be processed after the candidate object identifier in the candidate object identifier sequence does not need to be compared with the reference object identifier. Thus, the object identifiers from the candidate object identifier to the last object identifier to be processed in the candidate object identifier sequence (including the candidate object identifier and the last object identifier to be processed) are removed. Based on the retained object identifiers to be processed, the updated candidate object identifier sequence is used to enter the next iteration process.

[0142] In this embodiment, since the candidate object identifier sequence is obtained by arranging the object identifiers in ascending order, the size relationship between the candidate object identifier in the middle position of the candidate object identifier sequence and the reference object identifier can be directly obtained based on the size relationship between each object identifier to be processed in the candidate object identifier sequence that is before or after the candidate object identifier and the reference object identifier. Then, based on the obtained size relationship between each object identifier to be processed and the reference object identifier, the candidate object identifier sequence is reduced by half, which reduces the number of comparisons between the candidate object identifier and the reference object identifier, thereby improving the efficiency of obtaining the access status of the analysis application.

[0143] In some embodiments, when the iteration stops, the last remaining object identifier to be processed is the largest object identifier in the object identifier sequence that is smaller than the reference object identifier. Since the reference object identifier is the smallest object identifier in the historical object identifier sequence, and the object identifier sequence to be processed is obtained by arranging the object identifiers in ascending order, when the last remaining object identifier to be processed is used as the target object identifier to match the reference object identifier, all object identifiers in the object identifier sequence preceding the target object identifier are object identifiers smaller than the reference object identifier, i.e., object identifiers different from the historical object identifier sequence. Therefore, after obtaining the target object identifier to match the reference object identifier when the iteration stops, the target object identifier and the object identifiers in the object identifier sequence preceding the target object identifier can be directly used as the new object identifier.

[0144] For example, such as Figure 6 As shown, the smallest historical object identifier in the initial historical object identifier sequence is... The sequence of object identifiers to be processed obtained in the first cycle serves as a reference object identifier. The object identifiers in the object identifier sequence are sorted in ascending order of object identifier size.

[0145] In the first iteration, the object identifier sequence U1 to be processed is used as the candidate object identifier sequence Ug. The position mark of the first position in the candidate object identifier sequence is 1, and the position mark of the last position is 5. Substituting the position mark "1" of the first position and the position mark "5" of the last position into the above formula (1), the median position mark is obtained. Then, from the candidate object identifier sequence, obtain the object identifier corresponding to the median position marker. As an identifier for candidate objects.

[0146] like Remove Obtain the updated candidate object identifier sequence Proceed to the second iteration. If... Remove Obtain the updated candidate object identifier sequence Entering the second iteration process.

[0147] In the second iteration, if the candidate object identifier sequence The position marker of the first position in the candidate object identifier sequence is 3, and the position marker of the last position is 5. Substituting the position marker "3" of the first position and the position marker "5" of the last position into the above formula (1), we obtain the median position marker. Then, from the candidate object identifier sequence, obtain the object identifier corresponding to the median position marker. As an identifier for candidate objects.

[0148] like Remove Obtain the updated candidate object identifier sequence Enter the third iteration process. If... because and and Adjacent, therefore, For the object identifier sequence to be processed, the one that is smaller than the reference object identifier is... The maximum number of pending objects is determined, therefore the iteration process ends, and the pending object identifier is set to [value]. Output as the target object identifier, and output the identifier of the object to be processed. and the object identifier sequence located in the object identifier to be processed Previous pending object identifier As a new object identifier.

[0149] In the second iteration, if the candidate object identifier sequence The position marker of the first position in the candidate object identifier sequence is 1, and the position marker of the last position is 2. Substituting the position marker "1" of the first position and the position marker "2" of the last position into the above formula (1), the median position marker is obtained. Then, from the candidate object identifier sequence, obtain the object identifier corresponding to the median position marker. As an identifier for candidate objects.

[0150] like because and and Adjacent, therefore, For the object identifier sequence to be processed, the one that is smaller than the reference object identifier is... The maximum number of pending objects is determined, therefore the iteration process ends, and the pending object identifier is set to [value]. Output as the target object identifier, and output the identifier of the object to be processed. and the object identifier sequence located in the object identifier to be processed Previous pending object identifier As a new object identifier. Remove Obtain the updated candidate object identifier sequence Entering the third iteration process.

[0151] In the third iteration, if the candidate object identifier sequence is The position marker of the first position in the candidate object identifier sequence is 4, and the position marker of the last position is 5. Substituting the position marker "4" of the first position and the position marker "5" of the last position into the above formula (1), we obtain the median position marker. Then, from the candidate object identifier sequence, obtain the object identifier corresponding to the median position marker. As an identifier for candidate objects.

[0152] like because This is the last object identifier in the sequence of object identifiers to be processed. For the object identifier sequence to be processed, the one that is smaller than the reference object identifier is... The maximum number of pending objects is determined, therefore the iteration process ends, and the pending object identifier is set to [value]. Output as the target object identifier, and output the identifier of the object to be processed. and the object identifier sequence located in the object identifier to be processed Previous pending object identifier As a new object identifier.

[0153] like because and and Adjacent, therefore, For the object identifier sequence to be processed, the one that is smaller than the reference object identifier is... The maximum number of pending objects is determined, therefore the iteration process ends, and the pending object identifier is set to [value]. Output as the target object identifier, and output the identifier of the object to be processed. and the object identifier sequence located in the object identifier to be processed Previous pending object identifier As a new object identifier.

[0154] In the third iteration, if the candidate object identifier sequence Will and If a comparison is made, because and and Adjacent, therefore, For the object identifier sequence to be processed, the one that is smaller than the reference object identifier is... The maximum number of pending objects is determined, therefore the iteration process ends, and the pending object identifier is set to [value]. Output as the target object identifier, and output the identifier of the object to be processed. As a new object identifier.

[0155] like This indicates that there are no new object identifiers in the sequence of object identifiers to be processed.

[0156] In this embodiment, based on the size relationship between the candidate object identifier in the middle position of the candidate object identifier sequence and the reference object identifier, the candidate object identifier sequence is gradually reduced by half until the largest object identifier smaller than the reference object identifier is obtained from the object identifier sequence to be processed as the target object identifier. Then, the target object identifier and the object identifiers in the object identifier sequence that are before the target object identifier are directly used as the new object identifier. This greatly reduces the number of comparisons between the candidate object identifier and the reference object identifier, improves the efficiency of obtaining the new object identifier, and effectively solves the data skew problem caused by using Left Join table operations to obtain the new object identifier when the amount of data in the object identifier sequence to be processed is large.

[0157] In some embodiments, among the object identifiers to be processed in the object identifier sequence that are located after the target object identifier, there may also be object identifiers that are different from the historical object identifier sequence. In this embodiment, these object identifiers to be processed are compared with the historical object identifiers in the historical object identifier sequence, and new object identifiers are selected from these object identifiers to be processed, thereby improving the completeness of the new object identifiers obtained in the current period.

[0158] To better explain the embodiments of this application, the following describes a method for processing identification information provided by the embodiments of this application, in conjunction with a specific implementation scenario. The process of this method can be described by: Figure 1 The terminal device 101 shown can execute the command, or it can be executed by the server 102, or it can be executed interactively by the terminal device 101 and the server 102. The command includes the following steps: Figure 7 As shown:

[0159] Step S701: Obtain the initial object identifier sequence TU0, the initial number of accessed objects TUV0, and the initial number of accesses TPV0 for period T0.

[0160] Specifically, the initial object behavior data of the target application is obtained from the target application's log data. For example, if the target application is a shopping application, see [link to relevant documentation]. Figure 8 This is a schematic diagram of a shopping application interface provided in an embodiment of this application. When an object browses the shopping application interface, corresponding browsing behavior data is generated. When an object clicks on content in the shopping application interface, corresponding click behavior data is generated.

[0161] The initial object behavior data is deduplicated by removing multiple object identifiers, and the remaining object identifiers are sorted in descending order to obtain the initial object identifier sequence TU0. The initial cumulative number of initially accessed objects TUV0 and the initial number of accesses TPV0 are determined using MapReduce distributed computing.

[0162] Step S702: Determine the set of newly added object identifiers for period T1. Number of newly added object identifiers and new visits

[0163] Specifically, the first object identifier in the initial object identifier sequence TU0 Used as a reference object identifier. Obtain object behavior data associated with the target application in period T1 from the log data. After deduplicating the object identifiers in the object behavior data, sort them in descending order of object identifiers to obtain the sequence of object identifiers to be processed in period T1. n is an integer greater than 0.

[0164] In the first iteration, the object identifier sequence U1 to be processed is used as the candidate object identifier sequence Ug, and the median position mark is calculated using the above formula (1). Then, from the candidate object identifier sequence, obtain the object identifier to be processed corresponding to the median position marker. As an identifier for candidate objects.

[0165] like Then the updated candidate object identifier sequence is obtained. Proceed to the second iteration. If... Then the updated candidate object identifier sequence is obtained. Entering the second iteration process.

[0166] In the second iteration, if the candidate object identifier sequence Then, the median position marker is calculated using the formula (1) above. Then, from the candidate object identifier sequence, obtain the object identifier to be processed corresponding to the median position marker. As an identifier for candidate objects.

[0167] like Then the updated candidate object identifier sequence is obtained. Enter the third iteration process. If... Then the updated candidate object identifier sequence is obtained. Entering the third iteration process.

[0168] In the second iteration, if the candidate object identifier sequence Then, the median position marker is calculated using the formula (1) above. Then, from the candidate object identifier sequence, obtain the object identifier to be processed corresponding to the median position marker. As an identifier for candidate objects.

[0169] like Then the updated candidate object identifier sequence is obtained. Enter the third iteration process. If... Then the updated candidate object identifier sequence is obtained. Entering the third iteration process.

[0170] This process continues until a sequence of object identifiers is found that is greater than the reference object identifier. Minimum target object identifier The location of the target object is marked as a'1.

[0171] The target object identifier and the unprocessed object identifiers preceding the target object identifier in the sequence of unprocessed object identifiers are used as new object identifiers to obtain a set of new object identifiers. Furthermore, the number of newly added object identifiers Based on the newly added object identifier set If we obtain the number b1 of newly added object identifiers in the object behavior data without deduplication, then the number of new accesses is...

[0172] Step S703: Determine the object identifier sequence TU1, the number of accessed objects TUV1, and the number of accesses TPV1 for period T1.

[0173] Specifically, the new object identifier set will be added. Add the object identifiers to the initial object identifier sequence TU0, and sort them in descending order of object identifiers to obtain the object identifier sequence TU1. The target application accumulates the number of accessed objects by the end of period T1. The number of visits accumulated by the target application at the end of period T1.

[0174] Step S704: Determine the set of newly added object identifiers for period Tn. Number of newly added object identifiers and new visits

[0175] Specifically, T n-1 Periodic historical object identification sequence TU n-1 The first object identifier in Used as a reference object identifier. The target application in T is obtained from the log data. n The periodically associated object behavior data is processed by removing duplicate object identifiers and sorting them in descending order of object identifiers to obtain a sequence of object identifiers for period Tn. m is an integer greater than 0.

[0176] During the first iteration, the sequence of object identifiers U to be processed is... n As the candidate object identifier sequence Ug, the median position marker is calculated using the above formula (1). Then, from the candidate object identifier sequence, obtain the object identifier to be processed corresponding to the median position marker. As an identifier for candidate objects.

[0177] like Then the updated candidate object identifier sequence is obtained. Proceed to the second iteration. If... Then the updated candidate object identifier sequence is obtained. Entering the second iteration process.

[0178] In the second iteration, if the candidate object identifier sequence Then, the median position marker is calculated using the formula (1) above. Then, from the candidate object identifier sequence, obtain the object identifier to be processed corresponding to the median position marker. As an identifier for candidate objects.

[0179] like Then the updated candidate object identifier sequence is obtained. Enter the third iteration process. If... Then the updated candidate object identifier sequence is obtained. Entering the third iteration process.

[0180] In the second iteration, if the candidate object identifier sequence Then, the median position marker is calculated using the formula (1) above. Then, from the candidate object identifier sequence, obtain the object identifier to be processed corresponding to the median position marker. As an identifier for candidate objects.

[0181] like Then the updated candidate object identifier sequence is obtained. Enter the third iteration process. If... Then the updated candidate object identifier sequence is obtained. Entering the third iteration process.

[0182] This process continues until a sequence of object identifiers is found that is greater than the reference object identifier. Minimum target object identifier The location of the target object identifier is marked as a' n .

[0183] The target object identifier and the unprocessed object identifiers preceding the target object identifier in the sequence of unprocessed object identifiers are used as new object identifiers to obtain a set of new object identifiers. Furthermore, the number of newly added object identifiers Based on the newly added object identifier set Get the number of newly added object identifiers (b) in the object behavior data without deduplication. n Then the number of new visits

[0184] Step S705: Determine the object identifier sequence TU for period Tn. n Number of accessed objects (TUV) n TPV (Total Visitor Count) n .

[0185] Specifically, the new object identifier set will be added. Add to the initial object identifier sequence TU n-1 In the middle, sort them according to the object identifiers from largest to smallest to obtain the object identifier sequence TU n The number of accessed objects accumulated by the target application at the end of period Tn. The number of visits accumulated by the target application at the end of period Tn.

[0186] In this embodiment, since both the historical object identifier sequence of the previous period and the object identifier sequence to be processed in the current period are sequences of arranged object identifiers, the association between the entire historical object identifier sequence and the entire object identifier sequence to be processed can be directly obtained by comparing the association between the reference object identifier at the endpoint position in the historical object identifier sequence and the object identifier to be processed at the specified position in the object identifier sequence to be processed. This allows for the acquisition of at least one new object identifier in the object identifier sequence to be processed, without the need to compare each object identifier to be processed with each historical object identifier in the historical object identifier sequence. This significantly reduces the number of comparisons, effectively improves computational efficiency, and enhances the efficiency of application access analysis. It also effectively solves the data skew problem caused by using Left Join table operations to obtain new object identifiers when the amount of data in the object identifier sequence to be processed is large.

[0187] Based on the same technical concept, this application provides a schematic diagram of the structure of a device for processing identification information, such as... Figure 9 As shown, the apparatus 900 for processing identification information includes:

[0188] The acquisition module 901 is used to acquire object behavior data associated with the target application in the current period, and to acquire the historical object identifier sequence accumulated by the target application at the end of the previous period.

[0189] The filtering module 902 is used to obtain a sequence of object identifiers to be processed based on multiple object identifiers to be processed contained in the object behavior data, and to use the historical object identifiers located at the endpoints of the historical object identifier sequence as reference object identifiers.

[0190] The matching module 903 is used to determine at least one new object identifier in the sequence of object identifiers to be processed based on the association relationship between the reference object identifier and at least one object identifier at a set position in the sequence of object identifiers to be processed, and to add the at least one new object identifier to the historical object identifier sequence, and to determine the target object identifier sequence accumulated at the end of the current period.

[0191] Optionally, it also includes a statistics module 904;

[0192] The statistics module 904 is specifically used for:

[0193] Based on the number of the at least one newly added object identifier and the number of historical access objects accumulated by the target application at the end of the previous period, the number of target access objects accumulated by the target application at the end of the current period is determined.

[0194] Optionally, the statistics module 904 is further configured to:

[0195] Based on the at least one newly added object identifier and the object behavior data, determine the number of new visits to the target application in the current period;

[0196] Based on the newly added access count and the historical access count accumulated by the target application at the end of the previous period, the target access count accumulated by the target application at the end of the current period is determined.

[0197] Optionally, the matching module 903 is specifically used for:

[0198] The sequence of object identifiers to be processed is used as the initial sequence of candidate object identifiers;

[0199] An iterative approach is adopted, in which the object identifier in the middle position of the candidate object identifier sequence is taken as the candidate object identifier, and the candidate object identifier sequence is updated based on the association between the candidate object identifier and the reference object identifier. The iteration process stops when the iteration stop condition is met, the target object identifier matching the reference object identifier is output, and the at least one new object identifier is determined from the object identifier sequence based on the target object identifier.

[0200] Optionally, the matching module 903 is specifically used for:

[0201] Obtain the position markers of the first and last object identifiers to be processed in the candidate object identifier sequence;

[0202] Based on the position markers of the first and last objects to be processed, the median position marker is determined.

[0203] The object identifier to be processed corresponding to the median position mark in the candidate object identifier sequence is used as the candidate object identifier.

[0204] Optionally, the sorting method corresponding to the sequence of object identifiers to be processed is as follows: arranged in descending order of object identifiers; when the historical object identifier sequence is obtained by arranging the object identifiers in descending order, the reference object identifier is the first historical object identifier in the historical object identifier sequence; when the historical object identifier sequence is obtained by arranging the object identifiers in ascending order, the reference object identifier is the last historical object identifier in the historical object identifier sequence; the iteration stopping condition is obtaining the smallest object identifier to be processed that is greater than the reference object identifier from the sequence of object identifiers to be processed.

[0205] The matching module 903 is specifically used for:

[0206] The target object identifier and the object identifier in the sequence of object identifiers that precedes the target object identifier are used as new object identifiers.

[0207] Optionally, the matching module 903 is specifically used for:

[0208] If the candidate object identifier is greater than the reference object identifier, then remove the object identifiers from the first object identifier to the candidate object identifier in the candidate object identifier sequence to obtain an updated candidate object identifier sequence;

[0209] If the candidate object identifier is less than or equal to the reference object identifier, then remove the object identifiers from the candidate object identifier to the last object identifier to be processed in the candidate object identifier sequence to obtain an updated candidate object identifier sequence.

[0210] Optionally, the sorting method corresponding to the sequence of object identifiers to be processed is as follows: arranged in ascending order of object identifiers; when the historical object identifier sequence is obtained by arranging object identifiers in ascending order, the reference object identifier is the first historical object identifier in the historical object identifier sequence; when the historical object identifier sequence is obtained by arranging object identifiers in descending order, the reference object identifier is the last historical object identifier in the historical object identifier sequence; the iteration stopping condition is obtaining the largest object identifier to be processed that is smaller than the reference object identifier from the sequence of object identifiers to be processed.

[0211] The matching module 903 is specifically used for:

[0212] The target object identifier and the object identifier in the sequence of object identifiers that precedes the target object identifier are used as new object identifiers.

[0213] Optionally, the matching module 903 is specifically used for:

[0214] If the candidate object identifier is smaller than the reference object identifier, then remove the object identifiers from the first object identifier to the candidate object identifier in the candidate object identifier sequence to obtain an updated candidate object identifier sequence;

[0215] If the candidate object identifier is greater than or equal to the reference object identifier, then remove the object identifiers from the candidate object identifier to the last object identifier to be processed in the candidate object identifier sequence to obtain an updated candidate object identifier sequence.

[0216] In this embodiment, since both the historical object identifier sequence of the previous period and the object identifier sequence to be processed in the current period are sequences of arranged object identifiers, the association between the entire historical object identifier sequence and the entire object identifier sequence to be processed can be directly obtained by comparing the association between the reference object identifier at the endpoint position in the historical object identifier sequence and the object identifier to be processed at the specified position in the object identifier sequence to be processed. This allows for the acquisition of at least one new object identifier in the object identifier sequence to be processed, without the need to compare each object identifier to be processed with each historical object identifier in the historical object identifier sequence. This significantly reduces the number of comparisons, effectively improves computational efficiency, and thus improves the efficiency of application access analysis.

[0217] Based on the same technical concept, embodiments of this application provide a computer device, which can be... Figure 1 The server shown is as follows: Figure 10 As shown, it includes at least one processor 1001 and a memory 1002 connected to at least one processor. In this embodiment, the specific connection medium between the processor 1001 and the memory 1002 is not limited. Figure 10 Taking the connection between processor 1001 and memory 1002 via a bus as an example. The bus can be divided into address bus, data bus, control bus, etc.

[0218] In this embodiment of the application, the memory 1002 stores instructions that can be executed by at least one processor 1001. By executing the instructions stored in the memory 1002, at least one processor 1001 can perform the steps of the above-described method for processing identification information.

[0219] The processor 1001 is the control center of the computer device, capable of connecting various parts of the computer device via various interfaces and lines. It analyzes application access by running or executing instructions stored in the memory 1002 and accessing data stored in the memory 1002. Optionally, the processor 1001 may include one or more processing units. The processor 1001 may integrate an application processor and a modem processor. The application processor primarily handles the operating system, user interface, and applications, while the modem processor primarily handles wireless communication. It is understood that the modem processor may not be integrated into the processor 1001. In some embodiments, the processor 1001 and the memory 1002 may be implemented on the same chip; in other embodiments, they may be implemented on separate chips.

[0220] The processor 1001 can be a general-purpose processor, such as a central processing unit (CPU), digital signal processor, application-specific integrated circuit (ASIC), field-programmable gate array (FPGA), or other programmable logic device, discrete gate or transistor logic device, or discrete hardware component, capable of implementing or executing the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly manifested as being executed by a hardware processor, or executed by a combination of hardware and software modules within the processor.

[0221] Memory 1002, as a non-volatile computer-readable storage medium, can be used to store non-volatile software programs, non-volatile computer-executable programs, and modules. Memory 1002 may include at least one type of storage medium, such as flash memory, hard disk, multimedia card, card-type memory, random access memory (RAM), static random access memory (SRAM), programmable read-only memory (PROM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), magnetic memory, magnetic disk, optical disk, etc. Memory 1002 can be any other medium capable of carrying or storing desired program code in the form of instructions or data structures that can be accessed by a computer, but is not limited thereto. In the embodiments of this application, memory 1002 can also be a circuit or any other device capable of implementing storage functions for storing program instructions and / or data.

[0222] Based on the same inventive concept, embodiments of this application provide a computer-readable storage medium storing a computer program executable by a computer device, which, when run on the computer device, causes the computer device to perform the steps of the method for processing identification information described above.

[0223] Based on the same inventive concept, this application provides a computer program product, which includes a computer program stored on a computer-readable storage medium. The computer program includes program instructions that, when executed by a computer, cause the computer to perform the steps of the above-described method for processing identification information.

[0224] Those skilled in the art will understand that embodiments of the present invention can be provided as methods or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied 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.

[0225] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. 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 and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0226] 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.

[0227] 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.

[0228] Although preferred embodiments of the invention have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including both the preferred embodiments and all changes and modifications falling within the scope of the invention.

[0229] Obviously, those skilled in the art can make various modifications and variations to this invention without departing from its spirit and scope. Therefore, if these modifications and variations fall within the scope of the claims of this invention and their equivalents, this invention also intends to include these modifications and variations.

Claims

1. A method for processing identification information, characterized in that, include: Obtain object behavior data associated with the target application in the current period, and obtain the historical object identifier sequence accumulated by the target application at the end of the previous period; Based on the multiple object identifiers to be processed contained in the object behavior data, a sequence of object identifiers to be processed is obtained, and the historical object identifiers located at the endpoints of the historical object identifier sequence are used as reference object identifiers. The sequence of object identifiers to be processed is used as the initial sequence of candidate object identifiers; An iterative approach is adopted, taking the object identifier in the middle position of the candidate object identifier sequence as the candidate object identifier, and updating the candidate object identifier sequence based on the association between the candidate object identifier and the reference object identifier. The iteration process stops when the iteration stop condition is met, outputting the target object identifier that matches the reference object identifier, and determining at least one new object identifier from the object identifier sequence based on the target object identifier. Add the at least one new object identifier to the historical object identifier sequence to determine the cumulative target object identifier sequence obtained at the end of the current period.

2. The method as described in claim 1, characterized in that, Also includes: Based on the number of the at least one newly added object identifier and the number of historical access objects accumulated by the target application at the end of the previous period, the number of target access objects accumulated by the target application at the end of the current period is determined.

3. The method as described in claim 1, characterized in that, Also includes: Based on the at least one newly added object identifier and the object behavior data, determine the number of new visits to the target application in the current period; Based on the newly added access count and the historical access count accumulated by the target application at the end of the previous period, the target access count accumulated by the target application at the end of the current period is determined.

4. The method as described in claim 1, characterized in that, The step of using the object identifier in the middle position of the candidate object identifier sequence as the candidate object identifier includes: Obtain the position markers of the first and last object identifiers to be processed in the candidate object identifier sequence; Based on the position markers of the first and last objects to be processed, the median position marker is determined. The object identifier to be processed corresponding to the median position mark in the candidate object identifier sequence is used as the candidate object identifier.

5. The method as described in claim 1, characterized in that, The sorting method corresponding to the sequence of object identifiers to be processed is as follows: arranged in descending order of object identifiers; when the sequence of historical object identifiers is obtained by arranging the object identifiers in descending order, the reference object identifier is the first historical object identifier in the sequence of historical object identifiers; when the sequence of historical object identifiers is obtained by arranging the object identifiers in ascending order, the reference object identifier is the last historical object identifier in the sequence of historical object identifiers; the iteration stopping condition is obtaining the smallest object identifier to be processed that is greater than the reference object identifier from the sequence of object identifiers to be processed. The step of determining the at least one new object identifier from the sequence of object identifiers to be processed based on the target object identifier includes: The target object identifier and the object identifier in the sequence of object identifiers that precedes the target object identifier are used as new object identifiers.

6. The method as described in claim 5, characterized in that, The step of updating the candidate object identifier sequence based on the association relationship between the candidate object identifier and the reference object identifier includes: If the candidate object identifier is greater than the reference object identifier, then remove the object identifiers from the first object identifier to the candidate object identifier in the candidate object identifier sequence to obtain an updated candidate object identifier sequence; If the candidate object identifier is less than or equal to the reference object identifier, then remove the object identifiers from the candidate object identifier to the last object identifier to be processed in the candidate object identifier sequence to obtain an updated candidate object identifier sequence.

7. The method as described in claim 1, characterized in that, The sorting method corresponding to the sequence of object identifiers to be processed is as follows: arranged in ascending order of object identifiers; when the sequence of historical object identifiers is obtained by arranging object identifiers in ascending order, the reference object identifier is the first historical object identifier in the sequence of historical object identifiers; when the sequence of historical object identifiers is obtained by arranging object identifiers in descending order, the reference object identifier is the last historical object identifier in the sequence of historical object identifiers; the iteration stopping condition is obtaining the largest object identifier to be processed that is smaller than the reference object identifier from the sequence of object identifiers to be processed. The step of determining the at least one new object identifier from the sequence of object identifiers to be processed based on the target object identifier includes: The target object identifier and the object identifier in the sequence of object identifiers that precedes the target object identifier are used as new object identifiers.

8. The method as described in claim 7, characterized in that, The step of updating the candidate object identifier sequence based on the association relationship between the candidate object identifier and the reference object identifier includes: If the candidate object identifier is smaller than the reference object identifier, then remove the object identifiers from the first object identifier to the candidate object identifier in the candidate object identifier sequence to obtain an updated candidate object identifier sequence; If the candidate object identifier is greater than or equal to the reference object identifier, then remove the object identifiers from the candidate object identifier to the last object identifier to be processed in the candidate object identifier sequence to obtain an updated candidate object identifier sequence.

9. An apparatus for processing identification information, characterized in that, include: The acquisition module is used to acquire object behavior data associated with the target application in the current period, and to acquire the historical object identifier sequence accumulated by the target application at the end of the previous period. The filtering module is used to obtain a sequence of object identifiers to be processed based on multiple object identifiers to be processed contained in the object behavior data, and to use historical object identifiers located at the endpoints of the historical object identifier sequence as reference object identifiers. The matching module is used to take the sequence of object identifiers to be processed as the initial sequence of candidate object identifiers; iteratively, it takes the object identifier in the middle position of the sequence as the candidate object identifier, and updates the sequence of candidate object identifiers based on the association between the candidate object identifiers and the reference object identifiers, until the iteration stops when the iteration stop condition is met, outputs the target object identifier that matches the reference object identifier, and determines at least one new object identifier from the sequence of object identifiers to be processed based on the target object identifier; adds the at least one new object identifier to the historical object identifier sequence, and determines the cumulative target object identifier sequence obtained at the end of the current period.

10. A computer device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the steps of the method according to any one of claims 1 to 8.

11. A computer-readable storage medium, characterized in that, It stores a computer program executable by a computer device, which, when run on the computer device, causes the computer device to perform the steps of the method according to any one of claims 1 to 8.

12. A computer program product, characterized in that, The computer program product includes a computer program stored on a computer-readable storage medium, the computer program including program instructions that, when executed by a computer device, cause the computer device to perform the steps of the method according to any one of claims 1-8.