互联网资源获取方法、装置及互联网缓存系统
技术领域
本发明属于互联网缓存技术领域,尤其涉及一种互联网资源获取方法、装置及互联网缓存系统。
背景技术
随着互联网的发展,互联网流量在迅猛地增加,互联网流量的增加速度远远超过了网络出口增加的速度。随之带来的问题就是网络出口带宽的不足,解决网络出口带宽不足的其中一个解决办法就是在网络中部署互联网缓存系统。
当用户请求访问的外部资源已经被互联网缓存系统缓存时,用户从互联网缓存系统获取该外部资源,但是传统的互联网缓存系统把待缓存的资源作为一个文件存储在某一硬盘上,当多个用户同时访问一个资源时,由于机械硬盘的读写速率存在瓶颈,导致互联网缓存系统I/O(input/output,输入/输出端口),资源性能不足,出现用户访问资源慢、卡,甚至无法访问的情况。
发明内容
有鉴于此,本发明实施例提供了一种互联网资源获取方法、装置及互联网缓存系统,以解决现有技术中多个用户同时访问一个资源时,互联网缓存系统I/O资源性能不足的问题。
本发明实施例的第一方面,提供了一种互联网资源获取方法,包括:
接收镜像设备发送的第一用户终端对目标互联网资源的获取请求;
根据所述获取请求对所述目标互联网资源的请求次数进行更新;
当更新后的所述请求次数达到预设次数阈值时,获取所述目标互联网资源在第一缓存服务器的第一资源存储位置;
将所述第一资源存储位置分别发送至第二缓存服务器和所述第一用户终端,以使所述第一用户终端根据所述第一资源存储位置获取所述目标互联网资源;
在所述第二缓存服务器根据所述第一资源存储位置获取所述目标互联网资源并存储后,接收所述第二缓存服务器发送的所述目标互联网资源的第二资源存储位置;
当接收所述镜像设备发送的第二用户终端对所述目标互联网资源的获取请求时,将所述第二资源存储位置或所述第一资源存储位置发送至所述第二用户终端,以使所述第二用户终端根据所述第二资源存储位置或所述第一资源存储位置,获取所述目标互联网资源。
本发明实施例的第二方面,提供了一种互联网资源获取装置,包括:
资源获取请求接收模块,用于接收镜像设备发送的第一用户终端对目标互联网资源的获取请求;
资源请求次数更新模块,用于根据所述获取请求对所述目标互联网资源的请求次数进行更新;
资源存储位置获取模块,用于当更新后的所述请求次数达到预设次数阈值时,获取所述目标互联网资源在第一缓存服务器的第一资源存储位置;
第一资源获取模块,用于将所述第一资源存储位置分别发送至第二缓存服务器和所述第一用户终端,以使所述第一用户终端根据所述第一资源存储位置获取所述目标互联网资源;
资源存储位置接收模块,用于在所述第二缓存服务器根据所述第一资源存储位置获取所述目标互联网资源并存储后,接收所述第二缓存服务器发送的所述目标互联网资源的第二资源存储位置;
第二资源获取模块,用于当接收所述镜像设备发送的第二用户终端对所述目标互联网资源的获取请求时,将所述第二资源存储位置或所述第一资源存储位置发送至所述第二用户终端,以使所述第二用户终端根据所述第二资源存储位置或所述第一资源存储位置,获取所述目标互联网资源。
本发明实施例的第二方面,提供了一种互联网缓存系统,包括:
镜像设备,用于将第一用户终端对目标互联网资源的获取请求发送到重定向设备;
第一缓存服务器,用于将所述目标互联网资源的第一资源存储位置发送到所述重定向设备;
重定向设备,用于根据所述获取请求对所述目标互联网资源的请求次数进行更新;当更新后的所述请求次数达到预设次数阈值时,获取所述第一资源存储位置;将所述第一资源存储位置分别发送至第二缓存服务器和所述第一用户终端,以使所述第一用户终端根据所述第一资源存储位置获取所述目标互联网资源;接收第二缓存服务器发送的所述目标互联网资源的第二资源存储位置;当接收所述镜像设备发送的第二用户终端对所述目标互联网资源的获取请求时,将所述第二资源存储位置或所述第一资源存储位置发送至所述第二用户终端,以使所述第二用户终端根据所述第二资源存储位置或所述第一资源存储位置,获取所述目标互联网资源;
第二缓存服务器,用于在根据所述第一资源存储位置获取所述目标互联网资源并存储后,将所述第二资源存储位置发送到所述重定向设备。
与现有技术相比,本发明实施例的有益效果为:本发明互联网资源获取方法、装置及互联网缓存系统,由于在访问目标互联网资源的次数达到预设阈值时,将目标互联网资源存储在第一缓存服务器和第二缓存服务器中,当用户再次访问目标互联网资源时,可以通过目标互联网资源在第一缓存服务器上的资源存储位置获取目标互联网资源,或者通过目标互联网资源在第二缓存服务器上的资源存储位置获取目标互联网资源,解决了由于高并发访问互联网资源带来的资源访问慢、卡,甚至无法访问的问题,提高互联网缓存系统I/O性能,增加互联网缓存系统资源吐出能力。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的互联网资源获取方法流程图;
图2是本发明实施例二提供的互联网资源获取装置的结构框图;
图3是本发明实施例三提供的互联网缓存系统的示意框图;
图4是本发明实施例四提供的基于图3所示系统一个具体示例中互联网缓存系统的工作流程图一;
图5是本发明实施例四提供的基于图3所示系统一个具体示例中互联网缓存系统的工作流程图二。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一:
图1中示出本发明实施例一提供的互联网资源获取方法的实现流程,在该实施例中,是以重定向设备的处理过程为例进行说明,这里,重定向(Redirect)就是将用户终端的资源访问请求重新定向到其它位置,例如将用户终端的资源访问请求重新定向到缓存服务器。
如图1所示,在该实施例中,重定向设备的处理过程详述如下:
步骤S101,接收镜像设备发送的第一用户终端对目标互联网资源的获取请求。
这里,镜像(Mirroring)是冗余的一种类型,一个磁盘上的数据在另一个磁盘上存在一个完全相同的副本即为镜像。
具体地,镜像设备的具体设备形式有两种:
第一:网络交换机做端口数据镜像,把网络内所有的数据通过配置镜像到网络交换机的一个物理端口,这里网络交换机的角色就是一台镜像设备;
第二:通过光纤的分光器,分光器接入到网络内,把传输在光纤网络上的数据进行分光,分出来的一路光接入光纤收发器,把光信号转换成电信号,这里的分光器和光纤收发器为镜像设备。
其中,用户终端包括手机、笔记本、平板电脑等。
上述互联网资源即Web(World Wide Web,全球广域网)资源,为放在Internet网上供外界访问的文件或程序等。
在HTTP(Hyper Text Transfer Protocol,超文本传输协议)协议之下,上述获取请求可以为GET请求,其是HTTP的一个标准请求报文,获取请求里面包含很多内容,主要是对用户终端要请求的互联网资源的描述,即用户终端要访问哪个资源文件,例如获取请求中携带有目标互联网资源的身份标识。
其中,身份标识是指能够证明身份的凭证,例如姓名、编号等。
具体地,每个互联网资源都有一个唯一的身份标识,它包含能够证明互联网资源身份的凭证。
步骤S102,根据所述获取请求对所述目标互联网资源的请求次数进行更新。
这里,可以通过计数器,对接收到的对目标互联网资源的请求次数进行记录,每接收到一次获取请求,计数器加一。
步骤S103,当更新后的所述请求次数达到预设次数阈值时,获取所述目标互联网资源在第一缓存服务器的第一资源存储位置。
具体地,获取目标互联网资源的第一资源存储位置的方式可以为:根据上述获取请求中目标互联网资源的身份标识,在第一缓存服务器缓存资源的身份标识与资源存储位置的第一对应关系中,确定与目标互联网资源的身份标识对应的第一资源存储位置。
这里,第一缓存服务器缓存资源的身份标识与资源存储位置的第一对应关系可以如表1所示:
表1缓存资源的身份标识与资源存储位置的第一对应关系表
缓存资源的身份标识 |
资源存储位置 |
A |
http://url/config?tab=0 |
B |
http://url/config?tab=1 |
C |
http://url/config?tab=3 |
这里,可以根据实际情况设置预设次数阈值,例如根据缓存资源的类型、大小等设置预设次数阈值,当对目标互联网资源的请求次数等于预设次数阈值时,获取第一缓存服务器中目标互联网资源的资源存储位置。
其中,缓存指的是将需要频繁访问的网络内容存放在离用户较近、访问速度更快的系统中,以提高内容访问速度的一种技术。缓存服务器就是存放频繁访问内容的服务器。
步骤S104,将所述第一资源存储位置分别发送至第二缓存服务器和所述第一用户终端,以使所述第一用户终端根据所述第一资源存储位置获取所述目标互联网资源。
这里,直接将第一资源存储位置发送给第一用户终端,使用户快速访问资源,并将第一资源存储位置发送至第二缓存服务器,由第二缓存服务器缓存资源,增加互联网缓存系统的I/O吐出能力。
步骤S105,在所述第二缓存服务器根据所述第一资源存储位置获取所述目标互联网资源并存储后,接收所述第二缓存服务器发送的所述目标互联网资源的第二资源存储位置。
具体地,第二缓存服务器根据第一资源存储位置获取目标互联网资源并进行存储,即拷贝一份目标互联网资源至第二缓存服务器本地,然后向重定向设备返回目标互联网资源在第二缓存服务器的资源存储位置,即第二资源存储位置为目标互联网资源在第二缓存服务器的资源存储位置。
步骤S106,当接收所述镜像设备发送的第二用户终端对所述目标互联网资源的获取请求时,将所述第二资源存储位置或所述第一资源存储位置发送至所述第二用户终端,以使所述第二用户终端根据所述第二资源存储位置或所述第一资源存储位置,获取所述目标互联网资源。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
从以上描述可知,本发明互联网资源获取方法,由于在访问目标互联网资源的次数达到预设阈值时,将目标互联网资源存储在第一缓存服务器和第二缓存服务器中,当用户再次访问目标互联网资源时,可以通过目标互联网资源在第一缓存服务器上的资源存储位置获取目标互联网资源,或者通过目标互联网资源在第二缓存服务器上的资源存储位置获取目标互联网资源,解决了由于高并发访问互联网资源带来的资源访问慢、卡,甚至无法访问的问题,提高互联网缓存系统I/O性能,增加互联网缓存系统资源吐出能力。
此外,在一个具体示例中,将所述第二资源存储位置或所述第一资源存储位置发送至所述第二用户终端包括:
获取所述第一缓存服务器的当前资源并发请求个数和所述第二缓存服务器的当前资源并发请求个数;
当所述第一缓存服务器的当前资源并发请求个数大于所述第二缓存服务器的当前资源并发请求个数时,将所述第二资源存储位置发送至所述第二用户终端,以使所述第二用户终端根据所述第二资源存储位置获取所述目标互联网资源;当所述第一缓存服务器的当前资源并发请求个数小于或等于所述第二缓存服务器的当前资源并发请求个数时,将所述第一资源存储位置发送至所述第二用户终端,以使所述第二用户终端根据所述第一资源存储位置获取所述目标互联网资源。
这里,考虑到缓存服务器的当前资源并发请求数目,在给用户终端做重定向时做了均衡处理,将用户终端对目标互联网资源的获取请求重定向到当前资源并发请求数目少的缓存服务器上,充分利用该缓存服务器的I/O性能,提高目标互联网资源的获取速度。
此外,将所述第二资源存储位置或所述第一资源存储位置发送至所述第二用户终端包括:
判断上一次接收到所述镜像设备发送的第三用户终端对所述目标互联网资源的获取请求后,是否将所述第一资源存储位置发送至所述第三用户终端;
当判定将所述第一资源存储位置发送至所述第三用户终端时,将所述第二资源存储位置发送至所述第二用户终端,以使所述第二用户终端根据所述第二资源存储位置获取所述目标互联网资源;当判定将所述第二资源存储位置发送至所述第三用户终端时,将所述第一资源存储位置发送至所述第二用户终端,以使所述第二用户终端根据所述第一资源存储位置获取所述目标互联网资源。
这里,若将上一次第三用户终端对目标互联网资源的获取请求重定向到第一缓存服务器上,则将第二用户终端对目标互联网资源的获取请求重定向到第二缓存服务器,以此类推,对目标互联网资源的访问进行均衡,增加互联网缓存系统的I/O吐出能力。
此外,在一个具体示例中,所述互联网资源获取方法还包括:
当更新后的所述请求次数达到所述预设次数阈值时,对在所述第一缓存服务器存储的所述目标互联网资源添加热点标记。
对目标互联网资源添加热点标记,即将目标互联网资源标定为热点资源,方便后续处理,例如当用户终端访问资源a时,通过热点标记确定资源a为热点资源,由于热点资源同时存储在第一缓存服务器和第二缓存服务器,用户终端可以向第一缓存服务器或第二缓存服务器请求资源a,避免高并发访问热点资源出现资源访问慢、卡,甚至无法访问的问题。
此外,在一个具体示例中,所述互联网资源获取方法还包括:
当更新后的所述请求次数低于所述预设次数阈值时,查找所述第一资源存储位置;
当查找到所述第一资源存储位置时,将所述第一资源存储位置发送至所述第一用户终端,以使所述第一用户终端根据所述第一资源存储位置获取所述目标互联网资源;当没有查找到所述第一资源存储位置时,将所述获取请求发送至互联网,接收所述互联网返回的所述目标互联网资源,将所述目标互联网资源分别发送至所述第一用户终端和所述第一缓存服务器,在所述第一缓存服务器存储所述目标互联网资源后,接收所述第一缓存服务器发送的缓存资源的身份标识与资源存储位置的第三对应关系。
这里,当更新后的请求次数低于预设次数阈值时,查找第一缓存服务器是否存储目标互联网资源的资源存储位置,若存储,直接将第一缓存服务器中目标互联网资源的资源存储位置发送给第一用户终端,否则,向外部互联网发送获取请求,从外部互联网获取目标互联网资源,并将获取的目标互联网资源分别发送给第一用户终端和第一缓存服务器,接收第一缓存服务器存储目标互联网资源后发送的目标互联网资源的资源存储位置,下次再有用户终端访问目标互联网资源,可以直接访问第一缓存服务器缓存的资源,提高用户访问资源速度,满足实际应用需要。
实施例二
对应于上文实施例所述的互联网资源获取方法,图2示出了本发明实施例提供的互联网资源获取装置的结构框图,为了便于说明,仅示出了与本实施例相关的部分。
参照图2,该装置包括资源获取请求接收模块201、资源请求次数更新模块202、资源存储位置获取模块203、第一资源获取模块204、资源存储位置接收模块205和第二资源获取模块206。
资源获取请求接收模块201,用于接收镜像设备发送的第一用户终端对目标互联网资源的获取请求;
资源请求次数更新模块202,用于根据所述获取请求对所述目标互联网资源的请求次数进行更新;
资源存储位置获取模块203,用于当更新后的所述请求次数达到预设次数阈值时,获取所述目标互联网资源在第一缓存服务器的第一资源存储位置;
第一资源获取模块204,用于将所述第一资源存储位置分别发送至第二缓存服务器和所述第一用户终端,以使所述第一用户终端根据所述第一资源存储位置获取所述目标互联网资源;
资源存储位置接收模块205,用于在所述第二缓存服务器根据所述第一资源存储位置获取所述目标互联网资源并存储后,接收所述第二缓存服务器发送的所述目标互联网资源的第二资源存储位置;
第二资源获取模块206,用于当接收所述镜像设备发送的第二用户终端对所述目标互联网资源的获取请求时,将所述第二资源存储位置或所述第一资源存储位置发送至所述第二用户终端,以使所述第二用户终端根据所述第二资源存储位置或所述第一资源存储位置,获取所述目标互联网资源。
如图2所示,在一个具体实施例中,所述第二资源获取模块206包括:
资源请求个数获取单元2061,用于获取所述第一缓存服务器的当前资源并发请求个数和所述第二缓存服务器的当前资源并发请求个数;
第一资源获取单元2062,用于当所述第一缓存服务器的当前资源并发请求个数大于所述第二缓存服务器的当前资源并发请求个数时,将所述第二资源存储位置发送至所述第二用户终端,以使所述第二用户终端根据所述第二资源存储位置获取所述目标互联网资源;当所述第一缓存服务器的当前资源并发请求个数小于或等于所述第二缓存服务器的当前资源并发请求个数时,将所述第一资源存储位置发送至所述第二用户终端,以使所述第二用户终端根据所述第一资源存储位置获取所述目标互联网资源。
如图2所示,在一个具体实施例中,所述第二资源获取模块206包括:
资源位置判断单元2063,用于判断上一次接收到所述镜像设备发送的第三用户终端对所述目标互联网资源的获取请求后,是否将所述第一资源存储位置发送至所述第三用户终端;
第二资源获取单元2064,用于当判定将所述第一资源存储位置发送至所述第三用户终端时,将所述第二资源存储位置发送至所述第二用户终端,以使所述第二用户终端根据所述第二资源存储位置获取所述目标互联网资源;当判定将所述第二资源存储位置发送至所述第三用户终端时,将所述第一资源存储位置发送至所述第二用户终端,以使所述第二用户终端根据所述第一资源存储位置获取所述目标互联网资源。
如图2所示,在一个具体实施例中,所述互联网资源获取装置还包括:
热点标记添加模块207,用于当更新后的所述请求次数达到所述预设次数阈值时,对在所述第一缓存服务器存储的所述目标互联网资源添加热点标记。
如图2所示,在一个具体实施例中,所述互联网资源获取装置还包括:
资源存储位置查找模块208,用于当更新后的所述请求次数低于所述预设次数阈值时,查找所述第一资源存储位置;
第三资源获取模块209,用于当查找到所述第一资源存储位置时,将所述第一资源存储位置发送至所述第一用户终端,以使所述第一用户终端根据所述第一资源存储位置获取所述目标互联网资源;当没有查找到所述第一资源存储位置时,将所述获取请求发送至互联网,接收所述互联网返回的所述目标互联网资源,将所述目标互联网资源分别发送至所述第一用户终端和所述第一缓存服务器,在所述第一缓存服务器存储所述目标互联网资源后,接收所述第一缓存服务器发送的缓存资源的身份标识与资源存储位置的第三对应关系。
从以上描述可知,本发明互联网资源获取装置,由于在访问目标互联网资源的次数达到预设阈值时,将目标互联网资源存储在第一缓存服务器和第二缓存服务器中,当用户再次访问目标互联网资源时,可以通过目标互联网资源在第一缓存服务器上的资源存储位置获取目标互联网资源,或者通过目标互联网资源在第二缓存服务器上的资源存储位置获取目标互联网资源,解决了由于高并发访问互联网资源带来的资源访问慢、卡,甚至无法访问的问题,提高互联网缓存系统I/O性能,增加互联网缓存系统资源吐出能力。
实施例三
图3示出了本发明实施例提供的互联网缓存系统的示意框图,为了便于说明,仅示出了与本实施例相关的部分。
如图3所示,该互联网缓存系统包括镜像设备301、第一缓存服务器302、重定向设备303和第二缓存服务器304。
镜像设备301,用于将第一用户终端对目标互联网资源的获取请求发送到重定向设备;
第一缓存服务器302,用于将所述目标互联网资源的第一资源存储位置发送到所述重定向设备;
重定向设备303,用于根据所述获取请求对所述目标互联网资源的请求次数进行更新;当更新后的所述请求次数达到预设次数阈值时,获取所述第一资源存储位置;将所述第一资源存储位置分别发送至第二缓存服务器和所述第一用户终端,以使所述第一用户终端根据所述第一资源存储位置获取所述目标互联网资源;接收第二缓存服务器发送的所述目标互联网资源的第二资源存储位置;当接收所述镜像设备发送的第二用户终端对所述目标互联网资源的获取请求时,将所述第二资源存储位置或所述第一资源存储位置发送至所述第二用户终端,以使所述第二用户终端根据所述第二资源存储位置或所述第一资源存储位置,获取所述目标互联网资源;
第二缓存服务器304,用于在根据所述第一资源存储位置获取所述目标互联网资源并存储后,将所述第二资源存储位置发送到所述重定向设备。
此外,在一个具体示例中,所述重定向设备303将所述第二资源存储位置或所述第一资源存储位置发送至所述第二用户终端包括:
获取所述第一缓存服务器的当前资源并发请求个数和所述第二缓存服务器的当前资源并发请求个数;
当所述第一缓存服务器的当前资源并发请求个数大于所述第二缓存服务器的当前资源并发请求个数时,将所述第二资源存储位置发送至所述第二用户终端,以使所述第二用户终端根据所述第二资源存储位置获取所述目标互联网资源;当所述第一缓存服务器的当前资源并发请求个数小于或等于所述第二缓存服务器的当前资源并发请求个数时,将所述第一资源存储位置发送至所述第二用户终端,以使所述第二用户终端根据所述第一资源存储位置获取所述目标互联网资源。
此外,在一个具体示例中,所述重定向设备303将所述第二资源存储位置或所述第一资源存储位置发送至所述第二用户终端包括:
判断上一次接收到所述镜像设备发送的第三用户终端对所述目标互联网资源的获取请求后,是否将所述第一资源存储位置发送至所述第三用户终端;
当判定将所述第一资源存储位置发送至所述第三用户终端时,将所述第二资源存储位置发送至所述第二用户终端,以使所述第二用户终端根据所述第二资源存储位置获取所述目标互联网资源;当判定将所述第二资源存储位置发送至所述第三用户终端时,将所述第一资源存储位置发送至所述第二用户终端,以使所述第二用户终端根据所述第一资源存储位置获取所述目标互联网资源。
此外,在一个具体示例中,所述重定向设备303还用于:
当更新后的所述请求次数达到所述预设次数阈值时,对在所述第一缓存服务器存储的所述目标互联网资源添加热点标记。
此外,在一个具体示例中,所述重定向设备303还用于:
当更新后的所述请求次数低于所述预设次数阈值时,查找所述第一资源存储位置;
当查找到所述第一资源存储位置时,将所述第一资源存储位置发送至所述第一用户终端,以使所述第一用户终端根据所述第一资源存储位置获取所述目标互联网资源;当没有查找到所述第一资源存储位置时,将所述获取请求发送至互联网,接收所述互联网返回的所述目标互联网资源,将所述目标互联网资源分别发送至所述第一用户终端和所述第一缓存服务器,在所述第一缓存服务器存储所述目标互联网资源后,接收所述第一缓存服务器发送的缓存资源的身份标识与资源存储位置的第三对应关系。
从以上描述可知,本发明互联网缓存系统,由于在访问目标互联网资源的次数达到预设阈值时,将目标互联网资源存储在第一缓存服务器和第二缓存服务器中,当用户再次访问目标互联网资源时,可以通过目标互联网资源在第一缓存服务器上的资源存储位置获取目标互联网资源,或者通过目标互联网资源在第二缓存服务器上的资源存储位置获取目标互联网资源,解决了由于高并发访问互联网资源带来的资源访问慢、卡,甚至无法访问的问题,提高互联网缓存系统I/O性能,增加互联网缓存系统资源吐出能力。
实施例四
为了更好地理解上述系统,以下详细阐述一个本发明互联网缓存系统的应用实例,该实施例以地铁内部署的互联网缓存系统为例。
地铁环境下部署了地铁WIFI(无线网)网络,为地铁内的乘客提供WIFI网络接入服务,WIFI网络中用户终端全是呈现为移动客户端(手机、PAD(平板电脑)等),全移动客户端环境下缓存文件都是小文件(短视频、图片、APP(应用程序)包),而且缓存的文件呈现热点资源集中高并发访问特征。例如一款APP推出了更新包,地铁内的所有连接上WIFI的用户终端会同时更新,这些用户终端都被重定向访问互联网缓存系统已经缓存在缓存服务器上的APP更新包。以下详细阐述用户终端通过互联网缓存系统访问互联网资源的过程。
如图4所示,上述互联网缓存系统包括镜像设备、第一缓存服务器、重定向设备和第二缓存服务器。
第一用户终端发送对互联网资源A的GET请求到外部WEB资源,该GET请求包括互联网资源A的身份标识。
这里,Web资源为放在Internet网上供外界访问的文件或程序等。
GET请求是HTTP的一个标准请求报文,获取请求里面包含很多内容,主要是对用户终端要请求的互联网资源的描述,即用户终端要访问哪个资源文件。
镜像设备将第一用户终端对互联网资源A的GET请求发送到重定向设备。
具体地,镜像设备获取数据有两种方式:
第一:网络交换机做端口数据镜像,把网络内所有的数据通过配置镜像到交换机的一个物理端口,这里网络交换机的角色就是一台镜像设备;
第二:通过光纤的分光器,分光器接入到网络内,把传输在光纤网络上的数据进行分光,分出来的一路光接入光纤收发器,把光信号转换成电信号,这里的分光器和光纤收发器为镜像设备。
第一缓存服务器将缓存资源的身份标识与资源存储位置的第一对应关系发送到重定向设备。
这里,缓存服务器就是存放频繁访问内容的服务器。
重定向设备根据上述互联网资源A的GET请求更新记录的对互联网资源A的请求次数,当更新后的请求次数达到预设次数阈值时,根据上述第一缓存服务器缓存资源的身份标识,确定与互联网资源A的身份标识对应的目标身份标识,对该目标身份标识添加热点标记;根据上述缓存资源的身份标识与资源存储位置的第一对应关系,确定与互联网资源A的身份标识对应的第一资源存储位置;将第一资源存储位置分别发送至第二缓存服务器和第一用户终端,第一用户终端根据第一资源存储位置获取互联网资源A;重定向设备接收第二缓存服务器发送的缓存资源的身份标识与资源存储位置的第二对应关系;
这里,第二缓存服务器根据第一资源存储位置获取并存储互联网资源A,将第二缓存服务器的缓存资源的身份标识与资源存储位置的第二对应关系发送到重定向设备。
具体地,第二缓存服务器根据第一资源存储位置获取互联网资源A并进行存储,即拷贝一份存到第二缓存服务器本地,然后返回重定向设备缓存资源的身份标识与资源存储位置的第二对应关系。
其中,上述预设次数阈值可以根据实际情况设置,当对互联网资源A的请求次数等于预设次数阈值时,获取第一缓存服务器中互联网资源A的资源存储位置,直接将第一资源存储位置发送给第一用户终端,使用户快速访问资源,并将第一资源存储位置发送至第二缓存服务器,以使第二缓存服务器缓存资源,增加互联网缓存系统的I/O吐出能力。
在第一用户终端发送互联网资源A的GET请求后,若有第二用户终端也发送互联网资源A的GET请求到WEB资源。重定向设备判断上一次接收到镜像设备发送的第三用户终端对互联网资源A的GET请求后,是否将第一资源存储位置发送至第三用户终端;当判断结果为是时,将第二资源存储位置发送至第二用户终端,第二用户终端根据第二资源存储位置获取互联网资源A,否则,重定向设备将第一资源存储位置发送至第二用户终端,第二用户终端根据第一资源存储位置获取互联网资源A,这里第二资源存储位置为根据上述缓存资源的身份标识与资源存储位置的第二对应关系,确定的与互联网资源A的身份标识对应的资源存储位置。
这里,在给用户终端做重定向时做了均衡处理,若上一次将第三用户终端对互联网资源A的GET请求重定向到第一缓存服务器上,则将第二用户终端对互联网资源A的GET请求重定向到第二缓存服务器,以此类推,增加互联网缓存系统的I/O吐出能力。
另外,当更新后的请求次数低于预设次数阈值时,重定向设备根据缓存资源的身份标识与资源存储位置的第一对应关系,查找到与互联网资源A的身份标识对应的第一资源存储位置,将第一资源存储位置发送至第一用户终端,第一用户终端根据第一资源存储位置获取互联网资源A,否则,重定向设备将互联网资源A的GET请求发送至外部WEB资源,接收外部WEB资源发送的互联网资源A,将互联网资源A分别发送至第一用户终端和第一缓存服务器,接收第一缓存服务器在存储互联网资源A后,发送的缓存资源的身份标识与资源存储位置的第三对应关系。
具体地,当更新后的请求次数低于预设次数阈值时,查找第一缓存服务器是否存储互联网资源A的资源存储位置,若存储,直接将第一缓存服务器中互联网资源A的资源存储位置发送给第一用户终端,否则,向外部Web资源发送获取请求,从外部Web资源获取互联网资源A,并将获取的互联网资源A分别发送给第一用户终端和第一缓存服务器,接收第一缓存服务器存储互联网资源A后发送的互联网资源A的资源存储位置,下次再有用户终端访问互联网资源A,可以直接访问第一缓存服务器缓存的资源,提高用户访问资源速度。
从以上描述可知,本实施例由于在访问互联网资源A的次数达到预设阈值时,将互联网资源A存储在第一缓存服务器和第二缓存服务器中,当用户再次访问互联网资源A时,可以通过互联网资源A在第一缓存服务器上的资源存储位置获取互联网资源A,或者通过互联网资源A在第二缓存服务器上的资源存储位置获取互联网资源A,解决了由于高并发访问互联网资源A带来的资源访问慢、卡,甚至无法访问的问题,提高互联网缓存系统I/O性能,增加互联网缓存系统资源吐出能力。
上述实施例二、三、四中第一用户终端、第二用户终端和第三用户终端是指某一终端,“第一、第二、第三”在此仅为表述和指代的方便,以用于区别不同终端,并不意味着在本发明的具体实现方式中一定会有与之对应的第一用户终端、第二用户终端和第三用户终端。
同理,上述实施例二、三、四中“第一缓存服务器和第二缓存服务器”、“第一资源存储位置和第二资源存储位置”、“第一资源获取模块、第二资源获取模块和第三资源获取模块”和“缓存资源的身份标识与资源存储位置的第一对应关系、缓存资源的身份标识与资源存储位置的第二对应关系和缓存资源的身份标识与资源存储位置的第三对应关系”参照上述论述。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。