架構-實時質量監(jiān)控平臺的架構設計

基于大數據平臺-實時質量監(jiān)控平臺的架構設計

聲網Agora

6 個月前

本文是聲網首席數據架構師何豐狸相,在ArchSummit全球架構師峰會深圳站模捂,分享的內容《質量實時監(jiān)控:全球音視頻實時傳輸的關鍵幀》丑搔。

在全球實時音視頻傳輸過程中疏遏,為了提供QoE質量保障,需要構建一個穩(wěn)定可靠的實時數據監(jiān)測系統(tǒng)目养,從而能夠監(jiān)測每一次通話俩由。聲網是全球首個使用大數據平臺做監(jiān)控和實時保障的通信技術服務商。聲網的實時數據監(jiān)控系統(tǒng)癌蚁,覆蓋了實時通話的全鏈路幻梯,包括端到端傳輸、用戶體驗監(jiān)控努释,并且每一次通話均可回溯碘梢。因此,在構建實時數據監(jiān)測系統(tǒng)時伐蒂,面臨很多“第一次”煞躬。本文包含從數據架構設計、數據收集、分析恩沛、還原在扰、預警和使用上的很多實踐經驗分享。

1. 影響通話質量的因素

1.1 接入質量

一次通話的傳輸過程复唤,包含很多個環(huán)節(jié)健田,每個環(huán)節(jié)的質量烛卧,會對整個服務的質量佛纫、乃至用戶體驗產生巨大影響。下面從一個印度用戶與中國用戶的通話講起总放。在通話發(fā)起時呈宇,這個印度的用戶首先會接入聲網的SD-RTN實時虛擬通信網,此時局雄,就產生了第一環(huán)節(jié)的質量問題:接入質量甥啄。影響接入質量的因素有:

最近的接入點

弱網絡(2G/3G)

WIFI 信號差

路由器設備問題

企業(yè)路由器限制

DNS劫持

小運營商網絡

跨運營商接入

這些環(huán)節(jié),需要一一針對性的優(yōu)化炬搭。

1.2傳輸質量

接下來是傳輸質量蜈漓。這個印度的用戶,如果從Bangalore(班加羅爾宫盔,印度南部的城市)接入融虽,到北京會有200ms的遲延;但是Bangalore到新加坡只有100ms灼芭,再從新加坡到北京只有60ms有额,這是非常理想的線路。聲網的智能路由會選擇從新加坡“繞道”走彼绷。此時巍佑,這個印度用戶獲得的體驗,就是整體160ms的延遲寄悯,而不是200ms萤衰。

經過接入優(yōu)化、路由傳輸優(yōu)化猜旬,用戶會獲得非常好的端到端質量腻菇,丟包控制在1%,抖動和延遲能夠控制在120ms昔馋。

但是筹吐,即使端到端質量非常好,有的用戶看到的畫面還是模糊的秘遏。這是因為丘薛,影響用戶體驗的除了端到端傳輸,還有其它因素邦危。

1.3 用戶的問題

聲網在印度的終端用戶洋侨,有大量用戶使用下圖這款手機舍扰,官網的售價大概是相當于562元人民幣。

這是非常低端的設備希坚,會出現很多中高端設備沒有的問題边苹。

聲學設計缺陷、制造缺陷裁僧,造成嚴重的回音干擾

機型過熱造成對性能的影響个束,導致畫面卡頓甚至卡屏

硬件編解碼器能力不同,也會對流暢度產生影響

1.4 軟件集成的問題

在軟件集成方面也會有問題聊疲,比如茬底,開發(fā)人員用錯API或者軟件本身存在BUG。

當我們知道有哪些環(huán)節(jié)會影響通話質量获洲,那么質量監(jiān)控系統(tǒng)的功能要求也就呼之欲出了阱表。它要能監(jiān)控到每一次通話的質量。我們能通過這個系統(tǒng)來定位這個問題是一個個例贡珊,還是廣泛存在的最爬, 是在哪個環(huán)節(jié)出了問題。

2. 數據的實時監(jiān)控

2.1 可感知门岔、可保障

對于聲網來說爱致,我們需要對用戶的通話體驗進行實時監(jiān)控。包括接入節(jié)點質量固歪、路由傳輸層質量蒜鸡、音視頻引擎質量以及用戶體驗質量。有了這些數據牢裳,我們就能夠對通話過程進行診斷或者進行事后的深入復盤逢防。聲網是全球第一個使用大數據平臺做監(jiān)控和實時保障的通信技術服務商。我們在質量監(jiān)控方面的目標是讓整個通信服務的質量是可感知和可保障的蒲讯。

2.2 基礎網絡

這是一個聲網數據監(jiān)控中關于基礎網絡質量的粗略演示忘朝。圖中顯示的是我們整個大網絡SD-RTN的數據中心相互之間的連接的情況。紅色說明兩個機房之間連接的狀態(tài)非常差判帮,綠色說明非常好局嘁。

2.3 基礎服務

這是基礎服務的監(jiān)控情況。聲網要保障對98%的用戶能夠在1秒內完成響應晦墙,紅色是代表響應時間小于1秒的百分比悦昵。

2.4 端到端的監(jiān)控

這是端到端的監(jiān)控,測量用戶在傳輸區(qū)間的數據晌畅,包括延遲但指、丟包。圖中的丟包,是網絡優(yōu)化后的丟包棋凳,不是實際的丟包拦坠。

2.5 用戶體驗的監(jiān)控

最后是用戶體驗方面的監(jiān)控,比如直播場景下剩岳,根據用戶的觀感體驗所做的監(jiān)控贞滨,觀眾的卡頓。

2.6 告警

這是我們自己開發(fā)的一個APP拍棕。聲網的服務出現任何不穩(wěn)定的情況時晓铆,通過這個APP都可以接收到告警。拿Hike作為一個例子莫湘,我們首先會定義什么叫優(yōu)質接入尤蒿,當優(yōu)質接入的比例低于80%的時候郑气,我們就會觸發(fā)告警幅垮。過了一段時間恢復了,同樣會接收到提示尾组。

2.7 個例調查

前文說的是一個整體監(jiān)控忙芒。如果個別用戶出現突發(fā)狀況時,比如網絡特別差或者手機特別差讳侨。我們需要把整個過程還原出來呵萨,調查出是哪個環(huán)節(jié)出了問題,作為后續(xù)質量改進的依據跨跨。所以潮峦,我們會把所有通話各個層次的工作指標實時收集保存下來,這樣就能夠用于在線現場分析勇婴,或者事后復盤忱嘹。

這是兩個用戶在打電話的數據實時監(jiān)控,圖中的數據包含:音頻的渲染耕渴、視頻的渲染拘悦、用戶上行的丟包、上行的延遲等等信息橱脸。

3. 系統(tǒng)架構與挑戰(zhàn)

這樣一個實時監(jiān)控體系础米,包含幾百個指標,每個用戶的數據都要實時收集添诉、實時分析屁桑。所以,我們需要一個穩(wěn)定的架構來支撐這樣的海量數據和運算量栏赴。

上圖是一個架構簡圖蘑斧。我們的用戶全球分布,數據會從全球各地輸入進來,通過我們SD-RTN網絡分布全球的數據中心乌叶,收集數據盆偿。在中間環(huán)節(jié),有一個實時的智能網絡准浴,它也是一個分布的接收節(jié)點事扭,中間有傳感節(jié)點,收到數據以后通過最近的線路報到美國的數據中心乐横。

整個監(jiān)測架構求橄,分為3個系統(tǒng):實時計算系統(tǒng)、實時存儲系統(tǒng)葡公、離線存儲系統(tǒng)罐农。實時計算系統(tǒng)用來做數據的實時統(tǒng)計和分析,對異常進行告警催什。實時存儲系統(tǒng)用來把數據進行實時收集涵亏,用來支撐實時調查的工具,這里會用到HBase離線存儲系統(tǒng)蒲凶,用作整體的質量分析气筋。

要實現這套系統(tǒng),首先需要對統(tǒng)計的指標進行清晰定義旋圆。下圖是一些例子宠默,實際的指標不止于此。

用戶數據的收集灵巧,尤其是移動設備搀矫,面臨很多問題和挑戰(zhàn)。

UDP不可靠:我們采用UDP進行上報刻肄。但是瓤球,UDP的傳輸不可靠,所以我們要實現UDP的響應機制肄方。數據報上去后冰垄,是否收到,客戶端需要知道权她。如果沒有收到就多報幾次虹茶。

Best effort傳輸:如果數據報不上去,現在不報隅要,晚一點再報蝴罪,但這樣就失去了時效性。所以步清,我們要做到可控的上報要门。那么虏肾,我們就要計算總體的丟失率。

DNS解析問題:早期我們采用DNS的方式選擇上報的邊緣節(jié)點欢搜,后來發(fā)現效果比較差封豪,比如很多DNS時候解析會超時。

數據協(xié)議:有些協(xié)議是看起來非常簡單炒瘟,容易調試吹埠,但是數據的傳輸效率比較差,而且不是機器友好的協(xié)議疮装,可能在解析的時候要做多種判斷缘琅。最后我們用Thrift協(xié)議。

數據量可控:這是數據上報移動端獨有的問題廓推。比如刷袍,通話時處在非常差的網絡, 2G網絡樊展。在帶寬不夠時呻纹,如果還上報大量數據,會影響通話過程滚局。所以居暖,數據量可控就是指顽频,在不同網絡狀況下分析藤肢,什么情況下可以多報數據,什么情況下少報一些數據糯景。

