CN112163034B - 一种模型共享方法、节点及区块链系统 - Google Patents
一种模型共享方法、节点及区块链系统 Download PDFInfo
- Publication number
- CN112163034B CN112163034B CN202010917301.6A CN202010917301A CN112163034B CN 112163034 B CN112163034 B CN 112163034B CN 202010917301 A CN202010917301 A CN 202010917301A CN 112163034 B CN112163034 B CN 112163034B
- Authority
- CN
- China
- Prior art keywords
- node
- model
- signature
- target model
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/176—Support for shared access to files; File sharing support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Abstract
本申请实施例提供一种模型共享方法、节点及区块链系统,涉及计算机技术领域,解决了通过容器云平台实现模型共享时,容器云平台的操作不可靠的技术问题。该模型共享方法应用于区块链系统,包括:第一节点在与区块链系统中的其他节点共识成功后,确定第二节点,并获取第二节点存储的目标模型。其中,第二节点中存储有目标模型。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种模型共享方法、节点及区块链系统。
背景技术
随着人工智能的发展,机器学习(也叫深度学习)在工业上的使用也越来越广泛。机器学习的主要使用方法就是根据数据建立初始模型并进行训练,以得到在实际中有较高正确率的最终模型。
目前,开发者在对模型进行计费共享时,通常通过云平台实现计费共享。但是,现有的云平台自带的模型应用程序接口(application programming interface,API)是不开源的,开发者将开发好的模型上传到容器云平台后,只能等待计费结果,无法具体了解容器云平台对模型计费共享时的处理过程。在这种情况下,若容器云平台存在欺诈行为(例如复制或者分析开发者上传的模型),则可能导致开发者开发的模型泄漏或者被盗取。
发明内容
本申请提供一种模型共享方法、节点及区块链系统,解决了通过容器云平台实现模型共享时,容器云平台的操作不可靠的技术问题。
为达到上述目的,本申请采用如下技术方案:
第一方面,提供一种模型共享方法,应用于区块链系统,包括:第一节点在与区块链系统中的其他节点共识成功后,确定第二节点,并获取第二节点存储的目标模型。其中,第二节点中存储有目标模型。
由上可知,应用于区块链系统的第一节点可以从存储有目标模型的第二节点中获取目标模型。这样一来,由于区块链系统具有去可信第三方的共信特性,因此,开发者可以自己控制自己的数据。其次,区块链系统中的数据对所有节点公开,任何节点对应的客户端都可以通过公开的接口查询数据,整个区块链系统中的信息高度透明。因此,本申请可以保证开发者在共享模型时的可靠性,防止开发的模型泄漏或者被盗取。
第二方面,提供一种第一节点,该第一节点能够实现第一方面的功能。这些功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。在本申请中,该第一节点可以包括:确定单元和获取单元。确定单元,用于在与区块链系统中的其他节点共识成功后,确定第二节点;第二节点中存储有目标模型。获取单元,用于获取确定单元确定的第二节点存储的目标模型。
第三方面,提供一种计算机设备,该计算机设备一个或多个处理器,以及一个或多个存储器;所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器存储有计算机指令。当所述一个或多个处理器执行所述计算机指令时,使得所述计算机设备实现执行上述第一方面所述的模型共享方法。
可选的,该节点还可以包括通信接口,该通信接口用于执行上述第一方面所述的模型共享方法中收发数据、信令或信息的步骤。
该计算机设备可以是本申请中的第一节点,也可以是本申请中第一节点中的一部分装置,例如第一节点中的芯片系统。该芯片系统用于支持第一节点实现第一方面中所涉及的功能,例如,获取、删除上述模型共享方法中所涉及的数据和/或信息。该芯片系统包括芯片,也可以包括其他分立器件或电路结构。
第四方面,还提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令;当指令在计算机上运行时,使得计算机执行如上述第一方面所述的模型共享方法。
第五方面,还提供一种计算机程序产品,该计算机程序产品包括计算机指令,当计算机指令在计算机上运行时,使得计算机执行如上述第一方面所述的模型共享方法。
需要说明的是,上述计算机指令可以全部或者部分存储在第一计算机存储介质上,其中,第一计算机存储介质可以与计算机设备的处理器封装在一起的,也可以与计算机设备的处理器单独封装,本申请对此不作限定。
本申请中第二方面、第三方面、第四方面、第五方面的描述,可以参考第一方面的详细描述;并且,第二方面、第三方面、第四方面、第五方面的有益效果,可以参考第一方面中的有益效果分析,此处不再赘述。
第六方面,提供一种区块链系统,该区块链系统包括如第二方面所提供的节点。
在本申请中,上述节点的名字对设备或功能模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。只要各个设备或功能模块的功能和本申请类似,属于本申请权利要求及其等同技术的范围之内。
本申请的这些方面或其他方面在以下的描述中会更加简明易懂。
附图说明
图1A为可适用于本申请实施例提供的区块链系统的协议架构示意图;
图1B为可适用于本申请实施例提供的区块链系统的结构示意图;
图1C为可适用于本申请实施例提供的区块的结构示意图;
图2为本申请实施例提供的一种计算机设备的硬件结构示意图;
图3为本申请实施例提供的又一种计算机设备的硬件结构示意图;
图4为本申请实施例提供的一种模型共享方法的流程示意图;
图5为本申请实施例提供的一种节点间的交互示意图;
图6为本申请实施例提供的又一种模型共享方法的流程示意图;
图7为本申请实施例提供的又一种模型共享方法的流程示意图;
图8为本申请实施例提供的一种第一节点的结构示意图;
图9为本申请实施例提供的又一种第一节点的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
为了便于清楚描述本申请实施例的技术方案,在本申请实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不是在对数量和执行次序进行限定。
为了便于理解本申请,现对本申请涉及到的相关要素进行描述。
区块链技术
区块链技术,也被称为分布式账本技术,是一种由若干台计算设备共同参与“记账”(即记录交易数据),共同维护一份完整的分布式数据库的新兴技术。由于区块链技术具有去中心化(即没有中心节点)、公开透明、每台计算设备可以参与数据库记录、并且各计算设备之间可以快速的进行数据同步的特性,使得区块链技术已在众多的领域中广泛的进行应用。
区块链系统可包括多个区块链节点。区块链节点为具有通信功能以及存储功能的设备,如存储有区块链的设备。为了便于描述,本申请采用节点表示区块链节点。也就是说,本申请涉及到的节点均可用于表示区块链节点。
每一个节点既可接收信息,也可生成信息。不同的节点之间通过维护一个共同的区块链来保持通信。具体的,在区块链系统中,任一节点可以根据客户端发送的与交易相关的数据生成新的区块,并以广播的形式通知其他节点,其他节点可以对这个区块进行验证。当区块链系统中的所有节点达成共识后,新的区块就可以被添加到区块链中。
本申请中的节点可以理解为处理单元。在一种实现方式中,节点可以为物理设备,例如服务器或终端设备。在另一种实现方式中,节点可以为虚拟计算机;虚拟计算机为所有类型的虚拟化设备中软件虚拟出来的运行环境的统称,该概念包括虚拟机、容器。在其他实现方式中,节点可以为进程(process)或者线程(thread);线程是操作系统能够进行运算调度的最小单位,线程被包含在进程之中,是进程中的实际运作单位;进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。
区块(block)
在区块链技术中,交易数据以电子记录的形式被永久储存下来,存放这些电子记录的文件我们称之为“区块”。
区块是按时间顺序一个个先后生成的,每一个区块记录有它在被创建期间发生的所有交易,所有区块汇总起来形成一个链式的记录合集。由于不同区块链系统中,节点的吞吐率不同,因此,在不同区块链系统中,区块的大小可能也不同。
可以看出,区块中记录有该区块生成时间段内的交易数据,因此,区块的主体实际上是交易数据的合集。每一种区块链的结构设计可能不完全相同,但区块通常包括区块头(header)和区块体(body)两部分。
其中,区块头主要用于记录当前区块的特征值,可以包括当前区块的标识(如区块的编号)、当前区块中区块体的哈希值、时间戳(用于表示该区块的生成时间)、交易数量(transaction count)和随机数(nonce)等信息中的至少一种信息,此外,区块头还可以包括前一区块的哈希值(具体为前一区块中区块头的哈希值)。
区块头包括有多个特征值,在确定该区块的哈希值时,需要将该区块头中的各个特征值按照顺序连接在一起,以组成一个字符串,再对这个字符串计算哈希值。由于不同区块的区块头所包括的特征值的数值通常不同,因此,每一区块均唯一对应一个哈希值。
在区块链里,每个区块都使用默克尔树(merkel tree)来代表交易的摘要。默克尔树又称散列树(hash tree),是由一个根节点、一组中间节点和一组叶节点组成。应理解,默克尔树就是存储哈希值的一棵树。默克尔树的叶子是数据块(例如,文件或者文件的集合)的哈希值。非叶节点是其对应子节点串联字符串的哈希。
具体的,默克尔树把相邻的两个哈希合并成一个字符串,然后运算这个字符串的哈希,这样每两个哈希就得到了一个子哈希。如果最底层的哈希总数是单数,那到最后必然出现一个单身哈希,这种情况就直接对它进行哈希运算,所以也能得到它的子哈希。最下面的叶节点包含存储数据或其哈希值,每个中间节点是由它的两个子节点内容的哈希值,根节点由它的两个子节点内容的哈希值组成。
基于每一区块均唯一对应一个哈希值,且每个区块的区块头均包括有前一区块的哈希值,这样,多个区块即可形成区块链。
区块体可以包括多个交易数据。对于每一交易数据而言,区块体还包括客户端的证书(用于说明交易的发起端)、背书节点的证书以及背书节点针对该交易的签名等信息。可选的,对于每一笔交易而言,区块体还可以包括排序节点(或称为共识节点)对该笔交易的签名。这里的签名均用于表示与该签名对应的设备对交易的鉴权,证书均用于表示身份。
上述签名和证书等数据均用于对交易数据的验证,这些数据通常占用区块体中70%的存储空间。
示例性的,表1示出了区块的一种结构形式。当然,区块的结构不仅仅局限于表1所示,且各个结构的取值也不仅仅局限于表1所示。
表1
区块链的划分
目前,区块链按照部署方式可以分为:公有链、私有链、联盟链。
公有链是指全世界任何设备都可读取的区块链,或者是任何设备都能参与交易的共识验证过程的区块链。
私有链是指访问权限控制较为严格的区块链。
联盟链,也称共同体区块链(consortium block chains),是指其共识过程受到预选节点控制的区块链。在联盟链中,只针对存储有该联盟链的节点开放全部或部分功能,联盟链中的各个节点可以基于需要定制读写权限、查询权限等。
对于联盟链而言,节点可以分为三种类型:背书节点、排序节点、记账节点。
“背书”可以理解为数字签名。相应的,本申请将能够完成“背书”的节点称为“背书节点”。背书节点是一个区块链系统中(如某一企业机构的区块链系统)中验证交易请求是否合法的节点,其他节点所存储的区块数据与该背书节点所存储的区块数据保持一致。也就是说,背书节点具备背书功能。
在一种实现方式中,背书节点在接收到客户端发送的交易请求后,判断该交易请求是否合法;当确定交易请求合法时,背书节点为该交易请求签名,即在交易请求中添加该背书节点的签名(或证书),并向客户端发送添加有该背书节点的签名(或证书)的交易请求。包含背书节点的签名(或证书)的消息用于表示该背书节点已经确定其合法。其中,背书节点向客户端发送的信息也可以称为背书结果。
可选的,在区块链系统中,背书节点可以为预先设定的某一/某些节点,也可以为运行过程中,区块链系统中的所有节点选举出的节点。
排序节点,也称为共识节点,是指对客户端发送的数据(如背书结果)进行共识,并在共识后将客户端发送的数据打包生成区块的节点。本申请将这一功能称为排序功能。
其中,这里的共识是指多个参与方(如排序节点)对一个交易是否提交到账本以及提交的顺序达成一致的过程。
在一种实现方式中,排序节点在接收到客户端发送的多个背书结果后,对接收到的多个背书结果所对应的多笔交易的排序进行共识流程,可以按照背书结果接收的时间先后顺序依次排列,也可以按照处理优先级从高到低的顺序依次排列;多个排序节点对多笔交易的排序达成共识之后,各个排序节点可将排序后的多个背书结果写入到新生成的区块中。在排序节点所处的区块链系统中,记账节点可从排序节点获取区块,保证了所有记账节点存储的区块的一致性。
记账节点是指存储“账本”的节点。
可选的,记账节点周期性地从排序节点中读取新的区块,并将读取到的区块中的数据存储到非易失性存储介质,或者,记账节点接收排序节点发送的区块,存储于非易失性存储介质。本申请将记账节点具备的功能称为记账功能。
一般的,具备背书功能的节点,也会具备记账功能。但具备记账功能的节点不一定具备背书功能。
在公有链和私有链中,客户端发送的交易请求需要被区块链系统中所有节点共识后才能写入到节点存储的区块链中。这里提到的共识包括所有节点对同一个交易请求进行验证以及对一个交易请求在区块中的顺序达成一致。例如,对于区块链系统中的任一个节点A,节点A接收到客户端发送的交易请求后,节点A验证该交易请求是否合法,若验证通过,节点A可向系统中其余节点广播消息,该消息可表示该交易请求得到节点A的验证,具体可包括节点A的签名。由此,系统中的每个节点可收到其余节点对于同一交易请求的验证结果。节点A将多笔交易打包生成区块后,向区块链系统中其他节点广播生成的区块。其他节点验证收到的区块中包含的多笔交易的顺序,最终实现区块链系统中多个节点对于同一笔交易在区块中的顺序的一致。
交易(transaction)数据
本申请涉及到的交易数据,是指用户通过任一节点创建,并需要最终发布至区块链的分布式数据库中的一笔数据。
该交易数据存在狭义的交易数据以及广义的交易数据之分。
狭义的交易数据是指用户向区块链发布的一笔价值转移;例如,在传统的比特币区块链网络中,交易数据可以是用户在区块链中发起的一笔转账的数据。
广义的交易数据是指用户向区块链发布的一笔任意的数据:例如,运营方可以基于实际的业务需求搭建一个联盟链,依托于联盟链部署一些在线业务(比如,租房业务、车辆调度业务、保险理赔业务、信用服务、医疗服务等),而在这类联盟链中,交易数据可以是用户在联盟链中发布的一笔具有业务意图的业务消息或者业务请求;又如,该交易数据还可以是用户向区块链发送的、用以更改用户的账户状态的数据(如账户余额等)。
因此,只要是用户向区块链的分布式数据库发布的任意数据,均可属于本申请所述的“交易数据”。
客户端(client)
用户可以通过区块链系统中的客户端实现创建链码,发起交易等功能。客户端可以部署在任意的电子设备上,通过区块链系统相应的软件开发工具包(softwaredevelopment kit,SDK)实现。该电子设备通过与区块链网络中的节点进行通信,从而实现客户端相应的功能。
如背景技术所描述,现有的云平台自带的模型应用程序接口是不开源的,开发者将开发好的模型上传到容器云平台后,只能等待计费结果,无法具体了解容器云平台对模型计费共享时的处理过程。在这种情况下,若容器云平台存在欺诈行为(例如复制或者分析开发者上传的模型),则可能导致开发者开发的模型泄漏或者被盗取。
针对上述问题,本申请实施例提供了一种模型共享方法,应用于区块链系统,第一节点在与区块链系统中的其他节点共识成功后,确定第二节点,并获取第二节点存储的目标模型。解决了通过容器云平台实现模型共享时,容器云平台的操作不可靠的技术问题。
本申请实施例提供的区块链系统的架构可以包括协议层、扩展层和应用层。其中,协议层又可以分为存储层和网络层。图1A示出了本申请实施例提供的区块链系统的三层架构。现在结合图1A对区块链系统的协议架构进行描述。
协议层提供区块链系统的底层能力,维护着节点,一般提供应用程序接口供调用。协议层构建了区块链系统的网络环境,并搭建了交易通道,制定了节点共识机制。从技术上讲,协议层主要包括网络编程、分布式算法、加密签名和数据存储等方面。
进一步地,从功能和技术上可以将协议层分为网络层和存储层。
存储层描述了区块链数据的存储形式。具体的,存储层可以包括区块数据的链式存储技术,包括时间戳技术、哈希校验技术等;还可以包含数据库的实现方式,以及节点调用数据库的接口实现。
网络层用于实现区块链网络中节点之间的信息交流。区块链系统本质上是一个点对点(peer to peer,P2P)的网络系统。每一个节点既接收信息,也生成信息。节点之间通过维护一个共同的区块链来保持通信。在区块链系统,节点可以创造新的区块,在新区块被创造后会以广播的形式通知其他节点,其他节点会对这个区块进行验证,当区块链系统中的所有节点达成共识后,新区块就可以被添加到区块链上。
在协议层之上是扩展层,扩展层提供了基于协议层的该区块链系统的功能实现。通过协议层提供的基础能力,扩展层可以实现各类脚本代码、算法机制以及应用机制。例如,智能合约即是扩展层的一种典型应用,节点通过部署的智能合约,实现达到某个条件后自动执行合约。又例如,虚拟货币的交易市场通过脚本封装规定了虚拟货币的交易方式以及过程中的实现细节,这也是在扩展层实现的。
扩展层之上是应用层,应用层封装了区块链的各种应用场景和案例。应用层的实现与用户直接交互的区块链功能,大多采用客户端的形式实现。
在不同的区块链系统中,区块链系统的每层架构的具体实现方式可能存在差异,图1A是区块链系统的一种协议架构示意图,并不是对区块链系统的协议架构的限定。
本申请实施例提供的区块链系统包括客户端和至少两个节点。图1B给出了本申请实施例中区块链系统的一种结构示意图。图1B示出的区块链系统具备有图1A示出的协议架构。
如图1B所示,该区块链系统包括客户端10和多个节点11,多个节点11中的一个或多个节点11与客户端10连接。
图1B示出的区块链系统可以为多个开发者或者企业机构提供模型共享服务、模型存储服务和模型查询服务。可以理解的是,图1B所示的区块链系统仅为一个示例,并不是对本申请实施例提供的区块链系统的限定。
客户端10可以通过与其连接的节点11将交易数据上传到区块链中,该交易数据可以为开发者或者企业机构开发的机器学习模型。客户端10也可以通过与其连接的节点11查询区块链中某一/某些区块的机器学习模型。
例如:当客户端10需要购买目标模型时,该客户端可以向与其连接的某一节点11发起查询请求;在区块链系统中所有节点共识查询请求的情况下,该节点11为客户端提供目标模型。
节点11可以是区块链系统中提供输入输出(input/output,IO)处理能力的设备。
本申请实施例中,每一节点11存储有区块链,且区块链系统中的所有节点11可存储有相同的区块链(如图1B示出的区块链,该区块链包括多个区块)。节点11对区块链进行操作(如添加区块、删除区块等)。
可选的,由于区块中的机器学习模型的可靠性目前还没有很好的方法验证,因此,本申请中的区块链可以是联盟链。联盟链只允许经过验证的用户加入到区块链系统中。区块链系统维护一个唯一的身份认证模块,该模块以投票的方式运行,其功能主要为用户注册时的私钥生成和对可疑用户的身份揭示。
可选的,为了保证模型共享的独立性,区块链系统也可以采用管理更严格的私有链,以实现模型共享的方法。
示例性的,图1C示出了区块的一种结构示意图。在本申请实施例中,区块头中包括:前一区块的哈希值12、区块基本信息13和默克尔树根14。区块体中包括:用于表示新增模型记录的默克尔树根15、用于表示拉取模型记录的默克尔树根16和用于表示接口调用记录的默克尔树根17。
节点11可以具备一种或多种功能,如背书功能、排序功能或记账功能中的至少一种。图1B示出的区块链系统中,不同的节点11可以具备不同的功能。
图1B中的节点11可以具备图2示出的硬件结构。图2为本申请实施例提供的一种计算机设备的硬件结构示意图,该计算机设备可以用于实现本申请实施例提供的模型共享方法。
该计算机设备可以是本申请中的第一节点(上述背书节点、排序节点、记账节点、节点A或节点B),也可以是本申请中第一节点中的一部分装置,例如第一节点中的芯片系统。该芯片系统用于支持第一节点实现本申请实施例提供的模型共享方法。该芯片系统包括芯片,也可以包括其他分立器件或电路结构。
如图2所示,该计算机设备包括处理器21,存储器22、通信接口23、总线24。处理器21,存储器22以及通信接口23之间可以通过总线24连接。
处理器21是计算机设备的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器21可以是一个通用中央处理单元(central processing unit,CPU),也可以是其他通用处理器等。其中,通用处理器可以是微处理器或者是任何常规的处理器等。
作为一种实施例,处理器21可以包括一个或多个CPU,例如图2中所示的CPU 0和CPU 1。
存储器22可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
一种可能的实现方式中,存储器22可以独立于处理器21存在,存储器22可以通过总线24与处理器21相连接,用于存储指令或者程序代码。处理器21调用并执行存储器22中存储的指令或程序代码时,能够实现本发明实施例提供的模型共享方法。
另一种可能的实现方式中,存储器22也可以和处理器21集成在一起。
通信接口23,用于与其他设备通过通信网络连接。所述通信网络可以是以太网,无线接入网,无线局域网(wireless local area networks,WLAN)等。通信接口23可以包括用于接收数据的接收单元,以及用于发送数据的发送单元。
总线24,可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component Interconnect,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图2中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
需要指出的是,图2示出的结构并不构成对该计算机设备的限定。除图2所示部件之外,该计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
图3示出了本申请实施例中计算机设备的另一种硬件结构。如图3所示,计算机设备可以包括处理器31以及通信接口32。处理器31与通信接口32耦合。
处理器31的功能可以参考上述处理器21的描述。此外,处理器31还具备存储功能,可以参考上述存储器22的功能。
通信接口32用于为处理器31提供数据。该通信接口32可以是计算机设备的内部接口,也可以是计算机设备对外的接口(相当于通信接口23)。
需要指出的是,图2(或图3)中示出的结构并不构成对计算机设备的限定,除图2(或图3)所示部件之外,该计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
图4为本申请实施例提供的一种模型共享方法的流程示意图。如图4所示,该模型共享方法包括下述S401-S413。
S401、第二节点上传目标模型。
开发者基于区块链系统对机器学习模型进行计费共享时,首先要将开发好的机器学习模型上传到区块链中。因此,第二节点上传目标模型,以供使用者通过区块链系统购买目标模型。
具体的,开发者在本地完成初始模型的训练,得到最终的完整目标模型结构和训练好的目标模型的参数后,将目标模型封装为镜像的模块。然后根据镜像的模块要求,开发者将目标模型提供的服务按照一定的格式封装为有具体输入输出的提供服务的容器。
接着,开发者将开发好的目标模型导入到模型封装模块中,模型封装模块会将目标模型结构、目标模型参数和目标模型的服务方法复制到基础镜像中。基础镜像中预置了模型运行器,可以调用开发者提供的服务方法,以网络服务的方式对外提供模型服务的应用程序接口。
可选的,封装好的模型镜像可以存储进节点的镜像仓库中,比如可以使用诺希斯(nexus)实现镜像仓库服务。
可选的,开发者还可以为目标模型填写基本信息,信息将存入节点本地数据库,并在区块链网络中共享,在用户检索模型时使用。
示例性的,表2示出了目标模型的基本信息的一种结构形式。当然,目标模型的基本信息不仅仅局限于表2所示。
表2
S402、第二节点向区块链系统中除第二节点以外的节点广播目标模型上传信息。
在上传目标模型之后,第二节点向区块链系统中除第二节点以外的节点广播目标模型上传信息,以告知区块链系统中除第二节点以外的节点:第二节点中存储有目标模型。
S403、第一节点与区块链系统中的其他节点进行共识。
第一节点开始启动时,若第一节点在区块链系统中首次启动,则生成初始区块。若第一节点为新增节点时,则需要与区块链系统中的其他节点进行共识,并按照一定周期接收其他节点的操作信息,更新共识过程。
S404、第一节点确定第二节点。
使用者在购买目标模型时,由于第二节点中存储有目标模型,因此,使用者可以通过第一节点购买区块链系统中第二节点存储的目标模型。
在第一节点与区块链系统中的其他节点进行共识后,由于第二节点中存储有目标模型,因此,第一节点确定第二节点。
具体的,第一节点确定第二节点时,由于区块链系统中的任意节点上传模型,并广播模型上传信息后,第一节点存储节点与模型的对应关系。后续,第一节点根据节点与模型的对应关系,确定与目标模型对应的节点,并将确定出的节点确定为第二节点。这样一来,在第二节点向区块链系统中除第二节点以外的节点广播目标模型上传信息后,第一节点存储第二节点与目标模型的对应关系。后续,当第一节点对应的使用者想要购买目标模型时,可以通过第二节点购买目标模型。
S405、第一节点向第二节点发送第一节点的签名。
其中,签名用于表示与签名对应的客户端对交易的鉴权。
应理解,第一节点的签名用于表示与第一节点对应的客户端对交易的鉴权。
在第一节点确定第二节点中存储有目标模型后,第一节点向第二节点发送第一节点的签名,以证明第一节点的身份。
S406、第二节点根据第一节点的签名确定第一私钥。
其中,第一私钥用于解密第一节点与第二节点之间的传输的信息。
由于只有第一节点购买了目标模型,因此,在接收第一节点发送的第一节点的签名之后,第二节点根据第一节点的签名确定并发送的第一私钥。第一私钥用于解密第一节点与第二节点之间的传输的信息,防止其他节点盗取目标模型。
S407、第一节点接收第二节点发送的第一私钥。
S408、第一节点向第二节点发送用于请求获取目标模型的请求信息。
在确定第二节点存储有目标模型后,第一节点向第二节点发送请求信息,请求获取目标模型。
S409、第一节点接收第二节点发送的加密后的目标模型信息。
其中,目标模型信息包括第二节点的签名和目标模型的摘要。
在向第二节点发送目标模型请求信息之后,第二节点向第一节点发送加密后的目标模型信息。
需要说明的是,本申请实施例可以先执行S405-S407,后执行S408-S409;也可以先执行S408-S409,后执行S405-S407;还可以同时执行S405-S407和S408-S409,本申请实施例对此不作限定。
S410、第一节点根据第一私钥解密加密后的目标模型信息。
在接收第二节点发送的加密后的目标模型信息和第二节点发送的第一私钥后,第一节点根据第一私钥解密加密后的目标模型信息。
S411、第一节点向区块链系统中,除第一节点和第二节点以外的其他节点广播第一模型共享信息。
其中,第一模型共享信息包括第一节点的签名、第二节点的签名和目标模型的摘要。
S412、第一节点获取第二节点存储的目标模型。
在向区块链系统中,除第一节点和第二节点以外的其他节点广播第一模型共享信息之后,第一节点获取第二节点存储的目标模型。
S413、第一节点通过容器云平台向第一节点对应的客户端发送目标模型。
具体的,由于第一节点包括容器云平台,且容器云平台包括用于向客户端提供模型服务的应用程序接口,因此,在第一节点获取第二节点存储的目标模型之后,第一节点通过容器云平台向第一节点对应的客户端发送目标模型。
可选的,目标模型部署在容器云平台中,通过容器云平台对运行模型的容器实现高可用和负载均衡。模型镜像部署后会对外提供应用程序接口,应用程序接口地址在区块链网络中共享。并不是所有节点都需要部署容器云平台,没有容器云平台的节点可以调用其他节点提供的应用程序接口,并将使用历史记录在区块中。这里定义部署了容器云平台的节点为完整节点,没有部署的节点称为轻节点。
示例性的,如图5所示,轻节点中包括:节点管理模块、模型导入模块、数据库和模型仓库。完整节点中包括:节点管理模块、模型导入模块、数据库、模型仓库和容器云平台。
节点管理模块用于执行节点的操作。模型导入模块用于向节点内导入机器学习模型。数据库用于存储节点的操作数据。模型仓库用于存储导入的机器学习模型。容器云平台用于向客户端提供应用程序接口。
当没有容器云平台的轻节点经过搜索确定需要使用目标模型的应用程序接口时,则广播应用程序接口请求消息。在这种情况下,与轻节点满足预设条件(例如距离最近)的完整节点会选择拉取目标模型,并对外提供应用程序接口。
图6为本申请实施例提供的又一种模型共享方法的流程示意图。如图6所示,当没有容器云平台的轻节点经过搜索确定需要使用目标模型的应用程序接口时,该模型共享方法还包括下述S601-S609。
S601、第三节点确定第一节点。
当没有容器云平台的第三节点经过搜索确定需要使用目标模型的应用程序接口时,从已存储的节点中选择满足预设条件的完整节点。当第一节点存储有目标模型,且第一节点为完整节点时,第三节点确定第一节点。
S602、第一节点接收第三节点的签名。
在第三节点确定第一节点后,向第一节点发送第三节点的签名,以证明第三节点的身份。
S603、第一节点根据第三节点的签名确定第二私钥。
其中,第二私钥用于解密第一节点与第三节点之间的传输的信息。
S604、第一节点向第三节点发送第二私钥。
S605、第一节点接收第三节点发送的应用程序接口请求消息和用于请求获取目标模型的请求信息。
在确定第一节点后,第三节点向第一节点发送应用程序接口请求消息和用于请求获取目标模型的请求信息。
S606、第一节点向第三节点发送加密后的目标模型信息。
其中,目标模型信息包括第一节点的签名、第三节点的签名和目标模型的摘要。
S607、第三节点根据第二密钥解密加密后的目标模型信息。
S608、第一节点向区块链系统中,除第一节点和第三节点以外的其他节点广播第二模型共享信息。
其中,第二模型共享信息包括第一节点的签名、第二节点的签名、目标模型的摘要和第三节点的签名。
S609、第一节点通过容器云平台向第三节点对应的客户端发送目标模型。
本申请实施例提供一种模型共享方法,应用于区块链系统,包括:第一节点在与区块链系统中的其他节点共识成功后,确定第二节点,并获取第二节点存储的目标模型。其中,第二节点中存储有目标模型。
由上可知,应用于区块链系统的第一节点可以从存储有目标模型的第二节点中获取目标模型。这样一来,由于区块链系统具有去可信第三方的共信特性,因此,开发者可以自己控制自己的数据。其次,区块链系统中的数据对所有节点公开,任何节点对应的客户端都可以通过公开的接口查询数据,整个区块链系统中的信息高度透明。因此,本申请可以保证开发者在共享模型时的可靠性,防止开发的模型泄漏或者被盗取。
可选的,结合上述图4,如图7所示,上述S404可以替换为S701-S703。
S701、在区块链系统中的任意节点上传模型,并广播模型上传信息后,第一节点存储节点与模型的对应关系。
S702、第一节点根据节点与模型的对应关系,确定与目标模型对应的节点。
S703、第一节点将确定出的节点确定为第二节点。
上述主要从方法的角度对本申请实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对节点进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。可选的,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
图8示出了一种第一节点的组成示意图。第一节点可以用于执行上述实施例中第一节点的功能。作为一种可实现方式,图8所示第一节点80包括:确定单元801和获取单元802。
确定单元801,用于在与区块链系统中的其他节点共识成功后,确定第二节点;第二节点中存储有目标模型。例如,结合图4或图7,确定单元801用于执行S404。
获取单元802,用于获取确定单元801确定的第二节点存储的目标模型。例如,结合图4或图7,获取单元802用于执行S412。
可选的,确定单元801,具体包括:
在区块链系统中的任意节点上传模型,并广播模型上传信息后,存储节点与模型的对应关系。例如,结合图7,确定单元801用于执行S701。
根据节点与模型的对应关系,确定与目标模型对应的节点。例如,结合图7,确定单元801用于执行S702。
将确定出的节点确定为第二节点。例如,结合图7,确定单元801用于执行S703。
可选的,结合图8,如图9所示,第一节点80还包括:发送单元803、接收单元804、处理单元805和广播单元806。
发送单元803,用于向第二节点发送第一节点的签名;签名用于表示与签名对应的客户端对交易的鉴权。例如,结合图4或图7,发送单元803用于执行S405。
接收单元804,用于接收第二节点根据发送单元803发送的第一节点的签名确定并发送的第一私钥;第一私钥用于解密第一节点与第二节点之间的传输的信息。例如,结合图4或图7,接收单元804用于执行S407。
发送单元803,还用于向第二节点发送用于请求获取目标模型的请求信息。例如,结合图4或图7,发送单元803用于执行S408。
接收单元804,还用于接收第二节点发送的加密后的目标模型信息;目标模型信息包括第二节点的签名和目标模型的摘要。例如,结合图4或图7,接收单元804用于执行S409。
处理单元805,用于根据接收单元804接收的第一私钥解密接收单元804接收的加密后的目标模型信息。例如,结合图4或图7,处理单元805用于执行S410。
广播单元806,用于向区块链系统中,除第一节点和第二节点以外的其他节点广播第一模型共享信息;第一模型共享信息包括第一节点的签名、第二节点的签名和目标模型的摘要。例如,结合图4或图7,广播单元806用于执行S411。
可选的,第一节点包括容器云平台;容器云平台包括用于向客户端提供模型服务的应用程序接口。
发送单元803,还用于通过容器云平台向第一节点对应的客户端发送目标模型。例如,结合图4或图7,发送单元803用于执行S413。
可选的,接收单元804,还用于接收第三节点的签名;第三节点不包括容器云平台。例如,结合图6,接收单元804用于执行S602。
确定单元801,还用于根据接收单元804接收的第三节点的签名确定第二私钥;第二私钥用于解密第一节点与第三节点之间的传输的信息。例如,结合图6,确定单元801用于执行S603。
发送单元803,还用于第三节点发送确定单元801确定的第二私钥。例如,结合图6,发送单元803用于执行S604。
可选的,接收单元804,还用于接收第三节点发送的应用程序接口请求消息和用于请求获取目标模型的请求信息。例如,结合图6,接收单元804用于执行S605。
发送单元803,还用于向第三节点发送加密后的目标模型信息;目标模型信息包括第一节点的签名、第三节点的签名和目标模型的摘要。例如,结合图6,发送单元803用于执行S606。
广播单元806,还用于向区块链系统中,除第一节点和第三节点以外的其他节点广播第二模型共享信息;第二模型共享信息包括第一节点的签名、第二节点的签名、目标模型的摘要和第三节点的签名。例如,结合图6,广播单元806用于执行S608。
发送单元803,还用于通过容器云平台向第三节点对应的客户端发送目标模型。例如,结合图6,发送单元803用于执行S609。
本申请实施例还提供一种区块链系统,该区块链系统包括如上述图8所示的第一节点。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质包括计算机执行指令。当计算机执行指令在计算机上运行时,使得计算机执行如上述实施例提供的模型共享方法中,第一节点执行的各个步骤。
本申请实施例还提供一种计算机程序产品,该计算机程序产品可直接加载到存储器中,并含有软件代码,该计算机程序产品经由计算机载入并执行后能够实现上述实施例提供的模型共享方法中,第一节点执行的各个步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机执行指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digitalsubscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取的存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (13)
1.一种模型共享方法,其特征在于,应用于区块链系统,所述模型共享方法包括:
第一节点在与所述区块链系统中的其他节点共识成功后,确定第二节点;所述第二节点中存储有目标模型;
所述第一节点获取所述第二节点存储的所述目标模型;
所述第一节点包括容器云平台;所述容器云平台包括用于向客户端提供模型服务的应用程序接口;所述区块链系统中的第三节点不包括所述容器云平台;所述模型共享方法还包括:
所述第一节点接收所述第三节点发送的应用程序接口请求消息和用于请求获取所述目标模型的请求信息;
所述第一节点向所述第三节点发送加密后的目标模型信息;所述目标模型信息包括所述第一节点的签名、所述第三节点的签名和所述目标模型的摘要;
所述第一节点向所述区块链系统中,除所述第一节点和所述第三节点以外的其他节点广播第二模型共享信息;所述第二模型共享信息包括所述第一节点的签名、所述第二节点的签名、所述目标模型的摘要和所述第三节点的签名;
所述第一节点通过所述容器云平台向所述第三节点对应的客户端发送所述目标模型。
2.根据权利要求1所述的模型共享方法,其特征在于,所述确定第二节点,包括:
在所述区块链系统中的任意节点上传模型,并广播模型上传信息后,所述第一节点存储节点与模型的对应关系;
所述第一节点根据所述节点与模型的对应关系,确定与所述目标模型对应的节点;
所述第一节点将确定出的节点确定为所述第二节点。
3.根据权利要求1所述的模型共享方法,其特征在于,所述第一节点获取所述第二节点存储的所述目标模型之前,还包括:
所述第一节点向所述第二节点发送所述第一节点的签名;所述签名用于表示与所述签名对应的客户端对交易的鉴权;
所述第一节点接收所述第二节点根据所述第一节点的签名确定并发送的第一私钥;所述第一私钥用于解密所述第一节点与所述第二节点之间的传输的信息;
所述第一节点向所述第二节点发送用于请求获取所述目标模型的请求信息;
所述第一节点接收所述第二节点发送的加密后的目标模型信息;所述目标模型信息包括所述第二节点的签名和所述目标模型的摘要;
所述第一节点根据所述第一私钥解密所述加密后的目标模型信息;
所述第一节点向所述区块链系统中,除所述第一节点和所述第二节点以外的其他节点广播第一模型共享信息;所述第一模型共享信息包括所述第一节点的签名、所述第二节点的签名和所述目标模型的摘要。
4.根据权利要求1所述的模型共享方法,其特征在于,所述第一节点获取所述第二节点存储的所述目标模型之后,还包括:
所述第一节点通过所述容器云平台向所述第一节点对应的客户端发送所述目标模型。
5.根据权利要求4所述的模型共享方法,其特征在于,所述模型共享方法还包括:
所述第一节点接收所述第三节点的签名;
所述第一节点根据所述第三节点的签名确定第二私钥;所述第二私钥用于解密所述第一节点与所述第三节点之间的传输的信息;
所述第一节点向所述第三节点发送所述第二私钥。
6.一种第一节点,其特征在于,所述第一节点应用于区块链系统,所述第一节点包括:确定单元和获取单元;
所述确定单元,用于在与所述区块链系统中的其他节点共识成功后,确定第二节点;所述第二节点中存储有目标模型;
所述获取单元,用于获取所述确定单元确定的所述第二节点存储的所述目标模型;
所述第一节点包括容器云平台;所述容器云平台包括用于向客户端提供模型服务的应用程序接口;所述区块链系统中的第三节点不包括所述容器云平台;所述第一节点还包括:接收单元、发送单元、广播单元;
所述接收单元,用于接收所述第三节点发送的应用程序接口请求消息和用于请求获取所述目标模型的请求信息;
所述发送单元,用于向所述第三节点发送加密后的目标模型信息;所述目标模型信息包括所述第一节点的签名、所述第三节点的签名和所述目标模型的摘要;
所述广播单元,用于向所述区块链系统中,除所述第一节点和所述第三节点以外的其他节点广播第二模型共享信息;所述第二模型共享信息包括所述第一节点的签名、所述第二节点的签名、所述目标模型的摘要和所述第三节点的签名;
所述发送单元,用于通过所述容器云平台向所述第三节点对应的客户端发送所述目标模型。
7.根据权利要求6所述的第一节点,其特征在于,所述确定单元,具体包括:
在所述区块链系统中的任意节点上传模型,并广播模型上传信息后,存储节点与模型的对应关系;
根据所述节点与模型的对应关系,确定与所述目标模型对应的节点;
将确定出的节点确定为所述第二节点。
8.根据权利要求6所述的第一节点,其特征在于,所述第一节点还包括:处理单元;
所述发送单元,用于向所述第二节点发送所述第一节点的签名;所述签名用于表示与所述签名对应的客户端对交易的鉴权;
所述接收单元,用于接收所述第二节点根据所述发送单元发送的所述第一节点的签名确定并发送的第一私钥;所述第一私钥用于解密所述第一节点与所述第二节点之间的传输的信息;
所述发送单元,还用于向所述第二节点发送用于请求获取所述目标模型的请求信息;
所述接收单元,还用于接收所述第二节点发送的加密后的目标模型信息;所述目标模型信息包括所述第二节点的签名和所述目标模型的摘要;
所述处理单元,用于根据所述接收单元接收的所述第一私钥解密所述接收单元接收的所述加密后的目标模型信息;
所述广播单元,用于向所述区块链系统中,除所述第一节点和所述第二节点以外的其他节点广播第一模型共享信息;所述第一模型共享信息包括所述第一节点的签名、所述第二节点的签名和所述目标模型的摘要。
9.根据权利要求8所述的第一节点,其特征在于,
所述发送单元,还用于通过所述容器云平台向所述第一节点对应的客户端发送所述目标模型。
10.根据权利要求9所述的第一节点,其特征在于,
所述接收单元,还用于接收所述第三节点的签名;
所述确定单元,还用于根据所述接收单元接收的所述第三节点的签名确定第二私钥;所述第二私钥用于解密所述第一节点与所述第三节点之间的传输的信息;
所述发送单元,还用于所述第三节点发送所述确定单元确定的所述第二私钥。
11.一种计算机设备,其特征在于,包括存储器和处理器;所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过总线连接;
当所述计算机设备运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述计算机设备执行如权利要求1-5任一项所述的模型共享方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机执行指令,当所述计算机执行指令在计算机上运行时,使得所述计算机执行如权利要求1-5任一项所述的模型共享方法。
13.一种区块链系统,其特征在于,所述区块链系统包括如上述权利要求6-10任一项所述的节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010917301.6A CN112163034B (zh) | 2020-09-03 | 2020-09-03 | 一种模型共享方法、节点及区块链系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010917301.6A CN112163034B (zh) | 2020-09-03 | 2020-09-03 | 一种模型共享方法、节点及区块链系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112163034A CN112163034A (zh) | 2021-01-01 |
CN112163034B true CN112163034B (zh) | 2023-06-16 |
Family
ID=73857498
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010917301.6A Active CN112163034B (zh) | 2020-09-03 | 2020-09-03 | 一种模型共享方法、节点及区块链系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112163034B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108462724A (zh) * | 2018-05-17 | 2018-08-28 | 北京京东金融科技控股有限公司 | 数据共享方法、装置、系统、成员节点和可读存储介质 |
CN110545190A (zh) * | 2019-09-06 | 2019-12-06 | 腾讯科技(深圳)有限公司 | 一种签名处理的方法、相关装置以及设备 |
CN110601896A (zh) * | 2019-09-20 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 一种基于区块链节点的数据处理方法以及设备 |
CN111311209A (zh) * | 2020-02-03 | 2020-06-19 | 腾讯科技(深圳)有限公司 | 跨区块链的数据处理方法、装置、设备及计算机存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10992649B2 (en) * | 2016-04-01 | 2021-04-27 | Consensys Software Inc. | Systems and methods for privacy in distributed ledger transactions |
US11362805B2 (en) * | 2018-11-01 | 2022-06-14 | International Business Machines Corporation | Database encryption layer |
CN110210961A (zh) * | 2019-05-21 | 2019-09-06 | 平安普惠企业管理有限公司 | 基于联盟链的数据获取方法、服务器及计算机存储介质 |
CN110535627B (zh) * | 2019-08-07 | 2022-09-02 | 中国联合网络通信集团有限公司 | 一种数据查询方法及区块链平台 |
CN110991622B (zh) * | 2019-08-22 | 2021-06-04 | 腾讯科技(深圳)有限公司 | 基于区块链网络的机器学习模型处理方法及节点 |
-
2020
- 2020-09-03 CN CN202010917301.6A patent/CN112163034B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108462724A (zh) * | 2018-05-17 | 2018-08-28 | 北京京东金融科技控股有限公司 | 数据共享方法、装置、系统、成员节点和可读存储介质 |
CN110545190A (zh) * | 2019-09-06 | 2019-12-06 | 腾讯科技(深圳)有限公司 | 一种签名处理的方法、相关装置以及设备 |
CN110601896A (zh) * | 2019-09-20 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 一种基于区块链节点的数据处理方法以及设备 |
CN111311209A (zh) * | 2020-02-03 | 2020-06-19 | 腾讯科技(深圳)有限公司 | 跨区块链的数据处理方法、装置、设备及计算机存储介质 |
Non-Patent Citations (2)
Title |
---|
Double-blind consent -driven data sharing on blockchain;Kumar Bhaskaran等;《2018 IEEE International conference oncloud engineering 》;1-7 * |
基于区块链的数字资产交易系统的研究与设计;吕坤;《中国优秀硕士学位论文全文数据库 信息科技辑》;I138-609 * |
Also Published As
Publication number | Publication date |
---|---|
CN112163034A (zh) | 2021-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230023857A1 (en) | Data processing method and apparatus, intelligent device, and storage medium | |
TWI724391B (zh) | 基於區塊鏈的節點管理方法和裝置 | |
US11182379B2 (en) | DAG based methods and systems of transaction processing in a distributed ledger | |
CN110602050B (zh) | 区块链访问的鉴权方法和装置、存储介质、电子装置 | |
TWI733328B (zh) | 跨鏈發送可認證訊息的方法和裝置 | |
CN112153085B (zh) | 一种数据处理方法、节点及区块链系统 | |
CN112005264A (zh) | 实施跨链事务的区块链 | |
WO2017194815A1 (en) | Block chain based resource management | |
WO2020258847A1 (zh) | 基于处理模块跨链发送可认证消息的方法和装置 | |
CN113742782A (zh) | 基于隐私保护的区块链访问权限控制方法和区块链系统 | |
US11397919B1 (en) | Electronic agreement data management architecture with blockchain distributed ledger | |
US11954094B2 (en) | Database system public trust ledger architecture | |
CN114971827A (zh) | 一种基于区块链的对账方法、装置、电子设备及存储介质 | |
WO2022151888A1 (zh) | 数据共享方法及装置 | |
CN115130075A (zh) | 一种数字签章方法、装置、电子设备及存储介质 | |
CN112163034B (zh) | 一种模型共享方法、节点及区块链系统 | |
CN113051622B (zh) | 索引构建方法、装置、设备和存储介质 | |
CN114239043A (zh) | 一种基于区块链技术构建的共享加密存储系统 | |
Sidhu et al. | Trust development for blockchain interoperability using self-sovereign identity integration | |
JP2024501401A (ja) | 非集中型のブロードキャスト暗号化および鍵生成ファシリティ | |
CN111698198A (zh) | 秘密生成和份额分发 | |
CN117061089B (zh) | 一种投票管理方法、装置、设备及存储介质 | |
US20220182236A1 (en) | Consensus algorithm for distributed ledger technology | |
WO2024045911A1 (en) | Collaborative computation across blockchain networks | |
dos Santos | DClaims: A Censorship-Resistant Web Annotations System |
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 |