Data protection method and device, computer equipment, storage medium and program product
By aggregating noise-added data between the central server and the supercomputing platform, the problem of data protection in cross-supercomputing platform scenarios is solved, and the secure transmission and privacy protection of data are achieved.
Patent Information
- Application Number
- CN202411742541.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-29
- Publication Date
- 2025-03-11
AI Technical Summary
The existing supercomputing platform data protection methods cannot be applied to cross-supercomputing platform scenarios, resulting in security risks in user data during transmission and may be stolen or tampered with.
The central server receives the noise-added data sent by the user and aggregates it with the noise-added data sent by each supercomputing platform to generate aggregated service data, avoiding the central server storing original data, ensuring data ownership, and improving the security of data transmission through encryption processing.
It realizes data protection during cross-supercomputing platform data processing, prevents user-side data leakage, and ensures data security and privacy.
Smart Images

Figure CN119598520A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of data protection technology, and in particular to a data protection method, apparatus, computer device, computer-readable storage medium, and computer program product. Background Art
[0002] With the increasing application of high-performance computing platforms (supercomputing platforms) in scientific research, industrial design, system simulation, and big data processing, the security and privacy protection of user data in cross-supercomputing platform scenarios has become increasingly prominent.
[0003] Existing data protection methods for supercomputing platforms are mostly considered from the perspectives of supercomputing platform access and system security. However, existing data protection methods are not applicable to data protection in cross-supercomputing platform scenarios. Summary of the invention
[0004] Based on this, it is necessary to provide a data protection method, apparatus, computer device, computer-readable storage medium and computer program product that can be applicable to data protection in cross-supercomputing cluster scenarios in response to the above technical problems.
[0005] In a first aspect, the present application provides a data protection method, which is applied to a central server. The method comprises:
[0006] Receiving first noise-added data sent by a user terminal, and performing data processing on the first noise-added data to obtain initiator intermediate data;
[0007] Receiving the intermediate data of the participant sent by each supercomputing platform, wherein the intermediate data of the participant is obtained by the supercomputing platform performing data processing on the second noise-added data sent by the user terminal;
[0008] The intermediate data of the initiator and the intermediate data of each of the participants are aggregated to obtain aggregated business data, and the aggregated business data is sent to each of the supercomputing platforms. The aggregated business data is used by the supercomputing platform to perform data processing on the second noisy data according to the aggregated business data.
[0009] In one embodiment, the aggregating the initiator intermediate data and the participants intermediate data to obtain aggregated business data includes:
[0010] Determining a federated learning algorithm type according to the business parameters of the intermediate data of the initiator and the business parameters of the intermediate data of each of the participants;
[0011] The intermediate data of the initiator and the intermediate data of each of the participants are aggregated using the federated learning algorithm corresponding to the federated learning algorithm type to obtain the aggregated business data.
[0012] In one embodiment, the business parameter includes a business type and / or a user type, and determining the type of the federated learning algorithm according to the business parameter of the initiator's intermediate data and the business parameter of each of the participants' intermediate data includes:
[0013] If the similarity between the business type of the initiator's intermediate data and the business type of the intermediate data of each of the participants is higher than the similarity threshold, determining that the federated learning algorithm type is a horizontal federated learning algorithm;
[0014] If the similarity between the user type of the initiator's intermediate data and the user type of the intermediate data of each participant is higher than the similarity threshold, it is determined that the federated learning algorithm type is a vertical federated learning algorithm.
[0015] In one embodiment, sending the aggregated business data to each of the supercomputing platforms includes:
[0016] Encrypting the aggregated service data using a data encryption algorithm to obtain encrypted data;
[0017] The encrypted data is sent to each of the supercomputing platforms.
[0018] In a second aspect, the present application provides a data protection method, which is applied to a supercomputing platform. The method comprises:
[0019] Receiving second noisy data sent by the user terminal, and performing data processing on the second noisy data to obtain the participant intermediate data;
[0020] The intermediate data of the participants is sent to the central server, and the intermediate data of the participants is used by the central server to aggregate the intermediate data of the participants sent by each supercomputing platform to obtain aggregated business data;
[0021] The aggregated service data sent by the central server is received.
[0022] In a third aspect, the present application also provides a data protection device, which is applied to a central processing unit. The device includes:
[0023] A first receiving module, used for receiving first noise-added data sent by a user terminal, and performing data processing on the first noise-added data to obtain initiator intermediate data;
[0024] A second receiving module is used to receive the participant intermediate data sent by each supercomputing platform, where the participant intermediate data is obtained by the supercomputing platform performing data processing on the second noise-added data sent by the user terminal;
[0025] An aggregation module is used to aggregate the intermediate data of the initiator and the intermediate data of each participant to obtain aggregated business data, and send the aggregated business data to each supercomputing platform. The aggregated business data is used by the supercomputing platform to process the second noisy data according to the aggregated business data.
[0026] In a fourth aspect, the present application further provides a data protection device, which is applied to a supercomputing platform. The device comprises:
[0027] A third receiving module is used to receive the second noisy data sent by the user end, and perform data processing on the second noisy data to obtain the participant intermediate data;
[0028] A sending module, used to send the intermediate data of the participants to the central server, where the intermediate data of the participants is used by the central server to aggregate the intermediate data of the participants sent by each supercomputing platform to obtain aggregated business data;
[0029] The fourth receiving module is used to receive the aggregated business data sent by the central server.
[0030] In a fifth aspect, the present application further provides a computer device, wherein the computer device comprises a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the steps of the method described in any one of the first aspect and the second aspect are implemented.
[0031] In a sixth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the steps of the method described in any one of the first aspect and the second aspect are implemented.
[0032] In a seventh aspect, the present application further provides a computer program product, wherein the computer program product comprises a computer program, and when the computer program is executed by a processor, the steps of the method described in any one of the first aspect and the second aspect are implemented.
[0033] In the above-mentioned data protection method, apparatus, computer device, computer-readable storage medium and computer program product, the central server first receives the first noisy data sent by the user terminal, and processes the first noisy data to obtain the initiator's intermediate data, and then receives the participant's intermediate data sent by each supercomputing platform, where the participant's intermediate data is obtained by the supercomputing platform performing data processing on the second noisy data sent by the user terminal. Since the central server and each supercomputing platform receive the noisy data obtained by the user terminal after data processing, rather than the original data of the user terminal, the security of the data transmission process can be ensured. Then, the central server processes the initiator's intermediate data. The second noisy data is aggregated and processed with the intermediate data of each participant to obtain aggregated business data, and the aggregated business data is sent to each supercomputing platform. The aggregated business data can be used by the supercomputing platform to process the second noisy data according to the aggregated business data. Since each supercomputing platform sends the intermediate data of the participant to the central server in the process of obtaining the aggregated business data, there is no need to send the second noisy data to the central server, which avoids the central server storing the second noisy data and affecting the ownership of the second noisy data by the user end corresponding to each supercomputing platform, thereby realizing data protection in the data processing process across supercomputing platforms and preventing the leakage of user end data. BRIEF DESCRIPTION OF THE DRAWINGS
[0034] In order to more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the drawings required for use in the embodiments of the present application or related technical descriptions will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.
[0035] Figure 1 is an application environment diagram of a data protection method in an embodiment;
[0036] Figure 2 is a flow chart of a data protection method in one embodiment;
[0037] Figure 3 is a flow chart of step 203 in one embodiment;
[0038] Figure 4 is a flow chart of step 203 in another embodiment;
[0039] Figure 5 is a flow chart of a data protection method in another embodiment;
[0040] Figure 6 is a structural block diagram of a data protection device in one embodiment;
[0041] Figure 7is a structural block diagram of a data protection device in one embodiment;
[0042] Figure 8 FIG. 4 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION
[0043] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0044] High-performance computing, also known as supercomputing, aims to solve scientific, engineering and business problems that require processing large amounts of data, complex models or intensive computing tasks by utilizing a large amount of computing resources. When the amount of data to be processed is large and the user end cannot handle it, the data can be sent to a supercomputing platform to process the large amount of data. However, when the user end sends data to the supercomputing platform, it may be subject to security attacks. Therefore, a variety of security measures can be used to protect the data. For example, you can use access control methods, such as using user authentication to ensure that only authorized users can access the system, or assigning access rights based on user roles to limit access to sensitive data and resources. You can also use data encryption methods, such as encrypting data stored on hard disks or other storage media to prevent unauthorized access. You can also deploy firewalls and intrusion detection systems to monitor and filter network traffic to prevent malicious attacks or provide remote users with secure access channels to ensure the security of transmitted data. You can also regularly back up critical data to prevent data loss or damage or develop a detailed disaster recovery plan to ensure that data can be quickly restored in the event of a system failure or natural disaster. You can also record system and user activity logs for security audits and troubleshooting, or monitor system activities in real time to promptly detect and respond to potential security risks. The system can also update the operating system, application programs and security software in a timely manner, patch known vulnerabilities, or conduct vulnerability scans regularly to identify and repair security vulnerabilities in the system; it can also limit and monitor physical access to the data center and servers of the supercomputing center, or adopt temperature, humidity and power control measures to ensure the normal operation of hardware equipment. However, although the above data protection methods can prevent unauthorized access, data leakage and other security threats, the above methods can only be considered from the perspectives of access rights, data backup and system security of a single supercomputing cluster, and are used to solve the data security problems of a single supercomputing cluster. When multiple supercomputing clusters work together, since data needs to flow between multiple supercomputing clusters, other supercomputing clusters may store data that is not their own cluster, making it impossible for the data owner to maintain ownership of the data, thereby affecting the privacy and security of the data. Therefore, in the cross-supercomputing cluster scenario, there are security risks in the transmission of supercomputing user data, and the original data may be stolen or tampered with.
[0045] In view of this, the present application provides a data protection method suitable for data protection in a cross-supercomputing cluster scenario.
[0046] The data protection method provided in the embodiment of the present application can be applied to Figure 1In the application environment shown. Among them, the central server 102 communicates with the supercomputing platform 104 and the user terminal device A106 where the user terminal A is located through the network, and the supercomputing platform 104 is connected to the user terminal device B108 where the user terminal B is located through the network. The first data storage system can be the data that the central server 102 needs to process. The first data storage system can be integrated on the central server 102, or it can be placed on the cloud or other network servers. The second data storage system can be the data that the supercomputing platform 104 needs to process. The data storage system can be integrated on the supercomputing platform 104, or it can be placed on the cloud or other network servers. The central server 102 receives the first noise-added data sent by the user terminal, and processes the first noise-added data to obtain the initiator's intermediate data, receives the participant's intermediate data sent by each supercomputing platform, and the participant's intermediate data is obtained by the supercomputing platform performing data processing on the second noise-added data sent by the user terminal, aggregates the initiator's intermediate data and the intermediate data of each participant to obtain aggregated business data, and sends the aggregated business data to each supercomputing platform. The aggregated business data is used by the supercomputing platform to process the second noise-added data according to the aggregated business data. Among them, the central server 102 can be implemented by an independent server or a server cluster composed of multiple servers, and the supercomputing platform 104 can be implemented by an independent supercomputing platform or a supercomputing platform cluster composed of multiple supercomputing platforms, among which the supercomputing platform 104 can be a server.
[0047] In an exemplary embodiment, Figure 2 As shown, a data protection method is provided, which is applied to Figure 1 The central server in the example is used to illustrate, including the following steps:
[0048] Step 201: receiving first noisy data sent by a user terminal, and performing data processing on the first noisy data to obtain initiator intermediate data.
[0049] It should be noted that the data protection method provided in the embodiment of the present application can be applied to the central server in a supercomputing cluster. The central server can be a separately deployed server, or the central server can also be a server cluster. Exemplarily, the central server can be a supercomputing platform among multiple supercomputing platforms used to initiate joint data processing of multiple supercomputing platforms.
[0050] Among them, the user end refers to a program that provides local services to users, which can be deployed on a local terminal or a local server, such as a smart phone or a computer, so as to send data to the central server through the local terminal or the local server. In this embodiment, the data sent by the user end to the central server can be used as the first noisy data.
[0051] It is understandable that in order to improve the security of the data sent by the user to the central server, the data to be sent can be noised at the user end. Optionally, a differential privacy algorithm can be deployed at the user end to use the differential privacy algorithm to perform noise on the original data to be sent to obtain the first noisy data. Among them, the initiator intermediate data refers to the data obtained after the central server performs data processing on the first noisy data. In this embodiment, the central server, as the initiator object of initiating the joint data processing of multiple supercomputing platforms, can be used as the initiator. Therefore, the result obtained by the central server after the data processing of the first noisy data is used as the initiator intermediate data.
[0052] In this embodiment, the central server may receive the first noisy data sent by the user terminal through the network, and then process the first noisy data according to the business requirements and data protection method of the business corresponding to the first noisy data to obtain the initiator intermediate data.
[0053] Exemplarily, in a scenario where a federated learning model is trained using data from multiple supercomputing platforms, the user terminal may be a user terminal corresponding to a central server, and the first noisy data may be a training sample obtained by noisy the data required for model training on the user terminal. The user terminal sends the first noisy data to the central server, and the central server may use the first noisy data to train the model, and then use the model parameters of the trained model as the initiator's intermediate data.
[0054] Step 202, receiving the intermediate data of the participants sent by each supercomputing platform, where the intermediate data of the participants is obtained by the supercomputing platform performing data processing on the second noisy data sent by the user end.
[0055] Among them, each supercomputing platform refers to other supercomputing platforms except the central server. Optionally, each supercomputing platform can be a separately deployed server, or each supercomputing platform can also be a server cluster. It can be understood that each supercomputing platform can receive each second noisy data sent by the corresponding user terminal, and then perform data processing on the second noisy data received by each to obtain the intermediate data of each participant, wherein the second noisy data is obtained after the user terminal performs noise processing on the data to be processed. It should be noted that the intermediate data of each participant is obtained by each supercomputing platform processing each second noisy data, and the central server cannot obtain the second noisy data based on the intermediate data of the participant. In this embodiment, each supercomputing platform can be a participant as a response object responding to the joint data processing of multiple supercomputing platforms. Therefore, the result obtained by each supercomputing platform processing the second noisy data can be used as the intermediate data of the participant.
[0056] It can be understood that since the amount of data of the intermediate data of the participants is smaller than that of the second noisy data, the amount of data transmitted can be reduced, thereby reducing the communication load during the transmission process.
[0057] In this embodiment, the central server can receive the intermediate data of the participants sent by each supercomputing platform through the network. Exemplarily, in the scenario where the federated learning model is trained by multiple supercomputing platforms based on the data of each supercomputing platform, the second noise-added data can be the training data that each user terminal can send to each supercomputing platform, and each supercomputing platform trains the model using the second noise-added data received by each supercomputing platform, and then uses the model parameters of the model obtained after training as the intermediate data of the participants, and sends the intermediate data of the participants to the central server.
[0058] Step 203, aggregate the intermediate data of the initiator and the intermediate data of each participant to obtain aggregated business data, and send the aggregated business data to each supercomputing platform. The aggregated business data is used by the supercomputing platform to process the second noisy data according to the aggregated business data.
[0059] Among them, aggregation processing refers to the initiator's intermediate data obtained by the central server performing data processing on the first noisy data, and the participant's intermediate data obtained by each supercomputing platform performing data processing on the second noisy data. Aggregate business data refers to the data obtained by aggregating the initiator's intermediate data and the intermediate data of each participant.
[0060] In this embodiment, the central server can use an aggregation algorithm to aggregate the intermediate data of the initiator and the intermediate data of each participant, and then use the aggregation result as the aggregated business data, and then send the aggregated business data to each supercomputing platform through the network.
[0061] It can be understood that in the scenario where federated learning model training is performed through multiple supercomputing platforms based on the data of each supercomputing platform, the central server aggregates the intermediate data of the initiator and the intermediate data of each participant, so that the aggregated business data can be integrated with the intermediate data of the initiator and the intermediate data of each participant, and then the aggregated business data is sent to each supercomputing platform. Each supercomputing platform can use other business data to continue training its own model, thereby improving the accuracy of the trained model.
[0062] Exemplarily, during the process of training the model, the central server and each supercomputing platform can repeatedly perform the following process until a trained model is obtained: the central server uses the first noisy data to perform the first round of training on the local model, and then uses the model parameters of the model after the first round of training as the initiator's intermediate data; each supercomputing platform uses the second noisy data to perform the first round of training on the local model, and then uses the model parameters of the model after the first round of training as the participant's intermediate data and sends it to the central server; the central server aggregates the initiator's intermediate data and the intermediate data of each participant to obtain aggregated business data, and then sends it to each supercomputing platform; the central server and each supercomputing platform use the aggregated business data to perform a second round of training on their respective local models.
[0063] In the above data protection method, the central server first receives the first noisy data sent by the user terminal, and processes the first noisy data to obtain the initiator's intermediate data. Then, the central server receives the participant's intermediate data sent by each supercomputing platform. The participant's intermediate data is obtained by the supercomputing platform performing data processing on the second noisy data sent by the user terminal. Since the central server and each supercomputing platform receive the noisy data obtained by the user terminal after data processing, not the original data of the user terminal, the security of the data transmission process can be ensured. Then, the central server aggregates the initiator's intermediate data and the intermediate data of each participant to obtain aggregated business data, and sends the aggregated business data to each supercomputing platform. The aggregated business data can be used by the supercomputing platform to perform data processing on the second noisy data according to the aggregated business data. Since each supercomputing platform sends the participant's intermediate data to the central server in the process of obtaining the aggregated business data, it is not necessary to send the second noisy data to the central server, which avoids the central server storing the second noisy data and affecting the ownership of the second noisy data by the user terminal corresponding to each supercomputing platform, thereby realizing data protection in the data processing process across supercomputing platforms and preventing the leakage of user terminal data.
[0064] In the above scenario where the initiator's intermediate data and the participants' intermediate data are aggregated to obtain aggregated business data, a federated learning algorithm can be deployed in the central server to obtain aggregated business data using the federated learning algorithm. Figure 3 As shown, the above step 203 includes:
[0065] Step 301, determining the type of federated learning algorithm according to the business parameters of the initiator's intermediate data and the business parameters of the intermediate data of each participant.
[0066] Among them, the business parameters refer to the parameter information corresponding to the business, such as business type, business items, user information, user type and other information. Business parameters are information related to each business, and the business parameters of different businesses are also different. It can be understood that in the data protection method provided in this embodiment, when the federated learning algorithm is used for aggregation processing, the corresponding federated learning algorithm type can be determined according to the characteristics corresponding to the business parameters of the initiator's intermediate data and the characteristics corresponding to the business parameters of the intermediate data of each participant.
[0067] Among them, the federated learning algorithm can be divided into two types according to the characteristics of business parameters: horizontal federated learning algorithm and vertical federated learning algorithm. Among them, the horizontal federated learning algorithm is suitable for the situation where the user features overlap more and the user overlap less between multiple data sets. The data set can be divided according to the user dimension, and the data processing is based on the data with the same user features but not completely the same users. For example, for two banks in different regions, their users come from different regions, but the business types corresponding to the users are different, so the user features overlap more. The vertical federated learning algorithm is suitable for the situation where the user features overlap less and the user overlap more between multiple data sets. The data set can be divided according to the user feature dimension, and the data processing is based on the data with the same user features but not completely the same user features. For example, for two institutions in the same region, one is a bank and the other is an e-commerce company. The overlap between users from the same region is relatively high, and the e-commerce company records the user's browsing and purchase history, while the bank records the user's income and expenditure behavior and credit rating. Therefore, the overlap between the user features corresponding to the two institutions is relatively low.
[0068] In this embodiment, the central server may extract corresponding business parameters from the first data and each second data, and then determine the type of federated learning algorithm according to the overlap between the business parameters.
[0069] The following is a detailed description of the process of determining two types of federated learning algorithms based on business parameters. The above business parameters may include business type and / or user type, and the above step 301 includes:
[0070] The first type: If the similarity between the business type of the initiator's intermediate data and the business type of the intermediate data of each participant is greater than the similarity threshold, the type of the federated learning algorithm is determined to be a horizontal federated learning algorithm.
[0071] In this embodiment, the central server can compare the business type and user type of the initiator's intermediate data with the business type and user type of each second data respectively. If the similarity between the business type of the initiator's intermediate data and the business type of the intermediate data of each participant is greater than the similarity threshold, it means that the overlap of user characteristics between the initiator's intermediate data and the intermediate data of each participant is high. Therefore, it can be determined that the type of federated learning algorithm is a horizontal federated learning algorithm.
[0072] The second type: If the similarity between the user type of the initiator's intermediate data and the user type of the intermediate data of each participant is greater than the similarity threshold, the type of the federated learning algorithm is determined to be a vertical federated learning algorithm.
[0073] In this embodiment, the central server can compare the business type and user type of the initiator's intermediate data with the business type and user type of each second data respectively. If the similarity between the user type of the initiator's intermediate data and the user type of the intermediate data of each participating party is greater than the similarity threshold, it means that the overlap of the user types between the initiator's intermediate data and the intermediate data of each participating party is high. Therefore, it can be determined that the type of federated learning algorithm is a vertical federated learning algorithm.
[0074] Step 302: Use a federated learning algorithm corresponding to the federated learning algorithm type to aggregate the intermediate data of the initiator and the intermediate data of each participant to obtain aggregated business data.
[0075] Among them, the federated learning algorithm can aggregate data from different sources to obtain aggregated data suitable for each source. For example, it can perform weighted averaging on data from different sources.
[0076] In this embodiment, the central server can use a federated learning algorithm to perform weighted averaging on the intermediate data of the initiator and the intermediate data of each participant, and use the result as aggregated business data.
[0077] In this embodiment, the central server determines the type of federated learning algorithm based on the business parameters of the initiator's intermediate data and the business parameters of the intermediate data of each participant, and then uses the federated learning algorithm corresponding to the federated learning algorithm type to aggregate the initiator's intermediate data and the intermediate data of each participant to obtain aggregated business data. Since the type of federated learning algorithm is determined based on the business parameters of the initiator's intermediate data and the business parameters of the intermediate data of each participant during the aggregation processing, the corresponding federated learning algorithm can be used to perform targeted aggregation processing on the initiator's intermediate data and the intermediate data of the participants, thereby improving the accuracy of the obtained aggregated business data.
[0078] In the above scenario where the aggregated business data is sent to each supercomputing platform, the central server may encrypt the aggregated business data and then send it to each supercomputing platform. Figure 4 As shown, the above step 203 also includes:
[0079] Step 401: encrypt the aggregated business data using a data encryption algorithm to obtain encrypted data.
[0080] Among them, data encryption algorithm is a process of converting plaintext data into ciphertext data to ensure the security and privacy of data. Data encryption algorithm can include symmetric encryption algorithm, asymmetric encryption algorithm, hash algorithm, etc.
[0081] In this embodiment, the central server may utilize a data encryption algorithm to perform encryption processing on the aggregated business data, and encrypt the result of the encryption processing into data.
[0082] Step 402, sending the encrypted data to each supercomputing platform.
[0083] In this embodiment, the central server can send the encrypted data to each supercomputing platform through the network.
[0084] In this embodiment, the central server encrypts the aggregated business data by using a data encryption algorithm to obtain encrypted data, and then sends the encrypted data to each supercomputing platform. This can avoid security attacks during the transmission of the aggregated business data and improve the security of the transmission of the aggregated business data.
[0085] In an exemplary embodiment, Figure 5 As shown, a data protection method is also provided, which is applied to Figure 1 The following steps are used as an example to illustrate the supercomputing platform in the example:
[0086] Step 501: receiving second noisy data sent by a user terminal, and performing data processing on the second noisy data to obtain the participant intermediate data.
[0087] It should be noted that when the amount of data that the user end needs to process is large, the user end can send the data to the corresponding supercomputing platform for processing. In order to improve the security during data transmission, the user end can perform noise processing on the data to be processed locally to obtain second noisy data.
[0088] In this embodiment, a federated learning algorithm can be deployed in a supercomputing platform, and then the federated learning algorithm is used to train the model using the second noisy data as a training sample to obtain a trained model, and then the model parameters corresponding to the trained model are used as intermediate data of the participants.
[0089] Step 502, sending the intermediate data of the participants to the central server. The intermediate data of the participants is used by the central server to aggregate the intermediate data of the participants sent by each supercomputing platform to obtain aggregated business data.
[0090] In this embodiment, the supercomputing platform can send the intermediate data of the participants to the central server through the network, so that the central server can use the intermediate data of the participants to perform aggregation processing to obtain aggregated business data.
[0091] As a possible implementation method, if there are multiple supercomputing platforms, each supercomputing platform can send its corresponding intermediate data of the participating parties to the central server.
[0092] Step 503: receiving aggregated service data sent by the central server.
[0093] In this embodiment, after the central server obtains the aggregated business data, the supercomputing platform can receive the aggregated business data sent by the central server through the network, so that the supercomputing platform can continue to train the model using the aggregated business data.
[0094] In this embodiment, the supercomputing platform first receives the second noisy data sent by the user terminal, and processes the second noisy data to obtain the intermediate data of the participants. Then, the intermediate data of the participants is sent to the central server. The intermediate data of the participants is used by the central server to perform aggregation processing on the intermediate data of the participants sent by each supercomputing platform to obtain aggregated business data. Then, the aggregated business data sent by the central server can be received. In the process of receiving the aggregated business data, the supercomputing platform only needs to send the processed intermediate data of the participants to the central processor. The intermediate data of the participants is the intermediate result obtained after processing the second noisy data, which avoids the problem of the central server storing the second noisy data of the supercomputing platform, thereby ensuring the privacy of the second noisy data of the supercomputing platform. Furthermore, since the second noisy data received by the supercomputing platform is the result of the user terminal performing noise processing on the original data, it also avoids the problem of the supercomputing platform storing the original data of the user terminal, thereby ensuring the privacy of the original data of the user terminal.
[0095] The following describes the process of the above data protection method using the financial field as an example:
[0096] S1, the user end of each financial institution uses the differential privacy algorithm to process the original business data to obtain the noisy data, and sends the noisy data to the corresponding supercomputing platform;
[0097] S2, each supercomputing platform trains the model according to the received noise-added data, and uses the model parameters of the trained model as the intermediate result, encrypts the intermediate result using an encryption algorithm, and then sends the encrypted intermediate result to the central server;
[0098] S3, the central server uses the horizontal federated learning algorithm to aggregate the intermediate results according to the data characteristics of the original data to obtain aggregated business data;
[0099] S4, the central server encrypts the aggregated business data to obtain encrypted data, and sends the encrypted data to each supercomputing platform;
[0100] S5: The decryption algorithms of each supercomputing platform decrypt the encrypted data to obtain aggregated business data, and use the aggregated business data to train the model.
[0101] To facilitate understanding by those skilled in the art, the data protection method provided by the present application is described in detail below. The method may include:
[0102] S1, the user end adds noise to the original data, and sends the first noisy data obtained by the noise addition to the central server, and sends the second noisy data obtained by the noise addition to the supercomputing platform.
[0103] S2, the central server receives the first noisy data sent by the user terminal, and processes the first noisy data to obtain the initiator intermediate data.
[0104] S3, the supercomputing platform receives the second noisy data sent by the user terminal, and processes the second noisy data to obtain the intermediate data of the participant.
[0105] S4, the supercomputing platform sends the intermediate data of the participants to the central server.
[0106] S5. The central server determines the type of federated learning algorithm based on the business parameters of the initiator's intermediate data and the business parameters of the intermediate data of each participant. If the similarity between the business type of the initiator's intermediate data and the business type of the intermediate data of each participant is higher than the similarity threshold, the type of the federated learning algorithm is determined to be a horizontal federated learning algorithm; if the similarity between the user type of the initiator's intermediate data and the user type of the intermediate data of each participant is higher than the similarity threshold, the type of the federated learning algorithm is determined to be a vertical federated learning algorithm.
[0107] S6: The central server uses the federated learning algorithm corresponding to the federated learning algorithm type to aggregate the intermediate data of the initiator and the intermediate data of each participant to obtain aggregated business data.
[0108] S7, the central server uses a data encryption algorithm to encrypt the aggregated business data to obtain encrypted data.
[0109] S8, the central server sends the encrypted data to each supercomputing platform.
[0110] S9, the supercomputing platform receives the aggregated business data sent by the central server, and processes the second noisy data according to the aggregated business data.
[0111] It should be noted that for the descriptions in the above S1-S9, reference may be made to the relevant descriptions in the above embodiments, and the effects are similar, so this embodiment will not be repeated here.
[0112] It should be understood that, although the steps in the flowcharts involved in the above embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps is not strictly limited in order, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above embodiments may include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.
[0113] Based on the same inventive concept, the embodiment of the present application also provides a data protection device for implementing the data protection method involved above. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme recorded in the above method, so the specific limitations in one or more data protection device embodiments provided below can refer to the limitations on the data protection method above, and will not be repeated here.
[0114] In one embodiment, Figure 6 As shown, a data protection device is provided, which is applied to a central server, including: a first receiving module 601, a second receiving module 602 and an aggregation module 603, wherein:
[0115] The first receiving module 601 is used to receive the first noise-added data sent by the user end, and perform data processing on the first noise-added data to obtain the initiator intermediate data;
[0116] The second receiving module 602 is used to receive the participant intermediate data sent by each supercomputing platform, where the participant intermediate data is obtained by the supercomputing platform performing data processing on the second noise-added data sent by the user terminal;
[0117] Aggregation module 603 is used to aggregate the intermediate data of the initiator and the intermediate data of each participant to obtain aggregated business data, and send the aggregated business data to each supercomputing platform. The aggregated business data is used by the supercomputing platform to process the second noisy data according to the aggregated business data.
[0118] The data protection device provided in this embodiment can execute the above method embodiment, and its implementation principle and technical effect are similar, which will not be repeated here.
[0119] In one embodiment, the aggregation module 603 includes:
[0120] A determination unit, used to determine the type of federated learning algorithm according to the business parameters of the initiator's intermediate data and the business parameters of the intermediate data of each participant;
[0121] The aggregation unit is used to aggregate the intermediate data of the initiator and the intermediate data of each participant by using the federated learning algorithm corresponding to the federated learning algorithm type to obtain aggregated business data.
[0122] The data protection device provided in this embodiment can execute the above method embodiment, and its implementation principle and technical effect are similar, which will not be repeated here.
[0123] In one embodiment, the service parameter includes a service type and / or a user type, and the determination unit is specifically configured to:
[0124] If the similarity between the business type of the initiator's intermediate data and the business type of the intermediate data of each participant is higher than the similarity threshold, the federated learning algorithm type is determined to be a horizontal federated learning algorithm;
[0125] If the similarity between the user type of the initiator's intermediate data and the user type of the intermediate data of each participant is higher than the similarity threshold, the type of the federated learning algorithm is determined to be a vertical federated learning algorithm.
[0126] The data protection device provided in this embodiment can execute the above method embodiment, and its implementation principle and technical effect are similar, which will not be repeated here.
[0127] In one embodiment, the aggregation module 603 further includes:
[0128] An encryption unit, used to encrypt the aggregated business data using a data encryption algorithm to obtain encrypted data;
[0129] The sending unit is used to send the encrypted data to each supercomputing platform.
[0130] The data protection device provided in this embodiment can execute the above method embodiment, and its implementation principle and technical effect are similar, which will not be repeated here.
[0131] Each module in the above data protection device can be implemented in whole or in part by software, hardware, or a combination thereof. Each module can be embedded in or independent of a processor in a computer device in the form of hardware, or can be stored in a memory in a computer device in the form of software, so that the processor can call and execute the operations corresponding to each module above.
[0132] In one embodiment, Figure 7 As shown, a data protection device is also provided, which is applied to a supercomputing platform, including: a third receiving module 701, a sending module 702 and a fourth receiving module 703, wherein:
[0133] The third receiving module 701 is used to receive the second noisy data sent by the user end, and perform data processing on the second noisy data to obtain the participant intermediate data;
[0134] The sending module 702 is used to send the intermediate data of the participants to the central server. The intermediate data of the participants is used by the central server to aggregate the intermediate data of the participants sent by each supercomputing platform to obtain aggregated business data;
[0135] The fourth receiving module 703 is used to receive the aggregated service data sent by the central server.
[0136] The data protection device provided in this embodiment can execute the above method embodiment, and its implementation principle and technical effect are similar, which will not be repeated here.
[0137] Each module in the above data protection device can be implemented in whole or in part by software, hardware, or a combination thereof. Each module can be embedded in or independent of a processor in a computer device in the form of hardware, or can be stored in a memory in a computer device in the form of software, so that the processor can call and execute the operations corresponding to each module above.
[0138] In an exemplary embodiment, a computer device is provided. The computer device may be a server, and its internal structure diagram may be as shown in FIG. Figure 8 As shown. The computer device includes a processor, a memory, an input / output interface (Input / Output, referred to as I / O) and a communication interface. The processor, the memory and the input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store aggregated business data. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a data protection method is implemented.
[0139] Those skilled in the art will understand that Figure 8The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.
[0140] In one embodiment, a computer device is provided, including a memory and a processor, wherein a computer program is stored in the memory, and when the processor executes the computer program, the following steps are implemented:
[0141] Receiving first noise-added data sent by a user terminal, and performing data processing on the first noise-added data to obtain initiator intermediate data;
[0142] Receiving the intermediate data of the participants sent by each supercomputing platform, where the intermediate data of the participants is obtained by the supercomputing platform performing data processing on the second noise-added data sent by the user end;
[0143] The intermediate data of the initiator and the intermediate data of each participant are aggregated to obtain aggregated business data, and the aggregated business data is sent to each supercomputing platform. The aggregated business data is used by the supercomputing platform to process the second noisy data according to the aggregated business data.
[0144] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:
[0145] Determine the type of federated learning algorithm based on the business parameters of the initiator's intermediate data and the business parameters of the intermediate data of each participant;
[0146] The federated learning algorithm corresponding to the federated learning algorithm type is used to aggregate the intermediate data of the initiator and the intermediate data of each participant to obtain aggregated business data.
[0147] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:
[0148] If the similarity between the business type of the initiator's intermediate data and the business type of the intermediate data of each participant is higher than the similarity threshold, the federated learning algorithm type is determined to be a horizontal federated learning algorithm;
[0149] If the similarity between the user type of the initiator's intermediate data and the user type of the intermediate data of each participant is higher than the similarity threshold, the type of the federated learning algorithm is determined to be a vertical federated learning algorithm.
[0150] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:
[0151] The aggregated business data is encrypted using a data encryption algorithm to obtain encrypted data;
[0152] Send the encrypted data to each supercomputing platform.
[0153] In one embodiment, a computer device is provided, including a memory and a processor, wherein a computer program is stored in the memory, and when the processor executes the computer program, the following steps are implemented:
[0154] Receiving the second noisy data sent by the user end, and performing data processing on the second noisy data to obtain the participant intermediate data;
[0155] The intermediate data of the participants is sent to the central server. The intermediate data of the participants is used by the central server to aggregate the intermediate data of the participants sent by each supercomputing platform to obtain aggregated business data;
[0156] Receive aggregated business data sent by the central server.
[0157] In one embodiment, a computer readable storage medium is provided, on which a computer program is stored, and when the computer program is executed by a processor, the following steps are implemented:
[0158] Receiving first noise-added data sent by a user terminal, and performing data processing on the first noise-added data to obtain initiator intermediate data;
[0159] Receiving the intermediate data of the participants sent by each supercomputing platform, where the intermediate data of the participants is obtained by the supercomputing platform performing data processing on the second noise-added data sent by the user end;
[0160] The intermediate data of the initiator and the intermediate data of each participant are aggregated to obtain aggregated business data, and the aggregated business data is sent to each supercomputing platform. The aggregated business data is used by the supercomputing platform to process the second noisy data according to the aggregated business data.
[0161] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0162] Determine the type of federated learning algorithm based on the business parameters of the initiator's intermediate data and the business parameters of the intermediate data of each participant;
[0163] The federated learning algorithm corresponding to the federated learning algorithm type is used to aggregate the intermediate data of the initiator and the intermediate data of each participant to obtain aggregated business data.
[0164] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0165] If the similarity between the business type of the initiator's intermediate data and the business type of the intermediate data of each participant is higher than the similarity threshold, the federated learning algorithm type is determined to be a horizontal federated learning algorithm;
[0166] If the similarity between the user type of the initiator's intermediate data and the user type of the intermediate data of each participant is higher than the similarity threshold, the type of the federated learning algorithm is determined to be a vertical federated learning algorithm.
[0167] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0168] The aggregated business data is encrypted using a data encryption algorithm to obtain encrypted data;
[0169] Send the encrypted data to each supercomputing platform.
[0170] In one embodiment, a computer readable storage medium is provided, on which a computer program is stored, and when the computer program is executed by a processor, the following steps are implemented:
[0171] Receiving the second noisy data sent by the user end, and performing data processing on the second noisy data to obtain the participant intermediate data;
[0172] The intermediate data of the participants is sent to the central server. The intermediate data of the participants is used by the central server to aggregate the intermediate data of the participants sent by each supercomputing platform to obtain aggregated business data;
[0173] Receive aggregated business data sent by the central server.
[0174] In one embodiment, a computer program product is provided, comprising a computer program, which, when executed by a processor, implements the following steps:
[0175] Receiving first noise-added data sent by a user terminal, and performing data processing on the first noise-added data to obtain initiator intermediate data;
[0176] Receiving the intermediate data of the participants sent by each supercomputing platform, where the intermediate data of the participants is obtained by the supercomputing platform performing data processing on the second noise-added data sent by the user end;
[0177] The intermediate data of the initiator and the intermediate data of each participant are aggregated to obtain aggregated business data, and the aggregated business data is sent to each supercomputing platform. The aggregated business data is used by the supercomputing platform to process the second noisy data according to the aggregated business data.
[0178] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0179] Determine the type of federated learning algorithm based on the business parameters of the initiator's intermediate data and the business parameters of the intermediate data of each participant;
[0180] The federated learning algorithm corresponding to the federated learning algorithm type is used to aggregate the intermediate data of the initiator and the intermediate data of each participant to obtain aggregated business data.
[0181] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0182] If the similarity between the business type of the initiator's intermediate data and the business type of the intermediate data of each participant is higher than the similarity threshold, the federated learning algorithm type is determined to be a horizontal federated learning algorithm;
[0183] If the similarity between the user type of the initiator's intermediate data and the user type of the intermediate data of each participant is higher than the similarity threshold, the type of the federated learning algorithm is determined to be a vertical federated learning algorithm.
[0184] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0185] The aggregated business data is encrypted using a data encryption algorithm to obtain encrypted data;
[0186] Send the encrypted data to each supercomputing platform.
[0187] In one embodiment, a computer program product is also provided, including a computer program, which, when executed by a processor, implements the following steps:
[0188] Receiving the second noisy data sent by the user end, and performing data processing on the second noisy data to obtain the participant intermediate data;
[0189] The intermediate data of the participants is sent to the central server. The intermediate data of the participants is used by the central server to aggregate the intermediate data of the participants sent by each supercomputing platform to obtain aggregated business data;
[0190] Receive aggregated business data sent by the central server.
[0191] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., but are not limited to this.
[0192] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0193] The above-described embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.
Claims
1. A data protection method, characterized in that: Applied to a central server, the method comprises: Receiving first noise-added data sent by a user terminal, and performing data processing on the first noise-added data to obtain initiator intermediate data; Receiving the intermediate data of the participants sent by each supercomputing platform, where the intermediate data of the participants is obtained by the supercomputing platform performing data processing on the second noise-added data sent by the user terminal; The intermediate data of the initiator and the intermediate data of each of the participants are aggregated to obtain aggregated business data, and the aggregated business data is sent to each of the supercomputing platforms. The aggregated business data is used by the supercomputing platform to perform data processing on the second noisy data according to the aggregated business data.
2. The method according to claim 1, characterized in that The aggregating the initiator's intermediate data and the participants' intermediate data to obtain aggregated business data includes: Determining a federated learning algorithm type according to the business parameters of the intermediate data of the initiator and the business parameters of the intermediate data of each of the participants; The intermediate data of the initiator and the intermediate data of each of the participants are aggregated using the federated learning algorithm corresponding to the federated learning algorithm type to obtain the aggregated business data.
3. The method according to claim 2, characterized in that The business parameters include business type and / or user type, and determining the type of federated learning algorithm according to the business parameters of the initiator's intermediate data and the business parameters of the intermediate data of each participant includes: If the similarity between the business type of the initiator's intermediate data and the business type of the intermediate data of each of the participants is greater than a similarity threshold, determining that the federated learning algorithm type is a horizontal federated learning algorithm; If the similarity between the user type of the initiator's intermediate data and the user type of the intermediate data of each participant is higher than the similarity threshold, it is determined that the federated learning algorithm type is a vertical federated learning algorithm.
4. The method according to any one of claims 1 to 3, characterized in that: The sending the aggregated business data to each of the supercomputing platforms includes: Encrypting the aggregated service data using a data encryption algorithm to obtain encrypted data; The encrypted data is sent to each of the supercomputing platforms.
5. A data protection method, characterized in that: Applied to a supercomputing platform, the method comprises: Receiving second noisy data sent by the user terminal, and performing data processing on the second noisy data to obtain the participant intermediate data; The intermediate data of the participants is sent to the central server, and the intermediate data of the participants is used by the central server to aggregate the intermediate data of the participants sent by each supercomputing platform to obtain aggregated business data; The aggregated service data sent by the central server is received.
6. A data protection device, characterized in that: Applied to a central processing unit, the device comprises: A first receiving module, used for receiving first noise-added data sent by a user terminal, and performing data processing on the first noise-added data to obtain initiator intermediate data; A second receiving module is used to receive the participant intermediate data sent by each supercomputing platform, where the participant intermediate data is obtained by the supercomputing platform performing data processing on the second noise-added data sent by the user terminal; An aggregation module is used to aggregate the intermediate data of the initiator and the intermediate data of each participant to obtain aggregated business data, and send the aggregated business data to each supercomputing platform. The aggregated business data is used by the supercomputing platform to process the second noisy data according to the aggregated business data.
7. A data protection device, characterized in that: Applied to a supercomputing platform, the device comprises: A third receiving module is used to receive the second noisy data sent by the user end, and perform data processing on the second noisy data to obtain the participant intermediate data; A sending module, used to send the intermediate data of the participants to the central server, where the intermediate data of the participants is used by the central server to aggregate the intermediate data of the participants sent by each supercomputing platform to obtain aggregated business data; The fourth receiving module is used to receive the aggregated business data sent by the central server.
8. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 5 are implemented.
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 steps of the method according to any one of claims 1 to 5 are implemented.
10. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 5 are implemented.