CN1604054A - 层次化视频点播中的磁盘缓存替换算法 - Google Patents

层次化视频点播中的磁盘缓存替换算法 Download PDF

Info

Publication number
CN1604054A
CN1604054A CNA03134707XA CN03134707A CN1604054A CN 1604054 A CN1604054 A CN 1604054A CN A03134707X A CNA03134707X A CN A03134707XA CN 03134707 A CN03134707 A CN 03134707A CN 1604054 A CN1604054 A CN 1604054A
Authority
CN
China
Prior art keywords
algorithm
program
cycle
time
frequency
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.)
Granted
Application number
CNA03134707XA
Other languages
English (en)
Other versions
CN100407168C (zh
Inventor
刘志明
张拥军
彭宇行
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CN03134707XA priority Critical patent/CN100407168C/zh
Publication of CN1604054A publication Critical patent/CN1604054A/zh
Application granted granted Critical
Publication of CN100407168C publication Critical patent/CN100407168C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

层次化视频点播中的磁盘Cache(磁盘缓存)替换算法,数据存储采用层次化(多级化)的结构,其特征在于:(1)在视频点播的初始化时间段,采用以数据访问的时间和频率信息相结合的最小频率最近使用算法LFRU;(2)系统达到稳定状态后,采用前两个周期和本周期的访问频率统计信息的时间周期法,及在本周期访问结束前和下一周期开始时预测下一周期访问频率的线性预测法相结合的扩展的最小频率算法ELFU。本发明中的LFRU算法结合了数据的访问频率和访问时间信息,对访问模式的变化具有一定的适应性,ELFU算法用周期法和预测法解决了LFU算法中的Cache“污染”问题,使Cache的命中率大幅提高,减小了消耗服务器的资源,使运行成本和通讯费用大大降低,同时还提高了可靠性。

Description

层次化视频点播中的磁盘缓存替换算法
技术领域
本发明涉及一种用于层次化(多级化)视频点播中的磁盘Cache(缓存)替换算法,属于计算机系统结构、并行计算、网络多媒体领域。
背景技术
视频点播VOD(Video on Demand)是一项综合了计算机、通信、多媒体等多项技术的多媒体业务,在办公、教学、娱乐、电子购物等领域有着广泛的应用前景。视频点播的核心设备是视频服务器,它存储和管理大量的视频节目,同时需要为多个用户实时地提供多个连续码流。由于连续媒体具有实时连续特性,大规模的视频点播系统需要巨大的存储量。如果全部使用高速的磁盘阵列价格将非常昂贵,另外,在视频点播服务中,大量的点播请求都集中在少数的热门节目上,将点播频率较小的节目存放到磁盘阵列是不经济的。视频点播存储系统的设计应满足大数据量的视频数据的存储要求,向用户提供更多的节目,同时还应尽量降低系统费用。因此,层次化或多级化存储系统(Hierarchical Storage)是一种合理的解决方案,它将多种不同特点的物理存储介质以层次化的存储方式组织在一起,满足系统对容量、带宽、成本等方面的要求。
在层次化VOD存储系统中,一般性的处理是由昂贵的容量较小的高速存储设备和相对便宜的大容量低速存储设备共同组成存储系统,通常内存称为第一级存储设备,磁盘称为第二级存储设备,而光盘或磁带成为第三级存储设备,其中把将第三级存储设备上的热门节目动态拷贝到第二级存储设备上以取代第二级存储设备上冷门的节目这一过程称为磁盘Cache(缓存)。
一般将访问概率最高,集中了大部分的用户访问的节目称为“热片”(hotvideo titles),将访问概率非常小,很长时间内得不到访问的节目称为“冷片”(cold video titles),访问概率界于二者之间的节目称为“温片”(warm videotitles)。节目的访问概率是随时间发生变化的,随着访问概率的增加,冷片可以变成温片,温片可以变成热片。在如图1所示的一种集群式并行视频服务器中,VoD系统将冷片分段存储在数据节点中,热片或温片完整存放在服务节点中,磁盘Cache的任务就是要将数据节点热门节目动态到服务节点上。所以在系统运行过程中,磁盘Cache程序需不断统计用户的点播请求,选出点播概率较高的节目,拷贝到服务节点上,同时淘汰服务节点上点播概率低的节目。
当大量用户点播节目时,磁盘Cache的目标就是要大幅提高磁盘Cache的命中率,使热门数据能得到较快的响应速度。由于视频文件数据量很大,如果磁盘Cache不命中的化,就会大大消耗服务器资源。因此高效率的Cache替换算法对VoD系统很重要,它的效率将直接影响到整个系统的效率和服务能力。
传统的Cache替换算法有LFU(least frequency used)、LRU(least recentlyused)及LRU的变种LEAT(Longest Expected Access Time)等。LFU和LRU是最常用的两种替换算法,它们具有互补的特性。LRU算法利用上一次访问的时间特性,只使用最后一次的访问信息,对访问特性的变化比较敏感,但没有考虑数据访问的全局特性,不能很好地完成磁盘Cache的替换任务;LFU算法符合视频点播访问局部性特性,但容易导致Cache污染(Cache Pollution),即曾经访问多次而又不再使用的数据不能及时替换出Cache,因而降低了Cache的命中率。LRU和LFU算法分别代表了两个极端。LEAT算法是以视频数据的期望被访问时间为替换依据,由于期望被访问时间是动态变化的,对它的频率计算增加了系统额外开销。
发明内容
本发明的技术解决问题是:克服现有的Cache替换算法的不足,并结合用户访问的局部性原理和视频文件尺寸大的特点,提出一种磁盘Cache替换算法,从而使超大规模VoD系统大幅度提高了点播命中率,从而提高了系统的响应速度,同时节省通讯费用,增加系统的可靠性。
本发明的技术解决方案是:层次化(多级化)视频点播中的磁盘Cache(磁盘缓存)替换算法,数据存储采用层次化(多级化)的结构,其特征在于包括下列步骤:
(1)在视频点播的初始化时间段,采用以数据访问的时间和频率信息相结合的最小频率最近使用算法LFRU(least frequency and recently used);
(2)系统达到稳定状态后,采用前一个周期和本周期的访问频率统计信息的时间周期法,及在本周期访问结束前和下一周期开始时预测下一周期访问频率的线性预测法相结合的扩展的最小频率算法ELFU(Extended LeastFrequently Used)。
上述步骤(1)中LFRU算法公式是:选择一个RFNk最大值的节目作为替换对象,其中
RFN k = ( D - t ) / D * ( t - t k ) + t / D * t - t 0 c k + N k
式中D表示初始时间段,t表示算法的运行时刻,即本次访问的时间值,t0为初始值,Nk为节目K在服务节点的个数,RFNk为数据访问的时间值和频率值与节目K在服务节点中的个数的加权和,其中前一部分表示访问的时间信息,第二部分表示访问的频率信息,第三部分表示节目在服务节点的个数,因此将时间信息和频率信息都归化为一个时间“距离”值,用它们的加权和做为替换的比较因子。这是在系统初始阶段,当系统进入稳定阶段后,就采用上述步骤(2)ELEU算法。
上述步骤(2)ELEU算法公式是:以复合频率 ELFN k = t T * W i k ^ + W i k N k ( 0 ≤ t ≤ T ) 的最小值作为替换对象,复合频率ELFNk由第一部分统计值和第二部分预测值两部分组成,式中t为周期内的计数器,即每个周期开始t都清零, 为每个节目的预测频率,T为一个时间周期,Nk为节目K在服务节点的个数。每个周期统计的访问次数都是从0开始,开始不能反映数据访问的真实情况,所以使用加权的预测访问次数与统计的访问次数之和来决定替换,即由统计部分和预测部分组成,预测值在周期内权值越来越小,其中预测部分随时间t的增加而线性减少,到周期末,决定替换的是统计的访问次数。可以看出决定替换的访问次数只和本周期及前两个周期有关,没有使用过期的信息,就避免了Cache污染问题。
本发明的原理是:根据VoD系统的特点,在系统初始阶段,对影片的访问不稳定,具有一定的震荡性,这时Cache对访问时间特性比较敏感。所以,在这个时间段内替换算法结合数据访问的时间信息,增强了对访问变化的适应性。随着时间的推移,系统运行逐步稳定,就过渡到以访问频率信息为主。这种算法称之为LFRU算法。在系统运行稳定之后,采用ELFU算法,即以周期法来屏蔽过去陈旧的统计数据,并使用线性预测法加速陈旧数据的淘汰,解决了Cache污染问题。传统的LFU算法中使用的是过去对数据对象所有的访问的统计次数,当数据不再使用时,过去的使用信息依然起作用,造成“陈旧”的数据滞留在Cache中,就是所谓的Cache“污染”问题,而ELFU算法以前两个周期和本周期的访问频率的数据统计预测下一个周期的访问频率,在周期的结束时刻使用预测法,没有使用过期的信息,较早的访问频率被屏蔽掉,这样就避免了磁盘Cache“污染”问题。这两种算法适用于VoD系统不同的运行阶段,可以根据系统运行环境的具体情况设定一个初始化时间段。在这段时间内,系统的运行不够稳定,就使用LFRU算法,此后系统达到稳定状态,使用ELFU算法,且替换对象的数据是以整个文件作为替换单位。
本发明专利与现有技术相比具有的优点:本发明中的LFRU算法结合了数据的访问频率和访问时间信息,对访问模式的变化具有一定的适应性,ELFU算法用周期法和预测法解决了LFU算法中的Cache“污染”问题,使Cache的命中率大幅提高,减小了消耗服务器的资源,使运行成本和通讯费用大大降低,同时还提高了系统的可靠性。
附图说明
图1为一种集群式并行视频服务器中该服务器的结构示意图;
图2为本发明FLFU算法中时间周期的划分及其参数示意图;
图3为本发明中的算法LFRU和传统的LFU、LRU算法的仿真比较;
图4为本发明中的ELFU算法和传统的LFU算法的仿真比较;
图5为本发明中的Zipf法则下的节目访问概率分布示意图。
具体实现方式
如图1所示为一种集群式并行视频服务器中该服务器的结构,将本发明算法应用于在该服务器管理系统的具体步骤是:
1.在VoD系统初始阶段使用LFRU
首先定义一个过渡时间区间D,在D时间区间内,先使用访问的时间信息,提高算法对访问模式变化的适应性。当系统运行趋于稳定后,逐步过渡到使用访问的频率信息。
在LFRU算法中,决定数据替换策略的是RFN值。RFN值是数据访问的时间和频率信息(单位时间的访问次数)和节目在节点中的个数的加权和,时间信息为R,频率信息用F表示,节目在服务节点的个数用N表示,它们的权重是一个和时间相关的函数FD(t)(0≤FD(t)≤1),将RFN值最大的数据对象作为数据替换的牺牲品。
在D时间区段内,时间信息和频率信息是互补的,RF=FD(t)*R+[1-FD(t)]*F。为了适应从震荡到稳定的应用情况,FD(t)函数应该具有以下性质:在D的初期FD(t)取值要大于1-FD(t),在D的后期FD(t)取值要小于1-FD(t)。这样RF的值就从R趋向于F,从时间具有适应性的访问时间信息转向具有全局优化特点的频率信息。
假设系统的逻辑时钟为t,t表示算法运行的时刻,即本次访问的时间值。每一部影片都有一个计时器tk(表示对影片Pk最近一次访问的时间值,其初始值为t(0),是系统作为参考起点的时间值。每一个节目还有一个计数器Ck(表示对影片Pk访问的次数)。
每个影片都有一个RFN值,当访问请求到达时,计算所有影片的RFN值,将RFN值最大的影片替换出磁盘Cache。在该算法中,取FD(t)=(D-t)/D,RFNk=FD(t)*Rk+(1-FD(t))*Fk+Nk。很明显,当t=0时FD(t)=1,RFNk=Rk+Nk,当t=D时FD(t)=0,RFNk=Fk+Nk。在D时间区间内,t从O到D,当t>D时,表示系统已进入稳定状态,此公式就已完成了它的使命,系统重新开始计时。
其中,节目访问的时间信息Rk=t-tk,表示节目上一次访问距离现在的时间值。节目访问的频率信息 F k = t - t 0 c k , 是用节目过去所有访问距离现在的时间的平均值,表示影片访问的平均时间。将时间信息和频率信息都归化为一个时间“距离”值,用它们的加权和做为替换的比较因子。
将磁盘Cache和磁盘Cache替换算法组合在一起,称为LFRU磁盘Cache管理算法,算法步骤如下:
(1)用户请求节目Pk
(2)如果Pk在磁盘Cache中,开始读取Pk为用户服务
(3)修改Pk统计值:tk=t;ck=ck+1
(4)如果Pk不在磁盘Cache中,则直接从数据节点服务,同时执行下面的步骤
(5)修改Pk统计值:tk=t;ck=ck+1
(6)如果磁盘Cache中有空闲的空间,将Pk拷贝到磁盘最小使用量的服务节点
(7)否则,计算磁盘Cache中所有节目的RFN值,Nk为节目在服务节点的个数
RFN k = ( D - t ) / D * ( t - t k ) + t / D * t - t 0 c k + N k - - - ( 1 )
选择一个RFNk最大值的节目作为替换对象
(8)将Pk拷贝到该节目所在的服务节点(若有多个,选择最小负载的节点)
(9)修改Nk统计值:Nk=Nk+1
上述算法表明,在系统初始化阶段,所有被点播到的节目都要进入磁盘Cache,如果要限制新访问影片进入Cache的机会,可以给它的RFN值加上一个阈值。
由公式(1)可以看出,在D时间段内,随t的增大算法从LRU逐步过渡到LFU。虽然LFRU算法和LRFU算法都是对LFU,LRU算法的折衷,但它们的侧重点不同。LRFU算法是对访问时间乘上一个和频率有关的权重,它是基于访问时间的替换算法;而LFRU算法则是给访问频率乘上一个和访问时间有关的加权值,是基于访问频率的。另外,LRFU算法基本上和时间无关,LFRU算法则随时间发生变化,最后要过渡到LFU算法,它的折衷性只在设定的时间段内起作用,这和LRFU算法完全不同。
2.系统稳定后,采用ELFU算法,即以前一个周期和本周期的访问频率统计信息的时间周期法,及在本周期访问结束前和下一周期开始时预测下一周期访问频率的线性预测法相结合的算法。
VoD系统进入稳定期之后,Cache对访问频率比较敏感。VoD系统影片数据使用周期较长,访问频率变化有一定的规律,即影片的访问频率存在成长期、成熟期和衰老期三个阶段。根据这些特点将时间轴按一定的长度划分,预测使用前一个周期和本周期的访问频率决定替换,这样较早的访问频率被屏蔽掉,就可以避免LFU算法中的Cache污染问题。
使用当前一个周期和本周期的数据预测下一个周期的访问频率时,周期的中间时刻即本周期内使用现行频率法,在本周期的结束时刻及下一个周期开始时刻使用预测法,这样可以提高替换算法的命中率。这种算法的主要思想是利用访问频率的变化趋势,将成长期的影片尽早换入磁盘,将衰老期的影片尽早换出磁盘;换句话说,ELFU算法使用周期法逐步淘汰陈旧数据,并使用线性预测的方法加速这种淘汰过程,使新的热片以及要成为热片的温片进入Cache。
ELFU的算法公式的推导过程是:先考察一个节目的情况。定义一个时间周期T,设Ti为第i个周期。统计节目在此周期的访问次数Wi,到Ti之前对节目所有的访问次数Fi,如图2所示。
F i = Σ j = 0 i - 1 W j , F 0 = 0 , W i = F i + 1 - F i .
在进行替换时,只用前一个周期和本周期的统计信息决定下一周期的替换。为了进行预测,定义周期之间访问次数的增量ΔW,Wi=Wi-1+ΔW,Ti为现行周期时,Wi和ΔW都是未知的,在线性预测中,可以用ΔWi-1来估计ΔWi,即 Δ W ^ = Δ W i - 1 , Wi的预测值就为 W ^ i = W i - 1 + Δ W i - 1 .
在算法中为了保留节目K的全局信息,没有直接存储暂时的周期访问次数信息Wi k,而是保留一个三元组<Fi k,Fi-1 k,Fi-2 k>,即前一周期、本周期或称当前周期及下一周期的访问次数对时间的函数,再根据它们计算其它需要的值。
本发明分两种情况进行预测访问频率次数:
(1)在本周期的中间,即相对一个周期的中间,使用时间周期法,即在时间周期内,不是完全根据预测访问次数,而是结合统计数据共同决定替换。设现在时刻为t,第k部影片总的访问次数为Fk,本周期到现在为止的访问次数为Wi,Wi=Fi+1-Fi
将磁盘Cache中的影片分为上升集Sa和下降集Sd S a = { P k | &Delta; W i k > 0 } ; S d = { P k | &Delta; W i k < 0 } . 数据节点的影片处于上升期且访问次数大于阈值Ω的列为换入集Sin S in = { P k | W i k > &Omega; , &Delta; W i k > 0 } . 当对第K部影片的请求到来时,如果不命中,若Pk∈Sin,则满足换入条件,如果磁盘有足够的空间就换入,否则按以下顺序换出影片:
(a)Sd中当前时间周期内访问次数加上上一周期的访问次数(Wi-1+Wi),假设最小者为Pk′,若 W i k > W i k &prime; , 则将Pk′换出,退出,否则转(b);
(b)Sa中当前时间周期内访问次数加上上一周期的访问次数(Wi-1+Wi),假设最小者为Pk′,若 W i k > W i k &prime; , 则将Pk′换出。
(2)在本周期结束,即每个时间周期的结束和下一个时间周期开始时,即在没有数据的请求下(系统空闲时),利用预测访问次数自动调整Cache内容,称为预调法。预调法采用一阶线性法则预测下一个时间周期的访问频率 W i + 1 k = W i k + &Delta; W i k , 并定义换入阈值Ωin和换出阈值Ωout,满足换入条件 W i + 1 k > &Omega;in , &Delta; W i k > 0 的影片列入换入集Sin;满足换出条件 W i + 1 k < &Omega;out , &Delta; W i k < 0 的影片列入换出集Sout。在本周期结束时,将换出集中的影片换出,按Wi+1 k大小顺序将换入集中的影片依次换入,直到磁盘换出集的空间用完为止。
将上述的时间周期法和线性预测法两种情况结合到一个算法管理中,其磁盘Cache的ELFU管理算法步骤如下:
(1)当t=Ti时,计算磁盘Cache中每个节目的预测频率 根据
Figure A0313470700117
为节目排序,并将这些节目列入换出集合Sout
(2)用户请求节目Pk
(3)如果Pk在磁盘Cache中,开始读取Pk为用户服务
(4)修改Pk统计值: W i k = W i k + 1
(5)如果Wi k不在磁盘Cache中,直接由数据节点服务,同时执行下面的步骤
(6)构造Pk数据结构<Fi k,Fi-1 k,Fi-2 k>和Wi k
(7)如果磁盘Cache中有空闲的空间,将Pk拷贝到磁盘最小使用量的服务节点
(8)否则,计算换出集合Sout中所有节目的ELFN值,Nk为节目K在服务节点的个数
ELFN k = t T * W i k ^ + W i k N k , ( 0 &le; t &le; T ) - - - ( 2 )
根据ELFN值调整节目的排序,在Sout中选择一个ELFN最小值的节目作为替换对象
(9)将Pk拷贝到该节目所在的服务节点(若有多个,选择最小负载的节点)
(10)修改Nk统计值:Nk=Nk+1
该算法规定每个节目都带有一个三元组,如节目Pk带有<Fi k,Fi-1 k,Fi-2 k>,记录它的访问情况,无论它在不在Cache中,这个数据结构都保留。另外Cache中的节目还有一个统计本周期访问次数的数据结构,如果Pk在Cache中,Wi k就表示在本周期Pk的访问次数。
利用三元组计算Pk在本周期Ti中的预测访问频率值
Figure A0313470700121
的过程如下:
W i - 1 k = F i k - F i - 1 k , W i - 2 k = F i - 1 k - F i - 2 k
&Delta; W i - 1 k = &Delta; W i - 1 k - &Delta; W i - 2 k , &Delta; W i k = &Delta; W i - 1 k
Wi k的预测值就为 W i k ^ = W i - 1 k + &Delta; W i k
在本周期结束及下一时间周期的开始预测访问频率可以加速陈旧数据的淘汰。在服务节点可以利用预测值替换访问频率下降的节目,在数据节点中,还可以将预测值较大的节目主动发送到服务节点,这就是所谓的推送Cache。推送Cache可以利用网络负载不高的时候推送数据,这对整个系统的性能提高有很大的好处。推送Cache的使用还有另外一种情况,就是数据节点对新片的推荐,主动将新节目推送到服务节点,使数据靠近用户,可以避免可能出现的网络拥塞。
3.本发明算法的测试和评估
为了验证本发明算法的有效性,开发了一个事件驱动的模拟模型。访问序列由一个随机数发生器产生,随机数的概率分布符合Zipf法则,Zipf法则能很好地表示节目的访问概率分布。在Zipf法则中,假设系统有N个节目,按访问概率从大到小进行排序,即p1,p2,p3,...,pN,其中节目pi的访问概率为fi,f1>=f2>=f3>=...>=fN,所有节目访问概率之和为1。在Zipf法则下,第k个节目的访问概率可以用如下公式给出:
f k = c ( 1 - &alpha; ) k , c = 1 &Sigma; i = 1 N 1 i ( 1 - &alpha; ) - - - ( 3 )
其中α为节目概率分布的偏斜因子,0<α<1,其值越小表示节目访问的局部性越强。图5中给出了α=0.1时的节目访问概率分布示意图。
在验证算法的模拟模型中,节目库用一个排序表表示,cache替换算法体现在表的排序规则上。本发明实验中只考虑替换算法的命中率和节目访问的平均访问时间。
为了比较LFRU和LRU,LFU算法的效率,使用的访问序列的分布概率是变化的,包括Zipf法则中α值的变化和影片访问概率排序的变化。实验使用的负载的变化在开始比较激烈,后期趋于平缓。实验主要考察LFRU算法在系统不同阶段的适应性。模拟结果如图3所示,显示LFRU算法命中率比LFU和LRU的命中率都要高。在实验的初期,LFRU算法接近于LRU算法,在实验的末期,LFRU算法接近于LFU算法,这和理论分析是一致的。
为了比较LFU和ELFU算法的效率,主要考察访问模式变化时,ELFU算法对数据陈旧的克服效果。在一定的时间(如一天)内,将节目库的排序做随机的置换运算来模拟影片的访问概率随时间而发生变化。在此情况下,模拟结果如图4所示。实验显示ELFU算法能较好地适用节目访问概率的变化,克服数据的陈旧问题。LFU算法对节目访问概率的变化比较敏感,命中率在访问模式变化时波动比较大。在适当的负载情况下,ELFU算法比LFU算法的命中率提高30%左右。
应用测试是在一个8节点(2个数据节点,6个服务节点)的集群式VOD系统(图1所示)中进行的。算法实现中,在主程序中定义一个时间过渡区间D(如15天),在D时间区内采用LFRU算法,如果时间t大于D,则采用ELFU算法。用户点播的节目如果在服务节点中,则可以直接服务,否则由数据节点服务,同时进行节目从数据节点到服务节点的动态复制,执行动态磁盘Cache程序,该功能由一个函数DynamicCache(文件ID号,文件路径Var目标服务节点号,文件路径)来完成。具体算法步骤如下:
Function DynamicCache(文件ID号,文件路径 Var目标服务节点号,文件路径)
1.从数据库中统计最近一段时间该文件的点播次数
2.从数据库中查找该文件所在的服务节点的个数
3.根据上述两个值计算“是否需要拷贝的Cache值”
4.if“是否需要拷贝的Cache值”>“需要拷贝的标准Cache值”then
确定被替换的节目(最小“是否需要拷贝的Cache值”且当前未正在使用)
  else
  返回“不需要拷贝”
5.当需要拷贝时,需确定被替换的服务节点上的文件
      if    如果有剩余磁盘空间的服务节点    then
            找磁盘最小使用量的服务节点
      else  如果所有服务节点的磁盘空间均用满,比较每个节目的RFN
            或ELFN值,替换最近最少使用的节目文件
系统对大约100个用户开放,随机点播,试运行一个月。通过对系统影片库的50部影片做调整,按不同的内容组合做了3个实验,统计服务节点Cache的命中率,结果如表1所示。
        表1
              数据节点和服务节点容量之比
   20∶1     10∶1     5∶1
   实验1    0.52     0.82     0.92
   实验2    0.55     0.80     0.91
   实验3    0.54     0.79     0.89
结果显示LFRU算法和ELFU算法能够较好地支持层次化(多级化)的VoD应用系统。从实验结果也可以看出磁盘Cache的命中率和它的大小有直接的关系。要使大部分的请求在磁盘Cache中得到满足,磁盘Cache要有足够的容量支持。

Claims (4)

1、层次化视频点播中的磁盘Cache(缓存)替换算法,数据存储采用层次化(多级化)的结构,其特征在于包括下列步骤:
(1)在视频点播的初始化时间段,采用以数据访问的时间和频率信息相结合的最小频率最近使用算法LFRU;
(2)系统达到稳定状态后,采用前一个周期和本周期的访问频率统计信息的时间周期法,及在本周期访问结束前和下一周期开始时预测下一周期访问频率的线性预测法相结合的扩展的最小频率算法ELFU。
2、根据权利要求1所述的层次化视频点播中的磁盘Cache替换算法,其特征在于:所述步骤(1)中LFRU算法的公式是:选择一个RFNk最大值的节目作为替换对象,其中
RFN k = ( D - t ) / D * ( t - t k ) + t / D * t - t 0 c k + N k
式中D为初始时间段,t表示算法的运行时刻,即本次访问的时间值,t0为初始值,Nk为节目K在服务节点的个数,RFNk为数据访问的时间值和频率值与节目K在服务节点中的个数的加权和。
3、根据权利要求1所述的层次化多级化视频点播中的磁盘Cache替换算法,其特征在于:所述步骤(2)中的ELEU算法公式是:以复合频率 ELFN k = t T * W ^ i k + W i k N k ( 0 &le; t &le; T ) 的最小值作为替换对象,式中t为周期内的计数器,
Figure A031347070002C3
为每个节目的预测频率,T为一个时间周期,Nk为节目K在服务节点的个数。
4、根据权利要求2或3所述的层次化多级化视频点播中的磁盘Cache替换算法,其特征在于:所述的替换对象的数据是以整个文件作为替换单位。
CN03134707XA 2003-09-29 2003-09-29 层次化视频点播中的磁盘缓存替换算法 Expired - Fee Related CN100407168C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN03134707XA CN100407168C (zh) 2003-09-29 2003-09-29 层次化视频点播中的磁盘缓存替换算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN03134707XA CN100407168C (zh) 2003-09-29 2003-09-29 层次化视频点播中的磁盘缓存替换算法

Publications (2)

Publication Number Publication Date
CN1604054A true CN1604054A (zh) 2005-04-06
CN100407168C CN100407168C (zh) 2008-07-30

Family

ID=34659079

Family Applications (1)

Application Number Title Priority Date Filing Date
CN03134707XA Expired - Fee Related CN100407168C (zh) 2003-09-29 2003-09-29 层次化视频点播中的磁盘缓存替换算法

Country Status (1)

Country Link
CN (1) CN100407168C (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101944068A (zh) * 2010-08-23 2011-01-12 中国科学技术大学苏州研究院 一种共享高速缓存的性能优化方法
CN102122303A (zh) * 2011-03-15 2011-07-13 浪潮(北京)电子信息产业有限公司 一种进行数据迁移的方法及服务系统及服务器设备
CN102323898A (zh) * 2011-09-02 2012-01-18 深圳中兴网信科技有限公司 一种缓存调度方法和系统
CN103973752A (zh) * 2013-02-06 2014-08-06 上海华师京城高新技术开发有限公司 一种云计算系统的文件存储系统
CN104021226A (zh) * 2014-06-25 2014-09-03 华为技术有限公司 预取规则的更新方法及装置
CN106909518A (zh) * 2017-01-24 2017-06-30 朗坤智慧科技股份有限公司 一种实时数据缓存机制
CN107223240A (zh) * 2015-03-12 2017-09-29 英特尔公司 与文件高速缓存的上下文感知管理相关联的计算方法和装置
CN107463514A (zh) * 2017-08-16 2017-12-12 郑州云海信息技术有限公司 一种数据存储方法及装置
CN107563514A (zh) * 2017-09-25 2018-01-09 郑州云海信息技术有限公司 一种预测数据访问频率的方法及装置
CN108153783A (zh) * 2016-12-06 2018-06-12 腾讯科技(北京)有限公司 一种数据缓存的方法和装置
CN112948286A (zh) * 2019-12-10 2021-06-11 阿里巴巴集团控股有限公司 数据缓存方法、装置、电子设备及计算机可读介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5150472A (en) * 1989-10-20 1992-09-22 International Business Machines Corp. Cache management method and apparatus for shared, sequentially-accessed, data
US5381539A (en) * 1992-06-04 1995-01-10 Emc Corporation System and method for dynamically controlling cache management
US5809528A (en) * 1996-12-24 1998-09-15 International Business Machines Corporation Method and circuit for a least recently used replacement mechanism and invalidated address handling in a fully associative many-way cache memory

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101944068A (zh) * 2010-08-23 2011-01-12 中国科学技术大学苏州研究院 一种共享高速缓存的性能优化方法
CN102122303A (zh) * 2011-03-15 2011-07-13 浪潮(北京)电子信息产业有限公司 一种进行数据迁移的方法及服务系统及服务器设备
CN102323898A (zh) * 2011-09-02 2012-01-18 深圳中兴网信科技有限公司 一种缓存调度方法和系统
CN103973752A (zh) * 2013-02-06 2014-08-06 上海华师京城高新技术开发有限公司 一种云计算系统的文件存储系统
CN104021226A (zh) * 2014-06-25 2014-09-03 华为技术有限公司 预取规则的更新方法及装置
CN104021226B (zh) * 2014-06-25 2018-01-02 华为技术有限公司 预取规则的更新方法及装置
CN107223240A (zh) * 2015-03-12 2017-09-29 英特尔公司 与文件高速缓存的上下文感知管理相关联的计算方法和装置
CN107223240B (zh) * 2015-03-12 2021-10-15 英特尔公司 与文件高速缓存的上下文感知管理相关联的计算方法和装置
CN108153783A (zh) * 2016-12-06 2018-06-12 腾讯科技(北京)有限公司 一种数据缓存的方法和装置
CN108153783B (zh) * 2016-12-06 2020-10-02 腾讯科技(北京)有限公司 一种数据缓存的方法和装置
CN106909518A (zh) * 2017-01-24 2017-06-30 朗坤智慧科技股份有限公司 一种实时数据缓存机制
CN107463514A (zh) * 2017-08-16 2017-12-12 郑州云海信息技术有限公司 一种数据存储方法及装置
CN107563514A (zh) * 2017-09-25 2018-01-09 郑州云海信息技术有限公司 一种预测数据访问频率的方法及装置
CN112948286A (zh) * 2019-12-10 2021-06-11 阿里巴巴集团控股有限公司 数据缓存方法、装置、电子设备及计算机可读介质

Also Published As

Publication number Publication date
CN100407168C (zh) 2008-07-30

Similar Documents

Publication Publication Date Title
CN101184021B (zh) 一种实现流媒体缓存置换的方法、设备及系统
CN101201801B (zh) 视频点播系统的分级存储管理方法
CN109982104B (zh) 移动边缘计算中移动感知的视频预取与缓存替换决策方法
CN102129472A (zh) 面向语义搜索引擎的高效混合存储结构的构建方法
CN1764916A (zh) 用于频率计数的方法和装置
CN1604054A (zh) 层次化视频点播中的磁盘缓存替换算法
CN106709068A (zh) 一种热点数据识别方法及其装置
CN1831824A (zh) 缓存数据库数据组织方法
Shin et al. A thermal-aware optimization framework for ReRAM-based deep neural network acceleration
CN114697683A (zh) 流媒体文件的智能调度方法、设备和计算机程序产品
Wang et al. Merlin hugeCTR: GPU-accelerated recommender system training and inference
Chou et al. Bc-store: A scalable design for blockchain storage
CN114253917A (zh) 基于文件访问特性的分布式自适应存储方法及系统
CN105988720B (zh) 数据存储装置和方法
CN113590332A (zh) 内存管理方法、装置及内存分配器
Pan et al. Penalty-and locality-aware memory allocation in redis using enhanced AET
CN102609508A (zh) 一种面向网络存储的文件高速访问方法
Nijim et al. Multi-layer prefetching for hybrid storage systems: algorithms, models, and evaluations
Ling et al. An adaptive caching algorithm suitable for time-varying user accesses in VOD systems
Nijim Modelling speculative prefetching for hybrid storage systems
Li et al. Enabling performance as a service for a cloud storage system
CN113489779A (zh) 一种基于网络拓扑分层的精确缓存放置方法
JP2012504814A (ja) データセントリック検索の動的管理のためのシステムおよび方法
Won et al. HERMES: embedded file system design for A/V application
Jian et al. A HDFS dynamic load balancing strategy using improved niche PSO algorithm in cloud storage

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
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee