一种同步处理方法、装置、设备及介质制造方法及图纸

技术编号:24995843 阅读:22 留言:0更新日期:2020-07-24 17:58
本申请实施例提供一种同步处理方法、装置、设备及介质,该方法由区块链网络中的第一节点设备执行,区块链网络还包括第二节点设备,第一节点设备与第二节点设备相连接,该方法包括:获取目标骨架,目标骨架包括N个数据单元,N个数据单元用于存储第一节点设备待同步的N个区块,N个区块与N个数据单元一一对应,N为正整数;获取目标骨架对应的校验数据;当接收到第二节点设备同步的N个区块时,采用校验数据对N个区块进行验证;若验证成功,将N个区块填充至目标骨架的N个数据单元中。本申请可有效提升可有效提高同步处理效率和对区块的验证效率。

【技术实现步骤摘要】
一种同步处理方法、装置、设备及介质
本专利技术涉及区块链
,具体涉及基于区块链的数据处理领域,尤其涉及一种同步处理方法、一种同步处理装置、一种同步处理设备及一种计算机存储介质。
技术介绍
现有技术中,当区块链网络中的某个节点设备在进行区块链的同步处理时,会从区块链网络中的其他节点设备(如共识节点设备或同步节点设备)处逐个逐个地获取所需的区块,再针对逐个获取的区块进行逐个校验,这样的校验太过繁琐,同步效率较低。
技术实现思路
本申请实施例提供一种同步处理方法、装置、设备及介质,可有效提升同步处理效率和对区块的验证效率。一方面,本申请实施例提供一种同步处理方法,该方法由区块链网络中的第一节点设备执行,区块链网络还包括第二节点设备,第一节点设备与第二节点设备相连接,该方法包括:获取目标骨架,目标骨架包括N个数据单元,N个数据单元用于存储第一节点设备待同步的N个区块,N个区块与N个数据单元一一对应,N为正整数;获取目标骨架对应的校验数据;当接收到第二节点设备同步的N个区块时,采用校验数据对N个区块进行验证;若验证成功,将N个区块填充至目标骨架的N个数据单元中。一方面,本申请实施例提供一种同步处理装置,该同步处理装置设于区块链网络中的第一节点设备中,区块链网络还包括第二节点设备,第一节点设备与第二节点设备相连接,该同步处理装置包括:获取单元,用于获取目标骨架,目标骨架包括N个数据单元,N个数据单元用于存储第一节点设备待同步的N个区块,N个区块与N个数据单元一一对应,N为正整数;以及用于获取目标骨架对应的校验数据;处理单元,用于当接收到第二节点设备同步的N个区块时,采用校验数据对N个区块进行验证;若验证成功,将N个区块填充至目标骨架的N个数据单元中。在一种实施方式中,该获取单元具体用于:确定N个区块中的第一个区块在区块链网络中的参考区块链上所对应的参考区块,以及N个区块中的最后一个区块在参考区块链上所对应的关键区块;获取参考区块的哈希值和关键区块的哈希值;向第二节点设备发送查询请求,查询请求中包括参考区块的哈希值和关键区块的哈希值;查询请求用于请求第二节点设备根据参考区块的哈希值和关键区块的哈希值查询第二节点设备中是否存储有N个区块;若接收到第二节点设备的查询成功响应,向第二节点设备发送目标同步任务,目标同步任务用于指示第二节点设备返回N个区块。在一种实施方式中,校验数据是参考区块的哈希值;该处理单元具体用于:获取第二节点设备所同步的N个区块中的第一个区块的待验哈希值;若待验哈希值与参考区块的哈希值相同,则根据参考区块的哈希值检测N个区块是否连续;若连续,则确认N个区块验证成功。在一种实施方式中,校验数据是参考区块的父区块的哈希值;该处理单元具体用于:获取第二节点设备所同步的N个区块中的第一个区块的待验哈希值;根据待验哈希值与参考区块的父区块的哈希值验证第一个区块与参考区块的父区块是否具备父子关系;若具备父子关系,则根据待验哈希值检测N个区块是否连续;若连续,则确认N个区块验证成功。在一种实施方式中,该获取单元具体用于:获取区块链网络中的参考区块链的区块高度,以及获取第一节点设备本地存储的第一区块链的区块高度;将参考区块链的区块高度与第一区块链的区块高度之间的N个区块确定为第一节点设备待同步的区块;根据N个区块构建目标骨架。在一种实施方式中,区块链网络中包括备选节点集,备选节点集中包含多个与第一节点设备相连接的备选节点设备,第二节点设备是从备选节点集中选择的任一个备选节点设备;该处理单元还用于:若验证失败,重新从备选节点集中选择一个备选节点设备确定为第二节点设备。在一种实施方式中,该获取单元还用于:若对备选节点集中所有备选节点设备返回的区块均验证失败,则重新获取目标骨架对应的校验数据;或者重新获取新的目标骨架。在一种实施方式中,该处理单元还用于:从目标骨架中读取N个数据单元按序存储的N个区块,并将读取的N个区块添加至第一节点设备本地存储的第一区块链上。一方面,本申请实施例提供一种同步处理设备,该同步处理设备是区块链网络中的第一节点设备,区块链网络还包括第二节点设备,第一节点设备与第二节点设备相连接,该同步处理设备包括输入设备和输出设备,还包括:处理器,适于实现一条或多条指令;以及,计算机存储介质,计算机存储介质存储有一条或多条指令,一条或多条适于由处理器加载并执行上述的同步处理方法。一方面,本申请实施例提供一种计算机存储介质,计算机存储介质存储有一条或多条指令,一条或多条指令适于由处理器加载并执行上述的同步处理方法。本申请实施例中,第一节点设备在进行同步处理时,获取目标骨架及目标骨架对应的校验数据,当接收到第二节点设备所同步的该目标骨架所需的N个区块,由第一节点设备采用目标骨架对应的校验数据对该N个区块进行验证,并在验证成功之后将该N个区块填充至目标骨架中从而完成该N个区块的同步。通过这种骨架填充的同步处理方式,基于一个骨架对应的一个同步任务,可以一次性同步多个区块,有效地提高了同步处理效率;并且,针对同步获得的区块,采用骨架对应的校验数据进行快速校验,提升了校验效率,进一步提升了同步处理的效率。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1示出了本申请一个示例性实施例提供的区块链的基础架构图;图2示出了本申请一个示例性实施例提供的区块链的结构示意图;图3示出了本申请一个示例性实施例提供的一种区块链网络的架构示意图;图4示出了本申请一个示例性实施例提供的一种骨架的结构示意图;图5示出了本申请一个示例性实施例提供的一种同步处理方法的流程图;图6示出了本申请另一个示例性实施例提供的一种同步处理方法的流程图;图7示出了本申请一个示例性实施例提供的一种同步处理装置的结构示意图;图8示出了本申请一个示例性实施例提供的一种同步处理设备的结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本申请实施例涉及区块链技术。区块链是指一套去中心化、具备分布式存储特点的基础架构,具体是一种按照时间顺序将数据区块用类似链表的方式组成的数据结构,能够安全存储有先后关系的、能在系统内进行验证的数据,并以密码本文档来自技高网...

【技术保护点】
1.一种同步处理方法,其特征在于,所述方法由区块链网络中的第一节点设备执行,所述区块链网络还包括第二节点设备,所述第一节点设备与所述第二节点设备相连接,所述方法包括:/n获取目标骨架,所述目标骨架包括N个数据单元,所述N个数据单元用于存储所述第一节点设备待同步的N个区块,所述N个区块与所述N个数据单元一一对应,N为正整数;/n获取所述目标骨架对应的校验数据;/n当接收到所述第二节点设备同步的所述N个区块时,采用所述校验数据对所述N个区块进行验证;/n若验证成功,将所述N个区块填充至所述目标骨架的N个数据单元中。/n

【技术特征摘要】
1.一种同步处理方法,其特征在于,所述方法由区块链网络中的第一节点设备执行,所述区块链网络还包括第二节点设备,所述第一节点设备与所述第二节点设备相连接,所述方法包括:
获取目标骨架,所述目标骨架包括N个数据单元,所述N个数据单元用于存储所述第一节点设备待同步的N个区块,所述N个区块与所述N个数据单元一一对应,N为正整数;
获取所述目标骨架对应的校验数据;
当接收到所述第二节点设备同步的所述N个区块时,采用所述校验数据对所述N个区块进行验证;
若验证成功,将所述N个区块填充至所述目标骨架的N个数据单元中。


2.如权利要求1所述的方法,其特征在于,所述目标骨架中的N个数据单元按序排列,所述N个区块是所述区块链网络中的连续区块;
所述N个数据单元中的第i个数据单元用于存储所述N个区块中的第i个区块;i为正整数且1≤i≤N。


3.如权利要求2所述的方法,其特征在于,所述方法还包括:
确定所述N个区块中的第一个区块在所述区块链网络中的参考区块链上所对应的参考区块,以及所述N个区块中的最后一个区块在所述参考区块链上所对应的关键区块;
获取所述参考区块的哈希值和所述关键区块的哈希值;
向所述第二节点设备发送查询请求,所述查询请求中包括所述参考区块的哈希值和所述关键区块的哈希值;所述查询请求用于请求所述第二节点设备根据所述参考区块的哈希值和所述关键区块的哈希值查询所述第二节点设备中是否存储有所述N个区块;
若接收到所述第二节点设备的查询成功响应,向所述第二节点设备发送目标同步任务,所述目标同步任务用于指示所述第二节点设备返回所述N个区块。


4.如权利要求3所述的方法,其特征在于,所述校验数据是所述参考区块的哈希值;所述采用所述校验数据对所述N个区块进行验证,包括:
获取所述第二节点设备所同步的所述N个区块中的第一个区块的待验哈希值;
若所述待验哈希值与所述参考区块的哈希值相同,则根据所述参考区块的哈希值检测所述N个区块是否连续;
若连续,则确认所述N个区块验证成功。


5.如权利要求3所述的方法,其特征在于,所述校验数据是所述参考区块的父区块的哈希值;所述采用所述校验数据对所述N个区块进行验证,包括:
获取所述第二节点设备所同步的所述N个区块中的第一个区块的待验哈希值;
根据所述待验哈希值与所述参考区块的父区块的哈希值验证所述第一个区块与所述参考区块的父区块是否具备父子关系;
若具备父子关系,则根据所述待验哈希值检测所述N个区块是否连续;
若连续,则确认所述N个区块验证成功。


6.如...

【专利技术属性】
技术研发人员:李茂材王宗友张劲松周开班时一防黄焕坤刘区城刘攀蓝虎杨常青朱耿良孔利
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

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

1