基于联盟链的区块链数据服务系统、访问方法及存储介质技术方案

技术编号:25185168 阅读:19 留言:0更新日期:2020-08-07 21:13
本发明专利技术公开了基于联盟链的区块链数据服务系统、访问方法及存储介质,所述系统包括网络服务节点,所述网络服务节点用于接收来自轻量级节点的数据请求;轻量级节点,所述轻量级节点用于向所述网络服务节点发出数据请求,以便于获取到来自目标全节点中的区块链数据;数据查询节点,所述数据查询节点用于与网络服务节点通信以获取到数据请求,将所述数据请求基于负载均衡策略分发至目标全节点;所述目标全节点为联盟链中的一个全节点;全节点,所述全节点为布设于联盟链中的保存有完备区块链数据账本的数据节点。本发明专利技术支持轻量级节点并发访问并为其提供强有力的事务支持,对全节点进行负载均衡,将原本孤立存储的区块链数据高效便捷的共享给用户。

【技术实现步骤摘要】
基于联盟链的区块链数据服务系统、访问方法及存储介质
本专利技术涉及区块链领域,尤其涉及基于联盟链的区块链数据服务系统、访问方法及存储介质。
技术介绍
区块链是实现智慧城市、智慧医疗、电子政务等的核心前沿技术,具有可追溯性、可验证性特点。众所周知,区块链目前是以一种分布式账本的形式来组织和管理数据,每一个节点都有一份完整的账本拷贝,节点之间互不信任,通过分布式一致性协议来维护数据一致性。为了防止数据被篡改,区块链综合运用了多种网络安全技术并采用了仅增加式的数据结构,这导致了维护完整的区块链数据将产生较高的计算需求并需要处理不断增长的数据的能力。这些问题导致很多存储和计算能力差的节点(轻量级节点)无法自行维护完整的区块链数据,轻量级节点只存储少量的区块链数据,甚至有的轻量级节点并没有存储区块链数据,因此轻量级节点的数据需求只能依托于与拥有维护完整区块链数据能力的全节点的交互来满足。然而在现有的区块链系统中,在处理大量轻量级节点的数据请求上,主要存在以下两方面的不足:1.没有公开的数据服务系统,轻量级节点无法在全网(区块链运行的网络)范围内选择合适的全节点发送请求,这导致了部分全节点访问压力过大,网络负载不均衡。与分布式数据库不同,公链上不设置节点管理机制,而联盟链系统上也仅添加了身份认证机制,因此均无法直接建立数据服务系统。2.区块链缺乏有效的数据存储和事务管理机制,导致其数据可搜索性差且不支持并发访问。区块链采用Leveldb和文件系统管理底层数据,无法支持并发事务,而且仅支持对应特定键值的等值检索和粗粒度检索,对于数据处理的支持能力较弱。综上所述,现有技术中没有能够支持具备高可信赖度,能够在进行全节点数据访问时进行负载均衡,并且提供支持并发访问细粒度数据查询的基于区块链的数据服务系统,在区块链系统上实现方便、高效的数据服务已经成为一个具有挑战力的问题。当然,为了增强对于区块链数据访问的支持,现有技术也做出了努力,目前现有的一些方案主要包括两个:1.基于vChain,在以太坊平台基础上,加入可验证查询结构,使得查询结果可以的正确性能够判断。但是该方法中轻量级节点只能自行寻找数据存储节点进行访问,数据服务效率和网络负载均衡难以保障。2.基于BlockchainDB,在数据节点上建立查询层来屏蔽区块链底层的数据操作,使数据操作更为方便快捷。但是,这种方法需要信任某个区块链节点的数据操作。此外,上述两个方案均不支持并发和SQL查询。
技术实现思路
本专利技术实施例提供基于联盟链的区块链数据服务系统、访问方法及存储介质,具体地:一种基于联盟链的区块链数据服务系统,所述系统包括:网络服务节点,所述网络服务节点用于接收来自轻量级节点的数据请求;轻量级节点,所述轻量级节点用于向所述网络服务节点发出数据请求,以便于获取到来自目标全节点中的区块链数据;数据查询节点,所述数据查询节点用于与所述网络服务节点通信以获取到数据请求,将所述数据请求基于负载均衡策略分发至目标全节点;所述目标全节点为联盟链中的一个全节点;全节点,所述全节点为布设于联盟链中的保存有完备区块链数据账本的数据节点。优选的,所述数据查询节点布设在联盟链内部或外部,所述数据查询节点维护服务节点注册表,所述注册表记录有能够对外提供数据查询服务的全节点信息;所述全节点布设于联盟链的peer节点,全节点与数据查询节点通信连接,发送其自身的节点信息至数据查询节点,以使得所述节点信息被录入服务节点注册表后,能够响应于数据查询节点分发的数据请求,向所述数据请求指向的轻量级节点返回数据响应。优选的,在所述网络服务节点与所述数据查询节点之间设立查询通道,所述网络服务节点将获取到的数据请求逐条整理加入查询通道,所述数据查询节点在所述查询通道中提取数据请求进行分发。一种数据访问方法,所述数据访问方法基于所述的数据服务系统实施,所述方法包括:轻量级节点向网络服务节点发送数据服务请求;所述网络服务节点获取到数据服务请求,按照时序将所述数据服务请求加入查询通道;数据查询节点在所述查询通道中提取数据服务请求,基于负载均衡策略确定所述数据服务请求指向的目标全节点,所述负载均衡策略基于所述数据查询节点中的服务注册表实施,所述服务注册表记录有当前能够响应数据服务请求的全节点的相关信息;所述目标全节点验证所述数据服务请求,若验证通过,则生成数据响应,将所述数据响应传输至所述轻量级节点。优选的,所述数据服务请求包括轻量级节点身份信息,标记地址,数据请求语句和数据请求标识;所述轻量级节点身份信息用于标识所述轻量级节点的身份;所述标记地址为用于接收所述数据响应的地址;所述数据请求语句为目标全节点需要执行的数据请求语句;所述数据请求标识用于标记所述数据服务请求,以用于对历次数据服务请求进行区分,相应的,响应所述数据服务请求的数据响应也携带有所述数据请求标识,以便于所述轻量级节点确定数据服务请求与数据响应之间的映射关系。优选的,所述数据响应包括数据请求标识、数据处理结果、目标全节点数据状态标记和目标全节点身份信息;所述数据请求标识来自于所述数据服务请求;所述数据处理结果为所述目标全节点响应所述数据服务请求进行数据处理所产生的结果;所述目标全节点数据状态标记用于标记生成所述数据响应的目标全节点的数据状态;所述目标全节点身份信息用于标识所述目标全节点的身份。优选的,还包括:根据各个相同的数据查询请求的数据请求标识得到其对应的数据响应;比较各个数据响应,确定目标数据响应。优选的,所述比较各个数据响应,确定目标数据响应,包括:若不同的数据响应携带不同的目标全节点身份信息,但是却携带相同的数据处理结果,则将任一数据处理结果确定为目标数据响应;若不同的数据响应携带相同的目标全节点身份信息,但是却携带不同的数据处理结果,则携带所述目标全节点身份信息的数据响应均不能够被确定为目标数据结果。优选的,还包括,对于全节点进行改进,包括:为全节点构建底层关系型数据库,所述底层关系型数据库包括第一数据库和第二数据库,所述第一数据库用于管理第一关系型数据,所述第一关系型数据由交易区块链数据转换得到;所述交易区块链数据为以交易作为数据组织基准得到的区块链数据,所述第二关系型数据由用户区块链数据转换得到;所述用户区块链数据为以用户作为数据组织基准得到的区块链数据。一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现一种数据访问方法。本专利技术提供了基于联盟链的区块链数据服务系统、访问方法及存储介质,实现了高效便捷的区块链数据服务公开机制,通过为全节点构建支持事务处理和细粒度查询的底层数据库,使得所述数据服务系统可以支持轻量级节点的并发访问,并且能够对全节点进行负载均衡。数据服务系统的构建,为数据本文档来自技高网
...

【技术保护点】
1.一种基于联盟链的区块链数据服务系统,其特征在于,所述系统包括:/n网络服务节点,所述网络服务节点用于接收来自轻量级节点的数据请求;/n轻量级节点,所述轻量级节点用于向所述网络服务节点发出数据请求,以便于获取到来自目标全节点中的区块链数据;/n数据查询节点,所述数据查询节点用于与所述网络服务节点通信以获取到数据请求,将所述数据请求基于负载均衡策略分发至目标全节点;所述目标全节点为联盟链中的一个全节点;/n全节点,所述全节点为布设于联盟链中的保存有完备区块链数据账本的数据节点。/n

【技术特征摘要】
1.一种基于联盟链的区块链数据服务系统,其特征在于,所述系统包括:
网络服务节点,所述网络服务节点用于接收来自轻量级节点的数据请求;
轻量级节点,所述轻量级节点用于向所述网络服务节点发出数据请求,以便于获取到来自目标全节点中的区块链数据;
数据查询节点,所述数据查询节点用于与所述网络服务节点通信以获取到数据请求,将所述数据请求基于负载均衡策略分发至目标全节点;所述目标全节点为联盟链中的一个全节点;
全节点,所述全节点为布设于联盟链中的保存有完备区块链数据账本的数据节点。


2.根据权利要求1所述的系统,其特征在于:
所述数据查询节点布设在联盟链内部或外部,所述数据查询节点维护服务节点注册表,所述注册表记录有能够对外提供数据查询服务的全节点信息;
所述全节点布设于联盟链的peer节点,全节点与数据查询节点通信连接,发送其自身的节点信息至数据查询节点,以使得所述节点信息被录入服务节点注册表后,能够响应于数据查询节点分发的数据请求,向所述数据请求指向的轻量级节点返回数据响应。


3.根据权利要求2所述的系统,其特征在于:
在所述网络服务节点与所述数据查询节点之间设立查询通道,所述网络服务节点将获取到的数据请求逐条整理加入查询通道,所述数据查询节点在所述查询通道中提取数据请求进行分发。


4.一种数据访问方法,所述数据访问方法基于权利要求1中所述的数据服务系统实施,其特征在于,所述方法包括:
轻量级节点向网络服务节点发送数据服务请求;
所述网络服务节点获取到数据服务请求,按照时序将所述数据服务请求加入查询通道;
数据查询节点在所述查询通道中提取数据服务请求,基于负载均衡策略确定所述数据服务请求指向的目标全节点,所述负载均衡策略基于所述数据查询节点中的服务注册表实施,所述服务注册表记录有当前能够响应数据服务请求的全节点的相关信息;
所述目标全节点验证所述数据服务请求,若验证通过,则生成数据响应,将所述数据响应传输至所述轻量级节点。


5.根据权利要求4所述的方法,其特征在于:
所述数据服务请求包括轻量级节点身份信息,标记地址,数据请求语句和数据请求标识;
所述轻量级节点身份信息用于标识所述轻量级节点的身份;<...

【专利技术属性】
技术研发人员:崔江涛周玉舒王玉超彭延国
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1