CN104113599A - 一种缓存方法、装置及代理服务器 - Google Patents
一种缓存方法、装置及代理服务器 Download PDFInfo
- Publication number
- CN104113599A CN104113599A CN201410350562.9A CN201410350562A CN104113599A CN 104113599 A CN104113599 A CN 104113599A CN 201410350562 A CN201410350562 A CN 201410350562A CN 104113599 A CN104113599 A CN 104113599A
- Authority
- CN
- China
- Prior art keywords
- acceleration effect
- buffer storage
- client computer
- visit information
- access request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供一种缓存方法、装置及代理服务器,涉及通信技术领域,实现在缓存未命中,网络状况差及***自身负载高时,降低缓存功对局域网内用户体验的不良影响。本发明提供的方案包括:接收缓存客户机发送的访问请求;统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数;根据吞吐率参数,继续接收缓存客户机发送的访问请求并统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数,或者,停止缓存仅接收转发所述客户机发送的所述访问请求。本发明用于缓存。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种缓存方法、装置及代理服务器。
背景技术
互联网的超文本传输协议(Hypertext transfer protocol,简称HTTP)访问过程是一个典型的客户机与服务器的交互过程;在客户机与服务器交互的过程中,一般会在客户机与服务器之间设置HTTP代理服务器,HTTP代理服务器用于代理局域网内用户去取得网络信息。HTTP代理服务器的基本功能包括:接收和解释客户机的请求;根据上述请求创建客户机和服务器之间的新连接;接收服务器发来的响应;发出和解释服务器的响应并将该响应传回客户机。
为了缩短HTTP访问过程中的页面访问时间,提高局域网内用户的上网体验,HTTP代理服务器提供了缓存功能,该功能可以将客户机访问的且可以缓存的页面存储下来;当HTTP代理服务器接收到的客户机请求访问的页面已经被存储时,HTTP代理服务器可以直接将已经存储的页面直接回复至客户机,不用跨广域网(Wide Area Network,简称WAN)到服务器去获取,缩短了页面访问时间,提高了局域网内用户的上网体验。其中,页面是否可以被缓存,在RFC2616协议中有明确的说明,此处不再进行赘述。
缓存功能的实现步骤可以包括:解析客户请求报文、查找索引判断是否缓存命中、存储缓存文件至本地磁盘等,这些步骤的执行会占用代理服务器的中央处理器资源(Central Processing Unit,简称CPU)及内存资源等,对HTTP代理服务器的转发性能带来损耗。当缓存命中时,转发性能的损耗可以被加速效果弥补,局域网内用户上网体验明显提高;当缓存未命中时,缓存功能不能达到加速效果,则只造成HTTP代理服务器的转发性能的损耗。当缓存未命中且网络状况好及***自身负载低时(例如HTTP代理服务器***空闲,CPU、内存资源不紧张),局域网内用户对转发性能的损耗没有明显感知,因此基本不会造成使局域网内用户上网体验明显下降;但是当缓存未命中,且网络状况差及***自身负载高时(比如HTTP代理服务器***繁忙,CPU、内存资源紧张),转发性能的损耗使得页面响应时间增加,因此导致了局域网内用户上网体验明显下降。
在现有技术中,当缓存未命中,网络状况差及***自身负载高导致的局域网内用户上网体验明显下降时,管理员可以通过静态配置来关闭缓存功能,以消除这一现象。但是,由于管理员无法准确判断当前的网络状况及***负载状况,并且静态配置时延较高,因此,在缓存未命中,网络状况差及***自身负载高时,缓存功能还是会对局域网内用户体验造成不良影响。
发明内容
本发明的实施例提供一种缓存方法及装置,实现在缓存未命中,网络状况差及***自身负载高时,降低缓存功对局域网内用户体验的不良影响。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种缓存方法,应用于缓存装置,所述方法包括:
接收缓存客户机发送的访问请求;
统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数;其中,所述N大于或等于2;
根据所述吞吐率参数,继续接收缓存客户机发送的访问请求并统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数,或者,停止缓存仅接收转发所述客户机发送的所述访问请求。
结合第一方面,在第一方面的第一种可能的实现方式中,所述根据所述吞吐率参数,继续接收缓存客户机发送的访问请求并统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数,或者,停止缓存仅接收转发所述客户机发送的所述访问请求,包括:
根据所述吞吐率参数,判断所述缓存装置的缓存功能的实际加速效果是否达到目标加速效果;
若所述缓存装置的缓存功能的实际加速效果达到目标加速效果,则继续接收缓存客户机发送的访问请求并统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数;
若所述缓存装置的缓存功能的实际加速效果未达到目标加速效果,则停止缓存仅接收转发所述客户机发送的所述访问请求。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,若所述吞吐率参数包括所述缓存装置局域网(LocalArea Network,简称LAN)端吞吐率VL及所述缓存装置广域网WAN端口的吞吐率VW,所述根据所述吞吐率参数,判断所述缓存装置的缓存功能的实际加速效果是否达到目标加速效果,包括:
若所述VL大于或等于所述AVW,则所述缓存装置的缓存功能的实际加速效果达到目标加速效果;其中,所述A大于或等于1;
若所述VL小于或等于所述AVW,则所述缓存装置的缓存功能的实际加速效果未达到目标加速效果;
或者,
记
若所述K大于或等于第一预设阈值,则所述缓存装置的缓存功能的实际加速效果达到目标加速效果;其中,所述第一预设阈值大于等于1;
若所述K小于或等于第一预设阈值,则所述缓存装置的缓存功能的实际加速效果未达到目标加速效果。
结合第一方面的第一种可能的实现方式,在第一方面的第三种可能的实现方式中,若所述吞吐率参数包括所述缓存装置的WAN端口的吞吐率VW、所述缓存装置自身的吞吐率VH,所述根据所述吞吐率参数,判断所述缓存装置的缓存功能的实际加速效果是否达到目标加速效果,包括:
若VW/VH小于或等于第二预设阈值,则所述缓存装置的缓存功能的实际加速效果达到目标加速效果;
若所述VW/VH大于或等于第二预设阈值,则所述缓存装置的缓存功能的实际加速效果未达到目标加速效果。
结合第一方面的第一种可能的实现方式,在第一方面的第四种可能的实现方式中,若所述吞吐率参数包括所述缓存装置WAN端口的吞吐率VW、所述缓存装置自身的吞吐率VH及所述SF;其中,所述SF=1-FW/FL;所述FW为所述缓存装置WAN端数据流量;所述FL为所述缓存装置LAN端数据流量;所述根据所述吞吐率参数,判断所述缓存装置的缓存功能的实际加速效果是否达到目标加速效果,包括:
若所述SF大于或等于则所述缓存装置的缓存功能的实际加速效果达到目标加速效果;其中,所述B大于或等于0;
若所述SF小于或等于所述则所述缓存装置的缓存功能的实际加速效果未达到目标加速效果;
或者,
记
若所述K大于或等于第三预设阈值,则所述缓存装置的缓存功能的实际加速效果达到目标加速效果;其中,所述第三预设阈值大于或等于1;
若所述K小于或等于第三预设阈值,则所述缓存装置的缓存功能的实际加速效果未达到目标加速效果。
结合第一方面或第一方面的第一种可能的实现方式至第一方面的第四种可能的实现方式中任一项,在第一方面的第五种可能的实现方式中,所述接收缓存客户机发送的访问请求,包括:
接收所述客户机发送的所述访问请求;其中,所述访问请求包括所述客户机请求的访问信息的标识;
解析所述访问请求,获取所述客户机请求的访问信息的标识;
根据所述访问信息的标识,判断所述访问信息是否可以被缓存;
若所述访问信息不能被缓存,则从服务器获取所述访问信息发送至所述客户机;
若所述访问信息可以被缓存,根据所述访问信息的标识,查找缓存索引判断所述访问信息是否缓存命中;其中,所述缓存索引包括本地磁盘已经保存的访问信息的标识及与所述访问信息的标识一一对应的响应内容;所述响应内容包括访问信息或访问信息及时效信息;
若所述访问信息缓存命中,则判断本地磁盘已经保存的所述访问信息是否过期;
若所述访问信息缓存命中且未过期,则从本地磁盘获取所述访问信息发送至所述客户机;
若所述访问信息缓存命中且已过期或者所述访问信息缓存未命中,则从所述服务器获取所述访问信息发送至所述客户机,并将所述访问信息的标识及响应内容添加至缓存索引。
结合第一方面或第一方面的第一种可能的实现方式至第一方面的第四种可能的实现方式中任一项,在第一方面的第六种可能的实现方式中,在所述停止缓存仅接收转发所述客户机发送的所述访问请求之后,所述方法还包括:
启动计时;
当计时预设时间段后,继续接收缓存客户机发送的访问请求并统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数。
第二方面,提供一种缓存装置,所述缓存装置包括:
接收处理单元,用于接收缓存客户机发送的访问请求;
统计获取单元,用于统计获取所述接收处理单元N次接收缓存客户机发送的访问请求过程中的吞吐率参数;其中,所述N大于或等于2;
所述接收处理单元还用于,根据所述统计获取单元统计获取的吞吐率参数,继续接收缓存客户机发送的访问请求;或者,停止缓存仅接收转发所述客户机发送的所述访问请求。
结合第二方面,在第二方面的第一种可能的实现方式中,所述接收处理单元具体包括:
判断模块,用于根据所述统计获取单元获取的吞吐率参数,判断所述缓存装置的缓存功能的实际加速效果是否达到目标加速效果;
接收处理模块,用于若所述判断模块判断所述缓存装置的缓存功能的实际加速效果达到目标加速效果,则继续接收缓存客户机发送的访问请求并统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数;
所述接收处理模块还用于,若所述缓存装置的缓存功能的实际加速效果未达到目标加速效果,则停止缓存仅接收转发所述客户机发送的所述访问请求。
结合第二方面的第一种可能的实现方式,在第二方面的第一种可能的实现方式中,若所述吞吐率参数包括所述缓存装置LAN端吞吐率VL及所述缓存装置WAN端口的吞吐率VW,所述判断模块具体用于:
若所述VL大于或等于所述AVW,则所述缓存装置的缓存功能的实际加速效果达到目标加速效果;其中,所述A大于或等于1;
若所述VL小于或等于所述AVW,则所述缓存装置的缓存功能的实际加速效果未达到目标加速效果;
或者,
记
若所述K大于或等于第一预设阈值,则所述缓存装置的缓存功能的实际加速效果达到目标加速效果;其中,所述第一预设阈值大于或等于1;
若所述K小于或等于第一预设阈值,则所述缓存装置的缓存功能的实际加速效果未达到目标加速效果。
结合第二方面的第一种可能的实现方式,在第二方面的第三种可能的实现方式中,若所述吞吐率参数包括所述缓存装置的WAN端口的吞吐率VW、所述缓存装置自身的吞吐率VH,所述判断模块具体用于:
若VW/VH小于或等于第二预设阈值,则所述缓存装置的缓存功能的实际加速效果达到目标加速效果;
若所述VW/VH大于或等于第二预设阈值,则所述缓存装置的缓存功能的实际加速效果未达到目标加速效果。
结合第二方面的第一种可能的实现方式,在第二方面的第四种可能的实现方式中,若所述吞吐率参数包括所述根据所述缓存装置WAN端口的吞吐率VW、所述缓存装置自身的吞吐率VH及所述SF;其中,所述SF=1-FW/FL;所述FW为所述缓存装置WAN端数据流量;所述FL为所述缓存装置LAN端数据流量;所述判断模块具体用于:
若所述SF大于或等于则所述缓存装置的缓存功能的实际加速效果达到目标加速效果;其中,所述B大于或等于0;
若所述SF小于或等于所述则所述缓存装置的缓存功能的实际加速效果未达到目标加速效果;
或者,
记
若所述K大于或等于第三预设阈值,则所述缓存装置的缓存功能的实际加速效果达到目标加速效果;其中,所述第三预设阈值大于或等于1;
若所述K小于或等于第三预设阈值,则所述缓存装置的缓存功能的实际加速效果未达到目标加速效果。
结合第二方面或第二方面的第一种可能的实现方式至第二方面的第四种可能的实现方式中任一项,在第二方面的第五种可能的实现方式中,所述接收处理单元具体用于:
接收所述客户机发送的所述访问请求;其中,所述访问请求包括所述客户机请求的访问信息的标识;
解析所述访问请求,获取所述客户机请求的访问信息的标识;
根据所述访问信息的标识,判断所述访问信息是否可以被缓存;
若所述访问信息不能被缓存,则从服务器获取所述访问信息发送至所述客户机;
若所述访问信息可以被缓存,根据所述访问信息的标识,查找缓存索引判断所述访问信息是否缓存命中;其中,所述缓存索引包括本地磁盘已经保存的访问信息的标识及与所述访问信息的标识一一对应的响应内容;所述响应内容包括访问信息或访问信息及时效信息;
若所述访问信息缓存命中,则判断本地磁盘已经保存的所述访问信息是否过期;
若所述访问信息缓存命中且未过期,则从本地磁盘获取所述访问信息发送至所述客户机;
若所述访问信息缓存命中且已过期或者所述访问信息缓存未命中,则从所述服务器获取所述访问信息发送至所述客户机,并将所述访问信息的标识及响应内容添加至缓存索引。
结合第二方面或第二方面的第一种可能的实现方式至第二方面的第五种可能的实现方式中任一项,在第二方面的第六种可能的实现方式中,所述缓存装置还包括:
计时器,用于在所述接收处理单元停止缓存仅接收转发所述客户机发送的所述访问请求之后开始计时;
所述接收处理单元还用于,当所述计时器运行预设时间段后,继续接收缓存客户机发送的访问请求。
第三方面,提供一种代理服务器,包括:
如第二方面或上述任一种可能的实现方式所述的缓存装置。
本发明实施例提供一种缓存方法、装置及代理服务器,通过接收缓存客户机发送的访问请求;统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数;其中,N大于或等于2;吞吐率参数可以包括缓存装置LAN端吞吐率VL、及缓存装置WAN端口的吞吐率VW;或者,吞吐率参数包括VW、及缓存装置自身的吞吐率VH;或者,吞吐率参数包括VW、VH及SF;SF=1-FW/FL;FW为缓存装置WAN端数据流量;FL为缓存装置LAN端数据流量;根据吞吐率参数,继续接收缓存客户机发送的访问请求并统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数,或者,停止缓存仅接收转发所述客户机发送的所述访问请求。由于吞吐率参数是网络状况或***负载的实时体现,根据吞吐率参数,继续接收缓存客户机发送的访问请求并统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数,或者,停止缓存仅接收转发所述客户机发送的所述访问请求,则可以实现在缓存未命中,网络状况差及***自身负载高时,降低缓存功对局域网内用户体验的不良影响。解决了现有技术中,在缓存未命中,网络状况差及***自身负载高时,缓存功能还是会对局域网内用户体验造成不良影响的缺陷。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种缓存方法流程示意图;
图2为本发明实施例提供的一种接收缓存客户机发送的访问请求的方法流程示意图;
图3为本发明实施例提供的另一种缓存方法流程示意图;
图4为本发明实施例提供的一种缓存装置结构示意图;
图5为本发明实施例提供的另一种缓存装置结构示意图;
图6为本发明实施例提供的一种代理服务器结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
普通的HTTP访问过程一般为:用户利用客户机上的客户端程序(比如浏览器)发出访问请求,服务器程序响应该访问请求并提供相应的访问信息;在客户机与服务器交互的过程中,一般会在客户机与服务器之间设置HTTP代理服务器;对于服务器来说,HTTP代理服务器是客户机,HTTP代理服务器提出访问请求,服务器响应;对于客户机来说,HTTP代理服务器是服务器,它接受客户机的访问请求,并将服务器上传来的访问信息转发给客户机。
缓存功能作为HTTP代理服务器中一个重要的功能,目的对访问请求进行加速,进而提高局域网内用户的上网体验;HTTP代理服务器是否具有缓存功能,局域网内用户的HTTP访问过程中,客户机与服务器的交互过程是不同的,具体如下:
当HTTP代理服务器不具有缓存功能时,客户机与服务器的交互过程为:任何一个客户机每发出一次访问请求时,都要通过WAN请求服务器,服务器对相应的请求信息进行应答;
当HTTP代理服务器具有缓存功能时,客户机与服务器的交互过程为:客户机发出一次访问请求,HTTP代理服务器判断客户机请求的访问信息能否被缓存;如果不能,则通过WAN请求服务器,服务器对相应的请求信息进行应答;如果能,HTTP代理服务器再判断是否有该请求信息的缓存;如果有,则由HTTP代理服务器直接向客户机回复请求的信息;如果没有,则通过WAN请求服务器,服务器对相应的请求信息进行应答,并将该页面进行缓存。
从上述HTTP代理服务器是否具有缓存功能,局域网内用户的HTTP访问过程中,客户机与服务器的交互过程可知,对于一些经常访问的网站,HTTP缓存可以直接在局域网内进行应答,不需要跨越具有高延时、高丢包率的WAN,这样,可以减少页面的响应时间,提高局域网内的用户上网体验。
但是,由背景技术可知,由于缓存功能的实现将带来转发性能的损耗;缓存命中的加速效果可以弥补转发性能的损耗,使得用户的访问请求加速;但是在访问过程中,并不是所有的访问请求都能缓存命中,也就是说,并不是所有的访问请求都能被加速;通过测试,在正常情况下,未命中的访问请求,转发性能会下降约10%左右,此时,用户并没有明显的感知;但是当缓存未命中,且网络状况差及***自身负载高时(比如HTTP代理服务器***繁忙,CPU、内存资源紧张),缓存功能并未起到加速作用,反而对转发性能产生了损耗,而转发性能的损耗使得页面响应时间增加,进而导致了局域网内用户上网体验明显下降。
实施例一
本发明实施例一提供一种缓存方法,如图1所示,该方法可以包括:
S101、接收缓存客户机发送的访问请求;
优选的,参见图2,所述接收缓存客户机发送的访问请求,可以包括:
101a、接收客户机发送的访问请求;
其中,访问请求可以包括客户机请求的访问信息的标识;
需要说明的是,客户机请求的访问信息可以为客户机请求访问的页面或者客户机请求访问的文件,但并不限于此,本发明对于客户机请求的访问信息的具体内容不进行限定,可以根据实际需求确定。
客户机请求的访问信息的标识是客户机请求的访问信息的唯一标识,可以根据客户机请求的访问信息的标识唯一且准确的获取客户机请求的访问信息。
优选的,客户机请求的访问信息的标识可以为:根据客户机请求的访问信息的地址,做信息摘要算法5(Message-Digest Algorithm5,简称MD5),得出的32位字符串。
需要说明的是,本发明对于客户机请求的访问信息的标识不进行具体限定,只要根据客户机请求的访问信息的标识,能够唯一且准确的获取客户机请求的访问信息,均属于本发明的保护范围。
示例性的,当客户机请求的访问信息为客户机请求访问的页面时,客户机请求的访问信息的标识可以为:根据客户机请求访问的页面的统一资源***(Uniform Resoure Locator,简称URL)地址做MD5得出的32位字符串。
例如,用户A通过客户机1请求访问网址A的页面,则会接收到客户机1发送的访问请求1;其中,访问请求1包括网址A的标识。
101b、解析访问请求,获取客户机请求的访问信息的标识;
例如,解析访问请求1,获取客户机请求的访问信息的标识:网址A的标识。
101c、根据访问信息的标识,判断访问信息是否可以被缓存;
若访问信息不能被缓存,则执行步骤101d;若访问信息可以被缓存,则执行步骤101e。
需要说明的是,在实际应用场景中,一个请求的访问信息能否被缓存,可以考虑以下问题:
1.该信息是否属于HTTP中明确定义的不可以被缓存的情况。
2.应答内容是否会只包含针对单个浏览器的个人信息,若有,则不应该被缓存。
3.能提供一个可配置接口,让用户满足其个性化的可缓存内容需求。
具体的,在RFC(Request For Comments,一系列以编号排定的文件)中,对于信息能否被缓存有以下的规定:
1、请求方法
GET方法可以被缓存;POST方法只能在应答明确规定了它的生存期的情况下被缓存;其余的方法不能被缓存。
2、特定的请求头字段
包含Authorization的字段不能被缓存;包含cache_control字段,且取值为no-store的应答不能被缓存。
3、应答码
应答码为"200","203","300","301","302","410"可以被缓存,其余不能缓存。
4、特定的应答头字段
包含cache_control字段,且取值为no-store的应答不能被缓存;包含proma字段,且取值为no-cache的应答不能被缓存。
需要说明的是,上述只是RFC中的部分规定,对于判断访问信息是否可以被缓存,根据RFC2616中的规定或实际需求执行,本发明对此不进行具体限定。
101d、从服务器获取访问信息发送至客户机;
其中,若在步骤101c中判断访问信息不能被缓存,则无需判断是否缓存命中,直接从服务器获取访问信息发送至客户机。
具体的,从服务器获取访问信息发送至客户机的过程可以包括:
将接收的客户机发送的访问请求转发至服务器;
接收服务器发送的响应内容;其中,响应内容包括访问信息;
将接收的服务器发送的响应内容转发至客户机。
例如,若根据客户机1请求的访问信息:网址A的页面,查询协议RFC2616,判断客户机1请求访问的网址A的页面不能被缓存,则从服务器获取客户机1请求访问的网址A的页面发送至客户机1。
101e、根据访问信息的标识,查找缓存索引判断访问信息是否缓存命中;
其中,若在步骤101c中判断访问信息可以被缓存,则该访问信息有可能已经缓存在本地磁盘,则需要在步骤101e中进一步判断访问信息是否缓存命中,若访问信息缓存命中,则执行步骤101f;若访问信息缓存未命中,则执行步骤101h。
可选的,缓存索引可以包括本地磁盘已经保存的访问信息的标识及与标识一一对应的响应内容;
可选的,响应内容为服务器发送的;其中,响应内容可以包括访问信息;或者,响应内容可以包括访问信息和访问信息的时效信息。本发明对于响应内容包括的内容不进行具体限定,可以根据实际需求确定。
缓存索引可以以表格的形式保存于缓存装置中;当然,缓存索引也可以以其他形式保存于缓存装置中,本发明对于缓存索引的保存形式不进行具体限定。
判断访问信息是否缓存命中,就是判断访问信息是否已经被保存在本地磁盘,可以根据访问信息的标识,查找缓存索引判断访问信息是否缓存命中;具体包括:若缓存索引中包括访问信息的标识,说明访问信息已经被保存在本地磁盘,则缓存命中;若缓存索引中不包括访问信息的标识,说明访问信息没有被保存在本地磁盘,则缓存未命中。
例如,参见表1,示意一种缓存索引,包括了本地磁盘已经保存的访问信息的标识及与标识一一对应的响应内容;
表1
访问的信息的标识 | 响应内容 |
网址A的标识 | 响应内容1 |
网址B的标识 | 响应内容2 |
文件1的标识 | 响应内容3 |
文件2的标识 | 响应内容4 |
…… | …… |
需要说明的是,表1只是以示例的形式对缓存索引的形式及内容进行说明,并不是对缓存索引的形式及内容的限定。
例如,若根据访问信息的标识:网址A的标识,查询协议RFC2616,判断客户机1请求访问的网址A的页面可以被缓存,则根据网址A的标识,查找如表1所示的缓存索引,判断网址A的页面是否缓存命中;由于表1所示的缓存索引包括客户机1请求访问的网址A的标识,故,网址A的页面缓存命中。
101f、判断本地磁盘已经保存的访问信息是否过期;
若本地磁盘已经保存的访问信息未过期,则执行步骤101g;若本地磁盘已经保存的访问信息已过期,则执行步骤101h。
其中,本地磁盘已经保存的访问信息是否已过期,是根据缓存索引中包括的与访问信息对应的时效信息来判断的。
可选的,响应信息除了可以包括访问信息,还可以包括访问信息的时效信息。一个响应信息中包括的时效信息则为该响应信息中包括的访问信息对应的时效信息。例如,表1所述的缓存索引中包括的响应信息1为(网址A的页面,时效信息1),则网址A的页面对应的时效信息为时效信息1。
优选的,时效信息可以包含在响应内容头部的max-age字段。
其中,时效信息用于表示该访问信息的时效性,可以用来判断该访问信息是否过期。
优选的,所述时效信息可以为相对值;其中,时效信息包括服务器发送响应内容的时间、有效时长。相应的,时效信息指示的访问信息的过期时间为时效信息中包括的服务器发送响应内容的时间加上有效时长。
可选的,所述时效信息也可以为绝对值,例如,服务器给出的该访问信息的时效信息为该访问信息的具体过期时间。相应的,时效信息指示的访问信息的过期时间为时效信息。
需要说明的是,本发明对于时效信息的形式和内容不进行具体限定,凡是采用时效信息判断访问信息是否过期的方式都属于本发明的保护范围。
示例性的,以响应内容包括的时效信息为相对值为例,对判断本地磁盘已经保存的访问信息是否过期进行详细描述,具体可以包括下述步骤a~步骤c:
a、获取时效信息指示的过期时间;其中,时效信息指示的过期时间为时效信息中包括的服务器发送响应内容的时间,加上时效信息中包括的有效时长;
b、判断当前时间是否早于时效信息指示的过期时间;
其中,判断当前时间是否早于时效信息指示的过期时间,是指当前时间还未到时效信息指示的过期时间。
可选的,当前时间可以为判断本地磁盘已经保存的访问信息是否过期的***时间点。
例如,若当前时间为2014年1月1日10:08,时效信息指示的过期时间为2014年1月1日12:00,则当前时间早于时效信息指示的过期时间;若当前时间为2014年1月1日10:08,时效信息指示的过期时间为2014年1月1日9:08,则当前时间晚于时效信息指示的过期时间。
c、若当前时间早于时效信息指示的过期时间,则本地磁盘已经保存的访问信息未过期;若当前时间晚于时效信息指示的过期时间,则本地磁盘已经保存的访问信息未过期;
需要说明的是,对于当前时间等于时效信息指示的过期时间的情况,可以判断为访问信息未过期,也可以判定为访问信息过期,本发明对此不进行具体限定。
例如,假设表1所示的缓索引中包括的与网址A的标识对应的响应内容1为{网址A的页面,时效信息1(时间点A,5分钟)};那么,若当前时间早于或等于(时间点A加上5分钟),则本地磁盘保存的网址A的页面未过期;反之,则本地磁盘保存的网址A的页面已过期。
其中,时间点A加上5分钟是指从时间点A开始,往后推5分钟。
101g、从本地磁盘获取访问信息发送至客户机;
具体的,从本地磁盘获取访问信息发送至客户机,即根据访问信息的标识,获取缓存索引中与访问信息的标识对应的响应内容中包括的访问信息,将获取的访问信息发送至客户机。
例如,若在步骤101f中已经判断本次磁盘保存的网址A的页面未过期,根据网址A的标识,获取表1所示的缓存索引中与网址A的标识对应的响应内容1中包括的网址A的页面,将获取的网址A的页面发送至客户机1。
101h、从服务器获取访问信息发送至客户机,并将访问信息的标识及响应内容添加至缓存索引。
例如,若在步骤101f中已经判断本次磁盘保存的网址A的页面已过期,从服务器获取网址A的页面发送至客户机1,并将网址A的标识及响应内容1添加至缓存索引中。
需要说明的是,步骤101a~步骤101h所述的方法,是一种实现“接收缓存客户机发送的访问请求”的方案;但是步骤101a~步骤101h所述的方法并不是对接收缓存客户机发送的访问请求的方案的具体限定;在实际使用中,接收缓存客户机发送的访问请求的具体方案可以根据实际需求确定。
S102、统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数;其中,N大于或等于2;
其中,统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数,可以是从缓存装置第一次接收缓存客户机发送的访问请求开始统计,也可以从某个预设时间开始统计,比如预设上午10点开始统计获取,本发明对于执行步骤S102的开始时间点不进行具体限定。
可选的,根据实际需求的不同,统计获取的每组吞吐率参数可以包括不同的内容,具体可以包括但不限于下述三种情况:
第一种情况:吞吐率参数可以包括缓存装置LAN端吞吐率VL和缓存装置WAN端口的吞吐率VW;
其中,缓存装置部署于LAN与WAN之间;将缓存装置与LAN交互的端口称为LAN端,将缓存装置与WAN交互的端口称为WAN端;
LAN端吞吐率其中,FL为LAN端的数据流量,即流经LAN端的数据流量;TL为LAN端交互时间,即,从LAN端接收到客户机请求开始计时,直至LAN端回复应答的时间长;
WAN端吞吐率FW为WAN端的数据流量,即流经WAN端的数据流量;TW为WAN端交互时间,即,从WAN端向服务器发送请求开始计时,直至WAN端接收到服务器应答的时间长。
第二种情况:吞吐率参数可以包括VW、及缓存装置自身的吞吐率VH;
其中,TH是缓存装置内部处理数据的时间。
第三种情况:吞吐率参数可以包括VW、VH及流量优化率SF;
其中,SF=1-FW/FL,SF体现了缓存装置对节约带宽的贡献程度。流量优化率越高,说明阻止数据流向WAN的效果越好。根据实际使用经验,经统计,缓存装置实际能达到的SF的值大约为30%~60%。
需要说明的是,本文中的“/”表示除。
需要说明的是,步骤S102的统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数,是与执行N次步骤S101并行的;一组吞吐率参数,是从步骤S102的开始时间点开始,至执行N次步骤S101过程中的吞吐率参数。
需要说明的是,N为预设次数,N大于或等于2均可;在实际应用中,对N的确定可以根据用户需求、网络状况及模块自身负载情况来确定;N选取的越小,实时性越高。
S103:根据吞吐率参数,继续接收缓存客户机发送的访问请求并统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数,或者,停止缓存仅接收转发客户机发送的访问请求。
其中,根据吞吐率参数,继续接收缓存客户机发送的访问请求并统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数,或者,停止缓存仅接收转发客户机发送的访问请求,是由缓存装置的缓存功能的实际加速效果是否达到目标加速效果决定的;其中,目标加速效果是用户预期的加速效果;本发明对于目标加速效果的具体内容不进行限定。
具体的,如果缓存功能的实际加速效果达到目标加速效果,说明缓存装置的缓存功能达到了用户期望,则可以继续进行缓存;如果缓存功能的实际加速效果未达到目标加速效果,则说明缓存功能并未达到用户的期望,则暂停缓存。
进一步的,根据吞吐率参数,继续接收缓存客户机发送的访问请求并统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数,或者,停止缓存仅接收转发所述客户机发送的所述访问请求根据吞吐率参数,具体可以包括:
判断缓存装置的缓存功能的实际加速效果是否达到目标加速效果;
若缓存装置的缓存功能的实际加速效果达到目标加速效果,则继续接收缓存客户机发送的访问请求并统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数;
若所述缓存装置的缓存功能的实际加速效果未达到目标加速效果,则停止缓存仅接收转发所述客户机发送的所述访问请求。
其中,继续接收缓存客户机发送的访问请求并统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数,与步骤S101和步骤S102相同。
其中,停止缓存仅接收转发客户机发送的访问请求,包括:接收客户机发送的访问请求;创建到服务器的新连接;接收服务器发来的响应;将服务器的响应返回给客户机。
具体的,判断缓存装置的缓存功能的实际加速效果是否达到目标加速效果,可以通过判断缓存装置的缓存功能实际对缓存装置的吞吐率产生的优化是否达到用户预期的对缓存装置的吞吐率的优化,即缓存装置的缓存功能开启时的缓存装置吞吐率是否大于缓存装置缓存功能关闭时的吞吐率加上预设阈值;若大于,则说明缓存装置的缓存功能对缓存装置的吞吐率产生的优化达到了用户预期的对缓存装置的吞吐率的优化,即缓存装置的缓存功能的实际加速效果达到目标加速效果;若小于,则说明缓存装置的缓存功能对缓存装置的吞吐率的优化未达到用户预期的对缓存装置的吞吐率的优化,即缓存装置的缓存功能的实际加速效果未达到目标加速效果。
因此,定义吞吐优化率对缓存装置的缓存功能的加速效果进行量化表示;那么,目标吞吐优化率则是目标加速效果的量化表示,即目标吞吐优化率是用户预期的加速效果对应的吞吐优化率。
可选的,目标吞吐优化率可以大于或等于1;目标吞吐优化率可以根据实际需求确定,本发明对此不进行具体限定。
具体的,定义吞吐优化率K=缓存装置的缓存功能开启时的缓存装置吞吐率/缓存装置缓存功能关闭时的吞吐率。
又由于VL等效于缓存装置的缓存功能开启时的缓存装置吞吐率,VW等效于缓存装置缓存功能关闭时的吞吐率,则:
吞吐优化率 (公式1);
将及SF=1-FW/FL代入公式1可得:
在缓存装置运行的过程中,LAN端的交互时间TL是WAN端交互时间TW和模块内部运行时间TH之和,即:TL=TW+TH;
因此,吞吐优化率K进一步可以表示为:
又因为吞吐优化率K进一步可以表示为:
即, (公式2)。
进一步的,若缓存装置的缓存功能的实际加速效果达到目标加速效果,则吞吐优化率K大于或等于目标吞吐优化率。
假设目标加速效果为缓存装置的缓存功能是否有加速效果的临界点,即目标吞吐优化为1,此时,若缓存装置的缓存功能的加速效果达到目标加速效果时,
推导得出:
由步骤S102可知,吞吐率参数可以包括不同的内容,在吞吐率参数包括不同内容的情况下,相应的,根据吞吐率参数,判断缓存装置的缓存功能的实际加速效果是否达到目标加速效果,可以包括下述三种情况:
情况1、当吞吐率参数包括VL和VW时;
在情况1中,吞吐率参数包括的VL和VW,判断缓存装置的缓存功能的实际加速效果是否达到目标加速效果,可以通过下述两种方式中的任意一种来实现:
第一种方式,直接比较VL和AVW的大小;
其中,A为目标吞吐优化率,A大于或等于1;
需要说明的是,本文中的AVW表示A乘以VW。
若VL大于或等于AVW,根据公式1可知,则吞吐优化率K大于或等于目标吞吐优化率;
因此,
若VL大于或等于AVW,则缓存装置的缓存功能的实际加速效果达到目标加速效果;
若VL小于或等于AVW,则缓存装置的缓存功能的实际加速效果未达到目标加速效果。
需要说明的是,在VL等于AVW的情况下,可以继续接收缓存客户机发送的访问请求并统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数;也可以停止缓存仅接收转发客户机发送的访问请求;具体可以根据实际情况确定,本发明对此不进行限定。
第二种方式,记判断K与第一预设阈值的关系;
在情况1的第二种方式中,目标吞吐优化率为第一预设阈值;其中,第一预设阈值大于或等于1;
需要说明的是,第一预设阈值的具体取值,可以根据实际需求确定,本发明对此不进行具体限定。
根据公式1,吞吐优化率通过判断K与第一预设阈值的关系,即通过判断实际吞吐优化率与目标吞吐优化率的大小,判断缓存装置的缓存功能的实际加速效果是否达到目标加速效果,即:
若K大于或等于第一预设阈值,则缓存装置的缓存功能的实际加速效果达到目标加速效果;
若K小于或等于第一预设阈值,则缓存装置的缓存功能的实际加速效果未达到目标加速效果。
需要说明的是,在K等于第一预设阈值的情况下,可以继续接收缓存客户机发送的访问请求并统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数;也可以停止缓存仅接收转发客户机发送的访问请求;具体可以根据实际情况确定,本发明对此不进行限定。
还需要说明的是,上述情况1中的两种方式,都是根据VL和VW,判断缓存装置的缓存功能的实际加速效果是否达到目标加速效果,只是过程不同,本发明对于具体使用的过程不进行限定,凡是根据VL和VW,决定继续接收缓存客户机发送的访问请求并统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数,或者,停止缓存仅接收转发客户机发送的访问请求的方式,都属于本发明的保护范围。
情况2、吞吐率参数包括VW、及缓存装置自身的吞吐率VH;
由情况1中的描述可知,若缓存装置的缓存功能达到目标加速效果,则实际吞吐优化率大于或等于目标吞吐优化率,假设参考优化率为X,参考公式2可得:
推导可得:
因此,设定第二预设阈值为小于或等于的值;其中,SF′缓存装置实际能达到的流量优化率的最大值;
需要说明的是,目标吞吐优化率X可以根据实际需求确定,因此第二预设阈值可以根据实际需求设定,本发明对于第二预设阈值的具体取值不进行限定。
优选的,第二预设阈值中包括的SF′可以设置为60%。
具体的,通过比较VW、VH及第二预设阈值之间的大小关系,判断缓存装置的缓存功能的实际加速效果是否达到目标加速效果,具体可以包括:
若VW/VH小于或等于第二预设阈值,则缓存装置的缓存功能的实际加速效果达到目标加速效果;
若VW/VH大于或等于第二预设阈值,则缓存装置的缓存功能的实际加速效果达到目标加速效果。
特别的,当X等于1时,根据公式3可知,VW/VH是缓存装置的缓存功能达到加速效果需要的SF值,若VW/VH大于或等于第二预设阈值(此时第二预设阈值为缓存装置实际能达到的流量优化率的最大值),说明缓存装置无法达到加速效果,因此,缓存装置的缓存功能的实际加速效果不能达到目标加速效果。
需要说明的是,在VW/VH等于第二预设阈值的情况下,可以继续接收缓存客户机发送的访问请求并统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数;也可以停止缓存仅接收转发客户机发送的访问请求;具体可以根据实际情况确定,本发明对此不进行限定。
情况3、吞吐率参数包括VW、VH及SF;
在情况3中,吞吐率参数包括的VW、VH及SF,判断缓存装置的缓存功能的实际加速效果是否达到目标优化效果可以通过下述两种方式中的任意一种来实现:
第一种方式,比较SF与VW、VH的关系;
若目标吞吐优化率为X,若缓存装置的缓存功能的实际加速效果达到目标加速效果,则实际吞吐优化率要大于目标吞吐优化率,根据公式2则:
推导可得:
设置由于目标吞吐优化率X大于或等于1,因此,B大于或等于0。
因此:
若SF大于或等于则缓存装置的缓存功能的实际加速效果达到目标加速效果;
若SF小于或等于则缓存装置的缓存功能的实际加速效果达到目标加速效果。
第二种方式,记判断K与第三预设阈值的关系;
其中,第三预设阈值为目标吞吐优化率;其中,第三预设阈值大于或等于1;本发明对于第三预设阈值的取值不进行限定。
由于K为实际吞吐优化率,具体的,通过判断K与第三预设阈值的关系,判断缓存装置的缓存功能的实际加速效果是否达到目标加速效果可以包括:
若K大于或等于第三预设阈值,则缓存装置的缓存功能的实际加速效果达到目标加速效果;
若K小于或等于第三预设阈值,则缓存装置的缓存功能的实际加速效果达到目标加速效果。
需要说明的是,在K等于第三预设阈值的情况下,可以继续接收缓存客户机发送的访问请求并统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数;也可以停止缓存仅接收转发客户机发送的访问请求;具体可以根据实际情况确定,本发明对此不进行限定。
还需要说明的是,上述情况1中的两种方式,都是根据VW、VH及SF,判断缓存装置的缓存功能的实际加速效果是否达到目标加速效果,只是过程不同,本发明对于具体过程不进行限定,凡是根据VW、VH及SF,判断缓存装置的缓存功能的实际加速效果是否达到目标加速效果,进而决定继续接收缓存客户机发送的访问请求并统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数,或者,停止缓存仅接收转发客户机发送的访问请求的方式,都属于本发明的保护范围。
进一步的,在停止缓存仅接收转发客户机发送的访问请求之后,可以根据实际需求,缓存装置恢复缓存,继续接收缓存客户机发送的访问请求并统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数;
具体的,缓存装置恢复缓存,继续接收缓存客户机发送的访问请求并统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数,可以通过下述方式中任意一种实现:
第一种实现方式:一段时间后,管理员可以通过手动配置,继续接收缓存客户机发送的访问请求并统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数。
第二种实现方式:在停止缓存仅接收转发客户机发送的访问请求之后,启动计时,当计时预设时间段后,继续接收缓存客户机发送的访问请求并统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数。
其中,预设时间段可以根据实际需求确定,本发明对此不进行限定。优选的,预设时间段设置为10分钟。
优选的,计时可以通过计时器实现。
本发明实施例提供的一种缓存方法,通过接收缓存客户机发送的访问请求;统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数;其中,N大于或等于2;根据吞吐率参数,继续接收缓存客户机发送的访问请求并统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数,或者,停止缓存仅接收转发所述客户机发送的所述访问请求。由于吞吐率参数是网络状况或***负载的实时体现,根据吞吐率参数,继续接收缓存客户机发送的访问请求并统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数,或者,停止缓存仅接收转发所述客户机发送的所述访问请求,则可以实现在缓存未命中,网络状况差及***自身负载高时,降低缓存功对局域网内用户体验的不良影响。解决了现有技术中,在缓存未命中,网络状况差及***自身负载高时,缓存功能还是会对局域网内用户体验造成不良影响的缺陷。
实施例二
本发明实施例二提供另一种缓存方法,以客户机A的HTTP访问过程中的缓存方法为例,对图1所示的缓存方法进行详细描述。参见图3,所述方法可以包括:
S301、接收缓存客户机A发送的访问请求;
其中,接收缓存客户机A发送的访问请求,指连续接收缓存客户机A发送的访问请求发送的多个访问请求,对于每个访问请求,处理过程与步骤101a~101h相同,此处不再进行赘述。
S302、统计获取5000次接收缓存客户机发送的访问请求过程中的VW、VH;
例如,从S301第一次接收缓存客户机A发送的访问请求开始,统计获取5000次接收缓存客户机发送的访问请求过程中的VW、VH;统计获取到VW为2M/s,VH为2.5M/s。
S303、判断VW、VH及预设阈值1之间的大小关系;
假设用户设定目标吞吐优化率为1,缓存装置实际能达到的SF的最大值为60%,因此,预设阈值1为60%;
若VW/VH大于预设阈值1,则执行步骤S304;若VW/VH小于预设阈值1,则执行步骤S301;
例如,根据步骤S302中,统计获取到VW为2M/s,VH为2.5M/s,得出VW/VH=80%,大于预设阈值60%,则执行步骤S304。
S304、停止缓存仅接收转发客户机发送的访问请求;
S305、启动计时器。
其中,设置预设时间段为10分钟;当计时器运行10分钟后,则执行步骤S301。
需要说明的是,本实施例只是以示例的形式对缓存过程进行描述,并不是对缓存实现过程的具体限定。
本发明实施例提供的一种缓存方法,通过接收缓存客户机A发送的访问请求;统计获取5000次接收缓存客户机发送的访问请求过程中的VW、VH;通过判断VW、VH及预设阈值之间的大小关系,判断缓存装置的缓存功能的实际加速效果是否达到目标加速效果,进而决定继续接收缓存客户机发送的访问请求并统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数,或者,停止缓存仅接收转发所述客户机发送的所述访问请求。由于吞吐率参数是网络状况或***负载的实时体现,通过判断VW、VH及预设阈值之间的大小关系,判断出缓存装置的缓存功能的实际加速效果是否达到目标加速效果,则可以实现在缓存未命中,网络状况差及***自身负载高时,降低缓存功对局域网内用户体验的不良影响。解决了现有技术中,在缓存未命中,网络状况差及***自身负载高时,缓存功能还是会对局域网内用户体验造成不良影响的缺陷。
实施例三
本发明实施例三提供一种缓存装置40,所述缓存装置40可以为代理服务器的部分或全部;参见图4,缓存装置40可以包括:
接收处理单元401,用于接收缓存客户机发送的访问请求;
统计获取单元402,用于统计获取接收处理单元401N次接收缓存客户机发送的访问请求过程中的吞吐率参数;其中,N大于或等于2;
接收处理单元401还用于,根据统计获取单元402统计获取的吞吐率参数,继续接收缓存客户机发送的访问请求并统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数;或者,停止缓存仅接收转发客户机发送的访问请求。
进一步的,参见图5,接收处理单元401具体可以包括:
判断模块4011,用于根据统计获取单元402获取的吞吐率参数,判断缓存装置40的缓存功能的实际加速效果是否达到目标加速效果;
接收处理模块4012,用于若判断模块4011判断缓存装置40的缓存功能的实际加速效果达到目标加速效果,则继续接收缓存客户机发送的访问请求并统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数;
接收处理模块4012还用于,若判断模块4011判断缓存装置40的缓存功能的实际加速效果未达到目标加速效果,则停止缓存仅接收转发客户机发送的访问请求。
可选的,若吞吐率参数包括VL及VW,判断模块4011具体可以用于:
若VL大于或等于AVW,则缓存装置40的缓存功能的实际加速效果达到目标加速效果;其中,A大于或等于1;
若VL小于或等于AVW,则缓存装置40的缓存功能的实际加速效果未达到目标加速效果;
或者,
记
若K大于或等于第一预设阈值,则缓存装置40的缓存功能的实际加速效果达到目标加速效果;其中,第一预设阈值大于或等于1;
若K小于或等于第一预设阈值,则缓存装置40的缓存功能的实际加速效果未达到目标加速效果。
可选的,若吞吐率参数包括VW、VH,判断模块4011具体可以用于:
若VW/VH小于或等于第二预设阈值,则缓存装置40的缓存功能的实际加速效果达到目标加速效果;
若VW/VH大于或等于第二预设阈值,则缓存装置40的缓存功能的实际加速效果未达到目标加速效果。
可选的,若吞吐率参数包括根据VW、VH及SF,判断模块4011具体可以用于:
若SF大于或等于则缓存装置40的缓存功能的实际加速效果达到目标加速效果;其中,B大于或等于0;
若SF小于或等于则缓存装置40的缓存功能的实际加速效果未达到目标加速效果;
或者,
记
若K大于或等于第三预设阈值,则缓存装置40的缓存功能的实际加速效果达到目标加速效果;其中,第三预设阈值大于或等于1;
若K小于或等于第三预设阈值,则缓存装置40的缓存功能的实际加速效果未达到目标加速效果。
进一步的,接收处理单元401具体可以用于:
接收客户机发送的访问请求;其中,访问请求包括客户机请求的访问信息的标识;
解析访问请求,获取客户机请求的访问信息的标识;
根据访问信息的标识,判断访问信息是否可以被缓存;
若访问信息不能被缓存,则从服务器获取访问信息发送至客户机;
若访问信息可以被缓存,根据访问信息的标识,查找缓存索引判断访问信息是否缓存命中;其中,缓存索引包括本地磁盘已经保存的访问信息的标识及与访问信息的标识一一对应的响应内容;响应内容包括访问信息或访问信息及时效信息。
若访问信息缓存命中,则判断本地磁盘已经保存的访问信息是否过期;
若访问信息缓存命中且未过期,则从本地磁盘获取访问信息发送至客户机;
若访问信息缓存命中且已过期或者访问信息缓存未命中,则从服务器获取访问信息发送至客户机,并将访问信息的标识及响应内容添加至缓存索引。
进一步的,参见图5,缓存装置40还可以包括:
计时器403,用于在接收处理单元401停止缓存仅接收转发客户机发送的访问请求之后开始计时;
接收处理单元401还可以用于,当计时器403运行预设时间段后,继续接收缓存客户机发送的访问请求并统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数。
本发明实施例提供一种缓存装置40,通过接收缓存客户机发送的访问请求;统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数;其中,N大于或等于2;吞吐率参数可以包括缓存装置LAN端吞吐率VL、及缓存装置WAN端口的吞吐率VW;或者,吞吐率参数包括VW、及缓存装置自身的吞吐率VH;或者,吞吐率参数包括VW、VH及SF;SF=1-FW/FL;FW为缓存装置WAN端数据流量;FL为缓存装置LAN端数据流量;根据吞吐率参数,继续接收缓存客户机发送的访问请求并统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数,或者,停止缓存仅接收转发客户机发送的访问请求。由于吞吐率参数是网络状况或***负载的实时体现,根据吞吐率参数,继续接收缓存客户机发送的访问请求并统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数,或者,停止缓存仅接收转发客户机发送的访问请求,则可以实现在缓存未命中,网络状况差及***自身负载高时,降低缓存功对局域网内用户体验的不良影响。解决了现有技术中,在缓存未命中,网络状况差及***自身负载高时,缓存功能还是会对局域网内用户体验造成不良影响的缺陷。
实施例四
本发明实施例四提供一种代理服务器60,参见图6,代理服务器60可以包括:
如上述任一实施例的缓存装置40。
本发明实施例提供一种代理服务器60,通过接收缓存客户机发送的访问请求;统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数;其中,N大于或等于2;根据吞吐率参数,继续接收缓存客户机发送的访问请求并统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数,或者,停止缓存仅接收转发客户机发送的访问请求。由于吞吐率参数是网络状况或***负载的实时体现,根据吞吐率参数,继续接收缓存客户机发送的访问请求并统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数,或者,停止缓存仅接收转发客户机发送的访问请求,则可以实现在缓存未命中,网络状况差及***自身负载高时,降低缓存功对局域网内用户体验的不良影响。解决了现有技术中,在缓存未命中,网络状况差及***自身负载高时,缓存功能还是会对局域网内用户体验造成不良影响的缺陷。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (15)
1.一种缓存方法,其特征在于,应用于缓存装置,所述方法包括:
接收缓存客户机发送的访问请求;
统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数;其中,所述N大于或等于2;
根据所述吞吐率参数,继续接收缓存客户机发送的访问请求并统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数,或者,停止缓存仅接收转发所述客户机发送的所述访问请求。
2.根据权利要求1所述的缓存方法,其特征在于,所述根据所述吞吐率参数,继续接收缓存客户机发送的访问请求并统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数,或者,停止缓存仅接收转发所述客户机发送的所述访问请求,包括:
根据所述吞吐率参数,判断所述缓存装置的缓存功能的实际加速效果是否达到目标加速效果;
若所述缓存装置的缓存功能的实际加速效果达到目标加速效果,则继续接收缓存客户机发送的访问请求并统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数;
若所述缓存装置的缓存功能的实际加速效果未达到目标加速效果,则停止缓存仅接收转发所述客户机发送的所述访问请求。
3.根据权利要求2所述的缓存方法,其特征在于,若所述吞吐率参数包括所述缓存装置局域网LAN端吞吐率VL及所述缓存装置广域网WAN端口的吞吐率VW,所述根据所述吞吐率参数,判断所述缓存装置的缓存功能的实际加速效果是否达到目标加速效果,包括:
若所述VL大于或等于所述AVW,则所述缓存装置的缓存功能的实际加速效果达到目标加速效果;其中,所述A大于或等于1;
若所述VL小于或等于所述AVW,则所述缓存装置的缓存功的优化效果能未达到目标加速效果;
或者,
记
若所述K大于或等于第一预设阈值,则所述缓存装置的缓存功能的实际加速效果达到目标加速效果;其中,第一预设阈值大于或等于1;
若所述K小于或等于第一预设阈值,则所述缓存装置的缓存功能的实际加速效果未达到目标加速效果。
4.根据权利要求2所述的缓存方法,其特征在于,若所述吞吐率参数包括所述缓存装置的广域网WAN端口的吞吐率VW、所述缓存装置自身的吞吐率VH,所述根据所述吞吐率参数,判断所述缓存装置的缓存功能的实际加速效果是否达到目标加速效果,包括:
若VW/VH小于或等于第二预设阈值,则所述缓存装置的缓存功能的实际加速效果达到目标加速效果;
若所述VW/VH大于或等于第二预设阈值,则所述缓存装置的缓存功能的实际加速效果未达到目标加速效果。
5.根据权利要求2所述的缓存方法,其特征在于,若所述吞吐率参数包括所述缓存装置广域网WAN端口的吞吐率VW、所述缓存装置自身的吞吐率VH及SF;其中,所述SF=1-FW/FL;所述FW为所述缓存装置WAN端数据流量;所述FL为所述缓存装置LAN端数据流量;所述根据所述吞吐率参数,判断所述缓存装置的缓存功能的实际加速效果是否达到目标加速效果,包括:
若所述SF大于或等于则所述缓存装置的缓存功能的实际加速效果达到目标加速效果;其中,所述B大于或等于0;
若所述SF小于或等于所述则所述缓存装置的缓存功能的实际加速效果未达到目标加速效果;
或者,
记
若所述K大于或等于第三预设阈值,则所述缓存装置的缓存功能的实际加速效果达到目标加速效果;其中,第三预设阈值大于或等于1;
若所述K小于或等于第三预设阈值,则所述缓存装置的缓存功能的实际加速效果未达到目标加速效果。
6.根据权利要求1-5任一项所述的缓存方法,其特征在于,所述接收缓存客户机发送的访问请求,包括:
接收所述客户机发送的所述访问请求;其中,所述访问请求包括所述客户机请求的访问信息的标识;
解析所述访问请求,获取所述客户机请求的访问信息的标识;
根据所述访问信息的标识,判断所述访问信息是否可以被缓存;
若所述访问信息不能被缓存,则从服务器获取所述访问信息发送至所述客户机;
若所述访问信息可以被缓存,根据所述访问信息的标识,查找缓存索引判断所述访问信息是否缓存命中;其中,所述缓存索引包括本地磁盘已经保存的访问信息的标识及与所述访问信息的标识一一对应的响应内容;所述响应内容包括访问信息或访问信息及时效信息;
若所述访问信息缓存命中,则判断本地磁盘已经保存的所述访问信息是否过期;
若所述访问信息缓存命中且未过期,则从本地磁盘获取所述访问信息发送至所述客户机;
若所述访问信息缓存命中且已过期或者所述访问信息缓存未命中,则从所述服务器获取所述访问信息发送至所述客户机,并将所述访问信息的标识及响应内容添加至缓存索引。
7.根据权利要求1-5任一项所述的缓存方法,其特征在于,在所述停止缓存仅接收转发所述客户机发送的所述访问请求之后,所述方法还包括:
启动计时;
当计时预设时间段后,继续接收缓存客户机发送的访问请求并统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数。
8.一种缓存装置,其特征在于,所述缓存装置包括:
接收处理单元,用于接收缓存客户机发送的访问请求;
统计获取单元,用于统计获取所述接收处理单元N次接收缓存客户机发送的访问请求过程中的吞吐率参数;其中,所述N大于或等于2;
所述接收处理单元还用于,根据所述统计获取单元统计获取的吞吐率参数,继续接收缓存客户机发送的访问请求;或者,停止缓存仅接收转发所述客户机发送的所述访问请求。
9.根据权利要求8所述的缓存装置,其特征在于,所述接收处理单元具体包括:
判断模块,用于根据所述统计获取单元获取的吞吐率参数,判断所述缓存装置的缓存功能的实际加速效果是否达到目标加速效果;
接收处理模块,用于若所述判断模块判断所述缓存装置的缓存功能的实际加速效果达到目标加速效果,则继续接收缓存客户机发送的访问请求并统计获取N次接收缓存客户机发送的访问请求过程中的吞吐率参数;
所述接收处理模块还用于,若所述判断模块判断所述缓存装置的缓存功能的实际加速效果未达到目标加速效果,则停止缓存仅接收转发所述客户机发送的所述访问请求。
10.根据权利要求9所述的缓存装置,其特征在于,若所述吞吐率参数包括所述缓存装置局域网LAN端吞吐率VL及所述缓存装置广域网WAN端口的吞吐率VW,所述判断模块具体用于:
若所述VL大于或等于所述AVW,则所述缓存装置的缓存功能的实际加速效果达到目标加速效果;其中,所述A大于或等于1;
若所述VL小于或等于所述AVW,则所述缓存装置的缓存功能的实际加速效果未达到目标加速效果;
或者,
记
若所述K大于或等于第一预设阈值,则所述缓存装置的缓存功能的实际加速效果达到目标加速效果;其中,所述第一预设阈值大于或等于1;
若所述K小于或等于第一预设阈值,则所述缓存装置的缓存功能的实际加速效果未达到目标加速效果。
11.根据权利要求9所述的缓存装置,其特征在于,若所述吞吐率参数包括所述缓存装置的广域网WAN端口的吞吐率VW、所述缓存装置自身的吞吐率VH,所述判断模块具体用于:
若VW/VH小于或等于第二预设阈值,则所述缓存装置的缓存功能的实际加速效果达到目标加速效果;
若所述VW/VH大于或等于第二预设阈值,则所述缓存装置的缓存功能的实际加速效果未达到目标加速效果。
12.根据权利要求9所述的缓存装置,其特征在于,若所述吞吐率参数包括所述缓存装置广域网WAN端口的吞吐率VW、所述缓存装置自身的吞吐率VH及SF;其中,所述SF=1-FW/FL;所述FW为所述缓存装置WAN端数据流量;所述FL为所述缓存装置LAN端数据流量;所述判断模块具体用于:
若所述SF大于或等于则所述缓存装置的缓存功能的实际加速效果达到目标加速效果;其中,所述B大于或等于0;
若所述SF小于或等于所述则所述缓存装置的缓存功能的实际加速效果未达到目标加速效果;
或者,
记
若所述K大于或等于第三预设阈值,则所述缓存装置的缓存功能的实际加速效果达到目标加速效果;其中,所述第三预设阈值大于或等于1;
若所述K小于或等于第三预设阈值,则所述缓存装置的缓存功能的实际加速效果未达到目标加速效果。
13.根据权利要求8-12任一项所述的缓存装置,其特征在于,所述接收处理单元具体用于:
接收所述客户机发送的所述访问请求;其中,所述访问请求包括所述客户机请求的访问信息的标识;
解析所述访问请求,获取所述客户机请求的访问信息的标识;
根据所述访问信息的标识,判断所述访问信息是否可以被缓存;
若所述访问信息不能被缓存,则从服务器获取所述访问信息发送至所述客户机;
若所述访问信息可以被缓存,根据所述访问信息的标识,查找缓存索引判断所述访问信息是否缓存命中;其中,所述缓存索引包括本地磁盘已经保存的访问信息的标识及与所述访问信息的标识一一对应的响应内容;所述响应内容包括访问信息或访问信息及时效信息;
若所述访问信息缓存命中,则判断本地磁盘已经保存的所述访问信息是否过期;
若所述访问信息缓存命中且未过期,则从本地磁盘获取所述访问信息发送至所述客户机;
若所述访问信息缓存命中且已过期或者所述访问信息缓存未命中,则从所述服务器获取所述访问信息发送至所述客户机,并将所述访问信息的标识及响应内容添加至缓存索引。
14.根据权利要求8-12任一项所述的缓存装置,其特征在于,所述缓存装置还包括:
计时器,用于在所述接收处理单元停止缓存仅接收转发所述客户机发送的所述访问请求之后开始计时;
所述接收处理单元还用于,当所述计时器运行预设时间段后,继续接收缓存客户机发送的访问请求。
15.一种代理服务器,其特征在于,包括:
如权利要求8-14任一项所述的缓存装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410350562.9A CN104113599B (zh) | 2014-07-22 | 2014-07-22 | 一种缓存方法、装置及代理服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410350562.9A CN104113599B (zh) | 2014-07-22 | 2014-07-22 | 一种缓存方法、装置及代理服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104113599A true CN104113599A (zh) | 2014-10-22 |
CN104113599B CN104113599B (zh) | 2017-06-23 |
Family
ID=51710231
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410350562.9A Active CN104113599B (zh) | 2014-07-22 | 2014-07-22 | 一种缓存方法、装置及代理服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104113599B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105760405A (zh) * | 2014-12-19 | 2016-07-13 | 阿里巴巴集团控股有限公司 | 用于加载web页面的网络资源获取方法、缓存方法及装置 |
CN106802950A (zh) * | 2017-01-16 | 2017-06-06 | 郑州云海信息技术有限公司 | 一种分布式文件***小文件写缓存优化的方法 |
CN107766463A (zh) * | 2017-09-28 | 2018-03-06 | 北京北信源软件股份有限公司 | 一种多业务驱动的中间件***的存储处理方法及装置 |
CN108141465A (zh) * | 2015-08-11 | 2018-06-08 | 高通股份有限公司 | Http知悉型内容高速缓存 |
CN111355824A (zh) * | 2020-02-21 | 2020-06-30 | 上海奇频信息科技有限公司 | 终端号码翻译方法、近端、远端翻译设备与翻译*** |
US11444879B2 (en) | 2015-08-05 | 2022-09-13 | Qualcomm Incorporated | Deep packet inspection indication for a mobile CDN |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090103371A (ko) * | 2008-03-28 | 2009-10-01 | 성균관대학교산학협력단 | 이동 에이전트 캐싱 방법 및 에이전트 플랫폼 |
CN101729598A (zh) * | 2009-11-18 | 2010-06-09 | 福建星网锐捷网络有限公司 | 提高Web服务响应速率的方法和***及网络处理器 |
CN102263822A (zh) * | 2011-07-22 | 2011-11-30 | 北京星网锐捷网络技术有限公司 | 一种分布式缓存的控制方法、***及装置 |
-
2014
- 2014-07-22 CN CN201410350562.9A patent/CN104113599B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090103371A (ko) * | 2008-03-28 | 2009-10-01 | 성균관대학교산학협력단 | 이동 에이전트 캐싱 방법 및 에이전트 플랫폼 |
CN101729598A (zh) * | 2009-11-18 | 2010-06-09 | 福建星网锐捷网络有限公司 | 提高Web服务响应速率的方法和***及网络处理器 |
CN102263822A (zh) * | 2011-07-22 | 2011-11-30 | 北京星网锐捷网络技术有限公司 | 一种分布式缓存的控制方法、***及装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105760405A (zh) * | 2014-12-19 | 2016-07-13 | 阿里巴巴集团控股有限公司 | 用于加载web页面的网络资源获取方法、缓存方法及装置 |
US11444879B2 (en) | 2015-08-05 | 2022-09-13 | Qualcomm Incorporated | Deep packet inspection indication for a mobile CDN |
CN108141465A (zh) * | 2015-08-11 | 2018-06-08 | 高通股份有限公司 | Http知悉型内容高速缓存 |
CN108141465B (zh) * | 2015-08-11 | 2021-07-16 | 高通股份有限公司 | Http知悉型内容高速缓存 |
CN106802950A (zh) * | 2017-01-16 | 2017-06-06 | 郑州云海信息技术有限公司 | 一种分布式文件***小文件写缓存优化的方法 |
CN107766463A (zh) * | 2017-09-28 | 2018-03-06 | 北京北信源软件股份有限公司 | 一种多业务驱动的中间件***的存储处理方法及装置 |
CN111355824A (zh) * | 2020-02-21 | 2020-06-30 | 上海奇频信息科技有限公司 | 终端号码翻译方法、近端、远端翻译设备与翻译*** |
CN111355824B (zh) * | 2020-02-21 | 2023-12-15 | 上海奇频信息科技有限公司 | 终端号码翻译方法、近端、远端翻译设备与翻译*** |
Also Published As
Publication number | Publication date |
---|---|
CN104113599B (zh) | 2017-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10812358B2 (en) | Performance-based content delivery | |
CN104113599A (zh) | 一种缓存方法、装置及代理服务器 | |
US11122067B2 (en) | Methods for detecting and mitigating malicious network behavior and devices thereof | |
Wang et al. | How speedy is {SPDY}? | |
CN107025234B (zh) | 一种信息推送方法及缓存服务器 | |
US10027739B1 (en) | Performance-based content delivery | |
CN106888135B (zh) | 一种任务状态的查询方法和装置 | |
US8380855B2 (en) | HTTP header intermediary for enabling session-based dynamic site searches | |
US10938935B1 (en) | Reduction in redirect navigation latency via speculative preconnection | |
US9043383B2 (en) | Stream processing using a client-server architecture | |
US20110066676A1 (en) | Method and system for reducing web page download time | |
US20080270412A1 (en) | Tracking user clicks using ajax based beacons | |
WO2018082712A1 (zh) | 一种情境感知的移动Web应用协议切换方法 | |
WO2015103997A1 (zh) | 一种基于关键词检索的网络爬虫调度方法及*** | |
US10158691B2 (en) | Method and apparatus for providing network resources at intermediary server | |
US20230315793A1 (en) | Automated web page accessing | |
CN104753922A (zh) | 用于预加载的方法、服务端、客户端及*** | |
US20130246583A1 (en) | Method, system and server device for transmitting a digital resource in a client-server communication system | |
CN106412079B (zh) | 请求处理方法及*** | |
US9400547B2 (en) | Processing device and method thereof | |
US10200510B2 (en) | Method and apparatus for loading web page | |
CN103067419B (zh) | 一种分布式文件***及在该***中控制文件存储的方法 | |
US20090138545A1 (en) | Asynchronous response processing in a web based request-response computing system | |
CN112235271B (zh) | 内容分发网络cdn设备及其自适应安全回源方法 | |
CN102918527B (zh) | Web应用托管的调查方法和*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |