[发明专利]区块链状态数据的裁剪方法及装置、电子设备、存储介质有效
申请号: | 202110668902.2 | 申请日: | 2021-06-16 |
公开(公告)号: | CN113127493B | 公开(公告)日: | 2021-09-10 |
发明(设计)人: | 柳宇航 | 申请(专利权)人: | 恒生电子股份有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/23;G06F16/27 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 李慧引 |
地址: | 310053 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 区块 状态 数据 裁剪 方法 装置 电子设备 存储 介质 | ||
本申请公开了一种区块链状态数据的裁剪方法及装置、电子设备、存储介质,其中,所述方法主要通过对待插入的状态数据的key值进行布隆过滤器计算,得到状态数据对应的布隆过滤器数据,然后分别将各个高度下的根节点中保存的布隆过滤器数据与状态数据对应的布隆过滤器数据进行匹配,并在匹配成功时,从匹配成功的高度下的根节点下查找出存储有状态数据的key值的目标节点,然后将从该高度下的根节点至目标节点的路径上,除根节点外的所有节点裁减掉,最后对该高度下的根节点中保存的布隆过滤器数据中进行相应的更新。从而通过布隆过滤器实现对历史状态数据的裁剪,不需要增加索引节点,不仅减少了对磁盘空间的占用,而且还具有高效的裁剪效率。
技术领域
本申请涉及区块链技术领域,特别涉及一种区块链状态数据的裁剪方法及装置、电子设备、存储介质。
背景技术
区块链通过默克尔树、默克尔平衡二叉树等状态树记录区块链上的状态数据,如账户余额等。由于账户余额等数据主要以最新数据为准,所以除区块回滚的需求外,历史状态数据是无用的。而随着区块的产生,历史状态数据会不断积累,状态树的节点数目不断增加,冗余的历史状态数据会占用较大磁盘存储空间。因此在确保状态数据完整的情况下,对历史状态数据的裁剪尤为重要。
现有的区块链历史数据裁剪方式,主要是通过引入额外的节点,即引入索引节点,通过索引节点记录历史状态数据的历史版本key值,后续则可以通过索引节点进行索引并裁剪。
这种方式虽然可以有效地删除历史状态数据,但是由于索引节点的存在,随着区块越来越多,索引节点也会越来越多,这不仅导致索引时间过长,影响到裁剪速度,并且大量的索引节点也会占用大量的磁盘资源。
发明内容
基于上述现有技术的不足,本申请提供了一种区块链状态数据的裁剪方法及装置、电子设备、存储介质,以解决现有的方式裁剪效率低,且占用磁盘资源的问题。
为了实现上述目的,本申请提供了以下技术方案:
本申请第一方面提供了一种区块链状态数据的裁剪方法,包括:
获取待插入当前高度下的状态树的状态数据的key值;
对所述状态数据的key值进行布隆过滤器计算,得到所述状态数据对应的布隆过滤器数据;
分别将各个高度下的根节点中保存的布隆过滤器数据与所述状态数据对应的布隆过滤器数据进行匹配;其中,一个高度下的根节点保存的布隆过滤器数据,为对所述高度下插入的各个状态数据的key计算得到;
每确定出一个高度下的根节点中保存的布隆过滤器数据与所述状态数据对应的布隆过滤器匹配时,则从所述高度下的根节点下查找出存储有所述状态数据的key值的目标节点;
将从所述高度下的根节点至所述目标节点的路径上,除所述高度下的根节点外的所有节点裁减掉;
对所述高度下的根节点中保存的布隆过滤器数据中,与所述状态数据对应的布隆过滤器数据相一致的各个比特位进行更新。
可选地,在上述的方法中,所述分别将各个高度下的根节点中保存的布隆过滤器数据与所述状态数据对应的布隆过滤器数据进行匹配,包括:
按照高度从高到低的顺序,依次将高度范围内的各个高度下的根节点中保存的布隆过滤器数据与所述状态数据对应的布隆过滤器数据进行匹配。
可选地,在上述的方法中,所述按照高度从高到低的顺序,依次将高度范围内的各个高度下的根节点中保存的布隆过滤器数据与所述状态数据对应的布隆过滤器数据进行匹配,包括:
按照高度从高到低的顺序,依次将第一高度范围内的各个高度下的根节点中保存的布隆过滤器数据与所述状态数据对应的布隆过滤器数据进行匹配;其中,所述第一高度范围的上限为所述当前高度与预设回退高度的差值,下限为所述当前高度与3倍的所述预设回退高度的差值;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于恒生电子股份有限公司,未经恒生电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110668902.2/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置