首页> 中国专利> WEB缓存置换方法及装置、HTTP代理服务器

WEB缓存置换方法及装置、HTTP代理服务器

摘要

本发明公开了一种WEB缓存置换方法及装置、HTTP代理服务器,用以解决现有的WEB缓存置换技术中存在删除操作的效率低下、降低缓存性能的问题。在本发明实施例中,HTTP代理服务器将缓存空间划分为至少两个子空间,将文件按照时间顺序依次存储到缓存空间的子空间中,并且在当前子空间不具备空闲存储空间后将另一子空间作为新的当前子空间,在子空间都存储满后,将最先存储满的子空间的全部文件删除掉,能够在保证缓存命中率的情况下实现批量删除文件,能够显著提高WEB缓存置换的删除操作的效率,对缓存性能的降低影响较小,从而能够解决现有的WEB缓存置换技术中所存在的删除操作的效率低下、降低缓存性能的问题。

著录项

  • 公开/公告号CN103442000A

    专利类型发明专利

  • 公开/公告日2013-12-11

    原文格式PDF

  • 申请/专利权人 北京星网锐捷网络技术有限公司;

    申请/专利号CN201310370226.6

  • 发明设计人 陈晨星;

    申请日2013-08-22

  • 分类号H04L29/06;

  • 代理机构北京同达信恒知识产权代理有限公司;

  • 代理人黄志华

  • 地址 100036 北京市海淀区复兴路29号中意鹏奥大厦东楼11层

  • 入库时间 2024-02-19 21:31:47

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-08-10

    授权

    授权

  • 2014-01-15

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20130822

    实质审查的生效

  • 2013-12-11

    公开

    公开

说明书

技术领域

本发明涉及网络通信系统,具体地,涉及一种WEB缓存置换方法及装置、 超文本传输协议(HTTP,Hyper Text Transfer Protocol)代理服务器。

背景技术

普通的HTTP访问过程是一个典型的客户机与服务器模型,如图1所示, 用户利用计算机上的客户端程序例如浏览器发出请求,远端WEB服务器程序 响应请求并提供相应的数据,HTTP代理服务器处于客户机与WEB服务器之 间,进行请求和数据的转发,对于WEB服务器来说,HTTP代理服务器是客 户机,HTTP代理服务器将来自客户机的请求转发给WEB服务器,WEB服务 器响应该请求;对于客户机来说,HTTP代理服务器是WEB服务器,它接受 客户机的请求,并将WEB服务器上传来的数据转给客户机。

WEB缓存是一种HTTP应用加速技术,HTTP代理服务器将客户机访问的 可以缓存的内容存储下来,这样其他用户再次访问相同内容时,HTTP代理服 务器就可以将所存储的内容发送给所请求的客户机,不用跨广域网(WAN, Wide Area Network)向服务器去获取,大大缩短了页面访问的时间,达到加速 的效果。

当HTTP代理服务器中存储的内容达到空间上限时,需要替换掉旧的内容, 填充新内容,以完成内容的更替,也即缓存置换。

缓存内容被置换掉,理论上是会对缓存命中率产生影响,缓存命中率=缓 存命中的数量/客户端请求数量,该指标体现WEB缓存对减少HTTP代理服务 器负载的贡献程度。缓存命中率越高,说明对WEB服务器的请求越少,缓存 的贡献程度越大。根据网上的使用经验,一般缓存命中率能在30%~60%之间。

目前,有多种缓存置换的方法,例如:最近最少使用(LRU,Least Recently  Used)算法、最近访问频率最少(LFU,Least Frequently Used)算法等等。这 些算法都确保所删除置换掉的内容不是当前的热点内容即请求较多的内容。

但是,在这些算法中,在具体删除掉操作中,均是根据算法所维护的文件 信息,在存储器中定位待删除的文件,再逐个删除待删除的文件,也即删除操 作是逐一删除的方法,这样就造成删除操作的效率即为低下,较为显著地降低 了缓存的性能,根据工程实践的证明,在删除操作的过程中,缓存的吞吐性能 会下降30%~50%。

可见,现有的WEB缓存置换技术中存在删除操作的效率低下、降低缓存 性能的问题。

发明内容

有鉴于此,本发明实施例提供了一种WEB缓存置换方法及装置、HTTP 代理服务器,用以解决现有的WEB缓存置换技术中存在删除操作的效率低下、 降低缓存性能的问题。

本发明实施例技术方案如下:

一种WEB缓存置换方法,包括:HTTP代理服务器将缓存空间划分为至 少两个子空间,每个子空间包括Ni个目录,其中,N为预定的N进位计数的 基数,i为预定的大于或等于2的自然数,并对每个子空间中的目录进行N进 制的顺序编号;对待缓存的文件按照预定的命名规则对该文件的统一资源定位 符(URL,Uniform Resource Locator)地址进行转换命名,得到所述预定的N 进制的至少包括i位的文件名;在待缓存的文件的文件名中确定预定数位起的 i个数位的数值,在当前子空间中确定目录编号与所述i个数位的数值相同的目 录,将该待缓存的文件存储到所确定的目录中;并且,在当前子空间不具备空 闲存储空间后将另一子空间作为新的当前子空间;在全部的子空间都存储满 后,将最先存储满的子空间中的文件删除掉。

其中,根据如下公式确定所述子空间的数量为:T=D/XY,其中,T为子 空间的数量,X为预定的子空间占缓存空间容量的最大比率,Y为预定的文件 存储天数,D为预定的缓存空间中的全部文件置换一次的天数;D=S/(M*L* (U-V)),其中,S为缓存空间的容量,M为WEB客户机的数量,L为每个 WEB客户机每天的访问流量,U为预定的向WEB服务器请求访问的流量中可 被缓存的流量的比率,V为预定的缓存命中率。

具体地,将缓存空间划分为至少两个子空间,具体包括:将缓存空间平均 划分为至少两个子空间;或者,按照预定的子空间之间的容量比例将缓存空间 划分为至少两个子空间;其中,预定的子空间之间的容量比例中包括预定的子 空间占缓存空间容量的最大比率,则,当前子空间为当前存储容量最小的子空 间。

具体地,对待缓存的文件按照预定的命名规则对该文件的URL地址进行 转换命名,具体包括:在N为十六进制的基数的情况下,对待缓存的文件的 URL地址进行MD5校验,得到十六进制文件名;或者,在N为二进制的基数 的情况下,对待缓存的文件的URL地址的每个字符转换为二进制的美国新型 交互标准码(ASCII,American Standard Code for Information Interchange),得 到二进制文件名。

优选地,所述方法还包括:将每个子空间划分为两级子目录,一级子目录 包括N个目录,每个一级目录包括Ni-j个二级目录,其中,j为小于i的自然数; 则,

在当前子空间中确定目录编号与所述i个数位的数值相同的目录,将该待 缓存的文件存储到所确定的目录中,具体包括:在当前子空间的一级目录中确 定目录编号为与所述i个数位的第一位至第j位的数值相同的一级目录,在所 确定的一级目录的二级目录中确定目录编号为与所述i个数位的第j+1位至第 i位的数值相同的二级目录;将所述待缓存的文件存储到所确定的二级目录中。

一种WEB缓存置换装置,包括:缓存划分模块,用于将缓存空间划分为 至少两个子空间,每个子空间包括Ni个目录,其中,N为预定的N进位计数 的基数,i为预定的大于或等于2的自然数,并对每个子空间中的目录进行N 进制的顺序编号;转换命名模块,用于对待缓存的文件按照预定的命名规则对 该文件的URL地址进行转换命名,得到所述预定的N进制的至少包括i位的 文件名;存储模块,用于在待缓存的文件的文件名中确定预定数位起的i个数 位的数值,在当前子空间中确定目录编号与所述i个数位的数值相同的目录, 将该待缓存的文件存储到所确定的目录中;并且,在当前子空间不具备空闲存 储空间后将另一子空间作为新的当前子空间;置换删除模块,用于在全部的子 空间都存储满后,将最先存储满的子空间中的文件删除掉。

