一种联盟链的链码管理方法、装置及终端设备制造方法及图纸

技术编号:32217691 阅读:22 留言:0更新日期:2022-02-09 17:23
本申请适用于联盟链技术领域,提供了一种联盟链的链码管理方法、装置及终端设备,包括:在接收到peer节点对链码进行对应操作的请求指令时,解析请求指令;在解析出请求指令不为链码镜像构建的请求指令时,拦截Docker容器管理模块对应的Docker接口的调用,并调用K8s容器管理模块对应的K8s接口;通过K8s接口执行与请求指令对应的链码容器操作。可先拦截Docker容器管理模块对应的Docker接口的调用,不会对链码中peer节点中链码Docker控制部分的源码进行改变,从而无需改变链码Docker控制部分本身的源码,不容易出错,可简单方便的结合K8s管理容器,提高链码对应容器管理可靠性。提高链码对应容器管理可靠性。提高链码对应容器管理可靠性。

【技术实现步骤摘要】
一种联盟链的链码管理方法、装置及终端设备


[0001]本申请属于联盟链
,尤其涉及一种联盟链的链码管理方法、装置及终端设备。

技术介绍

[0002]联盟链在部署的过程中有时会遇到需要部署多个相同或相似的链码(Chaincode,又称为智能合约),每次都需要花费大量的时间进行重复性工作,于是容器技术应运而生,容器是一种轻量级、可移植、自包含的虚拟化技术,可使得相关链码可以在几乎任何地方以相同方式运行。
[0003]Docker是一个开源的应用容器引擎,基于Docker容器技术可以是以Docker方式作为虚拟化容器在宿主机上隔离运行,Docker的镜像(Image)是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。
[0004]Kubernetes,又称K8s,能够提供的编排和管理功能,轻松完成大规模容器部署,借助K8s的编排功能,用户可以构建跨多个容器的应用服务,实现跨集群调度,扩展容器,以及长期持续管理这些容器的健康状况等,并整合网络。因此可利用K8s来实现对chaincode容器的管控,可以理解为对K8s接口(K8sAPI)的集成调用,可以通过改造链码中peer节点中链码控制部分的源码,将原来的Docker口适应性的替换K8s接口,来达到通过K8s进行管理的目的。但是需对联盟链的源码进行改造,如对peer节点中链码控制部分的源码不是很了解,容易出错,且操作也复杂繁琐,从而使得链码对应容器管理可靠性低

技术实现思路

[0005]本申请实施例提供了一种联盟链的链码管理方法、装置及终端设备,旨在解决现有链码对应容器管理可靠性低的问题。
[0006]第一方面,本申请实施例提供了一种联盟链的链码管理方法,应用于链码管理系统,所述链码管理系统包括基于Docker容器技术创建的Docker容器管理模块,链码管理系统包括基于K8s容器技术的K8s容器管理模块,所述方法包括:
[0007]在接收到peer节点对链码进行对应操作的请求指令时,解析所述请求指令;
[0008]在解析出所述请求指令不为链码镜像构建的请求指令时,拦截所述Docker容器管理模块对应的Docker接口的调用,并调用所述K8s容器管理模块对应的K8s接口;
[0009]通过所述K8s接口执行与请求指令对应的链码容器操作,所述链码容器操作包括链码容器的创建、链码容器的配置或链码容器的删除操作。
[0010]在一个实施例中,在解析所述请求指令之后,还包括:在解析出所述请求指令为链码镜像构建的请求指令时,基于所述Docker容器管理模块构建镜像;
[0011]将构建的所述镜像推送至预设镜像仓库中。
[0012]在一个实施例中,在解析出所述请求指令不为链码镜像构建的请求指令时,拦截
所述Docker容器管理模块对应的Docker接口的调用,并调用所述K8s容器管理模块对应的K8s接口,包括:
[0013]在解析出所述请求指令为链码容器创建的请求指令时,拦截所述Docker容器管理模块对应的Docker创建接口的调用,并调用所述K8s创建接口;
[0014]对应地,所述通过所述K8s接口执行与请求指令对应的链码容器操作,包括:
[0015]通过所述K8s创建接口执行链码容器创建操作。
[0016]在解析出所述请求指令不为链码镜像构建的请求指令时,拦截所述Docker容器管理模块对应的Docker接口的调用,并调用所述K8s容器管理模块对应的K8s接口,包括:
[0017]在解析出所述请求指令为链码容器配置的请求指令时,拦截所述Docker容器管理模块对应的Docker配置接口的调用,并调用k8s的配置映射创建接口;
[0018]对应地,所述通过所述K8s接口执行与请求指令对应的链码容器操作,包括:
[0019]通过所述k8s的配置映射创建接口执行链码容器配置操作。
[0020]在一个实施例中,在解析出所述请求指令不为链码镜像构建的请求指令时,拦截所述Docker容器管理模块对应的Docker接口的调用,并调用所述K8s容器管理模块对应的K8s接口,包括:
[0021]在解析出所述请求指令为链码容器删除的请求指令时,拦截所述Docker容器管理模块对应的Docker删除接口的调用,并调用K8s删除接口;
[0022]对应地,所述通过所述K8s接口执行与请求指令对应的链码容器操作,包括:
[0023]通过所述K8s删除接口执行链码容器删除操作。
[0024]在一个实施例中,所述通过所述K8s创建接口执行链码容器创建操作,包括:
[0025]从预设镜像仓库获取与所述容器创建对应的目标镜像;
[0026]根据所述目标镜像,通过所述K8s创建接口执行链码容器创建操作。
[0027]在一个实施例中,在根据所述目标镜像,通过所述K8s创建接口执行链码容器创建操作之前,还包括:
[0028]若从预设镜像仓库未获取到与所述容器创建对应的目标镜像,则基于所述Docker容器管理模块构建所述目标镜像。
[0029]在一个实施例中,所述链码管理方法还包括:
[0030]获取与所述链码对应的证书文件;
[0031]将所述证书文件上传至创建后的链码容器中。
[0032]第二方面,本申请实施例提供一种联盟链的链码管理装置,应用于链码管理系统,所述链码管理系统包括基于Docker容器技术创建的Docker容器管理模块,链码管理系统包括基于K8s容器技术的K8s容器管理模块,所述装置包括:
[0033]解析模块,用于在接收到peer节点对链码进行对应操作的请求指令时,解析所述请求指令;
[0034]调用模块,用于在解析出所述请求指令不为链码镜像构建的请求指令时,拦截所述Docker容器管理模块对应的Docker接口的调用,并调用所述K8s容器管理模块对应的K8s接口;
[0035]操作模块,用于通过所述K8s接口执行与请求指令对应的链码容器操作,所述链码容器操作包括链码容器的创建、链码容器的配置或链码容器的删除操作。
[0036]第三方面,本申请实施例提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面的联盟链的链码管理方法的步骤。
[0037]第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现上述第一方面的联盟链的链码管理方法的步骤。
[0038]第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第一方面的联盟链的链码管理方法的步骤。
[0039]本申请实施例第一方面与现有技术相比存在的有益效果是:本申请实施例在本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种联盟链的链码管理方法,应用于链码管理系统,所述链码管理系统包括基于Docker容器技术创建的Docker容器管理模块,其特征在于,链码管理系统包括基于K8s容器技术的K8s容器管理模块,所述方法包括:在接收到peer节点对链码进行对应操作的请求指令时,解析所述请求指令;在解析出所述请求指令不为链码镜像构建的请求指令时,拦截所述Docker容器管理模块对应的Docker接口的调用,并调用所述K8s容器管理模块对应的K8s接口;通过所述K8s接口执行与请求指令对应的链码容器操作,所述链码容器操作包括链码容器的创建、链码容器的配置或链码容器的删除操作。2.根据权利要求1所述的链码管理方法,其特征在于,在解析所述请求指令之后,还包括:在解析出所述请求指令为链码镜像构建的请求指令时,基于所述Docker容器管理模块构建镜像;将构建的所述镜像推送至预设镜像仓库中。3.根据权利要求1所述的链码管理方法,其特征在于,在解析出所述请求指令不为链码镜像构建的请求指令时,拦截所述Docker容器管理模块对应的Docker接口的调用,并调用所述K8s容器管理模块对应的K8s接口,包括:在解析出所述请求指令为链码容器创建的请求指令时,拦截所述Docker容器管理模块对应的Docker创建接口的调用,并调用所述K8s创建接口;对应地,所述通过所述K8s接口执行与请求指令对应的链码容器操作,包括:通过所述K8s创建接口执行链码容器创建操作。4.根据权利要求1所述的链码管理方法,其特征在于,在解析出所述请求指令不为链码镜像构建的请求指令时,拦截所述Docker容器管理模块对应的Docker接口的调用,并调用所述K8s容器管理模块对应的K8s接口,包括:在解析出所述请求指令为链码容器配置的请求指令时,拦截所述Docker容器管理模块对应的Docker配置接口的调用,并调用k8s的配置映射创建接口;对应地,所述通过所述K8s接口执行与请求指令对应的链码容器操作,包括:通过所述k8s的配置映射创建接口执行链码容器配置操作。5.根据要求权利要求1所述的链码管理方法,其特征在于,在解析出所述请求...

【专利技术属性】
技术研发人员:匡立中李伟钟蔚蔚张帅柯帆
申请(专利权)人:杭州趣链科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1