一种缓存页的淘汰方法、装置、设备及介质制造方法及图纸

技术编号:30051888 阅读:20 留言:0更新日期:2021-09-15 10:54
本申请公开了一种缓存页的淘汰方法,包括:当要淘汰内存中的目标缓存页时,则将目标缓存页移至第一双向循环列表;若目标缓存页在预设时间内被主机命中,则将目标缓存页从第一双向循环列表中移除;若目标缓存页没有在预设时间内被主机命中,则将第二双向循环列表中的缓存页移至第三双向循环列表,将第一双向循环列表中的缓存页移至第二双向循环列表,并对第三双向循环列表中的缓存页进行释放。通过该方法不仅可以提高主机对缓存的命中概率,而且,也可以显著提升内存的资源利用率。相应的,本申请所提供的一种缓存页的淘汰装置、设备及介质,均具有上述有益效果。均具有上述有益效果。均具有上述有益效果。

【技术实现步骤摘要】
一种缓存页的淘汰方法、装置、设备及介质


[0001]本专利技术涉及计算机
,特别涉及一种缓存页的淘汰方法、装置、设备及介质。

技术介绍

[0002]由于内存的写入速度要远远大于硬盘的写入速度,因此,在SAN(Storage Area Network,存储区域网络)中通常会采用内存缓存机制来提升主机读写IO(Input/Output,输入输出)的速度。
[0003]在现有技术中,如果内存中的目标缓存页超过了一定的时长,通常会将目标缓存页从内存中移除淘汰,并将新的缓存页替换到内存中。但是,此种机制会降低主机对缓存的命中概率。目前,针对这一技术问题还没有较为有效的解决办法。

技术实现思路

