一种网络缓存线性替换方法

文档序号:9767872阅读:836来源:国知局
一种网络缓存线性替换方法
【技术领域】
[0001] 本发明具体涉及一种缓存替换方法,即在缓存容量已满时对其进行合理的替换, 属于信息存储与缓存替换领域。
【背景技术】
[0002] 网络信息量的告诉增长远远超过网络速度的增长,韩向春,田玉根说现有的网络 技术不能满足用户的需求,用户往往要忍受较长的访问延时,为了解决这一问题,提出了许 多方法,其中网络缓存已经成为解决这一问题的主要技术。目前的替换方法中,主要是按照 缓存文件的访问频率、内存大小、访问时间等因素在保证文件命中率与字节命中率的基础 上来进行文件的替换,也有一些加入了预测机制。例如LFU、LRU、SIZE等方法。钮俊清教授指 出,这些方法各有利弊,如LRU,它替换掉最近最少访问的对象,具有较好的时间复杂度,但 没有考虑访问频率等其他因素。LRU会在成缓存垃圾的出现。所以如何有效的将各方法的高 效因子进行结合,是提高缓存效率的有效方法。
[0003] 衡量一个缓存替换方法的指标,一般会采取文件命中率与字节命中率,同时还要 兼顾访问延时。本方法主要是结合了 LFU方法与SIZE方法。韩向春在《基于预测的web缓存替 换算法》(信息化技术2010,31(1))指出LFU作为经典的缓存替换方法,采用文档的流行度作 为替换的依据,保留那些经常访问的web文档,其优点是实现简单,缺点是没有考虑文件的 年龄、大小和获取文件的访问延迟。SIZE方法替换文件大小最大的对象,对于大小相同时, 通常选取访问时间作为第二因素,但是忽略了频率因素。张俊旺在他的硕士论文《Web缓存 替换策略与预取技术研究》中的实验总结里说对于缓存而言,其主要过程为,当Web缓存的 存储空间都被占满时,新来的对象就没有足够的空间来进行存储,这就需要一种有效的替 换侧率把当前缓存中价值最小的对象替换出去。因此如何确定缓存对象的价值也成为方法 的关键因素。当要进行替换时,会按照我所提出的方法,对缓存中的文件的价值按照时间频 率与大小进行计算,替换掉最边缘的。网站所接受的访问请求是不确定的,但针对同一网 站,访问请求的数据类型大体一致。由于数据的变动,在方法中加入不同的动态变量,这些 变量根据每一个文件的被访问次数与大小等因素进行实时的更新。确定不同的参数,可以 获得不同的替换策略,做到命中率最大化。提高缓存效率,减少访问延迟。
[0004] 传统的缓存替换方法,作为现有缓存技术的基础。现今大多数的方法都是在经典 方法上面的修改与结合。同时也有人认为较为流行的也有加入Web缓存日志文件,用来更有 效额判断缓存文件的价值。在针对不同的访问对象,可以修改各关键因素的变量值。

【发明内容】

[0005] 本发明的所要解决的技术问题是针对传统缓存替换方法的不足。传统的缓存替换 方法,在进行替换的过程依据比较单一,没能综合的考虑频率、大小、访问时间等因素,也没 有考虑缓存文件的价值的计算,而过多的替换会增加访问延时。所提出的网络缓存线性替 换方法,在保证文件命中率与字节命中率的基础上,结合了 LRU与SIZE方法,对每一个缓存 文件的价值进行判断,通过实时的更新替换策略方程中的参数,来获得更优秀的替换方法。 减少了替换的次数,保留了最有价值的文件。本发明通过三层的递推,得出最优秀的缓存时 间点以及缓存公式中的参数。从最原始的替换方法、一次替换到多次替换,每一步都依据上 一步的论证结果。应用中不但兼顾了各主要因素,同时做到了节省带宽资源,在大数据的传 输过程中具有较高的作用。
[0006] 技术方案:
[0007] 步骤1),建立一个网站缓存模型,规定其缓存容量大小,并给出5个大小不同的文 件,编号为Pi(i = 1,2,…,5 ),作为所要被访问的文件;
[0008] 步骤2),对步骤1)所建立的模型,发送大量的文件请求来请求这五个文件,并记录 请求序列,发送的请求是随机的。
[0009] 步骤3),当用户发送了大量请求之后,例如请求数据的总大小为缓存容量的η倍(η 远大于1),这时所请求的数据就远大于缓存的容量了。此时对所发送的每个数据请求的频 率以及每个返还数据的大小进行分析记录,合理的选取要保留在缓存中的文件,这作为第 一次替换,所选取的数据就放在缓存中。保留包含两个要素,最大化文件命中率与不要超出 fr γ? 缓存容量范围,Max XSiYiSS。其中Yi为0表示该文件不保存在缓存中,为1表 示保存在缓存中,S为缓存的大小。在此之前,缓存的替换是随机替换。本步骤主要是对下面 的替换提供依据。
[0010] 步骤4),由于η的数量过大,会造成很高的访问延迟,过低会导致缓存的频繁读写, 不利于性能。所以要选取合理的η。按照步骤3)的思路,进行第二步,继续发送请求数据,但 是在发送的请求容量为缓存容量η/2倍时进行第一次缓存替换,相当于提前进入缓存。替换 按照步骤3)的规则,既要保证最大化文件命中率,也要保证不超出缓存容量。第一次替换结 束后缓存中文件为Yu,用〇和1表示,〇表示不在,1表示在。再发送η/2的数据请求发送完成 后,再对这η/2的数据进行分析,计算文件命中率,再替换一次,此时缓存中文件为Y 2i用0和1 表示。将两次的缓存结果进行对比,获取最终的缓存方案。这里将LFU与SIZE方法结合起来, 来选定参数,公式为+ 注意,在计算时只需选取Yli为1的,以及所 Si 对应的的γ2ι。因为这样可以更好的验证那些被替换掉了的数据。这里面其中C、W1、W2为参 数。在接下来的请求中缓根据公式G = C + wFk +,计算每一个请求数据的值,选取最 小的进行替换,直到下一次参数更新。
[0011] 步骤5),完成第三步,进行进一步的优化,选取的替换节点为n/m倍。即每发送数 据的总量为n/m(n/m>l)后就更新一次缓存,此时所请求的数据的总的容量要大于缓存的容 量。每一个断点都先根据访问请求计算一下缓存中保留的数据,再根据上一段的保留数据 按照步骤4)替换一次,得出相应的替换公式。在接下来的一段里按照该公式进行替换。总体 而言,每两段之间的替换按照步骤4)中方法。通过所发送的请求数据,求出各参数,公式为: = 0 +儀Σ矜+勒并将等式右边的公式作为接下来的替换公式。 hi
[0012] 步骤6),重复步骤5)进行更细致的划分。
[0013] 步骤7),分别计算并记录每一次更换时间节点后,在下一段时间段内的字节命中 率、文件命中率与访问延迟时间,作对比。
[0014] 步骤8),对每一次的文件命中率等进行画图,选取文件命中率最高的对应的倍数 值作为以后开始执行缓存的时间。
[0015]进一步的,本发明的网络缓存线性替换方法,结合了传统的LRU与SIZE方法,步骤 4)在确定替换公式时,加入了频率与文件大小两个因素,同时加入调节参数,来进行调节。
[0016] 进一步的,本发明的网络缓存线性替换方法,步骤8)对于步骤5)得到的替换方法 的应用:同时由于访问用户的不同等外在因素,每一序列访问请求发送完成后,都会进行重 新的参数计算。
[0017] 有益效果
[0018] 本发明针对传统的缓存替换方法替换时依据的元素单一进行改进,理想的线性网 络缓存替换方法,能够在缓存中保存使用价值最高的文件,方便请求用户较快、较准的查询 到所请求的对象。该方法首先根据传统的替换方法的公式,选取其主要参数,进行结合,其 次在新方法中添加了调节因数,用于针对请求的更新获取新的替换方法。在最大化字节与 文件命中率的同时,减少了访问延迟,
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1