一种用于缓存节点的缓存置换方法技术

技术编号:12669962 阅读:59 留言:0更新日期:2016-01-07 14:32
本发明专利技术提供了一种用于缓存节点的缓存置换方法,包括:仅将小于预定的最大大小的缓存对象存入节点;根据节点中存储的缓存对象的参数计算缓存对象的价值;根据节点中的所有缓存对象的价值的大小关系,维护所有缓存对象的优先顺序列表;在所存储的所有缓存对象的总大小等于节点的缓存空间的最大存储量的情况下,从列表中取出优先顺序最低的缓存对象进行置换;其中,用于计算缓存对象的价值的缓存对象的大小的参数值为缓存对象的实际大小值的对数值。本发明专利技术的技术方案可以有效提高节点的缓存空间的资源利用率和缓存命中率;提高节点的字节命中率;提高缓存系统的全局命中率。

【技术实现步骤摘要】

本专利技术涉及计算机网络传输控制领域,具体地说,本专利技术涉及一种用于缓存节点 的缓存置换算法。
技术介绍
随着移动和无线网络的不断发展,移动终端数目急剧增加。大量的WLAN (Wireless Local Area Networks,无线局域网络)用户通过AP(Access Point)接入互联网,加剧 了汇聚链路上的网络拥塞,从而进一步降低了实际的可用带宽,导致平均访问延时增加, TCP(Transmission Control Protocol,传输控制协议)吞吐率下降等各种问题。为了缓解 上述问题,提高网络业务服务性能,改善用户上网体验,当前较为通用的一种方式是利用缓 存技术来实现缓存加速。 然而,海量的数据访问使得传统的利用缓存服务器等网络边缘设备实现的诸如 CDN(Content Delivery Network,内容分发网络)缓存的方法正逐步受到设备成本和部署 规模的制约,越来越多的研究转移到如何利用网络内部设备来实现缓存。另一方面,APs由 于其庞大的使用规模、广泛的应用场景和自身硬件平台的可编程化以及可外接存储扩展等 特点已经逐渐开始受到研究者们的青睐。APs作为缓存设备在降低开发成本的同时,还能大 大增加对终端用户的服务能力。 尽管AP的硬件性能较近年来已经取得了较大的提高,但是整体而言,绝大多数AP 的计算能力以及存储空间还十分有限。例如通用AP的配置如下:CPU频率为400MHz,内存 大小为125MB,存储空间为1GB。这就使得AP的单点缓存策略面临着严峻的性能挑战。 此外,考虑到AP硬件设备有限的存储资源,其不可能将所有的用户历史访问记录 全部保存下来,这就必然要求有合适的置换策略来不断更新缓存中的内容,以保证在一定 的存储空间下尽可能大地提高缓存效果。当前主流的缓存替换算法主要考虑了对象访问 时间、对象访问频率、对象大小和缓存内容的老化时间等因素,而综合考虑了如上要素的 ⑶FS (Greedy-Dual-Frequency-Size)算法和Hybrid算法虽然一定程度上解决了基于单要 素替换(如LRU、LFU、SIZE)等算法各自带来的误差以及缓存污染等问题,但是Hybrid混合 策略的高度复杂性使得其不适合APs的应用场景;GDFS中,由于未充分考虑到体积较大对 象对BHR(Byte Hit Ratio,字节命中率)的影响,从而在BHR指标方面仍存在很大改进空 间。
技术实现思路
本专利技术的目的是提供一种能够克服上述技术问题的解决方案。 本专利技术提供了,包括:仅将小于预定的最大缓 存对象大小的缓存对象存入所述缓存节点;根据所述缓存节点中存储的缓存对象的参数计 算所述缓存对象的价值;根据所述缓存节点中的所有缓存对象的价值的大小关系,维护所 述缓存节点中所有缓存对象的优先顺序列表;在所述缓存节点所存储的所有缓存对象的总 大小等于所述缓存节点的缓存空间的最大存储量的值的情况下,从所述列表中取出优先顺 序最低的缓存对象进行置换;其中,所述缓存对象的参数,包括:从原始服务器获取所述缓 存对象的代价的参数值、所述缓存对象的大小的参数值、所述缓存对象的被访问频率的参 数值以及所述缓存对象的老化时间的参数值。 优选地,将所述缓存对象的实际大小值的对数值作为用于计算所述缓存对象的价 值的所述缓存对象的大小的参数值。 优选地,将所述缓存对象被用户再次访问的可能性大小作为用于计算所述缓存对 象的价值的所述缓存对象的被访问频率的参数值。 优选地,对所述缓存对象当前的被用户再次访问的可能性的计算依赖于其前一次 被访问的时刻到当前时刻的时间间隔以及其前一次被访问的时刻的被用户再次访问的可 能性。 优选地,所述缓存对象的参数还包括,与所述缓存对象上次被访问的实际时间的 微小偏离参数。 优选地,在所述缓存节点所存储的所有缓存对象的总大小大于预定的所述缓存节 点的存储空间的上限的情况下,进行所述缓存置换,其中所述缓存节点的存储空间的上限 小于或等于所述缓存节点的缓存空间的最大存储量的值。 优选地,所述缓存置换开始之后一直持续,直到所述缓存节点所存储的所有缓存 对象的总大小小于预定的所述缓存节点的存储空间的下限的情况下,停止所述缓存置换, 其中所述缓存节点的存储空间的下限小于所述缓存节点的缓存空间的上限。 优选地,在进行所述缓存置换的情况下,还向所述缓存节点的所有兄弟节点查询 是否存储有所述缓存节点置换出的缓存对象,并在所有所述兄弟节点都没有存储所述缓存 对象的情况下,向所有所述兄弟节点发送所述缓存对象。 与现有技术相比,本专利技术提出的技术方案具有以下优点: 本专利技术的技术方案可以有效提高缓存节点的缓存空间的资源利用率和缓存命中 率;提高缓存节点的字节命中率;提高缓存系统的全局命中率。【附图说明】 为了更清楚地说明本专利技术的技术方案,下面将对实施例描述中所需要使用的附图 作简单地介绍,显而易见地,下面描述中的附图不构成对于本专利技术的限制。 图1是根据本专利技术的实施例的对象流行度对比示意图; 图2是根据本专利技术的实施例的缓存空间状态示意图; 图3是根据本专利技术的实施例的缓存节点协同环境下的缓存置换方法的流程图。【具体实施方式】 下面将结合附图和具体实施例对本专利技术做进一步地描述。 下面描述根据本专利技术的实施例的缓存置换方法中对缓存对象价值的计算方法。 为了更好的描述根据本专利技术的下述实施例,现对现有技术中的原始的GDFS算法 进行描述。 在原始的GDFS算法中,其基本置换方法是根据取得对象所花费的代价、对象大 小、对象访问频率、对象老化时间来对每一个缓存的对象计算出一个缓存的键值(Key值), 该值表示了缓存该对象的价值,并按照该值对所有已缓存对象按照从大到小的顺序维护一 个优先列表。每次置换操作发生时,从列表尾依次取出对象进行置换。Key值的计算公式如 下公式(1): 其中,i表示第i个缓存对象;Key(i)表示第i个对象的价值;Cost(i)表示从原 始服务器上取得第i个对象所需花费的代价,计算时可以用常量代替;Size (i)表示第i个 对象的大小;Freq(i)表示第i个对象的用户访问频率;Age (i)表示第i个对象的老化时 间。 下面具体描述根据本专利技术的实施例的对缓存对象价值的计算方法的改进。 根据本专利技术的一个实施例,对现有技术中的缓存节点对缓存对象的存储附加如下 条件:当缓存对象大于或等于事先定义的缓存对象的大小的最大值Size_时,缓存节点, 例如AP,不对该缓存对象进行存储,直接丢弃该缓存对象。可具体表示为如下公式(2): 其中,Sizei表示缓存对象i的大小经计算处理之前的值;Size(i)表示缓存对象 i的大小经计算处理之后的值。 根据本专利技术的一个实施例,具体的Size_可以根据缓存节点(比如AP)的实际存 储空间和用户请求对象的大小来具体确定。例如,经统计,缓存对象中间图片和视频是两 类较大的对象,图片的平均大小约100KB,视频的平均大小约为4M。如果AP的存储空间为 1GB,可以将Size_设置为2倍于平均视频大小,即8M。 通过上述改进,可以改进现有技术中的如下情况:所有的新对象由于加入了老化 时间Age(i)而使得其价值Key(i)值较高,从而都会比较容易被缓存节点缓存下来;当本文档来自技高网
...

【技术保护点】
一种用于缓存节点的缓存置换方法,其特征在于,所述方法包括:根据所述缓存节点中存储的缓存对象的参数,基于GDFS算法计算所述缓存对象的价值;根据所述缓存节点中的所有缓存对象的价值的大小关系,将小于预定的最大缓存对象大小的缓存对象存入所述缓存节点。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:余显张广兴王亚坤谢高岗
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:北京;11

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

1