A data analysis method, a noise construction method, an apparatus, and a storage medium.

By configuring noise seeds for conditional information, only one storage space is needed for each conditional information, which solves the problem of storage space occupation caused by too many noise factors and achieves efficient differential privacy protection.

CN114282083BActive Publication Date: 2025-10-31ALIBABA GROUP HOLDING LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202011042696.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-09-28
Publication Date
2025-10-31
Estimated Expiration
2040-09-28

AI Technical Summary

Technical Problem

Under the Laplace mechanism, the number of noise factors in existing differential privacy protection schemes is huge, resulting in excessive storage space consumption.

Method used

Different noise seeds are configured for different conditions. When a data analysis request is received, random noise corresponding to each analysis attribute is derived from the noise seeds. Only one unit of storage space is needed to store the noise seed for each condition to generate the required random noise.

Benefits of technology

This significantly reduces storage pressure under differential privacy protection, decreases storage space requirements, and ensures the privacy protection effect of data analysis.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114282083B_ABST
    Figure CN114282083B_ABST
Patent Text Reader

Abstract

This application provides a data analysis method, a noise generation method, an apparatus, and a storage medium. In this application, different noise seeds can be configured for different conditional information. Upon receiving a data analysis request, the corresponding noise seed can be obtained, and random noise corresponding to each analysis attribute in the data analysis request can be derived based on the noise seed. Therefore, in this application, during differential privacy protection, only one unit of storage space is needed for each conditional information to store the corresponding noise seed to generate the required random noise, eliminating the need to provide a separate unit of storage space for each analysis attribute as in traditional solutions. This significantly reduces the storage pressure under differential privacy protection.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of data processing technology, and in particular to a data analysis method, a noise generation method, an apparatus, and a storage medium. Background Technology

[0002] To protect individual privacy from being leaked due to data release or data analysis, the Laplace mechanism can be used to perform differential privacy protection on population profiles.

[0003] Currently, under the Laplace mechanism, noise factors typically need to be stored separately for each attribute in a user profile. This results in a huge number of noise factors, requiring a significant amount of storage space. Summary of the Invention

[0004] This application provides a data analysis method, apparatus, and storage medium to improve the storage pressure of differential privacy protection under the Laplace mechanism.

[0005] This application provides a data analysis method, including:

[0006] Receive a data analysis request, the data analysis request containing conditional information and at least one analysis attribute;

[0007] Determine the target group that meets the conditions and the attribute analysis value of the target group under the at least one analysis attribute;

[0008] Obtain the noise seed corresponding to the condition information;

[0009] Based on the noise seed, random noise is added to each of the at least one attribute analysis value to generate analysis results.

[0010] This application also provides a data analysis method, including:

[0011] In response to a population analysis command, the target population is analyzed to obtain attribute analysis values ​​for at least one analysis attribute.

[0012] Obtain the noise seed corresponding to the target population;

[0013] Based on the noise seed, uniformly distributed noise factors are generated for each of the at least one analytical attribute;

[0014] Based on the noise factor corresponding to each of the at least one analytical attribute, determine the noise corresponding to each of the at least one analytical attribute;

[0015] Add corresponding noise to the attribute analysis values ​​under the at least one analysis attribute to generate a population profile corresponding to the target population.

[0016] This application also provides a noise construction method, including:

[0017] In response to a noise construction command, a noise seed corresponding to a target analysis label is obtained, wherein the target analysis label contains at least one analysis attribute;

[0018] Based on the noise seed, a first factor is generated for the target analysis label;

[0019] Based on the first factor, a second factor is generated for each of the at least one analytical attribute, wherein the second factors corresponding to the at least one analytical attribute are uniformly distributed;

[0020] Using the second factor corresponding to each of the at least one analytical attribute as a noise factor, noise corresponding to each of the at least one analytical attribute is generated.

[0021] This application also provides a computing device, including a memory, a processor, and a communication component;

[0022] The memory is used to store one or more computer instructions;

[0023] The processor is coupled to the memory and the communication component, and is used to execute the one or more computer instructions for:

[0024] The communication component receives a data analysis request, which includes conditional information and at least one analysis attribute.

[0025] Determine the target group that meets the conditions and the attribute analysis value of the target group under the at least one analysis attribute;

[0026] Obtain the noise seed corresponding to the condition information;

[0027] Based on the noise seed, random noise is added to each of the at least one attribute analysis value to generate analysis results.

[0028] This application also provides a computing device, including a memory and a processor;

[0029] The memory is used to store one or more computer instructions;

[0030] The processor is coupled to the memory and is used to execute the one or more computer instructions for:

[0031] In response to a population analysis command, the target population is analyzed to obtain attribute analysis values ​​for at least one analysis attribute.

[0032] Obtain the noise seed corresponding to the target population;

[0033] Based on the noise seed, uniformly distributed noise factors are generated for each of the at least one analytical attribute;

[0034] Based on the noise factor corresponding to each of the at least one analytical attribute, determine the noise corresponding to each of the at least one analytical attribute;

[0035] Add corresponding noise to the attribute analysis values ​​under the at least one analysis attribute to generate a population profile corresponding to the target population.

[0036] This application also provides a computing device, including a memory and a processor;

[0037] The memory is used to store one or more computer instructions;

[0038] The processor is coupled to the memory and is used to execute the one or more computer instructions for:

[0039] In response to a noise construction command, a noise seed corresponding to a target analysis label is obtained, wherein the target analysis label contains at least one analysis attribute;

[0040] Based on the noise seed, a first factor is generated for the target analysis label;

[0041] Based on the first factor, a second factor is generated for each of the at least one analytical attribute, wherein the second factors corresponding to the at least one analytical attribute are uniformly distributed;

[0042] Using the second factor corresponding to each of the at least one analytical attribute as a noise factor, noise corresponding to each of the at least one analytical attribute is generated.

[0043] This application also provides a computer-readable storage medium for storing computer instructions, which, when executed by one or more processors, cause the one or more processors to perform the aforementioned data analysis method or noise construction method.

[0044] In this embodiment, different noise seeds can be configured for different condition information. Upon receiving a data analysis request, the corresponding noise seed can be obtained, and random noise corresponding to each analysis attribute in the data analysis request can be derived based on the noise seed. Therefore, in this embodiment, during differential privacy protection, only one unit of storage space is needed for each condition information to store the corresponding noise seed to generate the required random noise, eliminating the need to provide a separate unit of storage space for each analysis attribute as in traditional solutions. This significantly reduces the storage pressure under differential privacy protection. Attached Figure Description

[0045] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:

[0046] Figure 1 A flowchart illustrating a data analysis method provided for an exemplary embodiment of this application;

[0047] Figure 2 A logical schematic diagram of a data analysis method provided for an exemplary embodiment of this application;

[0048] Figure 3 A schematic diagram of an analysis result provided for an exemplary embodiment of this application;

[0049] Figure 4 A schematic diagram of analysis tags and analysis attributes provided for an exemplary embodiment of this application;

[0050] Figure 5 A schematic diagram of the structure of a computing device is provided as another exemplary embodiment of this application;

[0051] Figure 6 A flowchart illustrating another data analysis method provided for an exemplary embodiment of this application;

[0052] Figure 7 This is a flowchart illustrating a noise construction method provided for an exemplary embodiment of this application. Detailed Implementation

[0053] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions of this application will be clearly and completely described below in conjunction with specific embodiments and corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0054] To address the technical problem of existing differential privacy protection schemes having a large number of noise factors and requiring significant storage space, some embodiments of this application propose the following: different noise seeds can be configured for different condition information. Upon receiving a data analysis request, the corresponding noise seed can be obtained, and random noise corresponding to each analysis attribute in the data analysis request can be derived based on the noise seed. Accordingly, in the differential privacy protection process of this application, only one unit of storage space is needed for each condition information to store the corresponding noise seed to generate the required random noise, without needing to provide a separate unit of storage space for each analysis attribute as in traditional schemes. This significantly reduces the storage pressure under differential privacy protection.

