技术架构解读:直播答题如何组队

花椒直播《百万赢家》新增了“组队开黑”功能。四人组成团队一块儿来挑战答题,答题规则是这样的:服务器

  1. 用户发起组队邀请,好友可经过队伍编号加入,并每人额外得到一张复活卡网络

  2. 用户组队成功后,开始进入节目答题架构

  3. 只要队伍中有一人经过12题考验,队伍平分该队员得到的奖金并发

接下来,本文会分析一下,组队答题的实现机制及难点。高并发

如今每道题3个选项,假设一我的随机选择答案,在百万赢家的机制下,他有3次复活机会,最后一题不能复活。那么他的通关几率是:万分之0.5。架构设计

在组队机制下,小队内成员每人4次复活机会,分别答题,根据答题结果来判断,只要有人答对,整队进入下一轮。整队的通关几率:万分之6,通关几率提高了12倍。简单的数学问题,小队内人数增长到6561人,通关几率就是百分之百。设计

从技术上来讲,只须要在已有的答题机制上增长如下三点,就能够实现组队开黑:cdn

  1. 组队blog

  2. 同步小队内答题结果游戏

  3. 根据队内答题结果判断,小队是否进入下一轮。

本质上,这只是一个增长几率的数学问题,与传统游戏语音组队开黑、依靠团队力量取胜是有区别的。从运营上来看,是新一轮的拉新活动。并不能算得上是组队开黑。

组队开黑应该具有什么特征呢?

  1. 小队要能沟通。答题时间仅仅10s,靠文字是不可能沟通的。目前玩家本身的智慧是,经过电话连线开黑。

  2. 要有团队提交答案的机制。因为群体的智慧,小队的答案,正确率应该是高于我的的。有如下几种方案可选:

    • 语音沟通完,队长提交答案

    • 组员各自勾选答案,同时语音沟通,队长根据组员提交的答案,作最终决定

    • 组员都能答题,先选择的答案被锁定,可修改,按最终选择的答案提交。

    • 组员语音沟通、商量答案,各自答题。

组队语音开黑的难点及解决方案

1. 组内成员之间的画面和答题同步

若主持人画面经过CDN,直接分别发送到队内成员,因为CDN延时不可控,成员的画面会不一样步。由于画面和答题计时必须同步,这会致使队内的答题不一样步。

普通组队开黑的技术架构

声网的解决方案稍有不一样。主持人的画面经过CDN发送到声网的实时虚拟通讯网SD-RTN,再分别发送到队内成员,因为SD-RTN延时可控、且延时为几百毫秒,所以成员之间的画面、答题是同步的,即便彼此之间略有差别,但几乎无感知。

声网方案的技术架构

2.主持人说话做为BGM与组内语音沟通,不能互相影响。

开启、关闭实时语音的瞬间,或者在通话的过程当中,不能影响BGM也不能让BGM影响通话。更不能致使App卡掉或闪退,影响答题。并且音量要平滑过渡,不能声音忽大忽小。

声网提供独立的API,判断频道内是否有人说话。当有人说话时,可将BGM音量自动调小;中止说话时,BGM音量自动升高。整个过程过渡平滑、天然。

3.语音通话要低延时。

如今的规则,答题时间只有10s,若是语音通话是高延时,不但不能正常沟通,还会影响答题。

4.高并发

直播答题的高并发有其独有的特色,时间一到,近百万观众涌入一个频道,对任何服务都是一个巨大的考验。

声网从最初架构设计上就是面向海量高并发的,经过全球部署分配服务器、边缘服务器来就近接入用户,骨干网络拥塞、甚至故障时,经过智能路由自动避开,以此保证服务的高可用和海量并发承载能力。

如对咱们的方案感兴趣,或遇到开发问题,欢迎访问声网 Agora问答版块与声网工程师交流。

相关文章
相关标签/搜索