[发明专利]区块链节点的账本处理方法、装置、服务器及存储介质有效
申请号: | 201911040924.3 | 申请日: | 2019-10-29 |
公开(公告)号: | CN111026770B | 公开(公告)日: | 2023-08-04 |
发明(设计)人: | 张爽 | 申请(专利权)人: | 京东科技信息技术有限公司 |
主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F16/27;G06Q40/04 |
代理公司: | 北京华夏泰和知识产权代理有限公司 11662 | 代理人: | 邵淑双 |
地址: | 100176 北京市大兴区北京经*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 区块 节点 账本 处理 方法 装置 服务器 存储 介质 | ||
本发明实施例涉及一种区块链节点的账本处理方法、装置、服务器及存储介质,包括:第一节点按照区块高度从多个第二节点中确定目标节点;根据账本数据类型从所述目标节点获取所述账本数据类型对应的缺失数据;将所述缺失数据按照所述账本数据类型存储于所述第一节点的数据库中以完成所述第一节点的账本更新,采用KV数据而非账本交易作为拉取数据,减少账本交易转换为KV数据的时间,以及根据目标节点反馈的第二KV数据的存储形式即可对缺失数据进行存储,不必再按照账本交易的序列重新执行存储,缩短了账本更新的时间,提高效率,使存在账本缺失的节点可快速加入共识网络中的共识流程。
技术领域
本发明实施例涉及区块链技术领域,尤其涉及一种区块链节点的账本处理方法、装置、服务器及存储介质。
背景技术
分布式账本系统(Distributed ledger System,DLS),又称共识网络和/或区块链网络,每个节点都保存着一份完整的账本。由于网络或者其他原因经常会出现某些节点异常退出的情况,导致某时间段内退出节点的账本没法更新,当节点恢复时如果想重新参与共识首先需要与其他正常节点进行账本数据同步,以保证分布式节点的数据一致性。
在区块链系统中,目前区块链节点实现账本数据同步采用的方式是状态机复制,需要进行账本数据同步的节点将缺失的账本区块数据按照顺序重新执行,将其转换为KV数据的格式存储于数据库。
然而,采用状态机复制对账本缺失节点进行数据更新时,每次都需要按照账本数据序列重新顺序执行,转换存储格式,当共识网络的存在较多账本缺失节点时,状态机复制的方式耗时长、效率低下。
发明内容
鉴于此,为解决上述技术问题或部分技术问题,本发明实施例提供一种区块链节点的账本处理方法、装置、服务器及存储介质。
第一方面,本发明实施例提供一种区块链节点的账本处理方法,包括:
第一节点按照区块高度从多个第二节点中确定目标节点;
根据账本数据类型从所述目标节点获取所述账本数据类型对应的缺失数据;
将所述缺失数据按照所述账本数据类型存储于所述第一节点的数据库中以完成所述第一节点的账本更新。
在一个可能的实施方式中,所述第一节点按照区块高度从多个第二节点中确定目标节点,包括:
所述共识网络的任一节点,采用广播的形式向所述共识网络中的其余节点发送广播消息,以使所述其余节点响应于所述广播消息向所述任一节点返回所述广播消息中账本数据类型标识对应的当前区块高度;
所述任一节点基于所述前区块高度与本地区块高度进行比对;
若所述本地区块高度小于所述前区块高度,则将所述任一节点作为第一节点;
若所述本地区块高度等于所述前区块高度,则所述任一节点与所述其余节点均为正常节点;
若所述本地区块高度大于所述前区块高度,则将所述其余节点作为第一节点;
其中,所述第一节点处于区块链的共识网络中状态为账本缺失。
在一个可能的实施方式中,所述根据账本数据类型从所述目标节点获取所述账本数据类型对应的缺失数据,包括:
根据所述第一节点的本地区块高度与所述目标节点的当前区块高度,确定待拉取缺失数据的目标区块;
所述第一节点根据所述账本数据类型从目标区块中读取对应账本数据类型的根哈希值;
所述第一节点将所述根哈希值发送给所述第二节点,以使所述第二节点响应于所述根哈希值向所述第一节点返回所述根哈希值对应节点树中存储的第二KV数据;
将所述第二KV数据作为所述目标区块的缺失数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于京东科技信息技术有限公司,未经京东科技信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911040924.3/2.html,转载请声明来源钻瓜专利网。