A method, apparatus, device, and storage medium for identifying interconnection.
By generating and encrypting the identifiers to be integrated, and combining database optimization and machine learning models, the problem of data omission caused by the lack of identifier types in the identifier integration process is solved, and more efficient and extensive identifier data query is achieved.
Patent Information
- Application Number
- CN202210401012.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-04-14
- Publication Date
- 2025-10-31
- Estimated Expiration
- 2042-04-14
AI Technical Summary
During the identification process, existing technologies require the identification type to be input; otherwise, some identification results may be missed, especially when the identification type is not well known.
By generating keys from the identifiers to be linked, keys of the same length are generated and key-value pairs are stored in the database. Queries that do not specify the identifier type are supported. Multiple encrypted keys are generated using chained hashing and various encryption algorithms. Machine learning models are used to handle identifier type conflicts and the database structure is optimized to improve query efficiency and accuracy.
It enables accurate querying of identifier-related data without providing the identifier type, improves the accuracy and applicability of identifier integration results, reduces data omissions, and expands the scope of application.
Smart Images

Figure CN114780611B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of computer technology, and more particularly to the field of big data technology. Background Technology
[0002] ID mapping is a fundamental step in big data analytics. It refers to the process of identifying multiple data sources from different origins as related data belonging to the same object or topic through various technical means. ID mapping connects fragmented data, eliminates data silos, provides a complete information view of an object or topic, and allows data from one domain to unleash significant value in another.
[0003] Typically, during the identification process, in addition to inputting the identification itself, it is also necessary to input the identification type, such as the International Mobile Equipment Identity (IMEI), MAC address, and Android ID. However, this information is not necessarily familiar to everyone. If the identification type is not entered, or an incorrect identification type is entered, it is very likely that some identification results will be missed. Summary of the Invention
[0004] This disclosure provides a method, apparatus, device, and storage medium for identifying interconnections.
[0005] According to one aspect of this disclosure, a method for identifier linkage is provided, comprising: obtaining an identifier to be linked, wherein the identifier to be linked does not include an identifier type; performing key generation processing on the identifier to be linked to obtain a key corresponding to the identifier to be linked; querying a database for identifier linkage based on the key to obtain a record matching the key and the identifier to be linked, wherein the database pre-stores a key generated based on the identifier to be linked and the identifier to be linked corresponding to the key.
[0006] According to another aspect of this disclosure, an apparatus for identifier linkage is provided, comprising: an identifier acquisition module for acquiring an identifier to be linked, wherein the identifier to be linked does not include an identifier type; a key generation processing module for performing key generation processing on the identifier to be linked to obtain a key corresponding to the identifier to be linked; and a data query module for querying a database for identifier linkage based on the key to obtain a record matching the key and the identifier to be linked, wherein the database pre-stores keys generated based on the identifier to be linked and the identifiers to be linked corresponding to the keys.
[0007] According to another aspect of this disclosure, an electronic device is provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform any of the methods described above for identifying a connection.
[0008] According to another aspect of this disclosure, a non-transitory computer-readable storage medium is provided storing computer instructions, wherein the computer instructions are used to cause a computer to perform any of the methods described above for identifying a connection.
[0009] According to another aspect of this disclosure, a computer program product is provided, including a computer program that, when executed by a processor, implements any of the methods described above for identifying a connection.
[0010] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description
[0011] The accompanying drawings are provided to better understand this solution and do not constitute a limitation of this disclosure. Wherein:
[0012] Figure 1 This is a basic flowchart illustrating the process of establishing a unified identifier.
[0013] Figure 2 This is a flowchart illustrating the method for identifying connectivity according to the first embodiment of this disclosure;
[0014] Figure 3 This is a partial flowchart illustrating the method for identifying connectivity according to the second embodiment of this disclosure;
[0015] Figure 4 This is a partial flowchart illustrating the method for identifying connectivity according to the third embodiment of this disclosure;
[0016] Figure 5 This is a schematic diagram of the reservoir filling process for implementing the method for identifying the connection according to the fourth embodiment of this disclosure;
[0017] Figure 6 This is a schematic diagram of the query process for implementing the method for identifying interconnection in the fourth embodiment of this disclosure;
[0018] Figure 7 This is a schematic diagram of the table structure optimization for identifying the interconnected database according to the fifth embodiment of this disclosure;
[0019] Figure 8 This is a schematic diagram of the structure of a device for identifying a connection according to an embodiment of this disclosure;
[0020] Figure 9 This is a block diagram of an electronic device used to implement the method for identifying a connection in the embodiments of this disclosure. Detailed Implementation
[0021] The exemplary embodiments of this disclosure are described below with reference to the accompanying drawings, including various details of the embodiments to aid understanding, and should be considered merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of this disclosure. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description.
[0022] Figure 1 This illustrates a basic process for establishing a connection, such as... Figure 1 As shown, the identifier connection can be divided into two parts: the first part is the database filling section shown on the left side of the database; the second part is the query section shown on the right side of the database.
[0023] The reservoir filling section primarily collects identifiers and associated data from multiple data sources. Typically, the reservoir filling process is a continuous update and input process, such as... Figure 1 As shown, the main components include: continuously receiving identifiers to be integrated and associated data collected from various data sources (e.g., different applications or different devices); performing a series of data processing steps on the identifiers to be integrated and associated data collected from various data sources to obtain identifier key-value pairs (key, value) data that conform to design standards and specifications; and storing the obtained key-value pairs in the database used for identifier integration (ID-Mapping database).
[0024] The "to be integrated" identifiers refer to different types of identifiers used in various data sources. These may include different identifiers for the same object (or entity) in different data sources. For example, different identifiers for the same object in different applications; or different identifiers generated after the same object logs in on different devices.
[0025] After the initial database injection, the key-value pairs stored in the database used for identifier integration can be used for big data analysis and identifier integration processing, among other data mining tasks.
[0026] For example, by using data associated with identifiers, the relationships between identifiers to be integrated can be discovered and established, identifying each identifier corresponding to the same object, and mapping each identifier corresponding to the same object to the object's globally unique identifier. In this way, identifiers from various data sources can be integrated through the object's globally unique identifier, allowing data about the object from different sources to be obtained, thus achieving information integration.
[0027] and Figure 1 The query section shown is mainly used for: 1) During the process of identifier integration, obtaining the associated data of the identifier to be integrated through the identifier to be integrated, and performing data analysis and mining to determine the relationship between each identifier to be integrated; 2) After the identifier integration, querying all associated data of the identifier and other identifiers associated with the identifier in the database through the identifier to be integrated provided by any data source.
[0028] To facilitate differentiation and clarification of identifier types, the identifiers to be integrated used in the aforementioned database filling and query processes are currently mostly identifiers that include the identifier type. For example, for an identifier "10000000001" with the identifier type "IME", "IME_10000000001" is used as the identifier. Commonly used identifier types include International Mobile Equipment Identity (IMEI), MAC address, and Android ID.
[0029] However, compared to the identifier itself, the identifier type is often not well known. When performing a query, the inability to provide the identifier type may lead to data omissions or missing data.
[0030] To this end, this disclosure creatively provides a method for connecting identifiers, which allows querying the desired data associated with an identifier even without providing the identifier type.
[0031] Figure 2 This illustrates the main flow of the method for establishing a clear identifier as described above, according to an embodiment of this disclosure. See also... Figure 2 The method includes:
[0032] Operation S210: Obtain the identifier to be connected. The identifier to be connected does not include the identifier type.
[0033] In this embodiment of the disclosure, the identifier to be connected does not include the identifier type. For example, for the identifier "10000000001" with the identifier type "IME", it is only necessary to obtain the identifier "10000000001", without obtaining the identifier type "IME".
[0034] Operation S220 performs key generation processing on the identifier to be connected, and obtains the key corresponding to the identifier to be connected.
[0035] Because different types of identifiers may differ in character length and the character set they use, using the identifier itself as the key in key-value pairs will waste storage space and reduce query efficiency. Furthermore, using the identifier itself as the key in key-value pairs also carries the risk of leaking user information.
[0036] Therefore, in this embodiment of the disclosure, the identifier itself is not used as the key in the key-value pair data. Instead, a unified key generation process is performed on the identifiers to be connected of various identifier types to generate keys of the same length, so as to further improve the storage space utilization and query efficiency.
[0037] Operation S230: Based on the key, query the database used to identify the connection, and obtain the record that matches the key and the connection identifier. The database pre-stores the key generated based on the connection identifier and the connection identifier corresponding to the key.
[0038] Since the key is obtained after key generation processing of the identifier to be connected, and there is a probability that different identifiers to be connected will generate the same key, one key may correspond to multiple identifiers to be connected. Therefore, in this embodiment of the disclosure, during the process of querying the database used to identify the connection based on the key, the identifiers to be connected are further compared to accurately obtain the record that matches the identifier to be connected.
[0039] The database being queried here is a database that has undergone a database filling process and pre-stores key-value pairs to identify the connection.
[0040] The key used to identify the database connection can be the same key generated in operation S220, or it can be a key generated by other key generation methods.
[0041] However, if the key is generated by another key generation method, the value in the key-value pair data needs to include the key generated according to the same key generation method as operation 220 and the key to be connected. This implementation is common in existing databases where keys generated according to the key to be connected are added. In this way, the existing database can be compatible with existing query patterns (specifying the key type) and also support the query patterns in the key-connection method provided in this disclosure (not specifying the key type).
[0042] The values in the key-value pairs in the database used to identify the data to be linked must also include the identifier used to generate the key. Thus, when multiple records correspond to multiple identifiers for the same key, the record matching the specified identifier can be determined based on the identifier to be linked.
[0043] Because this embodiment of the disclosure only needs to obtain the identifier to be connected during the query process, without needing to obtain the identifier type of the identifier to be connected, even if the user or program initiating the query does not know the identifier type corresponding to the identifier to be connected, it can still query records that match the identifier to be connected (if they exist).
[0044] This avoids situations where inaccurate query results cannot be obtained due to the inability to provide the identifier type, leading to omissions in identifier matching results. Consequently, the identifier matching results are more accurate and applicable to a wider range of scenarios.
[0045] Figure 3 Another embodiment of this disclosure is shown in order to achieve Figure 2 The process of filling the database during the query process. For example... Figure 3 The process mainly includes:
[0046] Operate S310 to obtain the pending connection indicator;
[0047] The acquired identifiers to be connected are collected from various data sources and are to be processed and stored in a database used to identify the connection process.
[0048] Operate S320 to perform key generation processing on the identifier to be connected, and obtain the key corresponding to the identifier to be connected.
[0049] The key generation process performed here is the same as that performed in operation S220, so it will not be described again here.
[0050] Operate S330 to store the key and the identifier to be connected to the database.
[0051] The identifier to be connected will be stored as part of the value in the key-value pair in the database used to identify the connection, so that when a key corresponds to multiple records corresponding to multiple identifiers to be connected, the record matching the specified identifier can be determined by the identifier to be connected.
[0052] If the implementer also wants to retain the identifier type for use in subsequent processing, the identifier type can be stored as part of the value in the key-value pair in the database used for identifier unification.
[0053] exist Figure 3 In the illustrated embodiment, the key of the key-value pair used during the saturation process is generated based on the identifier to be activated, excluding the identifier type. Therefore, during querying, a fast query can be performed using the key generated based on the identifier to be activated, excluding the identifier type, without needing to obtain the identifier type, and the query efficiency is higher.
[0054] Figure 4 The main flow of a method for identifying a breakthrough is shown in another embodiment of this disclosure.
[0055] In some scenarios where this embodiment of the invention is applied, the identifiers to be connected collected during the database filling process are encrypted identifiers, but during the query, because the identifiers to be connected provided by the user or program are unencrypted identifiers, records that match them are missed; or conversely, the identifiers to be connected collected during the database filling process are unencrypted data, but during the query, because the identifiers to be connected provided by the user or program are encrypted identifiers, records that match them are missed.
[0056] Therefore, in addition to adopting the embodiments of this disclosure Figure 3 In addition to inputting one set of data, the process shown also involves... Figure 4 The process shown involves inputting another set of data, including:
[0057] Operate S410 to encrypt the identifier to be connected, and obtain the encrypted identifier to be connected.
[0058] The encrypted identifier to be connected, obtained by encrypting the identifier to be connected, must use the same encryption method as the encrypted identifier to be connected provided by the user or program, so that a matching record can be found based on the encrypted identifier to be connected provided by the user or program.
[0059] Therefore, in this embodiment of the disclosure, the database injection end and the query end used to identify the database to be connected will use a pre-agreed encryption algorithm to ensure that the encrypted identifier to be connected used during database injection is consistent with the encryption method used for the encrypted identifier to be connected provided by the user or program.
[0060] Operate S420 to perform key generation processing on the encrypted identifier to be connected, and obtain the encryption key corresponding to the encrypted identifier to be connected.
[0061] Operate S430 to store the encryption key and the encrypted pending connection identifier to the database.
[0062] exist Figure 4 In the embodiment of this disclosure shown, for the same identifier to be activated, two sets of key-value pairs are entered: one set is the key-value pair entered based on the key generated from the unencrypted identifier to be activated; the other set is the key-value pair entered based on the encrypted identifier to be activated, and then the key generated from the encrypted identifier to be activated. Thus, during the query process, regardless of whether the identifier to be activated is encrypted or unencrypted, a matching record can be found.
[0063] Figure 5 and Figure 6The main flow of a method for identifying a breakthrough is shown in another embodiment of this disclosure.
[0064] in, Figure 5 The reservoir filling process implemented according to an embodiment of this disclosure is illustrated. For example... Figure 5 As shown, in the reservoir filling process implemented in this embodiment, two processing nodes (first processing node 501 and second processing node 502) process the data (ID-pair data) of the identifier set to be connected and the identifier association collected from various data sources to obtain identifier key-value pairs (data in simpleDB format of non-relational database) that conform to specific design standards and rules.
[0065] The first processing node 501 is used to convert the input ID-pair data into serialized structured data (e.g., protobuf format data) and store it on a temporary path.
[0066] Among them, the identifier pair data is a data structure in which a pair of identifiers to be connected and data associated with the corresponding identifiers to be connected appear, for example, ("Notype_ID_1", "Information_1").
[0067] Serialized structured data refers to data obtained by serializing structured data. Its advantages include smaller storage space and faster data parsing speed. Protobuf format is a data format of Protocol Buffers, which, similar to XML, is a language-independent, platform-independent, and extensible data description language that can be used for communication protocols, data storage, etc. Therefore, converting input identifier pair data (ID-pair data) into serialized structured data in protobuf format facilitates transmission and storage and has a wider range of applications.
[0068] The first processing node 501 is also used to perform key generation processing on the identifiers to be connected that do not include identifier types in the input identifier pair data (ID-pair data) to obtain a key. Specifically, in this embodiment of the present disclosure, the first processing node 501 will obtain the identifiers to be connected that do not include identifier types from the input identifier pair data (if the identifier pair includes identifier types, then the identifier types are removed), for example, "Notype_ID_1"; then perform hashing, shifting and other operations on the identifiers to be connected that do not include identifier types to generate a key, and additionally add data to encrypt the identifiers to be connected before generating the key.
[0069] In this way, regardless of whether the identifier provided by the user or the program specifies the identifier type or whether the identifier is encrypted, no matching record will be missed.
[0070] Specifically, this embodiment of the disclosure uses a chained hash method when generating keys. The chained hash method constructs a singly linked list of synonyms for all elements with hash address i, and stores the head pointer of the linked list in the i-th cell of the hash table. Search, insertion, and deletion operations are all performed within the synonym chain. Therefore, using a chained hash method to generate keys not only reduces the probability of different identifiers generating the same key, but also makes the frequent insertion and update operations during continuous database injection faster.
[0071] Since the same identifier to be encrypted can have different encryption results depending on its case, this embodiment of the present disclosure performs a unified operation of converting the plaintext identifier to uppercase and lowercase before encryption. At the same time, when the string of the identifier to be encrypted is long (for example, more than 64 characters), an encryption strategy of converting the first half to uppercase and the second half to lowercase before encryption is adopted.
[0072] Furthermore, to address the various encryption methods used during queries, this embodiment incorporates multiple mainstream encryption methods for encrypted database injection of the identifier, such as MD5 encryption and SHA256 encryption, generating multiple copies of data encrypted with different encryption algorithms. The specific steps mainly include: encrypting the identifier to be connected using at least one encryption algorithm to obtain at least one encrypted identifier to be connected; performing key generation processing on the at least one encrypted identifier to be connected to obtain at least one encryption key corresponding to the encrypted identifier to be connected; and storing each encryption key and the encrypted identifier to be connected in the database to obtain at least one record corresponding to each encryption key.
[0073] The second processing node 502 is used to convert serialized structured data (protobuf format data) into non-relational data (e.g., simpleDB format data) and store it on the official path.
[0074] Non-relational data refers to data that is unrelated to each other. It is usually stored in non-relational databases. Due to its unrelated nature and simple data structure, it has priority in read and write performance and is easy to expand, making it particularly suitable for reading, writing and processing big data.
[0075] Figure 6 This illustration shows the query process implemented in an embodiment of the present disclosure. Taking a regular user querying data associated with a pending connection identifier as an example, it mainly includes:
[0076] Operation S610 receives a user-input identifier, which is a pending connection identifier without an identifier type;
[0077] Operate S620 to generate the corresponding key and query the database (simpleDB) based on the key;
[0078] Operation S630: Determine if a record exists corresponding to the key. If yes, continue with operation S640; otherwise, continue with operation S650.
[0079] In non-relational databases, such as SimpleDB, a key-value pair record is stored, which includes a key and a value.
[0080] Operation S640 searches for records in the records that match the entered identifier (id) value;
[0081] If a record that matches the key is found, you can iterate through these records until you find a record that matches the input identifier.
[0082] When operating the S650, a message appeared indicating that no matching value was found.
[0083] If the identifier entered by the user is not found, a "NotFound" result is given.
[0084] Operate S660 to output the query results.
[0085] The output results are returned to the user according to the predetermined format.
[0086] In this embodiment of the disclosure, users only need to input the plaintext original identifier value (identifier to be connected) without the identifier type, without caring about the actual identifier type or whether it is encrypted, and can query the data associated with the identifier in simpleDB. There is no need to worry that the original record will not be found because the identifier type is not provided or the identifier is not encrypted.
[0087] In the era of massive data, conflicts are inevitable between different types of identifier values. This may be due to user errors or system errors that need to be corrected. For example, the values of the identifiers to be connected for the Baiduid and IMEI types may be the same, but in reality, only one of the types is correct.
[0088] Because the query input in this embodiment is an identifier without an identifier type, it is possible to retrieve multiple records with the same identifier but different identifier types. Although this probability is very small, another embodiment of this disclosure still addresses this issue. Figure 6 The query process shown has been further optimized to handle situations where multiple records with the same identifier but different identifier types are retrieved.
[0089] Specifically, in operation S640, the following judgment logic is added, and the corresponding operation is performed based on the judgment result:
[0090] If the records that match the key and the identifier to be connected include at least two records belonging to different identifier types, then a record collision election model is used to determine one record from the at least two records. The record collision election model is a machine learning model used to determine the identifier type based on identifier features.
[0091] Typically, different identifier types exhibit significant differences in their identifier formats. For example, identifiers of type `idfa` are separated by "-", while identifiers of type `baiduid` are 32-bit hexadecimal strings. Furthermore, the lengths of identifiers vary across types, ranging from 10 / 15 / 32 / 64 bits. Therefore, a collision election model can be used to extract these identifier features, such as identifier pattern and identifier length, to train the model. This allows for the determination of identifier types based on these features, thereby removing records with incorrect identifier types. When training the model, at least one of the following algorithms can be used: Support Vector Machine (SVM), Random Forest, or AdaBoost.
[0092] Specifically, in this implementation, a multi-dimensional feature vector is used in the feature extraction stage, including: string length, whether it contains ":" and the number of ":", whether it contains "|" and the number of "|", whether it contains "-" and the number of "-", whether it is purely numeric, whether it is uppercase, whether it is lowercase, whether it is half uppercase and half lowercase, and how many types of identifier lengths are available for this type. The actual identifier type is used as the classification label, and the data is then processed into a format that the model can analyze. The dataset is further split into a training set and a test set in an 8:2 ratio (this ratio can be adjusted). The training set is used for model training, and the test set is used for model evaluation.
[0093] During the training process, this embodiment uses multiple methods for training, and then fuses the outputs of the respective models as the final prediction result. One method is the Support Vector Machine (SVM) algorithm, which can improve generalization performance and solve nonlinear and high-dimensional problems; the second method is the Random Forest algorithm, which can handle high-dimensional data, does not require feature selection, and has a fast training speed; the third method is the AdaBoost algorithm, a high-precision classifier whose calculation results are understandable and do not raise concerns about overfitting.
[0094] Thus, the embodiments of this disclosure can better address situations where conflicts and collisions occur between different types of identifiers when querying using identifiers that do not include identifier types.
[0095] Figure 7Another embodiment of this disclosure is shown, which optimizes the table structure used to identify the interconnected databases by merging two commonly used table structures (table a and table b) into a single table structure (table c).
[0096] Typically, the database used for identifying connectivity uses two tables: table a, which is a reverse table containing the [xid-udwid] mapping relationship; and table b, which is a forward table containing the [udwid-xid] mapping relationship. Here, xid is the identifier to be connected in this embodiment, while udwid is a globally unique identifier for the same object corresponding to multiple xids.
[0097] When querying, the corresponding udwid can be found based on the mapping relationship between xid and udwid in table a. Then, table b can be queried through the udwid to find all xids associated with the udwid based on the mapping relationship between udwid and xid.
[0098] exist Figure 7 In the embodiment of this disclosure shown, tables a and b are merged into table c, which contains the [xid-udwid-xidlist] mapping relationship.
[0099] Thus, during a query, all xids associated with a specified xid (i.e., xidlist) can be obtained simply by referring to the mapping relationship between xid-udwid-xidlist in table c.
[0100] Thus, by upgrading from a two-table query to a single-table query, query time can be significantly reduced.
[0101] Therefore, in Figure 7 The embodiments of this disclosure further supplement the mapping relationship of [xid-udwid-xidlist] during the database filling process by adding the following operations: determining at least one identifier (e.g., xid) corresponding to the same object in the database; determining a globally unique identifier (e.g., udwid) for the same object; determining an identifier list corresponding to the globally unique identifier based on the at least one identifier to be connected to the same object; and storing the globally unique identifier and the identifier list corresponding to the globally unique identifier into the record corresponding to each identifier in the identifier list.
[0102] In some other embodiments of this disclosure, to ensure compatibility with existing identifier merging methods that require specifying identifier types, a "typeless encryption parameter" is also provided. If a user frequently uses this system and is familiar with identifier types, they can set the typeless encryption parameter to false and choose to use the existing identifier merging function; alternatively, they can set the typeless encryption parameter to true and use the identifier merging method provided in this disclosure that does not require specifying an identifier type or encryption. Thus, the identifier merging method provided in this disclosure that does not require specifying an identifier type or encryption can be used as a supplement to existing methods, further improving the merging rate in cases of incorrect or missing identifier types, or encrypted or unencrypted identifiers.
[0103] The acquisition, storage, and application of user personal information involved in the technical solution disclosed herein comply with the provisions of relevant laws and regulations and do not violate public order and good morals.
[0104] According to embodiments of this disclosure, this disclosure also provides an apparatus for identifying a connection, such as... Figure 8 As shown, the device 80 includes: an identifier acquisition module 801, used to acquire an identifier to be connected, wherein the identifier to be connected does not include an identifier type; a key generation processing module 802, used to perform key generation processing on the identifier to be connected to obtain a key corresponding to the identifier to be connected; and a data query module 803, used to query a database for identifier connection based on the key to obtain a record matching the key and the identifier to be connected, wherein the database pre-stores keys generated based on the identifier to be connected and identifiers to be connected corresponding to the keys.
[0105] According to one embodiment of this disclosure, the key generation processing module 802 is specifically used to perform key generation processing on the identifier to be connected using a chained hash algorithm.
[0106] According to one embodiment of this disclosure, the device 80 further includes: an identifier data acquisition module for acquiring an identifier to be connected; and an identifier data storage module for storing the key and the identifier to be connected into the database.
[0107] According to one embodiment of this disclosure, the device 80 further includes: a same object determination module, configured to determine at least one identifier to be connected corresponding to the same object in the database; a globally unique identifier determination module, configured to determine a globally unique identifier of the same object; an identifier list determination module, configured to determine an identifier list corresponding to the globally unique identifier based on the at least one identifier to be connected corresponding to the same object; and an association relationship storage module, configured to store the globally unique identifier and the identifier list corresponding to the globally unique identifier in a record corresponding to each identifier in the identifier list.
[0108] According to one embodiment of this disclosure, the device 80 further includes: a pending access identifier encryption module, used to encrypt the pending access identifier to obtain an encrypted pending access identifier; correspondingly, a key generation processing module 802 is also used to perform key generation processing on the encrypted pending access identifier to obtain an encryption key corresponding to the encrypted pending access identifier; and an identifier data storage module is also used to store the encryption key and the encrypted pending access identifier in the database.
[0109] According to one embodiment of this disclosure, the identifier encryption module is specifically used to encrypt the identifier to be connected using at least one encryption algorithm to obtain at least one encrypted identifier to be connected; correspondingly, the key generation processing module 802 is specifically used to perform key generation processing on the at least one encrypted identifier to be connected to obtain at least one encryption key corresponding to the encrypted identifier to be connected; correspondingly, the identifier data storage module is specifically used to store each of the at least one encryption key and the encrypted identifier to be connected to the database to obtain at least one record corresponding to each encryption key.
[0110] According to one embodiment of this disclosure, the device 80 further includes: a structured sequence data generation module, used to generate a structured sequence data based on the identifier to be connected; correspondingly, the identifier data storage module is specifically used to store the key and the structured sequence data in the database.
[0111] According to one embodiment of this disclosure, the device 80 further includes: if the records matching the key and the identifier to be connected include at least two records belonging to different identifier types, then a record collision election model is used to determine one record from the at least two records, wherein the record collision election model is a machine learning model for determining the identifier type based on identifier features.
[0112] According to embodiments of this disclosure, this disclosure also provides an electronic device, a readable storage medium, and a computer program product.
[0113] Figure 9 A schematic block diagram of an example electronic device 900 that can be used to implement embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.
[0114] like Figure 9 As shown, device 900 includes a computing unit 901, which can perform various appropriate actions and processes based on a computer program stored in read-only memory (ROM) 902 or a computer program loaded from storage unit 908 into random access memory (RAM) 903. RAM 903 may also store various programs and data required for the operation of device 900. The computing unit 901, ROM 902, and RAM 903 are interconnected via bus 904. Input / output (I / O) interface 905 is also connected to bus 904.
[0115] Multiple components in device 900 are connected to I / O interface 905, including: input unit 906, such as keyboard, mouse, etc.; output unit 907, such as various types of monitors, speakers, etc.; storage unit 908, such as disk, optical disk, etc.; and communication unit 909, such as network card, modem, wireless transceiver, etc. Communication unit 909 allows device 900 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0116] The computing unit 901 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 901 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 901 performs the various methods and processes described above, such as the methods for identifying connectivity disclosed herein. For example, in some embodiments, the methods for identifying connectivity disclosed herein may be implemented as computer software programs tangibly contained in a machine-readable medium, such as storage unit 908. In some embodiments, part or all of the computer program may be loaded and / or installed on device 900 via ROM 902 and / or communication unit 909. When the computer program is loaded into RAM 903 and executed by the computing unit 901, one or more steps of the methods for identifying connectivity disclosed herein described above may be performed. Alternatively, in other embodiments, the computing unit 901 may be configured by any other suitable means (e.g., by means of firmware) to perform the method disclosed herein for identifying a breakthrough.
[0117] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.
[0118] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0119] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. Machine-readable media can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0120] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).
[0121] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with embodiments of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.
[0122] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact via communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other. Servers can be cloud servers, servers in distributed systems, or servers incorporating blockchain technology.
[0123] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution disclosed in this disclosure can be achieved, and this is not limited herein.
[0124] The specific embodiments described above do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure should be included within the scope of protection of this disclosure.
Claims
1. A method for identifying interconnection, comprising: Obtain the identifier to be connected, which includes different identifiers used by the same object in different data sources, and does not include the identifier type; The key generation process is performed on the identifier to be connected to obtain a key corresponding to the identifier to be connected. The key generation process includes performing a unified key generation process on identifiers of various identifier types to generate keys of the same length. Based on the key, query the database used to identify the connection to obtain a record that matches the key and the connection identifier to be connected. The database pre-stores keys generated based on the connection identifier to be connected and connection identifiers corresponding to the corresponding keys.
2. The method according to claim 1, wherein, The database also pre-stores globally unique identifiers corresponding to the identifiers to be connected and a list of identifiers corresponding to the corresponding globally unique identifiers.
3. The method according to claim 1, wherein, The key generation process for the identifier to be connected includes: The key generation process is performed on the identifier to be connected using a chained hash algorithm.
4. The method according to claim 1, wherein, The pending connection identifier is an encrypted pending connection identifier.
5. The method according to claim 1, further comprising: Obtain the pending connection indicator; Perform key generation processing on the identifier to be connected to obtain the key corresponding to the identifier to be connected; The key and the identifier to be connected are stored in the database.
6. The method according to claim 5, further comprising: Identify at least one identifier in the database that corresponds to the same object and needs to be connected; Determine the globally unique identifier of the same object; Based on at least one identifier to be connected corresponding to the same object, determine the identifier list corresponding to the globally unique identifier; The globally unique identifier and the list of identifiers corresponding to the globally unique identifier are stored in the record corresponding to each identifier in the identifier list.
7. The method according to claim 5, further comprising: The identifier to be connected is encrypted to obtain the encrypted identifier to be connected. The encrypted identifier to be connected is processed to generate a key, thereby obtaining an encryption key corresponding to the encrypted identifier to be connected. The encryption key and the encrypted identifier to be connected are stored in the database.
8. The method according to claim 7, wherein, The step of encrypting the identifier to be connected to obtain the encrypted identifier includes: The identifier to be connected is encrypted using at least one encryption algorithm to obtain at least one encrypted identifier to be connected. Accordingly, a key generation process is performed on the encrypted identifier to be connected to obtain an encryption key corresponding to the encrypted identifier to be connected, including: Perform key generation processing on the at least one encrypted identifier to be connected to obtain at least one encrypted key corresponding to the encrypted identifier to be connected. Accordingly, storing the encryption key and the encrypted connection identifier in the database includes: Each of the at least one encryption key and the encrypted identifier to be connected are stored in the database to obtain at least one record corresponding to each encryption key.
9. The method according to claim 5, further comprising: A structured sequence of data is generated based on the identifier to be connected; Accordingly, storing the key and the identifier to be connected in the database includes: The key and the structured sequence data are stored in the database.
10. The method according to claim 1, further comprising: If the records that match the key and the identifier to be connected include at least two records belonging to different identifier types, then a record collision election model is used to determine one record from the at least two records. The record collision election model is a machine learning model used to determine the identifier type based on identifier features.
11. The method according to claim 10, wherein, The record collision election model includes a model trained using at least one of the following algorithms: Support Vector Machine algorithm; Random Forest Algorithm; Adaboost algorithm.
12. The method according to any one of claims 1 to 11, wherein the database is a non-relational database.
13. A device for identifying a breakthrough, comprising: The identifier acquisition module is used to acquire the identifier to be connected. The identifier to be connected includes different identifiers used by the same object in different data sources. The identifier to be connected does not include the identifier type. The key generation processing module is used to perform key generation processing on the identifier to be connected to obtain a key corresponding to the identifier to be connected. The key generation processing includes performing unified key generation processing on identifiers to be connected of various identifier types to generate keys of the same length. The data query module is used to query the database used to identify the connection based on the key, and obtain the record that matches the key and the connection identifier. The database pre-stores the key generated based on the connection identifier and the connection identifier corresponding to the corresponding key.
14. The apparatus according to claim 13, wherein, The key generation processing module is specifically used to perform key generation processing on the identifier to be connected using a chained hash algorithm.
15. The apparatus of claim 13, further comprising: The identifier data acquisition module is used to acquire the identifiers to be connected; The identifier data storage module stores the key and the identifier to be connected to the database.
16. The apparatus of claim 15, further comprising: The same object determination module is used to determine at least one identifier to be connected corresponding to the same object in the database; A globally unique identifier determination module is used to determine the globally unique identifier of the same object; The identifier list determination module is used to determine the identifier list corresponding to the globally unique identifier based on at least one identifier to be connected corresponding to the same object. The association storage module is used to store the globally unique identifier and the list of identifiers corresponding to the globally unique identifier into the record corresponding to each identifier in the identifier list.
17. The apparatus of claim 15, further comprising: The pending connection identifier encryption module is used to encrypt the pending connection identifier to obtain the encrypted pending connection identifier; Accordingly, the key generation processing module is also used to perform key generation processing on the encrypted identifier to be connected, so as to obtain an encrypted key corresponding to the encrypted identifier to be connected; The identifier data storage module is also used to store the encryption key and the encrypted identifier to be connected to the database.
18. An electronic device comprising: At least one processor; as well as A memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-12.
19. A non-transitory computer-readable storage medium storing computer instructions, wherein, The computer instructions are used to cause the computer to perform the method according to any one of claims 1-12.
20. A computer program product comprising a computer program that, when executed by a processor, implements the method according to any one of claims 1-12.
Citation Information
Patent Citations
Scene-based identifier unification method and device, equipment and storage medium
CN113886388A