CN103401950A - 缓存异步刷新方法、缓存服务器处理请求方法和系统 - Google Patents
缓存异步刷新方法、缓存服务器处理请求方法和系统 Download PDFInfo
- Publication number
- CN103401950A CN103401950A CN2013103683301A CN201310368330A CN103401950A CN 103401950 A CN103401950 A CN 103401950A CN 2013103683301 A CN2013103683301 A CN 2013103683301A CN 201310368330 A CN201310368330 A CN 201310368330A CN 103401950 A CN103401950 A CN 103401950A
- Authority
- CN
- China
- Prior art keywords
- cache file
- source
- request
- response
- buffer memory
- 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
Images
Abstract
本发明公开了一种缓存异步刷新方法、缓存服务器处理请求方法和系统,有效减小缓存文件因回源验证带来响应延迟的影响。其技术方案为:在缓存文件访问较为频繁的情况下,请求会触发缓存异步刷新流程,提前对缓存文件进行更新,这样可以尽量保证请求处理过程,需要使用缓存文件的时候,缓存文件是未过期的,减少请求处理过程缓存的回源验证操作,从而有效减小缓存文件因回源验证带来响应延迟的影响。
Description
技术领域
本发明涉及缓存异步刷新技术,尤其涉及缓存服务器对缓存文件的刷新处理,即涵盖了缓存提前刷新或延时刷新等异步刷新机制。
背景技术
为提升网站的访问速度,很多大型网站使用了CDN(内容分发网络)技术,为了提升响应时间,CDN的缓存服务器会对静态文件进行一定时间的缓存,这样可以有效提升可缓存文件的响应时间。但是源站可能会改变资源文件,为了使缓存文件可以得到更新,在缓存服务器上对这些静态文件通常会设置一个缓存的有效期,当缓存的时间超过缓存有效期时间,则需要回源重新验证该文件是否有更新,若有更新则获取最新响应覆盖旧缓存。
采用CDN技术,对于静态文件,在文件的缓存时间内,可以有效提升响应时间,但是当文件的缓存时间超过缓存有效期就存在因为回源验证导致响应时间的延时。
发明内容
本发明的目的在于解决上述问题,提供了一种缓存异步刷新方法、缓存服务器处理请求方法和系统,有效减小缓存文件因回源验证带来响应延迟的影响。
本发明的技术方案为:本发明揭示了一种缓存异步刷新方法,包括:
若判断出缓存文件即将过期,则构造缓存文件对应的回源请求;
发送回源请求到源站;
获取源站对回源请求的响应;
根据响应结果更新本地的缓存文件。
根据本发明的缓存异步刷新方法的一实施例,在判断缓存文件是否即将过期的步骤之前还包括:
在接收到来自客户端的对缓存文件的请求的情况下启动对缓存文件的异步刷新。
本发明还揭示了一种缓存服务器处理请求方法,包括:
缓存服务器接收用户请求;
缓存服务器查找缓存文件;
若没有缓存文件,则将请求转发回源,将回源结果响应给用户,并将响应存储为缓存服务器上的缓存文件;
若缓存文件已过期,则回源验证,若无更新则使用原来的缓存文件响应用户,若源站有更新则使用回源获取的内容响应用户,并替换本地原来的缓存文件;
若缓存文件未过期,则使用当前的缓存文件响应用户,同时判断缓存文件是否即将过期,若即将过期则启动缓存异步刷新的流程。
根据本发明的缓存服务器处理请求方法的一实施例,缓存异步刷新的流程包括:
构造缓存文件对应的回源请求;
发送回源请求到源站;
获取源站对回源请求的响应;
根据响应结果更新本地的缓存文件。
本发明还揭示了一种缓存异步刷新装置,包括:
回源请求构造模块,构造缓存文件对应的回源请求;
回源模块,发送回源请求到源站;
响应获取模块,获取源站对回源请求的响应;
缓存更新模块,根据响应结果更新本地的缓存文件。
本发明还揭示了一种缓存服务器处理请求系统,包括:
用户请求接收装置,缓存服务器接收用户请求;
缓存文件查找装置,缓存服务器查找缓存文件;
回源响应装置,若没有缓存文件,则将请求转发回源,将回源结果响应给用户,并将响应存储为缓存服务器上的缓存文件;
缓存过期响应装置,若缓存文件已过期,则回源验证,若无更新则使用原来的缓存文件响应用户,若源站有更新则使用回源获取的内容响应用户,并替换本地原来的缓存文件;
缓存异步刷新装置,若缓存文件未过期,则使用当前的缓存文件响应用户,同时判断缓存文件是否即将过期,若即将过期则启动缓存异步刷新的处理。
根据本发明的缓存服务器处理请求系统的一实施例,缓存异步刷新装置包括:
回源请求构造模块,构造缓存文件对应的回源请求;
回源模块,发送回源请求到源站;
响应获取模块,获取源站对回源请求的响应;
缓存更新模块,根据响应结果更新本地的缓存文件。
本发明对比现有技术具有如下的技术效果:本发明的方案是在缓存文件访问较为频繁的情况下,请求会触发缓存异步刷新流程,提前对缓存文件进行更新,这样可以尽量保证请求处理过程,需要使用缓存文件的时候,缓存文件是未过期的,减少请求处理过程缓存的回源验证操作,从而有效减小缓存文件因回源验证带来响应延迟的影响。
附图说明
图1示出了本发明的缓存异步刷新方法的较佳实施例的流程图。
图2示出了本发明的缓存服务器处理请求方法的较佳实施例的流程图。
图3示出了本发明的缓存异步刷新装置的较佳实施例的结构图。
图4示出了本发明的缓存服务器处理请求系统的较佳实施例的结构图。
具体实施方式
下面结合附图和实施例对本发明作进一步的描述。
缓存异步刷新方法的实施例
图1示出了本发明的缓存异步刷新方法的较佳实施例的流程。请参见图1,本实施例的缓存异步刷新方法的步骤详述如下。
步骤S10:触发缓存文件异步刷新。
在接收到来自客户端的对缓存文件的请求的情况下启动对缓存文件的异步刷新,所以是请求比较频繁的文件才会提前刷新,这类的文件一般之后还会被访问,所以不会造成回源浪费,增加回源次数。本实施例是先响应本地缓存,再触发回源验证,两者是异步的,不会影响响应的效率。
步骤S11:检查缓存文件是否过期,若过期则进入下一步,否则说明缓存文件离过期时间比较久(即未达到即将过期标准),则流程结束,不需要回源刷新。
即将过期时间可配置,比如文件缓存10分钟,期望提早一分钟回源验证,则可以把即将过期时间设置为1分钟。
步骤S12:构造缓存文件对应的回源请求。
步骤S13:发送回源请求到源站。
步骤S14:获取源站对回源请求的响应。
步骤S15:根据响应结果更新本地的缓存文件。
缓存服务器处理请求方法的实施例
图2示出了本发明的缓存服务器处理请求方法的较佳实施例的流程。请参见图2,本实施例的缓存服务器处理请求方法的实施步骤详述如下。
步骤S200:缓存服务器接收用户请求。
步骤S201:缓存服务器查找缓存文件,根据缓存文件的查找情况分别做不同的处理,若没有缓存文件则执行步骤S202,若缓存文件过期则执行步骤S204,若缓存文件未过期则执行步骤S207。
步骤S202:缓存服务器上若没有缓存文件,则将请求转发回源,读取响应内容。
步骤S203:若响应可缓存,则将响应缓存在缓存服务器上,然后执行步骤S209。
步骤S204:若缓存服务器上的缓存文件已经过期,则添加If-Modified-Since和If-None-Match请求头回源验证。
步骤S205:源服务器会根据这两个请求头,判断文件是否更新,若文件没有更新则响应304状态,若文件更新则响应200状态。缓存服务器若接收的响应为304则表示文件内容未更新,则执行步骤S208,若接收的响应为200,则执行步骤S206。
步骤S206:更新本地的缓存文件,然后执行步骤S209。
步骤S207:若缓存文件未过期则启动缓存异步刷新流程。
即将过期时间是可配置的,比如文件缓存10分钟,期望提早1分钟回源验证,则可以把即将过期时间设置为1分钟。缓存异步刷新的流程请参见图1,具体的实施步骤在前一实施例中已经详述,在此不再赘述。
步骤S208:读取缓存文件,然后执行步骤S209。
步骤S209:响应用户。
缓存异步刷新装置的实施例
图3示出了本发明的缓存异步刷新装置的较佳实施例的结构。请参见图3,本实施例的缓存异步刷新装置包括:回源请求构造模块11、回源模块12、响应获取模块13、以及缓存更新模块14。各模块之间的连接关系是:回源请求构造模块11的输出端连接回源模块12,回源模块12的输出端连接响应获取模块13,响应获取模块13的输出端连接缓存更新模块14。
回源请求构造模块11构造缓存文件对应的回源请求。回源模块12发送回源请求到源站。响应获取模块13获取源站对回源请求的响应。缓存更新模块14根据响应结果更新本地的缓存文件。
缓存服务器处理请求系统的实施例
图4示出了本发明的缓存服务器处理请求系统的较佳实施例的结构。请参见图4,本实施例的缓存服务器处理请求系统包括:用户请求接收装置2、缓存文件查找装置3、回源响应装置4、缓存过期响应装置5、以及缓存异步刷新装置1。
用户请求接收装置2的输出端连接缓存文件查找装置3。缓存文件查找装置3的输出端分别连接回源响应装置4、缓存过期响应装置5和缓存异步刷新装置1。
用户请求接收装置2中,缓存服务器接收用户请求。
缓存文件查找装置3中,缓存服务器查找缓存文件。
回源响应装置4中,若没有缓存文件,则将请求转发回源,将回源结果响应给用户,并将响应存储为缓存服务器上的缓存文件。
缓存过期响应装置5中,若缓存文件已过期,则回源验证,若无更新则使用原来的缓存文件响应用户,若源站有更新则使用回源获取的内容响应用户,并替换本地原来的缓存文件。
缓存异步刷新装置1中,若缓存文件未过期,则使用当前的缓存文件响应用户,同时判断缓存文件是否即将过期,若即将过期则启动缓存异步刷新的处理。缓存异步刷新装置1的细化结构请同时参见图3,缓存异步刷新装置1包括回源请求构造模块11、回源模块12、响应获取模块13、以及缓存更新模块14。各模块之间的连接关系是:回源请求构造模块11的输出端连接回源模块12,回源模块12的输出端连接响应获取模块13,响应获取模块13的输出端连接缓存更新模块14。
回源请求构造模块11构造缓存文件对应的回源请求。回源模块12发送回源请求到源站。响应获取模块13获取源站对回源请求的响应。缓存更新模块14根据响应结果更新本地的缓存文件。
上述实施例是提供给本领域普通技术人员来实现和使用本发明的,本领域普通技术人员可在不脱离本发明的发明思想的情况下,对上述实施例做出种种修改或变化,因而本发明的保护范围并不被上述实施例所限,而应该是符合权利要求书所提到的创新性特征的最大范围。
Claims (7)
1.一种缓存异步刷新方法,包括:
若判断出缓存文件即将过期,则构造缓存文件对应的回源请求;
发送回源请求到源站;
获取源站对回源请求的响应;
根据响应结果更新本地的缓存文件。
2.根据权利要求1所述的缓存异步刷新方法,其特征在于,在判断缓存文件是否即将过期的步骤之前还包括:
在接收到来自客户端的对缓存文件的请求的情况下启动对缓存文件的异步刷新。
3.一种缓存服务器处理请求方法,包括:
缓存服务器接收用户请求;
缓存服务器查找缓存文件;
若没有缓存文件,则将请求转发回源,将回源结果响应给用户,并将响应存储为缓存服务器上的缓存文件;
若缓存文件已过期,则回源验证,若无更新则使用原来的缓存文件响应用户,若源站有更新则使用回源获取的内容响应用户,并替换本地原来的缓存文件;
若缓存文件未过期,则使用当前的缓存文件响应用户,同时判断缓存文件是否即将过期,若即将过期则启动缓存异步刷新的流程。
4.根据权利要求3所述的缓存服务器处理请求方法,其特征在于,缓存异步刷新的流程包括:
构造缓存文件对应的回源请求;
发送回源请求到源站;
获取源站对回源请求的响应;
根据响应结果更新本地的缓存文件。
5.一种缓存异步刷新装置,包括:
回源请求构造模块,构造缓存文件对应的回源请求;
回源模块,发送回源请求到源站;
响应获取模块,获取源站对回源请求的响应;
缓存更新模块,根据响应结果更新本地的缓存文件。
6.一种缓存服务器处理请求系统,包括:
用户请求接收装置,缓存服务器接收用户请求;
缓存文件查找装置,缓存服务器查找缓存文件;
回源响应装置,若没有缓存文件,则将请求转发回源,将回源结果响应给用户,并将响应存储为缓存服务器上的缓存文件;
缓存过期响应装置,若缓存文件已过期,则回源验证,若无更新则使用原来的缓存文件响应用户,若源站有更新则使用回源获取的内容响应用户,并替换本地原来的缓存文件;
缓存异步刷新装置,若缓存文件未过期,则使用当前的缓存文件响应用户,同时判断缓存文件是否即将过期,若即将过期则启动缓存异步刷新的处理。
7.根据权利要求6所述的缓存服务器处理请求系统,其特征在于,缓存异步刷新装置包括:
回源请求构造模块,构造缓存文件对应的回源请求;
回源模块,发送回源请求到源站;
响应获取模块,获取源站对回源请求的响应;
缓存更新模块,根据响应结果更新本地的缓存文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013103683301A CN103401950A (zh) | 2013-08-21 | 2013-08-21 | 缓存异步刷新方法、缓存服务器处理请求方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013103683301A CN103401950A (zh) | 2013-08-21 | 2013-08-21 | 缓存异步刷新方法、缓存服务器处理请求方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103401950A true CN103401950A (zh) | 2013-11-20 |
Family
ID=49565473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013103683301A Pending CN103401950A (zh) | 2013-08-21 | 2013-08-21 | 缓存异步刷新方法、缓存服务器处理请求方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103401950A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104657401A (zh) * | 2014-10-21 | 2015-05-27 | 北京齐尔布莱特科技有限公司 | 一种web缓存的更新方法 |
CN105468707A (zh) * | 2015-11-19 | 2016-04-06 | 北京锐安科技有限公司 | 一种基于缓存的数据处理方法及装置 |
CN105608115A (zh) * | 2015-12-11 | 2016-05-25 | 北京奇虎科技有限公司 | 数据获取方法与装置 |
CN106066877A (zh) * | 2016-05-30 | 2016-11-02 | 北京皮尔布莱尼软件有限公司 | 一种异步更新数据的方法及系统 |
CN106407347A (zh) * | 2016-09-05 | 2017-02-15 | 北京奇虎科技有限公司 | 一种缓存数据的方法和装置 |
CN106462715A (zh) * | 2014-06-03 | 2017-02-22 | 阿姆Ip有限公司 | 访问以及提供对于在远程资源与数据处理设备之间发送的数据的访问的方法 |
CN108416016A (zh) * | 2018-03-05 | 2018-08-17 | 北京云端智度科技有限公司 | 一种cdn按前缀缓存清除方法和系统 |
CN110086756A (zh) * | 2018-01-26 | 2019-08-02 | 沪江教育科技(上海)股份有限公司 | 一种验证方法、终端以及服务器 |
CN111061654A (zh) * | 2019-11-11 | 2020-04-24 | 支付宝(杭州)信息技术有限公司 | 缓存刷新处理方法及装置和电子设备 |
CN111737298A (zh) * | 2020-06-19 | 2020-10-02 | 中国工商银行股份有限公司 | 基于分布式存储的缓存数据管控方法及装置 |
CN112749195A (zh) * | 2020-12-30 | 2021-05-04 | 广州凡科互联网科技股份有限公司 | 一种异步延时加载缓存的方法 |
CN112825526A (zh) * | 2019-11-20 | 2021-05-21 | 贵州白山云科技股份有限公司 | 文件更新方法、装置、介质及设备 |
WO2022206487A1 (zh) * | 2021-03-30 | 2022-10-06 | 贵州白山云科技股份有限公司 | 一种缓存对象更新方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090193064A1 (en) * | 2008-01-29 | 2009-07-30 | Ying Chen | Method and system for access-rate-based storage management of continuously stored data |
CN101557390A (zh) * | 2008-04-11 | 2009-10-14 | 北京闻言科技有限公司 | 一种灵活运用缓存技术来提高系统性能的方法 |
CN102111449A (zh) * | 2011-02-23 | 2011-06-29 | 北京蓝汛通信技术有限责任公司 | 一种更新数据的方法、装置和系统 |
CN102946442A (zh) * | 2012-12-06 | 2013-02-27 | 网宿科技股份有限公司 | 基于智能刷新的文件更新发布的方法和系统 |
-
2013
- 2013-08-21 CN CN2013103683301A patent/CN103401950A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090193064A1 (en) * | 2008-01-29 | 2009-07-30 | Ying Chen | Method and system for access-rate-based storage management of continuously stored data |
CN101557390A (zh) * | 2008-04-11 | 2009-10-14 | 北京闻言科技有限公司 | 一种灵活运用缓存技术来提高系统性能的方法 |
CN102111449A (zh) * | 2011-02-23 | 2011-06-29 | 北京蓝汛通信技术有限责任公司 | 一种更新数据的方法、装置和系统 |
CN102946442A (zh) * | 2012-12-06 | 2013-02-27 | 网宿科技股份有限公司 | 基于智能刷新的文件更新发布的方法和系统 |
Non-Patent Citations (1)
Title |
---|
麻铭武等: "Internet网络中的代理访问技术", 《计算机与通信》 * |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106462715B (zh) * | 2014-06-03 | 2021-05-07 | 阿姆Ip有限公司 | 访问以及提供对于在远程资源与数据处理设备之间发送的数据的访问的方法 |
US10880094B2 (en) | 2014-06-03 | 2020-12-29 | Arm Ip Limited | Methods of accessing and providing access to a remote resource from a data processing device |
US11218321B2 (en) | 2014-06-03 | 2022-01-04 | Arm Ip Limited | Methods of accessing and providing access to data sent between a remote resource and a data processing device |
CN106462715A (zh) * | 2014-06-03 | 2017-02-22 | 阿姆Ip有限公司 | 访问以及提供对于在远程资源与数据处理设备之间发送的数据的访问的方法 |
CN104657401A (zh) * | 2014-10-21 | 2015-05-27 | 北京齐尔布莱特科技有限公司 | 一种web缓存的更新方法 |
CN105468707A (zh) * | 2015-11-19 | 2016-04-06 | 北京锐安科技有限公司 | 一种基于缓存的数据处理方法及装置 |
CN105608115A (zh) * | 2015-12-11 | 2016-05-25 | 北京奇虎科技有限公司 | 数据获取方法与装置 |
CN106066877B (zh) * | 2016-05-30 | 2019-08-30 | 北京皮尔布莱尼软件有限公司 | 一种异步更新数据的方法及系统 |
CN106066877A (zh) * | 2016-05-30 | 2016-11-02 | 北京皮尔布莱尼软件有限公司 | 一种异步更新数据的方法及系统 |
CN106407347B (zh) * | 2016-09-05 | 2019-08-06 | 北京奇虎科技有限公司 | 一种缓存数据的方法和装置 |
CN106407347A (zh) * | 2016-09-05 | 2017-02-15 | 北京奇虎科技有限公司 | 一种缓存数据的方法和装置 |
CN110086756A (zh) * | 2018-01-26 | 2019-08-02 | 沪江教育科技(上海)股份有限公司 | 一种验证方法、终端以及服务器 |
CN108416016A (zh) * | 2018-03-05 | 2018-08-17 | 北京云端智度科技有限公司 | 一种cdn按前缀缓存清除方法和系统 |
CN111061654A (zh) * | 2019-11-11 | 2020-04-24 | 支付宝(杭州)信息技术有限公司 | 缓存刷新处理方法及装置和电子设备 |
CN111061654B (zh) * | 2019-11-11 | 2022-05-10 | 支付宝(杭州)信息技术有限公司 | 缓存刷新处理方法及装置和电子设备 |
CN112825526A (zh) * | 2019-11-20 | 2021-05-21 | 贵州白山云科技股份有限公司 | 文件更新方法、装置、介质及设备 |
CN112825526B (zh) * | 2019-11-20 | 2023-01-31 | 贵州白山云科技股份有限公司 | 文件更新方法、装置、介质及设备 |
CN111737298A (zh) * | 2020-06-19 | 2020-10-02 | 中国工商银行股份有限公司 | 基于分布式存储的缓存数据管控方法及装置 |
CN111737298B (zh) * | 2020-06-19 | 2024-04-26 | 中国工商银行股份有限公司 | 基于分布式存储的缓存数据管控方法及装置 |
CN112749195A (zh) * | 2020-12-30 | 2021-05-04 | 广州凡科互联网科技股份有限公司 | 一种异步延时加载缓存的方法 |
WO2022206487A1 (zh) * | 2021-03-30 | 2022-10-06 | 贵州白山云科技股份有限公司 | 一种缓存对象更新方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103401950A (zh) | 缓存异步刷新方法、缓存服务器处理请求方法和系统 | |
US9729499B2 (en) | Browser and method for domain name resolution by the same | |
CN102075570B (zh) | 一种基于关键字的http报文缓存机制的实现方法 | |
US20160259800A1 (en) | Webpage loading method, client and server | |
CN103338272A (zh) | 一种内容分发网络及其缓存实现方法 | |
CN102946442B (zh) | 基于智能刷新的文件更新发布的方法和系统 | |
CN104753966A (zh) | 一种基于服务器和客户端缓存的资源文件查询方法及系统 | |
US10296485B2 (en) | Remote direct memory access (RDMA) optimized high availability for in-memory data storage | |
CN102984286A (zh) | 一种dns服务器的缓存更新方法、装置及系统 | |
US20130198313A1 (en) | Using entity tags (etags) in a hierarchical http proxy cache to reduce network traffic | |
EP3018884A1 (en) | Mobile terminal cross-browser login method and device | |
KR20180125009A (ko) | 데이터 캐싱 방법 및 장치 | |
CN103019879A (zh) | 浏览器崩溃信息的处理方法及系统 | |
CN103152367A (zh) | 一种缓存的动态维护更新方法及系统 | |
CN103347092A (zh) | 一种识别缓存文件的方法及装置 | |
CN110019873B (zh) | 人脸数据处理方法、装置及设备 | |
CN105608159A (zh) | 数据缓存的方法和装置 | |
CN111371585A (zh) | 用于cdn节点的配置方法及装置 | |
CN109597697B (zh) | 一种资源撮合处理方法及装置 | |
CN113157734B (zh) | 基于搜索框架的数据处理方法、装置、设备及存储介质 | |
US8639770B1 (en) | Separation of mutable and immutable data in a memory cache for improvement of data updates | |
CN111782614B (zh) | 数据访问方法、装置、设备及存储介质 | |
CN102929943A (zh) | 数据输出方法及装置 | |
CN111291083B (zh) | 网页源码数据处理方法、装置及计算机设备 | |
WO2018081963A1 (zh) | 一种dns解析方法、装置及网络系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20131120 |
|
RJ01 | Rejection of invention patent application after publication |