更新缓存文件的方法、装置及系统与流程

文档序号:11230531阅读:422来源:国知局
更新缓存文件的方法、装置及系统与流程

本发明涉及文件管理领域,具体而言,涉及一种更新缓存文件的方法、装置及系统。



背景技术:

随着科学技术的快速发展,网络已普遍出现在人们的生活、工作以及学习中。在日常生活中,随处可见人们通过手机、平板等智能移动设备等在获取网络上的信息。然而当持有智能移动设备或使用固定设备(例如,电脑)的用户在网络信号比较差的环境中进行网页浏览时,用户点击网页页面上的链接之后,终端设备(即上述移动设备或固定设备)从网络上请求获取待加载页面的数据,如果待加载页面的数据量比较大,尤其是在网络信号比较差的情况下,待加载页面的打开速度比较慢,不仅浪费了用户的时间,而且还有可能造成浏览该网页页面的用户的流失。

由于待加载的网页页面的资源或内容大部分是不发生变化的,或者是在短期内不发生变化,因此,可以在用户访问当前页面的同时缓存下一网页链接的内容。通过上述方法终端设备在加载网页页面时不需要每次去服务端去请求数据,进而加快了打开网页页面的速度。

然而,在待加载的网页页面的资源或内容发生变化的情况下,例如,当前网页上增添了待加载网页的网页链接,上述对网络数据进行缓存的方法,可能会造成网页信息加载不准确的问题。

针对上述现有的对待加载的资源进行缓存的方法不能准确地对实时更新的待加载的资源进行缓存的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种更新缓存文件的方法、装置及系统,以至少解决现有的对待加载的资源进行缓存方法不能准确地对实时更新的待加载的资源进行缓存的技术问题。

根据本发明实施例的一个方面,提供了一种更新缓存文件的方法,包括:检测当前页面的待加载的资源是否发生变化,其中,待加载的资源至少包括:至少一个待加载页面的页面信息;在检测到待加载的资源发生变化的情况下,获取待加载的资源与原始缓存文件的差异结果;根据差异结果更新原始缓存文件。

根据本发明实施例的另一方面,还提供了一种更新缓存文件的装置,包括:检测模块,用于检测当前页面的待加载的资源是否发生变化,其中,待加载的资源至少包括:至少一个待加载页面的页面信息;第一更新模块,用于在检测到待加载的资源发生变化的情况下,获取待加载的资源与原始缓存文件的差异结果;第二更新模块,用于根据差异结果更新原始缓存文件。

根据本发明实施例的另一方面,还提供了一种更新缓存文件的系统,包括:服务器,用于检测当前页面的待加载的资源是否发生变化,在检测到待加载的资源发生变化的情况下,获取待加载的资源与原始缓存文件的差异结果,并根据差异结果更新原始缓存文件;客户端,与服务器通信连接,用于向服务器提供当前页面的待加载的资源。

根据本发明实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行权利要求更新缓存文件的方法。

根据本发明实施例的另一方面,还提供了一种处理器,该处理器用于运行程序,其中,程序运行时执行更新缓存文件的方法。

根据本发明实施例的另一方面,还提供了一种终端,包括:用于在检测到当前页面的待加载的资源发生变化的情况下,根据待加载的资源与原始缓存文件的差异结果更新原始缓存文件;客户端,与服务器通信连接,用于向服务器提供当前页面的待加载的资源;处理器,该处理器运行程序,其中,程序运行时对于从服务器和客户端输出的数据执行更新缓存文件的方法。

根据本发明实施例的另一方面,还提供了一种终端,包括:用于在检测到当前页面的待加载的资源发生变化的情况下,根据待加载的资源与原始缓存文件的差异结果更新原始缓存文件;客户端,与服务器通信连接,用于向服务器提供当前页面的待加载的资源;存储介质,用于存储程序,其中,程序在运行时对于从服务器和客户端输出的数据执行更新缓存文件的方法。

在本发明实施例中,采用对页面资源文件进行管理的方式,通过检测当前页面的待加载的资源是否发生变化,并在检测到待加载的资源发生变化的情况下,获取待加载的资源与原始缓存文件的差异结果,最后根据差异结果更新原始缓存文件,其中,待加载的资源至少包括:至少一个待加载页面的页面信息,达到了在待加载资源实时更新的情况下准确对待加载的资源进行准确缓存的目的,从而实现了加快对待加载的资源的访问速度并节省用户访问资源的流量的技术效果,进而解决了现有的对待加载的资源进行缓存方法不能准确地对实时更新的待加载的资源进行缓存的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种更新缓存文件的方法流程图;

图2是根据本发明实施例的一种可选的用户终端的界面显示示意图;

图3是根据本发明实施例的一种可选的缓存文件格式的示意图;

图4是根据本发明实施例的一种可选的更新缓存文件的方法流程图;

图5是根据本发明实施例的一种可选的更新缓存文件的方法流程图;

图6是根据本发明实施例的一种可选的更新缓存文件的方法流程图;

图7是根据本发明实施例的一种可选的更新缓存文件的方法流程图;

图8是根据本发明实施例的一种更新缓存文件的装置结构示意图;以及

图9是根据本发明实施例的一种更新缓存文件的系统结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:

json串:javascriptobjectnatation,即js对象标记,为一种轻量级的数据交换格式。

实施例1

根据本发明实施例,提供了一种更新缓存文件的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1是根据本发明实施例的更新缓存文件的方法流程图,如图1所示,该方法包括如下步骤:

步骤s102,检测当前页面的待加载的资源是否发生变化,其中,待加载的资源至少包括:至少一个待加载页面的页面信息;

步骤s104,在检测到待加载的资源发生变化的情况下,获取待加载的资源与原始缓存文件的差异结果;

步骤s106,根据差异结果更新原始缓存文件。

需要说明的是,上述页面可以为但不限于网页页面以及react-native。上述当前页面为用户通过终端设备正在访问的页面,上述待加载的资源为用户通过当前页面可能要访问的资源,例如,如图2所示的一种可选的用户终端的界面显示示意图,由图2可知,用户通过用户终端正在访问上海这个城市的特价酒店,并且搜索到了三个特价酒店,分别是酒店1、酒店2和酒店3。此时,用户可以通过点击图2中的酒店1、酒店2或酒店3分别进入到各个酒店所对应的网页,或者通过选择城市来查看其它城市的特价酒店。图2所示的界面即为上述当前页面,而用户将要访问的酒店1、酒店2、酒店3以及其他城市的特价酒店的界面为上述待加载页面。

由于直接加载用户所要访问的待加载页面可能会出现加载页面比较慢的问题,为了提高加载页面的速度,需要将待加载页面的资源进行缓存,当用户访问待加载的资源时,直接从缓存文件中读取,因此,可以提高加载资源的速度。但对于实时更新的待加载的资源,上述方法可能会导致不能准确加载的问题。因此,可以通过获取待加载的资源与原始缓存文件的差异结果,并根据差异结果来更新缓存文件的方法可以有效的解决上述问题。

具体的,服务器检测用户当前访问的界面上的待加载的资源是否发生变化,如果发生变化,则获取到待加载的资源与原始缓存文件的差异结果,并根据差异结果对原始缓存文件进行更新处理。

在一种可选的实施例中,上述待加载的资源以一种文件格式进行缓存,该文件格式可以为如图3所示的一种可选的缓存文件格式的示意图。在图3中,qp表示缓存文件的类型,一般为2字节,即len1=2;“缓存长度”表示该缓存文件的长度,一般为4字节,len2=4;“缓存内容”表示缓存文件的信息,其中,该内容以json串的格式存储;数据1、数据2以及数据3等表示待加载资源的具体内容。其中,待加载资源的具体内容存储在filedata中,而待加载资源的地址存储在“缓存内容”中。以图2为例,假设酒店3所对应的待加载的资源的内容存储在数据3中,当酒店3的资源内容变为酒店4(图2中并未示出)时,服务器检测到酒店3所对应的待加载的资源的地址发生了变化,并将缓存文件格式的“缓存内容”中的酒店3所对应的地址更新为酒店4的资源地址,数据3中存储的酒店3的内容更新为与酒店4所对应的待加载的资源的内容。

需要说明的是,json串的具体内容如下:

其中,files为各个资源的集合;url为离线资源对应的线上地址;sl表示起始位置和缓存长度,即待加载的资源的具体内容在该缓存文件中的起始位置以及长度,如图3所示,数据1从sl_1的位置开始存储,数据2从sl_2的位置开始存储,数据3从sl_3的位置开始存储,其他的内容从sl_4的位置开始存储,len4、len5以及len6分别表示数据1、数据2以及数据3的长度;md5为对url进行加密后的结果,可用于安全校验,保证数据的安全;hybridid表示业务的唯一标识,即当前页面的标识;version表示缓存文件的版本;ios_vid表示该缓存文件所支持的ios客户端的最低版本;android_vid表示支持android客户端的最低版本,其中,该内容可以包含多个不同的android版本。

需要说明的是,使用上述文件格式当客户端根据缓存文件加载资源时,客户端不需要对缓存文件进行解压处理,因此,客户端加载资源的速度比较快。此外,由于上述缓存文件仅为一个文件,因此,不需要将多个文件进行合并,减少了合并文件的复杂度。

还需要说明的是,在得到各个待加载的资源的具体内容之后,还需要对各个待加载的资源的具体内容进行拼接处理,从而将多个待加载的资源拼接成一个文件。

基于上述实施例步骤s102至步骤s106所公开的方案,可以获知通过检测当前页面的待加载的资源是否发生变化,并在检测到待加载的资源发生变化的情况下,获取待加载的资源与原始缓存文件的差异结果,最后根据差异结果更新原始缓存文件,其中,待加载的资源至少包括:至少一个待加载页面的页面信息。

容易注意到的是,在待加载的资源实时更新变化的情况下,在通过缓存文件对待加载的资源进行加载的方法可能会出现加载不准确的问题,基于此,本申请通过判断待加载的资源与原始缓存文件是否存在差异,并在存在差异的情况下,根据差异更新原始缓存文件,从而当根据缓存文件加载资源时可以准确的加载资源。此外,本申请还提出了一种缓存文件的格式,使用上述缓存文件的格式使得缓存文件仅为一个文件,因此,不需要再对缓存文件进行解压缩处理,而且还减少了合并文件的复杂度,进一步提高了客户端加载资源的速度。

因此,通过本申请实施例所提供的方案,可以达到在待加载资源实时更新的情况下准确对待加载的资源进行准确缓存的目的,从而实现了加快对待加载的资源的访问速度并节省用户访问资源的流量的技术效果。

由此,本申请的上述实施例1的方案解决了现有的对待加载的资源进行缓存方法不能准确地对实时更新的待加载的资源进行缓存的技术问题。

根据本申请上述实施例以及图4所示的一种可选的更新缓存文件的方法流程图,步骤s102,检测当前页面的待加载的资源是否发生变化,可以包括如下步骤:

步骤s402,获取至少一个待加载页面的页面信息;

步骤s404,检测至少一个待加载页面的页面信息是否发生变化;

步骤s406,在页面信息发生变化的情况下,确定当前页面的待加载的资源发生变化。

在一种可选的实施例中,服务器获取到用户当前正在访问的网页页面(例如图2所示的网页界面),此时,服务器基于当前网页页面获取到待加载网页的页面信息,其中,待加载网页的页面信息至少包括待加载网页的网页地址,例如,在图2中,服务器获取酒店1、酒店2、酒店3以及点击其他城市时所对应的网页地址。并判断待加载的网页的地址是否发生变化,例如,酒店3所对应的网页地址变成了酒店4所对应的网页地址,或者,酒店3所对应的网页地址不存在(例如,该地址已被删除),又或者,当前网页页面的待加载网页增添了其他的待加载资源(例如,增加了酒店4所对应的待加载的资源)。如果检测到至少一个待加载网页的页面信息发生了上述任意一项或多项变化,则确定当前网页页面的待加载的资源发生了变化。

需要说明的是,上述待加载页面的页面信息可以为但不限于待加载页面的地址、待加载页面的内容。此外,可以通过对比原始缓存文件(即之前已经缓存下来的文件)与至少一个待加载页面的页面信息是否一致来判断至少一个待加载页面的页面信息是否发生变化。

