[发明专利]一种分布式缓存范围查询方法、装置及系统有效
申请号: | 201410638522.4 | 申请日: | 2014-11-06 |
公开(公告)号: | CN105574054B | 公开(公告)日: | 2018-12-28 |
发明(设计)人: | 湛滨瑜;于君泽 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 李辉 |
地址: | 英属开曼群岛大开曼*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 缓存 范围 查询 方法 装置 系统 | ||
1.一种分布式缓存范围查询方法,其特征在于,包括:
将用于映射缓存数据的关键字中,可用于范围查询的字段值对应的标识值,预先存储在内存的存储区域中,且,为每个标识值分别建立对应的原始关键字集合,其中,所述原始关键字集合由包含有该标识值对应的字段值的关键字组成;
响应于接收到关系范围查询请求,其中,所述关系范围查询请求携带至少两种字段值的指定范围,以及所述至少两种字段值应满足的指定关系,从所述存储区域中查找出所述至少两种字段值中至少一种字段值的指定范围的端点值对应的标识值;
根据所述至少一种字段值的指定范围的端点值对应的标识值,查找出所述至少一种字段值的指定范围内的所有标识值对应的原始关键字集合;
从查找出的原始关键字集合中,查找出所述至少两种字段值满足所述指定关系的关键字,得到所述关系范围查询请求对应的关键字集合。
2.根据权利要求1所述的方法,其特征在于,所述将用于映射缓存数据的关键字中,可用于范围查询的字段值对应的标识值,预先存储在内存的存储区域中包括:
将所述关键字中,可用于范围查询的一种字段值对应的标识值,预先存储在位于内存的节点环中,其中,一种字段值对应一个节点环,一个标识值对应存储到节点环的一个节点中,且为所述节点环中的每一节点建立对应的路由表,所述路由表记录了根据预置索引算法确定的一个或多个其他节点的标识值;
其中,所述为每个标识值分别建立对应的原始关键字集合的具体实现为:为每个存储标识值的节点分别建立对应的原始关键字集合;
所述从所述存储区域中查找出所述至少两种字段值中至少一种字段值的指定范围的端点值对应的标识值包括:
以所述至少一种字段值对应的节点环中的任一节点作为当前节点,在所述当前节点的路由表中查找出距所述至少一种字段值对应的指定范围的端点值最近的标识值;
如果判定查找到的标识值是所述至少一种字段值对应的节点环中距所述至少一种字段值对应的指定范围的端点值最近的标识值,将查找到的标识值作为所述至少一种字段值对应的指定范围的端点值对应的标识值;
如果判定查找到的标识值不是所述至少一种字段值对应的节点环中距所述至少一种字段值对应的指定范围的端点值最近的标识值,将当前节点更新为查找到的标识值所在的节点,返回到所述在当前节点的路由表中查找距所述至少一种字段值对应的指定范围的端点值最近的标识值的步骤。
3.根据权利要求2所述的方法,其特征在于,所述将关键字中,可用于范围查询的一种字段值对应的标识值,预先存储在位于内存的一个节点环中包括:
将关键字中,可用于范围查询的、属于同一字段的字段值对应的标识值按标识值大小顺序预先存储在位于内存的一个节点环中,其中,所述路由表记录了所述节点环中与对应节点的标识值间距成2的幂次方关系的标识值。
4.根据权利要求1所述的方法,其特征在于,还包括:
针对缓存中新加入的关键字,判断新加入的关键字中可用于范围查询的字段值对应的标识值是否已存在于节点环中,如果是,将所述新加入的关键字加入所述可用于范围查询的字段值对应的标识值的原始关键字集合中,如果否,将所述新加入的关键字中可用于范围查询的字段值对应的标识值存储在新节点中,在所述节点环中查找出可作为新节点的直接前驱节点的节点N,更新所述节点N的直接后继节点的直接前驱节点为所述新节点,更新所述节点N为所述新节点的直接前驱节点,为所述新节点建立对应的路由表;
针对缓存中删除的关键字,如果所述删除的关键字的字段中可用于范围查询的字段值不存在于任何其他关键字中,将存储了该字段值对应的标识值的节点作为待删除节点,更新待删除节点的直接后继节点的直接前驱节点为所述待删除节点的直接前驱节点,从所述节点环中删除所述待删除节点;如果其他节点环的原始关键字集合中存在所述删除的关键字,将所述删除的关键字从所述其他节点环的原始关键字集合中删除;
以及,根据预置索引算法,对受所述新节点的加入影响或受所述待删除节点的删除影响而需要更新的路由表进行更新。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410638522.4/1.html,转载请声明来源钻瓜专利网。