[0055] The technical solutions provided by the various embodiments of this application are described in detail below with reference to the accompanying drawings.

[0056] Figure 1 A flowchart illustrating a data analysis method provided for an exemplary embodiment of this application. Figure 2 This is a logical schematic diagram of a data analysis method provided for an exemplary embodiment of this application. The data analysis method provided in this embodiment can be executed by a data analysis device, which can be implemented as software or as a combination of software and hardware, and can be integrated into a computing device. Figure 1 As shown, the method includes:

[0057] Step 100: Receive a data analysis request, which includes conditional information and at least one analysis attribute;

[0058] Step 101: Determine the target group that meets the criteria and the attribute analysis value of the target group under at least one analysis attribute;

[0059] Step 102: Obtain the noise seed corresponding to the condition information;

[0060] Step 103: Based on the noise seed, add random noise to at least one attribute analysis value to generate analysis results.

[0061] The data analysis method provided in this embodiment can be applied to various scenarios requiring differential privacy protection, such as e-commerce, finance, and government affairs. The objects of differential privacy protection may differ in different application scenarios. These objects include, but are not limited to, personal or corporate information, transaction information, etc. This embodiment does not limit the application scenarios or the objects of protection.

[0062] In this embodiment, a data analysis service can be provided. Users can initiate data analysis requests and configure condition information and at least one analysis attribute in the data analysis request. For example, the data can be stored in a database, and users can initiate data analysis requests targeting the database. Furthermore, the users initiating data analysis requests may not be entirely the same in different application scenarios; for example, in an e-commerce scenario, users could be merchants, etc.

[0063] refer to Figure 1 and Figure 2 In step 100, a data analysis request can be received, and the condition information and at least one analysis attribute contained in the data analysis request can be parsed.

[0064] The conditional information includes, but is not limited to, time information, distance information, gender information, or other object description information.

[0065] In step 101, based on conditional information, object selection can be performed to identify target groups that meet the conditional information. For example, in an e-commerce scenario, the conditional information could be men who appeared within a 5-kilometer radius of store A on August 3rd. In this embodiment, people who meet this conditional information can be selected as the target group.

[0066] In this embodiment, data resources can be managed separately for different users. Each data resource may contain one or more initial group ranges. For example, if the object of differential privacy protection is an individual, a user's data resource may contain various initial group ranges such as marketing campaign-retained audiences, custom audiences, uploaded audiences, end-to-end audiences, and audiences involved in the entire process. The methods for generating different initial group ranges may not be entirely the same. For example, a marketing campaign-retained audience could be a group of participants collected during a marketing campaign, a custom audience could be a group selected by the user from a data warehouse using custom criteria, and an uploaded audience could be a group that the user collected offline, and so on. Thus, the characteristics of the groups under different initial group ranges may not be entirely the same.

[0067] Based on this, in this embodiment, an initial group range can be specified in the data analysis request, so that objects can be selected in the corresponding initial group range according to the condition information.

[0068] In this embodiment, the analytical attributes include, but are not limited to, the percentage of single individuals, the percentage of married individuals with children, and the percentage of individuals residing in first-tier cities. This embodiment does not limit the analytical attributes; users can configure any desired analytical attributes in the data analysis request. In practical applications, optional analytical attributes can be provided to users, who can select the desired attributes by clicking on them, and then configure the selected attributes in the data analysis request.

[0069] refer to Figure 1 and Figure 2 In step 101, data analysis can be performed on the target group from at least one dimension of the analysis attribute to determine the attribute analysis value of the target group under at least one analysis attribute. In practical applications, the attribute analysis value can preferentially use the first-level parameter of the original analysis result. For example, for the aforementioned single percentage, the number of single people in the target group can be used as the attribute analysis value, instead of the actual single percentage. This can effectively improve the strength of differential privacy protection.

[0070] In this embodiment, different noise seeds can be configured for different conditions. The noise seed for the same condition is unique and unchanging, which ensures that the analysis results for the same data analysis request from the user are consistent.

[0071] In this embodiment, the noise seed is used as the basis for deriving random noise. For example, if there are 100 analysis attributes in the data analysis request, in this embodiment, 100 random noises can be derived from one noise seed.

[0072] refer to Figure 1 and Figure 2 From a storage perspective, this embodiment only needs to store the noise seeds corresponding to the condition information. That is, it only needs to provide storage space for noise seeds separately for different condition information, instead of providing separate storage space for different analysis attributes as in traditional solutions. Typically, the storage space required for noise seeds is the same size as the storage space provided for a single analysis attribute in a traditional solution. Clearly, the amount of storage space required in this embodiment is significantly less than in traditional solutions. For example, for a condition information that corresponds to 100 analysis attributes, this embodiment only needs to store one noise seed, occupying 1*k (Bytes), while in a traditional solution, the required storage space would be 100*k (Bytes).

[0073] In this embodiment, noise seeds can be stored in a target storage area. The target storage area can be the local storage area of ​​the computing device executing the data analysis method provided in this embodiment, or it can be a remote storage area, etc. This embodiment does not limit the location of the target storage area.

[0074] Based on this, in step 102, the noise seed corresponding to the condition information contained in the data analysis request can be obtained. There are two scenarios here:

[0075] In one scenario, the conditional information included in the data analysis request is new and has not appeared before. In this case, a noise seed can be generated for the conditional information, and the corresponding noise seed can be saved in the target storage area for later use.

[0076] In this case, a random value can be generated for the conditional information; based on this random value, a noise seed corresponding to the conditional information can be constructed. In practical applications, a random number generator can be used to generate the above-mentioned random value; however, the method of generating random values ​​is not limited to this. Furthermore, to avoid the problem of overlapping random values ​​generated for different conditional information, the random number generator can record the random values ​​generated for previously occurring conditional information and generate random values ​​different from the previous random values ​​for the current conditional information. For example, the random values ​​corresponding to different conditional information can be evenly distributed.

[0077] In another scenario, the conditional information included in the data analysis request has appeared previously, meaning the conditional information is repetitive. In this case, the noise seed corresponding to the conditional information can be read directly from the target storage area.

[0078] In this embodiment, to identify the correspondence between condition information and noise seeds, a first type of field and a second type of field can be configured in the noise seed. The first type of field carries a random value, and the second type of field carries condition information. In practical applications, the second type of field can carry the content data of the condition information, or it can only carry a unique identifier for the condition information, such as an ID. Thus, the condition information corresponding to the noise seed can be identified through the second type of field contained in the noise seed.

[0079] Of course, this embodiment is not limited to this. In other possible implementations, this embodiment may also maintain the index information between the condition information and the noise seed, and record the condition information that has appeared before and the noise seed corresponding to each condition information in the index information.

[0080] Based on this, in step 102, it can be determined which of the above two processing methods to obtain the noise seed corresponding to the selection condition contained in the data analysis request by searching for whether there is a noise seed corresponding to the condition information from at least one noise seed stored in the target storage area.

[0081] In step 103, based on the noise seed obtained in step 102, random noise can be added to at least one attribute analysis value to generate analysis results.

[0082] In differential privacy protection, random noise needs to be added to each original analysis value to prevent data leakage. To this end, in step 103, several random noises can be derived from a noise seed and added to at least one attribute analysis value determined in step 101, thereby generating analysis results. The specific derivation process will be detailed later.

[0083] In this embodiment, different noise seeds can be configured for different condition information. Upon receiving a data analysis request, the corresponding noise seed can be obtained, and random noise corresponding to each analysis attribute in the data analysis request can be derived based on the noise seed. Therefore, in this embodiment, during differential privacy protection, only one unit of storage space is needed for each condition information to store the corresponding noise seed to generate the required random noise, without needing to provide a separate unit of storage space for each analysis attribute as in traditional solutions. This significantly reduces the storage pressure of differential privacy protection.

[0084] In the above or below embodiments, noise factors can be generated for at least one analysis attribute based on a noise seed; and random noise can be added to the analysis value of at least one attribute according to the noise factors corresponding to each of the at least one analysis attribute.

[0085] Under the Laplace mechanism, the inverse cumulative function is typically used to characterize random noise: Where μ is the expected value, which can usually be set to 0, and b is the standard deviation, which can affect the boundary of random noise. This can be used as the noise factor in this embodiment. Therefore, the noise factor can serve as the basis for generating random noise.

[0086] In this embodiment, noise factors can be derived from noise seeds, and then random noise can be generated based on the noise factors. The process of deriving noise factors from noise seeds and the process of generating random noise based on noise factors will be described in detail below.

[0087] Figure 3 This is a schematic diagram of an analysis result provided for an exemplary embodiment of this application.

[0088] refer to Figure 3 In this embodiment, analysis tags can be configured above analysis attributes, so that one analysis tag can contain one or more analysis attributes. For example, Figure 3 The analysis tag "Predict Career" includes analytical attributes such as "Company Employee", "Student", "Teacher", and "Civil Servant".

[0089] Accordingly, in this embodiment, optional analysis tags and optional analysis attributes under each analysis tag can be provided to the user. The user can directly select one or more target analysis tags according to their analysis needs. In this case, all analysis attributes under the target analysis tags are selected by default, thus configuring the selected target analysis tags and analysis attributes in the data analysis request. Alternatively, the user can select one or more target analysis attributes under the relevant analysis tags as needed, thereby configuring the relevant target analysis tags and selected target analysis attributes in the data analysis request. Thus, in this embodiment, the data analysis request can include conditional information, at least one target analysis tag, and at least one analysis attribute under each target analysis tag.

[0090] Based on this, in the process of deriving noise factors from noise seeds, a first factor can be generated for at least one target analysis label based on the noise seed; and a second factor can be generated for the analysis attributes under at least one target analysis label based on the first factor corresponding to each of the at least one target analysis label, serving as the noise factor corresponding to at least one analysis attribute.

[0091] To ensure consistent analysis results under the same conditions, analysis tags, and analysis attributes, this embodiment pre-constructs analysis tag sequences for different conditions. These sequences contain user-selectable analysis tags, which are ordered and in a fixed order, but this order does not imply any hierarchy. Similarly, analysis attribute sequences can be constructed for each analysis tag in the analysis tag sequence. Each analysis tag corresponds to an analysis attribute sequence containing all analysis attributes under that tag. These attributes are also ordered and in a fixed order, but this order does not imply any hierarchy.

[0092] Based on this, in this embodiment, a uniformly distributed first vector can be constructed for the analysis label sequence based on the noise seed corresponding to the conditional information contained in the data analysis request. The elements in the first vector correspond to each analysis label in the analysis label sequence. Accordingly, based on the position of at least one target analysis label in the analysis label sequence, the element value corresponding to at least one target analysis label in the first vector can be determined as a first factor corresponding to at least one target analysis label.

[0093] For example, if the analysis label sequence contains N analysis labels, then it can be based on a noise seed. Construct the first vector

[0094] Furthermore, in practical applications, a noise seed can be used as a basis to generate uniformly distributed random numbers corresponding to the aforementioned analysis label sequence, thereby constructing the first vector. The random algorithm can be the Rondom algorithm, etc., and this embodiment does not limit it. Taking the Rondom algorithm as an example, the next function can be used to generate uniformly distributed random numbers. Moreover, with the same noise seed, the generated first vector remains unchanged, which provides a basis for ensuring consistent analysis results across multiple repeated data analysis requests.

[0095] For any target analysis label, a uniformly distributed second vector can be constructed for the analysis attribute sequence corresponding to that target analysis label based on the element values ​​corresponding to it in the first vector. The elements in the second vector correspond to each analysis attribute in the analysis attribute sequence. The element values ​​corresponding to each analysis attribute under the target analysis label in the second vector can be determined as the second factors corresponding to these analysis attributes.

[0096] Continuing the previous example, if the target analysis label contains M analysis attributes, and the element corresponding to the target analysis label in the first vector is... Based on Constructing the second vector In practical applications, M can be the maximum value among the number of analytical attributes contained in each analytical tag. Thus, there may be cases where a target analytical tag actually contains fewer than M analytical attributes. In such cases, zeros can be used to pad the elements in the second vector.

[0097] Similarly, in practical applications, a second vector can be constructed based on the element value at the position of at least one target analysis label in the analysis label sequence, using a random algorithm to generate uniformly distributed random numbers corresponding to the analysis attribute sequence of at least one target analysis label. Taking the rondom algorithm as an example, the next function can be used to generate uniformly distributed random numbers. Moreover, when the noise seed is the same, the generated second vector remains unchanged. This ensures that the analysis results are consistent for multiple data analysis requests for the same selection condition parameters, the same analysis label, and the same analysis attribute.

[0098] Based on this, a noise factor matrix corresponding to the conditional information contained in the data analysis request can be constructed according to the first vector and the second vector.

[0099] Continuing from the previous example, we can construct an N*M noise factor matrix:

[0100]

[0101] Accordingly, in this embodiment, at least one analysis attribute included in the data analysis request can find a corresponding element value in the above noise factor matrix, which serves as a noise factor.

[0102] In practical applications, for analysis attributes not included in the data analysis request, the response elements in the aforementioned noise factor matrix can be set to 0, thus saving computational effort in subsequent calculations. Of course, this embodiment does not limit this.

[0103] Based on the noise factor matrix described above, a noise matrix can be generated:

[0104]

[0105] Taking the Laplace mechanism for differential privacy protection as an example, a noise matrix conforming to the Laplace property can be generated based on the noise factor matrix. In practical applications, Laplace noise can be characterized using your cumulative distribution function: Where u is the expectation and b is the variance. Let u be the noise factor. In this embodiment, the method for determining u and b is not limited.

[0106] Accordingly, in this embodiment, an attribute analysis value matrix corresponding to the data analysis request can also be constructed based on the attribute analysis values ​​under at least one analysis attribute, the position of the target analysis label to which each of the at least one analysis attribute belongs in the analysis label sequence, and the position in the corresponding analysis attribute sequence:

[0107]

[0108] In the attribute analysis value matrix, elements other than those corresponding to at least one analysis attribute included in the data analysis request can be recorded as 0.

[0109] Thus, based on the noise matrix and attribute analysis value matrix described above, the analysis results can be generated:

[0110]

[0111] In other words, random noise is superimposed on the attribute analysis value of at least one analysis attribute included in the data analysis request to obtain the analysis result of at least one analysis attribute.

[0112] In this embodiment, a noise factor matrix can be derived based on the noise seed configured for the conditional information. This noise factor matrix necessarily contains noise factors corresponding to at least one analysis attribute in the data analysis request. Then, based on the derived noise factors, random noise can be added to the attribute analysis value corresponding to at least one analysis attribute. Thus, in this embodiment, only the noise seed configured for the conditional information needs to be stored, eliminating the need to store noise factors separately for different conditional information and different analysis attributes. This significantly reduces the storage pressure during differential privacy protection and ensures that the added random noise meets the requirements of differential privacy protection.

[0113] The following will be based on Figure 3 Taking the "civil servant" attribute in the analysis as an example, we will provide an exemplary description of the data analysis solution.

[0114] The data collector can provide data analysis services to external parties, and can configure several optional analysis tags and optional analysis attributes under each analysis tag in the data analysis service. Figure 4 This is a schematic diagram illustrating analysis tags and analysis attributes provided for an exemplary embodiment of this application. (Reference) Figure 4 Users can select the analysis tag "Predict Occupation," which will automatically select all analysis attributes under that tag, such as "Civil Servant." Alternatively, users can customize the analysis tags and attributes. In this embodiment, custom analysis tags and attributes can be added to the end of the analysis tag and attribute sequences during subsequent random noise generation, thus adding random noise to the custom analysis tags or attributes.

[0115] In practical applications, users can set specific criteria, such as male consumers appearing within 5 kilometers of the target store on August 3rd; users can also select the analysis tag "Predict Occupation" (see reference). Figure 4 (or other analysis tags and attributes). Based on this, a data analysis request can be generated, which includes conditional information, multiple analysis tags, and multiple analysis attributes. It should be understood that the analysis tags and attributes selected by the user will be presented in the final analysis report (e.g., ...). Figure 3 (As shown).

[0116] Based on this, the data analysis method provided in this implementation can check whether there are noise seeds corresponding to the condition information in the target storage area, wherein the target storage area stores noise seeds corresponding to different condition information.

[0117] If a data analysis request has previously been made regarding the condition "male consumers appearing within 5 kilometers of the target store on August 3rd," the target storage area will contain the corresponding noise seed. If the condition has never been analyzed, the target storage area will not contain the corresponding noise seed. For the latter case, a noise seed can be prepared.

[0118] For example, a random number generator can be used to generate a random value for the conditional information, and a noise seed can be constructed based on the random value as the noise seed corresponding to the conditional information. The noise seed can then be stored in the target storage area.

[0119] It is worth noting that in the target storage area, one noise seed is stored for each conditional information, without needing to store any noise-related parameters for the analysis label or analysis attribute level.

[0120] In this embodiment, based on the noise seed, noise factors can be generated for at least one analysis attribute selected by the user; and random noise can be calculated using the noise factors.

[0121] For example, if there are N analysis tags, including fixed analysis tags provided by the data analysis service and user-defined tags, and each analysis tag has M analysis attributes, where M is the maximum number of analysis attributes contained in each analysis tag, then analysis tags with fewer than M analysis attributes can be padded with 0. Furthermore, a sequence of analysis tags and a sequence of analysis attributes under each analysis tag can be constructed to solidify the analysis order between the analysis tags and attributes. Here, the analysis order is only for calculation convenience and has no inherent hierarchy.

[0122] Building upon this, a first vector following a uniform distribution can be constructed for the analysis label sequence using a noise seed and a random algorithm. Taking the analysis label "predicted occupation" as an example, a second vector following a uniform distribution can be constructed for the analysis attribute sequence corresponding to "predicted occupation" using the element value corresponding to "predicted occupation" in the first vector and a random algorithm. The element value in the second vector corresponding to the analysis attribute "civil servant" can then be used as the noise factor for "civil servant". Of course, the noise factors corresponding to other analysis attributes in the data analysis request can also be obtained.

[0123] Based on the noise factor, the corresponding random noise can be calculated using the aforementioned formula for the inverse cumulative function. Since the noise factor exhibits random characteristics, the calculated random noise also conforms to random characteristics, thus meeting the requirements for differential privacy protection.

[0124] It is worth noting that in practical applications, in the process of calculating random noise, in addition to the noise factor in this embodiment affecting the calculation results, other noise parameters also affect the calculation results. This embodiment does not limit the method for determining these other noise parameters; for example, traditional methods can be used to determine these other noise parameters.

[0125] In one possible technical solution, in this embodiment, the target noise parameter can be adaptively determined from the dimension of the analysis label. Each analysis attribute under the analysis label can use the same target noise parameter and use its corresponding noise factor to calculate its own random noise.

[0126] Taking the first analysis attribute as an example, the first analysis attribute can be any one of at least one analysis attribute in the data analysis request. In this embodiment, the original analysis value corresponding to the first analysis label to which the first analysis attribute belongs can be determined; from at least one candidate noise parameter corresponding to the first analysis label, a target noise parameter matching the original analysis value can be selected; based on the target noise parameter and the noise factor corresponding to the first analysis attribute, the target random noise under the first analysis attribute can be calculated; and the target random noise can be added to the attribute analysis value corresponding to the first analysis attribute.

[0127] In this embodiment, the noise parameter can be a factor that affects the noise boundary corresponding to the initial population range during the noise calculation process. For example, the standard deviation b under the Laplace mechanism can be used as the noise parameter in this embodiment. In addition, at least one noise parameter corresponding to different initial population ranges may not be exactly the same.

[0128] In this embodiment, at least one noise parameter can be pre-configured for a single initial population range, with different noise parameters corresponding to different population sizes. In one possible approach, the initial population range can be progressively narrowed based on its order of magnitude to determine multiple segment values. Noise parameters are then configured for each of these segment values ​​to obtain at least one noise parameter corresponding to the initial population range. The at least one noise parameter corresponding to the initial population range specified in the data analysis request can serve as a candidate noise parameter for each analysis label in the data analysis request.

[0129] The original analysis value of the first analysis label can be the median of the attribute analysis values ​​of each analysis attribute contained in the first analysis label. Of course, this embodiment is not limited to this.

[0130] Accordingly, in this embodiment, noise parameters can be adaptively selected based on the original analysis values ​​under the analysis labels. Then, random noise to be added to the original analysis values ​​under the analysis labels is determined based on the selected noise parameters, thereby obtaining the analysis results under the analysis labels. Therefore, in this embodiment, during differential privacy protection, the original analysis values ​​of different analysis labels can be used as a basis to adaptively determine the noise parameters used for different analysis labels, thereby reasonably controlling the range of noise added under different analysis labels. This ensures that the range of added noise matches the original analysis values, avoiding the problem of excessive or insufficient added noise, thus effectively protecting the original analysis values. This not only guarantees data security but also ensures the usability of the analysis results.

[0131] The calculated random noise can then be superimposed onto the attribute analysis values ​​corresponding to the multiple analysis attributes included in the data analysis request to obtain the corresponding analysis results. Taking "civil servants" as an example, if the corresponding attribute analysis value is 300 people and the calculated random noise is 40 people, then the 40 people can be superimposed onto the 300 people, and then divided by the total number of people selected by the selection condition parameters (1000 people) to obtain the analysis result of 3.40% for "civil servants".

[0132] From a storage perspective, traditional methods require storing noise factors separately for each analytical attribute contained in each analytical tag under the conditional information. If the size of each stored data is k (Bytes), the total required storage space is M*N*k (Bytes). However, in this implementation, only one noise seed needs to be stored for the conditional information, which only requires the space of one stored data entry, k (Bytes). Taking an average of 50 analytical tags corresponding to one conditional information entry, and each analytical tag containing an average of 5 analytical attributes, the storage resource savings achieved using the data analysis method of this embodiment are:

[0133]

[0134] In this way, instead of needing to read M*N records to add noise to a single data analysis, now only one noise seed needs to be read to add noise to a single data analysis, reducing IO consumption.

[0135] It should be noted that the execution subject of each step of the method provided in the above embodiments can be the same device, or the method can be executed by different devices. For example, the execution subject of steps 101 to 103 can be device A; or the execution subject of steps 101 and 102 can be device A, and the execution subject of step 103 can be device B; and so on.

[0136] Furthermore, some processes described in the above embodiments and accompanying drawings include multiple operations appearing in a specific order. However, it should be clearly understood that these operations may not be executed in the order they appear herein, or they may be executed in parallel. The operation numbers, such as 101, 102, etc., are merely used to distinguish different operations and do not represent any execution order. Additionally, these processes may include more or fewer operations, and these operations may be executed sequentially or in parallel. It should be noted that the descriptions such as "first" and "second" in this document are used to distinguish different messages, devices, modules, etc., and do not represent a sequential order, nor do they limit "first" and "second" to different types.

[0137] Figure 5 This is a schematic diagram of the structure of a computing device provided as another exemplary embodiment of this application. For example... Figure 5 As shown, the computing device includes: a memory 50, a processor 51, and a communication component 52.

[0138] The processor 51, coupled to the memory 50 and the communication component 52, is used to execute the computer program in the memory 50 for:

[0139] The communication component 52 receives a data analysis request, which includes conditional information and at least one analysis attribute.

[0140] Identify the target groups that meet the criteria and the attribute analysis values ​​of the target groups under at least one analysis attribute;

[0141] Obtain the noise seed corresponding to the condition information;

[0142] Based on the noise seed, random noise is added to at least one attribute analysis value to generate analysis results.

