專利名稱:一種實(shí)時(shí)流協(xié)議代理轉(zhuǎn)發(fā)數(shù)據(jù)的方法、裝置及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,特別是涉及一種實(shí)時(shí)流協(xié)議代理轉(zhuǎn)發(fā)數(shù)據(jù)的方法、裝 置及系統(tǒng)。
背景技術(shù):
實(shí)時(shí)流協(xié)議(Real Time Streaming Protocol,RTSP)是專用于媒體點(diǎn)播控制的協(xié) 議,基于服務(wù)器/客戶端架構(gòu)。客戶端、服務(wù)器都可以主動向?qū)Ψ桨l(fā)送消息??蛻舳朔?wù)器 之間要先建立一個(gè)TCP連接,以后的會話控制的消息交換都發(fā)生在這條連接上。實(shí)時(shí)流協(xié) 議2.0定義了幾個(gè)主要的消息method,用以表示控制所需的主要功能,通過使用這些消息 來對媒體流傳輸進(jìn)行控制,例如所述消息有描述查詢DESCRIBE,獲取參數(shù)GET_PARAMETER, 選項(xiàng)OPTIONS,暫停PAUSE,播放PLAY,重定向REDIRECT,建會話SETUP,設(shè)置參數(shù)SET_ PARAMETER,結(jié)束會話 TEARD0WN。實(shí)時(shí)流協(xié)議代理RTSP Proxy是介于RTSP協(xié)議的客戶端RTSP Client (下面簡稱 Client)與RTSP協(xié)議的服務(wù)器RTSP Server (下面簡稱Server)之間的網(wǎng)絡(luò)設(shè)備,如圖1所 示為實(shí)時(shí)流協(xié)議代理架構(gòu)圖,RTSP Proxy具有轉(zhuǎn)發(fā)RTSP信令和轉(zhuǎn)發(fā)Server到Client的 RTP媒體流的功能。RTSP Proxy同時(shí)擔(dān)當(dāng)服務(wù)器和客戶端的角色,如圖IJ^RTSP Client 而言,RTSP Proxy就是它的服務(wù)器,對RTSP Server而言,RTSP Proxy就是它的客戶端。當(dāng) RTSP Client向RTSP Server發(fā)送RTSP請求消息時(shí),RTSP Proxy收到該請求消息后,轉(zhuǎn)發(fā) 給 RTSP Server;當(dāng) RTSP Server 返回響應(yīng)消息給 RTSPClient,RTSP Proxy 收到 Server 的 響應(yīng)消息后轉(zhuǎn)發(fā)給RTSP Client。在對現(xiàn)有技術(shù)的研究和實(shí)踐過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)存在以下問題當(dāng)一個(gè) RTSP Proxy接入多個(gè)RTSP Client時(shí),會收到多個(gè)RTSP Client的多個(gè)RTSP請求消息,但是 由于一個(gè)RTSP Proxy與RTSP Server之間的消息承載在同一條網(wǎng)絡(luò)鏈路(TCP鏈接或UDP 鏈接)上,因此RTSP Proxy將該多個(gè)請求消息轉(zhuǎn)發(fā)給RTSP Server時(shí),RTSP Server無法 區(qū)分這些消息所歸屬的RTSP Client,無法為每個(gè)RTSP Client創(chuàng)建會話,同時(shí)RTSPProxy 也無法將RTSP Server返回的響應(yīng)消息發(fā)送給相應(yīng)的請求端RTSPClient,導(dǎo)致客戶端無法 接收到該響應(yīng)消息,影響信令消息的交互。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種實(shí)時(shí)流協(xié)議代理RTSP Proxy轉(zhuǎn)發(fā)數(shù)據(jù)的方法、裝置及系 統(tǒng),用于解決RTSP Proxy接入多個(gè)RTSP協(xié)議客戶端,RTSP Proxy無法將RTSP Server返 回的響應(yīng)消息發(fā)送給相應(yīng)的請求端RTSP Client,從而導(dǎo)致客戶端無法接收到該響應(yīng)消息 的問題。本發(fā)明實(shí)施例提供的一種實(shí)時(shí)流協(xié)議代理RTSP Proxy轉(zhuǎn)發(fā)數(shù)據(jù)的方法,包括接收來自多個(gè)實(shí)時(shí)流協(xié)議客戶端的第一實(shí)時(shí)流協(xié)議RTSP請求;根據(jù)所述RTSP請求,為所述實(shí)時(shí)流協(xié)議客戶端分配客戶端標(biāo)識和業(yè)務(wù)標(biāo)識,并生成所述客戶端標(biāo)識和業(yè)務(wù)標(biāo)識的關(guān)聯(lián)關(guān)系表;將攜帶所述業(yè)務(wù)標(biāo)識的RTSP請求轉(zhuǎn)發(fā)給實(shí)時(shí)流協(xié)議服務(wù)器;接收所述實(shí)時(shí)流協(xié)議服務(wù)器的第一 RTSP響應(yīng)消息,所述第一 RTSP響應(yīng)消息中攜 帶所述業(yè)務(wù)標(biāo)識,并以所述業(yè)務(wù)標(biāo)識為索引,通過查找所述關(guān)聯(lián)關(guān)系表獲得客戶端標(biāo)識,將 所述第一 RTSP響應(yīng)消息轉(zhuǎn)發(fā)給與所述客戶端標(biāo)識對應(yīng)的實(shí)時(shí)流協(xié)議客戶端。本發(fā)明實(shí)施例提供的一種實(shí)時(shí)流協(xié)議代理RTSP Proxy轉(zhuǎn)發(fā)數(shù)據(jù)的裝置,包括第一接收單元,用于接收來自多個(gè)實(shí)時(shí)流協(xié)議客戶端的第一實(shí)時(shí)流協(xié)議RTSP請 求;關(guān)聯(lián)關(guān)系表生成單元,用于根據(jù)所述RTSP請求,為所述實(shí)時(shí)流協(xié)議客戶端分配所 述客戶端標(biāo)識和業(yè)務(wù)標(biāo)識,并生成所述客戶端標(biāo)識和業(yè)務(wù)標(biāo)識的關(guān)聯(lián)關(guān)系表;第一發(fā)送單元,用于將攜帶所述業(yè)務(wù)標(biāo)識的RTSP請求轉(zhuǎn)發(fā)給實(shí)時(shí)流協(xié)議服務(wù)器;第二接收單元,用于接收所述實(shí)時(shí)流協(xié)議服務(wù)器的第一 RTSP響應(yīng)消息,所述RTSP 響應(yīng)消息中攜帶所述業(yè)務(wù)標(biāo)識;第二發(fā)送單元,用于以所述第二接收單元接收的RTSP響應(yīng)消息中攜帶的業(yè)務(wù)標(biāo) 識為索引,通過查找所述關(guān)聯(lián)關(guān)系表獲得客戶端標(biāo)識,將所述RTSP響應(yīng)消息轉(zhuǎn)發(fā)給與所述 客戶端標(biāo)識對應(yīng)的實(shí)時(shí)流協(xié)議客戶端。本發(fā)明實(shí)施例提供的一種實(shí)時(shí)流協(xié)議代理RTSP Proxy轉(zhuǎn)發(fā)數(shù)據(jù)的系統(tǒng),包括多 個(gè)實(shí)時(shí)流協(xié)議客戶端、實(shí)時(shí)流協(xié)議代理和實(shí)時(shí)流協(xié)議服務(wù)器所述實(shí)時(shí)流協(xié)議客戶端,與所述實(shí)時(shí)流協(xié)議代理相連接,用于發(fā)送第一實(shí)時(shí)流協(xié) 議RTSP請求給所述實(shí)時(shí)流協(xié)議代理,并接收所述實(shí)時(shí)流協(xié)議代理返回的RTSP響應(yīng)消息;所述實(shí)時(shí)流協(xié)議代理,分別與所述實(shí)時(shí)流協(xié)議客戶端和所述實(shí)時(shí)流協(xié)議服務(wù)器相 連接,用于接收來自多個(gè)實(shí)時(shí)流協(xié)議客戶端的第一實(shí)時(shí)流協(xié)議RTSP請求;根據(jù)所述RTSP請 求,為所述實(shí)時(shí)流協(xié)議客戶端分配所述客戶端標(biāo)識和業(yè)務(wù)標(biāo),并生成所述實(shí)時(shí)流協(xié)議客戶 端標(biāo)識和業(yè)務(wù)標(biāo)識的關(guān)聯(lián)關(guān)系表;將攜帶所述業(yè)務(wù)標(biāo)識的RTSP請求轉(zhuǎn)發(fā)給實(shí)時(shí)流協(xié)議服 務(wù)器;并接收所述服務(wù)器的RTSP響應(yīng)消息,所述RTSP響應(yīng)消息中攜帶所述業(yè)務(wù)標(biāo)識,并以 所述業(yè)務(wù)標(biāo)識為索引,通過查找所述關(guān)聯(lián)關(guān)系表獲得于所述業(yè)務(wù)標(biāo)識對應(yīng)的所述客戶端標(biāo) 識,將所述RTSP響應(yīng)消息轉(zhuǎn)發(fā)給與所述客戶端標(biāo)識對應(yīng)的所述實(shí)時(shí)流協(xié)議客戶端。所述實(shí)時(shí)流協(xié)議服務(wù)器,與所述實(shí)時(shí)流協(xié)議代理相連接,用于接收所述實(shí)時(shí)流協(xié) 議代理發(fā)送的第一 RTSP請求,根據(jù)不同的所述業(yè)務(wù)標(biāo)識,為所述實(shí)時(shí)流協(xié)議客戶端建立不 同的會話,并返回所述RTSP響應(yīng)消息給所述實(shí)時(shí)流協(xié)議代理,其中,所述RTSP響應(yīng)消息中 攜帶所述業(yè)務(wù)標(biāo)識。本發(fā)明實(shí)施例提供一種實(shí)時(shí)流協(xié)議代理轉(zhuǎn)發(fā)數(shù)據(jù)的方法,裝置及系統(tǒng),通過接收 來自多個(gè)實(shí)時(shí)流協(xié)議客戶端的第一實(shí)時(shí)流協(xié)議RTSP請求;根據(jù)所述RTSP請求,為所述實(shí) 時(shí)流協(xié)議客戶端分配客戶端標(biāo)識和業(yè)務(wù)標(biāo)識,并生成所述客戶端標(biāo)識和業(yè)務(wù)標(biāo)識的關(guān)聯(lián)關(guān) 系表;將攜帶所述業(yè)務(wù)標(biāo)識的RTSP請求轉(zhuǎn)發(fā)給實(shí)時(shí)流協(xié)議服務(wù)器;接收所述實(shí)時(shí)流協(xié)議服 務(wù)器的第一 RTSP響應(yīng)消息,所述第一 RTSP響應(yīng)消息中攜帶所述業(yè)務(wù)標(biāo)識,并以所述業(yè)務(wù)標(biāo) 識為索引,通過查找所述關(guān)聯(lián)關(guān)系表獲得客戶端標(biāo)識,將所述第一 RTSP響應(yīng)消息轉(zhuǎn)發(fā)給與 所述客戶端標(biāo)識對應(yīng)的實(shí)時(shí)流協(xié)議客戶端,解決了 RTSP Proxy接入多個(gè)RTSP協(xié)議客戶端, RTSP Proxy無法將RTSP Server返回的響應(yīng)消息發(fā)送給相應(yīng)的請求端RTSP Client,從而導(dǎo)致客戶端無法接收到該響應(yīng)消息的問題,完善了 RTSP Proxy的功能,簡化了 RTSP Proxy 的處理流程。
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可 以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明現(xiàn)有技術(shù)中的一種實(shí)時(shí)流協(xié)議代理架構(gòu)圖;圖2為本發(fā)明實(shí)施例中的一種實(shí)時(shí)流協(xié)議代理轉(zhuǎn)發(fā)數(shù)據(jù)的方法流程圖;圖3為本發(fā)明實(shí)施例中一種實(shí)時(shí)流協(xié)議代理轉(zhuǎn)發(fā)數(shù)據(jù)的具體實(shí)現(xiàn)方式流程圖;圖4為本發(fā)明實(shí)施例中一種會話關(guān)聯(lián)關(guān)系表;圖5為本發(fā)明實(shí)施例中另一種會話關(guān)聯(lián)關(guān)系表;圖6為本發(fā)明實(shí)施例中另一種實(shí)時(shí)流協(xié)議代理轉(zhuǎn)發(fā)數(shù)據(jù)的具體實(shí)現(xiàn)方式流程圖;圖7為本發(fā)明實(shí)施例中一種事務(wù)關(guān)聯(lián)關(guān)系表;圖8為本發(fā)明實(shí)施例中一種實(shí)時(shí)流協(xié)議代理轉(zhuǎn)發(fā)數(shù)據(jù)的裝置結(jié)構(gòu)圖;圖9為本發(fā)明實(shí)施例中的一種實(shí)時(shí)流協(xié)議代理轉(zhuǎn)發(fā)數(shù)據(jù)的系統(tǒng)結(jié)構(gòu)圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā) 明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施 例,都屬于本發(fā)明保護(hù)的范圍。如圖2所示,為本發(fā)明實(shí)施例中的一種實(shí)時(shí)流協(xié)議代理RTSP Proxy轉(zhuǎn)發(fā)數(shù)據(jù)的方 法流程圖,包括以下步驟步驟S202,接收來自多個(gè)實(shí)時(shí)流協(xié)議客戶端RTSP Client的第一實(shí)時(shí)流協(xié)議RTSP 請求。具體為RTSP Proxy接收多個(gè)RTSP Client發(fā)送的不同的RTSP請求。步驟S204,根據(jù)所述實(shí)時(shí)流協(xié)議RTSP請求,為所述多個(gè)RTSP Client分別分配客 戶端標(biāo)識和業(yè)務(wù)標(biāo)識,并生成所述實(shí)時(shí)流協(xié)議客戶端標(biāo)識和業(yè)務(wù)標(biāo)識的關(guān)聯(lián)關(guān)系表,其中 所述客戶端標(biāo)識包括所述客戶端的事務(wù)標(biāo)識,或者所述客戶端的會話標(biāo)識。當(dāng)所述客戶端標(biāo)識為所述客戶端的事務(wù)標(biāo)識時(shí),所述為所述RTSPClient分配所 述客戶端標(biāo)識和業(yè)務(wù)標(biāo)識,并生成所述實(shí)時(shí)流協(xié)議客戶端標(biāo)識和業(yè)務(wù)標(biāo)識的關(guān)聯(lián)關(guān)系表具 體包括RTSP Proxy為所述RTSP Client分配所述客戶端事務(wù)標(biāo)識和業(yè)務(wù)標(biāo)識,并生成所 述客戶端事務(wù)標(biāo)識和業(yè)務(wù)標(biāo)識的關(guān)聯(lián)關(guān)系表。當(dāng)所述Client ID為所述客戶端的會話標(biāo)識時(shí),所述為所述RTSPClient分配所述 客戶端標(biāo)識和業(yè)務(wù)標(biāo)識,并生成所述實(shí)時(shí)流協(xié)議客戶端標(biāo)識和業(yè)務(wù)標(biāo)識的關(guān)聯(lián)關(guān)系表具體 包括
RTSP Proxy為所述RTSP Client分配所述客戶端的會話標(biāo)識和業(yè)務(wù)標(biāo)識;生成所述客戶端會話標(biāo)識、業(yè)務(wù)標(biāo)識和所述服務(wù)器為所述客戶端分配的所述服務(wù) 器會話標(biāo)識的關(guān)聯(lián)關(guān)系表,其中所述服務(wù)器會話標(biāo)識通過接收所述Server的RTSP響應(yīng)消 息獲得。其中,所述RTSP Server服務(wù)器側(cè)在處理會話的RTSP請求時(shí),同時(shí)存儲關(guān)于業(yè)務(wù) 標(biāo)識和所述RTSP Server為所述客戶端分配的所述服務(wù)器會話標(biāo)識的關(guān)聯(lián)關(guān)系表,以便下 次進(jìn)行會話處理的時(shí)候進(jìn)行使用,當(dāng)然也可以在服務(wù)器側(cè)對該關(guān)聯(lián)關(guān)系表不進(jìn)行存儲,可 以通過RTSP請求消息中攜帶的業(yè)務(wù)標(biāo)識和服務(wù)器會話標(biāo)識對會話進(jìn)行進(jìn)一步處理。步驟S206,將攜帶所述業(yè)務(wù)標(biāo)識的RTSP請求轉(zhuǎn)發(fā)給實(shí)時(shí)流協(xié)議服務(wù)器RTSP Server。步驟S208,接收所述RTSP Server的第一 RTSP響應(yīng)消息,所述第一 RTSP響應(yīng)消息 中攜帶所述業(yè)務(wù)標(biāo)識,并以所述業(yè)務(wù)標(biāo)識為索引,通過查找所述關(guān)聯(lián)關(guān)系表獲得相應(yīng)的客 戶端會話標(biāo)識,將所述第一 RTSP響應(yīng)消息轉(zhuǎn)發(fā)給與所述客戶端會話標(biāo)識對應(yīng)的所述RTSP Client。當(dāng)所述客戶端標(biāo)識為所述客戶端的會話標(biāo)識時(shí),所述方法還包括RTSP Proxy接收來自所述RTSP Client的第二實(shí)時(shí)流協(xié)議RTSP請求,所述第二實(shí) 時(shí)流協(xié)議RTSP請求中攜帶所述客戶端會話標(biāo)識;以所述客戶端會話標(biāo)識為索引,通過查找所述關(guān)聯(lián)關(guān)系表,獲得與所述客戶端對 應(yīng)的所述服務(wù)器會話標(biāo)識和業(yè)務(wù)標(biāo)識;將所述服務(wù)器會話標(biāo)識和業(yè)務(wù)標(biāo)識攜帶在所述第二 RTSP請求中,轉(zhuǎn)發(fā)給與所述 服務(wù)器會話標(biāo)識對應(yīng)的RTSP Server,使得所述RTSP Server根據(jù)所述服務(wù)器會話標(biāo)識進(jìn)行 會話處理;接收所述RTSP Server返回的第二 RTSP響應(yīng)消息,所述RTSP響應(yīng)消息中攜帶所 述業(yè)務(wù)標(biāo)識,并以所述業(yè)務(wù)標(biāo)識為索引,通過查找所述關(guān)聯(lián)關(guān)系表,將所述RTSP響應(yīng)消息 轉(zhuǎn)發(fā)給與所述客戶端標(biāo)識對應(yīng)的所述RTSPClient。其中所述第一 RTSP請求消息和所述第二 RTSP請求消息可以為查詢DESCRIBE, 獲取參數(shù)GET_PARAMETER,選項(xiàng)OPTIONS,暫停PAUSE,播放PLAY,重定向REDIRECT,建會話 SETUP,設(shè)置參數(shù)SET_PARAMETER,結(jié)束會話TEARD0WN的任意一種或幾種消息,且當(dāng)?shù)谝淮?RTSP請求消息為會話時(shí),所述第二 RTSP請求消息可以為第二次或者第三次等依次向RTSP Rroxy進(jìn)行請求,且不限于次數(shù)。上述步驟描述的流程可以應(yīng)用于會話交互流程和事務(wù)交互流程中,例如典型的 播放和結(jié)束的會話交互流程,在下面的實(shí)施例中會詳細(xì)進(jìn)行描述。本發(fā)明實(shí)施例通過接收來自多個(gè)實(shí)時(shí)流協(xié)議客戶端RTSP Client的第一實(shí)時(shí)流 協(xié)議RTSP請求;根據(jù)所述RTSP請求,生成所述實(shí)時(shí)流協(xié)議客戶端標(biāo)識和業(yè)務(wù)標(biāo)識的關(guān)聯(lián) 關(guān)系表;將攜帶所述業(yè)務(wù)標(biāo)識的RTSP請求轉(zhuǎn)發(fā)給實(shí)時(shí)流協(xié)議服務(wù)器RTSP Server ;通過接 收所述RTSP Server的RTSP響應(yīng)消息,并以RTSP響應(yīng)消息中攜帶的所述業(yè)務(wù)標(biāo)識為索 引,查找所述關(guān)聯(lián)關(guān)系表,將所述RTSP響應(yīng)消息轉(zhuǎn)發(fā)給與所述客戶端會話標(biāo)識對應(yīng)的所 述RTSPClient,解決了 RTSP Proxy接入多個(gè)RTSP協(xié)議客戶端,,RTSP Proxy無法將RTSP Server返回的響應(yīng)消息發(fā)送給相應(yīng)的請求端RTSP Client,從而導(dǎo)致客戶端無法接收到該響應(yīng)消息的問題,完善了 RTSP Proxy的功能,簡化了 RTSP Proxy的處理流程。如圖3所示,為本發(fā)明實(shí)施例中一種實(shí)時(shí)流協(xié)議代理RTSP Proxy轉(zhuǎn)發(fā)數(shù)據(jù)的具體 實(shí)現(xiàn)方式流程圖,包括以下步驟下面的實(shí)施例具體描述當(dāng)實(shí)時(shí)流協(xié)議客戶端RTSP Client發(fā)送第一實(shí)時(shí)流協(xié)議 RTSP請求消息為會話請求消息,且所述實(shí)時(shí)流協(xié)議客戶端標(biāo)識Client ID為所述客戶端的 會話標(biāo)識Client Session ID的情況,但不僅僅限制于會話的應(yīng)用場景,還可以應(yīng)用與其它 的請求消息中。步驟S300,實(shí)時(shí)流協(xié)議客戶端RTSP Client發(fā)送實(shí)時(shí)流協(xié)議RTSP請求給實(shí)時(shí)流協(xié) 議代理 RTSP Proxy。其中,與所述RTSP Proxy連接的RTSP Client有多個(gè),所述RTSP請求是指RTSP Client第一次發(fā)送給RTSP Proxy的請求消息,所述請求消息可以為會話請求消息,也可以 為其它請求消息。步驟S302,RTSP Proxy接收多個(gè)RTSP Client發(fā)送的第一 RTSP請求,為所述RTSP Client分配所述客戶端會話標(biāo)識和業(yè)務(wù)標(biāo)識,并生成所述實(shí)時(shí)流協(xié)議客戶端會話標(biāo)識、業(yè) 務(wù)標(biāo)識和服務(wù)器會話標(biāo)識的關(guān)聯(lián)關(guān)系表,其中,所述服務(wù)器會話標(biāo)識從返回的第一 RTSP響 應(yīng)消息中獲取。具體所述客戶端會話標(biāo)識、業(yè)務(wù)標(biāo)識和服務(wù)器會話標(biāo)識的關(guān)聯(lián)關(guān)系表如圖4所示。
圖4為本發(fā)明實(shí)施例中一種會話關(guān)聯(lián)關(guān)系表,表中包括客戶端會話標(biāo)識,是 RTSP Proxy為所述RTSP Client分配的客戶端會話標(biāo)識,對于多個(gè)RTSP Client中各個(gè) RTSP Client發(fā)送的不同的RTSP請求,RTSP Proxy通過客戶端會話標(biāo)識來區(qū)分是哪個(gè) RTSP Client發(fā)送的RTSP請求;所述服務(wù)器會話標(biāo)識,是所述RTSP Server為所述RTSP Client分配的,具體通過RTSP Server返回的響應(yīng)消息中攜帶返回的,用于RTSP Server 區(qū)分RTSPClient ;所述業(yè)務(wù)標(biāo)識,用于RTSP Proxy區(qū)分RTSP Server返回的響應(yīng)消息對應(yīng) 的業(yè)務(wù)數(shù)據(jù)區(qū),也用于RTSP Server區(qū)分來之同一個(gè)RTSP Proxy的不同會話請求。RTSP Proxy為一次會話分配一個(gè)業(yè)務(wù)標(biāo)識,在一次會話交互過程中,業(yè)務(wù)標(biāo)識保持不變。例如 RTSP Proxy生成客戶端的會話標(biāo)識為“ 1”則可以表示為客戶端的會話標(biāo)識_1 ;業(yè)務(wù)標(biāo)識 為“X”,則表示為業(yè)務(wù)標(biāo)識-χ ;根據(jù)RTSP響應(yīng)消息返回的服務(wù)器端的會話標(biāo)識為“A”,則 表示為服務(wù)器端的會話標(biāo)識-A。其中,所述會話關(guān)聯(lián)關(guān)系表中還可以包括會話信息Session-Info選項(xiàng),用于將 所述Client的會話信息、Server的會話信息、Client的地址或者消息參數(shù)等信息記錄在該 選項(xiàng)中,這一點(diǎn)為目前會話中都需要進(jìn)行描述的,在此就不再具體描述。步驟S304,RTSP Proxy將攜帶所述業(yè)務(wù)標(biāo)識的第一 RTSP請求轉(zhuǎn)發(fā)給實(shí)時(shí)流協(xié)議 服務(wù)器 RTSP Server0具體為通過擴(kuò)展所述RTSP請求消息,在所述消息中攜帶所述ServicelD,將所述 消息發(fā)送給相應(yīng)的RTSP Server進(jìn)行處理,其中所述可以RTSPServer為多個(gè),但是具體接 收該RTSP請求為RTSP Proxy根據(jù)請求的內(nèi)容決定選擇多個(gè)RTSP Server中的具體一個(gè) RTSP Server來進(jìn)行處理。步驟S306,RTSP Server接收所述RTSP請求,根據(jù)所述請求,為來自同一 Proxy的不同業(yè)務(wù)標(biāo)識的請求消息,建立不同的會話。步驟S308,RTSP Server為所述RTSP Client分配服務(wù)器會話標(biāo)識,并返回第一 RTSP響應(yīng)請求給所述RTSP Proxy,所述RTSP響應(yīng)請求中攜帶所述服務(wù)器會話標(biāo)識和業(yè)務(wù) 標(biāo)識。步驟S310,RTSP Server存儲為所述RTSP Client分配的服務(wù)器會話標(biāo)識和業(yè)務(wù) 標(biāo)識的關(guān)聯(lián)關(guān)系表。具體服務(wù)器會話標(biāo)識和業(yè)務(wù)標(biāo)識的關(guān)聯(lián)關(guān)系表為圖5所示。圖5為本發(fā)明實(shí)施例中另一種會話關(guān)聯(lián)關(guān)系表,存儲于RTSP Server側(cè),所述關(guān)聯(lián) 關(guān)系表包括服務(wù)器會話標(biāo)識和業(yè)務(wù)標(biāo)識;該服務(wù)器會話標(biāo)識,用于RTSP Server對該客戶 端已經(jīng)建立了會話,以便下次該RTSP Client再次請求時(shí),對該會話繼續(xù)進(jìn)行處理,避免重 復(fù)建立會話;所述業(yè)務(wù)標(biāo)識,用于RTSP Proxy區(qū)分RTSP Server返回的響應(yīng)消息對應(yīng)的業(yè) 務(wù)數(shù)據(jù)區(qū),也用于RTSP Server區(qū)分來之同一個(gè)RTSP Proxy的不同會話請求。RTSPProxy 為一次會話分配一個(gè)業(yè)務(wù)標(biāo)識,在一次會話交互過程中,業(yè)務(wù)標(biāo)識保持不變。例如RTSP Proxy生成客戶端的會話標(biāo)識為“1”則可以表示為客戶端的會話標(biāo)識_1 ;業(yè)務(wù)標(biāo)識為 “X”,則表示為業(yè)務(wù)標(biāo)識-χ ;根據(jù)RTSP響應(yīng)消息返回的服務(wù)器端的會話標(biāo)識為“A”,則表 示為服務(wù)器端的會話標(biāo)識-A。具體可以參見下面實(shí)例的詳細(xì)說明。應(yīng)該注意的是,該步驟310為可選步驟,即在RTSP Server側(cè)可以存儲為所述RTSP Client分配的服務(wù)器會話標(biāo)識和業(yè)務(wù)標(biāo)識的關(guān)聯(lián)關(guān)系表,也可以不進(jìn)行存儲。若RTSP Server不存儲該關(guān)聯(lián)關(guān)系表時(shí),也可以根據(jù)RTSP請求中攜帶的服務(wù)器會話標(biāo)識進(jìn)行會話處理。其中,步驟S308和步驟S310無先后順序的限制。步驟S312, RTSP Proxy接收RTSP Server返回的RTSP響應(yīng)消息,將所述RTSP響 應(yīng)消息中攜帶的服務(wù)器會話標(biāo)識寫入所述關(guān)聯(lián)關(guān)系表中的服務(wù)器會話標(biāo)識選項(xiàng)中步驟S313,RTSP Proxy根據(jù)所述RTSP響應(yīng)消息中攜帶的業(yè)務(wù)標(biāo)識為索引,通過 RTSP Proxy中存儲的所述關(guān)聯(lián)關(guān)系表找到所述業(yè)務(wù)標(biāo)識對應(yīng)的客戶端標(biāo)識,將所述RTSP 響應(yīng)消息轉(zhuǎn)發(fā)給與所述客戶端標(biāo)識對應(yīng)的所述RTSP Client。步驟S314,RTSP Client發(fā)送第二 RTSP請求消息給RTSP Proxy,所述第二請求中 攜帶所述客戶端會話標(biāo)識。步驟S316,RTSP Proxy接收所述第二 RTSP請求消息,根據(jù)所述請求消息中攜帶的 客戶端會話標(biāo)識,查找自身存儲的會話關(guān)聯(lián)關(guān)系表,獲得與所述客戶端對應(yīng)的所述服務(wù)器 會話標(biāo)識和業(yè)務(wù)標(biāo)識。其中,所述自身存儲的關(guān)聯(lián)關(guān)系表為所述客戶端會話標(biāo)識、業(yè)務(wù)標(biāo)識和所述服務(wù) 器為所述客戶端分配的所述服務(wù)器會話標(biāo)識的關(guān)聯(lián)關(guān)系表,即圖4所示。步驟S318,RTSP Proxy將所述服務(wù)器會話標(biāo)識和業(yè)務(wù)標(biāo)識攜帶在所述RTSP請求 中,轉(zhuǎn)發(fā)給與所述服務(wù)器會話標(biāo)識對應(yīng)的RTSP Server0步驟S320,RTSP Server接收所述第二請求消息,根據(jù)所述請求消息中攜帶的服務(wù) 器會話標(biāo)識,對所述會話進(jìn)行處理。步驟S322,返回第二 RTSP響應(yīng)消息給所述RTSP Proxy,所述第二 RTSP響應(yīng)消息中攜帶所述業(yè)務(wù)標(biāo)識。其中,RTSP Server也根據(jù)業(yè)務(wù)標(biāo)識的值確定是否需要生成多個(gè)業(yè)務(wù),比如, Server收到同一個(gè)Proxy的業(yè)務(wù)請求時(shí),如果有不同業(yè)務(wù)標(biāo)識,Server將視為不同業(yè)務(wù)請 求,會生成多個(gè)業(yè)務(wù)數(shù)據(jù)區(qū)。步驟S324,RTSP Proxy接收所述第二 RTSP響應(yīng)消息,以所述響應(yīng)消息中攜帶的所 述業(yè)務(wù)標(biāo)識為索引,通過查找所述關(guān)聯(lián)關(guān)系表,獲取所述客戶端會話標(biāo)識。步驟S326,將所述第二 RTSP響應(yīng)消息轉(zhuǎn)發(fā)給與所述客戶端會話標(biāo)識對應(yīng)的所述 RTSP Client,使得RTSP Client接收所述RTSP響應(yīng)消息。其中,根據(jù)所述業(yè)務(wù)標(biāo)識,可以更新該會話相應(yīng)的信息,將所述更新后的會話信息 寫入自身存儲的關(guān)聯(lián)關(guān)系表中的會話信息Session-Info選項(xiàng)中。上述的交互流程也適用于一個(gè)RTSP Proxy需要與多個(gè)Server連接的應(yīng)用場景, 只需要在RTSP Proxy與多個(gè)RTSP Server之間的信令交互消息中攜帶業(yè)務(wù)標(biāo)識字段即可。下面結(jié)合一個(gè)典型的播放和結(jié)束的會話交互流程進(jìn)行具體描述,所述關(guān)于RTSP 請求包括建會話Setup、播放Play、暫停Pause以及結(jié)束會話Teardown。例如RTSP Client向RTSP Proxy發(fā)送的RTSP請求為SETUP消息,消息舉例如下C- > P =SETUP rtsp ://foo/twister/video RTSO/1. 0CSeq 1Transport :RTP/AVP ;unicast ;client—port = 8002-8003RTSP Proxy生成客戶端會話標(biāo)識Client Session ID 客戶端會話標(biāo)識Client Session ID-I和業(yè)務(wù)標(biāo)識ServiceID 業(yè)務(wù)標(biāo)識ServiceID-χ,并轉(zhuǎn)發(fā)該消息給RTSP Server,消息中攜帶業(yè)務(wù)標(biāo)識ServiceID-χ字段或選項(xiàng),消息舉例如下(下面用ServiceID 來表示業(yè)務(wù)標(biāo)識,但并不是表示唯一使用Service ID表示業(yè)務(wù)標(biāo)識,僅以此為例進(jìn)行說明。 所述業(yè)務(wù)標(biāo)識,用于RTSP Proxy區(qū)分RTSP Server返回的響應(yīng)消息對應(yīng)的業(yè)務(wù)數(shù)據(jù)區(qū),也 用于RTSP Server區(qū)分來之同一個(gè)RTSP Proxy的不同會話請求的。RTSPProxy為一次會 話分配一個(gè)業(yè)務(wù)標(biāo)識,在一次會話交互過程中,業(yè)務(wù)標(biāo)識保持不變的均可以代表該業(yè)務(wù)標(biāo) 識)P- > S =SETUP rtsp ://foo/twister/video RTSP/1. 0CSeq 1Transport :RTP/AVP ;unicast ;client_port = 10000-10001Service-ID 1234RTSP Server為所述客戶端分配的所述服務(wù)器會話標(biāo)識ServerSession ID: Server Session ID-A,并記錄收到的業(yè)務(wù)標(biāo)識ServicelD-x,處理后返回給RTSP Proxy的 響應(yīng)消息中需要攜帶ServicelD-x,舉例如下S- > P :RTSP/1. 0 200 OKCSeq 1Transport :RTP/AVP ;unicast ;client—port = 10000—10001 ;server_port = 12004-12005Session 22345679Service-ID 1234
RTSP Proxy把根據(jù)業(yè)務(wù)標(biāo)識ServiceID-χ,查找自身存儲的關(guān)聯(lián)關(guān)系表,找到對應(yīng) 的 Client Session ID-1,并記錄 RTSP Server 生成的會話標(biāo)識Server Session ID-A,根 據(jù)該會話標(biāo)識Server Session ID_A,把響應(yīng)消息轉(zhuǎn)發(fā)給Client,舉例如下P- > C :RTSP/1. 0 200 OKRTSP Proxy根據(jù)客戶端的會話標(biāo)識Client Session ID-1找到對應(yīng)的業(yè)務(wù)標(biāo)識 ServiceID-χ 和服務(wù)器會話標(biāo)識 Server Session ID-A,在轉(zhuǎn)發(fā)給 RTSP Server 的 Play 消 息中,攜帶服務(wù)器會話標(biāo)識Server SessionID-A和業(yè)務(wù)標(biāo)識=ServiceID-X字段,消息舉例 如下P- > S =PLAY rtsp ://foo/twister RTSP/1. 0CSeq 2Range :npt = 0-Session 22345679Service-ID 1234RTSP Server根據(jù)會話標(biāo)識Server Session ID-A找到對應(yīng)的數(shù)據(jù)區(qū),處理后返回 給RTSP Proxy的響應(yīng)消息中需要攜帶業(yè)務(wù)標(biāo)識=ServiceID-X字段,舉例如下S- > P :RTSP/1. 0 200 OKCSeq 2Session 22345679RTP-Info :url = rtsp ://foo/twister/video ;seq = 10092 ;rtptime = 1120089Service-ID 1234RTSP Proxy根據(jù)業(yè)務(wù)標(biāo)識ServiceID_x找到對應(yīng)的客戶端的會話標(biāo)識Client Session ID-1,根據(jù)該客戶端的會話標(biāo)識Client Session ID-1把響應(yīng)消息轉(zhuǎn)發(fā)給RTSP Client,舉例如下P- > C :RTSP/1. 0 200 OKCSeq 2Session 12345678RTP-Info :url = rtsp ://foo/twister/video ;seq = 40023 ;rtptime = 3450012當(dāng)RTSP Client向RTSP Proxy發(fā)送PAUSE消息以及teardown的流程如上述描述
server_port = 9004-9005
Session 12345678 當(dāng)RTSP Client向Proxy發(fā)送PLAY消息,消息舉例如下 C- > P =PLAY rtsp ://foo/twister RTSP/1. 0
CSeq 1
Transport :RTP/AVP ;unicast ;client—port = 8002-8003 ;
CSeq 2
Range :npt = 0-Session 12345678的流程相同,在此不再贅述。本發(fā)明實(shí)施例提供一種實(shí)時(shí)流協(xié)議代理RTSP Proxy轉(zhuǎn)發(fā)數(shù)據(jù)的具體實(shí)施方法,通 過接收來自多個(gè)實(shí)時(shí)流協(xié)議客戶端RTSP Client的實(shí)時(shí)流協(xié)議RTSP請求;根據(jù)所述RTSP 請求,生成所述實(shí)時(shí)流協(xié)議客戶端標(biāo)識ClientSession ID和業(yè)務(wù)標(biāo)識Service ID的關(guān)聯(lián) 關(guān)系表;將攜帶所述Service ID的RTSP請求轉(zhuǎn)發(fā)給實(shí)時(shí)流協(xié)議服務(wù)器RTSP Server ;通過 接收所述RTSPServer的RTSP響應(yīng)消息,并以RTSP響應(yīng)消息中攜帶的所述Service ID為 索引,查找所述關(guān)聯(lián)關(guān)系表,將所述RTSP響應(yīng)消息轉(zhuǎn)發(fā)給與所述ClientSessionID對應(yīng)的 所述RTSP Client,解決了 RTSP Proxy接入多個(gè)RTSP協(xié)議客戶端,RTSP Proxy無法將RTSP Server返回的響應(yīng)消息發(fā)送給相應(yīng)的請求端RTSP Client,從而導(dǎo)致客戶端無法接收到該 響應(yīng)消息的問題,完善了 RTSP Proxy的功能,簡化了 RTSP Proxy的處理流程。圖6為本發(fā)明實(shí)施例中另一種實(shí)時(shí)流協(xié)議代理RTSP Proxy轉(zhuǎn)發(fā)數(shù)據(jù)的具體實(shí)現(xiàn) 方式流程圖,下面結(jié)合圖6對本發(fā)明實(shí)施例中另一種實(shí)時(shí)流協(xié)議代理RTSP Proxy轉(zhuǎn)發(fā)數(shù)據(jù) 的具體實(shí)現(xiàn)方式流程圖做具體描述。下面描述實(shí)時(shí)流協(xié)議代理RTSP Proxy不僅可以接收實(shí)時(shí)流協(xié)議客戶端關(guān)于會話 的RTSP消息外,還可以接收關(guān)于事務(wù)的RTSP消息,比如選項(xiàng)OPTIONS、查詢DESCRIBE、通告 ANNOUNCE等消息的應(yīng)用場景,消息流程只由一對請求和響應(yīng)消息完成,這類消息稱之為事 務(wù)類消息。Proxy只需要為這類消息創(chuàng)建事務(wù)。關(guān)于事務(wù)的關(guān)聯(lián)關(guān)系表中包含客戶端事務(wù) 標(biāo)識和業(yè)務(wù)標(biāo)識,與實(shí)時(shí)流協(xié)議服務(wù)器RTSP Server的交互消息攜帶該業(yè)務(wù)標(biāo)識,收到RTSP Server的響應(yīng)消息,根據(jù)業(yè)務(wù)標(biāo)識定位關(guān)聯(lián)關(guān)系表,把響應(yīng)消息轉(zhuǎn)發(fā)給client,整個(gè)事務(wù) 即結(jié)束,具體如下步驟S600,實(shí)時(shí)流協(xié)議客戶端RTSP Client發(fā)送實(shí)時(shí)流協(xié)議RTSP請求給實(shí)時(shí)流協(xié) 議代理 RTSP Proxy。其中,與所述RTSP Proxy連接的RTSP Client有多個(gè),所述請求消息可以為事務(wù) 請求消息。步驟S602,所述RTSP Proxy接收多個(gè)RTSP Client發(fā)送的RTSP請求,為所述RTSP Client分配所述客戶端的事務(wù)標(biāo)識和業(yè)務(wù)標(biāo)識,并生成所述實(shí)時(shí)流協(xié)議客戶端標(biāo)識和業(yè)務(wù) 標(biāo)識的關(guān)聯(lián)關(guān)系表。具體關(guān)于所述客戶端標(biāo)識為客戶端事務(wù)標(biāo)識時(shí),生成所述客戶端事務(wù)標(biāo)識和業(yè)務(wù) 標(biāo)識的事務(wù)關(guān)聯(lián)關(guān)系表如圖7所示。圖7為本發(fā)明實(shí)施例中一種事務(wù)關(guān)聯(lián)關(guān)系表,存儲在RTSP Proxy中,表中包括客 戶端事務(wù)標(biāo)識,是RTSP Proxy為所述RTSP Client分配的客戶端事務(wù)標(biāo)識,對于多個(gè)RTSP Client中各個(gè)RTSP Client發(fā)送的不同的RTSP請求,RTSP Proxy通過客戶端事務(wù)標(biāo)識來區(qū) 分是哪個(gè)RTSP Client發(fā)送的RTSP請求;所述業(yè)務(wù)標(biāo)識,用于RTSP Proxy區(qū)分RTSP Server 返回的響應(yīng)消息對應(yīng)的業(yè)務(wù)數(shù)據(jù)區(qū),也用于RTSP Server區(qū)分來之同一個(gè)RTSP Proxy的不 同會話請求。RTSP Proxy為一次會話分配一個(gè)業(yè)務(wù)標(biāo)識,在一次會話交互過程中,業(yè)務(wù)標(biāo) 識保持不變。例如RTSP Proxy生成客戶端事務(wù)標(biāo)識為“1”則可以表示為客戶端事務(wù)標(biāo) 識-1 ;業(yè)務(wù)標(biāo)識為“Y”,則表示為業(yè)務(wù)標(biāo)識-Y,下面的具體的實(shí)例中進(jìn)行了詳細(xì)的說明。步驟S604,RTSP Proxy將攜帶所述Service ID的RTSP請求轉(zhuǎn)發(fā)給實(shí)時(shí)流協(xié)議服 務(wù)器 RTSP Server。
具體為RTSP Proxy所述RTSP請求消息中通過擴(kuò)展的字段,攜帶所述業(yè)務(wù)標(biāo)識, 將所述消息發(fā)送給相應(yīng)的RTSP Server進(jìn)行處理,其中所述RTSP Server為多個(gè),但是具體 接收該RTSP請求為RTSP Proxy根據(jù)請求的內(nèi)容決定選擇多個(gè)RTSP Server中的具體一個(gè) RTSP Server來進(jìn)行處理。步驟S606,RTSP Server接收所述RTSP請求,根據(jù)所述請求,RTSPServer為來之 同一 Proxy的不同Service ID的請求消息進(jìn)行消息處理。步驟S607,返回RTSP響應(yīng)消息給響應(yīng)的RTSP Proxy,所述響應(yīng)消息中攜帶所述業(yè) 務(wù)標(biāo)識。步驟S608,RTSP Proxy接收RTSP Server返回的RTSP響應(yīng)消息,根據(jù)所述RTSP 響應(yīng)消息中攜帶的業(yè)務(wù)標(biāo)識為索引,通過查找RTSP Proxy中存儲的所述事務(wù)關(guān)聯(lián)關(guān)系表, 獲取客戶端事務(wù)標(biāo)識。步驟S610,RTSP Proxy將所述RTSP響應(yīng)消息轉(zhuǎn)發(fā)給與所述客戶端事務(wù)標(biāo)識對應(yīng) 的RTSP Client,使得所述RTSP Client接收所述RTSP Proxy返回的RTSP響應(yīng)消息。上述的交互流程也適用于一個(gè)RTSP Proxy需要與多個(gè)Server連接的應(yīng)用場景, 只需要在RTSP Proxy與多個(gè)RTSP Server之間的信令交互消息中攜帶所述業(yè)務(wù)標(biāo)識字段 即可。下面結(jié)合一個(gè)典型事務(wù)交互流程進(jìn)行具體描述,以RTSP請求消息為選項(xiàng)OPTIONS 消息為例該RTSP Client向RTSP Proxy發(fā)送Options消息,消息舉例如下C- > P OPT 10NS*RTSP/1. 0CSeq 0Require implicit-playProxy-Require :gzipped_messagesRTSP Proxy 首先生成客戶端事務(wù)標(biāo)識Client Transaction ID: ClientTransaction ID-1 和關(guān)聯(lián)的業(yè)務(wù)標(biāo)識 ServiceID :ServiceID_x,RTSP Proxy 轉(zhuǎn)發(fā) options消息給RTSP Server,消息中增加ServiceID字段,消息舉例如下(這里的所述客戶 端事務(wù)標(biāo)識用Client Transaction ID表示,業(yè)務(wù)標(biāo)識用ServiceID表示,但并不是表示唯 一使用Service ID表示業(yè)務(wù)標(biāo)識,僅以此為例進(jìn)行說明。所述業(yè)務(wù)標(biāo)識,用于RTSP Proxy 區(qū)分RTSPServer返回的響應(yīng)消息對應(yīng)的業(yè)務(wù)數(shù)據(jù)區(qū),也用于RTSP Server區(qū)分來之同一個(gè) RTSP Proxy的不同會話請求的。RTSP Proxy為一次會話分配一個(gè)業(yè)務(wù)標(biāo)識,在一次會話交 互過程中,業(yè)務(wù)標(biāo)識保持不變的均可以代表該業(yè)務(wù)標(biāo)識)P- > S OPT I ONS^RTSP/1. 0CSeq 0Require implicit-playProxy-Require :gzipped_messagesService-ID 1235RTSP Server處理后返回給RTSP Proxy的響應(yīng)消息中需要攜帶來自RTSP Proxy 的業(yè)務(wù)標(biāo)識ServiceID-x,舉例如下S- > P :RTSP/1. 0 200 OK
CSeq 0Public :DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSEService-ID : 1235RTSP Proxy根據(jù)業(yè)務(wù)標(biāo)識ServiceID-χ,查找事務(wù)關(guān)聯(lián)關(guān)系表,找到對應(yīng)的事務(wù)標(biāo) 識Client Transaction ID-I,根據(jù)事務(wù)標(biāo)識把響應(yīng)消息轉(zhuǎn)發(fā)給對應(yīng)的RTSP Client,消息 舉例如下P- > C :RTSP/1. 0 200 OKCSeq 0Public :DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE同樣,當(dāng)所述RTSP消息為DESCRIBE消息等其它事務(wù)消息時(shí),也可以通過上述流程 進(jìn)行處理,這里就不再贅述。本發(fā)明實(shí)施例提供另一種實(shí)時(shí)流協(xié)議代理RTSP Proxy轉(zhuǎn)發(fā)數(shù)據(jù)的具體實(shí)施方 法,通過接收來自多個(gè)實(shí)時(shí)流協(xié)議客戶端RTSP Client的實(shí)時(shí)流協(xié)議RTSP請求;根據(jù)所述 RTSP請求,生成所述實(shí)時(shí)流協(xié)議客戶端的事務(wù)標(biāo)識Client Transaction ID和業(yè)務(wù)標(biāo)識 Service ID的關(guān)聯(lián)關(guān)系表;將攜帶所述Service ID的RTSP請求轉(zhuǎn)發(fā)給實(shí)時(shí)流協(xié)議服務(wù)器 RTSP Server ;通過接收所述RTSP Server的RTSP響應(yīng)消息,并以RTSP響應(yīng)消息中攜帶的 所述Service ID為索引,查找所述關(guān)聯(lián)關(guān)系表,將所述RTSP響應(yīng)消息轉(zhuǎn)發(fā)給與所述Client Transaction ID對應(yīng)的所述RTSP Client,解決了 RTSPProxy接入多個(gè)RTSP協(xié)議客戶端, RTSP Proxy無法將RTSP Server返回的響應(yīng)消息發(fā)送給相應(yīng)的請求端RTSP Client,從而 導(dǎo)致客戶端無法接收到該響應(yīng)消息的問題,完善了 RTSP Proxy的功能,簡化了 RTSP Proxy 的處理流程。如圖8所示,圖8為本發(fā)明實(shí)施例中一種實(shí)時(shí)流協(xié)議代理RTSP Proxy轉(zhuǎn)發(fā)數(shù)據(jù)的 裝置結(jié)構(gòu)圖,包括第一接收單元800,用于接收來自多個(gè)實(shí)時(shí)流協(xié)議客戶端的第一實(shí)時(shí)流協(xié)議RTSP 請求;關(guān)聯(lián)關(guān)系表生成單元802,用于根據(jù)所述RTSP請求,為所述實(shí)時(shí)流協(xié)議客戶端分 配所述客戶端標(biāo)識和業(yè)務(wù)標(biāo)識,并生成所述客戶端標(biāo)識和業(yè)務(wù)標(biāo)識的關(guān)聯(lián)關(guān)系表;第一發(fā)送單元804,用于將攜帶所述業(yè)務(wù)標(biāo)識的RTSP請求轉(zhuǎn)發(fā)給實(shí)時(shí)流協(xié)議服務(wù) 器;第二接收單元806,用于接收所述實(shí)時(shí)流協(xié)議服務(wù)器的第一 RTSP響應(yīng)消息,所述 RTSP響應(yīng)消息中攜帶所述業(yè)務(wù)標(biāo)識;第二發(fā)送單元808,用于以所述第二接收單元接收的RTSP響應(yīng)消息中攜帶的業(yè)務(wù) 標(biāo)識為索引,通過查找所述關(guān)聯(lián)關(guān)系表獲得客戶端標(biāo)識,將所述RTSP響應(yīng)消息轉(zhuǎn)發(fā)給與所 述客戶端標(biāo)識對應(yīng)的實(shí)時(shí)流協(xié)議客戶端。其中,當(dāng)所述客戶端標(biāo)識為所述客戶端事務(wù)標(biāo)識時(shí),所述關(guān)聯(lián)關(guān)系表生成單元802 具體用于為所述實(shí)時(shí)流協(xié)議客戶端分配客戶端事務(wù)標(biāo)識和業(yè)務(wù)標(biāo)識,并生成所述客戶端事 務(wù)標(biāo)識和所述業(yè)務(wù)標(biāo)識的關(guān)聯(lián)關(guān)系表。當(dāng)所述客戶端標(biāo)識為所述客戶端的會話標(biāo)識時(shí),所述關(guān)聯(lián)關(guān)系表生成單元具體用 于為所述實(shí)時(shí)流協(xié)議客戶端分配所述客戶端的會話標(biāo)識和業(yè)務(wù)標(biāo)識;生成所述客戶端會話標(biāo)識、業(yè)務(wù)標(biāo)識和所述實(shí)時(shí)流協(xié)議服務(wù)器為所述實(shí)時(shí)流協(xié)議客戶端分配的服務(wù)器會話標(biāo)識 的關(guān)聯(lián)關(guān)系表,其中所述服務(wù)器會話標(biāo)識通過接收所述實(shí)時(shí)流協(xié)議服務(wù)器的RTSP響應(yīng)消
息獲得。并且,當(dāng)所述客戶端標(biāo)識為所述客戶端的會話標(biāo)識時(shí),所述裝置還包括所述第一接收單元800,還用于接收來自所述實(shí)時(shí)流協(xié)議客戶端的第二實(shí)時(shí)流協(xié) 議RTSP請求,所述請求中攜帶所述客戶端會話標(biāo)識;獲取單元810,用于以所述第一接收單元的所述客戶端會話標(biāo)識為索引,過查找所 述關(guān)聯(lián)關(guān)系表,獲得與所述客戶端對應(yīng)的所述服務(wù)器會話標(biāo)識和業(yè)務(wù)標(biāo)識;所述第一發(fā)送單元804,還用于將所述服務(wù)器會話標(biāo)識和業(yè)務(wù)標(biāo)識攜帶在所述第 二 RTSP請求中,轉(zhuǎn)發(fā)給與所述服務(wù)器會話標(biāo)識對應(yīng)的實(shí)時(shí)流協(xié)議服務(wù)器,使得所述實(shí)時(shí)流 協(xié)議服務(wù)器根據(jù)所述服務(wù)器會話標(biāo)識進(jìn)行會話處理;所述第二接收單元806,還用于接收所述實(shí)時(shí)流協(xié)議服務(wù)器返回的第二 RTSP響應(yīng) 消息,所述第二 RTSP響應(yīng)消息中攜帶所述業(yè)務(wù)標(biāo)識;所述第二發(fā)送單元808,還用于以所述第二接收單元接收的所述事務(wù)標(biāo)識為索引, 通過查找所述關(guān)聯(lián)關(guān)系表獲得與所述業(yè)務(wù)標(biāo)識對應(yīng)的客戶端標(biāo)識,將所述第二 RTSP響應(yīng) 消息轉(zhuǎn)發(fā)給與所述客戶端標(biāo)識對應(yīng)的所述實(shí)時(shí)流協(xié)議客戶端。需要說明的是該實(shí)時(shí)流協(xié)議代理RTSP Proxy轉(zhuǎn)發(fā)數(shù)據(jù)的裝置中的各個(gè)模塊可 以內(nèi)置于一種實(shí)時(shí)流協(xié)議代理RTSP Proxy中,也可以為獨(dú)立的裝置,該裝置的各部分的交 互過程可以參見對圖3和圖6的實(shí)施例的描述,這里就不再贅述。本發(fā)明實(shí)施例提供一種實(shí)時(shí)流協(xié)議代理RTSP Proxy轉(zhuǎn)發(fā)數(shù)據(jù)的裝置,通過該裝置 各個(gè)模塊的相互交互,將RTSP服務(wù)器返回的RTSP響應(yīng)消息通過所述實(shí)時(shí)流協(xié)議客戶端標(biāo) 識和業(yè)務(wù)標(biāo)識的關(guān)聯(lián)關(guān)系表轉(zhuǎn)發(fā)給與所述客戶端標(biāo)識對應(yīng)的所述RTSP Client,解決了實(shí) 時(shí)流協(xié)議代理無法區(qū)分服務(wù)器返回的響應(yīng)消息所歸屬的實(shí)時(shí)流協(xié)議客戶端,從而導(dǎo)致客戶 端無法接收到該響應(yīng)消息的問題,完善了 RTSP Proxy的功能,簡化了實(shí)時(shí)流協(xié)議代理的處 理流程。如圖9所示,圖9為本發(fā)明實(shí)施例中的一種實(shí)時(shí)流協(xié)議代理RTSP Proxy轉(zhuǎn)發(fā)數(shù)據(jù) 的系統(tǒng)結(jié)構(gòu)圖,包括多個(gè)實(shí)時(shí)流協(xié)議客戶端RTSP Client902、實(shí)時(shí)流協(xié)議代理RTSPProxy904和實(shí)時(shí) 流協(xié)議服務(wù)器RTSP Server906 ;所述RTSP Client902,與所述實(shí)時(shí)流協(xié)議代理相連接,用于發(fā)送第一實(shí)時(shí)流協(xié)議 RTSP請求給所述實(shí)時(shí)流協(xié)議代理,并接收所述實(shí)時(shí)流協(xié)議代理返回的RTSP響應(yīng)消息;所述實(shí)時(shí)流協(xié)議代理RTSP Proxy904,分別與所述實(shí)時(shí)流協(xié)議客戶端和所述實(shí)時(shí) 流協(xié)議服務(wù)器相連接,用于接收來自多個(gè)實(shí)時(shí)流協(xié)議客戶端的第一實(shí)時(shí)流協(xié)議RTSP請求; 根據(jù)所述RTSP請求,為所述實(shí)時(shí)流協(xié)議客戶端分配所述客戶端標(biāo)識和業(yè)務(wù)標(biāo),并生成所述 實(shí)時(shí)流協(xié)議客戶端標(biāo)識和業(yè)務(wù)標(biāo)識的關(guān)聯(lián)關(guān)系表;將攜帶所述業(yè)務(wù)標(biāo)識的RTSP請求轉(zhuǎn)發(fā) 給實(shí)時(shí)流協(xié) 議服務(wù)器;并接收所述服務(wù)器的RTSP響應(yīng)消息,所述RTSP響應(yīng)消息中攜帶所述 業(yè)務(wù)標(biāo)識,并以所述業(yè)務(wù)標(biāo)識為索引,通過查找所述關(guān)聯(lián)關(guān)系表獲得于所述業(yè)務(wù)標(biāo)識對應(yīng) 的所述客戶端標(biāo)識,將所述RTSP響應(yīng)消息轉(zhuǎn)發(fā)給與所述客戶端標(biāo)識對應(yīng)的所述實(shí)時(shí)流協(xié) 議客戶端;
所述實(shí)時(shí)流協(xié)議服務(wù)器RTSP Server906,與所述實(shí)時(shí)流協(xié)議代理相連接,用于接 收所述實(shí)時(shí)流協(xié)議代理發(fā)送的第一 RTSP請求,根據(jù)不同的所述業(yè)務(wù)標(biāo)識,為所述實(shí)時(shí)流協(xié) 議客戶端建立不同的會話,并返回所述RTSP響應(yīng)消息給所述實(shí)時(shí)流協(xié)議代理,其中,所述 RTSP響應(yīng)消息中攜帶所述業(yè)務(wù)標(biāo)識。當(dāng)所述客戶端標(biāo)識為客戶端會話標(biāo)識時(shí),所述實(shí)時(shí)流協(xié)議代理具體用于根據(jù)所述RTSP請求,為所述實(shí)時(shí)流協(xié)議客戶端分 配所述客戶端標(biāo)識和業(yè)務(wù)標(biāo)識,并生成所述客戶端標(biāo)識和業(yè)務(wù)標(biāo)識的關(guān)聯(lián)關(guān)系表;所述實(shí)時(shí)流協(xié)議服務(wù)器還用于獲取并存儲所述服務(wù)器為所述客戶端分配的所述 服務(wù)器會話標(biāo)識和所述業(yè)務(wù)標(biāo)識的關(guān)聯(lián)關(guān)系表,其中,所述業(yè)務(wù)標(biāo)識從所述RTSP請求消息 中獲取。當(dāng)所述客戶端標(biāo)識為所述客戶端會話標(biāo)識時(shí),所述實(shí)時(shí)流協(xié)議客戶端,還用于發(fā)送第二實(shí)時(shí)流協(xié)議RTSP請求給所述實(shí)時(shí)流協(xié) 議代理,所述請求中攜帶所述客戶端會話標(biāo)識,以及接收所述實(shí)時(shí)流協(xié)議代理返回的第二 RTSP響應(yīng);所述實(shí)時(shí)流協(xié)議代理,還用于接收所述第二 RTSP請求,將所述客戶端會話標(biāo)識為 索引,過查找所述關(guān)聯(lián)關(guān)系表,獲得與客戶端會話標(biāo)識對應(yīng)的所述服務(wù)器會話標(biāo)識和業(yè)務(wù) 標(biāo)識,將所述服務(wù)器會話標(biāo)識和業(yè)務(wù)標(biāo)識攜帶在所述第二 RTSP請求中,轉(zhuǎn)發(fā)給與所述服務(wù) 器會話標(biāo)識對應(yīng)的實(shí)時(shí)流協(xié)議服務(wù)器;并接收所述實(shí)時(shí)流協(xié)議服務(wù)器返回的第二 RTSP響 應(yīng)消息,所述第二 RTSP響應(yīng)消息中攜帶所述業(yè)務(wù)標(biāo)識;以所述業(yè)務(wù)標(biāo)識為索引,通過查找 所述關(guān)聯(lián)關(guān)系表獲取與所述業(yè)務(wù)標(biāo)識對應(yīng)的客戶端會話標(biāo)識,將所述RTSP響應(yīng)消息轉(zhuǎn)發(fā) 給與所述客戶端會話標(biāo)識對應(yīng)的所述實(shí)時(shí)流協(xié)議客戶端;所述實(shí)時(shí)流協(xié)議服務(wù)器,還用于接收所述實(shí)時(shí)流協(xié)議代理轉(zhuǎn)發(fā)的所述第二 RTSP 請求,根據(jù)所述請求中攜帶的所述服務(wù)器會話標(biāo)識對所述會話進(jìn)行處理,并返回第二 RTSP 響應(yīng)消息給所述實(shí)時(shí)流協(xié)議代理,所述第二 RTSP響應(yīng)消息中攜帶所述業(yè)務(wù)標(biāo)識。當(dāng)所客戶端標(biāo)識為所述客戶端事務(wù)標(biāo)識時(shí),所述實(shí)時(shí)流協(xié)議代理具體用于根據(jù)所述RTSP請求,為所述實(shí)時(shí)流協(xié)議客戶端分 配客戶端事務(wù)標(biāo)識和業(yè)務(wù)標(biāo)識,并生成所述客戶端事務(wù)標(biāo)識和所述業(yè)務(wù)標(biāo)識的關(guān)聯(lián)關(guān)系表。本發(fā)明實(shí)施例提供一種實(shí)時(shí)流協(xié)議代理RTSP Proxy轉(zhuǎn)發(fā)數(shù)據(jù)的系統(tǒng),通過系統(tǒng) 中的RTSP Client、RTSP Proxy和RTSP Server之間的相互交互,將RTSP服務(wù)器返回的 RTSP響應(yīng)消息通過所述實(shí)時(shí)流協(xié)議客戶端標(biāo)識和業(yè)務(wù)標(biāo)識D的關(guān)聯(lián)關(guān)系表轉(zhuǎn)發(fā)給與所述 客戶端標(biāo)識對應(yīng)的所述RTSP Client,解決了實(shí)時(shí)流協(xié)議代理無法區(qū)分服務(wù)器返回的響應(yīng) 消息所歸屬的實(shí)時(shí)流協(xié)議客戶端,從而導(dǎo)致客戶端無法接收到該響應(yīng)消息的問題,完善了 RTSPProxy的功能,簡化了實(shí)時(shí)流協(xié)議代理的處理流程。通過以上的實(shí)施方式的描述,本領(lǐng)域的 技術(shù)人員可以清楚地了解到本發(fā)明可借助 軟件加必需的通用硬件平臺的方式來或通過硬件來實(shí)現(xiàn),基于這樣的理解,本發(fā)明的技術(shù) 方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī) 軟件產(chǎn)品存儲在一個(gè)存儲介質(zhì)中,包括若干指令用以使一臺終端設(shè)備(可以是手機(jī),個(gè)人 計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng) 視本發(fā)明的保護(hù)范圍。
權(quán)利要求
一種實(shí)時(shí)流協(xié)議代理轉(zhuǎn)發(fā)數(shù)據(jù)的方法,其特征在于,包括接收來自多個(gè)實(shí)時(shí)流協(xié)議客戶端的第一實(shí)時(shí)流協(xié)議RTSP請求;根據(jù)所述RTSP請求,為所述實(shí)時(shí)流協(xié)議客戶端分配客戶端標(biāo)識和業(yè)務(wù)標(biāo)識,并生成所述客戶端標(biāo)識和業(yè)務(wù)標(biāo)識的關(guān)聯(lián)關(guān)系表;將攜帶所述業(yè)務(wù)標(biāo)識的RTSP請求轉(zhuǎn)發(fā)給實(shí)時(shí)流協(xié)議服務(wù)器;接收所述實(shí)時(shí)流協(xié)議服務(wù)器的第一RTSP響應(yīng)消息,所述第一RTSP響應(yīng)消息中攜帶所述業(yè)務(wù)標(biāo)識,并以所述業(yè)務(wù)標(biāo)識為索引,通過查找所述關(guān)聯(lián)關(guān)系表獲得客戶端標(biāo)識,將所述第一RTSP響應(yīng)消息轉(zhuǎn)發(fā)給與所述客戶端標(biāo)識對應(yīng)的實(shí)時(shí)流協(xié)議客戶端。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,當(dāng)所述客戶端標(biāo)識為客戶端事務(wù)標(biāo)識時(shí), 所述為所述實(shí)時(shí)流協(xié)議客戶端分配所述客戶端標(biāo)識和業(yè)務(wù)標(biāo)識,并生成所述客戶端標(biāo)識和 業(yè)務(wù)標(biāo)識的關(guān)聯(lián)關(guān)系表具體包括為所述實(shí)時(shí)流協(xié)議客戶端分配客戶端事務(wù)標(biāo)識和業(yè)務(wù)標(biāo)識,并生成所述客戶端事務(wù)標(biāo) 識和所述業(yè)務(wù)標(biāo)識的關(guān)聯(lián)關(guān)系表。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,當(dāng)所述客戶端標(biāo)識為所述客戶端的會話 標(biāo)識時(shí),所述為所述實(shí)時(shí)流協(xié)議客戶端分配所述客戶端標(biāo)識和業(yè)務(wù)標(biāo)識,并生成所述客戶 端標(biāo)識和業(yè)務(wù)標(biāo)識的關(guān)聯(lián)關(guān)系表具體包括為所述實(shí)時(shí)流協(xié)議客戶端分配所述客戶端的會話標(biāo)識和業(yè)務(wù)標(biāo)識; 生成所述客戶端會話標(biāo)識、業(yè)務(wù)標(biāo)識和所述實(shí)時(shí)流協(xié)議服務(wù)器為所述實(shí)時(shí)流協(xié)議客戶 端分配的服務(wù)器會話標(biāo)識的關(guān)聯(lián)關(guān)系表,其中所述服務(wù)器會話標(biāo)識通過接收所述實(shí)時(shí)流協(xié) 議服務(wù)器的RTSP響應(yīng)消息獲得。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述方法還包括接收來自所述實(shí)時(shí)流協(xié)議客戶端的第二實(shí)時(shí)流協(xié)議RTSP請求,所述請求中攜帶所述 客戶端會話標(biāo)識;以所述客戶端會話標(biāo)識為索引,過查找所述關(guān)聯(lián)關(guān)系表,獲得與所述客戶端對應(yīng)的所 述服務(wù)器會話標(biāo)識和業(yè)務(wù)標(biāo)識;將所述服務(wù)器會話標(biāo)識和業(yè)務(wù)標(biāo)識攜帶在所述第二 RTSP請求中,轉(zhuǎn)發(fā)給與所述服務(wù) 器會話標(biāo)識對應(yīng)的實(shí)時(shí)流協(xié)議服務(wù)器,使得所述實(shí)時(shí)流協(xié)議服務(wù)器根據(jù)所述服務(wù)器會話標(biāo) 識進(jìn)行會話處理;接收所述實(shí)時(shí)流協(xié)議服務(wù)器返回的第二 RTSP響應(yīng)消息,所述第二 RTSP響應(yīng)消息中攜 帶所述業(yè)務(wù)標(biāo)識,并以所述業(yè)務(wù)標(biāo)識為索引,通過查找所述關(guān)聯(lián)關(guān)系表獲得與所述業(yè)務(wù)標(biāo) 識對應(yīng)的客戶端標(biāo)識,將所述第二 RTSP響應(yīng)消息轉(zhuǎn)發(fā)給與所述客戶端標(biāo)識對應(yīng)的所述實(shí) 時(shí)流協(xié)議客戶端。
5.一種實(shí)時(shí)流協(xié)議代理轉(zhuǎn)發(fā)數(shù)據(jù)的裝置,其特征在于,包括第一接收單元,用于接收來自多個(gè)實(shí)時(shí)流協(xié)議客戶端的第一實(shí)時(shí)流協(xié)議RTSP請求; 關(guān)聯(lián)關(guān)系表生成單元,用于根據(jù)所述RTSP請求,為所述實(shí)時(shí)流協(xié)議客戶端分配所述客 戶端標(biāo)識和業(yè)務(wù)標(biāo)識,并生成所述客戶端標(biāo)識和業(yè)務(wù)標(biāo)識的關(guān)聯(lián)關(guān)系表;第一發(fā)送單元,用于將攜帶所述業(yè)務(wù)標(biāo)識的RTSP請求轉(zhuǎn)發(fā)給實(shí)時(shí)流協(xié)議服務(wù)器; 第二接收單元,用于接收所述實(shí)時(shí)流協(xié)議服務(wù)器的第一 RTSP響應(yīng)消息,所述RTSP響應(yīng) 消息中攜帶所述業(yè)務(wù)標(biāo)識;第二發(fā)送單元,用于以所述第二接收單元接收的RTSP響應(yīng)消息中攜帶的業(yè)務(wù)標(biāo)識為 索引,通過查找所述關(guān)聯(lián)關(guān)系表獲得客戶端標(biāo)識,將所述RTSP響應(yīng)消息轉(zhuǎn)發(fā)給與所述客戶 端標(biāo)識對應(yīng)的實(shí)時(shí)流協(xié)議客戶端。
6.根據(jù)權(quán)利要求5所述的裝置,其特征在于,當(dāng)所戶端標(biāo)識為所述客戶端事務(wù)標(biāo)識時(shí), 所述關(guān)聯(lián)關(guān)系表生成單元具體用于為所述實(shí)時(shí)流協(xié)議客戶端分配客戶端事務(wù)標(biāo)識和業(yè)務(wù) 標(biāo)識,并生成所述客戶端事務(wù)標(biāo)識和所述業(yè)務(wù)標(biāo)識的關(guān)聯(lián)關(guān)系表。
7.根據(jù)權(quán)利要求5所述的裝置,其特征在于,當(dāng)所述客戶端標(biāo)識為所述客戶端的會話 標(biāo)識時(shí),所述關(guān)聯(lián)關(guān)系表生成單元具體用于為所述實(shí)時(shí)流協(xié)議客戶端分配所述客戶端的會 話標(biāo)識和業(yè)務(wù)標(biāo)識;生成所述客戶端會話標(biāo)識、業(yè)務(wù)標(biāo)識和所述實(shí)時(shí)流協(xié)議服務(wù)器為所述 實(shí)時(shí)流協(xié)議客戶端分配的服務(wù)器會話標(biāo)識的關(guān)聯(lián)關(guān)系表,其中所述服務(wù)器會話標(biāo)識通過接 收所述實(shí)時(shí)流協(xié)議服務(wù)器的RTSP響應(yīng)消息獲得。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,當(dāng)所述客戶端標(biāo)識為所述客戶端的會話 標(biāo)識時(shí),所述裝置還包括所述第一接收單元,還用于接收來自所述實(shí)時(shí)流協(xié)議客戶端的第二實(shí)時(shí)流協(xié)議RTSP 請求,所述請求中攜帶所述客戶端會話標(biāo)識;獲取單元,用于以所述第一接收單元的所述客戶端會話標(biāo)識為索引,過查找所述關(guān)聯(lián) 關(guān)系表,獲得與所述客戶端對應(yīng)的所述服務(wù)器會話標(biāo)識和業(yè)務(wù)標(biāo)識;所述第一發(fā)送單元,還用于將所述服務(wù)器會話標(biāo)識和業(yè)務(wù)標(biāo)識攜帶在所述第二 RTSP 請求中,轉(zhuǎn)發(fā)給與所述服務(wù)器會話標(biāo)識對應(yīng)的實(shí)時(shí)流協(xié)議服務(wù)器,使得所述實(shí)時(shí)流協(xié)議服 務(wù)器根據(jù)所述服務(wù)器會話標(biāo)識進(jìn)行會話處理;所述第二接收單元,還用于接收所述實(shí)時(shí)流協(xié)議服務(wù)器返回的第二 RTSP響應(yīng)消息,所 述第二 RTSP響應(yīng)消息中攜帶所述業(yè)務(wù)標(biāo)識;所述第二發(fā)送單元,還用于以所述第二接收單元接收的所述業(yè)務(wù)標(biāo)識為索引,通過查 找所述關(guān)聯(lián)關(guān)系表獲得與所述業(yè)務(wù)標(biāo)識對應(yīng)的客戶端標(biāo)識,將所述第二 RTSP響應(yīng)消息轉(zhuǎn) 發(fā)給與所述客戶端標(biāo)識對應(yīng)的所述實(shí)時(shí)流協(xié)議客戶端。
9.一種實(shí)時(shí)流協(xié)議代理轉(zhuǎn)發(fā)數(shù)據(jù)的系統(tǒng),其特征在于,包括多個(gè)實(shí)時(shí)流協(xié)議客戶端、 實(shí)時(shí)流協(xié)議代理和實(shí)時(shí)流協(xié)議服務(wù)器;所述實(shí)時(shí)流協(xié)議客戶端,與所述實(shí)時(shí)流協(xié)議代理相連接,用于發(fā)送第一實(shí)時(shí)流協(xié)議 RTSP請求給所述實(shí)時(shí)流協(xié)議代理,并接收所述實(shí)時(shí)流協(xié)議代理返回的RTSP響應(yīng)消息;所述實(shí)時(shí)流協(xié)議代理,分別與所述實(shí)時(shí)流協(xié)議客戶端和所述實(shí)時(shí)流協(xié)議服務(wù)器相連 接,用于接收來自多個(gè)實(shí)時(shí)流協(xié)議客戶端的第一實(shí)時(shí)流協(xié)議RTSP請求;根據(jù)所述RTSP請 求,為所述實(shí)時(shí)流協(xié)議客戶端分配所述客戶端標(biāo)識和業(yè)務(wù)標(biāo),并生成所述實(shí)時(shí)流協(xié)議客戶 端標(biāo)識和業(yè)務(wù)標(biāo)識的關(guān)聯(lián)關(guān)系表;將攜帶所述業(yè)務(wù)標(biāo)識的RTSP請求轉(zhuǎn)發(fā)給實(shí)時(shí)流協(xié)議服 務(wù)器;并接收所述服務(wù)器的RTSP響應(yīng)消息,所述RTSP響應(yīng)消息中攜帶所述業(yè)務(wù)標(biāo)識,并以 所述業(yè)務(wù)標(biāo)識為索引,通過查找所述關(guān)聯(lián)關(guān)系表獲得于所述業(yè)務(wù)標(biāo)識對應(yīng)的所述客戶端標(biāo) 識,將所述RTSP響應(yīng)消息轉(zhuǎn)發(fā)給與所述客戶端標(biāo)識對應(yīng)的所述實(shí)時(shí)流協(xié)議客戶端;所述實(shí)時(shí)流協(xié)議服務(wù)器,與所述實(shí)時(shí)流協(xié)議代理相連接,用于接收所述實(shí)時(shí)流協(xié)議代 理發(fā)送的第一 RTSP請求,根據(jù)不同的所述業(yè)務(wù)標(biāo)識,為所述實(shí)時(shí)流協(xié)議客戶端建立不同的 會話,并返回所述RTSP響應(yīng)消息給所述實(shí)時(shí)流協(xié)議代理,其中,所述RTSP響應(yīng)消息中攜帶所述業(yè)務(wù)標(biāo)識。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,當(dāng)所述客戶端標(biāo)識為客戶端會話標(biāo)識時(shí),所述實(shí)時(shí)流協(xié)議代理具體用于根據(jù)所述RTSP請求,為所述實(shí)時(shí)流協(xié)議客戶端分配所 述客戶端標(biāo)識和業(yè)務(wù)標(biāo)識,并生成所述客戶端標(biāo)識和業(yè)務(wù)標(biāo)識的關(guān)聯(lián)關(guān)系表;所述實(shí)時(shí)流協(xié)議服務(wù)器還用于獲取并存儲所述服務(wù)器為所述客戶端分配的所述服務(wù) 器會話標(biāo)識和所述業(yè)務(wù)標(biāo)識的關(guān)聯(lián)關(guān)系表,其中,所述業(yè)務(wù)標(biāo)識從所述RTSP請求消息中獲取。
11.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,當(dāng)所述客戶端標(biāo)識為所述客戶端會話標(biāo) 識時(shí),所述實(shí)時(shí)流協(xié)議客戶端,還用于發(fā)送第二實(shí)時(shí)流協(xié)議RTSP請求給所述實(shí)時(shí)流協(xié)議代 理,所述請求中攜帶所述客戶端會話標(biāo)識,以及接收所述實(shí)時(shí)流協(xié)議代理返回的第二 RTSP 響應(yīng);所述實(shí)時(shí)流協(xié)議代理,還用于接收所述第二 RTSP請求,將所述客戶端會話標(biāo)識為索 引,過查找所述關(guān)聯(lián)關(guān)系表,獲得與客戶端會話標(biāo)識對應(yīng)的所述服務(wù)器會話標(biāo)識和業(yè)務(wù)標(biāo) 識,將所述服務(wù)器會話標(biāo)識和業(yè)務(wù)標(biāo)識攜帶在所述第二 RTSP請求中,轉(zhuǎn)發(fā)給與所述服務(wù)器 會話標(biāo)識對應(yīng)的實(shí)時(shí)流協(xié)議服務(wù)器;并接收所述實(shí)時(shí)流協(xié)議服務(wù)器返回的第二 RTSP響應(yīng) 消息,所述第二 RTSP響應(yīng)消息中攜帶所述業(yè)務(wù)標(biāo)識;以所述業(yè)務(wù)標(biāo)識為索引,通過查找所 述關(guān)聯(lián)關(guān)系表獲取與所述業(yè)務(wù)標(biāo)識對應(yīng)的客戶端會話標(biāo)識,將所述RTSP響應(yīng)消息轉(zhuǎn)發(fā)給 與所述客戶端會話標(biāo)識對應(yīng)的所述實(shí)時(shí)流協(xié)議客戶端;所述實(shí)時(shí)流協(xié)議服務(wù)器,還用于接收所述實(shí)時(shí)流協(xié)議代理轉(zhuǎn)發(fā)的所述第二 RTSP請求, 根據(jù)所述請求中攜帶的所述服務(wù)器會話標(biāo)識對所述會話進(jìn)行處理,并返回第二 RTSP響應(yīng) 消息給所述實(shí)時(shí)流協(xié)議代理,所述第二 RTSP響應(yīng)消息中攜帶所述業(yè)務(wù)標(biāo)識。
12.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,當(dāng)所客戶端標(biāo)識為所述客戶端事務(wù)標(biāo)識時(shí),所述實(shí)時(shí)流協(xié)議代理具體用于根據(jù)所述RTSP請求,為所述實(shí)時(shí)流協(xié)議客戶端分配客 戶端事務(wù)標(biāo)識和業(yè)務(wù)標(biāo)識,并生成所述客戶端事務(wù)標(biāo)識和所述業(yè)務(wù)標(biāo)識的關(guān)聯(lián)關(guān)系表。
全文摘要
本發(fā)明實(shí)施例公開了一種實(shí)時(shí)流協(xié)議代理轉(zhuǎn)發(fā)數(shù)據(jù)的方法、裝置和系統(tǒng),該方法包括通過實(shí)時(shí)流協(xié)議代理接收實(shí)時(shí)流協(xié)議客戶端的實(shí)時(shí)流協(xié)議RTSP請求;根據(jù)所述RTSP請求,生成客戶端標(biāo)識和業(yè)務(wù)標(biāo)識的關(guān)聯(lián)關(guān)系表;根據(jù)該關(guān)聯(lián)關(guān)系表,將所述RTSP響應(yīng)消息轉(zhuǎn)發(fā)給與所述客戶端標(biāo)識對應(yīng)的實(shí)時(shí)流協(xié)議客戶端,解決了實(shí)時(shí)流協(xié)議代理無法區(qū)分服務(wù)器返回的響應(yīng)消息所歸屬的實(shí)時(shí)流協(xié)議客戶端,從而導(dǎo)致客戶端無法接收到該響應(yīng)消息的問題,完善了RTSP Proxy的功能,簡化了實(shí)時(shí)流協(xié)議代理的處理流程。
文檔編號H04L12/56GK101989978SQ200910109558
公開日2011年3月23日 申請日期2009年8月5日 優(yōu)先權(quán)日2009年8月5日
發(fā)明者宋偉, 殷悅, 韓磊 申請人:華為技術(shù)有限公司