用于web页面的资源打包系统、方法及装置与流程

文档序号:11950275阅读:175来源:国知局
用于web页面的资源打包系统、方法及装置与流程

本申请涉及加速web页面的领域,具体涉及一种用于web页面的资源打包系统。本申请还涉及一种用于web页面的资源打包方法及相应装置,以及另外两种用于web页面的资源打包方法及相应装置。



背景技术:

在网络盛行的现在,越来越多的用户通过网络获取各种咨询信息,特别是手机等移动终端成为用户接收和获取信息的一个重要渠道。在移动终端设备上可以通过Web App访问web页面,也可以通过Native App(本地应用,也称原生应用)中的webview浏览器组件浏览web页面。然而在移动终端设备上有时会受限移动环境的弱网络的限制,运行在Native App webview中的web页面加载速度很慢,通常会有1-3秒左右的白屏现象,与Native App固有的流畅体验不合,非常影响用户体验。

为了提高用户体验,现有方案是将待加速web页面及相关资源文件,包括html文件、Javascript脚本文件、级联样式表css文件等,打成资源压缩包内置在Native App中,或者从服务器端提前下载到Native App,然后用户在访问该web页面时会将资源文件定向到本地,从本地获取所需资源文件,从而消除白屏问题,提升用户的浏览体验。

请参考图1,图1为现有方案的打包系统的结构示意图,在该方案中,发布平台和打包平台集成在一起,相当于在同一个平台中进行web页面的发布以及资源文件的打包。采用这种系统架构存在以下缺陷:需要通过打包方案进行加速的web页面不得不从原有的成熟发布平台迁移到上述发布平台上,一方面增加迁移成本,另一方面,由于原有的成熟发布平台通常也是一个良好的大规模开发协作平台,不仅包括完善的权限管理、发布流程控制,还具备丰富的开发工具和发布校验工具等,而执行上述迁移后,将无法复用原有发布平台中的上述基础设施,造成开发效率低、可靠性低等问题。

因此,亟需一种方案来解决现有方案中存在的上述问题。



技术实现要素:

本申请提供一种用于web页面的资源打包系统,以解决现有技术中存在的上述问题。

本申请另外提供一种用于web页面的资源打包方法和装置。

本申请还提供另外两种用于web页面的资源打包方法和装置。

本申请提供一种用于web页面的资源打包系统,包括:发布平台和打包平台;

所述发布平台用于通过所述打包平台提供的打包接口,向所述打包平台发送待加速web页面的资源打包请求;

所述打包平台用于根据接收的资源打包请求,获取所述待加速web页面涉及的资源文件并打包生成资源包。

可选的,所述打包平台提供的打包接口包括以下参数:待加速web页面的URL信息。

可选的,所述打包平台具体用于,根据所述资源打包请求携带的URL信息获取与之对应的web页面文件及相关静态资源文件,并将上述获取的文件打包生成资源包。

可选的,所述静态资源文件包括以下元素中的至少一者:javascript脚本、css级联样式表、音频、视频、图片文件。

可选的,所述打包平台提供的打包接口还包括以下参数:待加速web页面中动态触发加载的资源文件地址列表;

所述打包平台还用于,根据所述资源打包请求携带的资源文件地址列表获取相应的资源文件,并打包生成资源包。

可选的,所述打包平台还用于,递归查找所述web页面文件中的内嵌页面文件及相关静态资源文件,并将找到的上述文件打包生成资源包。

可选的,所述打包平台还用于,递归查找所述web页面文件中链接的下级web页面文件及相关静态资源文件,并将找到的上述文件打包生成资源包。

可选的,所述打包平台还用于,从找到的下级web页面文件中选择页面访问量满足预设条件的下级web页面文件,并将所选下级web页面文件及相关静 态资源文件作为待打包资源文件。

可选的,所述页面访问量满足预设条件包括:

页面访问量大于预设阈值;或,

按照页面访问量排序后,序位处于预设范围内。

可选的,所述页面访问量包括:页面浏览量PV,或者页面独立访客量UV。

可选的,所述打包平台还用于,对于页面访问量不满足预设条件的下级web页面文件,判断其是否位于预设的白名单中,若是,将所述下级web页面文件添加到所述待打包资源文件中。

可选的,所述打包平台还用于,从待打包资源文件中提取公共资源文件;

所述打包平台打包生成资源包,包括:将提取的公共资源文件和删除所述公共资源文件后的待打包资源文件分别打包生成资源包。

可选的,所述打包平台具体用于采用以下方式打包生成资源包:

将待打包资源文件生成一个资源包;或者,

以每个web页面文件及相关静态资源文件为单位生成资源包;或者,

以同级的web页面及相关静态资源文件为单位生成资源包。

可选的,所述打包平台还用于,将打包生成的资源包推送给客户端。

可选的,所述打包平台还用于,在向所述客户端推送资源包之前,从已生成的资源包中选择预定数量的资源包作为待推送的资源包。

可选的,所述打包平台还用于,根据客户端上报的本地资源包信息,向客户端推送其尚未下载的资源包。

可选的,所述打包平台提供的打包接口采用HTTP协议实现。

可选的,所述web页面文件和内嵌页面文件包括:html文件、htm文件或者xml文件。

本申请还提供一种用于web页面的资源打包方法,包括:

从预先设定的打包接口接收来自发布平台的、针对待加速web页面的资源打包请求;

根据所述请求,获取所述待加速web页面涉及的资源文件;

将获取的资源文件打包生成资源包。

可选的,所述资源打包请求按照所述打包接口的要求携带以下参数:待加速web页面的URL信息。

可选的,所述获取所述待加速web页面涉及的资源文件包括:

根据所述请求携带的URL信息,获取与之对应的web页面文件;

通过分析所述web页面文件,获取与所述web页面相关的静态资源文件;

并将上述获取的文件作为待打包资源文件。

可选的,所述资源打包请求按照所述打包接口的要求携带的参数还包括:待加速web页面中动态触发加载的资源文件地址列表;

所述方法还包括:

根据所述资源文件地址列表获取相应的资源文件,并添加到待打包资源文件中。

可选的,还包括:

递归查找所述web页面文件中的内嵌页面文件及相关静态资源文件,并将找到的上述文件添加到待打包资源文件中。

可选的,还包括:

递归查找所述web页面文件中链接的下级web页面文件及相关静态资源文件,并将找到的上述资源文件添加到待打包资源文件中。

可选的,在所述递归查找所述web页面文件中链接的下级web页面文件及相关静态资源文件的过程中,针对每个下级web页面文件执行下述操作:

获取所述下级web页面文件对应的页面访问量;

判断所述页面访问量是否大于预设阈值;

若是,将所述下级web页面文件及相关静态资源文件添加到待打包资源文件中;

若否,终止对所述下级web页面文件的递归查找过程。

可选的,包括:

从找到的下级web页面文件中选择页面访问量满足预设条件的下级web页面文件,并将所选下级web页面文件及相关静态资源文件作为待打包资源文件。

可选的,包括:

对于未被选中作为待打包资源文件的下级web页面文件,判断其是否位于预设的白名单中,若是,将所述下级web页面文件添加到所述待打包资源文件中。

可选的,在打包生成资源包之前,执行下述操作:

从待打包资源文件中提取公共资源文件;

所述将获取的资源文件打包生成资源包包括:将提取的公共资源文件和删除所述公共资源文件后的待打包资源文件分别打包生成资源包。

可选的,所述将获取的资源文件打包生成资源包的步骤,采用如下方式实现:

将待打包资源文件生成一个资源包;或者,

以每个web页面文件及相关静态资源文件为单位生成资源包;或者,

以同级的web页面及相关静态资源文件为单位生成资源包。

可选的,还包括:

将打包生成的资源包推送给客户端。

可选的,还包括:

根据客户端上报的本地资源包信息,向客户端推送其尚未下载的资源包。

可选的,所述预先设定的打包接口采用HTTP协议实现。

本申请还提供一种用于web页面的资源打包装置,包括:

打包请求接收单元,用于从预先设定的打包接口接收来自发布平台的、针对待加速web页面的资源打包请求;

资源文件获取单元,用于获取所述待加速web页面涉及的资源文件;

资源包生成单元,用于将获取的资源文件打包生成资源包。

可选的,所述打包请求接收单元所采用的打包接口包括以下参数:待加速web页面的URL信息。

可选的,所述资源文件获取单元包括:

web页面文件获取子单元,用于根据所述请求携带的URL信息,获取与之对应的web页面文件;

静态资源文件获取子单元,用于通过分析所述web页面文件,获取与所述 web页面相关的静态资源文件,并将所述静态资源文件以及所述web页面文件获取子单元获取的web页面文件一并作为待打包资源文件。

可选的,所述打包请求接收单元所采用的打包接口还包括以下参数:待加速web页面中动态触发加载的资源文件地址列表;

所述装置还包括:

动态资源文件获取单元,用于根据所述资源文件地址列表获取相应的资源文件,并添加到待打包资源文件中。

可选的,所述装置还包括:

内嵌页面资源获取单元,用于递归查找所述web页面文件中的内嵌页面文件及相关静态资源文件,并将找到的上述文件添加到待打包资源文件中。

可选的,所述装置包括:

下级页面资源获取单元,用于递归查找所述web页面文件中链接的下级web页面文件及相关静态资源文件,并将找到的上述资源文件添加到待打包资源文件中。

可选的,所述下级页面资源获取单元包括:

递归控制子单元,用于递归查找所述web页面文件中链接的下级web页面文件及相关静态资源文件,并针对每个下级web页面文件触发下述子单元工作:

页面访问量获取子单元,用于获取所述下级web页面文件对应的页面访问量;

阈值判断子单元,用于判断所述页面访问量是否大于预设阈值;若是,将所述下级web页面文件及相关静态资源文件添加到待打包资源文件中;若否,通知所述递归控制子单元终止对所述下级web页面文件的递归查找过程。

可选的,所述下级页面资源获取单元包括:递归查找子单元和页面筛选子单元;

所述递归查找子单元,用于递归查找所述web页面文件中链接的下级web页面文件及相关静态资源文件;

所述页面筛选子单元,用于从所述递归查找子单元找到的下级web页面文件中选择页面访问量满足预设条件的下级web页面文件,并将所选下级web页面文件及相关静态资源文件添加到待打包资源文件中。

可选的,所述下级页面资源获取单元还包括:

白名单资源添加子单元,用于对于未被选中作为待打包资源文件的下级web页面文件,判断其是否位于预设的白名单中,若是,将所述下级web页面文件添加到所述待打包资源文件中。

可选的,所述装置还包括:

公共资源提取单元,用于从待打包资源文件中提取公共资源文件;

所述资源包生成单元具体用于,将提取的公共资源文件和删除所述公共资源文件后的待打包资源文件分别打包生成资源包。

可选的,所述资源包生成单元具体用于,将待打包资源文件生成一个资源包;或者,以每个web页面文件及相关静态资源文件为单位生成资源包;或者,以同级的web页面及相关静态资源文件为单位生成资源包。

可选的,所述装置还包括:

资源包推送单元,用于将打包生成的资源包推送给客户端。

可选的,所述装置还包括:

资源包按需推送单元,用于根据客户端上报的本地资源包信息,向客户端推送其尚未下载的资源包。

本申请还提供另一种用于web页面的资源打包方法,包括:

获取与web页面相关的待打包资源文件;

从所述待打包资源文件中提取公共资源文件;

将提取的公共资源文件和删除所述公共资源文件后的待打包资源文件分别打包生成资源包。

本申请还提供另一种用于web页面的资源打包装置,包括:

待打包资源文件获取单元,用于获取与web页面相关的待打包资源文件;

公共资源文件提取单元,用于从所述待打包资源文件中提取公共资源文件;

独立资源包生成单元,用于将提取的公共资源文件和删除所述公共资源文件后的待打包资源文件分别打包生成资源包。

本申请还提供另一种用于web页面的资源打包方法,包括:

递归查找web页面链接的下级web页面;

将页面访问量满足预设条件的下级web页面所涉及的资源文件打包生成资源包。

可选的,所述页面访问量满足预设条件包括:

页面访问量大于预设阈值;或,

按照页面访问量排序后,序位处于预设范围内。

本申请还提供另一种用于web页面的资源打包装置,包括:

下级页面查找单元,用于递归查找web页面链接的下级web页面;

下级页面资源包生成单元,用于将页面访问量满足预设条件的下级web页面所涉及的资源文件打包生成资源包。

与现有技术相比,本申请具有以下优点:

本申请提供一种用于web页面的资源打包系统及相应方法及装置,其中所述系统包括:发布平台和打包平台;所述发布平台用于通过所述打包平台提供的打包接口,向所述打包平台发送待加速web页面的资源打包请求;所述打包平台用于根据接收的资源打包请求,获取所述请求涉及的资源文件并打包生成资源包。采用上述技术方案,打包平台和发布平台彼此独立,并且通过打包接口进行交互,因此,当发布平台有web页面加速需求时,不需要在平台之间进行迁移,可以依然复用原有的、成熟的发布平台中的基础设施,在保证开发效率和可靠性的同时,实现待加速web页面的资源打包功能。

本申请提供的另一种用于web页面的资源打包方法及装置,针对在不同的web页面之间通常存在大量公共资源这一情况,通过从待打包资源文件中提取公共资源文件,并将提取的公共资源文件和删除所述公共资源文件后的待打包资源文件分别打包生成资源包,从而消除了资源包之间存在的资源冗余,一方面,可以减少下载资源包所占用的网络带宽,另一方面,也可以减少资源包对客户端存储空间的占用。

本申请提供的第三种用于web页面的资源打包方法及装置,针对现有技术中通常由人为指定将哪些下级页面打包的情况,提出了一种基于自动化预测的下级页面资源打包方法:根据页面访问量对下级web页面进行筛选,选择页面访问量满足预设要求的页面进行打包。通过在客户端预置采用本方法生成的资源包,能够使下级web页面的加载性能得到合理提升,并在性能和存储之间取 得平衡。

附图说明

图1是现有方案的打包系统的结构示意图;

图2是本申请实施例提供的一种用于web页面的资源打包系统的结构示意图;

图3是本申请提供的一种用于web页面的资源打包方法的实施例的流程图;

图4是本申请提供的一种用于web页面的资源打包装置的实施例的示意图;

图5是本申请提供的另一种用于web页面的资源打包方法的实施例的流程图;

