一种区块链数据的存储方法及装置制造方法及图纸

技术编号:32191531 阅读:27 留言:0更新日期:2022-02-08 15:56
一种区块链数据的存储方法及装置,所述方法应用于区块链的节点设备,所述节点设备配置的存储服务中包含索引区与数据区,其中,所述数据区为使用顺序写入方式记录信息的存储区域;所述方法包括:将待存储的第一区块链数据写入所述数据区;计算所述第一区块链数据的散列值;将所述散列值的预设部分或者全部内容作为键,将所述第一区块链数据在所述数据区中的偏移地址作为值,组成键值对,将组成的所述键值对存入所述索引区的第一键值表内。应用本方案,可以将区块链数据存储入索引区与数据区,显著提高上述区块链数据的随机读取性能。显著提高上述区块链数据的随机读取性能。显著提高上述区块链数据的随机读取性能。

【技术实现步骤摘要】
一种区块链数据的存储方法及装置


[0001]本说明书涉及区块链
,尤其涉及一种区块链数据的存储方法及装置。

技术介绍

[0002]区块链技术,也被称之为分布式账本技术,是一种由若干台计算设备共同参与“记账”,共同维护一份完整的分布式数据库的新兴技术。由于区块链技术具有去中心化、公开透明、每台计算设备可以参与数据库记录、并且各计算设备之间可以快速的进行数据同步的特性,使得区块链技术已在众多的领域中广泛的进行应用。
[0003]通常,区块链的数据可以以Merkle树等树结构进行组织,其中,上述树结构的节点则可以以键值对的形式存储在LevelDB、RocksDB等键值对型数据库中;然而,在区块链的场景中有大量的随机读取需求,而上述键值对型的数据库通常在随机读取方面的性能表现不佳;因此,业内亟需一种能够提高区块链数据的随机读取性能的存储方式。

技术实现思路

[0004]有鉴于此,本说明书公开了一种区块链数据的存储方法和装置。
[0005]根据本说明书实施例的第一方面,公开了一种区块链数据的存储方法,应用于区块链的节本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种区块链数据的存储方法,应用于区块链的节点设备,所述节点设备配置的存储服务中包含索引区与数据区,其中,所述数据区为使用顺序写入方式记录信息的存储区域;所述方法包括:将待存储的第一区块链数据写入所述数据区;计算所述第一区块链数据的散列值;将所述散列值的预设部分或者全部内容作为键,将所述第一区块链数据在所述数据区中的偏移地址作为值,组成键值对,将组成的所述键值对存入所述索引区的第一键值表内。2.根据权利要求1所述的方法,所述方法还包括:获取数据查询指令,所述数据查询指令中携带待查询的第二区块链数据的散列值;在所述第一键值表内,查询与所述第二区块链数据的散列值匹配的目标键值对;其中,所述匹配包括:所述第二区块链数据的散列值的预设部分或者全部内容与目标键值对的键相同;从所述数据区中,读取与所述目标键值对的值中存储的目标偏移地址对应的目标区块链数据,并将所述目标区块链数据作为待查询的第二区块链数据返回。3.根据权利要求2所述的方法,所述索引区中还预设有支持存储多个键名重复的值的第二键值表;所述将所述散列值的预设部分或者全部内容作为键,包括:将所述散列值的前缀或者后缀作为键;在组成所述键值对之后,所述方法还包括:确定所述第一键值表中与所述散列值的前缀或者后缀匹配的存储区域是否存在既有数据;如果是,将所述键值对、以及所述既有数据存入所述第二键值表中与所述散列值的前缀或者后缀匹配的存储区域。4.根据权利要求3所述的方法,所述方法还包括:确定所述第二键值表中与所述散列值的前缀或者后缀匹配的存储区域是否为空;若否,将所述键值对增量存储至所述第二键值表中...

【专利技术属性】
技术研发人员:王晓亮张亚宁
申请(专利权)人:北京溪塔科技有限公司
类型:发明
国别省市:

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

1