一种应用于android系统的系统文件下载方法及下载工具技术方案

技术编号:14687866 阅读:88 留言:0更新日期:2017-02-23 10:08
本发明专利技术公开了一种应用于android系统的系统文件下载方法,先从具有优先级排序的任务队列中获取系统开发程序发送的用于下载系统文件的第一下载任务,然后基于第一下载任务获取对应的下载参数,并由此判断系统文件的数据量是否超过预设数据量阈值。若超过则表示系统文件的数据量过大,则从线程池中选择第一线程按批次下载,不会利用几个线程下载。由于在下载时是将系统文件分成小于预设数据量阈值的多个批次,然后按批次依次下载到存储器的文件目录,进而当重新启动第一下载任务时,不用调用线程计算已完成的任务总量,按照批次便能够快速的寻找到系统文件的中断处,并继续下载。

【技术实现步骤摘要】

本申请涉及通信领域,尤其涉及一种应用于android系统的系统文件下载方法及下载工具
技术介绍
在Android的开发过程中,下载部分是一个非常常用的功能。目前的下载文件的方式,一般采用多线程并行处理多个任务的方式。而针对单个的下载任务,则是将单个下载任务(一个文件或一个压缩包)划分为几个部分,每一个部分采用一个线程进行上传或下载,如果碰到网络故障,可以从已经下载的部分开始继续下载未完成的部分,而没有必要从头开始下载。但是目前这种下载任务的方式,如果需要续传下载任务,那么需要先采集涉及到该下载任务的每个线程上已下载的任务量,然后综合统计获得已下载的任务总量,获得已经下载的部分,然后继续开始下载。这种处理方式需要调用涉及到的每个线程进行统计,处理过程复杂,并且需要事先计算出任务总量才能够继续下载,若有线程在处理其他任务则可能需要转线程处理等等,进而导致断点续传时文件下载的效率低下。
技术实现思路
本专利技术了提供了一种应用于android系统的系统文件下载方法及下载工具,解决或者部分解决了现有技术中断点续传时文件下载效率低下的技术问题。为解决上述技术问题,本专利技术提供了一种应用于android系统的系统文件下载方法,包括:从具有优先级排序的任务队列中获取系统开发程序发送的用于下载系统文件的第一下载任务;基于所述第一下载任务获取对应的下载参数;基于所述第一下载任务的下载参数,判断所述系统文件的数据量是否超过预设数据量阈值;若所述系统文件的数据量超过所述预设数据量阈值,从线程池中选取第一线程将所述系统文件按批次依次下载到存储器的文件目录中;所述系统文件的每批次数据量小于或等于所述预设数据量阈值;当重新启动所述第一下载任务时,查找所述系统文件的下载中断点,从所述下载中断点继续按批次依次下载所述系统文件中未下载的部分。优选的,所述从线程池中选取第一线程将所述系统文件按批次依次下载到存储器的文件目录中,包括:将所述系统文件按批次依次下载到所述移动终端的内存中,同时按照相应批次实时转移到所述存储器的文件目录中。优选的,所述若所述系统文件的数据量超过所述预设数据量阈值,从线程池中选取第一线程将所述系统文件按批次依次下载到存储器的文件目录中,包括:若所述系统文件的数据量超过所述预设数据量阈值,从线程池中选取第一线程将所述系统文件按批次依次下载到存储器的文件目录中,并实时更新所述系统文件的下载进度信息,所述下载进度信息用于记录所述系统文件的下载进度;所述当重新启动所述第一下载任务时,查找所述系统文件的下载中断点,从所述下载中断点继续按批次依次下载所述系统文件中未下载的部分,包括:当重新启动所述第一下载任务时,调用所述下载进度信息查找所述下载中断点,从所述下载中断点继续按批次依次下载所述系统文件中未下载的部分。优选的,所述若所述系统文件的数据量超过所述预设数据量阈值,从线程池中选取第一线程将所述系统文件按批次依次下载到存储器的文件目录中,并实时更新所述系统文件的下载进度信息,所述下载进度信息用于记录所述系统文件的下载进度,包括:利用接口实时通知所述下载进度信息给所述系统开发程序。优选的,所述基于所述第一下载任务的下载参数,判断所述系统文件的数据量是否超过预设数据量阈值之后,包括:若所述系统文件的数据量没有超过所述预设数据量阈值,从所述线程池中选取所述第一线程将所述应用于android系统的系统文件下载到所述存储器的文件中,并利用所述接口模块将下载结果通知给所述系统开发程序。优选的,所述从具有优先级排序的任务队列中获取系统开发程序发送的用于下载系统文件的第一下载任务之前,包括:接收所述系统开发程序发送的携带有下载任务的下载请求;从所述下载请求中获取对应的下载任务;将所述下载请求对应的下载任务放入所述任务队列中;使所述下载请求对应的下载任务和其他下载任务在所述任务队列中一并按照优先级顺序进行排序。优选的,所述使所述下载请求对应的下载任务和其他下载任务在所述任务队列中一并按照优先级顺序进行排序,包括:在所述任务队列中,按照三个等级的优先级对所有的下载任务进行排序;在同一等级中,按照接收时间对同一等级的下载任务进行排序。优选的,所述使所述下载请求对应的下载任务和其他下载任务在所述任务队列中一并按照优先级顺序进行排序之后,包括:从所述任务队列中按照优先级获取包含有第一下载任务的N个下载任务,其中1≤N≤5;从线程池中选取包含有第一线程的N个线程,同时处理各自对应的下载任务,且实时更新各自的下载进度信息;将所述N个下载任务各自的下载进度通知给所述系统开发程序。优选的,所述将所述N个下载任务各自的下载进度通知给对应的系统开发程序之后,包括:判断所述N个线程中是否具有执行任务完毕的线程;若有,则从所述任务队列中选取第二下载任务,并利用执行任务完毕的线程处理所述第二下载任务。本专利技术公开了一种应用于android系统的系统文件下载工具,包括:第一获取模块,用于从具有优先级排序的任务队列中获取系统开发程序发送的用于下载系统文件的第一下载任务;第二获取模块,用于基于所述第一下载任务获取对应的下载参数;判断模块,用于基于所述第一下载任务的下载参数,判断所述系统文件的数据量是否超过预设数据量阈值;第一选取模块,用于若所述系统文件的数据量超过所述预设数据量阈值,从线程池中选取第一线程将所述系统文件按批次依次下载到存储器的文件目录中;所述系统文件的每批次数据量小于或等于所述预设数据量阈值;下载模块,用于当重新启动所述第一下载任务时,查找所述系统文件的下载中断点,从所述下载中断点继续按批次依次下载所述系统文件中未下载的部分。通过本专利技术的一个或者多个技术方案,本专利技术具有以下有益效果或者优点:本专利技术公开了一种应用于android系统的系统文件下载方法,先从具有优先级排序的任务队列中获取系统开发程序发送的用于下载系统文件的第一下载任务,然后基于所述第一下载任务获取对应的下载参数,并由此判断所述系统文件的数据量是否超过预设数据量阈值。若超过则表示系统文件的数据量过大,需要按批次传输。即便线程池中具有其他线程,也只使用第一线程处理该系统文件,而不会利用几个线程下载。另外,在下载时是将系统文件分成小于预设数据量阈值的多个批次,然后按批次依次下载到移动终端的存储器的文件目录中,进而在当重新启动所述第一下载任务时,由于本专利技术是按照批次依次下载,故而不用调用线程计算已完成的任务总量,能够按照批次便能够快速的寻找到系统文件的中断处,然后继续下载系统文件中未下载的部分,处理简单方便,能够提高断点续传的效率。进一步的,本专利技术还记录并且实时更新了系统文件的下载进度信息,进而程序开发系统直接调用下载进度信息便可以获知系统文件已下载的任务量,进而快速的获知系统文件的中断处,然后继续下载系统文件中未下载的部分,处理简单方便,能够提高断点续传的效率。另外,本专利技术还以接口的方式将所述下载进度信息实时通知给系统开发程序,由于接口调用方式简单且为一对一的通知,不会像广播会进行分发处理占用内存,故而即便系统占用率很高也能够保证进度通知的时效性。进一步的,本专利技术将所述系统文件按批次依次下载到所述移动终端的内存之后,会实时将内存中的系统文件转移到存储器的文件目录中,因此能够使内存一直保持在空置本文档来自技高网...
一种应用于android系统的系统文件下载方法及下载工具

【技术保护点】
一种应用于android系统的系统文件下载方法,其特征在于,包括:从具有优先级排序的任务队列中获取系统开发程序发送的用于下载系统文件的第一下载任务;基于所述第一下载任务获取对应的下载参数;基于所述第一下载任务的下载参数,判断所述系统文件的数据量是否超过预设数据量阈值;若所述系统文件的数据量超过所述预设数据量阈值,从线程池中选取第一线程将所述系统文件按批次依次下载到存储器的文件目录中;所述系统文件的每批次数据量小于或等于所述预设数据量阈值;当重新启动所述第一下载任务时,查找所述系统文件的下载中断点,从所述下载中断点继续按批次依次下载所述系统文件中未下载的部分。

【技术特征摘要】
1.一种应用于android系统的系统文件下载方法,其特征在于,包括:从具有优先级排序的任务队列中获取系统开发程序发送的用于下载系统文件的第一下载任务;基于所述第一下载任务获取对应的下载参数;基于所述第一下载任务的下载参数,判断所述系统文件的数据量是否超过预设数据量阈值;若所述系统文件的数据量超过所述预设数据量阈值,从线程池中选取第一线程将所述系统文件按批次依次下载到存储器的文件目录中;所述系统文件的每批次数据量小于或等于所述预设数据量阈值;当重新启动所述第一下载任务时,查找所述系统文件的下载中断点,从所述下载中断点继续按批次依次下载所述系统文件中未下载的部分。2.如权利要求1所述的一种应用于android系统的系统文件下载方法,其特征在于,所述从线程池中选取第一线程将所述系统文件按批次依次下载到存储器的文件目录中,包括:将所述系统文件按批次依次下载到所述移动终端的内存中,同时按照相应批次实时转移到所述存储器的文件目录中。3.如权利要求1所述的一种应用于android系统的系统文件下载方法,其特征在于,所述若所述系统文件的数据量超过所述预设数据量阈值,从线程池中选取第一线程将所述系统文件按批次依次下载到存储器的文件目录中,包括:若所述系统文件的数据量超过所述预设数据量阈值,从线程池中选取第一线程将所述系统文件按批次依次下载到存储器的文件目录中,并实时更新所述系统文件的下载进度信息,所述下载进度信息用于记录所述系统文件的下载进度;所述当重新启动所述第一下载任务时,查找所述系统文件的下载中断点,从所述下载中断点继续按批次依次下载所述系统文件中未下载的部分,包括:当重新启动所述第一下载任务时,调用所述下载进度信息查找所述下载中断点,从所述下载中断点继续按批次依次下载所述系统文件中未下载的部分。4.如权利要求3所述的一种应用于android系统的系统文件下载方法,其特征在于,所述若所述系统文件的数据量超过所述预设数据量阈值,从线程池中选取第一线程将所述系统文件按批次依次下载到存储器的文件目录中,并实时更新所述系统文件的下载进度信息,所述下载进度信息用于记录所述系统文件的下载进度,包括:利用接口实时通知所述下载进度信息给所述系统开发程序。5.如权利要求1所述的一种应用于android系统的系统文件下载方法,其特征在于,所述基于所述第一下载任务的下载参数,判断所述系统文件的数据量是否超过预设数据量阈值之后,包括:若所述系统文件的数据量没有超过所述预设数据量阈值,从所述线程池中选取所述第一线程将所述应用于android系...

【专利技术属性】
技术研发人员:张磊
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1