区块链节点的账本处理方法、装置、服务器及存储介质制造方法及图纸

技术编号:23852038 阅读:24 留言:0更新日期:2020-04-18 09:09
本发明专利技术实施例涉及一种区块链节点的账本处理方法、装置、服务器及存储介质,包括:第一节点按照区块高度从多个第二节点中确定目标节点;根据账本数据类型从所述目标节点获取所述账本数据类型对应的缺失数据;将所述缺失数据按照所述账本数据类型存储于所述第一节点的数据库中以完成所述第一节点的账本更新,采用KV数据而非账本交易作为拉取数据,减少账本交易转换为KV数据的时间,以及根据目标节点反馈的第二KV数据的存储形式即可对缺失数据进行存储,不必再按照账本交易的序列重新执行存储,缩短了账本更新的时间,提高效率,使存在账本缺失的节点可快速加入共识网络中的共识流程。

Account book processing methods, devices, servers and storage media of blockchain nodes

【技术实现步骤摘要】
区块链节点的账本处理方法、装置、服务器及存储介质
本专利技术实施例涉及区块链
,尤其涉及一种区块链节点的账本处理方法、装置、服务器及存储介质。
技术介绍
分布式账本系统(DistributedledgerSystem,DLS),又称共识网络和/或区块链网络,每个节点都保存着一份完整的账本。由于网络或者其他原因经常会出现某些节点异常退出的情况,导致某时间段内退出节点的账本没法更新,当节点恢复时如果想重新参与共识首先需要与其他正常节点进行账本数据同步,以保证分布式节点的数据一致性。在区块链系统中,目前区块链节点实现账本数据同步采用的方式是状态机复制,需要进行账本数据同步的节点将缺失的账本区块数据按照顺序重新执行,将其转换为KV数据的格式存储于数据库。然而,采用状态机复制对账本缺失节点进行数据更新时,每次都需要按照账本数据序列重新顺序执行,转换存储格式,当共识网络的存在较多账本缺失节点时,状态机复制的方式耗时长、效率低下。
技术实现思路
鉴于此,为解决上述技术问题或部分技术问题,本专利技术实施例提供一种区块链节点的账本处理方法、装置、服务器及存储介质。第一方面,本专利技术实施例提供一种区块链节点的账本处理方法,包括:第一节点按照区块高度从多个第二节点中确定目标节点;根据账本数据类型从所述目标节点获取所述账本数据类型对应的缺失数据;将所述缺失数据按照所述账本数据类型存储于所述第一节点的数据库中以完成所述第一节点的账本更新。在一个可能的实施方式中,所述第一节点按照区块高度从多个第二节点中确定目标节点,包括:所述共识网络的任一节点,采用广播的形式向所述共识网络中的其余节点发送广播消息,以使所述其余节点响应于所述广播消息向所述任一节点返回所述广播消息中账本数据类型标识对应的当前区块高度;所述任一节点基于所述前区块高度与本地区块高度进行比对;若所述本地区块高度小于所述前区块高度,则将所述任一节点作为第一节点;若所述本地区块高度等于所述前区块高度,则所述任一节点与所述其余节点均为正常节点;若所述本地区块高度大于所述前区块高度,则将所述其余节点作为第一节点;其中,所述第一节点处于区块链的共识网络中状态为账本缺失。在一个可能的实施方式中,所述根据账本数据类型从所述目标节点获取所述账本数据类型对应的缺失数据,包括:根据所述第一节点的本地区块高度与所述目标节点的当前区块高度,确定待拉取缺失数据的目标区块;所述第一节点根据所述账本数据类型从目标区块中读取对应账本数据类型的根哈希值;所述第一节点将所述根哈希值发送给所述第二节点,以使所述第二节点响应于所述根哈希值向所述第一节点返回所述根哈希值对应节点树中存储的第二KV数据;将所述第二KV数据作为所述目标区块的缺失数据。在一个可能的实施方式中,所述方法还包括:在账本更新后,从所述第一节点中的节点树中获取第三KV数据;判断所述第三KV数据与所述第二KV数据是否相同;若所述第三KV数据与所述第二KV数据相同,则确定所述第一节点账本更新成功;若所述第三KV数据与所述第二KV数据不相同,则确定所述第一节点账本更新失败。在一个可能的实施方式中,所述方法还包括:若所述第一节点账本更新失败,则基于所述第三KV数据与所述第二KV数据重新确定所述缺失数据,以基于所述缺失数据重新对所述第一节点执行所述账本更新的操作。在一个可能的实施方式中,所述方法还包括:若所述第一节点账本更新成功,则将区块链的共识网络中所述第一节点的状态变更为正常,以使所述第一节点重新加入所述共识网络中的共识流程。在一个可能的实施方式中,所述节点树包括:默克尔树。第二方面,本专利技术实施例提供一种区块链节点的账本处理装置,包括:确定模块,用于按照区块高度从多个第二节点中确定目标节点;获取模块,用于根据账本数据类型从所述目标节点获取所述账本数据类型对应的缺失数据;更新模块,用于将所述缺失数据按照所述账本数据类型存储于所述第一节点的数据库中以完成所述第一节点的账本更新。第三方面,本专利技术实施例提供一种服务器,包括:处理器和存储器,所述处理器用于执行所述存储器中存储的区块链节点的账本处理程序,以实现上述第一方面中任一项所述的区块链节点的账本处理方法。第四方面,本专利技术实施例提供一种存储介质,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述第一方面中任一项所述的区块链节点的账本处理方法。本专利技术实施例提供的区块链节点的账本处理方案,通过第一节点按照区块高度从多个第二节点中确定目标节点;根据账本数据类型从所述目标节点获取所述账本数据类型对应的缺失数据;将所述缺失数据按照所述账本数据类型存储于所述第一节点的数据库中以完成所述第一节点的账本更新,根据账本数据类型向账本正常的目标节点中该账本对应默克尔树中的所有KV数据,第一节点根据本地当前的KV数据与第二节点中的KV数据拉取缺失数据,并将该缺失数据按照第二节点中KV数据的存储顺序存储于本地的KV数据库中,采用KV数据而非账本交易数据作为拉取数据,减少账本交易数据转换为KV数据的时间,以及根据目标节点反馈的第二KV数据的存储形式即可对缺失数据进行存储,不必再按照账本交易的序列重新执行存储,缩短了账本更新的时间,提高效率,使存在账本缺失的节点可快速加入共识网络中的共识流程。附图说明图1为本专利技术实施例提供的一种区块链节点的账本处理方法的流程示意图;图2为本专利技术实施例涉及的第一节点按照区块高度从多个第二节点中确定目标节点的流程示意图;图3为本专利技术实施例涉及的根据账本数据类型从所述目标节点获取所述账本数据类型对应的缺失数据的流程示意图;图4为本专利技术实施例涉及的对更新后的账本数据进行验证的流程示意图;图5为本专利技术实施例提供一种区块链节点的账本处理装置的结构示意图;图6为本专利技术实施例提供的一种服务器的结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。为便于对本专利技术实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本专利技术实施例的限定。图1为本专利技术实施例提供的一种区块链节点的账本处理方法的流程示意图,如图1所示,该方法具体包括:S11、第一节点按照区块高度从多个第二节点中确定目标节点。本专利技术实施例提供的区块链节点的账本处理方法应用于分布式账本系统中,账本缺失的节点(本实施例称为:第一节点)从正常的节点(本实施例中称为:目标节本文档来自技高网...

【技术保护点】
1.一种区块链节点的账本处理方法,其特征在于,包括:/n第一节点按照区块高度从多个第二节点中确定目标节点;/n根据账本数据类型从所述目标节点获取所述账本数据类型对应的缺失数据;/n将所述缺失数据按照所述账本数据类型存储于所述第一节点的数据库中以完成所述第一节点的账本更新。/n

【技术特征摘要】
1.一种区块链节点的账本处理方法,其特征在于,包括:
第一节点按照区块高度从多个第二节点中确定目标节点;
根据账本数据类型从所述目标节点获取所述账本数据类型对应的缺失数据;
将所述缺失数据按照所述账本数据类型存储于所述第一节点的数据库中以完成所述第一节点的账本更新。


2.根据权利要求1所述的方法,其特征在于,所述第一节点按照区块高度从多个第二节点中确定目标节点,包括:
所述共识网络的任一节点,采用广播的形式向所述共识网络中的其余节点发送广播消息,以使所述其余节点响应于所述广播消息向所述任一节点返回所述广播消息中账本数据类型标识对应的当前区块高度;
所述任一节点基于所述前区块高度与本地区块高度进行比对;
若所述本地区块高度小于所述前区块高度,则将所述任一节点作为第一节点;
若所述本地区块高度等于所述前区块高度,则所述任一节点与所述其余节点均为正常节点;
若所述本地区块高度大于所述前区块高度,则将所述其余节点作为第一节点;
其中,所述第一节点处于区块链的共识网络中状态为账本缺失。


3.根据权利要求1所述的方法,其特征在于,所述根据账本数据类型从所述目标节点获取所述账本数据类型对应的缺失数据,包括:
根据所述第一节点的本地区块高度与所述目标节点的当前区块高度,确定待拉取缺失数据的目标区块,所述第一节点中未缺失数据的区块存储有第一KV数据;
所述第一节点根据所述账本数据类型从目标区块中读取对应账本数据类型的根哈希值;
所述第一节点将所述根哈希值发送给所述第二节点,以使所述第二节点响应于所述根哈希值向所述第一节点返回所述根哈希值对应节点树中存储的第二KV数据;
将所述第二KV数据作为所述目标区块的缺失数据。


4.根据权利要求3所述的方法,其特征在...

【专利技术属性】
技术研发人员:张爽
申请(专利权)人:北京海益同展信息科技有限公司
类型:发明
国别省市:北京;11

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

1