本發(fā)明涉及通信領(lǐng)域,具體而言,涉及一種用于視頻會議的數(shù)據(jù)傳輸方法、裝置及系統(tǒng)。
背景技術(shù):
目前,視頻會議和VoIP通話已經(jīng)廣泛應(yīng)用于人們的日常生活和工作中。借助專業(yè)級的視頻會議設(shè)備、移動終端、軟件視頻會議終端的遠(yuǎn)程會議、遠(yuǎn)程醫(yī)療、遠(yuǎn)程教育等技術(shù)都在蓬勃發(fā)展。人們已經(jīng)在享受著由這些技術(shù)隨時隨地面對面對話的便捷。
但是,IPv4地址的匱乏和IPv6發(fā)展的不成熟,使得很多企業(yè)、家庭、酒店都會搭建IPv4私有網(wǎng)絡(luò)。當(dāng)從這些網(wǎng)絡(luò)接入互聯(lián)網(wǎng)的視頻會議服務(wù)器時,很多SIP和H323協(xié)議接入的系統(tǒng)面臨NAT穿越的問題。NAT穿越問題會導(dǎo)致視頻會議召開失敗,或者召開會議后無媒體碼流,其它端看不到圖像聽不到聲音?,F(xiàn)有技術(shù)解決NAT穿越問題的方法是部署支撐視頻會議信令和媒體NAT穿越的服務(wù)器。但是,集中部署NAT穿越服務(wù)器面臨著服務(wù)器性能壓力、接入帶寬受限、前期投入大、容災(zāi)能力差等問題。
針對相關(guān)技術(shù)中集中部署NAT穿越服務(wù)器造成服務(wù)器性能壓力的問題,目前尚未提出有效的解決方案。
技術(shù)實現(xiàn)要素:
本發(fā)明提供了一種用于視頻會議的數(shù)據(jù)傳輸方法、裝置及系統(tǒng),以至少解決相關(guān)技術(shù)中相關(guān)技術(shù)中通過集中部署NAT穿越服務(wù)器來實現(xiàn)視頻會議系統(tǒng)NAT穿越,而導(dǎo)致的視頻會議系統(tǒng)運行效率低和成本高的問題。
根據(jù)本發(fā)明的一個方面,提供了一種用于視頻會議的數(shù)據(jù)傳輸方法,包括:信令處理器接收視頻會議的呼叫請求,其中,呼叫請求為源終端呼叫目標(biāo)終端時發(fā)起的請求;信令處理器在接收到呼叫請求后,根據(jù)獲取的多個媒體處理器的拓?fù)潢P(guān)系和多個媒體處理器的狀態(tài)信息,從多個媒體處理器中選擇出一個媒體處理器;信令處理器將選擇的媒體處理器通知給源終端和目標(biāo)終端,其中,選擇的媒體處理器用于轉(zhuǎn)發(fā)源終端和目標(biāo)終端之間的視頻會議的碼流。
進(jìn)一步地,信令處理器將選擇的媒體處理器通知給源終端和目標(biāo)終端包括:信令處理器將呼叫請求和選擇的媒體處理器的標(biāo)識信息轉(zhuǎn)發(fā)至目標(biāo)終端;在目標(biāo)終端響應(yīng)呼叫請求后,信令處理器將標(biāo)識信息轉(zhuǎn)發(fā)至源終端。
進(jìn)一步地,在信令處理器將選擇的媒體處理器通知給源終端和目標(biāo)終端之前,方法還包括:信令處理器向選擇的媒體處理器發(fā)送資源請求;信令處理器接收選擇的媒體處理器發(fā)送的指示信息,指示信息用于指示選擇的媒體處理器允許分配資源請求所請求的資源。
進(jìn)一步地,源終端為視頻會議客戶端,目標(biāo)終端為視頻會議服務(wù)器,或者源終端為視頻會議服務(wù)器,目標(biāo)終端為視頻會議客戶端。
進(jìn)一步地,信令處理器在接收到呼叫請求后,根據(jù)獲取的多個媒體處理器的拓?fù)潢P(guān)系和多個媒體處理器的狀態(tài)信息,從多個媒體處理器中選擇出一個媒體處理器包括:信令處理器判斷視頻會議客戶端是否位于私網(wǎng),其中,信令處理器在判斷出視頻會議客戶端位于私網(wǎng)的情況下,根據(jù)拓?fù)潢P(guān)系和狀態(tài)信息,從多個媒體處理器中選擇出媒體處理器。
進(jìn)一步地,在信令處理器接收視頻會議的呼叫請求之前,方法還包括:視頻會議客戶端獲取多個信令處理器的地址信息;視頻會議客戶端按照預(yù)設(shè)條件從多個信令處理器中選擇出一個信令處理器;視頻會議客戶端注冊到選擇的信令處理器上,其中,選擇的信令處理器用于接收視頻會議客戶端呼叫視頻會議服務(wù)器時發(fā)起的呼叫請求,或者視頻會議服務(wù)器呼叫視頻會議客戶端時發(fā)起的呼叫請求。
進(jìn)一步地,視頻會議客戶端注冊到選擇的信令處理器上包括:信令處理器接收視頻會議客戶端發(fā)送的注冊消息;信令處理器將注冊消息轉(zhuǎn)發(fā)至視頻會議服務(wù)器;信令處理器接收到視頻會議服務(wù)器返回的注冊響應(yīng),將注冊響應(yīng)轉(zhuǎn)發(fā)至視頻會議客戶端。
進(jìn)一步地,方法還包括:媒體處理器按照預(yù)設(shè)周期向多個信令處理器發(fā)送狀態(tài)更新信息。
根據(jù)本發(fā)明的另一個方面,提供了一種用于視頻會議的數(shù)據(jù)傳輸方法,包括:媒體處理器接收信令處理器發(fā)來的資源請求,其中,媒體處理器為信令處理器在接收到視頻會議的呼叫請求后,根據(jù)獲取的多個媒體處理器的拓?fù)潢P(guān)系和多個媒體處理器的狀態(tài)信息,從多個媒體處理器中選擇出的一個媒體處理器,呼叫請求為源終端呼叫目標(biāo)終端時發(fā)起的請求;媒體處理器向信令處理器發(fā)送指示信息,指示信息用于指示媒體處理器允許分配資源請求所請求的資源;媒體處理器轉(zhuǎn)發(fā)源終端和目標(biāo)終端之間的視頻會議的碼流,其中,信令處理器接收到指示信息后,將媒體處理器通知給源終端和目標(biāo)終端。
進(jìn)一步地,在媒體處理器轉(zhuǎn)發(fā)源終端和目標(biāo)終端之間的視頻會議的碼流之前,方法還包括:媒體處理器按照預(yù)設(shè)周期向信令處理器更新狀態(tài)信息。
進(jìn)一步地,在媒體處理器向信令處理器發(fā)送指示信息之后,方法還包括:信令處理器將呼叫請求和選擇的媒體處理器的標(biāo)識信息轉(zhuǎn)發(fā)至目標(biāo)終端;在目標(biāo)終端響應(yīng)呼叫請求后,信令處理器將標(biāo)識信息轉(zhuǎn)發(fā)至源終端。
根據(jù)本發(fā)明的另一方面,提供了一種用于視頻會議的數(shù)據(jù)傳輸裝置,應(yīng)用于信令處理器側(cè),該裝置包括:第一接收模塊,用于接收視頻會議的呼叫請求,其中,呼叫請求為源終端呼叫目標(biāo)終端時發(fā)起的請求;選擇模塊,用于根據(jù)獲取的多個媒體處理器的拓?fù)潢P(guān)系和多個媒體處理器的狀態(tài)信息,從多個媒體處理器中選擇出一個媒體處理器;第一發(fā)送模塊,用于將選擇的媒體處理器通知給源終端和目標(biāo)終端,其中,選擇的媒體處理器用于轉(zhuǎn)發(fā)源終端和目標(biāo)終端之間的視頻會議的碼流。
進(jìn)一步地,第一發(fā)送模塊包括:第一發(fā)送單元,用于將呼叫請求和選擇的媒體處理器的標(biāo)識信息轉(zhuǎn)發(fā)至目標(biāo)終端;第二發(fā)送單元,用于在目標(biāo)終端響應(yīng)呼叫請求后,信令處理器將標(biāo)識信息轉(zhuǎn)發(fā)至源終端。
進(jìn)一步地,裝置還包括:第二發(fā)送模塊,用于向選擇的媒體處理器發(fā)送資源請求;第二接收模塊,用于接收選擇的媒體處理器發(fā)送的指示信息,指示信息用于指示選擇的媒體處理器允許分配資源請求所請求的資源。
進(jìn)一步地,源終端為視頻會議客戶端,目標(biāo)終端為視頻會議服務(wù)器,或者源終端為視頻會議服務(wù)器,目標(biāo)終端為視頻會議客戶端,選擇模塊包括:判斷單元,用于判斷視頻會議客戶端是否位于私網(wǎng);選擇單元,用于在判斷出視頻會議客戶端位于私網(wǎng)的情況下,根據(jù)拓?fù)潢P(guān)系和狀態(tài)信息,從多個媒體處理器中選擇出媒體處理器。
根據(jù)本發(fā)明的另一方面,提供了一種用于視頻會議的數(shù)據(jù)傳輸裝置,應(yīng)用于媒體處理器側(cè),該裝置包括:第三接收模塊,用于接收信令處理器發(fā)來的資源請求,其中,媒體處理器為信令處理器在接收到視頻會議的呼叫請求后,根據(jù)獲取的多個媒體處理器的拓?fù)潢P(guān)系和多個媒體處理器的狀態(tài)信息,從多個媒體處理器中選擇出的一個媒體處理器,呼叫請求為源終端呼叫目標(biāo)終端時發(fā)起的請求;第三發(fā)送模塊,用于向信令處理器發(fā)送指示信息,指示信息用于指示媒體處理器允許分配資源請求所請求的資源;轉(zhuǎn)發(fā)模塊,用于轉(zhuǎn)發(fā)源終端和目標(biāo)終端之間的視頻會議的碼流,其中,信令處理器接收到指示信息后,將媒體處理器通知給源終端和目標(biāo)終端。
進(jìn)一步地,裝置還包括:狀態(tài)更新模塊,用于按照預(yù)設(shè)周期向信令處理器更新狀態(tài)信息。
根據(jù)本發(fā)明的另一方面,提供了一種用于視頻會議的數(shù)據(jù)傳輸系統(tǒng),包括:至少一個信令處理器,部署于一個或多個云服務(wù)器中,用于在接收到視頻會議的呼叫請求后,根據(jù)獲取的多個媒體處理器的拓?fù)潢P(guān)系和媒體處理器的狀態(tài)信息,從多個媒體處理器中選擇出一個媒體處理器,將選擇的媒體處理器的通知給源終端和目標(biāo)終端,其中,呼叫請求為源終端呼叫目標(biāo)終端時發(fā)起的請求;至少一個媒體處理器,部署于一個或多個云服務(wù)器中,用于在被信令處理器選擇后,轉(zhuǎn)發(fā)源終端和目標(biāo)終端的視頻會議的碼流。
通過本發(fā)明,采用信令處理器接收視頻會議的呼叫請求,其中,呼叫請求為源終端呼叫目標(biāo)終端時發(fā)起的請求;信令處理器根據(jù)獲取的多個媒體處理器的拓?fù)潢P(guān)系和多個 媒體處理器的狀態(tài)信息,從多個媒體處理器中選擇出一個媒體處理器;信令處理器將選擇的媒體處理器通知給源終端和目標(biāo)終端,其中,選擇的媒體處理器用于轉(zhuǎn)發(fā)源終端和目標(biāo)終端之間的視頻會議的碼流;解決了相關(guān)技術(shù)中通過集中部署NAT穿越服務(wù)器來實現(xiàn)視頻會議系統(tǒng)NAT穿越,而導(dǎo)致的視頻會議系統(tǒng)運行效率低和成本高的問題,進(jìn)而達(dá)到了提升視頻會議系統(tǒng)數(shù)據(jù)傳輸效率和容災(zāi)容錯能力的效果。
附圖說明
此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
圖1是根據(jù)本發(fā)明實施例的用于視頻會議的數(shù)據(jù)傳輸方法的流程圖;
圖2是根據(jù)本發(fā)明實施例的另一種用于視頻會議的數(shù)據(jù)傳輸方法的流程圖;
圖3是根據(jù)本發(fā)明實施例的一種可選的視頻會議客戶端注冊至信令處理器的流程圖;
圖4是根據(jù)本發(fā)明實施例的一種可選的信令處理器選擇媒體處理器的流程圖;
圖5是根據(jù)本發(fā)明實施例的一種可選的視頻會議主叫客戶端發(fā)起視頻會議的流程圖;
圖6是根據(jù)本發(fā)明實施例的一種可選的呼叫視頻會議被叫客戶端加入視頻會議的流程圖;
圖7是根據(jù)本發(fā)明實施例的用于視頻會議的數(shù)據(jù)傳輸裝置的結(jié)構(gòu)框圖;
圖8是根據(jù)本發(fā)明實施例的一種可選的用于視頻會議的數(shù)據(jù)傳輸裝置的結(jié)構(gòu)框圖;
圖9是根據(jù)本發(fā)明實施例的另一種用于視頻會議的數(shù)據(jù)傳輸裝置的結(jié)構(gòu)框圖;
圖10是根據(jù)本發(fā)明實施例的一種可選的用于視頻會議的數(shù)據(jù)傳輸裝置的結(jié)構(gòu)框圖;
圖11是根據(jù)本發(fā)明實施例的用于視頻會議的數(shù)據(jù)傳輸系統(tǒng)的結(jié)構(gòu)示意圖;以及
圖12是根據(jù)本發(fā)明可選實施例的用于視頻會議的數(shù)據(jù)傳輸系統(tǒng)的交互流程示意圖。
具體實施方式
下文中將參考附圖并結(jié)合實施例來詳細(xì)說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。
需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。
在本實施例中提供了一種用于視頻會議的數(shù)據(jù)傳輸方法,圖1是根據(jù)本發(fā)明實施例的用于視頻會議的數(shù)據(jù)傳輸方法的流程圖,如圖1所示,該流程包括如下步驟:
步驟S102,信令處理器接收視頻會議的呼叫請求,其中,呼叫請求為源終端呼叫目標(biāo)終端時發(fā)起的請求;
在本發(fā)明實施例上述步驟S102中,信令處理器可按照區(qū)域部署于云服務(wù)器上,在本發(fā)明中或稱信令服務(wù)器。信令處理器通過網(wǎng)絡(luò)與源終端和目標(biāo)終端建立連接。信令處理器可用于轉(zhuǎn)發(fā)源終端與目標(biāo)終端之間的信令。源終端為發(fā)出視頻會議的呼叫請求的終端,源終端可以為視頻會議客戶端,用于在發(fā)起會議時向視頻會議服務(wù)器發(fā)送該呼叫請求;也可以為視頻會議服務(wù)器,用于在呼叫視頻會議客戶端加入會議時向該視頻會議客戶端發(fā)送該呼叫請求。目標(biāo)終端為該視頻會議請求的被請求方或接收方,當(dāng)源終端為視頻會議客戶端時目標(biāo)終端為視頻會議服務(wù)器,當(dāng)源終端為視頻會議服務(wù)器時目標(biāo)終端為視頻會議客戶端??蛇x地,呼叫請求可以是H232和SIP協(xié)議的消息。
步驟S104,信令處理器在接收到呼叫請求后,根據(jù)獲取的多個媒體處理器的拓?fù)潢P(guān)系和多個媒體處理器的狀態(tài)信息,從多個媒體處理器中選擇出一個媒體處理器;
在本發(fā)明實施例上述步驟S104中,媒體處理器亦可按照區(qū)域部署于云服務(wù)器上,在本發(fā)明中或稱媒體服務(wù)器。媒體處理器通過網(wǎng)絡(luò)與源終端、目標(biāo)終端和信令服務(wù)器建立連接,對于可能出現(xiàn)的媒體處理器與信令處理器部署于相同服務(wù)器中的情況,媒體處理器與信令處理器之間的連接情況不僅限于網(wǎng)絡(luò)。媒體處理器可以通過主動上報或響應(yīng)信令處理器查詢消息的方式,將自身或已知的其他媒體處理器的狀態(tài)信息發(fā)送給信令處理器。多個媒體處理器之間的拓?fù)潢P(guān)系可預(yù)存于信令處理器本地。
此處需要說明的是,媒體處理器的狀態(tài)信息包括但不限于如下:媒體處理器所在區(qū)域、接入的視頻會議客戶端的數(shù)量、接入帶寬、視頻會議碼流的時延和抖動、視頻會議碼流的丟包、物理服務(wù)器CPU占用率等信息。
步驟S106,信令處理器將選擇的媒體處理器通知給源終端和目標(biāo)終端,其中,選擇的媒體處理器用于轉(zhuǎn)發(fā)源終端和目標(biāo)終端之間的視頻會議的碼流。
在本發(fā)明實施例上述步驟S106中,信令處理器將選擇的媒體處理器通知給源終端和目標(biāo)終端的方式,可以為將選擇的媒體處理器的標(biāo)識信息,例如地址標(biāo)識,發(fā)送給源終端和目標(biāo)終端,使得源終端和目標(biāo)終端能夠接入該選擇的媒體處理器,并向該媒體處理器發(fā)送視頻會議的碼流。選擇的媒體處理器轉(zhuǎn)發(fā)源終端和目標(biāo)終端之間的視頻會議的碼流的步驟可以包括:選擇的媒體處理器接收源終端傳輸來的視頻會議碼流并轉(zhuǎn)發(fā)給目標(biāo)終端,和/或,選擇的媒體處理器接收目標(biāo)終端傳輸來的視頻會議碼流并轉(zhuǎn)發(fā)給源終端。媒體處理器轉(zhuǎn)發(fā)的碼流可以是RTP流,也可以是加密流。通過部署于云端的信令處理器選擇媒體處理器、以及選擇的媒體處理器轉(zhuǎn)發(fā)碼流,不僅有利于分散數(shù)據(jù)對服務(wù)器的壓力、減少終端設(shè)備加入會議的時間和實現(xiàn)服務(wù)器之間進(jìn)行冗余備份,還可以便于根據(jù)運行情況快捷的增加服務(wù)器。
通過上述步驟,采用信令處理器接收視頻會議的呼叫請求,其中,呼叫請求為源終 端呼叫目標(biāo)終端時發(fā)起的請求;信令處理器根據(jù)獲取的多個媒體處理器的拓?fù)潢P(guān)系和多個媒體處理器的狀態(tài)信息,從多個媒體處理器中選擇出一個媒體處理器;信令處理器將選擇的媒體處理器通知給源終端和目標(biāo)終端,其中,選擇的媒體處理器用于轉(zhuǎn)發(fā)源終端和目標(biāo)終端之間的視頻會議的碼流;解決了相關(guān)技術(shù)中通過集中部署NAT穿越服務(wù)器來實現(xiàn)視頻會議系統(tǒng)NAT穿越,而導(dǎo)致的視頻會議系統(tǒng)運行效率低和成本高的問題,進(jìn)而達(dá)到了提升視頻會議系統(tǒng)數(shù)據(jù)傳輸效率和容災(zāi)容錯能力的效果。
可選地,步驟S106:信令處理器將選擇的媒體處理器通知給源終端和目標(biāo)終端還包括如下實施步驟:
步驟S1062:信令處理器將呼叫請求和選擇的媒體處理器的標(biāo)識信息轉(zhuǎn)發(fā)至目標(biāo)終端;
在本發(fā)明實施例上述步驟S1062中,在上述呼叫請求中攜帶有所請求的目標(biāo)終端的標(biāo)識信息,例如地址。信令處理器根據(jù)該目標(biāo)終端的標(biāo)識信息,向目標(biāo)終端發(fā)送呼叫請求和選擇的媒體處理器的標(biāo)識信息,以使得目標(biāo)終端得知有視頻會議的呼叫請求,并可根據(jù)媒體處理器的標(biāo)識信息接入該媒體處理器,以接收或發(fā)送視頻會議的碼流。
步驟S1064:在目標(biāo)終端響應(yīng)呼叫請求后,信令處理器將標(biāo)識信息轉(zhuǎn)發(fā)至源終端。
在本發(fā)明實施例上述步驟S1064中,目標(biāo)終端可以通過回復(fù)消息的方式響應(yīng)該呼叫請求。在另一種情況下,也可以不等待目標(biāo)終端的響應(yīng)而直接將標(biāo)識信息轉(zhuǎn)發(fā)至源終端。本發(fā)明上述步驟中,信令處理器向源終端發(fā)送媒體處理器的標(biāo)識信息也可以作為響應(yīng),以使源終端得知目標(biāo)終端響應(yīng)了該呼叫請求,還可根據(jù)媒體處理器的標(biāo)識信息接入該媒體處理器。
可選地,在步驟S106:信令處理器將選擇的媒體處理器通知給源終端和目標(biāo)終端之前,根據(jù)本發(fā)明實施例的用于視頻會議的數(shù)據(jù)傳輸方法還包括:
步驟S1052:信令處理器向選擇的媒體處理器發(fā)送資源請求;
在本發(fā)明實施例上述步驟S1052中,資源請求用于請求媒體處理器中的特定資源。
步驟S1054:信令處理器接收選擇的媒體處理器發(fā)送的指示信息,指示信息用于指示選擇的媒體處理器允許分配資源請求所請求的資源。
在本發(fā)明實施例上述步驟S1054中,信令處理器接收到該指示信息后確認(rèn)媒體處理器同意分配資源,即該媒體處理器可用于轉(zhuǎn)發(fā)源終端與目標(biāo)終端之間的碼流。當(dāng)媒體處理器不同意分配資源時,則信令處理器接收到的為拒絕提供資源的消息,信令處理器則可再次執(zhí)行本發(fā)明上述步驟S104,以重新選擇媒體服務(wù)器。
可選地,媒體處理器同意分配資源之后,根據(jù)本發(fā)明實施例的用于視頻會議的數(shù)據(jù)傳輸方法還包括:媒體處理器向其他信令處理器更新自身的狀態(tài)信息,其他信令處理器 為部署于云服務(wù)器中的除了上述信令處理器之外的其他信令處理器。更新的狀態(tài)信息例如包括:媒體處理器所在區(qū)域、接入的視頻會議客戶端的數(shù)量、接入帶寬、視頻會議碼流的時延和抖動、視頻會議碼流的丟包、物理服務(wù)器CPU占用率等信息。
可選地,上述源終端為視頻會議客戶端,目標(biāo)終端為視頻會議服務(wù)器,或者源終端為視頻會議服務(wù)器,目標(biāo)終端為視頻會議客戶端。
此處需要說明的是,在一種應(yīng)用場景中,當(dāng)目標(biāo)終端是視頻會議服務(wù)器時,視頻會議服務(wù)器接收視頻會議客戶端發(fā)來的視頻碼流,并將其他加入同一視頻會議的視頻會議客戶端傳來的視頻碼流轉(zhuǎn)發(fā)給該視頻會議客戶端??蛇x地,呼叫請求中可能攜帶其他需要入會的視頻會議客戶端的標(biāo)識,當(dāng)視頻會議服務(wù)器同意入會后,還根據(jù)可能攜帶的其他視頻會議客戶端的標(biāo)識呼叫其他視頻會議客戶端入會,以接收其他視頻會議客戶端發(fā)來的碼流,以實現(xiàn)視頻會議的各個客戶端之間數(shù)據(jù)交互。可選地,呼叫請求中可能攜帶當(dāng)前視頻會議的唯一標(biāo)識碼,當(dāng)視頻會議服務(wù)器接收到同一唯一標(biāo)識碼的另一客戶端的呼叫請求后,負(fù)責(zé)轉(zhuǎn)發(fā)同一唯一標(biāo)識碼的客戶端之間的媒體碼流。
此處還需要說明的是,在另一種應(yīng)用場景中,當(dāng)目標(biāo)終端是視頻會議客戶端時,視頻會議客戶端向視頻會議服務(wù)器發(fā)送碼流,并接收視頻會議服務(wù)器發(fā)來的其他視頻會議客戶端的碼流。
可選地,步驟S104:信令處理器在接收到呼叫請求后,根據(jù)獲取的多個媒體處理器的拓?fù)潢P(guān)系和多個媒體處理器的狀態(tài)信息,從多個媒體處理器中選擇出一個媒體處理器包括如下實施步驟:
步驟S1042:信令處理器判斷視頻會議客戶端是否位于私網(wǎng);
在本發(fā)明實施例上述步驟S1042中,私網(wǎng)與互聯(lián)網(wǎng)相對,私網(wǎng)可以包含需要NAT穿越的私有網(wǎng)絡(luò)或接入視頻會議服務(wù)器時存在NAT穿越問題的局域網(wǎng)。信令處理器可以通過辨別視頻會議客戶端的IP地址來判斷客戶端是否位于私網(wǎng)。
此處需要說明的是,該視頻會議客戶端可以為源終端,也可以為目標(biāo)終端。當(dāng)視頻會議客戶端為源終端時,信令處理器接收到客戶端發(fā)出的視頻會議的呼叫請求,并依據(jù)發(fā)出該呼叫請求的客戶端的地址判斷該客戶端是否位于私網(wǎng)。當(dāng)視頻會議客戶端為目標(biāo)終端時,信令處理器接收到視頻會議服務(wù)器發(fā)來的視頻會議的呼叫請求,并依據(jù)該呼叫請求所要呼叫的視頻會議客戶端的地址判斷該所要呼叫的客戶端是否位于私網(wǎng)。該地址可攜帶于呼叫請求中。
步驟S1044:信令處理器在判斷出視頻會議客戶端位于私網(wǎng)的情況下,根據(jù)拓?fù)潢P(guān)系和狀態(tài)信息,從多個媒體處理器中選擇出媒體處理器。
在本發(fā)明實施例上述步驟S1054中,在判斷出視頻會議客戶端位于私網(wǎng)時,該視頻會議客戶端需要進(jìn)行NAT穿越,信令處理器按照預(yù)設(shè)算法計算出最合適的MP發(fā)送給 客戶端。預(yù)設(shè)算法包括MP當(dāng)時的媒體處理資源、接入帶寬、所在區(qū)域、到客戶端網(wǎng)絡(luò)的時延、抖動和丟包等因素。
此處需要說明的是,當(dāng)視頻會議客戶端位于互聯(lián)網(wǎng)時,該視頻會議客戶端并不需要NAT穿越,此時信令處理器可以將視頻會議客戶端和視頻會議服務(wù)器的地址直接轉(zhuǎn)發(fā)給對方,以使得視頻會議客戶端和視頻會議服務(wù)器直接建立通訊并雙向傳輸視頻會議的碼流。
可選地,在步驟S102:信令處理器接收視頻會議的呼叫請求之前,根據(jù)本發(fā)明實施例的用于視頻會議的數(shù)據(jù)傳輸方法還包括:
步驟S1012:視頻會議客戶端獲取多個信令處理器的地址信息;
在本發(fā)明實施例上述步驟S1012中,視頻會議客戶端啟動后,例如可以通過獲取DNS的SRV記錄,并根據(jù)該記錄解析出多個信令處理器的地址,以獲取多個信令處理器的地址信息。
步驟S1014:視頻會議客戶端按照預(yù)設(shè)條件從多個信令處理器中選擇出一個信令處理器;
在本發(fā)明實施例上述步驟S1014中,預(yù)設(shè)條件例如為優(yōu)先級算法。
步驟S1016:視頻會議客戶端注冊到選擇的信令處理器上,其中,選擇的信令處理器用于接收視頻會議客戶端向視頻會議服務(wù)器發(fā)送的視頻會議的呼叫請求,或者視頻會議服務(wù)器向視頻會議客戶端發(fā)送的視頻會議的呼叫請求。
可選地,步驟S1016:視頻會議客戶端注冊到選擇的信令處理器上還包括如下實施步驟:
步驟S10162:信令處理器接收視頻會議客戶端發(fā)送的注冊消息;
步驟S10164:信令處理器將注冊消息轉(zhuǎn)發(fā)至視頻會議服務(wù)器;
步驟S10166:信令處理器接收到視頻會議服務(wù)器返回的注冊響應(yīng),將注冊響應(yīng)轉(zhuǎn)發(fā)至視頻會議客戶端。
在本發(fā)明實施例上述步驟S10162至步驟S10166中,通過信令處理器轉(zhuǎn)發(fā)注冊消息和注冊響應(yīng),首先實現(xiàn)了視頻會議客戶端向信令處理器的注冊,同時,也實現(xiàn)了視頻會議客戶端向視頻會議服務(wù)器的注冊。
可選地,根據(jù)本發(fā)明實施例的用于視頻會議的數(shù)據(jù)傳輸方法還包括:
媒體處理器按照預(yù)設(shè)周期向多個信令處理器發(fā)送狀態(tài)更新信息。
在本發(fā)明實施例上述步驟中,媒體處理器除了在同意信令處理器的資源請求后,向 其他信令處理器更新狀態(tài)信息之外,還可以按照預(yù)設(shè)周期向所有信令處理器更新狀態(tài)信息。預(yù)設(shè)周期,例如為1s。
在本實施例中還提供了一種用于視頻會議的數(shù)據(jù)傳輸方法,圖2是根據(jù)本發(fā)明實施例的另一種用于視頻會議的數(shù)據(jù)傳輸方法的流程圖,如圖2所示,該流程包括如下步驟:
步驟S202,媒體處理器接收信令處理器發(fā)來的資源請求,其中,媒體處理器為信令處理器在接收到視頻會議的呼叫請求后,根據(jù)獲取的多個媒體處理器的拓?fù)潢P(guān)系和多個媒體處理器的狀態(tài)信息,從多個媒體處理器中選擇出的一個媒體處理器,呼叫請求為源終端呼叫目標(biāo)終端時發(fā)起的請求;
在本發(fā)明實施例上述步驟S202中,媒體處理器可按照區(qū)域部署于云服務(wù)器上,在本發(fā)明中或稱媒體服務(wù)器。信令處理器亦可按照區(qū)域部署于云服務(wù)器上,在本發(fā)明中或稱信令服務(wù)器。信令處理器通過網(wǎng)絡(luò)與源終端和目標(biāo)終端建立連接。源終端為發(fā)出視頻會議的呼叫請求的終端,源終端可以為視頻會議客戶端,用于在發(fā)起會議時向視頻會議服務(wù)器發(fā)送該呼叫請求;也可以為視頻會議服務(wù)器,用于在呼叫視頻會議客戶端加入會議時向該視頻會議客戶端發(fā)送該呼叫請求。目標(biāo)終端為該視頻會議請求的被請求方或接收方,當(dāng)源終端為視頻會議客戶端時目標(biāo)終端為視頻會議服務(wù)器,當(dāng)源終端為視頻會議服務(wù)器時目標(biāo)終端為視頻會議客戶端??蛇x地,呼叫請求可以是H232和SIP協(xié)議的消息。資源請求用于請求媒體處理器中的特定資源。
步驟S204,媒體處理器向信令處理器發(fā)送指示信息,指示信息用于指示媒體處理器允許分配資源請求所請求的資源;
在本發(fā)明實施例上述步驟S204中,媒體處理器同意分配資源,至少意味著該媒體處理器可轉(zhuǎn)發(fā)源終端與目標(biāo)終端之間的碼流。
步驟S206,媒體處理器轉(zhuǎn)發(fā)源終端和目標(biāo)終端之間的視頻會議的碼流,其中,信令處理器接收到指示信息后,將媒體處理器通知給源終端和目標(biāo)終端。
在本發(fā)明實施例上述步驟S206中,信令處理器將選擇的媒體處理器通知給源終端和目標(biāo)終端的方式,可以為將選擇的媒體處理器的標(biāo)識信息,例如地址標(biāo)識,發(fā)送給源終端和目標(biāo)終端,使得源終端和目標(biāo)終端能夠接入該選擇的媒體處理器,并向該媒體處理器發(fā)送視頻會議的碼流。選擇的媒體處理器轉(zhuǎn)發(fā)源終端和目標(biāo)終端之間的視頻會議的碼流的步驟可以包括:選擇的媒體處理器接收源終端傳輸來的視頻會議碼流并轉(zhuǎn)發(fā)給目標(biāo)終端,和/或,選擇的媒體處理器接收目標(biāo)終端傳輸來的視頻會議碼流并轉(zhuǎn)發(fā)給源終端。媒體處理器轉(zhuǎn)發(fā)的碼流可以是RTP流,也可以是加密流。通過部署于云端的信令處理器選擇媒體處理器、以及選擇的媒體處理器轉(zhuǎn)發(fā)碼流,不僅有利于分散數(shù)據(jù)對服務(wù)器的壓力、減少終端設(shè)備加入會議的時間和實現(xiàn)服務(wù)器之間進(jìn)行冗余備份,還可以便于根據(jù)運行情況快捷的增加服務(wù)器。
通過上述步驟,采用媒體處理器接收信令處理器發(fā)來的資源請求,其中,媒體處理器為信令處理器在接收到視頻會議的呼叫請求后,根據(jù)獲取的多個媒體處理器的拓?fù)潢P(guān)系和多個媒體處理器的狀態(tài)信息,從多個媒體處理器中選擇出的一個媒體處理器,呼叫請求為源終端呼叫所述目標(biāo)終端時發(fā)起的請求;媒體處理器向信令處理器發(fā)送指示信息,指示信息用于指示媒體處理器允許分配資源請求所請求的資源;媒體處理器轉(zhuǎn)發(fā)源終端和目標(biāo)終端之間的視頻會議的碼流,其中,信令處理器接收到指示信息后,將媒體處理器通知給源終端和目標(biāo)終端;解決了相關(guān)技術(shù)中通過集中部署NAT穿越服務(wù)器來實現(xiàn)視頻會議系統(tǒng)NAT穿越,而導(dǎo)致的視頻會議系統(tǒng)運行效率低和成本高的問題,進(jìn)而達(dá)到了提升視頻會議系統(tǒng)數(shù)據(jù)傳輸效率和容災(zāi)容錯能力的效果。
可選地,媒體處理器同意分配資源之后,根據(jù)本發(fā)明實施例的用于視頻會議的數(shù)據(jù)傳輸方法還包括:媒體處理器向其他信令處理器更新自身的狀態(tài)信息,其他信令處理器為部署于云服務(wù)器中的除了上述信令處理器之外的其他信令處理器。更新的狀態(tài)信息例如包括:媒體處理器所在區(qū)域、接入的視頻會議客戶端的數(shù)量、接入帶寬、視頻會議碼流的時延和抖動、視頻會議碼流的丟包、物理服務(wù)器CPU占用率等信息。
可選地,在步驟S206:媒體處理器轉(zhuǎn)發(fā)源終端和目標(biāo)終端之間的視頻會議的碼流之前,根據(jù)本發(fā)明實施例的用于視頻會議的數(shù)據(jù)傳輸方法還包括:
步驟S208:媒體處理器按照預(yù)設(shè)周期向信令處理器更新狀態(tài)信息。
在本發(fā)明實施例上述步驟S208中,媒體處理器除了在同意信令處理器的資源請求后,向其他信令處理器更新狀態(tài)信息之外,還可以按照預(yù)設(shè)周期向所有信令處理器更新狀態(tài)信息。預(yù)設(shè)周期,例如為1s。
可選地,在步驟S204:媒體處理器向信令處理器發(fā)送指示信息之后,方法還包括:
步驟S2052:信令處理器將呼叫請求和選擇的媒體處理器的標(biāo)識信息轉(zhuǎn)發(fā)至目標(biāo)終端;
在本發(fā)明實施例上述步驟S2052中,在上述呼叫請求中攜帶有所請求的目標(biāo)終端的標(biāo)識信息,例如地址。信令處理器根據(jù)該目標(biāo)終端的標(biāo)識信息,向目標(biāo)終端發(fā)送呼叫請求和選擇的媒體處理器的標(biāo)識信息,以使得目標(biāo)終端得知有視頻會議的呼叫請求,并可根據(jù)媒體處理器的標(biāo)識信息接入該媒體處理器,以接收或發(fā)送視頻會議的碼流。
步驟S2054:在目標(biāo)終端響應(yīng)呼叫請求后,信令處理器將標(biāo)識信息轉(zhuǎn)發(fā)至源終端。
在本發(fā)明實施例上述步驟S2054中,在上述呼叫請求中攜帶有所請求的目標(biāo)終端的標(biāo)識信息,例如地址。信令處理器根據(jù)該目標(biāo)終端的標(biāo)識信息,向目標(biāo)終端發(fā)送呼叫請求和選擇的媒體處理器的標(biāo)識信息,以使得目標(biāo)終端得知有視頻會議的呼叫請求,并可根據(jù)媒體處理器的標(biāo)識信息接入該媒體處理器,以接收或發(fā)送視頻會議的碼流。
下面結(jié)合圖3至圖6,對本發(fā)明上述實施例所提供的用于視頻會議的數(shù)據(jù)傳輸方法 進(jìn)行詳細(xì)說明,在如下圖3至圖6中,SP表示信令處理器,MP表示媒體處理器,NAT設(shè)備表示私網(wǎng)客戶端需要NAT穿越的設(shè)備。
首先結(jié)合圖3,對本發(fā)明實施例中視頻會議客戶端注冊至信令處理器的方法進(jìn)行說明。圖3是根據(jù)本發(fā)明實施例的一種可選的視頻會議客戶端注冊至信令處理器的流程圖;如圖3所示,該方法包括:
步驟S31,DNS解析。具體的,視頻會議客戶端啟動后,解析出配置中的DNS域名對應(yīng)的SP服務(wù)器的IP地址池。
步驟S32,解析處SP地址后向SP注冊。具體的,視頻會議客戶端根據(jù)一定的算法選擇出最優(yōu)的SP服務(wù)器,并發(fā)送注冊消息
步驟S33,SP處理后把注冊消息轉(zhuǎn)向視頻會議服務(wù)器。具體的,SP辨別客戶端是否在內(nèi)網(wǎng),并在客戶端位于內(nèi)網(wǎng)的情況下,向視頻會議服務(wù)器轉(zhuǎn)發(fā)注冊消息。
步驟S34,返回注冊結(jié)果。具體的,視頻會議服務(wù)器響應(yīng)注冊消息后,向SP返回注冊結(jié)果。
步驟S35,返回注冊結(jié)果。具體的,SP向客戶端轉(zhuǎn)發(fā)服務(wù)器的注冊響應(yīng)消息。
當(dāng)注冊成功的客戶端向SP發(fā)起視頻會議的呼叫請求后,SP將執(zhí)行MP選擇的步驟。下面結(jié)合圖4,對本發(fā)明實施例中信令處理器選擇媒體處理器的方法進(jìn)行詳細(xì)說明。圖4是根據(jù)本發(fā)明實施例的一種可選的信令處理器選擇媒體處理器的流程圖;如圖4所示,該方法包括:
步驟S41,收到會議呼叫消息。具體的,SP接收到視頻會議主叫客戶端發(fā)來的視頻會議的呼叫請求。
步驟S42,判斷客戶端是否在私網(wǎng)。具體的,SP判斷呼叫消息屬于哪個客戶端,然后查找這個客戶端是否在內(nèi)網(wǎng)。
步驟S43,按MP當(dāng)時性能、網(wǎng)絡(luò)等情況,查找最合適的MP。具體的,在客戶端位于私網(wǎng)的情況下,SP通過特定算法查找一個最合適的MP作為媒體流穿越服務(wù)器。
步驟S44,SP通知客戶端和服務(wù)器該MP信息。具體的,SP把最合適的MP地址通知給視頻會議客戶端和服務(wù)器,即SP將選擇出的MP的地址發(fā)送至視頻會議客戶端和視頻會議服務(wù)器,以使得視頻會議客戶端和服務(wù)器接入該MP。
步驟S45:SP不提供MP信息。具體的,在客戶端在互聯(lián)網(wǎng)的情況下,SP把視頻會議客戶端和服務(wù)器媒體地址直接通知給對方。
下面結(jié)合圖5,對本發(fā)明實施例中視頻會議主叫客戶端向視頻會議服務(wù)器發(fā)起會議的方法進(jìn)行詳細(xì)說明。圖5是根據(jù)本發(fā)明實施例的一種可選的視頻會議主叫客戶端發(fā)起 視頻會議的流程圖;如圖5所示,該方法包括:
步驟S51,客戶端呼叫會議。具體的,SP接收視頻會議客戶端向視頻會議服務(wù)器發(fā)送會議請求。
步驟S52,客戶端呼叫會議。具體的,SP將接收到的客戶端向視頻會議服務(wù)器發(fā)送的會議請求轉(zhuǎn)發(fā)至視頻會議服務(wù)器,并且,SP根據(jù)MP的網(wǎng)絡(luò)拓?fù)鋱D和相關(guān)MP的實時狀態(tài),選擇一個最優(yōu)的MP,與呼叫請求一并發(fā)送給視頻會議服務(wù)器。
步驟S53:服務(wù)器同意呼叫。具體的,服務(wù)器同意接收呼叫,響應(yīng)SP的消息。
步驟S54:SP給客戶端指示一個MP。具體的,SP收到響應(yīng)消息后,把MP信息也轉(zhuǎn)發(fā)給視頻會議客戶端。
步驟S55,通知MP接收碼流。具體的,SP向MP發(fā)送消息,用于通知MP接收視頻會議服務(wù)器和客戶端的碼流,并用于促使MP更新狀態(tài)。
步驟S56,通知SP更新狀態(tài)。具體的,MP響應(yīng)SP的指令,并向其它SP更新自身的狀態(tài)。
步驟S57,MP與視頻會議客戶端之間交互視頻會議的視頻和音頻碼流,視頻會議客戶端通過MP進(jìn)行視頻和音頻中轉(zhuǎn),穿越終端設(shè)備面臨的NAT設(shè)備。
步驟S58,MP與視頻會議服務(wù)器之間交互視頻會議的視頻和音頻碼流。
下面結(jié)合圖6,對本發(fā)明實施例中視頻會議服務(wù)器向視頻會議呼叫被叫客戶端加入會議的方法進(jìn)行詳細(xì)說明。圖6是根據(jù)本發(fā)明實施例的一種可選的呼叫視頻會議被叫客戶端加入視頻會議的流程圖;如圖6所示,該方法包括:
步驟S61,服務(wù)器呼叫客戶端。具體的,視頻會議服務(wù)器上的會議呼叫客戶端入會,即SP接收視頻會議服務(wù)器向視頻會議客戶端發(fā)送的視頻會議的呼叫請求。
步驟S62,SP給客戶端指示一個MP服務(wù)器。具體的,SP將視頻會議服務(wù)器發(fā)送給視頻會議客戶端的視頻會議的呼叫請求轉(zhuǎn)發(fā)給視頻會議客戶端,并根據(jù)網(wǎng)絡(luò)拓?fù)鋱D和相關(guān)MP的實時狀態(tài),選擇一個最優(yōu)的MP,和呼叫請求一并發(fā)送給視頻會議客戶端。
步驟S63,客戶端同意呼叫。具體的,SP接收到視頻會議客戶端返回同意呼叫的信息。
步驟S64,SP給服務(wù)器指示一個MP。具體的,SP收到響應(yīng)消息后,把MP信息也轉(zhuǎn)發(fā)給視頻會議服務(wù)器端。
步驟S65,通知MP接收碼流。具體的,SP向MP發(fā)送消息,用于通知MP接收視頻會議服務(wù)器和客戶端的碼流,并用于促使MP更新狀態(tài)。
步驟S66,通知所有SP更新狀態(tài)。具體的,MP響應(yīng)SP的指令,并向其它SP更新自身的狀態(tài)。
步驟S67,MP與視頻會議客戶端之間交互視頻會議的視頻和音頻碼流,視頻會議客戶端通過MP進(jìn)行視頻和音頻中轉(zhuǎn),穿越終端設(shè)備面臨的NAT設(shè)備。
步驟S68,MP與視頻會議服務(wù)器之間交互視頻會議的視頻和音頻碼流。
通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到根據(jù)上述實施例的方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實施方式。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)(如ROM/RAM、磁碟、光盤)中,包括若干指令用以使得一臺終端設(shè)備(可以是手機,計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。
在本實施例中還提供了一種用于視頻會議的數(shù)據(jù)傳輸裝置,該裝置用于實現(xiàn)上述實施例及可選或優(yōu)選實施方式,已經(jīng)進(jìn)行過說明的不再贅述。如以下所使用的,術(shù)語“模塊”可以實現(xiàn)預(yù)定功能的軟件和/或硬件的組合。盡管以下實施例所描述的裝置較佳地以軟件來實現(xiàn),但是硬件,或者軟件和硬件的組合的實現(xiàn)也是可能并被構(gòu)想的。
圖7是根據(jù)本發(fā)明實施例的用于視頻會議的數(shù)據(jù)傳輸裝置的結(jié)構(gòu)框圖,如圖7所示,該裝置應(yīng)用于信令處理器側(cè),包括:第一接收模塊70、選擇模塊72以及第一發(fā)送模塊74,其中,
第一接收模塊70,用于接收視頻會議的呼叫請求,其中,呼叫請求為源終端呼叫目標(biāo)終端時發(fā)起的請求;
選擇模塊72,用于在接收到呼叫請求后,根據(jù)獲取的多個媒體處理器的拓?fù)潢P(guān)系和多個媒體處理器的狀態(tài)信息,從多個媒體處理器中選擇出一個媒體處理器;
第一發(fā)送模塊74,用于將選擇的媒體處理器通知給源終端和目標(biāo)終端,其中,選擇的媒體處理器用于轉(zhuǎn)發(fā)源終端和目標(biāo)終端之間的視頻會議的碼流。
通過上述裝置,采用信令處理器接收視頻會議的呼叫請求,其中,呼叫請求為源終端呼叫目標(biāo)終端時發(fā)起的請求;信令處理器根據(jù)獲取的多個媒體處理器的拓?fù)潢P(guān)系和多個媒體處理器的狀態(tài)信息,從多個媒體處理器中選擇出一個媒體處理器;信令處理器將選擇的媒體處理器通知給源終端和目標(biāo)終端,其中,選擇的媒體處理器用于轉(zhuǎn)發(fā)源終端和目標(biāo)終端之間的視頻會議的碼流;解決了相關(guān)技術(shù)中通過集中部署NAT穿越服務(wù)器來實現(xiàn)視頻會議系統(tǒng)NAT穿越,而導(dǎo)致的視頻會議系統(tǒng)運行效率低和成本高的問題,進(jìn)而達(dá)到了提升視頻會議系統(tǒng)數(shù)據(jù)傳輸效率和容災(zāi)容錯能力的效果。
可選地,第一發(fā)送模塊74包括:第一發(fā)送單元以及第二發(fā)送單元,其中:
第一發(fā)送單元,用于將呼叫請求和選擇的媒體處理器的標(biāo)識信息轉(zhuǎn)發(fā)至目標(biāo)終端;
第二發(fā)送單元,用于在目標(biāo)終端響應(yīng)呼叫請求后,信令處理器將標(biāo)識信息轉(zhuǎn)發(fā)至源終端。
可選地,根據(jù)本發(fā)明實施例的用于視頻會議的數(shù)據(jù)傳輸裝置還包括:
第二發(fā)送模塊,用于向選擇的媒體處理器發(fā)送資源請求;
第二接收模塊,用于接收選擇的媒體處理器發(fā)送的指示信息,指示信息用于指示選擇的媒體處理器允許分配資源請求所請求的資源。
可選地,源終端為視頻會議客戶端,目標(biāo)終端為視頻會議服務(wù)器,或者源終端為視頻會議服務(wù)器,目標(biāo)終端為視頻會議客戶端,選擇模塊72包括:
判斷單元,用于判斷視頻會議客戶端是否位于私網(wǎng);
選擇單元,用于在判斷出視頻會議客戶端位于私網(wǎng)的情況下,根據(jù)拓?fù)潢P(guān)系和狀態(tài)信息,從多個媒體處理器中選擇出媒體處理器。
下面以一種具體實例對本發(fā)明實施例所提供的用于視頻會議的數(shù)據(jù)傳輸裝置進(jìn)行詳細(xì)說明。圖8是根據(jù)本發(fā)明實施例的一種可選的用于視頻會議的數(shù)據(jù)傳輸裝置的結(jié)構(gòu)框圖;如圖8所示,該用于視頻會議的數(shù)據(jù)傳輸裝置為圖8中所示的信令處理器SP,該信令處理器SP包括如下模塊:
信令轉(zhuǎn)發(fā)模塊:用于負(fù)責(zé)視頻會議客戶端和服務(wù)器之間的信令轉(zhuǎn)發(fā),可以是H323和SIP等協(xié)議的消息,例如上述的視頻會議的呼叫請求。
客戶端IP地址辨別模塊:用于判斷客戶端是否處于私網(wǎng)內(nèi)。
保存MP狀態(tài)和更新模塊:用于保存MP狀態(tài),接收MP狀態(tài)根系和查詢MP最新狀態(tài)。
MP選擇模塊:用于按照預(yù)設(shè)算法,選擇最合適的MP。
具體的,在圖8所示的裝置中,信令處理器SP分別與客戶端、媒體處理器、視頻會議服務(wù)器連接。在SP接收到客戶端的呼叫請求后,通過客戶端IP地址辨別模塊,先辨別客戶端是否需要進(jìn)行NAT穿越。如果需要進(jìn)行NAT穿越,則從保存MP狀態(tài)和更新模塊獲取MP狀態(tài)信息,MP選擇模塊按照特定的算法計算出最合適的MP,信令轉(zhuǎn)發(fā)模塊將MP和呼叫請求發(fā)送給視頻會議服務(wù)器,或者將MP發(fā)送給客戶端。預(yù)設(shè)算法需要考慮MP當(dāng)時的媒體處理資源、接入帶寬、所在區(qū)域、到客戶端網(wǎng)絡(luò)的時延、抖動和丟包等因素。
圖9是根據(jù)本發(fā)明實施例的另一種用于視頻會議的數(shù)據(jù)傳輸?shù)慕Y(jié)構(gòu)框圖,如圖9所示,該裝置應(yīng)用于媒體處理器側(cè),包括:第三接收模塊90、第三發(fā)送模塊92以及轉(zhuǎn)發(fā) 模塊94,其中:
第三接收模塊90,用于接收信令處理器發(fā)來的資源請求,其中,媒體處理器為信令處理器在接收到視頻會議的呼叫請求后,根據(jù)獲取的多個媒體處理器的拓?fù)潢P(guān)系和多個媒體處理器的狀態(tài)信息,從多個媒體處理器中選擇出的一個媒體處理器,其中,呼叫請求為源終端呼叫目標(biāo)終端時發(fā)起的請求;
第三發(fā)送模塊92,用于向信令處理器發(fā)送指示信息,指示信息用于指示媒體處理器允許分配資源請求所請求的資源;
轉(zhuǎn)發(fā)模塊94,用于轉(zhuǎn)發(fā)源終端和目標(biāo)終端之間的視頻會議的碼流,其中,信令處理器接收到指示信息后,將媒體處理器通知給源終端和目標(biāo)終端。
通過上述裝置,采用媒體處理器接收信令處理器發(fā)來的資源請求,其中,媒體處理器為信令處理器在接收到視頻會議的呼叫請求后,根據(jù)獲取的多個媒體處理器的拓?fù)潢P(guān)系和多個媒體處理器的狀態(tài)信息,從多個媒體處理器中選擇出的一個媒體處理器,其中,呼叫請求為源終端呼叫目標(biāo)終端時發(fā)起的請求;媒體處理器向信令處理器發(fā)送指示信息,指示信息用于指示媒體處理器允許分配資源請求所請求的資源;媒體處理器轉(zhuǎn)發(fā)源終端和目標(biāo)終端之間的視頻會議的碼流,其中,信令處理器接收到指示信息后,將媒體處理器通知給源終端和目標(biāo)終端;解決了相關(guān)技術(shù)中通過集中部署NAT穿越服務(wù)器來實現(xiàn)視頻會議系統(tǒng)NAT穿越,而導(dǎo)致的視頻會議系統(tǒng)運行效率低和成本高的問題,進(jìn)而達(dá)到了提升視頻會議系統(tǒng)數(shù)據(jù)傳輸效率和容災(zāi)容錯能力的效果。
可選地,根據(jù)本發(fā)明實施例的用于視頻會議的數(shù)據(jù)傳輸裝置還包括:
狀態(tài)更新模塊,用于按照預(yù)設(shè)周期向信令處理器更新狀態(tài)信息。
下面以一種具體實例對本發(fā)明實施例所提供的用于視頻會議的數(shù)據(jù)傳輸裝置進(jìn)行詳細(xì)說明。圖10是根據(jù)本發(fā)明實施例的一種可選的用于視頻會議的數(shù)據(jù)傳輸裝置的結(jié)構(gòu)框圖;如圖10所示,該用于視頻會議的數(shù)據(jù)傳輸裝置為圖10中所示的媒體處理器MP,該媒體處理器MP包括如下模塊:
媒體流轉(zhuǎn)發(fā)模塊:用于轉(zhuǎn)發(fā)視頻會議客戶端和服務(wù)器之間的媒體流,一般是RTP流,也可以是加密流。
狀態(tài)信息模塊:用于查詢和保存自己接入客戶端數(shù)量、接入帶寬、視頻流的時延和抖動、視頻流的丟包、物理服務(wù)器CPU占用率等信息。
與SP狀態(tài)交互模塊:用于響應(yīng)SP的狀態(tài)請求,定時向SP上報自己的狀態(tài)。
具體的,在圖10所示的裝置中,媒體處理器分別于客戶端、視頻會議服務(wù)器、信令處理器連接。SP接收到客戶端的呼叫請求后,辨別客戶端是否需要進(jìn)行NAT穿越時選擇MP并通知客戶端和服務(wù)器。同時,SP向MP請求資源,MP同意資源請求后,狀 態(tài)信息模塊更新自己的狀態(tài)信息并通過與SP狀態(tài)交互模塊發(fā)送至各個SP;當(dāng)MP與客戶端和服務(wù)器建立連接后,媒體流轉(zhuǎn)發(fā)模塊轉(zhuǎn)發(fā)客戶端與服務(wù)器之間的媒體流。
需要說明的是,上述各個模塊是可以通過軟件或硬件來實現(xiàn)的,對于后者,可以通過以下方式實現(xiàn),但不限于此:上述模塊均位于同一處理器中;或者,上述模塊分別位于多個處理器中。
在本實施例中還提供了一種用于視頻會議的數(shù)據(jù)傳輸系統(tǒng),可執(zhí)行本發(fā)明上述實施例提供的用于視頻會議的數(shù)據(jù)傳輸方法。圖11是根據(jù)本發(fā)明實施例的用于視頻會議的數(shù)據(jù)傳輸?shù)慕Y(jié)構(gòu)示意圖,如圖11所示,該系統(tǒng)包括:
至少一個信令處理器110,部署于一個或多個云服務(wù)器中,用于在接收到視頻會議的呼叫請求后,根據(jù)獲取的多個媒體處理器的拓?fù)潢P(guān)系和媒體處理器的狀態(tài)信息,從多個媒體處理器中選擇出一個媒體處理器,將選擇的媒體處理器的通知給源終端和目標(biāo)終端,其中,呼叫請求為源終端呼叫目標(biāo)終端時發(fā)起的請求;
至少一個媒體處理器111,部署于一個或多個云服務(wù)器中,用于在被信令處理器選擇后,轉(zhuǎn)發(fā)源終端和目標(biāo)終端的視頻會議的碼流。
具體的,如圖11所示,多個信令處理器110和多個媒體處理器111分布式的部署在第三方云計算服務(wù)提供商的設(shè)備的上。當(dāng)視頻會議客戶端114向視頻會議服務(wù)器112發(fā)送視頻會議呼叫時,視頻會議客戶端114按照預(yù)設(shè)算法從至少一個信令處理器110中選擇出信令處理器SP2,并穿過NAT設(shè)備113后注冊到該信令處理器SP2上,向該信令處理器SP2發(fā)送視頻會議的呼叫請求。信令處理器SP2根據(jù)預(yù)設(shè)算法,從多個媒體處理器111中選擇出媒體處理器MP2,并將MP2地址信息與呼叫請求一并發(fā)送至視頻會議服務(wù)器112。視頻會議服務(wù)器112向信令處理器SP2返回響應(yīng),信令處理器SP2接收到響應(yīng)后將該媒體處理器MP2的地址信息發(fā)送至視頻會議客戶端114。視頻會議客戶端114、視頻會議服務(wù)器112分別與媒體處理器MP2建立連接,媒體處理器MP2轉(zhuǎn)發(fā)視頻會議客戶端114和視頻會議服務(wù)器112之間的碼流。
圖12是根據(jù)本發(fā)明可選實施例的用于視頻會議的數(shù)據(jù)傳輸系統(tǒng)的交互流程示意圖。如圖12所示,該流程包括如下步驟:
步驟S121,SP收到呼叫,具體的,視頻會議客戶端根據(jù)SP地址選擇出信令處理器并向其發(fā)送呼叫請求。
步驟S122,SP從狀態(tài)列表中選擇MP。具體的,SP根據(jù)預(yù)設(shè)算法和MP的實時狀態(tài),為視頻會議客戶端選擇出最優(yōu)MP。
步驟S123,SP向MP發(fā)送資源請求,用于請求媒體處理器中的媒體資源。
步驟S124,SP接收MP返回的響應(yīng)請求。具體的,若MP同意分配資源,向SP回復(fù)同意;若MP資源受限,不同意分配資源,則回復(fù)失敗,SP重新選擇MP,回到步 驟S122。
步驟S125,向其它SP更新自身的狀態(tài)。
步驟S126,向其它SP更新自身的狀態(tài)。
步驟S127,SP轉(zhuǎn)發(fā)呼叫請求給視頻會議服務(wù)器,并提供MP信息,以使視頻會議服務(wù)器接入該MP。
步驟S128,視頻會議服務(wù)器響應(yīng)SP轉(zhuǎn)發(fā)的會議請求。
步驟S129,SP轉(zhuǎn)發(fā)會議響應(yīng)給客戶端,并提供MP信息,以使視頻會議客戶端接入該MP。
步驟S1210,MP與視頻會議客戶端之間交互視頻會議的視頻和音頻碼流,視頻會議客戶端通過MP進(jìn)行視頻和音頻中轉(zhuǎn),穿越終端設(shè)備面臨的NAT設(shè)備。
步驟S1211,MP與視頻會議服務(wù)器之間交互視頻會議的視頻和音頻碼流。
步驟S1212至步驟S1214,MP定時向所有SP更新狀態(tài)信息。
本發(fā)明的實施例還提供了一種存儲介質(zhì)。可選地,在本實施例中,上述存儲介質(zhì)可以被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:
S1,信令處理器接收視頻會議的呼叫請求,其中,呼叫請求為源終端呼叫目標(biāo)終端時發(fā)起的請求;
S2,信令處理器在接收到呼叫請求后,根據(jù)獲取的多個媒體處理器的拓?fù)潢P(guān)系和多個媒體處理器的狀態(tài)信息,從多個媒體處理器中選擇出一個媒體處理器;
S3,信令處理器將選擇的媒體處理器通知給源終端和目標(biāo)終端,其中,選擇的媒體處理器用于轉(zhuǎn)發(fā)源終端和目標(biāo)終端之間的視頻會議的碼流。
可選地,存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:
S1,信令處理器將呼叫請求和選擇的媒體處理器的標(biāo)識信息轉(zhuǎn)發(fā)至目標(biāo)終端;
S2,在目標(biāo)終端響應(yīng)呼叫請求后,信令處理器將標(biāo)識信息轉(zhuǎn)發(fā)至源終端。
可選地,存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:
S1,信令處理器向選擇的媒體處理器發(fā)送資源請求;
S2,信令處理器接收選擇的媒體處理器發(fā)送的指示信息,指示信息用于指示選擇的媒體處理器允許分配資源請求所請求的資源。
可選地,存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:
S1,信令處理器判斷視頻會議客戶端是否位于私網(wǎng);
S2,信令處理器在判斷出視頻會議客戶端位于私網(wǎng)的情況下,根據(jù)拓?fù)潢P(guān)系和狀態(tài)信息,從多個媒體處理器中選擇出媒體處理器。
可選地,存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:
S1,視頻會議客戶端獲取多個信令處理器的地址信息;
S2,視頻會議客戶端按照預(yù)設(shè)條件從多個信令處理器中選擇出一個信令處理器;
S3,視頻會議客戶端注冊到選擇的信令處理器上,其中,選擇的信令處理器用于接收視頻會議客戶端向視頻會議服務(wù)器發(fā)送的視頻會議的呼叫請求,或者視頻會議服務(wù)器向視頻會議客戶端發(fā)送的視頻會議的呼叫請求。
可選地,存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:
S1,信令處理器接收視頻會議客戶端發(fā)送的注冊消息;
S2,信令處理器將注冊消息轉(zhuǎn)發(fā)至視頻會議服務(wù)器;
S3,信令處理器接收到視頻會議服務(wù)器返回的注冊響應(yīng),將注冊響應(yīng)轉(zhuǎn)發(fā)至視頻會議客戶端。
可選地,存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:
S1,媒體處理器按照預(yù)設(shè)周期向多個信令處理器發(fā)送狀態(tài)更新信息。
本發(fā)明的實施例還提供了一種存儲介質(zhì)。可選地,在本實施例中,上述存儲介質(zhì)可以被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:
S1,媒體處理器接收信令處理器發(fā)來的資源請求,其中,媒體處理器為信令處理器在接收到視頻會議的呼叫請求后,根據(jù)獲取的多個媒體處理器的拓?fù)潢P(guān)系和多個媒體處理器的狀態(tài)信息,從多個媒體處理器中選擇出的一個媒體處理器,其中,呼叫請求為源終端呼叫目標(biāo)終端時發(fā)起的請求;
S2,媒體處理器向信令處理器發(fā)送指示信息,指示信息用于指示媒體處理器允許分配資源請求所請求的資源;
S3媒體處理器轉(zhuǎn)發(fā)源終端和目標(biāo)終端之間的視頻會議的碼流,其中,信令處理器接收到指示信息后,將媒體處理器通知給源終端和目標(biāo)終端。
可選地,存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:
S1,媒體處理器按照預(yù)設(shè)周期向信令處理器更新狀態(tài)信息。
可選地,存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:
S1,信令處理器將呼叫請求和選擇的媒體處理器的標(biāo)識信息轉(zhuǎn)發(fā)至目標(biāo)終端;
S2,在目標(biāo)終端響應(yīng)呼叫請求后,信令處理器將標(biāo)識信息轉(zhuǎn)發(fā)至源終端。
可選地,在本實施例中,上述存儲介質(zhì)可以包括但不限于:U盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
可選地,在本實施例中,處理器根據(jù)存儲介質(zhì)中已存儲的程序代碼執(zhí)行信令處理器接收視頻會議的呼叫請求,其中,呼叫請求為源終端呼叫目標(biāo)終端時發(fā)起的請求;信令處理器在接收到呼叫請求后,根據(jù)獲取的多個媒體處理器的拓?fù)潢P(guān)系和多個媒體處理器的狀態(tài)信息,從多個媒體處理器中選擇出一個媒體處理器;信令處理器將選擇的媒體處理器通知給源終端和目標(biāo)終端,其中,選擇的媒體處理器用于轉(zhuǎn)發(fā)源終端和目標(biāo)終端之間的視頻會議的碼流。
可選地,在本實施例中,處理器根據(jù)存儲介質(zhì)中已存儲的程序代碼執(zhí)行信令處理器將呼叫請求和選擇的媒體處理器的標(biāo)識信息轉(zhuǎn)發(fā)至目標(biāo)終端;在目標(biāo)終端響應(yīng)呼叫請求后,信令處理器將標(biāo)識信息轉(zhuǎn)發(fā)至源終端。
可選地,在本實施例中,處理器根據(jù)存儲介質(zhì)中已存儲的程序代碼執(zhí)行信令處理器向選擇的媒體處理器發(fā)送資源請求;信令處理器接收選擇的媒體處理器發(fā)送的指示信息,指示信息用于指示選擇的媒體處理器允許分配資源請求所請求的資源。
可選地,在本實施例中,處理器根據(jù)存儲介質(zhì)中已存儲的程序代碼執(zhí)行信令處理器判斷視頻會議客戶端是否位于私網(wǎng),其中,信令處理器在判斷出視頻會議客戶端位于私網(wǎng)的情況下,根據(jù)拓?fù)潢P(guān)系和狀態(tài)信息,從多個媒體處理器中選擇出媒體處理器。
可選地,在本實施例中,處理器根據(jù)存儲介質(zhì)中已存儲的程序代碼執(zhí)行視頻會議客戶端獲取多個信令處理器的地址信息;視頻會議客戶端按照預(yù)設(shè)條件從多個信令處理器中選擇出一個信令處理器;視頻會議客戶端注冊到選擇的信令處理器上,其中,選擇的信令處理器用于接收視頻會議客戶端向視頻會議服務(wù)器發(fā)送的視頻會議的呼叫請求,或者視頻會議服務(wù)器向視頻會議客戶端發(fā)送的視頻會議的呼叫請求。
可選地,在本實施例中,處理器根據(jù)存儲介質(zhì)中已存儲的程序代碼執(zhí)行信令處理器接收視頻會議客戶端發(fā)送的注冊消息;信令處理器將注冊消息轉(zhuǎn)發(fā)至視頻會議服務(wù)器;信令處理器接收到視頻會議服務(wù)器返回的注冊響應(yīng),將注冊響應(yīng)轉(zhuǎn)發(fā)至視頻會議客戶端。
可選地,在本實施例中,處理器根據(jù)存儲介質(zhì)中已存儲的程序代碼執(zhí)行媒體處理器按照預(yù)設(shè)周期向多個信令處理器發(fā)送狀態(tài)更新信息。
可選地,在本實施例中,處理器根據(jù)存儲介質(zhì)中已存儲的程序代碼執(zhí)行媒體處理器接收信令處理器發(fā)來的資源請求,其中,媒體處理器為信令處理器在接收到視頻會議的呼叫請求后,根據(jù)獲取的多個媒體處理器的拓?fù)潢P(guān)系和多個媒體處理器的狀態(tài)信息,從 多個媒體處理器中選擇出的一個媒體處理器,呼叫請求為源終端呼叫目標(biāo)終端時發(fā)起的請求;媒體處理器向信令處理器發(fā)送指示信息,指示信息用于指示媒體處理器允許分配資源請求所請求的資源;媒體處理器轉(zhuǎn)發(fā)源終端和目標(biāo)終端之間的視頻會議的碼流,其中,信令處理器接收到指示信息后,將媒體處理器通知給源終端和目標(biāo)終端。
可選地,在本實施例中,處理器根據(jù)存儲介質(zhì)中已存儲的程序代碼執(zhí)行在媒體處理器轉(zhuǎn)發(fā)源終端和目標(biāo)終端之間的視頻會議的碼流之前,方法還包括:媒體處理器按照預(yù)設(shè)周期向信令處理器更新狀態(tài)信息。
可選地,在本實施例中,處理器根據(jù)存儲介質(zhì)中已存儲的程序代碼執(zhí)行信令處理器將呼叫請求和選擇的媒體處理器的標(biāo)識信息轉(zhuǎn)發(fā)至目標(biāo)終端;在目標(biāo)終端響應(yīng)呼叫請求后,信令處理器將標(biāo)識信息轉(zhuǎn)發(fā)至源終端。
可選地,本實施例中的具體示例可以參考上述實施例及可選實施方式中所描述的示例,本實施例在此不再贅述。
顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
以上所述僅為本發(fā)明的可選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。