Equipment information processing method and device, equipment, storage medium and program product
By combining hash processing and numerical transformation, the problem of insufficient speed and accuracy in device fingerprint matching is solved, achieving efficient and high-precision device information matching and reducing the false recognition rate.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-30
- Publication Date
- 2026-03-10
AI Technical Summary
Existing device fingerprint matching technologies are insufficient in terms of accuracy and speed, making it difficult to simultaneously meet the requirements of high efficiency and high accuracy.
The first feature vector is obtained by hashing the target device information. Candidate device information is then filtered by combining the similarity of the stored device information. The second feature vector is obtained by numerical transformation. The final matching result is determined by the similarity of the two feature vectors, thus achieving dual matching.
It improves the efficiency and accuracy of device fingerprint matching, ensuring that matching accuracy is significantly improved while maintaining algorithm speed, especially reducing the probability of the same device being misidentified.
Smart Images

Figure CN121637475A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer application technology, and in particular to a device information processing method, apparatus, computer equipment, computer-readable storage medium, and computer program product. Background Technology
[0002] Device fingerprinting refers to the unique characteristics or identifiers of a device that can be used to uniquely identify it. Device fingerprinting is mainly achieved by collecting various data from the device.
[0003] Adding new device fingerprints to a large-scale device fingerprint database is traditionally achieved using simhash technology. While this algorithm is fast, it does not provide high accuracy in matching device fingerprints. Summary of the Invention
[0004] This application provides a device information processing method, apparatus, computer device, and computer-readable storage medium, which can improve both the matching rate and the matching accuracy with stored device fingerprints.
[0005] In a first aspect, this application provides a device information processing method, including:
[0006] Obtain target device information from electronic devices;
[0007] The target device information is hashed to obtain a first feature vector;
[0008] Based on the similarity between the first feature vector and the feature vector of the stored device information, candidate device information is determined from the stored device information;
[0009] The target device information is numerically transformed to obtain a second feature vector, and the candidate feature vector is obtained by numerically transforming the candidate device information.
[0010] The matching result between the target device information and the candidate device information is determined based on the similarity between the second feature vector and the candidate feature vector.
[0011] Secondly, this application also provides a device information processing apparatus, comprising:
[0012] The information acquisition module is used to acquire target device information of the electronic device;
[0013] The encoding module is used to perform hash processing on the target device information to obtain a first feature vector;
[0014] The first matching module is used to determine candidate device information from the stored device information based on the similarity between the first feature vector and the feature vector of the stored device information.
[0015] The conversion module is used to perform numerical conversion processing on the target device information to obtain a second feature vector, and to obtain a candidate feature vector obtained by numerical conversion processing of the candidate device information;
[0016] The second matching module is used to determine the matching result between the target device information and the candidate device information based on the similarity between the second feature vector and the candidate feature vector.
[0017] Thirdly, this application also provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the method steps in the first aspect.
[0018] Fourthly, this application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the method steps of the first aspect.
[0019] Fifthly, this application also provides a computer program product, including a computer program that, when executed by a processor, implements the steps in the method of the first aspect.
[0020] The aforementioned device information processing method, apparatus, computer equipment, computer-readable storage medium, and computer program product acquire target device information of an electronic device, perform hash processing on the target device information to obtain a first feature vector, then, based on the similarity between the first feature vector and the feature vectors of stored device information, coarsely screen out candidate device information from the stored device information, further perform numerical transformation processing on the target device information to obtain a second feature vector, and acquire the candidate feature vectors corresponding to the candidate device information, determine the matching result between the target device information and the candidate device information based on the similarity between the second feature vector and the candidate feature vectors, and achieve further fine-tuning matching. By using hash processing vectors and numerical transformation processing vectors for matching, both matching efficiency and matching accuracy are improved. Attached Figure Description
[0021] To more clearly illustrate the technical solutions in the embodiments of this application or related technologies, the drawings used in the description of the embodiments of this application or related technologies will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0022] Figure 1 This is a schematic diagram illustrating the application environment of the device information processing method in some embodiments;
[0023] Figure 2 This is a flowchart illustrating the device information processing method in some embodiments;
[0024] Figure 3 This is a schematic diagram illustrating the device information hashing and matching process in some embodiments;
[0025] Figure 4 This is a schematic diagram illustrating the distribution of splitting difference sites where the Hamming distance between text 1 and text 2 is 3 in some embodiments;
[0026] Figure 5 This is a schematic diagram of text splitting and matching in some embodiments;
[0027] Figure 6 This is a schematic diagram illustrating the process of calculating the similarity between the second feature vector and the candidate feature vector in some embodiments;
[0028] Figure 7 This is a flowchart illustrating the device information processing method in some other embodiments;
[0029] Figure 8 This is a structural block diagram of the device information processing apparatus in some embodiments;
[0030] Figure 9 This is a diagram showing the internal structure of a computer device in some embodiments. Detailed Implementation
[0031] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0032] The device information processing method provided in this application embodiment can be applied to, for example... Figure 1In the application environment shown, electronic device 102 communicates with server 104 via a network. A data storage system can store the data that server 104 needs to process. The data storage system can be integrated onto server 104 or placed on a cloud or other network server. This device information processing method involves acquiring target device information from the electronic device, hashing the target device information to obtain a first feature vector, then determining candidate device information from the stored device information based on the similarity between the first feature vector and the feature vectors of the stored device information, performing numerical transformation on the target device information to obtain a second feature vector, and simultaneously acquiring candidate feature vectors obtained from the numerical transformation of the candidate device information. Based on the similarity between the second feature vector and the candidate feature vectors, the matching result between the target device information and the candidate device information is determined. This method improves matching efficiency through a two-step matching process and improves matching accuracy by matching the first feature vector obtained through hashing and the second feature vector obtained through numerical transformation. Electronic device 102 can be, but is not limited to, various personal computers, laptops, smartphones, tablets, IoT devices, and portable wearable devices. IoT devices can include smart speakers, smart TVs, smart air conditioners, smart in-vehicle devices, projection devices, etc. Portable wearable devices can include smartwatches, smart bracelets, and head-mounted displays. Head-mounted displays can be virtual reality (VR) devices, augmented reality (AR) devices, smart glasses, etc. Server 104 can be a standalone physical server, a server cluster or distributed system consisting of multiple physical servers, or a cloud server providing cloud computing services.
[0033] In one exemplary embodiment, such as Figure 2 As shown, a device information processing method is provided, which is applied to... Figure 1 Taking the server in the example, the explanation includes the following steps 202 to 210. Wherein:
[0034] Step 202: Obtain the target device information of the electronic device.
[0035] Device information can include hardware-related information, software-related information, and other relevant information. Hardware-related information includes, but is not limited to, processor information, memory information, storage device information, graphics card information, and monitor information. Processor information can include CPU high-frequency information and CPU low-frequency information. Memory information can include memory capacity, memory type, and memory operating frequency. Storage device information can include hard drive type, hard drive capacity, and read / write speed. Graphics card information can include graphics card model, video memory capacity, and graphics card core frequency. Monitor information can include screen size, resolution, and refresh rate. Software-related information can include operating system information, driver information, and a list of installed software. Operating system information can include the operating system name and operating system version number, i.e., OTA version (Operating System Version). Other relevant information can include MAC (Media Access Control Address), IMEI (International Mobile Equipment Identity), IMSI (International Mobile Subscriber Identity), device serial number, screen brightness, battery voltage, network type, IP address, device model, and brand.
[0036] The target device information of an electronic device includes hardware-related information, software-related information, and other relevant information of the electronic device itself.
[0037] Optionally, the electronic device can collect its own target device information and upload it to the server, whereby the server obtains the target device information of the electronic device.
[0038] Step 204: Hash the target device information to obtain the first feature vector.
[0039] Optionally, the server can hash the target device information to obtain an encoding vector, and then multiply the encoding vector with the corresponding encoding weight to obtain the first feature vector.
[0040] Step 206: Based on the similarity between the first feature vector and the feature vector of the stored device information, determine the candidate device information from the stored device information.
[0041] The database stores device fingerprints, and each stored device fingerprint can include the feature vector of the device information.
[0042] Optionally, the server calculates the similarity between the first feature vector and the feature vectors of each stored device information, and selects candidate device information that meets the similarity condition from the stored device information based on the similarity between the first feature vector and the feature vectors of the stored device information.
[0043] Optionally, the server can calculate the similarity between the first feature vector and the stored device information using Hamming distance. Hamming distance refers to the number of bits that differ between corresponding bits of two valid codes in information encoding. For example, 10101 and 00110 differ in their first, fourth, and fifth bits respectively, so their Hamming distance is 3. The larger the Hamming distance between two feature vectors, the smaller their similarity. Selecting candidate device information that meets the similarity criteria can be achieved by selecting device information whose Hamming distance is less than a Hamming distance threshold.
[0044] Optionally, the server can calculate the similarity between the first feature vector and the stored device information using any of the following methods: Euclidean distance, cosine similarity, edit distance, Jaccard similarity coefficient, Pearson correlation coefficient, etc.
[0045] Step 208: Perform numerical transformation processing on the target device information to obtain the second feature vector, and obtain the candidate feature vector obtained by numerical transformation processing of the candidate device information.
[0046] Numerical conversion processing refers to converting various types of information in the target device information into numerical values. For example, character information is converted into numerical values using ASCII (American Standard Code for Information Interchange) encoding, and enumerated type information is converted into corresponding discrete numbers.
[0047] Optionally, the server performs numerical transformation processing on multiple indicator features in the target device information to obtain a second feature vector, and performs numerical transformation processing on the corresponding multiple indicator features in the candidate device information to obtain candidate feature vectors. These candidate feature vectors can be pre-calculated and stored in a database, with the server directly retrieving them, or they can be calculated. The indicator features can be determined from the target device information based on discriminability and stability. Indicator features are typically representative characteristics of the device.
[0048] Step 210: Determine the matching result between the target device information and the candidate device information based on the similarity between the second feature vector and the candidate feature vector.
[0049] Optionally, the server can calculate the similarity between the second feature vector and the candidate feature vector using Hamming distance. This involves comparing the elements at the same positions in the second and candidate feature vectors. If the values are the same, the result at that position is assigned a value of 0; if the values are different, the result at that position is assigned a value of 1. This distance is then calculated with the corresponding feature weights and divided by the sum of the feature weights to obtain the similarity score. A higher similarity score indicates a greater similarity between the second and candidate feature vectors.
[0050] The server can determine the matching result between the target device information and the candidate device information based on the similarity between the second feature vector and the candidate feature vector. If the matching result is a mismatch, the first feature vector and the second feature vector are used as the target device fingerprint and associated with the target device information for storage. If the matching result is a match, the server returns the device fingerprint of the matching candidate device information.
[0051] The device information processing method in this embodiment obtains target device information of an electronic device, performs hash processing on the target device information to obtain a first feature vector, then coarsely filters out candidate device information from the stored device information based on the similarity between the first feature vector and the feature vectors of the stored device information, performs numerical transformation processing on the target device information to obtain a second feature vector, and obtains the candidate feature vectors corresponding to the candidate device information. The matching result between the target device information and the candidate device information is determined based on the similarity between the second feature vector and the candidate feature vector, thereby achieving further fine-tuning of the matching. By using hash processing vectors and numerical transformation processing vectors for matching, both matching efficiency and matching accuracy are improved.
[0052] In an exemplary embodiment, the target device information includes multiple indicator features, which include a first type of indicator features and a second type of indicator features. The first type of indicator features has a higher discriminative power than the second type of indicator features. The discriminative power is used to measure the correlation between the target device information and the electronic device. The hashing process of the target device information to obtain a first feature vector includes: hashing the first type of indicator features to obtain a first encoded vector; concatenating the second type of indicator features and then hashing them to obtain a second encoded vector; obtaining a first sub-feature vector based on the first encoded vector and its corresponding first encoded weight; obtaining a second sub-feature vector based on the second encoded vector and its corresponding second encoded weight; obtaining an intermediate feature vector based on the sum of the first and second sub-feature vectors; and binarizing the intermediate feature vector to obtain the first feature vector.
[0053] The intermediate feature vector can be obtained by directly using the sum of the first and second sub-feature vectors, or by multiplying the sum of the first and second sub-feature vectors by the correlation coefficient.
[0054] Indicator features can be selected based on factors such as the discriminative power and stability of the device information. Discriminative power measures the correlation between the target device information and the electronic device; stability measures the degree of stability of the target device information. Indicator features are representative characteristics of the device information, including representative features of the device's hardware-related information, software-related information, and other relevant information. For example... Figure 3 As shown, the collected device information may include MAC address, operating system identifier, IMEI, IMSI, etc. The device information is hashed to obtain an encoding vector C. Based on the characteristics of the indicator features, the encoding weight W of the encoding vector C is set. This encoding weight W can be obtained through big data learning, set based on experience, or determined based on discrimination and stability. The encoding weight W can be different for devices with different operating system versions. The encoding vector C is multiplied by the corresponding encoding weight W to obtain the feature vector C'; all feature vectors C' are summed to obtain an intermediate feature vector. The intermediate feature vector is binarized, that is, values greater than 0 are changed to 1 and values less than 0 are changed to 0, to obtain the first feature vector D.
[0055] Based on their distinguishability, the indicators are divided into two categories: Category 1 and Category 2. Category 1 indicators are hashed to obtain a first encoding vector. For example, hashing indicator feature a1 yields a first encoding vector C1, where C1 is (1, -1, -1, 1, 1, 1). m Perform hash encoding to obtain the first encoded vector C. m C m The first sub-feature vector is (1,1,-1,1,1,-1). The second type of indicator features are concatenated and then hashed to obtain the second encoding vector. For example, concatenating indicator features a2, a3, and a4 and hashing them yields the second encoding vector C2, which is (1,1,-1,1,1,-1). The first encoding weight corresponding to the first encoding vector C1 is w1, and the first sub-feature vector C1... ’ Given (w1, -w1, -w1, w1, w1, w1), the second encoding weight corresponding to the second encoding vector C2 is w2, and the second sub-feature vector C2... ’ The first encoding vector C is (w2, w2, -w2, w2, w2, -w2). m The corresponding first encoding weight is w m The first sub-eigenvector C m ’ For (w)m ,w m ,-w m ,w m ,w m ,-w m The intermediate feature vector is obtained by summing the m feature vectors. The intermediate feature vector is binarized, that is, values greater than 0 are changed to 1 and values less than 0 are changed to 0, to obtain the first feature vector D. The first feature vector is then compared with the feature vectors of device information stored in the database to calculate the similarity. Device information that meets the similarity condition is output as candidate device information for the next step of precise matching.
[0056] The first type of indicator features are hash-encoded to obtain the first encoding vector. The second type of indicator features are concatenated and then hash-encoded to obtain the second encoding vector. The first encoding vector is multiplied by the first encoding weight to obtain the first sub-feature vector. The second encoding vector is multiplied by the second encoding weight to obtain the second sub-feature vector. The first sub-feature vector and the second sub-feature vector are added to obtain the first feature vector. This first feature vector can more accurately represent the target device information. The first feature vector and the feature vector of the stored device information are used to calculate the similarity and filter out candidate device information more accurately and quickly.
[0057] In an exemplary embodiment, the method for determining the first encoding weight includes: obtaining the discriminative power and stability of a first type of indicator feature; and determining the first encoding weight corresponding to the first encoding vector based on the product of the discriminative power and stability of the first type of indicator feature.
[0058] The discriminant property of an indicator feature is used to measure the correlation between the indicator feature and the electronic device. This correlation can be measured using Pearson correlation coefficient, Fisher score, or Maximum Information Coefficient (MIC). For example, the discriminant property of an indicator feature is calculated using the MIC, which has the advantages of handling nonlinear relationships and fast computation. Its value is [0,1], where a value of 0 indicates no correlation between the two variables, and a value of 1 indicates a perfect correlation. The calculation of MIC is shown in formula (1).
[0059] Formula (1)
[0060] Where X represents one indicator feature, Y represents the equipment number, and X i Let Yj represent the i-th indicator feature, Yj represent the j-th device number, and f(X) represent the i-th indicator feature. i, Y j ) and g(X i, Y j () represents discretization.ij This is a coefficient, set as needed.
[0061] In one example embodiment, the stability of an indicator feature can be determined as follows: for each indicator feature, determine the statistical number of electronic devices with the same indicator feature in the target quantity information record, and determine the stability of the indicator feature based on the target quantity and the statistical number; determine the average stability corresponding to the stability of the indicator features of multiple electronic devices.
[0062] For an electronic device M, there are n information records with a target quantity of n. If the index features f corresponding to record k and record k-1 are... i Under the same circumstances, then ,otherwise 'total' represents the number of indicator features. Here, n is a positive integer, and k is a positive integer greater than or equal to 2. The statistical number of electronic devices with the same indicator feature is determined from the target quantity information record. Then, the difference between the target quantity and 1 is determined. The ratio of the statistical number to the difference is then calculated, and the difference between 1 and the ratio is used to obtain the stability of the indicator feature.
[0063] The formula for calculating the stability of the indicator characteristics is as follows:
[0064] Formula (2)
[0065] Formula (3)
[0066] in, For n information records of electronic device M, those with the same index feature f i Statistical count; For indicator features f i Stability. f i This represents the i-th indicator feature. It is understandable that the above formulas (2) and (3) can be modified, such as by adding a certain coefficient.
[0067] The average stability (ms) of the performance characteristics fi of multiple different electronic devices is calculated. i The calculation formula is as shown in (4).
[0068] Formula (4)
[0069] Optionally, the first coding weight corresponding to the first coding vector is determined based on the product of the discriminative power and the stability of the first type of indicator feature. This includes determining the first coding weight corresponding to the first coding vector based on the product of the discriminative power and the average stability of the first type of indicator feature. Since the average stability calculated by combining device information from multiple electronic devices is more accurate, using the average stability to calculate the coding weight results in a more accurate coding weight.
[0070] Optionally, the method for determining the second encoding weight includes: obtaining the discriminative power and stability of the concatenated multiple second-type indicator features; determining the comprehensive discriminative power based on the discriminative power of the multiple second-type indicator features, and determining the comprehensive stability based on the stability of the multiple second-type indicator features; and determining the second encoding weight corresponding to the second encoding vector based on the product of the comprehensive discriminative power and the comprehensive stability.
[0071] One approach is to weight the discriminative power of multiple second-type indicator features to obtain the overall discriminative power, or to take the median value of the discriminative power of multiple second-type indicator features as the overall discriminative power. Similarly, one approach is to weight the stability of multiple second-type indicator features to obtain the overall stability, or to take the median value of the stability of multiple second-type indicator features as the overall stability, and so on.
[0072] Using discriminability and stability to determine encoding weights can more accurately reflect the correlation between features and devices and the stability of features, thus the calculated feature vectors can more accurately represent devices.
[0073] For massive datasets, the basic Simhash algorithm has speed limitations. To improve speed, the Pigeonhole Principle can be used to accelerate matching. The Pigeonhole Principle is explained as follows: For two text segments, after mapping them to 64-bit hash fingerprints, each text segment is divided into four 16-bit parts. For two text segments, if the Hamming distance is within 3, then at least one of their four parts is the same. Because a Hamming distance of less than 3 means at most three points are different, and these three different points are distributed across four parts, at least one part must be the same. This is analogous to putting three balls into four drawers; one drawer must be empty, hence the name "Pigeonhole Principle." Figure 4 As shown, text 1 is divided into A1, A2, A3 and A4, and text 2 is divided into B1, B2, B3 and B4. The Hamming distance is 3, and there is an indistinguishable point.
[0074] Based on this, a 64-bit fingerprint is divided into a KV (Key-Value) format, where K is one of the four parts and V is the remaining three parts. During matching, as long as K is matched exactly, then V is matched, which can greatly reduce the amount of computation.
[0075] The Simhash fingerprint of a text needs to be copied and stored four times. Taking text1 as an example, after Simhash conversion to 64 bits, it is divided into four parts A1-A2-A3-A4. This part is stored four times so that each part is processed once as K, and the remaining three are processed as V: ① K: A1, V: A2-A3-A4; ② K: A2, V: A1-A3-A4; ③ K: A3, V: A1-A2-A4; ④ K: A4, V: A1-A2-A3. This ensures that no part is missed.
[0076] like Figure 5 As shown, the text to be queried is divided into B1, B2, B3, and B4, with B1, B2, B3, and B4 respectively designated as K, and the remaining part as Value. Each candidate text in the massive text database is divided into four segments, such as A1, A2, A3, and A4, with A1, A2, A3, and A4 designated as K, and the remaining part as Value. The text to be queried is precisely matched with the candidate texts; if two texts are similar, then at least one must be equal. Assume there are 2... 30 There are approximately 1 billion data entries. Without using the pigeonhole principle, we would have to query each of those 1 billion entries one by one, resulting in 1 billion queries. Using the pigeonhole principle, we first query the 16-bit integer K. How many 16-bit numbers composed of 0s and 1s are possible? At most 2^K. 16 There are K types (each bit has two possibilities: 0 or 1, there are 16 bits in total, let's arrange and combine them); 2 30 Data, a total of 2 16 If there are K types, then the maximum number of values returned by each KV type is 2. (30-16) With 16,384 candidate results, and 4 K values, the total number of results is 16,384 * 4 = 65,536, approximately 660,000 (ten thousand). Therefore, what used to require 1 billion comparisons now only needs to be compared 660,000.
[0077] In an exemplary embodiment, the method for determining the similarity between the second feature vector and the candidate feature vector includes: performing an XOR operation on the second feature vector and the candidate feature vector to obtain a difference vector; and determining the similarity between the second feature vector and the candidate feature vector based on the difference vector, the weight vector corresponding to the target device information, and the sum of the elements in the weight vector.
[0078] The second feature vector vectorvector1 is (f1, f2, f3, ..., fn), and the candidate feature vector vectorvector0 is (f1', f2', f3', ..., fn'). The two are XORed: the values at corresponding positions in the second feature vector and the candidate feature vector are XORed. If the values at that position are the same, they are assigned a value of 0; otherwise, they are assigned a value of 1, resulting in a difference vector, such as (0, 0, 1, ..., 0). The weight vector is (w1, w2, w3, ..., wn). The difference vector and the weight vector are multiplied by a dot product, and then divided by the sum of the elements in the weight vector to obtain the similarity between the second feature vector and the candidate feature vector. The calculation formula is as follows: Formula (5)
[0079] in, For similarity, The distance between vector0 and vector1 is calculated using XOR. W represents the weight vector of device information, and different indicator characteristics have different effects on electronic devices. This means summing each element of the weight vector W. Dividing by this term is intended to regularize the final result to a closed interval of 0 and 1, which means that the final calculation result can be regarded as a probability, i.e., similarity.
[0080] like Figure 6 As shown, the difference vector is obtained by XORing the second feature vector and the candidate feature vector. The difference vector is multiplied by the weight vector to obtain X. The sum of the elements in the weight vector is Y. X / Y gives the similarity.
[0081] Suppose that there is one record-base of candidate device information stored after coarse matching, and its format is shown in Table 1.
[0082] Table 1. Entries related to device fingerprints stored in the database.
[0083]
[0084] A GUID (Globally Unique Identifier) is a 128-bit binary numeric identifier generated by an algorithm. GUIDs are primarily used in networks or systems with multiple nodes and computers. The 10 characteristic fields following the GUID are extracted and numerically processed to obtain a 1*10 dimensional candidate feature vector, vector0. The elements in this candidate feature vector are of numeric type. For example, Boolean values are converted to 0 or 1, other integer values are retained, and character values are represented using ASCII encoding. A record after conversion could be: switchue=1; cpuCores=8; flashlight=1; cpuMaxFreq=200000; cpuMinFreq=800000; model=424; osVersion=1865; brand=318; platform=309. Both switchue and flashlight are converted from boolean values. cpuMaxFreq and cpuMinFreq are not converted at all, retaining their original readings (int values). The rest are character values converted from ASCII encoding.
[0085] Suppose there is a reported target device information. The indicator feature fields in the target device information that are the same as those in the candidate device information are numerically transformed to obtain the second feature vector vector1. Then, the similarity between the candidate feature vector and the second feature vector is calculated. Based on the similarity, it is determined whether the candidate device information and the target device information belong to the same device.
[0086] In an exemplary embodiment, the method for determining the weight vector corresponding to the target device information includes: obtaining the discrimination and stability corresponding to the target device information; the discrimination is used to measure the correlation between the target device information and the electronic device; the stability is used to measure the stability of the target device information; and determining the weight vector corresponding to the target device information based on the product of the discrimination and stability of the target device information.
[0087] The target device information includes multiple indicator features. Each element in the weight vector corresponding to the target device information represents the feature weight of the corresponding indicator feature. The feature weight of each indicator feature is obtained by multiplying its discriminative power and stability. The weight vector corresponding to the target device information is constructed based on the feature weights of multiple indicator features.
[0088] In an exemplary embodiment, the target device information includes multiple indicator features; obtaining the distinguishability and stability corresponding to the target device information includes: determining the distinguishability of each indicator feature; determining the statistical number of electronic devices with the same indicator feature in the target quantity information record, and determining the stability of the indicator feature based on the target quantity and the statistical number; and determining the average stability corresponding to the stability of the indicator features of multiple electronic devices.
[0089] The discriminative power of each indicator feature can be calculated using the maximum information coefficient, as shown in formula (1). The stability determination of each indicator feature can include: determining the statistical quantity of electronic devices with the same indicator feature in the target quantity information record, then determining the difference between the target quantity and 1, determining the ratio of the statistical quantity to the difference, and then calculating the difference between 1 and the ratio to obtain the stability of the indicator feature.
[0090] The method of determining the weight vector corresponding to the target device information based on the product of the discriminability and stability of the target device information includes: determining the feature weight of the indicator feature based on the product of the discriminability of the indicator feature and the average stability of the indicator feature; and obtaining the weight vector corresponding to the target device information based on the feature weights of multiple indicator features.
[0091] Optionally, the feature weight of each indicator feature can be obtained by multiplying the discriminative power of the indicator feature and the average stability corresponding to the indicator feature, as shown in formula (6).
[0092] Formula (6)
[0093] in, The feature weights of the indicator features, The distinguishability of the indicator features, This represents the average stability of the indicator characteristics.
[0094] The feature weights of multiple indicator features are used as elements to form a weight vector of target device information. The position of the feature weight in the weight vector corresponds to the position of the indicator feature in the second feature vector. For example, if the indicator features include f1, f2, f3, ..., fn, and the feature weights corresponding to each indicator feature are w1, w2, ..., wn, and the feature vector formed by the indicator features is (f1, f2, f3, ..., fn), then the corresponding feature weights are used to form a weight vector (w1, w2, w3, ..., wn).
[0095] The feature weights of the indicator features are calculated based on their discriminativeness and stability. These feature weights can more accurately reflect the correlation between the indicator features and the equipment, thus resulting in a more accurate similarity.
[0096] In some embodiments, such as Figure 7 As shown, a device information processing method includes:
[0097] Step 702: Obtain the target device information of the collected electronic device.
[0098] The target device information may include hardware-related information, software-related information, and other relevant information.
[0099] The server obtains the target device information reported by the electronic device.
[0100] Step 704: Determine whether the information fields of the indicator features in the target device information are missing. If they are missing, return to step 702. If they are not missing, proceed to step 706.
[0101] Target device information can include multiple indicator features. These features characterize the target device. Multiple indicator features can be selected from the target device information based on factors such as discriminability and stability. The server determines whether any information fields of the indicator features in the target device information are missing. If missing, it returns to retrieving the target device information reported by the electronic device, and then checks again for missing information fields of the indicator features until the relevant information fields are obtained. If not missing, the target device information is hashed to obtain the first feature vector.
[0102] Step 706: Determine whether the device fingerprint corresponding to the target device information exists in the database. If it exists, proceed to step 708; otherwise, proceed to step 710.
[0103] Determining whether a device fingerprint corresponding to the target device information exists in the database can employ a combination of coarse and fine matching. This includes: hashing the target device information to obtain a first feature vector; determining candidate device information from the stored device information based on the similarity between the first feature vector and the feature vectors of device information already stored in the database; performing numerical transformation on the target device information to obtain a second feature vector, and obtaining the candidate feature vector obtained from the numerical transformation of the candidate device information; and determining the matching result between the target device information and the candidate device information based on the similarity between the second feature vector and the candidate feature vector. If the matching result is a mismatch, the first and second feature vectors are used as the target device fingerprint and associated with the target device information for storage. If the matching result is a match, the device fingerprint of the matching candidate device information is returned.
[0104] Step 708: Return the device fingerprint corresponding to the target device information.
[0105] The device fingerprint corresponding to the returned target device information is the device fingerprint of the candidate device information that matches the database.
[0106] Step 710: Generate the target device fingerprint corresponding to the target device information.
[0107] Optionally, generating a device fingerprint corresponding to the target device information can be achieved by using the generated first feature vector and second feature vector as the target device fingerprint of the electronic device.
[0108] Alternatively, a device fingerprint corresponding to the target device information can be generated using a UUID (Universally Unique Identifier) generation method. UUID is a software construction standard and part of the Open Software Foundation in the field of distributed computing environments. Its purpose is to provide all elements in a distributed system with unique identification information without requiring a central control point to assign identification information.
[0109] Step 712: Add the generated target device fingerprint to the database.
[0110] The aforementioned device information processing method obtains the target device information of an electronic device and performs hash processing on the target device information to obtain a first feature vector. Then, based on the similarity between the first feature vector and the feature vectors of device information stored in the database, candidate device information is coarsely matched from the stored device information. The target device information is then numerically transformed to obtain a second feature vector, and candidate feature vectors corresponding to the candidate device information are obtained. The matching result between the target device information and the candidate device information is determined based on the similarity between the second feature vector and the candidate feature vector, thus achieving further fine matching. By using hash processing vectors and numerical transformation processing vectors for matching, both matching efficiency and accuracy are improved, achieving a balance between speed and accuracy. While maintaining the algorithm speed, the algorithm accuracy can be greatly improved, especially reducing the probability of the same device fingerprint being misidentified as the same device fingerprint to less than 1%.
[0111] In some embodiments, the method further includes: inputting the intermediate indicator features of the device fingerprint and the device fingerprint matching result as data pairs into a generative model to generate new data pairs, and then matching the new data pairs as target device information. The generative model can be a network model such as GAN or a diffusion model. GAN, inspired by two-player zero-sum games in game theory, was pioneered by Goodfellow et al. in 2014. A diffusion model defines a Markov chain of diffusion steps to slowly add random noise to the data, and then learns the reverse diffusion process to construct the desired data samples from the noise. Indicator features can include the number of CPU cores, etc. Generating more features through a generative model enhances the robustness of the algorithm.
[0112] It should be understood that although the steps in the flowcharts of the above embodiments are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the above embodiments may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.
[0113] Based on the same inventive concept, this application also provides a device information processing apparatus for implementing the device information processing method described above. The solution provided by this apparatus is similar to the implementation scheme described in the above method; therefore, the specific limitations of one or more device information processing apparatus embodiments provided below can be found in the limitations of the device information processing method described above, and will not be repeated here.
[0114] In some exemplary embodiments, such as Figure 8 As shown, a device information processing apparatus includes an information acquisition module 810, an encoding module 820, a first matching module 830, a conversion module 840, and a second matching module 850.
[0115] The information acquisition module 810 is used to acquire target device information of the electronic device.
[0116] The encoding module 820 is used to perform hash processing on the target device information to obtain a first feature vector.
[0117] The first matching module 830 is used to determine candidate device information from the stored device information based on the similarity between the first feature vector and the feature vector of the stored device information.
[0118] The conversion module 840 is used to perform numerical conversion processing on the target device information to obtain a second feature vector, and to obtain a candidate feature vector obtained by numerical conversion processing of the candidate device information.
[0119] The second matching module 850 is used to determine the matching result between the target device information and the candidate device information based on the similarity between the second feature vector and the candidate feature vector.
[0120] In this embodiment, the device information processing apparatus acquires target device information of an electronic device and performs hash processing on the target device information to obtain a first feature vector. Then, based on the similarity between the first feature vector and the feature vectors of the stored device information, candidate device information is coarsely screened out from the stored device information. The target device information is then subjected to numerical transformation processing to obtain a second feature vector, and candidate feature vectors corresponding to the candidate device information are acquired. The matching result between the target device information and the candidate device information is determined based on the similarity between the second feature vector and the candidate feature vector, thereby achieving further fine-tuning of the matching. By using hash processing vectors and numerical transformation processing vectors for matching, both matching efficiency and matching accuracy are improved.
[0121] In some embodiments, the target device information includes a first type of indicator features and a second type of indicator features, wherein the discrimination of the first type of indicator features is higher than that of the second type of indicator features, and the discrimination is used to measure the correlation between the target device information and the electronic device.
[0122] Accordingly, the encoding module 820 is further configured to perform hash encoding on the first type of indicator features to obtain a first encoding vector; concatenate the second type of indicator features and then perform hash encoding to obtain a second encoding vector; obtain a first sub-feature vector based on the first encoding vector and the corresponding first encoding weight; obtain a second sub-feature vector based on the second encoding vector and the corresponding second encoding weight; obtain an intermediate feature vector based on the sum of the first sub-feature vector and the second sub-feature vector; and perform binarization processing on the intermediate feature vector to obtain a first feature vector.
[0123] In some embodiments, the above-mentioned device information processing apparatus further includes an encoding weight determination module, used to obtain the discriminability and stability of the first type of indicator features; and to determine the first encoding weight corresponding to the first encoding vector based on the product of the discriminability and stability of the first type of indicator features.
[0124] In some embodiments, the encoding weight determination module is further configured to determine, for each indicator feature, the statistical quantity of electronic devices with the same indicator feature in the target quantity information record, and determine the stability of the indicator feature based on the target quantity and the statistical quantity; and determine the average stability corresponding to the stability of the indicator features of multiple electronic devices.
[0125] In some embodiments, the encoding weight determination module is further configured to determine the first encoding weight corresponding to the first encoding vector based on the product of the discriminative power of the first type of indicator feature and the average stability of the first type of indicator feature.
[0126] In some embodiments, the encoding weight determination module is further configured to obtain the discriminability and stability of the concatenated plurality of second-type indicator features; determine the comprehensive discriminability based on the discriminability of the plurality of second-type indicator features, and determine the comprehensive stability based on the stability of the plurality of second-type indicator features; and determine the second encoding weight corresponding to the second encoding vector based on the product of the comprehensive discriminability and the comprehensive stability.
[0127] In some embodiments, the second matching module 850 is further configured to perform an XOR operation on the second feature vector and the candidate feature vector to obtain a difference vector; and determine the similarity between the second feature vector and the candidate feature vector based on the difference vector, the weight vector corresponding to the target device information, and the sum of the elements in the weight vector.
[0128] In some embodiments, the device information processing apparatus further includes a weight vector determination module. The weight vector determination module is used to obtain the discriminability and stability corresponding to the target device information; the discriminability is used to measure the correlation between the target device information and the electronic device; the stability is used to measure the stability of the target device information; and the weight vector corresponding to the target device information is determined based on the product of the discriminability and stability of the target device information.
[0129] In some embodiments, the target device information includes multiple indicator features; the weight vector determination module is further configured to: determine the discriminative power of each indicator feature; determine the statistical number of electronic devices with the same indicator feature in the target quantity information record, and determine the stability of the indicator feature based on the target quantity and the statistical number; determine the average stability corresponding to the stability of the indicator features of multiple electronic devices; and determine the feature weight of the indicator feature based on the product of the discriminative power of the indicator feature and the average stability of the indicator feature; and obtain the weight vector corresponding to the target device information based on the feature weights of multiple indicator features.
[0130] In some embodiments, the device information processing apparatus further includes a storage module and a return module. The storage module is configured to, in the case of a mismatch, store the first feature vector and the second feature vector as a target device fingerprint, associated with the target device information. The return module is configured to, in the case of a mismatch, return the device fingerprint of the matching candidate device information.
[0131] Each module in the aforementioned information processing device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in the processor of the electronic device in hardware form or independent of it, or stored in the memory of the electronic device in software form, so that the processor can call and execute the operations corresponding to each module.
[0132] In one exemplary embodiment, a computer device is provided, which may be a server, and its internal structure diagram may be as follows: Figure 9 As shown, this computer device includes a processor, memory, input / output interfaces (I / O), and a communication interface. The processor, memory, and I / O interfaces are connected via a system bus, and the communication interface is also connected to the system bus via the I / O interfaces. The processor provides computational and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and a database. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The database stores the device's fingerprint data. The I / O interfaces are used for exchanging information between the processor and external devices. The communication interface is used for communicating with external terminals via a network. When the computer program is executed by the processor, it implements a device information processing method.
[0133] Those skilled in the art will understand that Figure 9 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0134] In one exemplary embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps in the device information processing method described above.
[0135] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the steps in the device information processing method described above.
[0136] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in the device information processing method described above.
[0137] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of the relevant data must comply with relevant regulations.
[0138] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, artificial intelligence (AI) processors, etc., and are not limited to these.
[0139] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.
[0140] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.
Claims
1. An apparatus information processing method characterized by comprising: The method comprises: obtaining target device information of an electronic device; hash processing the target device information to obtain a first feature vector; determining candidate device information from the stored device information according to the similarity between the first feature vector and the feature vector of the stored device information; numerical conversion processing the target device information to obtain a second feature vector, and obtaining a candidate feature vector obtained by numerical conversion processing of the candidate device information; determining the matching result of the target device information and the candidate device information according to the similarity between the second feature vector and the candidate feature vector.
2. The method of claim 1, wherein, The target device information comprises first-type index features and second-type index features, and the distinguishing degree of the first-type index features is higher than the distinguishing degree of the second-type index features, and the distinguishing degree is used to measure the correlation between the target device information and the electronic device; The hash processing of the target device information to obtain a first feature vector comprises: hash encoding the first-type index features to obtain a first encoding vector; concatenating the second-type index features and then hash encoding to obtain a second encoding vector; obtaining a first sub-feature vector according to the first encoding vector and the corresponding first encoding weight; obtaining a second sub-feature vector according to the second encoding vector and the corresponding second encoding weight; obtaining an intermediate feature vector according to the sum of the first sub-feature vector and the second sub-feature vector; binaryzation processing the intermediate feature vector to obtain a first feature vector.
3. The method of claim 1, wherein, The determination method of the similarity between the second feature vector and the candidate feature vector comprises: XOR processing the second feature vector and the candidate feature vector to obtain a difference vector; determining the similarity between the second feature vector and the candidate feature vector according to the difference vector, the weight vector corresponding to the target device information, and the sum of the elements in the weight vector.
4. The method of claim 3, wherein, The determination method of the weight vector corresponding to the target device information comprises: obtaining the distinguishing degree and the stability corresponding to the target device information; the distinguishing degree is used to measure the correlation between the target device information and the electronic device; and the stability is used to measure the stability degree of the target device information; determining the weight vector corresponding to the target device information according to the product of the distinguishing degree and the stability of the target device information.
5. The method of claim 4, wherein, The target device information comprises a plurality of index features; and the obtaining of the distinguishing degree and the stability corresponding to the target device information comprises: determining the distinguishing degree of each index feature; determining the statistical quantity of the index feature in the target quantity information record of the electronic device, and determining the stability of the index feature according to the target quantity and the statistical quantity; determining the average stability corresponding to the stability of the index features of a plurality of electronic devices; determining the feature weight of the index feature according to the product of the distinguishing degree of the index feature and the average stability of the index feature. According to the feature weight of the multiple index features, a weight vector corresponding to the target device information is obtained.
6. The method according to any one of claims 1 to 5, characterized in that, The method further includes: In a case where the matching result is not matched, the first feature vector and the second feature vector are stored in association with the target device information as a target device fingerprint.
7. An apparatus information processing device, characterized by comprising: Comprise: An information acquisition module, configured to acquire target device information of an electronic device; An encoding module, configured to perform hash processing on the target device information to obtain a first feature vector; A first matching module, configured to determine candidate device information from stored device information according to a similarity between the first feature vector and a feature vector of the stored device information; A conversion module, configured to perform numerical conversion processing on the target device information to obtain a second feature vector, and to acquire a candidate feature vector obtained by performing numerical conversion processing on the candidate device information; A second matching module, configured to determine a matching result of the target device information and the candidate device information according to a similarity between the second feature vector and the candidate feature vector.
8. A computer device comprising a memory and a processor, the memory storing a computer program, characterized in that, The processor executes the computer program to implement the steps of the method in any one of claims 1 to 6.
9. A computer readable storage medium having stored thereon a computer program, characterized in that, The computer program is executed by the processor to implement the steps of the method in any one of claims 1 to 6.
10. A computer program product comprising a computer program, characterized in that, The computer program is executed by the processor to implement the steps of the method in any one of claims 1 to 6.