Data joint query method, electronic device and storage medium

Through the data joint query method, data intersection and distance are determined, the initial array is created, and the joint summation interaction event is executed, which solves the problem of scattered storage of transaction information of the same user, realizes the complete query of multi-party data without merging data graphs, and improves information security and the accuracy of risk judgment.

CN116541561BActive Publication Date: 2025-10-10CHINA FINANCIAL CERTIFICATION AUTHORITY
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310317601.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-03-28
Publication Date
2025-10-10
Estimated Expiration
2043-03-28

AI Technical Summary

Technical Problem

In tasks such as financial fraud detection and anti-money laundering, the transaction information of the same user is stored by different financial institutions, and it is impossible to directly merge the financial transaction graph for analysis, resulting in insufficient information security of data queries and insufficient risk judgment accuracy.

Method used

Through the data joint query method, the data intersection and distance are determined, the initial array is created, the joint summation interaction event is executed, the number of target data nodes is determined, and a complete data query is performed while ensuring data privacy, thereby improving information security and the accuracy of risk judgment.

Benefits of technology

Without merging data graphs, joint analysis of data held by multiple parties is achieved, ensuring data privacy and improving the information security of data queries and the accuracy of risk judgment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116541561B_ABST
    Figure CN116541561B_ABST
Patent Text Reader

Abstract

The application relates to a data joint query method, an electronic device and a storage medium. The method comprises the following steps: initiating a preprocessing interaction event to a data provider, the preprocessing interaction event is used for determining a data intersection and a first determination distance; creating a first initial array based on the data intersection; initiating a joint summation interaction event to the data provider, the joint summation interaction event is used for determining a target data node quantity based on a target query node, a preset neighborhood parameter, a data node label, the data intersection, the first initial array, the first determination distance and a second initial array and a second determination distance provided by the data provider; and determining whether the target query node is at risk according to the target data node quantity. The scheme provided by the application can ensure that the data held by multiple parties is jointly analyzed under the condition of data privacy to enable a complete data query method, and the information security of data query is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of data processing technology, and in particular to a data joint query method, an electronic device, and a storage medium. Background Art

[0002] A graph is a data structure consisting of a set of vertices and edges, making it easy to model multiple entities and the complex relationships between them. In the financial sector, graph models and graph algorithms play an important role and are widely used in tasks such as fraud detection, anti-money laundering, and suspicious transaction / account identification. For example, financial institutions can construct financial transaction graphs based on their transaction data and assess a user's default risk by querying the number of blacklisted users within a user group with whom they have transaction relationships. However, in real-world applications, transaction information generated by the same user may be stored by different financial institutions. To obtain accurate and complete transaction data for a user, it is necessary to merge and analyze the financial transaction graphs held by different financial institutions. However, due to concerns about financial data privacy, financial transaction graphs cannot be directly merged.

[0003] In view of this, there is an urgent need to propose a method that can jointly analyze data held by multiple parties while ensuring data privacy so as to perform complete data queries and improve the information security of data queries. Summary of the Invention

[0004] In order to overcome the problems existing in the related art, the present application provides a data joint query method, electronic device and storage medium. The data joint query method can jointly analyze data held by multiple parties while ensuring data privacy so as to be able to perform complete data query, thereby improving the information security of data query and the accuracy of risk judgment.

[0005] The first aspect of the present application provides a data joint query method, comprising:

[0006] A pre-processing interaction event is initiated to the data provider, and the pre-processing interaction event is used to determine the data intersection and the first judgment distance; wherein, the data intersection is the intersection of data nodes between the local first data graph and the second data graph sent by the data provider; the first judgment distance is the shortest distance between each data node in the first data graph and each data node in the data intersection; a first initial array is created based on the data intersection; a joint summation interaction event is initiated to the data provider, and the joint summation interaction event is used to determine the number of target data nodes based on the target query node, preset neighborhood parameters, data node labels, data intersection, the first initial array, the first judgment distance, and the second initial array and second judgment distance provided by the data provider; and whether the target query node has risks is determined based on the number of target data nodes.

[0007] In one embodiment, the joint summation interaction event includes an array update interaction event and a query summation interaction event; wherein, the array update interaction event includes: updating the first initial array based on the target query node, the preset neighborhood parameter, the first judgment distance, the data intersection and each data node in the first data graph, obtaining a first updated array and sending the first updated array to the data provider; receiving the second updated array fed back by the data provider based on the first updated array, the second judgment distance and the second initial array; resetting each array element in the first updated array to zero to obtain a first reset array; determining the first target node based on the second updated array, the first judgment distance and each data node in the first data graph and updating the first reset array to obtain a target judgment array; determining whether to initiate a query summation interaction event to the data provider based on the target judgment array.

[0008] In one embodiment, updating the first initial array based on the target query node, the preset neighborhood parameter, the first determination distance, the data intersection, and each data node in the first data graph includes: determining a target node set based on the target query node, the preset neighborhood parameter, and each data node in the first data graph; wherein the target node set is a set of data nodes in the first data graph whose shortest distance to the target query node is less than or equal to the preset neighborhood parameter; and updating each array element in the first initial array based on the target query node, the preset neighborhood parameter, the first determination distance, the target node set, and the data intersection, wherein each array element in the first initial array is zero.

[0009] In one embodiment, updating each array element in the first initial array based on a preset neighborhood parameter, a first judgment distance, a target node set, and a data intersection includes: determining a first target intersection between the target node set and the data intersection; subtracting the first judgment distance between each data node in the first target intersection and the target query node from the preset neighborhood parameter to obtain each first judgment parameter corresponding to each data node in the first target intersection; if the current first judgment parameter is greater than the array element corresponding to the current data node in the first target intersection, then updating the array element corresponding to the current data node in the first target intersection to the current first judgment parameter; if the current first judgment parameter is less than or equal to the array element corresponding to the current data node in the first target intersection, then retaining the array element corresponding to the current data node in the first target intersection until all data nodes in the first target intersection are judged, and then stopping the update.

[0010] In one embodiment, the first target node is determined and the first reset array is updated based on the second update array, the first determination distance and each data node of the first data graph, wherein the step of determining the first target node includes: judging whether each array element in the second update array is zero, and if so, initiating a query and sum interaction event to the data provider; if not, if the first determination distance between the current first data node to be determined in the first data graph and the current data node in the data intersection is less than or equal to the array element corresponding to the current data node in the data intersection in the second update array, and the array element corresponding to the current data node in the data intersection in the second update array is greater than zero, then the current first data node to be determined is determined to be the first target node; until each data node in the first data graph completes the determination.

[0011] In one embodiment, the first target node is determined and the first reset array is updated based on the second update array, the first determination distance and each data node of the first data graph, wherein the step of updating the first reset array includes: determining a first difference result based on the second update array, the first determination distance and each data node of the first data graph; if the first difference result is greater than the array element to be updated currently in the first reset array, then updating the array element to be updated currently in the first reset array to the first difference result; if the first difference result is less than or equal to the array element to be updated currently in the first reset array, then maintaining the array element to be updated currently in the first reset array; wherein, the array element to be updated currently in the first reset array is the array element in the first reset array corresponding to the data node in the data intersection that corresponds to the second array element in the second update array; until all data nodes in the first data graph are determined, the update is stopped.

[0012] In one embodiment, determining the first difference result based on the second update array, the first judgment distance and each data node of the first data graph includes: subtracting the first judgment distance between any data node in the first data graph and the data node corresponding to the first array element in the data intersection from the first array element in the second update array to obtain a first intermediate difference; subtracting the first judgment distance between the current data node in the first data graph and the data node corresponding to the second array element in the second update array in the data intersection from the first difference parameter to obtain a first difference result.

[0013] In one embodiment, determining whether to initiate a query and sum interaction event to a data provider based on a target determination array includes: if the target determination array contains array elements greater than zero, determining the first update array as the target determination array, and executing the steps of sending the first update array to the data provider, determining the first target node based on the second update array, the first determination distance, and each data node of the first data graph, and updating the first reset array to obtain an updated target determination array; until all array elements in the target determination array are zero, initiating a query and sum interaction event to the data provider.

[0014] In one embodiment, the query and summation interaction event includes: determining the first risk node number in the first data graph based on the target node set and the first target node; sending a risk node number query request to the data provider; receiving the second risk node number feedback from the data provider; and determining the target data node number based on the first risk node number and the second risk node number.

[0015] A second aspect of the present application provides a data federation query method, comprising:

[0016] Respond to and execute a pre-processing interaction event initiated by the data query party, the pre-processing interaction event is used to determine the data intersection and the second determination distance; wherein the data intersection is the intersection between the first data graph of the data query party and the local second data graph; the second determination distance is the shortest distance between each data node in the second data graph and each data node in the data intersection; create a second initial array based on the data intersection; respond to and execute a joint summation interaction event to receive the first update array sent by the data query party and feed back the second update array to the data query party based on the first update array and the second initial array.

[0017] In one embodiment, the joint summation interaction event includes an array update interaction event, which includes: setting each array element in the second initial array to zero to obtain a second reset array; determining a second target node based on the first update array, the second determination distance, and each data node of the second data graph and determining the second number of risk nodes based on the second target node; and updating the second reset array based on the first update array, the second determination distance, and each data node of the second data graph to obtain a second updated array.

[0018] In one embodiment, determining the second target node based on the first update array, the second determination distance, and each data node of the second data graph includes: if the second determination distance between the current second data node to be determined in the second data graph and the current data node in the data intersection is less than or equal to the array element corresponding to the current data node in the data intersection in the first update array, and the array element corresponding to the current data node in the data intersection in the first update array is greater than zero, then determining that the current second data node to be determined is the second target node; until each data node in the second data graph completes the determination.

[0019] In one embodiment, updating the second reset array based on the first update array, the second determination distance, and each data node of the second data graph includes: determining a second difference result based on the first update array, the second determination distance, and each data node of the second data graph; if the second difference result is greater than the array element currently to be updated in the second reset array, updating the array element currently to be updated in the second reset array to the second difference result; if the second difference result is less than or equal to the array element currently to be updated in the second reset array, maintaining the array element currently to be updated in the second reset array; wherein, the array element currently to be updated in the second reset array is the array element in the second reset array corresponding to the data node in the data intersection corresponding to the fourth array element in the first update array; and stopping the update until all data nodes in the second data graph are determined.

[0020] In one embodiment, determining the second difference result based on the first update array, the second determination distance, and each data node of the second data graph includes: subtracting the second determination distance between any data node in the second data graph and the data node corresponding to the third array element in the data intersection from the third array element in the first update array to obtain a second intermediate difference; subtracting the second determination distance between the current data node in the second data graph and the data node corresponding to the fourth array element in the data intersection from the second intermediate difference to obtain a second difference result.

[0021] A third aspect of the present application provides an electronic device, including:

[0022] processor; and

[0023] A memory having executable codes stored thereon, which, when executed by the processor, causes the processor to execute the method according to the first aspect or the second aspect.

[0024] A fourth aspect of the present application provides a non-transitory machine-readable storage medium having executable code stored thereon. When the executable code is executed by a processor of an electronic device, the processor is caused to execute the method described in the first aspect or the second aspect.

[0025] The technical solution provided by this application may have the following beneficial effects:

[0026] The data joint query method, electronic device and storage medium provided by the present application initiate a pre-processing interaction event to the data provider, the pre-processing interaction event is used to determine the data intersection between the local first data graph and the second data graph sent by the data provider and to determine the first judgment distance between each data node and each data node in the data intersection in the first data graph. Thus, a first initial array is created based on the data intersection, and then a joint summation interaction event is initiated to the data provider. The joint summation interaction event is used to determine the number of target data nodes based on the target query node, the preset neighborhood parameter, the data node label, the first initial array, the first judgment distance and the second initial array and the second judgment distance provided by the data provider. Thus, without obtaining the second data graph of the data provider, or fusing with the second data graph of the data provider, and ensuring data privacy, the data held by multiple parties can be jointly analyzed to perform a complete data query, thereby determining the number of target data nodes and determining whether the target query node is at risk based on the number of target data nodes, so as to improve the information security of the data query and the accuracy of the risk judgment.

[0027] It should be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present application. BRIEF DESCRIPTION OF THE DRAWINGS

[0028] By reading the detailed description below with reference to the accompanying drawings, the above and other objects, features and advantages of the exemplary embodiments of the present application will become readily understood. In the accompanying drawings, several embodiments of the present application are shown in an exemplary and non-limiting manner, and the same or corresponding numbers represent the same or corresponding parts.

[0029] Figure 1 This is one of the flow charts of the data federation query method shown in the embodiment of the present application;

[0030] Figure 2 This is the second flow chart of the data joint query method shown in the embodiment of the present application;

[0031] Figure 3 This is the third flow chart of the data joint query method shown in the embodiment of the present application;

[0032] Figure 4 This is the fourth flow chart of the data joint query method shown in the embodiment of the present application;

[0033] Figure 5 This is the fifth flow chart of the data joint query method shown in the embodiment of the present application;

[0034] Figure 6 is a data node schematic diagram after intersection of a first data graph and a second data graph in the data query method shown in the embodiments of the present application;

[0035] Figure 7 is a structural schematic diagram of an electronic device. DETAILED DESCRIPTION

[0036] Embodiments will now be described with reference to the accompanying drawings. It should be understood that, for the sake of brevity and clarity, reference numerals can be repeated in the figures for elements that are the same across the various aspects or embodiments. In addition, numerous specific details are set forth in order to provide a thorough understanding of the embodiments described herein. However, it will be apparent to one of ordinary skill in the art that the embodiments described herein can be practiced without these specific details. In other instances, well-known methods, procedures and components have not been described in detail so as not to obscure the embodiments described herein. Also, this description is not to be taken as limiting the scope of the embodiments described herein.

[0037] Based on the held transaction data, a financial transaction graph is constructed, and the number of blacklisted users in a user group having a transaction relationship with a certain user is queried to evaluate the default risk of the user. However, in actual application, the transaction information generated by the same user can be saved by different financial institutions, and if accurate and complete transaction data of the user is needed, the financial transaction graphs held by different financial institutions need to be fused and analyzed. However, due to the consideration of privacy protection of financial data, the financial transaction graphs cannot be directly merged. Compared with a large number of research progress on the private set intersection (PSI) problem, the solution to the private set union (PSU) problem is currently relatively less. In particular, when the private transaction graph data held by both parties is relatively large, but the number of intersection users is relatively small, how to fuse and analyze the two transaction graph data under the premise of protecting data privacy is a problem to be solved.

[0038] Therefore, it is urgent to propose a method for joint analysis of data held by multiple parties to enable complete data query while ensuring data privacy, and to improve the information security of data query.

[0039] To solve the above problems, the embodiments of the present application provide a data joint query method, which can ensure joint analysis of data held by multiple parties to enable complete data query while ensuring data privacy, improve the information security of data query, and improve the accuracy of risk judgment.

[0040] The technical solutions of the embodiments of the present application will be described in detail below with reference to the accompanying drawings.

[0041] Figure 1 is one of flow diagrams of the data joint query method shown in the embodiments of the present application. Please refer to Figure 1 The data joint query method shown in the embodiments of the present application can include:

[0042] In step 101, a pre-processing interaction event is initiated to a data provider. The pre-processing interaction event is used to determine a data intersection and a first judgment distance. The data intersection is an intersection of data nodes between a first data graph locally and a second data graph from the data provider; and the first judgment distance is a shortest distance between each data node in the first data graph and each data node in the data intersection.

[0043] In the embodiments of the present application, the first data graph and the second data graph are both undirected graphs, which can be represented as G=(V, E), where V represents a set of all data nodes in the data graph, and E represents a set of edges between all data nodes in the data graph. Each edge (v x ,v y ) in E can represent that there is a direct relationship between data node x and data node y. For any two data nodes v x and v y in V, if there is at least one path connecting v x and v y in the undirected graph G, a shortest path between v x and v y is a path containing the least number of edges among all paths connecting v x and v y , and a shortest distance between v x and v y is a number of edges in the shortest path between v x and v y . Conversely, for any two data nodes v x and v y in V, if there is no path connecting v x and v y in the undirected graph G, a shortest distance between v x and v y is defined as infinity. In particular, a shortest distance between the same data node is defined as 0.

[0044] For a data node v x in V, a k-neighborhood of v x in G can be defined as a subset of V containing all data nodes with a shortest distance from v x not exceeding k in the undirected graph G. k represents a preset neighborhood parameter.

[0045] It is understandable that the first data graph and the second data graph can be financial transaction graphs, where each data node corresponds to a unique financial transaction user, and each edge (v x ,v y ) can represent user v x and user v y In practical applications, the first data graph and the second data graph may also be other types of undirected graphs, depending on the actual application, and this application does not impose any restrictions in this regard.

[0046] In the embodiment of the present application, A can be used to represent the data query party holding the first data graph, and B can be used to represent the data provider holding the second data graph. A =(V A ,E A ) to indicate that V A represents the set of all data nodes in the first data graph, E A Represents the edge set between all data nodes in the first data graph. Similarly, the second data graph can be represented by G B =(V B ,E B ) to indicate that V B represents the set of all data nodes in the second data graph, E B Represents the set of edges between all data nodes in the second data graph. In addition, the data query party also holds the data node labels associated with all data nodes in the first data graph, and the data provider also holds the data node labels associated with all data nodes in the second data graph. The data node labels can be used to identify whether the data nodes are in a high-risk situation or an abnormal situation. For example, assuming that the first data graph and the second data graph are financial transaction graphs, the data node label can identify whether the user corresponding to the data node is in a high-risk situation. If it is identified as a high-risk situation, then the user is a high-risk user.

[0047] The above process of determining the data intersection between the local first data graph and the second data graph sent by the data provider requires the data query party and the data provider to jointly perform. Specifically, the data query party can use V A As input, the data provider can use V B As input, the data query party and the data provider can jointly execute the Private Set Intersection (PSI) protocol. After the execution is completed, the data intersection between the first data graph and the second data graph can be obtained. A∩B Represents the intersection of the above data, V A∩B =V A∩V B . Privacy set intersection refers to the process of obtaining the intersection of the data held by both parties without revealing any additional information. Among them, additional information refers to any information other than the intersection of the data of both parties. Privacy set intersection can be achieved through methods based on Diffie-Hellman key exchange and methods based on oblivious transfer. The method based on oblivious transfer is a commonly used method. Oblivious transfer is a cryptographic protocol that enables the sender to transmit one of many pieces of information to the receiver, but the sender remains unaware of the information received by the receiver.

[0048] In practical applications, assuming that in the scenario of querying financial transaction data, the data query party can use V A The ID card number of the user corresponding to each data node in V is used as input, and the data provider can B The ID number of the user corresponding to each data node in the data intersection is used as input. After the privacy set intersection protocol is executed, the ID number of the user corresponding to each data node in the data intersection is obtained. It is understood that the above hypothetical description is only for example. In actual applications, the input content of the data query party and the data provider will depend on the actual application situation. This application does not impose any restrictions in this regard.

[0049] It is understandable that if V A∩B If it is an empty set, it means that there is no common data node between the first data graph and the second data graph. There is no need to further query with the second data graph. You only need to search and query in the local first data graph to get the number of target data nodes. Specifically, you can first select the target query node v t , set the preset neighborhood parameter k. Then let Z←0, search each data node in the first data graph, if the current data node is found to be the same as the target query node v t If the shortest distance in the first data graph does not exceed the preset neighborhood parameter k, and the data node label of the current data node indicates a high-risk state, then Z←Z+1 is retrieved until all data nodes in the first data graph are retrieved, and the final Z value is output. This final output Z value can be regarded as the target number of data nodes.

[0050] If V A∩B is not an empty set, then the first data graph needs to be further combined with the second data graph for query, and V A∩B ={u0,..,u m-1}, where u0,..,u m-1 Represents each data node in the data intersection, where m is greater than or equal to 1.

[0051] In the above process of determining the first judgment distance, that is, the shortest distance between each data node and each data node in the data intersection in the first data graph, the shortest distance between any two data nodes can be calculated using a multi-source shortest path algorithm. The first judgment distance can be expressed as Among them, w A Represents the data node in the first data graph, u i Represents the data node in the data intersection, and 0≤i≤m-1.

[0052] Specifically, the undirected graph G can be represented in the form of an adjacency matrix. Let V = {v0,...,v ||}, we can create a two-dimensional matrix M of |V|×|V|, where M[x][y]=1 represents v x and v y Adjacent, M[x][y]=0 means v x and v y Non-adjacent, 0≤x,y≤|V|-1. |V| represents the number of data nodes in V.

[0053] Based on the adjacency matrix of the undirected graph G, the shortest distance between each pair of data nodes in V on the undirected graph G can be calculated using a multi-source shortest path algorithm. An example of a multi-source shortest path algorithm is the Floyd algorithm, also known as the interpolation method. This algorithm uses dynamic programming to find the shortest path between multiple source points in a given weighted graph. Specifically, a two-dimensional matrix D of |V|×|V| can be created, where D[x][y]=1 represents a data node v. x and data node v y Adjacent, D[x][y]=INF represents data node v x and data node v y There is no known path connecting them, so v x and v y The distance between them is set to infinity, and INF represents infinity. If a path exists in the graph connecting two data nodes, it is updated in algorithms such as Floyd, replacing INF with the actual distance value. When two data nodes are adjacent, it indicates that there is an edge connecting them in the graph; when two data nodes are not adjacent, it indicates that there is no edge between them in the graph.

[0054] In an embodiment of the present application, illustratively, a first parameter can be selected by the data query party, and the first parameter is greater than the number of all data nodes in the first data graph; then the first parameter is sent to the data provider, and the data provider selects a second parameter, and the second parameter is greater than the number of all data nodes in the second data graph; the data provider adds the first parameter and the second parameter to obtain a total parameter value, and feeds the total parameter value back to the data query party. Thus, it is possible to determine that INF is defined by a specific value. It is understandable that the total parameter value must be greater than the total number of data nodes in the first data graph and the second data graph. In other words, the distance between any two data nodes in the first data graph and the second data graph must be less than the total parameter value. Therefore, the total parameter value can be used to describe that the distance between any two data nodes in the first data graph and the second data graph is infinite. Exemplarily, the Floyd algorithm can be described by the following pseudo code:

[0055] for k from 0 to |V|-1

[0056] for x from 0 to |V|-1

[0057] for y from 0 to |V|-1

[0058] D[x][y]=min{D[x][y],D[x][k]+D[k][y]}

[0059] It is understandable that the multi-source shortest path algorithm may be other algorithms besides the Floyd algorithm. An appropriate multi-source shortest path algorithm needs to be selected according to the actual application situation. This application does not impose any restrictions in this regard.

[0060] In step 102, a first initial array is created based on the data intersection, wherein the array length of the first initial array is |A∩B|, which is the number of data nodes in the data intersection.

[0061] In step 103, a joint sum interaction event is initiated to the data provider. The joint sum interaction event is used to determine the number of target data nodes based on the target query node, the preset neighborhood parameters, the data node labels, the data intersection, the first initial array, the first determination distance, and the second initial array and the second determination distance provided by the data provider. The number of target data nodes is (V A ∪V B ,E A ∪E B ) is the total number of data nodes with high-risk conditions identified by data node labels in the k-neighborhood of the target query node.

[0062] Assuming a scenario involving querying financial transaction data, the target number of data nodes is the total number of data nodes to be queried, i.e., the total number of data nodes whose data nodes are labeled as high-risk, within a preset neighborhood corresponding to a preset neighborhood parameter. Whether or not the user is within the preset neighborhood is determined based on a first target distance and a second target distance determined by the data provider. The target number of data nodes represents the total number of high-risk users with whom the user of the target query node has directly or indirectly come into contact during the transaction process. These high-risk users are considered when evaluating whether the user of the target query node has engaged in high-risk behavior.

[0063] In step 104, a determination is made as to whether the target query node is at risk based on the number of target data nodes. In embodiments of the present application, a threshold value may be preset. For example, the threshold value may be set to 10. In practical applications, the threshold value may be set to another positive integer based on actual application circumstances, and the present application imposes no restrictions in this regard. If the number of target data nodes exceeds the threshold value, the target query node may be determined to be at risk. Conversely, if the number of target data nodes does not exceed the threshold value, the target query node may be determined to be at risk.

[0064] By initiating a pre-processing interaction event to the data provider, the pre-processing interaction event is used to determine the data intersection between the local first data graph and the data provider's second data graph, and to determine the first judgment distance between each data node in the first data graph and each data node in the data intersection. Based on the data intersection, a first initial array is created, and then a joint summation interaction event is initiated to the data provider. The joint summation interaction event is used to determine the number of target data nodes based on the target query node, preset neighborhood parameters, data node labels, the first initial array, the first judgment distance, and the second initial array and second judgment distance provided by the data provider. This allows for joint analysis of data held by multiple parties to perform complete data queries without obtaining the data provider's second data graph or fusing it with the data provider's second data graph, ensuring data privacy. This allows for the determination of the number of target data nodes and, based on the number of target data nodes, the determination of whether the target query node is at risk, thereby improving the information security of data queries and the accuracy of risk assessments.

[0065] In some embodiments, when the data query direction initiates the execution of a joint summation interaction event to the data provider, the array update interaction event in the joint summation interaction event will be executed first to determine whether to initiate the execution of the query summation interaction event in the joint summation interaction event to the data provider based on the target determination array obtained by the array update interaction event. Figure 2 This is the second flow chart of the data joint query method shown in the embodiment of the present application. Figure 6 This is a schematic diagram of data nodes after the intersection of the first data graph and the second data graph is obtained in the data query method shown in the embodiment of the present application. Figure 2 and Figure 6 In the data query method shown in the embodiment of the present application, the joint sum interaction event includes an array update interaction event and a query sum interaction event, wherein the array update interaction event may include:

[0066] In step 201, a first initial array is updated based on the target query node, preset neighborhood parameters, a first determination distance, a data intersection, and each data node in the first data graph to obtain a first updated array and send the first updated array to a data provider.

