專利名稱:一種P2P流媒體數據分發(fā)的方法、系統(tǒng)和proxy節(jié)點的制作方法
技術領域:
本發(fā)明涉及通信技術領域,尤其涉及在一種P2P流媒體數據分發(fā)的方法、系統(tǒng)和 proxy節(jié)點。
背景技術:
隨著對等網(Peer-to-Peer,P2P)和疊加網絡(Overlay Network)等技術的出現(xiàn), 應用層組播(Application Layer Multicast, ALM)技術在流媒體視頻直播/點播得到了廣 泛的應用。該應用層技術保持Internet原有的“單播、盡力發(fā)送”模型,盡量不改變原來網 絡的體系結構,而主要通過增加端系統(tǒng)的功能來實現(xiàn)組播的功能。在現(xiàn)有技術中,主要為基 于P2P的ALM算法通過Overlay節(jié)點來實現(xiàn)應用層的組播與管理。發(fā)明人在實現(xiàn)本發(fā)明的過程中,發(fā)現(xiàn)現(xiàn)有技術至少存在以下缺點現(xiàn)有的ALM大 多基于TCP通過定義私有的媒體分發(fā)協(xié)議來實現(xiàn),從而導致用戶終端必須與組播網絡相匹 配,才能使用戶享受直播/點播業(yè)務,也就導致現(xiàn)有技術的直播/點播業(yè)務使用范圍很低, 并且靈活性很低。
發(fā)明內容
本發(fā)明的實施例提供了一種P2P流媒體數據分發(fā)的方法、系統(tǒng)、proxy節(jié)點、接入 設備及接入服務器,以提高了業(yè)務的使用范圍和流媒體分發(fā)系統(tǒng)的靈活性。根據本發(fā)明的一方面,提供一種P2P流媒體數據分發(fā)的方法,包括接收Client節(jié)點發(fā)送的請求媒體資源的消息,并發(fā)送所述消息對應的媒體資源 查詢請求至多個資源網絡;獲取所述媒體資源查詢請求的響應消息;根據所述響應消息確認存儲所述媒體資源的Cache節(jié)點;向所述Cache節(jié)點請求媒體資源。根據本發(fā)明的另一方面,還提供一種Proxy節(jié)點,所述Proxy節(jié)點應用于流媒體數 據分發(fā),包括Client響應單元,用于接收Client節(jié)點發(fā)送的包括請求媒體資源的消息;組播接口單元,用于發(fā)送所述消息對應的媒體資源查詢請求至多個資源網絡,并 獲取所述媒體資源查詢請求的響應消息,及根據所述響應消息確認存儲所述媒體資源的 Cache節(jié)點;流媒體傳輸單元,用于向所述Cache節(jié)點請求媒體資源。根據本發(fā)明的另一方面,還提供一種接入設備,包括Client響應單元,用于接收Client節(jié)點發(fā)送的請求媒體資源的消息;組播接口單元,用于發(fā)送所述消息對應的媒體資源查詢請求至多個資源網絡,并 獲取所述多個資源網絡發(fā)送的所述媒體資源查詢請求的響應消息,及根據所述響應消息確 認存儲所述媒體資源的Cache節(jié)點;
流媒體傳輸單元,用于向所述Cache節(jié)點請求媒體資源。根據本發(fā)明的另一方面,還提供一種接入服務器,包括Client響應單元,用于接收Client節(jié)點發(fā)送的請求媒體資源的消息;組播接口單元,用于發(fā)送所述消息對應的媒體資源查詢請求至多個資源網絡,并 獲取所述多個資源網絡發(fā)送的所述媒體資源查詢請求的響應消息,及根據所述響應消息確 認存儲所述媒體資源的Cache節(jié)點;流媒體傳輸單元,用于向所述Cache節(jié)點請求媒體資源。根據本發(fā)明的另一方面,還提供一種流媒體數據分發(fā)系統(tǒng),包括Proxy節(jié)點,用于接收Client節(jié)點發(fā)送的包括請求媒體資源的消息,并發(fā)送所述 消息對應的媒體資源查詢請求;多個資源網絡,用于根據發(fā)送所述媒體資源查詢請求的響應消息至所述Proxy節(jié)占.
^ \\\ 其中,所述Proxy節(jié)點還用于根據所述響應消息確認存儲所述媒體資源的Cache 節(jié)點,向所述Cache節(jié)點請求媒體資源。本發(fā)明實施例提供的技術方案,可以使用戶終端通過Proxy節(jié)點從多個資源網絡 獲取需要的媒體資源對應的Cache節(jié)點的相關信息,從而通過Proxy節(jié)點從Cache節(jié)點獲 取媒體資源,從而無須用戶終端與組播網絡相匹配,從而提高了用戶的直播/點播業(yè)務的 使用范圍,從而增強了流媒體分發(fā)系統(tǒng)的靈活性。
為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例描述中所需要使 用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于 本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據這些附圖獲得其 他的附圖。圖1是本發(fā)明實施例中流媒體分發(fā)系統(tǒng)示意圖;圖2是本發(fā)明實施例中Proxy節(jié)點的示意圖;圖3本發(fā)明實施例中一種P2P流媒體分發(fā)的方法的總體流程圖;圖4是本發(fā)明實施例中一種P2P流媒體分發(fā)的方法的具體流程圖。
具體實施例下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;?本發(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他 實施例,都屬于本發(fā)明保護的范圍。本發(fā)明的實施例吸取RTSP協(xié)議對于流媒體傳輸效率高的優(yōu)點,結合應用層組播 技術,提供一種流媒體數據分發(fā)系統(tǒng),以解決現(xiàn)有P2P應用層組播所面臨的問題,使其既具 有可擴展性強、部署靈活、傳輸效率高等優(yōu)點。圖1為一種流媒體數據分發(fā)系統(tǒng)示意圖。在本實施例中,可以為P2P流媒體數據 分發(fā)系統(tǒng)的示意圖。
5
本發(fā)明實施例的P2P流媒體數據分發(fā)系統(tǒng)包括客戶端Client節(jié)點101、代理 Proxy節(jié)點102、緩存Cache節(jié)點群103及多個資源網絡104。在本實施例中,該多個資源網 絡104可以為P2P組播網絡群,也可以是P2P組播網絡和媒體分發(fā)網絡所組成的多個資源 網絡。在本實施例中,該多個資源網絡104包括多個不同的組播網絡,可以為第一組播網絡
1041、第二組播網絡1042.....第N組播網絡104N。在本實施例中,Cache節(jié)點群103包括
多個Cache節(jié)點,可以為第一 Cache節(jié)點1031、第二 Cache節(jié)點1032、...、第NCache節(jié)點 103N。在本實施例中,資源網絡104中包括的多個不同的組播網絡可以由不同的網絡運營 商所提供。其中,Client節(jié)點101用于響應用戶的流媒體請求,根據用戶的流媒體請求向 Proxy節(jié)點102發(fā)送實時流傳輸協(xié)議(Real Time Streaming Protocol, RTSP)請求消息, 從該Proxy節(jié)點102獲取媒體數據并播放。在本實施例中,該用戶的流媒體請求可以為用 戶的流媒體點播請求。所述的RTSP請求消息包括用戶需要獲取的媒體資源信息,該媒體資 源信息由用戶提供或者由Client節(jié)點101結合用戶的流媒體請求通過其他方式獲得,如 Client節(jié)點101通過用戶點擊流媒體點播網頁獲取對應的媒體資源信息。在本實施例中, Client節(jié)點101需要支持RTSP。Proxy節(jié)點102用于響應該client節(jié)點101發(fā)送的RTSP請求消息;根據該RTSP 請求消息獲取Client節(jié)點101請求媒體資源對應的資源標志符(Universal Resource Identifier, URI)。在本實施例中,該Proxy節(jié)點102根據該RTSP請求消息中的用戶需要 獲取的媒體資源信息獲取該媒體資源對應的URI。在本實施例中,該Proxy節(jié)點102還用向多個資源網絡104發(fā)送帶有該URI信息 的媒體資源查詢請求。在本實施例中,Proxy節(jié)點102可以向多個資源網絡104中的任意一 個組播網絡發(fā)送該媒體資源查詢請求,也可以同時向多個不同的組播網絡發(fā)送該媒體資源 查詢請求。在本實施例中,Proxy節(jié)點102上還可以記錄多個資源網絡104中的組播網絡 情況,可以理解為,記錄多個資源網絡104中的組播網絡的個數、組播網絡的運營商、組播 網絡的運行狀況等。在本實施例中,Proxy節(jié)點102可以根據記錄的多個資源網絡104中 的組播網絡情況選擇多個資源網絡104中的組播網絡,并向該選擇后的組播網絡發(fā)送該媒 體資源查詢請求。多個資源網絡104中的組播網絡用于接收Proxy節(jié)點102發(fā)送的媒體資源查詢 請求,根據該資源查詢請求中的所需查詢的媒體資源的URI,通過P2P網絡查詢存儲有該媒 體資源的cache節(jié)點的位置信息以及對應媒體資源的分片存儲信息,并根據應用層組播算 法選擇一組合適的Cache節(jié)點以及與Cache節(jié)點的媒體資源請求方式。多個資源網絡104 返回該資源查詢請求對應的響應消息,該響應消息包括所選擇的存儲有該媒體資源的一組 Cache節(jié)點的位置信息、對應媒體資源的分片存儲信息以及Cache節(jié)點的資源請求方式。對 應的媒體請求方式為獲取媒體資源的推/拉請求操作。在本實施例中,該選擇的一組合適 的Cache節(jié)點數量可能為一個,也可能為多個。該Proxy節(jié)點102還用于接收多個資源網絡104發(fā)送的該資源查詢請求對應的響 應消息,并根據所述響應消息確認存儲所述媒體資源的Cache節(jié)點。在本實施例中,Proxy 節(jié)點102獲取該響應消息中的所選擇的存儲有該媒體資源的一組Cache節(jié)點的位置信息、 對應媒體資源的分片存儲信息以及Cache節(jié)點的媒體資源請求方式。在本實施例中,Proxy節(jié)點102還用于根據本節(jié)點存儲的媒體資源的分片存儲信息,結合多個資源網絡104返回 的Cache節(jié)點的該媒體資源的分片存儲信息,從該響應消息中的所選擇的存儲有該媒體資 源的一組Cache節(jié)點的位置信息所對應的Cache節(jié)點中,選擇若干個Cache節(jié)點作為資源 節(jié)點,即確認存儲所述媒體資源的Cache節(jié)點,并把多個資源網絡104返回的對該資源節(jié)點 的媒體資源請求方式轉化為pull/push操作原語。Proxy節(jié)點102還用于根據多個資源網絡104返回的對應Cache節(jié)點的位置信息, 通過pull/push操作原語向Cache節(jié)點群103中的選為資源節(jié)點的若干個Cache節(jié)點請求 媒體傳輸??梢岳斫獾氖?,Proxy節(jié)點102根據選為資源節(jié)點的位置信息,即選中為資源節(jié) 點的Cache節(jié)點的位置信息,通過pull/push操作原語向該資源節(jié)點請求媒體傳輸。Proxy節(jié)點102接收Cache節(jié)點群103中的該若干個Cache節(jié)點的媒體流,并對媒 體流進行匯聚與組合后通過RTSP協(xié)議傳輸到client節(jié)點101。所述URI為用戶所請求的 媒體資源通用資源標志符,需要根據不同的應用場景具體確定,如可以是一個流媒體文件 或者一個流媒體文件中的某段或若干段分片。Cache節(jié)點群103中的每個Cache節(jié)點用于緩存媒體資源,并向多個資源網絡104 中的組播網絡注冊所緩存的資源信息。在本實施例中,Cache節(jié)點可以向多個資源網絡104 中的任意一個組播網絡,或同時向多個不同的組播網絡進行注冊所緩存的資源信息。在本實施例中,所述的Cache節(jié)點可以是流媒體分發(fā)系統(tǒng)中的專屬服務器,也可 以是同時參與多個相近的業(yè)務網絡的緩存服務器,為不同業(yè)務網絡之間的資源提供資源共 享與交互,如Cache節(jié)點可以同時參與多個組播網絡,為多個組播網絡提供Cache服務。即, 由于Cache節(jié)點可以向多個組播網絡進行注冊,也就是可以向多個組播網絡提供資源信 息,從而為同時為多個組播網絡提供資源共享。上述邏輯功能可以映射為各自獨立的物理設備,或者由他們形成的任意組合位于 同一物理設備,或者分別是一臺物理設備上的獨立進程,也可以一起作為一臺物理設備上 的一個進程。本發(fā)明實施例提供的流媒體分發(fā)系統(tǒng),在流媒體分發(fā)系統(tǒng)中加入Proxy節(jié)點,可 以使用戶終端通過Proxy節(jié)點從不同組播網絡獲取需要的媒體資源對應的Cache節(jié)點的相 關信息,從而通過Proxy節(jié)點從Cache節(jié)點獲取媒體資源,從而使用戶可以通過不同的組播 網絡來享受直播/點播的業(yè)務,即提高了直播/點播業(yè)務的使用范圍,因而避免了現(xiàn)有技術 中用戶終端和組播網絡須匹配才能享受直播或點播業(yè)務的情況,從而增強了流媒體分發(fā)系 統(tǒng)的可擴展性、靈活性。通過把應用層組播的流媒體傳輸方式抽象為推/拉兩種方式并結合RTSP協(xié)議實 現(xiàn)組播網絡的流媒體傳輸,提高了流媒體組播系統(tǒng)的傳輸效率。圖2為Proxy節(jié)點的結構示意圖,包括Client響應單元1020、組播接口單元1022 及流媒體傳輸單元1024。在本實施例中,組播接口單元1022也可以為P2P應用層組播接口 單元。Client響應單元1020用于接收Client節(jié)點發(fā)送的RTSP請求消息,根據RTSP請求 消息中的用戶需要獲取的媒體資源信息獲取該Client節(jié)點所請求的媒體資源對應的URI ;組播接口單元1022用于發(fā)送所述RTSP請求消息對應的媒體資源查詢請求至多個 資源網絡,并獲取所述媒體資源查詢請求的響應消息,及根據所述響應消息確認存儲所述
7媒體資源的Cache節(jié)點。在本實施例中,組播接口單元1022根據Client響應單元1020發(fā) 送的媒體資源對應的URI,向多個資源網絡的組播網絡發(fā)送媒體資源查詢請求,通過組播網 絡回復的響應消息中獲取存儲有媒體資源的Cache節(jié)點的位置信息、對應媒體資源的分片 存儲信息以及該Cache節(jié)點的媒體資源請求方式。在本實施例中,組播接口單元1022還用 于根據本節(jié)點存儲的媒體資源的分片存儲信息,結合組播網絡返回的Cache節(jié)點的該媒體 資源的分片存儲信息,從響應消息中的Cache節(jié)點的位置信息對應的Cache節(jié)點中選擇若 干個Cache節(jié)點作為資源節(jié)點,即確認存儲所述媒體資源的Cache節(jié)點,并把組播網絡返回 的對該資源節(jié)點的媒體資源請求方式轉化為pull/push操作原語;流媒體傳輸單元1024用于根據組播網絡返回的Cache節(jié)點位置信息,通過pull/ push操作原語向選為資源節(jié)點的若干個Cache節(jié)點請求媒體傳輸。可以理解的是,流媒體 傳輸單元1024根據組播接口單元1022選中的資源節(jié)點的位置信息,即選中為資源節(jié)點的 Cache節(jié)點的位置信息,通過pull/push操作原語向該資源節(jié)點請求媒體傳輸。在本實施例中,流媒體傳輸單元1024還用于接收該若干個Cache節(jié)點的媒體流, 并對媒體流進行匯聚與組合。Client響應單元1020還用于通過RTSP協(xié)議把流媒體傳輸單元1024接收的媒體 流發(fā)送給Client節(jié)點。在本實施例中,Proxy節(jié)點可以部署在流媒體組播網絡的專屬服務器,也可以部 署在與內容分發(fā)網絡(Content Delivery Network, CDN)服務器相結合的設備,也可以 部署在接入網關相結合的設備,比如可以部署在有線網絡接入服務器或寬帶接入服務器 (Broadband Remote Access Server, BRAS),或無線網絡接入設備,或網關通用分組無線服 務支持節(jié)點(Gateway GPRSSupporting Node,GGSN),或是GPRS路由器,當然,Proxy節(jié)點也 可以與終端相結合,即部署在性能較好的PC終端上。即,流媒體組播網絡的專屬服務器,或 ⑶N服務器,或有線網絡接入服務器,或寬帶接入服務器,或無線網絡接入設備,或GGSN包 括該Proxy節(jié)點所包括的單元。此處不再重復描述。本發(fā)明實施例提供的Proxy節(jié)點,可以使用戶終端通過Proxy節(jié)點從不同組播網 絡獲取需要的媒體資源對應的Cache節(jié)點的相關信息,從而通過Proxy節(jié)點從Cache節(jié)點 獲取媒體資源,從而使用戶可以通過不同的組播網絡來享受直播/點播的業(yè)務,即提高了 直播/點播業(yè)務的使用范圍,因而避免了現(xiàn)有技術中用戶終端和組播網絡須匹配才能享受 直播或點播業(yè)務的情況,從而增強了流媒體分發(fā)系統(tǒng)的可擴展性、靈活性。并通過RTSP協(xié) 議提高了流媒體傳輸的效率以及抗擁塞能力。圖3為一種P2P流媒體分發(fā)的方法的總體流程圖。步驟S300,接收Client節(jié)點發(fā)送的RTSP請求消息,并獲取該RTSP請求消息對應 的媒體資源的URI。在本實施例中,根據RTSP請求消息中的用戶需要獲取的媒體資源信息 獲取該Client節(jié)點所請求媒體資源對應的URI ;步驟S302,向多個資源網絡發(fā)送媒體資源查詢請求,在本實施例中,該資源查詢請 求中包括媒體資源的URI ;在本實施例中,多個資源網絡包括多個不同的組播網絡。在本實 施例中,可以向多個資源網絡中的任意一個組播網絡發(fā)送該媒體資源查詢請求,也可以同 時向多個不同的組播網絡發(fā)送該媒體資源查詢請求。在本實施例中,Proxy節(jié)點可能不知 道哪個具體的組播網絡中有該請求媒體資源的Cache節(jié)點的相關信息,所以,可以向多個不同的組播網絡發(fā)送該媒體資源查詢請求,或任意選擇一個組播網絡,并發(fā)送該媒體資源 查詢請求。步驟S304,獲取該多個資源網絡發(fā)送的該資源查詢請求的響應消息。在本實施例 中,該響應消息包括存儲有媒體資源的Cache節(jié)點的位置信息、Cache節(jié)點對應的媒體資源 的分片存儲信息以及該Cache節(jié)點的媒體資源請求方式。在本實施例中,多個資源網絡的 組播網絡接收到該資源查詢請求后,根據該資源查詢請求中的所需查詢的媒體資源的URI, 通過P2P網絡查詢存儲有該媒體資源的cache節(jié)點的位置信息以及對應媒體資源的分片存 儲信息,并根據應用層組播算法選擇一組合適的Cache節(jié)點以及與Cache節(jié)點的媒體資源 請求方式。在本實施例中,可以獲取該多個資源網絡中的多個組播網絡發(fā)送的響應消息,假 設多個資源網絡包括兩個組播網絡,分別為第一組播網絡和第二組播網絡,則可以接收第 一組播網絡發(fā)送的響應消息,和接收第二組播網絡發(fā)送的響應消息。由于同一個Cache節(jié) 點可以同時在第一組播網絡和第二組播網絡進行注冊,則第一組播網絡發(fā)送的響應消息和 第二組播網絡發(fā)送的響應消息中可能會同時包括該Cache節(jié)點的位置信息。步驟S306,從該響應消息中的Cache節(jié)點的位置信息對應的Cache節(jié)點中選擇若 干個Cache節(jié)點作為資源節(jié)點。在本實施例中,根據存儲的該媒體資源的分片存儲信息和 該響應消息中的Cache節(jié)點對應的該媒體資源的分片存儲信息,從該響應消息中的Cache 節(jié)點的位置信息對應的Cache節(jié)點中選擇若干個Cache節(jié)點作為資源節(jié)點。本步驟也可以 理解為,根據所述響應消息確認存儲所述媒體資源的Cache節(jié)點。在本實施例中,可以從不 同的組播網絡所發(fā)送的響應消息中的Cache節(jié)點的位置信息對應的Cache節(jié)點中選擇若干 個Cache節(jié)點作為資源節(jié)點。步驟S308,將該資源節(jié)點的媒體資源請求方式轉化為pull/push操作原語。由于 在步驟S306中,從該響應消息中的Cache節(jié)點的位置信息對應的Cache節(jié)點中選擇若干個 Cache節(jié)點作為資源節(jié)點,因此,本步驟可以理解為將該選擇的Cache節(jié)點的媒體資源請求 方式轉化為pull/push操作原語。步驟S310,向該資源節(jié)點請求媒體傳輸。在本實施例中,根據該資源節(jié)點的位置 信息,通過pull/push操作原語向該資源節(jié)點請求媒體傳輸。由于在步驟S306中,從該響 應消息中的Cache節(jié)點的位置信息對應的Cache節(jié)點中選擇若干個Cache節(jié)點作為資源節(jié) 點,因此,本步驟可以理解為將該選擇的Cache節(jié)點的位置信息,通過pull/push操作原語 向該Cache節(jié)點請求媒體傳輸。步驟S312,獲取該資源節(jié)點返回的媒體流,并將對該返回的媒體流進行匯聚與組 合,并將匯聚與組合后的媒體流發(fā)送至Client節(jié)點。在本實施例中,流媒體分發(fā)的方法可以在Proxy節(jié)點,或Proxy服務器,或一個可 以實現(xiàn)Proxy功能的實體上進行。本發(fā)明實施例提供的技術方案,可以使用戶終端通過Proxy節(jié)點從多個資源網絡 的不同組播網絡獲取需要的媒體資源對應的Cache節(jié)點的相關信息,從而通過Proxy節(jié)點 從Cache節(jié)點獲取媒體資源,從而使用戶可以通過不同的組播網絡來享受直播/點播的業(yè) 務,即提高了直播/點播業(yè)務的使用范圍,因而避免了現(xiàn)有技術中用戶終端和組播網絡須 匹配才能享受直播或點播業(yè)務的情況,從而增強了流媒體分發(fā)系統(tǒng)的可擴展性、靈活性。圖4為一種P2P媒體分發(fā)的方法的具體流程圖,包括如下步驟
9
步驟S400、Client節(jié)點響應用戶的流媒體請求,并根據該用戶的流媒體請求發(fā)送 RTSP請求消息至Proxy節(jié)點。在本實施例中,Client節(jié)點獲取用戶的流媒體請求中的所請 求的媒體資源信息,并發(fā)送該媒體資源對應的RTSP請求消息。該RTSP請求消息包括用戶 需要獲取的媒體資源信息,可以理解為RTSP請求消息攜帶用戶需要獲取的媒體資源信息;步驟S402、Proxy節(jié)點接收Client節(jié)點的RTSP請求消息,并根據RTSP請求消息 獲取Client節(jié)點請求媒體資源的URI ;在本實施例中,根據RTSP請求消息中的用戶需要獲 取的媒體資源信息獲取該Client節(jié)點所請求媒體資源對應的URI。步驟S404、Proxy節(jié)點根據所述Client節(jié)點請求媒體資源URI,向多個資源網絡 發(fā)送媒體資源查詢請求;在本實施例中,多個資源網絡包括多個不同的組播網絡。在本實施 例中,可以向多個資源網絡中的任意一個組播網絡發(fā)送該媒體資源查詢請求,也可以同時 向多個不同的組播網絡發(fā)送該媒體資源查詢請求。在本實施例中,Proxy節(jié)點可能不知道 哪個具體的組播網絡中有該請求媒體資源的Cache節(jié)點的相關信息,所以,可以向多個不 同的組播網絡發(fā)送該媒體資源查詢請求,或任意選擇一個組播網絡,并發(fā)送該媒體資源查 詢請求。步驟S406、多個資源網絡接收Proxy節(jié)點發(fā)送的資源查詢請求,并根據該資源查 詢請求中的所需查詢的媒體資源的URI,通過P2P網絡查詢存儲有該媒體資源的cache節(jié) 點的位置信息以及對應媒體資源的分片存儲信息,并根據應用層組播算法選擇一組合適的 Cache節(jié)點以及與Cache節(jié)點的媒體資源請求方式;在本實施例中,可以是多個資源網絡 的一個組播網絡接收Proxy節(jié)點發(fā)送的資源查詢請求,也可以是多個不同的組播網絡接收 Proxy節(jié)點發(fā)送的資源查詢請求。步驟S408、多個資源網絡向Proxy節(jié)點返回所述媒體資源查詢請求對應的響應消 息,所述的響應消息包括所選擇的存儲有該媒體資源的一組Cache節(jié)點的位置信息、對應 媒體資源的分片存儲信息以及Cache節(jié)點的資源請求方式。其中媒體資源請求方式為應用 層組播中常用的推/拉兩種媒體傳輸方式;步驟S410,Proxy節(jié)點獲取多個資源網絡發(fā)送的該資源查詢請求的響應消息。在 本實施例中,可以獲取該多個資源網絡中的多個組播網絡發(fā)送的響應消息,假設多個資源 網絡包括兩個組播網絡,分別為第一組播網絡和第二組播網絡,則可以接收第一組播網絡 發(fā)送的響應消息,和接收第二組播網絡發(fā)送的響應消息。由于同一個Cache節(jié)點可以同時 在第一組播網絡和第二組播網絡進行注冊,則第一組播網絡發(fā)送的響應消息和第二組播網 絡發(fā)送的響應消息中可能會同時包括該Cache節(jié)點的位置信息。步驟S412、Proxy節(jié)點從該響應消息中的Cache節(jié)點的位置信息對應的Cache節(jié) 點中選擇若干個Cache節(jié)點作為資源節(jié)點。在本實施例中,根據存儲的該媒體資源的分片 存儲信息和該響應消息中的Cache節(jié)點對應的該媒體資源的分片存儲信息,從該響應消息 中的Cache節(jié)點的位置信息對應的Cache節(jié)點中選擇若干個Cache節(jié)點作為資源節(jié)點。在 本實施例中,可以從不同的組播網絡所發(fā)送的響應消息中的Cache節(jié)點的位置信息對應的 Cache節(jié)點中選擇若干個Cache節(jié)點作為資源節(jié)點。步驟S414,Proxy節(jié)點將該資源節(jié)點的媒體資源請求方式轉化為pull/push操作 原語;本步驟可以理解為,將該選擇的Cache節(jié)點的媒體資源請求方式轉化為pull/push操
作原語。
10
步驟S416、Proxy節(jié)點根據所述push/pull原語,通過RTSP協(xié)議向所述選為資源 節(jié)點的若干個Cache節(jié)點實現(xiàn)媒體傳輸。本步驟可以理解為將該選擇的Cache節(jié)點的位置 信息,通過pull/push操作原語向該Cache節(jié)點請求媒體傳輸。在本實施例中,根據該資源 節(jié)點的位置信息,通過pull/push操作原語向該資源節(jié)點請求媒體傳輸。其中pull原語與RTSP相結合的傳輸流程為AA.Proxy節(jié)點根據本節(jié)點Buffer緩存的狀況以及Cache節(jié)點的媒體資源分片存 儲信息,通過PTSP PLAY請求向Cache節(jié)點請求特定片段媒體資源;BB、Proxy節(jié)點通過在PLAY請求中攜帶Range頭域,實現(xiàn)特定片段媒體資源的獲 取。其中 Range 的形式為 Range :smpte = a_b ;或者 Range :npt = a_b ;或者 Range :clock =a-b ;其中a為媒體資源的起始點,b為媒體資源的結束點。為了獲取資源節(jié)點的多個不 連續(xù)媒體片段,可以在PLAY請求中帶有多個Range頭域來標識不同的片段;CCXache節(jié)點根據Proxy節(jié)點在PLAY請求中Range頭域所標識的范圍,通過RTSP 協(xié)議把該部分媒體資源返回給請求節(jié)點。push原語與RTSP相結合的傳輸流程為DD、Proxy節(jié)點通過RTSP PLAY方法實現(xiàn)向Cache節(jié)點請求媒體資源的周期性推 送;EE、Proxy節(jié)點通過在PLAY請求中攜帶Range頭域,實現(xiàn)對媒體資源的獲取。其 中 Range 的形式為 Range :smpte = a_ ;或者 Range :npt = a_ ;或者 Range :clock = a_ ;其 中a為媒體資源的起始點;FF、Cache資源節(jié)點根據請求節(jié)點在PLAY請求中Range頭域所標識的范圍,通過 RTSP協(xié)議向請求節(jié)點推送媒體資源步驟S418、PrOXy節(jié)點接收該若干個Cache節(jié)點發(fā)送的媒體數據并進行匯聚、重新組合。步驟S420、Proxy節(jié)點把重新組合后的流媒體數據通過RTSP協(xié)議傳輸給上述 Client 節(jié)點。步驟S422、Client節(jié)點通過RTSP協(xié)議接收Proxy節(jié)點傳輸的流媒體數據,并向用 戶進行播放。如果Proxy節(jié)點和上述Client節(jié)點位于同一臺物理設備上,步驟S400、步驟S420 所示的Client節(jié)點和Proxy節(jié)點之間的數據交互可以通過其他方式來實現(xiàn),如進程間通
fn °如果用戶數據服務器所處具體應用場景不需要用戶向多個Cache節(jié)點請求數據, 則所述步驟S418可以不執(zhí)行。本發(fā)明實施例提供的技術方案,可以使用戶終端通過Proxy節(jié)點從不同組播網絡 獲取需要的媒體資源對應的Cache節(jié)點的相關信息,從而通過Proxy節(jié)點從Cache節(jié)點獲 取媒體資源,從而使用戶可以通過不同的組播網絡來享受直播/點播的業(yè)務,即提高了直 播/點播業(yè)務的使用范圍,因而避免了現(xiàn)有技術中用戶終端和組播網絡須匹配才能享受直 播或點播業(yè)務的情況,從而增強了流媒體分發(fā)系統(tǒng)的可擴展性、靈活性。本領域普通技術人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以 通過計算機程序來指令相關的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁 碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機存儲記憶體(Random Access Memory, RAM)等。 以上所述僅為本發(fā)明的幾個實施例,本領域的技術人員依據申請文件公開的可以 對本發(fā)明進行各種改動或變型而不脫離本發(fā)明的精神和范圍。
權利要求
一種P2P流媒體數據分發(fā)的方法,其特征在于,包括接收Client節(jié)點發(fā)送的請求媒體資源的消息,并發(fā)送所述消息對應的媒體資源查詢請求至多個資源網絡;獲取所述多個資源網絡返回的所述媒體資源查詢請求的響應消息;根據所述響應消息確認存儲所述媒體資源的Cache節(jié)點;向所述Cache節(jié)點請求媒體資源。
2.根據權利要求1所述的方法,其特征在于,所述接收Client節(jié)點發(fā)送的請求媒體資 源的消息,并發(fā)送所述消息對應的媒體資源查詢請求至多個資源網絡的步驟包括獲取所述媒體資源對應的資源標志符;發(fā)送包括所述資源標志符的媒體資源查詢請求至所述多個資源網絡。
3.根據權利要求1所述的方法,其特征在于,所述根據所述響應消息確認所述媒體資 源的Cache節(jié)點的步驟包括根據存儲的所述媒體資源的分片存儲信息和所述響應消息中的Cache節(jié)點對應的該 媒體資源的分片存儲信息,從所述響應消息中的Cache節(jié)點的位置信息對應的Cache節(jié)點 中選擇多個Cache節(jié)點。
4.根據權利要求3所述的方法,其特征在于,所述向所述Cache節(jié)點請求媒體資源的步 驟包括將所述響應消息中的所述Cache節(jié)點的媒體資源請求方式轉化為pull/push操作原語;根據所述選擇的Cache節(jié)點的位置信息,通過所述pull/push操作原語向所述選擇的 Cache節(jié)點請求媒體傳輸。
5.一種Proxy節(jié)點,其特征在于,所述Proxy節(jié)點應用于流媒體數據分發(fā),包括Client響應單元,用于接收Client節(jié)點發(fā)送的請求媒體資源的消息;組播接口單元,用于發(fā)送所述消息對應的媒體資源查詢請求至多個資源網絡,并獲取 所述媒體資源查詢請求的響應消息,及根據所述響應消息確認存儲所述媒體資源的Cache 節(jié)占.I— /、、、 流媒體傳輸單元,用于向所述Cache節(jié)點請求媒體資源。
6.根據權利要求5所述的Proxy節(jié)點,其特征在于,所述Client響應單元還用于獲取 所述媒體資源對應的資源標志符;所述組播接口單元還用于發(fā)送包括所述資源標志符的媒 體資源查詢請求至所述多個資源網絡。
7.根據權利要求5所述的Proxy節(jié)點,其特征在于,所述組播接口單元還用于根據存 儲的所述媒體資源的分片存儲信息和所述響應消息中的Cache節(jié)點對應的該媒體資源的 分片存儲信息,從所述響應消息中的Cache節(jié)點的位置信息對應的Cache節(jié)點中選擇多個 Cache節(jié)點,并將所述響應消息中的所述Cache節(jié)點的媒體資源請求方式轉化為pull/push 操作原語。
8.根據權利要求7所述的Proxy節(jié)點,其特征在于,所述流媒體傳輸單元還用于根據所 述選擇的Cache節(jié)點的位置信息,通過所述pull/push操作原語向所述選擇的Cache節(jié)點 請求媒體傳輸。
9.根據權利要求5所述的Proxy節(jié)點,其特征在于,所述流媒體傳輸單元還用于接收所述選擇的Cache節(jié)點發(fā)送的媒體流,并通過實時流傳輸協(xié)議將所述媒體流發(fā)送至所述 Client 節(jié)點。
10.一種接入設備,其特征在于,包括Client響應單元,用于接收Client節(jié)點發(fā)送的請求媒體資源的消息;組播接口單元,用于發(fā)送所述消息對應的媒體資源查詢請求至多個資源網絡,并獲取 所述多個資源網絡發(fā)送的所述媒體資源查詢請求的響應消息,及根據所述響應消息確認存 儲所述媒體資源的Cache節(jié)點;流媒體傳輸單元,用于向所述Cache節(jié)點請求媒體資源。
11.一種接入服務器,其特征在于,包括Client響應單元,用于接收Client節(jié)點發(fā)送的請求媒體資源的消息;組播接口單元,用于發(fā)送所述消息對應的媒體資源查詢請求至多個資源網絡,并獲取 所述多個資源網絡發(fā)送的所述媒體資源查詢請求的響應消息,及根據所述響應消息確認存 儲所述媒體資源的Cache節(jié)點;流媒體傳輸單元,用于向所述Cache節(jié)點請求媒體資源。
12.一種流媒體數據分發(fā)系統(tǒng),其特征在于,包括Proxy節(jié)點,用于接收Client節(jié)點發(fā)送的請求媒體資源的消息,并發(fā)送所述消息對應 的媒體資源查詢請求;多個資源網絡,用于發(fā)送所述媒體資源查詢請求的響應消息至所述Proxy節(jié)點;其中,所述Proxy節(jié)點還用于根據所述響應消息確認存儲所述媒體資源的Cache節(jié)點, 向所述Cache節(jié)點請求媒體資源。
13.根據權利要求12所述的流媒體數據分發(fā)系統(tǒng),其特征在于,所述Proxy節(jié)點還用于 獲取所述媒體資源對應的資源標志符,并發(fā)送包括所述資源標志符的媒體資源查詢請求至 所述多個資源網絡。
14.根據權利要求12所述的流媒體數據分發(fā)系統(tǒng),其特征在于,所述Proxy節(jié)點還用于 根據存儲的所述媒體資源的分片存儲信息和所述響應消息中的Cache節(jié)點對應的該媒體 資源的分片存儲信息,從所述響應消息中的Cache節(jié)點的位置信息對應的Cache節(jié)點中選 擇多個Cache節(jié)點。
15.根據權利要求12所述的流媒體數據分發(fā)系統(tǒng),其特征在于,所述Proxy節(jié)點還用 于將所述響應消息中的所述Cache節(jié)點的媒體資源請求方式轉化為pull/push操作原語, 根據所述選擇的Cache節(jié)點的位置信息,通過所述pull/push操作原語向所述選擇的Cache 節(jié)點請求媒體傳輸。
16.根據權利要求12所述的流媒體數據分發(fā)系統(tǒng),其特征在于,所述多個資源網絡 包括多個不同的組播網絡,所述系統(tǒng)還包括Cache節(jié)點群,所述Cache節(jié)點群還包括多個 Cache節(jié)點,所述Cache節(jié)點用于緩存媒體資源,并向所述多個資源網絡的多個不同的組播 網絡注冊所緩存的媒體資源信息。
全文摘要
本發(fā)明實施例提供一種P2P流媒體數據分發(fā)的方法,其特征在于,包括接收Client節(jié)點發(fā)送的包括請求媒體資源的消息,并發(fā)送所述消息對應的媒體資源查詢請求至多個資源網絡;獲取所述媒體資源查詢請求的響應消息;根據所述響應消息確認存儲所述媒體資源的Cache節(jié)點;向所述Cache節(jié)點請求媒體資源。本發(fā)明實施例還提供一種流媒體數據分發(fā)的系統(tǒng)及proxy節(jié)點,提高了用戶的直播/點播業(yè)務的使用范圍,從而增強了流媒體分發(fā)系統(tǒng)的靈活性。
文檔編號H04L29/06GK101938505SQ20091010861
公開日2011年1月5日 申請日期2009年7月1日 優(yōu)先權日2009年7月1日
發(fā)明者張云飛, 文劉飛, 施廣宇, 龍有水 申請人:華為技術有限公司;中國移動通信集團公司