Data processing method and apparatus, and storage medium

By obtaining curl on the client side and performing intersection data processing, the problem of inaccurate training results caused by data anonymization is solved, thus achieving both data security and accuracy of training results.

CN114756890BActive Publication Date: 2026-02-10YIKA TECH (SHENZHEN) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210364462.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-04-07
Publication Date
2026-02-10
Estimated Expiration
2042-04-07

AI Technical Summary

Technical Problem

In existing technologies, data loss after data anonymization can lead to inaccurate training results.

Method used

The first modulus result is determined by obtaining the curl of the first raw data from other clients, and the second modulus result is determined by obtaining the curl of the second raw data of the client itself. The first target curl and the second target curl are determined based on the intersection data, and these are used as input data for model training.

Benefits of technology

It effectively solved the data leakage problem, improved the accuracy of training results, and avoided training inaccuracies caused by data loss.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114756890B_ABST
    Figure CN114756890B_ABST
Patent Text Reader

Abstract

The application discloses a data processing method, which comprises the following steps: obtaining a first modulo result determined according to a first original data corresponding to other clients; determining a second modulo result according to a second original data corresponding to the self; determining a first target vorticity corresponding to the first modulo result and a second target vorticity corresponding to the second modulo result according to the first modulo result and the second modulo result; inputting the first target vorticity and the second target vorticity as input data into a preset model to obtain a training result obtained by the preset model after training based on the input data. The application also discloses a data processing device and a storage medium. The application converts data into corresponding vorticity, trains according to the vorticity, and does not need to desensitize the data, thereby solving the problems that data loss is caused by desensitizing the data and the training result is inaccurate when training the lost data.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of information processing, and in particular to a data processing method and device and a storage medium. BACKGROUND

[0002] At present, traditional machine learning methods need to concentrate all data in one place, such as a data center, and then train a machine learning model, but for some sensitive data, this centralized data-based approach will seriously infringe on the privacy and data security of users. To avoid the above-mentioned leakage of private data or sensitive data, the uploaded data is usually desensitized, such as random value replacement desensitization or special character replacement desensitization, however, in the desensitization of uploaded data, the data itself has meaning, and according to the traditional random value replacement desensitization or special character replacement desensitization, the data itself will be changed, so that part or all of the meaning of the data itself is lost, thereby causing the training result to be inaccurate when the desensitized data is trained subsequently.

[0003] The above content is only used to assist in understanding the technical solutions of the present application and does not represent the acknowledgement of the above content as prior art. SUMMARY

[0004] The main purpose of the present application is to provide a data processing method, device and storage medium, which aims to solve the problem that desensitization of data easily leads to data loss, and the training result after training the lost data is inaccurate.

[0005] To achieve the above-mentioned purpose, the present application provides a data processing method applied to a client, the steps of the data processing method comprising:

[0006] obtaining a first modulo result determined according to the curl of the first original data corresponding to other clients;

[0007] determining a second modulo result according to the curl of the second original data corresponding to itself;

[0008] determining a first target curl corresponding to the first modulo result and a second target curl corresponding to the second modulo result according to the first modulo result and the second modulo result;

[0009] inputting the first target curl and the second target curl as input data into a preset model to obtain a training result obtained by training the preset model based on the input data.

[0010] Optionally, the step of determining a second modulo result according to the curl of the second original data corresponding to itself comprises:

[0011] obtaining a second private key corresponding to itself;

[0012] The curl corresponding to the second original data is determined based on the second private key;

[0013] The curl corresponding to the second original data is moduloed according to the preset public key to obtain the second modulo result corresponding to each curl.

[0014] Optionally, the step of determining the curl corresponding to the second original data based on the second private key includes:

[0015] Obtain the formula for calculating curl;

[0016] Input the second private key and the second original data into the curl calculation formula to obtain the calculation results corresponding to each of the second original data.

[0017] The calculation results are used as the curl corresponding to each of the second original data.

[0018] Optionally, the step of determining the first target curl corresponding to the first modulus result and the second target curl corresponding to the second modulus result based on the first modulus result and the second modulus result includes:

[0019] Based on the first modulus result and the second modulus result, the intersection data between the second original data and the first original data is determined, wherein the intersection data are data with the same number;

[0020] The first target curl and the second target curl are determined based on the intersection data.

[0021] Optionally, the step of determining the intersection data between the second original data and the first original data based on the first modulus result and the second modulus result includes:

[0022] Based on the first modulus result, determine the first number corresponding to the curl of the first original data;

[0023] The first number is compared with the second number corresponding to the curl of each of the second original data to obtain the same number in the first number and the second number;

[0024] The first modulo result corresponding to the same number and the second modulo result corresponding to the same number are merged to obtain the intersection data.

[0025] Optionally, the step of determining the first target curl and the second target curl based on the intersection data includes:

[0026] The first modulo result corresponding to the same number is parsed according to the preset public key to obtain the first target curl;

[0027] The second modulo result corresponding to the same number is parsed according to the preset public key to obtain the second target curl.

[0028] Optionally, after the step of inputting the first target curl and the second target curl as input data into a preset model to obtain the training result obtained by training the preset model based on the input data, the method further includes:

[0029] The training results are sent to the other clients so that the other clients can continue training based on the training results and the curl of the first original data.

[0030] In addition, to achieve the above objectives, the present invention also provides a data processing apparatus, the data processing apparatus comprising: a memory, a processor, and a data processing program stored in the memory and executable on the processor, wherein the data processing program, when executed by the processor, implements the steps of the data processing method as described above.

[0031] In addition, to achieve the above objectives, the present invention also provides a storage medium storing a data processing program, which, when executed by a processor, implements the steps of the data processing method described above.

[0032] This invention proposes a data processing method, apparatus, and storage medium applied to a client. It determines a first modulus result by acquiring the curl of first raw data from other clients and determines a second modulus result based on the curl of its own second raw data. Based on the first and second modulus results, it determines a first target curl corresponding to the first modulus result and a second target curl corresponding to the second modulus result. The first and second target curls are then used as inputs to a preset model for training. This invention effectively solves the problem of data leakage during training by converting raw data into curl for training, rather than training with raw data itself. It also addresses the issues of data loss and low training accuracy that often occur when desensitizing data in existing technologies. Attached Figure Description

[0033] Figure 1 This is a schematic diagram of the device structure of the hardware operating environment involved in the embodiments of the present invention;

[0034] Figure 2 This is a flowchart illustrating the first embodiment of the data processing of the present invention;

[0035] Figure 3 This is a detailed flowchart of step S20 in the first embodiment of the data processing method of the present invention;

[0036] Figure 4 This is a detailed flowchart of step S22 in the first embodiment of the data processing method of the present invention;

[0037] Figure 5 This is a detailed flowchart of step S30 in the first embodiment of the data processing method of the present invention;

[0038] Figure 6 This is a detailed flowchart of step S31 in the first embodiment of the data processing method of the present invention;

[0039] Figure 7 This is a detailed flowchart of step S32 in the first embodiment of the data processing method of the present invention;

[0040] Figure 8 This is a flowchart illustrating the data processing method of the present invention involving multiple clients in training.

[0041] The realization of the objective, functional features and advantages of the present invention will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation

[0042] It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.

[0043] The main solution of this invention is as follows: obtain a first modulus result determined based on the curl of the first original data corresponding to other clients; determine a second modulus result based on the curl of the second original data corresponding to itself; determine a first target curl corresponding to the first modulus result and a second target curl corresponding to the second modulus result based on the first modulus result and the second modulus result; input the first target curl and the second target curl as input data into a preset model to obtain the training result obtained by the preset model after training based on the input data.

[0044] like Figure 1 As shown, Figure 1 This is a schematic diagram of the device structure of the hardware operating environment involved in the embodiments of the present invention.

[0045] The device in this invention embodiment can be a PC, or a smartphone, tablet computer, e-book reader, MP3 (Moving Picture Experts Group Audio Layer III) player, MP4 (Moving Picture Experts Group Audio Layer IV) player, portable computer, or other terminal devices.

[0046] like Figure 1 As shown, the terminal may include: a processor 1001, such as a CPU; a network interface 1004; a user interface 1003; a memory 1005; and a communication bus 1002. The communication bus 1002 is used to enable communication between these components. The user interface 1003 may include a display screen and an input unit such as a keyboard. Optionally, the user interface 1003 may also include a standard wired interface or a wireless interface. The network interface 1004 may optionally include a standard wired interface or a wireless interface (such as a Wi-Fi interface). The memory 1005 may be high-speed RAM or non-volatile memory, such as a disk drive. Optionally, the memory 1005 may also be a storage device independent of the aforementioned processor 1001.

[0047] Optionally, the terminal may also include a camera, RF (Radio Frequency) circuitry, sensors, audio circuitry, a WiFi module, and so on. Sensors may include light sensors, motion sensors, and other sensors. Specifically, light sensors may include ambient light sensors and proximity sensors. The ambient light sensor can adjust the display brightness according to the ambient light level, while the proximity sensor can turn off the display and / or backlight when the mobile terminal is moved to the ear. As a type of motion sensor, a gravity accelerometer can detect the magnitude of acceleration in various directions (generally three axes). When stationary, it can detect the magnitude and direction of gravity, and can be used for applications that identify the mobile terminal's posture (such as landscape / portrait switching, related games, magnetometer posture calibration), vibration recognition functions (such as pedometers, taps), etc. Of course, the mobile terminal may also be equipped with other sensors such as gyroscopes, barometers, hygrometers, thermometers, and infrared sensors, which will not be elaborated here.

[0048] Those skilled in the art will understand that Figure 1 The terminal structure shown does not constitute a limitation on the terminal and may include more or fewer components than shown, or combine certain components, or have different component arrangements.

[0049] likeFigure 1 As shown, the memory 1005, which serves as a computer storage medium, may include an operating system, a network communication module, a user interface module, and a data processing program.

[0050] exist Figure 1 In the terminal shown, network interface 1004 is mainly used to connect to the backend server and communicate with it; user interface 1003 is mainly used to connect to the client (user terminal) and communicate with it; while processor 1001 can be used to call the data processing program stored in memory 1005 and perform the following operations:

[0051] Obtain the first modulus result determined based on the curl of the first raw data corresponding to other clients;

[0052] The second modulus result is determined based on the curl of the corresponding second original data.

[0053] Determine the first target curl corresponding to the first modulus result and the second target curl corresponding to the second modulus result based on the first modulus result and the second modulus result;

[0054] The first target curl and the second target curl are used as input data and input into a preset model to obtain the training result obtained by the preset model after training based on the input data.

[0055] Furthermore, the processor 1001 can call the data processing program stored in the memory 1005 and also perform the following operations:

[0056] Obtain your own corresponding second private key;

[0057] The curl corresponding to the second original data is determined based on the second private key;

[0058] The curl corresponding to the second original data is moduloed according to the preset public key to obtain the second modulo result corresponding to each curl.

[0059] Furthermore, the processor 1001 can call the data processing program stored in the memory 1005 and also perform the following operations:

[0060] Obtain the formula for calculating curl;

[0061] Input the second private key and the second original data into the curl calculation formula to obtain the calculation results corresponding to each of the second original data.

[0062] The calculation results are used as the curl corresponding to each of the second original data.

[0063] Furthermore, the processor 1001 can call the data processing program stored in the memory 1005 and also perform the following operations:

[0064] Based on the first modulus result and the second modulus result, the intersection data between the second original data and the first original data is determined, wherein the intersection data are data with the same number;

[0065] The first target curl and the second target curl are determined based on the intersection data.

[0066] Furthermore, the processor 1001 can call the data processing program stored in the memory 1005 and also perform the following operations:

[0067] Based on the first modulus result, determine the first number corresponding to the curl of the first original data;

[0068] The first number is compared with the second number corresponding to the curl of each of the second original data to obtain the same number in the first number and the second number;

[0069] The first modulo result corresponding to the same number and the second modulo result corresponding to the same number are merged to obtain the intersection data.

[0070] Furthermore, the processor 1001 can call the data processing program stored in the memory 1005 and also perform the following operations:

[0071] The first modulo result corresponding to the same number is parsed according to the preset public key to obtain the first target curl;

[0072] The second modulo result corresponding to the same number is parsed according to the preset public key to obtain the second target curl.

[0073] Furthermore, the processor 1001 can call the data processing program stored in the memory 1005 and also perform the following operations:

[0074] The training results are sent to the other clients so that the other clients can continue training based on the training results and the curl of the first original data.

[0075] Reference Figure 2 The first embodiment of the data processing method of the present invention provides a data processing method, the data processing method comprising:

[0076] Step S10: Obtain the first modulus result determined based on the curl of the first original data corresponding to other clients;

[0077] Step S20: Determine the second modulus result based on the curl of the corresponding second original data;