[0067] In the embodiment of the present application, a target node set can be first determined based on the target query node, the preset neighborhood parameters and each data node in the first data graph. The target node set is the node in the first data graph that is closest to the target query node v. t The shortest distance between the data nodes is less than or equal to the preset neighborhood parameter. Specifically, a search can be performed in the first data graph. If the current data node is found to be close to the target query node v t If the shortest distance between them is less than or equal to the preset neighborhood parameter k, the current data node is added to the target node set U A Until all data nodes in the first data graph are retrieved, the final target node set U is output. A .

[0068] Furthermore, each array element in the first initial array can be updated based on the target query node, the preset neighborhood parameter, the first determination distance, the target node set, and the data intersection to obtain a first updated array and send the first updated array to the data provider. Wherein, each array element in the first initial array is set to zero. For example, Figure 6 As shown, assuming that the data intersection B A∩B ={u0,u1,u2}={a,f,h}, then the first initial array [I0,I1,I2] is [0,0,0], and the i-th data node in the data intersection corresponds to the i-th array element in the first initial array.

[0069] Specifically, the first target intersection between the target node set and the data intersection can be determined first. The first target intersection can be expressed as U A ∩V A∩B , each data node in the first target intersection can be represented by w S For example, Figure 6 As shown, assuming the target query node v tFor data node b, the preset neighborhood parameter k is 3, then the target node set U A ={a,c,d,e}, the first target intersection U A ∩V A∩B ={a}.

[0070] Then, the preset neighborhood parameters are subtracted from each data node in the first target intersection and the target query node v t The first judgment distance between them is used to obtain the first judgment parameters corresponding to the data nodes in the first target intersection. If the current first judgment parameter is greater than the array element corresponding to the current data node in the first target intersection, the array element corresponding to the current data node in the first target intersection is updated to the current first judgment parameter; if the current first judgment parameter is less than or equal to the array element corresponding to the current data node in the first target intersection, the array element corresponding to the current data node in the first target intersection is retained until all the data nodes in the first target intersection are judged, and then the update is stopped. Exemplarily, the update process can be described by the following expression:

[0071]

[0072] Among them, I A [] represents the array element corresponding to the i-th data node in the data intersection, that is, the i-th array element in the first initial array; represents the first judgment parameter, Indicates the data node w in the first target intersection whose data node number is i in the data intersection. Si With the target query node v t The first determination distance between.

[0073] If all array elements in the first update array after the update are zero, it means that there are no other data nodes in the second data graph that can be considered within the preset neighborhood, so there is no need to further search for the target node in the second data graph. A The number of data nodes with data node labels in high-risk state is determined, thereby obtaining the target number of data nodes.

[0074] For example, Figure 6 As shown, assuming the target query node v t For data node b, the preset neighborhood parameter k is 3, and the first target intersection U A ∩V A∩B = {a}, then the first target intersection U A ∩V A∩B =Data nodes in {a} and target query node v t The first judgment distance between Figure 6The data node a and the target query node v t The shortest distance in the first data graph, that is, the first judgment distance at this time is 1. Since the data node a in the first target intersection is numbered 0 in the data intersection, that is, i=0 at this time, that is, data node a is the first data node in the data intersection, therefore, the preset neighborhood parameter can be further subtracted from this first judgment distance to determine the first judgment parameter corresponding to the first array element I0 in the first initial array, that is, the first judgment parameter corresponding to the first array element in the first initial array at this time is 2. Then, since the first judgment parameter of 2 is greater than the first array element I0 in the first initial array, it can be understood that the first updated array after the update is completed is [2,0,0]. At this time, the first updated array contains array elements greater than zero, so it is necessary to send the first updated array to the data provider.

[0075] It is understandable that there are various ways to set the target query node and the preset neighborhood parameters. In practical applications, it is necessary to select a suitable target query node and set suitable preset neighborhood parameters according to the actual application situation. This application does not impose any restrictions in this regard.

[0076] In step 202 , a second update array fed back by a data provider based on the first update array, the second determination distance, and the second initial array is received.

[0077] In step 203, each array element in the first update array is reset to zero to obtain a first reset array.

[0078] In step 204 , a first target node is determined based on the second update array, the first determination distance, and each data node of the first data graph, and the first reset array is updated to obtain a target determination array.

[0079] In an embodiment of the present application, the step of determining the first target node can be specifically as follows: first, determine whether all array elements in the second update array are zero. If so, it means that there are no other data nodes in the first data graph and the second data graph except the selected target node that can be considered within the preset neighborhood, and then initiate a query and sum interaction event to the data provider.

[0080] If not, it means that in addition to the target node that has been selected, there may be other data nodes in the first data graph and the second data graph that can be considered within the preset neighborhood, so further search is performed in the first data graph first. Specifically, if the first judgment distance between the current first data node to be determined in the first data graph and the current data node in the data intersection is less than or equal to the array element corresponding to the current data node in the data intersection in the second update array, and the array element corresponding to the current data node in the data intersection in the second update array is greater than zero, then the current first data node to be determined is determined to be the first target node, until each data node in the first data graph completes the judgment. Exemplarily, the above judgment process can be represented by the following expression:

[0081] And I B [i]>0, i∈{0,...,m-1};

[0082] in, Indicates the first data node w in the first data graph that is currently waiting to be determined A The first judgment distance between the i-th data node and the data intersection; I B [i] represents the array element in the second updated array corresponding to the i-th data node in the data intersection, that is, the i-th array element in the second updated array.

[0083] In addition, in an embodiment of the present application, the step of updating the first reset array may specifically include: first determining a first difference result based on the second updated array, the first determination distance, and each data node of the first data graph; specifically, subtracting the first determination distance between any data node in the first data graph and the data node corresponding to the first array element in the data intersection from the first array element in the second updated array to obtain a first intermediate difference value. Furthermore, subtracting the first determination distance between the current data node in the first data graph and the data node corresponding to the second array element in the second updated array in the data intersection from the first difference parameter to obtain a first difference result.

[0084] If the first difference result is greater than the array element currently to be updated in the first reset array, the array element currently to be updated in the first reset array is updated to the first difference result; if the first difference result is less than or equal to the array element currently to be updated in the first reset array, the array element currently to be updated in the first reset array is maintained. Among them, the array element currently to be updated in the first reset array is the array element corresponding to the data node in the data intersection that corresponds to the second array element in the second update array in the first reset array. The update is stopped until all data nodes in the first data graph are determined to be completed. Exemplarily, the above update process can be represented by the following expression:

[0085]

[0086] Among them, I A [] represents the jth array element in the first reset array; I B [] represents the first array element in the second updated array, where the first array element is the i-th array element; Represents any data node w in the first data graph A The data node u corresponding to the first array element in the intersection of the data i A first determination distance between Represents the current data node W in the first data graph A The data node u corresponding to the second array element in the second update array is the intersection of the data and the second array element in the second update array. j The first determination distance between.

[0087] In step 205 , it is determined whether to initiate an execution query and sum interaction event to the data provider based on the target determination array.

[0088] In an embodiment of the present application, if the target determination array contains an array element greater than zero, it means that in addition to the target node that has been selected, there may still be other data nodes in the first data graph and the second data graph that can be considered within the preset neighborhood, and further retrieval is performed in the second data graph. Specifically, the first update array is determined as the target determination array, and the steps of sending the first update array to the data provider are performed to determine the first target node based on the second update array, the first determination distance and each data node of the first data graph and updating the first reset array to obtain an updated target determination array. Until all array elements in the target determination array are zero, a query and sum interaction event is initiated to the data provider.

[0089] In some embodiments, if it is determined to initiate a query and sum interaction event to the data provider, the data query party and the data provider jointly execute the query and sum interaction event to determine the number of target data nodes. Figure 3 This is the third flow chart of the data joint query method shown in the embodiment of this application. Please refer to Figure 3 In the data federation query method shown in the embodiment of the present application, the query and interaction events may include:

[0090] In step 301, the number of first-risk nodes in the first data graph is determined based on the target node set and the first target node. In an embodiment of the present application, the plurality of first target nodes retrieved can be incorporated into the target node set to obtain an updated target node set. The number of data nodes in the target node set with a high-risk data node label is then determined, thereby determining the number of first-risk nodes in the first data graph.

[0091] In step 302, a risk node number query request is sent to the data provider;

[0092] In step 303, the number of second risk nodes fed back by the data provider is received.

[0093] In step 304, the target number of data nodes is determined based on the first number of risk nodes and the second number of risk nodes. In this embodiment of the present application, the target number of data nodes may be determined by adding the first number of risk nodes and the second number of risk nodes.

[0094] In some embodiments, the data provider must also cooperate with the data query party to respond to and execute interactive events. Figure 4 This is the fourth flow chart of the data joint query method shown in the embodiment of this application. Please refer to Figure 4 The data federation query method shown in the embodiment of the present application may further include:

[0095] In step 401, a pre-processing interaction event initiated by a data query is responded to and executed. This pre-processing interaction event is used to determine a data intersection and a second determination distance. The data intersection is the intersection between the data query's first data graph and the local second data graph; the second determination distance is the shortest distance between each data node in the second data graph and each data node in the data intersection.

[0096] In step 402, a second initial array is created based on the data intersection, wherein the array length of the second initial array is |A∩B|, which is the number of data nodes in the data intersection.

[0097] In step 403, a joint sum interaction event is responded to and executed, so as to receive the first update array sent by the data query party and feed back a second update array to the data query party based on the first update array and the second initial array.

[0098] In some embodiments, when the data provider responds to and executes a joint summation interaction event, the second reset array obtained by resetting the second initial array can be updated based on the first update array sent by the data query party to obtain a second updated array and feed it back to the data query party. Figure 5 This is the fifth flow chart of the data joint query method shown in the embodiment of this application. Please refer to Figure 5 and Figure 6 The data federation query method shown in the embodiment of the present application may include:

[0099] In step 501, each array element in the second initial array is set to zero to obtain a second reset array.

[0100] In step 502, the second target node is determined based on the first update array, the second determination distance, and each data node of the second data graph, and the number of second risk nodes is determined based on the second target node. Specifically, if the second determination distance between the current second data node to be determined in the second data graph and the current data node in the data intersection is less than or equal to the array element corresponding to the current data node in the data intersection in the first update array, and the array element corresponding to the current data node in the data intersection in the first update array is greater than zero, then the current second data node to be determined is determined to be the second target node, until each data node in the second data graph completes the determination. Exemplarily, the above determination process can be represented by the following expression:

[0101] And I A [i]>0, i∈{0,...,m-1};

[0102] in, Indicates the second data node w in the second data graph. B The second determination distance between the i-th data node and the data intersection; I A [i] represents the array element in the first updated array that corresponds to the i-th data node in the data intersection, that is, the i-th array element in the first updated array.

[0103] For example, assuming that the first update array I A [i] is [2,0,0] obtained in step 201, as shown in FIG. Figure 6 As shown, when i=0, u0 represents data node a, and the data nodes whose second determination distance from data node a in the second data graph is less than or equal to 2 are data node i and data node f. When i=1 and when i=2, the first update array I A The corresponding array elements in [i] are all 0, indicating that it is impossible to find a node in the second data graph that passes through data nodes f and h and is connected to the target query node v. t The data nodes that are within the k-neighborhood are therefore no longer considered. Therefore, data node i and data node f are the second target nodes in this assumption.

[0104] The number of data nodes with data node labels in a high-risk state is determined among the plurality of second target nodes retrieved, thereby determining the number of second risk nodes in the second data graph.

[0105] In step 503, the second reset array is updated based on the first update array, the second determination distance, and each data node of the second data graph to obtain a second update array. In an embodiment of the present application, the second difference result can first be determined based on the first update array, the second determination distance, and each data node of the second data graph. Specifically, the second determination distance between any data node in the second data graph and the data node corresponding to the third array element in the data intersection is subtracted from the third array element in the first update array to obtain a second intermediate difference. The second intermediate difference is then subtracted from the second determination distance between the current data node in the second data graph and the data node corresponding to the fourth array element in the data intersection to obtain a second difference result.

[0106] If the second difference result is greater than the array element currently to be updated in the second reset array, the array element currently to be updated in the second reset array is updated to the second difference result; if the second difference result is less than or equal to the array element currently to be updated in the second reset array, the array element currently to be updated in the second reset array is maintained, wherein the array element currently to be updated in the second reset array is the array element corresponding to the data node in the data intersection corresponding to the fourth array element in the first update array in the second reset array. The update is stopped until all data nodes in the second data graph are determined to be completed. Exemplarily, the above update process can be represented by the following expression:

[0107]

[0108] Among them, I B [] represents the jth array element in the second reset array; I A [] represents the third array element in the first updated array, which is the i-th array element; Represents any data node w in the second data graph B The data node u corresponding to the third array element in the intersection of the data i A second determination distance between Represents the current data node w in the second data graph B The fourth array element in the second updated array in the intersection of the data is the data node u corresponding to the jth array element in the second updated array j The second determination distance between.

[0109] Corresponding to the aforementioned application function implementation method embodiment, the present application also provides an electronic device for executing a data joint query method and corresponding embodiments.

[0110] Figure 7 FIG. 7 is a block diagram showing the hardware configuration of an electronic device 700 that can implement the data joint query method according to an embodiment of the present application. Figure 7 As shown, the electronic device 700 may include a processor 710 and a memory 720. Figure 7 In the electronic device 700, only the components related to this embodiment are shown. Therefore, it is obvious to those skilled in the art that the electronic device 700 may also include components related to the embodiment. Figure 7 The components shown in the figure are different from the common components. For example: fixed-point arithmetic units.

[0111] The electronic device 700 may correspond to a computing device having various processing functions, such as functions for generating a neural network, training or learning a neural network, quantizing a floating-point neural network to a fixed-point neural network, or retraining a neural network. For example, the electronic device 700 may be implemented as various types of devices, such as a personal computer (PC), a server device, a mobile device, etc.

[0112] The processor 710 controls all functions of the electronic device 700. For example, the processor 710 controls all functions of the electronic device 700 by executing a program stored in the memory 720 on the electronic device 700. The processor 710 can be implemented by a central processing unit (CPU), a graphics processing unit (GPU), an application processor (AP), an artificial intelligence processor chip (IPU), etc. provided in the electronic device 700. However, the present application is not limited thereto.

[0113] In some embodiments, processor 710 may include an input / output (I / O) unit 711 and a computing unit 712. I / O unit 711 may be configured to receive various data. Computing unit 712 may be configured to execute the steps of the data federation query method. The resulting number of target data nodes may be output by I / O unit 711, for example. The output data may be provided to memory 720 for reading and use by other devices (not shown), or may be directly provided to other devices for use.

[0114] Memory 720 is hardware for storing various data processed by electronic device 700. For example, memory 720 can store processed data and data to be processed by electronic device 700. Memory 720 can also store data involved in the data federation query method that has been processed or is to be processed by processor 710. Furthermore, memory 720 can store applications, drivers, and the like to be driven by electronic device 700. For example, memory 720 can store various programs related to the data federation query method to be executed by processor 710. Memory 720 can be DRAM, but the present application is not limited thereto. Memory 720 can include at least one of volatile memory and non-volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, phase-change RAM (PRAM), magnetic RAM (MRAM), resistive RAM (RRAM), ferroelectric RAM (FRAM), and the like. The volatile memory may include dynamic RAM (DRAM), static RAM (SRAM), synchronous DRAM (SDRAM), PRAM, MRAM, RRAM, ferroelectric RAM (FeRAM), etc. In an embodiment, the memory 720 may include at least one of a hard disk drive (HDD), a solid-state drive (SSD), a high-density flash memory (CF), a secure digital (SD) card, a micro secure digital (Micro-SD) card, a mini secure digital (Mini-SD) card, an extreme digital (xD) card, caches, or a memory stick.

[0115] In summary, the specific functions implemented by the memory 720 and processor 710 of the electronic device 700 provided in the embodiments of this specification can be interpreted in comparison with the aforementioned embodiments in this specification, and can achieve the technical effects of the aforementioned embodiments, so they will not be repeated here.

[0116] In this embodiment, the processor 710 may be implemented in any suitable manner. For example, the processor 710 may take the form of a microprocessor or a processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro)processor, logic gates, switches, an application-specific integrated circuit (ASIC), a programmable logic controller, an embedded microcontroller, and the like.

[0117] It should be understood that the terms "first" or "second", etc. in the claims, specification, and drawings of the present disclosure can be used to distinguish different objects, and are not intended to describe a particular order. The terms "include" and "contain" used in the specification and claims of the present disclosure indicate the presence of the described features, whole, steps, operations, elements and / or components, but do not exclude the presence or addition of one or more other features, whole, steps, operations, elements, components and / or sets thereof.

[0118] It should also be understood that the terms used in the specification of the present disclosure are only for the purpose of describing specific embodiments, and are not intended to limit the present disclosure. As used in the specification and claims of the present disclosure, unless otherwise clear from the context, the singular forms "a", "an" and "the" are intended to include the plural forms. It should be further understood that the term "and / or" used in the specification and claims of the present disclosure means one or more of the associated listed terms in any combination and all possible combinations, and includes these combinations.

[0119] It should also be understood that any module, unit, component, server, computer, terminal or device exemplifying the execution instructions herein can include or otherwise access a computer readable medium, such as a storage medium, a computer storage medium or a data storage device (removable and / or non-removable), for example, a magnetic disk, an optical disk or a magnetic tape. Computer storage media can include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information, such as computer readable instructions, data structures, program modules or other data.

[0120] Although the embodiments of the present application are as described above, the above is only an example adopted for the purpose of facilitating understanding of the present application, and is not intended to limit the scope and application of the present application. Any person skilled in the art of the present application can make any modification and change in the form and details without departing from the spirit and scope of the present application, but the patent protection scope of the present application shall be subject to the scope defined by the appended claims.

Claims

1. A data joint query method, characterized in that: include: Initiate a pre-processing interaction event to the data provider, wherein the pre-processing interaction event is used to determine the data intersection and the first determination distance; The data intersection is the intersection of data nodes between the local first data graph and the second data graph of the data provider; the first determination distance is the shortest distance between each data node in the first data graph and each data node in the data intersection; Creating a first initial array based on the data intersection; Initiate a joint summation interaction event to the data provider, wherein the joint summation interaction event is used to determine the number of target data nodes based on the target query node, the preset neighborhood parameter, the data node label, the data intersection, the first initial array, the first determination distance, and the second initial array and the second determination distance provided by the data provider; the second determination distance is the shortest distance between each data node in the second data graph and each data node in the data intersection; The joint sum interaction event includes an array update interaction event and a query sum interaction event; wherein the array update interaction event includes: updating the first initial array based on the target query node, the preset neighborhood parameter, the first determination distance, the data intersection, and each data node in the first data graph to obtain a first updated array and sending the first updated array to the data provider; Receive a second updated array fed back by the data provider based on the first updated array, the second determined distance, and the second initial array; Resetting each array element in the first update array to zero to obtain a first reset array; Determine a first target node based on the second update array, the first determination distance, and each data node of the first data graph and update the first reset array to obtain a target determination array; Determine whether to initiate execution of the query and sum interaction event to the data provider based on the target determination array; The query and sum interaction events include: Determine the number of first risk nodes in the first data graph according to the target node set and the first target node; wherein the target node set is a set of data nodes in the first data graph whose shortest distance to the target query node is less than or equal to the preset neighborhood parameter; Sending a risk node quantity query request to the data provider; Receive the number of second risk nodes fed back by the data provider; Determine the target data node number according to the first risk node number and the second risk node number; Determine whether the target query node has a risk based on the number of the target data nodes.