[0143] In an optional embodiment, when the processor 51 acquires the noise seed corresponding to the condition information, it is used to:

[0144] From at least one noise seed stored in the target storage area, check if there is a noise seed corresponding to the condition information;

[0145] If it exists, read the noise seed corresponding to the condition information from the target storage area.

[0146] In an optional embodiment, the processor 51 is further configured to:

[0147] If it does not exist, then it is conditional information, and a random value is generated;

[0148] Based on the random values, construct the noise seed corresponding to the condition information;

[0149] Store the noise seed corresponding to the condition information in the target storage area.

[0150] In an alternative embodiment, when adding random noise to at least one attribute analysis value based on a noise seed, the processor 51 is configured to:

[0151] Based on the noise seed, generate noise factors for at least one analysis attribute;

[0152] Random noise is added to the analysis value of at least one attribute based on the noise factor corresponding to each of the at least one analysis attribute.

[0153] In an optional embodiment, the data analysis request is further configured to include at least one target analysis label and an inclusion relationship between the at least one target analysis label and at least one analysis attribute. When the processor 51 generates noise factors for each of the at least one analysis attribute based on a noise seed, it is configured to:

[0154] Based on the noise seed, generate a first factor for at least one target analysis label;

[0155] Based on the first factor corresponding to each of the at least one target analysis label, a second factor is generated for each analysis attribute under the at least one target analysis label, which serves as a noise factor corresponding to the at least one analysis attribute.

[0156] In an alternative embodiment, when generating a first factor for at least one target analysis label based on a noise seed, the processor 51 is configured to:

[0157] Based on the noise seed, a uniformly distributed first vector is constructed for the analysis label sequence. The analysis label sequence contains N ordered analysis labels, and at least one target analysis label belongs to the analysis label sequence.

[0158] When the processor 51 generates second factors for the analysis attributes under at least one target analysis label based on the first factors corresponding to each of the at least one target analysis label, it is used to:

[0159] Based on the element values ​​at the position of at least one target analysis label in the analysis label sequence, construct a uniformly distributed second vector for the analysis attribute sequence corresponding to each of the at least one target analysis label, wherein the analysis attribute sequence contains M ordered analysis attributes;

[0160] Where N and M are positive integers.

[0161] In an optional embodiment, the processor 51 is further configured to:

[0162] Construct an N*M matrix based on the first and second vectors, which serves as the noise factor matrix corresponding to the conditional information.

[0163] When adding random noise to the analysis values ​​of at least one attribute based on its corresponding noise factor, it is used for:

[0164] An attribute analysis value matrix is ​​constructed based on the attribute analysis value under at least one analysis attribute, the position of the target analysis label to which each of the at least one analysis attribute belongs in the analysis label sequence, and the position of the target analysis label to which each attribute belongs in the analysis attribute sequence.

[0165] Generate a noise matrix based on the noise factor matrix;

[0166] The analysis results are generated based on the attribute analysis value matrix and the noise matrix.

[0167] In an alternative embodiment, when constructing a uniformly distributed first vector based on a noise seed, the processor 51 is used to:

[0168] Based on the noise seed, a random algorithm is used to generate random numbers that correspond to each analysis label in the analysis label sequence and are uniformly distributed, in order to construct the first vector;

[0169] When constructing a uniformly distributed second vector for each of the analysis attribute sequences corresponding to at least one target analysis label based on the element values ​​at the position of the at least one target analysis label in the analysis label sequence, it is used for:

[0170] Based on the element values ​​at the position of at least one target analysis label in the analysis label sequence, a random algorithm is used to generate random numbers that correspond to the analysis attributes in the analysis attribute sequence of at least one target analysis label and are uniformly distributed, in order to construct a second vector.

[0171] In an optional embodiment, when the processor adds random noise to the analysis values ​​of at least one attribute based on the noise factor corresponding to each of the at least one analysis attribute, it is configured to:

[0172] Determine the original analysis value corresponding to the first analysis label to which the first analysis attribute belongs;

[0173] Select the target noise parameter that matches the original analysis value from at least one candidate noise parameter corresponding to the first analysis label;

[0174] Calculate the target random noise under the first analysis attribute based on the target noise parameters and the noise factor corresponding to the first analysis attribute;

[0175] Add the target random noise to the attribute analysis value corresponding to the first analysis attribute;

[0176] The first analytical attribute can be any one of at least one analytical attribute.

[0177] In one optional embodiment, the noise seed includes a first type of field and a second type of field. The first type of field is used to carry a random value, and the second type of field is used to carry condition information corresponding to the noise seed.

[0178] It is worth noting that the technical details of the above-mentioned embodiments of the computing device can be referred to the descriptions in the relevant embodiments of the aforementioned data analysis method. To save space, they will not be repeated here, but this should not cause any loss to the scope of protection of this application.

[0179] Furthermore, such as Figure 5 As shown, the computing device also includes other components such as a power supply component 53. Figure 5 The diagram only shows some components and does not mean that the computing device includes only these components. Figure 5 The components shown.

[0180] Accordingly, embodiments of this application also provide a computer-readable storage medium storing a computer program, which, when executed, can perform the steps that can be executed by a computing device in the above method embodiments.

[0181] Figure 6 A flowchart illustrating another data analysis method provided for an exemplary embodiment of this application. (Reference) Figure 6 The data analysis method includes:

[0182] Step 600: In response to the crowd analysis command, analyze the target crowd to obtain attribute analysis values ​​under at least one analysis attribute;

[0183] Step 601: Obtain the noise seed corresponding to the target audience;

[0184] Step 602: Based on the noise seed, generate noise factors for at least one analytical attribute contained in the crowd profile;

[0185] Step 603: Determine the noise corresponding to at least one analytical attribute based on the noise factor corresponding to each of the at least one analytical attribute;

[0186] Step 604: Add corresponding noise to the attribute analysis value under at least one analysis attribute to obtain the analysis results of the population profile.

[0187] The data analysis method provided in this embodiment can be applied to various scenarios that require population profiling analysis. This embodiment does not limit the application scenarios. Figure 3 As an example of a user profile, the user profile may include at least one analytical label, such as... Figure 3 In the context of "predicting careers," a single analysis label can contain at least one analysis attribute, for example... Figure 3 In the context of "Predicting Occupations," analytical attributes such as "Company Employee" and "Student" are included. Furthermore, the analytical tags and attributes included in the user profile can vary widely across different application scenarios.

[0188] During the research process, the applicant discovered that differential privacy protection can be applied to crowd profiling to prevent the leakage of individual data. However, implementing the Laplace mechanism for differential privacy requires storing a completely random noise seed for each analytical attribute included in the crowd profiling. This necessitates storing a large number of noise seeds for each crowd profiling session, which not only consumes excessive storage resources but also frequently results in low processing efficiency due to concurrent access to the noise seeds.

[0189] In this embodiment, to improve these problems, an innovative data analysis method is proposed to save storage resources occupied by noise seeds and improve the efficiency of generating crowd profiles.

[0190] In step 600, in response to a population analysis instruction, the target population can be analyzed to obtain attribute analysis values ​​under at least one analysis attribute.

[0191] In practical applications, taking a brand owner as an example user, a single brand owner may include multiple brands, and each brand may contain multiple different customer groups. These customer groups may be those accumulated from marketing campaigns, those uploaded by the brand owner to the data analysis platform provided in this embodiment, or those selected through conditional information, etc. This embodiment does not limit the specifications or types of customer groups.

[0192] In this embodiment, the analysis unit is a population group. After analyzing the target population, attribute analysis values ​​for at least one analytical attribute can be obtained. These attribute analysis values ​​are the original analysis results, i.e., the values ​​before noise is added. For example, Figure 3 In the provided user profile, the attribute "student" will correspond to an attribute analysis value. In subsequent step 604, noise will be added to the attribute analysis value.

[0193] In this embodiment, the target population can be referred to as mentioned above. Figure 1 One of the target groups in the corresponding data analysis method embodiments, of course. Figure 1 The target group in the corresponding embodiments is not limited to the "crowd" in this embodiment. In this embodiment, a noise seed corresponding to the target group can be pre-constructed. (See reference...) Figure 1 In a corresponding embodiment, a random value can be generated for the target group; based on this random value, a noise seed corresponding to the target group can be constructed. For specific technical details, please refer to... Figure 1 The relevant descriptions in the corresponding embodiments will not be repeated here.

[0194] It should be emphasized that in this embodiment, only one noise seed needs to be stored for the target group, instead of storing separate noise seeds for each of the at least one analysis attribute mentioned in step 600, thereby effectively reducing the number of noise seeds and the amount of storage resources required.

[0195] Based on this, in step 601, uniformly distributed noise factors can be generated for at least one analytical attribute based on the noise seed. This ensures that the noise factors corresponding to at least one analytical attribute meet the requirements of differential privacy protection, that is, the noise factors are uniformly distributed to guarantee the generation of random noise.

[0196] Regarding the scheme for generating uniformly distributed noise factors for at least one analytical attribute based on noise seeds, only the framework of the scheme is briefly described below. For technical details, please refer to [reference needed]. Figure 1 The relevant descriptions in the corresponding embodiments will not be repeated here to save space.

[0197] In this embodiment, the population analysis instruction also includes at least one analysis label and the inclusion relationship between at least one analysis label and at least one analysis attribute. Based on this, in step 601, a first factor can be generated for each of the at least one analysis label based on a noise seed; and a second factor can be generated for each of the analysis attributes under the at least one analysis label based on the first factor corresponding to each of the at least one analysis label, as a noise factor corresponding to the at least one analysis attribute.

[0198] In the process of generating a first factor for at least one target analysis label based on a noise seed, a uniformly distributed first vector can be constructed for the analysis label sequence based on the noise seed. The analysis label sequence contains N ordered analysis labels, and at least one analysis label is included in the analysis label sequence.

[0199] In the process of generating second factors for the analytical attributes under at least one analytical label based on the first factor corresponding to each of at least one analytical label, a uniformly distributed second vector can be constructed for the analytical attribute sequence corresponding to each of at least one analytical label based on the element values ​​at the position of the at least one analytical label in the analytical label sequence. The analytical attribute sequence contains M ordered analytical attributes; where N and M are positive integers.

[0200] In the process of constructing a uniformly distributed first vector based on a noise seed, a random algorithm can be used to generate random numbers that correspond to each analysis label in the analysis label sequence and are uniformly distributed, based on the noise seed, in order to construct the first vector.

[0201] In the process of constructing a uniformly distributed second vector for each of the analysis attribute sequences corresponding to at least one analysis label based on the element values ​​of the position of at least one analysis label in the analysis label sequence, a random algorithm can be used to generate random numbers that correspond to the analysis attributes in the analysis attribute sequences of at least one analysis label and are uniformly distributed, in order to construct the second vector.

[0202] Based on this, in this embodiment, an N*M matrix can also be constructed according to the first vector and the second vector as the noise factor matrix corresponding to the target population.

[0203] Based on the noise factor matrix, in step 603, a noise matrix can be generated.

[0204] It is worth noting that in practical applications, in the above-mentioned noise calculation process, besides the noise factor in this embodiment affecting the noise calculation results, other noise parameters also affect the random noise calculation results. This embodiment does not limit the method for determining other noise parameters; for example, traditional methods can be used to determine other noise parameters. Furthermore, noise parameters can be factors that affect the noise boundary corresponding to the initial population range during the noise calculation process. For example, the standard deviation *b* under the Laplace mechanism can be used as a noise parameter in this embodiment. Additionally, at least one noise parameter may not be completely identical for different population groups.

[0205] In one possible technical solution, in this embodiment, the target noise parameter can be adaptively determined from the dimension of the analysis label. Each analysis attribute under the analysis label can use the same target noise parameter and use its corresponding noise factor to calculate its own random noise.

[0206] Taking the first analysis attribute as an example, the first analysis attribute can be any one of at least one analysis attribute in the population analysis request. In this embodiment, the original analysis value corresponding to the first analysis tag to which the first analysis attribute belongs can be determined; from at least one candidate noise parameter corresponding to the first analysis tag, a target noise parameter matching the original analysis value can be selected; and the noise under the first analysis attribute can be calculated based on the target noise parameter and the noise factor corresponding to the first analysis attribute.

[0207] Accordingly, in this embodiment of the application, during the differential privacy protection process, noise parameters can be configured differently for groups of different orders of magnitude. This allows for the adaptive determination of the noise parameters used for different analysis labels based on the order of magnitude of the groups corresponding to the original analysis values ​​under different analysis labels. This reasonably controls the range of noise added under different analysis labels, ensuring that the range of added noise matches the original analysis values, avoiding the problem of excessively large or small noise levels, thereby effectively protecting the original analysis values. This not only guarantees data security but also ensures the usability of the analysis results.

[0208] Based on this, in step 604, an attribute analysis value matrix can be constructed based on the attribute analysis values ​​under at least one analysis attribute, the position of the analysis label to which each of the at least one analysis attribute belongs in the analysis label sequence, and the position in the analysis attribute sequence corresponding to the analysis label to which each belongs; and a population profile corresponding to the target population is generated based on the attribute analysis value matrix and the noise matrix.

[0209] It is worth noting that the technical details of the above-mentioned embodiments of the data analysis method can be found in the foregoing. Figure 1The descriptions of the corresponding data analysis methods in the relevant embodiments are omitted here to save space, but this should not cause any loss to the scope of protection of this application.

[0210] Figure 6 The corresponding data analysis method can be executed by a data analysis device, which can be implemented as software or a combination of software and hardware, and can be integrated into a computing device. This computing device may include a memory and a processor.

[0211] The processor, coupled with memory and communication components, executes computer programs stored in memory for:

[0212] In response to a population analysis command, the target population is analyzed to obtain attribute analysis values ​​for at least one analysis attribute.

[0213] Obtain the noise seed corresponding to the target audience;

[0214] Based on the noise seed, generate uniformly distributed noise factors for at least one analytical attribute.

[0215] Based on the noise factor corresponding to at least one analytical attribute, determine the noise corresponding to each of the at least one analytical attribute;

[0216] Add corresponding noise to the attribute analysis value under at least one analysis attribute to generate a population profile corresponding to the target population.

[0217] For technical details regarding this computing device embodiment, please refer to the foregoing. Figure 1 and Figure 6 The descriptions of the corresponding data analysis methods in the relevant embodiments are omitted here to save space, but this should not cause any loss to the scope of protection of this application.

[0218] Figure 7 This is a schematic flowchart illustrating a noise generation method provided for an exemplary embodiment of this application. (Reference) Figure 7 The noise construction method includes:

[0219] Step 700: In response to the noise construction instruction, obtain the noise seed corresponding to the target analysis label, where the target analysis label contains at least one analysis attribute;

[0220] Step 701: Based on the noise seed, generate the first factor for the target analysis label;

[0221] Step 702: Based on the first factor, generate a second factor for at least one analytical attribute, wherein the second factors corresponding to the at least one analytical attribute are uniformly distributed;

[0222] Step 703: Using the second factor corresponding to at least one analytical attribute as a noise factor, generate noise corresponding to at least one analytical attribute.

[0223] The noise construction method provided in this embodiment can be applied to various scenarios that require the construction of random noise, such as differential privacy protection scenarios.

[0224] In this embodiment, noise seeds can be pre-created for the analysis labels. These noise seeds can be the noise seeds corresponding to the group to be analyzed in a single data analysis. In a single data analysis, at least one analysis attribute under at least one analysis label can be used to analyze the group to be analyzed. For example, the group to be analyzed can be a population, but this embodiment is not limited to this.

[0225] In this embodiment, a first factor can be generated for the target analysis label based on a noise seed; based on the first factor corresponding to the target analysis label, a second factor can be generated for each analysis attribute under the target analysis label, serving as a noise factor corresponding to at least one analysis attribute.

[0226] Accordingly, in this embodiment, at least one noise factor corresponding to each analysis attribute can be derived based on the noise seed corresponding to the target analysis label. This way, only one noise seed needs to be stored for a group or an analysis label, instead of storing a separate noise seed for each analysis attribute in the data analysis, which effectively saves storage resources.

[0227] In this embodiment, based on the noise seed, uniformly distributed noise factors can be generated for at least one analytical attribute. This ensures that the noise factors corresponding to at least one analytical attribute meet the requirements of differential privacy protection, i.e., the noise factors are uniformly distributed to guarantee the generation of random noise.

[0228] Regarding the scheme for generating uniformly distributed noise factors for at least one analytical attribute based on noise seeds, the following is only a brief overview of the scheme framework. For technical details, please refer to [reference needed]. Figure 1 The relevant descriptions in the corresponding embodiments will not be repeated here to save space.

[0229] In this embodiment, during the process of generating the first factor for the target analysis label based on the noise seed, a uniformly distributed first vector can be constructed for the analysis label sequence based on the noise seed. The analysis label sequence contains N ordered analysis labels, and the target analysis label is included in the analysis label sequence. In practical applications, the analysis label sequence can contain all the analysis labels required for a single data analysis; however, this embodiment is not limited to this.

[0230] In the process of generating second factors for each analytical attribute under the target analytical label based on the first factor corresponding to the target analytical label, a uniformly distributed second vector can be constructed for the analytical attribute sequence corresponding to the target analytical label based on the element value at the position of the target analytical label in the analytical label sequence. The analytical attribute sequence contains M ordered analytical attributes; where N and M are positive integers.

[0231] In the process of constructing a uniformly distributed first vector based on a noise seed, a random algorithm can be used to generate random numbers that correspond to each analysis label in the analysis label sequence and are uniformly distributed, based on the noise seed, in order to construct the first vector.

[0232] In the process of constructing a uniformly distributed second vector based on the element values ​​of the target analysis label at its position in the analysis label sequence, a random algorithm can be used to generate random numbers that correspond to the analysis attributes in the analysis attribute sequence of the target analysis label and are uniformly distributed, based on the element values ​​of the target analysis label at its position in the analysis label sequence, in order to construct the second vector.

[0233] Based on this, in this embodiment, an N*M matrix can also be constructed according to the first vector and the second vector, serving as the noise factor matrix corresponding to the group to be analyzed. Referring to the position of the target analysis label and its various analysis attributes in the noise factor matrix, a row or column of elements in the noise factor matrix represents the noise factor of each analysis attribute under the target analysis label in this embodiment.

[0234] In this embodiment, in step 703, noise corresponding to at least one analytical attribute can be generated based on the noise factor corresponding to each of the at least one analytical attribute. For example, a noise matrix can be generated based on the noise factor matrix, and the noise corresponding to each of the at least one analytical attribute is located in the noise matrix.

[0235] It is worth noting that in practical applications, in the above-mentioned noise calculation process, besides the noise factor in this embodiment affecting the noise calculation results, other noise parameters also affect the random noise calculation results. This embodiment does not limit the method for determining other noise parameters; for example, traditional methods can be used to determine other noise parameters. Furthermore, noise parameters can be factors that affect the noise boundary corresponding to the initial population range during the noise calculation process. For example, the standard deviation *b* under the Laplace mechanism can be used as a noise parameter in this embodiment. Additionally, at least one noise parameter may not be completely identical for different population groups.

[0236] In one possible technical solution, in this embodiment, the target noise parameter can be adaptively determined from the dimension of the analysis label. Each analysis attribute under the analysis label can use the same target noise parameter and use its corresponding noise factor to calculate its own random noise.

[0237] Taking the first analysis attribute as an example, the first analysis attribute can be any analysis attribute under the target analysis label. In this embodiment, the original analysis value corresponding to the target analysis label can be determined; from at least one candidate noise parameter corresponding to the target analysis label, a target noise parameter matching the original analysis value can be selected; and the noise under the first analysis attribute can be calculated based on the target noise parameter and the noise factor corresponding to the first analysis attribute.

[0238] Accordingly, in this embodiment of the application, during the differential privacy protection process, noise parameters can be configured differently for groups of different orders of magnitude. This allows for the adaptive determination of the noise parameters used for different analysis labels based on the order of magnitude of the groups corresponding to the original analysis values ​​under different analysis labels. This reasonably controls the range of noise added under different analysis labels, ensuring that the range of added noise matches the original analysis values, avoiding the problem of excessively large or small noise levels, thereby effectively protecting the original analysis values. This not only guarantees data security but also ensures the usability of the analysis results.

[0239] It is worth noting that the technical details of the various embodiments of the noise construction method described above can be found in the foregoing. Figure 1 The descriptions of the corresponding data analysis methods in the relevant embodiments are omitted here to save space, but this should not cause any loss to the scope of protection of this application.

[0240] Figure 7 The corresponding data analysis method can be executed by a noise generation device, which can be implemented as software or a combination of software and hardware, and can be integrated into a computing device. This computing device may include memory and a processor.

[0241] The processor, coupled with memory and communication components, executes computer programs stored in memory for:

[0242] In response to the noise construction command, obtain the noise seed corresponding to the target analysis label, and the target analysis label contains at least one analysis attribute;

[0243] Based on the noise seed, a first factor is generated for the target analysis label;

[0244] Based on the first factor, a second factor is generated for each of at least one analytical attribute, wherein the second factors corresponding to the at least one analytical attribute are uniformly distributed.

[0245] Using the second factor corresponding to at least one analytical attribute as a noise factor, noise corresponding to at least one analytical attribute is generated.

[0246] For technical details regarding this computing device embodiment, please refer to the foregoing. Figure 1 Corresponding data analysis methods and Figure 7 The descriptions of the corresponding noise construction methods in the relevant embodiments are omitted here to save space, but this should not cause any loss to the scope of protection of this application.

[0247] The memory mentioned in the above embodiments is used to store computer programs and can be configured to store various other data to support operation on a computing platform. Examples of such data include instructions for any application or method operating on the computing platform, contact data, phone book data, messages, pictures, videos, etc. The memory can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk.

[0248] The communication components mentioned in the above embodiments are configured to facilitate wired or wireless communication between the device containing the communication component and other devices. The device containing the communication component can access wireless networks based on communication standards, such as WiFi, 2G, 3G, 4G / LTE, 5G, or combinations thereof. In one exemplary embodiment, the communication component receives broadcast signals or broadcast-related information from an external broadcast management system via a broadcast channel. In one exemplary embodiment, the communication component further includes a Near Field Communication (NFC) module to facilitate short-range communication. For example, the NFC module may be implemented based on Radio Frequency Identification (RFID), Infrared Data Association (IrDA) technology, Ultra-Wideband (UWB) technology, Bluetooth (BT) technology, and other technologies.

[0249] The power supply components mentioned in the above embodiments provide power to various components of the device in which the power supply components are located. The power supply components may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to the device in which the power supply components are located.

[0250] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0251] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0252] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0253] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0254] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0255] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0256] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0257] It should also be noted that 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 limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0258] The above description is merely an embodiment of this application and is not intended to limit this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.

Claims

1. A data analysis method, characterized in that, include: Receive a data analysis request, wherein the data analysis request includes condition information, at least one analysis attribute, at least one target analysis tag, and the inclusion relationship between the at least one target analysis tag and the at least one analysis attribute; Determine the target group that meets the conditions and the attribute analysis value of the target group under the at least one analysis attribute; Obtain the noise seed corresponding to the condition information; Based on the noise seed, a first factor is generated for each of the at least one target analysis label; Based on the first factor corresponding to each of the at least one target analysis label, a second factor is generated for the analysis attribute under the at least one target analysis label, which serves as the noise factor corresponding to the at least one analysis attribute. Random noise is added to the analysis values ​​of the at least one attribute according to the noise factor corresponding to each of the at least one analysis attribute, so as to generate analysis results.

