一種數據傳輸的方法、系統以及相關設備

一種數據傳輸的方法、系統以及相關設備

《一種數據傳輸的方法、系統以及相關設備》是騰訊科技(深圳)有限公司於2015年2月28日申請的專利,該專利申請號為2015105432063,公布號為CN106488169A,專利公布日為2017年3月8日,發明人是薛笛。

《一種數據傳輸的方法、系統以及相關設備》實施例公開了一種數據傳輸的方法、系統以及相關設備,方法包括:中轉設備接收到處於目標頻道中且具有音視頻上行許可權的目標客戶端傳送的音視頻數據;中轉設備將音視頻數據轉發至處於目標頻道中且具有音視頻上行許可權的至少一個第一客戶端,並轉發至處於目標頻道中的擴散代理設備;擴散代理設備連線有處於目標頻道中且不具有音視頻上行許可權的至少一個第二客戶端;擴散代理設備根據至少一個第二客戶端中各第二客戶端的網路質量信息,採用對應的下行傳輸方式將音視頻數據轉發至各第二客戶端;各第二客戶端的網路質量信息是由擴散代理設備預先收集得到的。採用該發明,可保證超大規模的音視頻通話服務系統的穩定性。

2021年6月24日,《一種數據傳輸的方法、系統以及相關設備》獲得第二十二屆中國專利金獎。

(概述圖為《一種數據傳輸的方法、系統以及相關設備》摘要附圖)

基本介紹

  • 中文名:一種數據傳輸的方法、系統以及相關設備
  • 發明人:薛笛
  • 申請人:騰訊科技(深圳)有限公司
  • 申請號:2015105432063
  • 申請日:2015年2月28日
  • 公布日:2017年3月8日
  • 公布號:CN106488169A
  • 地址:廣東省深圳市福田區振興路賽格科技園2棟東403室
  • 代理機構廣州三環專利代理有限公司
  • 代理人:郝傳鑫、熊永強
  • Int. Cl.:H04N7/14(2006.01)I; H04N7/15(2006.01)I
  • 類別:發明專利
專利背景,發明內容,專利目的,技術方案,改善效果,附圖說明,技術領域,權利要求,實施方式,專利榮譽,

專利背景

截至2017年3月,隨著線上教育、秀場主播、遊戲直播等業務的繁榮與發展,多人實時音視頻通話服務後台也承受著越來越大的壓力。例如,基於IM/社交工具群組關係的實時多人音視頻通話服務,雖然實時性好、網路質量控制細膩,但是該服務中的網路控制策略系統通常需要根據每個參與用戶的狀況做大量集中式的實時運算,資源消耗會隨著參與用戶數量的增加線性增長;其次,為了保障良好的通話體驗,這類服務通常會有頻繁的全員通知(如人員進出、視頻源切換、上/下麥等),音視頻房間規模的擴大通常也意味著這些通知數量的線性增長;最後,此類服務的網路控制策略系統和數據中轉系統之間通常需要維持全量/增量的數據同步以確保房間內用戶狀態信息的一致性,因此,當存在超大規模音視頻房間的情況下,極易形成後台性能瓶頸,特別在出現局部故障時,超大規模音視頻房間的集中式擴散效應會進一步加重故障的影響範圍,最終導致整個系統服務不穩定。

發明內容

專利目的

《一種數據傳輸的方法、系統以及相關設備》實施例提供一種數據傳輸的方法、系統以及相關設備,可保證超大規模的音視頻通話服務系統的穩定性。

技術方案

《一種數據傳輸的方法、系統以及相關設備》第一方面提供了一種數據傳輸的方法,包括:中轉設備接收到處於目標頻道中且具有音視頻上行許可權的目標客戶端傳送的音視頻數據;所述中轉設備將所述音視頻數據轉發至處於所述目標頻道中且具有音視頻上行許可權的至少一個第一客戶端,並轉發至處於所述目標頻道中的擴散代理設備;所述擴散代理設備連線有處於所述目標頻道中且不具有音視頻上行許可權的至少一個第二客戶端;所述擴散代理設備根據所述至少一個第二客戶端中各第二客戶端的網路質量信息,採用對應的下行傳輸方式將所述音視頻數據轉發至所述各第二客戶端;所述各第二客戶端的網路質量信息是由所述擴散代理設備預先收集得到的。
《一種數據傳輸的方法、系統以及相關設備》第二方面提供了一種數據傳輸的方法,包括:中轉設備接收到處於目標頻道中且具有音視頻上行許可權的目標客戶端傳送的音視頻數據;所述中轉設備將所述音視頻數據轉發至處於所述目標頻道中且具有音視頻上行許可權的至少一個第一客戶端,並轉發至處於所述目標頻道中的擴散代理設備,以使所述擴散代理設備根據至少一個第二客戶端中各第二客戶端的網路質量信息採用對應的下行傳輸方式將所述音視頻數據轉發至所述各第二客戶端;其中,所述至少一個第二客戶端是與所述擴散代理設備相連線、處於所述目標頻道且不具有音視頻上行許可權的客戶端;所述各第二客戶端的網路質量信息是由所述擴散代理設備預先收集得到的。
《一種數據傳輸的方法、系統以及相關設備》第三方面提供了一種數據傳輸的方法,包括:擴散代理設備接收中轉設備傳送的音視頻數據;所述音視頻數據是由處於目標頻道中且具有音視頻上行許可權的目標客戶端傳送到所述中轉設備中的數據;所述擴散代理設備連線有處於所述目標頻道中且不具有音視頻上行許可權的至少一個第二客戶端;所述擴散代理設備根據所述至少一個第二客戶端中各第二客戶端的網路質量信息,採用對應的下行傳輸方式將所述音視頻數據轉發至所述各第二客戶端;所述各第二客戶端的網路質量信息是由所述擴散代理設備預先收集得到的;其中,所述中轉設備是用於將所述音視頻數據轉發至處於所述目標頻道中且具有音視頻上行許可權的至少一個第一客戶端並轉發至處於所述目標頻道中的所述擴散代理設備的設備。
《一種數據傳輸的方法、系統以及相關設備》第四方面提供了一種中轉設備,包括:中轉接收模組,用於接收到處於目標頻道中且具有音視頻上行許可權的目標客戶端傳送的音視頻數據;中轉傳送模組,用於將所述音視頻數據轉發至處於所述目標頻道中且具有音視頻上行許可權的至少一個第一客戶端,並轉發至處於所述目標頻道中的擴散代理設備,以使所述擴散代理設備根據至少一個第二客戶端中各第二客戶端的網路質量信息採用對應的下行傳輸方式將所述音視頻數據轉發至所述各第二客戶端;其中,所述至少一個第二客戶端是與所述擴散代理設備相連線、處於所述目標頻道且不具有音視頻上行許可權的客戶端;所述各第二客戶端的網路質量信息是由所述擴散代理設備預先收集得到的。
《一種數據傳輸的方法、系統以及相關設備》第五方面提供了一種擴散代理設備,包括:代理接收模組,用於接收中轉設備傳送的音視頻數據;所述音視頻數據是由處於目標頻道中且具有音視頻上行許可權的目標客戶端傳送到所述中轉設備中的數據;所述擴散代理設備連線有處於所述目標頻道中且不具有音視頻上行許可權的至少一個第二客戶端;代理髮送模組,用於根據所述至少一個第二客戶端中各第二客戶端的網路質量信息,採用對應的下行傳輸方式將所述音視頻數據轉發至所述各第二客戶端;所述各第二客戶端的網路質量信息是由所述擴散代理設備預先收集得到的;其中,所述中轉設備是用於將所述音視頻數據轉發至處於所述目標頻道中且具有音視頻上行許可權的至少一個第一客戶端並轉發至處於所述目標頻道中的所述擴散代理設備的設備。
《一種數據傳輸的方法、系統以及相關設備》第六方面提供了一種數據傳輸的系統,包括第四方面所述的中轉設備以及第五方面所述的擴散代理設備。

改善效果

《一種數據傳輸的方法、系統以及相關設備》實施例通過將多個具有音視頻上行許可權的第一客戶端以及具有音視頻上行許可權的目標客戶端與中轉設備連線,將多個不具有視頻上行許可權的第二客戶端與擴散代理設備連線,可以在中轉設備接收到目標客戶端傳送的音視頻數據時,中轉設備將音視頻數據分別轉發到各個第一客戶端以及擴散代理設備,再由擴散代理設備將獲得的音視頻數據再轉發至各第二客戶端,由於各第二客戶端均是由擴散代理設備進行管理,所以當第二客戶端的數量變得較龐大時可以較大程度的減輕網路控制策略系統和數據中轉系統的壓力,從而可以保證超大規模的音視頻通話服務系統的穩定性。

附圖說明

圖1是《一種數據傳輸的方法、系統以及相關設備》實施例提供的一種網路架構示意圖;
圖2是《一種數據傳輸的方法、系統以及相關設備》實施例提供的一種數據傳輸的方法的流程示意圖;
圖3是《一種數據傳輸的方法、系統以及相關設備》實施例提供的一種數據傳輸的方法的時序示意圖;
圖4是《一種數據傳輸的方法、系統以及相關設備》實施例提供的另一種數據傳輸的方法的流程示意圖;
圖5是《一種數據傳輸的方法、系統以及相關設備》實施例提供的又一種數據傳輸的方法的流程示意圖;
圖6是《一種數據傳輸的方法、系統以及相關設備》實施例提供的又一種數據傳輸的方法的流程示意圖;
圖7是《一種數據傳輸的方法、系統以及相關設備》實施例提供的一種中轉設備的結構示意圖;
圖8是《一種數據傳輸的方法、系統以及相關設備》實施例提供的另一種中轉設備的結構示意圖;
圖9是《一種數據傳輸的方法、系統以及相關設備》實施例提供的又一種中轉設備的結構示意圖;
圖10是《一種數據傳輸的方法、系統以及相關設備》實施例提供的一種擴散代理設備的結構示意圖;
圖11是《一種數據傳輸的方法、系統以及相關設備》實施例提供的另一種擴散代理設備的結構示意圖;
圖12是《一種數據傳輸的方法、系統以及相關設備》實施例提供的又一種擴散代理設備的結構示意圖;
圖13是《一種數據傳輸的方法、系統以及相關設備》實施例提供的一種數據傳輸的系統的結構示意圖。

技術領域

《一種數據傳輸的方法、系統以及相關設備》涉及網際網路技術領域,尤其涉及一種數據傳輸的方法、系統以及相關設備。

權利要求

