一种区块链的数据存储方法、装置、设备和介质制造方法及图纸

技术编号:24683616 阅读:24 留言:0更新日期:2020-06-27 08:01
本申请公开了一种区块链的数据存储方法、装置、设备和介质,涉及区块链技术领域。该方法包括:在执行当前区块的各事务请求的过程中,根据事务请求执行结果中的写数据,对本地数据的世界树进行更新,以产生新数据点以及新世界树根,其中,所述新数据点为实体数据点或已有实体数据点的补丁数据点;将所述新世界树根对应于当前区块存储;如果确定已有区块成为满足快照条件的当前快照区块,则根据前一快照区块至当前快照区块之间的事务请求,将当前快照区块的世界树更新为快照世界树,其中,所述快照世界树的数据点为实体数据点。本申请实施例的技术方案,结合了快照世界树和各种状态世界树的混合存储方式,兼顾存储的处理时间性能和空间性能。

A data storage method, device, device and medium of blockchain

【技术实现步骤摘要】
一种区块链的数据存储方法、装置、设备和介质
本申请实施例涉及计算机
,具体涉及区块链技术。
技术介绍
区块链系统是去中心化的存储系统。各个分布式的节点都需要处理事务请求并进行数据存储。为了查询数据更加便捷,节点会将区块链上处理的事务请求所影响的数据进行本地化存储。随着区块链中出现新的事务请求,则本地数据也随之不断更新。在区块链中,还会出现分叉现象,即不同的节点,从某个区块开始,后续产生的区块不一致,即形成了分叉;分叉有可能延续数个区块。区块链系统会有相应机制解决分叉问题,即定期的检查是否有分叉,如果有分叉,则按照规则确定一个分支是正确的,其他分支确定为错误。节点会删除错误分支,并从其他节点同步获取正确分支的区块,由此解决了分叉问题。但是,对于节点的本地数据,错误分支的事务请求回滚会大量影响本地数据。现有的本地数据存储技术在应对分叉处理时,性能不佳。
技术实现思路
本申请实施例公开一种区块链的数据存储方法、装置、设备和介质,以改善应对分叉处理机制的本地数据存储性能。第一方面,本申请实施例公开了一种本文档来自技高网...

【技术保护点】
1.一种区块链的数据存储方法,其特征在于,由区块链节点执行,所述方法包括:/n在执行当前区块的各事务请求的过程中,根据事务请求执行结果中的写数据,对本地数据的世界树进行更新,以产生新数据点以及新世界树根,其中,所述新数据点为实体数据点或已有实体数据点的补丁数据点;/n将所述新世界树根对应于当前区块存储;/n如果确定已有区块成为满足快照条件的当前快照区块,则根据前一快照区块至当前快照区块之间的事务请求,将当前快照区块的世界树更新为快照世界树,其中,所述快照世界树的数据点为实体数据点。/n

【技术特征摘要】
1.一种区块链的数据存储方法,其特征在于,由区块链节点执行,所述方法包括:
在执行当前区块的各事务请求的过程中,根据事务请求执行结果中的写数据,对本地数据的世界树进行更新,以产生新数据点以及新世界树根,其中,所述新数据点为实体数据点或已有实体数据点的补丁数据点;
将所述新世界树根对应于当前区块存储;
如果确定已有区块成为满足快照条件的当前快照区块,则根据前一快照区块至当前快照区块之间的事务请求,将当前快照区块的世界树更新为快照世界树,其中,所述快照世界树的数据点为实体数据点。


2.根据权利要求1所述的方法,其特征在于,根据事务请求执行结果中的写数据,对本地数据的世界树进行更新,以产生新数据点以及新世界树根包括:
如果所述事务请求执行结果中的写数据为新增数据对象,则在前一区块世界树的基础上新增实体数据点,并对应存储新增数据对象的数据值;
如果所述事务请求执行结果中的写数据为更新已有数据对象的数据值,则在前一区块世界树的基础上,对所述已有数据对象的数据点增加补丁数据点,并记录更新的数据值;
如果所述事务请求执行结果中的写数据为删除已有数据对象的数据值,则在前一区块世界树的基础上,对所述已有数据对象的数据点增加补丁数据点,并记录对数据值的删除;
根据新增的实体数据点或补丁数据点,更新以产生对应的上级数据点和世界树根。


3.根据权利要求1所述的方法,其特征在于,根据前一快照区块至当前快照区块之间的事务请求,将当前快照区块的世界树更新为快照世界树包括:
将前一快照区块至当前快照区块的事务请求顺序逐一执行;
在事务请求的逐一执行过程中,根据事务请求执行结果中的写数据,在所述前一快照区块对应的快照世界树的基础上,对实体数据点所对应的数据值进行更新,并删除对应的补丁数据点,直至产生当前快照区块的快照世界树。


4.根据权利要求3所述的方法,其特征在于,将当前快照区块的世界树更新为快照世界树之后,还包括:
将当前快照区块之后区块的世界树的补丁数据点,更新指向于当前快照世界树的实体数据点。


5.根据权利要求1所述的方法,其特征在于,确定已有区块为满足快照条件的当前快照区块包括:
按照设定的快照区块间隔,将与前一快照区块之间的区块间隔达到所述快照区块间隔的区块,确定为当前快照区块。


6.根据权利要求1所述的方法,其特征在于,还包括:
从其他节点获取到至少一个同步区块,所述同步区块连接至本地所存储区块链中的已有区块,其中,所述已有区块作为所述同步区块的前一区块。


7.根据权利要求6所述的方法,其特征在于,还包括:
如果出现针对所述同步区块的数据访问操作,则根据所述同步区块更新本地数据的世界树,以产生新数据点以及新世界树根。


8.根据权利要求7所述的方法,其特征在于,根据所述同步区块更新本地数据的世界树包括:
如果所述前一区块位于所述最新快照区块之后的位置,则根据所...

【专利技术属性】
技术研发人员:肖伟
申请(专利权)人:百度在线网络技术北京有限公司
类型:发明
国别省市:北京;11

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

1