CN116781475A - 一种区块链网络的管理方法及相关设备 - Google Patents
一种区块链网络的管理方法及相关设备 Download PDFInfo
- Publication number
- CN116781475A CN116781475A CN202210550637.2A CN202210550637A CN116781475A CN 116781475 A CN116781475 A CN 116781475A CN 202210550637 A CN202210550637 A CN 202210550637A CN 116781475 A CN116781475 A CN 116781475A
- Authority
- CN
- China
- Prior art keywords
- platform
- user
- interface
- blockchain
- service
- 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.)
- Pending
Links
- 238000007726 management method Methods 0.000 title abstract description 246
- 238000000034 method Methods 0.000 claims abstract description 99
- 230000008520 organization Effects 0.000 claims abstract description 84
- 238000012545 processing Methods 0.000 claims abstract description 37
- 230000008569 process Effects 0.000 claims description 36
- 238000004891 communication Methods 0.000 claims description 18
- 238000012217 deletion Methods 0.000 claims description 8
- 230000037430 deletion Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 7
- 238000012423 maintenance Methods 0.000 abstract description 33
- 230000006870 function Effects 0.000 description 18
- 238000013507 mapping Methods 0.000 description 15
- 230000004044 response Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 9
- 238000013523 data management Methods 0.000 description 8
- 239000002071 nanotube Substances 0.000 description 7
- 238000010276 construction Methods 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000002955 isolation Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000008602 contraction Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- RWSOTUBLDIXVET-UHFFFAOYSA-N Dihydrogen sulfide Chemical compound S RWSOTUBLDIXVET-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 238000001028 reflection method Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- 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/04—Network management architectures or arrangements
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供了一种区块链网络的管理方法,包括:接收用户注册请求,该用户注册请求包括用户的用户类别,该用户类别根据用户管理的区块链网络的部署方式确定,然后根据用户注册请求,为用户注册对应的组织,该组织关联有与用户类别对应的资源空间,接着调用资源空间的处理接口,执行对应的业务逻辑。该方法通过为云上用户或云下用户注册结构统一的组织,将组织与对应用户类型的资源空间绑定,进而使用对应资源空间的处理接口进行业务处理,从而实现云上部署的区块链网络和云下部署的区块链网络的统一管理,可以对不同部署方式的区块链网络进行集中运营或运维,降低运营或运维的难度,减少了运营或运维的成本。
Description
本申请要求于2022年03月10日提交中国国家知识产权局、申请号为202210228191.1、发明名称为“管理区块链的方法、装置、服务器及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及区块链技术领域,尤其涉及一种区块链网络的管理方法、平台、计算机集群、计算机可读存储介质、计算机程序产品。
背景技术
随着信息技术的不断发展,越来越多的企事业单位、组织等将自身提供的业务上线,如此,用户可以通过更为便捷的线上方式办理业务。一些业务通常需要多部门协作。例如,企业为员工申请工作居住证时,通常需要向人力社保部门提交由税务局提供的缴税证明、房管局提供的合法稳定住所证明(如在房管局备案的租房合同)等。
这些部门之间的数据流转通常需要大量的人工审批,并且数据在流转过程中还可能引发数据不一致、信息泄露等问题,而且数据流转的时效性较弱,难以满足业务需求。随着区块链技术的兴起,对于涉及部门多、流程复杂的业务,利用区块链的共享模式可以有效实现数据跨部门、跨区域的共同维护和利用,推动业务数字化改革,实现智能化的治理。
目前,相关技术采用服务端和区块链网络构建业务的服务系统。其中,区块链网络包括多个节点,区块链网络中的多个节点可以是不同部门管理的节点。具体地,服务端可以接收客户端(也可以称作用户端)的请求,根据该请求进行分类处理、审批,然后服务端可以将与客户端的交互数据,上传至区块链网络进行存储。
然而,对于云上部署的区块链网络(也称作云链)和云下部署的区块链网络(也称作线下散链),服务端缺乏统一管理能力,难以实现集中运营或运维,也就难以满足业务的需求。
发明内容
本申请提供了一种区块链网络的管理方法,通过为不同用户类别的用户(如云上用户或云下用户)注册结构一致的组织,并将该组织与用户类别对应的资源空间(如云上的租户空间或者云下的物理资源集)进行关联。针对不同资源空间上部署的区块链网络,统一调用资源空间的处理接口,执行该处理接口对应的业务逻辑。如此实现了云上部署的区块链网络和云下部署的区块链网络的统一管理,可以对不同部署方式的区块链网络进行集中运营或运维,降低运营或运维的难度,减少了运营或运维的成本。本申请还提供了与上述方法对应的区块链网络的管理平台、计算机集群、计算机可读存储介质以及计算机程序产品。
第一方面,本申请实施例提供了一种区块链网络的管理方法。该方法可以由区块链网络的管理平台(简称为管理平台)执行。该管理平台可以是软件系统,该软件系统部署在计算机集群中,计算机集群通过运行软件系统的程序代码,从而执行本申请实施例的区块链网络的管理方法。在一些实施例中,该管理平台也可以是具有区块链网络管理功能的硬件系统,该硬件系统可以是计算机集群中的一台或多台计算机。
具体地,管理平台接收用户注册请求,该用户注册请求包括用户的用户类别,该用户类别根据用户管理的区块链网络的部署方式确定,例如用户类别包括云上用户或云下用户,管理平台根据该用户注册请求,为用户注册对应的组织,该组织关联有与用户类别对应的资源空间,管理平台可以调用资源空间的处理接口,执行该处理接口对应的业务逻辑。
在该方法中,管理平台通过为不同用户类别的用户(如云上用户或云下用户)注册结构一致的组织,并将该组织与用户类别对应的资源空间(如云上的租户空间或者云下的物理资源集)进行关联。针对不同资源空间上部署的区块链网络,管理平台可以统一调用资源空间的处理接口,执行该处理接口对应的业务逻辑。如此实现了云上部署的区块链网络和云下部署的区块链网络的统一管理,可以对不同部署方式的区块链网络进行集中运营或运维,降低运营或运维的难度,减少了运营或运维的成本。
在一些可能的实现方式中,所述用户类别包括云上用户,所述云上用户对应的资源空间包括租户空间。如此可以实现对云上部署的区块链网络进行统一纳管,满足对云上部署的区块链网络进行集中运营或运维的需求。
在一些可能的实现方式中,管理平台可以调用所述租户空间的业务链创建接口,创建业务链。如此可以实现一键建链,减少了用户操作,提高区块链网络构建和部署的效率,提升用户体验。
在一些可能的实现方式中,管理平台可以根据业务需求,创建满足该业务需求的单个或多个业务链。例如,管理平台可以创建多个业务链,所述多个业务链中的至少两个业务链存在共用节点;又例如,管理平台可以创建多个业务链,所述多个业务链不存在共用节点;管理平台也可以创建单个业务链,所述业务链的各个节点位于同一租户空间。
在该方法中,管理平台可以根据业务对安全、性能、成本的需求,选择相应的建联模式创建业务链,从而适应不同业务场景,具有较高可用性。
在一些可能的实现方式中,管理平台可以获取建链模式参数,根据所述建链模式参数创建单个或多个业务链。该方法充分封装底层建链流程,屏蔽内核结构差异,实现业务链快速构建,节省了运维成本。
在一些可能的实现方式中,所述建链模式参数根据所述用户之间的信任关系配置。对于信任关系薄弱的用户,用户作为联盟参与方时,可以将联盟参与方映射为不同租户空间,从而形成联盟。联盟的建链方式可以包括:以同一区块链实例/组织/节点作为邀请方,构建一个多链的联盟,实现资源可复用的多子链联盟模式;以同租户不同区块链实例/组织/节点作为邀请方,构建多个单链联盟,实现资源不可复用的单链隔离联盟模式。对于存在一定信任关系的用户,可部署在同租户空间上,将参与方映射为私有链中的组织、同所有者的节点等,参与方之间构建私有链。如此可以实现资源利用率和安全的均衡。
在一些可能的实现方式中,所述用户类别包括云下用户,所述云下用户对应的资源空间包括物理资源集。如此可以实现对云下部署的区块链网络进行统一纳管,满足对云下部署的区块链网络进行集中运营或运维的需求。
在一些可能的实现方式中,管理平台可以调用所述资源空间的创建联盟接口,在所述资源空间创建区块链节点,以创建联盟。管理平台也可以调用所述资源空间的加入联盟接口,在所述资源空间创建区块链节点,以加入联盟。管理平台还可以调用所述资源空间的退出联盟接口,在所述资源空间回收区块链节点,以退出联盟。管理平台也可以调用所述资源空间的删除联盟接口,在所述资源空间回收区块链节点,以删除联盟。
该方法中,管理平台支持创建、加入、退出或删除联盟,实现联盟的灵活调整,动态满足业务需求。
在一些可能的实现方式中,所述资源空间可以来自异构区块链平台,例如是不同架构或内核的区块链平台。相应地,管理平台还可以接收平台注册请求,通过平台注册接口,注册所述异构区块链平台的标准接口。
在该方法中,管理平台通过注册异构区块链平台的标准接口,以通过标准接口调用底层的异构区块链平台,从而实现对异构区块链平台的统一纳管,解决了异构区块链平台无法一站式管理的难题。
在一些可能的实现方式中,所述资源空间可以来自异构区块链平台,所述异构区块链平台具有管理面接口,管理平台可以接收平台注册请求,然后获取所述管理面接口对应的标准接口,以注册所述异构区块链平台的标准接口。
针对已有管理面接口的异构区块链平台,通过接口映射可以获得该管理面接口对应的标准接口,无需进行二次开放,即可实现对异构区块链平台的统一纳管,避免了区块链平台的重复建设和长周期的业务改造,统一维护、调度和监控用户名下的业务和资源。
在一些可能的实现方式中,所述区块链网络的管理平台提供有业务接口。管理平台可以响应于业务服务器对所述业务接口的调用,执行对应的业务逻辑。
该方法通过屏蔽底层的业务逻辑,基于统一的业务接口实现一站式地运营或运维名下区块链网络,降低了运营或运维的成本。
第二方面,本申请实施例提供了一种区块链网络的管理平台。所述平台包括:
通信模块,用于接收用户注册请求,所述用户注册请求包括用户的用户类别,所述用户类别根据所述用户管理的区块链网络的部署方式确定;
注册模块,用于根据所述用户注册请求,为所述用户注册对应的组织,所述组织关联有与所述用户类别对应的资源空间;
执行模块,用于调用所述资源空间的处理接口,执行对应的业务逻辑。
在一些可能的实现方式中,所述用户类别包括云上用户,所述云上用户对应的资源空间包括租户空间。
在一些可能的实现方式中,所述执行模块具体用于:
调用所述租户空间的业务链创建接口,创建业务链。
在一些可能的实现方式中,所述执行模块具体用于:
创建多个业务链,所述多个业务链中的至少两个业务链存在共用节点;或者,
创建多个业务链,所述多个业务链不存在共用节点;或者,
创建单个业务链,所述业务链的各个节点位于同一租户空间。
在一些可能的实现方式中,所述执行模块具体用于:
获取建链模式参数;
根据所述建链模式参数创建单个或多个业务链。
在一些可能的实现方式中,所述建链模式参数根据所述用户之间的信任关系配置。
在一些可能的实现方式中,所述用户类别包括云下用户,所述云下用户对应的资源空间包括物理资源集。
在一些可能的实现方式中,所述执行模块具体用于:
调用所述资源空间的创建联盟接口,在所述资源空间创建区块链节点,以创建联盟;或者,
调用所述资源空间的加入联盟接口,在所述资源空间创建区块链节点,以加入联盟;或者,
调用所述资源空间的退出联盟接口,在所述资源空间回收区块链节点,以退出联盟;或者,
调用所述资源空间的删除联盟接口,在所述资源空间回收区块链节点,以删除联盟。
在一些可能的实现方式中,所述资源空间来自异构区块链平台,所述通信模块还用于:
接收平台注册请求;
所述注册模块还用于:
通过平台注册接口,注册所述异构区块链平台的标准接口。
在一些可能的实现方式中,所述资源空间来自异构区块链平台,所述异构区块链平台具有管理面接口,所述通信模块还用于:
接收平台注册请求;
所述注册模块还用于:
获取所述管理面接口对应的标准接口,以注册所述异构区块链平台的标准接口。
在一些可能的实现方式中,所述区块链网络的管理平台提供有业务接口,所述执行模块具体用于:
响应于业务服务器对所述业务接口的调用,执行对应的业务逻辑。
第三方面,本申请提供一种计算机集群。所述计算机集群包括至少一台计算机,所述至少一台计算机包括至少一个处理器和至少一个存储器。所述至少一个处理器、所述至少一个存储器进行相互的通信。所述至少一个处理器用于执行所述至少一个存储器中存储的指令,以使得计算机或计算机集群执行如第一方面或第一方面的任一种实现方式所述的区块链网络的管理方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,所述指令指示计算机或计算机集群执行上述第一方面或第一方面的任一种实现方式所述的区块链网络的管理方法。
第五方面,本申请提供了一种包含指令的计算机程序产品,当其在计算机或计算机集群上运行时,使得计算机或计算机集群执行上述第一方面或第一方面的任一种实现方式所述的区块链网络的管理方法。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
为了更清楚地说明本申请实施例的技术方法,下面将对实施例中所需使用的附图作以简单地介绍。
图1为本申请实施例提供的一种数据管理系统的架构示意图;
图2为本申请实施例提供的一种数据管理系统的架构示意图;
图3为本申请实施例提供的一种区块链网络的管理方法的流程图;
图4为本申请实施例提供的一种区块链网络的管理方法的流程图;
图5为本申请实施例提供的一种云上区块链网络的建链模式示意图;
图6为本申请实施例提供的一种区块链网络的管理方法的流程图;
图7为本申请实施例提供的一种政务场景中区块链网络的管理方法的流程图;
图8为本申请实施例提供的一种区块链网络的管理平台的结构示意图;
图9为本申请实施例提供的一种计算机集群的结构示意图。
具体实施方式
本申请实施例中的术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
首先对本申请实施例中所涉及到的一些技术术语进行介绍。
区块链网络是一种由多个节点形成的去中心化网络。区块链网络中的节点通过点对点连接,形成点对点(Peer-to-Peer,P2P)网络。在该点对点网络中,节点不存在中央化的服务和层级结构,各节点是对等的,因此该网络中的节点也称作对等节点,即peer节点。
区块链网络用于为应用程序(可简称为应用)提供分布式账本及智能合约(smartcontract)服务。其中,智能合约中定义有交易逻辑。智能合约被用来生成交易,这些交易会被分发至区块链网络中的每个peer节点,每个peer节点在各自的账本副本上记录这些交易,并且账本副本不可篡改。交易通常可以以区块的形式记录,不同交易可以记录在不同区块中,不同区块可以连接形成区块链,因此,账本副本可以是区块链。
针对需要多方协作的业务,业界提出了采用区块链网络进行数据共享的数据共享模式。具体地,对业务进行需求分析,明确需要承载的业务内容,从而建立客户端(也称作用户端)、服务端、区块链网络。参见图1所示的一种数据管理系统的架构示意图,在该系统10中,客户端100与服务端200连接,服务端200与区块链网络300连接。区块链网络300中包括多个节点302,例如是不同用户管理的节点302。其中,服务端200在接收到客户端100的请求后,可以进行分类处理、审批,服务端200将客户端100与该服务端200的交互数据实时上传至区块链网络300进行存储。如此解决传统的数据共享模式下需要大量的人工审批以及数据在复制传递过程中引发的数据不一致的问题,通过数据跨部门、跨区域的共同维护和利用,推动业务数字化改革,实现智能化的治理。
在一些场景中,客户端100需要使用多个区块链网络300。例如客户端100需要使用云上部署的区块链网络300(也称作云链)以共享大容量的信息,以及使用云下部署的区块链网络300(也称作线下散链)以共享安全要求较高的信息。然而,对于云上部署的区块链网络300和云下部署的区块链网络300,服务端200缺乏统一管理能力,难以实现集中运营或运维,也就难以满足业务的需求。
有鉴于此,本申请实施例提供了一种区块链网络的管理方法。该方法可以由区块链网络的管理平台(简称为管理平台)执行。该管理平台可以是软件系统,该软件系统部署在计算机集群中,计算机集群通过运行软件系统的程序代码,从而执行本申请实施例的区块链网络的管理方法。在一些实施例中,该管理平台也可以是具有区块链网络管理功能的硬件系统,该硬件系统可以是计算机集群中的一台或多台计算机。为了便于描述,下文以管理平台为软件系统进行示例说明。
具体地,管理平台可以接收用户注册请求,用户注册请求包括用户的用户类别,该用户类别根据用户管理的区块链网络的部署方式确定,例如用户类别包括云上用户或云下用户,云上用户是指将云上部署的区块链网络接入该管理平台的用户,例如可以为云平台的租户,云下用户是指将云下部署的区块链网络接入该管理平台的用户,管理平台根据该用户注册请求,为用户注册对应的组织,该组织关联有与用户类别对应的资源空间,管理平台可以调用资源空间的处理接口,执行该处理接口对应的业务逻辑。
在该方法中,管理平台通过为不同用户类别的用户(如云上用户或云下用户)注册结构一致的组织,并将该组织与用户类别对应的资源空间(如云上的租户空间或者云下的物理资源集)进行关联。针对不同资源空间上部署的区块链网络,管理平台可以统一调用资源空间的处理接口,执行该处理接口对应的业务逻辑。如此实现了云上部署的区块链网络和云下部署的区块链网络的统一管理,可以对不同部署方式的区块链网络进行集中运营或运维,降低运营或运维的难度,减少了运营或运维的成本。
本申请实施例的区块链网络的管理方法以及管理平台可以应用于不同行业或领域。例如,该管理平台可以是针对金融行业的区块链网络的管理平台,通过执行本申请实施例的区块链网络的管理方法,可以实现对不同金属机构的区块链网络进行统一管理。又例如,该管理平台可以是针对政务的区块链网络的管理平台,通过执行本申请实施例的区块链网络的管理方法,可以对不同组织或部门(如税务局、房管局、人力社保部门)的区块链网络进行统一管理。
该方法可以使得用户统一管理该用户接入到该管理平台的所有区块链网络,并且对该用户的业务进行监控。而且,该方法可以提供身份认证管理、业务管理、凭证转换、数据采集及展现、合约管理、应用仓库、内部应用程序编程接口(application programminginterface,API)网关等功能,基于上述功能可以简化业务流程,使得用户(如管理员)能够较为轻松地治理底层的区块链网络,以及一键部署联盟和智能合约等。
为了使得本申请的技术方案更加清楚和易于理解,下面结合附图对本申请实施例的系统架构进行介绍。参见图2所示的另一种数据管理系统的架构图,在图1所示的数据管理系统10的基础上,图2所示的数据管理系统10还包括区块链网络的管理平台400。管理平台400分别与服务端200、区块链网络300连接。
其中,区块链网络300可以依托于区块链平台建立。区块链平台是指用于建立区块链网络300,并对区块链网络300以及区块链网络300中的区块链副本(分布式账本)进行管理的平台。根据区块链平台内核不同,可以将区块链平台分为不同类型。例如,区块链平台可以基于内核分为Fabric、Quorum、以太坊等不同类型,上述不同类型的区块链平台也称为异构区块链平台。基于不同类型的区块链平台建立的区块链网络称为异构区块链网络,可以简称为异构链。需要说明的是,每个区块链网络300承载有至少一种业务逻辑,因此,该区块链网络300也可以称作业务链。
下面对数据管理系统10中的客户端100、服务端200、区块链网络300和管理平台400的功能进行说明。
客户端100用于发送用户注册指令。用户注册指令包括用户的用户类别。其中,用户类别可以根据用户管理的区块链网络300的部署方式确定。例如,区块链网络300采用云上部署方式时,用户类别为云上用户;区块链网络300采用云下部署方式时,用户类别为云下用户。
具体实现时,客户端100用于向用户提供注册界面,该注册界面可以是图形化用户界面(graphical user interface,GUI)或者命令用户界面(command user interface,CUI),用户可以通过该注册界面触发用户注册操作,客户端100响应于该用户注册操作生成用户注册指令,然后发送用户注册指令。
服务端200用于接收用户注册指令,然后根据用户注册指令调用用户注册接口,向管理平台400发送用户注册请求,以实现用户注册。其中,用户注册请求包括用户的用户类别。在一些可能的实现方式中,服务端200还用于执行流程审批、业务链构建、业务链运营或运维。其中,服务端200通过管理平台400实现业务链构建、业务链运营或运维。
管理平台400用于接收用户注册请求,然后根据用户注册请求为用户注册对应的组织,该组织关联有与用户类别对应的资源空间,接着调用资源空间的处理接口,执行对应的业务逻辑。其中,资源空间的处理接口可以包括创建联盟接口、加入联盟接口、退出联盟接口或者删除联盟接口中的一种或多种,管理平台400可以调用上述接口创建联盟、加入联盟、退出联盟或者删除联盟。
区块链网络300用于接入管理平台400,以便于用户统一管理。其中,区块链网络300依托的区块链平台可以通过管理平台400提供的、对不同区块链平台统一的接入接口,接入管理平台400,进而实现区块链网络300接入管理平台400。不同的区块链网络300可以通过创建联盟、加入联盟等操作形成联盟(例如是联盟链网络),同一联盟中的区块链网络300之间可以进行数据共享,从而满足业务的需求。
在该系统10中,管理平台400可以提供对不同区块链平台统一的业务接口。该业务接口具体为对外业务接口。接入该管理平台400的区块链网络300的用户(如管理员)可以通过客户端调用该对外业务接口,执行对应的业务逻辑。下面以一个客户端进行示例说明。用户可以通过客户端100展示的对外业务接口的控件触发业务操作,客户端100响应于该业务操作,调用该对外业务接口生成业务请求,服务端200接收业务请求,向管理平台400发送业务请求,管理平台300接收到业务请求,可以根据业务请求,对底层的区块链平台进行调度。其中,管理平台300可以根据业务请求中用户类别、区块链平台类别,调用相应的底层平台接口,对区块链平台(具体是对区块链平台中的业务链)进行调度。
在一些可能的实现方式中,管理平台400还可以设置流程引擎。流程引擎可以解析业务请求,得到相应的任务。然后流程引擎可以自动化地并行或串行执行区块链网络创建、邀请、通知或审批任务中的一种或多种。任务下发后,用户还可以通过任务进度查询接口获取当前业务操作的处理进度。
需要说明的是,管理平台400可以部署在云平台中某一租户空间的集群上。管理平台400还可以配置数据库,以用于存储用户数据。其中,管理平台400中的流程引擎可以启动某些定时任务,轮询数据库中纳管的联盟,更新用户数据,如监控数据、状态数据等,从而实现在用户查询时将管理平台400管理的联盟统一展示给用户。
进一步地,管理平台400内部维护了租户管理、业务管理、合约管理等模块,从而实现权限管控、配额查询、资源分配等租户管理功能,联盟/业务链的创建、删除、加入或退出等业务管理功能,以及合约查询、合约部署、合约终止、合约扫描等合约管理功能。
此外,管理平台400内部还维护了资源治理、告警日志、应用仓库、账本信息、平台信息、配置管理等模块,从而实现集群监控、资源(节点资源、应用资源)发放或回收等资源治理功能,告警查看、审计日志查看、运行日志查看等告警及日志管理功能,应用浏览、安装、卸载等应用管理功能,区块信息查询、交易查询、账本概要查询、交易详情查询等账本信息管理功能,平台健康状态查询、平台注册信息等平台信息管理功能,软件开发工具(software developing toolkit,SDK)下载、证书下载等配置管理功能。其中,应用安装可以是在集群上拉起相应的功能容器,从而提供相应的能力,例如可以提供智能合约的形式化验证等能力。形式化验证用于证明智能合约不存在某个缺陷,或者符合某个或某些属性。
以上对数据管理系统10的架构进行了介绍,接下来,结合附图对本申请实施例的区块链网络的管理方法进行介绍。
参见图3所示的区块链网络的管理方法的流程图,该方法包括:
S302:管理平台400接收用户注册请求。
用户注册请求包括用户的用户类别。其中,用户类别可以根据用户管理的区块链网络300的部署方式确定。具体地,用户类别可以包括云上用户或云下用户等不同类别。用户管理的区块链网络300采用云上部署(在云平台部署)方式时,该用户即为云上用户。其中,云上用户可以为云平台的租户。用户管理的区块链网络300采用云下部署方式时,该用户即为云下用户。
在一些可能的实现方式中,管理平台400可以接收服务端200发送的用户注册请求。具体地,客户端100可以从服务端200加载注册界面的代码,从而向用户呈现注册界面。该注册界面可以包括用户注册控件,用户可以通过注册控件触发用户注册操作,客户端响应于该用户注册操作,生成用户注册指令,然后向服务端200发送用户注册指令。服务端200接收到该用户注册指令,可以调用用户注册接口,向管理平台400发送用户注册请求,以对用户进行注册。
考虑到安全性,服务端200还可以支持对用户注册进行流程审批。该流程审批可以为自动审批,例如服务端200可以基于预置的审批逻辑进行自动审批,如此可以减少大量的人工审批,提高效率,降低成本。当审批通过后,服务端200可以向管理平台400发送用户注册请求。
进一步地,用户触发用户注册操作时,用户管理的区块链网络300可以是已部署的区块链网络300,也可以是待部署的区块链网络300。当该区块链网络300为待部署的区块链网络300时,可以根据区块链平台确定区块链网络300的部署方式,进而确定用户类别。例如,用户在云服务提供商的区块链平台上部署区块链网络300时,该用户的用户类别为云上用户。又例如,用户在本地数据中心的区块链平台上部署区块链网络300时,该用户的用户类别为云下用户。换言之,本申请实施例可以对已有的区块链网络300进行管理,例如将已有的区块链网络加入联盟,也可以先成为联盟参与方,然后构建或部署相应的区块链网络300。
S304:管理平台400根据所述用户注册请求,为所述用户注册对应的组织。
组织是一种数据结构,用于表征用户所归属的团体。该团体可以是用户所归属的公司、单位(如事业单位)、协会或者部门(如政务部门)等机构。其中,组织关联有用户类别对应的资源空间。例如,用户为云上用户时,组织可以关联云上的租户空间,该租户空间可以是云上用户上传的租户标识(identifier,ID)对应的租户空间。又例如,用户为云下用户时,组织可以关联物理资源集。该物理资源集包括一个或多个物理资源。该物理资源可以为节点资源。组织关联的物理资源集可以是用户上传的物理资源信息所标识的物理资源。其中,物理资源信息包括节点的地址,例如是节点的网际协议(Internet Protocol,IP)地址。进一步地,物理资源信息还包括节点的端口号等。
组织包括组织标识(可以为组织码,记作OrgCode)、租户标识(TenantID)和物理资源信息(具体为节点清单,记作NodeList)。其中,组织标识为管理平台400分配的唯一标识,该组织标识的数据类型可以为字符串string。物理资源信息的数据类型可以为数组,具体为节点信息的数组,记作[]Node。
进一步地,参见表1所示的组织的数据结构,组织还可以包括租户名(TenantName)、项目标识(ProjectID)、项目名(ProjectName)、访问密钥(access key,AK)、安全密钥(secret key,SK)、令牌(Token)和证书中的一种或多种。其中,证书包括传输层安全协议(Transport Layer Security,TLS)证书。
表1组织的数据结构
其中,TLS证书可以记作TlsCert,该证书的数据类型为Cert。组织中除了TLSCert和NodeList外的其他字段的数据类型均可以为string。
在本申请实施例中,对于不同用户类别的用户,管理平台400均可以根据用户注册请求,为用户注册格式统一的组织。
参见表1,用户类别为云上用户时,管理平台400为该用户注册对应的组织,该组织中的租户ID为用户输入的租户ID。进一步地,该组织中的租户名为用户输入的租户ID对应的租户名。该组织中的NodeList可以为空或者缺省值。
用户类别为云下用户时,管理平台400为该用户注册对应的组织,该组织中的租户ID、租户名可以为空或缺省值,该组织中的NodeList可以为用户输入的数组,该数组为节点信息的数组,节点信息包括节点的IP地址和端口号。进一步地,组织中的TLSCert为用户输入的证书。
管理平台400为用户对应的组织分配组织标识,并将组织存储在后端的数据库中,从而将用户抽象为联盟参与方,由此实现组织注册。
S306:管理平台400调用所述资源空间的处理接口,执行对应的业务逻辑。
资源空间的处理接口包括资源空间的创建联盟接口、加入联盟接口、退出联盟接口或删除联盟接口。其中,创建联盟接口用于创建联盟。创建联盟的用户(创建者)可以创建联盟,加入联盟接口用于加入联盟,具体是加入创建者创建的联盟。其中,创建者可以邀请其他用户加入该创建者创建的联盟。退出联盟接口用于退出联盟。创建者或其他用户均可以退出联盟。删除联盟接口用于删除联盟。通常情况下,可以由创建者触发删除联盟的操作。在一些可能的实现方式中,其他用户也可以触发删除联盟的操作。
在一些可能的实现方式中,管理平台400可以调用资源空间的创建联盟接口,在资源空间创建区块链节点,以创建联盟。管理平台400也可以调用资源空间的加入联盟接口,在资源空间创建区块链节点,以加入联盟。在一些实施例中,管理平台400可以调用资源空间的退出联盟接口,在资源空间回收区块链节点,以退出联盟,或者,调用资源空间的删除联盟接口,在资源空间回收区块链节点,以删除联盟。
其中,管理平台400在调用资源空间的处理接口时,可以根据组织类别(用户类别)进行不同形式的接口调用。例如,组织类别为云上组织,用户为云上用户时,管理平台400可以根据AK/SK调用资源空间的处理接口。又例如,组织类别为云下组织,用户为云下用户时,管理平台400可以根据TLSCert调用资源空间的处理接口。
在一些可能的实现方式中,管理平台400也可以调用资源空间的创建联盟接口,根据资源空间上已有的区块链网络300创建联盟。类似地,管理平台400可以调用资源空间的加入联盟接口,将资源空间上已有的区块链网络300加入联盟。管理平台400可以调用资源空间的退出联盟接口,在资源空间回收已有的区块链网络300的节点资源,以推出联盟。在一些实施例中,管理平台400可以调用资源空间的删除联盟接口,在各参与方的资源空间回收已有区块链网络300的节点资源,以删除联盟。
基于上述内容描述,本申请实施例提供了一种区块链网络的管理方法。该方法通过为不同用户类别的用户注册数据结构统一的组织,并将该组织与用户类别对应的资源空间进行关联。针对不同资源空间上部署的区块链网络,可以统一调用资源空间的处理接口,执行该处理接口对应的业务逻辑。如此实现了云上部署的区块链网络和云下部署的区块链网络的统一管理,可以对不同部署方式的区块链网络进行集中运营或运维,降低运营或运维的难度,减少了运营或运维的成本。进一步的,该方法还可以提供已有区块链网络(如业务链)的纳管能力、异构链的统一管理能力,从而提高可用性。
接下来,以创建联盟为例,对本申请实施例的区块链网络的管理方法进行说明。
参见图4所示的区块链网络的管理方法的流程图,该方法包括如下步骤:
步骤1:客户端100响应于用户A、用户B、用户C、用户D触发的用户注册操作,生成用户注册指令。
步骤2:服务端200接收客户端100发送的用户注册指令,调用用户注册接口,向管理平台400发送用户注册请求。
步骤3:管理平台400根据用户注册请求,为用户注册组织,将该组织与用户输入的租户ID对应的租户空间关联。
管理平台400可以部署在默认云底座单独分配给管理中心使用的租户空间上,该租户空间不作业务用途。如无特殊需要,管理平台400可以不纳管其他区块链平台,只使用默认区块链平台,例如为图4所示区块链平台1。
管理平台400将组织与用户输入的租户ID对应的租户空间关联,可以是管理平台将组织与租户空间绑定,从而实现将资源空间的信息注册至该管理平台400。需要说明的是,租户空间等资源空间通常不可重复使用,即租户空间等资源空间通常与一个组织绑定,而不会重复绑定。
步骤4:客户端100响应于用户A触发的创建联盟操作,生成创建联盟指令,向服务端200发送该创建联盟指令。
其中,创建联盟指令中包括用户B的用户标识,该创建联盟指令用于创建一个用户A对应的组织和用户B对应的组织作为联盟参与方的联盟。
步骤5:服务端200调用管理平台400的创建联盟接口,向管理平台400发送创建联盟请求。
管理平台400的创建联盟接口为标准接口。该创建联盟接口的接口参数包括平台类型,记作oemType。在图4的示例中,oemType可以为区块链平台1,用于指示管理平台400在区块链平台1创建区块链网络300,以创建联盟。
步骤6:管理平台400根据用户A、用户B绑定的租户信息调用区块链平台1的创建联盟接口,向区块链平台1发送创建联盟请求。
其中,租户信息可以包括AK/SK,管理平台400可以根据AK/SK调用区块链平台1的创建联盟接口。
步骤7:区块链平台1在用户A对应的组织关联的租户空间创建区块链节点,以及在用户B对应的组织关联的租户空间创建区块链节点,通过审批逻辑达成联盟。
步骤8:管理平台400查询区块链平台1中的任务状态,当任务成功时,保存联盟。
与组织类似,管理平台400还可以抽象出联盟的数据结构进行保存。其中,联盟的数据结构包括联盟标识(UnionID)、平台类型(OemType)和组织列表(记作Orgs)。进一步地,参见表2所示的联盟的数据结构,该联盟的数据结构还包括盟主、业务链标识(记作UID)和业务链名称中的一种或多种。
表2联盟的数据结构
联盟包括的字段 | 数据类型 | 字段说明 |
ID | int | SEQ |
UID | string | 业务链ID |
UnionID | string | 联盟ID |
CreatorOrg | string | 盟主 |
Name | string | 业务链名称 |
OemType | string | 平台类型 |
Orgs | []string | 组织列表 |
联盟包括的字段中ID是指管理平台400分配的内部ID,通常可以为序列号(sequence,SEQ),UID是指运维链ID,UnionID是指联盟ID,CreatorOrg是指盟主,具体为创建联盟的组织。
其中,上述步骤6至8为管理平台400调用资源空间的处理接口,执行对应的业务逻辑的一种实现方式。在本申请实施例其他可能的实现方式中,管理平台400也可以调用其他资源空间的处理接口,执行对应的业务逻辑,具体如步骤9至12所示。
步骤9:客户端100响应于用户C触发的创建联盟操作,生成创建联盟指令,向服务端200发送该创建联盟指令。
其中,创建联盟指令中包括用户D的用户标识,该创建联盟指令用于创建一个用户C对应的组织和用户D对应的组织作为联盟参与方的联盟。
步骤10:服务端200调用管理平台400的创建联盟接口,向管理平台400发送创建联盟请求。
管理平台400的创建联盟接口为标准接口。该创建联盟接口的接口参数包括oemType。在图4的示例中,oemType可以为区块链平台2,用于指示管理平台400在区块链平台2创建区块链网络300,以创建联盟。其中,区块链平台2可以是线下的区块链平台,或者是其他云平台。
步骤11:管理平台400根据用户C、用户D绑定的租户信息调用区块链平台2的创建联盟接口,向区块链平台2发送创建联盟请求。
步骤12:区块链平台2在用户A对应的组织关联的物理资源集C创建区块链节点,以及在用户B对应的组织关联的物理资源集D创建区块链节点,通过审批逻辑达成联盟。
上述步骤4至7和步骤9至12分别为在不同区块链平台创建联盟,在一些可能的实现方式中,也可以在一个区块链平台创建一个或多个联盟,本实施例对此不作限制。
步骤12:管理平台400通过查询接口返回该管理平台400纳管的联盟的信息。
具体地,管理平台400可以通过查询接口,以统一格式返回该管理平台400纳管的各个联盟的信息。例如,管理平台400可以返回联盟标识UnionID、联盟中组织的组织标识OrgCode。
图4所示实施例以管理平台400调用创建联盟接口,执行创建联盟的业务逻辑,以及调用查询接口,执行查询联盟的业务逻辑进行示例说明。在本申请实施例其他可能的实现方式中,管理平台400还可以调用资源空间的加入联盟接口,在资源空间创建区块链节点,以执行加入联盟的业务逻辑;调用所述资源空间的退出联盟接口,在所述资源空间回收区块链节点,以执行退出联盟的业务逻辑;或者是调用所述资源空间的删除联盟接口,在所述资源空间回收区块链节点,以执行删除联盟的业务逻辑。
在本实施例中,基于云体系多租户模型搭建管理平台400,充分利用了云计算的弹性、稳定性和灵活性,用户可以自行维护租户资源,扩缩容自由,上链方便。并且,管理平台400通过为各用户注册数据结构一致的组织,将组织绑定用户类别对应的资源空间,如云上用户对应的租户空间或云下用户对应的物理资源集,以便通过资源空间的处理接口,执行相应的业务逻辑,由此可以实现对云上部署的区块链网络、云下部署的区块链网络进行统一管理,降低运维成本。
图4对创建联盟过程进行示例说明,接下来对建立区块链网络300进行示例说明。其中,云下部署的区块链网络300通常可以采用私有链模式建立,云上部署的区块链网络300可以有多种建链模式。本申请实施例抽象了多种业务流程与云上部署的区块链网络300的映射模型,提供多模态业务链管理能力。
参见图5所示的云上区块链网络的建链模式示意图,管理平台400可以创建多个业务链,多个业务链中的至少两个业务链存在共用节点,如租户空间A中的peer1、peer2或租户空间B中的peer1。其中,管理平台400在云平台的多个租户空间创建具有共用节点的多个业务链的建链模式也称作云上多子链模式。
在一些实施例中,管理平台400也可以创建多个不存在共用节点的业务链。如图5所示,管理平台400可以在租户空间A、租户空间B、租户空间C上创建业务链1,在租户空间A和租户空间B上创建业务链2,该业务链1包括租户空间A中的peer1、peer2等peer节点以及租户空间B的peer1、租户空间C的pee1等peer节点,业务链2包括租户空间A的peer3和租户空间B的peer2等peer节点。其中,管理平台400在云平台的多个租户空间创建不具有共用节点的多个业务链的建链模式也称作云上单链隔离模式。
在另一些实施例中,管理平台400也可以创建单个业务链,该业务链为云上私有链。如图5所示,管理平台400可以在租户空间A创建业务链1,该业务链包括租户空间A中的peer1和peer2等peer节点。其中,管理平台400在云平台的单个租户空间创建单个业务链的建链模式也称作云上私有链模式。
在用户请求数据结构不变的前提下,管理平台400通过改变建链模式参数createMode即可构建不同部署方式的区块链网络。具体地,管理平台400可以获取建链模式参数,根据建链模式参数创建单个或多个业务链。该方法充分封装底层建链流程,屏蔽内核结构差异,实现业务链快速构建,节省了运维成本。
其中,建链模式参数可以根据用户之间的信任关系配置。对于信任关系薄弱的用户,用户作为联盟参与方时,可以将联盟参与方映射为不同租户空间,从而形成联盟。联盟的建链方式可以包括:以同一区块链实例/组织/节点作为邀请方,构建一个多链的联盟,实现资源可复用的多子链联盟模式;以同租户不同区块链实例/组织/节点作为邀请方,构建多个单链联盟,实现资源不可复用的单链隔离联盟模式。对于存在一定信任关系的用户,可部署在同租户空间上,将参与方映射为私有链中的组织、同所有者的节点等,参与方之间构建私有链。
在一些可能的实现方式中,管理平台400还可以抽象出业务链(记作BusiChain)的数据结构以及区块链(BlockChain)的数据结构。下面分别对业务链的数据结构和区块链的数据结构进行示例说明。
参见表3所示的业务链的数据结构,业务链的数据结构中包括联盟ID、业务链名称、组织列表和区块链列表。可选地,业务链的数据结构中还可以包括盟主、平台类型中的一种或多种。
表3业务链的数据结构
业务链包括的字段 | 数据类型 | 字段说明 |
ID | int | SEQ |
UnionID | string | 联盟ID |
CreatorOrg | string | 盟主 |
Name | string | 业务链名称 |
OemType | string | 平台类型 |
Orgs | []string | 组织列表 |
BlockChain | []BlockChain | 区块链列表 |
参见表4所示的区块链的数据结构,区块链的数据结构中包括区块链外部ID(记作ExternalID)、区块链列表(记作BlockChains)和区块链配置信息(记作BlockSpec)。其中,区块链配置信息可以包括共识算法等信息。可选地,区块链的数据结构中还包括区块链其他信息(记作ExtraInfo)、业务链名称、平台类型、组织列表和物理资源信息中的一种或多种。
表4区块链的数据结构
组织包括的字段 | 数据类型 | 字段说明 |
ID | int | SEQ |
ExternalID | string | 区块链外部ID |
ExtraInfo | string | 区块链其他信息 |
Name | string | 业务链名称 |
CloudType | string | 平台类型 |
Orgs | []string | 组织列表 |
InfraSpec | InfraSpec | 物理资源信息 |
BlockSpec | BlockSpec | 区块链配置信息,如共识算法 |
在一些可能的实现方式中,组织关联的资源空间可以来自异构区块链平台。管理平台400还可以接收平台注册请求,通过平台注册接口,注册异构区块链平台的标准接口,从而实现对异构区块链平台中的异构链进行统一管理。
对于不同结构的区块链网络,其模型和建链流程上差异明显。例如以太坊、Fabric等区块链网络的内核有账户、油耗、通道等专有概念,其他区块链网络如Quorum的内核不具有上述专有概念。又例如,不同区块链网络针对是否支持子链、是否支持鉴权审批、是否支持开启白名单也存在差异。为此,管理平台可以注册异构区块链平台的标准接口,以实现对区块链平台中的异构链进行统一管理。
针对已有管理面接口的区块链平台,管理平台400可以通过接口映射的方式将管理面接口映射为标准接口。具体地,管理平台400可以接收平台注册请求,获取管理面接口对应的标准接口,以注册异构区块链平台的标准接口。如此无需进行二次开发,提高了效率。针对无管理面接口的区块链平台,管理平台400可以针对该区块链平台开发标准接口。
标准接口可以包括网络管理类、链管理类、合约管理类或运营运维类。其中,网络管理类的标准接口包括创建区块链网络接口、删除区块链网络接口、加入区块链网络接口、退出区块链网络接口中的一种或多种。链管理类的标准接口包括创建链接口、删除链接口、加入链接口、退出链接口中的一种或多种。合约管理类的标准接口包括部署合约接口、升级合约接口、删除合约接口中的一种或多种。运营运维类的标准接口包括查询账本概要接口、查询交易列表接口、查询交易接口、查询区块列表接口、查询监控接口、查询区块链网络详情接口、查询区块链节点接口、查看链信息接口中的一种或多种。
标准接口包括通用的数据结构,例如为业务链的数据结构、区块链的数据结构。特殊的数据结构可以采用json string化方式封装到extraInfo。各区块链平台注册后即可无缝接入管理平台400,执行业务逻辑。
参见图6所示的区块链平台的注册流程示意图,异构区块链平台注册时,通过平台注册接口将平台信息(证书密钥、IP端口、API文件)注册至管理平台400,已有管理面接口的区块链平台可通过接口映射方式注册。
具体地,异构区块链平台可以发送平台注册请求,管理平台400根据该平台注册请求,获取用户输入的平台信息,该平台信息包括API文件。其中,API文件可以包括原始API文件以及API映射模板。
原始API文件包括path(例如为自定义url)、method(例如get、post、put、delete…)、parameter(例如为接口参数,区分路径参数、body参数等,有默认值需标注)、response(接口返回)、definition(结构体定义)中的一种或多种。
API映射模板包括请求url(含路径参数、query参数)、body参数、response的映射模板,以及管理面接口与标准接口的对应关系。
进一步地,平台信息还可以包括证书、密钥、IP地址和端口号等。然后管理平台400可以通过模板解析器处理用户输入的API映射模板、证书等平台信息,接着管理平台400确定该异构区块链平台是否已注册,格式是否正确。若是,则管理平台400可以保存证书、平台名、接口字段中的一种或多种至数据库,若否,则返回平台注册。
其中,管理平台400在通过映射管理面接口进行平台注册时可以按照如下映射规则进行映射:映射接口符合RESTFUL规范,包含body参数的接口支持body参数格式为application/json的接口映射,表单等格式的接口无法映射,返回值为二进制流的接口无法映射,规范接口返回值中必返回的字段需能够返回,且映射字段类型需一致。
在一些可能的实现方式中,管理平台400在保存证书、平台名、接口字段时,可以先保存至数据库的临时信息模块,然后生成平台注册任务流,当任务成功时,保存到数据库的任务模块。管理平台400的流程引擎可以从数据库获取平台注册任务流,执行平台注册子任务。其中,管理平台400可以调用异构区块链平台的平台注册接口,从而注册异构区块链平台,生成联盟、业务链、组织的数据结构,并保存在数据库中。管理平台400还可以建立与异构区块链平台通信的超文本传输协议(Hypertext Transfer Protocol,HTTP)客户端,保存在缓存中,接着管理平台400可以更新任务状态为成功,将临时信息模块中的证书、平台名、接口字段保存在任务模块(正式区)。相应地,管理平台400内部可以实现接口处理器,标准接口被调用时,管理平台400可以使用模板解析器或反射等方法解析接口字段,自动转换接口调用格式,流程引擎执行任务,按平台类别调用不同底层接口,从而调度底层的异构区块链平台。
进一步地,管理平台400还可以通过自动化任务进程,批量获取数据库中联盟,以定时更新账本、监控等数据,并生成新的数据统计信息,然后将该统计信息返回至服务端200。
以上对异构区块链平台的注册流程进行了说明。在一些可能的实现方式中,异构区块链平台还可以注册已有区块链网络。具体地,异构区块链平台可以发送平台注册请求,该注册请求中包括区块链标识,管理平台400调用获取区块链列表接口,获取区块链网络接口,判断返回信息是否符合要求。若是,则生成联盟、业务、组织,并保存在数据库中。若否,则返回平台注册。
在该方法中,管理平台400参考多种区块链网络300的核心架构,抽象区块链通用的模型和功能模块,制订遵循RESTful接口规范的接入接口,通过统一的接入接口一站式管理异构区块链网络。管理平台400注册异构区块链平台时,支持基于接口、证书、访问域名的注册,以及支持存量链(已有的区块链网络)上传网络ID,从而实现对接已有的区块链网络。如此可以避免区块链平台的重复建设和长周期的业务改造,统一维护、调度和监控用户名下的所有业务和资源。
为了使得本申请的技术方案更加清楚、易于理解,下面结合政务场景对本申请实施例的区块链网络的管理方法进行说明。
参见图7所示的区块链网络的管理方法的流程图,该方法以政务场景下的创建联盟业务、加入联盟业务进行示例说明。
具体地,异构区块链平台调用平台注册接口触发平台注册,向政务区块链平台(政务场景中的管理平台400)发送平台注册请求,政务区块链平台响应于该平台注册请求,注册异构区块链平台至政务区块链平台。类似地,委办局1至委办局3可以调用用户注册接口触发用户注册,向政务区块链平台发送用户注册请求,政务区块链平台响应于yoghurt注册请求,注册委办局1对应的组织1,委办局2对应的组织2以及委办局3对应的组织3。
委办局1可以触发创建联盟操作,向政务管理中心(政务场景中的服务端200)发送创建联盟命令,政务管理中心可以向委办局2发送通知,当政务管理中心接收到委办局2同意加入联盟的响应时,政务管理中心可以向政务区块链平台发送表征审批通过的审批结果。如此,政务区块链平台可以调用创建联盟接口,向异构区块链平台发送创建联盟请求。异构区块链平台可以在租户空间A或物理资源集A创建区块链实例/节点,以及在租户空间B或物理资源集B创建区块链实例/节点。其中,租户空间A或物理资源集A为组织1关联的资源空间,类似地,租户空间B或物理资源集B为组织2关联的资源空间。在一些可能的实现方式中,异构区块链平台可以还可以邀请租户空间B或物理资源集B加入通道或链。然后政务区块链平台可以持续查询任务状态,直至任务完成。
进一步地,委办局3还可以触发加入联盟操作,向政务管理中心发送加入联盟指令。政务管理中心可以向委办局1和委办局2发送通知,当政务管理中心接受到收到委办局1同意委办局3加入联盟的响应,以及委办局2同意委办局3加入联盟的响应时,政务管理中心可以向政务区块链平台发送表征审批通过的审批结果。如此,政务区块链平台可以调用加入联盟接口,向异构区块链平台发送加入联盟请求。异构区块链平台可以在租户空间C或物理资源集C上创建区块链实例/节点。其中,租户空间C或物理资源集C为组织3关联的资源空间。在一些可能的实现方式中,异构区块链平台可以还可以邀请租户空间C或物理资源集C加入通道或链。例如,异构区块链平台可以在租户空间C或物理资源集C上创建区块链实例/节点之前,先邀请租户空间C或物理资源集C加入通道或链。然后政务区块链平台可以持续查询任务状态,直至任务完成。
其中,政务区块链平台可以根据任务执行结果进行数据更新或回滚操作。例如,任务执行成功(也即任务完成),政务区块链平台可以进行数据更新,任务执行失败,政务区块链平台可以进行数据回滚。
图7对创建联盟以及加入联盟的业务流程进行了介绍,其他业务流程,如创建业务链、加入业务链、部署合约、删除联盟等可以参考上文相关内容描述,在此不再赘述。
该方法可以提供云上部署的区块链网络和云下部署的区块链网络的统一管理能力,对异构区块链网络的统一管理能力,以及已有区块链网络的纳管能力,实现对不同部署方式、不同架构的区块链网络进行集中运营或运维。并且,该方法可以提供中心化的运维管理可视化系统,从而方便进行租户管理、监控告警、流程审批等等。该方法还支持一键部署区块链网络,对区块链网络进行全生命周期管理,节点扩缩容较为容易,维护区块链网络的成本大幅降低。此外,该方法还可以提供云上多样的政务业务映射方式,简化政务业务上链流程。
基于本申请实施例提供的区块链网络的管理方法,本申请实施例还提供了一种如前述的区块链网络的管理平台400。下面将结合附图对本申请实施例提供的区块链网络的管理平台400进行介绍。
参见图8所示的区块链网络的管理平台400的结构示意图,该管理平台400包括:
通信模块802,用于接收用户注册请求,所述用户注册请求包括用户的用户类别,所述用户类别根据所述用户管理的区块链网络的部署方式确定;
注册模块804,用于根据所述用户注册请求,为所述用户注册对应的组织,所述组织关联有与所述用户类别对应的资源空间;
执行模块806,用于调用所述资源空间的处理接口,执行对应的业务逻辑。
在一些可能的实现方式中,所述用户类别包括云上用户,所述云上用户对应的资源空间包括租户空间。
在一些可能的实现方式中,所述执行模块806具体用于:
调用所述租户空间的业务链创建接口,创建业务链。
在一些可能的实现方式中,所述执行模块806具体用于:
创建多个业务链,所述多个业务链中的至少两个业务链存在共用节点;或者,
创建多个业务链,所述多个业务链不存在共用节点;或者,
创建单个业务链,所述业务链的各个节点位于同一租户空间。
在一些可能的实现方式中,所述执行模块806具体用于:
获取建链模式参数;
根据所述建链模式参数创建单个或多个业务链。
在一些可能的实现方式中,所述建链模式参数根据所述用户之间的信任关系配置。
在一些可能的实现方式中,所述用户类别包括云下用户,所述云下用户对应的资源空间包括物理资源集。
在一些可能的实现方式中,所述执行模块806具体用于:
调用所述资源空间的创建联盟接口,在所述资源空间创建区块链节点,以创建联盟;或者,
调用所述资源空间的加入联盟接口,在所述资源空间创建区块链节点,以加入联盟;或者,
调用所述资源空间的退出联盟接口,在所述资源空间回收区块链节点,以退出联盟;或者,
调用所述资源空间的删除联盟接口,在所述资源空间回收区块链节点,以删除联盟。
在一些可能的实现方式中,所述资源空间来自异构区块链平台,所述通信模块还用于:
接收平台注册请求;
所述注册模块还用于:
通过平台注册接口,注册所述异构区块链平台的标准接口。
在一些可能的实现方式中,所述资源空间来自异构区块链平台,所述异构区块链平台具有管理面接口,所述通信模块还用于:
接收平台注册请求;
所述注册模块还用于:
获取所述管理面接口对应的标准接口,以注册所述异构区块链平台的标准接口。
在一些可能的实现方式中,所述区块链网络的管理平台提供有业务接口,所述执行模块具体用于:
响应于业务服务器对所述业务接口的调用,执行对应的业务逻辑。
根据本申请实施例的区块链网络的管理平台400可对应于执行本申请实施例中描述的方法,并且区块链网络的管理平台400的各个模块/单元的上述和其它操作和/或功能分别为了实现图3所示实施例中的各个方法的相应流程,为了简洁,在此不再赘述。
本申请实施例还提供一种计算机集群。该计算机集群包括至少一台计算机,该至少一台计算机中的任一台计算机可以来自云环境或者边缘环境,也可以是终端设备。该计算机集群具体用于实现如图8所示实施例中区块链网络的管理平台400的功能。
图9提供了一种计算机集群的结构示意图,如图9所示,计算机集群90包括多台计算机900,计算机900包括总线901、处理器902、通信接口903和存储器904。处理器902、存储器904和通信接口903之间通过总线901通信。
总线901可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
处理器902可以为中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、微处理器(micro processor,MP)或者数字信号处理器(digital signal processor,DSP)等处理器中的任意一种或多种。
通信接口903用于与外部通信。例如,通信接口903用于接收用户注册请求,或者是接收平台注册请求等等。
存储器904可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。存储器904还可以包括非易失性存储器(non-volatilememory),例如只读存储器(read-only memory,ROM),快闪存储器,硬盘驱动器(hard diskdrive,HDD)或固态驱动器(solid state drive,SSD)。
存储器904中存储有计算机可读指令,处理器902执行该计算机可读指令,以使得计算机集群90执行前述区块链网络的管理方法(或实现前述管理平台400的功能)。
具体地,在实现图8所示的管理平台400的实施例的情况下,且图8中所描述的管理平台400的各模块如通信模块802、注册模块804、执行模块806的功能为通过软件实现的情况下,执行图8中各模块的功能所需的软件或程序代码可以存储在计算机集群90中的至少一个存储器904中。至少一个处理器902执行存储器904中存储的程序代码,以使得计算机集群90执行前述区块链网络的管理方法。
本申请实施例还提供了一种计算机可读存储介质。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质的数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘)等。该计算机可读存储介质包括指令,所述指令指示计算机或计算机集群执行上述区块链网络的管理方法。
本申请实施例还提供了一种计算机程序产品。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机或数据中心进行传输。所述计算机程序产品可以为一个软件安装包,在需要使用前述区块链网络的管理方法的任一方法的情况下,可以下载该计算机程序产品并在计算机或计算机集群上执行该计算机程序产品。
上述各个附图对应的流程或结构的描述各有侧重,某个流程或结构中没有详述的部分,可以参见其他流程或结构的相关描述。
Claims (25)
1.一种区块链网络的管理方法,其特征在于,应用于区块链网络的管理平台,所述方法包括:
接收用户注册请求,所述用户注册请求包括用户的用户类别,所述用户类别根据所述用户管理的区块链网络的部署方式确定;
根据所述用户注册请求,为所述用户注册对应的组织,所述组织关联有与所述用户类别对应的资源空间;
调用所述资源空间的处理接口,执行对应的业务逻辑。
2.根据权利要求1所述的方法,其特征在于,所述用户类别包括云上用户,所述云上用户对应的资源空间包括租户空间。
3.根据权利要求2所述的方法,其特征在于,所述调用所述资源空间的处理接口,执行对应的业务逻辑,包括:
调用所述租户空间的业务链创建接口,创建业务链。
4.根据权利要求3所述的方法,其特征在于,所述创建业务链,包括:
创建多个业务链,所述多个业务链中的至少两个业务链存在共用节点;或者,
创建多个业务链,所述多个业务链不存在共用节点;或者,
创建单个业务链,所述业务链的各个节点位于同一租户空间。
5.根据权利要求3或4所述的方法,其特征在于,所述创建业务链,包括:
获取建链模式参数;
根据所述建链模式参数创建单个或多个业务链。
6.根据权利要求5所述的方法,其特征在于,所述建链模式参数根据所述用户之间的信任关系配置。
7.根据权利要求1所述的方法,其特征在于,所述用户类别包括云下用户,所述云下用户对应的资源空间包括物理资源集。
8.根据权利要求1、2或7所述的方法,其特征在于,所述调用所述资源空间的处理接口,执行对应的业务逻辑,包括:
调用所述资源空间的创建联盟接口,在所述资源空间创建区块链节点,以创建联盟;或者,
调用所述资源空间的加入联盟接口,在所述资源空间创建区块链节点,以加入联盟;或者,
调用所述资源空间的退出联盟接口,在所述资源空间回收区块链节点,以退出联盟;或者,
调用所述资源空间的删除联盟接口,在所述资源空间回收区块链节点,以删除联盟。
9.根据权利要求1至8任一项所述的方法,其特征在于,所述资源空间来自异构区块链平台,所述方法还包括:
接收平台注册请求;
通过平台注册接口,注册所述异构区块链平台的标准接口。
10.根据权利要求1至8任一项所述的方法,其特征在于,所述资源空间来自异构区块链平台,所述异构区块链平台具有管理面接口,所述方法还包括:
接收平台注册请求;
获取所述管理面接口对应的标准接口,以注册所述异构区块链平台的标准接口。
11.根据权利要求1至10任一项所述的方法,其特征在于,所述区块链网络的管理平台提供有业务接口,所述执行对应的业务逻辑,包括:
响应于业务服务器对所述业务接口的调用,执行对应的业务逻辑。
12.一种区块链网络的管理平台,其特征在于,所述平台包括:
通信模块,用于接收用户注册请求,所述用户注册请求包括用户的用户类别,所述用户类别根据所述用户管理的区块链网络的部署方式确定;
注册模块,用于根据所述用户注册请求,为所述用户注册对应的组织,所述组织关联有与所述用户类别对应的资源空间;
执行模块,用于调用所述资源空间的处理接口,执行对应的业务逻辑。
13.根据权利要求12所述的平台,其特征在于,所述用户类别包括云上用户,所述云上用户对应的资源空间包括租户空间。
14.根据权利要求13所述的平台,其特征在于,所述执行模块具体用于:
调用所述租户空间的业务链创建接口,创建业务链。
15.根据权利要求14所述的平台,其特征在于,所述执行模块具体用于:
创建多个业务链,所述多个业务链中的至少两个业务链存在共用节点;或者,
创建多个业务链,所述多个业务链不存在共用节点;或者,
创建单个业务链,所述业务链的各个节点位于同一租户空间。
16.根据权利要求14或15所述的平台,其特征在于,所述执行模块具体用于:
获取建链模式参数;
根据所述建链模式参数创建单个或多个业务链。
17.根据权利要求16所述的平台,其特征在于,所述建链模式参数根据所述用户之间的信任关系配置。
18.根据权利要求12所述的平台,其特征在于,所述用户类别包括云下用户,所述云下用户对应的资源空间包括物理资源集。
19.根据权利要求12、13或18所述的平台,其特征在于,所述执行模块具体用于:
调用所述资源空间的创建联盟接口,在所述资源空间创建区块链节点,以创建联盟;或者,
调用所述资源空间的加入联盟接口,在所述资源空间创建区块链节点,以加入联盟;或者,
调用所述资源空间的退出联盟接口,在所述资源空间回收区块链节点,以退出联盟;或者,
调用所述资源空间的删除联盟接口,在所述资源空间回收区块链节点,以删除联盟。
20.根据权利要求12至19任一项所述的平台,其特征在于,所述资源空间来自异构区块链平台,所述通信模块还用于:
接收平台注册请求;
所述注册模块还用于:
通过平台注册接口,注册所述异构区块链平台的标准接口。
21.根据权利要求12至19任一项所述的平台,其特征在于,所述资源空间来自异构区块链平台,所述异构区块链平台具有管理面接口,所述通信模块还用于:
接收平台注册请求;
所述注册模块还用于:
获取所述管理面接口对应的标准接口,以注册所述异构区块链平台的标准接口。
22.根据权利要求12至21任一项所述的平台,其特征在于,所述区块链网络的管理平台提供有业务接口,所述执行模块具体用于:
响应于业务服务器对所述业务接口的调用,执行对应的业务逻辑。
23.一种计算机集群,其特征在于,所述计算机集群包括至少一台计算机,所述至少一台计算机包括至少一个处理器和至少一个存储器,所述至少一个存储器中存储有计算机可读指令;所述至少一个处理器执行所述计算机可读指令,以使得所述计算机集群执行如权利要求1至11中任一项所述的方法。
24.一种计算机可读存储介质,其特征在于,包括计算机可读指令;所述计算机可读指令用于实现权利要求1至11任一项所述的方法。
25.一种计算机程序产品,其特征在于,包括计算机可读指令;所述计算机可读指令用于实现权利要求1至11任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2022/130584 WO2023168970A1 (zh) | 2022-03-10 | 2022-11-08 | 一种区块链网络的管理方法及相关设备 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210228191 | 2022-03-10 | ||
CN2022102281911 | 2022-03-10 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116781475A true CN116781475A (zh) | 2023-09-19 |
Family
ID=88006913
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210550637.2A Pending CN116781475A (zh) | 2022-03-10 | 2022-05-20 | 一种区块链网络的管理方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116781475A (zh) |
-
2022
- 2022-05-20 CN CN202210550637.2A patent/CN116781475A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11347889B2 (en) | Data processing systems for generating and populating a data inventory | |
US11036771B2 (en) | Data processing systems for generating and populating a data inventory | |
US11240273B2 (en) | Data processing and scanning systems for generating and populating a data inventory | |
US10564936B2 (en) | Data processing systems for identity validation of data subject access requests and related methods | |
US10438016B2 (en) | Data processing systems for generating and populating a data inventory | |
US10437860B2 (en) | Data processing systems for generating and populating a data inventory | |
JP6684850B2 (ja) | 分散台帳システム、分散台帳サブシステム、および、分散台帳ノード | |
CN108416577B (zh) | 一种区块链服务系统 | |
CN105074702B (zh) | 提供单租户和多租户环境的数据库系统 | |
US20140156724A1 (en) | Propagation and adoption of extensions across applications in networked solutions | |
WO2023040496A1 (zh) | 基于区块链的虚拟资源分配 | |
CN112685499A (zh) | 一种工作业务流的流程数据同步方法、装置及设备 | |
US11222309B2 (en) | Data processing systems for generating and populating a data inventory | |
WO2016152180A1 (ja) | コミュニケーション管理方法及びコミュニケーション管理システム | |
US20230016241A1 (en) | Highly flexible, scalable multi blockchain, hierarchical data sharing and data storing system and method thereof | |
CN116781475A (zh) | 一种区块链网络的管理方法及相关设备 | |
WO2023168970A1 (zh) | 一种区块链网络的管理方法及相关设备 | |
CN117319412A (zh) | 一种区块链网络的管理方法及相关设备 | |
US10313433B2 (en) | Method and system for registering software systems and data-sharing sessions | |
CN116095081A (zh) | 基于区块链系统的事件处理方法及装置、设备、介质 | |
US11985139B2 (en) | Systems, methods, apparatuses and computer program products for executing data verification operations between independent computing resources | |
WO2023134144A1 (zh) | 一种在云系统中处理云服务的方法及相关装置 | |
CN103548317B (zh) | 管理会话发起协议订阅对话状态丢失的方法及装置 | |
JP2013250661A (ja) | 情報処理装置、情報処理方法、およびプログラム | |
EP3449601B1 (en) | Configuration data as code |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |