[发明专利]一种基于文件分块的多线程并行下载方法在审
申请号: | 201810236464.0 | 申请日: | 2018-03-21 |
公开(公告)号: | CN108600312A | 公开(公告)日: | 2018-09-28 |
发明(设计)人: | 韦炯;位湘楠;邓丽华;肖辉;翁呈吉;刘爱梅 | 申请(专利权)人: | 深圳市奥软网络科技有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L29/06;G06F17/30;G06F9/48 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518000 广东省深*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 下载进度 并行下载 文件分块 移动设备 多线程 下载 额外记录 检查结果 下载完成 应用进程 自动记录 读写 分块 闪存 线程 带宽 检查 进度 记录 恢复 保证 | ||
本发明公开一种基于文件分块的多线程并行下载方法,包括开始下载,检查APK完整性,根据该APK完整性的检查结果,检查出该APK是完整时,则下载完成,从而达到实现能自动记录下载进度,每一个分块文件现有的大小,即为本线程的下载进度,不需要额外记录,既能保证任何时候应用进程被杀,下次恢复都能从最新进度继续下载,更加适用于移动设备,能节省移动设备有限的闪存读写带宽和cpu内存开销,用来单独记录下载进度。
技术领域
本发明涉及文件多线程下载技术领域,尤其涉及一种基于文件分块的多线程并行下载方法。
背景技术
现有的多线程并行下载方案主要是采用使用单文件不分块,多线程下载的技术方案,现有的多线程并行下载方案的缺陷,包括:
一、下载速度较慢,当前移动互联网应用下载,大多采用单线程单任务下载,不能充分利用网络带宽进行下载,下载速度存在瓶颈;
二、中断后文件重复下载,因为移动设备的特殊性,应用进程随时可能被系统或者用户手动关闭,导致下载随时可能被以外中断,使用单文件多线程下载的程序可能无法及时记录最新的下载进度,导致下次恢复下载的时候,需要重复下载一部分之前已经下载过的数据;
三、安全隐患较大,用户下载的文件,有一定概率会被劫持,并链接到其他流氓软件下载链接上,对用户手机资讯安全造成极大隐患。
发明内容
本发明提供一种基于文件分块的多线程并行下载方法,用以解决现有技术下载速度较慢、下载中断后文件重复下载、安全隐患较大的技术问题。
为解决上述技术问题,本发明提供一种基于文件分块的多线程并行下载方法,包括:
步骤S1,下载开始;
步骤S2,检查APK完整性;
步骤S3,APK文件是否完整,通过上一步比对得出本地文件是否完整结果,①若不完整进入步骤S4;②若完整进入步骤S12;
步骤S4,多文件块是否完整,由于APK文件不够完整需要比对本地的多文件块是否完整,①若块文件完整进入步骤S5;②若块文件不完整进入步骤S6;
步骤S5,合并多个分块文件,合并完成后再次进行文件完整性检测进入步骤S3;
步骤S6,将每个分块文件分配一个线程;
步骤S7,计算分块文件位置,计算本地储存分块文件位置;
步骤S8,若出现分某个线程故障时优先保障先完成一个分块文件,再去逐个分块文件执行下载;
步骤S9,每块下载文件,见线程及文件分好后对每块文件执行下载;
步骤S10,块文件下载;
步骤S11,是否下载成功,文件下载完成后检查文件是否下载成功,①若文件下载不成功进入步骤S2;②若文件下载成功进入步骤S4;
步骤S12,下载完成。
其中,所述检查APK完整性,包括:
通过获取下载文件MD5、大小等数据与本地已有文件进行比对,检查APK完整性。
其中,所述合并多个分块文件,合并完成后再次进行文件完整性检测的步骤,包括:
如果多文件块完整,则合并多个分块文件,合并完成后再次进行文件完整性检测的步骤。
其中,所述将每个分块文件分配一个线程,包括:
启动线程调度模块,将每个分块文件分配一个线程。
其中,所述若出现分某个线程故障时优先保障先完成一个分块文件,再去逐个分块文件执行下载,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市奥软网络科技有限公司,未经深圳市奥软网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810236464.0/2.html,转载请声明来源钻瓜专利网。