1.本技术涉及数据下载技术领域,更具体地,涉及一种应用程序的下载方法、装置、服务器以及存储介质。
背景技术:2.随着科学技术的发展,电子设备的使用越来越广泛,功能越来越多,已经成为人们日常生活中的必备之一。目前,电子设备可以从服务器下载应用程序,但是,受网速的影响,应用程序的下载速度较慢,需要等待较长的时间才能运行,造成用户的体验不佳。
技术实现要素:3.鉴于上述问题,本技术提出了一种应用程序的下载方法、装置、服务器以及存储介质,以解决上述问题。
4.第一方面,本技术实施例提供了一种应用程序的下载方法,所述方法包括:接收当前电子设备发送的针对应用程序的下载请求,其中,所述下载请求用于指示下载所述应用程序的应用程序包文件,其中,所述应用程序包文件由多个文件块组成;获取所述多个文件块对应的下载顺序,其中,所述多个文件块对应的下载顺序根据多个参考电子设备在运行所述应用程序时针对所述多个文件块的运行参数确定;按照所述下载顺序向所述当前电子设备下发所述多个文件块。
5.第二方面,本技术实施例提供了一种应用程序的下载装置,所述装置包括:下载请求接收模块,用于接收当前电子设备发送的针对应用程序的下载请求,其中,所述下载请求用于指示下载所述应用程序的应用程序包文件,其中,所述应用程序包文件由多个文件块组成;下载顺序获取模块,用于获取所述多个文件块对应的下载顺序,其中,所述多个文件块对应的下载顺序根据多个参考电子设备在运行所述应用程序时针对所述多个文件块的运行参数确定;文件块下发模块,用于按照所述下载顺序向所述当前电子设备下发所述多个文件块。
6.第三方面,本技术实施例提供了一种电子设备,包括存储器和处理器,所述存储器耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时所述处理器执行上述方法。
7.第四方面,本技术实施例提供了一种计算机可读取存储介质,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述方法。
8.本技术实施例提供的应用程序的下载方法、装置、服务器以及存储介质,接收当前电子设备发送的针对应用程序的下载请求,其中,该下载请求用于指示下载应用程序的应用程序包文件,其中,应用程序包文件由多个文件块组成,获取多个文件块对应的下载顺序,其中,多个文件块对应的下载顺序根据多个参考电子设备在运行应用程序时针对多个文件块的运行参数确定,按照下载顺序向当前电子设备下发多个文件块,从而通过根据多个参考电子设备针对应用程序的多个文件块的运行参数,确定该多个文件块的下载顺序,
以按该下载顺序依次下发该多个文件块至当前电子设备,从而可以减少应用程序的运行等待时间,提升用户的使用体验。
附图说明
9.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
10.图1示出了可用于本身实施例提供的应用程序的下载方法的应用环境示意图;
11.图2示出了本技术一实施例提供的应用程序的下载方法的流程示意图;
12.图3示出了本技术一实施例提供的应用程序的下载方法的流程示意图;
13.图4示出了本技术的图3所示的应用程序的下载方法的步骤s220的流程示意图;
14.图5示出了本技术的图4所示的应用程序的下载方法的步骤s222的流程示意图;
15.图6示出了本技术一实施例提供的应用程序的下载方法的流程示意图;
16.图7示出了本技术一实施例提供的应用程序的下载方法的流程示意图;
17.图8示出了本技术一实施例提供的应用程序的下载装置的模块框图;
18.图9示出了本技术实施例用于执行根据本技术实施例的应用程序的下载方法的电子设备的框图;
19.图10示出了本技术实施例的用于保存或者携带实现根据本技术实施例的应用程序的下载方法的程序代码的存储单元。
具体实施方式
20.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。
21.其中,电子设备可以从服务器中下载应用程序,在下载完成后运行该应用程序。目前,针对应用程序的更新一般采用增量更新的方式,可以现在服务器进行差分,即,在应用程序的老版本的应用程序包(android application package,apk)文件和新版本的应用程序包文件中,差分出这两个应用程序包文件之间不同的部分,得到一个补丁(patch)文件。例如,若老版本的应用程序包文件的大小是300m,新版本的应用程序包文件的大小是400m,那么,在一般情况下,差分出来的补丁文件的大小是100m左右。然后,在电子设备的客户端下载该补丁文件,将其与老版本的应用程序包文件合并,得到新版本的应用程序包文件,提示用户对该新版本的应用程序包文件进行安装。
22.目前的增量更新方式,能够有效地解决应用程序在更新时,由于网络带宽低,导致更新时间较长的问题,但是,这种方式在应用程序安装时仍然需要下载一次完整的应用程序包文件,无法缩短下载到使用中间的等待时间。此外,这种方式还需要在电子设备的本地保存一份上一次安装的应用程序包文件,需要额外占用电子设备的存储空间。另外,这种方式采用老版本的应用程序包文件与补丁文件合成新版本的应用程序包文件,当新旧两个版本的应用程序包文件差异较大时,导致补丁文件也过大,则这种方式对于下载时间的节省效果不明显。
23.针对上述技术问题,发明人经过长期的研究发现,并提出了本技术实施例提供的应用程序的下载方法、装置、服务器以及存储介质,通过根据多个参考电子设备针对应用程序的多个文件块的运行参数,确定该多个文件块的下载顺序,以按该下载顺序依次下发该多个文件块至当前电子设备,从而可以减少应用程序的运行等待时间,提升用户的使用体验。其中,具体的应用程序的下载方法在后续的实施例中进行详细的说明。
24.下面将针对可用于本技术实施例提供的应用程序的下载方法的应用环境进行说明。
25.请参阅图1,图1示出了可用于本技术实施例提供的应用程序的下载方法的应用环境示意图。如图1所示,其包括服务器100、当前电子设备200以及多个参考电子设备300。其中,该服务器100与当前电子设备200通信连接,以实现服务器100与当前电子设备200之间的数据交互,该服务器100分别与多个参考电子设备300连接,以实现服务器100分别与多个参考电子设备300之间的数据交互。
26.其中,该服务器100可以包括传统服务器、云服务器等,在此不做限定。该当前电子设备200可以包括智能手机、平板电脑、穿戴式电子设备等可以运行应用程序的电子设备,在此不做限定。该参考电子设备300可以包括智能手机、平板电脑、穿戴式电子设备等可以运行应用程序的电子设备,在此不做限定。
27.请参阅图2,图2示出了本技术一实施例提供的应用程序的下载方法的流程示意图。该方法用于通过根据多个参考电子设备针对应用程序的多个文件块的运行参数,确定该多个文件块的下载顺序,以按该下载顺序依次下发该多个文件块至当前电子设备,从而可以减少应用程序的运行等待时间,提升用户的使用体验。在具体的实施例中,该应用程序的下载方法应用于如图8所示的应用程序的下载装置300以及配置有应用程序的下载装置300的服务器100(图9)。下面将以服务器为例,说明本实施例的具体流程,当然,可以理解的,本实施例所应用的服务器可以包括云服务器、传统服务器等,在此不做限定。下面将针对图2所示的流程进行详细的阐述,所述应用程序的下载方法具体可以包括以下步骤:
28.步骤s110:接收当前电子设备发送的针对应用程序的下载请求,其中,所述下载请求用于指示下载所述应用程序的应用程序包文件,其中,所述应用程序包文件由多个文件块组成。
29.其中,应用程序对应有应用程序包文件,该应用程序包文件可以由多个文件块组成。其中,该应用程序包文件可以按照内存分页顺序编号,其中,内存分页指的是把物理内存分割成一个个大小一样的内存块(例如linux默认为4k),为了减少内存碎片(提升内存使用率)和控制每次交换内存的大小(不用交互整个应用程序,以防止内存交互的过程中卡住)。
30.作为一种方式,服务器中可以存储有应用程序的应用程序包apk文件,若当前电子设备需要安装或者运行应用程序,则可以从服务器中下载该应用程序的应用程序包文件。在一些实施方式中,若当前电子设备需要安装或者运行应用程序,则电子设备可以生成用于指示下载该应用程序的应用程序包文件的下载请求,并将该下载请求发送至给服务器,相应地,服务器可以接收该当前电子设备发送的该下载请求。
31.在一些实施方式中,当前电子设备可以自动生成该下载请求,可以基于用户的触发生成该下载请求,也可以基于环境的触发生成该下载请求。例如,若该当前电子设备自动
生成该下载请求,则该当前电子设备可以在当前时间达到预设时间时生成该下载请求,该当前电子设备可以在显示某个界面时生成该下载请求。又例如,若该当前电子设备基于用户的触发生成该下载请求,则该当前电子设备可以在检测到用户输入的语音指令时生成该下载请求,该当前电子设备可以在检测到用户输入的触控指令时生成该下载请求,该当前电子设备也可以在检测到用户输入的文本指令时生成该下载请求。再例如,若该当前电子设备基于环境的触发生成该下载请求,则该当前电子设备可以在检测到环境温度达到预设温度时生成该下载请求,该当前电子设备可以在检测到环境亮度达到预设亮度时生成该下载请求等,在此不做限定。
32.步骤s120:获取所述多个文件块对应的下载顺序,其中,所述多个文件块对应的下载顺序根据多个参考电子设备在运行所述应用程序时针对所述多个文件块的运行参数确定。
33.在本实施例中,服务器中可以生成并存储有多个文件块对应的下载顺序。基于此,该服务器在接收到下载请求后,则可以响应于该下载请求,从其本地获取该多个文件块对应的下载顺序。
34.在一些实施方式中,该多个文件块对应的下载顺序根据多个参考电子设备在运行该应用程序时,针对该多个文件块的运行参数确定。其中,参考电子设备的数量以能确定出针对多个文件块的运行参数为目的,具体的数量在此不做限定。
35.作为一种方式,服务器可以检测该多个参考电子设备中的每个参考电子设备,从下载该应用程序的应用程序包文件到运行该应用程序的应用程序包文件的整个过程,以获取每个参考电子设备针对该应用程序的多个文件块的运行参数,然后基于多个参考电子设备以及多个参考电子设备中的每个参考电子设备针对多个文件块的运行参数,确定该多个文件块的下载顺序并存储。
36.作为又一种方式,多个参考电子设备中的每个参考电子设备,从下载该应用程序的应用程序包文件到运行该应用程序的应用程序包文件的整个过程中,均可以检测自己针对该多个文件块的运行参数,然后多个参考电子设备分别将其检测到各自针对该多个文件块的运行参数上传至服务器,服务器再基于多个参考电子设备以及多个参考电子设备中的每个参考电子设备针对多个文件块的运行参数,确定该多个文件块的下载顺序并存储。
37.步骤s130:按照所述下载顺序向所述当前电子设备下发所述多个文件块。
38.在本实施例中,服务器在获得多个文件块对应的下载顺序后,则可以按照该下载顺序向当前电子设备下发该多个文件块。即,服务器可以按照该下载顺序依次向电子设备下发该多个文件块,例如,假设该多个文件块包括文件块1、文件2、文件块3以及文件块4,并且文件块1、文件2、文件块3以及文件块4的下载顺序依次是:文件块3-文件块2-文件块4-文件块1,则服务器可以依次向当前电子设备下发文件块3、文件块2、文件块4、文件块1。
39.在一些实施方式中,由于服务器按该下载顺序向当前电子设备下发该多个文件块,相应地,当前电子设备也会按照该下载顺序接收该多个文件块,因此,该当前电子设备可以安装并运行先接收到的文件块,基于此,当前电子设备可以边下载应用程序包文件边运行先接收到的文件块,加快应用程序的启动时间,并且,由于多个文件块的下载顺序是根据多个参考电子设备在运行应用程序时针对多个文件块的运行参数确定,所以,当前电子设备先接收并运行的文件块更贴近用户的使用习惯,即,可以实现用户“边下边玩”的效果。
40.其中,通过上述方式,当前电子设备运行该应用程序的条件,可以放宽到不用一次性的接收完整的应用程序包文件,从而可以大幅度的缩短从下载安装到运行该应用程序的等待时间。并且,通过上述方式,当前电子设备先接收到并运行的文件块是与参考电子设备针对多个文件块的运行参数相适配的,当前电子设备优先运行的文件块更符合用户的使用需求,从而可以提升用户的使用效果。
41.本技术一实施例提供的应用程序的下载方法,接收当前电子设备发送的针对应用程序的下载请求,其中,该下载请求用于指示下载应用程序的应用程序包文件,其中,应用程序包文件由多个文件块组成,获取多个文件块对应的下载顺序,其中,多个文件块对应的下载顺序根据多个参考电子设备在运行应用程序时针对多个文件块的运行参数确定,按照下载顺序向当前电子设备下发多个文件块,从而通过根据多个参考电子设备针对应用程序的多个文件块的运行参数,确定该多个文件块的下载顺序,以按该下载顺序依次下发该多个文件块至当前电子设备,从而可以减少应用程序的运行等待时间,提升用户的使用体验。
42.请参阅图3,图3示出了本技术一实施例提供的应用程序的下载方法的流程示意图。该方法应用于上述服务器,下面将针对图3所示的流程进行详细的阐述,所述应用程序的下载方法具体可以包括以下步骤:
43.步骤s210:获取所述多个参考电子设备在运行所述应用程序时,针对所述多个文件块的运行参数。
44.在一些实施方式中,服务器在接收到电子设备针对应用程序的下载指令时,可以检测其本地是否生成并存储有该应用程序的应用程序包文件对应的多个文件块的下载顺序。其中,当该服务器中未生成或未存储有该应用程序的应用程序包文件的多个文加块的下载顺序时,则可以将该电子设备确定为参考电子设备,并将该应用程序的应用程序包文件直接发送给该参考电子设备,以及检测该参考电子设备针对该应用程序的应用程序包文件的多个文件块的运行参数。其中,服务器在检测到该参考电子设备针对多个文件块的运行参数后,则可以记录该参加电子设备针对该多个文件块的运行参数,并将其作为一个样本。
45.作为一种方式,当该样本的数量不足够时,则服务器可以在接收到电子设备针对该应用程序的下载指令时,继续将该电子设备作为参考电子设备,并将该应用程序的应用程序包文件直接发送给该参考电子设备,以及检测该参考电子设备针对该应用程序的应用程序包文件的多个文件块的运行参数。
46.作为又一种方式,当该样本的数量足够(多个参考电子设备)时,则服务器可以触发进行运行参数的预测。即,当服务器检测到多个参考电子设备中的每个参考电子设备针对该多个文件块的运行参数时,则服务器可以对多个参考电子设备针对该多个文件的运行参数进行统计,获得一个符合大多数用户使用场景的预测结果。在一些实施方式中,当服务器检测到多个参考电子设备中的每个参考电子设备针对该多个文件块的运行参数时,则可以对多个参考电子设备针对该多个文件块的运行参数进行统计,获得多个参考电子设备在运行该应用程序时,针对该多个文件块的运行参数。
47.在一些实施方式中,该运行参数可以包括运行顺序和运行频率中的至少一种。
48.其中,当该运行参数为运行顺序时,则可以获取多个参考电子设备在运行该应用程序,针对多个文件块的运行顺序。作为一种方式,当该服务器中未生成或未存储有该应用
程序的应用程序包文件的多个文加块的下载顺序时,则可以将发送下载请求的电子设备确定为参考电子设备,并将该应用程序的应用程序包文件直接发送给该参考电子设备,以及检测该参考电子设备针对该应用程序的应用程序包文件的多个文件块的运行顺序。其中,服务器在检测到该参考电子设备针对多个文件块的运行顺序后,则可以记录该参加电子设备针对该多个文件块的运行顺序,并将其作为一个样本。例如,假设该多个文件块包括文件块1、文件块2、文件块3以及文件块4,且参考电子设备依次按照文件块3、文件块2、文件块4以及文件块1的顺序运行该4个文件块,则可以确定该4个文件块对应的运行顺序为文件块3-文件块2-文件块4-文件块1。
49.其中,当该运行参数为运行频率时,则可以获取多个参考电子设备在运行该应用程序,针对多个文件块的运行频率。作为一种方式,当该服务器中未生成或未存储有该应用程序的应用程序包文件的多个文加块的下载顺序时,则可以将发送下载请求的电子设备确定为参考电子设备,并将该应用程序的应用程序包文件直接发送给该参考电子设备,以及检测该参考电子设备针对该应用程序的应用程序包文件的多个文件块的运行频率。其中,服务器在检测到该参考电子设备针对多个文件块的运行频率后,则可以记录该参加电子设备针对该多个文件块的运行频率,并将其作为一个样本。例如,假设该多个文件块包括文件块1、文件块2、文件块3以及文件块4,且参考电子设备在预设时间段内运行文件块3共10次、文件块2共8次、文件块4共6次以及文件块1共3次,则可以确定该4个文件块对应的运行频率为文件块3-文件块2-文件块4-文件块1。
50.步骤s220:基于所述运行参数对所述多个文件块进行排序,获得所述多个文件块对应的下载顺序。
51.在一些实施方式中,服务器在获取该多个参考电子设备在运行应用程序时,针对该多个文件块的运行参数后,则可以基于该运行参数对多个文件块进行排序,以获得该多个文件块对应的下载顺序。
52.作为一种方式,当该运行参数包括运行顺序时,则服务器在获取该多个参考电子设备在运行应用程序时,针对该多个文件块的运行顺序后,则可以基于该运行顺序对多个文件块进行排序,获得该多个文件块的下载顺序。其中,下载顺序可以包括:按照运行顺序从前到后的顺序。
53.作为又一种方式,当该运行参数包括运行频率时,则服务器在获取该多个参考电子设备在运行应用程序时,针对该多个文件块的运行频率后,则可以基于该运行频率对多个文件块进行排序,获得该多个文件块的下载顺序。其中,下载顺序可以包括:按照运行频率从高到低的顺序。
54.作为再一种方式,当该运行参数包括运行频率以及运行顺序时,则服务器在获取该多个参考电子设备在运行应用程序时,针对该多个文件块的运行频率和运行顺序后,则可以基于该运行顺序和运行频率对多个文件块进行排序,获得该多个文件块的下载顺序。其中,下载顺序可以包括:按照运行顺序从前到后且运行频率从高到低的顺序。例如,若文件块1的运行顺序在文件块2的运行顺序之前,且该文件2的运行频率略高于文件块1的运行频率,则该文件块1的下载顺序排在文件块2之前,若文件块1的运行顺序在文件块2的运行顺序之前,且该文件2的运行频率远高于文件块1的运行频率,则该文件块1的下载顺序排在文件块2之后。
55.请参阅图4,图4示出了本技术的图3所示的应用程序的下载方法的步骤s220的流程示意图。下面将针对图4所示的流程进行详细的阐述,所述应用程序的下载方法具体可以包括以下步骤:
56.步骤s221:基于所述运行参数对所述多个文件块进行分类,获得所述多个文件块各自对应的类别。
57.在一些实施方式中,多个文件块的类别可以包括:安装必须块(required blocks)、运行必须块(runtime blocks)以及除去安装必须块和运行必须块后剩余的块(remaining blocks)。因此,在本实施例中,在获得多个文件块的运行参数后,则可以基于该多个文件块的运行参数对多个文件块进行分类,以获得该多个文件块各自对应的类别。具体地,在获得多个文件块的运行参数后,可以基于该多个文件块的运行参数,对多个文件块是否属于required blocks、runtime blocks或者remaining blocks进行判断,以获得该多个文件块各自是的类别是属于required blocks、runtime blocks,还是remaining blocks。
58.步骤s222:基于所述多个文件块各自对应的类别,对所述多个文件块进行排序,获得所述多个文件块对应的下载顺序。
59.在本实施例中,在获得多个文件块各自对应的类别后,则可以基于多个文件块各自对应的类别,对多个文件块进行排序,以获得多个文件块的下载顺序。在一些实施方式中,在获得多个文件块各自对应的类别后,可以将多个文件块中类别属于required blocks和runtime blocks的文件块的下载顺序靠前,将多个文件块中类别属于remaining blocks的文件块的下载顺序靠后,以使得当前电子设根据该下载顺序可以优先下载到该应用程序包文件中的required blocks和runtime blocks,从而实现当前电子设备对该应用程序的边下载边运行的效果。
60.请参阅图5,图5示出了本技术的图4所示的应用程序的下载方法的步骤s222的流程示意图。下面将针对图5所示的流程进行详细的阐述,所述应用程序的下载方法具体可以包括以下步骤:
61.步骤s2221:基于所述多个文件块各自对应的类别,从所述多个文件块中选取出属于目标类别的文件块,作为目标文件块,其中,所述目标类别用于表征所述应用程序运行所必需的文件块对应的类别。
62.在一些实施方式中,服务器可以预先设置并存储有目标类别,其中,目标类别用于表征应用程序运行所必须的文件块对应的类别,即目标类别可以包括required blocks和runtime blocks。在本实施例中,该目标类别用于作为多个文件块各自对应的类别的判断依据。因此,在获得多个文件块各自对应的类别后,则可以将该多个文件块各自对应的类别与目标类别进行对比,以判断该多个文件块各自对应的类别是否属于目标类别。
63.作为一种方式,在确定多个文件块各自对应的类别与目标类别的关系后,则可以基于多个文件块各自对应的类别与目标类别的关系,从多个文件块中选取出属于目标类别的文件块,并将处于目标类别的文件块作为目标文件块。
64.步骤s2222:将所述多个文件块中的目标文件块排序在所述多个文件块中除所述目标文件块之外的文件块之前,获得所述多个文件块对应的下载顺序。
65.在本实施例中,在从多个文件块中确定目标文件块后,则可以将多个文件块中的
目标文件块排序在多个文件块中除目标文件块外的文件块之前,获得该多个文件块对应的下载顺序。可以理解的,通过上述方式,应用程序的应用程序包文件中的required blocks和runtime blocks排序在remaining blocks之前,可以实现当前电子设备针对应用程序的边下载边运行的效果。
66.步骤s230:接收当前电子设备发送的针对应用程序的下载请求,其中,所述下载请求用于指示下载所述应用程序的应用程序包文件,其中,所述应用程序包文件由多个文件块组成。
67.步骤s240:获取所述多个文件块对应的下载顺序,其中,所述多个文件块对应的下载顺序根据多个参考电子设备在运行所述应用程序时针对所述多个文件块的运行参数确定。
68.步骤s250:按照所述下载顺序向所述当前电子设备下发所述多个文件块。
69.其中,步骤s230-步骤s250的具体描述请参阅步骤s110-步骤s130,在此不再赘述。
70.本技术一实施例提供的应用程序的下载方法,获取多个参考电子设备在运行应用程序时,针对多个文件块的运行参数,基于该运行参数对多个文件块进行排序,获得多个文件块对应的下载顺序,接收当前电子设备发送的针对应用程序的下载请求,其中,下载请求用于指示下载应用程序的应用程序包文件,获取多个文件块对应的下载顺序,按照该下载顺序向当前电子设备下发多个文件块。相较于图2所示的应用程序的下载方法,本实施例还根据多个参考电子设备在运行应用程序时,针对多个文件块的运行参数,获得多个文件块对应的下载顺序,以提升所确定的下载顺序的准确性。
71.请参阅图6,图6示出了本技术一实施例提供的应用程序的下载方法的流程示意图。该方法应用于上述服务器,下面将针对图6所示的流程进行详细的阐述,所述应用程序的下载方法具体可以包括以下步骤:
72.步骤s310:接收当前电子设备发送的针对应用程序的下载请求,其中,所述下载请求用于指示下载所述应用程序的应用程序包文件,其中,所述应用程序包文件由多个文件块组成。
73.其中,步骤s310的具体描述请参阅步骤s110,在此不再赘述。
74.步骤s320:获取所述应用程序包文件的大小。
75.在本实施例中,服务器在接收到当前电子设备针对应用程序的下载请求时,则可以响应该下载请求,获取其所请求下载的应用程序包文件的大小。在一些实施方式中,服务器可以获取该应用程序包文件所占的存储空间,基于该应用程序包文件所占的存储空间,确定该应用程序包文件的大小。
76.步骤s330:当所述应用程序包文件的大小大于大小阈值时,获取所述多个文件块对应的下载顺序,其中,所述多个文件块对应的下载顺序根据多个参考电子设备在运行所述应用程序时针对所述多个文件块的运行参数确定。
77.在一些实施方式中,服务器预先设置并存储有大小阈值,其中,大小阈值可以用于作为该应用程序包文件的大小的判断依据。因此,在本实施例中,在获得应用程序包文件的大小后,则可以将该应用程序包文件的大小与大小阈值进行比较,以判断该应用程序包文件的大小是否大于大小阈值。
78.其中,当确定该应用程序包文件的大小大于该大小阈值时,则可以确定当前电子
设备下载完整的应用程序包文件所需的时间较长,运行该应用程序所需等待的时间较长,会造成用户体验不佳的问题。因此,在本实施例中,在确定应用程序包文件的大小大于大小阈值时,则可以获取多个文件块对应的下载顺序,以根据下载顺序依次下发多个文件块,以实现当前电子设备优先运行接收到的文件块,降低运行应用程序所需的等待时长,提升用户的使用体验。
79.其中,当确定该应用程序包文件的大小不大于该大小阈值时,则可以确定当前电子设备下载完整的应用程序包文件所需的时间较短,运行该应用程序所需等待的时间较短,不会造成用户体验不佳的问题。因此,在本实施例中,在确定该应用程序包文件的大小不大于该大小阈值时,则可以直接下发完整的应用程序包文件给当前电子设备。
80.步骤s340:按照所述下载顺序向所述当前电子设备下发所述多个文件块。
81.其中,步骤s340的具体描述请参阅步骤s130,在此不再赘述。
82.本技术一实施例提供的应用程序的下载方法,接收当前电子设备发送的针对应用程序的下载请求,其中,该下载请求用于指示下载应用程序的应用程序包文件,其中,该应用程序包文件由多个文件块组成,获取应用程序包文件的大小,当该应用程序包文件的大小大于大小阈值时,获取多个文件块对应的下载顺序,其中,多个文件块对应的下载顺序根据多个参考电子设备在运行应用程序时针对多个文件块的运行参数确定,按照该下载顺序向当前电子设备下发多个文件块。相较于图2所示的应用程序的下载方法,本实施例还在应用程序包文件的大小大于大小阈值时,按多个文件块的下载顺序依次下发,以缩短电子设备运行该应用程序的等待时间。
83.请参阅图7,图7示出了本技术一实施例提供的应用程序的下载方法的流程示意图。该方法应用于上述服务器,下面将针对图7所示的流程进行详细的阐述,所述应用程序的下载方法具体可以包括以下步骤:
84.步骤s410:接收当前电子设备发送的针对应用程序的下载请求,其中,所述下载请求用于指示下载所述应用程序的应用程序包文件,其中,所述应用程序包文件由多个文件块组成。
85.其中,步骤s410的具体描述请参阅步骤s110,在此不再赘述。
86.步骤s420:获取所述当前电子设备的网络参数。
87.在本实施例中,服务器在接收到当前电子设备针对应用程序的下载请求时,则可以响应该下载请求,获取当前电子设备的网络参数。作为一种方式,该网络参数可以由服务器测试获得,也可以由当前电子设备上传获得,在此不做限定。
88.在一些实施方式中,该网络参数可以包括网络带宽、可以包括网络速度、可以包括网络类型等,在此不做限定。
89.步骤s430:当所述网络参数满足预设网络参数时,获取所述多个文件块对应的下载顺序,其中,所述多个文件块对应的下载顺序根据多个参考电子设备在运行所述应用程序时针对所述多个文件块的运行参数确定。
90.在一些实施方式中,服务器预先设置并存储有预设网络参数,其中,预设网络参数可以用于作为该当前电子设备的网络参数的判断依据。因此,在本实施例中,在获得当前电子设备的网络参数后,则可以将该当前电子设备的网络参数与预设网络参数进行比较,以判断该当前电子设备的网络参数是否满足预设网络参数。
91.作为一种方式,当该网络参数为网络带宽时,若当前电子设备的网络带宽小于预设网络带宽,则可以认为当前电子设备的网络参数满足预设网络参数;当该网络参数为网络速度时,若当前电子设备的网络速度小于预设网络速度,则可以认为当前电子设备的网络参数满足预设网络参数;当该网络参数为网络类型时,若当前电子设备的网络类型为预设网络类型(如非无线网络,非wifi),则可以认为当前电子设备的网络参数满足预设网络参数。
92.其中,当确定该当前电子设备的网络参数满足预设网络参数时,则可以确定当前电子设备下载完整的应用程序包文件所需的时间较长,运行该应用程序所需等待的时间较长,会造成用户体验不佳的问题。因此,在本实施例中,在确定当前电子设备的网络参数满足预设网络参数时,则可以获取多个文件块对应的下载顺序,以根据下载顺序依次下发多个文件块,以实现当前电子设备优先运行接收到的文件块,降低运行应用程序所需的等待时长,提升用户的使用体验。
93.其中,当确定该当前电子设备的网络参数不满足预设网络参数时,则可以确定当前电子设备下载完整的应用程序包文件所需的时间较短,运行该应用程序所需等待的时间较短,不会造成用户体验不佳的问题。因此,在本实施例中,在确定该当前电子设备的网络参数不满足预设网络参数时,则可以直接下发完整的应用程序包文件给当前电子设备。
94.步骤s440:按照所述下载顺序向所述当前电子设备下发所述多个文件块。
95.其中,步骤s440的具体描述请参阅步骤s130,在此不再赘述。
96.本技术一实施例提供的应用程序的下载方法,接收当前电子设备发送的针对应用程序的下载请求,其中,该下载请求用于指示下载应用程序的应用程序包文件,其中,该应用程序包文件由多个文件块组成,获取当前电子设备的网络参数,当网络参数满足预设网络参数时,获取多个文件块的下载顺序,其中,多个文件块对应的下载顺序根据多个参考电子设备在运行应用程序时针对多个文件块的运行参数确定,按照该下载顺序向当前电子设备下发多个文件块。相较于图2所示的应用程序的下载方法,本实施例还在当前电子设备的网络参数满足预设网络参数时,按多个文件块的下载顺序依次下发,以缩短电子设备运行该应用程序的等待时间。
97.请参阅图8,图8示出了本技术一实施例提供的应用程序的下载装置的模块框图。该应用程序的下载装置300包括:下载请求接收模块310、下载顺序获取模块320以及文件块下发模块330,其中:
98.下载请求接收模块310,用于接收当前电子设备发送的针对应用程序的下载请求,其中,所述下载请求用于指示下载所述应用程序的应用程序包文件,其中,所述应用程序包文件由多个文件块组成。
99.下载顺序获取模块320,用于获取所述多个文件块对应的下载顺序,其中,所述多个文件块对应的下载顺序根据多个参考电子设备在运行所述应用程序时针对所述多个文件块的运行参数确定。
100.进一步地,所述下载顺序获取模块320包括:大小获取子模块和第一下载顺序获取子模块,其中:
101.大小获取子模块,用于获取所述应用程序包文件的大小。
102.第一下载顺序获取子模块,用于当所述应用程序包文件的大小大于大小阈值时,
获取所述多个文件块对应的下载顺序。
103.进一步地,所述下载顺序获取模块320包括:网络参数获取子模块和第二下载顺序获取子模块,其中:
104.网络参数获取子模块,用于获取所述当前电子设备的网络参数。
105.第二下载顺序获取子模块,用于当所述网络参数满足预设网络参数时,获取所述多个文件块对应的下载顺序。
106.文件块下发模块330,用于按照所述下载顺序向所述当前电子设备下发所述多个文件块。
107.进一步地,所述应用程序的下载装置300还包括:运行参数获取模块和下载顺序获得模块,其中:
108.运行参数获取模块,用于获取所述多个参考电子设备在运行所述应用程序时,针对所述多个文件块的运行参数。
109.下载顺序获得模块,用于基于所述运行参数对所述多个文件块进行排序,获得所述多个文件块对应的下载顺序。
110.进一步地,所述下载顺序获得模块包括:类别获得子模块和下载顺序获得子模块,其中:
111.类别获得子模块,用于基于所述运行参数对所述多个文件块进行分类,获得所述多个文件块各自对应的类别。
112.下载顺序获得子模块,用于基于所述多个文件块各自对应的类别,对所述多个文件块进行排序,获得所述多个文件块对应的下载顺序。
113.进一步地,所述下载顺序获得子模块包括:目标文件块选择单元和下载顺序获得单元,其中:
114.目标文件块选择单元,用于基于所述多个文件块各自对应的类别,从所述多个文件块中选取出属于目标类别的文件块,作为目标文件块,其中,所述目标类别用于表征所述应用程序运行所必需的文件块对应的类别。
115.下载顺序获得单元,用于将所述多个文件块中的目标文件块排序在所述多个文件块中除所述目标文件块之外的文件块之前,获得所述多个文件块对应的下载顺序。
116.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
117.在本技术所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。
118.另外,在本技术各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
119.请参阅图9,其示出了本技术实施例提供的一种服务器100的结构框图。该服务器100可以是智能手机、平板电脑、电子书等能够运行应用程序的电子设备。本技术中的服务器100可以包括一个或多个如下部件:处理器110、存储器120、触摸屏130以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器120中并被配置为由一个或多个处理器110执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。
120.其中,处理器110可以包括一个或者多个处理核。处理器110利用各种接口和线路连接整个服务器100内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行服务器100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field-programmable gate array,fpga)、可编程逻辑阵列(programmable logic array,pla)中的至少一种硬件形式来实现。处理器110可集成中央处理器(central processing unit,cpu)、图形处理器(graphics processing unit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责待显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。
121.存储器120可以包括随机存储器(random access memory,ram),也可以包括只读存储器(read-only memory)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储服务器100在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
122.请参阅图10,其示出了本技术实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质400中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
123.计算机可读存储介质400可以是诸如闪存、eeprom(电可擦除可编程只读存储器)、eprom、硬盘或者rom之类的电子存储器。可选地,计算机可读存储介质400包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质400具有执行上述方法中的任何方法步骤的程序代码410的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码410可以例如以适当形式进行压缩。
124.综上所述,本技术实施例提供的应用程序的下载方法、装置、服务器以及存储介质,接收当前电子设备发送的针对应用程序的下载请求,其中,该下载请求用于指示下载应用程序的应用程序包文件,其中,应用程序包文件由多个文件块组成,获取多个文件块对应的下载顺序,其中,多个文件块对应的下载顺序根据多个参考电子设备在运行应用程序时针对多个文件块的运行参数确定,按照下载顺序向当前电子设备下发多个文件块,从而通过根据多个参考电子设备针对应用程序的多个文件块的运行参数,确定该多个文件块的下载顺序,以按该下载顺序依次下发该多个文件块至当前电子设备,从而可以减少应用程序的运行等待时间,提升用户的使用体验。
125.最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。