在一种可选的实施例中,图5示出了一种可选的更新缓存文件的方法流程图,如图5所示,步骤s104,在检测到待加载的资源发生变化的情况下,获取待加载的资源与原始缓存文件的差异结果,可以包括如下步骤:

步骤s502,获取基于待加载的资源的页面信息;

步骤s504,获取基于原始缓存文件的页面信息;

步骤s506,对比待加载的资源的页面信息以及基于原始缓存文件的页面信息,得到对比结果;

步骤s508,根据对比结果确定差异结果。

具体的,服务器获取待加载的资源的页面信息以及已经缓存在服务器中的原始缓存文件的页面信息,其中,原始缓存文件的文件格式可以为如图3所示的文件格式。在一种可选的实施例中,通过判断待加载的资源地址信息是否与原始缓存文件中“缓存内容”下的url相匹配,如果两者不完全一致,则上述对比结果指示两者存在差异,此时服务器获取两者所存在的差异内容;如果两者完全一致,则确定原始缓存文件与待加载的资源的内容一致,此时,不需要对缓存文件进行更新,即客户端直接通过原始缓存文件加载页面。

在另一种可选的实施例中,在待加载的资源的地址信息与原始缓存文件中“缓存内容”下的url相匹配的情况下,还可以通过判断待加载的资源的内容是否与原始缓存文件中的网页的具体内容相匹配来确定两者是否存在差异。即如果待加载网页页面的内容发生了变化,则确定待加载的资源发生了变化,此时,服务器通过对原始缓存文件中网页的具体内容进行更新,并将更新后的缓存文件发送到客户端。同样,如果两者完全一致,则确定原始缓存文件与待加载的资源的内容一致,此时,服务器不对缓存文件进行更新处理。

可选的,如图6所示的一种可选的更新缓存文件的方法流程图,步骤s106,根据差异结果更新原始缓存文件,可以包括如下步骤:

步骤s602,获取当前页面的标识信息;

步骤s604,根据当前页面的标识信息确定与标识信息相匹配的原始缓存文件;

步骤s606,基于发生变化的待加载的资源对原始缓存文件进行更新处理。

需要说明的是,用户使用同一个客户端可能会同时访问多个页面,服务器中可能存在多个缓存文件,因此,服务器需要识别出与当前页面相对应的原始缓存文件。其中,服务器通过判断页面的标识信息与多个缓存文件的标识信息是否相匹配来确定当前页面的原始缓存文件。

在一种可选的实施例中,每个页面都具有一个唯一标识页面的信息,即上述标识信息,该页面具有一个与该页面对应的缓存文件,该缓存文件具有一个与该页面相对应的标识。由于页面的标识信息与缓存文件的标识具有一定的对应关系,因此,可以通过匹配页面的标识与缓存文件的标识来查询到与页面相匹配的缓存文件,并在待加载的资源发生变化的情况下,根据待加载的资源与原始缓存文件的差异来对原始缓存文件进行更新处理。

根据本申请上述实施例以及图7所示的一种可选的更新缓存文件的方法流程图,在步骤s106,根据差异结果更新原始缓存文件之后,更新缓存文件的方法还可以包括如下步骤:

步骤s702,对更新后的缓存文件进行解析处理,得到解析结果;

步骤s704,根据解析结果确定至少一个待加载页面的页面信息;

步骤s706,基于解析后的至少一个待加载页面的页面信息加载页面。

具体的,服务器在对原始缓存文件进行更新处理之后,服务器将更新后的缓存文件发送到客户端上,客户端在接收到缓存文件之后,对该缓存文件进行解析处理。当用户在当前页面上选择了待加载的资源之后,客户端从解析后的文件中获取到与用户选择的待加载的资源的地址相对应的内容,并将该内容加载到当前页面上。

在一种可选的实施例中,用户点击了图2中的酒店1,客户端获取到待加载页面的地址,并从缓存文件中获取到与该地址相匹配的内容(即酒店1所对应的页面),然后客户端将获取到的与该地址相对应的内容进行加载,并显示在客户端的显示界面上。

需要说明的是,使用图3所示的格式来设计缓存文件,使得缓存文件的文件结构简单,并易于开发者生成或解析缓存文件,从而降低了系统的维护成本。

实施例2

根据本发明实施例,还提供了一种更新缓存文件的装置实施例。

图8是根据本发明实施例的更新缓存文件的装置结构示意图,如图8所示,该装置包括:检测模块801、第一更新模块803以及第二更新模块805。

检测模块801,用于检测当前页面的待加载的资源是否发生变化,其中,待加载的资源至少包括:至少一个待加载页面的页面信息;

第一更新模块803,用于在检测到待加载的资源发生变化的情况下,获取待加载的资源与原始缓存文件的差异结果;

第二更新模块805,用于根据差异结果更新原始缓存文件。

需要说明的是,上述当前页面为用户通过终端设备正在访问的页面,上述待加载的资源为用户通过当前页面可能要访问的资源,例如,如图2所示的一种可选的用户终端的界面显示示意图,由图2可知,用户通过用户终端正在访问上海这个城市的特价酒店,并且搜索到了三个特价酒店,分别是酒店1、酒店2和酒店3。此时,用户可以通过点击图2中的酒店1、酒店2或酒店3分别进入到各个酒店所对应的网页,或者通过选择城市来查看其它城市的特价酒店。图2所示的界面即为上述当前页面,而用户将要访问的酒店1、酒店2、酒店3以及其他城市的特价酒店的界面为上述待加载页面。

由于直接加载用户所要访问的待加载资源可能会出现加载资源比较慢的问题,为了提高加载页面的速度,需要将待加载的页面的资源进行缓存,当用户访问待加载的资源时,直接从缓存文件中读取,因此,可以提高加载页面的速度。但对于实时更新的待加载的资源,上述方法可能会导致不能准确加载的问题。因此,可以通过获取待加载的资源与原始缓存文件的差异结果,并根据差异结果来更新缓存文件的方法可以有效的解决上述问题。

具体的,服务器检测用户当前访问的界面上的待加载的资源是否发生变化,如果发生变化,则获取到待加载的资源与原始缓存文件的差异结果,并根据差异结果对原始缓存文件进行更新处理。

在一种可选的实施例中,上述待加载的资源以一种文件格式进行缓存,该文件格式可以为如图3所示的一种可选的缓存文件格式的示意图。在图3中,qp表示缓存文件的类型,一般为2字节,即len1=2;“缓存长度”表示该缓存文件的长度,一般为4字节,len2=4;“缓存内容”表示缓存文件的信息,其中,该内容以json串的格式存储;数据1、数据2以及数据3等表示待加载资源的具体内容。其中,待加载页面的具体内容存储在filedata中,而待加载页面的网页地址存储在“缓存内容”中。以图2为例,假设酒店3所对应的待加载的资源的内容存储在数据3中,当酒店3的网页内容变为酒店4(图2中并未示出)时,服务器检测到酒店3所对应的待加载的资源的地址发生了变化,并将缓存文件格式的“缓存内容”中的酒店3的网页地址更新为酒店4的网页地址,数据3中存储的酒店3的内容更新为与酒店4所对应的待加载的资源的内容。

需要说明的是,json串的具体内容如下:

其中,files为各个资源的集合;url为离线资源对应的线上地址;sl表示起始位置和缓存长度,即待加载的资源的具体内容在该缓存文件中的起始位置以及长度,如图3所示,数据1从sl_1的位置开始存储,数据2从sl_2的位置开始存储,数据3从sl_3的位置开始存储,其他的内容从sl_4的位置开始存储,len4、len5以及len6分别表示数据1、数据2以及数据3的长度;md5为对url进行加密后的结果,可用于安全校验,保证数据的安全;hybridid表示业务的唯一标识,即当前页面的标识;version表示缓存文件的版本;ios_vid表示该缓存文件所支持的ios客户端的最低版本;android_vid表示支持android客户端的最低版本,其中,该内容可以包含多个不同的android版本。

需要说明的是,使用上述文件格式当客户端根据缓存文件加载资源时,客户端不需要对缓存文件进行解压处理,因此,客户端加载资源的速度比较快。此外,由于上述缓存文件仅为一个文件,因此,不需要将多个文件进行合并,减少了合并文件的复杂度。

