[发明专利]利用缓存响应数据请求的方法和系统有效
申请号: | 201710292218.2 | 申请日: | 2017-04-28 |
公开(公告)号: | CN108804447B | 公开(公告)日: | 2021-05-25 |
发明(设计)人: | 李铭浩;尹亮;沈俊杰 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/2455 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张一军;姜劲 |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 利用 缓存 响应 数据 请求 方法 系统 | ||
1.一种利用缓存响应数据请求的系统,该系统包括数据请求接口、缓存数据管理器和缓存,
其特征在于,
在所述缓存中,每个数据以键-值对的形式被存储,其中键是该数据的唯一性标识,而值表示该数据的内容;
所述数据请求接口用于接收用户对数据的请求,并且把接收的请求发送给所述缓存数据管理器;
所述缓存数据管理器接收所述请求,从所述请求中提取查询表达式,利用预设的哈希函数根据所述查询表达式产生哈希值,确定所述缓存中是否存在等于该哈希值的键,当存在时,从所述缓存中读出该键对应的值,并通过所述数据请求接口把该值返回给所述用户,否则,根据所述查询表达式从相应的外部数据源获取数据结果,把获取的数据结果通过所述数据请求接口返回给所述用户,同时,以所述哈希值作为键,以获取的数据结果作为值,把该键-值对保存在所述缓存中;所述缓存数据管理器在从外部数据源获取数据时,同时根据预定的关联关系从外部数据源获取与该数据相关的关联数据作为值,并且根据所述关联关系产生对应所述关联数据的键,并且把该键-值对保存在所述缓存中;
所述数据是数据库表数据,所述查询表达式包括数据库表列名集并且所述键是根据所述列名集产生的串,当该串的任何子串与所述缓存中的某个键匹配,则从所述缓存中的获取该键对应的数据,根据所述串中除去所述子串的其余部分对应的查询条件从相应外部数据源获取数据并且与从所述缓存中获取的数据合并,以及通过所述数据请求接口把合并的数据返回给所述用户,同时,以所述串为键,以所述合并的数据作为值,把该键-值对保存在所述缓存中。
2.根据权利要求1所述的系统,其中,所述缓存数据管理器每次把数据保存到所述缓存时,判断待存入的数据的大小加上所述缓存中已有数据的大小的和值是否超过预设的限定值,如果超过,则根据最近最少使用算法,逐个删除所述缓存中最近最少使用的数据,直到待存入的数据的大小加上所述缓存中已有数据的大小的和值不超过所述限定值。
3.根据权利要求1所述的系统,其中,所述缓存中的每个数据附带有时间戳,该时间戳记载该数据被存入所述缓存的时间,并且所述缓存数据管理器定期地检查所述缓存中每个数据的时间戳的时间是否早于当前设定的有效时限,如果是,从所述缓存中删除该数据。
4.根据权利要求1所述的系统,其中,所述缓存数据管理器维持用户查询日志,并根据给定的学习算法定期确定用户的偏好查询表达式,当用户登录时,根据该用户的偏好查询表达式产生哈希值作为键,从相应外部数据源根据所述偏好查询表达式获取相应的数据结果作为值,并把该键-值对在所述缓存中保存。
5.一种利用缓存响应数据请求的方法,其特征在于,在所述缓存中,每个数据以键-值对的形式被存储,其中键是该数据的唯一性标识,而值表示该数据的内容,所述方法包括:
接收用户对数据的请求;
从所述请求中提取查询表达式;
利用预设的哈希函数根据所述查询表达式产生哈希值;
确定所述缓存中是否存在等于该哈希值的键,当存在时,从所述缓存中读出该键对应的值,并返回给所述用户,否则,根据所述查询表达式从相应的外部数据源获取数据结果,把获取的数据结果返回给所述用户,同时,以所述哈希值作为键,以获取的数据结果作为值,把该键-值对存储在所述缓存中;在从所述外部数据源获取数据结果时,同时根据预定的关联关系从所述外部数据源获取与该数据结果相关的关联数据作为值,并且根据所述关联关系产生对应所述关联数据的键,并且把该键-值对保存在所述缓存中;
所述数据是数据库表数据,所述查询表达式包括数据库表列名集并且所述键是根据所述列名集产生的串,当该串的任何子串与所述缓存中的某个键匹配,则从所述缓存中的获取该键对应的数据,根据所述串中除去所述子串的其余部分对应的查询条件从相应外部数据源获取数据并且与从所述缓存中获取的数据合并,以及通过所述数据请求接口把合并的数据返回给所述用户,同时,以所述串为键,以所述合并的数据作为值,把该键-值对保存在所述缓存中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710292218.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种数据检索方法和系统
- 下一篇:生成待推送信息的方法和装置
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置