[发明专利]一种区块链的数据存储方法、装置、设备和介质有效
申请号: | 202010106770.X | 申请日: | 2020-02-20 |
公开(公告)号: | CN111339191B | 公开(公告)日: | 2023-05-26 |
发明(设计)人: | 肖伟 | 申请(专利权)人: | 百度在线网络技术(北京)有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/22;G06F16/23 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 区块 数据 存储 方法 装置 设备 介质 | ||
1.一种区块链的数据存储方法,其特征在于,由区块链节点执行,所述方法包括:
在执行当前区块的各事务请求的过程中,如果所述事务请求执行结果中的写数据为新增数据对象,则在前一区块世界树的基础上新增实体数据点,并对应存储新增数据对象的数据值;
如果所述事务请求执行结果中的写数据为更新已有数据对象的数据值,则在前一区块世界树的基础上,对所述已有数据对象的数据点增加补丁数据点,并记录更新的数据值;
如果所述事务请求执行结果中的写数据为删除已有数据对象的数据值,则在前一区块世界树的基础上,对所述已有数据对象的数据点增加补丁数据点,并记录对数据值的删除;
根据新增的实体数据点或补丁数据点,更新以产生对应的上级数据点和世界树根;其中,新数据点为实体数据点或已有实体数据点的补丁数据点;所述实体数据点为直接指向数据对象的实际数值;所述补丁数据点是在已有所述实体数据点的基础上记录了更新操作,不指向所述数据对象的所述实际数值;
将新世界树根对应于当前区块存储;
如果确定已有区块成为满足快照条件的当前快照区块,则将前一快照区块至当前快照区块的事务请求顺序逐一执行;
在事务请求的逐一执行过程中,根据事务请求执行结果中的写数据,在所述前一快照区块对应的快照世界树的基础上,对实体数据点所对应的数据值进行更新,并删除对应的补丁数据点,直至产生当前快照区块的快照世界树;其中,所述快照世界树的数据点为实体数据点。
2.根据权利要求1所述的方法,其特征在于,将当前快照区块的世界树更新为快照世界树之后,还包括:
将当前快照区块之后区块的世界树的补丁数据点,更新指向于当前快照世界树的实体数据点。
3.根据权利要求1所述的方法,其特征在于,确定已有区块为满足快照条件的当前快照区块包括:
按照设定的快照区块间隔,将与前一快照区块之间的区块间隔达到所述快照区块间隔的区块,确定为当前快照区块。
4.根据权利要求1所述的方法,其特征在于,还包括:
从其他节点获取到至少一个同步区块,所述同步区块连接至本地所存储区块链中的已有区块,其中,所述已有区块作为所述同步区块的前一区块。
5.根据权利要求4所述的方法,其特征在于,还包括:
如果出现针对所述同步区块的数据访问操作,则根据所述同步区块更新本地数据的世界树,以产生新数据点以及新世界树根。
6.根据权利要求5所述的方法,其特征在于,根据所述同步区块更新本地数据的世界树包括:
如果所述前一区块位于最新快照区块之后的位置,则根据所述同步区块中记载的世界树的数据点,在本地数据的已有世界树的基础上构建所述同步区块的世界树;
如果所述前一区块位于所述最新快照区块以前的位置,则从所述最新快照区块至所述前一区块,从后向前,逐一执行事务请求,根据事务请求执行结果中的写数据,对所述最新快照区块所对应的快照世界树进行撤销更新;根据所述同步区块中记载的世界树的数据点,在撤销更新后的快照世界树基础上构建所述同步区块的世界树。
7.根据权利要求6所述的方法,其特征在于,还包括:
如果发生分叉回滚,且分叉点所在区块的高度大于或等于最新快照区块的高度,则将本地数据的世界树根切换至正确区块分支的世界树根;
如果发生分叉回滚,且分叉点所在区块的高度小于最新快照区块的高度,则从所述最新快照区块直至所述分叉点之间的错误分叉区块,从后向前,逐一执行事务请求,根据事务请求执行结果中的写数据,对所述最新快照区块所对应的快照世界树进行撤销更新;从所述分叉点开始,逐一执行正确分叉区块的事务请求,根据事务请求执行结果中的写数据,对撤销更新后的快照世界树进行更新。
8.根据权利要求7所述的方法,其特征在于,根据事务请求执行结果中的写数据,对撤销更新后的快照世界树进行更新包括:
根据事务请求执行结果中的写数据,对撤销更新后的快照世界树进行更新,直至最新快照区块或最新区块的位置,保留快照世界树。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010106770.X/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置