区块链多链创建方法、装置、设备及存储介质与流程

文档序号:17722110发布日期:2019-05-22 02:14阅读:718来源:国知局
区块链多链创建方法、装置、设备及存储介质与流程

本发明涉及计算机信息技术领域,尤其涉及一种区块链多链创建方法、装置、设备及存储介质。



背景技术:

区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所述共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。区块链技术具有去中心化、时序数据、集体维护、可编程和安全可信等特点。

在支持多链的区块链尤其是联盟链中,每条链的管理和配置往往是隔离的。在一条链的创建过程中,首先需要大量的准备的工作,包括各个成员的基本信息配置,各机构成员下节点信息的配置,链的共识和运行参数配置以及复杂的权限策略配置,另外还有智能合约的安装和部署配置信息等。这些配置一般都是写在配置文件中,或者通过命令行参数传入。每条链的创建都需要重复相同而又复杂繁琐的配置工作,即使两条链包含相同的配置信息,比如两条链包含相同的机构成员,部署了相同的智能合约或者一条节点同时加入了多条链等。从上面的描述可以看出,区块链多链的配置和管理具有很大的复杂和繁琐性,因此给区块链的部署实施和运营都带来了很大难度。

上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。



技术实现要素:

本发明的主要目的在于提供一种区块链多链创建方法、装置、设备及存储介质,旨在解决支持多链的区块链在创建多链时配置复杂繁琐的问题。

为实现上述目的,本发明提供一种区块链多链创建方法,所述区块链多链创建方法包括:

接收用户输入的不同的链创建指令,根据所述链创建指令确定待创建的目标链对应的功能需求;

根据所述功能需求从区块链的基本链中查找对应的目标已配置要素信息,所述基本链为预先创建好的链,所述基本链包括多个预先配置好的要素信息;

基于查找到的目标已配置要素信息构建与所述链创建指令对应的目标链。

优选地,所述接收用户输入的不同的链创建指令之前,所述方法还包括:

获取用户输入的区块链的基本链创建指令,根据所述基本链创建指令创建基本链的要素信息;

对创建好的各要素信息进行合理性验证;

对各验证通过的要素信息进行配置,得到多个已配置要素信息,基于多个已配置要素信息生成基本链;

将得到的各已配置要素信息保存到数据库中。

优选地,所述要素信息包括配置成员信息、配置节点信息、配置智能合约信息和配置权限策略模板;

相应地,所述对各验证通过的要素信息进行配置,得到多个已配置要素信息,基于多个已配置要素信息生成基本链,具体包括:

对验证通过的各成员信息、各节点信息、智能合约信息以及配置权限策略模板进行配置,得到多个已配置成员信息、多个已配置节点信息、已配置智能合约信息以及已配置权限策略模板;

基于所述已配置成员信息、所述已配置节点信息、所述已配置智能合约信息以及所述已配置权限策略模板构建基本链。

优选地,所述根据所述功能需求从区块链的基本链中查找对应的目标已配置要素信息,具体包括:

根据所述功能需求从区块链的基本链中查找对应的目标已配置成员信息、目标已配置节点信息、目标已配置智能合约信息和目标已配置权限策略模板中的至少一项。

优选地,所述基于查找到的目标已配置要素信息构建与所述链创建指令对应的目标链之后,还包括:

分别从各目标链中确定对应的创世区块,对各创世区块进行展示;

响应于用户基于展示中的各创世区块输入的区块链启动指令,运行各目标链。

优选地,所述响应于用户基于展示中的各创世区块输入的区块链启动指令,运行各目标链之后,还包括:

在检测到不同的目标链存在相同要素信息需要更新时,将需要更新的待更新信息保存到本地预设存储区域中;

将所述待更新信息分别推送到需要更新的目标链,以对各需要更新的目标链的要素信息进行更新。

优选地,所述在检测到不同的目标链存在相同要素信息需要更新时,将需要更新的待更新信息保存到本地预设存储区域中之后,还包括:

从所述本地预设存储区域中导出并展示所述待更新信息。

此外,为实现上述目的,本发明提供一种区块链多链创建装置,所述装置包括:

接收模块,用于接收用户输入不同的链创建指令,根据所述链创建指令确定待创建的目标链对应的功能需求;

查找模块,用于根据所述功能需求从区块链的基本链中查找对应的目标已配置要素信息,所述基本链预先存储于预设存储区域中;

构建模块,用于基于查找到的目标已配置要素信息构建与所述链创建指令对应的目标链。

此外,为实现上述目的,本发明提供一种用于区块链多链创建的设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的区块链多链创建程序,所述区块链多链创建程序配置为实现如上所述的区块链多链创建方法的步骤。

