支持多版本超级账本的BaaS系统实现方法及装置制造方法及图纸

技术编号:25995941 阅读:28 留言:0更新日期:2020-10-20 19:05
本发明专利技术公开一种支持多版本超级账本的BaaS系统实现方法及装置,涉及区块链技术领域,能够使BaaS系统灵活支持多个版本的超级账本。该方法包括:通过BaaS系统创建区块链网络项目并输入配置数据,配置数据包括Fabric版本号和所需的节点数量;在BaaS系统中查找与Fabric版本号匹配的配置模板,将节点数量以及区块链网络项目的名称ID填充入配置模板,生成区块链网络项目对应的配置文件;根据名称ID在BaaS系统中创建与区块链网络项目对应的容器网络,容器网络包括与节点一一对应的多个容器;基于配置文件,在容器网络中启动区块链网络项目涉及的容器,实现区块链网络的启动。该装置应用有上述方案所提的方法。

【技术实现步骤摘要】
支持多版本超级账本的BaaS系统实现方法及装置
本专利技术涉及区块链
,尤其涉及一种支持多版本超级账本的BaaS系统实现方法及装置。
技术介绍
区块链是一种集合了P2P技术、密码学、智能合约、共识算法、博弈论的综合性技术,具有去中心化、账本不可篡改、智能合约自动执行等特点。根据区块链的开放权限的不同,可以将区块链分成公有链、私有链和联盟链。其中,公有链对所有人开放;私有链只对单独的实体进行开放,如公司内部;联盟链会对一个特定的组织开放。联盟链的显著特点是各个节点都对应一个实体机构,任何实体机构节点想要加入联盟连,需要得到联盟的许可,所有实体机构共同维护联盟链系统的稳定发展。超级账本(HyperledgerFabric)是联盟链中开源的底层平台,是Linux基金会主导的Hyperledger的项目之一。HyperledgerFabric旨在作为开发模块化体系结构的区块链应用程序的基础,以便如共识和会员服务等功能组件即插即用,它使用容器技术来托管构成系统应用逻辑的智能合约。HyperledgerFabric是为企业构建的开源、通用的区块链结构。区块链即服务平台(BaaS)使用云计算等技术将区块链技术服务化,提供快速搭建高可用的区块链网络,配备完整的自服务运维系统,屏蔽IT的复杂度。然而,截止目前Fabric发布了从0.6.0到1.4.4的若干版本,BaaS系统要灵活支持众多版本的Fabric是一个复杂的问题。
技术实现思路
本专利技术的目的在于提供一种支持多版本超级账本的BaaS系统实现方法及装置,能够使BaaS系统灵活支持多个版本的超级账本。为了实现上述目的,本专利技术的第一方面提供一种支持多版本超级账本的BaaS系统实现方法,包括:通过BaaS系统创建区块链网络项目并输入配置数据,所述配置数据包括Fabric版本号和所需的节点数量;在BaaS系统中查找与所述Fabric版本号匹配的配置模板,将所述节点数量以及所述区块链网络项目的名称ID填充入配置模板,生成所述区块链网络项目对应的配置文件;根据所述名称ID在BaaS系统中创建与所述区块链网络项目对应的容器网络,所述容器网络包括与节点一一对应的多个容器;基于所述配置文件,在所述容器网络中启动所述区块链网络项目涉及的容器,实现所述区块链网络的启动。优选地,通过BaaS系统创建区块链网络项目并输入配置数据之前还包括:利用BaaS系统创建区块链网络项目所需的服务端口,所述服务端口由用户手动指定分配,或者,基于Fabric版本号匹配空余服务端口自动分配。优选地,在BaaS系统中查找与所述Fabric版本号匹配的配置模板之前还包括:基于所述区块链网络项目设置环境变量,以确保所述区块链网络能够在所述容器网络中正常启动。较佳地,通过BaaS系统创建区块链网络项目并输入配置数据的方法包括:通过BaaS系统同时创建多个所述区块链网络项目,且每个所述区块链网络项目对应的配置数据中至少Fabric版本号互不相同或相同。进一步地,在BaaS系统中查找与所述Fabric版本号匹配的配置模板,将所述节点数量以及所述区块链网络项目的名称ID填充入配置模板,生成所述区块链网络项目对应的配置文件的方法包括:根据每个所述区块链网络项目输入的Fabric版本号,在BaaS系统中分别匹配出与各Fabric版本号对应的配置模板;将每个所述区块链网络项目对应的节点数量以及所述区块链网络项目的名称ID填充入对应的配置模板,生成与各所述区块链网络项目对应的配置文件。进一步地,根据所述名称ID在BaaS系统中创建与所述区块链网络项目对应的容器网络的方法包括:根据名称ID命名每个所述区块链网络项目对应的容器网络名称,并根据所述容器网络名称在BaaS系统中创建与所述区块链网络项目对应的容器网络。进一步地,基于所述配置文件,在所述容器网络中启动所述区块链网络项目涉及的容器,实现所述区块链网络的启动的方法包括:基于每个所述配置文件,分别在各所述容器网络中启动相对应所述区块链网络项目所使用的容器,实现多个所述区块链网络的隔离启动。与现有技术相比,本专利技术提供的支持多版本超级账本的BaaS系统实现方法具有以下有益效果:本专利技术提供的支持多版本超级账本的BaaS系统实现方法,在BaaS系统中采用配置文件的方式实现进入不同Fabric版本号的启动流程。具体实现过程为:在BaaS系统中新建区块链网络项目并输入配置数据,由于配置数据包括Fabric版本号和所需的节点数量,BaaS系统首先会基于输入的Fabric版本号检测是否存在匹配的配置模板,如果检测结果为不存在匹配结果,则说明BaaS系统不支持当前输入的Fabric版本号,反之,如果匹配到了相应的配置模板,自动将用户输入的节点数量以及创建的区块链网络项目的名称ID填充入配置模板,生成区块链网络项目对应的配置文件,在配置文件生成之后进入容器网络的创建步骤,具体为根据区块链网络项目的名称ID生成容器网络名称,并根据该名称来创建一个新的容器网络,以防止其他区块链网络带来的干扰,最后进入启动容器的步骤,具体为基于上述配置文件,在容器网络中启动区块链网络项目涉及的容器,实现区块链网络的启动。可见,通过在BaaS系统中设置多个Fabric版本号对应的配置模板,在新建区块链网络项目时,就可以实现对多个Fabric版本区块链网络项目的支持。本专利技术的第二方面提供一种支持多版本超级账本的BaaS系统实现装置,应用于上述技术方案所述的支持多版本超级账本的BaaS系统实现方法中,所述装置包括:项目创建单元,用于通过BaaS系统创建区块链网络项目并输入配置数据,所述配置数据包括Fabric版本号和所需的节点数量;配置文件生成单元,用于在BaaS系统中查找与所述Fabric版本号匹配的配置模板,将所述节点数量以及所述区块链网络项目的名称ID填充入配置模板,生成所述区块链网络项目对应的配置文件;容器网络创建单元,用于根据所述名称ID在BaaS系统中创建与所述区块链网络项目对应的容器网络,所述容器网络包括与节点一一对应的多个容器;隔离启动单元,用于基于所述配置文件,在所述容器网络中启动所述区块链网络项目涉及的容器,实现所述区块链网络的启动。优选地,还包括服务端口创建单元,用于利用BaaS系统创建区块链网络项目所需的服务端口,所述服务端口由用户手动指定分配,或者,基于Fabric版本号匹配空余服务端口自动分配。与现有技术相比,本专利技术提供的支持多版本超级账本的BaaS系统实现装置的有益效果与上述技术方案提供的支持多版本超级账本的BaaS系统实现方法的有益效果相同,在此不做赘述。本专利技术的第三方面提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述支持多版本超级账本的BaaS系统实现方法的步骤。与现有技术相比,本专利技术提供的计算机可读存储介质的有益效果与上述技本文档来自技高网...

