CN112073247B - 区块链网络部署方法、装置、计算机系统和介质 - Google Patents

区块链网络部署方法、装置、计算机系统和介质 Download PDF

Info

Publication number
CN112073247B
CN112073247B CN202010951782.2A CN202010951782A CN112073247B CN 112073247 B CN112073247 B CN 112073247B CN 202010951782 A CN202010951782 A CN 202010951782A CN 112073247 B CN112073247 B CN 112073247B
Authority
CN
China
Prior art keywords
node
services
service
module
block chain
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
Application number
CN202010951782.2A
Other languages
English (en)
Other versions
CN112073247A (zh
Inventor
李鹏飞
杨毅
张紫薇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industrial and Commercial Bank of China Ltd ICBC
ICBC Technology Co Ltd
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
ICBC Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Industrial and Commercial Bank of China Ltd ICBC, ICBC Technology Co Ltd filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202010951782.2A priority Critical patent/CN112073247B/zh
Publication of CN112073247A publication Critical patent/CN112073247A/zh
Application granted granted Critical
Publication of CN112073247B publication Critical patent/CN112073247B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0876Aspects of the degree of configuration automation
    • H04L41/0886Fully automatic configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0889Techniques to speed-up the configuration process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Abstract

本公开提供了一种区块链网络部署方法,属于区块链技术领域。该方法包括:响应于预定指令,创建M个节点信息,M为大于1的整数;启动针对M个节点信息的M个节点服务,以使上述M个节点服务之间进行组网;周期性地获取上述M个节点服务的运行状态和组网状态,并将上述运行状态和组网状态发送至客户端;以及,在上述运行状态和组网状态达到稳定时,确定由上述M个节点服务构成的区块链网络部署完成。本公开还提供了一种区块链网络部署装置、计算机系统和介质。

Description

区块链网络部署方法、装置、计算机系统和介质
技术领域
本公开涉及区块链技术领域,更具体地,涉及一种区块链网络部署方法、区块链网络部署装置、计算机系统和介质。
背景技术
随着区块链技术越来越成熟,国内外企业都在争相进行区块链网络的研究与落地。而区块链网络本身的核心概念就是一套去中心化的分布式数据库,当前在国内更多的场景是针对联盟链进行的。就联盟链而言其目前最主要的职能就是进行不同机构间的数据共享。
区块链的去中心化网络体系与传统的中心化网络体系截然不同的一点就是区块链的各个节点实际是分布在各个互不从属的机构之间。每个机构都需要在自己公司内部搭建好一套本地节点网络之后进行繁琐调试,然后再与运行中的区块链网络进行证书准入等一系列调试。这一过程导致了这类部署体系的繁杂与琐碎,通常每一次的节点部署与调试都需要耗费运维人员的大量时间,尤其当节点出现异常情况时也需要运维人员排查和重启节点服务。
发明内容
本公开的一个方面提供了一种区块链网络部署方法,包括:响应于预定指令,创建M个节点信息,M为大于1的整数;启动针对M个节点信息的M个节点服务,以使上述M个节点服务之间进行组网;周期性地获取上述M个节点服务的运行状态和组网状态,并将上述运行状态和组网状态发送至客户端;以及,在上述运行状态和组网状态达到稳定时,确定由上述M个节点服务构成的区块链网络部署完成。
可选地,上述方法还包括:在创建M个节点信息之前,获取区块链网络的根证书;以及,基于该根证书,生成上述M个节点服务各自的证书。
可选地,上述获取区块链网络的根证书包括:接收来自客户端的根证书;或者,在未接收到来自客户端的根证书的情况下,生成根证书。
可选地,上述创建多个节点信息包括:针对所述M个节点服务中的第i个节点服务,创建针对所述第i个节点服务的文件目录系统,以作为第i个节点服务的节点信息,文件目录系统用于存储第i个节点服务的数据、证书以及配置文件。i为大于等于1且小于等于M的整数。
可选地,上述方法还包括:在上述启动针对M个节点信息的M个节点服务之前,生成容器服务配置信息。上述启动针对M个节点信息的M个节点服务包括:将容器服务配置信息传入容器集群管理工具的部署接口,以使容器集群管理工具创建针对M个节点信息的M个节点容器服务。
可选地,上述容器服务配置信息包括如下至少一项:节点证书的挂载目录、通道文件的挂载目录、节点数据存储的挂载目录、可信证书的挂载目录配置、以及节点运行服务所需的环境变量参数。
可选地,上述方法还包括:当确定运行状态在预定时段内保持不变且组网状态在所述预定时段内保持不变时,确定上述运行状态和组网状态达到稳定。
本公开的另一方面提供了一种区块链网络部署装置,包括:创建模块、启动模块、监测模块和确定模块。创建模块用于响应于预定指令,创建M个节点信息,M为大于1的整数。启动模块用于启动针对M个节点信息的M个节点服务,以使上述M个节点服务之间进行组网。监测模块用于周期性地获取上述M个节点服务的运行状态和组网状态,并将上述运行状态和所述组网状态发送至客户端。确定模块用于在上述运行状态和组网状态达到稳定时,确定由上述M个节点服务构成的区块链网络部署完成。
本公开的另一方面提供了一种计算机系统,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
根据本公开实施例的区块链网络部署方案,实现了区块链网络的自动化部署和组网过程,减少运营人员的手动参与,只需发出预定指令。部署于容器中的一键组网装置响应于该预定指令进行节点的创建和启动,并调用区块链系统底层功能进行节点之间的组网,从而实现区块链网络的快速部署。该过程适用于各种区块链部署场景,对计算机系统和运维人员的要求低,部署效率高。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了根据本公开实施例的区块链网络部署方法、装置和计算机系统的应用场景;
图2示意性示出了根据本公开实施例的区块链网络部署方法的流程图;
图3示意性示出了根据本公开实施例的区块链网络部署过程的示例流程图;
图4示意性示出了根据本公开实施例的一键组网装置的交互界面的示例示意图;
图5示意性示出了根据本公开另一实施例的一键组网装置的交互界面的示例示意图;
图6示意性示出了根据本公开实施例的区块链网络部署装置的框图;以及
图7示意性示出了根据本公开实施例的适用于区块链网络部署方法的计算机系统的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
本公开的实施例提供了一种区块链网络部署方法和区块链网络部署装置,可以应用于区块链网络的创建方。该方法可以包括创建过程、启动过程、监测过程和确定过程。在创建过程中,响应于预定指令,创建M个节点信息,该M个节点信息用于表征待部署的区块链网络中的M个区块链节点,M为大于1的整数。在启动过程中,启动针对M个节点信息的M个节点服务,以使上述M个节点服务之间进行组网。在监测过程中,周期性地获取上述M个节点服务的运行状态和组网状态,并将上述运行状态和组网状态发送至客户端以向用户进行展示。在上述运行状态和组网状态达到稳定时,实现确定过程,即确定由上述M个节点服务构成的区块链网络部署完成。
图1示意性示出了根据本公开实施例的区块链网络部署方法、装置和计算机系统的应用场景。需要注意的是,图1所示仅为可以应用本公开实施例的场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,该应用场景示出了区块链网络(Blockchain Network)100,该区块链网络100可以包括节点(node)101~106,节点101~106共同维护区块链(blockchain)110。
节点101~106可以是具有相同或不同计算能力的各种计算节点,例如可以是个人计算机、网络服务器、数据库服务器、智能手机等等,在此不做限定。节点101~106中任意两个节点之间都可进行点对点通信。区块链系统可以部署于各节点中,以使各节点按照一定规则执行区块链网络中的各项事务和操作。
区块链110是通过散列指针按时间顺序链接的区块(block)的分布式数据库。区块链的区块是按照时间顺序加入的,当满足预定条件时,区块链网络中的各节点允许当前节点创建区块并将该区块加入到区块链中,加入的区块作为该区块链上当前最新区块。在某一特定时刻,维护同一区块链的节点从区块链上获取的当前最新区块是相同的。
区块链技术,其目标是实现数据的分布式可靠存储。区块链具体实现时,数据在网络内多节点(即区块链节点)上采用增量式存储,通过安全散列算法(Secure HashAlgorithm,SHA)确保了入链数据的不可篡改,并且通过共识算法和网络传输协议实现了数据在各区块链节点上存储的一致性。区块链一般可以分为公有链(Public Blockchain)和许可链(Permissioned Blockchain),其中许可链又可以根据数据维护方是否为单一个体(entity)分成联盟链(Consortium Blockchain)和私有链(Private Blockchain)。
应该理解,图1中的区块链网络的规模和类型、节点的数量、区块链的长度、区块的数量等仅仅是示意性的。根据实际需要,可以具有任意规模和类型的区块链网络、任意数量的节点、任意长度的区块链、任意数量的区块等,在此不做限制。
根据本公开实施例的区块链网络部署方法和装置例如可以用于部署图1所示的区块链网络。
随着区块链技术越来越成熟,国内外企业都在争相进行区块链网络的研究与落地。而区块链网络本身的核心概念就是一套去中心化的分布式数据库,当前在国内更多的场景是针对联盟链进行的。就联盟链而言其目前最主要的职能就是进行不同机构间的数据共享。
区块链的去中心化网络体系与传统的中心化网络体系截然不同的一点就是区块链的各个节点实际是分布在各个互不从属的机构之间。每个机构都需要在自己公司内部搭建好一套本地节点网络之后进行繁琐调试,然后再与运行中的区块链网络进行证书准入等一系列调试。这一过程导致了这类部署体系的繁杂与琐碎,通常每一次的节点部署与调试都需要耗费运维人员的大量时间,尤其当节点出现异常情况时也需要运维人员排查和重启节点服务。
例如,运维人员每次部署节点时都需要配置好相关的配置文件,进行较为繁琐的文件设置,之后执行写好的一系列脚本文件,以进行替换证书、生成证书等操作。搭建好区块链网络之后再通过提前写好的shell脚本(或其他可执行程序文件)调用请求来一一验证区块链网络的可用性。该区块链网络部署过程需要运维人员花费大量时间来不断调试搭建好的区块链网络以及排查各类相关问题,操作繁琐、容易出错,在需要频繁部署区块链网络节点的情况下,不断重复上述过程。即便在单次部署过程中也需要重复解决各类已解决过的相似问题,从而导致区块链网络的部署效率极其低下。
根据本公开的实施例,提供了一种区块链网络部署方法,以实现自动化部署区块链网络,并进一步提高部署效率。下面结合附图进行示例性说明。应注意,以下方法中各个操作的序号仅作为该操作的表示以便描述,而不应被看作表示该各个操作的执行顺序。除非明确指出,否则该方法不需要完全按照所示顺序来执行。
图2示意性示出了根据本公开实施例的区块链网络部署方法的流程图,用于示例性地展示区块链网络的创建方创建区块链网络的过程。
如图2所示,该区块链网络部署方法可以包括操作S210~S240。
在操作S210,响应于预定指令,创建M个节点信息。其中,M为大于1的整数。
示例性地,根据本公开实施例的区块链网络部署方法应用于计算机系统,该计算机系统的操作系统中部署有容器(Container),容器中可以运行应用或模块。本例通过调用运行在容器中的模块(例如可称为“一键组网装置”)来执行区块链网络部署方法。本操作S210响应于预定指令,该预定指令用于触发调用一键组网装置开始运行。预定指令可以是各种形式的指令,例如,当运维人员触发预定控件(如点击某个按键),产生预定指令。进而可以通过简明扼要的基础配置来完成区块链节点服务的自动化创建和组网。基于预定指令,创建针对M个区块链节点的节点信息,节点信息包括用于启动区块链节点服务的基础信息。
在操作S220,启动针对M个节点信息的M个节点服务,以使上述M个节点服务之间进行组网。
示例性地,在所创建的针对M个区块链节点的节点信息的基础上,可以启动针对M个区块链节点的节点服务(Service),同时意味着启动初始化组网过程,调用底层区块链系统(例如Hyperledger(超级账本)的Fabric系统)来进行节点服务之间的组网过程,例如验证各个节点的整数是否都生成、配置地址是否正确、节点之间的连接通路是否建立等。
在操作S230,周期性地获取上述M个节点服务的运行状态和组网状态,并将上述运行状态和组网状态发送至客户端。
示例性地,在M个节点服务运行的过程中,可以定期异步地获取该M个节点服务的运行状态和组网状态,并在客户端进行展示,从而使得运维人员可以随时获知当前区块链网络的部署情况。例如,运行状态用于表征各节点的运行阶段和具体运行情况,组网状态用于表征各节点之间的连接情况。基于上述运行状态和组网状态可以发现节点服务的运行异常和/或连接异常。客户端可以包括计算机系统与运维人员的交互终端,例如以交互页面的形式展示给运维人员。
在操作S240,在上述运行状态和组网状态达到稳定时,确定由上述M个节点服务构成的区块链网络部署完成。
示例性地,如果预定时段内各节点服务的运行状态和组网状态均不发生变化,例如,当确定各节点服务的运行状态在预定时段内保持不变、且各节点服务的组网状态在预定时段内保持不变时,则可以确定上述运行状态和组网状态达到稳定。
本领域技术人员可以理解,根据本公开实施例的区块链网络部署方法实现了区块链网络的自动化部署和组网过程,减少运营人员的手动参与,只需发出预定指令。部署于容器中的一键组网装置响应于该预定指令进行节点的创建和启动,并调用区块链系统底层功能进行节点之间的组网,从而实现区块链网络的快速部署。该过程适用于各种区块链部署场景,对计算机系统和运维人员的要求低,部署效率高。
根据本公开的实施例,在部署区块链网络时,需要获得各个区块链节点的区块链认证授权(Certification Authority,CA)证书以保证区块链网络通信过程的安全性。示例性地,在上述创建M个节点信息之前,获取区块链网络的根证书。然后,基于该根证书,生成上述M个节点服务各自的证书。
其中,区块链网络的根证书可以由运维人员指定,也可以由计算机系统生成。示例性地,上述获取区块链网络的根证书的过程可以包括:接收来自客户端的根证书,或者,在未接收到来自客户端的根证书的情况下,生成根证书。
根据本公开的实施例,上述创建多个节点信息包括:针对M个节点服务中的第i个节点服务,创建针对该第i个节点服务的文件目录系统,以作为第i个节点服务的节点信息,文件目录系统用于存储第i个节点服务的数据、证书以及配置文件。其中,i为大于等于1且小于等于M的整数。
根据本公开的实施例,节点服务部署于容器中,上述启动各个节点服务的过程可以为启动M个容器,以由该M个容器分别运行M个节点服务。该种情况下,该M个节点服务也可被称为M个节点容器服务。示例性地,在上述启动针对M个节点信息的M个节点服务之前,生成容器服务配置信息。在进行节点服务的启动时,将容器服务配置信息传入容器集群管理工具(例如Docker swarm)的部署接口,以使容器集群管理工具创建针对M个节点信息的M个节点容器服务。
下面参考图3~图5,结合具体例子对根据本公开实施例的区块链网络部署方法进行示例性说明。
图3示意性示出了根据本公开实施例的区块链网络部署过程的示例流程图。
如图3所示,该区块链网络部署过程应用于计算机系统,计算机系统包括操作系统(例如Linux系统)。操作系统中部署有一键组网装置和容器服务(例如Docker)。
在操作S301,响应于预定指令,开始区块链网络部署过程。示例性地,可以首先基于运维人员的输入创建待部署的区块链网络的基本单元,该单元主要用于承载区块链的可识别名称,用于作为节点容器服务启动的基本依据。
在操作S302,一键组网装置接收来自运维人员的选择输入,该选择输入表征运维人员选择上传自定义证书或者选择由系统自动生成证书。
大多数情况下,部署区块链网络的机构对区块链网络的证书没有过多要求,此时可以由一键组网装置直接创建当前区块链网络所需的TLS(Transport Layer Security,传输层安全)证书体系(Public Key Infrastructure,PKI),由此组成该区块链网络所需的由系统自动生成的证书体系。
除此之外,在一些情况下,每一个需要部署区块链网络服务的机构通常会有各自的TLS证书要求,则此时运维人员可以通过一键组网装置上传机构所指定的证书,由此组成自定义的证书体系。
在操作S303,一键组网装置根据运维人员的选择输入,确定是否需要计算机系统生成证书体系。如果是,则执行操作S304,生成一套完整的证书体系,再继续执行操作S305。如果否,则直接执行操作S305。
示例性地,一键组网装置在接收到预定指令后,首先查看是否发生运维人员上传自定义TLS证书的事件。若未上传,则该装置先自动生成组成该区块链网络所需的证书体系。若已上传,则可以直接使用运维人员上传的证书作为该区块链网络所需的证书体系。例如,运维人员上传的证书体系或者装置生成的证书体系为根证书,基于根证书可以签发生成针对各个区块链节点的证书。根据实际情况,不同区块链节点的证书可以相同或不同,在此不做限制。
在操作S305,在操作系统中创建各个节点所需的文件目录系统。
示例性地,在创建完TLS证书体系相关基本单元后开始创建节点信息。节点信息例如可以包括各节点服务的节点名称和文件目录系统。例如,一键组网装置将会根据实际待部署的区块链网络所需而创建例如4个或者其他数量的共识节点,区块链网络中每一个节点都需要对应各自的相关文件的目录结构以便于存储区块链网络中的相关数据、证书以及配置文件等,而本装置生成的节点信息主要按照区块链网络所需的文件目录来创建,可称为文件目录系统。此外,创建的节点名称可以使用当前区块链网络的名称作为前缀,使用通用节点名称来组合。例如区块链网络名称为“icbctech”,节点名称例如可以为icbctech_vp0、icbctech_vp1、icbctech_vp2、等依次类推,目的是为了让节点服务可以在DockerSwarm集群下唯一。
在操作S306,生成容器服务配置信息。
示例性地,本装置可以采用Docker作为容器系统来承载区块链节点的服务运行,在上述操作S305完成之后本装置将自动为运维人员配置好运行Docker Swarm集群所需的Service相关配置信息。例如可以包括:节点证书的挂载目录、通道文件的挂载目录、节点数据存储的挂载目录、可信证书的挂载目录配置、节点运行服务所需的环境变量参数等。
在操作S307,传入容器服务启动所需参数配置信息。
在操作S308,启动节点服务并监控节点服务的运行状态和组网状态。
在操作S309,根据节点服务的运行状态和组网状态来进行相关处理。
在操作S310,展示运行状态和组网状态。
在操作S311,结束。
示例性地,一键组网装置将调用Docker Swarm集群所提供的部署接口,将自动生成的配置信息传入部署接口,以使Docker接受到调用请求并开始启动与所创建的所有节点信息相对应的节点容器服务。
在节点服务运行过程中,一键组网装置将异步获取节点服务相关运行状态以及区块链网络的组网状态,并显示在本装置的交互页面上,可以清晰地让运维人员得知当前区块链网络的各个服务运行状态以及区块链网络节点是否互通。
图4示意性示出了根据本公开实施例的一键组网装置的交互界面的示例示意图,图5示意性示出了根据本公开另一实施例的一键组网装置的交互界面的示例示意图。
如图4所示,展示了所部署的两个区块链网络的缩略信息,包括区块链网络的全局唯一名称(本例中分别为“lpf001”和“lpf002”)、时间信息、节点数、区块数和交易数。
在节点服务运行过程中,一键组网装置将异步获取节点服务相关运行状态以及区块链网络的组网状态,并展示在如图5所示的交互页面上。在图5所示的例子中,展示了所部署的区块链网络“lpf002”中各个节点的节点名称、节点英文名称、节点类型、节点状态、节点运行状态、组网状态、创建时间等信息,以供运维人员能够及时得知所部属的区块链网络的当前状态。
可以理解,根据本公开实施例的区块链网络部署方法,可以进行节点的快速创建以及组网。如果按照传统运维人员操作手动部署节点和证书的方式来进行区块链网络的节点组网,通常需要专业的机器熟悉区块链网络的运维人员,且整个部署时间可能达到1天甚至数天。而基于本公开提供的区块链网络部署方法进行节点的创建和组网时,操作人员只需要将自定义证书文件进行上传(也可选择系统生成证书),而后点击组网按钮进行组网,无需其他操作,部署于计算机系统中的一键组网装置即可按照执行逻辑创建节点信息、调用容器服务启动节点容器服务并开始进行组网。该操作可以缩短至几分钟,且组网过程中的区块链网络状态可以异步展示给运维人员。上述过程无论对硬件设备还是运维人员都无需较高专业要求,方便快捷,失误率低,适用于各种区块链网络部署场景。
因此本装置不仅大大缩短了区块链网络节点的部署时间,同时还大大降低了区块链网络部署人员的准入门槛,大幅度降低维护成本。
图6示意性示出了根据本公开实施例的区块链网络部署装置的框图。
如图6所示,该区块链网络部署装置600可以包括:创建模块610、启动模块620、监测模块630和确定模块640。
创建模块用于响应于预定指令,创建M个节点信息,M为大于1的整数。
启动模块用于启动针对M个节点信息的M个节点服务,以使上述M个节点服务之间进行组网。
监测模块用于周期性地获取上述M个节点服务的运行状态和组网状态,并将上述运行状态和所述组网状态发送至客户端。
确定模块用于在上述运行状态和组网状态达到稳定时,确定由上述M个节点服务构成的区块链网络部署完成。
需要说明的是,装置部分实施例中各模块/单元/子单元等的实施方式、解决的技术问题、实现的功能、以及达到的技术效果分别与方法部分实施例中各对应的步骤的实施方式、解决的技术问题、实现的功能、以及达到的技术效果相同或类似,在此不再赘述。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,创建模块610、启动模块620、监测模块630和确定模块640中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,创建模块610、启动模块620、监测模块630和确定模块640中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,创建模块610、启动模块620、监测模块630和确定模块640中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图7示意性示出了根据本公开实施例的适于实现上文描述的方法的计算机系统的方框图。图7示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图7所示,根据本公开实施例的计算机系统700包括处理器701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。处理器701例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器701还可以包括用于缓存用途的板载存储器。处理器701可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 703中,存储有系统700操作所需的各种程序和数据。处理器701、ROM 702以及RAM 703通过总线704彼此相连。处理器701通过执行ROM 702和/或RAM 703中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 702和RAM 703以外的一个或多个存储器中。处理器701也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,系统700还可以包括输入/输出(I/O)接口705,输入/输出(I/O)接口705也连接至总线704。系统700还可以包括连接至I/O接口705的以下部件中的一项或多项:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被处理器701执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。

Claims (8)

1.一种区块链网络部署方法,包括:
响应于预定指令,创建M个节点信息,M为大于1的整数;
启动针对M个节点信息的M个节点服务,以使所述M个节点服务之间进行组网;
周期性地获取所述M个节点服务的运行状态和组网状态,并将所述运行状态和所述组网状态发送至客户端;以及
在所述运行状态和所述组网状态达到稳定时,确定由所述M个节点服务构成的区块链网络部署完成,
其中,所述创建多个节点信息包括:
针对所述M个节点服务中的第i个节点服务,创建针对所述第i个节点服务的文件目录系统,以作为所述第i个节点服务的节点信息,所述文件目录系统用于存储所述第i个节点服务的数据、证书以及配置文件,i为大于等于1且小于等于M的整数,
在所述启动针对M个节点信息的M个节点服务之前,生成容器服务配置信息;
所述启动针对M个节点信息的M个节点服务包括:将所述容器服务配置信息传入容器集群管理工具的部署接口,以使所述容器集群管理工具创建针对所述M个节点信息的M个节点容器服务。
2.根据权利要求1所述的方法,还包括:
在创建M个节点信息之前,
获取所述区块链网络的根证书;以及
基于所述根证书,生成所述M个节点服务各自的证书。
3.根据权利要求2所述的方法,其中,所述获取所述区块链网络的根证书包括:
接收来自客户端的根证书;或者
在未接收到来自客户端的根证书的情况下,生成根证书。
4.根据权利要求1所述的方法,其中,所述容器服务配置信息包括如下至少一项:
节点证书的挂载目录、通道文件的挂载目录、节点数据存储的挂载目录、可信证书的挂载目录配置、以及节点运行服务所需的环境变量参数。
5.根据权利要求1所述的方法,还包括:
当确定所述运行状态在预定时段内保持不变且所述组网状态在所述预定时段内保持不变时,确定所述运行状态和所述组网状态达到稳定。
6.一种区块链网络部署装置,包括:
创建模块,用于响应于预定指令,创建M个节点信息,M为大于1的整数;
启动模块,用于启动针对M个节点信息的M个节点服务,以使所述M个节点服务之间进行组网;
监测模块,用于周期性地获取所述M个节点服务的运行状态和组网状态,并将所述运行状态和所述组网状态发送至客户端;以及
确定模块,用于在所述运行状态和所述组网状态达到稳定时,确定由所述M个节点服务构成的区块链网络部署完成,
其中,所述创建模块包括:文件目录系统创建子模块,用于针对所述M个节点服务中的第i个节点服务,创建针对所述第i个节点服务的文件目录系统,以作为所述第i个节点服务的节点信息,所述文件目录系统用于存储所述第i个节点服务的数据、证书以及配置文件,i为大于等于1且小于等于M的整数,
所述区块链网络部署装置还包括:容器服务配置信息生成模块,用于在所述启动针对M个节点信息的M个节点服务之前,生成容器服务配置信息;
所述启动模块包括:启动子模块,用于将所述容器服务配置信息传入容器集群管理工具的部署接口,以使所述容器集群管理工具创建针对所述M个节点信息的M个节点容器服务。
7.一种计算机系统,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时用于实现如权利要求1~5任一项所述的方法。
8.一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如权利要求1~5任一项所述的方法。
CN202010951782.2A 2020-09-10 2020-09-10 区块链网络部署方法、装置、计算机系统和介质 Active CN112073247B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010951782.2A CN112073247B (zh) 2020-09-10 2020-09-10 区块链网络部署方法、装置、计算机系统和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010951782.2A CN112073247B (zh) 2020-09-10 2020-09-10 区块链网络部署方法、装置、计算机系统和介质

Publications (2)

Publication Number Publication Date
CN112073247A CN112073247A (zh) 2020-12-11
CN112073247B true CN112073247B (zh) 2023-03-24

Family

ID=73696424

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010951782.2A Active CN112073247B (zh) 2020-09-10 2020-09-10 区块链网络部署方法、装置、计算机系统和介质

Country Status (1)

Country Link
CN (1) CN112073247B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112732677B (zh) * 2021-01-12 2023-10-13 库珀科技集团有限公司 区块链节点部署方法、装置、设备及存储介质
CN112995169B (zh) * 2021-02-22 2022-12-06 中国工商银行股份有限公司 防火墙部署方法和装置
CN113259458B (zh) * 2021-06-02 2021-11-02 支付宝(杭州)信息技术有限公司 一种启动/关闭区块链节点服务的方法和装置
CN113674126A (zh) * 2021-08-25 2021-11-19 上海卓繁信息技术股份有限公司 一种基于区块链的政务信息处理方法、装置和电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110417896A (zh) * 2019-07-31 2019-11-05 中国工商银行股份有限公司 基于云的区块链动态组网的系统及方法
CN111343004A (zh) * 2020-02-11 2020-06-26 苏宁金融科技(南京)有限公司 基于Docker的Fabric网络远程部署方法、装置和系统
CN111625497A (zh) * 2020-05-22 2020-09-04 柏科数据技术(深圳)股份有限公司 一种分布式文件系统的部署方法、装置、设备及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11507064B2 (en) * 2016-05-09 2022-11-22 Strong Force Iot Portfolio 2016, Llc Methods and systems for industrial internet of things data collection in downstream oil and gas environment
CN108305072B (zh) * 2018-01-04 2021-02-26 上海点融信息科技有限责任公司 部署区块链网络的方法、设备和计算机存储介质
CN109302307B (zh) * 2018-08-16 2021-06-04 泰链(厦门)科技有限公司 网络主机、基于网络主机快速部署区块链节点的方法
CN109040279B (zh) * 2018-08-21 2020-06-23 京东数字科技控股有限公司 区块链网络组网方法、装置、设备及可读存储介质
CN110708383B (zh) * 2019-10-12 2022-06-07 深圳市迅雷网络技术有限公司 区块链节点的网络连接方法及相关设备
CN110933189A (zh) * 2020-02-10 2020-03-27 北京启迪区块链科技发展有限公司 基于Fabric的区块链网络部署方法、装置、设备和介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110417896A (zh) * 2019-07-31 2019-11-05 中国工商银行股份有限公司 基于云的区块链动态组网的系统及方法
CN111343004A (zh) * 2020-02-11 2020-06-26 苏宁金融科技(南京)有限公司 基于Docker的Fabric网络远程部署方法、装置和系统
CN111625497A (zh) * 2020-05-22 2020-09-04 柏科数据技术(深圳)股份有限公司 一种分布式文件系统的部署方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN112073247A (zh) 2020-12-11

Similar Documents

Publication Publication Date Title
CN112073247B (zh) 区块链网络部署方法、装置、计算机系统和介质
CN106844137B (zh) 服务器的监控方法和装置
US20160241446A1 (en) Managing a number of secondary clouds by a master cloud service manager
CN102355500B (zh) 业务推送方法和装置
CN109391673A (zh) 一种管理更新文件的方法、系统及终端设备
JP2010517175A (ja) システム管理ポリシーの認証、配布、及び策定
CN104852971B (zh) 一种插件式协议装置及基于插件式协议的数据通信方法
CN104184756A (zh) 一种数据同步方法、装置及系统
CN111064626B (zh) 配置更新方法、装置、服务器及可读存储介质
CN112732572A (zh) 服务的测试方法、装置及系统、存储介质、电子装置
CN106339273A (zh) 一种应用程序修复方法、终端及服务器
CN115827008A (zh) 一种基于云原生平台Kubernetes的云原生大数据组件管理系统
CN115248692A (zh) 一种支持多种深度学习框架模型云端部署的装置及方法
CN113556359B (zh) 一种通讯协议转换方法、设备、系统及网关设备
CN111435947A (zh) 电子消息控制
CN111901395A (zh) 多集群切换方法及装置
CN111461718A (zh) 区块链节点的接入方法、装置及系统
CN115776461A (zh) 投屏方法、设备及存储介质
CN109375946A (zh) 一种管理节点包管理器的组件包的方法及系统
CN114461501A (zh) 资源的异常检测方法及装置、存储介质、电子装置
CN111026413B (zh) 以需求为导向的复杂系统“拉取”模式部署系统及其方法
CN110445628A (zh) 一种基于nginx的任务控制方法和装置
CN115811441B (zh) 一种k8s云平台上的命名空间创建方法、装置及电子设备
CN115314376B (zh) 集群中网络插件部署方法和装置、电子设备和存储介质
CN115102854B (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20210121

Address after: 100140, 55, Fuxing Avenue, Xicheng District, Beijing

Applicant after: INDUSTRIAL AND COMMERCIAL BANK OF CHINA

Applicant after: ICBC Technology Co.,Ltd.

Address before: 071700 unit 111, 1st floor, building C, enterprise office area, xiong'an Civic Service Center, Rongcheng County, xiong'an District, China (Hebei) pilot Free Trade Zone, Hebei Province

Applicant before: ICBC Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant