A device fingerprint retrieval method, apparatus, device, and storage medium
Patent Information
- Application Number
- CN202111625283.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-23
- Publication Date
- 2026-09-18
- Estimated Expiration
- 2041-12-23
AI Technical Summary
例如,在一次拉新有奖活动中,需要用户以手机号注册,需验证手机号不能基于同一设备注册,以防被薅羊毛,浪费大量成本,且带来一批僵尸用户
[0037] This invention provides a device fingerprint retrieval method, comprising: acquiring target device feature information; determining a target SimHash value of the target device corresponding to the target device feature information based on the target device feature information; dividing the target SimHash value into multiple target segments according to preset rules; determining a historical SimHash value corresponding to the target SimHash value based on the number of each target segment and the SimHash value of the target segment; and determining the retrieval result of the device fingerprint corresponding to the target device based on the target SimHash value and each historical SimHash value. This invention, by dividing the target SimHash value into multiple target segments and retrieving the device fingerprint corresponding to the target device based on the target segments, reduces the amount of data retrieved without sacrificing retrieval accuracy, thereby improving the retrieval efficiency of device fingerprints.
Smart Images

Figure CN116340310B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present invention relate to the field of Internet technology, and in particular to a device fingerprint retrieval method, apparatus, device and storage medium. Background Technology
[0002] In the field of internet finance, each customer generates massive amounts of behavioral data based on terminal devices (mobile phones, PCs, etc.) in different scenarios such as registration, login, credit granting, and transactions. In order to better track the promotion effect, prevent business fraud, and evaluate operational effectiveness, enterprises urgently need a new device identification and tracking technology to distinguish valuable users, malicious users, and even fraud groups, thereby protecting corporate assets and maximizing corporate efficiency. Therefore, device fingerprinting technology has emerged. Device fingerprint is the DNA of a device; each device has only a unique device fingerprint. How to locate the same device from massive behavioral data has become an important indicator of the usability of device fingerprinting technology.
[0003] Rapid retrieval is an indispensable key technology in the big data field, and device fingerprinting technology plays a crucial role in sectors such as finance and e-commerce. Currently, under massive data conditions, device fingerprint retrieval mostly employs exact matching algorithms, resulting in low efficiency. Generating a new device fingerprint can take anywhere from seconds to minutes, or even hours. This extremely low efficiency renders it unusable in real-time risk control scenarios such as fraud prevention and exploitation of promotional offers. For example, in a new user acquisition campaign requiring users to register with their mobile phone numbers, verification is needed to ensure that the phone number cannot be registered on the same device to prevent fraudulent activities, wasting significant costs and creating a pool of inactive users. In such cases, the inability to quickly retrieve device fingerprints to determine if they belong to the same device could cause substantial losses for the company. Summary of the Invention
[0004] In view of this, in order to solve the above-mentioned technical problems or some of the technical problems, the present invention provides a device fingerprint retrieval method, apparatus, device and storage medium.
[0005] In a first aspect, embodiments of the present invention provide a device fingerprint retrieval method, comprising:
[0006] Obtain target device characteristic information;
[0007] Based on the target device feature information, determine the target SimHash value of the target device corresponding to the target device feature information;
[0008] The target SimHash value is divided into multiple target segments according to a preset rule;
[0009] Based on the number of each target segment and the SimHash value of the target segment, determine the historical SimHash value corresponding to the target SimHash value;
[0010] Based on the target SimHash value and each of the historical SimHash values, the retrieval result of the device fingerprint corresponding to the target device is determined.
[0011] In an optional implementation, dividing the target SimHash value into multiple target segments according to a preset rule includes:
[0012] The target SimHash value is divided into multiple target segments according to a first threshold.
[0013] Determine the target SimHash value for each target segment, and determine the number of each target segment according to the order relationship of the multiple target segments;
[0014] Wherein, the first threshold is divisible by the number of digits of the target SimHash value, and the first threshold is equal to the sum of the preset distance threshold and the preset value, wherein the preset value is 1.
[0015] In an optional implementation, determining the historical SimHash value corresponding to the target SimHash value based on the number of each target segment and the target segment SimHash value includes:
[0016] Based on the number of each target segment and the SimHash value of the target segment, determine the target historical segment corresponding to the number of each target segment and the SimHash value of the target segment;
[0017] Determine the historical SimHash value corresponding to each target historical segment.
[0018] In an optional implementation, determining the target historical segment corresponding to the target segment number and target segment SimHash value based on the target segment number and target segment SimHash value includes:
[0019] Based on the number of each target segment and the SimHash value of the target segment, query the established inverted index table;
[0020] Based on the query results, the target historical segment corresponding to the number and SimHash value of each target segment is determined.
[0021] In an optional implementation, the inverted index table is a kv structured data set; where k is the number of the historical segment and the SimHash value of the historical segment, and v is the historical SimHash value corresponding to the historical segment.
[0022] In an optional implementation, the step of determining the retrieval result of the device fingerprint corresponding to the target device based on the target SimHash value and each of the historical SimHash values includes:
[0023] Based on the target SimHash value and each of the historical SimHash values, the target distance between the target SimHash value and each of the historical SimHash values is determined.
[0024] When all the determined target distances are greater than the distance threshold, the target device is a new device, and the target SimHash value is used as the device fingerprint of the target device.
[0025] If there is a target distance less than or equal to the distance threshold among the determined target distances, then the target device exists in the historical devices corresponding to the historical SimHash value.
[0026] In an optional implementation, the device fingerprint retrieval method further includes:
[0027] When the target device feature information includes target device identification information, the target device identification information is matched with pre-stored historical device identification information;
[0028] When the target device identification information fails to match the pre-stored historical device identification information, the target device is a new device, and the target identification code generated based on the target device identification information is used as the device fingerprint of the target device.
[0029] When the target device identification information is successfully matched with the pre-stored historical device identification information, the target device exists in the historical devices corresponding to the historical device identification information.
[0030] Secondly, an embodiment of the present invention provides a device fingerprint retrieval device, comprising:
[0031] The information acquisition module is used to acquire the characteristic information of the target device;
[0032] The determination module is used to determine the target SimHash value of the target device corresponding to the target device feature information based on the target device feature information;
[0033] The segmentation module is used to divide the target SimHash value into multiple target segments according to preset rules;
[0034] The determining module is further configured to determine the historical SimHash value corresponding to the target SimHash value based on the number of each target segment and the target segment SimHash value; and to determine the retrieval result of the device fingerprint corresponding to the target device based on the target SimHash value and each historical SimHash value.
[0035] Thirdly, an electronic device provided by an embodiment of the present invention includes a processor and a memory, wherein the processor is configured to execute a device fingerprint retrieval program stored in the memory to implement the device fingerprint retrieval method as described above.
[0036] Fourthly, an embodiment of the present invention provides a storage medium storing one or more programs, which can be executed by one or more processors to implement the device fingerprint retrieval method described above.
[0037] This invention provides a device fingerprint retrieval method, comprising: acquiring target device feature information; determining a target SimHash value of the target device corresponding to the target device feature information based on the target device feature information; dividing the target SimHash value into multiple target segments according to preset rules; determining a historical SimHash value corresponding to the target SimHash value based on the number of each target segment and the SimHash value of the target segment; and determining the retrieval result of the device fingerprint corresponding to the target device based on the target SimHash value and each historical SimHash value. This invention, by dividing the target SimHash value into multiple target segments and retrieving the device fingerprint corresponding to the target device based on the target segments, reduces the amount of data retrieved without sacrificing retrieval accuracy, thereby improving the retrieval efficiency of device fingerprints. Attached Figure Description
[0038] Figure 1 This is a schematic flowchart of a device fingerprint retrieval method provided in an embodiment of the present invention;
[0039] Figure 2 This is a schematic diagram of a kv structure storage method provided in an embodiment of the present invention;
[0040] Figure 3 This is a schematic diagram of the structure of a device fingerprint retrieval device provided in an embodiment of the present invention;
[0041] Figure 4 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present invention;
[0042] In the attached diagrams above:
[0043] 10. Information Acquisition Module; 20. Determination Module; 30. Segment Division Module;
[0044] 400. Electronic device; 401. Processor; 402. Memory; 4021. Operating system; 4022. Application program; 403. User interface; 404. Network interface; 405. Bus system. Detailed Implementation
[0045] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0046] To address the technical problem of low device fingerprint retrieval efficiency due to the large amount of data retrieved in existing technologies, this invention provides a device fingerprint retrieval method. By dividing the target SimHash value into multiple target segments, the device fingerprint corresponding to the target device is retrieved based on the target segments. This method reduces the amount of data retrieved without sacrificing retrieval accuracy, thereby improving the efficiency of device fingerprint retrieval.
[0047] To facilitate understanding of the embodiments of the present invention, further explanations and descriptions will be provided below with reference to the accompanying drawings and specific embodiments. These embodiments do not constitute a limitation on the embodiments of the present invention.
[0048] refer to Figure 1 , Figure 1 This is a schematic flowchart illustrating a device fingerprint retrieval method provided by an embodiment of the present invention. The device fingerprint retrieval method provided by this embodiment includes:
[0049] S1: Obtain target device feature information.
[0050] In this embodiment, the target device feature information includes at least target device identification information and user behavior data information generated in different scenarios. When the target device feature information includes target device identification information, the device fingerprint of the target device can be retrieved directly by matching the target device identification information; when the target device feature information includes user behavior data information, the device fingerprint of the target device can be retrieved by processing the user behavior data information. The two methods of retrieving device fingerprints will be described below and will not be elaborated upon in this embodiment.
[0051] S2: Based on the target device feature information, determine the target SimHash value of the target device corresponding to the target device feature information.
[0052] In this embodiment, step S2 specifically includes:
[0053] Based on user behavior data, determine the target SimHash value of the target device corresponding to the user behavior data.
[0054] The goal of the device fingerprint generation stage is to form an abstract description of the extracted features and to uncover the intrinsic relationships between different device fingerprints. The extracted features can be used for two aspects: content representation and contribution measurement. Content representation is achieved through direct compression mapping using a hash algorithm, while contribution measurement is reflected through feature information entropy. The locality-sensitive SimHash algorithm can integrate feature content hash values with feature parameter contribution, and can also characterize the similarity of the original content to a certain extent. Therefore, feature information entropy is used as weights to calculate the SimHash value to obtain the device fingerprint corresponding to the device. The SimHash algorithm consists of five steps: word segmentation, hashing, weighting, merging, and dimensionality reduction. Specifically: user behavior feature information is segmented to obtain multiple feature vectors; a hash algorithm is used to calculate the hash value of each feature vector; based on the calculated hash values, all feature vectors are weighted; the weighted results of each feature vector are merged and accumulated; the accumulated result is dimensionality reduced to obtain the SimHash value corresponding to the user behavior feature information.
[0055] S3: Divide the target SimHash value into multiple target segments according to preset rules.
[0056] In this embodiment, dividing the target SimHash value into multiple target segments according to preset rules includes:
[0057] Divide the target SimHash value into multiple target segments according to a first threshold.
[0058] Determine the target SimHash value for each target segment, and assign a number to each target segment based on the order of the multiple target segments.
[0059] The first threshold is divisible by the number of bits in the target SimHash value, and the first threshold is equal to the sum of the preset distance threshold and the preset value, which is 1.
[0060] In this embodiment, it should be noted that after determining the target SimHash value of the target device, the Hamming distance between the target SimHash value and the historical SimHash value is calculated. Based on the distance threshold, it can be determined whether the target device corresponding to the target SimHash value and the historical device corresponding to the historical SimHash value are the same device. Through extensive testing, a Hamming distance of 3 balances precision and recall. Therefore, in this embodiment, the distance threshold is the Hamming distance threshold, which is set to 3. Of course, the Hamming distance threshold can also be set according to actual needs in this embodiment. In this embodiment, the Hamming distance is the number of bits whose corresponding bit values differ between two codewords. The minimum Hamming distance between any two codewords in a valid encoding set is called the Hamming distance of that encoding set. When codeword A is 1011001001 and codeword B is 1001000011, and the third, seventh, and ninth bits of codewords A and B differ sequentially from the left, then the Hamming distance between codewords A and B is 3.
[0061] In this embodiment, it should also be noted that the target SimHash value can be 64 bits. When the first threshold is 1, 4, 8, 16, 32 or 64, the first threshold can be divided by the target SimHash value. However, since the first threshold is also related to the distance threshold, when the first threshold is 1, the distance threshold is 0. At this time, dividing the target SimHash value into multiple target segments will be meaningless. Furthermore, when the first threshold is 8, 16, 32 or 64, the corresponding distance thresholds are 7, 15, 31 or 63. As mentioned above, when the distance threshold is 3, both precision and recall are taken into account. Therefore, in this embodiment, the first threshold is 4.
[0062] In this embodiment, when all target SimHash values are 64 bits, the 64-bit target SimHash value can be divided into four target segments according to a first threshold. The target segment SimHash values of the four target segments are A, B, C, and D, respectively, and are denoted as A_0, B_1, C_2, and D_3 according to their order. That is, the first 16-bit target segment is numbered 0, the second 16-bit target segment is numbered 1, the third 16-bit target segment is numbered 2, and the fourth 16-bit target segment is numbered 3. When the distance threshold is 3, one of the four target segments of the 64-bit target SimHash value must have all bits identical. Based on the above conclusion, searching by target segment number and the four target segment SimHash values will greatly reduce the amount of data retrieved.
[0063] S4: Based on the number of each target segment and the SimHash value of the target segment, determine the historical SimHash value corresponding to the target SimHash value.
[0064] In this embodiment, each target segment is 16 bits. Converting the 16 bits to decimal allows us to determine the target segment SimHash value corresponding to each target segment.
[0065] In this embodiment, based on the number of each target segment and the SimHash value of the target segment, the historical SimHash value corresponding to the target SimHash value is determined as follows:
[0066] Based on the number and SimHash value of each target segment, determine the target historical segment corresponding to the number and SimHash value of each target segment.
[0067] Determine the historical SimHash value corresponding to each target historical segment.
[0068] In this embodiment, it should be noted that the target historical segment is a historical segment whose historical number is the same as the target segment's number and whose SimHash value is the same as the target segment's SimHash value.
[0069] In this embodiment, based on the target segment number and target segment SimHash value, the target historical segment corresponding to each target segment number and target segment SimHash value is determined as follows:
[0070] Based on the number of each target segment and the SimHash value of the target segment, query the established inverted index table;
[0071] Based on the query results, the target historical segment corresponding to the number and SimHash value of each target segment is determined.
[0072] In this embodiment, the inverted index table is a key-value (kv) structured data set; where k is the historical segment number and the historical segment SimHash value, and v is the historical SimHash value corresponding to the historical segment. Since the amount of user behavior data is enormous, the number of SimHash values calculated using the SimHash algorithm that correspond to the user behavior data is also enormous. Retrieving the same device fingerprint from a large number of SimHash values is difficult. Therefore, historical SimHash values are divided into corresponding historical segments and stored in kv format to significantly reduce the amount of data stored.
[0073] Specifically, in this embodiment, the method for dividing historical SimHash values and target SimHash values is consistent. Historical SimHash values are also divided into multiple historical segments, each with a corresponding historical segment number and historical segment SimHash value. Once the target SimHash value is divided into multiple target segments, the inverted index table is queried using the corresponding number and target segment SimHash value as the query key to determine the historical segment corresponding to the number and target segment SimHash value. Based on the determined historical segment, the historical SimHash value containing the historical segment can be determined.
[0074] refer to Figure 2 , Figure 2 This is a schematic diagram illustrating a key-value (kv) structure storage method provided in an embodiment of the present invention. The historical SimHash values include SimHash1, SimHash2, and SimHash3. SimHash1 contains historical segments A1_0, B1_1, C1_2, and D1_3; SimHash2 contains historical segments A1_0, B2_1, C1_2, and D2_3; and SimHash3 contains historical segments A2_0, B1_1, C2_2, and D2_3. When storing the historical SimHash values in a kv structure, k is A1_0, B1_1, C1_2, D1_3, A2_0, and B2_1. C2_2 and D2_3, the v corresponding to A1_0 is SimHash1 and SimHash2, the v corresponding to B1_1 is SimHash1 and SimHash3, the v corresponding to C1_2 is SimHash1 and SimHash2, the v corresponding to D1_3 is SimHash1, the v corresponding to A2_0 is SimHash3; the v corresponding to B2_1 is SimHash2, the v corresponding to C2_2 is SimHash3, and the v corresponding to D2_3 is SimHash2 and SimHash3.
[0075] S5: Based on the target SimHash value and each historical SimHash value, determine the retrieval results of the device fingerprint corresponding to the target device.
[0076] In this embodiment, the retrieval results for determining the device fingerprint corresponding to the target device, based on the target SimHash value and each historical SimHash value, include:
[0077] Based on the target SimHash value and each historical SimHash value, determine the target distance between the target SimHash value and each historical SimHash value.
[0078] When all determined target distances are greater than the distance threshold, the target device is considered a new device, and the target SimHash value is used as the device fingerprint of the target device.
[0079] If there is a target distance less than or equal to the distance threshold among the determined target distances, then the target device exists in the historical devices corresponding to the historical SimHash value.
[0080] In this embodiment, it should be noted that when the target device is a new device, the target SimHash value containing the target segment's SimHash value is stored in an inverted index table to facilitate subsequent device fingerprint retrieval. If the target device already exists in the historical devices, it is not necessary to store the target device's target SimHash value again.
[0081] The device fingerprint retrieval method provided in this embodiment further includes: when the target device feature information includes target device identification information, matching the target device identification information with pre-stored historical device identification information;
[0082] When the target device identification information fails to match the pre-stored historical device identification information, the target device is a new device, and the target identification code generated based on the target device identification information is used as the device fingerprint of the target device.
[0083] When the target device identification information successfully matches the pre-stored historical device identification information, the target device exists in the historical devices corresponding to the historical device identification information.
[0084] The device retrieval method provided in this embodiment greatly reduces the amount of data retrieved. The reduction in data retrieval is as follows:
[0085] 1) Assuming the number of historical device fingerprints (i.e. historical SimHash values) is 2∧f, the historical SimHash value is 2∧m bits, and the Hamming distance is d (d+1 is divisible by 2∧m), then it is considered to be the device fingerprint of the same device.
[0086] 2) Historical SimHash values are divided into d+1 historical segments;
[0087] 3) Use a kv structure to store historical SimHash values. k stores the number of the d+1 segment of the historical SimHash value and the historical segment SimHash value. Each historical segment SimHash value is (2∧m / (d+1)) bits. k can store at most (d+1)*(2∧(2∧m / (d+1))) historical segment SimHash values. v stores the historical SimHash values corresponding to the historical segment SimHash values. k can store at most 2∧f / 2∧(2∧m / (d+1)).
[0088] 4) Since it is a kv structure, the time complexity of finding the historical segment in k that has the same number and SimHash value as the target segment is O(1), and the time complexity of comparing Hamming distance is O(n), which depends on the number of v.
[0089] 5) Percentage of reduction: (2∧f-2∧(f-2∧m / (d+1))) / 2∧f*100%.
[0090] As an example, the following details the reduction in data retrieval achieved by the device fingerprint retrieval method of this embodiment:
[0091] In the experiment, 30 million historical user behavior data (represented by 2^25) were selected. Each historical user behavior data was used to generate a corresponding 64-bit (2^6) historical SimHash value. The historical SimHash values were divided into historical segments and stored in an inverted index table with a key-value structure.
[0092] Obtain target user behavior data information. Based on the target user behavior data information, determine the target SimHash value of the target device corresponding to the target user behavior data information as -630 0645 01429808 3956. When the device fingerprint retrieval method of this embodiment is not used to retrieve device fingerprints, it is necessary to retrieve 30 million historical SimHash values to determine whether there is a device that is the same as the target device.
[0093] When the device fingerprint retrieval method of this embodiment is adopted, the target SimHash value of -630 064501429808 3956 (64 bits) is divided into 4 target segments (d+1), and the SimHash value of each target segment is 16 bits (2^6 / 4). After converting the SimHash value of each target segment to decimal, the following results can be obtained: sub SimHash: 15756, sub SimHash: 58093, sub SimHash: 40125 and sub SimHash: -22385.
[0094] After formatting the SimHash value of each target segment, the query keywords are as follows:
[0095] dfB.SUB_SimHash_15756_0, dfB.SUB_SimHash_58093_1, dfB.SUB_SimHash_40125_2 and dfB.SUB_SimHash_40125_3.
[0096] Among them, the historical SimHash values corresponding to the historical segments in v that are the same as the query value are 56, 13, 81, and 302, respectively.
[0097] Therefore, a total of 56 + 13 + 81 + 302 = 452 searches were performed on the target SimHash value.
[0098] Therefore, it can be seen that the reduction in data retrieval after adopting the device fingerprinting method of this embodiment is:
[0099] (30157252-452) / 30157252*100%=99.9985%
[0100] This embodiment provides a device retrieval method that divides the target SimHash value into multiple target segments and retrieves the device fingerprint corresponding to the target device based on the target segments. This method reduces the amount of data retrieved without sacrificing retrieval accuracy and improves the retrieval efficiency of device fingerprints.
[0101] refer to Figure 3 , Figure 3 This invention provides a device fingerprint retrieval device. The device fingerprint retrieval device includes: an information acquisition module 10, a determination module 20, and a segmentation module 30. The information acquisition module 10 acquires target device feature information; the determination module 20 determines the target SimHash value of the target device corresponding to the target device feature information based on the target device feature information; the segmentation module 30 divides the target SimHash value into multiple target segments according to preset rules; the determination module 20 further determines the historical SimHash value corresponding to the target SimHash value based on the number of each target segment and the target segment SimHash value; and based on the target SimHash value and each historical SimHash value, determines the retrieval result of the device fingerprint corresponding to the target device.
[0102] In this embodiment, the segmentation module 30 is further configured to divide the number of bits of the target SimHash value into multiple target segments according to a first threshold; determine the target SimHash value of each target segment, and determine the number of each target segment according to the order relationship of the multiple target segments; wherein, the first threshold is divisible by the number of bits of the target SimHash value, and the first threshold is equal to the sum of a preset distance threshold and a preset value, the preset value being 1.
[0103] In this embodiment, the determining module 20 is further configured to determine the target historical segment corresponding to the target segment number and the target segment SimHash value based on the target segment number and the target segment SimHash value.
[0104] Determine the historical SimHash value corresponding to each target historical segment.
[0105] In this embodiment, the determining module 20 is also used to query the established inverted index table based on the number of each target segment and the SimHash value of the target segment;
[0106] Based on the query results, the target historical segment corresponding to the number and SimHash value of each target segment is determined.
[0107] In this embodiment, the inverted index table is a kv structured data set; where k is the number of the historical segment and the SimHash value of the historical segment, and v is the historical SimHash value corresponding to the historical segment.
[0108] In this embodiment, the determining module 20 is further configured to determine the target distance between the target SimHash value and each historical SimHash value based on the target SimHash value and each historical SimHash value.
[0109] When all determined target distances are greater than the distance threshold, the target device is a new device, and the target SimHash value is used as the device fingerprint of the target device.
[0110] If there is a target distance less than or equal to the distance threshold among the determined target distances, then the target device exists in the historical devices corresponding to the historical SimHash value.
[0111] In this embodiment, the determining module 20 is further configured to match the target device identification information with the pre-stored historical device identification information when the target device feature information includes target device identification information;
[0112] When the target device identification information fails to match the pre-stored historical device identification information, the target device is a new device, and the target identification code generated based on the target device identification information is used as the device fingerprint of the target device.
[0113] When the target device identification information successfully matches the pre-stored historical device identification information, the target device exists in the historical devices corresponding to the historical device identification information.
[0114] The device fingerprint retrieval device provided in this embodiment of the invention divides the target SimHash value into multiple target segments and retrieves the device fingerprint corresponding to the target device based on the target segments. Without sacrificing the accuracy of the retrieval, it reduces the amount of data retrieved and improves the retrieval efficiency of device fingerprints.
[0115] Figure 4 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present invention. Figure 4The illustrated electronic device 400 includes at least one processor 401, a memory 402, at least one network interface 404, and other user interfaces 403. The various components in the electronic device 400 are coupled together via a bus system 405. It is understood that the bus system 405 is used to implement communication between these components. In addition to a data bus, the bus system 405 also includes a power bus, a control bus, and a status signal bus. However, for clarity, in… Figure 4 The general designated all buses as Bus System 405.
[0116] The user interface 403 may include a display, keyboard, or clicking device (e.g., mouse, trackball, touchpad, or touchscreen).
[0117] It is understood that the memory 402 in the embodiments of the present invention can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDRSDRAM), Enhanced Synchronous DRAM (ESDRAM), Synchronous Link DRAM (SLDRAM), and Direct Rambus RAM (DRRAM). The memory 402 described herein is intended to include, but is not limited to, these and any other suitable types of memory.
[0118] In some implementations, memory 402 stores elements, executable units or data structures, or subsets thereof, or extended sets thereof: operating system 4021 and application program 4022.
[0119] The operating system 4021 includes various system programs, such as the framework layer, core library layer, and driver layer, used to implement various basic business functions and handle hardware-based tasks. The application program 4022 includes various applications, such as a media player and a browser, used to implement various application functions. The program implementing the method of this embodiment can be included in the application program 4022.
[0120] In this embodiment of the invention, by calling the program or instructions stored in the memory 402, specifically the program or instructions stored in the application program 4022, the processor 401 is used to execute the method steps provided in each method embodiment, such as: obtaining target device feature information; determining the target SimHash value of the target device corresponding to the target device feature information based on the target device feature information; dividing the target SimHash value into multiple target segments according to a preset rule; determining the historical SimHash value corresponding to the target SimHash value based on the number of each target segment and the SimHash value of the target segment; and determining the retrieval result of the device fingerprint corresponding to the target device based on the target SimHash value and each of the historical SimHash values.
[0121] The methods disclosed in the above embodiments of the present invention can be applied to processor 401, or implemented by processor 401. Processor 401 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the integrated logic circuit of the hardware in processor 401 or by instructions in the form of software. The processor 401 may be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of the present invention. The general-purpose processor may be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of the present invention can be directly embodied in the execution of a hardware decoding processor, or executed by a combination of hardware and software units in the decoding processor. The software units may be located in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. The storage medium is located in memory 402. Processor 401 reads the information in memory 402 and, in conjunction with its hardware, completes the steps of the above method.
[0122] It is understood that the embodiments described herein can be implemented in hardware, software, firmware, middleware, microcode, or a combination thereof. For hardware implementation, the processing unit can be implemented in one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), general-purpose processors, controllers, microcontrollers, microprocessors, other electronic units for performing the functions described herein, or combinations thereof.
[0123] For software implementation, the techniques described herein can be implemented by units that perform the functions described herein. The software code can be stored in memory and executed by a processor. The memory can be implemented in the processor or external to the processor.
[0124] The electronic device provided in this embodiment may be as follows: Figure 4 The electronic device shown can perform the following: Figure 1 All steps of the device fingerprint retrieval method are implemented to achieve... Figure 1 For details on the technical effectiveness of the device fingerprint retrieval method shown, please refer to [link / reference]. Figure 1 The relevant descriptions are presented concisely and will not be elaborated upon here.
[0125] This invention also provides a storage medium (computer-readable storage medium). This storage medium stores one or more programs. The storage medium may include volatile memory, such as random access memory; the memory may also include non-volatile memory, such as read-only memory, flash memory, hard disk, or solid-state drive; the memory may also include combinations of the above types of memory.
[0126] One or more programs in the storage medium can be executed by one or more processors to implement the device fingerprint retrieval method described above, which is executed on the device fingerprint retrieval device side.
[0127] The processor is used to execute the device fingerprint retrieval program stored in the memory to implement the following steps of the device fingerprint retrieval method executed on the device fingerprint retrieval device side: obtaining target device feature information; determining the target SimHash value of the target device corresponding to the target device feature information based on the target device feature information; dividing the target SimHash value into multiple target segments according to a preset rule; determining the historical SimHash value corresponding to the target SimHash value based on the number of each target segment and the SimHash value of the target segment; and determining the retrieval result of the device fingerprint corresponding to the target device based on the target SimHash value and each of the historical SimHash values.
[0128] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this invention.
[0129] The steps of the methods or algorithms described in conjunction with the embodiments disclosed herein can be implemented in hardware, a software module executed by a processor, or a combination of both. The software module can be located in random access memory (RAM), main memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, removable disk, CD-ROM, or any other form of storage medium known in the art.
[0130] The specific embodiments described above further illustrate the purpose, technical solution, and beneficial effects of the present invention. It should be understood that the above description is only a specific embodiment of the present invention and is not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.
Claims
1. A device fingerprint retrieval method, characterized in that, include: Obtain target device characteristic information; Based on the target device feature information, determine the target SimHash value of the target device corresponding to the target device feature information; The target SimHash value is divided into multiple target segments according to a preset rule; Based on the number of each target segment and the SimHash value of the target segment, determine the historical SimHash value corresponding to the target SimHash value; Based on the target SimHash value and each of the historical SimHash values, the retrieval result of the device fingerprint corresponding to the target device is determined; The step of dividing the target SimHash value into multiple target segments according to a preset rule includes: The target SimHash value is divided into multiple target segments according to a first threshold. Determine the target SimHash value for each target segment, and determine the number of each target segment according to the order relationship of the multiple target segments; Wherein, the first threshold is divisible by the number of digits of the target SimHash value, and the first threshold is equal to the sum of the preset distance threshold and the preset value, wherein the preset value is 1; The step of determining the device fingerprint corresponding to the target device based on the target SimHash value and each of the historical SimHash values includes: Based on the target SimHash value and each of the historical SimHash values, the target distance between the target SimHash value and each of the historical SimHash values is determined. When all the determined target distances are greater than the distance threshold, the target device is a new device, and the target SimHash value is used as the device fingerprint of the target device. If there is a target distance less than or equal to the distance threshold among the determined target distances, then the target device exists in the historical devices corresponding to the historical SimHash value; The device fingerprint retrieval method further includes: When the target device feature information includes target device identification information, the target device identification information is matched with pre-stored historical device identification information; When the target device identification information fails to match the pre-stored historical device identification information, the target device is a new device, and the target identification code generated based on the target device identification information is used as the device fingerprint of the target device. When the target device identification information is successfully matched with the pre-stored historical device identification information, the target device exists in the historical devices corresponding to the historical device identification information.
2. The device fingerprint retrieval method according to claim 1, characterized in that, The step of determining the historical SimHash value corresponding to the target SimHash value based on the number of each target segment and the SimHash value of the target segment includes: Based on the number of each target segment and the SimHash value of the target segment, determine the target historical segment corresponding to the number of each target segment and the SimHash value of the target segment; Determine the historical SimHash value corresponding to each target historical segment.
3. The device fingerprint retrieval method according to claim 2, characterized in that, The step of determining the target historical segment corresponding to the target segment number and target segment SimHash value based on the target segment number and target segment SimHash value includes: Based on the number of each target segment and the SimHash value of the target segment, query the established inverted index table; Based on the query results, the target historical segment corresponding to the number and SimHash value of each target segment is determined.
4. The device fingerprint retrieval method according to claim 3, characterized in that, The inverted index table is a kv structured data set; where k is the number of the historical segment and the SimHash value of the historical segment, and v is the historical SimHash value corresponding to the historical segment.
5. A device fingerprint retrieval device, characterized in that, include: The information acquisition module is used to acquire the characteristic information of the target device; The determination module is used to determine the target SimHash value of the target device corresponding to the target device feature information based on the target device feature information; The segmentation module is used to divide the target SimHash value into multiple target segments according to preset rules; It is also used to divide the number of bits in the target SimHash value into multiple target segments according to a first threshold; Determine the target SimHash value for each target segment, and determine the number of each target segment according to the order relationship of multiple target segments; wherein, the first threshold is divisible by the number of digits of the target SimHash value, and the first threshold is equal to the sum of the preset distance threshold and the preset value, the preset value being 1; The determining module is further configured to: determine a historical SimHash value corresponding to the target SimHash value based on the number of each target segment and the SimHash value of the target segment; determine a retrieval result for the device fingerprint corresponding to the target device based on the target SimHash value and each historical SimHash value; determine a target distance between the target SimHash value and each historical SimHash value based on the target SimHash value and each historical SimHash value; when all determined target distances are greater than the distance threshold, the target device is a new device, and the target SimHash value is used as the device fingerprint of the target device; when there is a target distance less than or equal to the distance threshold among the determined target distances, the target device exists among the historical devices corresponding to the historical SimHash values; and match the target device identification information with pre-stored historical device identification information when the target device feature information includes target device identification information; when the target device identification information fails to match the pre-stored historical device identification information, the target device is a new device, and the target identification code generated based on the target device identification information is used as the device fingerprint of the target device. When the target device identification information successfully matches the pre-stored historical device identification information, the target device exists in the historical devices corresponding to the historical device identification information.
6. An electronic device, characterized in that, include: A processor and a memory, the processor being configured to execute a device fingerprint retrieval program stored in the memory to implement the device fingerprint retrieval method according to any one of claims 1 to 4.
7. A storage medium, characterized in that, The storage medium stores one or more programs, which can be executed by one or more processors to implement the device fingerprint retrieval method according to any one of claims 1 to 4.
Citation Information
Patent Citations
Microblog duplication-eliminating method and system based on reverse-order index
CN103646080A