CN105279034A - 一致性缓存控制系统和方法 - Google Patents
一致性缓存控制系统和方法 Download PDFInfo
- Publication number
- CN105279034A CN105279034A CN201510702705.2A CN201510702705A CN105279034A CN 105279034 A CN105279034 A CN 105279034A CN 201510702705 A CN201510702705 A CN 201510702705A CN 105279034 A CN105279034 A CN 105279034A
- Authority
- CN
- China
- Prior art keywords
- data
- server
- web application
- lower secondary
- update time
- 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
Abstract
本发明公开了一种一致性缓存控制系统和方法,涉及数据缓存技术领域。该技术方案通过数据源更新模块预估下次的数据更新时间,并将数据下次统一更新时间点放入http响应请求头中,由各子模块、系统、服务器读取到该时间点,统一作为上次数据的缓存生命结束期。这样,在下次数据更新后,能够准确的统一使各模块上次缓存数据失效,使各层级、异构系统间的缓存实现统一控制,而且不会产生缓存数据生命周期叠加的问题,使更新后的数据能够及时迅速的从服务端到达请求用户端,进而使用户及时的获取到有效数据。
Description
技术领域
本发明涉及数据缓存技术领域,尤其涉及一种一致性缓存控制系统和方法。
背景技术
在实际软件开发中,为了解决服务器响应高并发请求的性能问题,技术开发人员通常会使用数据缓存来减少系统的性能瓶颈,并最终提高系统处理请求的速度。
添加数据缓存在系统性能优化上确实起到了很大的作用,但是,现有技术中,每个模块在进行缓存控制时,往往只是考虑到本模块的性能压力,根据本模块的性能优化需求各自评估一个数据生命周期时长,解决本模块自身的性能瓶颈问题。而对于高并发的商业网站,往往需求复杂,模块、子系统及服务器数量较多,且每个模块均会受到大量用户的访问请求,因此各模块、子系统为了解决自身的性能问题,都会将数据缓存一定的时间,例如:30分钟。这样,系统后台数据,在更新后,往往需要在各模块、子系统、服务器中的缓存数据失效后,才最终一层层穿透,到达请求用户端。因而,系统技术人员对数据更新到前台的准确时间,无法把握;另外,由于各模块只是从自身性能优化的需求出发,因此,在评估一份数据生命周期时长时,标准可能不一致,而且各子系统间评估的生命周期最终可能会产生叠加的效果,导致数据本应该存活10分钟失效的,实际存活时间可能达到N*10分钟,进而导致用户无法及时的获取到有效数据。
发明内容
本发明的目的在于提供一种一致性缓存控制系统和方法,从而解决现有技术中存在的前述问题。
为了实现上述目的,本发明采用的技术方案如下:
一致性缓存控制系统,包括依次连接的:RestWebAPI服务器、Web应用服务器、代理服务器和用户,所述RestWebAPI服务器、Web应用服务器和代理服务器均包括缓存机制,所述RestWebAPI服务器、所述Web应用服务器和所述代理服务器约定有统一的缓存数据过期时间。
优选地,所述RestWebAPI服务器用于提供数据接口,处理每日所有用户访问网站希望获取到的服务器数据内容,且通过不同程度的缓存处理来提高系统响应性能。
优选地,所述Web应用服务器用于处理用户http请求,并响应输出用户请求内容。
优选地,所述代理服务器用于隔离所述web应用服务器与所述用户的直接联系,接管所述用户访问请求,转发到所述web应用服务器,并将所述web应用服务器输出的响应返回给所述用户,且具有一定的缓存和容错机制。
优选地,所述用户用于提供请求访问的程序。
优选地,所述RestWebAPI服务器包括数据源更新模块,所述数据源更新模块用于预估下次数据的更新时间,还用于将所述下次数据的更新时间存放至http响应请求头中,用于所述Web应用服务器读取到所述下次数据的更新时间。
一致性缓存控制方法,包括如下步骤:
S1,RestWebAPI服务器预估下次数据的更新时间,按照所述下次数据的更新时间控制自身数据的生命周期;
S2,所述Web应用服务器从所述RestWebAPI服务器中读取所述下次数据的更新时间,并按照所述下次数据的更新时间控制自身数据的生命周期;
S3,所述代理服务器从所述Web应用服务器中读取所述下次数据的更新时间,并按照所述下次数据的更新时间控制自身数据的生命周期;
S4,所述代理服务器将所述下次数据的更新时间传输给用户。
优选地,S1中,所述RestWebAPI服务器将所述下次数据的更新时间存放至http响应请求头中,则,S2中,所述Web应用服务器从http响应请求头中读取所述下次数据的更新时间。
本发明的有益效果是:本发明实施例提供的一致性缓存控制系统和方法,通过数据源更新模块预估下次的数据更新时间,并将数据下次统一更新时间点放入http响应请求头中,由各子模块、系统、服务器读取到该时间点,统一作为上次数据的缓存生命结束期。这样,在下次数据更新后,能够准确的统一使各模块上次缓存数据失效,使各层级、异构系统间的缓存实现统一控制,而且不会产生缓存数据生命周期叠加的问题,使更新后的数据能够及时迅速的从服务端到达请求用户端,进而使用户及时的获取到有效数据。
附图说明
图1是本发明实施例一提供的一致性缓存控制系统的结构示意图;
图2是本发明实施例二提供的一致性缓存控制方法流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。
实施例一
如图1所示,本发明实施例提供了一种一致性缓存控制系统,包括依次连接的:RestWebAPI服务器、Web应用服务器、代理服务器和用户,所述RestWebAPI服务器、Web应用服务器和代理服务器均包括缓存机制,所述RestWebAPI服务器、所述Web应用服务器和所述代理服务器约定有统一的缓存数据过期时间。
该系统实现缓存统一控制的过程为:
首先,RestWebAPI服务器作为数据源,通过数据更新模块预估下次数据的更新时间,而且该服务器按照所述下次数据的更新时间控制自身数据的生命周期;
然后,RestWebAPI服务器将下次数据的更新时间,即上次数据的过期时间或失效时间传输至Web应用服务器中,Web应用服务器按照RestWebAPI服务器约定的下次数据的更新时间控制自身数据的生命周期;
之后,Web应用服务器将约定的下次数据的更新时间,即上次数据的过期时间或失效时间传输至代理服务器中,代理服务器按照Web应用服务器约定的下次数据的更新时间控制自身数据的生命周期;
最后,代理服务器将所述下次数据的更新时间传输给用户。
从而实现对各层次服务器的数据更新的同一控制,使用户能够及时的得到有效的数据。
其中,所述RestWebAPI服务器用于提供数据接口,处理每日所有用户访问网站希望获取到的服务器数据内容,且通过不同程度的缓存处理来提高系统响应性能。
所述Web应用服务器用于处理用户http请求,并响应输出用户请求内容。
所述代理服务器用于隔离所述web应用服务器与所述用户的直接联系,接管所述用户访问请求,转发到所述web应用服务器,并将所述web应用服务器输出的响应返回给所述用户,且具有一定的缓存和容错机制。
所述用户用于提供请求访问的程序。
本发明实施例中,所述RestWebAPI服务器包括数据源更新模块,所述数据源更新模块用于预估下次数据的更新时间,还用于将所述下次数据的更新时间存放至http响应请求头中,用于所述Web应用服务器读取到所述下次数据的更新时间。
可见,本发明公开的上述技术方案,不用专门设定系统各模块、各层次的缓存控制方式与时间,并且也不会存在缓存时间叠加的问题,数据更新后会由restwebapi服务器统一控制及时更新到系统各层次,同时也保持了系统原有的性能,最终保障用户能及时、快速的获取到网页数据。
实施例二
如图2所示,本发明实施例提供了一种一致性缓存控制方法,包括如下步骤:
S1,RestWebAPI服务器预估下次数据的更新时间,按照所述下次数据的更新时间控制自身数据的生命周期;
S2,所述Web应用服务器从所述RestWebAPI服务器中读取所述下次数据的更新时间,并按照所述下次数据的更新时间控制自身数据的生命周期;
S3,所述代理服务器从所述Web应用服务器中读取所述下次数据的更新时间,并按照所述下次数据的更新时间控制自身数据的生命周期;
S4,所述代理服务器将所述下次数据的更新时间传输给用户。
可见,在本实施例中,采用了多样化的缓存控制方式:RestWebAPI服务器缓存控制,代理服务器缓存控制,而且存在多层级异构系统,对于这种情况,本实施例中,数据更新后通过restwebapi服务器统一控制及时更新到系统各层次,从而,在下次数据更新后,能够准确的统一使各模块上次缓存数据失效,使各层级、异构系统间的缓存实现统一控制,而且不会产生缓存数据生命周期叠加的问题,使更新后的数据能够及时迅速的从服务端到达请求用户端,进而使用户及时的获取到有效数据。
其中,S1中,所述RestWebAPI服务器将所述下次数据的更新时间存放至http响应请求头中,则,S2中,所述Web应用服务器从http响应请求头中读取所述下次数据的更新时间。
本发明实施例中,通过基于http响应请求头传输数据过期时间,从而实现了各异构系统间缓存的统一更新控制。
通过采用本发明公开的上述技术方案,得到了如下有益的效果:本发明实施例提供的一致性缓存控制系统和方法,通过数据源更新模块预估下次的数据更新时间,并将数据下次统一更新时间点放入http响应请求头中,由各子模块、系统、服务器读取到该时间点,统一作为上次数据的缓存生命结束期。这样,在下次数据更新后,能够准确的统一使各模块上次缓存数据失效,使各层级、异构系统间的缓存实现统一控制,而且不会产生缓存数据生命周期叠加的问题,使更新后的数据能够及时迅速的从服务端到达请求用户端,进而使用户及时的获取到有效数据。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域人员应该理解的是,上述实施例提供的方法步骤的时序可根据实际情况进行适应性调整,也可根据实际情况并发进行。
上述实施例涉及的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机设备可读取的存储介质中,用于执行上述各实施例方法所述的全部或部分步骤。所述计算机设备,例如:个人计算机、服务器、网络设备、智能移动终端、智能家居设备、穿戴式智能设备、车载智能设备等;所述的存储介质,例如:RAM、ROM、磁碟、磁带、光盘、闪存、U盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储等。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
Claims (8)
1.一致性缓存控制系统,其特征在于,包括依次连接的:RestWebAPI服务器、Web应用服务器、代理服务器和用户,所述RestWebAPI服务器、Web应用服务器和代理服务器均包括缓存机制,所述RestWebAPI服务器、所述Web应用服务器和所述代理服务器约定有统一的缓存数据过期时间。
2.根据权利要求1所述的一致性缓存控制系统,其特征在于,所述RestWebAPI服务器用于提供数据接口,处理每日所有用户访问网站希望获取到的服务器数据内容,且通过不同程度的缓存处理来提高系统响应性能。
3.根据权利要求1所述的一致性缓存控制系统,其特征在于,所述Web应用服务器用于处理用户http请求,并响应输出用户请求内容。
4.根据权利要求1所述的一致性缓存控制系统,其特征在于,所述代理服务器用于隔离所述web应用服务器与所述用户的直接联系,接管所述用户访问请求,转发到所述web应用服务器,并将所述web应用服务器输出的响应返回给所述用户,且具有一定的缓存和容错机制。
5.根据权利要求1所述的一致性缓存控制系统,其特征在于,所述用户用于提供请求访问的程序。
6.根据权利要求1所述的一致性缓存控制系统,其特征在于,所述RestWebAPI服务器包括数据源更新模块,所述数据源更新模块用于预估下次数据的更新时间,还用于将所述下次数据的更新时间存放至http响应请求头中,用于所述Web应用服务器读取到所述下次数据的更新时间。
7.一致性缓存控制方法,其特征在于,包括如下步骤:
S1,RestWebAPI服务器预估下次数据的更新时间,按照所述下次数据的更新时间控制自身数据的生命周期;
S2,所述Web应用服务器从所述RestWebAPI服务器中读取所述下次数据的更新时间,并按照所述下次数据的更新时间控制自身数据的生命周期;
S3,所述代理服务器从所述Web应用服务器中读取所述下次数据的更新时间,并按照所述下次数据的更新时间控制自身数据的生命周期;
S4,所述代理服务器将所述下次数据的更新时间传输给用户。
8.根据权利要求7所述的一致性缓存控制方法,其特征在于,S1中,所述RestWebAPI服务器将所述下次数据的更新时间存放至http响应请求头中,则,S2中,所述Web应用服务器从http响应请求头中读取所述下次数据的更新时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510702705.2A CN105279034B (zh) | 2015-10-26 | 2015-10-26 | 一致性缓存控制系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510702705.2A CN105279034B (zh) | 2015-10-26 | 2015-10-26 | 一致性缓存控制系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105279034A true CN105279034A (zh) | 2016-01-27 |
CN105279034B CN105279034B (zh) | 2018-11-30 |
Family
ID=55148084
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510702705.2A Active CN105279034B (zh) | 2015-10-26 | 2015-10-26 | 一致性缓存控制系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105279034B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106326489A (zh) * | 2016-09-09 | 2017-01-11 | 腾讯科技(深圳)有限公司 | 网络资源更新的方法和装置 |
WO2018023966A1 (zh) * | 2016-08-03 | 2018-02-08 | 华为技术有限公司 | 一种缓存策略的确定方法及装置 |
CN108280111A (zh) * | 2017-06-13 | 2018-07-13 | 广州市动景计算机科技有限公司 | 页面处理方法、装置、用户终端以及存储介质 |
CN109992428A (zh) * | 2017-12-29 | 2019-07-09 | 北京京东尚科信息技术有限公司 | 数据处理方法及系统 |
WO2022246848A1 (zh) * | 2021-05-28 | 2022-12-01 | 华为技术有限公司 | 分布式缓存系统和数据缓存方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110246420A1 (en) * | 2008-12-23 | 2011-10-06 | Fenglai Wang | Database system based on web application and data management method thereof |
CN103152367A (zh) * | 2011-12-06 | 2013-06-12 | 盛乐信息技术(上海)有限公司 | 一种缓存的动态维护更新方法及系统 |
US20130246498A1 (en) * | 2012-03-16 | 2013-09-19 | Stephen Zucknovich | Content distribution management system |
CN104657401A (zh) * | 2014-10-21 | 2015-05-27 | 北京齐尔布莱特科技有限公司 | 一种web缓存的更新方法 |
-
2015
- 2015-10-26 CN CN201510702705.2A patent/CN105279034B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110246420A1 (en) * | 2008-12-23 | 2011-10-06 | Fenglai Wang | Database system based on web application and data management method thereof |
CN103152367A (zh) * | 2011-12-06 | 2013-06-12 | 盛乐信息技术(上海)有限公司 | 一种缓存的动态维护更新方法及系统 |
US20130246498A1 (en) * | 2012-03-16 | 2013-09-19 | Stephen Zucknovich | Content distribution management system |
CN104657401A (zh) * | 2014-10-21 | 2015-05-27 | 北京齐尔布莱特科技有限公司 | 一种web缓存的更新方法 |
Non-Patent Citations (1)
Title |
---|
韩向春等: "代理缓存替换一致性算法的研究", 《计算机工程与设计》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018023966A1 (zh) * | 2016-08-03 | 2018-02-08 | 华为技术有限公司 | 一种缓存策略的确定方法及装置 |
CN106326489A (zh) * | 2016-09-09 | 2017-01-11 | 腾讯科技(深圳)有限公司 | 网络资源更新的方法和装置 |
CN106326489B (zh) * | 2016-09-09 | 2021-08-27 | 腾讯科技(深圳)有限公司 | 网络资源更新的方法和装置 |
CN108280111A (zh) * | 2017-06-13 | 2018-07-13 | 广州市动景计算机科技有限公司 | 页面处理方法、装置、用户终端以及存储介质 |
CN108280111B (zh) * | 2017-06-13 | 2020-11-24 | 阿里巴巴(中国)有限公司 | 页面处理方法、装置、用户终端以及存储介质 |
CN109992428A (zh) * | 2017-12-29 | 2019-07-09 | 北京京东尚科信息技术有限公司 | 数据处理方法及系统 |
CN109992428B (zh) * | 2017-12-29 | 2022-06-07 | 北京京东尚科信息技术有限公司 | 数据处理方法及系统 |
WO2022246848A1 (zh) * | 2021-05-28 | 2022-12-01 | 华为技术有限公司 | 分布式缓存系统和数据缓存方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105279034B (zh) | 2018-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200328959A1 (en) | Data transmission method and apparatus | |
CN105279034A (zh) | 一致性缓存控制系统和方法 | |
US20180060431A1 (en) | Managing cached data in a network environment | |
US8799409B2 (en) | Server side data cache system | |
JP2019153323A (ja) | 検索結果へのアクセスを改良するシステム、方法及び記憶媒体 | |
US10938935B1 (en) | Reduction in redirect navigation latency via speculative preconnection | |
CN105283847B (zh) | 本地存储数据版本控制 | |
CN106664592A (zh) | 通过无线网络在选定时间使用保证预取的有效内容分发 | |
CN103297291A (zh) | 网站实时状态监控方法及系统 | |
CN103685304A (zh) | 一种共享session信息的方法和系统 | |
CN103152367A (zh) | 一种缓存的动态维护更新方法及系统 | |
CN104657401A (zh) | 一种web缓存的更新方法 | |
CN104391868A (zh) | 动态页面静态化的装置和方法 | |
US11443099B2 (en) | Time-dependent machine-generated hinting | |
US9503541B2 (en) | Fast mobile web applications using cloud caching | |
US10783076B1 (en) | Revising cache expiration | |
WO2018082712A1 (zh) | 一种情境感知的移动Web应用协议切换方法 | |
US20150324463A1 (en) | Method and apparatus for aquiring dynamic message | |
CN103607424A (zh) | 一种服务器连接方法及服务器系统 | |
CN103327036B (zh) | 互联网浏览设备的标识方法以及Cookie服务器 | |
CN109522501A (zh) | 页面内容管理方法及其装置 | |
EP1499084A3 (en) | Managing program applications | |
US9307059B2 (en) | Retry mechanism for data loading from on-premise datasource to cloud | |
CN105556918A (zh) | 一种资源下载方法、电子设备及装置 | |
CN107423302A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |