发明内容
有鉴于此,本发明提供一种进行网页缓存处理方法、云端装置、本地装置及系统,其可调整缓存的网页数据的更新周期,节省访问网页的带宽。
本发明提供一种进行网页缓存处理方法,应用于云端装置,所述方法包括:
接收本地装置发送的网页监控请求,所述网页监控请求包括监控网页的URL和摘要信息;
如网页数据库中不存在所述监控网页的摘要信息,则增加所述监控网页的URL到监控列表,否则,将所述摘要信息与网页数据库中同一URL对应的网页的摘要信息进行比较,获得比较结果;
间隔预设周期从外部服务器下载所述监控列表中的URL对应的网页数据;
对所述网页数据进行分析,获取所述网页的摘要信息;
将所述摘要信息与网页数据库中同一URL对应的网页的摘要信息进行比较,获得比较结果;
若所述比较结果不同或所述网页数据库中不存在同一URL对应的网页的摘要信息,将所述网页的摘要信息更新至所述网页数据库中;
根据所述比较结果,产生并发送规则数据至所述本地装置,控制本地装置的缓存刷新机制。
在本申请一具体实施例中,所述间隔预设周期从外部服务器下载所述监控列表中的URL对应的网页数据为:
获取所述本地装置对各监控网页的URL的请求热度,根据所述请求热度,间隔预设周期从外部服务器下载所述监控网页的URL对应的网页数据。
在本申请一具体实施例中,所述URL包括所监控网页的Last-Modified或者Etag字段;
所述本地装置发送的网页监控请求为私有协议报文。
本申请还提供一种进行网页缓存处理方法,应用于本地装置,所述方法包括:
接收云端装置发送的规则数据,并发送网页监控请求给云端装置;
根据所述规则数据,更新所保存的缓存刷新机制;
接收客户端请求,判断缓存中是否存在客户端请求的网页数据,若存在,则根据所述缓存刷新机制判断网页数据是否过期,若网页数据未过期,则缓存的网页数据为客户端回应数据;
若缓存中不存在客户端请求的网页数据或者缓存的网页数据过期,获取外部服务器提供的网页数据为客户端回应数据,并更新缓存中的网页数据。
在本申请一具体实施例中,所述根据规则数据,更新所保存的缓存刷新机制包括:
缓存网页数据包括Cache-Control头部的Max-age字段时,若规则数据表示网页数据未发生变化,若当前时间在Max-age时间范围内,则保持Max-age值不变,否则,增大Max-age值为第一调整值;若规则数据表示网页数据发生变化,修改Max-age值小于或者等于零,或者直接将缓存网页数据从缓存中删除;
所述根据缓存刷新机制判断网页数据是否过期包括:
缓存的网页数据中存在Cache-Control头部的Max-age字段,如缓存中的网页数据从写入缓存时间到当前时间的间隔小于Max-age值,则所述网页数据未过期;否则,所述网页数据过期。
在本申请一具体实施例中,所述根据规则数据,更新所保存的缓存刷新机制包括:
缓存网页数据包括Expires头部时,若规则数据表示网页数据发生未变化,若当前时间在Max-age时间范围内,则保持Max-age值不变,否则,增大Max-age值为第二调整值;若规则数据表示网页数据发生变化,修改Expires值小于当前时间,或者直接将缓存网页数据从缓存中删除;
所述根据缓存刷新机制判断网页数据是否过期包括:
缓存的网页数据中存在Expires头部,如缓存中的网页数据从写入缓存时间到当前时间的间隔小于Expires值,则所述网页数据未过期;否则,所述网页数据过期。
在本申请一具体实施例中,所述根据规则数据,更新所保存的缓存刷新机制包括:
若规则数据表示网页数据发生未变化,修改缓存网页数据的同步标志为第一标志;
若规则数据表示网页数据发生变化,修改缓存网页数据的同步标志为第二标志;
所述根据缓存刷新机制判断网页数据是否过期包括:
缓存的网页数据,如缓存中的网页数据的同步标志为第一标志,则所述网页数据未过期;否则,所述网页数据过期。
本申请还提供一种进行网页缓存处理的云端装置,包括:
网页获取模块,用于间隔预设周期从外部服务器下载所述监控列表中的URL对应的网页数据;
网页分析模块,用于对所述网页数据进行分析,获取所述网页的摘要信息;
网页对比模块,用于将所述摘要信息与网页数据库中同一URL对应的网页的摘要信息进行比较,获得比较结果,若所述比较结果不同或所述网页数据库中不存在同一URL对应的网页的摘要信息,将所述网页的摘要信息更新至所述网页数据库中;
缓存服务器管理模块,用于接收本地装置发送的网页监控请求,所述网页监控请求包括监控网页的URL和摘要信息;如网页数据库中不存在所述监控网页的摘要信息,则增加所述监控网页的URL到监控列表;根据网页对比模块的比较结果,产生并发送规则数据至所述本地装置,控制本地装置的缓存刷新机制。
在本申请一具体实施例中,所述网页获取模块还用于,获取所述本地装置对各监控网页的URL的请求热度,根据所述请求热度,间隔预设周期从外部服务器下载所述监控网页的URL对应的网页数据。
在本申请一具体实施例中,所述URL包括所监控网页的Last-Modified或者Etag字段;
所述本地装置发送的网页监控请求为私有协议报文。
本申请还提供一种进行网页缓存处理的本地装置,包括:
云端连接模块,用于接收云端装置发送的规则数据,并发送网页监控请求给云端装置;
缓存刷新模块,用于保存缓存刷新机制;
缓存管理模块,用于根据所述规则数据,更新缓存刷新模块保存的缓存刷新机制;接收客户端请求,判断缓存中是否存在客户端请求的网页数据,若存在,则根据所述缓存刷新机制判断网页数据是否过期,若网页数据未过期,则缓存的网页数据为客户端回应数据;若缓存中不存在客户端请求的网页数据或者缓存的网页数据过期,获取外部服务器提供的网页数据为客户端回应数据,并更新缓存中的网页数据。
在本申请一具体实施例中,所述缓存管理模块中根据规则数据,更新所保存的缓存刷新机制包括:
缓存网页数据包括Cache-Control头部的Max-age字段时,若规则数据表示网页数据未发生变化,若当前时间在Max-age时间范围内,则保持Max-age值不变,否则,增大Max-age值为第一调整值;若规则数据表示网页数据发生变化,修改Max-age值小于或者等于零,或者直接将缓存网页数据从缓存中删除;
所述根据缓存刷新机制判断网页数据是否过期包括:
缓存的网页数据中存在Cache-Control头部的Max-age字段,如缓存中的网页数据从写入缓存时间到当前时间的间隔小于Max-age值,则所述网页数据未过期;否则,所述网页数据过期。
在本申请一具体实施例中,所述缓存管理模块中根据规则数据,更新所保存的缓存刷新机制包括:
缓存网页数据包括Expires头部时,若规则数据表示网页数据发生未变化,若当前时间在Max-age时间范围内,则保持Max-age值不变,否则,增大Max-age值为第二调整值;若规则数据表示网页数据发生变化,修改Expires值小于当前时间,或者直接将缓存网页数据从缓存中删除;
所述根据缓存刷新机制判断网页数据是否过期包括:
缓存的网页数据中存在Expires头部,如缓存中的网页数据从写入缓存时间到当前时间的间隔小于Expires值,则所述网页数据未过期;否则,所述网页数据过期。
在本申请一具体实施例中,所述缓存管理模块中根据规则数据,更新所保存的缓存刷新机制包括:
若规则数据表示网页数据发生未变化,修改缓存网页数据的同步标志为第一标志;
若若规则数据表示网页数据发生变化,修改缓存网页数据的同步标志为第二标志;
所述根据缓存刷新机制判断网页数据是否过期包括:
缓存的网页数据,如缓存中的网页数据的同步标志为第一标志,则所述网页数据未过期;否则,所述网页数据过期。
本申请还提供一种进行网页缓存处理的系统,包括:
至少一本地装置,用于接收客户端请求,获得缓存或者外部服务器的网页数据,作为客户端回应数据;获取云端装置生成的规则数据,根据所述规则数据调整其缓存刷新机制;
云端装置,用于根据本地装置发送的网页监控请求,监控网页数据的变化,并根据所述网页数据的变化产生规则数据,将所述规则数据发送给所述本地装置。
由以上技术方案可见,本发明云端装置根据本地装置发送的网页监控请求,监控网页数据的变化,并根据所述网页数据的变化产生规则数据,将所述规则数据发送给所述本地装置。本地装置获取云端装置生成的规则数据,根据所述规则数据调整其缓存刷新机制。从而,调整缓存的网页数据的更新周期,节省访问外部服务器的网络带宽,有效地增加热点网页的命中率,减少传输的数据量。
具体实施方式
本发明云端装置根据本地装置发送的网页监控请求,监控网页数据的变化,并根据所述网页数据的变化产生规则数据,将所述规则数据发送给所述本地装置。本地装置获取云端装置生成的规则数据,根据所述规则数据调整其缓存刷新机制。从而,调整缓存的网页数据的更新周期,节省访问外部服务器的网络带宽,有效地增加热点网页的命中率,减少传输的数据量,提高访问热点网站的速度。
当然,实施本发明的任一技术方案必不一定需要同时达到以上的所有优点。
为了使本领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本发明保护的范围。
下面结合本发明附图进一步说明本发明具体实现。
本发明提供一种进行网页缓存处理方法,应用于云端装置。所述云端装置通常为服务器,在具体实现中,可以为分布式服务器。
参看图1,本申请一具体实施例中所述进行网页缓存处理方法包括:
S1、接收本地装置发送的网页监控请求,所述网页监控请求包括监控网页的URL和摘要信息。
具体地,所述摘要信息为本地装置缓存的该监控网页的MD5信息。MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理,MD5的前身有MD2、MD3和MD4。
S2、如网页数据库中不存在所述监控网页的摘要信息,则增加所述监控网页的URL到监控列表,否则,执行步骤S5。
云端装置根据接收的网页监控请求,对网页数据库进行查询,查询所述监控网页的摘要信息是否在网页数据库中。如果网页数据库中不存在所述监控网页的摘要信息,则增加所述监控网页的URL到监控列表。即,增加一个监控任务到原监控列表。如果网页数据库中存在所述监控网页的摘要信息,则直接执行步骤S5。
S3、间隔预设周期从外部服务器下载所述监控列表中的URL对应的网页数据。
云端装置每间隔预设周期,登陆外部服务器,从所述外部服务器下载监控列表中的全部URL对应的网页数据。所述预设周期由本领域普通技术人员根据需求进行选取。
S4、对所述网页数据进行分析,获取所述网页的摘要信息。
云端装置对从外部服务器下载的网页数据进行分析,提取关键信息,获取所述网页的摘要信息。具体地,所述摘要信息为计算网页数据获得的MD5信息。具体计算方法采用现有的MD5算法,故在此不再赘述。
S5、将网页摘要信息与网页数据库中同一URL对应的网页的摘要信息进行比较,获得比较结果。
如果步骤S2中的网页数据库中存在所述监控网页的摘要信息,则直接执行步骤S5,即将所述监控网页的摘要信息与网页数据库中同一URL对应的网页的摘要信息进行比较,获得比较结果。本发明将云端装置接收到的网页监控请求中的所监控网页的摘要信息和网页数据库中已经保存的同一网页的摘要信息进行比较,通过比较结果获得网页的变化情况。
步骤S4中获得的网页的摘要信息为间隔预设周期从外部服务器下载的监控列表中网页的摘要信息,即定期监控的网页的摘要信息。将步骤S4中的网页的摘要信息同网页数据库中同一URL对应的网页的摘要信息进行比较,获得比较结果。本发明将定期监控的网页的摘要信息和网页数据库中已经保存的同一网页的摘要信息进行比较,通过比较结果获得定期监控的网页的变化情况。
S6、若所述比较结果不同或所述网页数据库中不存在同一URL对应的网页的摘要信息,将所述网页的摘要信息更新至所述网页数据库中。
步骤S4中网页摘要信息与网页数据库中同一URL对应的网页的摘要信息进行比较,比较的结果不同,则表明网页发生变化,将变化网页的摘要信息更新至所述网页数据库中。
步骤S2中如网页数据库中不存在所述监控网页的摘要信息,则执行步骤S3、S4获得所述监控网页的摘要信息。此时,由于步骤S2已经判断过网页数据库中不存在所述监控网页的摘要信息,则将所述网页的摘要信息更新至所述网页数据库中。
S7、根据所述比较结果,产生并发送规则数据至所述本地装置,控制本地装置的缓存刷新机制。
根据步骤S6中的比较结果,判断网页的变化情况,从而产生规则数据。云端装置将该规则数据发送给本地装置,本地装置根据规则数据控制其缓存刷新机制。
本发明云端装置根据本地装置发送的网页监控请求,监控网页数据的变化,并根据所述网页数据的变化产生规则数据,将所述规则数据发送给所述本地装置。本地装置获取云端装置生成的规则数据,根据所述规则数据调整其缓存刷新机制。从而,调整缓存的网页数据的更新周期,节省访问外部服务器的网络带宽,有效地增加热点网页的命中率,减少传输的数据量,提高访问热点网站的速度。
在本发明另一具体实施例中,包括上述步骤S1——S7,其中,所述步骤S3为:
获取所述本地装置对各监控网页的URL的请求热度,根据所述请求热度,间隔预设周期从外部服务器下载所述监控网页的URL对应的网页数据。
本地装置将各监控网页的URL的请求热度发送给云端装置,云端装置的监控列表根据各监控网页的URL的请求热度进行排序,优先跟踪请求热度高的网页数据。
因此,本发明能够更加保证请求热度高的网页数据获得更好的网页变化监控,从而根据网页的变化,产生规则数据,控制本地装置的缓存刷新机制。
在本发明另一具体实施例中,如缓存对象中存在Cache-Control头部的Max-age属性或者Expires头部时,所述步骤S7包括:
根据所述比较结果,产生并发送规则数据至所述本地装置,控制本地装置修改Max-age值或者Expires值,或者删除缓存中的网页数据。
具体地,缓存网页数据包括Cache-Control头部的Max-age字段时,若规则数据表示网页数据未发生变化,若当前时间在Max-age时间范围内,则保持Max-age值不变,否则,增大Max-age值为第一调整值;若规则数据表示网页数据发生变化,修改Max-age值小于或者等于零,或者直接将缓存网页数据从缓存中删除。
具体地,缓存网页数据包括Expires头部时,若规则数据表示网页数据发生未变化,若当前时间在Max-age时间范围内,则保持Max-age值不变,否则,增大Max-age值为第二调整值;若规则数据表示网页数据发生变化,修改Expires值小于当前时间,或者直接将缓存网页数据从缓存中删除。
在本发明另一具体实施例中,所述进行网页缓存处理方法包括:
S1、接收本地装置发送的网页监控请求,所述网页监控请求包括监控网页的URL和摘要信息。
具体地,所述摘要信息包括本地装置缓存的该监控网页的MD5信息。MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理,MD5的前身有MD2、MD3和MD4。
本地装置处理带有Last-Modified/If-Modify-since或者ETag/If-None-Match的HTTP请求时,本地装置向云端装置发送网页监控请求的URL带有Last-Modified或ETag字段。所述本地装置向云端装置发送的网页监控请求为私有协议报文,即带有Last-Modified或ETag字段的URL和本地装置缓存的该监控网页的MD5信息为私有协议报文。
由于现有技术中本地装置直接向外部服务器发送带有Last-Modified/If-Modify-since或者ETag/If-None-Match的HTTP请求。这种请求本身是基于HTTP报文的,其报文本身的长度需要几百字节,其中包含大量的冗余信息。因此,本发明本地装置向云端装置发送的网页监控请求,即带有Last-Modified或ETag字段的URL和监控网页的MD5信息,为私有协议报文,数据量极小。本发明极大的简化了HTTP报文的冗余数据,解决了频繁的带有Last-Modified/If-Modify-since的HTTP请求的数据交互问题。
本发明通过使用私有协议完成本地装置向云端装置发送网页监控请求,可以极大的减少本地缓存系统对外部服务器查询网页资源是否变化时的交互数据,减少本地装置的处理时间和流量消耗。
S2、如网页数据库中不存在所述监控网页的摘要信息,则增加所述监控网页的URL到监控列表,否则,执行步骤S5。
云端装置根据接收的网页监控请求,对网页数据库进行查询,查询所述监控网页的摘要信息是否在网页数据库中。如果网页数据库中不存在所述监控网页的摘要信息,则增加所述监控网页的URL到监控列表。即,增加一个监控任务到原监控列表。如果网页数据库中存在所述监控网页的摘要信息,则直接执行步骤S5。
S3、间隔预设周期从外部服务器下载所述监控列表中的URL对应的网页数据。
云端装置每间隔预设周期,登陆外部服务器,向外部服务器发送带有If-Modify-since或If-None-Match字段的HTTP请求,从所述外部服务器下载监控列表中的全部URL对应的网页数据。所述预设周期由本领域普通技术人员根据需求进行选取。
由于If-Modify-since或If-None-Match字段请求的特殊性,当外部服务器的对应网页数据没有改变时,会返回云端装置一个很短的带有304 HTTP状态码(数据内容未修改)的回应报文;当外部服务器的对应网页数据发生改变时,就会返回云端装置一个完整的网页数据。
S4、对所述网页数据进行分析,获取所述网页的摘要信息。
如果外部服务器返回的是带有304 HTTP状态码的回应报文,则所述网页的摘要信息包括网页数据未变化标志。
如果外部服务器返回的是一个完整的网页数据,则所述网页的摘要信息包括计算网页数据获得的MD5信息。具体计算方法采用现有的MD5算法,故在此不再赘述。
S5、将网页摘要信息与网页数据库中同一URL对应的网页的摘要信息进行比较,获得比较结果。
如果步骤S2中的网页数据库中存在所述监控网页的摘要信息,则直接执行步骤S5,即将所述监控网页的摘要信息与网页数据库中同一URL对应的网页的摘要信息进行比较,获得比较结果。本发明将云端装置接收到的网页监控请求中的所监控网页的摘要信息和网页数据库中已经保存的同一网页的摘要信息进行比较,通过比较结果获得网页的变化情况。
步骤S4中获得的网页的摘要信息为间隔预设周期从外部服务器下载的监控列表中网页的摘要信息,即定期监控的网页的摘要信息。将步骤S4中的网页的摘要信息同网页数据库中同一URL对应的网页的摘要信息进行比较,获得比较结果。本发明将定期监控的网页的摘要信息和网页数据库中已经保存的同一网页的摘要信息进行比较,通过比较结果获得定期监控的网页的变化情况。
如果网页摘要信息包括网页数据未变化标志,而网页数据库同一URL对应的网页的摘要信息包括网页数据的MD5信息或者网页数据未变化标志,则表明网页未发生变化。如果网页摘要信息包括网页数据的MD5信息,而网页数据库同一URL对应的网页的摘要信息包括网页数据的MD5信息,则比较两个MD5信息获得网页的真实变化情况。
S6、若所述比较结果不同或所述网页数据库中不存在同一URL对应的网页的摘要信息,将所述网页的摘要信息更新至所述网页数据库中。
步骤S4中网页摘要信息与网页数据库中同一URL对应的网页的摘要信息进行比较,比较的结果不同,则表明网页发生变化,将变化网页的摘要信息更新至所述网页数据库中。
步骤S2中如网页数据库中不存在所述监控网页的摘要信息,则执行步骤S3、S4获得所述监控网页的摘要信息。此时,由于步骤S2已经判断过网页数据库中不存在所述监控网页的摘要信息,则将所述网页的摘要信息更新至所述网页数据库中。
S7、根据所述比较结果,产生并发送规则数据至所述本地装置,控制本地装置的缓存刷新机制。
根据步骤S6中的比较结果,判断网页的变化情况,从而产生规则数据。云端装置将该规则数据发送给本地装置,本地装置根据规则数据控制其缓存刷新机制。
本发明云端装置根据本地装置发送的网页监控请求,监控网页数据的变化,并根据所述网页数据的变化产生规则数据,将所述规则数据发送给所述本地装置。本地装置获取云端装置生成的规则数据,根据所述规则数据调整其缓存刷新机制。从而,调整缓存的网页数据的更新周期,节省访问外部服务器的网络带宽,有效地增加热点网页的命中率,减少传输的数据量,提高访问热点网站的速度。
本发明还提供另外一种进行网页缓存处理方法,应用于本地装置。所述本地装置通常为服务器,在具体实现中,可以为分布式服务器。
参看图2,所述方法包括:
P1、接收云端装置发送的规则数据,并发送网页监控请求给云端装置。
具体地,所述本地装置接收云端装置根据所监控网页的变化情况产生的规则数据。所述本地装置发送网页监控请求给云端装置。
本地装置还将各监控网页的URL的请求热度发送给云端装置,云端装置的监控列表根据各监控网页的URL的请求热度进行排序,优先跟踪请求热度高的网页数据。
P2、根据所述规则数据,更新所保存的缓存刷新机制。
本地装置根据云端装置发送的规则数据,更新所保存的缓存刷新机制,由于规则数据反应网页数据的变化情况,从而根据网页的真实变化情况更新缓存刷新机制。
P3、接收客户端请求,判断缓存中是否存在客户端请求的网页数据,若存在,则根据所述缓存刷新机制判断网页数据是否过期,若网页数据未过期,则缓存的网页数据为客户端回应数据。
本地装置接收客户端的请求,并根据所述请求判断本地装置的缓存中是否存在客户端请求的网页数据。如果缓存中存在客户端请求的网页数据,则进一步根据缓存刷新机制判断网页数据是否过期。如果网页数据未过期,则缓存的网页数据为客户端回应数据,发送所述客户端。
P4、若缓存中不存在客户端请求的网页数据或者缓存的网页数据过期,获取外部服务器提供的网页数据为客户端回应数据,并更新缓存中的网页数据。
如果本地装置的缓存中不存在客户端请求的网页数据,则登陆外部服务器获取网页数据,将从外部服务器获取的网页数据作为客户端回应数据,发送给所述客户端。如果本地装置的缓存中的网页数据过期,则登陆外部服务器获取网页数据,将从外部服务器获取的网页数据作为客户端回应数据,发送给所述客户端。
具体地,所述本地装置登陆外部服务器获得客户端请求的网页数据通常通过代理进行。所述外部服务器包括源网站服务器或者缓存集群服务器等。
本发明本地装置获取云端装置生成的规则数据,根据所述规则数据调整其缓存刷新机制。从而,调整缓存的网页数据的更新周期,节省访问外部服务器的网络带宽,有效地增加热点网页的命中率,减少传输的数据量,提高访问热点网站的速度。
本申请另一实施例所述进行网页缓存处理方法,应用于本地装置。所述方法包括上述步骤P1——P4。
所述步骤P2包括:
缓存网页数据包括Cache-Control头部的Max-age字段时,若规则数据表示网页数据未发生变化,若当前时间在Max-age时间范围内,则保持Max-age值不变,否则,增大Max-age值为第一调整值。若规则数据表示网页数据发生变化,修改Max-age值小于或者等于零,或者直接将缓存网页数据从缓存中删除。
所述步骤P3中根据缓存刷新机制判断网页数据是否过期包括:
缓存的网页数据中存在Cache-Control头部的Max-age字段,如缓存中的网页数据从写入缓存时间到当前时间的间隔小于Max-age值,则所述网页数据未过期;否则,所述网页数据过期。
本发明云端装置主动获取网页内容并与之前内容进行比较,获得真实的网页数据变化情况作为规则数据,并将所述规则数据发送给本地装置。因此,本发明本地装置根据网页数据的真实变化情况,调整Max-age值。本发明调整后的Max-age值符合网页数据的真实变化情况,从而避免本地装置在显示缓存中的网页数据需要更新而实际网页数据没有发生变化时,发出缓存更新请求,浪费流量带宽。
本申请另一实施例所述进行网页缓存处理方法,应用于本地装置。所述方法包括上述步骤P1——P4。
所述步骤P2包括:
缓存网页数据包括Expires头部时,若规则数据表示网页数据发生未变化,若当前时间在Max-age时间范围内,则保持Max-age值不变,否则,增大Max-age值为第二调整值;若规则数据表示网页数据发生变化,修改Expires值小于当前时间,或者直接将缓存网页数据从缓存中删除;
所述步骤P3中根据缓存刷新机制判断网页数据是否过期包括:
缓存的网页数据中存在Expires头部,如缓存中的网页数据从写入缓存时间到当前时间的间隔小于Expires值,则所述网页数据未过期;否则,所述网页数据过期。
本发明云端装置主动获取网页内容并与之前内容进行比较,获得真实的网页数据变化情况作为规则数据,并将所述规则数据发送给本地装置。因此,本发明本地装置根据网页数据的真实变化情况,调整Expires值。本发明调整后的Expires值符合网页数据的真实变化情况,从而避免本地装置在显示缓存中的网页数据需要更新而实际网页数据没有发生变化时,发出缓存更新请求,浪费流量带宽。
本申请另一实施例所述进行网页缓存处理方法,应用于本地装置。所述方法包括上述步骤P1——P4。
所述步骤P2包括:
若规则数据表示网页数据发生未变化,修改缓存网页数据的同步标志为第一标志。
若若规则数据表示网页数据发生变化,修改缓存网页数据的同步标志为第二标志。
具体地,第一标志为0,第二标志为1。
所述步骤P3中根据缓存刷新机制判断网页数据是否过期包括:
缓存的网页数据,如缓存中的网页数据的同步标志为第一标志,则所述网页数据未过期;否则,所述网页数据过期。
在本发明具体实现中,缓存网页数据存在Last-Modified头部,检查缓存网页数据的同步标志是否为0,如果是0,则认为缓存网页数据未过期,则缓存的网页数据为客户端回应数据。否则,所述步骤P4在客户端请求基础上增加If-Modified-Since头部后通过代理发送给外部服务器。
在本发明具体实现中,缓存网页数据存在ETag头部,检查缓存网页数据的同步标志是否为0,如果是0,则认为缓存网页数据未过期,则缓存的网页数据为客户端回应数据。否则,所述步骤P4在客户端请求基础上增加If-None-Match头部后通过代理发送给外部服务器。
其他情况的缓存对象,检查缓存网页数据的同步标志是否为0,如果是0,则认为这个缓存网页数据是未过期的,则缓存的网页数据为客户端回应数据。否则,将客户端请求通过代理发送给外部服务器。
对应于上述方法,本发明还提供一种进行网页缓存处理的云端装置。
参看图3,所述装置包括:
网页获取模块31,用于间隔预设周期从外部服务器下载所述监控列表中的URL对应的网页数据。
网页分析模块32,用于对所述网页数据进行分析,获取所述网页的摘要信息。
网页对比模块33,用于将所述摘要信息与网页数据库中同一URL对应的网页的摘要信息进行比较,获得比较结果,若所述比较结果不同或所述网页数据库中不存在同一URL对应的网页的摘要信息,将所述网页的摘要信息更新至所述网页数据库中。
缓存服务器管理模块34,用于接收本地装置发送的网页监控请求,所述网页监控请求包括监控网页的URL和摘要信息;如网页数据库中不存在所述监控网页的摘要信息,则增加所述监控网页的URL到监控列表;根据网页对比模块的比较结果,产生并发送规则数据至所述本地装置,控制本地装置的缓存刷新机制。
具体地,所述摘要信息为本地装置缓存的该监控网页的MD5信息。MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理,MD5的前身有MD2、MD3和MD4。
云端装置中的缓存服务器管理模块34根据接收的网页监控请求,对网页数据库进行查询,查询所述监控网页的摘要信息是否在网页数据库中。如果网页数据库中不存在所述监控网页的摘要信息,则增加所述监控网页的URL到监控列表。即,增加一个监控任务到原监控列表。如果网页数据库中存在所述监控网页的摘要信息,则网页对比模块33执行网页数据比对。
云端装置中的网页获取模块31每间隔预设周期,登陆外部服务器,从所述外部服务器下载监控列表中的全部URL对应的网页数据。所述预设周期由本领域普通技术人员根据需求进行选取。
云端装置中的网页分析模块32对从外部服务器下载的网页数据进行分析,提取关键信息,获取所述网页的摘要信息。具体地,所述摘要信息为计算网页数据获得的MD5信息。具体计算方法采用现有的MD5算法,故在此不再赘述。
如果缓存服务器管理模块34中的网页数据库中存在所述监控网页的摘要信息,则网页对比模块33将所述监控网页的摘要信息与网页数据库中同一URL对应的网页的摘要信息进行比较,获得比较结果。本发明将云端装置接收到的网页监控请求中的所监控网页的摘要信息和网页数据库中已经保存的同一网页的摘要信息进行比较,通过比较结果获得网页的变化情况。
网页分析模块32中获得的网页的摘要信息为间隔预设周期从外部服务器下载的监控列表中网页的摘要信息,即定期监控的网页的摘要信息。网页对比模块33将网页分析模块32中的网页的摘要信息同网页数据库中同一URL对应的网页的摘要信息进行比较,获得比较结果。本发明将定期监控的网页的摘要信息和网页数据库中已经保存的同一网页的摘要信息进行比较,通过比较结果获得定期监控的网页的变化情况。
本发明云端装置根据本地装置发送的网页监控请求,监控网页数据的变化,并根据所述网页数据的变化产生规则数据,将所述规则数据发送给所述本地装置。本地装置获取云端装置生成的规则数据,根据所述规则数据调整其缓存刷新机制。从而,调整缓存的网页数据的更新周期,节省访问外部服务器的网络带宽,有效地增加热点网页的命中率,减少传输的数据量,提高访问热点网站的速度。
在本发明另一具体实施例中,所述装置包括网页获取模块31、网页分析模块32、网页对比模块33、缓存服务器管理模块34。
其中,所述网页获取模块31获取所述本地装置对各监控网页的URL的请求热度,根据所述请求热度,间隔预设周期从外部服务器下载所述监控网页的URL对应的网页数据。
本地装置将各监控网页的URL的请求热度发送给云端装置,云端装置的监控列表根据各监控网页的URL的请求热度进行排序,优先跟踪请求热度高的网页数据。
因此,本发明能够更加保证请求热度高的网页数据获得更好的网页变化监控,从而根据网页的变化,产生规则数据,控制本地装置的缓存刷新机制。
在本发明另一具体实施例中,所述装置包括网页获取模块31、网页分析模块32、网页对比模块33、缓存服务器管理模块34。
缓存对象中存在Cache-Control头部的Max-age属性或者Expires头部时,所述缓存服务器管理模块34根据所述比较结果,产生并发送规则数据至所述本地装置,控制本地装置修改Max-age值或者Expires值,或者删除缓存中的网页数据。
具体地,缓存网页数据包括Cache-Control头部的Max-age字段时,若规则数据表示网页数据未发生变化,若当前时间在Max-age时间范围内,则保持Max-age值不变,否则,增大Max-age值为第一调整值;若规则数据表示网页数据发生变化,修改Max-age值小于或者等于零,或者直接将缓存网页数据从缓存中删除。
具体地,缓存网页数据包括Expires头部时,若规则数据表示网页数据发生未变化,若当前时间在Max-age时间范围内,则保持Max-age值不变,否则,增大Max-age值为第二调整值;若规则数据表示网页数据发生变化,修改Expires值小于当前时间,或者直接将缓存网页数据从缓存中删除。
在本发明另一具体实施例中,所述装置包括网页获取模块31、网页分析模块32、网页对比模块33、缓存服务器管理模块34。
具体地,所述摘要信息包括本地装置缓存的该监控网页的MD5信息。MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理,MD5的前身有MD2、MD3和MD4。
本地装置处理带有Last-Modified/If-Modify-since或者ETag/If-None-Match的HTTP请求时,本地装置向云端装置的缓存服务器管理模块34发送网页监控请求的URL带有Last-Modified或ETag字段。所述本地装置向云端装置发送的网页监控请求为私有协议报文,即带有Last-Modified或ETag字段的URL和本地装置缓存的该监控网页的MD5信息为私有协议报文。
由于现有技术中本地装置直接向外部服务器发送带有Last-Modified/If-Modify-since或者ETag/If-None-Match的HTTP请求。这种请求本身是基于HTTP报文的,其报文本身的长度需要几百字节,其中包含大量的冗余信息。因此,本发明本地装置向云端装置发送的网页监控请求,即带有Last-Modified或ETag字段的URL和监控网页的MD5信息,为私有协议报文,数据量极小。本发明极大的简化了HTTP报文的冗余数据,解决了频繁的带有Last-Modified/If-Modify-since的HTTP请求的数据交互问题。
本发明通过使用私有协议完成本地装置向云端装置发送网页监控请求,可以极大的减少本地缓存系统对外部服务器查询网页资源是否变化时的交互数据,减少本地装置的处理时间和流量消耗。
网页获取模块31每间隔预设周期,登陆外部服务器,向外部服务器发送带有If-Modify-since或If-None-Match字段的HTTP请求,从所述外部服务器下载监控列表中的全部URL对应的网页数据。所述预设周期由本领域普通技术人员根据需求进行选取。
由于If-Modify-since或If-None-Match字段请求的特殊性,当外部服务器的对应网页数据没有改变时,会返回云端装置一个很短的带有304HTTP状态码(数据内容未修改)的回应报文;当外部服务器的对应网页数据发生改变时,就会返回云端装置一个完整的网页数据。
如果外部服务器返回的是带有304HTTP状态码的回应报文,则网页分析模块32中所述网页的摘要信息包括网页数据未变化标志。
如果外部服务器返回的是一个完整的网页数据,则网页分析模块32中所述网页的摘要信息包括计算网页数据获得的MD5信息。具体计算方法采用现有的MD5算法,故在此不再赘述。
网页对比模块33中如果网页摘要信息包括网页数据未变化标志,而网页数据库同一URL对应的网页的摘要信息包括网页数据的MD5信息或者网页数据未变化标志,则表明网页未发生变化。如果网页摘要信息包括网页数据的MD5信息,而网页数据库同一URL对应的网页的摘要信息包括网页数据的MD5信息,则比较两个MD5信息获得网页的真实变化情况。
本发明云端装置根据本地装置发送的网页监控请求,监控网页数据的变化,并根据所述网页数据的变化产生规则数据,将所述规则数据发送给所述本地装置。本地装置获取云端装置生成的规则数据,根据所述规则数据调整其缓存刷新机制。从而,调整缓存的网页数据的更新周期,节省访问外部服务器的网络带宽,有效地增加热点网页的命中率,减少传输的数据量,提高访问热点网站的速度。
对应于上述方法,本发明还提供一种进行网页缓存处理的本地装置。
参看图4,所述装置包括:
云端连接模块41,用于接收云端装置发送的规则数据,并发送网页监控请求给所述云端装置。
缓存刷新模块42,用于保存缓存刷新机制。
缓存管理模块43,用于根据所述规则数据,更新缓存刷新模块保存的缓存刷新机制;接收客户端请求,判断缓存中是否存在客户端请求的网页数据,若存在,则根据所述缓存刷新机制判断网页数据是否过期,若网页数据未过期,则缓存的网页数据为客户端回应数据;若缓存中不存在客户端请求的网页数据或者缓存的网页数据过期,获取外部服务器提供的网页数据为客户端回应数据,并更新缓存中的网页数据。
具体地,所述云端连接模块41接收云端装置根据所监控网页的变化情况产生的规则数据。所述云端连接模块41置发送网页监控请求给云端装置。
云端连接模块41还将各监控网页的URL的请求热度发送给云端装置,云端装置的监控列表根据各监控网页的URL的请求热度进行排序,优先跟踪请求热度高的网页数据。
本发明本地装置获取云端装置生成的规则数据,根据所述规则数据调整其缓存刷新机制。从而,调整缓存的网页数据的更新周期,节省访问外部服务器的网络带宽,有效地增加热点网页的命中率,减少传输的数据量,提高访问热点网站的速度。
本申请另一实施例所述进行网页缓存处理装置,应用于本地装置。所述装置包括云端连接模块41、缓存刷新模块42、缓存管理模块43。
缓存刷新模块42包括:
Max-age更新单元,用于当缓存网页数据包括Cache-Control头部的Max-age字段时,若规则数据表示网页数据未发生变化,若当前时间在Max-age时间范围内,则保持Max-age值不变,否则,增大Max-age值为第一调整值。若规则数据表示网页数据发生变化,修改Max-age值小于或者等于零,或者直接将缓存网页数据从缓存中删除。
所述缓存管理模块43中根据缓存刷新机制判断网页数据是否过期包括:
缓存的网页数据中存在Cache-Control头部的Max-age字段,如缓存中的网页数据从写入缓存时间到当前时间的间隔小于Max-age值,则所述网页数据未过期;否则,所述网页数据过期。
本发明云端装置主动获取网页内容并与之前内容进行比较,获得真实的网页数据变化情况作为规则数据,并将所述规则数据发送给本地装置。因此,本发明本地装置根据网页数据的真实变化情况,调整Max-age值。本发明调整后的Max-age值符合网页数据的真实变化情况,从而避免本地装置在显示缓存中的网页数据需要更新而实际网页数据没有发生变化时,发出缓存更新请求,浪费流量带宽。
本申请另一实施例所述进行网页缓存处理装置,应用于本地装置。所述装置包括云端连接模块41、缓存刷新模块42、缓存管理模块43。
缓存刷新模块42包括:
Expir更新单元,用于当缓存网页数据包括Expires头部时,若规则数据表示网页数据发生未变化,若当前时间在Max-age时间范围内,则保持Max-age值不变,否则,增大Max-age值为第二调整值;若规则数据表示网页数据发生变化,修改Expires值小于当前时间,或者直接将缓存网页数据从缓存中删除。
所述缓存管理模块43中根据缓存刷新机制判断网页数据是否过期包括:
缓存的网页数据中存在Expires头部,如缓存中的网页数据从写入缓存时间到当前时间的间隔小于Expires值,则所述网页数据未过期;否则,所述网页数据过期。
本发明云端装置主动获取网页内容并与之前内容进行比较,获得真实的网页数据变化情况作为规则数据,并将所述规则数据发送给本地装置。因此,本发明本地装置根据网页数据的真实变化情况,调整Expires值。本发明调整后的Expires值符合网页数据的真实变化情况,从而避免本地装置在显示缓存中的网页数据需要更新而实际网页数据没有发生变化时,发出缓存更新请求,浪费流量带宽。
本申请另一实施例所述进行网页缓存处理装置,应用于本地装置。所述装置包括云端连接模块41、缓存刷新模块42、缓存管理模块43。
缓存刷新模块42包括:
标志设置单元,用于当规则数据表示网页数据发生未变化,修改缓存网页数据的同步标志为第一标志。若若规则数据表示网页数据发生变化,修改缓存网页数据的同步标志为第二标志。
具体地,第一标志为0,第二标志为1。
所述缓存管理模块43中根据缓存刷新机制判断网页数据是否过期包括:
缓存的网页数据,如缓存中的网页数据的同步标志为第一标志,则所述网页数据未过期;否则,所述网页数据过期。
在本发明具体实现中,缓存网页数据存在Last-Modified头部,检查缓存网页数据的同步标志是否为0,如果是0,则认为缓存网页数据未过期,则缓存的网页数据为客户端回应数据。否则,所述步骤P4在客户端请求基础上增加If-Modified-Since头部后通过代理发送给外部服务器。
在本发明具体实现中,缓存网页数据存在ETag头部,检查缓存网页数据的同步标志是否为0,如果是0,则认为缓存网页数据未过期,则缓存的网页数据为客户端回应数据。否则,所述步骤P4在客户端请求基础上增加If-None-Match头部后通过代理发送给外部服务器。
其他情况的缓存对象,检查缓存网页数据的同步标志是否为0,如果是0,则认为这个缓存网页数据是未过期的,则缓存的网页数据为客户端回应数据。否则,将客户端请求通过代理发送给外部服务器。
本发明还提供一种进行网页缓存处理的系统,参看图5,所述系统包括:
至少一本地装置51,用于接收客户端请求,获得缓存或者外部服务器的网页数据,作为客户端回应数据;获取云端装置生成的规则数据,根据所述规则数据调整其缓存刷新机制;
云端装置52,用于根据本地装置发送的网页监控请求,监控网页数据的变化,并根据所述网页数据的变化产生规则数据,将所述规则数据发送给所述本地装置。
本发明云端装置根据本地装置发送的网页监控请求,监控网页数据的变化,并根据所述网页数据的变化产生规则数据,将所述规则数据发送给所述本地装置。本地装置获取云端装置生成的规则数据,根据所述规则数据调整其缓存刷新机制。从而,调整缓存的网页数据的更新周期,节省访问外部服务器的网络带宽,有效地增加热点网页的命中率,减少传输的数据量。
本领域的技术人员应明白,本发明的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。