国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      P2p通信系統(tǒng)與中繼通信方法

      文檔序號(hào):7814402閱讀:343來(lái)源:國(guó)知局
      P2p通信系統(tǒng)與中繼通信方法
      【專利摘要】本申請(qǐng)公開了一種P2P通信系統(tǒng)與中繼通信方法,該系統(tǒng):第一客戶端節(jié)點(diǎn),用于發(fā)送第一連接請(qǐng)求指令至第二客戶端節(jié)點(diǎn),并接收與連接請(qǐng)求指令對(duì)應(yīng)的第一連接應(yīng)答指令;第二客戶端節(jié)點(diǎn),用于接收第一連接請(qǐng)求指令,并轉(zhuǎn)送第一連接請(qǐng)求指令至第三客戶端節(jié)點(diǎn);以及第三客戶端節(jié)點(diǎn),用于接收第二客戶端節(jié)點(diǎn)轉(zhuǎn)送的第一連接請(qǐng)求指令,并發(fā)送第一連接應(yīng)答指令至第一客戶端節(jié)點(diǎn),其中,第二客戶端節(jié)點(diǎn)具有公網(wǎng)IP,以及第一連接請(qǐng)求指令是為了請(qǐng)求建立第一客戶端節(jié)點(diǎn)與第二客戶端節(jié)點(diǎn)之間的連接。本發(fā)明具有公網(wǎng)IP的Peer充當(dāng)RelayServer并組成樹狀結(jié)構(gòu),有效的緩解了RelayServer的負(fù)載,保障了P2P系統(tǒng)在高峰期時(shí)段的穩(wěn)定性。
      【專利說(shuō)明】P2P通信系統(tǒng)與中繼通信方法

      【技術(shù)領(lǐng)域】
      [0001]本申請(qǐng)涉及對(duì)等網(wǎng)絡(luò)(Peer-to-Peer, P2P)中的網(wǎng)絡(luò)地址轉(zhuǎn)換(Network AddressTranslat1n)穿越【技術(shù)領(lǐng)域】,更具體地,涉及一種P2P通信系統(tǒng)與中繼通信方法。

      【背景技術(shù)】
      [0002]隨著互聯(lián)網(wǎng)的發(fā)展和寬帶應(yīng)用的普及,人們獲取信息的方式已經(jīng)發(fā)生改變:從傳統(tǒng)的書籍、報(bào)紙、電視、廣播等方式,繼而變成通過(guò)互聯(lián)網(wǎng)獲取。尤其是互聯(lián)網(wǎng)將影視節(jié)目、新聞、廣告、聊天視頻、游戲視頻和監(jiān)控視頻等等豐富的綜合性網(wǎng)絡(luò)視頻資源進(jìn)行共享,從而網(wǎng)絡(luò)視頻已經(jīng)成為人們學(xué)習(xí)、社交以及休閑娛樂(lè)而不可替代的重要方式。傳統(tǒng)的基于客戶端/服務(wù)器架構(gòu)的網(wǎng)絡(luò)系統(tǒng)由于服務(wù)器帶寬和處理能力的限制導(dǎo)致其可擴(kuò)展性極差。P2P作為一種有效的解決方案在得到了極大的推廣。在P2P模式下,每個(gè)節(jié)點(diǎn)在從別的節(jié)點(diǎn)接收數(shù)據(jù)的同時(shí)還向其他節(jié)點(diǎn)發(fā)送數(shù)據(jù),這樣利用客戶端節(jié)點(diǎn)的上傳能力可以極大減輕服務(wù)器的負(fù)擔(dān)。
      [0003]Relay Server (中繼服務(wù)器)是在P2P系統(tǒng)中主要負(fù)責(zé)輔助客戶端之間進(jìn)行互聯(lián)互通的服務(wù)器,其功能主要包括:輔助Peer (客戶端節(jié)點(diǎn))檢測(cè)NAT類型,幫助Peer檢測(cè)是否位于防火墻和IP受限NAT后,輔助Peer間進(jìn)行互聯(lián)互通。
      [0004]NAT英文全稱是“Network Address Translat1n”,中文意思是“網(wǎng)絡(luò)地址轉(zhuǎn)換”,它是一個(gè) IETF (Internet Engineering Task Force, Internet 工程任務(wù)組)標(biāo)準(zhǔn),允許一個(gè)整體機(jī)構(gòu)以一個(gè)公用IP (Internet Protocol)地址出現(xiàn)在Internet上。它是一種把內(nèi)部私有網(wǎng)絡(luò)地址(內(nèi)網(wǎng)IP)翻譯成合法網(wǎng)絡(luò)IP地址(公網(wǎng)IP)的技術(shù)。網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)主要是為了解決IP地址不足,隱藏和保護(hù)網(wǎng)絡(luò)內(nèi)部計(jì)算機(jī),有效地避免來(lái)自網(wǎng)絡(luò)外部的攻擊等問(wèn)題,NAT功能通常被集成到路由器、防火墻、ISDN路由器或者單獨(dú)的NAT設(shè)備中。
      [0005]NAT類型主要分為:完全圓錐型NAT (Full cone NAT),受限圓錐型NAT (Address-Restricted cone NAT),端口受限圓維型 NAT (Port-Restricted cone NAT)和對(duì)稱型 NAT (Symmetric NAT)。
      [0006]完全圓錐型NAT:—個(gè)內(nèi)部的地址映射到外部地址成功后,任意外部的主機(jī)都能夠通過(guò)這個(gè)外部地址發(fā)送數(shù)據(jù)包到達(dá)內(nèi)部地址。
      [0007]受限圓錐型NAT:—個(gè)內(nèi)部的地址映射到外部地址成功后,外部主機(jī)通過(guò)外部地址發(fā)送數(shù)據(jù)包到達(dá)內(nèi)部地址的前提條件是:內(nèi)部地址首先向外部主機(jī)的地址(IP:任意端口)發(fā)送過(guò)數(shù)據(jù)包,該數(shù)據(jù)包發(fā)送的端口不受限制。
      [0008]端口受限圓錐型NAT:—個(gè)內(nèi)部的地址映射到外部地址成功后,外部主機(jī)通過(guò)外部地址發(fā)送數(shù)據(jù)包到達(dá)內(nèi)部地址的前提條件是:內(nèi)部地址首先向外部主機(jī)的地址(IP:固定端口)發(fā)送過(guò)數(shù)據(jù)包,該數(shù)據(jù)發(fā)送的端口必須是外部主機(jī)綁定的端口。
      [0009]對(duì)稱型NAT:每一個(gè)來(lái)自相同內(nèi)部IP與端口,到一個(gè)特定目的地地址和端口的請(qǐng)求,都映射到一個(gè)獨(dú)特的外部IP地址和端口。同一內(nèi)部IP與端口發(fā)到不同的目的地和端口的信息包,都使用不同的映射,只有收到過(guò)內(nèi)部主機(jī)數(shù)據(jù)包的外部主機(jī)才能返回?cái)?shù)據(jù)包。
      [0010]在現(xiàn)有技術(shù)中,每個(gè)Peer都必須注冊(cè)到指定的Relay Server上,同時(shí)RelayServer記錄下該P(yáng)eer的外網(wǎng)IP和外網(wǎng)端口,并將該外網(wǎng)IP和端口返回給Peer。Peer根據(jù)從Relay Server返回的外網(wǎng)IP和內(nèi)網(wǎng)IP進(jìn)行對(duì)比,判斷自己是否屬于公網(wǎng)用戶,如果是公網(wǎng)用戶則無(wú)需判定自己的NAT類型,否則繼續(xù)進(jìn)行NAT類型檢測(cè)。NAT類型探測(cè)完成后,Peer會(huì)根據(jù)對(duì)方的NAT類型選擇是否需要通過(guò)Relay Server輔助下和對(duì)方建立連接,對(duì)適合NAT穿越條件的倆個(gè)Peer,主動(dòng)發(fā)起連接的Peer首先向被連接的Peer的外網(wǎng)地址發(fā)送一個(gè)數(shù)據(jù)包,該數(shù)據(jù)包基本上會(huì)被對(duì)端的防火墻丟棄,但是該數(shù)據(jù)包會(huì)在自己的防火墻上注冊(cè)允許從對(duì)端的外部地址發(fā)送來(lái)的數(shù)據(jù)包進(jìn)入,同時(shí)主動(dòng)連接方向被連接的Peer的Relay Server發(fā)送連接請(qǐng)求,Relay Server接收到該請(qǐng)求后會(huì)發(fā)送通知被連接的Peer有連接請(qǐng)求,并把主動(dòng)方的外網(wǎng)地址和端口告知被動(dòng)連接方,這時(shí)由于在主動(dòng)發(fā)起方的防火墻上已經(jīng)注冊(cè)了被動(dòng)方的外網(wǎng)地址和端口,所以被動(dòng)方此時(shí)經(jīng)由此外部地址發(fā)送給主動(dòng)連接方的數(shù)據(jù)包會(huì)被允許通過(guò)防火墻,并被主動(dòng)連接方接收到,通路到此建立完成。
      [0011]目前,Ralay Server能夠輔助連通的Peer NAT類型包括完全圓錐型,受限圓錐型和端口圓錐型,由于對(duì)稱型NAT本身的特性,導(dǎo)致多個(gè)外部主機(jī)不能夠共享同一個(gè)Peer的外部地址,所以建立連接的倆個(gè)Peer如果一者屬于對(duì)稱型NAT,另一者屬于受限圓錐型,端口受限圓錐型或者對(duì)稱型任意一種都無(wú)法輔助倆者建立連接。
      [0012]此外,由于Relay Server大都部署在服務(wù)器端,P2P系統(tǒng)對(duì)Relay Server的依賴較強(qiáng),并且Peer對(duì)該服務(wù)器的請(qǐng)求量比較頻繁,會(huì)導(dǎo)致服務(wù)器部署成本較高;而每個(gè)RelayServer需要維護(hù)大量的Peer節(jié)點(diǎn),高峰時(shí)段短時(shí)間內(nèi)如果有大量的Peer上線,會(huì)導(dǎo)致Relay Server的負(fù)載突然升高,持續(xù)高負(fù)載的狀態(tài)會(huì)影響Peer之間建立連接,繼而影響P2P系統(tǒng)整體的運(yùn)行效率。


      【發(fā)明內(nèi)容】

      [0013]有鑒于此,本申請(qǐng)?zhí)峁┮环NP2P通信系統(tǒng)與中繼通信方法以解決上述問(wèn)題。
      [0014]本申請(qǐng)公開了一種P2P通信系統(tǒng),其特征在于,包含:
      第一客戶端節(jié)點(diǎn),用于發(fā)送第一連接請(qǐng)求指令至第二客戶端節(jié)點(diǎn),并接收與所述連接請(qǐng)求指令對(duì)應(yīng)的第一連接應(yīng)答指令;
      所述第二客戶端節(jié)點(diǎn),用于接收所述第一連接請(qǐng)求指令,并轉(zhuǎn)送所述第一連接請(qǐng)求指令至第三客戶端節(jié)點(diǎn);以及
      所述第三客戶端節(jié)點(diǎn),用于接收所述第二客戶端節(jié)點(diǎn)轉(zhuǎn)送的所述第一連接請(qǐng)求指令,并發(fā)送所述第一連接應(yīng)答指令至所述第一客戶端節(jié)點(diǎn),
      其中,所述第二客戶端節(jié)點(diǎn)具有公網(wǎng)IP,以及所述第一連接請(qǐng)求指令是為了請(qǐng)求建立所述第一客戶端節(jié)點(diǎn)與所述第二客戶端節(jié)點(diǎn)之間的連接。
      [0015]優(yōu)選地,其中,所述第一客戶端節(jié)點(diǎn)更直接發(fā)送第二連接請(qǐng)求指令至所述第三客戶端節(jié)點(diǎn),且在接收到所述第二連接請(qǐng)求指令后,所述第三客戶端節(jié)點(diǎn)發(fā)送對(duì)應(yīng)的第二連接應(yīng)答指令至所述第一客戶端節(jié)點(diǎn),其中所述第二連接請(qǐng)求指令是為了請(qǐng)求建立所述第一客戶端節(jié)點(diǎn)與所述第三客戶端節(jié)點(diǎn)之間的連接。
      [0016]優(yōu)選地,其中,所述第一客戶端節(jié)點(diǎn)、所述第二客戶端節(jié)點(diǎn)以及所述第三客戶端節(jié)點(diǎn)構(gòu)成樹狀結(jié)構(gòu),且所述第二客戶端節(jié)點(diǎn)在所述樹狀結(jié)構(gòu)中作為樹根節(jié)點(diǎn),所述第一客戶端節(jié)點(diǎn)和所述第三客戶端節(jié)點(diǎn)在所述樹狀結(jié)構(gòu)中作為樹葉節(jié)點(diǎn)。
      [0017]優(yōu)選地,其中,所述樹狀結(jié)構(gòu)中包含N個(gè)樹葉節(jié)點(diǎn),且N為預(yù)先設(shè)定的不小于2的整數(shù)。
      [0018]優(yōu)選地,其中,所述樹葉節(jié)點(diǎn)周期性向所述樹根節(jié)點(diǎn)發(fā)送中繼UDP保持?jǐn)?shù)據(jù)包,所述樹根節(jié)點(diǎn)接收到所述中繼UDP保持?jǐn)?shù)據(jù)包后返回對(duì)應(yīng)的應(yīng)答數(shù)據(jù)包至所述樹葉節(jié)點(diǎn);以及當(dāng)未收到特定樹葉節(jié)點(diǎn)按時(shí)發(fā)送的中繼UDP保持?jǐn)?shù)據(jù)包或收到所述特定樹葉節(jié)點(diǎn)發(fā)送的離開數(shù)據(jù)包時(shí),所述樹根節(jié)點(diǎn)將所述特定樹葉節(jié)點(diǎn)從所述樹狀結(jié)構(gòu)中刪除。
      [0019]本申請(qǐng)還公開了一種中繼通信方法,應(yīng)用于客戶端節(jié)點(diǎn),其特征在于,包含: 從第一客戶端節(jié)點(diǎn)向第二客戶端節(jié)點(diǎn)發(fā)送第一連接請(qǐng)求指令;
      在所述第二客戶端節(jié)點(diǎn)接收所述第一連接請(qǐng)求指令;
      從所述第二客戶端節(jié)點(diǎn)轉(zhuǎn)送所述第一連接請(qǐng)求指令至第三客戶端節(jié)點(diǎn);
      在所述第三客戶端節(jié)點(diǎn)接收所述第二客戶端節(jié)點(diǎn)轉(zhuǎn)送的所述第一連接請(qǐng)求指令;以及從所述第三客戶端節(jié)點(diǎn)發(fā)送對(duì)應(yīng)的第一連接應(yīng)答指令至所述第一客戶端節(jié)點(diǎn),
      其中,所述第二客戶端節(jié)點(diǎn)具有公網(wǎng)IP,以及所述第一連接請(qǐng)求指令是為了請(qǐng)求建立所述第一客戶端節(jié)點(diǎn)與所述第二客戶端節(jié)點(diǎn)之間的連接。
      [0020]優(yōu)選地,其中,更包含:
      從所述第一客戶端節(jié)點(diǎn)直接發(fā)送第二連接請(qǐng)求指令至所述第三客戶端節(jié)點(diǎn);
      在所述第三客戶端節(jié)點(diǎn)接收所述第二連接請(qǐng)求指令;以及從所述第三客戶端節(jié)點(diǎn)發(fā)送對(duì)應(yīng)的第二連接應(yīng)答指令至所述第一客戶端節(jié)點(diǎn),
      其中所述第二連接請(qǐng)求指令是為了請(qǐng)求建立所述第一客戶端節(jié)點(diǎn)與所述第三客戶端節(jié)點(diǎn)之間的連接。
      [0021]優(yōu)選地,其中,所述第一客戶端節(jié)點(diǎn)、所述第二客戶端節(jié)點(diǎn)以及所述第三客戶端節(jié)點(diǎn)構(gòu)成樹狀結(jié)構(gòu),且所述第二客戶端節(jié)點(diǎn)在所述樹狀結(jié)構(gòu)中作為樹根節(jié)點(diǎn),所述第一客戶端節(jié)點(diǎn)和所述第三客戶端節(jié)點(diǎn)在所述樹狀結(jié)構(gòu)中作為樹葉節(jié)點(diǎn)。
      [0022]優(yōu)選地,其中,所述樹狀結(jié)構(gòu)中包含N個(gè)樹葉節(jié)點(diǎn),且N為預(yù)先設(shè)定的不小于2的整數(shù)。
      [0023]優(yōu)選地,其中,所述樹葉節(jié)點(diǎn)周期性向所述樹根節(jié)點(diǎn)發(fā)送UDP保持?jǐn)?shù)據(jù)包,所述樹根節(jié)點(diǎn)接收到所述UDP保持?jǐn)?shù)據(jù)包后返回對(duì)應(yīng)的應(yīng)答數(shù)據(jù)包至所述樹葉節(jié)點(diǎn);以及當(dāng)未收到特定樹葉節(jié)點(diǎn)按時(shí)發(fā)送的UDP保持?jǐn)?shù)據(jù)包或收到所述特定樹葉節(jié)點(diǎn)發(fā)送的離開數(shù)據(jù)包時(shí),所述樹根節(jié)點(diǎn)將所述特定樹葉節(jié)點(diǎn)從所述樹狀結(jié)構(gòu)中刪除。
      [0024]與現(xiàn)有技術(shù)相比,本申請(qǐng)所述的P2P通信系統(tǒng)與中繼通信方法,達(dá)到了如下效果:
      1)具有公網(wǎng)IP的Peer充當(dāng)RelayServer并組成樹狀結(jié)構(gòu),有效的緩解了 RelayServer的負(fù)載,保障了 P2P系統(tǒng)在高峰期時(shí)段的穩(wěn)定性;以及
      2)采用Peer充當(dāng)RelayServer大幅度降低Relay Server的部署和運(yùn)營(yíng)成本。
      [0025]當(dāng)然,實(shí)施本申請(qǐng)的任一產(chǎn)品并不一定需要同時(shí)達(dá)到以上所述的所有技術(shù)效果。
      [0026]

      【專利附圖】

      【附圖說(shuō)明】
      [0027]此處所說(shuō)明的附圖用來(lái)提供對(duì)本申請(qǐng)的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本申請(qǐng)的示意性實(shí)施例及其說(shuō)明用于解釋本申請(qǐng),并不構(gòu)成對(duì)本申請(qǐng)的不當(dāng)限定。在附圖中: 圖1是依據(jù)本申請(qǐng)一實(shí)施例的P2P通信系統(tǒng)的示意圖。
      [0028]圖2為依據(jù)本申請(qǐng)一實(shí)施例的P2P通信系統(tǒng)的互連互通動(dòng)作序列的示意圖。
      [0029]

      【具體實(shí)施方式】
      [0030]如在說(shuō)明書及權(quán)利要求當(dāng)中使用了某些詞匯來(lái)指稱特定組件。本領(lǐng)域技術(shù)人員應(yīng)可理解,硬件制造商可能會(huì)用不同名詞來(lái)稱呼同一個(gè)組件。本說(shuō)明書及權(quán)利要求并不以名稱的差異來(lái)作為區(qū)分組件的方式,而是以組件在功能上的差異來(lái)作為區(qū)分的準(zhǔn)則。如在通篇說(shuō)明書及權(quán)利要求當(dāng)中所提及的“包含”為一開放式用語(yǔ),故應(yīng)解釋成“包含但不限定于”?!按笾隆笔侵冈诳山邮盏恼`差范圍內(nèi),本領(lǐng)域技術(shù)人員能夠在一定誤差范圍內(nèi)解決所述技術(shù)問(wèn)題,基本達(dá)到所述技術(shù)效果。此外,“耦接”一詞在此包含任何直接及間接的電性耦接手段。因此,若文中描述一第一裝置耦接于一第二裝置,則代表所述第一裝置可直接電性耦接于所述第二裝置,或通過(guò)其他裝置或耦接手段間接地電性耦接至所述第二裝置。說(shuō)明書后續(xù)描述為實(shí)施本申請(qǐng)的較佳實(shí)施方式,然所述描述乃以說(shuō)明本申請(qǐng)的一般原則為目的,并非用以限定本申請(qǐng)的范圍。本申請(qǐng)的保護(hù)范圍當(dāng)視所附權(quán)利要求所界定者為準(zhǔn)。
      由于應(yīng)用了 NAT技術(shù),某些客戶端節(jié)點(diǎn)(Peer)會(huì)具有公網(wǎng)IP。公網(wǎng)IP地址是Internet上的非保留地址,公網(wǎng)的計(jì)算機(jī)和Internet上的其他計(jì)算機(jī)可隨意互相訪問(wèn)。從而,有些具有公網(wǎng)IP的Peer可以充當(dāng)Relay Server使用,幫助其他Peer來(lái)實(shí)現(xiàn)互連互通。
      [0031 ] 依據(jù)圖論,樹是任意兩個(gè)頂點(diǎn)間只有一條路徑的圖,而森林是互相不交并樹的集合。在本申請(qǐng)的實(shí)施例中,按照設(shè)計(jì),運(yùn)營(yíng)中的所有的Relay Server(具有公網(wǎng)IP的Perr)會(huì)形成森林結(jié)構(gòu),每個(gè)Relay Server(0級(jí))構(gòu)成的體系則是森林中的樹。具體來(lái)說(shuō),O級(jí)的Relay Server自身及其所擁有的下一級(jí)NAT節(jié)點(diǎn)(包含非O級(jí)的Relay Server)構(gòu)成樹狀結(jié)構(gòu),O級(jí)的Relay Server為樹根節(jié)點(diǎn),而NAT則為樹中的葉子節(jié)點(diǎn)。每一個(gè)NAT節(jié)點(diǎn)都需要加入到特定的Relay Server中,成為這個(gè)Relay Server的成員。每一 Relay Server維護(hù)的成員是有限制的,當(dāng)NAT節(jié)點(diǎn)達(dá)到所屬Relay Server維護(hù)成員的數(shù)量上限時(shí),此RelayServer就會(huì)拒絕新成員的加入,同時(shí)會(huì)介紹其下級(jí)Relay Server給新成員使用。
      [0032]新成員(Peer)加入Relay Server后,須周期性地向它所屬的Relay Server發(fā)送Relay UDP ‘keep’(中繼 UDP 保持)數(shù)據(jù)包,Relay Server 收到 Relay UDP ‘keep’數(shù)據(jù)包后,返回對(duì)應(yīng)的應(yīng)答數(shù)據(jù)包給發(fā)送方。若不能按時(shí)收到某成員的Relay UDP ‘ke印’數(shù)據(jù)包時(shí),或收到其發(fā)送的‘leave’(離開)數(shù)據(jù)包時(shí),Relay Server就會(huì)從其樹狀體系中刪除此成員。Relay Server同時(shí)維護(hù)一個(gè)下級(jí)Relay Server列表,以便在不同的應(yīng)用場(chǎng)景下使用。
      [0033]圖1是依據(jù)本申請(qǐng)一實(shí)施例的P2P通信系統(tǒng)100的示意圖,其包含第一客戶端節(jié)點(diǎn)(Peer I) 101、第二客戶端節(jié)點(diǎn)(Peer 2)102以及第三客戶端節(jié)點(diǎn)(Peer 3)103,其中第二客戶端節(jié)點(diǎn)(Peer 2)102具有公網(wǎng)IP。上述系統(tǒng)中Peer間的互連互通動(dòng)作的細(xì)節(jié)將于下文描述。
      [0034]圖2為依據(jù)本申請(qǐng)一實(shí)施例的P2P通信系統(tǒng)的互連互通動(dòng)作序列的示意圖。以Peer使用UTCP_RELAY_CONNECT連接時(shí)的邏輯為例,如圖2所示,上述P2P通信系統(tǒng)的互連互通包含以下動(dòng)作:
      步驟一:Peer I (主動(dòng)發(fā)起連接方)向Peer 3 (被動(dòng)連接方)的Peer 2發(fā)送第一連接請(qǐng)求指令(NET_RELAY_REQUEST),也可以另外向Peer 2的外網(wǎng)地址發(fā)送第二連接請(qǐng)求指令(NET_INTRODUCE);
      在上述步驟中,Peer I和Peer 3為欲互連互通的兩個(gè)客戶端節(jié)點(diǎn),而Peer 2具有公網(wǎng)IP,在此體系中作為Peer 3的Relay Server。
      [0035]步驟二:Peer 2收到Peer I發(fā)送的第一連接請(qǐng)求指令(NET_RELAY_REQUEST)后,向Peer 3轉(zhuǎn)發(fā)該指令;
      步驟三=Peer 3如果收到Peer I發(fā)送的第二連接請(qǐng)求指令(NET_INTR0DUCE),則直接向Peer I回復(fù)第二連接應(yīng)答指令(NET_RELAY_CONNECT);
      步驟四:若Peer 3從收到Peer 2轉(zhuǎn)發(fā)的第一連接請(qǐng)求指令(NET_RELAY_REQUEST),向Peer I的外網(wǎng)地址發(fā)送第一連接應(yīng)答指令(NET_RELAY_CONNECT)。
      [0036]步驟五:Peer I接收到來(lái)自Peer 3的連接應(yīng)答指令(NET_RELAY_CONNECT),表明連接握手成功,本次連接過(guò)程結(jié)束。
      [0037]請(qǐng)注意,上述實(shí)施例雖然以Peer使用UTCP_RELAY_CONNECT連接時(shí)的邏輯為例進(jìn)行說(shuō)明,但本發(fā)明并非以此為限。本領(lǐng)域的技術(shù)人員在了解本發(fā)明基本精神的前提下,也可以實(shí)施通過(guò)其他指令來(lái)實(shí)現(xiàn)互連互通的系統(tǒng),其皆應(yīng)包含在本發(fā)明的范圍內(nèi)。
      [0038]由于使用了具有公網(wǎng)IP的Peer充當(dāng)Relay Server,與現(xiàn)有技術(shù)相比,本申請(qǐng)的技術(shù)方案達(dá)到了如下:
      1)具有公網(wǎng)IP的Peer充當(dāng)RelayServer并組成樹狀結(jié)構(gòu),有效的緩解了 RelayServer的負(fù)載,保障了 P2P系統(tǒng)在高峰期時(shí)段的穩(wěn)定性;以及
      2)采用Peer充當(dāng)RelayServer能夠大幅度降低Relay Server的部署和運(yùn)營(yíng)成本。
      [0039]雖然本申請(qǐng)的實(shí)施例是以安卓系統(tǒng)下移動(dòng)裝置的流媒體播放進(jìn)行說(shuō)明,但本發(fā)明并不僅限于此。本領(lǐng)域的技術(shù)人員應(yīng)該理解,現(xiàn)有技術(shù)中其他系統(tǒng)及/或其他裝置的流媒體播放也可能具有與安卓系統(tǒng)下移動(dòng)裝置的流媒體播放類似的問(wèn)題,從而上述流媒體的播放方法及播放裝置也可以應(yīng)用與非安卓系統(tǒng)下移動(dòng)裝置的流媒體播放,或者安卓與非安卓系統(tǒng)下非移動(dòng)裝置的流媒體播放。
      [0040]與現(xiàn)有技術(shù)相比,本申請(qǐng)所述的流媒體的播放方法與播放裝置,達(dá)到了如下效果:
      1)本申請(qǐng)的技術(shù)方案可以通過(guò)優(yōu)化處理解決播放器不支持m3u8浮點(diǎn)時(shí)長(zhǎng)的問(wèn)題;
      2)本申請(qǐng)的技術(shù)方案可以通過(guò)優(yōu)化m3u8文件/媒體文件(例如TS碎片)解決播放器畫面卡頓及時(shí)間進(jìn)度錯(cuò)誤的問(wèn)題;
      3)本申請(qǐng)技術(shù)方案還可以通過(guò)CDN調(diào)度策略選擇更加合適的地址以提升播放的流暢度。
      [0041]還需要說(shuō)明的是,術(shù)語(yǔ)“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包含一系列要素的過(guò)程、方法、商品或者系統(tǒng)不僅包含那些要素,而且還包含沒(méi)有明確列出的其他要素,或者是還包含為這種過(guò)程、方法、商品或者系統(tǒng)所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包含一個(gè)……”限定的要素,并不排除在包含所述要素的過(guò)程、方法、商品或者系統(tǒng)中還存在另外的相同要素。
      [0042]本領(lǐng)域技術(shù)人員應(yīng)明白,本申請(qǐng)的實(shí)施例可提供為方法、系統(tǒng)或計(jì)算機(jī)程序產(chǎn)品。因此,本申請(qǐng)可采用完全硬件實(shí)施例、完全軟件實(shí)施例或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請(qǐng)可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包含但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
      [0043]以上所述僅為本申請(qǐng)的實(shí)施例而已,并不用于限制本申請(qǐng)。對(duì)于本領(lǐng)域技術(shù)人員來(lái)說(shuō),本申請(qǐng)可以有各種更改和變化。凡在本申請(qǐng)的精神和原理之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請(qǐng)的權(quán)利要求范圍之內(nèi)。
      【權(quán)利要求】
      1.一種P2P通信系統(tǒng),其特征在于,包含: 第一客戶端節(jié)點(diǎn),用于發(fā)送第一連接請(qǐng)求指令至第二客戶端節(jié)點(diǎn),并接收與所述連接請(qǐng)求指令對(duì)應(yīng)的第一連接應(yīng)答指令; 所述第二客戶端節(jié)點(diǎn),用于接收所述第一連接請(qǐng)求指令,并轉(zhuǎn)送所述第一連接請(qǐng)求指令至第三客戶端節(jié)點(diǎn);以及 所述第三客戶端節(jié)點(diǎn),用于接收所述第二客戶端節(jié)點(diǎn)轉(zhuǎn)送的所述第一連接請(qǐng)求指令,并發(fā)送所述第一連接應(yīng)答指令至所述第一客戶端節(jié)點(diǎn), 其中,所述第二客戶端節(jié)點(diǎn)具有公網(wǎng)IP,以及所述第一連接請(qǐng)求指令是為了請(qǐng)求建立所述第一客戶端節(jié)點(diǎn)與所述第二客戶端節(jié)點(diǎn)之間的連接。
      2.如權(quán)利要求1所述的P2P通信系統(tǒng),其特征在于,所述第一客戶端節(jié)點(diǎn)更直接發(fā)送第二連接請(qǐng)求指令至所述第三客戶端節(jié)點(diǎn),且在接收到所述第二連接請(qǐng)求指令后,所述第三客戶端節(jié)點(diǎn)發(fā)送對(duì)應(yīng)的第二連接應(yīng)答指令至所述第一客戶端節(jié)點(diǎn),其中所述第二連接請(qǐng)求指令是為了請(qǐng)求建立所述第一客戶端節(jié)點(diǎn)與所述第三客戶端節(jié)點(diǎn)之間的連接。
      3.如權(quán)利要求1所述的P2P通信系統(tǒng),其特征在于,所述第一客戶端節(jié)點(diǎn)、所述第二客戶端節(jié)點(diǎn)以及所述第三客戶端節(jié)點(diǎn)構(gòu)成樹狀結(jié)構(gòu),且所述第二客戶端節(jié)點(diǎn)在所述樹狀結(jié)構(gòu)中作為樹根節(jié)點(diǎn),所述第一客戶端節(jié)點(diǎn)和所述第三客戶端節(jié)點(diǎn)在所述樹狀結(jié)構(gòu)中作為樹葉節(jié)點(diǎn)。
      4.如權(quán)利要求3所述的P2P通信系統(tǒng),其特征在于,所述樹狀結(jié)構(gòu)中包含N個(gè)樹葉節(jié)點(diǎn),且N為預(yù)先設(shè)定的不小于2的整數(shù)。
      5.如權(quán)利要求3所述的P2P通信系統(tǒng),其特征在于,所述樹葉節(jié)點(diǎn)周期性向所述樹根節(jié)點(diǎn)發(fā)送中繼UDP保持?jǐn)?shù)據(jù)包,所述樹根節(jié)點(diǎn)接收到所述中繼UDP保持?jǐn)?shù)據(jù)包后返回對(duì)應(yīng)的應(yīng)答數(shù)據(jù)包至所述樹葉節(jié)點(diǎn);以及當(dāng)未收到特定樹葉節(jié)點(diǎn)按時(shí)發(fā)送的中繼m)P保持?jǐn)?shù)據(jù)包或收到所述特定樹葉節(jié)點(diǎn)發(fā)送的離開數(shù)據(jù)包時(shí),所述樹根節(jié)點(diǎn)將所述特定樹葉節(jié)點(diǎn)從所述樹狀結(jié)構(gòu)中刪除。
      6.一種中繼通信方法,應(yīng)用于客戶端節(jié)點(diǎn),其特征在于,包含: 從第一客戶端節(jié)點(diǎn)向第二客戶端節(jié)點(diǎn)發(fā)送第一連接請(qǐng)求指令; 在所述第二客戶端節(jié)點(diǎn)接收所述第一連接請(qǐng)求指令; 從所述第二客戶端節(jié)點(diǎn)轉(zhuǎn)送所述第一連接請(qǐng)求指令至第三客戶端節(jié)點(diǎn); 在所述第三客戶端節(jié)點(diǎn)接收所述第二客戶端節(jié)點(diǎn)轉(zhuǎn)送的所述第一連接請(qǐng)求指令;以及 從所述第三客戶端節(jié)點(diǎn)發(fā)送對(duì)應(yīng)的第一連接應(yīng)答指令至所述第一客戶端節(jié)點(diǎn), 其中,所述第二客戶端節(jié)點(diǎn)具有公網(wǎng)IP,以及所述第一連接請(qǐng)求指令是為了請(qǐng)求建立所述第一客戶端節(jié)點(diǎn)與所述第二客戶端節(jié)點(diǎn)之間的連接。
      7.如權(quán)利要求6所述的中繼通信方法,其特征在于,更包含: 從所述第一客戶端節(jié)點(diǎn)直接發(fā)送第二連接請(qǐng)求指令至所述第三客戶端節(jié)點(diǎn); 在所述第三客戶端節(jié)點(diǎn)接收所述第二連接請(qǐng)求指令;以及 從所述第三客戶端節(jié)點(diǎn)發(fā)送對(duì)應(yīng)的第二連接應(yīng)答指令至所述第一客戶端節(jié)點(diǎn), 其中所述第二連接請(qǐng)求指令是為了請(qǐng)求建立所述第一客戶端節(jié)點(diǎn)與所述第三客戶端節(jié)點(diǎn)之間的連接。
      8.如權(quán)利要求6所述的中繼通信方法,其特征在于,所述第一客戶端節(jié)點(diǎn)、所述第二客戶端節(jié)點(diǎn)以及所述第三客戶端節(jié)點(diǎn)構(gòu)成樹狀結(jié)構(gòu),且所述第二客戶端節(jié)點(diǎn)在所述樹狀結(jié)構(gòu)中作為樹根節(jié)點(diǎn),所述第一客戶端節(jié)點(diǎn)和所述第三客戶端節(jié)點(diǎn)在所述樹狀結(jié)構(gòu)中作為樹葉節(jié)點(diǎn)。
      9.如權(quán)利要求8所述的中繼通信方法,其特征在于,所述樹狀結(jié)構(gòu)中包含N個(gè)樹葉節(jié)點(diǎn),且N為預(yù)先設(shè)定的不小于2的整數(shù)。
      10.如權(quán)利要求8所述的P2P通信系統(tǒng),其特征在于,所述樹葉節(jié)點(diǎn)周期性向所述樹根節(jié)點(diǎn)發(fā)送UDP保持?jǐn)?shù)據(jù)包,所述樹根節(jié)點(diǎn)接收到所述UDP保持?jǐn)?shù)據(jù)包后返回對(duì)應(yīng)的應(yīng)答數(shù)據(jù)包至所述樹葉節(jié)點(diǎn);以及當(dāng)未收到特定樹葉節(jié)點(diǎn)按時(shí)發(fā)送的UDP保持?jǐn)?shù)據(jù)包或收到所述特定樹葉節(jié)點(diǎn)發(fā)送的離開數(shù)據(jù)包時(shí),所述樹根節(jié)點(diǎn)將所述特定樹葉節(jié)點(diǎn)從所述樹狀結(jié)構(gòu)中刪除。
      【文檔編號(hào)】H04L29/08GK104202413SQ201410471512
      【公開日】2014年12月10日 申請(qǐng)日期:2014年9月17日 優(yōu)先權(quán)日:2014年9月17日
      【發(fā)明者】鄭汝波, 張士波, 楊敬宇, 姚鍵, 潘柏宇, 盧述奇 申請(qǐng)人:合一網(wǎng)絡(luò)技術(shù)(北京)有限公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1