數據實時收集:要對上報的邊緣節(jié)點做負載均衡嘁圈,防止雪崩。比如蟀淮,一個客戶突然放量了最住,用戶增長上百萬。此時怠惶,基礎設施的搭建可能趕不上用戶量的增長涨缚。所以,必須保障數據服務能夠可靠穩(wěn)定的工作策治,不能因為數據量驟增就全都不工作了脓魏。所以,邊緣節(jié)點還必須要有一些防御性的策略通惫。比如茂翔,指定哪些類型的數據在邊緣節(jié)點就丟掉,不再往數據中心傳輸履腋。

時間序列數據:我們用HBase做時間序列的存儲珊燎。因為我們收集的數據特別多惭嚣,但只有少部分數據會調取,比如100個通話只有一兩個通話需要復盤或者調查悔政。這是一個寫多讀少的場景晚吞。大量數據都是擱置的,但是又必須要把它們全部收集起來谋国。所以载矿,要針對寫多讀少的場景做優(yōu)化。此外烹卒,數據結構也做了優(yōu)化工作闷盔。一開始,是參考寬表的方式旅急,但測試后發(fā)現寬表會因為行鎖問題逢勾,影響到寫的速度,后面就改成了高表藐吮。同時溺拱,時間序列就是時間點,是一個key-value序列谣辞,但是rowkey很長迫摔, 不加優(yōu)化存儲效率非常低。

目前泥从,這個數據監(jiān)測系統(tǒng)一天規(guī)模是一千億條數據句占。并且在隨著用戶量的增加,逐漸提升躯嫉。整體監(jiān)控的延遲性能大概是10s以內纱烘,從終端用戶體驗到接入到大網通話開始到結束,所有的環(huán)節(jié)我們都能監(jiān)控起來祈餐,所有的通話都可以回溯擂啥,任何一通通話出現問題,我們都能找到原因帆阳。


引用 https://zhuanlan.zhihu.com/p/27817652

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末哺壶,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子蜒谤,更是在濱河造成了極大的恐慌山宾,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,084評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件芭逝,死亡現場離奇詭異塌碌,居然都是意外死亡,警方通過查閱死者的電腦和手機旬盯,發(fā)現死者居然都...
    沈念sama閱讀 92,623評論 3 392
  • 文/潘曉璐 我一進店門台妆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來翎猛,“玉大人,你說我怎么就攤上這事接剩∏欣澹” “怎么了?”我有些...
    開封第一講書人閱讀 163,450評論 0 353
  • 文/不壞的土叔 我叫張陵懊缺,是天一觀的道長疫稿。 經常有香客問我,道長鹃两,這世上最難降的妖魔是什么遗座? 我笑而不...
    開封第一講書人閱讀 58,322評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮俊扳,結果婚禮上途蒋,老公的妹妹穿的比我還像新娘。我一直安慰自己馋记,他們只是感情好号坡,可當我...
    茶點故事閱讀 67,370評論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著梯醒,像睡著了一般宽堆。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上茸习,一...
    開封第一講書人閱讀 51,274評論 1 300
  • 那天畜隶,我揣著相機與錄音,去河邊找鬼逮光。 笑死代箭,一個胖子當著我的面吹牛,可吹牛的內容都是我干的涕刚。 我是一名探鬼主播,決...
    沈念sama閱讀 40,126評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼乙帮,長吁一口氣:“原來是場噩夢啊……” “哼杜漠!你這毒婦竟也來了?” 一聲冷哼從身側響起察净,我...
    開封第一講書人閱讀 38,980評論 0 275
  • 序言:老撾萬榮一對情侶失蹤驾茴,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后氢卡,有當地人在樹林里發(fā)現了一具尸體锈至,經...
    沈念sama閱讀 45,414評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,599評論 3 334
  • 正文 我和宋清朗相戀三年译秦,在試婚紗的時候發(fā)現自己被綠了峡捡。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片击碗。...
    茶點故事閱讀 39,773評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖们拙,靈堂內的尸體忽然破棺而出稍途,到底是詐尸還是另有隱情,我是刑警寧澤砚婆,帶...
    沈念sama閱讀 35,470評論 5 344
  • 正文 年R本政府宣布械拍,位于F島的核電站,受9級特大地震影響装盯,放射性物質發(fā)生泄漏坷虑。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,080評論 3 327
  • 文/蒙蒙 一埂奈、第九天 我趴在偏房一處隱蔽的房頂上張望猖吴。 院中可真熱鬧,春花似錦挥转、人聲如沸海蔽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,713評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽党窜。三九已至,卻和暖如春借宵,著一層夾襖步出監(jiān)牢的瞬間幌衣,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,852評論 1 269
  • 我被黑心中介騙來泰國打工壤玫, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留豁护,地道東北人。 一個月前我還...
    沈念sama閱讀 47,865評論 2 370
  • 正文 我出身青樓欲间,卻偏偏與公主長得像楚里,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子猎贴,可洞房花燭夜當晚...
    茶點故事閱讀 44,689評論 2 354

推薦閱讀更多精彩內容