Data query method and device, equipment and storage medium

By employing an ordered circular propagation link and a bidirectional propagation mechanism in the Anonymous Alliance, the problem of repeated generation of zeros and random numbers in batch data queries was solved, enabling efficient parallel queries, improving query efficiency, and ensuring privacy.

CN120950677APending Publication Date: 2025-11-14CHINA UNIONPAY
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202511179069.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-08-21
Publication Date
2025-11-14

AI Technical Summary

Technical Problem

When performing batch data queries in the Anonymous Alliance, the privacy protection mechanisms of zero and random numbers in existing technologies lead to repeated generation, resulting in frequent data interactions and low query efficiency.

Method used

By adopting an ordered circular propagation link and a bidirectional propagation mechanism, after generating a zero-sum random number, the query results are propagated from the two local query results of the initial queried party from the two propagation directions of the circular propagation link, until the queried party stops after superimposing its own results, thus achieving full parallel query.

Benefits of technology

It effectively reduces the frequency of cross-institutional data interaction, improves the efficiency of batch queries, and achieves efficient batch data queries while ensuring privacy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120950677A_ABST
    Figure CN120950677A_ABST
Patent Text Reader

Abstract

The invention discloses a data query method and device, equipment and a storage medium, and relates to the technical field of computers. The method comprises the steps that zero and random numbers are generated once according to N queried parties in the hidden tracing alliance, full-amount parallel query is conducted on a query data set in batches, query results of all the queried parties are obtained, the number of times of generation of the zero and the random numbers is reduced, the frequency of data interaction between the queried parties in the hidden tracing alliance is reduced, the data query efficiency is improved, and the query efficiency is improved. And query result propagation is initiated from the two propagation directions of the annular propagation link through the two local query results of the initial queried party, so that the query results of the queried parties in the annular propagation link are confused, and the privacy can be ensured while the efficient batch data query effect is realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of computer technology, and in particular relates to a data query method, apparatus, device and storage medium. Background Technology

[0002] Anonymous querying refers to a privacy-preserving computing technology that obtains matching results from the queried party without exposing the original search criteria of the querying party. A typical application scenario for anonymous queries is blacklist sharing, where multiple organizations with blacklists form an anonymity alliance to provide a unified blacklist anonymous query service and output statistical blacklist hit data.

[0003] In related technologies, a privacy protection mechanism using zero-sum random numbers can be employed when querying data through an anonymous consortium. To obfuscate the original hits and corresponding random data from member organizations' queries and ensure privacy, this mechanism generates zero-sum random numbers sequentially during batch queries. This involves repeatedly generating zero-sum random numbers, leading to frequent data interactions between the queried parties within the anonymous consortium and extending batch query response time, resulting in low data query efficiency. Summary of the Invention

[0004] This application provides a data query method, apparatus, device, and storage medium that can improve data query efficiency.

[0005] In a first aspect, embodiments of this application provide a data query method applied to the Anonymous Alliance, which may include:

[0006] Upon receiving the dataset to be queried corresponding to the querying party from the coordinator, the query results of each querying party are generated based on the zero-sum random numbers generated by the N querying parties in the stealth alliance and the query hit results determined by each of the N querying parties corresponding to the dataset to be queried. The N querying parties form an ordered circular propagation link, and any querying party in the circular propagation link is used as the starting querying party.

[0007] The two local query results of the initial queried party are propagated from the two propagation directions of the circular propagation link. The queried party in each propagation direction superimposes its own query result on the local query result and then propagates it to the next queried party. The propagation of query results stops when the queried party superimposes its own query result. The two local query results are determined by the query result of the initial queried party. The two queried parties are two adjacent parties in the circular propagation link.

[0008] Send the superimposed query results, which are terminated in the circular propagation link, to the coordinator.

[0009] Secondly, embodiments of this application provide a data query method applied to a coordinating party, which may include:

[0010] Receive anonymous query requests sent by the querying party;

[0011] Obfuscate the original data to be queried in the stealth query request to obtain the dataset to be queried, and send the dataset to be queried to N parties in the stealth alliance so that the stealth alliance can perform the data query method as shown in the first aspect;

[0012] If the superimposed query result sent by the queried party is terminated in the ring propagation link, the target query result of the queried party is determined based on the superimposed query result.

[0013] Send the target query results to the querying party.

[0014] Thirdly, embodiments of this application provide a data query method applied to the initial queried party, which may include:

[0015] Upon receiving the dataset to be queried corresponding to the querying party from the coordinator, the query result of the initial querying party is generated based on the zero-sum random numbers generated by the N querying parties in the stealth alliance and the query hit results corresponding to the dataset to be queried determined by the initial querying party. The N querying parties form an ordered circular propagation link, and any querying party in the circular propagation link is used as the initial querying party. The query result of the initial querying party includes two local query results, which are determined by randomly splitting the query result of the initial querying party.

[0016] The two local query results of the initial queried party are propagated from the two propagation directions of the ring propagation link. In each of the two propagation directions, the queried party superimposes its own query result on the local query result and then propagates it to the next queried party. The propagation of the query result stops when the queried party superimposes its own query result. The queried party that terminates is used to send the superimposed query result output by the queried party in the ring propagation link to the coordinator. The two queried parties that terminate are two adjacent parties in the ring propagation link.

[0017] Fourthly, embodiments of this application provide a data query system, including a querying party, a coordinating party, and an anonymity alliance; wherein,

[0018] The querying party is responsible for sending an anonymous query request to the coordinating party.

[0019] The coordinator is used to execute the data query method as shown in the second aspect;

[0020] The Anonymous Alliance is used to perform data query methods as described in the first aspect.

[0021] Fifthly, embodiments of this application provide a data query device applied to the Anonymous Alliance, which may include:

[0022] The generation module is used to generate query results for each queried party when it receives the dataset to be queried corresponding to the queried party sent by the coordinator. The query results are generated based on the zero-sum random numbers generated by the N queried parties in the stealth alliance and the query hit results determined by each of the N queried parties corresponding to the dataset to be queried. The N queried parties form an ordered circular propagation link, and any queried party in the circular propagation link is used as the starting queried party.

[0023] The propagation module is used to propagate the two local query results of the initial queried party from the two propagation directions of the circular propagation link. In each propagation direction, the queried party superimposes its own query result on the local query result and then propagates it to the next queried party. The propagation of query results stops when the queried party superimposes its own query result. The two local query results are determined by the query result of the initial queried party, and the two queried parties are two adjacent parties in the circular propagation link.

[0024] The sending module is used to send the superimposed query results output by the queried party that are terminated in the ring propagation link to the coordinator.

[0025] Sixthly, embodiments of this application provide a data query device applied to a coordinating party, the device including:

[0026] The receiving module is used to receive anonymous query requests sent by the querying party;

[0027] The obfuscation module is used to obfuscate the original data to be queried in the stealth query request, obtain the dataset to be queried, and send the dataset to be queried to N parties in the stealth alliance so that the stealth alliance can execute the data query method as shown in the first aspect.

[0028] The determination module is used to determine the target query result of the querying party based on the superimposed query result when the superimposed query result sent by the queried party is terminated in the ring propagation link.

[0029] The sending module is used to send the target query results to the querying party.

[0030] In a seventh aspect, embodiments of this application provide a computer device, the computer device including: a processor and a memory storing computer program instructions;

[0031] When the processor executes computer program instructions, it implements the data query method as shown in the first aspect, or the data query method as shown in the second aspect, or the data query method as shown in the third aspect.

[0032] Eighthly, embodiments of this application provide a computer storage medium storing computer program instructions. When the computer program instructions are executed by a processor, they implement the data query method as shown in the first aspect, or the data query method as shown in the second aspect, or the data query method as shown in the third aspect.

[0033] Ninthly, embodiments of this application provide a chip, which includes a processor and a communication interface. The communication interface and the processor are coupled. The processor is used to run programs or instructions to implement the data query method as shown in the first aspect, or the data query method as shown in the second aspect, or the data query method as shown in the third aspect.

[0034] In a tenth aspect, embodiments of this application provide a computer program product stored in a storage medium, which is executed by at least one processor to implement the data query method as shown in the first aspect, or the data query method as shown in the second aspect, or the data query method as shown in the third aspect.

[0035] The data query method, apparatus, device, and storage medium of this application embodiment can, upon receiving a dataset to be queried corresponding to the querying party sent by the coordinator, generate query results for each queried party based on zero-sum random numbers generated by N queried parties in the Anonymous Alliance and query hit results determined by each of the N queried parties corresponding to the dataset to be queried. The N queried parties form an ordered circular propagation link, with any queried party in the circular propagation link serving as the starting queried party. The two local query results of the starting queried party are propagated from two propagation directions of the circular propagation link, and the queried party in each propagation direction superimposes its own query result on the local query result before propagating to the next queried party, until the terminating queried party superimposes its own query result and stops the propagation of query results. The two local query results are determined by the query result of the starting queried party, and the two terminating queried parties are two adjacent parties in the circular propagation link. The superimposed query result output by the terminating queried party in the circular propagation link is sent to the coordinator. In this way, zero-sum random numbers can be generated once for each of the N queried parties in the stealth alliance, and the entire query dataset can be queried in parallel in batches to obtain the query results of each queried party. This reduces the number of times zero-sum random numbers are generated, lowers the frequency of data interaction between the queried parties in the stealth alliance, and improves the efficiency of data query. Furthermore, by using the two local query results of the initial queried party to initiate the propagation of query results from two directions of the circular propagation link, the query results of each queried party in the circular propagation link are obfuscated. This achieves efficient batch data query while ensuring privacy. Attached Figure Description

[0036] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments of this application will be briefly introduced below. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0037] Figure 1 This is a schematic diagram of a data query system according to an embodiment of the data query method provided in this application;

[0038] Figure 2 This is a flowchart of a data query method according to an embodiment of the data query method provided in this application;

[0039] Figure 3 This is a flowchart of a data query method according to an embodiment of the data query method provided in this application;

[0040] Figure 4 This is a flowchart illustrating the interaction of a data query system according to an embodiment of the data query method provided in this application;

[0041] Figure 5 This is a schematic diagram of the structure of a data query device provided in one embodiment of this application;

[0042] Figure 6 This is a schematic diagram of the structure of a data query device provided in one embodiment of this application;

[0043] Figure 7 This is a schematic diagram of the structure of a data query device provided in one embodiment of this application. Detailed Implementation

[0044] The features and exemplary embodiments of various aspects of this application will be described in detail below. To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain this application and not to limit it. For those skilled in the art, this application can be implemented without some of these specific details. The following description of the embodiments is merely to provide a better understanding of this application by illustrating examples.

[0045] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising..." does not exclude the presence of additional identical elements in the process, method, article, or apparatus that includes the element.

[0046] The acquisition, storage, use, and processing of data (including but not limited to features and information mentioned in this document) in the technical solution of this application all comply with the relevant provisions of national laws and regulations.

[0047] In related technologies, when querying data through an anonymous consortium, a privacy protection mechanism using zero-sum random numbers can be employed. For example, for a query request containing a single row of data, the parties in the anonymous consortium generate zero-sum random numbers using a zero-sum random algorithm. The result of adding the hit rate (e.g., 1 for a hit, 0 for a miss) to the random numbers is then fed back to the coordinator. The coordinator summarizes and sums the results to obtain the query result. When querying a new row of data, to prevent the coordinator from deducing the original hit rate and corresponding random numbers of a member institution based on its historical hit rate feedback—that is, to obfuscate the original hit rate and corresponding random data of the member institution's query to ensure privacy—the parties in the anonymous consortium need to regenerate zero-sum random numbers to participate in querying the results of the new query request.

[0048] However, each party being queried performs a zero-sum random number generation process for each query request. In reality, zero-sum random numbers are generated sequentially, which means that there is a process of repeatedly generating zero-sum random numbers. Thus, in batch query scenarios, the parties being queried in the Anonymous Alliance need to regenerate zero-sum random numbers. This process not only makes data interaction between the parties being queried in the Anonymous Alliance frequent, but also prolongs the batch query feedback time, resulting in low data query efficiency.

[0049] To address this pain point and improve data query efficiency in batch query scenarios, this application provides a data query method, apparatus, device, and storage medium, namely a batch query scheme based on two-level fixed and random and bidirectional propagation stealth alliance. This scheme can effectively solve the problem of difficult batch query in traditional stealth alliance schemes, upgrade the traditional sequential query method to a full parallel query method, effectively reduce the frequency of cross-organizational data interaction, and improve batch query efficiency.

[0050] The following will be combined with the appendix Figures 1 to 7 This application describes in detail the data query methods, apparatus, computer devices, and storage media of the embodiments thereof. It should be noted that these embodiments are not intended to limit the scope of this application.

[0051] First, the data query system of the data query method provided in the embodiments of this application will be described.

[0052] like Figure 1 As shown, the data query system includes a querying party 101, a coordinating party 102, and an anonymity alliance 103. The anonymity alliance 103 may include N queryees, where N is an integer greater than 2.

[0053] Specifically, coordinator 102 established a communication connection between queryer 101 and the Anonymous Alliance 103.

[0054] In the Anonymous Alliance 103, the N queried parties can form an ordered circular propagation link. Any queried party in the circular propagation link is the starting queried party, and the two ending queried parties corresponding to the starting queried party are adjacent queried parties. The starting queried party and the two ending queried parties are different queried parties. For example, as shown in Figure 1, taking N as 4, that is, four queried parties A, B, C, and D forming the Anonymous Alliance, the four queried parties are arranged into a circular structure in the order ABCDA, and queried party A is set as the starting queried party, and the two adjacent queried parties B and C are the two ending queried parties.

[0055] The following sections will provide a detailed explanation of each module in its data query system.

[0056] Query party 101 is used to anonymize the original data to be queried using the same anonymization algorithm as the Anonymity Consortium, and sends an anonymity query request to coordinator 102. This anonymity query request can carry the anonymized original data to be queried. Coordinator 102 is used to obfuscate the original data to be queried in the anonymity query request to obtain the dataset to be queried, and sends the dataset to be queried to N queried parties in the Anonymity Consortium 103. Coordinator 102 is also used to receive the superimposed query results output by the queried parties in the ring propagation link sent by the Anonymity Consortium 103, and determine the target query result of the query party based on the superimposed query results, thereby sending the target query result to query party 101.

[0057] The Anonymous Alliance 103 is used to generate a zero-sum random number once, and to generate query hit results corresponding to the dataset to be queried by each queried party. It generates query results for each queried party, and initiates query result propagation from the two local query results of the initial queried party from the two propagation directions of the circular propagation link. In each propagation direction, the queried party superimposes its own query result on the local query result and propagates it to the next queried party, until the queried party stops superimposing its own query result and stops the query result propagation. It then sends the superimposed query result output by the queried party in the circular propagation link to the coordinator.

[0058] Furthermore, any queried party in the Anonymous Consortium 103 can serve as the initial queried party. The initial queried party, upon receiving the dataset to be queried corresponding to the queried party from the coordinator, generates its query result based on the zero-sum random numbers generated by the N queried parties in the Anonymous Consortium and the query hit result determined by the initial queried party corresponding to the dataset to be queried. The N queried parties form an ordered circular propagation link, with any queried party in the circular propagation link serving as the initial queried party. The query result of the initial queried party includes two local query results. The result is determined by randomly splitting the query result of the initial queried party; the two local query results of the initial queried party are propagated from the two propagation directions of the ring propagation link, so that the queried party in each of the two propagation directions superimposes its own query result on the local query result and then propagates it to the next queried party, until the queried party stops superimposing its own query result and stops the propagation of the query result. The queried party is used to send the superimposed query result output by the queried party in the ring propagation link to the coordinator. The two queried parties are two adjacent parties in the ring propagation link.

[0059] And, for either of the two terminating query parties, for example... Figure 1 For the queried party B or queried party C shown, it can be used to receive the query result sent by the previous queried party that has a connection with the terminating queried party in one of the two propagation directions. The query result includes any partial query result of the starting queried party and the superimposed result of the partial results of any number of queried parties in that propagation direction starting from the starting queried party. The number of queried parties in that propagation direction may not currently include the starting queried party and the terminating queried party. After superimposing its own query result on the query result, it stops the propagation of the query result and sends the superimposed query result output by the terminating queried party in the ring propagation link to the coordinator.

[0060] Furthermore, for any number of queried parties in the propagation direction (currently excluding the starting and ending queried parties), this can be used to receive the query result sent by the previous queried party connected to the queried party in that propagation direction. This query result includes any partial query result from the starting queried party or a superposition of any partial query result from the starting queried party and partial results from any number of queried parties in that propagation direction starting from the starting queried party. Wherein, if the query result only includes any partial query result from the starting queried party, it can indicate that the queried party is the next queried party connected to the starting queried party in that propagation direction, for example... Figure 1The query targets B and D are shown. If the query result includes both the partial query result of the starting query target and the superposition of the partial results of any number of query targets along the propagation direction starting from the starting query target, then the query target can be represented as an intermediate query target that is not connected to the starting query target along the propagation direction, for example... Figure 1 The queried party C is shown. It can also be used to superimpose its own query result onto the query result and then send the superimposed query result to the next queried party connected to it in the propagation direction.

[0061] Therefore, for batch anonymity query scenarios, the previous sequential query method has been adjusted to a full parallel query method. This effectively reduces the frequency of cross-organizational data interaction and improves batch query efficiency. By initiating query result propagation from two local query results of the initial query target in two directions of the circular propagation link, the query results of each query target in the circular propagation link are obfuscated. This achieves efficient batch data query results while ensuring privacy. Moreover, it is compatible with the traditional anonymity alliance organizational structure, requires minimal system modification, and has a wide range of applications.

[0062] It should be noted that the data query system provided in this application embodiment can be applied to at least one of the following application scenarios. Privacy computing, as a key technology for data element circulation, can be applied in the financial field, as well as in application scenarios where financial institutions, internet systems, and privacy computing technology systems engage in anonymous alliance-like collaborations.

[0063] Based on the aforementioned data query system, the following section combines... Figure 2 The data query method provided in the embodiments of this application will be described in detail.

[0064] Figure 2 This is a flowchart of a data query method provided in an embodiment of this application.

[0065] like Figure 2 As shown, this data query method can be applied to, for example... Figure 1 The stealth alliance shown here has a data query method that may specifically include the following steps:

[0066] Step 210: Upon receiving the dataset to be queried corresponding to the querying party from the coordinator, generate query results for each querying party based on the zero-sum random numbers generated by the N querying parties in the Anonymous Alliance and the query hit results determined by each of the N querying parties corresponding to the dataset to be queried. The N querying parties form an ordered circular propagation link, with any querying party in the circular propagation link serving as the starting querying party, and N being an integer greater than 2. Step 220: Propagate the two local query results of the starting querying party from the two propagation directions of the circular propagation link. In each propagation direction, the querying party superimposes its own query result on the local query result and propagates it to the next querying party until the terminating querying party superimposes its own query result and stops the propagation of the query result. The two local query results are determined by the query result of the starting querying party, and the two terminating querying parties are two adjacent parties in the circular propagation link. Step 230: Send the superimposed query result output by the terminating querying party in the circular propagation link to the coordinator.

[0067] In this way, zero-sum random numbers (level 1) can be generated once for each of the N queried parties in the stealth alliance, and the entire query dataset can be queried in parallel in batches to obtain the query results for each queried party. This reduces the number of times zero-sum random numbers are generated, lowers the frequency of data interaction between the queried parties in the stealth alliance, and improves the efficiency of data query. Furthermore, by using the two local query results of the initial queried party to initiate the propagation of query results from two directions of the circular propagation link, the query results of each queried party in the circular propagation link are obfuscated. This achieves efficient batch data query while also ensuring privacy.

[0068] The steps described above are explained in detail below.

[0069] First, regarding step 210, the dataset to be queried in this embodiment is a full dataset, which includes the original data to be queried that the querying party wants to query and multiple obfuscated data to be queried by the coordinator to obfuscate the original data to be queried in order not to expose the original search conditions and original query data of the querying party.

[0070] In one or more possible embodiments, step 210 may specifically include:

[0071] Upon receiving the dataset to be queried from the coordinator corresponding to the querying party, N querying parties are triggered to determine the zero-sum random number of each querying party through a zero-sum random algorithm, wherein the sum of the zero-sum random numbers of each of the N querying parties is zero.

[0072] Add a zero-sum random number for each query subject to the query results of each query requirement in the query dataset of each query subject to obtain the query results of each query subject for the query dataset.

