[发明专利]一种哈希分区管理方法及装置在审
申请号: | 201310303609.1 | 申请日: | 2013-07-18 |
公开(公告)号: | CN104298687A | 公开(公告)日: | 2015-01-21 |
发明(设计)人: | 朱国云;王玉法;赵恒;杨成虎;侯凤林 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 解婷婷;栗若木 |
地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分区 管理 方法 装置 | ||
1.一种哈希分区管理方法,其特征在于,包括:确定键值Key中包含有范围关键信息;
对范围关键信息进行哈希运算,并根据得到的哈希值进行哈希分区。
2.根据权利要求1所述的哈希分区管理方法,其特征在于,所述Key包括Key前缀和Key后缀;其中,
所述范围关键信息为key前缀,用于区分不同的范围;
Key后缀是不同的Key的值。
3.根据权利要求2所述的哈希分区管理方法,其特征在于,所述key的数据结构包括:
用于表明所述Key的长度的Key的总长度字段;
用于表明所述Key前缀的长度的Key前缀长度字段;以及,
用于携带Key的值的Key值字段。
4.根据权利要求3所述的哈希分区管理方法,其特征在于,所述确定Key中包含有范围关键信息包括:判断所述Key的Key前缀长度字段的取值是否大于0,如果大于0,则确定所述Key中包含有范围关键信息。
5.根据权利要求4所述的哈希分区管理方法,其特征在于,该方法还包括:如果所述Key的Key前缀长度字段的取值不大于0,则确定所述Key中未包含范围关键信息。
6.根据权利要求4所述的哈希分区管理方法,其特征在于,所述对范围关键信息进行哈希运算,并根据得到的哈希值进行哈希分区包括:
对所述key的key前缀进行哈希hash运算,并将得到的hash值对系统中最大的分区值进行取模运算,得到该key落入的分区;
根据系统中的分区与数据节点的对应关系找到该分区所在的数据节点,并将所述Key的Key后缀写入找到的数据节点。
7.根据权利要求5所述的哈希分区管理方法,其特征在于,该方法还包括:对整个所述key进行hash运算,并将得到的hash值对系统中最大的分区值进行取模运算,得到该key落入的分区;
根据系统中的分区与数据节点的对应关系找到该分区所在的数据节点,并将该Key的值写入找到的数据节点。
8.根据权利要求4或6所述的哈希分区管理方法,其特征在于,当进行范围查找时,该方法还包括:
判断所述范围查找的范围下限Key和范围上限Key中是否均包含有Key前缀:判断范围下限Key中包含的Key前缀,与范围上限Key中包含的Key前缀是否一致,如果判断出范围下限Key和范围上限Key中均包含有Key前缀且二者一致,则,
对所述Key前缀进行hash运算,并将得到的hash值对系统中最大的分区值进行取模运算,得到该key落入的分区,再根据系统中的分区与数据节点的对应关系找到该分区所在的数据节点。
9.根据权利要求8所述的哈希分区管理方法,其特征在于,所述范围下限Key和范围上限Key中是否均包含有Key前缀包括:
如果所述范围下限Key和范围上限Key的Key前缀长度字段的取值均大于0,则确定范围下限Key和范围上限Key中均包含有Key前缀。
10.根据权利要求8所述的哈希分区管理方法,其特征在于,如果判断出所述范围下限Key和范围上限Key中有一个或者两个都不包含Key前缀,或者都包含但是二者不一致,该方法还包括:
返回查询失败,或者按照现有的范围查询方法进行查询。
11.一种哈希分区管理装置,其特征在于,包括判断模块,及分区模块;其中,判断模块,用于确定Key中包含有范围关键信息,向分区模块发送第一通知;
分区模块,用于接到第一通知,对范围关键信息进行哈希运算,并根据得到的哈希值进行哈希分区。
12.根据权利要求11所述的哈希分区管理装置,其特征在于,
所述判断模块,具体用于判断所述Key的Key前缀长度字段的取值是否大于0,如果大于0,则确定所述Key中包含有范围关键信息,向分区模块发送第一通知;
所述分区模块,具体用于接收来自判断模块的第一通知,对所述key的key前缀进行哈希hash运算,并将得到的hash值对系统中最大的分区值进行取模运算,得到该key落入的分区;根据系统中的分区与数据节点的对应关系找到该分区所在的数据节点,并将所述Key的Key后缀写入找到的数据节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310303609.1/1.html,转载请声明来源钻瓜专利网。