CN112187862A - Task processing method and device for task processing - Google Patents

Task processing method and device for task processing Download PDF

Info

Publication number
CN112187862A
CN112187862A CN202010899593.5A CN202010899593A CN112187862A CN 112187862 A CN112187862 A CN 112187862A CN 202010899593 A CN202010899593 A CN 202010899593A CN 112187862 A CN112187862 A CN 112187862A
Authority
CN
China
Prior art keywords
computing
ciphertext
task
engine
ciphertext computing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010899593.5A
Other languages
Chinese (zh)
Other versions
CN112187862B (en
Inventor
李艺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huakong Tsingjiao Information Technology Beijing Co Ltd
Original Assignee
Huakong Tsingjiao Information Technology Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huakong Tsingjiao Information Technology Beijing Co Ltd filed Critical Huakong Tsingjiao Information Technology Beijing Co Ltd
Priority to CN202010899593.5A priority Critical patent/CN112187862B/en
Publication of CN112187862A publication Critical patent/CN112187862A/en
Application granted granted Critical
Publication of CN112187862B publication Critical patent/CN112187862B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5017Task decomposition
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The embodiment of the invention provides a task processing method and device and a device for task processing, which are applied to a multi-party security computing system. The method comprises the following steps: the task scheduling server issues configuration information for registering plugin services to at least one ciphertext computing engine participating in the ciphertext computing task according to the computing function in the ciphertext computing task, wherein different plugin services are used for realizing different computing functions; and the at least one ciphertext computing engine participating in the ciphertext computing task registers the corresponding plugin service according to the received configuration information, and executes the computing function of the plugin service corresponding to the calling request when monitoring the calling request aiming at the registered plugin service. The embodiment of the invention can reduce the difficulty of expanding the computing function of the ciphertext computing node and reduce the development cost.

Description

Task processing method and device for task processing
Technical Field
The present invention relates to the field of computer technologies, and in particular, to a method and an apparatus for task processing.
Background
An MPC (Secure Multi-Party computing) system is used to solve the problem of securely performing Multi-Party collaborative computing without a trusted third Party. The multi-party safety computing system requires that input data are all in a ciphertext state, namely in a distributed network, a plurality of participating entities respectively hold secret input, all parties want to jointly complete the computation of a certain function, and each participating entity is required not to obtain any input information of other participating entities except the computation result, so that the privacy safety of the data is ensured.
Disclosure of Invention
Embodiments of the present invention provide a task processing method and apparatus, and an apparatus for task processing, which can reduce the difficulty in extending the computation function of a ciphertext computation node and reduce development cost.
In order to solve the above problems, an embodiment of the present invention discloses a task processing method, which is applied to a multi-party secure computing system, where the multi-party secure computing system includes a task scheduling server and ciphertext computing engines, each ciphertext computing engine includes at least two ciphertext computing nodes, and the method includes:
the task scheduling server issues configuration information for registering plugin services to at least one ciphertext computing engine participating in a ciphertext computing task according to a computing function in the ciphertext computing task, wherein different plugin services are used for realizing different computing functions;
and the at least one ciphertext computing engine participating in the ciphertext computing task registers the corresponding plugin service according to the received configuration information, and executes the computing function of the plugin service corresponding to the calling request when monitoring the calling request aiming at the registered plugin service.
On the other hand, the embodiment of the invention discloses a task processing device, which is applied to a multi-party secure computing system, wherein the multi-party secure computing system comprises a task scheduling server and ciphertext computing engines, each ciphertext computing engine comprises at least two ciphertext computing nodes, and the device comprises:
the configuration issuing module is used for issuing configuration information for registering plugin services to at least one ciphertext computing engine participating in a ciphertext computing task through the task scheduling server according to the computing function in the ciphertext computing task, wherein different plugin services are used for realizing different computing functions;
and the function execution module is used for registering corresponding plug-in services according to the received configuration information through the at least one ciphertext computing engine participating in the ciphertext computing task and executing the computing function of the plug-in service corresponding to the call request when monitoring the call request aiming at the registered plug-in services.
In another aspect, an embodiment of the present invention discloses a device for task processing, which is applied to a multi-party secure computing system, where the multi-party secure computing system includes a task scheduling server and ciphertext computing engines, each ciphertext computing engine includes at least two ciphertext computing nodes, the device includes a memory, and one or more programs, where the one or more programs are stored in the memory, and configured to be executed by one or more processors, where the one or more programs include instructions for:
the task scheduling server issues configuration information for registering plugin services to at least one ciphertext computing engine participating in a ciphertext computing task according to a computing function in the ciphertext computing task, wherein different plugin services are used for realizing different computing functions;
and the at least one ciphertext computing engine participating in the ciphertext computing task registers the corresponding plugin service according to the received configuration information, and executes the computing function of the plugin service corresponding to the calling request when monitoring the calling request aiming at the registered plugin service.
In yet another aspect, an embodiment of the present invention discloses a machine-readable medium having stored thereon instructions, which, when executed by one or more processors, cause an apparatus to perform a task processing method as described in one or more of the preceding.
The embodiment of the invention has the following advantages:
in the multi-party safe computing system, the configuration information for registering the plugin service is issued to at least one ciphertext computing engine participating in the ciphertext computing task, so that the ciphertext computing engine registering the plugin service can realize the corresponding computing function, a professional does not need to perform complex code programming under the framework of the existing computing node, the difficulty of expanding the computing function of the ciphertext computing node can be reduced, and the development cost is reduced. In addition, the ciphertext computing engine of the registered plug-in service can monitor the call request of the registered plug-in service and execute the computing function of the plug-in service corresponding to the call request when the call request of the registered plug-in service is monitored. That is, the ciphertext computing engine of the registered plugin service can respond to the calling of other ciphertext computing engines to realize the streaming processing of tasks and improve the execution efficiency of the tasks.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings needed to be used in the description of the embodiments of the present invention will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art that other drawings can be obtained according to these drawings without inventive labor.
FIG. 1 is a flow chart of the steps of one embodiment of a method of task processing of the present invention;
FIG. 2 is a flow chart illustrating task processing using n second ciphertext computational engines according to the present invention;
FIG. 3 is a block diagram of an embodiment of a task processing device according to the present invention;
FIG. 4 is a block diagram of an apparatus 800 for task processing of the present invention;
fig. 5 is a schematic diagram of a server in some embodiments of the invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, not all, embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
A multi-party computing system may include a plurality of ciphertext computing engines, one ciphertext computing engine operable to perform a particular ciphertext computing task, and one ciphertext computing engine comprising at least two ciphertext computing nodes. Generally, one ciphertext computing engine can only execute one ciphertext computing task at a time, and the computing function which can be supported by one ciphertext computing engine is limited, if the computing function of a computing node needs to be expanded, a professional needs to perform complex code programming under the framework of the existing computing node, so that the process of expanding the computing function of the computing node is complicated, the expansion difficulty is high, and the implementation efficiency is low. In order to solve the above problems, the present application provides the following solutions.
Method embodiment
Referring to fig. 1, a flowchart illustrating steps of an embodiment of a task processing method according to the present invention is shown, where the method is applied to a multi-party secure computing system, where the multi-party secure computing system includes a task scheduling server and ciphertext computing engines, each ciphertext computing engine includes at least two ciphertext computing nodes, and the method specifically includes the following steps:
101, the task scheduling server sends configuration information for registering plugin services to at least one ciphertext computing engine participating in a ciphertext computing task according to a computing function in the ciphertext computing task, wherein different plugin services are used for realizing different computing functions;
and 102, the at least one ciphertext computing engine participating in the ciphertext computing task registers the corresponding plugin service according to the received configuration information, and executes the computing function of the plugin service corresponding to the calling request when monitoring the calling request aiming at the registered plugin service.
The task processing method provided by the embodiment of the invention can be applied to a multi-party security computing system, wherein the multi-party security computing system comprises a task scheduling server and ciphertext computing engines, and each ciphertext computing engine comprises at least two ciphertext computing nodes. A DS (Data Server) may also be included in the multi-party secure computing system. The data side can provide services of data storage, data supply, calculation result storage and the like.
The task scheduling server is used for generating a ciphertext computing task and scheduling the ciphertext computing engine to execute the ciphertext computing task. And the ciphertext computing engine participating in the ciphertext computing task performs cooperative computing by using at least two ciphertext computing nodes contained in the ciphertext computing engine to complete the ciphertext computing task generated by the task scheduling server.
It should be noted that, the embodiments of the present invention do not limit the number of ciphertext computing engines participating in a ciphertext computing task, nor limit the number of ciphertext computing nodes in a ciphertext computing engine. In a preferred embodiment, four ciphertext compute nodes may be included in a ciphertext compute engine.
The ciphertext computation task includes, but is not limited to: and data related operations such as calculation, cleaning, analysis, model training, storage, database query and the like of the data are realized based on the ciphertext. It is to be understood that the specific type of the ciphertext computing task is not limited by the embodiments of the present invention.
The task scheduling server can issue configuration information for registering the plug-in service to at least one ciphertext computing engine participating in the ciphertext computing task according to the computing function in the ciphertext computing task, wherein different plug-in services are used for realizing different computing functions.
In the embodiment of the invention, one ciphertext computing task can be decomposed into a plurality of computing functions, and one or more computing functions can be realized by using different ciphertext computing engines. Therefore, one ciphertext calculation task can be completed by a plurality of ciphertext calculation engines together, and compared with the ciphertext calculation task completed by one ciphertext calculation engine, the calculation pressure of the ciphertext calculation engine can be reduced, and the execution efficiency of the ciphertext calculation task can be improved.
In example 1, assuming that one ciphertext computing task includes three computing functions of store, fetch, and del, the task scheduling server may send configuration information of a plug-in service that implements the store computing function to a ciphertext computing engine, such as computing engine 1, and computing engine 1 may register the plug-in service that implements the store computing function through the configuration information, so that computing engine 1 has the store computing function; the task scheduling server sends configuration information of the plugin service corresponding to the fetch computing function to a ciphertext computing engine such as a computing engine 2, and the computing engine 2 can register the plugin service for implementing the store computing function through the configuration information, so that the computing engine 2 has the fetch computing function; the task scheduling server sends the configuration information of the plug-in service corresponding to the del computing function to the ciphertext computing engine, such as the computing engine 3, and the computing engine 3 can register the plug-in service for implementing the del computing function through the configuration information, so that the computing engine 3 has the del computing function.
In the embodiment of the present invention, the ciphertext computing engine registers the plugin service according to the configuration file, which means that each ciphertext computing node in the ciphertext computing engine registers the plugin service according to the configuration file, that is, each ciphertext computing node in the same ciphertext computing engine registers the same plugin service.
In an optional embodiment of the present invention, the ciphertext computing nodes in one ciphertext computing engine may include a first ciphertext computing node and a second ciphertext computing node, where the first ciphertext computing node may be any ciphertext computing node in the ciphertext computing engine, and the second ciphertext computing node may be another ciphertext computing node except the first ciphertext computing node in the ciphertext computing engine. The task scheduling server may issue the configuration information to a first ciphertext computing node in the ciphertext computing engine, and the first ciphertext computing node synchronizes the configuration information to a second ciphertext computing node in the ciphertext computing engine. Therefore, the interaction between the task scheduling server and each ciphertext computing node can be reduced, the burden of the task scheduling server is lightened, and the processing resources are saved.
In an optional embodiment of the present invention, the number of ciphertext computing engines participating in the ciphertext computing task is greater than 1, the ciphertext computing engines participating in the ciphertext computing task include a first ciphertext computing engine and at least one second ciphertext computing engine, and the task scheduling server issues configuration information for registering a plug-in service to the ciphertext computing engines participating in the ciphertext computing task according to a computing function in the ciphertext computing task, including:
and the task scheduling server sends the configuration information corresponding to the ciphertext computing task to the first ciphertext computing engine, and sends the configuration information corresponding to the subtask in the ciphertext computing task to the second ciphertext computing engine, wherein different subtasks correspond to different computing functions.
In the embodiment of the invention, a ciphertext computing task can be completed by a first ciphertext computing engine and at least one second ciphertext computing engine together. The task scheduling server sends configuration information corresponding to the ciphertext computing task (referred to as a main task in the embodiment of the present invention) to the first ciphertext computing engine, where the configuration information of the main task may include an identifier of the ciphertext computing task to be executed, an identifier of the ciphertext computing engine participating in the ciphertext computing task, an identifier of a data party participating in the ciphertext computing task, and the like. The first ciphertext computing engine executes the main task according to the configuration information of the main task, and calls the second ciphertext computing engine to realize the subtask according to the configuration information of the main task in the process of executing the main task, so that the main task is completed. And the task scheduling server sends configuration information corresponding to the subtasks in the ciphertext computing tasks to a second ciphertext computing engine, wherein the configuration information of the subtasks can comprise description information of the subtasks, registration information of the plug-in service and the like. Different subtasks can correspond to different computing functions, so that the second ciphertext computing engine can register the plug-in service of the corresponding computing function through the received configuration information of the subtasks.
In an optional embodiment of the present invention, the number of the subtasks may be greater than 1, and the sending the configuration information corresponding to the subtask in the ciphertext computation task to the second ciphertext computation engine includes:
respectively sending the configuration information corresponding to different subtasks to different second ciphertext computing engines so that one second ciphertext computing engine registers a plug-in service; or
And sending the configuration information corresponding to the plurality of subtasks to the same second ciphertext computing engine so that one second ciphertext computing engine registers a plurality of plug-in services.
In the embodiment of the invention, one ciphertext computing engine can register one plug-in service or register a plurality of plug-in services. The task scheduling server can respectively send the configuration information corresponding to different subtasks to different second ciphertext computing engines so that one second ciphertext computing engine registers a plug-in service to complete one subtask; or, the task scheduling server may send the configuration information corresponding to the multiple subtasks to the same second ciphertext computing engine, so that one second ciphertext computing engine registers the multiple plug-in services to complete the multiple subtasks.
In example 2, assume that the ciphertext computation task is: the data d1 is added with 1 and stored into d2, and d1 is deleted. Wherein d1, d2 and numerical value 1 are all ciphertexts.
The ciphertext computing task comprises the following 3 subtasks: subtask 1, calling fetch function takes data d1 with key value k 1. Subtask 2, calling the store function, stores data d2 into key value k2, where d2 is d1+ 1. Subtask 3, invokes the del function to delete data d1 corresponding to k 1.
It is assumed that the ciphertext computation engine participating in the ciphertext computation task includes computation engine 1, computation engine 2, and computation engine 3, and that the data side participating in the ciphertext computation task includes DS1, DS1 is used to provide ciphertext data d 1. The computing engine 3 is a first ciphertext computing engine, the computing engine 1 and the computing engine 2 are second ciphertext computing engines, the subtask 1 is executed by the computing engine 1, and the subtask 2 and the subtask 3 are executed by the computing engine 2. The task scheduling server sends the configuration file of the ciphertext computing task (main task) to the computing engine 3, and the computing engine 3 executes the subtasks by calling the computing engine 1 and the computing engine 2 in the process of executing the main task so as to jointly complete the main task. The task scheduling server sends the configuration file of the subtask 1 of the ciphertext computing task to the computing engine 1, and the computing engine 1 registers the plug-in service of the corresponding computing function of the subtask 1 so as to realize the computing function of the subtask 1. The task scheduling server sends the configuration file of the subtask 2 and the configuration file of the subtask 3 of the ciphertext computing task to the computing engine 2, and the computing engine 2 registers the plug-in service of the computing function corresponding to the subtask 2 and the plug-in service of the computing function corresponding to the subtask 3 respectively, so that the computing functions of the subtask 2 and the subtask 3 are realized.
In an optional embodiment of the present invention, the registering, by the cryptogram computation engine participating in the cryptogram computation task, the corresponding plug-in service according to the received configuration information includes: the second ciphertext computing engine participating in the ciphertext computing task registers corresponding plugin service according to the received configuration information;
the method may further comprise: and after the second ciphertext computing engine registers the corresponding plugin service, starting the registered plugin service, and monitoring a call request aiming at the registered plugin service.
In the embodiment of the invention, the first ciphertext computing engine is used for executing the main task, and the second ciphertext computing engine is used for registering the corresponding plug-in service so as to realize one or more subtasks in the main task.
The second cryptograph calculation engine may be stateless when initially started, and after receiving the configuration file sent by the task scheduling server, may register a corresponding plug-in service through the configuration file. After the plugin service is registered, the second ciphertext computing engine has a computing function corresponding to the plugin service, and the second ciphertext computing engine may start a service to monitor a call request for the plugin service, and when the call request is monitored, start a thread to execute the computing function corresponding to the plugin service in response to the call request. Further, after the execution of the computing function is completed, the second cryptogram computing engine may continue to listen for call requests for the plug-in service to wait for a response to a next call request.
Optionally, after the ciphertext computing task is executed, the second ciphertext computing engine may be reinitialized to be stateless so as to register plug-in services of other functions.
In an alternative embodiment of the invention, the computing functionality may comprise a single computing functionality or a combination of computing functionalities. The single calculation function may be a simple calculation function of reading, storing, deleting, and the like of data. The combined computational function may be a complex computational function consisting of multiple single computational functions, such as addition, subtraction, multiplication, division, comparison, ranking, model training, etc. of data.
Further, in practical applications, different computing functions may need different types of computing resources, and the embodiment of the present invention may divide the types of plug-in services according to the types of computing resources needed by the computing functions. For example, the types of plug-in services include, but are not limited to, compute intensive types and storage intensive types. Compute intensive type plug-in services may be implemented by a compute cluster consisting of multiple ciphertext compute engines. The storage-intensive plug-in service can be realized by a storage system consisting of a plurality of ciphertext computing engines. In a specific implementation, the ciphertext computing engine of the corresponding plug-in service type can be selected according to different computing functions.
In an optional embodiment of the present invention, the ciphertext computing engine is configured with an interface for triggering remote invocation, the ciphertext computing engine participating in the ciphertext computing task performs information interaction through the interface for triggering remote invocation, and the interactive information includes at least one of ciphertext data participating in computing, an intermediate result of computing, a call request, and an execution state.
The embodiment of the invention adds the interface for triggering remote calling in the cryptograph computing engine, so that the cryptograph computing engines participating in the cryptograph computing task can directly carry out information interaction through the interface without completing information transfer through DS or cache every time, and the processing efficiency of the cryptograph computing task can be improved. The interactive information includes, but is not limited to, at least one of ciphertext data participating in the computation, intermediate results of the computation, a call request, and an execution state.
In the embodiment of the invention, the final calculation result and the intermediate result of the ciphertext calculation task are both ciphertexts, and the plaintext of data cannot be exposed in the process of executing the ciphertext calculation task.
It can be understood that the embodiment of the present invention does not limit the type of the interface for triggering the remote invocation. In an example, the data transmission manner of the interface triggering the Remote Call may be based on a grpc (Google Remote Procedure Call) Protocol, and the interface may be a Protocol Buffer (Google Protocol Buffer) interface.
It should be noted that the plug-in service may be a user-defined function, and specific contents in the plug-in service and a return value of the plug-in service may be defined according to actual requirements. For example, a certain plug-in service may be defined to send data to only one ciphertext computing engine at a time, or a certain plug-in service may be defined to send data to multiple ciphertext computing engines at a time, or a certain plug-in service may be defined to send no data. In addition, whether a certain plug-in service has a return value or not can be defined, and if the certain plug-in service has the return value, the ciphertext computing engine where the plug-in service is located can return the return value to a calling party through an interface triggering remote calling.
In an optional embodiment of the present invention, after the task scheduling server sends the configuration information corresponding to the ciphertext computing task to the first ciphertext computing engine, and sends the configuration information corresponding to the subtask in the ciphertext computing task to the second ciphertext computing engine, the method may further include:
step S11, the task scheduling server starts the first ciphertext computing engine to execute the ciphertext computing task;
step S12, in the process of executing the ciphertext computing task, when the subtask is executed by the first ciphertext computing engine, requesting the task scheduling server to acquire address information of a second ciphertext computing engine corresponding to the subtask;
and step S13, the first ciphertext computing engine sends a call request to the second ciphertext computing engine corresponding to the address information through an interface triggering remote call, wherein the call request comprises a plugin service name and a computing parameter.
In the embodiment of the present invention, the first ciphertext computing engine is configured to execute the ciphertext computing task (main task), and in the process of executing the ciphertext computing task, each subtask in the ciphertext computing task is executed by invoking the corresponding second ciphertext computing engine to jointly complete the ciphertext computing task.
Different plug-in services are registered in different second ciphertext computing engines, the plug-in services can be functions defined by users, each plug-in service corresponds to a plug-in service name, and the plug-in service names can be used when other ciphertext computing engines call the plug-in services.
When the first ciphertext computing engine executes the subtask, the first ciphertext computing engine requests the task scheduling server to acquire address information of a second ciphertext computing engine of the subtask to be executed, and after the address information returned by the task scheduling server is received, the first ciphertext computing engine sends a calling request to the second ciphertext computing engine corresponding to the address information through a remote calling triggering interface so as to call a plugin service registered in the second ciphertext computing engine and execute the corresponding subtask.
The call request may carry a plug-in service name and a calculation parameter. The plug-in service name is the name of the plug-in service that needs to be called. The calculation parameters are the incoming parameters of the plug-in service needing to be called, and the plug-in service can execute corresponding calculation functions according to the incoming calculation parameters. Besides the name of the plug-in service and the calculation parameters, the call request may also include other parameters, such as the name of the second ciphertext calculation engine to be called.
In the embodiment of the invention, in the process of executing a ciphertext computing task (main task), a first ciphertext computing engine can acquire an identifier of a second ciphertext computing engine to be executed with a subtask from configuration information of the main task, and further can request a task scheduling server to acquire address information of the second ciphertext computing engine corresponding to the identifier, and after receiving the address information returned by the task scheduling server, the first ciphertext computing engine sends a call request to the second ciphertext computing engine corresponding to the address information through a remote call triggering interface. The address information of the second ciphertext computing engine to be executed with the subtask may include an IP (Internet Protocol) address and a port number of each ciphertext computing node in the second ciphertext computing engine.
Still taking example 2 as an example, the ciphertext computation task (primary task) is: the data d1 is added with 1 and stored into d2, and d1 is deleted. Wherein d1, d2 and numerical value 1 are all ciphertexts. The ciphertext computing task comprises 3 subtasks, the task scheduling server distributes a main task to the computing engine 3, distributes the subtask 1 to the computing engine 1, and distributes the subtask 2 and the subtask 3 to the computing engine 2. The task scheduling server sends the configuration file of the subtask 1 to the computing engine 1, and sends the configuration file of the subtask 2 and the configuration file of the subtask 3 to the computing engine 2.
The computing engine 1 and the computing engine 2 register corresponding plug-in services according to the received configuration files respectively, and monitor a call request for the registered plug-in services. Assume that the plug-in service for the computing function for subtask 1 is denoted as handler1, the plug-in service for the computing function for subtask 2 is denoted as handler2, and the plug-in service for the computing function for subtask 3 is denoted as handler 3. In example 2, compute engine 1 registers handler1, and compute engine 2 registers handler2 and handler 3. The computing function corresponding to handler1 is: take a data d1 with key k 1. The computing function corresponding to handler2 is: d2 is stored in k 2. The computing function corresponding to handler3 is: and deleting the data d1 corresponding to the k 1.
After the computing engine 3 starts the main task, the computing engine 1 needs to be called to execute the sub-task 1, specifically, the computing engine 3 sends an identifier of the computing engine 1 to the task scheduling server to request to acquire address information of the computing engine 1. After the computing engine 3 receives the address information of the computing engine 1 returned by the task scheduling server, a call request for the handler1 is sent to the computing engine 1 through the interface triggering the remote call, wherein the call request includes the plug-in service name fetch and the computing parameter k 1. After monitoring the call request for the handler1, the compute engine 1 responds to the call request, starts a thread to execute the compute function of the handler1, for example, acquires data d1 with key k1 from the DS1, and returns data d1 to the compute engine 3 through the interface triggering remote call.
In an optional embodiment of the present invention, when a call request for a registered plug-in service is monitored, executing a computing function of the plug-in service corresponding to the call request includes: when a second ciphertext computing engine corresponding to the address information monitors a calling request, calling a plugin service corresponding to the plugin service name to execute a corresponding computing function on the computing parameter;
the method further comprises the following steps: and after the second ciphertext computing engine corresponding to the address information executes the corresponding computing function, returning an execution state to the first ciphertext computing engine.
After the first ciphertext computing engine (e.g., computing engine 3) acquires the address information of the second ciphertext computing engine (e.g., computing engine 1) of the to-be-executed subtask (e.g., subtask 1), sending a call request to the second ciphertext computing engine (computing engine 1) corresponding to the address information, where the call request includes a plug-in service name (e.g., fetch) and a computing parameter (k 1). When the calculation engine 1 monitors the call request, the plug-in service (handler1) corresponding to the plug-in service name (fetch) is called to execute a corresponding calculation function on the calculation parameter (k1), that is, the value of (fetch) k1 is read.
In the embodiment of the present invention, after the second ciphertext computing engine executes the corresponding computing function in response to the call request, the second ciphertext computing engine may return an execution state to the first ciphertext computing engine during the execution of the computing function and after the execution is completed. For example, execution state may be returned periodically to the first ciphertext compute engine, which may include in-execution, completed, incomplete, abnormal, etc. The first ciphertext computing engine may determine whether to perform the next computation according to the execution state returned by the invoked second ciphertext computing engine.
Further, the first ciphertext computing engine may also periodically feed back the execution state of the first ciphertext computing engine to the task scheduling server, so that the task scheduling server may determine whether to execute the next task scheduling according to the execution state fed back by the first ciphertext computing engine.
To describe the task processing method more clearly in the embodiment of the present invention, the step of the first ciphertext computing engine invoking the second ciphertext computing engine to execute each subtask is still described by taking example 2 as an example, which is specifically as follows:
step 1, the calculation engine 3 first needs to call the calculation engine 1 to execute the subtask 1, specifically, the calculation engine 3 sends an identifier of the calculation engine 1 to the task scheduling server to request to acquire address information of the calculation engine 1. After the computing engine 3 receives the address information of the computing engine 1 returned by the task scheduling server, a call request for the handler1 is sent to the computing engine 1 through the interface triggering the remote call, wherein the call request includes the plug-in service name fetch and the computing parameter k 1. After monitoring the call request for the handler1, the compute engine 1 responds to the call request, starts a thread to execute the compute function of the handler1, for example, acquires data d1 with key k1 from the DS1, and returns data d1 to the compute engine 3 through the interface triggering remote call.
In step 2, after receiving the data d1 through the interface triggering remote invocation, the calculation engine 3 performs an operation of calculating d2 as d1+1, and generates a key value k 2.
And step 3, the calculation engine 3 needs to call the calculation engine 2 to execute the subtask 2, specifically, the calculation engine 3 sends the identifier of the calculation engine 2 to the task scheduling server to request to acquire the address information of the calculation engine 2. After the computing engine 3 receives the address information of the computing engine 2 returned by the task scheduling server, a call request for the handler2 is sent to the computing engine 2 through the interface triggering the remote call, wherein the call request comprises a plug-in service name store and computing parameters k2 and d 2. After monitoring the call request for the handler2, the compute engine 2 responds to the call request, starts the compute function of the thread execution handler2, stores d2 in the key value k2, and returns the completed execution state to the compute engine 3.
And step 4, after receiving the completed execution state returned by the calculation engine 2, the calculation engine 3 needs to call the calculation engine 2 to execute the subtask 3, specifically, the calculation engine 3 sends the identifier of the calculation engine 2 to the task scheduling server to request to acquire the address information of the calculation engine 2. After the computing engine 3 receives the address information of the computing engine 2 returned by the task scheduling server, a call request for the handler3 is sent to the computing engine 2 through the interface triggering remote call, and the call request includes the plug-in service name del and the computing parameter k 1. After monitoring the call request for the handler3, the compute engine 2 responds to the call request, starts the compute function of the thread execution handler3, deletes the data d1 corresponding to k1, and returns the completed execution state to the compute engine 3.
And 5, returning the completed execution state to the task scheduling server by the calculation engine 3, and finishing the execution of the ciphertext calculation task.
Optionally, after the first ciphertext computing engine obtains the address information of the second ciphertext computing engine returned by the task scheduling server, the first ciphertext computing engine may store the mapping relationship between the address information of the second ciphertext computing engine and the identifier of the second ciphertext computing engine. In this way, before the first ciphertext computing engine sends the identifier of the second ciphertext computing engine to be executed with the subtask to the task scheduling server and requests to acquire the address information of the second ciphertext computing engine corresponding to the subtask, whether the address information of the second ciphertext computing engine corresponding to the subtask exists or not can be inquired in the stored mapping relation, and if the address information of the second ciphertext computing engine corresponding to the subtask exists, the address information of the second ciphertext computing engine corresponding to the subtask does not need to be acquired by requesting the task scheduling server.
For example, in step 3 above, after the computing engine 3 receives the address information of the computing engine 2 returned by the task scheduling server, the mapping relationship between the address information of the computing engine 2 and the identifier of the computing engine 2 may be recorded. In the step 4, the computing engine 3 can directly obtain the address information of the computing engine 2 according to the mapping relationship, so that the interaction between the second ciphertext computing engine and the task scheduling server can be reduced, the data transmission pressure is reduced, and the computing efficiency is improved.
It should be noted that, in example 2, taking the two second ciphertext computing engines, that is, the computing engine 1 and the computing engine 2, as an example, in practical applications, the embodiment of the present invention does not limit the number of subtasks decomposed by one ciphertext computing task and the number of second ciphertext computing engines. Referring to fig. 2, a schematic flowchart of task processing by using n second ciphertext computing engines is shown, where n is a positive integer. As shown in fig. 2, the second ciphertext computation engine includes a computation engine 1, computation engines 2, …, and a computation engine n, where the computation engine 1 registers the plugin service handler1 according to the configuration information 1, the computation engine 2 registers the plugin service handler2 according to the configuration information 2, and so on, the computation engine n registers the plugin service handler n according to the configuration information n. Each second ciphertext calculation engine may be controlled by a task controller. It is understood that the first ciphertext computational engine (not shown in fig. 2) may also be managed by a task controller.
As shown in fig. 2, different computing functions can be realized through customized plug-in services (handler 1-handlern), and then in a ciphertext computing system, a ciphertext computing task can be decomposed into a plurality of subtasks, and the plurality of subtasks are distributed to at least one (for example, n) second ciphertext computing engine, so that the subtasks in the ciphertext computing task can be connected in series in a plug-in manner according to a customized requirement, the streaming processing of the ciphertext computing task is realized, the computing pressure of each ciphertext computing engine (including the first ciphertext computing engine and the second ciphertext computing engine) participating in the ciphertext computing task can be reduced, and the execution efficiency of the ciphertext computing task is improved.
In summary, in the multi-party secure computing system, the configuration information for registering the plugin service is issued to at least one ciphertext computing engine participating in the ciphertext computing task, so that the ciphertext computing engine registering the plugin service can realize the corresponding computing function, a professional does not need to perform complex code programming under the framework of the existing computing node, the difficulty of expanding the computing function of the ciphertext computing node can be reduced, and the development cost is reduced. In addition, the ciphertext computing engine of the registered plug-in service can monitor the call request of the registered plug-in service and execute the computing function of the plug-in service corresponding to the call request when the call request of the registered plug-in service is monitored. That is, the ciphertext computing engine of the registered plugin service can respond to the calling of other ciphertext computing engines to realize the streaming processing of tasks and improve the execution efficiency of the tasks.
It should be noted that, for simplicity of description, the method embodiments are described as a series of acts or combination of acts, but those skilled in the art will recognize that the present invention is not limited by the illustrated order of acts, as some steps may occur in other orders or concurrently in accordance with the embodiments of the present invention. Further, those skilled in the art will appreciate that the embodiments described in the specification are presently preferred and that no particular act is required to implement the invention.
Device embodiment
Referring to fig. 3, a block diagram illustrating a structure of an embodiment of a task processing device according to the present invention is shown, where the device is applied to a multi-party secure computing system, where the multi-party secure computing system includes a task scheduling server and ciphertext computing engines, each ciphertext computing engine includes at least two ciphertext computing nodes, and the device may specifically include:
the configuration issuing module 301 is configured to issue, by the task scheduling server, configuration information for registering a plug-in service to at least one ciphertext computing engine participating in a ciphertext computing task according to a computing function in the ciphertext computing task, where different plug-in services are used to implement different computing functions;
the function execution module 302 is configured to register, by the at least one ciphertext computing engine participating in the ciphertext computing task, a corresponding plug-in service according to the received configuration information, and execute a computing function of the plug-in service corresponding to the call request when the call request for the registered plug-in service is monitored.
Optionally, the ciphertext computing engine is configured with an interface for triggering remote invocation, the ciphertext computing engine participating in the ciphertext computing task performs information interaction through the interface for triggering remote invocation, and the interactive information includes at least one of ciphertext data participating in computing, an intermediate result of computing, a call request, and an execution state.
Optionally, the number of ciphertext computing engines participating in the ciphertext computing task is greater than 1, the ciphertext computing engines participating in the ciphertext computing task include a first ciphertext computing engine and at least one second ciphertext computing engine, and the configuration issuing module is specifically configured to send, by the task scheduling server, configuration information corresponding to the ciphertext computing task to the first ciphertext computing engine, and send configuration information corresponding to a subtask in the ciphertext computing task to the second ciphertext computing engine, where different subtasks correspond to different computing functions.
Optionally, the number of the subtasks is greater than 1, and the configuration issuing module is specifically configured to send configuration information corresponding to different subtasks to different second ciphertext computing engines respectively, so that one second ciphertext computing engine registers a plug-in service; or sending the configuration information corresponding to the plurality of subtasks to the same second ciphertext computing engine, so that one second ciphertext computing engine registers a plurality of plug-in services.
Optionally, the function execution module includes:
the service registration submodule is used for registering corresponding plug-in services according to the received configuration information through a second ciphertext computing engine participating in the ciphertext computing task;
the device further comprises:
and the service monitoring module is used for starting the registered plug-in service and monitoring a call request aiming at the registered plug-in service after the corresponding plug-in service is registered through the second cryptograph calculation engine.
Optionally, the apparatus further comprises:
the task starting module is used for starting the first ciphertext computing engine to execute the ciphertext computing task through the task scheduling server;
the address acquisition module is used for requesting the task scheduling server to acquire the address information of a second ciphertext computing engine corresponding to the subtask when the subtask is executed in the process of executing the ciphertext computing task through the first ciphertext computing engine;
and the function calling module is used for sending a calling request to a second ciphertext computing engine corresponding to the address information through the first ciphertext computing engine by triggering a remote calling interface, wherein the calling request comprises a plug-in service name and a computing parameter.
Optionally, the function execution module is specifically configured to, when a second ciphertext computing engine corresponding to the address information monitors a call request, call a plugin service corresponding to the plugin service name to execute a corresponding computing function on the computing parameter;
the device further comprises:
and the state returning module is used for returning the execution state to the first ciphertext calculation engine after the second ciphertext calculation engine corresponding to the address information executes the corresponding calculation function.
Optionally, the computing functionality comprises a single computing functionality or a combined computing functionality.
In the multi-party safe computing system, the configuration information for registering the plugin service is issued to at least one ciphertext computing engine participating in the ciphertext computing task, so that the ciphertext computing engine registering the plugin service can realize the corresponding computing function, a professional does not need to perform complex code programming under the framework of the existing computing node, the difficulty of expanding the computing function of the ciphertext computing node can be reduced, and the development cost is reduced. In addition, the ciphertext computing engine of the registered plug-in service can monitor the call request of the registered plug-in service and execute the computing function of the plug-in service corresponding to the call request when the call request of the registered plug-in service is monitored. That is, the ciphertext computing engine of the registered plugin service can respond to the calling of other ciphertext computing engines to realize the streaming processing of tasks and improve the execution efficiency of the tasks.
For the device embodiment, since it is basically similar to the method embodiment, the description is simple, and for the relevant points, refer to the partial description of the method embodiment.
The embodiments in the present specification are described in a progressive manner, each embodiment focuses on differences from other embodiments, and the same and similar parts among the embodiments are referred to each other.
With regard to the apparatus in the above-described embodiment, the specific manner in which each module performs the operation has been described in detail in the embodiment related to the method, and will not be elaborated here.
The embodiment of the invention provides a device for task processing, which is applied to a multi-party secure computing system, wherein the multi-party secure computing system comprises a task scheduling server and ciphertext computing engines, each ciphertext computing engine comprises at least two ciphertext computing nodes, the device comprises a memory and one or more programs, wherein the one or more programs are stored in the memory and are configured to be executed by one or more processors, and the one or more programs comprise instructions for: the task scheduling server issues configuration information for registering plugin services to at least one ciphertext computing engine participating in a ciphertext computing task according to a computing function in the ciphertext computing task, wherein different plugin services are used for realizing different computing functions; and the at least one ciphertext computing engine participating in the ciphertext computing task registers the corresponding plugin service according to the received configuration information, and executes the computing function of the plugin service corresponding to the calling request when monitoring the calling request aiming at the registered plugin service.
FIG. 4 is a block diagram illustrating an apparatus 800 for task processing according to an example embodiment. For example, the apparatus 800 may be a mobile phone, a computer, a digital broadcast terminal, a messaging device, a game console, a tablet device, a medical device, an exercise device, a personal digital assistant, and the like.
Referring to fig. 4, the apparatus 800 may include one or more of the following components: processing component 802, memory 804, power component 806, multimedia component 808, audio component 810, input/output (I/O) interface 812, sensor component 814, and communication component 816.
The processing component 802 generally controls overall operation of the device 800, such as operations associated with display, telephone calls, data communications, camera operations, and recording operations. The processing elements 802 may include one or more processors 820 to execute instructions to perform all or a portion of the steps of the methods described above. Further, the processing component 802 can include one or more modules that facilitate interaction between the processing component 802 and other components. For example, the processing component 802 can include a multimedia module to facilitate interaction between the multimedia component 808 and the processing component 802.
The memory 804 is configured to store various types of data to support operation at the device 800. Examples of such data include instructions for any application or method operating on device 800, contact data, phonebook data, messages, pictures, videos, and so forth. The memory 804 may be implemented by any type or combination of volatile or non-volatile memory devices such as Static Random Access Memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic or optical disks.
Power components 806 provide power to the various components of device 800. The power components 806 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power for the apparatus 800.
The multimedia component 808 includes a screen that provides an output interface between the device 800 and a user. In some embodiments, the screen may include a Liquid Crystal Display (LCD) and a Touch Panel (TP). If the screen includes a touch panel, the screen may be implemented as a touch screen to receive an input signal from a user. The touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor may not only sense the boundary of a touch or slide action, but also detect the duration and pressure associated with the touch or slide operation. In some embodiments, the multimedia component 808 includes a front facing camera and/or a rear facing camera. The front-facing camera and/or the rear-facing camera may receive external multimedia data when the device 800 is in an operating mode, such as a shooting mode or a video mode. Each front camera and rear camera may be a fixed optical lens system or have a focal length and optical zoom capability.
The audio component 810 is configured to output and/or input audio signals. For example, the audio component 810 includes a Microphone (MIC) configured to receive external audio signals when the apparatus 800 is in an operational mode, such as a call mode, a recording mode, and a voice information processing mode. The received audio signals may further be stored in the memory 804 or transmitted via the communication component 816. In some embodiments, audio component 810 also includes a speaker for outputting audio signals.
The I/O interface 812 provides an interface between the processing component 802 and peripheral interface modules, which may be keyboards, click wheels, buttons, etc. These buttons may include, but are not limited to: a home button, a volume button, a start button, and a lock button.
The sensor assembly 814 includes one or more sensors for providing various aspects of state assessment for the device 800. For example, the sensor assembly 814 may detect the open/closed state of the device 800, the relative positioning of the components, such as a display and keypad of the apparatus 800, the sensor assembly 814 may also detect a change in position of the apparatus 800 or a component of the apparatus 800, the presence or absence of user contact with the apparatus 800, orientation or acceleration/deceleration of the apparatus 800, and a change in temperature of the apparatus 800. Sensor assembly 814 may include a proximity sensor configured to detect the presence of a nearby object without any physical contact. The sensor assembly 814 may also include a light sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, the sensor assembly 814 may also include an acceleration sensor, a gyroscope sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.
The communication component 816 is configured to facilitate communications between the apparatus 800 and other devices in a wired or wireless manner. The device 800 may access a wireless network based on a communication standard, such as WiFi, 2G or 3G, or a combination thereof. In an exemplary embodiment, the communication component 816 receives a broadcast signal or broadcast related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component 816 further includes a Near Field Communication (NFC) module to facilitate short-range communications. For example, the NFC module may be implemented based on radio frequency information processing (RFID) technology, infrared data association (IrDA) technology, Ultra Wideband (UWB) technology, Bluetooth (BT) technology, and other technologies.
In an exemplary embodiment, the apparatus 800 may be implemented by one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), Programmable Logic Devices (PLDs), Field Programmable Gate Arrays (FPGAs), controllers, micro-controllers, microprocessors or other electronic components for performing the above-described methods.
In an exemplary embodiment, a non-transitory computer-readable storage medium comprising instructions, such as the memory 804 comprising instructions, executable by the processor 820 of the device 800 to perform the above-described method is also provided. For example, the non-transitory computer readable storage medium may be a ROM, a Random Access Memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like.
Fig. 5 is a schematic diagram of a server in some embodiments of the invention. The server 1900 may vary widely by configuration or performance and may include one or more Central Processing Units (CPUs) 1922 (e.g., one or more processors) and memory 1932, one or more storage media 1930 (e.g., one or more mass storage devices) storing applications 1942 or data 1944. Memory 1932 and storage medium 1930 can be, among other things, transient or persistent storage. The program stored in the storage medium 1930 may include one or more modules (not shown), each of which may include a series of instructions operating on a server. Still further, a central processor 1922 may be provided in communication with the storage medium 1930 to execute a series of instruction operations in the storage medium 1930 on the server 1900.
The server 1900 may also include one or more power supplies 1926, one or more wired or wireless network interfaces 1950, one or more input-output interfaces 1958, one or more keyboards 1956, and/or one or more operating systems 1941, such as Windows Server, Mac OS XTM, UnixTM, LinuxTM, FreeBSDTM, etc.
A non-transitory computer-readable storage medium in which instructions, when executed by a processor of an apparatus (server or terminal), enable the apparatus to perform a task processing method shown in fig. 1.
A non-transitory computer-readable storage medium, wherein instructions of the storage medium, when executed by a processor of a device (server or terminal), enable the device to perform a task processing method, the method being applied to a multi-party secure computing system including a task scheduling server and ciphertext computing engines, each ciphertext computing engine including at least two ciphertext computing nodes, the method comprising: the task scheduling server issues configuration information for registering plugin services to at least one ciphertext computing engine participating in a ciphertext computing task according to a computing function in the ciphertext computing task, wherein different plugin services are used for realizing different computing functions; and the at least one ciphertext computing engine participating in the ciphertext computing task registers the corresponding plugin service according to the received configuration information, and executes the computing function of the plugin service corresponding to the calling request when monitoring the calling request aiming at the registered plugin service.
The embodiment of the invention discloses A1 and a task processing method, which is applied to a multi-party security computing system, wherein the multi-party security computing system comprises a task scheduling server and ciphertext computing engines, each ciphertext computing engine comprises at least two ciphertext computing nodes, and the method comprises the following steps:
the task scheduling server issues configuration information for registering plugin services to at least one ciphertext computing engine participating in a ciphertext computing task according to a computing function in the ciphertext computing task, wherein different plugin services are used for realizing different computing functions;
and the at least one ciphertext computing engine participating in the ciphertext computing task registers the corresponding plugin service according to the received configuration information, and executes the computing function of the plugin service corresponding to the calling request when monitoring the calling request aiming at the registered plugin service.
A2, according to the method of A1, the ciphertext computing engine is configured with an interface for triggering remote invocation, the ciphertext computing engine participating in the ciphertext computing task performs information interaction through the interface for triggering remote invocation, and the information interaction includes at least one of ciphertext data participating in computing, an intermediate result of computing, a call request and an execution state.
A3, according to the method of A1, the number of ciphertext computing engines participating in the ciphertext computing task is greater than 1, the ciphertext computing engines participating in the ciphertext computing task include a first ciphertext computing engine and at least one second ciphertext computing engine, the task scheduling server issues configuration information for registering a plug-in service to the ciphertext computing engines participating in the ciphertext computing task according to the computing function in the ciphertext computing task, and the method includes:
and the task scheduling server sends the configuration information corresponding to the ciphertext computing task to the first ciphertext computing engine, and sends the configuration information corresponding to the subtask in the ciphertext computing task to the second ciphertext computing engine, wherein different subtasks correspond to different computing functions.
A4, according to the method in A3, where the number of subtasks is greater than 1, and the sending of the configuration information corresponding to the subtask in the ciphertext computation task to the second ciphertext computation engine includes:
respectively sending the configuration information corresponding to different subtasks to different second ciphertext computing engines so that one second ciphertext computing engine registers a plug-in service; or
And sending the configuration information corresponding to the plurality of subtasks to the same second ciphertext computing engine so that one second ciphertext computing engine registers a plurality of plug-in services.
A5, according to the method in A3, the ciphertext computing engine participating in the ciphertext computing task registers a corresponding plug-in service according to the received configuration information, including:
the second ciphertext computing engine participating in the ciphertext computing task registers corresponding plugin service according to the received configuration information;
the method further comprises the following steps:
and after the second ciphertext computing engine registers the corresponding plugin service, starting the registered plugin service, and monitoring a call request aiming at the registered plugin service.
A6, according to the method in A3, after the task scheduling server sends the configuration information corresponding to the ciphertext computing task to the first ciphertext computing engine and sends the configuration information corresponding to the subtask in the ciphertext computing task to the second ciphertext computing engine, the method further includes:
the task scheduling server starts the first ciphertext computing engine to execute the ciphertext computing task;
the first ciphertext computing engine requests the task scheduling server to acquire address information of a second ciphertext computing engine corresponding to the subtask when the subtask is executed in the process of executing the ciphertext computing task;
and the first ciphertext computing engine sends a calling request to a second ciphertext computing engine corresponding to the address information through an interface triggering remote calling, wherein the calling request comprises a plug-in service name and a computing parameter.
A7, according to the method in A6, when a call request for a registered plug-in service is monitored, executing a computing function of the plug-in service corresponding to the call request, including:
when a second ciphertext computing engine corresponding to the address information monitors a calling request, calling a plugin service corresponding to the plugin service name to execute a corresponding computing function on the computing parameter;
the method further comprises the following steps:
and after the second ciphertext computing engine corresponding to the address information executes the corresponding computing function, returning an execution state to the first ciphertext computing engine.
A8, the method of any one of A1 to A7, wherein the computing functionality comprises a single computing functionality or a combined computing functionality.
The embodiment of the invention discloses B9 and a task processing device, which is applied to a multi-party security computing system, wherein the multi-party security computing system comprises a task scheduling server and ciphertext computing engines, each ciphertext computing engine comprises at least two ciphertext computing nodes, and the device comprises:
the configuration issuing module is used for issuing configuration information for registering plugin services to at least one ciphertext computing engine participating in a ciphertext computing task through the task scheduling server according to the computing function in the ciphertext computing task, wherein different plugin services are used for realizing different computing functions;
and the function execution module is used for registering corresponding plug-in services according to the received configuration information through the at least one ciphertext computing engine participating in the ciphertext computing task and executing the computing function of the plug-in service corresponding to the call request when monitoring the call request aiming at the registered plug-in services.
B10, according to the device of B9, the ciphertext computing engine is configured with an interface for triggering remote invocation, the ciphertext computing engine participating in the ciphertext computing task performs information interaction through the interface for triggering remote invocation, and the information interaction comprises at least one of ciphertext data participating in computing, an intermediate result of computing, a call request and an execution state.
The device according to B11, B9, wherein the number of ciphertext computing engines participating in the ciphertext computing task is greater than 1, the ciphertext computing engines participating in the ciphertext computing task include a first ciphertext computing engine and at least one second ciphertext computing engine, and the configuration issuing module is specifically configured to send, by the task scheduling server, configuration information corresponding to the ciphertext computing task to the first ciphertext computing engine, and send configuration information corresponding to a subtask in the ciphertext computing task to the second ciphertext computing engine, where different subtasks correspond to different computing functions.
B12, according to the apparatus described in B11, where the number of the subtasks is greater than 1, the configuration issuing module is specifically configured to send configuration information corresponding to different subtasks to different second ciphertext computing engines, respectively, so that one second ciphertext computing engine registers a plug-in service; or sending the configuration information corresponding to the plurality of subtasks to the same second ciphertext computing engine, so that one second ciphertext computing engine registers a plurality of plug-in services.
B13, the apparatus according to B11, the function execution module comprising:
the service registration submodule is used for registering corresponding plug-in services according to the received configuration information through a second ciphertext computing engine participating in the ciphertext computing task;
the device further comprises:
and the service monitoring module is used for starting the registered plug-in service and monitoring a call request aiming at the registered plug-in service after the corresponding plug-in service is registered through the second cryptograph calculation engine.
B14, the apparatus of B11, the apparatus further comprising:
the task starting module is used for starting the first ciphertext computing engine to execute the ciphertext computing task through the task scheduling server;
the address acquisition module is used for requesting the task scheduling server to acquire the address information of a second ciphertext computing engine corresponding to the subtask when the subtask is executed in the process of executing the ciphertext computing task through the first ciphertext computing engine;
and the function calling module is used for sending a calling request to a second ciphertext computing engine corresponding to the address information through the first ciphertext computing engine by triggering a remote calling interface, wherein the calling request comprises a plug-in service name and a computing parameter.
B15, the device according to B14, the function execution module is specifically configured to call, by the second ciphertext computing engine corresponding to the address information, the plug-in service corresponding to the plug-in service name to execute a corresponding computing function on the computing parameter when a call request is monitored;
the device further comprises:
and the state returning module is used for returning the execution state to the first ciphertext calculation engine after the second ciphertext calculation engine corresponding to the address information executes the corresponding calculation function.
B16, the apparatus of any one of B9 to B15, the computing functionality comprising a single computing functionality or a combined computing functionality.
The embodiment of the invention discloses C17, a device for task processing, which is applied to a multi-party secure computing system, wherein the multi-party secure computing system comprises a task scheduling server and ciphertext computing engines, each ciphertext computing engine comprises at least two ciphertext computing nodes, the device comprises a memory and one or more programs, one or more programs are stored in the memory, and the one or more programs are configured to be executed by one or more processors and comprise instructions for:
the task scheduling server issues configuration information for registering plugin services to at least one ciphertext computing engine participating in a ciphertext computing task according to a computing function in the ciphertext computing task, wherein different plugin services are used for realizing different computing functions;
and the at least one ciphertext computing engine participating in the ciphertext computing task registers the corresponding plugin service according to the received configuration information, and executes the computing function of the plugin service corresponding to the calling request when monitoring the calling request aiming at the registered plugin service.
And C18, according to the device of C17, the ciphertext computing engine is configured with an interface for triggering remote invocation, the ciphertext computing engine participating in the ciphertext computing task performs information interaction through the interface for triggering remote invocation, and the information interaction comprises at least one of ciphertext data participating in computing, an intermediate result of computing, a call request and an execution state.
C19, according to the apparatus described in C17, the number of ciphertext computing engines participating in the ciphertext computing task is greater than 1, the ciphertext computing engines participating in the ciphertext computing task include a first ciphertext computing engine and at least one second ciphertext computing engine, the task scheduling server issues configuration information for registering a plug-in service to the ciphertext computing engines participating in the ciphertext computing task according to a computing function in the ciphertext computing task, including:
and the task scheduling server sends the configuration information corresponding to the ciphertext computing task to the first ciphertext computing engine, and sends the configuration information corresponding to the subtask in the ciphertext computing task to the second ciphertext computing engine, wherein different subtasks correspond to different computing functions.
C20, according to the apparatus of C19, where the number of subtasks is greater than 1, and the sending of the configuration information corresponding to the subtask in the ciphertext computation task to the second ciphertext computation engine includes:
respectively sending the configuration information corresponding to different subtasks to different second ciphertext computing engines so that one second ciphertext computing engine registers a plug-in service; or
And sending the configuration information corresponding to the plurality of subtasks to the same second ciphertext computing engine so that one second ciphertext computing engine registers a plurality of plug-in services.
C21, the ciphertext computation engine participating in the ciphertext computation task according to the apparatus of C19, registering a corresponding plug-in service according to the received configuration information, including:
the second ciphertext computing engine participating in the ciphertext computing task registers corresponding plugin service according to the received configuration information;
the device is also configured to execute, by one or more processors, the one or more programs including instructions for:
and after the second ciphertext computing engine registers the corresponding plugin service, starting the registered plugin service, and monitoring a call request aiming at the registered plugin service.
C22, the device of C19, the device also configured to execute the one or more programs by one or more processors including instructions for:
the task scheduling server starts the first ciphertext computing engine to execute the ciphertext computing task;
the first ciphertext computing engine requests the task scheduling server to acquire address information of a second ciphertext computing engine corresponding to the subtask when the subtask is executed in the process of executing the ciphertext computing task;
and the first ciphertext computing engine sends a calling request to a second ciphertext computing engine corresponding to the address information through an interface triggering remote calling, wherein the calling request comprises a plug-in service name and a computing parameter.
C23, the apparatus according to C22, when monitoring a call request for a registered plug-in service, executing a computing function of the plug-in service corresponding to the call request, including:
when a second ciphertext computing engine corresponding to the address information monitors a calling request, calling a plugin service corresponding to the plugin service name to execute a corresponding computing function on the computing parameter;
the device is also configured to execute, by one or more processors, the one or more programs including instructions for:
and after the second ciphertext computing engine corresponding to the address information executes the corresponding computing function, returning an execution state to the first ciphertext computing engine.
C24, the apparatus of any of C17 to C23, the computing functions comprising a single computing function or a combined computing function.
The embodiment of the invention discloses D25, a machine readable medium having stored thereon instructions, which when executed by one or more processors, cause an apparatus to perform a method of task processing as described in one or more of A1-A8.
Other embodiments of the invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. This invention is intended to cover any variations, uses, or adaptations of the invention following, in general, the principles of the invention and including such departures from the present disclosure as come within known or customary practice within the art to which the invention pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the invention being indicated by the following claims.
It will be understood that the invention is not limited to the precise arrangements described above and shown in the drawings and that various modifications and changes may be made without departing from the scope thereof. The scope of the invention is limited only by the appended claims.
The above description is only for the purpose of illustrating the preferred embodiments of the present invention and is not to be construed as limiting the invention, and any modifications, equivalents, improvements and the like that fall within the spirit and principle of the present invention are intended to be included therein.
The above detailed description is provided for a task processing method, a task processing device and a device for task processing, and the principle and the implementation of the present invention are explained by applying specific examples, and the description of the above examples is only used to help understanding the method and the core idea of the present invention; meanwhile, for a person skilled in the art, according to the idea of the present invention, there may be variations in the specific embodiments and the application scope, and in summary, the content of the present specification should not be construed as a limitation to the present invention.

Claims (10)

1. A task processing method is applied to a multi-party secure computing system, the multi-party secure computing system comprises a task scheduling server and ciphertext computing engines, each ciphertext computing engine comprises at least two ciphertext computing nodes, and the method comprises the following steps:
the task scheduling server issues configuration information for registering plugin services to at least one ciphertext computing engine participating in a ciphertext computing task according to a computing function in the ciphertext computing task, wherein different plugin services are used for realizing different computing functions;
and the at least one ciphertext computing engine participating in the ciphertext computing task registers the corresponding plugin service according to the received configuration information, and executes the computing function of the plugin service corresponding to the calling request when monitoring the calling request aiming at the registered plugin service.
2. The method according to claim 1, wherein the ciphertext computing engine is configured with an interface for triggering remote invocation, the ciphertext computing engine participating in the ciphertext computing task performs information interaction through the interface for triggering remote invocation, and the information interaction comprises at least one of ciphertext data participating in computation, intermediate results of computation, a call request and an execution state.
3. The method according to claim 1, wherein the number of ciphertext computing engines participating in the ciphertext computing task is greater than 1, the ciphertext computing engines participating in the ciphertext computing task include a first ciphertext computing engine and at least one second ciphertext computing engine, and the task scheduling server issues configuration information for registering a plug-in service to the ciphertext computing engines participating in the ciphertext computing task according to a computing function in the ciphertext computing task, including:
and the task scheduling server sends the configuration information corresponding to the ciphertext computing task to the first ciphertext computing engine, and sends the configuration information corresponding to the subtask in the ciphertext computing task to the second ciphertext computing engine, wherein different subtasks correspond to different computing functions.
4. The method of claim 3, wherein the number of subtasks is greater than 1, and the sending the configuration information corresponding to the subtask in the ciphertext computing task to the second ciphertext computing engine comprises:
respectively sending the configuration information corresponding to different subtasks to different second ciphertext computing engines so that one second ciphertext computing engine registers a plug-in service; or
And sending the configuration information corresponding to the plurality of subtasks to the same second ciphertext computing engine so that one second ciphertext computing engine registers a plurality of plug-in services.
5. The method of claim 3, wherein the ciphertext computing engine participating in the ciphertext computing task registers the corresponding plug-in service according to the received configuration information, comprising:
the second ciphertext computing engine participating in the ciphertext computing task registers corresponding plugin service according to the received configuration information;
the method further comprises the following steps:
and after the second ciphertext computing engine registers the corresponding plugin service, starting the registered plugin service, and monitoring a call request aiming at the registered plugin service.
6. The method of claim 3, wherein after the task scheduling server sends the configuration information corresponding to the ciphertext computation task to the first ciphertext computation engine and sends the configuration information corresponding to the subtask of the ciphertext computation task to the second ciphertext computation engine, the method further comprises:
the task scheduling server starts the first ciphertext computing engine to execute the ciphertext computing task;
the first ciphertext computing engine requests the task scheduling server to acquire address information of a second ciphertext computing engine corresponding to the subtask when the subtask is executed in the process of executing the ciphertext computing task;
and the first ciphertext computing engine sends a calling request to a second ciphertext computing engine corresponding to the address information through an interface triggering remote calling, wherein the calling request comprises a plug-in service name and a computing parameter.
7. The method according to claim 6, wherein when the call request for the registered plug-in service is intercepted, executing the computing function of the plug-in service corresponding to the call request comprises:
when a second ciphertext computing engine corresponding to the address information monitors a calling request, calling a plugin service corresponding to the plugin service name to execute a corresponding computing function on the computing parameter;
the method further comprises the following steps:
and after the second ciphertext computing engine corresponding to the address information executes the corresponding computing function, returning an execution state to the first ciphertext computing engine.
8. A task processing device is applied to a multi-party secure computing system, wherein the multi-party secure computing system comprises a task scheduling server and ciphertext computing engines, each ciphertext computing engine comprises at least two ciphertext computing nodes, and the device comprises:
the configuration issuing module is used for issuing configuration information for registering plugin services to at least one ciphertext computing engine participating in a ciphertext computing task through the task scheduling server according to the computing function in the ciphertext computing task, wherein different plugin services are used for realizing different computing functions;
and the function execution module is used for registering corresponding plug-in services according to the received configuration information through the at least one ciphertext computing engine participating in the ciphertext computing task and executing the computing function of the plug-in service corresponding to the call request when monitoring the call request aiming at the registered plug-in services.
9. An apparatus for task processing, applied to a multi-party secure computing system including a task scheduling server and ciphertext computing engines, each ciphertext computing engine including at least two ciphertext computing nodes, the apparatus comprising a memory, and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for:
the task scheduling server issues configuration information for registering plugin services to at least one ciphertext computing engine participating in a ciphertext computing task according to a computing function in the ciphertext computing task, wherein different plugin services are used for realizing different computing functions;
and the at least one ciphertext computing engine participating in the ciphertext computing task registers the corresponding plugin service according to the received configuration information, and executes the computing function of the plugin service corresponding to the calling request when monitoring the calling request aiming at the registered plugin service.
10. A machine-readable medium having stored thereon instructions, which when executed by one or more processors, cause an apparatus to perform the task processing method of any of claims 1 to 7.
CN202010899593.5A 2020-08-31 2020-08-31 Task processing method and device for task processing Active CN112187862B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010899593.5A CN112187862B (en) 2020-08-31 2020-08-31 Task processing method and device for task processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010899593.5A CN112187862B (en) 2020-08-31 2020-08-31 Task processing method and device for task processing

