一致性缓存控制系统和方法

文档序号:9524070阅读:626来源:国知局
一致性缓存控制系统和方法
【技术领域】
[0001]本发明涉及数据缓存技术领域,尤其涉及一种一致性缓存控制系统和方法。
【背景技术】
[0002]在实际软件开发中,为了解决服务器响应高并发请求的性能问题,技术开发人员通常会使用数据缓存来减少系统的性能瓶颈,并最终提高系统处理请求的速度。
[0003]添加数据缓存在系统性能优化上确实起到了很大的作用,但是,现有技术中,每个模块在进行缓存控制时,往往只是考虑到本模块的性能压力,根据本模块的性能优化需求各自评估一个数据生命周期时长,解决本模块自身的性能瓶颈问题。而对于高并发的商业网站,往往需求复杂,模块、子系统及服务器数量较多,且每个模块均会受到大量用户的访问请求,因此各模块、子系统为了解决自身的性能问题,都会将数据缓存一定的时间,例如:30分钟。这样,系统后台数据,在更新后,往往需要在各模块、子系统、服务器中的缓存数据失效后,才最终一层层穿透,到达请求用户端。因而,系统技术人员对数据更新到前台的准确时间,无法把握;另外,由于各模块只是从自身性能优化的需求出发,因此,在评估一份数据生命周期时长时,标准可能不一致,而且各子系统间评估的生命周期最终可能会产生叠加的效果,导致数据本应该存活10分钟失效的,实际存活时间可能达到N*10分钟,进而导致用户无法及时的获取到有效数据。

【发明内容】

[0004]本发明的目的在于提供一种一致性缓存控制系统和方法,从而解决现有技术中存在的前述问题。
[0005]为了实现上述目的,本发明采用的技术方案如下:
[0006]一致性缓存控制系统,包括依次连接的:Rest Web API服务器、Web应用服务器、代理服务器和用户,所述Rest Web API服务器、Web应用服务器和代理服务器均包括缓存机制,所述Rest Web API服务器、所述Web应用服务器和所述代理服务器约定有统一的缓存数据过期时间。
[0007]优选地,所述Rest Web API服务器用于提供数据接口,处理每日所有用户访问网站希望获取到的服务器数据内容,且通过不同程度的缓存处理来提高系统响应性能。
[0008]优选地,所述Web应用服务器用于处理用户http请求,并响应输出用户请求内容。
[0009]优选地,所述代理服务器用于隔离所述web应用服务器与所述用户的直接联系,接管所述用户访问请求,转发到所述web应用服务器,并将所述web应用服务器输出的响应返回给所述用户,且具有一定的缓存和容错机制。
[0010]优选地,所述用户用于提供请求访问的程序。
[0011 ] 优选地,所述Rest Web API服务器包括数据源更新模块,所述数据源更新模块用于预估下次数据的更新时间,还用于将所述下次数据的更新时间存放至http响应请求头中,用于所述Web应用服务器读取到所述下次数据的更新时间。
[0012]一致性缓存控制方法,包括如下步骤:
[0013]Sl,Rest Web API服务器预估下次数据的更新时间,按照所述下次数据的更新时间控制自身数据的生命周期;
[0014]S2,所述Web应用服务器从所述Rest Web API服务器中读取所述下次数据的更新时间,并按照所述下次数据的更新时间控制自身数据的生命周期;
[0015]S3,所述代理服务器从所述Web应用服务器中读取所述下次数据的更新时间,并按照所述下次数据的更新时间控制自身数据的生命周期;
[0016]S4,所述代理服务器将所述下次数据的更新时间传输给用户。
[0017]优选地,S1中,所述Rest Web API服务器将所述下次数据的更新时间存放至http响应请求头中,则,S2中,所述Web应用服务器从http响应请求头中读取所述下次数据的更新时间。
[0018]本发明的有益效果是:本发明实施例提供的一致性缓存控制系统和方法,通过数据源更新模块预估下次的数据更新时间,并将数据下次统一更新时间点放入http响应请求头中,由各子模块、系统、服务器读取到该时间点,统一作为上次数据的缓存生命结束期。这样,在下次数据更新后,能够准确的统一使各模块上次缓存数据失效,使各层级、异构系统间的缓存实现统一控制,而且不会产生缓存数据生命周期叠加的问题,使更新后的数据能够及时迅速的从服务端到达请求用户端,进而使用户及时的获取到有效数据。
【附图说明】
[0019]图1是本发明实施例一提供的一致性缓存控制系统的结构示意图;
[0020]图2是本发明实施例二提供的一致性缓存控制方法流程示意图。
【具体实施方式】
[0021]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的【具体实施方式】仅仅用以解释本发明,并不用于限定本发明。
[0022]实施例一
[0023]如图1所示,本发明实施例提供了一种一致性缓存控制系统,包括依次连接的:Rest Web API服务器、Web应用服务器、代理服务器和用户,所述Rest Web API服务器、Web应用服务器和代理服务器均包括缓存机制,所述Rest Web API服务器、所述Web应用服务器和所述代理服务器约定有统一的缓存数据过期时间。
[0024]该系统实现缓存统一控制的过程为:
[0025]首先,Rest Web API服务器作为数据源,通过数据更新模块预估下次数据的更新时间,而且该服务器按照所述下次数据的更新时间控制自身数据的生命周期;
[0026]然后,Rest Web API服务器将下次数据的更新时间,即上次数据的过期时间或失效时间传输至Web应用服务器中,Web应用服务器按照Rest Web API服务器约定的下次数据的更新时间控制自身数据的生命周期;
[0027]之后,Web应用服务器将约定的下次数据的更新时间,即上次数据的过期时间或失效时间传输至代理服务器中,代理服务器按照Web应用服务器约定的下次数据的更新时间控制自身数据的生命周期;
[0028]最后,代理服务器将所述下次数据的更新时间传输给用户。
[0029]从而实现对各层次服务器的数据更新的同一控制,使用户能够及时的得到有效的数据。
[0030]其中,所述Rest Web API服务器用于提供数据接口,处理每日所有用户访问网站希望获取到的服务器数据内容,且通过不同程度的缓存处理来提高系统响应性能。
[0031]所述Web应用服务器用于处理用户http请求,并响应输出用户请求内容。
[0032]所述代理服务器用于隔离所述web应用服务器与所述用户的直接联系,接管所述用户访问请求,转发到所述web应用服务器,并将所述web应用服务器输出的响应返回给所述用户,且具有一定的缓存和容错机制。
[0033]所述用户用于提供请求访问的程序。
[0034]本发明实施例中,所述Rest Web API服务器包括数据源更新模块,所述数据源更新模块用于预估下次数据的更新时间,还用于将所述下次数据的更新时间存放至http响应请求头中,用于所述Web应用服务器读取到所述下次数据的更新时间。
[0035]可见,本发明公开的上述技术方案,不用专门设定系统各模块、各层次的缓存控制方式与时间,并且也不会存在缓存时间叠加的问题,数据更新后会由rest web a
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1