專利名稱:一種基于p2p技術(shù)的網(wǎng)絡(luò)視頻信號(hào)的處理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種網(wǎng)絡(luò)信號(hào)的處理方法,尤其是涉及一種基于P2P技術(shù)的網(wǎng)絡(luò)視頻信號(hào)的處理方法。
背景技術(shù):
現(xiàn)有的網(wǎng)絡(luò)實(shí)時(shí)視頻的領(lǐng)域大多應(yīng)用P2P技術(shù)來實(shí)現(xiàn)網(wǎng)絡(luò)視頻信號(hào)的傳送和接收。P2P技術(shù)固然有很多好處,但也有其自身的缺點(diǎn),單論數(shù)據(jù)的冗余就非常大,這耗費(fèi)了巨大的網(wǎng)絡(luò)資源-帶寬。特別當(dāng)在同一局域網(wǎng)中各個(gè)主機(jī)為了收看網(wǎng)絡(luò)視頻而競(jìng)相爭(zhēng)搶共享的網(wǎng)絡(luò)帶寬時(shí),網(wǎng)絡(luò)變得擁堵不堪,在網(wǎng)絡(luò)帶寬不太寬裕的今天,這個(gè)缺點(diǎn)可以說是致命的。
其實(shí)我們都知道,網(wǎng)絡(luò)上的每一個(gè)數(shù)據(jù)包都會(huì)發(fā)送到網(wǎng)絡(luò)上的每一臺(tái)主機(jī),只不過是在默認(rèn)的情況下主機(jī)丟棄了那些目的地址不是本機(jī)地址的數(shù)據(jù)報(bào)。而當(dāng)網(wǎng)絡(luò)中的數(shù)據(jù)冗余過大的時(shí)候,從這些被當(dāng)作“垃圾”的數(shù)據(jù)包中獲取有價(jià)值的數(shù)據(jù)將是非?!傲畠r(jià)”的。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種網(wǎng)絡(luò)視頻信號(hào)的傳送和接收方法,可以在不喪失P2P技術(shù)的“中心邊緣化”的主要優(yōu)點(diǎn)的情況下,大大節(jié)約網(wǎng)絡(luò)資源。
本發(fā)明解決上述技術(shù)問題所采用的技術(shù)方案為一種基于P2P技術(shù)的網(wǎng)絡(luò)視頻信號(hào)的處理方法,它包括以下步驟①通過一個(gè)IP級(jí)別的套接字在網(wǎng)絡(luò)數(shù)據(jù)流中攔截所有通過本地主機(jī)的數(shù)據(jù)包;②獲取數(shù)據(jù)包之后,根據(jù)IP包的第十個(gè)字節(jié)所表示的上層協(xié)議標(biāo)識(shí)將TCP包和UDP包區(qū)分出來,并丟棄其它協(xié)議的數(shù)據(jù)包;③根據(jù)事先設(shè)置的內(nèi)容數(shù)據(jù)的第一個(gè)字校驗(yàn)數(shù)據(jù)包中的數(shù)據(jù),保留特定發(fā)送的數(shù)據(jù)包;④通過TCP數(shù)據(jù)包的命令和源地址信息確定本地網(wǎng)絡(luò)中的相關(guān)主機(jī)的工作情況和工作狀態(tài),整理成操作數(shù)據(jù)單元放入操作隊(duì)列;⑤通過TCP協(xié)議從操作隊(duì)列中取得操作數(shù)據(jù)單元,更新本地聯(lián)網(wǎng)主機(jī)的信息;⑥通過UDP數(shù)據(jù)包傳輸音視頻數(shù)據(jù)和其他不要求安全到達(dá)目的地的數(shù)據(jù),并對(duì)這些數(shù)據(jù)進(jìn)行數(shù)據(jù)變換、解壓、解密、排序處理后成應(yīng)用數(shù)據(jù)單元,放入數(shù)據(jù)隊(duì)列;⑦通過UDP協(xié)議從數(shù)據(jù)隊(duì)列中獲取數(shù)據(jù)單元,根據(jù)工作情況處理數(shù)據(jù)單元,然后根據(jù)本地聯(lián)網(wǎng)主機(jī)的信息和自身數(shù)據(jù)的擁有情況,有目的的發(fā)送數(shù)據(jù)包。
所述的步驟③中的第一個(gè)字為標(biāo)示字PT。
與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)在于將數(shù)據(jù)包攔截技術(shù)作為P2P技術(shù)的有效補(bǔ)充,把兩種技術(shù)有機(jī)的結(jié)合起來,利用數(shù)據(jù)包的攔截技術(shù)可以在不增加任何服務(wù)端(包括服務(wù)器端和普通客戶端)負(fù)擔(dān)的情況下,大大的提高數(shù)據(jù)包的利用率,從而提高網(wǎng)絡(luò)資源的利用率。
圖1為本發(fā)明的流程圖。
具體實(shí)施例方式
以下結(jié)合附圖實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)描述。
如圖1所示,一種基于P2P技術(shù)的網(wǎng)絡(luò)視頻信號(hào)的處理方法,它包括以下步驟①通過一個(gè)IP級(jí)別的套接字在網(wǎng)絡(luò)數(shù)據(jù)流中攔截所有通過本地主機(jī)的數(shù)據(jù)包;由于這個(gè)套接字是IP級(jí)別的,也就是說它的設(shè)計(jì)級(jí)別是網(wǎng)絡(luò)編成的最底層,并且IP是網(wǎng)絡(luò)數(shù)據(jù)的傳輸單元,所以它監(jiān)聽所獲取的數(shù)據(jù)是“本地網(wǎng)絡(luò)”的所有數(shù)據(jù)(包)——包括目的地址是本機(jī)的和目的地址不是本機(jī)的所有數(shù)據(jù)包;②獲取數(shù)據(jù)包之后,根據(jù)IP包的第十個(gè)字節(jié)所表示的上層協(xié)議標(biāo)識(shí)將TCP包和UDP包區(qū)分出來,并丟棄其它協(xié)議的數(shù)據(jù)包;③根據(jù)事先設(shè)置的內(nèi)容數(shù)據(jù)的第一個(gè)字(標(biāo)示字PT)校驗(yàn)數(shù)據(jù)包中的數(shù)據(jù),保留特定發(fā)送的數(shù)據(jù)包;④通過TCP數(shù)據(jù)包的命令和源地址信息確定本地網(wǎng)絡(luò)中的相關(guān)主機(jī)的工作情況和工作狀態(tài),整理成操作數(shù)據(jù)單元放入操作隊(duì)列;TCP即傳輸控制協(xié)議,這種協(xié)議用于傳輸控制命令和一些數(shù)據(jù)準(zhǔn)確性要求相對(duì)比較高的數(shù)據(jù),所以應(yīng)用它傳送的是請(qǐng)求數(shù)據(jù)及其反饋數(shù)據(jù);⑤通過TCP協(xié)議從操作隊(duì)列中取得操作數(shù)據(jù)單元,更新本地聯(lián)網(wǎng)主機(jī)的信息(包括工作情況和工作狀態(tài)等);⑥通過UDP數(shù)據(jù)包傳輸音視頻數(shù)據(jù)和其他不要求安全到達(dá)目的地的數(shù)據(jù),并對(duì)這些數(shù)據(jù)進(jìn)行數(shù)據(jù)變換、解壓、解密、排序處理后成應(yīng)用數(shù)據(jù)單元,放入數(shù)據(jù)隊(duì)列;UDP即用戶數(shù)據(jù)報(bào)協(xié)議,這種協(xié)議用于發(fā)送數(shù)據(jù)安全性要求不高的數(shù)據(jù);⑦通過UDP協(xié)議從數(shù)據(jù)隊(duì)列中獲取數(shù)據(jù)單元,根據(jù)工作情況處理數(shù)據(jù)單元,然后根據(jù)本地聯(lián)網(wǎng)主機(jī)的信息和自身數(shù)據(jù)的擁有情況,有目的的發(fā)送數(shù)據(jù)包。
這種技術(shù)在網(wǎng)絡(luò)實(shí)時(shí)視頻這種對(duì)實(shí)時(shí)和同步要求比較高的領(lǐng)域中是很適合的,可以在不增加任何服務(wù)端(包括服務(wù)器端和普通客戶端)負(fù)擔(dān)的情況下,提高網(wǎng)絡(luò)數(shù)據(jù)的利用率。因?yàn)樗窍喈?dāng)于“共享”了網(wǎng)絡(luò)數(shù)據(jù)包,所有不會(huì)增加網(wǎng)絡(luò)負(fù)擔(dān)。
舉例來說在一個(gè)網(wǎng)絡(luò)內(nèi),因?yàn)槊恳慌_(tái)主機(jī)都各自發(fā)送請(qǐng)求數(shù)據(jù)和接收反饋數(shù)據(jù)—搶占一部分網(wǎng)絡(luò)資源,并且網(wǎng)絡(luò)中某一時(shí)間只允許一個(gè)數(shù)據(jù)包傳輸,所以我們才會(huì)在本地網(wǎng)絡(luò)中的主機(jī)都在使用網(wǎng)絡(luò)時(shí)感覺到網(wǎng)速的下降—網(wǎng)絡(luò)擁堵。假設(shè)在本地網(wǎng)絡(luò)中有n臺(tái)主機(jī),那么每臺(tái)主機(jī)每傳輸一個(gè)單位數(shù)據(jù)量,在網(wǎng)絡(luò)上就有n*n倍的單位數(shù)據(jù)量流經(jīng)每一臺(tái)網(wǎng)絡(luò)主機(jī),而這其中只有n倍的單位數(shù)據(jù)量被主機(jī)保留,大量多余的數(shù)據(jù)—n*(n-1)倍單位數(shù)據(jù)量被丟棄。利用上述數(shù)據(jù)包的攔截技術(shù),就可以大大的提高數(shù)據(jù)包的利用率,從而提高網(wǎng)絡(luò)資源的利用率。最好的情況是n臺(tái)主機(jī)同時(shí)進(jìn)行數(shù)據(jù)交換,那么就可以傳輸1倍的單位數(shù)據(jù)量,而讓n臺(tái)主機(jī)共享;而最差情況無非也就是n臺(tái)主機(jī)逐次進(jìn)行數(shù)據(jù)交換或者在進(jìn)行無冗余的數(shù)據(jù)傳輸,那么網(wǎng)絡(luò)上的數(shù)據(jù)傳輸量,也就與先前相同了,但整體來說網(wǎng)絡(luò)資源的利用率確實(shí)是提高了。
這樣,只要有一臺(tái)主機(jī)與某一個(gè)或一些服務(wù)器或數(shù)據(jù)發(fā)送主機(jī)有數(shù)據(jù)連接,那么結(jié)果是與這一臺(tái)數(shù)據(jù)接受主機(jī)在同一個(gè)網(wǎng)絡(luò)中的所有主機(jī),在不占有任何網(wǎng)絡(luò)資源并且不增加任何一臺(tái)主機(jī)負(fù)擔(dān)的情況下,都可以接收到該一系列數(shù)據(jù)。
另外,雖然這種技術(shù)類似于“廣播”,但事實(shí)上所有的網(wǎng)絡(luò)數(shù)據(jù)傳輸都是“廣播”,只不過通過不同的協(xié)議實(shí)現(xiàn)了連接,而這項(xiàng)技術(shù)就是要以網(wǎng)絡(luò)中的“廣播”為平臺(tái),充分地利用“廣播”,實(shí)現(xiàn)網(wǎng)絡(luò)資源利用率的提高。本發(fā)明的方法使用了TCP/IP協(xié)議所以就能有效地穿透內(nèi)網(wǎng)(NAT)和忽略路由器的廣播阻隔。
權(quán)利要求
1.一種基于P2P技術(shù)的網(wǎng)絡(luò)視頻信號(hào)的處理方法,其特征在于它包括以下步驟①通過一個(gè)IP級(jí)別的套接字在網(wǎng)絡(luò)數(shù)據(jù)流中攔截所有通過本地主機(jī)的數(shù)據(jù)包;②獲取數(shù)據(jù)包之后,根據(jù)IP包的第十個(gè)字節(jié)所表示的上層協(xié)議標(biāo)識(shí)將TCP包和UDP包區(qū)分出來,并丟棄其它協(xié)議的數(shù)據(jù)包;③根據(jù)事先設(shè)置的內(nèi)容數(shù)據(jù)的第一個(gè)字校驗(yàn)數(shù)據(jù)包中的數(shù)據(jù),保留特定發(fā)送的數(shù)據(jù)包;④通過TCP數(shù)據(jù)包的命令和源地址信息確定本地網(wǎng)絡(luò)中的相關(guān)主機(jī)的工作情況和工作狀態(tài),整理成操作數(shù)據(jù)單元放入操作隊(duì)列;⑤通過TCP協(xié)議從操作隊(duì)列中取得操作數(shù)據(jù)單元,更新本地聯(lián)網(wǎng)主機(jī)的信息;⑥通過UDP數(shù)據(jù)包傳輸音視頻數(shù)據(jù)和其他不要求安全到達(dá)目的地的數(shù)據(jù),并對(duì)這些數(shù)據(jù)進(jìn)行數(shù)據(jù)變換、解壓、解密、排序處理后成應(yīng)用數(shù)據(jù)單元,放入數(shù)據(jù)隊(duì)列;⑦通過UDP協(xié)議從數(shù)據(jù)隊(duì)列中獲取數(shù)據(jù)單元,根據(jù)工作情況處理數(shù)據(jù)單元,然后根據(jù)本地聯(lián)網(wǎng)主機(jī)的信息和自身數(shù)據(jù)的擁有情況,有目的的發(fā)送數(shù)據(jù)包。
2.如權(quán)利要求1所述的一種基于P2P技術(shù)的網(wǎng)絡(luò)視頻信號(hào)的處理方法,其特征在于所述的步驟③中的第一個(gè)字為標(biāo)示字PT。
全文摘要
本發(fā)明公開了一種基于P2P技術(shù)的網(wǎng)絡(luò)視頻信號(hào)的處理方法,包括以下步驟①通過一個(gè)IP級(jí)別的套接字在網(wǎng)絡(luò)數(shù)據(jù)流中攔截所有通過本地主機(jī)的數(shù)據(jù)包;②根據(jù)上層協(xié)議標(biāo)識(shí)將TCP包和UDP包區(qū)分出來;③校驗(yàn)數(shù)據(jù)包中的數(shù)據(jù),保留特定發(fā)送的數(shù)據(jù)包;④整理成操作數(shù)據(jù)單元放入操作隊(duì)列;⑤通過TCP協(xié)議從操作隊(duì)列中取得操作數(shù)據(jù)單元,更新本地聯(lián)網(wǎng)主機(jī)的信息;⑥通過UDP數(shù)據(jù)包傳輸音視頻數(shù)據(jù)并處理成應(yīng)用數(shù)據(jù)單元,放入數(shù)據(jù)隊(duì)列;⑦通過UDP協(xié)議從數(shù)據(jù)隊(duì)列中獲取數(shù)據(jù)單元,有目的的發(fā)送數(shù)據(jù)包;本發(fā)明將數(shù)據(jù)包攔截技術(shù)與P2P技術(shù)有機(jī)的結(jié)合起來,可以在不增加任何服務(wù)端(包括服務(wù)器端和普通客戶端)負(fù)擔(dān)的情況下,大大提高數(shù)據(jù)包的利用率,從而提高網(wǎng)絡(luò)資源利用率。
文檔編號(hào)H04N7/24GK101064671SQ20061005057
公開日2007年10月31日 申請(qǐng)日期2006年4月29日 優(yōu)先權(quán)日2006年4月29日
發(fā)明者楊旭 申請(qǐng)人:楊旭