CN109800056A - 一种基于容器的区块链部署方法 - Google Patents

一种基于容器的区块链部署方法 Download PDF

Info

Publication number
CN109800056A
CN109800056A CN201910037866.2A CN201910037866A CN109800056A CN 109800056 A CN109800056 A CN 109800056A CN 201910037866 A CN201910037866 A CN 201910037866A CN 109800056 A CN109800056 A CN 109800056A
Authority
CN
China
Prior art keywords
block chain
container
cluster
method based
dispositions method
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.)
Pending
Application number
CN201910037866.2A
Other languages
English (en)
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.)
Hangzhou Qulian Technology Co Ltd
Original Assignee
Hangzhou Qulian 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 Hangzhou Qulian Technology Co Ltd filed Critical Hangzhou Qulian Technology Co Ltd
Priority to CN201910037866.2A priority Critical patent/CN109800056A/zh
Publication of CN109800056A publication Critical patent/CN109800056A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于容器的区块链部署方法。包括如下步骤:1)搭建kubernets容器集群;2)制作包含操作系统,区块链安装包,守护进程,开机启动脚本的Docker镜像;3)创建容器编排文件,定义容器实例数量,使用的镜像ID,运行的端口,NAT网关ID,弹性IP;4)调用Kubectl命令行工具,连接步骤1)中创建好的容器集群,使用步骤3)中的容器编排文件,加载步骤2)中制作的docker镜像,创建区块链容器应用;5)通过GRPC与容器中的守护进程通信,调用启动区块链的命令,传入启动参数,启动区块链;调用检查区块链状态的命令,检查区块链是否启动成功,完成区块链的部署。本发明实现了基于容器的区块链部署方法,解决了部署区块链操作复杂,速度慢的问题。

Description

