[发明专利]一种面向Key-Value存储系统的索引查询方法和系统有效
申请号: | 201611114427.X | 申请日: | 2016-12-07 |
公开(公告)号: | CN106777003B | 公开(公告)日: | 2020-04-03 |
发明(设计)人: | 孙辉;陈国栋;徐殷 | 申请(专利权)人: | 安徽大学 |
主分类号: | G06F16/22 | 分类号: | G06F16/22 |
代理公司: | 合肥市长远专利代理事务所(普通合伙) 34119 | 代理人: | 屈科辉;傅磊 |
地址: | 230000*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: |
本发明公开了一种面向Key‑Value存储系统的索引查询方法和系统,该方法包括:S1、获取Key‑Value数据项存入block,根据block节点生成前缀完全二叉树;S2、获取key值,根据二叉树高度确定key值运用位数k,key值为二进制;S3、获取key值前k位,从key值前k位首位遍历,检索key值前k位中第一个“1”,记录第一个“1”前的位数j;S4、判断j是否小于k,若j小于k,则目标结果i=2 |
||
搜索关键词: | 一种 面向 key value 存储系统 索引 查询 方法 系统 | ||
【主权项】:
一种面向Key‑Value存储系统的索引查询方法,其特征在于,所述方法包括以下步骤:S1、获取Key‑Value键值数据项存入block中,并根据所述block节点生成前缀完全二叉树,其中,所述前缀完全二叉树包含真实节点和虚拟节点;S2、获取用户输入的需要检索的key值,并根据所述前缀完全二叉树高度确定所述key值需要运用的位数k,其中所述key值数制为二进制;S3、获取所述key值的前k位,从所述key值前k位中第一位开始遍历,检索到所述key值前k位中第一个“1”,并记录所述第一个“1”前的位数j,其中j,k初始值均为1;S4、判断j是否小于k,如果j小于k,则得到目标结果i,执行S5,其中其中i=2j,所述i表示block序号;如果j不小于k,则得到目标结果i,执行S6,其中i=2k‑1‑1,所述i表示block序号;S5、从所述key值第j+2位即第一个“1”的后一位开始往后循环检索,当检索到“1”时,则将所述目标结果i值改变为2×(i+1);否则,将所述i值改变为2×i+1;直到位数j等于k时,停止检索并得到目标结果i,执行S6;S6、通过所述目标结果i的值,在前缀完全二叉树中检索到对应的block序号block[i],判断所述block[i]是否为虚拟节点,当判断结果为否时输出所述目标结果i的值,当判断结果为是时则将所述k值减1后执行S3,直到k=0。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于安徽大学,未经安徽大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201611114427.X/,转载请声明来源钻瓜专利网。