欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于隨機網(wǎng)絡(luò)編碼的本地多客戶端協(xié)同數(shù)據(jù)下載方法

文檔序號:7550125閱讀:202來源:國知局
專利名稱:一種基于隨機網(wǎng)絡(luò)編碼的本地多客戶端協(xié)同數(shù)據(jù)下載方法
技術(shù)領(lǐng)域
本發(fā)明涉及網(wǎng)絡(luò)中數(shù)據(jù)傳輸?shù)募夹g(shù)領(lǐng)域,更具體地說,涉及網(wǎng)絡(luò)中利用網(wǎng)絡(luò)編碼加速本地多客戶端從服務(wù)器下載數(shù)據(jù)的方法。術(shù)語解釋網(wǎng)絡(luò)編碼的含義:網(wǎng)絡(luò)編碼是一種通過中繼節(jié)點對接收到的信息進行編碼來達到提高多播網(wǎng)絡(luò)容量的技術(shù)。隨機線性網(wǎng)絡(luò)編碼的含義:隨機線性網(wǎng)絡(luò)編碼將n個待發(fā)送的原始數(shù)據(jù)分別乘以隨機產(chǎn)生的n個系數(shù)并相加得到編碼后的數(shù)據(jù)塊,每個編碼數(shù)據(jù)塊會包含這n個系數(shù)。當(dāng)一個節(jié)點接收到n個編碼數(shù)據(jù)塊后,會將每個數(shù)據(jù)塊中的系數(shù)作為一個方程的系數(shù),將n個原始數(shù)據(jù)作為未知數(shù),得到一個n元線性方程組。然后通過高斯消元法解線性方程組來得到這n個原始數(shù)據(jù)。
背景技術(shù)
最初網(wǎng)絡(luò)上的數(shù)據(jù)下載大都采用“客戶端/服務(wù)器”的模式,即客戶端直接從服務(wù)器上下載數(shù)據(jù)。為了提高數(shù)據(jù)的下載速度同時減輕服務(wù)器的數(shù)據(jù)傳輸壓力,P2P網(wǎng)絡(luò)(對等網(wǎng)絡(luò))開始應(yīng)用到數(shù)據(jù)的下載中。P2P網(wǎng)絡(luò)的一個重要特點就是能夠讓所有的客戶端都提供資源,客戶端除了能夠直接從服務(wù)器上下載數(shù)據(jù)外,還可以從其他客戶端獲取數(shù)據(jù)。但是在傳統(tǒng)P2P網(wǎng)絡(luò)中,當(dāng)多個客戶端同時從服務(wù)器下載同一段數(shù)據(jù)時(例如流媒體直播),由于服務(wù)器發(fā)送給各個客戶端的數(shù)據(jù)都相同,所以這多個客戶端間能夠共享的數(shù)據(jù)大大減少,無法充分發(fā)揮客戶端間的協(xié)作性來利用彼此的帶寬。

發(fā)明內(nèi)容
本發(fā)明利用了隨機網(wǎng)絡(luò)編碼中對數(shù)據(jù)處理的方法,通過對數(shù)據(jù)編碼來提高數(shù)據(jù)塊的可利用率,同時利用本地客戶端之間較高的數(shù)據(jù)傳輸帶寬來增強協(xié)作性。本發(fā)明的技術(shù)方案如下:(I)本地多客戶端間需要通過有線或者無線的方式組建成一個邏輯上的有向環(huán)形網(wǎng)絡(luò)來共享數(shù)據(jù)。環(huán)形網(wǎng)絡(luò)需首先由一個客戶端作為發(fā)起者來建立一個邏輯上的有向鏈狀網(wǎng)絡(luò),鏈狀網(wǎng)絡(luò)最后加入的節(jié)點作為末端節(jié)點。末端節(jié)點負(fù)責(zé)連接新的節(jié)點,并把新的節(jié)點作為自己的下游節(jié)點。當(dāng)沒有新的節(jié)點能夠加入鏈狀網(wǎng)絡(luò)時,末端節(jié)點會連接發(fā)起者來形成一個邏輯上的有向環(huán)形網(wǎng)絡(luò)。有向環(huán)形網(wǎng)絡(luò)上,共享的數(shù)據(jù)只會從上游節(jié)點發(fā)向下游節(jié)點。當(dāng)有向環(huán)形網(wǎng)絡(luò)中的某個節(jié)點斷開后,該節(jié)點的上游節(jié)點會連接該節(jié)點的下游節(jié)點來恢復(fù)成有向環(huán)形網(wǎng)絡(luò)。(2)服務(wù)器需要對發(fā)送的文件數(shù)據(jù)進行分段,客戶端下載文件數(shù)據(jù)時會依次下載這些數(shù)據(jù)分段。每當(dāng)客戶端向服務(wù)器發(fā)送消息確認(rèn)收到某個數(shù)據(jù)段后,服務(wù)器會接著發(fā)送下一個數(shù)據(jù)段。每次服務(wù)器發(fā)送某個數(shù)據(jù)段時,會將該數(shù)據(jù)段分塊,并按照隨機線性網(wǎng)絡(luò)編碼中的編碼方式生成一個編碼塊,然后不斷發(fā)送這樣的編碼塊給客戶端直到客戶端能夠解碼出原數(shù)據(jù)為止。(3)本地所有客戶端會從服務(wù)器上下載同一個文件數(shù)據(jù)。每個客戶端從服務(wù)器收到編碼塊后要發(fā)送給自己的下游節(jié)點,每個客戶端收到上游節(jié)點的編碼塊后也要發(fā)送給下游節(jié)點除非該編碼塊對應(yīng)的原數(shù)據(jù)分段已經(jīng)被該客戶端獲取或者該編碼塊已經(jīng)在環(huán)形網(wǎng)絡(luò)上流動一圈。(4) 一個客戶端收到足夠的編碼塊后會按照隨機線性網(wǎng)絡(luò)編碼中的方法對數(shù)據(jù)進行解碼來得到原數(shù)據(jù)分段,然后向服務(wù)器發(fā)送消息確認(rèn)收到該數(shù)據(jù)段。


圖1是本發(fā)明的本地環(huán)形網(wǎng)絡(luò)建立過程。圖2是本發(fā)明的全局網(wǎng)絡(luò)結(jié)構(gòu)圖。圖3是本發(fā)明的工作流程圖。
具體實施例方式下面結(jié)合附圖和實施例對本發(fā)明做進一步的說明。參見圖3,本方法內(nèi)的數(shù)據(jù)協(xié)同下載過程主要包括以下步驟:步驟101:本地客戶端之間組建環(huán)形網(wǎng)絡(luò),具體過程如下:假設(shè)本地有5個客戶端,5個客戶端之間能夠彼此感知并建立連接。如圖l_a,初始時,把I號客戶端設(shè)為發(fā)起者先通過發(fā)起者建立一個有向鏈狀網(wǎng)絡(luò),發(fā)起者會設(shè)置本次組建的環(huán)形網(wǎng)絡(luò)的標(biāo)示,添加下載文件名稱以及對應(yīng)的下載地址。由于最初鏈狀網(wǎng)絡(luò)上只有I號客戶端,所以I號客戶端同時為該鏈狀網(wǎng)絡(luò)的末端節(jié)點,末端節(jié)點負(fù)責(zé)監(jiān)聽其他客戶端的請求信息,然后同其中的一個客戶端建立連接。如圖l_b,沒有被設(shè)置為發(fā)起者的客戶端會不斷廣播發(fā)送請求信息來讓末端節(jié)點感知到自己的存在。I號客戶端,即末端節(jié)點首先收到的2號客戶端的請求信息后,會同2號客戶端建立連接,同時不再處理其它請求信息,之后末端節(jié)點會向2號客戶端發(fā)送確認(rèn)信息,其中會包含發(fā)起者的網(wǎng)絡(luò)地址,本次組建的環(huán)形網(wǎng)絡(luò)標(biāo)示,下載文件名稱以及對應(yīng)的下載地址等信息。2號客戶端收到末端節(jié)點的確認(rèn)信息后,會把末端節(jié)點設(shè)置為自己的上游節(jié)點,同時再向末端節(jié)點發(fā)送信息表示已經(jīng)同意加入鏈狀網(wǎng)絡(luò),此時2號節(jié)點會自動成為新的末端節(jié)點來接收請求信息,并停止發(fā)送請求信息。而原來的末端節(jié)點在收到2號客戶端的同意信息后會將2號客戶端設(shè)置為自己的下游節(jié)點,同時自動放棄自身末端節(jié)點的身份,不再接收請求信息。如圖1-c,其它客戶端按照上述過程不斷加入鏈狀網(wǎng)絡(luò),直到末端節(jié)點再也收不到其它客戶端的請求信息,此時5號客戶端成為了末端節(jié)點。如圖1-d,末端節(jié)點,即5號客戶端在一定時間(該時間可根據(jù)網(wǎng)絡(luò)狀況自動調(diào)整)內(nèi)收不到請求信息后,會根據(jù)發(fā)起者的網(wǎng)絡(luò)地址去連接發(fā)起者。連接建立起來后,發(fā)起者自動把末端節(jié)點設(shè)置為自己的上游節(jié)點,而末端節(jié)點自動將發(fā)起者設(shè)置為自己的下游節(jié)點。此時,環(huán)形網(wǎng)絡(luò)已經(jīng)建立起來,發(fā)起者會向自己的下游節(jié)點發(fā)送一個開始信息,每個客戶端收到開始信息后會自動根據(jù)文件下載地址連接服務(wù)器下載文件數(shù)據(jù),如果該客戶端不是末端節(jié)點,它會把該信息發(fā)給自己的下游節(jié)點。
如圖1-e,假如4號客戶端需要退出環(huán)形網(wǎng)絡(luò),它會發(fā)送消息告知上游節(jié)點自己下游節(jié)點的網(wǎng)絡(luò)地址,同時告知下游節(jié)點自己上游節(jié)點的網(wǎng)絡(luò)地址,讓自己的上游節(jié)點連接到自己的下游節(jié)點上,即讓3號節(jié)點連接到5號節(jié)點上并更新它們的上下游節(jié)點信息。然后4號客戶端就自動退出了環(huán)形網(wǎng)絡(luò)。如果4號節(jié)點是突然退出的,那么5號客戶端也會因為感知(每條連接應(yīng)該通過周期性的交換數(shù)據(jù)來維持連接,并由此來感知連接是否斷開)到與4號客戶端之間連接的斷開而沒有了上游節(jié)點,此時5號客戶端會發(fā)送請求信息,同時3號節(jié)點同樣因為沒有下游節(jié)點而開始接收請求信息,從而促成3號節(jié)點會連接到5號節(jié)點上,最終重新組成環(huán)形網(wǎng)絡(luò),如圖l_f。步驟102:遠(yuǎn)端服務(wù)器收到客戶端請求后開始發(fā)送編碼塊,具體過程如下:服務(wù)器會對發(fā)送的文件數(shù)據(jù)進行分段,客戶端下載文件數(shù)據(jù)時會依次下載這些數(shù)據(jù)分段,這些分段會進行標(biāo)號,數(shù)據(jù)段號按照在文件中的先后順序遞增。每當(dāng)客戶端向服務(wù)器發(fā)送消息確認(rèn)收到某個數(shù)據(jù)段后,服務(wù)器會接著發(fā)送下一個數(shù)據(jù)段。服務(wù)器發(fā)送某個數(shù)據(jù)段時,會將該數(shù)據(jù)段分成k塊,然后在有限域GF (256)內(nèi)隨機生成k個系數(shù)分別與這k塊數(shù)據(jù)相乘后再利用有限域的加法運算(異或運算)加在一起生成一個編碼塊,編碼塊中會包含生成該編碼塊的k個系數(shù)。服務(wù)器會不斷地從某個數(shù)據(jù)段中生成這樣的編碼塊發(fā)送給需要該數(shù)據(jù)段的客戶端。步驟103:本地客戶端接收和轉(zhuǎn)發(fā)編碼塊,具體過程如下:客戶端收到服務(wù)器的一個編碼塊后,會在其中加入自己的網(wǎng)絡(luò)地址信息并發(fā)送給自己的下游節(jié)點。每個節(jié)點收到上游節(jié)點的編碼塊后,如果編碼塊中的網(wǎng)絡(luò)地址不是自己的下游節(jié)點的網(wǎng)絡(luò)地址并且該編碼塊是自己正需要或者將來需要下載的數(shù)據(jù)段的編碼塊(由于數(shù)據(jù)段是順次下載的,所以數(shù)據(jù)段的標(biāo)號大于當(dāng)前需要接收的數(shù)據(jù)段的標(biāo)號即為自己將來需要下載的數(shù)據(jù)段),那么它將把該編碼塊發(fā)送給自己的下游節(jié)點。步驟104:本地客戶端收到足夠的編碼塊后解碼得到原數(shù)據(jù)段,具體過程如下:客戶端收到n個編碼塊后(n > = k),會把每個編碼塊中的隨機系數(shù)作為一個線性方程組的系數(shù)矩陣,利用高斯消元法解方程就可以得到k塊原始數(shù)據(jù),將k塊原始數(shù)據(jù)順次組合起來就得到了真正需要的原始數(shù)據(jù)段。然后客戶端就需要向服務(wù)器發(fā)送該數(shù)據(jù)段收到的確認(rèn)信息,并等待服務(wù)器發(fā)送下一個數(shù)據(jù)段的編碼塊。以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種基于隨機網(wǎng)絡(luò)編碼的本地多客戶端協(xié)同數(shù)據(jù)下載方法,其特征在于,服務(wù)器每次只發(fā)送文件數(shù)據(jù)的編碼塊,本地多個能夠彼此建立連接的客戶端需要組成一個邏輯上的有向環(huán)形網(wǎng)絡(luò)來接收共享數(shù)據(jù)。
2.按權(quán)利要求1所述的方法,其特征在于,服務(wù)器先對文件數(shù)據(jù)進行分段,再把數(shù)據(jù)段分成多個文件塊,服務(wù)器每次發(fā)送的數(shù)據(jù)都是按照隨機網(wǎng)絡(luò)編碼中的編碼方式對一個段內(nèi)的所有原始文件塊進行線性組合的編碼塊。
3.按權(quán)利要求1所述的方法,其特征在于,本地多個客戶端之間要建立一個邏輯上的有向環(huán)形網(wǎng)絡(luò),每個客戶端只有一個上游節(jié)點和一個下游節(jié)點,并且有一個客戶端是末端節(jié)點可以接收新的節(jié)點加入到有向環(huán)形網(wǎng)絡(luò)。
4.按權(quán)利要求1所述的方法,其特征在于,每個客戶端都要將自己從服務(wù)器端接收的編碼塊轉(zhuǎn)發(fā)給自己的下游節(jié)點,每個客戶端收到上游節(jié)點的編碼塊后,都會將自己正需要或者將來需要下載數(shù)據(jù)段的編碼塊轉(zhuǎn)發(fā)給自己的下游節(jié)點,每個客戶端只會發(fā)送編碼塊給自己的下游節(jié)點。
全文摘要
本發(fā)明公開了一種基于隨機網(wǎng)絡(luò)編碼的本地多客戶端協(xié)同數(shù)據(jù)下載方法,該數(shù)據(jù)下載方法采取如下步驟服務(wù)器每次只發(fā)送客戶端所請求數(shù)據(jù)的一個編碼塊;本地客戶端之間建立一個邏輯上的有向環(huán)形網(wǎng)絡(luò);本地多個客戶端從服務(wù)器下載相同的數(shù)據(jù);每個客戶端從服務(wù)器收到編碼塊后要發(fā)送給自己的下游節(jié)點;每個客戶端收到上游節(jié)點的編碼塊后也要發(fā)送給下游節(jié)點除非該編碼塊對應(yīng)的原數(shù)據(jù)已經(jīng)被該客戶端獲取或者該編碼塊已經(jīng)在環(huán)形網(wǎng)絡(luò)上流動一圈;每個客戶端收到足夠多的編碼塊后就可以解碼得到原數(shù)據(jù)。使用本方法下載數(shù)據(jù),可以讓每個客戶端充分利用本地其他客戶端下載的數(shù)據(jù),從而成倍提高每個客戶端的下載速度。
文檔編號H04L1/00GK103095827SQ201310009810
公開日2013年5月8日 申請日期2013年1月11日 優(yōu)先權(quán)日2013年1月11日
發(fā)明者潘耘, 王琨, 于亞芳, 方馳 申請人:中國傳媒大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
牟定县| 平远县| 张掖市| 甘洛县| 崇左市| 北辰区| 肇东市| 土默特左旗| 阿图什市| 景谷| 潜江市| 灵寿县| 会泽县| 河曲县| 嘉禾县| 盱眙县| 临澧县| 渑池县| 兰考县| 开化县| 泸水县| 鹤壁市| 湄潭县| 高邮市| 沾化县| 香港| 铁力市| 个旧市| 梨树县| 张家港市| 沙洋县| 铜鼓县| 明溪县| 兴山县| 乐东| 吴堡县| 上高县| 渝中区| 南充市| 兴安盟| 启东市|