System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种数据库缓存处理方法、装置、系统及介质制造方法及图纸_技高网

一种数据库缓存处理方法、装置、系统及介质制造方法及图纸

技术编号:40639796 阅读:4 留言:0更新日期:2024-03-13 21:22
本发明专利技术公开了一种数据库缓存处理方法、装置、系统及介质,方法包括:将缓存空间划分为读写缓存空间和只读缓存空间;创建LRU链表和Reserved链表,LRU链表用于维护读写缓存空间中的页面,Reserved链表用于维护只读缓存空间中的页面;根据缓存空间中所有页面的状态统计业务负载指标,基于业务负载指标自适应动态调整Reserved链表与LRU链表的目标容量比;根据目标容量比控制LRU链表中维护的页面向Reserved链表的动态移动。通过LRU链表和Reserved链表分别维护读写缓存与只读缓存,使得两类链表中的页面都可以被访问,提高缓存资源利用率,并且基于业务负载指标自适应动态调整两类链表的容量比,自动平衡缓存使用率和空闲页面申请效率,在提高缓存利用率的同时确保数据加载效率。

【技术实现步骤摘要】

本专利技术涉及数据库,尤其涉及一种数据库缓存处理方法、装置、系统及介质


技术介绍

1、当频繁查询相同的数据时,每次到磁盘上查找数据是非常耗时的,所以数据库将频繁访问的数据放到内存中,可以减少磁盘访问操作,提高数据库的响应速度。

2、数据库页面缓存一般采用lru(latest recent used,最近最少使用)算法维护页面的使用热度,后台进程定时淘汰最早最少使用的页面,淘汰后的页面放入free list(空闲链表)备用。现有的缓存方式中,若free list过小,有较大概率它是空的,页面申请时就需要遍历lru链表寻找空闲的,时间代价高;若free list过大,则其中部分页面是完全没有被使用的内存,导致资源浪费。因此如何优化数据库缓存的问题还亟待解决。


技术实现思路

1、鉴于上述现有技术的不足,本专利技术的目的在于提供可应用于金融科技或其它相关领域的一种数据库缓存处理方法、装置、系统及介质,旨在提高缓存利用率的同时确保数据加载效率。

2、本专利技术的技术方案如下:

3、一种数据库缓存处理方法,包括:

4、将缓存空间划分为读写缓存空间和只读缓存空间;

5、创建lru链表和reserved链表,所述lru链表用于维护所述读写缓存空间中的页面,所述reserved链表用于维护所述只读缓存空间中的页面;

6、根据所述缓存空间中所有页面的状态统计业务负载指标,基于所述业务负载指标自适应动态调整所述reserved链表与lru链表的目标容量比;

7、根据所述目标容量比控制所述lru链表中维护的页面向所述reserved链表的动态移动。

8、在一个实施例中,所述根据所述缓存空间中所有页面的状态统计业务负载指标,基于所述业务负载指标自适应动态调整所述reserved链表与lru链表的目标容量比,包括:

9、每隔第一预设时间统计所有页面中被修改的页面数量;

10、根据所述被修改的页面数量计算当前的脏页比率;

11、根据所述脏页比率自适应动态调整所述reserved链表与lru链表的目标容量比。

12、在一个实施例中,所述根据所述脏页比率自适应动态调整所述reserved链表与lru链表的目标容量比,具体包括:

13、按公式v=(1-a)*k自适应动态调整所述目标容量比,其中,v为所述目标容量比,a为当前的脏页比率,k为预设比率阈值。

14、在一个实施例中,所述根据所述目标容量比控制所述lru链表中维护的页面向所述reserved链表的动态移动,包括:

15、每隔第二预设时间计算当前reserved链表与lru链表的实际容量比;

16、若所述实际容量比小于所述目标容量比,则从所述lru链表的尾部开始遍历可淘汰页面并加入到待移除集合中,直到达到停止遍历条件;

17、将所述待移除集合中的页面从所述lru链表中删除并移动到所述reserved链表中。

18、在一个实施例中,所述方法还包括:

