[发明专利]基于加锁限制的数据库访问方法、系统、终端及存储介质有效
申请号: | 202110225998.5 | 申请日: | 2021-03-01 |
公开(公告)号: | CN113010533B | 公开(公告)日: | 2022-07-26 |
发明(设计)人: | 杨磊;汤锦春 | 申请(专利权)人: | 上海钧正网络科技有限公司 |
主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F16/2455;G06F16/27;G06F21/62 |
代理公司: | 上海唯源专利代理有限公司 31229 | 代理人: | 汪家瀚 |
地址: | 201199 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 加锁 限制 数据库 访问 方法 系统 终端 存储 介质 | ||
本发明提供基于加锁限制的数据库访问方法、系统、终端及存储介质,包括:包括:接收多线程访问请求;若所述多线程访问请求中的线程获取到锁,则对主缓存进行更新操作,以使主缓存数据与数据库数据一致,并同步更新备份缓存;若所述多线程访问请求中的线程未获取到锁,则读取所述备份缓存并执行降级策略,以获取非空值。通过主缓存和备份缓存的双轨机制,使得未能获取到锁的线程不再像现有技术中那样低效率的等待,而是通过备用缓存来获取次新结果值或者直接获取一个固定值。进一步地,还基于分段加锁机制优化了加锁粒度,防止加锁粒度太大而对所有的线程请求都进行加锁,影响访问效率;结合备份缓存技术,最大限度地提升了用户体验和数据一致性。
技术领域
本发明涉及数据库技术领域,尤其涉及基于加锁限制的数据库访问方法、系统、终端及存储介质。
背景技术
缓存雪崩是指由于缓存失效导致数据未加载到内存中,或者缓存时间大面积失效,从而导致所有请求都会去查数据库,进而导致数据库、CPU和内存负载过高,甚至宕机。目前解决缓存雪崩的技术方案有如下几种:
方案1)解决缓存大面积失效的问题,对应方案如下:避免缓存设置相近的有效期,为有效期增加随机值,统一规划有效期,失效时间均匀分布。
方案2)解决对热点数据持续高并发的问题,对应方案如下:使用互斥锁,例如jvm锁机制,分布式锁机制等。
方案3)解决有效期本身的缺陷,对应方案为:缓存永不过期,异步更新。然而上述这些方案虽有不阻塞线程及用户体验好且不会出现雪崩效应的优势,但缺点是不保证数据一致性,代码复杂度增大(每个value值都要维护异步更新代码),容易堆积垃圾数据。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供一种既不阻塞线程不导致雪崩效应且能确保数据一致性的数据库访问方案。
为实现上述目的,本发明提供了一种基于加锁限制的数据库访问方法,包括:接收多线程访问请求;若所述多线程访问请求中的线程获取到锁,则对主缓存进行更新操作,以使主缓存数据与数据库数据一致,并同步更新备份缓存;若所述多线程访问请求中的线程未获取到锁,则读取所述备份缓存并执行降级策略,以获取非空值。
在本发明的较佳实施方式中,所述方法还包括:将待访问数据分为多个数据段,并基于分段加锁机制为每个数据段配置单独的锁,供所述多线程访问请求访问对应的数据段。
在本发明的另一较佳实施方式中,所述分段加锁机制包括ConcurrentHashMap分段加锁机制。
在本发明的另一较佳实施方式中,所述降级策略包括所述请求中未获取到锁的线程从所述备份缓存中获取次新结果数值。
在本发明的另一较佳实施方式中,所述降级策略包括请求中未获取到锁的线程获取一预设数值。
为实现上述目的,本发明提供了一种基于加锁限制的数据库访问系统,包括请求接收模块,用于接收多线程访问请求;缓存更新模块,用于若所述多线程访问请求中的线程获取到锁,则对主缓存进行更新操作,以使主缓存数据与数据库数据一致,并同步更新备份缓存;若所述多线程访问请求中的线程未获取到锁,则读取所述备份缓存并执行降级策略,以获取非空值。
在本发明的较佳实施方式中,所述系统还包括分段加锁模块,用于将待访问数据分为多个数据段,并基于分段加锁机制为每个数据段配置单独的锁,供所述多线程访问请求访问对应的数据段。
在本发明的较佳实施方式中,所述降级策略包括所述请求中未获取到锁的线程从所述备份缓存中获取次新结果数值或者获取一预设数值。
为实现上述目的,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的基于加锁限制的数据库访问方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海钧正网络科技有限公司,未经上海钧正网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110225998.5/2.html,转载请声明来源钻瓜专利网。