一种基于容器的区块链部署方法
技术领域
本发明涉及区块链技术、容器技术,尤其涉及一种基于容器的区块链部署方法。
背景技术
区块链技术,区块链是一种新型去中心化分布式账本技术,能安全地存储数字货币交易或其他数据,特点是存储在区块链上的信息不可伪造和篡改,区块链共识算法驱动区块链上的每个节点都参与到交易的验证过程中,保证区块链上交易都是经过确认可信的,区块链上每个节点都维护一个公共的账本,用于存储区块链网络上所有用户的余额和智能合约数据,任何一个节点对自己所维护的账本的修改都将不被其他节点所承认,从而保证公共账本不可被伪造和篡改。
容器技术,容器是轻量级的操作系统级虚拟化,可以让我们在一个资源隔离的进程中运行应用及其依赖项。运行应用程序所必需的组件都将打包成一个镜像并可以复用。执行镜像时,它运行在一个隔离环境中,并且不会共享宿主机的内存、CPU以及磁盘,这就保证了容器内进程不能监控容器外的任何进程。
区块链技术是当下很热门的新兴技术,由于区块链的去中心化特性,往往需要部署在多台服务器上,对于用户来说,要部署一条区块链就显得比较困难了。用户必须先拥有多台服务器,再去下载相应的区块链安装包,上传到不同的机器,并依次登录各个服务器,去安装区块链,启动区块链。整个操作流程步骤复杂,容易出错,且时间比较久。
发明内容
本发明的目的是针对部署区块链操作复杂,速度慢的痛点,提供一种基于容器的区块链部署方法,可以帮助区块链从业者快速地部署属于自己的区块链。
本发明的目的是通过以下技术方案来实现:一种基于容器的区块链部署方法,包括如下步骤:
1)创建Kubernetes容器集群;
2)制作包含操作系统,区块链安装包,守护进程,开机启动脚本的Docker镜像;
3)创建容器编排文件,定义容器运行的实例数,使用的镜像ID,运行的端口,NAT网关ID,弹性IP;
4)调用Kubectl命令行工具,连接步骤1)中创建好的容器集群,使用步骤3)中的容器编排文件,加载步骤2)中制作的docker镜像,创建区块链容器应用;
5)通过GRPC与云主机守护进程通信,调用启动区块链的命令,传入启动参数,启动区块链;调用检查区块链状态的命令,检查区块链是否启动成功,完成区块链的部署。
进一步地,步骤1)Kubernets容器集群,是一个运行kubernets集群管理系统的物理机或虚拟机集群,其提供了容器化应用的运行环境。
进一步地,步骤2)中Docker容器加载镜像,可以得到一个供区块链运行的操作系统环境。
进一步地,步骤3)中容器编排文件是一个yaml模板文件,其描述了容器应用的运行信息。
进一步地,步骤4)中Kubectl命令行工具是Kubernets集群的管理客户端。通过Kubectl,可以与Kubernets集群进行通信,管理容器应用的生命周期。
进一步地,容器应用运行后,需要借助GRPC通信,与容器上的守护进程进行交互,发送启动区块链以及检查区块链状态的命令,并传入相应的参数,来确保区块链程序的正常启动,完成区块链的部署。
本发明的有益效果是:本发明采用容器技术来实现区块链的部署,通过预先搭建好的容器集群,使用docker容器镜像,可以在秒级内快速地创建区块链应用,大大提升了部署的效率。同时通过守护进程来控制区块链程序的配置变更,节点启停等,可以满足不同链的个性化配置,大大提升了部署的灵活性。相比于传统的区块链部署方式,一是解决了用户的服务器资源申请问题;二是简化了区块链的部署流程,不用逐一登录各个服务器来修改区块链的配置文件,提高了部署的效率与灵活性。综上,本发明可以有效地解决区块链的部署问题,加速区块链技术的推广与普及。
附图说明
图1是基于容器的区块链部署步骤流程;
具体实施方式
下面根据附图和具体实施例详细描述本发明,本发明的目的和效果将变得更加明显。
如图1所示,一种基于容器的区块链部署方法,包括如下步骤:
1)创建Kubernetes容器集群:对接提供容器服务的云厂商,通过云服务控制台,设置集群的规模,类型,节点数量,网络等,搭建kubernets容器集群,基于云平台部署的容器集群,可以方便地实现集群规模的扩展。
2)制作包含操作系统,区块链安装包,守护进程,开机启动脚本的Docker镜像:使用文本编辑器,编写dockerfile,对操作系统,区块链安装包,守护进程程序,开机启动脚本等进行编排,调用docker命令行工具,根据dockerfile制作容器镜像,并将容器镜像上传到镜像中心,获得镜像ID。
3)创建容器编排文件,定义容器运行的实例数,使用的镜像ID,运行的端口,NAT网关ID,弹性IP:使用文本编辑器,编辑容器编排文件,对容器实例的数量,容器镜像ID,运行端口号,NAT网关ID,弹性IP这些属性进行抽取,编辑完成后将文件以yaml的格式进行保存。
4)调用Kubectl命令行工具,连接步骤1)中创建好的容器集群,使用步骤3)中的容器编排文件,加载步骤2)中制作的docker镜像,创建区块链容器应用;
5)通过GRPC与云主机守护进程通信,调用启动区块链的命令,传入启动参数,启动区块链;调用检查区块链状态的命令,检查区块链是否启动成功,完成区块链的部署。容器应用启动后,开机启动脚本会启动守护进程程序,进而可以通过GRPC调用,与守护进程进行通信,调用启动区块链的命令,并将容器的运行信息传输给守护进程,完成区块链配置文件的修改,并调用启动脚本启动区块链;区块链启动后,调用检查区块链状态的命令,对区块链的状态进行检查,判断区块链是否正确启动,最终完成整个区块链的部署流程。
进一步地,步骤1)Kubernets容器集群,是一个运行kubernets集群管理系统的物理机或虚拟机集群,其提供了容器化应用的运行环境。容器集群是在区块链部署之前搭建完成的,集群可以使用物理机或者虚拟机,通过云平台来搭建容器集群,便于业务需求上涨时,可以方便的集群的规模进行扩展。
进一步地,步骤2)中Docker容器加载镜像,可以得到一个供区块链运行的操作系统环境。Dokcer镜像是在区块链部署之前制作完成的,Dockerfile是一系列命令和参数构成的脚本,这些命令应用于基础的centos镜像,并最终构建出一个包含区块链程序,守护进程和开机启动脚本的区块链应用镜像;
进一步地,步骤3)中容器编排文件是一个yaml模板文件,其描述了容器应用的运行信息。容器编排文件是在区块链部署之前制作完成的,其包含了deployment,service,security-secret等kubernets对象元素,描述了容器应用的结构信息,并暴露了容器实例数量,镜像ID,运行端口,NAT网关ID,弹性IP属性,供用户实际部署应用时进行传参。
进一步地,步骤4)中Kubectl命令行工具是Kubernets集群的管理客户端。通过Kubectl,可以与Kubernets集群进行通信,管理容器应用的生命周期。该步骤是真正创建容器应用所要做的操作,用户根据区块链部署的类型和规模等,传入应用运行所需的参数信息,kubernets收到创建容器应用请求,便会对集群的资源进行调度,将应用创建到合适的节点上。
进一步地,容器应用运行后,需要借助GRPC通信,与容器上的守护进程进行交互,发送启动区块链以及检查区块链状态的命令,并传入相应的参数,来确保区块链程序的正常启动,完成区块链的部署。该步骤是实际启动区块链的步骤,步骤4)中完成了区块链运行所需容器环境的创建,继而通过GRPC调用,守护进程实现对区块链配置文件的修改,并调用区块链的启动脚本,实现区块链的启动;接着守护进程对区块链的运行状态进行检查,确保区块链正常启动,完成整个部署的流程。

Claims (6)

1.一种基于容器的区块链部署方法,其特征在于,包括如下步骤:
1)创建Kubernetes容器集群。
2)制作包含操作系统,区块链安装包,守护进程,开机启动脚本的Docker镜像。
3)创建容器编排文件,定义容器运行的实例数,使用的镜像ID,运行的端口,NAT网关ID,弹性IP。
4)调用Kubectl命令行工具,连接步骤1)中创建好的容器集群,使用步骤3)中的容器编排文件,加载步骤2)中制作的docker镜像,创建区块链容器应用。
5)通过GRPC与云主机守护进程通信,调用启动区块链的命令,传入启动参数,启动区块链;调用检查区块链状态的命令,检查区块链是否启动成功,完成区块链的部署。
2.如权利要求1所述的一种基于容器的区块链部署方法,其特征在于,步骤1)Kubernets容器集群,是一个运行kubernets集群管理系统的物理机或虚拟机集群,其提供了容器化应用的运行环境。
3.如权利要求1所述的一种基于容器的区块链部署方法,其特征在于,步骤2)中Docker容器加载镜像,可以得到一个供区块链运行的操作系统环境。
4.如权利要求1所述的一种基于容器的区块链部署方法,其特征在于,步骤3)中容器编排文件是一个yaml模板文件,其描述了容器应用的运行信息。
5.如权利要求1所述的一种基于容器的区块链部署方法,其特征在于,步骤4)中Kubectl命令行工具是Kubernets集群的管理客户端。通过Kubectl,可以与Kubernets集群进行通信,管理容器应用的生命周期。
6.如权利要求1所述的一种基于容器的区块链部署方法,其特征在于,容器应用运行后,需要借助GRPC通信,与容器上的守护进程进行交互,发送启动区块链以及检查区块链状态的命令,并传入相应的参数,来确保区块链程序的正常启动,完成区块链的部署。
CN201910037866.2A 2019-01-16 2019-01-16 一种基于容器的区块链部署方法 Pending CN109800056A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910037866.2A CN109800056A (zh) 2019-01-16 2019-01-16 一种基于容器的区块链部署方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910037866.2A CN109800056A (zh) 2019-01-16 2019-01-16 一种基于容器的区块链部署方法

Publications (1)

Publication Number Publication Date
CN109800056A true CN109800056A (zh) 2019-05-24

Family

ID=66559406

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910037866.2A Pending CN109800056A (zh) 2019-01-16 2019-01-16 一种基于容器的区块链部署方法

Country Status (1)

Country Link
CN (1) CN109800056A (zh)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110175077A (zh) * 2019-05-27 2019-08-27 浪潮云信息技术有限公司 一种基于命令管理容器资源的方法及系统
CN110601896A (zh) * 2019-09-20 2019-12-20 腾讯科技(深圳)有限公司 一种基于区块链节点的数据处理方法以及设备
CN110995480A (zh) * 2019-11-25 2020-04-10 百度在线网络技术(北京)有限公司 区块链网络部署方法、装置、电子设备和介质
CN111026414A (zh) * 2019-12-12 2020-04-17 杭州安恒信息技术股份有限公司 一种基于kubernetes的HDP平台部署方法
CN111130841A (zh) * 2019-11-21 2020-05-08 深圳壹账通智能科技有限公司 区块链网络部署方法、电子装置及计算机可读存储介质
CN111245910A (zh) * 2019-12-31 2020-06-05 杭州趣链科技有限公司 一种区块链轻节点多副本的部署方法
CN111324599A (zh) * 2020-01-20 2020-06-23 中国科学院计算技术研究所 一种区块链实验系统及管理方法
CN111459573A (zh) * 2020-04-01 2020-07-28 济南浪潮高新科技投资发展有限公司 一种智能合约执行环境的启动方法以及装置
CN111610985A (zh) * 2020-05-13 2020-09-01 麒麟软件有限公司 一种国产平台上的kubernetes集群快速部署方法
CN111787116A (zh) * 2020-07-07 2020-10-16 上海道客网络科技有限公司 一种基于区块链技术的容器镜像可信认证的系统与方法
WO2021012500A1 (zh) * 2019-07-23 2021-01-28 平安科技(深圳)有限公司 基于区块链的并行系统部署方法、装置和计算机设备
CN112395039A (zh) * 2019-08-16 2021-02-23 北京神州泰岳软件股份有限公司 一种Kubernetes集群的管理方法和装置
CN112506668A (zh) * 2020-12-22 2021-03-16 上海万向区块链股份公司 一种基于容器化的图像识别算法部署方法、系统及介质
CN112968897A (zh) * 2021-02-25 2021-06-15 浙江清华长三角研究院 一种在去中心化系统中运行的容器计算方法
CN113110883A (zh) * 2021-06-11 2021-07-13 北京百度网讯科技有限公司 区块链系统的启动方法、装置、设备和存储介质
CN113256296A (zh) * 2021-07-01 2021-08-13 支付宝(杭州)信息技术有限公司 智能合约执行方法、系统、装置和存储介质
CN113312429A (zh) * 2021-06-22 2021-08-27 工银科技有限公司 区块链中的智能合约管理系统、方法、介质和产品
CN113572643A (zh) * 2021-07-24 2021-10-29 上海边界智能科技有限公司 一种基于容器化技术的区块链多链及跨链网络的部署方法
CN114006753A (zh) * 2021-10-29 2022-02-01 中国电信股份有限公司 一种容器镜像层下载拦截方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106790483A (zh) * 2016-12-13 2017-05-31 武汉邮电科学研究院 基于容器技术的Hadoop集群系统及快速构建方法
CN108512935A (zh) * 2018-04-16 2018-09-07 腾讯科技(深圳)有限公司 数据服务系统、方法、服务器和计算机可读存储介质
CN109194506A (zh) * 2018-08-16 2019-01-11 北京京东尚科信息技术有限公司 区块链网络部署方法、平台及计算机存储介质
CN109213568A (zh) * 2018-08-16 2019-01-15 北京京东尚科信息技术有限公司 一种区块链网络服务平台及其部署方法、存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106790483A (zh) * 2016-12-13 2017-05-31 武汉邮电科学研究院 基于容器技术的Hadoop集群系统及快速构建方法
CN108512935A (zh) * 2018-04-16 2018-09-07 腾讯科技(深圳)有限公司 数据服务系统、方法、服务器和计算机可读存储介质
CN109194506A (zh) * 2018-08-16 2019-01-11 北京京东尚科信息技术有限公司 区块链网络部署方法、平台及计算机存储介质
CN109213568A (zh) * 2018-08-16 2019-01-15 北京京东尚科信息技术有限公司 一种区块链网络服务平台及其部署方法、存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
华为DOCKER实践小组: "《Docker进阶与实战》", 29 February 2016, 机械工业出版社 *
木环: "基于容器技术的阿里云区块链优势和实现方法", 《云栖社区,HTTPS://HTTPS://YQ.ALIYUN.COM/ARTICLES/379960?SPM=A2C4E.11163080.SEARCHBLOG.69.64C46A51TWBXYB》 *

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110175077A (zh) * 2019-05-27 2019-08-27 浪潮云信息技术有限公司 一种基于命令管理容器资源的方法及系统
WO2021012500A1 (zh) * 2019-07-23 2021-01-28 平安科技(深圳)有限公司 基于区块链的并行系统部署方法、装置和计算机设备
CN112395039B (zh) * 2019-08-16 2024-01-19 北京神州泰岳软件股份有限公司 一种Kubernetes集群的管理方法和装置
CN112395039A (zh) * 2019-08-16 2021-02-23 北京神州泰岳软件股份有限公司 一种Kubernetes集群的管理方法和装置
CN110601896A (zh) * 2019-09-20 2019-12-20 腾讯科技(深圳)有限公司 一种基于区块链节点的数据处理方法以及设备
CN111130841B (zh) * 2019-11-21 2022-07-08 深圳壹账通智能科技有限公司 区块链网络部署方法、电子装置及计算机可读存储介质
WO2021098140A1 (zh) * 2019-11-21 2021-05-27 深圳壹账通智能科技有限公司 区块链网络部署方法、电子装置及计算机可读存储介质
CN111130841A (zh) * 2019-11-21 2020-05-08 深圳壹账通智能科技有限公司 区块链网络部署方法、电子装置及计算机可读存储介质
CN110995480A (zh) * 2019-11-25 2020-04-10 百度在线网络技术(北京)有限公司 区块链网络部署方法、装置、电子设备和介质
CN111026414A (zh) * 2019-12-12 2020-04-17 杭州安恒信息技术股份有限公司 一种基于kubernetes的HDP平台部署方法
CN111026414B (zh) * 2019-12-12 2023-09-08 杭州安恒信息技术股份有限公司 一种基于kubernetes的HDP平台部署方法
CN111245910A (zh) * 2019-12-31 2020-06-05 杭州趣链科技有限公司 一种区块链轻节点多副本的部署方法
CN111324599A (zh) * 2020-01-20 2020-06-23 中国科学院计算技术研究所 一种区块链实验系统及管理方法
CN111324599B (zh) * 2020-01-20 2023-04-07 中国科学院计算技术研究所 一种区块链实验系统及管理方法
CN111459573A (zh) * 2020-04-01 2020-07-28 济南浪潮高新科技投资发展有限公司 一种智能合约执行环境的启动方法以及装置
CN111459573B (zh) * 2020-04-01 2023-09-15 山东浪潮科学研究院有限公司 一种智能合约执行环境的启动方法以及装置
CN111610985B (zh) * 2020-05-13 2023-05-05 麒麟软件有限公司 一种国产平台上的kubernetes集群快速部署方法
CN111610985A (zh) * 2020-05-13 2020-09-01 麒麟软件有限公司 一种国产平台上的kubernetes集群快速部署方法
CN111787116A (zh) * 2020-07-07 2020-10-16 上海道客网络科技有限公司 一种基于区块链技术的容器镜像可信认证的系统与方法
CN112506668A (zh) * 2020-12-22 2021-03-16 上海万向区块链股份公司 一种基于容器化的图像识别算法部署方法、系统及介质
CN112968897A (zh) * 2021-02-25 2021-06-15 浙江清华长三角研究院 一种在去中心化系统中运行的容器计算方法
US11558207B2 (en) 2021-06-11 2023-01-17 Beijing Baidu Netcom Science Technology Co., Ltd. Method and apparatus for starting up blockchain system, and non-transitory computer-readable storage medium
CN113110883A (zh) * 2021-06-11 2021-07-13 北京百度网讯科技有限公司 区块链系统的启动方法、装置、设备和存储介质
CN113312429B (zh) * 2021-06-22 2023-01-17 工银科技有限公司 区块链中的智能合约管理系统、方法、介质和产品
CN113312429A (zh) * 2021-06-22 2021-08-27 工银科技有限公司 区块链中的智能合约管理系统、方法、介质和产品
CN113256296A (zh) * 2021-07-01 2021-08-13 支付宝(杭州)信息技术有限公司 智能合约执行方法、系统、装置和存储介质
CN113572643A (zh) * 2021-07-24 2021-10-29 上海边界智能科技有限公司 一种基于容器化技术的区块链多链及跨链网络的部署方法
CN113572643B (zh) * 2021-07-24 2024-04-26 上海边界智能科技有限公司 一种基于容器化技术的区块链多链及跨链网络的部署方法
CN114006753A (zh) * 2021-10-29 2022-02-01 中国电信股份有限公司 一种容器镜像层下载拦截方法和装置