图6是本申请提供的另一种用于web页面的资源打包装置的实施例的示意图;

图7是本申请提供的第三种用于web页面的资源打包方法的实施例的流程图;

图8是本申请提供的第三种用于web页面的资源打包装置的实施例的示意图。

具体实施方式

在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是,本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似扩展,因此,本申请不受下面公开的具体实施例的限制。

在本申请实施例中,提供了一种用于web页面的资源打包系统,一种用于web页面的资源打包方法和装置,以及另外两种用于web页面的资源打包方法和装置。以下对本申请实施例提供的方案作详细的介绍说明。

请参考图2,图2是本申请实施例提供的一种用于web页面的资源打包系统的结构示意图。本申请实施例提供的用于web页面的资源打包系统包括:发布平台202和打包平台201,打包平台201对发布平台202提供打包接口。

发布平台202通常是指,在开发环境中开发web页面,并将开发好的web 页面通过特定的方式发布给用户的平台。在本实施例中,发布平台202和打包平台201不再是集成在一起的,而是相互独立的,发布平台202通过打包平台201提供的打包接口与后者连通。

打包平台201提供的打包接口可以采用多种方式实现,例如:自定义消息机制等。作为一种便捷的实现方式,可以采用标准HTTP协议实现所述接口,即:打包平台201接收以HTTP请求方式向其发送的资源打包请求。

打包平台201根据来自打包接口的资源打包请求,获取所述待加速web页面涉及的资源文件并打包生成资源包。所述待加速web页面涉及的资源文件可以包括,待加速web页面文件及相关静态资源文件,也可以是上述资源文件中的部分文件。通过对待加速web页面涉及的资源文件打包并提前预置在客户端设备中,可以在客户端上实现web页面的快速加载,减少出现白屏现象的几率。

为了实现上述功能,打包平台201提供的打包接口中可以包含与资源打包相关的参数,例如:待加速web页面涉及的资源文件的地址列表,打包平台201可以根据从该接口传递的上述地址列表从服务器端获取相应的资源文件,并打包生成资源包。

为了减少发布平台202和打包平台201之间的数据传输量,节省网络带宽,本实施例提供一种优选实施方式,打包平台201提供的打包接口中包括以下参数:待加速web页面的URL信息。下面针对该优选实施方式进行详细描述。

基于打包平台201提供的上述打包接口,发布平台202通过该接口,向打包平台201发送携带待加速web页面URL信息的资源打包请求。

打包平台201用于根据接收的资源打包请求中携带的URL信息,从服务器端获取待加速web页面文件以及相关静态资源文件,并将上述获取的文件打包生成资源包。

所述待加速web页面文件是指待加速web页面的源文件,包括html文件、htm文件或者xml文件等。所述相关静态资源文件是指,所述待加速web页面包含的静态资源文件,可包括以下文件之一或组合:Javascript脚本文件、css级联样式表文件、音频文件、视频文件、图片文件等。所述待加速web页面是由所述源文件、以及相关静态资源文件经浏览器加载渲染后展示出的完整页面。

在具体实施时,打包平台201可以根据所述资源打包请求中携带的URL参数,先从服务器端获取对应的web页面文件,然后对该web页面文件进行文本 分析,根据标签等信息,找出该web页面包含的静态资源文件,并从服务器端获取这些静态资源文件,然后将上述获取的文件打包生成资源包。

优选地,考虑到web页面中除了包含上述静态资源外,还可能包含动态触发加载的资源,因此,打包接口的参数除了待加速web页面的URL信息之外,还可以包括待加速web页面中动态触发加载的资源文件地址列表。所述动态触发加载的资源包括:嵌入在脚本程序中的、当相应的脚本程序执行时候才触发加载的资源文件。由于这类资源文件通常无法通过对web页面文件的常规文本分析获取,因此发布平台202可以通过传递参数的方式告知打包平台201。

相应的,打包平台201还可用于,根据所述资源打包请求中携带的上述资源文件地址列表,从服务器端获取相应的资源文件,并打包生成资源包。

优选地,考虑到待加速web页面中还可能包含内嵌页面,为了提高所述web页面整体的加载速度,打包平台201还可用于,递归查找所述web页面文件中的内嵌页面文件及相关静态资源文件,并将找到的上述文件打包生成资源包。

所述内嵌页面通常是指,在web页面的局部范围内显示的其他web页面,包括html文件、htm文件或者xml文件等,在web页面文件中通常由iframe标签的src属性标识内嵌页面的地址,因此可以通过对待加速web页面文件中的iframe标签的分析,获取内嵌页面文件,并通过对内嵌页面文件的分析获取相关静态资源文件。

之所以采用递归查找的方式,主要是针对内嵌页面中包含内嵌页面的情况,可以先分析待加速web页面中是否有内嵌页面,如果有,获取内嵌页面文件及相关静态资源文件;再查找该内嵌页面中是否依然包含内嵌页面,......,依次类推,获取待加速web页面的所有内嵌页面文件即相关静态资源文件,并打包生成资源包。

