CN108153794B - 页面缓存数据刷新方法、装置及系统 - Google Patents
页面缓存数据刷新方法、装置及系统 Download PDFInfo
- Publication number
- CN108153794B CN108153794B CN201611110557.6A CN201611110557A CN108153794B CN 108153794 B CN108153794 B CN 108153794B CN 201611110557 A CN201611110557 A CN 201611110557A CN 108153794 B CN108153794 B CN 108153794B
- Authority
- CN
- China
- Prior art keywords
- packet
- cache
- target cache
- target
- page
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
Abstract
本申请实施例公开了页面缓存数据刷新方法、装置及系统,该系统包括:缓存刷新控制子系统,用于接收针对目标缓存包执行刷新的触发消息,根据所述目标缓存包确定调用参数,并向缓存刷新执行子系统的打包接口发送调用请求;所述缓存刷新执行子系统,用于接收到所述调用请求后,根据所述目标缓存包以及相关的调用参数,生成用于对关联的客户端中的所述目标缓存包执行预置操作的包,并提供给所述关联的客户端,以便所述客户端对各自本地保存的所述目标缓存包指定所述预置操作。通过本申请实施例,能够更好的保证缓存包的刷新效率以及成功率。
Description
技术领域
本申请涉及页面缓存数据刷新处理技术领域,特别是涉及页面缓存数据刷新方法、装置及系统。
背景技术
在“天猫”等大型的网络销售平台中,通常会存在大量的页面,尤其是在大型促销活动中,服务器会受到非常大的访问压力。为了减轻服务器的压力,也加快用户页面的加载速度,现有技术中使用了客户端缓存方案。也即,对于页面中一些比较耗费传输资源,并且更新频率不是很高的页面资源,包括JS、CSS资源等,可以在客户端进行缓存。这样,在用户再次访问同一页面时,关于本地已经缓存的内容,则可以直接从本地进行加载,其他的未缓存内容,包括具体的商品对象信息等,可以从服务器中加载,这样,可以提高加载效率,并且,也可以减轻服务器的访问压力,以及系统的数据传输压力,还有利于节省用户的流量资源,等等。
其中,关于在客户端缓存的页面资源,原则上讲,通常还是一些更新频率比较低的资源,但是,更新频率低并不意味着不会发生更新。而当这种页面资源发生更新时,也需要对客户端缓存的页面资源信息进行刷新,以保证页面的实时性。但是,如何实现该刷新的过程,则是需要考虑的问题,如果由发布页面的用户手动去操作刷新缓存的步骤,操作链路过长并且难以把控不同页面间的刷新成功率。
总之,如何更有效的实现对客户端缓存的页面信息进行刷新,成为需要本领域技术人员解决的技术问题。
发明内容
本申请提供了页面缓存数据刷新方法、装置及系统,能够更好的保证缓存包的刷新效率以及成功率。
本申请提供了如下方案:
一种页面缓存数据刷新系统,包括:
缓存刷新控制子系统,用于接收针对目标缓存包执行刷新的触发消息,根据所述目标缓存包确定调用参数,并向缓存刷新执行子系统的打包接口发送调用请求;
所述缓存刷新执行子系统,用于接收到所述调用请求后,根据所述目标缓存包以及相关的调用参数,生成用于对关联的客户端中的所述目标缓存包执行预置操作的包,并提供给所述关联的客户端,以便所述客户端对各自本地保存的所述目标缓存包指定所述预置操作。
一种页面缓存数据刷新方法,包括:
缓存刷新控制子系统服务器接收针对目标缓存包执行刷新的触发消息;
根据所述目标缓存包确定调用参数,并向缓存刷新执行子系统的打包接口发送调用请求,以便所述缓存刷新执行子系统根据所述目标缓存包以及相关的调用参数,生成用于对关联的客户端中的所述目标缓存包执行预置操作的包,并提供给所述关联的客户端,由所述客户端对各自本地保存的所述目标缓存包指定所述预置操作。
一种页面缓存数据刷新方法,包括:
缓存刷新执行子系统服务器接收缓存刷新控制子系统服务器对打包接口的调用请求;
根据所述调用请求关联的目标缓存包以及相关的调用参数,生成用于对关联的客户端中的所述目标缓存包执行预置操作的包;
确定所述目标缓存包关联的客户端,并将所述生成的包提供给所述关联的客户端,以便所述客户端对各自本地保存的所述目标缓存包指定所述预置操作。
一种页面缓存数据刷新方法,包括:
客户端接收缓存刷新执行子系统服务器发送的用于对目标缓存包执行预置操作的包,该用于执行预置操作的包根据缓存刷新控制子系统服务器的调用请求生成,所述调用请求中包括所述目标缓存包的标识以及调用参数;
根据所述用于执行预置操作的包,对所述目标缓存包执行所述预置操作。
一种页面缓存数据刷新装置,应用于缓存刷新控制子系统服务器,包括:
触发消息接收单元,用于接收针对目标缓存包执行刷新的触发消息;
接口调用单元,用于根据所述目标缓存包确定调用参数,并向缓存刷新执行子系统的打包接口发送调用请求,以便所述缓存刷新执行子系统根据所述目标缓存包以及相关的调用参数,生成用于对关联的客户端中的所述目标缓存包执行预置操作的包,并提供给所述关联的客户端,由所述客户端对各自本地保存的所述目标缓存包指定所述预置操作。
一种页面缓存数据刷新装置,应用于缓存刷新执行子系统服务器,包括:
调用请求接收单元,用于接收缓存刷新控制子系统服务器对打包接口的调用请求;
打包单元,用于根据所述调用请求关联的目标缓存包以及相关的调用参数,生成用于对关联的客户端中的所述目标缓存包执行预置操作的包;
客户端确定单元,用于确定所述目标缓存包关联的客户端,并将所述生成的包提供给所述关联的客户端,以便所述客户端对各自本地保存的所述目标缓存包指定所述预置操作。
一种页面缓存数据刷新装置,应用于客户端,包括:
接收单元,用于接收缓存刷新执行子系统服务器发送的用于对目标缓存包执行预置操作的包,该用于执行预置操作的包根据缓存刷新控制子系统服务器的调用请求生成,所述调用请求中包括所述目标缓存包的标识以及调用参数;
操作执行单元,用于根据所述用于执行预置操作的包,对所述目标缓存包执行所述预置操作。
根据本申请提供的具体实施例,本申请公开了以下技术效果:
通过本申请实施例,可以通过缓存刷新控制子系统接收针对目标缓存包执行刷新的触发消息,根据所述目标缓存包确定调用参数,并向缓存刷新执行子系统的打包接口发送调用请求,然后,由缓存刷新执行子系统根据所述目标缓存包以及相关的调用参数,生成用于对关联的客户端中的所述目标缓存包执行预置操作的包,并提供给所述关联的客户端,以便所述客户端对各自本地保存的所述目标缓存包指定所述预置操作。也就是说,对于存在数据缓存需求的页面,可以通过上述系统完成对缓存包的自动刷新,用户在发布页面后不需要再关心刷新缓存的操作,可以更好的保证缓存包的刷新效率以及成功率。
另外,还可以通过缓存刷新控制子系统对缓存包的刷新频率进行控制,在发现某缓存包刷新频率过高时,可以不再对该缓存包执行刷新操作,以防止同一缓存包在短时间内频繁的刷新而过多的耗费客户端的流量。同时,还可以暂时关闭该缓存包,使得客户端的页面访问请求可以直接通过线上加载的方式,保证前后端页面信息的同步。
当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的系统的示意图;
图2是本申请实施例提供的第一方法的流程图;
图3是本申请实施例提供的第二方法的流程图;
图4是本申请实施例提供的第三方法的流程图;
图5是本申请实施例提供的第一装置的示意图;
图6是本申请实施例提供的第二装置的示意图;
图7是本申请实施例提供的第三装置的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。
在本申请实施例中,提供一套可以对页面的缓存信息进行刷新控制的方案,在该方案中,可以通过一些自动化程序自动识别页面,并且找到对应的缓存包去做刷新请求,使用户在发布页面后不需要再关心刷新缓存的操作。下面对具体的实现方式进行详细介绍。
实施例一
首先,该实施例一提供了一种页面缓存数据刷新系统,参见图1,该系统可以包括:
缓存刷新控制子系统101,用于接收针对目标缓存包执行刷新的触发消息,根据所述目标缓存包确定调用参数,并向缓存刷新执行子系统的打包接口发送调用请求;
所述缓存刷新执行子系统102,用于接收到所述调用请求后,根据所述目标缓存包以及相关的调用参数,生成用于对关联的客户端中的所述目标缓存包执行预置操作的包,并提供给所述关联的客户端,以便所述客户端对各自本地保存的所述目标缓存包指定所述预置操作。
具体而言,该系统可以包括一个用于缓存刷新控制的平台,也即,所述缓存刷新控制子系统101。该子系统可以触发具体的对缓存包执行的操作,包括刷新缓存包的操作、关闭缓存包的操作,等等。具体刷新操作的触发方式可以有多种,例如,可以由页面更新事件触发,或者,还可以由管理员手动触发,等等。另外,该刷新控制平台还可以进行一些关于刷新频率的控制等方面的处理,避免同一个缓存包的刷新频率过高导致客户端一侧耗费的流量过大,以至于降低用户体验。
再者,还可以包括一个具体执行刷新操作的平台,也即,所述缓存刷新执行子系统102,该子系统可以提供一些接口,供刷新控制平台进行调用,并且,该平台还提供了具体的生成缓存包的功能,以及与客户端之间进行交互的功能。例如,在某页面存在更新时,该平台可以接收刷新控制平台的调用请求,可以根据具体的页面URL等信息,从对应的页面中抽取相关的缓存数据,打包生成缓存包,并提供给关联的客户端,客户端就可以用这种缓存包来替换原有的缓存包,从而实现缓存包的刷新,等等。当然,具体的控制逻辑可以比较复杂,后续中会有详细介绍。
具体实现时,该系统中还可以包括一个配置平台,也即,缓存包信息配置子系统103,在该配置子系统中,可以对页面进行分组,一个组内的一个或多个页面的缓存数据可以打包到一起,生成一个缓存包。也就是说,假设整个活动中包括一千个页面,可以分成一百个缓存包(或者其他数量),每个缓存包中包括10个页面的缓存数据。当然,不同的缓存包中也可以对应不同数目的页面,具体可以根据缓存包的容量等而定。在配置平台中,就可以对各个缓存包的名称等标识,以及每个缓存包关联的页面列表等信息进行保存。这样,对于客户端而言,对页面数据进行缓存时,就可以以这种缓存包为单位进行,例如,假设某用户当前正在访问某页面A,则服务器可以确定出该页面A所属的缓存包,然后,将该缓存包中包括的全部缓存数据,都缓存到客户端,也就是说,其中还包括了页面B、C、D等其他页面中的缓存数据。这样,用户在访问页面B、C、D等页面时,虽然是首次访问,也可以从本地缓存中获得相应的缓存数据,而不需要再从线上进行加载。因此,配置平台在具体执行配置操作时,可以将一些具有访问相关性的页面打包到一起,例如,假设访问页面A的用户,有很大可能会去访问页面B、C、D,则可以将这些页面划分到同一个缓存包中,等等。另外,后续的缓存刷新操作,也都可以是以缓存包为单位进行,例如,可以进行整个缓存包的替换,等等。
如前文所述,缓存刷新控制子系统101接收触发消息的具体方式可以有多种,例如,在其中一种情况下,所述系统还可以包括:
页面搭建子系统104,用于当目标页面与缓存数据相关的信息发生更新,并重新发布时,将页面更新消息通知给所述缓存刷新控制子系统;
此时,所述缓存刷新控制子系统101,具体可以用于接收到所述通知消息时,通过查询所述缓存包信息配置子系统,确定所述目标页面对应的目标缓存包,根据所述目标缓存包确定调用参数,并对缓存刷新执行子系统的打包接口进行调用。
其中,所谓的页面搭建子系统,主要是用于对页面进行搭建、数据投放以及发布等操作的平台,通过该平台,运营人员可以根据自己的业务需求,搭建出具体的页面,包括选择具体的模块,向模块中投放具体的数据,等等。在页面首次发布后,如果该页面中存在需要进行缓存的数据,则缓存包信息配置子系统101就可以将该页面加入到某缓存包中,这样,关于该页面的缓存数据,就可以被打包到一个数据包中。另外,当该运营人员需要对该页面的信息进行修改时,也可以通过页面搭建子系统104来进行,并在修改完成后,重新通过该页面搭建子系统104进行发布。重新发布后的页面,其URL等信息不变,但具体的页面信息发生了更新,此时,页面搭建子系统104就可以将该更新消息通知给缓存刷新控制子系统101,由该缓存刷新控制子系统101执行具体的刷新控制操作。具体在执行刷新控制操作时,可以根据目标缓存包确定出调用参数,并向缓存刷新执行子系统的打包接口发送调用请求。
或者,在另一种控制方式下,还可以是手动控制,例如,可以为缓存刷新控制子系统101的管理员用户开放一定的权限,使得该管理员用户能够手动发起对某缓存包的刷新请求。这样,所述缓存刷新控制子系统101,具体可以用于接收管理员用户触发的对目标缓存包执行刷新操作的请求,根据所述目标缓存包确定调用参数,并向缓存刷新执行子系统的打包接口发送调用请求。
其中,无论是由页面搭建子系统104在页面发生更新时自动触发,还是由管理员用户手动触发,在不考虑刷新频率等因素的情况下,所述缓存刷新控制子系统101都可以执行以下操作:首先,确定出所述目标缓存包关联的页面列表,然后,以所述目标缓存包关联的页面列表为调用参数,对所述缓存刷新执行子系统的打包接口进行调用。
相应的,所述缓存刷新执行子系统102,具体可以用于根据所述调用参数中包括的页面信息列表,从各页面中拉取待缓存的数据,并根据各页面中拉取到的待缓存数据生成用于执行刷新操作的包,提供给关联的客户端,以便关联的客户端执行缓存包刷新操作。
也就是说,具体在确定出需要对某个缓存包执行刷新操作时,缓存刷新控制子系统101可以首先确定出该缓存包关联的页面列表,然后以该列表中各个页面的URL等标识信息为参数,对缓存刷新执行子系统102的打包接口进行调用。缓存刷新执行子系统102在接收到该调用请求后,就可以根据各个页面的URL等信息,从对应的页面中抽取出各自的缓存数据。也就是说,对于缓存刷新控制子系统101以及缓存刷新执行子系统102而言,都无需知晓具体哪个页面发生了更新,只要在接收到具体的请求后,直接将缓存包内的各个页面都执行重新拉去缓存数据的操作即可,这样就可以获得各个页面中最新的缓存数据。然后再对这种最新抽取到的各个页面的缓存数据进行打包操作,生成用于对该缓存包执行刷新操作的包,该包可以是该缓存包的新版本,然后,可以发送到关联的客户端。客户端在收到该最新版本的缓存包后,可以对本地缓存的该缓存包进行替换,从而完成刷新操作。
在前述实现方案中,没有考虑刷新频率的因素,也就是说,只要接收到刷新缓存包的触发消息,就执行具体的缓存包刷新操作,但是,在实际应用中,可能出现的情况是:由于一个缓存包中包括了多个页面的缓存数据,其中每个页面发生更新时,都会重新触发对该缓存包的刷新操作,因此,可能会出现同一个缓存包在短时间内频繁更新的情况。相应的,客户端就会在短时间内收到多个新版本的缓存包,并频繁执行具体的替换操作,这会对用户的流量资源造成比较大的占用,可能会影响用户体验。
为此,在本申请的优选实施例中,所述缓存刷新控制子系统101,还可以用于在确定出所述目标页面对应的目标缓存包后,根据所述目标缓存包的刷新频率,确定是否对该目标缓存包执行刷新操作,如果是,则触发所述以目标缓存包关联的页面列表为参数调用打包接口的操作。
也就是说,缓存刷新控制子系统101在接收到刷新缓存包的触发消息后,无论其来自于页面更新时的自动触发,还是管理员用户的手动触发,都可以首先判断该缓存包最近一段时间的刷新频率如何,如果刷新频率比较高,则可能暂时不执行具体的缓存包刷新操作。
具体实现时,所述缓存刷新控制子系统101在根据所述目标缓存包的刷新频率,确定是否对该目标缓存包执行刷新操作时,具体用于确定所述目标缓存包上一版本的生成时间,如果该生成时间与当前时间的间隔大于预置的第一时间间隔,则确定对该目标缓存包执行刷新操作。
当然,如果确实是由页面更新消息触发的刷新操作,那么如果既不执行缓存包刷新操作,又不执行其他操作,可能会导致客户端仍然使用旧版本的缓存包进行页面加载,此时会导致前后端页面信息不一致的现象。
为此,在本申请实施例中,所述缓存刷新控制子系统101,还可以用于在确定出所述目标缓存包上一版本的生成时间与当前时间的间隔小于预置的第一时间间隔时,确定所述触发消息的来源,如果为所述页面搭建子系统发布的页面更新消息,则根据用于关闭目标缓存包的参数,对所述缓存刷新执行子系统的打包接口进行调用;
相应的,所述缓存刷新执行子系统102,还可以用于接收到该调用请求后,根据所述用于关闭目标缓存包的参数,生成用于关闭所述目标缓存包的包,并提供给所述关联的客户端,以便所述客户端对各自本地保存的所述目标缓存包执行关闭操作。
也就是说,如果是由页面更新消息触发的缓存包刷新操作,在确定出该缓存包的刷新频率比较高的情况下,可以不必对该刷新包再执行刷新操作,避免影响用户体验,但同时,可以将该刷新包关闭。这样,客户端在访问与该刷新包相关的页面时,发现缓存包处于关闭状态,则可以直接从线上获取对应页面的全部数据,而不再从本地缓存包中进行加载,这样,就可以保证前后端页面数据保持一致。
另外,如果触发消息的来源为管理员用户,也就是说,缓存包中的各个页面可能都没有发生更新,此时,可以直接提示管理员用户,其刷新太频繁,此次暂时不执行刷新操作,等等。
也就是说,所述缓存刷新控制子系统101,还可以用于如果所述触发消息的来源为管理员用户发出的触发消息,则提供提示信息,所述提示信息用于提示刷新频率太高。
在前述实现方式中,可以通过记录上一版本的缓存包的生成时间,来确定该缓存包在最近一段时间内是否被频繁刷新。但在实际应用中,所述缓存刷新控制子系统101向所述缓存刷新执行子系统102发送的调用请求可能是异步调用请求,也就是说,缓存刷新控制子系统101向所述缓存刷新执行子系统102发送了调用打包接口的请求后,缓存刷新执行子系统102并不会自动返回处理结果,缓存刷新控制子系统101无法自动获知该版本的缓存包的生成时间。
为此,所述缓存刷新控制子系统101,还可以用于在调用所述缓存刷新执行子系统102的打包接口后,在经过第二时间间隔后,调用所述缓存刷新执行子系统发送查询接口,以查询该版本缓存包的生成时间,并进行记录。
其中,所谓的第二时间间隔可以是两分钟等,具体可以根据缓存刷新执行子系统102具体执行打包操作所需花费的时间而定。也就是说,在调用所述缓存刷新执行子系统102的打包接口两分钟左右之后,就可以向所述缓存刷新执行子系统102发送查询请求,此时,缓存刷新执行子系统102就可以将打包处理结果,以及缓存包的生成时间返回给缓存刷新控制子系统101,由该缓存刷新控制子系统101对该版本的缓存包生成时间进行记录。
当然,在具体实现时,所述第一时间间隔会大于所述第二时间间隔,例如,第一时间间隔通常可以是1小时左右,而第二时间间隔为两分钟左右。这就可能会出现以下情况:按照正常的频率控制,如果相邻两次刷新请求之间的时间间隔小于第一时间间隔,则第二次的刷新请求将不会被执行具体的刷新操作,而是执行关闭缓存包的操作,客户端的页面访问请求直接走线上加载的方式。但是,如果第一次刷新请求正在被执行刷新操作的过程中,在第二时间间隔内又接收到了第二次刷新请求,则由于正在被执行的刷新操作尚未获知具体最新版本缓存包的生成时间,因此,可能会误将上一版本的缓存包的生成时间,作为最新版本缓存包的生成时间,进而可能会对该第二次刷新请求也触发具体刷新操作的执行。并且,在异步请求的方式下,请求方原本来不需要等到执行方对上一条请求的执行结果,就可以发送新的请求。这样,就可能会导致在两分钟内,对同一缓存包刷新两次甚至多次。
为了避免上述情况发生,所述缓存刷新控制子系统101,还可以用于提供第一状态集合以及第二状态集合,其中,所述第一状态集合用于记录当前处于刷新过程中的缓存包标识,所述第二状态集合用于记录待刷新的缓存包标识;
在这种情况下,缓存刷新控制子系统101具体在接收到对目标缓存包执行刷新操作的触发消息时,可以首先判断所述目标缓存包的标识是否位于所述第一状态集合中,如果不在所述第一状态集合中,且该目标缓存包上一版本的生成时间距离当前时间大于所述第一时间间隔(也即符合刷新频率不是太高的条件),则可以触发对该目标缓存包的刷新操作(也即,以该缓存包关联的页面列表中各页面的URL等信息,调用打包接口),并将其标识加入到所述第一状态集合中,在查询到刷新完成时,将该目标缓存包标识从所述第一状态集合中移除。
如果接收到对目标缓存包的刷新请求时,所述目标缓存包的标识位于所述第一状态集合中,则可以将所述目标缓存包的标识加入到所述第二状态集合中,在所述目标缓存包完成刷新并将其标识从所述第一状态集合中移除后,再将该目标缓存包的标识从所述第二状态集合转移到所述第一状态集合中,并根据用于关闭目标缓存包的参数,对所述缓存刷新执行子系统的打包接口进行调用,以便所述缓存刷新执行子系统生成用于关闭目标缓存包的包。
也就是说,对于在上一次刷新操作正在执行过程中接收到的新的请求,显然距离上一次缓存包的生成时间小于第一时间间隔,因此,针对该新的请求,会触发生成一个关闭该缓存包的包,使得客户端将该缓存包关闭,直接走线上加载的方式加载对应页面的全部数据。
当然,还可能存在一种情况是,第一次刷新操作正在执行过程中,接收到新的请求,但是,在两分钟后查询时,发现第一次刷新操作执行失败,此时,在将该缓存包的标识从第二状态集合移入到第一状态集合后,可以生成用于执行刷新操作的包。
在实际应用中,还可以为管理员用户开放关闭缓存包的权限,此时,所述缓存刷新控制子系统101,还可以用于接收管理员用户触发的对目标缓存包执行关闭操作的请求,并根据用于关闭目标缓存包的参数,对所述缓存刷新执行子系统的打包接口进行调用;
相应的,所述缓存刷新执行子系统102,还用于接收到该调用请求后,根据所述用于关闭目标缓存包的参数,生成用于关闭所述目标缓存包的包,并提供给所述关联的客户端,以便所述客户端对各自本地保存的所述目标缓存包执行关闭操作。
另外,由于在进行刷新频率控制的过程中,或者管理员用户手动控制的过程中,都可能出现关闭缓存包的情况,此时,客户端的页面访问操作会全部走线上加载的方式。但是,缓存包状态的稳定性通常可能会呈现出动态变化的特点,例如,可能在一段时间内确实不稳定,比较频繁的发生更新,但是,这段时间过了之后,又回到稳定状态,也即,更新的频率并不高。因此,对于这种又回到稳定状态的缓存包,应该重新开启,使得客户端能够继续通过该缓存包实现部分页面数据的从缓存加载。
为此,在本申请实施例,所述缓存刷新控制子系统101,还可以用于每隔预置的第三时间间隔(例如,半小时等),对缓存包的状态执行一次轮询,如果某缓存包距离上一版本的生成时间已超过所述第一时间间隔,且当前处于关闭状态,则以该缓存包关联的页面列表信息为参数,调用缓存刷新执行子系统102的打包接口,以便开启该缓存包。也即,由缓存刷新执行子系统102重新从各个页面中拉去缓存数据,并打包生成缓存包,提供给相关联的客户端。
总之,通过本申请实施例,可以通过缓存刷新控制子系统接收针对目标缓存包执行刷新的触发消息,根据所述目标缓存包确定调用参数,并向缓存刷新执行子系统的打包接口发送调用请求,然后,由缓存刷新执行子系统根据所述目标缓存包以及相关的调用参数,生成用于对关联的客户端中的所述目标缓存包执行预置操作的包,并提供给所述关联的客户端,以便所述客户端对各自本地保存的所述目标缓存包指定所述预置操作。也就是说,对于存在数据缓存需求的页面,可以通过上述系统完成对缓存包的自动刷新,用户在发布页面后不需要再关心刷新缓存的操作,可以更好的保证缓存包的刷新效率以及成功率。
另外,还可以通过缓存刷新控制子系统对缓存包的刷新频率进行控制,在发现某缓存包刷新频率过高时,可以不再对该缓存包执行刷新操作,以防止同一缓存包在短时间内频繁的刷新而过多的耗费客户端的流量。同时,还可以暂时关闭该缓存包,使得客户端的页面访问请求可以直接通过线上加载的方式,保证前后端页面信息的同步。
实施例二
该实施例二是与前述实施例一相对应的,从缓存刷新控制子系统服务器的角度,提供了一种页面缓存数据刷新方法,具体的,参见图2,该方法可以包括以下步骤:
S201:缓存刷新控制子系统服务器接收针对目标缓存包执行刷新的触发消息;
S202:根据所述目标缓存包确定调用参数,并向缓存刷新执行子系统的打包接口发送调用请求,以便所述缓存刷新执行子系统根据所述目标缓存包以及相关的调用参数,生成用于对关联的客户端中的所述目标缓存包执行预置操作的包,并提供给所述关联的客户端,由所述客户端对各自本地保存的所述目标缓存包指定所述预置操作。
其中,在一种触发方式下,可以是当目标页面与缓存数据相关的信息发生更新,并重新发布时,接收页面搭建子系统提供的页面更新通知消息,然后,通过查询预先保存的配置信息,确定所述目标页面对应的目标缓存包,所述目标缓存包关联至少一个页面。
或者,在另一种触发方式下,还可以是接收管理员用户触发的对目标缓存包执行刷新操作的请求。
具体在根据所述目标缓存包确定调用参数时,可以通过查询所述配置信息确定所述目标缓存包关联的页面列表,以所述目标缓存包关联的页面列表为调用参数,对所述缓存刷新执行子系统的打包接口进行调用,以便所述缓存刷新执行子系统根据所述调用参数中包括的页面信息列表,从各页面中拉取待缓存的数据,并根据各页面中拉取到的待缓存数据生成用于执行刷新操作的包,提供给关联的客户端,由所述关联的客户端执行缓存包刷新操作。
另外,在具体实现时,还可以对刷新频率进行控制。具体的,在确定出所述目标页面对应的目标缓存包后,根据所述目标缓存包的刷新频率,确定是否对该目标缓存包执行刷新操作;如果是,则触发所述以目标缓存包关联的页面列表为参数调用打包接口的操作。
具体实现时,可以确定所述目标缓存包上一版本的生成时间,如果该生成时间与当前时间的间隔大于预置的第一时间间隔,则确定对该目标缓存包执行刷新操作。
另外,还可以在确定出所述目标缓存包上一版本的生成时间与当前时间的间隔小于预置的第一时间间隔时,确定所述触发消息的来源;如果为所述页面搭建子系统发布的页面更新消息,则根据用于关闭目标缓存包的参数,对所述缓存刷新执行子系统的打包接口进行调用,以便所述缓存刷新执行子系统生成用于关闭所述目标缓存包的包,并提供给所述关联的客户端,由所述客户端对各自本地保存的所述目标缓存包执行关闭操作。
在具体实现时,所述缓存刷新控制子系统向所述缓存刷新执行子系统发送的调用请求为异步调用请求;此时,还可以在调用所述缓存刷新执行子系统的打包接口后,在经过第二时间间隔后,调用所述缓存刷新执行子系统发送查询接口,以查询该版本缓存包的生成时间,并进行记录。
其中,所述第一时间间隔大于所述第二时间间隔;此时,还可以提供第一状态集合以及第二状态集合,其中,所述第一状态集合用于记录当前处于刷新过程中的缓存包标识,所述第二状态集合用于记录待刷新的缓存包标识;接收到对目标缓存包执行刷新操作的触发消息时,判断所述目标缓存包的标识是否位于所述第一状态集合中,如果不在所述第一状态集合中,且该目标缓存包上一版本的生成时间距离当前时间大于所述第一时间间隔,则触发对该目标缓存包的刷新操作,并将其标识加入到所述第一状态集合中,在查询到刷新完成时,将该目标缓存包标识从所述第一状态集合中移除。
如果所述目标缓存包的标识位于所述第一状态集合中,则将所述目标缓存包的标识加入到所述第二状态集合中,在所述目标缓存包完成刷新并将其标识从所述第一状态集合中移除后,将该目标缓存包的标识转移到所述第一状态集合中,并根据用于关闭目标缓存包的参数,对所述缓存刷新执行子系统的打包接口进行调用,以便所述缓存刷新执行子系统生成用于关闭目标缓存包的包。
另外,在实际应用中,还可以每隔预置的第三时间间隔,对缓存包的状态执行一次轮询,如果某缓存包距离上一版本的生成时间已超过所述第一时间间隔,且当前处于关闭状态,则以该缓存包关联的页面列表信息为参数,调用缓存刷新执行子系统的打包接口,以便开启该缓存包。
实施例三
该实施例三也是与实施例一相对应的,本申请实施例还从缓存刷新执行子系统服务器的角度,提供了一种页面缓存数据刷新方法,参见图3,该方法可以包括以下步骤:
S301:缓存刷新执行子系统服务器接收缓存刷新控制子系统服务器对打包接口的调用请求;
S302:根据所述调用请求关联的目标缓存包以及相关的调用参数,生成用于对关联的客户端中的所述目标缓存包执行预置操作的包;
S303:确定所述目标缓存包关联的客户端,并将所述生成的包提供给所述关联的客户端,以便所述客户端对各自本地保存的所述目标缓存包指定所述预置操作。
其中,所述调用参数包括所述目标缓存包关联的页面列表,可以根据所述调用参数中包括的页面信息列表,从各页面中拉取待缓存的数据,并根据各页面中拉取到的待缓存数据生成用于执行刷新操作的包。
或者,所述调用参数包括用于关闭目标缓存包的参数,可以根据用于关闭目标缓存包的参数,生成用于关闭所述目标缓存包的包。
实施例四
该实施例四与前述各实施例相对应,从客户端的角度提供了一种页面缓存数据刷新方法,参见图4,该方法可以包括以下步骤:
S401:客户端接收缓存刷新执行子系统服务器发送的用于对目标缓存包执行预置操作的包,该用于执行预置操作的包根据缓存刷新控制子系统服务器的调用请求生成,所述调用请求中包括所述目标缓存包的标识以及调用参数;
S402:根据所述用于执行预置操作的包,对所述目标缓存包执行所述预置操作。
其中,具体执行的操作可以是根据所述用于执行预置操作的包,对所述目标缓存包执行所述刷新操作。
或者,根据所述用于执行预置操作的包,对所述目标缓存包执行所述关闭操作。
其中,接收到对目标页面的访问请求时,如果所述目标页面对应的目标缓存包处于关闭状态,则通过线上获取的方式获得所述目标页面的全部页面数据。
关于前述实施例二至实施例四,具体的实现可以参见实施例一中的介绍,这里不再赘述。
与实施例二相对应,本申请实施例还提供了一种页面缓存数据刷新装置,参见图5,该装置应用于缓存刷新控制子系统服务器,包括:
触发消息接收单元501,用于接收针对目标缓存包执行刷新的触发消息;
接口调用单元502,用于根据所述目标缓存包确定调用参数,并向缓存刷新执行子系统的打包接口发送调用请求,以便所述缓存刷新执行子系统根据所述目标缓存包以及相关的调用参数,生成用于对关联的客户端中的所述目标缓存包执行预置操作的包,并提供给所述关联的客户端,由所述客户端对各自本地保存的所述目标缓存包指定所述预置操作。
其中,在一种触发方式下,所述触发消息接收单元具体可以用于:当目标页面与缓存数据相关的信息发生更新,并重新发布时,接收页面搭建子系统提供的页面更新通知消息,然后,通过查询预先保存的配置信息,确定所述目标页面对应的目标缓存包,所述目标缓存包关联至少一个页面。
或者,在另一种触发方式下,所述触发消息接收单元还可以用于:接收管理员用户触发的对目标缓存包执行刷新操作的请求。
具体在根据所述目标缓存包确定调用参数时,所述接口调用单元具体可以用于:通过查询所述配置信息确定所述目标缓存包关联的页面列表,以所述目标缓存包关联的页面列表为调用参数,对所述缓存刷新执行子系统的打包接口进行调用,以便所述缓存刷新执行子系统根据所述调用参数中包括的页面信息列表,从各页面中拉取待缓存的数据,并根据各页面中拉取到的待缓存数据生成用于执行刷新操作的包,提供给关联的客户端,由所述关联的客户端执行缓存包刷新操作。
另外,在具体实现时,还可以对刷新频率进行控制。具体的,该装置还可以包括:
刷新频率判断单元,用于在确定出所述目标页面对应的目标缓存包后,根据所述目标缓存包的刷新频率,确定是否对该目标缓存包执行刷新操作;如果是,则触发所述以目标缓存包关联的页面列表为参数调用打包接口的操作。
具体实现时,所述刷新频率判断单元具体可以用于:确定所述目标缓存包上一版本的生成时间,如果该生成时间与当前时间的间隔大于预置的第一时间间隔,则确定对该目标缓存包执行刷新操作。
另外,该装置还可以包括:
触发来源确定单元,用于在确定出所述目标缓存包上一版本的生成时间与当前时间的间隔小于预置的第一时间间隔时,确定所述触发消息的来源;
所述接口调用单元502具体可以用于:
如果为所述页面搭建子系统发布的页面更新消息,则根据用于关闭目标缓存包的参数,对所述缓存刷新执行子系统的打包接口进行调用,以便所述缓存刷新执行子系统生成用于关闭所述目标缓存包的包,并提供给所述关联的客户端,由所述客户端对各自本地保存的所述目标缓存包执行关闭操作。
在具体实现时,所述缓存刷新控制子系统向所述缓存刷新执行子系统发送的调用请求为异步调用请求;此时,该装置还可以包括:
查询单元,用于在调用所述缓存刷新执行子系统的打包接口后,在经过第二时间间隔后,调用所述缓存刷新执行子系统发送查询接口,以查询该版本缓存包的生成时间,并进行记录。
其中,所述第一时间间隔大于所述第二时间间隔;此时,所述装置还可以包括:
状态集合提供单元,用于提供第一状态集合以及第二状态集合,其中,所述第一状态集合用于记录当前处于刷新过程中的缓存包标识,所述第二状态集合用于记录待刷新的缓存包标识;
第一处理单元,用于接收到对目标缓存包执行刷新操作的触发消息时,判断所述目标缓存包的标识是否位于所述第一状态集合中,如果不在所述第一状态集合中,且该目标缓存包上一版本的生成时间距离当前时间大于所述第一时间间隔,则触发对该目标缓存包的刷新操作,并将其标识加入到所述第一状态集合中,在查询到刷新完成时,将该目标缓存包标识从所述第一状态集合中移除。
第二处理单元,用于如果所述目标缓存包的标识位于所述第一状态集合中,则将所述目标缓存包的标识加入到所述第二状态集合中,在所述目标缓存包完成刷新并将其标识从所述第一状态集合中移除后,将该目标缓存包的标识转移到所述第一状态集合中,并根据用于关闭目标缓存包的参数,对所述缓存刷新执行子系统的打包接口进行调用,以便所述缓存刷新执行子系统生成用于关闭目标缓存包的包。
另外,在实际应用中,还可以包括:
轮询单元,用于每隔预置的第三时间间隔,对缓存包的状态执行一次轮询,如果某缓存包距离上一版本的生成时间已超过所述第一时间间隔,且当前处于关闭状态,则以该缓存包关联的页面列表信息为参数,调用缓存刷新执行子系统的打包接口,以便开启该缓存包。
与实施例三相对应,本申请实施例还提供了一种页面缓存数据刷新装置,参见图6,该装置应用于缓存刷新执行子系统服务器,包括:
调用请求接收单元601,用于接收缓存刷新控制子系统服务器对打包接口的调用请求;
打包单元602,用于根据所述调用请求关联的目标缓存包以及相关的调用参数,生成用于对关联的客户端中的所述目标缓存包执行预置操作的包;
客户端确定单元603,用于确定所述目标缓存包关联的客户端,并将所述生成的包提供给所述关联的客户端,以便所述客户端对各自本地保存的所述目标缓存包指定所述预置操作。
一种情况下,所述调用参数包括所述目标缓存包关联的页面列表,此时,所述打包单元具体可以用于:
根据所述调用参数中包括的页面信息列表,从各页面中拉取待缓存的数据,并根据各页面中拉取到的待缓存数据生成用于执行刷新操作的包。
或者,所述调用参数包括用于关闭目标缓存包的参数,此时,所述打包单元具体可以用于:
根据用于关闭目标缓存包的参数,生成用于关闭所述目标缓存包的包。
与实施例四相对应,本申请实施例还提供了一种页面缓存数据刷新装置,参见图7,该装置应用于客户端,包括:
接收单元701,用于接收缓存刷新执行子系统服务器发送的用于对目标缓存包执行预置操作的包,该用于执行预置操作的包根据缓存刷新控制子系统服务器的调用请求生成,所述调用请求中包括所述目标缓存包的标识以及调用参数;
操作执行单元702,用于根据所述用于执行预置操作的包,对所述目标缓存包执行所述预置操作。
具体实现时,所述操作执行单元702具体可以用于:根据所述用于执行预置操作的包,对所述目标缓存包执行所述刷新操作。
或者,操作执行单元702还可以用于根据所述用于执行预置操作的包,对所述目标缓存包执行所述关闭操作。
另外,该装置还可以包括:
线上加载单元,用于接收到对目标页面的访问请求时,如果所述目标页面对应的目标缓存包处于关闭状态,则通过线上加载的方式获得所述目标页面的全部页面数据。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上对本申请所提供的页面缓存数据刷新方法、装置及系统,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本申请的限制。
Claims (33)
1.一种页面缓存数据刷新系统,其特征在于,包括:
缓存刷新控制子系统,用于接收针对目标缓存包执行刷新的触发消息,根据所述目标缓存包确定调用参数,并向缓存刷新执行子系统的打包接口发送调用请求;
所述缓存刷新执行子系统,用于接收到所述调用请求后,根据所述目标缓存包以及相关的调用参数,生成用于对关联的客户端中的所述目标缓存包执行预置操作的包,并提供给所述关联的客户端,以便所述客户端对各自本地保存的所述目标缓存包指定所述预置操作;
所述根据所述目标缓存包确定调用参数包括:通过查询配置信息确定所述目标缓存包关联的页面列表,以所述目标缓存包关联的页面列表作为所述调用参数。
2.根据权利要求1所述的系统,其特征在于,所述系统还包括:
缓存包信息配置子系统,用于保存多个缓存包的配置信息,所述配置信息包括每个缓存包与至少一个页面之间的对应关系。
3.根据权利要求2所述的系统,其特征在于,所述系统还包括:
页面搭建子系统,用于当目标页面与缓存数据相关的信息发生更新,并重新发布时,将页面更新消息通知给所述缓存刷新控制子系统;
所述缓存刷新控制子系统,具体用于接收到所述页面更新消息时,通过查询所述缓存包信息配置子系统,确定所述目标页面对应的目标缓存包,根据所述目标缓存包确定调用参数,并对缓存刷新执行子系统的打包接口进行调用。
4.根据权利要求2所述的系统,其特征在于:
所述缓存刷新控制子系统,具体用于接收管理员用户触发的对目标缓存包执行刷新操作的请求,根据所述目标缓存包确定调用参数,并向缓存刷新执行子系统的打包接口发送调用请求。
5.根据权利要求3或4所述的系统,其特征在于:
所述缓存刷新控制子系统,具体用于确定所述目标缓存包关联的页面列表,以所述目标缓存包关联的页面列表为调用参数,对所述缓存刷新执行子系统的打包接口进行调用;
所述缓存刷新执行子系统,具体用于根据所述调用参数中包括的页面信息列表,从各页面中拉取待缓存的数据,并根据各页面中拉取到的待缓存数据生成用于执行刷新操作的包,提供给关联的客户端,以便关联的客户端执行缓存包刷新操作。
6.根据权利要求3所述的系统,其特征在于:
所述缓存刷新控制子系统,还用于在确定出所述目标页面对应的目标缓存包后,根据所述目标缓存包的刷新频率,确定是否对该目标缓存包执行刷新操作,如果是,则触发以所述目标缓存包关联的页面列表为参数调用打包接口的操作。
7.根据权利要求6所述的系统,其特征在于:
所述缓存刷新控制子系统在根据所述目标缓存包的刷新频率,确定是否对该目标缓存包执行刷新操作时,具体用于确定所述目标缓存包的相对于当前版本的上一版本的生成时间,如果该生成时间与当前时间的间隔大于预置的第一时间间隔,则确定对该目标缓存包执行刷新操作。
8.根据权利要求3所述的系统,其特征在于:
所述缓存刷新控制子系统,还用于在确定出所述目标缓存包的相对于当前版本的上一版本的生成时间与当前时间的间隔小于预置的第一时间间隔时,确定所述触发消息的来源,如果为所述页面搭建子系统发布的页面更新消息,则根据用于关闭目标缓存包的参数,对所述缓存刷新执行子系统的打包接口进行调用;
所述缓存刷新执行子系统,还用于接收到该调用请求后,根据所述用于关闭目标缓存包的参数,生成用于关闭所述目标缓存包的包,并提供给所述关联的客户端,以便所述客户端对各自本地保存的所述目标缓存包执行关闭操作。
9.根据权利要求8所述的系统,其特征在于:
所述缓存刷新控制子系统,还用于如果所述触发消息的来源为管理员用户发出的触发消息,则提供刷新频率高的提示信息。
10.根据权利要求7所述的系统,其特征在于:所述缓存刷新控制子系统向所述缓存刷新执行子系统发送的调用请求为异步调用请求;
所述缓存刷新控制子系统,还用于在调用所述缓存刷新执行子系统的打包接口后,在经过第二时间间隔后,调用所述缓存刷新执行子系统发送查询接口,以查询当前版本的缓存包的生成时间,并进行记录。
11.根据权利要求10所述的系统,其特征在于,所述第一时间间隔大于所述第二时间间隔;
所述缓存刷新控制子系统,还用于提供第一状态集合以及第二状态集合,其中,所述第一状态集合用于记录当前处于刷新过程中的缓存包标识,所述第二状态集合用于记录待刷新的缓存包标识;
接收到对目标缓存包执行刷新操作的触发消息时,如果所述目标缓存包的标识位于所述第一状态集合中,则将所述目标缓存包的标识加入到所述第二状态集合中,在所述目标缓存包完成刷新并将其标识从所述第一状态集合中移除后,将该目标缓存包的标识从所述第二状态集合转移到所述第一状态集合中,并根据用于关闭目标缓存包的参数,对所述缓存刷新执行子系统的打包接口进行调用,以便所述缓存刷新执行子系统生成用于关闭目标缓存包的包。
12.根据权利要求1所述的系统,其特征在于:
所述缓存刷新控制子系统,还用于接收管理员用户触发的对目标缓存包执行关闭操作的请求,并根据用于关闭目标缓存包的参数,对所述缓存刷新执行子系统的打包接口进行调用;
所述缓存刷新执行子系统,还用于接收到该调用请求后,根据所述用于关闭目标缓存包的参数,生成用于关闭所述目标缓存包的包,并提供给所述关联的客户端,以便所述客户端对各自本地保存的所述目标缓存包执行关闭操作。
13.根据权利要求7-11任一项所述的系统,其特征在于:
所述缓存刷新控制子系统,还用于每隔预置的第三时间间隔,对缓存包的状态执行一次轮询,如果某缓存包距离上一版本的生成时间已超过所述第一时间间隔,且当前处于关闭状态,则以该缓存包关联的页面列表信息为参数,调用缓存刷新执行子系统的打包接口,以便开启该缓存包。
14.一种页面缓存数据刷新方法,其特征在于,包括:
缓存刷新控制子系统服务器接收针对目标缓存包执行刷新的触发消息;
根据所述目标缓存包确定调用参数,并向缓存刷新执行子系统的打包接口发送调用请求,以便所述缓存刷新执行子系统根据所述目标缓存包以及相关的调用参数,生成用于对关联的客户端中的所述目标缓存包执行预置操作的包,并提供给所述关联的客户端,由所述客户端对各自本地保存的所述目标缓存包指定所述预置操作;
所述根据所述目标缓存包确定调用参数包括:通过查询配置信息确定所述目标缓存包关联的页面列表,以所述目标缓存包关联的页面列表作为所述调用参数。
15.根据权利要求14所述的方法,其特征在于,所述接收针对目标缓存包执行刷新的触发消息,包括:
当目标页面与缓存数据相关的信息发生更新,并重新发布时,接收页面搭建子系统提供的页面更新通知消息;
通过查询预先保存的配置信息,确定所述目标页面对应的目标缓存包,所述目标缓存包关联至少一个页面。
16.根据权利要求14所述的方法,其特征在于,所述接收针对目标缓存包执行刷新的触发消息,包括:
接收管理员用户触发的对目标缓存包执行刷新操作的请求。
17.根据权利要求15或16所述的方法,其特征在于,所述根据所述目标缓存包确定调用参数,包括:
通过查询预置的配置信息确定所述目标缓存包关联的页面列表,以所述目标缓存包关联的页面列表为调用参数,对所述缓存刷新执行子系统的打包接口进行调用,以便所述缓存刷新执行子系统根据所述调用参数中包括的页面信息列表,从各页面中拉取待缓存的数据,并根据各页面中拉取到的待缓存数据生成用于执行刷新操作的包,提供给关联的客户端,由所述关联的客户端执行缓存包刷新操作。
18.根据权利要求15所述的方法,其特征在于,还包括:
在确定出所述目标页面对应的目标缓存包后,根据所述目标缓存包的刷新频率,确定是否对该目标缓存包执行刷新操作;
如果是,则触发以所述目标缓存包关联的页面列表为参数调用打包接口的操作。
19.根据权利要求18所述的方法,其特征在于,所述根据所述目标缓存包的刷新频率,确定是否对该目标缓存包执行刷新操作,包括:
确定所述目标缓存包上一版本的生成时间,如果该生成时间与当前时间的间隔大于预置的第一时间间隔,则确定对该目标缓存包执行刷新操作。
20.根据权利要求19所述的方法,其特征在于,还包括:
在确定出所述目标缓存包上一版本的生成时间与当前时间的间隔小于预置的第一时间间隔时,确定所述触发消息的来源;
所述根据所述目标缓存包确定调用参数,并向缓存刷新执行子系统的打包接口发送调用请求,包括:
如果为所述页面搭建子系统发布的页面更新消息,则根据用于关闭目标缓存包的参数,对所述缓存刷新执行子系统的打包接口进行调用,以便所述缓存刷新执行子系统生成用于关闭所述目标缓存包的包,并提供给所述关联的客户端,由所述客户端对各自本地保存的所述目标缓存包执行关闭操作。
21.根据权利要求19所述的方法,其特征在于,所述缓存刷新控制子系统向所述缓存刷新执行子系统发送的调用请求为异步调用请求;
所述方法还包括:
在调用所述缓存刷新执行子系统的打包接口后,在经过第二时间间隔后,调用所述缓存刷新执行子系统发送查询接口,以查询当前版本的缓存包的生成时间,并进行记录。
22.根据权利要求21所述的方法,其特征在于,所述第一时间间隔大于所述第二时间间隔;
所述方法还包括:
提供第一状态集合以及第二状态集合,其中,所述第一状态集合用于记录当前处于刷新过程中的缓存包标识,所述第二状态集合用于记录待刷新的缓存包标识;
接收到对目标缓存包执行刷新操作的触发消息时,判断所述目标缓存包的标识是否位于所述第一状态集合中,如果不在所述第一状态集合中,且该目标缓存包上一版本的生成时间距离当前时间大于所述第一时间间隔,则触发对该目标缓存包的刷新操作,并将其标识加入到所述第一状态集合中,在查询到刷新完成时,将该目标缓存包标识从所述第一状态集合中移除;
如果所述目标缓存包的标识位于所述第一状态集合中,则将所述目标缓存包的标识加入到所述第二状态集合中,在所述目标缓存包完成刷新并将其标识从所述第一状态集合中移除后,将该目标缓存包的标识转移到所述第一状态集合中,并根据用于关闭目标缓存包的参数,对所述缓存刷新执行子系统的打包接口进行调用,以便所述缓存刷新执行子系统生成用于关闭目标缓存包的包。
23.根据权利要求19至22任一项所述的方法,其特征在于,还包括:
每隔预置的第三时间间隔,对缓存包的状态执行一次轮询,如果某缓存包距离上一版本的生成时间已超过所述第一时间间隔,且当前处于关闭状态,则以该缓存包关联的页面列表信息为参数,调用缓存刷新执行子系统的打包接口,以便开启该缓存包。
24.一种页面缓存数据刷新方法,其特征在于,包括:
缓存刷新执行子系统服务器接收缓存刷新控制子系统服务器对打包接口的调用请求;
根据所述调用请求关联的目标缓存包以及相关的调用参数,生成用于对关联的客户端中的所述目标缓存包执行预置操作的包;
确定所述目标缓存包关联的客户端,并将所述生成的包提供给所述关联的客户端,以便所述客户端对各自本地保存的所述目标缓存包指定所述预置操作;
所述根据所述目标缓存包确定调用参数包括:通过查询配置信息确定所述目标缓存包关联的页面列表,以所述目标缓存包关联的页面列表作为所述调用参数。
25.根据权利要求24所述的方法,其特征在于,所述调用参数包括所述目标缓存包关联的页面列表,所述生成用于对关联的客户端中的所述目标缓存包执行预置操作的包,包括:
根据所述调用参数中包括的页面信息列表,从各页面中拉取待缓存的数据,并根据各页面中拉取到的待缓存数据生成用于执行刷新操作的包。
26.根据权利要求24所述的方法,其特征在于,所述调用参数包括用于关闭目标缓存包的参数,所述生成用于对关联的客户端中的所述目标缓存包执行预置操作的包,包括:
根据用于关闭目标缓存包的参数,生成用于关闭所述目标缓存包的包。
27.一种页面缓存数据刷新方法,其特征在于,包括:
客户端接收缓存刷新执行子系统服务器发送的用于对目标缓存包执行预置操作的包,该用于执行预置操作的包根据缓存刷新控制子系统服务器的调用请求生成,所述调用请求中包括所述目标缓存包的标识以及调用参数;
根据所述用于执行预置操作的包,对所述目标缓存包执行所述预置操作;
所述根据所述目标缓存包确定调用参数包括:通过查询配置信息确定所述目标缓存包关联的页面列表,以所述目标缓存包关联的页面列表作为所述调用参数。
28.根据权利要求27所述的方法,其特征在于,所述根据所述用于执行预置操作的包,对所述目标缓存包执行所述预置操作,包括:
根据所述用于执行预置操作的包,对所述目标缓存包执行刷新操作。
29.根据权利要求27所述的方法,其特征在于,所述根据所述用于执行预置操作的包,对所述目标缓存包执行所述预置操作,包括:
根据所述用于执行预置操作的包,对所述目标缓存包执行关闭操作。
30.根据权利要求29所述的方法,其特征在于,还包括:
接收到对目标页面的访问请求时,如果所述目标页面对应的目标缓存包处于关闭状态,则通过线上加载的方式获得所述目标页面的全部页面数据。
31.一种页面缓存数据刷新装置,其特征在于,应用于缓存刷新控制子系统服务器,包括:
触发消息接收单元,用于接收针对目标缓存包执行刷新的触发消息;
接口调用单元,用于根据所述目标缓存包确定调用参数,并向缓存刷新执行子系统的打包接口发送调用请求,以便所述缓存刷新执行子系统根据所述目标缓存包以及相关的调用参数,生成用于对关联的客户端中的所述目标缓存包执行预置操作的包,并提供给所述关联的客户端,由所述客户端对各自本地保存的所述目标缓存包指定所述预置操作;
所述根据所述目标缓存包确定调用参数包括:通过查询配置信息确定所述目标缓存包关联的页面列表,以所述目标缓存包关联的页面列表作为所述调用参数。
32.一种页面缓存数据刷新装置,其特征在于,应用于缓存刷新执行子系统服务器,包括:
调用请求接收单元,用于接收缓存刷新控制子系统服务器对打包接口的调用请求;
打包单元,用于根据所述调用请求关联的目标缓存包以及相关的调用参数,生成用于对关联的客户端中的所述目标缓存包执行预置操作的包;
客户端确定单元,用于确定所述目标缓存包关联的客户端,并将所述生成的包提供给所述关联的客户端,以便所述客户端对各自本地保存的所述目标缓存包指定所述预置操作;
所述根据所述目标缓存包确定调用参数包括:通过查询配置信息确定所述目标缓存包关联的页面列表,以所述目标缓存包关联的页面列表作为所述调用参数。
33.一种页面缓存数据刷新装置,其特征在于,应用于客户端,包括:
接收单元,用于接收缓存刷新执行子系统服务器发送的用于对目标缓存包执行预置操作的包,该用于执行预置操作的包根据缓存刷新控制子系统服务器的调用请求生成,所述调用请求中包括所述目标缓存包的标识以及调用参数;
操作执行单元,用于根据所述用于执行预置操作的包,对所述目标缓存包执行所述预置操作;
所述根据所述目标缓存包确定调用参数包括:通过查询配置信息确定所述目标缓存包关联的页面列表,以所述目标缓存包关联的页面列表作为所述调用参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611110557.6A CN108153794B (zh) | 2016-12-02 | 2016-12-02 | 页面缓存数据刷新方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611110557.6A CN108153794B (zh) | 2016-12-02 | 2016-12-02 | 页面缓存数据刷新方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108153794A CN108153794A (zh) | 2018-06-12 |
CN108153794B true CN108153794B (zh) | 2022-06-07 |
Family
ID=62468260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611110557.6A Active CN108153794B (zh) | 2016-12-02 | 2016-12-02 | 页面缓存数据刷新方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108153794B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109582684B (zh) * | 2018-11-30 | 2021-11-09 | 深圳市乐信信息服务有限公司 | 一种本地缓存数据的更新方法、装置、服务器及存储介质 |
CN111782304B (zh) * | 2020-07-21 | 2024-04-02 | 深圳赛安特技术服务有限公司 | 分页加载数据逻辑控制方法、装置、计算机设备及介质 |
CN112506582B (zh) * | 2020-12-18 | 2024-04-09 | 北京百度网讯科技有限公司 | 小程序数据包处理方法、装置、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102253941A (zh) * | 2010-05-21 | 2011-11-23 | 卓望数码技术(深圳)有限公司 | 一种缓存更新方法和缓存更新装置 |
CN103488581A (zh) * | 2013-09-04 | 2014-01-01 | 用友软件股份有限公司 | 数据缓存系统和数据缓存方法 |
CN103946833A (zh) * | 2011-11-11 | 2014-07-23 | 摩博菲乐有限公司Dba摩博莱 | 管理专用缓存的系统和方法 |
CN105574158A (zh) * | 2015-12-15 | 2016-05-11 | 广州品唯软件有限公司 | 数据库缓存数据的刷新方法及其系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007503041A (ja) * | 2003-08-19 | 2007-02-15 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | データ資産をキャッシュする方法 |
US9389952B2 (en) * | 2008-06-18 | 2016-07-12 | Super Talent Technology, Corp. | Green NAND SSD application and driver |
US9311245B2 (en) * | 2009-08-13 | 2016-04-12 | Intel Corporation | Dynamic cache sharing based on power state |
US9626343B2 (en) * | 2010-04-05 | 2017-04-18 | Facebook, Inc. | Caching pagelets of structured documents |
CN103916474B (zh) * | 2014-04-04 | 2018-05-22 | 北京搜狗科技发展有限公司 | 缓存时间的确定方法、装置及系统 |
-
2016
- 2016-12-02 CN CN201611110557.6A patent/CN108153794B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102253941A (zh) * | 2010-05-21 | 2011-11-23 | 卓望数码技术(深圳)有限公司 | 一种缓存更新方法和缓存更新装置 |
CN103946833A (zh) * | 2011-11-11 | 2014-07-23 | 摩博菲乐有限公司Dba摩博莱 | 管理专用缓存的系统和方法 |
CN103488581A (zh) * | 2013-09-04 | 2014-01-01 | 用友软件股份有限公司 | 数据缓存系统和数据缓存方法 |
CN105574158A (zh) * | 2015-12-15 | 2016-05-11 | 广州品唯软件有限公司 | 数据库缓存数据的刷新方法及其系统 |
Non-Patent Citations (1)
Title |
---|
"缓存技术在Web中的应用研究";王鑫;《潍坊学院学报》;20110831;第11卷(第4期);第46-49页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108153794A (zh) | 2018-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107832100B (zh) | 一种apk插件的加载方法及其终端 | |
US10572285B2 (en) | Method and apparatus for elastically scaling virtual machine cluster | |
CN108848092A (zh) | 基于调用链的微服务灰度发布的处理方法及装置 | |
CN108683516A (zh) | 一种应用实例的升级方法、装置和系统 | |
US10666758B2 (en) | Browser resource pre-pulling method, terminal and storage medium | |
CN108153794B (zh) | 页面缓存数据刷新方法、装置及系统 | |
CN107026879B (zh) | 一种数据缓存方法及后台应用系统 | |
US20210326161A1 (en) | Apparatus and method for multi-cloud service platform | |
CN102082800A (zh) | 一种用户请求处理的方法和服务器 | |
CN106095483A (zh) | 服务的自动化部署方法及装置 | |
WO2017095820A1 (en) | Methods and devices for acquiring data using virtual machine and host machine | |
CN105786539B (zh) | 一种文件下载方法及装置 | |
CN112596762A (zh) | 一种滚动升级方法及装置 | |
CN114553960A (zh) | 一种数据缓存方法、装置、设备及存储介质 | |
CN112988378A (zh) | 业务处理方法及装置 | |
KR101175505B1 (ko) | N?스크린 환경에서 네트워크 기반 파일 시스템을 이용한 사용자 데이터 저장환경 제공 시스템 | |
CN107181773A (zh) | 分布式存储系统的数据存储及数据管理方法、设备 | |
CN113905091A (zh) | 用于对访问请求进行处理的方法及装置 | |
CN115277599A (zh) | 限流场景下的回流方法、装置、计算机设备及存储介质 | |
JP2008186358A (ja) | データベースアクセスシステムおよびデータベースアクセス方法ならびにプログラム | |
CN113472638A (zh) | 边缘网关控制方法及系统、装置、电子设备、存储介质 | |
CN107040580B (zh) | 管理服务器系统、升级系统以及升级系统的方法 | |
US20170075736A1 (en) | Rule engine for application servers | |
CN112559568A (zh) | 一种虚拟物品确定方法、装置及计算机可读存储介质 | |
JP6568232B2 (ja) | 計算機システム、及び、装置の管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |