基于区块链数据的非完全数据同步方法、系统及设备技术方案

技术编号:20680834 阅读:18 留言:0更新日期:2019-03-27 18:51
本发明专利技术涉及区块链技术领域,尤其涉及一种基于区块链数据的非完全数据同步方法、系统及设备,其中,所述方法包括:向目标节点请求同步目标区块;接收所请求的目标区块;若接收的节点为所述非完全节点,则将所述目标区块转发至所述完全节点;所述完全节点对所接收的目标区块进行验证,若通过验证,将所述目标区块分片并将获得的分片数据存储至业务链。本发明专利技术实施例达到了以下技术效果:解决了现有技术中存在的随着区块链数据量的不断增长,共享数据所耗费的时间不断增加,容易导致区块链网络拥堵及区块存储负担,从而达到了缩减共享周期,提高共享效率,节省存储数量,保证数据安全的目的。

【技术实现步骤摘要】
基于区块链数据的非完全数据同步方法、系统及设备
本专利技术涉及区块链
,尤其涉及一种基于区块链数据的非完全数据同步方法、系统及设备。
技术介绍
区块链技术也称为分布式账本技术,本质上是一种去中心化的分布式互联网数据库。采用区块链技术架构的网络可视为区块链网络,该区块链网络中包含多个区块链节点,任一区块链节点可对应至少一个区块链,任一区块链可包含至少一个区块。现有技术中,区块链应用可以分为两类:公有链:所有节点都可以参与共识、竞争记账权。公有链是面向大众,任何个体或者团体都可以读取、发送交易且交易能够获得该区块链的有效确认、参与共识的区块链。数据公开。其特点是:中立、开放、交易速度慢、需要“挖矿”或类似共识方法,常用P2P网络,抗审查性高。许可链:只有被许可的节点才能共识、竞争记账权并创建区块,包含私有链、联盟链、企业链等所有非公有链。数据可以公开或不公开。其中,私有链是指写入权限在一个组织手里的区块链;联盟链是指由几个人或者组织、公司、政府控制的区块链。许可链的特点是:交易速度快、不需要“挖矿”类的全网共识、交易成本低(交易只需几个许可节点验证即可);可审查,会占据商业应用领域的主流。具体地,业务数据上链(即被存储在区块链网络中)的过程包含三个阶段:1、受理阶段,可以理解为待上链的业务数据被区块链网络中的某一区块链节点接收到,并由该区块链节点受理该业务数据;2、共识阶段,可以理解为区块链节点在受理该业务数据之后,需要由区块链网络中的其他区块链节点参与对该业务数据进行共识处理,业务数据通过共识后,可以进入存储阶段;3、存储阶段,可以理解为区块链节点将共识通过的业务数据进行上链处理。区块链技术中的共识方法即共识算法是区块链网络中实现不同区块链节点之间建立信任、获取权益的重要方法。所谓共识方法,是通过特殊节点的投票,在很短的时间内完成对交易的验证和确认;对一笔交易,如果利益不相干的多个个节点能够达成共识,就可以认为全网对此也能够达成共识。区块链作为一种按时间顺序存储数据的数据结构,可支持不同的共识方法。在不同共识方法下,区块的生成过程会略有不同。但总体来说,各节点在处理接收到的区块信息后,交易过程大致都是按照如下流程:节点接收到多个交易信息,放入交易池中;节点从交易池中获取当前收到的交易信息,对交易进行排序并按顺序执行;执行完毕之后,节点生成完整区块,最终将其广播。区块链作为新兴技术,还有很多问题亟待完善,区块链协议面临着扩展性的障碍。区块链的扩展性问题大致分为两个方面:1、交易吞吐量和交易确认延迟的扩展性障碍;2、区块链全局账本数据存储瓶颈造成的扩展性障碍。以业务数据中区块上链这一业务请求为例,在共识阶段,任一区块链节点在接收到区块上链请求后,需要由区块链网络中其它所有区块链节点向全网广播自身对本次上链请求的签名,在通过共识后方可上链。在现有的已经使用区块链当中,不管是公有链,私有链还是联盟链,都是在一条链上处理交易的,考虑到区块链节点众多,当有共识需求时,容易导致区块链网络拥堵。比如:某公司有不同的机构,如把这些机构的业务都放在一条链上,会造成链上处理业务的压力增大,处理业务时间会变长,不利于业务的拓展。并且,在区块中需要存储全网所有区块链节点的签名,随着区块链上的节点不断增加,共享数据和共识所耗费的时间也会不断增加,这样给区块造成存储负担。区块链网络是一个基于分布式原理的网络系统,理论上来讲各网络节点上的内容是一致的,想获取区块链中的数据,只要从其中任意一个节点,或者本地节点获取即可。但是在实际的应用当中,本地节点可以自由配置当前本地节点的类型。例如,可以选择性地将本地节点配置为包含完整区块链数据的全记录节点(full-node),或包含部分区块链数据的非全记录节点(n-full-node)。本地存储哪些数据可以由当前本地节点类型及具体配置所决定,因此本地节点的区块链中不一定存有当前网络中完整区块链的所有数据。在本地节点配置为非全记录节点时,在进行数据同步时需要向所在区块链网络的其它节点获取所需的数据,当前现有的数据同步方法难以实现在上述场景中进行安全且高效的数据同步。因而,亟需找到一种新的区块链同步方案,以克服上述问题。
技术实现思路
针对现有技术的不足,本专利技术提供了一种基于区块链数据的非完全数据同步方法、系统及设备,解决了现有技术中存在的随着区块链数据量的不断增长,共享数据所耗费的时间不断增加,容易导致区块链网络拥堵及区块存储负担,从而达到了缩减共享周期,提高共享效率,节省存储数量,保证数据安全的目的,其具体方案如下:第一方面,本专利技术提供了一种基于区块链数据的非完全数据同步方法,所述区块链包括主链与多个业务链,所述业务链包含一个参与主链共识的完全节点与多个参与业务链共识的非完全节点,所述方法包括:向目标节点请求同步目标区块;接收所请求的目标区块;若接收的节点为所述非完全节点,则将所述目标区块转发至所述完全节点;所述完全节点对所接收的目标区块进行验证,若通过验证,将所述目标区块分片并将获得的分片数据广播至业务链以存储。优选地,所述完全节点对所接收的目标区块进行验证,包括:所述完全节点比较接收的所述目标区块的前置哈希与所述完全节点的最新区块的哈希是否一致,若一致,则所述完全节点将所述目标区块进行共识校验,若通过校验,则表明通过验证。优选地,向目标节点请求同步目标区块,包括:将所述主链划分为多个区块子链;向各所述区块子链的目标节点请求同步所述目标区块以获取各所述区块子链内的最新的目标区块。优选地,所述将所述目标区块分片之前,所述方法包括:若接收到至少两个目标区块,所述至少两个目标区块分别由不同的所述区块子链节点发送,且对应的上一目标区块相同,则根据所述至少两个目标区块中的变更时间排序将所述至少两个目标区块加入所述完全节点所在的区块链中。优选地,所述将所述目标区块分片,包括:将所述目标区块切分为一个或多个分片数据,并对所述一个或多个分片数据进行随机编码为相应的一个或多个目标分片数据。优选地,所述将获得的分片数据广播至业务链以存储,包括获取所述目标区块的哈希和各个目标分片数据的哈希,将所述目标区块的哈希和各个目标分片数据的哈希一起广播至业务链以存储。优选地,所述方法还包括:获取所述目标分片数据的哈希;根据所述目标分片数据的哈希查找对应的目标区块并获取对应的目标分片数据内容;将所述目标分片数据的哈希及所述目标分片数据内容存储至所述非完全节点所在的业务链。第二方面,本专利技术提供了一种区域共识系统,所述区块链包括主链与多个业务链,所述业务链包含一个参与主链共识的完全节点与多个参与业务链共识的非完全节点,所述系统包括:多个请求模块,用于向目标节点请求同步目标区块;接收模块,用于接收所请求的目标区块;调度模块,用于若接收的节点为所述非完全节点,则将所述目标区块转发至所述完全节点;处理模块,用于所述完全节点对所接收的目标区块进行验证,若通过验证,将所述目标区块分片并将获得的分片数据广播至业务链以存储。第三方面,本专利技术提供了一种区域共识设备,所述区块链包括主链与多个业务链,所述业务链包含一个参与主链共识的完全节点与多个参与业务链共识的非完全节点,所述设备包括:通信总线,用于实现处理器与存储器间的连接通信;存储器本文档来自技高网
...

【技术保护点】
1.一种基于区块链数据的非完全数据同步方法,所述区块链包括主链与多个业务链,其特征在于,所述业务链包含一个参与主链共识的完全节点与多个参与业务链共识的非完全节点,所述方法包括:向目标节点请求同步目标区块;接收所请求的目标区块;若接收的节点为所述非完全节点,则将所述目标区块转发至所述完全节点;所述完全节点对所接收的目标区块进行验证,若通过验证,将所述目标区块分片并将获得的分片数据广播至业务链以存储。

【技术特征摘要】
1.一种基于区块链数据的非完全数据同步方法,所述区块链包括主链与多个业务链,其特征在于,所述业务链包含一个参与主链共识的完全节点与多个参与业务链共识的非完全节点,所述方法包括:向目标节点请求同步目标区块;接收所请求的目标区块;若接收的节点为所述非完全节点,则将所述目标区块转发至所述完全节点;所述完全节点对所接收的目标区块进行验证,若通过验证,将所述目标区块分片并将获得的分片数据广播至业务链以存储。2.根据权利要求1所述的方法,其特征在于,所述完全节点对所接收的目标区块进行验证包括:所述完全节点比较接收的所述目标区块的前置哈希与所述完全节点的最新区块的哈希是否一致,若一致,则所述完全节点将所述目标区块进行共识校验,若通过校验,则表明通过验证。3.根据权利要求2所述的方法,其特征在于,所述向目标节点请求同步目标区块包括:将所述主链划分为多个区块子链;向各所述区块子链的目标节点请求同步所述目标区块以获取各所述区块子链内的最新的目标区块。4.根据权利要求3所述的方法,其特征在于,将所述目标区块分片之前,所述方法还包括:若接收到至少两个目标区块,所述至少两个目标区块分别由不同的所述区块子链节点发送,且对应的上一目标区块相同,则根据所述至少两个目标区块中的变更时间排序将所述至少两个目标区块加入所述完全节点所在的区块链中。5.根据权利要求1所述的方法,其特征在于,将所述目标区块分片包括:将所述目标区块切分为一个或多个分片数据,并对所述一个或多个分片数据进行随机编码为相应的一个或多个目标分片数据。6.根据权利要求1-5任一项所述的方法,其特征在于,所述将获得的分片数据广播至业务链以存储包括:获取所...

【专利技术属性】
技术研发人员:赵荣李斌张勇
申请(专利权)人:北京瑞卓喜投科技发展有限公司
类型:发明
国别省市:北京,11

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

1