服务器缓存处理方法、装置及系统与流程

文档序号:11843294阅读:225来源:国知局
服务器缓存处理方法、装置及系统与流程

本发明涉及通信领域,具体而言,涉及一种服务器缓存处理方法、装置及系统。



背景技术:

目前网络加速技术已经成为一项热门技术,技术的核心焦点便是如何减少网络带宽,为用户提供正常的网页访问。就访问http静态资源来说,目前的主要手段是部署代理服务器,通过代理服务器从源站获取用户请求资源,代理服务器缓存该资源,并提供用户服务。用户再次访问缓存资源时,由代理服务器提供该资源的用户服务,不用再从源站获取请求资源,从而减少相同资源从源站获取的次数,节省了代理服务器和源站之间的网络带宽。

然而,一般的代理服务器缓存的资源是有时效范围的,时效范围通常是源站决定的,当用户访问超时效的缓存资源时,用户对该资源的访问还要再次从源站获取。但是资源可能未更新,也可能已经更新,对未更新的资源,如果再次从源站获取,又要占用代理服务器和源站之间的带宽资源。

针对相关技术中代理服务器和源站之间的带宽资源消耗较大的问题,目前尚未提出有效的解决方案。



技术实现要素:

针对相关技术中代理服务器和源站之间的带宽资源消耗较大的问题,本发明提供了一种服务器缓存处理方法、装置及系统,以至少解决上述问题。

根据本发明的一个方面,提供了一种服务器缓存处理方法,包括:

代理服务器存储源站发送的用户终端请求的访问资源,以及存储所述访问资源对应的更新检测信息;

在所述用户终端或者其他用户终端向所述代理服务器请求访问所述访问资源,并且所述访问资源的时效已过的情况下,所述代理服务器向所述源站发送所述更新检测信息,确认所述访问资源是否有更新;

在所述访问资源没有更新的情况下,所述代理服务器继续将所述访问资源发送给请求访问的所述用户终端或者其他用户终端。

进一步地,所述方法还包括:

在所述访问资源有更新的情况下,所述代理服务器接收所述源站的新的访问资源,所述代理服务器继续将所述新的访问资源发送给请求访问的所述用户终端或者其他用户终端。

进一步地,所述方法还包括:在所述代理服务器的内存中存储所述访问资源对应的更新检测信息。

进一步地,所述访问资源包括:http静态资源。

根据本发明的另一个方面,还提供了一种服务器缓存处理方法,包括:

源站向代理服务器发送用户终端请求的访问资源,以及所述访问资源对应的更新检测信息;

在所述访问资源的时效已过的情况下,接收所述源站发送的更新检测信息,确认所述访问资源是否有更新;

将所述访问资源是否有更新的消息发送给所述源站。

进一步地,所述方法还包括:在所述访问资源有更新的情况下,所述源站向所述代理服务器发送新的访问资源。

进一步地,所述访问资源包括:http静态资源。

根据本发明的另一个方面,还提供了一种服务器缓存处理装置,包括:

缓存模块,用于代理服务器存储源站发送的用户终端请求的访问资源,以及存储所述访问资源对应的更新检测信息;

第一更新模块,用于在所述用户终端或者其他用户终端向所述代理服务器请求访问所述访问资源,并且所述访问资源的时效已过的情况下,所述代理服务器向所述源站发送所述更新检测信息,确认所述访问资源是否有更新;

第一发送模块,用于在所述访问资源没有更新的情况下,所述代理服务器继续将所述访问资源发送给请求访问的所述用户终端或者其他用户终端。

进一步地,所述装置还包括:

第二发送模块,用于在所述访问资源有更新的情况下,所述代理服务器接收所述源站的新的访问资源,所述代理服务器继续将所述新的访问资源发送给请求访问的所述用户终端或者其他用户终端。

进一步地,所述装置还包括:

内存模块,用于在所述代理服务器的内存中存储所述访问资源对应的更新检测信息。

进一步地,所述访问资源包括:

http静态资源。

根据本发明的另一个方面,还提供了一种服务器缓存处理装置,包括:

第三发送模块,用于源站向代理服务器发送所述用户终端请求的访问资源,以及所述访问资源对应的更新检测信息;

第二更新模块,用于在所述访问资源的时效已过的情况下,接收所述源站发送的更新检测信息,确认所述访问资源是否有更新;

确认模块,用于将所述访问资源是否有更新的消息发送给所述源站。

进一步地,所述装置还包括:

第四发送模块,用于在所述访问资源有更新的情况下,所述源站向所述代理服务器发送新的访问资源。

进一步地,所述访问资源包括:

http静态资源。

根据本发明的另一个方面,还提供了一种服务器缓存处理系统,其特征在于,包括:代理服务器、源站、用户终端;所述代理服务器包括上述装置;所述源站包括上述装置。

通过本发明,代理服务器存储源站发送的用户终端请求的访问资源,以及存储该访问资源对应的更新检测信息;在该用户终端再次请求访问该访问资源,并且该访问资源的时效已过的情况下,该代理服务器向该源站发送该更新检测信息,确认该访问资源是否有更新;在该资源没有更新的情况下,该代理服务器继续将该访问资源发送给该再次请求访问的用户终端,解决了代理服务器和源站之间的带宽资源消耗较大的问题,节省了代理服务器和源站之间的网络带宽。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种服务器缓存处理方法的流程图一;

图2是根据本发明实施例的一种服务器缓存处理方法的流程图二;

图3是根据本发明实施例的一种服务器缓存处理装置的结构框图一;

图4是根据本发明实施例的一种服务器缓存处理装置的结构框图二;

图5是根据本发明优选实施例的代理服务器用户访问http静态资源系统流程示意图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

在本实施例中提供了一种服务器缓存处理方法,图1是根据本发明实施例的一种服务器缓存处理方法的流程图一,如图1所示,该流程包括如下步骤:

步骤S102,代理服务器存储源站发送的用户终端请求的访问资源,以及存储该访问资源对应的更新检测信息;

步骤S104,在该用户终端或者其他用户终端向该代理服务器请求访问该访问资源,并且该访问资源的时效已过的情况下,该代理服务器向该源站发送该更新检测信息,确认该访问资源是否有更新;

步骤S106,在该访问资源没有更新的情况下,该代理服务器继续将该访问资源发送给请求访问的该用户终端或者其他用户终端。

通过上述步骤,在用户终端或者其他的用户终端请求访问同一访问资源,在访问资源的时效已过,且该访问资源没有更新的情况下,代理服务器不用去源站请求发送该访问资源,解决了代理服务器和源站之间的带宽资源消耗较大的问题,节省了代理服务器和源站之间的网络带宽。。

在本实施例中,在该访问资源有更新的情况下,该代理服务器接收该源站的新的访问资源,该代理服务器继续将该新的访问资源发送给请求访问的该用户终端或者其他用户终端。

在本实施例中,在该代理服务器的内存中存储该访问资源对应的更新检测信息,便于该代理服务器和源站之间迅速检索该访问资源是否有更新

在上述实施例中,该访问资源可以为动态资源,也可以为静态资源,例如,可以为http静态资源。

在本实施例中提供了一种服务器缓存处理方法,图2是根据本发明实施例的一种服务器缓存处理方法的流程图二,如图2所示,该流程包括如下步骤:

步骤S202,源站向代理服务器发送用户终端请求的访问资源,以及该访问资源对应的更新检测信息;

步骤S204,在该访问资源的时效已过的情况下,接收该源站发送的更新检测信息,确认该访问资源是否有更新;

步骤S206,将该访问资源是否有更新的消息发送给该源站。

通过上述步骤,在用户终端或者其他的用户终端请求访问同一访问资源,在访问资源的时效已过,且该访问资源没有更新的情况下,源站不用再向代理服务器发送访问资源,解决了代理服务器和源站之间的带宽资源消耗较大的问题,节省了代理服务器和源站之间的网络带宽。。

在本实施例中,在该访问资源有更新的情况下,该源站向该代理服务器发送新的访问资源。

在上述实施例中,该访问资源可以为动态资源,也可以为静态资源,例如,可以为http静态资源。

在本实施例中还提供了一种服务器缓存处理装置,该装置位于终端中。该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图3是根据本发明实施例的一种服务器缓存处理装置的结构框图一,如图3所示,该装置包括:

缓存模块32,用于代理服务器存储源站发送的用户终端请求的访问资源,以及存储该访问资源对应的更新检测信息;

第一更新模块34,用于在该用户终端或者其他用户终端向该代理服务器请求访问该访问资源,并且该访问资源的时效已过的情况下,该代理服务器向该源站发送该更新检测信息,确认该访问资源是否有更新;

第一发送模块36,用于在该资源没有更新的情况下,该代理服务器继续将该访问资源发送给请求访问的该用户终端或者其他用户终端。

通过上述装置,在用户终端或者其他的用户终端请求访问同一访问资源,在访问资源的时效已过,且该访问资源没有更新的情况下,代理服务器不用去源站请求发送该访问资源,解决了代理服务器和源站之间的带宽资源消耗较大的问题,节省了代理服务器和源站之间的网络带宽。。

在本实施例中,该装置还包括:

第二发送模块,用于在该访问资源有更新的情况下,该代理服务器接收该源站的新的访问资源,该代理服务器继续将该新的访问资源发送给该该用户终端或者其他用户终端。

在本实施例中,该装置还包括:

内存模块,用于在该代理服务器的内存中存储该访问资源对应的更新检测信息。

图4是根据本发明实施例的一种服务器缓存处理装置的结构框图二,如图4所示,该装置包括:

第三发送模块42,用于源站向代理服务器发送用户终端请求的访问资源,以及该访问资源对应的更新检测信息;

第二更新模块44,用于在该访问资源的时效已过的情况下,接收该源站发送的更新检测信息,确认该访问资源是否有更新;

确认模块46,用于将该访问资源是否有更新的消息发送给该源站。

通过上述装置,在用户终端或者其他的用户终端请求访问同一访问资源,在访问资源的时效已过,且该访问资源没有更新的情况下,源站不用再向代理服务器发送访问资源,解决了代理服务器和源站之间的带宽资源消耗较大的问题,节省了代理服务器和源站之间的网络带宽。。

在本实施例中,该装置还包括:

第四发送模块,用于在该访问资源有更新的情况下,该源站向该代理服务器发送新的访问资源。

在本实施例中,还提供了一种服务器缓存处理系统,包括:代理服务器、源站、用户终端;该代理服务器包括上述实施例中的装置;该源站包括上述实施例的装置。

下面结合优选实施例和实施方式对本发明进行详细的说明。

在本优选实施例中,使代理服务器能够使用缓存的未更新的超期资源也能提供服务,减少代理服务器和源站之间带宽消耗,本优选实施例的基本思想如下:

代理服务器缓存访问的http静态资源的同时保存源站返回http响应信中可能存在的用于检测该资源是否更新的检测信息,如last_modify,etag。当相同的资源再次通过该代理服务器访问,并且该资源已经过期时,在代理服务器侧设置304终结,并将保存的用于检测该资源是否更新的信息发回源站,如源站该资源已经更新,返回状态码200及更新后的资源给代理服务器,提供给用户服务;否则返回状态码304给代理服务器,由于代理服务器侧设置了304终结,用户访问将在代理服务器提供服务,由代理服务器使用自身已经缓存的超期资源提供服务。

本优选实施例是通过以下技术手段实现的。

网络加速系统中部署代理服务器,用户请求的http静态资源通过代理服务器从源站获取,并且代理服务器缓存访问的http静态资源,提供缓存访问;

代理服务器收到http静态资源请求的响应时,保存响应消息中用于检测该资源是否更新的信息,如last_modify,etag等,保存的信息务必要保证能够快速检索,因此最好保存到内存中。

当代理服务器缓存的http静态资源再次被用户访问,代理服务器判断该资源是否过期,如不过期,则代理服务器缓存命中,代理服务器使用缓存内容为用户提供服务;如资源过期,设置304终结,并检索保存的用于检测该资源是否更新信息,组装新的http访问请求,发送到源站。

源站收到带有用于检测资源是否更新的http静态资源访问请求,判断该资源是否更新,如已经更新,则发送200状态码和更新后的资源到代理服务器,代理服务器向用户提供服务,并且缓存更新的内容;否则,返回304状态码到代理服务器,不发送具体内容,由于设置了304终结,用户请求访问将由该代理服务器服务,代理服务器使用自身缓存的超期资源提供服务。

图5是根据本发明优选实施例的代理服务器用户访问http静态资源系统流程示意图,如图5所示,在本示意图中,用户1,用户2,用户3均指特指一类用户。

S1001,用户1,可特指第一次访问http静态资源的用户,发起http静态资源访问请求到代理服务器。

S1002,代理服务器转发http静态资源访问请求到源站。

S1003,源站响应http访问请求。

S1004,代理服务器保存用于判断资源是否更新的相关信息到内存区域。

S1005,代理服务器使用源站提供的资源内容向用户提供服务。

S1006,用户2,可特指代理服务器缓存资源没有超期情况下访问资源的用户,发起相同的http静态资源请求到代理服务器。

S1007,S1008,代理服务器判断该缓存资源不过期,直接使用代理服务器缓存提供服务,即缓存命中。

S1009,用户3,可特指代理服务器缓存资源超期情况下访问资源的用户,发起相同的http静态请求到代理服务器。

S1010,S1011代理服务器检测到资源过期,设置304终结,并且检索该http请求资源对应的用于资源内容是否更新的相关信息,重新组装http访问请求,携带用于资源内容是否更新的相关信息,发送到源站。

S1012,S1013如http访问请求的资源有更新,则返回200状态码和新内容给代理服务器;否则,返回304状态码到代理服务器且不包含具体内容。

S1014,S1015,代理服务器根据源站返回信息,内容更新则使用新的资源内容为用户提供服务,并且缓该更新资源;否则代理服务器使用服务器自身已经缓存的超期资源内容为用户提供服务。

在本优选实施例中,网络加速的核心就是尽可能少的与源站的交互,通过代理服务器缓存提供用户服务,已经能够减少网络带宽消耗,然而进一步的访问缓存的未更新的超期资源,如果能够有方法检测到其未更新,使用缓存资源内容提供服务,那么还能够进一步减少使用的带宽。鉴于网络资源访问需要快速响应,用于保存检测资源内容是否更新的信息,有必要保存到高速设备中,使之能够快速访问,目的是使用少的获取该信息的时间开销,减少回源导致的网络带宽消耗。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

在本实施例中还提供了一种装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行上述实施例的程序代码:

可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行上述实施例的方法。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1