CN106453461A - 资源缓存方法及装置 - Google Patents
资源缓存方法及装置 Download PDFInfo
- Publication number
- CN106453461A CN106453461A CN201510493301.7A CN201510493301A CN106453461A CN 106453461 A CN106453461 A CN 106453461A CN 201510493301 A CN201510493301 A CN 201510493301A CN 106453461 A CN106453461 A CN 106453461A
- Authority
- CN
- China
- Prior art keywords
- resource
- cache
- request message
- caching
- predetermined
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种资源缓存方法及装置,其中,该方法包括:接收第一请求消息,其中,该第一请求消息用于请求访问第一预定资源;根据上述第一请求消息统计访问第一预定资源的访问次数;判断上述访问次数是否达到第一预定阈值;在判断结果为是的情况下时,通知缓存子系统缓存上述第一预定资源,其中,该缓存子系统用于提供缓存的资源。通过本发明,解决了相关技术中存在的缓存子系统被限制访问以及网络拥塞的问题,进而达到了避免缓存子系统被访问限制以及降低网络拥塞的效果。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种资源缓存方法及装置。
背景技术
OTT(Over The Top)缓存(Cache)子系统部署在中国移动现有的互联网协议(InternetProtocol,简称为IP)承载网络中,用于存储互联网中的热点内容或特定内容。在相关技术中,在代理模式下,通过劫持网内用户的访问请求,将请求重定向转发到OTT Cache系统中,由OTT Cache系统作为代理服务器为用户提供所需的互联网访问数据,避免用户直接从互联网源站下载数据,从而有效规避网络链路的拥塞问题,降低中国移动用户访问互联网内容的时延,提升用户的数据业务体验,同时也可以降低因网间流量所产生的结算费用。
但在实际应用中,并不是所有统一资源定位符(Uniform Resource Locator,简称为url)都适合做302重定向处理,其中,当启用代理模式,即请求路由(Request Routing,简称为RR)对用户所有的请求都提供302重定向服务时,若用户请求的资源不包含头域或无跳转信息等,OTT Cache无法缓存该资源,此时不能用作代理服务器为用户提供服务。
当启用代理模式时,若用户请求的资源OTT Cache可以缓存,但不属于热点资源(如某资源只被访问1次或2次)。此时RR如果做重定向处理,OTT Cache频繁向源站下拉内容,可能会被源站认为是恶意攻击,导致缓存子系统被限制访问。
当不启用代理模式,即RR对所有请求都不提供302重定向服务,若用户请求的资源属于热点资源(相同资源被多次访问),用户不断向源站请求相同资源,占用大量带宽,容易造成网络拥塞,用户的体验也会较差。由此可知,在相关技术中可能导致的缓存子系统被限制访问以及网络拥塞的问题,目前尚未提出有效的解决方案。
发明内容
本发明提供了一种资源缓存方法及装置,以至少解决相关技术中存在的缓存子系统被限制访问以及网络拥塞的问题。
根据本发明的一个方面,提供了一种资源缓存方法,包括:接收第一请求消息,其中,所述第一请求消息用于请求访问第一预定资源;根据所述第一请求消息统计访问所述第一预定资源的访问次数;判断所述访问次数是否达到第一预定阈值;在判断结果为是的情况下时,通知缓存子系统缓存所述第一预定资源,其中,所述缓存子系统用于提供缓存的资源。
可选地,在通知所述缓存子系统缓存所述第一预定资源之后,还包括:判断所述缓存子系统是否成功缓存所述第一预定资源;在判断结果为是的情况下,利用所述缓存子系统提供所述第一预定资源。
可选地,在判断所述缓存子系统是否成功缓存所述第一预定资源之后,还包括:在判断结果为是的情况下,将缓存的所述第一预定资源记录在缓存内容分布表中,其中,所述缓存内容分布表中记录有所述缓存子系统已经缓存的资源,所述缓存内容分布表用于将用于访问所述缓存内容分布表中记录的资源的请求消息重定向到所述缓存子系统,利用所述缓存子系统提供所述缓存内容分布表中记录的资源。
可选地,所述方法还包括:接收第二请求消息,其中,所述第二请求消息用于请求访问第二预定资源;判断所述缓存子系统中是否缓存有所述第二预定资源;在判断结果为是的情况下,将所述第二请求消息重定向到所述缓存子系统,其中,所述第二请求消息用于指示所述缓存子系统提供所述第二预定资源。
可选地,判断所述访问次数是否达到第一预定阈值包括:获取热度统计表,其中,所述热度统计表用于记录访问资源的时间和次数;根据所述热度统计表判断所述访问次数是否达到所述第一预定阈值。
可选地,所述方法还包括:根据所述热度统计表确定超期资源,其中,所述超期资源为当前时间与访问所述超期资源的最近的时间的差值超过第二预定阈值的资源;删除所述热度统计表中记录的访问所述超期资源的时间和次数。
根据本发明的另一方面,提供了一种资源缓存装置,包括:第一接收模块,用于接收第一请求消息,其中,所述第一请求消息用于请求访问第一预定资源;统计模块,用于根据所述第一请求消息统计访问所述第一预定资源的访问次数;第一判断模块,用于判断所述访问次数是否达到第一预定阈值;通知模块,用于在所述第一判断模块的判断结果为是的情况下时,通知缓存子系统缓存所述第一预定资源,其中,所述缓存子系统用于提供缓存的资源。
可选地,所述装置还包括:第二判断模块,用于判断所述缓存子系统是否成功缓存所述第一预定资源;提供模块,用于在所述第二判断模块的判断结果为是的情况下,利用所述缓存子系统提供所述第一预定资源。
可选地,所述装置还包括:记录模块,用于在所述第二判断模块的判断结果为是的情况下,将缓存的所述第一预定资源记录在缓存内容分布表中,其中,所述缓存内容分布表中记录有所述缓存子系统已经缓存的资源,所述缓存内容分布表用于将用于访问所述缓存内容分布表中记录的资源的请求消息重定向到所述缓存子系统,利用所述缓存子系统提供所述缓存内容分布表中记录的资源。
可选地,所述装置还包括:第二接收模块,用于接收第二请求消息,其中,所述第二请求消息用于请求访问第二预定资源;第三判断模块,用于判断所述缓存子系统中是否缓存有所述第二预定资源;重定向模块,用于在所述第三判断模块的判断结果为是的情况下,将所述第二请求消息重定向到所述缓存子系统,其中,所述第二请求消息用于指示所述缓存子系统提供所述第二预定资源。
可选地,所述第一判断模块包括:获取单元,用于获取热度统计表,其中,所述热度统计表用于记录访问资源的时间和次数;判断单元,用于根据所述热度统计表判断所述访问次数是否达到所述第一预定阈值。
可选地,所述装置还包括:确定模块,用于根据所述热度统计表确定超期资源,其中,所述超期资源为当前时间与访问所述超期资源的最近的时间的差值超过第二预定阈值的资源;删除模块,用于删除所述热度统计表中记录的访问所述超期资源的时间和次数。
通过本发明,采用接收第一请求消息,其中,所述第一请求消息用于请求访问第一预定资源;根据所述第一请求消息统计访问所述第一预定资源的访问次数;判断所述访问次数是否达到第一预定阈值;在判断结果为是的情况下时,通知缓存子系统缓存所述第一预定资源,其中,所述缓存子系统用于提供缓存的资源。解决了相关技术中存在的缓存子系统被限制访问以及网络拥塞的问题,进而达到了避免缓存子系统被访问限制以及降低网络拥塞的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的资源缓存方法的流程图;
图2是根据本发明实施例的资源缓存装置的结构框图;
图3是根据本发明实施例的资源缓存装置的优选结构框图一;
图4是根据本发明实施例的资源缓存装置的优选结构框图二;
图5是根据本发明实施例的资源缓存装置的优选结构框图三;
图6是根据本发明实施例的资源缓存装置中第一判断模块26的结构框图;
图7是根据本发明实施例的资源缓存装置的优选结构框图四;
图8是根据本发明实施例的用户请求调度与热度统计流程图;
图9是根据本发明实施例的阈值统计及内容下拉流程图;
图10是根据本发明实施例的内容缓存结果上报流程图;
图11是根据本发明实施例的内容分发网络系统的简易组网图;
图12是根据本发明实施例的非代理模式处理机制图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
在本实施例中提供了一种资源缓存方法,图1是根据本发明实施例的资源缓存方法的流程图,如图1所示,该流程包括如下步骤:
步骤S102,接收第一请求消息,其中,该第一请求消息用于请求访问第一预定资源;
步骤S104,根据上述第一请求消息统计访问第一预定资源的访问次数;
步骤S106,判断上述访问次数是否达到第一预定阈值;
步骤S108,在判断结果为是的情况下时,通知缓存子系统缓存上述第一预定资源,其中,该缓存子系统用于提供缓存的资源。
通过上述步骤,在通知缓存子系统缓存资源时,仅通知缓存子系统缓存访问次数超过了第一预定阈值的资源,从而实现了有选择的缓存资源的目的,即,针对访问次数达到第一预定阈值(即,该资源足够热门,访问的用户比较多)的资源进行缓存,从而避免了缓存子系统被限制访问的问题,当用户再次访问该资源时,可以直接由缓存子系统提供该资源,从而减轻网络拥塞。解决了相关技术中存在的缓存子系统被限制访问以及网络拥塞的问题,进而达到了避免缓存子系统被访问限制以及降低网络拥塞的效果。
在一个可选的实施例中,在通知上述缓存子系统缓存上述第一预定资源之后,还包括:判断该缓存子系统是否成功缓存上述第一预定资源;在判断结果为是的情况下,利用该缓存子系统提供上述第一预定资源。并且,通过缓存子系统是否成功缓存资源(如,上述的第一预定资源)可以确定该缓存子系统是否支持缓存上述资源。
在一个可选的实施例中,在判断上述缓存子系统是否成功缓存第一预定资源之后,还包括:在判断结果为是的情况下,将缓存的上述第一预定资源记录在缓存内容分布表中,其中,该缓存内容分布表中记录有上述缓存子系统已经缓存的资源,该缓存内容分布表用于将用于访问上述缓存内容分布表中记录的资源的请求消息重定向到缓存子系统,利用该缓存子系统提供缓存内容分布表中记录的资源。也就是说,上述的缓存内容分布表中记录的资源都是该缓存子系统成功缓存的资源,从而当用户需要访问该缓存内容分布表中记录的资源时,可以直接利用该缓存子系统提供资源,从而有效的减轻网络的压力,降低网络拥塞。本实施例中的请求消息可以为第一请求消息、第二请求消息,或者其他请求消息。
在一个可选的实施例中,在步骤S102中接收第一请求消息时,同时可以接收第二请求消息,其中,该第二请求消息用于请求访问第二预定资源;判断缓存子系统中是否缓存有第二预定资源;在判断结果为是的情况下,将第二请求消息重定向到缓存子系统,其中,第二请求消息用于指示缓存子系统提供第二预定资源。从而当缓存子系统中已经缓存有该第二预定资源的时候,可以直接将第二请求消息重定向到缓存子系统中,从而提高了获得第二预定资源的效率。在该可选实施例中,第一预定资源和第二预定资源可以为相同的资源,也可以为不同的资源。并且,第二请求消息的接收时机可以发生在任何时刻,比如可以在步骤S104之前或之后,或者在步骤S108之前或者之后。
在一个可选的实施例中,判断上述访问次数是否达到第一预定阈值包括:获取热度统计表,其中,该热度统计表用于记录访问资源的时间和次数;根据该热度统计表判断访问次数是否达到上述第一预定阈值。其中,该热度统计表就是用于记录用户曾经访问过的资源的访问次数和访问时间的,且每访问一次某个资源,对应该资源的访问次数会相应加1,同时记录的还有对应于该次访问的访问时间,从而清楚的确定资源的访问情况。
在一个可选的实施例中,还可以根据上述热度统计表确定超期资源,其中,该超期资源为当前时间与访问超期资源的最近的时间的差值超过第二预定阈值的资源;删除该热度统计表中记录的访问上述超期资源的时间和次数。其中,该第二预定阈值可以设置为10天,或者5天,或者其他的值,上述的超期资源即访问热度降低的资源,当某个资源未被访问的时间超过了上述第二预定阈值时,即可确定该资源的访问热度已足够低,将超期资源的记录在热度统计表中删除,从而保证该热度统计表能够统计更多的资源的访问时间及次数。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种资源缓存装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件或者软件和硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是软件和硬件的组合的实现也是可能并被构想的。
图2是根据本发明实施例的资源缓存装置的结构框图,如图2所示,该装置包括第一接收模块22、统计模块24、第一判断模块26和通知模块28,下面对该装置进行说明。
第一接收模块22,用于接收第一请求消息,其中,该第一请求消息用于请求访问第一预定资源;统计模块24,连接至上述第一接收模块22,用于根据上述第一请求消息统计访问该第一预定资源的访问次数;第一判断模块26,连接至上述统计模块24,用于判断上述访问次数是否达到第一预定阈值;通知模块28,连接至上述第一判断模块26,用于在上述第一判断模块26的判断结果为是的情况下时,通知缓存子系统缓存上述第一预定资源,其中,该缓存子系统用于提供缓存的资源。
图3是根据本发明实施例的资源缓存装置的优选结构框图一,如图3所示,该装置除包括图2所示的所有模块外,还包括第二判断模块32和提供模块34,下面对该装置进行说明。
第二判断模块32,连接至上述通知模块28,用于判断上述缓存子系统是否成功缓存上述第一预定资源;提供模块34,连接至上述第二判断模块32,用于在上述第二判断模块32的判断结果为是的情况下,利用上述缓存子系统提供上述第一预定资源。
图4是根据本发明实施例的资源缓存装置的优选结构框图二,如图4所示,该装置除包括图3所示的所有模块外,还包括记录模块42,下面对该装置进行说明。
记录模块42,连接至上述第二判断模块32,用于在上述第二判断模块32的判断结果为是的情况下,将缓存的上述第一预定资源记录在缓存内容分布表中,其中,该缓存内容分布表中记录有缓存子系统已经缓存的资源,该缓存内容分布表用于将用于访问上述缓存内容分布表中记录的资源的请求消息重定向到缓存子系统,利用该缓存子系统提供缓存内容分布表中记录的资源。
图5是根据本发明实施例的资源缓存装置的优选结构框图三,如图5所示,该装置除了包括图2所示的所有模块外,还包括第二接收模块52、第三判断模块54和重定向模块,第二接收模块52可以连接于第一接收模块22、统计模块24、第一判断模块26或者通知模块28,下面以第二接收模块52连接于第一接收模块22为例,对该装置进行说明。
第二接收模块52,连接于第一接收模块22,用于接收第二请求消息,其中,第二请求消息用于请求访问第二预定资源;第三判断模,块54,连接于第二接收模块52,用于判断缓存子系统中是否缓存有第二预定资源;重定向模块56,连接于第三判断模块54,用于在第三判断模块54的判断结果为是的情况下,将第二请求消息重定向到缓存子系统,其中,第二请求消息用于指示缓存子系统提供第二预定资源。
图6是根据本发明实施例的资源缓存装置中第一判断模块26的结构框图,如图6所示,该第一判断模块26包括获取单元62和判断单元64,下面对该第一判断模块26进行说明。
获取单元62,用于获取热度统计表,其中,该热度统计表用于记录访问资源的时间和次数;判断单元64,连接至上述获取单元52,用于根据上述热度统计表判断访问次数是否达到上述第一预定阈值。
图7是根据本发明实施例的资源缓存装置的优选结构框图四,如图7所示,该装置除包括图6所示的所有模块外,还包括确定模块72和删除模块74,下面对该装置进行说明。
确定模块72,连接至上述第一判断模块26,用于根据上述热度统计表确定超期资源,其中,该超期资源为当前时间与访问上述超期资源的最近的时间的差值超过第二预定阈值的资源;删除模块74,连接至上述确定模块72,用于删除上述热度统计表中记录的访问该超期资源的时间和次数。其中,上述的确定模块72和图6中所示的各模块的连接关系可以有多种,图7中所示的仅是一种示例,例如,该确定模块72还可以连接于上述的通知模块28之后。
其中,上述的各个方法的执行的主体可以是RR,上述的各个装置可以应用于RR中。
下面结合RR对本发明实施例进行说明:
为解决相关技术中存在的上述问题,本发明实施例中提供了一种非代理模式的超文本传输协议(HyperText Transfer Protocol,简称为HTTP)请求调度方法,根据缓存子系统能否对请求的资源提供缓存服务,判断是否对HTTP请求做302重定向处理,以及缓存子系统何时进行内容缓存。该方法包括:
1、对于缓存子系统无法缓存的内容,RR不做302重定向处理,由源站直接为用户提供服务,避免缓存子系统无法提供服务造成用户体验差的问题。
2、对于缓存子系统可以缓存的内容,当用户请求的内容不属于热点资源,RR不对该请求进行重定向,而只做热度统计,直接由源站为用户提供服务,避免缓存子系统频繁访问源站可能导致被限制访问。
3、当用户请求的内容属于热点资源,且访问次数达到访问热度阈值时,RR通知OTT Cache下拉内容,后续再有用户请求相同资源时,RR将请求重定向转发到OTTCache,由缓存子系统直接提供服务,避免用户对源站直接大量访问造成网络拥塞,达到节省带宽、提高用户体验的效果,同时也提高了OTT Cache的缓存命中率。
本发明实施例中的方案的实现可以依赖于两张表的设计:url热度统计表(同上述的热度统计表)和缓存内容分布表。url热度统计表用于统计url访问热度,缓存内容分布表用于记录缓存子系统可以为用户提供服务的资源。
图8是根据本发明实施例的用户请求调度与热度统计流程图,如图8所示,该流程包括如下步骤:
步骤S802,用户发起HTTP请求;
步骤S804,根据黑白名单、IP段等规则,判断该url(即,上述的HTTP请求)是否需要被劫持,在判断结果为需要时,转至步骤S806,否则,转至步骤S810;
步骤S806,当确定用户的HTTP请求需要被RR劫持时,RR根据用户访问url,在热度统计表中记录本次请求(步骤S812-S814),同时判断该内容在缓存内容分布表中是否存在,如果存在,转至步骤S808,否则,转至步骤S810;
步骤S808,响应用户请求,重定向到OTT Cache,利用该缓存子系统提供服务;
步骤S810,忽略本次请求,让用户直接从源站请求下载上述资源;
步骤S812,判断热度统计表中是否有该url的访问记录,在判断结果为不存在的情况下,转至步骤S814,否则,转至步骤S816;
步骤S814,热度统计表新增记录,访问次数记为1,并记录请求时间;记录的统计项包括:a.key:用户请求的完整url使用md5算法计算得出的32位加密串为key。
b.服务节点id:用户本次调度到的服务节点的id号。
c.访问次数:每有一次用户访问,计数加1。
d.最后一次访问时间:记录最后一次用户访问的时间,单位毫秒。
e.热点阈值(同上述的第一预定阈值):阈值的获取,需要根据用户访问的url从HTTP域名黑白名单列表中匹配到相应的域名记录,从记录的条目中获取该url的热点阈值大小。针对不同的网站,系统设置不同的阈值,通过HTTP域名黑白名单接口下发到RR上。当访问次数达到此阈值时,RR通知OTT Cache进行缓存。OTT Cache将内容下拉完成后,通知RR进行内容更新,RR收到通知后更新内存数据,并保存到内容分布表中,热点阈值统计和内容下拉流程如附图9所示,内容上报流程如附图10所示。
步骤S816,如果热度表中有该url对应key的记录,将此条记录的访问次数加1,最后一次访问时间更改为当前时间。
其中,可以根据用户请求的url,计算一个md5值,作为记录key。通过内容分布表,查询该key对应内容在此节点上是否已经被缓存。如果内容存在,响应用户请求,将用户请求重定向到缓存子系统。如果不存在,则忽略用户请求,让用户直接回源。
图9是根据本发明实施例的阈值统计及内容下拉流程图,如图9所示,该流程包括如下步骤:
步骤S902,RR后台进程,定时扫描热度统计表,依次处理每条记录;
步骤S904,取出下一条记录;
步骤S906,判断该记录是否已经超期(当前时间减去url最后一次访问时间是否大于或等于超期时间),在判断结果为是的情况下,确定url超期,转至步骤S908,否则,转至步骤S910;
步骤S908,删除该url相关记录;
步骤S910,判断访问次数是否大于或等于热点阈值,在判断结果为是的情况下,转至步骤S912,否则,转至步骤S916;
步骤S912,根据url的key值以及节点id等信息判断缓存内容表中是否有该url记录,在判断结果为是的情况下,转至步骤S916,否则,转至步骤S914;
步骤S914,通知OTT Cache下载该url对应的内容;
步骤S916,则表明该内容已缓存,不需要通知OTT Cache,本条热度记录处理完毕;
步骤S918,判断是否还有未处理的记录,在判断结果为是的情况下,转至步骤S904,否则,转至步骤S920;
步骤S920,等待用户的访问请求。
从上述的流程中可以看出,RR可以找出达到热点阈值的记录,通知缓存子系统进行内容缓存,同时清理长期未被再次访问的url记录。RR需要支持对不同的网站或者文件后缀名设定不同的阈值,如针对www.sohu.com或sina.com,可以分别设置不同的缓存阈值策略。当RR收到一个用户的HTTP下载请求,根据匹配规则,在表内找到对应的匹配规则记录,进而找到针对本次请求url的一个热度阈值,保存到内容热度统计表中。当用户请求同一资源的次数达到网站缓存热度阈值时,缓存子系统向源站发出请求下拉内容。内容被成功缓存后,在其有效期内,若有用户再次请求相同资源,RR通过查询缓存内容分布表判断出缓存子系统可以提供服务,将转发该请求到缓存子系统,由缓存子系统直接为该用户提供内容服务。
图10是根据本发明实施例的内容缓存结果上报流程图,如图10所示,该流程包括如下步骤:
步骤S1002,RR主程序在启动时,首先从数据库(磁盘)中加载内容分布表,将内容分布数据保存在内存缓存中,供调度进程使用。(对应于图10中的步骤S1-S3)
步骤S1004,当缓存子系统有内容更新时,通知RR进行内容更新。(对应于图10中的步骤S4)
步骤S1006,RR更新内存缓存中的相关记录,新增/删除。(对应于图10中的步骤S5)
步骤S1008,RR将记录持久化到磁盘中。(对应于图10中的步骤S6)
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
图11是根据本发明实施例的内容分发网络(Content Delivery Network,简称为CDN)系统的简易组网图,整个系统主要包括调度子系统和缓存子系统。RR调度子系统对用户的HTTP请求进行劫持和重定向处理,缓存子系统由SLB7和OTT Cache共同组成,当RR将用户的HTTP请求重定向到缓存子系统后,缓存子系统为用户提供服务。
图12是根据本发明实施例的非代理模式处理机制图,该图12描述了RR在劫持到用户的HTTP下载请求后,缓存子系统未命中、达到热度阈值进行内容下拉(对应于图12中的达到阈值代理下载)以及缓存命中的处理流程。如图12所示,该流程包括如下步骤:
缓存子系统未命中的处理流程包括:
步骤S1202,用户发送HTTP文件下载请求;
步骤S1204,RR对上述下载请求进行劫持;
步骤S1206,确定缓存子系统中未缓存上述文件(对应于上述的资源),忽略此次用户的HTTP文件下载请求;
步骤S1208,源站为用户提供文件下载服务。
达到热度阈值进行内容下拉流程包括:
步骤S1210,热度统计表中的访问次数+1;
步骤S1212,达到上述热点阈值,通知OTT Cache下载;
步骤S1214,OTT Cache下载文件成功。
缓存命中的处理流程包括:
步骤S1216,用户发送HTTP文件下载请求;
步骤S1218,RR对上述下载请求进行劫持;
步骤S1220,确定缓存子系统中已经缓存了上述文件,通知用户重定向至缓存子系统;
步骤S1222,将用户的HTTP文件下载请求重定向至OTT Cache;
步骤S1224,OTT Cache为用户提供文件下载服务。
本发明实施例中实现了一种非代理模式的HTTP请求调度方法,调度子系统通过热度统计表的维护判断缓存子系统何时下拉内容,通过缓存内容分布表记录内容缓存情况以及判断缓存子系统能否为用户提供服务。调度子系统根据缓存子系统能否对请求的资源提供缓存服务,判断是否对HTTP请求做302重定向处理。
需要说明的是,上述各个模块是可以通过软件或软件与硬件的结合来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述模块分别位于多个处理器中。
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
S11,接收第一请求消息,其中,该第一请求消息用于请求访问第一预定资源;
S12,根据上述第一请求消息统计访问第一预定资源的访问次数;
S13,判断上述访问次数是否达到第一预定阈值;
S14,在判断结果为是的情况下时,通知缓存子系统缓存上述第一预定资源,其中,该缓存子系统用于提供缓存的资源
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行上述步骤S11-S14。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种资源缓存方法,其特征在于,包括:
接收第一请求消息,其中,所述第一请求消息用于请求访问第一预定资源;
根据所述第一请求消息统计访问所述第一预定资源的访问次数;
判断所述访问次数是否达到第一预定阈值;
在判断结果为是的情况下时,通知缓存子系统缓存所述第一预定资源,其中,所述缓存子系统用于提供缓存的资源。
2.根据权利要求1所述的方法,其特征在于,在通知所述缓存子系统缓存所述第一预定资源之后,还包括:
判断所述缓存子系统是否成功缓存所述第一预定资源;
在判断结果为是的情况下,利用所述缓存子系统提供所述第一预定资源。
3.根据权利要求2所述的方法,其特征在于,在判断所述缓存子系统是否成功缓存所述第一预定资源之后,还包括:
在判断结果为是的情况下,将缓存的所述第一预定资源记录在缓存内容分布表中,其中,所述缓存内容分布表中记录有所述缓存子系统已经缓存的资源,所述缓存内容分布表用于将用于访问所述缓存内容分布表中记录的资源的请求消息重定向到所述缓存子系统,利用所述缓存子系统提供所述缓存内容分布表中记录的资源。
4.根据权利要求1所述的方法,其特征在于,还包括:
接收第二请求消息,其中,所述第二请求消息用于请求访问第二预定资源;
判断所述缓存子系统中是否缓存有所述第二预定资源;
在判断结果为是的情况下,将所述第二请求消息重定向到所述缓存子系统,其中,所述第二请求消息用于指示所述缓存子系统提供所述第二预定资源。
5.根据权利要求1所述的方法,其特征在于,判断所述访问次数是否达到第一预定阈值包括:
获取热度统计表,其中,所述热度统计表用于记录访问资源的时间和次数;
根据所述热度统计表判断所述访问次数是否达到所述第一预定阈值。
6.根据权利要求5所述的方法,其特征在于,还包括:
根据所述热度统计表确定超期资源,其中,所述超期资源为当前时间与访问所述超期资源的最近的时间的差值超过第二预定阈值的资源;
删除所述热度统计表中记录的访问所述超期资源的时间和次数。
7.一种资源缓存装置,其特征在于,包括:
第一接收模块,用于接收第一请求消息,其中,所述第一请求消息用于请求访问第一预定资源;
统计模块,用于根据所述第一请求消息统计访问所述第一预定资源的访问次数;
第一判断模块,用于判断所述访问次数是否达到第一预定阈值;
通知模块,用于在所述第一判断模块的判断结果为是的情况下时,通知缓存子系统缓存所述第一预定资源,其中,所述缓存子系统用于提供缓存的资源。
8.根据权利要求7所述的装置,其特征在于,还包括:
第二判断模块,用于判断所述缓存子系统是否成功缓存所述第一预定资源;
提供模块,用于在所述第二判断模块的判断结果为是的情况下,利用所述缓存子系统提供所述第一预定资源。
9.根据权利要求8所述的装置,其特征在于,还包括:
记录模块,用于在所述第二判断模块的判断结果为是的情况下,将缓存的所述第一预定资源记录在缓存内容分布表中,其中,所述缓存内容分布表中记录有所述缓存子系统已经缓存的资源,所述缓存内容分布表用于将用于访问所述缓存内容分布表中记录的资源的请求消息重定向到所述缓存子系统,利用所述缓存子系统提供所述缓存内容分布表中记录的资源。
10.根据权利要求7所述的装置,其特征在于,还包括:
第二接收模块,用于接收第二请求消息,其中,所述第二请求消息用于请求访问第二预定资源;
第三判断模块,用于判断所述缓存子系统中是否缓存有所述第二预定资源;
重定向模块,用于在所述第三判断模块的判断结果为是的情况下,将所述第二请求消息重定向到所述缓存子系统,其中,所述第二请求消息用于指示所述缓存子系统提供所述第二预定资源。
11.根据权利要求7所述的装置,其特征在于,所述第一判断模块包括:
获取单元,用于获取热度统计表,其中,所述热度统计表用于记录访问资源的时间和次数;
判断单元,用于根据所述热度统计表判断所述访问次数是否达到所述第一预定阈值。
12.根据权利要求11所述的装置,其特征在于,还包括:
确定模块,用于根据所述热度统计表确定超期资源,其中,所述超期资源为当前时间与访问所述超期资源的最近的时间的差值超过第二预定阈值的资源;
删除模块,用于删除所述热度统计表中记录的访问所述超期资源的时间和次数。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510493301.7A CN106453461A (zh) | 2015-08-12 | 2015-08-12 | 资源缓存方法及装置 |
PCT/CN2016/094627 WO2017025052A1 (zh) | 2015-08-12 | 2016-08-11 | 资源缓存方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510493301.7A CN106453461A (zh) | 2015-08-12 | 2015-08-12 | 资源缓存方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106453461A true CN106453461A (zh) | 2017-02-22 |
Family
ID=57983054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510493301.7A Pending CN106453461A (zh) | 2015-08-12 | 2015-08-12 | 资源缓存方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106453461A (zh) |
WO (1) | WO2017025052A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107707597A (zh) * | 2017-04-26 | 2018-02-16 | 贵州白山云科技有限公司 | 一种突发热点访问均衡处理方法及装置 |
CN108712498A (zh) * | 2018-05-23 | 2018-10-26 | 新华三大数据技术有限公司 | 服务的调用方法及装置 |
CN109040153A (zh) * | 2017-06-08 | 2018-12-18 | 中兴通讯股份有限公司 | 缓存内容的缓存方法、相关设备和计算机可读存储介质 |
CN109246234A (zh) * | 2018-09-30 | 2019-01-18 | 北京金山云网络技术有限公司 | 一种镜像文件下载方法、装置、电子设备及存储介质 |
CN114422522A (zh) * | 2020-10-13 | 2022-04-29 | 贵州白山云科技股份有限公司 | 一种缓存分发方法、装置、介质及设备 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109379395B (zh) * | 2018-08-22 | 2022-11-11 | 中国平安人寿保险股份有限公司 | 一种接口数据缓存设置方法及终端设备 |
CN111104528B (zh) * | 2018-10-29 | 2023-05-16 | 浙江宇视科技有限公司 | 图片获取方法、装置及客户端 |
CN112487326B (zh) * | 2020-11-27 | 2024-03-19 | 杭州安恒信息技术股份有限公司 | 数据缓存方法、系统、存储介质及设备 |
CN113612823A (zh) * | 2021-07-22 | 2021-11-05 | 北京金山云网络技术有限公司 | 内容分发网络的缓存时长调整方法、装置和存储介质 |
CN114490749A (zh) * | 2021-12-28 | 2022-05-13 | 珠海大横琴科技发展有限公司 | 一种资源访问的方法和装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101668046B (zh) * | 2009-10-13 | 2012-12-19 | 成都市华为赛门铁克科技有限公司 | 资源缓存方法及其装置、系统 |
CN103581051B (zh) * | 2012-08-02 | 2018-04-20 | 深圳市腾讯计算机系统有限公司 | 一种文件缓存方法、装置和系统 |
CN102841931A (zh) * | 2012-08-03 | 2012-12-26 | 中兴通讯股份有限公司 | 分布式文件系统的存储方法及装置 |
US9137326B2 (en) * | 2012-08-14 | 2015-09-15 | Calix, Inc. | Distributed cache system for optical networks |
CN104778271A (zh) * | 2015-04-24 | 2015-07-15 | 无锡天脉聚源传媒科技有限公司 | 一种视频数据的缓存方法及装置 |
-
2015
- 2015-08-12 CN CN201510493301.7A patent/CN106453461A/zh active Pending
-
2016
- 2016-08-11 WO PCT/CN2016/094627 patent/WO2017025052A1/zh active Application Filing
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107707597A (zh) * | 2017-04-26 | 2018-02-16 | 贵州白山云科技有限公司 | 一种突发热点访问均衡处理方法及装置 |
CN109040153A (zh) * | 2017-06-08 | 2018-12-18 | 中兴通讯股份有限公司 | 缓存内容的缓存方法、相关设备和计算机可读存储介质 |
CN109040153B (zh) * | 2017-06-08 | 2022-06-28 | 中兴通讯股份有限公司 | 缓存内容的缓存方法、相关设备和计算机可读存储介质 |
CN108712498A (zh) * | 2018-05-23 | 2018-10-26 | 新华三大数据技术有限公司 | 服务的调用方法及装置 |
CN109246234A (zh) * | 2018-09-30 | 2019-01-18 | 北京金山云网络技术有限公司 | 一种镜像文件下载方法、装置、电子设备及存储介质 |
CN109246234B (zh) * | 2018-09-30 | 2021-09-24 | 北京金山云网络技术有限公司 | 一种镜像文件下载方法、装置、电子设备及存储介质 |
CN114422522A (zh) * | 2020-10-13 | 2022-04-29 | 贵州白山云科技股份有限公司 | 一种缓存分发方法、装置、介质及设备 |
CN114422522B (zh) * | 2020-10-13 | 2024-02-13 | 贵州白山云科技股份有限公司 | 一种缓存分发方法、装置、介质及设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2017025052A1 (zh) | 2017-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106453461A (zh) | 资源缓存方法及装置 | |
EP2281383B1 (en) | Method and apparatus for pre-fetching data in a mobile network environment using edge data storage | |
US9043428B2 (en) | Edge caching using HTTP headers | |
RU2264651C2 (ru) | Распределённый кэш (сверхоперативная память) для системы беспроводной связи | |
US8984056B2 (en) | Inter point of presence split architecture | |
US7814483B2 (en) | Cache server at hotspots for downloading services | |
US7769823B2 (en) | Method and system for distributing requests for content | |
EP2704402B1 (en) | Method and node for distributing electronic content in a content distribution network | |
KR101330052B1 (ko) | 적응형 컨텐츠 전송 방식을 지원하는 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치 | |
US20110219109A1 (en) | System and method for sharing transparent proxy between isp and cdn | |
US20130061127A1 (en) | Providing toolbars | |
CN107251524A (zh) | 管理预测预取内容的移动设备用户订购和服务偏好 | |
CN107251525A (zh) | 用于支持移动设备用户的预测内容预取服务的分布式服务器架构 | |
US8645494B1 (en) | Two-file preloading for browser-based web acceleration | |
US6868453B1 (en) | Internet home page data acquisition method | |
US20140280677A1 (en) | Two-file preloading for browser-based web acceleration | |
CN106664592A (zh) | 通过无线网络在选定时间使用保证预取的有效内容分发 | |
JP2007529072A (ja) | キャッシュネットワーク環境におけるダウンロードスケジューリングシステム及び方法 | |
CN104714965A (zh) | 静态资源去重方法、静态资源管理方法及装置 | |
US11159642B2 (en) | Site and page specific resource prioritization | |
CN107181804A (zh) | 资源的下载方法和装置 | |
US20230017698A1 (en) | Direct leg access for proxy web scraping | |
JP6205765B2 (ja) | 映像配信装置、映像配信プログラム、映像配信方法及び映像配信システム | |
JP5482284B2 (ja) | コンテンツ提供用ユーザ情報管理装置,処理方法,およびプログラム | |
CN106856456A (zh) | 缓存集群服务的处理方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170222 |