A storage method, a query method, and related devices for device identification

By building the device association path and selecting the root node with the earliest generation time, the device identification is associated and stored, the identification normalization problem caused by device over-issuance is solved, and effective compensation and normalization of device identification is realized.

CN114610712BActive Publication Date: 2025-05-27THE PEOPLES BANK OF CHINA DIGITAL CURRENCY INST
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210116248.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-02-07
Publication Date
2025-05-27
Estimated Expiration
2042-02-07

AI Technical Summary

Technical Problem

The prior art lacks a compensation mechanism when the device is over-issued, and multiple device identifiers that are over-issued cannot be identified as the same device, and it is impossible to normalize multiple device identifiers of the same device.

Method used

By constructing a device association path, determine the association path of each device identification, and select the root node with the earliest generation time as the target root node, and all associated paths are associated and stored to achieve normalization of multiple device identifications of the same device.

Benefits of technology

In the case of over-sending of the device, it is possible to effectively compensate, identify multiple device identifiers that are over-sending as the same device, realizing the normalization of the device identifier, so that the normalized device identifier of the same device can be returned during service query.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114610712B_ABST
    Figure CN114610712B_ABST
Patent Text Reader

Abstract

The present invention discloses a storage method, a query method and related devices for device identifiers, relating to the field of computer technology. A specific embodiment of the method includes: according to multiple device identifiers corresponding to the same device input, determining the device association path where each input device identifier is located, and selecting, according to the generation time of the device identifiers in the root nodes of the determined device association paths, the root node with the earliest device identifier generation time from the determined device association paths as the target root node, and using the target root node to associate all the device association paths where the root nodes of the determined device association paths are located, so as to associate and store all the device identifiers of the same device. This embodiment can effectively compensate in case of device over-issuance, identify the over-issued multiple device identifiers as the same device, and achieve the normalization of multiple device identifiers of the same device.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of risk control technology, and in particular to a storage method, a query method, a storage device and a query device for device identifiers. Background Art

[0002] Device identification is an important part of risk control. Due to cost considerations, black production will use limited devices for large-scale attacks, such as batch registration, brute-force login, marketing fraud, etc. If a unique and unchanging EID (Equipment ID) is assigned to each device, and a device can be accurately identified, then similar black production attacks can be detected through the device. Device fingerprint is such a technology for identifying devices. The device fingerprint collects device information by embedding an SDK (Software Development Kit) on the mobile phone side, and performs device identification based on the collected device information. Since each device of a user has its special features in some parameters, combining multiple collected information together forms the unique device information of this device, just like a person's fingerprint. In theory, based on these unique device information, a device can be uniquely identified, achieving the purpose of assigning a unique and unchanging EID to each device. However, in reality, major mobile phone manufacturers have reduced the scope of device information collection for the purpose of protecting user privacy, and it has become increasingly difficult to directly identify a device through the collected device information. Inevitably, the same device may be identified as multiple EIDs, that is, device over-issuance. When the above over-issuance problem occurs, various problems will occur in the relevant strategies of risk control devices. For example, the device black and white lists will become invalid due to the over-issued EIDs, and the device aggregation strategy will lead to inaccurate statistics because the same device has multiple EIDs.

[0003] In the process of implementing the present invention, the inventors found that there are at least the following problems in the prior art:

[0004] When device over-issuance occurs, there is a lack of a compensation mechanism, so that multiple over-issued device identifiers cannot be identified as the same device, and the normalization of multiple device identifiers of the same device cannot be achieved. When querying device identifiers in business, the normalized device identifiers of the same device cannot be returned either. Summary of the Invention

[0005] In view of this, embodiments of the present invention provide a storage method, a query method, a storage device and a query device for device identifiers, which can effectively compensate when device over-issuance occurs, so as to identify multiple over-issued device identifiers as the same device, achieve the normalization of multiple device identifiers of the same device, and enable the normalized device identifiers of the same device to be returned when querying device identifiers in business.

[0006] To achieve the above object, according to one aspect of an embodiment of the present invention, a method for storing device identifiers is provided.

[0007] A method for storing device identifiers includes: determining a device association path where each input device identifier of the same device is located according to a plurality of device identifiers corresponding to the same device. Each device association path includes one or more nodes, each node includes a device identifier and the generation time of the device identifier, at least one node in each device association path has the device identifier as the input device identifier, and the node without a parent node in the device association path is the root node; selecting, according to the generation time of the device identifier in the root node of each determined device association path, the root node with the earliest device identifier generation time from each device association path as the target root node, and using the target root node to associate all the device association paths where the root nodes of each device association path are located, so as to associate and store all the device identifiers of the same device.

[0008] Optionally, the determining the device association path where each input device identifier is located includes: searching for a root identifier associated with the input device identifier; if the root identifier is found, obtaining the device association path where the input device identifier is located according to the value of the found root identifier; if the root identifier is not found, adding a corresponding root identifier for the input device identifier, and storing the input device identifier and the added root identifier in an associated manner. Using the associated storage information of the input device identifier and the added root identifier as a node, creating the device association path where the input device identifier is located.

[0009] Optionally, the obtaining the device association path where the input device identifier is located according to the value of the found root identifier includes: using the associated storage information of the input device identifier and the found root identifier as the current node. If the value of the root identifier in the current node is not equal to the device identifier of the current node, searching for the associated storage information where the device identifier equal to the value of the root identifier of the current node is located, obtaining the parent node of the current node, and using the parent node as the new current node, and continuing to search for the parent node of the new current node until the value of the root identifier in the finally found node is equal to the device identifier of the current node, then stop searching, and obtaining the device association path where the input device identifier is located from all the found nodes.

[0010] Optionally, the storing the input device identifier and the added root identifier in an associated manner includes: storing the input device identifier, the generation time of the input device identifier, and the added root identifier in the same device information storage structure, and setting the value of the added root identifier to the input device identifier, so as to obtain the associated storage information of the input device identifier and the added root identifier.

[0011] Optionally, the associating all device association paths where the root nodes of the device association paths of each device are located by using the target root node includes: setting the value of the root identifier in other root nodes except the target root node to the device identifier in the target root node.

[0012] According to another aspect of the embodiments of the present invention, a method for querying a device identifier is provided.

[0013] A method for querying a device identifier, comprising: finding a root identifier associated with and stored with the specified device identifier according to the device identifier specified in the received query request; finding the device association path where the specified device identifier is located according to the root identifier, the device association path includes one or more nodes, each node includes a device identifier, at least one node in the device association path has the device identifier as the specified device identifier, and the node without a parent node in the device association path is the root node; outputting the device identifier in the root node of the device association path.

[0014] Optionally, the finding the device association path where the specified device identifier is located according to the root identifier includes: using the association storage information of the specified device identifier and the root identifier as the current node, if the value of the root identifier in the current node is not equal to the device identifier of the current node, then finding the association storage information where the device identifier equal to the value of the root identifier of the current node is located, obtaining the parent node of the current node, and using the parent node as the new current node, and continuing to find the parent node of the new current node until the value of the root identifier in the finally found node is equal to the device identifier of the current node, then stopping the search, and obtaining the device association path where the specified device identifier is located from all the found nodes.

[0015] Optionally, after the finding the device association path where the specified device identifier is located according to the root identifier, it includes: if the number of nodes in the device association path is greater than 1, then setting the value of the root identifier in other nodes except the root node to the device identifier in the root node.

[0016] According to still another aspect of the embodiments of the present invention, a storage device for a device identifier is provided.

[0017] A storage device for device identification, comprising: a device association path determination module, configured to determine, according to a plurality of device identifications corresponding to the same device, the device association path where each input device identification is located. Each device association path includes one or more nodes, each node includes a device identification and the generation time of the device identification. At least one node in each device association path has a device identification that is the input device identification, and the node without a parent node in the device association path is the root node; a device association path merging module, configured to select, according to the generation time of the device identification in the root node of each determined device association path, the root node with the earliest device identification generation time as the target root node from each device association path, and use the target root node to associate all the device association paths where the root nodes of each device association path are located, so as to store all the device identifications of the same device in an associated manner.

[0018] Optionally, the device association path determination module is further configured to: search for the root identification associated with the input device identification; if the root identification is found, obtain the device association path where the input device identification is located according to the value of the found root identification; if the root identification is not found, add a corresponding root identification to the input device identification, and store the input device identification and the added root identification in an associated manner, and create the device association path where the input device identification is located with the associated storage information of the input device identification and the added root identification as the node.

[0019] Optionally, the device association path determination module is further configured to: use the associated storage information of the input device identification and the found root identification as the current node. If the value of the root identification in the current node is not equal to the device identification of this node, search for the associated storage information where the device identification equal to the value of the root identification of the current node is located to obtain the parent node of the current node, and use the parent node as the new current node, and continue to search for the parent node of the new current node until the value of the root identification in the finally found node is equal to the device identification of this node, then stop searching, and obtain the device association path where the input device identification is located from all the found nodes.

[0020] Optionally, the device association path determination module is further configured to: store the input device identification, the generation time of the input device identification, and the added root identification in the same device information storage structure, and set the value of the added root identification to the input device identification to obtain the associated storage information of the input device identification and the added root identification.

[0021] Optionally, the device association path merging module is further configured to: set the value of the root identification in other root nodes except the target root node to the device identification in the target root node.

[0022] According to another aspect of the embodiments of the present invention, there is provided a query device for device identification.

[0023] A query device for device identification includes: a root identification search module, configured to search for a root identification associated with and stored with the specified device identification according to the device identification specified in the received query request; a device association path search module, configured to search for the device association path where the specified device identification is located according to the root identification, the device association path including one or more nodes, each node including a device identification, at least one node in the device association path having the device identification as the specified device identification, and the node without a parent node in the device association path being the root node; and a query result output module, configured to output the device identification in the root node of the device association path.

[0024] Optionally, the device association path search module is further configured to: use the association storage information between the specified device identification and the root identification as the current node, if the value of the root identification in the current node is not equal to the device identification of the current node, search for the association storage information where the device identification equal to the value of the root identification of the current node is located, obtain the parent node of the current node, and use the parent node as the new current node, and continue to search for the parent node of the new current node until the value of the root identification in the finally found node is equal to the device identification of the current node, then stop the search, and obtain the device association path where the specified device identification is located from all the found nodes.

[0025] Optionally, it further includes a device association path compression module, configured to: if the number of nodes in the device association path is greater than 1, set the value of the root identification in other nodes except the root node to the device identification in the root node.

[0026] According to another aspect of the embodiments of the present invention, there is provided an electronic device.

[0027] An electronic device includes: one or more processors; a memory, configured to store one or more programs, and when the one or more programs are executed by the one or more processors, enable the one or more processors to implement the device identification storage method or the device identification query method provided by the embodiments of the present invention.

[0028] According to another aspect of the embodiments of the present invention, there is provided a computer-readable medium.

[0029] A computer-readable medium has a computer program stored thereon, and when the computer program is executed by a processor, it implements the device identification storage method or the device identification query method provided by the embodiments of the present invention.

[0030] One embodiment of the above invention has the following advantages or beneficial effects: According to multiple device identifiers corresponding to the same device in the input, determine the device association paths where each input device identifier is located. According to the generation time of the device identifiers in the root nodes of the determined device association paths, select the root node with the earliest device identifier generation time from the determined device association paths as the target root node. Use the target root node to associate all the device association paths where the root nodes of the determined device association paths are located, so as to associate and store all the device identifiers of the same device, and can effectively compensate in case of device over-issuance, identify the over-issued multiple device identifiers as the same device, and achieve the normalization of multiple device identifiers of the same device. In another embodiment, according to the device identifier specified in the received query request, search for the root identifier associated and stored with the specified device identifier; according to the root identifier, search for the device association path where the specified device identifier is located, and output the device identifier in the root node of the device association path, so that when querying the device identifier in the business, the normalized device identifier of the same device can be returned.

[0031] The further effects of the above non-conventional optional methods will be described below in conjunction with specific embodiments. BRIEF DESCRIPTION OF THE DRAWINGS

[0032] The drawings are used to better understand the present invention and do not unduly limit the present invention. Among them:

[0033] Figure 1 is a schematic diagram of the main steps of a method for storing device identifiers according to an embodiment of the present invention;

[0034] Figure 2 is a schematic diagram of a device information storage structure according to an embodiment of the present invention;

[0035] Figure 3 is a schematic diagram of the merger of device association trees according to an embodiment of the present invention;

[0036] Figure 4 is a schematic diagram of the main steps of a method for querying device identifiers according to an embodiment of the present invention;

[0037] Figure 5 is a schematic diagram of device identifier query according to an embodiment of the present invention;

[0038] Figure 6 is a schematic diagram of the compression of device association paths according to an embodiment of the present invention;

[0039] Figure 7 is a schematic diagram of the main modules of a device identifier storage device according to an embodiment of the present invention;

[0040] Figure 8Schematic diagram of the main modules of a device identifier query device according to an embodiment of the present invention;

[0041] Figure 9 Exemplary system architecture diagram in which embodiments of the present invention can be applied;

[0042] Figure 10 Schematic diagram of the structure of a computer system of a server suitable for implementing embodiments of the present invention. Detailed implementation manners

[0043] The following describes exemplary embodiments of the present invention with reference to the accompanying drawings. Various details of the embodiments of the present invention are included to facilitate understanding, and they should be considered merely exemplary. Therefore, those of ordinary skill in the art should recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of the present invention. Similarly, descriptions of well-known functions and structures are omitted below for clarity and conciseness.

[0044] Figure 1 Schematic diagram of the main steps of a device identifier storage method according to an embodiment of the present invention. As Figure 1 shown, the device identifier storage method according to an embodiment of the present invention mainly includes the following steps S101 to S102.

[0045] Step S101: According to multiple device identifiers corresponding to the same device input, determine the device association path where each input device identifier is located. Each device association path includes one or more nodes. Each node includes a device identifier and the generation time of the device identifier. At least one node in each device association path has a device identifier that is the input device identifier. A node without a parent node in the device association path is a root node.

[0046] Step S102: According to the generation time of the device identifier in the root node of each determined device association path, select a root node with the earliest device identifier generation time from the determined device association paths as the target root node, and use the target root node to associate all the device association paths where the root nodes of the determined device association paths are located, so as to associate and store all the device identifiers of the same device.

[0047] Multiple device identifiers corresponding to the same device in the input are over-issued device identifiers (EIDs). An EID is a unique identifier assigned to a device by device fingerprinting (a technology that uses device information that can be collected by a client to identify the device ID). Over-issuance refers to the phenomenon that device fingerprinting generates more than one EID for the same device. Reasons for EID over-issuance can include, for example: when the user has just installed the APP, the device fingerprint SDK fails to collect device information because the user has not authorized some collection permissions; or, because the user's device information changes with the network environment and time, for example, the Mac address of Android changes with the network. When this device information cannot be collected or changes, the server may over-issue EIDs. In a risk control scenario, after over-issuance occurs, the same device will correspond to two or more EIDs, and the device-related policies for risk control will be affected.

[0048] The multiple device identifiers corresponding to the same device in the input are identified through technologies such as data analysis. For example, through device behavior analysis, it can be identified that these multiple device identifiers correspond to the same device. Specifically, it can be achieved through the method of device information matching. The implementation process can include: matching the collection items between device information. Collection items such as IMEI (International Mobile Equipment Identity), MAC (Media Access Control Address), and operating system type. If the proportion of the number of identical or similar collection items in two device information to the total number of collection items is greater than a preset proportion threshold, then the two device information are identified as the same device, and the device identifiers corresponding to the two device information are over-issued device identifiers. Among them, the collection items are usually in the form of strings or can be converted into strings, and it can be judged whether the collection items are similar through string matching and other methods. The steps to determine the device association path where each input device identifier is located can specifically include: searching for the root identifier associated and stored with the input device identifier; if the root identifier is found, obtaining the device association path where the input device identifier is located according to the value of the found root identifier; if the root identifier is not found, adding the corresponding root identifier to the input device identifier, and associating and storing the input device identifier with the added root identifier. Using the association storage information between the input device identifier and the added root identifier as a node, creating the device association path where the input device identifier is located.

[0049] The root identifier is used to represent the true device identifier of the corresponding device, that is, a certain device identifier equal to the value of the root identifier. During the normalization process of the same device identifier, the value of the root identifier can change dynamically, that is, the device identifier pointed to by the root identifier can change. The process of associatively storing all device identifiers of the same device in the embodiments of the present invention is the process of normalizing the device identifiers of the same device. The device identifier in the finally obtained target root node is the normalized device identifier of the same device. When a risk control device or the like performs a service query, by querying the normalized device identifier of the device, it can be determined which device identifiers correspond to the same device.

[0050] The process of obtaining the device association path where the input device identifier is located according to the value of the found root identifier may specifically include: using the association storage information between the input device identifier and the found root identifier as the current node. If the value of the root identifier in the current node is not equal to the device identifier of this node (referring to the node where the root identifier in the current node is located), then find the association storage information where the device identifier equal to the value of the root identifier in the current node is located, obtain the parent node of the current node, and use the parent node as the new current node, and continue to find the parent node of the new current node until the value of the root identifier in the finally found node is equal to the device identifier of this node (referring to the node where the root identifier in the finally found node is located), then stop the search, and obtain the device association path where the input device identifier is located from all the found nodes.

[0051] The step of associatively storing the input device identifier and the added root identifier specifically includes: storing the input device identifier, the generation time of the input device identifier, and the added root identifier in the same device information storage structure, and setting the value of the added root identifier to the input device identifier to obtain the association storage information between the input device identifier and the added root identifier.

[0052] According to the generation time of the device identifier in the root node of each determined device association path, select a root node with the earliest generation time of the device identifier from each determined device association path as the target root node. Specifically, the root nodes of each determined device association path can be sorted according to the generation time of the contained device identifier to select the root node where the device identifier with the earliest generation time is located, that is, the target root node.

[0053] Using the target root node to associate all the device association paths where the root nodes of each determined device association path are located, including: setting the value of the root identifier in other root nodes except the target root node to the device identifier in the target root node. The device identifier in this target root node is the normalized device identifier of the affiliated device.

[0054] The device association paths to which the root nodes of the device association paths where the determined input device identifiers are located belong can be one or more. All the device association paths to which these root nodes belong form a device association tree (or a device association graph, taking the tree structure as an example below), and this root node is also the root node of this device association tree. When there are multiple device association paths where the root node of the device association tree is located, in addition to including the device association paths where the determined input device identifiers are located, this device association tree also includes other device association paths sharing this root node. The root nodes of all the determined device association paths are associated by using the target root node, that is, the device association trees where the root nodes of the determined device association paths are located are merged by using the target root node, so that the merged device association tree uses the target root node as the new root node.

[0055] Since the over-issued device identifiers have been generated and are running in the business system, each device identifier may have participated in various services and may be recorded in the data of multiple systems. Deleting the over-issued device identifiers may affect the operation of the system. The compensation mechanism provided by the embodiments of the present invention does not require deleting the over-issued device identifiers, can associate the identified over-issued device identifiers, and can trace back to the root nodes of the device association paths where each over-issued device identifier is located, realizing the associated storage of all device identifiers of the same device.

[0056] Figure 2 It is a schematic diagram of the device information storage structure according to an embodiment of the present invention. As Figure 2 shown, the device information storage structure according to an embodiment of the present invention includes a device identifier, a root identifier, the generation time of the device identifier, and device information. When the device information storage structure is initially generated, the root identifier points to the device identifier of the same device information storage structure, that is, the value of the root identifier is set to the device identifier in this device information storage structure. As Figure 2 shown, the root identifier RootEID points to EID1, CreateTime1 is the generation time of the device identifier EID1, and DeviceInfo is the device information, such as IMEI, MAC, operating system type, etc.

[0057] The device fingerprint will store the EID and the corresponding device information (such as IMEI, MAC, operating system type, etc.) and the generation time of the EID on the server side, and the storage methods include but are not limited to Redis, Hbase, MySQL, etc. The device identifier, the generation time of the device identifier, and the device information stored by the device fingerprint in the embodiments of the present invention are referred to as the original device storage information. No matter what storage method the original device storage information adopts, the embodiments of the present invention do not need to change the storage structure, and only need to newly add a RootEID (root identifier) to represent the real device identifier of the current device information storage structure, that is, a certain device identifier equal to the value of this root identifier.

[0058] When generating a device information storage structure, set the value of the root identifier in the device information storage structure to the contained device identifier to obtain the associated storage information of the device identifier and the root identifier. This associated storage information can be used as a node of a device association tree or a device association path. That is, the process of generating a device information storage structure is the process of initializing a device association tree or creating a device association path. The initialized device association tree and the created device association tree only include a unique node, are self-associated, and have not established an association relationship with other device association trees or device association paths. The device association tree in the embodiment of the present invention is a logical structure, not a physical structure, and is a tree that only records the parent node. This approach can be maximally compatible with the original system.

[0059] Figure 3 It is a schematic diagram of the merger of a device association tree according to an embodiment of the present invention. As Figure 3 shown, the root identifier RootEID2 executes the device identifier EID2 in the same device information storage structure, which is a self-associated device association tree. Through the merger of the device association tree, the root identifier RootEID1 located in the same device information storage structure as the device identifier EID1 is pointed to the device identifier EID2 in another device information storage structure. That is, the device association tree where the device identifier EID1 is located is merged into the device association tree where the device identifier EID2 is located, making the device identifier EID2 the root node of the new merged device association tree. The new merged device association tree has two nodes: the device information storage structure where the device identifier EID1 is located and the device information storage structure where the device identifier EID2 is located. Taking EID1 as an example, the device information storage structure where EID1 is located can be called the associated storage information of the device identifier EID1 and the root identifier RootEID1. Then, by searching for the associated storage information where the value of the root identifier RootEID1 is equal to the device identifier EID2, the parent node of the node of the device information storage structure where EID1 is located is obtained, and the parent node is the device information storage structure where EID2 is located.

