[发明专利]一种基于日志结构合并树的键值存储的数据快速读取方法在审
| 申请号: | 202011384970.8 | 申请日: | 2020-11-30 |
| 公开(公告)号: | CN112486994A | 公开(公告)日: | 2021-03-12 |
| 发明(设计)人: | 段雪豪 | 申请(专利权)人: | 武汉大学 |
| 主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/18 |
| 代理公司: | 武汉科皓知识产权代理事务所(特殊普通合伙) 42222 | 代理人: | 许莲英 |
| 地址: | 430072 湖*** | 国省代码: | 湖北;42 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 日志 结构 合并 键值 存储 数据 快速 读取 方法 | ||
本发明涉及一种基于日志结构合并树的键值存储的数据快速读取方法。本发明通过多层数据层构建日志结构合并树,日志结构合并树的每层数据层中存取多组键值数据对,统计分析日志结构合并树的每层数据层中数据读取频率,将日志结构合并树划分为高读取频率的数据层以及低读取频率的数据层,为高读取频率的数据层构建多层布谷鸟哈希表应用数据读取层;若数据层中键值数据对中键的字节数量大于字节阈值则对其进行MD5编码后存入布谷鸟哈希表;在进行数据索引读取时,先查询布谷哈希索引,若未命中继续查询低读取频率数据层。本发明优点在于,通过一种启发式策略选取高访问频率的数据层,为其构造额外地哈希索引,使用有限的内存空间来明显地提高读性能。
技术领域
本发明属于计算机科学存储系统领域,尤其涉及一种基于日志结构合并树的键值存储的数据快速读取方法。
背景技术
数据密集型的企业级应用程序经常使用持久键值存储系统来进行数据读写,例如Web网站爬虫,社交网络,图像存储等。持久键值存储系统一般会提供常用的操作接口,如对键值对的写入/更新,对数据的读取/点查询和扫描(范围查询)来服务各种应用程序。在众多键值存储系统中,基于日志结构的合并树(LSM-tree)的键值存储系统尤其受欢迎,主要原因是它们将密集的随机写转换为顺序写以充分利用磁盘的I/O带宽。基于LSM-tree的键值存储系统通常由内存模块和磁盘模块组成:内存模块由跳表数据结构组成,磁盘模块由多级数据层组成,每一级数据层在键值上是有序的。基于LSM-tree的键值存储系统首先在内存模块中缓冲足够的随机写入的数据,将其转化为有序的数据表,然后将有序的数据表写入磁盘模块中。数据写入磁盘模块后,先将数据表写入第一级数据层,如果第一级数据层写满后,会从第一级数据层中选取一个数据表写入第二级数据层;如果第二级数据层写满后,会再从第二级数据层选取一个数据表写入第三级数据层,以此类推。多级数据层大小会呈指数级增加,邻近的下一级数据层会扩大为上一级的10倍,如第三级数据层的大小是第二级数据层的10倍。以常用的键值存储系统LevelDB为例,其Level 0存在多个键值范围覆盖的SSTable,其Level 1到最后一层Level N的每一层SSTable按键值大小顺序排列。如果目标数据位于磁盘模块的靠后的数据层,则在查询目标数据时需要先查找内存模块里的数据,然后从上到下查询多级数据层。在查询每一级数据层时,LevelDB需要访问每一层的元数据,选取可能存在目标数据的SSTable,然后通过读取SSTable的Index Block来确定数据可能在哪个Data Block中;在读取Data Block之前,还需读取对应的Bloom Filter来确定目标key是否在该Data Block中;如果Bloom Filter计算确定目标key存在于Data Block中,就从Data Block中读取数据。所以,对于LevelDB的读请求来说,如果查询目标数据时需要涉及查询多级数据层,将会产生高昂的读开销。因此现有的基于LSM-tree的键值存储系统有严重的读放大问题,会引发大量的读取的I/O请求。
发明内容
本发明针对现有的基于LSM-tree的键值存储系统存在的读放大问题,提出一种利用额外内存索引来加速数据读取的方法。
一种基于日志结构合并树的键值存储的数据快速读取方法,其特征在于,包括以下步骤:
步骤1:通过多层数据层构建日志结构合并树,日志结构合并树的每层数据层中存取多组键值数据对,统计分析日志结构合并树的每层数据层中数据读取频率,根据日志结构合并树的每层数据层中数据读取频率将日志结构合并树划分为高读取频率的数据层以及低读取频率的数据层,通过日志结构合并树高读取频率的数据层构建多层布谷鸟哈希表应用数据读取层;
步骤2:针对每层布谷鸟哈希表应用数据读取层中,若键值数据对中索引的字节数量大于字节阈值则将键值数据对中索引进行MD5编码后存入布谷鸟哈希表,否则键值数据对中索引仍存取至布谷鸟哈希表应用数据读取层即日志结构合并树;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉大学,未经武汉大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011384970.8/2.html,转载请声明来源钻瓜专利网。





