[发明专利]一种数据查询方法和装置有效
申请号: | 201710245932.6 | 申请日: | 2017-04-14 |
公开(公告)号: | CN107436910B | 公开(公告)日: | 2020-08-18 |
发明(设计)人: | 赵正邦;钟亮力;刘中胜;吴刚 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F16/2455 | 分类号: | G06F16/2455 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 陈蕾 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 查询 方法 装置 | ||
本公开提供一种数据查询方法和装置,其中方法包括:接收数据查询请求,所述数据查询请求用于查询获取目标数据;在本地缓存中查询所述目标数据,当确定需要向数据实体层获取所述目标数据时,对本地缓存中所述目标数据对应的缓存块执行并发判断操作;若操作结果表明当前不存在对所述目标数据的并发查询,则向数据实体层查询所述目标数据;否则,返回所述缓存块中的当前数据作为所述目标数据。本公开有效防止了出现缓存击穿的现象。
技术领域
本公开涉及互联网技术领域,特别涉及一种数据查询方法和装置。
背景技术
在接收到对于某数据的访问请求时,为了提高响应效率,通常可以先到本地缓存中查询是否存在该数据。如果不存在再到数据实体层查询数据,再把获取的数据放到缓存中,下次访问命中缓存直接返回;如果缓存超时,则重新到数据实体层查询数据并放置到缓存中。
上述获取数据的方式,在一般情况下表现得很好,但在数据访问非常频繁的高频访问环境下,存在缓存击穿的风险。比如,若在缓存中的数据刚好需要刷新的时候,此时到达的大量的高频数据请求可能会落在数据实体层上,造成数据实体层压力瞬间飙升,即为缓存击穿,这对实体层的稳定性构成极大威胁。
发明内容
有鉴于此,本公开提供一种数据查询方法和装置,目的是防止出现缓存击穿的现象。
具体地,本公开是通过如下技术方案实现的:
第一方面,提供一种数据查询方法,所述方法包括:
接收数据查询请求,所述数据查询请求用于查询获取目标数据;
在本地缓存中查询所述目标数据,当确定需要向数据实体层获取所述目标数据时,对本地缓存中所述目标数据对应的缓存块执行并发判断操作;
若操作结果表明当前不存在对所述目标数据的并发查询,则向数据实体层查询所述目标数据;否则,返回所述缓存块中的当前数据作为所述目标数据。
第二方面,提供一种数据查询装置,所述装置包括:
请求接收模块,用于接收数据查询请求,所述数据查询请求用于查询获取目标数据;
缓存处理模块,用于在本地缓存中查询所述目标数据,当确定需要向数据实体层获取所述目标数据时,对本地缓存中所述目标数据对应的缓存块执行并发判断操作;
数据获取模块,用于若操作结果表明当前不存在对所述目标数据的并发查询,则向数据实体层查询所述目标数据;否则,返回所述缓存块中的当前数据作为所述目标数据。
本公开的数据查询方法和装置,通过在接收到查询请求时执行并发判断操作,可以确定当前是否存在查询并发,从而在不存在并发时才向数据实体层查询数据,有效防止了出现缓存击穿的现象。
附图说明
图1是本公开实施例提供的一个数据访问的应用场景;
图2是本公开实施例提供的一个数据查询的流程图;
图3是本公开实施例提供的一个数据查询的流程图;
图4是本公开实施例提供的一个数据查询方法的流程图;
图5是本公开实施例提供的一个数据查询装置的结构示意图。
具体实施方式
如图1示例的一个数据访问的应用场景,数据库11中存储有用户要访问的数据,用户可以通过PC机、移动设备等终端,发起数据查询请求,请求获取数据库11中的某数据。数据查询请求可以由图1中示例的请求接收装置12处理,该请求接收装置12可以由数据库11获取请求的数据,并返回给请求端。例如,该装置可以是位于一个设备中,接收在该设备发起的多个数据查询请求;或者也可以是位于一个平台系统中,用于接收来自多个设备的数据查询请求。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710245932.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种检索图像的方法及终端
- 下一篇:模糊查询方法、装置及查询系统
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置