[0060] Over time, the merging of device association trees may occur many times. The two device association trees to be merged may themselves be very large. For such a situation, it is necessary to trace back to the root nodes of the two device association trees to be merged, and then follow the above-mentioned merging logic to establish the association relationship between the two root nodes, so that the number of root nodes changes from two to one, and finally ensure that the two device association trees to be merged have the same root node. That is, in the embodiments of the present invention, according to the input multiple device identifiers, the device association paths of each device identifier are determined respectively. The device association tree where the input device identifier is located may have undergone the above-mentioned merging operation. Therefore, it is necessary to trace back to the root node of the determined device association path, and find all device association paths containing this root node through the root node, that is, find the device association tree where this root node is located, and then use the target root node (that is, the root node with the earliest generation time of the device identifier) to associate each device association path to complete the merging operation of the device association tree, so that all device identifiers of the same device can be associated and stored according to the input device identifier. The main reasons for sorting by the generation time of the device identifier during merging are mainly two. One is that the earliest generated EID has the most data accumulated and used in the risk control system, which can ensure that all behaviors of the device are retained. The other is to avoid the occurrence of a circular structure in the device association tree, resulting in an infinite loop during query.

[0061] Figure 4 It is a schematic diagram of the main steps of the query method for device identifiers according to an embodiment of the present invention. As Figure 4 shown, the query method for device identifiers according to an embodiment of the present invention mainly includes the following steps S401 to step S403.

[0062] Step S401: According to the device identifier specified in the received query request, find the root identifier associated and stored with the specified device identifier.

[0063] Step S402: According to the root identifier, find the device association path where the specified device identifier is located. The device association path includes one or more nodes, each node includes a device identifier, at least one node in the device association path has the device identifier as the specified device identifier, and the node without a parent node in the device association path is the root node.

[0064] Step S403: Output the device identifier in the root node of the device association path.

[0065] The output device identifier is the normalized device identifier of the affiliated device, that is, in the embodiments of the present invention, the multiple over-issued device identifiers are identified as the same device identifier through the compensation mechanism.

[0066] The root identifier stored in association with the specified device identifier, that is, the root identifier located in the same device information storage structure as the specified device identifier. To find the device association path where the specified device identifier is located based on the root identifier, the specific process may include: using the association storage information of the specified device identifier and the root identifier as the current node. If the value of the root identifier in the current node is not equal to the device identifier of this node, then find the association storage information where the device identifier with a value equal to the root identifier of the current node is located, obtain the parent node of the current node, and use the parent node as the new current node, and continue to find the parent node of the new current node until the value of the root identifier in the finally found node is equal to the device identifier of this node, then stop the search, and obtain the device association path where the specified device identifier is located from all the found nodes.

[0067] After finding the device association path where the specified device identifier is located based on the root identifier, if the number of nodes in the device association path is greater than 1, then set the value of the root identifier in other nodes except the root node to the device identifier in the root node. By operating this step, the device association path can be compressed, thereby improving the efficiency of the next query.

[0068] As Figure 5 shown, it is a schematic diagram of device identifier query in an embodiment of the present invention. When querying the device identifier of a device, it is necessary to recursively query the device identifier of the device according to the device identifier specified in the query request until the device identifier EID and the root identifier RootEID of a device are the same, which proves that the current query has reached the root node of the device association tree. Then, return the device identifier of the root node as the normalized device identifier of the device to the device identifier query party, such as the risk control device. As Figure 5 shown, the device identifier specified in the query request is EID5. When using EID5 to query the device identifier, EID3, EID2, and EID1 will be sequentially found upward according to the device association tree. The RootEID of EID1 points to itself, and the finally returned normalized device identifier of the device (that is, the final result of the query) is EID1. Figure 5 The arrow in it indicates the EID pointed to by the RootEID in the node where each EID is located. For example, the EID pointed to by the RootEID in the node where EID5 is located is EID3, that is, the value of the RootEID in the node where EID5 is located is equal to EID3.

[0069] Over time, it is possible that more and more EIDs are over-issued for some devices, resulting in an increasingly deep device association tree. An overly deep device association tree means that the number of hops required to query the normalized device identifier of a device is too many, which will lead to a significant reduction in the efficiency of querying the device EID. For an online real-time risk control system, etc., the response time of the interface is a very important indicator. In an embodiment of the present invention, after the query is completed, the association relationship of the device identifiers can be adjusted, and the root identifier RootEID of all device identifiers EIDs on a query path is directly pointed to the final EID of the device, that is, pointed to the normalized device identifier. Then, the next time the risk control system queries the device identifier, it only needs one hop to complete the query, achieving the purpose of improving the query performance. For example, Figure 6 shows a schematic diagram of the compression of the device association path in an embodiment of the present invention, which can be combined with Figure 5 In the schematic diagram, the original device association path is EID5, EID3, EID2, EID1. After querying with EID5 and finally querying EID1, the value of the root identifier in the nodes where EID5 and EID3 are located is set to the device identifier EID1 in the root node of this device association path, that is, the root identifier in the nodes where EID5 and EID3 are located directly points to EID1. Thus, the next time a query is made, it is not necessary to query through the device association path such as EID5, EID3, EID2, EID1, but any EID among EID5, EID3, EID2 can directly query EID1, improving the efficiency of the next query.

[0070] The embodiment of the present invention provides an EID compensation technology. When it is found that the device fingerprint identifies the same device as multiple EIDs, a tree-like association structure can be established with these over-issued EIDs to maintain the relationship between EID and RootEID, thereby realizing the normalization of EID and achieving the purpose of EID compensation. All devices are stored together in the database to form a device association forest. When the risk control device queries the EID, the normalized device identifier is queried through the device identifier association relationship stored in the database, and the risk control policy is executed using the normalized device identifier. The embodiment of the present invention can also compress the association relationship between device identifiers, shorten the distance between the normalized device identifier and other device identifiers on the same device association path, and improve the performance of the next query.

[0071] Figure 7 is a schematic diagram of the main modules of a storage device for device identifiers according to an embodiment of the present invention. As Figure 7 shown, the storage device 700 for device identifiers in an embodiment of the present invention mainly includes a device association path determination module 701 and a device association path merging module 702.

