[发明专利]一种分布式缓存范围查询方法、装置及系统有效
申请号: | 201410638522.4 | 申请日: | 2014-11-06 |
公开(公告)号: | CN105574054B | 公开(公告)日: | 2018-12-28 |
发明(设计)人: | 湛滨瑜;于君泽 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 李辉 |
地址: | 英属开曼群岛大开曼*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 缓存 范围 查询 方法 装置 系统 | ||
本申请公开了一种分布式缓存范围查询方法。包括:将用于映射缓存数据的关键字中,可用于范围查询的字段值对应的标识值,预先存储在内存的存储区域中,且,为每个标识值分别建立对应的原始关键字集合;响应于接收到关系范围查询请求,从存储区域中查找出至少两种字段值中至少一种字段值的指定范围的端点值对应的标识值,查找出所述至少一种字段值的指定范围内的所有标识值对应的原始关键字集合,从查找出的原始关键字集合中,查找出所述至少两种字段值满足所述指定关系的关键字,得到所述关系范围查询请求对应的关键字集合,从而实现了与数据库解耦的多级范围查询。另外,本申请还公开了一种分布式缓存范围查询装置及系统。
技术领域
本发明涉及分布式缓存,尤其涉及一种分布式缓存范围查询方法、装置及系统。
背景技术
分布式缓存,是一种通过分布式缓存服务器集群将缓存数据以key-value(关键字-缓存数据)的形式存储在内存Hash表中的数据缓存方式。分布式缓存通过在内存中缓存数据和对象来减少访问数据库的次数,提高了数据访问速度。
目前,为了支持分布式缓存的范围查询,主要通过在关系型数据库中建立支持范围查询的索引来实现对关联key的范围查询。当服务端收到范围条件查询请求时,通过关系型数据库的索引,根据范围查询条件查询出符合特定范围的关联key,再到分布式缓存中根据key直接查询得到对应的value。
但是,由于目前分布式缓存的范围查询需要通过数据库索引来实现,没有脱离对数据库的强依赖,查询性能相对较差。
发明内容
有鉴于此,本申请的目的在于提供一种分布式缓存范围查询方法以在与数据库完全解耦的情况下实现范围查询的目的。
在本申请实施例的第一个方面,提供了一种分布式缓存范围查询方法。例如,该方法可以包括:将用于映射缓存数据的关键字中,可用于范围查询的字段值对应的标识值,预先存储在内存的存储区域中,且,为每个标识值分别建立对应的原始关键字集合,其中,所述原始关键字集合由包含有该标识值对应的字段值的关键字组成;响应于接收到关系范围查询请求,其中,所述关系范围查询请求携带至少两种字段值的指定范围,以及所述至少两种字段值应满足的指定关系,从所述存储区域中查找出所述至少两种字段值中至少一种字段值的指定范围的端点值对应的标识值;根据所述至少一种字段值的指定范围的端点值对应的标识值,查找出所述至少一种字段值的指定范围内的所有标识值对应的原始关键字集合;从查找出的原始关键字集合中,查找出所述至少两种字段值满足所述指定关系的关键字,得到所述关系范围查询请求对应的关键字集合。
在本申请实施例的第二个方面,提供了一种分布式缓存范围查询装置。例如,该装置可以包括:预处理单元,用于将用于映射缓存数据的关键字中,可用于范围查询的字段值对应的标识值,预先存储在内存的存储区域中,且,为每个标识值分别建立对应的原始关键字集合,其中,所述原始关键字集合由包含有该标识值对应的字段值的关键字组成;查询响应单元,用于响应于接收到关系范围查询请求,其中,所述关系范围查询请求携带至少两种字段值的指定范围,以及所述至少两种字段值应满足的指定关系,从所述存储区域中查找出所述至少两种字段值中至少一种字段值的指定范围的端点值对应的标识值;范围值获取单元,用于根据所述至少一种字段值的指定范围的端点值对应的标识值,查找出所述至少一种字段值的指定范围内的所有标识值对应的原始关键字集合;关键字获取单元,用于从查找出的原始关键字集合中,查找出所述至少两种字段值满足所述指定关系的关键字,得到所述关系范围查询请求对应的关键字集合。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410638522.4/2.html,转载请声明来源钻瓜专利网。