[0078] Step S30: Determine the first target curl corresponding to the first mold taking result and the second target curl corresponding to the second mold taking result based on the first mold taking result and the second mold taking result;

[0079] Step S40: Input the first target curl and the second target curl as input data into a preset model to obtain the training result obtained by the preset model after training based on the input data.

[0080] In this embodiment, the application is applied to a client, which communicates with other clients to receive a first modulo result sent by other clients and sends its own corresponding second modulo result to other clients. Optionally, in this embodiment, the other clients may include multiple clients, and the multiple other clients communicate with each other to exchange their respective modulo results.

[0081] Optionally, the second modulus result is determined by the client based on the curl of its corresponding second original data. The corresponding second original data includes client-private samples and second shared samples between the client and other clients. The first original data includes private samples from other clients and first shared samples between other clients and the client. The second shared samples and the first shared samples are samples containing the same feature terms. The first shared samples and the second shared samples include at least one of the same feature terms, but the data corresponding to that feature term is different. For example, currently, it is necessary to jointly establish a correlation model between behavior and psychological state using the client and other clients. The client is used for the psychological state labels required by the model, i.e., it has the first shared sample: psychological state labels, while other clients possess user data, i.e., the second shared sample: user data. In other words, the client possesses some data that other clients do not have, and vice versa.

[0082] Understandably, to ensure the accuracy of the trained model, a rich source of data is required. Therefore, multiple clients need to combine their respective data to obtain accurate training results. However, sending one's own data to other clients without any modification can easily lead to data leakage. Based on this, this application embodiment converts the second raw data into a corresponding curl, which is then forwarded to other clients, or the curl of the first raw data from other clients is received, and training is performed based on the curl.

[0083] Optionally, the original data of the client and other clients are not completely overlapping. In order to find the intersection data, this application embodiment converts the curl into the corresponding modulus result, and aligns the data according to the modulus result to obtain the intersection data.

[0084] Optionally, the method of converting curl into the corresponding modulo result includes obtaining a preset public key and its corresponding second private key, converting the second original data into the corresponding curl according to the second private key, and then performing a modulo operation on the curl according to the preset public key to obtain the modulo result corresponding to each curl.

[0085] Optionally, the preset public key is assigned by the central server to the client, and the preset public key is the same for each client. The second private key is assigned by the central server to the client, and the private key is different for each client. It can be understood that before the client communicates with other clients, the central server assigns a corresponding private key and a preset public key to each client.

[0086] Optionally, the preset public key is a prime number that satisfies preset conditions, including:

[0087] (1) N is a prime number.

[0088] (2) (N-1) / 2 are prime numbers.

[0089] (3) ((N-1) / 2)-1) / 2 are prime numbers.

[0090] (4) ((((N-1) / 2)-1) / 2))-1 / 2 are prime numbers.

[0091] Where N is the preset public key.

[0092] Optionally, the preset public key must meet all of the above conditions before it can be distributed to each client as the preset public key.

[0093] Optionally, the second private key can be a matrix, based on which, refer to Figure 3 Step 20 includes:

[0094] Step S21: Obtain your own corresponding second private key;

[0095] Step S22: Determine the curl corresponding to the second original data based on the second private key;

[0096] Step S23: Perform a modulo operation on the curl corresponding to the second original data according to the preset public key to obtain the second modulo result corresponding to each curl.

[0097] Optionally, the client receives a second private key and a preset public key sent by the central server, determines the curl corresponding to each of the second original data according to the second private key, and then performs a modulo operation on the curl corresponding to the second original data according to the preset public key to obtain the curl corresponding to each of the second original data and obtain the second modulo result corresponding to each of the curls. It can be understood that the second modulo result corresponds to each of the second original data.

[0098] It is understood that the other clients determine the first modulo result in a similar manner to the clients determine the second modulo result, including: the other clients receive a first private key and a preset public key sent by the central server, determine the curl corresponding to each of the first original data according to the first private key, and then perform a modulo operation on the curl corresponding to the first original data according to the preset public key to obtain the curl corresponding to each of the first original data and obtain the first modulo result corresponding to each of the curls. It is understood that the first modulo result corresponds to each of the first original data.

[0099] Optionally, refer to Figure 4 This application also proposes a method for calculating curl, wherein step S221 includes:

[0100] Step S221: Obtain the curl calculation formula;

[0101] Step S222: Input the second private key and the second original data into the curl calculation formula to obtain the calculation results corresponding to each of the second original data.

[0102] Step S223: The calculation result is used as the curl corresponding to each of the second original data.

[0103] Optionally, the curl calculation formula is:

[0104]

[0105] Where a is the second private key, and x1, ..., xn are each of the second original data.

[0106] Optionally, after calling the curl calculation formula, the second private key and the second original data are input into the curl calculation formula to calculate the calculation result corresponding to each of the second original data, and the calculation result is used as the curl corresponding to each of the second original data respectively.

[0107] It is understood that the other clients also refer to the above formula when calculating the curl corresponding to the first original data. Specifically, they input their own first private key and the first original data into the curl calculation formula to calculate the calculation result corresponding to each of the first original data, and use the calculation result corresponding to each of the first original data as the curl corresponding to each of the first original data respectively.

[0108] Optionally, after obtaining the first modulus result sent by the other clients and the corresponding second modulus result, a first target curl corresponding to the first modulus result and a second target curl corresponding to the second modulus result are determined based on the first modulus result and the second modulus result. The first target curl is the curl corresponding to the intersection data of the second original data and the first original data, and the second target curl is the curl corresponding to the intersection data of the second original data and the first original data. The intersection data of the second original data and the first original data are data with the same feature items. For example, the first original data includes: {the first original data of employee A, the first original data of employee B, the first original data of employee C, the first original data of employee D ... D, the first original data of employee D, the first original data of employee B, the first original data of employee D, the first original data of employee D, the first original data of employee B, the first original data of employee D, the first original data of employee D, the first original data of employee B, the first original data of employee D, the first original data of employee D, the first original data of employee B, the first original data of employee D, the first original data of employee D, the first original data of The first original data}, the second original data includes {the second original data of employee A, the second original data of employee B, the second original data of employee C, the second original data of employee E, and the second original data of employee F}, the intersection data includes {the first original data and the second original data of employee A, the first original data and the second original data of employee B, and the first original data and the second original data of employee C}, the first target curl includes {the curl corresponding to the first original data of employee A, the curl corresponding to the first original data of employee B, and the curl corresponding to the first original data of employee C}, and the second target curl includes {the curl corresponding to the second original data of employee A, the curl corresponding to the second original data of employee B, and the curl corresponding to the second original data of employee C}.

[0109] Optionally, each data point has a different number. To find the first target curl corresponding to the first modulus result and the second target curl corresponding to the second modulus result based on the first modulus result and the second modulus result, refer to... Figure 5 Step S30 includes:

[0110] Step S31: Determine the intersection data between the second original data and the first original data based on the first modulus result and the second modulus result, wherein the intersection data are data with the same number;

[0111] Step S32: Determine the first target curl and the second target curl based on the intersection data.

[0112] Optionally, refer toFigure 6 Step S31 includes:

[0113] Step S311: Determine the first number corresponding to the curl of the first original data based on the first modulus result;

[0114] Step S312: Compare the first number with the second number corresponding to the curl of each of the second original data to obtain the same number in the first number and the second number.

[0115] Step S313: Merge the first modulo result corresponding to the same number and the second modulo result corresponding to the same number to obtain the intersection data.

[0116] Optionally, the intersection data are data with the same number. For example, the first original data includes: the first original data with number 01 and the first original data with number 02. The second original data includes the second original data with number 01 and the second original data with number 03. The intersection data includes: the first original data with number 01 and the second original data with number 01.

[0117] Optionally, in order to ensure the encryption of data transmission, the original data is converted into the corresponding curl in advance, and then converted into the corresponding modulo result according to the preset public key. Based on this, the intersection data includes modulo results with the same number. For example: the first original data includes {the first modulo result corresponding to the curl of the first original data with number 01, and the first modulo result of the curl of the first original data with number 02}, the second original data includes {the second modulo result of the curl of the second original data with number 01, and the first modulo result of the curl of the second original data with number 03}, and the intersection data includes {the first modulo result of the curl of the first original data with number 01, and the second modulo result of the curl of the second original data with number 01}.

[0118] Optionally, the method for determining the first target curl and the second target curl based on the first modulus result and the second modulus result includes determining a first number corresponding to the curl of each of the first original data and a second number corresponding to the curl of each of the second original data based on the first modulus result; comparing the first number and the second number to obtain the first number and the number with the same number; merging the first modulus result corresponding to the same number and the second modulus result corresponding to the same number to obtain the intersection data; after obtaining the intersection data, parsing the first modulus result corresponding to the same number based on a preset public key, i.e., performing inverse modulus operation, to obtain the curl corresponding to the first modulus result corresponding to the same number; and determining the curl corresponding to the first modulus result corresponding to the same number as the first target curl; simultaneously, parsing the second modulus result corresponding to the same number based on a preset public key, i.e., performing inverse modulus operation, to obtain the curl corresponding to the second modulus result corresponding to the same number; and determining the curl corresponding to the second modulus result corresponding to the same number as the second target curl.

[0119] Optionally, after obtaining the first target curl and the second target curl, the first target curl and the second target curl are used as input data and input into a preset model so that the preset model can be trained based on the data. It is understood that the preset model can be any kind of machine learning model, including but not limited to logistic regression model, decision tree model, random forest model, convolutional neural network model and other machine learning models.

[0120] It is understood that the training of the preset model on the first and second target curls of the input is the same as the training of the preset model on the original input data. That is, the data after curl conversion can also be calculated, such as by addition. The corresponding training result is still the curl after addition. For example, if the first original data includes data A and the second original data includes data B, the result obtained after parsing the curl after addition is the same as the result obtained after adding the original data. In this embodiment of the application, by converting the data into the corresponding curl, the original data and private keys of each client are not transmitted, thus ensuring the security of the original data of each client.

[0121] Optionally, after the preset model is trained based on the input data, the training result is sent to the other clients so that the other clients can continue training based on the training result and the curl of the first original data.

[0122] Optionally, the client can also receive training results sent by other clients and perform training based on the curl corresponding to the training results and the second original data.

[0123] Alternatively, in yet another embodiment, reference is made to Figure 8 The embodiments of this application also illustrate the training process between two clients.