[0072] The device association path determination module 701 is configured to determine the device association path where each input device identifier is located according to multiple device identifiers corresponding to the same device. Each device association path includes one or more nodes, each node includes a device identifier and the generation time of the device identifier. At least one node in each device association path has a device identifier that is the above-mentioned input device identifier. A node without a parent node in the device association path is a root node.

[0073] The device association path merging module 702 is configured to select, according to the generation time of the device identifier in the root node of each determined device association path, a root node with the earliest device identifier generation time as the target root node from the above-determined device association paths, and use the target root node to associate all the device association paths where the root nodes of the determined device association paths are located, so as to store all the device identifiers of the same device in an associated manner.

[0074] The device association path determination module 701 can specifically be configured to: search for a root identifier associated with and stored with the input device identifier; if the root identifier is found, obtain the device association path where the input device identifier is located according to the value of the found root identifier; if the root identifier is not found, add a corresponding root identifier for the input device identifier, and store the input device identifier and the added root identifier in an associated manner. Using the associated storage information of the input device identifier and the added root identifier as a node, create the device association path where the input device identifier is located.

[0075] The device association path determination module 701 can also be configured to: use the associated storage information of the input device identifier and the found root identifier as the current node. If the value of the root identifier in the current node is not equal to the device identifier of this node, search for the associated storage information where the device identifier equal to the value of the root identifier of the current node is located, obtain the parent node of the current node, and use the parent node as the new current node, and continue to search for the parent node of the new current node until the value of the root identifier in the finally found node is equal to the device identifier of this node, then stop the search, and obtain the device association path where the input device identifier is located from all the found nodes.

[0076] The device association path determination module 701 can also be configured to: store the input device identifier, the generation time of the input device identifier, and the added root identifier in the same device information storage structure, and set the value of the added root identifier to the input device identifier, so as to obtain the associated storage information of the input device identifier and the added root identifier.

[0077] The device association path merging module 702 can specifically be configured to: set the value of the root identifier in other root nodes except the target root node to the device identifier in the target root node.

[0078] Figure 8Schematic diagram of the main modules of a device identifier query device according to an embodiment of the present invention.

[0079] A device identifier query device 800 according to an embodiment of the present invention mainly includes: a root identifier search module 801, a device association path search module 802, and a query result output module 803.

[0080] The root identifier search module 801 is configured to search for a root identifier associated and stored with the specified device identifier in the received query request according to the specified device identifier.

[0081] The device association path search module 802 is configured to search for the device association path where the specified device identifier is located according to the root identifier. The device association path includes one or more nodes, each node includes a device identifier, at least one node in the device association path has the device identifier as the specified device identifier, and the node without a parent node in the device association path is the root node.

[0082] The query result output module 803 is configured to output the device identifier in the root node of the device association path.

[0083] Specifically, the device association path search module 802 may be configured to use the above-mentioned associated storage information of the specified device identifier and the root identifier as the current node. If the value of the root identifier in the current node is not equal to the device identifier of this node, search for the associated storage information where the device identifier equal to the value of the root identifier of the current node is located, obtain the parent node of the current node, and use the parent node as the new current node, and continue to search for the parent node of the new current node until the value of the root identifier in the finally found node is equal to the device identifier of this node, then stop the search, and obtain the device association path where the specified device identifier is located from all the found nodes.

[0084] The device identifier query device 800 may further include a device association path compression module, configured to: if the number of nodes in the device association path where the specified device identifier is located is greater than 1, set the value of the root identifier in other nodes except the root node of the device association path to the device identifier in the root node.

[0085] In addition, the specific implementation details of the device identifier storage device and the device identifier query device in the embodiments of the present invention have been described in detail in the above-mentioned device identifier storage method and device identifier query method, so the repeated content will not be described here.

[0086] Figure 9 An exemplary system architecture 900 is shown that can apply the device identifier storage method, device identifier query method, device identifier storage device, or device identifier query device of the embodiments of the present invention.

[0087] AsFigure 9 As shown in Figure 9 , the system architecture 900 may include terminal devices 901, 902, 903, a network 904, and a server 905. The network 904 is used to provide a medium for communication links between the terminal devices 901, 902, 903 and the server 905. The network 904 may include various connection types, such as wired, wireless communication links, or fiber optic cables, etc.

[0088] Users can use the terminal devices 901, 902, 903 to interact with the server 905 through the network 904 to receive or send messages, etc. Various communication client applications may be installed on the terminal devices 901, 902, 903, such as shopping applications, web browser applications, search applications, instant messaging tools, email clients, social platform software, etc. (for example only).

[0089] The terminal devices 901, 902, 903 may be various electronic devices with a display screen and supporting web browsing, including but not limited to smart phones, tablet computers, laptop portable computers, and desktop computers, etc.

[0090] The server 905 may be a server providing various services, such as a background management server (for example only) that supports shopping websites browsed by users using the terminal devices 901, 902, 903. The background management server may analyze and process data such as product information query requests received, and feedback the processing results (such as target push information, product information - for example only) to the terminal devices.

[0091] It should be noted that the storage method of device identifiers and the query method of device identifiers provided by the embodiments of the present invention are generally executed by the server 905. Correspondingly, the storage device of device identifiers and the query device of device identifiers are generally set in the server 905.

[0092] It should be understood that Figure 9 the numbers of terminal devices, networks, and servers in Figure 9 are merely illustrative. According to actual needs, there may be any number of terminal devices, networks, and servers.

[0093] Next, refer to Figure 10 , which shows a schematic structural diagram of a computer system 1000 of a server suitable for implementing the embodiments of the present application. Figure 10 The server shown is merely an example and should not impose any limitations on the functions and usage scope of the embodiments of the present application.

[0094] As Figure 10As shown, computer system 1000 includes a central processing unit (CPU) 1001, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 1002 or a program loaded from a storage section 1008 into a random access memory (RAM) 1003. In the RAM 1003, various programs and data required for the operation of the system 1000 are also stored. The CPU 1001, ROM 1002, and RAM 1003 are connected to each other via a bus 1004. An input / output (I / O) interface 1005 is also connected to the bus 1004.

[0095] The following components are connected to the I / O interface 1005: an input section 1006 including a keyboard, a mouse, etc.; an output section 1007 including, for example, a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 1008 including a hard disk, etc.; and a communication section 1009 including a network interface card such as a LAN card, a modem, etc. The communication section 1009 performs communication processing via a network such as the Internet. A drive 1010 is also connected to the I / O interface 1005 as needed. A removable medium 1011, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 1010 as needed so that a computer program read from it can be installed into the storage section 1008 as needed.

[0096] In particular, according to the embodiments disclosed in the present invention, the process described above with reference to the main step schematic diagram can be implemented as a computer software program. For example, the embodiments disclosed in the present invention include a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program contains program codes for performing the method shown in the main step schematic diagram. In such an embodiment, the computer program can be downloaded and installed from a network via the communication section 1009, and / or installed from the removable medium 1011. When the computer program is executed by a central processing unit (CPU) 1001, the above functions defined in the system of the present application are executed.

[0097] It should be noted that the computer-readable medium shown in the present invention can be a computer-readable signal medium, a computer-readable storage medium, or any combination of the two. A computer-readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the above. More specific examples of a computer-readable storage medium can include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present application, a computer-readable storage medium can be any tangible medium that contains or stores a program, and this program can be used by or in conjunction with an instruction execution system, apparatus, or device. In the present application, a computer-readable signal medium can include a data signal propagated in a baseband or as part of a carrier wave, in which computer-readable program code is carried. Such a propagated data signal can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. A computer-readable signal medium can also be any computer-readable medium other than a computer-readable storage medium, and this computer-readable medium can send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device. The program code contained on a computer-readable medium can be transmitted using any appropriate medium, including but not limited to: wireless, wire, optical cable, RF, etc., or any suitable combination of the above.

[0098] The schematic diagrams of the main steps and block diagrams in the drawings illustrate the possible architectures, functions, and operations of systems, methods, and computer program products according to various embodiments of the present application. In this regard, each block in the schematic diagram of the main steps or the block diagram can represent a module, a program segment, or a part of code, and the above module, program segment, or part of code contains one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions marked in the blocks may occur in a different order than that marked in the drawings. For example, two consecutively shown blocks can actually be executed substantially in parallel, and they can sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block in the block diagram or the schematic diagram of the main steps, as well as the combination of blocks in the block diagram or the schematic diagram of the main steps, can be implemented by a dedicated hardware-based system for performing the specified functions or operations, or can be implemented by a combination of dedicated hardware and computer instructions.

[0099] The modules involved in the embodiments of the present invention can be implemented in software or in hardware. The described modules can also be provided in a processor. For example, it can be described as: A processor includes a device association path determination module and a device association path merging module. Among them, the names of these modules do not constitute a limitation to the module itself in some cases. For example, the device association path determination module can also be described as "a module for determining the device association path where each input device identifier is located according to multiple device identifiers corresponding to the same device as input".

[0100] As another aspect, the present invention further provides a computer-readable medium. The computer-readable medium can be included in the device described in the above embodiments; or it can exist alone without being assembled into the device. The above computer-readable medium carries one or more programs. When the one or more programs are executed by the device, the device is caused to include: determining the device association path where each input device identifier is located according to multiple device identifiers corresponding to the same device as input, each device association path includes one or more nodes, each node includes a device identifier and the generation time of the device identifier, at least one node in each device association path has the device identifier as the input device identifier, and the node without a parent node in the device association path is the root node; selecting, according to the generation time of the device identifier in the root node of each determined device association path, the root node with the earliest device identifier generation time from the device association paths as the target root node, and using the target root node to associate all the device association paths where the root nodes of the device association paths are located, so as to associate and store all the device identifiers of the same device. Or, the device is caused to include: searching for the root identifier associated with the specified device identifier according to the device identifier specified in the received query request; searching for the device association path where the specified device identifier is located according to the root identifier, the device association path includes one or more nodes, each node includes a device identifier, at least one node in the device association path has the device identifier as the specified device identifier, and the node without a parent node in the device association path is the root node; outputting the device identifier in the root node of the device association path.

[0101] According to the technical solution of the embodiment of the present invention, based on multiple device identifiers corresponding to the same device in the input, determine the device association path where each input device identifier is located. According to the generation time of the device identifiers in the root nodes of the determined device association paths, select the root node with the earliest device identifier generation time from the determined device association paths as the target root node, and use the target root node to associate all the device association paths where the root nodes of the determined device association paths are located, so as to associate and store all the device identifiers of the same device, which can effectively compensate in case of device over-issuance, identify the over-issued multiple device identifiers as the same device, and achieve the normalization of multiple device identifiers of the same device. In another embodiment, according to the device identifier specified in the received query request, find the root identifier associated and stored with the specified device identifier; according to the root identifier, find the device association path where the specified device identifier is located, and output the device identifier in the root node of the device association path, so that when the device identifier needs to be queried in the service, the normalized device identifier of the same device can be returned.

[0102] The above specific embodiments do not constitute a limitation to the protection scope of the present invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations and substitutions can occur depending on design requirements and other factors. Any modifications, equivalent substitutions and improvements made within the spirit and principle of the present invention shall be included within the protection scope of the present invention.

Claims

