CN109933338A - 区块链部署方法、装置、计算机设备和存储介质 - Google Patents

区块链部署方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN109933338A
CN109933338A CN201910087407.5A CN201910087407A CN109933338A CN 109933338 A CN109933338 A CN 109933338A CN 201910087407 A CN201910087407 A CN 201910087407A CN 109933338 A CN109933338 A CN 109933338A
Authority
CN
China
Prior art keywords
block chain
installation kit
component
chain component
configuration file
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.)
Granted
Application number
CN201910087407.5A
Other languages
English (en)
Other versions
CN109933338B (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.)
Zhejiang Number Chain Technology Co Ltd
Original Assignee
Zhejiang Number Chain 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 Zhejiang Number Chain Technology Co Ltd filed Critical Zhejiang Number Chain Technology Co Ltd
Priority to CN201910087407.5A priority Critical patent/CN109933338B/zh
Publication of CN109933338A publication Critical patent/CN109933338A/zh
Application granted granted Critical
Publication of CN109933338B publication Critical patent/CN109933338B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及一种区块链部署方法、装置、计算机设备和存储介质。所述方法包括:获取多个区块链组件中每个区块链组件的配置文件;将多个区块链组件中每个区块链组件的配置文件组合成模块化的安装包;根据模块化的安装包在容器中部署区块链。采用本申请的方案能够提高区块链部署效率。

Description

