一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

区块链系统架构、管理方法、电子设备及可读存储介质与流程

2023-04-05 14:04:50 来源:中国专利 TAG:


1.本技术属于区块链技术领域,尤其涉及区块链系统架构、管理方法、电子设备及可读存储介质。


背景技术:

2.区块链作为一种基础设施,根据其应用范围可以分为小型的私有链、中型的多机构联盟链、大型的公链架构等,其中的公链架构并不能适用于更高阶应用场景中区块链架构的扩展与管理。
3.目前,区块链架构主要包括单链架构或主从链架构,由于单链架构的区块链受限于区块链本身的性能,主从链架构中的数据分析难度较大,从而无法支撑大型应用场景的区块链基础设施建设。


技术实现要素:

4.本技术的目的是提供一种区块链系统架构、管理方法、电子设备及可读存储介质,可以解决单链架构的区块链受限于区块链本身的性能,主从链架构中的数据分析难度较大,从而无法支撑大型应用场景的区块链基础设施建设的问题。
5.第一方面,本技术实施例提供了一种区块链系统架构,该系统架构包括:区块链管理系统、数据管理系统、主链群和子链群:
6.所述区块链管理系统,用于对所述主链群和子链群的创建及部署进行管理;
7.所述数据管理系统,用于获取所述子链群的区块数据,并解析所述区块数据,向所述区块管理系统反馈解析结果;
8.所述主链群,用于接入所述子链群并同步所述子链群的交易信息;
9.所述子链群,用于处理所述交易信息并向所述数据管理系统提供所述区块数据。
10.在第一方面的一种可能的实现方式中,所述区块链管理系统包括主链管理单元;
11.所述主链管理单元,用于管理所述主链群中所述主链的创建周期、内置合约及命名空间;
12.所述主链管理单元,还用于对所述数据管理系统反馈的所述解析结果进行分析并展示所述子链的拓扑结构、所述交易信息;
13.所述主链群,用于划分所述主链中与所述命名空间对应的分区,所述分区与所述子链群中的所述子链的交易信息对应;
14.所述主链群,还用于根据所述命名空间部署与所述分区对应的所述内置合约,所述内置合约包括所述子链的注册管理合约和所述子链的业务同步合约;
15.所述主链管理单元,还用于基于所述主链群的创建信息及部署信息,对所述主链群进行可视化管理。
16.在第一方面的一种可能的实现方式中,所述系统架构还包括前置网关,所述区块链管理系统还包括子链管理单元;
17.所述子链管理单元,还用于通过所述前置网关向所述主链群发送注册子链交易;
18.所述前置网关,用于向所述主链群转发所述注册子链交易,并在接收到所述主链群反馈的交易结果后,向所述子链管理单元转发所述交易结果;
19.所述子链管理单元,还用于接收所述前置网关转发的所述交易结果,所述交易结果用于指示所述子链注册成功。
20.在第一方面的一种可能的实现方式中,所述子链管理单元,还用于获取所述内置合约的合约地址、所述前置网关的网关地址、所述命名空间的空间名称以及加入所述主链群的接入密码;
21.所述子链管理单元,还用于基于所述网关地址以及所述接入密码,向所述主链群中与所述空间名称对应的所述合约地址发送所述注册子链交易。
22.在第一方面的一种可能的实现方式中,所述数据管理系统,还用于基于所述子链群的所述交易信息,获取并解析所述子链群中与所述交易信息对应的区块数据,对解析后的区块数据进行结构化处理,向所述区块链管理系统反馈结构化处理后的所述解析结果;
23.所述主链管理单元,还用于基于结构化处理后的所述解析结果,对所述子链群进行可视化管理。
24.第二方面,本技术实施例提供了一种区块链管理方法,应用于区块链系统架构,该方法包括:
25.子链群通过接入主链群,向所述主链群同步交易信息;并向数据管理系统提供所述交易信息对应的区块数据;
26.主链群接收所述子链群的接入,并获取所述子链群同步的所述交易信息;
27.数据管理系统获取所述子链群的所述区块数据,并解析所述区块数据,向区块链管理系统反馈解析结果;
28.区块链管理系统基于主链和子链的创建信息分别对主链群和子链群进行部署管理,并基于接收到的所述解析结果对所述子链群进行可视化管理。
29.第三方面,本技术实施例提供了一种区块链管理方法,应用于区块链管理系统,该方法包括:
30.对主链群和子链群进行创建及部署;
31.接收数据管理系统反馈的解析结果,所述解析结果为数据管理系统对所述子链群发送的区块数据进行解析得到的,所述区块数据为与所述子链群的交易信息对应的数据;
32.基于所述解析结果,对所述子链群进行可视化管理。
33.第四方面,本技术实施例提供了一种区块链管理方法,应用于数据管理系统,该方法包括:
34.获取子链群的区块数据,所述区块数据为与所述子链群的交易信息对应的数据;
35.解析所述区块数据,得到解析结果;
36.向区块链管理系统发送所述解析结果,所述解析结果用于指示所述区块链管理系统对所述子链群进行可视化管理。
37.第五方面,本技术实施例提供了一种区块链管理装置,该装置包括:
38.传输单元,用于子链群通过接入主链群,向所述主链群同步交易信息;并向数据管理系统提供与所述交易信息对应的区块数据;
39.同步单元,用于主链群接收所述子链群的接入,并获取所述子链群同步的所述交易信息;
40.处理单元,用于数据管理系统获取所述子链群的所述区块数据,并解析所述区块数据,向区块链管理系统反馈解析结果;
41.管理单元,用于区块链管理系统基于主链和子链的创建信息分别对主链群和子链群进行部署管理,并基于接收到的所述解析结果对所述子链群进行可视化管理。
42.第六方面,本技术实施例提供了一种区块链管理装置,该装置包括:
43.创建部署单元,用于对主链群和子链群进行创建及部署;
44.接收单元,用于接收数据管理系统反馈的解析结果,所述解析结果为数据管理系统对所述子链群发送的区块数据进行解析得到的,所述区块数据为与所述子链群的交易信息对应的数据;
45.可视化管理单元,用于基于所述解析结果,对所述子链群进行可视化管理。
46.第七方面,本技术实施例提供了一种区块链管理装置,应用于数据管理系统该装置包括:
47.获取单元,用于获取子链群的区块数据,所述区块数据为与所述子链群的交易信息对应的数据;
48.解析单元,用于解析所述区块数据,得到解析结果;
49.传送单元,用于向区块链管理系统发送所述解析结果,所述解析结果用于指示所述区块链管理系统对所述子链群进行可视化管理。
50.第八方面,本技术实施例提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第三方面或第四方面所述的方法。
51.第九方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现第三方面或第四方面所述的方法。
52.第十方面,本技术实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第三方面或第四方面中任一项所述的方法。
53.可以理解的是,上述第二方面至第十方面的有益效果可以参见第一方面中的相关描述,在此不再赘述。
54.本技术与现有技术相比存在的有益效果是:通过本技术实施例提供的包括区块链管理系统、数据管理系统、主链群和子链群的区块链系统架构;所述区块链管理系统,用于对所述主链群和子链群的创建及部署进行管理;所述数据管理系统,用于获取所述子链群的区块数据,并解析所述区块数据,向所述区块管理系统反馈解析结果;所述主链群,用于创建主链,接入所述子链群并同步所述子链群的交易信息;所述子链群,用于创建子链,处理所述交易信息并向所述数据管理系统提供所述区块数据;可以支撑大型区块链基础设施建设,降低数据分析难度,提高区块链整体架构的性能,区块链构建的灵活性较高,可以对区块链的整体链群进行全面监管;具有较强的易用性与实用性。
附图说明
55.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
56.图1是本技术实施例提供的区块链系统架构的示意图;
57.图2是本技术实施例提供的命名空间的示意图;
58.图3是本技术实施例提供的bdms监听区块的流程示意图;
59.图4是本技术实施例提供的系统架构的模块交互的外部流程示意图;
60.图5是本技术实施例提供的系统交互的内部流程示意图;
61.图6是本技术实施例提供的区块链管理方法的流程示意图;
62.图7是本技术实施例提供的区块链管理方法的流程示意图;
63.图8是本技术实施例提供的区块链管理方法的流程示意图;
64.图9是本技术实施例提供的区块链管理装置的示意图;
65.图10是本技术实施例提供的区块链管理装置的示意图;
66.图11是本技术实施例提供的区块链管理装置的示意图;
67.图12是本技术实施例提供的电子设备的结构示意图。
具体实施方式
68.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其他实施例中也可以实现本技术。在其他情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。
69.应当理解,当在本技术说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其他特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
70.还应当理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
71.如在本技术说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当

时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0072]
另外,在本技术说明书和权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0073]
在本技术说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在一其他些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外他别强调。术语“包括”、“包含”、“具有”及它们的变
形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
[0074]
区块链作为一种基础设施,根据其应用范围可以分为小型的私有链、中型的多机构联盟链、大型的公链架构等,其中,公链架构不适用于市级、省级甚至国家级的区块链建设,例如城市链即城市级区块链基础设施,一般由省、自治区、直辖市或地级市统筹建设,面向行政区划内的多级行政单位提供统一的区块链服务。为满足这种“集约建设”的总体趋势和要求,需要提出一种“新型基础设施”——在应用层面,可以由政府的监管部门搭建主链,维护主链上的子链结构、监管、子链业务数据等,保障数字身份管理和跨链等基础服务。由特定行业搭建的业务子链,需要注册在主链上,提供行业内的供应溯源、数字商品交易等具体应用。
[0075]
目前的区块链架构主要有以下缺点:第一,无法支撑大型的区块链业务:传统的单链架构会受限于区块链本身的性能,不能支撑实际的城市级这类大型的区块链基础设施建设。第二,数据分析难度大,冗余过多造成性能下降:目前的多链模型主要就是“主从”架构,主链负责数据校验和存储,从链负责具体的业务运算。每条从链属于不同的命名空间,对应一套业务账本。目前主链上会存储“主从”结构信息,还包括所有从链的业务数据,并且从链自身会存储所有业务数据,所以目前的“主从”架构,不但数据冗余复杂,而且无法按照业务进行细分,数据复杂度极高,分析难度剧增;随着从链数量的新增,主链的共识能力下降,导致从链的业务进行受到主链性能的影响,最终造成整体链群的性能降低。第三,不支持异构链接入:目前的“主从”架构只能支持从链采用不同的共识机制,无法支持采用别的区块链底层,例如以hyperchain为例,可以支持从链采用hyperchain的solo或者rbft等多种共识,但不支持从链采用fabric或者bcos等其他区块链技术。第四,灵活性不足:目前的“主从”架构是不支持动态扩展已有从链,若已存在正在运行的业务链希望成为从链,是无法接入主链的,必须“从零”开始搭建从链,灵活性不足。第五,无法监管:主链无法获知从链的注册、增删节点和注销等关键动作以及对接子链的数量和结构变动等信息,主链无法管控和感知整体链群的全貌。同时在实际场景中,主链需要对子链的交易进行监管,避免违规交易。目前的“主从”架构中的主链只能校验数据真实性,无法监测交易内容中存在的敏感词。
[0076]
针对上述缺陷,本技术实施例提供了一种包括区块链管理系统、数据管理系统、主链群和子链群的区块链系统架构;区块链管理系统,用于对主链群和子链群的创建及部署进行管理;数据管理系统,用于获取子链群的区块数据,并解析区块数据,向区块管理系统反馈解析结果;主链群,用于创建主链,接入子链群并同步子链群的交易信息;子链群,用于创建子链,处理交易信息并向数据管理系统提供区块数据。通过主链的内置合约提供统一身份标识、子链注册和不同业务管理,进而实现主链监管,子链跨链互通的基础能力。具有以下优点:第一,可以支撑类似城市级的大型区块链基础设施建设,主链监管全貌,子链运行业务,突破城市级场景下的“单链”性能的上限。第二,业务清晰:子链根据主链的命名空间分别按照业务逻辑上报业务数据,避免主链扎堆存储数据,实现业务逻辑和物理账本的拆分隔离。还可以通过数据管理系统bdms对区块数据解析,从而可以在baas上进行业务数据可视化展示。第三,异构链灵活接入:不同的异构链均可以通过内置的子链注册管理合约和前置网关实现向主链进行注册,主链通过bdms解析交易里的数据,获得子链具体的信息,从而进行管理。即使子链正在运行中,也可以不中断地接入主链,不影响子链自身业务的运行。第四,主链全面监管:子链的注册、增删节点、注销等动作,均会打包成交易上报给主链,
主链即可以通过解析交易感知整体链群的全貌。同时,可以通过监听交易获知子链是否会存在敏感交易等。第五,架构灵活:主子链分离部署,子链按需加入或退出主子链系统,正在运行的子链可以随时加入主链系统,若想让子链业务脱离主子链系统单独运行,只需要子链在不停止运行的情况下发送注销子链请求,不影响子链现有运行业务;加入主链也同上述操作。该区块链系统架构具有较强的易用性与实用性。
[0077]
下面通过具体实施例介绍区块链系统架构的构建形态及各系统模块间的交互模式。
[0078]
请参见图1,图1是本技术实施例提供的区块链系统架构100的具体架构的示意图。如图1所示,该系统架构100包括:区块链管理系统110、数据管理系统120、主链群130、子链群140。
[0079]
其中,区块链管理系统110,用于对主链群130和子链群140的创建及部署进行管理。
[0080]
在一些实施例中,区块链管理系统110称为baas(block chain as a service,区块链即服务平台),支持对主链群130和子链群140的创建及部署进行管理。一个主链群130中可以包括多条主链,一个子链群140中可以包括多条子链,主链和子链的条数可以分别为n和m,n和m分别为正整数。一个子链群140可以接入一个主链群130中的一条主链中,主链和子链分别可以是同构链,也可以是异构链。
[0081]
其中,数据管理系统120,用于获取子链群140的区块数据,并解析区块数据,向区块链管理系统110反馈解析结果。
[0082]
在一些实施例中,数据管理系统120又称为bdms(block database management system),当子链群140中的区块数据传输到bdms时,bdms会对该区块数据进行解析,然后将解析结果反馈给区块链管理系统110。数据管理系统120,提供区块拉取解析能力,处理区块交易黑盒数据,该交易黑盒数据即加密数据,通过对数据进行加密,可以保护交易的安全。
[0083]
其中,主链群130,用于接收子链群140的接入并同步子链群140的交易信息。
[0084]
在一些实施例中,主链群130一般由项目领头或者监管方建设,支持同构或异构子区块链的接入,具有内置子链注册管理、统一数字身份管理和跨链管理等公共能力,并为接入的子链提供内置子链注册管理、统一数字身份管理和跨链管理等基础服务。主链群130在接入子链群140后,会同步子链群140的交易信息。
[0085]
其中,子链群140,用于处理交易信息并向数据管理系统120提供区块数据。
[0086]
在一些实施例中,子链群140可以包括多条子链,子链的数量根据用户的实际需求自行部署。子链可以是新创建的,也可以是正在运行中的子链。子链主要承载实际的区块链业务,对接真实业务应用系统,并且可以使用主链提供的公共基础服务,例如主链的数字身份管理、跨链服务、注册管理等。子链群140在处理子链的实际区块链业务中产生的交易信息之后,会向数据管理系统120提供与交易信息对应的区块数据。
[0087]
通过本实施例,基于上述“主子链”的去跨链架构,可以支撑类似城市级的大型区块链基础设施建设,主链监管全貌,子链运行业务,突破城市级场景下的“单链”性能的上限。
[0088]
下面对应图1对区块链系统架构100中的组成部分进行详细介绍。
[0089]
如图1所示,区块链管理系统110包括主链的baas(主链管理单元)112和子链的
baas(子链管理单元)114。主链的baas112,包括主链管理1122和子链管理1124;主链管理1122用于对主链的管理,包括对主链的创建周期管理、内置合约管理、命名空间管理以及前置网关管理;还可以用于对主链群130中主链的创建周期、内置合约、命名空间以及前置网关进行可视化地管理;其中,主链的创建周期即主链的生命周期,也就是主链从创建到注销的时间。子链管理1124,用于对子链的管理,包括对数据管理系统120反馈的解析结果进行分析并以可视化的形式展示子链的拓扑结构、交易信息,甚至可以推送到订阅服务中,实现敏感数据告警监管和审计事件推送。
[0090]
子链的baas114,具体还可以包括创建子链、获取准入信息、申请注册、接收交易结果等功能,用于对子链的创建进行管理;子链的baas114,还用于通过前置网关向主链群130发送注册子链交易;并接收前置网关转发的交易结果,该交易结果用于指示子链注册成功。同时,子链的baas114,还用于获取内置合约的合约地址、前置网关的网关地址、命名空间的空间名称以及加入主链群130的接入密码等信息;从而可以基于网关地址以及接入密码,向主链群130中与命名空间名称对应的合约地址发送注册子链交易。
[0091]
如图1所示,主链群130包括n条主链,主链1接入子链群140,主链1可以包括四个命名空间(name space),分别可以为第一命名空间name space1、第二命名空间name space2、第三命名空间name space3和第四命名空间name space4。
[0092]
示例性的,name space1中包括子链结构状态和内置子链注册合约,name space2中包括子链1业务和内置子链业务同步合约,name space3中包括子链2业务和内置子链业务同步合约,name space4包括子链3业务和内置子链业务同步合约。name space1接收子链群140中通过前置网关传输的子链结构状态数据,name space2、name space3、name space4分别接收子链群140中的异构子链1、异构子链2、异构子链3通过前置网关传输的业务数据。主链群130将子链群140通过前置网关传输的与交易信息对应的区块数据传输给bdms中的监听最新区块模块。主链群130直接被主链的baas112中的主链管理1122管理。主链群130接收子链的baas114通过前置网关转发的交易信息。
[0093]
需要说明的是,主链群中的任一条主链上的命名空间的数量及类型可以基于实际应用场景进行扩展或设定,并不局限于上述示例,每一条主链上还可以包括更多个命名空间,每个命名空间分别可以与一个子链群中的一条业务子链相对应。从而可以在基于主链群实现对主链的扩展,以及基于每一条主链上的命名空间实现对子链群的扩展的同时,子链还可以根据主链的命名空间分别按照业务逻辑上报业务数据,避免主链扎堆存储数据,实现业务逻辑和物理账本的拆分隔离。
[0094]
示例性的,子链群对应的交易信息可以包括业务数据、子链结构数据以及子链状态数据,业务数据是子链在承办具体的业务时产生的数据,子链结构数据是分析子链自身的具体结构时产生的数据,子链状态数据是子链在注册、注销、新增节点以及删除节点等操作事件中产生的数据。
[0095]
在一些实施例中,主链群130,还用于划分主链中与命名空间对应的分区,该分区与子链群140中的子链的交易信息对应。
[0096]
在一些实施例中,主链可以通过命名空间方法实现区块链网络内部交易分区保护机制,使用者按照命名空间进行交易划分,通过分区之间独立和隔离的方式达到物理层面隐私保护的效果。
[0097]
示例性的,如图2所示的命名空间(name space)的结构示意图,命名空间的名称由用户根据具体的业务自行配置,任意4个节点可以组成一个新的name space,每个name space相互隔离,维护自己的账本数据,该账本数据即用户记在账本上的在实际交易的过程中产生的交易数据,每个name space可以部署特定主题的合约,特定主题即特定的业务主题,不同的账本对应不同主题的合约。图2中节点1、2、5、6组成name space1,节点3、4、7、8组成name space2,节点2、3、6、7组成name space3。
[0098]
其中,对组成命名空间的节点数量不做具体限定,还可以根据子链实际处理业务的需要对主链中的节点进行划分,并组成相应的命名空间。
[0099]
通过本实施例,不同命名空间的账本数据隔离,避免数据过度聚合,便于业务拆分和业务数据解析;子链根据主链的命名空间分别按照业务逻辑上报业务数据,避免主链扎堆存储数据,实现业务逻辑和物理账本的拆分隔离。
[0100]
在一些实施例中,主链群130,还用于根据命名空间部署与分区对应的内置合约,内置合约可以包括主链的内置子链注册管理合约和主链的内置子链业务同步合约等。
[0101]
在一些实施例中,创建多个命名空间后,可以根据支持的业务规则在不同的命名空间内部署相应的内置合约。
[0102]
示例性的,创建一个命名空间,内置子链注册管理合约,主要用于对子链的操作事件进行管理;子链的操作事件主要包括注册、注销、新增节点、删除节点等。主链可通过该命名空间的交易解析出主子链群的全貌;或者创建一个命名空间,并内置子链业务锚定合约,也称为内置子链业务同步合约;该子链业务同步合约可以用于同步子链业务的区块头数据,也可以同步区块体数据;为保证整体链群的性能,可以只同步子链业务的区块头数据。
[0103]
如图1所示,子链群140可以包括m条异构子链,异构是指子链与主链的底层逻辑架构不同,m条子链也可以是同构的,即子链与主链的底层逻辑架构相同,各子链之间可以同构也可以异构,这里不做限定。异构子链1、异构子链2以及异构子链3的内部分别设置一个name space1,name space1中放置具体的业务;外部分别连接一个前置网关,通过前置网关将子链结构状态数据和业务数据分别传输给主链群130中的主链1中对应的命名空间。子链群140由子链的baas114直接进行管理,子链群140中的子链由子链的baas114创建。子链群140,用于处理交易信息并向数据管理系统120提供区块数据。
[0104]
在一些实施例中,首先,子链需要注册到主链上,即注册子链:子链可通过前置网关往主链特定命名空间的内置合约(子链注册管理合约)地址发送注册请求,交易成功后,子链即注册成功,后续子链的操作事件均会通过前置网关发送至主链,例如注销子链、新增节点、删除节点等;其次,子链需要向主链上同步交易信息,即业务同步:主要涉及主链的内置子链业务同步合约,子链的具体业务的区块头数据可以通过前置网关向主链上同步自身的业务数据。
[0105]
需要说明的是,子链的具体业务的区块头数据可以通过前置网关往主链上同步自身的业务数据,内置的子链业务同步合约不仅可以同步业务数据,还可以解决存在主链和子链异构的情况,通过使用合约来统一逻辑,以去除不同底层带来的差异,从而达到统一的目的,子链只需要按照特定结构往特定命名空间的合约地址发送业务数据封装的交易即可。
[0106]
其中,子链对实际业务运行的过程中产生的业务数据、自身的结构数据以及状态
数据进行处理,然后向数据管理系统120提供这些数据,但是子链不是直接向数据管理系统120提供上述数据,而是通过主链群130进行提供。
[0107]
通过本实施例,不同的异构链均可以通过内置的子链注册管理合约和前置网关实现向主链进行注册,主链通过bdms解析交易里的数据,获得子链具体的信息,从而进行管理,即使子链正在运行中,也可以不中断地接入主链,不影响子链自身业务的运行。
[0108]
如图1所示,区块链系统架构100还包括前置网关,每个前置网关分别与对应的异构子链和主链群130连接。
[0109]
在一些实施例中,前置网关的个数由子链的数量确定,子链有多少条,前置网关就对应有几个。前置网关也称为网间连接器或协议转换器,是一种交易转发中间件,如果把服务器比作是一个房间,那么网关就相当于是一个门,主要用于把客户端的数据传输给服务器,让服务器对数据进行处理。
[0110]
下面对应图1和图3对数据管理系统(bdms)120监听区块的关键流程进行详细介绍。
[0111]
如图1所示,bdms包括监听最新区块模块和解析块信息模块,监听最新区块模块用于拉取主链群130中的主链上的与命名空间对应的区块数据;解析块信息模块用于解析监听最新区块模块拉取的区块数据,然后将解析之后的数据传输给主链的baas112中的主链管理1122。解析块信息主要是通过解析模型解析实际交易中具体的合约数据,具体的合约数据包括子链注册管理合约数据和子链业务同步合约数据,数据解析完成之后,按到定义的数据处理规则对数据进行处理,最后将处理后的数据推送至主链的baas112中的主链管理1122,由主链的baas112中的主链管理1122开展数据分析业务。
[0112]
如图3所示,bdms监听区块的关键流程为:第一步,bdms获取最新区块高度;第二步,主链或子链返回当前区块高度max;第三步,bdms拉取区块;第四步,主链或子链返回区块;第五步,bdms监听最新区块;第六步,根据最新区块高度拉取区块信息;第七步,主链或子链返回区块信息;第八步,bdms解析区块,并更新本地的区块高度。上述过程总结如下:主链接入bdms后,会从第0个区块开始拉取链上区块,直到链上最新区块与本地处理的块高保持一致,然后bdms会开启区块监听逻辑,当链上有区块数据生成,bdms便会监听到这个信息,先启动拉取区块业务,再解析区块数据,并更新本地块高,然后开启下一轮监听,如此循环往复。
[0113]
区块高度是区块的标识符,区块有两个标识符,一是区块头的哈希值,二是区块高度。区块头的哈希值是通过sha256算法对区块头进行二次哈希计算而得到的数字。区块哈希值可以唯一、明确地“标识”一个区块,并且任何节点通过简单地对区块头进行哈希计算都可以独立地获取该区块哈希值。区块高度是指该区块在区块链中的位置,并不是唯一的“标识”符。虽然一个单一的区块总是会有一个明确的、固定的区块高度,但反过来却并不成立,一个区块高度并不总是识别一个单一的区块。两个或两个以上的区块可能有相同的区块高度,在区块链里争夺同一位置。
[0114]
通过本实施例,可以通过监听交易获知子链是否会存在敏感交易,如果监听到敏感信息可以及时对其进行处理。
[0115]
下面对应图4对区块链系统架构的模块间的交互流程进行详细介绍。
[0116]
首先,创建主链:通过主链的baas创建一条主链,创建成功后会自动部署预先设置
的内置合约,例如子链注册管理合约,为了子链可以联通主链进行注册,还需要部署前置网关。
[0117]
其次,子链获取准入信息:子链需要获取主链创建前置网关的相关信息,包括:内置合约的合约地址、前置网关的网关地址、命名空间的空间名称以及加入主链的接入密码。
[0118]
再次,子链自动注册:如果子链是新创建的,且已经成功注册到主链上,那么子链在注册成功后,就会运行具体的业务,并生成链上交易;如果子链正在运行中,并需要加入主子链系统,则需要向主链注册子链的操作事件。子链的baas自动注册子链的外部流程为:第一步,创建子链,子链创建成功后,会自动触发注册事件,自动对主链发起交易,通过前置网关,向主链上特定命名空间里的合约地址发送交易;第二步,获取主链创建前置网关的相关信息,包括:内置合约的合约地址、前置网关的网关地址、命名空间的空间名称以及加入主链群130的接入密码,其中获取的内置合约的合约地址主要是子链的注册管理合约的合约地址,获取的命名空间的名称由具体的交易进行确定,获取的加入主链群130的接入密码即用于鉴权的access key(ak),该接入密码对于子链接入主链而言非常关键,如果没有获取到该接入密码,即使获取到了内置合约的合约地址、前置网关的网关地址、命名空间的空间名称,那么子链也无法接入主链;第三步,向主链申请注册成为子链;第四步,通过前置网关将交易信息转发给主链;第五步,主链注册子链的操作事件,子链的操作事件作为交易上链;第六步,通过前置网关反馈调用结果;第七步,接收申请注册成功的结果;第八步,向子链发送创建成功的信息。
[0119]
子链自动注册的内部流程如图5所示(虚线箭头代表逻辑数据流向,实线箭头代表实际调用关系):首先,部署主链:子链的baas通过“核心服务”向“链驱动”发送部署命令,调动“链驱动”部署子链和节点;其次,注册事件上报:子链的baas的“核心服务”确认子链和节点部署成功后,将部署事件转为注册信息,封装成交易,通过前置网关将该交易转发给主链,具体过程为:子链的baas的“链驱动”将部署好的链和节点的状态上报给子链的baas的“核心服务”,“核心服务”中的“状态上报处理”将链和节点的状态上报给“核心服务”中的“状态拦截器”,“状态拦截器”判断是否对状态上报进行拦截,若子链不再需要注册到主链上,则“状态拦截器”会对状态上报进行拦截,若子链仍需要注册到主链上,则“状态拦截器”不会对状态上报进行拦截,然后“状态拦截器”会把状态上报给“核心服务”中的“事件处理”,“事件处理”将状态上报给子链的baas的“前置网关驱动”,“前置网关驱动”对主链的内置合约进行调用,主链的baas的“前置网关”进行鉴权转发,鉴权主要使用ak(access key),如果鉴权成功,那么“前置网关”会将状态上报给“主链的内置子链注册管理合约”,“主链的内置子链注册管理合约”连接主链的baas的“链驱动”中的“合约接口”,主链的baas的“链驱动”将合约调用给主链,节点的新增、删除以及子链的注销均是该逻辑。
[0120]
最后,对主子链进行管理:第一,主子链群结构拓扑获取:子链的操作事件作为交易上链后,bdms会按照预设时间拉取区块,解析出区块的交易信息,同时根据设定的业务分析规则结构化处理解析出的与交易信息对应的区块数据。bdms在拉取子链时对子链的状态没有限制,无论子链是处于注册、注销或增删节点的状态,还是处于业务运行或停止的状态,都可以进行拉取,例如:在子链向主链申请注册时和在子链运行具体的业务时即可进行拉取。主链的baas将上述根据设定的业务分析规则结构化处理后的解析结果,对主链群和子链群进行可视化管理。第二,子链业务数据上报和监管:可以通过bdms直接监听子链的区
块数据,拉取后解析,若存在敏感信息,则将告警信息上报给主链的baas;也可以复用注册事件上报的逻辑,将子链的业务数据打包成交易发送给主链,主链通过bdms进行解析。可以根据实际场景分别应用,灵活度高。
[0121]
通过本实施例,可以支撑类似城市级的大型区块链基础设施建设,主链监管全貌,子链运行业务,突破城市级场景下的“单链”性能的上限;不同的异构链均可以通过内置的子链注册管理合约和前置网关实现向主链进行注册,主链通过bdms解析交易里的数据,获得子链具体的信息,从而进行管理,即使子链正在运行中,也可以不中断地接入主链,不影响子链自身业务的运行,从而可以实现异构链地灵活接入;主子链分离部署,子链按需加入或退出主子链系统,正在运行的子链可以随时加入主链系统,若想让子链业务脱离主子链系统单独运行,只需要子链在不停止运行的情况下发送注销子链请求,不影响子链现有运行业务,加入主链也同上述操作。同时,子链的注册、增删节点、注销等动作,均会打包成交易上报给主链,主链即可以通过解析交易感知整体链群的全貌;从而实现主链对子链地全面监管。
[0122]
下面对应图5详细介绍对区块数据结构化处理和对主子链群可视化管理的具体过程。
[0123]
对区块数据结构化处理的具体过程为:bdms基于子链群的交易信息,获取并解析子链群中与交易信息对应的区块数据,对解析后的区块数据进行结构化处理,向区块链管理系统反馈结构化处理后的解析结果。
[0124]
示例性的,如图5所示,bdms获取子链群的区块数据,并解析区块数据,向主链的baas反馈解析结果的具体过程为:首先,获取子链的baas传输的子链群中与交易信息对应的区块数据;其次,根据解析模型对获取到的区块数据进行解析;再次,根据设定的业务分析规则对解析之后的区块数据进行结构化处理,经过结构化处理后的数据包括子链结构拓扑和子链业务数据等;最后,将经过处理之后的区块数据传输给主链的baas中的“核心服务”。
[0125]
对主子链群可视化管理的具体过程为:主链的baas基于上述结构化处理后的解析结果,对子链群进行可视化管理;主链的baas还基于主链群的创建信息及部署信息,对主链群进行可视化管理。
[0126]
在一些实施例中,主链的baas包括“核心服务”和数据库db,“核心服务”中包括具体的业务逻辑。“核心服务”和数据库db基于结构化处理后的解析结果,对主链群的创建信息和部署信息以及子链群的具体结构进行可视化管理。
[0127]
示例性的,如图5所示,主链的baas将上述根据设定的业务分析规则结构化处理后的与交易信息对应的区块数据传输给主链的baas的“核心服务”,“核心服务”按照可视化需求和具体的“业务逻辑”整合区块数据,并将整合后的区块数据存入“数据库db”。当用户需要查看整体主子链群的架构时,主链的baas的“核心服务”会直接从“数据库db”中拉取区块数据呈现给用户。
[0128]
通过本实施例,可以通过bdms对区块数据解析,从而可以在主链的baas上进行业务数据可视化展示;可以通过监听交易获知子链是否会存在敏感交易等。
[0129]
下面对应图4对前置网关的作用进行详细介绍。
[0130]
前置网关用于向主链转发注册子链交易,并在接收到主链反馈的交易结果后,向
子链的baas转发交易结果。
[0131]
在一些实施例中,前置网关向主链中的主链上的特定命名空间里的合约地址转发通过子链的baas申请注册成为子链的交易,并在接收到主链反馈的调用主链的内置子链注册管理合约的交易结果后,向子链的baas转发交易结果。后续子链的操作事件均会通过前置网关发送至主链,例如注销子链、新增节点、删除节点等。
[0132]
示例性的,如图1和图4所示,前置网关向主链群130中的主链上的特定命名空间name space1里的合约地址转发通过子链的baas114注册子链的交易,并在接收到主链群130反馈的调用主链的内置子链注册管理合约的交易结果后,向子链的baas114转发交易结果;前置网关向主链群130中的主链上的特定命名空间name space1里的合约地址转发通过子链的baas114注销子链的交易,并在接收到主链群130反馈的调用主链的内置子链注册管理合约的交易结果后,向子链的baas114转发交易结果;前置网关向主链群130中的主链上的特定命名空间name space1里的合约地址转发通过子链的baas114新增节点的交易,并在接收到主链群130反馈的调用主链的内置子链注册管理合约的交易结果后,向子链的baas114转发交易结果;前置网关向主链群130中的主链上的特定命名空间name space1里的合约地址转发通过子链的baas114删除节点的交易,并在接收到主链群130反馈的调用主链的内置子链注册管理合约的交易结果后,向子链的baas114转发交易结果。
[0133]
通过本实施例,主子链分离部署,子链按需加入或退出主子链系统架构,已在运行的子链可以随时加入主链系统,若想子链业务脱离主子链系统单独运行只需要主要子链在不停机的情况下发送注销子链请求,不影响子练现有运行业务。
[0134]
对应于上文实施例所述的区块链系统架构100,图6示出了本技术实施例提供的一种区块链管理方法的流程示意图。该区块链管理方法应用于区块链系统架构100,该方法包括:
[0135]
s801,子链群通过接入主链群,向所述主链群同步交易信息;并向数据管理系统提供与所述交易信息对应的区块数据。
[0136]
该步骤由子链群中的任意一个子链中节点对应的实体终端实现。
[0137]
s802,主链群接收所述子链群的接入,并获取所述子链群同步的所述交易信息。
[0138]
该步骤由主链群中的任意一个主链中节点对应的实体终端实现。
[0139]
s803,数据管理系统获取所述子链群的所述区块数据,并解析所述区块数据,向区块链管理系统反馈解析结果。
[0140]
该步骤由数据管理系统对应的实体终端实现。
[0141]
s804,区块链管理系统基于主链和子链的创建信息分别对主链群和子链群进行部署管理,并基于接收到的所述解析结果对所述子链群进行可视化管理。
[0142]
该步骤由区块链管理系统对应的实体终端实现。
[0143]
本实施例提供的方法的具体过程在上文已述,此处不再赘述。
[0144]
本实施例提供的方法的有益效果可以参见上述区块链系统架构100的实施例中的相关描述,此处不再赘述。
[0145]
对应于上文实施例所述的区块链管理系统102,图7示出了本技术实施例提供的一种区块链管理方法的流程示意图。该区块链管理方法应用于区块链管理系统110,该方法包括:
[0146]
s901,对主链群和子链群进行创建及部署。
[0147]
s902,接收数据管理系统反馈的解析结果,所述解析结果为数据管理系统对所述子链群发送的区块数据进行解析得到的,所述区块数据为与所述子链群的交易信息对应的数据。
[0148]
s903,基于所述解析结果,对所述子链群进行可视化管理。
[0149]
本实施例提供的方法的具体过程在上文已述,此处不再赘述。
[0150]
本实施例提供的方法的有益效果可以参见上述区块链管理系统110的实施例中的相关描述,此处不再赘述。
[0151]
对应于上文实施例所述的数据管理系统120,图8示出了本技术实施例提供的一种区块链管理方法的流程示意图。该区块链管理方法应用于数据管理系统120,该方法包括:
[0152]
s101,获取子链群的区块数据,所述区块数据为与所述子链群的交易信息对应的数据。
[0153]
s102,解析所述区块数据,得到解析结果。
[0154]
s103,向区块链管理系统发送所述解析结果,所述解析结果用于指示所述区块链管理系统对所述子链群进行可视化管理。
[0155]
实现上述方法的终端可以是单独部署的终端,也可以是部署在主链的baas侧的集成模块,或者部署在主链中任一节点的实体终端的单元。
[0156]
本实施例提供的方法的具体过程在上文已述,此处不再赘述。
[0157]
本实施例提供的方法的有益效果可以参见上述数据管理系统120的实施例中的相关描述,此处不再赘述。
[0158]
本技术实施例提供的区块链系统架构及区块链管理方法,具有以下优点:第一,可以支撑大型区块链基础设施:提出的“主子链”架构设计方案,可以支撑类似城市级的大型区块链基础设施建设,主链监管全貌,子链运行业务,突破城市级场景下的“单链”性能的上限;第二,业务清晰:子链根据主链的命名空间分别按照业务逻辑上报业务数据,避免主链扎堆存储数据,实现业务逻辑和物理账本的拆分隔离,更可以通过bdms对区块数据解析,从而可以在baas上进行业务数据可视化展示;第三,异构链灵活接入:不同的异构链均可以通过内置的子链注册管理合约和前置网关实现向主链进行注册,主链通过bdms解析交易里的数据,获得子链具体的信息,从而进行管理,即使子链正在运行中,也可以不中断地接入主链,不影响子链自身业务的运行;第四,主链全面监管:子链的注册、增删节点、注销等动作,均会打包成交易上报给主链,主链即可以通过解析交易感知整体链群的全貌,同时,可以通过监听交易获知子链是否会存在敏感交易等;第五,架构灵活:主子链分离部署,子链按需加入或退出主子链系统,正在运行的子链可以随时加入主链系统,若想让子链业务脱离主子链系统单独运行,只需要子链在不停止运行的情况下发送注销子链请求,不影响子链现有运行业务,加入主链也同上述操作。
[0159]
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0160]
对应于上文实施例所述的区块链管理方法,图9示出了本技术实施例提供的区块链管理装置的结构框图,为了便于说明,仅示出了与本技术实施例相关的部分。
[0161]
参照图9,该装置包括:
[0162]
传输单元111,用于子链群通过接入主链群,向所述主链群同步交易信息;并向数据管理系统提供与所述交易信息对应的区块数据;
[0163]
同步单元112,用于主链群接收所述子链群的接入,并获取所述子链群同步的所述交易信息;
[0164]
处理单元113,用于数据管理系统获取所述子链群的所述区块数据,并解析所述区块数据,向区块链管理系统反馈解析结果;
[0165]
管理单元114,用于区块链管理系统基于主链和子链的创建信息分别对主链群和子链群进行部署管理,并基于接收到的所述解析结果对所述子链群进行可视化管理。
[0166]
对应于上文实施例所述的区块链管理方法,图10示出了本技术实施例提供的区块链管理装置的结构框图,为了便于说明,仅示出了与本技术实施例相关的部分。
[0167]
参照图10,该装置包括:
[0168]
创建部署单元121,用于对主链群和子链群进行创建及部署;
[0169]
接收单元122,用于接收数据管理系统反馈的解析结果,所述解析结果为数据管理系统对所述子链群发送的区块数据进行解析得到的,所述区块数据为与所述子链群的交易信息对应的数据;
[0170]
可视化管理单元123,用于基于所述解析结果,对所述子链群进行可视化管理。
[0171]
对应于上文实施例所述的区块链管理方法,图11示出了本技术实施例提供的区块链管理装置的结构框图,为了便于说明,仅示出了与本技术实施例相关的部分。
[0172]
参照图11,该装置包括:
[0173]
获取单元131,用于获取子链群的区块数据,所述区块数据为与所述子链群的交易信息对应的数据;
[0174]
解析单元132,用于解析所述区块数据,得到解析结果;
[0175]
传送单元133,用于向区块链管理系统发送所述解析结果,所述解析结果用于指示所述区块链管理系统对所述子链群进行可视化管理。
[0176]
图12为本技术一实施例提供的电子设备14的结构示意图。如图12所示,该实施例的电子设备14包括:至少一个处理器141(图12中仅示出一个)、存储器143以及存储在所述存储器143中并可在所述至少一个处理器141上运行的计算机程序142,所述处理器141执行所述计算机程序142时实现上述应用于区块链管理系统和数据管理系统的方法实施例中的步骤。
[0177]
所述电子设备14可以是桌上型计算机、笔记本、掌上电脑及手机等计算设备。该电子设备14可包括,但不仅限于,处理器141、存储器143。本领域技术人员可以理解,图12仅仅是电子设14的举例,并不构成对电子设备14的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
[0178]
所称处理器141可以是中央处理单元(central processing unit,cpu),该处理器141还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器
等。
[0179]
所述存储器143在一些实施例中可以是所述电子设备14的内部存储单元,例如电子设备14的硬盘或内存。所述存储器143在另一些实施例中也可以是所述电子设备14的外部存储设备,例如所述电子设备14上配备的插接式硬盘,智能存储卡(smart media card,smc)、安全数字卡(secure digital,sd)、闪存卡(flash card)等。进一步地,所述存储器143还可以既包括所述电子设备14的内部存储单元,又包括外部存储设备。所述存储器143用于存储操作系统、应用程序、引导装载程序(boot loader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器143还可以用于暂时地存储已经输出或者将要输出的数据。
[0180]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程时,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一个计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述应用于区块链管理系统和数据管理系统的方法实施例中的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质至少可以包括:能够将计算机程序代码携带到区块链装置/电子设备的任何实体或装置、记录介质、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质,例如u盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不可以是电载波信号和电信信号。
[0181]
本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述各个方法实施例中的步骤。
[0182]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0183]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0184]
在本技术所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。以上所描述的装置/网络设备实施例仅仅是示意性的,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元、组件可以结合或者可以集成到另一个系统中,一些特征可以忽略不执行。另一点,所显示或讨论的相互之间的间接耦合、直接耦合或通讯连接可以是通过一些接口、装置或单元的间接耦合、直接耦合或通讯连接,可以是电性、机械或其它的形式。
[0185]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0186]
以上所述实施例仅用以说明本技术的技术方案,而非对其进行限制。尽管参照前述实施例对本技术进行了详细地说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改或者对其中部分技术特征进行等同替换,而这些修改或者替换,并不会使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献