首页 / 专利库 / 牙科学 / 牙齿 / 根管 / 区块链网络资源管理方法、装置及区块链系统

链网络资源管理方法、装置及区块链系统

阅读:669发布:2023-03-09

专利汇可以提供链网络资源管理方法、装置及区块链系统专利检索,专利查询,专利分析的服务。并且本 发明 提供了一种 区 块 链 网络资源管理方法、装置及区块链系统,涉及区块链技术领域,该方法应用于区块链网络管理平台,该方法包括:获取Kubernetes集群创建的区块链网络;如果客户端接入至区块链网络,获取客户端的管理 请求 信息,根据管理请求信息对区块链网络进行资源管理;其中,管理请求信息包括联盟管理请求信息、组织管理请求信息、 节点 管理请求信息和合约管理请求信息。本发明通过利用Kubernetes创建区块链网络可以保证区块链网络中资源的高可用性和高扩展性,并通过管理请求信息对区块链网络资源进行统一管理,可有效提高资源管理的安全性和简便性。,下面是链网络资源管理方法、装置及区块链系统专利的具体信息内容。

1.一种链网络资源管理方法,其特征在于,所述方法应用于区块链网络管理平台,所述方法包括:
获取Kubernetes集群创建的区块链网络;
如果客户端接入至所述区块链网络,获取所述客户端的管理请求信息,根据所述管理请求信息对所述区块链网络进行资源管理;其中,所述管理请求信息包括联盟管理请求信息、组织管理请求信息、节点管理请求信息和合约管理请求信息。
2.根据权利要求1所述的方法,其特征在于,所述联盟管理请求信息包括删除联盟请求信息,所述获取所述客户端的管理请求信息,根据所述管理请求信息对所述区块链网络进行资源管理的步骤,包括:
获取所述客户端发起的所述删除联盟请求信息;
根据所述删除联盟请求信息判断待删除的目标联盟的资源是否已完成清理;
如果是,对所述区块链网络的联盟配置进行更新;
当所述区块链网络的联盟配置更新完成后对数据库中存储的联盟进行更新;
向所述客户端反馈联盟删除结果。
3.根据权利要求1所述的方法,其特征在于,所述组织管理请求信息包括删除组织请求信息,所述获取所述客户端的管理请求信息,根据所述管理请求信息对所述区块链网络进行资源管理的步骤,包括:
获取所述客户端发起的所述删除组织请求信息;
根据所述删除组织请求信息判断待删除的目标组织的资源是否已完成清理;
如果完成清理,对所述区块链网络的组织配置进行更新;
向所述Kubernetes集群轮询是否完成对所述目标组织的删除操作;
如果完成删除操作,对数据库中存储的组织进行更新;
向所述客户端反馈组织删除结果。
4.根据权利要求3所述的方法,其特征在于,所述组织管理请求信息包括创建组织请求信息,所述获取所述客户端的管理请求信息,根据所述管理请求信息对所述区块链网络进行资源管理的步骤,包括:
获取所述客户端发起的所述创建组织请求信息;
根据所述创建组织请求信息对所述Kubernetes集群的命名空间进行配置,创建新的组织;所述新的组织包括节点、证书中心、钱包和持久资源声明PVC;
将所述新的组织中挂载的所述PVC在网络文件系统NFS中进行隔离;其中,所述NFS为所述区块链网络管理平台的文件系统;
通过加密工具设置所述新的组织的最大节点数,生成与所述最大节点数相关的证书池;其中,所述证书池包括与所述最大节点数的数量相等的证书。
5.根据权利要求4所述的方法,其特征在于,所述节点管理请求信息包括创建节点请求信息,所述获取所述客户端的管理请求信息,根据所述管理请求信息对所述区块链网络进行资源管理的步骤,包括:
获取所述客户端发起的所述创建节点请求信息;
根据所述创建节点请求信息添加新的节点;
将所述证书池中空闲的证书挂载到所述新的节点的相应目录。
6.根据权利要求4所述的方法,其特征在于,所述节点管理请求信息包括删除节点请求信息,所述获取所述客户端的管理请求信息,根据所述管理请求信息对所述区块链网络进行资源管理的步骤,包括:
获取所述客户端发起的所述删除节点请求信息;
根据所述删除节点请求信息将待删除的目标节点的账本数据进行清除,并将所述目标节点的证书放回至所述证书池。
7.根据权利要求1所述的方法,其特征在于,当所述管理请求信息包括合约管理请求信息时,所述获取所述客户端的管理请求信息,根据所述管理请求信息对所述区块链网络进行资源管理的步骤,包括:
获取所述客户端发起的所述合约管理请求信息;其中,所述合约管理请求信息包括合约文件;
根据所述合约管理请求信息将所述合约文件安装到节点上;
当所述合约文件安装完成时,将所述合约文件发布到包含所述节点的通道中;其中,所述通道由所述区块链网络中不同组织的节点之间组成的。
8.根据权利要求1所述的方法,其特征在于,所述方法包括:
获取客户端选择的独立部署模式,根据所述独立部署模式向所述客户端发送区块链软件安装包及文档,以使所述客户端与所述Kubernetes集群进行对接后对对应的区块链网络的资源进行部署和维护;
或者,
获取客户端选择的托管部署模式,根据所述托管部署模式将所述客户端部署于所述Kubernetes集群上,对所述客户端对应的区块链网络的资源进行部署和维护;
或者,
获取客户端选择的直接接入模式,根据所述直接接入模式将所述客户端部署于所述Kubernetes集群上,采用所述Kubernetes集群上的公用资源对所述客户端对应的区块链网络的资源进行维护。
9.一种区块链网络资源管理装置,其特征在于,应用于区块链网络管理平台,包括:
区块链网络创建模块,用于获取Kubernetes集群创建的区块链网络;
资源管理模块,用于在客户端接入至所述区块链网络的情况下,获取所述客户端的管理请求信息,根据所述管理请求信息对所述区块链网络进行资源管理;其中,所述管理请求信息包括联盟管理请求信息、组织管理请求信息、节点管理请求信息和合约管理请求信息。
10.一种区块链系统,其特征在于,包括如权利要求9所述的区块链网络资源管理装置,还包括与所述区块链网络管理装置对接的Kubernetes集群和客户端;
所述Kubernetes集群,用于设计搭建区块链网络;
所述客户端,用于接入所述区块链网络,以及发起管理请求信息;
所述区块链网络管理装置,用于执行如权利要求1至8任一项所述的区块链网络资源管理方法。

说明书全文

链网络资源管理方法、装置及区块链系统

技术领域

[0001] 本发明涉及区块链技术领域,尤其是涉及区块链网络资源管理方法、装置及区块链系统。

背景技术

[0002] 区块链是一种提炼于比特币原理的技术框架。现有的区块链系统的身份验证机制是基于数字证书来实现的,区块链网络中包含有联盟的成员信息,由各组织进行证书管理;节点使用合法的证书,即可加入区块链网络。现有的区块链系统对区块链网络的管理方案主要有两种,一种是系统只负责证书的管理,而组织、节点和合约的相关操作由其它系统或脚本进行管理;这种方式在扩展性要求高的场景下自动化程度低,且容易出错,不便管理。
另一种方案是系统对证书和资源进行统一管理,动态调整资源时都由系统来完成,每次执行证书相关的操作,如增加删除节点,都由证书中心执行注册或注销。当需要频繁地增删节点,过多的注册、注销证书及同步到区块链网络上时,这种方式会消耗一定资源,对系统可用性和安全性带来一定影响。
[0003] 可见,现有的区块链系统在动态扩展性、安全性和可用性方面存在较大的不足。

发明内容

[0004] 有鉴于此,本发明的目的在于提供区块链网络资源管理方法、装置及区块链系统,以有效提高区块链系统的安全性、可用性和扩展性。
[0005] 第一方面,本发明实施例提供一种区块链网络资源管理方法,所述方法应用于区块链网络管理平台,所述方法包括:获取Kubernetes集群创建的区块链网络;如果客户端接入至所述区块链网络,获取所述客户端的管理请求信息,根据所述管理请求信息对所述区块链网络进行资源管理;其中,所述管理请求信息包括联盟管理请求信息、组织管理请求信息、节点管理请求信息和合约管理请求信息。
[0006] 进一步的,所述联盟管理请求信息包括删除联盟请求信息,所述获取所述客户端的管理请求信息,根据所述管理请求信息对所述区块链网络进行资源管理的步骤,包括:获取所述客户端发起的所述删除联盟请求信息;根据所述删除联盟请求信息判断待删除的目标联盟的资源是否已完成清理;如果是,对所述区块链网络的联盟配置进行更新;当所述区块链网络的联盟配置更新完成后对数据库中存储的联盟进行更新;向所述客户端反馈联盟删除结果。
[0007] 进一步的,所述组织管理请求信息包括删除组织请求信息,所述获取所述客户端的管理请求信息,根据所述管理请求信息对所述区块链网络进行资源管理的步骤,包括:获取所述客户端发起的所述删除组织请求信息;根据所述删除组织请求信息判断待删除的目标组织的资源是否已完成清理;如果完成清理,对所述区块链网络的组织配置进行更新;向所述Kubernetes集群轮询是否完成对所述目标组织的删除操作;如果完成删除操作,对数据库中存储的组织进行更新;向所述客户端反馈组织删除结果。
[0008] 进一步的,所述组织管理请求信息包括创建组织请求信息,所述获取所述客户端的管理请求信息,根据所述管理请求信息对所述区块链网络进行资源管理的步骤,包括:获取所述客户端发起的所述创建组织请求信息;根据所述创建组织请求信息对所述Kubernetes集群的命名空间进行配置,创建新的组织;所述新的组织包括节点、证书中心、钱包和持久资源声明PVC;将所述新的组织中挂载的所述PVC在网络文件系统NFS中进行隔离;其中,所述NFS为所述区块链网络管理平台的文件系统;通过加密工具设置所述新的组织的最大节点数,生成与所述最大节点数相关的证书池;其中,所述证书池包括与所述最大节点数的数量相等的证书。
[0009] 进一步的,所述节点管理请求信息包括创建节点请求信息,所述获取所述客户端的管理请求信息,根据所述管理请求信息对所述区块链网络进行资源管理的步骤,包括:获取所述客户端发起的所述创建节点请求信息;根据所述创建节点请求信息添加新的节点;将所述证书池中空闲的证书挂载到所述新的节点的相应目录。
[0010] 进一步的,所述节点管理请求信息包括删除节点请求信息,所述获取所述客户端的管理请求信息,根据所述管理请求信息对所述区块链网络进行资源管理的步骤,包括:获取所述客户端发起的所述删除节点请求信息;根据所述删除节点请求信息将待删除的目标节点的账本数据进行清除,并将所述目标节点的证书放回至所述证书池。
[0011] 进一步的,当所述管理请求信息包括合约管理请求信息时,所述获取所述客户端的管理请求信息,根据所述管理请求信息对所述区块链网络进行资源管理的步骤,包括:获取所述客户端发起的所述合约管理请求信息;其中,所述合约管理请求信息包括合约文件;根据所述合约管理请求信息将所述合约文件安装到节点上;当所述合约文件安装完成时,将所述合约文件发布到包含所述节点的通道中;其中,所述通道由所述区块链网络中不同组织的节点之间组成的。
[0012] 进一步的,所述方法包括:获取客户端选择的独立部署模式,根据所述独立部署模式向所述客户端发送区块链软件安装包及文档,以使所述客户端与所述Kubernetes集群进行对接后对对应的区块链网络的资源进行部署和维护;或者,获取客户端选择的托管部署模式,根据所述托管部署模式将所述客户端部署于所述Kubernetes集群上,对所述客户端对应的区块链网络的资源进行部署和维护;或者,获取客户端选择的直接接入模式,根据所述直接接入模式将所述客户端部署于所述Kubernetes集群上,采用所述Kubernetes集群上的公用资源对所述客户端对应的区块链网络的资源进行维护。
[0013] 第二方面,本发明实施例还提供一种区块链网络资源管理装置,应用于区块链网络管理平台,包括:区块链网络创建模块,用于获取Kubernetes集群创建的区块链网络;资源管理模块,用于在客户端接入至所述区块链网络的情况下,获取所述客户端的管理请求信息,根据所述管理请求信息对所述区块链网络进行资源管理;其中,所述管理请求信息包括联盟管理请求信息、组织管理请求信息、节点管理请求信息和合约管理请求信息。
[0014] 第三方面,本发明实施例还提供一种区块链系统,包括如第二方面所述的区块链网络资源管理装置,还包括与所述区块链网络管理装置对接的Kubernetes集群和客户端;所述Kubernetes集群,用于设计搭建区块链网络;所述客户端,用于接入所述区块链网络,以及发起管理请求信息;所述区块链网络管理装置,用于执行如第一方面任一项所述的区块链网络资源管理方法。
[0015] 本发明实施例带来了以下有益效果:
[0016] 本发明实施例提供的一种区块链网络资源管理方法、装置及区块链系统,该方法应用于区块链网络管理平台,该方法首先通过获取Kubernetes集群创建的区块链网络;然后在客户端接入至区块链网络的情况下,根据客户端的管理请求信息对区块链网络进行资源管理;其中,管理请求信息包括联盟管理请求信息、组织管理请求信息、节点管理请求信息和合约管理请求信息。本发明实施例通过利用Kubernetes创建区块链网络可以保证区块链网络中资源的高可用性和高扩展性,并通过客户端的管理请求信息对区块链网络资源进行统一管理,可有效提高资源管理的安全性和便捷性,从而节省人
[0017] 本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其它优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
[0018] 为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

[0019] 为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0020] 图1为本发明实施例提供的区块链系统的结构框图
[0021] 图2为本发明实施例提供的区块链网络资源管理方法流程图
[0022] 图3为本发明实施例提供的区块链网络中各资源的逻辑结构示意图;
[0023] 图4为本发明实施例提供的删除联盟时序图;
[0024] 图5为本发明实施例提供的删除组织时序图;
[0025] 图6为本发明实施例提供的区块链网络资源管理装置的结构框图。
[0026] 图标:
[0027] 602-区块链网络创建模块;604-资源管理模块。

具体实施方式

[0028] 下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0029] 考虑到现有的区块链系统在动态扩展性、安全性和可用性方面存在较大的不足,本发明实施例提供的一种区块链网络资源管理方法、装置及区块链系统,可以有效提高区块链系统的安全性、可用性和扩展性。
[0030] 为便于对本实施例进行理解,首先对本发明实施例所公开的一种区块链系统进行详细介绍。
[0031] 实施例一:
[0032] 参照图1为本发明实施例提供的区块链系统的结构框图,该区块链系统包括:区块链网络资源管理装置,还包括与区块链网络管理装置对接的Kubernetes集群和客户端;Kubernetes集群,用于设计搭建区块链网络;客户端,用于接入区块链网络,以及发起管理请求信息;区块链网络管理装置,用于执行区块链网络资源管理方法。
[0033] 由于大部分区块链项目都支持容器化部署,容器化技术具有移植性强、跨平台、便于管理和部署方便等优点,因此,本实施例采用Kubernetes作为容器的编排工具来设计搭建区块链网络;Kubernetes具有高可用、高扩展的平台特性。Kubernetes集群内集成有多个辅助性功能模块,诸如Helm包管理工具、区块链浏览器、日志分析模块、监控预警模块和可视化模块等。Helm包管理工具用于对Kubernetes集群上部署的区块链网络资源进行统一管理,并且提供参数化和一键部署功能,每次部署新的组织、节点或其它资源时,只需要修改相关参数即可;Helm包管理工具能够在区块链网络资源数量较多的情况下,提高资源管理的便捷性。区块链浏览器用于浏览区块链网络中的数据,能够让联盟成员直观地查看当前区块链网络的最新状态。日志分析模块、监控预警模块用于对区块链系统的运行状态进行监控和报警,在实际应用中可以采用Fluentd(统一日志层的开源数据收集器)、Elastictsearch(分布式、可扩展、实时的搜索与数据分析引擎)和Grafana(跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知)来实现日志提取、分析和可视化。Kubernetes集群内集成的上述多个辅助性功能模块可以实现区块链系统的高扩展性。
[0034] Kubernetes集群设置有隔离的命名空间,命名空间可以应用于区块链网络中的多个组织。
[0035] 为了实现区块链系统的高可用性,可以调整各个节点所对应的Deployment(部署)的实例数量,并通过Kubernetes中服务器的自动监测和路由转发功能设置与各个节点对应的服务。
[0036] 为了实现区块链系统的文件共享,诸如组织节点共享证书、配置等文件,在本实施例中可以使用NFS(Network File System,网络文件系统)来实现。NFS服务端可以使用Heartbeat+DRBD(Distributed Replicated BlockDevice,一种用软件实现的、无共享的、服务器之间镜像块设备内容的存储复制解决方案)主从架构来实现高可用,Kubernetes可作为使用终端使用NFS类型的PVC(Persistent Volume Claim,持久资源声明)来挂载到对应目录。
[0037] 在本实施例中,区块链网络资源管理装置可以采用Java编程语言作为管理装置的开发语言,并基于开源SSM(Spring+SpringMVC+Mybatis)框架进行开发。Java具有跨平台、高效率、并发性能强等诸多优点,SSM框架是一种典型的分层软件框架,层次清晰,拥有良好扩展性、可维护性和解耦性。
[0038] 传统的资源管理方式是手工创建和操作,操作过程比较繁琐,容易出错且不方便更改。基于此,本实施例采用区块链网络资源管理装置进行资源管理。本实施例中的区块链网络资源管理装置可以为应用于电脑或平板等设备上的、具有可视化可操作的区块链网络管理平台,该管理平台诸如可以是以网页和软件应用等形式,能大大简化资源管理流程,降低使用槛。
[0039] 在本实施例中,客户端可理解为接入区块链网络的企业所使用的终端。
[0040] 实施例二:
[0041] 基于上述实施例一所提供的区块链系统,本实施例提供了一种区块链网络资源管理方法,该方法应用于区块链网络管理平台(可简称为网络管理平台);参照图2所示的区块链网络资源管理方法,包括如下步骤:
[0042] 步骤S202,获取Kubernetes集群创建的区块链网络。参照如图3所示的区块链网络中各资源的逻辑结构示意图,区块链网络包括若干联盟,每个联盟包含若干个组织,每个组织下有各自的证书中心、钱包及若干个节点,各节点之间可以组成独立的通道,各个通道内可部署对应的合约。每个联盟内包括独立的合约中心、文件中心和数据中心,各组织维护自身的证书中心、钱包和节点,当组织、节点或其它资源发生变动时,可以通过管理平台进行操作。
[0043] 步骤S204,如果客户端接入至区块链网络,获取客户端的管理请求信息,根据管理请求信息对区块链网络进行资源管理;其中,管理请求信息包括联盟管理请求信息、组织管理请求信息、节点管理请求信息和合约管理请求信息。
[0044] 在一种可能的实施例中,接入到区块链网络的企业客户端可以向区块链网络管理平台发起管理请求。区块链网络管理平台通过执行账户管理、联盟管理、组织管理、节点管理和合约管理等,实现对区块链网络资源进行动态调整、易于扩展、便于操作的目的;进一步的,为了便于操作和应用,在实际应用中可以将以上账户管理、联盟管理、组织管理、节点管理和合约管理封装成脚本或编写代码调用SDK进行操作(可参照图1)。
[0045] 本实施例提供的上述区块链网络资源管理方法,首先通过获取Kubernetes集群创建的区块链网络;然后当将客户端接入区块链网络后,根据客户端的管理请求信息对区块链网络进行资源管理;其中,管理请求信息包括联盟管理请求信息、组织管理请求信息、节点管理请求信息和合约管理请求信息。本发明实施例通过利用Kubernetes创建区块链网络可以保证区块链网络中资源的高可用性和高扩展性,并通过客户端的管理请求信息对区块链网络资源进行统一管理,可有效提高资源管理的安全性和便捷性,从而节省人力。
[0046] 在一种可能的实施例中,网络管理平台对客户端进行账户管理也即对客户端的用户登录、修改密码及权限拦截等信息进行管理。
[0047] 在一种可能的实施例中,网络管理平台对客户端进行联盟管理也即对客户端进行创建联盟、删除联盟、查看联盟详情和修改联盟成员等操作。具体的,联盟管理请求信息可以包括删除联盟请求信息,网络管理平台对区块链网络进行删除联盟的步骤可参照图4,具体可以包括:
[0048] 步骤S402,网络管理平台获取客户端发起的删除联盟请求信息。
[0049] 步骤S404,网络管理平台根据删除联盟请求信息判断待删除的目标联盟的资源是否已完成清理;在否的情况下,执行步骤S406;在是的情况下执行步骤S408。
[0050] 步骤S406,对目标联盟的资源进行继续清理。
[0051] 步骤S408,对区块链网络的联盟配置进行更新。
[0052] 步骤S410,当区块链网络的联盟配置更新完成后向网络管理平台反馈联盟配置更新完成的通知,以使网络管理平台执行步骤S412。
[0053] 步骤S412,对数据库中存储的联盟进行更新。上述数据库可以为图1中所展示的MySQL(关系型数据库管理系统)。
[0054] 步骤S414,向客户端反馈联盟删除结果,该结果诸如可表示为“X联盟删除成功”的文字显示消息。
[0055] 当根据联盟管理请求信息执行联盟创建操作时,可以理解的是,除了不需要删除联盟资源的过程,其它步骤可以与上述删除联盟的实现过程类似,在此不再赘述。
[0056] 在一种可能的实施例中,网络管理平台对客户端进行组织管理也即对客户端进行组织创建、组织删除、查看组织详情和删除组织等操作。各个组织是相互隔离的,在Kubernetes集群中对应一个命名空间,组织中所挂载的PVC目录需要在NFS中进行隔离,从而保证数据和证书的安全。在本实施例中,参照图5所示的删除组织时序图,组织管理请求信息包括删除组织请求信息,网络管理平台根据删除组织请求信息对区块链网络进行资源管理的步骤可以包括:
[0057] 步骤S502,获取客户端发起的删除组织请求信息。
[0058] 步骤S504,根据删除组织请求信息判断待删除的目标组织的资源是否已完成清理。如果完成清理,执行步骤S506。
[0059] 步骤S506,对区块链网络的组织配置进行更新;这里可以通过Helm包管理工具对区块链网络执行删除组织实例的操作。可以理解,如果未完成清理,则继续对目标组织的资源进行清理。
[0060] 步骤S508,向Kubernetes集群轮询是否完成对目标组织的删除操作。由于上述的Helm包管理工具提供的是异步接口,因此需要向Kubernetes集群轮询,确认执行成功后再执行步骤S510,也即更新管理平台的数据库。
[0061] 步骤S510,对数据库中存储的组织进行更新。
[0062] 步骤S512,向客户端反馈组织删除结果。
[0063] 在本实施例中,组织管理请求信息包括创建组织请求信息,根据创建组织请求信息对区块链网络进行资源管理的步骤可以包括:首先获取客户端发起的创建组织请求信息。然后根据创建组织请求信息对Kubernetes集群的命名空间进行配置,创建新的组织;新的组织包括节点、证书中心、钱包和PVC;上述证书中心发放的证书可以提供该组织的用户使用。其次将新的组织中挂载的PVC在网络文件系统NFS中进行隔离;其中,NFS为区块链网络管理平台的文件系统。最后通过加密工具设置新的组织的最大节点数,生成与最大节点数相关的证书池;其中,证书池包括与最大节点数的数量相等的证书。其中,证书池可以在组织的节点动态扩展较频繁时保持良好的性能,有利于资源管理和区块链系统的稳定性
[0064] 在一种可能的实施例中,网络管理平台对客户端进行节点管理也即对客户端进行增加和删除节点的操作。每个节点都属于某一个组织,所有的证书都由对应的组织进行颁发。添加节点时,需要创建证书并挂载到节点的相应目录,为了避免每次增删节点时执行颁发和撤销证书所带来的性能损耗,本实施例可以采用创建组织时生成的证书池的方式,新增节点时只需要使用证书池中的其中一个空闲的证书即可;删除节点时,把节点的账本数据清除掉后,无需对证书进行注销,而是放回至证书池进行复用。如果需要扩充组织的最大节点数,则通过Helm包管理工具修改对应的参数并再次批量生成证书即可。
[0065] 具体的,节点管理请求信息包括创建节点请求信息,网络管理平台根据创建节点请求信息对区块链网络进行资源管理的步骤可以包括:首先获取客户端发起的创建节点请求信息。然后根据创建节点请求信息添加新的节点。最后将证书池中空闲的证书挂载到新的节点的相应目录。
[0066] 节点管理请求信息包括删除节点请求信息,网络管理平台根据删除节点请求信息对区块链网络进行资源管理的步骤可以包括:获取客户端发起的删除节点请求信息;根据删除节点请求信息将待删除的目标节点的账本数据进行清除,并将目标节点的证书放回至证书池。
[0067] 在一种可能的实施例中,网络管理平台对客户端进行合约管理也即对客户端进行上传合约、安装合约、发布合约及删除合约等操作。网络管理平台对合约文件进行管理,以合约名称和版本进行区分。用户通过客户端将合约文件上传至网络管理平台后,可以将合约安装到节点上,安装完成后可以发布到区块链网络中。合约的删除操作通过Kubernetes集群或者网络管理平台均可以执行,且不会影响已经安装和发布的合约。
[0068] 本实施例中,根据管理请求信息对区块链网络进行资源管理的步骤可以包括:首先获取客户端发起的合约管理请求信息;其中,合约管理请求信息包括创建合约文件;然后根据合约管理请求信息将合约文件安装到节点上;最后当合约文件安装完成时,将合约文件发布到包含节点的通道中;其中,通道由区块链网络中不同组织的节点之间组成的。上述合约创建、合约安装和合约发布的步骤在实际应用中可以是非连续的步骤,创建合约后,区块链系统会有该合约的信息,合约创建完成后,可以安装到任一个节点,而发布是针对通道而言的,如果通道内的任一节点安装了某个合约,则可以在该通道内发布该合约。
[0069] 进一步的,本发明实施例还提供了将客户端接入到区块链网络的方法。考虑到接入区块链的各个企业的IT建设平不尽相同,本实施例可以包括独立部署模式、托管部署模式和直接接入模式,以此满足不同IT基础水平的企业的需求,方便不同企业的接入。
[0070] 独立部署模式可理解为:网络管理平台提供区块链钱包、证书中心及区块链节点的软件安装包及文档,由企业自身进行部署和维护,这种模式下企业可以独立拥有完整的区块链资源。具体可包括如下步骤:获取客户端选择的独立部署模式,根据独立部署模式向客户端发送区块链软件安装包及文档,以使客户端与Kubernetes集群进行对接后对对应的区块链网络的资源进行部署和维护。
[0071] 托管部署模式可理解为:将节点托管于网络管理平台的服务中,由网络管理平台对企业的网络资源进行部署和维护,企业和网络管理平台共同拥有对应的区块链资源。具体可包括如下步骤:获取客户端选择的托管部署模式,根据托管部署模式将客户端部署于Kubernetes集群上,对客户端对应的区块链网络的资源进行部署和维护。
[0072] 直接接入模式可理解为:企业直接接入平台提供的服务,不单独部署区块链钱包、证书中心或节点,这种方式成本最低,但拥有的隐私性及功能受到一定限制。具体可包括如下步骤:获取客户端选择的直接接入模式,根据直接接入模式将客户端部署于Kubernetes集群上,采用Kubernetes集群上的公用资源对客户端对应的区块链网络的资源进行维护。
[0073] 上述托管部署模式和直接接入模式,都是将实例部署在Kubernetes集群上,托管部署模式将使用独立的命名空间,拥有隔离的区块链资源,而直接接入模式则是使用公用的实例,共享区块链节点,这两种接入方式适合IT建设水平较差、没有独立专门的运维团队或者对隐私性要求不高的企业。独立部署模式则是企业自身负责维护,仅通过区块链服务与联盟链进行对接,企业内部可自由选择基础架构,这种模式适合IT建设水平较成熟,隐私性要求高的企业。
[0074] 综上,本实施例提供的上述区块链网络资源管理方法,通过利用Kubernetes创建区块链网络可以保证区块链网络中资源的高可用性和高扩展性,并通过客户端的管理请求信息对区块链网络资源进行统一管理,可有效提高资源管理的安全性和便捷性,从而节省人力。
[0075] 实施例三:
[0076] 基于上述实施例二中的区块链网络资源管理方法,本实施例提供一种区块链网络资源管理装置,应用于区块链网络管理平台,参照如图6所示的区块链网络资源管理装置,该装置包括:
[0077] 区块链网络创建模块602,用于获取Kubernetes集群创建的区块链网络;
[0078] 资源管理模块604,用于在客户端接入至区块链网络的情况下,获取客户端的管理请求信息,根据管理请求信息对区块链网络进行资源管理;其中,管理请求信息包括联盟管理请求信息、组织管理请求信息、节点管理请求信息和合约管理请求信息。
[0079] 本实施例提供的上述区块链网络资源管理装置,首先通过获取Kubernetes集群创建的区块链网络;然后在客户端接入至区块链网络的情况下,根据客户端的管理请求信息对区块链网络进行资源管理;其中,管理请求信息包括联盟管理请求信息、组织管理请求信息、节点管理请求信息和合约管理请求信息。本发明实施例通过利用Kubernetes创建区块链网络可以保证区块链网络中资源的高可用性和高扩展性,并通过客户端的管理请求信息对区块链网络资源进行统一管理,可有效提高资源管理的安全性和便捷性,从而节省人力。
[0080] 在一些实施方式中,资源管理模块604还用于:获取客户端发起的删除联盟请求信息;根据删除联盟请求信息判断待删除的目标联盟的资源是否已完成清理;如果是,对区块链网络的联盟配置进行更新;当区块链网络的联盟配置更新完成后对数据库中存储的联盟进行更新;向客户端反馈联盟删除结果。
[0081] 在一些实施方式中,组织管理请求信息包括删除组织请求信息,资源管理模块604还用于:获取客户端发起的删除组织请求信息;根据删除组织请求信息判断待删除的目标组织的资源是否已完成清理;如果完成清理,对区块链网络的组织配置进行更新;向Kubernetes集群轮询是否完成对目标组织的删除操作;如果完成删除操作,对数据库中存储的组织进行更新;向客户端反馈组织删除结果。
[0082] 在一些实施方式中,组织管理请求信息包括创建组织请求信息,资源管理模块604还用于:获取客户端发起的创建组织请求信息;根据创建组织请求信息对Kubernetes集群的命名空间进行配置,创建新的组织;新的组织包括节点、证书中心、钱包和PVC;将新的组织中挂载的PVC在网络文件系统NFS中进行隔离;其中,NFS为区块链网络管理平台的文件系统;通过加密工具设置新的组织的最大节点数,生成与最大节点数相关的证书池;其中,证书池包括与最大节点数的数量相等的证书。
[0083] 在一些实施方式中,节点管理请求信息包括创建节点请求信息,资源管理模块604还用于:获取客户端发起的创建节点请求信息;根据创建节点请求信息添加新的节点;将证书池中空闲的证书挂载到新的节点的相应目录。
[0084] 在一些实施方式中,节点管理请求信息包括删除节点请求信息,资源管理模块604还用于:获取客户端发起的删除节点请求信息;根据删除节点请求信息将待删除的目标节点的账本数据进行清除,并将目标节点的证书放回至证书池。
[0085] 在一些实施方式中,资源管理模块604还用于:获取客户端发起的合约管理请求信息;其中,合约管理请求信息包括合约文件;根据合约管理请求信息将合约文件安装到节点上;当合约文件安装完成时,将合约文件发布到包含节点的通道中;其中,通道由区块链网络中不同组织的节点之间组成的。
[0086] 在一些实施方式中,该装置还包括:获取客户端选择的独立部署模式,根据独立部署模式向客户端发送区块链软件安装包及文档,以使客户端与Kubernetes集群进行对接后对对应的区块链网络的资源进行部署和维护;或者,获取客户端选择的托管部署模式,根据托管部署模式将客户端部署于Kubernetes集群上,对客户端对应的区块链网络的资源进行部署和维护;或者,获取客户端选择的直接接入模式,根据直接接入模式将客户端部署于Kubernetes集群上,采用Kubernetes集群上的公用资源对客户端对应的区块链网络的资源进行维护。
[0087] 本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
[0088] 本发明实施例还提供一种电子设备,包括存储器、处理器,存储器中存储有可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例提供的区块链网络资源管理方法的步骤。
[0089] 本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述实施例的区块链网络资源管理方法的步骤。
[0090] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0091] 在本发明所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0092] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0093] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0094] 所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0095] 最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
相关专利内容
标题 发布/更新时间 阅读量
根管冲洗主机及根管冲洗器 2020-05-13 448
一种单根豆芽管 2020-05-12 258
根管糊剂组合物 2020-05-11 455
用于钻孔牙根管的根管治疗仪 2020-05-12 720
两根线材冷却管 2020-05-11 804
牙根管机头 2020-05-11 413
试管苗生根工艺 2020-05-12 405
牙用根管桩 2020-05-11 944
根管治疗针 2020-05-13 729
根管吸液器 2020-05-13 509
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