Publications (2)

Publication Number Publication Date
CN112187862A true CN112187862A (en) 2021-01-05
CN112187862B CN112187862B (en) 2023-08-08

Family

ID=73924654

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010899593.5A Active CN112187862B (en) 2020-08-31 2020-08-31 Task processing method and device for task processing

Country Status (1)

Country Link
CN (1) CN112187862B (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113468564A (en) * 2021-06-30 2021-10-01 华控清交信息科技(北京)有限公司 Data processing method and device, electronic equipment and storage medium
CN113486332A (en) * 2021-07-22 2021-10-08 华控清交信息科技(北京)有限公司 Computing node, privacy computing system and loading method of algorithm engine
CN113517977A (en) * 2021-09-09 2021-10-19 华控清交信息科技(北京)有限公司 Data processing method and device and data processing device
CN114422637A (en) * 2021-12-20 2022-04-29 阿里巴巴(中国)有限公司 Media request processing method and cross-platform engine system

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101237474A (en) * 2007-01-30 2008-08-06 马克波特有限公司 A communications system
CN108282334A (en) * 2018-04-13 2018-07-13 济南浪潮高新科技投资发展有限公司 It is a kind of based on the multi-party key agreement device of block chain, method and system
CN110166446A (en) * 2019-05-13 2019-08-23 矩阵元技术(深圳)有限公司 A kind of implementation method at the geographical weighted average center based on multi-party computations
CN110752924A (en) * 2019-10-30 2020-02-04 四川长虹电器股份有限公司 Key safety management method based on safety multi-party calculation
CN110880972A (en) * 2019-11-26 2020-03-13 复旦大学 Block chain key management system based on safe multiparty calculation
CN111045688A (en) * 2019-12-06 2020-04-21 支付宝(杭州)信息技术有限公司 Method and system for model safe deployment and prediction
CN111045797A (en) * 2019-10-31 2020-04-21 华控清交信息科技(北京)有限公司 Task scheduling execution method, related device and medium

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101237474A (en) * 2007-01-30 2008-08-06 马克波特有限公司 A communications system
CN108282334A (en) * 2018-04-13 2018-07-13 济南浪潮高新科技投资发展有限公司 It is a kind of based on the multi-party key agreement device of block chain, method and system
CN110166446A (en) * 2019-05-13 2019-08-23 矩阵元技术(深圳)有限公司 A kind of implementation method at the geographical weighted average center based on multi-party computations
CN110752924A (en) * 2019-10-30 2020-02-04 四川长虹电器股份有限公司 Key safety management method based on safety multi-party calculation
CN111045797A (en) * 2019-10-31 2020-04-21 华控清交信息科技(北京)有限公司 Task scheduling execution method, related device and medium
CN110880972A (en) * 2019-11-26 2020-03-13 复旦大学 Block chain key management system based on safe multiparty calculation
CN111045688A (en) * 2019-12-06 2020-04-21 支付宝(杭州)信息技术有限公司 Method and system for model safe deployment and prediction

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
安小君等: "基于ASP技术的资产管理系统的设计与实现", 《武汉理工大学学报》, no. 03 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113468564A (en) * 2021-06-30 2021-10-01 华控清交信息科技(北京)有限公司 Data processing method and device, electronic equipment and storage medium
CN113486332A (en) * 2021-07-22 2021-10-08 华控清交信息科技(北京)有限公司 Computing node, privacy computing system and loading method of algorithm engine
CN113517977A (en) * 2021-09-09 2021-10-19 华控清交信息科技(北京)有限公司 Data processing method and device and data processing device
CN113517977B (en) * 2021-09-09 2021-11-30 华控清交信息科技(北京)有限公司 Data processing method and device and data processing device
CN114422637A (en) * 2021-12-20 2022-04-29 阿里巴巴(中国)有限公司 Media request processing method and cross-platform engine system
CN114422637B (en) * 2021-12-20 2023-12-29 阿里巴巴(中国)有限公司 Media request processing method and cross-platform engine system

Also Published As

Publication number Publication date
CN112187862B (en) 2023-08-08

Similar Documents

Publication Publication Date Title
CN112187862B (en) Task processing method and device for task processing
CN113014625B (en) Task processing method and device for task processing
CN110858173A (en) Data processing method and device and data processing device
CN115237613B (en) Multi-party secure computing task scheduling method and device and readable storage medium
CN113094744A (en) Information processing method, service platform, device for information processing and multi-party secure computing system
CN113254956A (en) Data processing method and device and data processing device
CN113420338A (en) Data processing method and device and data processing device
CN112131135B (en) Ciphertext operation debugging method and system and device for ciphertext operation debugging
CN112839065B (en) Information processing method, information processing device, first equipment and storage medium
CN112364390A (en) Data processing method and device and data processing device
CN114885038B (en) Encryption protocol conversion method, result acquisition node and privacy calculation node
CN114430410B (en) System access method, device and equipment based on virtual domain name
CN110908814A (en) Message processing method and device, electronic equipment and storage medium
CN112929271B (en) Route configuration method and device for configuring route
CN112287380B (en) Data processing method and device and data processing device
CN113139205B (en) Secure computing method, general computing engine, device for secure computing and secure computing system
CN114915455A (en) Ciphertext data transmission method and device for ciphertext data transmission
CN112468290A (en) Data processing method and device and data processing device
CN113206832B (en) Data processing method and device and data processing device
CN113517977B (en) Data processing method and device and data processing device
CN116233135B (en) Data transmission method, system, device and readable storage medium
CN114721913B (en) Method and device for generating data flow graph
CN112187854B (en) Task processing method and device for task processing
CN110311968B (en) Method and device for loading file in streaming mode and intelligent equipment
CN112383639B (en) Micro service balancing method and device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant