本发明涉及缓存加速应用领域,具体而言,涉及一种缓存加速的方法及装置。
背景技术:
网络加速系统目前已应用于国内外各大运营商,目前主流的加速技术是部署缓存服务器和重定向服务器。重定向服务器通过捕获终端用户请求后根据用户IP地址、域名、缓存文件类型及节点状态等数据进行决策,返回给终端用户缓存服务器地址。终端用户根据返回的IP地址向该缓存服务器发起请求,缓存服务器接收到请求后判断本地是否有该缓存文件,如果有该缓存文件,提取该缓存文件发送给终端用户;如果没有该缓存文件,缓存服务器会向源站发送请求,缓存服务器从源站获取资源后缓存该资源并给终端用户提供服务。
相关技术中,各个内容提供商都有自己需要缓存加速的域名,重定向服务器无法根据内容提供商进行重定向控制,有些访问量高的域名没有走缓存服务器,有些访问量低的域名走缓存服务器,没有最大发挥缓存服务器节省流量作用,重定向服务器也无法根据各个内容提供商的负载压力进行有效控制。因此,相关的缓存加速技术及重定向功能还有很大的改善和发展空间。
针对相关技术中无法根据各个资源的内容提供商的负载压力控制缓存加速服务的问题,目前尚未发现有效的解决方法。
技术实现要素:
本发明提供了一种缓存加速的方法及装置,以至少解决相关技术中无法根据互联网资源的运营商的负载压力控制缓存加速服务的问题。
根据本发明的一个方面,提供了一种缓存加速的方法,包括:获取终端发送的用于请求缓存加速互联网资源的请求消息,其中,所述请求消息包括所述互联网资源的域名信息;根据所述域名信息,确定提供所述互联网资源的运营商;根据所述运营商在缓存服务器上的负载压力值,为所述终端请求缓存加速的互联网资源提供缓存加速服务。
进一步,根据所述运营商在缓存服务器上的负载压力值,为所述终端请求缓存加速的互联网资源提供缓存加速服务包括:判断所述运营商在缓存服务器上的负载压力值是否小于第一预设阈值;在判断所述运营商在缓存服务器上的负载压力值小于第一预设阈值时,将提供缓存加速服务的缓存服务器的地址发送给所述终端,并指示所述终端在所述缓存服务器上缓存加速所述互联网资源。
进一步,判断所述运营商在缓存服务器上的负载压力值是否小于第一预设阈值包括:判 断所述运营商在缓存服务器上的用户并发数是否小于第二预设阈值,和/或,判断所述运营商在缓存服务器上的可用带宽是否大于第三预设阈值;在判断所述运营商在缓存服务器上的用户并发数小于第二预设阈值,和/或,判断所述运营商在缓存服务器上的可用带宽大于第三预设阈值时,确定所述运营商的负载压力值小于所述第一预设阈值。
进一步,在判断所述运营商在缓存服务器上的负载压力值大于或等于第一预设阈值时,所述方法还包括:发送拒绝提供缓存加速服务的通知消息,并指示所述终端通过所述互联网资源的源站获取所述互联网资源。
进一步,所述获取终端发送的用于请求缓存加速互联网资源的请求消息包括:通过分光器获取终端发送的用于请求缓存加速互联网资源的请求消息,或,通过本地DNS域名解析服务器接收终端发送的用于请求缓存加速互联网资源的请求消息。
进一步,在根据所述运营商在缓存服务器上的负载压力值,为所述终端请求缓存加速的互联网资源提供缓存加速服务之前,所述方法还包括:接收所述运营商所在所述缓存服务器在预定周期内统计的所述负载压力值。
根据本发明的另一方面,提供了一种缓存加速的装置,包括:获取模块,用于获取终端发送的用于请求缓存加速互联网资源的请求消息,其中,所述请求消息包括所述互联网资源的域名信息;确定模块,用于根据所述域名信息,确定提供所述互联网资源的运营商;服务模块,用于根据所述运营商在缓存服务器上的负载压力值,为所述终端请求缓存加速的互联网资源提供缓存加速服务。
进一步,服务模块包括:判断单元,用于判断所述运营商在缓存服务器上的负载压力值是否小于第一预设阈值;服务单元,用于在判断所述运营商在缓存服务器上的负载压力值小于第一预设阈值时,将提供缓存加速服务的缓存服务器的地址发送给所述终端,并指示所述终端在所述缓存服务器上缓存加速所述互联网资源。
进一步,判断单元包括:第一判断子单元,用于判断所述运营商在缓存服务器上的用户并发数是否小于第二预设阈值,和/或,第二判断子单元,用于判断所述运营商在缓存服务器上的可用带宽是否大于第三预设阈值;确定子单元,用于在判断所述运营商在缓存服务器上的用户并发数小于第二预设阈值,和/或,判断所述运营商在缓存服务器上的可用带宽大于第三预设阈值时,确定所述运营商的负载压力值小于所述第一预设阈值。
进一步,所述服务模块还包括:通知单元,用于在判断单元判断所述运营商在缓存服务器上的负载压力值大于或等于第一预设阈值时,发送拒绝提供缓存加速服务的通知消息,并指示所述终端通过所述互联网资源的源站获取所述互联网资源。
进一步,所述获取模块包括:获取单元,用于通过分光器获取终端发送的用于请求缓存加速互联网资源的请求消息;接收单元,用于通过本地DNS域名解析服务器接收终端发送的用于请求缓存加速互联网资源的请求消息。
进一步,所述装置还包括:接收模块,用于在服务模块根据所述运营商在缓存服务器上 的负载压力值,为所述终端请求缓存加速的互联网资源提供缓存加速服务之前,接收所述运营商所在所述缓存服务器在预定周期内统计的所述负载压力值。
通过本发明,采用获取终端发送的用于请求缓存加速互联网资源的请求消息,其中,所述请求消息包括所述互联网资源的域名信息;根据所述域名信息,确定提供所述互联网资源的运营商;根据所述运营商在缓存服务器上的负载压力值,为所述终端请求缓存加速的互联网资源提供缓存加速服务,解决了相关技术中无法根据互联网资源的运营商的负载压力控制缓存加速服务的问题,实现了根据缓存服务器的负载压力值来提供缓存加速的效果,进而提高了缓存服务器的工作效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的缓存加速系统组网架构图;
图2是根据本发明实施例的缓存加速的方法的流程图;
图3是根据本发明实施例的缓存加速的装置的结构框图;
图4是根据本发明实施例的缓存加速的装置的可选结构框图一;
图5是根据本发明实施例的缓存加速的装置的可选结构框图二;
图6是根据本发明实施例的缓存加速的装置的可选结构框图三;
图7是根据本发明实施例的缓存加速的装置的可选结构框图四;
图8是根据本发明实施例的缓存加速的装置的可选结构框图五;
图9是根据本发明可选实施例的缓存系统根据内容提供商重定向内容的系统流程图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
在本实施例中提供了一种缓存加速的方法,图1是根据本发明实施例的缓存加速系统组网架构图,如图1所示,包括:客户端、重定向服务器、缓存服务器、互联网WEB服务器,重定向服务器获取缓存加速请求并决策是否为客户端提供缓存加速服务,缓存服务器为客户端提供缓存加速服务,具体如下:终端用户通过客户端发送的请求被重定向服务器重定向到 缓存加速服务器,缓存服务器判断是否已缓存该请求资源,如果没有缓存该请求资源,缓存服务器将向互联网Web服务器发起该请求,将资源内容缓存至缓存服务器中后,向终端用户提供服务;如果已缓存该请求资源,缓存服务器直接向终端用户提供服务。
图2是根据本发明实施例的缓存加速的方法的流程图,如图2所示,该方法可以应用在重定向服务器侧,该流程包括如下步骤:
步骤S202,获取终端发送的用于请求缓存加速互联网资源的请求消息,其中,请求消息包括互联网资源的域名信息;
可选的,请求消息除了互联网资源的域名信息之外,还可以包括:终端IP地址、互联网资源文件类型,节点状态等信息。
步骤S204,根据域名信息,确定提供互联网资源的运营商;
在本实施例中,提供互联网资源的运营商可以是为用户提供互联网资源的内容提供商,可以是互联网资源的提供平台或者管理平台,可以是门户网站,如搜狐、百度等,也可以是视频播放平台,如优酷、乐视TV、爱奇艺等,其中,门户网站和视频播放平台的总域名还包括多个下属的子域名,还可以是多媒体资源的电信业务提供商,如中国移动、中国联通等。可选的,可以根据预存的域名与域名所属运营商的对应关系来确定互联网资源的运营商。
步骤S206,根据运营商在缓存服务器上的负载压力值,为终端请求缓存加速的互联网资源提供缓存加速服务。
通过本实施例,采用获取终端发送的用于请求缓存加速互联网资源的请求消息,其中,所述请求消息包括所述互联网资源的域名信息;根据所述域名信息,确定提供所述互联网资源的运营商;根据所述运营商在缓存服务器上的负载压力值,为所述终端请求缓存加速的互联网资源提供缓存加速服务,解决了相关技术中无法根据互联网资源的运营商的负载压力控制缓存加速服务的问题,实现了根据缓存服务器的负载压力值来提供缓存加速的效果,进而提高了缓存服务器的工作效率。
在根据本实施例的可选实施方式中,根据运营商在缓存服务器上的负载压力值,为终端请求缓存加速的互联网资源提供缓存加速服务包括:
S11,判断运营商在缓存服务器上的负载压力值是否小于第一预设阈值;
可选的,运营商在缓存服务器上的负载压力值表征运营商在缓存服务器上提供缓存服务的压力状态,该压力状态时动态的,随着当前的网络状态或运营商提供缓存服务的终端数的变化而变化。
S12,在判断运营商在缓存服务器上的负载压力值小于第一预设阈值时,将提供缓存加速服务的缓存服务器的地址发送给终端,并指示终端在缓存服务器上缓存加速互联网资源。
在本实施例中,重定向服务器中保存了运营商在缓存服务器上可承受的最大负载压力值,或者效率最高时的最大负载压力值,即第一预设阈值,当判断缓存服务器的当前负载压力值 小于第一预设阈值时,则运营商在缓存服务器上还可以为更多的用户提供服务,重定向服务器将缓存服务器的地址发送给终端,终端向地址对应的缓存服务器发起缓存加速的请求。
可选的,还可以通过比较与重定向服务器连接的多个缓存服务器的多个第一预设阈值和多个缓存服务器当前的负载压力值,选择负载压力值最下的缓存服务器为终端提供缓存服务,或者选择第一预设阈值减去当前的负载压力值之后的差值最大的缓存服务器为终端提供缓存服务。
可选的,在具体判断运营商在缓存服务器上的负载压力值是否小于第一预设阈值时,可以采用以下方式实现:
判断运营商在缓存服务器上的用户并发数是否小于第二预设阈值,判断运营商在缓存服务器上的可用带宽是否大于第三预设阈值;
在判断运营商在缓存服务器上的用户并发数小于第二预设阈值,判断运营商在缓存服务器上的可用带宽大于第三预设阈值时,确定运营商的负载压力值小于第一预设阈值。
在此需要说明的是,可以只判断用户并发数是否小于第二预设阈值,或只判断当前可用带宽是否大于第三预设阈值,也可以同时判断用户并发数是否小于第二预设阈值和当前可用带宽是否大于第三预设阈值。可选的,用户并发数表示运营商在缓存服务器上提供缓存加速服务的终端数量,如,运营商在缓存服务器上当前为30个终端提供缓存加速服务,则用户并发数为30,运营商在缓存服务器上的可用带宽与当前缓存加速所耗用的带宽和最大可用带宽相关。
可选的,根据本实施例的可选实施方式,在判断运营商在缓存服务器上的负载压力值大于或等于第一预设阈值时,方法还包括:发送拒绝提供缓存加速服务的通知消息,并指示终端通过互联网资源的源站获取互联网资源。
通过本可选的实施方式,在运营商在缓存服务器上的负载压力较大时,拒绝为终端提供缓存加速的服务,而让互联网资源的源站为终端提供服务,这样即保证了缓存服务器的高效工作,防止因为负载压力超负载而影响缓存服务器功效和用户体验,通过终端在不能享受缓存加速服务时及时切换到又源站直接提供下载服务,保证了终端下载互联网资源的基本要求。
在根据本实施例的可选实施方式中,获取终端发送的用于请求缓存加速互联网资源的请求消息具体可通过以下的可选方式来实现:通过分光器获取终端发送的用于请求缓存加速互联网资源的请求消息、通过本地DNS域名解析服务器接收终端发送的用于请求缓存加速互联网资源的请求消息。
在根据本实施例的可选实施方式中,在根据运营商在缓存服务器上的负载压力值,为终端请求缓存加速的互联网资源提供缓存加速服务之前,方法还包括:接收运营商所在缓存服务器在预定周期内统计的负载压力值。缓存服务器接收到终端用户请求,给终端用户提供缓存加速服务,缓存服务器根据该终端用户请求的域名信息找到对应的内容提供商,统计该内容提供商的当前用户并发数和服务带宽数据,按照预设周期上报给重定向服务器,以使重定 向服务器知道当获知各个缓存服务器当前的负载压力状态。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
在本实施例中还提供了一种缓存加速的装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图3是根据本发明实施例的缓存加速的装置的结构框图,如图3所示,该装置包括:获取模块30、确定模块32、服务模块34,其中,
获取模块30,用于获取终端发送的用于请求缓存加速互联网资源的请求消息,其中,请求消息包括互联网资源的域名信息;
确定模块32,用于根据域名信息,确定提供互联网资源的运营商;
服务模块34,用于根据运营商在缓存服务器上的负载压力值,为终端请求缓存加速的互联网资源提供缓存加速服务。
图4是根据本发明实施例的缓存加速的装置的可选结构框图一,如图4所示,该装置除包括图3所示的所有模块外,服务模块34还包括:判断单元40、服务单元42,其中,
判断单元40,用于判断运营商在缓存服务器上的负载压力值是否小于第一预设阈值;
服务单元42,用于在判断运营商在缓存服务器上的负载压力值小于第一预设阈值时,将提供缓存加速服务的缓存服务器的地址发送给终端,并指示终端在缓存服务器上缓存加速互联网资源。
图5是根据本发明实施例的缓存加速的装置的可选结构框图二,如图5所示,该装置除包括图4所示的所有模块外,判断单元40还包括:第一判断子单元50、第二判断子单元52、确定子单元54,其中,
第一判断子单元50,用于判断运营商在缓存服务器上的用户并发数是否小于第二预设阈值;
第二判断子单元52,用于判断运营商在缓存服务器上的可用带宽是否大于第三预设阈值;
确定子单元54,用于在判断运营商在缓存服务器上的用户并发数小于第二预设阈值,和/或,判断运营商在缓存服务器上的可用带宽大于第三预设阈值时,确定运营商的负载压力值 小于第一预设阈值。
在此需要说明的是,判断单元40可以只包括第一判断子单元50或者第二判断子单元52,分别与确定子单元54耦合连接,也可以同时包括第一判断子单元50和第二判断子单元52与确定子单元54耦合连接。
图6是根据本发明实施例的缓存加速的装置的可选结构框图三,如图6所示,该装置除包括图4所示的所有模块外,服务模块34还包括:通知单元60,用于在判断单元判断运营商在缓存服务器上的负载压力值大于或等于第一预设阈值时,发送拒绝提供缓存加速服务的通知消息,并指示终端通过互联网资源的源站获取互联网资源。
图7是根据本发明实施例的缓存加速的装置的可选结构框图四,如图7所示,该装置除包括图3所示的所有模块外,获取模块30还包括:获取单元70、接收单元72,其中,
获取单元70,用于通过分光器获取终端发送的用于请求缓存加速互联网资源的请求消息;
接收单元72,用于通过本地DNS域名解析服务器接收终端发送的用于请求缓存加速互联网资源的请求消息。
在此需要说明的是,获取模块30可以只包括获取单元70或者只包括接收单元72,也可以同时包括获取单元70和接收单元72。
图8是根据本发明实施例的缓存加速的装置的可选结构框图五,如图8所示,该装置除包括图3所示的所有模块外,还包括:接收模块80,用于在服务模块根据运营商在缓存服务器上的负载压力值,为终端请求缓存加速的互联网资源提供缓存加速服务之前,接收运营商所在缓存服务器在预定周期内统计的负载压力值。
下面结合根据本发明的可选实施例对发明进行详细说明:
本可选实施例的流程包括:
S21、将各个域名及域名所属内容提供商的对应关系和内容提供商(相当于上述实施例中的运营商)支持的最大用户并发数及最大带宽数据配置到缓存服务器;
S22、缓存服务器接收到终端用户请求,给终端用户提供缓存加速服务,同时,缓存服务器根据该终端用户请求的域名信息找到对应的内容提供商,统计该内容提供商的当前用户并发数和服务带宽数据;
S23、缓存服务器定时将内容提供商当前用户并发数及服务带宽数据和内容提供商支持的最大用户并发数及最大服务带宽数据上报给重定向服务器;
S24、重定向服务器通过分光器或本地域名解析系统Local DNS(Domain Name System,简称为DNS)等方式捕获到终端用户请求,重定向服务器根据终端用户请求的域名找到对应的内容提供商,然后,根据内容提供商找到缓存服务器上报过来的该内容提供商当前用户并发数及服务带宽和该内容提供商支持最大用户并发数及最大服务带宽;
S25、当内容提供商当前用户并发数及服务带宽都没有超过内容提供商支持的最大用户并发数及最大服务带宽时,重定向服务器返回给终端用户缓存服务器地址,由缓存服务器给终端用户提供服务;当内容提供商当前用户并发数或服务带宽其中一项超过内容提供商支持的最大用户并发数或最大服务带宽时,缓存服务器不提供服务,由源站提供服务。
本可选实施例,实现了一种缓存系统增加根据内容提供商进行重定向的方法,重定向服务器通过获取缓存服务器上报的内容提供商的用户并发数和带宽数据进行重定向控制。
图9是根据本发明可选实施例的缓存系统根据内容提供商重定向内容的系统流程图,如图9所示,为缓存系统根据内容提供商重定向内容系统流程,包括:
S1001,终端用户发起访问互联网资源请求,重定向服务器通过分光器或Local DNS等方式获取请求消息。
S1002,重定向服务器通过用户IP地址,域名和内容提供商等信息进行决策;
S1003,重定向服务器给终端用户返回一台缓存服务器IP地址;
S1004,终端用户向该缓存服务器发起访问资源请求;
S1005,缓存服务器判断本地是否有该请求资源,如果缓存服务器已经缓存了该资源,直接跳到步骤S1008;
S1006,缓存服务器没有缓存该资源,向源站发起请求;
S1007,源站返回给缓存服务器请求资源;
S1008,缓存服务器根据域名所属的内容提供商,统计该内容提供商当前的用户并发数和服务流量;
S1009,缓存服务器定时将各个内容提供商当前的用户并发数和服务流量及内容提供商支持的最大用户并发数和最大服务带宽上报给重定向服务器;
S1010,缓存服务器向终端用户提供服务。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述模块分别位于多个处理器中。
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
S1,获取终端发送的用于请求缓存加速互联网资源的请求消息,其中,请求消息包括互联网资源的域名信息;
S2,根据域名信息,确定提供互联网资源的运营商;
S3,根据运营商在缓存服务器上的负载压力值,为终端请求缓存加速的互联网资源提供缓存加速服务。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。