[发明专利]数据获取方法和装置有效
申请号: | 201610894361.4 | 申请日: | 2016-10-13 |
公开(公告)号: | CN107943594B | 公开(公告)日: | 2021-11-12 |
发明(设计)人: | 吴帅 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F9/52 | 分类号: | G06F9/52;H04L29/08 |
代理公司: | 北京英赛嘉华知识产权代理有限责任公司 11204 | 代理人: | 王达佐;马晓亚 |
地址: | 100080 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 获取 方法 装置 | ||
本申请公开了数据获取方法和装置。方法的一具体实施方式包括:接收客户端发送的数据获取请求;从缓存服务器集群中选取缓存服务器作为目标缓存服务器;向目标缓存服务器发送数据获取请求,确定目标缓存服务器中是否存在目标数据;响应于确定目标缓存服务器中存在目标数据,接收目标缓存服务器发送的目标数据和目标数据的更新时间,向客户端发送目标数据,响应于确定当前时间大于更新时间,获取用于对查询目标数据的操作进行保护的全局分布式锁。该实施方式实现了区分热数据和冷数据,保证热数据在缓存服务器中长期有效,节省了缓存服务器的资源。
技术领域
本申请涉及计算机技术领域,具体涉及互联网技术领域,尤其涉及数据获取方法和装置。
背景技术
随着互联网高速发展,为缩短系统对客户端发送的请求的响应时间,通常需要大量使用缓存服务器。为提高并发性,通常需要部署多个缓存服务器集群。为保证各个缓存服务器集群中每个缓存服务器中的数据的一致性,需要对各个缓存服务器集群中每个缓存服务器中的数据同时进行更新等操作。
现有技术中的一种缓存机制是:接收客户端发送的数据获取请求;查看缓存服务器中是否存在该数据获取请求指示的待获取的数据;如果存在,则向客户端返回该数据;如果不存在,则访问数据库并读取该数据,并将该数据更新至缓存服务器中,同时向客户端返回该数据。然而,当缓存服务器中不存在待获取的数据时,各个请求都需要访问数据库,因访问量过大,造成数据库压力过大,甚至导致数据库宕机。如果使用分布式锁,只允许获取到该分布式锁的一个请求去访问数据库,造成其它请求被阻塞、响应时间过长等问题,降低了系统吞吐量、影响用户体验。
现有技术中的另一种缓存机制是:设置定时任务,定时从数据库中读取数据并将该数据更新至缓存服务器中;接收客户端发送的数据获取请求,从缓存服务器中搜索请求的数据;将搜索到的数据返回至客户端。然而,该缓存机制不能区分热数据和冷数据,造成大量的冷数据被存储至缓存服务器,造成资源的浪费。其中,热数据是指被访问频率高的数据,冷数据是指被访问频率低的数据。
发明内容
本申请的目的在于提出一种改进的数据获取方法和装置,来解决以上背景技术部分提到的技术问题。
第一方面,本申请提供了一种数据获取方法,所述方法包括:接收客户端发送的数据获取请求;从缓存服务器集群中选取缓存服务器作为目标缓存服务器;向所述目标缓存服务器发送所述数据获取请求,确定所述目标缓存服务器中是否存在目标数据,其中,所述目标数据是所述数据获取请求指示的待获取的数据;响应于确定所述目标缓存服务器中存在所述目标数据,接收所述目标缓存服务器发送的所述目标数据和所述目标数据的更新时间,向所述客户端发送所述目标数据,响应于确定当前时间大于所述更新时间,获取用于对查询所述目标数据的操作进行保护的全局分布式锁。
在一些实施例中,所述方法还包括:响应于确定所述目标缓存服务器中不存在所述目标数据,执行如下发送步骤:等待预设的时长,向所述目标缓存服务器发送所述数据获取请求,确定所述目标缓存服务器中是否存在所述目标数据;响应于确定所述目标缓存服务器中不存在所述目标数据且所述发送步骤的执行次数小于预设的第一阈值,则确定重新执行所述发送步骤。
在一些实施例中,所述方法还包括:响应于确定所述目标缓存服务器中存在所述目标数据,接收所述目标缓存服务器发送的所述目标数据,向所述客户端发送所述目标数据。
在一些实施例中,所述方法还包括:响应于确定所述目标缓存服务器中不存在所述目标数据且所述发送步骤的执行次数等于所述第一阈值,则向所述客户端发送空值,并获取用于对查询所述目标数据的操作进行保护的所述全局分布式锁。
在一些实施例中,所述方法还包括:执行受所述全局分布式锁保护的数据查询操作,获取更新后的目标数据、更新后的更新时间、更新后的过期时间;将所述更新后的目标数据、所述更新后的更新时间、所述更新后的过期时间同步至所述缓存服务器集群中的每一个缓存服务器中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610894361.4/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置