此外,为实现上述目的,本发明提供一种存储介质,所述存储介质上存储有区块链多链创建程序,所述区块链多链创建程序被处理器执行时实现如上所述区块链多链创建方法的步骤。

本发明的用于区块链多链创建的管理平台首先接收用户输入不同的链创建指令,根据链创建指令确定待创建的目标链对应的功能需求;然后根据功能需求从区块链的基本链中查找对应的目标已配置要素信息,其中所述基本链为预先创建好的链,所述基本链包括多个预先配置好的要素信息;最后基于查找到的目标已配置要素信息构建与所述链创建指令对应的目标链。进而能够实现区块链网络系统的所有联盟链都可以共享基本链中已配置好的要素信息,能够最大程度复用已配置要素信息来创建新的目标链,从而大大降低了区块链多链部署的复杂度。

附图说明

图1是本发明实施例方案涉及的硬件运行环境的用于区块链多链创建的终端的结构示意图;

图2为本发明一种区块链多链创建的方法第一实施例的流程示意图;

图3为本发明一种区块链多链创建的方法一实施例中的两个链同时创建流程示意图;

图4为创建区块链的常规方法的流程示意图;

图5为本发明一种区块链多链创建的方法第二实施例的流程示意图;

图6为本发明一种区块链多链创建的方法第三实施例的流程示意图;

图7为本发明一种区块链多链创建装置的结构框图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

参照图1,图1为本发明实施例方案涉及的硬件运行环境的用于区块链多链创建的终端示意图。

如图1所示,用于区块链多链创建的设备可以包括:处理器1001,例如cpu,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口,网络接口用于和区块链系统网络进行通讯连接。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。需要说明的是,本发明的用于区块链多链创建的设备可以是服务器、pc电脑主机等终端设备。图1中示出的结构并不构成对所述设备的限定,可以包括比图示更多或更少的部件,或者不同的部件布置。

如图1所示,所述存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及区块链多链创建程序。

在图1所示的设备中,网络接口1004主要用于连入区块链系统网络,并与区块链系统网络的联盟链进行数据通信;用户接口1003主要用于连接与用户的交互的设备,如键盘、显示屏等;本发明监控系统通过处理器1001调用存储器1005中存储的区块链多链创建程序,并执行所述区块链多链创建方法的步骤。

参照图2,图2为本发明提供的一种区块链多链创建方法的第一实施例流程示意图,所述区块链多链创建方法包括:

步骤s10:接收用户输入的不同的链创建指令,根据所述链创建指令确定待创建的目标链对应的功能需求;

需要说明的是,本实施例的执行主体是上述用于区块链多链创建的设备。

相应地,在步骤s10之前包括:

步骤:需要预先创建一个基本链,所述基本链包括多个预先配置好的要素信息;在具体实现中,会获取用户输入的区块链的基本链创建指令,根据所述基本链创建指令创建基本链的要素信息;

步骤:对创建好的各要素信息进行合理性验证;对各验证通过的要素信息进行配置,得到多个已配置要素信息,生成基本链;将得到的各已配置要素信息保存到本地数据库中。

具体地,本实施的数据库可以是在本地与用于区块链多链创建的设备建立连接关系的数据库,该数据库可以是sqlserver、oracle、mysql等关系型数据库。

此外,获取用户输入的要素信息之后,会分别对各要素信息进行合理性验证,最后将得到的各已配置要素信息保存到本地数据库中,并在数据库中建立各要素信息与链的功能需求对应的映射关系。用于区块链多链创建的设备可以部署有区块链多链创建装置,区块链多链创建装置可表征为一种具有可视化操作页面功能的程序软件,当前区块链的管理者(即用户)可通过所述区块链多链创建装置的可视化页面创建当前区块链的基本链的基本要素信息,所述要素信息包括成员信息、节点信息、智能合约信息和配置权限策略模板。

上述对各验证通过的要素信息进行配置,得到多个已配置要素信息,基于多个已配置要素信息生成基本链,可归纳为:

步骤:对验证通过的各成员信息、各节点信息、智能合约信息以及配置权限策略模板进行配置,得到多个已配置成员信息、多个已配置节点信息、已配置智能合约信息以及已配置权限策略模板;

步骤:基于所述已配置成员信息、所述已配置节点信息、所述已配置智能合约信息以及所述已配置权限策略模板构建基本链。

可理解的是,生成基本链的以上两个步骤表征一条基本链的创建流程(参考图3):

流程一:基于用户输入的链创建指令创建联盟链需要包含的成员信息,成员信息至少包括每个成员的标识、身份信息、以及该成员所属节点的认证方式,通过创建得到的成员信息即为所述配置成员信息;

流程二:基于用户输入的链创建指令确定链的基本配置,链的基本配置至少包括各区块生成参数以及哈希算法;

流程三:为“流程一”中的每个成员创建区块节点,并获取“流程一”中对应成员的身份信息,在“流程二”的链的基本配置确定后,所创建区块节点即可加入到链上,进而得到所述配置节点信息;

流程四,基于用户输入的链创建指令创建智能合约信息,所述智能合约信息至少包括用户指定的源码以及对应的版本,将所述智能合约信息部署到“流程三”中的已配置好的区块节点中;

流程五,基于用户输入的链创建指令创建权限策略模板,所述权限策略模板包括“权限设置模板”和“策略执行模板”。“权限设置模板”可以表征区块链怎么样加入新的成员或者怎么样更改区块节点生成参数等(例如,需要半数以上成员都同意才可以加入新的区块节点或者更改区块节点的生成参数)。而“策略执行模板”表征为智能合约执行策略,比如哪些方案是节点同时执行才能效(例如,只有成员a的节点和成员b的节点同时执行的智能合约,最终产生的交易数据采有效)。最后将所述权限策略模板配置到流程四中已经部署了智能合约信息的区块节点中,经过以上五个流程的配置,即可以完成一条链的构建。

相应地,步骤s10在具体实现中,所述管理者基于所述具有可视化功能的区块链多链创建装置输入不同的链创建指令,所述链创建指令可以表征为用户根据实际链的需求输入的体现链实际需求的一段文字,例如管理者要创建链a和链b,一共两个链,这两个链区别在于各自的需要配置的成员信息不同、各自需要配置的节点信息以及需要配置的权限策略,而需要配置的智能合约信息和共识参数等其他配置均相同。

区块链多链创建装置会对链a的创建指令即对待创建的链a实际需求的文字进行解析,确定链a的功能需求以及链a的功能需求在数据库中与各要素信息的预设映射关系;相应地,区块链多链创建装置会对链b的创建指令即对待创建的链b实际需求的文字进行解析,确定链b的功能需求以及链b的功能需求在数据库中与各要素信息的预设映射关系。

步骤s20:根据所述功能需求从区块链的基本链中查找对应的目标已配置要素信息,所述基本链为预先创建好的链,所述基本链包括多个预先配置好的要素信息;

可理解的是,根据所述功能需求从区块链的基本链中查找对应的目标已配置成员信息、目标已配置节点信息、目标已配置智能合约信息和目标已配置权限策略模板中的至少一项;

具体地,基于链a的功能需求在数据库中与各要素信息的预设映射关系从数据库中查找出对应的目标已配置要素信息a;相应地,基于链b的功能需求在数据库中与各要素信息的预设映射关系从数据库中查找出对应的目标已配置要素信息b。

这里的目标已配置要素信息a或目标已配置要素信息b通常指多个区块链要素信息,一般具体包括多个目标已配置成员信息、多个目标已配置节点信息、目标已配置智能合约信息和目标已配置权限策略模板中的至少一项。

步骤s30:基于查找到的目标已配置要素信息构建与所述链创建指令对应的目标链。

可理解的是,通过以上基本链的创建过程描述,可知联盟链在创建过程中包含大量的配置工作,而在实际使用中,一个业务场景或者项目往往需要多个联盟链。或者对于某些节点,可能同时加入多个联盟链;亦或者为了提升联盟链的吞吐量和效率,往往会通过分链来实现,比如可以根据时间将不同年份的数据存放到不同的链上。面对上面这些情况,本实施例在创建基本链后会独立管理维护基本链的成员信息,节点信息,智能合约信息以及权限策略模板。然后在需要多条链的时候,能快速的在已有的成员信息,节点信息,智能合约信息以及权限策略模板的基础上,快速构建一条满足用户需求的新的链。

具体地,不同的链创建指令对应不同的功能需求,例如本实施例中基于链a的功能需求能够从基本链中查找到出对应的配置成员信息、配置节点信息、配置权限策略、智能合约信息和共识参数这些要素信息进行复用而链b的功能需求仅能够从基本链中查找到对应的智能合约信息和共识参数这两个要素信息进行复用,其他的诸如成员信息、节点信息以及配置权限策略不能复用所述基本链中的要素信息,需要区块链管理者手动输入与链b的功能需求,以完成目标链b的创建。

在具体实现中,可参照图3,针对链a这种大多数要素信息能从基本链中复用的情况,会基于链a的功能需求确定待创建的目标链的指定节点数量;然后建立数量为所述指定节点数量的节点,按照所述目标已配置节点信息为各节点进行配置;将查找到的所述目标已配置成员信息分配到配置好的各节点下,得到多个目标节点;基于各目标节点、所述目标已配置智能合约信息和所述目标已配置权限策略模板创建对应的目标链a,即通过目标配置权限策略、目标智能合约信息和共识参数使各个目标节点关联,进而构建一个与所述链创建指令对应的目标链a。