【技术保护点】
1.一种支持多版本超级账本的BaaS系统实现方法,其特征在于,包括:/n通过BaaS系统创建区块链网络项目并输入配置数据,所述配置数据包括Fabric版本号和所需的节点数量;/n在BaaS系统中查找与所述Fabric版本号匹配的配置模板,将所述节点数量以及所述区块链网络项目的名称ID填充入配置模板,生成所述区块链网络项目对应的配置文件;/n根据所述名称ID在BaaS系统中创建与所述区块链网络项目对应的容器网络,所述容器网络包括与节点一一对应的多个容器;/n基于所述配置文件,在所述容器网络中启动所述区块链网络项目涉及的容器,实现所述区块链网络的启动。/n

【技术特征摘要】
1.一种支持多版本超级账本的BaaS系统实现方法,其特征在于,包括:
通过BaaS系统创建区块链网络项目并输入配置数据,所述配置数据包括Fabric版本号和所需的节点数量;
在BaaS系统中查找与所述Fabric版本号匹配的配置模板,将所述节点数量以及所述区块链网络项目的名称ID填充入配置模板,生成所述区块链网络项目对应的配置文件;
根据所述名称ID在BaaS系统中创建与所述区块链网络项目对应的容器网络,所述容器网络包括与节点一一对应的多个容器;
基于所述配置文件,在所述容器网络中启动所述区块链网络项目涉及的容器,实现所述区块链网络的启动。


2.根据权利要求1所述的方法,其特征在于,通过BaaS系统创建区块链网络项目并输入配置数据之前还包括:
利用BaaS系统创建区块链网络项目所需的服务端口,所述服务端口由用户手动指定分配,或者,基于Fabric版本号匹配空余服务端口自动分配。


3.根据权利要求1或2所述的方法,其特征在于,在BaaS系统中查找与所述Fabric版本号匹配的配置模板之前还包括:
基于所述区块链网络项目设置环境变量,以确保所述区块链网络能够在所述容器网络中正常启动。


4.根据权利要求3所述的方法,其特征在于,通过BaaS系统创建区块链网络项目并输入配置数据的方法包括:
通过BaaS系统同时创建多个所述区块链网络项目,且每个所述区块链网络项目对应的配置数据中的Fabric版本号不相同或者相同。


5.根据权利要求4所述的方法,其特征在于,在BaaS系统中查找与所述Fabric版本号匹配的配置模板,将所述节点数量以及所述区块链网络项目的名称ID填充入配置模板,生成所述区块链网络项目对应的配置文件的方法包括:
根据每个所述区块链网络项目输入的Fabric版本号,在BaaS系统中分别匹配出与各Fabric版本号对应的配置模板;
将每个所述区块链网络项目对应的节点数量以及所述区块链网络项...

【专利技术属性】
技术研发人员:盛伟
申请(专利权)人:苏宁金融科技南京有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1