2. The method according to claim 1, characterized in that, The step of obtaining the noise seed corresponding to the condition information includes: From at least one noise seed stored in the target storage area, check whether there is a noise seed corresponding to the condition information; If it exists, then read the noise seed corresponding to the condition information from the target storage area.

3. The method according to claim 2, characterized in that, Also includes: If it does not exist, then a random value is generated for the condition information; Based on the random value, construct the noise seed corresponding to the condition information; The noise seed corresponding to the condition information is stored in the target storage area.

4. The method according to claim 1, characterized in that, The step of generating a first factor for each of the at least one target analysis label based on the noise seed includes: Based on the noise seed, a uniformly distributed first vector is constructed for the analysis label sequence, wherein the analysis label sequence contains N ordered analysis labels, and the at least one target analysis label belongs to the analysis label sequence; The step of generating second factors for the analysis attributes under each of the at least one target analysis label based on the first factor corresponding to each of the at least one target analysis label includes: Based on the element values ​​of at least one target analysis label in the first vector at the position in the analysis label sequence, a uniformly distributed second vector is constructed for the analysis attribute sequence corresponding to each of the at least one target analysis label, wherein the analysis attribute sequence contains M ordered analysis attributes; Where N and M are positive integers.

5. The method according to claim 4, characterized in that, Also includes: An N*M matrix is ​​constructed based on the first vector and the second vector, which serves as the noise factor matrix corresponding to the condition information. The step of adding random noise to the analysis values ​​of the at least one attribute according to the noise factor corresponding to each of the at least one analysis attribute includes: An attribute analysis value matrix is ​​constructed based on the attribute analysis values ​​under the at least one analysis attribute, the position of the target analysis label to which each of the at least one analysis attribute belongs in the analysis label sequence, and the position of the target analysis label to which each attribute belongs in the analysis attribute sequence. Based on the noise factor matrix, generate a noise matrix; The analysis results are generated based on the attribute analysis value matrix and the noise matrix.

6. The method according to claim 4, characterized in that, The construction of a uniformly distributed first vector based on the noise seed includes: Based on the noise seed, a random algorithm is used to generate random numbers that correspond to each analysis label in the analysis label sequence and are uniformly distributed, in order to construct the first vector; Based on the element values ​​of at least one target analysis label in the first vector at its position in the analysis label sequence, a uniformly distributed second vector is constructed for each of the analysis attribute sequences corresponding to the at least one target analysis label, including: Based on the element values ​​of at least one target analysis label in the first vector at its position in the analysis label sequence, a random algorithm is used to generate random numbers that correspond to the analysis attributes in the analysis attribute sequence of the at least one target analysis label and are uniformly distributed, in order to construct the second vector.

7. The method according to claim 1, characterized in that, The step of adding random noise to the analysis values ​​of the at least one attribute according to the noise factor corresponding to each of the at least one analysis attribute includes: Determine the original analysis value corresponding to the first analysis label to which the first analysis attribute belongs; Select a target noise parameter that matches the original analysis value from at least one candidate noise parameter corresponding to the first analysis label; Calculate the target random noise under the first analysis attribute based on the target noise parameter and the noise factor corresponding to the first analysis attribute. Add the target random noise to the attribute analysis value corresponding to the first analysis attribute; Wherein, the first analytical attribute is any one of the at least one analytical attribute.

8. The method according to claim 1, characterized in that The noise seed includes a first type of field and a second type of field. The first type of field is used to carry a random value, and the second type of field is used to carry the condition information corresponding to the noise seed.

9. A data analysis method, characterized in that, include: In response to a population analysis command, the target population is analyzed to obtain attribute analysis values ​​under at least one analysis attribute. The population analysis command includes at least one analysis tag and the inclusion relationship between the at least one analysis tag and the at least one analysis attribute. Obtain the noise seed corresponding to the target population; Based on the noise seed, a first factor is generated for each of the at least one analysis label; Based on the first factor corresponding to each of the at least one analysis label, a uniformly distributed second factor is generated for each of the at least one analysis attribute, which serves as the noise factor corresponding to each of the at least one analysis attribute. Based on the noise factor corresponding to each of the at least one analytical attribute, determine the noise corresponding to each of the at least one analytical attribute; Add corresponding noise to the attribute analysis values ​​under the at least one analysis attribute to generate a population profile corresponding to the target population.

10. A method for constructing noise, characterized in that, include: In response to a noise construction command, a noise seed corresponding to a target analysis label is obtained. The target analysis label contains at least one analysis attribute, and the target analysis label is any one of at least one analysis label in a single data analysis. The noise seed is the noise seed corresponding to the group to be analyzed in a single data analysis. Based on the noise seed, a first factor is generated for the target analysis label; Based on the first factor, a second factor is generated for each of the at least one analytical attribute, wherein the second factors corresponding to the at least one analytical attribute are uniformly distributed; Using the second factor corresponding to each of the at least one analytical attribute as a noise factor, noise corresponding to each of the at least one analytical attribute is generated.

11. A computing device, characterized in that, Includes memory, processor, and communication components; The memory is used to store one or more computer instructions; The processor is coupled to the memory and the communication component, and is used to execute the one or more computer instructions for: The communication component receives a data analysis request, which includes conditional information, at least one analysis attribute, at least one target analysis tag, and the inclusion relationship between the at least one target analysis tag and the at least one analysis attribute. Determine the target group that meets the conditions and the attribute analysis value of the target group under the at least one analysis attribute; Obtain the noise seed corresponding to the condition information; Based on the noise seed, a first factor is generated for each of the at least one target analysis label; Based on the first factor corresponding to each of the at least one target analysis label, a second factor is generated for the analysis attribute under the at least one target analysis label, which serves as the noise factor corresponding to the at least one analysis attribute. Random noise is added to the analysis values ​​of the at least one attribute according to the noise factor corresponding to each of the at least one analysis attribute, so as to generate analysis results.

12. A computing device, characterized in that, Including memory and processor; The memory is used to store one or more computer instructions; The processor is coupled to the memory and is used to execute the one or more computer instructions for: In response to a population analysis command, the target population is analyzed to obtain attribute analysis values ​​under at least one analysis attribute. The population analysis command includes at least one analysis tag and the inclusion relationship between the at least one analysis tag and the at least one analysis attribute. Obtain the noise seed corresponding to the target population; Based on the noise seed, a first factor is generated for each of the at least one analysis label; Based on the first factor corresponding to each of the at least one analysis label, a uniformly distributed second factor is generated for each of the at least one analysis attribute, which serves as the noise factor corresponding to each of the at least one analysis attribute. Based on the noise factor corresponding to each of the at least one analytical attribute, determine the noise corresponding to each of the at least one analytical attribute; Add corresponding noise to the attribute analysis values ​​under the at least one analysis attribute to generate a population profile corresponding to the target population.

13. A computing device, characterized in that, Including memory and processor; The memory is used to store one or more computer instructions; The processor is coupled to the memory and is used to execute the one or more computer instructions for: In response to a noise construction command, a noise seed corresponding to a target analysis label is obtained. The target analysis label contains at least one analysis attribute, and the target analysis label is any one of at least one analysis label in a single data analysis. The noise seed is the noise seed corresponding to the group to be analyzed in a single data analysis. Based on the noise seed, a first factor is generated for the target analysis label; Based on the first factor, a second factor is generated for each of the at least one analytical attribute, wherein the second factors corresponding to the at least one analytical attribute are uniformly distributed; Using the second factor corresponding to each of the at least one analytical attribute as a noise factor, noise corresponding to each of the at least one analytical attribute is generated.

14. A computer-readable storage medium for storing computer instructions, characterized in that, When the computer instructions are executed by one or more processors, the one or more processors cause the data analysis method of any one of claims 1-9 or the noise construction method of claim 10.

Citation Information

Patent Citations

  • Geospatial data based user privacy protection method and system

    CN105069371A

  • Apparatuses, methods and computer programs for a proxy server and a client node

    EP3051439A1