專利名稱:一種大規(guī)模流媒體傳輸結(jié)構(gòu)的實現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及大規(guī)模多媒體網(wǎng)絡(luò)的應(yīng)用,尤其是涉及一種大規(guī)模實時流媒體傳輸結(jié)構(gòu)的 實現(xiàn)方法。
技術(shù)背景視頻會議系統(tǒng)中數(shù)據(jù)傳輸量大,在傳統(tǒng)的中心服務(wù)器/客戶機模型下,由于服務(wù)器帶寬、 處理能力有限,導(dǎo)致系統(tǒng)規(guī)模和可擴展性受限。IP組播能夠最大限度節(jié)約網(wǎng)絡(luò)帶寬,但由于技術(shù)和商業(yè)的原因,組播沒有大范圍開通,Internet中分布著大量的IP組播孤島。因此, 突破傳統(tǒng)的服務(wù)器/客戶傳輸模型,并充分利用IP組播孤島的傳輸能力,將有效節(jié)約網(wǎng)絡(luò)帶 寬和服務(wù)器處理能力。應(yīng)用層組播利用終端或部署在網(wǎng)絡(luò)中的轉(zhuǎn)發(fā)節(jié)點在應(yīng)用層實現(xiàn)組播 服務(wù)同時能方便地利用IP組播孤島的組播能力.傳統(tǒng)的應(yīng)用層組播中,Scribe、 Bayeux、 CAN基于分布式散列表實現(xiàn)組播,其邏輯上的鄰居關(guān)系不能反映物理上的鄰近,傳輸延遲 較大,不適合實時流媒體傳輸;Narada、 HMTP、 Yoid、 ALMI、 NICE、 HostCast,它們都 依靠端系統(tǒng)實現(xiàn)組播,傳輸延遲和系統(tǒng)穩(wěn)定性都難以保證。通過在網(wǎng)絡(luò)中策略性地部署轉(zhuǎn) 發(fā)節(jié)點構(gòu)造覆蓋網(wǎng),是大規(guī)模高質(zhì)量的群組通信的發(fā)展方向,而基于覆蓋網(wǎng)的應(yīng)用層組播 應(yīng)用中,RMX適用于可靠應(yīng)用層組播,Overcast、 OMNI適用于單數(shù)據(jù)源的應(yīng)用,Scattercast 強調(diào)應(yīng)用的廣泛性,都無法滿足實時流媒體傳輸?shù)男枨?;而且這些覆蓋網(wǎng)結(jié)構(gòu)都通過構(gòu)建 與維護組播分發(fā)樹實現(xiàn)數(shù)據(jù)報文的正確分發(fā),但組播分發(fā)樹的構(gòu)建與維護消耗大量的控制 開銷和節(jié)點內(nèi)存,限制了系統(tǒng)規(guī)模同時影響系統(tǒng)穩(wěn)定性。 發(fā)明內(nèi)容本發(fā)明的技術(shù)問題克服現(xiàn)有技術(shù)的不足,提供一種能有效提高系統(tǒng)接入規(guī)模和穩(wěn)定 性,能顯著提高不同網(wǎng)絡(luò)運營商用戶間交互質(zhì)量的大規(guī)模流媒體傳輸結(jié)構(gòu)及其實現(xiàn)方法。本發(fā)明的技術(shù)解決方案 一種大規(guī)模流媒體傳輸結(jié)構(gòu)的實現(xiàn)方法,其特征在于所述 的傳輸結(jié)構(gòu)由部署在眾多IP組播孤島中任意數(shù)量的媒體轉(zhuǎn)發(fā)節(jié)點以及唯一的轉(zhuǎn)發(fā)節(jié)點控制 器組成,其中媒體轉(zhuǎn)發(fā)節(jié)點在轉(zhuǎn)發(fā)節(jié)點控制器的控制下接入用戶終端,包括組播用戶和單 播用戶,部署了唯一轉(zhuǎn)發(fā)節(jié)點控制器的組播孤島被稱為主組播孤島,其他組播孤島被稱為 鄰居組播孤島,媒體轉(zhuǎn)發(fā)節(jié)點可安裝多塊網(wǎng)絡(luò)接口,各網(wǎng)絡(luò)接口可任意接入到同一組播孤 島或不同組播孤島,所述的傳輸結(jié)構(gòu)的實現(xiàn)步驟'如甲 (1) 轉(zhuǎn)發(fā)節(jié)點控制器啟動后發(fā)送心跳報文,以確定各媒體轉(zhuǎn)發(fā)節(jié)點類型若媒體轉(zhuǎn) 發(fā)節(jié)點的所有網(wǎng)絡(luò)接口均收到此心跳報文,則此媒體轉(zhuǎn)發(fā)節(jié)點類型為主孤島孤立節(jié)點,若 媒體轉(zhuǎn)發(fā)節(jié)點的所有網(wǎng)絡(luò)接口均收不到此心跳報文,則此媒體轉(zhuǎn)發(fā)節(jié)點類型為鄰居孤島孤 立節(jié)點,若媒體轉(zhuǎn)發(fā)節(jié)點有部分網(wǎng)絡(luò)接口收到此心跳報文,而部分收不到,則此媒體轉(zhuǎn)發(fā) 節(jié)點類型為備選連通節(jié)點;(2) 各媒體轉(zhuǎn)發(fā)節(jié)點在確定自身的類型后發(fā)送心跳報文,以確定媒體轉(zhuǎn)發(fā)節(jié)點在各組 播孤島分布狀況,即拓撲結(jié)構(gòu);(3) 各組播孤島選舉出匯聚節(jié)點,匯聚節(jié)點綜合鄰居組播孤島拓撲結(jié)構(gòu)及節(jié)點信息遞 交給轉(zhuǎn)發(fā)節(jié)點控制器,轉(zhuǎn)發(fā)節(jié)點控制器由此獲知全局拓撲結(jié)構(gòu)(4) 對每個新加入的用戶終端,轉(zhuǎn)發(fā)節(jié)點控制器根據(jù)獲知的全局拓撲結(jié)構(gòu),采用用戶 自動接入方法為該用戶終端選擇合適的某個媒體轉(zhuǎn)發(fā)節(jié)點;(5) 在用戶終端接入后,對每個新建會話,各鄰居組播孤島選舉出連通節(jié)點或代理節(jié) 點,負責(zé)各鄰居組播孤島與主組播孤島間的數(shù)據(jù)互通,各連通節(jié)點與各代理節(jié)點之間,或 各代理節(jié)點之間,或連通節(jié)點之間相互配合,依據(jù)多媒體數(shù)據(jù)轉(zhuǎn)發(fā)方法將該用戶終端所發(fā) 送的數(shù)據(jù)報文正確傳遞到該會話其他用戶終端。其中步驟(2)進一步包括(a) 媒體轉(zhuǎn)發(fā)節(jié)點所有網(wǎng)絡(luò)接口組播收發(fā)心跳報文,心跳報文內(nèi)容包括節(jié)點類型、啟 動時間及負載情況;(b) 在確定媒體轉(zhuǎn)點節(jié)點各網(wǎng)絡(luò)接口在各組播孤島分布狀況后,以媒體轉(zhuǎn)發(fā)節(jié)點在各 組播孤島中網(wǎng)絡(luò)接口地址最小者繼續(xù)代表該節(jié)點在該組播孤島內(nèi)收發(fā)心跳報文,其他媒體 轉(zhuǎn)發(fā)節(jié)點網(wǎng)絡(luò)接口則停止發(fā)送,以減少報文開銷。其中步驟(3)進一步包括(1) 組播孤島內(nèi)各媒體轉(zhuǎn)發(fā)節(jié)點組播發(fā)送的周期性心跳報文被該孤島內(nèi)其他所有媒體 轉(zhuǎn)發(fā)節(jié)點收到;(2) 組播孤島內(nèi)各媒體轉(zhuǎn)發(fā)節(jié)點收到其他媒體轉(zhuǎn)發(fā)節(jié)點的心跳報文后,選舉啟動時間 最早的媒體轉(zhuǎn)發(fā)節(jié)點為匯聚節(jié)點;(3) 匯聚節(jié)點根據(jù)組播孤島內(nèi)各媒體轉(zhuǎn)發(fā)節(jié)點心跳報文,綜合組播孤島內(nèi)各媒體轉(zhuǎn)發(fā) 節(jié)點的類型、啟動時間、負載情況、網(wǎng)絡(luò)接口信息單播傳送給轉(zhuǎn)發(fā)節(jié)點控制器。其中步驟(4)的用戶自動接入方法實現(xiàn)如下 (1)用戶終端通過配置文件,獲取媒體轉(zhuǎn)發(fā)節(jié)點組播發(fā)送心跳報文的地址并在該地址 監(jiān)聽心跳報文;
(2) 若所述的用戶終端收到任意媒體轉(zhuǎn)發(fā)節(jié)點的心跳報文,則表明用戶終端所在組播 孤島中部署了媒體轉(zhuǎn)發(fā)節(jié)點,該用戶終端將通過組播收發(fā)報文,并由所在組播孤島的匯聚 節(jié)點監(jiān)聽用戶終端的狀態(tài),用戶終端至此完成接入;否則繼續(xù)下一步;(3) 用戶終端通過轉(zhuǎn)發(fā)節(jié)點控制器査詢是否有媒體轉(zhuǎn)發(fā)節(jié)點控制器與用戶終端屬于同 一個網(wǎng)絡(luò)運營商,如果有這樣的節(jié)點,轉(zhuǎn)發(fā)節(jié)點控制器將返回其中負載最輕的節(jié)點及其相 應(yīng)網(wǎng)絡(luò)接口地址,該用戶終端將通過該轉(zhuǎn)發(fā)節(jié)點網(wǎng)絡(luò)接口單播收發(fā)報文,并由該節(jié)點監(jiān)聽 用戶終端的狀態(tài),用戶終端至此完成接入;否則,繼續(xù)下步;(4) 用戶終端通過轉(zhuǎn)發(fā)節(jié)點控制器査詢負載最輕的媒體轉(zhuǎn)發(fā)節(jié)點,然后用戶終端通過 發(fā)送測^C報文檢測與這些媒體轉(zhuǎn)發(fā)節(jié)點間的帶寬、往返時延,從往返時延小于或等于設(shè)定 時延的媒體轉(zhuǎn)發(fā)節(jié)點中選擇帶寬最大的節(jié)點,用戶終端將通過該媒體轉(zhuǎn)發(fā)節(jié)點單播收發(fā)報 文,并由該媒體轉(zhuǎn)發(fā)節(jié)點監(jiān)聽該用戶終端的狀態(tài),該用戶終端至此完成接入;如果往返時 延小于或等于設(shè)定時延的媒體轉(zhuǎn)發(fā)節(jié)點不存在,則提示用戶無法接入。其中步驟(5)進一步包括(a) 若鄰居組播孤島內(nèi)部署有備選連通節(jié)點,則所述的孤島內(nèi)負載最輕的備選連通節(jié) 點被選舉為連通節(jié)點,負責(zé)鄰居組播孤島與主孤島數(shù)據(jù)轉(zhuǎn)發(fā);(b) 若鄰居組播孤島內(nèi)沒有部署備選連通節(jié)點,則所述的孤島內(nèi)負載最輕的節(jié)點被選 舉為代理節(jié)點,代理節(jié)點通過轉(zhuǎn)發(fā)節(jié)點控制器査詢主組播孤島中負載最輕的節(jié)點,代理節(jié) 點單播連接到該媒體轉(zhuǎn)發(fā)節(jié)點,鄰居組播孤島與主孤島間數(shù)據(jù)將通過該單播鏈路轉(zhuǎn)發(fā)(c) 主組播孤島節(jié)點間通過組播直接實現(xiàn)數(shù)據(jù)交換,通過上述連通節(jié)點與代理節(jié)點間 接實現(xiàn)與鄰居組播孤島節(jié)點數(shù)據(jù)交換。其中步驟(5)中的多媒體數(shù)據(jù)轉(zhuǎn)發(fā)方法實現(xiàn)如下(1) 主孤島孤立節(jié)點或鄰居孤島孤立節(jié)點組播接收到報文后,單播轉(zhuǎn)發(fā)給該媒體轉(zhuǎn)發(fā) 節(jié)點所有單播接入用戶;(2) 主孤島孤立節(jié)點或鄰居孤島孤立節(jié)點單播接收到報文后,單播轉(zhuǎn)發(fā)給該節(jié)點所有 其他單播接入用戶,并組播轉(zhuǎn)發(fā)該報文;(3) 連通節(jié)點組播接收到報文后,單播轉(zhuǎn)發(fā)給該節(jié)點所有其他單播接入用戶,若從主 組播孤島收到該報文,則向所負責(zé)鄰居組播孤島組播轉(zhuǎn)發(fā),若從所負責(zé)鄰居組播孤島收到 該報文,則向主組播孤島轉(zhuǎn)發(fā);(4) 連通節(jié)點單播接收到報文后,單播轉(zhuǎn)發(fā)給該節(jié)點所有其他單播接入用戶,并向主 組播孤島以及所負責(zé)鄰居組播孤島組播轉(zhuǎn)發(fā)該報文(5) 備選連通節(jié)點從主組播孤島組播接收到報文后,'單播轉(zhuǎn)發(fā)給該節(jié)點所有其他單播
接入用戶,對于從鄰居組播孤島組播接收到的報文將丟棄(6)備選連通節(jié)點單播接收到報文后,單播轉(zhuǎn)發(fā)給該節(jié)點所有其他單播接入用戶,并 向主組播孤島轉(zhuǎn)發(fā)該報文。本發(fā)明與現(xiàn)有技術(shù)相比的優(yōu)點在于(1) 在以前的研究中,覆蓋網(wǎng)主要基于分布式散列表或分發(fā)樹的構(gòu)建和維護。前者邏 輯上的相鄰關(guān)系無法反映物理上相鄰,時延不可控制,不適合實時應(yīng)用。后者帶來了控制 信息開銷和系統(tǒng)不穩(wěn)定性。發(fā)明設(shè)計了一種兩層覆蓋網(wǎng)結(jié)構(gòu)第一層,各組播孤島內(nèi)分布 式部署多個媒體轉(zhuǎn)發(fā)節(jié)點,構(gòu)成孤島內(nèi)節(jié)點集群;第二層,鄰居組播孤島通過特定方案與 主組播孤島連通,構(gòu)成以主組播孤島為中心、其他孤島環(huán)繞的星形拓撲結(jié)構(gòu),該種實現(xiàn)結(jié) 構(gòu)通過數(shù)據(jù)轉(zhuǎn)發(fā)技術(shù)避免了傳統(tǒng)覆蓋網(wǎng)中組播樹構(gòu)建帶來的額外開銷和系統(tǒng)不穩(wěn)定性,將 IP組播的高效性和應(yīng)用層組播部署的靈活性相結(jié)合。經(jīng)實際驗證,該結(jié)構(gòu)能有效提高系統(tǒng) 接入規(guī)模和穩(wěn)定性,能顯著提高不同網(wǎng)絡(luò)運營商用戶間交互質(zhì)量。(2) 本發(fā)明的星形結(jié)構(gòu)適應(yīng)視頻會議中數(shù)據(jù)發(fā)送者在主組播孤島集中、數(shù)據(jù)接收者在 各組播孤島聚集的場景,限制了報文轉(zhuǎn)發(fā)的最大跳數(shù),從而限制了了數(shù)據(jù)傳輸最大延遲。(3) 此外,通過連通節(jié)點和代理節(jié)點有效降低了不同網(wǎng)絡(luò)運營商用戶間網(wǎng)絡(luò)延遲和丟 包率,提高了交互質(zhì)量
圖1為本發(fā)明的傳輸結(jié)構(gòu)拓撲示例圖; 圖2本發(fā)明中的用戶自動接入方法的流程圖; 圖3為本發(fā)明的多媒體數(shù)據(jù)轉(zhuǎn)發(fā)示意圖; 圖4為本發(fā)明的系統(tǒng)規(guī)模增長的示意圖; 圖5為本發(fā)明的實際測試延遲改善的示意圖; 圖6本發(fā)明的實際測試丟包率改善的示意圖。
具體實施方式
下面結(jié)合附圖,對本發(fā)明的實施例進行詳細的說明。如圖l所示,本發(fā)明的傳輸結(jié)構(gòu)由部署在眾多IP組播孤島中任意數(shù)量的媒體轉(zhuǎn)發(fā)節(jié)點 以及唯一的轉(zhuǎn)發(fā)節(jié)點控制器組成。其中,媒體轉(zhuǎn)發(fā)節(jié)點在轉(zhuǎn)發(fā)節(jié)點控制器的控制下接入用 戶終端,包括組播用戶和單播用戶,部署了唯一轉(zhuǎn)發(fā)節(jié)點控制器的組播孤島被稱為主組播 孤島,其他組播孤島被稱為鄰居組播孤島,媒體轉(zhuǎn)發(fā)節(jié)點可配置多塊網(wǎng)絡(luò)接口,各網(wǎng)絡(luò)接 口可接入到同一個組播孤島或不同組播孤島。整個傳輸結(jié)構(gòu)是一個兩層的覆蓋兩結(jié)構(gòu):第」層,'各組播孤島內(nèi)分布式部署多個媒體
轉(zhuǎn)發(fā)節(jié)點,構(gòu)成孤島內(nèi)節(jié)點集群;第二層,各鄰居組播孤島采用從組播孤島內(nèi)媒體轉(zhuǎn)發(fā)節(jié) 點中選舉出匯聚節(jié)點和各會話的連通節(jié)點,構(gòu)成以主組播孤島為中心、其他孤島環(huán)繞的星 形拓撲結(jié)構(gòu)。在圖1中,部署有6個媒體轉(zhuǎn)發(fā)節(jié)點和唯一的媒體轉(zhuǎn)發(fā)節(jié)點控制器。假設(shè)各媒體轉(zhuǎn)發(fā) 節(jié)點啟動順序按先后依次為1~6。媒體轉(zhuǎn)發(fā)節(jié)點1、 4、 5、 6都是孤立節(jié)點,其中1、 5、 6 為鄰居孤島孤立節(jié)點,4為主孤島孤立節(jié)點,媒體轉(zhuǎn)發(fā)節(jié)點2、 3為備選連通節(jié)點。鄰居組 播孤島1因節(jié)點1的啟動時間先于節(jié)點2、 3,所以被選舉為鄰居組播孤島1的匯聚節(jié)點。 鄰居組播孤島2因節(jié)點5啟動時間先于節(jié)點6,所以被選舉為鄰居組播孤島2的匯聚節(jié)點。 主組播孤島中的2、 !k 4三個節(jié)點中節(jié)點2的啟動時間最早,因此被選舉為主組播孤島的 匯聚節(jié)點。匯聚節(jié)點將各組播孤島節(jié)點拓撲結(jié)構(gòu)報告轉(zhuǎn)發(fā)媒體節(jié)點控制器,轉(zhuǎn)發(fā)節(jié)點控制 器由此獲知全局拓撲結(jié)構(gòu)。本發(fā)明主要包括兩項核心技術(shù)用戶自動接入方法、多媒體數(shù)據(jù)轉(zhuǎn)發(fā)方法。轉(zhuǎn)發(fā)節(jié)點 控制器利用所獲知的全局拓撲結(jié)構(gòu),應(yīng)用用戶自動接入方法為用戶終端選擇合適的接入媒 體轉(zhuǎn)發(fā)節(jié)點。在甩戶接入后,該傳輸結(jié)構(gòu)利用多媒體數(shù)據(jù)轉(zhuǎn)發(fā)算法將媒體流數(shù)據(jù)轉(zhuǎn)發(fā)給該 用戶終端。如圖2所示,本發(fā)明的用戶自動接入實現(xiàn)過程如下(1) 監(jiān)聽媒體轉(zhuǎn)發(fā)節(jié)點組播發(fā)送的心跳報文 若用戶終端能收到媒體轉(zhuǎn)發(fā)節(jié)點組播發(fā)送的心跳報文,表明該用戶終端所在組播孤島有媒體轉(zhuǎn)發(fā)節(jié)點部署,因此選擇組播接入,由所在組播孤島匯聚節(jié)點監(jiān)聽該用戶狀態(tài),完 成接入,如圖1中用戶A、 B、 C、 F、 G、 H。否則,采用單播接入方式,繼續(xù)下一步;(2) 査看節(jié)點所屬網(wǎng)絡(luò)運營商 如果有轉(zhuǎn)發(fā)節(jié)點的網(wǎng)絡(luò)接口與待接入用戶終端屬于同一網(wǎng)絡(luò)運營商,則從中選擇負載最輕的節(jié)點,完成單播接入。具體來說,用戶終端通過媒體轉(zhuǎn)發(fā)節(jié)點控制器查詢與自己同 屬一個網(wǎng)絡(luò)運營商的毀體轉(zhuǎn)發(fā)節(jié)點,如果有這樣的節(jié)點,媒體轉(zhuǎn)發(fā)節(jié)點控制器將返回負載 最輕的媒體轉(zhuǎn)發(fā)節(jié)點及其網(wǎng)絡(luò)接口地址完成接入,否則,繼續(xù)下一步。如圖1中用戶終端E 與節(jié)點3左網(wǎng)絡(luò)接口屬于同一運營商網(wǎng)絡(luò),用戶終端I與節(jié)點3右網(wǎng)絡(luò)接口屬于同一運營商 網(wǎng)絡(luò),這樣用戶終端E、 I分別通過與自己屬于同一網(wǎng)絡(luò)運營商的網(wǎng)絡(luò)接口進行數(shù)據(jù)交換。(3) 檢測與各節(jié)點間的網(wǎng)絡(luò)狀況 若沒有轉(zhuǎn)發(fā)節(jié)點網(wǎng)絡(luò)接口與用戶屬于同一網(wǎng)絡(luò)運營商,則根據(jù)該用戶終端與節(jié)點間帶寬、延遲大小及節(jié)點負載情況選擇最優(yōu)節(jié)點接入。具體來說,用戶通過轉(zhuǎn)發(fā)節(jié)點控制器査 詢負載最輕的10個節(jié)點,然后甩戶終端通過發(fā)送測試報文檢測與這些節(jié)點間的帶寬、往返 時延,從往返時延小于或等于800ms的節(jié)點中選擇帶寬最大的節(jié)點完成接入,如果往返時 延小于或等于800ms的節(jié)點不存在,則提示用戶無法接入。用戶自動接入方法支持用戶組播接入,充分利用了本發(fā)明將單、組播相結(jié)合、大規(guī)模 跨運營商網(wǎng)絡(luò)部署的優(yōu)點,在用戶終端所屬IP組播孤島有節(jié)點部署的情況下,優(yōu)先采用組 播接入,通過IP組播進行用戶終端與媒體轉(zhuǎn)發(fā)節(jié)點間數(shù)據(jù)交換,節(jié)約了網(wǎng)絡(luò)帶寬和節(jié)點處 理能力。單播接入時,優(yōu)先接入與用戶屬于同一運營商的網(wǎng)絡(luò)接口,用戶終端與媒體轉(zhuǎn)發(fā) 節(jié)點通過同一運營商網(wǎng)絡(luò)實現(xiàn)數(shù)據(jù)交換,適應(yīng)了同一運營商網(wǎng)絡(luò)優(yōu)于不同運營商間網(wǎng)絡(luò)的 情況。眾所周知,Internet各自治系統(tǒng)由不同ISP (網(wǎng)絡(luò)運營商)維護,自治系統(tǒng)之間運行 邊界河關(guān)協(xié)議(Border Gateway Protocol),由于各自治系統(tǒng)對鏈路狀況衡量標準不一、主干 網(wǎng)路由表項數(shù)巨大,BGP無法找到最佳路由,同時網(wǎng)絡(luò)運營商為維護各自商業(yè)利益不愿意 為其他網(wǎng)絡(luò)開放較大帶寬,導(dǎo)致不同ISP網(wǎng)絡(luò)之間帶寬低、延遲大,這一直是限制實時流 媒體傳輸在不同ISP用戶間開展的瓶頸.多網(wǎng)絡(luò)接口方案中連通節(jié)點通過多塊網(wǎng)絡(luò)接口接 入多個ISP網(wǎng)絡(luò),這樣分屬不同ISP的單組描用戶通過連通節(jié)點交換數(shù)據(jù),不依賴于ISP 之間鏈路.如圖1中節(jié)點3左右兩塊網(wǎng)絡(luò)接口分別屬于ISPX, ISPY網(wǎng)絡(luò),用戶終端E、 I 分別屬于ISPX、 ISPY,那么用戶E、 I就可以分別選擇左、右網(wǎng)絡(luò)接口接入并通過節(jié)點3 交換數(shù)據(jù),而不再依賴ISP間性能較差的鏈路.同理,分屬不同ISP的用戶終端E與主組 播孤島中組播用戶也通過節(jié)點3互通.提高連通節(jié)點的帶寬和處理能力就可以直接提高單、 組播用戶間實時流媒體數(shù)據(jù)傳輸性能.如圖3所示,本發(fā)明的多媒體數(shù)據(jù)轉(zhuǎn)發(fā)方法實現(xiàn)過程。本發(fā)明將連通節(jié)點或代理節(jié)點作為孤島間唯一的數(shù)據(jù)通道,其他各選連通節(jié)點對來自 鄰居組播孤島的組播報文丟棄,從而避免報文環(huán)繞.節(jié)點根據(jù)自身類型、組播或單播接收 報文決定報文轉(zhuǎn)發(fā)策略,不需要維護路由表,也不需要在節(jié)點間交換路由信息,避免了組 播分發(fā)樹構(gòu)建帶來的額外開銷和系統(tǒng)不穩(wěn)定性以〈T, S, M/L^表示類型為T的節(jié)點通過組播M或單播U收到來自用戶終端或媒體轉(zhuǎn) 發(fā)節(jié)點S的數(shù)據(jù)報文,T可以是孤立節(jié)點(主孤島孤立節(jié)點或鄰居孤島孤立節(jié)點)、連通節(jié) 點、備選連通節(jié)點,分別用I、 D、 N表示.數(shù)據(jù)轉(zhuǎn)發(fā)方法如下(1) 對于報文<1, S, M>,轉(zhuǎn)發(fā)給該節(jié)點所有單播接入用戶,如圖3 (1);(2) 對于報文<1, S, U>,轉(zhuǎn)發(fā)給該節(jié)點除S外的所有單播接入用戶,并向所在組播 孤島組播轉(zhuǎn)發(fā),如圖3 (2);(3) 對于報文〈D, S, M>,轉(zhuǎn)發(fā)給該節(jié)點所有單播接入用戶;若從主孤島收到該報文, 則向所負責(zé)鄰居孤島組播轉(zhuǎn)發(fā);若從所負責(zé)鄰居孤島間收到該報文V則'向主孤島組播轉(zhuǎn)發(fā),
如圖3 (3);(4) 對于報文〈D, S, U>,轉(zhuǎn)發(fā)給該節(jié)點除S外的所有單播接入用戶,并向主組播孤 島和所負責(zé)鄰居組播孤島組播轉(zhuǎn)發(fā),如圖3 (4);(5) 對于報文〈N, S, M>,若從主組播孤島收到該報文,則向該節(jié)點所有單播接入用 戶/節(jié)點轉(zhuǎn)發(fā);若從鄰居孤島收到該報文,則丟棄,如圖3 (5);(6) 對于報文〈N, S, U>,轉(zhuǎn)發(fā)給該節(jié)點除S外的所有單播接入用戶,并向主組播孤 島組播轉(zhuǎn)發(fā),如圖3 (6)。在以主組播孤島為中心、鄰居組播孤島環(huán)繞的星形拓撲結(jié)構(gòu)基礎(chǔ)上,本發(fā)明應(yīng)用以上 兩項技術(shù)實現(xiàn)了完整的用戶接入、數(shù)據(jù)傳輸服務(wù)。其中,轉(zhuǎn)發(fā)節(jié)點控制器科用所獲知的全 局拓撲結(jié)構(gòu),結(jié)合用戶自動接入技術(shù)為用戶終端提供單組播接入。用戶終端在接入后,該 傳輸結(jié)構(gòu)應(yīng)用多媒體數(shù)據(jù)轉(zhuǎn)發(fā)技術(shù)將媒體流列表轉(zhuǎn)發(fā)給該用戶終端。以下對比實際的視頻會議系統(tǒng),應(yīng)用本發(fā)明前后系統(tǒng)規(guī)模、用戶交互質(zhì)量的改變。在 應(yīng)用該發(fā)明前,原系統(tǒng)結(jié)構(gòu)支持在單一組播孤島內(nèi)分布式部署任意數(shù)目的轉(zhuǎn)發(fā)節(jié)點,為用 戶提供接入和數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù),相對于傳統(tǒng)的服務(wù)器/客戶端模型,該結(jié)構(gòu)支持多個轉(zhuǎn)發(fā)節(jié)點 并行工作,同時支持組播接入,因此己經(jīng)有較大改進。下面將說明應(yīng)用本發(fā)明所設(shè)計的傳 輸結(jié)構(gòu)所帶來的進一步改進。設(shè)定單網(wǎng)絡(luò)接口使用帶寬50Mbps,用戶上行媒體流為 500kbps,訂閱3路其他用戶媒體流。原結(jié)構(gòu)只能在單一組播孤島內(nèi)開展IP組播,設(shè)定單組 播接入用戶比例約為3:1.應(yīng)用本發(fā)明的系統(tǒng)中各節(jié)點配置兩塊網(wǎng)絡(luò)接口,由于支持多個組 播孤島,設(shè)定單組播接入用戶比例為1:1.如圖4所示,系統(tǒng)接入能力提高了 120%~150%。 本發(fā)明將延遲降低為原來的1/2~1/3,并明顯降低了不同運營商用戶間丟包率,從而顯著改 善了實時流媒體交互質(zhì)量,如圖5、圖6所示。與國外的MECCANO項目相比,本發(fā)明提出的接入網(wǎng)關(guān)的處理能力和規(guī)模大約是 MECCANO項目的6倍。應(yīng)用本發(fā)明的視頻會議系統(tǒng)已多次在教育部、科技部的視頻會議中得到應(yīng)用。在教育 部,超過150個大學(xué)和各個省市的教育主管部門,已經(jīng)使用該系統(tǒng)作為教育部內(nèi)部的協(xié)同 和會議平臺。證明了實際的應(yīng)用效果。對于本領(lǐng)域的普通技術(shù)人員來說可顯而易見的得出其他優(yōu)點和修改。因此,具有更廣方面的本發(fā)明并不局限于這里所示出的并且所描述的具體說明及示例性實施例。因此,在 不脫離由隨后權(quán)利要求及其等價體所定義的一般發(fā)明構(gòu)思的精祌和范圍的情況下,可對其 作出各種修改。
權(quán)利要求
1、 一種大規(guī)模流媒體傳輸結(jié)構(gòu)的實現(xiàn)方法,其特征在于所述的傳輸結(jié)構(gòu)由部署在眾 多IP組播孤島中任意數(shù)量的媒體轉(zhuǎn)發(fā)節(jié)點以及唯一的轉(zhuǎn)發(fā)節(jié)點控制器組成,其中媒體轉(zhuǎn)發(fā) 節(jié)點在轉(zhuǎn)發(fā)節(jié)點控制器的控制下接入用戶終端,包括組播用戶和單播用戶',部署了唯一轉(zhuǎn) 發(fā)節(jié)點控制器的組播孤島被稱為主組播孤島,其他組播孤島被稱為鄰居組播孤島,媒體轉(zhuǎn) 發(fā)節(jié)點可安裝多塊網(wǎng)絡(luò)接口,各網(wǎng)絡(luò)接口可任意接入到同一組播孤島或不同組播孤島,所 述的傳輸結(jié)構(gòu)的實現(xiàn)步驟如下(1) 轉(zhuǎn)發(fā)節(jié)點控制器啟動后發(fā)送心跳報文,以確定各媒體轉(zhuǎn)發(fā)節(jié)點類型若媒體轉(zhuǎn) 發(fā)節(jié)點的所有網(wǎng)絡(luò)接口均收到此心跳報文,則此媒體轉(zhuǎn)發(fā)節(jié)點類型為主孤島孤立節(jié)點,若 媒體轉(zhuǎn)發(fā)節(jié)點的所有網(wǎng)絡(luò)接口均收不到此心跳報文,則此媒體轉(zhuǎn)發(fā)節(jié)點類型為鄰居孤島孤 立節(jié)點,若媒體轉(zhuǎn)發(fā)節(jié)點有部分網(wǎng)絡(luò)接口收到此心跳報文,而部分收不到,則此媒體轉(zhuǎn)發(fā) 節(jié)點類型為備選連通節(jié)點;(2) 各媒體轉(zhuǎn)發(fā)節(jié)點在確定自身的類型后發(fā)送心跳報文,以確定媒體轉(zhuǎn)發(fā)節(jié)點在各組 播孤島分布狀況,即拓撲結(jié)構(gòu);(3) 各組播孤島選舉出匯聚節(jié)點,匯聚節(jié)點綜合組播孤島拓撲結(jié)構(gòu)及節(jié)點信息遞交給 轉(zhuǎn)發(fā)節(jié)點控制器,轉(zhuǎn)發(fā)節(jié)點控制器由此獲知全局拓撲結(jié)構(gòu);(4) 對每個新加入的用戶終端,轉(zhuǎn)發(fā)節(jié)點控制器根據(jù)獲知的全局拓撲結(jié)構(gòu)',采用用戶 自動接入方法為該用戶終端選擇合適的某個媒體轉(zhuǎn)發(fā)節(jié)點;(5) 在用戶終端接入后,對每個新建會話,各鄰居組播孤島選舉出連通節(jié)點或代理節(jié) 點,負責(zé)各鄰居組播孤島與主組播孤島間的數(shù)據(jù)互通,各連通節(jié)點與各代理節(jié)點之間,或 各代理節(jié)點之間,或連通節(jié)點之間相互配合,依據(jù)多媒體數(shù)據(jù)轉(zhuǎn)發(fā)方法將該用戶終端所發(fā) 送的數(shù)據(jù)報文正硫傳遞到該會話其他用戶終端。
2、 根據(jù)權(quán)利要求l所述的大規(guī)模流媒體傳輸結(jié)構(gòu)的實現(xiàn)方法,其特征在于其中步驟 (2)進一步包括(a) 媒體轉(zhuǎn)發(fā)節(jié)點所有網(wǎng)絡(luò)接口組播收發(fā)心跳報文,.心跳報文內(nèi)容包括節(jié)點類型、啟 動時間及負載情況;(b) 在確定媒體轉(zhuǎn)點節(jié)點各網(wǎng)絡(luò)接口在各組播孤島分布狀況后,以媒體轉(zhuǎn)發(fā)節(jié)點在各組播孤島中網(wǎng)絡(luò)接口地址最小者繼續(xù)代表該節(jié)點在該組播孤島內(nèi)收發(fā)心跳報文,其他媒體 轉(zhuǎn)發(fā)節(jié)點網(wǎng)絡(luò)接口則停止發(fā)送,以減少報文開銷。
3、 根據(jù)權(quán)利要求l所述的大規(guī)模流媒體傳輸結(jié)構(gòu)的實現(xiàn)方法,其特征在于其中步驟 (3) 進一步包括(1) 組播孤島內(nèi)各媒體轉(zhuǎn)發(fā)節(jié)點組播發(fā)送的周期性心跳報文被該孤島內(nèi)其他所有媒體 轉(zhuǎn)發(fā)節(jié)點收到;(2) 組播孤島內(nèi)各媒體轉(zhuǎn)發(fā)節(jié)點收到其他媒體轉(zhuǎn)發(fā)節(jié)點的心跳報文后,選舉啟動時間 最早的媒體轉(zhuǎn)發(fā)節(jié)點為匯聚節(jié)點;(3) 匯聚節(jié)點根據(jù)組播孤島內(nèi)各媒體轉(zhuǎn)發(fā)節(jié)點心跳報文,綜合組播孤島內(nèi)各媒體轉(zhuǎn)發(fā) 節(jié)點的類型、啟動時間、負載情況、網(wǎng)絡(luò)接口信息單播傳送給轉(zhuǎn)發(fā)節(jié)點控制器。
4、 根據(jù)權(quán)利要求l所述的大規(guī)模流媒體傳輸結(jié)構(gòu)的實現(xiàn)方法,其特征在于所述步驟(4) 的用戶自動接入方法實現(xiàn)如下:(1) 用戶終端通過配置文件,獲取媒體轉(zhuǎn)發(fā)節(jié)點組播發(fā)送心跳報文的地址并在該地址 監(jiān)聽心跳報文;(2) 若所述的用戶終端收到任意媒體轉(zhuǎn)發(fā)節(jié)點的心跳報文,則表明用戶終端所在組播 孤島中部署了媒體轉(zhuǎn)發(fā)節(jié)點,該用戶終端將通過組播收發(fā)報文,并由所在組播孤島的匯聚 節(jié)點監(jiān)聽用戶終端的狀態(tài),用戶終端至此完成接入;否則繼續(xù)下一步;(3) 用戶終端通過轉(zhuǎn)發(fā)節(jié)點控制器査詢是否有媒體轉(zhuǎn)發(fā)節(jié)點控制器與用戶終端屬于同 一個網(wǎng)絡(luò)運營商,如果有這樣的節(jié)點,轉(zhuǎn)發(fā)節(jié)點控制器將返回其中負載最輕的節(jié)點及其相 應(yīng)網(wǎng)絡(luò)接口地址,該用戶終端將通過該轉(zhuǎn)發(fā)節(jié)點網(wǎng)絡(luò)接口單播收發(fā)報文,并由該節(jié)點監(jiān)聽 用戶終端的狀態(tài),用戶終端至此完成接入;否則,繼續(xù)下步;(4) 用戶終端通過轉(zhuǎn)發(fā)節(jié)點控制器査詢負載最輕的媒體轉(zhuǎn)發(fā)節(jié)點,然后用戶終端通過 發(fā)送測試報文檢測與這些媒體轉(zhuǎn)發(fā)節(jié)點間的帶寬、往返時延,從往返時延小于或等于設(shè)定 時延的媒體轉(zhuǎn)發(fā)節(jié)點中選擇帶寬最大的節(jié)點,用戶終端將通過該媒體轉(zhuǎn)發(fā)節(jié)點單播收發(fā)報 文,并由該媒體轉(zhuǎn)發(fā)節(jié)點監(jiān)聽該用戶終端的狀態(tài),該用戶終端至此完成接入;如果往返時 延小于或等于設(shè)定時延的媒體轉(zhuǎn)發(fā)節(jié)點不存在,則提示用戶無法接入。
5、 根據(jù)權(quán)利要求l所述的大規(guī)模流媒體傳輸結(jié)構(gòu)的實現(xiàn)方法,其特征在于其中步驟(5) 進一步包括(a) 若鄰居組播孤島內(nèi)部署有備選連通節(jié)點,則所述的孤島內(nèi)負載最輕的備選連通節(jié) 點被選舉為連通節(jié)點,負責(zé)鄰居組播孤島與主孤島數(shù)據(jù)轉(zhuǎn)發(fā);(b) 若鄰居組播孤島內(nèi)沒有部署備選連通節(jié)點,則所述的孤島內(nèi)負載最輕的節(jié)點被選 舉為代理節(jié)點,代理節(jié)點通過轉(zhuǎn)發(fā)節(jié)點控制器査詢主組播孤島中負載最輕的節(jié)點,代理節(jié) 點單播連接到該媒體轉(zhuǎn)發(fā)節(jié)點,鄰居組播孤島與主孤島間數(shù)據(jù)將通過該單播鏈路轉(zhuǎn)發(fā);(c) 主組播孤島節(jié)點間通過組播直接實現(xiàn)數(shù)據(jù)交換,通過上述連通節(jié)點與代理節(jié)點間 接實現(xiàn)與鄰居組播孤島節(jié)點數(shù)據(jù)交換。
6、根據(jù)權(quán)利要求l所述的大規(guī)模流媒體傳輸結(jié)構(gòu)的實現(xiàn)方法,其特征在于所述步驟 (5)中的多媒體數(shù)據(jù)轉(zhuǎn)發(fā)方法實現(xiàn)如下-(1) 主孤島孤立節(jié)點或鄰居孤島孤立節(jié)點組播接收到報文后,單播轉(zhuǎn)發(fā)給該媒體轉(zhuǎn)發(fā) 節(jié)點所有單播接入用戶;(2) 主孤島孤立節(jié)點或鄰居孤島孤立節(jié)點單播接收到報文后,單播轉(zhuǎn)發(fā)給該節(jié)點所有 其他單播接入用戶,并組播轉(zhuǎn)發(fā)該報文;(3) 連通節(jié)點組播接收到報文后,單播轉(zhuǎn)發(fā)給該節(jié)點所有其他單播接入用戶,若從主 組播孤島收到該報文,則向所負責(zé)鄰居組播孤島組播轉(zhuǎn)發(fā),若從所負責(zé)鄰居組播孤島收到 該報文,則向主組播孤島轉(zhuǎn)發(fā);(4) 連通節(jié)點單播接收到報文后,單播轉(zhuǎn)發(fā)給該節(jié)點所有其他單播接入用戶,并向主 組播孤島以及所負責(zé)鄰居組播孤島組播轉(zhuǎn)發(fā)該報文(5) 備選連通節(jié)點從主組播孤島組播接收到報文后,單播轉(zhuǎn)發(fā)給該節(jié)點所有其他單播 接入用戶,對子從鄰居組播孤島組播接收到的報文將丟棄(6) 備選連通節(jié)點單播接收到報文后,單播轉(zhuǎn)發(fā)給該節(jié)點所有其他單播接入用戶,并 向主組播孤島轉(zhuǎn)發(fā)該報文。
全文摘要
一種大規(guī)模流媒體傳輸結(jié)構(gòu)的實現(xiàn)方法(1)轉(zhuǎn)發(fā)節(jié)點控制器啟動后發(fā)送心跳報文,以確定各媒體轉(zhuǎn)發(fā)節(jié)點類型;(2)各媒體轉(zhuǎn)發(fā)節(jié)點發(fā)送心跳報文,確定其在各組播孤島分布狀況;(3)各組播孤島選舉出匯聚節(jié)點,匯聚節(jié)點綜合組播孤島拓撲結(jié)構(gòu)及節(jié)點信息遞交給轉(zhuǎn)發(fā)節(jié)點控制器,轉(zhuǎn)發(fā)節(jié)點控制器由此獲知全局拓撲結(jié)構(gòu);(4)對每個新加入的用戶終端,轉(zhuǎn)發(fā)節(jié)點控制器采用用戶自動接入方法為該用戶終端選擇媒體轉(zhuǎn)發(fā)節(jié)點;(5)在用戶終端接入后,對每個新建會話,各鄰居組播孤島選舉出連通節(jié)點或代理節(jié)點,負責(zé)各鄰居組播孤島與主組播孤島間的數(shù)據(jù)互通,各連通節(jié)點與各代理節(jié)點之間依據(jù)多媒體數(shù)據(jù)轉(zhuǎn)發(fā)方法將該用戶終端所發(fā)送的數(shù)據(jù)報文正確傳遞到該會話其他用戶終端。本發(fā)明有效地提高系統(tǒng)接入規(guī)模、穩(wěn)定性和不同網(wǎng)絡(luò)運營商用戶間交互質(zhì)量。
文檔編號H04L12/56GK101123526SQ20071012091
公開日2008年2月13日 申請日期2007年8月29日 優(yōu)先權(quán)日2007年8月29日
發(fā)明者單寶松, 強 曾, 華 繆 申請人:北京航空航天大學(xué)