CN112187862A - 一种任务处理方法、装置和用于任务处理的装置 - Google Patents

一种任务处理方法、装置和用于任务处理的装置 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
English (en)
Other versions
CN112187862B (zh
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/zh
Publication of CN112187862A publication Critical patent/CN112187862A/zh
Application granted granted Critical
Publication of CN112187862B publication Critical patent/CN112187862B/zh
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

本发明实施例提供一种任务处理方法、装置和用于任务处理的装置,应用于多方安全计算***,多方安全计算***中包括任务调度服务器和密文计算引擎,每个密文计算引擎中包括至少两个密文计算节点。所述方法包括:任务调度服务器根据密文计算任务中的计算功能,向至少一个参与所述密文计算任务的密文计算引擎下发用于注册插件服务的配置信息,其中,不同插件服务用于实现不同的计算功能;所述至少一个参与所述密文计算任务的密文计算引擎,根据接收到的配置信息注册相应的插件服务,并在监听到针对已注册的插件服务的调用请求时,执行所述调用请求对应插件服务的计算功能。本发明实施例可以降低扩展密文计算节点的计算功能的难度,减少开发成本。

Description

一种任务处理方法、装置和用于任务处理的装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种任务处理方法、装置和用于任务处理的装置。
背景技术
MPC(Secure Multi-Party Computation,多方安全计算)***,用于解决针对无可信第三方情况下,安全地进行多方协同的计算问题。多方安全计算***要求输入数据均处于密文状态,即在一个分布式网络中,多个参与实体各自持有秘密输入,各方希望共同完成对某函数的计算,而要求每个参与实体除计算结果外均不能得到其他参与实体的任何输入信息,从而保证数据的隐私安全。
发明内容
本发明实施例提供一种任务处理方法、装置和用于任务处理的装置,可以降低扩展密文计算节点的计算功能的难度,减少开发成本。
为了解决上述问题,本发明实施例公开了一种任务处理方法,应用于多方安全计算***,所述多方安全计算***中包括任务调度服务器和密文计算引擎,每个密文计算引擎中包括至少两个密文计算节点,所述方法包括:
所述任务调度服务器根据密文计算任务中的计算功能,向至少一个参与所述密文计算任务的密文计算引擎下发用于注册插件服务的配置信息,其中,不同插件服务用于实现不同的计算功能;
所述至少一个参与所述密文计算任务的密文计算引擎,根据接收到的配置信息注册相应的插件服务,并在监听到针对已注册的插件服务的调用请求时,执行所述调用请求对应插件服务的计算功能。
另一方面,本发明实施例公开了一种任务处理装置,应用于多方安全计算***,所述多方安全计算***中包括任务调度服务器和密文计算引擎,每个密文计算引擎中包括至少两个密文计算节点,所述装置包括:
配置下发模块,用于通过所述任务调度服务器根据密文计算任务中的计算功能,向至少一个参与所述密文计算任务的密文计算引擎下发用于注册插件服务的配置信息,其中,不同插件服务用于实现不同的计算功能;
功能执行模块,用于通过所述至少一个参与所述密文计算任务的密文计算引擎根据接收到的配置信息注册相应的插件服务,并在监听到针对已注册的插件服务的调用请求时,执行所述调用请求对应插件服务的计算功能。
再一方面,本发明实施例公开了一种用于任务处理的装置,应用于多方安全计算***,所述多方安全计算***中包括任务调度服务器和密文计算引擎,每个密文计算引擎中包括至少两个密文计算节点,所述装置包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
所述任务调度服务器根据密文计算任务中的计算功能,向至少一个参与所述密文计算任务的密文计算引擎下发用于注册插件服务的配置信息,其中,不同插件服务用于实现不同的计算功能;
所述至少一个参与所述密文计算任务的密文计算引擎,根据接收到的配置信息注册相应的插件服务,并在监听到针对已注册的插件服务的调用请求时,执行所述调用请求对应插件服务的计算功能。
又一方面,本发明实施例公开了一种机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行如前述一个或多个所述的任务处理方法。
本发明实施例包括以下优点:
本发明实施例在多方安全计算***中,通过对至少一个参与密文计算任务的密文计算引擎下发用于注册插件服务的配置信息,使得注册插件服务的密文计算引擎可以实现相应的计算功能,无需专业人员在现有计算节点的框架下进行复杂的代码编程,可以降低扩展密文计算节点的计算功能的难度,减少开发成本。此外,注册插件服务的密文计算引擎可以监听针对已注册的插件服务的调用请求,并且在监听到针对已注册的插件服务的调用请求时,执行所述调用请求对应插件服务的计算功能。也即,注册插件服务的密文计算引擎可以响应其他密文计算引擎的调用,以实现任务的流式处理,提高任务的执行效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的一种任务处理方法实施例的步骤流程图;
图2是本发明的一种利用n个第二密文计算引擎进行任务处理的流程示意图;
图3是本发明的一种任务处理装置实施例的结构框图;
图4是本发明的一种用于任务处理的装置800的框图;
图5是本发明的一些实施例中服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一个多方计算***中可以包括多个密文计算引擎,一个密文计算引擎可用于执行一个特定的密文计算任务,一个密文计算引擎包括至少两个密文计算节点。通常,一个密文计算引擎一次只能执行一个密文计算任务,且一个密文计算引擎可支持的计算功能也是有限的,如果需要扩展计算节点的计算功能,需要专业人员在现有计算节点的框架下进行复杂的代码编程,导致扩展计算节点计算功能的流程较为繁琐,扩展难度较高,实现效率较低。为解决上述问题,本申请提供如下方案。
方法实施例
参照图1,示出了本发明的一种任务处理方法实施例的步骤流程图,所述方法应用于多方安全计算***,所述多方安全计算***中包括任务调度服务器和密文计算引擎,每个密文计算引擎中包括至少两个密文计算节点,所述方法具体可以包括如下步骤:
步骤101、所述任务调度服务器根据密文计算任务中的计算功能,向至少一个参与所述密文计算任务的密文计算引擎下发用于注册插件服务的配置信息,其中,不同插件服务用于实现不同的计算功能;
步骤102、所述至少一个参与所述密文计算任务的密文计算引擎,根据接收到的配置信息注册相应的插件服务,并在监听到针对已注册的插件服务的调用请求时,执行所述调用请求对应插件服务的计算功能。
本发明实施例提供的任务处理方法可应用于多方安全计算***,所述多方安全计算***中包括任务调度服务器和密文计算引擎,每个密文计算引擎中包括至少两个密文计算节点。所述多方安全计算***中还可以包括DS(Data Server,数据方)。数据方可以提供数据存储、数据提供、计算结果存储等服务。
所述任务调度服务器用于生成密文计算任务,并且调度密文计算引擎执行该密文计算任务。参与该密文计算任务的密文计算引擎,利用其包含的至少两个密文计算节点进行协同计算以完成所述任务调度服务器生成的密文计算任务。
需要说明的是,本发明实施例对参与一个密文计算任务的密文计算引擎的数量不做限制,对一个密文计算引擎中的密文计算节点的数量也不做限制。在一个优选实施例中,一个密文计算引擎中可以包括四个密文计算节点。
所述密文计算任务包括但不限于:基于密文实现数据的计算、清洗、分析、模型训练、存储、数据库查询等数据相关操作。可以理解,本发明实施例对密文计算任务的具体类型不加以限制。
所述任务调度服务器可以根据密文计算任务中的计算功能,向至少一个参与所述密文计算任务的密文计算引擎下发用于注册插件服务的配置信息,其中,不同插件服务用于实现不同的计算功能。
在本发明实施例中,可以将一个密文计算任务分解成多个计算功能,利用不同的密文计算引擎实现其中一个或多个计算功能。这样,一个密文计算任务可以由多个密文计算引擎共同完成,相对于由一个密文计算引擎完成一个密文计算任务,可以减轻密文计算引擎的计算压力,进而可以提高密文计算任务的执行效率。
示例1中,假设一个密文计算任务中包括store(存)、fetch(取)、del(删)这三个计算功能,任务调度服务器可以将实现store计算功能对应的插件服务的配置信息发送给密文计算引擎如计算引擎1,计算引擎1通过该配置信息可以注册用于实现store计算功能的插件服务,使得计算引擎1具有store计算功能;任务调度服务器将实现fetch计算功能对应的插件服务的配置信息发送给密文计算引擎如计算引擎2,计算引擎2通过该配置信息可以注册用于实现store计算功能的插件服务,使得计算引擎2具有fetch计算功能;任务调度服务器将实现del计算功能对应的插件服务的配置信息发送给密文计算引擎如计算引擎3,计算引擎3通过该配置信息可以注册用于实现del计算功能的插件服务,使得计算引擎3具有del计算功能。
在本发明实施例中,密文计算引擎根据配置文件注册插件服务,指的是该密文计算引擎中的各密文计算节点根据配置文件注册插件服务,也即,同一个密文计算引擎中的每个密文计算节点注册相同的插件服务。
在本发明的一种可选实施例中,一个密文计算引擎中的密文计算节点可以包括第一密文计算节点和第二密文计算节点,第一密文计算节点可以是密文计算引擎中的任一密文计算节点,第二密文计算节点可以是该密文计算引擎中除第一密文计算节点外的其他密文计算节点。任务调度服务器可以将配置信息下发给密文计算引擎中的第一密文计算节点,第一密文计算节点将该配置信息同步给该密文计算引擎中的第二密文计算节点。这样,可以减少任务调度服务器与每个密文计算节点之间的交互,减轻任务调度服务器的负担,节省处理资源。
在本发明的一种可选实施例中,参与所述密文计算任务的密文计算引擎的数目大于1,所述参与所述密文计算任务的密文计算引擎包括第一密文计算引擎和至少一个第二密文计算引擎,所述任务调度服务器根据密文计算任务中的计算功能,向参与所述密文计算任务的密文计算引擎下发用于注册插件服务的配置信息,包括:
所述任务调度服务器将所述密文计算任务对应的配置信息发送给所述第一密文计算引擎,以及将所述密文计算任务中的子任务对应的配置信息发送给所述第二密文计算引擎,其中,不同子任务对应不同的计算功能。
在本发明实施例中,一个密文计算任务可以由一个第一密文计算引擎以及至少一个第二密文计算引擎共同完成。任务调度服务器将所述密文计算任务(本发明实施例称为主任务)对应的配置信息发送给所述第一密文计算引擎,主任务的配置信息中可以包括待执行的密文计算任务的标识、参与该密文计算任务的密文计算引擎的标识、参与该密文计算任务的数据方的标识等。第一密文计算引擎根据主任务的配置信息执行该主任务,并且在执行主任务的过程中根据主任务的配置信息调用第二密文计算引擎实现子任务,进而完成主任务。任务调度服务器将所述密文计算任务中的子任务对应的配置信息发送给第二密文计算引擎,子任务的配置信息中可以包括子任务的描述信息、插件服务的注册信息等。不同子任务可以对应不同的计算功能,使得第二密文计算引擎通过接收的子任务的配置信息注册相应计算功能的插件服务。
在本发明的一种可选实施例中,所述子任务的数量可以大于1,所述将所述密文计算任务中的子任务对应的配置信息发送给所述第二密文计算引擎,包括:
将不同子任务对应的配置信息分别发送给不同的第二密文计算引擎,以使一个第二密文计算引擎注册一个插件服务;或者
将多个子任务对应的配置信息发送给同一个第二密文计算引擎,以使一个第二密文计算引擎注册多个插件服务。
在本发明实施例中,一个密文计算引擎可以注册一个插件服务或者注册多个插件服务。任务调度服务器可以将不同子任务对应的配置信息分别发送给不同的第二密文计算引擎,以使一个第二密文计算引擎注册一个插件服务,完成一个子任务;或者,任务调度服务器可以将多个子任务对应的配置信息发送给同一个第二密文计算引擎,以使一个第二密文计算引擎注册多个插件服务,完成多个子任务。
示例2中,假设密文计算任务为:将数据d1加1后存入d2,并删除d1。其中,d1、d2、以及数值1均为密文。
该密文计算任务中包含如下3个子任务:子任务1、调用fetch功能取一个key(键值)为k1的数据d1。子任务2、调用store功能将数据d2存入键值k2,其中,d2=d1+1。子任务3、调用del功能删除k1对应的数据d1。
假设参与该密文计算任务的密文计算引擎包括计算引擎1、计算引擎2和计算引擎3,以及参与该密文计算任务的数据方包括DS1,DS1用于提供密文数据d1。其中,计算引擎3为第一密文计算引擎,计算引擎1和计算引擎2为第二密文计算引擎,且子任务1由计算引擎1执行,子任务2和子任务3由计算引擎2执行。任务调度服务器将该密文计算任务(主任务)的配置文件发送给计算引擎3,计算引擎3在执行主任务的过程中通过调用计算引擎1和计算引擎2执行子任务,以共同完成主任务。任务调度服务器将该密文计算任务的子任务1的配置文件发送给计算引擎1,计算引擎1注册子任务1对应计算功能的插件服务,以实现子任务1的计算功能。任务调度服务器将该密文计算任务的子任务2的配置文件和子任务3的配置文件发送给计算引擎2,计算引擎2分别注册子任务2对应计算功能的插件服务和子任务3对应计算功能的插件服务,以实现子任务2和子任务3的计算功能。
在本发明的一种可选实施例中,所述参与所述密文计算任务的密文计算引擎,根据接收到的配置信息注册相应的插件服务,包括:参与所述密文计算任务的第二密文计算引擎,根据接收到的配置信息注册相应的插件服务;
所述方法还可以包括:所述第二密文计算引擎在注册相应的插件服务之后,启动已注册的插件服务,监听针对已注册的插件服务的调用请求。
在本发明实施例中,第一密文计算引擎用于执行主任务,第二密文计算引擎用于注册相应的插件服务,以实现所述主任务中的一个或多个子任务。
第二密文计算引擎初始启动时可以是无状态的,在接收到任务调度服务器发送的配置文件之后,通过该配置文件可以注册相应的插件服务。在注册插件服务之后,第二密文计算引擎具有该插件服务对应的计算功能,第二密文计算引擎可以启动一个服务来监听针对该插件服务的调用请求,在监听到该调用请求时,响应该调用请求,启动线程来执行该插件服务对应的计算功能。进一步地,在该计算功能执行完成之后,该第二密文计算引擎可以继续监听针对该插件服务的调用请求,以等待响应下一次的调用请求。
可选地,在所述密文计算任务执行完毕之后,所述第二密文计算引擎可以重新初始化为无状态,以便注册其他功能的插件服务。
在本发明的一种可选实施例中,所述计算功能可以包括单一计算功能或者组合计算功能。单一计算功能可以是数据的读取、存储、删除等简单计算功能。组合计算功能可以是由多个单一计算功能组成的复杂计算功能,如数据的加、减、乘、除、比较、排序、模型训练等。
进一步地,在实际应用中,不同的计算功能可能需要不同类型的计算资源,本发明实施例可以根据计算功能所需的计算资源类型,对插件服务的类型进行划分。例如,所述插件服务的类型包括但不限于计算密集类型和存储密集类型。计算密集类型的插件服务可以通过多个密文计算引擎组成的计算集群来实现。存储密集类型的插件服务可以通过多个密文计算引擎组成的存储***来实现。在具体实施中,可以根据不同的计算功能选择相应插件服务类型的密文计算引擎。
在本发明的一种可选实施例中,所述密文计算引擎配置有触发远程调用的接口,所述参与所述密文计算任务的密文计算引擎通过所述触发远程调用的接口进行信息交互,交互的信息包括参与计算的密文数据、计算的中间结果、调用请求、执行状态中的至少一种。
本发明实施例在密文计算引擎中增加触发远程调用的接口,使得参与密文计算任务的密文计算引擎之间可以通过该接口直接进行信息交互,而不用每次都通过DS或cache(缓存)完成信息的中转,可以提高密文计算任务的处理效率。其中,交互的信息包括但不限于参与计算的密文数据、计算的中间结果、调用请求、执行状态中的至少一种。
在本发明实施例中,所述密文计算任务的最终计算结果以及所述中间结果均为密文,在执行密文计算任务的过程中,不会暴露数据的明文。
可以理解,本发明实施例对所述触发远程调用的接口的类型不做限制。一个示例中,所述触发远程调用的接口的数据传输方式可以基于grpc(Google Remote ProcedureCall,Google远程过程调用)协议,该接口可以为protobuf(Google Protocol Buffer,Google协议缓冲区)接口。
需要说明的是,所述插件服务可以是用户自定义的函数,可以根据实际需求定义插件服务中的具体内容以及插件服务的返回值。例如,可以定义某个插件服务一次只向一个密文计算引擎发送数据,或者,可以定义某个插件服务一次可以向多个密文计算引擎发送数据,或者,可以定义某个插件服务不发送数据。此外,还可以定义某个插件服务是否有返回值,如果定义某个插件服务有返回值,则该插件服务所在的密文计算引擎可以通过触发远程调用的接口向调用方返回该返回值。
在本发明的一种可选实施例中,所述任务调度服务器将所述密文计算任务对应的配置信息发送给所述第一密文计算引擎,以及将所述密文计算任务中的子任务对应的配置信息发送给所述第二密文计算引擎之后,所述方法还可以包括:
步骤S11、所述任务调度服务器启动所述第一密文计算引擎执行所述密文计算任务;
步骤S12、所述第一密文计算引擎在执行所述密文计算任务的过程中,在执行到所述子任务时,向所述任务调度服务器请求获取所述子任务对应的第二密文计算引擎的地址信息;
步骤S13、所述第一密文计算引擎通过触发远程调用的接口,向所述地址信息对应的第二密文计算引擎发送调用请求,所述调用请求中包括插件服务名称和计算参数。
在本发明实施例中,第一密文计算引擎用于执行所述密文计算任务(主任务),并且在执行所述密文计算任务的过程中,通过调用相应的第二密文计算引擎执行所述密文计算任务中的各个子任务,以共同完成所述密文计算任务。
不同的第二密文计算引擎注册有不同的插件服务,所述插件服务可以是用户自定义的函数,每个插件服务对应有插件服务名称,插件服务名称可供其他密文计算引擎调用该插件服务时使用。
第一密文计算引擎在执行到子任务时,向任务调度服务器请求获取待执行子任务的第二密文计算引擎的地址信息,在接收到任务调度服务器返回的地址信息之后,第一密文计算引擎通过触发远程调用的接口,向该地址信息对应的第二密文计算引擎发送调用请求,以调用该第二密文计算引擎中注册的插件服务,执行相应的子任务。
所述调用请求中可以携带有插件服务名称和计算参数。插件服务名称为需要调用的插件服务的名称。计算参数为需要调用的插件服务的传入参数,该插件服务可以根据传入的计算参数执行相应的计算功能。调用请求中除了包括插件服务名称和计算参数,还可以包括其他参数,例如待调用的第二密文计算引擎的名称等。
在本发明实施例中,第一密文计算引擎在执行密文计算任务(主任务)的过程中,可以从主任务的配置信息中获取待执行子任务的第二密文计算引擎的标识,进而可以向任务调度服务器请求获取该标识对应的第二密文计算引擎的地址信息,在接收到任务调度服务器返回的地址信息之后,第一密文计算引擎通过触发远程调用的接口,向该地址信息对应的第二密文计算引擎发送调用请求。其中,待执行子任务的第二密文计算引擎的地址信息可以包括该第二密文计算引擎中各密文计算节点的IP(Internet Protocol,网际互连协议)地址和端口号。
仍以示例2为例,密文计算任务(主任务)为:将数据d1加1后存入d2,并删除d1。其中,d1、d2、以及数值1均为密文。该密文计算任务中包含3个子任务,任务调度服务器将主任务分配给计算引擎3,将子任务1分配给计算引擎1,以及将子任务2和子任务3分配给计算引擎2。任务调度服务器将子任务1的配置文件发送给计算引擎1,将子任务2的配置文件和子任务3的配置文件发送给计算引擎2。
计算引擎1和计算引擎2分别根据各自接收的配置文件,注册相应的插件服务,并且监听针对已注册的插件服务的调用请求。假设将子任务1对应计算功能的插件服务记为handler1,将子任务2对应计算功能的插件服务记为handler2,以及将子任务3对应计算功能的插件服务记为handler3。在示例2中,计算引擎1注册handler1,计算引擎2注册handler2和handler3。handler1对应的计算功能为:取一个key为k1的数据d1。handler2对应的计算功能为:将d2存入k2。handler3对应的计算功能为:删除k1对应的数据d1。
计算引擎3启动该主任务之后,首先需要调用计算引擎1执行子任务1,具体地,计算引擎3向任务调度服务器发送计算引擎1的标识,请求获取计算引擎1的地址信息。在计算引擎3接收到任务调度服务器返回的计算引擎1的地址信息之后,通过触发远程调用的接口,向计算引擎1发送针对handler1的调用请求,该调用请求中包括插件服务名称fetch以及计算参数k1。计算引擎1在监听到针对handler1的调用请求后,响应该调用请求,开启线程执行handler1的计算功能,如从DS1获取key为k1的数据d1,并通过触发远程调用的接口将数据d1返回给计算引擎3。
在本发明的一种可选实施例中,所述在监听到针对已注册的插件服务的调用请求时,执行所述调用请求对应插件服务的计算功能,包括:所述地址信息对应的第二密文计算引擎在监听到调用请求时,调用所述插件服务名称对应的插件服务对所述计算参数执行相应的计算功能;
所述方法还包括:所述地址信息对应的第二密文计算引擎在执行相应的计算功能之后,向所述第一密文计算引擎返回执行状态。
第一密文计算引擎(如计算引擎3)获取待执行子任务(如子任务1)的第二密文计算引擎(如计算引擎1)的地址信息之后,向该地址信息对应的第二密文计算引擎(计算引擎1)发送调用请求,调用请求中包括插件服务名称(如fetch)和计算参数(k1)。计算引擎1在监听到该调用请求时,调用插件服务名称(fetch)对应的插件服务(handler1)对所述计算参数(k1)执行相应的计算功能,也即读取(fetch)k1的值。
在本发明实施例中,第二密文计算引擎在响应调用请求执行相应的计算功能之后,可以在执行该计算功能的过程中以及在执行完成之后,向第一密文计算引擎返回执行状态。例如,可以周期性地向第一密文计算引擎返回执行状态,所述执行状态可以包括执行中、已完成、未完成、异常等。第一密文计算引擎可以根据调用的第二密文计算引擎返回的执行状态判断是否执行下一步的计算。
进一步地,第一密文计算引擎也可以周期性地向任务调度服务器反馈自身的执行状态,以使任务调度服务器可以根据第一密文计算引擎反馈的执行状态判断是否执行下一步的任务调度。
为了更清楚地描述本发明实施例的任务处理方法,仍以示例2为例说明第一密文计算引擎调用第二密文计算引擎执行各子任务的步骤,具体如下:
第1步、计算引擎3首先需要调用计算引擎1执行子任务1,具体地,计算引擎3向任务调度服务器发送计算引擎1的标识,请求获取计算引擎1的地址信息。在计算引擎3接收到任务调度服务器返回的计算引擎1的地址信息之后,通过触发远程调用的接口,向计算引擎1发送针对handler1的调用请求,该调用请求中包括插件服务名称fetch以及计算参数k1。计算引擎1在监听到针对handler1的调用请求后,响应该调用请求,开启线程执行handler1的计算功能,如从DS1获取key为k1的数据d1,并通过触发远程调用的接口将数据d1返回给计算引擎3。
第2步、计算引擎3通过触发远程调用的接口接收到数据d1后,执行计算d2=d1+1的操作,并生成键值k2。
第3步、计算引擎3接下来需要调用计算引擎2执行子任务2,具体地,计算引擎3向任务调度服务器发送计算引擎2的标识,请求获取计算引擎2的地址信息。在计算引擎3接收到任务调度服务器返回的计算引擎2的地址信息之后,通过触发远程调用的接口,向计算引擎2发送针对handler2的调用请求,该调用请求中包括插件服务名称store以及计算参数k2和d2。计算引擎2在监听到针对handler2的调用请求后,响应该调用请求,开启线程执行handler2的计算功能,将d2存入键值k2,并向计算引擎3返回已完成的执行状态。
第4步、计算引擎3接收到计算引擎2返回的已完成的执行状态之后,需要调用计算引擎2执行子任务3,具体地,计算引擎3向任务调度服务器发送计算引擎2的标识,请求获取计算引擎2的地址信息。在计算引擎3接收到任务调度服务器返回的计算引擎2的地址信息之后,通过触发远程调用的接口,向计算引擎2发送针对handler3的调用请求,该调用请求中包括插件服务名称del以及计算参数k1。计算引擎2在监听到针对handler3的调用请求后,响应该调用请求,开启线程执行handler3的计算功能,删除k1对应的数据d1,并向计算引擎3返回已完成的执行状态。
第5步、计算引擎3向任务调度服务器返回已完成的执行状态,该密文计算任务执行完毕。
可选地,第一密文计算引擎在获取任务调度服务器返回的第二密文计算引擎的地址信息之后,可以保存第二密文计算引擎的地址信息和第二密文计算引擎的标识之间的映射关系。这样,在第一密文计算引擎向任务调度服务器发送待执行子任务的第二密文计算引擎的标识,请求获取该子任务对应的第二密文计算引擎的地址信息之前,可以在已保存的映射关系中查询是否存在该子任务对应的第二密文计算引擎的地址信息,如果有,则不用向任务调度服务器请求获取该子任务对应的第二密文计算引擎的地址信息。
例如,在上述第3步中,计算引擎3接收到任务调度服务器返回的计算引擎2的地址信息之后,可以记录计算引擎2的地址信息和计算引擎2的标识之间的映射关系。在第4步中,计算引擎3根据该映射关系可以直接获取计算引擎2的地址信息,可以减少第二密文计算引擎与任务调度服务器之间的交互,减少数据传输压力,提高计算效率。
需要说明的是,上述示例2中以计算引擎1和计算引擎2两个第二密文计算引擎执行子任务为例,在实际应用中,本发明实施例对一个密文计算任务分解的子任务的数量以及第二密文计算引擎的数量不做限制。参照图2,示出了本发明实施例的一种利用n个第二密文计算引擎进行任务处理的流程示意图,n为正整数。如图2所示,第二密文计算引擎包括计算引擎1、计算引擎2、…、计算引擎n,其中,计算引擎1根据配置信息1注册插件服务handler1,计算引擎2根据配置信息2注册插件服务handler2,以此类推,计算引擎n根据配置信息n注册插件服务handlern。其中,每个第二密文计算引擎可以通过一个任务控制器进行管控。可以理解,第一密文计算引擎(图2中未示出)也可以通过一个任务控制器进行管控。
如图2所示,本发明实施例通过自定义的插件服务(handler1~handlern)可以实现不同的计算功能,进而在密文计算***中,可以将一个密文计算任务分解成多个子任务,并且将多个子任务分配给至少一个(如n个)第二密文计算引擎,由此可以按照自定义的需求将一个密文计算任务中的子任务以插件的方式串接起来,实现密文计算任务的流式处理,可以减轻参与密文计算任务的各密文计算引擎(包括第一密文计算引擎和第二密文计算引擎)的计算压力,以及提高密文计算任务的执行效率。
综上,本发明实施例在多方安全计算***中,通过对至少一个参与密文计算任务的密文计算引擎下发用于注册插件服务的配置信息,使得注册插件服务的密文计算引擎可以实现相应的计算功能,无需专业人员在现有计算节点的框架下进行复杂的代码编程,可以降低扩展密文计算节点的计算功能的难度,减少开发成本。此外,注册插件服务的密文计算引擎可以监听针对已注册的插件服务的调用请求,并且在监听到针对已注册的插件服务的调用请求时,执行所述调用请求对应插件服务的计算功能。也即,注册插件服务的密文计算引擎可以响应其他密文计算引擎的调用,以实现任务的流式处理,提高任务的执行效率。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
装置实施例
参照图3,示出了本发明的一种任务处理装置实施例的结构框图,所述装置应用于多方安全计算***,所述多方安全计算***中包括任务调度服务器和密文计算引擎,每个密文计算引擎中包括至少两个密文计算节点,所述装置具体可以包括:
配置下发模块301,用于通过所述任务调度服务器根据密文计算任务中的计算功能,向至少一个参与所述密文计算任务的密文计算引擎下发用于注册插件服务的配置信息,其中,不同插件服务用于实现不同的计算功能;
功能执行模块302,用于通过所述至少一个参与所述密文计算任务的密文计算引擎根据接收到的配置信息注册相应的插件服务,并在监听到针对已注册的插件服务的调用请求时,执行所述调用请求对应插件服务的计算功能。
可选地,所述密文计算引擎配置有触发远程调用的接口,所述参与所述密文计算任务的密文计算引擎通过所述触发远程调用的接口进行信息交互,交互的信息包括参与计算的密文数据、计算的中间结果、调用请求、执行状态中的至少一种。
可选地,参与所述密文计算任务的密文计算引擎的数目大于1,所述参与所述密文计算任务的密文计算引擎包括第一密文计算引擎和至少一个第二密文计算引擎,所述配置下发模块,具体用于通过所述任务调度服务器将所述密文计算任务对应的配置信息发送给所述第一密文计算引擎,以及将所述密文计算任务中的子任务对应的配置信息发送给所述第二密文计算引擎,其中,不同子任务对应不同的计算功能。
可选地,所述子任务的数量大于1,所述配置下发模块,具体用于将不同子任务对应的配置信息分别发送给不同的第二密文计算引擎,以使一个第二密文计算引擎注册一个插件服务;或者,将多个子任务对应的配置信息发送给同一个第二密文计算引擎,以使一个第二密文计算引擎注册多个插件服务。
可选地,所述功能执行模块,包括:
服务注册子模块,用于通过参与所述密文计算任务的第二密文计算引擎,根据接收到的配置信息注册相应的插件服务;
所述装置还包括:
服务监听模块,用于通过所述第二密文计算引擎在注册相应的插件服务之后,启动已注册的插件服务,监听针对已注册的插件服务的调用请求。
可选地,所述装置还包括:
任务启动模块,用于通过所述任务调度服务器启动所述第一密文计算引擎执行所述密文计算任务;
地址获取模块,用于通过所述第一密文计算引擎在执行所述密文计算任务的过程中,在执行到所述子任务时,向所述任务调度服务器请求获取所述子任务对应的第二密文计算引擎的地址信息;
功能调用模块,用于通过所述第一密文计算引擎通过触发远程调用的接口,向所述地址信息对应的第二密文计算引擎发送调用请求,所述调用请求中包括插件服务名称和计算参数。
可选地,所述功能执行模块,具体用于通过所述地址信息对应的第二密文计算引擎在监听到调用请求时,调用所述插件服务名称对应的插件服务对所述计算参数执行相应的计算功能;
所述装置还包括:
状态返回模块,用于通过所述地址信息对应的第二密文计算引擎在执行相应的计算功能之后,向所述第一密文计算引擎返回执行状态。
可选地,所述计算功能包括单一计算功能或者组合计算功能。
本发明实施例在多方安全计算***中,通过对至少一个参与密文计算任务的密文计算引擎下发用于注册插件服务的配置信息,使得注册插件服务的密文计算引擎可以实现相应的计算功能,无需专业人员在现有计算节点的框架下进行复杂的代码编程,可以降低扩展密文计算节点的计算功能的难度,减少开发成本。此外,注册插件服务的密文计算引擎可以监听针对已注册的插件服务的调用请求,并且在监听到针对已注册的插件服务的调用请求时,执行所述调用请求对应插件服务的计算功能。也即,注册插件服务的密文计算引擎可以响应其他密文计算引擎的调用,以实现任务的流式处理,提高任务的执行效率。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本发明实施例提供了一种用于任务处理的装置,应用于多方安全计算***,所述多方安全计算***中包括任务调度服务器和密文计算引擎,每个密文计算引擎中包括至少两个密文计算节点,所述装置包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:所述任务调度服务器根据密文计算任务中的计算功能,向至少一个参与所述密文计算任务的密文计算引擎下发用于注册插件服务的配置信息,其中,不同插件服务用于实现不同的计算功能;所述至少一个参与所述密文计算任务的密文计算引擎,根据接收到的配置信息注册相应的插件服务,并在监听到针对已注册的插件服务的调用请求时,执行所述调用请求对应插件服务的计算功能。
图4是根据一示例性实施例示出的一种用于任务处理的装置800的框图。例如,装置800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图4,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为装置800的各种组件提供电力。电源组件806可以包括电源管理***,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜***或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音信息处理模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和***接口模块之间提供接口,上述***接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理***的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频信息处理(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
图5是本发明的一些实施例中服务器的结构示意图。该服务器1900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以***处理器(central processingunits,CPU)1922(例如,一个或一个以上处理器)和存储器1932,一个或一个以上存储应用程序1942或数据1944的存储介质1930(例如一个或一个以上海量存储设备)。其中,存储器1932和存储介质1930可以是短暂存储或持久存储。存储在存储介质1930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1922可以设置为与存储介质1930通信,在服务器1900上执行存储介质1930中的一系列指令操作。
服务器1900还可以包括一个或一个以上电源1926,一个或一个以上有线或无线网络接口1950,一个或一个以上输入输出接口1958,一个或一个以上键盘1956,和/或,一个或一个以上操作***1941,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置(服务器或者终端)的处理器执行时,使得装置能够执行图1所示的任务处理方法。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置(服务器或者终端)的处理器执行时,使得装置能够执行一种任务处理方法,所述方法应用于多方安全计算***,所述多方安全计算***中包括任务调度服务器和密文计算引擎,每个密文计算引擎中包括至少两个密文计算节点,所述方法包括:所述任务调度服务器根据密文计算任务中的计算功能,向至少一个参与所述密文计算任务的密文计算引擎下发用于注册插件服务的配置信息,其中,不同插件服务用于实现不同的计算功能;所述至少一个参与所述密文计算任务的密文计算引擎,根据接收到的配置信息注册相应的插件服务,并在监听到针对已注册的插件服务的调用请求时,执行所述调用请求对应插件服务的计算功能。
本发明实施例公开了A1、一种任务处理方法,应用于多方安全计算***,所述多方安全计算***中包括任务调度服务器和密文计算引擎,每个密文计算引擎中包括至少两个密文计算节点,所述方法包括:
所述任务调度服务器根据密文计算任务中的计算功能,向至少一个参与所述密文计算任务的密文计算引擎下发用于注册插件服务的配置信息,其中,不同插件服务用于实现不同的计算功能;
所述至少一个参与所述密文计算任务的密文计算引擎,根据接收到的配置信息注册相应的插件服务,并在监听到针对已注册的插件服务的调用请求时,执行所述调用请求对应插件服务的计算功能。
A2、根据A1所述的方法,所述密文计算引擎配置有触发远程调用的接口,所述参与所述密文计算任务的密文计算引擎通过所述触发远程调用的接口进行信息交互,交互的信息包括参与计算的密文数据、计算的中间结果、调用请求、执行状态中的至少一种。
A3、根据A1所述的方法,参与所述密文计算任务的密文计算引擎的数目大于1,所述参与所述密文计算任务的密文计算引擎包括第一密文计算引擎和至少一个第二密文计算引擎,所述任务调度服务器根据密文计算任务中的计算功能,向参与所述密文计算任务的密文计算引擎下发用于注册插件服务的配置信息,包括:
所述任务调度服务器将所述密文计算任务对应的配置信息发送给所述第一密文计算引擎,以及将所述密文计算任务中的子任务对应的配置信息发送给所述第二密文计算引擎,其中,不同子任务对应不同的计算功能。
A4、根据A3所述的方法,所述子任务的数量大于1,所述将所述密文计算任务中的子任务对应的配置信息发送给所述第二密文计算引擎,包括:
将不同子任务对应的配置信息分别发送给不同的第二密文计算引擎,以使一个第二密文计算引擎注册一个插件服务;或者
将多个子任务对应的配置信息发送给同一个第二密文计算引擎,以使一个第二密文计算引擎注册多个插件服务。
A5、根据A3所述的方法,所述参与所述密文计算任务的密文计算引擎,根据接收到的配置信息注册相应的插件服务,包括:
参与所述密文计算任务的第二密文计算引擎,根据接收到的配置信息注册相应的插件服务;
所述方法还包括:
所述第二密文计算引擎在注册相应的插件服务之后,启动已注册的插件服务,监听针对已注册的插件服务的调用请求。
A6、根据A3所述的方法,所述任务调度服务器将所述密文计算任务对应的配置信息发送给所述第一密文计算引擎,以及将所述密文计算任务中的子任务对应的配置信息发送给所述第二密文计算引擎之后,所述方法还包括:
所述任务调度服务器启动所述第一密文计算引擎执行所述密文计算任务;
所述第一密文计算引擎在执行所述密文计算任务的过程中,在执行到所述子任务时,向所述任务调度服务器请求获取所述子任务对应的第二密文计算引擎的地址信息;
所述第一密文计算引擎通过触发远程调用的接口,向所述地址信息对应的第二密文计算引擎发送调用请求,所述调用请求中包括插件服务名称和计算参数。
A7、根据A6所述的方法,所述在监听到针对已注册的插件服务的调用请求时,执行所述调用请求对应插件服务的计算功能,包括:
所述地址信息对应的第二密文计算引擎在监听到调用请求时,调用所述插件服务名称对应的插件服务对所述计算参数执行相应的计算功能;
所述方法还包括:
所述地址信息对应的第二密文计算引擎在执行相应的计算功能之后,向所述第一密文计算引擎返回执行状态。
A8、根据A1至A7任一所述的方法,所述计算功能包括单一计算功能或者组合计算功能。
本发明实施例公开了B9、一种任务处理装置,应用于多方安全计算***,所述多方安全计算***中包括任务调度服务器和密文计算引擎,每个密文计算引擎中包括至少两个密文计算节点,所述装置包括:
配置下发模块,用于通过所述任务调度服务器根据密文计算任务中的计算功能,向至少一个参与所述密文计算任务的密文计算引擎下发用于注册插件服务的配置信息,其中,不同插件服务用于实现不同的计算功能;
功能执行模块,用于通过所述至少一个参与所述密文计算任务的密文计算引擎根据接收到的配置信息注册相应的插件服务,并在监听到针对已注册的插件服务的调用请求时,执行所述调用请求对应插件服务的计算功能。
B10、根据B9所述的装置,所述密文计算引擎配置有触发远程调用的接口,所述参与所述密文计算任务的密文计算引擎通过所述触发远程调用的接口进行信息交互,交互的信息包括参与计算的密文数据、计算的中间结果、调用请求、执行状态中的至少一种。
B11、根据B9所述的装置,其特征在于,参与所述密文计算任务的密文计算引擎的数目大于1,所述参与所述密文计算任务的密文计算引擎包括第一密文计算引擎和至少一个第二密文计算引擎,所述配置下发模块,具体用于通过所述任务调度服务器将所述密文计算任务对应的配置信息发送给所述第一密文计算引擎,以及将所述密文计算任务中的子任务对应的配置信息发送给所述第二密文计算引擎,其中,不同子任务对应不同的计算功能。
B12、根据B11所述的装置,所述子任务的数量大于1,所述配置下发模块,具体用于将不同子任务对应的配置信息分别发送给不同的第二密文计算引擎,以使一个第二密文计算引擎注册一个插件服务;或者,将多个子任务对应的配置信息发送给同一个第二密文计算引擎,以使一个第二密文计算引擎注册多个插件服务。
B13、根据B11所述的装置,所述功能执行模块,包括:
服务注册子模块,用于通过参与所述密文计算任务的第二密文计算引擎,根据接收到的配置信息注册相应的插件服务;
所述装置还包括:
服务监听模块,用于通过所述第二密文计算引擎在注册相应的插件服务之后,启动已注册的插件服务,监听针对已注册的插件服务的调用请求。
B14、根据B11所述的装置,所述装置还包括:
任务启动模块,用于通过所述任务调度服务器启动所述第一密文计算引擎执行所述密文计算任务;
地址获取模块,用于通过所述第一密文计算引擎在执行所述密文计算任务的过程中,在执行到所述子任务时,向所述任务调度服务器请求获取所述子任务对应的第二密文计算引擎的地址信息;
功能调用模块,用于通过所述第一密文计算引擎通过触发远程调用的接口,向所述地址信息对应的第二密文计算引擎发送调用请求,所述调用请求中包括插件服务名称和计算参数。
B15、根据B14所述的装置,所述功能执行模块,具体用于通过所述地址信息对应的第二密文计算引擎在监听到调用请求时,调用所述插件服务名称对应的插件服务对所述计算参数执行相应的计算功能;
所述装置还包括:
状态返回模块,用于通过所述地址信息对应的第二密文计算引擎在执行相应的计算功能之后,向所述第一密文计算引擎返回执行状态。
B16、根据B9至B15任一所述的装置,所述计算功能包括单一计算功能或者组合计算功能。
本发明实施例公开了C17、一种用于任务处理的装置,应用于多方安全计算***,所述多方安全计算***中包括任务调度服务器和密文计算引擎,每个密文计算引擎中包括至少两个密文计算节点,所述装置包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
所述任务调度服务器根据密文计算任务中的计算功能,向至少一个参与所述密文计算任务的密文计算引擎下发用于注册插件服务的配置信息,其中,不同插件服务用于实现不同的计算功能;
所述至少一个参与所述密文计算任务的密文计算引擎,根据接收到的配置信息注册相应的插件服务,并在监听到针对已注册的插件服务的调用请求时,执行所述调用请求对应插件服务的计算功能。
C18、根据C17所述的装置,所述密文计算引擎配置有触发远程调用的接口,所述参与所述密文计算任务的密文计算引擎通过所述触发远程调用的接口进行信息交互,交互的信息包括参与计算的密文数据、计算的中间结果、调用请求、执行状态中的至少一种。
C19、根据C17所述的装置,参与所述密文计算任务的密文计算引擎的数目大于1,所述参与所述密文计算任务的密文计算引擎包括第一密文计算引擎和至少一个第二密文计算引擎,所述任务调度服务器根据密文计算任务中的计算功能,向参与所述密文计算任务的密文计算引擎下发用于注册插件服务的配置信息,包括:
所述任务调度服务器将所述密文计算任务对应的配置信息发送给所述第一密文计算引擎,以及将所述密文计算任务中的子任务对应的配置信息发送给所述第二密文计算引擎,其中,不同子任务对应不同的计算功能。
C20、根据C19所述的装置,所述子任务的数量大于1,所述将所述密文计算任务中的子任务对应的配置信息发送给所述第二密文计算引擎,包括:
将不同子任务对应的配置信息分别发送给不同的第二密文计算引擎,以使一个第二密文计算引擎注册一个插件服务;或者
将多个子任务对应的配置信息发送给同一个第二密文计算引擎,以使一个第二密文计算引擎注册多个插件服务。
C21、根据C19所述的装置,所述参与所述密文计算任务的密文计算引擎,根据接收到的配置信息注册相应的插件服务,包括:
参与所述密文计算任务的第二密文计算引擎,根据接收到的配置信息注册相应的插件服务;
所述装置还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
所述第二密文计算引擎在注册相应的插件服务之后,启动已注册的插件服务,监听针对已注册的插件服务的调用请求。
C22、根据C19所述的装置,所述装置还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
所述任务调度服务器启动所述第一密文计算引擎执行所述密文计算任务;
所述第一密文计算引擎在执行所述密文计算任务的过程中,在执行到所述子任务时,向所述任务调度服务器请求获取所述子任务对应的第二密文计算引擎的地址信息;
所述第一密文计算引擎通过触发远程调用的接口,向所述地址信息对应的第二密文计算引擎发送调用请求,所述调用请求中包括插件服务名称和计算参数。
C23、根据C22所述的装置,所述在监听到针对已注册的插件服务的调用请求时,执行所述调用请求对应插件服务的计算功能,包括:
所述地址信息对应的第二密文计算引擎在监听到调用请求时,调用所述插件服务名称对应的插件服务对所述计算参数执行相应的计算功能;
所述装置还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
所述地址信息对应的第二密文计算引擎在执行相应的计算功能之后,向所述第一密文计算引擎返回执行状态。
C24、根据C17至C23任一所述的装置,所述计算功能包括单一计算功能或者组合计算功能。
本发明实施例公开了D25、一种机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行如A1至A8中一个或多个所述的任务处理方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
以上对本发明所提供的一种任务处理方法、一种任务处理装置和一种用于任务处理的装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种任务处理方法,其特征在于,应用于多方安全计算***,所述多方安全计算***中包括任务调度服务器和密文计算引擎,每个密文计算引擎中包括至少两个密文计算节点,所述方法包括:
所述任务调度服务器根据密文计算任务中的计算功能,向至少一个参与所述密文计算任务的密文计算引擎下发用于注册插件服务的配置信息,其中,不同插件服务用于实现不同的计算功能;
所述至少一个参与所述密文计算任务的密文计算引擎,根据接收到的配置信息注册相应的插件服务,并在监听到针对已注册的插件服务的调用请求时,执行所述调用请求对应插件服务的计算功能。
2.根据权利要求1所述的方法,其特征在于,所述密文计算引擎配置有触发远程调用的接口,所述参与所述密文计算任务的密文计算引擎通过所述触发远程调用的接口进行信息交互,交互的信息包括参与计算的密文数据、计算的中间结果、调用请求、执行状态中的至少一种。
3.根据权利要求1所述的方法,其特征在于,参与所述密文计算任务的密文计算引擎的数目大于1,所述参与所述密文计算任务的密文计算引擎包括第一密文计算引擎和至少一个第二密文计算引擎,所述任务调度服务器根据密文计算任务中的计算功能,向参与所述密文计算任务的密文计算引擎下发用于注册插件服务的配置信息,包括:
所述任务调度服务器将所述密文计算任务对应的配置信息发送给所述第一密文计算引擎,以及将所述密文计算任务中的子任务对应的配置信息发送给所述第二密文计算引擎,其中,不同子任务对应不同的计算功能。
4.根据权利要求3所述的方法,其特征在于,所述子任务的数量大于1,所述将所述密文计算任务中的子任务对应的配置信息发送给所述第二密文计算引擎,包括:
将不同子任务对应的配置信息分别发送给不同的第二密文计算引擎,以使一个第二密文计算引擎注册一个插件服务;或者
将多个子任务对应的配置信息发送给同一个第二密文计算引擎,以使一个第二密文计算引擎注册多个插件服务。
5.根据权利要求3所述的方法,其特征在于,所述参与所述密文计算任务的密文计算引擎,根据接收到的配置信息注册相应的插件服务,包括:
参与所述密文计算任务的第二密文计算引擎,根据接收到的配置信息注册相应的插件服务;
所述方法还包括:
所述第二密文计算引擎在注册相应的插件服务之后,启动已注册的插件服务,监听针对已注册的插件服务的调用请求。
6.根据权利要求3所述的方法,其特征在于,所述任务调度服务器将所述密文计算任务对应的配置信息发送给所述第一密文计算引擎,以及将所述密文计算任务中的子任务对应的配置信息发送给所述第二密文计算引擎之后,所述方法还包括:
所述任务调度服务器启动所述第一密文计算引擎执行所述密文计算任务;
所述第一密文计算引擎在执行所述密文计算任务的过程中,在执行到所述子任务时,向所述任务调度服务器请求获取所述子任务对应的第二密文计算引擎的地址信息;
所述第一密文计算引擎通过触发远程调用的接口,向所述地址信息对应的第二密文计算引擎发送调用请求,所述调用请求中包括插件服务名称和计算参数。
7.根据权利要求6所述的方法,其特征在于,所述在监听到针对已注册的插件服务的调用请求时,执行所述调用请求对应插件服务的计算功能,包括:
所述地址信息对应的第二密文计算引擎在监听到调用请求时,调用所述插件服务名称对应的插件服务对所述计算参数执行相应的计算功能;
所述方法还包括:
所述地址信息对应的第二密文计算引擎在执行相应的计算功能之后,向所述第一密文计算引擎返回执行状态。
8.一种任务处理装置,其特征在于,应用于多方安全计算***,所述多方安全计算***中包括任务调度服务器和密文计算引擎,每个密文计算引擎中包括至少两个密文计算节点,所述装置包括:
配置下发模块,用于通过所述任务调度服务器根据密文计算任务中的计算功能,向至少一个参与所述密文计算任务的密文计算引擎下发用于注册插件服务的配置信息,其中,不同插件服务用于实现不同的计算功能;
功能执行模块,用于通过所述至少一个参与所述密文计算任务的密文计算引擎根据接收到的配置信息注册相应的插件服务,并在监听到针对已注册的插件服务的调用请求时,执行所述调用请求对应插件服务的计算功能。
9.一种用于任务处理的装置,其特征在于,应用于多方安全计算***,所述多方安全计算***中包括任务调度服务器和密文计算引擎,每个密文计算引擎中包括至少两个密文计算节点,所述装置包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
所述任务调度服务器根据密文计算任务中的计算功能,向至少一个参与所述密文计算任务的密文计算引擎下发用于注册插件服务的配置信息,其中,不同插件服务用于实现不同的计算功能;
所述至少一个参与所述密文计算任务的密文计算引擎,根据接收到的配置信息注册相应的插件服务,并在监听到针对已注册的插件服务的调用请求时,执行所述调用请求对应插件服务的计算功能。
10.一种机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行如权利要求1至7任一所述的任务处理方法。
CN202010899593.5A 2020-08-31 2020-08-31 一种任务处理方法、装置和用于任务处理的装置 Active CN112187862B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010899593.5A CN112187862B (zh) 2020-08-31 2020-08-31 一种任务处理方法、装置和用于任务处理的装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010899593.5A CN112187862B (zh) 2020-08-31 2020-08-31 一种任务处理方法、装置和用于任务处理的装置

Publications (2)

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

Family

ID=73924654

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010899593.5A Active CN112187862B (zh) 2020-08-31 2020-08-31 一种任务处理方法、装置和用于任务处理的装置

Country Status (1)

Country Link
CN (1) CN112187862B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113468564A (zh) * 2021-06-30 2021-10-01 华控清交信息科技(北京)有限公司 一种数据处理方法、装置、电子设备及存储介质
CN113486332A (zh) * 2021-07-22 2021-10-08 华控清交信息科技(北京)有限公司 一种计算节点、隐私计算***及算法引擎的加载方法
CN113517977A (zh) * 2021-09-09 2021-10-19 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置
CN114422637A (zh) * 2021-12-20 2022-04-29 阿里巴巴(中国)有限公司 媒体请求处理方法和跨平台引擎***

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101237474A (zh) * 2007-01-30 2008-08-06 马克波特有限公司 通信***
CN108282334A (zh) * 2018-04-13 2018-07-13 济南浪潮高新科技投资发展有限公司 一种基于区块链的多方密钥协商装置、方法及***
CN110166446A (zh) * 2019-05-13 2019-08-23 矩阵元技术(深圳)有限公司 一种基于安全多方计算的地理加权平均中心的实现方法
CN110752924A (zh) * 2019-10-30 2020-02-04 四川长虹电器股份有限公司 一种基于安全多方计算的密钥安全管理方法
CN110880972A (zh) * 2019-11-26 2020-03-13 复旦大学 一种基于安全多方计算的区块链密钥管理***
CN111045688A (zh) * 2019-12-06 2020-04-21 支付宝(杭州)信息技术有限公司 一种模型***署和预测的方法和***
CN111045797A (zh) * 2019-10-31 2020-04-21 华控清交信息科技(北京)有限公司 任务调度执行方法、相关装置和介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101237474A (zh) * 2007-01-30 2008-08-06 马克波特有限公司 通信***
CN108282334A (zh) * 2018-04-13 2018-07-13 济南浪潮高新科技投资发展有限公司 一种基于区块链的多方密钥协商装置、方法及***
CN110166446A (zh) * 2019-05-13 2019-08-23 矩阵元技术(深圳)有限公司 一种基于安全多方计算的地理加权平均中心的实现方法
CN110752924A (zh) * 2019-10-30 2020-02-04 四川长虹电器股份有限公司 一种基于安全多方计算的密钥安全管理方法
CN111045797A (zh) * 2019-10-31 2020-04-21 华控清交信息科技(北京)有限公司 任务调度执行方法、相关装置和介质
CN110880972A (zh) * 2019-11-26 2020-03-13 复旦大学 一种基于安全多方计算的区块链密钥管理***
CN111045688A (zh) * 2019-12-06 2020-04-21 支付宝(杭州)信息技术有限公司 一种模型***署和预测的方法和***

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 (zh) * 2021-06-30 2021-10-01 华控清交信息科技(北京)有限公司 一种数据处理方法、装置、电子设备及存储介质
CN113486332A (zh) * 2021-07-22 2021-10-08 华控清交信息科技(北京)有限公司 一种计算节点、隐私计算***及算法引擎的加载方法
CN113517977A (zh) * 2021-09-09 2021-10-19 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置
CN113517977B (zh) * 2021-09-09 2021-11-30 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置
CN114422637A (zh) * 2021-12-20 2022-04-29 阿里巴巴(中国)有限公司 媒体请求处理方法和跨平台引擎***
CN114422637B (zh) * 2021-12-20 2023-12-29 阿里巴巴(中国)有限公司 媒体请求处理方法和跨平台引擎***

Also Published As

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

Similar Documents

Publication Publication Date Title
CN112187862B (zh) 一种任务处理方法、装置和用于任务处理的装置
CN113254956B (zh) 一种数据处理方法、装置和用于数据处理的装置
CN113014625B (zh) 一种任务处理方法、装置和用于任务处理的装置
CN110858173A (zh) 一种数据处理方法、装置和用于数据处理的装置
CN113420338B (zh) 一种数据处理方法、装置和用于数据处理的装置
CN115237613B (zh) 一种多方安全计算任务调度方法、装置和可读存储介质
CN113094744A (zh) 信息处理方法、服务平台、用于信息处理的装置和多方安全计算***
CN112131135B (zh) 一种密文运算调试方法、***和用于密文运算调试的装置
CN112839065B (zh) 信息处理方法、装置、第一设备及存储介质
CN112364390A (zh) 一种数据处理方法、装置和用于数据处理的装置
CN114915455B (zh) 一种密文数据传输方法、装置和用于密文数据传输的装置
CN114885038B (zh) 一种加密协议转换方法、结果获取节点和隐私计算节点
CN113206832B (zh) 一种数据处理方法、装置和用于数据处理的装置
CN114430410B (zh) 基于虚拟域名的***访问方法、装置及设备
CN112929271B (zh) 一种路由配置方法、装置和用于配置路由的装置
CN112287380B (zh) 一种数据处理方法、装置和用于数据处理的装置
CN113139205A (zh) 一种安全计算方法、通用计算引擎、用于安全计算的装置和安全计算***
CN112468290A (zh) 一种数据处理方法、装置和用于数据处理的装置
CN113517977B (zh) 一种数据处理方法、装置和用于数据处理的装置
CN116233135B (zh) 一种数据传输方法、***、装置和可读存储介质
CN114721913B (zh) 一种生成数据流图的方法、装置和用于生成数据流图的装置
CN112187854B (zh) 一种任务处理方法、装置和用于任务处理的装置
CN110311968B (zh) 流式加载文件的方法、装置及智能设备
CN112383639B (zh) 微服务均衡方法及装置
CN114760367B (zh) 一种加密协议转换方法、第一节点和第二节点

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