專利名稱:一種p2p流媒體直播技術(shù)的平行擴(kuò)展方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種流媒體傳輸技術(shù),尤其是基于P2P技術(shù)的流媒體直播技術(shù)的平行擴(kuò)展方法。
背景技術(shù):
傳統(tǒng)流媒體技術(shù)方案如圖1是架設(shè)一臺中心流媒體服務(wù)器,例如mediaservice或者real server,在服務(wù)器端發(fā)布流媒體節(jié)目,每個(gè)觀看流媒體節(jié)目的客戶端需要連接到該流媒體服務(wù)器請求流媒體數(shù)據(jù),然后下載數(shù)據(jù)到本地進(jìn)行播放。這種技術(shù)方案的缺點(diǎn)就是隨著觀看節(jié)目用戶數(shù)增加,服務(wù)器負(fù)載,帶寬消耗也成倍速增加,例如一個(gè)500BPS碼率節(jié)目,20萬個(gè)用戶觀看需要至少200臺服務(wù)器和10G帶寬,成本非常巨大。利用P2P技術(shù)直播流媒體,流媒體接收端還會往外發(fā)送流媒體數(shù)據(jù),但是對于流媒體信息源數(shù)據(jù)越來越大,如果大量用戶同時(shí)登陸同一P2P服務(wù)器,則照樣會形成堵塞的問題。
發(fā)明內(nèi)容
本發(fā)明的目的是在于解決大用戶量同時(shí)需要多個(gè)服務(wù)器的問題。
為達(dá)成上述目的,本發(fā)明一種P2P流媒體直播技術(shù)的平行擴(kuò)展方法,其中流媒體發(fā)布源分別向若干個(gè)流媒體緩沖服務(wù)器注冊節(jié)目信息后向流媒體緩沖服務(wù)器定時(shí)發(fā)送流媒體數(shù)據(jù),流媒體緩沖服務(wù)器登陸到主管理服務(wù)器后將流媒體信息列表進(jìn)行注冊;主管理服務(wù)器保存所有流媒體緩沖服務(wù)器列表,定時(shí)更新流媒體緩沖服務(wù)器信息,該信息包括包括流媒體緩沖服務(wù)器當(dāng)前節(jié)目名稱,節(jié)目ID,節(jié)目緩沖的數(shù)據(jù);p2p管理服務(wù)器定時(shí)和主管理服務(wù)器進(jìn)行通信,匯報(bào)本服務(wù)器種子信息,包括ip,節(jié)目緩沖數(shù)據(jù)多少,種子類型;客戶端首先登陸到登陸服務(wù)器,登陸服務(wù)器根據(jù)當(dāng)前所有p2p管理服務(wù)器的負(fù)載情況,選擇一個(gè)人數(shù)未滿的p2p管理服務(wù)器,把該服務(wù)器的ip,port返回給客戶端種子節(jié)點(diǎn)并登陸到該p2p管理服務(wù)器。
采用上述方案后,主管理服務(wù)器實(shí)時(shí)接收緩沖服務(wù)器的地址和節(jié)目列表后更新到p2p管理服務(wù)器,登陸服務(wù)器可實(shí)時(shí)監(jiān)控P2P管理服務(wù)器的負(fù)載情況,當(dāng)客戶端通過登陸服務(wù)器選擇負(fù)載較小的P2P管理服務(wù)器獲取緩沖服務(wù)器地址節(jié)目列表從而登陸緩沖服務(wù)器;由于緩沖服務(wù)器和p2p管理服務(wù)器均為多個(gè),主管理服務(wù)器只是將列表發(fā)給p2p管理服務(wù)器,而通過登陸服務(wù)器的調(diào)度,客戶端選擇較小負(fù)載的P2P管理服務(wù)器,可在多個(gè)P2P管理服務(wù)器之間進(jìn)行調(diào)度從而進(jìn)行平行擴(kuò)展,因此有效地解決了網(wǎng)絡(luò)堵塞的問題。
圖1是習(xí)用的流媒體傳輸?shù)慕Y(jié)構(gòu)圖;圖2是本發(fā)明的結(jié)構(gòu)圖;圖3是本發(fā)明流媒體發(fā)布端流程圖;圖4是本發(fā)明流程圖;圖5本發(fā)明登陸端流程圖。
下面結(jié)合附圖對本發(fā)明作進(jìn)一步說明。
具體實(shí)施例方式
如圖2所示,本發(fā)明一種P2P流媒體直播技術(shù)的平行擴(kuò)展方法,涉及以下功能裝置一、發(fā)布裝置61、讀取流媒體數(shù)據(jù),包括視頻流數(shù)據(jù)和文件數(shù)據(jù),例如wmv流數(shù)據(jù),Real流數(shù)據(jù)。
2、對每個(gè)流數(shù)據(jù)包進(jìn)行打包,例如asf流數(shù)據(jù)包或者rmvb流數(shù)據(jù)包,如果系統(tǒng)需要加密則對每個(gè)流媒體包進(jìn)行加密,在客戶端5(超級種子)收到改數(shù)據(jù)進(jìn)行解密。
3、向流媒體緩沖服務(wù)器2定時(shí)發(fā)送數(shù)據(jù)包,例如每隔1秒時(shí)間發(fā)送1秒的流媒體數(shù)據(jù),1秒可能包含多個(gè)流媒體數(shù)據(jù)包。
二、流媒體緩沖服務(wù)器21、緩沖一定時(shí)間的流媒體數(shù)據(jù),例如緩沖1分鐘流媒體數(shù)據(jù)。流媒體緩沖服務(wù)器2保存的數(shù)據(jù)是p2p直播系統(tǒng)中節(jié)點(diǎn)取得數(shù)據(jù)的第一個(gè)源頭??蛻舳?(超級種子)首先從流媒體緩沖服務(wù)器2取得流媒體數(shù)據(jù),然后才通過p2p傳輸散播流媒體數(shù)據(jù)。
2、同步流媒體數(shù)據(jù),根據(jù)發(fā)布裝置6發(fā)布流媒體數(shù)據(jù),定時(shí)更新流媒體緩沖服務(wù)器2中的流媒體數(shù)據(jù),例如緩沖60秒數(shù)據(jù),(60可以根據(jù)系統(tǒng)需要進(jìn)行調(diào)整),當(dāng)發(fā)布裝置6有新的數(shù)據(jù)來到,流媒體緩沖服務(wù)器2則覆蓋最舊的數(shù)據(jù),這樣可以保持當(dāng)前最新的60秒流媒體數(shù)據(jù)。
3、返回p2p節(jié)點(diǎn)連接請求流媒體數(shù)據(jù),例如p2p節(jié)點(diǎn)請求第4秒的數(shù)據(jù),則返回第4秒的流媒體數(shù)據(jù)給種子節(jié)點(diǎn)。
三、p2p管理服務(wù)器41、管理所有種子,p2p系統(tǒng)中每個(gè)種子都需要登陸到系統(tǒng)中的其中一個(gè)p2p管理服務(wù)器4。
2、從所有種子里選擇超級種子,在系統(tǒng)中主管理服務(wù)器1根據(jù)種子的網(wǎng)絡(luò)速度,包括上行速度,下行速度選擇最優(yōu)的前N個(gè)種子作為超級種子,超級種子直接從流媒體緩沖服務(wù)器2讀取流媒體數(shù)據(jù),同時(shí)向其他種子傳輸流媒體數(shù)據(jù)。
3、和主管理服務(wù)器1進(jìn)行通信,實(shí)時(shí)更新流媒體緩沖服務(wù)器2列表。當(dāng)有多個(gè)流媒體緩沖服務(wù)器2的時(shí)候,p2p管理服務(wù)器4根據(jù)種子節(jié)點(diǎn)請求返回流媒體緩沖服務(wù)器2的注冊信息,包括ip,port。這樣種子節(jié)點(diǎn)就可以從p2p服務(wù)器4得到流媒體緩沖服務(wù)器2的信息,連接到流媒體緩沖服務(wù)器2,取得流媒體數(shù)據(jù)。
四、主管理服務(wù)器11、管理所有p2p管理服務(wù)器4,p2p管理服務(wù)器4定時(shí)和主管理服務(wù)器1進(jìn)行通信,匯報(bào)本服務(wù)器種子信息,包括ip,節(jié)目緩沖數(shù)據(jù)多少,種子類型包括超級種子,非超級種子兩種。
2、管理所有流媒體緩沖服務(wù)器2列表,當(dāng)有多個(gè)流媒體緩沖服務(wù)器2的時(shí)候,主管理服務(wù)器1保存所有流媒體緩沖服務(wù)器2列表,定時(shí)更新流媒體緩沖服務(wù)器2信息,并定時(shí)把流媒體緩沖服務(wù)器2信息更新到p2p服務(wù)器4,包括流媒體緩沖服務(wù)器2當(dāng)前節(jié)目名稱,節(jié)目ID,節(jié)目緩沖的數(shù)據(jù)。
五、Stun服務(wù)器71、負(fù)責(zé)測試種子節(jié)點(diǎn)Nat類型,客戶端5通過UDP協(xié)議發(fā)送NAT測試請求,客戶端5傳統(tǒng)UDP包的時(shí)候同時(shí)上報(bào)自己的內(nèi)網(wǎng)IP,Stun服務(wù)器7根據(jù)客戶端5UPD包的外網(wǎng)IP和內(nèi)網(wǎng)IP判斷NAT類型。
六、登陸服務(wù)器31、負(fù)責(zé)登陸負(fù)載均衡,當(dāng)?shù)顷懹脩袅咳藬?shù)太多的情況,需要多個(gè)p2p管理服務(wù)器4,客戶端5首先登陸到登陸服務(wù)器3,登陸服務(wù)器3根據(jù)當(dāng)前所有p2p管理服務(wù)器4的負(fù)載情況,選擇一個(gè)人數(shù)未滿的p2p管理服務(wù)器4,把該服務(wù)器的ip,port返回給種子節(jié)點(diǎn),則客戶端5節(jié)點(diǎn)登陸到該p2p管理服務(wù)器4,從而達(dá)到多p2p管理服務(wù)器2的負(fù)載均衡。
如圖3至圖5所示,流媒體發(fā)布源分別向若干個(gè)流媒體緩沖服務(wù)器2注冊節(jié)目信息后向流媒體緩沖服務(wù)器2定時(shí)發(fā)送流媒體數(shù)據(jù),流媒體緩沖服務(wù)器2登陸到主管理服務(wù)器1后將流媒體信息列表進(jìn)行注冊;主管理服務(wù)器1保存所有流媒體緩沖服務(wù)器2列表,定時(shí)更新流媒體緩沖服務(wù)器2信息,該信息包括流媒體緩沖服務(wù)器2當(dāng)前節(jié)目名稱,節(jié)目ID,節(jié)目緩沖的數(shù)據(jù);p2p管理服務(wù)器4定時(shí)和主管理服務(wù)器1進(jìn)行通信,匯報(bào)本服務(wù)器種子信息,包括ip,節(jié)目緩沖數(shù)據(jù)多少,種子類型;客戶端5首先登陸到登陸服務(wù)器3,登陸服務(wù)器3根據(jù)當(dāng)前所有p2p管理服務(wù)器4的負(fù)載情況,選擇一個(gè)人數(shù)未滿的p2p管理服務(wù)器4,把該服務(wù)器的ip,port返回給客戶端5種子節(jié)點(diǎn),則客戶端5種子節(jié)點(diǎn)登陸到該p2p管理服務(wù)器4。
權(quán)利要求
1.一種P2P流媒體直播技術(shù)的平行擴(kuò)展方法,其特征在于流媒體發(fā)布源分別向若干個(gè)流媒體緩沖服務(wù)器注冊節(jié)目信息后向流媒體緩沖服務(wù)器定時(shí)發(fā)送流媒體數(shù)據(jù),流媒體緩沖服務(wù)器登陸到主管理服務(wù)器后將流媒體信息列表進(jìn)行注冊;主管理服務(wù)器保存所有流媒體緩沖服務(wù)器列表,定時(shí)更新流媒體緩沖服務(wù)器信息;p2p管理服務(wù)器定時(shí)和主管理服務(wù)器進(jìn)行通信,匯報(bào)本服務(wù)器種子信息;客戶端首先登陸到登陸服務(wù)器,登陸服務(wù)器根據(jù)當(dāng)前所有p2p管理服務(wù)器的負(fù)載情況,選擇一個(gè)人數(shù)未滿的p2p管理服務(wù)器,把該服務(wù)器的ip,port返回給客戶端種子節(jié)點(diǎn)并登陸到該p2p管理服務(wù)器。
2.根據(jù)權(quán)利要求1所述的一種P2P流媒體直播技術(shù)的平行擴(kuò)展方法,其特征在于該流媒體緩沖服務(wù)器信息包括流媒體緩沖服務(wù)器當(dāng)前節(jié)目名稱,節(jié)目ID,節(jié)目緩沖的數(shù)據(jù)。
3.根據(jù)權(quán)利要求1所述的一種P2P流媒體直播技術(shù)的平行擴(kuò)展方法,其特征在于p2p管理服務(wù)器信息包括ip,節(jié)目緩沖數(shù)據(jù)多少,種子類型。
全文摘要
本發(fā)明涉及一種P2P流媒體直播技術(shù)的平行擴(kuò)展方法,其中流媒體發(fā)布源分別向若干個(gè)流媒體緩沖服務(wù)器注冊節(jié)目信息后向流媒體緩沖服務(wù)器定時(shí)發(fā)送流媒體數(shù)據(jù),流媒體緩沖服務(wù)器登陸到主管理服務(wù)器后將流媒體信息列表進(jìn)行注冊;主管理服務(wù)器保存所有流媒體緩沖服務(wù)器列表,定時(shí)更新流媒體緩沖服務(wù)器信息,P2P管理服務(wù)器定時(shí)和主管理服務(wù)器進(jìn)行通信,匯報(bào)本服務(wù)器種子信息;客戶端首先登陸到登陸服務(wù)器,登陸服務(wù)器根據(jù)當(dāng)前所有P2P管理服務(wù)器的負(fù)載情況,選擇一個(gè)人數(shù)未滿的P2P管理服務(wù)器并陸到該P(yáng)2P管理服務(wù)器,本發(fā)明通過登陸服務(wù)器的調(diào)度,客戶端選擇較小負(fù)載的P2P管理服務(wù)器,可在多個(gè)P2P管理服務(wù)器之間進(jìn)行調(diào)度從而進(jìn)行平行擴(kuò)展,因此有效地解決了網(wǎng)絡(luò)堵塞的問題。
文檔編號H04L29/06GK101018201SQ200710008469
公開日2007年8月15日 申請日期2007年1月17日 優(yōu)先權(quán)日2007年1月17日
發(fā)明者黃從來 申請人:黃從來