[0073] Based on this, you can refer to Figure 1 Taking N=4 as an example, if there are 4 parties being queried, the query result for party A can be recorded as X. A The query result of the queried party B is denoted as X. B The query result of the queried party C is denoted as X. C The query result for the queried party D is X. D The query hit result can represent the hit status of the query requirement; that is, the value of a row is 1 when the ID of a row is matched, and 0 when it is not matched. Additionally, the sum of the zero-sum random numbers of the four query parties must be zero; that is, the zero-sum random number of query party A is denoted as r. A The zero-sum random number of the queried party B is r. B The zero-sum random number of the queried party C is denoted as r. C The zero-sum random number of the queried party D is denoted as r. D So, r A +r B +r C +r D =0.

[0074] Based on this, taking the queried party A as an example, the query result for queried party A is R. A =X A +r A X A +r A This means adding r to each row of the matrix. A This can also be understood as adding 'r' to the query results for each row. A Among them, R A X A Both are matrices. Similarly, R B =X B +r B R C =X C +r C R D =X D +r D .

[0075] Secondly, before executing step 220, the data query method may also include a process of splitting the query results of the queried party. Based on this, the data query method may also include:

[0076] The data in each row of the query result of the initial query target is randomly split to obtain two partial query results of the initial query target. The sum of the data in the two partial query results is the value of the data in each row.

[0077] In this way, the initial querying party performs a second-level fixed-sum random number generation on the query results. That is, for each row in the query results, two local query results are generated, similar to two fixed-sum random numbers. The sum of these two fixed-sum random numbers is the value of that row. Similarly, the sum of the values ​​in the two local query results is the value of each row's data, thus randomly splitting the initial query results into two parts. Continuing with the above... Figure 1 The example shown uses A as the starting query target and R as the query target. A1 and R A2 R represents the two partial query results obtained by randomly splitting the query result of the queried party A. A1 +R A2 =R A .

[0078] Based on this, step 220 is involved. In this embodiment of the application, the two propagation directions are opposite directions, including a first propagation direction and a second propagation direction. The number of terminating queried parties corresponds to the number of propagation directions. Terminating queried parties include a first terminating queried party and a second terminating queried party. The first terminating queried party is the queried party corresponding to the starting queried party in the first propagation direction, and the second terminating queried party is the queried party corresponding to the starting queried party in the second propagation direction. The first terminating queried party and the second terminating queried party are two adjacent queried parties in the ring propagation link.

[0079] In one or more possible embodiments, where the propagation direction is a first propagation direction, the two local query results include the first local query result, and the queried party in the first propagation direction includes a first queried party and a second queried party arranged sequentially, and the second queried party is the terminating queried party, the steps described above, where the queried party in each propagation direction superimposes its own query result on the local query result and then propagates to the next queried party, until the terminating queried party superimposes its own query result and then stops propagating the query result, may specifically include:

[0080] The query results of the first query target are superimposed on the first partial query results to obtain the first superimposed query results, and the first superimposed query results are propagated to the second query target.

[0081] The query result of the second query is superimposed on the first superimposed query result, and the query result propagation stops after obtaining the second superimposed query result.

[0082] Furthermore, when the propagation direction is the second propagation direction, the two local query results include the second local query result, the queried party in the second propagation direction includes the third queried party, and the third queried party is the terminating queried party, the query result of the third queried party is superimposed on the second local superimposed query result, and the propagation of the query result stops after obtaining the third superimposed query result.

[0083] For example, the initial queried party initiates result propagation of two partial query results from two different propagation directions. All queried parties in the circular propagation chain superimpose their own query results before continuing propagation to the next queried party, until the terminating queried party superimposes its own query results, at which point propagation stops. (See reference) Figure 1 The second propagation direction is the forward propagation direction. The queried party in the forward propagation direction includes a third queried party, such as queried party B. That is, the forward propagation path is from A to B, and the second local query result can be R. A1 Therefore, the third superimposed query result output by the queried party B is terminated, which is R1 = R. A1 +R B The first propagation direction is the reverse propagation direction. The query targets in the reverse propagation direction include the first query target (e.g., query target D) and the second query target (e.g., query target C). That is, the reverse propagation path is from A to D and then to C. The first local query result can be R. A2 Therefore, the first superimposed query result output by the queried party D is R. A2 +R D The second superimposed query result output by the queried party C is R2 = R. A2 +R C +R D .

[0084] Thus, in the two propagation directions, including at least one of the following: a first propagation direction and a second propagation direction, before executing step 230, the data query method may further include a step of terminating the superimposed query results output by the queried party in the circular propagation link. Based on this, the data query method may further include:

[0085] The second superimposed query result obtained in the first propagation direction is determined as the superimposed query result output by the queried party terminating in the circular propagation link. For example, the second superimposed query result R2 = R A2 +R C +R D The result is determined to be the superimposed query result output by the queried party in the circular propagation link.

[0086] Alternatively, the third superimposed query result obtained in the second propagation direction can be determined as the superimposed query result output by the queried party terminating in the circular propagation link. For example, the third superimposed query result is R1 = R A1+R B The result is determined to be the superimposed query result output by the queried party in the circular propagation link.

[0087] Alternatively, the second superimposed query result obtained in the first propagation direction and the third superimposed query result obtained in the second propagation direction can be determined as the superimposed query result output by the queried party terminating in the circular propagation link. For example, the second superimposed query result R2 = R A2 +R C +R D The result of the third overlay query is R1 = R. A1 +R B The result is determined to be the superimposed query result output by the queried party in the circular propagation link.

[0088] Then, regarding step 230, in this embodiment of the application, if the third overlay query result is obtained first, the overlay query result output by the queried party B can be sent to the coordinator to terminate the overlay query result output by the queried party B. Similarly, if the second overlay query result is obtained first, the overlay query result output by the queried party C can be sent to the coordinator to terminate the overlay query result output by the queried party C. Alternatively, if both the second and third overlay query results are obtained, they can be sent to the coordinator together.

[0089] It should be noted that the zero-sum random number in this application embodiment can also be generated by N queried parties in the Anonymity Consortium for the historical dataset to be queried. That is, the zero-sum random number does not need to be regenerated for each query as in the prior art. Therefore, for the blacklist query scenario, it is not necessary to regenerate the zero-sum random number for each query. The zero-sum random number generated by N queried parties in the Anonymity Consortium for the historical dataset to be queried can be used. In order to ensure privacy, it is not necessary to regenerate for each query. In this application embodiment, the query results can be propagated from the two propagation directions of the circular propagation link by the two local query results of the initial queried party, so as to confuse the query results of each queried party in the circular propagation link. While achieving efficient batch data query effect, privacy can also be guaranteed.

[0090] Based on the aforementioned initial query party in the anonymity alliance, this application provides a data query method based on the initial query party. This data query method can be applied to, for example... Figure 1 The initial query target shown in the figure can be specifically included in the following steps:

[0091] Step 21: Upon receiving the dataset to be queried corresponding to the querying party from the coordinator, generate the query result of the initial querying party based on the zero-sum random numbers generated by the N querying parties in the stealth alliance and the query hit results corresponding to the dataset to be queried determined by the initial querying party. The N querying parties form an ordered circular propagation link, and any querying party in the circular propagation link serves as the initial querying party. The query result of the initial querying party includes two local query results, which are determined by randomly splitting the query result of the initial querying party.

[0092] Step 22: The two local query results of the initial queried party are initiated from the two propagation directions of the ring propagation link to propagate the query results. In each of the two propagation directions, the queried party in each propagation direction superimposes its own query result on the local query result and then propagates it to the next queried party. The propagation of the query results stops when the queried party superimposes its own query result. The queried party that terminates is used to send the superimposed query result output by the queried party in the ring propagation link to the coordinator. The two queried parties that terminate are two adjacent parties in the ring propagation link.

[0093] The two partial query results of the initial query target can be determined through the following steps. This data query method may also include:

[0094] The data in each row of the query result of the initial query target is randomly split to obtain two partial query results of the initial query target. The sum of the data in the two partial query results is the value of the data in each row.

[0095] In this way, the initial querying party performs a second-level fixed-sum random number generation on the query results. That is, for each row in the query results, two local query results are generated, similar to two fixed-sum random numbers. The sum of these two fixed-sum random numbers is the value of that row. Similarly, the sum of the values ​​in the two local query results is the value of each row's data, thus randomly splitting the initial query results into two parts. Continuing with the above... Figure 1 The example shown uses A as the starting query target and R as the query target. A1 and R A2 R represents the two partial query results obtained by randomly splitting the query result of the queried party A. A1 +R A2 =R A .

[0096] Based on the aforementioned terminated query party in the anonymity alliance, this application provides a data query method based on the terminated query party. This data query method can be applied to, for example... Figure 1 The method for terminating the query target, as shown, can specifically include the following steps:

[0097] Step 23: Receive the query result sent by the previous queried party that has a connection with the terminating queried party in one of the two propagation directions. The query result includes any partial query result of the starting queried party and the superposition result of the partial results of any number of queried parties in the propagation direction starting from the starting queried party. The number of queried parties in the propagation direction may not currently include the starting queried party and the terminating queried party.

[0098] Step 24: After overlaying its own query result onto the query result, stop the propagation of the query result and send the overlaid query result, which terminates the output of the queried party, to the coordinator in the circular propagation link.

[0099] Based on the aforementioned data query system, the following section combines... Figure 3 The data query method provided in the embodiments of this application will be described in detail.

[0100] Figure 3 This is a flowchart of a data query method provided in an embodiment of this application.

[0101] like Figure 3 As shown, this data query method can be applied to, for example... Figure 1 The coordinating party shown in the figure, the data query method may specifically include the following steps:

[0102] Step 310: Receive the anonymity query request sent by the querying party; Step 320: Obfuscate the original data to be queried in the anonymity query request to obtain the dataset to be queried, and send the dataset to be queried to N parties in the anonymity alliance so that the anonymity alliance can perform the above-described actions. Figure 2 The data query method shown; step 330, in the case of receiving the superimposed query result sent by the queried party in the ring propagation link, determine the target query result of the querying party based on the superimposed query result; step 340, send the target query result to the querying party.

[0103] In this way, zero-sum random numbers can be generated once for each of the N queried parties in the stealth alliance, and the entire query dataset can be queried in parallel in batches to obtain the query results of each queried party. This reduces the number of times zero-sum random numbers are generated, lowers the frequency of data interaction between the queried parties in the stealth alliance, and improves the efficiency of data query. Furthermore, by using the two local query results of the initial queried party to initiate the propagation of query results from two directions of the circular propagation link, the query results of each queried party in the circular propagation link are obfuscated. This achieves efficient batch data query while ensuring privacy.

[0104] The steps described above are explained in detail below.

[0105] First, the original data to be queried in this embodiment is data that has been de-identified using the same de-identification algorithm as the Anonymous Alliance. Based on this, step 320 is involved, which may specifically include:

[0106] By obfuscating the query data using a de-identification algorithm, the original query data in the anonymous query request is obfuscated to obtain the query dataset. The query dataset is the full dataset, which includes the original query data and multiple obfuscated query data. For example, the original query data is denoted as 1, and the obfuscated query data can be 2-100. In this case, the query dataset can include query data 1-100. Thus, the original search conditions of the querying party are not exposed.

[0107] Secondly, regarding step 330, in one or more possible embodiments, the step of determining the target query result of the querying party based on the superimposed query results may specifically include:

[0108] The number of received superimposed query results is verified based on the number of queried parties terminated in the circular propagation link.

[0109] If the number of terminated query targets is the same as the number of superimposed query results, the superimposed query results sent by the terminated query targets are merged to obtain the target query result of the query target.

[0110] For example, if the number of terminated queries is 2, the number of received superimposed query results is also 2, namely the second superimposed query result and the third superimposed query result. In this case, the second superimposed query result and the third superimposed query result can be merged to obtain the target query result, denoted as R = R1 + R2 = R. A1 +R A2 +R B +R C +R D =R A +R B +R C +R D =X A +X B +X C +X D .

[0111] To better illustrate the data query method provided in the embodiments of this application, combined with Figure 4 The data query system in this application provides a detailed description of the data query method.

[0112] based on Figure 1 The data query system shown executes a batch anonymous data query method, which can be as follows: Figure 4As shown, all parties involved in the Anonymity Consortium's queries have pre-processed the ID information of the queried dataset using a unified anonymization method. The specific process is as follows: Figure 4 As shown.

[0113] Step 1: The querying party uses the same desensitization algorithm as the Anonymous Alliance to desensitize the ID information of the original batch query data.

[0114] Step 2: The querying party initiates an anonymous query request to the coordinating party.

[0115] Step 3: Based on the anonymity query request, the coordinator generates a dataset to be queried, which may include a column containing a large number of redundant, anonymized ID data. The coordinator then sends the full dataset to each party in the anonymity alliance to initiate a matching query.

[0116] Step 4: Each party in the Stealth Alliance that is being queried performs the first level of zero-sum random number generation, that is, each party A, B, C, and D that is being queried obtains a zero-sum random number r. A r B r C r D , and r A +r B +r C +r D =0.

[0117] Step 5: Each query subject matches the dataset to be queried against its local dataset, and adds zero and a random number to the matching result to obtain the query result. Taking query subject A as an example, query result R for query subject A... A =X A +r A Similarly, R B =X B +r B R C =X C +r C R D =X D +r D .

[0118] Step 6: The initial query target performs a second-level fixed-sum random number generation on the query results. That is, for each row in the query results, two fixed-sum random numbers are generated, and the sum of these two random numbers equals the value of that row. This randomly splits the initial query result into two partial query results. Taking query target A as the initial query target as an example, using R... A1 and R A2 Let R represent the two partial query results obtained by randomly splitting the query result. A1 +R A2 =RA .

[0119] Step 7: The initial queried party initiates result propagation of the two parts of the query results from two different propagation directions. All queried parties along the propagation path add their own query results before continuing to propagate to the next queried party, until the terminating queried party adds its own query results, at which point propagation stops. The forward propagation path is from A to B; therefore, the aggregated result for the terminating queried party B is R1 = R. A1 +R B The path of reverse propagation is from A to D and then to C, therefore the intermediate summary result propagated by the queried party D is R. A2 +R D The summary result for the queried party C is R2 = R A2 +R C +R D .

