P2p系統(tǒng)節(jié)點(diǎn)選擇方法
【專利摘要】本發(fā)明公開了一種P2P系統(tǒng)節(jié)點(diǎn)選擇方法,涉及用于與廣播信息或廣播時(shí)空直接相關(guān)的廣播應(yīng)用裝置或方法【技術(shù)領(lǐng)域】。該方法如下:尋找與本節(jié)點(diǎn)最近的鄰居節(jié)點(diǎn),向所有最近的鄰居節(jié)點(diǎn)發(fā)送UDP報(bào)文來請(qǐng)求位圖信息,根據(jù)往返傳輸時(shí)間、是否擁有緊急窗口里面數(shù)據(jù)塊、是否擁有稀有數(shù)據(jù)塊和位圖信息來選擇最優(yōu)的伙伴節(jié)點(diǎn)。所述方法提出了自治域的概念用于發(fā)現(xiàn)鄰居節(jié)點(diǎn),優(yōu)先選擇那些跟節(jié)點(diǎn)的地理位置和運(yùn)營(yíng)商相同的節(jié)點(diǎn)作為自己的服務(wù)節(jié)點(diǎn),并根據(jù)往返傳輸時(shí)間、是否擁有緊急窗口里面數(shù)據(jù)塊、是否擁有稀有數(shù)據(jù)塊和位圖信息來選擇最優(yōu)的伙伴節(jié)點(diǎn),定時(shí)地更新鄰居節(jié)點(diǎn)和伙伴節(jié)點(diǎn)來優(yōu)化覆蓋網(wǎng),提高了網(wǎng)絡(luò)下載速度,點(diǎn)播系統(tǒng)延遲小,保證流媒體的傳輸質(zhì)量。
【專利說明】P2P系統(tǒng)節(jié)點(diǎn)選擇方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及用于與廣播信息或廣播時(shí)空直接相關(guān)的廣播應(yīng)用裝置或方法技術(shù)領(lǐng) 域,尤其涉及一種P2P系統(tǒng)節(jié)點(diǎn)選擇方法。
【背景技術(shù)】
[0002] 將P2P技術(shù)和流媒體應(yīng)用相結(jié)合是當(dāng)前研宄的熱點(diǎn)之一,P2P系統(tǒng)最大的優(yōu)點(diǎn)是 使得用戶能夠有效的利用網(wǎng)絡(luò)中的資源,這些資源包括數(shù)據(jù)資源、帶寬資源和計(jì)算機(jī)資源。 所以這使得P2P系統(tǒng)中幾乎沒有原來CS模式的瓶頸,有著很好的可擴(kuò)展性。在P2P模型中, 每一個(gè)節(jié)點(diǎn)(peer)同時(shí)扮演了兩種角色,既是客戶端又是服務(wù)器,作為客戶端能夠像其他 節(jié)點(diǎn)查詢和請(qǐng)求所需要的服務(wù),作為服務(wù)器能夠提供服務(wù)給其他節(jié)點(diǎn)。
[0003] P2P網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)對(duì)P2P流媒體系統(tǒng)的性能影響很大,而構(gòu)建P2P網(wǎng)絡(luò)拓?fù)涞年P(guān) 鍵就是節(jié)點(diǎn)選擇問題。高質(zhì)量的P2P網(wǎng)絡(luò)拓?fù)溆腥齻€(gè)重要的度量參數(shù):(1)延遲:從點(diǎn)播流 媒體時(shí)刻開始到用戶的客戶端出現(xiàn)畫面時(shí)刻之間的啟動(dòng)延遲,從拖動(dòng)進(jìn)度條時(shí)刻到用戶的 客戶端出現(xiàn)播放畫面之間的跳播延遲;(2)服務(wù)器花費(fèi):流媒體服務(wù)器的CPU,內(nèi)存以及帶 寬的消耗;(3)可擴(kuò)展性:在流暢播放的前提下可以支持的最大節(jié)點(diǎn)數(shù)。一個(gè)良好的P2P拓 撲應(yīng)該保證啟動(dòng)延遲和跳播延遲小,播放流暢、服務(wù)器負(fù)載壓力小,支持大量的節(jié)點(diǎn)。我們 的目標(biāo)是構(gòu)建一個(gè)延遲小,擴(kuò)展性高的P2P流媒體覆蓋網(wǎng)。
[0004] 在P2P流媒體網(wǎng)絡(luò)拓?fù)渲校捎诠?jié)點(diǎn)使用的運(yùn)營(yíng)商不同,來自的地域不相同,再加 上節(jié)點(diǎn)之間的資源也不相同,導(dǎo)致節(jié)點(diǎn)具有很大的異構(gòu)性。節(jié)點(diǎn)可以不斷地加入或者離開 網(wǎng)絡(luò),無論節(jié)點(diǎn)是有意或者無意離開網(wǎng)絡(luò),都會(huì)導(dǎo)致節(jié)點(diǎn)的組成員經(jīng)常變化。如何在這樣復(fù) 雜的P2P網(wǎng)絡(luò)拓?fù)渲邪l(fā)現(xiàn)節(jié)點(diǎn)、選擇節(jié)點(diǎn)來構(gòu)建良好的P2P網(wǎng)絡(luò)來保證流媒體的傳輸質(zhì)量, 是P2P流媒體系統(tǒng)需要解決的關(guān)鍵問題。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明所要解決的技術(shù)問題是提供一種P2P系統(tǒng)節(jié)點(diǎn)選擇方法,所述節(jié)點(diǎn)選擇方 法用來尋找最優(yōu)的伙伴節(jié)點(diǎn),提高下載速度,保證流媒體的傳輸質(zhì)量。
[0006] 為解決上述技術(shù)問題,本發(fā)明所采取的技術(shù)方案是:一種P2P系統(tǒng)節(jié)點(diǎn)選擇方法, 其特征在于所述方法如下:尋找與本節(jié)點(diǎn)最近的鄰居節(jié)點(diǎn),向所有最近的鄰居節(jié)點(diǎn)發(fā)送 UDP報(bào)文來請(qǐng)求位圖信息,根據(jù)節(jié)點(diǎn)間的往返傳輸時(shí)間、節(jié)點(diǎn)內(nèi)是否擁有緊急窗口里面數(shù)據(jù) 塊、節(jié)點(diǎn)內(nèi)是否擁有稀有數(shù)據(jù)塊和位圖信息來選擇最優(yōu)的伙伴節(jié)點(diǎn)。
[0007] 進(jìn)一步的技術(shù)方案在于:尋找與本節(jié)點(diǎn)最近的鄰居節(jié)點(diǎn)方法如下:用戶首次加入 網(wǎng)絡(luò)時(shí),通過本域的域名解析獲得內(nèi)容路由服務(wù)器列表,內(nèi)容路由服務(wù)器根據(jù)部署域的映 射規(guī)則將用戶所屬域的域名發(fā)送給用戶,然后內(nèi)容路由服務(wù)器根據(jù)映射規(guī)則將用戶所屬域 或相鄰域的Tracker服務(wù)器地址列表返回給用戶,當(dāng)用戶訪問Tracker服務(wù)器時(shí),Tracker 服務(wù)器首先根據(jù)用戶的域名搜索自己的緩沖區(qū),查找與用戶處于同一個(gè)自治域或與用戶相 鄰的自治域,然后從查找到的自治域中選擇出一定數(shù)量的節(jié)點(diǎn)組成鄰居節(jié)點(diǎn)返回給用戶。
[0008] 進(jìn)一步的技術(shù)方案在于:所述方法優(yōu)先選擇和用戶節(jié)點(diǎn)處于同一個(gè)自治域中的節(jié) 點(diǎn),如果不夠再從查找到的相鄰域中隨機(jī)選取剩余的節(jié)點(diǎn)組成鄰居節(jié)點(diǎn)返回給用戶。
[0009] 進(jìn)一步的技術(shù)方案在于:所述自治域中域名的內(nèi)容包括運(yùn)營(yíng)商、省份和城市。
[0010] 進(jìn)一步的技術(shù)方案在于:同一個(gè)自治域中的片源服務(wù)器和節(jié)點(diǎn)的域名是相同的。
[0011] 進(jìn)一步的技術(shù)方案在于:所述位圖用來表示數(shù)據(jù)塊信息,用一個(gè)bit位來記錄對(duì) 應(yīng)的數(shù)據(jù)塊是否被下載,1表示已下載,〇表示未下載。
[0012] 進(jìn)一步的技術(shù)方案在于:選擇往返時(shí)間小的鄰居節(jié)點(diǎn)作為最優(yōu)伙伴節(jié)點(diǎn)。
[0013] 進(jìn)一步的技術(shù)方案在于:選擇那些擁有緊急窗口里面數(shù)據(jù)塊的節(jié)點(diǎn)作為最優(yōu)伙伴 節(jié)點(diǎn)。
[0014] 進(jìn)一步的技術(shù)方案在于:將所述P2P點(diǎn)播系統(tǒng)中所需的數(shù)據(jù)窗口劃分為播放窗 口、緊急窗口和普通窗口,播放指針之前的窗口為播放窗口,播放窗口內(nèi)為當(dāng)前節(jié)點(diǎn)正在播 放的數(shù)據(jù)塊,所述播放窗口與普通窗口之間的數(shù)據(jù)塊為緊急窗口,所述緊急窗口內(nèi)的數(shù)據(jù) 塊為馬上需要播放的數(shù)據(jù)塊。
[0015] 進(jìn)一步的技術(shù)方案在于:選擇那些有稀有數(shù)據(jù)塊的節(jié)點(diǎn)作為最優(yōu)伙伴節(jié)點(diǎn)。
[0016] 采用上述技術(shù)方案所產(chǎn)生的有益效果在于:所述方法提出了自治域的概念用于發(fā) 現(xiàn)鄰居節(jié)點(diǎn),優(yōu)先選擇那些跟節(jié)點(diǎn)的地理位置和運(yùn)營(yíng)商相同的節(jié)點(diǎn)作為自己的服務(wù)節(jié)點(diǎn), 并根據(jù)往返傳輸時(shí)間、是否擁有緊急窗口里面數(shù)據(jù)塊、是否擁有稀有數(shù)據(jù)塊和位圖信息來 選擇最優(yōu)的伙伴節(jié)點(diǎn),定時(shí)地更新鄰居節(jié)點(diǎn)和伙伴節(jié)點(diǎn)來優(yōu)化覆蓋網(wǎng),提高了網(wǎng)絡(luò)下載速 度,點(diǎn)播系統(tǒng)延遲小,保證流媒體的傳輸質(zhì)量。
【專利附圖】
【附圖說明】
[0017] 下面結(jié)合附圖和【具體實(shí)施方式】對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說明。
[0018] 圖1是本發(fā)明中P2P點(diǎn)播系統(tǒng)中所需的數(shù)據(jù)窗口原理圖。
【具體實(shí)施方式】
[0019] 下面結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整 地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明的一部分實(shí)施例,而不是全部的實(shí)施例?;?本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他 實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0020] 在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,但是本發(fā)明還可以 采用其他不同于在此描述的其它方式來實(shí)施,本領(lǐng)域技術(shù)人員可以在不違背本發(fā)明內(nèi)涵的 情況下做類似推廣,因此本發(fā)明不受下面公開的具體實(shí)施例的限制。
[0021] 在下載文件的過程中,即使有很多的種子節(jié)點(diǎn),但是下載速度仍然很慢,可能是因 為這些種子節(jié)點(diǎn)和當(dāng)前節(jié)點(diǎn)的地域不同,運(yùn)營(yíng)商不同。所述方法提出了 "自治域"的概念, 自治域是PPCDN系統(tǒng)的片源服務(wù)器和從這些片源服務(wù)器獲取服務(wù)的用戶組成的集合。自治 域是PPCDN系統(tǒng)進(jìn)行管理和部署的基本單位。按照片源服務(wù)器的部署來對(duì)自治域進(jìn)行劃分 和定義。每個(gè)域都有一個(gè)域名,域名來源部署的片源服務(wù)器的地域和運(yùn)營(yíng)商,可以唯一標(biāo)識(shí) 自治域。用戶連接PPCDN系統(tǒng),系統(tǒng)會(huì)為他們生成一個(gè)域名,并且將他們接入到對(duì)應(yīng)的自治 域,這樣用戶可以就近訪問服務(wù)。同一個(gè)自治域中的片源服務(wù)器和用戶的域名是相同的。
[0022] 域名的具體格式如下:運(yùn)營(yíng)商(ISP).省份(Province).城市(City)
[0023]例如:
[0024] 北京電信部署,域名為:電信.北京.北京
[0025] 四川德陽移動(dòng)部署,域名為:移動(dòng).四川.德陽
[0026] 武漢聯(lián)通部署,域名為:聯(lián)通.湖北.武漢
[0027] 用戶接入系統(tǒng)時(shí),系統(tǒng)根據(jù)以上域名規(guī)則獲取他們所域的域名,然后將域名發(fā)送 給用戶。
[0028] 節(jié)點(diǎn)連接系統(tǒng)獲取片源服務(wù)器和其他節(jié)點(diǎn)地址后,從中選取一定數(shù)量和自己域名 相同的片源服務(wù)器和用戶節(jié)點(diǎn),不夠的話就選取鄰近域的節(jié)點(diǎn)。優(yōu)先考慮運(yùn)營(yíng)商和省份都 相同的,如果還不夠的話,就選擇運(yùn)營(yíng)商相同的。表1,表2和表3分別列出了部分運(yùn)營(yíng)商列 表,部分省份列表和部分城市列表。
[0029] 表1部分運(yùn)營(yíng)商列表
【權(quán)利要求】
1. 一種P2P系統(tǒng)節(jié)點(diǎn)選擇方法,其特征在于所述方法如下:尋找與本節(jié)點(diǎn)最近的鄰居 節(jié)點(diǎn),向所有最近的鄰居節(jié)點(diǎn)發(fā)送UDP報(bào)文來請(qǐng)求位圖信息,根據(jù)節(jié)點(diǎn)間的往返傳輸時(shí)間、 節(jié)點(diǎn)內(nèi)是否擁有緊急窗口里面數(shù)據(jù)塊、節(jié)點(diǎn)內(nèi)是否擁有稀有數(shù)據(jù)塊和位圖信息來選擇最優(yōu) 的伙伴節(jié)點(diǎn)。
2. 根據(jù)權(quán)利要求1所述的P2P系統(tǒng)節(jié)點(diǎn)選擇方法,其特征在于尋找與本節(jié)點(diǎn)最近的鄰 居節(jié)點(diǎn)方法如下:用戶首次加入網(wǎng)絡(luò)時(shí),通過本域的域名解析獲得內(nèi)容路由服務(wù)器列表,內(nèi) 容路由服務(wù)器根據(jù)部署域的映射規(guī)則將用戶所屬域的域名發(fā)送給用戶,然后內(nèi)容路由服務(wù) 器根據(jù)映射規(guī)則將用戶所屬域或相鄰域的Tracker服務(wù)器地址列表返回給用戶,當(dāng)用戶訪 問Tracker服務(wù)器時(shí),Tracker服務(wù)器首先根據(jù)用戶的域名搜索自己的緩沖區(qū),查找與用戶 處于同一個(gè)自治域或與用戶相鄰的自治域,然后從查找到的自治域中選擇出一定數(shù)量的節(jié) 點(diǎn)組成鄰居節(jié)點(diǎn)返回給用戶。
3. 根據(jù)權(quán)利要求2所述的P2P系統(tǒng)節(jié)點(diǎn)選擇方法,其特征在于:所述方法優(yōu)先選擇和 用戶節(jié)點(diǎn)處于同一個(gè)自治域中的節(jié)點(diǎn),如果不夠再從查找到的相鄰域中隨機(jī)選取剩余的節(jié) 點(diǎn)組成鄰居節(jié)點(diǎn)返回給用戶。
4. 根據(jù)權(quán)利要求2所述的P2P系統(tǒng)節(jié)點(diǎn)選擇方法,其特征在于:所述自治域中域名的 內(nèi)容包括運(yùn)營(yíng)商、省份和城市。
5. 根據(jù)權(quán)利要求2所述的P2P系統(tǒng)節(jié)點(diǎn)選擇方法,其特征在于:同一個(gè)自治域中的片 源服務(wù)器和節(jié)點(diǎn)的域名是相同的。
6. 根據(jù)權(quán)利要求1所述的P2P系統(tǒng)節(jié)點(diǎn)選擇方法,其特征在于:所述位圖用來表示數(shù) 據(jù)塊信息,用一個(gè)bit位來記錄對(duì)應(yīng)的數(shù)據(jù)塊是否被下載,1表示已下載,0表示未下載。
7. 根據(jù)權(quán)利要求1所述的P2P系統(tǒng)節(jié)點(diǎn)選擇方法,其特征在于:選擇往返時(shí)間小的鄰 居節(jié)點(diǎn)作為最優(yōu)伙伴節(jié)點(diǎn)。
8. 根據(jù)權(quán)利要求1所述的P2P系統(tǒng)節(jié)點(diǎn)選擇方法,其特征在于:選擇那些擁有緊急窗 口里面數(shù)據(jù)塊的節(jié)點(diǎn)作為最優(yōu)伙伴節(jié)點(diǎn)。
9. 根據(jù)權(quán)利要求8所述的P2P系統(tǒng)節(jié)點(diǎn)選擇方法,其特征在于:將所述P2P點(diǎn)播系統(tǒng)中 所需的數(shù)據(jù)窗口劃分為播放窗口、緊急窗口和普通窗口,播放指針之前的窗口為播放窗口, 播放窗口內(nèi)為當(dāng)前節(jié)點(diǎn)正在播放的數(shù)據(jù)塊,所述播放窗口與普通窗口之間的數(shù)據(jù)塊為緊急 窗口,所述緊急窗口內(nèi)的數(shù)據(jù)塊為馬上需要播放的數(shù)據(jù)塊。
10. 根據(jù)權(quán)利要求1所述的P2P系統(tǒng)節(jié)點(diǎn)選擇方法,其特征在于:選擇那些有稀有數(shù)據(jù) 塊的節(jié)點(diǎn)作為最優(yōu)伙伴節(jié)點(diǎn)。
【文檔編號(hào)】H04L29/06GK104506537SQ201410828981
【公開日】2015年4月8日 申請(qǐng)日期:2014年12月26日 優(yōu)先權(quán)日:2014年12月26日
【發(fā)明者】邢建川, 段翰聰, 張奎, 董科廷, 王帥飛, 王翔 申請(qǐng)人:電子科技大學(xué)