本申请涉及数据处理,特别涉及一种资源包下载的方法及装置。
背景技术:
1、手机客户端开发通常可以采用原生开发或混合开发模式,原生开发基于特定平台的本地语言编写应用程序,能够保证流畅性和响应速度,混合开发则可以借助通用的web技术,实现跨平台,并且减少客户端升级频率。
2、现有技术中,在混合开发模式下,客户端的业务数据和页面资源都依赖网络请求从服务端获取,如果遇到网络信号差等弱网场景,通信时延会变大,客户端页面加载缓慢,在较长一段白屏显示后才能加载出来。下载资源包也会占用较多网络带宽,影响正常的业务请求。因此,如何既满足客户端开发需求,又不影响用户的业务请求,成为了一个亟需解决的问题。
技术实现思路
1、基于上述问题,本申请提供了一种资源包下载的方法及装置,以既满足客户端开发需求,又不影响用户的业务请求。
2、本申请公开了一种资源包下载的方法,所述方法包括:
3、当根据预设网络信号状态判断出当前网络信号状态为弱网状态时,将资源包的下载任务加入队列,并设置所述下载任务的优先级;
4、响应用户打开页面的请求,根据所述页面的资源下载状态、所述队列和所述优先级进行所述资源包的下载;
5、当根据预设网络信号状态判断出当前网络信号状态为非弱网状态时,下载所述资源包,同时响应所述请求,加载所述页面资源。
6、可选的,在判断出当前网络信号状态为弱网状态之前,所述方法还包括:
7、发起连接服务器的请求,记录tcp建链状态、tcp连接握手时延和对所述请求的请求响应时延;
8、取预设次数的历史记录,计算tcp建链成功率、平均tcp连接握手时延和平均请求响应时延;
9、当所述tcp建链成功率低于预设成功率、所述平均tcp连接握手时延高于预设时延或所述平均请求响应时间高于预设时间时,判断所述当前网络信号状态为弱网状态;
10、当所述tcp建链成功率不低于预设成功率、所述平均握手时延不高于预设时延且所述平均请求响应时间不高于预设时间时,判断所述当前网络信号状态为非弱网状态。
11、可选的,所述响应用户打开页面的请求,根据所述页面的资源下载状态、所述队列和所述优先级进行所述资源包的下载,包括:
12、判断所述资源是否已下载;
13、若是,则加载本地的所述资源,同时根据所述队列和所述优先级进行所述资源包的下载;
14、若否,则先加载在线的所述资源,再根据所述队列和所述优先级进行所述资源包的下载。
15、可选的,所述先加载在线的所述资源,再根据所述队列和所述优先级进行所述资源包的下载,包括:
16、加载在线的所述资源;
17、将所述队列中所有下载任务的优先级加一;
18、根据由大到小的优先级数值,依次完成对应的下载任务,以下载对应的资源包。
19、可选的,所述资源包包括重要性比第二资源包高的第一资源包,所述将资源包的下载任务加入队列,并设置所述下载任务的优先级,包括:
20、根据所述重要性,将所述第一资源包的下载任务的优先级设置为1,将所述第二资源包的下载任务的优先级设置为0;
21、或,分别获取所述第一资源包和所述第二资源包的下载请求时间,将所述下载请求时间在先的资源包的下载任务的优先级设置为1,将所述下载请求时间在后的资源包的下载任务的优先级设置为0。
22、基于上述一种资源包下载的方法,本申请还公开了一种资源包下载的装置,包括:弱网判断单元、弱网下载单元和非弱网下载单元;
23、所述弱网判断单元,用于当根据预设网络信号状态判断出当前网络信号状态为弱网状态时,将资源包的下载任务加入队列,并设置所述下载任务的优先级;
24、所述弱网下载单元,用于响应用户打开页面的请求,根据所述页面的资源下载状态、所述队列和所述优先级进行所述资源包的下载;
25、所述非弱网下载单元,用于当根据预设网络信号状态判断出当前网络信号状态为非弱网状态时,下载所述资源包,同时响应所述请求,加载所述页面资源。
26、可选的,所述装置还包括:
27、连接测试单元,用于发起连接服务器的请求,记录tcp建链状态、tcp连接握手时延和对所述请求的请求响应时延;
28、网络状态获取单元,用于取预设次数的历史记录,计算tcp建链成功率、平均tcp连接握手时延和平均请求响应时延;
29、弱网状态判断单元,用于当所述tcp建链成功率低于预设成功率、所述平均tcp连接握手时延高于预设时延或所述平均请求响应时间高于预设时间时,判断所述当前网络信号状态为弱网状态;
30、非弱网状态判断单元,用于当所述tcp建链成功率不低于预设成功率、所述平均握手时延不高于预设时延且所述平均请求响应时间不高于预设时间时,判断所述当前网络信号状态为非弱网状态。
31、可选的,所述弱网下载单元,包括:
32、资源判断子单元,用于判断所述资源是否已下载;
33、本地加载子单元,用于加载本地的所述资源,同时根据所述队列和所述优先级进行所述资源包的下载;
34、在线加载子单元,用于先加载在线的所述资源,再根据所述队列和所述优先级进行所述资源包的下载。
35、可选的,所述在线加载子单元,包括:
36、资源加载子单元,用于加载在线的所述资源;
37、优先级变更子单元,用于将所述队列中所有下载任务的优先级加一;
38、下载子单元,用于根据由大到小的优先级数值,依次完成对应的下载任务,以下载对应的资源包。
39、可选的,所述资源包包括重要性比第二资源包高的第一资源包,所述弱网判断单元,包括:
40、重要排序子单元,用于根据所述重要性,将所述第一资源包的下载任务的优先级设置为1,将所述第二资源包的下载任务的优先级设置为0;
41、时间排序子单元,用于或,分别获取所述第一资源包和所述第二资源包的下载请求时间,将所述下载请求时间在先的资源包的下载任务的优先级设置为1,将所述下载请求时间在后的资源包的下载任务的优先级设置为0。
42、本申请公开了一种资源包下载的方法及装置。将网络信号状态分为弱网和非弱网状态,在弱网状态先将资源包的下载任务加入队列,并设置下载任务的优先级。响应用户打开页面的请求,根据页面的资源下载状态、队列和优先级进行资源包的下载。在非弱网状态可以同时下载资源包和加载所述页面资源。在混合开发模式下,可以在信号弱时优先响应用户的业务请求,不占用网络带宽下载资源包,当信号强时再下载资源包来完成开发需求。从而实现高效利用网络带宽,既满足客户端开发需求,又不影响业务请求。
1.一种资源包下载的方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,在判断出当前网络信号状态为弱网状态之前,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,所述响应用户打开页面的请求,根据所述页面的资源下载状态、所述队列和所述优先级进行所述资源包的下载,包括:
4.根据权利要求3所述的方法,其特征在于,所述先加载在线的所述资源,再根据所述队列和所述优先级进行所述资源包的下载,包括:
5.根据权利要求1所述的方法,其特征在于,所述资源包包括重要性比第二资源包高的第一资源包,所述将资源包的下载任务加入队列,并设置所述下载任务的优先级,包括:
6.一种资源包下载的装置,其特征在于,包括:弱网判断单元、弱网下载单元和非弱网下载单元;
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
8.根据权利要求6所述的装置,其特征在于,所述弱网下载单元,包括:
9.根据权利要求8所述的装置,其特征在于,所述在线加载子单元,包括:
10.根据权利要求6所述的装置,其特征在于,所述资源包包括重要性比第二资源包高的第一资源包,所述弱网判断单元,包括: