Data processing method and device, electronic device, and storage medium
By generalizing the original data in a random aggregation method, anonymous data is generated, and the problems of low operation efficiency and poor security in data protection in the prior art are solved, and the resistance to attacks is improved.
Patent Information
- Application Number
- CN202210827187.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-07-13
- Publication Date
- 2024-12-24
- Estimated Expiration
- 2042-07-13
AI Technical Summary
In the prior art, k anonymity technology and micro-aggregation methods have low operation efficiency and high leakage risk in data protection, and cannot effectively resist differential attacks and connection attacks, and have poor security.
By classifying the original data, the target equivalent group that meets the anonymity conditions is determined, and the data of the identifiers are generalized using a random aggregation method to generate anonymous data to improve operational efficiency and security.
It reduces the time to search for local optimal solutions, improves the accuracy and operation efficiency of equivalent groups, enhances the resistance to differential attacks and connected attacks, and improves the security and reliability of data.
Smart Images

Figure CN115221554B_ABST
Abstract
Description
Background Art
[0002] In daily network interactions or when publishing data, it is necessary to ensure data security to protect user privacy.
[0003] In the related art, k-anonymity technology or micro-aggregation method can be used to generalize quasi-identifiers in data records. In the above method, the operation efficiency is low, the risk of leakage is high, it cannot resist some attacks, and the security is poor.
[0004] It should be noted that the information disclosed in the above background technology section is only used to enhance the understanding of the background of the present disclosure, and therefore may include information that does not constitute the prior art known to ordinary technicians in the field. Summary of the invention
[0005] The purpose of the present disclosure is to provide a data processing method, a data processing device, an electronic device and a computer-readable storage medium, thereby overcoming, at least to a certain extent, the problem of poor security caused by the inability to avoid differential attacks and connection attacks due to the limitations and defects of related technologies.
[0006] According to one aspect of the present disclosure, there is provided a data processing method, comprising: obtaining original data of an object to be processed, and classifying the original data to obtain a plurality of data subsets; performing an equivalent group search on the data corresponding to the quasi-identifiers in each of the data subsets to determine a target equivalent group that meets an anonymity condition; generalizing the data corresponding to the quasi-identifiers in the target equivalent group by random aggregation to obtain anonymous data corresponding to the quasi-identifiers, so as to perform corresponding operations on the object to be processed according to the anonymous data.
[0007] In an exemplary embodiment of the present disclosure, the data corresponding to the quasi-identifiers in each of the data subsets are searched for equivalence groups to determine a target equivalence group that meets the anonymity condition, including: standardizing all data points corresponding to each quasi-identifier in each data subset, and taking all data points corresponding to each quasi-identifier as an initial equivalence group; dividing the initial equivalence group into two sub-equivalence groups, determining status information of the two sub-equivalence groups according to an interval range, and determining a target equivalence group that meets the anonymity condition according to the status information.
[0008] In an exemplary embodiment of the present disclosure, dividing the initial equivalence group into two sub-equivalence groups includes: obtaining the distance between every two data points in the initial equivalence group to determine a distance matrix; determining two data points with the largest distance in the initial equivalence group as reference data points according to the distance matrix, and assigning a target number of data points with the smallest distance from the reference data points to the reference data points to form an intermediate equivalence group; adding the remaining data points to the intermediate equivalence group with the smallest distance from the remaining data points to obtain two sub-equivalence groups.
[0009] In an exemplary embodiment of the present disclosure, the state information of the two sub-equivalence groups is determined according to an interval range, and the target equivalence group that satisfies the anonymity condition is determined according to the state information, including: if it is determined that the state information shows that the two sub-equivalence groups satisfy the interval range, the two sub-equivalence groups are determined as the target equivalence groups that satisfy the anonymity condition; if it is determined that the state information shows that the two sub-equivalence groups do not satisfy the interval range, the sub-equivalence groups that do not satisfy the interval range are updated until the updated sub-equivalence groups all satisfy the interval range, so as to determine the target equivalence group that satisfies the anonymity condition.
[0010] In an exemplary embodiment of the present disclosure, the sub-equivalence groups that do not satisfy the interval range are updated until the updated sub-equivalence groups all satisfy the interval range to determine the target equivalence group that satisfies the anonymity condition, including: obtaining the distance between every two data points in the sub-equivalence group that does not satisfy the interval range to determine the distance matrix; determining the two data points with the largest distance in the sub-equivalence group as reference data points according to the distance matrix, and respectively assigning a target number of data points with the smallest distance from the reference data points to the reference data points to form an intermediate equivalence group; adding the remaining data points to the intermediate equivalence group with the smallest distance from the remaining data points until two sub-equivalence groups corresponding to the sub-equivalence group that does not satisfy the interval range are formed as updated sub-equivalence groups, and determining the target equivalence group according to the updated sub-equivalence groups.
[0011] In an exemplary embodiment of the present disclosure, data corresponding to the quasi-identifier in the target equivalence group is generalized by random aggregation to obtain anonymous data corresponding to the quasi-identifier, including: determining multiple standard data of the quasi-identifier in the target equivalence group; obtaining the distribution range of random noise according to the scale factor and the multiple standard data; and determining the anonymous data of the quasi-identifier corresponding to each data subset in combination with the distribution range of the random noise and the replacement data of the quasi-identifier.
[0012] In an exemplary embodiment of the present disclosure, the multiple standard data include a maximum value, a minimum value and an average value; the distribution range of random noise is obtained according to the scale factor and the multiple standard data, including: determining the distribution range of random noise according to the product of the scale factor and the difference from the minimum value to the average value, and the product of the scale factor and the difference from the maximum value to the average value.
[0013] According to one aspect of the present disclosure, there is provided a data processing device, comprising: a data classification module, used to obtain original data of an object to be processed, and classify the original data to obtain multiple data subsets; an equivalence group determination module, used to perform equivalence group search on the data corresponding to the quasi-identifiers in each of the data subsets, and determine a target equivalence group that meets the anonymity condition; an anonymous processing module, used to perform data generalization on the data corresponding to the quasi-identifiers in the target equivalence group by random aggregation, and obtain anonymous data corresponding to the quasi-identifiers, so as to perform corresponding operations on the object to be processed according to the anonymous data.
[0014] According to one aspect of the present disclosure, an electronic device is provided, comprising: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to perform any one of the above-mentioned data processing methods by executing the executable instructions.
[0015] According to one aspect of the present disclosure, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the data processing method described in any one of the above is implemented.
[0016] In the data processing method, data processing device, electronic device and computer-readable storage medium provided in the embodiments of the present disclosure, on the one hand, by grouping the original data and determining the target equivalence group that meets the anonymity condition based on the multiple data subsets obtained by the grouping, the time for searching the local optimal solution is reduced, the negative impact of low-quality random selection on the search results is avoided, the operation efficiency is improved, and the accuracy of the equivalence group is improved. On the other hand, by determining the target equivalence group that meets the anonymity condition, and then generalizing the quasi-identifier data on the basis of the target equivalence group, the quasi-identifiers in the target equivalence group are adjusted and generalized based on the random aggregation method. Due to the random distribution of data, it is impossible to infer the quasi-identifiers of the remaining data based on the quasi-identifiers of a certain data in the target equivalence group, which enhances the resistance of anonymous data to partial attacks such as connection attacks and differential attacks, improves security and reliability, and increases the scope of application.
[0017] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] The accompanying drawings herein are incorporated into the specification and constitute a part of the specification, illustrate embodiments consistent with the present disclosure, and together with the specification are used to explain the principles of the present disclosure. Obviously, the accompanying drawings described below are only some embodiments of the present disclosure, and for ordinary technicians in this field, other accompanying drawings can be obtained based on these accompanying drawings without creative work.
[0019] Figure 1 A system architecture diagram for data processing according to an embodiment of the present disclosure is schematically shown.
[0020] Figure 2 The following is a flowchart schematically showing a data processing method according to an embodiment of the present disclosure.
[0021] Figure 3 The flowchart of data classification according to the embodiment of the present disclosure is schematically shown.
[0022] Figure 4 A specific flow chart of classification based on the mean clustering algorithm in an embodiment of the present disclosure is schematically shown.
[0023] Figure 5 The following is a schematic diagram showing a flow chart of determining a target equivalence group according to an embodiment of the present disclosure.
[0024] Figure 6 The flowchart of searching for an equivalent group according to an embodiment of the present disclosure is schematically shown.
[0025] Figure 7 A schematic diagram schematically illustrates an equivalent group of embodiments of the present disclosure.
[0026] Figure 8 The following is a schematic diagram showing a process of obtaining anonymous data according to an embodiment of the present disclosure.
[0027] Fig. 9 A schematic diagram schematically illustrates the distribution status of anonymous data according to an embodiment of the present disclosure.
[0028] Fig.10 The following is a schematic diagram showing the process of anonymity processing in an embodiment of the present disclosure.
[0029] Fig.11 The block diagram of the data processing device according to the embodiment of the present disclosure is schematically shown.
[0030] Fig.12 The block diagram of the electronic device according to the embodiment of the present disclosure is schematically shown. DETAILED DESCRIPTION
[0031] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be implemented in a variety of forms and should not be construed as being limited to the examples set forth herein; on the contrary, these embodiments are provided so that the present disclosure will be more comprehensive and complete, and the concepts of the example embodiments are fully conveyed to those skilled in the art. The described features, structures, or characteristics may be combined in one or more embodiments in any suitable manner. In the following description, many specific details are provided to provide a full understanding of the embodiments of the present disclosure. However, those skilled in the art will appreciate that the technical solutions of the present disclosure may be practiced while omitting one or more of the specific details, or other methods, components, devices, steps, etc. may be adopted. In other cases, known technical solutions are not shown or described in detail to avoid obscuring various aspects of the present disclosure.
[0032] In addition, the accompanying drawings are only schematic illustrations of the present disclosure and are not necessarily drawn to scale. The same reference numerals in the figures represent the same or similar parts, and their repeated description will be omitted. Some of the block diagrams shown in the accompanying drawings are functional entities and do not necessarily correspond to physically or logically independent entities. These functional entities can be implemented in software form, or implemented in one or more hardware modules or integrated circuits, or implemented in different networks and / or processor devices and / or microcontroller devices.
[0033] In the related art, data privacy can be protected by k-anonymity technology or micro-aggregation method. Among them, k-anonymity technology is a means of data release that protects privacy. This technology divides the data into several groups, so that each group contains at least k records, and generalizes the quasi-identifiers of the records. The attacker has only a 1 / k probability of successfully connecting the anonymized records. The micro-aggregation method is a commonly used method for generalizing quasi-identifiers, which is suitable for continuous data. This method replaces the quasi-identifier of the record with the average value of each group of quasi-identifiers to achieve the purpose of generalization. However, these technical methods have the following problems: searching for the optimal equivalent group that satisfies k-anonymity requires a lot of time cost; in the micro-aggregation method, the data near the center point is more susceptible to connection attacks and has a higher risk of leakage; if the attacker has the quasi-identifiers of k-1 data in the equivalence group, the quasi-identifiers of the remaining data can be inferred through the center point, so the micro-aggregation method cannot resist differential attacks.
[0034] In an embodiment of the present disclosure, in order to solve the above technical problem, a data processing method is provided. Figure 1 A system architecture diagram for implementing the data processing method is schematically shown in FIG.
[0035] refer to Figure 1As shown in , the system architecture 100 may include a client 101, a network 102, and a server 103. Among them, the client 101 may be an intelligent device, for example, a smart phone, a computer, a tablet computer, a smart speaker, and other smart devices. The network 102 is used to provide a medium for a communication link between the client 101 and the server 103. The network 102 may include various connection types, such as a wired communication link, a wireless communication link, and the like. In the embodiment of the present disclosure, the network 102 between the client 101 and the server 103 may be a wired communication link, for example, a communication link may be provided through a serial port connection line, or a wireless communication link, and a communication link may be provided through a wireless network. The server 103 may be a background system that provides data processing related services in the embodiment of the present disclosure, and may include a portable computer, a desktop computer, a smart phone, and other electronic devices with computing functions or a cluster formed by multiple electronic devices, which is used to process data sent by the client.
[0036] In the disclosed embodiment, the client can send the original data of the object to be processed to the server, and the server classifies the original data to obtain multiple data subsets; performs an equivalent group search on the data corresponding to the quasi-identifier in each of the data subsets to determine a target equivalent group that meets the anonymity condition; generalizes the data corresponding to the quasi-identifier in the target equivalent group by random aggregation to obtain anonymous data corresponding to the quasi-identifier, and sends the anonymous data to the client for display.
[0037] It should be noted that the data processing method provided in the embodiment of the present disclosure can be executed by the client 101. Accordingly, the data processing method can be set in the client 101 by means of a program or the like. The data processing method provided in the embodiment of the present disclosure can also be executed by a server. In the embodiment of the present disclosure, the data processing method is executed by the server as an example for description.
[0038] Next, refer to Figure 2 The data processing method in the embodiment of the present disclosure is specifically described in detail.
[0039] In step S210, original data of the object to be processed is obtained, and the original data is classified to obtain multiple data subsets.
[0040] In the disclosed embodiment, during the big data processing process, some data may need to be published, such as medical data or regional government data, etc. These data may contain private data of individual users or corporate users, so they need to be anonymized to ensure their security.
[0041] The object to be processed may be a user to be processed or a collective user to be processed, etc., which is determined according to the application scenario. When the application scenario is medical data, the object to be processed may be at least part of the patients; when the application scenario is economic data, the object to be processed may be a collective. The original data may be all the associated data corresponding to the object to be processed, such as all medical data, etc.
[0042] Raw data may include but are not limited to identifiers, quasi-identifiers, and other information. Identifiers can directly identify a user or individual, such as ID number, name, etc. Quasi-identifiers refer to attributes that cannot uniquely identify a user alone but can uniquely identify a user in combination with other information, that is, the minimum set of attributes that can be linked to external tables to identify an individual, which may include but are not limited to gender, age, event date (such as admission, surgery, discharge, visit, etc.), geographic scope, work unit, education level, etc. Raw data may also include other information, such as salary, medical history, and preference information.
[0043] When the original data of the object to be processed is obtained, the original data can be classified to improve the processing efficiency. When classifying, the original data can be divided into c subclasses to obtain c data subsets, thereby realizing the function of accelerating the search for equivalent groups. However, too many subclasses may reduce the quality of equivalent groups. Therefore, the parameter c needs to be adjusted according to the scale of the large data set.
[0044] Exemplarily, mean clustering can be used to classify the original data. In some embodiments, the c-mean++ mean clustering algorithm can be used to pre-classify the original data. c-mean++ mean clustering is a dynamic clustering algorithm, the basic idea of which is that in each iteration, each sample is classified into the class to which the cluster center closest to it belongs, and after all the classifications are completed, the new cluster center is recalculated; then the previous steps are repeated until the cluster center no longer changes, and the clustering is completed.
[0045] Figure 3 A flow chart for classification is schematically shown in FIG. Figure 3 As shown in , it mainly includes the following steps:
[0046] In step S310, the current cluster center is obtained according to the random data points;
[0047] In step S320, the next cluster center is determined based on the distances from the remaining data points except the random data points to the current cluster center, until all cluster centers are determined;
[0048] In step S330, the original data is divided into a plurality of data subsets according to the clusters corresponding to all the cluster centers.
[0049] In the embodiment of the present disclosure, the current cluster center may be one cluster center or multiple cluster centers, which is specifically determined according to the number of times the cluster center is determined. Moreover, the number of current cluster centers increases as the number of times the cluster center is determined increases, and increases by one at a time. For example, when the cluster center is determined for the first time, the number of current cluster centers is one; when the cluster center is determined for the second time, the number of current cluster centers is two, and so on; when the cluster center is determined for the third time, the number of current cluster centers is three, and so on.
[0050] Specifically, a data point can be randomly selected from the original data as a random data point, and the random data point can be used as the initial cluster center (the first cluster center). Then the distance between the remaining data points and each cluster center represented by the current cluster center is calculated; the next cluster center is randomly selected based on the minimum distance using the roulette principle until all cluster centers are determined. That is, for the first time, a data point is randomly selected as the initial cluster center; for the second determination, the second cluster center is randomly selected based on the minimum distance from the remaining data points to the initial cluster center and the roulette principle; for the third determination, the minimum distance is determined between the distance from the remaining data points to the initial cluster center and the distance from the remaining data points to the second cluster center, and the third cluster center is randomly selected based on the minimum distance and the roulette principle, and this cycle is repeated until all cluster centers are determined.
[0051] After all cluster centers are determined, all data points will be assigned to the cluster center closest to the data point to achieve data distribution to obtain the corresponding cluster. Further, the cluster center can be updated, and the updated cluster center can be the average value of all data points in the cluster corresponding to each cluster center. After the cluster center is updated, the above steps can be repeated to determine the next updated cluster center until all cluster centers are determined, and data distribution is performed on all data points according to all cluster centers until the cluster center assigned to the data point remains unchanged, that is, the distribution scheme of the data point remains unchanged, so as to determine the cluster corresponding to each cluster center. Among them, the number of data subsets obtained by division is the same as the number of clusters obtained by clustering, and the data contained in the data subsets obtained by division is consistent with the content contained in each cluster. When each data subset is divided, the data type contained in each data subset is the same as the data type contained in the original data, for example, it can include but is not limited to identifiers, quasi-identifiers and other information. Each data subset can contain one or more quasi-identifiers, and the number of quasi-identifiers contained in each data subset can be the same or different. For example, the data subset may be two-dimensional data, (A1, A2) may be divided into a data subset, (A3, A5) may be divided into a data subset, and so on.
[0052] On this basis, the c-means++ method is used to divide the original data into multiple data subsets. When performing anonymization tasks on the data, the anonymization task can be divided into multiple subtasks according to the number of divided data subsets and calculated in parallel, so that each subtask can perform an anonymization task of a data subset, thereby achieving the purpose of reducing the data scale. For example, the original data can be divided into c data subsets, and the number of subtasks can be c.
[0053] Figure 4 A flow chart for classification is schematically shown in FIG. Figure 4 As shown in , it mainly includes the following steps:
[0054] In step S401, original data is obtained.
[0055] In step S402, a random data point is selected as the current cluster center.
[0056] In step S403, it is determined whether i is less than or equal to the number of data subsets c. If yes, the process goes to step S404. If no, the process goes to step S406.
[0057] In step S404, the distance from each remaining data point to each cluster center is calculated.
[0058] In step S405, based on the distance, a data point is randomly selected as the next cluster center using the roulette wheel principle, and the process returns to step S403.
[0059] In step S406, the remaining data points are assigned to the cluster corresponding to the cluster center closest to each data point.
[0060] In step S407, the cluster centers are updated. Exemplarily, the cluster centers may be updated according to the average value of all data points in the cluster corresponding to each cluster center.
[0061] In step S408, it is determined whether the allocation scheme remains unchanged. If so, the process goes to step S409; if not, the process goes to step S406.
[0062] In step S409, c data subsets are determined.
[0063] In the disclosed embodiment, the original data is divided into multiple data subsets by the mean value clustering algorithm, and the data can be determined as which category it is closer to based on which party, thereby improving the similarity of the classification results. By dividing the original data into multiple data subsets, equivalent group search can be performed based on the data subsets, thereby improving the efficiency and accuracy of equivalent group search.
[0064] Next, continue to refer to Figure 2As shown in , in step S220, an equivalent group search is performed on the data corresponding to the quasi-identifier in each of the data subsets to determine a target equivalent group that meets the anonymity condition.
[0065] In the embodiment of the present disclosure, a data subset may include one or more quasi-identifiers, and the quasi-identifiers included in each data subset may be different, and the quasi-identifiers of multiple data subsets cover all quasi-identifiers in the original data. For example, the original data is divided into c data subsets, and one of the c data subsets includes quasi-identifier A1 and quasi-identifier A2.
[0066] Anonymity processing can be achieved through anonymous tasks, which can be performed on quasi-identifiers in the data. Since the original data is divided into c data subsets, the anonymous task can be executed in parallel through c subtasks, which can reduce the data scale and improve processing efficiency. The anonymous condition is used to express the requirements of the anonymous task. The anonymous condition may include but is not limited to the number of data or records contained in each equivalence group. The number is used to limit the minimum number contained in each equivalence group, which can be represented by k, for example. When k is 3, it can be considered that the anonymous condition is that the number contained in each equivalence group is at least 3.
[0067] The target equivalence group refers to the result of dividing the data corresponding to each quasi-identifier in the data subset, for example, several sub-data are grouped into an equivalence group. The target equivalence group can be composed of multiple sub-equivalence groups. The amount of data contained in each sub-equivalence group contained in the target equivalence group can be the same or different, but the amount of data contained in each sub-equivalence group satisfies the anonymity condition, that is, the amount of data contained in each sub-equivalence group is at least k.
[0068] Figure 5 A schematic diagram of the process of determining the target equivalence group is shown in FIG. Figure 5 As shown in , it mainly includes the following steps:
[0069] In step S510, all data points corresponding to each quasi-identifier in each data subset are standardized, and all data points are taken as an initial equivalence group.
[0070] In this step, firstly, the data of all data points of each quasi-identifier in each data subset may be standardized, for example, all data points of the quasi-identifier A1 are standardized, and all data points of the quasi-identifier A2 are standardized.
[0071] When performing standardization, each data point can be standardized according to the maximum and minimum values of each quasi-identifier. Specifically, each data point of each quasi-identifier can be standardized by referring to formula (1):
[0072]
[0073] Among them, X' represents the standardized standard data point corresponding to each data point, and X is each data point.
[0074] On this basis, all data points corresponding to each quasi-identifier can be taken as an initial equivalence group, that is, an overall equivalence group. Specifically, the standard data points of each quasi-identifier can be taken as an initial equivalence group. For example, if all data points of quasi-identifier A1 are data points corresponding to sequence numbers 1 to 10, then all data points of quasi-identifier A1 can be taken as an initial equivalence group [1,2,3,4,5,6,7,8,9,10]. The initial equivalence group here can also be called an equivalence class.
[0075] In step S520, the initial equivalence group is divided into two sub-equivalence groups, state information of the two sub-equivalence groups is determined according to the range interval, and a target equivalence group satisfying anonymity conditions is determined according to the state information.
[0076] In this step, the initial equivalence group may be first divided into two sub-equivalence groups. The number of data points contained in the two sub-equivalence groups may be the same or different, which is not specifically limited here. In some embodiments, dividing the initial equivalence group into two sub-equivalence groups may include the following steps:
[0077] Calculating the distance between every two data points in the initial equivalence group to determine a distance matrix;
[0078] Determine, according to the distance matrix, two data points with the largest distance in the initial equivalence group as reference data points, and assign a target number of data points closest to the reference data points to the reference data points to form an intermediate equivalence group;
[0079] The remaining data points are added to the intermediate equivalence group closest to the remaining data points to form two sub-equivalence groups.
[0080] In the disclosed embodiment, the distance between each two data points can be calculated by the difference between each two data points, thereby determining the corresponding distance matrix. Further, the maximum distance is determined in the distance matrix, and the two data points corresponding to the maximum distance are determined. The two data points are respectively used as reference data points, and the target number of data points closest to the reference data points are assigned to the reference data points to generate an intermediate equivalent group based on the reference data points and the target number of data points. The target number can be determined based on the amount of data k in the anonymity condition, which can be the number of data points in the anonymity condition minus one, that is, k-1.
[0081] For example, if the two data points with the largest distance are 1 and 9, 1 and 9 are used as reference data points. If k is 3 in the anonymity condition, the target number k-1 is 2, that is, the two data points (2,3) closest to data point 1 are assigned to data point 1, and the two data points (10,8) closest to data point 9 are assigned to data point 9. Based on this, the intermediate equivalent groups can be [1,2,3] and [8,9,10].
[0082] Next, the remaining data points can be added to the intermediate equivalence group closest to each remaining data point, thereby generating two sub-equivalence groups. The distance of the remaining data points to the intermediate equivalence group can be determined based on the distance of the remaining data points to the average value of the data points included in the intermediate equivalence group; or the distance of the remaining data points to the intermediate equivalence group can be determined based on the distance of the remaining data points to the data point with the smallest distance in the intermediate equivalence group. Further, the intermediate equivalence group to which the remaining data points are added can be determined based on the smallest distance among the distances of the remaining data points to each intermediate equivalence group. For example, the remaining data point 4 has the smallest distance to the intermediate equivalence group [1,2,3], and is added to the intermediate equivalence group [1,2,3]; the remaining data points 5, 6, 7 have the smallest distance to the intermediate equivalence group [8,9,10], and are added to the intermediate equivalence group [8,9,10], thereby forming two sub-equivalence groups [1,2,3,4] and [5,6,7,8,9,10].
[0083] Furthermore, a target equivalence group that meets the anonymity condition can be determined based on an interval range. The interval range can be associated with the anonymity condition, and the interval range is used to limit the size of each sub-equivalence group, that is, the number of data points contained in each sub-equivalence group. The interval range can be used to limit the minimum and maximum values of the number of data points contained in the sub-equivalence group. For example, the number of data points specified in the anonymity condition can be k, and the interval range can be expressed as [k, 2k-1]. If the data volume of the data points in the sub-equivalence group is within the interval range, the status information is that the two sub-equivalence groups meet the interval range, and the two sub-equivalence groups can be directly determined as target equivalence groups. If the data volume of the data points in the sub-equivalence group is not within the interval range, the status information is that the two sub-equivalence groups do not meet the interval range, and the two sub-equivalence groups cannot be directly determined as target equivalence groups. Specifically, the two sub-equivalence groups do not meet the interval range, which may include: one of the two sub-equivalence groups does not meet the interval range or both sub-equivalence groups do not meet the interval range. In this case, the sub-equivalence groups that do not satisfy the interval range may be updated until all updated sub-equivalence groups satisfy the interval range, so as to determine a target equivalence group that satisfies the anonymity condition.
[0084] In some embodiments, the sub-equivalence groups that do not satisfy the interval range are updated until all the updated sub-equivalence groups satisfy the interval range, and the step of determining the target equivalence group may be the same as the step of determining the two sub-equivalence groups, specifically including:
[0085] Determine the distance between each two data points in the subequivalence group that does not satisfy the interval range to determine a distance matrix;
[0086] Determine the two data points with the farthest distance in the sub-equivalence group as reference data points according to the distance matrix, and assign a target number of data points closest to the reference data points to the reference data points to form an intermediate equivalence group;
[0087] The remaining data points are added to the intermediate equivalence group closest to the remaining data points until two sub-equivalence groups corresponding to the sub-equivalence groups that do not meet the interval range are formed as updated sub-equivalence groups, and the target equivalence group is determined according to the updated sub-equivalence groups.
[0088] In the disclosed embodiment, if the sub-equivalence group satisfies the interval range, it remains unchanged. If there is a sub-equivalence group that does not meet the interval range, such as one or two sub-equivalence groups, the distance between every two data points in the sub-equivalence group can be determined, so as to re-determine a distance matrix to update the distance matrix established for the first time. Further, two data points corresponding to the maximum distance can be selected from the distance matrix as reference data points. After determining the reference data point, the k-1 data points closest to the reference data point, i.e., 2 data points, are added to the reference data point to form an intermediate equivalence group with the reference data point. Further, the remaining data points are added to the intermediate equivalence group closest to it to split the sub-equivalence group that does not meet the interval range into two sub-equivalence groups again. Next, it can continue to determine whether the two sub-equivalence groups split from the sub-equivalence group that does not meet the interval range meet the interval range. If they do, they remain unchanged, and the target equivalence group is generated according to the sub-equivalence group that meets the interval range and the two sub-equivalence groups split from the sub-equivalence group that does not meet the interval range. If not, continue to split the sub-equivalence groups that do not meet the interval range to update the sub-equivalence groups that do not meet the interval range until the updated sub-equivalence groups obtained by the splitting all meet the interval range, so as to generate a target equivalence group based on the sub-equivalence groups that meet the interval range and the multiple sub-equivalence groups split from the sub-equivalence groups that do not meet the interval range.
[0089] Figure 6 The schematic diagram of the process of searching for equivalent groups is shown schematically in FIG. Figure 6 As shown in , it mainly includes the following steps:
[0090] In step S601, a data subset is obtained.
[0091] In step S602, the data points corresponding to the quasi-identifiers in the data subset are standardized.
[0092] In step S603, a distance matrix is calculated.
[0093] In step S604, two data points corresponding to the maximum distance are determined as reference data points.
[0094] In step S605 , k-1 data points closest to each reference data point are assigned to form an intermediate equivalence group.
[0095] In step S606, the remaining data points are assigned to the intermediate equivalence group with the closest distance to form two sub-equivalence groups.
[0096] In step S607, whether the two sub-equivalence groups meet the interval range. If yes, go to step S608; if not, go to step S604.
[0097] In step S608, a target equivalence group is determined.
[0098] In the embodiment of the present disclosure, after forming two sub-equivalence groups of at least size k, if the size of the sub-equivalence group is not within the interval range [k, 2k-1], the above-mentioned process of allocating and generating two sub-equivalence groups is repeated until all sub-equivalence groups are within the interval range. That is, an equivalence group is randomly selected and the above steps are performed until the size of all sub-equivalence groups is within the interval [k, 2k-1], thereby obtaining a target equivalence group that meets the anonymity condition.
[0099] Table 1
[0100] Serial number A1 A2 Serial number A1 A2 1 2.4 3 6 20.14 9.56 2 1.68 4.9 7 19.85 12.33 3 3.18 5.54 8 13.67 18.9 4 5.32 3.6 9 17.11 21 5 18.68 11.49 10 16.07 19.23
[0101] For example, in some embodiments, it is assumed that there is a data subset including quasi-identifier A1 and quasi-identifier A2, and the anonymity condition is k=3, that is, the number of data points in each equivalence group is not less than 3. The data included in the data subset is shown in Table 1.
[0102] Next, the data in Table 1 can be processed. The specific steps include:
[0103] The first step is to standardize the data and obtain the data in Table 2:
[0104] Table 2
[0105] Serial number A1 A2 Serial number A1 A2 1 0.039 0.000 6 1.000 0.364 2 0.000 0.106 7 0.984 0.518 3 0.081 0.141 8 0.650 0.883 4 0.197 0.033 9 0.836 1.000 5 0.921 0.472 10 0.780 0.902
[0106] The second step is to construct the distance matrix and obtain Table 3:
[0107] Table 3
[0108] Serial number 1 2 3 4 5 6 7 8 9 10 1 0.000 0.013 0.022 0.026 1.000 1.056 1.162 1.153 1.635 1.361 2 0.013 0.000 0.008 0.044 0.982 1.067 1.139 1.027 1.499 1.241 3 0.022 0.008 0.000 0.025 0.814 0.894 0.958 0.874 1.307 1.066 4 0.026 0.044 0.025 0.000 0.716 0.754 0.855 0.927 1.342 1.093 5 1.000 1.067 0.814 0.716 0.000 0.018 0.006 0.243 0.286 0.205 6 1.056 1.067 0.894 0.754 0.018 0.000 0.024 0.392 0.431 0.337 7 1.162 1.139 0.958 0.855 0.006 0.024 0.000 0.245 0.254 0.189 8 1.153 1.027 0.874 0.927 0.243 0.392 0.245 0.000 0.048 0.017 9 1.635 1.499 1.307 1.342 0.286 0.431 0.254 0.048 0.000 0.013 10 1.361 1.241 1.066 1.093 0.205 0.337 0.189 0.017 0.013 0.000
[0109] The third step is to split the equivalent group:
[0110] For the initial equivalence group [1,2,3,4,5,6,7,8,9,10], retrieve the maximum distance in the distance matrix, i.e., argmax(d i,j ) = d 1,9 =1.635, we can determine that the reference data points are 1 and 9. The two points closest to 1 are [2,3], and the two points closest to 9 are [10,8]. Figure 7 As shown in , two intermediate equivalent groups [1,2,3] and [8,9,10] are formed. Then the remaining data points are assigned to the nearest intermediate equivalent group to form two sub-equivalence groups [1,2,3,4] and [5,6,7,8,9,10].
[0111] Step 4: For the two sub-equivalence groups after the split, if the size of [1,2,3,4] is within the interval [k,2k-1], then the sub-equivalence group remains unchanged; if the size of [5,6,7,8,9,10] is greater than or equal to 2k and is not within the interval, then repeat the process of step 3 for the sub-equivalence group. Until the size of all sub-equivalence groups obtained by the split is within the interval [k,2k-1], execute step 5.
[0112] Step 5: Output all equivalent groups that meet the anonymity condition as the target equivalent groups: [1,2,3,4], [5,6,7], [8,9,10], see Figure 7 as shown in .
[0113] In the disclosed embodiment, for multiple quasi-identifiers located in the same data subset, the target equivalence groups obtained by performing equivalence group search can be the same or different, which is determined according to actual needs. When the same, the target equivalence group of each quasi-identifier can be determined using the above method, which will not be repeated here. In addition, the method in step S220 can be used to perform equivalence group search on the data corresponding to each quasi-identifier in each data subset, thereby generating a target equivalence group corresponding to each data subset.
[0114] In the disclosed embodiment, a top-down splitting method is used to achieve a fast search for a local optimal solution. The data point set is continuously split from top to bottom until the size of all equivalence groups is in the interval [k, 2k-1]. This equivalence group search method does not rely on random numbers. It obtains multiple data subsets by pre-classification and uses a top-down splitting method to search for the quasi-identifier of each data subset. This can avoid the negative impact of low-quality random selection on the search results, improve the accuracy of the target equivalence group being searched, and reduce the time cost of searching for the local optimal solution, which can improve the efficiency of obtaining the target equivalence group.
[0115] Next, continue to refer to Figure 2 As shown in , in step S230, data corresponding to the quasi-identifier in the target equivalence group is generalized by random aggregation to obtain anonymous data corresponding to the quasi-identifier, so as to perform corresponding operations on the object to be processed according to the anonymous data.
[0116] In the disclosed embodiment, the random aggregation method is used to adjust the distribution range of the data corresponding to each quasi-identifier in the target equivalence group. Based on the random aggregation method, the availability and security of anonymous data can be flexibly adjusted according to actual needs. Data generalization refers to replacing the data of the quasi-identifier with semantically consistent and more general data.
[0117] In some embodiments, generalizing the data corresponding to the quasi-identifiers in the target equivalence group by random aggregation may specifically be: using random noise to control the distribution range of the data corresponding to the quasi-identifiers in the target equivalence group.
[0118] Figure 8 A schematic diagram of the process of determining anonymous data is shown schematically in Figure 8 As shown in , the specific steps include:
[0119] In step S810, a target equivalence group is obtained;
[0120] In step S820, a plurality of standard data of the quasi-identifier of each sub-equivalence group in the target equivalence group is determined;
[0121] In step S830, a distribution range of random noise is obtained according to the scale factor and the plurality of standard data;
[0122] In step S840, anonymous data of the quasi-identifier is determined in combination with the distribution range of the random noise and the replacement value of the quasi-identifier.
[0123] The standard data may be the maximum value, minimum value and mean value of the data contained in each sub-equivalence group in the target equivalence group corresponding to each quasi-identifier. The standard data may refer to that shown in Table 4.
[0124] Table 4
[0125]
[0126] Random noise can be determined based on the scale factor, which is used to control the noise range and is evenly distributed. The scale factor can be determined based on actual needs, and can be any value between 0 and 1, such as 0.5. Based on this, the distribution range of random noise can be determined based on the product of the scale factor and the difference from the minimum value to the average value, and the product of the scale factor and the difference from the maximum value to the average value. The distribution range of random noise corresponding to the data corresponding to each sub-equivalence group in the target equivalence group may be different. For details, refer to formula (2) to calculate and obtain the results in Table 5:
[0127] ρ(bm)≤n≤ρ(am) Formula (2)
[0128] Among them, ρ represents the scale factor, n is the distribution range of random noise, a represents the maximum value, b represents the minimum value, and m represents the mean value.
[0129] Table 5
[0130] Quasi-Identifier A1 A2 Equivalence Group Random noise range Random noise range 1 [-0.040,0.059] [-0.035,0.036] 2 [-0.024,0.016] [-0.044,0.034] 3 [-0.053,0.041] [-0.023,0.036]
[0131] After determining the distribution range of the random noise, the data corresponding to the quasi-identifier can be anonymized according to the distribution range of the random noise and the replacement data of the quasi-identifier to determine the anonymous data corresponding to the quasi-identifier. Specifically, the data corresponding to the quasi-identifier can be replaced with the average value of the target equivalence group as the replacement data of the quasi-identifier, and the data corresponding to the quasi-identifier can be anonymized according to the sum of the replacement data and the distribution range of the random noise to obtain the anonymous data corresponding to the anonymization. Specifically, the replacement data can be added to any data in the distribution range of the random noise to obtain the anonymous data, and different data points in the same sub-equivalence group can be added to different data in the distribution range to avoid the problem of easy attack caused by data consistency. For example, for the sub-equivalence group [1,2,3,4], the mean is 0.079. For data point 1, the mean + 0.015 is used to replace it; for data point 2, the mean plus 0.02 is used to replace it; for data point 3, the mean plus 0.002 is used to replace it; for data point 4, the mean plus 0.004 is used to replace it, so as to obtain the anonymous data corresponding to the quasi-identifier contained in the target equivalence group in a data subset. The anonymous data of the target equivalence group finally obtained can be shown in Table 6.
[0132] Table 6
[0133] Serial number A1 A2 Serial number A1 A2 1 0.094 0.085 6 0.968 0.450 2 0.099 0.073 7 0.961 0.458 3 0.081 0.081 8 0.753 0.948 4 0.083 0.098 9 0.758 0.938 5 0.966 0.463 10 0.742 0.944
[0134] For all data subsets, the anonymous data corresponding to the quasi-identifier contained therein can be obtained by the method of step S220 and step S230, which will not be repeated here. The distribution status of the anonymous data corresponding to the original data can be referred to Fig. 9 as shown in .
[0135] In the disclosed embodiment, after the data point of each quasi-identifier is replaced by the average value, a random noise that satisfies the uniform distribution on the distribution range [ρ(bm), ρ(am)] needs to be added. The continuous quasi-identifier is anonymized by random aggregation. After the quasi-identifier in the equivalence group is replaced by the center point (the mean of the equivalence group), the distribution range of the random noise is added to achieve differential privacy. The random noise hides the center point of each sub-equivalence group in the target equivalence group, so that the attacker cannot infer the location of the center point. Even if some quasi-identifiers are mastered, the remaining quasi-identifiers cannot be obtained by differential reasoning, avoiding differential attacks and connection attacks. The anonymous data is evenly distributed in a distribution range by random aggregation, which enhances the ability of anonymous data to resist connection attacks and differential attacks and improves the reliability of anonymous data. In addition, the randomly distributed noise also reduces the risk of data leakage near the center point and improves security. The random aggregation method controls the distribution range of data points through the scale factor, and since the scale factor can be set according to actual needs, the random aggregation method can flexibly adjust the availability and security of anonymous data according to actual needs.
[0136] After obtaining the anonymous data, corresponding operations can be performed on the object to be processed based on the anonymous data. The specific type of operation can be determined according to actual needs and actual application scenarios, such as item recommendation, content recommendation, or recognition and other types of operations.
[0137] Fig.10 A flowchart for anonymization processing is schematically shown in FIG. Fig.10 As shown in , it mainly includes the following steps:
[0138] In step S1010, original data is obtained.
[0139] In step S1020, the data classification module 1001 is used to classify the original data to obtain multiple data subsets.
[0140] In step S1030 , the equivalence group search module 1002 is used to perform an equivalence group search on the data corresponding to the quasi-identifier in each data subset to determine a target equivalence group.
[0141] The number of equivalence group search modules may be the same as the number of data subsets obtained by classification, such as equivalence group search module 1, equivalence group search module 2, ..., equivalence group search module C. One data subset corresponds to one equivalence group search module.
[0142] In step S1040, the target equivalence group is input into the random aggregation module 1003, and data generalization is performed on the data corresponding to the quasi-identifier in the target equivalence group to obtain anonymous data of the quasi-identifier corresponding to each data subset.
[0143] The number of random clustering modules can be the same as the number of data subsets obtained by classification, such as random clustering module 1, random clustering module 2, ..., random clustering module C. A target equivalence group is input into a random clustering module, and there is a one-to-one correspondence between the random clustering module and the data subset, the target equivalence group, and the equivalence group search module.
[0144] In step S1050 , anonymous data of the original data is determined according to anonymous data of the plurality of data subsets.
[0145] The technical solution in the disclosed embodiment, in the stage of searching for equivalent groups, uses the c-means++ pre-classification method and the top-down splitting method to continuously split the data point set until the scale of all subclasses is within the interval [k, 2k-1]. This method does not rely on random numbers, can avoid the negative impact of low-quality random selection on the search results, and reduces the time cost of searching for local optimal solutions, and improves accuracy. In the quasi-identifier generalization stage (random aggregation stage), a big data anonymization method for differential privacy is implemented through random noise. The mean of the quasi-identifier in the equivalence group is generalized by adding random noise, and the anonymous data is evenly distributed within a distribution range by random aggregation, which enhances the ability of anonymous data to resist connection attacks and differential attacks, and reduces the time cost consumed by big data to achieve k-anonymization. The random aggregation method controls the distribution range of data points through the scale factor, and can flexibly adjust the availability and security of anonymous data according to actual needs, and achieves a balance between data availability and security by adjusting parameters.
[0146] The present disclosure also provides a data processing device. Fig.11 As shown, the data processing method 1100 mainly includes the following modules:
[0147] The data classification module 1101 is used to obtain the original data of the object to be processed, and classify the original data to obtain multiple data subsets;
[0148] An equivalent group determination module 1102 is used to search for equivalent groups of data corresponding to the quasi-identifiers in each of the data subsets to determine a target equivalent group that meets the anonymity condition;
[0149] The anonymous processing module 1103 is used to generalize the data corresponding to the quasi-identifier in the target equivalence group by random aggregation, obtain the anonymous data corresponding to the quasi-identifier, and perform corresponding operations on the object to be processed according to the anonymous data.
[0150] In an exemplary embodiment of the present disclosure, the equivalence group determination module is configured to: standardize all data points corresponding to each quasi-identifier in each data subset, and use all data points corresponding to each quasi-identifier as an initial equivalence group; divide the initial equivalence group into two sub-equivalence groups, determine the status information of the two sub-equivalence groups according to the interval range, and determine the target equivalence group that meets the anonymity condition according to the status information.
[0151] In an exemplary embodiment of the present disclosure, dividing the initial equivalence group into two sub-equivalence groups includes: obtaining the distance between every two data points in the initial equivalence group to determine a distance matrix; determining two data points with the largest distance in the initial equivalence group as reference data points according to the distance matrix, and assigning a target number of data points with the smallest distance from the reference data points to the reference data points to form an intermediate equivalence group; adding the remaining data points to the intermediate equivalence group with the smallest distance from the remaining data points to obtain two sub-equivalence groups.
[0152] In an exemplary embodiment of the present disclosure, the state information of the two sub-equivalence groups is determined according to an interval range, and the target equivalence group that satisfies the anonymity condition is determined according to the state information, including: if it is determined that the state information shows that the two sub-equivalence groups satisfy the interval range, the two sub-equivalence groups are determined as the target equivalence groups that satisfy the anonymity condition; if it is determined that the state information shows that the two sub-equivalence groups do not satisfy the interval range, the sub-equivalence groups that do not satisfy the interval range are updated until the updated sub-equivalence groups all satisfy the interval range, so as to determine the target equivalence group that satisfies the anonymity condition.
[0153] In an exemplary embodiment of the present disclosure, the sub-equivalence groups that do not satisfy the interval range are updated until the updated sub-equivalence groups all satisfy the interval range to determine the target equivalence group that satisfies the anonymity condition, including: obtaining the distance between every two data points in the sub-equivalence group that does not satisfy the interval range to determine the distance matrix; determining the two data points with the largest distance in the sub-equivalence group as reference data points according to the distance matrix, and respectively assigning a target number of data points with the smallest distance from the reference data points to the reference data points to form an intermediate equivalence group; adding the remaining data points to the intermediate equivalence group with the smallest distance from the remaining data points until two sub-equivalence groups corresponding to the sub-equivalence group that does not satisfy the interval range are formed as updated sub-equivalence groups, and determining the target equivalence group according to the updated sub-equivalence groups.
[0154] In an exemplary embodiment of the present disclosure, data corresponding to the quasi-identifier in the target equivalence group is generalized by random aggregation to obtain anonymous data corresponding to the quasi-identifier, including: determining multiple standard data of the quasi-identifier in the target equivalence group; obtaining the distribution range of random noise according to the scale factor and the multiple standard data; and determining the anonymous data of the quasi-identifier corresponding to each data subset in combination with the distribution range of the random noise and the replacement data of the quasi-identifier.
[0155] In an exemplary embodiment of the present disclosure, the multiple standard data include a maximum value, a minimum value and an average value; the distribution range of random noise is obtained according to the scale factor and the multiple standard data, including: determining the distribution range of random noise according to the product of the scale factor and the difference from the minimum value to the average value, and the product of the scale factor and the difference from the maximum value to the average value.
[0156] It should be noted that the specific details of each module in the above-mentioned data processing device have been described in detail in the corresponding data processing method, so they will not be repeated here.
[0157] It should be noted that, although several modules or units of the device for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiments of the present disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. On the contrary, the features and functions of one module or unit described above can be further divided into multiple modules or units to be embodied.
[0158] In addition, although the steps of the method in the present disclosure are described in a specific order in the drawings, this does not require or imply that the steps must be performed in this specific order, or that all the steps shown must be performed to achieve the desired results. Additionally or alternatively, some steps may be omitted, multiple steps may be combined into one step, and / or one step may be decomposed into multiple steps, etc.
[0159] In an exemplary embodiment of the present disclosure, an electronic device capable of implementing the above method is also provided.
[0160] Those skilled in the art will appreciate that various aspects of the present disclosure may be implemented as systems, methods or program products. Therefore, various aspects of the present disclosure may be specifically implemented in the following forms, namely: complete hardware implementation, complete software implementation (including firmware, microcode, etc.), or a combination of hardware and software, which may be collectively referred to herein as "circuits", "modules" or "systems".
[0161] Refer to the following Fig.12 1200 according to this embodiment of the present disclosure is described. Fig.12 The electronic device 1200 shown is merely an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.
[0162] like Fig.12 As shown, the electronic device 1200 is in the form of a general computing device. The components of the electronic device 1200 may include, but are not limited to: the at least one processing unit 1210, the at least one storage unit 1220, a bus 1230 connecting different system components (including the storage unit 1220 and the processing unit 1210), and a display unit 1240.
[0163] The storage unit stores program codes, which can be executed by the processing unit 1210, so that the processing unit 1210 performs the steps according to various exemplary embodiments of the present disclosure described in the above “Exemplary Method” section of this specification. For example, the processing unit 1210 can perform the following steps: Figure 2 Follow the steps shown in .
[0164] The storage unit 1220 may include a readable medium in the form of a volatile storage unit, such as a random access storage unit (RAM) 12201 and / or a cache storage unit 12202 , and may further include a read-only storage unit (ROM) 12203 .
[0165] The storage unit 1220 may also include a program / utility 12204 having a set (at least one) of program modules 12205, such program modules 12205 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment.
[0166] Bus 1230 may represent one or more of several types of bus structures, including a memory unit bus or memory unit controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus architectures.
[0167] The electronic device 1200 may also communicate with one or more external devices 1300 (e.g., keyboards, pointing devices, Bluetooth devices, etc.), may also communicate with one or more devices that enable a user to interact with the electronic device 1200, and / or communicate with any device that enables the electronic device 1200 to communicate with one or more other computing devices (e.g., routers, modems, etc.). Such communication may be performed via an input / output (I / O) interface 1250. In addition, the electronic device 1200 may also communicate with one or more networks (e.g., local area networks (LANs), wide area networks (WANs), and / or public networks, such as the Internet) via a network adapter 1260. As shown, the network adapter 1260 communicates with other modules of the electronic device 1200 via a bus 1230. It should be understood that, although not shown in the figure, other hardware and / or software modules may be used in conjunction with the electronic device 1200, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.
[0168] Through the description of the above implementation, it is easy for those skilled in the art to understand that the example implementation described here can be implemented by software, or by software combined with necessary hardware. Therefore, the technical solution according to the implementation of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which can be a personal computer, a server, a terminal device, or an electronic device, etc.) to execute the method according to the implementation of the present disclosure.
[0169] In an exemplary embodiment of the present disclosure, a computer-readable storage medium is also provided, on which a program product capable of implementing the above method of the present specification is stored. In some possible implementations, various aspects of the present disclosure may also be implemented in the form of a program product, which includes a program code, and when the program product is run on a terminal device, the program code is used to enable the terminal device to execute the steps according to various exemplary implementations of the present disclosure described in the above "Exemplary Method" section of the present specification.
[0170] According to the program product for implementing the above method in the embodiment of the present disclosure, it can adopt a portable compact disk read-only memory (CD-ROM) and include program code, and can be run on a terminal device, such as a personal computer. However, the program product of the present disclosure is not limited thereto. In this document, a readable storage medium can be any tangible medium containing or storing a program, which can be used by or in combination with an instruction execution system, an apparatus or a device.
[0171] The program product may use any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples (non-exhaustive list) of readable storage media include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.
[0172] Computer readable signal media may include data signals propagated in baseband or as part of a carrier wave, in which readable program code is carried. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Readable signal media may also be any readable medium other than a readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device.
[0173] The program code embodied on the readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination of the foregoing.
[0174] Program code for performing the operations of the present disclosure may be written in any combination of one or more programming languages, including object-oriented programming languages such as Java, C++, etc., and conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as a separate software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving a remote computing device, the remote computing device may be connected to the user computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., through the Internet using an Internet service provider).
[0175] In addition, the above-mentioned figures are only schematic illustrations of the processes included in the method according to the exemplary embodiments of the present disclosure, and are not intended to be limiting. It is easy to understand that the processes shown in the above-mentioned figures do not indicate or limit the time sequence of these processes. In addition, it is also easy to understand that these processes can be performed synchronously or asynchronously, for example, in multiple modules.
[0176] Other embodiments of the present disclosure will be readily apparent to those skilled in the art after considering the specification and practicing the inventions invented herein. This application is intended to cover any variations, uses, or adaptations of the present disclosure that follow the general principles of the present disclosure and include common knowledge or customary techniques in the art that are not invented by the present disclosure. The specification and examples are to be considered merely exemplary, and the true scope and spirit of the present disclosure are indicated by the claims.
Claims
1. A data processing method, characterized in that: include: Acquiring original data of an object to be processed, and classifying the original data to obtain multiple data subsets; Performing an equivalent group search on the data corresponding to the quasi-identifier in each of the data subsets to determine a target equivalent group that meets the anonymity condition; Performing data generalization on the data corresponding to the quasi-identifier in the target equivalence group by random aggregation, controlling the distribution range of the data corresponding to the quasi-identifier by combining the distribution range of random noise and the replacement value of the quasi-identifier, obtaining anonymous data corresponding to the quasi-identifier, and performing corresponding operations on the object to be processed according to the anonymous data; The random noise is determined according to a scale factor; The step of searching for an equivalent group of data corresponding to the quasi-identifier in each of the data subsets to determine a target equivalent group that meets the anonymity condition includes: All data points corresponding to each quasi-identifier are taken as an initial equivalence group; The initial equivalence group is divided into two sub-equivalence groups, and if it is determined that the state information of the two sub-equivalence groups is that the two sub-equivalence groups satisfy the interval range, the two sub-equivalence groups are determined as target equivalence groups that satisfy the anonymity condition; If it is determined that the state information indicates that the two sub-equivalence groups do not satisfy the interval range, the sub-equivalence groups that do not satisfy the interval range are updated until all updated sub-equivalence groups satisfy the interval range, so as to determine a target equivalence group that satisfies the anonymity condition.
2. The data processing method according to claim 1, characterized in that: The performing of an equivalent group search on the data corresponding to the quasi-identifier in each of the data subsets to determine a target equivalent group that meets the anonymity condition also includes: All data points corresponding to each quasi-identifier in each data subset are normalized.
3. The data processing method according to claim 2, characterized in that: The step of dividing the initial equivalence group into two sub-equivalence groups comprises: Obtaining the distance between every two data points in the initial equivalence group to determine a distance matrix; Determine, according to the distance matrix, two data points with the largest distance in the initial equivalence group as reference data points, and assign a target number of data points with the smallest distance from the reference data points to the reference data points, respectively, to form an intermediate equivalence group; The remaining data points are added to the intermediate equivalence group with the smallest distance to the remaining data points to obtain two sub-equivalence groups.
4. The data processing method according to claim 1, characterized in that: The sub-equivalence groups that do not satisfy the interval range are updated until all the updated sub-equivalence groups satisfy the interval range to determine a target equivalence group that satisfies the anonymity condition, including: Obtain the distance between every two data points in the subequivalence group that does not satisfy the interval range to determine the distance matrix; Determine the two data points with the largest distance in the sub-equivalence group as reference data points according to the distance matrix, and assign a target number of data points with the smallest distance from the reference data points to the reference data points to form an intermediate equivalence group; The remaining data points are added to the intermediate equivalence group with the smallest distance to the remaining data points until two sub-equivalence groups corresponding to the sub-equivalence groups that do not meet the interval range are formed as updated sub-equivalence groups, and the target equivalence group is determined according to the updated sub-equivalence groups.
5. The data processing method according to claim 1, characterized in that: The step of performing data generalization on the data corresponding to the quasi-identifier in the target equivalence group by random aggregation to obtain anonymous data corresponding to the quasi-identifier includes: determining a plurality of standard data of the quasi-identifiers in the target equivalence group; Acquire a distribution range of random noise according to the scale factor and the plurality of standard data; The anonymous data of the quasi-identifier corresponding to each data subset is determined in combination with the distribution range of the random noise and the replacement data of the quasi-identifier.
6. The data processing method according to claim 5, characterized in that: The plurality of standard data include a maximum value, a minimum value, and an average value; and obtaining the distribution range of random noise according to the scale factor and the plurality of standard data includes: The distribution range of the random noise is determined according to the product of the scale factor and the difference from the minimum value to the average value, and the product of the scale factor and the difference from the maximum value to the average value.
7. A data processing device, characterized in that: include: A data classification module is used to obtain the original data of the object to be processed, and classify the original data to obtain multiple data subsets; An equivalence group determination module, used to search for equivalence groups of data corresponding to the quasi-identifiers in each of the data subsets, and determine a target equivalence group that meets the anonymity condition; an anonymous processing module, used to generalize the data corresponding to the quasi-identifier in the target equivalence group by random aggregation, control the distribution range of the data corresponding to the quasi-identifier in combination with the distribution range of random noise and the replacement value of the quasi-identifier, obtain the anonymous data corresponding to the quasi-identifier, and perform corresponding operations on the object to be processed according to the anonymous data; The random noise is determined according to a scale factor; The step of searching for an equivalent group of data corresponding to the quasi-identifier in each of the data subsets to determine a target equivalent group that meets the anonymity condition includes: All data points corresponding to each quasi-identifier are taken as an initial equivalence group; The initial equivalence group is divided into two sub-equivalence groups, and if it is determined that the state information of the two sub-equivalence groups is that the two sub-equivalence groups satisfy the interval range, the two sub-equivalence groups are determined as target equivalence groups that satisfy the anonymity condition; If it is determined that the state information indicates that the two sub-equivalence groups do not satisfy the interval range, the sub-equivalence groups that do not satisfy the interval range are updated until all updated sub-equivalence groups satisfy the interval range, so as to determine a target equivalence group that satisfies the anonymity condition.
8. An electronic device, characterized in that: include: processor; as well as A memory, configured to store executable instructions of the processor; The processor is configured to perform the data processing method according to any one of claims 1 to 6 by executing the executable instructions.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the data processing method according to any one of claims 1 to 6 is implemented.