1.一種數據傳輸的方法,其特徵在於,包括:中轉設備接收到處於目標頻道中且具有音視頻上行許可權的目標客戶端傳送的音視頻數據;所述中轉設備將所述音視頻數據轉發至處於所述目標頻道中且具有音視頻上行許可權的至少一個第一客戶端,並轉發至處於所述目標頻道中的擴散代理設備;所述擴散代理設備連線有處於所述目標頻道中且不具有音視頻上行許可權的至少一個第二客戶端;所述擴散代理設備根據所述至少一個第二客戶端中各第二客戶端的網路質量信息,採用對應的下行傳輸方式將所述音視頻數據轉發至所述各第二客戶端;所述各第二客戶端的網路質量信息是由所述擴散代理設備預先收集得到的。
2.如權利要求1所述的方法,其特徵在於,還包括:當所述至少一個第二客戶端中存在被分配有音視頻上行許可權的變更第二客戶端時,所述擴散代理設備接收流控引擎設備傳送的重定向指令;所述擴散代理設備根據所述重定向指令將所述變更第二客戶端的接入服務遷移至處於所述目標頻道中的中轉設備。
3.如權利要求1所述的方法,其特徵在於,還包括:當所述至少一個第二客戶端的總數量發生變化時,所述擴散代理設備將變化後的第二客戶端總數量上報至流控引擎設備,以使所述流控引擎設備根據上報的所述第二客戶端總數量、已統計的所述目標客戶端與所述至少一個第一客戶端的總數量,計算所述目標頻道中的客戶端總量。
4.如權利要求2所述的方法,其特徵在於,還包括:當所述目標客戶端的音視頻上行許可權被取消或所述第一客戶端開始上行傳輸音視頻數據或所述變更第二客戶端開始上行傳輸音視頻數據時,所述擴散代理設備和所述中轉設備均接收流控引擎設備傳送的客戶端變更信息;所述客戶端變更信息是指具有音視頻上行許可權的客戶端的狀態變化信息;所述中轉設備將所述客戶端變更信息轉發至所述目標客戶端、所述至少一個第一客戶端以及所述變更第二客戶端;所述擴散代理設備將所述客戶端變更信息轉發至所述至少一個第二客戶端。
5.如權利要求1所述的方法,其特徵在於,還包括:所述中轉設備維護至少一個音視頻通話頻道,並存儲與所述至少一個音視頻通話頻道中各音視頻通話頻道分別對應的擴散代理列表;其中,所述至少一個音視頻通話頻道至少包括所述目標頻道,所述擴散代理列表包括擴散代理設備地址。
6.如權利要求1所述的方法,其特徵在於,所述中轉設備將所述音視頻數據轉發至處於所述目標頻道中且具有音視頻上行許可權的至少一個第一客戶端,並轉發至處於所述目標頻道中的擴散代理設備,包括:所述中轉設備將所述音視頻數據拆分為音頻數據和視頻數據;所述中轉設備將所述音頻數據傳送至混音設備,以使所述混音設備將所述音頻數據混合為一路,以得到混音數據,並將所述混音數據轉發至所述中轉設備以及所述擴散代理設備;所述中轉設備將所述視頻數據傳送至轉碼設備,以使所述轉碼設備將所述視頻數據處理為至少一種視頻質量的碼流,並將所述至少一種視頻質量的碼流轉發至所述中轉設備以及所述擴散代理設備;所述中轉設備根據流控引擎設備所通知的下行傳輸方式,將對應的視頻質量的碼流以及所述混音數據轉發至所述至少一個第一客戶端;則所述擴散代理設備根據所述至少一個第二客戶端中各第二客戶端的網路質量信息,採用對應的下行傳輸方式將所述音視頻數據轉發至所述各第二客戶端,具體包括:所述擴散代理設備根據所述至少一個第二客戶端中各第二客戶端的網路質量信息,將對應的視頻質量的碼流以及所述混音數據轉發至所述各第二客戶端。
7.如權利要求6所述的方法,其特徵在於,還包括:所述中轉設備傳送錄製推流請求至所述轉碼設備,以使所述轉碼設備根據所述錄製推流請求獲取所述混音數據,並將所述混音數據和所述至少一種視頻質量的碼流封裝成流媒體信息,並將所述流媒體信息傳送至錄製存儲伺服器和/或內容分發網路CDN。
8.如權利要求1至7任一項所述的方法,其特徵在於,在所述中轉設備接收到處於目標頻道中且具有音視頻上行許可權的目標客戶端傳送的音視頻數據的步驟之前,還包括:所述中轉設備接收所述目標客戶端傳送的第一接入請求,並根據所述第一接入請求完成對所述目標客戶端的連線;所述第一接入請求是由所述目標客戶端根據策略服務設備分配的中轉設備地址所生成的,所述中轉設備地址是由所述策略服務設備在檢測到所述目標客戶端具有音視頻上行許可權時所分配的;所述擴散代理設備接收所述各第二客戶端傳送的第二接入請求,並根據所述第二接入請求完成對所述各第二客戶端的連線;所述第二接入請求是由所述各第二客戶端根據策略服務設備分配的擴散代理設備地址所生成的,所述擴散代理設備地址是由所述策略服務設備在檢測到所述各第二客戶端不具有音視頻上行許可權時所分配的。
9.一種數據傳輸的方法,其特徵在於,包括:中轉設備接收到處於目標頻道中且具有音視頻上行許可權的目標客戶端傳送的音視頻數據;所述中轉設備將所述音視頻數據轉發至處於所述目標頻道中且具有音視頻上行許可權的至少一個第一客戶端,並轉發至處於所述目標頻道中的擴散代理設備,以使所述擴散代理設備根據至少一個第二客戶端中各第二客戶端的網路質量信息採用對應的下行傳輸方式將所述音視頻數據轉發至所述各第二客戶端;其中,所述至少一個第二客戶端是與所述擴散代理設備相連線、處於所述目標頻道且不具有音視頻上行許可權的客戶端;所述各第二客戶端的網路質量信息是由所述擴散代理設備預先收集得到的。
10.如權利要求9所述的方法,其特徵在於,還包括:當所述目標客戶端的音視頻上行許可權被取消或所述第一客戶端開始上行傳輸音視頻數據或所述變更第二客戶端開始上行傳輸音視頻數據時,所述中轉設備接收流控引擎設備傳送的客戶端變更信息;所述客戶端變更信息是指具有音視頻上行許可權的客戶端的狀態變化信息;所述中轉設備將所述客戶端變更信息轉發至所述目標客戶端、所述至少一個第一客戶端以及所述變更第二客戶端;其中,所述變更第二客戶端是指被分配有音視頻上行許可權的第二客戶端。
11.如權利要求9所述的方法,其特徵在於,還包括:所述中轉設備維護至少一個音視頻通話頻道,並存儲與所述至少一個音視頻通話頻道中各音視頻通話頻道分別對應的擴散代理列表;其中,所述至少一個音視頻通話頻道至少包括所述目標頻道,所述擴散代理列表包括擴散代理設備地址。
12.如權利要求9所述的方法,其特徵在於,所述中轉設備將所述音視頻數據轉發至處於所述目標頻道中且具有音視頻上行許可權的至少一個第一客戶端,並轉發至處於所述目標頻道中的擴散代理設備,以使所述擴散代理設備根據至少一個第二客戶端中各第二客戶端的網路質量信息採用對應的下行傳輸方式將所述音視頻數據轉發至所述各第二客戶端,包括:所述中轉設備將所述音視頻數據拆分為音頻數據和視頻數據;所述中轉設備將所述音頻數據傳送至混音設備,以使所述混音設備將所述音頻數據混合為一路,以得到混音數據,並將所述混音數據轉發至所述中轉設備以及所述擴散代理設備;所述中轉設備將所述視頻數據傳送至轉碼設備,以使所述轉碼設備將所述視頻數據處理為至少一種視頻質量的碼流,並將所述至少一種視頻質量的碼流轉發至所述中轉設備以及所述擴散代理設備;所述中轉設備根據流控引擎設備所通知的下行傳輸方式,將對應的視頻質量的碼流以及所述混音數據轉發至所述至少一個第一客戶端;其中,所述擴散代理設備是用於根據所述至少一個第二客戶端中各第二客戶端的網路質量信息將對應的視頻質量的碼流以及所述混音數據轉發至所述各第二客戶端的設備。
13.如權利要求12所述的方法,其特徵在於,還包括:所述中轉設備傳送錄製推流請求至所述轉碼設備,以使所述轉碼設備根據所述錄製推流請求獲取所述混音數據,並將所述混音數據和所述至少一種視頻質量的碼流封裝成流媒體信息,並將所述流媒體信息傳送至錄製存儲伺服器和/或內容分發網路CDN。
14.一種數據傳輸的方法,其特徵在於,包括:擴散代理設備接收中轉設備傳送的音視頻數據;所述音視頻數據是由處於目標頻道中且具有音視頻上行許可權的目標客戶端傳送到所述中轉設備中的數據;所述擴散代理設備連線有處於所述目標頻道中且不具有音視頻上行許可權的至少一個第二客戶端;所述擴散代理設備根據所述至少一個第二客戶端中各第二客戶端的網路質量信息,採用對應的下行傳輸方式將所述音視頻數據轉發至所述各第二客戶端;所述各第二客戶端的網路質量信息是由所述擴散代理設備預先收集得到的;其中,所述中轉設備是用於將所述音視頻數據轉發至處於所述目標頻道中且具有音視頻上行許可權的至少一個第一客戶端並轉發至處於所述目標頻道中的所述擴散代理設備的設備。
15.如權利要求14所述的方法,其特徵在於,還包括:當所述至少一個第二客戶端中存在被分配有音視頻上行許可權的變更第二客戶端時,所述擴散代理設備接收流控引擎設備傳送的重定向指令;所述擴散代理設備根據所述重定向指令將所述變更第二客戶端的接入服務遷移至處於所述目標頻道中的中轉設備。
16.如權利要求14所述的方法,其特徵在於,還包括:當所述至少一個第二客戶端的總數量發生變化時,所述擴散代理設備將變化後的第二客戶端總數量上報至流控引擎設備,以使所述流控引擎設備根據上報的所述第二客戶端總數量、已統計的所述目標客戶端與所述至少一個第一客戶端的總數量,計算所述目標頻道中的客戶端總量。
17.如權利要求15所述的方法,其特徵在於,還包括:當所述目標客戶端的音視頻上行許可權被取消或所述第一客戶端開始上行傳輸音視頻數據或所述變更第二客戶端開始上行傳輸音視頻數據時,所述擴散代理設備接收流控引擎設備傳送的客戶端變更信息;所述客戶端變更信息是指具有音視頻上行許可權的客戶端的狀態變化信息;所述擴散代理設備將所述客戶端變更信息轉發至所述至少一個第二客戶端。
18.一種中轉設備,其特徵在於,包括:中轉接收模組,用於接收到處於目標頻道中且具有音視頻上行許可權的目標客戶端傳送的音視頻數據;中轉傳送模組,用於將所述音視頻數據轉發至處於所述目標頻道中且具有音視頻上行許可權的至少一個第一客戶端,並轉發至處於所述目標頻道中的擴散代理設備,以使所述擴散代理設備根據至少一個第二客戶端中各第二客戶端的網路質量信息採用對應的下行傳輸方式將所述音視頻數據轉發至所述各第二客戶端;其中,所述至少一個第二客戶端是與所述擴散代理設備相連線、處於所述目標頻道且不具有音視頻上行許可權的客戶端;所述各第二客戶端的網路質量信息是由所述擴散代理設備預先收集得到的。
19.如權利要求18所述的中轉設備,其特徵在於,所述中轉接收模組,還用於當所述目標客戶端的音視頻上行許可權被取消或所述第一客戶端開始上行傳輸音視頻數據或所述變更第二客戶端開始上行傳輸音視頻數據時,接收流控引擎設備傳送的客戶端變更信息;所述客戶端變更信息是指具有音視頻上行許可權的客戶端的狀態變化信息;所述中轉傳送模組,還用於將所述客戶端變更信息轉發至所述目標客戶端、所述至少一個第一客戶端以及所述變更第二客戶端;其中,所述變更第二客戶端是指被分配有音視頻上行許可權的第二客戶端。
20.如權利要求18所述的中轉設備,其特徵在於,還包括:維護存儲模組,用於維護至少一個音視頻通話頻道,並存儲與所述至少一個音視頻通話頻道中各音視頻通話頻道分別對應的擴散代理列表;其中,所述至少一個音視頻通話頻道至少包括所述目標頻道,所述擴散代理列表包括擴散代理設備地址。
21.如權利要求18所述的中轉設備,其特徵在於,所述中轉傳送模組包括:拆分單元,用於將所述音視頻數據拆分為音頻數據和視頻數據;傳送單元,用於將所述音頻數據傳送至混音設備,以使所述混音設備將所述音頻數據混合為一路,以得到混音數據,並將所述混音數據轉發至所述中轉設備以及所述擴散代理設備;所述傳送單元,還用於將所述視頻數據傳送至轉碼設備,以使所述轉碼設備將所述視頻數據處理為至少一種視頻質量的碼流,並將所述至少一種視頻質量的碼流轉發至所述中轉設備以及所述擴散代理設備;所述傳送單元,還用於根據流控引擎設備所通知的下行傳輸方式,將對應的視頻質量的碼流以及所述混音數據轉發至所述至少一個第一客戶端;其中,所述擴散代理設備是用於根據所述至少一個第二客戶端中各第二客戶端的網路質量信息將對應的視頻質量的碼流以及所述混音數據轉發至所述各第二客戶端的設備。
22.如權利要求21所述的中轉設備,其特徵在於,還包括:請求傳送模組,用於傳送錄製推流請求至所述轉碼設備,以使所述轉碼設備根據所述錄製推流請求獲取所述混音數據,並將所述混音數據和所述至少一種視頻質量的碼流封裝成流媒體信息,並將所述流媒體信息傳送至錄製存儲伺服器和/或內容分發網路CDN。
23.一種擴散代理設備,其特徵在於,包括:代理接收模組,用於接收中轉設備傳送的音視頻數據;所述音視頻數據是由處於目標頻道中且具有音視頻上行許可權的目標客戶端傳送到所述中轉設備中的數據;所述擴散代理設備連線有處於所述目標頻道中且不具有音視頻上行許可權的至少一個第二客戶端;代理髮送模組,用於根據所述至少一個第二客戶端中各第二客戶端的網路質量信息,採用對應的下行傳輸方式將所述音視頻數據轉發至所述各第二客戶端;所述各第二客戶端的網路質量信息是由所述擴散代理設備預先收集得到的;其中,所述中轉設備是用於將所述音視頻數據轉發至處於所述目標頻道中且具有音視頻上行許可權的至少一個第一客戶端並轉發至處於所述目標頻道中的所述擴散代理設備的設備。
24.如權利要求23所述的擴散代理設備,其特徵在於,還包括:指令接收模組,用於當所述至少一個第二客戶端中存在被分配有音視頻上行許可權的變更第二客戶端時,接收流控引擎設備傳送的重定向指令;遷移模組,用於根據所述重定向指令將所述變更第二客戶端的接入服務遷移至處於所述目標頻道中的中轉設備。
25.如權利要求23所述的擴散代理設備,其特徵在於,還包括:數量上報模組,用於當所述至少一個第二客戶端的總數量發生變化時,將變化後的第二客戶端總數量上報至流控引擎設備,以使所述流控引擎設備根據上報的所述第二客戶端總數量、已統計的所述目標客戶端與所述至少一個第一客戶端的總數量,計算所述目標頻道中的客戶端總量。
26.如權利要求24所述的擴散代理設備,其特徵在於,所述代理接收模組,還用於當所述目標客戶端的音視頻上行許可權被取消或所述第一客戶端開始上行傳輸音視頻數據或所述變更第二客戶端開始上行傳輸音視頻數據時,接收流控引擎設備傳送的客戶端變更信息;所述客戶端變更信息是指具有音視頻上行許可權的客戶端的狀態變化信息;所述代理髮送模組,還用於將所述客戶端變更信息轉發至所述至少一個第二客戶端。
27.一種數據傳輸的系統,其特徵在於,包括:包括中轉設備和擴散代理設備,所述中轉設備為權利要求18-22任一項所述的中轉設備,所述擴散代理設備為權利要求23-26任一項所述的擴散代理設備。