相应地,针对链b这种少数要素信息能从基本链中复用的情况,会基于链b的功能需求确定待创建的目标链的指定节点数量然后建立数量为所述指定节点数量的节点;然后提示用户(即管理者)输入节点信息和成员信息,接收用户输入的节点信息和成员信息,按照用户输入的节点信息为各节点进行配置;将用户输入的成员信息分配到配置好的各节点下,得到多个目标节点;基于各目标节点、所述目标已配置智能合约信息和所述目标已配置权限策略模板创建对应的目标链b。

常规的一个链创建流程如图4所述,链a和链b的创建是相互隔离的,需要分别配置链上所有的信息才能完成链的创建,这样联盟链多链的配置和管理具有很大的复杂和繁琐性,因此给区块链的部署实施和运营都带来了很大难度。

本实施的区块链的区块链多链创建方法参见图3,首先接收用户输入不同的链创建指令,根据链创建指令确定待创建的目标链对应的功能需求;然后根据功能需求从区块链的基本链中查找对应的目标已配置要素信息,其中所述基本链为预先创建好的链,所述基本链包括多个预先配置好的要素信息;最后基于查找到的目标已配置要素信息构建与所述链创建指令对应的目标链。进而能够实现区块链网络系统的所有联盟链都可以共享基本链中已配置好的要素信息,能够最大程度复用已配置要素信息来创建新的目标链,从而大大降低了区块链多链部署的复杂度。

参照图5,图5为本发明提供的一种区块链多链创建方法的第二实施例流程示意图,所述区块链多链创建方法包括:

步骤s40:分别从各目标链中确定对应的创世区块,对各创世区块进行展示;

步骤s50:响应于用户基于展示中的各创世区块输入的区块链启动指令,运行各目标链。

可理解的是,区块链技术中第一个被最早构建的区块节点称为创世区块,拥有一个唯一的id标识号。除创世区块外,每个后续建立的区块节点均包含两个id号,一个是该区块节点自身的id号,另一个是前序区块节点的id号。通过id号间的前后指向关系,所有区块按序相连就构成了一个目标链。

上述用于区块链多链创建的设备对各创世区块进行展示,用户(如区块链运维人员)基于展示中的各创世区块输入区块链启动指令,以使得所述设备根据不同的区块链启动指令运行对应的目标链。

参照图6,图6为本发明提供的一种区块链多链创建方法的第三实施例流程示意图,所述区块链多链创建方法包括:

本实施例中,在上述步骤s50之后,还包括:

步骤s60:在检测到不同的目标链存在相同要素信息需要更新时,将需要更新的待更新信息保存到本地预设存储区域中;

步骤s70:将所述待更新信息分别推送到需要更新的目标链,以对各需要更新的目标链的要素信息进行更新。

具体地,在检测到目标链a要素信息需要更新时,例如目标链a的智能合约信息需要更新,会实时将待更新的智能合约信息保存到本地预设存储区域中;而目标链a和目标链b的智能合约信息相同,那么在更新目标链a时,将待更新的智能合约信息分别推送到目标链a和目标链b,以使得目标链a和目标链b同时完成智能合约更新。

由于管理的要素信息可以由多条链共享,因此有新的要素信息加入或者已有的要素信息更新后(例如有新的成员加入或者已有成员信息更新后),被管理的所有相关的目标链可以及时更新到最新配置。

进一步地,本实施例在步骤s60之后,还包括从所述本地预设存储区域中导出并展示所述待更新信息,运维人员得到导出的待更新信息,可以手动对目标区块链实施更新。

本实施例在区块链的基础要素信息更改时,及时更新所有关联的链,从而大大减低区块链多链的更新难度。

此外,参考图7,本发明实施例还提出一种区块链多链创建装置,所述装置包括:

接收模块10,用于接收用户输入不同的链创建指令,根据所述链创建指令确定待创建的目标链对应的功能需求;

查找模块20,用于根据所述功能需求从区块链的基本链中查找对应的目标已配置要素信息,所述基本链预先存储于预设存储区域中;

构建模块30,用于基于查找到的目标已配置要素信息构建与所述链创建指令对应的目标链。

可理解的是,本实施例的区块链多链创建装置可以是一种用于进行区块链多链创建的应用程序软件,并装载于上述用于区块链多链创建的终端中,本实施例的区块链多链创建装置的具体实施方式请参照上述区块链多链创建方法实施例,本实施例在此不予赘述。

此外,本发明实施例还提出一种存储介质,所述存储介质上存储有区块链多链创建程序,所述区块链多链创建程序被处理器执行时实现如上所述区块链多链创建方法的步骤。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1