[发明专利]一种防止缓存击穿的方法、装置及系统有效
| 申请号: | 201710959951.5 | 申请日: | 2017-10-16 |
| 公开(公告)号: | CN110019359B | 公开(公告)日: | 2023-05-05 |
| 发明(设计)人: | 吴小飞 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
| 主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06F16/21 |
| 代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 李辉 |
| 地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 防止 缓存 击穿 方法 装置 系统 | ||
本申请提供了一种防止缓存击穿的方法、装置及系统,在本申请中,直播应用服务器为观众客户端提供直播数据支持,其在访问数据库服务器之前,先将用于请求相同数据的直播数据请求进行合并,合并成一个直播数据请求,以在数据库服务器前端,有效控制数据加载请求的访问逻辑,减小对数据库的无效访问,避免同一时间对同一直播数据的重复加载,从而减小数据库的访问压力,能够有效减小缓存击穿导致的数据库雪崩的现象。
技术领域
本申请涉及数据存取技术领域,特别涉及一种防止缓存击穿的方法、装置及系统。
背景技术
目前,大部分支持数据读取的设备都会用到缓存,缓存就是数据交换的缓冲区,称作Cache;当设备读取数据时,首先会从缓存中查看需要的数据,如果存在直接返回数据,如果不存在就直接查询数据库然后再缓存查询结果。
在实际应用中,数据库DB与应用QPS(query pre second,每秒查询率)通常是不匹配的,为了支持应用的高QPS的业务需求,系统通常采用缓存机制,缓存能缓解DB的访问压力。
发明内容
发明人发现目前的高QPS的应用容易出现缓存击穿,缓存击穿是指由于缓存故障或者缓存过期导致大量请求并发穿透缓存到数据库,从而对数据库造成巨大冲击,导致数据库连接池耗尽,频繁出错,甚至导致雪崩现象。
为了解决目前缓存容易出现缓存击穿的问题,本申请提供了一种防止缓存击穿的方法,通过有效控制数据加载请求的访问逻辑,减小对数据库的无效访问,避免同一时间对同一直播数据的重复加载,从而减小数据库的访问压力,能够有效减小缓存击穿导致的数据库雪崩的现象。
本申请还提供了一种防止缓存击穿的装置和系统,用以保证上述方法在实际中的实现及应用。
在本申请第一方面提供了一种防止缓存击穿的系统,其特征在于,包括:
数据库服务器,用于接收主播客户端发送的直播数据,在数据库中存储所述直播数据;接收直播数据请求,将用于请求相同直播数据的多个直播数据请求合并成一个访问请求,通过所述一个访问请求访问数据库得到对应的直播数据,利用访问得到的直播数据响应所述多个直播数据请求;
直播应用服务器,用于接收观众客户端发送的直播数据请求;若未从缓存中访问到对应的直播数据,则将用于请求相同数据的多个直播数据请求合并成一个直播数据请求,向数据库服务器发送所述一个直播数据请求,接收直播数据,利用所述直播数据响应所述观众客户端。
本申请第二方面提供了一种防止缓存击穿的方法,应用于数据库服务器中,包括:
接收主播客户端发送的直播数据,将所述直播数据存储在数据库中;
接收直播数据请求;
将用于请求相同直播数据的多个直播数据请求合并成一个访问请求;
通过所述一个访问请求访问所述数据库得到对应的直播数据;
利用访问得到的直播数据响应所述多个直播数据请求。
本申请第三方面提供了一种防止缓存击穿的装置,应用于数据库服务器中,包括:
存储模块,用于接收主播客户端发送的直播数据,将所述直播数据存储在数据库中;
请求接收模块,用于接收直播数据请求;
请求合并模块,用于将用于请求相同直播数据的多个直播数据请求合并成一个访问请求;
访问模块,用于通过所述一个访问请求访问所述数据库得到对应的直播数据;
请求响应模块,用于利用访问得到的直播数据响应所述多个直播数据请求。
本申请第四方面提供了一种防止缓存击穿的方法,应用于直播应用服务器中,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710959951.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种数据处理方法、装置及设备和存储介质
- 下一篇:一种数据处理方法及装置





