用自适应机制改进Web信息缓存管理的性能

转载 2006年05月22日 17:45:00

by 刘瑞虹 曹东启

1 引  言

  随着Internet环境下Web信息量的不断增大,Web信息的各种获取处理工具也不断出现,如各种Web浏览器、Web代理服务器、搜索引擎等.这些工具都采用了缓存技术进行Web信息的管理和组织,其中Web浏览器是对单个用户的Web信息操作进行缓存处理;Web代理服务器对Intranet环境下群用户Web信息操作进行缓存处理;搜索引擎通过缓存来管理收集来的Web页面信息,以便用户进行搜索操作,特别是随着通用搜索引擎的Web信息覆盖率的下降,专用主题搜索引擎正越来越受到人们的重视,如:ROADS[1],The Search Broker[2]等系统的出现,专用主题搜索引擎对缓存管理更具有特殊的要求;Web信息缓存管理方法的选择直接制约Web信息获取的性能.
  对于Web信息获取的缓存管理主要包括以下3个方面的要素:
  (1)缓存Web页面文件的范围;
  (2)怎样进行缓存内文件的有效更新;
  (3)从缓存中去除什么样的Web页面文件.
  从下面对现有的Web信息缓存管理方法描述可以看到,这些方法都未全部就这3个要素进行考虑,只是对其中的一个或两个要素进行优化.这些方法可归为两大类[3]:一类是侧重于对Web页面文件进行有效更新;另一类是侧重于判定对哪些Web页面文件进行缓存.
  ① 基于失效期的缓存管理方法
  这种方法的假定前提是:如果能准确预测一个Web文件的失效期,那么就能对缓存中的Web文件进行精确的有效更新,而提高预测Web文件失效期准确率的方法是依据Web文件更新的日期进行计算而得出,但这样会明显增加计算量和网络传输量.解决这一问题的途径之一是系统管理员设置“时间点”,如选择晚上网络相对空闲时间进行Web页面缓存更新操作,这样可保证缓存更新的高速进行.但其并不能反映Web文件的真实变化时间.
  ② Web文件读取建模方法
  这种方法是通过对人们进行Web页面文件读取过程建模的方法来进行缓存管理.Pitkow和Recker[4]用人的记忆方式进行缓存建模,他们的结论是一个最近一两天内访问的Web页面要比通过频率测量方法预测未来访问的页面更加有用.但是他们的结果范围仅局限在记忆保留经验模型基础之上的一种方法,而不是反映Web文件真实读取情况的方法.另外他们的研究主要集中在大型的代理服务器之上,大型代理服务器的突出特点是缓存中Web文件仅保留几个小时,因此Web文件发生变化的动态性往往被忽略.
  ③ Web文件加权方法
  最简单也是当前最常用的Web文件加权方法是least recently used(LRU)算法,即把最近一次访问间隔时间最长的Web文件从缓存中清除出去.用Web文件加权的方法进行缓存管理不同于一般分布式文件系统所采用的加权缓存管理,这是因为Web文件绝大多数情况下是只读方式.Bolot和Hoschka[5]提出的Web文件加权方法把Web文件的下载时间作为加权因子,其它的加权因子还包括最近一次访问间隔时间、Web文件获取时间、生存时间(由服务器或文件制作者设置的有效期)和文件大小.
  Bolot和Hoschka指出他们的加权方法虽然在性能上不如LRU方法好,但是在预获取时间(perceived retrieval time)上却具有某些改进.这里的预获取时间是根据加权丢失率来测定的,加权因子采用Web文件不在缓存中的概率值,此概率值和文件大小成反比.他们认为Web文件大小和其瞬时的空间位置是进行动态缓存处理的主要考虑因素.根据Bolot和Hoschka的方法可以得出这样的结论:Web文件的获取时间和Web文件大小成正比.这样Web文件大小就成为非常重要的因素,大的Web文件要比小的Web文件优先进行缓存.但是在没有考虑传输时间或当前网络性能的前提下,Web文件的获取时间不一定是进行有效缓存管理的度量单位.
  这些已有的Web信息获取缓存管理方法都未能就上述3个要素给出十分圆满的解决方案,它们只是就其中的一个或两个要素进行优化,特别是未充分考虑Web文件变化和请求信息.而自适应机制的缓存管理则是通过对缓存中Web文件操作进行动态跟踪来实现缓存管理的,其充分利用了Web文件的变化情况和用户对Web文件读取的频率等信息,因此是全面解决Web信息缓存管理中3个要素的好方法.国外已有类似的研究,如WebAgent[3],但其主要侧重于Web浏览器缓存管理方面的内容,其自适应机制功能有限.我们结合所承担的国家“九五”重点科技攻关计划专题“网络信息获取前后服务处理技术”研究任务,设计开发了一个面向企业主题的Web信息获取系统(WebCapture).由于WebCapture既是企业Intranet环境下用户的Web信息代理服务器,同时又负责满足企业主题的Web信息预获取的任务,因此自适应机制的Web信息缓存管理成为构造WebCapture的最佳选择.
  下面分别就自适应机制的Web信息缓存管理的概念、方法和实现进行定义描述.

 2 自适应机制的Web信息缓存管理概念定义

  定义1. Web信息缓存管理CM是(D,P,V,R)的四元组,其中D代表Web文件集合;P代表向缓存中加入新Web文件动作集合;V代表对缓存进行有效更新动作集合,即用新Web文件替换已失效或将要失效的旧Web文件;R代表从缓存中去除Web文件动作集合.
  定义2. 自适应机制的Web信息缓存管理是能够根据用户的操作情况和系统资源情况等,进行自身调整的Web信息缓存管理,以使得Web信息缓存管理的性能得到改进的方法.
  定义3. 自适应操作是指对Web信息缓存管理动作修改的操作.其包括: Po向缓存中加入新Web文件动作P的修改,Vo对缓存进行有效更新动作V的修改,Ro从缓存中去除Web文件动作R的修改.
  定义4. 有效的自适应操作.对于image5/536-1.gif (115 bytes)o∈O, cmi∈CM, cmj∈CM并且cmj=o(cmi), E(cmj)>E(cmi), 则称o为一个有效的自适应操作.其中O代表自适应操作集;CM代表Web信息缓存管理;E代表Web信息缓存性能评价函数,E(cmj)>E(cmi)表示Web信息缓存管理j比Web信息缓存管理i在评价指标上要好.
  定义5. 自适应推理.设推理规则r是(CM,S,O)的三元组,其中CM代表一个Web信息缓存管理;S代表CM对应的统计数据集;O代表自适应操作集.自适应推理就是找出一条合适的推理规则r,使得在cm和s(cm∈CM,s∈S)已知的前提下,进行相应的自适应操作o(image5/536-1.gif (115 bytes)o∈O).
  定义6. 自适应过程是cm0,cm1,cm2,…,cmn的序列,其中cm0是初始的Web信息缓存管理,cmi∈CM,cmi=oi-1(cmi-1),并且oi-1是一个有效的自适应操作.
  从上述定义描述可以看出:①Web信息缓存管理的自适应操作涉及的内容是向缓存中加入新Web文件动作集合,对缓存进行有效更新动作集合和从缓存中去除Web文件动作集合.②自适应操作的有效性是通过缓存性能评价函数给出的.③自适应操作的依据是各种有效的统计数据.④自适应推理就是根据用户进行Web信息获取操作的行为特征模式,找出合适的自适应操作.⑤Web信息缓存管理是一个不断进行自适应操作的优化过程.

 3 Web信息缓存管理的要素分析

  Web信息缓存管理的要素包括:
  (1) 缓存Web页面文件的范围;
  (2) 怎样进行缓存内文件的有效更新;
  (3) 从缓存中去除掉什么样的Web页面文件.
  其分别对应上节描述的P,V,R动作集合.
  进行Web文件缓存的目的是要尽量减少用户访问源Web文件的次数,因此首先就要保证缓存Web文件范围的准确性,即P动作集合的准确性.缓存Web页面文件的范围应该是有关用户或用户群感兴趣的Web页面集IWS.IWS的获取包括两种方式:把用户的Web页面查询结果存入缓存中供以后查询使用;进行Web页面的预获取.现在大部分Web浏览器和代理服务器采用第一种方式完成新Web文件的加入操作;但进行准确的Web页面预获取可明显提高Web信息缓存管理的性能.
  为了保证缓存中Web文件与源Web文件的一致性,就要进行缓存内文件的有效更新,只有在获得或精确预测源Web文件更新日期的前提下,才能进行缓存内Web文件的有效更新.预测源Web文件更新日期的方法可用下式表示:

FUDi=f1(UDi, UDi-1,…, UD0),

即由源Web文件以往的更新日期序列来计算其更新日期的预测值.其中UDi是其第i次的更新日期.我们取相应Web文件的已有最小修改日期间隔来作为下次修改时间间隔的预测值,用下式表示:

FUDi=min(UDi, UDi-1,…, UD0).

缓存空间是有限的,因此就必须考虑采用什么策略从缓存中去除掉Web页面文件,我们认为应从缓存中Web文件下一次读取时间和Web文件的再获取代价两方面来考虑从缓存中去除掉什么样的Web文件.
  通过跟踪记录用户对缓存中各个Web文件读取动作时间的统计分析,可以得到相应文件的下一次读取时间预测值,用下式表示:

TNRi=f2(Ti, Ti-1,…, T0),

即由缓存Web文件以往的被读取日期间隔来计算其下一次读取时间的预测值.其中Ti是其第i次的读取时间间隔.这里有以下可采用的算法:
  (1) TNRi=Ti
  LRU算法;
  (2) TNRi=(Ti+Ti-1+…+T0)/(i+1)
  用以前Web文件被读取的时间间隔平均值来表示预测值;
  (3) TNRi=αTi+(1-α)TNRi-1
  用指数平滑技术来计算预测值,其中:TNRi-1是前一次的预测值,α是指数阻尼因子.一般情况下,α的理想值在0.1~0.3之间[6].
  而去除Web文件再获取代价可以用相应文件的下载时间Δt来表示.因此从缓存中去除掉Web页面文件的权值可用下式表示:

W(Ti)=Δt/TNRi

Web信息缓存管理根据缓存中每个Web文件的权值大小来决定从缓存中去除掉哪些Web页面文件.
  针对上述对Web信息缓存管理要素进行控制的算法,采用什么方法来评价其性能是进行自适应机制缓存管理的关键,如果此方法能真实地测定缓存管理的性能,那么就可以通过动态调节有关参数来提高或保持缓存管理的性能.许多系统采用文件命中率(document hit rate)或字节命中率(byte hit rate)来进行测定.通过分析,我们认为预获取速率(preceived retrieval rate, PRR)[3]能更精确测定Web信息缓存管理的性能. PRR等于用户从缓存中读取的总信息字节量除以下载未在缓存Web文件所需要的时间,即

image5/592-1.gif (680 bytes)

其中,n是用户从缓存中读取的总Web文件数,Si是Web文件i的字节大小;m是下载未在缓存Web文件的个数,Δtj是下载Web文件j所需要的时间.

4 Web信息缓存管理的自适应机制设计

  基于对Web信息缓存管理的自适应过程和要素的分析,我们在WebCapture的开发过程中对有关Web文件缓存管理采用了如图1所示的自适应机制.该机制包括4个概念模型:描述缓存Web文件读取特征的读取模型;描述缓存Web文件下载特征的下载模型;描述缓存中Web文件自身属性的Web文件模型;描述缓存管理操作特征的操作模型.每个模型包含功能层和数据层两部分,其中功能层定义了信息收集、特征描述、评价方法等功能实现机制,数据层定义了相应模型的数据内容.

t59301.gif (6945 bytes)

图1 Web信息缓存管理的自适应机制示意图

4.1 读取模型设计

  读取模型通过监测用户从缓存中读取Web页面的动作过程,得到用户读取缓存的行为特征和缓存性能特征,其中包括用户名、读取的文件名、读取日期、成功与否等内容;并在此基础上形成读取动作的统计数据,如到目前为止读取的总Web文件个数和总字节数,某Web文件的读取次数等.

4.2 Web文件模型设计

  Web文件模型记录了当前缓存中Web文件的属性和统计数据描述.其包括各个Web文件的文件名、地址、文件大小、最后一次修改日期,以及当前缓存中Web文件的总个数和总字节数.

4.3 下载模型设计

  下载模型用于监测缓存到Web信息源环境进行Web文件下载的过程,从而得到系统进行下载动作的特征值,其包括下载的文件名、下载时间、下载日期、下载文件的有效期或下载文件的最新修改日期,以及在此基础上统计计算出来的下载Web文件总个数、总字节数和总下载时间等.

4.4 缓存管理模型设计

  缓存管理模型是在上述模型的原始记录和统计数据基础上,推理出Web信息缓存的用户行为特征和缓存的管理性能特征,通过修改当前Web信息缓存管理的去除动作集,有效更新动作集和获取动作集或其中之一来实现Web信息缓存管理的自适应过程.缓存管理模型的核心是推理机制,其采用IF…THEN的推理规则来实现,WebCapture的主要推理规则包括以下几类:
  (1)有关去除动作修改的规则.其所依据的统计数据包括: Web文件的读取时间序列;Web文件的下载时间;到目前为止的总读取字节数;读取过程中不在缓存中的Web文件下载时间和等.其典型的规则包括:把不再使用的Web文件从缓存中去除掉;在缓存空间不够的情况下,把W(Ti)值最小的Web文件从缓存中去除掉;如果系统评价值PRR下降,调整TNRi的计算方法的参数或改变TNRi的计算方法.
  (2)有关有效更新动作修改的规则.其所依据的统计数据包括:Web文件的有效期;Web文件的最新修改日期序列等.其典型的规则包括:如果Web文件的有效期临近或已到,进行相应文件的有效更新;如果Web文件的有效期未知,利用Web文件的最新修改日期序列来预测Web文件的有效期,并据此进行Web文件的有效更新.
  (3)有关获取动作修改的规则.其所依据的统计数据包括:用户读取某Web文件成功与否标记.其规则包括:如果用户读取缓存中Web文件失败,增加一个获取相应Web文件的动作命令.

5 自适应机制的实现

  在WebCapture的自适应机制缓存管理中主要提供了以下功能:
  (1) 根据对用户读取动作的最新跟踪结果,进行缓存中Web文件权值的动态更新;
  (2) 根据系统评价值PRR的变化情况,实现下一次读取时间TNR预测方法的自适应调整;
  (3) 根据缓存中Web文件有效期的测定值或预测值,进行Web文件的有效更新;
  (4) 实现缓存Web文件的自动获取.

t59401.gif (4407 bytes)

图2 WebCapture的自适应机制缓存管理的实现模型

  WebCapture中自适应机制缓存管理的实现模型如图2所示.其通过系统内部的推理行为实现Web信息缓存管理的自适应功能,自适应推理机的算法采用了基于产生式规则的正向推导机制.实验表明:LRU算法对于读取时间变化比较均匀的操作具有好的缓存管理性能,但对于读取时间变化剧烈的操作,LRU算法的缓存性能明显下降;而平均值法和阻尼指数平滑法由于是在考虑了Web文件的整体读取情况下进行的TNR预测,因此其具有优于LRU算法的缓存管理性能.另外进行Web页面预获取可显著提高缓存的管理性能,问题的关键是知道预获取的内容.在WebCapture系统中,我们采用Web信息领域分析的方法来得到企业主题词集,基于企业主题词集进行Web页面的预获取操作,获得较好的效果.

6 总  结

  利用自适应机制来改进Web信息缓存管理的性能是目前Web信息获取技术的一个重要发展方向.因为这种技术不仅能提高Web信息缓存管理的性能,更重要的是其可以根据用户的使用和网络负载情况动态调整Web信息的缓存管理机制.WebCapture的缓存管理自适应机制较全面地覆盖了影响Web信息缓存管理性能的要素,并给出了这些要素的解决方法.Web信息缓存管理自适应机制的关键问题是有关的预测算法问题,精确预测缓存中Web文件的TNRi值和FUDi值是进行有效自适应操作的关键.

刘瑞虹,男,1962年生,博士,研究方向为计算机网络与数据库.
曹东启,男,1935年生,研究员,博士生导师.研究方向为计算机网络与数据库.

刘瑞虹(中国科学院软件研究所 北京 100080)
曹东启(中国科学院软件研究所 北京 100080)

参考文献

1,Kirriemuir J. Resource organization and discovery in subject-based services(ROADS). http://ukoln.bath.ac.uk/riads/intro.html, 1996
2,Manber U. The search broker. http://sb.cs.arizona.edu/sb/paper.html, 1997
3,Reddy M, Fletcher G P. An adaptive mechanism for Web browser cache management. IEEE Internet Computing, 1998, 2(1): 78~81
4,Pitkow J E, Recker M M. A simple yet robust caching algorithm based on dynamic access patterns. In: Proc Second World Wide Web conf. Elsevier, Amsterdam, 1994
5,Bolot J C, Hoschka P. Performance engineering of the World Wide Web: Application to dimensioning and cache design. Computer Networks and ISDN System, 1996, 28(7-11): 1397~1405
6,Gardner Jr E S. Exponential smoothing: The state of the art. Journal of Forecasting, 1985, 4(4): 1~28
7,Perrochon L. A quick tutorial on searching and evaluating Internet. IEEE Communications Magazine, 1997, 35(6): 142~145
8,Dingle A, Partl T. Web cache coherence. Computer Networks and ISDN System, 1996, 28(7-11): 907~920
9,Markatos E P. Main memory caching of Web documents. Computer Networks and ISDN System, 1996, 28(7-11): 893~905
10,Jenkins C, Jackson M, Burden P et al. Searching the World Wide Web: An evaluation of available tools and methodologies. Information and Software Technology, 1998: 39(14-15): 985~994
11,Glassman S. A caching relay for the World Wide Web. Computer Networks and ISDN Systems, 1994, 26(2): 165~173

相关文章推荐

H5 缓存机制浅析 移动端 Web 加载性能优化

1 H5 缓存机制介绍 H5,即 HTML5,是新一代的 HTML 标准,加入很多新的特性。离线存储(也可称为缓存机制)是其中一个非常重要的特性。H5 引入的离线存储,这意味着 web 应用可进...

H5 缓存机制浅析 移动端 Web 加载性能优化

1 H5 缓存机制介绍 H5,即 HTML5,是新一代的 HTML 标准,加入很多新的特性。离线存储(也可称为缓存机制)是其中一个非常重要的特性。H5 引入的离线存储,这意味着 web 应用可进行缓...

H5 缓存机制浅析 移动端 Web 加载性能优化

首先分析各种缓存机制的原理、用法及特点;然后针对 Anroid 移动端 Web 性能加载优化的需求,看如何利用适当缓存机制来提高 Web 的加载性能。

H5 缓存机制浅析 移动端 Web 加载性能优化

1 H5 缓存机制介绍 H5,即 HTML5,是新一代的 HTML 标准,加入很多新的特性。离线存储(也可称为缓存机制)是其中一个非常重要的特性。H5 引入的离线存储,这意味着 web 应用可进...

H5 缓存机制浅析 - 移动端 Web 加载性能优化

最近在一个视频播放性能的问题上卡了好久,就是播放后内存一直增加,直到死机。。。然后就找啊找,看到这篇文章后觉得这就是我一直在找的东西,啊嘻嘻嘻嘻嘻,如果你也遇到类似问题可以看看

H5 缓存机制浅析 移动端 Web 加载性能优化

腾讯Bugly特约作者:贺辉超 1 H5 缓存机制介绍 H5,即 HTML5,是新一代的 HTML 标准,加入很多新的特性。离线存储(也可称为缓存机制)是其中一个非常重要的特性。H5 引入的离...

提高PHP编程效率 引入缓存机制提升性能

用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)