本说明书实施例属于区块链,尤其涉及一种读取树结构的世界状态的方法及计算机设备。
背景技术:
1、区块链(blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链系统中按照时间顺序将数据区块以顺序相连的方式组合成链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。由于区块链具有去中心化、信息不可篡改、自治性等特性,区块链也受到人们越来越多的重视和应用。
技术实现思路
1、本发明的目的在于提供一种读取树结构的世界状态的方法及计算机设备,包括:
2、一种读取树结构的世界状态的方法,包括:
3、接收读取的状态key和版本;
4、根据所述状态key和版本,按照字典序顺序匹配内存页的页标识中的版本和页id,匹配到后如该内存页中包括至少两层树节点则还继续按字典序匹配最上层树节点以下的树节点的版本和页id,直至找到叶子节点;所述页id包括从所述树结构的根节点到该内存页中上层树节点的字典序内容;所述节点id包括从根节点到该树节点的字典序内容;
5、读取叶子节点中的状态。
6、一种计算机设备,包括:
7、处理器;
8、以及存储器,其中存储有程序,其中在所述处理器执行所述程序时,执行上述方法中任一项的操作。
9、上述实施例中描述了一种树结构的世界状态按照page切分的方案,将树结构划分为logicalpage,logicalpage内部管理memorypage/basepage/deltapage,将每次状态树修改优化为按logicalpage为粒度的多次版本修改,减少整体的写放大。对于当前版本可以直接根据通过内存页获得,对于历史版本读时可以读取basepage和关联的若干deltapage来重放获得。将整个memorypage缓存在内存中,不影响合约执行性能。
1.一种读取树结构的世界状态的方法,包括:
2.如权利要求1所述的方法,所述读取叶子节点中的状态,包括:
3.如权利要求1所述的方法,对于不存在所述内存页的情况,所述方法还包括:
4.如权利要求3所述的方法,所述基础页和增量页的页标识中还包括页类型。
5.如权利要求4所述的方法,所述根据所述页标识从持久化存储介质中加载对应的基础页至内存,包括:
6.如权利要求4所述的方法,所述根据所述页标识从持久化存储介质中加载对应的基础页和增量页至内存,包括:
7.如权利要求6所述的方法,所述将加载的基础页和增量页回放得到内存页,包括:
8.如权利要求7所述的方法,所述将加载的基础页和增量页按照页类型和版本顺序回放得到内存页,包括:
9.如权利要求7所述的方法,所述将加载的基础页和增量页按照页类型和版本顺序回放得到内存页,包括:
10.一种计算机设备,包括:
