1 .一种数据查询方法,所述方法应用于基于日志结构合并LSM树的数据库,所述LSM树
包括多层结构,所述多层结构中的第K层包括M个文件,所述M个文件的文件索引与M个哈希
范围存在一一映射关系,所述M个文件中的每个文件用于存储至少一个数据,且所述每个文
件中存储的数据的key经过哈希运算后得到的哈希索引落入所述每个文件对应的哈希范
围,
所述方法包括:
接收查询请求,所述查询请求用于查询目标key对应的数据;
对所述目标key进行所述哈希运算,得到目标key对应的第一哈希索引;
根据所述第一哈希索引,从所述M个文件中确定第一目标文件的文件索引,其中,所述
第一目标文件对应的哈希范围包含所述第一哈希索引;
根据所述第一目标文件的文件索引,在所述第一目标文件中查询所述目标key对应的
数据。
2.根据权利要求1所述的方法,所述M个哈希范围中的每个哈希范围包含的哈希索引连
续,且所述M个哈希范围不重叠。
3.根据权利要求2所述的方法,所述M个哈希范围包含相同数量的哈希索引。
4 .根据权利要求3所述的方法,所述M的取值为2
m
,所述根据所述第一哈希索引,从所述M
个文件中确定第一目标文件的文件索引,包括:
将所述第一哈希索引右移(n‑m)位,得到所述第一目标文件的文件索引,n为哈希索引
的比特位数,m、n为整数,且n≥m。
5.根据权利要求1所述的方法,所述多层结构的第S层包括N个文件,所述方法还包括:
从所述M个文件中选择待合并文件;
根据所述待合并文件对应的哈希范围,从所述N个文件中确定第二目标文件的文件索
引,所述第二目标文件对应的哈希范围与所述待合并文件对应的哈希范围一致;
根据所述第二目标文件的文件索引,将所述待合并文件与所述第二目标文件进行合
并。
6.根据权利要求5所述的方法,N为M的整数倍。
7 .根据权利要求6所述的方法,M的取值为2
m
,N的取值为2
p
,p>m,所述根据所述待合并
文件对应的哈希范围,从所述N个文件中确定第二目标文件的文件索引,包括:
将所述待合并文件的文件索引以及所述待合并文件的下一个文件的文件索引分别左
移(p‑m)位,得到所述第二目标文件的文件索引。
8.一种数据查询装置,所述装置应用于基于日志结构合并LSM树的数据库,所述LSM树
包括多层结构,所述多层结构中的第K层包括M个文件,所述M个文件的文件索引与M个哈希
范围存在一一映射关系,所述M个文件中的每个文件用于存储至少一个数据,且所述每个文
件中存储的数据的key经过哈希运算后得到的哈希索引落入所述每个文件对应的哈希范
围,
所述装置包括:
接收模块,用于接收查询请求,所述查询请求用于查询目标key对应的数据;
哈希运算模块,用于对所述目标key进行所述哈希运算,得到目标key对应的第一哈希
索引;
权 利 要 求 书
1/2 页
2
相关文档
评论