声网实时通信质量透明工具“水晶球 Agora Analytics”背后的数据挑战

本文整理自声网数据平台首席架构师何丰在 RTC 2018 实时互联网大会的演讲内容。他的演讲内容主要包括,如何以数据来衡量实时通信质量,质量透明化背后的数据挑战,以及声网面向开发者最新推出的通信质量诊断分析产品“水晶球”(Agora Analytics)的应用场景与技术难点。

我们是提供实时音视频服务的。我们希望让开发者们使用实时通信服务,就像使用水、电一样方便。用户的设备接入了我们的云服务后,就可以直接与全球其它国家和地区的用户进行实时的语音或视频互动。

在声网的实时通信云服务上,已经有很多种应用,比如直播与社交,像参加本次大会的 MeetMe 就是美国目前最大的约会社交平台;再比如教育,有很多教育类产品为国内学生与海外老师搭建了实时互动的教学平台;再比如游戏,此前游戏比较流行一起打怪升级,现在很多手游已经集成实时通信的功能,开始变得社交化。在此之前,我们为小天才儿童手表提供了实时语音、视频的服务,实际上也是 IoT 领域的一个典型案例。

质量透明:让80%的质量问题可快速解决

在实现了这么多的业务场景的同时,我们也会思考,是不是帮开发者们实现了实时通信之后,服务即到此为止呢?实际上不是。刚刚开场前,我也与场下一些人交流了一下。大家都觉得实时通信服务的关键是质量能做到多好,以及质量是否能得到保障。

举一个教育场景下的真实案例。在一场多人的在线课堂里,上课过程中,有一个学生反映,刚刚有一堂课效果很不好,因为画面一直卡。在教育场景下,很多课程都是付费的,当收到学生的投诉后,这个客户非常着急,向我们求助,希望能查一查影响这位学生上课体验的原因。我们很快为他们做了诊断和分析,结果发现,刚才那位老师是用的是高清分辨率画面,而这位学生用的第一代的 iPad,但这个设备不支持这种高清分辨率,所以一整堂课里,只有这位学生感到体验很差。经过我们反馈后,客户知道问题出在学生的设备上,让学生换了一个设备听课就解决了。

这只是一个案例。终端用户遇到问题会找到客户,而客户遇到用户投诉但又无法自己调查,会导致整个问题解决的效率很低。这里面有三个角色,终端用户、客户、声网。涉及的问题层层传递,等我们最后调查问题,给出结论,到解决问题,可能已经过了几个小时,这期间问题仍然存在,学生一天的课程上完了,却体验很差。

图:常规的质量问题诊断流程

在实时通信场景下会有类似大量的问题发生。我们经过了整理和筛查后发现,有这么几类:

设备问题,如型号老旧、系统兼容性差、故障。

网络环境问题,如终端用户带宽因过低。

集成问题,如错误的 API 调用、使用了有问题的库。

终端用户误操作问题,如用户自己按了静音等。

声网服务问题,如 SDK 或 SD-RTN™ 的 bug 或其它问题。

你会发现,其中很多问题是开发者能自己为终端用户快速解决的。所以我们认为,能提供实时通信服务还不够,还需要将服务质量透明化,展示给使用的开发者。质量透明后,一方面,开发者可以直观了解到终端用户口中的“体验差”是差在哪里,有多长时间的影响,另一方面,可以确定是网络问题、设备问题,还是其它问题。质量透明可以加速服务质量与产品体验的迭代、优化。

如何用数据来体现、衡量通信质量?

我们自身有一套非常完善的质量数据体系,通过内部的工具和系统可以定位诊断,可以监测到实时通信过程中全链路的数据信息,例如用户的设备状态,系统是否静音,网络的切换,SDK 在客户端上的运行状态,网络传输发送时的码率、上行网络丢包、抖动、延迟等质量相关数据。数据会经过 SD-RTN™ 进行跨国、跨洲际的传输,其中的数据传输质量也会得到监测。在数据传输到另一方接收端时,解码、播放、渲染的状态等,这些客户端上与质量相关的状态信息都会被收集起来。

图:全链路数据的收集
图:体系化的质量问题分类

与此同时,由于有时开发者、客户会希望可以调查某一次通话的质量问题,所以我们也会对每次通话的质量状态进行监控。2017年,我们每天会收集 100亿组运行时状态的数据,到了2018年,这个数据已经达到了2000亿组/天。

这套数据体系有几个使用场景。它不仅可以用于问题诊断,也可以用于实时的质量监控。例如,我们可以实时获知哪个区域的用户接入网络状态突然变差,或某个网络向外海传输的线路有较大的丢包情况等。同时这套数据体系,我们在内部还用于驱动质量改进、A/B Test 等工作。

我们认为,这么丰富的全链路质量数据,应该开放给我们的开发者。如果说提供实时通信服务是为开发者提供了一辆车,那么质量透明就像是车上的仪表盘,让开发者不再盲目行驶,可以随时了解车况。于是我们最近推出了第一版实时通信质量透明数据产品——声网水晶球(Agora Analytics)。

声网水晶球(Agora Analytics)

水晶球的主要作用有两点:第一,解决“体验差”无法定义的问题,开发者、客户可以基于水晶球的这套数据体系明确遇到的问题是哪一类,问题的严重程度;第二,通过水晶球可以判断质量问题是什么,从而快速找到解决方法。

要做到这两点,我们就需要提供实时检索所有通话的能力,无论是已发生的还是正在发生的通话,都可以根据开发者已知的信息来查询。以下图为例,是四个终端用户的通话状态,横轴以上是视频流的状态,横轴以下是音频的,可以看到所有的码率都处于稳定的状态,甚至可以看出用户在观看几个大画面和几个小画面,他是 Android 还是 Web 的终端用户。

再进一步,开发者可以进入诊断界面,经过对比发送端、接收端的质量数据,包括设备操作情况、上下行网络、上下行码率、采集帧率等,来分析判断影响质量体验的原因。

以下图为例,我们可以看到左边发送端用户整体网络上行质量非常好,但是接收端的数据显示出现过3次95%的丢包情况,对比视频的卡顿情况来看,可以判断是由于下行网络状况较差导致的。

质量透明的数据挑战

要做到这种质量透明有很多技术挑战,我们总结后有如下几点:

第一是数据的收集。我们的通话分布在全球各个地方,运行时的指标需要从各地用户的设备上去收集。我们骨干传输网络覆盖了全球超过200个国家和地区,我们也需要从这些节点去收集终端用户的网络状态信息。目前我们现在可以实现99.9%的传输成功率,基本上全球用户的通话状态数据都能够很好地收集上来。也就是说,除了做到本身的实时传输工作之外,必须还有一套全球的可靠的数据收集网络。

第二是数据聚合。我们收集的这些数据比较分散,包含 SDK 在客户终端的使用,通话的网络传输质量信息,还有发送端与接收端的通信质量、设备状态等信息。我们要实现问题的分析诊断,就需要将这些数据放在同一个“上下文”中去看,要将数据关联起来,所以最大的一个挑战就是如何将这么大量级的数据聚合。

第三就是数据规模。我们现在每天要处理2000多亿规模,这些数据涉及平台挑战,不仅要把每天的数据存储下来,还要实时接收下来,并进行及时处理。因为很多用户都是需要在发现问题时就进行调查。

第四是实时数据检索。除了运行指标,还有很多通话信息、用户设备型号等信息,我们需要让开发者能通过这些信息能够快速检索,来检测出现问题的是哪一通通话,从而解决用户的质量问题。

水晶球的意义就在于为应用开发的老司机们提供了一个仪表盘,可以随时准确掌握实时通信中的每一个细节,让整个产品体验更有保障。目前,我们已经推出了这个工具,并希望以后能把更多质量数据和更智能化的质量分析服务充分提供给开发者们。

FAQ

Q:水晶球的入口在哪里?

A:开发者可以在声网登录账号后,在 Dashboard 中直接使用到水晶球产品。

Q:水晶球主要解决了哪些问题?

A:能够对通信质量进行定性, 比如一个质量很差的通话, 到底是音频差还是视频差, 到底是卡顿还是模糊, 到底持续了多长时间, 都能准确了解;另外,在无需了解音视频技术的背景下,可以自行诊断、分析影响产品体验的质量问题。同时,省去了进行数据埋点、采集、展现的开发与运维成本。

Q:水晶球提供了哪些数据?

A:可以提供网络质量、音频与视频质量等多种数据,并通过可视化形式展现,能帮你快速发现问题。同时,它提供实时的数据检索。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,911评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,014评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 142,129评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,283评论 1 264
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,159评论 4 357
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,161评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,565评论 3 382
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,251评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,531评论 1 292
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,619评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,383评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,255评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,624评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,916评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,199评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,553评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,756评论 2 335

推荐阅读更多精彩内容