CN111930347A - 一种网络创建方法及装置、电子设备 - Google Patents

一种网络创建方法及装置、电子设备 Download PDF

Info

Publication number
CN111930347A
CN111930347A CN202010725954.4A CN202010725954A CN111930347A CN 111930347 A CN111930347 A CN 111930347A CN 202010725954 A CN202010725954 A CN 202010725954A CN 111930347 A CN111930347 A CN 111930347A
Authority
CN
China
Prior art keywords
resource
network
self
creating
custom
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
CN202010725954.4A
Other languages
English (en)
Other versions
CN111930347B (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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing 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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN202010725954.4A priority Critical patent/CN111930347B/zh
Publication of CN111930347A publication Critical patent/CN111930347A/zh
Application granted granted Critical
Publication of CN111930347B publication Critical patent/CN111930347B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/22Procedural
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请实施例公开了一种网络创建方法及装置、电子设备,其中,所述方法包括:获取用于创建目标网络的N个要素,N为大于等于1的整数;根据所述N个要素之间特定的依赖关系,利用创建自定义资源的命令将所述N个要素创建为对应的N个要素自定义资源;获取用于创建目标网络的M个节点的属性信息,其中,M为大于等于1的整数;利用任务自定义资源,将每一所述节点的属性信息关联到对应的要素自定义资源,完成所述目标网络的创建。

Description

一种网络创建方法及装置、电子设备
技术领域
本申请实施例涉及区块链技术,涉及但不限于一种网络创建方法及装置、电子设备。
背景技术
Hyperledger Fabric是一种联盟链技术,但是Fabric组网过程配置繁杂以及流程比较多,对组网人员的技术要求比较高。
相关技术的解决方案一:采用开源的应用容器引擎(例如docker)加脚本的方式部署网络。该方案的缺点是:组网过程技术要求高,缺少动态自主组网的能力,缺乏有效的资源扩容和高可用方案。
相关技术的解决方案二:采用Kubernetes加脚本的方式部署网络,该方案存在的问题是:组网过程技术要求高,缺少动态自主组网的能力。
发明内容
有鉴于此,本申请实施例提供一种网络创建方法及装置、电子设备。
本申请实施例的技术方案是这样实现的:
第一方面,本申请实施例提供一种网络创建方法,所述方法包括:
获取用于创建目标网络的N个要素,N为大于等于1的整数;根据所述N个要素之间特定的依赖关系,利用创建自定义资源的命令将所述N个要素创建为对应的N个要素自定义资源;获取用于创建目标网络的M个节点的属性信息,其中,M为大于等于1的整数;利用任务自定义资源,将每一所述节点的属性信息关联到对应的要素自定义资源,完成所述目标网络的创建。
第二方面,本申请实施例提供一种网络创建装置,所述装置包括:
第一获取模块,用于获取用于创建目标网络的N个要素,N为大于等于1的整数;创建模块,用于根据所述N个要素之间特定的依赖关系,利用创建自定义资源的命令将所述N个要素创建为对应的N个要素自定义资源;第二获取模块,获取用于创建目标网络的M个节点的属性信息,其中,M为大于等于1的整数;关联模块,用于利用任务自定义资源,将每一所述节点的属性信息关联到对应的要素自定义资源,完成所述目标网络的创建。
第三方面,本申请实施例提供一种电子设备,所述设备作为区块链网络中的参与节点,所述区块链网络包括:
用于创建所述网络的N个要素自定义资源;其中,所述N个要素之间特定的依赖关系;用于M个设备中每一所述设备的自定义资源,其中,所述M个设备为所述网络中的物理节点;每一所述设备的自定义资源与至少一个所述要素具有对应关系,用于将所述设备与区块链网络进行关联;所述设备的自定义资源通过任务自定义资源与对应的要素资源进行关联。
本申请实施例中,先获取用于创建目标网络的N个要素,再根据N个要素之间特定的依赖关系,利用创建自定义资源的命令将N个要素创建为对应的N个要素自定义资源,最后获取创建目标网络的M个节点信息,利用任务自定义资源,将每一节点的属性信息关联到对应的要素自定义资源,完成目标网络的创建。这样,可以实现先建立网络,然后进行节点关联。降低了组网过程的复杂度以及对组网人员的技术要求,支持更强的自主组网。是一种有效的资源扩容和高可用的网络创建方法。
附图说明
图1为本申请实施例提供的一种网络创建方法的实现流程示意图;
图2为本申请实施例提供的一种网络创建方法的实现流程示意图;
图3为本申请实施例提供的一种网络创建方法的实现流程示意图;
图4A为本申请实施例提供的一种网络创建示意图;
图4B为本申请实施例提供的一种网络创建方法的实现流程示意图;
图5为本申请实施例网络创建装置的组成结构示意图;
图6为本申请实施例电子设备的一种硬件实体示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
需要指出,本申请实施例所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
本申请实施例提供的一种网络创建方法,参照图1所示,执行以下步骤:
步骤S101、获取用于创建目标网络的N个要素,N为大于等于1的整数;
这里,要素指的是Fabric中的组织、电子认证服务(Certificate Authority,CA)、联盟、会员服务提供商(Membership Service Provider,MSP)、网络、通道、节点等。Hyperledger Fabric是Linux基金会所主导的Hyperledger(超级账本)的项目之一。Hyperledger Fabric旨在作为开发模块化体系结构的区块链应用程序的基础,以便诸如共识和会员服务等组件可以即插即用。Hyperledger Fabric使用容器技术来托管构成系统应用逻辑的智能合约(也称为链代码)。简而言之,Hyperledger Fabric是为企业构建的领先的开源、通用区块链结构。Fabric具有高度的模块化和可配置性的架构,支持对广泛范围企业应用的创新和优化,如:银行、金融、保险、医疗、人力资源、供应链、和数字音乐分发。Fabric平台最重要的特色之一是它对可插拔共识协议的支持,该协议使平台可以更有效地进行定制,以适应特定的用例和信任模型。Fabric利用不需要原生加密货币的共识协议来实现代价昂贵的挖矿操作或智能合约的执行。避免使用加密货币会降低一些重大的风险,并且无需进行加密货币挖矿操作就意味着可以以与任何其他分布式系统大致相同的运营成本来部署该平台。
步骤S102、根据所述N个要素之间特定的依赖关系,利用创建自定义资源的命令将所述N个要素创建为对应的N个要素自定义资源;
这里,特定的依赖关系是指N个要素之间,创建时需要按照特定的依赖关系确定创建的先后顺序。
自定义资源(Custom Resource Definition,CRD)是对Kubernetes应用程序接口的扩展,Kubernetes中的每个资源都是一个应用程序接口(Application ProgrammingInterface,API)对象的集合。Kubernetes,简称K8s,是用8代替8个字符“ubernete”而成的缩写。Kubernetes是一个开源的用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效,Kubernetes提供了应用部署、规划、更新和维护的一种机制。另一种理解是,Kubernetes是用于自动部署,扩展和管理容器化应用程序的开源系统,能够将组成应用程序的容器组合成逻辑单元,以便于管理和服务发现,是生产级别的容器编排系统。
创建自定义资源的命令,例如在YAML文件里定义的spec是对Kubernetes中的资源对象的定义,这里,所有的自定义资源可以跟Kubernetes中内建的资源一样使用kubectl操作。Kubernetes集群的每个节点(node)上都要运行一个worker(或节点代理)对容器进行生命周期的管理,这个worker程序就是kubelet。kubectl作为客户端命令行交互接口(Command-line Interface,CLI)工具,可以让用户通过命令行的方式对Kubernetes集群进行操作。
步骤S103、获取用于创建目标网络的M个节点的属性信息,其中,M为大于等于1的整数;
这里,节点可以指用于创建目标网络的计算机硬件,例如:电脑、服务器或者宿主机。节点的属性信息包括:网际互连协议(Internet Protocol,IP)地址、磁盘容量、网卡数量、组织标识、节点标识、节点组织的管理员用户名,网络标识和通道名等参数等。
步骤S104、利用任务自定义资源,将每一所述节点的属性信息关联到对应的要素自定义资源,完成所述目标网络的创建。
这里,任务自定义资源可以将需要组件目标网络的每一节点的属性信息关联到已经建立好的要素自定义资源,实现目标网络的创建。
本申请实施例中,先获取用于创建目标网络的N个要素,再根据N个要素之间特定的依赖关系,利用创建自定义资源的命令将N个要素创建为对应的N个要素自定义资源,最后获取创建目标网络的M个节点信息,利用任务自定义资源,将每一节点的属性信息关联到对应的要素自定义资源,完成目标网络的创建。这样,可以实现先建立网络,然后进行节点关联。降低了组网过程的复杂度以及对组网人员的技术要求,支持更强的自主组网。
本申请实施例提供的一种网络创建方法,参照图2所示,执行以下步骤:
步骤S201、获取用于创建目标网络的组织、联盟、网络、通道;
这里,组织代表区块链网络中的企业、机构等实体;联盟定义了网络中的一部分组织,他们共享了彼此能够交易的需求;一个网络包含至少一个联盟,创建网络依赖加入网络的联盟已经创建好;通道提供了一个联盟成员之间进行私有通信和私有数据的机制。
步骤S202、根据所述组织、所述联盟、所述网络、所述通道之间特定的依赖关系,利用所述创建自定义资源的命令,将所述组织创建为组织自定义资源;
所述组织、所述联盟、所述网络、所述通道之间特定的依赖关系为:所述联盟是组织的集合,创建所述联盟依赖相关的组织已经创建;一个所述网络包含至少一个联盟,创建所述网络依赖待加入所述网络的联盟已经创建;所述通道属于所述网络,包括属于特定联盟的若干组织;在创建所述通道的情况下,相关的网络已经创建。
首先,利用创建自定义资源的命令,即,编写组织CRD的YAML文件,并指定组织标识、管理员用户名和密码等参数;然后,使用kubectl命令执行创建组织。
步骤S203、根据所述组织自定义资源,利用所述创建自定义资源的命令将所述联盟创建为联盟自定义资源;
首先,根据所述组织自定义资源,利用创建自定义资源的命令,即,编写联盟CRD的YAML文件,并指定联盟标识、组织标识列表等参数;然后,使用kubectl命令执行创建联盟。
步骤S204、根据所述联盟自定义资源,利用所述创建自定义资源的命令将所述网络创建为网络自定义资源;
首先,根据所述联盟自定义资源,利用创建自定义资源的命令,即,编写网络CRD的YAML文件,并指定网络标识、联盟列表、共识参数等参数;然后,使用kubectl命令执行创建网络。
步骤S205、根据所述网络自定义资源,利用所述创建自定义资源的命令将所述通道创建为通道自定义资源;
首先,根据所述网络自定义资源,利用所述创建自定义资源的命令,即,编写通道CRD的YAML文件,并指定网络标识、通道名、联盟名及属于联盟的组织列表等参数;然后,使用kubectl命令执行创建通道。
步骤S206、获取用于创建目标网络的M个节点的属性信息,其中,M为大于等于1的整数;
步骤S207、根据所述创建请求,确定任务自定义资源;
确定任务自定义资源,即,编写任务CRD的YAML文件,指定任务标识、节点所属组织标识、节点标识,节点组织的管理员用户名,网络标识和通道名等参数,。
步骤S208、利用所述任务自定义资源,将每一所述节点的属性信息关联到对应的要素自定义资源;
这里,利用所述任务自定义资源,将每一所述节点的属性信息关联到对应的要素自定义资源,即,使用kubectl命令执行创建任务,从任务CRD中读取任务执行结果和输出。
步骤S209、将完成关联的组织自定义资源、完成关联的联盟自定义资源和完成关联的网络自定义资源加入完成关联的通道自定义资源,完成所述目标网络的创建。
本申请实施例中,描述了当要素为组织、联盟、网络、通道时,如何根据要素之间的依赖关系创建目标网络的方法。这样,根据依赖关系先创建网络再关联节点,降低了组网过程的复杂度以及对组网人员的技术要求。当节点发生变化时,只需要修改节点相关的参数。
本申请实施例提供的一种网络创建方法,执行以下步骤:
步骤S211、获取用于创建目标网络的N个要素,N为大于等于1的整数;
步骤S212、根据每一所述要素的属性,编写对应的预设格式文件;
这里,预设格式文件可以为YAML文件。
步骤S213、为每一所述要素确定K个参数,其中,K为大于等于1的整数;
根据要素的不同,确定的参数不同。例如:编写组织CRD的YAML文件,需要确定组织标识、管理员用户名和密码等参数;编写联盟CRD的YAML文件,需要确定联盟标识、组织标识列表等参数;编写网络CRD的YAML文件,需要确定网络标识、联盟列表、共识参数等参数;编写通道CRD的YAML文件,需要确定网络标识、通道名、联盟名及属于联盟的组织列表等参数。
步骤S214、根据每一所述要素对应的预设格式文件和对应的K个参数,得到所述创建自定义资源的命令;
根据不同要素对应的预设格式文件和对应的K个参数,得到所述创建自定义资源的命令。
步骤S215、根据所述N个要素之间特定的依赖关系,利用创建自定义资源的命令将所述N个要素创建为对应的N个要素自定义资源;
步骤S216、获取用于创建目标网络的M个节点的属性信息,其中,M为大于等于1的整数;
步骤S217、利用任务自定义资源,将每一所述节点的属性信息关联到对应的要素自定义资源,完成所述目标网络的创建。
本申请实施例中,描述了如何根据不同的要素对应的预设格式文件和对应的参数,得到创建自定义资源的命令。这样,使用创建自定义资源的命令可以得到创建网络需要的要素自定义资源。
本申请实施例提供的一种网络创建方法,执行以下步骤:
步骤S221、获取用于创建目标网络的组织、联盟、网络、通道,其中,所述组织还包括:组织节点、组织用户;
步骤S222、根据所述组织、所述联盟、所述网络、所述通道之间特定的依赖关系:所述联盟是组织的集合,创建所述联盟依赖相关的组织已经创建;一个所述网络包含至少一个联盟,创建所述网络依赖待加入所述网络的联盟已经创建;所述通道属于所述网络,包括属于特定联盟的若干组织;在创建所述通道的情况下,相关的网络已经创建;
步骤S223、利用所述创建自定义资源的命令,将所述组织创建为组织自定义资源;
步骤S224、根据所述组织自定义资源,利用所述命令将所述组织节点创建为组织节点自定义资源;
首先,根据所述组织自定义资源,利用所述命令,即,编写节点CRD的YAML文件,并指定组织标识、节点标识等参数;然后,使用kubectl命令执行创建组织节点。
步骤S225、根据所述组织自定义资源,利用所述命令将所述组织用户创建为组织用户自定义资源;
首先,根据所述组织自定义资源,利用所述命令,即,编写用户CRD的YAML文件,并指定组织标识、用户名和密码等参数;然后,使用kubectl命令执行创建组织用户。
步骤S226、根据所述组织自定义资源,利用所述创建自定义资源的命令将所述联盟创建为联盟自定义资源;
步骤S227、根据所述联盟自定义资源,利用所述创建自定义资源的命令将所述网络创建为网络自定义资源;
步骤S228、根据所述网络自定义资源,利用所述创建自定义资源的命令将所述通道创建为通道自定义资源;
步骤S229、获取用于创建目标网络的M个节点的属性信息,其中,M为大于等于1的整数;
步骤S230、根据所述创建请求,编写对应的预设格式文件;
这里,预设格式文件可以为YAML文件。
步骤S231、为所述任务自定义资源确定P个参数,其中,P为大于等于1的整数;
任务自定义资源确定P个参数,可以是任务标识、节点所属组织标识、节点标识,节点组织的管理员用户名,网络标识和通道名等参数。
步骤S232、根据所述预设格式文件和所述P个参数,确定所述任务自定义资源;
根据所述预设格式文件和所述P个参数,确定所述任务自定义资源,即,编写任务CRD的YAML文件,指定任务标识、节点所属组织标识、节点标识,节点组织的管理员用户名,网络标识和通道名等参数,使用kubectl命令执行创建任务,从任务CRD中读取任务执行结果和输出。
步骤S233、利用所述任务自定义资源,将每一所述节点的属性信息关联到对应的要素自定义资源;
步骤S234、将完成关联的组织自定义资源、完成关联的组织节点自定义资源、完成关联的组织用户自定义资源、完成关联的联盟自定义资源和完成关联的网络自定义资源加入完成关联的通道自定义资源,完成所述目标网络的创建。
本申请实施例中,首先描述了当组织还包括:组织节点、组织用户时,如何根据不同的要素对应的预设格式文件和对应的参数,得到创建自定义资源的命令。然后描述了如何根据创建请求确定任务自定义资源。这样,使用创建自定义资源的命令可以得到创建网络需要的要素自定义资源。根据所述创建请求,编写对应的预设格式文件,确定P个参数,可以确定任务自定义资源。
本申请实施例提供的一种网络创建方法,参照图3所示,执行以下步骤:
步骤S301、获取用于创建目标网络的N个要素,N为大于等于1的整数;
步骤S302、根据所述N个要素之间特定的依赖关系,利用创建自定义资源的命令将所述N个要素创建为对应的N个要素自定义资源;
步骤S303、获取用于创建目标网络的M个节点的属性信息,其中,M为大于等于1的整数;
步骤S304、利用任务自定义资源,将每一所述节点的属性信息关联到对应的要素自定义资源,完成所述目标网络的创建;
步骤S305、接收所述目标网络的维护请求,其中,所述维护请求包括要增加或减少的节点的属性信息;
当节点发生变化时,发送目标网络的维护请求,对应地,系统接收所述目标网络的维护请求,维护请求包括要增加或减少的节点的属性信息。
步骤S306、利用任务自定义资源,将所述要增加的节点的属性信息关联到对应的要素自定义资源,将所述要减少的节点的属性信息从对应的要素自定义资源中删除,完成所述目标网络的维护。
本申请实施例中,描述了当节点发生变化时,如何维护目标网络。这样,可以实现目标网络的高可用能力和灵活的资源管理能力,减少运维工作。
下面将说明本申请实施例在一个实际的应用场景中的示例性应用。
本申请提出基于Kubernetes自定义资源的管理调度方案,将Fabric中的组织、CA、联盟、MSP、网络、通道、节点等抽象为CRD,并通过任务自定义资源完成组网及网络维护功能。
图4A为本申请实施例提供的一种网络创建示意图,如图4A所示,包括:Kubernetes41,是一个开源的用于管理云平台中多个主机上的容器化的应用;Kubernetes CRD 49包括:组织42、用户43、节点44、联盟45、网络46、通道47和任务48;区块链控制器50,用于控制区块链,生成目标网络。
图4B为本申请实施例提供的一种网络创建方法的实现流程示意图,如图4B示,工作流程描述如下:
步骤S401、将Fabric中的N个要素抽象为对应的N个要素自定义资源,得到N个要素自定义资源;
如图4A所示,基于Kubernetes CRD409的管理调度方案,将Fabric中的N个要素抽象为自定义资源。这里N个要素可以为组织402、联盟405、网络406、通道407和节点404。
在不同应用业务环境下,对于平台可能有一些特殊的需求,这些需求可以抽象为Kubernetes的扩展资源,而Kubernetes的自定义资源(Custom Resource Definition,自定义资源)为这样的需求提供了轻量级的机制,保证新的资源的快速注册和使用。
步骤S402、根据N个要素自定义资源,基于Kubernetes完成组网,得到目标网络;
这里,N个要素的依赖关系为:联盟是组织的集合,创建联盟依赖相关的组织已经创建;一个网络包含至少一个联盟,创建网络依赖加入网络的联盟已经创建好;通道属于网络,包含属于特定联盟的若干组织,创建通道时相关的网络必须创建好。
以要素为组织、组织节点、联盟、网络、通道为例,创建过程见以下步骤S4021至步骤S4026。
步骤S4021、创建组织CRD;
该过程也会创建组织管理员用户,并生成组织MSP。创建方法为:编写组织CRD的YAML文件,并指定组织标识、管理员用户名和密码等参数;使用kubectl命令执行创建组织。
步骤S4022、创建组织节点CRD;
该过程也会创建节点用户,生成用户MSP,创建节点Deployment和Service。创建方法为:编写节点CRD的YAML文件,并指定组织标识、节点标识等参数;使用kubectl命令执行创建组织节点。
步骤S4023、使用创建好的组织CRD创建联盟CRD;
创建方法为:编写联盟CRD的YAML文件,并指定联盟标识、组织标识列表等参数;使用kubectl命令执行创建联盟。
步骤S4024、使用创建好的联盟CRD创建网络CRD;
该过程会生成网络的创世块,然后创建Orderer的Deployment和Service。创建方法为:编写网络CRD的YAML文件,并指定网络标识、联盟列表、共识参数等参数;使用kubectl命令执行创建网络。这里,区块链由多个相连的区块构成,每个区块记录了一段时间内网络中比特币的交易情况,可以将区块视为账簿中的帐页。第一个被最早构建的区块称为创世块,拥有一个唯一的ID标识号。除创世块外,每个后续建立的区块均包含两个ID号,一个是该区块自身的ID号,另一个是前序区块的ID号。通过ID号间的前后指向关系,所有区块按序相连就构成了区块链。
步骤S4025、使用已经创建好的组织、联盟和网络创建通道CRD,然后通过任务CRD创建通道的创世块。
创建方法为:编写通道CRD的YAML文件,并指定网络标识、通道名、联盟名及属于联盟的组织列表等参数;使用kubectl命令执行创建通道。
步骤S4026、创建加入通道任务CRD,指定组织节点、通道,创建Kubernetes Job执行加入通道动作。
节点加入通道的方法为:编写任务CRD的YAML文件,指定任务标识、节点所属组织标识、节点标识,节点组织的管理员用户名,网络标识和通道名等参数;使用kubectl命令执行创建任务;从任务CRD中读取任务执行结果和输出。
步骤S403、通过任务CRD完成组网及网络维护功能。
本申请实施例中,基于Kubernetes CRD的管理调度方案,将Fabric中的组织、电子认证服务(Certificate Authority,CA)、联盟、MSP、网络、通道、节点等抽象为CRD,并通过任务CRD完成组网及网络维护功能。采用本实施例的优势是:降低了Fabric组网过程的复杂度以及对组网人员的技术要求,更强的自主组网支持;复用了Kubernetes的高可用能力以及灵活的资源管理能力,减少运维工作;多租户设计和资源隔离更加适合云化。
基于前述的实施例,本申请实施例提供一种网络创建装置,该装置包括所包括的各模块、以及各模块所包括的各单元,可以通过电子设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)等。
图5为本申请实施例网络创建装置的组成结构示意图,如图5所示,所述装置500包括第一获取模块501、创建模块502、第二获取模块503和管理模块504,其中:
第一获取模块501,用于获取用于创建目标网络的N个要素,N为大于等于1的整数;
创建模块502,用于根据所述N个要素之间特定的依赖关系,利用创建自定义资源的命令将所述N个要素创建为对应的N个要素自定义资源;
第二获取模块503,获取用于创建目标网络的M个节点的属性信息,其中,M为大于等于1的整数;
关联模块504,用于利用任务自定义资源,将每一所述节点的属性信息关联到对应的要素自定义资源,完成所述目标网络的创建。
在一些实施例中,所述N个要素包括:组织、联盟、网络、通道;所述N个要素之间特定的依赖关系包括:所述联盟是组织的集合,创建所述联盟依赖相关的组织已经创建;一个所述网络包含至少一个联盟,创建所述网络依赖待加入所述网络的联盟已经创建;所述通道属于所述网络,包括属于特定联盟的若干组织;在创建所述通道的情况下,相关的网络已经创建。
在一些实施例中,所述装置还包括编写模块,确定模块、得到模块、接收模块和维护模块,其中,所述编写模块,用于根据每一所述要素的属性,编写对应的预设格式文件;所述确定模块,用于为每一所述要素确定K个参数,其中,K为大于等于1的整数;所述得到模块,用于根据每一所述要素对应的预设格式文件和对应的K个参数,得到所述创建自定义资源的命令;所述接收模块,用于接收所述目标网络的维护请求,其中,所述维护请求包括要增加或减少的节点的属性信息;所述维护模块,用于利用任务自定义资源,将所述要增加的节点的属性信息关联到对应的要素自定义资源,将所述要减少的节点的属性信息从对应的要素自定义资源中删除,完成所述目标网络的维护。
在一些实施例中,所述创建模块502包括第一创建子模块、第二创建子模块、第三创建子模块和第四创建子模块,其中,所述第一创建子模块,用于利用所述创建自定义资源的命令,将所述组织创建为组织自定义资源;所述第二创建子模块,用于根据所述组织自定义资源,利用所述创建自定义资源的命令将所述联盟创建为联盟自定义资源;所述第三创建子模块,用于根据所述联盟自定义资源,利用所述创建自定义资源的命令将所述网络创建为网络自定义资源;所述第四创建子模块,用于根据所述网络自定义资源,利用所述创建自定义资源的命令将所述通道创建为通道自定义资源。
在一些实施例中,关联模块504包括确定子模块、关联子模块和加入子模块,其中,所述确定子模块,用于根据所述创建请求,确定任务自定义资源;所述关联子模块,用于利用所述任务自定义资源,将每一所述节点的属性信息关联到对应的要素自定义资源;所述加入子模块,用于将完成关联的组织自定义资源、完成关联的联盟自定义资源和完成关联的网络自定义资源加入完成关联的通道自定义资源,完成所述目标网络的创建。
在一些实施例中,所述组织还包括:组织节点、组织用户;所示创建模块502还包括第五创建模块和第六创建模块,其中,所述第五创建模块,用于根据所述组织自定义资源,利用所述命令将所述组织节点创建为组织节点自定义资源;所述第六创建模块,用于根据所述组织自定义资源,利用所述命令将所述组织用户创建为组织用户自定义资源;对应的,所述加入子模块,还用于将完成关联的组织自定义资源、完成关联的组织节点自定义资源、完成关联的组织用户自定义资源、完成关联的联盟自定义资源和完成关联的网络自定义资源加入完成关联的通道自定义资源,完成所述目标网络的创建。
在一些实施例中,所述确定子模块包括编写单元,第一确定单元和第二确定单元,其中,所述编写单元,用于根据所述创建请求,编写对应的预设格式文件;所述第一确定单元,用于为所述任务自定义资源确定P个参数,其中,P为大于等于1的整数;所述第二确定单元,用于根据所述预设格式文件和所述P个参数,确定所述任务自定义资源。
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的网络创建方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备(可以是平板电脑、笔记本电脑、台式计算机等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read OnlyMemory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
对应地,本申请实施例提供一种电子设备,所述设备作为区块链网络中的参与节点,所述区块链网络包括:
用于创建所述网络的N个要素自定义资源;其中,所述N个要素之间特定的依赖关系;用于M个设备中每一所述设备的自定义资源,其中,所述M个设备为所述网络中的物理节点;每一所述设备的自定义资源与至少一个所述要素具有对应关系,用于将所述设备与区块链网络进行关联;所述设备的自定义资源通过任务自定义资源与对应的要素资源进行关联。
图6为本申请实施例电子设备的一种硬件实体示意图,如图6所示,该电子设备600的硬件实体包括:包括存储器601和处理器602,所述存储器601存储有可在处理器602上运行的计算机程序,所述处理器602执行所述程序时实现上述实施例中提供的网络创建方法中的步骤。
对应地,本申请实施例提供一种电子设备,所述设备作为区块链网络中的参与节点,其中,所述区块链网络是通过执行所述程序时实现上述方法中的步骤进行创建的。
对应地,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的网络创建方法中的步骤。
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备(可以是平板电脑、笔记本电脑、台式计算机等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种网络创建方法,所述方法包括:
获取用于创建目标网络的N个要素,N为大于等于1的整数;
根据所述N个要素之间特定的依赖关系,利用创建自定义资源的命令将所述N个要素创建为对应的N个要素自定义资源;
获取用于创建目标网络的M个节点的属性信息,其中,M为大于等于1的整数;
利用任务自定义资源,将每一所述节点的属性信息关联到对应的要素自定义资源,完成所述目标网络的创建。
2.根据权利要求1所述的方法,其中,所述N个要素包括:组织、联盟、网络、通道;
所述N个要素之间特定的依赖关系包括:
所述联盟是组织的集合,创建所述联盟依赖相关的组织已经创建;
一个所述网络包含至少一个联盟,创建所述网络依赖待加入所述网络的联盟已经创建;
所述通道属于所述网络,包括属于特定联盟的若干组织;在创建所述通道的情况下,相关的网络已经创建。
3.根据权利要求1所述的方法,其中,所述方法还包括:
根据每一所述要素的属性,编写对应的预设格式文件;
为每一所述要素确定K个参数,其中,K为大于等于1的整数;
根据每一所述要素对应的预设格式文件和对应的K个参数,得到所述创建自定义资源的命令。
4.根据权利要求2所述的方法,其中,所述根据所述N个要素之间特定的依赖关系,利用创建自定义资源的命令将所述N个要素创建为对应的N个要素自定义资源,包括:
利用所述创建自定义资源的命令,将所述组织创建为组织自定义资源;
根据所述组织自定义资源,利用所述创建自定义资源的命令将所述联盟创建为联盟自定义资源;
根据所述联盟自定义资源,利用所述创建自定义资源的命令将所述网络创建为网络自定义资源;
根据所述网络自定义资源,利用所述创建自定义资源的命令将所述通道创建为通道自定义资源。
5.根据权利要求4所述的方法,其中,所述利用任务自定义资源,将每一所述节点的属性信息关联到对应的要素自定义资源,完成所述目标网络的创建,包括:
根据所述创建请求,确定任务自定义资源;
利用所述任务自定义资源,将每一所述节点的属性信息关联到对应的要素自定义资源;
将完成关联的组织自定义资源、完成关联的联盟自定义资源和完成关联的网络自定义资源加入完成关联的通道自定义资源,完成所述目标网络的创建。
6.根据权利要求5所述的方法,其中,所述组织还包括:组织节点、组织用户;所述根据所述N个要素之间特定的依赖关系,利用创建自定义资源的命令将所述N个要素创建为对应的N个要素自定义资源,还包括:
根据所述组织自定义资源,利用所述命令将所述组织节点创建为组织节点自定义资源;
根据所述组织自定义资源,利用所述命令将所述组织用户创建为组织用户自定义资源;
对应地,将完成关联的组织自定义资源、完成关联的组织节点自定义资源、完成关联的组织用户自定义资源、完成关联的联盟自定义资源和完成关联的网络自定义资源加入完成关联的通道自定义资源,完成所述目标网络的创建。
7.根据权利要求5所述的方法,其中,所述根据所述创建请求,确定任务自定义资源,包括:
根据所述创建请求,编写对应的预设格式文件;
为所述任务自定义资源确定P个参数,其中,P为大于等于1的整数;
根据所述预设格式文件和所述P个参数,确定所述任务自定义资源。
8.根据权利要1至7所述的任一项方法,其中,所述方法还包括:
接收所述目标网络的维护请求,其中,所述维护请求包括要增加或减少的节点的属性信息;
利用任务自定义资源,将所述要增加的节点的属性信息关联到对应的要素自定义资源,将所述要减少的节点的属性信息从对应的要素自定义资源中删除,完成所述目标网络的维护。
9.一种网络创建装置,包括:
第一获取模块,用于获取用于创建目标网络的N个要素,N为大于等于1的整数;
创建模块,用于根据所述N个要素之间特定的依赖关系,利用创建自定义资源的命令将所述N个要素创建为对应的N个要素自定义资源;
第二获取模块,获取用于创建目标网络的M个节点的属性信息,其中,M为大于等于1的整数;
关联模块,用于利用任务自定义资源,将每一所述节点的属性信息关联到对应的要素自定义资源,完成所述目标网络的创建。
10.一种电子设备,所述设备作为区块链网络中的参与节点,所述区块链网络包括:
用于创建所述网络的N个要素自定义资源;其中,所述N个要素之间特定的依赖关系;
用于M个设备中每一所述设备的自定义资源,其中,所述M个设备为所述网络中的物理节点;每一所述设备的自定义资源与至少一个所述要素具有对应关系,用于将所述设备与区块链网络进行关联;
所述设备的自定义资源通过任务自定义资源与对应的要素资源进行关联。
CN202010725954.4A 2020-07-24 2020-07-24 一种网络创建方法及装置、电子设备 Active CN111930347B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010725954.4A CN111930347B (zh) 2020-07-24 2020-07-24 一种网络创建方法及装置、电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010725954.4A CN111930347B (zh) 2020-07-24 2020-07-24 一种网络创建方法及装置、电子设备

Publications (2)

Publication Number Publication Date
CN111930347A true CN111930347A (zh) 2020-11-13
CN111930347B CN111930347B (zh) 2022-05-31

Family

ID=73314574

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010725954.4A Active CN111930347B (zh) 2020-07-24 2020-07-24 一种网络创建方法及装置、电子设备

Country Status (1)

Country Link
CN (1) CN111930347B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114666108A (zh) * 2022-03-10 2022-06-24 明阳产业技术研究院(沈阳)有限公司 基于自定义资源的身份认证方法、装置、设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170177855A1 (en) * 2015-12-22 2017-06-22 Thomson Reuters Global Resources Methods and systems for identity creation, verification and management
CN107274186A (zh) * 2017-05-11 2017-10-20 上海点融信息科技有限责任公司 在区块链中获得智能合约接口的方法和设备
CN108965008A (zh) * 2018-07-19 2018-12-07 郑州云海信息技术有限公司 一种自定义网络拓扑结构的生成方法及其装置
CN110098954A (zh) * 2019-03-29 2019-08-06 北京百度网讯科技有限公司 Hyperledger Fabric网络的创建方法、控制器及存储介质
CN110933189A (zh) * 2020-02-10 2020-03-27 北京启迪区块链科技发展有限公司 基于Fabric的区块链网络部署方法、装置、设备和介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170177855A1 (en) * 2015-12-22 2017-06-22 Thomson Reuters Global Resources Methods and systems for identity creation, verification and management
CN107274186A (zh) * 2017-05-11 2017-10-20 上海点融信息科技有限责任公司 在区块链中获得智能合约接口的方法和设备
CN108965008A (zh) * 2018-07-19 2018-12-07 郑州云海信息技术有限公司 一种自定义网络拓扑结构的生成方法及其装置
CN110098954A (zh) * 2019-03-29 2019-08-06 北京百度网讯科技有限公司 Hyperledger Fabric网络的创建方法、控制器及存储介质
CN110933189A (zh) * 2020-02-10 2020-03-27 北京启迪区块链科技发展有限公司 基于Fabric的区块链网络部署方法、装置、设备和介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ASHTON: "搭建 Fabric 网络分步走", 《HTTPS://WWW.JIANSHU.COM/P/CEEB79AF10C4?UTM_CAMPAIGN=MALESKINE》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114666108A (zh) * 2022-03-10 2022-06-24 明阳产业技术研究院(沈阳)有限公司 基于自定义资源的身份认证方法、装置、设备及介质

Also Published As

Publication number Publication date
CN111930347B (zh) 2022-05-31

Similar Documents

Publication Publication Date Title
AU2007289177B2 (en) Dynamically configuring, allocating and deploying computing systems
US8990794B2 (en) Porting virtual images between platforms
US11579848B2 (en) Unified operating system for distributed computing
US10594800B2 (en) Platform runtime abstraction
Munteanu et al. Multi-cloud resource management: cloud service interfacing
Lu et al. Pattern-based deployment service for next generation clouds
CN110888736A (zh) 一种基于容器云平台的应用管理方法、系统及相关组件
CN115668128A (zh) 使云服务的采用自动化
CN116028163A (zh) 一种容器组的动态链接库调度方法、装置及存储介质
CN111930347B (zh) 一种网络创建方法及装置、电子设备
CN112131230B (zh) 应用SaaS化实现方法、装置、设备及存储介质
CN107896242B (zh) 一种服务共享方法及装置
CN104246739A (zh) 面向数据中心服务的联网
CN110908644A (zh) 状态节点的配置方法、装置、计算机设备和存储介质
CN117859309A (zh) 自动选择在其上执行任务的节点
Coulter et al. Implementation of simple XSEDE-like clusters: Science enabled and lessons learned
Daga et al. Federated learning operations made simple with flame
KR101044173B1 (ko) 분산형 컴퓨팅 시스템상에서 분산형 애플리케이션들을 설계, 배포 및 관리하기 위한 방법 및 장치, 자원 관리자 및 컴퓨터 판독가능 기록 매체
Odun-Ayo et al. Cloud and application programming interface–Issues and developments
Bhattacharjee et al. Cloudcamp: A model-driven generative approach for automating cloud application deployment and management
US20080183537A1 (en) Approach to comprehensive requirements specifications for complex workflows
Bogdándy et al. Case study of an on-premise data warehouse configuration
Martino et al. A comparison between TOSCA and OpenStack HOT through cloud patterns composition
Hossain Cloud computing terms, definitions, and taxonomy
US11875202B2 (en) Visualizing API invocation flows in containerized environments

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