Federated task execution method and apparatus, computer device, and storage medium
By establishing storage space and utilizing a privacy computing platform during the execution of federated tasks, the problem of low efficiency in federated task execution is solved, efficient and secure cross-domain computing is achieved, and the efficiency and reliability of task execution are improved.
Patent Information
- Application Number
- PCT/CN2025/084653
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-04-07
- Filing Date
- 2025-03-25
- Publication Date
- 2025-10-16
AI Technical Summary
The existing federated task execution efficiency is low, and it is difficult to improve computing efficiency and task synchronization while ensuring data privacy.
By establishing storage space during the execution of federated tasks, the execution results and intermediate computing parameters of each executor are stored, asynchronous high-concurrency computing is achieved, and the privacy computing platform is used to perform collaborative computing between cross-domain entities, thereby improving computing efficiency and task synchronization.
It improves the execution efficiency and effectiveness of federal tasks, reduces the waste of computing resources, ensures the security and availability of data, and enhances the reliability and applicability of task execution.
Smart Images

Figure CN2025084653_16102025_PF_FP_ABST
Abstract
Description
Federal task execution method and device, computer device and storage medium
[0001] The present application claims priority to the Chinese patent application No. 2024104122143, filed on April 7, 2024, and entitled "Task processing method, device, computer device and storage medium", the whole content of which is incorporated herein by reference. TECHNICAL FIELD
[0002] The present application relates to the technical field of computers, and in particular to a federal task execution method, device, computer device and storage medium. BACKGROUND
[0003] With the rapid development of the Internet and the wide application of big data, data is widely used in commercial activities, but at the same time it also brings the risk of privacy data leakage, and the protection of data privacy has become a global focus. In order to protect data privacy and data security, privacy computing technology emerges as the times require, which provides a solution to protect data privacy in the process of data sharing and processing, realizes "data available and invisible", so that data analysis, model training and other operations can be performed without exposing the original data, thereby realizing data sharing and cooperation. The current privacy computing can be implemented by executing federal tasks. The current federal task execution is mainly performed by each execution party respectively, and then the results are aggregated, therefore, how to improve the execution efficiency of federal task execution has become a current focus. SUMMARY
[0004] The embodiments of the present application provide a federal task execution method, device, computer device and storage medium, which can improve the execution efficiency of federal tasks.
[0005] In one aspect, the embodiments of the present application provide a federal task execution method, which is executed by a first execution party, and includes:
[0006] Obtaining task configuration information of a federal task, wherein the task configuration information contains sub-tasks of the federal task;
[0007] Determining at least one unexecuted sub-task from the sub-tasks contained in the task configuration information;
[0008] Obtaining a target execution result from a storage space, wherein the storage space is used to store execution results generated by a plurality of execution parties in the process of executing the federal task, the plurality of execution parties include the first execution party and a second execution party, and the target execution result corresponds to the second execution party;
[0009] Determine a task execution parameter based on the obtained target execution result, the task execution parameter being used to execute the at least one unexecuted subtask.
[0010] In still another aspect, an embodiment of the present application provides a federated task execution apparatus, which is applied to a first execution party and comprises:
[0011] An obtaining unit, configured to obtain task configuration information of a federated task, the task configuration information containing subtasks of the federated task;
[0012] A processing unit, configured to determine at least one unexecuted subtask from the subtasks contained in the task configuration information;
[0013] The obtaining unit is further configured to obtain a target execution result from a storage space, the storage space being used to store execution results generated by a plurality of execution parties of the federated task in the process of executing the federated task, the plurality of execution parties comprising the first execution party and a second execution party, the target execution result corresponding to the second execution party;
[0014] The processing unit is further configured to determine a task execution parameter based on the obtained target execution result, the task execution parameter being used to execute the at least one unexecuted subtask.
[0015] In still another aspect, an embodiment of the present application provides a computer device, comprising a processor, an input device, an output device and a memory, which are connected with each other, wherein the memory is used to store a computer program supporting the computer device to execute the above method, the computer program comprises program instructions, and the processor is configured to invoke the program instructions to perform the following steps:
[0016] Obtain task configuration information of a federated task, the task configuration information containing subtasks of the federated task;
[0017] Determine at least one unexecuted subtask from the subtasks contained in the task configuration information;
[0018] Obtain a target execution result from a storage space, the storage space being used to store execution results generated by a plurality of execution parties of the federated task in the process of executing the federated task, the plurality of execution parties comprising the first execution party and a second execution party, the target execution result corresponding to the second execution party;
[0019] Determine a task execution parameter based on the obtained target execution result, the task execution parameter being used to execute the at least one unexecuted subtask.
[0020] In still another aspect, an embodiment of the present application provides a computer readable storage medium, wherein the computer readable storage medium stores program instructions, and the program instructions, when executed by a processor, cause the program instructions to perform the federated task execution method according to the first aspect.
[0021] In still another aspect, an embodiment of the present application provides a computer program product, which comprises computer programs or computer instructions, and the computer programs or computer instructions, when executed by a processor, implement the federated task execution method according to an embodiment of the present application.
[0022] In an embodiment of the present application, the first execution party participating in the federated task execution can obtain task configuration information of the federated task, and determine at least one unexecuted subtask from subtasks contained in the task configuration information, and further obtain target execution results from a storage space, so that the first execution party can determine task execution parameters based on the obtained target execution results, so as to subsequently process the at least one unexecuted subtask based on the task execution parameters, so that the first execution party can efficiently execute the federated task based on the storage space, thereby improving the execution efficiency of the federated task. The way of obtaining the target execution results by the first execution party and determining the task execution parameters of the federated task can improve the effectiveness during the federated task execution, and the efficient execution of the federated task by the first execution party can achieve a certain degree of saving of computing resources. BRIEF DESCRIPTION OF DRAWINGS
[0023] FIG. 1a is a schematic diagram of a federated task execution system according to an embodiment of the present application;
[0024] FIG. 1b is a schematic diagram of another federated task execution system according to an embodiment of the present application;
[0025] FIG. 2 is a schematic flowchart of a federated task execution method according to an embodiment of the present application;
[0026] FIG. 3a is a task flowchart of a federated task according to an embodiment of the present application;
[0027] FIG. 3b is a schematic diagram of synchronizing a task flow configuration file and a federated configuration file according to an embodiment of the present application;
[0028] FIG. 3c is a schematic diagram of a privacy computing framework according to an embodiment of the present application;
[0029] FIG. 3d is a schematic diagram of a storage space according to an embodiment of the present application;
[0030] FIG. 3e is a schematic diagram of another storage space according to an embodiment of the present application;
[0031] FIG. 4 is a schematic flowchart of a process of creating an encrypted channel according to an embodiment of the present application;
[0032] FIG. 5a is a flowchart of creating a federation tenant according to an embodiment of the present application;
[0033] FIG. 5b is a flowchart of mutual trust authorization according to an embodiment of the present application;
[0034] FIG. 5c is a flowchart of data registration according to an embodiment of the present application;
[0035] FIG. 5d is a flowchart of performing a federation task according to an embodiment of the present application;
[0036] FIG. 6 is a schematic block diagram of a device for performing a federation task according to an embodiment of the present application;
[0037] FIG. 7 is a schematic block diagram of a computer device according to an embodiment of the present application. DETAILED DESCRIPTION
[0038] The embodiments of the present application provide a method for performing a federation task, so that each execution party (such as a first execution party and a second execution party) of the federation task can store the execution result generated in the execution process into a storage space, and each execution party can obtain the corresponding execution result from the storage space, thereby realizing synchronization of the execution result to each execution party of the federation task, and each execution party can realize synchronization of the execution state in the process of the federation task according to the synchronized execution result, and further realize coordination of the task flow of each execution party. In order to describe the method for performing the federation task according to the embodiments of the present application in detail, first, the related concepts involved in the federation task according to the embodiments of the present application are described.
[0039] I. Federation task
[0040] The federation task is a task involved in federated learning, and the federated learning is a machine learning training method for realizing joint training of multiple parties by circulating and processing intermediate encrypted data without exporting local original data. The parties involved in the federated learning generally include a data party, an algorithm party, a coordination party, a calculation party, a result party, a task initiating party, and the like. Correspondingly, the federation task is also a task for processing the same task by each party (or execution party) under the condition that the local original data is not exported, and the result of the federation task includes the processing result obtained by each execution party after processing the corresponding task. The federation task involved in the embodiments of the present application is a task for collaborative calculation based on privacy calculation technology.
[0041] II. Privacy calculation
[0042] Privacy computing is a kind of computing theory and method aiming to protect privacy information and realize the mining of data value. The core goal of privacy computing is to ensure that data does not leak sensitive information while maintaining data usability. Existing privacy computing technologies mainly include multi-party secure computing, trusted execution environment (TEE) and federated learning. The embodiments of the present application mainly relate to the federated learning part of privacy computing. In federated learning, multiple parties cooperate to build a model (or perform a task) while protecting the privacy of original data, and ensure that the data of each participant is always stored locally. In addition, privacy computing can ensure data security and privacy in the process of privacy computing by combining cryptography, secure multi-party computing, homomorphic encryption and other technologies. The federated task execution part of privacy computing in the embodiments of the present application also involves collaborative computing between cross-domain subjects. For cross-domain subject collaborative computing (or joint computing), the following aspects are considered:
[0043] ①Data security between cross-domain subjects. In the process of privacy computing, each participant (i.e. different cross-domain subjects) needs to perform task computing and data analysis without exposing the original data stored locally. Therefore, ensuring the privacy and security of local data is a key issue. To achieve data security between cross-domain subjects, confidentiality during data transmission, data integrity during computing and protection against malicious participants can be considered to ensure secure data transmission between cross-domain subjects.
[0044] ②Computing efficiency. In the process of privacy computing, encryption, decryption, computing and communication are usually required, which increases the computing and communication overhead of each privacy computing participant (i.e. between cross-domain subjects). During cross-subject collaboration in privacy computing, data transmission and collaborative computing are required between participants. Therefore, while ensuring data privacy, the computing efficiency in the process of privacy computing needs to be improved to ensure the efficiency of privacy computing.
[0045] ③Data usability. In the process of privacy computing, encryption or perturbation is usually used to process local data to protect data privacy before privacy computing. This process may reduce the usability of the computing result and may not meet the actual application requirements. Therefore, in addition to protecting data privacy, data usability and availability also need to be maintained during privacy computing to ensure the adaptability of the results of privacy computing in actual application.
[0046] (4) The synchronization of tasks and the rationality of resource scheduling. Due to the differences in technical stacks and hardware conditions of devices between cross-domain subjects, different hardware devices may be used for acceleration, or different distributed computing frameworks and cluster resource orchestration systems may be used. Based on the differences between cross-domain subjects, the cluster composed of different cross-domain subjects is called a heterogeneous cluster. To achieve collaborative computing of privacy computing tasks between cross-domain subjects in a heterogeneous cluster, task synchronization, rational resource scheduling, and system integration are required to ensure efficient and orderly privacy computing.
[0047] Based on the above considerations of data security, computing efficiency, data availability, task synchronization, and rational resource scheduling between cross-domain subjects, the federated task execution method proposed in the embodiments of the present application can effectively improve computing efficiency while ensuring data security between cross-domain subjects. It can also ensure data availability, task synchronization, and rational resource scheduling during task execution to effectively ensure the execution of federated tasks, thereby improving the reliability and applicability of federated task execution based on improved federated task execution efficiency.
[0048] The participants (or executors) involved in the federated task in the embodiments of the present application include at least two, and in the embodiments of the present application, the first executor and the second executor in the at least two executors are described. For other executors involved in the federated task, refer to the implementation of the first executor or the second executor in the embodiments of the present application. Next, the federated task execution system involved in the embodiments of the present application will be described in conjunction with FIG. 1a. The first executor in the federated task execution system can be a device labeled as 10 in FIG. 1a, and the second executor can be a device labeled as 11 in FIG. 1a. To achieve privacy computing between the first executor and the second executor, a data application platform and a privacy computing platform can be deployed in the first executor and the second executor, respectively. The communication between the first executor and the second executor with the data application platform and the privacy computing platform deployed can be as shown in FIG. 1b. Specifically, as shown in FIG. 1b, the data communication between the first executor and the second executor can be achieved through the federated scheduling component (or federated scheduler) in the corresponding privacy computing platform.
[0049] In an embodiment, in order to improve the execution efficiency (or computing efficiency) of the first execution party and the second execution party in the process of executing the federated task, a storage space can be established between the first execution party and the second execution party through the federated scheduling components corresponding to the first execution party and the second execution party respectively, so that the first execution party and the second execution party can store the execution results generated in the process of executing the federated task in the storage space. Based on the storage of the execution results in the storage space, the first execution party and the second execution party can obtain the corresponding execution results from the storage space for task execution processing in the process of executing the federated task, so as to realize asynchronous high-concurrency computing in the process of executing the federated task, and effectively improve the federated execution efficiency. The storage space can be any memory, or the storage space can be a storage queue. In this case, the storage order of each execution result in the storage queue can be determined based on the order in which each execution result is uploaded to the storage space, that is, the execution result uploaded to the storage queue first is stored in the storage queue first. Alternatively, the storage order of each execution result in the storage queue can be determined based on the execution order of the subtasks corresponding to each execution result, that is, the execution result of the subtask executed first is stored in the storage queue first. It can be understood that when the storage space is a storage queue, the storage space mentioned in the embodiments of the present application can be an asynchronous message queue to support asynchronous high-concurrency execution in the process of executing the federated task. Asynchronous execution means that the federated task is executed simultaneously by each execution party, and asynchronous concurrent computing means that multiple subtasks involved in the federated task are executed simultaneously at different time points.
[0050] In one embodiment, the execution result stored in the storage space not only contains the intermediate calculation parameters used to support the task execution of the federated task, but also can be used to indicate the execution state of the executed subtask in the federated task after the execution of the subtask is completed, and the execution state includes execution success or execution failure. Specifically, the first execution party and the second execution party can add the corresponding exception information to the execution result of the corresponding subtask and send the execution result to the storage space if the first execution party determines that the corresponding subtask execution is abnormal after the execution of the subtask in the federated task is completed during the execution of the federated task. After the second execution party obtains the exception information from the execution result of the subtask stored in the storage space, the second execution party can determine that the corresponding subtask execution fails. In one implementation, the second execution party can directly stop the execution of the federated task and determine that the federated task execution fails. In another implementation, the second execution party can further determine whether the exception information affects the execution result of the federated task after obtaining the exception information from the execution result of the subtask stored in the storage space. If it is determined that the exception information does not affect the execution result of the federated task, the second execution party continues to execute the federated task. If it is determined that the exception information affects the execution result of the federated task, the second execution party stops the execution of the federated task and determines that the federated task execution fails. For the information indicating that the subtask execution is normal (such as execution success) generated by each execution party during the execution of the federated task, the information indicating that the subtask execution is normal (such as execution success) can not be added to the execution result of the corresponding subtask and sent to the storage space for storage, so as to reduce the storage pressure of the storage space. In this case, for any executed subtask, if any execution party does not obtain the information indicating that the task execution is normal and the exception information indicating that the task execution is abnormal from the execution result of the subtask stored in the storage space, it can be determined that the subtask execution is successful. Optionally, if the storage space of the storage space is relatively rich, the information indicating that the subtask execution is normal generated by each execution party after the execution of the corresponding subtask can also be added to the execution result of the corresponding subtask and sent to the storage space for storage. In this case, for any executed subtask, if any execution party does not obtain the information indicating that the task execution is normal from the execution result of the subtask stored in the storage space, it can be determined that the subtask execution is successful.
[0051] That is to say, based on the execution result stored in the storage space, the first execution party and the second execution party can not only obtain the intermediate calculation parameter of the federated task from the storage space and perform the execution process of the task based on the intermediate calculation parameter, but also obtain the exception information generated after the other execution party executes the subtask of the federated task or the information for indicating that the corresponding subtask is executed normally from the storage space, and then the subsequent unexecuted subtask of the federated task can be transferred based on the obtained information, that is, whether to continue to execute the subsequent unexecuted subtask is determined. Therefore, the efficiency and effectiveness of the execution of the federated task by each execution party can be improved, and the effectiveness of the result after the execution of the federated task by each execution party is also ensured.
[0052] Please refer to FIG. 2, which is a schematic flowchart of a federated task execution method according to an embodiment of the present application. The federated task execution method is executed by a first execution party in each execution party included in a federated task, and the execution party can be any execution party of the federated task. As shown in FIG. 2, the method can include the following steps:
[0053] S201, obtaining task configuration information of the federated task, the task configuration information containing subtasks of the federated task.
[0054] S202, determining at least one unexecuted subtask from the subtasks contained in the task configuration information.
[0055] In steps S201 and S202, the federated task is a task processed jointly by multiple execution parties, and has multiple subtasks. Based on this, the federated task is executed by multiple execution parties, that is, the subtasks of the federated task are jointly executed by multiple execution parties, and the multiple execution parties include a first execution party and a second execution party. The multiple execution parties jointly executing the subtasks of the federated task can be understood as: each execution party executes part of the subtasks of the federated task, and the subtasks executed by the multiple execution parties constitute all the subtasks of the federated task. For example, the federated task contains 5 subtasks in total, the second execution party executes the first subtask and the second subtask of the federated task, and the second execution party executes the third subtask, the fourth subtask and the fifth subtask of the federated task. It should be noted that in the embodiment of the present application, each subtask can be used to indicate at least one operation, for example, each subtask can be a task operation instruction, and the essence of executing a subtask is to execute a task operation instruction.
[0056] In one embodiment, the federal task is initiated by one of the multiple executors participating in the federal task, and is jointly executed by the multiple parties participating in the joint execution. In the embodiments of the present application, the federal task is mainly initiated by the first executor and jointly executed by the first executor and the second executor. In the case where the federal task is initiated by another executor, refer to the embodiments of the present application. Then, in the case where the federal task is initiated by the first executor, the process of the first executor obtaining the task configuration information of the federal task is also the process of the first executor writing and registering to initiate the federal task. In the specific implementation, when writing and initiating the federal task, the first executor can specifically perform the following four steps:
[0057] 1. Write a task flow configuration file, wherein the task flow configuration file contains a task flow graph of the federal task, and the task flow graph is a directed acyclic graph (DAG).
[0058] The task flow graph can be as shown in FIG. 3a. The task flow graph contains multiple flow nodes, and one flow node is used to store one subtask. Optionally, the task flow graph can also contain a connection relationship between the multiple flow nodes, and the connection relationship is used to indicate the execution order of the subtasks. Then, through the definition of the task flow graph, the task flow configuration of the federal task can be achieved.
[0059] 2. Call an application programming interface (API) of the first data application platform corresponding to the first executor, and register the federal task flow to a federal scheduling component based on the task flow configuration file.
[0060] 3. Write a federal configuration file, and define the required calling parameters (i.e., required data) of each subtask in the federal task when executed in the federal configuration file, that is, the required calling parameters (i.e., required data) of the subtask stored in each flow node in the above task flow graph when executed.
[0061] 4. Call the API, and initiate the registration of the federal task to the federal scheduling component based on the federal configuration file.
[0062] Based on the writing and initiation of the federated task by the first executor, the process of the first executor obtaining the task configuration information of the federated task is a process of obtaining locally. Specifically, the first executor can obtain the task flow configuration information when obtaining the task configuration information of the federated task. The task flow configuration information contains a task flowchart. Since the task flowchart contains multiple flow nodes, one flow node is used to store one subtask. Therefore, the subtasks stored in multiple flow nodes can be used to construct the task configuration information of the federated task, so that the task configuration information contains the subtasks of the federated task. Optionally, if the task flowchart also contains the connection relationship between multiple flow nodes, the connection relationship is used to indicate the execution order of the subtasks, then the specific implementation of constructing the task configuration information of the federated task by using the subtasks stored in multiple flow nodes can be: using the subtasks stored in multiple flow nodes and the execution order indicated by the connection relationship to construct the task configuration information of the federated task, so that the task configuration information not only contains the subtasks of the federated task, but also contains the execution order of the subtasks. Since the task flowchart can clearly present each subtask and the corresponding execution order, therefore, by constructing the task configuration information of the federated task based on the task flowchart in the task flow configuration information, the accuracy of the task configuration information can be improved.
[0063] In addition, since the first execution party also writes the federation configuration file, the first execution party needs to obtain the federation configuration file in addition to the task configuration information of the federation task. The federation configuration file contains the required data of each subtask in the federation task when the subtask is executed, which can be understood as data for executing each subtask in the federation task. In an embodiment, when the first execution party successfully obtains the federation configuration file, the first execution party can trigger the first execution party to start executing the federation task, and determine the first subtask to be executed at the current time (i.e., the time when the federation configuration file is successfully obtained) from the subtasks contained in the task configuration information of the federation task. In this way, it can be ensured that the first execution party holds the required data of each subtask in the federation task during the execution of the federation task, thereby ensuring the smooth execution of the federation task and improving the execution success rate of the federation task. In an embodiment, the first subtask determined by the first execution party can be one or more. Specifically, the first execution party can process at least one subtask contained in the task configuration information in the order of execution contained in the task configuration information, so that the first subtask determined from the subtasks contained in the task configuration information is the first subtask in the federation task. If the task configuration information obtained by the first execution party is specifically as shown in FIG. 3a, the first subtask obtained by the first execution party can be the sample safety intersection task (Sample-align) of the federation task as shown in FIG. 3a, and the second subtask obtained can be the quantile-binning task in FIG. 3a, for example. After completing the execution of the above two subtasks, the first execution party can simultaneously obtain the cross-binning task and the feature-selection task as unexecuted subtasks for processing.
[0064] In the case where the first execution party is the initiator of the federation task, the second execution party is the collaborator of the federation task. Since the task flow configuration file and the federation configuration file are both generated by the first execution party, after completing the registration of the federation task, the first execution party can send the task flow configuration file and the federation configuration file to the second execution party through the first federation scheduling component corresponding to the first execution party, to trigger the second execution party to start executing the federation task. In this way, the second execution party can be triggered to execute the federation task in time, thereby avoiding wasting a lot of time due to the second execution party waiting to execute the federation task, and further improving the execution efficiency of the federation task.
[0065] In an embodiment, when the first executor sends the task flow configuration file and the federation configuration file to the second executor through the corresponding first federation scheduling component, specifically, the first federation scheduling component (i.e., the first federation scheduler) synchronizes the task flow configuration file and the federation configuration file through the corresponding message middleware for cross-network synchronization processing and synchronizes them into the message middleware of the second executor, so that the second executor obtains the task flow configuration file and the federation configuration file. This can be specifically as shown in FIG. 3b. That is, the first federation scheduling component is deployed on the first privacy computing platform corresponding to the first executor; the second executor corresponds to the second privacy computing platform, and the second privacy computing platform includes a second federation scheduling component; when the first federation scheduling component sends the task flow configuration file and the federation configuration file to the second executor, the first federation scheduling component can synchronize the task flow configuration file and the federation configuration file to the message middleware of the second privacy computing platform through the message middleware of the first privacy computing platform, so that the second executor obtains the task flow configuration file and the federation configuration file through the message middleware of the second privacy computing platform. As can be seen, the embodiments of the present application can use cross-network synchronization processing between different message middlewares to successfully send the task flow configuration file and the federation configuration file to the second executor, thereby improving the success rate of sending the task flow configuration file and the federation configuration file. Moreover, the message middleware is located in the privacy computing platform, so that the sending privacy and security of the task flow configuration file and the federation configuration file can be improved based on the privacy computing capability of the privacy computing platform.
[0066] Next, the modules in the data computing platform and the privacy computing platform corresponding to the first executor and the second executor, respectively, will be described. The system architecture of the data computing platform and the privacy computing platform can be as shown in FIG. 3c. The data computing platform and the privacy computing platform can be collectively referred to as a privacy computing system, which is a cross-institution distributed system. The federation task is decomposed and distributed to each participant (e.g., executed by the first executor and the second executor) through a federation scheduling framework, and involves cross-institution resource scheduling, task exception handling, heterogeneous environment deployment, and other aspects. At the same time, system stability, scalability, maintainability, and customization costs also need to be considered. The privacy computing system as shown in FIG. 3c according to the embodiments of the present application has the following system characteristics.
[0067]
[0068] 1) The task receiving adapter is used to receive the computing task issued by the communication scheduling layer, and then the cluster resource scheduler of the task receiving adapter can submit the computing task to its distributed engine.
[0069] 2) The log collection adapter can receive the logs and algorithm indicators generated during the algorithm runtime, and display them through the monitoring center or panel system of the log collection adapter.
[0070] The deployment of the task receiving adapter in the data application platform can make the communication scheduling layer only perform task scheduling, and not perform specific task execution. The related data generated during the specific execution of the algorithm by the computing layer can be collected and displayed through the log collection adapter, so that the running situation of the federated task can be specifically displayed, and the execution of the federated task can be effectively monitored.
[0071] ②The communication scheduling layer provides an algorithm warehouse that has passed security authentication. The data application platform can pull the algorithm runtime from the algorithm warehouse through its distributed computing engine, start multiple algorithms as needed, and efficiently complete the privacy computing task through distributed parallel mode.
[0072] ③The communication scheduling layer provides a message queue and a message synchronizer component. On the one hand, it is responsible for receiving and synchronizing the intermediate encrypted data generated during the algorithm runtime computing process to support asynchronous high-concurrency computing. On the other hand, it is responsible for receiving and synchronizing the task flow state synchronized by the federated scheduler.
[0073] All the data transmitted during the interaction between the data application platform and the privacy computing platform is transmitted in an end-to-end encrypted manner to ensure that the local data in the federated task execution process does not leave the database. In an embodiment, the privacy computing system framework, in the form of a privacy computing platform, provides federated learning, joint query, and anonymous query to the public cloud or private cloud, which can be used in joint marketing, joint advertising, joint risk control, and other scenarios.
[0074] Based on the above description of the data application platform and the privacy computing platform of the first and second executors, the process of the second executor performing the federated task based on the corresponding data application platform and privacy computing platform after the first executor initiates the registration of the federated task will be described next.
[0075] Specifically, since the second executor obtains the task flow configuration file and the federated configuration file from the message middleware of the second privacy computing platform through the task issuer, and the message middleware of the second privacy computing platform is associated with the task issuer, when the second executor starts to perform the federated task, it can first submit an execution request of the federated task to the second data application platform corresponding to the second executor according to the task flow configuration file and the federated configuration file; and the second data application platform includes a computing engine, and further, the second data application platform corresponding to the second executor controls the computing engine included therein to obtain the target algorithm required for the execution of the federated task from the algorithm warehouse based on the execution request; wherein the algorithm warehouse can be deployed in the second privacy computing platform, or the algorithm warehouse can also be deployed in a trusted third-party platform; further, the second executor can start to perform the federated task according to the obtained target algorithm.
[0076] That is, when the second executor performs the federated task, since the second executor is a collaboration party of the federated task, the task issuer of the collaboration party can obtain the task flow and related configurations (i.e., the task flow configuration file and the federated configuration file) from its own message middleware, and can submit a computing task application to the task receiver of the data application platform according to the pre-defined process. Further, the task receiver of the data application platform of the second executor can submit a computing task (i.e., an execution task for a certain to-be-executed task of the federated task) to the corresponding distributed computing engine through its cluster resource scheduler, and the distributed computing engine can pull an algorithm from the algorithm warehouse based on the computing task, and efficiently complete the privacy computing task through distributed parallel mode when starting multiple algorithm runs on demand.
[0077] For the first execution party of the federal task initiator, the first execution party also needs to perform the federal task, and when the first execution party performs the federal task, at least one unexecuted subtask can be determined from the subtasks contained in the task configuration information, where unexecuted refers to not being executed by any execution party of the federal task. In a specific implementation, the first execution party directly takes all unexecuted subtasks in the subtasks contained in the task configuration information as the at least one unexecuted subtask; or the task configuration information contains the execution order of the subtasks, and the first execution party can determine at least one unexecuted subtask from the subtasks contained in the task configuration information according to the execution order contained in the task configuration information. The at least one unexecuted subtask is taken as a computing task of a first data application platform corresponding to the first execution party, and after the first data application platform corresponding to the first execution party obtains the at least one unexecuted subtask, the distributed computing engine can also pull the corresponding algorithm from the algorithm warehouse to perform the computing and execution of the task. It should be noted that the number of the at least one unexecuted subtask can be one or more; in general, the at least one unexecuted subtask can refer to a current subtask to be executed determined from all unexecuted subtasks in the execution order contained in the task configuration information. As known from the foregoing, any execution party will store the execution result of the corresponding subtask in the storage space after performing a certain subtask of the federal task, that is, the storage space will contain the execution result of any executed subtask, based on which the first execution party can easily judge whether a certain subtask is an unexecuted subtask by identifying whether the storage space contains the execution result of the subtask, that is, for the i th subtask of the federal task (i is a positive integer), the first execution party can detect whether the storage space contains the execution result of the i th subtask, if yes, it can be determined that the i th subtask is an executed subtask, and if not, it can be determined that the i th subtask is an unexecuted subtask.
[0078] In an embodiment, if the federal task is initiated by other participants of the federal task, that is, the task flow configuration file and the federal configuration file are written by other participants, and the first execution party and the second execution party are both collaborative parties of the federal task, then the first execution party and the second execution party obtain the task flow configuration file and the federal configuration file by the cross-network synchronization based on the communication of the message middleware corresponding to the other participants initiating the federal task, as shown in FIG. 3b. After the first execution party determines at least one unexecuted subtask based on the task configuration information, the at least one unexecuted subtask can be processed, and before processing the at least one unexecuted subtask, the task execution parameter can be determined based on the execution result in the storage space, and the at least one unexecuted subtask is processed according to the task execution parameter; that is, after step S202, step S203 is performed.
[0079] S203, obtaining a target execution result from a storage space, the storage space being used to store execution results generated by multiple execution parties of the federal task in the process of executing the federal task, the multiple execution parties including the first execution party and the second execution party, the target execution result corresponding to the second execution party.
[0080] The execution result generated by the multiple execution parties of the federal task in the process of executing the federal task refers to the execution result of the executed subtask after the multiple execution parties execute at least one subtask in the process of executing the federal task. The number of the executed subtasks can be one or more, and the present embodiment does not limit the correspondence between the executed subtasks and the multiple execution parties; for example, the executed subtasks can be executed by the second execution party, or can be executed by the second execution party and other execution parties (such as the first execution party, or an execution party other than the first execution party and the second execution party in the multiple participants). In this case, considering that the execution result of the previous subtask can affect the execution of the subsequent subtask, the subtask corresponding to the latest execution result stored in the storage space can be executed by the second execution party, so that the execution result of the subtask can be used as the target execution result in the subsequent process, thereby the task execution parameter used to execute the at least one unexecuted subtask can be accurately determined based on the target execution result.
[0081] S204, determining a task execution parameter based on the obtained target execution result, the task execution parameter being used to execute at least one unexecuted subtask.
[0082] In step S203 and step S204, a plurality of executors (such as the first executor and the second executor) generate some execution results of the executed sub-tasks after starting to execute at least one sub-task of the federated task, wherein the execution results at least include intermediate calculation parameters, and the so-called intermediate calculation parameters refer to calculation parameters generated and output during the task calculation in the process of executing the sub-tasks. As shown in FIG. 3d, the storage space can be the storage space marked by 30 in FIG. 3d, and due to the existence of the storage space, the first executor and the second executor can directly store the generated intermediate calculation parameters into the storage space during the execution of the federated task, and continue to execute the subsequent sub-tasks, thereby ensuring the execution efficiency of the first executor and the second executor during the execution of the federated task. In addition, based on the existence of the storage space, if the first executor and the second executor need the intermediate calculation parameters corresponding to the executed sub-tasks during the execution of a certain sub-task, the corresponding intermediate calculation parameters can be directly obtained from the storage space. As shown in FIG. 3d, the intermediate calculation parameter 1 generated by the first executor during the execution of a certain sub-task of the federated task is stored in the storage space, and when the second executor executes a certain sub-task of the federated task, if the intermediate calculation parameter 1 generated by the first executor is needed, the intermediate calculation parameter 1 can be obtained from the storage space, and the sub-task can be executed. As can be seen, based on the existence of the storage space, the first executor and the second executor can obtain the intermediate calculation parameters based on the storage space during the execution of the federated task, without the need to apply to the opposite end for the process of obtaining the intermediate calculation parameters, thereby improving the efficiency of the federated calculation of the executors of the federated task.
[0083] In addition, the execution result can also include task execution information output after a certain subtask is executed (i.e., task execution information of the executed subtask), which is used to indicate the execution state of the subtask after execution, and the execution state includes successful execution or failed execution of the corresponding subtask, that is, the execution result of the executed subtask can include information indicating that the corresponding subtask is successfully executed (i.e., normal execution), or abnormal information indicating that there is an exception in the execution process of the corresponding subtask. It can be seen that the execution result of the executed subtask can indicate that the executed subtask is successfully executed or failed. In an embodiment, since the successful execution of a certain subtask will not affect the subsequent unexecuted subtasks of the federal task, and if there is an exception in the execution process of a certain subtask, it will affect the subsequent unexecuted subtasks of the federal task, such as causing the federal task to directly enter the execution failure process, therefore, each execution party of the federal task (such as the first execution party and the second execution party described above) can only upload the corresponding abnormal information to the storage space for storage after a certain subtask of the federal task is executed and the corresponding execution process has an exception, so that each execution party of the federal task can determine the flow of the subsequent unexecuted subtasks based on the abnormal information in the storage space. As shown in FIG. 3e, if the first execution party generates an exception when executing a certain subtask of the federal task, and uploads the corresponding abnormal information 1 to the storage space, then the second execution party can receive the abnormal information 1 uploaded by the first execution party after querying the storage space. After receiving the abnormal information 1, the second execution party can directly end the execution of the federal task, or can first determine whether the abnormal information 1 affects the execution result of the federal task, and end the execution of the federal task (such as stopping the execution of the unexecuted subtasks of the federal task) when it is determined to affect, and continue the execution of the federal task (i.e., continue to execute the unexecuted subtasks of the federal task) when it is determined not to affect.
[0084] Therefore, when the first execution party needs to execute at least one unexecuted subtask, it can also obtain the execution result generated by the second execution party from the storage space as a target execution result, and determine the task execution parameter based on the target execution result, so that the at least one unexecuted subtask can be processed based on the task execution parameter subsequently. The task execution parameter can be a task execution instruction, which can be used to indicate at least one of the following: whether to start executing at least one unexecuted subtask, the start execution time of at least one unexecuted subtask, whether to execute the at least one unexecuted subtask by the second execution party, and whether to terminate the execution of the at least one unexecuted subtask after a period of time of executing the at least one unexecuted subtask, etc.
[0085] For example, in one implementation, since the target execution result can be used to indicate that the subtask executed by the second execution party is successfully executed or failed to be executed; therefore, the first execution party can determine the task execution parameter to indicate to stop executing the federated task, i.e., not to execute the at least one unexecuted subtask (i.e., prohibit starting to execute the at least one unexecuted subtask), when the obtained target execution result indicates that the subtask executed by the second execution party is failed to be executed. Optionally, the task execution parameter can also be determined to indicate to start executing the at least one unexecuted subtask when the obtained target execution result indicates that the subtask executed by the second execution party is successfully executed; thus, it can be seen that the task execution parameter determined in this way can be used to indicate whether to start executing the at least one unexecuted subtask. In another implementation, when the obtained target execution result indicates that the subtask executed by the second execution party is successfully executed, if the execution process of the at least one unexecuted subtask needs to use the intermediate calculation parameter corresponding to the executed subtask, the task execution parameter can be determined to indicate to start executing the at least one unexecuted subtask when the intermediate calculation parameter corresponding to the executed subtask is obtained from the storage space; it can be seen that the task execution parameter determined in this way can be used to indicate that the start execution time of the at least one unexecuted subtask is the time when the intermediate calculation parameter corresponding to the executed subtask is obtained from the storage space. In another implementation, when the obtained target execution result indicates that the subtask executed by the second execution party is successfully executed, if the execution process of the at least one unexecuted subtask needs to use the intermediate calculation parameter corresponding to the executed subtask executed by the second execution party, and the second execution party has not stored the intermediate calculation parameter corresponding to the executed subtask to the storage space (i.e., the target execution result does not contain the intermediate calculation parameter corresponding to the executed subtask executed by the second execution party), the task execution parameter can be determined to indicate to execute the at least one unexecuted subtask by the second execution party to ensure the successful execution of the subtask, and the like.
[0086] It can be seen that by taking the task execution information as the execution result output in the execution process of the federated task, the task flow processing in the execution process of the federated task can be realized based on the inclusion, so that when the task execution information indicates that the executed subtask is failed to be executed, the subsequent unexecuted subtask can be stopped from being executed in time to avoid the case that the subsequent unexecuted subtask is executed but cannot be successfully executed, thereby improving the use effectiveness of the processing resource and effectively improving the effectiveness of the execution of the federated task, so as to effectively improve the calculation efficiency in the execution process of the federated task.
[0087] In the embodiment of the present application, the first execution party participating in the execution of the federated task can determine at least one unexecuted subtask from the subtasks contained in the task configuration information of the federated task after obtaining the task configuration information, and further obtain the target execution result from the storage space, so that the first execution party can determine the task execution parameter based on the obtained target execution result, so as to subsequently process the at least one unexecuted subtask based on the task execution parameter, thereby enabling the first execution party to efficiently execute the federated task based on the storage space, and further improving the execution efficiency of the federated task. The way of obtaining the target execution result by the first execution party and determining the task execution parameter of the federated task can improve the effectiveness during the execution of the federated task, and the efficient execution of the federated task by the first execution party can achieve a certain degree of saving of computing resources.
[0088] Before the above-mentioned federated task is initiated, in order to enable the parties (or cooperating parties, such as the first execution party and the second execution party mentioned above) involved in the federated task to implement privacy calculation, the parties involved in the federated task need to create a federated tenant respectively, and complete the establishment of an encrypted channel based on the federated tenant by the parties involved in the federated task through mutual trust authorization, thereby improving the security of data transmission based on the encrypted channel. The federated tenant refers to a communication space created for the parties involved in the federated task at the communication level. In one embodiment, the establishment of the encrypted channel by the first execution party and the second execution party is to establish the encrypted channel between the first execution party and the second execution party through the corresponding first federated scheduling component and the second federated scheduling component, so that the communication between the first execution party and the second execution party through the first federated scheduling component and the second federated scheduling component is implemented based on the encrypted channel.
[0089] Next, the process of mutual trust authorization of the first execution party and the second execution party by the federated tenant and the creation of the encrypted channel according to the embodiment of the present application will be described in detail in combination with FIG. 4. As shown in FIG. 4, the process includes the steps shown in S401-S402 as follows.
[0090] S401, the first execution party initiates a federated tenant creation application to the corresponding first federated scheduling component, and obtains the public key information of the first execution party from the first federated scheduling component.
[0091] S402, the public key information is sent to the second execution party through a secure channel, so that the second execution party performs mutual trust authorization processing with the first execution party according to the public key information.
[0092] In steps S401 and S402, before the first execution party and the second execution party perform mutual trust authorization and creation of an encrypted channel, the first execution party and the second execution party will also establish corresponding tenants respectively to obtain a federated tenant. In an embodiment, if the first execution party is an execution party only having feature data, and the second execution party is an execution party having label data, the first execution party can also be referred to as a data party, and the second execution party can also be referred to as a modeling party. Then, the feature data owned by the data party can be, for example, features of a user, and the label data owned by the modeling party can be, for example, labeled labels, and the modeling party can also have data such as product features.
[0093] In an embodiment, the process in which the first execution party and the second execution party establish corresponding tenants respectively is shown in FIG. 5a, and the following steps can be performed:
[0094] 1. The data party (for example, the first execution party described above) can initiate an application for creating a data party tenant to a corresponding first federated scheduling component, and obtain corresponding first tenant information and public key information thereof from the first federated scheduling component.
[0095] 2. The data party sends the public key information to the modeling party through a secure channel.
[0096] 3. The modeling party initiates an application for creating a data party tenant to a corresponding second federated scheduling component, and obtains corresponding second tenant information from the second federated scheduling component.
[0097] The first tenant information and the second tenant information both contain a tenant identifier of the created federated tenant, so that the first federated scheduling component creating the first tenant information and the second federated scheduling component creating the second tenant information are added to the same communication space. That is, the federated tenant mentioned in the embodiments of the present application can be a communication space created for the first execution party and the second execution party at a communication level, and the creation of an encrypted channel can be supported in the communication space to support data security of the first execution party and the second execution party in the process of federated learning.
[0098] Since the first execution party and the second execution party are in the process of creating the federation tenant respectively, the first execution party sends the public key information to the second execution party through the secure channel, so that the second execution party can perform mutual trust authorization processing with the first execution party according to the public key information. In a specific implementation, the second execution party can first send a modeling invitation code creation request to the corresponding second federation scheduling component according to the public key information; the creation request is sent to the second federation scheduling component after being encrypted by the public key information; further, the second execution party can obtain the modeling invitation code from the second federation scheduling component and send the modeling invitation code to the first execution party; further, the first execution party can establish an encrypted channel in the created federation tenant according to the modeling invitation code; after the encrypted channel is established, it is determined that the first execution party and the second execution party complete the mutual trust authorization processing. The secure channel refers to a communication channel that cannot be stolen and tampered with during the sending of the public key information.
[0099] In one embodiment, when the second federation scheduling component generates the modeling invitation code, the second federation scheduling component can first create a storage space through the corresponding communication component, and obtain an encrypted digital certificate, authorization information, and a communication address of the first execution party; the authorization information is used to indicate that the first execution party and the second execution party confirm to perform information communication; further, the second federation scheduling component encrypts the encrypted digital certificate, the authorization information, and the communication address by using the public key information to obtain the modeling invitation code. Then, when the first execution party establishes an encrypted channel in the created federation tenant according to the modeling invitation code, the first execution party can first decrypt the modeling invitation code to obtain the encrypted digital certificate, the authorization information, and the communication address; further, the first execution party can create an initial channel in the created federation tenant according to the encrypted digital certificate, and after completing the security verification of the authorization information, configure a communication proxy service in the initial channel according to the communication address through the corresponding communication proxy component, to establish an encrypted channel in the federation tenant.
[0100] Next, in the perspective of a data party (such as the first execution party described above) and a modeling party (such as the second execution party described above), the process of creating a federation tenant and mutual trust authorization is described below, which specifically includes the following steps.
[0101] 1. The data party can initiate an application for creating a data party tenant to the corresponding federation scheduling component, and obtain corresponding tenant information and public key information from the federation scheduling component.
[0102] 2. The data party sends the public key information to the modeling party through a secure channel.
[0103] 3. The modeling party initiates an application for creating a data party tenant to the corresponding federation scheduling component, and obtains corresponding tenant information from the federation scheduling component.
[0104] 4、The modeling party uses the public key information sent by the data party to initiate a request for creating a modeling invitation code to the corresponding federation scheduling component, and the federation scheduling component can perform the following ① and ② after receiving the creation request:
[0105] ① The federation scheduling component creates a queue communication resource (i.e., the storage space described above) through the corresponding communication component, and returns the encrypted digital certificate and the authentication token, wherein the encrypted digital certificate is a digital certificate encrypted by the secure transmission layer protocol (tls), and the authentication token refers to the authorization information used to indicate that the data party and the modeling party confirm to communicate;
[0106] ② The federation scheduling component encrypts the encrypted digital certificate and the authentication token using the public key information of the data party to obtain a modeling invitation code, and returns the obtained modeling invitation code to the modeling party.
[0107] 5、The modeling party sends the above invitation code to the data party.
[0108] 6、The data party makes the federation scheduling component receive the modeling invitation code sent by the modeling party through the federation tenant just created, and the corresponding federation scheduling component of the data party can perform the following steps to complete the creation of the encrypted channel after the data party receives the modeling invitation code:
[0109] 1)、The federation scheduling component records and configures the communication agent service based on the modeling invitation code through the communication agent component;
[0110] 2)、The federation scheduling component configures the communication agent address of the federation tenant based on the modeling invitation code.
[0111] 7、After completing the mutual trust authorization process, the modeling party and the data party can initiate a federation task request to the federation scheduling component through the federation tenant.
[0112] It can be understood that after the corresponding federation scheduling component of the data party completes the recording of the communication agent service and completes the establishment of the communication agent address, the data party and the modeling party complete the creation process of the communication agent component and the establishment of the encrypted channel before the privacy calculation. The first execution party and the second execution party in the embodiment of the present application can also establish the communication agent component and create the encrypted channel according to the above process before initiating the federation task request, so that the first execution party and the second execution party complete the mutual trust authorization process.
[0113] After the first and second execution parties complete the mutual trust authorization process, before initiating the privacy computing task (i.e., starting to execute the federated task), the data (e.g., the federated task) to be cooperated needs to be authorized across the cross-domain subjects (including the first and second execution parties). Specifically, each cross-domain subject can authorize the data to the federated scheduling component through the permission management center provided by the data application platform. In an embodiment, since the first and second execution parties are execution parties that have completed data authorization, if the first and second execution parties respectively include the first and second data required when the federated task is executed, i.e., the first execution party includes the first data required when the federated task is executed, and the second execution party includes the second data required when the federated task is executed; when performing data authorization, the first execution party can first register and authorize the first data in the corresponding library table, to store the first data in the corresponding library table in an encrypted manner; the first data is stored in the first encryption address of the corresponding library table; the library table synchronization processing can be performed through the encryption channel established between the first and second federated scheduling components, to synchronize the first encryption address of the first data in the corresponding library table to the corresponding library table of the second execution party. Then, when the second execution party starts to execute the federated task, the required data when the federated task is executed can be queried in the corresponding library table of the second execution party; and when the second execution party successfully queries the required data, the second execution party is triggered to start to execute the federated task.
[0114] Next, the interaction process in which the first and second execution parties complete mutual trust authorization and perform data authorization before initiating the privacy computing task will be described in combination with FIG. 5c, which can include the following steps ①-③.
[0115] ①Library table registration authorization is performed at the tenant level, and the corresponding encryption path is generated for the authorized party. Meanwhile, the expiration time or the number of uses of the authorized data can be configured in the library table. The authorized party refers to the execution party that provides the data for library table registration authorization, which can be the first execution party or the second execution party. The generated encryption path is the storage address of the data in the corresponding library table, and the library table is actually a data set for data storage.
[0116] ②Synchronize the encryption path information of the authorized library table. Synchronizing the encryption path information is a process of synchronizing the data authorized by the local end to other execution parties. For example, the first execution party can synchronize the encrypted data to the second execution party, so that the second execution party can execute the federated task through the encrypted data in the local data (i.e., the library table).
[0117] ③Local start initiates task and verifies the authority of the library table path. It can be understood that the process of authority verification is the process of querying the data required by the federation task execution in the library table based on the library table when the federation task execution is required, and the query result can be used to indicate whether the corresponding federation task can be executed.
[0118] In one embodiment, the creation of the corresponding federation tenant by the federation task when performing privacy calculation can realize the authentication of the digital certificate of each participant (or executor, such as the first and second executors mentioned above) of the federation task, the creation of the communication agent component, and the establishment of the encrypted channel. Through the encrypted channel established between each executor, the data security problem of the federation task in the execution process can be guaranteed, and the execution process of the federation task can also be guaranteed. After the establishment of the encrypted channel of each executor, each executor can also perform data authorization processing on the data involved in the federation task based on the encrypted channel, so as to guarantee the effective execution of the federation task while ensuring that the local data does not go out of the library, thereby realizing the guarantee of the data security of the local data of each executor.
[0119] Next, the execution process of the federation task of the executor who has completed the establishment of the encrypted channel and the data authorization is briefly described in conjunction with FIG. 5d.
[0120] s10, the task initiator of the federation task (such as the first executor mentioned above) compiles a task flow configuration file, which can be a pipeline yaml file and a job yaml file in FIG. 5d; the federation task flow is registered through API calling to the federation scheduling component, which can be a federation scheduling API in FIG. 5d.
[0121] s11, the task initiator compiles a federation configuration file and initiates a federation task.
[0122] s12, the federation scheduling component synchronizes the federation configuration file and the task flow configuration file to other executors of the federation task, which can also be as shown in the processes of ②-⑤ in FIG. 5d. The federation configuration file and the task flow configuration file can also be sent to the task flow engine at the local end, and the task executor is called to request the corresponding algorithm from the computing layer to perform the federation task.
[0123] In addition, the federation configuration file and the task flow configuration file can also be synchronized to the message middleware at the local end as shown in the processes of ⑥ and ⑦ in FIG. 5d, and transmitted to other executors of the federation task through cross-network communication synchronization transmission.
[0124] s13, the task issuer of each execution party can obtain the synchronized federal configuration file and task flow configuration file from the message middleware of itself (as shown in the flow of ⑧ in FIG. 5d), and then submit a calculation task application to the task receiver of the data application platform according to the pre-defined flow as shown in the flow of ⑨ and ⑩ in FIG. 5d.
[0125] s14, like the initiator, the task receiver of the data application platform corresponding to each execution party submits a calculation task to the corresponding distributed computing engine (such as a Kubernetes computing engine) through the cluster resource scheduler thereof, and the distributed computing engine can pull an algorithm runtime from the algorithm warehouse and start multiple algorithm runtimes as needed to efficiently complete the privacy calculation task in a distributed parallel manner.
[0126] s15, during the federal task calculation, the intermediate data (such as the execution result) generated during the algorithm runtime calculation process is stored in the corresponding storage space, thereby supporting asynchronous high-concurrency calculation, and the calculation state is also synchronized to the federal scheduling component of each coordination party (i.e., other execution parties of the federal task) through the message middleware, thereby coordinating the task flow and state synchronization between parties.
[0127] Based on the above federal task execution process, in the federal task execution process involved in the embodiments of the present application, the communication scheduling layer can be used to coordinate the collaborative calculation between cross-domain subjects through the federal scheduling component and the asynchronous message queue (i.e., the storage space) synchronization mechanism, and a unified scheduling protocol can be used to shield the differences between heterogeneous computing clusters of each subject, thereby realizing the interconnection and intercommunication of the collaborative calculation of the privacy calculation task between heterogeneous platforms of each subject. In addition, the communication scheduling layer also provides an asynchronous message queue and a message synchronizer component, which is responsible for receiving and synchronizing the intermediate encrypted data generated during the algorithm runtime calculation process, thereby supporting asynchronous high-concurrency calculation, and is also responsible for receiving and synchronizing the task flow state synchronized by the federal scheduler, thereby avoiding scheduling delay. In addition, the communication scheduling layer and the calculation layer are decoupled in the privacy calculation system in the embodiments of the present application, thereby better realizing the collaborative calculation of the privacy calculation task between heterogeneous clusters of cross-domain subjects, and better integrating with the data application platform within the subject. That is to say, based on the federal task execution process in the embodiments of the present application, the execution efficiency of the federal task can be effectively improved, and the task flow and state synchronization between each federal task execution party can be better realized.
[0128] Based on the description of the above federal task execution method embodiment, the embodiment of the application further proposes a federal task execution device, which can be applied to a first execution party. Specifically, the federal task execution device can be a computer program (including program code) running in the above computer device (first execution party). The federal task execution device can be used to execute the method described in FIG. 2 and FIG. 4. Please refer to FIG. 6, the federal task execution device comprises an acquisition unit 601 and a processing unit 602.
[0129] The acquisition unit 601 is configured to acquire task configuration information of a federal task, wherein the task configuration information comprises subtasks of the federal task.
[0130] The processing unit 602 is configured to determine at least one unexecuted subtask from the subtasks comprised in the task configuration information.
[0131] The acquisition unit 601 is further configured to acquire a target execution result from a storage space, wherein the storage space is configured to store execution results generated by a plurality of execution parties in the process of executing the federal task, the plurality of execution parties comprising the first execution party and a second execution party, and the target execution result corresponds to the second execution party.
[0132] The processing unit 602 is further configured to determine a task execution parameter based on the acquired target execution result, wherein the task execution parameter is used to execute the at least one unexecuted subtask.
[0133] In one embodiment, the acquisition unit 601 is specifically configured to:
[0134] acquire task flow configuration information, wherein the task flow configuration information comprises a task flowchart, and the task flowchart comprises a plurality of flow nodes, and one flow node is configured to store one subtask;
[0135] construct the task configuration information of the federal task by using the subtasks stored in the plurality of flow nodes.
[0136] In one embodiment, the task flowchart further comprises a connection relationship between the plurality of flow nodes, and the connection relationship is used to indicate an execution order of the subtasks; and the acquisition unit 601 is specifically configured to:
[0137] construct the task configuration information of the federal task by using the subtasks stored in the plurality of flow nodes and the execution order indicated by the connection relationship.
[0138] In one embodiment, the acquisition unit 601 is further configured to acquire a federal configuration file, wherein the federal configuration file comprises required data of each subtask in the federal task when the subtask is executed.
[0139] The processing unit 602 is further configured to trigger the first executor to start performing the federated task when the federated configuration file is successfully acquired, and determine a first subtask currently to be performed from subtasks contained in the task configuration information.
[0140] In an embodiment, if the first executor is an initiator of the federated task and the second executor is a collaborator of the federated task, both the task flow configuration file and the federated configuration file are generated by the first executor.
[0141] The processing unit 602 is further configured to send the task flow configuration file and the federated configuration file to the second executor through a first federated scheduling component corresponding to the first executor, so as to trigger the second executor to start performing the federated task.
[0142] In an embodiment, the first federated scheduling component is deployed in a first privacy computing platform corresponding to the first executor; the second executor corresponds to a second privacy computing platform, and the second privacy computing platform includes a second federated scheduling component; and the processing unit 602 is specifically configured to:
[0143] The first federated scheduling component synchronizes the task flow configuration file and the federated configuration file into a message middleware of the second privacy computing platform through a message middleware of the first privacy computing platform, so that the second executor acquires the task flow configuration file and the federated configuration file through the message middleware of the second privacy computing platform.
[0144] In an embodiment, the message middleware of the second privacy computing platform is associated with a task distributor, and the second executor acquires the task flow configuration file and the federated configuration file from the message middleware of the second privacy computing platform through the task distributor; and the processing unit 602 is specifically configured to:
[0145] The second executor submits a federated task execution request to a second data application platform corresponding to the second executor according to the task flow configuration file and the federated configuration file; and the second data application platform includes a computing engine.
[0146] The second data application platform corresponding to the second executor controls the computing engine included therein to acquire a target algorithm required for performing the federated task from an algorithm warehouse based on the execution request; and the algorithm warehouse is deployed in the second privacy computing platform.
[0147] The second executor starts performing the federated task according to the acquired target algorithm.
[0148] In an embodiment, the task configuration information further comprises an execution sequence of the sub-tasks; the obtaining unit 601 is specifically configured to:
[0149] determine at least one unexecuted sub-task from the sub-tasks comprised in the task configuration information according to the execution sequence comprised in the task configuration information;
[0150] the at least one unexecuted sub-task is taken as a computing task of a first data application platform corresponding to the first execution party.
[0151] In an embodiment, the target execution result is used to indicate that the sub-task executed by the second execution party is successfully executed or fails to be executed; the processing unit 602 is specifically configured to:
[0152] when the target execution result obtained indicates that the sub-task executed by the second execution party fails to be executed, the task execution parameter is determined to indicate to stop executing the federated task.
[0153] In an embodiment, if the first execution party is an execution party only having feature data, and the second execution party is an execution party having label data;
[0154] The processing unit 602 is further configured to initiate a federated tenant creation application to a first federated scheduling component corresponding to the first execution party, and obtain public key information of the first execution party from the first federated scheduling component;
[0155] The processing unit 602 is further configured to send the public key information to the second execution party through a secure channel, so that the second execution party performs mutual trust authorization processing with the first execution party according to the public key information.
[0156] In an embodiment, the processing unit 602 is further configured to send, by the second execution party, a modeling invitation code creation request to a second federated scheduling component corresponding to the second execution party according to the public key information; the creation request is sent to the second federated scheduling component after being encrypted by the public key information;
[0157] The processing unit 602 is further configured to obtain, by the second execution party, the modeling invitation code from the second federated scheduling component, and send the modeling invitation code to the first execution party;
[0158] The processing unit 602 is further configured to establish, by the first execution party, an encrypted channel in the created federated tenant according to the modeling invitation code; after the encrypted channel is established, it is determined that the mutual trust authorization processing between the first execution party and the second execution party is completed.
[0159] In an embodiment, the process of generating the modeling invitation code by the second federated scheduling component comprises:
[0160] The second federation scheduling component creates a storage space through a corresponding communication component, and obtains an encrypted digital certificate, authorization information, and a communication address of the first executor; the authorization information is used to indicate that the first executor and the second executor confirm to perform information communication;
[0161] The second federation scheduling component encrypts the encrypted digital certificate, the authorization information, and the communication address using the public key information to obtain a modeling invitation code.
[0162] In one embodiment, the processing unit 602 is specifically configured to:
[0163] The first executor decrypts the modeling invitation code to obtain the encrypted digital certificate, the authorization information, and the communication address;
[0164] The first executor creates an initial channel in the federation tenant according to the digital certificate, and after completing security verification of the authorization information, configures a communication proxy service in the initial channel according to the communication address through a corresponding communication proxy component, to establish an encrypted channel in the federation tenant.
[0165] In one embodiment, the first executor and the second executor are executors that have completed data authorization, the first executor contains first data required when the federation task is executed, and the second executor contains second data required when the federation task is executed; the processing unit 602 is further configured to perform registration authorization processing on the first data in a corresponding library table by the first executor, to store the first data in the corresponding library table in an encrypted manner; and the first data is stored in a first encrypted address of the corresponding library table in an encrypted manner.
[0166] The processing unit 602 is further configured to perform library table synchronization processing through an encrypted channel established between the first federation scheduling component and the second federation scheduling component, to synchronize the first encrypted address of the first data in the corresponding library table to a corresponding library table of the second executor.
[0167] In one embodiment, the processing unit 602 is further configured to query the required data when the federation task is executed in a corresponding library table of the second executor when the second executor starts to execute the federation task.
[0168] The processing unit 602 is further configured to trigger the second executor to start to execute the federation task when the required data is successfully queried.
[0169] In the embodiment of the present application, the obtaining unit 601 in the first execution party participating in the execution of the federated task can obtain the task configuration information of the federated task, the processing unit 602 can determine at least one unexecuted subtask from the subtasks contained in the task configuration information, and in addition, the target execution result can be obtained from the storage space, so that the processing unit 602 can determine the task execution parameter based on the obtained target execution result, so as to subsequently process the at least one unexecuted subtask based on the task execution parameter, thereby realizing efficient execution of the federated task based on the storage space, and improving the execution efficiency of the federated task. The way of obtaining the target execution result and determining the task execution parameter of the federated task can improve the effectiveness of the execution of the federated task, and based on the effective execution of the federated task, the computing resources are saved to a certain extent.
[0170] Please refer to FIG. 7, which is a structural schematic block diagram of a computer device according to an embodiment of the present application. The computer device is the device where the first execution party is located. As shown in FIG. 7, the computer device in the embodiment of the present application can include one or more processors 701, one or more input devices 702, one or more output devices 703 and a memory 704. The processor 701, the input device 702, the output device 703 and the memory 704 are connected through a bus 705. The memory 704 is used to store a computer program, and the computer program includes program instructions. The processor 701 is used to execute the program instructions stored in the memory 704.
[0171] The memory 704 can include a volatile memory such as a random-access memory (RAM), and the memory 704 can also include a non-volatile memory such as a flash memory, a solid-state drive (SSD) and the like. The memory 704 can also include a combination of the above-mentioned memories.
[0172] The processor 701 can be a central processing unit (CPU). The processor 701 can further include a hardware chip. The hardware chip can be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or the like. The PLD can be a field-programmable gate array (FPGA), a generic array logic (GAL), or the like. The processor 701 can also be a combination of the above structures.
[0173] In an embodiment, the memory 704 is configured to store a computer program, and the processor 701 is configured to execute program instructions stored in the memory 704 to implement steps of the above-mentioned corresponding method in FIG. 2 and FIG. 4.
[0174] In an embodiment, the processor 701 is configured to execute the program instructions to perform the following steps.
[0175] Obtain task configuration information of a federated task, the task configuration information including sub-tasks of the federated task.
[0176] Determine at least one unexecuted sub-task from the sub-tasks included in the task configuration information.
[0177] Obtain a target execution result from a storage space, the storage space being configured to store execution results generated by a plurality of executors in the process of executing the federated task, the plurality of executors including the first executor and the second executor, and the target execution result corresponding to the second executor.
[0178] Determine a task execution parameter based on the obtained target execution result, the task execution parameter being used to execute the at least one unexecuted sub-task.
[0179] In an embodiment, the processor 701 is configured to execute the program instructions to perform the following steps.
[0180] Obtain task flow configuration information, the task flow configuration information including a task flowchart, and the task flowchart including a plurality of flow nodes, one flow node being configured to store one sub-task.
[0181] Construct task configuration information of a federated task by using the sub-tasks stored in the plurality of flow nodes.
[0182] In an embodiment, the task flow diagram further comprises connection relationships between the plurality of flow nodes, the connection relationships being used to indicate execution orders of the sub-tasks; the processor 701 is configured to invoke the program instructions to perform:
[0183] adopting the sub-tasks stored by the plurality of flow nodes and the execution orders indicated by the connection relationships, constructing task configuration information of the federated task.
[0184] In an embodiment, the processor 701 is configured to invoke the program instructions to perform:
[0185] obtaining a federation configuration file; the federation configuration file comprises required data of each sub-task in the federated task when the sub-task is executed;
[0186] when the federation configuration file is successfully obtained, triggering the first execution party to start executing the federated task, and determining a first sub-task currently required to be executed from the sub-tasks comprised in the task configuration information.
[0187] In an embodiment, if the first execution party is an initiator of the federated task and the second execution party is a collaborator of the federated task, both the task flow configuration file and the federation configuration file are generated by the first execution party; the processor 701 is configured to invoke the program instructions to perform:
[0188] sending, by the first federation scheduling component corresponding to the first execution party, the task flow configuration file and the federation configuration file to the second execution party, so as to trigger the second execution party to start executing the federated task.
[0189] In an embodiment, the first federation scheduling component is deployed in a first privacy computing platform corresponding to the first execution party; the second execution party corresponds to a second privacy computing platform, and the second privacy computing platform comprises a second federation scheduling component; the processor 701 is configured to invoke the program instructions to perform:
[0190] the manner in which the first federation scheduling component sends the task flow configuration file and the federation configuration file to the second execution party comprises:
[0191] the first federation scheduling component synchronizes the task flow configuration file and the federation configuration file into a message middleware of the second privacy computing platform through a message middleware of the first privacy computing platform, so that the second execution party obtains the task flow configuration file and the federation configuration file through the message middleware of the second privacy computing platform.
[0192] In an embodiment, the second execution party starts to execute the federated task in the following manner:
[0193] The second execution party submits an execution request of a federated task to a second data application platform corresponding to the second execution party according to the task flow configuration file and the federated configuration file; the second data application platform comprises a computing engine;
[0194] The second data application platform corresponding to the second execution party controls the computing engine included therein to obtain a target algorithm required by the second execution party for executing the federated task from an algorithm warehouse based on the execution request; the algorithm warehouse is deployed in a second privacy computing platform;
[0195] The second execution party starts to execute the federated task according to the obtained target algorithm.
[0196] In an embodiment, the task configuration information further comprises an execution order of the sub-tasks, and the processor 701 is configured to invoke the program instructions to perform:
[0197] According to the execution order contained in the task configuration information, at least one unexecuted sub-task is determined from the sub-tasks contained in the task configuration information;
[0198] The at least one unexecuted sub-task is taken as a computing task of a first data application platform corresponding to the first execution party.
[0199] In an embodiment, the target execution result is used to indicate that the sub-task executed by the second execution party is successfully executed or fails to be executed; and the processor 701 is configured to invoke the program instructions to perform:
[0200] When the target execution result obtained indicates that the sub-task executed by the second execution party fails to be executed, it is determined that the task execution parameter is used to indicate that the execution of the federated task is stopped.
[0201] In an embodiment, if the first execution party is an execution party only having feature data and the second execution party is an execution party having label data, the processor 701 is configured to invoke the program instructions to perform:
[0202] The first execution party initiates a federated tenant creation application to a first federated scheduling component corresponding to the first execution party, and obtains public key information of the first execution party from the first federated scheduling component;
[0203] The public key information is sent to the second execution party through a secure channel, so that the second execution party performs mutual trust authorization processing with the first execution party according to the public key information.
[0204] In one embodiment, the second execution party and the first execution party perform mutual trust authorization processing in the following manner:
[0205] The second execution party sends a modeling invitation code creation request to a corresponding second federation scheduling component according to the public key information; the creation request is sent to the second federation scheduling component after being encrypted by the public key information;
[0206] The second execution party obtains the modeling invitation code from the second federation scheduling component and sends the modeling invitation code to the first execution party;
[0207] The first execution party establishes an encrypted channel in the created federation tenant according to the modeling invitation code; after establishing the encrypted channel, it is determined that the first execution party and the second execution party complete mutual trust authorization processing.
[0208] In one embodiment, the process of generating the modeling invitation code by the second federation scheduling component includes:
[0209] The second federation scheduling component creates a storage space through a corresponding communication component, and obtains an encrypted digital certificate, authorization information, and a communication address of the first execution party; the authorization information is used to indicate that the first execution party and the second execution party confirm to perform information communication;
[0210] The second federation scheduling component encrypts the encrypted digital certificate, the authorization information, and the communication address using the public key information to obtain the modeling invitation code.
[0211] In one embodiment, the processor 701 is configured to invoke the program instructions for performing:
[0212] The first execution party decrypts the modeling invitation code to obtain an encrypted digital certificate, authorization information, and a communication address;
[0213] The first execution party creates an initial channel in the federation tenant according to the digital certificate, and after completing security verification of the authorization information, configures a communication agent service in the initial channel according to the communication address through a corresponding communication agent component, to establish an encrypted channel in the federation tenant.
[0214] In one embodiment, the first execution party and the second execution party are execution parties that have completed data authorization, the first execution party contains first data required when the federation task is executed, and the second execution party contains second data required when the federation task is executed; the processor 701 is configured to invoke the program instructions for performing:
[0215] The first execution party registers and authorizes the first data in a corresponding library table to store the first data in the corresponding library table in an encrypted manner; and the first data is stored in the corresponding library table in an encrypted manner at a first encrypted address.
[0216] The first data is synchronized to the corresponding library table of the second execution party through a synchronization process of the library table performed through an encrypted channel established between the first federation scheduling component and the second federation scheduling component.
[0217] In one embodiment, the processor 701 is configured to invoke the program instructions for performing:
[0218] When the second execution party starts to execute the federation task, the required data when the federation task is executed is queried in the corresponding library table of the second execution party.
[0219] When the required data is successfully queried, the second execution party is triggered to start to execute the federation task.
[0220] The embodiment of the present application provides a computer program product or a computer program, the computer program product or the computer program comprising computer instructions stored in a computer readable storage medium. The processor of the computer device reads the computer instructions from the computer readable storage medium, and the processor executes the computer instructions, so that the computer device executes the method embodiment shown in FIG. 2 or FIG. 4. Wherein, the computer readable storage medium can be a magnetic disc, an optical disc, a read-only memory (Read-Only Memory, ROM) or a random access memory (Random Access Memory, RAM) and the like.
[0221] The above only discloses part of the embodiments of the present application, of course, cannot limit the scope of the present application, and those skilled in the art can understand that the above-mentioned all or part of the processes are implemented, and the equivalent changes made according to the claims of the present application still belong to the scope covered by the present application.
Claims
1. A method for executing a federated task, the method being executed by a first execution party, characterized in that: include: Obtaining task configuration information of a federated task, wherein the task configuration information includes subtasks of the federated task; Determining at least one unexecuted subtask from the subtasks included in the task configuration information; Obtaining a target execution result from a storage space, the storage space being used to store execution results generated by multiple executors of the federated task during execution of the federated task, the multiple executors including the first executor and a second executor, and the target execution result corresponding to the second executor; Based on the acquired target execution result, a task execution parameter is determined, where the task execution parameter is used to execute the at least one unexecuted subtask.
2. The method according to claim 1, wherein The task configuration information of the federated task is obtained, including: Obtaining task flow configuration information; the task flow configuration information includes a task flow chart, the task flow chart includes multiple process nodes, and one process node is used to store one subtask; The subtasks stored in the plurality of process nodes are used to construct task configuration information of the federated task.
3. The method according to claim 2, wherein The task flow chart further includes a connection relationship between the plurality of process nodes, wherein the connection relationship is used to indicate the execution order of the subtasks; The step of constructing task configuration information of a federated task by using the subtasks stored in the plurality of process nodes includes: Task configuration information of the federated task is constructed using the subtasks stored in the multiple process nodes and the execution order indicated by the connection relationship.
4. The method according to any one of claims 1 to 3, wherein The method further comprises: Obtaining a federation configuration file; the federation configuration file includes data required for each subtask in the federation task when being executed; When the federated configuration file is successfully obtained, the first executor is triggered to start executing the federated task, and a first subtask to be currently executed is determined from the subtasks included in the task configuration information.
5. The method according to any one of claims 1 to 4, characterized in that If the first executor is the initiator of the federated task and the second executor is the collaborator of the federated task, then both the task flow configuration file and the federated configuration file are generated by the first executor; and the method further includes: The task flow configuration file and the federation configuration file are sent to the second executor through a first federation scheduling component corresponding to the first executor, so as to trigger the second executor to start executing the federated task.
6. The method according to any one of claims 1 to 5, wherein: The first federated scheduling component is deployed on a first privacy-preserving computing platform corresponding to the first executor; the second executor corresponds to a second privacy-preserving computing platform, and the second privacy-preserving computing platform includes a second federated scheduling component; The manner in which the first federated scheduling component sends the task flow configuration file and the federated configuration file to the second executor includes: The first federal scheduling component synchronizes the task flow configuration file and the federal configuration file to the message middleware of the second privacy computing platform through the message middleware of the first privacy computing platform, so that the second executor obtains the task flow configuration file and the federal configuration file through the message middleware of the second privacy computing platform.
7. The method according to any one of claims 1 to 6, wherein: The second executor starts executing the federated task in the following manner: The second executor submits a federated task execution request to a second data application platform corresponding to the second executor according to the task flow configuration file and the federation configuration file; the second data application platform includes a computing engine; The second data application platform corresponding to the second executor controls the computing engine included therein to obtain the target algorithm required for executing the federated task from the algorithm warehouse based on the execution request; the algorithm warehouse is deployed in the second privacy computing platform; The second executor starts executing the federated task according to the acquired target algorithm.
8. The method according to any one of claims 1 to 7, wherein: The task configuration information further includes an execution order of the subtasks, and determining at least one unexecuted subtask from the subtasks included in the task configuration information includes: determining, according to the execution order included in the task configuration information, at least one unexecuted subtask from the subtasks included in the task configuration information; The at least one unexecuted subtask is used as a computing task of the first data application platform corresponding to the first executor.
9. The method according to any one of claims 1 to 8, wherein The target execution result is used to indicate whether the subtask executed by the second executor is successfully executed or failed; Determining task execution parameters based on the obtained target execution result includes: When the acquired target execution result indicates that the subtask executed by the second executor has failed, a task execution parameter is determined to instruct to stop executing the federated task.
10. The method according to any one of claims 1 to 9, wherein The method further comprises: The first federated scheduling component corresponding to the first execution direction initiates a federated tenant creation application, and obtains the public key information of the first executor from the first federated scheduling component; The public key information is sent to the second executor through a secure channel, so that the second executor performs mutual trust authorization processing with the first executor based on the public key information.
11. The method according to any one of claims 1 to 10, wherein: The manner in which the second executor performs mutual trust authorization processing with the first executor according to the public key information includes: The second executor sends a request for creating a modeling invitation code to the corresponding second federated scheduling component according to the public key information; the request is encrypted by the public key information and sent to the second federated scheduling component; The second executor obtains the modeling invitation code from the second federated scheduling component, and sends the modeling invitation code to the first executor; The first executor establishes an encrypted channel in the created federated tenant according to the modeling invitation code; after the encrypted channel is established, it is determined that the first executor and the second executor complete mutual trust authorization processing.
12. The method according to any one of claims 1 to 11, wherein: The process of the second federated scheduling component generating the modeling invitation code includes: The second federated scheduling component creates a storage space through the corresponding communication component and obtains an encrypted digital certificate, authorization information, and the communication address of the first executor; the authorization information is used to instruct the first executor to confirm information communication with the second executor; The second federated scheduling component uses the public key information to encrypt the encrypted digital certificate, authorization information, and the communication address to obtain a modeling invitation code.
13. The method according to any one of claims 1 to 12, wherein: The first executor establishes an encrypted channel in the created federated tenant according to the modeling invitation code, including: The first executor decrypts the modeling invitation code to obtain an encrypted digital certificate, authorization information, and the communication address; The first executor creates an initial channel in the created federated tenant based on the encrypted digital certificate, and after completing the security verification of the authorization information, configures the communication proxy service in the initial channel according to the communication address through the corresponding communication proxy component to establish an encrypted channel in the federated tenant.
14. The method according to any one of claims 1 to 13, wherein: The first executor and the second executor are executors that have completed data authorization, the first executor contains first data required for executing the federated task, and the second executor contains second data required for executing the federated task; the method further includes: The first executor performs registration authorization processing on the first data in the corresponding library table to encrypt and store the first data in the corresponding library table; the first data is encrypted and stored in a first encryption address of the corresponding library table; A library table synchronization process is performed through an encrypted channel established between the first federal scheduling component and the second federal scheduling component to synchronize the first encrypted address of the first data in the corresponding library table to the corresponding library table of the second executor.
15. The method according to any one of claims 1 to 14, wherein: The method further comprises: When the second executor starts to execute the federated task, querying the corresponding library table of the second executor for data required for executing the federated task; When the required data is successfully queried, the second executor is triggered to start executing the federated task.
16. A federated task execution device, applied to a first execution party, characterized in that: include: An acquiring unit, configured to acquire task configuration information of a federated task, wherein the task configuration information includes subtasks of the federated task; a processing unit, configured to determine at least one unexecuted subtask from among the subtasks included in the task configuration information; The acquiring unit is further configured to acquire a target execution result from a storage space, the storage space being configured to store execution results generated by multiple executors of the federated task during execution of the federated task, the multiple executors including the first executor and a second executor, the target execution result corresponding to the second executor; The processing unit is further configured to determine a task execution parameter based on the acquired target execution result, where the task execution parameter is used to execute the at least one unexecuted subtask.
17. A computer device, characterized in that: The method comprises a processor, an input device, an output device and a memory, wherein the processor, the input device, the output device and the memory are interconnected, wherein the memory is used to store a computer program, the computer program includes program instructions, and the processor is configured to call the program instructions to execute the federal task execution method according to any one of claims 1 to 15.
18. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, which includes program instructions. When the program instructions are executed by a processor, the processor executes the federated task execution method according to any one of claims 1 to 15.
19. A computer program product, characterized in that The computer program product includes a computer program or computer instructions, and the computer program or the computer instructions are executed by a processor according to the federated task execution method according to any one of claims 1 to 15.
Citation Information
Patent Citations
Task processing method and device, equipment and computer readable storage medium
CN112395062A
Data processing method for privacy protection and computing equipment
CN117131541A
Federal learning task cluster scheduling method and system
CN117806801A
Management of protected data in a localized device coordinator
US11200331B1
Cited By
Encryption and desensitization cooperative processing method and system for data life cycle
CN121786888A