通过上面的描述可以看出,由于发布平台202与打包平台201之间通过打包接口对接,对需要加速的web页面,发布平台202只需要向打包平台201发送打包请求,打包平台201根据接收的打包请求获取资源文件打包即可。由此可见,该系统实现了打包平台201与发布平台202之间的相互独立,在保证发布平台原有的开发效率和可靠性的同时,实现了web页面的资源打包功能。

在上面描述的系统架构的基础上,打包平台201还可以具有针对下级页面的资源打包功能、公共资源优化处理、向客户端推送资源包等功能,下面逐一 进行说明。

打包平台201除了可以对待加速web页面及相关静态资源文件打包之外,所述打包平台201还用于递归查找所述web页面文件中链接的下级web页面文件及相关静态资源文件,并将找到的上述文件打包生成资源包。

所述待加速的web页面中可以包含跳转到其他web页面的链接,在web页面文件中通常用a标签的src属性标识链接的地址信息,因此在具体实施时,可以通过分析待加速web页面文件中的a标签,获取下级web页面文件,并通过对所述下级web页面文件的分析获取相关静态资源文件。

由于每个web页面都可能包含跳转到其他web页面的链接,因此,打包平台201可以采用递归查找的方式获取所有下级web页面文件及相关静态资源文件并打包。具体说,打包平台201将待加速web页面作为一级页面,在该页面文件中查找是否包含访问二级页面的链接,如果有,获取对应的web页面文件及相关静态资源文件;然后在找到的二级页面文件中查找是否包含访问三级页面的链接,......,依次类推。为了便于描述,在本实施例中将上述二级、三级页面等统称为待加速web页面的下级web页面。

优选地,考虑到使用资源包进行页面加速的客户端设备的存储空间是有限的,因此,为了在加速性能和存储空间之间取得平衡,打包平台201还可用于,从找到的下级web页面文件中筛选页面访问量满足预设条件的下级web页面文件,并将所选下级web页面文件及相关静态资源文件作为待打包资源文件。所述页面访问量包括页面浏览量PV,或者页面独立访客量UV,这些信息可以从服务端的访问日志中获取。

所述页面访问量满足预设条件包括:页面访问量大于预设阈值;或,按照页面访问量排序后,序位处于预设范围内。下面分别对上述两种下级web页面文件的筛选方式进行说明。

1)选择页面访问量大于预设阈值的下级web页面文件。具体说,打包平台201在递归查找下级web页面的过程中,若判断出当前找到的下级web页面的页面访问量大于预设阈值,则选取该下级web页面文件,然后再依照上述方式向下一级页面查找,直至找到的下级web页面的页面访问量小于预设阈值时,停止所述下级web页面的递归查找过程。

2)将找到的下级web页面文件按照页面访问量进行排序,并从中选取序位 处于预定范围内的下级web页面文件。采用这种方式,打包平台201可以先找出所有的下级web页面文件,并按照每个页面文件的页面访问量从高到低排序,然后从中选取序位处于高位的预定数量的下级web页面文件,例如排序前15位的下级web页面文件。

打包平台201采用上述方式筛选出下级web页面文件后,可以将所选下级web页面文件及相关静态资源文件打包生成资源包。现有技术中,通常由人为指定将哪些下级页面打包,缺少自动化预测能力,而本打包平台201在对待加速web页面资源打包的基础上,还能够根据页面访问量自动进行下级web页面的筛选,并从中选择页面访问量高的页面进行打包,如果客户端预置了这些资源包,不仅能够提升待加速web页面的加载性能,还能够使下级web页面性能也得到合理提升,并在性能和存储之间取得平衡。

需要说明的是,针对页面访问量不满足预设条件的下级web页面,也可能存在某些特殊页面需要加速的情况,因此在具体实施中,可以针对这样的特殊页面设置白名单,即:将必须打包的下级web页面文件添加到所述白名单中。相应的,打包平台201还用于在对下级web页面资源打包之前,对于页面访问量不满足预设条件的下级web页面文件,判断其是否位于预设的白名单中,若是,将所述下级web页面文件也添加到待打包资源文件中。

优选地,所述打包平台201还用于,从待打包资源文件中提取公共资源文件,并将提取的公共资源文件和删除所述公共资源文件后的待打包资源文件分别打包生成资源包。

在实际的应用中,不同的web页面之间通常存在大量的公共资源,例如以下场景:打包平台201拟将web页面1包含的资源文件a和b打包生成包A,将web页面2包含的资源文件a和c打包生成包B,这种情况下包A和包B中的资源文件a是公共资源文件,在两个包中分别包含该文件自然会造成冗余,客户端下载上述包A和包B时会占用额外的网络带宽,而且也会占用客户端的额外存储空间。

针对上述问题,本技术方案中的打包平台201在打包之前,通过对待打包资源文件的分析,从中提取公共资源文件,然后将公共资源文件独立打包,再将删除公共资源文件后的其他待打包资源文件打包。仍沿用上述例子,打包平台201可以生成三个资源包,包A包含资源b,包B包含资源c,包C包含资 源a。

客户端下载上述资源包后,在需要加载web页面1的资源时可以重定向到本地。例如浏览器发出获取web页面1合并资源的HTTP请求http://sample.com/path??/a,/b,该请求会被定向到本地,先查找与web页面1对应的资源包A,从中获取资源b,再查找公共资源包C,从中获取资源a,然后将两个资源组合后以HTTP应答的方式返回给浏览器,从而有助于加速web页面1的加载过程。对于加载web页面2也是同样的道理。

由此可见,打包平台201通过提取公共资源并独立打包,可以消除资源包之间存在的冗余,一方面,可以减少网络下载流量,另一方面,也可以减少对客户端存储空间的占用。

打包平台201在获取待加速web页面及相关资源文件、二级及以下各级页面资源文件、提取公共资源文件等处理的基础上,最终要将待打包资源文件打包生成资源包。打包平台201具体可以采用下述任意一种方式进行打包:将待打包资源文件生成一个资源包;以每个web页面文件及相关静态资源文件为单位生成资源包;以同级的web页面及相关静态资源文件为单位生成资源包。在具体实施中,也可以灵活组合上述打包方式,例如:可以将待加速web页面及相关静态资源文件(包括内嵌页面资源和动态触发加载的资源文件)打成一个资源包,将待加速web页面的所有下级web页面及相关静态资源文件打成一个资源包也是可以的。对于出于对公共资源优化处理的考虑而提取的公共资源文件也可以参照上述方式,打成一个或者多个资源包。

在具体实施中,打包平台201生成资源包后,可以将资源包发送给发布平台202,由发布平台202提供给客户端,为了减少平台之间的数据交互量,提高执行效率,本技术方案由发布平台202向客户端提供资源包。例如,可以根据客户端主动发起的下载资源包的HTTP请求,以HTTP应答的方式向客户端发送资源包。

优选地,为了让客户端能够及时获取资源包,实现web页面的快速加载,打包平台201还用于将打包生成的资源包主动推送给客户端。客户端启动后,可以与打包平台201所在的服务端建立基于TCP/IP的长连接,从而打包平台201可以不再基于客户端请求被动给与应答,而是在生成资源包的第一时间,将所述资源包通过与客户端之间的长连接主动推送给客户端。

考虑到客户端的存储容量是有限的,打包平台201还用于,在向所述客户端推送资源包之前,从已生成的资源包中选择预定数量的资源包作为待推送的资源包。具体实施时,打包平台201可以根据待加速页面所属业务对应的权限级别,对待推送的资源包的数量加以控制。例如,打包平台201共生成了100个资源包,但是这些资源包对应的业务只有向客户端推送50个资源包的权限,那么可以按照预定策略进行资源包的筛选,并将符合数量要求的资源包推送给客户端。

由此可见,打包平台201通过打包接口接收发布平台202的打包请求,根据请求将相关的资源文件打包为资源包,并将资源包推送至客户端,从而实现了“从开发环境发布至客户端”。

此外,针对客户端存在未接收到资源包的可能(例如客户端设备未开机),打包平台201还用于根据客户端上报的本地资源包信息,向客户端推送其尚未下载的资源包。例如,客户端每次与服务端建立长连接后,可以主动向打包平台201上报其本地存储的资源包的相关信息,例如:包名称、版本号等。打包平台201根据客户端上报的信息与打包平台201自己维护的资源包信息进行比对,就可以获知客户端缺少哪些资源包,并将这些资源包再次推送给客户端。

综上所述,本实施例提供的用于web页面的资源打包系统,打包平台201与发布平台202彼此独立,两者通过打包平台201提供的打包接口进行交互,使用本系统进行资源打包,不需要在平台之间进行迁移,可以依然复用原有的、成熟的发布平台202中的基础设施,有效保证了开发效率和可靠性。

在上述的实施例中,提供了一种用于web页面的资源打包系统,与之相对应的,本申请还提供一种用于web页面的资源打包方法。请参看附图3,其为本申请提供的一种用于web页面的资源打包方法的实施例的流程图。由于该方法实施例与上述系统实施例相同的部分不再赘述,请参见系统实施例中的相关说明即可。

本申请实施例提供的一种用于web页面的资源打包方法,包括:

步骤S301,从预先设定的打包接口接收来自发布平台的、针对待加速web页面的资源打包请求。

所述资源打包请求按照所述打包接口的要求可以携带以下参数:待加速web 页面的URL信息;还可以携带:待加速web页面中动态触发加载的资源文件地址列表。

步骤S302,根据所述请求,获取所述待加速web页面涉及的资源文件。

具体说,可以根据所述请求携带的URL信息,获取与之对应的web页面文件;通过分析所述web页面文件,获取与所述web页面相关的静态资源文件;并将上述获取的文件作为待打包资源文件。

通过上述方式获取待加速web页面涉及的资源文件后,还可以执行下述操作,进一步获取动态触发加载的资源文件、内嵌页面资源文件、下级页面资源文件等,然后执行步骤S303打包生成资源包。下面进一步说明。

可以根据资源打包请求携带的资源文件地址列表获取动态触发加载的资源文件,并添加到待打包资源文件中。

可以递归查找所述web页面文件中的内嵌页面文件及相关静态资源文件,并将找到的上述文件添加到待打包资源文件中。

进一步地,可以递归查找所述web页面文件中链接的下级web页面文件及相关静态资源文件,并将找到的上述资源文件添加到待打包资源文件中。

还可以对下级web页面文件进行筛选,可以采用以下两种方式:1)在所述递归查找所述web页面文件中链接的下级web页面文件及相关静态资源文件的过程中,针对每个下级web页面文件执行下述操作:获取所述下级web页面文件对应的页面访问量;判断所述页面访问量是否大于预设阈值;若是,将所述下级web页面文件及相关静态资源文件添加到待打包资源文件;若否,终止对所述下级web页面文件的递归查找过程。2)从找到的下级web页面文件中选择页面访问量满足预设条件的下级web页面文件,并将所选下级web页面文件及相关静态资源文件作为待打包资源文件。

对于未被选中作为待打包资源文件的下级web页面文件,可以判断其是否位于预设的白名单中,若是,将所述下级web页面文件添加到所述待打包资源文件中。

步骤S303,将获取的资源文件打包生成资源包。

在打包之前,可以从已获取的待打包资源文件中提取公共资源文件,然后将提取的公共资源文件和删除所述公共资源文件后的待打包资源文件分别打包生成资源包。

在具体实施中,可以采用如下方式进行打包:

将待打包资源文件生成一个资源包;或者,以每个web页面文件及相关静态资源文件为单位生成资源包;或者,以同级的web页面及相关静态资源文件为单位生成资源包。

完成打包操作后,还可以将生成的资源包推送给客户端。

除了上述主动推送之外,本方法还可以包括:根据客户端上报的本地资源包信息,向客户端推送其尚未下载的资源包。

在上述的实施例中,提供了一种用于web页面的资源打包方法,与之相对应的,本申请还提供一种用于web页面的资源打包装置。请参看图4,其为本申请的一种用于web页面的资源打包装置的实施例的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。

本实施例的一种用于web页面的资源打包装置,包括:打包请求接收单元401,用于从预先设定的打包接口接收来自发布平台的、针对待加速web页面的资源打包请求;资源文件获取单元402,用于获取所述待加速web页面涉及的资源文件;资源包生成单元403,用于将获取的资源文件打包生成资源包。

可选的,所述打包请求接收单元401所采用的打包接口包括以下参数:待加速web页面的URL信息。

可选的,所述资源文件获取单元402包括:

web页面文件获取子单元,用于根据所述请求携带的URL信息,获取与之对应的web页面文件;

静态资源文件获取子单元,用于通过分析所述web页面文件,获取与所述web页面相关的静态资源文件,并将所述静态资源文件以及所述web页面文件获取子单元获取的web页面文件一并作为待打包资源文件。

可选的,所述打包请求接收单元401所采用的打包接口还包括以下参数:待加速web页面中动态触发加载的资源文件地址列表;

所述装置还包括:

动态资源文件获取单元,用于根据所述资源文件地址列表获取相应的资源文件,并添加到待打包资源文件中。

可选的,所述装置还包括:

内嵌页面资源获取单元,用于递归查找所述web页面文件中的内嵌页面文件及相关静态资源文件,并将找到的上述文件添加到待打包资源文件中。

可选的,所述装置包括:

下级页面资源获取单元,用于递归查找所述web页面文件中链接的下级web页面文件及相关静态资源文件,并将找到的上述资源文件添加到待打包资源文件中。

可选的,所述下级页面资源获取单元包括:

递归控制子单元,用于递归查找所述web页面文件中链接的下级web页面文件及相关静态资源文件,并针对每个下级web页面文件触发下述子单元工作:

页面访问量获取子单元,用于获取所述下级web页面文件对应的页面访问量;

阈值判断子单元,用于判断所述页面访问量是否大于预设阈值;若是,将所述下级web页面文件及相关静态资源文件添加到待打包资源文件中;若否,通知所述递归控制子单元终止对所述下级web页面文件的递归查找过程。

可选的,所述下级页面资源获取单元包括:递归查找子单元和页面筛选子单元;

所述递归查找子单元,用于递归查找所述web页面文件中链接的下级web页面文件及相关静态资源文件;

