一种联盟区块链可视化通道管理的方法与流程

文档序号:18267172发布日期:2019-07-27 09:16阅读:1928来源:国知局
一种联盟区块链可视化通道管理的方法与流程

本发明属于联盟区块链技术领域,具体涉及一种联盟区块链可视化通道管理的方法。



背景技术:

与比特币等公有区块链不同,联盟区块链是一种以达成小范围共识为目标的信任网络,常用于解决跨组织数据信任问题。区块链利用其链式数据结构、分布式账本、共识算法等特点,在跨组织业务协同和数据共享方面能够发挥重要作用,但单一的区块链在实际应用当中存在着以下矛盾:由于区块链的账本是分布式同步的,每个节点都必须拥有相同的数据;而事实上并非每个节点都需要或者有权关注所有的数据,如果为了实现业务隔离而必须搭建不同的区块链,意味着额外的服务器资源消耗,这使得区块链的实际应用代价高昂,实用性不高。

联盟链通道技术就是为了解决上述矛盾而产生的技术。它通过在同一套区块链系统中构建不同的通道,各区块链节点根据业务需要加入不同的通道,在主区块链账本上形成依照业务需求划分的、由不同节点参与的“子链”,并利用密码学技术防止通道间数据的非法获取,实现通道之间的业务隔离。参考图1所示的联盟链通道示例,在图1中,区块链包含三个节点,划分为两条业务通道,节点1和节点2同在通道a,节点2和节点3同在通道b;节点1只能同步通道a的数据,节点3只能同步通道b的数据,节点2能同步通道a和通道b的数据,这就实现了a和b两条相互独立的业务线条。

在本发明应用之前,联盟区块链用户只能从代码层为联盟区块链新建业务隔离通道,具有两方面的问题:第一,需要修改的区块链节点配置较多,并且需要对通道所涉及的每一个区块链节点进行重新配置,流程繁琐且耗时较长;第二,进行区块链通道创建只能由具备区块链技术专业技能的人员完成,难以进行常规化应用,因此,亟需一种联盟区块链可视化通道管理的方法,解决上述问题,从而增强区块链的可扩展性、实用性和易用性。



技术实现要素:

为克服现有技术不足,本发明提供了一种联盟区块链可视化通道管理的方法,旨在实现联盟链通道创建和管理的自动化,并提供用户友好的交互界面。

为实现上述目的,本发明提供如下技术方案:

1、参照图2所示,本发明构建了可视化系统,从区块链层、数据库层、业务处理层、展现层四个层次完成联盟链通道管理的可视化。

区块链层:通过区块链节点的配置,创建不同的联盟链通道,利用联盟链底层的数据隔离技术,在区块链层实现通道间的数据隔离;

数据库层:业务逻辑层从区块链中获得的数据,将被存储在业务数据库中,以实现对区块链数据的查询、检索、统计,供展现层使用;

业务逻辑层:从展现层获取用户输入的通道创建指令,依照本方法的实施方式,在各个区块链节点配置中执行,从而操作区块链层以实现通道创建,另一方面,业务逻辑层负责对区块链通道信息的获取,并将其固化到数据库中;

展现层:展现层将来自业务逻辑层的数据通过图形化的方式向用户展示,并通过可视化界面接收用户的通道创建指令,向业务逻辑层传递。

2、参照图3所示,本发明为联盟链用户提供了可视化的业务通道创建方法:

a)通过可视化界面进行通道创建的前提是,相关的区块链节点都与可视化系统建立连接,可视化系统能够获取相关区块链节点的操作权限;

b)用户通过可视化界面输入通道名称、业务名称、通道简介,并选择通道参与节点,将上述内容向业务逻辑层传递;

c)根据用户的输入,业务逻辑层决定对目标区块链节点的相关配置文件执行修改。详见具体实施方式;

d)各区块链节点完成配置文件的修改,并生成创世区块,完成业务通道的创建,业务逻辑层捕捉到创世区块的创建,并向展现层反馈通道创建成功。

3、参照图4所示,本发明为联盟链用户提供了可视化的业务通道浏览及管理方法:

1)业务逻辑层定期从区块链节点获取信息,每当新区块被延续到任意通道中时,业务逻辑层都将把该区块的信息解析并分类存储在数据库中;

2)展现层从数据库中取出数据,并对其进行可视化渲染;

3)用户通过图形化界面管理区块链上的通道。

与现有技术相比,本发明的有益效果是:

(1)本发明通过将区块链节点配置和控制集成化、自动化,并通过可视化的方式加以管理,能够将每次准确的区块链通道创建业务的实现时间从小时级缩短到秒级,显著降低了区块链可视化通道管理的实现难度和复杂性,增加了区块链通道管理的实现效率。

(2)本发明显著降低了区块链通道管理的技术门槛,增强了区块链通道管理的普适性,使该技术能够被更广泛地应用于实际生产中。

(3)本发明提供的联盟区块链可视化通道管理方法,能够应用在baas服务中,使区块链的运维管理人员无需关心底层具体技术,就能够通过可视化界面创建和管理区块链通道。

附图说明

图1为本发明的联盟区块链业务通道隔离的示意图;

图2为本发明的联盟区块链可视化通道管理的技术架构图;

图3为本发明的联盟区块链可视化通道管理的流程图;

图4为本发明的联盟区块链可视化通道数据获取和展现的流程图;

图5为本发明的用户创建区块链通道可视化界面的示意图;

图6为本发明的用户浏览区块链通道信息可视化界面的示意图;

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

1、联盟区块链通道的可视化创建方法:

(a)用户通过可视化界面输入拟创建通道的基本信息

用户通过可视化界面,输入拟创建通道的名称、业务名称、通道简介,并选择参与该通道的节点,向业务逻辑层传递上述信息;

(b)进行对拟建立通道的区块链节点名称的转义

由于区块链上的节点名称有独立的命名规则,与用户可见的名称不同,因此需要先在业务逻辑层将区块链节点名称的转义为形如“org1”的名称,该对应关系存储在数据库层;

(c)确保可视化系统对拟建立通道的区块链节点的控制权限

本发明方法要求可视化节点对拟建立通道的区块链节点的控制权限,因此可视化系统在执行通道创建前,必须检查所有涉及到的区块链节点的连接活性,以及可视化系统对这些区块链节点的控制权限;

当可视化系统需要创建通道时,首先向所涉及的所有区块链节点发送一条信息,该信息包含一个随机数值x,区块链节点在接收到x后,向可视化系统返回x+1,可视化系统接收到x+1即可判断连接成功,其次,区块链节点具有健全机制,该机制规定了只有可视化系统的管理员才能够创建通道,因此确保了可视化系统对区块链节点的控制权限;

(d)业务逻辑层处理用户所输入的信息并向区块链节点发送指令

业务逻辑层随即从一个区块链节点中,获取config.yaml文件,这是一个通道配置模板文件,业务逻辑层将用户输入的新通道名称写入到该文件中,形成如下格式的文件内容,并将其利用configtxgen指令和通道名称导出为channel.tx,该文件是一个二进制的创世区块生成指令;

业务名称、通道简介并非区块链配置所需的内容,而是为了方便用户进行通道管理而保留的字段,将被存储在数据库中,形成与通道名称相对应的记录;

(e)各区块链节点修改本地配置文件

上述区块链节点在获得channel.tx后,利用peerchannelcreate指令和channel.tx文件,生成channel.block文件,该文件也是一个二进制文件,是新通道的创世区块(第一个区块);

第一个区块链节点生成channel.block后,会将该文件传递给所有由channel.block指定的区块链节点(即用户输入的区块链节点),业务逻辑层随即分别对每个相关节点使用peerjoinchannel指令,加入目标通道;

(f)联盟区块链通道创建成功

当所有目标节点都完成上述指令并同步创世区块后,业务逻辑层将分别对每个节点使用peerchannellist指令,获取各节点加入的通道列表,如果检查到新通道存在于每一个相关节点的通道列表中,则向展现层返回创建通道成功;

参照图5所示为创建通道的可视化界面。

2、联盟区块链通道的数据获取和展现方法

(1)业务逻辑层定时获取区块内容

每10秒,业务逻辑层即从其对应的区块链节点中获取区块信息;

(2)区块信息固化到本地数据库

业务逻辑层针对新的区块信息,使用peerchannellist指令,检查是否有新的通道被创建,如果有,则将该信息存入数据库,同时,业务逻辑层将该通道的所有新区块内容读取并存入数据库,包括区块高度、参与节点数、运行合约数、事务数等;

(3)展现层对数据库内容进行渲染

展现层根据用户希望获取的内容,从区块链中取出相应的数据,并进行分类、统计、制表、作图等处理及可视化渲染,从而向用户展现。

参照图6为用户浏览区块链通道信息的可视化界面,通过右上角可选择并切换,从而查看不同通道的区块链信息内容。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1