Data processing method and device based on differential privacy protection

By using a differential privacy protection mechanism to add noise and optimize query results in the crowd insight service, the problem of individual privacy leakage is solved, and secure data consistency protection and crowd insight services are achieved.

CN114817971BActive Publication Date: 2026-05-19ALIBABA GROUP HOLDING LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
ALIBABA GROUP HOLDING LTD
Filing Date
2021-01-28
Publication Date
2026-05-19

AI Technical Summary

Technical Problem

When providing crowd insight services, users obtain individual profile information through differential attacks, leading to the leakage of sensitive personal information. Existing technologies are insufficient to effectively protect individual privacy.

Method used

A differential privacy protection mechanism is used to add noise to multiple query results separately, and the noise-added results are optimized according to the correlation relationship so that the correlation relationship between the optimized noise-added results is consistent with the original relationship, and the noise-added results that satisfy data consistency are returned.

Benefits of technology

It achieves the protection of individual privacy data, prevents privacy data leakage, and ensures that the returned noisy results meet data consistency constraints, providing a secure crowd insight service.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114817971B_ABST
    Figure CN114817971B_ABST
Patent Text Reader

Abstract

Embodiments of the present specification provide a data processing method and device based on differential privacy protection. A specific implementation of the method includes: in response to obtaining a plurality of query results having a first association relationship, using a differential privacy protection mechanism to respectively perform noise addition processing on the plurality of query results to obtain a plurality of first noise-added results corresponding to the plurality of query results; and performing optimization processing on the plurality of first noise-added results according to the first association relationship, so that a second association relationship between a plurality of second noise-added results obtained after optimization is consistent with the first association relationship.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments in this specification relate to the field of information security technology, specifically to a data processing method and apparatus based on differential privacy protection. Background Technology

[0002] Currently, data owners want to provide users with audience insight services, enabling them to understand the demographic distribution of a group of people, including their gender, age, and occupation. However, when data owners provide users with a realistic audience demographic distribution, users can use differential attacks to obtain an individual's profile information, potentially leading to the leakage of sensitive personal information. Therefore, before providing audience insight services, it is necessary to add noise to the realistic audience demographic distribution. Summary of the Invention

[0003] This specification provides a data processing method and apparatus based on differential privacy protection.

[0004] In a first aspect, embodiments of this specification provide a data processing method based on differential privacy protection, comprising: in response to obtaining multiple query results having a first correlation, employing a differential privacy protection mechanism to perform noise processing on the multiple query results respectively, to obtain multiple first noise-added results corresponding to the multiple query results; optimizing the multiple first noise-added results according to the first correlation, such that the second correlation between the multiple second noise-added results obtained after optimization is consistent with the first correlation; and returning the multiple second noise-added results.

[0005] In some embodiments, the step of employing a differential privacy protection mechanism to add noise to the multiple query results to obtain multiple first noise-added results corresponding to the multiple query results includes: determining a first budget value for differential privacy protection corresponding to each of the multiple query results; for a query result among the multiple query results, employing a differential privacy protection mechanism, determining a noise value corresponding to the query result based on the first budget value corresponding to the query result, and superimposing the noise value on the query result to obtain a first noise-added result corresponding to the query result.

[0006] In some embodiments, the query results among the plurality of query results include population profile distribution query results. In some embodiments, a single population profile distribution query result includes any of the following query results: total employment rate, female employment rate, male employment rate, morbidity rate, total morbidity rate, total number of buyers, number of female buyers, and number of male buyers.

[0007] In some embodiments, the differential privacy protection mechanism includes any one of the following: Laplace mechanism, exponential mechanism, Gaussian mechanism, and geometric mechanism.

[0008] In some embodiments, after obtaining multiple query results with a first correlation, the method further includes: generating corresponding random numbers for query operations corresponding to the multiple query results respectively; and determining the noise value corresponding to the query result based on the first budget value corresponding to the query result, including: determining the noise value corresponding to the query result based on the first budget value corresponding to the query result and the random number corresponding to the query operation corresponding to the query result.

[0009] In some embodiments, generating corresponding random numbers for the query operations corresponding to the plurality of query results includes: determining a root seed for differential privacy protection; determining a query identifier corresponding to the query operation corresponding to the plurality of query results, and generating a random number corresponding to the query operation based on the root seed and the query identifier.

[0010] In some embodiments, the random number is within [0,1].

[0011] In some embodiments, after the response to obtaining multiple query results with a first association relationship, the method further includes: constructing a first query result tree for the multiple query results based on the first association relationship, wherein the value of a node in the first query result tree is a query result among the multiple query results, and the leaf nodes in the first query result tree have the same depth.

[0012] In some embodiments, determining the first budget value for differential privacy protection corresponding to the plurality of query results includes: determining a single budget value for differential privacy protection, and determining the ratio between the single budget value and the number of layers in the first query result tree as the first budget value corresponding to the value of a node in the first query result tree.

[0013] In some embodiments, obtaining the first noise-added result corresponding to the query result includes: for a node in the first query result tree, using a differential privacy protection mechanism, determining the noise value corresponding to the value of the node based on the first budget value corresponding to the value of the node, and superimposing the noise value on the value of the node to obtain the first noise-added result corresponding to the value of the node.

[0014] In some embodiments, constructing a first query result tree for the plurality of query results based on the first association relationship includes: constructing an initial query result tree for the plurality of query results based on the first association relationship; if there is no target leaf node in the initial query result tree, then the initial query result tree is determined as the first query result tree, wherein the target leaf node is a leaf node with a depth less than the depth of the initial query result tree.

[0015] In some embodiments, constructing a first query result tree for the plurality of query results based on the first association relationship further includes: if the target leaf node exists in the initial query result tree, adding at least one virtual child node to the target leaf node, such that the leaf nodes in the initial query result tree after adding the node have the same depth, wherein the target leaf node and the at least one virtual child node have the same value; and determining the initial query result tree after adding the node as the first query result tree.

[0016] In some embodiments, after constructing a first query result tree for the plurality of query results, the method further includes: determining data consistency constraints based on the first association relationship, the data consistency constraints indicating the association relationship between the values ​​of nodes in the first query result tree; and optimizing the plurality of first noise-added results corresponding to the plurality of query results based on the first association relationship, including: optimizing the first noise-added results of the nodes in the first query result tree based on the data consistency constraints.

[0017] In some embodiments, the data consistency constraint indicates that the value of a parent node is equal to the sum of the values ​​of its child nodes; and the optimization processing of the first noise-added result of the nodes in the first query result tree according to the data consistency constraint includes: performing a first calculation layer by layer from the leaf node to the root node for the first query result tree, the first calculation including: for a first node with less than or equal to 1 child nodes, determining the first noise-added result of the first node as the first optimization result; for a second node with more than 1 child nodes, calculating the first sum of the first optimization results of its child nodes, and determining the weights corresponding to the first noise-added result and the first sum of the second node according to the level of the second node and the number of child nodes, and optimizing the first noise-added result of the second node according to the weights. The first noise-added result of the second node and the first sum are weighted and summed to obtain the first optimization result of the second node; for the first query result tree, a second calculation is performed layer by layer from the root node to the leaf node, the second calculation includes: determining the first optimization result of the root node as the second optimization result; for non-leaf nodes, calculating the second sum of the first optimization results of their child nodes, and calculating the difference between the second optimization result of the non-leaf node and the second sum, determining the ratio of the difference to the number of child nodes of the non-leaf node as the noise value, and determining the sum of the first optimization result of the child node and the noise value as the second optimization result of the child node; and determining the second noise-added result based on the second optimization results of the nodes corresponding to the multiple query results in the first query result tree.

[0018] In some embodiments, determining the second noise-added result based on the second optimization result of the nodes corresponding to the plurality of query results in the first query result tree includes: directly determining the second optimization result of the nodes corresponding to the plurality of query results in the first query result tree as the second noise-added result.

[0019] In some embodiments, the plurality of query results are associated with noise-adding indication information, the noise-adding indication information indicating that the noise-adding result is an integer or a natural number; and determining the second noise-adding result based on the second optimization result of the nodes corresponding to the plurality of query results in the first query result tree includes: performing a third calculation layer by layer from the leaf node to the root node for the first query result tree, the third calculation including: for the leaf node, determining the third optimization result corresponding to the second optimization result of the leaf node based on the noise-adding indication information, the third optimization result being an integer result or a natural number result; for the non-leaf node, calculating the third sum of the third optimization results of its child nodes, and determining the third sum as the third optimization result of the non-leaf node; and determining the third optimization result of the nodes corresponding to the plurality of query results in the first query result tree as the second noise-adding result.

[0020] In some embodiments, the noise indication information indicates that the noise-adding result is a natural number; and determining the third optimization result corresponding to the second optimization result of the leaf node based on the noise indication information includes: if the second optimization result of the leaf node is negative, then 0 is determined as a natural number result, and the natural number result is used as the third optimization result corresponding to the second optimization result of the leaf node.

[0021] In some embodiments, the plurality of query results are associated with noise-adding indication information, the noise-adding indication information indicating that the noise-adding result is an integer or a natural number; and determining the second noise-adding result based on the second optimization result of the nodes corresponding to the plurality of query results in the first query result tree includes: determining the third optimization result corresponding to the second optimization result of the node in the first query result tree based on the noise-adding indication information, the third optimization result being a rounded result or a natural number result; performing a fourth calculation layer by layer from the root node to the leaf node for the first query result tree, the fourth calculation including: for non-leaf nodes, calculating the fourth sum of the third optimization results of their child nodes, and calculating the difference between the third optimization result of the non-leaf node and the fourth sum, determining the ratio of the difference to the number of child nodes of the non-leaf node as a noise value, and superimposing the noise value on the third optimization result of the child node in response to the noise value being an integer; and determining the third optimization result of the nodes corresponding to the plurality of query results in the first query result tree as the second noise-adding result.

[0022] Secondly, embodiments of this specification provide a data processing apparatus based on differential privacy protection, comprising: a noise-adding unit configured to, in response to obtaining multiple query results having a first correlation, employ a differential privacy protection mechanism to perform noise-adding processing on the multiple query results respectively, to obtain multiple first noise-adding results corresponding to the multiple query results; an optimization unit configured to optimize the multiple first noise-adding results according to the first correlation, such that the second correlation between the multiple second noise-adding results obtained after optimization is consistent with the first correlation; and a return unit configured to return the multiple second noise-adding results.

[0023] Thirdly, embodiments of this specification provide a computer-readable storage medium having a computer program stored thereon, wherein when the computer program is executed in a computer, it causes the computer to perform the method described in any implementation of the first aspect.

[0024] Fourthly, embodiments of this specification provide a computing device including a memory and a processor, wherein the memory stores executable code, and when the processor executes the executable code, it implements the method described in any of the implementations in the first aspect.

[0025] Fifthly, embodiments of this specification provide a computer program, wherein when the computer program is executed in a computer, it causes the computer to perform the method described in any implementation of the first aspect.

[0026] The data processing method and apparatus based on differential privacy protection provided in the above embodiments of this specification, in response to obtaining multiple query results with a first correlation, employs a differential privacy protection mechanism to add noise to each of the multiple query results, obtaining multiple first noisy results corresponding to the multiple query results. Then, based on the first correlation, the multiple first noisy results are optimized so that the second correlation between the multiple second noisy results obtained after optimization is consistent with the first correlation, and the multiple second noisy results are returned. Thus, individual privacy data can be protected, privacy data leakage can be prevented, and the returned multiple second noisy results can also be ensured to meet data consistency constraints. Attached Figure Description

[0027] To more clearly illustrate the technical solutions of the various embodiments disclosed in this specification, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only a few embodiments disclosed in this specification. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0028] Figure 1This is an exemplary system architecture diagram to which some embodiments of this specification can be applied;

[0029] Figure 2 This is a flowchart of an embodiment of the differential privacy-preserving data processing method according to this specification;

[0030] Figure 3 This is a schematic diagram of the first query result tree;

[0031] Figure 4 This is a flowchart of another embodiment of the differential privacy-preserving data processing method according to this specification;

[0032] Figure 5a This is a schematic diagram of the process of constructing the first query result tree;

[0033] Figure 5b This is a schematic diagram of noise addition processing for the first query result tree;

[0034] Figure 5c This is a schematic diagram of the first round of optimization processing for the first query result tree;

[0035] Figure 5d This is a schematic diagram of the second round of optimization processing for the first query result tree;

[0036] Figure 5e This is a schematic diagram of the third round of optimization processing for the first query result tree;

[0037] Figure 6 This is a schematic diagram of a data processing device based on differential privacy protection according to this specification. Detailed Implementation

[0038] The present specification will now be described in further detail with reference to the accompanying drawings and embodiments. It is to be understood that the specific embodiments described herein are merely illustrative of the invention and not intended to limit it. The described embodiments are only a part of the embodiments described herein, and not all of them. All other embodiments obtained by those skilled in the art based on the embodiments in this specification without inventive effort are within the scope of protection of this application.

[0039] It should be noted that, for ease of description, only the parts relevant to the invention are shown in the accompanying drawings. Unless otherwise specified, the embodiments and features described herein can be combined with each other. Furthermore, the terms "first," "second," "third," and "fourth" in this specification are used for informational purposes only and do not constitute any limitation.

[0040] As mentioned earlier, when the data owner provides users with a true population profile distribution, users can obtain an individual's personal profile information through differential attacks, thereby leading to the leakage of sensitive personal information.

[0041] Based on this, some embodiments of this specification provide a data processing method based on differential privacy protection. This method can protect individual privacy data, prevent privacy data leakage, and also ensure that the output correlated noise-adding results meet data consistency constraints. Specifically, Figure 1 An exemplary system architecture diagram applicable to these embodiments is shown.

[0042] like Figure 1 As shown, it illustrates the application system and the differential privacy protection system. The application system and the differential privacy protection system are communicatively connected.

[0043] Application systems can be of any type, providing services such as audience insights to users. Audience insight services are the most common and typical application scenario for differential privacy. In one scenario, providing audience insights to businesses helps them understand their consumer profiles, thereby developing more effective consumer operation strategies. In another scenario, providing audience insights to healthcare institutions helps relevant personnel within these institutions understand the prevalence of certain diseases.

[0044] Differential privacy protection systems can provide differential privacy protection services to application systems that communicate with them, and perform processing such as adding noise to the query results sent by the application systems.

[0045] In practice, an application system can obtain multiple query results with a primary correlation based on a set of related high-dimensional queries. This set of high-dimensional queries may involve multiple query fields that are correlated with each other. For example, these query fields may include a total employment rate field, a female employment rate field, a male employment rate field, etc.; or they may include a total prevalence rate field related to multiple diseases, a prevalence rate field corresponding to each of the multiple diseases, etc.; or they may include a total number of buyers field, a female number of buyers field, a male number of buyers field, etc., related to a certain product. It should be understood that this specification does not specifically limit the query fields involved in this set of high-dimensional queries.

[0046] Taking the above-mentioned multiple query fields, including the total employment rate field, the female employment rate field, and the male employment rate field, as an example, the above-mentioned multiple query results can include the query result Q0 corresponding to the total employment rate field, the query result Q1 corresponding to the female employment rate field, and the query result Q2 corresponding to the male employment rate field. The first association relationship can be shown as Q0 = Q1 + Q2.

[0047] Subsequently, the application system can send multiple query results with a first association relationship to the differential privacy protection system, so that the differential privacy protection system first adds noise to each of the multiple query results to obtain multiple first noise-added results corresponding to the multiple query results. Then, based on the first association relationship, the system optimizes the multiple first noise-added results so that the second association relationship between the multiple second noise-added results obtained after optimization is consistent with the first association relationship.

[0048] Taking the above query results as Q0, Q1, and Q2, with the first association relationship shown as Q0 = Q1 + Q2, and assuming that the second noisy results corresponding to query results Q0, Q1, and Q2 are respectively as follows: The second relationship can be shown. The second association relationship is consistent with the first association relationship.

[0049] Subsequently, the differential privacy protection system can return multiple optimized second noise-adding results to the application system, enabling the application system to provide these results to the corresponding users. Thus, the application system can provide users with correlated noise-adding results that satisfy data consistency constraints.

[0050] The specific implementation steps of the above method are described below with reference to specific embodiments.

[0051] See Figure 2 This illustrates a flow 200 of an embodiment of a data processing method based on differential privacy protection. The entity executing this method can be... Figure 1 The differential privacy protection system shown. The method includes the following steps:

[0052] Step 201: In response to obtaining multiple query results with a first association relationship, a differential privacy protection mechanism is used to add noise to the multiple query results respectively to obtain multiple first noise-added results corresponding to the multiple query results;

[0053] Step 202: Based on the first correlation relationship, optimize the multiple first noise-adding results so that the second correlation relationship between the multiple second noise-adding results obtained after optimization is consistent with the first correlation relationship;

[0054] Step 203 returns multiple second noise-added results.

[0055] The steps above will be explained in further detail below.

[0056] In step 201, the query results among the above multiple query results may include, but are not limited to, population profile distribution query results. Specifically, a single population profile distribution query result may include, but is not limited to, any of the following query results: total employment rate, female employment rate, male employment rate, morbidity rate, total morbidity rate, total number of buyers, number of female buyers, and number of male buyers.

[0057] The aforementioned executing entity can employ a differential privacy protection mechanism to add noise to the multiple query results, thereby obtaining multiple first noise-added results corresponding to the multiple query results.

[0058] As the first method of adding noise, the query functions involved in the above multiple query results correspond to the sensitivity of differential privacy protection. Based on this sensitivity, the noise value corresponding to the query result can be determined, and this noise value is then superimposed on the query result to obtain the first noisy result corresponding to that query result. The query function can be, for example, including but not limited to, a summation function, an averaging function, a counting function, or a median function. Sensitivity is usually a key parameter determining the amount of noise added; it can refer to the maximum change caused to the query result by deleting any record in the dataset.

[0059] Furthermore, the sensitivity can be pre-defined to a noise value range. This can be achieved by first obtaining the noise value range corresponding to the sensitivity of the query function involved in the query results, and then determining a noise value from that range. Alternatively, a noise value determination algorithm can be pre-defined, using the sensitivity as an input parameter. The sensitivity of the query function involved in the query results can be input into this algorithm, causing it to output the corresponding noise value.

[0060] As a second method of noise addition, a first budget value for differential privacy protection can be determined for each of the multiple query results. For each query result among the multiple query results, a differential privacy protection mechanism can be used to determine the noise value corresponding to the query result based on the first budget value, and then the noise value is superimposed on the query result to obtain the first noise-added result corresponding to the query result.

[0061] Specifically, the single-query budget value for differential privacy protection can be determined first. This single-query budget value can be pre-configured. It can be understood as the budget value for a single query. For any user query request, regardless of whether it involves one or multiple query fields, it can be considered a single query. The single-query budget value can be, for example, 0.8, 0.9, or 1, and can be set according to actual needs; no specific limitation is made here. Then, the ratio of the single-query budget value to the number of query results can be determined as the first budget value corresponding to each query result among the multiple query results.

[0062] Optionally, a first query result tree can be constructed based on the first association relationship for the aforementioned multiple query results. The values ​​of the nodes in the first query result tree are the query results among the aforementioned multiple query results, and the leaf nodes in the first query result tree have the same depth. Then, a single-time budget value for differential privacy protection can be determined, and the ratio between this single-time budget value and the number of levels in the first query result tree can be used as the first budget value corresponding to the node values ​​in the first query result tree. It should be noted that the leaf nodes in this specification may be referred to as leaf nodes.

[0063] Taking the above query results as Q0, Q1, and Q2, with the first association relationship shown as Q0 = Q1 + Q2, the constructed first query result tree can be as follows: Figure 3 As shown. Among them, Figure 3 A schematic diagram of the first query result tree is shown. Figure 3 In the first query result tree, the depth is 1.

[0064] It should be noted that the first noise-adding result satisfies ε-differential privacy protection. The parameter ε can be called the privacy protection budget. The parameter ε is used to reflect the level of privacy protection. Specifically, the smaller the value of the parameter ε, the higher the level of privacy protection. The value of the parameter ε can be the single-run budget value as described above. Typically, the value of the parameter ε can be 1. It should be understood that this specification does not specifically limit the value of the parameter ε.

[0065] In practice, when using the second noise-adding method to determine the noise value corresponding to the query result, different input parameters can be used.

[0066] As one implementation method, for each of the above multiple query results, the first budget value corresponding to the query result can be input into the noise value determination algorithm corresponding to the differential privacy protection mechanism, so that the algorithm outputs a noise value.

[0067] As another implementation, for each of the multiple query results mentioned above, a corresponding random number can be generated for the query operation corresponding to that query result. Then, a differential privacy protection mechanism is used to determine the noise value corresponding to that query result based on the first budget value and the random number. Specifically, the first budget value and the random number can be input into the noise value determination algorithm corresponding to the differential privacy protection mechanism, causing the algorithm to output a noise value. The random number can be within the range [0,1].

[0068] It should be noted that for each of the above query results, a random number can be randomly generated for the query operation corresponding to that query result.

[0069] Alternatively, to ensure the determinism of the noise-adding result, the following random number generation method can be used:

[0070] Determine the root seed for differential privacy protection;

[0071] For each query operation corresponding to the above multiple query results, determine the query identifier corresponding to the query operation, and generate a random number corresponding to the query operation based on the root seed and the query identifier.

[0072] It should be understood that the same query operation involves the same dataset and the same data within that dataset. The same query operation corresponds to the same query identifier, while different query operations correspond to different query identifiers. It should be noted that the query identifiers corresponding to the query operations for the multiple query results mentioned above can be assigned by the application system and sent to the differential privacy protection system along with the multiple query results.

[0073] For any two query results corresponding to the same query operation, the same random number can be generated for both query results using the aforementioned random number generation method. Inputting the same two pairs of <random number, budget value> into the noise value determination algorithm ensures that the algorithm outputs the same noise value. By adding the same noise value to the two query results, the two query results correspond to the same first noisy result. This ensures the determinism of the first noisy result. Furthermore, by optimizing the first noisy result, the resulting second noisy result can also remain deterministic. Additionally, since the second noisy result is deterministic, it can be saved.

