(電梯環(huán)境對網(wǎng)絡(luò)的要求極高,這也成為團(tuán)隊(duì)測試網(wǎng)絡(luò)細(xì)微變化的天然場景)

為了模擬真實(shí)的生活場景,技術(shù)人員就以經(jīng)常出入的電梯作為測試環(huán)境,因?yàn)轵v訊的電梯白天人來人往,員工上班進(jìn)進(jìn)出出很多,塑造了一個天然的真實(shí)場景。

黃星回憶,有幾天幾乎就在電梯上度過,因?yàn)樾枰粩嗟恼{(diào)整參數(shù),不斷的對網(wǎng)絡(luò)細(xì)微的變化做實(shí)驗(yàn),少說也乘了上千次電梯。談到那時的情形,他現(xiàn)在依然“心有余悸”。

因?yàn)槌俗拇螖?shù)太多,以至于大廈的保安認(rèn)為他們是來搗亂的。

除了電梯,為了測試騰訊會議在人流量密切場所的網(wǎng)絡(luò)效果,他們把目光鎖定在深圳北站,這里每日的客流量超過百萬,人員密集、網(wǎng)絡(luò)環(huán)境復(fù)雜,是理想的“實(shí)驗(yàn)場所”。

有一段時間,黃星和宇鋒、景禧等小伙伴乘坐一輛小車在深圳北站附近轉(zhuǎn)悠,時不時還下車,拿著實(shí)驗(yàn)設(shè)備在廣場上測試,因?yàn)樾污E可疑,險些被公安民警請到警衛(wèi)室喝茶。

正是源于復(fù)雜場景的頻繁實(shí)驗(yàn),以及對網(wǎng)絡(luò)切換的苛刻要求,騰訊會議目前已經(jīng)能夠做到毫秒級快速切換網(wǎng)絡(luò),而行業(yè)還停留在“秒”的水平。

這就好像以前只有一條公路可以運(yùn)送貨物,公路一旦出現(xiàn)走不通的情況,只能等待把路修好疏通。如今,一旦公路出現(xiàn)擁堵或者走不通,會議立馬可以提供高鐵甚至飛機(jī)的選擇,保障貨物更快速送達(dá)目的地。

在純粹的B端場景下,騰訊會議作為后入者,如何打磨每一個細(xì)分領(lǐng)域和場景,讓企業(yè)和組織的數(shù)字化溝通更加簡單、智能、高效,都不斷地考驗(yàn)著會議團(tuán)隊(duì)的專注和耐心。對會議來說,這更是一場馬拉松長跑。

一年功能迭代20000次背后

用戶體驗(yàn)起來簡單的技術(shù),背后反而是最復(fù)雜的。

為了優(yōu)化用戶體驗(yàn),騰訊會議技術(shù)團(tuán)隊(duì)常常進(jìn)入一種不瘋魔不成活的狀態(tài)。

做過App的人應(yīng)該深有體會,一款A(yù)pp不僅需要適配不同的客戶端,還需要適配不同的操作系統(tǒng)。比如你是蘋果,我是華為,他還是OPPO,操作系統(tǒng)更是囊括了Android、iOS、Windows、Mac、Linux等。

作為天然的一個跨平臺的產(chǎn)品來說,如果每個系統(tǒng)使用獨(dú)立的一套架構(gòu),后果將會難以想象,不僅開發(fā)起來工作量巨大,對于后期升級和運(yùn)維來說,也堪稱災(zāi)難。

騰訊會議客戶端開發(fā)負(fù)責(zé)人陳志興是最早參與架構(gòu)設(shè)計(jì)的成員之一,他回憶稱,從騰訊會議的第一行代碼開始,團(tuán)隊(duì)就堅(jiān)持同源同構(gòu)的思想,即同一套架構(gòu),同一套代碼,服務(wù)所有場景。

更重要的是,主框架全部基于自研。

“雖然開源也可以實(shí)現(xiàn)功能上的創(chuàng)新,但對于會議場景來說,因?yàn)楦鱾€組件和模塊之間的拼接,將會導(dǎo)致信號在傳輸過程中產(chǎn)生延遲,自研的架構(gòu)天然就是一個整體,在全鏈路的延遲上,有機(jī)會比開源做到更低”。

基于在音視頻實(shí)時傳輸系統(tǒng)搭建和優(yōu)化上的經(jīng)驗(yàn)積累,騰訊會議技術(shù)團(tuán)隊(duì)自研了一個跨平臺而且高效的引擎 —xCast。這種端的優(yōu)勢在于實(shí)時性,在最短時間內(nèi)根據(jù)網(wǎng)絡(luò)等狀況做出反應(yīng),配合云上的后臺優(yōu)勢,可以做到靈活調(diào)整云端策略。

有了這樣統(tǒng)一的架構(gòu),騰訊會議在面對新的移動場景端時,能夠做到最快的平臺兼容和穩(wěn)定。

目前,在騰訊內(nèi)部,騰訊會議是最快支持蘋果M1芯片的內(nèi)部應(yīng)用。

“在底層能力上,騰訊會議堅(jiān)持自主研發(fā),這可以認(rèn)為是一種騰訊傳統(tǒng)的自然延續(xù),但對于騰訊會議技術(shù)團(tuán)隊(duì)來說,xCast就是要做世界上最好的音視頻通信基礎(chǔ)服務(wù)”,騰訊會議平臺架構(gòu)組負(fù)責(zé)人D老師表示。

2021年,騰訊會議迭代優(yōu)化了20000個功能,實(shí)現(xiàn)小步快跑,背后的殺手锏就是xCast。

一群做軟件的,被逼成硬件工程師

其實(shí),對于交互類產(chǎn)品來說,解決了穩(wěn)定適配和兼容這個最大公約數(shù)的問題還只是剛剛開始,為了給用戶最優(yōu)質(zhì)的溝通體驗(yàn),還需要針對每個端的性能進(jìn)行不斷的優(yōu)化。

拿用戶最關(guān)心的手機(jī)電量這個點(diǎn)來說,開會作為一個高頻場景,用戶格外關(guān)注電量問題,現(xiàn)在很多用戶都有電量焦慮癥。

在會議誕生之初,特別是在夏天,騰訊會議總是會收到比較多的用戶反饋。當(dāng)時很多學(xué)生在使用會議來考試,老師要求必須開攝像頭,他們基本上邊充電,邊開著攝像頭。

(為了測試耗電量,技術(shù)團(tuán)隊(duì)對各種款式的老舊手機(jī)進(jìn)行反復(fù)測試)

有大量同學(xué)反饋說,經(jīng)常設(shè)備發(fā)燙特別厲害,電量消耗得特別快。

為了搞清楚問題,負(fù)責(zé)性能優(yōu)化的貓哥特別針對相關(guān)反饋,一個用戶一個用戶打電話詢問,究竟在什么樣的場景下,掉電比較厲害。通過這種大范圍純手工的“人肉篩查”,團(tuán)隊(duì)最終在超過180例反饋中,梳理出了問題癥結(jié),并做了專門的優(yōu)化。

當(dāng)時發(fā)現(xiàn),在雙行卡的Mac機(jī)器上使用了高性能一些GPU,它對于非開攝像頭的場景,對電量或者是發(fā)熱的影響是非常大的,后來發(fā)現(xiàn)這個問題以后,針對性的做了多輪測試和優(yōu)化,極大減少了電量的消耗。

除此之外,還做了一些邊界的裁剪,因?yàn)閯倓傋鲆晥D播放的時候,渲染邊界或者動畫會對CPU的消耗影響非常大。

把線上比較緊急的問題解決完了以后,會議團(tuán)隊(duì)也在思考怎么樣常規(guī)化、自動化地發(fā)現(xiàn)這樣一些問題。

但是問題接踵而來,電量的測試環(huán)境會因?yàn)椴煌臏囟取⒐庹斩嬖诓町?,對整個電量消耗都是影響非常大的因素,需要做多次反復(fù)的操作,才能達(dá)到相對穩(wěn)態(tài)的狀態(tài)。

為了從根本上解決難題,團(tuán)隊(duì)成員開始“不務(wù)正業(yè)”,研究起來了數(shù)據(jù)線的電路原理。

于是,一群會議的軟件工程師,硬是搗鼓出來一塊智能充放電控制板。

(為了提升電量消耗測試的效率,會議技術(shù)團(tuán)隊(duì)做了一塊控制板)

經(jīng)過一番研究之后,發(fā)現(xiàn)數(shù)據(jù)性的原理并不復(fù)雜,它內(nèi)部的主要電路一部分是支持充電用的,一部分控制信號用的,充電本身就是一個繼電器和控制信號,繼電器的本質(zhì)作用是為了給它做充電的操作,控制信號主要用來控制充電的開關(guān)。通過一臺PC或者M(jìn)ac的電腦,可以對手機(jī)做自動充放電的管理。

摸透了原理之后,會議技術(shù)團(tuán)隊(duì)便自己動手焊接了一塊自動控制板,灌上程序,跑了起來,硬生生把一群程序員逼成了硬件工程師。

有了這個電路板之后,技術(shù)團(tuán)隊(duì)就能夠更加精準(zhǔn)地去測試。比如在80%的電量場景下掉電是什么樣子的,當(dāng)電量到30%的情況下,又是什么情形。

一個直觀的例子,很多人在參加會議時,如果細(xì)心的話會發(fā)現(xiàn),每個人像旁邊有個麥克風(fēng)音量動畫顯示對應(yīng)講話人聲音,當(dāng)多個人同時有講話時,存在多個動畫,但該動畫頻率高數(shù)量大時,對電量的影響也就越明顯。

經(jīng)過分析后,技術(shù)團(tuán)隊(duì)通過動態(tài)調(diào)整動畫幀率合并刷新等方式,降低了多音頻場景下電量的消耗,以macOS為例,6人參與的音頻會議,半小時電量消耗下降達(dá)到100mAh。

生于云、長于云

除了網(wǎng)絡(luò)上、架構(gòu)上的優(yōu)化,騰訊會議還依靠騰訊云,在更宏觀的維度上作了系統(tǒng)級的規(guī)劃。

最開始,騰訊會議的設(shè)計(jì)容量支持5萬人同時在線,但是2020年3月騰訊會議的日活就突破了一千萬。如今,騰訊會議的用戶已經(jīng)超過兩億,在一場又一場“大考”中歷練成長。

就拿擴(kuò)容來說,以往提到擴(kuò)容,很容易聯(lián)想到堆機(jī)器、堆資源、搶IP。

2020年初,騰訊會議就遭遇了一場硬仗。為了緊急擴(kuò)容,支持爆發(fā)增長的遠(yuǎn)程協(xié)作需求,整個公司幾乎所有有著海量服務(wù)經(jīng)驗(yàn)的12級專家,都參與到這場戰(zhàn)斗中。

當(dāng)時,負(fù)責(zé)媒體傳輸?shù)狞S志海、負(fù)責(zé)媒體流控的薛笛、會議后臺整體架構(gòu)的王彬三個團(tuán)隊(duì),更是組成了跨部門鐵三角戰(zhàn)隊(duì)。

在多個團(tuán)隊(duì)日以繼夜的 “空降式“救援后,騰訊會議順利完成了會議擴(kuò)容、穩(wěn)定了后臺服務(wù),還創(chuàng)下8天擴(kuò)容超過10萬臺云主機(jī),創(chuàng)造了云計(jì)算歷史記錄。

這一切,都源于背靠騰訊云完成的。生于云、長于云的騰訊會議交出了一份嶄新的答卷。

(會議擴(kuò)容之戰(zhàn)的特別作戰(zhàn)室)

根據(jù)騰訊云副總裁、騰訊會議技術(shù)負(fù)責(zé)人陳健生介紹,在整體架構(gòu)上,騰訊會議采用了容器化的云原生方案,真正做到彈性伸縮、自動擴(kuò)容、異地容災(zāi)備份、服務(wù)化治理。

其次,騰訊會議全面使用騰訊云的云原生組件和能力,比如TDSQL、對象存儲、CDN加速器、文件存儲、日志監(jiān)控、消息隊(duì)列等。同時,基于云原生的模式,會議的開發(fā)、測試、部署、運(yùn)營等四個域的研發(fā)效能全面得到提升,也讓騰訊會議在快速成長的時候得以保持敏捷的迭代節(jié)奏。

“現(xiàn)在要說擴(kuò)容,幾十萬核心的擴(kuò)容,一個按鈕就能搞定”,王彬說道。

后臺團(tuán)隊(duì)的大鵬也深有感觸,騰訊會議把云上通用型的能力做成了靈活可配置,隨時可以上,隨時可以下,“原來很多人的苦活累活都被機(jī)器替換掉了。”

今年以來,全國疫情形勢嚴(yán)峻,當(dāng)某個地方出個疫情,騰訊會議可以通過用戶需求觀察,進(jìn)行系統(tǒng)性立體式的管理,及時發(fā)現(xiàn)流量異常,依靠全自動或極少人工參與的方式進(jìn)行系統(tǒng)容量的保障,快速支撐疫情地區(qū)人民群眾的遠(yuǎn)程需求。

云給騰訊會議帶來的改變遠(yuǎn)遠(yuǎn)不止擴(kuò)容這個點(diǎn)。云資源的保障能力不僅體現(xiàn)在人數(shù)的垂直維度,還在地理的水平維度上。

2021年的時候,在一場有200方的會議中,成員遍布全球150多個國家。當(dāng)時面臨的最大的問題就是有些國家網(wǎng)絡(luò)好,有些國家網(wǎng)絡(luò)很差,甚至有些非洲地區(qū)的網(wǎng)絡(luò),網(wǎng)絡(luò)狀況還是十幾年前的水平。

為了保障整個會議的質(zhì)量,騰訊會議依靠騰訊云遍布全球27個國家的70多個可用區(qū),以及2800多個加速節(jié)點(diǎn),為220多個國家和地區(qū)的用戶提供就近接入能力,同時借助騰訊云網(wǎng)絡(luò)的高質(zhì)量低延遲的傳輸能力,為會議的穩(wěn)定進(jìn)行提供了基礎(chǔ)保障。

毫無疑問,生于云、長于云,讓騰訊會議有了一個堅(jiān)實(shí)的技術(shù)底座,扛住了洪流般的用戶需求,經(jīng)歷了一場場大規(guī)模云端實(shí)踐。

對于會議的未來技術(shù)演進(jìn)目標(biāo),騰訊云副總裁,騰訊會議負(fù)責(zé)人吳祖榕總結(jié)了四個“any”,他希望用戶無論是anytime(任何時間)、anywhere(任何地點(diǎn))、anydevice(任何設(shè)備)、anynetwork(任何網(wǎng)絡(luò)),都能穩(wěn)定流暢的開會。

“騰訊會議會開會”,不僅是騰訊對于會議這款產(chǎn)品的承諾,也是一種底氣。

分享到

songjy

相關(guān)推薦