實施方式

先對《一種數據傳輸的方法、系統以及相關設備》實施例適用的網路構架進行描述。參閱圖1,圖1是《一種數據傳輸的方法、系統以及相關設備》實施例公開的一種網路構架的示意圖。如圖1所示,該網路架構可以包括策略服務設備、流控引擎設備、多箇中轉設備、多個擴散代理設備以及多個客戶端。其中,所述策略服務設備可以通過網路與所述流控引擎設備通信、所述流控引擎設備可以通過網路與所述多箇中轉設備以及所述多個擴散代理設備通信,所述多箇中轉設備可以通過網路與所述多個擴散代理設備通信,所述多箇中轉設備可以與具有音視頻上行許可權的客戶端進行網路連線,所述多個擴散代理設備可以與不具有音視頻上行許可權的客戶端進行網路連線。其中,所述具有音視頻上行許可權的客戶端為能夠上傳數據的客戶端,所述不具有音視頻上行許可權的客戶端為無法上傳數據的客戶端,每箇中轉設備均管理、維護多個音視頻通話頻道(即指多個音視頻房間),不同的中轉設備可以管理和維護相同的音視頻通話頻道,每個擴散代理設備也均管理、維護多個音視頻通話頻道,不同的擴散代理設備可以管理和維護相同的音視頻通話頻道。一個音視頻通話頻道中可以包括至少一個中轉設備、至少一個擴散代理設備、至少一個具有音視頻上行許可權的客戶端以及至少一個不具有音視頻上行許可權的客戶端。所述策略服務設備負責分配房間號、數據中轉服務的接入地址以及安全校驗等工作,所述流控引擎設備負責房間管理、房間內用戶流控計算和數據同步等工作。其中,每箇中轉設備還存儲有所維護的每個音視頻通話頻道對應的擴散代理列表,所述擴散代理列表包括處於對應的音視頻通話頻道中的擴散代理設備的信息,每箇中轉設備所存儲的擴散代理列表均可以由所述流控引擎設備進行同步更新。在實際的套用場景中,當與中轉設備相連線的其中一個客戶端上行傳輸音視頻數據時,與該客戶端相連線的中轉設備可以將音視頻數據轉發到其他處於相同的音視頻通話頻道中的中轉設備,並將音視頻數據轉發至各個處於相同的音視頻通話頻道中的擴散代理設備,使得各個處於相同的音視頻通話頻道中的中轉設備可以分別將音視頻數據再轉發至與各自相連線的且處於相同的音視頻通話頻道的客戶端,各個處於相同的音視頻通話頻道中的擴散代理設備可以分別將音視頻數據再轉發至與各自相連線的且處於相同的音視頻通話頻道的客戶端。
參見圖2,是《一種數據傳輸的方法、系統以及相關設備》實施例提供的一種數據傳輸的方法的流程示意圖,所述方法可以包括:
S101,中轉設備接收到處於目標頻道中且具有音視頻上行許可權的目標客戶端傳送的音視頻數據;
具體的,中轉設備可以接收到處於目標頻道中且具有音視頻上行許可權的目標客戶端傳送的音視頻數據,所述中轉設備可以為上述圖1對應的網路結構中的任意一個中轉設備,所述目標客戶端可以為與所述中轉設備相連線的多個處於目標頻道中且具有音視頻上行許可權的客戶端中的任意一個客戶端。所述目標頻道為至少一個音視頻通話頻道中的其中一個頻道。
S102,所述中轉設備將所述音視頻數據轉發至處於所述目標頻道中且具有音視頻上行許可權的至少一個第一客戶端,並轉發至處於所述目標頻道中的擴散代理設備;所述擴散代理設備連線有處於所述目標頻道中且不具有音視頻上行許可權的至少一個第二客戶端;
具體的,所述中轉設備接收到所述音視頻數據後,所述中轉設備可以將所述音視頻數據轉發至處於所述目標頻道中且具有音視頻上行許可權的至少一個第一客戶端。其中,所述中轉設備將所述音視頻數據轉發至所述至少一個第一客戶端的過程具體包括:所述中轉設備根據流控引擎設備所通知的下行傳輸方式,將所述音視頻數據轉發至與所述中轉設備相連線、處於所述目標頻道中且具有音視頻上行許可權的至少一個第一客戶端,並將所述音視頻數據轉發至關聯中轉設備,以使所述關聯中轉設備將所述音視頻數據轉發至與所述關聯中轉設備相連線、處於所述目標頻道中且具有音視頻上行許可權的至少一個第一客戶端;所述關聯中轉設備包括處於所述目標頻道中除了所述中轉設備以外的其他中轉設備。所述中轉設備還將所接收到的所述音視頻數據轉發至處於所述目標頻道中的擴散代理設備,所述擴散代理設備連線有處於所述目標頻道中且不具有音視頻上行許可權的至少一個第二客戶端。其中,所述流控引擎設備向所述中轉設備和所述關聯中轉設備通知的下行傳輸方式是根據預先收集到的所述至少一個第一客戶端的網路質量信息所確定的,例如,所述中轉設備和所述關聯中轉設備可以直接轉發完整的音視頻數據到網路比較流暢的第一客戶端,也可以用跳幀的方式將所述音視頻數據轉發到弱網路的第一客戶端。其中,所述網路質量信息可以包括丟包率、延遲信息等統計信息。其中,所述關聯中轉設備的數量和所述擴散代理設備的數量均可以為多個。
其中,在S101步驟之前,還包括:
所述中轉設備接收所述目標客戶端傳送的第一接入請求,並根據所述第一接入請求完成對所述目標客戶端的連線;所述第一接入請求是由所述目標客戶端根據策略服務設備分配的中轉設備地址所生成的,所述中轉設備地址是由所述策略服務設備在檢測到所述目標客戶端具有音視頻上行許可權時所分配的;
所述擴散代理設備接收所述各第二客戶端傳送的第二接入請求,並根據所述第二接入請求完成對所述各第二客戶端的連線;所述第二接入請求是由所述各第二客戶端根據策略服務設備分配的擴散代理設備地址所生成的,所述擴散代理設備地址是由所述策略服務設備在檢測到所述各第二客戶端不具有音視頻上行許可權時所分配的。其中,與所述中轉設備連線的至少一個第一客戶端所獲得的中轉設備地址也是由所述策略服務設備分配的,與所述關聯中轉設備連線的至少一個第一客戶端所獲得的關聯中轉設備地址也是由所述策略服務設備分配的。
S103,所述擴散代理設備根據所述至少一個第二客戶端中各第二客戶端的網路質量信息,採用對應的下行傳輸方式將所述音視頻數據轉發至所述各第二客戶端;所述各第二客戶端的網路質量信息是由所述擴散代理設備預先收集得到的;
具體的,所述中轉設備將所述音視頻數據傳送至處於所述目標頻道的擴散代理設備後,每個處於所述目標頻道的擴散代理設備均可以根據所述各第二客戶端分別對應的網路質量信息,採用對應的下行傳輸方式將所述音視頻數據分別傳送至所連線的所述各第二客戶端。例如,假設其中一個處於所述目標頻道的擴散代理設備連線有第二客戶端A以及第二客戶端B,若所述擴散代理設備感知到所述第二客戶端A的網路比較流暢,則所述擴散代理設備可以將完整的音視頻數據轉發至所述第二客戶端A;同時,若所述擴散代理設備感知到所述第二客戶端B的網路不太穩定,則所述擴散代理設備可以採用跳幀的方式將音視頻數據轉發至所述第二客戶端B。其中,所述擴散代理設備可以定時收集所述各第二客戶端的網路質量信息,由於所有第二客戶端的網路質量信息均是上報給所述擴散代理設備,而所述流控引擎設備只需收集所有第一客戶端以及目標客戶端的網路質量信息,所以可以進一步減輕所述流控引擎設備的壓力。
《一種數據傳輸的方法、系統以及相關設備》實施例通過將多個具有音視頻上行許可權的第一客戶端以及具有音視頻上行許可權的目標客戶端與中轉設備連線,將多個不具有視頻上行許可權的第二客戶端與擴散代理設備連線,可以在中轉設備接收到目標客戶端傳送的音視頻數據時,中轉設備將音視頻數據分別轉發到各個第一客戶端以及擴散代理設備,再由擴散代理設備將獲得的音視頻數據再轉發至各第二客戶端,由於各第二客戶端均是由擴散代理設備進行管理,所以當第二客戶端的數量變得較龐大時可以較大程度的減輕網路控制策略系統和數據中轉系統的壓力,從而可以保證超大規模的音視頻通話服務系統的穩定性。
參見圖3,是《一種數據傳輸的方法、系統以及相關設備》實施例提供的一種數據傳輸的方法的時序示意圖,《一種數據傳輸的方法、系統以及相關設備》實施例從中轉設備、擴散代理設備、流控引擎設備、第一客戶端、第二客戶端以及目標客戶端側共同闡述數據傳輸方法的具體流程,該方法可以包括:
S201,目標客戶端傳送音視頻數據到中轉設備;
具體的,所述目標客戶端可以為處於目標頻道中且具有音視頻上行許可權的客戶端,所述目標客戶端與所述中轉設備連線。所述中轉設備可以為上述圖1對應的網路結構中的任意一個中轉設備,所述目標客戶端可以為與所述中轉設備相連線的多個處於目標頻道中且具有音視頻上行許可權的客戶端中的任意一個客戶端。所述目標頻道為至少一個音視頻通話頻道中的其中一個頻道。
S202,所述中轉設備轉發音視頻數據到第一客戶端;
具體的,所述中轉設備接收到所述音視頻數據後,所述中轉設備可以將所述音視頻數據轉發至處於所述目標頻道中且具有音視頻上行許可權的至少一個第一客戶端。其中,所述中轉設備將所述音視頻數據轉發至所述至少一個第一客戶端的過程具體包括:所述中轉設備根據流控引擎設備所通知的下行傳輸方式,將所述音視頻數據轉發至與所述中轉設備相連線、處於所述目標頻道中且具有音視頻上行許可權的至少一個第一客戶端,並將所述音視頻數據轉發至關聯中轉設備,以使所述關聯中轉設備將所述音視頻數據轉發至與所述關聯中轉設備相連線、處於所述目標頻道中且具有音視頻上行許可權的至少一個第一客戶端;所述關聯中轉設備包括處於所述目標頻道中除了所述中轉設備以外的其他中轉設備。其中,所述流控引擎設備向所述中轉設備和所述關聯中轉設備通知的下行傳輸方式是根據預先收集到的所述至少一個第一客戶端的網路質量信息所確定的,例如,所述中轉設備和所述關聯中轉設備可以直接轉發完整的音視頻數據到網路比較流暢的第一客戶端,也可以用跳幀的方式將所述音視頻數據轉發到弱網路的第一客戶端。其中,所述關聯中轉設備的數量可以為多個。
S203,所述中轉設備轉發所述音視頻數據到擴散代理設備;
具體的,S203步驟和S202步驟可以同時執行,即所述中轉設備在將所述音視頻數據轉發至所述第一客戶端時,還可以將所述音視頻數據轉發至所述擴散代理設備,所述擴散代理設備連線有處於所述目標頻道中且不具有音視頻上行許可權的至少一個第二客戶端。所述擴散代理設備的數量可以為多個。
S204,所述擴散代理設備轉發所述音視頻數據到所述第二客戶端,
具體的,所述中轉設備將所述音視頻數據傳送至處於所述目標頻道的擴散代理設備後,每個處於所述目標頻道的擴散代理設備均可以根據所述各第二客戶端分別對應的網路質量信息,採用對應的下行傳輸方式將所述音視頻數據分別傳送至所連線的所述各第二客戶端。例如,假設其中一個處於所述目標頻道的擴散代理設備連線有第二客戶端A以及第二客戶端B,若所述擴散代理設備感知到所述第二客戶端A的網路比較流暢,則所述擴散代理設備可以將完整的音視頻數據轉發至所述第二客戶端A;同時,若所述擴散代理設備感知到所述第二客戶端B的網路不太穩定,則所述擴散代理設備可以採用跳幀的方式將音視頻數據轉發至所述第二客戶端B。其中,所述擴散代理設備可以定時收集所述各第二客戶端的網路質量信息,由於所有第二客戶端的網路質量信息均是上報給所述擴散代理設備,而所述流控引擎設備只需收集所有第一客戶端以及目標客戶端的網路質量信息,所以可以進一步減輕所述流控引擎設備的壓力。
S205,當所述第二客戶端中存在被分配有音視頻上行許可權的變更第二客戶端時,所述流控引擎設備傳送重定向指令到所述擴散代理設備;
S206,所述擴散代理設備根據所述重定向指令將所述變更第二客戶端的接入服務遷移至所述中轉設備;
具體的,S205-S206步驟可以在任意時刻執行,當檢測到多個所述第二客戶端中存在被分配有音視頻上行許可權的變更第二客戶端時,所述流控引擎設備傳送重定向指令到所述擴散代理設備,以使所述擴散代理設備根據所述重定向指令將所述變更第二客戶端的接入服務遷移至所述中轉設備,使得所述中轉設備可以與所述變更第二客戶端建立連線關係。由於所述擴散代理設備本身沒有上行數據轉發功能,所以當擴散代理設備中的用戶獲得上行數據許可權(主播控麥、老師點名學生回答問題等場景)的時候,就需要將該用戶重定向至數據中轉設備。例如,某第一客戶端為“老師”用戶,某第二客戶端為“學生”用戶,當該“老師”用戶想要點名該“學生”用戶回答問題時,該第一客戶端可以傳送訊息通知所述流控引擎設備傳送重定向指令到該第二客戶端所在的擴散代理設備,以開通該第二客戶端的音視頻上行許可權,並將該第二客戶端重新連線至對應的中轉設備。對第二客戶端重定向的實現方式可以包括:第二客戶端重新走一遍到策略服務申請分配接入的流程,或者後台事先把信息查好放入重定向指令中。但無論採用哪種方式,所述流控引擎設備都需要到業務後台獲取重定向用戶的許可權,並根據用戶許可權來分配合適的接入服務。《一種數據傳輸的方法、系統以及相關設備》不僅可以將第二客戶端重定向至中轉設備,也可以將第一客戶端/目標客戶端重定向至擴散代理設備。
重定向過程對於用戶而言是透明的,即被重定向的第一客戶端/第二客戶端/目標客戶端應該採取平滑處理的手段來隱藏重定向的過程。例如,第二客戶端先不斷開與所述擴散代理設備之間的通道,等到與所述中轉設備的通道建立完成並能夠收發數據之後再斷開與所述擴散代理設備的通道。
S207,當所述第二客戶端的總數量發生變化時,所述擴散代理設備上報變化後的第二客戶端總數量到所述流控引擎設備;
S208,所述流控引擎設備計算目標頻道中的客戶端總量
具體的,S207-S208的步驟可以在任意時刻執行,當所述第二客戶端的總數量發生變化時,即說明有新的第二客戶端接入到所述擴散代理設備中,或所述擴散代理設備中的第二客戶端下線,此時,所述擴散代理設備可以上報變化後的第二客戶端總數量到所述流控引擎設備,使得所述流控引擎設備可以根據上報的所述第二客戶端總數量、已統計的所述目標客戶端與所述第一客戶端的總數量,計算目標頻道中的客戶端總量,即目標頻道中的客戶端總量為所述第二客戶端加所述第一客戶端加所述目標客戶端的總和。通過上報變化後的第二客戶端總數量,可以使所述流控引擎設備感知目標頻道內的總人數變化。
S209,當所述目標客戶端的音視頻上行許可權被取消或所述第一客戶端開始上行傳輸音視頻數據或所述變更第二客戶端開始上行傳輸音視頻數據時,所述流控引擎設備傳送客戶端變更信息到所述擴散代理設備;
S210,所述流控引擎設備傳送客戶端變更信息到所述中轉設備;
S211,所述中轉設備將所述客戶端變更信息轉發至所述第一客戶端;
S212,所述中轉設備將所述客戶端變更信息轉發至所述目標客戶端;
S213,所述擴散代理設備將所述客戶端變更信息轉發至所述第二客戶端;
具體的,S209-S213的步驟可以在任意時刻執行,當所述目標客戶端的音視頻上行許可權被取消或所述第一客戶端開始上行傳輸音視頻數據或所述變更第二客戶端開始上行傳輸音視頻數據時,所述流控引擎設備可以傳送客戶端變更信息到處於所述目標頻道的所述擴散代理設備和所述中轉設備,使得所述擴散代理設備可以將所述客戶端變更信息轉發至所述第二客戶端,並使得所述中轉設備可以將所述客戶端變更信息轉發至所述目標客戶端、所述第一客戶端以及所述變更第二客戶端,以便於所述目標客戶端、所述第一客戶端、所述第二客戶端以及所述變更第二客戶端可以得知所述目標頻道內具有音視頻上行許可權的客戶端的狀態變化情況。其中,所述變更第二客戶端可以為上述S205-S206步驟中的變更第二客戶端。其中,所述客戶端變更信息可以包括被取消音視頻上行許可權的目標客戶端信息、開始上行傳輸音視頻數據的第一客戶端信息以及開始上行傳輸音視頻數據的變更第二客戶端信息中的至少一種。其中,所述流控引擎設備還可以傳送客戶端變更信息到關聯中轉設備,使得所述關聯中轉設備也將所述客戶端變更信息轉發至所連線的第一客戶端。例如,當一個僅收聽/看用戶(即第二客戶端)獲取了上行數據的許可權、完成重定向並真正開始通過所述中轉設備上行音視頻數據的時候,所述流控引擎設備需要在該用戶所在的音視頻通話房間(即目標頻道)內廣播所述客戶端變更信息,以將所述客戶端變更信息通知到該音視頻通話房間內的所有用戶,使所有用戶知曉有一路新的音視頻數據可供訂閱,具體的廣播方式即為所述流控引擎設備將所述客戶端變更信息傳送至對應的中轉設備以及擴散代理設備,以使對應的中轉設備以及擴散代理設備再將所述客戶端變更信息轉發至對應的客戶端。可選的,還可以跳過訂閱步驟,把新上行的數據直接推送給該音視頻通話房間內的所有客戶端,讓所有客戶端通過數據的變化來感知到新的數據源。又例如,當存在一個正在上行音視頻數據的目標客戶端被取消了音視頻上行許可權或連線斷開等原因不再上行數據時,所述流控引擎設備有義務將所述客戶端變更信息廣播給處於目標頻道內的所有用戶(包括各個第一客戶端、各個第二客戶端以及目標客戶端),以方便客戶端為用戶做出更友好的提示。
可選的,由於第一客戶端和目標客戶端狀態的通知都是廣播式的,在傳播過程中可能出現丟包或網路異常而導致部分擴散代理設備和/或部分中轉設備收不到通知,所以所述流控引擎設備應該定時將所有第一客戶端和目標客戶端的狀態廣播給維護有所述目標頻道的所有擴散代理設備以及中轉設備,以彌補偶然的通知丟失所帶來的狀態不一致問題。
《一種數據傳輸的方法、系統以及相關設備》實施例通過將多個具有音視頻上行許可權的第一客戶端以及具有音視頻上行許可權的目標客戶端與中轉設備連線,將多個不具有視頻上行許可權的第二客戶端與擴散代理設備連線,可以在中轉設備接收到目標客戶端傳送的音視頻數據時,中轉設備將音視頻數據分別轉發到各個第一客戶端以及擴散代理設備,再由擴散代理設備將獲得的音視頻數據再轉發至各第二客戶端,由於各第二客戶端均是由擴散代理設備進行管理,所以當第二客戶端的數量變得較龐大時可以較大程度的減輕網路控制策略系統和數據中轉系統的壓力,從而可以保證超大規模的音視頻通話服務系統的穩定性。
參見圖4,是《一種數據傳輸的方法、系統以及相關設備》實施例提供的另一種數據傳輸的方法的流程示意圖,所述方法可以包括:
S301,中轉設備接收到處於目標頻道中且具有音視頻上行許可權的目標客戶端傳送的音視頻數據;
具體的,中轉設備可以接收到處於目標頻道中且具有音視頻上行許可權的目標客戶端傳送的音視頻數據,所述中轉設備可以為上述圖1對應的網路結構中的任意一個中轉設備,所述目標客戶端可以為與所述中轉設備相連線的多個處於目標頻道中且具有音視頻上行許可權的客戶端中的任意一個客戶端。所述目標頻道為至少一個音視頻通話頻道中的其中一個頻道。
S302,所述中轉設備將所述音視頻數據拆分為音頻數據和視頻數據;
S303,所述中轉設備將所述音頻數據傳送至混音設備,以使所述混音設備將所述音頻數據混合為一路,以得到混音數據,並將所述混音數據轉發至所述中轉設備以及所述擴散代理設備;
具體的,所述中轉設備將所述音頻數據傳送至混音設備,以使所述混音設備將所述音頻數據混合為一路,以得到混音數據,並將所述混音數據轉發至所述中轉設備以及所述擴散代理設備,所述混音設備還將所述混音數據轉發至關聯中轉設備,所述關聯中轉設備包括處於所述目標頻道中除了所述中轉設備以外的其他中轉設備。
S304,所述中轉設備將所述視頻數據傳送至轉碼設備,以使所述轉碼設備將所述視頻數據處理為至少一種視頻質量的碼流,並將所述至少一種視頻質量的碼流轉發至所述中轉設備以及所述擴散代理設備;
具體的,S303和S304可以同時執行,所述中轉設備將所述視頻數據傳送至轉碼設備,以使所述轉碼設備將所述視頻數據處理為至少一種視頻質量的碼流,並將所述至少一種視頻質量的碼流轉發至所述中轉設備以及所述擴散代理設備,所述轉碼設備還將所述至少一種視頻質量的碼流轉發至所述關聯中轉設備。其中,所述至少一種視頻質量的碼流可以包括多種碼率的碼流或多種解析度的碼流。
S305,所述中轉設備根據流控引擎設備所通知的下行傳輸方式,將對應的視頻質量的碼流以及所述混音數據轉發至所述至少一個第一客戶端;
具體的,所述中轉設備可以根據流控引擎設備所通知的下行傳輸方式,將對應的視頻質量的碼流以及所述混音數據轉發至所述至少一個第一客戶端。其中,所述關聯中轉設備也可以根據流控引擎設備所通知的下行傳輸方式,將對應的視頻質量的碼流以及所述混音數據轉發至所連線的第一客戶端。所述流控引擎設備向所述中轉設備和所述關聯中轉設備通知的下行傳輸方式是根據預先收集到的所述至少一個第一客戶端的網路質量信息所確定的。例如,所述中轉設備連線有第一客戶端A以及第一客戶端B,若所述第一客戶端A對應的網路質量比較流暢,則對應的下行傳輸方式可以為高碼率的碼流,此時,所述中轉設備將高碼率的碼流和所述混音數據轉發至所述第一客戶端A;同時,若所述第一客戶端B的網路質量比較差,則對應的下行傳輸方式可以為低碼率的碼流,此時,所述中轉設備將低碼率的碼流和所述混音數據轉發至所述第一客戶端B。
S306,所述擴散代理設備根據所述至少一個第二客戶端中各第二客戶端的網路質量信息,將對應的視頻質量的碼流以及所述混音數據轉發至所述各第二客戶端;
具體的,S305可以與S306同時執行,所述擴散代理設備根據所述至少一個第二客戶端中各第二客戶端的網路質量信息,將對應的視頻質量的碼流以及所述混音數據轉發至所述各第二客戶端,所述各第二客戶端的網路質量信息是由所述擴散代理設備定期收集到的。例如,所述擴散代理設備連線有第二客戶端A以及第二客戶端B,若所述第二客戶端A對應的網路質量比較流暢,則所述擴散代理設備將高碼率的碼流和所述混音數據轉發至所述第二客戶端A;同時,若所述第二客戶端B的網路質量比較差,則所述擴散代理設備將低碼率的碼流和所述混音數據轉發至所述第二客戶端B。由於所有第二客戶端的網路質量信息均是上報給所述擴散代理設備,而所述流控引擎設備只需收集所有第一客戶端以及目標客戶端的網路質量信息,所以可以進一步減輕所述流控引擎設備的壓力。其中,通過將所述音頻數據混合成一路,可以為各客戶端節省一部分下行流量。
可選的,所述中轉設備將所述音頻數據和所述視頻數據傳送至所述轉碼設備和所述混音設備後,所述中轉設備還可以傳送錄製推流請求至所述轉碼設備,以使所述轉碼設備根據所述錄製推流請求獲取所述混音數據,並將所述混音數據和所述至少一種視頻質量的碼流封裝成流媒體信息,並將所述流媒體信息傳送至錄製存儲伺服器和/或CDN(ContentDelivery Network,內容分發網路)。所述流媒體信息的格式可以包括TS、MP4、FLV等。《一種數據傳輸的方法、系統以及相關設備》的音視頻通話服務系統通過與CDN和存儲伺服器的對接,可以脫離原有實時通話業務的束縛,更好地服務於那些需要錄製音視頻數據(如銀行、客服等)和能夠容忍延時但希望通過Web觀看的業務(如直播、教育等)。
《一種數據傳輸的方法、系統以及相關設備》實施例可以使原有的實時多人音視頻通話服務系統仍然保持小房間的管理模式,以平行擴展的方式極大地拓展了單房間支撐上限,同時又能夠做到對相關架構衝擊最小、風險可控。此外,利用混音設備和轉碼設備的功能,還可以進一步完善下行通道質量控制能力、多客戶端收看覆蓋和後台錄製的能力,以進一步保證超大規模的音視頻通話服務系統的穩定性。
參見圖5,是《一種數據傳輸的方法、系統以及相關設備》實施例提供的又一種數據傳輸的方法的流程示意圖,所述方法可以包括:
S401,中轉設備接收到處於目標頻道中且具有音視頻上行許可權的目標客戶端傳送的音視頻數據;
S402,所述中轉設備將所述音視頻數據轉發至處於所述目標頻道中且具有音視頻上行許可權的至少一個第一客戶端,並轉發至處於所述目標頻道中的擴散代理設備,以使所述擴散代理設備根據至少一個第二客戶端中各第二客戶端的網路質量信息採用對應的下行傳輸方式將所述音視頻數據轉發至所述各第二客戶端;
其中,所述至少一個第二客戶端是與所述擴散代理設備相連線、處於所述目標頻道且不具有音視頻上行許可權的客戶端;所述各第二客戶端的網路質量信息是由所述擴散代理設備預先收集得到的。
S401-S402步驟的具體實現方式可以參見上述圖2對應實施例中對所述中轉設備的描述,或上述圖3對應實施例中對所述中轉設備的描述,這裡不再進行贅述。
可選地,當所述目標客戶端的音視頻上行許可權被取消或所述第一客戶端開始上行傳輸音視頻數據或所述變更第二客戶端開始上行傳輸音視頻數據時,所述中轉設備接收流控引擎設備傳送的客戶端變更信息;所述客戶端變更信息是指具有音視頻上行許可權的客戶端的狀態變化信息;
所述中轉設備將所述客戶端變更信息轉發至所述目標客戶端、所述至少一個第一客戶端以及所述變更第二客戶端;
其中,所述變更第二客戶端是指被分配有音視頻上行許可權的第二客戶端。
所述客戶端變更信息的轉發過程具體可以參見上述圖3對應實施例中的S209-S213,這裡不再進行贅述。
可選地,所述中轉設備維護至少一個音視頻通話頻道,並存儲與所述至少一個音視頻通話頻道中各音視頻通話頻道分別對應的擴散代理列表;
其中,所述至少一個音視頻通話頻道至少包括所述目標頻道,所述擴散代理列表包括擴散代理設備地址。
可選地,S402步驟可以包括:
所述中轉設備將所述音視頻數據拆分為音頻數據和視頻數據;
所述中轉設備將所述音頻數據傳送至混音設備,以使所述混音設備將所述音頻數據混合為一路,以得到混音數據,並將所述混音數據轉發至所述中轉設備以及所述擴散代理設備;
所述中轉設備將所述視頻數據傳送至轉碼設備,以使所述轉碼設備將所述視頻數據處理為至少一種視頻質量的碼流,並將所述至少一種視頻質量的碼流轉發至所述中轉設備以及所述擴散代理設備;
所述中轉設備根據流控引擎設備所通知的下行傳輸方式,將對應的視頻質量的碼流以及所述混音數據轉發至所述至少一個第一客戶端;
其中,所述擴散代理設備是用於根據所述至少一個第二客戶端中各第二客戶端的網路質量信息將對應的視頻質量的碼流以及所述混音數據轉發至所述各第二客戶端的設備。
所述中轉設備通過所述混音設備和所述轉碼設備轉發音視頻數據的具體過程可以參見上述圖4對應實施例中的S302-S306,這裡不再進行贅述。
可選地,所述中轉設備還可以傳送錄製推流請求至所述轉碼設備,以使所述轉碼設備根據所述錄製推流請求獲取所述混音數據,並將所述混音數據和所述至少一種視頻質量的碼流封裝成流媒體信息,並將所述流媒體信息傳送至錄製存儲伺服器和/或內容分發網路CDN。
可選地,在S401步驟之前,所述中轉設備可以接收所述目標客戶端傳送的第一接入請求,並根據所述第一接入請求完成對所述目標客戶端的連線;所述第一接入請求是由所述目標客戶端根據策略服務設備分配的中轉設備地址所生成的,所述中轉設備地址是由所述策略服務設備在檢測到所述目標客戶端具有音視頻上行許可權時所分配的。
《一種數據傳輸的方法、系統以及相關設備》實施例通過將多個具有音視頻上行許可權的第一客戶端以及具有音視頻上行許可權的目標客戶端與中轉設備連線,將多個不具有視頻上行許可權的第二客戶端與擴散代理設備連線,可以在中轉設備接收到目標客戶端傳送的音視頻數據時,中轉設備將音視頻數據分別轉發到各個第一客戶端以及擴散代理設備,再由擴散代理設備將獲得的音視頻數據再轉發至各第二客戶端,由於各第二客戶端均是由擴散代理設備進行管理,所以當第二客戶端的數量變得較龐大時可以較大程度的減輕網路控制策略系統和數據中轉系統的壓力,從而可以保證超大規模的音視頻通話服務系統的穩定性。
參見圖6,是《一種數據傳輸的方法、系統以及相關設備》實施例提供的又一種數據傳輸的方法的流程示意圖,所述方法可以包括:
S501,擴散代理設備接收中轉設備傳送的音視頻數據;所述音視頻數據是由處於目標頻道中且具有音視頻上行許可權的目標客戶端傳送到所述中轉設備中的數據;所述擴散代理設備連線有處於所述目標頻道中且不具有音視頻上行許可權的至少一個第二客戶端;
S502,所述擴散代理設備根據所述至少一個第二客戶端中各第二客戶端的網路質量信息,採用對應的下行傳輸方式將所述音視頻數據轉發至所述各第二客戶端;所述各第二客戶端的網路質量信息是由所述擴散代理設備預先收集得到的;
其中,所述中轉設備是用於將所述音視頻數據轉發至處於所述目標頻道中且具有音視頻上行許可權的至少一個第一客戶端並轉發至處於所述目標頻道中的所述擴散代理設備的設備。
S501-S502步驟的具體實現方式可以參見上述圖2對應實施例中對所述擴散代理設備的描述,或上述圖3對應實施例中對所述擴散代理設備的描述,這裡不再進行贅述。
可選地,當所述至少一個第二客戶端中存在被分配有音視頻上行許可權的變更第二客戶端時,所述擴散代理設備接收流控引擎設備傳送的重定向指令;
所述擴散代理設備根據所述重定向指令將所述變更第二客戶端的接入服務遷移至處於所述目標頻道中的中轉設備。
第二客戶端的音視頻上行許可權的變更過程具體可以參見上述圖3對應實施例中的S205-S206,這裡不再進行贅述。
可選地,當所述至少一個第二客戶端的總數量發生變化時,所述擴散代理設備將變化後的第二客戶端總數量上報至流控引擎設備,以使所述流控引擎設備根據上報的所述第二客戶端總數量、已統計的所述目標客戶端與所述至少一個第一客戶端的總數量,計算所述目標頻道中的客戶端總量。
第二客戶端總數量上報過程具體可以參見上述圖3對應實施例中的S207-S208,這裡不再進行贅述。
可選地,當所述目標客戶端的音視頻上行許可權被取消或所述第一客戶端開始上行傳輸音視頻數據或所述變更第二客戶端開始上行傳輸音視頻數據時,所述擴散代理設備接收流控引擎設備傳送的客戶端變更信息;所述客戶端變更信息是指具有音視頻上行許可權的客戶端的狀態變化信息;
所述擴散代理設備將所述客戶端變更信息轉發至所述至少一個第二客戶端。
所述客戶端變更信息的轉發過程具體可以參見上述圖3對應實施例中的S209-S213,這裡不再進行贅述。
可選地,當所述中轉設備不直接將所述音視頻數據轉發至所述擴散代理設備,而是將所述音視頻數據拆分為音頻數據和視頻數據時,所述中轉設備可以將所述音頻數據傳送至混音設備,以使所述混音設備將所述音頻數據混合為一路,以得到混音數據,並將所述混音數據轉發至所述中轉設備以及所述擴散代理設備;所述中轉設備還可以將所述視頻數據傳送至轉碼設備,以使所述轉碼設備將所述視頻數據處理為至少一種視頻質量的碼流,並將所述至少一種視頻質量的碼流轉發至所述中轉設備以及所述擴散代理設備。所述擴散代理設備接收到所述混音數據和所述至少一種視頻質量的碼流後,所述擴散代理設備可以根據所述至少一個第二客戶端中各第二客戶端的網路質量信息,將對應的視頻質量的碼流以及所述混音數據轉發至所述各第二客戶端。其中,所述中轉設備也可以根據流控引擎設備所通知的下行傳輸方式,將對應的視頻質量的碼流以及所述混音數據轉發至所述至少一個第一客戶端。
可選地,在S501步驟之前,所述擴散代理設備可以接收所述各第二客戶端傳送的第二接入請求,並根據所述第二接入請求完成對所述各第二客戶端的連線;所述第二接入請求是由所述各第二客戶端根據策略服務設備分配的擴散代理設備地址所生成的,所述擴散代理設備地址是由所述策略服務設備在檢測到所述各第二客戶端不具有音視頻上行許可權時所分配的。
《一種數據傳輸的方法、系統以及相關設備》實施例通過將多個具有音視頻上行許可權的第一客戶端以及具有音視頻上行許可權的目標客戶端與中轉設備連線,將多個不具有視頻上行許可權的第二客戶端與擴散代理設備連線,可以在中轉設備接收到目標客戶端傳送的音視頻數據時,中轉設備將音視頻數據分別轉發到各個第一客戶端以及擴散代理設備,再由擴散代理設備將獲得的音視頻數據再轉發至各第二客戶端,由於各第二客戶端均是由擴散代理設備進行管理,所以當第二客戶端的數量變得較龐大時可以較大程度的減輕網路控制策略系統和數據中轉系統的壓力,從而可以保證超大規模的音視頻通話服務系統的穩定性。
參見圖7,是《一種數據傳輸的方法、系統以及相關設備》實施例提供的一種中轉設備的結構示意圖,所述中轉設備可以包括:中轉接收模組11、中轉傳送模組12;
所述中轉接收模組11,用於接收到處於目標頻道中且具有音視頻上行許可權的目標客戶端傳送的音視頻數據;
具體的,所述中轉接收模組11可以接收到處於目標頻道中且具有音視頻上行許可權的目標客戶端傳送的音視頻數據,所述目標客戶端可以為與所述中轉設備相連線的多個處於目標頻道中且具有音視頻上行許可權的客戶端中的任意一個客戶端。所述目標頻道為至少一個音視頻通話頻道中的其中一個頻道。
所述中轉傳送模組12,用於將所述音視頻數據轉發至處於所述目標頻道中且具有音視頻上行許可權的至少一個第一客戶端,並轉發至處於所述目標頻道中的擴散代理設備,以使所述擴散代理設備根據至少一個第二客戶端中各第二客戶端的網路質量信息採用對應的下行傳輸方式將所述音視頻數據轉發至所述各第二客戶端;
具體的,所述中轉接收模組11接收到所述音視頻數據後,所述中轉傳送模組12可以將所述音視頻數據轉發至處於所述目標頻道中且具有音視頻上行許可權的至少一個第一客戶端。其中,所述中轉傳送模組12將所述音視頻數據轉發至所述至少一個第一客戶端的過程具體包括:所述中轉傳送模組12根據流控引擎設備所通知的下行傳輸方式,將所述音視頻數據轉發至與所述中轉設備相連線、處於所述目標頻道中且具有音視頻上行許可權的至少一個第一客戶端,並將所述音視頻數據轉發至關聯中轉設備,以使所述關聯中轉設備將所述音視頻數據轉發至與所述關聯中轉設備相連線、處於所述目標頻道中且具有音視頻上行許可權的至少一個第一客戶端;所述關聯中轉設備包括處於所述目標頻道中除了所述中轉設備以外的其他中轉設備。所述中轉傳送模組12還將所接收到的所述音視頻數據轉發至處於所述目標頻道中的擴散代理設備,所述擴散代理設備連線有處於所述目標頻道中且不具有音視頻上行許可權的至少一個第二客戶端。其中,所述流控引擎設備向所述中轉設備和所述關聯中轉設備通知的下行傳輸方式是根據預先收集到的所述至少一個第一客戶端的網路質量信息所確定的,例如,所述中轉傳送模組12和所述關聯中轉設備可以直接轉發完整的音視頻數據到網路比較流暢的第一客戶端,也可以用跳幀的方式將所述音視頻數據轉發到弱網路的第一客戶端。其中,所述網路質量信息可以包括丟包率、延遲信息等統計信息。其中,所述關聯中轉設備的數量和所述擴散代理設備的數量均可以為多個。
所述中轉傳送模組12將所述音視頻數據傳送至處於所述目標頻道的擴散代理設備後,每個處於所述目標頻道的擴散代理設備均可以根據所述各第二客戶端分別對應的網路質量信息,採用對應的下行傳輸方式將所述音視頻數據分別傳送至所連線的所述各第二客戶端。例如,假設其中一個處於所述目標頻道的擴散代理設備連線有第二客戶端A以及第二客戶端B,若所述擴散代理設備感知到所述第二客戶端A的網路比較流暢,則所述擴散代理設備可以將完整的音視頻數據轉發至所述第二客戶端A;同時,若所述擴散代理設備感知到所述第二客戶端B的網路不太穩定,則所述擴散代理設備可以採用跳幀的方式將音視頻數據轉發至所述第二客戶端B。其中,所述擴散代理設備可以定時收集所述各第二客戶端的網路質量信息,由於所有第二客戶端的網路質量信息均是上報給所述擴散代理設備,而所述流控引擎設備只需收集所有第一客戶端以及目標客戶端的網路質量信息,所以可以進一步減輕所述流控引擎設備的壓力。
《一種數據傳輸的方法、系統以及相關設備》實施例通過將多個具有音視頻上行許可權的第一客戶端以及具有音視頻上行許可權的目標客戶端與中轉設備連線,將多個不具有視頻上行許可權的第二客戶端與擴散代理設備連線,可以在中轉設備接收到目標客戶端傳送的音視頻數據時,中轉設備將音視頻數據分別轉發到各個第一客戶端以及擴散代理設備,再由擴散代理設備將獲得的音視頻數據再轉發至各第二客戶端,由於各第二客戶端均是由擴散代理設備進行管理,所以當第二客戶端的數量變得較龐大時可以較大程度的減輕網路控制策略系統和數據中轉系統的壓力,從而可以保證超大規模的音視頻通話服務系統的穩定性。
參見圖8,是《一種數據傳輸的方法、系統以及相關設備》實施例提供的另一種中轉設備的結構示意圖,所述中轉設備可以包括上述圖7對應實施例中的中轉接收模組11、中轉傳送模組12,進一步的,所述中轉設備還可以包括維護存儲模組13、請求傳送模組14;
其中,所述中轉傳送模組12包括:拆分單元121、傳送單元122;
所述中轉接收模組11,還用於當所述目標客戶端的音視頻上行許可權被取消或所述第一客戶端開始上行傳輸音視頻數據或所述變更第二客戶端開始上行傳輸音視頻數據時,接收流控引擎設備傳送的客戶端變更信息;所述客戶端變更信息是指具有音視頻上行許可權的客戶端的狀態變化信息;
所述中轉傳送模組12,還用於將所述客戶端變更信息轉發至所述目標客戶端、所述至少一個第一客戶端以及所述變更第二客戶端;
其中,所述變更第二客戶端是指被分配有音視頻上行許可權的第二客戶端。
所述中轉接收模組11和所述中轉傳送模組12執行對所述客戶端變更信息的轉發過程具體可以參見上述圖3對應實施例中的S209-S213,這裡不再進行贅述。
所述維護存儲模組13,用於維護至少一個音視頻通話頻道,並存儲與所述至少一個音視頻通話頻道中各音視頻通話頻道分別對應的擴散代理列表;其中,所述至少一個音視頻通話頻道至少包括所述目標頻道,所述擴散代理列表包括擴散代理設備地址。
其中,所述拆分單元121,用於將所述音視頻數據拆分為音頻數據和視頻數據;
所述傳送單元122,用於將所述音頻數據傳送至混音設備,以使所述混音設備將所述音頻數據混合為一路,以得到混音數據,並將所述混音數據轉發至所述中轉設備以及所述擴散代理設備;
所述傳送單元122,還用於將所述視頻數據傳送至轉碼設備,以使所述轉碼設備將所述視頻數據處理為至少一種視頻質量的碼流,並將所述至少一種視頻質量的碼流轉發至所述中轉設備以及所述擴散代理設備;
所述傳送單元122,還用於根據流控引擎設備所通知的下行傳輸方式,將對應的視頻質量的碼流以及所述混音數據轉發至所述至少一個第一客戶端;
其中,所述擴散代理設備是用於根據所述至少一個第二客戶端中各第二客戶端的網路質量信息將對應的視頻質量的碼流以及所述混音數據轉發至所述各第二客戶端的設備。
所述拆分單元121和所述傳送單元122通過所述混音設備和所述轉碼設備轉發音視頻數據的具體過程可以參見上述圖4對應實施例中的S302-S306,這裡不再進行贅述。
所述請求傳送模組14,用於傳送錄製推流請求至所述轉碼設備,以使所述轉碼設備根據所述錄製推流請求獲取所述混音數據,並將所述混音數據和所述至少一種視頻質量的碼流封裝成流媒體信息,並將所述流媒體信息傳送至錄製存儲伺服器和/或內容分發網路CDN。
可選地,所述中轉接收模組11在接收到處於目標頻道中且具有音視頻上行許可權的目標客戶端傳送的音視頻數據之前,還用於接收所述目標客戶端傳送的第一接入請求,並根據所述第一接入請求完成對所述目標客戶端的連線;所述第一接入請求是由所述目標客戶端根據策略服務設備分配的中轉設備地址所生成的,所述中轉設備地址是由所述策略服務設備在檢測到所述目標客戶端具有音視頻上行許可權時所分配的。同樣的,所述至少一個第一客戶端的接入方式與所述目標客戶端的接入方式相同。
《一種數據傳輸的方法、系統以及相關設備》實施例可以使原有的實時多人音視頻通話服務系統仍然保持小房間的管理模式,以平行擴展的方式極大地拓展了單房間支撐上限,同時又能夠做到對相關架構衝擊最小、風險可控。此外,利用混音設備和轉碼設備的功能,還可以進一步完善下行通道質量控制能力、多客戶端收看覆蓋和後台錄製的能力,以進一步保證超大規模的音視頻通話服務系統的穩定性。
參見圖9,是《一種數據傳輸的方法、系統以及相關設備》實施例提供的又一種中轉設備的結構示意圖。如圖9所示,所述中轉設備可以包括:至少一個處理器1001,例如CPU,至少一個網路接口1004,用戶接口1003,存儲器1005,至少一個通信匯流排1002。其中,通信匯流排1002用於實現這些組件之間的連線通信。其中,用戶接口1003可以包括顯示屏(Display)、鍵盤(Keyboard),可選用戶接口1003還可以包括標準的有線接口、無線接口。網路接口1004可選的可以包括標準的有線接口、無線接口(如WI-FI接口)。存儲器1005可以是高速RAM存儲器,也可以是非不穩定的存儲器(non-volatile memory),例如至少一個磁碟存儲器。存儲器1005可選的還可以是至少一個位於遠離前述處理器1001的存儲裝置。如圖9所示,作為一種計算機存儲介質的存儲器1005中可以包括作業系統、網路通信模組、用戶接口模組以及設備控制應用程式。
在圖9所示的中轉設備中,網路接口1004主要用於連線擴散代理設備、流控引擎設備、目標客戶端以及第一客戶端;而用戶接口1003主要用於為用戶提供輸入的接口,獲取用戶輸出的數據;而處理器1001可以用於調用存儲器1005中存儲的設備控制應用程式,並具體執行以下步驟:
接收到處於目標頻道中且具有音視頻上行許可權的目標客戶端傳送的音視頻數據;
將所述音視頻數據轉發至處於所述目標頻道中且具有音視頻上行許可權的至少一個第一客戶端,並轉發至處於所述目標頻道中的擴散代理設備,以使所述擴散代理設備根據至少一個第二客戶端中各第二客戶端的網路質量信息採用對應的下行傳輸方式將所述音視頻數據轉發至所述各第二客戶端;
其中,所述至少一個第二客戶端是與所述擴散代理設備相連線、處於所述目標頻道且不具有音視頻上行許可權的客戶端;
所述各第二客戶端的網路質量信息是由所述擴散代理設備預先收集得到的。
在一個實施例中,所述處理器1001,還執行以下步驟:
當所述目標客戶端的音視頻上行許可權被取消或所述第一客戶端開始上行傳輸音視頻數據或所述變更第二客戶端開始上行傳輸音視頻數據時,接收流控引擎設備傳送的客戶端變更信息;所述客戶端變更信息是指具有音視頻上行許可權的客戶端的狀態變化信息;
將所述客戶端變更信息轉發至所述目標客戶端、所述至少一個第一客戶端以及所述變更第二客戶端;
其中,所述變更第二客戶端是指被分配有音視頻上行許可權的第二客戶端。
在一個實施例中,所述處理器1001,還執行以下步驟:
維護至少一個音視頻通話頻道,並存儲與所述至少一個音視頻通話頻道中各音視頻通話頻道分別對應的擴散代理列表;
其中,所述至少一個音視頻通話頻道至少包括所述目標頻道,所述擴散代理列表包括擴散代理設備地址。
在一個實施例中,所述處理器1001在執行將所述音視頻數據轉發至處於所述目標頻道中且具有音視頻上行許可權的至少一個第一客戶端,並轉發至處於所述目標頻道中的擴散代理設備,以使所述擴散代理設備根據至少一個第二客戶端中各第二客戶端的網路質量信息採用對應的下行傳輸方式將所述音視頻數據轉發至所述各第二客戶端時,具體執行以下步驟:
將所述音視頻數據拆分為音頻數據和視頻數據;
將所述音頻數據傳送至混音設備,以使所述混音設備將所述音頻數據混合為一路,以得到混音數據,並將所述混音數據轉發至所述中轉設備以及所述擴散代理設備;
將所述視頻數據傳送至轉碼設備,以使所述轉碼設備將所述視頻數據處理為至少一種視頻質量的碼流,並將所述至少一種視頻質量的碼流轉發至所述中轉設備以及所述擴散代理設備;
根據流控引擎設備所通知的下行傳輸方式,將對應的視頻質量的碼流以及所述混音數據轉發至所述至少一個第一客戶端;
其中,所述擴散代理設備是用於根據所述至少一個第二客戶端中各第二客戶端的網路質量信息將對應的視頻質量的碼流以及所述混音數據轉發至所述各第二客戶端的設備。
在一個實施例中,所述處理器1001,還執行以下步驟:
傳送錄製推流請求至所述轉碼設備,以使所述轉碼設備根據所述錄製推流請求獲取所述混音數據,並將所述混音數據和所述至少一種視頻質量的碼流封裝成流媒體信息,並將所述流媒體信息傳送至錄製存儲伺服器和/或內容分發網路CDN。
《一種數據傳輸的方法、系統以及相關設備》實施例通過將多個具有音視頻上行許可權的第一客戶端以及具有音視頻上行許可權的目標客戶端與中轉設備連線,將多個不具有視頻上行許可權的第二客戶端與擴散代理設備連線,可以在中轉設備接收到目標客戶端傳送的音視頻數據時,中轉設備將音視頻數據分別轉發到各個第一客戶端以及擴散代理設備,再由擴散代理設備將獲得的音視頻數據再轉發至各第二客戶端,由於各第二客戶端均是由擴散代理設備進行管理,所以當第二客戶端的數量變得較龐大時可以較大程度的減輕網路控制策略系統和數據中轉系統的壓力,從而可以保證超大規模的音視頻通話服務系統的穩定性。
參見圖10,是《一種數據傳輸的方法、系統以及相關設備》實施例提供的一種擴散代理設備的結構示意圖,所述擴散代理設備可以包括:代理接收模組21、代理髮送模組22;
所述代理接收模組21,用於接收中轉設備傳送的音視頻數據;所述音視頻數據是由處於目標頻道中且具有音視頻上行許可權的目標客戶端傳送到所述中轉設備中的數據;所述擴散代理設備連線有處於所述目標頻道中且不具有音視頻上行許可權的至少一個第二客戶端;
所述代理髮送模組22,用於根據所述至少一個第二客戶端中各第二客戶端的網路質量信息,採用對應的下行傳輸方式將所述音視頻數據轉發至所述各第二客戶端;所述各第二客戶端的網路質量信息是由所述擴散代理設備預先收集得到的;
其中,所述中轉設備是用於將所述音視頻數據轉發至處於所述目標頻道中且具有音視頻上行許可權的至少一個第一客戶端並轉發至處於所述目標頻道中的所述擴散代理設備的設備。
其中,所述代理接收模組21和所述代理髮送模組22的具體實現方式可以參見上述圖2對應實施例中對所述擴散代理設備的描述,或上述圖3對應實施例中對所述擴散代理設備的描述,這裡不再進行贅述。
《一種數據傳輸的方法、系統以及相關設備》實施例通過將多個具有音視頻上行許可權的第一客戶端以及具有音視頻上行許可權的目標客戶端與中轉設備連線,將多個不具有視頻上行許可權的第二客戶端與擴散代理設備連線,可以在中轉設備接收到目標客戶端傳送的音視頻數據時,中轉設備將音視頻數據分別轉發到各個第一客戶端以及擴散代理設備,再由擴散代理設備將獲得的音視頻數據再轉發至各第二客戶端,由於各第二客戶端均是由擴散代理設備進行管理,所以當第二客戶端的數量變得較龐大時可以較大程度的減輕網路控制策略系統和數據中轉系統的壓力,從而可以保證超大規模的音視頻通話服務系統的穩定性。
參見圖11,是《一種數據傳輸的方法、系統以及相關設備》實施例提供的另一種擴散代理設備的結構示意圖,所述擴散代理設備可以包括上述圖10對應實施例中的代理接收模組21、代理髮送模組22,進一步的,所述擴散代理設備還可以包括:指令接收模組23、遷移模組24、數量上報模組25;
所述指令接收模組23,用於當所述至少一個第二客戶端中存在被分配有音視頻上行許可權的變更第二客戶端時,接收流控引擎設備傳送的重定向指令;
所述遷移模組24,用於根據所述重定向指令將所述變更第二客戶端的接入服務遷移至處於所述目標頻道中的中轉設備。
所述數量上報模組25,用於當所述至少一個第二客戶端的總數量發生變化時,將變化後的第二客戶端總數量上報至流控引擎設備,以使所述流控引擎設備根據上報的所述第二客戶端總數量、已統計的所述目標客戶端與所述至少一個第一客戶端的總數量,計算所述目標頻道中的客戶端總量。
其中,所述指令接收模組23和所述遷移模組24的具體實現方式可以參見上述圖3對應實施例中的S205-S206,這裡不再進行贅述;所述數量上報模組25的具體實現方式可以參見上述圖3對應實施例中的S207-S208,這裡不再進行贅述。
可選地,所述代理接收模組21,還用於當所述目標客戶端的音視頻上行許可權被取消或所述第一客戶端開始上行傳輸音視頻數據或所述變更第二客戶端開始上行傳輸音視頻數據時,接收流控引擎設備傳送的客戶端變更信息;所述客戶端變更信息是指具有音視頻上行許可權的客戶端的狀態變化信息;
所述代理髮送模組22,還用於將所述客戶端變更信息轉發至所述至少一個第二客戶端。
所述代理接收模組21和所述代理髮送模組22執行對所述客戶端變更信息的轉發過程具體可以參見上述圖3對應實施例中的S209-S213,這裡不再進行贅述。
可選地,當所述中轉設備不直接將所述音視頻數據轉發至所述擴散代理設備,而是將所述音視頻數據拆分為音頻數據和視頻數據時,所述中轉設備可以將所述音頻數據傳送至混音設備,以使所述混音設備將所述音頻數據混合為一路,以得到混音數據,並將所述混音數據轉發至所述中轉設備以及所述擴散代理設備;所述中轉設備還可以將所述視頻數據傳送至轉碼設備,以使所述轉碼設備將所述視頻數據處理為至少一種視頻質量的碼流,並將所述至少一種視頻質量的碼流轉發至所述中轉設備以及所述擴散代理設備。所述代理接收模組21接收到所述混音數據和所述至少一種視頻質量的碼流後,所述代理髮送模組22可以根據所述至少一個第二客戶端中各第二客戶端的網路質量信息,將對應的視頻質量的碼流以及所述混音數據轉發至所述各第二客戶端。其中,所述中轉設備也可以根據流控引擎設備所通知的下行傳輸方式,將對應的視頻質量的碼流以及所述混音數據轉發至所述至少一個第一客戶端。
可選地,所述代理接收模組21在接收中轉設備傳送的音視頻數據之前,還可以用於接收所述各第二客戶端傳送的第二接入請求,並根據所述第二接入請求完成對所述各第二客戶端的連線;所述第二接入請求是由所述各第二客戶端根據策略服務設備分配的擴散代理設備地址所生成的,所述擴散代理設備地址是由所述策略服務設備在檢測到所述各第二客戶端不具有音視頻上行許可權時所分配的。
《一種數據傳輸的方法、系統以及相關設備》實施例通過將多個具有音視頻上行許可權的第一客戶端以及具有音視頻上行許可權的目標客戶端與中轉設備連線,將多個不具有視頻上行許可權的第二客戶端與擴散代理設備連線,可以在中轉設備接收到目標客戶端傳送的音視頻數據時,中轉設備將音視頻數據分別轉發到各個第一客戶端以及擴散代理設備,再由擴散代理設備將獲得的音視頻數據再轉發至各第二客戶端,由於各第二客戶端均是由擴散代理設備進行管理,所以當第二客戶端的數量變得較龐大時可以較大程度的減輕網路控制策略系統和數據中轉系統的壓力,從而可以保證超大規模的音視頻通話服務系統的穩定性。
參見圖12,是《一種數據傳輸的方法、系統以及相關設備》實施例提供的又一種擴散代理設備的結構示意圖。如圖12所示,所述擴散代理設備可以包括:至少一個處理器2001,例如CPU,至少一個網路接口2004,用戶接口2003,存儲器2005,至少一個通信匯流排2002。其中,通信匯流排2002用於實現這些組件之間的連線通信。其中,用戶接口2003可以包括顯示屏(Display)、鍵盤(Keyboard),可選用戶接口2003還可以包括標準的有線接口、無線接口。網路接口2004可選的可以包括標準的有線接口、無線接口(如WI-FI接口)。存儲器2005可以是高速RAM存儲器,也可以是非不穩定的存儲器(non-volatile memory),例如至少一個磁碟存儲器。存儲器2005可選的還可以是至少一個位於遠離前述處理器2001的存儲裝置。如圖12所示,作為一種計算機存儲介質的存儲器2005中可以包括作業系統、網路通信模組、用戶接口模組以及設備控制應用程式。
在圖12所示的擴散代理設備中,網路接口2004主要用於連線中轉設備、流控引擎設備以及第二客戶端;而用戶接口2003主要用於為用戶提供輸入的接口,獲取用戶輸出的數據;而處理器2001可以用於調用存儲器2005中存儲的設備控制應用程式,並具體執行以下步驟:
接收中轉設備傳送的音視頻數據;所述音視頻數據是由處於目標頻道中且具有音視頻上行許可權的目標客戶端傳送到所述中轉設備中的數據;所述擴散代理設備連線有處於所述目標頻道中且不具有音視頻上行許可權的至少一個第二客戶端;
根據所述至少一個第二客戶端中各第二客戶端的網路質量信息,採用對應的下行傳輸方式將所述音視頻數據轉發至所述各第二客戶端;所述各第二客戶端的網路質量信息是由所述擴散代理設備預先收集得到的;
其中,所述中轉設備是用於將所述音視頻數據轉發至處於所述目標頻道中且具有音視頻上行許可權的至少一個第一客戶端並轉發至處於所述目標頻道中的所述擴散代理設備的設備。
在一個實施例中,所述處理器2001還執行以下步驟:
當所述至少一個第二客戶端中存在被分配有音視頻上行許可權的變更第二客戶端時,接收流控引擎設備傳送的重定向指令;
根據所述重定向指令將所述變更第二客戶端的接入服務遷移至處於所述目標頻道中的中轉設備。
在一個實施例中,所述處理器2001還執行以下步驟:
當所述至少一個第二客戶端的總數量發生變化時,將變化後的第二客戶端總數量上報至流控引擎設備,以使所述流控引擎設備根據上報的所述第二客戶端總數量、已統計的所述目標客戶端與所述至少一個第一客戶端的總數量,計算所述目標頻道中的客戶端總量。
在一個實施例中,所述處理器2001還執行以下步驟:
當所述目標客戶端的音視頻上行許可權被取消或所述第一客戶端開始上行傳輸音視頻數據或所述變更第二客戶端開始上行傳輸音視頻數據時,接收流控引擎設備傳送的客戶端變更信息;所述客戶端變更信息是指具有音視頻上行許可權的客戶端的狀態變化信息;
將所述客戶端變更信息轉發至所述至少一個第二客戶端。
《一種數據傳輸的方法、系統以及相關設備》實施例通過將多個具有音視頻上行許可權的第一客戶端以及具有音視頻上行許可權的目標客戶端與中轉設備連線,將多個不具有視頻上行許可權的第二客戶端與擴散代理設備連線,可以在中轉設備接收到目標客戶端傳送的音視頻數據時,中轉設備將音視頻數據分別轉發到各個第一客戶端以及擴散代理設備,再由擴散代理設備將獲得的音視頻數據再轉發至各第二客戶端,由於各第二客戶端均是由擴散代理設備進行管理,所以當第二客戶端的數量變得較龐大時可以較大程度的減輕網路控制策略系統和數據中轉系統的壓力,從而可以保證超大規模的音視頻通話服務系統的穩定性。
參見圖13,是《一種數據傳輸的方法、系統以及相關設備》實施例提供的一種數據傳輸的系統的結構示意圖,所述系統可以包括:中轉設備100和擴散代理設備200;
所述中轉設備100,用於接收到處於目標頻道中且具有音視頻上行許可權的目標客戶端傳送的音視頻數據;
所述中轉設備100,還用於將所述音視頻數據轉發至處於所述目標頻道中且具有音視頻上行許可權的至少一個第一客戶端,並轉發至處於所述目標頻道中的擴散代理設備200;所述擴散代理設備200連線有處於所述目標頻道中且不具有音視頻上行許可權的至少一個第二客戶端;
所述擴散代理設備200,用於根據所述至少一個第二客戶端中各第二客戶端的網路質量信息,採用對應的下行傳輸方式將所述音視頻數據轉發至所述各第二客戶端;所述各第二客戶端的網路質量信息是由所述擴散代理設備200預先收集得到的。
其中,
所述擴散代理設備200,還用於當所述至少一個第二客戶端中存在被分配有音視頻上行許可權的變更第二客戶端時,接收流控引擎設備傳送的重定向指令;
所述擴散代理設備200,還用於根據所述重定向指令將所述變更第二客戶端的接入服務遷移至處於所述目標頻道中的中轉設備100。
其中,
所述擴散代理設備200,還用於當所述至少一個第二客戶端的總數量發生變化時,將變化後的第二客戶端總數量上報至流控引擎設備,以使所述流控引擎設備根據上報的所述第二客戶端總數量、已統計的所述目標客戶端與所述至少一個第一客戶端的總數量,計算所述目標頻道中的客戶端總量。
其中,
所述擴散代理設備200和所述中轉設備100,均還用於當所述目標客戶端的音視頻上行許可權被取消或所述第一客戶端開始上行傳輸音視頻數據或所述變更第二客戶端開始上行傳輸音視頻數據時,接收流控引擎設備傳送的客戶端變更信息;所述客戶端變更信息是指具有音視頻上行許可權的客戶端的狀態變化信息;
所述中轉設備100,還用於將所述客戶端變更信息轉發至所述目標客戶端、所述至少一個第一客戶端以及所述變更第二客戶端;
所述擴散代理設備200,還用於將所述客戶端變更信息轉發至所述至少一個第二客戶端。
其中,
所述中轉設備100,還用於維護至少一個音視頻通話頻道,並存儲與所述至少一個音視頻通話頻道中各音視頻通話頻道分別對應的擴散代理列表;
其中,所述至少一個音視頻通話頻道至少包括所述目標頻道,所述擴散代理列表包括擴散代理設備地址。
其中,所述中轉設備100在執行將所述音視頻數據轉發至處於所述目標頻道中且具有音視頻上行許可權的至少一個第一客戶端,並轉發至處於所述目標頻道中的擴散代理設備200時,具體用於將所述音視頻數據拆分為音頻數據和視頻數據,並將所述音頻數據傳送至混音設備,以使所述混音設備將所述音頻數據混合為一路,以得到混音數據,並將所述混音數據轉發至所述中轉設備100以及所述擴散代理設備200;還用於將所述視頻數據傳送至轉碼設備,以使所述轉碼設備將所述視頻數據處理為至少一種視頻質量的碼流,並將所述至少一種視頻質量的碼流轉發至所述中轉設備100以及所述擴散代理設備200;還用於根據流控引擎設備所通知的下行傳輸方式,將對應的視頻質量的碼流以及所述混音數據轉發至所述至少一個第一客戶端;
則所述擴散代理設備200在執行根據所述至少一個第二客戶端中各第二客戶端的網路質量信息,採用對應的下行傳輸方式將所述音視頻數據轉發至所述各第二客戶端時,具體用於根據所述至少一個第二客戶端中各第二客戶端的網路質量信息,將對應的視頻質量的碼流以及所述混音數據轉發至所述各第二客戶端。
其中,
所述中轉設備100,還用於傳送錄製推流請求至所述轉碼設備,以使所述轉碼設備根據所述錄製推流請求獲取所述混音數據,並將所述混音數據和所述至少一種視頻質量的碼流封裝成流媒體信息,並將所述流媒體信息傳送至錄製存儲伺服器和/或內容分發網路CDN。
其中,
所述中轉設備100,還用於接收所述目標客戶端傳送的第一接入請求,並根據所述第一接入請求完成對所述目標客戶端的連線;所述第一接入請求是由所述目標客戶端根據策略服務設備分配的中轉設備地址所生成的,所述中轉設備地址是由所述策略服務設備在檢測到所述目標客戶端具有音視頻上行許可權時所分配的;
所述擴散代理設備200,還用於接收所述各第二客戶端傳送的第二接入請求,並根據所述第二接入請求完成對所述各第二客戶端的連線;所述第二接入請求是由所述各第二客戶端根據策略服務設備分配的擴散代理設備地址所生成的,所述擴散代理設備地址是由所述策略服務設備在檢測到所述各第二客戶端不具有音視頻上行許可權時所分配的。
《一種數據傳輸的方法、系統以及相關設備》實施例通過將多個具有音視頻上行許可權的第一客戶端以及具有音視頻上行許可權的目標客戶端與中轉設備100連線,將多個不具有視頻上行許可權的第二客戶端與擴散代理設備200連線,可以在中轉設備100接收到目標客戶端傳送的音視頻數據時,中轉設備100將音視頻數據分別轉發到各個第一客戶端以及擴散代理設備200,再由擴散代理設備200將獲得的音視頻數據再轉發至各第二客戶端,由於各第二客戶端均是由擴散代理設備200進行管理,所以當第二客戶端的數量變得較龐大時可以較大程度的減輕網路控制策略系統和數據中轉系統的壓力,從而可以保證超大規模的音視頻通話服務系統的穩定性。
註:該領域普通技術人員可以理解實現《一種數據傳輸的方法、系統以及相關設備》實施例方法中的全部或部分流程,是可以通過電腦程式來指令相關的硬體來完成,所述的程式可存儲於一計算機可讀取存儲介質中,該程式在執行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁碟、光碟、唯讀存儲記憶體(Read-Only Memory,ROM)或隨機存儲記憶體(Random AccessMemory,RAM)等。

專利榮譽

2021年6月24日,《一種數據傳輸的方法、系統以及相關設備》獲得第二十二屆中國專利金獎。

相關詞條

熱門詞條

聯絡我們