交易数据存储方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:37863763 阅读:22 留言:0更新日期:2023-06-15 20:53
本申请公开了一种交易数据存储方法。该方法包括:获取区块链的区块中的交易数据;对所述交易数据进行解析,得到所述交易数据对应的合约地址及key

【技术实现步骤摘要】
交易数据存储方法、装置、计算机设备及存储介质


[0001]本申请涉及区块链
,尤其涉及一种交易数据存储方法、装置、计算机设备及存储介质。

技术介绍

[0002]对于基于Cosmos框架开发的区块链应用,底层的数据存储使用的是IAVL树。当调用智能合约来处理用户的交易数据时,交易数据中的key

value键值对的相关数据会以键值对的形式存储在底层IAVL树上。
[0003]然而,专利技术人发现,现有的IAVL树上存储规则如下:对应的键为合约地址拼接数据key值的hash,对应的值为数据value值,因此相同合约内的交易数据在IAVL树上具有相同的前缀(合约地址),根据IAVL树特性,其存储的数据会落在相同的子树上。在此Cosmos框架下,若某一合约内有大量数据需要存储,这些数据会插入到IAVL树的同一子树下,进而会频繁造成当前子树高度差在整颗IAVL树上失衡,触发IAVL树自平衡动作,大量消耗服务器计算和存储资源,降低区块链存储性能。

技术实现思路

[0004]有鉴于此,现提供一种交易数据存储方法本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种交易数据存储方法,其特征在于,包括:获取区块链的区块中的交易数据;对所述交易数据进行解析,得到所述交易数据对应的合约地址及key

value键值对;查询主IAVL树中是否存在所述合约地址对应的第一从IAVL树的第一根哈希值;若所述主IAVL树中存在所述第一根哈希值,则根据所述第一根哈希值打开所述第一从IAVL树;计算所述键值对中的key值的哈希值,并将所述合约地址拼接所述哈希值,得到新的key值;将所述新的key值与所述键值对中的value值组成第一待存储数据,并将所述第一待存储数据插入所述第一从IAVL树中。2.根据权利要求1所述的交易数据存储方法,其特征在于,所述将所述第一待存储数据插入所述第一从IAVL树中的步骤之后,还包括:计算所述第一从IAVL树的第二根哈希值,并以所述第二根哈希值更新主IAVL树存储的所述第一根哈希值;计算所述主IAVL树的第三根哈希值。3.根据权利要求2所述的交易数据存储方法,其特征在于,所述方法还包括:若所述主IAVL树中不存在所述第一根哈希值,则判定所述合约地址属于新的合约地址;创建所述新的合约地址对应的第二从IAVL树;计算所述键值对中的key值的哈希值,并将所述新的合约地址拼接所述哈希值,得到拼接后的key值;将所述拼接后的key值与所述键值对中的value值组成第二待存储数据,并将所述第二待存储数据插入所述第二从IAVL树中。4.根据权利要求3所述的交易数据存储方法,其特征在于,所述方法还包括:计算所述第二从IAVL树的第四根哈希值,并将所述新的合约地址及所述第四根哈希值组成第三待存储数据,其中,所述新的合约地址作为所述第三待存储数据中的key值,所述第四根哈希值作为所述第三待存储数据中的value值;将所述第三待存储数...

【专利技术属性】
技术研发人员:朱泽雨张磊孙英男王炜煜
申请(专利权)人:上海加密原生科技有限公司
类型:发明
国别省市:

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

1