源站文件更新发布方法及缓存文件更新方法

文档序号:7555587阅读:443来源:国知局
专利名称:源站文件更新发布方法及缓存文件更新方法
技术领域
本发明涉及Web缓存文件更新技术,尤其涉及一种源站文件更新发布方法及缓存文件更新方法。
背景技术
传统HTTP网站中文件刷新的方式是:对资源文件设置过期时间,在文件过期后,客户端到源站验证本地缓存文件是否可用,如果源站对该文件没有修改,则告知客户端文件未修改,可使用本地缓存文件。随着互联网的发展,对网站访问的用户群体也会随着增多,当网站的访问量到达一定程度后,就引入了缓存服务器的使用。缓存服务器的目的是为了减少对源站的请求,通常情况下,引入缓存服务器后,文件过期时还是需要回源验证的。对于这个问题,可以充分利用缓存服务器的优势,对缓存服务器和客户端设置不同的刷新过期时间,当源站资源更新的时候再通知缓存服务器更新资源,这样在及时更新客户端缓存的情况下,又能减少源站的请求。比如一类资源对于客户端的过期时间设置5分钟,对于缓存服务器过期时间设置一天,源站在没有文件更新的情况下,缓存服务器一天只需要回源验证一次;在源站有资源更新的情况下,在更新资源的时候,同时通知缓存服务器资源已更新,而客户端每5分钟会来缓存服务器验证资源是否更新,这样客户端资源能得到及时更新,而源站只需要在文件更新的时候处理这类资源的请求。因此在引入缓存服务器后,文件更新的时候,除了更新源站资源还需要通知缓存服务器更新文件,才能使资源得到及时的更新。随着业务的发展,使得网站的资源越来越多,使用这种传统的文件刷新方式会存在以下两个弊端:1.大量的资源需要更新的时候,需要通知缓存服务器对这些资源进行更新,需要很大的工作量,还有可能因为漏掉通知导致资源没有更新。2.缓存服务器在接收这些文件更新通知的时候,需要对大量资源更新通知请求进行处理,这同样对缓存服务器造成很大负载。

发明内容
本发明要解决的技术问题是提供一种源站文件更新发布方法及缓存文件更新方法,能够高效快速地进行缓存资源的更新。为解决上述技术问题,本发明提供了一种源站文件更新发布方法,源站发布的更新通知采用正则表达式表示资源文件的批量更新。本发明还提供了一种缓存文件更新方法,包括:缓存服务器接收文件源站发布的更新通知,该更新通知采用正则表达式的方式表示资源文件的批量更新;
该缓存服务器对缓存的资源文件进行遍历,将与该正则表达式相匹配的资源文件标记为过期。根据本发明的一个实施例,该缓存文件更新方法还包括:仅在接收到指向被标记过的缓存文件的Web请求时,该缓存服务器对该缓存文件进行回源验证。根据本发明的一个实施例,该缓存文件更新方法还包括:如果验证表明该缓存文件无变换,则删除该缓存文件的过期标记。根据本发明的一个实施例,该缓存文件更新方法还包括:如果验证表明该缓存文件无变换,则将该缓存文件直接返回至客户端。根据本发明的一个实施例,该缓存文件更新方法还包括:如果验证表明该缓存文件已变化,则从所述源站获取新的资源文件对其进行更新,并将更新后的资源文件返回至客户端。根据本发明的一个实施例,该缓存服务器对缓存的资源文件进行遍历,将与该正则表达式相匹配的资源文件标记为过期包括:遍历缓存表,将该缓存表中记录的缓存资源文件的URL与该正则表达式进行匹配;将匹配的资源文件标记为过期。与现有技术相比,本发明具有以下优点:本发明实施例的源站文件更新发布方法及缓存文件更新方法中,源站发布的更新通知采用正则表达式表示资源文件的批量更新,能够解决逐个文件通知更新导致的工作量过大的问题,同时也使得缓存服务器只需要处理单个请求就可以获得批量文件更新的通知。进一步地,缓存服务器在接收到文件批量更新的更新通知后,可以对缓存的文件进行遍历,对与该正则表达式匹配的缓存文件标记为过期,仅在客户端请求被标记的文件时才需要进行回源验证,避免在接收到批量更新通知时对多个文件同时回源验证导致源站负载过高。


图1是本发明实施例的缓存文件更新方法的流程示意图;图2是本发明实施例的缓存文件更新方法中缓存服务器在接收到更新通知时的处理流程图;图3是本发明实施例的缓存文件更新方法中缓存服务器在接收到客户端请求时的处理流程图。
具体实施例方式现有技术中,源站在批量更新文件后,需要逐个文件通知缓存服务器,导致较大的工作量;而且缓存服务器在接收到源站的更新通知之后,通常需要同时对通知涉及的多个文件进行更新,对缓存服务器造成相当大的负载。在本发明实施例中,当源站发布多个文件的更新通知时,该更新通知采用正则表达式来表示资源文件的批量更新,例如,可以使用正则表达式表示符合某一特定规则的多个URL指向的资源文件更新。从而可以在一个更新通知中发布批量文件更新的消息。此外,缓存服务器在接收到该更新通知后,可以先对匹配的资源文件标记为过期,而不需要立刻对更新通知涉及的全部资源文件进行回源验证,仅在Web请求涉及到被标记的资源文件时再对该资源文件进行回源验证,从而有利于降低缓存服务器和源站的负载。下面结合具体实施例和附图对本发明作进一步说明,但不应以此限制本发明的保护范围。参考图1,本实施例的缓存文件更新方法包括如下步骤:步骤S11,缓存服务器接收文件源站发布的更新通知,该更新通知采用正则表达式的方式表示资源文件的批量更新;步骤S12,该缓存服务器对缓存的资源文件进行遍历,将与该正则表达式相匹配的资源文件标记为过期。进一步而言,在步骤Sll中,当源站需要更新资源文件时,可以和常规方式一样进行资源文件的更新操作,在更新资源文件之后,使用正则表达式的方式通知缓存服务器相关的资源文件已经更新,而无需将被更新的每个资源文件一一通知缓存服务器。例如,更新通知可以采用如下正则表达式:http://www.test.com/.*\.gif$,来表示更新域名WWW.test, com下所有以.gif结尾的缓存资源文件。在另一实例中,更新通知可以采用如下正则表达式:http://www.test, com/test/,来表示更新域名www.test, com的test目录下的缓存资源文件。在步骤S12中,缓存服务器对缓存的资源文件进行遍历,寻找与更新通知中的正则表达式相匹配的资源文件,并将其标记为过期。参考图2,图2示出了缓存服务器在接收到更新通知后的详细处理流程,包括以下步骤:步骤S21,接收正则表达式的更新通知;步骤S22,遍历缓存表,进行URL正则匹配,进一步而言,缓存表中可以记录有缓存服务器中缓存的全部资源文件的URL,采用正则表达式对缓存表中的URL进行遍历以寻找匹配项;步骤S23,对于匹配上的缓存文件,标识过期,进一步而言,如果某一资源文件的URL与正则表达式相匹配,则将该资源文件的状态标记为过期。步骤S24,结束。图3示出了缓存服务器在接收到客户端的Web请求时的详细处理流程。在S31处,接收客户端的Web请求;在S32处,查找缓存的资源文件,也即在缓存服务器缓存的资源文件中查找该Web请求所指向的资源文件,查找过程可以采用现有技术中任何适当的方法,例如可以在上述缓存表中查找;在S33处,判断是否标记过期,如果该资源文件未被标记,则转至S37,响应客户端,直接将缓存的该资源文件返回给客户端;如果该资源文件被标记为过期,例如先前的更新通知指示该资源文件需要更新,则前进至S34,回源刷新验证,例如向源站验证该资源文件是否更新。如果源站指示该资源文件未更新,例如源站返回304响应表示该资源文件无变化,则可以转至S35,该资源文件不需更新,删除过期标记并前进至S37,将缓存的该资源文件返回客户端作为响应。如果源站指示该资源文件需要更新,例如源站返回非304响应表示该资源文件已变化,则前进至S36,更新缓存,使用从源站获取新的资源文件对其缓存的旧文件进行更新。接下来前进至S37,使用更新后的资源文件替换旧的缓存文件返回给客户端。之后前进至S38,结束。本发明虽然以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以做出可能的变动和修改,因此本发明的保护范围应当以本发明权利要求所界定的范围为准。
权利要求
1.一种源站文件更新发布方法,其特征在于,源站发布的更新通知采用正则表达式表示资源文件的批量更新。
2.一种缓存文件更新方法,其特征在于,包括: 缓存服务器接收文件源站发布的更新通知,该更新通知采用正则表达式的方式表示资源文件的批量更新; 该缓存服务器对缓存的资源文件进行遍历,将与该正则表达式相匹配的资源文件标记为过期。
3.根据权利要求2所述的缓存文件更新方法,其特征在于,还包括: 仅在接收到指向被标记过的缓存文件的Web请求时,该缓存服务器对该缓存文件进行回源验证。
4.根据权利要求3所述的缓存文件更新方法,其特征在于,还包括:如果验证表明该缓存文件无变换,则删除该缓存文件的过期标记。
5.根据权利要求3所述的缓存文件更新方法,其特征在于,还包括:如果验证表明该缓存文件无变换,则将该缓存文件直接返回至客户端。
6.根据权利要求3所述的缓存文件更新方法,其特征在于,还包括:如果验证表明该缓存文件已变化,则从所述源站获取新的资源文件对其进行更新,并将更新后的资源文件返回至客户端。
7.根据权利要求2所述的缓存文件更新方法,其特征在于,该缓存服务器对缓存的资源文件进行遍历,将与该正则表达式相匹配的资源文件标记为过期包括: 遍历缓存表,将该缓存表中记录的缓存资源文件的URL与该正则表达式进行匹配; 将匹配的资源文件标记为过期。
全文摘要
本发明提供了一种源站文件更新发布方法及缓存文件更新方法,该缓存文件更新方法包括缓存服务器接收文件源站发布的更新通知,该更新通知采用正则表达式的方式表示资源文件的批量更新;该缓存服务器对缓存的资源文件进行遍历,将与该正则表达式相匹配的资源文件标记为过期。本发明能够高效快速地进行缓存资源的更新。
文档编号H04L29/08GK103200278SQ20131014792
公开日2013年7月10日 申请日期2013年4月25日 优先权日2013年4月25日
发明者洪珂, 郭文强, 谢玉燕 申请人:网宿科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1