專利名稱:一種p2p網(wǎng)絡(luò)中建立p2p通道的方法
技術(shù)領(lǐng)域:
本發(fā)明屬于網(wǎng)絡(luò)通信領(lǐng)域,尤其涉及P2P網(wǎng)絡(luò)中,節(jié)點之間建立P2P通道的方法。
背景技術(shù):
對等網(wǎng)絡(luò)(Peer to Peer,P2P)系統(tǒng)一般采用集中模型、分散式模型、層次化模型和混合模型4種模型,其網(wǎng)絡(luò)示意分別如圖1中a、b、c和d所示。其中,集中式模型采用一個服務(wù)器作為中心節(jié)點,結(jié)構(gòu)簡單便于管理。通常情況下,由于資源集中理,因此檢索響應(yīng)比較快,管理維護(hù)整個網(wǎng)絡(luò)消耗的網(wǎng)絡(luò)帶寬較低。分散式模型中沒有中央索引服務(wù)器,所有節(jié)點都是平等的。在層次化模型中,在節(jié)點參與服務(wù)的過程中,選取其中性能較好的節(jié)點作為超級節(jié)點,超級節(jié)點管理普通節(jié)點,超級節(jié)點再由更高級一級的超級節(jié)點或者服務(wù)器管理,構(gòu)成成層次化的結(jié)構(gòu)?;旌夏P蛯⒄麄€P2P網(wǎng)絡(luò)建成一個二層結(jié)構(gòu),由普通節(jié)點和超級節(jié)點組成,一個超級節(jié)點管理多個普通節(jié)點,超級節(jié)點為分散式模型。
在上述集中模型、層次化模型或混合模型的網(wǎng)絡(luò)中,服務(wù)器保存節(jié)點的網(wǎng)絡(luò)信息。當(dāng)節(jié)點登錄網(wǎng)絡(luò)時,向服務(wù)器上報所在子網(wǎng)信息,服務(wù)器通過檢索,將與該節(jié)點在相同網(wǎng)段內(nèi)內(nèi)存在的其他節(jié)點信息返回給該節(jié)點。由于服務(wù)器的存儲空間有限,而節(jié)點的數(shù)量往往是海量的,因此服務(wù)器沒有足夠的空間保存某個網(wǎng)段內(nèi)所有節(jié)點的網(wǎng)絡(luò)信息,只能保存部分節(jié)點的網(wǎng)絡(luò)信息,從而導(dǎo)致節(jié)點無法獲取所需要的相同網(wǎng)段內(nèi)所有節(jié)點的網(wǎng)絡(luò)信息。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種P2P網(wǎng)絡(luò)中建立P2P通道的方法,旨在解決現(xiàn)有技術(shù)中存在的由于服務(wù)器存儲空間的限制,造成節(jié)點無法獲取所需要的相同網(wǎng)段內(nèi)所有節(jié)點的網(wǎng)絡(luò)信息的問題。
本發(fā)明是這樣實現(xiàn)的,一種P2P網(wǎng)絡(luò)中建立P2P通道的方法,所述方法包括下述步驟A.向相同網(wǎng)段內(nèi)的節(jié)點發(fā)送廣播消息,所述廣播消息中攜帶本節(jié)點的網(wǎng)絡(luò)信息;B.接收相同網(wǎng)段內(nèi)的節(jié)點返回的廣播響應(yīng)消息,根據(jù)廣播響應(yīng)消息中攜帶的節(jié)點的網(wǎng)絡(luò)信息選擇連接節(jié)點,保存連接節(jié)點的網(wǎng)絡(luò)信息;C與連接節(jié)點協(xié)商P2P通道傳輸協(xié)議,建立P2P通道。
所述網(wǎng)絡(luò)信息包括P2P業(yè)務(wù)信息。
所述廣播消息和廣播響應(yīng)消息通過UDP端口傳送。
所述方法進(jìn)一步包括下述步驟D.根據(jù)保存的節(jié)點的網(wǎng)絡(luò)信息,向建立P2P通道的節(jié)點發(fā)送探測數(shù)據(jù)包。
一種P2P網(wǎng)絡(luò)中建立P2P通道的方法,所述方法包括下述步驟A.接收相同網(wǎng)段內(nèi)的節(jié)點發(fā)送的廣播消息;B.提取并保存所述廣播消息中攜帶的節(jié)點的網(wǎng)絡(luò)信息,返回廣播響應(yīng)消息,消息中攜帶本節(jié)點的網(wǎng)絡(luò)信息;C.與連接節(jié)點協(xié)商P2P通道傳輸協(xié)議,建立P2P通道。
所述網(wǎng)絡(luò)信息包括P2P業(yè)務(wù)信息。
所述廣播消息和廣播響應(yīng)消息通過UDP端口傳送。
所述方法進(jìn)一步包括下述步驟D.根據(jù)保存的節(jié)點的網(wǎng)絡(luò)信息,向建立P2P通道的節(jié)點發(fā)送探測數(shù)據(jù)包。
在本發(fā)明中,相同網(wǎng)段內(nèi)的P2P節(jié)點之間通過廣播建立P2P通道,節(jié)省了網(wǎng)絡(luò)帶寬,降低了服務(wù)器負(fù)荷,并可以顯著提高局域網(wǎng)的P2P服務(wù)質(zhì)量。
圖1是現(xiàn)有技術(shù)中P2P網(wǎng)絡(luò)結(jié)構(gòu)模型圖;圖2是本發(fā)明適用的P2P網(wǎng)絡(luò)結(jié)構(gòu)模型圖;圖3是本發(fā)明中節(jié)點向相同網(wǎng)段內(nèi)其他節(jié)點發(fā)送廣播消息,建立P2P通道的實現(xiàn)流程圖;圖4是本發(fā)明中節(jié)點接收相同網(wǎng)段內(nèi)其他節(jié)點發(fā)送的廣播消息,建立P2P通道的實現(xiàn)流程圖。
具體實施例方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
在本發(fā)明中,節(jié)點向相同網(wǎng)段內(nèi)的其他節(jié)點發(fā)送廣播消息,其他節(jié)點收到廣播消息后返回廣播響應(yīng)消息,節(jié)點之間建立P2P通道。
圖2示出了本發(fā)明適用的P2P網(wǎng)絡(luò)結(jié)構(gòu)模型,其中服務(wù)器/超級節(jié)點可以存在也可以不存在,以4個節(jié)點為例,節(jié)點1、節(jié)點2、節(jié)點3和節(jié)點4處于同一網(wǎng)段。
在本發(fā)明中,當(dāng)網(wǎng)段內(nèi)的任何一個節(jié)點開始工作時,通過以太網(wǎng)總線向網(wǎng)段內(nèi)的其它節(jié)點發(fā)送廣播消息,廣播消息中可以攜帶本節(jié)點存儲的節(jié)目信息、數(shù)據(jù)片信息等P2P業(yè)務(wù)信息。網(wǎng)段內(nèi)其它活動節(jié)點收到廣播消息后,向發(fā)送廣播消息的節(jié)點返回廣播響應(yīng)消息,節(jié)點之間相互保存對方的網(wǎng)絡(luò)信息,彼此建立P2P通道。
圖3示出了本發(fā)明中節(jié)點向相同網(wǎng)段內(nèi)其他節(jié)點發(fā)送廣播消息,建立P2P通道的實現(xiàn)流程,詳述如下在步驟S301中,節(jié)點啟動,打開默認(rèn)的用戶數(shù)據(jù)報協(xié)議(User DatagramProtocol,UDP)監(jiān)聽端口48923,接收相同網(wǎng)段內(nèi)其他節(jié)點發(fā)送的廣播消息或者廣播響應(yīng)消息;在步驟S302中,節(jié)點向網(wǎng)段內(nèi)UDP端口48923發(fā)送廣播消息,消息中攜帶本節(jié)點的網(wǎng)絡(luò)信息,例如P2P業(yè)務(wù)信息;在步驟S303中,判斷是否收到其他節(jié)點返回的廣播響應(yīng)消息,是則執(zhí)行步驟S304,否則結(jié)束。具體可以在節(jié)點設(shè)置一個定時器,如果定時內(nèi)沒有收到其他節(jié)點返回的廣播響應(yīng)消息,則結(jié)束;在步驟S304中,接收其他節(jié)點的廣播響應(yīng)消息,提取廣播響應(yīng)消息中攜帶的節(jié)點的網(wǎng)絡(luò)信息,選擇連接節(jié)點,例如具有可共享網(wǎng)絡(luò)資源的節(jié)點,保存連接節(jié)點的網(wǎng)絡(luò)信息,如P2P業(yè)務(wù)信息;在步驟S305中,節(jié)點與連接節(jié)點之間協(xié)商使用P2P通道傳輸協(xié)議,如UDP/TCP,建立傳輸控制協(xié)議(Transmission Control Protocol,TCP)直連通道。
圖4示出了本發(fā)明中節(jié)點接收相同網(wǎng)段內(nèi)其他節(jié)點發(fā)送的廣播消息,建立P2P通道的實現(xiàn)流程,詳述如下在步驟S401中,節(jié)點啟動,打開默認(rèn)的用戶數(shù)據(jù)報協(xié)議(User DatagramProtocol,UDP)監(jiān)聽端口48923,接收相同網(wǎng)段內(nèi)其他節(jié)點發(fā)送的廣播消息或者廣播響應(yīng)消息;在步驟S402中,判斷是否收到其他節(jié)點的廣播消息,是則執(zhí)行步驟S403,否則結(jié)束;在步驟S403中,接收其他節(jié)點的廣播消息,提取保存廣播消息中攜帶的節(jié)點的網(wǎng)絡(luò)信息,返回廣播響應(yīng)消息,消息中攜帶本節(jié)點的網(wǎng)絡(luò)信息,如P2P業(yè)務(wù)信息;在步驟S404中,節(jié)點之間協(xié)商使用P2P通道傳輸協(xié)議,如UDP/TCP,建立TCP直連通道。
當(dāng)節(jié)點之間的P2P通道建立后,每個節(jié)點都可以保存網(wǎng)段內(nèi)曾經(jīng)建立P2P通道的節(jié)點的網(wǎng)絡(luò)信息,當(dāng)發(fā)起業(yè)務(wù)時,可以優(yōu)先向已經(jīng)建立P2P通道的節(jié)點發(fā)送探測數(shù)據(jù)包,探測這些節(jié)點是否在線。
在本發(fā)明中,P2P節(jié)點啟動以后僅發(fā)送一次UDP廣播消息,不會對網(wǎng)絡(luò)產(chǎn)生大的通信負(fù)荷。當(dāng)相同網(wǎng)段內(nèi)的其它活動節(jié)點收取到廣播消息后,節(jié)點之間就建立了P2P通道,每個節(jié)點都可保存連接節(jié)點的網(wǎng)絡(luò)信息,節(jié)省了網(wǎng)絡(luò)帶寬,降低了服務(wù)器負(fù)荷,并可以顯著提高局域網(wǎng)內(nèi)的P2P服務(wù)質(zhì)量。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種P2P網(wǎng)絡(luò)中建立P2P通道的方法,其特征在于,所述方法包括下述步驟A.向相同網(wǎng)段內(nèi)的節(jié)點發(fā)送廣播消息,所述廣播消息中攜帶本節(jié)點的網(wǎng)絡(luò)信息;B.接收相同網(wǎng)段內(nèi)的節(jié)點返回的廣播響應(yīng)消息,根據(jù)廣播響應(yīng)消息中攜帶的節(jié)點的網(wǎng)絡(luò)信息選擇連接節(jié)點,保存連接節(jié)點的網(wǎng)絡(luò)信息;C.與連接節(jié)點協(xié)商P2P通道傳輸協(xié)議,建立P2P通道。
2.如權(quán)利要求1所述的方法,其特征在于,所述網(wǎng)絡(luò)信息包括P2P業(yè)務(wù)信息。
3.如權(quán)利要求1所述的方法,其特征在于,所述廣播消息和廣播響應(yīng)消息通過UDP端口傳送。
4.如權(quán)利要求1所述的方法,其特征在于,所述方法進(jìn)一步包括下述步驟D.根據(jù)保存的節(jié)點的網(wǎng)絡(luò)信息,向建立P2P通道的節(jié)點發(fā)送探測數(shù)據(jù)包。
5.一種P2P網(wǎng)絡(luò)中建立P2P通道的方法,其特征在于,所述方法包括下述步驟A.接收相同網(wǎng)段內(nèi)的節(jié)點發(fā)送的廣播消息;B.提取并保存所述廣播消息中攜帶的節(jié)點的網(wǎng)絡(luò)信息,返回廣播響應(yīng)消息,消息中攜帶本節(jié)點的網(wǎng)絡(luò)信息;C.與連接節(jié)點協(xié)商P2P通道傳輸協(xié)議,建立P2P通道。
6.如權(quán)利要求5所述的方法,其特征在于,所述網(wǎng)絡(luò)信息包括P2P業(yè)務(wù)信息。
7.如權(quán)利要求5所述的方法,其特征在于,所述廣播消息和廣播響應(yīng)消息通過UDP端口傳送。
8.如權(quán)利要求5所述的方法,其特征在于,所述方法進(jìn)一步包括下述步驟D.根據(jù)保存的節(jié)點的網(wǎng)絡(luò)信息,向建立P2P通道的節(jié)點發(fā)送探測數(shù)據(jù)包。
全文摘要
本發(fā)明適用于網(wǎng)絡(luò)通信領(lǐng)域,提供了一種P2P網(wǎng)絡(luò)中建立P2P通道的方法,所述方法包括下述步驟A.向相同網(wǎng)段內(nèi)的節(jié)點發(fā)送廣播消息,所述廣播消息中攜帶本節(jié)點的網(wǎng)絡(luò)信息;B.接收相同網(wǎng)段內(nèi)的節(jié)點返回的廣播響應(yīng)消息,根據(jù)廣播響應(yīng)消息中攜帶的節(jié)點的網(wǎng)絡(luò)信息選擇連接節(jié)點,保存連接節(jié)點的網(wǎng)絡(luò)信息;C.與連接節(jié)點協(xié)商P2P通道傳輸協(xié)議,建立P2P通道。在本發(fā)明中,相同網(wǎng)段內(nèi)的P2P節(jié)點之間通過廣播建立P2P通道,節(jié)省了網(wǎng)絡(luò)帶寬,降低了服務(wù)器負(fù)荷,并可以顯著提高局域網(wǎng)的P2P服務(wù)質(zhì)量。
文檔編號H04L12/28GK101079783SQ200610060839
公開日2007年11月28日 申請日期2006年5月27日 優(yōu)先權(quán)日2006年5月27日
發(fā)明者華有為 申請人:騰訊科技(深圳)有限公司