区块链部署方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种区块链部署方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的发展,出现了区块链技术。根据区块链的类型大致划分公有链、私有链和联盟链。其中,公有链完全对外开放,私有链仅供企业内部使用而不对外开放,联盟链有权限对部分成员开放。无论是哪种类型的区块链,传统的区块链部署方式主要是采取容器化的方法一个一个地安装各个组件。然而,目前的区块链部署方式处理效率低。
发明内容
基于此,有必要针对区块链部署方式的处理效率低的问题,提供一种能够提高区块链部署效率的区块链部署方法、装置、计算机设备和计算机存储介质。
一种区块链部署方法,所述方法包括:获取多个区块链组件中每个区块链组件的配置文件;将多个区块链组件中每个区块链组件的配置文件组合成模块化的安装包;根据模块化的安装包在容器中部署区块链。
在其中一个实施例中,根据模块化的安装包在容器中部署区块链,包括:当安装包中的一区块链组件的配置文件运行成功时,运行与区块链组件具有依赖关系的区块链组件的配置文件;当多个区块链组件中每个区块链组件的配置文件均运行完毕时,在容器中完成区块链部署。
在其中一个实施例中,当安装包中的一区块链组件的配置文件运行成功时,运行与区块链组件具有依赖关系的区块链组件的配置文件,包括:按照依赖关系获取每个区块链组件的配置文件和与每个区块链组件具有依赖关系的区块链组件的配置文件的运行顺序;当安装包中的一区块链组件的配置文件运行成功时,按照运行顺序运行与区块链组件具有依赖关系的区块链组件的配置文件。
在其中一个实施例中,该区块链部署方法还包括:根据模块化的安装包生成区块链的部署版本;获取回退指令或撤销操作指令;根据回退指令回退至模块化的安装包对应的部署版本;或者,根据撤销操作指令撤销至模块化的安装包对应的部署版本。
在其中一个实施例中,该区块链部署方法还包括:在终端展示所有区块链的部署版本的版本记录;根据回退指令回退至模块化的安装包对应的部署版本,包括:根据回退指令回退至回退指令对应的区块链的部署版本。
在其中一个实施例中,该区块链部署方法还包括:根据模块化的安装包生成区块链的部署版本;获取撤销版本指令;根据撤销版本指令撤销模块化的安装包对应的部署版本。
在其中一个实施例中,该区块链部署方法,还包括:获取多个区块链组件对应的公共参数文件;获取元数据信息文件;将多个区块链组件中每个区块链组件的配置文件组合成模块化的安装包,包括:将区块链组件的公共参数文件、元数据信息文件和多个区块链组件中每个区块链组件的配置文件保存至同一文件夹中,并组合成模块化的安装包。
一种区块链部署装置,所述装置包括:获取模块,用于获取多个区块链组件中每个区块链组件的配置文件;组合模块,用于将多个区块链组件中每个区块链组件的配置文件组合成模块化的安装包;部署模块,用于根据模块化的安装包在容器中部署区块链。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:获取多个区块链组件中每个区块链组件的配置文件;将多个区块链组件中每个区块链组件的配置文件组合成模块化的安装包;根据模块化的安装包在容器中部署区块链。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:获取多个区块链组件中每个区块链组件的配置文件;将多个区块链组件中每个区块链组件的配置文件组合成模块化的安装包;根据模块化的安装包在容器中部署区块链。
上述区块链部署方法、装置、计算机设备和存储介质,通过获取区块链组件的配置文件,并组合成模块化的安装包,根据模块化的安装包在容器中部署区块链,能在容器中采用模块化的方式部署区块链,且能一次性安装完多个组件,提高区块链部署效率。
附图说明
图1为一个实施例中区块链部署方法的应用环境图;
图2为一个实施例中区块链部署方法的流程示意图;
图3为一个实施例中Kubernetes包管理器的架构示意图;
图4为另一个实施例中区块链部署方法的流程示意图;
图5为一个实施例中区块链部署装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例中提供的区块链部署方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信,服务器104和服务器106中搭载同一***。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104和服务器106均可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种区块链部署方法,以该方法应用于图1中的服务器104为例进行说明,包括以下步骤:
步骤202,获取多个区块链组件中每个区块链组件的配置文件。
其中,组件是对数据和方法的简单封装。区块链组件是指组成区块链的组件。区块链组件包括Zookeeper(分布式协调服务)组件、Kafka(分布式消息服务)组件、Orderer(区块链共识节点)组件和Peer(区块链节点)组件。区块链组件的配置文件是指用于配置区块链组件的文件。每个区块链组件都有一个配置文件,例如可以是yaml(YAML Ain't MarkupLanguage,另一种标记语言)文件。
Zookeeper组件主要是一个分布式服务协调框架,可实现同步服务,配置维护和命名服务等分布式应用。Zookeeper的yaml文件配置主要约定了集群内的端口信息。
Kafka组件用于支撑海量数据的数据传递,可将消息持久化到磁盘中,并为消息创建备份文件。Orderer组件可以在网络中提供排序服务。以超级账本为例,Peer组件既拥有账本,也拥有链码。由于账本和链码在Peer组件中,因此终端可通过Peer组件访问资源。
具体地,每个区块链组件都有一个配置文件。配置文件可在终端上配置完成。服务器从终端获取多个区块链组件中每个区块链组件的配置文件。
本实施例中,区块链组件还可以包括CouchDB(Cluster Of UnreliableCommodity Hardware,分布式数据库)组件、CLI(Command-line interface,命令行工具)组件和CA(Certificate Authority,授权认证)组件中的一种或多种。其中,CouchDB(ClusterOf Unreliable Commodity Hardware,分布式数据库)组件用于存储数据。
步骤204,将多个区块链组件中每个区块链组件的配置文件组合成模块化的安装包。
其中,模块化是指解决一个复杂问题时自顶向下逐层把***划分成若干模块的过程。每个模块完成一个特定的子功能,所有的模块按某种方法组装起来,成为一个整体,完成整个***所要求的功能。模块化的安装包是指按照一个个模块组装而成的安装包。
具体地,服务器可通过包管理器提供的命令行工具将多个区块链组件中每个区块链组件的配置文件,以及多个区块链组件对应的同一个公共参数文件保存至同一文件夹中,并组合成模块化的安装包。
步骤206,根据模块化的安装包在容器中部署区块链。
其中,容器(Container)是可将应用移植到容器中,然后发布到任何Linux机器上,可以实现虚拟化。每个容器之间互相隔离,每个容器有自己的文件***,容器之间进程不会相互影响,能区分计算资源。相对于虚拟机,容器能快速部署,由于容器与底层设施、机器文件***解耦的,所以它能在不同云、不同版本操作***间进行迁移。容器还可以指Kubernetes和Docker等。其中Kubernetes简称K8s,是一个用于管理云平台中多个主机上的容器化的应用。K8s的主要职责是容器编排(Container Orchestration),即在一组服务器上启动、监控或回收容器。
具体地,服务器根据多个配置文件组合成的模块化的安装包在容器中部署区块链。
本实施例中,服务器根据模块化的安装包在Kubernetes中部署区块链。具体地,服务器通过Kubernetes包管理器客户端命令行提交安装包至Kubernetes集群,并在Kubernetes集群中部署区块链。其中,Kubernetes通常以集群的方式部署区块链,其包括至少一个主节点和多个工作节点。每个节点可以是运行Kubernetes平台的物理服务器或者虚拟机等。主节点提供集群的独特视角,并且拥有一系列组件,提供对外的应用程序接口。
上述区块链部署方法中,通过获取区块链组件的配置文件,并组合成模块化的安装包,根据模块化的安装包在容器中部署区块链,能在容器中采用模块化的方式部署区块链,且能一次性安装完多个组件,提高区块链部署效率。
在一个实施例中,如图3所示,为一个实施例中Kubernetes包管理器的架构图。其中包括Zookeeper组件、Kafka组件、Orderer组件、Peer组件、CouchDB组件、CLI组件和CA组件等。Kubernetes包管理器有三个重要的概念:(1)Chart:定义了一种可以被部署在Kubernetes的上的软件包格式。一个Chart包含了可以描述Kubernetes相关资源的一个配置文件。(2)Config:用来存储软件的配置信息,同Chart一起来创建Release。(3)Release:是Chart的一个运行示例。
Kubernetes包管理器由两个重要的功能组件构成:包管理器客户端和包管理器服务端。其中,包管理客户端是一个给终端用户使用的命令行工具,主要用来:开发本地Chart、管理Chart仓库和包管理器服务端进行交互。包管理服务端被安装到Kubernetes集群中,它一方面接受包管理器客户端发来的请求,另一方面和Kubernetes API SERVER进行交互,包括响应包管理器客户端请求、组合Chart和Config创建Release、将Chart安装到Kubernetes中并持续追踪状态、升级、卸载已安装的Chart。Peer0表示第1个区块链节点或第0个区块链节点,PeerN表示第N个区块链节点或第N+1个区块链节点。Orderer0表示第1个区块链共识节点或第0个区块链共识节点,OrdererM表示第M+1个区块链共识节点或第M个区块链共识节点。
Pod(Plain old data structure,)是Kubernetes最基本的操作单元,包含一个或多个紧密相关的容器,一个Pod可以被一个容器化的环境看作应用层的“逻辑宿主机”。同一个Pod里的容器之间仅需通过localhost(主机名)就能互相通信。Service指服务,也可以被看作一组提供相同服务的Pod的对外访问接口。PVC(Persistent Volume Claim,持久卷申请)是Namespace(命名空间)里的资源,描述对PV的请求。PV(Persistent Volume,持久化卷)代表了集群中的一块存储区域请求信息包含存储大小,访问模式等。PV的生命周期独立于Pod,例如当使用PV的Pod销毁时对PV没有影响。NFS(Network File System)即网络文件***,是文件***中的一种,它允许网络中的计算机之间通过网络共享资源。
上述区块链部署方法中,通过获取区块链组件的配置文件,并组合成模块化的安装包,根据模块化的安装包在容器中部署区块链,能在容器中采用模块化的方式部署部署如图3的架构图中的区块链,提高区块链部署效率。
在一个实施例中,根据模块化的安装包在容器中部署区块链,包括:当安装包中的一区块链组件的配置文件运行成功时,运行与区块链组件具有依赖关系的区块链组件的配置文件;当多个区块链组件中每个区块链组件的配置文件均运行完毕时,在容器中完成区块链部署。
其中,依赖关系是指类与类之间的连接,表示一个类依赖于另外一个类的定义,依赖关系是单向的。简单理解就是类A使用到了类B,这种依赖具有偶然性和临时性。但是类B的变化会影响到类A。具有依赖关系的区块链组件也是区块链组件,可以是指Kafka组件依赖Zookeeper组件,Orderer组件依赖Kafka组件,Peer组件依赖Orderer组件。
具体地,当安装包中的某一区块链组件的配置文件运行成功时,服务器运行与该区块链组件具有依赖关系的区块链组件的配置文件。当多个区块链中的每个区块链组件的配置文件均运行完毕时,确定在容器中完成了区块链部署。例如,当安装包中的Zookeeper组件运行成功时,服务器运行和Zookeeper组件具有依赖关系的Kafka组件。当Kafka组件运行成功时,服务器运行与Kafka组件具有依赖关系的Orderer组件。当Orderer组件运行成功时,服务器运行与Orderer组件具有依赖关系的Peer组件。当Zookeeper组件、Kafka组件、Orderer组件和Peer组件均运行完毕时,则确定服务器在容器中完成了区块链部署。
本实施例中,该多个区块链组件还可以包括CouchDB组件、CLI组件和CA组件中的一种或多种。则当Zookeeper组件的配置文件、Kafka组件的配置文件、Orderer组件的配置文件和Peer组件的配置文件,以及CouchDB组件的配置文件、CLI组件的配置文件和CA组件的配置文件中的一种或多种组件的配置文件均运行完毕时,服务器在容器中完成了区块链部署。
上述区块链部署方法中,当模块化的安装包中的一区块链组件的配置文件运行成功,则运行具有依赖关系的区块链组件,运行完所有组件的配置文件时,完成区块链部署,能够按照依赖关系自动进行区块链的部署,提高区块链部署效率。
在一个实施例中,当安装包中的一区块链组件的配置文件运行成功时,运行与区块链组件具有依赖关系的区块链组件的配置文件,包括:按照依赖关系获取每个区块链组件的配置文件和与每个区块链组件具有依赖关系的区块链组件的配置文件的运行顺序;当安装包中的一区块链组件的配置文件运行成功时,按照运行顺序运行与区块链组件具有依赖关系的区块链组件的配置文件。
具体地,服务器按照区块链组件之间的依赖关系获取每个区块链组件的配置文件,以及与该区块链组件具有依赖关系的区块链组件的配置文件的运行顺序。当安装包中的某一个区块链组件的配置文件运行成功时,服务器按照运行顺序运行与该区块链组件具有依赖关系的区块链组件的配置文件。
上述区块链部署方法中,按照依赖关系获取每个区块链组件的配置文件和具有依赖关系的配置文件的运行顺序,当安装包中的一区块链配置文件运行成功时,按照运行顺序运行具有依赖关系的区块链组件的配置文件,能够自动按照运行顺序进行区块链部署,提高区块链部署效率。
在一个实施例中,该区块链部署方法还包括:根据模块化的安装包生成区块链的部署版本;获取回退指令或撤销操作指令;根据回退指令回退至模块化的安装包对应的部署版本;或者,根据撤销操作指令撤销至模块化的安装包对应的部署版本。
其中,区块链的部署版本是指服务器每获得一个模块化的安装包,就会生成一个区块链的部署版本。回退是指将一个版本改变或编辑至一个较早版本的动作。回退操作指在某个条件,如一段时间的限制下,撤销最后一次操作或一系列操作,并返回一个先前已知的状态。撤销操作指令是指撤销先前的操作的指令。
具体地,服务器根据模块化的安装包生成区块链的部署版本。当服务器从终端获取到回退指令时,根据回退指令通过Kubernetes包管理器命令行回退至模块化的安装包对应的部署版本。服务器可根据回退指令回退到模块化的安装包对应的上一个部署版本,也可以回退至回退指令对应的安装包部署版本等不限于此。当服务器从终端获取到撤销操作指令时,根据撤销操作指令通过Kubernetes包管理器命令行撤销至模块化的安装包对应的部署版本。
上述区块链部署方法中,根据模块化的安装包能生成区块链的部署版本,获取回退指令或撤销操作指令,根据回退指令能回退至模块化的安装包对应的区块链的部署版本,根据撤销操作指令能撤销至模块化的安装包对应的区块链的部署版本,能一次性回退或撤销至整个模块化的安装包对应的区块链的部署版本,而不是逐个区块链组件进行版本的回退或撤销操作,提高了区块链的部署版本的回退和撤销操作的效率。
在一个实施例中,该区块链部署方法还包括:在终端展示所有区块链的部署版本的版本记录;根据回退指令回退至模块化的安装包对应的部署版本,包括:根据回退指令回退至回退指令对应的区块链的部署版本。
具体地,服务器在终端展示模块化安装包对应的所有区块链的部署版本的版本记录。终端可通过Kubernetes包管理器命令行查询到所有的Release列表版本记录。当回退指令中携带指定的版本时,服务器获取回退指令后,根据回退指令通过Kubernetes包管理器命令行回退至该回退指令对应的区块链的部署版本。
上述区块链部署方法中,在终端展示所有区块链的部署版本的版本记录,根据回退指令回退至回退指令对应的区块链的部署版本,能够更加全面且直观地展示区块链的部署历史,并且能回退到回退指令指定的区块链的部署版本,提高了区块链的部署版本的回退效率。
在一个实施例中,该区块链部署方法还包括:根据模块化的安装包生成区块链的部署版本;获取撤销版本指令;根据撤销版本指令撤销模块化的安装包对应的部署版本。
其中,撤销版本指令是指删除版本指令。
具体地,服务器根据模块化的安装包生成区块链的部署版本。服务器获取到撤销版本指令,根据撤销版本指令撤销模块化的安装包对应的部署版本。
上述区块链部署方法中,根据模块化的安装包能生成区块链的部署版本,获取撤销指令,根据撤销指令一次性撤销整个模块化的安装包对应的区块链的部署版本,而不是逐个区块链组件进行版本的撤销,提高了区块链的部署版本的撤销效率。
在一个实施例中,该区块链部署方法,还包括:获取多个区块链组件对应的公共参数文件;获取元数据信息文件;将多个区块链组件中每个区块链组件的配置文件组合成模块化的安装包,包括:将区块链组件的公共参数文件、元数据信息文件和多个区块链组件中每个区块链组件的配置文件保存至同一文件夹中,并组合成模块化的安装包。
其中,公共参数文件是一个可以配置多个区块链组件的公共参数的文件,例如values.yaml文件。元数据(Metadata),又称中介数据、中继数据,为描述数据的数据(dataabout data),主要是描述数据属性(property)的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。元数据信息文件可以是Chart.yaml文件。
具体地,终端按照包管理器的语法配置公共参数文件、元数据信息文件和各个组件的参数对应的配置文件,例如Zookeeper组件、Kafka组件、Orderer组件、CouchDB组件、Peer组件、CLI组件和CA组件。其中,某些组件需要设置额外的参数或调优提炼后的参数以适配容器环境下的运行,例如适配Kubernetes环境下的运行。服务器获取已配置好参数的多个区块链组件对应的同一个公共参数文件。服务器获取元数据信息文件。服务器将区块链组件的公共参数文件、元数据信息文件和多个区块链组件中每个区块链组件的配置文件保存至同一文件夹中,并组合成模块化的安装包。
上述区块链部署方法中,获取多个组件对应的公共参数文件和元数据信息文件,将区块链组件的公共参数文件、元数据信息文件和每个区块链组件的配置文件保存至同一文件夹中,组合成模块化的安装包,能部署区块链,并能根据安装包展示该安装包对应的元数据信息。
在一个实施例中,区块链部署方法,如图4所示,包括以下步骤:
步骤402,获取多个区块链组件对应的公共参数文件。
步骤404,获取元数据信息文件。
步骤406,将区块链组件的公共参数文件、元数据信息文件和多个区块链组件中每个区块链组件的配置文件保存至同一文件夹中,并组合成模块化的安装包。
步骤408,按照依赖关系获取每个区块链组件的配置文件和与每个区块链组件具有依赖关系的区块链组件的配置文件的运行顺序;
步骤410,当安装包中的一区块链组件的配置文件运行成功时,按照运行顺序运行与区块链组件具有依赖关系的区块链组件的配置文件。
步骤412,当多个区块链组件中每个区块链组件的配置文件均运行完毕时,在容器中完成区块链部署。
步骤414,在终端展示所有区块链的部署版本的版本记录。
步骤416,获取回退指令。
步骤418,根据回退指令回退至回退指令对应的区块链的部署版本。
上述区块链部署方法中,通过获取区块链组件的配置文件,并组合成模块化的安装包,根据模块化的安装包在容器中部署区块链,能在容器中采用模块化的方式部署区块链,且能按照顺序一次性安装完多个组件,能够更加全面且直观地展示区块链的部署历史,并且能回退到回退指令指定的区块链的部署版本,提高区块链部署效率。
应该理解的是,虽然图2和图4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2和图4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种区块链部署装置,包括:获取模块502、组合模块504和部署模块506,其中:
获取模块502,用于获取多个区块链组件中每个区块链组件的配置文件。
组合模块504,用于将多个区块链组件中每个区块链组件的配置文件组合成模块化的安装包。
部署模块506,用于根据模块化的安装包在容器中部署区块链。
上述区块链部署装置中,通过获取区块链组件的配置文件,并组合成模块化的安装包,根据模块化的安装包在容器中部署区块链,能在容器中采用模块化的方式部署区块链,且能一次性安装完多个组件,提高区块链部署效率。
在一个实施例中,部署模块506用于当安装包中的一区块链组件的配置文件运行成功时,运行与区块链组件具有依赖关系的区块链组件的配置文件;当多个区块链组件中每个区块链组件的配置文件均运行完毕时,在容器中完成区块链部署。
上述区块链部署装置中,当模块化的安装包中的一区块链组件的配置文件运行成功,则运行具有依赖关系的区块链组件,运行完所有组件的配置文件时,完成区块链部署,能够按照依赖关系自动进行区块链的部署,提高区块链部署效率。
在一个实施例中,部署模块506还用于按照依赖关系获取每个区块链组件的配置文件和与每个区块链组件具有依赖关系的区块链组件的配置文件的运行顺序;当安装包中的一区块链组件的配置文件运行成功时,按照运行顺序运行与区块链组件具有依赖关系的区块链组件的配置文件。
上述区块链部署装置中,按照依赖关系获取每个区块链组件的配置文件和具有依赖关系的配置文件的运行顺序,当安装包中的一区块链配置文件运行成功时,按照运行顺序运行具有依赖关系的区块链组件的配置文件,能够自动按照运行顺序进行区块链部署,提高区块链部署效率。
在一个实施例中,该区块链部署装置还包括生成模块,生成模块用于根据模块化的安装包生成区块链的部署版本。获取模块502用于获取回退指令或撤销操作指令,根据回退指令回退至模块化的安装包对应的部署版本。获取模块502还用于根据撤销操作指令撤销至模块化的安装包对应的部署版本。
上述区块链部署装置中,根据模块化的安装包能生成区块链的部署版本,获取回退指令或撤销操作指令,根据回退指令能回退至模块化的安装包对应的区块链的部署版本,根据撤销操作指令能撤销至模块化的安装包对应的区块链的部署版本,能一次性回退或撤销至整个模块化的安装包对应的区块链的部署版本,而不是逐个区块链组件进行版本的回退或撤销操作,提高了区块链的部署版本的回退和撤销操作效率。
在一个实施例中,该区块链部署装置还包括展示模块,其中展示模块用于在终端展示所有区块链的部署版本的版本记录。获取模块502用于根据回退指令回退至回退指令对应的区块链的部署版本。
上述区块链部署装置中,在终端展示所有区块链的部署版本的版本记录,根据回退指令回退至回退指令对应的区块链的部署版本,能够更加全面且直观地展示区块链的部署历史,并且能回退到回退指令指定的区块链的部署版本,提高了区块链的部署版本的回退效率。
在一个实施例中,该区块链部署装置还包括生成模块。其中,生成模块用于根据模块化的安装包生成区块链的部署版本。获取模块502用于获取撤销版本指令,根据撤销版本指令撤销模块化的安装包对应的部署版本。
上述区块链部署装置中,根据模块化的安装包能生成区块链的部署版本,获取撤销指令,根据撤销指令一次性撤销整个模块化的安装包对应的区块链的部署版本,而不是逐个区块链组件进行版本的撤销,提高了区块链的部署版本的撤销效率。
在一个实施例中,获取模块502还用于获取多个区块链组件对应的公共参数文件,获取元数据信息文件。组装模块504还用于将区块链组件的公共参数文件、元数据信息文件和多个区块链组件中每个区块链组件的配置文件保存至同一文件夹中,并组合成模块化的安装包。
上述区块链部署装置中,获取多个组件对应的公共参数文件和元数据信息文件,将区块链组件的公共参数文件、元数据信息文件和每个区块链组件的配置文件保存至同一文件夹中,组合成模块化的安装包,能部署区块链,并能根据安装包展示该安装包对应的元数据信息。
关于区块链部署装置的具体限定可以参见上文中对于区块链部署装置的限定,在此不再赘述。上述区块链部署装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储区块链部署数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种区块链部署方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:获取多个区块链组件中每个区块链组件的配置文件;将多个区块链组件中每个区块链组件的配置文件组合成模块化的安装包;根据模块化的安装包在容器中部署区块链。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当安装包中的一区块链组件的配置文件运行成功时,运行与区块链组件具有依赖关系的区块链组件的配置文件;当多个区块链组件中每个区块链组件的配置文件均运行完毕时,在容器中完成区块链部署。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:按照依赖关系获取每个区块链组件的配置文件和与每个区块链组件具有依赖关系的区块链组件的配置文件的运行顺序;当安装包中的一区块链组件的配置文件运行成功时,按照运行顺序运行与区块链组件具有依赖关系的区块链组件的配置文件。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据模块化的安装包生成区块链的部署版本;获取回退指令或撤销操作指令;根据回退指令回退至模块化的安装包对应的部署版本;或者,根据撤销操作指令撤销至模块化的安装包对应的部署版本。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:在终端展示所有区块链的部署版本的版本记录;根据回退指令回退至回退指令对应的区块链的部署版本。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据模块化的安装包生成区块链的部署版本;获取撤销版本指令;根据撤销版本指令撤销模块化的安装包对应的部署版本。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取多个区块链组件对应的公共参数文件;获取元数据信息文件;将区块链组件的公共参数文件、元数据信息文件和多个区块链组件中每个区块链组件的配置文件保存至同一文件夹中,并组合成模块化的安装包。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取多个区块链组件中每个区块链组件的配置文件;将多个区块链组件中每个区块链组件的配置文件组合成模块化的安装包;根据模块化的安装包在容器中部署区块链。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当安装包中的一区块链组件的配置文件运行成功时,运行与区块链组件具有依赖关系的区块链组件的配置文件;当多个区块链组件中每个区块链组件的配置文件均运行完毕时,在容器中完成区块链部署。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:按照依赖关系获取每个区块链组件的配置文件和与每个区块链组件具有依赖关系的区块链组件的配置文件的运行顺序;当安装包中的一区块链组件的配置文件运行成功时,按照运行顺序运行与区块链组件具有依赖关系的区块链组件的配置文件。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据模块化的安装包生成区块链的部署版本;获取回退指令或撤销操作指令;根据回退指令回退至模块化的安装包对应的部署版本;或者,根据撤销操作指令撤销至模块化的安装包对应的部署版本。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在终端展示所有区块链的部署版本的版本记录;根据回退指令回退至回退指令对应的区块链的部署版本。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:据模块化的安装包生成区块链的部署版本;获取撤销版本指令;根据撤销版本指令撤销模块化的安装包对应的部署版本。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取多个区块链组件对应的公共参数文件;获取元数据信息文件;将区块链组件的公共参数文件、元数据信息文件和多个区块链组件中每个区块链组件的配置文件保存至同一文件夹中,并组合成模块化的安装包。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种区块链部署方法,所述方法包括:
获取多个区块链组件中每个区块链组件的配置文件;
将所述多个区块链组件中每个区块链组件的配置文件组合成模块化的安装包;
根据所述模块化的安装包在容器中部署区块链。
2.根据权利要求1所述的方法,其特征在于,所述根据所述模块化的安装包在容器中部署区块链,包括:
当所述安装包中的一区块链组件的配置文件运行成功时,运行与所述区块链组件具有依赖关系的区块链组件的配置文件;
当所述多个区块链组件中每个区块链组件的配置文件均运行完毕时,在所述容器中完成区块链部署。
3.根据权利要求2所述的方法,其特征在于,所述当所述安装包中的一区块链组件的配置文件运行成功时,运行与所述区块链组件具有依赖关系的区块链组件的配置文件,包括:
按照依赖关系获取每个区块链组件的配置文件和与所述每个区块链组件具有依赖关系的区块链组件的配置文件的运行顺序;
当所述安装包中的一区块链组件的配置文件运行成功时,按照所述运行顺序运行与所述区块链组件具有依赖关系的区块链组件的配置文件。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述模块化的安装包生成区块链的部署版本;
获取回退指令或撤销操作指令;
根据所述回退指令回退至所述模块化的安装包对应的部署版本;
或者,根据所述撤销操作指令撤销至所述模块化的安装包对应的部署版本。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在终端展示所有区块链的部署版本的版本记录;
所述根据所述回退指令回退至所述模块化的安装包对应的部署版本,包括:
根据所述回退指令回退至所述回退指令对应的区块链的部署版本。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述模块化的安装包生成区块链的部署版本;
获取撤销版本指令;
根据所述撤销版本指令撤销所述模块化的安装包对应的所述部署版本。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述多个区块链组件对应的公共参数文件;
获取元数据信息文件;
所述将所述多个区块链组件中每个区块链组件的配置文件组合成模块化的安装包,包括:
将所述区块链组件的公共参数文件、所述元数据信息文件和所述多个区块链组件中每个区块链组件的配置文件保存至同一文件夹中,并组合成模块化的安装包。
8.一种区块链部署装置,其特征在于,所述装置包括:
获取模块,用于获取多个区块链组件中每个区块链组件的配置文件;
组合模块,用于将所述多个区块链组件中每个区块链组件的配置文件组合成模块化的安装包;
部署模块,用于根据所述模块化的安装包在容器中部署区块链。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN201910087407.5A 2019-01-29 2019-01-29 区块链部署方法、装置、计算机设备和存储介质 Active CN109933338B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910087407.5A CN109933338B (zh) 2019-01-29 2019-01-29 区块链部署方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910087407.5A CN109933338B (zh) 2019-01-29 2019-01-29 区块链部署方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN109933338A true CN109933338A (zh) 2019-06-25
CN109933338B CN109933338B (zh) 2023-06-06

Family

ID=66985316

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910087407.5A Active CN109933338B (zh) 2019-01-29 2019-01-29 区块链部署方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN109933338B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110601896A (zh) * 2019-09-20 2019-12-20 腾讯科技(深圳)有限公司 一种基于区块链节点的数据处理方法以及设备
CN112486518A (zh) * 2020-12-01 2021-03-12 北京微芯区块链与边缘计算研究院 共识算法装配方法及装置
CN114128214A (zh) * 2019-07-24 2022-03-01 国际商业机器公司 用于配置区块链的安全层
CN114253628A (zh) * 2021-12-22 2022-03-29 金蝶软件(中国)有限公司 一种中间件的自动部署装置及自动部署方法
WO2022160904A1 (zh) * 2021-01-29 2022-08-04 蚂蚁区块链科技(上海)有限公司 自动化部署区块链网络的方法、装置及云计算平台

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120101801A1 (en) * 2010-10-26 2012-04-26 Rudolf Erik Van Dorsselaer System and method for deploying a software program
US20130117424A1 (en) * 2011-11-08 2013-05-09 Vmware, Inc. Computer Device and Method of Providing Configuration Files in a Computer Device
CN105704188A (zh) * 2014-11-27 2016-06-22 华为软件技术有限公司 应用与服务的部署方法和装置
WO2018053048A1 (en) * 2016-09-13 2018-03-22 Nutanix, Inc. Massively parallel autonomous reimaging of nodes in a computing cluster
US9983891B1 (en) * 2017-03-21 2018-05-29 Veritas Technologies Llc Systems and methods for distributing configuration templates with application containers
US20180260201A1 (en) * 2017-03-08 2018-09-13 International Business Machines Corporation Intelligent software deployment on an iaas platform
CN108762769A (zh) * 2018-06-04 2018-11-06 万惠投资管理有限公司 微服务应用编排和部署方法、装置及计算机终端
CN108964982A (zh) * 2018-06-13 2018-12-07 众安信息技术服务有限公司 用于实现区块链的多节点的部署的方法、装置及存储介质
CN109062655A (zh) * 2018-06-05 2018-12-21 腾讯科技(深圳)有限公司 一种容器化云平台及服务器
CN109165020A (zh) * 2018-07-25 2019-01-08 山东中创软件商用中间件股份有限公司 应用编排方法、装置、设备以及计算机可读存储介质
CN109194506A (zh) * 2018-08-16 2019-01-11 北京京东尚科信息技术有限公司 区块链网络部署方法、平台及计算机存储介质
CN109271170A (zh) * 2018-09-05 2019-01-25 杭州数梦工场科技有限公司 一种分布式***部署方法、***、电子设备及存储介质

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120101801A1 (en) * 2010-10-26 2012-04-26 Rudolf Erik Van Dorsselaer System and method for deploying a software program
US20130117424A1 (en) * 2011-11-08 2013-05-09 Vmware, Inc. Computer Device and Method of Providing Configuration Files in a Computer Device
CN105704188A (zh) * 2014-11-27 2016-06-22 华为软件技术有限公司 应用与服务的部署方法和装置
WO2018053048A1 (en) * 2016-09-13 2018-03-22 Nutanix, Inc. Massively parallel autonomous reimaging of nodes in a computing cluster
US20180260201A1 (en) * 2017-03-08 2018-09-13 International Business Machines Corporation Intelligent software deployment on an iaas platform
US9983891B1 (en) * 2017-03-21 2018-05-29 Veritas Technologies Llc Systems and methods for distributing configuration templates with application containers
CN108762769A (zh) * 2018-06-04 2018-11-06 万惠投资管理有限公司 微服务应用编排和部署方法、装置及计算机终端
CN109062655A (zh) * 2018-06-05 2018-12-21 腾讯科技(深圳)有限公司 一种容器化云平台及服务器
CN108964982A (zh) * 2018-06-13 2018-12-07 众安信息技术服务有限公司 用于实现区块链的多节点的部署的方法、装置及存储介质
CN109165020A (zh) * 2018-07-25 2019-01-08 山东中创软件商用中间件股份有限公司 应用编排方法、装置、设备以及计算机可读存储介质
CN109194506A (zh) * 2018-08-16 2019-01-11 北京京东尚科信息技术有限公司 区块链网络部署方法、平台及计算机存储介质
CN109271170A (zh) * 2018-09-05 2019-01-25 杭州数梦工场科技有限公司 一种分布式***部署方法、***、电子设备及存储介质

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
HGFGOODCREATE: "helm 部署和简单使用", 《HTTPS://MY.OSCHINA.NET/HGFDOING/BLOG/2254445》 *
WEIXIN_34227447: "Helm介绍", 《HTTPS://BLOG.CSDN.NET/WEIXIN_34227447/ARTICLE/DETAILS/86085606》 *
企鹅号 – DOCKER: "使用Helm在Kubernetes上部署区块链", 《HTTPS://CLOUD.TENCENT.COM/DEVELOPER/NEWS/136162》 *
武少波等: "分布式***自动部署中的组件依赖配置", 《信息技术》 *
菲宇: "kubernetes之helm简介、安装、配置、使用指南", 《HTTPS://BLOG.CSDN.NET/BBWANGJ/ARTICLE/DETAILS/81087911》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114128214A (zh) * 2019-07-24 2022-03-01 国际商业机器公司 用于配置区块链的安全层
CN114128214B (zh) * 2019-07-24 2024-05-24 国际商业机器公司 用于配置区块链的安全层
CN110601896A (zh) * 2019-09-20 2019-12-20 腾讯科技(深圳)有限公司 一种基于区块链节点的数据处理方法以及设备
CN112486518A (zh) * 2020-12-01 2021-03-12 北京微芯区块链与边缘计算研究院 共识算法装配方法及装置
CN112486518B (zh) * 2020-12-01 2024-03-12 北京微芯区块链与边缘计算研究院 共识算法装配方法及装置
WO2022160904A1 (zh) * 2021-01-29 2022-08-04 蚂蚁区块链科技(上海)有限公司 自动化部署区块链网络的方法、装置及云计算平台
CN114253628A (zh) * 2021-12-22 2022-03-29 金蝶软件(中国)有限公司 一种中间件的自动部署装置及自动部署方法

Also Published As

Publication number Publication date
CN109933338B (zh) 2023-06-06

Similar Documents

Publication Publication Date Title
CN109933338A (zh) 区块链部署方法、装置、计算机设备和存储介质
CN104793946B (zh) 基于云计算平台的应用部署方法和***
EP1857946B1 (en) Systems and methods for migrating data
US7716254B2 (en) System for modeling architecture for business systems and methods thereof
US9477727B2 (en) Abstracting data for use by a mobile device having occasional connectivity
US9836297B2 (en) Computer implemented method and system for automatically deploying and versioning scripts in a computing environment
CN109947773A (zh) 在多租户数据库***中部署对键模式的改变
CN101217571B (zh) 用于多副本数据网格***中的写/读文件操作的方法
CN102158540A (zh) 分布式数据库实现***及方法
CN109669709A (zh) 一种区块链升级的数据迁移方法及数据迁移***
CN104517181B (zh) 一种核电站企业内容管理***及方法
CN104714858A (zh) 数据备份方法及装置、数据恢复方法及装置
CN105808428A (zh) 一种对分布式文件***进行统一性能测试的方法
US10922307B2 (en) Automated transaction engine
CN102355499B (zh) 云计算***
CN109299172A (zh) 一种基于Spring Boot在不同环境的数据源接入方法和装置
CN111684437B (zh) 按时间顺序排序的错位更新键-值存储***
CN108205454A (zh) 基于可扩展模板库的数据管理页面自动生成方法及***
US20150178122A1 (en) Method and system for providing a high-availability application
CN115759955A (zh) 一种基于区块链的业务流程执行引擎
US11630650B2 (en) Systems and methods for creating enterprise software
CN108196831A (zh) 业务***的构建方法和装置
EP2343658A1 (en) Federation as a process
CN115576903B (zh) 一种文件***构建方法、计算设备及存储介质
CN111950990A (zh) 一种基于Spring的流程状态机***及其处理方法

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