缓存管理的方法、系统和计算机程序产品技术方案

技术编号:37363535 阅读:13 留言:0更新日期:2023-04-27 07:11
本公开的实施例涉及缓存管理的方法、设备和计算机程序产品。提供了一种缓存管理的方法,该方法包括:至少部分地基于缓存中多个条目所对应的数据块的压缩率,确定多个条目各自的淘汰分数,淘汰分数与压缩率成比例;将多个条目中的淘汰分数较低的至少一个条目从缓存中移除。根据在此描述的实施例,优化了缓存条目的保留和淘汰策略,从而提高了使用缓存的收益。益。益。

【技术实现步骤摘要】
缓存管理的方法、系统和计算机程序产品


[0001]本公开的实施例涉及存储技术,并且更具体地,涉及缓存管理方法、系统和计算机程序产品。

技术介绍

[0002]缓存是现代存储系统的重要组成部分,对于存储系统的性能至关重要。缓存管理的一个方面是在缓存中尽可能保留能够带来最大收益的缓存数据,同时将收益相对较低的缓存数据移除。传统的管理缓存的方法通常基于缓存中缓存数据上次被访问的时间、命中率等来决定将哪些条目移除或保留在缓存中。然而,传统方法在某些场景中可能无法获得优化的结果。例如,在诸如缩减存储数据等场景中,按照传统方法所保留的缓存对达成业务目标可能不是优化的。

技术实现思路

[0003]本公开的实施例提供了一种用于缓存管理的方案。
[0004]在本公开的第一方面,提供了一种缓存管理的方法。该方法包括:至少部分地基于缓存中多个条目所对应的数据块的压缩率,确定多个条目各自的淘汰分数,淘汰分数与压缩率成比例;将多个条目中的淘汰分数较低的至少一个条目从缓存中移除。
[0005]在本公开的第二方面,提供了一种电子设备。该设备包括处理器以及与所述处理器耦合的存储器,该存储器具有存储于其中的指令,该指令在被处理器执行时使所述设备执行动作,该动作包括:至少部分地基于缓存中多个条目所对应的数据块的压缩率,确定所述多个条目各自的淘汰分数,所述淘汰分数与所述压缩率成比例;将所述多个条目中的所述淘汰分数较低的至少一个条目从所述缓存中移除。
[0006]在本公开的第三方面,提供了一种计算机程序产品,该计算机程序产品被有形地存储在计算机可读介质上并且包括机器可执行指令,该机器可执行指令在被执行时使机器执行根据本公开的第一方面的方法。
[0007]请注意,提供本
技术实现思路
是为了以简化的形式来介绍对概念的选择,这些概念在下文的具体实施方式中将被进一步描述。
技术实现思路
部分无意标识本公开内容的关键特征或主要特征,也无意限制本公开内容的范围。
附图说明
[0008]通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中:
[0009]图1图示了本公开的实施例的设备和/或方法可以在其中被实现的示例环境的示意图;
[0010]图2图示了使用传统方案执行缓存管理的示例场景;
[0011]图3图示了根据本公开某些实施例的缓存管理方法的流程图;
[0012]图4图示了根据本公开某些实施例的确定淘汰分数的示例方法的流程图;以及
[0013]图5示出了可以用来实现本公开的实施例的设备的示意性框图。
[0014]在所有附图中,相同或相似的附图标记表示相同或相似的元素。
具体实施方式
[0015]下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
[0016]本文中使用的术语“缓存”是指计算系统中的高速数据临时存储区域,其在硬件和软件中都可以被实现。缓存通常将最常执行的程序和数据存储在其中,以便这些程序和数据在被请求时能够快速被访问。例如,缓存中可以存储处理器(例如,CPU)当前操作(诸如,将数据写入存储装置的操作)所需要的程序和数据。
[0017]本文中使用的术语“条目”是指以某种方式与特定数据对应(诸如,含有可以标识相同数据块的副本的标识符)的数据记录。
[0018]本文中使用的术语“数据块”在本文中广义地是指被可以被读取、写入、处理、传输或存储的某种数据单元。例如,数据块可以是数据在被写入存储装置时被拆分成的数据单元。
[0019]本文中使用的术语“压缩率”是指数据压缩后的大小与压缩前的大小之比,压缩率越低,该数据被压缩的程度越高。例如,在虚拟化存储环境中,数据块被压缩并且经由虚拟重定向层或直接被存储在物理层的存储位置处,该数据块的压缩率可以是数据块的原始大小与该数据块在该存储位置处被存储的物理大小之比。
[0020]本文中使用的术语“缓存命中率”,是请求缓存时所请求的目标(例如,特定条目)在缓存中存在的次数与该目标被请求的次数之比,命中率越高,表明缓存该目标的收益越高。
[0021]本文中提及数据的“上次访问时间”,是指数据最近一次被访问的时间,例如,缓存中的某个条目最近一次被访问的时间。
[0022]本文中使用的术语“重删”是术语“重复数据删除”的简称。重复数据删除是指通过将存储在物理空间中的相同数据块缩减为仅存储该数据块的单个副本来节约存储空间的技术。术语“在线重删”指在将数据写入存储装置期间来执行对数据的重删。例如,对于闪存存储阵列,在线重删减少了写入物理驱动器的数据量,减少了对存储介质(诸如固态硬盘(SSD)中的闪存)的磨损,进而延长了驱动器的寿命。
[0023]一种常见的在线重删方法是将数据分成数据块并且为每个数据块分配唯一的标识符。在数据块要被写入时,可以检查该数据块的标识符以查看其副本是否已经存在于存储装置中。如果是,则该数据块的新副本不会被写入。然而,由于在线重删发生向存储装置传送数据期间,因此很难对所有传入的数据块执行重删。通常,可以在缓存中存储一组条目,其中每个条目与数据块对应,指示该数据块的副本要被写入存储装置时,应对该副本执行重删。
[0024]本文中使用的术语“满足阈值”是指小于阈值、小于或等于阈值、等于阈值、大于或
等于阈值、大于阈值。术语“满足某个百分比”,是指小于某个百分比,小于或等于某个百分比、等于某个百分比、大于或等于某个百分比,大于某个百分比。
[0025]本文中使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”。其他术语的相关定义将在下文描述中给出。
[0026]传统的缓存管理技术所筛选出的缓存并不总是优化的。例如在用于结合压缩技术的在线重删的缓存中,即使是命中率和上次访问时间都相同的两组缓存条目,由于这些条目所对应的数据块的压缩率不同,使用这两组缓存条目进行重删可以得到的收益也可能有很大不同,而传统的技术并不能优选出其中收益更高的条目。
[0027]为至少部分地解决上述问题以及其它潜在问题,本公开的实施例提出了一种使用缓存中的条目所对应的数据块的压缩率来执行缓存管理的方案。该方案确定缓存中多个条目各自的淘汰分数,并且将多个条目中淘汰分数较低的条目从缓存中移除,其中每个条目的淘汰分数与该条目所对应的数据块的压缩率成比例。相比传统技术,使用本公开的方案的缓存管理优化了缓存中条目的保留和淘汰策略,从而进一步提高了使用缓存的收益。
[0028]图1示出了本公开的实施例的设备和/或方法可以在其中被实现的示例环境1本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种缓存管理的方法,包括:至少部分地基于缓存中多个条目所对应的数据块的压缩率,确定所述多个条目各自的淘汰分数,所述淘汰分数与所述压缩率成比例;将所述多个条目中的所述淘汰分数较低的至少一个条目从所述缓存中移除。2.根据权利要求1所述的方法,其中所述淘汰分数还基于相应条目的不同于所述压缩率的至少一项附加特性而被确定。3.根据权利要求2所述的方法,其中所述附加特性包括以下一项或多项:缓存命中率,以及上次访问时间。4.根据权利要求2所述的方法,其中确定所述多个条目各自的淘汰分数包括:将所述多个条目基于对应数据块的所述压缩率划分成多个分组,使得同一分组中的条目所对应的数据块具有相同或相似的压缩率;以及基于所述至少一项附加特性,来确定所述多个分组各自的分组淘汰分数,作为相应分组中条目的所述淘汰分数。5.根据权利要求4所述的方法,其中所述移除包括:将分组淘汰分数较低的一组或多组条目中的至少一部分条目从所述缓存中移除。6.一种电子设备,包括:处理器;以及与所述处理器耦合的存储器,所述存储器具有存储于其中的指令,所述指令在被处理器执行时使所述设备执行动作,所述动作包括:至...

【专利技术属性】
技术研发人员:姜昌旭王飞
申请(专利权)人:戴尔产品有限公司
类型:发明
国别省市:

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

1