1. A method for storing device identifiers, characterized in that, it includes: According to multiple device identifiers corresponding to the same device input, determine the device association path where each input device identifier is located. Each device association path includes one or more nodes. Each node includes a device identifier and the generation time of the device identifier. At least one node in each device association path has a device identifier that is the input device identifier. The node without a parent node in the device association path is the root node; the multiple device identifiers are identifiers assigned to the same device based on the device fingerprint method; If a device association path includes a current node and the parent node of the current node, then the value of the root identifier of the current node is equal to the device identifier of the parent node; According to the generation time of the device identifiers in the root nodes of the determined device association paths, select a root node with the earliest device identifier generation time from the device association paths as the target root node, and use the target root node to associate all the device association paths where the root nodes of the device association paths are located, so as to store all the device identifiers of the same device in an associated manner.

2. The method according to claim 1, characterized in that, the determining the device association path where each input device identifier is located includes: Search for the root identifier associated with the input device identifier; If the root identifier is found, obtain the device association path where the input device identifier is located according to the value of the found root identifier; If the root identifier is not found, add a corresponding root identifier for the input device identifier, and store the input device identifier and the added root identifier in an associated manner. Using the associated storage information of the input device identifier and the added root identifier as a node, create the device association path where the input device identifier is located.

3. The method according to claim 2, characterized in that, the obtaining the device association path where the input device identifier is located according to the value of the found root identifier includes: Using the associated storage information of the input device identifier and the found root identifier as the current node. If the value of the root identifier in the current node is not equal to the device identifier of this node, search for the associated storage information where the device identifier equal to the value of the root identifier of the current node is located, obtain the parent node of the current node, and use the parent node as the new current node, and continue to search for the parent node of the new current node until the value of the root identifier in the finally found node is equal to the device identifier of this node, then stop the search, and obtain the device association path where the input device identifier is located from all the found nodes.

4. The method according to claim 2, characterized in that, the storing the input device identifier and the added root identifier in an associated manner includes: Store the input device identifier, the generation time of the input device identifier, and the added root identifier in the same device information storage structure, and set the value of the added root identifier to the input device identifier to obtain the associated storage information of the input device identifier and the added root identifier.

5. The method according to claim 2, wherein, the associating all device association paths where the root nodes of the respective device association paths are located by using the target root node includes: setting the value of the root identifier in other root nodes except the target root node to the device identifier in the target root node.

6. A method for querying a device identifier, wherein, it includes: finding a root identifier associated and stored with the specified device identifier according to the device identifier specified in the received query request; the specified device identifier is an identifier assigned to a device based on a device fingerprint method; finding the device association path where the specified device identifier is located according to the root identifier, the device association path includes one or more nodes, each node includes a device identifier, at least one node in the device association path has the device identifier as the specified device identifier, and the node without a parent node in the device association path is the root node; if a device association path includes a current node and the parent node of the current node, then the value of the root identifier of the current node is equal to the device identifier of the parent node; outputting the device identifier in the root node of the device association path.

7. The method according to claim 6, wherein, the finding the device association path where the specified device identifier is located according to the root identifier includes: using the association storage information of the specified device identifier and the root identifier as the current node, if the value of the root identifier in the current node is not equal to the device identifier of the current node, then finding the association storage information where the device identifier equal to the value of the root identifier of the current node is located, obtaining the parent node of the current node, and using the parent node as the new current node, and continuing to find the parent node of the new current node until the value of the root identifier in the finally found node is equal to the device identifier of the current node, then stopping the search, and obtaining the device association path where the specified device identifier is located from all the found nodes.

8. The method according to claim 6 or 7, wherein, after the finding the device association path where the specified device identifier is located according to the root identifier, it includes: if the number of nodes in the device association path is greater than 1, then setting the value of the root identifier in other nodes except the root node to the device identifier in the root node.

9. A storage device for a device identifier, wherein, it includes: a device association path determination module, configured to determine the device association path where each input device identifier is located according to multiple device identifiers corresponding to the same device, each device association path includes one or more nodes, each node includes a device identifier and the generation time of the device identifier, at least one node in each device association path has the device identifier as the input device identifier, and the node without a parent node in the device association path is the root node; the multiple device identifiers are identifiers assigned to the same device based on a device fingerprint method; if a device association path includes a current node and the parent node of the current node, then the value of the root identifier of the current node is equal to the device identifier of the parent node; The device association path merging module is configured to select, according to the generation time of the device identifier in the root node of each determined device association path, the root node with the earliest device identifier generation time from the device association paths as the target root node, and use the target root node to associate all the device association paths where the root nodes of the device association paths are located, so as to associate and store all the device identifiers of the same device.

10. A query device for device identifiers, characterized in that it includes: A root identifier lookup module, configured to look up the root identifier associated and stored with the specified device identifier according to the device identifier specified in the received query request; the specified device identifier is an identifier assigned to the device based on the device fingerprint method; A device association path lookup module, configured to look up the device association path where the specified device identifier is located according to the root identifier, the device association path includes one or more nodes, each node includes a device identifier, at least one node in the device association path has the device identifier as the specified device identifier, and the node without a parent node in the device association path is the root node; If a device association path includes a current node and the parent node of the current node, the value of the root identifier of the current node is equal to the device identifier of the parent node; A query result output module, configured to output the device identifier in the root node of the device association path.

11. An electronic device, characterized in that it includes: One or more processors; A memory, configured to store one or more programs, when the one or more programs are executed by the one or more processors, enabling the one or more processors to implement the method according to any one of claims 1-8.

12. A computer-readable medium, on which a computer program is stored, characterized in that when the computer program is executed by a processor, it implements the method according to any one of claims 1-8.

Citation Information

Patent Citations

  • Topic tracing method and system

    CN104636324A

  • Equipment identification method and device and electronic equipment

    CN113824806A