[发明专利]一种基于多级缓存的区块链状态数据存储和读取方法有效
申请号: | 201811636076.8 | 申请日: | 2018-12-29 |
公开(公告)号: | CN109684337B | 公开(公告)日: | 2021-05-04 |
发明(设计)人: | 邱炜伟;李启雷;李伟;梁秀波;尹可挺 | 申请(专利权)人: | 杭州趣链科技有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 邱启旺 |
地址: | 310012 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于多级缓存的区块链状态数据存储和读取方法,在一个区块链节点中,写入时,根据区块为最小单位,原子性写入一个区块内的所有状态信息和区块高度编码后的状态信息写入MemTable中,写入成功则将未编码的状态信息缓存至第一级缓存中;若MemTable原子写入失败,则需要根据区块号重新进行状态信息的写入。读取则以常规方法,按照先读第一级缓存,后读取Memtable的顺序进行读取。本发明应用于现有的区块链网络中,在保证了区块状态数据能够被准确且完整的写入的情况下,提高了整个状态数据存储的效率,是在传统基于Key/Value的区块链体系下一个新的突破。 | ||
搜索关键词: | 一种 基于 多级 缓存 区块 状态 数据 存储 读取 方法 | ||
【主权项】:
1.一种基于多级缓存的区块链状态数据存储和读取方法,其特征在于,所述的存储包括如下步骤:步骤一:将一个区块的所有状态数据组成一个Batch。步骤二:将一个Batch内的所有状态信息编码后以原子性存储到Memtable中,同时更新状态数据中的区块高度信息;若MemTable原子写入失败,则需要根据区块号重新进行状态信息的写入。步骤三:重复步骤一和步骤二,完成整个区块的状态数据写入,同时将所有未编码前的状态数据存入第一级缓存中去。所述的读取包括如下步骤:根据所需读取的区块状态信息,按照第一级缓存,MemTable,Immutable MemTable以及LevelDB数据库的顺序进行依次状态数据的读取。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州趣链科技有限公司,未经杭州趣链科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201811636076.8/,转载请声明来源钻瓜专利网。