[发明专利]数据存储方法、设备和存储介质有效
| 申请号: | 201811378484.8 | 申请日: | 2018-11-19 | 
| 公开(公告)号: | CN109614411B | 公开(公告)日: | 2022-03-04 | 
| 发明(设计)人: | 王志文;柳宇航;吴思进 | 申请(专利权)人: | 杭州复杂美科技有限公司 | 
| 主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06F12/126 | 
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 | 
| 地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 数据 存储 方法 设备 介质 | ||
本发明提供一种数据存储方法、设备和存储介质,该方法包括:将默克尔树的节点数据存储到键‑值(key‑value)数据库中时,对节点数据的键(key)添加前缀;其中,前缀包括节点数据对应的区块高度。本发明减少硬盘实际读的次数,提高读效率,为用户提供良好的用户体验。
技术领域
本申请涉及区块链技术领域,具体涉及一种数据存储方法、设备和存储介质。
背景技术
现有的数据存储技术中,由于磁盘IO读写存在瓶颈,对于数据库的读写效率(尤其是读操作)都会有较大影响;现有的解决方式是,采用最近最少使用(LRU)缓存或预先读缓存的方式,使得数据库每次从磁盘中读取数据时候,都会将该数据周围数据一并读取到内存中,以减少直接读取磁盘次数。
现有的区块链系统中,通常会利用默克尔树(Merkle Tree)、默克尔平衡二叉树(MAVL Tree)等对区块的节点数据进行存储。以MAVLTree为例,在区块链网络中,由于MAVLTree的非叶子节点及叶子节点存储键值都是经过哈希运算产生,具有随机性,每次读取键值时都需要在整个数据库中进行查找;由于存储键值都是经过哈希运算产生,具有随机性,键值分布于数据库的各个地方,即使结合了LRU缓存或预先读缓存的方式,将读取的相应键值周围数据一并读取到内存中,也降低了连续读取效率,无法减少磁盘IO读写的次数。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种减少硬盘实际读的次数,提高读效率的数据存储方法、设备和存储介质。
第一方面,本发明提供一种数据存储方法,包括:
将默克尔树的节点数据存储到键-值(key-value)数据库中时,对节点数据的键(key)添加前缀;其中,前缀包括节点数据对应的区块高度。
第二方面,本发明还提供一种设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本发明各实施例提供的数据存储方法。
第三方面,本发明还提供一种存储有计算机程序的存储介质,该计算机程序使计算机执行根据本发明各实施例提供的数据存储方法。
本发明诸多实施例提供的一种数据存储方法通过将默克尔树的节点数据存储到键-值(key-value)数据库中时,对节点数据的键(key)添加前缀;其中,前缀包括节点数据对应的区块高度的方法,减少硬盘实际读的次数,提高读效率,为用户提供良好的用户体验。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本发明一实施例提供的数据存储场景的示意图。
图2为本发明一实施例提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1为本发明一实施例提供的数据存储场景的示意图。如图1所示,在本实施例中,在区块高度为500的区块中,节点收到若干交易使得相邻的四个叶子节点的节点数据发生变化,节点数据发生变化后,重新生成默克尔树,默克尔树的每个节点数据都存入键-值(key-value)数据库中,存储到键-值数据库中时,对节点数据的键(key)添加前缀;其中,前缀包括节点数据对应的区块高度。以下结合图2对本发明提供的数据存储方法进行具体说明。
图2为本发明一实施例提供的一种数据存储方法的流程图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州复杂美科技有限公司,未经杭州复杂美科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811378484.8/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
 - 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
 - 数据发送方法、数据发送系统、数据发送装置以及数据结构
 - 数据显示系统、数据中继设备、数据中继方法及数据系统
 - 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
 - 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
 - 数据发送和数据接收设备、数据发送和数据接收方法
 - 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
 - 数据发送方法、数据再现方法、数据发送装置及数据再现装置
 - 数据发送方法、数据再现方法、数据发送装置及数据再现装置
 