所述页面筛选子单元,用于从所述递归查找子单元找到的下级web页面文件中选择页面访问量满足预设条件的下级web页面文件,并将所选下级web页面文件及相关静态资源文件添加到待打包资源文件中。

可选的,所述下级页面资源获取单元还包括:

白名单资源添加子单元,用于对于未被选中作为待打包资源文件的下级web页面文件,判断其是否位于预设的白名单中,若是,将所述下级web页面文件添加到所述待打包资源文件中。

可选的,所述装置还包括:

公共资源提取单元,用于从待打包资源文件中提取公共资源文件;

所述资源包生成单元具体用于,将提取的公共资源文件和删除所述公共资 源文件后的待打包资源文件分别打包生成资源包。

可选的,所述资源包生成单元403具体用于,将待打包资源文件生成一个资源包;或者,以每个web页面文件及相关静态资源文件为单位生成资源包;或者,以同级的web页面及相关静态资源文件为单位生成资源包。

可选的,所述装置还包括:

资源包推送单元,用于将打包生成的资源包推送给客户端。

可选的,所述装置还包括:

资源包按需推送单元,用于根据客户端上报的本地资源包信息,向客户端推送其尚未下载的资源包。

在上述实施例中提供了一种用于web页面的资源打包系统和一种用于web页面的资源打包方法,本申请还提供另一种用于web页面的资源打包方法。请参考图5,其为本申请提供的另一种用于web页面的资源打包方法的实施例的流程图,本实施例与上述实施例内容相同的部分不再赘述,下面重点描述不同之处。所述另一种用于web页面的资源打包方法包括:

步骤S501,获取与web页面相关的待打包资源文件。

所述与web页面相关的待打包资源文件不仅可以包括通常所说的web页面文件及相关静态资源文件,还可以包括web页面中逐层嵌套的内嵌页面文件、动态触发加载的资源文件,以及web页面文件的下级页面文件及相关静态资源文件。具体获取哪些资源文件作为待打包资源文件,可以根据具体的应用需求确定,本实施例不做具体限定。

步骤S502,从所述待打包资源文件中提取公共资源文件。

步骤S503,将提取的公共资源文件和删除所述公共资源文件后的待打包资源文件分别打包生成资源包。

在上述的实施例中,提供了另一种用于web页面的资源打包方法,与之相对应的,本申请还提供另一种用于web页面的资源打包装置。请参看图6,其为本申请的另一种用于web页面的资源打包装置的实施例的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。

本实施例提供的用于web页面的资源打包装置,包括:待打包资源文件获取单元601,用于获取与web页面相关的待打包资源文件;公共资源文件提取单元602,用于从所述待打包资源文件中提取公共资源文件;独立资源包生成单元603,用于将提取的公共资源文件和删除所述公共资源文件后的待打包资源文件分别打包生成资源包。

本实施例提供的上述用于web页面的资源打包方法及装置,针对在不同的web页面之间通常存在大量公共资源这一情况,通过在打包之前提取公共资源文件并将公共资源文件独立打包,消除了资源包之间存在的资源冗余,一方面,可以减少下载资源包所占用的网络带宽,另一方面,也可以减少资源包对客户端存储空间的占用。

在上述实施例中提供了一种用于web页面的资源打包系统和两种用于web页面的资源打包方法,本申请还提供第三种用于web页面的资源打包方法。请参考图7,其为本申请提供的第三种用于web页面的资源打包方法的实施例的流程图,本实施例与上述实施例内容相同的部分不再赘述,下面重点描述不同之处。所述第三种用于web页面的资源打包方法包括:

步骤S701,递归查找web页面链接的下级web页面。

步骤S702,将页面访问量满足预设条件的下级web页面所涉及的资源文件打包生成资源包。

所述页面访问量满足预设条件包括:页面访问量大于预设阈值;或,按照页面访问量排序后,序位处于预设范围内。

所述下级web页面所涉及的资源文件包括:下级web页面文件以及相关的静态资源文件。

在上述的实施例中,提供了第三种用于web页面的资源打包方法,与之相对应的,本申请还提供第三种用于web页面的资源打包装置。请参看图8,其为本申请的第三种用于web页面的资源打包装置的实施例的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。

本实施例提供的用于web页面的资源打包装置,包括:

下级页面查找单元801,用于递归查找web页面链接的下级web页面;

下级页面资源包生成单元802,用于将页面访问量满足预设条件的下级web页面所涉及的资源文件打包生成资源包。

本实施例提供的上述用于web页面的资源打包方法及装置,针对现有技术中通常由人为指定将哪些下级页面打包的情况,提出了一种基于自动化预测的下级页面资源打包方法:根据页面访问量对下级web页面进行筛选,选择页面访问量满足预设要求的页面进行打包。通过在客户端预置采用本方法生成的资源包,能够使下级web页面的加载性能得到合理提升,并在性能和存储之间取得平衡。

本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计 算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

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