Data privacy protection methods, apparatus, devices and computer-readable storage media
By combining a differential privacy protection model and a B+ tree structure, the problem of being unable to measure the level of privacy protection and calculate the latency in the encrypted distribution of terminal data is solved, thus achieving a balance between efficient data privacy protection and data availability.
Patent Information
- Application Number
- CN202210805526.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-07-08
- Publication Date
- 2025-10-31
- Estimated Expiration
- 2042-07-08
AI Technical Summary
Existing methods for encrypted data distribution on terminals cannot measure privacy protection levels, have long computational delays, and impair data availability.
A differential privacy protection model combined with a B+ tree structure is used to process privacy information generated during the operation of terminal applications. By dividing the time window and processing in segments using a classification tree, the level of privacy protection is ensured and the latency is reduced.
This approach achieves the goal of reducing computational latency without compromising data availability while ensuring data privacy protection, thus meeting the needs of privacy protection.
Smart Images

Figure CN115130150B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of data processing technology, and to, but is not limited to, a data privacy protection method, apparatus, device, and computer-readable storage medium. Background Technology
[0002] Privacy protection refers to ensuring that information that individuals or groups do not wish to be known by outsiders is properly protected. Privacy encompasses a broad range of topics. For individuals, an important type of privacy is personal identification information, which allows direct or indirect tracing of an individual through a link. For groups, privacy generally refers to sensitive information representing the various actions of a group. To provide high-quality, personalized services to end users, servers need to collect information generated by users while using various applications (APPs). However, with the development of smart devices, the collected information has become more complex and personalized. To prevent the leakage of user privacy information, terminal APPs need to protect the privacy of the data before publishing it for analysis and research.
[0003] Among related technologies, privacy protection methods applied to the encrypted release of terminal data mainly include anonymization technology, direct encryption technology, and data perturbation mechanism. However, these methods have problems such as the inability to measure the level of privacy protection, long computation time, and impaired data availability during application. Summary of the Invention
[0004] In view of this, embodiments of this application provide a data privacy protection method, apparatus, device, and computer-readable storage medium.
[0005] The technical solution of this application embodiment is implemented as follows:
[0006] This application provides a data privacy protection method, the method comprising:
[0007] Acquire a dynamic dataset, which is a continuous dataset generated when the terminal runs an application;
[0008] The continuous dataset is preprocessed based on a preset time window to obtain the dataset to be processed.
[0009] The dataset to be processed is then subjected to privacy protection processing based on the classification tree to obtain the dataset to be published.
[0010] Publish the dataset to be published to the server.
[0011] In some embodiments, the preprocessing of the continuous dataset based on a preset time window to obtain a dataset to be processed includes:
[0012] The continuous dataset is divided according to a preset time window to obtain the dataset corresponding to each time window;
[0013] Select one time window from the time windows, and sample the dataset corresponding to the one time window to obtain the sampled dataset.
[0014] The sampled dataset is identified as the dataset to be processed.
[0015] In some embodiments, the privacy protection processing of the dataset to be processed based on the classification tree to obtain the dataset to be published includes:
[0016] An initial classification tree is constructed using the dataset to be processed, wherein the keyword of each data entry in the dataset to be processed is a leaf node of the initial classification tree;
[0017] Using privacy protection techniques, noise is assigned to the keywords corresponding to each leaf node of the initial classification tree to obtain the target classification tree;
[0018] The dataset to be published is determined based on the keywords corresponding to each leaf node of the target classification tree.
[0019] In some embodiments, the preprocessing of the continuous dataset based on a preset time window to obtain a dataset to be processed includes:
[0020] The continuous dataset is divided according to a preset time window to obtain the dataset corresponding to each time window;
[0021] Select one time window from the various time windows, and perform stratified processing on the data corresponding to the one time window to obtain multiple stratified datasets;
[0022] The multiple hierarchical datasets are sampled separately to obtain multiple hierarchical sampled datasets;
[0023] The dataset to be processed is determined based on the multiple stratified sampled datasets.
[0024] In some embodiments, the sampling process performed on the plurality of hierarchical datasets to obtain a plurality of hierarchical sampled datasets includes:
[0025] The sampling ratio of each stratified dataset is determined according to the generation time of the stratified data included in each stratified dataset.
[0026] According to the sampling ratio of each stratified dataset, the stratified data included in each stratified dataset are sampled separately to obtain multiple stratified sampled datasets.
[0027] In some embodiments, the privacy protection processing of the dataset to be processed based on the classification tree to obtain the dataset to be published includes:
[0028] An initial classification tree is constructed using the sampled data included in the first stratum of the sampled dataset. The first stratum is the stratum with the longest generation time of the stratified data, and the keyword of each sampled data is a leaf node of the initial classification tree.
[0029] Using privacy protection techniques, noise is assigned to the keywords corresponding to each leaf node of the initial classification tree to obtain a privacy-protected classification tree;
[0030] Using the sampled datasets of the remaining layers other than the first layer and privacy protection techniques, the privacy-protected classification tree is updated to obtain the target classification tree;
[0031] The dataset to be published is determined based on the keywords corresponding to each leaf node of the target classification tree.
[0032] In some embodiments, constructing an initial classification tree using the sampled data included in the first stratified sampling dataset includes:
[0033] Obtain the pre-built information gain function;
[0034] Based on the sampled data included in the first stratified sampling dataset and the information gain function, the optimal order of the initial classification tree is determined.
[0035] Based on the keywords of each sampled data in the first-level sampling dataset and the optimal order, an initial classification tree is constructed.
[0036] This application provides a data privacy protection device, the device comprising:
[0037] The acquisition module is used to acquire dynamic datasets, which are continuous datasets generated when the terminal runs the application.
[0038] The preprocessing module is used to preprocess the continuous dataset based on a preset time window to obtain the dataset to be processed;
[0039] The privacy protection processing module is used to perform privacy protection processing on the dataset to be processed based on the classification tree to obtain the dataset to be published.
[0040] The publishing module is used to publish the dataset to be published to the server.
[0041] In some embodiments, the preprocessing module includes:
[0042] The first partitioning unit is used to partition the continuous dataset according to a preset time window to obtain the dataset corresponding to each time window;
[0043] The first sampling unit is used to select a time window from the time windows and perform sampling processing on the dataset corresponding to the time window to obtain a sampled dataset.
[0044] The first determining unit is used to determine the sampled dataset as the dataset to be processed.
[0045] In some embodiments, the privacy protection processing module includes:
[0046] The first construction unit is used to construct an initial classification tree using the dataset to be processed, wherein the keyword of each data entry in the dataset to be processed is a leaf node of the initial classification tree;
[0047] The first allocation unit is used to allocate noise to the keywords corresponding to each leaf node of the initial classification tree using privacy protection technology to obtain the target classification tree;
[0048] The second determining unit is used to determine the dataset to be published based on the keywords corresponding to each leaf node of the target classification tree.
[0049] In some embodiments, the preprocessing module includes:
[0050] The second partitioning unit is used to partition the continuous dataset according to a preset time window to obtain the dataset corresponding to each time window;
[0051] A stratification unit is used to select a time window from the various time windows, and perform stratification processing on the data corresponding to the time window to obtain multiple stratified datasets;
[0052] The second sampling unit is used to perform sampling processing on the multiple hierarchical datasets respectively to obtain multiple hierarchical sampled datasets.
[0053] The third determining unit is used to determine the dataset to be processed based on the multiple stratified sampling datasets.
[0054] In some embodiments, the hierarchical unit includes:
[0055] The first determining subunit is used to determine the sampling ratio of each stratified dataset according to the generation time of the stratified data included in each stratified dataset.
[0056] The sampling unit is used to sample the stratified data included in each stratified dataset according to the sampling ratio of each stratified dataset, so as to obtain multiple stratified sampled datasets.
[0057] In some embodiments, the privacy protection processing module includes:
[0058] The second construction unit is used to construct an initial classification tree using the sampled data included in the first layer of the sampled dataset, wherein the first layer is the layer with the longest generation time of the layered data, and the keyword of each sampled data is a leaf node of the initial classification tree.
[0059] The second allocation unit is used to allocate noise to the keywords corresponding to each leaf node of the initial classification tree using privacy protection technology, so as to obtain a privacy-protected classification tree.
[0060] The update unit is used to update the privacy-preserved classification tree using the sampled datasets of the remaining layers other than the first layer and privacy-preserving techniques to obtain the target classification tree.
[0061] The fourth determining unit is used to determine the dataset to be published based on the keywords corresponding to each leaf node of the target classification tree.
[0062] In some embodiments, the second building unit includes:
[0063] Obtain sub-units to acquire pre-built information gain functions;
[0064] The second determining subunit is used to determine the optimal order of the initial classification tree based on the sampled data included in the first stratified sampling dataset and the information gain function.
[0065] Construct sub-units to build an initial classification tree based on the keywords of each sampled data included in the first stratified sampling dataset and the optimal order.
[0066] This application provides a data privacy protection device, including:
[0067] Processor; and
[0068] Memory for storing computer programs that can run on the processor;
[0069] The computer program, when executed by a processor, implements the steps of the aforementioned data privacy protection method.
[0070] This application provides a computer-readable storage medium storing computer-executable instructions configured to perform the steps of the above-described data privacy protection method.
[0071] This application provides a data privacy protection method, apparatus, device, and computer-readable storage medium. The method includes: acquiring a dynamic dataset, wherein the dynamic dataset is a continuous dataset generated when a terminal runs an application; preprocessing the continuous dataset based on a preset time window to obtain a dataset to be processed; performing privacy protection processing on the dataset to be processed based on a classification tree to obtain a dataset to be published; and publishing the dataset to be published to a server. The data privacy protection method provided in this application utilizes time windows to divide the continuous dataset generated during application operation, and uses a classification tree to perform privacy protection processing on the dataset to be processed corresponding to each time window to obtain a dataset to be published. This time-window segmentation processing ensures the privacy protection level of each dataset to be published, reduces latency, and does not impair data availability, thus achieving privacy protection for data collected by the application. Attached Figure Description
[0072] In the accompanying drawings (which are not necessarily drawn to scale), similar reference numerals may describe similar parts in different views. The drawings illustrate, by way of example and not limitation, the various embodiments discussed herein.
[0073] Figure 1 This is a schematic diagram of the network architecture of the data privacy protection system provided in the embodiments of this application;
[0074] Figure 2 A schematic diagram illustrating an implementation process of the data privacy protection method provided in this application embodiment;
[0075] Figure 3 A schematic diagram illustrating another implementation process of the data privacy protection method provided in this application embodiment;
[0076] Figure 4 A schematic diagram illustrating another implementation process of the data privacy protection method provided in this application embodiment;
[0077] Figure 5 This is a schematic diagram illustrating an implementation process of sampling a hierarchical dataset to obtain a sampled dataset in the method provided in this application embodiment.
[0078] Figure 6 This is a schematic diagram illustrating the preprocessing of dynamic datasets in the method provided in the embodiments of this application;
[0079] Figure 7 A schematic diagram of the privacy-protected classification tree constructed in the method provided in the embodiments of this application;
[0080] Figure 8 This is a schematic diagram illustrating the dynamic updating of the publishing results in the method provided in the embodiments of this application;
[0081] Figure 9 A schematic diagram of the composition structure of a data privacy protection device provided in the embodiments of this application;
[0082] Figure 10 This is a schematic diagram of the composition structure of a data privacy protection device provided in an embodiment of this application. Detailed Implementation
[0083] To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings. The described embodiments should not be regarded as limitations on this application. All other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0084] In the following description, references are made to “some embodiments,” which describe a subset of all possible embodiments. However, it is understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.
[0085] In the following description, the terms "first, second, third" are used merely to distinguish similar objects and do not represent a specific ordering of objects. It is understood that "first, second, third" may be interchanged in a specific order or sequence where permitted, so that the embodiments of this application described herein can be implemented in an order other than that illustrated or described herein.
[0086] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of this application only and is not intended to limit this application.
[0087] Before providing a more detailed description of the embodiments of this application, the nouns and terms used in the embodiments of this application shall be explained as follows.
[0088] Differential privacy protection model, also known as differential privacy model, is a method to completely eliminate the possibility of privacy information leakage from the source of data. It protects the potential user privacy information in the published data by adding interference noise to the original data.
[0089] ε-Differential Privacy: If the input set of a random algorithm A is χ and the output set is ξ, then the random algorithm A satisfies ε-differential privacy. This is true if and only if for any two adjacent datasets D1 and D2, and their corresponding output sets... Satisfy the following equation (1):
[0090] Pr[A(D1)∈O]≤e εPr[A(D2)∈O] (1);
[0091] Privacy budget node, using N ε It means that N ε It is the parent node of the leaf node; if the leaf node is also the root node, then N ε It is the root node.
[0092] A B+ tree is a tree data structure represented as an n-ary tree. An m-order B+ tree has the following characteristics: 1) Each node in the tree has n subtrees and contains n keys; 2) All leaf nodes contain all the key information and pointers to those keys. All leaf nodes form an ordered linked list, allowing traversal of all records in the tree based on the keys stored in the leaf nodes; 3) All nodes except the leaf nodes are indices in the B+ tree, containing only a subset of the keys from their child nodes.
[0093] In information theory, entropy is a measure of uncertainty. The greater the amount of information, the lower the uncertainty and the lower the entropy; conversely, the less information, the greater the uncertainty and the greater the entropy. The entropy method is a mathematical approach used to determine the degree of dispersion of a particular indicator. The greater the degree of dispersion, the greater the influence of that indicator on the overall evaluation.
[0094] To address the problems of existing privacy protection methods for encrypted data distribution on terminals, such as the inability to measure privacy protection levels, long computational delays, and compromised data usability, this application provides a data privacy protection method. This method utilizes a differential privacy protection model to process privacy information generated during the operation of terminal applications. By combining a B+ tree structure, it optimizes algorithm execution efficiency while ensuring the usability of encrypted data. The method provided in this application will be described below with reference to the apparatus used to implement this embodiment. First, the data privacy protection system provided in this application will be described. Figure 1 This is a schematic diagram of the network architecture of the data privacy protection system provided in the embodiments of this application, such as... Figure 1 As shown, the data privacy protection system 10 includes at least one terminal 100, a server 200, and a network 300. The terminal 100 is connected to the server 200 through the network 300, which can be a wide area network, a local area network, or a combination of both, and uses a wireless link to achieve data transmission.
[0095] In some embodiments, terminal 100 may be a laptop, tablet, desktop computer, smartphone, dedicated messaging device, portable gaming device, smart speaker, smartwatch, etc., or any device capable of installing applications. Server 200 may be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server. Network 300 may be a wide area network (WAN), a local area network (LAN), or a combination of both. Terminal 100 and server 200 may be directly or indirectly connected via wired or wireless communication, which is not limited in this embodiment.
[0096] In the application scenario of this data privacy protection system architecture, the terminal 100 first generates a continuous dataset in the running application and uses this continuous dataset as a dynamic dataset; the dynamic dataset is preprocessed based on a preset time window to obtain the dataset to be processed; privacy protection processing is performed on the dataset to be processed based on a classification tree to obtain the dataset to be published; finally, the dataset to be published is published to the server 200.
[0097] The server 200 receives the data to be published sent by the terminal 100 and uses the data to update and develop the application, such as fixing vulnerabilities and upgrading functions.
[0098] The data privacy protection method provided in this application embodiment involves the terminal dividing the continuous dataset generated during the application's operation into time windows, and then using a classification tree to perform privacy protection processing on the dataset to be processed corresponding to each time window to obtain a data to be published. By segmenting the data through time windows, the privacy protection level of each data to be published can be ensured, the latency can be shortened, and the availability of the data on the server side can be maintained, thereby achieving privacy protection for the application operation data collected by the server side.
[0099] The following describes the data privacy protection method provided in the embodiments of this application. In some embodiments, the data privacy protection method provided in the embodiments of this application can be provided by... Figure 1 Terminal implementation of the network architecture shown. Figure 2 This is a schematic diagram illustrating an implementation process of the data privacy protection method provided in this application embodiment, which will be combined with... Figure 2 The steps shown are explained.
[0100] Step S201: Obtain the dynamic dataset.
[0101] The method provided in this application embodiment can be executed by a terminal. The terminal receives a request message sent by the server, which is used to obtain data generated when the terminal runs an application, so that the server can use this usage data to upgrade and update the application.
[0102] After receiving the request message, the terminal parses it to determine which app's runtime data needs to be obtained. Then, it retrieves the continuous dataset generated while the terminal is running that app as the dynamic dataset. In practical applications, the terminal can obtain the continuous dataset generated while the app is running in real time, or it can obtain the data periodically to avoid occupying the transmission channel for extended periods.
[0103] Step S202: Preprocess the continuous dataset based on a preset time window to obtain the dataset to be processed.
[0104] In this embodiment of the application, preprocessing may include partitioning, stratification, sampling, and other processes to preprocess the obtained dynamic dataset to obtain a dataset to be processed, and each dataset to be processed corresponds to a dataset to be published.
[0105] A dynamic dataset is collected at intervals T. The data collected within the T time period is divided according to a preset time window Δt, where T = x * Δt, and x is any positive integer. When x is 1, meaning the dynamic dataset is collected once every preset time window Δt, no further division is needed.
[0106] Considering the problem of too many datasets in the same time window, this embodiment of the application performs sampling processing on continuous datasets, which can reduce the amount of data processed, meet timeliness requirements, and reduce algorithm time overhead.
[0107] Step S203: Perform privacy protection processing on the dataset to be processed based on the classification tree to obtain the dataset to be published.
[0108] In this embodiment of the application, the classification tree can be a B+ tree. The dataset to be processed is partitioned based on the B+ tree, and then privacy protection processing is performed on the datasets included in each partition to obtain the data to be published.
[0109] In this embodiment, differential privacy technology can be used to protect the privacy of the dataset. Differential privacy technology can set a privacy budget and control the degree of data protection according to actual needs, and is flexibly applicable to various applications.
[0110] Step S204: Publish the dataset to be published to the server.
[0111] The dataset to be published is privacy-protected data. Even if it is attacked during transmission and the attacker has a lot of information, he will not be able to deduce other information, thus achieving the purpose of privacy protection. Furthermore, this method can ensure that the overall attributes of the dataset remain unchanged, ensuring data availability.
[0112] The method provided in this application includes: acquiring a dynamic dataset, wherein the dynamic dataset is a continuous dataset generated when a terminal runs an application; preprocessing the continuous dataset based on a preset time window to obtain a dataset to be processed; performing privacy protection processing on the dataset to be processed based on a classification tree to obtain a dataset to be published; and publishing the dataset to be published to a server. The data privacy protection method provided in this application utilizes time windows to divide the continuous dataset generated during application operation, and uses a classification tree to perform privacy protection processing on the dataset to be processed corresponding to each time window to obtain a dataset to be published. This time-window segmentation processing ensures the privacy protection level of each dataset to be published, shortens latency, and does not impair data availability, thus achieving privacy protection for data collected by the application.
[0113] exist Figure 2 Based on the embodiments shown, this application further provides a data privacy protection method. Figure 3 This is a schematic diagram illustrating another implementation process of the data privacy protection method provided in the embodiments of this application, such as... Figure 3 As shown, the method includes the following steps:
[0114] Step S301: Obtain the dynamic dataset.
[0115] The terminal receives the request message sent by the server, parses it, determines which app's runtime data the server needs to obtain, and then obtains the continuous dataset generated when the terminal runs that app as the dynamic dataset.
[0116] The following steps S302 to S304 are: Figure 2 One implementation of step S202 in the illustrated embodiment.
[0117] Step S302: Divide the continuous dataset according to the preset time window to obtain the dataset corresponding to each time window.
[0118] This application employs a time window method, which divides the dynamic dataset into different time windows according to time nodes, thereby addressing the challenges posed by dynamic data to data processing and distribution, and enabling the processing of continuously changing datasets.
[0119] Step S303: Select a time window from the various time windows.
[0120] In this embodiment of the application, a time window can be selected from each time window in chronological order, and the dataset corresponding to that time window can be processed.
[0121] Step S304: Sample the dataset corresponding to a time window to obtain a sampled dataset, and determine the sampled dataset as the dataset to be processed.
[0122] In this embodiment of the application, preprocessing may include partitioning and sampling, etc., to preprocess the obtained dynamic dataset to obtain a dataset to be processed, and each dataset to be processed corresponds to a dataset to be published.
[0123] A dynamic dataset is collected at intervals T. The data collected within the T time period is divided according to a preset time window Δt, where T = x * Δt, and x is any positive integer. When x is 1, meaning the dynamic dataset is collected once every preset time window Δt, no further division is needed.
[0124] Considering the problem of excessive datasets within the same time window, this application embodiment filters similar data within the same time window. Specifically, the filtering method can be sampling continuous datasets, which can reduce the amount of data processed, meet timeliness requirements, reduce algorithm time overhead, and improve algorithm processing efficiency. This solves the problems of timeliness of processing results and long computation time in the prior art.
[0125] The following steps S305 to S307 are: Figure 2 One implementation of step S203 in the illustrated embodiment.
[0126] Step S305: Construct an initial classification tree using the dataset to be processed.
[0127] The keyword for each data entry in the dataset to be processed is a leaf node of the initial classification tree.
[0128] In this embodiment, the classification tree can be a B+ tree. Using a B+ tree as the classification tree model avoids the waste of privacy budget caused by empty nodes and allows for sorting by the number of items, laying a foundation for subsequent allocation of the privacy budget. To ensure the privacy of the classification tree structure, an exponential mechanism is used to filter the order, selecting the optimal order to construct the B+ tree.
[0129] Step S306: Using privacy protection technology, noise is assigned to the keywords corresponding to each leaf node of the initial classification tree to obtain the target classification tree.
[0130] Privacy budgets are allocated on a per-privacy-budget-node basis. This involves assigning noise to the keywords corresponding to each leaf node of the initial classification tree to obtain the target classification tree. During data processing, the concept of privacy budget nodes is introduced, employing an adaptive noise-adding method. This approach controls privacy budget costs while ensuring a balance between data availability and privacy.
[0131] Step S307: Determine the dataset to be published based on the keywords corresponding to each leaf node of the target classification tree.
[0132] In this embodiment, a B+ tree can be selected as the classification tree. The dataset to be processed is partitioned based on the B+ tree, and then privacy protection processing is performed on the datasets included in each partition to obtain the data to be published. Differential privacy technology is used to perform privacy protection processing on the dataset. Differential privacy technology can set a privacy budget and control the degree of data protection according to actual needs, making it flexibly applicable to various applications.
[0133] Step S308: Publish the dataset to be published to the server.
[0134] During the publishing process, the characteristic that the leaf nodes of B+ trees are connected in pairs is used to output the publishing results all at once, further improving the processing efficiency of the algorithm.
[0135] The data privacy protection method provided in this application utilizes a time window to divide and sample continuous datasets generated during application operation, achieving timeliness and reducing algorithm time overhead. It uses a classification tree to partition the dataset, and then processes the partitioned data based on differential privacy protection technology to obtain data to be published. Differential privacy technology can set a privacy budget and control the degree of data protection according to actual needs, making it flexibly applicable to various applications. Since the dataset to be published is privacy-protected, even if attacked during transmission, an attacker with extensive information cannot deduce other information, thus achieving the purpose of privacy protection. Furthermore, this method ensures that the overall attributes of the dataset remain unchanged, guaranteeing data availability. It can ensure the level of privacy protection for the data to be published, shorten latency, and not compromise data availability, achieving privacy protection for data collected by the application.
[0136] exist Figure 2 Based on the embodiments shown, this application further provides a data privacy protection method. Figure 4 This is a schematic diagram illustrating another implementation process of the data privacy protection method provided in the embodiments of this application, such as... Figure 4 As shown, the method includes the following steps:
[0137] Step S401: Obtain the dynamic dataset.
[0138] The method provided in this application embodiment can be executed by a terminal. The terminal receives a request message sent by the server, parses it, determines which app's runtime data the server needs to obtain, and then obtains the continuous dataset generated when running that app as a dynamic dataset.
[0139] The following steps S402 to S406 are: Figure 2Another implementation of step S202 in the illustrated embodiment.
[0140] Step S402: Divide the continuous dataset according to the preset time window to obtain the dataset corresponding to each time window.
[0141] Step S403: Select a time window from the various time windows.
[0142] To handle continuously changing datasets, this application employs a time window method. The dynamic dataset is divided into different time windows based on time nodes, and differential privacy protection is applied to the data within each time window. The preprocessed dataset is then published only once per time window, with added noise. This addresses the challenges posed by dynamic data processing and publishing, enabling the handling of continuously changing datasets.
[0143] Step S404: The data corresponding to a time window is processed into layers to obtain multiple layered datasets.
[0144] In this embodiment of the application, considering the problem of excessive datasets within the same time window, preprocessing is performed on the data corresponding to a time window to ensure timeliness and reduce algorithm time overhead. This preprocessing may include partitioning, stratification, sampling, etc., to preprocess the obtained dynamic dataset and obtain a dataset to be processed. Each dataset to be processed corresponds to a dataset to be published.
[0145] A dynamic dataset is collected at intervals T. The data collected within the T time period is divided according to a preset time window Δt, where T = x * Δt, and x is any positive integer. When x is 1, meaning the dynamic dataset is collected once every preset time window Δt, no further division is needed.
[0146] Considering that newer datasets on the timeline are more valuable and representative of the data within the current time window, this embodiment of the application performs stratified processing on the dataset corresponding to the current processing time window, resulting in k stratified datasets. Then, sampling is performed on the continuous datasets, which reduces the amount of data processed, meets timeliness requirements, and lowers the algorithm's time overhead.
[0147] Step S405: Sampling is performed on the multiple stratified datasets to obtain multiple stratified sampled datasets.
[0148] The sampling ratio for each k sub-layer is set, and each sub-layer is randomly sampled according to different sampling ratios. The newer the sub-layer on the timeline, the larger the sampling ratio.
[0149] In one implementation, this step can be achieved through... Figure 5The following steps are shown to achieve this:
[0150] Step S4051: Determine the sampling ratio of each stratified dataset according to the generation time of the stratified data included in each stratified dataset.
[0151] Step S4052: According to the sampling ratio of each stratified dataset, the stratified data included in each stratified dataset are sampled separately to obtain multiple stratified sampled datasets.
[0152] Here, the sampling ratio gradually increases from the first layer according to time, such as the sampling ratio of the jth layer being r. j =j / (k*r), where r is the set base sampling ratio.
[0153] Figure 6 This is a schematic diagram illustrating the preprocessing of dynamic datasets in the method provided in the embodiments of this application, such as... Figure 6 As shown, in this embodiment, stratified sampling is performed for each time window. First, each time window is divided into k layers, and a certain proportion of the dataset is extracted from each layer. Considering that newer datasets on the timeline are more valuable and representative of the data within the time window, this embodiment sets a sampling ratio for each of the k layers. Random sampling is performed on each layer according to a different sampling ratio, with a larger sampling ratio for newer layers. The sampling ratio gradually increases from the first layer based on time, as shown in the following formula for the sampling ratio of the j-th layer:
[0154]
[0155] Where r is the set base sampling ratio.
[0156] Step S406: Determine the dataset to be processed based on multiple stratified sampling datasets.
[0157] The following steps S407 to S410 are: Figure 2 Another implementation of step S203 in the illustrated embodiment.
[0158] Step S407: Construct an initial classification tree using the sampled data included in the first stratified sampling dataset.
[0159] The first stratum is the stratum with the longest data generation time, and the key of each sampled data is a leaf node of the initial classification tree.
[0160] This step can be achieved through the following steps: obtaining the pre-constructed information gain function; determining the optimal order of the initial classification tree based on the sampled data and information gain function included in the first stratum of the sampling dataset; and constructing the initial classification tree based on the keywords and optimal order of the sampled data included in the first stratum of the sampling dataset.
[0161] Step S408: Using privacy protection technology, noise is assigned to the keywords corresponding to each leaf node of the initial classification tree to obtain the privacy-protected classification tree.
[0162] After preprocessing, the datasets filtered for each time window are obtained. Next, differential privacy protection is applied to these datasets. In this embodiment, a differential privacy protection model is chosen to add noise to the dynamic datasets. Therefore, an initial privacy protection model needs to be constructed first, and then updated based on the initial model. A B+ tree structure can be chosen as the classification tree model to improve the algorithm's performance and the usability of the results. The B+ tree structure sorts leaf nodes according to key size, avoiding the waste of privacy budget and storage space caused by empty nodes during the construction of the classification tree.
[0163] In this embodiment of the application, in the process of determining the order m of the B+ classification tree, the exponential mechanism and information gain function can be used to reasonably select m while protecting the structural privacy of the classification tree.
[0164] Based on the entropy value I(S1) of the first-level sampled dataset and the weighted sum H(S1) of all entropy values of the current segmentation method, the sensitivity of the information gain function IG(S1,m) is determined, and the optimal value of m is selected from it. The implementation process is as follows:
[0165] Let M be the set of possible values for m. Each m divides the dataset s1 into a distinct subsets ui, denoted as set U = {u1, u2, ..., ua}. U has n possible cases, i.e., n distinct categories Ci. The information gain generated by the current m is calculated as shown in formula (3).
[0166] IG(s1,m)=I(s1)-H(s1) (3);
[0167] Where I(s1) is the entropy value of the current dataset, and H(s1) is the weighted sum of all entropy values for the current segmentation method.
[0168]
[0169] In formula (4), num(C i ) is the current category C i The number of data sets in s1; num(s1) is the number of data sets in s1.
[0170]
[0171] The maximum value of I(s1) is log₂n, and the minimum value of H(s1) is 0. Therefore, the sensitivity of the information gain function IG(s1,m) is ΔIG = log₂n.
[0172] In this embodiment, an exponential mechanism combined with an information gain function is used to select the optimal value of m. Each m value in the algorithm corresponds to... The optimal m can be selected with a probability Pr(m) proportional to E(m,ε′).
[0173]
[0174] After determining the value of m for the B+ tree, an m-order B+ tree is constructed based on the sampled dataset of the first stratum: using the key of each data entry as the leaf node of the B+ tree, and using the leaf nodes to index the username, the dataset is traversed to complete the construction of the B+ tree. Finally, each privacy budget node is treated as a noisy class. A privacy budget ε is assigned to the nodes under each privacy budget node, namely ε1, ε2, ..., ε m According to the Laplace distribution The added noise satisfies ε i Differential privacy yields a privacy-preserving classification tree, such as... Figure 7 As shown.
[0175] Step S409: Using the sampled datasets of the remaining layers other than the first layer and privacy protection techniques, update the privacy-protected classification tree to obtain the target classification tree.
[0176] In the aforementioned steps, this embodiment of the application extracts a time window data set S = {s1, s2, ..., s...} k A basic B+ tree was generated based on s1. Next, based on subsequent datasets s2, s3, ..., s... k The B+ tree is updated and noise is added. Then, the counting results for that time window are published, and subsequent time windows are processed. See [link to documentation]. Figure 8 This allows for dynamic updates to the published results.
[0177] In the method provided in this application embodiment, during dynamic dataset preprocessing, to enable continuous publishing of processed datasets, the continuous datasets collected from various mobile devices are divided into different time windows, with one result published for each time window. Stratified sampling is performed on adjacent and similar set-valued data, improving the algorithm's efficiency. In the classification tree construction step, a B+ tree is selected as the classification tree model. Partition protection of the dataset to be processed reduces the generation of empty nodes and avoids wasting privacy budget. Privacy protection is achieved by combining the exponential mechanism and information gain function with the B+ tree structure. The B+ tree is used to sort counting queries, adaptively allocate privacy budgets, and establish privacy budget nodes, optimizing the traditional privacy budget allocation scheme. In the dynamic update step, the algorithm updates the datasets following the time window based on the initial classification tree. After the update, noise is redistributed to each privacy budget node, and then noise is allocated to each leaf node and published with added noise.
[0178] Step S410: Determine the dataset to be published based on the keywords corresponding to each leaf node of the target classification tree.
[0179] Step S411: Publish the dataset to be published to the server.
[0180] The data privacy protection method provided in this application utilizes time windows to divide, stratify, and sample continuous datasets generated during application operation, achieving timeliness and reducing algorithm time overhead. It uses a classification tree to partition the dataset to be processed for each time window, and then processes the partitioned data based on differential privacy protection technology to obtain the data to be published. Differential privacy technology can set a privacy budget and control the degree of data protection according to actual needs, making it flexibly applicable to various applications. The dataset to be published is privacy-protected; even if attacked during transmission, an attacker with extensive information cannot deduce other information, thus achieving the purpose of privacy protection. Furthermore, this method ensures that the overall attributes of the dataset remain unchanged, guaranteeing data availability. It can ensure the level of privacy protection for the data to be published, shorten latency, and not impair data availability, achieving privacy protection for data collected by the application.
[0181] Based on the foregoing embodiments, this application provides a data privacy protection device. The various modules and units included in the device can be implemented by a processor in a computer device; of course, they can also be implemented by specific logic circuits. In the implementation process, the processor can be a central processing unit (CPU), a microprocessor unit (MPU), a digital signal processor (DSP), or a field programmable gate array (FPGA), etc.
[0182] This application embodiment further provides a data privacy protection device. Figure 9 A schematic diagram of the composition structure of a data privacy protection device provided in the embodiments of this application is shown below. Figure 9 As shown, the data privacy protection device 900 includes:
[0183] The acquisition module 901 is used to acquire a dynamic dataset, which is a continuous dataset generated when the terminal runs an application.
[0184] Preprocessing module 902 is used to preprocess the continuous dataset based on a preset time window to obtain the dataset to be processed;
[0185] The privacy protection processing module 903 is used to perform privacy protection processing on the dataset to be processed based on the classification tree to obtain the dataset to be published.
[0186] The publishing module 904 is used to publish the dataset to be published to the server.
[0187] In some embodiments, the preprocessing module 902 includes:
[0188] The first partitioning unit is used to partition the continuous dataset according to a preset time window to obtain the dataset corresponding to each time window;
[0189] The first sampling unit is used to select a time window from the time windows and perform sampling processing on the dataset corresponding to the time window to obtain a sampled dataset.
[0190] The first determining unit is used to determine the sampled dataset as the dataset to be processed.
[0191] In some embodiments, the privacy protection processing module 903 includes:
[0192] The first construction unit is used to construct an initial classification tree using the dataset to be processed, wherein the keyword of each data entry in the dataset to be processed is a leaf node of the initial classification tree;
[0193] The first allocation unit is used to allocate noise to the keywords corresponding to each leaf node of the initial classification tree using privacy protection technology to obtain the target classification tree;
[0194] The second determining unit is used to determine the dataset to be published based on the keywords corresponding to each leaf node of the target classification tree.
[0195] In some embodiments, the preprocessing module 902 includes:
[0196] The second partitioning unit is used to partition the continuous dataset according to a preset time window to obtain the dataset corresponding to each time window;
[0197] A stratification unit is used to select a time window from the various time windows, and perform stratification processing on the data corresponding to the time window to obtain multiple stratified datasets;
[0198] The second sampling unit is used to perform sampling processing on the multiple hierarchical datasets respectively to obtain multiple hierarchical sampled datasets.
[0199] The third determining unit is used to determine the dataset to be processed based on the multiple stratified sampling datasets.
[0200] In some embodiments, the hierarchical unit includes:
[0201] The first determining subunit is used to determine the sampling ratio of each stratified dataset according to the generation time of the stratified data included in each stratified dataset.
[0202] The sampling unit is used to sample the stratified data included in each stratified dataset according to the sampling ratio of each stratified dataset, so as to obtain multiple stratified sampled datasets.
[0203] In some embodiments, the privacy protection processing module 903 includes:
[0204] The second construction unit is used to construct an initial classification tree using the sampled data included in the first layer of the sampled dataset, wherein the first layer is the layer with the longest generation time of the layered data, and the keyword of each sampled data is a leaf node of the initial classification tree.
[0205] The second allocation unit is used to allocate noise to the keywords corresponding to each leaf node of the initial classification tree using privacy protection technology, so as to obtain a privacy-protected classification tree.
[0206] The update unit is used to update the privacy-preserved classification tree using the sampled datasets of the remaining layers other than the first layer and privacy-preserving techniques to obtain the target classification tree.
[0207] The fourth determining unit is used to determine the dataset to be published based on the keywords corresponding to each leaf node of the target classification tree.
[0208] In some embodiments, the second building unit includes:
[0209] Obtain sub-units to acquire pre-built information gain functions;
[0210] The second determining subunit is used to determine the optimal order of the initial classification tree based on the sampled data included in the first stratified sampling dataset and the information gain function.
[0211] Construct sub-units to build an initial classification tree based on the keywords of each sampled data included in the first stratified sampling dataset and the optimal order.
[0212] It should be noted that the descriptions of the above data privacy protection device embodiments are similar to the descriptions of the methods described above, and have the same beneficial effects as the method embodiments. For technical details not disclosed in the data privacy protection device embodiments of this application, those skilled in the art should refer to the descriptions of the method embodiments of this application for understanding.
[0213] It should be noted that, in the embodiments of this application, if the above methods are implemented as software functional modules and sold or used as independent products, they can also be stored in a computer-readable storage medium. Based on this understanding, the technical solutions of the embodiments of this application, or the parts that contribute to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), magnetic disks, or optical disks. Thus, the embodiments of this application are not limited to any specific hardware and software combination.
[0214] Accordingly, embodiments of this application provide a computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the steps in the data privacy protection method provided in the above embodiments.
[0215] This application provides a data privacy protection device. Figure 10This is a schematic diagram of the composition structure of a data privacy protection device provided in an embodiment of this application. Figure 10 The exemplary structure of the data privacy protection device 1000 shown can be used to foresee other exemplary structures of the data privacy protection device 1000. Therefore, the structure described herein should not be regarded as a limitation. For example, some components described below may be omitted, or components not described below may be added to suit the specific needs of certain applications.
[0216] Figure 10 The data privacy protection device 1000 shown includes: a processor 1001, at least one communication bus 1002, a user interface 1003, at least one external communication interface 1004, and a memory 1005. The communication bus 1002 is configured to enable communication between these components. The user interface 1003 may include a display screen, and the external communication interface 1004 may include standard wired and wireless interfaces. The processor 1001 is configured to execute a program of a data privacy protection method stored in the memory to implement the steps of the data privacy protection method provided in the above embodiments.
[0217] The descriptions of the data privacy protection devices and storage media embodiments above are similar to those of the method embodiments above, and have similar beneficial effects. For technical details not disclosed in the data privacy protection devices and storage media embodiments of this application, please refer to the descriptions of the method embodiments of this application for understanding.
[0218] It should be understood that the phrase "one embodiment" or "an embodiment" throughout the specification means that a specific feature, structure, or characteristic related to the embodiment is included in at least one embodiment of this application. Therefore, "in one embodiment" or "in an embodiment" appearing throughout the specification does not necessarily refer to the same embodiment. Furthermore, these specific features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. It should be understood that in the various embodiments of this application, the sequence numbers of the above-described processes do not imply a sequential order of execution; the execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application. The sequence numbers of the above-described embodiments are merely descriptive and do not represent the superiority or inferiority of the embodiments.
[0219] It should be noted that, in this document, 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. Unless otherwise specified, 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 that element.
[0220] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are merely illustrative. For example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods, such as: multiple units or components can be combined, or integrated into another system, or some features can be ignored or not executed. In addition, the coupling, direct coupling, or communication connection between the various components shown or discussed can be through some interfaces, and the indirect coupling or communication connection between devices or units can be electrical, mechanical, or other forms.
[0221] The units described above as separate components may or may not be physically separate. The components shown as units may or may not be physical units. They may be located in one place or distributed across multiple network units. Some or all of the units may be selected to achieve the purpose of this embodiment according to actual needs.
[0222] In addition, each functional unit in the various embodiments of this application can be integrated into one processing unit, or each unit can be a separate unit, or two or more units can be integrated into one unit; the integrated unit can be implemented in hardware or in the form of hardware plus software functional units.
[0223] Those skilled in the art will understand that all or part of the steps of the above method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it performs the steps of the above method embodiments. The aforementioned storage medium includes various media that can store program code, such as mobile storage devices, ROMs, magnetic disks, or optical disks.
[0224] Alternatively, if the integrated units described above are implemented as software functional modules and sold or used as independent products, they can also be stored in a computer-readable storage medium. Based on this understanding, the technical solutions of the embodiments of this application, or the parts that contribute to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a device to execute all or part of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as mobile storage devices, ROMs, magnetic disks, or optical disks.
[0225] The above description is merely an embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A data privacy protection method, characterized in that, The method includes: Acquire a dynamic dataset, which is a continuous dataset generated when the terminal runs an application; the continuous dataset is a serialized dataset dynamically generated in chronological order. The continuous dataset is preprocessed based on a preset time window to obtain a dataset to be processed; wherein, the dataset to be processed is determined according to the sampling ratio of each stratified dataset, and the sampling ratio is determined according to the generation time of the stratified data included in each stratified dataset determined by the dynamic dataset; the sampling ratios of each stratified dataset are different, and the more recent the generation time of the stratified data included in each stratified dataset, the larger the sampling ratio. The dataset to be processed is then subjected to privacy protection processing based on the classification tree to obtain the dataset to be published. Publish the dataset to be published to the server.
2. The method according to claim 1, characterized in that, The preprocessing of the continuous dataset based on a preset time window to obtain the dataset to be processed includes: The continuous dataset is divided according to a preset time window to obtain the dataset corresponding to each time window; Select one time window from the time windows, and sample the dataset corresponding to the one time window to obtain the sampled dataset. The sampled dataset is determined as the dataset to be processed.
3. The method according to claim 1, characterized in that, The privacy protection processing of the dataset to be processed based on the classification tree to obtain the dataset to be published includes: An initial classification tree is constructed using the dataset to be processed, wherein the keyword of each data entry in the dataset to be processed is a leaf node of the initial classification tree; Using privacy protection techniques, noise is assigned to the keywords corresponding to each leaf node of the initial classification tree to obtain the target classification tree; The dataset to be published is determined based on the keywords corresponding to each leaf node of the target classification tree.
4. The method according to claim 1, characterized in that, The preprocessing of the continuous dataset based on a preset time window to obtain the dataset to be processed includes: The continuous dataset is divided according to a preset time window to obtain the dataset corresponding to each time window; Select one time window from the various time windows, and perform stratified processing on the data corresponding to the one time window to obtain multiple stratified datasets; The multiple hierarchical datasets are sampled separately to obtain multiple hierarchical sampled datasets; The dataset to be processed is determined based on the multiple stratified sampled datasets.
5. The method according to claim 4, characterized in that, The sampling process is performed on the multiple hierarchical datasets to obtain multiple hierarchical sampled datasets, including: The sampling ratio of each stratified dataset is determined according to the generation time of the stratified data included in each stratified dataset; According to the sampling ratio of each stratified dataset, the stratified data included in each stratified dataset are sampled respectively to obtain the multiple stratified sampled datasets.
6. The method according to claim 1, characterized in that, The privacy protection processing of the dataset to be processed based on the classification tree to obtain the dataset to be published includes: An initial classification tree is constructed using the sampled data included in the first stratum of the sampled dataset. The first stratum is the stratum with the longest generation time of the stratified data, and the keyword of each sampled data is a leaf node of the initial classification tree. Using privacy protection techniques, noise is assigned to the keywords corresponding to each leaf node of the initial classification tree to obtain a privacy-protected classification tree; Using the sampled datasets of the remaining layers other than the first layer and the privacy protection technology, the privacy-protected classification tree is updated to obtain the target classification tree; The dataset to be published is determined based on the keywords corresponding to each leaf node of the target classification tree.
7. The method according to claim 6, characterized in that, The construction of the initial classification tree using the sampled data included in the first stratified sampling dataset includes: Obtain the pre-built information gain function; Based on the sampled data included in the first stratified sampling dataset and the information gain function, the optimal order of the initial classification tree is determined; Based on the keywords of each sampled data included in the first stratified sampling dataset and the optimal order, the initial classification tree is constructed.
8. A data privacy protection device, characterized in that, The device includes: The acquisition module is used to acquire a dynamic dataset, which is a continuous dataset generated when the terminal runs an application; the continuous dataset is a serialized dataset dynamically generated in chronological order. A preprocessing module is used to preprocess the continuous dataset based on a preset time window to obtain a dataset to be processed; wherein, the dataset to be processed is determined according to the sampling ratio of each stratified dataset, and the sampling ratio is determined according to the generation time of the stratified data included in each stratified dataset determined by the dynamic dataset; the sampling ratios of each stratified dataset are different, and the more recent the generation time of the stratified data included in each stratified dataset, the larger the sampling ratio. The privacy protection processing module is used to perform privacy protection processing on the dataset to be processed based on the classification tree to obtain the dataset to be published. The publishing module is used to publish the dataset to be published to the server.
9. The apparatus according to claim 8, characterized in that, The preprocessing module includes: The first partitioning unit is used to partition the continuous dataset according to a preset time window to obtain the dataset corresponding to each time window; The first sampling unit is used to select a time window from the time windows and perform sampling processing on the dataset corresponding to the time window to obtain a sampled dataset. The first determining unit is used to determine the sampled dataset as the dataset to be processed.
10. The apparatus according to claim 8, characterized in that, The privacy protection processing module includes: The first construction unit is used to construct an initial classification tree using the dataset to be processed, wherein the keyword of each data entry in the dataset to be processed is a leaf node of the initial classification tree; The first allocation unit is used to allocate noise to the keywords corresponding to each leaf node of the initial classification tree using privacy protection technology to obtain the target classification tree; The second determining unit is used to determine the dataset to be published based on the keywords corresponding to each leaf node of the target classification tree.
11. The apparatus according to claim 8, characterized in that, The preprocessing module includes: The second partitioning unit is used to partition the continuous dataset according to a preset time window to obtain the dataset corresponding to each time window; A stratification unit is used to select a time window from the various time windows, and perform stratification processing on the data corresponding to the time window to obtain multiple stratified datasets; The second sampling unit is used to perform sampling processing on the multiple hierarchical datasets respectively to obtain multiple hierarchical sampled datasets. The third determining unit is used to determine the dataset to be processed based on the multiple stratified sampling datasets.
12. The apparatus according to claim 11, characterized in that, The hierarchical unit includes: The first determining subunit is used to determine the sampling ratio of each stratified dataset according to the generation time of the stratified data included in each stratified dataset; The sampling unit is used to sample the stratified data included in each stratified dataset according to the sampling ratio of each stratified dataset, so as to obtain the multiple stratified sampled datasets.
13. The apparatus according to claim 8, characterized in that, The privacy protection processing module includes: The second construction unit is used to construct an initial classification tree using the sampled data included in the first layer of the sampled dataset, wherein the first layer is the layer with the longest generation time of the layered data, and the keyword of each sampled data is a leaf node of the initial classification tree. The second allocation unit is used to allocate noise to the keywords corresponding to each leaf node of the initial classification tree using privacy protection technology, so as to obtain a privacy-protected classification tree. The update unit is used to update the privacy-preserved classification tree using the sampled dataset of the remaining layers other than the first layer and the privacy protection technology to obtain the target classification tree; The fourth determining unit is used to determine the dataset to be published based on the keywords corresponding to each leaf node of the target classification tree.
14. The apparatus according to claim 13, characterized in that, The second building unit includes: Obtain sub-units to acquire pre-built information gain functions; The second determining subunit is used to determine the optimal order of the initial classification tree based on the sampled data included in the first stratified sampling dataset and the information gain function. Construct sub-units for building the initial classification tree based on the keywords of each sampled data included in the first stratified sampling dataset and the optimal order.
15. A data privacy protection device, characterized in that, include: processor; as well as Memory for storing computer programs that can run on the processor; When the computer program is executed by a processor, it implements the steps of the data privacy protection method according to any one of claims 1 to 7.
16. A computer-readable storage medium, characterized in that, The device stores computer-executable instructions configured to perform the steps of the data privacy protection method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Anonymous associated user matrix filling privacy dynamic publishing method
CN113779628A