[发明专利]一种区块链状态数据的存储方法、设备和存储介质有效

专利信息
申请号: 201910097365.3 申请日: 2019-01-31
公开(公告)号: CN109559234B 公开(公告)日: 2020-10-23
发明(设计)人: 柳宇航;王志文;吴思进 申请(专利权)人: 杭州复杂美科技有限公司
主分类号: G06Q40/04 分类号: G06Q40/04;G06F16/22
代理公司: 暂无信息 代理人: 暂无信息
地址: 310000 浙江省杭州市*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 区块 状态 数据 存储 方法 设备 介质
【说明书】:

发明提供一种区块链状态数据的存储方法、设备和存储介质,该方法包括根据待存储的状态数据判断默克尔树中是否存在对应于状态数据的第一叶子节点:是,则读取第一叶子节点的账户数据,并根据状态数据更新账户数据;否,则根据状态数据在默克尔树中插入第二叶子节点;其中,默克尔树的叶子节点与账户一一对应,各叶子节点的账户数据包括账户系统数据和账户合约数据。本发明以用户账户作为基础插入默克尔树中,限制了默克尔树的叶子节点,同时,通过在构建数据结构时,在数据结构中增加合约状态数据,保证了对任意数据的存储。

技术领域

本申请涉及区块链技术领域,具体涉及一种区块链状态数据的存储方法、设备何存储介质。

背景技术

现有技术中,对于默克尔树中状态数据的存储一般通过基于账户地址的存储模型,以账户地址作为key存储,这种存储方式只能将原生定义的账户结构数据保存在默克尔树中,对于后续的原生合约数据存储需要借助虚拟机进行支持,另一种可以将状态数据以任意key值进行存储,然而这种存储方式会导致默克尔树的节点过多,影响树的读写性能。

发明内容

鉴于现有技术中的上述缺陷或不足,期望提供一种灵活的区块链状态数据存储方法、设备和存储介质。

第一方面,本发明提供一种区块链状态数据存储方法,包括:

根据待存储的状态数据判断默克尔树中是否存在对应于状态数据的第一叶子节点:

是,则读取第一叶子节点的账户数据,并根据状态数据更新账户数据;

否,则根据状态数据在默克尔树中插入第二叶子节点;

其中,默克尔树的叶子节点与账户一一对应,各叶子节点的账户数据包括账户系统数据和账户合约数据。

进一步,账户合约数据包括若干第一键值和第一value值。

进一步,读取第一叶子节点的账户数据,并根据状态数据更新账户数据包括:

根据状态数据的第二键值获取默克尔树中账户数据;其中,第二键值用于标识第一叶子节点的账户;

判断状态数据是否包括合约状态数据:

是,则根据合约状态数据的第三键值查找账户合约数据中与第三键值对应同一合约的第四键值及其对应的第四value值;以及,

根据查找结果更新账户合约数据;

否,则根据状态数据更新账户系统数据。

进一步,根据查找结果更新账户合约数据包括:删除账户合约数据。

进一步,第二键值为账户地址,根据状态数据的第二键值获取默克尔树中账户数据包括:

获取状态数据的账户地址;

根据账户地址获取账户数据。

进一步,根据状态数据在默克尔树中插入第二叶子节点包括:

根据状态数据生成第二账户的账户数据;

将账户数据序列化,生成第五value值;

将第二账户的账户地址作为第五键值;

根据第五键值和第五value值插入第二叶子节点。

第二方面,本发明还提供一种设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本发明各实施例提供的状态数据存储方法。

第三方面,本发明还提供一种存储有计算机程序的存储介质,该计算机程序使计算机执行根据本发明各实施例提供的状态数据存储方法。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州复杂美科技有限公司,未经杭州复杂美科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201910097365.3/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top