其中,缓存划分模块将缓存空间划分为至少两个子空间,具体用于:根据 如下公式进行确定子空间的数量:T=D/XY,其中,T为子空间的数量,X为 预定的子空间占缓存空间容量的最大比率,Y为预定的文件存储天数,D为预 定的缓存空间中的全部文件置换一次的天数;D=S/(M*L*(U-V)),其中, S为缓存空间的容量,M为WEB客户机的数量,L为每个WEB客户机每天的 访问流量,U为预定的向WEB服务器请求访问的流量中可被缓存的流量的比 率,V为预定的缓存命中率。

具体地,缓存划分模块将缓存空间划分为至少两个子空间,具体用于:将 缓存空间平均划分为至少两个子空间;或者,按照预定的子空间之间的容量比 例将缓存空间划分为至少两个子空间;其中,预定的子空间之间的容量比例中 包括预定的子空间占缓存空间容量的最大比率,则,当前子空间为当前存储容 量最小的子空间。

具体地,转换命名模块,对待缓存的文件按照预定的命名规则对该文件的 URL地址进行转换命名,具体用于:在N为十六进制的基数的情况下,对待 缓存的文件的URL地址进行MD5校验,得到十六进制文件名;或者,在N 为二进制的基数的情况下,对待缓存的文件的URL地址的每个字符转换为二 进制的ASCII码,得到二进制文件名。

优选地,缓存划分模块还用于:将每个子空间划分为两级子目录,一级子 目录包括N个目录,每个一级目录包括Ni-j个二级目录,其中,j为小于i的自 然数;则,存储模块在当前子空间中确定目录编号与所述i个数位的数值相同 的目录,将该待缓存的文件存储到所确定的目录中,具体用于:在当前子空间 的一级目录中确定目录编号为与所述i个数位的第一位至第j位的数值相同的 一级目录,在所确定的一级目录的二级目录中确定目录编号为与所述i个数位 的第j+1位至第i位的数值相同的二级目录;将所述待缓存的文件存储到所确 定的二级目录中。

一种HTTP代理服务器,包括如上所述的WEB缓存置换装置。

根据本发明实施例的技术方案,HTTP代理服务器将缓存空间划分为至少 两个子空间,每个子空间包括Ni个目录,其中,N为预定的N进位计数的基 数,i为预定的大于或等于2的自然数,并对每个子空间中的目录进行N进制 的顺序编号;对待缓存的文件按照预定的命名规则对该文件的URL地址进行 转换命名,得到所述预定的N进制的至少包括i位的文件名;在待缓存的文件 的文件名中确定预定数位起的i个数位的数值,在当前子空间中确定目录编号 与所述i个数位的数值相同的目录,将该待缓存的文件存储到所确定的目录中; 并且,在当前子空间不具备空闲存储空间后将另一子空间作为新的当前子空 间;在全部的子空间都存储满后,将最先存储满的子空间中的文件删除掉;也 即,将文件按照时间顺序依次存储到缓存空间的子空间中,并且在当前子空间 不具备空闲存储空间后将另一子空间作为新的当前子空间,在子空间都存储满 后,将最先存储满的子空间的全部文件删除掉,由于最先存储满的子空间中的 文件被请求获取的可能性较小,从而能够在保证缓存命中率的情况下实现批量 删除文件,相比于现有技术中通过逐一定位和逐一删除待删除的文件的方式来 实现WEB缓存置换的删除操作,能够显著提高WEB缓存置换的删除操作的 效率,对缓存性能的降低影响较小,从而能够解决现有的WEB缓存置换技术 中所存在的删除操作的效率低下、降低缓存性能的问题。

并且,将缓存空间的每个子空间划分为Ni个目录,对待缓存的文件的URL 地址进行转换命名,得到所述预定的N进制的至少包括i位的文件名,将待缓 存的文件根据文件名和子空间的目录编号进行对应存储,由于URL地址中的 字符具有随机性,转换命名得到文件名中的字符也相应地具有随机性,从而在 对应存储后,子空间中的文件存储状态呈离散分布状态,有利于操作系统快速 定位文件,并且,随着存储的文件的数量增多,操作系统定位文件的速度也不 会有明显下降。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明 书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可 通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获 得。

附图说明

图1为HTTP访问过程的模型示意图;

图2为本发明实施例提供的WEB缓存置换方法的工作流程图;

图3为本发明实施例提供的WEB缓存置换装置的结构框图。

具体实施方式

以下结合附图对本发明的实施例进行说明,应当理解,此处所描述的实施 例仅用于说明和解释本发明,并不用于限定本发明。

针对现有的WEB缓存置换技术中所存在的删除操作的效率低下、降低缓 存性能的问题,本发明实施例提供了一种WEB缓存置换的方法及装置、HTTP, 代理服务器,用以解决该问题。

在本发明实施例的技术方案提出了两种存储机制和一种删除机制,两种存 储机制包括缓存分区存储和名称对应存储,删除机制为批量删除机制。

分区存储机制包括:将缓存空间划分为至少两个子空间,将文件按照时间 顺序依次存储到缓存空间的子空间中,并且在当前子空间不具备空闲存储空间 后将另一子空间作为新的当前子空间;名称对应存储机制包括:将缓存空间的 每个子空间划分为Ni个目录,对待缓存的文件的URL地址进行转换命名,得 到所述预定的N进制的至少包括i位的文件名,将待缓存的文件根据文件名和 子空间的目录编号进行对应存储;批量删除机制包括:在子空间都存储满后, 将最先存储满的子空间的全部文件删除掉。

通过分区存储机制和批量删除机制,最先存储满的子空间中的文件被请求 获取的可能性较小,从而能够在保证缓存命中率的情况下实现批量删除文件, 相比于现有技术中通过逐一定位和逐一删除待删除的文件的方式来实现WEB 缓存置换的删除操作,能够显著提高WEB缓存置换的删除操作的效率,对缓 存性能的降低影响较小,从而能够解决现有的WEB缓存置换技术中所存在的 删除操作的效率低下、降低缓存性能的问题。

通过名称对应存储机制,由于URL地址中的字符具有随机性,转换命名 得到文件名中的字符也相应地具有随机性,从而在对应存储后,子空间中的文 件存储状态呈离散分布状态,有利于操作系统快速定位文件,并且,随着存储 的文件的数量增多,操作系统定位文件的速度也不会有明显下降。

下面对本发明实施例的技术方案进行详细说明。

图2示出了本发明实施例提供的WEB缓存置换方法的工作流程图,该方 法包括:

步骤201、HTTP代理服务器将缓存空间划分为至少两个子空间,每个子 空间包括Ni个目录,其中,N为预定的N进位计数的基数,i为预定的大于或 等于2的自然数,并对每个子空间中的目录进行N进制的顺序编号;

下面具体描述本发明实施例提供的缓存分区存储机制:

(1)、具体地,子空间的数量可以根据如下公式进行确定:

T=D/XY,其中,T为子空间的数量,X为预定的子空间占缓存空间容量 的最大比率,Y为预定的文件存储天数,D为预定的缓存空间中的全部文件置 换一次的天数;D=S/(M*L*(U-V)),其中,S为缓存空间的容量,M为 WEB客户机的数量,L为每个WEB客户机每天的访问流量,U为预定的向 WEB服务器请求访问的流量中可被缓存的流量的比率,V为预定的缓存命中 率;其中,由于本发明实施例所提出的对缓存空间中的文件的删除原则为批量 删除,则在具体应用中,对于预定的子空间占缓存空间容量的最大比率X的设 定,应当尽可能地保证缓存空间中所删除的文件不会降低缓存命中率、也不会 太频繁地执行删除操作、影响系统性能,例如,根据实际经验,X可以设置为 20%;

例如,缓存空间的容量S为1T,WEB客户机的数量M为500,每个WEB 客户机每天的访问流量为50M,预定的向WEB服务器请求访问的流量中可被 缓存的流量的比率U为60%,预定的缓存命中率V为30%,则,D=120天; 预定的子空间占缓存空间容量的最大比率X为20%,预定的文件存储天数Y 为30天,则,T=20;

(2)、进一步地,将缓存空间划分为至少两个子空间的操作,可以通过至 少以下两种方式的其中之一实现:

方式一、将缓存空间平均划分为至少两个子空间,优选地,平均地划分为 T个子空间;

方式二、按照预定的子空间之间的容量比例将缓存空间划分为至少两个子 空间,预定的子空间之间的容量比例中包括预定的子空间占缓存空间容量的最 大比率,例如,预定的子空间的容量比例为20%:20%:15%:15%:10%: 10%:5%:5%,其中,20%为预定的子空间占缓存空间容量的最大比率,则, 根据该比例可以将缓存空间划分为8个子空间;上面只是为了便于描述给出了 一个子空间之间的容量比例的例子,在具体应用中,应当综合考虑缓存命中率 和系统性能,尽可能地保证缓存空间中所删除的文件不会降低缓存命中率、也 不会太频繁地执行删除操作、影响系统性能,从而综合考虑设置子空间之间的 容量比例;

根据上述方式一或方式二划分存储空间,由于规定了子空间占缓存空间容 量的最大比率,则,后期的步骤204中删除最先存储满的子空间中的文件操作 不会删除超过缓存空间中超过该最大比率对应的容量的文件,使得缓存空间中 保留缓存时间较晚的文件,该部分文件是WEB客户机请求获取的可能性较大 的文件,从而不会降低缓存命中率,使得缓存命中率维持在较高水平上;

(3)、设置每个子空间的所包括的Ni个目录时,N和i的取值可以根据具 体应用场景的需要而设定,例如,N为十六进制的基数,i为3,则,每个子空 间中包括163=4096个目录,如果N为二进制的基数,i为20,则每个子空间 中包括220=1048576个目录;还可以根据具体场景的需要设置N和i为其它取 值;

步骤202、对待缓存的文件按照预定的命名规则对该文件的URL地址进行 转换命名,得到所述预定的N进制的至少包括i位的文件名;

其中,预定的命名规则可以根据具体应用场景的需要而设定,例如,可以 根据以下两种方式的其中之一来进行转换命名:

方式一、在N为十六进制的基数的情况下,对待缓存的文件的URL地址 进行MD5校验,得到十六进制文件名,MD5校验的结果为32位的十六进制 数码,也即转换命名得到的文件名中包括至少i=3位的数码;

方式二、在N为二进制的基数的情况下,对待缓存的文件的URL地址的 每个字符转换为ASCII码,得到二进制文件名,通常URL地址的字符超过10 个,且将每个ASCII码字符包括8个二进制字符,则,每个转换命名得到的文 件名中包括至少i=20位的数码;

可以理解的是,根据具体场景的需要,还可以通过其它的方式来实现对待 缓存的文件的URL地址进行转换命名;

步骤203、在待缓存的文件的文件名中确定预定数位起的i个数位的数值, 在当前子空间中确定目录编号与所述i个数位的数值相同的目录,将该待缓存 的文件存储到所确定的目录中;并且,在当前子空间不具备空闲存储空间后将 另一子空间作为新的当前子空间;

下面具体描述本发明实施例提供的名称对应存储机制:

例如,在N为十六进制的基数的情况下,每个子空间中包括163=4096个 目录,在待缓存的文件的文件名中确定从左至右顺序的第一位起的3个数位的 数值,例如为A3F,则在当前子空间中确定编号为A3F的目录,将待缓存的文 件存储到该目录中;

又例如,在为二进制的基数的情况下,每个子空间中包括220=1048576个 目录,在待缓存的文件的文件名中确定从右至左顺序的第一位起的20个数位 的数值,例如为11001011100010101001,则在当前子空间中确定编号为 11001011100010101001的目录,将待缓存的文件存储到该目录中;

在实际应用的过程中,可能会发生两个文件转换命名后的文件名一样的情 况,这样可以将这两个文件都存储到同一个子目录中;并且,在当前子空间存 储满后再存储另一子空间;

另一方面,根据上述步骤201中划分子空间的方式不同,在将缓存空间平 均划分为至少两个子空间的情况下,每个子空间的容量是相同的,则可以任选 一个子空间为当前子空间,或者依次选择一个子空间为当前子空间;在按照预 定的子空间之间的容量比例将缓存空间划分为至少两个子空间的情况下,可以 选择当前存储容量最小的子空间为当前子空间,这样,在后续步骤204中每次 删除最先存储满的子空间的文件时,能够在缓存空间中保留更多缓存时间较晚 的文件,从而进一步提供缓存命中率;

