联盟链节点管理系统、方法、装置、电子设备和存储介质与流程

文档序号:24781777发布日期:2021-04-23 08:09阅读:165来源:国知局
联盟链节点管理系统、方法、装置、电子设备和存储介质与流程

1.本申请涉及区块链技术领域,尤其涉及一种联盟链节点管理系统、方法、装置、电子设备和存储介质。


背景技术:

2.一个联盟链节点,在运维方面具有一些基本操作:安装、启动、停止、重启、升级配置等。联盟链节点安装部署在独立的远端主机(实体机、虚拟机或者云ecs)上。远端主机能够接受下发的操作指令和参数,对于不同的联盟链,其指令执行的逻辑和所需要的参数也是完全不相同的。
3.一个联盟链管理平台(baas平台)需要管理多种联盟链(如hyperchain、fabric、bcos),需要同时管理多条链。相关技术中,baas平台在管理多条链的方式为:在联盟链所在的远端主机上安装对应链的链agent(下文简称为链agent),通过下发指令到链agent,链agent做出对应的动作来完成指令要求的操作。例如部署一个hyperchain节点,需要制作一个hyperchain对应的链agent,将链agent安装到远端主机上。
4.上述的管理方式,依赖于制作的链agent,但是,链agent安装过程复杂,不同的联盟链对应的链agent安装步骤都有可能不一样,对于上层联盟链管理平台来说,增加了与链agent通信的复杂度,部署的复杂度,容易出现安装失败等问题。


技术实现要素:

5.本申请提供了一种联盟链节点管理系统、方法、装置、电子设备和存储介质,用以解决现有技术中,通过链agent进行联盟链节点管理,不同的联盟链对应的链agent安装步骤不同,使得联盟链管理平台与链agent之间通信复杂度高、部署复杂度高,易安装失败的问题。
6.第一方面,本申请实施例提供了一种联盟链节点管理系统,包括:通信连接的联盟链管理平台和远端主机;
7.所述联盟链管理平台用于获取链驱动和与所述链驱动对应的链动态库,并将所述链驱动安装在所述联盟链管理平台,以及将所述链动态库安装到所述远端主机;
8.所述联盟链管理平台,还用于获取联盟链节点的管理需求和所述管理需求对应的表单数据;
9.所述链驱动,用于根据所述表单数据生成控制指令和运行参数,并通过所述联盟链管理平台发送至所述远端主机;
10.所述远端主机,用于获取所述控制指令和运行参数,并根据所述控制指令和运行参数,调用与所述链驱动对应的链动态库,以使所述链动态库执行所述控制指令。
11.可选的,所述联盟链管理平台,还用于获取所述远端主机的设备参数,根据所述设备参数在所述远端主机上部署通用主机agent;
12.所述通用主机agent,用于与所述联盟链管理平台通信,并获取所述控制指令和运
行参数。
13.可选的,所述远端主机上安装预设插件,所述远端主机具体用于:
14.根据所述控制指令启动预设插件,以通过所述预设插件加载与所述链驱动对应的链动态库;
15.根据所述运行参数运行所述链动态库,以使所述链动态库执行所述控制指令。
16.可选的,所述联盟链管理平台包括管理平台前端页面和管理平台核心子系统;
17.所述管理平台前端页面,用于获取联盟链节点的管理需求;
18.所述管理平台核心子系统,用于从所述链驱动中获取所述管理需求对应的页面信息,并将所述页面信息发送至所述管理平台前端页面;
19.所述管理平台前端页面,还用于展示所述页面信息。
20.第二方面,本申请实施例提供一种联盟链节点管理方法,应用于联盟链管理平台,所述方法包括:
21.获取联盟链节点的管理需求;
22.获取所述管理需求对应的表单数据;
23.调用链驱动,由所述链驱动根据所述表单数据生成控制指令和运行参数,并将所述控制指令和所述运行参数发送至远端主机,以使所述远端主机根据所述控制指令和运行参数,调用与所述链驱动对应的链动态库,以使所述链动态库执行所述控制指令。
24.可选的,所述获取所述管理需求对应的表单数据,包括:
25.获取与所述管理需求对应的页面信息;
26.获取与所述页面信息对应的配置信息;
27.根据所述页面信息和所述配置信息生成所述表单数据。
28.第三方面,本申请实施例提供一种联盟链节点管理方法,应用于远端主机,所述方法包括:
29.获取联盟链管理平台发送的控制指令和运行参数,所述控制指令和运行参数是所述联盟链管理平台获取联盟链节点的管理需求,及所述管理需求对应的表单数据,并调用链驱动,由所述链驱动根据所述表单数据生成的;
30.根据所述控制指令和运行参数,调用与所述链驱动对应的链动态库,以使所述链动态库执行所述控制指令。
31.可选的,所述根据所述控制指令和运行参数,调用与所述链驱动对应的链动态库,以使所述链动态库执行所述控制指令,包括:
32.根据所述控制指令启动预设插件,以通过所述预设插件加载与所述链驱动对应的链动态库;
33.根据所述运行参数运行所述链动态库,以使所述链动态库执行所述控制指令。
34.第四方面,本申请实施例提供一种联盟链节点管理装置,包括:
35.第一获取模块,用于获取联盟链节点的管理需求;
36.第二获取模块,用于获取所述管理需求对应的表单数据;
37.生成和发送模块,用于链驱动根据所述表单数据生成控制指令和运行参数,并将所述控制指令和所述运行参数发送至远端主机,以使所述远端主机根据所述控制指令和运行参数,调用与所述链驱动对应的链动态库,以使所述链动态库执行所述控制指令。
38.第五方面,本申请实施例提供一种联盟链节点管理装置,其特征在于,包括:
39.第三获取模块,用于获取联盟链管理平台发送的控制指令和运行参数,所述控制指令和运行参数是所述联盟链管理平台获取联盟链节点的管理需求,及所述管理需求对应的表单数据,并调用链驱动,由所述链驱动根据所述表单数据生成的;
40.调用模块,用于根据所述控制指令和运行参数,调用与所述链驱动对应的链动态库,以使所述链动态库执行所述控制指令。
41.第六方面,本申请实施例提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;
42.所述存储器,用于存储计算机程序;
43.所述处理器,用于执行所述存储器中所存储的程序,实现第二方面或第三方面所述的联盟链节点管理方法。
44.第七方面,本申请实施例提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现第二方面或第三方面所述的联盟链节点管理方法。
45.本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本申请实施例提供的该系统,包括通信连接的联盟链管理平台和远端主机;联盟链管理平台用于获取链驱动和与链驱动对应的链动态库,并将链驱动安装在联盟链管理平台,以及将链动态库安装到远端主机;联盟链管理平台,还用于获取联盟链节点的管理需求和管理需求对应的表单数据;链驱动,用于根据表单数据生成控制指令和运行参数,并通过联盟链管理平台发送至远端主机;远端主机,用于获取控制指令和运行参数,并根据控制指令和运行参数,调用与链驱动对应的链动态库,以使链动态库执行控制指令。本申请中,不必制作链agent,通过链驱动和链动态库共同作用,实现了联盟链节点的管理,安装过程方便、简洁。
附图说明
46.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
47.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
48.图1为本申请一实施例提供的联盟链节点管理系统的结构图;
49.图2为本申请另一实施例提供的联盟链节点管理系统的结构图;
50.图3为本申请一实施例提供的联盟链节点管理方法的流程图;
51.图4为本申请另一实施例提供的联盟链节点管理方法的流程图;
52.图5为本申请一实施例提供的联盟链节点管理装置的结构图;
53.图6为本申请一实施例提供的联盟链节点管理装置的结构图;
54.图7为本申请一实施例提供的电子设备的结构图。
具体实施方式
55.为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是
本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
56.在以下的描述中,涉及到“一个具体实施例”,其描述了所有可能实施例的子集,但是可以理解,“一个具体实施例”,其描述了所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
57.除非另有定义,本文所使用的所有的技术的科学技术与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
58.在对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
59.(1)交易(transaction),等同于计算机术语“事务”,交易包括了需要提交到区块链网络执行的操作,并非单指商业语境中的交易,鉴于在区块链技术中约定俗称地使用了“交易”这一术语,本发明实施例遵循了这一习惯。
60.例如,部署(deploy)交易用于向区块链网络中的结点安装指定的智能合约并准备好被调用;调用(invoke)交易用于通过调用智能合约在区块链中追加交易的记录,并对区块链的状态数据库进行操作,包括更新操作(包括增加、删除和修改状态数据库中的键值对)和查询操作(即查询状态数据库中的键值对)。
61.(2)联盟链:一种其共识过程受到预选节点控制的区块链。常见的联盟链有hyperchain、fabric,bcos等。
62.(3)agent:一种处于一定环境下能够接受外界下发的指令并执行对应操作的软件。
63.(4)动态库:即动态链接库(dynamic link library),实现共享函数库概念的一种方式,例如.dll、.so结尾的文件即为动态库。利用动态库,进程可以调用不属于其可执行代码的函数。
64.(5)联盟链管理平台(baas平台):一个特定网络环境下提供多机构下联盟链节点的部署和配置,实现对各机构的节点进行管理的平台。
65.(6)链驱动:一种能在联盟链管理平台上运行且生命周期受联盟链管理平台控制的可执行程序。它能提供web页面给联盟链管理平台。
66.(7)plugin:一个可执行程序,只有一个功能,加载动态库进行对应方法的执行,可以说是动态库的运行环境。
67.本申请一实施例中提供了一种联盟链节点管理系统,参见图1,该系统包括:通信连接的联盟链管理平台和远端主机。
68.其中,联盟链管理平台可以但不限于为baas平台。远端主机可以但不限于为实体机、虚拟机或者云服务器。本实施例中,联盟链可以但不限于为hyperchain、fabric和bcos。
69.联盟链管理平台用于获取链驱动和与链驱动对应的链动态库,并将链驱动安装在联盟链管理平台,以及将链动态库安装到远端主机。
70.一些实施例中,链驱动与链动态库均是由开发者根据实际需求开发的,开发者将设置完成的链驱动和链动态库,上传到联盟链管理平台后,联盟链管理平台将链驱动安装在联盟链管理平台上,并链动态库安装到远端主机,从而通过链驱动和链动态库实现联盟
链的管理。
71.一些实施例中,联盟链管理平台,还用于获取联盟链节点的管理需求和管理需求对应的表单数据。
72.具体的,管理需求为用户通过点击联盟链管理平台页面上的相关需求按钮获取的。表单数据可以为用户在点击需求按钮后,按照联盟链管理平台展示的相关页面,进行填写后,有联盟链管理平台根据页面信息和填写内容生成的。
73.进一步的,参见图2,联盟链管理平台包括管理平台前端页面和管理平台核心子系统。
74.其中,管理平台前端页面,用于获取联盟链节点的管理需求。
75.具体的,管理平台前端页面将需求按钮进行显示,用于用户查看并点击相关需求按钮,使管理平台前端页面获取到用户的管理需求。其中,管理需求可以但不限于联盟链部署、联盟链节点删除和联盟链节点添加。
76.管理平台核心子系统,用于从链驱动中获取管理需求对应的页面信息,并将页面信息发送至管理平台前端页面。管理平台前端页面,还用于展示页面信息。
77.具体的,由于链驱动能够根据联盟链自身特点向管理平台前端提供不同的页面信息,因此,管理平台核心子系统在获取到管理平台前端页面发送的管理需求后,便可以从链驱动中获取与管理需求对应的页面信息,并将页面信息发送至管理平台前端页面,以进行显示。
78.一些实施例中,链驱动,用于根据表单数据生成控制指令和运行参数,并通过联盟链管理平台发送至远端主机。
79.具体的,链驱动获取到表单数据后,根据表单数据生成控制指令和运行参数,进而发送至远端主机,由远端主机完成联盟链的管理需求。
80.一些实施例中,远端主机,用于获取控制指令和运行参数,并根据控制指令和运行参数,调用与链驱动对应的链动态库,以使链动态库执行控制指令。
81.具体的,远端主机在调用链动态库时,可以不必安装链动态库,直接通过预设插件调用。在远端主机上安装的预设插件,根据控制指令启动预设插件,进一步的通过通过预设插件加载与链驱动对应的链动态库;并根据运行参数运行链动态库,以使链动态库执行控制指令。
82.其中,预设插件可以为plugin,plugin可以提供运行环境给链动态库,严格控制链动态库的生命周期。内存系统句柄等都被plugin运行环境所控制,保证运行所在的主机环境正常有序,保证联盟链节点的正常运行。
83.由于链动态库只是一段逻辑函数,使用链动态库执行该控制指令,可以保证链动态库不存在像链agent那样程序崩溃的情况,能够保证7*24小时的随时调用。
84.更进一步的,为了避免远端主机的端口被占用,导致没有可提供的其它端口,或其它未占用的端口外网无法访问等情况,联盟链管理平台,还用于获取远端主机的设备参数,根据设备参数在远端主机上部署通用主机agent,通用主机agent,用于与联盟链管理平台通信,并获取控制指令和运行参数。
85.通过设置通用主机agent,无需占用远端主机的端口,使得远端主机所有通信都只需要依靠联盟链管理平台的框架,无需开发相关通信的模块。
86.本申请一实施例中提供了一种联盟链节点管理方法,该方法可以应用于任意一种形式的电子设备中,如终端和服务器中。如图3所示,该联盟链节点管理方法,应用于联盟链管理平台,包括:
87.步骤301、获取联盟链节点的管理需求。
88.步骤302、获取管理需求对应的表单数据。
89.步骤303、调用链驱动,由链驱动根据表单数据生成控制指令和运行参数,并将控制指令和运行参数发送至远端主机,以使远端主机根据控制指令和运行参数,调用与链驱动对应的链动态库,以使链动态库执行控制指令。
90.可选的,获取管理需求对应的表单数据,包括:
91.获取与管理需求对应的页面信息;
92.获取与页面信息对应的配置信息;
93.根据页面信息和配置信息生成表单数据。
94.本申请一实施例中提供了一种联盟链节点管理方法,该方法可以应用于任意一种形式的电子设备中,如终端和服务器中。如图4所示,该联盟链节点管理方法,应用于远端主机,包括:
95.步骤401、获取联盟链管理平台发送的控制指令和运行参数,控制指令和运行参数是联盟链管理平台获取联盟链节点的管理需求,及管理需求对应的表单数据,并调用链驱动,由链驱动根据表单数据生成的。
96.步骤402、根据控制指令和运行参数,调用与链驱动对应的链动态库,以使链动态库执行控制指令。
97.可选的,根据控制指令和运行参数,调用与链驱动对应的链动态库,以使链动态库执行控制指令,包括:
98.根据控制指令启动预设插件,以通过预设插件加载与链驱动对应的链动态库;
99.根据运行参数运行链动态库,以使链动态库执行控制指令。
100.基于同一构思,本申请实施例中提供了一种联盟链节点管理装置,该装置的具体实施可参见方法实施例部分的描述,重复之处不再赘述,如图5所示,该装置主要包括:
101.第一获取模块501,用于获取联盟链节点的管理需求;
102.第二获取模块502,用于获取管理需求对应的表单数据;
103.生成和发送模块503,用于链驱动根据表单数据生成控制指令和运行参数,并将控制指令和运行参数发送至远端主机,以使远端主机根据控制指令和运行参数,调用与链驱动对应的链动态库,以使链动态库执行控制指令。
104.基于同一构思,本申请实施例中提供了一种联盟链节点管理装置,该装置的具体实施可参见方法实施例部分的描述,重复之处不再赘述,如图6所示,该装置主要包括:
105.第三获取模块601,用于获取联盟链管理平台发送的控制指令和运行参数,控制指令和运行参数是联盟链管理平台获取联盟链节点的管理需求,及管理需求对应的表单数据,并调用链驱动,由链驱动根据表单数据生成的;
106.调用模块602,用于根据控制指令和运行参数,调用与链驱动对应的链动态库,以使链动态库执行控制指令。
107.基于同一构思,本申请实施例中提供了一种电子设备,如图7所示,该电子设备主
要包括:处理器701、通信接口702、存储器703和通信总线704,其中,处理器701、通信接口702和存储器703通过通信总线704完成相互间的通信。其中,存储器703中存储有可被至处理器701执行的程序,处理器701执行存储器703中存储的程序,实现如下步骤:
108.获取联盟链节点的管理需求;
109.获取管理需求对应的表单数据;
110.调用链驱动,由链驱动根据表单数据生成控制指令和运行参数,并将控制指令和运行参数发送至远端主机,以使远端主机根据控制指令和运行参数,调用与链驱动对应的链动态库,以使链动态库执行控制指令。或,
111.获取联盟链管理平台发送的控制指令和运行参数,控制指令和运行参数是联盟链管理平台获取联盟链节点的管理需求,及管理需求对应的表单数据,并调用链驱动,由链驱动根据表单数据生成的;
112.根据控制指令和运行参数,调用与链驱动对应的链动态库,以使链动态库执行控制指令。
113.上述电子设备中提到的通信总线704可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该通信总线704可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
114.通信接口702用于上述电子设备与其他设备之间的通信。
115.存储器703可以包括随机存取存储器(random access memory,简称ram),也可以包括非易失性存储器(non

volatile memory),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器701的存储装置。
116.上述的处理器701可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等,还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field

programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
117.在本申请的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当该计算机程序在计算机上运行时,使得计算机执行上述实施例中所描述的联盟链节点管理方法。
118.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。该计算机可以时通用计算机、专用计算机、计算机网络或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、微波等)方式向另外一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介
质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如软盘、硬盘、磁带等)、光介质(例如dvd)或者半导体介质(例如固态硬盘)等。
119.需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
120.以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1