[發明專利]一種基于安卓系統的多線程斷點續傳下載系統及方法在審
| 申請號: | 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.szxzyx.cn/pat/books/201810242095.6/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種基于物聯網的茶園智能監控系統
- 下一篇:一種電子數據的智能的處理方法