步骤204、在全部的子空间都存储满后,将最先存储满的子空间中的文件 删除掉。

步骤204描述的即为本发明实施例提供的批量删除机制。

通过上述处理过程,通过分区存储机制和批量删除机制,最先存储满的子 空间中的文件被请求获取的可能性较小,从而能够在保证缓存命中率的情况下 实现批量删除文件,相比于现有技术中通过逐一定位和逐一删除待删除的文件 的方式来实现WEB缓存置换的删除操作,能够显著提高WEB缓存置换的删 除操作的效率,对缓存性能的降低影响较小,从而能够解决现有的WEB缓存 置换技术中所存在的删除操作的效率低下、降低缓存性能的问题。

通过名称对应存储机制,由于URL地址中的字符具有随机性,转换命名 得到文件名中的字符也相应地具有随机性,从而在对应存储后,子空间中的文 件存储状态呈离散分布状态,有利于操作系统快速定位文件,并且,随着存储 的文件的数量增多,操作系统定位文件的速度也不会有明显下降。

更进一步地,本发明实施例还对上述步骤201中在子空间中设置目录的方 法进行了改进,具体包括:

将每个子空间划分为两级子目录,一级子目录包括N个目录,每个一级目 录包括Ni-j个二级目录,其中,j为小于i的自然数;

这样就将每个子空间分成了二级目录树的结构,例如N为十六进制的基 数、i=3的情况下,一级目录中包括16个目录,一级目录编号为0~F,每个一 级目录中包括256个目录,二级目录的编号为00~FF;

则,步骤203中,在当前子空间中确定目录编号与所述i个数位的数值相 同的目录,将该待缓存的文件存储到所确定的目录中,具体包括:

在当前子空间的一级目录中确定目录编号为与所述i个数位的第一位至第 j位的数值相同的一级目录,在所确定的一级目录的二级目录中确定目录编号 为与所述i个数位的第j+1位至第i位的数值相同的二级目录;将所述待缓存 的文件存储到所确定的二级目录中。

通过上述方式将子空间划分为二级目录树的结构,能够有利于操作系统更 为快速地定位到文件。

基于相同的发明构思,本发明实施例还提供了一种WEB缓存置换装置, 该装置位于HTTP代理服务器中。

图3示出了本发明实施例提供的WEB缓存置换装置的结构框图,该装置 包括:

缓存划分模块31,用于将缓存空间划分为至少两个子空间,每个子空间包 括Ni个目录,其中,N为预定的N进位计数的基数,i为预定的大于或等于2 的自然数,并对每个子空间中的目录进行N进制的顺序编号;

具体地,缓存划分模块31根据如下公式进行确定子空间的数量:T=D/XY, 其中,T为子空间的数量,X为预定的子空间占缓存空间容量的最大比率,Y 为预定的文件存储天数,D为预定的缓存空间中的全部文件置换一次的天数; D=S/(M*L*(U-V)),其中,S为缓存空间的容量,M为WEB客户机的数 量,L为每个WEB客户机每天的访问流量,U为预定的向WEB服务器请求访 问的流量中可被缓存的流量的比率,V为预定的缓存命中率;

缓存划分模块31将缓存空间划分为至少两个子空间,具体用于:将缓存 空间平均划分为至少两个子空间;或者,按照预定的子空间之间的容量比例将 缓存空间划分为至少两个子空间;其中,预定的子空间之间的容量比例中包括 预定的子空间占缓存空间容量的最大比率,则,当前子空间为当前存储容量最 小的子空间;

转换命名模块32,用于对待缓存的文件按照预定的命名规则对该文件的 URL地址进行转换命名,得到所述预定的N进制的至少包括i位的文件名;

转换命名模块32,对待缓存的文件按照预定的命名规则对该文件的URL 地址进行转换命名,具体用于:在N为十六进制的基数的情况下,对待缓存的 文件的URL地址进行MD5校验,得到十六进制文件名;或者,在N为二进 制的基数的情况下,对待缓存的文件的URL地址的每个字符转换为二进制的 ASCII码,得到二进制文件名;

存储模块33,连接至缓存划分模块31和转换命名模块32,用于在转换命 名模块32转换得到的待缓存的文件的文件名中确定预定数位起的i个数位的数 值,在缓存划分模块31划分得到的当前子空间中确定目录编号与所述i个数位 的数值相同的目录,将该待缓存的文件存储到所确定的目录中;并且,在当前 子空间不具备空闲存储空间后将另一子空间作为新的当前子空间;

置换删除模块34,连接至存储模块33,用于在存储模块33将全部的子空 间都存储满后,将最先存储满的子空间中的文件删除掉。

优选地,缓存划分模块31还用于:将每个子空间划分为两级子目录,一 级子目录包括N个目录,每个一级目录包括Ni-j个二级目录,其中,j为小于i 的自然数;则,

存储模块33在当前子空间中确定目录编号与所述i个数位的数值相同的目 录,将该待缓存的文件存储到所确定的目录中,具体用于:在当前子空间的一 级目录中确定目录编号为与所述i个数位的第一位至第j位的数值相同的一级 目录,在所确定的一级目录的二级目录中确定目录编号为与所述i个数位的第 j+1位至第i位的数值相同的二级目录;将所述待缓存的文件存储到所确定的 二级目录中。

通过图3所示的装置,将文件按照时间顺序依次存储到缓存空间的子空间 中,并且在一个子空间存储完后再将待存储的文件存储另一个子空间,在子空 间都存储满后,将最先存储满的子空间的全部文件删除掉,由于最先存储满的 子空间中的文件被请求获取的可能性较小,从而能够在保证缓存命中率的情况 下实现批量删除文件,相比于现有技术中通过逐一定位和逐一删除待删除的文 件的方式来实现WEB缓存置换的删除操作,能够显著提高WEB缓存置换的 删除操作的效率,对缓存性能的降低影响较小,从而能够解决现有的WEB缓 存置换技术中所存在的删除操作的效率低下、降低缓存性能的问题。

并且,将缓存空间的每个子空间划分为Ni个目录,对待缓存的文件的URL 地址进行转换命名,得到所述预定的N进制的至少包括i位的文件名,将待缓 存的文件根据文件名和子空间的目录编号进行对应存储,由于URL地址中的 字符具有随机性,转换命名得到文件名中的字符也相应地具有随机性,从而在 对应存储后,子空间中的文件存储状态呈离散分布状态,有利于操作系统快速 定位文件,并且,随着存储的文件的数量增多,操作系统定位文件的速度也不 会有明显下降。

基于相同的发明构思,本发明实施例还提供了一种HTTP代理服务器,该 HTTP代理服务器包括如图3所示的WEB缓存置换装置。

综上所述,通过本发明实施例提供的分区存储机制和批量删除机制,最先 存储满的子空间中的文件被请求获取的可能性较小,从而能够在保证缓存命中 率的情况下实现批量删除文件,相比于现有技术中通过逐一定位和逐一删除待 删除的文件的方式来实现WEB缓存置换的删除操作,能够显著提高WEB缓 存置换的删除操作的效率,对缓存性能的降低影响较小,从而能够解决现有的 WEB缓存置换技术中所存在的删除操作的效率低下、降低缓存性能的问题。

根据本发明实施例提供的名称对应存储机制,由于URL地址中的字符具 有随机性,转换命名得到文件名中的字符也相应地具有随机性,从而在对应存 储后,子空间中的文件存储状态呈离散分布状态,有利于操作系统快速定位文 件,并且,随着存储的文件的数量增多,操作系统定位文件的速度也不会有明 显下降。

本领域普通技术人员可以理解实现上述实施例方法携带的全部或部分步 骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机 可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中, 也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块 中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的 形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品 销售或使用时,也可以存储在一个计算机可读取存储介质中。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计 算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结 合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包 含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和 光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产 品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和 /或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/ 或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入 式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算 机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一 个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设 备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中 的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个 流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使 得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处 理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个 流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发 明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及 其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号