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