Similar Documents

Publication Publication Date Title
CN109800056A (zh) 一种基于容器的区块链部署方法
CN111355780B (zh) 一种基于区块链的物联网监控管理方法及系统
CN104580519B (zh) 一种快速部署openstack云计算平台的方法
CN107147704B (zh) 一种面向区块链的通用服务中间件系统
CN107566165B (zh) 一种发现及部署电力云数据中心可用资源的方法及系统
CN100428168C (zh) 管理虚拟机的中央处理单元利用的方法及系统
CN107704395A (zh) 一种基于Openstack下云平台自动化测试实施方法与系统
CN110601896B (zh) 一种基于区块链节点的数据处理方法以及设备
US20120173679A1 (en) Adaptation method, adapter and adapter system for network service communication
CN109542767A (zh) 基于区块链的自动化测试方法、装置、计算机设备和存储介质
CN107784068A (zh) 数据变化的获取方法、装置、存储介质、处理器及服务端
CN108400898A (zh) 云数据管理平台中资源的管理方法和装置
CN107153529A (zh) 一种嵌入式软件开发方法、装置及平台
CN114328217A (zh) 应用的测试方法、装置、设备、介质及计算机程序产品
CN112835985B (zh) 一种基于分布式账本的空间数据共享系统及方法
CN106656927A (zh) 将Linux账号加入AD域的方法及装置
CN101510870A (zh) 基于脚本和模块驱动的代码级网络协议仿真验证组织方法
CN101026511A (zh) 测试方法、系统及其配置方法和系统
CN115129423A (zh) 资源管理方法、装置、设备及存储介质
CN112181745B (zh) 一种fpga原型验证的云服务平台系统及方法
CN107493204A (zh) 一种镜像检测的方法以及装置
CN107277163A (zh) 一种设备远程映射方法及装置
CN106875184A (zh) 异常场景模拟方法、装置及设备
CN106375109A (zh) 一种交换机配置模拟下发的方法、系统及计算机
CN109660575B (zh) Nfv业务部署的实现方法和装置

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190524

RJ01 Rejection of invention patent application after publication