[0074] In practice, differential privacy protection mechanisms can include, for example, Laplace, exponential, Gaussian, and / or geometric mechanisms. These differential privacy protection mechanisms are well-known techniques that are widely researched and applied, and will not be elaborated upon here.

[0075] Taking the Laplace mechanism as an example, for each of the above multiple query results, the Laplace mechanism can be used to determine the noise value corresponding to the query result based on the first budget value. This noise value follows a Laplace distribution.

[0076] It should be noted that the noise value determined by the differential privacy protection mechanism is usually relatively small. By adding this noise value to the query results, not only can individual privacy data be protected and privacy data leakage be prevented, but the usability of the noise-added results can also be ensured.

[0077] Typically, noise values ​​are randomly generated. The association relationships between the multiple first-noise results corresponding to the above query results may not be consistent with the first association relationship, failing to meet data consistency constraints. For example, if the above query results are Q0, Q1, and Q2, and the first association relationship shows Q0 = Q1 + Q2, the first-noise results corresponding to query results Q0, Q1, and Q2 are Q′0, Q′1, and Q′2 respectively. The association relationship of each first-noise result may show Q′0 ≠ Q′1 + Q′2.

[0078] Therefore, in order to ensure that the correlation of the noise-added results returned to the application system is consistent with the correlation of the corresponding query results, step 202 can be executed to optimize the above-mentioned multiple first noise-added results according to the first correlation, so that the second correlation between the multiple second noise-added results obtained after optimization is consistent with the first correlation.

[0079] When optimizing the above multiple first noise-adding results, various optimization methods can be used, as long as the second correlation relationship is kept consistent with the first correlation relationship, and the difference between the first noise-adding result and its corresponding second noise-adding result is small (for example, the difference is less than or equal to 1 or 2).

[0080] Taking the above query results as Q0, Q1, and Q2, with the first association relationship shown as Q0 = Q1 + Q2, and the first noise-adding results corresponding to query results Q0, Q1, and Q2 respectively as Q′0, Q′1, and Q′2, as an example, one implementation method is to directly determine Q′1 and Q′2 as the second noise-adding results. Then calculate and The sum of the values ​​is used to update Q′0, and the updated Q′0 is determined as the second noise-added result.

[0081] As an alternative implementation, Q′0 can be directly determined as the second noise-adding result. And calculate the sum of Q′1 and Q′2, and then calculate... The difference between the sum and the value is then averaged and distributed equally among Q′1 and Q′2. For example, the ratio of this difference to 2 is calculated, and this ratio is used as a noise value and superimposed onto Q′1 and Q′2 respectively. This allows the sum of Q′1 and Q′2 after the noise value is added to be considered as noise. Q ′2 were determined as the second noise-adding results.

[0082] It should be noted that by adopting the optimization processing method described above, the results of the multiple second noise-adding results can be more accurate than the results of the multiple first noise-adding results while satisfying the data consistency constraints.

[0083] In step 203, the aforementioned multiple second noise-adding results can be returned. For example, the aforementioned multiple second noise-adding results can be returned to the corresponding application system.

[0084] The data processing method based on differential privacy protection provided in this embodiment, in response to obtaining multiple query results with a first correlation, employs a differential privacy protection mechanism to add noise to each of the multiple query results, obtaining multiple first noisy results corresponding to the multiple query results. Then, based on the first correlation, the multiple first noisy results are optimized so that the second correlation between the multiple second noisy results obtained after optimization is consistent with the first correlation, and the multiple second noisy results are returned. Thus, individual privacy data can be protected, preventing privacy data leakage, and ensuring that the returned multiple second noisy results meet data consistency constraints.

[0085] Further reference Figure 4 This illustrates flow 400 of another embodiment of a data processing method based on differential privacy protection. The entity executing this method can be... Figure 1 The differential privacy protection system shown. The method includes the following steps:

[0086] Step 401: In response to obtaining multiple query results with a first association relationship, construct a first query result tree for the multiple query results based on the first association relationship. The value of the node in the first query result tree is the query result among the multiple query results, and the leaf nodes in the first query result tree have the same depth.

[0087] Step 402: Based on the first association relationship, determine the data consistency constraints. The data consistency constraints show the association relationship between the values ​​of nodes in the first query result tree.

[0088] Step 403: Determine the single budget value for differential privacy protection, and determine the ratio between the single budget value and the number of layers in the first query result tree as the first budget value corresponding to the value of the node in the first query result tree;

[0089] Step 404: For a node in the first query result tree, a differential privacy protection mechanism is adopted. Based on the first budget value corresponding to the value of the node, the noise value corresponding to the value of the node is determined, and the noise value is superimposed on the value of the node to obtain the first noise-added result corresponding to the value of the node.

[0090] Step 405: Based on the data consistency constraint, optimize the first noisy result of the node in the first query result tree so that the second association relationship between the multiple second noisy results obtained after optimization is consistent with the first association relationship;

[0091] Step 406 returns multiple second noise-added results.

[0092] The steps above will be explained in further detail below.

[0093] In step 401, an initial query result tree can be constructed based on the first association relationship for the multiple query results. For example, assuming the multiple query results include Q0, Q1, Q2, Q3, and Q4, and the first association relationship is shown as Q0 = Q1 + Q2, Q2 = Q3 + Q4, the constructed initial query result tree can be as follows: Figure 5a As shown on the left side of the middle section. Figure 5a This is a schematic diagram illustrating the process of constructing the first query result tree. Figure 5a In the diagram, the query result tree on the left is the initial query result tree, and the query result tree on the right is the first query result tree obtained after adding nodes.

[0094] If the target leaf node does not exist in the initial query result tree, then the initial query result tree can be determined as the first query result tree. The target leaf node is a leaf node whose depth is less than the depth of the initial query result tree.

[0095] If a target leaf node exists in the initial query result tree, at least one virtual child node can be added to it, ensuring that all leaf nodes in the initial query result tree after the node addition have the same depth. The target leaf node and its at least one virtual child node must have the same value. This initial query result tree after the node addition can then be designated as the first query result tree.

[0096] by Figure 5a Taking the initial query result tree on the left as an example, its depth is 2. The nodes containing Q1, Q3, and Q4 are all leaf nodes. The leaf nodes containing Q3 and Q4 have a depth of 2, while the leaf node containing Q1 has a depth of 1. Therefore, the leaf node containing Q1 is a target leaf node with a depth less than the depth of the initial query result tree. Thus, a virtual child node can be added to the leaf node containing Q1 to ensure that all leaf nodes in the initial query result tree after adding the node have the same depth. The value of this virtual child node is Q... 1_v It equals Q1. Afterwards, the initial query result tree after adding this virtual child node can be determined as the first query result tree. Figure 5a In the middle, the first query result tree is located on the right.

[0097] In step 402, data consistency constraints can be determined based on the first association relationship. The data consistency constraints illustrate the association relationship between the values ​​of nodes in the first query result tree. It should be understood that these data consistency constraints are used for the optimization processing of the first noisy results of the nodes in the first query result tree.

[0098] by Figure 5a Taking the first query result tree on the right as an example, the data consistency constraints determined for this first query result tree can include: Q0 = Q1 + Q2, Q2 = Q3 + Q4, Q1 = Q 1_v .

[0099] For step 403, please refer to... Figure 2 The relevant descriptions in the corresponding embodiments will not be repeated here.

