[发明专利]一种区块链的数据存储方法、装置、设备和介质有效
申请号: | 202010106770.X | 申请日: | 2020-02-20 |
公开(公告)号: | CN111339191B | 公开(公告)日: | 2023-05-26 |
发明(设计)人: | 肖伟 | 申请(专利权)人: | 百度在线网络技术(北京)有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/22;G06F16/23 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 区块 数据 存储 方法 装置 设备 介质 | ||
本申请公开了一种区块链的数据存储方法、装置、设备和介质,涉及区块链技术领域。该方法包括:在执行当前区块的各事务请求的过程中,根据事务请求执行结果中的写数据,对本地数据的世界树进行更新,以产生新数据点以及新世界树根,其中,所述新数据点为实体数据点或已有实体数据点的补丁数据点;将所述新世界树根对应于当前区块存储;如果确定已有区块成为满足快照条件的当前快照区块,则根据前一快照区块至当前快照区块之间的事务请求,将当前快照区块的世界树更新为快照世界树,其中,所述快照世界树的数据点为实体数据点。本申请实施例的技术方案,结合了快照世界树和各种状态世界树的混合存储方式,兼顾存储的处理时间性能和空间性能。
技术领域
本申请实施例涉及计算机技术领域,具体涉及区块链技术。
背景技术
区块链系统是去中心化的存储系统。各个分布式的节点都需要处理事务请求并进行数据存储。为了查询数据更加便捷,节点会将区块链上处理的事务请求所影响的数据进行本地化存储。随着区块链中出现新的事务请求,则本地数据也随之不断更新。
在区块链中,还会出现分叉现象,即不同的节点,从某个区块开始,后续产生的区块不一致,即形成了分叉;分叉有可能延续数个区块。区块链系统会有相应机制解决分叉问题,即定期的检查是否有分叉,如果有分叉,则按照规则确定一个分支是正确的,其他分支确定为错误。节点会删除错误分支,并从其他节点同步获取正确分支的区块,由此解决了分叉问题。
但是,对于节点的本地数据,错误分支的事务请求回滚会大量影响本地数据。现有的本地数据存储技术在应对分叉处理时,性能不佳。
发明内容
本申请实施例公开一种区块链的数据存储方法、装置、设备和介质,以改善应对分叉处理机制的本地数据存储性能。
第一方面,本申请实施例公开了一种区块链的数据存储方法,由区块链节点执行,所述方法包括:
在执行当前区块的各事务请求的过程中,根据事务请求执行结果中的写数据,对本地数据的世界树进行更新,以产生新数据点以及新世界树根,其中,所述新数据点为实体数据点或已有实体数据点的补丁数据点;
将所述新世界树根对应于当前区块存储;
如果确定已有区块成为满足快照条件的当前快照区块,则根据前一快照区块至当前快照区块之间的事务请求,将当前快照区块的世界树更新为快照世界树,其中,所述快照世界树的数据点为实体数据点。
本申请实施例的技术方案,结合了快照存储和世界树存储的方式。在区块链设计中,分叉是能够快速修复的。不可能存在一个很长时间都确定不了的区块。也就是从业务上是不允许分叉很久以前的区块的,因为这会导致业务处于不确定状态。因此,本申请实施例的技术方案设计了一种混合两种优势的存储架构,对历史数据采用快照存储方式,对最新数据采用世界树的存储方式,这样能够结合两者的优点。既节省了存储空间,在不稳定区块需要回滚时也能迅速进行数据调整。
可选的,根据事务请求执行结果中的写数据,对本地数据的世界树进行更新,以产生新数据点以及新世界树根包括:
如果所述事务请求执行结果中的写数据为新增数据对象,则在前一区块世界树的基础上新增实体数据点,并对应存储新增数据对象的数据值;
如果所述事务请求执行结果中的写数据为更新已有数据对象的数据值,则在前一区块世界树的基础上,对所述已有数据对象的数据点增加补丁数据点,并记录更新的数据值;
如果所述事务请求执行结果中的写数据为删除已有数据对象的数据值,则在前一区块世界树的基础上,对所述已有数据对象的数据点增加补丁数据点,并记录对数据值的删除;
根据新增的实体数据点或补丁数据点,更新以产生对应的上级数据点和世界树根。
可选的,根据前一快照区块至当前快照区块之间的事务请求,将当前快照区块的世界树更新为快照世界树包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010106770.X/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置