19、当接收到页面修改请求时,确认待修改页面是否在所述reserved链表中;

20、若是,则将所述待修改页面从所述reserved链表中删除,并加入到所述lru链表的指定位置处。

21、在一个实施例中,所述方法还包括:

22、当请求访问的页面不在所述缓存空间时,从所述reserved链表的尾部开始循环遍历,直到找到当前没有被读取的页面作为空闲页面进行页面加载。

23、在一个实施例中,所述lru链表和所述reserved链表均采用lru算法维护页面热度。

24、一种数据库缓存处理装置,包括:

25、空间划分模块,用于将缓存空间划分为读写缓存空间和只读缓存空间;

26、创建模块,用于创建lru链表和reserved链表,所述lru链表用于维护所述读写缓存空间中的页面,所述reserved链表用于维护所述只读缓存空间中的页面;

27、自适应模块,用于根据所述缓存空间中所有页面的状态统计业务负载指标,基于所述业务负载指标自适应动态调整所述reserved链表与lru链表的目标容量比;

28、动态移动模块,用于根据所述目标容量比控制所述lru链表中维护的页面向所述reserved链表的动态移动。

29、一种数据库缓存处理系统,所述系统包括至少一个处理器;以及,

30、与所述至少一个处理器通信连接的存储器;其中,

31、所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述数据库缓存处理方法。

32、一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器执行上述的数据库缓存处理方法。

33、有益效果:本专利技术公开了一种数据库缓存处理方法、装置、系统及介质,相比于现有技术,本专利技术实施例通过lru链表和reserved链表分别维护读写缓存与只读缓存,使得两类链表中的页面都可以被访问,提高缓存资源利用率,并且基于业务负载指标自适应动态调整两类链表的容量比,自动平衡缓存使用率和空闲页面申请效率,在提高缓存利用率的同时确保数据加载效率。

本文档来自技高网...

【技术保护点】

1.一种数据库缓存处理方法,其特征在于,包括:

2.根据权利要求1所述的数据库缓存处理方法,其特征在于,所述根据所述缓存空间中所有页面的状态统计业务负载指标,基于所述业务负载指标自适应动态调整所述Reserved链表与LRU链表的目标容量比,包括:

3.根据权利要求2所述的数据库缓存处理方法,其特征在于,所述根据所述脏页比率自适应动态调整所述Reserved链表与LRU链表的目标容量比,具体包括:

4.根据权利要求1所述的数据库缓存处理方法,其特征在于,所述根据所述目标容量比控制所述LRU链表中维护的页面向所述Reserved链表的动态移动,包括:

5.根据权利要求1所述的数据库缓存处理方法,其特征在于,所述方法还包括:

6.根据权利要求1所述的数据库缓存处理方法,其特征在于,所述方法还包括:

7.根据权利要求1-6任意一项所述的数据库缓存处理方法,其特征在于,所述LRU链表和所述Reserved链表均采用LRU算法维护页面热度。

8.一种数据库缓存处理装置,其特征在于,包括:

9.一种数据库缓存处理系统,其特征在于,所述系统包括至少一个处理器;以及,

10.一种非易失性计算机可读存储介质,其特征在于,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器执行权利要求1-7任一项所述的数据库缓存处理方法。

...

【技术特征摘要】

1.一种数据库缓存处理方法,其特征在于,包括:

2.根据权利要求1所述的数据库缓存处理方法,其特征在于,所述根据所述缓存空间中所有页面的状态统计业务负载指标,基于所述业务负载指标自适应动态调整所述reserved链表与lru链表的目标容量比,包括:

3.根据权利要求2所述的数据库缓存处理方法,其特征在于,所述根据所述脏页比率自适应动态调整所述reserved链表与lru链表的目标容量比,具体包括:

4.根据权利要求1所述的数据库缓存处理方法,其特征在于,所述根据所述目标容量比控制所述lru链表中维护的页面向所述reserved链表的动态移动,包括:

5.根据权利要求1所述的数据库缓存处理方法,其...

【专利技术属性】
技术研发人员:刘永平
申请(专利权)人:金篆信科有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1