王毅敏
摘 要 隨著科技的發(fā)展,我國的科技水平得到了很大的進步,其中信息技術(shù)發(fā)展尤為突出。網(wǎng)絡(luò)編碼在本世紀初得到了大力發(fā)展,并推進了我國信息技術(shù)的發(fā)展,具有劃時代的意義,這種網(wǎng)絡(luò)編碼技術(shù)突破了傳統(tǒng)的理念,并將獨立比特不能再次壓縮這一經(jīng)典結(jié)論推翻了,利用網(wǎng)絡(luò)編碼技術(shù)實現(xiàn)了對信息流的壓縮功能,增強了網(wǎng)絡(luò)的吞吐量。文章分析P2P內(nèi)容分發(fā)系統(tǒng)中網(wǎng)絡(luò)編碼技術(shù)的作用,并對其具體的技術(shù)進行探討。
關(guān)鍵詞 P2P內(nèi)容分發(fā);網(wǎng)絡(luò)編碼技術(shù);系統(tǒng)
中圖分類號:TP393 文獻標識碼:A 文章編號:1671-7597(2014)07-0065-01
P2P內(nèi)容分發(fā)主要是用于對大文件的分發(fā),特別是處在大量用戶同時下載相同大文件中,P2P內(nèi)容分發(fā)就會先將文件劃分成多個數(shù)據(jù)塊,并將每一個數(shù)據(jù)塊都進行獨立的共享,使其能夠被分發(fā)、下載,這樣用戶就不用下載整個文件,只需要下載一個完整的數(shù)據(jù)塊,通過網(wǎng)絡(luò)對這些數(shù)據(jù)塊進行交換,就能得到對文件的下載,快速的得到下載文件。
1 網(wǎng)絡(luò)編碼原理
網(wǎng)絡(luò)編碼的原理是將不同的網(wǎng)絡(luò)信息轉(zhuǎn)換成“痕跡”,這些痕跡的特點是位數(shù)小,所以可以更容易的將這些痕跡在目標節(jié)點處進行演繹還原,這樣操作的目的就是避免進行反復的傳輸操作,也避免了將全部信息內(nèi)容進行復制。利用網(wǎng)絡(luò)編碼的原理,可以實現(xiàn)信息在多個節(jié)點中反復傳輸?shù)男Ч?,這主要是由于信息轉(zhuǎn)換成“痕跡”的特征實現(xiàn)的,這些痕跡最終會被送往目的端點。在整個的傳輸過程中,只需要將相關(guān)的信息痕跡轉(zhuǎn)換成位流就可以,不需要使用額外的路由以及容量,并且網(wǎng)絡(luò)編碼原理是可以通過常規(guī)的網(wǎng)絡(luò)設(shè)備實現(xiàn)的。
下面以具有兩個信宿的多播網(wǎng)絡(luò)為例進行說明網(wǎng)絡(luò)編碼的原理。圖1是網(wǎng)絡(luò)通信示意圖,通過這個示意圖解析這個多播網(wǎng)絡(luò)是如何獲取最大流的。圖為一個單信源兩信宿的網(wǎng)絡(luò),我們假設(shè)其每一個鏈路沒有時間延時,也沒有差錯,將源節(jié)點用S表示,目的節(jié)點分別用Y、Z來表示。在a圖中,我們將每一條邊上的信息傳輸速率定為每單位時間1bit,這樣通過有關(guān)的定理就能得出信源到目的節(jié)點的最大流,每條邊上的最大流都是2。這樣就說明信源S可以在同一時間向t1與t2發(fā)送2bit的信息量。B圖式具體的一種編碼方案,從圖中可以看出,在信源節(jié)點向b1與b2傳輸2bit信息量的過程中,在節(jié)點3處,需要利用網(wǎng)絡(luò)編碼技術(shù),將3與4輸出邊比特進行線性組合,得出模2加,才能夠?qū)崿F(xiàn)目的節(jié)點由這些線性組合演繹還原成b1b2,利用網(wǎng)絡(luò)編碼實現(xiàn)了傳統(tǒng)路由無法在單位時間將信息傳輸?shù)侥康墓?jié)點的功能,這是網(wǎng)絡(luò)編碼技術(shù)的優(yōu)點之一。
圖1 網(wǎng)絡(luò)編碼原理
2 P2P內(nèi)容分發(fā)系統(tǒng)中的網(wǎng)絡(luò)編碼技術(shù)
在P2P內(nèi)容分發(fā)系統(tǒng)中,利用網(wǎng)絡(luò)編碼技術(shù)實現(xiàn)了系統(tǒng)的很多功能優(yōu)化,其主要表現(xiàn)在編碼操作以及解碼操作過程中。
編碼操作就是將具有一定的編碼參數(shù)的多元編碼函數(shù)進行相關(guān)的操作。其中編碼函數(shù)是一個具有多個Pieces的變量以及一個編碼參數(shù)的多元函數(shù),并且這個函數(shù)的函數(shù)值就是一個編碼Pieces。用數(shù)學表示的方法將編碼函數(shù)表示出來,就可以得出有編碼函數(shù)相關(guān)操作產(chǎn)生的Pieces都具有相同的GOP,并且編碼函數(shù)的參數(shù)時可以進行任意設(shè)定的。
解碼操作是一個與編碼操作互逆的過程,就是在已知一定數(shù)量以及正確的Pieces前提下,對全部或者是部分原始的Pieces獲取的過程。由于編碼操作中得到的Pieces具有同一個GOP,所以原始的Pieces自身組合的集合一定是一個可解集,并且最小解集是存在的,所以我們一般將解碼操作分成以下幾個步驟進行。
1)建立一個空的Pieces集合;2)對找出的Pieces集合進行驗證,如果這個集合正確就將其歸入建立的Pieces集合中;3)尋找新的Pieces集合,并驗證其正確性以及是否對建立的空集合有用處,如果是一個正確的集合,且對步驟一中建立的集合有用,則保留在步驟一建立的集合中;4)重復步驟三中的操作,直到步驟一中建立的集合元素達到一定的數(shù)量;5)利用這個Pieces集合就能對所有的原始Pieces進行求解。
通過對編碼操作以及解碼操作的介紹,可以大致得出,在P2P內(nèi)容分發(fā)系統(tǒng)中,利用網(wǎng)絡(luò)編碼技術(shù)主要是對編碼函數(shù)以及解碼函數(shù)的設(shè)計,對有用的Pieces進行收集,并判斷Pieces是否有用,并驗證其的正確性。
3 網(wǎng)絡(luò)編碼技術(shù)應(yīng)用與P2P內(nèi)容分布系統(tǒng)中的優(yōu)點
在P2P網(wǎng)絡(luò)中應(yīng)用網(wǎng)絡(luò)編碼技術(shù)具有很大的優(yōu)勢,其主要表現(xiàn)在以下幾個方面。
1)利用網(wǎng)絡(luò)編碼可以大大減少文件下載的時間。在文件下載的過程中,需要在一個范圍較大的分布式系統(tǒng)中,找尋一條最佳的發(fā)送路徑,這是一個較為復雜的過程,在主機對于底層網(wǎng)絡(luò)拓撲了解較少情況下更為困難。利用網(wǎng)絡(luò)編碼技術(shù),就可以對網(wǎng)絡(luò)拓撲進行優(yōu)化,減少其以及文件發(fā)送的先后順序?qū)r間的影響,降低了文件下載的時間;2)網(wǎng)絡(luò)編碼具有較好的健壯性,這主要是由于利用網(wǎng)絡(luò)編碼技術(shù)進行編碼后的分組具有多樣性,在文件下載過程中,如果服務(wù)器離線或者某一網(wǎng)絡(luò)節(jié)點離開,都對文件的下載不會產(chǎn)生太大的影響;3)與轉(zhuǎn)發(fā)協(xié)議相比,網(wǎng)絡(luò)編碼的協(xié)議對于編碼性能的影響較?。?)在P2P網(wǎng)絡(luò)中,利用網(wǎng)絡(luò)編碼技術(shù)可以提升網(wǎng)絡(luò)傳播的安全性能;5)利用網(wǎng)絡(luò)編碼技術(shù),提升了P2P網(wǎng)絡(luò)的吞吐量,這是由于網(wǎng)絡(luò)編碼對于均勻以及非均勻的鏈路都有較強的獲取更多多播容量的性能,并且隨著節(jié)點平均數(shù)的增加,網(wǎng)絡(luò)吞吐量優(yōu)勢就越加明顯。
4 總結(jié)
本文對P2P內(nèi)容分發(fā)系統(tǒng)中的網(wǎng)絡(luò)編碼技術(shù)進行了探討,分析了網(wǎng)絡(luò)編碼的工作原理,并對其在P2P網(wǎng)絡(luò)中的應(yīng)用優(yōu)勢進行了分析,對網(wǎng)絡(luò)編碼技術(shù)在P2P內(nèi)容分發(fā)系統(tǒng)中的工作進行了探析。說明了基于網(wǎng)絡(luò)編碼技術(shù)的P2P內(nèi)容分發(fā)系統(tǒng)是具有較大的可行性的。對于網(wǎng)絡(luò)編碼技術(shù)的發(fā)展,可以將這種技術(shù)集成到ShareStorm系統(tǒng)中,實現(xiàn)系統(tǒng)的量化,進一步的提升P2P內(nèi)容分發(fā)系統(tǒng)的性能。
參考文獻
[1]雷迎春,程實,吳產(chǎn)樂,等.應(yīng)用網(wǎng)絡(luò)編碼的P2P內(nèi)容分發(fā)[J].計算機研究與發(fā)展,2009,46(1):108-109.endprint