【技术实现步骤摘要】
基于区块链的分级存储方法及装置、电子设备
本说明书一个或多个实施例涉及区块链
,尤其涉及一种基于区块链的分级存储方法及装置、电子设备。
技术介绍
区块链技术,也被称之为分布式账本技术,是一种由若干台计算设备共同参与“记账”,共同维护一份完整的分布式数据库的新兴技术。由于区块链技术具有去中心化、公开透明、每台计算设备可以参与数据库记录、并且各计算设备之间可以快速的进行数据同步的特性,使得区块链技术已在众多的领域中广泛的进行应用。
技术实现思路
本说明书提出一种基于区块链的分级存储方法,所述区块链的账户状态数据被组织成Merkle状态树在数据库中存储;所述数据库包括多级数据存储;所述Merkle状态树上的数据节点被标记了区块号;所述区块号指示所述数据节点发生数据更新时所在的区块;所述方法包括:当所述数据库中的任一级目标数据存储满足了数据迁移条件时,确定所述目标数据存储中待迁移至下一级数据存储的数据节点对应的区块号区间;基于所述区块号区间确定迁移临界值;其中,所述迁移临界值为大于所述区块号区间的区块号临界值;遍历与所述迁移临界值对应的目标区块的Merkle状态树,查找被标记的区块号小于所述迁移临界值的目标数据节点,并将查找到的所述目标数据节点的区块号修改为所述迁移临界值;遍历与所述区块号区间中的各个区块号对应的区块的Merkle状态树,查找被标记的区块号小于所述迁移临界值的数据节点,并将查找到的数据节点从所述目标数据存储中,迁移至所述目标数据存储的下一级数据存储。可选的,所述基于所述区块号区间确定迁移临界值,包括:如果所述区块号区间的右区间为开区间,将所述区块 ...
【技术保护点】
1.一种基于区块链的分级存储方法,所述区块链的账户状态数据被组织成Merkle状态树在数据库中存储;所述数据库包括多级数据存储;所述Merkle状态树上的数据节点被标记了区块号;所述区块号指示所述数据节点发生数据更新时所在的区块;所述方法包括:当所述数据库中的任一级目标数据存储满足了数据迁移条件时,确定所述目标数据存储中待迁移至下一级数据存储的数据节点对应的区块号区间;基于所述区块号区间确定迁移临界值;其中,所述迁移临界值为大于所述区块号区间的区块号临界值;遍历与所述迁移临界值对应的目标区块的Merkle状态树,查找被标记的区块号小于所述迁移临界值的目标数据节点,并将查找到的所述目标数据节点的区块号修改为所述迁移临界值;遍历与所述区块号区间中的各个区块号对应的区块的Merkle状态树,查找被标记的区块号小于所述迁移临界值的数据节点,并将查找到的数据节点从所述目标数据存储中,迁移至所述目标数据存储的下一级数据存储。
【技术特征摘要】
1.一种基于区块链的分级存储方法,所述区块链的账户状态数据被组织成Merkle状态树在数据库中存储;所述数据库包括多级数据存储;所述Merkle状态树上的数据节点被标记了区块号;所述区块号指示所述数据节点发生数据更新时所在的区块;所述方法包括:当所述数据库中的任一级目标数据存储满足了数据迁移条件时,确定所述目标数据存储中待迁移至下一级数据存储的数据节点对应的区块号区间;基于所述区块号区间确定迁移临界值;其中,所述迁移临界值为大于所述区块号区间的区块号临界值;遍历与所述迁移临界值对应的目标区块的Merkle状态树,查找被标记的区块号小于所述迁移临界值的目标数据节点,并将查找到的所述目标数据节点的区块号修改为所述迁移临界值;遍历与所述区块号区间中的各个区块号对应的区块的Merkle状态树,查找被标记的区块号小于所述迁移临界值的数据节点,并将查找到的数据节点从所述目标数据存储中,迁移至所述目标数据存储的下一级数据存储。2.根据权利要求1所述的方法,所述基于所述区块号区间确定迁移临界值,包括:如果所述区块号区间的右区间为开区间,将所述区块号区间的右端点值,确定为所述迁移临界值;如果所述区块号区间的右区间为闭区间,将所述区块号区间的右端点值与所述区块链的区块号递增步长的和确定为所述迁移临界值。3.根据权利要求1所述的方法,所述数据库为Key-Value数据库;所述Merkle状态树上的数据节点以Key-Value键值对的形式存储在所述数据库中;其中,所述Key-Value键值对的key为所述数据节点包含的数据内容的hash值;所述Key-Value键值对的value为所述数据节点包含的数据内容。4.根据权利要求1所述的方法,所述方法还包括:确定最新区块的Merkle状态树上发生数据更新的数据节点;为所述最新区块的Merkle状态树上发生数据更新的数据节点标记所述最新区块的区块号。5.根据权利要求1或4所述的方法,所述数据库中存储的所述Merkle状态树上的数据节点的Value中,包含预设的区块号字段;为所述Merkle状态树上的数据节点标记的区块号,添加在所述区块号字段中。6.根据权利要求1或4所述的方法,所述数据库中预设了指向所述Merkle状态树上的数据节点的Value的存储位置的区块号字段;为所述Merkle状态树上的数据节点标记的区块号,添加在所述区块号字段中。7.根据权利要求1所述的方法,所述Merkle树为融合了Trie字典树的树形结构的Merkle树变种。8.根据权利要求7所述的方法,所述Merkle状态树为MerklePatriciaTree状态树。9.根据权利要求1所述的方法,所述数据库为LevelDB数据库;或者基于LevelDB架构的数据库。10.根据权利要求9所述的方法,所述数据库为基于LevelDB架构的Rocksdb数据库。11.根据权利要求1所述的方法,所述多级数据存储对应的存储介质的读写性能,存在性能差异;其中,级数高的数据存储对应的存储介质的读写性能,高于级数低的数据存储对应的存储介质的读写性能。12.一种基于区块链的分级存储装置,所述区块链的账户状态数据被组织成Merkle状态树在数据库中存储;所述数据库包括多级数据存储;所述Merkle状态树上的数据节点被...
【专利技术属性】
技术研发人员:陆钟豪,俞本权,卓海振,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。