CN101887400B - 缓存对象老化的方法和装置 - Google Patents
缓存对象老化的方法和装置 Download PDFInfo
- Publication number
- CN101887400B CN101887400B CN201010220547.4A CN201010220547A CN101887400B CN 101887400 B CN101887400 B CN 101887400B CN 201010220547 A CN201010220547 A CN 201010220547A CN 101887400 B CN101887400 B CN 101887400B
- Authority
- CN
- China
- Prior art keywords
- cache object
- weights
- probability
- accessed
- aging
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种缓存对象老化的方法和装置,本发明的方法包括:预测每个缓存对象在下个周期内被访问的概率;对于每个所述缓存对象,根据其下个周期内被访问的概率、所占用空间的权值来设置价值权值;老化所述价值权值最小的缓存对象。本发明还公开了一种缓存对象老化的装置。本发明由于在老化操作过程中,采用之前的访问概率对下一次的访问概率进行了预测,并权衡了缓存对象所占用的空间,从而将计算机设备中由于长时间不用的缓存对象老化,提高了缓存利用率。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种缓存对象老化的方法和装置。
背景技术
在采用缓存技术的***中,如果磁盘空间不足,需要老化未来价值最小的缓存对象,此缓存对象可以是一个具体的文件。缓存对象执行老化的过程可以是删除未来价值最小的缓存对象,或将未来价值最小的缓存对象所占用的空间设置可以覆盖的标记。未来价值主要由两个因素决定:被访问的概率和对象的大小。被访问的概率越大,则该缓存对象的未来价值越大;对象占用的空间越大,未来价值越小,因为在相同的磁盘空间内,存储的缓存对象越多,缓存命中率越高,磁盘空间产生的价值越大。
目前衡量一个缓存老化算法的指标主要有:
1、缓存命中率,缓存对象的命中的次数与用户总的请求次数的比值。
2、字节命中率,缓存对象命中的字节数与用户总的请求字节数的比值。
3、空间命中率,已使用的缓存空间与缓存总空间的比值。
4、响应时间,用户发出一个请求到用户收到响应数据的时间。
基于上述的衡量缓存老化的参考指标,目前常见的缓存老化算法有LRU,LFU,SIZE等。
LRU算法将近期最久未被访问的缓存对象删除,由于只考虑了对象的时间特征,效率并不高。LFU算法将使用频率最低的缓存对象删除,该算法存在缓存污染问题,即当缓存对象的访问次数较大时,即使该对象已经过时,也会保存较长时间。SIZE算法认为相同的磁盘空间存储的缓存对象数越大,磁盘空间产生的价值越大,因此选择将占用空间最大的缓存对象删除,该算法同样存在缓存污染问题,即一些小数据的缓存对象虽然已经过时但仍然长时间保存在缓存中。
将上述的缓存老化算法应用到计算机设备中,还会存在一些小数据的缓存对象,虽然已经长时间没用,但仍然未被老化,导致缓存利用率较低。
发明内容
本发明的主要目的在于提供一种缓存对象老化的方法和装置,以至少解决上述计算机设备中由于长时间不用的缓存对象未被老化,导致缓存利用率低的问题。
根据本发明的一个方面,提供一种缓存对象老化的方法,包括:预测每个缓存对象在下个周期内被访问的概率;对于每个所述缓存对象,根据其下个周期内被访问的概率、所占用空间的权值来设置价值权值;老化所述价值权值最小的缓存对象。
根据本发明的另一个方面,还提供一种缓存对象老化的装置,包括:预测模块,用于预测每个缓存对象在下个周期内被访问的概率;权值设置模块,用于对于每个所述缓存对象,根据其下个周期内被访问的概率、所占用空间的权值来设置价值权值;老化模块,用于老化所述价值权值最小的缓存对象。
由于在老化操作过程中,采用之前的访问概率对下一次的访问概率进行了预测,并权衡了缓存对象所占用的空间,从而将计算机设备中由于长时间不用的缓存对象老化,提高了缓存利用率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明的实施例一的流程图;
图2是本发明的实施例二的流程图;
图3是本发明的实施例二中第一种采样时间与采用周期的示意图;
图4是本发明的实施例二中第二种采样时间与采用周期的示意图;
图5是本发明的实施例二中第三种采样时间与采用周期的示意图;
图6是本发明的实施例三的结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
下面结合附图详细说明本发明的各个实施例,参见图1所示的实施例一的流程图,包括以下步骤:
S11:预测每个缓存对象在下个周期内被访问的概率;
预测下个周期内被访问的概率可采用多种方式,如采用前一个周期的概率来进行预测,或采用之前的多个周期的概率预测。
S12:对于每个所述缓存对象,根据其下个周期内被访问的概率、所占用空间的权值来设置价值权值;
在考虑选择缓存对象进行老化的过程中,不仅仅需要考虑其下个周期被访问的概率、还需要考虑缓存对象所占用的空间,从这两个方面衡量其价值权值。
S13:老化所述价值权值最小的缓存对象。
按照价值权值,老化其中的缓存对象,对于价值权值较高的缓存对象,其未来访问的可能性也越大;对于价值权值较低的缓存对象,其未来访问的可能性也越小。老化缓存对象时,可以选择部分老化,也可以选择价值权值最小的老化,还可以全部老化。
由于在老化操作过程中,采用之前的访问概率对下一次的访问概率进行了预测,并权衡了缓存对象所占用的空间,从而将计算机设备中由于长时间不用的缓存对象老化,提高了缓存利用率。
对于本发明,还可以有多种方式进行选择待老化的缓存对象,下面给出优选地实施例详细说明。参见图2所示流程图,包括以下步骤:
S21:对所有的缓存对象的大小规范化处理。
为了避免缓存对象间大小的差异弱化缓存对象间被访问的概率差异,需要对每个缓存对象的size做规范化处理。所谓规范化处理是指将所有数据控制在一定的范围内,归一化是一种典型的规范化处理,即将所有数据控制在0到1之间。本专利将每个缓存对象所占的空间控制在0.5到1之间,计算公式如下:
其中,s是缓存对象的占用的空间大小,Smax是各个缓存对象中的最大的缓存对象所占用的空间大小。
规范化处理后,获得数据对象所占用空间对应的权值当然,也可直接采用缓存对象所占用的空间执行后续步骤。
S22:判断采样周期是否到时,如果是,则执行步骤S23;否则继续判断。
S23:选择预测模型并确定系数。
在选择预测模型时,可选择指数模型预测下一周期内缓存对象被访问的概率。在选择指数模型中,单位时间内缓存对象被访问的概率与用户发出的请求次数是正相关的,指数模型的公式如下:
p=ceat其中,c,a是待定参数,P为被预测的下一个周期被访问的概率。
非线性回归模型通常可以通过适当的变换,转化为线性回归模型。对于上述的指数模型,可对两边取对数得到:
ln p=ln c+at
令则有:y=at+b 其中,a,b是常数;
此时,非线性模型已经转换为一元线性回归模型,只需要确定其中的参数a,b即可。
最后,缓存数据在下个周期被访问的概率的预测模型转换为其中,tn+1为第N+1个周期的结束时刻。
S24:判断是否满足老化条件,如果是,则执行步骤S25,否则继续判断;
老化条件可由计算机设备定时发出、或在预定的时间间隔发出、或磁盘空间达到一定负荷后发出等多种方式。
S25:依次判断是否还有缓存对象未设置价值权值,如果是,则执行S26;如果否,则执行S29。
S26:运算预测概率所需要的系数。
对于步骤S23中的系数a、b,可以采用最小二乘法估计。方法是计算使误差项的平方和F(a,b)最小:
根据最小二乘原理,应取a和b使F(a,b)有极小值,即a,b应满足如下方程的条件:
由方程组解得系数a和b:
其中,在运算系数a和b的过程中,公式中的K为n个周期中一个,yk为在这个周期内,数据对象被访问的概率P,此概率P可以采用上一次预测得到的概率,优选地,采用每个周期内数据对象被访问的统计概率。
缓存对象的统计概率,需要为每个缓存对象维护一个N元数组,记录最近N个周期中每个周期的访问概率p。
定义缓存对象f在时刻t被访问的概率p为:
其中,nt是缓存对象f在每个周期的(t-Δt,t)时间内被访问的次数;Nt是在(t-Δt,t)时间内用户发出的总的请求次数;Δt是固定的时间区间长度。
适合回归分析的数据应该具有一定的连续性,即能够用一条光滑的曲线将大部分的数据点连接起来。数据的该性质可以通过选取合适的Δt来保证。
Δt有三种选取方案:
方案(1):Δt<T,参见图3,连续两个Δt之间间隔一定时间;
方案(2):Δt=T,参见图4,连续两个Δt首尾相接;
方案(3):Δt>T,参见图5,连续两个Δt部分重叠。
其中,T是采样周期,即T=tk+1-tk
方案(1)是常用的选取方案,由于客户访问请求的到达属于随机事件,周期内被访问的次数是随机的,从而缓存对象被访问的概率也具有很大随机性,因此可能出现相邻数据间巨大差异,不适合做回归分析。
方案(2)也有方案(1)的问题,即无法保证数据的连续性。
方案(3)中,由于连续两个Δt部分重叠,因此可以保证一定的连续性。通过调整重叠部分的大小可以调节连续性的强弱。重叠部分越多,数据的连续性越好。连续两个Δt保持50%的重叠。这样既保证了一定的连续性,又便于实现。
由于在步骤S23中,已经推导出在指数模型中,y=ln p,这里的概率P采用统计的概率,即pt,再将用统计的概率pt代入到公式从而获得系数a和b。
回归分析是通过n个周期的已知数据,预测下一个数据,这里的n就是回归规模。n值过小,回归分析的结果精度不高,但是n值过大又会消耗更多的内存和CPU资源,并且影响运行效率。一般将n值控制在4~15之间较为合适。
S27:按照系数预测下一个周期数据对象被访问的概率。
使用步骤S26得到的系数a和b代入到步骤S23中的公式中,预测出第N+1个周期,即下一个周期的概率。
S28:设置缓存对象的价值权值。
S28:设置缓存对象的价值权值。
缓存对象的价值权值fv由访问概率、优先级因子和缓存对象所占用的空间大小决定,并通过以下公式获得:
其中,μ是优先级因子;p是访问概率,取值范围为(0,1),是缓存对象的大小经规范化处理后的权值。即步骤S21中的权值。
优选地,对于优先级因子μ是针对分片的优化,每个分片可以对应一个数据对象,在一个流媒体文件的所有分片中,首分片的被请求的概率最大,因为大部分对文件的请求是从首分片开始的。因此适当提高首分片的优先级,可以让***优先保留的首分片,从而提高请求的响应时间。当然,不加入优先级因子也不会影响本发明的实现。首分片的优先级因子为1,其余分片的优先级为0.8-0.6之间。
在实施例二中,由于在老化操作过程中,采用之前的访问概率对下一次的访问概率进行了预测,并权衡了缓存对象所占用的空间、以及每个缓存对象的优先级,从而将计算机设备中由于长时间不用的缓存对象老化,提高了缓存利用率。
上面详细描述了本发明的方法实施例,对于本发明的方法实施例中的各个方案,可以集成在各种模块中,下面给出优选地的装置实施例三详细说明本发明的装置。参见图6所示的装置实施例,包括:
预测模块61,用于预测每个缓存对象在下个周期内被访问的概率;
权值设置模块62,用于对于每个所述缓存对象,根据其下个周期内被访问的概率、所占用空间的权值来设置价值权值;
老化模块63,用于老化所述价值权值最小的缓存对象。
优选地,所述预测模块61包括:
统计概率模块611,用于在当前周期结束后,获得每个所述缓存对象包括所述当前周期的之前N个周期内,每个周期内被访问的概率值;
运算模块612,用于使用所述N个概率值通过指数预测模型运算,获得所述每个所述缓存对象在下个周期内被访问的概率。
优选地,还包括:
优先级模块64,用于在所述权值设置模块62将所述比值作为所述价值权值之前,控制所述权值设置模块62按照所述缓存对象对应的优先级数值,将所述比值扩大相应的倍数,将扩大后的比值作为所述价值权值。
优选地,还包括:
比例控制模块65,用于设置老化数量的比例,控制所述老化模块按照所述价值权值从小到大的顺序,老化相应数量的所述缓存对象。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种缓存对象老化的方法,其特征在于,包括:
预测每个缓存对象在下个周期内被访问的概率;
对于每个所述缓存对象,根据其下个周期内被访问的概率、所占用空间的权值来设置价值权值;
老化所述价值权值最小的缓存对象;
其中,所述预测每个缓存对象在下个周期内被访问的概率的过程包括:
在当前周期结束后,获得每个所述缓存对象包括所述当前周期的之前N个周期,每个周期被访问的概率值;
所述概率值为在大于所述周期的预定时间段内,所述缓存对象的访问次数与请求次数的比值;其中,所述预定的时间段为(t-△t,t),△t>T,t为时间点,△t为时间间隔,T为周期;
使用所述N个概率值通过指数预测模型运算,获得所述每个所述缓存对象在下个周期内被访问的概率。
2.根据权利要求1所述的方法,其特征在于,所述通过指数预测模型运算,获得所述下个周期内被访问的概率的过程包括:
通过指数模型进行运算,将运算的结果作为下个周期被访问的概率;
其中,tn+1为第N+1个周期的结束时刻;
所述a、b由所述N个概率值通过公式按照最小二乘法确定得出;
其中,0≤K≤n,y=at+b,a、b是常数,yk为所述每个周期被访问的概率值。
3.根据权利要求1所述的方法,其特征在于,所述设置价值权值的过程包括:
运算所述下个周期内被访问的概率与所占用空间的权值之间比值,将所述比值作为所述价值权值。
4.根据权利要求3所述的方法,其特征在于,所述占用空间的权值通过以下公式获得:
其中,s是当前缓存对象所占用空间的大小,Smax是所述各个缓存对象中占用空间最大的缓存对象所占用空间的大小,是所述当前缓存对象占用空间的权值。
5.根据权利要求4所述的方法,其特征在于,将所述比值作为所述价值权值之前,还包括:
按照所述缓存对象对应的优先级数值,将所述比值扩大相应的倍数,将扩大后的比值作为所述价值权值。
6.根据权利要求1所述的方法,其特征在于,所述老化价值权值最小的缓存对象之后,还包括:
设置老化数量的比例,按照所述价值权值从小到大的顺序,老化相应数量的所述缓存对象。
7.一种缓存对象老化的装置,其特征在于,包括:
预测模块,用于预测每个缓存对象在下个周期内被访问的概率;
权值设置模块,用于对于每个所述缓存对象,根据其下个周期内被访问的概率、所占用空间的权值来设置价值权值;
老化模块,用于老化所述价值权值最小的缓存对象;
其中,所述预测模块包括:
统计概率模块,用于在当前周期结束后,获得每个所述缓存对象包括所述当前周期的之前N个周期内,每个周期内被访问的概率值;
所述概率值为在大于所述周期的预定时间段内,所述缓存对象的访问次数与请求次数的比值;其中,所述预定的时间段为(t-△t,t),△t>T,t为时间点,△t为时间间隔,T为周期;
运算模块,用于使用所述N个概率值通过指数预测模型运算,获得所述每个所述缓存对象在下个周期内被访问的概率。
8.根据权利要求7所述的装置,其特征在于,还包括:
优先级模块,用于在所述权值设置模块将所述下个周期内被访问的概率与所占用空间的权值之间的比值作为所述价值权值之前,控制所述权值设置模块按照所述缓存对象对应的优先级数值,将所述比值扩大相应的倍数,将扩大后的比值作为所述价值权值。
9.根据权利要求7所述的装置,其特征在于,还包括:
比例控制模块,用于设置老化数量的比例,控制所述老化模块按照所述价值权值从小到大的顺序,老化相应数量的所述缓存对象。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010220547.4A CN101887400B (zh) | 2010-06-24 | 2010-06-24 | 缓存对象老化的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010220547.4A CN101887400B (zh) | 2010-06-24 | 2010-06-24 | 缓存对象老化的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101887400A CN101887400A (zh) | 2010-11-17 |
CN101887400B true CN101887400B (zh) | 2015-08-12 |
Family
ID=43073328
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010220547.4A Active CN101887400B (zh) | 2010-06-24 | 2010-06-24 | 缓存对象老化的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101887400B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609363B (zh) * | 2012-02-01 | 2015-08-26 | 蓝汛网络科技(北京)有限公司 | 一种缓存服务器内容的老化方法及缓存服务器 |
CN102662859B (zh) * | 2012-03-14 | 2015-11-25 | 北京思特奇信息技术股份有限公司 | 一种基于服务等级的数据缓存的***和方法 |
CN105493024B (zh) * | 2014-11-28 | 2019-03-08 | 华为技术有限公司 | 一种数据阈值预测方法与相关装置 |
CN106228074A (zh) * | 2016-07-14 | 2016-12-14 | 广州华多网络科技有限公司 | 存储对象老化方法及装置 |
CN106227679B (zh) * | 2016-07-25 | 2018-12-28 | 北京邮电大学 | 一种数据缓存替换方法及装置 |
CN109714266B (zh) * | 2018-12-25 | 2022-06-07 | 迈普通信技术股份有限公司 | 一种数据处理方法及网络设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101137042A (zh) * | 2006-09-29 | 2008-03-05 | 中兴通讯股份有限公司 | 一种集群式流媒体***中静态节目的分发和服务方法 |
CN101184021A (zh) * | 2007-12-14 | 2008-05-21 | 华为技术有限公司 | 一种实现流媒体缓存置换的方法、设备及*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7587580B2 (en) * | 2005-02-03 | 2009-09-08 | Qualcomm Corporated | Power efficient instruction prefetch mechanism |
-
2010
- 2010-06-24 CN CN201010220547.4A patent/CN101887400B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101137042A (zh) * | 2006-09-29 | 2008-03-05 | 中兴通讯股份有限公司 | 一种集群式流媒体***中静态节目的分发和服务方法 |
CN101184021A (zh) * | 2007-12-14 | 2008-05-21 | 华为技术有限公司 | 一种实现流媒体缓存置换的方法、设备及*** |
Also Published As
Publication number | Publication date |
---|---|
CN101887400A (zh) | 2010-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101887400B (zh) | 缓存对象老化的方法和装置 | |
He et al. | QoE-driven content-centric caching with deep reinforcement learning in edge-enabled IoT | |
CN105426411B (zh) | 基于访问趋势预测的时间序列数据库缓存管理方法 | |
Venkataramani et al. | The potential costs and benefits of long-term prefetching for content distribution | |
Li et al. | Adaptive priority-based cache replacement and prediction-based cache prefetching in edge computing environment | |
Huang et al. | When backpressure meets predictive scheduling | |
CN103106153B (zh) | 基于访问密度的web缓存替换方法 | |
CN106899660A (zh) | 基于滚动灰色预测模型的云数据中心节能调度实现方法 | |
US20220004475A1 (en) | Data center infrastructure optimization method based on causal learning | |
TWI542986B (zh) | 管理系統、多核系統和其管理方法 | |
CN104657286A (zh) | 一种分级存储方法及装置 | |
CN106503238A (zh) | 一种强化学习驱动的网络地图区域聚类预取方法 | |
Psounis et al. | Modeling correlations in web traces and implications for designing replacement policies | |
Pan et al. | Penalty-and locality-aware memory allocation in Redis using enhanced AET | |
CN100573437C (zh) | 一种基于连续度聚类和时间序列的i/o区域预取方法 | |
CN110162272B (zh) | 一种内存计算缓存管理方法及装置 | |
CN117499484A (zh) | 一种基于深度强化学习的边缘缓存替换方法 | |
CN111324839A (zh) | 建筑大数据缓存方法及装置 | |
CN114785858A (zh) | 应用于互感器在线监测***的资源主动缓存方法及装置 | |
KR20030093301A (ko) | 서버, 컴퓨터 시스템, 오브젝트의 관리 방법, 서버의 제어방법, 컴퓨터 프로그램 | |
Ren et al. | Adaptive web browsing on mobile heterogeneous multi-cores | |
Gracia et al. | Meppm-memory efficient prediction by partial match model for web prefetching | |
CN108241533A (zh) | 一种基于预测和分层抽样的资源池未来负载生成方法 | |
Gitzenis et al. | Joint transmitter power control and mobile cache management in wireless computing | |
Lau et al. | Optimal pricing for selfish users and prefetching in heterogeneous wireless networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |