亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        多人協作下載模式的設計

        2013-04-29 17:57:04連楠楠張偲鈕亮
        中外企業(yè)家 2013年6期
        關鍵詞:多線程

        連楠楠 張偲 鈕亮

        摘要:下載是網絡應用中最重要的組成部分,而即使在下載技術相對成熟的今天,還是有很多情況不能達到滿帶寬負荷地下載資源,本文設計的多人協作下栽模式,在多線程下栽的基礎上,應用多用戶同時提取資源的部分數據,再整合至傳輸速度快的服務器,實現快速下載的目的。

        關鍵詞:多線程;文件傳輸;下載

        中圖分類號:C931 文獻標志碼:A 文章編號:1000-8772(2013)15-0208-03

        1.引言

        中國互聯網規(guī)模與日俱增,越來越多的人開始使用互聯網,而在使用互聯網時,最重要的一個概念就是下載。下載的速度、占資源量和穩(wěn)定性一直被作為下載方式好壞的最重要的評估。目前的下載方式有HTTP方式,FTP方式,ED2K方式,BT方式,迅雷下載等。其中,FTP下載是最原始也最簡單的下載方式,服務器離客戶機的距離越近,下載人數越少,下載速度就越快,BT下載是現在最流行的P2P下載模式,利用用戶之間的相互傳輸來下載所需文件,下載的人數越多,上傳給其他用戶的也就越多,下載速度也就越快。由此可見,較近服務器上的,下載人數較少的文件適合用FTP下載,網絡上很熱門的文偉置合用P2P下載。

        然而,在下載資源的時候會碰到這樣一種情況:資源的原始地址是一個很遠的服務器,資源的下載者很少,當下載者要下載該資源時,資源數據的傳輸受到服務器出口帶寬的影響,并且將通過很多網絡節(jié)點傳輸到下載者的電腦中,嚴重影響速度。所以無論是傳統的FTP下載還是現今流行的P2P下載,都無法達到理想的下載速度。曾經網絡上流行過的乾坤小挪移工具,如今迅雷下載工具的離線下載功能都是用來處理這種資源,這些方法不需要用戶在線,就可以將遠方服務器上的資源慢慢移動到較近服務器,然后供應下載。但是利用離線下載工具需要服務器提供挪移功能,需要一定費用,而且單個服務器提取遠方服務器上資源的速度依然很慢,用戶雖然可以不用上線,卻依然要等待很久。多人協作下載模式正是用于解決這種下載問題。

        2.基本思想

        多人協作下載是基于多線程下載的文件挪移方法。在單條線程下載速度慢的時候,我們一般使用多線程下載,即在發(fā)送端將要傳輸的文件分割為大小相當的多塊,用多個線程,將這些塊同時向目標端發(fā)送。目標端可監(jiān)聽發(fā)送端的傳輸請求,一旦接到新的請求,則創(chuàng)建一個新的線程,與發(fā)送端的發(fā)送線程對應,接收數據,并記錄數據傳輸過程,下載完成的數據根據日志文檔的位置記錄對號入座,組成完整文件。

        事實上在服務器上下載資源的時候,下載者必須遵守服務器設定的線程限制,所以往往只能使用單線程下載或者極少的幾個線程進行下載。而服務器的下載線程限制是針對一個IP地址,如果能夠用網內多條寬帶,多個IP地址同時去下載文件的一部分,就能有效提高下載速率,多人協作下載就是這樣的下載模式。發(fā)送端源頭的操作方式與多線程下載類似,將文件分割為大小相當的多塊,在傳輸過程中,將文件塊傳輸請求發(fā)向網內多個目標,每條寬帶就可以下載一個或多個文件塊,然后上傳到較近的目標端服務器,合并為原文件,以供快速下載。

        見圖示1:

        3.實現原理

        3.1下載過程

        下載之前,首先要辨識資源屬性,包括標識資源的ID、鏈接地址、保存目錄、文件大名稱、資源大小等。然后要先將資源分成若干塊,這就需要建立一個臨時文件來保存每塊數據的信息,其中包括塊在原文件的起始位置,塊的長度,以及該塊的文件名。

        多人協作下載模式由發(fā)送端服務器,目標端服務器和一個客戶機群組成,但是在下載的時候,只用到發(fā)送端服務器和客戶機群,其中客戶機群有一個主客戶機,即創(chuàng)建下載任務的客戶機。在下載過程中,主客戶機不停地檢測客戶機群中是否有空閑客戶機,一旦發(fā)現空閑客戶機,就指示該客戶機像發(fā)送端服務器申請接受數據。然后發(fā)送端將檢測已經傳輸完成的和正在給其他客戶機傳輸的數據大小及位置,取出接下來應傳輸的數據塊并向客戶機發(fā)送數據??蛻魴C在接收數據時依照發(fā)送端服務器分割塊時的文件名來對接收的數據塊命名,同時創(chuàng)建臨時文件,記錄接收數據的起始位置,同時動態(tài)記錄已傳輸數據的大小,以便監(jiān)控傳輸進度,完成傳輸則退出。

        然而在下載的過程中,不能保證每臺客戶機在傳輸期間都能保持在線狀態(tài),所以在傳輸中斷的時候,會先檢測客戶機是否離線,如果還在線,則申請重新傳輸;倘若客戶機短時間內沒能繼續(xù)接受數據,則判斷為客戶機離線,將直接結束該數據塊的傳輸,發(fā)送端服務器也不會記錄到已傳輸,這樣一次數據塊的傳輸就宣告失敗,在下次又有空閑客戶機的時候,依然從以上數據塊開始傳輸。這種設計,就可以保證在下載過程中,每一個數據塊都能夠完整地傳輸到客戶機中,而每一個客戶機都能夠不間斷地下載數據塊,不會因為一個接收了下載任務的客戶機的斷線而耽擱整體下載進度。

        3.2上傳及整合

        主客戶機創(chuàng)建下載任務的同時,將在目標端服務器上創(chuàng)建一個以資源文件名命名的文件夾,用來接收各客戶機上傳的數據塊。

        在文件的數據塊被從發(fā)送端服務器下載到客戶機時,會有臨時文件記錄數據塊的已傳輸大小,當數據傳輸完成后,就會斷開線程,此時一個完整的數據塊就已經存在于某一臺客戶機的硬盤里。一塊數據一旦下載完成,就會立刻通過ftp協議上傳至目標服務器中主客戶機創(chuàng)建的文件夾。

        當所有數據塊都上傳到目標端服務器,主客戶機又將創(chuàng)建一個文件,通過文件讀寫操作,將數據塊的內容按照數據塊名字的順序拷貝到該文件,當所有數據塊都連接到一起,就組成了一個完整的文件,這個文件將存在于目標端服務器以供網內所有用戶下載。

        4.小結

        多人協作下載模式的設計旨在提高冷門資源的下載效率?;诙嗑€程下載技術,由多用戶同時提取發(fā)送端服務器上的資源,以達到快速下載的目的,針對較遠服務器上的資源和下載人數少的資源,都有一定應用價值。

        猜你喜歡
        多線程
        Java多線程同步機制在網絡售票系統中的應用
        科技資訊(2016年29期)2017-02-28 09:30:34
        Java并發(fā)工具包對并發(fā)編程的優(yōu)化
        基于多線程文件傳輸關鍵技術研究與實現
        網頁爬蟲技術的關鍵技術研究探索
        一種基于多線程的高速磁盤鏡像算法
        iOS并發(fā)程序設計中幾種方法的特點及使用技巧研究
        HTM L5 Web WOrker技術及應用研究
        電站鍋爐煤粉參數遠程監(jiān)控系統的軟件設計與實現
        一種高并發(fā)認證服務器的實現
        一種低開銷的并行重復數據刪除算法
        軟件導刊(2015年8期)2015-09-18 12:59:11
        亚洲女同免费在线观看| 欧美在线a| 国产一区二区三区免费精品| 日本一级三级在线观看| 亚洲色大成网站www永久| 精品日韩欧美一区二区在线播放| 乱中年女人伦av三区| 黄色大片国产精品久久| av影院在线免费观看不卡| 99精品人妻少妇一区二区| 伊人网在线视频观看| 久久亚洲精品成人av观看| 亚洲精品中文字幕免费专区| 影音先锋女人av鲁色资源网久久| 国产日产精品久久久久久| 丝袜美腿诱惑一二三区| 亚洲av高清一区二区三| 人妻少妇久久中文字幕一区二区| 精品一精品国产一级毛片| 青青草精品在线免费观看| 亚洲va久久久噜噜噜久久天堂| 欧美日韩视频无码一区二区三| 成年男人裸j照无遮挡无码| 99伊人久久精品亚洲午夜| 中国老太婆bb无套内射| 欧美z0zo人禽交欧美人禽交| 久久亚洲精品国产精品婷婷| 亚洲av不卡一区男人天堂 | 国产精品无码av天天爽| 日本a在线播放| 亚洲一区二区三区熟妇| 亚洲av精品一区二区三区| 99精品电影一区二区免费看| 国产在线精品亚洲视频在线| 国产极品裸体av在线激情网| 成人激情五月天| 人妻少妇精品无码专区app| 亚洲中文字幕乱码一二三| 久久久亚洲欧洲日产国码αv | 国产在线网址| 日本一区二区偷拍视频|