用于对网页的静态资源进行分组的方法和装置制造方法及图纸

技术编号:14339671 阅读:134 留言:0更新日期:2017-01-04 12:12
本发明专利技术的目的是提供一种用于对网页的静态资源进行分组的方法和装置。根据本发明专利技术的方法包括以下步骤:对于网站中的每个网页,获取该网页包含的各个静态资源的更新频率信息;根据各个静态资源的更新频率信息和预定的分组规则,确定所述网页包含的各个静态资源的最优分组方式,以得到相应的资源分组信息。与现有技术相比,本发明专利技术具有以下优点:通过基于静态资源的更新频率来对网页的静态资源进行分组合并,减少了由于少数静态资源更新频繁而造成一组静态资源均缓存失效的情况,从而节省了加载静态资源所消耗的客户端设备和网络端设备的数据流量。

【技术实现步骤摘要】

本专利技术涉及计算机
,尤其涉及一种用于对网页的静态资源进行分组的方法和装置
技术介绍
客户端设备在加载网页时,加载脚本语言(javascript,js)或层叠式样式表(CascadingStyleSheets,CSS)等静态资源会直接影响网页加载速度。其中CSS的加载会阻断整个页面的继续下载和渲染,SCRIPT则会拖慢页面某些功能的可用时间。现有的方案通过对网页的静态资源进行分组并合并其中部分文件,来限制网页使用的HTTP连接数,从而加快网页加载速度。例如,可以将a.css、b.css、c.css合并为d.css统一发起请求,这样就节省了三分之二的HTTP连接。浏览器在下载完成d.css后,第二次请求基本上就可以直接从本地的缓存读取。只要这三个原始文件内容不变,缓存就可以一直有效。现有的对静态资源进行合并的方式包括:(1)手工指定公共的必需静态资源的合并策略;(2)程序自动收集需要的所有静态资源,按照引用关系构造成多叉树,并按照后序优先的顺序进行序列输出,按照每30个一组的方式进行合并。然而基于现有技术的方式,新增或移除一个顺序靠前的静态资源会导致分组全部重排,造成几乎所有HTTP缓存失效。并且在一个分组内,一个更新频繁的文件可能引起其它非频繁更新文件的缓存的浪费。例如,d.css的更新频率更同于a.css、b.css和c.css三个文件的更新频率之和,而且每次更新都会造成所有文件缓存的失效。从网络上下载一个文件要比从存储于磁盘的缓存读取慢的多,同时也额外消耗着客户端设备和服务器的带宽。
技术实现思路
本专利技术的目的是提供一种用于对网页的静态资源进行分组的方法和装置。根据本专利技术的一个方面,提供了一种用于对网页的静态资源进行分组的方法,其中,所述方法包括以下步骤:-对于网站中的每个网页,获取该网页包含的各个静态资源的更新频率信息;-根据各个静态资源的更新频率信息和预定的分组规则,确定所述网页包含的各个静态资源的最优分组方式,以得到相应的资源分组信息。根据本专利技术的一个方面,还提供了一种用于对网页的静态资源进行分组的资源分组装置,其中,所述资源分组装置包括:用于对于网站中的每个网页,获取该网页包含的各个静态资源的更新频率信息的装置;用于根据各个静态资源的更新频率信息和预定的分组规则,确定所述网页包含的各个静态资源的最优分组方式,以得到相应的资源分组信息的装置。与现有技术相比,本专利技术具有以下优点:通过基于静态资源的更新频率来对网页的静态资源进行分组合并,减少了由于少数静态资源更新频繁而造成一组静态资源均缓存失效的情况,从而节省了加载静态资源所消耗的客户端设备和网络端设备的数据流量。并且,根据本专利技术的优选实施例,可确定使得客户端下载各个静态资源所消耗的流量最小的最优分组方式,从而仅一步减小客户端设备和网络端设备的流量消耗。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:图1示意出了根据本专利技术的一种用于对网页的静态资源进行分组的方法流程图;图2示意出了根据本专利技术的一种用于对网页的静态资源进行分组的资源分组装置的结构示意图。附图中相同或相似的附图标记代表相同或相似的部件。具体实施方式下面结合附图对本专利技术作进一步详细描述。图1示意出了根据本专利技术的一种用于对网页的静态资源进行分组的方法流程图。根据本专利技术的方法包括步骤S1和步骤S2。其中,根据本专利技术的方法通过包含于网络设备中的资源分组装置来实现。其中,所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(CloudComputing)的由大量主机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。优选地,所述资源分组装置包含于用于存储并处理网页的静态资源的设备中,例如,包含于内容分发网络(ContentDistributionNetwork,CDN)设备中。其中,所述静态资源包括网页中可合并的资源。例如,脚本语言(js)、层叠式样式表(CSS)等。优选地,所述用于对网页的静态资源进行处理的设备可通过网络分别与网站的网络设备和客户端设备进行通信。其中,所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络等。需要说明的是,所述网络设备以及网络仅为举例,其他现有的或今后可能出现的用户设备、网络设备以及网络如可适用于本专利技术,也应包含在本专利技术保护范围以内,并以引用方式包含于此。参照图1,在步骤S1中,对于网站中的每个网页,资源分组装置获取该网页包含的各个静态资源的更新频率信息。其中,所述更新频率信息用于指示静态资源被修改的频率。优选地,所述步骤S1包括步骤S101(图未示)和步骤S102(图未示)。在步骤S101中,资源分组装置收集各个静态资源在预定时间段内的更新频率数据。具体地,资源分组装置可通过自建平台记录更新各个静态资源的更新时间和更新版本等,从而得到所述更新频率数据。优选地,如果使用svn或git等软件来存储静态资源,资源分组装置可基于svn或git等软件中的tag功能所记录的更新时间和更新版本等更新记录,来得到各个静态资源的更新频率数据。接着,在步骤S102中,资源分组装置基于所收集的更新频率数据,计算各个静态资源的平均更新频率,作为更新频率信息。优选地,资源分组装置先对收集到的更新频率数据进行预处理,以去除其中的干扰数据。接着,资源分组装置基于预处理后的更新频率数据,计算各个静态资源的平均更新频率,作为更新频率信息。其中,所述干扰数据包括各种可忽略的数据,例如,已被删除的静态资源的更新频率数据,或者短时间内多次更新的行为所产生的更新频率数据等等。根据本专利技术的第一示例,资源分组装置包含于作为CDN的静态资源服务器中,并且,静态资源服务器采用svn软件来存储网站site_1的各个网页的静态资源。对于网站site_1的网页page_1包含的10个CSS资源css_1至css_10,资源分组装置在步骤S201中通过svn软件的标签功能收集过去三个月内各个CSS资源各自的更新记录作为更新频率数据,并接着在步骤S202中基于所收集的更新频率数据,计算该各个CSS资源各自的平均更新频率,作为其更新频率信息。需要说明的是,上述举例仅为更好地说明本专利技术的技术方案,而非对本专利技术的限制,本领域技术人员应该理解,任何获取该网页包含的各个静态资源的更新频率信息的实现方式,均应包含在本专利技术的范围内。继续参照图1进行说明,在步骤S2中,资源分组装置根据各个静态资源的更新频率信息和预定的分组规则,确定所述网页包含的各个静态资源的最优分组方式,以得到相应的资源分组信息。其中,所述分组规则包括各种可用于基于更新频率信息来对各个静态资源进行分组的规则。例如,资源分组装置中的分组规则可指示将更新频率为零的静态资源分为一组,并将更新频率大于零小于阈值f1的静态资源分为一组,将更新频率大于阈值f1的静态分为一组。根据本专利技术的一个优选实施例,其中,所述步骤S2包括步骤S201(图未示)、步骤S202(图未示)、步骤S203(图未示)和步骤S204(图未示)。在步骤S201中,资源分组装置根据各个静态资源的更新频率信息,按照更新频率对各个静态资源进行本文档来自技高网...
用于对网页的静态资源进行分组的方法和装置

【技术保护点】
一种用于对网页的静态资源进行分组的方法,其中,所述方法包括以下步骤:‑对于网站中的每个网页,获取该网页包含的各个静态资源的更新频率信息;‑根据各个静态资源的更新频率信息和预定的分组规则,确定所述网页包含的各个静态资源的最优分组方式,以得到相应的资源分组信息。

【技术特征摘要】
1.一种用于对网页的静态资源进行分组的方法,其中,所述方法包括以下步骤:-对于网站中的每个网页,获取该网页包含的各个静态资源的更新频率信息;-根据各个静态资源的更新频率信息和预定的分组规则,确定所述网页包含的各个静态资源的最优分组方式,以得到相应的资源分组信息。2.根据权利要求1所述的方法,其中,所述对于网站中的每个网页,获取该网页包含的各个静态资源的更新频率信息的步骤包括以下步骤:-收集各个静态资源在预定时间段内的更新频率数据;-基于所收集的更新频率数据,计算各个静态资源的平均更新频率,作为更新频率信息。3.根据权利要求2所述的方法,其中,所述方法还包括以下步骤:-对收集到的更新频率数据进行预处理,以去除其中的干扰数据。4.根据权利要求1所述的方法,其中,所述根据各个静态资源的更新频率信息和预定的分组规则,确定所述网页包含的各个静态资源的最优分组方式,以得到相应的资源分组信息的步骤包括以下步骤:-根据各个静态资源的更新频率信息,按照更新频率对各个静态资源进行排序;-基于所述更新频率信息,确定各个静态资源的所有可能的候选分组方式;-基于所述更新频率信息和预定的算法,计算每个候选分组方式对应的流量信息,其中,所述流量信息包括客户端下载各个静态资源所消耗的流量;-基于所述流量信息,选择使得客户端下载各个静态资源所消耗的流量最小的候选分组方式作为最优的分组方式,以得到相应的资源分组信息。5.根据权利要求1至4中任一项所述的方法,其中,所述方法包括以下步骤:-接收到用于下载网页的静态资源的资源请求时,基于与该网页对应的资源分组信息,将该网页中属于同一分组的静态资源进行合并。6.根据权利要求1至4中任一项所述的方法,其中,所述方法包括以下步骤:-基于所述资源分组信息,生成映射信息,从而在该映射信息中记录并存储该网页中各个静态资源对应的静态资源组。7.根据权利要求6所述的方法,其中,所述方法包括以下步骤:-对于所需要的各个静态资源,基于所述映射信息查询进行查询,确定各个静态资源所在的静态资源组的存储路径。8.一种用于对网页的静态资源进行分组的资源分组装置,其中,所述资源分组装置包括:...

【专利技术属性】
技术研发人员:殷勇
申请(专利权)人:百度在线网络技术北京有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1