10月20日,在LiveVideoStackCon 2018技术论坛上,即构科技技术副总裁冼牛,在现场发表了《跨国应用场景和即构实时网络的调度系统架构设计》主题演讲,与大家分享即构在出海构建全球网络的过程中遇到的问题,以及即构解决这些问题的方法和思路。

说到出海,36kr曾发表过一个研究报告,总结了互联网企业出海的五大原因:
1. “一路一带”等利好背景下,中国互联网由Copy to China到 Copy from China。
2. 中国互联网发展速度全球领先,优势产业向全球输出大势所趋。
3. 中国人口红利消退,流量向印度、巴西、东南亚和中东等新兴 互联网市场转移。
4. 国产手机品牌在海外出货量逐年增加,为国产应用提供强有力 的渠道。(2017年,国产手机品牌超过三星和苹果等国际品牌, 跃居全球第一大市场份额)
5. 资本的强力支持,推动优质中国互联网企业出海。(中国共有 95家投资机构,投资了大约1100个出海的项目)
本次演讲,冼牛多方位谈了即构为出海企业提供技术服务的方法,主要分为4大部分
一、实时音视频和跨国应用场景
二、跨国实时网络部署的方法
三、跨国调度系统的架构设计
四、跨国调度系统的挑战和应对方法
一、实时音视频和跨国应用场景
即构技术支持的互联网出海应用场景主要有:
1、视频直播/视频社交场景
2、跨国在线教育若干微场景

针对视频直播/视频社交场景
娱乐和社交是世界各地人们的共同需求,视频直播和视频社交领域是出海的热门,诸多主打直播、语聊功能类的APP在海外都取得了不错的成绩。
技术上主要考虑两点:一是用户体验,二是成本。在用户体验方面,我们通过经过验证的自研算法和优质的网络资源来实现流畅高清且低延迟的视频互动;在成本方面,我们通过多个层次的网络资源,结合领先的实时调度系统,和先进的实时音视频传输算法,来为特定的应用场景实现成本和体验最优的方案。
跨国在线教育包括两种微场景
分别是:1)1对1外教英语辅导,2)跨国小班互动教学
在跨国在线英语教育的应用场景解决了两个问题:其一,跨国教育资源不平衡,美国或英国有大量优质的英语老师资源,但教育市场相比中国规模较小;其二,中国有大量学生有学英语的需求,但没足够的欧美英语老师资源。要把这些老师资源和学生需求匹配起来,就需要跨国实时传输网络,这就要解决一系列技术问题。
对于1对1外语英语教学的场景,要实现低延迟而且流畅的音视频通话,面临的挑战包括跨国网络RTT比较高,丢包率比较高,不稳定等。对于跨国小班互动教学的场景,除了上述的挑战以外,由于上课学生比较多,还要面对下行码流较多,而且码率较高的挑战。
即构目前在移动端支持20人的小班课,在PC端支持32人,在这个基础上还可以扩展。支持的终端包括安卓、iOS、win PC、Mac PC、WEB/H5和微信小程序,十分适合在跨国场景中的应用。然而,和国内的场景相比,跨国的应用场景,跨国网络的复杂性、不稳定和高丢包率,对即构实时传输网络的实时性、流畅性和稳定性提出了更大的挑战。
下面我将展开讨论即构在构建和优化跨国实时传输网络中的一些思考和方法。
二、跨国实时网络部署的方法
跨国实时传输网络策略
在跨区域跨国的情况下,大多数还是区域性的通信,像社交和直播,同一个区域的人玩得比较多,跨国的一般是教育资源互补的。同一个地区通过区域化部署的方式来解决本地的通信问题。
在跨国实时网络传输策略上,即构采取的策略包括区域化部署、就近接入、负载均衡、基于UDP的传输协议、和动态调度等。
基于UDP私有传输协议是即构的突出技术优势之一。即构团队对实时音视频传输的全流程实现端对端的全面把控和优化,在Qos(FEC&ARQ)、码控流控和包控等技术环节做到极致。
在跨国通话和弱网的情况下,即构的基于UDP的私有协议有十分优异的用户体验。

即构实时传输网络全面覆盖全球重点区域,包括日本、韩国、东南亚、中东、东欧、西欧、美东和美西等,基本涵盖了中国互联网企业出海的主流地区,覆盖范围跟客户出海的步伐持续地扩展。
跨国网络节点部署流程

即构在跨国网络节点部署流程为:
1、跟国际云服务商沟通,看他们在当地有没有节点资源,如果有就选购;如果没有,就在邻近区域购买节点资源来覆盖。
2、即构团队拥有一套优选节点资源的方法,用来筛选优质的服务器节点。
3、部署服务器节点时,软件系统不需要改动,要优化采购来的节点资源,再把软件系统部署上去。如果节点资源到位,一两天就搞定。
4、服务器节点部署好后,会持续优选,留下好的,淘汰差的。经过长期运营,留存下来的都是优质的节点。
5、优化过程中积累的大量运营数据,有助于后期做出更好的决策。
三、跨国调度系统的架构设计

