1.一种文件下载方法,其特征在于,所述方法包括下述步骤:
在接收到用户在应用程序中触发的对文件的下载请求时,由所述下载请求获取所述文件的长度;
依据所述文件的长度和预设线程数计算所述文件的每个下载线程的数据长度和下载起止位置,所述文件对应多个所述下载线程;
在检测到线程池中存在空闲线程时,将所述文件的每个下载线程分配给所述空闲线程,依据所述计算的每个下载线程的数据长度和下载起止位置将所述应用程序对应的文件的每个下载线程的数据进行并行下载。
2.如权利要求1所述的方法,其特征在于,所述依据所述文件的长度和预设线程数计算所述文件的每个下载线程的数据长度和下载起止位置具体包括:
将所述文件的长度除以所述预设线程数,得到所述文件的每个下载线程的数据长度;
由所述文件的每个下载线程的数据长度计算所述文件的每个线程的下载开始字节位置和下载结束字节位置;所述下载起止位置包括:所述下载开始字节位置和所述下载结束字节位置;
所述依据所述计算的每个下载线程的数据长度和下载起止位置将所述应用程序对应的文件的每个下载线程的数据进行并行下载具体包括:
依据所述文件的每个下载线程的下载起止位置并行将所述文件的每个下载线程的数据写入存储区。
3.如权利要求1或2所述的方法,其特征在于,所述下载请求包括所述文件的统一资源定位符URL;
所述依据所述文件的长度和预设线程数计算所述文件的每个下载线程的数据长度和下载起止位置具体包括:
若检测到所述文件的URL在下载列表中,获取所述文件已下载的数据大小,并根据所述获取的所述文件已下载的数据的大小更新所述文件的每个线程的下载起止位置。
4.如权利要求2所述的方法,其特征在于,在所述文件的长度小于预设文件长度时,所述预设线程数为预设定值;在所述文件的长度大于预设文件长度时,所述预设线程数为所述文件的长度除以预设线程区块长度得到的数值。
5.如权利要求1所述的方法,其特征在于,所述下载请求包括所述应用程序的应用标识;所述下载请求为多个,且为用户在多个应用程序中触发的对应用标识对应的文件的下载请求时,所述文件的每个下载线程分配给所述空闲线程之前,所述方法还包括:
计算所述应用标识对应的下载线程的数量;
计算所述空闲线程的数量;
所述在检测到线程池中存在空闲线程时,将所述文件的每个下载线程分配给所述空闲线程,依据所述计算的每个下载线程的数据长度和下载起止位置将所述应用程序对应的文件的每个下载线程的数据进行并行下载,包括:
在所述应用标识对应的下载线程的数量小于或等于所述空闲线程的数量时,将所述应用标识对应的全部下载线程的数据进行并行下载;
在所述应用标识对应的下载线程的数量大于所述空闲线程的数量时,依据所述应用标识对应的文件优先级将所述应用标识对应的文件的下载线程分配给所述空闲线程并进行并行下载。
6.一种文件下载装置,其特征在于,所述装置包括:
获取单元,用于在接收到用户在应用程序中触发的对文件的下载请求时,由所述下载请求获取所述文件的长度;
计算单元,用于依据所述文件的长度和预设线程数计算所述文件的每个下载线程的数据长度和下载起止位置,所述文件对应多个所述下载线程;
下载单元,用于在检测到线程池中存在空闲线程时,将所述文件的每个下载线程分配给所述空闲线程,依据所述计算的每个下载线程的数据长度和下载起止位置将所述应用程序对应的文件的每个下载线程的数据进行并行下载。
7.如权利要求1所述的装置,其特征在于,所述计算单元包括:
长度计算子单元,用于将所述文件的长度除以所述预设线程数,得到所述文件的每个下载线程的数据长度;
位置计算子单元,用于由所述文件的每个下载线程的数据长度计算所述文件的每个线程的下载开始字节位置和下载结束字节位置;所述下载起止位置包括:所述下载开始字节位置和所述下载结束字节位置;
所述下载单元具体用于:依据所述文件的每个下载线程的下载起止位置并行将所述文件的每个下载线程的数据写入存储区。
8.如权利要求6或7所述的装置,其特征在于,所述下载请求包括所述文件的统一资源定位符URL;
所述计算单元具体用于:在检测到所述文件的URL在下载列表中时,获取所述文件已下载的数据大小,并根据所述获取的所述文件已下载的数据的大小更新所述文件的每个线程的下载起止位置。
9.如权利要求7所述的装置,其特征在于,在所述文件的长度小于预设文件长度时,所述预设线程数为预设定值;在所述文件的长度大于预设文件长度时,所述预设线程数为所述文件的长度除以预设线程区块长度得到的数值。
10.如权利要求6所述的装置,其特征在于,所述下载请求包括所述应用程序的应用标识;所述下载请求为多个,且为用户在多个应用程序中触发的对应用标识对应的文件的下载请求时,所述计算单元包括:
线程数量计算子单元,用于计算所述应用标识对应的下载线程的数量;
所述线程数量计算子单元,还用于计算所述空闲线程的数量;
所述下载单元包括:
第一下载子单元,用于在所述应用标识对应的下载线程的数量小于或等于所述空闲线程的数量时,将所述应用标识对应的全部下载线程的数据进行并行下载;
第二下载子单元,用于在所述应用标识对应的下载线程的数量大于所述空闲线程的数量时,依据所述应用标识对应的文件优先级将所述应用标识对应的文件的下载线程分配给所述空闲线程并进行并行下载。