[發明專利]一種網絡異步請求下載框架實現系統及方法、計算機程序在審
| 申請號: | 201910374412.4 | 申請日: | 2019-05-07 |
| 公開(公告)號: | CN110213336A | 公開(公告)日: | 2019-09-06 |
| 發明(設計)人: | 魏培陽;王泓力;向福;劉魁 | 申請(專利權)人: | 成都信息工程大學 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08 |
| 代理公司: | 北京元本知識產權代理事務所 11308 | 代理人: | 王紅霞 |
| 地址: | 610225 四川省成都*** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 緩存 異步請求 首部 下載 過期 緩存管理模塊 數據分發模塊 網絡處理模塊 應用技術領域 計算機程序 計算機軟件 創建模塊 緩存機制 請求隊列 添加模塊 網絡請求 語義 存儲 網絡 驗證 退出 響應 新鮮 重復 更新 | ||
1.一種網絡異步請求下載框架實現方法,其特征在于,所述網絡異步請求下載框架實現方法包括:
步驟一,創建RequestQueue,運行隊列,并啟動緩存調度器;
步驟二,向RequestQueue中添加一個Request,緩存調度器為第一層緩沖,判斷添加的Request是否具有緩沖功能,若不具有則將請求直接進入隊列;若需要,將請求加入到mCacheQueue中給CacheDispatcher處理;
步驟三,利用阻塞線程實現緩存管理;
步驟四,處理各種網絡請求,放入隊列;
步驟五,分發數據并處理網絡請求的Response:分發者是對網絡請求處理的最后一層,如果響應成功,則觸發deliverResponse方法,如果不成功,則觸發deliverError方法,處理結束,Request的生命周期即結束。
2.如權利要求1所述的網絡異步請求下載框架實現方法,其特征在于,步驟一中的RequestQueue創建方法具體包括以下步驟:
(1)先申請一個存放緩存文件的地址;
(2)根據API生成HttpStack:API>9生成HurlStack,API=9,則HttpClientStack,其中HttpClientStack使用的是HttpClient,HurlStack使用的是HttpURLConnection;
(3)生成一個Network;
(4)生成一個RequestQueue,RequestQueue queue=new RequestQueue(newDiskBasedCache(cacheDir),network)。
3.如權利要求1所述的網絡異步請求下載框架實現方法,其特征在于,步驟一中的隊列運行具體以下步驟包括:
(1)stop()確保隊列沒有運行;
(2)開啟CacheDispatcher,作為緩存隊列處理器;
(3)開啟符合線程池數量的NetworkDispatcher作為網絡處理的線程,其數量為RequestQueue構造時傳入的參數,默認為4個。
4.如權利要求1所述的網絡異步請求下載框架實現方法,其特征在于,步驟二中的RequestQueue具體包括:
(1)mWaitingRequests等待隊列,類型是Map<String,Queue<Request<?>>>,當之前己經存在了和本次請求相同的URL會把相同的請求放到Queue<Request<?>>隊列中,以URL作為關叇飼;
(2)mCurrentRequests奪放所有的請求,包括已經運行的和正在等待的Request;
(3)優先級阻塞隊列,mCacheQueue表示的是緩存請求的隊列,這個隊列會傳入到CacheDispatcher做判斷;
(4)優先級阻塞隊列,mNetWorkQueue表示的是請求網絡連接的隊列,主要傳入到NetworkDispatcher線程中,里面的請求都會向服務器請求數據,(即這里才是唯一的跟服務器打交道的隊列);
(5)NetworkDispatcher,和CacheDispatcher,阻塞式線程,不斷循環處理Request;
(6)ResponseDelivery m Delivery,請求結果分發器,會把響應的結果返回到主線程的回調函數中。
5.如權利要求1所述的網絡異步請求下載框架實現方法,其特征在于,步驟二中的CacheDispatcher處理mCacheQueue具體包括:
首先判斷mWaitingRequests是否已經存在相同的URL請求;若存在則把當前請求放在等待隊列中;若不存在,則mWaitingRequests中添加以URL做關鍵詞的一組數據:mWaitingRequests.put(cacheKey,null);再把請求放入mWaitingRequests隊列中。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于成都信息工程大學,未經成都信息工程大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910374412.4/1.html,轉載請聲明來源鉆瓜專利網。





