CN112788111B - 多节点设备的算法协同处理方法、节点设备及联盟网络 - Google Patents
多节点设备的算法协同处理方法、节点设备及联盟网络 Download PDFInfo
- Publication number
- CN112788111B CN112788111B CN202011603001.7A CN202011603001A CN112788111B CN 112788111 B CN112788111 B CN 112788111B CN 202011603001 A CN202011603001 A CN 202011603001A CN 112788111 B CN112788111 B CN 112788111B
- Authority
- CN
- China
- Prior art keywords
- algorithm
- available
- node device
- data
- description information
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本申请适用于隐私计算技术领域,提供了一种多节点设备的算法协同处理方法、节点设备、联盟网络及介质,算法协同处理方法包括:在可信执行环境中解析待处理算法;若待处理算法中包括其他节点设备中的第一可用算法的描述信息,则向其他节点设备发送第一算法调用请求,获取其他节点设备返回的第一可用算法的第一执行结果;若待处理算法中包括其他节点设备中的第一可用数据的描述信息,则向其他节点设备发送第一数据调用请求,接收其他节点设备返回的第一可用数据的密文,并在可信执行环境中解密第一可用数据的密文得到第一可用数据;在可信执行环境中基于第一执行结果和/或第一可用数据执行待处理算法,保证了节点设备中的算法或数据的安全性。
Description
技术领域
本申请属于隐私计算技术领域,尤其涉及一种算法协同处理方法、节点设备、联盟网络及计算机可读存储介质。
背景技术
通过在网络中各方设置节点设备,并将该各个节点设备以点对点((peer topeer,P2P)的形式连接,可以形成一个专有的联盟网络。通常,研发人员可以根据业务需求为联盟网络中的各个节点设备编写其自身的业务处理算法,节点设备自身的业务处理算法中有时会应用到其他节点设备中的可用算法或可用数据,这时就需要该业务处理算法涉及的多个节点设备共同完成该业务处理算法,多个节点设备共同完成一套业务处理算法的过程即为多节点设备的算法协同处理过程。
现有的多节点设备的算法协同处理方法中,当某个节点设备自身的业务处理算法中应用到其他节点设备中的可用算法或可用数据时,该节点设备通常会从其他节点设备中调用其可用算法或可用数据,而其他节点设备会将其可用算法或可用数据直接发送给该节点设备,这样容易导致其他节点设备中的数据或算法被泄漏,降低了节点设备中的算法或数据的安全性。
发明内容
有鉴于此,本申请实施例提供了一种多节点设备的算法协同处理方法、节点设备、联盟网络及计算机可读存储介质,以解决传统的多节点设备的算法协同处理方法容易导致节点设备中的数据或算法被泄漏,降低了节点设备中的算法或数据的安全性的技术问题。
第一方面,本申请实施例提供一种多节点设备的算法协同处理方法,应用于节点设备,该算法协同处理方法包括:
在可信执行环境中解析待处理算法;
若所述待处理算法中包括其他节点设备中的第一可用算法的描述信息,则向所述其他节点设备发送第一算法调用请求,获取所述其他节点设备返回的所述第一可用算法的第一执行结果,所述第一算法调用请求携带有所述第一可用算法的描述信息和所述第一可用算法的入参信息对应的当前节点设备的实际值;
若所述待处理算法中包括所述其他节点设备中的第一可用数据的描述信息,则向所述其他节点设备发送第一数据调用请求,接收所述其他节点设备返回的所述第一可用数据的密文,并在所述可信执行环境中解密所述第一可用数据的密文得到所述第一可用数据,所述第一数据调用请求携带有所述第一可用数据的描述信息;
在所述可信执行环境中基于所述第一执行结果和/或所述第一可用数据执行所述待处理算法,得到所述待处理算法的执行结果。
可选的,所述算法协同处理方法还包括:
向所述可信执行环境注册当前节点设备中的各个可用算法的描述信息和/或各个可用数据的描述信息。
可选的,所述可用算法的描述信息包括所述可用算法的唯一身份标识、功能信息及入参信息,所述可用数据的描述信息包括所述可用数据的元数据和存储路径;
相应地,所述向所述可信执行环境注册当前节点设备中的各个可用算法的描述信息和/或各个可用数据的描述信息,包括:
将所述当前节点设备中的各个可用算法的功能信息和入参信息提供给所述可信执行环境中的可信任务管理服务,所述可信任务管理服务用于生成各个所述可用算法的唯一身份标识,并将每个所述可用算法的所述唯一身份标识、功能信息及入参信息进行关联存储;和/或,
将所述当前节点设备中的各个可用数据的元数据和存储路径提供给所述可信执行环境中的可信存储服务;所述可信存储服务用于将每个所述可用数据的元数据和存储路径进行关联存储。
可选的,所述算法协同处理方法还包括:
若接收到其他节点设备发送的第二算法调用请求,则基于所述第二算法调用请求携带的第二可用算法的唯一身份标识获取所述第二可用算法;
基于所述第二算法调用请求携带的所述第二可用算法的入参信息对应的所述其他节点设备的实际值执行所述第二可用算法,得到所述第二可用算法的第一执行结果;
向所述其他节点设备发送所述第二可用算法的第一执行结果;和/或,
若接收到其他节点设备发送的第二数据调用请求,则基于所述第二数据调用请求携带的第二可用数据的存储路径获取所述第二可用数据;
采用预设密钥加密所述第二可用数据得到所述第二可用数据的密文,所述预设密钥为当前节点设备与所述其他节点设备预先协商的密钥;
向所述其他节点设备发送所述第二可用数据的密文。
可选的,所述算法协同处理方法还包括:
若接收到其他节点设备发送的可用算法查询请求,则通过所述可信执行环境向所述其他节点设备返回所述各个所述可用算法的描述信息;和/或,
若接收到其他节点设备发送的可用数据查询请求,则通过所述可信执行环境向所述其他节点设备返回所述各个所述可用数据的描述信息。
可选的,所述获取所述其他节点设备返回的所述第一可用算法的第一执行结果,包括:
接收所述其他节点设备返回的所述第一可用算法的第一执行结果的密文;
在所述可信执行环境中解密所述第一执行结果的密文得到所述第一执行结果。
可选的,在所述在可信执行环境中解析待处理算法之后,所述算法协同处理方法还包括:
若所述待处理算法中包括其他节点设备中的第一可用算法的描述信息,则向所述其他节点设备发送第一算法调用请求,接收所述其他节点设备返回的所述第一可用算法的密文,并在所述可信执行环境中解密所述第一可用算法的密文得到所述第一可用算法,所述第一算法调用请求携带有所述第一可用算法的描述信息;
在所述可信执行环境中基于所述第一可用算法的入参信息对应的当前节点设备的实际值执行所述第一可用算法,得到所述第一可用算法的第一执行结果。
第二方面,本申请实施例提供一种节点设备,包括:
算法解析单元,用于在可信执行环境中解析待处理算法;
第一算法获取单元,用于若所述待处理算法中包括其他节点设备中的第一可用算法的描述信息,则向所述其他节点设备发送第一算法调用请求,获取所述其他节点设备返回的所述第一可用算法的第一执行结果,所述第一算法调用请求携带有所述第一可用算法的描述信息和所述第一可用算法的入参信息对应的当前节点设备的实际值;
第一数据获取单元,用于若所述待处理算法中包括所述其他节点设备中的第一可用数据的描述信息,则向所述其他节点设备发送第一数据调用请求,接收所述其他节点设备返回的所述第一可用数据的密文,并在所述可信执行环境中解密所述第一可用数据的密文得到所述第一可用数据,所述第一数据调用请求携带有所述第一可用数据的描述信息;
第一算法执行单元,用于在所述可信执行环境中基于所述第一执行结果和/或所述第一可用数据执行所述待处理算法,得到所述待处理算法的执行结果。
第三方面,本申请实施例提供一种节点设备,所述节点设备包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面或第一方面的任意可选方式所述的算法协同处理方法。
第四方面,本申请实施例提供一种联盟网络,该联盟网络包括多个节点设备,该节点设备用于执行如第一方面或第一方面的任意可选方式所述的算法协同处理方法。
第五方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面或第一方面的任意可选方式所述的算法协同处理方法。
第六方面,本申请实施例提供一种计算机程序产品,当计算机程序产品在节点设备上运行时,使得节点设备执行上述第一方面或第一方面的任意可选方式所述的算法协同处理方法。
实施本申请实施例提供的一种多节点设备的算法协同处理方法、节点设备、联盟网络、计算机可读存储介质及计算机程序产品具有以下有益效果:
本申请实施例提供的多节点设备的算法协同处理方法,当前节点设备的待处理算法中需要应用到其他节点设备中的可用算法(例如第一可用算法)或可用数据(例如第一可用数据)时,该待处理算法中只包括第一可用算法的描述信息或第一可用数据的描述信息,而不是直接包括第一可用算法或第一可用数据本身,从而可以保证其他节点设备中的可用算法或可用数据的安全性;且当前节点设备向其他节点设备请求调用第一可用算法和/或第一可用数据后,接收到的是其他节点设备返回的第一可用算法的第一执行结果和/或第一可用数据的密文,而不是第一可用算法或第一可用数据本身;另外,由于待处理算法的解析过程、第一可用数据的解密过程以及待处理算法的执行过程均是在可信执行环境中进行的,因此可以避免其他节点设备中的可用算法或可用数据被泄露出去。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种多节点设备的算法协同处理方法对应的联盟网络的结构示意图;
图2为本申请实施例提供的一种多节点设备的算法协同处理方法的示意性流程图;
图3为本申请另一实施例提供的一种多节点设备的算法协同处理方法的示意性流程图;
图4为本申请又一实施例提供的一种多节点设备的算法协同处理方法的示意性流程图;
图5为本申请又一实施例提供的一种多节点设备的算法协同处理方法的示意性流程图;
图6为本申请又一实施例提供的一种多节点设备的算法协同处理方法的示意性流程图;
图7为本申请实施例提供的一种多节点设备的算法协同处理方法涉及的各个节点设备之间的交互示意图;
图8为本申请实施例提供的一种节点设备的结构示意图;
图9为本申请另一实施例提供的一种节点设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其他实施例中也可以实现本申请。在其他情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
还应当理解,在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
请参阅图1,图1为本申请实施例提供的一种多节点设备的算法协同处理方法对应的联盟网络的结构示意图。如图1所示,该联盟网络可以包括多个节点设备11。每个节点设备11均可以与联盟网络中任意一个其他节点设备11进行点对点(peer to peer,P2P)通信。
在具体应用中,节点设备11可以为具有计算及存储功能的电子设备。
本申请实施例中的算法协同处理方法指联盟网络中的多个节点设备11共同完成一套业务处理算法的过程。
其中,业务处理算法指通过算法表示的业务处理逻辑。示例性的,业务处理算法可以是研发人员采用脚本语言编写的可被节点设备执行的脚本。
共同完成某套业务处理算法的多个节点设备11可以是联盟网络中的部分节点设备,也可以是联盟网络中的全部节点设备。需要完成的业务处理算法通常来自于该多个节点设备中的一个节点设备,本实施例可以通过算法发起方和算法协助方这两种角色对该多个节点设备进行区分,其中,该多个节点设备中提供业务处理算法的节点设备为算法发起方,该业务处理算法涉及到的节点设备中除了算法发起方之外的其他节点设备为算法协助方。
需要说明的是,节点设备中的任意一个节点设备均可以作为算法发起方或者算法协助方。在多个节点设备共同完成一套业务处理算法的过程中,每个节点设备只能处于一种角色。示例性的,假如第一节点设备的业务处理算法中应用到了第二节点设备的某些数据以及第三节点设备中的某些算法,则第一节点设备的业务处理算法需要第一节点设备、第二节点设备及第三节点设备共同完成,其中,第一节点设备为算法发起方,第二节点设备和第三节点设备均为算法协助方。
本申请实施例中,每个节点设备11的中央处理器(central processing unit,CPU)中均配置有可信执行环境(trusted execution environment,TEE)。可信执行环境是基于CPU的一种指令集扩展,它可以在CPU中划分出一块与外部完全隔离的安全区域作为一个安全的执行环境,任何程序或数据均可以运行或存储在该安全区域中。可信执行环境可以保证运行或存储在安全区域中的程序及数据的机密性和完整性,进而保证运行或存储在安全区域中的程序或数据不会被泄露出去;另外,外部环境也无法干预可信执行环境中程序的运行过程。
作为示例而非限定,可信执行环境可以是基于英特尔(Intel)芯片的软件保护扩展(software guard extension,SGX)。SGX通过在Intel架构上增加新的指令集和内存访问机制,允许应用程序实现一个被称为enclave的容器,同时会在相应应用程序的地址空间中划分出一块被保护的专属区域,为enclave容器中的程序和数据提供机密性和完整性的保护,这样,即使节点设备的操作系统被攻破也不会影响enclave容器中的程序和数据。
本申请实施例中,可信执行环境可以为节点设备提供可信存储服务(TrustedFile System Service,TFSS)和可信任务管理服务(Trusted Task Manager Service,TTMS)。其中,TFSS可以为节点设备提供安全可信的数据存储服务;TTMS可以为节点设备提供安全可信的算法管理服务。
每个节点设备均可以使用其在联盟网络中的唯一身份标识将其拥有的各个可用算法的描述信息注册在其可信执行环境的TTMS中,或者将其拥有的各个可用数据的描述信息注册在其可信执行环境的TFSS中,这样,其他节点设备均可以在当前节点设备的可信执行环境总查询到当前节点设备中的可用算法的描述信息或可用数据的描述信息,以使其他节点设备知晓当前节点设备中有哪些可用算法或可用数据,方便其他节点设备的研发人员在需要时使用当前节点设备中的可用算法的描述信息或可用数据的描述信息,并结合其他节点设备的业务处理逻辑编写其他节点设备的业务处理算法。
由于每个节点设备只能查询到其他节点设备中的可用数据的描述信息或可用算法的描述信息,而无法直接获取到其他节点设备中的可用算法或可用数据,因此可以保证节点设备中的可用算法和可用数据的安全性。
其中,可用数据的描述信息可以用于描述可用数据的元数据和存储路径;可用算法的描述信息可以用于描述可用算法的功能和输入参数。
作为示例而非限定,节点设备在联盟网络中的唯一身份标识可以是节点设备自身的公钥的哈希值。节点设备自身的公钥可以是节点设备基于RSA算法生成的一对非对称密钥中的公钥。其中,RSA算法是由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(AdiShamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的,这三个人姓氏的首字母拼在一起即为RSA。
以下对本申请实施例提供的多节点设备的算法协同处理方法进行详细说明:
请参阅图2,图2为本申请实施例提供的一种多节点设备的算法协同处理方法的示意性流程图,该多节点设备的算法协同处理方法的执行主体可以为图1中的任意一个节点设备11。本申请实施例中,为了便于说明,可以将执行算法协同处理方法中包括的下述各步骤的节点设备称为当前节点设备。当前节点设备的角色为算法发起方时,如图2所示,该多节点设备的算法协同处理方法可以包括S21~S24,详述如下:
S21:在可信执行环境中解析待处理算法。
本申请实施例中,待处理算法可以是当前节点设备的业务处理算法,该处理算法中可能会包括其他节点设备中的可用算法的描述信息或可用数据的描述信息。由于可用算法的描述信息不是该可用算法本身,可用数据的描述信息也不是该可用数据本身,因此,当前节点设备获取到待处理算法后,无法直接执行该待处理算法,需要对该待处理算法进行解析,判断该待处理算法中是否包括其他节点设备中的可用算法的描述信息或可用数据的描述信息。
在具体应用中,作为示例而非限定,当前节点设备的业务处理算法可以预先存储在该节点设备的本地存储空间中,基于此,当前节点设备可以从其本地存储空间中获取业务处理算法,获取到的该业务处理算法即为待处理算法。
为了保证算法的安全性,防止算法被泄露,当前节点设备获取到待处理算法后在其可信执行环境中解析该待处理算法。
在本申请的一个实施例中,当前节点设备若确定待处理算法中包括其他节点设备中的可用算法(记为第一可用算法)的描述信息,则执行S22。
在本申请的另一个实施例中,当前节点设备若确定待处理算法中包括其他节点设备中的可用数据(记为第一数据)的描述信息,则执行S23。
在本申请的又一个实施例中,当前节点设备若确定待处理算法中包括其他节点设备中的第一可用算法的描述信息和第一数据的描述信息,则执行S22和S23。
S22:若所述待处理算法中包括其他节点设备中的第一可用算法的描述信息,则向所述其他节点设备发送第一算法调用请求,获取所述其他节点设备返回的所述第一可用算法的第一执行结果,所述第一算法调用请求携带有所述第一可用算法的描述信息和所述第一可用算法的入参信息对应的当前节点设备的实际值。
本申请实施例中,第一可用算法的描述信息可以包括第一可用算法的入参信息,第一可用算法的入参信息用于描述第一可用算法的输入参数。
当前节点设备若确定待处理算法中包括其他节点设备中的第一可用算法的描述信息,则说明该待处理算法的完成需要借助其他节点设备中的第一可用算法,因此,在本申请的一个实施例中,当前节点设备可以基于第一可用算法的描述信息和第一可用算法的入参信息对应的当前节点设备的实际值生成第一算法调用请求,并向其他节点设备发送该第一算法调用请求。其中,第一算法调用请求携带有第一可用算法的描述信息和第一可用算法的入参信息对应的当前节点设备的实际值,该第一算法调用请求用于请求获取第一可用算法的第一执行结果。
其他节点设备接收到第一算法调用请求后,可以根据第一算法调用请求携带的第一可用算法的描述信息从其本地获取第一可用算法,将第一算法调用请求携带的第一可用算法的入参信息对应的当前节点设备的实际值代入该第一可用算法中并执行该第一可用算法,得到第一可用算法的第一执行结果。
在本申请的一个实施例中,其他节点设备可以直接向当前节点设备发送第一可用算法的第一执行结果。基于此,上述获取所述其他节点设备返回的所述第一可用算法的第一执行结果的步骤具体可以包括:
接收所述其他节点设备返回的所述第一可用算法的第一执行结果。
本实施例中,由于其他节点设备向当前节点设备返回的是第一可用算法的第一执行结果,而没有直接将第一可用算法返回给当前节点设备,从而可以保证其他节点设备中的第一可用算法的安全性。
在本申请的另一个实施例中,其他节点设备可以在其可信执行环境中加密第一执行结果得到第一执行结果的密文,并向当前节点设备发送第一执行结果的密文。作为示例而非限定,其他节点设备可以使用其与当前节点设备预先协商的第一密钥加密第一可用算法。由于两个节点设备之间协商密钥的过程为现有技术,因此此处不再对其进行赘述。基于此,上述获取所述其他节点设备返回的所述第一可用算法的第一执行结果的步骤具体可以包括:
接收所述其他节点设备返回的所述第一可用算法的第一执行结果的密文;
在所述可信执行环境中解密所述第一执行结果的密文得到所述第一执行结果。
本实施例中,当前节点设备可以在可信执行环境中采用其与其他节点设备预先协商的上述第一密钥解密第一执行结果的密文得到第一执行结果。
由于其他节点设备向当前节点设备传输的是第一可用算法的第一执行结果的密文,且当前节点设备是在可信执行环境中解密第一执行结果的密文的,因此,不仅可以保证其他节点设备中的第一可用算法的安全性,还可以保证第一可用算法的第一执行结果的安全性。
S23:若所述待处理算法中包括所述其他节点设备中的第一可用数据的描述信息,则向所述其他节点设备发送第一数据调用请求,接收所述其他节点设备返回的所述第一可用数据的密文,并在所述可信执行环境中解密所述第一可用数据的密文得到所述第一可用数据,所述第一数据调用请求携带有所述第一可用数据的描述信息。
本申请实施例中,当前节点设备若确定待处理算法中包括其他节点设备中的第一可用数据的描述信息,则说明该待处理算法的完成需要借助其他节点设备中的第一可用数据,因此当前节点设备基于该第一可用数据的描述信息生成第一数据调用请求,并向其他节点设备发送第一数据调用请求。其中,第一数据调用请求携带有第一可用数据的描述信息。
其他节点设备接收到第一数据调用请求后,可以根据第一数据调用请求携带的第一可用数据的描述信息从其本地获取第一可用数据,并加密该第一可用数据得到该第一可用数据的密文,且向当前节点设备发送该第一可用数据的密文。作为示例而非限定,其他节点设备可以使用其与当前节点设备预先协商的第一密钥加密第一可用数据。
本申请实施例中,为了防止其他节点设备中的可用数据在当前节点设备处被泄露出去,当前节点设备接收到其他节点设备返回的第一可用数据的密文后,在其可信执行环境中解密第一可用数据的密文得到第一可用数据。
作为示例而非限定,当前节点设备可以采用其与其他节点设备预先协商的上述第一密钥解密第一可用数据的密文得到第一可用数据。
需要说明的是,在本申请的一些实施例中,S22和S23可以为并列的步骤,节点设备可以同时执行S22和S23。在本申请的另一些实施例中,节点设备可以只执行S22,或者节点设备可以只执行S23,具体根据时间需求确定。
S24:在所述可信执行环境中基于所述第一执行结果和/或所述第一可用数据执行所述待处理算法,得到所述待处理算法的执行结果。
本申请实施例中,当前节点设备得到第一执行结果和/或第一可用数据后,在可信执行环境中将第一执行结果和/或第一可用数据代入待处理算法中并执行待处理算法,得到待处理算法的执行结果。
以上可以看出,本申请实施例提供的多节点设备的算法协同处理方法,当前节点设备的待处理算法中需要应用到其他节点设备中的可用算法(例如第一可用算法)或可用数据(例如第一可用数据)时,该待处理算法中只包括第一可用算法的描述信息或第一可用数据的描述信息,而不是直接包括第一可用算法或第一可用数据本身,从而可以保证其他节点设备中的可用算法或可用数据的安全性;且当前节点设备向其他节点设备请求调用第一可用算法和/或第一可用数据后,接收到的是其他节点设备返回的第一可用算法的第一执行结果和/或第一可用数据的密文,而不是第一可用算法或第一可用数据本身;另外,由于待处理算法的解析过程、第一可用数据的解密过程以及待处理算法的执行过程均是在可信执行环境中进行的,因此可以避免其他节点设备中的可用算法或可用数据被泄露出去。
请参阅图3,图3为本申请另一实施例提供的一种算法协同处理方法的示意性流程图。相对于图2对应的实施例,本实施例提供的算法协同处理方法还可以包括S25,详述如下:
S25:向所述可信执行环境注册当前节点设备中的各个可用算法的描述信息和/或各个可用数据的描述信息。
本实施例中,对于联盟网络中的每一个节点设备而言,为了让其他节点设备知晓当前节点设备中有哪些可用算法和可用数据,以及为了保证当前节点设备中的可用算法和可用数据的安全性,当前节点设备可以向其可信执行环境注册其各个可用算法的描述信息和/或各个可用数据的描述信息。
其中,可用算法的描述信息可以用于描述可用算法的功能和输入参数;可用数据的描述信息可以用于描述可用数据的元数据和存储路径。
在具体应用中,当前节点设备可以使用其联盟网络中的唯一身份标识向其可信执行环境注册其各个可用算法的描述信息和/或各个可用数据的描述信息。可信执行环境可以将当前节点设备的唯一身份标识与当前节点设备中的各个可用算法的描述信息和/或各个可用数据的描述信息进行关联存储。
需要说明的是,当前节点设备可以在任意时刻执行S25。示例性的,如图3所示,当前节点设备可以在S21之前执行S25;当前节点设备也可以在S21~S24中的任一步骤之后执行S25,此处不对节点设备执行S25的时机进行限定。
当其他节点设备想要获知当前节点设备中有哪些可用算法或可用数据时,其他节点设备可以向当前节点设备发送可用算法查询请求和/或可用数据查询请求。基于此,在本申请的又一个实施例中,算法协同处理方法还可以包括以下步骤:
若接收到其他节点设备发送的可用算法查询请求,则通过所述可信执行环境向所述其他节点设备返回所述各个所述可用算法的描述信息;和/或
若接收到其他节点设备发送的可用数据查询请求,则通过所述可信执行环境向所述其他节点设备返回所述各个所述可用数据的描述信息。
本实施例中,由于当前节点设备中的各个可用算法的描述信息和/或各个可用数据的描述信息均存储在可信执行环境中,因此,当前节点设备接收到其他节点设备发送的可用算法查询请求时,当前节点设备可以通过可信执行环境向其他节点设备返回当前节点设备中的各个可用算法的描述信息;当前节点设备接收到其他节点设备发送的可用数据查询请求时,当前节点设备可以通过可信执行环境向其他节点设备返回当前节点设备中的各个可用数据的描述信息。
在本实施例的一个具体实现方式中,可用算法的描述信息包括可用算法的唯一身份标识、功能信息及入参信息;可用数据的描述信息包括可用数据的元数据和存储路径。其中,可用算法的唯一身份标识可以是可用算法的编号或其他身份标识信息;可用算法的功能信息用于描述该可用算法可以实现的功能;可用算法的入参信息用于描述该可用算法的输入参数。
基于此,S25具体可以包括如图4所示的S251和S252,详述如下:
S251:将所述当前节点设备中的各个可用算法的功能信息和入参信息提供给所述可信执行环境中的可信任务管理服务,所述可信任务管理服务用于生成各个所述可用算法的唯一身份标识,并将每个所述可用算法的所述唯一身份标识、功能信息及入参信息进行关联存储。
本实施例中,当前节点设备在连接到可信执行环境中的TFSS后,可以将其各个可用算法的功能信息和入参信息提供给TFSS。TFSS可以为当前节点设备的各个可用算法分别生成一个唯一身份标识,并将当前节点设备的每个可用算法的唯一身份标识与其功能信息及入参信息进行关联存储。
S252:将所述当前节点设备中的各个可用数据的元数据和存储路径提供给所述可信执行环境中的可信存储服务;所述可信存储服务用于将每个所述可用数据的元数据和存储路径进行关联存储。
本实施例中,当前节点设备在连接到可信执行环境中的TTMS后,可以将其各个可用数据的元数据和存储路径提供给TTMS。TTMS可以将当前节点设备的每个可用数据的元数据和存储路径进行关联存储。
需要说明的是,本实施例中,S251和S252可以为并列的步骤。若当前节点设备中仅包括可用算法时,当前节点设备可以仅执行S251;若当前节点设备中仅包括可用数据时,当前节点设备可以仅执行S252;若当前节点设备中既包括可用算法又包括可用数据时时,当前节点设备可以执行S251和S252。
在本申请的又一个实施例中,当前节点设备的角色为算法协助方时,算法协同处理还可以包括如图5所示的S51~S53,详述如下:
S51:若接收到其他节点设备发送的第二算法调用请求,则基于所述第二算法调用请求携带的第二可用算法的唯一身份标识获取所述第二可用算法。
本实施例中的其他节点设备为算法发起方。
第二算法调用请求携带有其他节点设备想要向当前节点设备所请求的可用算法(例如第二可用算法)的描述信息以及第二可用算法的入参信息对应的其他节点设备的实际值。其中,第二可用算法的描述信息包括但不限于第二可用算法的唯一身份标识、功能信息及入参信息。
当前节点设备接收到其他节点设备发送的第二算法调用请求时,基于第二算法调用请求携带的第二可用算法的唯一身份标识获取本地的第二可用算法。
S52:基于所述第二算法调用请求携带的所述第二可用算法的入参信息对应的所述其他节点设备的实际值执行所述第二可用算法,得到所述第二可用算法的第一执行结果。
当前节点设备获取到第二可用算法后,可以第二算法调用请求携带的第二可用算法的入参信息对应的其他节点设备的实际值输入第二可用算法中并执行第二可用算法,得到第二可用算法的第一执行结果。
S53:向所述其他节点设备发送所述第二可用算法的第一执行结果。
在本申请的一个实施例中,当前节点设备可以直接向其他节点设备返回第二可用算法的第一执行结果。
在本申请的另一个实施例中,当前节点设备还可以加密第二可用算法的第一执行结果,得到第二可用算法的第一执行结果的密文,并向其他节点设备返回第二可用算法的第一执行结果的密文。如此可以防止第二可用算法的第一执行结果在传输过程中被泄露,保证第二可用算法的第一执行结果的安全性。
在本申请的又一个实施例中,当前节点设备的角色为协助方时,算法协同处理还可以包括如图6所示的S61~S63,详述如下:
S61:若接收到其他节点设备发送的第二数据调用请求,则基于所述第二数据调用请求携带的第二可用数据的存储路径获取所述第二可用数据。
本实施例中的其他节点设备为算法发起方。
第二数据调用请求携带有其他节点设备想要向当前节点设备所请求的可用数据(例如第二可用数据)的存储路径。
当前节点设备接收到其他节点设备发送的第二数据调用请求时,基于该第二数据调用请求携带的第二可用数据的存储路径获取本地的第二可用数据。
S62:采用预设密钥加密所述第二可用数据得到所述第二可用数据的密文,所述预设密钥为当前节点设备与所述其他节点设备预先协商的密钥。
S63:向所述其他节点设备发送所述第二可用数据的密文。
当前节点设备获取到第二可用数据后,可以采用预设密钥加密该第二可用数据得到该第二可用数据的密文,并向其他节点设备返回该第二可用数据的密文。作为示例而非限定,预设密钥可以是当前节点设备与其他节点设备预先协商的密钥。
本实施例中,由于当前节点设备向其他节点设备发送的是第二可用数据的密文因此,不会导致第二可用数据在传输过程中被泄露出去,保证了第二可用数据的安全性。
在本申请的又一个实施例中,当前节点设备若确定待处理算法中包括其他节点设备中的第一可用算法的描述信息,则当前节点设备还可以执行以下步骤(以下步骤与S22为当前节点设备获取第一可用算法的第一执行结果时可以采用的两种不同的实现方式):
若所述待处理算法中包括其他节点设备中的第一可用算法的描述信息,则向所述其他节点设备发送第一算法调用请求,接收所述其他节点设备返回的所述第一可用算法的密文,并在所述可信执行环境中解密所述第一可用算法的密文得到所述第一可用算法,所述第一算法调用请求携带有所述第一可用算法的描述信息;
在所述可信执行环境中基于所述第一可用算法的入参信息对应的当前节点设备的实际值执行所述第一可用算法,得到所述第一可用算法的第一执行结果。
本实施例中,当前节点设备若确定待处理算法中包括其他节点设备中的第一可用算法的描述信息,则说明该待处理算法的完成需要借助其他节点设备中的第一可用算法,因此本实施例中,当前节点设备可以基于第一可用算法的描述信息生成第一算法调用请求,并向其他节点设备发送该第一算法调用请求。其中,第一算法调用请求携带有第一可用算法的描述信息,该第一算法调用请求用于请求获取第一可用算法。
其他节点设备接收到第一算法调用请求后,可以根据第一算法调用请求携带的第一可用算法的描述信息从其本地获取第一可用算法,并在可信执行环境中加密该第一可用算法,得到该第一可用算法的密文,并向当前节点设备发送第一可用算法的密文。
作为示例而非限定,其他节点设备可以使用其与当前节点设备预先协商的第一密钥加密第一可用算法。
当前节点设备接收到其他节点设备返回的第一可用算法的密文后,在可信执行环境中解密该第一可用算法的密文,得到该第一可用算法。作为示例而非限定,当前节点设备可以采用其与其他节点设备预先协商的上述第一密钥解密第一可用算法的密文得到第一可用算法。
当前节点设备得到第一可用算法后,在可信执行环境中将第一可用算法的入参信息对应的当前节点设备的实际值代入第一可用算法中,并执行第一可用算法,得到第一可用算法的第一执行结果。
本实施例中,由于其他节点设备向当前节点设备发送的是第一可用算法的密文,且当前节点设备是在可信执行环境中解密和执行第一可用算法的,因此,不会导致第一可用算法被泄露出去,保证了第一可用算法的安全性。
以下通过一个具体示例对本申请实施例提供的算法协同处理方法进行示例性说明:
假如第一节点设备的业务处理算法中需要应用到第二节点设备中的第一可用算法以及第三节点设备中的第一可用数据。则此时第一节点设备为算法发起方,第二节点设备和第三节点设备均算法协助方。第一节点设备、第二节点设备及第三节点设备之间的交互过程可以如图7所示。
如图7所示,第一节点设备、第二节点设备及第三节点设备共同完成第一节点设备的业务处理算法的流程具体如下:
1.1、第一节点设备向其可信执行环境注册第一节点设备中的可用算法的描述信息和/或可用数据的描述信息。
1.2、第二节点设备向其可信执行环境注册第二节点设备中的可用算法的描述信息和/或可用数据的描述信息。
1.3、第三节点设备向其可信执行环境注册第三节点设备中的可用算法的描述信息和/或可用数据的描述信息。
其中,1.1、1.2及1.3可以为并列的步骤。
2、第一节点设备在可信执行环境中解析待处理算法。
3.1、第一节点设备向第二节点设备发送第一算法调用请求。
3.2、第一节点设备向第三节点设备发送第一数据调用请求。
其中,3.1和3.2可以为并列的步骤。
4.1、第一节点设备获取第二节点设备返回的第一可用算法的第一执行结果。
4.2、第一节点设备接收第三节点设备返回的第一可用数据的密文。
其中,4.1和4.2可以为并列的步骤。
5、第一节点设备在可信执行环境中解密第一可用数据的密文得到所述第一可用数据。
6、第一节点设备在可信执行环境中基于第一执行结果和/或第一可用数据执行待处理算法,得到待处理算法的执行结果。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
基于上述实施例所提供的多节点设备的算法协同处理方法,本发明实施例进一步给出实现上述方法实施例的节点设备的实施例。
请参阅图8,图8为本申请实施例提供的一种节点设备的结构示意图。本申请实施例中,节点设备包括的各单元用于执行图2至图7对应的实施例中的各步骤。具体请参阅图2至图7以及图2至图7对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。如图8所示,节点设备80包括:算法解析单元81、第一算法获取单元82、第一数据获取单元83及第一算法执行单元84。其中:
算法解析单元81用于在可信执行环境中解析待处理算法。
第一算法获取单元82用于若所述待处理算法中包括其他节点设备中的第一可用算法的描述信息83则向所述其他节点设备发送第一算法调用请求,获取所述其他节点设备返回的所述第一可用算法的第一执行结果,所述第一算法调用请求携带有所述第一可用算法的描述信息和所述第一可用算法的入参信息对应的当前节点设备的实际值。
第一数据获取单元84用于若所述待处理算法中包括所述其他节点设备中的第一可用数据的描述信息,则向所述其他节点设备发送第一数据调用请求,接收所述其他节点设备返回的所述第一可用数据的密文,并在所述可信执行环境中解密所述第一可用数据的密文得到所述第一可用数据,所述第一数据调用请求携带有所述第一可用数据的描述信息。
第一算法执行单元,用于在所述可信执行环境中基于所述第一执行结果和/或所述第一可用数据执行所述待处理算法,得到所述待处理算法的执行结果。
可选的,节点设备80还包括注册单元。
注册单元用于向所述可信执行环境注册当前节点设备中的各个可用算法的描述信息和/或各个可用数据的描述信息。
可选的,所述可用算法的描述信息包括所述可用算法的唯一身份标识、功能信息及入参信息,所述可用数据的描述信息包括所述可用数据的元数据和存储路径;相应地,注册单元具体包括算法注册单元和数据注册单元。其中:
算法注册单元用于将所述当前节点设备中的各个可用算法的功能信息和入参信息提供给所述可信执行环境中的可信任务管理服务,所述可信任务管理服务用于生成各个所述可用算法的唯一身份标识,并将每个所述可用算法的所述唯一身份标识、功能信息及入参信息进行关联存储。
数据注册单元用于将所述当前节点设备中的各个可用数据的元数据和存储路径提供给所述可信执行环境中的可信存储服务;所述可信存储服务用于将每个所述可用数据的元数据和存储路径进行关联存储。
可选的,节点设备80还包括:第二算法获取单元、第二算法执行单元及执行结果发送单元;和/或第二数据获取单元、数据加密单元及数据发送单元。其中:
第二算法获取单元用于若接收到其他节点设备发送的第二算法调用请求,则基于所述第二算法调用请求携带的第二可用算法的唯一身份标识获取所述第二可用算法。
第二算法执行单元用于基于所述第二算法调用请求携带的所述第二可用算法的入参信息对应的所述其他节点设备的实际值执行所述第二可用算法,得到所述第二可用算法的第一执行结果。
执行结果发送单元用于向所述其他节点设备发送所述第二可用算法的第一执行结果。
第二数据获取单元用于若接收到其他节点设备发送的第二数据调用请求,则基于所述第二数据调用请求携带的第二可用数据的存储路径获取所述第二可用数据。
数据加密单元用于采用预设密钥加密所述第二可用数据得到所述第二可用数据的密文,所述预设密钥为当前节点设备与所述其他节点设备预先协商的密钥。
数据发送单元用于向所述其他节点设备发送所述第二可用数据的密文。
可选的,节点设备80还包括:算法查询单元和数据查询单元。其中:
算法查询单元用于若接收到其他节点设备发送的可用算法查询请求,则通过所述可信执行环境向所述其他节点设备返回所述各个所述可用算法的描述信息。
数据查询单元用于若接收到其他节点设备发送的可用数据查询请求,则通过所述可信执行环境向所述其他节点设备返回所述各个所述可用数据的描述信息。
可选的,第一算法获取单元包括:算法接收单元和算法加解密单元。其中:
算法接收单元用于接收所述其他节点设备返回的所述第一可用算法的第一执行结果的密文。
算法加解密单元用于在所述可信执行环境中解密所述第一执行结果的密文得到所述第一执行结果。
需要说明的是,上述模块之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参照方法实施例部分,此处不再赘述。
图9为本申请另一实施例提供的一种节点设备的结构示意图。如图9所示,该实施例提供的节点设备9包括:处理器90、存储器91以及存储在所述存储器91中并可在所述处理器90上运行的计算机程序92,例如图像深度估计程序。处理器90执行所述计算机程序92时实现上述各个算法协同处理方法实施例中的步骤,例如图2所示的S21~S24。或者,所述处理器90执行所述计算机程序92时实现上述各节点设备实施例中各模块/单元的功能,例如图8所示单元81~84的功能。
示例性的,所述计算机程序92可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器91中,并由处理器90执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序92在所述节点设备9中的执行过程。例如,所述计算机程序92可以被分割成算法解析单元、第一算法获取单元、第一数据获取单元及第一算法执行单元,各单元具体功能请参阅图8对应地实施例中的相关描述,此处不赘述。
所述节点设备可包括但不仅限于,处理器90、存储器91。本领域技术人员可以理解,图9仅仅是节点设备9的示例,并不构成对节点设备9的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述节点设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器90可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器91可以是所述节点设备9的内部存储单元,例如节点设备9的硬盘或内存。所述存储器91也可以是所述节点设备9的外部存储设备,例如所述节点设备9上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器91还可以既包括所述节点设备9的内部存储单元也包括外部存储设备。所述存储器91用于存储所述计算机程序以及所述节点设备所需的其他程序和数据。所述存储器91还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还提供了一种计算机可读存储介质。计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时可实现上述多节点设备的算法协同处理方法。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在节点设备上运行时,使得节点设备执行时实现可实现上述多节点设备的算法协同处理方法。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述节点设备的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参照其他实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种多节点设备的算法协同处理方法,应用于节点设备,其特征在于,所述算法协同处理方法包括:
在可信执行环境中解析待处理算法;
若所述待处理算法中包括其他节点设备中的第一可用算法的描述信息,则向所述其他节点设备发送第一算法调用请求,获取所述其他节点设备返回的所述第一可用算法的第一执行结果,所述第一算法调用请求携带有所述第一可用算法的描述信息和所述第一可用算法的入参信息对应的当前节点设备的实际值;其中,第一可用算法的描述信息包括第一可用算法的入参信息,所述第一可用算法的入参信息用于描述第一可用算法的输入参数;所述第一可用算法的入参信息对应的当前节点设备的实际值代入所述第一可用算法中并执行所述第一可用算法,得到所述第一可用算法的第一执行结果;
若所述待处理算法中包括所述其他节点设备中的第一可用数据的描述信息,则向所述其他节点设备发送第一数据调用请求,接收所述其他节点设备返回的所述第一可用数据的密文,并在所述可信执行环境中解密所述第一可用数据的密文得到所述第一可用数据,所述第一数据调用请求携带有所述第一可用数据的描述信息;
在所述可信执行环境中基于所述第一执行结果和/或所述第一可用数据执行所述待处理算法,得到所述待处理算法的执行结果;
其中,每个节点设备的中央处理器中均配置有可信执行环境。
2.根据权利要求1所述的算法协同处理方法,其特征在于,所述算法协同处理方法还包括:
向所述可信执行环境注册当前节点设备中的各个可用算法的描述信息和/或各个可用数据的描述信息。
3.根据权利要求2所述的算法协同处理方法,其特征在于,所述可用算法的描述信息包括所述可用算法的唯一身份标识、功能信息及入参信息,所述可用数据的描述信息包括所述可用数据的元数据和存储路径;
相应地,所述向所述可信执行环境注册当前节点设备中的各个可用算法的描述信息和/或各个可用数据的描述信息,包括:
将所述当前节点设备中的各个可用算法的功能信息和入参信息提供给所述可信执行环境中的可信任务管理服务,所述可信任务管理服务用于生成各个所述可用算法的唯一身份标识,并将每个所述可用算法的所述唯一身份标识、功能信息及入参信息进行关联存储;和/或,
将所述当前节点设备中的各个可用数据的元数据和存储路径提供给所述可信执行环境中的可信存储服务;所述可信存储服务用于将每个所述可用数据的元数据和存储路径进行关联存储。
4.根据权利要求3所述的算法协同处理方法,其特征在于,所述算法协同处理方法还包括:
若接收到其他节点设备发送的第二算法调用请求,则基于所述第二算法调用请求携带的第二可用算法的唯一身份标识获取所述第二可用算法;
基于所述第二算法调用请求携带的所述第二可用算法的入参信息对应的所述其他节点设备的实际值执行所述第二可用算法,得到所述第二可用算法的第一执行结果;
向所述其他节点设备发送所述第二可用算法的第一执行结果;和/或,
若接收到其他节点设备发送的第二数据调用请求,则基于所述第二数据调用请求携带的第二可用数据的存储路径获取所述第二可用数据;
采用预设密钥加密所述第二可用数据得到所述第二可用数据的密文,所述预设密钥为当前节点设备与所述其他节点设备预先协商的密钥;
向所述其他节点设备发送所述第二可用数据的密文。
5.根据权利要求2至4任一项所述的算法协同处理方法,其特征在于,所述算法协同处理方法还包括:
若接收到其他节点设备发送的可用算法查询请求,则通过所述可信执行环境向所述其他节点设备返回所述各个所述可用算法的描述信息;和/或,
若接收到其他节点设备发送的可用数据查询请求,则通过所述可信执行环境向所述其他节点设备返回所述各个所述可用数据的描述信息。
6.根据权利要求1至4任一项所述的算法协同处理方法,其特征在于,所述获取所述其他节点设备返回的所述第一可用算法的第一执行结果,包括:
接收所述其他节点设备返回的所述第一可用算法的第一执行结果的密文;
在所述可信执行环境中解密所述第一执行结果的密文得到所述第一执行结果。
7.根据权利要求1至4任一项所述的算法协同处理方法,其特征在于,在所述在可信执行环境中解析待处理算法之后,所述算法协同处理方法还包括:
若所述待处理算法中包括其他节点设备中的第一可用算法的描述信息,则向所述其他节点设备发送第一算法调用请求,接收所述其他节点设备返回的所述第一可用算法的密文,并在所述可信执行环境中解密所述第一可用算法的密文得到所述第一可用算法,所述第一算法调用请求携带有所述第一可用算法的描述信息;
在所述可信执行环境中基于所述第一可用算法的入参信息对应的当前节点设备的实际值执行所述第一可用算法,得到所述第一可用算法的第一执行结果。
8.一种节点设备,其特征在于,包括:
算法解析单元,用于在可信执行环境中解析待处理算法;其中,每个节点设备的中央处理器中均配置有可信执行环境;
第一算法获取单元,用于若所述待处理算法中包括其他节点设备中的第一可用算法的描述信息,则向所述其他节点设备发送第一算法调用请求,获取所述其他节点设备返回的所述第一可用算法的第一执行结果,所述第一算法调用请求携带有所述第一可用算法的描述信息和所述第一可用算法的入参信息对应的当前节点设备的实际值;其中,第一可用算法的描述信息包括第一可用算法的入参信息,所述第一可用算法的入参信息用于描述第一可用算法的输入参数;所述第一可用算法的入参信息对应的当前节点设备的实际值代入所述第一可用算法中并执行所述第一可用算法,得到所述第一可用算法的第一执行结果;
第一数据获取单元,用于若所述待处理算法中包括所述其他节点设备中的第一可用数据的描述信息,则向所述其他节点设备发送第一数据调用请求,接收所述其他节点设备返回的所述第一可用数据的密文,并在所述可信执行环境中解密所述第一可用数据的密文得到所述第一可用数据,所述第一数据调用请求携带有所述第一可用数据的描述信息;
第一算法执行单元,用于在所述可信执行环境中基于所述第一执行结果和/或所述第一可用数据执行所述待处理算法,得到所述待处理算法的执行结果。
9.一种节点设备,其特征在于,所述节点设备包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的算法协同处理方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的算法协同处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011603001.7A CN112788111B (zh) | 2020-12-29 | 2020-12-29 | 多节点设备的算法协同处理方法、节点设备及联盟网络 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011603001.7A CN112788111B (zh) | 2020-12-29 | 2020-12-29 | 多节点设备的算法协同处理方法、节点设备及联盟网络 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112788111A CN112788111A (zh) | 2021-05-11 |
CN112788111B true CN112788111B (zh) | 2023-03-24 |
Family
ID=75751634
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011603001.7A Active CN112788111B (zh) | 2020-12-29 | 2020-12-29 | 多节点设备的算法协同处理方法、节点设备及联盟网络 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112788111B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115470512A (zh) * | 2021-06-11 | 2022-12-13 | 支付宝(杭州)信息技术有限公司 | 针对隐私计算进行多方算法协商的方法、装置及系统 |
CN114448705A (zh) * | 2022-02-07 | 2022-05-06 | 上海富数科技有限公司 | 一种异构平台节点交互方法、系统及存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10148736B1 (en) * | 2014-05-19 | 2018-12-04 | Amazon Technologies, Inc. | Executing parallel jobs with message passing on compute clusters |
US9906597B2 (en) * | 2015-04-07 | 2018-02-27 | Microsoft Technology Licensing, Llc | Collaboration data proxy system in cloud computing platforms |
CN109495592B (zh) * | 2019-01-11 | 2021-11-23 | 四川虹微技术有限公司 | 数据协同方法及电子设备 |
CN110519260B (zh) * | 2019-08-23 | 2020-09-25 | 联想(北京)有限公司 | 一种信息处理方法及信息处理装置 |
CN111181720B (zh) * | 2019-12-31 | 2021-04-06 | 支付宝(杭州)信息技术有限公司 | 基于可信执行环境的业务处理方法及装置 |
CN111460429B (zh) * | 2020-03-30 | 2024-01-02 | 北京百度网讯科技有限公司 | 基于可信执行环境的任务处理方法、装置、设备和介质 |
CN111461883A (zh) * | 2020-03-31 | 2020-07-28 | 杭州溪塔科技有限公司 | 一种基于区块链的交易处理方法、装置和电子设备 |
CN112134802A (zh) * | 2020-09-23 | 2020-12-25 | 杭州雾联科技有限公司 | 一种基于终端触发式的边缘算力资源调度方法及系统 |
-
2020
- 2020-12-29 CN CN202011603001.7A patent/CN112788111B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112788111A (zh) | 2021-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111181720B (zh) | 基于可信执行环境的业务处理方法及装置 | |
US10601596B2 (en) | Techniques to secure computation data in a computing environment | |
CN108632284B (zh) | 基于区块链的用户数据授权方法、介质、装置和计算设备 | |
CN108282459B (zh) | 基于智能合约的数据传递方法及系统 | |
US8495383B2 (en) | Method for the secure storing of program state data in an electronic device | |
US11025415B2 (en) | Cryptographic operation method, method for creating working key, cryptographic service platform, and cryptographic service device | |
JP2014119486A (ja) | 秘匿検索処理システム、秘匿検索処理方法、および秘匿検索処理プログラム | |
US8369526B2 (en) | Device, system, and method of securely executing applications | |
CN112434336A (zh) | 基于区块链的电子病历共享方法、装置、系统及存储介质 | |
CN112788111B (zh) | 多节点设备的算法协同处理方法、节点设备及联盟网络 | |
WO2020073712A1 (zh) | 一种移动终端中共享安全应用的方法及移动终端 | |
US8612753B2 (en) | Method and apparatus for protected code execution on clients | |
CN108923925B (zh) | 应用于区块链的数据存储方法和装置 | |
US11748521B2 (en) | Privacy-enhanced computation via sequestered encryption | |
CN112910641B (zh) | 用于跨链交易监管的验证方法、装置、中继链节点及介质 | |
US20240028759A1 (en) | Database access method and apparatus | |
CN111510462A (zh) | 通信方法、系统、装置、电子设备和可读存储介质 | |
CN114615087B (zh) | 数据共享方法、装置、设备及介质 | |
EP3985540A1 (en) | Method and apparatus for generating synthetic data | |
CN114861144A (zh) | 基于区块链的数据权限处理方法 | |
CN114329596A (zh) | 一种物联网设备的固件更新方法、装置及系统 | |
CN113992734A (zh) | 会话连接方法及装置、设备 | |
CN113761513A (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
CN116614275B (zh) | 一种隐私计算一体机委托加速的方法 | |
US20230076420A1 (en) | Multi-platform key recovery for trusted code |
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 |