一种缓存管理方法技术

技术编号:2847503 阅读:247 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种缓存管理方法,该方法包括:获取被请求的web文档,更新web文档的属性,利用该web文档的属性对该web文档进行分类;根据分类结果将该web文档放置到相应的缓存队列中后,调整该队列中的对象。如果从远程web服务器中获取web文档且缓存中没有足够空间存放该web文档时,根据计算访问权重删除历史对象。分类时根据计算分类权重进行分类。根据本发明专利技术公开的方法,对每一个web文档进行分类管理,对每一队列又使用最近最少使用算法LRU进行调整,实现了多队列的web缓存管理。计算访问权重和分类权重时,使用了web文档属性和可调节的参数,考虑了对缓存管理中各种性能的平衡。

【技术实现步骤摘要】

本专利技术涉及web缓存技术,特别是指。
技术介绍
web缓存技术是在缓存中存放被访问过的web文档的副本的技术,当需要再次访问该web文档时,可以直接从缓存中取出该文档返回给用户。下面结合图1详细介绍现有的web缓存管理的通常的处理流程。步骤101用户请求一个web文档O。步骤102判断用户请求的web文档O是否在缓存中,如果是,则执行步骤103;否则,执行步骤105。步骤103比较请求的web文档O与缓存中的web文档O的大小和最后刷新时间,判断该缓存中的web文档O是否已过期,如果已过期,则执行步骤104;否则,执行步骤108。步骤104删除缓存中该过期的web文档O。步骤105从远程web服务器中获取被请求的web文档O,并返回给用户。步骤106比较该web文档O的大小与缓存中剩余空间的大小,判断缓存中是否有足够的空间存放该web文档O,如果没有,则执行步骤107;如果有,则执行步骤109。步骤107从缓存中依次删除权重最低的对象,直到缓存中有足够的剩余空间来存放该web文档O,然后执行步骤109。步骤108从缓存中获取该web文档O,并返回给用户。步骤109更新web文档O的相关属性和权重,并将web文档O存放到缓存中,结束本流程。以上现有的web缓存管理方法中,最主要的缺点在于使用单队列管理web缓存,单队列web缓存管理中只存在一个队列,因此缓存管理的时间复杂度较高。对于上述web缓存管理流程中,影响web缓存使用效率的问题为步骤107中的删除权重最低的对象以存放当前被请求的web文档的替换策略,以及步骤109中的存放策略。其中,缓存替换是指当缓存已满时用新的web文档替换旧的web文档的过程。对于所述替换策略和存放策略,现有技术中有很多处理方法,都存在一些缺点,概括如下现有的web缓存替换中,没有考虑利用web文档的最近访问历史来评估该web文档可能再次被访问的概率;现有的web缓存替换算法中,一些方法侧重时间局限性,一些方法侧重空间局限性,没有有效地基于时间引用,也没有根据文档的大小和取回代价即下载所用时间等因素作有效地平衡;或现有的web缓存替换方法往往侧重于某一性能矩阵,无法通过性能评估达到平衡的结果;现有的web缓存替换算法对于web请求流的特征存在一定程度的依赖,无法自适应外界参数的变化。综上所述,随着网络信息增长速度远远快于存储速度的增长的情况下,目前所存在的web缓存管理方法只是在特定环境下具有较好的性能,应用在不同的环境中将有不同的表现,目前并没有在所有环境中都足够好的web缓存管理方法。web缓存的管理方法根据web文档更新速度快、动态页面的流行等新需求还要进一步改进。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供,使得能够以多个队列的方式进行分类缓存管理。为了达到上述目的,本专利技术提供,该方法包括获取被请求的web文档,更新web文档的属性,利用该web文档的属性对该web文档进行分类;根据分类结果将该web文档放置到相应的缓存队列中后,调整该队列中的对象。所述调整该队列中的对象的步骤包括按照最近最少使用LRU方法调整该队列中的对象。所述获取被请求的web文档的步骤包括从远程web服务器中获取web文档;所述从远程web服务器中获取web文档后,对该web文档进行分类之前进一步包括判断缓存中是否有足够的空间存放该web文档,如果是,则对该web文档进行分类;否则,根据对象的取回代价、大小以及未来可能被访问的概率计算每个队列的最早被访问过的对象的访问权重,从缓存中依次删除访问权重最低的对象,直到缓存中有足够的空间存放该web文档,然后对该web文档进行分类。所述计算访问权重的步骤包括获取web文档的取回代价、web文档的大小以及web文档未来可能被访问的概率;计算所述web文档的取回代价与web文档的大小的商,用该商值乘以所述web文档未来可能被访问的概率得到计算访问权重。所述获取web文档未来可能被访问的概率的步骤包括利用该web文档的最近被访问的记录计算该web文档未来可能被访问的概率P,具体包括获取web文档的访问频率、web文档最近被访问的次数以及所述web文档最近被访问的时间间隔;当该web文档最近被访问的次数至少3次时,P的计算公式为,P=fN*(Σi=1L(12)λΔti);]]> 当该web文档最近被访问的次数少于3次时,P的计算公式为,P=fN,]]>其中,f为web文档的访问频率,N为表示所有被访问web文档的总数的常数,λ为可调节的常数,Δt是web文档被访问的时间间隔,L为该web文档最近被访问的次数。所述对web文档进行分类的步骤包括根据该web文档的大小、web文档的取回代价、web文档的访问频率计算该web文档的分类权重后,根据分类权重对该web文档分类。所述计算分类权重的步骤包括获取web文档的大小、web文档的取回代价以及web文档的访问频率;利用如下公式计算得到所述分类权重sλ1fλ2×cλ3,]]>其中,s为web文档的大小,c为web文档的取回代价,f为web文档的访问频率,λ1,λ2,λ3为可调节的常数。所述根据分类结果将web文档放置到相应的缓存队列的步骤包括根据web文档的分类权重计算队列号,并将该web文档放置到相应队列号的缓存队列中。所述计算队列号为对分类权重取以可调节的常数为底的对数后取下整数,得到所述队列号。所述可调节的常数是通过周期性地利用历史访问数据进行学习调节得到。所述更新的web文档的属性包括访问时间、大小、取回代价、最后修改时间、过期时间、访问次数、最近访问历史。所述获取web文档的步骤包括根据所请求的web文档,判断该web文档是否在缓存中,如果该web文档不在缓存中,则直接从远程web服务器中获取被请求的web文档;如果该web文档在缓存中,则再判断缓存中的该web文档是否已过期,如果是,则删除缓存中的该过期的web文档,并从远程web服务器中获取被请求的web文档;否则,从缓存中获取该web文档。根据本专利技术提供的缓存管理方法,对每一个web文档进行分类管理,对每一队列又使用LRU方法进行调整,实现了多队列的web缓存管理。对web文档进行分类时根据对象的大小、取回代价、访问频率等属性以及可调节的参数进行合理地分类,有效地对缓存作了平衡,又通过对每一队列考虑时间特性进行调整,实现了有效的基于时间的引用。在访问权重的计算过程中利用了web对象的取回代价、大小、未来可能被访问的概率以及可调节的参数,充分考虑了空间局限性和时间局限性。在分类权重和访问权重的计算中不仅考虑了对象属性,还使用了可调节的参数,这些参数是可以通过周期性地利用历史访问数据进行学习调节的,因此,能够通过参数的调节达到缓存管理中各种性能的平衡,也能够通过调节参数适应各种应用环境,而且能够根据外界参数的变化可以随时调节其参数值。附图说明图1所示为现有技术中web缓存管理流程图;图2所示为本专利技术中web缓存管理流程图。具体实施例方式为使本专利技术的目的、技术方案和优点更本文档来自技高网
...

【技术保护点】
一种缓存管理方法,其特征在于,该方法包括:    获取被请求的web文档,更新web文档的属性,利用该web文档的属性对该web文档进行分类;    根据分类结果将该web文档放置到相应的缓存队列中后,调整该队列中的对象。

【技术特征摘要】
1.一种缓存管理方法,其特征在于,该方法包括获取被请求的web文档,更新web文档的属性,利用该web文档的属性对该web文档进行分类;根据分类结果将该web文档放置到相应的缓存队列中后,调整该队列中的对象。2.根据权利要求1所述的方法,其特征在于,所述调整该队列中的对象的步骤包括按照最近最少使用算法LRU调整该队列中的对象。3.根据权利要求1所述的方法,其特征在于,所述获取被请求的web文档的步骤包括从远程web服务器中获取web文档;所述从远程web服务器中获取web文档后,对该web文档进行分类之前进一步包括判断缓存中是否有足够的空间存放该web文档,如果是,则对该web文档进行分类;否则,根据对象的取回代价、大小以及未来可能被访问的概率计算每个队列的最早被访问过的对象的访问权重,从缓存中依次删除访问权重最低的对象,直到缓存中有足够的空间存放该web文档,然后对该web文档进行分类。4.根据权利要求3所述的方法,其特征在于,所述计算访问权重的步骤包括获取web文档的取回代价、web文档的大小以及web文档未来可能被访问的概率;计算所述web文档的取回代价与web文档的大小的商,用该商值乘以所述web文档未来可能被访问的概率得到计算访问权重。5.根据权利要求4所述的方法,其特征在于,所述获取web文档未来可能被访问的概率的步骤包括利用该web文档的最近被访问的记录计算该web文档未来可能被访问的概率P,具体包括获取web文档的访问频率、web文档最近被访问的次数以及所述web文档最近被访问的时间间隔;当该web文档最近被访问的次数至少3次时,P的计算公式为,P=fN*(Σi=1L(12)λΔti);]]>当该web文档最近被访问的次数少于3次时,P的计算公式为,P=fN,]]>其中,f为web文档的访问频率,N为表示所有被访问web文档的总数的常数,λ为可调节的常数,Δt是web文档被访问的时间间隔,L为该web文档最近被访问的次数。6.根据根据权利要求5所述的...

【专利技术属性】
技术研发人员:郑浩然钮俊清陈宇周昕宇胡永飞
申请(专利权)人:华为技术有限公司中国科学技术大学
类型:发明
国别省市:94[中国|深圳]

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

1