还需要说明的是,在得到各个待加载的资源的具体内容之后,还需要对各个待加载的资源的具体内容进行拼接处理,从而将多个待加载的资源拼接成一个文件。

由上可知,通过检测当前页面的待加载的资源是否发生变化,并在检测到待加载的资源发生变化的情况下,获取待加载的资源与原始缓存文件的差异结果,最后根据差异结果更新原始缓存文件,其中,待加载的资源至少包括:至少一个待加载页面的页面信息。

容易注意到的是,在待加载的资源实时更新变化的情况下,在通过缓存文件对待加载的资源进行加载的方法可能会出现加载不准确的问题,基于此,本申请通过判断待加载的资源与原始缓存文件是否存在差异,并在存在差异的情况下,根据差异更新原始缓存文件,从而当根据缓存文件加载资源时可以准确的加载资源。此外,本申请还提出了一种缓存文件的格式,使用上述缓存文件的格式使得缓存文件仅为一个文件,因此,不需要再对缓存文件进行解压缩处理,而且还减少了合并文件的复杂度,进一步提高了客户端加载资源的速度。

因此,通过本申请实施例所提供的方案,可以达到在待加载资源实时更新的情况下准确对待加载的资源进行准确缓存的目的,从而实现了加快对待加载的资源的访问速度并节省用户访问资源的流量的技术效果。

由此,本申请的上述实施例2的方案解决了现有的对待加载的资源进行缓存方法不能准确地对实时更新的待加载的资源进行缓存的技术问题。

需要说明的是,上述检测模块801、第一更新模块803以及第二更新模块805对应于实施例1中的步骤s102至步骤s106,三个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。

可选的,检测模块包括:第一获取模块、第一检测模块以及第一确定模块。其中,第一获取模块,用于获取至少一个待加载页面的页面信息;第一检测模块,用于检测至少一个待加载页面的页面信息是否发生变化;第一确定模块,用于在页面信息发生变化的情况下,确定当前页面的待加载的资源发生变化。

需要说明的是,上述第一获取模块、第一检测模块以及第一确定模块对应于实施例1中的步骤s402至步骤s406,三个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。

可选的,第一更新模块包括:第二获取模块、第三获取模块、对比模块以及第二确定模块。其中,第二获取模块,用于获取基于待加载的资源的页面信息;第三获取模块,用于获取基于原始缓存文件的页面信息;对比模块,用于对比待加载的资源的页面信息以及基于原始缓存文件的页面信息,得到对比结果;第二确定模块,用于根据对比结果确定差异结果。

需要说明的是,上述第二获取模块、第三获取模块、对比模块以及第二确定模块对应于实施例1中的步骤s502至步骤s508,四个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。

可选的,第二更新模块件包括:第四获取模块、第三确定模块以及第三更新模块。其中,第四获取模块,用于获取当前页面的标识信息;第三确定模块,用于根据当前页面的标识信息确定与标识信息相匹配的原始缓存文件;第三更新模块,用于基于发生变化的待加载的资源对原始缓存文件进行更新处理。

需要说明的是,上述第四获取模块、第三确定模块以及第三更新模块对应于实施例1中的步骤s602至步骤s606,三个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。

可选的,更新缓存文件的装置还包括:解析模块、第四确定模块以及加载模块。其中,解析模块,用于对更新后的缓存文件进行解析处理,得到解析结果;第四确定模块,用于根据解析结果确定至少一个待加载页面的页面信息;加载模块,用于基于解析后的至少一个待加载页面的页面信息加载页面。

需要说明的是,上述解析模块、第四确定模块以及加载模块对应于实施例1中的步骤s702至步骤s706,三个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。

实施例3

根据本发明实施例,还提供了一种更新缓存文件的系统实施例。

图9是根据本发明实施例的更新缓存文件的系统结构示意图,如图9所示,该系统包括:服务器901以及客户端903。

服务器901,用于检测当前页面的待加载的资源是否发生变化,在检测到待加载的资源发生变化的情况下,获取待加载的资源与原始缓存文件的差异结果,并根据差异结果更新原始缓存文件;

客户端903,与服务器通信连接,用于向服务器提供当前页面的待加载的资源。

需要说明的是,上述当前页面为用户通过终端设备正在访问的页面,上述待加载的资源为用户通过当前页面可能要访问的资源,例如,如图2所示的一种可选的用户终端的界面显示示意图,由图2可知,用户通过用户终端正在访问上海这个城市的特价酒店,并且搜索到了三个特价酒店,分别是酒店1、酒店2和酒店3。此时,用户可以通过点击图2中的酒店1、酒店2或酒店3分别进入到各个酒店所对应的网页,或者通过选择城市来查看其它城市的特价酒店。图2所示的界面即为上述当前页面,而用户将要访问的酒店1、酒店2、酒店3以及其他城市的特价酒店的界面为上述待加载页面。

具体的,服务器检测用户当前访问的界面上的待加载的资源是否发生变化,如果发生变化,则获取到待加载的资源与原始缓存文件的差异结果,并根据差异结果对原始缓存文件进行更新处理。

在一种可选的实施例中,服务器获取到客户端当前正在访问的页面的信息,并根据当前页面的信息获取到待加载的资源。然后服务器通过对比待加载的资源与已经缓存在服务器本地的缓存文件来确定两者之间存在的差异,并根据差异来对原始缓存文件进行更新处理,从而得到更新后的缓存文件。之后服务器将更新后的缓存文件发送到客户端,客户端接收更新后的缓存文件,并对缓存文件进行解析处理,以便客户端可以直接使用缓存文件中的相关内容。当用户点击当前页面上的相关链接或与上述网页链接相关的其他按钮或图标之后,该链接或图标所对应的待加载的页面即为需要加载的页面。客户端获取到该链接之后,通过与解析后的缓存文件中的内容进行匹配,加载与该链接相匹配的内容。

需要说明的是,上述客户端在加载内容的过程中处于离线状态或处在网络信号比较差的环境中。

由上可知,服务器检测当前页面的待加载的资源是否发生变化,在检测到待加载的资源发生变化的情况下,获取待加载的资源与原始缓存文件的差异结果,并根据差异结果更新原始缓存文件,与服务器通信连接的客户端向服务器提供当前页面的待加载的资源。

容易注意到的是,在待加载的资源实时更新变化的情况下,在通过缓存文件对待加载的资源进行加载的方法可能会出现加载不准确的问题,基于此,本申请通过判断待加载的资源与原始缓存文件是否存在差异,并在存在差异的情况下,根据差异更新原始缓存文件,从而当根据缓存文件加载资源时可以准确的加载资源。此外,本申请还提出了一种缓存文件的格式,使用上述缓存文件的格式使得缓存文件仅为一个文件,因此,不需要再对缓存文件进行解压缩处理,而且还减少了合并文件的复杂度,进一步提高了客户端加载资源的速度。

因此,通过本申请实施例所提供的方案,可以达到在待加载资源实时更新的情况下准确对待加载的资源进行准确缓存的目的,从而实现了加快对待加载的资源的访问速度并节省用户访问资源的流量的技术效果。

由此,本申请的上述实施例1的方案解决了现有的对待加载的资源进行缓存方法不能准确地对实时更新的待加载的资源进行缓存的技术问题。

进一步的,上述服务器还用于获取至少一个待加载页面的页面信息;检测至少一个待加载页面的页面信息是否发生变化;在页面信息发生变化的情况下,确定当前页面的待加载的资源发生变化。

此外,上述服务器还用于获取基于待加载的资源的页面信息;获取基于原始缓存文件的页面信息;对比基于上述待加载的资源的页面信息以及基于原始缓存文件的页面信息,得到对比结果;根据对比结果确定差异结果。

在一种可选的实施例中,上述服务器还用于获取当前页面的标识信息;根据当前页面的标识信息确定与标识信息相匹配的原始缓存文件;基于发生变化的待加载的资源对原始缓存文件进行更新处理。

在另一种可选的实施例中,上述客户端还用于对更新后的缓存文件进行解析处理,得到解析结果;根据解析结果确定至少一个待加载页面的页面信息;基于解析后的至少一个待加载页面的页面信息加载页面。

实施例4

根据本发明实施例,还提供了一种存储介质。

可选的,在本实施例中,上述存储介质可以用于保存上述实施例1所提供的更新缓存文件的方法所执行的程序代码。

可选的,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。

可选的,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:检测当前页面的待加载的资源是否发生变化,其中,待加载的资源至少包括:至少一个待加载页面的页面信息;在检测到待加载的资源发生变化的情况下,获取待加载的资源与原始缓存文件的差异结果;根据差异结果更新原始缓存文件。

可选的,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:获取至少一个待加载页面的页面信息;检测至少一个待加载页面的页面信息是否发生变化;在页面信息发生变化的情况下,确定当前页面的待加载的资源发生变化。

可选的,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:获取基于待加载的资源的页面信息;获取基于原始缓存文件的页面信息;对比基于上述待加载的资源的页面信息以及基于原始缓存文件的页面信息,得到对比结果;根据对比结果确定差异结果。

可选的,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:获取当前页面的标识信息;根据当前页面的标识信息确定与标识信息相匹配的原始缓存文件;基于发生变化的待加载的资源对原始缓存文件进行更新处理。

可选的,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:对更新后的缓存文件进行解析处理,得到解析结果;根据解析结果确定至少一个待加载页面的页面信息;基于解析后的至少一个待加载页面的页面信息加载页面。

实施例5

根据本发明实施例,提供了一种处理器。

可选的,在本实施例中,上述处理器可以用于执行上述实施例1所提供的更新缓存文件的方法的程序代码。

处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:检测当前页面的待加载的资源是否发生变化,其中,待加载的资源至少包括:至少一个待加载页面的页面信息;在检测到待加载的资源发生变化的情况下,获取待加载的资源与原始缓存文件的差异结果;根据差异结果更新原始缓存文件。

可选的,上述处理器还可以执行如下步骤的程序代码:获取至少一个待加载页面的页面信息;检测至少一个待加载页面的页面信息是否发生变化;在页面信息发生变化的情况下,确定当前页面的待加载的资源发生变化。

可选的,上述处理器还可以执行如下步骤的程序代码:获取基于待加载的资源的页面信息;获取基于原始缓存文件的页面信息;对比基于上述待加载的资源的页面信息以及基于原始缓存文件的页面信息,得到对比结果;根据对比结果确定差异结果。

可选的,上述处理器还可以执行如下步骤的程序代码:获取当前页面的标识信息;根据当前页面的标识信息确定与标识信息相匹配的原始缓存文件;基于发生变化的待加载的资源对原始缓存文件进行更新处理。

可选的,上述处理器还可以执行如下步骤的程序代码:对更新后的缓存文件进行解析处理,得到解析结果;根据解析结果确定至少一个待加载页面的页面信息;基于解析后的至少一个待加载页面的页面信息加载页面。

实施例6

根据本发明实施例,还提供了一种终端。

可选的,该终端包括:服务器、客户端以及处理器。

其中,服务器,用于在检测到当前页面的待加载的资源发生变化的情况下,根据待加载的资源与原始缓存文件的差异结果更新原始缓存文件;客户端,与服务器通信连接,用于向服务器提供当前页面的待加载的资源;处理器,处理器运行程序,其中,程序运行时对于从服务器和客户端输出的数据执行如下处理步骤:

检测当前页面的待加载的资源是否发生变化,其中,待加载的资源至少包括:至少一个待加载页面的页面信息;

在检测到待加载的资源发生变化的情况下,获取待加载的资源与原始缓存文件的差异结果;

根据差异结果更新原始缓存文件。

实施例7

根据本发明实施例,还提供了一种终端。

可选的,该终端包括:服务器、客户端以及存储介质。

其中,服务器,用于在检测到当前页面的待加载的资源发生变化的情况下,根据待加载的资源与原始缓存文件的差异结果更新原始缓存文件;客户端,与服务器通信连接,用于向服务器提供当前页面的待加载的资源;存储介质,用于存储程序,其中,程序在运行时对于从服务器和客户端输出的数据执行如下处理步骤:

检测当前页面的待加载的资源是否发生变化,其中,待加载的资源至少包括:至少一个待加载页面的页面信息;

在检测到待加载的资源发生变化的情况下,获取待加载的资源与原始缓存文件的差异结果;

根据差异结果更新原始缓存文件。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1