A privacy computing method, device and electronic device
By analyzing the request of privacy computing to determine the target configuration file and target algorithm, the privacy computing algorithm in the existing technologies has the problem of complex configuration and high maintenance costs, and achieves higher flexibility and adaptability.
Patent Information
- Application Number
- CN202110680883.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-06-18
- Publication Date
- 2025-01-28
- Estimated Expiration
- 2041-06-18
AI Technical Summary
In the prior art, the configuration complexity and maintenance cost of privacy computing algorithms are high, and the configuration is one-time, so cross-algorithm migration applications cannot be achieved, and the flexibility is insufficient.
By analyzing the request of privacy computing, determine the target configuration file and target algorithm, reduce the configuration complexity and maintenance costs, and modify the differentiated configuration of the algorithm by modifying the privacy computing request to improve flexibility.
The development and maintenance costs of target configuration files and target algorithms have been reduced, the flexibility and adaptability of configuration can be improved, and cross -algorithm migration applications can be easily achieved.
Smart Images

Figure CN113326523B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to information technology of financial technology (Fintech), and is related to but not limited to a privacy computing method, device and electronic device. Background Art
[0002] With the development of computer technology, more and more technologies are applied in the financial field, and the traditional financial industry is gradually transforming into science and technology finance. In the field of science and technology finance, the amount of financial data is increasing, and the types of financial data are also becoming more and more diverse.
[0003] In the field of science and technology finance, the privacy and security of financial data face greater challenges than ever before. Therefore, in the process of processing financial data, the security and privacy of financial data are particularly important.
[0004] In practical applications, financial data is usually processed by privacy computing algorithms. However, before using the privacy computing algorithm to perform privacy computing, the privacy computing algorithm needs to be configured. In practical applications, for each privacy computing algorithm, professional technicians are required to perform hundreds of lines of targeted configuration parameter settings. Such a configuration method is very complex and has high maintenance costs. In addition, the one-time configuration of professional technicians can only be applied to the current privacy computing algorithm. If the privacy computing algorithm changes, the parameter settings of the privacy computing will no longer apply. Therefore, the above-mentioned privacy computing algorithms in the related art are not flexible enough. Summary of the invention
[0005] Embodiments of the present application provide a privacy computing method, device, and electronic device.
[0006] The privacy computing method provided in this application can determine the target configuration file used to configure the privacy computing algorithm by parsing the privacy computing request, and then determine the target algorithm used to execute the privacy computing algorithm based on the target configuration file, thereby reducing the complexity of determining the target configuration file and the maintenance cost of the target algorithm. In addition, differentiated configuration of the privacy computing algorithm can be achieved by modifying the privacy computing request, thereby improving the flexibility of the target algorithm configuration.
[0007] The technical solution provided by the embodiment of the present application is as follows:
[0008] The present application provides a privacy-preserving computing method, the method comprising:
[0009] Detect privacy-preserving computation requests;
[0010] When the privacy-preserving computing request is detected, the privacy-preserving computing request is parsed to determine algorithm configuration information; wherein the algorithm configuration information at least includes logic information of a privacy-preserving computing algorithm capable of responding to the privacy-preserving computing request;
[0011] Get the algorithm configuration template;
[0012] Processing the algorithm configuration template based on the algorithm configuration information to determine a target configuration file;
[0013] Parsing the target configuration file to determine the target algorithm;
[0014] Based on the target algorithm, privacy calculation is performed on the data to be processed to obtain a privacy calculation result.
[0015] In some implementations, the algorithm configuration information further includes requirement configuration information for performing the privacy computing on the data to be processed; and processing the algorithm configuration template based on the algorithm configuration information to determine the target configuration file includes:
[0016] Based on the logic information and the required configuration information, the algorithm configuration template is processed to determine the target configuration file.
[0017] In some implementations, when the data to be processed includes at least two data sources, the demand configuration information includes association relationship information between the at least two data sources in the data to be processed.
[0018] In some embodiments, the method further comprises:
[0019] When the data to be processed includes at least two data sources, the privacy computing request is parsed to determine the association relationship information.
[0020] In some implementations, the processing the algorithm configuration template based on the logic information and the required configuration information to determine the target configuration file includes:
[0021] Based on the logic information, the data to be processed and the required configuration information, the algorithm configuration template is processed to determine the target configuration file.
[0022] In some implementations, the processing of the algorithm configuration template based on the logic information, the data to be processed, and the required configuration information to determine the target configuration file includes:
[0023] Analyze the algorithm configuration template to determine algorithm configuration structure information;
[0024] Based on the algorithm configuration structure information, the logic information, the data to be processed and the required configuration information are processed to determine the target configuration information;
[0025] Based on the target configuration information, the algorithm configuration template is updated to determine the target configuration file.
[0026] In some implementations, the algorithm configuration information also includes the data to be processed; and the method further includes:
[0027] The privacy computing request is parsed to obtain the data to be processed.
[0028] In some implementations, the privacy computing request includes Structured Query Language (SQL).
[0029] The embodiment of the present application further provides a privacy-preserving computing device, which includes a detection module, a parsing module, a determination module, and a processing module; wherein:
[0030] The detection module is used to detect privacy computing requests;
[0031] The parsing module is used to parse the privacy computing request and determine the algorithm configuration information when the privacy computing request is detected; wherein the algorithm configuration information at least includes the logic information of the privacy computing algorithm that can respond to the privacy computing request;
[0032] The determination module is used to obtain an algorithm configuration template; process the algorithm configuration template based on the algorithm configuration information to determine a target configuration file; and parse the target configuration file to determine a target algorithm;
[0033] The processing module is used to perform privacy calculation on the data to be processed based on the target algorithm to obtain a privacy calculation result.
[0034] The present application also provides an electronic device, the electronic device comprising:
[0035] A memory for storing executable instructions;
[0036] A processor is used to implement the privacy computing method as described in any of the preceding items when executing the executable instructions stored in the memory.
[0037] An embodiment of the present application also provides a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a processor, it can implement any of the privacy computing methods described above.
[0038] The privacy computing method provided in the embodiment of the present application, when any privacy computing request is detected, can determine the corresponding algorithm configuration information by parsing the privacy computing request, and then directly process the algorithm configuration template based on the algorithm configuration information. After determining the target configuration file, the target algorithm can be determined according to the parsing result of the target configuration file, and then privacy computing is performed on the processed data based on the target algorithm, thereby obtaining the privacy computing result. In this way, the privacy computing method provided in the embodiment of the present application can determine the target configuration file of the target algorithm used to perform privacy computing by parsing any privacy computing request, thereby reducing the development cost of the target configuration file and the maintenance cost of the target algorithm. At the same time, by modifying the algorithm configuration information in the privacy computing request, the differentiated configuration of the target algorithm can be achieved. Compared with the solution in the related art that professional technicians need to manually configure the privacy computing algorithm when any privacy computing request is executed, and one-time configuration cannot achieve cross-algorithm migration application, the configuration difficulty and maintenance cost of the target algorithm of the privacy computing method provided in the embodiment of the present application are reduced, and the flexibility of the target algorithm configuration is higher. BRIEF DESCRIPTION OF THE DRAWINGS
[0039] Figure 1 A flowchart of the first privacy computing method provided in the embodiment of the present application;
[0040] Figure 2 A flowchart of a second privacy computing method provided in an embodiment of the present application;
[0041] Figure 3 A flowchart of a third privacy computing method provided in an embodiment of the present application;
[0042] Figure 4 Schematic diagram of the structure determined by the target algorithm provided in the embodiment of the present application
[0043] Figure 5 A schematic diagram of a process for determining a target algorithm provided in an embodiment of the present application;
[0044] Figure 6 A schematic diagram of the structure of a privacy computing device provided in an embodiment of the present application;
[0045] Figure 7 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0046] The technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application.
[0047] 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.
[0048] In addition, the embodiments provided below are partial embodiments for implementing the present application, rather than providing all the embodiments for implementing the present application. In the absence of conflict, the technical solutions recorded in the embodiments of the present application may be implemented in any combination.
[0049] It should be noted that, in the embodiments of the present application, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a method or apparatus including a series of elements includes not only the elements explicitly recorded, but also includes other elements not explicitly listed, or also includes elements inherent to the implementation of the method or apparatus. In the absence of further restrictions, an element defined by the sentence "includes a ..." does not exclude the presence of other related elements (such as steps in a method or units in a device, for example, a unit may be a portion of a circuit, a portion of a processor, a portion of a program or software, etc.) in the method or apparatus including the element.
[0050] For example, the privacy computing method provided in the embodiment of the present application includes a series of steps, but the privacy computing method provided in the embodiment of the present application is not limited to the recorded steps. Similarly, the privacy computing device provided in the embodiment of the present application includes a series of modules, but the device provided in the embodiment of the present application is not limited to including the modules explicitly recorded, and may also include modules that need to be set up to obtain relevant information or perform processing based on information.
[0051] In the field of science and technology finance, the security and privacy of financial data are very important. In practical applications, in order to ensure the security and privacy of financial data during data processing, financial data is usually processed through privacy computing algorithms.
[0052] Before privacy computing, the privacy computing algorithm needs to be configured first. Only after the configuration of the privacy computing algorithm can various financial data, privacy computing purposes, etc. be combined into a complete privacy computing task, so that all parties involved in the privacy computing can safely perform privacy computing tasks on their respective financial data through the privacy computing algorithm.
[0053] In related technologies, the configuration of privacy computing algorithms is mainly implemented through configuration files or programming languages. Among them, the configuration file is used to describe the privacy computing algorithm. For example, for the Federated Artificial Intelligence Technology Enabler (FATE) algorithm, it is necessary to design two JavaScript Object Notation (JSON) configuration files, dsl and conf, to jointly describe a FATE algorithm; and the programming language method is to describe the privacy computing algorithm through programming languages. For example, MP-SPDZ uses a Python-like language to describe the secure multi-party computing (MPC) algorithm. After the configuration of the privacy computing algorithm is completed through the configuration file or programming language, all parties involved in the privacy computing will use the same configuration file and their respective data sources to complete joint modeling or joint prediction.
[0054] However, whether the privacy computing algorithm is configured through configuration files or programming languages, professional technicians are required to manually perform hundreds of lines of configuration parameter settings, and the configuration syntax of different configuration schemes is different; at the same time, the configuration performed by professional technicians can only be applied to this privacy computing process and can only be applied to a specific privacy computing algorithm or privacy computing framework. In the event of a slight change in the privacy computing conditions or a change in the privacy computing algorithm or privacy computing framework, developers need to re-perform manual parameter settings. Therefore, the configuration method of the privacy computing algorithm in the related technology is very complex and has high maintenance costs, and lacks flexibility.
[0055] Based on the above problems, an embodiment of the present application provides a privacy computing method, which can determine the target configuration file of the target algorithm used to perform privacy computing by parsing the privacy computing request, thereby reducing the configuration complexity and maintenance cost of the privacy computing algorithm. In addition, by modifying the algorithm configuration information in the privacy computing request, the target algorithm used to perform privacy computing can be differentiated, thereby improving the flexibility of privacy computing.
[0056] It should be noted that the privacy computing method provided in the embodiments of the present application can be applied to terminals and / or servers, where the terminal can be a thin client, a thick client, a handheld or laptop device, a microprocessor-based system, a programmable consumer electronic product, a networked personal computer, a small computer system, etc. The server can be a small computer system, a large computer system, and a distributed cloud computing technology environment including any of the above systems, etc.
[0057] Electronic devices such as servers may include program modules for executing computer instructions. Typically, program modules may include routines, programs, object programs, components, logic, data structures, etc., which perform specific tasks or implement specific abstract data types. Computer systems / servers may be implemented in a distributed cloud computing environment, where tasks are performed by remote processing devices linked through a communication network. In a distributed cloud computing environment, program modules may be located on local or remote computing system storage media including storage devices.
[0058] Exemplarily, the privacy computing method provided in the embodiment of the present application can be implemented by a processor of any of the above electronic devices, and the above processor can be at least one of an Application Specific Integrated Circuit (ASIC), a Digital Signal Processor (DSP), a Digital Signal Processing Device (DSPD), a Programmable Logic Device (PLD), a Field Programmable Gate Array (FPGA), a Central Processing Unit (CPU), a controller, a microcontroller, and a microprocessor. It can be understood that the electronic device that implements the above processor function can also be other, and the embodiment of the present application is not limited.
[0059] Figure 1 A flowchart of the first privacy computing method provided in the embodiment of the present application is shown as follows: Figure 1 As shown, the process may include steps 101 to 106:
[0060] Step 101: Detect privacy computing requests.
[0061] In one embodiment, a privacy computing request may be encapsulated according to the protocol constraints of a network communication protocol; exemplarily, the privacy computing request may include a request header and may also include at least one additional information; exemplarily, the at least one additional information may be related to the specific configuration of the privacy computing algorithm.
[0062] In one embodiment, a privacy computing request may come from a device other than the electronic device used to perform privacy computing, or from the electronic device used to perform privacy computing itself; illustratively, a privacy computing request may be triggered based on conditions, for example, a privacy computing request is triggered at a specified time point, or a privacy computing request is triggered when the state of the data involved in the privacy computing reaches a specified state.
[0063] In one implementation, a privacy computing request may be triggered by an upper-layer application in any electronic device. Exemplarily, there may be multiple privacy computing requests; Exemplarily, multiple privacy computing requests may come from multiple upper-layer applications or multiple electronic devices.
[0064] Step 102: When a privacy-preserving computing request is detected, the privacy-preserving computing request is parsed to determine algorithm configuration information.
[0065] Among them, the algorithm configuration information at least includes the logical information of the privacy computing algorithm that can respond to the privacy computing request.
[0066] In one embodiment, the algorithm configuration information can be determined by parsing the data at the specified field location of the privacy computing request; exemplarily, the specified field location can be pre-set, such as agreed upon in the network communication protocol; exemplarily, the specified field location can be fixed, or can be flexibly set according to the actual needs of privacy computing.
[0067] In one implementation, the length of the algorithm configuration information may be fixed or flexibly set according to the actual needs of privacy computing; illustratively, the type and quantity of information carried by the algorithm configuration information may be fixed or flexibly set according to the actual needs of privacy computing.
[0068] In one implementation, the logic information of the privacy computing algorithm may include the main computing logic information contained in the privacy computing algorithm, such as the algorithm execution order of the privacy computing algorithm, the algorithm loop structure, etc.
[0069] In one implementation, the logical information of the privacy computing algorithm may be determined by the initiator of the privacy computing request according to the needs of privacy computing; illustratively, the initiator of the privacy computing request may select at least one logical information from a plurality of optional logical information options and set the logical information in the privacy computing request.
[0070] In one embodiment, the logical information of a privacy computing algorithm can be used to represent the type information of the privacy computing algorithm; exemplarily, the internal logical operation structures of different privacy computing algorithms can be different; exemplarily, the privacy computing algorithm can include an MPC algorithm, a FATE algorithm, a Trusted Execution Environment (TEE) algorithm, etc. The internal logical operation structures contained in the above-mentioned various algorithms can be different. Therefore, the type of the privacy computing algorithm can be represented by the logical information of the privacy computing algorithm.
[0071] Step 103: Obtain an algorithm configuration template.
[0072] In one embodiment, the algorithm configuration template may be a template for a configuration file for configuring a privacy computing algorithm. For example, the template may carry privacy computing parameters for standardized configuration of the privacy computing algorithm, while personalized and differentiated parameters in the privacy computing algorithm may not be set.
[0073] In one embodiment, the algorithm configuration template includes common and basic configuration parameters for implementing any type of privacy computing algorithm. These configuration parameters can be determined by analyzing the privacy computing configuration information of any type of privacy computing algorithm.
[0074] In one implementation, the algorithm configuration template may be embodied in the form of a Python file or a JSON file.
[0075] Step 104: Process the algorithm configuration template based on the algorithm configuration information to determine the target configuration file.
[0076] In one implementation, the target configuration file may represent a configuration file ultimately used to configure a privacy computing algorithm, in which a series of differentiated parameters required for privacy computing are set.
[0077] In one embodiment, the target configuration file may store several differentiated parameters of a specified type for configuring a privacy computing algorithm.
[0078] In one implementation, the target configuration file may be determined in the following manner:
[0079] The algorithm configuration template is analyzed to determine the parameter requirements for the differentiated configuration of the privacy computing algorithm in the algorithm configuration template. According to the parameter requirements, the algorithm configuration information is analyzed and processed to obtain a first result, and the first result is set in the algorithm configuration template to determine the target configuration file.
[0080] The algorithm configuration template is analyzed to determine the type of the specified parameters configured for the privacy computing algorithm in the algorithm configuration template and the combination requirements between the parameters. Then, according to the type of the specified parameters and the combination requirements between the parameters, the parameters carried by the algorithm configuration information are analyzed, screened and combined to obtain a second result, and the second result is set in the algorithm configuration template to determine the target configuration file. Exemplarily, in the above process, additional information other than logical information in the algorithm configuration information can also be parsed according to the algorithm configuration template, and the parsed result is set in the second result to determine the target configuration file.
[0081] In one implementation, the algorithm configuration template may be determined based on the logic information. Exemplarily, the logic information may be used to indicate the type of the privacy computing algorithm, and each algorithm configuration template may carry the type information of the privacy computing algorithm to which it corresponds, or each algorithm configuration template may be provided with attribute information characterizing the privacy computing algorithm to which it corresponds. Therefore, based on the matching relationship between the logic information and the above type information or attribute information, the algorithm configuration template matching the logic information may be determined from multiple algorithm configuration templates.
[0082] Step 105: parse the target configuration file to determine the target algorithm.
[0083] In one implementation, the target algorithm may be a privacy-preserving computing algorithm for responding to a privacy-preserving computing request.
[0084] In one implementation, the target algorithm may be determined by any of the following methods:
[0085] The target configuration file is parsed, and a privacy computing algorithm that matches the target configuration file is selected from the privacy computing algorithm set according to the parsing result, and the privacy computing algorithm is determined as the target algorithm.
[0086] Parse the target configuration file, obtain the logical information carried in the target configuration file, select a privacy computing algorithm that matches the logical information of the privacy computing algorithm from the privacy computing algorithm set, and configure the above privacy computing algorithm based on at least one additional information in the privacy computing request and the privacy computing configuration parameters set in the target configuration file, and determine the configured privacy computing algorithm as the target algorithm.
[0087] Parse the target configuration file, obtain the logical information carried in the target configuration file, select a privacy computing algorithm that matches the logical information of the privacy computing algorithm from the privacy computing algorithm set, and configure the privacy computing algorithm based on the operating status and / or configuration parameters of the electronic device and other configuration parameters in the target configuration file, and determine the configured privacy computing algorithm as the target algorithm.
[0088] The configuration parameters and configuration conditions in the target configuration file are parsed to obtain a third result, and then the privacy computing parameters of the privacy computing algorithm are adjusted according to the third result to determine the target algorithm.
[0089] Construct a parsing engine or an adaptation framework, parse the target configuration file through the parsing engine or the adaptation framework to obtain a fourth result, and configure the privacy computing algorithm according to the fourth result, thereby determining the target algorithm. The parsing engine or the adaptation framework may be a module for parsing privacy computing requests. Exemplarily, the parsing engine or the adaptation framework may also be used to process privacy computing requests and algorithm configuration information.
[0090] Step 106: Based on the target algorithm, perform privacy calculation on the data to be processed to obtain a privacy calculation result.
[0091] In one embodiment, the data to be processed may be stored in an electronic device used to perform privacy computing, or may be obtained by the electronic device performing privacy computing from other addresses; illustratively, the other addresses may be other electronic devices that have a network connection with the electronic device performing privacy computing, or may be the cloud that has a network connection with the electronic device performing privacy computing.
[0092] In one embodiment, the data to be processed may be obtained by an electronic device for performing privacy computing based on an address index of the data to be processed. Exemplarily, the data to be processed may be encrypted data rather than raw data that can be directly recognized by the electronic device.
[0093] In one implementation, the data to be processed may include at least two different types of data; illustratively, the data to be processed may include data from multiple data sources.
[0094] In one implementation, the privacy calculation results can be presented in an intuitive manner, such as a histogram, a probability statistics graph, etc.
[0095] From the above, it can be seen that the privacy computing method provided by the embodiment of the present application, when the electronic device detects any privacy computing request, can determine the corresponding algorithm configuration information by parsing the privacy computing request, and then directly configure the algorithm configuration template based on the algorithm configuration information to determine the target configuration file, and then determine the target algorithm based on the parsing result of the target configuration file, and perform privacy computing on the processed data based on the target algorithm, so as to obtain the privacy computing result. Therefore, compared with the solution in the related art that requires professional and technical personnel to manually configure the privacy computing algorithm when any privacy computing request is executed, in the privacy computing method provided by the embodiment of the present application, the complexity of the target configuration file and the target algorithm determination process is greatly reduced, and by modifying the algorithm configuration information in the privacy computing request, the differentiation of the target algorithm can be achieved, thereby also improving the flexibility of the target algorithm determination.
[0096] Moreover, in the privacy computing method provided in the embodiments of the present application, other electronic devices or applications that have privacy computing request requirements do not need to understand the specific configuration links of privacy computing, nor do they need to determine the specific execution process of privacy computing. They only need to send a privacy computing request to achieve the purpose of privacy computing, thereby achieving isolation between the initiator of the privacy computing request and the executor of the privacy computing, further improving the flexibility of the privacy computing method, and reducing the complexity of the configuration of the privacy computing method and the maintenance cost.
[0097] Based on the above embodiments, the present application embodiment provides a second privacy computing method: Figure 2 The following is a flow chart of the second privacy computing method provided in the embodiment of the present application. Figure 2 As shown, the method may include steps 201 to 206:
[0098] Step 201: Detect privacy computing request.
[0099] In an embodiment of the present application, the privacy computing request includes SQL.
[0100] In one implementation, the fields included in the SQL used to initiate a privacy computing request may be fixed or adjusted according to different privacy computing scenarios.
[0101] In one implementation, the SQL used to initiate a privacy-preserving computing request may be privacy-preserving computing-SQL (PPC-SQL).
[0102] In one implementation, the syntax structure of PPC-SQL may be the same as the SQL syntax structure of the database.
[0103] In one embodiment, the initiator of the privacy computing request can determine the information carried in the SQL based on at least one parameter such as the scenario of the privacy computing request, the goal of the privacy computing, the expected data format of the privacy computing result, the type of data to be processed, the amount of data to be processed, and the configuration parameters of the electronic device performing the privacy computing.
[0104] In one implementation, the key values corresponding to different fields of SQL may represent different information in the algorithm configuration information.
[0105] From the above, it can be seen that in the embodiment of the present application, the privacy computing request can be expressed in the form of SQL. Compared with the general data request in the communication network, the grammatical structure of SQL is simpler. Correspondingly, the time cost of SQL parsing in the process of determining the target algorithm is also lower. In addition, SQL can also realize remote data interaction. Therefore, the encapsulation method of the privacy computing request in the embodiment of the present application is more flexible.
[0106] Step 202: When a privacy-preserving computing request is detected, the privacy-preserving computing request is parsed to determine algorithm configuration information.
[0107] Among them, the algorithm configuration information at least includes the logical information of the privacy computing algorithm that can respond to the privacy computing request.
[0108] In an embodiment of the present application, the algorithm configuration information also includes requirement configuration information for performing privacy computing processing on the data to be processed.
[0109] In one implementation, the demand configuration information may include at least one of the time utilization of performing privacy computing on the processed data, the occupancy of software and hardware resources, etc.
[0110] In one implementation, the demand configuration information may include configuration information on how to perform privacy computing on the data to be processed, such as processing a number of specified data when the data to be processed includes a variety of different data.
[0111] In one implementation, the demand configuration information may be set in a specified field of the PPC-SQL.
[0112] Step 203: Obtain an algorithm configuration template.
[0113] In one implementation, the algorithm configuration template may be provided by building a parsing engine or an adaptation framework after the algorithm configuration information is determined.
[0114] Step 204: Based on the logic information and the required configuration information, the algorithm configuration template is processed to determine the target configuration file.
[0115] In one implementation, the target configuration file may be determined by any of the following methods:
[0116] Based on the required configuration information, at least one logical relationship in the logical information is combined to obtain a first combination result, and according to the first combination result, the corresponding parameter combination in the algorithm configuration template is processed to determine the target configuration file. Exemplarily, the corresponding parameter combination in the algorithm configuration template may be consistent with the first combination result, or may not be completely consistent with the first combination result; Exemplarily, when the corresponding parameter combination in the algorithm configuration template is not completely consistent with the first combination result, the logical information combination finally used to configure the algorithm configuration template may be determined according to the matching relationship between the corresponding parameter combination and the first combination result.
[0117] Based on the required configuration information, at least one logical relationship is selected from the logical information, and then the at least one logical relationship is processed to obtain a processing result, and then according to the processing result, the logical relationship requirements in the algorithm configuration template are updated to determine the target configuration file. Exemplarily, in the algorithm configuration template, at least one logical relationship combination may be pre-set, and the at least one logical relationship combination pre-set in the algorithm configuration template may be updated according to the processing result.
[0118] The algorithm configuration template is analyzed to determine the combination method of the logic information and the requirement configuration information, and then the logic information and the requirement configuration information in the algorithm configuration information are combined according to the combination method to obtain a second combination result, and then according to the second combination result, the above combination method in the algorithm configuration template is updated to determine the target configuration file.
[0119] In an embodiment of the present application, when the data to be processed includes at least two data sources, the demand configuration information includes association relationship information between the at least two data sources in the data to be processed.
[0120] In one embodiment, the data source may include data involved in privacy computing.
[0121] In one implementation, the at least two data sources included in the data to be processed may come from different privacy request calculation initiators or from the same privacy request calculation initiator, and these different data sources may have a certain correlation relationship.
[0122] In one implementation, the association relationship information between at least two data sources may be reflected through a single dimension. For example, the first data source represents the monthly account data of an individual customer; the second data source represents the monthly consumption data of the individual customer. Then, the first data source and the second data source may be associated with each other through the identifier of the individual customer. Exemplarily, the identifier of the individual customer may be the identification (ID) number of the individual customer.
[0123] In one implementation, the association relationship information between at least two data sources may be reflected in at least two dimensions. For example, if the third data source represents the revenue data of the enterprise customer and the fourth data source represents the credit data of the enterprise customer, then the third data source and the fourth data source may be associated through the corporate customer's legal person information, the corporate customer's revenue data status within a specified time range, and the like.
[0124] In one implementation, the association relationship information between at least two data sources may represent the privacy intersection relationship information between at least two data sources.
[0125] From the above, it can be seen that in the embodiment of the present application, the target algorithm needs to be determined based on the logical information of the privacy computing algorithm carried in the privacy computing request and the demand configuration information of the privacy computing. Therefore, the target algorithm determined by the above two factors can be more in line with the actual needs of the data to be processed, and by adjusting the demand configuration information, it is also possible to flexibly determine the target algorithm that meets different needs, thereby realizing a diversified and differentiated privacy computing processing process for the data to be processed.
[0126] In an embodiment of the present application, when the data to be processed includes at least two data sources, the privacy computing request is parsed to determine the association relationship information.
[0127] Accordingly, when the data to be processed includes only one data source, it is not necessary to determine the association relationship information.
[0128] In one implementation, the initiator of the privacy computing request can determine the composition of the data to be processed that needs to be processed for privacy computing, that is, the type and number of data sources included in the data to be processed, before sending the privacy computing request, and determine the association information based on this information, and then set the association information in the privacy computing request. In this way, the association information can be determined by parsing the privacy computing request.
[0129] From the above, it can be seen that in the embodiment of the present application, when the data to be processed includes at least two data sources, the privacy computing request can also carry the association relationship information between at least two data sources. In addition, since the target algorithm is determined by the target configuration file obtained based on the algorithm configuration information carried in the privacy computing request, that is to say, in the privacy computing method provided in the embodiment of the present application, by adjusting the logical information and association relationship information carried in the privacy computing request, it is possible to achieve differentiated and targeted adjustments to the target configuration file and the target algorithm, thereby further improving the flexibility of privacy computing.
[0130] In the embodiment of the present application, the algorithm configuration information also includes data to be processed. The privacy computing method provided in the embodiment of the present application may also include the following steps:
[0131] Parse the privacy computing request and obtain the data to be processed.
[0132] In one implementation, the privacy computing request may carry address information of the data to be processed. In practical applications, the amount of data to be processed that needs to perform privacy computing may be large. In this case, directly setting the data to be processed in the privacy computing request will cause the parsing of the privacy computing request to be too slow. Therefore, in an embodiment of the present application, the address or link of the data to be processed can be set in the privacy computing request. In this way, the address or link of the data to be processed can be obtained by parsing the privacy computing request, and the data to be processed can be obtained from the address or link.
[0133] In one implementation, the data to be processed may be set in a designated field of PPC-SQL.
[0134] From the above, it can be seen that in the embodiment of the present application, the privacy computing request can not only be provided with the logic information and the required configuration information of the privacy computing algorithm, but also carry the data to be processed, and the algorithm configuration information including the logic information, the required configuration information and the data to be processed of the privacy computing algorithm is used to determine the target configuration file for configuring the target algorithm. That is to say, in the embodiment of the present application, in a simple privacy computing request, various parameter information for determining the target configuration file, that is, determining the target algorithm, is carried. Therefore, the privacy computing method provided in the embodiment of the present application can obtain various parameters for determining the target algorithm through a privacy computing request, thereby greatly improving the flexibility of determining the target algorithm, reducing the professional requirements for professional and technical personnel, and reducing the difficulty of developing and configuring algorithm configuration files in related technologies.
[0135] In the embodiment of the present application, the syntax format of PPC-SQL can be as follows:
[0136] select[privacy computing logic]from[participant data source]where[matching relationship of data sets]. Among them, select, from, where are fixed keywords in PPC-SQL. Select is used to select the privacy computing logic. Exemplarily, the privacy computing logic can be the logic information of the privacy computing algorithm in the aforementioned embodiment; from represents the source of the data to be processed, and the participant data source represents at least one data source contained in the data to be processed; where represents the association relationship information between each data in the data to be processed, and the matching relationship of the data set can be the association relationship information between at least two data sources in the aforementioned embodiment.
[0137] In the embodiment of the present application, the format of the data source in PPC-SQL can be as follows:
[0138] id, field1, field2, ...,
[0139] id_v1,x1,y1,…
[0140] id_v2,x2,y2,…
[0141] Among them, id is the primary key of the data source, which is used for privacy intersection, id_v1 and id_v2 are the key values corresponding to id; field1 and field2 represent business fields, x1 and x2 are the key values of field1; y1 and y2 are the key values of field2. By setting the above key values, PPC-SQL can specify specific fields in the data source to participate in privacy calculation.
[0142] In one implementation, when the data to be processed includes N data sources, source1, source2, ..., sourceN may be used to represent data source 1, data source 2 to data source N, respectively, where N is an integer greater than 2.
[0143] In one embodiment, the logic information of the privacy computing algorithm represented by the privacy computing logic may include any one of the MPC algorithm, the Federated Learning (FL) algorithm, and the TEE algorithm.
[0144] Exemplarily, if the privacy computing logic represents an MPC algorithm, the addition (+), subtraction (-), multiplication (*), division ( / ) and relational comparison (>, <, ==) operators can be used to describe specific operations; sourceN.fieldM can also be used to represent the data to be processed for privacy computing, which represents the Mth field of the Nth data source; M is an integer greater than or equal to 0. Exemplarily, source1.field1+source2.field1+source3.field1 can be used to represent the algorithm for securely adding the first field of the first data source, the first field of the second data source, and the first field of the third data source.
[0145] For example, if the privacy computing logic represents the FL algorithm, the typical FL algorithm name can be used as the key value of the select field. The algorithm names that can be set are as follows: etero_linear_regression: represents longitudinal linear regression; hetero_logistic_regression: represents longitudinal logistic regression; herero_secureboost: represents longitudinal secure decision tree; homo_linear_regression: represents horizontal linear regression; homo_logistic_regression: represents horizontal logistic regression; homo_secureboost: represents horizontal secure decision tree.
[0146] In one embodiment, the matching relationship of the data set, that is, the association relationship information between at least two data sources in the aforementioned embodiment, can be determined by the matching requirements between the various data sources. Exemplarily, the matching relationship of the above data set can be that if the matching requirements are met, privacy calculation is performed, and if the matching requirements are not met, privacy calculation is not performed. Exemplarily, source1.id=source2.id=source3.id can be used to represent the privacy intersection relationship of the three data sources, that is, the data with the same id in the three data sources will be calculated using the privacy calculation algorithm.
[0147] For example, taking the example of initiating a privacy computing request through PPC-SQL to realize a secure comparison between two data sources in the data to be processed, the construction process of PPC-SQL is as follows:
[0148] First, the data sources of two participants are selected. For example, the two data sources in the data to be processed can be represented as source1 and source2.
[0149] Secondly, determine the data set matching relationship. Exemplarily, the data set matching relationship can be expressed as: source1.field1>source2.field1, that is, whether the first field value of data source 1 is greater than the first field value of data source 2.
[0150] Then, the matching relationship of the data sets, that is, the logical information, is represented. For example, the logical information can be represented as source1.id=source2.id.
[0151] The final privacy computing request in PPC-SQL form can be expressed as follows:
[0152] select source1.field1>source2.field1 from source1, source2 where source1.id=source2.id; that is, in the data record row with the same id of data source 1 and data source 2, whether the first field of data source 1 is greater than the first field of data source 2.
[0153] From the above, it can be seen that in the privacy computing algorithm provided in the embodiment of the present application, the PPC-SQL syntax representing the privacy computing request is simple, and the configuration of the privacy computing request is flexible. In the process of configuring the privacy computing request, professional technicians are not required to have a comprehensive and in-depth understanding of the configuration process of the privacy computing algorithm. Therefore, the privacy computing algorithm provided in the embodiment of the present application can flexibly determine the target algorithm by configuring a privacy computing request, which greatly improves the efficiency of determining the target algorithm, further improves the flexibility of privacy computing, and reduces the complexity of privacy computing and the workload of maintenance.
[0154] In the embodiment of the present application, the algorithm configuration template is processed based on the logic information and the required configuration information to determine the target configuration file, which can be achieved in the following ways:
[0155] Based on the logical information, the data to be processed and the required configuration information, the algorithm configuration template is processed to determine the target configuration file.
[0156] In one implementation, the target configuration file may be determined in the following manner:
[0157] The logical information, data to be processed, and required configuration information are analyzed to determine the algorithm processing data for executing privacy computing, and the algorithm configuration template is processed according to the above algorithm processing data to determine the target configuration file.
[0158] The logic information, the data to be processed and the required configuration information are combined to obtain a third combination result, and according to the third combination result, the parameters in the algorithm configuration template corresponding to the above logic information, the data to be processed and the required configuration information are updated to determine the target configuration file.
[0159] In the embodiment of the present application, based on the logic information, the data to be processed and the required configuration information, the algorithm configuration template is processed to determine the target configuration file, which can be achieved through steps A1 to A3:
[0160] Step A1: Analyze the algorithm configuration template to determine the algorithm configuration structure information.
[0161] In one implementation, the algorithm configuration structure information in different algorithm configuration templates may be different.
[0162] In one implementation, the algorithm configuration structure information may be set in the algorithm configuration template as additional information of the algorithm configuration template. Exemplarily, the algorithm configuration structure information may include at least one of the number of parameters required to configure the current algorithm configuration template, the type of each parameter, and the combination relationship between each parameter.
[0163] In one implementation, the algorithm configuration structure information may be obtained by analyzing the overall structure of the algorithm configuration template. For example, the key privacy computing parameters that need to be set in the algorithm configuration template may be reflected in the form of placeholders; for example, the triples that need to include privacy computing logic, i.e., logic information, data sources of participating parties, i.e., data to be processed, and matching relationships of data sets, i.e., association relationship information in at least two data sources, may be reflected in the algorithm configuration template in the form of the following placeholder triples: ($(a), $(b), $(c)); wherein $(a) represents the placeholder for privacy computing logic, i.e., logic information, $(b) may represent the placeholder for data to be processed, and $(c) may represent the placeholder for matching relationships of data sets, i.e., association relationship information in at least two data sources. In this way, the algorithm configuration template may be analyzed to obtain the combination form of the placeholder triples of the privacy computing triples, and the algorithm configuration structure information may be determined. For example, the specific information including privacy computing logic, i.e., logic information, data sources of participating parties, i.e., data to be processed, and matching relationships of data sets, i.e., association relationship information in at least two data sources, may be referred to as privacy computing triples corresponding to the placeholder triples.
[0164] In one implementation, the algorithm configuration structure information may also include the format and type of the key privacy computing parameters that need to be set. For example, the logic information may be of string type; the data source of the participant may be of integer type, etc.
[0165] Step A2: Based on the algorithm configuration structure information, the logic information, the data to be processed and the required configuration information are processed to determine the target configuration information.
[0166] In one implementation, the logic information, the data to be processed, and the required configuration information may be combined and processed based on the algorithm configuration structure information, and the result of the combined processing may be determined as the target configuration information.
[0167] In one implementation, the types of logic information, data to be processed, and required configuration information may be converted based on the algorithm configuration structure information, and the conversion results may be combined, and then the combined result may be determined as the target configuration information.
[0168] In one embodiment, the privacy computing logic, i.e., logical information, the data source of the participating parties, i.e., the data to be processed, and the matching relationship of the data sets, i.e., the association relationship information in at least two data sources, in the privacy computing triplet can be converted separately, and the conversion result can be determined as the target configuration information.
[0169] In one implementation, taking the example that the algorithm configuration information includes the data to be processed, the logic information, and the association relationship information, the conversion of the data to be processed in the process of determining the target configuration information can be achieved in the following manner:
[0170] Convert source{N} to source{N}=N, where N is the data source number.
[0171] When [Participant Data Source] is source1, source2, …, sourceN, the following conversion can be performed:
[0172] source1 = 1;
[0173] source2 = 2;
[0174] …
[0175] sourceN=N.
[0176] In the process of determining the target configuration information, the conversion of privacy computing logic, i.e. logical information, can be achieved in the following ways:
[0177] Convert expression(sourceM.fieldI, sourceN.fieldJ) to expression(sourceM_record[K][I], sourceN_record[K][J]), where expression is an expression that supports general addition, subtraction, multiplication, division, and comparison operations. M and N are data source numbers, I and J are data set field numbers, and K is the data set record number; I and J are both integers greater than or equal to 0.
[0178] When the [privacy computing logic], that is, the logical information, is source1.field1>source2.field1, it can be converted to source1_record[K][1]>source2_record[K][1]; if each data source has 5 records, K is equal to 0, 1, 2, 3, and 4 respectively.
[0179] In addition, in the FL algorithm, [Privacy Computing Logic], i.e., the logic information, is the specified name of the privacy computing algorithm. You can use [Privacy Computing Logic], i.e., the logic information, to directly replace the algorithm placeholder $(a) in the algorithm template file to complete the algorithm logic configuration.
[0180] In the process of determining the target configuration information, the conversion of the data set matching relationship, i.e., the associated information, can be achieved in the following ways:
[0181] The matching relationship of the data set is converted to the flag PSI_flag=True or PSI_flag=False of the privacy-preserving set intersection (PSI); when [the matching relationship of the data set], that is, the association relationship information is source1.id=source2.id, it is converted to PSI_flag=True; when [the matching relationship of the data set], that is, the association relationship information is empty, it is converted to PSI_flag=False; if PSI_flag=True, it means that the privacy computing algorithm needs to perform a privacy intersection operation, otherwise no privacy intersection calculation is performed.
[0182] In the above manner, the target configuration information can be determined by converting the data to be processed, the logical information and the association relationship information, and combining the results of the conversion.
[0183] Step A3: Based on the target configuration information, update the algorithm configuration template and determine the target configuration file.
[0184] In one implementation, the target configuration file may be determined by any of the following methods:
[0185] Based on the target configuration information, the algorithm logic structure of the algorithm configuration template is adjusted and updated, and the result of the adjustment and update is determined as the target configuration file.
[0186] Based on the target configuration information, the placeholders in the update algorithm configuration template are replaced, and the result of the replacement update is determined as the target configuration file.
[0187] Exemplarily, when the algorithm configuration template is a JSON file, the algorithm configuration template can be recorded as xxx_template.json, and then the placeholder triple in the template can be replaced with the target configuration information such as the privacy computing triple in the aforementioned embodiment, while other privacy computing parameters, formats, etc. can remain unchanged, thereby forming a target configuration file. Exemplarily, the target configuration file can be recorded as final_conf.json.
[0188] From the above, it can be seen that in the privacy computing method provided in the embodiment of the present application, the algorithm configuration structure information is determined by analyzing the algorithm configuration template, and then based on the algorithm configuration structure information, the logic information, the data to be processed and the required configuration information are processed to determine the target configuration information, and then the algorithm configuration template is updated according to the target configuration information, thereby determining the target configuration file. In this way, in the privacy computing method provided in the embodiment of the present application, the process of determining the target configuration file is carried out based on the structural characteristics of the algorithm configuration template itself and the algorithm configuration information carried in the privacy computing request. Therefore, the target configuration file determined by the above process can, on the one hand, fit the actual needs of the actual privacy computing request, thereby improving the pertinence of the target configuration file, and on the other hand, it can also reduce the probability of configuration errors in the algorithm configuration information, and can also improve the flexibility of the privacy computing algorithm.
[0189] Step 205: parse the target configuration file to determine the target algorithm.
[0190] In an embodiment of the present application, the process of parsing the privacy computing request to determine the algorithm configuration information, then processing the algorithm configuration template based on the logical information in the algorithm configuration information and the required configuration information to determine the target configuration file, and then determining the target algorithm based on the target configuration file can all be completed by the parsing engine or the adaptation framework. Therefore, through the parsing engine or the adaptation framework, the isolation between the initiator of the privacy computing request, such as the application, and the executor of the privacy computing request, that is, various types of privacy computing algorithms, is achieved. When the stability and robustness of the parsing engine or the adaptation framework are high, the privacy computing request is constructed based on the PPC-SQL syntax. With the help of a network connection, privacy computing can be performed on the processed data anytime and anywhere, thereby further expanding the application scope of privacy computing, that is, realizing the configuration and execution of privacy computing requests across devices, networks, and regions, and then realizing the smooth privacy computing process of writing PPC-SQL statements once and executing privacy computing everywhere, which can further save the development and maintenance costs of privacy computing algorithm configuration files.
[0191] Step 206: Based on the target algorithm, perform privacy calculation on the data to be processed to obtain a privacy calculation result.
[0192] From the above, it can be seen that the privacy computing method provided in the embodiment of the present application can determine the algorithm configuration information after parsing the privacy computing request, and then process the algorithm configuration template according to the logic information and the required configuration information in the algorithm configuration information to determine the target configuration file, and then determine the target algorithm according to the target configuration file, and finally realize the privacy computing of the processed data based on the target algorithm. In this way, the privacy computing method provided in the embodiment of the present application can conveniently, flexibly and efficiently realize the determination of the target algorithm through any privacy computing request. At the same time, by modifying the algorithm configuration information in the privacy computing request, the differentiated configuration of the target algorithm can be realized. Compared with the related technology that requires professional and technical personnel to perform a large number of configuration file development, the privacy computing method provided in the embodiment of the present application can greatly reduce the configuration cost of the privacy computing algorithm and improve the flexibility of the configuration of the privacy computing algorithm.
[0193] Figure 3 The flowchart of the third privacy computing method provided in the embodiment of the present application is as follows. Figure 3 As shown, the process may include steps 301 to 304:
[0194] Step 301: Detect privacy computing request.
[0195] Step 302: Determine algorithm configuration information.
[0196] Exemplarily, the algorithm configuration information may include logic information of the privacy computing algorithm, data to be processed, and association relationship information between at least two data sources in the data to be processed.
[0197] Exemplarily, the algorithm configuration information here can also be a privacy computing triplet obtained by combining the logic information of the privacy computing algorithm, the data to be processed, and the association relationship information between at least two data sources in the data to be processed.
[0198] Step 303: Obtain an algorithm configuration template.
[0199] Exemplarily, the algorithm configuration template may be obtained from a parsing engine or an adaptation framework. Exemplarily, the algorithm configuration template may be obtained from an algorithm configuration template set in a parsing engine or an adaptation framework according to logic information in the algorithm configuration information.
[0200] Step 304: Determine the target algorithm.
[0201] Exemplarily, the target algorithm here can be determined by configuring an algorithm configuration template based on the algorithm configuration information, determining a target configuration file, and then determining it according to the analysis result of the target configuration file.
[0202] From the above, it can be seen that the privacy computing method provided in the embodiment of the present application can determine the target algorithm for performing privacy computing only through a privacy computing request and an algorithm configuration template, thereby reducing the complexity and maintenance cost of implementing privacy computing, thereby improving the flexibility of privacy computing.
[0203] Figure 4 A schematic diagram of the structure determined by the privacy computing algorithm provided in an embodiment of the present application.
[0204] like Figure 4 As shown, the initiator of the privacy computing request may be an upper layer application 401, which sends the privacy computing request to the executor of the privacy computing request, i.e., the electronic device. After detecting the privacy computing request 402, the executor of the privacy computing request sends the privacy computing request to the parsing engine 403. Exemplarily, the upper layer application 401 and the executor of the privacy computing request may be located in different devices.
[0205] exist Figure 4In the figure, after the parsing engine 403 receives the privacy computing request, it can parse the privacy computing request. Taking the privacy computing request as MPC as an example, the MPC parsing engine 4031 parses the privacy computing request to obtain the algorithm configuration information, and then processes the algorithm configuration template according to the algorithm configuration information to determine the target configuration file of the MPC. Then, the MPC configuration 4032 configures the MPC algorithm based on the parsing result of the target configuration file to determine the target algorithm. The MPC framework 4033 performs privacy computing on the processed data based on the target algorithm.
[0206] exist Figure 4 In the figure, after the parsing engine 403 receives the privacy computing request, it can parse the privacy computing request. Taking the privacy computing request as FL as an example, the FL parsing engine 4034 parses the privacy computing request to obtain the algorithm configuration information, and then processes the algorithm configuration template according to the algorithm configuration information to determine the target configuration file of FL. Then, the FL configuration 4035 configures the FL algorithm based on the parsing result of the target configuration file to determine the target algorithm. The FL framework 4036 performs privacy computing on the processed data based on the target algorithm.
[0207] exist Figure 4 In the figure, after the parsing engine 403 receives the privacy computing request, it can parse the privacy computing request. Taking the privacy computing request as TEE as an example, the TEE parsing engine 4037 parses the privacy computing request to obtain the algorithm configuration information, and then processes the algorithm configuration template according to the algorithm configuration information to determine the target configuration file of TEE. Then, the TEE configuration 4038 configures the TEE algorithm based on the parsing result of the target configuration file to determine the target algorithm. The TEE framework 4039 performs privacy computing on the processed data based on the target algorithm.
[0208] In the embodiment of the present application, corresponding PPC-SQL can be designed for different privacy computing scenarios or requirements, and the PPC-SQL can be deeply parsed by the parsing engine 403 to obtain differentiated target configuration files, thereby determining differentiated target algorithms. In this way, in the privacy computing method provided in the embodiment of the present application, a variety of different differentiated target algorithms can be obtained by adjusting the PPC-SQL.
[0209] From the above, it can be seen that in the privacy computing method provided in the embodiment of the present application, the parsing engine 403 realizes the isolation between the upper-layer application 401 and various privacy computing algorithms, and the parsing engine 403 can accurately determine the target algorithm corresponding to the privacy computing request based only on the privacy computing request, which also greatly improves the flexibility of privacy computing and reduces the difficulty of configuring the privacy computing algorithm.
[0210] Figure 5 The following is a flow chart of the target algorithm determination process provided in the embodiment of the present application. Figure 5 As shown, the process may include steps 501 to 506:
[0211] Step 501: Obtain a privacy computing triplet.
[0212] Exemplarily, a privacy computing triplet may include data to be processed, logical information, and association relationship information; exemplary, the information contained in the privacy computing triplet may be determined after parsing the privacy computing request to determine the algorithm configuration information when a privacy computing request is detected, and then obtaining the data to be processed, logical information, and association relationship information from the algorithm configuration information.
[0213] Step 502: Convert the data source.
[0214] Exemplarily, the number of data sources may be at least one, and the conversion of the data source may be implemented by the method of converting the data to be processed in the aforementioned embodiment.
[0215] Exemplarily, after converting the data source, a data source conversion result may be obtained.
[0216] Step 503: Convert the privacy computing logic.
[0217] Exemplarily, the conversion of the privacy computing logic can be achieved by the method of converting the logic information provided in the above embodiment. Exemplarily, after converting the privacy computing logic, the privacy computing logic conversion result can be obtained.
[0218] Step 504: Convert the data set matching relationship.
[0219] Exemplarily, the data set here may be the data source described in the aforementioned embodiment; the data set matching relationship may be reflected by the association relationship information between at least two data sources in the aforementioned embodiment; and the conversion of the data set matching relationship may be realized by the conversion method of the association relationship information provided in the aforementioned embodiment. Exemplarily, after the data set matching relationship is converted, a data set matching relationship conversion result may be obtained.
[0220] Step 505: Configure the privacy computing template.
[0221] Exemplarily, configuring a privacy computing template may be to determine the target configuration information described in the aforementioned embodiment based on a data source conversion result, a privacy computing logic conversion result, and a data set matching relationship conversion result, and configure the privacy computing template based on the target configuration information; exemplarily, after configuring the privacy computing template, the target configuration file described in the aforementioned embodiment may be obtained.
[0222] Step 506: Determine the target algorithm.
[0223] Exemplarily, the privacy computing algorithm can be configured based on the parsing results of the target configuration file to obtain a differentiated target algorithm to achieve differentiated privacy computing processing of the data to be processed.
[0224] From the above, it can be seen that the target algorithm determination process provided by the embodiment of the present application first obtains the privacy computing triplet from the privacy computing request, and then converts each element of the privacy computing triplet to obtain target configuration information with a more concise expression form, and then determines the target configuration file based on the target configuration information, and then based on the parsing result of the target configuration file, it is possible to determine the differentiated target algorithm for performing privacy computing, thereby reducing the complexity and maintenance cost of the target algorithm configuration, and thus improving the flexibility of privacy computing. In the case of switching the privacy computing algorithm, by modifying the algorithm configuration information in the privacy computing request, the configuration and switching of the target algorithm can be flexibly realized, thereby making privacy computing more efficient.
[0225] Based on the above embodiments, the present application also provides a privacy computing device 6. Figure 6 The structure diagram of the privacy computing device 6 provided in the embodiment of the present application is as follows. Figure 6 As shown, the privacy computing device may include a detection module 601, a parsing module 602, a determination module 603 and a processing module 604; wherein:
[0226] A detection module 601, used to detect a privacy computing request;
[0227] A parsing module 602 is used to parse the privacy computing request and determine algorithm configuration information when a privacy computing request is detected; wherein the algorithm configuration information at least includes logic information of a privacy computing algorithm that can respond to the privacy computing request;
[0228] The determination module 603 is used to obtain an algorithm configuration template; process the algorithm configuration template based on the algorithm configuration information to determine a target configuration file; and parse the target configuration file to determine a target algorithm.
[0229] The processing module 604 is used to perform privacy calculation on the data to be processed based on the target algorithm to obtain a privacy calculation result.
[0230] In some embodiments, the algorithm configuration information further includes requirement configuration information for performing privacy computing on the data to be processed;
[0231] The determination module 603 is used to process the algorithm configuration template based on the logic information and the required configuration information to determine the target configuration file.
[0232] In some implementations, when the data to be processed includes at least two data sources, the requirement configuration information includes association relationship information between the at least two data sources in the data to be processed.
[0233] In some implementations, the determination module 603 is used to parse the privacy computing request and determine the association relationship information when the data to be processed includes at least two data sources.
[0234] In some implementations, the determination module 603 is used to process the algorithm configuration template based on the logic information, the data to be processed, and the required configuration information to determine the target configuration file.
[0235] In some embodiments, the determination module 603 is used to analyze the algorithm configuration template to determine the algorithm configuration structure information; based on the algorithm configuration structure information, process the logic information, the data to be processed, and the required configuration information to determine the target configuration information; based on the target configuration information, update the algorithm configuration template and determine the target configuration file.
[0236] In some implementations, the algorithm configuration information also includes data to be processed;
[0237] The parsing module 602 is used to parse the privacy computing request and obtain the data to be processed.
[0238] In some embodiments, the privacy computing request includes structured query language SQL.
[0239] It should be noted that the above-mentioned detection module 601, analysis module 602, determination module 603 and processing module 604 can be implemented using a processor in an electronic device, and the above-mentioned processor can be at least one of ASIC, DSP, DSPD, PLD, FPGA, CPU, controller, microcontroller, and microprocessor.
[0240] Based on the above embodiments, the present application also provides an electronic device 7, Figure 7 This is a schematic diagram of the structure of the electronic device 7 provided in the embodiment of the present application. Figure 7 As shown, the electronic device 7 may include a memory 701 and a processor 702; wherein:
[0241] Memory 701, used to store executable instructions;
[0242] The processor 702 is used to implement the privacy computing method of any of the previous embodiments when executing the executable instructions stored in the memory 702.
[0243] The processor 701 may be at least one of an application specific integrated circuit ASIC, a DSP, a DSPD, a PLD, an FPGA, a CPU, a controller, a microcontroller, and a microprocessor. It is understandable that the electronic device used to implement the functions of the processor may also be other electronic devices, which are not specifically limited in the embodiment of the present invention.
[0244] The memory 702 may be a volatile memory, such as a RAM; or a non-volatile memory, such as a ROM, a flash memory, a hard disk (HDD) or a solid-state drive (SSD); or a combination of the above types of memories, and provide instructions and data to the processor.
[0245] Based on the foregoing embodiments, an embodiment of the present application further provides a computer-readable storage medium, which stores executable instructions. When the executable instructions are executed by a processor, the privacy computing method described in any of the previous embodiments can be implemented.
[0246] The above description of various embodiments tends to emphasize the differences between the various embodiments. The same or similar aspects can be referenced to each other, and for the sake of brevity, they will not be repeated herein.
[0247] The methods disclosed in the various method embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments.
[0248] The features disclosed in the various product embodiments provided in this application can be arbitrarily combined without conflict to obtain new product embodiments.
[0249] The features disclosed in the various method or device embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments or device embodiments.
[0250] It should be noted that the above-mentioned computer-readable storage medium can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a magnetic random access memory (FRAM), a flash memory (Flash Memory), a magnetic surface memory, an optical disc, or a compact disc read-only memory (CD-ROM) and other memories; it can also be various electronic devices including one or any combination of the above-mentioned memories, such as mobile phones, computers, tablet devices, personal digital assistants, etc.
[0251] It should be noted that, in this article, the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also includes other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "comprises a ..." does not exclude the presence of other identical elements in the process, method, article or device including the element.
[0252] The serial numbers of the above-mentioned embodiments of the present application are for description only and do not represent the advantages or disadvantages of the embodiments.
[0253] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus necessary general hardware nodes, and of course can also be implemented by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for a terminal device (which can be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in each embodiment of the present application.
[0254] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0255] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture including an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0256] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0257] The above are only preferred embodiments of the present application, and are not intended to limit the patent scope of the present application. Any equivalent structure or equivalent process transformation made using the contents of the present application specification and drawings, or directly or indirectly used in other related technical fields, are also included in the patent protection scope of the present application.
Claims
1. A privacy computing method, characterized in that: The method comprises: Detecting a privacy computing request; the privacy computing request is triggered based on a condition, specifically: the privacy computing request is triggered at a specified time point, or the privacy computing request is triggered when the state of the data participating in the privacy computing reaches a specified state; the privacy computing request is constructed based on the PPC-SQL syntax; When the privacy computing request is detected, the privacy computing request is parsed to determine the algorithm configuration information; wherein the algorithm configuration information includes at least the logic information of the privacy computing algorithm that can respond to the privacy computing request and the requirement configuration information for executing the privacy computing on the data to be processed; the data to be processed or the requirement configuration information is set in a specified field of PPC-SQL; by setting a key value, PPC-SQL can specify a specific field in the data source to participate in the privacy computing; the privacy computing request carries the address or link of the data to be processed; Obtain an algorithm configuration template; the algorithm configuration template is a template for configuring a configuration file of a privacy computing algorithm, wherein the template carries privacy computing parameters for standardized configuration of the privacy computing algorithm; The algorithm configuration template is processed based on the algorithm configuration information to determine the target configuration file, specifically: based on the demand configuration information, at least one logical relationship in the logic information is combined to obtain a first combination result, and according to the first combination result, a corresponding parameter combination in the algorithm configuration template is processed to determine the target configuration file; wherein the corresponding parameter combination in the algorithm configuration template is consistent with the first combination result, or is not completely consistent with the first combination result; when the corresponding parameter combination in the algorithm configuration template is not completely consistent with the first combination result, the logic information combination finally used to configure the algorithm configuration template is determined according to the matching relationship between the corresponding parameter combination and the first combination result; Parsing the target configuration file to determine the target algorithm; Based on the target algorithm, perform privacy calculation on the data to be processed to obtain a privacy calculation result; Wherein, the method further comprises: The initiator of the privacy computing request, before sending the privacy computing request, determines the composition of the data to be processed on which privacy computing needs to be performed, that is, the types and number of data sources included in the data to be processed, and based on this information, determines the association relationship information, and then sets the association relationship information in the privacy computing request. The association relationship information is determined by the matching requirements between the various data sources.
2. The method according to claim 1, characterized in that The processing of the algorithm configuration template based on the algorithm configuration information to determine the target configuration file includes: Based on the logic information and the required configuration information, the algorithm configuration template is processed to determine the target configuration file.
3. The method according to claim 2, characterized in that In the case where the data to be processed includes at least two data sources, the demand configuration information includes association relationship information between the at least two data sources in the data to be processed.
4. The method according to claim 3, characterized in that The method further comprises: When the data to be processed includes at least two data sources, the privacy computing request is parsed to determine the association relationship information.
5. The method according to claim 2, characterized in that: The processing of the algorithm configuration template based on the logic information and the required configuration information to determine the target configuration file includes: Based on the logic information, the data to be processed and the required configuration information, the algorithm configuration template is processed to determine the target configuration file.
6. The method according to claim 5, characterized in that The processing of the algorithm configuration template based on the logic information, the data to be processed and the required configuration information to determine the target configuration file includes: Analyze the algorithm configuration template to determine algorithm configuration structure information; Based on the algorithm configuration structure information, the logic information, the data to be processed and the required configuration information are processed to determine the target configuration information; Based on the target configuration information, the algorithm configuration template is updated to determine the target configuration file.
7. The method according to claim 1, characterized in that The algorithm configuration information also includes the data to be processed; the method also includes: The privacy computing request is parsed to obtain the data to be processed.
8. The method according to claim 1, characterized in that The privacy computing request includes structured query language SQL.
9. A privacy computing device, characterized in that: The privacy computing device includes a detection module, a parsing module, a determination module and a processing module; wherein: The detection module is used to detect a privacy-preserving computing request; the privacy-preserving computing request is triggered based on a condition, specifically: the privacy-preserving computing request is triggered at a specified time point, or the privacy-preserving computing request is triggered when the state of the data participating in the privacy-preserving computing reaches a specified state; the privacy-preserving computing request is constructed based on the PPC-SQL syntax; The parsing module is used to parse the privacy computing request and determine the algorithm configuration information when the privacy computing request is detected; wherein the algorithm configuration information at least includes the logic information of the privacy computing algorithm that can respond to the privacy computing request and the requirement configuration information for executing the privacy computing on the data to be processed; the data to be processed or the requirement configuration information is set in a specified field of PPC-SQL; by setting a key value, PPC-SQL can specify a specific field in the data source to participate in the privacy computing; the privacy computing request carries the address or link of the data to be processed; The determination module is used to obtain an algorithm configuration template, which is a template for configuring a configuration file of a privacy computing algorithm, wherein the template carries privacy computing parameters for standardized configuration of the privacy computing algorithm; the algorithm configuration template is processed based on the algorithm configuration information to determine the target configuration file, specifically: based on the required configuration information, at least one logical relationship in the logical information is combined to obtain a first combination result, and according to the first combination result, the corresponding parameter combination in the algorithm configuration template is processed to determine the target configuration file; wherein the corresponding parameter combination in the algorithm configuration template is consistent with the first combination result, or is not completely consistent with the first combination result; when the corresponding parameter combination in the algorithm configuration template is not completely consistent with the first combination result, the logical information combination finally used to configure the algorithm configuration template is determined according to the matching relationship between the corresponding parameter combination and the first combination result; the target configuration file is parsed to determine the target algorithm; The processing module is used to perform privacy calculation on the data to be processed based on the target algorithm to obtain a privacy calculation result; The device is also specifically used for: The initiator of the privacy computing request, before sending the privacy computing request, determines the composition of the data to be processed on which privacy computing needs to be performed, that is, the types and number of data sources included in the data to be processed, and based on this information, determines the association relationship information, and then sets the association relationship information in the privacy computing request. The association relationship information is determined by the matching requirements between the various data sources.
10. An electronic device, characterized in that: The electronic device comprises: A memory for storing executable instructions; A processor is used to implement the privacy computing method described in any one of claims 1 to 8 when executing the executable instructions stored in the memory.
Citation Information
Patent Citations
Templated data processing method and device
CN111459474A