一种联盟链网络建立方法及装置与流程

未命名 08-07 阅读:75 评论:0


1.本发明涉及数据处理领域,具体而言,涉及一种联盟链网络建立方法及装置。


背景技术:

2.很多金融机构积极致力于区块链技术与金融行业的技术融合,借助区块链去中心化、不可篡改、智能合约、唯一性等特性,结合交易银行部的业务场景,拓展创新金融产品、提高业务效率、扩大业务范围、推进银行间相应业务的开展、提升产业价值。
3.在容器云平台上部署区块链网络时,存在节点故障导致服务不可用,可用性差;区块链技术门槛高,业务合作拓展难度高等问题。
4.针对相关技术中在容器云平台上部署区块链网络时,存在节点故障导致服务不可用,可扩展性差的问题,尚未提出解决方案。


技术实现要素:

5.本发明实施例提供了一种联盟链网络建立方法及装置,以至少解决相关技术中在容器云平台上部署区块链网络时,存在节点故障导致服务不可用,可用性差;区块链技术门槛高,业务合作拓展难度高、可扩展性差的问题。
6.根据本发明的一个实施例,提供了一种联盟链网络建立方法,应用于容器云平台,包括:
7.创建区块链网络,至少包括:部署共识节点、记账节点以及智能合约;
8.通过多种联盟接入方式与联盟成员建立联盟链网络,其中,所述多种联盟接入方式至少包括:全节点接入、轻节点接入、托管模式接入。
9.可选地,创建区块链网络至少包括:
10.采用奇数冗余部署所述区块链网络的共识节点;
11.采用多活方式部署所述区块链网络的记账节点;
12.采用分离方式部署所述区块链网络的智能合约。
13.可选地,采用奇数冗余部署所述区块链网络的共识节点包括:
14.将所述区块链网络的共识节点部署在两个k8s(kubernetes)集群内,每个k8s集群内包括n个共识节点,n为大于或等于3的奇数;
15.启动运行所述两个k8s集群内任意一个k8s集群内的n个共识节点,另一个k8s集群的n个共识节点以冷备的方式处于待命状态,所述两个k8s集群内两组共识节点的配置完全一致,互为备份,所述两组共识节点指向同一个高可用k8s集群存储地址。
16.可选地,所述方法还包括:
17.当运行中的集群1出现故障且不能及时恢复,启动集群2中的n个共识节点,通过所述集群2的n个共识节点继续为所述区块链网络提供共识服务,直到所述集群1恢复,其中,所述两个k8s集群为所述集群1与所述集群2;
18.确定是否要切换回所述集群1或继续使用所述集群2的服务,当继续使用所述集群
2时,停止所述集群1的服务。
19.可选地,采用多活方式部署所述区块链网络的记账节点包括:
20.在两个容器云集群中各部署一个同功能但不同身份的记账节点,形成数据冗余、程序多活的架构模式,其中,所述同功能指在所述区块链中表现为同时加入相同的通道,在同一通道内,部署安装相同的智能合约;所述不同身份指所述记账节点在所述区块链中身份标识唯一。
21.可选地,采用分离方式部署所述区块链网络的智能合约包括:
22.通过所述区块链网络的记账节点调用应用程序接口(application program interface,简称为api)部署所述区块链网络的智能合约,其中,所述区块链网络的智能合约与对应的记账节点部署在不同主机上;
23.通过所述区块链网络的记账节点发起所述区块链网络的智能合约的容器启动过程。
24.可选地,通过所述区块链网络的记账节点发起所述区块链网络的智能合约的容器启动过程包括:
25.通过所述记账节点发起的停止命令停止原来的智能合约容器;
26.通过所述记账节点发起启动新的智能合约容器命令,以启动所述新的智能合约容器创建并运行所述新的智能合约容器。
27.可选地,在通过所述记账节点发起启动所述新的智能合约容器命令,以启动所述新的智能合约容器创建并运行所述新的智能合约容器之前,所述方法还包括:
28.若智能合约镜像不存在,编译智能合约代码;
29.通过所述记账节点发起创建镜像命令,生成智能合约的镜像。
30.可选地,所述全节点接入指的是所述联盟成员接入所述区块链网络时同时部署共识节点与记账节点,通过部署的共识节点连接所述区块链网络的共识节点,其中,部署的记账节点与所述部署的共识节点连接;
31.所述轻节点接入指的是所述联盟成员接入所述区块链网络时仅部署记账节点,通过部署的记账节点连接所述区块链网络的共识节点;
32.所述托管模式接入指的是所述联盟成员接入所述区块链网络时不部署任何所述共识节点或所述记账节点,通过网关连接所述区块链网络的记账节点。
33.根据本发明的另一个实施例,还提供了一种联盟链网络建立装置,应用于容器云平台,包括:
34.创建模块,用于创建区块链网络,至少包括:部署共识节点、记账节点以及智能合约;
35.建立模块,用于通过多种联盟接入方式与联盟成员建立联盟链网络,其中,所述多种联盟接入方式至少包括:全节点接入、轻节点接入、托管模式接入。
36.可选地,所述创建模块包括:
37.第一部署子模块,用于采用奇数冗余部署所述区块链网络的共识节点;
38.第二部署子模块,用于采用多活方式部署所述区块链网络的记账节点;
39.第三部署子模块,用于采用分离方式部署所述区块链网络的智能合约。
40.可选地,所述第一部署子模块,还用于:
41.将所述区块链网络的共识节点部署在两个k8s集群内,每个k8s集群内包括n个共识节点,n为大于或等于3的奇数;
42.启动运行所述两个k8s集群内任意一个k8s集群内的n个共识节点,另一个k8s集群的n个共识节点以冷备的方式处于待命状态,所述两个k8s集群内两组共识节点的配置完全一致,互为备份,所述两组共识节点指向同一个高可用k8s集群存储地址。
43.可选地,所述装置还包括:
44.备份模块,用于当运行中的集群1出现故障且不能及时恢复,启动集群2中的n个共识节点,通过所述集群2的n个共识节点继续为所述区块链网络提供共识服务,直到所述集群1恢复,其中,所述两个k8s集群为所述集群1与所述集群2;
45.确定模块,用于确定是否要切换回所述集群1或继续使用所述集群2的服务,当继续使用所述集群2时,停止所述集群1的服务。
46.可选地,所述第二部署子模块,还用于:
47.在两个容器云集群中各部署一个同功能但不同身份的记账节点,形成数据冗余、程序多活的架构模式,其中,所述同功能指在所述区块链中表现为同时加入相同的通道,在同一通道内,部署安装相同的智能合约;所述不同身份指所述记账节点在所述区块链中身份标识唯一。
48.可选地,所述第三部署子模块包括:
49.部署单元,用于通过所述区块链网络的记账节点调用api部署所述区块链网络的智能合约,其中,所述区块链网络的智能合约与对应的记账节点部署在不同主机上;
50.发起单元,用于通过所述区块链网络的记账节点发起所述区块链网络的智能合约的容器启动过程。
51.可选地,所述发起单元,还用于:
52.通过所述记账节点发起的停止命令停止原来的智能合约容器;
53.通过所述记账节点发起启动新的智能合约容器命令,以启动所述新的智能合约容器创建并运行所述新的智能合约容器。
54.可选地,所述装置还包括:
55.编译模块,用于若智能合约镜像不存在,编译智能合约代码;
56.生成模块,用于通过所述记账节点发起创建镜像命令,生成智能合约的镜像。
57.可选地,所述全节点接入指的是所述联盟成员接入所述区块链网络时同时部署共识节点与记账节点,通过部署的共识节点连接所述区块链网络的共识节点,其中,部署的记账节点与所述部署的共识节点连接;
58.所述轻节点接入指的是所述联盟成员接入所述区块链网络时仅部署记账节点,通过部署的记账节点连接所述区块链网络的共识节点;
59.所述托管模式接入指的是所述联盟成员接入所述区块链网络时不部署任何所述共识节点或所述记账节点,通过网关连接所述区块链网络的记账节点。
60.根据本发明的又一个实施例,还提供了一种计算机可读的存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
61.根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述
存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
62.通过本发明,创建区块链网络,至少包括:部署共识节点、记账节点以及智能合约;通过多种联盟接入方式与联盟成员建立联盟链网络,其中,所述多种联盟接入方式至少包括:全节点接入、轻节点接入、托管模式接入,可以解决相关技术中在容器云平台上部署区块链网络时,存在节点故障导致服务不可用,可用性差;区块链技术门槛高,业务合作拓展难度高、可扩展性差的问题,多种联盟接入模式可根据客户的不同需求提供灵活的部署方案,业务兼容性、可扩展性强;同时,通过对部分节点多活部署,避免节点故障导致服务不可用,增强系统可用性。
附图说明
63.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
64.图1是本发明实施例的联盟链网络建立方法的移动终端的硬件结构框图;
65.图2是根据本发明实施例的数联盟链网络建立方法的流程图;
66.图3是根据本发明实施例的全节点接入的示意图;
67.图4是根据本发明实施例的轻节点接入的示意图;
68.图5是根据本发明实施例的托管模式接入的示意图;
69.图6是根据本发明实施例的基于容器云平台的区块链网络部署的示意图;
70.图7是根据本发明实施例的联盟链网络建立装置的框图。
具体实施方式
71.下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
72.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
73.本技术实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的联盟链网络建立方法的移动终端的硬件结构框图,如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器104,可选地,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
74.存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的联盟链网络建立方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102
远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
75.传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(network interface controller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(radio frequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。
76.在本实施例中提供了一种运行于上述移动终端或网络架构的联盟链网络建立方法,图2是根据本发明实施例的数联盟链网络建立方法的流程图,如图2所示,应用于容器云平台,该流程包括如下步骤:
77.步骤s202,创建区块链网络,至少包括:部署共识节点、记账节点以及智能合约;
78.步骤s204,通过多种联盟接入方式与联盟成员建立联盟链网络,其中,该多种联盟接入方式至少包括:全节点接入、轻节点接入、托管模式接入。
79.图3是根据本发明实施例的全节点接入的示意图,如图3所示,全节点接入指的是联盟成员接入该区块链网络时同时部署共识节点与记账节点,通过部署的共识节点连接该区块链网络的共识节点,其中,部署的记账节点与该部署的共识节点连接;图4是根据本发明实施例的轻节点接入的示意图,如图4所示,轻节点接入指的是联盟成员接入该区块链网络时仅部署记账节点,通过部署的记账节点连接该区块链网络的共识节点;图5是根据本发明实施例的托管模式接入的示意图,如图5所示,托管模式接入指的是联盟成员接入该区块链网络时不部署任何该共识节点或该记账节点,通过网关连接该区块链网络的记账节点。
80.通过上述步骤s202至s204,可以解决相关技术中在容器云平台上部署区块链网络时,存在节点故障导致服务不可用,可用性差;区块链技术门槛高,业务合作拓展难度高、可扩展性差的问题,多种联盟接入模式可根据客户的不同需求提供灵活的部署方案,业务兼容性、可扩展性强;同时,通过对部分节点多活部署,避免节点故障导致服务不可用,增强系统可用性。
81.本发明实施例中,上述步骤s202至少包括:
82.s2021,采用奇数冗余部署该区块链网络的共识节点;
83.s2022,采用多活方式部署该区块链网络的记账节点;
84.s2023,采用分离方式部署该区块链网络的智能合约。
85.本实施例中区块链网络的创建,除了上述之外,还可以包括创建k8s集群、创建公共链、创建通道等。
86.在一可选的实施例中,上述步骤s2021具体可以包括:将该区块链网络的共识节点部署在两个k8s集群内,每个k8s集群内包括n个共识节点,n为大于或等于3的奇数;启动运行该两个k8s集群内任意一个k8s集群内的n个共识节点,另一个k8s集群的n个共识节点以冷备的方式处于待命状态,该两个k8s集群内两组共识节点的配置完全一致,互为备份,该两组共识节点指向同一个高可用k8s集群存储地址。
87.进一步地,当运行中的集群1出现故障且不能及时恢复,启动集群2中的n个共识节点,通过该集群2的n个共识节点继续为该区块链网络提供共识服务,直到该集群1恢复,其中,该两个k8s集群为该集群1与该集群2;确定是否要切换回该集群1或继续使用该集群2的
服务,当继续使用该集群2时,停止该集群1的服务。
88.在一可选的实施例中,上述步骤s2022具体可以包括:
89.在两个容器云集群中各部署一个同功能但不同身份的记账节点,形成数据冗余、程序多活的架构模式,其中,该同功能指在该区块链中表现为同时加入相同的通道,在同一通道内,部署安装相同的智能合约;该不同身份指该记账节点在该区块链中身份标识唯一。
90.在一可选的实施例中,上述步骤s2023具体可以包括:通过该区块链网络的记账节点调用api部署该区块链网络的智能合约,其中,该区块链网络的智能合约默认与对应的记账节点部署在同一个主机上;通过该区块链网络的记账节点发起该区块链网络的智能合约的容器启动过程,具体的,通过该记账节点发起的停止命令停止原来的智能合约容器;通过该记账节点发起启动新的智能合约容器命令,以启动该新的智能合约容器创建并运行该新的智能合约容器。
91.进一步的,若智能合约镜像不存在,编译智能合约代码;通过该记账节点发起创建镜像命令,生成智能合约的镜像,镜像生成之后,通过该记账节点发起启动该新的智能合约容器命令,以启动该新的智能合约容器创建并运行该新的智能合约容器。
92.本发明实施例同时满足区块链的技术约束与金融行业对于科技服务的可用性、扩展性、故障隔离等方面的融合需求,提出基于容器云平台的区块链网络部署,在区块链系统的架构设计中,共识节点采用奇数冗余部署模式,记账节点采用多活部署模式,智能合约采用分离部署模式,同时客户节点加入模式支持全节点模式、轻节点模式和托管模式。图6是根据本发明实施例的基于容器云平台的区块链网络部署的示意图,如图6所示,包括:
93.客户接入模式:全节点接入、轻节点接入、托管模式接入
94.搭建联盟链网络和联盟的治理都需要投入硬件和软件的成本,在业务需求、成本投入、联盟治理三者之间寻求平衡,基于分类分级原则,按客户类型、安全防护等级,区块链即服务(blockchain as a service,简称为baas)平台提供了灵活的联盟组网方式。联盟成员可以选择全节点、轻节点、托管模式等多种方式加入联盟链网络,根据业务需要使用网络、访问资源,充分考虑经济效益控制成本,以此保证联盟链承载业务的健康发展。
95.全节点接入,如图3所示,接入区块链网络时,同时部署共识节点和记账节点,参与网络的记账与共识,是网络的创建者和联盟的治理者;
96.轻节点接入,如图4所示,接入区块链网络时,仅部署记账节点,不参与网络的共识,仅负责记账,加强去中心化特性;
97.托管模式接入,如图5所示,接入区块链网络时,不部署任何共识或记账节点,通过容器云平台内的节点获取网络服务。
98.高可用部署实现:共识节点3+3部署、记账节点多活部署、智能合约分离部署
99.在容器云平台上进行区块链网络创建,包括k8s集群创建、共识节点与记账节点的部署、公共链的创建、通道创建、智能合约部署;其中,共识节点采用奇数冗余部署模式,记账节点采用多活部署模式,智能合约采用分离部署模式。
100.共识节点采用奇数冗余部署:共识服务作为区块链网络中的重要组件,需要当有共识节点故障掉线时仍然可以正常运行。可以正常运行的前提是有大多数共识节点存活,也就是要保证1/2以上的节点正常运行,所以共识节点需要以奇数个进行部署,且最小数量为3;并且为避免单点故障导致区块链网络瘫痪的出现,需要进行冗余部署。因此采用了共
识节点奇数冗余部署的模式,具体为:将共识节点部署在两个k8s集群内,每个集群内共识节点的数量为n,n为大于等于3的奇数;且两组节点的配置完全一致,互为备份,两组节点指向同一个高可用集群存储地址;同时,只启动运行任意一边集群内的n个节点,另一个集群的节点以冷备的方式待命;当集群1出现故障又不能及时恢复,此时评估后启动集群2中的n个节点,继续为区块链网络提供共识服务,直到集群1恢复时,确定是否要切换回原集群或是继续使用集群2的服务,当继续使用集群2时,需停止集群1的服务。
101.记账节点采用多活部署:通过在两个容器云集群中各部署一个同功能不同身份的记账节点的方式,实现数据冗余、程序多活的架构模式:
102.同功能指两个记账节点所具有的功能是一致的,在区块链中表现为同时加入相同的通道,在同一通道内,部署安装相同的智能合约;
103.不同身份指记账节点在区块链中天然具有独一无二身份的特性,既包括身份证书的不同,也体现在两个节点的访问地址、访问端口信息的差异;
104.数据冗余指记账节点具有相同的功能,即从共识节点同步到的区块数据及两个记账节点的账本数据也是一致的;
105.程序多活指两个记账节点在容器云平台双活模式下,同时提供服务,提升了系统的高可用和稳定性。
106.智能合约分离部署:智能合约由记账节点通过调用docker api来安装,智能合约与对应的记账节点部署在不同主机之上,智能合约的容器启动过程由记账节点发起,主要步骤分为3步:
107.a、先发一个停止命令,不管原先是否存在,停止原来的智能合约容器;
108.b、试图创建智能合约容器,如果失败原因是智能合约镜像不存在(说明是第一个创建),构建镜像后重新创建容器:编译智能合约代码;发起创建镜像命令,生成智能合约的镜像;发起重新创建智能合约容器的命令。
109.c、发起启动智能合约容器命令,以启动智能合约容器创建并运行智能合约容器。
110.所有的记账节点均通过容器云平台安装部署,同时再由容器云平台调用底层k8s api server管理记账节点的容器,而记账节点容器调用docker api安装智能合约,在部署记账节点时,更新创建记账节点服务所属k8s的statefulset.yaml文件,修改环境变量如表1所示。
111.表1
[0112][0113]
重新启动记账节点服务使之生效,当用户提交提案时,记账节点会根据配置好的远程docker api服务地址,发送请求来完成用户的提案交易。
[0114]
根据本发明的另一个实施例,还提供了一种联盟链网络建立装置,应用于容器云平台,图7是根据本发明实施例的联盟链网络建立装置的框图,如图7所示,包括:
[0115]
创建模块72,用于创建区块链网络,至少包括:部署共识节点、记账节点以及智能
合约;
[0116]
建立模块74,用于通过多种联盟接入方式与联盟成员建立联盟链网络,其中,该多种联盟接入方式至少包括:全节点接入、轻节点接入、托管模式接入。
[0117]
可选地,该创建模块72包括:
[0118]
第一部署子模块,用于采用奇数冗余部署该区块链网络的共识节点;
[0119]
第二部署子模块,用于采用多活方式部署该区块链网络的记账节点;
[0120]
第三部署子模块,用于采用分离方式部署该区块链网络的智能合约。
[0121]
可选地,该第一部署子模块,还用于:
[0122]
将该区块链网络的共识节点部署在两个k8s集群内,每个k8s集群内包括n个共识节点,n为大于或等于3的奇数;
[0123]
启动运行该两个k8s集群内任意一个k8s集群内的n个共识节点,另一个k8s集群的n个共识节点以冷备的方式处于待命状态,该两个k8s集群内两组共识节点的配置完全一致,互为备份,该两组共识节点指向同一个高可用k8s集群存储地址。
[0124]
可选地,该装置还包括:
[0125]
备份模块,用于当运行中的集群1出现故障且不能及时恢复,启动集群2中的n个共识节点,通过该集群2的n个共识节点继续为该区块链网络提供共识服务,直到该集群1恢复,其中,该两个k8s集群为该集群1与该集群2;
[0126]
确定模块,用于确定是否要切换回该集群1或继续使用该集群2的服务,当继续使用该集群2时,停止该集群1的服务。
[0127]
可选地,该第二部署子模块,还用于:
[0128]
在两个容器云集群中各部署一个同功能但不同身份的记账节点,形成数据冗余、程序多活的架构模式,其中,该同功能指在该区块链中表现为同时加入相同的通道,在同一通道内,部署安装相同的智能合约;该不同身份指该记账节点在该区块链中身份标识唯一。
[0129]
可选地,该第三部署子模块包括:
[0130]
部署单元,用于通过该区块链网络的记账节点调用api部署该区块链网络的智能合约,其中,该区块链网络的智能合约默认与对应的记账节点部署在同一个主机上;
[0131]
发起单元,用于通过该区块链网络的记账节点发起该区块链网络的智能合约的容器启动过程。
[0132]
可选地,该发起单元,还用于:
[0133]
通过该记账节点发起的停止命令停止原来的智能合约容器;
[0134]
通过该记账节点发起启动新的智能合约容器命令,以启动该新的智能合约容器创建并运行该新的智能合约容器。
[0135]
可选地,该装置还包括:
[0136]
编译模块,用于若智能合约镜像不存在,编译智能合约代码;
[0137]
生成模块,用于通过该记账节点发起创建镜像命令,生成智能合约的镜像。
[0138]
可选地,该全节点接入指的是联盟成员接入该区块链网络时同时部署共识节点与记账节点,通过部署的共识节点连接该区块链网络的共识节点,其中,部署的记账节点与该部署的共识节点连接;
[0139]
该轻节点接入指的是联盟成员接入该区块链网络时仅部署记账节点,通过部署的
记账节点连接该区块链网络的共识节点;
[0140]
该托管模式接入指的是联盟成员接入该区块链网络时不部署任何该共识节点或该记账节点,通过网关连接该区块链网络的记账节点。
[0141]
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
[0142]
本发明的实施例还提供了一种计算机可读的存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
[0143]
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
[0144]
s1,创建区块链网络,至少包括:部署共识节点、记账节点以及智能合约;
[0145]
s2,通过多种联盟接入方式与联盟成员建立联盟链网络,其中,该多种联盟接入方式至少包括:全节点接入、轻节点接入、托管模式接入。
[0146]
可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-only memory,简称为rom)、随机存取存储器(random access memory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
[0147]
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
[0148]
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
[0149]
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
[0150]
s1,创建区块链网络,至少包括:部署共识节点、记账节点以及智能合约;
[0151]
s2,通过多种联盟接入方式与联盟成员建立联盟链网络,其中,该多种联盟接入方式至少包括:全节点接入、轻节点接入、托管模式接入。
[0152]
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
[0153]
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0154]
以上该仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术特征:
1.一种联盟链网络建立方法,应用于容器云平台,其特征在于,包括:创建区块链网络,至少包括:部署共识节点、记账节点以及智能合约;通过多种联盟接入方式与联盟成员建立联盟链网络,其中,所述多种联盟接入方式至少包括:全节点接入、轻节点接入、托管模式接入。2.根据权利要求1所述的方法,其特征在于,创建区块链网络至少包括:采用奇数冗余部署所述区块链网络的共识节点;采用多活方式部署所述区块链网络的记账节点;采用分离方式部署所述区块链网络的智能合约。3.根据权利要求2所述的方法,其特征在于,采用奇数冗余部署所述区块链网络的共识节点包括:将所述区块链网络的共识节点部署在两个k8s集群内,每个k8s集群内包括n个共识节点,n为大于或等于3的奇数;启动运行所述两个k8s集群内任意一个k8s集群内的n个共识节点,另一个k8s集群的n个共识节点以冷备的方式处于待命状态,所述两个k8s集群内两组共识节点的配置完全一致,互为备份,所述两组共识节点指向同一个高可用k8s集群存储地址。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:当运行中的集群1出现故障且不能及时恢复,启动集群2中的n个共识节点,通过所述集群2的n个共识节点继续为所述区块链网络提供共识服务,直到所述集群1恢复,其中,所述两个k8s集群为所述集群1与所述集群2;确定是否要切换回所述集群1或继续使用所述集群2的服务,当继续使用所述集群2时,停止所述集群1的服务。5.根据权利要求2所述的方法,其特征在于,采用多活方式部署所述区块链网络的记账节点包括:在两个容器云集群中各部署一个同功能但不同身份的记账节点,形成数据冗余、程序多活的架构模式,其中,所述同功能指在所述区块链中表现为同时加入相同的通道,在同一通道内,部署安装相同的智能合约;所述不同身份指所述记账节点在所述区块链中身份标识唯一。6.根据权利要求2所述的方法,其特征在于,采用分离方式部署所述区块链网络的智能合约包括:通过所述区块链网络的记账节点调用应用程序接口api部署所述区块链网络的智能合约,其中,所述区块链网络的智能合约与对应的记账节点部署在不同主机上;通过所述区块链网络的记账节点发起所述区块链网络的智能合约的容器启动过程。7.根据权利要求6所述的方法,其特征在于,通过所述区块链网络的记账节点发起所述区块链网络的智能合约的容器启动过程包括:通过所述记账节点发起的停止命令停止原来的智能合约容器;通过所述记账节点发起启动新的智能合约容器命令,以启动所述新的智能合约容器创建并运行所述新的智能合约容器。8.根据权利要求7所述的方法,其特征在于,在通过所述记账节点发起启动所述新的智能合约容器命令,以启动所述新的智能合约容器创建并运行所述新的智能合约容器之前,
所述方法还包括:若智能合约镜像不存在,编译智能合约代码;通过所述记账节点发起创建镜像命令,生成智能合约的镜像。9.根据权利要求1至8中任一项所述的方法,其特征在于,所述全节点接入指的是所述联盟成员接入所述区块链网络时同时部署共识节点与记账节点,通过部署的共识节点连接所述区块链网络的共识节点,其中,部署的记账节点与所述部署的共识节点连接;所述轻节点接入指的是所述联盟成员接入所述区块链网络时仅部署记账节点,通过部署的记账节点连接所述区块链网络的共识节点;所述托管模式接入指的是所述联盟成员接入所述区块链网络时不部署任何所述共识节点或所述记账节点,通过网关连接所述区块链网络的记账节点。10.一种联盟链网络建立装置,应用于容器云平台,其特征在于,包括:创建模块,用于创建区块链网络,至少包括:部署共识节点、记账节点以及智能合约;建立模块,用于通过多种联盟接入方式与联盟成员建立联盟链网络,其中,所述多种联盟接入方式至少包括:全节点接入、轻节点接入、托管模式接入。11.一种计算机可读的存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至9任一项中所述的方法。12.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至9中任一项所述的方法。

技术总结
本发明提供了一种联盟链网络建立方法及装置,其中,该方法包括:创建区块链网络,至少包括:部署共识节点、记账节点以及智能合约;通过多种联盟接入方式与联盟成员建立联盟链网络,其中,所述多种联盟接入方式至少包括:全节点接入、轻节点接入、托管模式接入,多种联盟接入模式可根据客户的不同需求提供灵活的部署方案,业务兼容性、可扩展性强,可化解当前区块链联盟链业务拓展难的问题;同时,通过对部分节点多活部署,避免节点故障导致服务不可用,增强系统可用性。增强系统可用性。增强系统可用性。


技术研发人员:张磊 史晨阳 裴亚民 姜浩 张晓萌 郭艺峰 刘龙柱 程国磊
受保护的技术使用者:中国光大银行股份有限公司
技术研发日:2023.06.12
技术公布日:2023/8/6
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