CN111343004B - 基于Docker的Fabric网络远程部署方法、装置和系统 - Google Patents
基于Docker的Fabric网络远程部署方法、装置和系统 Download PDFInfo
- Publication number
- CN111343004B CN111343004B CN202010086673.9A CN202010086673A CN111343004B CN 111343004 B CN111343004 B CN 111343004B CN 202010086673 A CN202010086673 A CN 202010086673A CN 111343004 B CN111343004 B CN 111343004B
- Authority
- CN
- China
- Prior art keywords
- node
- deployed
- fabric network
- docker
- configuration
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种基于Docker的Fabric网络远程部署方法、装置和系统,方法包括接收针对待部署节点的Fabric远程部署请求;在根据部署请求,检测到待部署节点开通了Docker远程访问服务和文件共享服务权限时,在待部署节点开启文件共享服务与Docker远程访问服务;根据Fabric网络创建配置信息,通过Docker远程访问服务在待部署节点上创建Fabric网络;根据Fabric网络运行配置信息,通过Docker远程访问服务在待部署节点上运行Fabric网络。简化了远程部署所需要的操作,降低了对待部署节点的开放性要求,提高了部署运维的效率。
Description
技术领域
本发明涉及网络部署技术领域,尤其涉及一种基于Docker的Fabric网络远程部署方法、装置和系统。
背景技术
Hyperledger Fabric(以下简称Fabric)是一个开源的区块链解决方案,通常作为实现由多个机构组成的联盟链的底层平台。如图1所示,一个常见的Fabric网络中通常包括zookeeper集群、kafka集群以及多个组织的orderer节点与peer节点,其中orderer与peer节点所属组织的不同意味着这些节点所属机构用户的不同。当创建这种涉及多个异地机构的Fabric网络或者新的异地机构加入现有Fabric网络时,往往需要部署人员对机构用户进行远程指导或前往该机构所在地进行部署。这也间接导致了跨机构Fabric网络的部署成本高、后期运维不便。
在现有技术中,比较常见的方法是部署人员通过OpenSSL远程登录异地用户主机,直接在用户主机上完成部署操作。然而这种方法需要用户提供用户主机的账户密码或公私钥。出于防止信息泄露以及保护网络安全等因素,许多用户无法将主机的登录信息提供给非机构内部人员,使得这些异地用户的Fabric网络的部署与维护过程变得格外繁琐,且人力成本极高。
发明内容
本发明提供一种基于Docker的Fabric网络远程部署方法、装置和系统,无需提供远程登录用户主机的权限,即可实现远程网络部署,节省部署与维护的人力成本。
本发明公开了一种基于Docker的Fabric网络远程部署方法,所述方法包括:
接收针对待部署节点的Fabric远程部署请求;
在根据所述部署请求,检测到所述待部署节点开通了Docker远程访问服务和文件共享服务权限时,在所述待部署节点开启文件共享服务与Docker远程访问服务;
根据Fabric网络创建配置信息,通过所述Docker远程访问服务在所述待部署节点上创建Fabric网络;
根据Fabric网络运行配置信息,通过Docker远程访问服务在所述待部署节点上运行Fabric网络。
优选的,所述在根据所述部署请求,检测到所述待部署节点开通了Docker远程访问服务和文件共享服务权限时,在所述待部署节点开启文件共享服务与Docker远程访问服务包括:
获取用户输入的所述待部署节点基本配置信息和文件共享服务配置信息;所述的待部署节点基本配置信息包括所述待部署节点的IP地址以及所述待部署节点上Docker守护进程监听的端口;所述文件共享服务配置信息至少包括所述待部署节点的文件共享服务端口;
开启所述待部署节点的Docker远程访问服务,向所述监听的端口发送信息,并根据返回结果判断所述用户主机的Docker远程访问服务是否开启成功;
根据所述文件共享服务端口在所述待部署节点上启动文件共享服务;
向所述文件共享服务端口发送数据操作请求,并根据返回结果判断文件共享服务是否开启成功。
优选的,所述根据Fabric网络创建配置信息,通过所述Docker远程访问服务在所述待部署节点上创建Fabric网络包括:
获取Fabric网络创建配置信息,所述Fabric网络创建配置信息包括组织配置、通道配置、Fabric网络节点配置;
根据组织配置来生成Fabric网络中各节点的组织关系与身份证书,并根据通道配置来生成Fabric网络中系统通道的创世区块、应用通道的配置交易;
根据Fabric网络节点配置在镜像库中查找各节点对应的镜像,并通过Docker远程访问的方式在所述待部署节点上导入所述镜像,并根据Fabric网络节点配置来搭建各个待部署节点的Docker容器;
创建Fabric网络成功后,将该Fabric网络的信息保存至数据库;其中Fabric网络的信息包括各个待部署节点的Docker容器ID、IP地址与服务端口。
优选的,所述根据组织配置来生成Fabric网络中各节点的组织关系与身份证书,并根据通道配置来生成Fabric网络中系统通道的创世区块、应用通道的配置交易包括:
根据Fabric网络节点配置中的Fabric版本信息,在本地节点主机上或者通过Docker远程访问的方式在所述待部署节点上搭建相应版本的Fabric工具Docker容器;
在该Fabric工具Docker容器中根据Fabric网络创建配置生成配置文件。
优选的,所述根据Fabric网络运行配置信息,通过Docker远程访问服务在所述待部署节点上运行Fabric网络包括:
获取Fabric网络运行配置信息;其中,网络运行配置信息包括指令及指令配置信息;所述指令配置信息包括指令的执行顺序、执行指令的orderer节点与peer节点;
通过Docker远程访问的方式,在指令配置信息中指定的peer节点的Docker容器上,按照指令的执行顺序来依次执行Fabric网络运行配置中的各个指令。
优选的,所述通过Docker远程访问的方式,在指令配置信息中指定的peer节点的Docker容器上,按照指令的执行顺序来依次执行Fabric网络运行配置中的各个指令包括:
在创建通道指令中,通过指定的peer节点将向指定的orderer节点发起创建应用通道初始区块的请求;
在加入通道指令中,通过指定的peer节点加入配置指定的应用通道;
在安装合约指令中,通过指定的peer节点安装配置指定的智能合约;
在实例化合约指令中,通过指定的peer节点将向指定的orderer节点发起实例化智能合约的请求;
在执行合约指令中,通过指定的peer节点将向指定的orderer节点发起执行智能合约中的函数调用请求。
本发明还提供一种基于Docker的Fabric网络远程部署装置,所述装置包括:
请求接收单元,用于接收针对待部署节点的Fabric远程部署请求;
服务开启单元,用于在根据所述部署请求,检测到所述待部署节点开通了Docker远程访问服务和文件共享服务权限时,在所述待部署节点开启文件共享服务与Docker远程访问服务;
网络创建单元,用于根据Fabric网络创建配置信息,通过所述Docker远程访问服务在所述待部署节点上创建Fabric网络;
网络运行单元,用于根据Fabric网络运行配置信息,通过Docker远程访问服务在所述待部署节点上运行Fabric网络。
优选的,所述服务开启单元包括:
信息获取单元,用于获取用户输入的所述待部署节点基本配置信息和文件共享服务配置信息;所述的待部署节点基本配置信息包括所述待部署节点的IP地址以及所述待部署节点上Docker守护进程监听的端口;所述文件共享服务配置信息至少包括所述待部署节点的文件共享服务端口;
Docker远程访问服务开启单元,用于开启所述待部署节点的Docker远程访问服务,向所述监听的端口发送信息,并根据返回结果判断所述用户主机的Docker远程访问服务是否开启成功;
文件共享服务开启单元,用于根据所述文件共享服务端口在所述待部署节点上启动文件共享服务;
判断单元,用于向所述文件共享服务端口发送数据操作请求,并根据返回结果判断文件共享服务是否开启成功。
优选的,所述网络创建单元,包括:
网络创建配置信息获取单元,用于获取Fabric网络创建配置信息,所述Fabric网络创建配置信息包括组织配置、通道配置、Fabric网络节点配置;
根据组织配置来生成Fabric网络中各节点的组织关系与身份证书;根据通道配置来生成Fabric网络中系统通道的创世区块、应用通道的配置交易;
Docker容器搭建单元,用于根据Fabric网络节点配置在镜像库中查找各节点对应的镜像,并通过Docker远程访问的方式在所述待部署节点上导入所述镜像,并根据Fabric网络节点配置来搭建各个待部署节点的Docker容器;
信息保存单元,用于创建Fabric网络成功后,将该Fabric网络的信息保存至数据库;其中Fabric网络的信息包括各个待部署节点的Docker容器ID、IP地址与服务端口。
本发明还提供了一种计算机系统,包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如上所述的操作。
与现有技术相比,本发明中无需提供远程登录待部署用户主机的密码权限,只需在待部署的用户主机上向网络内的其他节点开放Docker远程访问服务以及文件共享服务的权限,并进行适当的网络配置,即可远程部署Fabric网络于该主机上,简化了远程部署所需要的操作,降低了对待部署节点主机的权限开放性要求,节省了部署Fabric网络所需的时间,提高Fabric网络的部署效率。
附图说明
所包括的附图用来提供对本申请实施例的进一步的理解,其构成了说明书的一部分,用于例示本申请的实施方式,并与文字描述一起来阐释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是现有常见Fabric网络的组网图;
图2是远程部署Fabric网络的流程图;
图3是远程部署过程中进行准备工作的流程图;
图4是远程部署过程中创建Fabric网络的流程图;
图5是远程部署过程中运行Fabric网络的流程图;
图6是Fabric网络远程部署装置结构图;
图7是计算机系统架构图。
具体实施方式
需要理解的是,这里所使用的术语、公开的具体结构和功能细节,仅仅是为了描述具体实施例,是代表性的,但是本申请可以通过许多替换形式来具体实现,不应被解释成仅受限于这里所阐述的实施例。
在本申请的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示相对重要性,或者隐含指明所指示的技术特征的数量。由此,除非另有说明,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征;“多个”的含义是两个或两个以上。术语“包括”及其任何变形,意为不排他的包含,可能存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。
另外,“中心”、“横向”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系的术语,是基于附图所示的方位或相对位置关系描述的,仅是为了便于描述本申请的简化描述,而不是指示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
此外,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,或是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
下面参考附图和可选的实施例对本申请作详细说明。
本申请旨在提供一种基于Docker的Fabric网络远程部署方案,通过在待部署节点向Fabric网络中的其他节点预先开放Docker远程访问服务和文件共享服务的端口权限,并结合预先配置的网络配置所需信息,即可实现远程访问和文件共享,从而实现在待部署节点进行网络布置,避免像现有技术中一样需要开放远程登录权限。
实施例1
如图2-5所示,本申请实施例1,公开了一种基于Docker的Fabric网络远程部署方法,所述方法包括步骤:
A:接收针对待部署节点的Fabric远程部署请求;
待部署节点即网络中需要部署Fabric的节点主机。
B:在根据所述部署请求,检测到所述待部署节点开通了Docker远程访问服务和文件共享服务权限时,在所述待部署节点开启文件共享服务与Docker远程访问服务;
C:根据Fabric网络创建配置信息,通过所述Docker远程访问服务在所述待部署节点上创建Fabric网络;
D:根据Fabric网络运行配置信息,通过Docker远程访问服务在所述待部署节点上运行Fabric网络。
本申请中也可对待部署节点以及对待部署节点操作执行网络部署的本地节点分别称为用户主机和本地主机。
本发明Fabric网络远程部署方法,采用了远程访问用户主机上的Docker服务端的方法来搭建用户主机的Docker集群,通过远程控制Fabric网络节点的Docker容器,实现Fabric网络的远程部署运行的自动化。与现有技术相比,用户无需提供远程登录用户主机的权限,只需在用户主机上提供Docker服务并进行适当的网络配置,确保该主机可与网络联盟链中的其他节点主机进行正常通信以及向联盟链开放访问Docker服务、文件共享服务、Fabric网络服务等端口的网络权限,部署人员即可远程部署Fabric网络于该用户主机上,从而提高多机构参与的Fabric网络的部署效率,便于对联盟链中所有节点主机的运行状态进行实时监控。简化了远程部署所需要的操作,降低了对的开放性要求,节省了部署多机构参与的Fabric网络所需的时间,提高了部署运维的效率,节省部署与维护的人力成本。
具体的,如图3所示,所述步骤B包括:
B11获取部署人员输入的用户主机的基本配置信息和文件共享服务配置信息;所述的用户主机基本配置信息包括所述用户主机的IP地址以及所述用户主机上Docker守护进程监听的端口;所述文件共享服务配置信息至少包括用户主机的文件共享服务端口;
B12开启所述用户主机的Docker远程访问服务,向所述监听的端口发送信息,即尝试远程访问用户主机的Docker远程访问服务,并根据返回结果判断所述用户主机的Docker远程访问服务是否开启成功;
具体的,可根据与Docker守护进程监听端口信息交互来检测能否远程访问用户主机上的Docker服务端,并通过检查返回结果是否正确来判断远程访问是否成功。
当远程访问成功后,将用户主机信息保存到数据库;以方便监测模块对该用户主机上的Docker远程访问服务进行实时监测。
B13根据所述文件共享服务端口在所述用户主机上启动文件共享服务.
文件共享服务配置信息中还可以包括共享目录的路径等信息。其中,所述文件共享服务端口为节点主机上任意一个空闲端口,所述共享目录为节点主机上任意一个空目录。
B14向所述文件共享服务端口发送数据操作请求,并根据返回结果判断文件共享服务是否开启成功。即检测本地主机与用户主机能否通过该文件共享服务来相互传输文件以判断文件共享服务是否成功开启。
具体的,如图4所示,所述步骤C根据Fabric网络创建配置信息,通过所述Docker远程访问服务在所述用户主机上创建Fabric网络包括:
C1:获取部署人员输入的Fabric网络创建配置信息并上传至用户主机,所述Fabric网络创建配置信息包括组织配置、通道配置、Fabric网络节点配置;
C2:根据Fabric网络节点配置在镜像库中查找各节点对应的镜像,并通过Docker远程访问的方式在用户主机上导入所述镜像,并根据Fabric网络节点配置来搭建各个Fabric网络各节点主机的Docker容器以形成一个完整的Docker集群;
C3:根据组织配置来生成Fabric网络中各节点的组织关系与身份证书,并根据通道配置来生成Fabric网络中系统通道的创世区块、应用通道的配置交易;
C4:创建Fabric网络成功后,将该Fabric网络的信息保存至数据库;其中Fabric网络信息包括各个网络节点的Docker容器ID、IP地址与服务端口。
具体的,所述步骤C2根据组织配置来生成Fabric网络中各节点的组织关系与身份证书,并根据通道配置来生成Fabric网络中系统通道的创世区块、应用通道的配置交易包括:
C21:根据Fabric网络节点配置中的Fabric版本信息,直接在本地主机上或者通过Docker远程访问的方式在用户主机上搭建相应版本的Fabric工具Docker容器;
C22:在该Fabric工具Docker容器中根据Fabric网络创建配置生成配置文件。其中生成的配置文件均可通过文件共享服务从本地主机上传至用户主机。
具体的,所述步骤D包括:
D1:获取部署人员提供的Fabric网络运行配置信息;其中,网络运行配置信息包括指令及指令配置信息;所述指令配置信息包括指令的执行顺序、执行指令的orderer节点与peer节点;如指令中包括对智能合约的安装或实例化,则通过文件共享服务上传智能合约文件至用户主机。
D2:通过Docker远程访问的方式,在指令配置信息中指定的peer节点的Docker容器上,按照指令的执行顺序来依次执行Fabric网络运行配置中的各个指令。
具体的,所述D2通过Docker远程访问的方式,在指令配置信息中指定的peer节点的Docker容器上,按照指令的执行顺序来依次执行Fabric网络运行配置中的各个指令的步骤包括:
D21:在创建通道指令中,指定的peer节点将向指定的orderer节点发起创建应用通道初始区块的请求;
D22:在加入通道指令中,指定的peer节点加入配置指定的应用通道;
D23:在安装合约指令中,指定的peer节点安装配置指定的智能合约;在实例化合约指令中,指定的peer节点将向指定的orderer节点发起实例化智能合约的请求;
D24:在执行合约指令中,通过指定的peer节点将向指定的orderer节点发起执行智能合约中的函数调用请求。
实施例2
本申请还公开了一种与上述方法对应的基于Docker的Fabric网络远程部署装置,所述装置包括:
请求接收单元,用于接收针对待部署节点的Fabric远程部署请求;
服务开启单元,用于在根据所述部署请求,检测到所述待部署节点开通了Docker远程访问服务和文件共享服务权限时,在所述待部署节点开启文件共享服务与Docker远程访问服务;
网络创建单元,用于根据Fabric网络创建配置信息,通过所述Docker远程访问服务在所述待部署节点上创建Fabric网络;
网络运行单元,用于根据Fabric网络运行配置信息,通过Docker远程访问服务在所述待部署节点上运行Fabric网络。
优选的,所述服务开启单元包括:
第一信息获取单元,用于获取用户输入的所述待部署节点基本配置信息和文件共享服务配置信息;所述的待部署节点基本配置信息包括所述待部署节点的IP地址以及所述待部署节点上Docker守护进程监听的端口;所述文件共享服务配置信息至少包括所述待部署节点的文件共享服务端口;
Docker远程访问服务开启单元,用于向所述监听的端口发送信息,并根据返回结果开启所述待部署节点的Docker远程访问服务;
文件共享服务开启单元,用于根据所述文件共享服务端口在所述待部署节点上启动文件共享服务;
判断单元,用于向所述文件共享服务端口发送数据操作请求,并根据返回结果判断文件共享服务是否开启成功。
优选的,所述网络创建单元,包括:
第二信息获取单元,用于获取Fabric网络创建配置信息,所述Fabric网络创建配置信息包括组织配置、通道配置、Fabric网络节点配置;
根据组织配置来生成Fabric网络中各节点的组织关系与身份证书;根据通道配置来生成Fabric网络中系统通道的创世区块、应用通道的配置交易;
Docker容器搭建单元,用于根据Fabric网络节点配置在镜像库中查找各节点对应的镜像,并通过Docker远程访问的方式在所述待部署节点上导入所述镜像,并根据Fabric网络节点配置来搭建各个待部署节点的Docker容器;
信息保存单元,用于创建Fabric网络成功后,将该Fabric网络的信息保存至数据库;其中Fabric网络的信息包括各个待部署节点的Docker容器ID、IP地址与服务端口。
优选的,所述网络运行单元包括:
第三信息获取单元,用于获取Fabric网络运行配置信息;其中,网络运行配置信息包括指令及指令配置信息;所述指令配置信息包括指令的执行顺序、执行指令的orderer节点与peer节点;
指令执行单元,用于通过Docker远程访问的方式,在指令配置信息中指定的peer节点的Docker容器上,按照指令的执行顺序来依次执行Fabric网络运行配置中的各个指令。
上述装置即为对待部署节点进行远程网络部署的本地节点。从交互的前后端对象的角度来看,如图6,该装置包括web前端模块、web后端模块、数据库模块、文件共享服务模块、镜像库模块与监测模块。
其中,上述请求接收单元、各信息获取单元等与部署人员以及用户交互,接收部署人员与用户所提供的配置信息与文件的单元均属于web前端模块。web前端模块还用于对外展示存储的待部署节点信息及Fabric网络信息等信息。
上述服务开启单元、网络创建单元、网络运行单元各单元中除信息获取相关单元以外的单元属于web后端模块,主要用于协调其他模块完成Fabric网络的部署,并通过Docker远程访问的方式与待部署节点进行交互。
上述装置还包括文件共享服务模块、镜像库模块与监测模块。
文件共享服务模块用于支持本地节点与待部署节点之间的文件传输服务,其具体实现可采用NFS(网络文件系统)或者Samba共享文件服务等等,主要负责从本地节点向待部署节点传输Docker服务端需要调用的各种文件。
镜像库模块用于提供部署所需的各类Docker镜像文件及其哈希;其中,所述镜像库模块中保存的镜像文件可通过将本地镜像保存为tar归档文件的方式进行补充。这些镜像文件将通过Docker远程访问的方式在各个机构的待部署节点上导入,以确保Fabric网络中各节点Docker镜像版本的一致性。另外,镜像文件的哈希可用于跟待部署节点上已有镜像的哈希进行对比,避免重复导入相同的镜像。
所述监测模块为可选模块,该模块每间隔一段时间检测一次数据库中存储的所有待部署节点及Fabric网络的健康状态。在检测过程中,监测模块会根据数据库中存储的待部署节点信息及Fabric网络信息,尝试远程访问待部署节点上的Docker服务端,并检查Fabric网络的所有服务端口。
数据库模块用于存储待部署节点信息与Fabric网络信息,其中,所述存储待部署节点信息与Fabric网络信息用于所述监测模块的定时监测以及所述web前端模块的对外展示界面中。
实施例3
对应上述方法,本申请实施例还提供一种计算机系统,包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行上述实施例的方法步骤。
其中,图7示例性的展示出了计算机系统的架构,具体可以包括处理器1510,视频显示适配器1511,磁盘驱动器1512,输入/输出接口1513,网络接口1514,以及存储器1520。上述处理器1510、视频显示适配器1511、磁盘驱动器1512、输入/输出接口1513、网络接口1514,与存储器1520之间可以通过通信总线1530进行通信连接。
其中,处理器1510可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请所提供的技术方案。
存储器1520可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1520可以存储用于控制计算机系统1500运行的操作系统1521,用于控制计算机系统1500的低级别操作的基本输入输出系统(BIOS)1522。另外,还可以存储网页浏览器1523,数据存储管理系统1524,以及图标字体处理系统1525等等。上述图标字体处理系统1525就可以是本申请实施例中具体实现前述各步骤操作的应用程序。总之,在通过软件或者固件来实现本申请所提供的技术方案时,相关的程序代码保存在存储器1520中,并由处理器1510来调用执行。
输入/输出接口1513用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
网络接口1514用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1530包括一通路,在设备的各个组件(例如处理器1510、视频显示适配器1511、磁盘驱动器1512、输入/输出接口1513、网络接口1514,与存储器1520)之间传输信息。
另外,该计算机系统1500还可以从虚拟资源对象领取条件信息数据库1541中获得具体领取条件的信息,以用于进行条件判断,等等。
需要说明的是,尽管上述设备仅示出了处理器1510、视频显示适配器1511、磁盘驱动器1512、输入/输出接口1513、网络接口1514,存储器1520,总线1530等,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本申请方案所必需的组件,而不必包含图中所示的全部组件。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,云服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上对本申请所提供的方法、装置及系统,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本申请的限制。
Claims (8)
1.一种基于Docker的Fabric网络远程部署方法,其特征在于,所述方法包括:
接收针对待部署节点的Fabric远程部署请求;
在根据所述部署请求,检测到所述待部署节点开通了Docker远程访问服务和文件共享服务权限时,在所述待部署节点开启文件共享服务与Docker远程访问服务;
根据Fabric网络创建配置信息,通过所述Docker远程访问服务在所述待部署节点上创建Fabric网络,包括:
获取部署人员输入的Fabric网络创建配置信息并上传至用户主机,所述Fabric网络创建配置信息包括组织配置、通道配置、Fabric网络节点配置;
根据Fabric网络节点配置在镜像库中查找各节点对应的镜像,并通过Docker远程访问的方式在用户主机上导入所述镜像,并根据Fabric网络节点配置来搭建各个Fabric网络各节点主机的Docker容器以形成一个完整的Docker集群;
根据组织配置来生成Fabric网络中各节点的组织关系与身份证书,并根据通道配置来生成Fabric网络中系统通道的创世区块、应用通道的配置交易;
创建Fabric网络成功后,将该Fabric网络的信息保存至数据库;其中Fabric网络信息包括各个网络节点的Docker容器ID、IP地址与服务端口;
根据Fabric网络运行配置信息,通过Docker远程访问服务在所述待部署节点上运行Fabric网络。
2.如权利要求1所述的方法,其特征在于,所述在根据所述部署请求,检测到所述待部署节点开通了Docker远程访问服务和文件共享服务权限时,在所述待部署节点开启文件共享服务与Docker远程访问服务包括:
获取用户输入的所述待部署节点基本配置信息和文件共享服务配置信息;所述的待部署节点基本配置信息包括所述待部署节点的IP地址以及所述待部署节点上Docker守护进程监听的端口;所述文件共享服务配置信息至少包括所述待部署节点的文件共享服务端口;
开启所述待部署节点的Docker远程访问服务,向所述监听的端口发送信息,并根据返回结果判断所述待部署节点的Docker远程访问服务是否开启成功;
根据所述文件共享服务端口在所述待部署节点上启动文件共享服务;
向所述文件共享服务端口发送数据操作请求,并根据返回结果判断文件共享服务是否开启成功。
3.如权利要求1所述的方法,其特征在于,所述根据组织配置来生成Fabric网络中各节点的组织关系与身份证书,并根据通道配置来生成Fabric网络中系统通道的创世区块、应用通道的配置交易包括:
根据Fabric网络节点配置中的Fabric版本信息,在本地节点主机上或者通过Docker远程访问的方式在所述待部署节点上搭建相应版本的Fabric工具Docker容器;
在该Fabric工具Docker容器中根据Fabric网络创建配置生成配置文件。
4.如权利要求1所述的方法,其特征在于,所述根据Fabric网络运行配置信息,通过Docker远程访问服务在所述待部署节点上运行Fabric网络包括:
获取Fabric网络运行配置信息;其中,网络运行配置信息包括指令及指令配置信息;所述指令配置信息包括指令的执行顺序、执行指令的orderer节点与peer节点;
通过Docker远程访问的方式,在指令配置信息中指定的peer节点的Docker容器上,按照指令的执行顺序来依次执行Fabric网络运行配置中的各个指令。
5.如权利要求4所述的方法,其特征在于,所述通过Docker远程访问的方式,在指令配置信息中指定的peer节点的Docker容器上,按照指令的执行顺序来依次执行Fabric网络运行配置中的各个指令包括:
在创建通道指令中,通过指定的peer节点将向指定的orderer节点发起创建应用通道初始区块的请求;
在加入通道指令中,通过指定的peer节点加入配置指定的应用通道;
在安装合约指令中,通过指定的peer节点安装配置指定的智能合约;
在实例化合约指令中,通过指定的peer节点将向指定的orderer节点发起实例化智能合约的请求;
在执行合约指令中,通过指定的peer节点将向指定的orderer节点发起执行智能合约中的函数调用请求。
6.一种基于Docker的Fabric网络远程部署装置,其特征在于,所述装置包括:
请求接收单元,用于接收针对待部署节点的Fabric远程部署请求;
服务开启单元,用于在根据所述部署请求,检测到所述待部署节点开通了Docker远程访问服务和文件共享服务权限时,在所述待部署节点开启文件共享服务与Docker远程访问服务;
网络创建单元,用于根据Fabric网络创建配置信息,通过所述Docker远程访问服务在所述待部署节点上创建Fabric网络,所述网络创建单元,包括:
网络创建配置信息获取单元,用于获取Fabric网络创建配置信息,所述Fabric网络创建配置信息包括组织配置、通道配置、Fabric网络节点配置;
根据组织配置来生成Fabric网络中各节点的组织关系与身份证书;根据通道配置来生成Fabric网络中系统通道的创世区块、应用通道的配置交易;
Docker容器搭建单元,用于根据Fabric网络节点配置在镜像库中查找各节点对应的镜像,并通过Docker远程访问的方式在所述待部署节点上导入所述镜像,并根据Fabric网络节点配置来搭建各个待部署节点的Docker容器;
数据库单元,用于创建Fabric网络成功后,将该Fabric网络的信息保存至数据库;其中Fabric网络的信息包括各个待部署节点的Docker容器ID、IP地址与服务端口;
网络运行单元,用于根据Fabric网络运行配置信息,通过Docker远程访问服务在所述待部署节点上运行Fabric网络。
7.如权利要求6所述的装置,其特征在于,所述服务开启单元包括:
信息获取单元,用于获取用户输入的所述待部署节点基本配置信息和文件共享服务配置信息;所述的待部署节点基本配置信息包括所述待部署节点的IP地址以及所述待部署节点上Docker守护进程监听的端口;所述文件共享服务配置信息至少包括所述待部署节点的文件共享服务端口;
Docker远程访问服务开启单元,用于开启所述待部署节点的Docker远程访问服务,向所述监听的端口发送信息,并根据返回结果判断用户主机的Docker远程访问服务是否开启成功;
文件共享服务开启单元,用于根据所述文件共享服务端口在所述待部署节点上启动文件共享服务;
判断单元,用于向所述文件共享服务端口发送数据操作请求,并根据返回结果判断文件共享服务是否开启成功。
8.一种计算机系统,其特征在于,包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如权利要求1-5任一项操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010086673.9A CN111343004B (zh) | 2020-02-11 | 2020-02-11 | 基于Docker的Fabric网络远程部署方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010086673.9A CN111343004B (zh) | 2020-02-11 | 2020-02-11 | 基于Docker的Fabric网络远程部署方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111343004A CN111343004A (zh) | 2020-06-26 |
CN111343004B true CN111343004B (zh) | 2023-05-26 |
Family
ID=71187118
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010086673.9A Active CN111343004B (zh) | 2020-02-11 | 2020-02-11 | 基于Docker的Fabric网络远程部署方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111343004B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111901149B (zh) * | 2020-06-30 | 2022-09-06 | 苏宁金融科技(南京)有限公司 | 自动生成和检测Fabric网络配置文件的方法及系统 |
CN114006815B (zh) * | 2020-07-13 | 2024-01-26 | 中移(苏州)软件技术有限公司 | 云平台节点的自动化部署方法、装置、节点及存储介质 |
CN112073247B (zh) * | 2020-09-10 | 2023-03-24 | 中国工商银行股份有限公司 | 区块链网络部署方法、装置、计算机系统和介质 |
CN112383594B (zh) * | 2020-10-30 | 2022-04-22 | 新华三技术有限公司 | 基于超级账本Fabric网络的跨主机通信方法及装置 |
CN113391878A (zh) * | 2021-05-26 | 2021-09-14 | 浙江大华技术股份有限公司 | 远程访问方法、装置、系统和存储介质 |
CN113434249A (zh) * | 2021-06-18 | 2021-09-24 | 杭州趣链科技有限公司 | 镜像同步方法、装置、docker主机及存储介质 |
CN113867878B (zh) * | 2021-10-11 | 2023-07-04 | 平安科技(深圳)有限公司 | 一种工程部署方法及装置、电子设备、存储介质 |
CN115334151B (zh) * | 2022-08-16 | 2024-05-10 | 钛信(上海)信息科技有限公司 | 一种跨区域网络远程主机访问方法及系统 |
CN116339926B (zh) * | 2023-05-22 | 2023-08-08 | 成都交控轨道科技有限公司 | 一种ats软件的容器化部署方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110113185A (zh) * | 2019-04-18 | 2019-08-09 | 卓尔购电子商务(武汉)有限公司 | 一种快速部署联盟链的方法、系统、存储介质和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105610946B (zh) * | 2015-12-30 | 2018-08-03 | 北京奇艺世纪科技有限公司 | 一种基于docker技术的云跳板机系统 |
-
2020
- 2020-02-11 CN CN202010086673.9A patent/CN111343004B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110113185A (zh) * | 2019-04-18 | 2019-08-09 | 卓尔购电子商务(武汉)有限公司 | 一种快速部署联盟链的方法、系统、存储介质和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111343004A (zh) | 2020-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111343004B (zh) | 基于Docker的Fabric网络远程部署方法、装置和系统 | |
CN111782232A (zh) | 集群的部署方法、装置、终端设备及存储介质 | |
CN109067877B (zh) | 一种云计算平台部署的控制方法、服务器及存储介质 | |
CN107566165B (zh) | 一种发现及部署电力云数据中心可用资源的方法及系统 | |
CN113645071B (zh) | 一种集群部署方法、系统、介质及电子终端 | |
JP2021502735A (ja) | ゲートウェイ管理コンソールにアクセスする方法、システム、およびプログラム | |
CN105103147A (zh) | 用工作负载分发器来跟踪 | |
CN112989330B (zh) | 容器的入侵检测方法、装置、电子设备及存储介质 | |
CN105122230A (zh) | 跟踪作为服务 | |
CN105283849A (zh) | 针对性能和细节的并行跟踪 | |
CN111756736A (zh) | 一种异构区块链间的跨链方法、系统及电子设备和存储介质 | |
US20220229742A1 (en) | Workflow error handling for device driven management | |
CN102859505B (zh) | 管理系统以及计算机系统的管理方法 | |
CN112860282B (zh) | 集群插件的升级方法、装置和服务器 | |
CN107566518B (zh) | 在安装文件过程中管理设备信息的方法和装置 | |
CN111555920A (zh) | 一种智能运维方法、系统、设备和用户端 | |
CN109902028A (zh) | Acl特性的自动化测试方法、装置、设备及存储介质 | |
CN111131131B (zh) | 一种漏洞扫描方法、装置、服务器及可读存储介质 | |
CN113286014B (zh) | 基础域名的动态配置方法、装置及相关设备 | |
CN111935195B (zh) | 分布式系统管理方法、装置、存储介质和分布式管理系统 | |
US8190715B1 (en) | System and methods for remote agent installation | |
RU2747099C1 (ru) | Автоматизированная система тестирования событий кибербезопасности | |
CN114519477A (zh) | 大数据平台租户管理系统、方法、存储介质及电子设备 | |
CN109995617A (zh) | 主机管理特性的自动化测试方法、装置、设备及存储介质 | |
CN111506657A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |