一种缓存管理方法、装置、设备以及计算机可读存储介质制造方法及图纸

技术编号:30641251 阅读:37 留言:0更新日期:2021-11-04 00:37
本申请公开了一种缓存管理方法,包括:将缓存空间的数据分配到指定的缓存队列,并设定所述数据的状态与索引信息,以通过所述索引信息索引所述数据所在的缓存队列以及所述数据的状态;判断所述缓存空间的空间使用率是否达到预设调整门限值;若达到所述预设调整门限值,则调整所述数据所在的缓存队列和/或所述数据的状态;判断所述缓存空间的空间使用率是否达到预设淘汰门限值;若达到所述预设淘汰门限值,则删除所述缓存队列中的指定数据。该方法能够避免缓存污染,提高管理效率。本申请还公开了一种缓存管理装置、设备以及计算机可读存储介质,均具有上述技术效果。均具有上述技术效果。均具有上述技术效果。

【技术实现步骤摘要】
一种缓存管理方法、装置、设备以及计算机可读存储介质


[0001]本申请涉及存储
,特别涉及一种缓存管理方法;还涉及一种缓存管理装置、设备以及计算机可读存储介质。

技术介绍

[0002]普通意义上,对于处理南北向速度相差较大的两种硬件,用于协调两者数据传输速度差异的结构被称为缓存。例如内存可以作为硬盘和CPU之间的缓存。缓存性能的重要指标是命中率,即在缓存中命中待访问数据的概率。最优的场景是所有待访问数据均发生在缓存中,这就需要更好的缓存管理算法能够预知客户端的数据访问行为,从而预判将数据预先读取到缓存,提升命中率,高命中率对系统带来更高的性能变现。然而,缓存空间是有限的,为了避免发生缓存空间满的情况,缓存管理算法要实现的功能是对数据空间进行调整,实现冷热数据的调整,通过淘汰冷数据进行空间回收。
[0003]LRU(Least Recently Used,最近最少使用)算法是缓存管理领域通常被参考和使用的算法模型,其核心思想是如果数据过去被访问多次,那么将来被访问的频率也更高,即根据数据的历史访问频率来淘汰数据。虽然从命中率角度分析当存在热点数据时,LRU的效率很好,但偶发性的、周期性的批量操作会导致LRU命中率急剧下降。LRU的优势在于实现简单,但是代价是查找效率低,存在缓存污染,即无法识别冷热数据,管理效率低。
[0004]因此,如何避免缓存污染,提高管理效率已成为本领域技术人员亟待解决的技术问题。

技术实现思路

[0005]本申请的目的是提供一种缓存管理方法,能够避免缓存污染,提高管理效率。本申请的另一个目的是提供一种缓存管理装置、设备以及计算机可读存储介质,均具有上述技术效果。
[0006]为解决上述技术问题,本申请提供了一种缓存管理方法,包括:
[0007]将缓存空间的数据分配到指定的缓存队列,并设定所述数据的状态与索引信息,以通过所述索引信息索引所述数据所在的缓存队列以及所述数据的状态;
[0008]判断所述缓存空间的空间使用率是否达到预设调整门限值;
[0009]若达到所述预设调整门限值,则调整所述数据所在的缓存队列和/或所述数据的状态;
[0010]判断所述缓存空间的空间使用率是否达到预设淘汰门限值;
[0011]若达到所述预设淘汰门限值,则删除所述缓存队列中的指定数据。
[0012]可选的,所述缓存队列包括:热数据LRU队列、预热数据LRU队列以及冷却数据LRU队列;所述热数据LRU队列用于保存访问次数达到预设值的数据;所述预热数据LRU队列用于保存新进入所述缓存空间的数据以及所述热数据LRU队列淘汰的数据;所述冷却数据LRU队列用于保存从所述预热数据LRU队列中淘汰的数据。
[0013]可选的,所述数据的状态包括系统状态与数据状态;所述系统状态包括热状态、预热状态以及冷却状态;所述数据状态包括dirty状态与clean状态。
[0014]可选的,所述调整所述数据所在的缓存队列和/或所述数据的状态包括:
[0015]判断所述热数据LRU队列的数据量是否大于第一门限值;
[0016]若所述热数据LRU队列的数据量大于所述第一门限值,则从所述热数据LRU队列的表头开始,逐一将所述热数据LRU队列中的数据调整到所述预热数据LRU队列的表尾,直至所述热数据LRU队列的数据量不大于所述第一门限值;
[0017]若所述热数据LRU队列的数据量不大于所述第一门限值,则判断所述预热数据LRU队列的数据量是否大于第二门限值;
[0018]若所述预热数据LRU队列的数据量大于所述第二门限值,则根据预设调整策略,将所述预热数据LRU队列中的数据调整到所述冷却数据LRU队列的表尾,直至所述预热数据LRU队列的数据量不大于所述第二门限值;
[0019]若所述预热数据LRU队列的数据量不大于所述第二门限值,则下刷所述冷却数据LRU队列中的系统状态为冷却状态且数据状态为dirty状态的数据,并将下刷的所述数据的数据状态更新为clean状态,直到所述冷却数据LRU队列中的系统状态为非冷却状态且数据状态为dirty状态的数据的数据量不大于第三门限值。
[0020]可选的,所述根据预设调整策略,将所述预热数据LRU队列中的数据调整到所述冷却数据LRU队列的表尾,直至所述预热数据LRU队列的数据量不大于所述第二门限值包括:
[0021]从所述预热数据LRU队列的表头开始,将所述预热数据LRU队列中的系统状态为冷却状态的数据调整到所述冷却数据LRU队列的表尾,并在将所述预热数据LRU队列中的系统状态为冷却状态的数据全部调整到所述冷却数据LRU队列后,将所述预热数据LRU队列中的系统状态为预热状态的数据调整为冷却状态,将所述预热数据LRU队列中的系统状态为热状态的数据调整为预热状态,直至所述预热数据LRU队列的数据量不大于所述第二门限值。
[0022]可选的,删除所述缓存队列中的指定数据包括:
[0023]从所述冷却数据LRU队列的表头开始,将所述冷却数据LRU队列中数据状态为clean状态的数据删除。
[0024]可选的,所述索引信息存储于子树中;所述子树与所述数据的数据ID的哈希值相对应。
[0025]为解决上述技术问题,本申请还提供了一种缓存管理装置,包括:
[0026]分配与设定模块,用于将缓存空间的数据分配到指定的缓存队列,并设定所述数据的状态与索引信息,以通过所述索引信息索引所述数据所在的缓存队列以及所述数据的状态;
[0027]第一判断模块,用于判断所述缓存空间的空间使用率是否达到预设调整门限值;
[0028]调整模块,用于若达到所述预设调整门限值,则调整所述数据所在的缓存队列和/或所述数据的状态;
[0029]第二判断模块,用于判断所述缓存空间的空间使用率是否达到预设淘汰门限值;
[0030]删除模块,用于若达到所述预设淘汰门限值,则删除所述缓存队列中的指定数据。
[0031]为解决上述技术问题,本申请还提供了一种缓存管理设备,包括:
[0032]存储器,用于存储计算机程序;
[0033]处理器,用于执行所述计算机程序时实现如上任一项所述的缓存管理方法的步骤。
[0034]为解决上述技术问题,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述的缓存管理方法的步骤。
[0035]本申请所提供的缓存管理方法,包括:将缓存空间的数据分配到指定的缓存队列,并设定所述数据的状态与索引信息,以通过所述索引信息索引所述数据所在的缓存队列以及所述数据的状态;判断所述缓存空间的空间使用率是否达到预设调整门限值;若达到所述预设调整门限值,则调整所述数据所在的缓存队列和/或所述数据的状态;判断所述缓存空间的空间使用率是否达到预设淘汰门限值;若达到所述预设淘汰门限值,则删除所述缓存队列中的指定数据。
[0036]可见,本申请所本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种缓存管理方法,其特征在于,包括:将缓存空间的数据分配到指定的缓存队列,并设定所述数据的状态与索引信息,以通过所述索引信息索引所述数据所在的缓存队列以及所述数据的状态;判断所述缓存空间的空间使用率是否达到预设调整门限值;若达到所述预设调整门限值,则调整所述数据所在的缓存队列和/或所述数据的状态;判断所述缓存空间的空间使用率是否达到预设淘汰门限值;若达到所述预设淘汰门限值,则删除所述缓存队列中的指定数据。2.根据权利要求1所述的缓存管理方法,其特征在于,所述缓存队列包括:热数据LRU队列、预热数据LRU队列以及冷却数据LRU队列;所述热数据LRU队列用于保存访问次数达到预设值的数据;所述预热数据LRU队列用于保存新进入所述缓存空间的数据以及所述热数据LRU队列淘汰的数据;所述冷却数据LRU队列用于保存从所述预热数据LRU队列中淘汰的数据。3.根据权利要求1所述的缓存管理方法,其特征在于,所述数据的状态包括系统状态与数据状态;所述系统状态包括热状态、预热状态以及冷却状态;所述数据状态包括dirty状态与clean状态。4.根据权利要求2所述的缓存管理方法,其特征在于,所述调整所述数据所在的缓存队列和/或所述数据的状态包括:判断所述热数据LRU队列的数据量是否大于第一门限值;若所述热数据LRU队列的数据量大于所述第一门限值,则从所述热数据LRU队列的表头开始,逐一将所述热数据LRU队列中的数据调整到所述预热数据LRU队列的表尾,直至所述热数据LRU队列的数据量不大于所述第一门限值;若所述热数据LRU队列的数据量不大于所述第一门限值,则判断所述预热数据LRU队列的数据量是否大于第二门限值;若所述预热数据LRU队列的数据量大于所述第二门限值,则根据预设调整策略,将所述预热数据LRU队列中的数据调整到所述冷却数据LRU队列的表尾,直至所述预热数据LRU队列的数据量不大于所述第二门限值;若所述预热数据LRU队列的数据量不大于所述第二门限值,则下刷所述冷却数据LRU队列中的系统状态为冷却状态且数据状态为dirty状态的数据,并将下刷的所述数据的数据状态更新为clean状态,直到所述冷却数据LRU队列中的系统状...

【专利技术属性】
技术研发人员:樊云龙颜秉珩
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:

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

1