技術架構解讀:直播答題如何組隊

聲網Agora發表於2018-01-20

花椒直播《百萬贏家》新增了“組隊開黑”功能。四人組成團隊一起來挑戰答題,答題規則是這樣的:

  1. 使用者發起組隊邀請,好友可通過隊伍編號加入,並每人額外獲得一張復活卡

  2. 使用者組隊成功後,開始進入節目答題

  3. 只要隊伍中有一人通過12題考驗,隊伍平分該隊員獲得的獎金

接下來,本文會分析一下,組隊答題的實現機制及難點。

現在每道題3個選項,假設一個人隨機選擇答案,在百萬贏家的機制下,他有3次復活機會,最後一題不能復活。那麼他的通關概率是:萬分之0.5。

在組隊機制下,小隊內成員每人4次復活機會,分別答題,根據答題結果來判斷,只要有人答對,整隊進入下一輪。整隊的通關概率:萬分之6,通關概率提升了12倍。簡單的數學問題,小隊內人數增加到6561人,通關概率就是百分之百。

從技術上來說,只需要在已有的答題機制上增加以下三點,就可以實現組隊開黑:

  1. 組隊

  2. 同步小隊內答題結果

  3. 根據隊內答題結果判斷,小隊是否進入下一輪。

本質上,這只是一個增加概率的數學問題,與傳統遊戲語音組隊開黑、依靠團隊力量取勝是有區別的。從運營上來看,是新一輪的拉新活動。並不能算得上是組隊開黑。

組隊開黑應該具備什麼特徵呢?

  1. 小隊要能溝通。答題時間僅僅10s,靠文字是不可能溝通的。目前玩家自己的智慧是,通過電話連線開黑。

  2. 要有團隊提交答案的機制。由於群體的智慧,小隊的答案,正確率應該是高於個人的。有以下幾種方案可選:

    • 語音溝通完,隊長提交答案

    • 組員各自勾選答案,同時語音溝通,隊長根據組員提交的答案,做最終決定

    • 組員都能答題,先選擇的答案被鎖定,可修改,按最終選擇的答案提交。

    • 組員語音溝通、商量答案,各自答題。

組隊語音開黑的難點及解決方案

1. 組內成員之間的畫面和答題同步

若主持人畫面通過CDN,直接分別傳送到隊內成員,由於CDN延時不可控,成員的畫面會不同步。因為畫面和答題計時必須同步,這會導致隊內的答題不同步。

普通組隊開黑的技術架構

聲網的解決方案稍有不同。主持人的畫面通過CDN傳送到聲網的實時虛擬通訊網SD-RTN,再分別傳送到隊內成員,由於SD-RTN延時可控、且延時為幾百毫秒,因此成員之間的畫面、答題是同步的,即使彼此之間略有差異,但幾乎無感知。

聲網方案的技術架構

2.主持人說話作為BGM與組內語音溝通,不能互相影響。

開啟、關閉實時語音的瞬間,或者在通話的過程中,不能影響BGM也不能讓BGM影響通話。更不能導致App卡掉或閃退,影響答題。而且音量要平滑過渡,不能聲音忽大忽小。

聲網提供獨立的API,判斷頻道內是否有人說話。當有人說話時,可將BGM音量自動調小;停止說話時,BGM音量自動升高。整個過程過渡平滑、自然。

3.語音通話要低延時。

現在的規則,答題時間只有10s,如果語音通話是高延時,不但不能正常溝通,還會影響答題。

4.高併發

直播答題的高併發有其獨有的特點,時間一到,近百萬觀眾湧入一個頻道,對任何服務都是一個巨大的考驗。

聲網從最初架構設計上就是面向海量高併發的,通過全球部署分配伺服器、邊緣伺服器來就近接入使用者,骨幹網路擁塞、甚至故障時,通過智慧路由自動避開,以此保證服務的高可用和海量併發承載能力。

相關文章