即构跨国实时网络的拓扑图展示了包括用户终端、媒体节点、调度中心和服务节点等实体。为什么要把不同能力分由不同节点来实现呢?即构团队的设计逻辑是:节点的设计要尽量简单,调度策略也要尽量简单,降低整体系统的复杂度和提高效率。
服务器节点和调度中心的工作机制

调度模式
1、单点调度模式,推流方推流到某个节点,拉流方直接从该节点拉流。这是一个成本优先的方案。
优点:节省成本,传输跳数少,如果网络质量好,延迟较低。
缺点:跨区域的流媒体通信通过单点调度往往是走不通的,至少体验不好。
2、多点调度模式,传输路径上经过多个节点调度。是一个体验优先的方案。
优点:优先保障用户体验,确保就近接入,通过节点间的加速来降低延迟。
缺点:增加成本,同时增加了传输的跳数,可能引入延迟。
第一公里&最后一公里:就近接入&负载均衡

节点之间传输:智能选路&动态回源

针对区域服务,采取区域化部署的方式。调度中心和转码服务节点都会进行区域化部署。根据我们服务经验,大部分的通信还是在区域内进行的。涉及到国内外互通的情况下,往往是通过某些国内外进出口的节点进行中转,比如说经过香港或者新加坡的节点中转。
节点之间的传输,需要调度中心进行宏观调度。调度中心需要实时监控网络,找出最佳和备用的传输路径。传输路径的选择要遵循路径最短原则,多一个节点就会引入多一份延迟。
这个路径的效果如何,会有一个事后的评估。也可以通过实时的测速等评估方式,动态地选择路径。在实时网络里面选择最优路径本质上是在选择一个最优的资源子集。如果这个最优的资源字集都不能满足用户体验的要求,那么就要通过流控和码控的算法去优化,让用户体验达到要求。
四、跨国调度系统的挑战和应对方法
跨国实时传输网络的挑战主要有:
1、IP库问题
2、容量控制
3、网络故障
4、跨区域网络不稳定
5、跨区域调度
6、多协议互通——转码
针对跨国实时传输网络遭遇到这六大挑战,即构逐一有应对的方法。
1、就近接入——IP库问题

采用就近接入查IP库的方式,而IP库往往不准确,查到的IP信息不是实时的,这个IP有可能调库给另外的运营商用了,有可能随手机被用户带到另外的地方出差,此时地理位置和ISP运营商名称就不对,这种情况在国内发生的概率占10%,国外更高。此时,就要主动去测速验证调度中心给出的结果是否合理,从而判断出IP信息对不对。
2、负载均衡——容量控制
面临问题
● 每路流的码率不完全相同。
● 音频和视频流的码率不同,不同一起处理。
● 每个节点容量过载的话可能被挤爆。
● 如果节点容量用不完的话,就造成成本浪费。
应对方法
● 通过多个参数多个维度来衡量每个节点的容量:媒体流的数目,媒体流的带宽,CPU的占有率等。
● 纯音频和音视频要分开,通过不同的子网络来处理。
3、智能选路——网络故障

4、智能选路——跨区域不稳定
面临问题
● 跨区域链路不稳定
● 跨国光纤资源稀缺
相应的应对方法有:
● 分区域多中心(在每个区域部署当地的调度中心和转码服务节点)
● 多条线路热备
5、智能选路——跨区域调度

6、多协议互通——转码
面临问题
● 多协议编码不同
● 编码增加延迟
● 编码消耗资源
● 增加调度
应对方法
● 被动转码
● 编码服务独立
● 编码服务区域化

在支持多种媒体格式的多协议互通转码上,主要是分为不同编码独立小集群,来支持相互间的互通。
1、在浏览器上支持WebRTC规范,音视频格式为H.264/OPUS
2、微信小程序上支持RTMP标准协议,音视频格式为H.264/AAC
3、即构的实时传输网络支持基于UDP的私有协议,支持音视频格式包括H.264, OPUS, SILK, AAC等,和WebRTC浏览器及微信小程序都有交集,是可以互通而不需要转码的。
然而,WebRTC浏览器和微信小程序,或者加上原生APP一起,是没有公共子集的,那就需要转码才能互通。

在跨国实时网络中,调度系统的作用十分关键,它不但负责第一公里、节点间传输和最后一公里的调度,还负责就近接入、负载均衡、智能选路和动态路由等重要任务。在调度系统的全局控盘之下,目前,即构已经服务了全球500+企业用户,覆盖了100+国家和地区,链接了5亿+的终端用户。
跨国实时网络保障了连通率、稳定性、实时性和流畅性,为跨国在线教育、海外视频社交/直播等业务的快速落地提供了无形而强大的云计算平台。
网友评论