基於分發與計算的GRTN全球實時傳輸網路
一張能同時滿足「分發」與「計算」需求的網。
從直播趨勢看「分發」與「計算」
阿里雲直播產品架構圖中,主要分為端和雲兩個部分:在端側,主要包含推流端和播放端;在雲側,一是基於分散式節點構建的傳輸網,二是在阿里雲中心構建的不同Region之間的直播中心,提供計算服務,包括直播所涉及的轉碼、AI、導播、截圖、錄製等等。
直播技術的發展帶來分發和計算的巨大需求。
從分發角度看,直播產生的流量頻寬越來越高,使用者對直播延遲等播放體驗的要求也越來越高,主播連麥PK、雲遊戲、4K/8K、AR/VR/XR等超大流量應用的互動性要求越來越高。
從計算角度看,越來越多重計算的應用在誕生,比如:需要高位元速率或巨大算力做影片轉碼處理和AI分析。
綜合來看,想要把直播做得更好,除了端,還有云,而云的最佳化核心是「分發」和「計算」兩大部分。
分發:構建高效傳輸網路
首先,在分發層面,阿里雲基於中心和邊緣,以及其他的異構節點,構建了一張超低延遲、分散式下沉,能支援通訊級別的傳輸網路,也就是阿里雲全球實時傳輸網GRTN。
GRTN核心關鍵點就是分發體系的升級,將原先樹狀網路中的一級網路、二級網路匯聚,基於匯聚資源做分層,相當於從原來的層級網路變為對等網路。基於對等網路,阿里雲再構建了全域性異常發現,包括實時的路徑計算、基於流維度的路徑再編排,最後再生成當前流或任務的最優傳輸路徑。
傳統的傳輸網路,無論對流做怎樣的處理,都要經過固定層級的鏈路,而GRTN可以根據主播和觀眾的實時狀態、位置做路徑選優,比如主播與觀眾都在上海區域,同一個節點就可以完成分發,節省了多次中轉的步驟,直播延遲自然降低很多。 根據阿里雲的資料統計,整體路徑從原來平均4跳降低到2級跳。傳統網路分發的延遲大約是5-6秒,基於GRTN整個網路和全鏈路RTC傳輸,可以將延時降低至少95%,實現秒級延遲。
目前,GRTN網路已經充分應用於阿里生態,如手淘的全鏈路RTC電商直播等。原先手淘電商直播是基於層級,現在無論是同運營商、跨運營商,還是遠距離, 鏈路都是一個多變的全分散式下沉結構;無論是跨國還是跨洲,都是動態化編排。
去年,GRTN的相關研究成果,即提供音影片傳輸技術的最佳化和服務保障,也被SIGCOMM收錄並發表了論文。
GRTN網路帶來的第二個核心變化是,原來需要做額外的連麥或旁路的MCU叢集以及合流,將其改造成全鏈路RTC之後,不再需要額外的旁路RTC系統,實現在傳輸網通道進行直播推流、拉流播放、連麥,同時在端和流、雲和流之間做動態排程,摒棄了一個業務用兩套系統維。
透過一張網,一個內部傳輸協議,實現了業務的RTC、連麥、合流、播放一體化。
GRTN背後的基礎設施資源
GRTN是基於全分散式下沉的,既有中心也有本地和邊緣節點,再加上現場計算(MEC)或一些融合的資源,阿里雲把這些資源都納入GRTN管理起來,並按需呼叫。
不同型別資源按照不同的特性可以劃分為中心雲資源、邊緣雲資源和多雲融合資源。中心雲資源可靠性很高,但分佈不是很廣;邊緣雲的資源等級次之,但價效比更高。將不同的異構資源融合,適配不同的業務和場景,從而達到用整個分散式的所有資源構建起一張網,提供傳輸、計算服務。
藉助阿里雲分散式容器平臺,能在平臺上面管理並且實時、彈性地使用各種資源。該平臺最大的特性是彈性可擴充套件的多資源納管,不管是中心資源,還是邊緣雲分散式節點、多雲融合資源,都可以在平臺上透過一套接入序號產生器制進行納管。阿里雲容器管理平臺為GRTN網路的計算提供支撐,當需要使用這些資源的時候,透過該平臺就能獲取異構資源。
核心優勢
1 提升效率:為終端提供距離更近、時延更低的資源,實現快速資源納管交付
2 降低成本:降低內部跨區域的級聯傳輸成本
3 易運維:採用雲原生交付方式,提升邊緣應用可運維性,降低客戶運維投入
4 低時延、提升使用者體驗:基於海量低延時的邊緣叢集資源覆蓋,為客戶提供時延更低的體驗
將「計算」也在“一張網”內解決
GRTN網路可以實現網的對等傳輸,但如轉碼、AI處理等計算,大部分還是在中心。
既然流已經在GRTN網路裡,且能夠實現就近傳輸,能否把計算也在網裡解決?
基於這一想法,阿里雲提出了算網融合的實踐。
下圖是原有的傳輸和計算的形態,可以看到整體是分離的,資料都需要遠距離傳輸到集中的中心區域做計算。基於GRTN的傳輸能力和分散式異構的計算資源,我們發現,GRTN 實際也能夠承載計算的能力。
有了異構資源的快速納管和彈性伸縮,同時配合運算元的託管和觸發條件自定義控制,GRTN 實現了Serverless 標準的集運算元釋出、託管、觸發、升級一體的使用者自定義的一個分散式計算平臺。
當然,該計算平臺跟當下的中心雲 Serverless 計算平臺相比還是有很多侷限性,我們的定位就是基於 GRTN 傳輸的前提下的一個 實時流媒體的垂直場景計算平臺。
未來,關於音影片計算比例會越來越高,算力需求也會越來越大。我們的目標是基於 GRTN 這種網,實現傳輸和計算的融合,讓傳輸和計算能夠最有效的適配資源。
運算元的註冊和觸發流程是什麼?首先,使用者基於演算法做業務打包,比如做轉碼或者超分,打包好後上傳到映象中心,釋出到GRTN 分散式資源上,當GRTN有一個流需要做計算的時候(上圖左側),計算和傳輸在一個節點發生;
當這個流需要計算,就按照使用者定義的觸發條件,當流被推上來之後或播放的時候,就從流媒體大腦查詢整個流的資訊,知道這個流現在在什麼節點,節點附近的容器納管的資源平臺有沒有資源?如果有資源,就可以做匹配計算,如果沒有可以動態擴充套件和納管。
當把這個任務從節點啟動,節點內可以認為是內網環境,處理之後再推回到本節點完成接下來的分發。整個過程中沒有在公網做額外的互動,就完成了計算的任務。
場景實踐一:邊緣轉碼
邊緣轉碼場景下,原有的方案需要先到中心的GRTN節點,然後再到轉碼叢集,轉碼完成之後再回推到 GRTN 節點,然後再分發到需要播放的節點播放。
新的方案中,使用者推流不需要再往中心推,當有使用者播放時就啟動邊緣推流地方的轉碼運算元,在同一個節點完成轉碼和處理,同時可以分發到其他地方。
因為分發的鏈路是原有GRTN網路構建好的,只是額外增加了算力能力,轉碼完成之後可以認為原來推流的原始流節點有了兩個能力,一個是原始流,一個是轉碼流。
該平臺不一定適合所有的處理,但至少在實時流媒體的後處理和預處理上有優勢,是提高效率和降低成本的主要動力和適配高效的方法, 既節省了成本,又降低了延遲。
場景實踐二:雲遊戲
雲遊戲是典型的雲渲染應用場景,整個邊緣的GRTN網路除了做直播以外,還是一個具有通訊能力的分發網路,對於低延遲場景都適用,比如直播相關的連麥、RTC通訊、雲遊戲透過GRTN網路也可以用串流來做。
雲遊戲的渲染大概分為以下幾個基本業務接入步驟:使用者接入,根據使用者所在的區域分配,比如根據IP資訊就近分配,使用者接入後,在這個區域裡啟動渲染引擎,該引擎是使用者自己定義的引擎,可以是某種遊戲,也可以是元宇宙數字虛擬人,同時整個流資訊管理得到整個資訊之後,就可以和客戶端進行互動,客戶端就把流拉下來。
過程中除了串流,還有云遊戲的操控,以及透過閘道器和背後的引擎做互動,整個過程跟轉碼或者其他類似的流媒體處理有一些相關性。
讓流媒體服務無處不在
GRTN平臺未來一定是 異構資源的,資源一定是 融合的,無論是中心的、邊緣的、其它融合廠商的,只要資源適合場景,都可以透過阿里雲容器雲的異構納管平臺接入,做為臨時資源或長期的彈性擴容。
在平臺未來平臺的形式上,第一是 分散式,邊緣天生就是分散式的;第二是 小型化,邊緣有零碎或者是小型的節點。
第三是 自治性,每個區域的資源或節點自治的能力要有體現,納管體系雖然統一納管,但每個節點之間不應該有太大的關聯性,不應該相關影響。
第四是 協同性,分配資源時,從中心管控或者平臺的角度是需要協同的,某個區域因為資源不足或者資料的流轉是需要透過全域性的協同排程,才能實現最優。
最後就是 雲原生,要做到任何一個資源在短時間內都能納管入平臺,在閒置的時候又能迅速被別的平臺使用,這一定是雲原生的。
GRTN致力於提供流媒體雲原生的服務,方便客戶能夠構建自己的流媒體雲原生應用,讓流媒體服務無處不在。
阿里雲將打造普惠的流媒體雲原生生態,為使用者提供更實時、更流暢以及更高畫質的視聽體驗。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69985788/viewspace-2926498/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 從阿里雲全球實時傳輸網路GRTN出發,淺談QOE最佳化實踐阿里
- 計算機網路之傳輸層計算機網路
- 《計算機網路》傳輸層 (1)計算機網路
- 計算機網路(四)傳輸層計算機網路
- 計算機網路之TCP可靠傳輸計算機網路TCP
- 計算機網路之傳輸層TCP與UDP對比、流量控制、擁塞控制、超時重傳時間的選擇、可靠傳輸計算機網路TCPUDP
- 計算機網路——如何保證網路傳輸的安全性計算機網路
- 網路傳輸的大小端-計算機網路複習筆記計算機網路筆記
- Python 基於 TCP 傳輸協議的網路通訊實現PythonTCP協議
- RTN實時音視訊傳輸網路
- 計算機網路實驗一:vlan的建立與劃分計算機網路
- 計算機網路之八:TCP協議(2) TCP可靠傳輸的實現計算機網路TCP協議
- 計算機網路傳輸層學習筆記---(四)計算機網路筆記
- 基於雲端計算的網路威脅管理分析
- 基於WebSocket的實時訊息傳遞設計Web
- 關於計算機網路的 Wireshark 實驗計算機網路
- 基於java的網路招聘系統的設計與實現Java
- 【計算機網路】資料鏈路層——基於通道劃分的介質訪問控制計算機網路
- Python 基於Twisted框架的資料夾網路傳輸原始碼Python框架原始碼
- 關於網路傳輸MD5 校驗實驗
- 淘寶直播再升級!淘系自研GRTN 新一代多媒體傳輸網路
- 《計算機網路》第六章:傳輸層(The Transport Layer)計算機網路
- 網路協議之:基於UDP的高速資料傳輸協議UDT協議UDP
- 計算機網路之運輸層計算機網路
- 基於實時計算(Flink)與高斯模型構建實時異常檢測系統模型
- 雲端計算 - 內容分發網路CDN技術與應用全解
- Android網路系列(一):關於計算機網路的一些基礎Android計算機網路
- 基於java博網即時通訊軟體的設計與實現Java
- 計算機網路(一):網路層次劃分計算機網路
- 基於WinSNMP的網路管理程式設計----原理與實踐(摘要) (轉)程式設計
- 計算機網路實驗4:鏈路層分析與組網計算機網路
- 基於Web開發的圖片社群網站的設計與實現Web網站
- 【計算機網路知識掃盲】04、計算機網路分類(轉)計算機網路
- DeepMind開發用於量子化學計算的神經網路變分蒙特卡羅神經網路
- 網路傳輸協議協議
- 計算機網路---基礎篇計算機網路
- 網路中的圖片傳輸
- socket網路傳輸的問題