CN110098954B - Hyperledger Fabric网络的创建方法、控制器及存储介质 - Google Patents
Hyperledger Fabric网络的创建方法、控制器及存储介质 Download PDFInfo
- Publication number
- CN110098954B CN110098954B CN201910251318.XA CN201910251318A CN110098954B CN 110098954 B CN110098954 B CN 110098954B CN 201910251318 A CN201910251318 A CN 201910251318A CN 110098954 B CN110098954 B CN 110098954B
- Authority
- CN
- China
- Prior art keywords
- component
- creating
- fabric network
- component information
- information
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0876—Aspects of the degree of configuration automation
- H04L41/0883—Semiautomatic configuration, e.g. proposals from system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Automation & Control Theory (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及区块链技术领域,公开了一种Hyperledger Fabric网络的创建方法、控制器及存储介质,解决在创建Fabric网络时,现有技术中需要用户额外学习脚本的编写,创建方式不方便,以及需要单独开发用于部署的后端服务,导致开发成本高的问题。所述方法包括:获取在kubernetes集群中创建Hyperledger Fabric网络所需的配置文件;根据所述配置文件以及预设状态机,在所述kubernetes集群中创建Hyperledger Fabric网络。本发明实施例适用于Hyperledger Fabric网络的创建过程。
Description
技术领域
本发明涉及区块链技术领域,具体地,涉及一种Hyperledger Fabric网络的创建方法、控制器及存储介质。
背景技术
Hyperledger Fabric(超级账本,以下简称为Fabric)网络是一个模块化的分布式账本解决方案支撑平台。在现有技术中创建Fabirc网络有两种方式,一种是使用自动化部署工具(例如ansible),通过部署脚本的方式,将Fabric网络组件按照顺序部署到环境中。这种方式比较原始,就是将最原始的手动挨个部署网络组件的方式进行了一个脚本化的过程,实现了自动创建Fabric网络。另一种方式是使用开发的后端服务,来进行Fabric网络的创建。例如,如果需要将Fabric网路部署到kubernetes集群中,需要开发和kubernetes交互的后端服务,通过调用后端服务的相关接口,在kubernetes集群中进行Fabric网络的创建。
对于现有技术中的第一种创建方式,需要用户额外学习脚本的编写,对于用户不够方便,而第二种创建方式,由于需要单独开发用于部署的后端服务,开发成本高,占用资源较多。
发明内容
本发明的目的是为了解决在创建Fabric网络时,现有技术中需要用户额外学习脚本的编写,创建方式不方便,以及需要单独开发用于部署的后端服务,导致开发成本高的问题,提供了一种Hyperledger Fabric网络的创建方法、控制器及存储介质,通过配置文件以及预设状态机,在kubernetes集群中创建Hyperledger Fabric网络,实现了自动化将fabric网络部署于kubernetes集群,节省了硬件资源以及人力投入。
为了实现上述目的,本发明第一方面实施例提供一种Hyperledger Fabric网络的创建方法,所述方法包括:获取在kubernetes集群中创建HyperledgerFabric网络所需的配置文件;根据所述配置文件以及预设状态机,在所述kubernetes集群中创建HyperledgerFabric网络。
进一步地,所述配置文件中包括组件信息,所述根据所述配置文件以及预设状态机,在所述kubernetes集群中创建Hyperledger Fabric网络包括:根据所述预设状态机中组件的创建顺序以及所述组件信息,在所述kubernetes集群中创建Hyperledger Fabric网络。
进一步地,所述根据所述预设状态机中组件的创建顺序以及所述组件信息,在所述kubernetes集群中创建Hyperledger Fabric网络包括:从所述组件信息中获取元信息,并将所述元信息进行初始化;根据初始化后的元信息创建组件关联文件;当所述组件关联文件创建成功后,根据所述组件信息中的Mysql组件信息,创建Mysql组件;当所述Mysql组件创建成功后,根据所述组件信息中的CA组件信息,创建CA组件;当所述CA组件创建成功后,根据所述组件信息创建证书文件;当所述证书文件创建成功后,根据所述组件信息中的Orderer组件信息,创建Orderer组件;当所述Orderer组件创建成功后,根据所述组件信息中的Peer组件信息,创建Peer组件;当所述Peer组件创建成功后,确定在所述kubernetes集群中成功创建所述HyperledgerFabric网络,并且所述Hyperledger Fabric网络处于运行状态。
进一步地,在所述kubernetes集群中创建Hyperledger Fabric网络之后,所述方法还包括:监测所述Hyperledger Fabric网络中各组件的运行状态;当监测到所述Hyperledger Fabric网络中存在停止运行的组件时,根据所述组件信息中与所述停止运行的组件对应的组件信息,重新创建所述停止运行的组件。
进一步地,所述方法还包括:当获取到升级配置文件时,根据所述升级配置文件以及所述预设状态机,在所述kubernetes集群中重新创建Hyperledger Fabric网络。
本发明第二方面实施例提供一种控制器,包括:获取单元,用于获取在kubernetes集群中创建Hyperledger Fabric网络所需的配置文件;创建单元,用于根据所述配置文件以及预设状态机,在所述kubernetes集群中创建Hyperledger Fabric网络。
进一步地,所述创建单元还用于根据所述预设状态机中组件的创建顺序以及所述组件信息,在所述kubernetes集群中创建Hyperledger Fabric网络。
进一步地,所述创建单元还用于从所述组件信息中获取元信息,并将所述元信息进行初始化;根据初始化后的元信息创建组件关联文件;当所述组件关联文件创建成功后,根据所述组件信息中的Mysql组件信息,创建Mysql组件;当所述Mysql组件创建成功后,根据所述组件信息中的CA组件信息,创建CA组件;当所述CA组件创建成功后,根据所述组件信息创建证书文件;当所述证书文件创建成功后,根据所述组件信息中的Orderer组件信息,创建Orderer组件;当所述Orderer组件创建成功后,根据所述组件信息中的Peer组件信息,创建Peer组件;当所述Peer组件创建成功后,确定在所述kubernetes集群中成功创建所述Hyperledger Fabric网络,并且所述Hyperledger Fabric网络处于运行状态。
进一步地,所述控制器还包括:监测单元,用于监测所述HyperledgerFabric网络中各组件的运行状态;所述创建单元还用于当监测到所述Hyperledger Fabric网络中存在停止运行的组件时,根据所述组件信息中与所述停止运行的组件对应的组件信息,重新创建所述停止运行的组件。
进一步地,所述获取单元还用于获取升级配置文件;所述创建单元还用于根据所述升级配置文件以及所述预设状态机,在所述kubernetes集群中重新创建HyperledgerFabric网络。
本发明第三方面实施例提供一种存储介质,所述存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如上所述的Hyperledger Fabric网络的创建方法。
通过上述技术方案,获取在kubernetes集群中创建Hyperledger Fabric网络所需的配置文件,并根据所述配置文件以及预设状态机,在所述kubernetes集群中创建Hyperledger Fabric网络。本发明实施例解决了现有技术中在创建Fabric网络时,需要用户额外学习脚本的编写,创建方式不方便,以及需要单独开发用于部署的后端服务,导致开发成本高的问题,实现了自动化将fabric网络部署于kubernetes集群,节省了硬件资源以及人力投入。
本发明的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:
图1是本发明实施例提供的一种Hyperledger Fabric网络的创建方法的流程示意图;
图2是本发明实施例提供的预设状态机的示意图;
图3是本发明实施例提供的一种控制器的结构示意图;
图4是本发明实施例提供的另一种控制器的结构示意图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
在Kubernetes集群中,通过创建多个容器,使得每个容器里面运行一个应用程序实例,从而配置和管理复杂有状态的应用程序实例。但是现有技术中在Kubernetes集群中部署Hyperledger Fabric网络时,需要开发与Kubernetes集群交互的后端服务,开发成本较高。在本发明实施例中,利用定制化的Fabric Operator在kubernetes集群中自动化创建Hyperledger Fabric网络,下面将详细描述具体创建过程。
图1是本发明实施例提供的一种Hyperledger Fabric网络的创建方法的流程示意图。如图1所示,所述方法应用于Fabric Operator,其是部署于kubernetes集群中用来监控管理Hyperledger Fabric网络的控制器,所述方法包括如下步骤:
步骤101,获取在kubernetes集群中创建Hyperledger Fabric网络所需的配置文件;
步骤102,根据所述配置文件以及预设状态机,在所述kubernetes集群中创建Hyperledger Fabric网络。
在本发明实施例中应用的kubernetes集群为Kubernetes 1.7及以上版本,其支持CRD(Custom Resources Definitions,自定义资源定义),因此可以自定义kubernetes集群的资源类型。所述配置文件就是自定义的资源类型,其中包含了创建Hyperledger Fabric网络所需的所有组件信息。这些组件信息包括CA组件信息,用来签发网络需要的证书;Mysql组件信息,用来存储CA组件签发的证书;Orderer组件信息,用来进行交易排序;Peer组件信息,用来进行交易的执行和记账。
其中,根据所述预设状态机中组件的创建顺序以及所述组件信息,在所述kubernetes集群中创建Hyperledger Fabric网络。如图2所示,首先,从所述组件信息中获取元信息,并将所述元信息进行初始化,根据根据初始化后的元信息创建组件关联文件。当所述组件关联文件创建成功后,根据所述组件信息中的Mysql组件信息,创建Mysql组件。当所述Mysql组件创建成功后,根据所述组件信息中的CA组件信息,创建CA组件。当所述CA组件创建成功后,根据所述组件信息创建证书文件。当所述证书文件创建成功后,根据所述组件信息中的Orderer组件信息,创建Orderer组件。当所述Orderer组件创建成功后,根据所述组件信息中的Peer组件信息,创建Peer组件。当所述Peer组件创建成功后,确定在所述kubernetes集群中成功创建所述Hyperledger Fabric网络,并且所述Hyperledger Fabric网络处于运行状态。其中,在上述创建每一个组件时,若是创建失败,则直接退出HyperledgerFabric网络的创建过程,并给出创建失败的提示,以便用户查看创建失败的原因。
另外,在创建上述每个组件的时候,均需要循环执行以下过程:监控每个组件的当前状态,然后分析当前状态与组件信息中的期望状态的差别,通过执行与组件对应的操作,使对应组件的当前状态达到期望状态。
其中,Fabric Operator本身作为一种服务部署于kubernetes集群中的控制器,可以直接与kubernetes集群的Master交互,并可以使用kubernetes集群中的kubectl命令来管理,而且可以使用kubernetes集群中的对象类型来管理,同时显示在kubernetes集群中的dashboard上。另外,Fabric Operator还可以遵守kubernetes集群中的API规则限制,复用kubernetes API的公共功能,调用API部署相应的kubernetes资源,比如CRUD、watch、内置的认证和授权等。从而,由于Fabric Operator本身处于kubernetes集群内,可自由调用kubernetes集群中的资源,而无需如现有技术中需要单独开发用于部署HyperledgerFabric网络的后端服务,节省了硬件资源,也节省了不同网络环境下后端服务于集群交互的开销。
在本发明的一种实施方式中,当所述kubernetes集群中创建HyperledgerFabric网络之后,还可以通过监控Hyperledger Fabric网络中各组件的运行状态,进行自动化运维。具体是监测所述Hyperledger Fabric网络中各组件的运行状态。当监测到所述Hyperledger Fabric网络中存在停止运行的组件时,则根据所述组件信息中与所述停止运行的组件对应的组件信息,重新创建所述停止运行的组件,从而无需因为组件出问题而人工介入进行维护,节省人力成本。
另外,在本发明的另一种实施方式中,在对Hyperledger Fabric网络进行升级时,可通过更改所述配置文件即可对所述Hyperledger Fabric网络进程重新配置,当获取到升级配置文件时,可根据所述升级配置文件以及所述预设状态机,在所述kubernetes集群中重新创建Hyperledger Fabric网络。其中,升级过程与创建过程相同,均是按照所述预设状态机以及所述升级配置文件中的组件信息,按照组件的创建顺序创建Hyperledger Fabric网络。其中,也是监控每个组件的当前状态,然后分析当前状态与组件信息中的期望状态的差别,通过执行与组件对应的操作,使对应组件的当前状态达到期望状态,继而得到处于运行状态的Hyperledger Fabric网络。
通过本发明实施例,可将Hyperledger Fabric网络自动化部署于kubernetes集群中,通过Fabric Operator在kubernetes集群中维护HyperledgerFabric网络的稳定性,保证其始终处于期望状态。本发明实施例节省了现有技术中需要的专属部署后端服务的相关软件硬件资源,Hyperledger Fabric网络的运行均处于kubernetes集群中,也节省了原先集群外,甚至不同网络环境下后端服务与集群交互的开销,而且Fabric Operator自动化进行Hyperledger Fabric网络的创建工作,释放了Hyperledger Fabric网络创建中不必要的人力投入。
相应的,图3是本发明实施例提供的一种控制器的结构示意图。如图3所示,所述控制器为上述实施例提到的Fabric Operator,所述控制器30包括:获取单元31,用于获取在kubernetes集群中创建Hyperledger Fabric网络所需的配置文件;创建单元32,用于根据所述配置文件以及预设状态机,在所述kubernetes集群中创建Hyperledger Fabric网络。
其中,所述创建单元还用于根据所述预设状态机中组件的创建顺序以及所述组件信息,在所述kubernetes集群中创建Hyperledger Fabric网络。
另外,所述创建单元还用于从所述组件信息中获取元信息,并将所述元信息进行初始化;根据初始化后的元信息创建组件关联文件;当所述组件关联文件创建成功后,根据所述组件信息中的Mysql组件信息,创建Mysql组件;当所述Mysql组件创建成功后,根据所述组件信息中的CA组件信息,创建CA组件;当所述CA组件创建成功后,根据所述组件信息创建证书文件;当所述证书文件创建成功后,根据所述组件信息中的Orderer组件信息,创建Orderer组件;当所述Orderer组件创建成功后,根据所述组件信息中的Peer组件信息,创建Peer组件;当所述Peer组件创建成功后,确定在所述kubernetes集群中成功创建所述Hyperledger Fabric网络,并且所述Hyperledger Fabric网络处于运行状态。
如图4所示,所述控制器30还包括:监测单元41,用于监测所述HyperledgerFabric网络中各组件的运行状态;所述创建单元还用于当监测到所述Hyperledger Fabric网络中存在停止运行的组件时,根据所述组件信息中与所述停止运行的组件对应的组件信息,重新创建所述停止运行的组件。
进一步地,所述获取单元还用于获取升级配置文件;所述创建单元还用于根据所述升级配置文件以及所述预设状态机,在所述kubernetes集群中重新创建HyperledgerFabric网络。
本发明实施例提供的控制器,通过配置文件以及预设状态机,在kubernetes集群中创建Hyperledger Fabric网络,实现了自动化将fabric网络部署于kubernetes集群,节省了硬件资源以及人力投入。
相应的,本发明实施例还提供一种存储介质,所述存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例所述的HyperledgerFabric网络的创建方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (9)
1.一种Hyperledger Fabric网络的创建方法,其特征在于,所述方法应用于服务部署于kubernetes集群中的控制器,包括:
获取在kubernetes集群中创建Hyperledger Fabric网络所需的配置文件,所述配置文件中包括组件信息;
根据所述配置文件以及预设状态机,在所述kubernetes集群中创建HyperledgerFabric网络,
其中,在所述kubernetes集群中创建Hyperledger Fabric网络之后,所述方法还包括:
监测所述Hyperledger Fabric网络中各组件的运行状态;
当监测到所述Hyperledger Fabric网络中存在停止运行的组件时,根据所述组件信息中与所述停止运行的组件对应的组件信息,重新创建所述停止运行的组件。
2.根据权利要求1所述的方法,其特征在于,所述根据所述配置文件以及预设状态机,在所述kubernetes集群中创建Hyperledger Fabric网络包括:
根据所述预设状态机中组件的创建顺序以及所述组件信息,在所述kubernetes集群中创建Hyperledger Fabric网络。
3.根据权利要求2所述的方法,其特征在于,所述根据所述预设状态机中组件的创建顺序以及所述组件信息,在所述kubernetes集群中创建Hyperledger Fabric网络包括:
从所述组件信息中获取元信息,并将所述元信息进行初始化;
根据初始化后的元信息创建组件关联文件;
当所述组件关联文件创建成功后,根据所述组件信息中的Mysql组件信息,创建Mysql组件;
当所述Mysql组件创建成功后,根据所述组件信息中的CA组件信息,创建CA组件;
当所述CA组件创建成功后,根据所述组件信息创建证书文件;
当所述证书文件创建成功后,根据所述组件信息中的Orderer组件信息,创建Orderer组件;
当所述Orderer组件创建成功后,根据所述组件信息中的Peer组件信息,创建Peer组件;
当所述Peer组件创建成功后,确定在所述kubernetes集群中成功创建所述Hyperledger Fabric网络,并且所述Hyperledger Fabric网络处于运行状态。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当获取到升级配置文件时,根据所述升级配置文件以及所述预设状态机,在所述kubernetes集群中重新创建Hyperledger Fabric网络。
5.一种控制器,其特征在于,所述控制器服务部署于kubernetes集群中,包括:
获取单元,用于获取在kubernetes集群中创建Hyperledger Fabric网络所需的配置文件,所述配置文件中包括组件信息;
创建单元,用于根据所述配置文件以及预设状态机,在所述kubernetes集群中创建Hyperledger Fabric网络,
监测单元,用于监测所述Hyperledger Fabric网络中各组件的运行状态;
所述创建单元还用于当监测到所述Hyperledger Fabric网络中存在停止运行的组件时,根据所述组件信息中与所述停止运行的组件对应的组件信息,重新创建所述停止运行的组件。
6.根据权利要求5所述的控制器,其特征在于,所述创建单元还用于根据所述预设状态机中组件的创建顺序以及所述组件信息,在所述kubernetes集群中创建HyperledgerFabric网络。
7.根据权利要求6所述的控制器,其特征在于,所述创建单元还用于从所述组件信息中获取元信息,并将所述元信息进行初始化;根据初始化后的元信息创建组件关联文件;当所述组件关联文件创建成功后,根据所述组件信息中的Mysql组件信息,创建Mysql组件;当所述Mysql组件创建成功后,根据所述组件信息中的CA组件信息,创建CA组件;当所述CA组件创建成功后,根据所述组件信息创建证书文件;当所述证书文件创建成功后,根据所述组件信息中的Orderer组件信息,创建Orderer组件;当所述Orderer组件创建成功后,根据所述组件信息中的Peer组件信息,创建Peer组件;当所述Peer组件创建成功后,确定在所述kubernetes集群中成功创建所述Hyperledger Fabric网络,并且所述Hyperledger Fabric网络处于运行状态。
8.根据权利要求5所述的控制器,其特征在于,
所述获取单元还用于获取升级配置文件;
所述创建单元还用于根据所述升级配置文件以及所述预设状态机,在所述kubernetes集群中重新创建Hyperledger Fabric网络。
9.一种存储介质,其特征在于,所述存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述权利要求1-4任一项所述的Hyperledger Fabric网络的创建方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910251318.XA CN110098954B (zh) | 2019-03-29 | 2019-03-29 | Hyperledger Fabric网络的创建方法、控制器及存储介质 |
SG10201910676VA SG10201910676VA (en) | 2019-03-29 | 2019-11-14 | Method for creating hyperledger fabric network, controller and storage medium |
US16/691,353 US11307849B2 (en) | 2019-03-29 | 2019-11-21 | Method for creating hyperledger fabric network, controller and storage medium |
JP2019211259A JP6928066B2 (ja) | 2019-03-29 | 2019-11-22 | Hyperledger Fabricネットワークの構築方法、コントローラ及び記憶媒体 |
KR1020190151295A KR102354536B1 (ko) | 2019-03-29 | 2019-11-22 | 하이퍼레저 패브릭 네트워크 구축 방법과 컨트롤러 및 저장 매체 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910251318.XA CN110098954B (zh) | 2019-03-29 | 2019-03-29 | Hyperledger Fabric网络的创建方法、控制器及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110098954A CN110098954A (zh) | 2019-08-06 |
CN110098954B true CN110098954B (zh) | 2022-06-28 |
Family
ID=67444187
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910251318.XA Active CN110098954B (zh) | 2019-03-29 | 2019-03-29 | Hyperledger Fabric网络的创建方法、控制器及存储介质 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11307849B2 (zh) |
JP (1) | JP6928066B2 (zh) |
KR (1) | KR102354536B1 (zh) |
CN (1) | CN110098954B (zh) |
SG (1) | SG10201910676VA (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111130841B (zh) * | 2019-11-21 | 2022-07-08 | 深圳壹账通智能科技有限公司 | 区块链网络部署方法、电子装置及计算机可读存储介质 |
US11762656B2 (en) * | 2020-07-13 | 2023-09-19 | Salesforce, Inc. | Service fabrication tool |
CN111930347B (zh) * | 2020-07-24 | 2022-05-31 | 联想(北京)有限公司 | 一种网络创建方法及装置、电子设备 |
CN112269640B (zh) * | 2020-11-02 | 2023-03-28 | 浪潮云信息技术股份公司 | 一种实现容器云组件的生命周期管理的方法 |
KR102241940B1 (ko) * | 2020-11-30 | 2021-04-20 | 주식회사 한국정보보호경영연구소 | 블록체인 기반의 응용 소프트웨어 확장 서비스 제공장치 및 방법 |
US11836714B2 (en) | 2021-07-07 | 2023-12-05 | Ava Labs, Inc. | Secure and trustworthy bridge for transferring assets across networks with different data architecture |
US11496327B1 (en) | 2021-07-07 | 2022-11-08 | Ava Labs, Inc. | Secure and trustworthy bridge for transferring assets across different networks |
US11829780B2 (en) * | 2021-09-22 | 2023-11-28 | International Business Machines Corporation | Open-source container cluster hot plug adapter |
CN114217826A (zh) * | 2021-12-16 | 2022-03-22 | 杭州溪塔科技有限公司 | 一种在Kubernetes中部署云原生区块链软件的方法和装置 |
CN114253628A (zh) * | 2021-12-22 | 2022-03-29 | 金蝶软件(中国)有限公司 | 一种中间件的自动部署装置及自动部署方法 |
CN114968270B (zh) * | 2022-05-13 | 2024-10-15 | 武汉大学 | 面向超级账本区块链的异构服务器群的部署方法及系统 |
KR102721563B1 (ko) | 2022-06-09 | 2024-10-25 | 주식회사 엘지씨엔에스 | 블록체인 네트워크의 구성 방법, 디바이스 및 기록매체 |
CN115314449B (zh) * | 2022-07-20 | 2023-10-27 | 江苏金融租赁股份有限公司 | 一种微服务平台的剩余资源评估方法及设备 |
US12112373B2 (en) | 2022-07-21 | 2024-10-08 | Enclave Markets Inc. | Secure and trustworthy crossing network for transferring assets outside of exchange |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102224496A (zh) * | 2008-11-21 | 2011-10-19 | 微软公司 | 公共配置应用程序编程接口 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10528551B2 (en) * | 2017-09-29 | 2020-01-07 | Oracle International Corporation | System and method for providing a representational state transfer proxy service for a blockchain cloud service |
US11245756B2 (en) * | 2018-09-13 | 2022-02-08 | International Business Machines Corporation | Sparse peer with transient participation |
CA3061603A1 (en) * | 2018-11-14 | 2020-05-14 | Royal Bank Of Canada | System and method for storing contract data structures on permissioned distributed ledgers |
-
2019
- 2019-03-29 CN CN201910251318.XA patent/CN110098954B/zh active Active
- 2019-11-14 SG SG10201910676VA patent/SG10201910676VA/en unknown
- 2019-11-21 US US16/691,353 patent/US11307849B2/en active Active
- 2019-11-22 JP JP2019211259A patent/JP6928066B2/ja active Active
- 2019-11-22 KR KR1020190151295A patent/KR102354536B1/ko active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102224496A (zh) * | 2008-11-21 | 2011-10-19 | 微软公司 | 公共配置应用程序编程接口 |
Non-Patent Citations (2)
Title |
---|
Deploying Hyperledger Fabric on Kubernetes;Collins Wekesa Delan;《opensource.com》;20180411;全文 * |
How to Deploy Hyperledger Fabric on Kubernetes-Part II;Hyperledger;《Hyperledger》;20181129;全文 * |
Also Published As
Publication number | Publication date |
---|---|
SG10201910676VA (en) | 2020-10-29 |
CN110098954A (zh) | 2019-08-06 |
JP6928066B2 (ja) | 2021-09-01 |
KR20200115020A (ko) | 2020-10-07 |
KR102354536B1 (ko) | 2022-01-21 |
US11307849B2 (en) | 2022-04-19 |
JP2020166817A (ja) | 2020-10-08 |
US20200310789A1 (en) | 2020-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110098954B (zh) | Hyperledger Fabric网络的创建方法、控制器及存储介质 | |
US10216509B2 (en) | Continuous and automatic application development and deployment | |
WO2022016848A1 (zh) | 一种根据服务角色的进行应用部署的方法及装置 | |
US10191733B2 (en) | Software change process orchestration in a runtime environment | |
US20180157472A1 (en) | Customized application state transition | |
US11755301B2 (en) | Deployment of cloud infrastructures using a cloud management platform | |
US10996997B2 (en) | API-based service command invocation | |
CN111399840B (zh) | 一种模块开发方法及装置 | |
US11431563B1 (en) | Intelligent management of cloud infrastructures using a cloud management platform | |
US8839223B2 (en) | Validation of current states of provisioned software products in a cloud environment | |
CN110727440A (zh) | 一种软件封装方法 | |
US20130263112A1 (en) | Deployment and hosting of platform independent applications | |
CN108196825A (zh) | 软件项目的构建方法及系统 | |
CN113296823A (zh) | 一种生成资源配置文件的方法、装置、设备及存储介质 | |
CN111147291B (zh) | 一种服务维护方法及装置 | |
CN115061717A (zh) | 应用管理方法、应用订阅方法及相关设备 | |
CN115098112B (zh) | 一种金融云应用资源的部署方法、设备及介质 | |
US9934019B1 (en) | Application function conversion to a service | |
CN110321138B (zh) | 一种程序更新、迁移方法和装置 | |
US9507578B2 (en) | Application instance staging | |
CN112564956A (zh) | 一种客户端的远程升级方法及设备、装置、存储介质 | |
CN111857744A (zh) | 一种超融合系统的安装方法、系统、设备以及介质 | |
US20150378689A1 (en) | Application instance staging | |
US12014195B2 (en) | System for providing an adaptable plugin framework for application transformation to cloud | |
CN115857999A (zh) | 基于vue的系统架构改造获得微前端系统架构的方法及系统 |
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 |