[发明专利]一种缓存管理方法和装置有效
申请号: | 201310097248.X | 申请日: | 2013-03-25 |
公开(公告)号: | CN104077242B | 公开(公告)日: | 2017-03-29 |
发明(设计)人: | 姜继;熊劲;蒋德钧 | 申请(专利权)人: | 华为技术有限公司;中国科学院计算技术研究所 |
主分类号: | G06F12/12 | 分类号: | G06F12/12 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙)44285 | 代理人: | 唐华明 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 缓存 管理 方法 装置 | ||
技术领域
本发明涉及计算机领域,具体涉及一种缓存管理方法和装置。
背景技术
在计算机领域中,缓存(Caching)是一个基础研究。缓存主要是通过不同等级的存储介质存储数据,例如:将一个存储速度相对高速但存储容量较小的缓存介质,放在一个存储速度相对较慢但是存储容量较大的存储介质之前,由该存储容量较小的缓存介质对经常使用的数据进行存储,使得设备对用户需求可以有快速反应。
缓存算法通过管理缓存中的内容,使得更多的请求可以在性能更好的缓存中得到服务,避免从更底层的相对慢速的存储中取回数据,从而提高整个系统的性能。缓存被广泛使用在数据库,虚拟内容管理,存储系统等。
现有技术中,关于缓存管理的方法有多种。一种典型的管理方法是基于时效性(Recency)的缓存管理方法,时效性好可以理解为一个页在访问后的短时间会再次访问。基于时效性的缓存的管理方法主要是最近最少使用(LRU,Least-Recently-Used)。LRU的主要特点包括:缓存的组织形式为一条链表,如图1所示,该链表分为最近最常使用端(MRU,Most-Recently-Used)和最近最少使用(LRU)端,被请求的页(即新加入的页面,或者命中缓存中的页面)移至缓存的MRU段,链表中原有的页被顺序的向右移动一个单位(本文中移动的单位都是以页(Page)为单位),则链表中原有LRU端的页则可能被移除链表。基于时效性的缓存的管理方法的确定是没有关注页的频率信息,例如:访问1次的页与访问1000次的页在缓存中不能区别对待;而且,基于时效性的缓存的管理方法(如LRU)容易受扫描式访问等一次访问数据的影响,造成缓存污染,例如:如果有大量一次性访问的数据流,则在原先在缓存中链表中的页都会被大量一次性访问的数据替换,该替换将缓存中利用价值高的页也被替换掉,造成了缓存污染。
现有技术中,另一种典型的管理方法是基于频率的缓存管理方法,例如:最少频率访问(LFU,Least-Frequently-Used),其中,缓存的组织形式为一条 链表,如图2所示,该链表中的页面是按照访问次数排序的,该链表头部为最多频率使用端(MFU,Most-Frequently-Used),链表尾部为最少频率使用(LFU)端。若访问的页面在缓存中命中,则增加该页面的访问次数,并重新排序。若访问的页面不在缓存中,则替换LFU端的页面,并将当前访问的页面接入到缓存中。则链表中MFU端的页由于较多的访问次数,则可能很久都不能移除链表。因此,该技术的缺陷是:基于频率的缓存替换算法记录每个页的访问次数,当该页不再被访问时,由于之前积累了较多的访问次数,使得一个不再有价值的页需要长时间才能从缓存中替换出去,即历史效应导致陈旧数据滞留缓存。同时,LFU由于需要按访问次数进行排序,时间复杂度较高。
现有技术中还有基于频率和时效性的缓存管理方法,例如:动态替换缓存(ARC,Adaptive-Replacement-Cache)方法。但,这类基于频率和时效性的缓存管理方法缺点在于仅区分访问一次与访问两次及更多的数据,使得缓存算法无法通过频率信息做出更准确的判断,如访问2次的数据可以将访问过2000次的数据替换出缓存。
发明内容
本发明实施例提供了一种缓存管理方法和装置,至少能有效解决现有技术中未考虑频率因素导致数据被轻易替换,易造成缓存污染的问题。
本发明实施例第一方面提供一种缓存管理方法,在缓存中至少包括实体缓存,所述实体缓存通过链表L1管理维护,所述链表L1至少被划分为多于一段,
所述方法包括:
获取链表L1尾部的页为替换候选页;
判断所述替换候选页的访问计数是否大于X次;
如果不大于X次,将所述替换候选页从所述链表L1中删除;
如果大于X次,根据所述链表L1中各段分段信息,将所述候选页添加到对应的分段内,并将所述替换候选页的访问计数重置为Y次;重复执行所述获取链表L1尾部的页为替换候选页的操作,直到有替换候选页从所述链表L1中删除;
其中,X,Y分别为整数;所述链表L1中各段分段信息至少包括:被添加的所述替换候选页的访问次数范围,其中,从链表L1尾部的段到链表L1头部的段中,每段要求被添加的所述替换候选页的访问次数依次增加。
在第一种可能的实现方式中,根据第一方面,所述获取链表L1尾部的页为替换候选页之前,所述方法还包括:
获取用户选择的请求页;
判断所述请求页是否命中所述链表L1中的页;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司;中国科学院计算技术研究所,未经华为技术有限公司;中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310097248.X/2.html,转载请声明来源钻瓜专利网。