发明内容
本说明书实施例之一提供一种页面资源加载方法,所述页面资源加载方法包括:获取待加载资源信息;确定待加载资源中的第一类资源以及第二类资源;对所述第一类资源进行加载;获取资源加载监控信息和/或资源加载环境信息;基于所述资源加载监控信息和/或所述资源加载环境信息,对所述第二类资源进行加载或降级。
在一些实施例中,所述第一类资源包括:为保证核心业务流程所必须的页面资源;所述第二类资源包括:不阻碍核心业务流程的用于提升页面视觉体验和业务效果的页面资源。
在一些实施例中,所述第一类资源包括文本和/或静态图片。
在一些实施例中,所述第二类资源包括动态图片和/或视频。
在一些实施例中,所述降级包括不加载或部分加载。
在一些实施例中,基于所述资源加载监控信息和/或所述资源加载环境信息,对所述第二类资源进行加载或降级包括:在所述第一类资源加载完成后,基于所述资源加载监控信息和/或所述资源加载环境信息,对所述第二类资源进行加载或降级。
在一些实施例中,所述资源加载监控信息包括加载所述第一类资源时的超时监控信息;所述基于所述资源加载监控信息和/或所述资源加载环境信息,对所述第二类资源进行加载或降级包括:当加载所述第一类资源超时时,对所述第二类资源进行降级。
在一些实施例中,所述基于所述资源加载监控信息和/或所述资源加载环境信息,对所述第二类资源进行加载或降级包括:当加载所述第一类资源未超时时,对所述第二类资源进行加载。
在一些实施例中,所述资源加载监控信息包括加载所述第二类资源时的超时监控信息;所述基于所述资源加载监控信息和/或所述资源加载环境信息,对所述第二类资源进行加载或降级包括:在加载所述第二类资源的过程中,基于所述加载第二类资源时的超时监控信息,对所述第二类资源进行加载或降级。
在一些实施例中,在加载所述第二类资源的过程中,基于所述加载第二类资源时的超时监控信息,对所述第二类资源进行加载或降级包括:当所述加载第二类资源时的超时监控信息反映加载超时时,确定已加载的第二类资源的百分比;根据所述已加载的第二类资源的百分比,对所述第二类资源进行加载或降级。
在一些实施例中,根据所述已加载的第二类资源的百分比,对所述第二类资源进行加载或降级包括:当所述已加载的第二类资源的百分比大于预设阈值时,继续所述第二类资源进行加载,并对尚未加载的所述第二类资源进行静默加载。
在一些实施例中,所述页面资源加载方法还包括:确定所述待加载资源中的第三类资源;所述第三类资源包括不阻碍核心业务流程,也不影响页面视觉体验和业务效果的页面资源。
在一些实施例中,所述第三类资源包括背景音乐和/或字体变换文件。
在一些实施例中,当所述第二类资源被降级或者所述第二类资源加载完成后,再对所述第三类资源进行静默加载。
在一些实施例中,所述资源加载环境信息包括网络制式信息、网络速度信息和/或页面加载终端的性能信息。
本说明书实施例之一提供一种页面资源加载系统,该页面资源加载系统包括:获取模块,用于获取待加载的资源信息;分级模块,用于确定待加载资源中的第一类资源以及第二类资源;加载模块,用于对所述第一类资源和第二类资源进行加载;监控模块,用于获取资源加载监控信息和/或资源加载环境信息;以及控制模块,用于基于所述资源加载监控信息和/或所述资源加载环境信息,控制所述加载模块对所述第二类资源进行加载或降级。
在一些实施例中,所述第一类资源包括:为保证核心业务流程所必须的页面资源;所述第二类资源包括:不阻碍核心业务流程的用于提升页面视觉体验和业务效果的页面资源。
在一些实施例中,所述第一类资源包括文本和/或静态图片。
在一些实施例中,所述第二类资源包括动态图片和/或视频。
在一些实施例中,所述降级包括不加载或部分加载。
在一些实施例中,所述控制模块还用于:在所述第一类资源加载完成后,基于所述资源加载监控信息和/或所述资源加载环境信息,控制所述加载模块对所述第二类资源进行加载或降级。
在一些实施例中,所述监控模块包括超时监控单元,所述超时监控单元用于监控加载所述第一类资源时的超时监控信息;所述控制模块还用于:当所述超时监控单元监控到加载所述第一类资源超时时,控制所述加载模块对所述第二类资源进行降级。
在一些实施例中,所述控制模块还用于:当所述超时监控单元监控到加载所述第一类资源未超时时,控制所述加载模块对所述第二类资源进行加载。
在一些实施例中,所述监控模块包括超时监控单元,所述超时监控单元用于监控加载所述第二类资源时的超时监控信息;所述控制模块还用于:在加载所述第二类资源的过程中,基于所述超时监控单元监控到的所述加载第二类资源时的超时监控信息,控制所述加载模块对所述第二类资源进行加载或降级。
在一些实施例中,所述监控模块还包括加载百分比计算单元,所述加载百分比计算单元用于在当所述加载第二类资源时的超时监控信息反映加载超时时,确定已加载的第二类资源的百分比;在加载所述第二类资源的过程中,所述控制模块还用于:当所述加载第二类资源时的超时监控信息反映加载超时时,根据所述已加载的第二类资源的百分比,控制加载模块对所述第二类资源进行加载或降级。
在一些实施例中,所述控制模块根据所述已加载的第二类资源的百分比,控制所述加载模块对所述第二类资源进行加载或降级包括:当所述已加载的第二类资源的百分比大于预设阈值时,控制所述加载模块继续对所述第二类资源进行加载,并控制所述加载模块对尚未加载的所述第二类资源进行静默加载。
在一些实施例中,所述分级模块还用于确定所述待加载资源中的第三类资源;所述第三类资源包括不阻碍核心业务流程,也不影响页面视觉体验和业务效果的页面资源。
在一些实施例中,所述加载模块还用于:当所述第二类资源被降级或者所述第二类资源加载完成后,再对所述第三类资源进行静默加载。
在一些实施例中,所述资源加载环境信息包括网络制式信息、网络速度信息和/或页面加载终端的性能信息。
本说明书实施例之一提供一种计算设备,该设备可以包括至少一个处理器和至少一个存储设备,存储设备用于存储指令,当至少一个处理器执行指令时,实现本说明书任一实施例所述的方法。
具体实施方式
为了更清楚地说明说明书一个或多个实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书一个或多个实施例应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本文使用的“系统”、“系统”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换词语。
如本说明书一个或多个实施例和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
说明书一个或多个实施例中使用了流程图用来说明根据本说明书一个或多个实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
本申请实施例涉及一种页面资源加载方法及系统,该页面资源加载方法及系统首先可以对页面资源进行分级,并可以在页面资源的加载过程中对资源的加载情况进行监控,然后可以根据分级结果和资源的加载情况选择对页面资源进行加载或降级,以减少用户的等待时间。本说明书一个或多个实施例可以应用于任意页面资源的加载,包括但不限于应用于支付宝年度账单、银行年度账单以及年度听歌报告等业务中,也可以应用于其他需要加载页面资源来与用户进行交互的业务中,例如信息浏览、在线测试、在线预约及页面广告等。本说明书实施例所涉及的页面可以包括用户终端(如PC、手机、平板等)上的网页页面、APP页面、小程序页面等。
图1是根据本说明书的一些实施例所示的页面资源加载方法的示例性流程图。具体的,页面资源加载方法100可以由处理设备执行。例如,页面资源加载方法可以以程序或指令的形式存储在存储装置(如页面加载终端的存储设备、存储器)中,当页面资源加载系统300(如处理设备)执行该程序或指令时,可以实现页面资源加载方法100。如图1所示,页面资源加载方法100可以包括:
步骤110,获取待加载资源信息。具体的,步骤110可以由获取模块310执行。
在一些实施例中,页面加载终端(如手机、平板或电脑等安装有操作系统的终端设备)可以从资源加载服务器获得待加载资源信息。在一些实施例中,所述待加载资源信息可以直接包括待加载资源,例如,文本、静态图片、动态图片、三维模型、视频、音频或字体文件等数据。在一些实施例中,待加载资源信息可以反映待加载资源的文件名、类型和/或网络地址等信息,如待加载的页面资源的列表。具体的,页面加载终端上的浏览器可以与资源加载服务器之间进行交互通信而得到待加载的页面资源的列表。页面加载终端可以基于列表信息向资源加载服务器下载相应的待加载资源。在一些实施例中,在获取待加载资源列表后,页面加载终端可以对该待加载资源进行预处理。例如,页面加载终端可以根据列表中各类资源的后缀预先判断资源的类型。又例如,页面加载终端可以根据列表中各类资源的类型对待加载资源进行分类。
步骤120,确定待加载资源中的第一类资源以及第二类资源。具体地,步骤120可以由分级模块320执行。
在一些实施例中,可以基于业务需要将待加载资源划分为不同队列的资源,以便基于加载条件对不同队列的待加载资源采用不同的加载策略,以提高加载效率。在一些实施例中,第一类资源可以包括:为保证核心业务流程所必须的页面资源。第一类资源可以理解为会阻塞业务流程的页面资源,或者保证页面能够正常渲染的页面资源。第一类资源也可以理解为保证业务流程正常进行所依赖的资源最小集。仅仅作为示例,第一类资源可以包括文本和/或静态图片。
在一些实施例中,第二类资源可以包括:不阻碍核心业务流程的用于提升页面视觉体验和业务效果的页面资源。第二类资源可以理解为不阻塞业务流程但处于程序的核心逻辑链路的页面资源。因此,第二类资源的加载可以保证页面较好的视觉体验和业务效果。仅仅作为示例,第二类资源可以包括动态图片和/或视频。
在一些实施例中,分级模块320可以基于待加载资源信息对待加载资源进行分类,以确定待加载资源中的第一类资源以及第二类资源。在一些实施例中,分级模块320可以根据待加载资源的文件名后缀确定待加载资源的类型,进而可以对待加载资源进行分级。
在一些实施例中,分级模块320还可以确定待加载资源中的第三类资源。第三类资源可以包括不阻碍核心业务流程,也不影响页面视觉体验和业务效果的页面资源。例如,第三类资源可以包括背景音乐和/或字体变换文件。在一些实施例中,第三类资源可以理解为:待加载资源中除去第一类资源和第二类资源以外的其他资源。
仅作为示例,在支付宝的年度账单展示页面中,第一类资源可以包括文本资源和静图资源等;第二类资源可以包括动图资源和视频资源;第三类资源可以包括背景音乐。当支付宝的年度账单的第一类资源加载完成后,用户即可正常浏览自己的年度账单,并且可以滑动和点击界面进行操作,但此时支付宝的年度账单所展示的内容较为单一。当第二类资源(动图资源和视频资源)被加载后,便可替换第一类资源进行展示,或者在第一类资源的基础上叠加展示,以进一步提高页面视觉体验和业务效果。而作为第三类资源的背景音乐,若被加载完成即可进行播放,进一步提升用户体验;若未被加载完成,也不影响用户查看自己的年度账单。
需要说明的是,本说明书中对不同队列资源的划分以及示例并不是唯一的,不应将其理解为对待加载资源队列划分的限制。
步骤130,对第一类资源进行加载。具体地,步骤130可以由加载模块330执行。
在一些实施例中,页面加载终端可以优先对待加载资源中的第一类资源进行加载。在一些实施例中,加载可以理解为向资源加载服务器请求、下载资源,并使用(如呈现、渲染等)。在一些实施例中,页面加载终端可以基于资源列表,优先向资源加载服务器请求第一类资源,以对第一类资源进行下载、渲染。例如,加载模块330(如页面加载终端上的浏览器)向资源加载服务器发送下载请求;资源加载服务器收到并响应下载请求,并将浏览器所请求的指定资源发送给浏览器,浏览器接收到请求的资源后对其进行渲染以显示。在一些实施例中,加载可以理解为资源下载到本地后,对资源使用(如呈现、渲染等)的过程。在一些实施例中,页面加载终端优先对获取的待加载资源进行渲染以显示。在加载第一类资源后,即可保证页面业务主流程顺利进行。
步骤140,获取资源加载监控信息和/或资源加载环境信息。具体地,步骤140可以由监控模块340执行。
在一些实施例中,监控模块340可以对待加载资源的加载进程或加载过程的用时进行监控以获取加载监控信息。在一些实施例中,资源加载监控信息可以包括资源加载时间、资源加载完成程度等一种或多种信息的任意组合。例如,资源加载监控信息可以包括加载第一类资源时的超时监控信息。在一些实施例中,可以对第一类资源的加载进程进行监控,以确定其用时情况,以及确定其是否超出预设的用时。又例如,资源加载监控信息可以包括加载第二类资源时的超时监控信息。再例如,资源加载监控信息可以包括第二类资源已加载的百分比。
在一些实施例中,监控模块340还可以获取页面加载终端的系统信息或者网络环境以获得资源加载环境信息。在一些实施例中,资源加载环境信息可以包括网络制式信息、网络速度信息、页面加载终端的性能信息等一种或多种的任意组合。在一些实施例中,加载环境监控单元343可以获取资源加载环境信息。通过获取网络制式信息(如CDMA、3G或4G等),加载环境监控单元343可以判断页面加载终端所处的网络环境。通过获取网络速度信息(如上传速度、下载速度等),加载环境监控单元343可以更直观地了解资源的加载速度。在一些实施例中,页面加载终端的性能信息可以包括终端的操作系统(如操作系统的类型、版本等)、运行内存(如内存大小)、处理器(如处理器类型)等一种或多种信息的任意组合。在一些实施例中,资源加载环境信息还可以包括用户(如终端使用者、业务设计人员等)手动设置的信息。例如,可以将用户自行定义的在页面加载过程中是否进行资源降级的设置信息作为资源加载环境信息。可以理解为,在本实施例中,可以向用户开放资源加载环境信息的配置权限,从而用户可以根据实际需要直接控制第二类资源的加载或降级。
步骤150,基于资源加载监控信息和/或资源加载环境信息,对第二类资源进行加载或降级。具体地,步骤150可以由控制模块350执行。
在一些实施例中,加载第二类资源可以是页面加载终端基于资源列表,向资源加载服务器请求第二类资源,以对第二类资源进行下载、渲染。在又一些实施例中,加载第二类资源可以是页面加载终端依据条件对已获取的待加载资源进行渲染以显示。关于加载的更多内容,可以参见步骤130的相关说明。在一些实施例中,对第二类资源进行降级可以包括不加载或部分加载。不加载该第二类资源可以理解为:跳过该第二类资源的加载,同时页面也不再对该第二类资源进行后续的渲染和展示;或者,取消该第二类资源的加载,并删除已经加载的第二类资源。对第二类资源进行部分加载可以理解为:在已加载部分第二类资源的基础上不再继续加载该第二类资源。例如,在第二类资源加载的过程中,由于资源加载环境出现变化(如网速变差)而难以进行后续加载,此时可以对第二类资源进行部分加载。在一些替代性实施例中,控制模块350可以根据情况(如用户设定、业务需求等)确定是否对已加载的部分第二类资源进行渲染和展示。例如,为了保证在对第二类资源进行降级的情况下各个用户显示的页面一致,控制模块350可以选择不显示已加载的部分第二类资源。
在一些实施例中,控制模块350可以基于资源加载环境信息(如网络制式信息、网络速度信息、页面加载终端的性能信息等),对第二类资源进行加载或降级。在一些实施例中,控制模块350可以根据预设的规则对第二类资源进行加载或降级。例如,当网络制式为2G、CDMA或3G网络时,控制模块350可以确定对第二类资源进行降级。又例如,当页面加载终端的操作系统的版本为安卓4.0以下版本时,控制模块350可以对第二类资源进行降级。再例如,当资源加载环境信息已被用户直接配置为降级,则控制模块350对第二类资源进行降级。
在一些实施例中,在第一类资源加载完成后,控制模块350可以基于资源加载监控信息和/或资源加载环境信息,控制对第二类资源进行加载或降级。例如,当监控到第一类资源加载进程的用时超过了预设的时间,则直接对第二类资源进行降级,如第一类资源加载进程未超时,则对第二类资源进行加载。在一些实施例中,在加载所述第二类资源的过程中,控制模块350可以基于加载第二类资源时的超时监控信息,对第二类资源进行加载或降级。关于对第二类资源进行加载或降级的更多细节可以参见图2及其相关描述。
步骤160,对第三类资源进行静默加载。具体的,步骤160可以由加载模块330执行。
在本发明的实施例中,当第二类资源被降级或者第二类资源加载完成后,加载模块130再对第三类资源进行静默加载。静默加载可以理解为一种在后台自动进行的,不影响交互的,用户无感知的加载方式。关于加载的更多内容可以参见步骤130的相关说明。由于第三类资源是否加载或是否加载成功对业务流程并无影响,因此可以在第一类资源加载完成后或者在第二类资源加载或降级完成后选择使用静默加载的方式对第三类资源进行加载。例如,页面的背景音乐可以作为第三类资源进行静默加载。背景音乐加载后能在一定程度上提高用户体验,但是背景音乐是否成功加载、何时加载完成都不会影响用户对界面的浏览、滑动和点击,也不影响页面视觉体验和业务效果。又例如,字体变换文件可以作为第三类资源进行静默加载。字体变换文件加载后能在一定程度上提高用户体验(如可以向用户展示更生动的字体);但是即便没有字体变换文件,页面也能够通过基本字体向用户进行正常的展示。
应当注意的是,上述有关流程100的描述仅仅是为了示例和说明,而不限定本申请的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程100进行各种修正和改变。然而,这些修正和改变仍在本申请的范围之内。例如,步骤140中获取资源加载环境信息的操作可以是在步骤130完成后执行,也可以是在步骤130执行之前执行,还可以与步骤130同时执行。又例如,步骤160可以省略,分级模块320也可以不确定出待加载资源中的第三类资源。
图2是根据本说明书的一些实施例所示的页面资源加载或降级方法的示例性流程图。具体的,页面资源加载或降级方法200可以由页面资源加载系统300(如控制模块350)执行。如图2所示,页面资源加载或降级方法200可以包括:
步骤151,判断加载第一类资源时是否超时。具体的,步骤151可以由超时监控单元341执行。
在一些实施例中,在步骤140中,资源加载监控信息可以包括加载第一类资源时的超时监控信息。在步骤151中,超时监控单元341可以根据该超时监控信息判断加载第一类资源时是否超时。在一些实施例中,可以获取第一类资源从开始加载到完成加载的用时。超时监控单元341可以根据该第一类资源加载的用时是否大于某预设时长(如1秒、2秒、3秒等),从而判断加载第一类资源时是否超时。在一些实施例中,加载第一类资源时的超时监控信息可以为:第一类资源在预设时间段(如0.5秒、1秒、2秒、3秒等)内是否完成加载。若第一类资源在该预设时间段内完成加载,则超时监控单元341可以判断加载第一类资源时没有超时;否则,超时监控单元341可以判断加载第一类资源时超时。
当加载第一类资源未超时时,系统300可以执行步骤152。在步骤152中,加载模块330可以对第二类资源进行加载。
当加载第一类资源超时时,系统300可以执行步骤153。在步骤153中,控制模块350可以对第二类资源进行降级。例如,直接跳过加载第二类资源,直接执行步骤160。
步骤154,判断加载第二类资源时是否超时。具体的,步骤154可以由超时监控单元341执行。
在一些实施例中,在加载第二类资源时可以对第二类资源的加载情况进行监控;即资源加载监控信息可以包括加载第二类资源时的超时监控信息。在一些实施例中,加载第二类资源时的超时监控信息可以为:第二类资源在预设时间段(如0.5秒、1秒、2秒、3秒等)内是否完成加载。若第二类资源在该预设时间段内完成加载,则超时监控单元341可以判断加载第二类资源时没有超时;否则,超时监控单元341可以判断加载第二类资源时超时。在一些实施例中,加载第二类资源时的超时监控信息可以为:第二类资源在预设时间(如0.5秒、1秒、2秒等)内是否加载完预设比例(如30%、50%、70%等)或者预设大小(如1Mb、5Mb、10Mb等);若是,则超时监控单元341可以判断加载第二类资源时没有超时;若否,则超时监控单元341可以判断加载第二类资源时超时。
当加载第二类资源超时时,系统300可以执行步骤155。在步骤155中,加载百分比计算单元342可以确定已加载的第二类资源的百分比。该已加载的第二类资源的百分比可以理解为:已加载的第二类资源的大小占全部第二类资源的大小的百分比。
当加载第二类资源未超时时,系统300可以执行步骤156。在步骤156中,加载模块330可以继续对第二类资源进行加载。在一些实施例中,当第二类资源加载完成时,系统可以继续执行步骤160。
步骤157,判断已加载的第二类资源的百分比是否大于预设阈值。具体的,步骤157可以由加载百分比计算单元342执行。在一些实施例中,该预设阈值可以为30%、50%或70%等。在一些实施例中,系统300可以根据第二类资源的具体情况(如第二类资源的大小、格式、加载方式等)、超时监控信息和业务需求(如允许用户等待的最长时间)等来设置和/或调整该预设阈值。
当已加载的第二类资源的百分比大于预设阈值时,系统300可以执行步骤158。在步骤158中,加载模块330可以继续对第二类资源进行加载,并对尚未加载的第二类资源进行静默加载。静默加载可以理解为一种用户无法感知加载过程的加载方式。
当已加载的第二类资源的百分比小于或等于预设阈值时,系统可以执行步骤159。在步骤159中,控制模块350可以对第二类资源进行降级。例如,可以放弃未加载的第二类资源。在此实施例中,系统300(如控制模块350)可以进一步根据实际需要(如内存情况)选择是否删除已加载的部分第二类资源。在一些实施例中,控制模块350还可以根据不同情况确定是否对已加载的部分第二类资源进行渲染和展示。例如,当至少部分已加载的第二类资源能够独立使用时,控制模块350可以对该能够独立使用的部分第二类资源进行渲染和展示。
在一些实施例中,当第二类资源被降级或者第二类资源加载完成后,系统可以执行步骤160。
应当注意的是,上述有关流程200的描述仅仅是为了示例和说明,而不限定本申请的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程200进行各种修正和改变。然而,这些修正和改变仍在本申请的范围之内。例如,步骤155的启动不依赖于步骤154的执行结果,即系统300可以同时监控加载第二类资源时是否超时以及计算已加载的第二类资源的百分比。再例如,步骤155及步骤157可以省略。即当加载第二类资源超时时,系统300可以直接对第二类资源进行降级,而不必须判断已加载的第二类资源的占比。
图3是根据本说明书的一些实施例所示的页面资源加载系统的模块图。如图3所示,该页面资源加载系统300可以包括获取模块310、分级模块320、加载模块330、监控模块340和控制模块350。
获取模块310可以用于获取页面资源加载过程中的数据和/或信息。例如,获取模块310可以用于获取待加载的资源。在一些实施例中,待加载资源可以包括文字、图片、视频及音乐等各类资源。
分级模块320可以用于对待加载资源进行分级。例如,分级模块320可以用于确定待加载资源中的第一类资源以及第二类资源。在一些实施例中,分级模块320还可以确定待加载资源中的第三类资源。
加载模块330可以用于对页面资源进行加载。例如,加载模块330可以用于对第一类资源进行加载。又例如,加载模块330可以对第二类资源进行加载。再例如,加载模块330可以对第三类资源进行静默加载。
监控模块340可以用于对资源加载过程及资源加载环境进行监控。例如,监控模块340可以用于获取资源加载监控信息和/或资源加载环境信息。在一些实施例中,监控模块340可以进一步包括超时监控单元341、加载百分比计算单元342和加载环境监控单元343。
超时监控单元341可以用于监控资源加载过程的超时情况。例如,超时监控单元341可以用于判断加载第一类资源时是否超时。又例如,超时监控单元341可以用于判断加载第二类资源时是否超时。
加载百分比计算单元342可以用于确定已加载的第二类资源的百分比。在一些实施例中,加载百分比计算单元342还可以用于判断已加载的第二类资源的百分比是否大于预设阈值。
加载环境监控单元343可以用于监控资源加载环境信息。在一些实施例中,资源加载环境信息可以包括网络制式信息、网络速度信息、页面加载终端的性能信息等一种或多种的任意组合。
控制模块350可以用于处理页面资源加载过程中的数据和/或信息。在一些实施例中,控制模块350可以基于资源加载监控信息和/或资源加载环境信息,控制加载模块对第二类资源进行加载或降级。例如,在第一类资源加载完成后,控制模块350可以基于资源加载监控信息和/或资源加载环境信息,控制对第二类资源进行加载或降级。又例如,在加载所述第二类资源的过程中,控制模块350可以基于加载第二类资源时的超时监控信息,对第二类资源进行加载或降级。
应当理解,图3所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书一个或多个实施例的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
需要注意的是,以上对于页面资源加载系统及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。例如,获取模块310和加载模块330可以组合成单个模块,该单个模块可以同时用于执行获取和加载的操作。又例如,控制模块350可以进一步包括自动控制单元和手动控制单元。诸如此类的变形,均在本说明书的保护范围之内。
本说明书实施例可能带来的有益效果包括但不限于:(1)能够对页面资源进行分级,并按照合理的顺序先后加载;(2)能够结合页面资源加载的网络环境和/或页面加载终端的性能来灵活确定第二类资源的加载或降级,从而提升业务的兼容性、流畅性及可用性;(3)能够避免用户过长时间等待,提升用户体验。需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书请的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本说明书的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、系统或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。
本说明书各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、Visual Basic、Fortran 2003、Perl、COBOL 2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本说明书处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
最后,应当理解的是,本说明书中实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。