CN103916474A - 缓存时间的确定方法、装置及系统 - Google Patents
缓存时间的确定方法、装置及系统 Download PDFInfo
- Publication number
- CN103916474A CN103916474A CN201410136877.3A CN201410136877A CN103916474A CN 103916474 A CN103916474 A CN 103916474A CN 201410136877 A CN201410136877 A CN 201410136877A CN 103916474 A CN103916474 A CN 103916474A
- Authority
- CN
- China
- Prior art keywords
- time
- cache
- resource
- page
- ratio
- 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
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种缓存时间的确定方法、装置及系统。其中的方法包括:全网客户端对目标页面进行访问时,分别向预取服务器回传所述目标页面对应的资源;所述预取服务器通过解析所述资源,获取所述资源的属性信息的方式,以页面为单位分别收集到针对所述资源对应实例的多个属性信息;所述预取服务器根据收集到的所述多个属性信息的分布,分别计算并记录所述资源对应的缓存时间;所述预取服务器将所述缓存时间提供给所述客户端。可见,本发明以页面为单位,获取全网用户在访问某页面时该页面和页面资源分别对应的属性特征,根据属性特征的分布分别进行统计,统计该页面资源的对应的最佳缓存时间,浏览器在预取时将根据该最佳缓存时间对页面资源进行缓存,从而提高了网络效率。
Description
技术领域
本发明涉及网络技术领域,特别是涉及缓存时间的确定方法、装置及系统。
背景技术
随着信息技术的迅速发展,网络规模随着用户数呈指数级增长,也越来越庞大,为了支持断接操作,数据要预先存储到缓存中,由于在断接过程中只能使用本地的数据,所以要提高用户的访问速度,主要采用缓存预取技术来减少网络延迟。
用户通过浏览器访问各个站点网页的时,需要传输大量的网页数据(html源码,js代码,图片等多媒体数据)。由于大量的网页数据更新频度较低,特别是js代码之类的,所以http请求的返回数据中往往包含了站长提供的缓存时间,用以提示客户端在预读取时,以缓存的方式获取内容,以减少不必要的网络流量,从而提升网络效率。
目前通过站长设置的缓存时间有一些不可避免的缺陷:比如站长经验不足或者失误,往往将可缓存的资源置为不可缓存,一些可以缓存更长时间的资源,往往设置缓存时间较短。如果页面为动态页面,缓存时间往往随动态元素的变化而变化;对于一些大站点,页面经不同服务器进行转发时,缓存时间在转发时也会发生变化;同url的页面中也有多个设置缓存时间的字段,不同站长可能设置不同的字段,这些因素均会导致浏览器服务器接收到的相同url时,对应的缓存时间会有所不同。
综上,现有技术中,浏览器客户端进行预读取时,由于各页面的缓存时间设置不科学,浏览器将频繁对资源进行预取,或是预取了无效的资源,从而降低了网络效率。
发明内容
本发明提供了一种缓存时间的确定方法、装置及系统,通过网站或者页面的集体数据收集分析某些特征,从而更真实的预测页面缓存时间。
本发明提供了如下方案:
一种缓存时间的确定方法,包括:全网客户端对目标页面进行访问时,分别向预取服务器回传所述目标页面对应的资源;所述预取服务器通过解析所述资源,获取所述资源的属性信息的方式,以页面为单位分别收集到针对所述资源对应实例的多个属性信息;所述预取服务器根据收集到的所述多个属性信息的分布,分别计算并记录所述资源对应的缓存时间;所述预取服务器将所述缓存时间提供给所述客户端。
优选地,所述解析所述资源,获取所述资源的属性信息包括:对所述资源进行http协议解析,获取到页面指定缓存时间信息、页面大小信息、是否重定向信息、是否设置cookie操作信息和/或控制字段。
优选地,所述预取服务器根据收集到的所述多个属性信息的分布,分别计算并记录所述资源对应的缓存时间包括:判断所述资源是否可缓存;对于可缓存的资源,根据针对所述资源多个实例的所述页面指定缓存时间信息,计算出初始平均缓存时间;根据所述预取服务器预置的时间参数以及所述初始平均缓存时间,确定平均缓存时间;将所述平均缓存时间作为最终的缓存时间。
优选地,所述判断所述资源是否可缓存包括:根据针对所述资源多个实例的所述是否重定向信息、所述是否设置cookie操作信息、所述页面指定缓存时间信息,计算出重定向比例、设置cookie比例、缓存比例;当所述重定向比例大于预置的最大重定向比例,或者所述设置cookie比例大于预置的最大设置cookie比例的情况下,并且所述缓存比例小于预置的最小缓存比例时,确定所述资源不可缓存,否则,确定所述资源可缓存。
优选地,所述根据所述预取服务器预置的时间参数以及所述初始平均缓存时间,确定平均缓存时间包括:如果所述初始平均缓存时间小于预置的最小缓存时间,则取最小缓存时间作为所述平均缓存时间;如果所述初始平均缓存时间大于预置的最大缓存时间,则取最大缓存时间作为所述平均缓存时间;如果所述初始平均缓存时间大于或等于所述最小缓存时间并小于或等于所述最大缓存时间,则取所述初始平均缓存时间作为所述平均缓存时间。
优选地,所述方法还包括:如果针对所述资源的实例个数小于预置的最小实例数目,则不计算所述资源对应的缓存时间。
优选地,所述预取服务器将所述缓存时间提供给所述客户端包括:客户端访问所述目标页面时,通过预取渠道向所述预取服务器发送预取请求;所述预取服务器接收到针对所述目标页面的预取请求后,到线上存储库查询所述目标页面的信息以及所述目标页面的资源列表;预取服务器将所述目标页面需要预取的资源列表以及每个资源对应的缓存时间下发给所述客户端。
优选地,在客户端收到所述预取服务器下发的资源列表及每个资源对应的缓存时间之后,还包括:所述客户端对资源列表中的资源进行预取下载,并根据每一个资源对应的缓存时间,设定资源的有效期。
一种缓存时间的确定装置,包括:资源获取单元,用于获取全网客户端对目标页面进行访问时,分别回传的所述目标页面对应的资源;属性信息收集单元,用于通过解析所述资源获取所述资源的属性信息的方式,以页面为单位分别收集到针对所述资源对应实例的多个属性信息;缓存时间确定单元,用于根据收集到的所述多个属性信息的分布,分别计算并记录所述资源对应的缓存时间;缓存时间提供单元,用于将所述缓存时间提供给所述客户端。
优选地,所述属性信息收集单元,具体用于:对所述资源进行http协议解析,获取到页面指定缓存时间信息、页面大小信息、是否重定向信息、是否设置cookie操作信息和/或控制字段。
优选地,所述缓存时间确定单元包括:是否缓存判断子单元,用于判断所述资源是否可缓存;缓存时间计算子单元,对于可缓存的资源,根据针对所述资源多个实例的所述页面指定缓存时间信息,计算出初始平均缓存时间;根据所述预取服务器预置的时间参数以及所述初始平均缓存时间,确定平均缓存时间;将所述平均缓存时间作为最终的缓存时间。
优选地,所述是否缓存判断子单元,具体用于:根据针对所述资源多个实例的所述是否重定向信息、所述是否设置cookie操作信息、所述页面指定缓存时间信息,计算出重定向比例、设置cookie比例、缓存比例;当所述重定向比例大于预置的最大重定向比例,或者所述设置cookie比例大于预置的最大设置cookie比例的情况下,并且所述缓存比例小于预置的最小缓存比例时,确定所述资源不可缓存,否则,确定所述资源可缓存。
优选地,所述缓存时间计算子单元,具体用于:如果所述初始平均缓存时间小于预置的最小缓存时间,则取最小缓存时间作为所述平均缓存时间;如果所述初始平均缓存时间大于预置的最大缓存时间,则取最大缓存时间作为所述平均缓存时间;如果所述初始平均缓存时间大于或等于所述最小缓存时间并小于或等于所述最大缓存时间,则取所述初始平均缓存时间作为所述平均缓存时间。
优选地,所述缓存时间提供单元包括:预取请求接收子单元,用于接收客户端访问所述目标页面时,通过预取渠道发送的预取请求;资源查询子单元,用于针对所述目标页面的预取请求后,到线上存储库查询所述目标页面的信息以及所述目标页面的资源列表;缓存时间下发子单元,用于将所述目标页面需要预取的资源列表以及每个资源对应的缓存时间下发给所述客户端,指示所述客户端对资源列表中的资源进行预取下载,并根据每一个资源对应的缓存时间,设定资源的有效期。
一种缓存时间的确定系统,包括上述缓存时间的确定装置以及客户端。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
可见,本发明以页面为单位,获取全网用户在访问某页面时该页面和页面资源分别对应的属性特征,根据属性特征的分布分别进行统计,统计该页面资源的对应的最佳缓存时间,浏览器在预取时将根据该最佳缓存时间对页面资源进行缓存,从而提高了网络效率。
本发明实施例与现有技术不同,现有技术中,站长可能会设置较小的缓存时间,即使资源很旧未更新,这样用户访问时候就会增加不必要的客户端-服务器交互,降低网络效率,而本发明实施例通过对页面及资源属性信息数据的分析可以适当“纠正”这样的情况,如果通过分析发现该资源实际上很久未更新,这样可以安全的延迟缓存时间,从而提高效率。
通过对一些敏感事件的检测,可以比较安全的降低预测风险(主要是将不可缓存的变换为可缓存),例如尺寸分布,setcookie、redirect事件往往会有敏感事件,通过对这些事件的统计能有效的降低不可缓存时间的错误判断。
例如对于某个资源,由于尺寸分布一致,可以近似认为该资源对每个客户端都一样。假设该资源对应的实例有1000个,而缓存时间中出现了2个非缓存的case,则通过大数据分析,可以纠正这样的结果,将此2个非缓存的case进行纠正延长缓存时间,提高网络的数据利用效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的缓存时间的确定方法的流程图;
图2是本发明实施例提供的缓存时间的确定方法的示意图;
图3是本发明实施例提供的缓存时间的确定方法实例的流程图;
图4是本发明实施例提供的缓存时间的确定装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
本发明基于针对目标页面的多个访问消息的统计,根据目标页面及页面资源的变化特征确定资源对应的缓存时间。本发明中的目标页面是指用户要访问的页面,也就是对该目标页面中的资源进行缓存;其中,资源是指网页中包括的数据,例如html源码、js代码、图片等多媒体数据等等。
参见图1,为本发明实施例提供的缓存时间的确定方法的流程图,包括以下步骤:
S101:全网客户端对目标页面进行访问时,分别向预取服务器回传目标页面对应的资源;
S102:预取服务器通过解析资源获取资源的属性信息的方式,以页面为单位分别收集到针对资源对应实例的多个属性信息;
S103:预取服务器根据收集到的多个属性信息的分布,分别计算并记录资源对应的缓存时间;
S104:预取服务器将缓存时间提供给客户端。
可以理解,为了确定一个目标页面中资源对应的缓存时间,基于越多的实例进行统计则越为准确。也就是,对于步骤S101,优选地,基于多个用户对同一个目标网页进行访问,例如,用户1、用户2、用户3、…、用户n对页面A进行访问。
本发明实施例中,预取服务器位于网络侧,可以是单独的设备,也可以是集成在别的设备上的功能实体。预取服务器主要功能是收集页面及页面资源的多个属性信息,统计并更新资源对应的缓存时间。此外,预取服务器还与客户端进行通信,为各客户端下发资源列表及每个资源对应的缓存时间,并为客户端提供资源预取服务。
本发明实施例中,客户端是指提供页面访问的设备,例如,PC机、智能手机、平板电脑等,用户通过这些设备的浏览器访问页面。
参见图2,为本发明实施例提供的缓存时间的确定方法的示意图。首先,多个用户对同一个页面发起访问,如图2中示出的,用户1、用户2、用户3都对页面A发起访问;然后,预取服务器执行图2中所示的步骤1-3。在步骤1中,预取服务器提供对实验用户日志的收集服务,解析各用户的http头消息,获取属性信息,例如,setcookie(设置cookie)字段、redirect(重定向)字段、页面size(页面大小)、页面过期时间、控制字段(包括缓存及网络打开方式等)。在步骤2中,预取服务器进行线上实时的更新逻辑,根据新数据计算页面A的资源对应的缓存时间预测结果。在步骤3中,预取服务器下发缓存字典,当用户访问页面A时,使用该资源对应预测的缓存时间。
下面对本发明实施例的详细流程进行介绍。
(1)体验用户访问网页A,同时向指定的预取服务器回传页面A及页面A使用的资源的相关属性:
页面的大小Size;
页面指定的缓存时间Cached_times(不缓存,或者缓存多少秒);
是否有重定向Set_redirect;
是否有setcookie操作Set_cookie;
控制字段(网络打开,本地缓存打开)。
(2)更新统计信息库,该库中包括页面A及页面A相关资源的属性(1中列出),并且根据这些属性数据计算该网页资源对应的缓存时间,具体逻辑如下:
(2.1)更新后台的数据库,例如以上每种属性会保存最近的该资源的1000个实例。
(2.2)根据近期的属性特征的分布分别计算每个资源实例最后的预测缓存时间:
(2.2.1)计算每个资源实例的初始的平均缓存时间=服务器缓存时间之和/cnt,cnt指该资源实例的个数。
(2.2.2)如果初始时间小于系统设定的最小缓存时间EXP_MIN_EXP_SECONDS或者大于系统设定的最大缓存时间EXP_MAX_EXP_SECONDS,则使用EXP_MIN_EXP_SECONDS或EXP_MAX_EXP_SECONDS作为该资源的平均缓存时间。
(2.2.3)分别计算重定向、setcookie、缓存时间的非零分布比例:redirect_r,cookie_r,cached_r;当重定向比例(redirect_r)大于预置的最大重定向比例或者设置cookie比例(cookie_r)大于预置的最大设置cookie比例,并且缓存比例(cached_r)小于预置的最小缓存比例时,则确定资源不可缓存,否则,确定资源可缓存。
其中,最大重定向比例、最大设置cookie比例、最小缓存比例可以是根据经验在预取服务器提前设置的。比如,本实施例中,最大重定向比例为0.2、最大设置cookie比例为0.2、最小缓存比例为0.8,那么,如果(cookie_r>0.2||redirect_r>0.2)&&cached_r<0.8)则标记该资源不可缓存,否则标记为可缓存。
(2.2.4)如果针对资源的实例个数小于预置的最小实例数目,则不计算资源对应的缓存时间。例如,如果该资源可缓存但是该资源对应的实例个数<3(最小实例数目=3,为经验值),表示该资源对应的实例较新,因此对不计算该资源的缓存时间。
(2.2.5)对于标记可缓存的资源,令该资源对应的缓存时间=平均缓存时间。
(3)更新服务器中的线上结果,为浏览器的页面访问提供缓存时间预测,具体逻辑如下:
(3.1)用户在客户端访问具体页面A时,客户端通过预取渠道向预取服务器发送预取请求;
(3.2)预取服务器接收到页面A的预取请求后,会到线上存储库查询的页面A的信息以及页面A对应的资源列表;
(3.3)根据页面A的资源列表,以及每一个资源对应的平均缓存时间等资源的属性,预取服务器会下发页面A需要预取的资源列表以及资源列表中各资源的平均缓存时间给客户端;
(3.4)客户端接收到预取服务器端对页面A的预取请求后,对页面A需要的资源列表进行预取下载,并分别根据每一个资源的平均缓存时间,设定每个资源的有效期,供客户端进行缓存。
参见图3,为本发明实施例提供的缓存时间的确定方法一个优选实例的流程图。
图3仅示出了在预取服务器侧实现的计算缓存时间的流程,其他步骤则略去。
S301:获取针对页面A的某个资源的N个实例的属性信息;
S302:通过资源的属性信息cookie_r、redirect_r、cached_r判断该资源是否可缓存;如果不可缓存,执行步骤S303;如果可缓存,执行步骤S304;
S303:标记该资源为不可缓存;
S304:判断该资源的实例个数N是否小于系统设置的最小实例数目N-min,如果是,执行步骤S305;否则,执行步骤S306;
S305:不计算该资源对应的缓存时间;
S306:根据该资源的多个实例的缓存时间,计算该资源的初始平均缓存时间;
S307:判断该资源的初始平均缓存时间是否小于EXP_MIN_EXP_SECONDS或者是否大于EXP_MAX_EXP_SECONDS,如果是,执行步骤S308;否则,执行S309;
S308:使该资源的平均缓存时间等于EXP_MIN_EXP_SECONDS或者取平均缓存时间等于EXP_MAX_EXP_SECONDS;
S309:使该资源的平均缓存时间等于初始平均缓存时间;
S310:确定该资源的最终的缓存时间为平均缓存时间。
下面介绍一个具体实例。
1、页面及资源相关属性收集
用户访问页面:http://www.sogou.com/
返回页面的资源:http://www.sogou.com/js/sugg_go.v.2.31.js
属性信息:打开方式:网络
Size:10000bytes
Set_cookie:no
Redirect:no
Max-age:2592000
2、更新统计库,并计算页面资源对应的缓存时间
服务器接收请求,并更新现有的信息库中的基本数据:
http://www.sogou.com/js/sugg_go.v.2.31.js
Size:10000,10000,10000,10000,10000,10000,10000,10000
Set_cookie:yes,no,no,no,no,no,no,no
Set_redirect:no,yes,no,no,no,no,no,no
Cached_times:2592000,2592000,2592000,2592000,2592000,2592000,2592000,2592000
2.1、实验用户访问了使用客户端搜狗首页“http://www.sogou.com/”时,探测到该页面需要某资源文件:
http://www.sogou.com/js/sugg_go.v.2.37days1.js
所以下载该资源,同时向预取计算库回传资源名及其相关属性;
2.2、服务端更新预取计算库中的历史数据,包括近期的尺寸分布,重定向,cookie,缓存时间分布等;
2.3、利用更新数据重新计算该资源对应的缓存时间,平均缓存时间=时间和/cnt;重定向比例=发生重定向次数/cnt;缓存比例=非零缓存时间/cnt;setcookie比例=发生setcookie事件数/cnt;
2.4、根据流程中的规则判断是否可以缓存已经缓存时间:
cookie_r=12.5%,redirect_r=12.5%,cached_r=100%
avg_cache_t=2592000s(>7days)
cached_time=7days(因为平均缓存时间大于七天,所以取系统最大值7days)
3、更新线上的结果,为在线查询提供缓存时间预测。
当用户访问搜狗首页后,客户端向预取服务器查询http://www.sogou.com/所需要的资源和缓存时间,
服务器返回“http://www.sogou.com/js/sugg_go.v.2.37days1.js7days”。
在新用户使用时,会使用预取服务器的预测结果:访问搜狗首页时,预取服务器下发的预取指令中会包含资源:
http://www.sogou.com/js/sugg_go.v.2.37days1.js
且资源的平均缓存时间为7days,客户端通过下载该资源并设定期有效期为7天来实现该资源的预取功能。
需要说明的是,虽然以上实施例都是以资源存在于一个页面的方式进行的说明,但是可以理解,资源可以同时存在于多个页面中,此时,对于该资源对应的缓存时间计算方式与上述介绍的相同,只不过需要综合考虑所存在的多个页面的情况,也就是计算指标叠加。例如,资源A.js包含于A.html页面和B.html页面的情况,此时,对于资源A.js对应的缓存时间,需结合A.html页面和B.html页面中资源A.js的属性信息,综合计算出资源A.js对应的缓存时间。
可见,本发明以页面为单位,获取全网用户在访问某页面时该页面和页面资源分别对应的属性特征,根据属性特征的分布分别进行统计,统计该页面资源的对应的最佳缓存时间,浏览器在预取时将根据该最佳缓存时间对页面资源进行缓存,从而提高了网络效率。
本发明与现有技术不同,现有技术中,站长可能会设置较小的缓存时间,即使资源很旧未更新,这样用户访问时候就会增加不必要的客户端-服务器交互,降低网络效率,而本发明实施例通过对页面及资源属性信息数据的分析可以适当“纠正”这样的情况,如果通过分析发现该资源实际上很久未更新,这样可以安全的延迟缓存时间,从而提高效率。
通过对一些敏感事件的检测,可以比较安全的降低预测风险(主要是将不可缓存的变换为可缓存),例如尺寸分布,setcookie、redirect事件往往会有敏感事件,通过对这些事件的统计能有效的降低不可缓存时间的错误判断。
例如,例子中的资源,由于尺寸分布一致,可以近似认为该资源对每个客户端都一样。假设该资源对应的实例有1000个,而缓存时间中出现了2个非缓存的case,则通过大数据分析,可以纠正这样的结果,将此2个非缓存的case进行纠正,延长缓存时间,提高网络的数据利用效率。
与上述方法相对应,本发明还提供一种缓存时间的确定装置。该装置可以通过硬件、软件或软硬件结合方式实现。该装置可以是指预取服务器内部的功能模块,也可以是指预取服务器本身,只要预取服务器包括实现该装置的功能即可。参见图4,该装置包括:
资源获取单元401,用于获取全网客户端对目标页面进行访问时,分别回传的目标页面对应的资源;
属性信息收集单元402,用于通过解析所述资源,获取所述资源的属性信息的方式,以页面为单位收集到针对所述资源对应实例的多个属性信息;
缓存时间确定单元403,用于根据收集到的所述多个属性信息,分别计算并记录所述资源对应的缓存时间;
缓存时间提供单元404,用于将所述缓存时间提供给所述客户端。
其中,属性信息收集单元402,具体用于:
对所述资源进行http协议解析,获取到页面指定缓存时间信息、页面大小信息、是否重定向信息、是否设置cookie操作信息和/或控制字段。
优选地,缓存时间确定单元403包括:
是否缓存判断子单元4031,用于判断所述资源是否可缓存;
缓存时间计算子单元4032,对于可缓存的资源,根据针对所述资源多个实例的所述页面指定缓存时间信息,计算出初始平均缓存时间;根据所述预取服务器预置的时间参数以及所述初始平均缓存时间,确定平均缓存时间;将所述平均缓存时间作为最终的缓存时间;
不可缓存标记子单元4033,用于对于不可缓存的资源,标记所述资源为不可缓存。
其中,是否缓存判断子单元4031,具体用于:
根据针对所述资源多个实例的所述是否重定向信息、所述是否设置cookie操作信息、所述页面指定缓存时间信息,计算出重定向比例、设置cookie比例、缓存比例;
当所述重定向比例大于预置的最大重定向比例,或者所述设置cookie比例大于预置的最大设置cookie比例的情况下,并且所述缓存比例小于预置的最小缓存比例时,确定所述资源不可缓存,否则,确定所述资源可缓存。
其中,缓存时间计算子单元4032,具体用于:
如果所述初始平均缓存时间小于预置的最小缓存时间,则取最小缓存时间作为所述平均缓存时间;
如果所述初始平均缓存时间大于预置的最大缓存时间,则取最大缓存时间作为所述平均缓存时间;
如果所述初始平均缓存时间大于或等于所述最小缓存时间并小于或等于所述最大缓存时间,则取所述初始平均缓存时间作为所述平均缓存时间。
其中,缓存时间提供单元404包括:
预取请求接收子单元4041,用于接收客户端访问所述目标页面时,通过预取渠道发送的预取请求;
资源查询子单元4042,用于针对所述目标页面的预取请求后,到线上存储库查询所述目标页面的信息以及所述目标页面的资源列表;
缓存时间下发子单元4043,用于将所述目标页面需要预取的资源列表以及每个资源对应的缓存时间下发给所述客户端,指示所述客户端对资源列表中的资源进行预取下载,并根据每一个资源对应的缓存时间,设定资源的有效期。
优选地,该装置还包括:
不计算缓存时间单元405,用于判断所述资源的实例个数是否小于预置的最小实例数目,如果是,则不计算所述资源对应的缓存时间。
另外,本发明还提供一种缓存时间的确定系统,该系统包括如上介绍的装置以及客户端。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上对本发明所提供的缓存时间的确定方法、装置及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (15)
1.一种缓存时间的确定方法,其特征在于,包括:
全网客户端对目标页面进行访问时,分别向预取服务器回传所述目标页面对应的资源;
所述预取服务器通过解析所述资源,获取所述资源的属性信息的方式,以页面为单位分别收集针对所述资源对应实例的多个属性信息;
所述预取服务器根据收集到的所述多个属性信息的分布,分别计算并记录所述资源对应的缓存时间;
所述预取服务器将所述缓存时间提供给所述客户端。
2.根据权利要求1所述的方法,其特征在于,所述解析所述资源,获取所述资源的属性信息包括:
对所述资源进行http协议解析,获取到页面指定缓存时间信息、页面大小信息、是否重定向信息、是否设置cookie操作信息和/或控制字段。
3.根据权利要求2所述的方法,其特征在于,所述预取服务器根据收集到的所述多个属性信息的分布,分别计算并记录所述资源对应的缓存时间包括:
判断所述资源是否可缓存;
对于可缓存的资源,根据针对所述资源多个实例的所述页面指定缓存时间信息,计算出初始平均缓存时间;
根据所述预取服务器预置的时间参数以及所述初始平均缓存时间,确定平均缓存时间;将所述平均缓存时间作为最终的缓存时间。
4.根据权利要求3所述的方法,其特征在于,所述判断所述资源是否可缓存包括:
根据针对所述资源多个实例的所述是否重定向信息、所述是否设置cookie操作信息、所述页面指定缓存时间信息,计算出重定向比例、设置cookie比例、缓存比例;
当所述重定向比例大于预置的最大重定向比例,或者所述设置cookie比例大于预置的最大设置cookie比例的情况下,并且所述缓存比例小于预置的最小缓存比例时,确定所述资源不可缓存,否则,确定所述资源可缓存。
5.根据权利要求3所述的方法,其特征在于,所述根据所述预取服务器预置的时间参数以及所述初始平均缓存时间,确定平均缓存时间包括:
如果所述初始平均缓存时间小于预置的最小缓存时间,则取最小缓存时间作为所述平均缓存时间;
如果所述初始平均缓存时间大于预置的最大缓存时间,则取最大缓存时间作为所述平均缓存时间;
如果所述初始平均缓存时间大于或等于所述最小缓存时间并小于或等于所述最大缓存时间,则取所述初始平均缓存时间作为所述平均缓存时间。
6.根据权利要求1至5任一项所述的方法,其特征在于,还包括:
如果针对所述资源的实例个数小于预置的最小实例数目,则不计算所述资源对应的缓存时间。
7.根据权利要求1所述的方法,其特征在于,所述预取服务器将所述缓存时间提供给所述客户端包括:
客户端访问所述目标页面时,通过预取渠道向所述预取服务器发送预取请求;
所述预取服务器接收到针对所述目标页面的预取请求后,到线上存储库查询所述目标页面的信息以及所述目标页面的资源列表;
预取服务器将所述目标页面需要预取的资源列表以及每个资源对应的缓存时间下发给所述客户端。
8.根据权利要求7所述的方法,其特征在于,在客户端收到所述预取服务器下发的资源列表及每个资源对应的缓存时间之后,还包括:
所述客户端对资源列表中的资源进行预取下载,并根据每一个资源对应的缓存时间,设定资源的有效期。
9.一种缓存时间的确定装置,其特征在于,包括:
资源获取单元,用于获取全网客户端对目标页面进行访问时,分别回传的所述目标页面对应的资源;
属性信息收集单元,用于通过解析所述资源获取所述资源的属性信息的方式,以页面为单位分别收集到针对所述资源对应实例的多个属性信息;
缓存时间确定单元,用于根据收集到的所述多个属性信息的分布,分别计算并记录所述资源对应的缓存时间;
缓存时间提供单元,用于将所述缓存时间提供给所述客户端。
10.根据权利要求9所述的装置,其特征在于,所述属性信息收集单元,具体用于:
对所述资源进行http协议解析,获取到页面指定缓存时间信息、页面大小信息、是否重定向信息、是否设置cookie操作信息和/或控制字段。
11.根据权利要求10所述的装置,其特征在于,所述缓存时间确定单元包括:
是否缓存判断子单元,用于判断所述资源是否可缓存;
缓存时间计算子单元,对于可缓存的资源,根据针对所述资源多个实例的所述页面指定缓存时间信息,计算出初始平均缓存时间;根据所述预取服务器预置的时间参数以及所述初始平均缓存时间,确定平均缓存时间;将所述平均缓存时间作为最终的缓存时间。
12.根据权利要求11所述的装置,其特征在于,所述是否缓存判断子单元,具体用于:
根据针对所述资源多个实例的所述是否重定向信息、所述是否设置cookie操作信息、所述页面指定缓存时间信息,计算出重定向比例、设置cookie比例、缓存比例;
当所述重定向比例大于预置的最大重定向比例,或者所述设置cookie比例大于预置的最大设置cookie比例的情况下,并且所述缓存比例小于预置的最小缓存比例时,确定所述资源不可缓存,否则,确定所述资源可缓存。
13.根据权利要求11所述的方法,其特征在于,所述缓存时间计算子单元,具体用于:
如果所述初始平均缓存时间小于预置的最小缓存时间,则取最小缓存时间作为所述平均缓存时间;
如果所述初始平均缓存时间大于预置的最大缓存时间,则取最大缓存时间作为所述平均缓存时间;
如果所述初始平均缓存时间大于或等于所述最小缓存时间并小于或等于所述最大缓存时间,则取所述初始平均缓存时间作为所述平均缓存时间。
14.根据权利要求9所述的装置,其特征在于,所述缓存时间提供单元包括:
预取请求接收子单元,用于接收客户端访问所述目标页面时,通过预取渠道发送的预取请求;
资源查询子单元,用于针对所述目标页面的预取请求后,到线上存储库查询所述目标页面的信息以及所述目标页面的资源列表;
缓存时间下发子单元,用于将所述目标页面需要预取的资源列表以及每个资源对应的缓存时间下发给所述客户端,指示所述客户端对资源列表中的资源进行预取下载,并根据每一个资源对应的缓存时间,设定资源的有效期。
15.一种缓存时间的确定系统,其特征在于,包括如权利要求9-14任一项所述的装置以及客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410136877.3A CN103916474B (zh) | 2014-04-04 | 2014-04-04 | 缓存时间的确定方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410136877.3A CN103916474B (zh) | 2014-04-04 | 2014-04-04 | 缓存时间的确定方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103916474A true CN103916474A (zh) | 2014-07-09 |
CN103916474B CN103916474B (zh) | 2018-05-22 |
Family
ID=51041872
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410136877.3A Active CN103916474B (zh) | 2014-04-04 | 2014-04-04 | 缓存时间的确定方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103916474B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104133880A (zh) * | 2014-07-25 | 2014-11-05 | 广东睿江科技有限公司 | 一种设置文件缓存时间的方法与装置 |
CN105550338A (zh) * | 2015-12-23 | 2016-05-04 | 北京大学 | 一种基于HTML5应用缓存的移动Web缓存优化方法 |
CN105897815A (zh) * | 2015-08-12 | 2016-08-24 | 乐视云计算有限公司 | 一种读取数据的方法及读取数据的网络侧设备 |
CN107741994A (zh) * | 2017-11-09 | 2018-02-27 | 校脸科技(北京)有限公司 | 一种数据更新方法及装置 |
CN107948230A (zh) * | 2016-10-13 | 2018-04-20 | 北京京东尚科信息技术有限公司 | 确定来自服务端数据的缓存时间的方法及装置 |
CN108153794A (zh) * | 2016-12-02 | 2018-06-12 | 阿里巴巴集团控股有限公司 | 页面缓存数据刷新方法、装置及系统 |
CN110532455A (zh) * | 2019-09-05 | 2019-12-03 | 北京市博汇科技股份有限公司 | 一种基于Chrome浏览器的网页图片获取方法和系统 |
CN113934344A (zh) * | 2021-10-29 | 2022-01-14 | 聚好看科技股份有限公司 | 一种显示设备、服务器及基于数据时效的页面显示方法 |
US11870828B2 (en) | 2021-09-30 | 2024-01-09 | 17Live Japan Inc. | System, method and computer-readable medium for rendering a streaming |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080288583A1 (en) * | 2002-07-18 | 2008-11-20 | International Business Machines Corporation | Method and system for generating auxiliary-server cache identifiers |
CN101957842A (zh) * | 2010-09-13 | 2011-01-26 | 青岛海信移动通信技术股份有限公司 | 一种基于WebKit浏览器的网页缓存控制方法、装置及系统 |
CN103401926A (zh) * | 2013-08-01 | 2013-11-20 | 星云融创(北京)信息技术有限公司 | 一种提高网络资源访问速度的方法及装置 |
CN103455603A (zh) * | 2013-09-03 | 2013-12-18 | 小米科技有限责任公司 | 网页内容缓存、网页加载方法、装置及终端设备 |
CN103618799A (zh) * | 2013-12-04 | 2014-03-05 | 北京奇虎科技有限公司 | 浏览器缓存处理方法、系统及代理服务器 |
-
2014
- 2014-04-04 CN CN201410136877.3A patent/CN103916474B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080288583A1 (en) * | 2002-07-18 | 2008-11-20 | International Business Machines Corporation | Method and system for generating auxiliary-server cache identifiers |
CN101957842A (zh) * | 2010-09-13 | 2011-01-26 | 青岛海信移动通信技术股份有限公司 | 一种基于WebKit浏览器的网页缓存控制方法、装置及系统 |
CN103401926A (zh) * | 2013-08-01 | 2013-11-20 | 星云融创(北京)信息技术有限公司 | 一种提高网络资源访问速度的方法及装置 |
CN103455603A (zh) * | 2013-09-03 | 2013-12-18 | 小米科技有限责任公司 | 网页内容缓存、网页加载方法、装置及终端设备 |
CN103618799A (zh) * | 2013-12-04 | 2014-03-05 | 北京奇虎科技有限公司 | 浏览器缓存处理方法、系统及代理服务器 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104133880A (zh) * | 2014-07-25 | 2014-11-05 | 广东睿江科技有限公司 | 一种设置文件缓存时间的方法与装置 |
CN105897815A (zh) * | 2015-08-12 | 2016-08-24 | 乐视云计算有限公司 | 一种读取数据的方法及读取数据的网络侧设备 |
CN105550338A (zh) * | 2015-12-23 | 2016-05-04 | 北京大学 | 一种基于HTML5应用缓存的移动Web缓存优化方法 |
CN105550338B (zh) * | 2015-12-23 | 2018-11-23 | 北京大学 | 一种基于HTML5应用缓存的移动Web缓存优化方法 |
CN107948230A (zh) * | 2016-10-13 | 2018-04-20 | 北京京东尚科信息技术有限公司 | 确定来自服务端数据的缓存时间的方法及装置 |
CN107948230B (zh) * | 2016-10-13 | 2021-07-30 | 北京京东尚科信息技术有限公司 | 确定来自服务端数据的缓存时间的方法及装置 |
CN108153794A (zh) * | 2016-12-02 | 2018-06-12 | 阿里巴巴集团控股有限公司 | 页面缓存数据刷新方法、装置及系统 |
CN107741994A (zh) * | 2017-11-09 | 2018-02-27 | 校脸科技(北京)有限公司 | 一种数据更新方法及装置 |
CN110532455A (zh) * | 2019-09-05 | 2019-12-03 | 北京市博汇科技股份有限公司 | 一种基于Chrome浏览器的网页图片获取方法和系统 |
US11870828B2 (en) | 2021-09-30 | 2024-01-09 | 17Live Japan Inc. | System, method and computer-readable medium for rendering a streaming |
CN113934344A (zh) * | 2021-10-29 | 2022-01-14 | 聚好看科技股份有限公司 | 一种显示设备、服务器及基于数据时效的页面显示方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103916474B (zh) | 2018-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103916474A (zh) | 缓存时间的确定方法、装置及系统 | |
US10110695B1 (en) | Key resource prefetching using front-end optimization (FEO) configuration | |
US9602620B1 (en) | Content-facilitated speculative preparation and rendering | |
US8069406B2 (en) | Method and system for improving user experience while browsing | |
AU2002350141B2 (en) | Methods and systems for preemptive and predictive page caching for improved site navigation | |
US8984048B1 (en) | Selective prefetch scanning | |
CN100501746C (zh) | 网页抓取方法和网页抓取服务器 | |
CN105610909B (zh) | 一种基于云-端协同的移动浏览器资源加载优化方法 | |
US9135364B1 (en) | Delivery of web pages with markup for speed | |
CN104798071A (zh) | 在雾计算架构中使用边缘服务器改善网站性能 | |
AU2002350141A1 (en) | Methods and systems for preemptive and predictive page caching for improved site navigation | |
JP3764291B2 (ja) | 情報配信システム、移動計算機、情報サーバ装置、キャッシュサーバ装置及び先読みキャッシュ処理方法 | |
KR20160024293A (ko) | 통신 시스템에서 페이지 로딩 시간 단축 방법 및 장치 | |
CN1234086C (zh) | 用于高速缓存文件信息的系统和方法 | |
CN105550338A (zh) | 一种基于HTML5应用缓存的移动Web缓存优化方法 | |
JP2004078783A (ja) | Wwwブラウザのキャッシュ管理装置、そのキャッシュ管理方法及びプログラム | |
CN102932358A (zh) | 基于内容分发网络的第三方文件改写加速分发方法和装置 | |
CN103460205B (zh) | 网页预取的方法及装置 | |
CN113438302A (zh) | 动态资源多级缓存方法、系统、计算机设备及存储介质 | |
US11307897B2 (en) | Resource pre-fetch using age threshold | |
CN114925304A (zh) | 一种信息访问方法、装置和系统 | |
Pons | Web-application centric object prefetching | |
CN116846881A (zh) | 一种缓存库文件的更新方法及终端 | |
EP1850242B1 (en) | Method of reflecting on another device an addition to a browser cache on a handheld electronic device, and associated device | |
CN102624702B (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 |