[发明专利]一种基于安卓系统的多线程断点续传下载系统及方法在审
申请号: | 201810242095.6 | 申请日: | 2018-03-22 |
公开(公告)号: | CN108566417A | 公开(公告)日: | 2018-09-21 |
发明(设计)人: | 胡敏;张洪利 | 申请(专利权)人: | 四川长虹电器股份有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;G06F17/30 |
代理公司: | 四川省成都市天策商标专利事务所 51213 | 代理人: | 秦华云;刘渝 |
地址: | 621000 四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 任务下载 线程 下载模块 后台服务模块 消息通知模块 数据库模块 多线程 安卓系统 断点续传 下载系统 初始化设置 界面刷新 时间成本 实时记录 文件下载 下载服务 下载功能 下载进度 直接调用 线程池 下载 开发 | ||
1.一种基于安卓系统的多线程断点续传下载系统,其特征在于,包含后台服务模块、任务下载模块、线程下载模块、数据库模块及消息通知模块;
其中,所述后台服务模块用于开启初始线程,并在初始线程里对任务下载模块进行初始化设置,后台服务模块与任务下载模块相连,任务下载模块用于确定下载任务的相关数据并通过线程下载模块开启多线程进行文件下载,任务下载模块与线程下载模块相连;
所述数据库模块用于实时记录下载进度,消息通知模块则用于定时进行界面刷新,数据库模块分别与任务下载模块、线程下载模块及消息通知模块相连。
2.一种基于权利要求1所述的基于安卓系统的多线程断点续传下载系统的多线程断点续传下载方法,其特征在于,具体包含以下步骤:
S1.后台服务模块以后台服务的方式开启初始线程,并在初始线程里初始化任务下载模块,确定下载任务的相关数据;
S2.通过线程下载模块开启多线程进行文件下载;
S3.数据库模块对所述步骤S2中的下载进度进行实时记录,并通过消息通知模块定时进行界面刷新。
3.根据权利要求2所述的多线程断点续传下载方法,其特征在于,还包含:
S4.当用户暂停或者终止当前下载任务时,数据库模块记录当前下载进度并保存已下载数据;
S5.当用户恢复下载时,任务下载模块及线程下载模块根据数据库模块记录的下载进度继续下载任务。
4.根据权利要求2所述的多线程断点续传下载方法,其特征在于,所述步骤S1中后台服务模块以后台服务的方式开启初始线程时具体包含以下步骤:
S110.后台服务模块通过线程池开启初始线程并连接网络获取云端文件长度;
S111.后台服务模块判断收到的云端返回的数据是否正确;
S112.若收到的云端返回的数据错误,后台服务模块则向handler发出下载失败的消息,handler收到下载失败消息后即通过消息通知模块发出下载失败的通知;
S113.若收到的云端返回的数据正确,后台服务模块则进一步判断本地下载路径是否存在,不存在则创建相关下载路径并进入步骤S15;
S114.后台服务模块在本地创建文件设置下载长度,并向handler返回开始下载的消息;
S115.handler收到消息后,把下载任务加到数据库模块并用后台服务模块开启下载,同时通过消息通知模块发出下载开始的通知。
5.根据权利要求4所述的多线程断点续传下载方法,其特征在于,所述数据库模块中设有用于记录下载数据的下载任务数据表,在所述步骤S115中,handler把下载任务加到数据库模块时具体为向数据库模块中的下载任务数据表中添加插入与本次下载任务相对应的下载数据。
6.根据权利要求5所述的多线程断点续传下载方法,其特征在于,所述数据库模块中设有用于记录各线程下载情况的线程数据表,步骤S1中:后台服务模块在初始线程里初始化任务下载模块时具体包含以下步骤:
S120.任务下载模块查询线程数据表内数据,判断相关线程信息是否存在;
S121.如果相关线程信息不存在,任务下载模块则计算单个线程下载长度并创建各个线程信息,再向线程数据表插入创建的各个线程信息;
如果相关线程信息存在,任务下载模块则通过线程池启动多个下载线程进行文件下载;
S123.启动定时任务,任务下载模块每n秒向消息通知模块发送包含下载更新数据的消息,并通过消息通知模块更新下载进度,其中,所述下载更新数据包括下载进度及下载速率。
7.根据权利要求6所述的多线程断点续传下载方法,其特征在于,所述步骤S2线程下载模块开启多线程进行文件下载时,还包含以下步骤:
S21.线程下载模块开启多线程进行文件下载后设置云端URL上资源下载范围,并设置本地文件写入位置;
S22.线程下载模块开始下载,读取下载数据并写入本地文件;
S23.若用户暂停当前下载任务,则停止下载,更新线程数据表内数据,通过消息通知模块发送下载暂停的消息;
S24.若当前下载任务失败,则将线程数据表内的对应数据条的下载进度及下载速率清空,并通过消息通知模块发送下载失败的消息;
S25.若当前下载任务完成,则检查本下载任务的所有下载线程是否都完成,如果是,删除线程数据表对应数据,更新下载任务数据表对应数据,通过消息通知模块发送下载完成的消息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川长虹电器股份有限公司,未经四川长虹电器股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810242095.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于物联网的茶园智能监控系统
- 下一篇:一种电子数据的智能的处理方法