[0100] In step 404, for each node in the first query result tree, a differential privacy protection mechanism can be used to determine the noise value corresponding to the node's value based on the first budget value. This noise value is then added to the node's value to obtain the first noisy result corresponding to that node's value. For details on the method for determining the noise value, please refer to [link / reference needed]. Figure 2 The relevant descriptions in the corresponding embodiments will not be repeated here. The differential privacy protection mechanism may include, for example, a Laplace mechanism, an exponential mechanism, a Gaussian mechanism, and / or a geometric mechanism, etc.

[0101] by Figure 5a Taking the first query result tree on the right as an example, after performing step 403 on this first query result tree, the query results Q0, Q1, Q2, Q3, Q4, and Q1 can be obtained. 1_v The corresponding first noise-added results Q′0, Q′1, Q′2, Q′3, Q′4, Q′ are as follows: 1_v The first query result tree after noise reduction can be as follows: Figure 5b As shown on the right side of the middle section. Figure 5b This is a schematic diagram of noise addition processing for the first query result tree. Figure 5b In the middle, the left side is the original first query result tree, which is compared with... Figure 5a The first query result tree on the right is consistent with the first query result tree on the right. Figure 5b In the middle, the right side shows the first query result tree after noise reduction.

[0102] In step 405, the first noisy result of the node in the first query result tree can be optimized according to the data consistency constraint, so that the second association relationship between the multiple second noisy results obtained after optimization is consistent with the first association relationship.

[0103] Specifically, if the data consistency constraint indicates that the value of the parent node is equal to the sum of the values ​​of its child nodes, then two or three rounds of optimization can be performed.

[0104] The first round of optimization may include performing a first calculation layer by layer from the leaf node to the root node for the first query result tree. This first calculation includes:

[0105] For the first node with fewer than or equal to 1 child nodes, the first noise-added result of the first node is determined as the first optimization result;

[0106] For a second node with more than 1 child nodes, calculate the first sum of the first optimization results of its child nodes, and determine the weights corresponding to the first noise-added result and the first sum of the second node according to the level of the second node and the number of child nodes. Based on the weights, perform a weighted summation on the first noise-added result and the first sum of the second node to obtain the first optimization result of the second node.

[0107] For any second node, let the level of the second node be i, the number of child nodes of the second node be b, and the weight of the first noise-adding result of the second node be, for example, The weights of the first sum of the first optimization results of each child node of the second node can be, for example, It should be noted that the specific method for determining the weights can be designed according to actual needs, and no specific limitations are made here.

[0108] It should be noted that the level of a leaf node can be 1, and the level value increases progressively from the leaf node to the root node. Furthermore, in this specification, for any non-leaf node, its child nodes are those directly connected to that non-leaf node, and can be referred to as child nodes.

[0109] Specifically, in the first round of optimization, the following calculation formula can be used:

[0110] Q″=Q′; (1)

[0111]

[0112] Where Q′ represents the first noise-added result, Q″ represents the first optimization result, w represents the current node (e.g., the second node), b represents the number of child nodes of w, i represents the level of w, and Q″ w Q′ represents the first optimization result of w. w Let represent the first noisy result of w, child(w) represent the set of all child nodes of w, u represent the child nodes of w, and Q″ u This represents the first optimization result for u.

[0113] It should be noted that formula (1) is used for the first node, and formula (2) is used for the second node.

[0114] by Figure 5b Taking the first query result tree on the right as an example, after the first round of optimization processing on this first query result tree, the first noisy results Q′0, Q′1, Q′2, Q′3, Q′4, and Q′ are obtained. 1vThe corresponding first optimization results are Q″0, Q″1, Q″2, Q″3, Q″4, and Q″, respectively. 1_v The first query result tree after the first round of optimization can be as follows: Figure 5c As shown on the right side of the middle section. Figure 5c This is a schematic diagram of the first round of optimization processing for the first query result tree. Figure 5c In the middle, the left side shows the first query result tree after adding noise. This first query result tree is compared with... Figure 5b The first query result tree on the right is consistent with the first query result tree on the right. Figure 5c In the middle, the right side shows the first query result tree after the first round of optimization.

[0115] After the first round of optimization is completed, the second round of optimization can be performed. The second round of optimization may include performing a second calculation, layer by layer from the root node to the leaf nodes, on the first query result tree. This second calculation includes:

[0116] The first optimization result of the root node is determined as the second optimization result;

[0117] For a non-leaf node, calculate the second sum of the first optimization results of its child nodes, and calculate the difference between the second optimization result and the second sum of the non-leaf node. The ratio of this difference to the number of child nodes of the non-leaf node is determined as the noise value. The sum of the first optimization result of the child node and the noise value is determined as the second optimization result of the child node.

[0118] It should be noted that in the second round of optimization, the difference between the second optimization result of the non-leaf node and the second sum value can be evenly distributed to the child nodes of the non-leaf node to ensure that the second optimization result of the non-leaf node and its child nodes meets the data consistency constraint.

[0119] Specifically, in the second round of optimization, the following calculation formula can be used:

[0120]

[0121]

[0122] in, This represents the second optimization result, where w represents the current node (e.g., a non-leaf node). Let represent the second optimization result of w, and u represent the child nodes of w. can represent the second optimization result of u, and b represents the number of child nodes of w.

[0123] It should be noted that formula (3) can be used to determine the second optimization result of the root node. For any non-leaf node, formula (4) can be used to calculate the second optimization result of its child nodes.

[0124] by Figure 5c Taking the first query result tree on the right as an example, after performing the second round of optimization on this first query result tree, we can obtain the first optimized results Q″0, Q″1, Q″2, Q″3, Q″4. The corresponding second optimization results The first query result tree after the second round of optimization can be as follows: Figure 5d As shown on the right side of the middle section. Figure 5d This is a schematic diagram of the second round of optimization processing for the first query result tree. Figure 5d In the middle, the left side shows the first query result tree after the first round of optimization. This first query result tree is compared with... Figure 5c The first query result tree on the right is consistent with the first query result tree on the right. Figure 5d In the middle, the right side shows the first query result tree after the second round of optimization.

[0125] After the second round of optimization is completed, the second noise-adding result can be determined based on the second optimization result of the corresponding node in the first query result tree for the above multiple query results.

[0126] It should be noted that by performing the above two rounds of optimization, the determined second noise-adding results can meet the data consistency constraints and are more accurate.

[0127] Optionally, the second optimized results of the nodes corresponding to the above multiple query results in the first query result tree can be directly determined as the second noisy result. It should be noted that the nodes corresponding to the above multiple query results in the first query result tree are real nodes, not virtual nodes. Figure 5d Taking the first query result tree on the right as an example, the second optimized result can be... These were determined as the second noise-added results.

[0128] Optionally, if the above multiple query results are associated with noise-adding indication information, and this noise-adding indication information indicates that the noise-adding result is an integer or a natural number, then a third round of optimization processing can be performed. The third round of optimization processing can employ different optimization methods.

[0129] As one implementation method, the third round of optimization can adopt the following first optimization method:

[0130] For the first query result tree, a third calculation is performed layer by layer from the leaf node to the root node. This third calculation includes:

[0131] For a leaf node, based on the noise indication information, determine the third optimization result corresponding to the second optimization result of the leaf node. The third optimization result is either the rounded result or the natural number result.

[0132] For non-leaf nodes, calculate the third sum of the third optimization results of their child nodes, and determine this third sum as the third optimization result of the non-leaf node.

[0133] Wherein, if the noise indication information indicates that the noise-adding result is a natural number, then determining the third optimization result corresponding to the second optimization result of the leaf node based on the noise indication information may include: if the second optimization result of the leaf node is negative, then 0 is determined as the natural number result, and this natural number result is used as the third optimization result corresponding to the second optimization result of the leaf node. It should be understood that if the second optimization result of the leaf node is not negative, then the second optimization result can be rounded down, and the resulting integer value is determined as the natural number result.

[0134] If the noise addition indication information indicates that the noise addition result is an integer, then the above-mentioned determination of the third optimization result corresponding to the second optimization result of the leaf node based on the noise addition indication information may include: performing a rounding operation on the second optimization result of the leaf node, and determining the resulting integer value as the rounding result, which is used as the third optimization result corresponding to the second optimization result of the leaf node.

[0135] Specifically, in the first optimization process, the following calculation formula can be used:

[0136]

[0137]

[0138] in, This represents the third optimization result, where w represents the current node (e.g., a non-leaf node). This represents the third optimization result for w. The third optimization result represents the child node u of w.

[0139] It should be noted that, for leaf nodes, when the noise indication information indicates that the noise result is an integer, formula (5) can be used to calculate the third optimization result corresponding to the second optimization result of the leaf node. For non-leaf nodes, formula (6) can be used to calculate the third optimization result corresponding to the second optimization result of the non-leaf node.

[0140] by Figure 5d Taking the first query result tree on the right as an example, after performing the third round of optimization on this first query result tree, the second optimized result can be obtained. The corresponding third optimization results The first query result tree after the third round of optimization can be as follows: Figure 5e As shown on the right side of the middle section. Figure 5e This is a schematic diagram of the third round of optimization processing for the first query result tree. Figure 5eIn the middle, the left side shows the first query result tree after the second round of optimization. This first query result tree is compared with... Figure 5d The first query result tree on the right is consistent with the first query result tree on the right. Figure 5e In the middle, the right side shows the first query result tree after the third round of optimization.

[0141] As an alternative implementation, the third round of optimization can employ the following second optimization method:

[0142] Based on the noise addition instruction information, determine the third optimization result corresponding to the second optimization result of each node in the first query result tree. The third optimization result is either the rounded result or the natural number result.

[0143] For the first query result tree, a fourth calculation is performed layer by layer from the root node to the leaf node. This fourth calculation includes:

[0144] For a non-leaf node, calculate the fourth sum of the third optimization results of its child nodes, and calculate the difference between the third optimization result of the non-leaf node and the fourth sum. The ratio of this difference to the number of child nodes of the non-leaf node is determined as the noise value. In response to the noise value being an integer, the noise value is superimposed on the third optimization result of the child node.

[0145] After performing the third round of optimization, the third optimized results of the nodes corresponding to the multiple query results in the first query result tree can be determined as the second noisy result. Figure 5e Taking the first query result tree on the right as an example, the third optimized result can be... These were determined as the second noise-added results.

[0146] It should be noted that since no new noise was introduced in the above rounds of optimization, the second noise-added result obtained after optimization is more accurate than the original first noise-added result while satisfying the data consistency constraint.

[0147] In step 406, the second noise-adding results determined in step 405 can be returned to the corresponding application system.

[0148] The data processing method based on differential privacy protection provided in this embodiment is similar to... Figure 2Compared to the corresponding embodiments, this method emphasizes the following steps: constructing a first query result tree based on the first association relationship for the multiple query results; determining data consistency constraints and the first budget value corresponding to the value of a node in the first query result tree based on the first association relationship; employing a differential privacy protection mechanism to determine the noise value corresponding to the value of a node based on the first budget value corresponding to the value of that node; superimposing the noise value on the value of that node to obtain the first noisy result corresponding to the value of that node; and then optimizing the first noisy result of the node in the first query result tree based on the data consistency constraints. This expands the noise addition and optimization methods, not only protecting individual privacy data and preventing privacy data leakage, but also ensuring that the returned multiple second noisy results meet the data consistency constraints and are more accurate.

[0149] Further reference Figure 6 This specification provides an embodiment of a data processing device based on differential privacy protection, which is similar to... Figure 2 Corresponding to the method embodiment shown, this device can be applied to, for example... Figure 1 The differential privacy protection system shown.

[0150] like Figure 6 As shown, the data processing device 600 based on differential privacy protection in this embodiment includes: a noise-adding unit 601, an optimization unit 602, and a return unit 603. The noise-adding unit 601 is configured to, in response to obtaining multiple query results with a first correlation, use a differential privacy protection mechanism to add noise to each of the multiple query results, obtaining multiple first noise-adding results corresponding to the multiple query results; the optimization unit 602 is configured to optimize the multiple first noise-adding results according to the first correlation, so that the second correlation between the multiple second noise-adding results obtained after optimization is consistent with the first correlation; the return unit 603 is configured to return the multiple second noise-adding results.

[0151] Optionally, the noise-adding unit 601 can be further configured to: determine the first budget value for differential privacy protection corresponding to the above multiple query results respectively; for the query result among the above multiple query results, adopt the differential privacy protection mechanism, determine the noise value corresponding to the query result according to the first budget value corresponding to the query result, and superimpose the noise value on the query result to obtain the first noise-adding result corresponding to the query result.

[0152] Optionally, the query results among the above multiple query results include population profile distribution query results. A single population profile distribution query result may include, but is not limited to, any of the following query results: total employment rate, female employment rate, male employment rate, morbidity rate, total morbidity rate, total number of buyers, number of female buyers, and number of male buyers.

[0153] Optionally, differential privacy protection mechanisms may include Laplace mechanisms, exponential mechanisms, Gaussian mechanisms, and / or geometric mechanisms.

[0154] Optionally, the above-mentioned device 600 may further include: a random number generation unit (not shown in the figure), configured to generate corresponding random numbers for the query operations corresponding to the plurality of query results respectively; and a noise addition unit 601 may be further configured to: determine the noise value corresponding to the query result based on the first budget value corresponding to the query result and the random number corresponding to the query operation corresponding to the query result.

[0155] Optionally, the random number generation unit can be further configured to: determine the root seed for differential privacy protection; for the query operations corresponding to the above multiple query results, determine the query identifier corresponding to the query operation, and generate a random number corresponding to the query operation based on the root seed and the query identifier.

[0156] Optionally, the random number, as mentioned above, is within [0,1].

[0157] Optionally, the above-mentioned device 600 may further include: a result tree construction unit (not shown in the figure), configured to construct a first query result tree for the plurality of query results according to a first association relationship, wherein the value of the node in the first query result tree is the query result among the plurality of query results, and the leaf nodes in the first query result tree have the same depth.

[0158] Optionally, the noise-adding unit 601 may be further configured to: determine a single budget value for differential privacy protection, and determine the ratio between the single budget value and the number of layers in the first query result tree as the first budget value corresponding to the value of the node in the first query result tree.

[0159] Optionally, the noise-adding unit 601 can be further configured to: for a node in the first query result tree, adopt a differential privacy protection mechanism, determine the noise value corresponding to the value of the node based on the first budget value corresponding to the value of the node, and superimpose the noise value on the value of the node to obtain the first noise-adding result corresponding to the value of the node.

[0160] Optionally, the result tree construction unit can be further configured to: construct an initial query result tree for the above multiple query results based on the first association relationship; if there is no target leaf node in the initial query result tree, then the initial query result tree is determined as the first query result tree, wherein the target leaf node is a leaf node with a depth less than the depth of the initial query result tree.

[0161] Optionally, the result tree building unit can be further configured to: if there is a target leaf node in the initial query result tree, add at least one virtual child node to the target leaf node, such that the leaf nodes in the initial query result tree after adding the node have the same depth, wherein the target leaf node and the at least one virtual child node have the same value; and determine the initial query result tree after adding the node as the first query result tree.

[0162] Optionally, the above-mentioned device 600 may further include: a condition generation unit (not shown in the figure), configured to determine data consistency constraints based on a first association relationship after the result tree construction unit constructs the first query result tree, the data consistency constraints indicating the association relationship between the values ​​of nodes in the first query result tree; and an optimization unit 602 may be further configured to: optimize the first noisy result of the nodes in the first query result tree based on the data consistency constraints.

[0163] Optionally, the data consistency constraint shows that the value of a parent node is equal to the sum of the values ​​of its child nodes; and the optimization unit 602 may include: a first optimization subunit (not shown in the figure), configured to perform a first calculation layer by layer from the leaf node to the root node for the first query result tree, the first calculation including: for a first node with less than or equal to 1 child node, determining the first noise-added result of the first node as the first optimization result; for a second node with more than 1 child node, calculating the first sum of the first optimization results of its child nodes, and determining the weights corresponding to the first noise-added result and the first sum of the second node according to the level of the second node and the number of child nodes, and performing a weighted summation of the first noise-added result and the first sum of the second node according to the weights to obtain the second... The first optimization result of the node; the second optimization subunit (not shown in the figure) is configured to perform a second calculation layer by layer from the root node to the leaf node for the first query result tree. The second calculation includes: determining the first optimization result of the root node as the second optimization result; for non-leaf nodes, calculating the second sum of the first optimization results of their child nodes, and calculating the difference between the second optimization result of the non-leaf node and the second sum, determining the ratio of the difference to the number of child nodes of the non-leaf node as the noise value, and determining the sum of the first optimization result of the child node and the noise value as the second optimization result of the child node; the determination subunit (not shown in the figure) is configured to determine the second noise-added result based on the second optimization results of the nodes corresponding to the above multiple query results in the first query result tree.

[0164] Optionally, the sub-unit can be further configured to: directly determine the second optimized result of the node corresponding to the above multiple query results in the first query result tree as the second noise-added result.

[0165] Optionally, the above-mentioned multiple query results are associated with noise-adding indication information, which indicates that the noise-adding result is an integer or a natural number; and the determining sub-unit may include: a first determining module (not shown in the figure), configured to perform a third calculation layer by layer from the leaf node to the root node for the first query result tree, the third calculation including: for the leaf node, determining the third optimization result corresponding to the second optimization result of the leaf node according to the noise-adding indication information, the third optimization result being an integer result or a natural number result; for the non-leaf node, calculating the third sum of the third optimization results of its child nodes, and determining the third sum as the third optimization result of the non-leaf node; and determining the third optimization results of the nodes corresponding to the above-mentioned multiple query results in the first query result tree as the second noise-adding result.

[0166] Optionally, the noise indication information indicates that the noise-adding result is a natural number; and the first determining module can be further configured to: if the second optimization result of the leaf node is negative, then 0 is determined as a natural number result, and the natural number result is used as the third optimization result corresponding to the second optimization result of the leaf node.

[0167] Optionally, the above-mentioned multiple query results are associated with noise-adding indication information, which indicates that the noise-adding result is an integer or a natural number; and the determining sub-unit may include: a second determining module (not shown in the figure), configured to determine, according to the noise-adding indication information, the third optimization result corresponding to the second optimization result of the node in the first query result tree, wherein the third optimization result is a rounded result or a natural number result; for the first query result tree, a fourth calculation is performed layer by layer from the root node to the leaf node, the fourth calculation including: for non-leaf nodes, calculating the fourth sum of the third optimization results of their child nodes, and calculating the difference between the third optimization result of the non-leaf node and the fourth sum, determining the ratio of the difference to the number of child nodes of the non-leaf node as the noise value, and in response to the noise value being an integer, superimposing the noise value on the third optimization result of the child node; and determining the third optimization results of the nodes corresponding to the above-mentioned multiple query results in the first query result tree as the second noise-adding result.

[0168] In this embodiment, the specific processing of the noise-adding unit 601, the optimization unit 602, and the return unit 603, and the resulting technical effects, can be found in reference to [the relevant documentation]. Figure 2 The relevant descriptions of steps 201, 202 and 203 in the corresponding embodiments will not be repeated here.

[0169] This specification also provides a computer-readable storage medium storing a computer program, wherein when the computer program is executed in a computer, it causes the computer to perform the data processing methods based on differential privacy protection shown in the above method embodiments.

[0170] This specification also provides a computing device, including a memory and a processor, wherein the memory stores executable code, and when the processor executes the executable code, it implements the data processing methods based on differential privacy protection shown in the above method embodiments.

[0171] This specification also provides a computer program that, when executed in a computer, causes the computer to perform the data processing methods based on differential privacy protection shown in the above method embodiments.

[0172] Those skilled in the art will recognize that the functions described in the various embodiments disclosed in this specification in one or more of the examples above can be implemented using hardware, software, firmware, or any combination thereof. When implemented in software, these functions can be stored in a computer-readable medium or transmitted as one or more instructions or code on a computer-readable medium.

[0173] In some cases, the actions or steps described in the claims can be performed in a different order than that shown in the embodiments and still achieve the desired result. Furthermore, the processes depicted in the drawings do not necessarily require a specific or sequential order to achieve the desired result. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0174] The specific embodiments described above further illustrate the purpose, technical solutions, and beneficial effects of the multiple embodiments disclosed in this specification. It should be understood that the above descriptions are merely specific implementations of the multiple embodiments disclosed in this specification and are not intended to limit the protection scope of the multiple embodiments disclosed in this specification. Any modifications, equivalent substitutions, improvements, etc., made based on the technical solutions of the multiple embodiments disclosed in this specification should be included within the protection scope of the multiple embodiments disclosed in this specification.

Claims

1. A data processing method based on differential privacy protection, comprising: In response to obtaining multiple query results with a first correlation, a differential privacy protection mechanism is adopted to add noise to the multiple query results respectively, so as to obtain multiple first noise-added results corresponding to the multiple query results; Based on the first correlation relationship, the plurality of first noise-adding results are optimized so that the second correlation relationship between the plurality of second noise-adding results obtained after optimization is consistent with the first correlation relationship. Return the plurality of second noise-adding results, wherein the second noise-adding results are deterministic; The process involves adding noise to each of the multiple query results to obtain multiple first noise-added results, including: determining a first budget value for differential privacy protection corresponding to each of the multiple query results; determining a root seed for differential privacy protection; for each query result among the multiple query results, determining a query identifier corresponding to the query operation corresponding to that query result; generating a random number corresponding to the query operation based on the root seed and the query identifier; determining a noise value corresponding to the query result based on the first budget value and the random number corresponding to the query operation; and superimposing the noise value onto the query result to obtain the first noise-added result corresponding to the query result. The method further includes: constructing an initial query result tree for the plurality of query results based on the first association relationship; if a target leaf node exists in the initial query result tree, adding at least one virtual child node to the target leaf node, such that the leaf nodes in the initial query result tree after adding the node have the same depth, wherein the target leaf node is a leaf node with a depth less than the depth of the initial query result tree, and the target leaf node and the at least one virtual child node have the same value; determining the initial query result tree after adding the node as a first query result tree; and the value of the node in the first query result tree is the query result among the plurality of query results. The step of optimizing the plurality of first noise-added results according to the first association relationship includes: performing a first calculation layer by layer from the leaf node to the root node for the first query result tree; and after performing the first calculation, performing a second calculation layer by layer from the root node to the leaf node for the first query result tree.

2. The method according to claim 1, wherein, The differential privacy protection mechanism includes any one of the following: Laplace mechanism, exponential mechanism, Gaussian mechanism, and geometric mechanism.

3. The method according to claim 1, wherein, The random number is within [0,1].

4. The method according to claim 1, wherein, The step of determining the first budget value for differential privacy protection corresponding to each of the multiple query results includes: Determine the single budget value for differential privacy protection, and determine the ratio between the single budget value and the number of layers in the first query result tree as the first budget value corresponding to the value of the node in the first query result tree.

5. The method according to claim 4, wherein, The process of obtaining the first noise-added result corresponding to the query result includes: For each node in the first query result tree, a differential privacy protection mechanism is used to determine the noise value corresponding to the value of the node based on the first budget value corresponding to the value of the node, and the noise value is superimposed on the value of the node to obtain the first noise-added result corresponding to the value of the node.

6. The method according to claim 4, wherein, The method further includes: If the initial query result tree does not contain a target leaf node, then the initial query result tree is determined as the first query result tree.

7. The method according to claim 1, wherein, After the response to obtaining multiple query results with a first correlation relationship, the method further includes: Based on the first association relationship, a first query result tree is constructed for the multiple query results. The value of the node in the first query result tree is the query result among the multiple query results, and the leaf nodes in the first query result tree have the same depth. Based on the first association relationship, data consistency constraints are determined, wherein the data consistency constraints indicate the association relationships between the values ​​of nodes in the first query result tree; and The step of optimizing the multiple first noise-added results corresponding to the multiple query results based on the first association relationship includes: Based on the data consistency constraints, the first noisy result of the node in the first query result tree is optimized.

8. The method according to claim 7, wherein, The data consistency constraint states that the value of a parent node is equal to the sum of the values ​​of its child nodes. as well as The first calculation includes: For the first node with a number of child nodes less than or equal to 1, the first noise-added result of the first node is determined as the first optimization result; For a second node with more than 1 child nodes, calculate the first sum of the first optimization results of its child nodes, and determine the weights corresponding to the first noise-added result and the first sum of the second node according to the level of the second node and the number of child nodes. Then, according to the weights, perform a weighted summation on the first noise-added result and the first sum of the second node to obtain the first optimization result of the second node. The second calculation includes: The first optimization result of the root node is determined as the second optimization result; For a non-leaf node, calculate the second sum of the first optimization results of its child nodes, and calculate the difference between the second optimization result of the non-leaf node and the second sum. The ratio of the difference to the number of child nodes of the non-leaf node is determined as the noise value, and the sum of the first optimization result of the child node and the noise value is determined as the second optimization result of the child node. The second noise-adding result is determined based on the second optimization result of the node corresponding to the multiple query results in the first query result tree.

9. The method according to claim 8, wherein, The step of determining the second noise-adding result based on the second optimization result of the nodes corresponding to the multiple query results in the first query result tree includes: The second optimized result of the node corresponding to the multiple query results in the first query result tree is directly determined as the second noise-added result.

10. The method according to claim 8, wherein, The multiple query results are associated with noise-adding indication information, which indicates that the noise-adding result is an integer or a natural number. as well as The step of determining the second noise-adding result based on the second optimization result of the nodes corresponding to the multiple query results in the first query result tree includes: For the first query result tree, a third calculation is performed layer by layer from the leaf node to the root node, the third calculation including: For a leaf node, based on the noise indication information, a third optimization result corresponding to the second optimization result of the leaf node is determined, wherein the third optimization result is a rounded result or a natural number result; For non-leaf nodes, calculate the third sum of the third optimization results of their child nodes, and determine the third sum as the third optimization result of the non-leaf node; The third optimization result of the nodes corresponding to the multiple query results in the first query result tree is determined as the second noise-added result.

11. The method according to claim 10, wherein, The noise addition indication information indicates that the noise addition result is a natural number; as well as The step of determining the third optimization result corresponding to the second optimization result of the leaf node based on the noise indication information includes: If the second optimization result of the leaf node is negative, then 0 is determined as a natural number result, and this natural number result is used as the third optimization result corresponding to the second optimization result of the leaf node.

12. The method according to claim 8, wherein, The multiple query results are associated with noise-adding indication information, which indicates that the noise-adding result is an integer or a natural number. as well as The step of determining the second noise-adding result based on the second optimization result of the nodes corresponding to the multiple query results in the first query result tree includes: Based on the noise addition indication information, determine the third optimization result corresponding to the second optimization result of the node in the first query result tree, wherein the third optimization result is a rounded result or a natural number result; For the first query result tree, a fourth calculation is performed layer by layer from the root node to the leaf node, the fourth calculation including: For a non-leaf node, calculate the fourth sum of the third optimization results of its child nodes, and calculate the difference between the third optimization result of the non-leaf node and the fourth sum. The ratio of this difference to the number of child nodes of the non-leaf node is determined as a noise value. In response to the noise value being an integer, the noise value is superimposed on the third optimization result of the child node. The third optimization result of the nodes corresponding to the multiple query results in the first query result tree is determined as the second noise-added result.

13. A data processing apparatus based on differential privacy protection, comprising: The noise-adding unit is configured to, in response to obtaining multiple query results with a first correlation, use a differential privacy protection mechanism to add noise to the multiple query results respectively, so as to obtain multiple first noise-adding results corresponding to the multiple query results; The optimization unit is configured to optimize the plurality of first noise-adding results according to the first association relationship, so that the second association relationship between the plurality of second noise-adding results obtained after optimization is consistent with the first association relationship; The return unit is configured to return the plurality of second noise-adding results, wherein the second noise-adding results are deterministic; The noise-adding unit is further configured to: determine a first budget value for differential privacy protection corresponding to each of the plurality of query results; determine a root seed for differential privacy protection; for each query result among the plurality of query results, determine a query identifier corresponding to the query operation corresponding to the query result; generate a random number corresponding to the query operation based on the root seed and the query identifier; determine a noise value corresponding to the query result based on the first budget value corresponding to the query result and the random number corresponding to the query operation corresponding to the query result; and superimpose the noise value onto the query result to obtain a first noise-adding result corresponding to the query result. The optimization unit is further configured to: construct an initial query result tree for the plurality of query results based on the first association relationship; if there is a target leaf node in the initial query result tree, add at least one virtual child node to the target leaf node, such that the leaf nodes in the initial query result tree after adding the node have the same depth, wherein the target leaf node and the at least one virtual child node have the same value; determine the initial query result tree after adding the node as a first query result tree; the value of the node in the first query result tree is the query result among the plurality of query results; and the target leaf node is a leaf node with a depth less than the depth of the initial query result tree. The step of optimizing the plurality of first noise-added results according to the first association relationship includes: performing a first calculation layer by layer from the leaf node to the root node for the first query result tree; and after performing the first calculation, performing a second calculation layer by layer from the root node to the leaf node for the first query result tree.

14. A computer-readable storage medium having a computer program stored thereon, wherein, When the computer program is executed in the computer, it causes the computer to perform the method according to any one of claims 1-12.

15. A computing device comprising a memory and a processor, wherein, The memory stores executable code, and when the processor executes the executable code, it implements the method of any one of claims 1-12.