CN117041249A - 计算设备组网方法、装置、计算设备及存储介质 - Google Patents
计算设备组网方法、装置、计算设备及存储介质 Download PDFInfo
- Publication number
- CN117041249A CN117041249A CN202310741504.8A CN202310741504A CN117041249A CN 117041249 A CN117041249 A CN 117041249A CN 202310741504 A CN202310741504 A CN 202310741504A CN 117041249 A CN117041249 A CN 117041249A
- Authority
- CN
- China
- Prior art keywords
- computing device
- subtask
- computing
- task
- 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.)
- Pending
Links
- 230000006855 networking Effects 0.000 title claims abstract description 164
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000004364 calculation method Methods 0.000 claims abstract description 40
- 230000005540 biological transmission Effects 0.000 claims description 32
- 238000004590 computer program Methods 0.000 claims description 24
- 238000012795 verification Methods 0.000 claims description 18
- 238000005094 computer simulation Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 abstract description 22
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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
-
- 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
- H04L63/0442—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 wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/062—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种计算设备组网方法、装置、计算设备及存储介质,属于区块链技术领域,在本申请中,区块链节点可以为目标任务包括的多个子任务分配多个计算设备,并通过控制该多个计算设备组网来传递子任务的执行结果,以此来实现多个计算设备分担计算多个子任务。由于多个计算设备为通过区块链认证成功的可信计算设备,所以通过控制该多个计算设备组网来分担计算目标任务的多个子任务,在保证计算过程中数据和模型的安全性同时,还可以提高计算效率。
Description
技术领域
本申请属于区块链技术领域,尤其涉及一种计算设备组网方法、装置、计算设备及存储介质。
背景技术
当前,在云计算环境下,一个计算任务通常会涉及到多个参与方,例如,提供执行该计算任务所需的数据和计算模型的参与方与执行该计算任务的计算设备的设备运营方往往不同。基于此,在存在多个参与方的情况下,如何保证计算任务执行过程中数据和模型的安全性并实现高效率计算是一个亟待解决的问题。
发明内容
本申请提供了一种计算设备组网方法、装置、计算设备及存储介质,旨在提高计算任务的处理效率,并保证任务执行过程中数据和模型的安全性。
本申请实施例的第一方面提了一种计算设备组网方法,应用于区块链节点中,所述方法包括:获取目标任务的任务信息;基于所述目标任务的任务信息,为所述目标任务包括的多个子任务分配多个计算设备,所述多个计算设备为通过所述区块链节点上配置的区块链认证成功的计算设备,每个计算设备用于执行所述多个子任务中的至少一个子任务;基于所述目标任务的任务信息,控制所述多个计算设备中的至少两个计算设备建立网络连接,以使所述至少两个计算设备通过所述网络连接传输子任务的执行结果。
在本申请中,区块链节点可以为目标任务包括的多个子任务分配多个计算设备,并通过控制该多个计算设备组网来传递子任务的执行结果,以此来实现多个计算设备分担计算多个子任务。由于多个计算设备为通过区块链认证成功的可信计算设备,所以通过控制该多个计算设备组网来分担计算目标任务的多个子任务,在保证计算过程中数据和模型的安全性同时,还可以提高计算效率。
可选地,所述目标任务的任务信息包括所述多个子任务的任务信息,每个子任务的任务信息包括执行相应子任务所需的数据的信息和计算模型的信息;所述基于所述目标任务的任务信息,为所述目标任务包括的多个子任务分配多个计算设备,包括:基于每个子任务所需的数据的信息和计算模型的信息,确定用于执行所述多个子任务的计算设备的数量;基于所述计算设备的数量,从通过所述区块链认证成功的计算设备中确定处于空闲状态的所述多个计算设备;基于每个子任务所需的数据的信息和计算模型的信息,从所述多个计算设备中为每个子任务分配对应的计算设备。
可选地,所述获取目标任务的任务信息,包括:接收数据方设备或模型方设备发送的目标任务的任务信息,所述数据方设备用于提供执行所述目标任务所需的数据,所述模型方设备用于提供执行所述目标任务所需的计算模型。
可选地,所述为所述目标任务包括的多个子任务分配多个计算设备之后,还包括:向所述数据方设备和所述模型方设备发送所述多个计算设备的设备信息和每个计算设备对应的子任务的任务信息,所述数据方设备用于基于每个计算设备的设备信息和对应的子任务的任务信息向相应计算设备发送对应的子任务所需的数据,所述模型方设备用于基于每个计算设备的设备信息和对应的子任务的任务信息向相应计算设备发送对应的子任务所需的计算模型。
在本申请中,数据方设备和模型方设备分别向计算设备提供数据和模型,由于计算设备为通过区块链认证成功的设备,所以对于数据方设备和模型方设备而言更为可信,能够更好的保障数据和模型的安全性。
可选地,所述基于所述目标任务的任务信息,控制所述多个计算设备中的至少两个计算设备建立网络连接,包括:基于所述目标任务的任务信息,向执行第一子任务的第一计算设备和执行第二子任务的第二计算设备发送组网命令,所述组网命令用于指示所述第一计算设备和所述第二计算设备建立网络连接,所述第一子任务和所述第二子任务为所述多个子任务中两个子任务。
可选地,所述基于所述目标任务的任务信息,向第一计算设备和第二计算设备发送组网命令,包括:接收所述第一计算设备发送的第一子任务的完成信息;基于所述目标任务的任务信息确定所述第二子任务,执行所述第二子任务所需的数据包括所述第一子任务的执行结果;向所述第一计算设备和所述第二计算设备发送所述组网命令。
本申请实施例的第二方面提了一种计算设备组网方法,应用于第一计算设备中,所述第一计算设备为通过区块链认证成功的设备,所述方法包括:接收区块链节点发送的组网命令;基于所述组网命令,与第二计算设备建立网络连接,所述第二计算设备为通过所述区块链认证成功的设备,所述第一计算设备用于执行所述区块链节点分配的第一子任务,所述第二计算设备用于执行所述区块链节点分配的第二子任务,所述第一子任务和所述第二子任务为目标任务包括的多个子任务中的两个子任务;通过所述网络连接与所述第二计算设备传输子任务的执行结果。
在本申请中,分担执行目标任务的不同子任务的计算设备可以在区块链节点的控制下建立网络连接,以此来传输子任务的执行结果。这样,在提高了目标任务的处理效率的同时,可以保证计算过程中数据和模型的安全性。
可选地,所述接收区块链节点发送的组网命令之前,还包括:接收数据方设备发送的执行所述第一子任务所需的第一数据和模型方设备发送的执行所述第一子任务所需的第一计算模型;基于所述第一数据和所述第一计算模型,执行所述第一子任务;在所述第一子任务执行完成后,向所述区块链节点发送所述第一子任务的完成信息。
可选地,所述组网命令包括所述第二计算设备的设备标识;所述基于组网命令,与第二计算设备建立网络连接,包括:基于所述第二计算设备的设备标识,从所述区块链节点中获取所述第二计算设备的网络地址和连接端口;基于所述第二计算设备的网络地址和连接端口,向所述第二计算设备发送连接请求,所述连接请求包括所述第一计算设备的设备标识和设备公钥;响应于所述第二计算设备发送的验证通过消息,获取所述第二计算设备的设备公钥,所述验证通过消息为所述第二计算设备基于所述第一计算设备的设备标识和设备公钥对所述连接请求验证通过后发送的;基于所述第一计算设备的设备私钥和所述第二计算设备的设备公钥与所述第二计算设备协商信道加密秘钥,以建立与所述第二计算设备的网络连接。
可选地,执行所述第二子任务所需的数据包括所述第一子任务的执行结果;所述通过所述网络连接与所述第二计算设备传输子任务的执行结果,包括:基于所述信道加密秘钥对所述第一子任务的执行结果进行加密;通过所述网络连接向所述第二计算设备发送加密后的所述第一子任务的执行结果,以使所述第二计算设备基于加密后的所述第一子任务的执行结果执行所述第二子任务。
可选地,所述组网命令包括所述第二计算设备的设备标识;所述基于组网命令,与第二计算设备建立网络连接,包括:接收所述第二计算设备发送的连接请求,所述连接请求包括所述第二计算设备的设备标识和设备公钥;基于所述组网命令包括的所述第二计算设备的设备标识,对所述连接请求进行验证;
在对所述连接请求验证通过之后,向所述第二计算设备发送验证通过消息,并基于所述第二计算设备的设备公钥和所述第一计算设备的私钥与所述第二计算设备协商信道加密秘钥,以建立与所述第二计算设备的网络连接。
在本申请中,第一计算设备在接收到第二计算设备发送的连接请求之后,可以对该连接请求进行验证,以此来验证第二计算设备的身份,这样,可以降低第一计算设备与不合法设备连接从而造成的数据安全风险,提高了安全性。
可选地,执行所述第一子任务所需的数据包括所述第二子任务的执行结果;所述通过所述网络连接与所述第二计算设备传输子任务的执行结果,包括:通过所述网络连接接收所述第二计算设备发送的加密后的所述第二子任务的执行结果;所述方法还包括:利用所述信道加密秘钥对加密后的所述第二子任务的执行结果进行解密;基于解密得到的所述第二子任务的执行结果执行所述第一子任务。
在本申请中,第一计算设备和第二计算设备可以在建立网络连接的过程中协商信道加密秘钥,以便利用该信道加密秘钥对传输内容进行加密,如此,可以提高第一计算设备和第二计算设备之间的数据传输的可靠性。
可选地,所述通过所述网络连接与所述第二计算设备传输子任务的执行结果之后,还包括:断开与所述第二计算设备的网络连接。
在本申请中,在子任务的执行结果传输完成之后,第一计算设备和第二计算设备可以自动的断开连接,降低二者继续连接互相访问所带来的安全风险。
本申请实施例的第三方面提供了一种计算设备组网装置,所述装置应用于区块链节点中,所述装置包括:获取模块,用于获取目标任务的任务信息;分配模块,用于基于所述目标任务的任务信息,为所述目标任务包括的多个子任务分配多个计算设备,所述多个计算设备为通过所述区块链节点上配置的区块链认证成功的计算设备,每个计算设备用于执行所述多个子任务中的至少一个子任务;控制组网模块,用于基于所述目标任务的任务信息,控制所述多个计算设备中的至少两个计算设备建立网络连接,以使所述至少两个计算设备通过所述网络连接传输子任务的执行结果。
可选地,所述目标任务的任务信息包括所述多个子任务的任务信息,每个子任务的任务信息包括执行相应子任务所需的数据的信息和计算模型的信息;基于此,所述分配模块具体用于:基于每个子任务所需的数据的信息和计算模型的信息,确定用于执行所述多个子任务的计算设备的数量;基于所述计算设备的数量,从通过所述区块链认证成功的计算设备中确定处于空闲状态的所述多个计算设备;基于每个子任务所需的数据的信息和计算模型的信息,从所述多个计算设备中为每个子任务分配对应的计算设备。
可选地,所述获取模块具体用于:接收数据方设备或模型方设备发送的目标任务的任务信息,所述数据方设备用于提供执行所述目标任务所需的数据,所述模型方设备用于提供执行所述目标任务所需的计算模型。
可选地,所述装置还用于:向所述数据方设备和所述模型方设备发送所述多个计算设备的设备信息和每个计算设备对应的子任务的任务信息,所述数据方设备用于基于每个计算设备的设备信息和对应的子任务的任务信息向相应计算设备发送对应的子任务所需的数据,所述模型方设备用于基于每个计算设备的设备信息和对应的子任务的任务信息向相应计算设备发送对应的子任务所需的计算模型。
可选地,所述控制组网模块具体用于:基于所述目标任务的任务信息,向执行第一子任务的第一计算设备和执行第二子任务的第二计算设备发送组网命令,所述组网命令用于指示所述第一计算设备和所述第二计算设备建立网络连接,所述第一子任务和所述第二子任务为所述多个子任务中两个子任务。
可选地,所述控制组网模块具体用于:接收所述第一计算设备发送的第一子任务的完成信息;基于所述目标任务的任务信息确定所述第二子任务,执行所述第二子任务所需的数据包括所述第一子任务的执行结果;向所述第一计算设备和所述第二计算设备发送所述组网命令。
本申请实施例的第四方面提供了一种计算设备组网装置,所述装置应用于第一计算设备中,所述第一计算设备为通过区块链认证成功的设备,所述装置包括:传输模块,用于接收区块链节点发送的组网命令;组网模块,用于基于所述组网命令,与第二计算设备建立网络连接,所述第二计算设备为通过所述区块链认证成功的设备,所述第一计算设备用于执行所述区块链节点分配的第一子任务,所述第二计算设备用于执行所述区块链节点分配的第二子任务,所述第一子任务和所述第二子任务为目标任务包括的多个子任务中的两个子任务;所述传输模块,还用于通过所述网络连接与所述第二计算设备传输子任务的执行结果。
可选地,所述装置还用于:接收数据方设备发送的执行所述第一子任务所需的第一数据和模型方设备发送的执行所述第一子任务所需的第一计算模型;基于所述第一数据和所述第一计算模型,执行所述第一子任务;在所述第一子任务执行完成后,向所述区块链节点发送所述第一子任务的完成信息。
可选地,所述组网命令包括所述第二计算设备的设备标识;所述组网模块具体用于:基于所述第二计算设备的设备标识,从所述区块链节点中获取所述第二计算设备的网络地址和连接端口;基于所述第二计算设备的网络地址和连接端口,向所述第二计算设备发送连接请求,所述连接请求包括所述第一计算设备的设备标识和设备公钥;响应于所述第二计算设备发送的验证通过消息,获取所述第二计算设备的设备公钥,所述验证通过消息为所述第二计算设备基于所述第一计算设备的设备标识和设备公钥对所述连接请求验证通过后发送的;基于所述第一计算设备的设备私钥和所述第二计算设备的设备公钥与所述第二计算设备协商信道加密秘钥,以建立与所述第二计算设备的网络连接。
可选地,执行所述第二子任务所需的数据包括所述第一子任务的执行结果;所述传输模块具体用于:基于所述信道加密秘钥对所述第一子任务的执行结果进行加密;通过所述网络连接向所述第二计算设备发送加密后的所述第一子任务的执行结果,以使所述第二计算设备基于加密后的所述第一子任务的执行结果执行所述第二子任务。
可选地,所述组网命令包括所述第二计算设备的设备标识;所述组网模块具体用于:接收所述第二计算设备发送的连接请求,所述连接请求包括所述第二计算设备的设备标识和设备公钥;基于所述组网命令包括的所述第二计算设备的设备标识,对所述连接请求进行验证;在对所述连接请求验证通过之后,向所述第二计算设备发送验证通过消息,并基于所述第二计算设备的设备公钥和所述第一计算设备的私钥与所述第二计算设备协商信道加密秘钥,以建立与所述第二计算设备的网络连接。
可选地,执行所述第一子任务所需的数据包括所述第二子任务的执行结果;所述传输模块具体用于:通过所述网络连接接收所述第二计算设备发送的加密后的所述第二子任务的执行结果;所述装置还用于:利用所述信道加密秘钥对加密后的所述第二子任务的执行结果进行解密;基于解密得到的所述第二子任务的执行结果执行所述第一子任务。
可选地,所述组网模块还用于:断开与所述第二计算设备的网络连接。
本申请实施例的第五方面提供了一种区块链节点,所述区块链节点包括处理器和存储器,所述存储器存储有计算机程序,所述处理器用于执行所述计算机程序以实现上述第一方面所述的计算设备组网方法。
本申请实施例的第六方面提供了一种计算设备,所述计算设备包括处理器和存储器,所述存储器存储有计算机程序,所述处理器用于执行所述计算机程序以实现上述第二方面所述的计算设备组网方法。
本申请实施例的第六方面提了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的任一种方法的步骤。
本申请实施例与现有技术相比至少存在的有益效果是:
在本申请实施例中,区块链节点可以为目标任务包括的多个子任务分配多个计算设备,并通过控制该多个计算设备组网来传递子任务的执行结果,以此来实现多个计算设备分担计算多个子任务。由于多个计算设备为通过区块链认证成功的可信计算设备,所以通过控制该多个计算设备组网来分担计算目标任务的多个子任务,在保证计算过程中数据和模型的安全性同时,还可以提高计算效率。
附图说明
图1是本申请实施例提供的一种计算设备组网方法所涉及的系统架构示意图;
图2是本申请实施例提供的一种计算设备组网方法的流程图;
图3是本申请实施例示出的一种目标任务拆分成子任务的示意图;
图4是本申请实施例示出的另一种计算设备组网方法的流程图;
图5是本申请实施例提供的又一种计算设备组网方法的流程图;
图6是本申请实施例提供的一种计算设备组网装置的结构示意图;
图7是本申请实施例提供的另一种计算设备组网装置的结构示意图;
图8是本申请实施例提供的一种计算机设备的示意图。
具体实施方式
为了使本申请所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
需要说明的是,在本申请中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,“至少一个”的含义是一个或多个,除非另有明确具体的限定。
接下来首先对本申请实施例提供的计算设备组网方法所涉及的系统架构进行介绍。
图1是本申请实施例提供的计算设备组网方法所涉及的系统架构示意图。如图1所示,该系统包括区块链节点10和计算集群11。
其中,区块链节点10上部署有区块链,计算集群11包括通过该区块链认证成功的多个计算设备。区块链节点10可以与该多个计算设备进行通信。
在本申请实施例中,区块链节点10可以获取目标任务的任务信息,并基于目标任务的任务信息,从计算集群11中,为目标任务包括的多个子任务分配多个计算设备,例如,参见图1,为多个子任务分配的多个计算设备为计算设备110、计算设备111和计算设备112,其中,每个计算设备用于执行区块链节点10为自身分配的子任务。之后,区块链节点10可以基于目标任务的任务信息,控制为多个子任务分配的多个计算设备中的至少两个计算设备建立网络连接,以此来传递子任务的执行结果。例如,区块链节点10在基于目标任务的任务信息确定计算设备111执行的子任务所需的数据包括计算设备112执行的子任务的执行结果,则区块链节点10可以通过向计算设备111和计算设备112下发组网命令来控制计算设备111和计算设备112建立网络连接。相应的,计算设备111和计算设备112可以在接收到组网命令之后,通过建立网络连接来传输计算设备111执行的子任务的执行结果,以便计算设备112基于该执行结果执行自身的子任务。
示例性的,在本申请实施例中,区块链节点10上的区块链中可以部署有任务管理合约和组网管理合约。区块链节点10可以通过该任务管理合约来管理目标任务,并通过组网管理合约来控制执行任务的计算设备进行组网,以便多个计算设备协同完成任务。
例如,在本申请实施例中,区块链节点10可以通过该任务管理合约来为目标任务包括的多个子任务分配多个计算设备,并调度多个计算设备执行对应的子任务,后续,区块链节点10还可以通过该任务管理合约对各个子任务进行进度监控等。其中,该任务管理合约可以包括目标任务的任务信息、进度信息等。在区块链节点10通过任务管理合约为各个子任务分配对应的计算设备之后,该区块链节点10还可以通过组网管理合约控制用于执行多个子任务的多个计算设备中的至少两个计算设备建立网络连接,以便该至少两个计算设备基于该网络连接来传输子任务的计算结果。其中,该组网管理合约可以包括至少两个计算设备的组网信息等。
可选地,区块链节点10上的区块链中还可以部署有设备管理合约,区块链节点10可以通过该设备管理合约来实现对计算设备的认证和管理。示例性的,该设备管理合约中可以存储有认证成功的计算设备的设备信息,其中,计算设备的设备信息可以包括计算设备的软硬件配置信息、网络配置信息和设备公钥等。
可选地,在一种可能的实现方式中,该系统中还可以包括数据方设备12和模型方设备13。该数据方设备12和模型方设备13均可以与区块链节点10进行通信。
示例性的,数据方设备12或模型方设备13可以向区块链节点10发送目标任务的任务信息,以便区块链节点10为目标任务的多个子任务分配计算设备。在区块链节点10为多个子任务分配多个计算设备之后,数据方设备12和模型方13可以接收区块链节点10分配的计算设备的设备信息。在此基础上,数据方设备12可以基于各个子任务对应的计算设备的设备信息,向相应计算设备提供用于执行相应子任务所需的数据,模型方设备13则可以基于各个子任务对应的计算设备的设备信息,向相应计算设备提供用于执行相应子任务所需的计算模型。由于执行各个子任务的计算设备是通过区块链认证成功的设备,所以,数据方设备12和模型方设备13向这些计算设备提供数据和模型,能够更好的保障数据方设备12的数据安全以及模型方设备13的模型安全。在此基础上,目标任务的多个子任务通过多个计算设备分担执行能够提高任务执行的效率。并且,分担执行目标任务的多个计算设备可以在区块链节点10的控制下进行组网,可以更好的保障在执行任务过程中数据的安全性。
需要说明的是,上述的区块链节点10、数据方设备12和模型方设备13均可以为一台单独的服务器,或者是一个服务器集群。其中,区块链节点10、数据方设备12和模型方设备13可以为不同机构的设备,并且,数据方设备12可以有多个,多个数据方设备12可以属于不同的机构。模型方设备13也可以有多个,且多个模型方设备13也可以属于不同的机构。或者,在一种可能的实现方式中,数据方设备12和模型方设备13也可以是同一机构的设备,本申请实施例在此不作限定。另外,计算集群11中的各个计算设备可以是服务器、终端之类的高性能计算设备。并且,计算集群11与数据方设备12、模型方设备13可以是不同机构的设备。
接下来对本申请实施例提供的计算设备组网方法进行介绍。
图2是本申请实施例提供的一种计算设备组网方法的流程图。该方法可以应用于图1所示的系统中,参见图2,该方法可以包括以下步骤:
步骤201:区块链节点获取目标任务的任务信息。
在本申请实施例中,数据方设备或模型方设备可以向区块链节点发送目标任务的任务信息,相应的,区块链节点接收该目标任务的任务信息。
在第一种可能的情况中,可以由模型方设备发起计算任务。在该种情况下,首先,模型方设备可以获取技术人员编写的用于执行目标任务的计算模型,根据该目标任务的计算模型,将目标任务拆分成多个步骤,将拆分得到的每个步骤作为一个子任务,并将计算模型按照该多个子任务拆分成多个子模型,每个子模型用于执行一个子任务。之后,模型方设备可以按照预设格式,根据执行每个子任务的子模型的信息和所需要的数据的信息来生成目标任务的任务信息。
其中,该目标任务的任务信息可以包括每个子任务的任务信息,每个子任务的任务信息可以包括相应子任务对应的计算模型的信息和所需的数据的信息。每个子任务所需的数据可以是指相应子任务对应的计算模型所需的输入数据。
需要说明的是,每个子任务对应的计算模型的信息可以为相应计算模型的模型标识,每个子任务所需的数据的信息可以包括该数据所属的机构的标识和该数据的标识中的至少一项。
可选地,每个子任务的任务信息还可以包括每个子任务的执行结果的标识,除此之外,还可以包括每个子任务的任务标识。另外,目标任务的任务信息还可以包括目标任务的任务标识。
示例性的,参见图3,假设模型方设备将目标任务拆分成了3个子任务,其中,子任务1是将数据1输入模型1进行计算,得到结果1;子任务2是将数据2输入模型2进行计算,得到结果2;子任务3是将结果1和结果2输入至模型3进行计算,得到结果3。在这种情况下,模型方设备按照预设格式生成的目标任务的任务信息可以为:[子任务1,数据1,模型1,结果1;子任务2,数据2,模型2,结果2;子任务3,结果1和结果2,模型3,结果3]。
模型方设备生成目标任务的任务信息之后,可以向区块链节点发送该目标任务的任务信息。区块链节点接收到该目标任务的任务信息之后,可以将该目标任务的任务信息存储至区块链,并设置该目标任务的任务状态为待接受状态。之后,通过区块链将该目标任务的任务信息同步至为该目标任务提供数据的各个数据方设备。各个数据方设备在接收到该目标任务的任务信息之后,可以与模型方设备一起通过区块链对该目标任务进行投票确认,当投票总数超过一定阈值后,则将该目标任务的任务状态修改为待执行状态,以指示各个数据方设备和模型方设备同意执行该目标任务。这样,通过区块链来实现任务信息的存储和调度管理,支持各个参与方分布式协同决策,使得任务的管理、执行和协调变得更加透明和可信。
具体来说,区块链节点可以部署有任务管理合约,区块链节点在接收到目标任务的任务信息之后,可以将该目标任务的任务信息存储至任务管理合约,进而通过该任务管理合约来实现上述的各个步骤。
可选地,如果目标任务的任务信息中包括的目标任务所需的数据的信息为数据所属的机构的标识,则区块链节点在通过区块链将目标任务的任务信息同步至各个数据方设备的同时,模型方设备还可以将目标任务的任务信息所需的数据的标识发送至相应数据对应的数据方设备。
在第二种可能的情况中,可以由数据方设备发起计算任务。在这种情况下,数据方设备可以接收技术人员编写的目标任务的任务信息,该目标任务的任务信息的实现方式可以参考前述第一种情况中的相关介绍,在此不再赘述。
数据方设备在获取到目标任务的任务信息之后,可以将该目标任务的任务信息发送至区块链节点。区块链节点可以将该目标任务的任务信息存储至区块链,例如,区块链节点可以将该目标任务的任务信息存储至区块链上的任务管理合约中。之后,区块链节点可以将该目标任务的任务状态设置为待接受状态。
另外,区块链节点还可以通过区块链将该目标任务的任务信息同步至模型方设备以及其他数据方设备。之后,模型方设备和各个数据方设备可以通过区块链对该目标任务进行投票确认,当投票总数超过一定阈值之后,区块链节点可以将该目标任务的任务状态修改为待执行状态,以此来指示各个数据方设备和模型方设备已同意执行该目标任务。
可选地,如果目标任务的任务信息中包括的目标任务所需的数据的信息为数据所属的机构的标识,则区块链节点在通过区块链将目标任务的任务信息同步至其他数据方设备的同时,发起目标任务的数据方设备还可以将目标任务所需的由其他数据方设备提供的数据的标识发送至相应的数据方设备。
步骤202:区块链节点基于目标任务的任务信息,为目标任务包括的多个子任务分配多个计算设备。
区块链节点在获取到目标任务的任务信息之后,可以通过任务管理合约对该目标任务的任务信息进行解析,进而基于解析得到的目标任务的任务信息,为该目标任务包括的多个子任务分配多个计算设备。
示例性的,区块链节点可以通过任务管理合约解析目标任务的任务信息,得到多个子任务的任务信息。之后,基于每个子任务的任务信息中包括的所需的数据的信息和计算模型的信息,确定用于执行多个子任务的计算设备的数量;基于计算设备的数量,从通过区块链认证成功的计算设备中确定处于空闲状态的多个计算设备;基于每个子任务所需的数据的信息和计算模型的信息,从多个计算设备中为每个子任务分配对应的计算设备。
其中,区块链节点可以根据每个子任务所需的数据的信息和计算模型的信息,确定多个子任务中可以由相同的计算设备来执行的子任务的集合,之后,将确定的子任务的集合的数量和多个子任务中除子任务的集合包括的子任务之外剩余子任务的数量的总和,作为用于执行该多个子任务的计算设备的数量。
具体来说,所需的数据不同但是所需的计算模型相同的子任务可以由相同的计算设备来执行。所需的数据相同但所需的计算模型不同的子任务也可以采用相同的计算设备来执行。可选地,如果某个子任务所需的数据包括至少两个子任务的执行结果,则该子任务与该至少两个子任务中的任一个子任务可以由相同的计算设备来执行。
例如,仍以图3所示的目标任务为例,该目标任务中的子任务1可以由一个计算设备执行,子任务2可以由一个计算设备执行,子任务3所需的数据包括子任务1的执行结果和子任务2的执行结果,所以,子任务3和子任务2可以由同一个计算设备执行,或者,子任务3和子任务1可以由同一个计算设备执行,如此,用于执行图3所示的目标任务的多个子任务的计算设备的数量可以为2。
在确定出用于执行目标任务的多个子任务的计算设备的数量之后,区块链节点可以通过任务管理合约,基于确定出的计算设备的数量,从通过区块链认证成功的计算设备中确定当前处于空闲状态的相应数量的计算设备。之后,区块链节点可以通过任务管理合约,将一个子任务集合中包括的至少两个子任务分配给一个计算设备,将不属于子任务集合的各个子任务分别分配不同的计算设备。例如,对于图3所示的目标任务,可以将子任务1分配给一个计算设备,将子任务2和子任务3分配给另一个计算设备。
由此可见,在本申请实施例中,通过将一个目标任务拆分为多个子任务并分配给多个计算设备来执行,可以提高目标任务的处理效率。并且,由于为各个子任务分配的计算设备均为通过区块链认证成功的计算设备,所以,这些计算设备均为可信计算设备,在此基础上,通过这些计算设备来执行计算任务,可以更好的保障计算过程中数据和模型的安全性。
需要说明的是,在为各个子任务分配计算设备时,区块链节点在确定出为各个子任务分配的计算设备之后,可以将各个子任务的任务标识和对应的计算设备的设备信息对应存储至任务管理合约,以此来实现各个子任务与对应的计算设备的绑定。其中,计算设备的设备信息包括计算设备的设备标识。可选地,计算设备的设备信息还可以包括计算设备的设备公钥、网络地址、连接端口等。
在为各个子任务分配对应的计算设备之后,区块链节点可以向数据方设备和模型方设备发送多个计算设备的设备信息和每个计算设备对应的子任务的任务信息。
示例性的,区块链节点可以向每个子任务所需的数据对应的数据方设备发送执行相应子任务的计算设备的设备信息和对应的子任务的任务标识,向每个子任务所需的计算模型对应的模型方设备发送执行相应子任务的计算设备的设备信息和对应的子任务的任务标识。例如,子任务1由计算设备1来执行,则可以向为子任务1提供数据的数据方设备1发送计算设备1的设备信息以及对应的子任务1的任务标识。向为子任务1提供计算模型的模型方设备1发送计算设备1的设备信息和对应的子任务1的任务标识。
数据方设备和模型方设备在接收到区块链节点发送的计算设备的设备信息和对应的子任务的任务信息之后,可以基于接收到设备信息和子任务的任务信息,向相应的计算设备发送数据和计算模型。
示例性的,当计算设备的设备信息包括设备标识但不包括设备公钥、网络地址和连接端口时,数据方设备和模型方设备可以基于接收到的设备标识,从区块链上获取设备标识对应的设备公钥、网络地址和连接端口。
需要说明的是,在本申请实施例中,区块链上可以部署有设备管理合约,通过该设备管理合约可以对计算设备进行认证,并且,该设备管理合约中存储有认证成功的各个计算设备的设备标识、设备公钥、网络地址和连接端口。基于此,数据方设备和模型方设备可以根据接收到的设备标识,从设备管理合约中获取该设备标识对应的设备公钥、网络地址和连接端口。
数据方设备和模型方设备在获取到计算设备的设备标识、设备公钥、网络地址和连接端口之后,以某个数据方设备为例,数据方设备可以根据获取到的计算设备的网络地址和连接端口与该计算设备建立网络连接,之后,通过获取到的该计算设备的设备公钥对该计算设备所要执行的子任务所需的数据进行加密,得到加密数据,并将加密数据通过建立的网络连接发送至该计算设备。
可选地,数据方设备也可以通过计算设备的设备公钥对该计算设备所要执行的子任务的任务标识和所需的数据进行加密,从而得到加密数据,之后将该加密数据通过建立的网络连接发送至该计算设备。
同理,模型方设备也可以参考上述方法向计算设备发送包含有用于执行子任务所需的计算模型的加密模型,本申请实施例在此不再赘述。
在本申请实施例中,数据方设备和模型方设备可以利用从区块链上获取的计算设备的设备公钥来对待传输的数据和模型进行加密后传输,这样,可以提高传输过程中数据和模型的安全性。
各个计算设备在接收到数据方设备发送的加密数据和模型方设备发送的加密模型之后,可以基于该加密数据和加密模型来执行子任务。
具体来说,以任一计算设备为例,该计算设备可以利用自身的私钥对接收到的加密数据和加密模型进行解密。之后,计算设备可以将解密得到的数据输入至计算模型中进行计算,从而得到子任务的执行结果。
可选地,当加密数据和加密模型还包括子任务的任务标识时,计算设备在对加密数据和加密模型进行解密之后,还可以根据子任务的任务标识对该子任务进行验证,以确定该子任务是否为自身所要执行的子任务。
示例性的,由前述介绍可知,区块链节点在为各个子任务分配计算设备之后,可以将各个子任务的任务标识和用于执行相应子任务的计算设备的设备信息对应存储至任务管理合约。基于此,计算设备可以从任务管理合约中查询接收到的子任务的任务标识对应的设备信息是否与自身的设备信息相同,例如,接收到的子任务的任务标识对应的设备公钥是否与自身的设备公钥相同,如果相同,则对该子任务的验证通过。在这种情况下,该计算设备可以根据接收到的该子任务所需的数据和计算模型来执行该子任务。
由此可见,在本申请实施例中,计算设备在接收到数据方设备提供的数据和模型方设备提供的计算模型之后,还可以进一步的通过区块链来进行任务的校验,这样,可以降低计算设备被非法设备访问并使用的概率,从而提高安全性。
当计算设备执行完成子任务之后,该计算设备可以向区块链节点发送该子任务的完成信息,以通知区块链节点该子任务已完成。其中,子任务的完成信息中可以包括子任务的任务标识。
步骤203:区块链节点基于目标任务的任务信息,控制多个计算设备中的至少两个计算设备建立网络连接。
在本申请实施例中,目标任务包括的多个子任务中可以包括至少两个具有依赖关系的子任务,也即,该至少两个子任务中执行一个子任务所需的数据包括另一个子任务的执行结果。在这种情况下,区块链节点可以控制执行该至少两个子任务的至少两个计算设备建立网络连接,以此来传输子任务的执行结果。
示例性的,区块链节点可以基于目标任务的任务信息,向执行第一子任务的第一计算设备和执行第二子任务的第二计算设备发送组网命令,该组网命令用于指示第一计算设备和第二计算设备建立网络连接,第一子任务和第二子任务为多个子任务中两个子任务。
在一种可能的实现方式中,区块链节点可以在为各个子任务分配对应的计算设备之后,通过任务管理合约,基于各个子任务所需的数据来确定存在依赖关系的第一子任务和第二子任务。之后,区块链节点可以通过任务管理合约向组网管理合约发送要组网的第一计算设备和第二计算设备的设备信息,其中,第一计算设备用于执行第一子任务,第二计算设备用于执行第二子任务。通过该组网管理合约,基于第一计算设备和第二计算设备的设备信息,向第一计算设备和第二计算设备发送组网命令,并将第一计算设备和第二计算设备的组网信息存储至该组网管理合约。
其中,第一子任务和第二子任务存在依赖关系可以是指第一子任务依赖于第二子任务,也即第一子任务所需的数据包括第二子任务的执行结果;或者,也可以是指第二子任务依赖于第一子任务,也即第二子任务所需的数据包括第一子任务的执行结果。
区块链节点向每个计算设备发送的组网命令中可以包括该计算设备所要连接的对端计算设备的设备标识。可选地,向每个计算设备发送的组网命令还可以包括相应计算设备的设备公钥、所要连接的对端计算设备的网络地址和连接端口中的至少一项。
可选地,组网命令中还可以包括传输方向指示信息,以指示两个计算设备之间允许进行双向传输还是单向传输。其中,双向传输是指两个计算设备可以互相向对方传输数据。单向传输是指两个计算设备中一个计算设备可以向另一个计算设备传输数据,但是另一个计算设备不能向该计算设备传输数据。当传输方向指示信息指示单向传输时,该传输方向指示信息还可以指示两个计算设备中的发送方和接收方,其中,接收方所执行的子任务依赖于发送方所执行的子任务的执行结果来执行。
可选地,组网命令还可以包括带宽信息,该带宽信息用于指示两个计算设备之间传输数据时所允许占用的最大带宽。
另外,组网管理合约中存储的第一计算设备和第二计算设备的组网信息可以包括第一计算设备的设备信息、第二计算设备的设备信息和两个计算设备各自对应的子任务的任务标识。
可选地,区块链节点在确定出第一子任务和第二子任务之后,如果第二子任务依赖于第一子任务执行,则区块链节点可以向执行第一子任务的第一计算设备发送组网命令,而不向执行第二子任务的第二计算设备发送组网命令。如果第一子任务依赖于第二子任务执行,则区块链节点可以向第二计算设备发送组网命令,而不向第一计算设备发送组网命令。
在另一种可能的实现方式中,区块链节点也可以在接收到第一计算设备发送的第一子任务的完成信息之后,基于目标任务的任务信息确定第二子任务,其中,执行第二子任务所需的数据包括第一子任务的执行结果;之后,区块链节点可以向第一计算设备和第二计算设备发送组网命令。
在该种实现方式中,区块链节点可以通过任务管理合约接收第一计算设备发送的第一子任务的完成信息。之后,通过任务管理合约,根据执行每个子任务所需的数据来确定依赖于第一子任务的执行结果来执行的第二子任务。之后,区块链节点可以通过任务管理合约向组网管理合约发送第一计算设备和执行第二子任务的第二计算设备的设备信息,进而通过组网管理合约,基于该第一计算设备和第二计算设备的设备信息,向第一计算设备和第二计算设备下达组网命令,以指示这两个计算设备进行建立网络连接。其中,组网管理合约可以存储有第一计算设备和第二计算设备的组网信息。
其中,区块链节点向各个计算设备发送的组网命令的实现方式以及第一计算设备和第二计算设备的组网信息的实现方式可以参考前述介绍,在此不再赘述。
可选地,在该种实现方式中,区块链节点在确定出第二子任务之后,可以向第一计算设备发送组网命令,而不向第二计算设备发送组网命令。
可选地,在一些可能情况中,在第一子任务与第二子任务具有依赖关系的情况下,第一计算设备和第二计算设备可能无法直接建立网络连接。在这种情况下,区块链节点可以控制第一计算设备和第二计算设备通过中继设备如第三计算设备建立网络连接。也即,区块链节点可以向第一计算设备、第二计算设备和第三计算设备发送组网命令,以便第一计算设备和第二计算设备可以分别基于组网命令与第三计算设备建立网络连接,进而通过第三计算设备来传输子任务的执行结果。其中,任意两个计算设备基于组网命令建立网络连接的实现方式可以参考图4所示实施例中的相关介绍。
在本申请实施例中,区块链节点可以为目标任务包括的多个子任务分配多个计算设备,并通过控制该多个计算设备组网来传递子任务的执行结果,以此来实现多个计算设备分担计算多个子任务。由于多个计算设备为通过区块链认证成功的可信计算设备,所以通过控制该多个计算设备组网来分担计算目标任务的多个子任务,在保证计算过程中数据和模型的安全性同时,还可以提高计算效率。
上述实施例中介绍了区块链节点可以通过下发组网命令来控制至少两个计算设备进行组网来传输子任务的执行结果。基于此,以至少两个计算设备包括第一计算设备和第二计算设备为例,第一计算设备和第二计算设备可以通过图4所示的组网方法来建立网络连接,参见图4,该方法包括以下步骤:
步骤401:第一计算设备接收区块链节点发送的组网命令,该第一计算设备用于执行区块链节点分配的第一子任务。
其中,第一子任务为目标任务包括的多个子任务中的一个。并且,该第一子任务可以是依赖于第二子任务的执行结果来执行的子任务,也可以是第二子任务所依赖的子任务。其中,第二子任务也为多个子任务中的一个。
在本申请实施例中,第一计算设备可以在还未执行完成第一子任务的情况下,接收区块链节点发送的组网命令。
或者,在第二子任务依赖于第一子任务的执行结果执行的情况下,第一计算设备也可以在第一子任务执行完成后,向区块链节点发送第一子任务的完成信息。之后,第一计算设备可以接收区块链节点基于第一子任务的任务完成信息发送的组网命令。
示例性的,第一计算设备可以先接收数据方设备发送的执行第一子任务所需的第一数据和模型方设备发送的执行第一子任务所需的第一计算模型;之后基于第一数据和第一计算模型,执行第一子任务。在第一子任务执行完成之后,第一计算设备向区块链节点发送第一子任务的完成信息,该完成信息中可以包括第一子任务的任务标识。
其中,第一计算设备接收到的第一数据和第一计算模型可以均为加密的数据和模型,具体实现过程可以参考前述实施例中的步骤202介绍的相关实现方式。另外,第一计算设备在接收到第一数据和第一计算模型之后的相关操作,基于第一数据和第一计算模型执行第一子任务的实现方式也可以参考前述步骤202介绍的计算设备基于接收到的加密数据和加密模型执行子任务的实现方式,在此不再赘述。
需要说明的是,第一计算设备接收到的组网命令中可以包括所要连接的对端计算设备的设备标识。可选地,该组网命令还可以包括自身的设备公钥和对端计算设备的网络地址、连接端口等。
例如,在本申请实施例中,第一计算设备所要连接的计算设备为第二计算设备,则第一计算设备接收到的组网命令中可以包括第二计算设备的设备标识、网络地址、连接端口和自身的设备公钥。
步骤402:第一计算设备基于组网命令,与第二计算设备建立网络连接,第二计算设备为通过区块链认证成功的设备,用于执行区块链节点分配的第二子任务。
在第一种情况中,如果第二子任务依赖于第一子任务的执行结果来执行,则可以由第一计算设备来请求建立连接。在这种情况下,第一计算设备在接收到组网命令之后,可以获取第二计算设备的网络地址和连接端口。之后,基于第二计算设备的网络地址和连接端口,向第二计算设备发送连接请求,连接请求包括第一计算设备的设备标识和设备公钥;响应于第二计算设备发送的验证通过消息,获取第二计算设备的设备公钥,该验证通过消息为第二计算设备基于第一计算设备的设备标识和设备公钥对连接请求验证通过后发送的;基于第一计算设备的设备私钥和第二计算设备的设备公钥与第二计算设备协商信道加密秘钥,以建立与第二计算设备的网络连接。
其中,由前述介绍可知,区块链节点中的设备管理合约中存储有认证成功的各个计算设备的设备信息。基于此,如果组网命令中包括第二计算设备的设备标识但不包括第二计算设备的网络地址和连接端口,则第一计算设备从区块链节点的设备管理合约中,获取第二计算设备的设备标识对应的网络地址和连接端口。
如果组网命令中包括第二计算设备的网络地址和连接端口,则第一计算设备可以直接从该组网命令中获取第二计算设备的网络地址和连接端口。
在获取到第二计算设备的网络地址和连接端口之后,第一计算设备可以根据该网络地址和连接端口,向第二计算设备发送连接请求。其中,该连接请求中可以包括第一计算设备的设备标识和设备公钥,除此之外,该连接请求中还可以包括第一子任务的任务标识。
第二计算设备在接收到该连接请求之后,可以基于第一计算设备的设备标识和设备公钥,对该连接请求进行验证,并在验证通过之后,向第一计算设备发送验证通过消息。
示例性的,如果第二计算设备也收到了区块链节点发送的组网命令,则第二计算设备可以检测组网命令中包括的对端计算设备的设备标识和设备公钥与连接请求中包括的第一计算设备的设备标识和设备公钥是否相同,如果相同,则第二计算设备可以确定对该连接请求验证通过。
可选地,在一种可能的情况中,为了提高安全性,第二计算设备在确定组网命令中包括的对端计算设备的设备标识和设备公钥与连接请求中包括的第一计算设备的设备标识和设备公钥相同之后,该第二计算设备还可以进一步通过区块链来验证该连接请求。
由前述介绍可知,区块链节点在向第一计算设备下发与第二计算设备建立网络连接的组网命令后,可以在区块链中的组网管理合约中存储第一计算设备和第二计算设备的组网信息,其中,该组网信息可以包括第一计算设备的设备信息、第二计算设备的设备信息和两个计算设备分别对应的子任务的任务标识。基于此,第二计算设备还可以从组网管理合约中查询是否存在包含第一计算设备和第二计算设备的设备公钥的组网信息,如果存在,则该连接请求验证通过,如果不存在,则该连接请求验证未通过。
可选地,如果连接请求中还携带有第一子任务的任务标识,则第二计算设备可以从组网管理合约中查询是否存在包含第一计算设备和第二计算设备的设备公钥以及第一子任务和第二子任务的任务标识的组网信息,如果存在,则该连接请求验证通过,如果不存在,则该连接请求验证未通过。
在本申请实施例中,第二计算设备在接收到第一计算设备发送的连接请求之后,可以通过组网管理合约中的组网信息来对该连接请求进行验证,以此来验证第一计算设备的身份,这样,可以降低第二计算设备与不合法设备连接从而造成的数据安全风险,提高了安全性。
在对该连接请求验证通过的情况下,第二计算设备可以向第一计算设备发送验证通过消息,以通知第一计算设备可以开始与第二计算设备协商信道加密秘钥。如此,第一计算设备在接收到验证通过消息之后,可以获取第二计算设备的设备公钥。之后,两个计算设备可以各自基于对端计算设备的设备公钥进行交互,从而协商出信道加密秘钥。
示例性的,第一计算设备在接收到验证通过消息之后,可以向第二计算设备发送第一消息,该第一消息中可以包括第一计算设备生成的第一随机数和该第一计算设备支持的密码套件。第二计算设备在接收到第一消息之后,可以向第一计算设备发送第二消息,第二消息中可以包括第二计算设备生成的第二随机数和目标密码套件。其中,目标密码套件是第二计算设备基于第一计算设备支持的密码套件选择出的自身和第一计算设备均支持的密码套件。之后,第二计算设备可以向第一计算设备发送第三消息,该第三消息包括第二计算设备的证书,其中,第二计算设备的证书包括第二计算设备的设备公钥。第一计算设备在接收到第二消息和第三消息之后,从第二消息中获取第二随机数,并基于目标密码套件从第二计算设备的证书中获取第二计算设备的设备公钥。之后,第一计算设备基于第一随机数和第二随机数生成预主密钥,并通过第二计算设备的设备公钥对该预主密钥进行加密。将加密后的预主密钥发送至第二计算设备。之后,第一计算设备可以基于目标密码套件,利用预主密钥、第一随机数和第二随机数计算主密钥,进而利用主密钥、第一随机数和第二随机数生成信道加密秘钥。第二计算设备在接收到加密后的预主密钥之后,利用自身的设备私钥对该预主密钥进行解密。之后,采用与第一计算设备相同的计算方式计算出信道加密秘钥。之后,第一计算设备和第二计算设备可以各自向对方发送完成消息,以指示协商完成,第一计算设备与第二计算设备的网络连接建立成功。
在本申请实施例中,第一计算设备和第二计算设备可以在建立网络连接的过程中协商信道加密秘钥,以便后续利用该信道加密秘钥对传输内容进行加密,如此,可以提高第一计算设备和第二计算设备之间的数据传输的可靠性。
在第二种情况中,如果第一子任务依赖于第二子任务的执行结果来执行,则可以由第二计算设备请求建立连接。在这种情况下,第一计算设备在接收到组网命令之后,接收第二计算设备发送的连接请求,该连接请求包括第二计算设备的设备标识和设备公钥;基于组网命令包括的第二计算设备的设备标识,对连接请求进行验证;在对连接请求验证通过之后,向第二计算设备发送验证通过消息,并基于第二计算设备的设备公钥和第一计算设备的私钥与第二计算设备协商信道加密秘钥,以建立与第二计算设备的网络连接。
其中,第一计算设备基于组网命令包括的第二计算设备的设备标识对连接请求进行验证的实现过程可以参考前述第一种情况中介绍的第二计算设备对连接请求进行验证的过程,本申请实施例在此不再赘述。另外,第一计算设备和第二计算设备交互以协商信道加密秘钥的实现过程,也可以参考上述第一种情况中的相关介绍,与第一种情况不同的是,在第二种情况中,由第二计算设备来发起协商过程,也即,第二计算设备可以执行上述第一种情况中第一计算设备所执行的操作,第一计算设备则可以执行上述第一种情况中第二计算设备所执行的操作。
步骤403:第一计算设备通过该网络连接与第二计算设备传输子任务的执行结果。
在与第二计算设备成功建立网络连接之后,如果第二子任务依赖于第一子任务的执行结果执行,则第一计算设备可以基于信道加密秘钥对第一子任务的执行结果进行加密;通过该网络连接向第二计算设备发送加密后的第一子任务的执行结果,以使第二计算设备基于加密后的第一子任务的执行结果执行第二子任务。
需要说明的是,第二计算设备在接收到加密后的第一子任务的执行结果,可以通过信道加密秘钥对加密的第一子任务的执行结果进行解密。之后,将解密得到的第一子任务的执行结果输入第二计算模型进行计算,从而得到第二子任务的执行结果。其中,第二计算模型是指用于执行第二子任务的计算模型。
可选地,第二计算设备在通过网络连接接收到加密后的第一子任务的执行结果之后,可以自动断开与第一计算设备的网络连接。
可选地,如果第二子任务为目标任务中的最后一个步骤对应的子任务,则在第二子任务执行完成之后,第二计算设备可以将第二子任务的执行结果作为目标任务的执行结果发送至区块链节点,由区块链节点将该目标任务的执行结果发送至发起目标任务的模型方设备或数据方设备。
可选地,由前述实施例中的介绍可知,组网命令中还可以包括带宽信息,基于此,第一计算设备还可以根据该带宽信息指示的最大带宽来向第二计算设备发送加密后的第一子任务的执行结果。也即,第一计算设备在向第二计算设备传输第一子任务的执行结果时可以控制所占用的带宽不超过该带宽信息所指示的最大带宽。
可选地,组网命令中还可以包括传输方向指示信息。基于此,如果该传输方向指示信息指示允许进行单向传输,则第一计算设备在检测到第二计算设备发送的数据时,可以将第二计算设备发送的数据丢弃。可选地,如果该传输方向指示信息指示允许进行双向传输,则第一计算设备不仅可以向第二计算设备发送第一子任务的执行结果,还可以接收第二计算设备发送的数据。
如果第一子任务依赖于第二子任务的执行结果来执行,则第一计算设备可以通过与第二计算设备之间的网络连接接收第二计算设备发送的加密后的第二子任务的执行结果;利用信道加密秘钥对加密后的第二子任务的执行结果进行解密;基于解密得到的第二子任务的执行结果执行第一子任务。
其中,第二计算设备可以通过协商出的信道加密秘钥对第二子任务的执行结果进行加密,之后,将加密的第二子任务的执行结果通过建立的网络连接发送给第一计算设备。
第一计算设备在利用信道加密秘钥对加密后的第二子任务的执行结果进行解密之后,第一计算设备可以将解密得到的第二子任务的执行结果输入第一计算模型进行计算,从而得到第一子任务的执行结果。
可选地,第一计算设备在通过网络连接接收到加密后的第二子任务的执行结果之后,可以自动断开与第二计算设备的网络连接。
可选地,如果第一子任务为目标任务中的最后一个步骤对应的子任务,则在第一子任务执行完成之后,第一计算设备可以将第一子任务的执行结果作为目标任务的执行结果发送至区块链节点,由区块链节点将该目标任务的执行结果发送至发起目标任务的模型方设备或数据方设备。
在本申请实施例中,分担执行目标任务的不同子任务的计算设备可以在区块链节点的控制下建立网络连接,以此来传输子任务的执行结果。这样,在提高了目标任务的处理效率的同时,可以保证计算过程中数据和模型的安全性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
基于上述实施例中介绍的计算设备组网方法,本申请实施例还提供了一种各个参与方设备进行交互以实现目标任务的计算的实现流程,其中,该实现流程中的目标任务以图3所示的目标任务为例,参见图5,该实现流程包括以下步骤:
1.模型方设备向区块链节点发送目标任务的任务信息。
其中,目标任务的任务信息包括多个子任务的任务信息,每个子任务的任务信息包括执行该子任务所需的数据的标识和所属的机构标识、所需的计算模型的标识和该子任务标识。
2.区块链节点通过任务管理合约为该目标任务包括的子任务1分配计算设备1,为子任务2和子任务3分配计算设备2。
3.区块链节点向模型方设备发送计算设备1和计算设备2的设备信息。
其中,计算设备的设备信息包括计算设备的设备标识、设备公钥、网络地址和连接端口。
4.区块链节点向数据方设备1发送计算设备1的设备信息和对应的子任务1的任务信息。
5.区块链节点向数据方设备2发送计算设备2的设备信息和对应的子任务2和子任务3的任务信息。
其中,步骤3至步骤5的执行顺序不分先后。
6.数据方设备1基于计算设备1的设备信息和子任务1的任务信息,向计算设备1发送数据1。
7.数据方设备2基于计算设备2的设备信息和子任务2的任务信息,向计算设备2发送数据2。
8.模型方设备基于计算设备1和计算设备2的设备信息,向计算设备1发送模型1,向计算设备2发送模型2和模型3。
其中,步骤6至步骤8的执行顺序不分先后。
9.计算设备1基于数据1和模型1执行子任务1。
10.计算设备2基于数据2和模型2执行子任务2。
其中,步骤9和步骤10的执行顺序不分先后。
11.计算设备1向区块链节点发送子任务1的完成信息。
12.区块链节点向计算设备1和计算设备2发送组网命令。
13.计算设备1和计算设备2基于组网命令建立网络连接。
14.计算设备1通过网络连接向计算设备2发送子任务1的执行结果。
15.计算设备2基于模型3、子任务1的执行结果和子任务2的执行结果执行子任务3,得到目标任务的执行结果。
16.计算设备2向区块链节点发送目标任务的执行结果。
17.区块链节点向模型方设备发送目标任务的执行结果。
其中,上述的各个步骤的详细实现方式可以参考前述实施例中介绍的相关实现方式,本实施例在此不再赘述。
本申请实施例还提供了一种计算设备组网装置600,该装置应用于区块链节点中,参见图6,该装置600包括获取模块601、分配模块602和控制组网模块603。
获取模块601,用于获取目标任务的任务信息;
分配模块602,用于基于目标任务的任务信息,为目标任务包括的多个子任务分配多个计算设备,多个计算设备为通过区块链节点上配置的区块链认证成功的计算设备,每个计算设备用于执行多个子任务中的至少一个子任务;
控制组网模块603,用于基于目标任务的任务信息,控制多个计算设备中的至少两个计算设备建立网络连接,以使至少两个计算设备通过网络连接传输子任务的执行结果。
可选地,目标任务的任务信息包括多个子任务的任务信息,每个子任务的任务信息包括执行相应子任务所需的数据的信息和计算模型的信息;基于此,分配模块602具体用于:
基于每个子任务所需的数据的信息和计算模型的信息,确定用于执行多个子任务的计算设备的数量;
基于计算设备的数量,从通过区块链认证成功的计算设备中确定处于空闲状态的多个计算设备;
基于每个子任务所需的数据的信息和计算模型的信息,从多个计算设备中为每个子任务分配对应的计算设备。
可选地,获取模块601具体用于:
接收数据方设备或模型方设备发送的目标任务的任务信息,数据方设备用于提供执行目标任务所需的数据,模型方设备用于提供执行目标任务所需的计算模型。
可选地,该装置600还用于:
向数据方设备和模型方设备发送多个计算设备的设备信息和每个计算设备对应的子任务的任务信息,数据方设备用于基于每个计算设备的设备信息和对应的子任务的任务信息向相应计算设备发送对应的子任务所需的数据,模型方设备用于基于每个计算设备的设备信息和对应的子任务的任务信息向相应计算设备发送对应的子任务所需的计算模型。
可选地,控制组网模块603具体用于:
基于目标任务的任务信息,向执行第一子任务的第一计算设备和执行第二子任务的第二计算设备发送组网命令,组网命令用于指示第一计算设备和第二计算设备建立网络连接,第一子任务和第二子任务为多个子任务中两个子任务。
可选地,控制组网模块603具体用于:
接收第一计算设备发送的第一子任务的完成信息;
基于目标任务的任务信息确定第二子任务,执行第二子任务所需的数据包括第一子任务的执行结果;
向第一计算设备和第二计算设备发送组网命令。
在本申请实施例中,区块链节点可以为目标任务包括的多个子任务分配多个计算设备,并通过控制该多个计算设备组网来传递子任务的执行结果,以此来实现多个计算设备分担计算多个子任务。由于多个计算设备为通过区块链认证成功的可信计算设备,所以通过控制该多个计算设备组网来分担计算目标任务的多个子任务,在保证计算过程中数据和模型的安全性同时,还可以提高计算效率。
图7是本申请实施例提供的另一种计算设备组网装置700,该装置可以应用于第一计算设备中,第一计算设备可以为通过区块链认证成功的设备,该装置700包括:传输模块701和组网模块702。
传输模块701,用于接收区块链节点发送的组网命令;
组网模块702,用于基于组网命令,与第二计算设备建立网络连接,第二计算设备为通过区块链认证成功的设备,第一计算设备用于执行区块链节点分配的第一子任务,第二计算设备用于执行区块链节点分配的第二子任务,第一子任务和第二子任务为目标任务包括的多个子任务中的两个子任务;
传输模块701,还用于通过网络连接与第二计算设备传输子任务的执行结果。
可选地,该装置700还用于:
接收数据方设备发送的执行第一子任务所需的第一数据和模型方设备发送的执行第一子任务所需的第一计算模型;
基于第一数据和第一计算模型,执行第一子任务;
在第一子任务执行完成后,向区块链节点发送第一子任务的完成信息。
可选地,组网命令包括第二计算设备的设备标识;组网模块702具体用于:
基于第二计算设备的设备标识,从区块链节点中获取第二计算设备的网络地址和连接端口;
基于第二计算设备的网络地址和连接端口,向第二计算设备发送连接请求,连接请求包括第一计算设备的设备标识和设备公钥;
响应于第二计算设备发送的验证通过消息,获取第二计算设备的设备公钥,验证通过消息为第二计算设备基于第一计算设备的设备标识和设备公钥对连接请求验证通过后发送的;
基于第一计算设备的设备私钥和第二计算设备的设备公钥与第二计算设备协商信道加密秘钥,以建立与第二计算设备的网络连接。
可选地,执行第二子任务所需的数据包括第一子任务的执行结果;传输模块701具体用于:
基于信道加密秘钥对第一子任务的执行结果进行加密;
通过网络连接向第二计算设备发送加密后的第一子任务的执行结果,以使第二计算设备基于加密后的第一子任务的执行结果执行第二子任务。
可选地,组网命令包括第二计算设备的设备标识;组网模块702具体用于:
接收第二计算设备发送的连接请求,连接请求包括第二计算设备的设备标识和设备公钥;
基于组网命令包括的第二计算设备的设备标识,对连接请求进行验证;
在对连接请求验证通过之后,向第二计算设备发送验证通过消息,并基于第二计算设备的设备公钥和第一计算设备的私钥与第二计算设备协商信道加密秘钥,以建立与第二计算设备的网络连接。
可选地,执行第一子任务所需的数据包括第二子任务的执行结果;传输模块701具体用于:
通过网络连接接收第二计算设备发送的加密后的第二子任务的执行结果;
该装置700还用于:利用信道加密秘钥对加密后的第二子任务的执行结果进行解密;基于解密得到的第二子任务的执行结果执行第一子任务。
可选地,组网模块702还用于:
断开与第二计算设备的网络连接。
在本申请实施例中,分担执行目标任务的不同子任务的计算设备可以在区块链节点的控制下建立网络连接,以此来传输子任务的执行结果。这样,在提高了目标任务的处理效率的同时,可以保证计算过程中数据和模型的安全性。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将计算设备组网装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程和所能达到的效果,可以参考前述方法实施例中的对应过程,在此不再赘述。
图8是本申请一实施例提供的计算机设备的示意图。上述实施例中所涉及的区块链节点和计算设备均可以通过图8所示的计算机设备来实现。如图8所示,该计算机设备800包括:处理器801、存储器802以及存储在存储器802中并可在处理器801上运行的计算机程序803,例如本申请实施例中提供的计算设备组网程序。处理器801执行计算机程序803时实现上述各个方法实施例中区块链节点或计算设备的步骤,例如图2所示的步骤201至步骤203,或者图4所示的步骤401至步骤403。或者,处理器801执行计算机程序803时实现上述计算设备组网装置实施例中各模块/单元的功能,例如图6所示模块601至603的功能,或者,图7所示模块701至703的功能。
示例性的,计算机程序803可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器802中,并由处理器801执行,以完成本申请。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序803在计算机设备800中的执行过程。例如,计算机程序803可以被分割成上述的获取模块、分配模块和控制组网模块(装置600中的模块),各模块具体功能如前所述。或者,计算机程序803可以被分割成上述的传输模块和组网模块(装置700中的模块),各模块具体功能如前所述。
计算机设备800可包括,但不仅限于,处理器801、存储器802。本领域技术人员可以理解,图8仅仅是计算机设备800的示例,并不构成对计算机设备800的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如计算设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器801可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器802可以是计算机设备800的内部存储单元。存储器802用于存储计算机程序以及计算机设备所需的其他程序和数据。存储器802还可以用于暂时地存储已经输出或者将要输出的数据。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
其中,当本申请实施例使用软件方式来实现时,可以全部或部分的以计算机程序产品的形式实现。也即,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (13)
1.一种计算设备组网方法,其特征在于,应用于区块链节点中,所述方法包括:
获取目标任务的任务信息;
基于所述目标任务的任务信息,为所述目标任务包括的多个子任务分配多个计算设备,所述多个计算设备为通过所述区块链节点上配置的区块链认证成功的计算设备,每个计算设备用于执行所述多个子任务中的至少一个子任务;
基于所述目标任务的任务信息,控制所述多个计算设备中的至少两个计算设备建立网络连接,以使所述至少两个计算设备通过所述网络连接传输子任务的执行结果。
2.根据权利要求1所述的方法,其特征在于,所述目标任务的任务信息包括所述多个子任务的任务信息,每个子任务的任务信息包括执行相应子任务所需的数据的信息和计算模型的信息;
所述基于所述目标任务的任务信息,为所述目标任务包括的多个子任务分配多个计算设备,包括:
基于每个子任务所需的数据的信息和计算模型的信息,确定用于执行所述多个子任务的计算设备的数量;
基于所述计算设备的数量,从通过所述区块链认证成功的计算设备中确定处于空闲状态的所述多个计算设备;
基于每个子任务所需的数据的信息和计算模型的信息,从所述多个计算设备中为每个子任务分配对应的计算设备。
3.根据权利要求1所述的方法,其特征在于,所述获取目标任务的任务信息,包括:
接收数据方设备或模型方设备发送的目标任务的任务信息,所述数据方设备用于提供执行所述目标任务所需的数据,所述模型方设备用于提供执行所述目标任务所需的计算模型。
4.根据权利要求3所述的方法,其特征在于,所述为所述目标任务包括的多个子任务分配多个计算设备之后,还包括:
向所述数据方设备和所述模型方设备发送所述多个计算设备的设备信息和每个计算设备对应的子任务的任务信息,所述数据方设备用于基于每个计算设备的设备信息和对应的子任务的任务信息向相应计算设备发送对应的子任务所需的数据,所述模型方设备用于基于每个计算设备的设备信息和对应的子任务的任务信息向相应计算设备发送对应的子任务所需的计算模型。
5.根据权利要求1至4任一所述的方法,其特征在于,所述基于所述目标任务的任务信息,控制所述多个计算设备中的至少两个计算设备建立网络连接,包括:
基于所述目标任务的任务信息,向执行第一子任务的第一计算设备和执行第二子任务的第二计算设备发送组网命令,所述组网命令用于指示所述第一计算设备和所述第二计算设备建立网络连接,所述第一子任务和所述第二子任务为所述多个子任务中两个子任务。
6.根据权利要求5所述的方法,其特征在于,所述基于所述目标任务的任务信息,向第一计算设备和第二计算设备发送组网命令,包括:
接收所述第一计算设备发送的第一子任务的完成信息;
基于所述目标任务的任务信息确定所述第二子任务,执行所述第二子任务所需的数据包括所述第一子任务的执行结果;
向所述第一计算设备和所述第二计算设备发送所述组网命令。
7.一种计算设备组网方法,其特征在于,应用于第一计算设备中,所述第一计算设备为通过区块链认证成功的设备,所述方法包括:
接收区块链节点发送的组网命令;
基于所述组网命令,与第二计算设备建立网络连接,所述第二计算设备为通过所述区块链认证成功的设备,所述第一计算设备用于执行所述区块链节点分配的第一子任务,所述第二计算设备用于执行所述区块链节点分配的第二子任务,所述第一子任务和所述第二子任务为目标任务包括的多个子任务中的两个子任务;
通过所述网络连接与所述第二计算设备传输子任务的执行结果。
8.根据权利要求7所述的方法,其特征在于,所述接收区块链节点发送的组网命令之前,还包括:
接收数据方设备发送的执行所述第一子任务所需的第一数据和模型方设备发送的执行所述第一子任务所需的第一计算模型;
基于所述第一数据和所述第一计算模型,执行所述第一子任务;
在所述第一子任务执行完成后,向所述区块链节点发送所述第一子任务的完成信息。
9.根据权利要求7所述的方法,其特征在于,所述组网命令包括所述第二计算设备的设备标识,所述基于组网命令,与第二计算设备建立网络连接,包括:
基于所述第二计算设备的设备标识,从所述区块链节点中获取所述第二计算设备的网络地址和连接端口;基于所述第二计算设备的网络地址和连接端口,向所述第二计算设备发送连接请求,所述连接请求包括所述第一计算设备的设备标识和设备公钥;响应于所述第二计算设备发送的验证通过消息,获取所述第二计算设备的设备公钥,所述验证通过消息为所述第二计算设备基于所述第一计算设备的设备标识和设备公钥对所述连接请求验证通过后发送的;基于所述第一计算设备的设备私钥和所述第二计算设备的设备公钥与所述第二计算设备协商信道加密秘钥,以建立与所述第二计算设备的网络连接;
或者,
接收所述第二计算设备发送的连接请求,所述连接请求包括所述第二计算设备的设备标识和设备公钥;基于所述组网命令包括的所述第二计算设备的设备标识,对所述连接请求进行验证;在对所述连接请求验证通过之后,向所述第二计算设备发送验证通过消息,并基于所述第二计算设备的设备公钥和所述第一计算设备的私钥与所述第二计算设备协商信道加密秘钥,以建立与所述第二计算设备的网络连接。
10.根据权利要求9所述的方法,其特征在于,所述通过所述网络连接与所述第二计算设备传输子任务的执行结果,包括:
在执行所述第二子任务所需的数据包括所述第一子任务的执行结果的情况下,基于所述信道加密秘钥对所述第一子任务的执行结果进行加密;通过所述网络连接向所述第二计算设备发送加密后的所述第一子任务的执行结果,以使所述第二计算设备基于加密后的所述第一子任务的执行结果执行所述第二子任务;
或者,
在执行所述第一子任务所需的数据包括所述第二子任务的执行结果的情况下,通过所述网络连接接收所述第二计算设备发送的加密后的所述第二子任务的执行结果;相应的,所述方法还包括:利用所述信道加密秘钥对加密后的所述第二子任务的执行结果进行解密;基于解密得到的所述第二子任务的执行结果执行所述第一子任务。
11.一种计算设备组网装置,其特征在于,应用于第一计算设备中,所述第一计算设备为通过区块链认证成功的设备,所述装置包括:
传输模块,用于接收区块链节点发送的组网命令;
组网模块,用于基于所述组网命令,与第二计算设备建立网络连接,所述第二计算设备为通过所述区块链认证成功的设备,所述第一计算设备用于执行所述区块链节点分配的第一子任务,所述第二计算设备用于执行所述区块链节点分配的第二子任务,所述第一子任务和所述第二子任务为目标任务包括的多个子任务中的两个子任务;
所述传输模块,还用于通过所述网络连接与所述第二计算设备传输子任务的执行结果。
12.一种计算设备,其特征在于,所述计算设备包括处理器和存储器,所处存储器中存储有计算机程序,所述处理器用于执行所述计算机程序,以实现权利要求7至10中任一项所述的计算设备组网方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求7至10中任一项所述的计算设备组网方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310741504.8A CN117041249A (zh) | 2023-06-20 | 2023-06-20 | 计算设备组网方法、装置、计算设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310741504.8A CN117041249A (zh) | 2023-06-20 | 2023-06-20 | 计算设备组网方法、装置、计算设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117041249A true CN117041249A (zh) | 2023-11-10 |
Family
ID=88640111
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310741504.8A Pending CN117041249A (zh) | 2023-06-20 | 2023-06-20 | 计算设备组网方法、装置、计算设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117041249A (zh) |
-
2023
- 2023-06-20 CN CN202310741504.8A patent/CN117041249A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110535628B (zh) | 通过证书签发进行多方安全计算的方法及装置 | |
CN110380852B (zh) | 双向认证方法及通信系统 | |
CN110581854B (zh) | 基于区块链的智能终端安全通信方法 | |
CN112887338B (zh) | 一种基于ibc标识密码的身份认证方法和系统 | |
US7596690B2 (en) | Peer-to-peer communications | |
CN111435913B (zh) | 一种物联网终端的身份认证方法、装置和存储介质 | |
WO2016107203A1 (zh) | 一种身份认证方法及装置 | |
CN111756530B (zh) | 量子服务移动引擎系统、网络架构及相关设备 | |
CN108809907B (zh) | 一种证书请求消息发送方法、接收方法和装置 | |
CN104735087A (zh) | 一种基于公钥算法和SSL协议的多集群Hadoop系统安全优化方法 | |
CN114286416A (zh) | 通信控制方法及装置、电子设备、存储介质 | |
CN115543924B (zh) | 一种基于可信管理平台的任务处理方法及相关装置 | |
CN115174267B (zh) | 一种tls协议协商方法、设备及介质 | |
US20240048375A1 (en) | Distributed storage system and method of reusing symmetric keys for encrypted message transmissions | |
CN113329003B (zh) | 一种物联网的访问控制方法、用户设备以及系统 | |
WO2021170049A1 (zh) | 一种访问行为的记录方法、装置 | |
CN115550070B (zh) | 一种多方协作方法及相关装置 | |
CN114268437A (zh) | 数据处理方法、区块链节点、系统和计算机可读存储介质 | |
CN113676330B (zh) | 一种基于二级密钥的数字证书申请系统及方法 | |
CN115955358A (zh) | 基于点对点通信的数据流传输系统 | |
CN117041249A (zh) | 计算设备组网方法、装置、计算设备及存储介质 | |
EP3935534B1 (en) | Multi-way trust formation in a distributed system | |
CN115766012B (zh) | Lkj数据文件共享加密接口、方法、设备及存储介质 | |
CN114900300B (zh) | 云服务临时登录密钥认证方法、装置、设备及存储介质 | |
WO2024141094A1 (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 |