專利名稱:媒體內容的傳輸方法和系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及通信技術領域,尤其涉及一種媒體內容的傳輸方法和系統(tǒng)。
背景技術:
作為“三網融合”的重要形式,交互電視已經成為通信行業(yè)發(fā)展的重點業(yè)務方向, 其終端用戶的規(guī)模正在迅速擴張。交互電視的主要業(yè)務形態(tài)是通過用戶終端為用戶提供基 于IP網絡的直播、點播、錄播、時移等音視頻服務和其它增值類媒體服務。為了確保終端用戶的業(yè)務體驗,CDN(Content Delivery Network,內容分發(fā)網絡) 系統(tǒng)通常致力于將媒體內容推送到部署在網絡邊緣的媒體服務器,通過媒體服務器向邊緣 節(jié)點提供媒體內容的傳輸服務。由于邊緣節(jié)點數量巨大,所有的內容均在CDN的邊緣節(jié)點 進行存儲將需要大量的存儲資源。由于長尾效應的存在,大約80%的用戶請求會集中在 20%的媒體內容之上?;谶@一現象,CDN往往在邊緣節(jié)點僅存放那些熱門內容。但是隨 著媒體數字化進程的不斷深化,媒體內容的數量在爆炸性的增長,即使僅在CDN邊緣節(jié)點 存放前20%的熱門內容仍然會消耗終大量的存儲資源。進一步分析終端用戶對媒體內容即 媒體文件的訪問模型可以發(fā)現,對媒體文件文件頭的訪問量大于對媒體文件文件尾的訪問 量,在這種情況下,將一個每一文件分割為多個片段,在邊緣節(jié)點僅存儲部分較熱的片段能 夠進一步降低邊緣節(jié)點的存儲消耗。采用分片存儲的另一個優(yōu)勢是一個媒體內容的分片 片段能夠均勻的分布在邊緣節(jié)點的多臺服務器上,這樣能夠在很大程度上實現邊緣節(jié)點服 務器的負載均衡,實現對服務器資源的充分利用?,F有技術中的第一種媒體服務器向用戶終端傳輸媒體內容的方法為用戶終端 向控制服務器發(fā)送媒體內容即媒體文件的傳輸請求,控制服務器根據上述媒體文件的存儲 情況選擇相應的媒體服務器,該媒體服務器向上述用戶終端發(fā)送上述媒體文件分片的數據 包,直到整個媒體文件發(fā)送完畢或用戶終端主動選擇退出媒體文件的接收。在實現本發(fā)明過程中,發(fā)明人發(fā)現現有技術中的第一種媒體服務器向用戶終端傳 輸媒體內容的方法至少存在如下問題存在NAT(Network AddressTranslation,網絡地址 轉換)穿越問題。在該方法中,控制服務器和用戶終端之間采用TCP (Transmission Control ftOtocol,傳輸控制協(xié)議)方式交互,媒體服務器和用戶終端之間采用UDP^ser Datagram Protocol,用戶數據報文協(xié)議)方式交互。在用戶終端處于私網、媒體服務器處于公網的情 況下,媒體服務器為NAT設備,如果不在NAT設備上預先設定公網地址和私網地址的映射 關系,NAT設備將無法把UDP報文轉發(fā)至用戶終端。此外,媒體服務器與用戶終端之間采用 UDP方式交互,媒體內容的傳輸質量還需要額外的機制去保障?,F有技術中的第二種媒體服務器向用戶終端傳輸媒體內容的方法為用戶終端向 控制服務器發(fā)送媒體內容即媒體文件的傳輸請求,控制服務器根據上述媒體文件的存儲情 況選擇相應的媒體服務器,該媒體服務器向控制服務器發(fā)送上述媒體文件的數據包,控制 服務器將收到的數據包轉發(fā)至用戶終端,直到整個媒體文件發(fā)送完畢或用戶終端主動選擇 退出媒體文件的接收。
在實現本發(fā)明過程中,發(fā)明人發(fā)現現有技術中的第二種媒體服務器向用戶終端傳 輸媒體內容的方法至少存在如下問題需要占用雙倍帶寬為一個用戶終端提供媒體內容的 傳輸服務,控制服務器還需要承擔數據包的轉發(fā)功能,限制了控制服務器的并發(fā)處理能力。
發(fā)明內容
本發(fā)明的實施例提供了一種媒體內容的傳輸方法和系統(tǒng),以實現媒體服務器利用 控制服務器和用戶終端之間的TCP連接向用戶終端傳輸媒體內容。一種媒體內容的傳輸系統(tǒng),包括控制服務器,用于在接收用戶終端發(fā)送的媒體內 容的傳輸請求后,與所述用戶終端之間建立傳輸控制協(xié)議TCP連接,并向媒體服務器發(fā)送 所述媒體內容的傳輸參數;媒體服務器,用于根據所述控制服務器發(fā)送的所述媒體內容的 傳輸參數構造所述媒體內容的TCP報文,向所述用戶終端發(fā)送所述TCP報文。一種控制服務器,包括傳輸控制協(xié)議TCP連接處理模塊,用于當接收用戶終端發(fā) 送的媒體內容傳輸請求時,建立與用戶終端的雙向TCP連接;傳輸控制模塊,用于根據所述 傳輸請求中媒體內容信息選擇向所述用戶終端提供相應媒體內容的媒體服務器,并向所述 媒體服務器發(fā)送所述媒體內容的傳輸指令;以及TCP流控模塊,用于向所述媒體服務器發(fā) 送所述媒體內容的傳輸參數,使得所述媒體服務器根據所述媒體內容的傳輸指令及傳輸參 數向所述用戶終端傳輸所述媒體內容。一種媒體服務器,包括傳輸控制協(xié)議TCP流控模塊,用于接收控制服務器發(fā)送的 媒體內容的傳輸參數和傳輸指令;TCP報文構造模塊,用于根據所述媒體內容的傳輸參數 構造媒體內容的TCP報文;以及傳輸控制模塊,用于根據所述媒體內容的傳輸指令向用戶 終端發(fā)送所述媒體內容的TCP報文。由上述本發(fā)明的實施例提供的技術方案可以看出,本發(fā)明實施例實現了媒體服務 器利用控制服務器和用戶終端之間的TCP連接向用戶終端傳輸媒體內容,既規(guī)避了媒體服 務器和用戶終端之間采用UDP方式交互時中的NAT穿越問題,又克服了在服務器側占用兩 份帶寬和過度消耗服務器資源的問題。
為了更清楚地說明本發(fā)明實施例的技術方案,下面將對實施例描述中所需要使用 的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本 領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據這些附圖獲得其他 的附圖。圖1為本發(fā)明實施例一提供的一種向用戶終端傳輸媒體內容的系統(tǒng)的結構示意 圖;圖2為本發(fā)明實施例一提供的一種控制服務器的具體結構圖;圖3為本發(fā)明實施例一提供的一種媒體服務器的具體結構圖;圖4為本發(fā)明實施例二提供的一種向用戶終端傳輸媒體內容的方法的處理流程 圖;圖5為本發(fā)明實施例三提供的一種向用戶終端傳輸媒體內容的方法的處理流程 圖。
具體實施例方式為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例 中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是 本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術人員 在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。為便于對本發(fā)明實施例的理解,下面將結合附圖以幾個具體實施例為例做進一步 的解釋說明,且各個實施例并不構成對本發(fā)明實施例的限定。實施例一該實施例提供的一種向用戶終端傳輸媒體內容的系統(tǒng)結構示意圖如圖1所示,包 括如下的設備控制服務器11,用于在接收用戶終端13發(fā)送的媒體內容的傳輸請求后,與用戶終 端13建立雙向的TCP連接,并向媒體服務器12發(fā)送媒體內容的傳輸參數以及媒體內容的 傳輸指令,以實現媒體內容傳輸的控制。該媒體內容的傳輸參數包括控制服務器11和用 戶終端13之間的TCP連接的源地址、目的地址和TCP報文的當前序列號。,媒體服務器12,用于根據控制服務器11發(fā)送過來的所述媒體內容的傳輸參數構 造媒體內容的TCP報文,根據控制服務器11發(fā)送過來的所述媒體內容的傳輸指令向所述用 戶終端13發(fā)送所述媒體內容的TCP報文。該媒體服務器12具體可以是流服務器。用戶終端13,用于和控制服務器11建立雙向的TCP連接,接收所述媒體服務器12 發(fā)送的媒體內容的TCP報文。對于成功接收到的媒體內容的TCP報文,向控制服務器11發(fā) 送TCP應答響應;對于網絡傳輸中丟失的媒體內容的TCP報文,向控制服務器11發(fā)送TCP 重傳請求。上述控制服務器11的具體結構如圖2所示,上述控制服務器11具體可以包括TCP連接處理模塊111,用于在接收用戶終端13發(fā)送的媒體內容的傳輸請求后,通 過和用戶終端進行TCP協(xié)商,與用戶終端建立雙向的TCP連接。傳輸控制模塊112,用于在所述TCP連接處理模塊111建立了和用戶終端13之間 的TCP連接后,根據所述傳輸請求中的媒體內容信息選擇向用戶終端13提供相應媒體內容 的媒體服務器12,向所述媒體服務器12發(fā)送媒體內容的傳輸指令。TCP流控模塊113,用于向所述傳輸控制模塊112選擇的媒體服務器12發(fā)送媒體 內容的傳輸參數,所述傳輸參數包括控制服務器11和用戶終端13之間的TCP連接的源地 址、目的地址和TCP報文的當前序列號。進一步地,所述的TCP連接處理模塊111,還用于和用戶終端13之間進行心跳檢 測,檢測和用戶終端之間的TCP連接是否正常。進一步地,所述的傳輸控制模塊112,還用于根據和用戶終端13之間的交互信息 向媒體服務器12發(fā)送相應的狀態(tài)切換指令,控制所述媒體服務器12在快進、快退、跳轉、暫 停、播放等狀態(tài)間切換。進一步地,所述的傳輸控制模塊112,還用于接收用戶終端13發(fā)送的TCP應答響應 或TCP重傳請求后,將所述TCP應答響應或TCP重傳請求發(fā)送給所述媒體服務器12 ;在進 行媒體服務器12切換的過程中,當接到用戶終端13發(fā)送的TCP應答響應或TCP重傳請求后,若TCP應答響應或TCP重傳請求對應的TCP序列號小于或等于切換前的媒體服務器12 的最后TCP序列號,則將TCP應答響應或TCP重傳請求發(fā)送給切換前的媒體服務器12 ;若 TCP應答響應或TCP重傳請求對應的TCP序列號大于切換前的媒體服務器12的最后TCP序 列號,則將TCP應答響應或TCP重傳請求發(fā)送給切換后的媒體服務器12。當上述用戶終端13所請求的媒體內容的分片存儲在多個媒體服務器12上時進一步地,所述的傳輸控制模塊112,還用于選擇多個媒體服務器12向所述用戶 終端13發(fā)送媒體內容,當控制服務器11接收到上一個媒體服務器12發(fā)送的攜帶最后一個 TCP報文的序列號的通知消息后,向下一個媒體服務器12發(fā)送所述媒體內容的傳輸指令。進一步地,所述的TCP流控模塊113,還用于當控制服務器11接收到上一個媒體服 務器12發(fā)送的攜帶最后一個TCP報文的序列號的通知消息后,向下一個媒體服務器12發(fā) 送媒體內容的傳輸參數,所述傳輸參數包括控制服務器11和用戶終端13之間的TCP連接 的源地址、目的地址和上述通知消息中攜帶的最后一個TCP報文的序列號。從而使得上述下一個媒體服務器12根據接收到的媒體內容的傳輸指令和媒體內 容的傳輸參數,接替上述上一個媒體服務器12繼續(xù)向所述用戶終端13發(fā)送媒體內容的TCP 報文。上述媒體服務器12的具體結構如圖3所示,上述媒體服務器12具體可以包括TCP流控模塊121,用于接收所述控制服務器11發(fā)送的上述媒體內容的傳輸參數, 所述傳輸參數包括控制服務器11和用戶終端13之間的TCP連接的源地址、目的地址和TCP 報文的當前序列號。將上述媒體內容的傳輸參數傳輸給TCP報文構造模塊122。TCP報文構造模塊122,用于根據接收到的所述TCP流控模塊121發(fā)送的媒體內容 的傳輸參數構造媒體內容的TCP報文。TCP報文構造模塊121所構造的第一個TCP報文的 序列號為上述媒體內容的傳輸參數中的TCP報文的當前序列號加一,TCP報文構造模塊121 所構造的TCP報文的源地址、目的地址為所述媒體內容的傳輸參數中的源地址、目的地址。傳輸控制模塊123,用于接收所述控制服務器11發(fā)送的上述媒體內容的傳輸指 令,根據上述傳輸指令以控制服務器11的身份向所述用戶終端13發(fā)送所述TCP報文構造 模塊122所構造的TCP報文。進一步地,所述的傳輸控制模塊123,還用于根據控制服務器11發(fā)送的狀態(tài)切換 指令,在快進、快退、跳轉、暫停、播放等狀態(tài)間切換。進一步地,所述的傳輸控制模塊123,還用于接收到控制服務器11轉發(fā)的來自用 戶終端13的TCP應答響應后,向所述用戶終端13發(fā)送下一個TCP報文;還用于接收到控制 服務器11轉發(fā)的來自用戶終端13的TCP重傳請求后,向所述用戶終端13重傳相應的TCP 報文。進一步地,所述的傳輸控制模塊123,還用于當媒體內容的分片存儲在多個媒體服 務器12上時,在向用戶終端13發(fā)送了所述媒體服務器12存儲的分片中的所有媒體內容 后,向控制服務器11發(fā)送攜帶其發(fā)送的最后一個TCP報文的序列號的通知消息。該實施例實現了媒體服務器利用控制服務器和用戶終端之間的TCP連接的源地 址、目的地址,以控制服務器的身份向所述用戶終端發(fā)送TCP報文。由于媒體服務器和用戶 終端之間沒有采用UDP方式進行交互,從而規(guī)避了 UDP方式交互時中的NAT穿越問題,媒體 內容的傳輸質量也不需要額外的機制去保障。由于是通過媒體服務器而不是控制服務器向用戶終端發(fā)送媒體數據,從而克服了在控制服務器側占用兩份帶寬和過度消耗控制服務器 資源的問題。該實施例通過將媒體內容的分片存儲在多個媒體服務器上與TCP連接相互結合 的方式向用戶終端傳輸媒體內容的TCP報文,從而實現了多個媒體服務器接替向用戶終端 發(fā)送媒體內容的TCP報文,能夠實現媒體服務器的負載均衡,實現對媒體服務資源的充分 利用。該實施例通過控制服務器將接收到的用戶終端發(fā)送的TCP應答響應或TCP重傳請 求都轉發(fā)給媒體服務器,實現了媒體服務器根據用戶終端的TCP報文的接收情況,向用戶 終端發(fā)送后續(xù)的或者重傳媒體內容的TCP報文。實施例二基于上述圖1所示的向用戶終端傳輸媒體內容的系統(tǒng),該實施例提供的一種向用 戶終端傳輸媒體內容的方法的處理流程如圖4所示,包括如下的處理步驟步驟41、控制服務器11在接收到用戶終端13發(fā)送的媒體內容的傳輸請求后,與用 戶終端13之間建立TCP連接,向媒體服務器12發(fā)送媒體內容的傳輸參數和媒體內容的傳 輸指令??刂品掌?1在接收到用戶終端13發(fā)送的媒體內容的傳輸請求后,和用戶終端 13協(xié)商用于傳輸媒體內容的協(xié)議,確定采用何種協(xié)議傳輸媒體內容。上述傳輸媒體內容的 協(xié)議可以為TCP協(xié)議或者UDP協(xié)議,當協(xié)商采用TCP協(xié)議傳輸媒體內容時,上述控制服務器 11和用戶終端13之間通過TCP協(xié)商建立TCP連接??刂品掌?1確定媒體內容的傳輸參數,該傳輸參數包括控制服務器11和用戶 終端13之間的TCP連接的TCP源地址、TCP目的地址以及TCP連接的TCP報文的當前序列號等。上述控制服務器11根據接收到的上述傳輸請求中的媒體內容信息選擇向用戶終 端13提供媒體內容的媒體服務器12,向該媒體服務器12發(fā)送上述媒體內容的傳輸參數和 媒體內容的傳輸指令。步驟42,媒體服務器12根據接收到的媒體內容的傳輸參數構造媒體內容的TCP報 文,根據接收到的媒體內容的傳輸指令向所述用戶終端13發(fā)送媒體內容的TCP報文。上述媒體服務器12接收到上述媒體內容的傳輸指令和媒體內容的傳輸參數后, 根據上述媒體內容的傳輸參數構造TCP報文。上述媒體服務器12所構造的第一個TCP報 文的序列號為上述媒體內容的傳輸參數中的TCP報文的當前序列號加一,所構造的TCP報 文的源地址和目的地址為所述媒體內容的傳輸參數中的源地址和目的地址。然后,上述媒體服務器12根據上述媒體內容的傳輸指令,以控制服務器11的身份 向用戶終端13發(fā)送上述構造的TCP報文。該實施例實現了媒體服務器利用控制服務器和用戶終端之間的TCP連接的源地 址、目的地址,以控制服務器的身份向所述用戶終端發(fā)送TCP報文。由于媒體服務器和用戶 終端之間沒有采用UDP方式進行交互,從而規(guī)避了 UDP方式交互時中的NAT穿越問題。由 于是通過媒體服務器而不是控制服務器向用戶終端發(fā)送媒體數據,從而克服了在控制服務 器側占用兩份帶寬和過度消耗控制服務器資源的問題。實施例三
基于上述圖1所示的向用戶終端傳輸媒體內容的系統(tǒng),以及上述圖2所示的控制 服務器和圖3所示的媒體服務器的具體結構圖,該實施例提供的一種向用戶終端傳輸媒體 內容的方法的處理流程如圖5所示,包括如下的處理步驟步驟51、控制服務器11在接收到用戶終端13發(fā)送的媒體內容的傳輸請求后,與用 戶終端13之間建立TCP連接??刂品掌?1中的TCP連接處理模塊111在接收到用戶終端13發(fā)送的媒體內容 的傳輸請求后,上述TCP連接處理模塊111和用戶終端13協(xié)商用于傳輸媒體內容的協(xié)議, 確定采用何種協(xié)議傳輸媒體內容。上述傳輸媒體內容的協(xié)議可以為TCP協(xié)議或者UDP協(xié)議, 當協(xié)商采用TCP協(xié)議傳輸媒體內容時,上述TCP連接處理模塊111和用戶終端13之間通過 TCP協(xié)商建立TCP連接。上述媒體內容可以包括RTSP (Real-time Transport StreamingProtocol,實時 流媒體傳輸協(xié)議)、HTTP(Hypertext Transfer Protocol,超文本傳輸協(xié)議)流等媒體內容。用戶終端13需要定期向控制服務器11發(fā)送心跳消息,控制服務器11中的TCP連 接處理模塊111向用戶終端13返回心跳響應,通過上述用戶終端13和控制服務器11之間 的心跳檢測來檢測上述用戶終端11和控制服務器13之間的TCP連接的狀態(tài)。步驟52、控制服務器11向媒體服務器13發(fā)送媒體內容的傳輸參數和媒體內容的 傳輸指令。上述控制服務器11中的TCP流控模塊113確定媒體內容的傳輸參數,該傳輸參數 包括控制服務器11和用戶終端13之間的TCP連接的TCP源地址、TCP目的地址以及TCP 連接的TCP報文的當前序列號等。上述控制服務器11中的傳輸控制模塊112根據接收到的上述傳輸請求中的媒體 內容信息選擇向用戶終端13提供相應媒體內容的媒體服務器12,向該媒體服務器12發(fā)送 上述媒體內容的傳輸參數和媒體內容的傳輸指令。在實際應用中,當上述用戶終端13請求傳輸的媒體內容的分片存儲在多個媒體 服務器12上時,控制服務器11中的傳輸控制模塊112選擇上述多個媒體服務器12向用戶 終端13發(fā)送媒體內容,向上述多個媒體服務器12中的存儲上述媒體內容的起始分片的第 一個媒體內容服務器12發(fā)送上述媒體內容的傳輸參數和媒體內容的傳輸指令。步驟53、上述媒體服務器12根據接收到的媒體內容的傳輸參數構造媒體內容的 TCP報文,根據接收到的媒體內容的傳輸指令向所述用戶終端13發(fā)送媒體內容的TCP報文。上述媒體服務器12中的TCP流控模塊121接收到上述傳輸媒體內容的傳輸參數 后,將上述傳輸參數傳輸給上述媒體服務器12中的TCP報文構造模塊122。上述TCP報文 構造模塊122根據上述媒體內容的傳輸參數構造TCP報文,所構造的第一個TCP報文的序 列號為上述媒體內容的傳輸參數中的TCP報文的當前序列號加一,所構造的TCP報文的源 地址和目的地址為所述媒體內容的傳輸參數中的源地址和目的地址。然后,上述媒體服務器12中的傳輸控制模塊123根據上述媒體內容的傳輸指令, 以控制服務器11的身份向用戶終端13發(fā)送上述構造的TCP報文。當上述用戶終端13請求傳輸的媒體內容的分片存儲在多個媒體服務器12上時, 當一個媒體服務器12完成其保存的媒體內容的分片的發(fā)送后,則上述媒體服務器12中的 傳輸控制模塊123向控制服務器11發(fā)送攜帶其發(fā)送的最后一個TCP報文的序列號的通知消息??刂品掌?1根據上述通知消息中攜帶的最后一個TCP報文的序列號和上述媒體 內容的所有分片在各個媒體服務器12中的存儲情況,選擇其他的媒體服務器12繼續(xù)向上 述用戶終端發(fā)送媒體內容,并向該其他的媒體服務器12發(fā)送包含上述最后一個TCP報文的 序列號的媒體內容的傳輸參數和媒體內容的傳輸指令。上述其它的媒體服務器12根據所 述媒體內容的傳輸參數構造TCP報文,并根據上述媒體內容的傳輸指令向用戶終端13發(fā)送 所述TCP報文。上述控制服務器11中的傳輸控制模塊112還用于根據和用戶終端13之間的交互 信息向媒體服務器12發(fā)送相應的狀態(tài)切換指令,所述媒體服務器12中的傳輸控制模塊123 根據接收到的上述狀態(tài)切換指令,在快進、快退、跳轉、暫停、播放等狀態(tài)間切換。步驟M、用戶終端13接收到媒體服務器12發(fā)送的媒體內容的TCP報文后,向控制 服務器11返回TCP應答響應或TCP重傳請求,上述控制服務器11將上述TCP應答響應或 TCP重傳請求轉發(fā)給媒體服務器12。用戶終端13接收到媒體服務器12發(fā)送的媒體內容的TCP報文后,對于成功接收 到的TCP報文,向控制服務器11發(fā)送TCP應答響應;對于網絡傳輸中丟失的TCP報文,向控 制服務器11發(fā)送TCP重傳請求??刂品掌?1中的傳輸控制模塊112將接收到的用戶終 端13發(fā)送的TCP應答響應或TCP重傳請求都轉發(fā)給媒體服務器12。在進行媒體服務器切換的過程中,控制服務器11仍然會接到用戶終端13發(fā)送的 TCP應答響應或TCP重傳請求。在這種情況下,控制服務器11將根據如下原則對上述TCP 應答響應或TCP重傳請求進行轉發(fā)1、若TCP應答響應或TCP重傳請求對應的TCP序列號小于或等于切換前的媒體服 務器12的最后TCP序列號,則控制服務器11中的傳輸控制模塊112將TCP應答響應或TCP 重傳請求發(fā)送給切換前的媒體服務器12 ;2、若TCP應答響應或TCP重傳請求對應的TCP序列號大于切換前的媒體服務器12 的最后TCP序列號,則控制服務器11中的傳輸控制模塊112將TCP應答響應或TCP重傳請 求發(fā)送給切換后的媒體服務器12。步驟55、媒體服務器12根據接收到的TCP應答響應或TCP重傳請求,向用戶終端 13發(fā)送后續(xù)的或者重傳媒體內容的TCP報文。媒體服務器12中的傳輸控制模塊123在接收到控制服務器11轉發(fā)的TCP應答響 應后,繼續(xù)向用戶終端發(fā)送后續(xù)的媒體內容的TCP報文;在接收到TCP重傳請求后,向用戶 終端重傳相應的媒體內容的TCP報文。在進行媒體服務器12切換的過程中,控制服務器12接收到控制服務器11發(fā)送的 包含上一個媒體服務器12發(fā)送的最后一個TCP報文的序列號的媒體內容的傳輸參數和媒 體內容的傳輸指令,上述媒體服務器12根據所述媒體內容的傳輸參數構造TCP報文,并接 替上一個媒體服務器12向用戶終端13發(fā)送TCP報文。該實施例實現了媒體服務器利用控制服務器和用戶終端之間的TCP連接的源地 址、目的地址,以控制服務器的身份向所述用戶終端發(fā)送TCP報文。由于媒體服務器和用戶 終端之間沒有采用UDP方式進行交互,從而規(guī)避了 UDP方式交互時中的NAT穿越問題。由 于是通過媒體服務器而不是控制服務器向用戶終端發(fā)送媒體數據,從而克服了在控制服務 器側占用兩份帶寬和過度消耗控制服務器資源的問題。
該實施例通過將媒體內容的分片存儲在多個媒體服務器上與TCP連接相互結合 的方式向用戶終端傳輸媒體內容的TCP報文,從而實現了多個媒體服務器接替向用戶終端 發(fā)送媒體內容的TCP報文,能夠實現媒體服務器的負載均衡,實現對媒體服務資源的充分 利用。該實施例通過控制服務器將接收到的用戶終端發(fā)送的TCP應答響應或TCP重傳請 求都轉發(fā)給媒體服務器,實現了媒體服務器根據用戶終端的TCP報文的接收情況,向用戶 終端發(fā)送后續(xù)的或者重傳媒體內容的TCP報文。本領域普通技術人員可以理解實現上述實施例方法中的全部或部分流程,是可以 通過計算機程序來指令相關的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質 中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁 碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機存儲記憶體(Random Access Memory, RAM)等。綜上所述,本發(fā)明實施例實現了媒體服務器利用控制服務器和用戶終端之間的 TCP連接的源地址、目的地址,以控制服務器的身份向所述用戶終端發(fā)送TCP報文。由于媒 體服務器和用戶終端之間沒有采用UDP方式進行交互,從而規(guī)避了 UDP方式交互時中的NAT 穿越問題。由于是通過媒體服務器而不是控制服務器向用戶終端發(fā)送媒體數據,從而克服 了在控制服務器側占用兩份帶寬和過度消耗控制服務器資源的問題。該實施例通過將媒體內容的分片存儲在多個媒體服務器上與TCP連接相互結合 的方式向用戶終端傳輸媒體內容的TCP報文,從而實現了多個媒體服務器接替向用戶終端 發(fā)送媒體內容的TCP報文,能夠實現媒體服務器的負載均衡,實現對媒體服務資源的充分 利用。該實施例通過控制服務器將接收到的用戶終端發(fā)送的TCP應答響應或TCP重傳請 求都轉發(fā)給媒體服務器,實現了媒體服務器根據用戶終端的TCP報文的接收情況,向用戶 終端發(fā)送后續(xù)的或者重傳媒體內容的TCP報文。本發(fā)明實施例無需額外引入應用層的可靠性機制,對用戶終端和網絡設備沒有額 外的要求,降低了實現的復雜度,適用于RTSP、HTTP和HTTPMreaming等多種媒體文件的傳輸。以上所述,僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護范圍并不局限于此, 任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內,可輕易想到的變化或替換, 都應涵蓋在本發(fā)明的保護范圍之內。因此,本發(fā)明的保護范圍應該以權利要求的保護范圍 為準。
權利要求
1.一種媒體內容的傳輸系統(tǒng),其特征在于,包括控制服務器,用于在接收用戶終端發(fā)送的媒體內容的傳輸請求后,與所述用戶終端之 間建立傳輸控制協(xié)議TCP連接,并向媒體服務器發(fā)送所述媒體內容的傳輸參數;媒體服務器,用于根據所述控制服務器發(fā)送的所述媒體內容的傳輸參數構造所述媒體 內容的TCP報文,向所述用戶終端發(fā)送所述TCP報文。
2.根據權利要求1所述的媒體內容的傳輸系統(tǒng),其特征在于,所述媒體內容的傳輸參 數包括所述控制服務器與所述用戶終端之間建立的TCP連接的源地址、目的地址和TCP報 文的當前序列號。
3.—種控制服務器,其特征在于,包括傳輸控制協(xié)議TCP連接處理模塊,用于當接收用戶終端發(fā)送的媒體內容傳輸請求時, 建立與用戶終端的雙向TCP連接;傳輸控制模塊,用于根據所述傳輸請求中媒體內容信息選擇向所述用戶終端提供相應 媒體內容的媒體服務器,并向所述媒體服務器發(fā)送所述媒體內容的傳輸指令;以及TCP流控模塊,用于向所述媒體服務器發(fā)送所述媒體內容的傳輸參數,使得所述媒體服 務器根據所述媒體內容的傳輸指令及傳輸參數向所述用戶終端傳輸所述媒體內容。
4.根據權利要求3所述的控制服務器,其特征在于,所述的媒體內容的傳輸參數包括 所述控制服務器與所述用戶終端之間建立的TCP連接的源地址、目的地址和TCP報文的當 前序列號。
5.根據權利要求3所述的控制服務器,其特征在于所述TCP連接處理模塊,還用于和用戶終端之間進行心跳檢測,檢測控制服務器和用 戶終端之間的TCP連接是否正常。
6.根據權利要求3所述的控制服務器,其特征在于所述傳輸控制模塊,還用于接收所述用戶終端發(fā)送的TCP應答響應或TCP重傳請求后, 并將所述TCP應答響應或TCP重傳請求發(fā)送給所述媒體服務器;在進行媒體服務器切換的過程中,當接到用戶終端發(fā)送的TCP應答響應或TCP重傳請 求后,若所述TCP應答響應或TCP重傳請求對應的TCP序列號小于或等于切換前的媒體服 務器的最后TCP序列號,則將所述TCP應答響應或TCP重傳請求發(fā)送給切換前的媒體服務 器;若所述TCP應答響應或TCP重傳請求對應的TCP序列號大于切換前的媒體服務器的最 后TCP序列號,則將所述TCP應答響應或TCP重傳請求發(fā)送給切換后的媒體服務器。
7.根據權利要求3所述的控制服務器,其特征在于,當所述用戶終端所請求的媒體內 容的分片存儲在多個媒體服務器上時所述傳輸控制模塊,還用于選擇多個媒體服務器向所述用戶終端發(fā)送媒體內容,當所 述傳輸控制模塊接收到上一個媒體服務器發(fā)送的攜帶最后一個TCP報文的序列號的通知 消息后,向下一個媒體服務器發(fā)送所述媒體內容的傳輸指令;所述TCP流控模塊,還用于傳輸控制模塊接收到上一個媒體服務器發(fā)送的攜帶最后一 個TCP報文的序列號的通知消息后,向下一個媒體服務器發(fā)送所述媒體內容的傳輸參數。
8.一種媒體服務器,其特征在于,包括傳輸控制協(xié)議TCP流控模塊,用于接收控制服務器發(fā)送的媒體內容的傳輸參數和傳輸 指令;TCP報文構造模塊,用于根據所述媒體內容的傳輸參數構造媒體內容的TCP報文;以及 傳輸控制模塊,用于根據所述媒體內容的傳輸指令向用戶終端發(fā)送所述媒體內容的 TCP報文。
9.根據權利要求8所述的媒體服務器,其特征在于,所述的媒體內容的傳輸參數包括 所述控制服務器與所述用戶終端之間建立的TCP連接的源地址、目的地址和TCP報文的當 前序列號。
10.根據權利要求8所述的媒體服務器,其特征在于所述傳輸控制模塊,還用于接收到所述控制服務器轉發(fā)的來自所述用戶終端的TCP應 答響應后,向所述用戶終端發(fā)送后續(xù)的TCP報文;接收到所述控制服務器轉發(fā)的來自所述 用戶終端的TCP重傳請求后,向所述用戶終端重傳相應的TCP報文。
11.一種媒體內容的傳輸方法,其特征在于,包括 控制服務器接收用戶終端發(fā)送的媒體內容的傳輸請求; 建立所述控制服務器與用戶終端的傳輸控制協(xié)議TCP連接;向媒體服務器發(fā)送所述媒體內容的傳輸參數和所述媒體內容的傳輸指令,以使所述媒 體服務器根據所述媒體內容的傳輸參數構造所述媒體內容的TCP報文,根據所述媒體內容 的傳輸指令向所述用戶終端發(fā)送所述媒體內容的TCP報文。
12.根據權利要求11所述的媒體內容的傳輸方法,其特征在于,所述媒體內容的傳輸 參數包括所述控制服務器與所述用戶終端之間建立的TCP連接的源地址、目的地址和TCP 報文的當前序列號。
13.根據權利要求11所述的媒體內容的傳輸方法,其特征在于,所述的方法還包括 接收用戶終端發(fā)送的TCP應答響應或TCP重傳請求后,將所述TCP應答響應或TCP重傳請求發(fā)送給所述媒體服務器。
14.根據權利要求11所述的媒體內容的傳輸方法,其特征在于,所述方法還包括當接到用戶終端發(fā)送的TCP應答響應或TCP重傳請求后,若所述TCP應答響應或TCP 重傳請求對應的TCP序列號小于或等于切換前的媒體服務器的最后TCP序列號,則將所述 TCP應答響應或TCP重傳請求發(fā)送給切換前的媒體服務器;若所述TCP應答響應或TCP重 傳請求對應的TCP序列號大于切換前的媒體服務器的最后TCP序列號,則將所述TCP應答 響應或TCP重傳請求發(fā)送給切換后的媒體服務器。
15.根據權利要求11所述的媒體內容的傳輸方法,其特征在于,所述的方法還包括 當所述用戶終端所請求的媒體內容的分片存儲在多個媒體服務器上時,選擇多個媒體服務器向所述用戶終端發(fā)送媒體內容,當接收到上一個媒體服務器發(fā)送的攜帶最后一個 TCP報文的序列號的通知消息后,向下一個媒體服務器發(fā)送所述媒體內容的傳輸指令和所 述媒體內容的傳輸參數,所述傳輸參數包括所述控制服務器和所述用戶終端之間的TCP連 接的源地址、目的地址和所述通知消息中攜帶的最后一個TCP報文的序列號。
全文摘要
本發(fā)明實施例提供了一種媒體內容的傳輸方法和系統(tǒng)。該方法主要包括控制服務器在接收用戶終端發(fā)送的媒體內容的傳輸請求后,與用戶終端建立傳輸控制協(xié)議TCP連接,向媒體服務器發(fā)送媒體內容的傳輸參數和媒體內容的傳輸指令,所述媒體內容的傳輸參數包括控制服務器的TCP連接的源地址、目的地址和TCP報文的當前序列號,以使所述媒體服務器根據所述媒體內容的傳輸參數構造媒體內容的TCP報文,根據所述媒體內容的傳輸指令向所述用戶終端發(fā)送所述媒體內容的TCP報文。本發(fā)明實施例實現了媒體服務器利用控制服務器和用戶終端之間的TCP連接向用戶終端傳輸媒體內容,從而規(guī)避了UDP方式交互時中的NAT穿越問題,克服了在控制服務器側占用兩份帶寬和過度消耗控制服務器資源的問題。
文檔編號H04L29/08GK102148813SQ20101050582
公開日2011年8月10日 申請日期2010年9月30日 優(yōu)先權日2010年9月30日
發(fā)明者陳宇 申請人:華為技術有限公司