[0120] Step 8: Each of the two terminating respondents reports the result to the coordinator. For example, terminating respondent B reports R1 to the coordinator, and terminating respondent C reports R2 to the coordinator.

[0121] Step 9: The coordinating party determines the target query result of the querying party based on the superimposed query results, i.e., R = R1 + R2 = R A1 +R A2 +R B +R C +R D =R A +R B +R C +R D =X A +X B +X C +X D .

[0122] Step 10: The coordinator sends the final result of the anonymous query, i.e., the target query result, to the querying party.

[0123] Based on the same inventive concept, this application also provides a data query device. (Specifically combined with...) Figure 5 Please provide a detailed explanation.

[0124] Figure 5 This is a schematic diagram of the structure of a data query device provided in one embodiment of this application.

[0125] In some embodiments of this application, Figure 5 The data query device shown can be set up in, for example Figure 1 The stealth alliance shown.

[0126] like Figure 5As shown, the data query device 50 may specifically include:

[0127] The generation module 501 is used to generate query results for each queried party based on the zero-sum random numbers generated by N queried parties in the stealth alliance and the query hit results determined by each queried party in the N queried parties corresponding to the query dataset when the coordinator sends the dataset to be queried. The N queried parties form an ordered circular propagation link, and any queried party in the circular propagation link is used as the starting queried party.

[0128] The propagation module 502 is used to propagate the two local query results of the initial queried party from the two propagation directions of the circular propagation link, and to propagate the query results to the next queried party after superimposing its own query results on the local query results of the queried party in each propagation direction, until the queried party stops propagating the query results after superimposing its own query results. The two local query results are determined by the query results of the initial queried party, and the two queried parties are two adjacent parties in the circular propagation link.

[0129] The sending module 503 is used to send the superimposed query results output by the queried party that are terminated in the ring propagation link to the coordinator.

[0130] In this embodiment, the data query device 50 can generate zero-sum random numbers once for each of the N queried parties in the stealth alliance, and perform full parallel queries on the query dataset in batches to obtain the query results of each queried party. This reduces the number of times zero-sum random numbers are generated, lowers the frequency of data interaction between the queried parties in the stealth alliance, and improves the data query efficiency. Furthermore, by initiating the propagation of query results from two local query results of the initial queried party from two propagation directions of the circular propagation link, the query results of each queried party in the circular propagation link are obfuscated. This achieves efficient batch data query while ensuring privacy.

[0131] The data query device 50 in the embodiments of this application will be described in detail below.

[0132] In one or more optional embodiments, N is an integer greater than 2; the data query device 50 in this application embodiment may further include a determining module and an adding module; wherein,

[0133] The determination module is used to trigger N queried parties to determine the zero-sum random number of each queried party by means of a zero-sum random algorithm when the coordinator sends the dataset to be queried corresponding to the queried party. The sum of the zero-sum random numbers of each of the N queried parties is zero.

[0134] Add a module to add a zero-sum random number for each query subject to the query results of each query requirement in the query dataset of each query subject, so as to obtain the query results of each query subject for the dataset.

[0135] In one or more optional embodiments, the generation module is further configured to include a splitting module in the data query device 50 of this application embodiment, which is configured to randomly split the row data of each row in the query result of the initial query party to obtain two partial query results of the initial query party, wherein the sum of the values ​​of the data in the two partial query results is the value of the row data of each row.

[0136] In one or more optional embodiments, the two propagation directions are opposite directions, and the two propagation directions include a first propagation direction and a second propagation direction; the number of terminated query parties corresponds to the number of propagation directions, and the terminated query parties include a first terminated query party and a second terminated query party;

[0137] The first terminating queried party is the queried party corresponding to the starting queried party in the first propagation direction, and the second terminating queried party is the queried party corresponding to the starting queried party in the second propagation direction. The first terminating queried party and the second terminating queried party are two adjacent queried parties in the ring propagation link.

[0138] In one or more optional embodiments, the propagation module can be specifically used to, in the case where the propagation direction is a first propagation direction, the two local query results include the first local query result, the queried party in the first propagation direction includes the first queried party and the second queried party arranged in sequence, and the second queried party is the terminating queried party, superimpose the query result of the first queried party on the first local query result to obtain the first superimposed query result, and propagate the first superimposed query result to the second queried party.

[0139] The query result of the second query is superimposed on the first superimposed query result, and the query result propagation stops after obtaining the second superimposed query result.

[0140] In one or more optional embodiments, the propagation module can be specifically used to propagate in a second propagation direction, with the two local query results including the second local query result, the queried party in the second propagation direction including the third queried party, and if the third queried party is the terminating queried party, to superimpose the query result of the third queried party on the second local superimposed query result, and stop the propagation of the query result after obtaining the third superimposed query result.

[0141] In one or more optional embodiments, the data query device 50 in this application embodiment may further include a determining module, used to determine the second superimposed query result obtained in the first propagation direction as the superimposed query result output by the queried party in the ring propagation link when the two propagation directions include at least one of the following: a first propagation direction and a second propagation direction;

[0142] Alternatively, the third superimposed query result obtained in the second propagation direction can be determined as the superimposed query result output by the queried party in the ring propagation link.

[0143] Alternatively, the second superimposed query result obtained in the first propagation direction and the third superimposed query result obtained in the second propagation direction can be determined as the superimposed query result output by the queried party in the ring propagation link.

[0144] In one or more alternative embodiments, zero and random numbers are generated by N queried parties in the stealth consortium for a historical dataset to be queried.

[0145] Based on the same inventive concept, this application also provides a data query device. (Specifically combined with...) Figure 6 Please provide a detailed explanation.

[0146] Figure 6 This is a schematic diagram of the structure of a data query device provided in one embodiment of this application.

[0147] In some embodiments of this application, Figure 6 The data query device shown can be set up in, for example Figure 1 The stealth alliance shown.

[0148] like Figure 6 As shown, the data query device 60 may specifically include:

[0149] The receiving module 601 is used to receive the anonymous query request sent by the querying party;

[0150] Obfuscation module 602 is used to obfuscate the original data to be queried in the stealth query request, obtain the dataset to be queried, and send the dataset to be queried to N parties in the stealth alliance, so that the stealth alliance can perform actions such as... Figure 2 The data query method shown;

[0151] The determination module 603 is used to determine the target query result of the querying party based on the superimposed query result when the superimposed query result sent by the queried party is terminated in the ring propagation link.

[0152] The sending module 604 is used to send the target query result to the querying party.

[0153] In this embodiment, zero-sum random numbers can be generated once for each of the N queried parties in the stealth alliance, and a full parallel query can be performed on the query dataset in batches to obtain the query results of each queried party. This reduces the number of times zero-sum random numbers are generated, lowers the data interaction frequency between the queried parties in the stealth alliance, and improves the data query efficiency. Furthermore, by using the two local query results of the initial queried party to initiate the propagation of query results from two propagation directions of the circular propagation link, the query results of each queried party in the circular propagation link are obfuscated. This achieves efficient batch data query while ensuring privacy.

[0154] The data query device 60 in the embodiments of this application will be described in detail below.

[0155] In one or more optional embodiments, the determining module 603 may be specifically used to verify the number of received superimposed query results based on the number of queried parties terminated in the ring propagation link.

[0156] If the number of terminated query targets is the same as the number of superimposed query results, the superimposed query results sent by the terminated query targets are merged to obtain the target query result of the query target.

[0157] In one or more optional embodiments, the obfuscation module 602 can be specifically used to obfuscate the original data to be queried in the anonymity query request by obfuscating the original data to be queried in the anonymity query request by using the same desensitization algorithm as the anonymity alliance when the original data to be queried is data that has been desensitized using the same desensitization algorithm as the anonymity alliance, so as to obtain the dataset to be queried. The dataset to be queried is the full dataset, which includes the original data to be queried and multiple obfuscated data to be queried.

[0158] Based on the same inventive concept, this application also provides a computer device. (Specifically combined with...) Figure 7 Please provide a detailed explanation.

[0159] Figure 7 This is a schematic diagram of the structure of a computer device provided in one embodiment of this application.

[0160] like Figure 7 As shown, the computer device may include at least one of the following as described in the embodiments of this application: an electronic device, a server. The computer device may include a processor 701 and a memory 702 storing computer program instructions.

[0161] Specifically, the processor 701 may include a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits that can be configured to implement the embodiments of this application.

[0162] Memory 702 may include mass storage for data or instructions. For example, and not limitingly, memory 702 may include a hard disk drive (HDD), floppy disk drive, flash memory, optical disk, magneto-optical disk, magnetic tape, or Universal Serial Bus (USB) drive, or a combination of two or more of these. Where appropriate, memory 702 may include removable or non-removable (or fixed) media. Where appropriate, memory 702 may be internal or external to the integrated gateway disaster recovery device. In a particular embodiment, memory 702 is non-volatile solid-state memory. In a particular embodiment, memory 702 includes solid-state storage (ROM). Where appropriate, the ROM may be a mask-programmed ROM, a programmable ROM (PROM), an erasable PROM (EPROM), an electrically erasable PROM (EEPROM), an electrically rewritable ROM (EAROM), or flash memory, or a combination of two or more of these.

[0163] The processor 701 implements any of the data query methods described in the above embodiments by reading and executing computer program instructions stored in the memory 702.

[0164] In one example, the computer device may also include a communication interface 703 and a bus 710. Wherein, as... Figure 7 As shown, the processor 701, memory 702, and communication interface 703 are connected through bus 710 and complete communication with each other.

[0165] The communication interface 703 is mainly used to realize communication between various modules, devices, units and / or equipment in the embodiments of this application.

[0166] Bus 710 includes hardware, software, or both, that couples components of a flow control device together. For example, and not limitingly, the bus may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), HyperTransport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an Infinite Bandwidth Interconnect, a Low Pin Count (LPC) bus, a memory bus, a Microchannel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local (VLB) bus, or other suitable buses, or combinations of two or more of these. Where appropriate, bus 710 may include one or more buses. Although specific buses are described and illustrated in embodiments of this application, any suitable bus or interconnect is contemplated herein.

[0167] The computer device can execute the data query method in the embodiments of this application, thereby achieving a combination Figures 1 to 4 The data query method and apparatus described.

[0168] Furthermore, in conjunction with the data query methods in the above embodiments, this application embodiment can provide a computer-readable storage medium for implementation. This computer-readable storage medium stores computer program instructions; when these computer program instructions are executed by a processor, they implement any of the data query methods in the above embodiments.

[0169] It should be clarified that this application is not limited to the specific configurations and processes described above and shown in the figures. For the sake of brevity, detailed descriptions of known methods are omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of this application is not limited to the specific steps described and shown. Those skilled in the art can make various changes, modifications, and additions, or change the order of steps, after understanding the spirit of this application.

[0170] The functional blocks shown in the above block diagram can be implemented as hardware, software, firmware, or a combination thereof. When implemented in hardware, they can be, for example, electronic circuits, application-specific integrated circuits (ASICs), appropriate firmware, plug-ins, function cards, etc. When implemented in software, the elements of this application are programs or code segments used to perform the required tasks. Programs or code segments can be stored on a machine-readable medium or transmitted over a transmission medium or communication link via data signals carried on a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, fiber optic media, radio frequency (RF) links, etc. Code segments can be downloaded via computer networks such as the Internet, intranets, etc.

[0171] It should also be noted that the exemplary embodiments mentioned in this application describe methods or systems based on a series of steps or apparatus. However, this application is not limited to the order of the above steps; that is, the steps can be performed in the order mentioned in the embodiments, or in a different order, or several steps can be performed simultaneously.

[0172] The above are merely specific embodiments of this application. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, modules, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here. It should be understood that the protection scope of this application is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in this application, and these modifications or substitutions should all be covered within the protection scope of this application.

Claims

1. A data query method, characterized in that, include: Upon receiving the dataset to be queried corresponding to the querying party sent by the coordinator, the query results of each querying party are generated based on the zero-sum random numbers generated by the N querying parties in the stealth alliance and the query hit results determined by each of the N querying parties corresponding to the dataset to be queried. The N querying parties form an ordered circular propagation link, and any querying party in the circular propagation link is used as the starting querying party. The two local query results of the initial queried party are propagated from the two propagation directions of the circular propagation link. The queried party in each propagation direction superimposes its own query result on the local query result and then propagates it to the next queried party. The propagation of query results stops when the queried party superimposes its own query result. The two local query results are randomly determined by splitting the query result of the initial queried party. The two queried parties are two adjacent parties in the circular propagation link. Send the superimposed query results output by the queried party in the ring propagation link to the coordinating party.

2. The method according to claim 1, characterized in that, N is an integer greater than 2; upon receiving the dataset to be queried corresponding to the querying party sent by the coordinator, the query results for each querying party are generated based on the zero-sum random numbers generated by the N querying parties in the stealth alliance and the query hit results determined by each of the N querying parties corresponding to the dataset to be queried, including: Upon receiving the dataset to be queried from the coordinator corresponding to the querying party, the N queried parties are triggered to determine the zero-sum random number of each queried party through a zero-sum random algorithm, wherein the sum of the zero-sum random numbers of each of the N queried parties is zero. Add a zero-sum random number of each queried party to the query hit results of each query requirement in the dataset to be queried by each queried party to obtain the query results of each queried party for the dataset to be queried.

3. The method according to claim 1, characterized in that, Before propagating the two local query results of the initial queried party from the two propagation directions of the circular propagation link, the method further includes: The row data of each row in the query result of the initial query target is randomly split to obtain two partial query results of the initial query target. The sum of the values ​​of the data in the two partial query results is the value of the row data of each row.

4. The method according to claim 1, characterized in that, The two propagation directions are opposite directions, and the two propagation directions include a first propagation direction and a second propagation direction; the number of terminated query parties corresponds to the number of propagation directions, and the number of terminated query parties includes a first terminated query party and a second terminated query party. The first terminating queried party is the queried party corresponding to the starting queried party in the first propagation direction, and the second terminating queried party is the queried party corresponding to the starting queried party in the second propagation direction. The first terminating queried party and the second terminating queried party are two adjacent queried parties in the ring propagation link.

5. The method according to claim 4, characterized in that, The propagation direction is the first propagation direction, the two local query results include the first local query result, the queried party in the first propagation direction includes the first queried party and the second queried party arranged in sequence, and the second queried party is the terminated queried party; The process of propagating the query result propagation from the query subject in each propagation direction to the next query subject after superimposing its own query result on the local query result, until the query subject stops superimposing its own query result, includes: The query result of the first queried party is superimposed on the first partial query result to obtain the first superimposed query result, and the first superimposed query result is propagated to the second queried party; The query result of the second queried party is superimposed on the first superimposed query result to obtain the second superimposed query result, and then the query result propagation stops.

6. The method according to claim 4 or 5, characterized in that, The propagation direction is the second propagation direction, the two local query results include the second local query result, the queried party in the second propagation direction includes the third queried party, and the third queried party is the terminating queried party; The process of propagating the query result propagation from the query subject in each propagation direction to the next query subject after superimposing its own query result on the local query result, until the query subject stops superimposing its own query result, includes: The query result of the third party is superimposed on the second local superimposed query result to obtain the third superimposed query result, and then the query result propagation stops.

7. The method according to claim 6, characterized in that, The two propagation directions include at least one of the following: a first propagation direction and a second propagation direction; before sending the superimposed query result output by the queried party in the ring propagation link to the coordinator, the method further includes: The second superimposed query result obtained in the first propagation direction is determined as the superimposed query result output by the queried party in the ring propagation link. Alternatively, the third superimposed query result obtained in the second propagation direction may be determined as the superimposed query result output by the queried party in the ring propagation link. Alternatively, the second superimposed query result obtained in the first propagation direction and the third superimposed query result obtained in the second propagation direction can be determined as the superimposed query result output by the queried party in the ring propagation link.

8. The method according to claim 1, characterized in that, The zero-sum random number is generated by the N query parties in the stealth alliance for the historical query dataset.

9. A data query method, characterized in that, include: Receive anonymous query requests sent by the querying party; The original data to be queried in the stealth query request is obfuscated to obtain a dataset to be queried, and the dataset to be queried is sent to N parties in the stealth alliance so that the stealth alliance can perform the data query method as described in any one of claims 1-7; Upon receiving the superimposed query result sent by the queried party in the ring propagation link, the target query result of the queried party is determined based on the superimposed query result; Send the target query result to the querying party.

10. The method according to claim 9, characterized in that, Determining the target query result of the querying party based on the superimposed query results includes: The number of received superimposed query results is verified based on the number of queried parties terminated in the circular propagation link. If the number of terminated query subjects is the same as the number of superimposed query results, the superimposed query results sent by the terminated query subjects are merged to obtain the target query result of the query subject.

11. The method according to claim 9, characterized in that, The original data to be queried is data that has been de-identified using the same de-identification algorithm as the Anonymous Alliance; the obfuscation of the original data to be queried in the Anonymous Query Request to obtain the dataset to be queried includes: By obfuscating the query data corresponding to the desensitization algorithm, the original query data in the anonymized query request is obfuscated to obtain the query dataset. The query dataset is a full dataset, which includes the original query data and multiple obfuscated query data.

12. A data query method, characterized in that, include: Upon receiving the dataset to be queried corresponding to the querying party from the coordinator, the query result of the initial querying party is generated based on the zero-sum random numbers generated by the N querying parties in the stealth alliance and the query hit results corresponding to the dataset to be queried determined by the initial querying party. The N querying parties form an ordered circular propagation link, and any querying party in the circular propagation link serves as the initial querying party. The query result of the initial querying party includes two local query results, wherein the two local query results are randomly split and determined by the query result of the initial querying party. The two local query results of the initial queried party are propagated from the two propagation directions of the circular propagation link, respectively. In each of the two propagation directions, the queried party in each propagation direction superimposes its own query result on the local query result and then propagates it to the next queried party. The propagation of query results stops when the queried party superimposes its own query result. The queried party that terminates is used to send the superimposed query result output by the queried party in the circular propagation link to the coordinating party. The two queried parties that terminate are two adjacent parties in the circular propagation link.

13. A data query system, characterized in that, This includes the querying party, the coordinating party, and the anonymity alliance; among them, The querying party is used to send an anonymous query request to the coordinating party; The coordinator is used to execute the data query method as described in any one of claims 9 to 11; The stealth alliance is used to perform the data query method as described in any one of claims 1 to 8.

14. A data query device, characterized in that, include: The generation module is used to generate query results for each queried party based on the zero-sum random numbers generated by N queried parties in the stealth alliance and the query hit results determined by each of the N queried parties corresponding to the query dataset when it receives the query dataset sent by the coordinator. The N queried parties form an ordered circular propagation link, and any queried party in the circular propagation link is used as the starting queried party. The propagation module is used to propagate the two local query results of the initial queried party from the two propagation directions of the circular propagation link, and to propagate the query results to the next queried party after superimposing its own query result on the local query result in each propagation direction, until the queried party superimposes its own query result and stops the propagation of the query results. The two local query results are determined by the query result of the initial queried party, and the two queried parties are two adjacent parties in the circular propagation link. The sending module is used to send the superimposed query results output by the queried party in the ring propagation link to the coordinator.

15. A data query device, characterized in that, include: The receiving module is used to receive anonymous query requests sent by the querying party; The obfuscation module is used to obfuscate the original data to be queried in the stealth query request to obtain the dataset to be queried, and send the dataset to be queried to N parties in the stealth alliance so that the stealth alliance can execute the data query method as described in any one of claims 1-8; The determining module is used to determine the target query result of the querying party based on the superimposed query result when the superimposed query result sent by the queried party is terminated in the ring propagation link. The sending module is used to send the target query result to the querying party.

16. A computer device, characterized in that, The computer device includes: a processor and a memory storing computer program instructions; When the processor executes the computer program instructions, it implements the data query method as described in any one of claims 1-8, or the data query method as described in any one of claims 9-11.

17. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer program instructions, which, when executed by a processor, implement the data query method as described in any one of claims 1-8, or the data query method as described in any one of claims 9-11.

18. A computer program product, characterized in that, It includes a computer program, which, when executed by a processor, implements the data query method as described in any one of claims 1-8, or implements the data query method as described in any one of claims 9-11.

Citation Information

Patent Citations

  • Data processing method and device, equipment and storage medium

    CN117521145A

  • Data hiding query method and device, equipment and storage medium

    CN119884193A

  • Calculating differentially private queries using local sensitivity on time variant databases

    US11113413B2

  • Batch privacy information retrieval method and apparatus

    US20240394402A1