基于价值预评估的代理服务器缓存策略

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于价值预评估的代理服务器缓存策略
王瑜
【摘要】Traditional directly without consi methods to resolve the proxy server memory space problems are passive, cache objects dering the cache value of them, and replace them when the memory of the proxy server is not enough, there is no effect of the caching. This paper irttroduced a cache access mechanism, proposed a caching strategy based on value pre-assessment, described the pre-assessment algorithm of cache value. Simulation results showed that the running system with the cache strategy had a higher hit rate of the document and the character.%传统方法解决代理服务器内存空间不足的问题都是被动性方法,在没有考虑缓存对象的缓存价值的情况下直接对它们做缓存,在代理服务器内存不够时再将它们替换,使得部分无缓存价值的对象毫无效果地被缓存了一遍.本文引入了缓存的准入机制,提出基于价值预评估的缓存策略,描述了缓存价值的预评估算法,仿真实验结果表明采用本缓存策略的系统运行有较高的文档命中率和字符命中率.
【期刊名称】《吉林师范大学学报(自然科学版)》
【年(卷),期】2012(033)001
【总页数】3页(P100-102)
【关键词】代理服务器缓存;价值预评估;准入机制;缓存替换
【作者】王瑜
【作者单位】安徽广播电视大学,安徽合肥230022
【正文语种】中文
【中图分类】TP393
随着网络技术的发展,流媒体服务已得到广泛的应用,为了提高广域网内流媒体数据的传输性能,通常在流媒体播放系统中应用代理服务器缓存技术,避免了客户端频繁地从流媒体服务器中下载流媒体对象,降低了流媒体服务器流量,缩短了数据传输的延时[1].流媒体对象的体积较大,而代理服务器内存空间有限,因此对流媒体对象缓存的数量也是有限的,影响了代理服务器缓存的功效,已有的研究中都是通过替换缓存项来解决此问题,即当缓存空间满时,如果增进新的缓存项,则要先选择一个已存在的缓存项删除.
传统的缓存替换算法有先进先出替换算法FIFO,最不常使用替换算法LFU,最近最久未使用替换算法LRU,把在代理服务器中最长时间未被访问的缓存项替换出去[2].近年来人们又研究了一些新的替换算法,如基于期望预测价值的时移算法[3]和基于媒体流行度和前缀缓存的缓存替换算法[4]等.
一个合适的替换算法能提高缓存的命中率,然而,仅仅通过替换缓存项来解决代理服务器内存空间不足的问题是一种被动性方法,因为系统必定会对访问的对象进行缓存,无论它是否有缓存价值.事实上很多对象的访问频率低,它们的缓存项在被替换之前很可能不会再被访问,缓存并未带来收益,反而浪费了代理服务器的内存空间.因此,在设计代理服务器缓存策略时,应该引入缓存的准入机制,即系统在读取某流媒体对象时,如果代理服务器内存中没有该对象的缓存项,首先从流媒体服务器中获取对象,然后依据适当算法评估它的缓存价值,只有具备缓存价值的对象才被缓存.
如何判断对象是否有缓存价值是关键问题.缓存价值是一个相对概念,代理服务器的内存空间是有限的,假设其中的缓存项已满,此时如果要新进一个缓存项A,就
需要A比代理服务器内存中已经存在的缓存项中的至少一个有更高的缓存价值,将它或它们从内存中移除,为A的缓存留出位置,如果A比代理服务器内存中所有的缓存项的缓存价值都小,那么必须放弃对A的缓存.本文将这种缓存方法称为基于价值预评估的缓存策略.
缓存价值的预评估算法可以基于部分现有缓存替换算法来设计,以传统的LFU替换算法为例,LFU是将近期访问频率最小的缓存项作为替换项,基于LFU设计的缓存价值预评估算法就是将待缓存的对象A的最近访问频率FA和代理服务器内存中缓存项的{1,…,n}最近访问频率 F:{F1,F2,…,Fn}比较,如果∃{x,…,y}⊆{1,…,n},∀z∈{x,…,y},Fz<FA且{x,…,y}的体积之和加上剩余内存空间大于A的体积,则选择{Fx,…,Fy}中最近访问频率最小的一个或几个移除,再将A缓存至代理服务器内存中,这里可能会移除一个以上数量的已缓存项,因为A的体积可能大于一个已缓存项的体积;否则,就放弃对A的缓存.
综合缓存的部分重要属性,本文设计一种缓存价值预评估算法,将对象的平均网络访问延时、近期的访问频率、距离上次被访问的时间单位数和对象大小作为评估的依据,计算公式为:
公式(1)中CVi指的是对象i的缓存价值;Ti指的是对象的平均网络访问延时,单位为秒(s),Fi指的是对象i的近期的访问频率;ti指的是距离对象i上次被访问的时间单位数,系统访问对象i时,ti置为0,系统每次访问一个非i对象,无论该对象是否已被缓存,ti都自增 1;Si指的是对象体积.
为了记录各个对象的上述四个属性值,需要在代理服务器内存中开辟一段空间作为一个固定缓存项,用来存储所有对象属性值,这个固定缓存项的缓存键为CV.一个对象的四个属性值需要占据约100 B的内存空间,假设流媒体服务器中有10000个流媒体对象,那么共需要在代理服务器内存中占用1 M的空间,总体来说,CV 缓存项需要的内存空间相对很小.
对此缓存价值的预评估算法进行描述如下:
①当有用户访问某对象j,系统首先检查代理服务器内存中是否有该对象的缓存,如果有就调用该缓存项,并且将CV缓存项中的Fj自增1,tj置为0,同时将其他对象的t值自增 1;否则,执行第②步.
②从流媒体服务器中读取此视频文件,通过网络传输到客户端.检查CV缓存项中是否有对象j的属性记录,如果有,重新计算平均访问延时并将结果记录到Tj,计算公式为(T+Tj×Fj)/(Fj+1);否则,记录访问延时到CV缓存项中的Tj,记录对象体积到Sj.执行第③步.
③检查代理服务器内存可用性,若当前剩余空间大于对象体积大小,则将此对象作为一个缓存项存入,将CV缓存项中Fj自增1,tj置为 0;否则,执行第④步.
采用文档命中率和字节命中率衡量该策略的优势,文档命中率指命中缓存项的请求数与总请求数的百分比,字节命中率指命中缓存项的请求对象大小的与总请求对象大小的百分比[5].对网站访问日志文件进行数据预处理,再结合上述算法计算采用基于价值预评估的缓存策略和未采用基于价值预评估的缓存策略的系统运行时的文档的命中率和字节命中率,结果如图1和图2所示.
从实验结果可以看出,当缓存空间小于10 MB时,未采用基于价值预评估的缓存策略的文档命中率和字节命中率相对稍高,主要原因是采用基于价值预评估的缓存策略需要划出一部分内存空间用来存储对象的属性值;而随着缓存空间的增加,这部分内存空间占总缓存空间的比例越来越小,因此采用基于价值预评估的缓存策略优势开始出现,并且越来越明显.
基于价值预评估的缓存策略在对象被缓存之前对其的缓存价值进行预测,使无缓存价值的对象不被缓存,是解决代理服务器内存空间不足的问题是一种主动性方法.
【相关文献】
[1]肖明忠,李晓明,等.基于流媒体文件字节有用性的代理服务器缓存替代策略[J].计算机学报,2004,27(12):1634~1640.
[2]王学军,李建华.流媒体代理服务器缓存替换算法研究[J].河北工业大学学报,2005,
24:144~146.
[3]肖琳,王劲林,曾学文.基于期望预测价值的时移代理缓存替换算法[J].计算机工程与应用,2009,45(5):16~19.
[4]刘宜宁,赵正德,全卫新,张伟.基于媒体流行度和前缀缓存的缓存替换算法[J],中国图
象图形学报.2007,12(10):1753~1756.
[5]林永旺,张大江,钱华林.Web缓存的一种新的替换算法[J].软件学报,2001,
12(11):1710 ~1715.。

相关文档
最新文档