[发明专利]一种缓存方法及装置在审
申请号: | 201510754054.1 | 申请日: | 2015-11-09 |
公开(公告)号: | CN105447092A | 公开(公告)日: | 2016-03-30 |
发明(设计)人: | 刘壮;梁雷;崔啸 | 申请(专利权)人: | 联动优势科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 黄志华 |
地址: | 100088 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 缓存 方法 装置 | ||
技术领域
本申请涉及数据缓存技术领域,尤其涉及一种缓存方法及装置。
背景技术
随着互联网技术的发展,越来越多的用户通过客户端发起请求向服务器请求某种服务或者查找数据。例如,通过手机上的客户端查询话费,使用手机上的应用程序购物等等。
现有技术中,当客户端需要向服务器请求服务时,首先会建立服务器与客户端的连接关系,在连接关系建立之后,客户端通过建立的连接向服务器请求需要的服务,在获取需要的服务之后,则释放连接。
上述现有技术主要存在以下问题:在特定的情形,如电商秒杀,有海量客户端的请求到达服务器并且请求的服务类型都类似,如请求查询商品价格,针对该情形下,由于每次都需要建立客户端与服务器的连接,然后提供向客户端提供服务,在客户端获取需要的服务之后,则释放连接,因而非常浪费资源,且无法满足瞬时海量请求,效率低下。
发明内容
本申请提供一种缓存方法及装置,用以解决现有技术中针对海量客户端请求到达服务器,导致服务器处理效率低的技术问题。
一方面,本申请实施例提供的一种缓存方法,包括:
选取线程队列中的一个未执行的线程,从缓存池中获取所述线程需要的服务;
如果无法从所述缓存池中获取所述线程需要的服务,则将所述线程设置为前置线程,通过执行所述前置线程从所述服务器中请求需要的服务,并将所述服务更新至所述缓存池,并返回选取线程队列中的一个未执行的线程的步骤。
本申请实施例提供的方法,首先从线程队列中选取一个未执行的线程,然后通过该线程从缓存池中获取该线程需要的服务,如果获取失败,则将该线程设置为前置线程,前置线程可以去服务器中请求需要的服务,在该线程从服务器中获取到需要的服务之后,将该服务更新至缓存池,然后从线程队列中选取下一个未执行的线程,由于缓存池中已经存有相应的服务,因而线程可以直接从缓存池中获取到相应的服务,从而使得海量的请求都可以从缓存池中获取到相应的服务,提高了系统效率,减轻了服务器的负担。
可选地,从缓存池中获取所述线程需要的服务之前,还包括:
选取线程队列中的第一个线程,所述线程设置为前置线程,通过执行所述前置线程从所述服务器中请求需要的服务,并将所述服务更新至所述缓存池,并返回选取线程队列中的一个未执行的线程的步骤。
可选地,所述将所述线程设置为前置线程,包括:
若确定计数器KEY对应的状态为空闲,则将所述计数器KEY对应的状态设置为占用,所述计数器KEY用于指示是否已经有线程被设置为前置线程;
获取所述线程的类型标识,将所述线程的类型标识对应的类型修改为前置线程。
可选地,将所述服务更新至所述缓存池之后,还包括:
将数据缓存KEY对应的状态修改为已更新;
获取所述线程的类型标识,将所述线程的类型标识对应的类型修改为普通线程;
将所述计数器KEY对应的状态修改为空闲。
可选地,该方法还包括:
若确定所述缓存池中有对应的服务失效时间小于或等于预先设定的值的服务,则判断所述计数器KEY对应的状态是否为占用;
若所述计数器KEY对应的状态为占用,则通过执行当前的前置线程将确定的服务在所述服务器中的最新版本更新至所述缓存池;
若所述计数器KEY对应的状态为空闲,则将所述线程队列第一个线程设置为前置线程,并通过执行该前置线程将确定的服务在所述服务器中的最新版本更新至所述缓存池。
可选地,选取线程队列中的一个未执行的线程,从缓存池中获取所述线程需要的服务之前,还包括:
将所述线程队列中的线程分配到与线程需要的服务的类型对应的服务缓存线程池中;
针对每一个服务缓存线程池,选取所述服务缓存线程池中的一个线程,从所述缓存池中获取所述线程需要的服务;
如果无法从所述缓存池中获取所述线程需要的服务,则将所述线程设置为前置线程,通过执行所述前置线程从所述服务器中请求需要的服务,并将所述服务更新至所述缓存池,并返回选选取所述服务缓存线程池中的一个线程的步骤。
另一方面,本申请实施例提供的一种缓存装置,包括:
第一获取单元,用于选取线程队列中的一个未执行的线程,从缓存池中获取所述线程需要的服务;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于联动优势科技有限公司,未经联动优势科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510754054.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种信息查询方法及装置
- 下一篇:一种基于振动声学的支柱绝缘子裂纹的检测方法