2. The data joint query method according to claim 1, characterized in that: The updating of the first initial array based on the target query node, the preset neighborhood parameter, the first determination distance, the data intersection, and each data node in the first data graph includes: Determining the target node set based on the target query node, the preset neighborhood parameter, and each data node in the first data graph; Each array element in the first initial array is updated based on the target query node, the preset neighborhood parameter, the first determination distance, the target node set, and the data intersection, wherein each array element in the first initial array is zero.

3. The data joint query method according to claim 2, characterized in that: The updating of each array element in the first initial array based on the target query node, the preset neighborhood parameter, the first determination distance, the target node set, and the data intersection includes: Determining a first target intersection between the target node set and the data intersection; Subtracting the first determination distance between each data node in the first target intersection and the target query node from the preset neighborhood parameter to obtain each first determination parameter corresponding to each data node in the first target intersection; If the current first determination parameter is greater than the array element corresponding to the current data node in the first target intersection, then updating the array element corresponding to the current data node in the first target intersection to the current first determination parameter; If the current first judgment parameter is less than or equal to the array element corresponding to the current data node in the first target intersection, the array element corresponding to the current data node in the first target intersection is retained until all data nodes in the first target intersection are judged, and then the update is stopped.

4. The data joint query method according to claim 1, characterized in that: The step of determining a first target node based on the second update array, the first determination distance, and each data node of the first data graph and updating the first reset array, wherein the step of determining the first target node comprises: Determine whether all array elements in the second update array are zero, and if so, initiate the query and sum interaction event to the data provider; If not, then if the first determination distance between the current first data node to be determined in the first data graph and the current data node in the data intersection is less than or equal to the array element corresponding to the current data node in the data intersection in the second update array, and the array element corresponding to the current data node in the data intersection in the second update array is greater than zero, then the current first data node to be determined is determined to be the first target node; Until each data node in the first data graph is determined.

5. The data joint query method according to claim 1, characterized in that: The step of determining the first target node based on the second update array, the first determination distance, and each data node of the first data graph and updating the first reset array, wherein the step of updating the first reset array comprises: determining a first difference result based on the second update array, the first determination distance, and each data node of the first data graph; If the first difference result is greater than the array element currently to be updated in the first reset array, updating the array element currently to be updated in the first reset array to the first difference result; If the first difference result is less than or equal to the array element currently to be updated in the first reset array, maintaining the array element currently to be updated in the first reset array; The array element to be updated in the first reset array is an array element in the first reset array corresponding to the data node in the data intersection that corresponds to the second array element in the second update array; The updating is stopped until all data nodes in the first data graph are determined to be complete.

6. The data joint query method according to claim 5, characterized in that: Determining a first difference result based on the second update array, the first determination distance, and each data node of the first data graph includes: subtracting a first determination distance between any data node in the first data graph and a data node corresponding to the first array element in the data intersection from a first array element in the second update array to obtain a first intermediate difference; The first intermediate difference is subtracted from the first determined distance between the current data node in the first data graph and the data node in the data intersection corresponding to the second array element in the second update array to obtain the first difference result.

7. The data joint query method according to claim 1, characterized in that: The determining whether to initiate execution of the query and sum interaction event to the data provider based on the target determination array includes: If the target determination array includes an array element greater than zero, determining the first updated array as the target determination array, and executing the steps of sending the first updated array to the data provider to determining the first target node based on the second updated array, the first determination distance, and each data node of the first data graph and updating the first reset array to obtain an updated target determination array; Until all array elements in the target determination array are zero, the query and sum interaction event is initiated to the data provider.

8. The data joint query method according to claim 1, characterized in that: include: Responding to and executing a pre-processing interaction event initiated by a data query party, wherein the pre-processing interaction event is used to determine a data intersection and a second determination distance; The data intersection is the intersection between the first data graph of the data query party and the local second data graph; the second determination distance is the shortest distance between each data node in the second data graph and each data node in the data intersection; creating a second initial array based on the data intersection; Respond to and execute a joint summation interaction event, so as to receive a first update array sent by the data query party and feed back a second update array to the data query party based on the first update array and the second initial array.

9. The data joint query method according to claim 8, characterized in that: The joint sum interaction event includes an array update interaction event, and the array update interaction event includes: Setting each array element in the second initial array to zero to obtain a second reset array; determining a second target node based on the first update array, the second determination distance, and each data node of the second data graph, and determining a second number of risk nodes based on the second target node; and The second reset array is updated based on the first update array, the second determination distance, and each data node of the second data graph to obtain a second update array.

10. The data joint query method according to claim 9, characterized in that: The determining of the second target node based on the first update array, the second determination distance, and each data node of the second data graph includes: If the second determination distance between the current second data node to be determined in the second data graph and the current data node in the data intersection is less than or equal to the array element corresponding to the current data node in the data intersection in the first update array, and the array element corresponding to the current data node in the data intersection in the first update array is greater than zero, then the current second data node to be determined is determined to be the second target node; Until each data node in the second data graph is determined.

11. The data joint query method according to claim 9, characterized in that: Updating the second reset array based on the first update array, the second determination distance, and each data node of the second data graph includes: determining a second difference result based on the first update array, the second determination distance, and each data node of the second data graph; If the second difference result is greater than the array element currently to be updated in the second reset array, updating the array element currently to be updated in the second reset array to the second difference result; If the second difference result is less than or equal to the array element currently to be updated in the second reset array, maintaining the array element currently to be updated in the second reset array; The array element currently to be updated in the second reset array is the array element in the second reset array corresponding to the data node in the data intersection corresponding to the fourth array element in the first update array; The updating is stopped until all data nodes in the second data graph are determined to be complete.

12. The data joint query method according to claim 11, characterized in that: Determining a second difference result based on the first update array, the second determination distance, and each data node of the second data graph includes: Subtracting a second determination distance between any data node in the second data graph and a data node corresponding to the third array element in the data intersection from the third array element in the first update array to obtain a second intermediate difference; The second intermediate difference is subtracted from the second determined distance between the current data node in the second data graph and the data node in the data intersection corresponding to the fourth array element in the first update array to obtain the second difference result.

13. An electronic device comprising a processor and a memory storing a computer program, characterized in that: When the processor executes the computer program, the processor implements the steps of the data joint query method according to any one of claims 1 to 7, or implements the steps of the data joint query method according to any one of claims 8 to 12.

14. A non-transitory machine-readable storage medium having executable code stored thereon, which, when executed by a processor of an electronic device, implements the steps of the data joint query method described in any one of claims 1 to 7, or implements the steps of the data joint query method described in any one of claims 8 to 12.

Citation Information

Patent Citations

  • Multi-party joint data processing method and device using trusted third party

    CN112800479A

  • Graph query method and system based on multi-party security and related device

    CN115033599A