版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、計(jì)劃類別 項(xiàng)目編號(hào) 項(xiàng)目技術(shù)報(bào)告課題名稱 項(xiàng)目主持人 承擔(dān)單位 題目:基于緩存技術(shù)的多線程下載軟件的改進(jìn)研究本文通過對(duì)WEB瀏覽器訪問網(wǎng)絡(luò)資源特性的研究,將瀏覽器緩存技術(shù)應(yīng)用到下載軟件系統(tǒng),提出一種新的基于圖片資源緩存的下載軟件設(shè)計(jì)方法,可實(shí)現(xiàn)多線程、斷點(diǎn)續(xù)傳、限速等功能,改進(jìn)了傳統(tǒng)軟件下載圖片時(shí)的不足。測(cè)試結(jié)果表明,該設(shè)計(jì)具備良好的穩(wěn)定性和可行性,圖片資源下載速度較傳統(tǒng)軟件有了較大提升。關(guān)鍵詞:多線程;斷點(diǎn)續(xù)傳;下載;圖片緩存Abstract:Based on the characteristics of web browsers to access network resources,th
2、e study applies the browser cache technology into the download software and puts forward a new download software design method based on image resource cache,which can achieve the functions of multi-thread transferring,broken-point continuingly-transferring and download rate restriction,etc.,and impr
3、ove the image download through the traditional software.The test results show that the design has good stability and feasibility,and the image download rate is greatly increased.Keywords:multi-thread;broken-point continuingly-transferring;download;image cache1 引言(Introduction)互聯(lián)網(wǎng)的飛速發(fā)展促進(jìn)了網(wǎng)絡(luò)資源爆炸式成長(zhǎng)。用戶
4、通常使用瀏覽器獲取網(wǎng)絡(luò)資源信息,而通過下載軟件下載資源則成為用戶最普遍的應(yīng)用1,主流的下載軟件國(guó)內(nèi)有迅雷、快車,國(guó)外有Orbit、TuoTu和電驢等。研究瀏覽器訪問網(wǎng)絡(luò)資源的特點(diǎn)發(fā)現(xiàn),為了提高網(wǎng)頁訪問速度,通常它會(huì)采用累積式加速的方法,即將曾經(jīng)訪問過的網(wǎng)頁內(nèi)容,如圖片、cookie等存放到本地的緩存區(qū)域,當(dāng)有訪問請(qǐng)求時(shí),瀏覽器將首先搜索該目錄。如果內(nèi)容已存在,則直接從緩存中讀取內(nèi)容,以此達(dá)到提高訪問速度的目的。本課題基于IE瀏覽器緩存機(jī)制,將該技術(shù)應(yīng)用到下載軟件系統(tǒng)的設(shè)計(jì)中,提出了一種基于圖片資源緩存的下載軟件設(shè)計(jì)方法,改進(jìn)了傳統(tǒng)軟件下載圖片資源的不足。2 主要技術(shù)原理分析(Main tech
5、nical principleanalysis)2.1 線程與線程同步本系統(tǒng)采用了線程技術(shù),與進(jìn)程相比,線程的主要特點(diǎn)有:輕型實(shí)體,獨(dú)立調(diào)度,可并發(fā)執(zhí)行,共享進(jìn)程資源2。由于線程很“輕”,故線程的切換非常迅速而且開銷小,并發(fā)執(zhí)行和共享資源方面優(yōu)于進(jìn)程。線程同步的主要任務(wù)是對(duì)多個(gè)相關(guān)進(jìn)程在執(zhí)行次序上進(jìn)行協(xié)調(diào),以使并發(fā)執(zhí)行的諸進(jìn)程能有效地共享資源和相互合作3,從而使程序的執(zhí)行具有可再現(xiàn)性。2.2 圖片緩存下載機(jī)制基于瀏覽器緩存機(jī)制,用戶下載網(wǎng)頁圖片資源時(shí),可以先查找緩存區(qū)域。如果目標(biāo)圖片已經(jīng)存在,則從緩存中下載;如果不存在,則從遠(yuǎn)程服務(wù)器下載。本文所述方法采用基于IE瀏覽器緩存機(jī)制實(shí)現(xiàn),具體步驟在
6、第五部分詳細(xì)闡述。2.3 下載限速原理本文提到的限速是指下載客戶端的限速,而并非服務(wù)器端的限速。由于網(wǎng)絡(luò)資源下載會(huì)占用較大帶寬,必須對(duì)下載流量進(jìn)行限制。本設(shè)計(jì)采用線程休眠來減少流量請(qǐng)求,從而實(shí)現(xiàn)流量限制。3 多線程下載軟件系統(tǒng)設(shè)計(jì)(Multi-threadeddownload software system design)3.1 系統(tǒng)整體框架系統(tǒng)基于.NET平臺(tái)開發(fā),采用面向?qū)ο蟮姆椒ㄅc雙層架構(gòu)并行的設(shè)計(jì)理念。雙層結(jié)構(gòu)包括表示層與邏輯層。邏輯層提供一切邏輯上的處理,如下載、切割文件等;表示層是用戶的功能界面。在分層架構(gòu)的思想指導(dǎo)下,邏輯層與表示層具有較小的關(guān)聯(lián)性,易于后期的維護(hù)和修改。3.2
7、系統(tǒng)核心類交互關(guān)系及功能本系統(tǒng)采用面向?qū)ο蟮木幊趟枷?,所有核心的代碼都由類構(gòu)成。系統(tǒng)下載類主要有下載模型DownloadBase、基于FTP下載的類FTPDownload、基于HTTP下載的類HttpDownload、基于P2P下載的類P2PDownload。其中DownloadBase為其他三個(gè)類的父類,繼承關(guān)系如圖1所示。4 功能實(shí)現(xiàn)(Function implementation)4.1 基于HTTP與FTP多線程斷點(diǎn)續(xù)傳核心技術(shù)實(shí)現(xiàn)本文以FTP為例闡述斷點(diǎn)續(xù)傳實(shí)現(xiàn)過程。當(dāng)程序運(yùn)行時(shí),根據(jù)URL啟動(dòng)多條線程連接FTP服務(wù)器,出于避開防火墻的考慮,連接方式采用消極模式。當(dāng)客戶端連接至FTP
8、服務(wù)器時(shí),發(fā)送RETR命令以獲取FTP上的文件。此過程并不是將文件數(shù)據(jù)一次性傳輸給客戶端,而是一步步傳輸。一般一次傳輸數(shù)據(jù)的大小即為緩存下載的大小,并且每條線程負(fù)責(zé)不同的數(shù)據(jù)段,每個(gè)數(shù)據(jù)段的大小除最后一條線程外都相等。獲取到數(shù)據(jù)后,客戶端再將數(shù)據(jù)從內(nèi)存中多線程并發(fā)寫入到硬盤。4.2 斷點(diǎn)續(xù)傳具體實(shí)現(xiàn)方法斷點(diǎn)續(xù)傳指的是在用戶暫停下載時(shí),系統(tǒng)應(yīng)保存已經(jīng)下載時(shí)的數(shù)據(jù),并記錄暫停下載時(shí)數(shù)據(jù)寫到的位置4;當(dāng)用戶重新啟動(dòng)下載時(shí),系統(tǒng)能自動(dòng)下載剩余尚未完成的數(shù)據(jù)。斷點(diǎn)續(xù)傳主要用于下載較大文件。 4.3 下載限速算法由于多線程技術(shù)可能會(huì)占用大量的網(wǎng)絡(luò)帶寬,影響用戶其他的網(wǎng)絡(luò)活動(dòng)5,因此要對(duì)下載流量進(jìn)行限制。本
9、設(shè)計(jì)使用線程休眠技術(shù)實(shí)現(xiàn)流量限制6,其流程圖如圖2所示。具體實(shí)現(xiàn)如下:假設(shè)使用N條線程下載遠(yuǎn)程文件F,每條線程所使用的下載緩存大小設(shè)為S字節(jié),并且獲取S字節(jié)所需實(shí)際時(shí)間為T毫秒,限速目標(biāo)值為V,則線程具體休眠時(shí)間的算法如下:步驟1:求出理想的線程休眠時(shí)間T=S/V,比較T與T的大小。若T=T,則表示獲取S字節(jié)的緩存所需時(shí)間大于理想休眠時(shí)間。換言之,當(dāng)前下載速度慢于限速目標(biāo)值V,無須進(jìn)行限速操作;反之,如果Tt,則表示當(dāng)前下載速度大于目標(biāo)限速值v,此時(shí)轉(zhuǎn)入第2步。 步驟2:由于Tt,則表示當(dāng)前下載速度大于限速目標(biāo)值v,必須進(jìn)行限速。由于在獲取s字節(jié)時(shí)已經(jīng)花去t毫秒,則下載s字節(jié)時(shí)總共所需休眠時(shí)間
10、應(yīng)為tx=t-t。 步驟3:由于是使用多線程下載,即N條線程并發(fā)下載,因此,每條線程下載休眠時(shí)間應(yīng)為TN=Tx/N毫秒。4.4 IE圖片緩存下載的實(shí)現(xiàn)本設(shè)計(jì)中的圖片緩存下載技術(shù)使用基于IE瀏覽器緩存機(jī)制來實(shí)現(xiàn),其流程圖如圖3所示。由于采用了圖片緩存下載技術(shù),下載速度有了極大的提高,最好的情況下將達(dá)到硬盤的讀寫速度,如22M/S。4.5 網(wǎng)頁圖片識(shí)別篩選功能傳統(tǒng)下載軟件在下載網(wǎng)頁圖片時(shí),往往是將所有圖片下載,而實(shí)際上用戶只需要下載感興趣的圖片?;诖?,本設(shè)計(jì)增加了網(wǎng)頁圖片識(shí)別篩選功能模型。該模型將圖片的長(zhǎng)寬大小范圍設(shè)定在30030016001600,以此作為用戶選擇下載的條件?;诖撕Y選模型下載
11、到符合要求的圖片準(zhǔn)確率比較高,一般可高達(dá)88%,其分析詳見5.3節(jié)。5 運(yùn)行分析與測(cè)試(Application analysis and test)5.1 多線程斷點(diǎn)續(xù)傳下載的測(cè)試本節(jié)對(duì)多線程斷點(diǎn)續(xù)傳功能進(jìn)行測(cè)試,測(cè)試資源是在互聯(lián)網(wǎng)任意選取的6個(gè)遠(yuǎn)程資源文件,所得測(cè)試數(shù)據(jù)見表1。從表1中可知6個(gè)目標(biāo)資源均成功下載至本地,且文件完整,說明本設(shè)計(jì)的多線程斷點(diǎn)續(xù)傳下載技術(shù)已經(jīng)實(shí)現(xiàn)成功。5.2 圖片緩存下載技術(shù)性能分析本文4.4節(jié)介紹了IE圖片緩存下載技術(shù)的實(shí)現(xiàn)方法,本節(jié)就對(duì)該技術(shù)的性能與迅雷軟件進(jìn)行對(duì)比分析。本實(shí)驗(yàn)的數(shù)據(jù)源是從互聯(lián)網(wǎng)上任意選取20個(gè)網(wǎng)頁,實(shí)驗(yàn)中對(duì)比了兩種下載軟件的性能,結(jié)果見表2。在
12、全部緩存到本地的情況下,緩存下載技術(shù)下載速度較傳統(tǒng)下載技術(shù)有了很大的改進(jìn)。依據(jù)表2,可得兩種方法下載時(shí)間比較的柱形圖,如圖4所示。從圖4中可明顯地看到,相同的圖片資源下載,運(yùn)用了緩存技術(shù)的下載軟件下載耗時(shí)很小。對(duì)比二者,下載差距如圖5所示。從中可以看到,當(dāng)下載網(wǎng)頁中26張圖片的時(shí)候,迅雷下載耗時(shí)是圖片緩存下載技術(shù)的3500多倍,即使在差距最小的情況下,迅雷下載耗時(shí)也是后者的200多倍。由實(shí)驗(yàn)分析可知,圖片緩存下載技術(shù)無論是在下載速度上,還是在占用本地資源上,較傳統(tǒng)下載軟件有較大優(yōu)勢(shì)。5.3 網(wǎng)頁圖片識(shí)別篩選準(zhǔn)確率分析本實(shí)驗(yàn)使用了表2的20個(gè)網(wǎng)頁進(jìn)行識(shí)別篩選測(cè)試,其結(jié)果如圖6所示。由圖可知,20
13、個(gè)網(wǎng)頁中有15個(gè)識(shí)別率高達(dá)100%,有4個(gè)識(shí)別率超過50%,只有1個(gè)識(shí)別率為0。從所選用的20個(gè)網(wǎng)頁來看,本圖片篩選模型平均準(zhǔn)確率達(dá)到了88%。結(jié)合此識(shí)別模型與圖片緩存下載技術(shù),可形成一個(gè)完整的下載方案:一方面提高了識(shí)別用戶目標(biāo)圖片的準(zhǔn)確度,另一方面下載的速度有著質(zhì)的飛躍。6 結(jié)論(Conclusion)本設(shè)計(jì)運(yùn)用了下載限速、斷點(diǎn)續(xù)傳、多線程、緩存下載等技術(shù),取得了良好的實(shí)現(xiàn)效果,最大限度利用了帶寬,提高了下載效率。針對(duì)目前主流下載軟件存在的不足,提出基于瀏覽器緩存特性實(shí)現(xiàn)的圖片緩存下載方法,顯著改善了圖片資源下載速度。參考文獻(xiàn)(References)1 周學(xué)威,閆鑫,趙櫸云,等.基于SOCKET的多線程下載工具的開發(fā)J.電子測(cè)試, 2011(08):104-106.2 楊代慶,王志蘋,王星,等.一種斷點(diǎn)續(xù)傳的多線
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《證券基本知識(shí)培訓(xùn)》課件
- 七年級(jí)英語Peopleandwork課件
- 2025年寫人要抓住特點(diǎn)
- 大學(xué)計(jì)算機(jī)專業(yè)介紹
- 《試驗(yàn)室管理》課件
- 單位管理制度集粹選集【職員管理篇】
- 單位管理制度范例選集人員管理十篇
- 單位管理制度呈現(xiàn)合集人員管理十篇
- 單位管理制度呈現(xiàn)大合集人事管理篇
- (高頻選擇題50題)第1單元 中華人民共和國(guó)的成立和鞏固(解析版)
- 2025屆江西省景德鎮(zhèn)市八年級(jí)數(shù)學(xué)第一學(xué)期期末質(zhì)量跟蹤監(jiān)視試題含解析
- 小學(xué)美術(shù)桂美版三年級(jí)上冊(cè)《第8課畫身邊的小物件》省級(jí)名師授課教案課教案獲獎(jiǎng)教案公開課教案A001
- 光電子技術(shù)(第二版)全套課件電子教案板
- 統(tǒng)編版(2024新版)七年級(jí)上冊(cè)歷史期末復(fù)習(xí)全冊(cè)知識(shí)點(diǎn)考點(diǎn)提綱
- 高中英語單詞默寫卡片新人教版必修二Unit1
- 無菌技術(shù)操作評(píng)分標(biāo)準(zhǔn)
- 《社群運(yùn)營(yíng)》全套教學(xué)課件
- 兒童版畫(版畫基礎(chǔ))
- 中央2024年國(guó)家國(guó)防科工局重大專項(xiàng)工程中心面向應(yīng)屆生招聘筆試歷年典型考題及考點(diǎn)附答案解析
- 車輛提檔委托書樣本
- 充值消費(fèi)返利合同范本
評(píng)論
0/150
提交評(píng)論