CN103200278A - 源站文件更新发布方法及缓存文件更新方法 - Google Patents
源站文件更新发布方法及缓存文件更新方法 Download PDFInfo
- Publication number
- CN103200278A CN103200278A CN2013101479269A CN201310147926A CN103200278A CN 103200278 A CN103200278 A CN 103200278A CN 2013101479269 A CN2013101479269 A CN 2013101479269A CN 201310147926 A CN201310147926 A CN 201310147926A CN 103200278 A CN103200278 A CN 103200278A
- Authority
- CN
- China
- Prior art keywords
- file
- cache
- resource
- source station
- caching server
- 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.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种源站文件更新发布方法及缓存文件更新方法,该缓存文件更新方法包括:缓存服务器接收文件源站发布的更新通知,该更新通知采用正则表达式的方式表示资源文件的批量更新;该缓存服务器对缓存的资源文件进行遍历,将与该正则表达式相匹配的资源文件标记为过期。本发明能够高效快速地进行缓存资源的更新。
Description
技术领域
本发明涉及Web缓存文件更新技术,尤其涉及一种源站文件更新发布方法及缓存文件更新方法。
背景技术
传统HTTP网站中文件刷新的方式是:对资源文件设置过期时间,在文件过期后,客户端到源站验证本地缓存文件是否可用,如果源站对该文件没有修改,则告知客户端文件未修改,可使用本地缓存文件。
随着互联网的发展,对网站访问的用户群体也会随着增多,当网站的访问量到达一定程度后,就引入了缓存服务器的使用。缓存服务器的目的是为了减少对源站的请求,通常情况下,引入缓存服务器后,文件过期时还是需要回源验证的。对于这个问题,可以充分利用缓存服务器的优势,对缓存服务器和客户端设置不同的刷新过期时间,当源站资源更新的时候再通知缓存服务器更新资源,这样在及时更新客户端缓存的情况下,又能减少源站的请求。
比如一类资源对于客户端的过期时间设置5分钟,对于缓存服务器过期时间设置一天,源站在没有文件更新的情况下,缓存服务器一天只需要回源验证一次;在源站有资源更新的情况下,在更新资源的时候,同时通知缓存服务器资源已更新,而客户端每5分钟会来缓存服务器验证资源是否更新,这样客户端资源能得到及时更新,而源站只需要在文件更新的时候处理这类资源的请求。
因此在引入缓存服务器后,文件更新的时候,除了更新源站资源还需要通知缓存服务器更新文件,才能使资源得到及时的更新。
随着业务的发展,使得网站的资源越来越多,使用这种传统的文件刷新方式会存在以下两个弊端:
1.大量的资源需要更新的时候,需要通知缓存服务器对这些资源进行更新,需要很大的工作量,还有可能因为漏掉通知导致资源没有更新。
2.缓存服务器在接收这些文件更新通知的时候,需要对大量资源更新通知请求进行处理,这同样对缓存服务器造成很大负载。
发明内容
本发明要解决的技术问题是提供一种源站文件更新发布方法及缓存文件更新方法,能够高效快速地进行缓存资源的更新。
为解决上述技术问题,本发明提供了一种源站文件更新发布方法,源站发布的更新通知采用正则表达式表示资源文件的批量更新。
本发明还提供了一种缓存文件更新方法,包括:
缓存服务器接收文件源站发布的更新通知,该更新通知采用正则表达式的方式表示资源文件的批量更新;
该缓存服务器对缓存的资源文件进行遍历,将与该正则表达式相匹配的资源文件标记为过期。
根据本发明的一个实施例,该缓存文件更新方法还包括:仅在接收到指向被标记过的缓存文件的Web请求时,该缓存服务器对该缓存文件进行回源验证。
根据本发明的一个实施例,该缓存文件更新方法还包括:如果验证表明该缓存文件无变换,则删除该缓存文件的过期标记。
根据本发明的一个实施例,该缓存文件更新方法还包括:如果验证表明该缓存文件无变换,则将该缓存文件直接返回至客户端。
根据本发明的一个实施例,该缓存文件更新方法还包括:如果验证表明该缓存文件已变化,则从所述源站获取新的资源文件对其进行更新,并将更新后的资源文件返回至客户端。
根据本发明的一个实施例,该缓存服务器对缓存的资源文件进行遍历,将与该正则表达式相匹配的资源文件标记为过期包括:
遍历缓存表,将该缓存表中记录的缓存资源文件的URL与该正则表达式进行匹配;
将匹配的资源文件标记为过期。
与现有技术相比,本发明具有以下优点:
本发明实施例的源站文件更新发布方法及缓存文件更新方法中,源站发布的更新通知采用正则表达式表示资源文件的批量更新,能够解决逐个文件通知更新导致的工作量过大的问题,同时也使得缓存服务器只需要处理单个请求就可以获得批量文件更新的通知。
进一步地,缓存服务器在接收到文件批量更新的更新通知后,可以对缓存的文件进行遍历,对与该正则表达式匹配的缓存文件标记为过期,仅在客户端请求被标记的文件时才需要进行回源验证,避免在接收到批量更新通知时对多个文件同时回源验证导致源站负载过高。
附图说明
图1是本发明实施例的缓存文件更新方法的流程示意图;
图2是本发明实施例的缓存文件更新方法中缓存服务器在接收到更新通知时的处理流程图;
图3是本发明实施例的缓存文件更新方法中缓存服务器在接收到客户端请求时的处理流程图。
具体实施方式
现有技术中,源站在批量更新文件后,需要逐个文件通知缓存服务器,导致较大的工作量;而且缓存服务器在接收到源站的更新通知之后,通常需要同时对通知涉及的多个文件进行更新,对缓存服务器造成相当大的负载。
在本发明实施例中,当源站发布多个文件的更新通知时,该更新通知采用正则表达式来表示资源文件的批量更新,例如,可以使用正则表达式表示符合某一特定规则的多个URL指向的资源文件更新。从而可以在一个更新通知中发布批量文件更新的消息。
此外,缓存服务器在接收到该更新通知后,可以先对匹配的资源文件标记为过期,而不需要立刻对更新通知涉及的全部资源文件进行回源验证,仅在Web请求涉及到被标记的资源文件时再对该资源文件进行回源验证,从而有利于降低缓存服务器和源站的负载。
下面结合具体实施例和附图对本发明作进一步说明,但不应以此限制本发明的保护范围。
参考图1,本实施例的缓存文件更新方法包括如下步骤:
步骤S11,缓存服务器接收文件源站发布的更新通知,该更新通知采用正则表达式的方式表示资源文件的批量更新;
步骤S12,该缓存服务器对缓存的资源文件进行遍历,将与该正则表达式相匹配的资源文件标记为过期。
进一步而言,在步骤S11中,当源站需要更新资源文件时,可以和常规方式一样进行资源文件的更新操作,在更新资源文件之后,使用正则表达式的方式通知缓存服务器相关的资源文件已经更新,而无需将被更新的每个资源文件一一通知缓存服务器。
例如,更新通知可以采用如下正则表达式: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,结束。
本发明虽然以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以做出可能的变动和修改,因此本发明的保护范围应当以本发明权利要求所界定的范围为准。
Claims (7)
1.一种源站文件更新发布方法,其特征在于,源站发布的更新通知采用正则表达式表示资源文件的批量更新。
2.一种缓存文件更新方法,其特征在于,包括:
缓存服务器接收文件源站发布的更新通知,该更新通知采用正则表达式的方式表示资源文件的批量更新;
该缓存服务器对缓存的资源文件进行遍历,将与该正则表达式相匹配的资源文件标记为过期。
3.根据权利要求2所述的缓存文件更新方法,其特征在于,还包括:
仅在接收到指向被标记过的缓存文件的Web请求时,该缓存服务器对该缓存文件进行回源验证。
4.根据权利要求3所述的缓存文件更新方法,其特征在于,还包括:如果验证表明该缓存文件无变换,则删除该缓存文件的过期标记。
5.根据权利要求3所述的缓存文件更新方法,其特征在于,还包括:如果验证表明该缓存文件无变换,则将该缓存文件直接返回至客户端。
6.根据权利要求3所述的缓存文件更新方法,其特征在于,还包括:如果验证表明该缓存文件已变化,则从所述源站获取新的资源文件对其进行更新,并将更新后的资源文件返回至客户端。
7.根据权利要求2所述的缓存文件更新方法,其特征在于,该缓存服务器对缓存的资源文件进行遍历,将与该正则表达式相匹配的资源文件标记为过期包括:
遍历缓存表,将该缓存表中记录的缓存资源文件的URL与该正则表达式进行匹配;
将匹配的资源文件标记为过期。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310147926.9A CN103200278B (zh) | 2013-04-25 | 2013-04-25 | 源站文件更新发布方法及缓存文件更新方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310147926.9A CN103200278B (zh) | 2013-04-25 | 2013-04-25 | 源站文件更新发布方法及缓存文件更新方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103200278A true CN103200278A (zh) | 2013-07-10 |
CN103200278B CN103200278B (zh) | 2016-08-31 |
Family
ID=48722633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310147926.9A Active CN103200278B (zh) | 2013-04-25 | 2013-04-25 | 源站文件更新发布方法及缓存文件更新方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103200278B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104572105A (zh) * | 2015-01-07 | 2015-04-29 | 广东欧珀移动通信有限公司 | 数据更新方法及装置 |
CN104714965A (zh) * | 2013-12-16 | 2015-06-17 | 阿里巴巴集团控股有限公司 | 静态资源去重方法、静态资源管理方法及装置 |
CN106446246A (zh) * | 2016-10-12 | 2017-02-22 | 网宿科技股份有限公司 | 通信系统、缓存服务器、缓存内容推送、查找方法及系统 |
CN107967656A (zh) * | 2016-10-20 | 2018-04-27 | 南京途牛科技有限公司 | 旅游资源信息发布装置与方法 |
CN107967415A (zh) * | 2017-12-11 | 2018-04-27 | 北京奇虎科技有限公司 | 资源混淆保护方法、系统及终端装置 |
CN112445986A (zh) * | 2019-08-30 | 2021-03-05 | 贵州白山云科技股份有限公司 | 一种缓存信息的更新方法、推送方法、装置及介质 |
CN112637262A (zh) * | 2020-11-18 | 2021-04-09 | 网宿科技股份有限公司 | 一种内容推送方法和装置 |
CN112866356A (zh) * | 2021-01-04 | 2021-05-28 | 成都知道创宇信息技术有限公司 | Cdn缓存方法、装置及电子设备 |
CN113886743A (zh) * | 2021-12-08 | 2022-01-04 | 北京金山云网络技术有限公司 | 缓存资源的刷新方法、装置及系统 |
CN114124974A (zh) * | 2021-09-30 | 2022-03-01 | 平安普惠企业管理有限公司 | 一种静态资源发布方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050198010A1 (en) * | 2004-03-04 | 2005-09-08 | Veritas Operating Corporation | System and method for efficient file content searching within a file system |
CN101296237A (zh) * | 2008-06-16 | 2008-10-29 | 北京快网科技有限公司 | 资源批量处理系统和方法 |
CN102111449A (zh) * | 2011-02-23 | 2011-06-29 | 北京蓝汛通信技术有限责任公司 | 一种更新数据的方法、装置和系统 |
CN102420857A (zh) * | 2011-11-18 | 2012-04-18 | 北京蓝汛通信技术有限责任公司 | 操作指令传送和处理方法、传送和缓存服务器及存储系统 |
-
2013
- 2013-04-25 CN CN201310147926.9A patent/CN103200278B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050198010A1 (en) * | 2004-03-04 | 2005-09-08 | Veritas Operating Corporation | System and method for efficient file content searching within a file system |
CN101296237A (zh) * | 2008-06-16 | 2008-10-29 | 北京快网科技有限公司 | 资源批量处理系统和方法 |
CN102111449A (zh) * | 2011-02-23 | 2011-06-29 | 北京蓝汛通信技术有限责任公司 | 一种更新数据的方法、装置和系统 |
CN102420857A (zh) * | 2011-11-18 | 2012-04-18 | 北京蓝汛通信技术有限责任公司 | 操作指令传送和处理方法、传送和缓存服务器及存储系统 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104714965A (zh) * | 2013-12-16 | 2015-06-17 | 阿里巴巴集团控股有限公司 | 静态资源去重方法、静态资源管理方法及装置 |
CN104714965B (zh) * | 2013-12-16 | 2019-10-18 | 阿里巴巴集团控股有限公司 | 静态资源去重方法、静态资源管理方法及装置 |
CN104572105B (zh) * | 2015-01-07 | 2017-10-20 | 广东欧珀移动通信有限公司 | 数据更新方法及装置 |
CN104572105A (zh) * | 2015-01-07 | 2015-04-29 | 广东欧珀移动通信有限公司 | 数据更新方法及装置 |
CN106446246A (zh) * | 2016-10-12 | 2017-02-22 | 网宿科技股份有限公司 | 通信系统、缓存服务器、缓存内容推送、查找方法及系统 |
CN106446246B (zh) * | 2016-10-12 | 2019-10-11 | 网宿科技股份有限公司 | 通信系统、缓存服务器、缓存内容推送、查找方法及系统 |
CN107967656A (zh) * | 2016-10-20 | 2018-04-27 | 南京途牛科技有限公司 | 旅游资源信息发布装置与方法 |
CN107967415B (zh) * | 2017-12-11 | 2021-09-17 | 北京奇虎科技有限公司 | 资源混淆保护方法、系统及终端装置 |
CN107967415A (zh) * | 2017-12-11 | 2018-04-27 | 北京奇虎科技有限公司 | 资源混淆保护方法、系统及终端装置 |
CN112445986A (zh) * | 2019-08-30 | 2021-03-05 | 贵州白山云科技股份有限公司 | 一种缓存信息的更新方法、推送方法、装置及介质 |
CN112445986B (zh) * | 2019-08-30 | 2024-05-24 | 贵州白山云科技股份有限公司 | 一种缓存信息的更新方法、推送方法、装置及介质 |
CN112637262A (zh) * | 2020-11-18 | 2021-04-09 | 网宿科技股份有限公司 | 一种内容推送方法和装置 |
CN112866356A (zh) * | 2021-01-04 | 2021-05-28 | 成都知道创宇信息技术有限公司 | Cdn缓存方法、装置及电子设备 |
CN112866356B (zh) * | 2021-01-04 | 2023-02-24 | 成都知道创宇信息技术有限公司 | Cdn缓存方法、装置及电子设备 |
CN114124974A (zh) * | 2021-09-30 | 2022-03-01 | 平安普惠企业管理有限公司 | 一种静态资源发布方法、装置、设备及存储介质 |
CN113886743A (zh) * | 2021-12-08 | 2022-01-04 | 北京金山云网络技术有限公司 | 缓存资源的刷新方法、装置及系统 |
CN113886743B (zh) * | 2021-12-08 | 2022-05-03 | 北京金山云网络技术有限公司 | 缓存资源的刷新方法、装置及系统 |
CN114598748A (zh) * | 2021-12-08 | 2022-06-07 | 北京金山云网络技术有限公司 | 缓存资源的刷新方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103200278B (zh) | 2016-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103200278A (zh) | 源站文件更新发布方法及缓存文件更新方法 | |
US10121169B2 (en) | Table level distributed database system for big data storage and query | |
CN101493826B (zh) | 基于web应用的数据库系统及其数据管理方法 | |
CN102279880B (zh) | 一种实时更新缓存的方法和系统 | |
US11055276B2 (en) | Tracking change data in a database | |
CN102333092B (zh) | 一种网络用户识别的方法及其应用服务器 | |
US9408050B2 (en) | Reducing bandwidth usage of a mobile client | |
CN102985921B (zh) | 在具有电子资源数据库的客户端装置中高速缓存电子文档资源 | |
CN104753966A (zh) | 一种基于服务器和客户端缓存的资源文件查询方法及系统 | |
US20030004998A1 (en) | Proxy-based acceleration of dynamically generated content | |
CN101160797B (zh) | 动态订阅数据的方法 | |
CN102521252A (zh) | 一种远程数据的访问方法 | |
US8843436B2 (en) | Systems and methods for performing direct reporting access to transaction databases | |
CN103400283B (zh) | 一种基于家庭网关的广告推送系统及方法 | |
CN103179185A (zh) | 一种分布式文件系统客户端缓存中文件创建方法及其系统 | |
CN103530387A (zh) | 一种hdfs针对小文件的改进方法 | |
CN101136016A (zh) | 一种全文检索系统的索引在线更新方法 | |
CN104850627A (zh) | 进行分页展示的方法及装置 | |
CN102882974A (zh) | 一种通过网站识别版本号节省网站访问资源的方法 | |
CN101867605A (zh) | 提高rss业务同步效率的方法、装置和系统 | |
CN102651021A (zh) | 一种图标内容更新方法及更新装置 | |
CN103631914A (zh) | 一种海量互联网内容离线浏览的方法及系统 | |
CN102546674A (zh) | 一种基于网络存储装置的目录树缓存系统及方法 | |
US11514074B2 (en) | Method and system for optimizing data replication for large scale archives | |
CN105701233A (zh) | 一种优化服务器缓存管理的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
DD01 | Delivery of document by public notice |
Addressee: Liang Zhu Document name: Notice of priority examination for invalidation procedure |
|
DD01 | Delivery of document by public notice |