[0004]有鉴于此,本专利技术的目的在于提供一种缓存页的淘汰方法、装置、设备及介质,以在提高主机对缓存命中概率的同时,也可以提升内存的资源利用率。其具体方案如下:
[0005]一种缓存页的淘汰方法,包括:
[0006]当要淘汰内存中的目标缓存页时,则将所述目标缓存页移至第一双向循环列表;其中,所述第一双向循环列表、第二双向循环列表和第三双向循环列表均为预先在所述内存中所创建用于存放缓存页的双向循环列表;
[0007]若所述目标缓存页在预设时间内被主机命中,则将所述目标缓存页从所述第一双向循环列表中移除;
[0008]若所述目标缓存页没有在所述预设时间内被所述主机命中,则将所述第二双向循环列表中的缓存页移至所述第三双向循环列表,将所述第一双向循环列表中的缓存页移至所述第二双向循环列表,并对所述第三双向循环列表中的缓存页进行释放。
[0009]优选的,所述将所述目标缓存页移至第一双向循环列表的过程,包括:
[0010]若所述第一双向循环列表为空列表,则令所述第一双向循环列表中anchor节点的前向指针和后向指针均指向所述目标缓存页,并令所述目标缓存页的前向指针和后向指针均指向所述第一双向循环列表中的anchor节点;
[0011]若所述第一双向循环列表为非空列表,则获取所述第一双向循环列表中anchor节点前向指针所指向的第一节点,令所述第一节点的后向指针指向所述目标缓存页,并令所述第一双向循环列表中anchor节点的前向指针指向所述目标缓存页。
[0012]优选的,所述将目标缓存页从所述第一双向循环列表中移除的过程,包括:
[0013]分别获取所述目标缓存页前向指针和后向指针所指向的第二节点和第三节点;
[0014]若所述第二节点和所述第三节点相同,则将所述第一双向循环列表中anchor节点的前向指针和后向指针均设置为空;
[0015]若所述第二节点和所述第三节点不同,则令所述第三节点的前向指针指向所述第
二节点,并令所述第二节点的后向指针指向所述第三节点。
[0016]优选的,所述将所述第二双向循环列表中的缓存页移至所述第三双向循环列表的过程,包括:
[0017]获取所述第二双向循环列表中anchor节点后向指针所指向的目标节点,并将所述目标节点移至所述第三双向循环列表;
[0018]重复执行所述获取所述第二双向循环列表中anchor节点后向指针所指向的目标节点,并将所述目标节点移至所述第三双向循环列表的步骤,直至所述第二双向循环列表中anchor节点后向指针所指向的节点为空。
[0019]优选的,所述将所述第一双向循环列表中的缓存页移至所述第二双向循环列表的过程,包括:
[0020]将所述第一双向循环列表中anchor节点的后向指针赋值于所述第二双向循环列表中anchor节点的后向指针,并将所述第一双向循环列表中anchor节点的前向指针赋值于所述第二双向循环列表中anchor节点的前向指针。
[0021]优选的,所述对所述第三双向循环列表中的缓存页进行释放的过程,包括:
[0022]通过异步处理方式对所述第三双向循环列表中的缓存页进行释放。
[0023]相应的,本专利技术还公开了一种缓存页的淘汰装置,包括:
[0024]第一操作模块,用于当要淘汰内存中的目标缓存页时,则将所述目标缓存页移至第一双向循环列表;其中,所述第一双向循环列表、第二双向循环列表和第三双向循环列表均为预先在所述内存中所创建用于存放缓存页的双向循环列表;
[0025]第二操作模块,用于若所述目标缓存页在预设时间内被主机命中,则将所述目标缓存页从所述第一双向循环列表中移除;
[0026]第三操作模块,用于若所述目标缓存页没有在所述预设时间内被所述主机命中,则将所述第二双向循环列表中的缓存页移至所述第三双向循环列表,将所述第一双向循环列表中的缓存页移至所述第二双向循环列,并对所述第三双向循环列表中的缓存页进行释放。
[0027]相应的,本专利技术还公开了一种缓存页的淘汰设备,包括:
[0028]存储器,用于存储计算机程序;
[0029]处理器,用于执行所述计算机程序时实现如前述所公开的一种缓存页的淘汰方法的步骤。
[0030]相应的,本专利技术还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前述所公开的一种缓存页的淘汰方法的步骤。
[0031]可见,在本专利技术中,是预先在内存中创建三个双向循环列表,当要淘汰内存中的目标缓存页时,则首先是将目标缓存页移至第一双向循环列表中,并判断目标缓存页是否在预设时间内被主机所命中,如果目标缓存页在预设时间内被主机所命中,则将目标缓存页从第一双向循环列表中移除;如果目标缓存页没有在预设时间内被主机所命中,则先将第二双向循环列表中的缓存页移至第三双向循环列表,并将第一双向循环列表中的缓存页移至第二双向循环列表中,之后,再将第三双向循环列表中的缓存页释放掉。显然,这样就相当于是将内存中被主机命中概率较高的缓存页进行了保留,而将内存中被主机命中概率较
低的缓存页进行了淘汰,所以,通过此种设置方式就可以提高主机对缓存的命中概率。并且,利用双向循环列表来对缓存页进行处理只需要维护一个链表节点就可以达到对缓存页进行筛选与淘汰的目的,由此就可以显著提升内存的资源利用率。相应的,本专利技术所提供的一种缓存页的淘汰装置、设备及介质,均具有上述有益效果。
附图说明
[0032]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0033]图1为本专利技术实施例所提供的一种缓存页的淘汰方法的流程图;
[0034]图2为双向循环列表的结构图;
[0035]图3为本专利技术实施例所提供的一种缓存页的淘汰装置的结构图;
[0036]图4为本专利技术实施例所提供的一种缓存页的淘汰设备的结构图。
具体实施方式
[0037]下面将结合本专利技术实施例中的附图,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种缓存页的淘汰方法,其特征在于,包括:当要淘汰内存中的目标缓存页时,则将所述目标缓存页移至第一双向循环列表;其中,所述第一双向循环列表、第二双向循环列表和第三双向循环列表均为预先在所述内存中所创建用于存放缓存页的双向循环列表;若所述目标缓存页在预设时间内被主机命中,则将所述目标缓存页从所述第一双向循环列表中移除;若所述目标缓存页没有在所述预设时间内被所述主机命中,则将所述第二双向循环列表中的缓存页移至所述第三双向循环列表,将所述第一双向循环列表中的缓存页移至所述第二双向循环列表,并对所述第三双向循环列表中的缓存页进行释放。2.根据权利要求1所述的淘汰方法,其特征在于,所述将所述目标缓存页移至第一双向循环列表的过程,包括:若所述第一双向循环列表为空列表,则令所述第一双向循环列表中anchor节点的前向指针和后向指针均指向所述目标缓存页,并令所述目标缓存页的前向指针和后向指针均指向所述第一双向循环列表中的anchor节点;若所述第一双向循环列表为非空列表,则获取所述第一双向循环列表中anchor节点前向指针所指向的第一节点,令所述第一节点的后向指针指向所述目标缓存页,并令所述第一双向循环列表中anchor节点的前向指针指向所述目标缓存页。3.根据权利要求1所述的淘汰方法,其特征在于,所述将目标缓存页从所述第一双向循环列表中移除的过程,包括:分别获取所述目标缓存页前向指针和后向指针所指向的第二节点和第三节点;若所述第二节点和所述第三节点相同,则将所述第一双向循环列表中anchor节点的前向指针和后向指针均设置为空;若所述第二节点和所述第三节点不同,则令所述第三节点的前向指针指向所述第二节点,并令所述第二节点的后向指针指向所述第三节点。4.根据权利要求1所述的淘汰方法,其特征在于,所述将所述第二双向循环列表中的缓存页移至所述第三双向循环列表的过程,包括:获取所述第二双向循环列表中anchor节点后向指针所指向的目标节点,并将所述目标节点移至所...

【专利技术属性】
技术研发人员:李志鹏
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1