[0124] Optionally, participants X and Y represent different clients, X1, ..., Xn are the original data of participant X, Y1, ..., Yn are the original data of participant Y, private key a and private key b are determined as the private keys corresponding to each client, and moudu is the corresponding preset public key. Participant X performs curl transformation on {X1, ..., Xn} according to its own private key and curl calculation formula to convert it into the corresponding {H(x1)a, ..., H(xn)a}. Participant Y performs curl transformation on {Y1, ..., Yn} according to its own private key and curl calculation formula to convert it into the corresponding {(H(y1)b, ..., H(yn)b}. Participant X performs modulo operation on {H(x1)a, ..., H(xn)a} and sends the modulo operation result to participant Y. Participant Y performs modulo operation on {(H(y1)b, ..., H(yn)b} and sends the modulo operation result to participant Y. The data is sent to participant X. After receiving {(H(y1)b,....,H(yn)b}, participant X performs training on its own corresponding {H(x1)a,....,H(xn)a} and the received {(H(y1)b,....,H(yn)b} to obtain training results (H((x1)a)b,....,H((xn)a)b) and (H((y1)b)a,....,H((yn)b)a), and then... The training results are sent to participant Y. At the same time, after receiving {H(x1)a,....,H(xn)a}, parameter Y trains its own {(H(y1)b,....,H(yn)b} and the received {H(x1)a,....,H(xn)a} to obtain the training results (H((x1)a)b,....,H((xn)a)b),(H((y1)b)a,....,H((yn)b)a).

[0125] Optionally, in another embodiment, when multiple participants are currently participating in the training, a master participant can be selected from among the participants. After obtaining the training results by training based on the curl sent by the other participants, the master participant sends the training results to the other participants.

[0126] In this embodiment, a central server assigns corresponding private keys and preset public keys to each client participating in training. It receives first modulo results from other clients after curl transformation based on first original data, a first private key, and the preset public key. Each client then performs curl transformation on its own second original data using its second private key to obtain the curl corresponding to each second original data point. A modulo operation is then performed on the curl of each second original data point and the preset public key to obtain a second modulo result corresponding to the curl of each second original data point. Furthermore, the intersection data corresponding to the first and second original data points is obtained based on the first and second modulo results. The first target curl corresponding to the first modulo result and the second target curl corresponding to the second modulo result are determined based on the intersection data. Finally, the first target curl and the second target curl are input into a preset model. To provide a preset model for training based on the first target curl and the second target curl to obtain training results, this embodiment of the application performs curl transformation on the original data to replace the original data for exchange, thereby preventing data leakage from directly exchanging the original data. Furthermore, this embodiment of the application aligns the first and second original data according to the modulus result after receiving the curl, thereby obtaining the intersection data between the client and other clients. Training is then performed based on the curl corresponding to the intersection data, which improves the richness of the data and the accuracy of the training. In addition, this embodiment of the application only needs to exchange the modulus result corresponding to the curl after the data undergoes curl transformation. Each client can simultaneously train based on the received modulus result and the modulus result corresponding to its own original data, as well as the curl corresponding to the received modulus result and the curl corresponding to the modulus result corresponding to its own original data, thus improving the efficiency of model training.

[0127] Furthermore, embodiments of the present invention also propose a storage medium storing a data processing program, which, when executed by a processor, implements the steps of the embodiments described above.

[0128] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or system that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or system. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or system that includes that element.

[0129] The sequence numbers of the above embodiments of the present invention are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.

[0130] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) as described above, and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of the present invention.

[0131] The above are merely preferred embodiments of the present invention and do not limit the patent scope of the present invention. Any equivalent structural or procedural transformations made based on the content of the present invention's specification and drawings, or direct or indirect applications in other related technical fields, are similarly included within the patent protection scope of the present invention.

Claims

1. A data processing method, characterized in that, When applied to a client, the data processing method includes the following steps: Obtain the first modulus result determined based on the curl of the first raw data corresponding to other clients; The second modulus result is determined based on the curl of the corresponding second original data. Determine the first target curl corresponding to the first modulus result and the second target curl corresponding to the second modulus result based on the first modulus result and the second modulus result; The first target curl and the second target curl are used as input data and input into a preset model to obtain the training result obtained by the preset model after training based on the input data; The step of determining the first target curl corresponding to the first modulus result and the second target curl corresponding to the second modulus result based on the first modulus result and the second modulus result includes: Based on the first modulus result and the second modulus result, the intersection data between the second original data and the first original data is determined, wherein the intersection data are data with the same number; The first target curl and the second target curl are determined based on the intersection data; The step of determining the intersection data between the second original data and the first original data based on the first modulus result and the second modulus result includes: Based on the first modulus result, determine the first number corresponding to the curl of the first original data; The first number is compared with the second number corresponding to the curl of each of the second original data to obtain the same number in the first number and the second number; The first modulo result corresponding to the same number and the second modulo result corresponding to the same number are merged to obtain the intersection data; The step of determining the first target curl and the second target curl based on the intersection data includes: The first modulo result corresponding to the same number is parsed according to the preset public key to obtain the first target curl, wherein the first target curl is the curl corresponding to the first modulo result corresponding to the same number. The second modulo result corresponding to the same number is parsed according to the preset public key to obtain the second target curl, which is the curl corresponding to the second modulo result corresponding to the same number.

2. The data processing method as described in claim 1, characterized in that, The step of determining the second modulus result based on the curl of its corresponding second original data includes: Obtain your own corresponding second private key; The curl corresponding to the second original data is determined based on the second private key; The curl corresponding to the second original data is moduloed according to the preset public key to obtain the second modulo result corresponding to each curl.

3. The data processing method as described in claim 2, characterized in that, The step of determining the curl corresponding to the second original data based on the second private key includes: Obtain the formula for calculating curl; Input the second private key and the second original data into the curl calculation formula to obtain the calculation results corresponding to each of the second original data. The calculation results are used as the curl corresponding to each of the second original data.

4. The data processing method as described in claim 1, characterized in that, After the step of inputting the first target curl and the second target curl as input data into a preset model to obtain the training result obtained by training the preset model based on the input data, the method further includes: The training results are sent to the other clients so that the other clients can continue training based on the training results and the curl of the first original data.

5. A data processing apparatus, characterized in that, The data processing apparatus includes: a memory, a processor, and a data processing program stored in the memory and executable on the processor, wherein when the data processing program is executed by the processor, it implements the steps of the data processing method as described in any one of claims 1 to 4.

6. A storage medium, characterized in that, The storage medium stores a data processing program, which, when executed by a processor, implements the steps of the data processing method as described in any one of claims 1 to 4.

Citation Information

Patent Citations

  • Real-time rider detection using synthetic training data

    CN103886279A

  • Vehicle re-identification method and system

    CN112541460A