一种缓存淘汰策略的实时调整方法及装置与流程

文档序号:12596012阅读:492来源:国知局
一种缓存淘汰策略的实时调整方法及装置与流程

本发明涉及存储系统缓存技术领域,特别是涉及一种缓存淘汰策略的实时调整方法及装置。



背景技术:

在存储系统中,不同缓存算法各有优劣,比如FIFO算法在顺序访问居多的场景下能够提供较好的缓存命中率,但对于随机访问居多的IO,由于不能区分缓存块的热度,容易将较热数据淘汰出去。LRU算法在随机访问的业务中能够识别缓存块的热度,防止热数据被过早的淘汰,但是当热点数据发生切换时,被识别为热数据的缓存块会长久的占用内存,导致缓存污染,降低了整个系统的缓存命中率。可见,传统缓存算法的适应性较差,不能针对不同的业务进行实时的调整。



技术实现要素:

本发明的目的是提供一种缓存淘汰策略的实时调整方法及装置,以解决现有缓存算法适应性差,不能针对不同的业务进行实时调整的问题。

为解决上述技术问题,本发明提供一种缓存淘汰策略的实时调整方法,包括:

按照不同的缓存淘汰策略对业务进行采样,实时统计各缓存淘汰策略缓存数据的缓存命中率;

根据所述缓存命中率计算将当前缓存淘汰策略切换为其他缓存淘汰策略的切换开销因子;

当所述切换开销因子小于预设阈值时,对所述当前缓存淘汰策略进行切换。

可选地,所述根据所述缓存命中率计算将当前缓存淘汰策略切换为其他缓存淘汰策略的切换开销因子包括:

对所述缓存命中率以及缓存数据量进行加权计算,分别确定将当前缓存淘汰策略切换为其他各缓存淘汰策略的切换开销因子。

可选地,所述当所述切换开销因子小于预设阈值时,对所述当前缓存淘汰策略进行切换包括:

当所述切换开销因子小于预设阈值时,将所述当前缓存淘汰策略切换为其他缓存淘汰策略中切换开销因子最小的一个。

可选地,所述对所述当前缓存淘汰策略进行切换包括:

将所述当前缓存淘汰策略的缓存数据块热度统计信息使用切换后的缓存淘汰策略体现和组织。

可选地,所述当前缓存淘汰策略为预先设置的默认缓存淘汰策略。

本发明还提供了一种缓存淘汰策略的实时调整装置,包括:

统计模块,用于按照不同的缓存淘汰策略对业务进行采样,实时统计各缓存淘汰策略缓存数据的缓存命中率;

计算模块,用于根据所述缓存命中率计算将当前缓存淘汰策略切换为其他缓存淘汰策略的切换开销因子;

切换模块,用于当所述切换开销因子小于预设阈值时,对所述当前缓存淘汰策略进行切换。

可选地,所述计算模块具体为:对所述缓存命中率以及缓存数据量进行加权计算,分别确定将当前缓存淘汰策略切换为其他各缓存淘汰策略的切换开销因子的模块。

可选地,所述切换模块具体为:当所述切换开销因子小于预设阈值时,将所述当前缓存淘汰策略切换为其他缓存淘汰策略中切换开销因子最小的一个的模块。

可选地,所述切换模块具体为:将所述当前缓存淘汰策略的缓存数据块热度统计信息使用切换后的缓存淘汰策略体现和组织的模块。

本发明所提供的缓存淘汰策略的实时调整方法及装置,按照不同的缓存淘汰策略对业务进行采样,实时统计各缓存淘汰策略缓存数据的缓存命中率;根据缓存命中率计算将当前缓存淘汰策略切换为其他缓存淘汰策略的切换开销因子;当切换开销因子小于预设阈值时,对当前缓存淘汰策略进行切换。本申请通过缓存数据的实时命中率反馈,对缓存算法中的特性参数进行动态调整,能够有效提高缓存算法的适应能力,增加缓存的命中率,从而提高整个系统的性能。

附图说明

为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明所提供的缓存淘汰策略的实时调整方法的一种具体实施方式的流程图;

图2为本发明所提供的缓存淘汰策略的实时调整方法的原理示意图;

图3为本发明所提供的缓存淘汰策略的实时调整方法的处理过程示意图;

图4为缓存淘汰策略流程的切换示意图;

图5为本发明实施例提供的缓存淘汰策略的实时调整装置的结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明所提供的缓存淘汰策略的实时调整方法的一种具体实施方式的流程图如图1所示,该方法包括:

步骤S101:按照不同的缓存淘汰策略对业务进行采样,实时统计各缓存淘汰策略缓存数据的缓存命中率;

步骤S102:根据所述缓存命中率计算将当前缓存淘汰策略切换为其他缓存淘汰策略的切换开销因子;

其中,当前缓存淘汰策略可以为预先设置的默认缓存淘汰策略。

切换开销因子可以具体为结合缓存命中率以及缓存数据量等相关因素计算得到的开销数值,具体计算方法可以根据实际情况进行确定。

步骤S103:当所述切换开销因子小于预设阈值时,对所述当前缓存淘汰策略进行切换。

本发明所提供的缓存淘汰策略的实时调整方法,按照不同的缓存淘汰策略对业务进行采样,实时统计各缓存淘汰策略缓存数据的缓存命中率;根据缓存命中率计算将当前缓存淘汰策略切换为其他缓存淘汰策略的切换开销因子;当切换开销因子小于预设阈值时,对当前缓存淘汰策略进行切换。本申请通过缓存数据的实时命中率反馈,对缓存算法中的特性参数进行动态调整,能够有效提高缓存算法的适应能力,增加缓存的命中率,从而提高整个系统的性能。

在上述实施例的基础上,本发明所提供的缓存淘汰策略的实时调整方法,根据所述缓存命中率计算将当前缓存淘汰策略切换为其他缓存淘汰策略的切换开销因子的过程可以具体为:

对所述缓存命中率以及缓存数据量进行加权计算,分别确定将当前缓存淘汰策略切换为其他各缓存淘汰策略的切换开销因子。

进一步地,当所述切换开销因子小于预设阈值时,对所述当前缓存淘汰策略进行切换的过程可以具体为:

当所述切换开销因子小于预设阈值时,将所述当前缓存淘汰策略切换为其他缓存淘汰策略中切换开销因子最小的一个。

在上述任一实施例的基础上,本发明所提供的缓存淘汰策略的实时调整方法中,对所述当前缓存淘汰策略进行切换可以具体为:

将所述当前缓存淘汰策略的缓存数据块热度统计信息使用切换后的缓存淘汰策略体现和组织。

如图2本发明所提供的缓存淘汰策略的实时调整方法的原理示意图所示,缓存采样过程负责按不同的淘汰策略对业务进行采样,并实时记录采样结果的命中率;缓存策略集合负责提供真正的缓存置换策略,默认会选用一种缓存策略作为缓存系统的缓存淘汰策略;缓存策略管理过程负责综合评估缓存采样模块反馈的不同采样策略下命中率的好坏、缓存数据量的多少和缓存淘汰策略切换的开销等因素,计算切换开销因子,当切换开销因子小于设定阈值时会启动缓存策略切换。

如图3本发明所提供的缓存淘汰策略的实时调整方法的处理过程示意图所示,本实施例会通过采样获取不同缓存策略的命中率信息,并综合命中率优劣、缓存数据多少等因素计算切换开销因子,评价命中率与切换代价,并确定是否进行缓存淘汰策略切换,如果需要切换会进入图4缓存淘汰策略流程的切换示意图所示的过程。

下面对本发明实施例提供的缓存淘汰策略的实时调整装置进行介绍,下文描述的缓存淘汰策略的实时调整装置与上文描述的缓存淘汰策略的实时调整方法可相互对应参照。

图5为本发明实施例提供的缓存淘汰策略的实时调整装置的结构框图,参照图5缓存淘汰策略的实时调整装置可以包括:

统计模块100,用于按照不同的缓存淘汰策略对业务进行采样,实时统计各缓存淘汰策略缓存数据的缓存命中率;

计算模块200,用于根据所述缓存命中率计算将当前缓存淘汰策略切换为其他缓存淘汰策略的切换开销因子;

切换模块300,用于当所述切换开销因子小于预设阈值时,对所述当前缓存淘汰策略进行切换。

在上述实施例的基础上,本发明所提供的缓存淘汰策略的实时调整装置中,上述计算模块200可以具体为:对所述缓存命中率以及缓存数据量进行加权计算,分别确定将当前缓存淘汰策略切换为其他各缓存淘汰策略的切换开销因子的模块。

进一步地,上述切换模块300可以具体为:当所述切换开销因子小于预设阈值时,将所述当前缓存淘汰策略切换为其他缓存淘汰策略中切换开销因子最小的一个的模块。

在上述任一实施例的基础上,本发明所提供的缓存淘汰策略的实时调整装置中,上述切换模块300具体为:将所述当前缓存淘汰策略的缓存数据块热度统计信息使用切换后的缓存淘汰策略体现和组织的模块。

与传统缓存算法缓存淘汰策略单一、缓存算法适应能力差的特点相比,本申请所提供的缓存淘汰策略的实时调整方法及装置,能够根据业务数据实时调整缓存淘汰策略,提供最优的缓存策略;且缓存命中率明显优于传统缓存算法。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

以上对本发明所提供的缓存淘汰策略的实时调整方法以及装置进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1