高速缓存设备及其使用方法 本发明涉及因特网信息的传输,特别是指一种高速缓存设备及其使用方法。
由于Internet和内部网受欢迎的程度越来越高,因此对Web访问的需求似乎永无止境。Web用户数量越来越多,而他们的耐心却越来越差,无法忍受所谓的WWW(World Wide Wait“全球范围等待”)。此外,公司基础设施管理员也在为由于机构内Internet使用频率增加而造成的日益增加的网络带宽、可靠性和性能降低等问题而困扰。
Internet原先的设计并没有考虑高速缓存。当然,当时的设计人员无法预料今天Internet的巨大规模。这种设计上的缺陷已经造成严重问题,从而使用者们在今天访问万维网上的信息时饱受其苦。
本发明的目的在于提供一种高速缓存设备及其使用方法,以加速因特网网站的响应,提高工作效率,使用户能够提供更好的网络服务。
本发明的构思是采用大容量的随机存取存储器(RAM)并虚拟成内存盘(RAMDISK),在存储顺序上是先内存盘,后硬盘,在客户访问请求顺序上是先本地内存盘,近地内存盘,再远端原始服务器,并形成了一种可扩展的即插即用,即可为网络加速的高速缓存设备。更具体地说,本发明的目的是这样实现的:
一种高速缓存设备,其特征在于
(1)该高速缓存设备由一大容量地随机存取存储器构成,并虚拟成内存盘;
(2)该高速缓存设备对HTTP请求的处理过程如下:
●接收HTTP请求;
●分析HTTP请求,当收到足够的请求信息后;
●首先判断内存盘是否有该请求相同内容的缓存记录;
●有,则打开缓存页面内存表,并建立一个客户端响应缓存;
●读取有关缓存页面;
●将信息发送至客户端口队列,完成后,处于等待状态
或
●若判断内存盘没有所请求相同内容的缓存记录,则进入硬盘搜索并判断是否有该请求相同内容的缓存记录;
●有,则打开缓存页面内存表,并建立一个客户端响应缓存;
●读取有关缓存页面;
●将信息发送至客户端口队列,完成后,处于等待状态;
或
●经判断,内存缓存中及硬盘中均无客户端请求相同内容的缓存记录,则给出远端使用域名;
●建立连接至目标服务器;
●将客户端数据复制到服务器端的端口队列中;
●在内存盘中建立内存缓存,准备接收返回数据;
●接收到足够的返回数据,建立一个客户端口的响应缓存;
●分析HTTP响应数据至主共享内存中读取插入信息;
●对缓存块进行修改;
●全部接收后即在内存中建立了相关的缓存数据;
●向客户端口发送数据;
●发送结果,处于等待状态。
该设备还有网络第四层到第七层的应用加载系统,可使广告及内容信息等实现透明的加载。
该设备还提供了防火墙和通用资源定位信息(URL)过滤功能。
该高速缓存设备作为正向代理服务器的步骤如下:
(1)浏览器从高速缓存设备请求一个初始服务器的Web页面;
(2)高速缓存设备从域名服务器获得数字IP地址;
(3)高速缓存设备从原始网络服务器获得请求的对象;
(4)高速缓存设备将收到的对象存储下来并将副本转发给浏览器;
(5)高速缓存设备无需访问域名服务器或原始网络服务器即可处理相同页面的后续请求。
该高速缓存设备作为透明代理,即正向代理的增强方式,其步骤如下:
(1)浏览器从初始服务器请求一个Web页面,第四层交换机中途截获并判断是否为HTTP请求,若是,则把它转发给高速缓存设备;
(2)高速缓存设备从域名服务器获得数字IP地址;
(3)高速缓存设备原始网络服务器获得请求对象;
(4)高速缓存设备将收到的对象存储下来并将副本转发给浏览器;
(5)高速缓存设备无需访问域名服务器02或原始网络服务器03即可处理相同页面后续请求。
该高速缓存设备作为反向代理,其步骤如下:
(1)Web上的浏览器请求一个原始网络服务器的页面,与往常一样,这样会向域名服务器产生一个要求该Web服务器的数字IP地址的请求;
(2)域名服务器不会返回原始网络服务器的IP地址,而是返回高速缓存设备的IP地址;
(3)浏览器利用高速缓存设备的IP地址请求web页面;
(4)高速缓存设备从原始网络服务器获得Web请求对象;
(5)高速缓存设备对此内容进行复制并返回给浏览器,若以后客户需要相同的内容,则可直接从该高速缓存设备中获取。
该高速缓存设备作为反向代理,与第四层交换机配合使用,其步骤如下:
(1)Internet上的浏览器发出请求,要访问Web服务器;
(2)域名服务器服务器解析出Web服务器的IP地址,并返回给客户端浏览器;
(3)客户端浏览器通过该IP地址向第四层交换机发出请求;
(4)第四层交换机上的Internet接入端口会对所有进入的包进行分析,若是至Web服务器的HTTP请求,则将该请求转发给高速缓存设备;
(5)高速缓存设备向原始网络服务器发出请求;
(6)原始网络服务器将内容返回给高速缓存设备;
(7)高速缓存设备在自己的缓存中保存内容,并将副本返回给客户端;若以后再有客户需要相同的内容,则可直接从高速缓存中获取。
将多台高速缓存设备分层部署在网络的不同位置,其工作步骤如下:
(1)ICP客户端接受浏览器的一个未被缓存于高速缓存设备上的Web页面的请求;
(2)ICP客户端发送一个队列请求给其ICP同层成员和ICP上层成员;
(3)如层成员有请求对象的副本,即将该副本返回给ICP客户端;
(4)如果ICP同层成员和ICP上层成员响应失败或请求超时,ICP客户端可选择一个ICP上层成员发出对对象的直接请求;
(5)该ICP上层成员通过其分层或原始网络服务器获取请求对象;
(6)该ICP上层成员把请求对象返回给ICP客户端;
(7)ICP客户端对此内容进行复制存入高速缓存设备并返回给浏览器。
将该高速缓存设备用作Web服务器加速组,其工作步骤如下:
(1)Web上浏览器发出对原始网络服务器的Web页面的请求,同往常一样,向域名服务器服务器请求一个Web服务器的IP地址;
(2)域名服务器以循环方式返回IP地址;
(3)浏览器通过域名服务器返回的IP地址请求Web页面;
(4)如请求超时,浏览器通过另外一个IP地址重新提出请求,从而提供了高可用性。
(5)高速缓存设备从原始网络服务器获取任何未被缓存的对象;
(6)高速缓存设备对此内容进行复制并返回给浏览器;
(7)高速缓存设备处理相同对象的请求,则无须访问原始网络服务器;
(8)对于每一次相同域名的请求,域名服务器交换一次IP地址的次序,从而通过高速缓存设备组提供了一定的负载平衡。
采用该高速缓存设备替代镜像服务器,实现全球镜像,其步骤如下:
(1)Web上浏览器发出对原始网络页面的请求,同往常一样,向Internet本地的域名服务器请求该远程Web服务器的IP地址;
(2)Internet本地域名服务器不返回Web服务器的初始地,而是返回Internet本地镜像站点高速缓存设备的IP地址;
(3)浏览器用高速缓存设备的IP地址请求Web页面;
(4)如高速缓存设备没有该请求内容,则从远程原始网络服务器获得Web页面;
(5)高速缓存设备对此内容进行复制并返回给浏览器。
将多台高速缓存设备组成集群的工作方式,其工作步骤如下:
(1)当集群功能在集群标签中被设置允许时,高速缓存设备被分配为集群的成员;
(2)客户端浏览器发出正向/透明代理请求;
(3)集群成员通过心跳监测(heart-beat packet)相互间通告各自的状态;
(4)当集群中某一成员的功能发生故障,其所承担的服务将会分派给集群中的其他成员;
(5)当客户有FTP下载请求时,高速缓存设备可以允许客户直接与网络服务器连接进行下载,减少高速缓存设备服务器的负载压力。
本发明的优点:
本发明的高速缓存设备将可扩展的高性能高速缓存对象存储技术与容错功能如磁盘排列、磁盘镜像和高速缓存集群等集成在一起,因而提供的解决方案能从小分支办事处扩展到全球企业和因特网服务供应商(ISP)。这使得公司能优化带宽并适应基于Internet的新应用。
本发明的高速缓存设备能提供无与伦比的可扩展性、灵活性和性能/价格比,能在10分钟之内快速、轻松地在基于Unix、Cisco或NT的企业网或ISP网络中配置好。事实上,本发明的高速缓存设备功能强大,更重要的是它能扩展到整个网络--从分支办事处到ISP。高速缓存设备可以提供:
加速网站响应,提高更好的网络服务
通过智能性的存储和更新终端用户频繁访问的网站内容,高速缓存设备能够更快更高效地传输Internet和Intranet的网站页面,降低了Web服务器的负载,从而提高了工作效率,使用户能够提供更好的服务。
显著降低WAN带宽占用
高速缓存设备消除了重复的、多余的Internet网络数据传输,明显降低了流量的峰值,最多可降低50%网络带宽占用。
安全性
高速缓存设备不仅提供了防火墙,还提供了通用资源定位信息(URL)过滤功能来保证站点不被浏览者访问。
安装简单、使用方便
只需不到十分钟的时间,高速缓存设备就能够安装完毕并且运用于任何IP网络环境中,如Unix,Cosco或者ISP网络。监控和管理均采用浏览器方式,非常容易操作。
基于第四层交换体系的缓存增值应用
在该高速缓存设备中内置了广告推送和流量监测服务,因此可以在透明缓存的市场应用中帮助因特网服务供应商(ISP)更有效的管理、控制其客户,并提供更有效的更快速的客户服务。而且高速缓存设备还可以在CACHE中内置股票行情、网上寻呼、WEBMAIL等多个功能令因特网服务供应商(ISP)可以通过逸群高速缓存设备随时向其用户提供各种增值服务。
缓存特性
存储HTTP、FTP及Gopher通讯数据,包括.exe及.java程序。可配置为对用户透明(无需客户端浏览器作修改),转发或反向代理模式。支持HTTP1.1固定连接、SSL的tunneling和cookies。支持ICP(Internet Caching Protocol),CERN hierachies。建立与Harvest、Squid和CERN代理标准兼容的日志文件。通过禁止hostname/IP来过滤URL或过滤服务。
可靠性
支持Load Balancing和Failover Clustering技术。电源耗尽后系统能自行重新启动。
下面结合实施例及其附图对本发明作进一步说明
图1.高速缓存设备工作流程图
图2.高速缓存设备作为代理服务器工作的设备配置及工作步骤示意图
图3.高速缓存设备作为透明代理的设备配置及工作步骤示意图
图4.高速缓存设备作为反向代理的设备配置及工作步骤示意图
图5.高速缓存设备与第四层交换机配合使用的设备配置及工作步骤示意图
图6.多台高速缓存设备分层部署在网络的不同位置的工作步骤示意图
图7.多台高速缓存设备用作Web服务器加速组的设备配置及其工作步骤示意图
图8.高速缓存设备作全球镜像的方案示意图
图9.高速缓存设备作集群使用方案示意图
图中:
01-高速缓存处理器
02-域名服务器
03-原始网络服务器
04-浏览器
05-网关
06-第四层交换机
本发明的高速缓存设备是采用大容量的随机存取存储器(RAM)并虚拟成内存盘(RAMDISK)并与软件结合,使之在存储顺序上先内存盘,后硬盘,在客户访问请求的顺序上是先本地内存盘,近地内存盘,再远端原始服务器,从整体来说,是一种可扩展的即插即用,即可为网络加速的的缓存设备。
图1是本发明高速缓存设备处于客户访问请求的工作流程图。其主要内容是:
●接收HTTP请求;
●分析HTTP请求,当收到足够的请求信息后;
●首先判断内存盘是否有该请求相同内容的缓存记录;
●有,则打开缓存页面内存表,并建立一个客户端响应缓存;
●读取有关缓存页面;
●将信息发送至客户端口队列,完成后,返回至空闲线程搜索表。或者判断内存盘没有所请求相同内容的缓存记录,则进入硬盘搜索并判断是否有该请求相同内容的缓存记录;
●有,则打开缓存页面内存表,并建立一个客户端响应缓存;
●读取有关缓存页面;
●将信息发送至客房端口队列,完成后,返回到空闲线程搜索表或经判断,内存盘和硬盘中均无客户请求相同内容的缓存记录,则给出远端使用域名;
●建立连接至目标服务器;
●将客户端数据复制到服务器端的端口队列中;
●在内存盘中建立内存缓存,准备接受返回数据;
●接受到足够的返回数据,建立一个客户端的响应缓存;
●分析HTTP响应数据;
●至共享内存中读取插入信息;
●对缓存块进行修改;
●全部接收后即在内存盘中建立了相关的缓存数据;
●向客户端口发送数据;
●发送正常结束。
本发明的高速缓存设备可部署在网络的任意位置,每台设备可服务于某个用户、工作组或一个地理区域。使用何种配置(以及这种高速缓存设备与客户站点相集成)取决于所需的高速缓存类型。
高速缓存设备的使用与配置共有六种:
解决方案一:正向代理
解决方案二:反向代理
解决方案三:分层部署
解决方案四:Web服务器加速组
解决方案五:全球镜像
解决方案六:集群
解决方案一:正向代理
正向代理即加速客户端浏览器的上网浏览速度,主要适用于企业、ISP、学校、政府机构等单位。正向代理能大大缩短客户的访问时间,减少带宽的占用,节省网络链路费用。
正向代理的优点是:
●有效地降低企业的网络运营费用
--随着网络流量减少,大大节省了按流量计费的Internet开支。
●能对访问内容进行过滤
--根据工作学习的需要,设置允许或禁止访问的网站。
●减少网络链路拥塞
--Internet的访问请求在局域网内得到响应处理,减少Internet带宽的占用。
●降低网络流量50%
--根据数据访问的重复性,Cache平均拥有50%命中率,使对于外网的数据流量减少50%。
正向代理方案一:常用方式
正向代理的常用方式是加速客户端浏览器的一种最简单的方式。在这种方式下要求所有用户将其浏览器设置为将逸群高速缓存设备作为代理服务器使用。
其高速缓存设备的配置和工作步骤如图2所示。
其工作步骤是:
1.浏览器从高速缓存设备01请求一个初始服务器的Web页面。
2.高速缓存设备01从域名服务器02获得数字IP地址。
3.高速缓存设备01从原始网络服务器03获得请求的对象。
4.高速缓存设备01将收到的对象存储下来并将副本转发给浏览器04。
5.高速缓存设备01无需访问域名服务器02或原始网络服务器03即可处理相同页面的后续请求。
正向代理方案二:透明代理(如图3所示)
透明代理是正向代理的增强方式,也属于加速客户端浏览器的范畴。它是正向代理的优化,与正向代理的区别在于无须客户端浏览器做设置。
其工作步骤是:
1.浏览器04从原始网络服务器03请求一个Web页面。第四层交换机06中途截获并判断是否为HTTP请求。若是,则把它转发给高速缓存设备01。
2.高速缓存设备01从域名服务器02获得数字IP地址。
3.高速缓存设备01从原始网络服务器03获得请求对象。
4.高速缓存设备01将收到的对象存储下来并将副本转发给浏览器04。
5.高速缓存设备01无需访问域名服务器02或原始网络服务器03即可处理相同页面的后续请求。
解决方案二:反向代理
所谓反向代理,即加速Web服务器端的响应速度,主要适用于ICP、从事电子交易和电子商务的公司、拥有Web服务器的企业用户等。这种代理方式能大大降低Web服务器端的负载,是ICP等用户降低Web服务器负载、提高性能的首选方案。
反向代理的优点:
●增加Web服务器的性能和可伸缩性
--在Web服务器前端处理访问请求,全面减轻服务器日益严重的负担。
●增加安全性
--代替服务器处理请求响应,有效防止Web服务器受到黑客攻击。
●增强可靠性
--减少服务器由于过载导致的荡机情况,提供24x7x365的响应,并具有自动灾难恢复功能。
●易于管理
--plug-In-Forget,无须专业人员监督管理。
●减少Web服务器的硬件成本
--用一台Cache设备替代数台Web服务器实现同等功能,大大减少硬件成本。
反向代理方案一:常用方式
比较适合中小ICP。这种方式可大大加速ICP的Web服务器的响应速度,解决随网站成长,不断增长的点击量所造成的服务器负载严重超标,用户无法及时登录的问题。
其配置和工作步骤如图4所示,其步骤包括:
1.Web上的浏览器04请求一个原始网络服务器03的页面。与往常一样,这样会向域名服务器02产生一个要求该Web服务器IP地址的请求。
2.域名服务器02不会返回原始网络服务器03的数字IP地址,而是返回高速缓存设备01的IP地址。
3.浏览器04利用高速缓存设备01的IP地址请求Web页面。
4.高速缓存设备01从原始网络服务器03获得Web请求对象。
5.高速缓存设备01对此内容进行复制并返回给浏览器04。若以后再有客户需要相同的内容,则可直接从该高速缓存设备01中获取。
反向代理方案二:增强方式(与四层交换机配合使用)
适合较大型ICP。可大大降低网站访问量最大的一组Web服务器的负载,减少客户端等待时间。通过设置Cache,与四层交换机配合,可实现多台高速缓存设备的负载均衡。
其配置和工作步骤如图5所示,其步骤包括:
1.Internet上的浏览器04发出请求,要访问原始网络服务器03。
2.域名服务器02服务器解析出原始网络服务器03的IP地址,并返回给客户端浏览器04。
3.客户端浏览器04通过该IP地址向第四层交换机06发出请求。
4.第四层交换机06上的Internet接入端口会对所有进入的包进行分析,若是至原始网络服务器03的HTTP请求,则将该请求转发给高速缓存设备01。
5.高速缓存设备01向原始网络服务器03发出请求。
6.原始网络服务器03将内容返回给高速缓存设备01。
7.高速缓存设备01在自己的缓存中保存内容,并将副本返回给客户端。若以后再有客户需要相同的内容,则可直接从高速缓存中获取。
解决方案三:分层部署
通过将多台高速缓存设备分层部署在网络的不同位置,为高速缓存设备增设一级高速缓存,从而提高响应速度,全面优化网络环境。
分层部署的优点:
●加快响应速度
--更多的Web请求不必直接到Web服务器,能在本地(或相对较近的距离内)获得响应,提高了响应速度。
●降低Internet访问流量
--减少Internet访问流量,从而充分利用Internet带宽。
分层部署的方案如图6所示,其使用步骤如下:
1.ICP客户端接受浏览器的一个未被缓存于高速缓存设备上的Web页面的请求。
2.ICP客户端发送一个队列请求给其ICP同层成员和ICP上层成员。
3.如层成员有请求对象的副本,即将该副本返回给ICP客户端。
4.如果ICP同层成员和ICP上层成员响应失败或请求超时,ICP客户端再选择一个ICP上层成员发出对对象的直接请求。
5.ICP上层成员通过其分层或原始网络服务器03获取请求对象。
6.ICP上层成员把请求对象返回给ICP客户端。
7.ICP客户端对此内容进行复制并返回给浏览器。
解决方案四:WEB服务器加速组
通过为一台Web服务器配置一组加速器,有效地提供容错保护功能,并使Web服务器具备更好的性能。
Web服务器加速组的优点:
●提供负载均衡,增加系统性能及吞吐量
--利用域名服务器02的Round Robin功能,将服务均衡分配到加速组中的各个成员,从而使系统性能和吞吐量得到明显改善。
●降低Internet访问流量
--减少Internet访问流量,从而充分利用Internet带宽。
Web服务器加速组的方案如图7所示,其使用步骤如下:
1.Web上浏览器04发出对原始网络服务器03的Web页面的请求。同往常一样,向域名服务器02请求一个原始网络服务器03的IP地址。
2.域名服务器02以循环方式返回IP地址。
3.浏览器04通过域名服务器02返回的IP地址请求Web页面。
4.如请求超时,浏览器04通过另外一个IP地址重新提出请求,从而提供了高可用性。
5.高速缓存设备01从原始网络服务器03获取任何未被缓存的对象。
6.高速缓存设备01对此内容进行复制并返回给浏览器04。
7.高速缓存设备01处理相同对象的请求,而无须访问原始网络服务器03。
8.对于每一次相同域名的请求,域名服务器02交换一次IP地址的次序,从而通过高速缓存设备01组提供了一定的负载平衡。
解决方案五:全球镜像
为提高Internet在本地的响应速度,远程Web站点往往会在本地设立镜像服务器。现采用Web Cache替代该镜像服务器,实现全球镜像。
全球镜像的优点
●提高远程Web站点在本地的响应速度
--减少数据远程传输,使请求在距离最近的服务器上获得响应。
●减少本地镜像Web站点的硬件成本
--用高速缓存设备替代镜像站点,减少镜像服务器群的硬件投资成本。
●不需要考虑传统镜像站点的数据同步问题
--根据访问需求,只对有效数据做更新,无须考虑整个站点全部数据的更新传输。
●降低网络运营成本
--降低了网络数据的流量,节省了网络带宽。
●易于管理,增强可靠性、安全性
--人性化的管理界面,简单易用。
●获得更好的服务质量
--提高响应速度,优化服务质量,为您获得更多用户。
全球镜像的方案如图8所示,其工作步骤如下:
1.Web上浏览器04发出对原始网络服务器03的Web页面的请求。同往常一样,向Internet本地域名服务器02请求该远程原始网络服务器03的IP地址。
2.Internet本地域名服务器02不返回原始网络服务器03的初始地址,而是返回Internet本地镜像站点高速缓存设备01的IP地址。
3.浏览器04用高速缓存设备01的IP地址请求Web页面。
4.如高速缓存设备01没有该请求内容,则从远程原始网络服务器03获得Web页面。
5.高速缓存设备01对此内容进行复制并返回给浏览器04。
解决方案六:集群
通过将多台高速缓存设备组成集群的工作方式,并把多个服务分配到集群上,增强系统的容错性,提高网络的可靠性及可用性。集群的优点:
●智能性
--集群中分配的服务会自动调节,从而实现任务平均分配。
●容错性
--分配给集群的服务能自动提供容错保护。其中一台高速缓存设备因任何原因不能正常工作,原先分配给它的服务就会重新分配给其余的高速缓存设备。
集群的方案如图9所示,其工作原理过程是:
1.当集群功能在集群标签中被设置允许时,高速缓存设备01被分配为集群的成员。正向、透明和反向代理就如单个高速缓存设备01一样设置。
2.客户端浏览器04发出正向/透明代理请求。
3.集群成员通过心跳监测(heart-beat packet)相互间通信各自的状态。
4.当集群中某一成员的功能发生故障,其所承担的服务将会分派给集群中的其它成员。
5.当客户有FTP下载请求时,高速缓存设备01可以使客户直接与原始网络服务器03连接进行下载,减少高速缓存设备服务器01的负载压力。