2020是实时音视频技术应用大爆发的一年,电商直播、视频会议、在线课堂等多个场景获得了广泛关注。即构科技作为全球领先的云通讯商,截止目前已服务超过4000家企业客户,每日音视频通话时长超过20亿分钟,服务覆盖全球200多个国家和地区。

在持续为大量客户提供音视频服务的过程中,即构发现C端用户对互动质量不断提出更高要求。而影响延时、卡顿、服务可用性等核心质量指标的因素,都与网络质量有关。

基于此,即构通过海量客户的音视频服务经验,结合SDN技术,自研了海量有序数据网络MSDN(Massive Serial Data Network),构建一条全球可靠的多云通讯链路,帮助用户获取更高的网络质量,打造更清晰稳定的音视频云服务。

那么,即构MSDN是如何提高保障每日亿级海量音视频流的高质量传输呢?下面我们跟随小Z的真实使用场景,一起来看看~

小Z是一家直播平台的运维负责人,上周六平台举办了一场大型的直播活动,他和其他小伙伴一起为活动提供技术服务保障,在活动期间,他的工作遇到了几个问题。这些问题,如果通过即构MSDN会如何解决呢?

问题1

在活动开始前进行准备工作时,小Z通过活动热度等数据预测今晚参与活动的用户将会暴增,为了保障服务的可用性和稳定性,小Z要求进行扩容,但服务商反馈目前网络资源紧张,需要重新进行节点部署,耗时比较久。

解决方案

即构服务了大量的直播客户,在客户业务量暴增需要快速扩容时,即构能迅速响应需求。即构的自研MSDN ,采用了中立的网络架构,可接入公网,不同供应商的IDC、网络线路等各类资源,能以最低的成本获取最高质量的资源,做到“AnyWhere,AnyTime,AnyResource”。面对客户业务量爆增时的扩容需求,即构能以分钟级的速度迅速响应,实现用户无感知扩容。

问题2

准备工作完成后,平台活动如期进行。小Z在后台实时监控各项数据,这个过程中,小Z发现有一些观众的观看延迟比较大,互动不自然。他判断是网络传输出现了问题,但由于没有可参照的其他路径,因此无法进行优化。

解决方案

影响直播延迟的因素有很多,网络质量是其中一项。即构MSDN会从网这一侧,进行极致优化。通过实时探测各段网络线路的质量,获取延迟、丢包率等信息,即构MSDN能将探测得到的质量数据绘制成⼀张带权图。用户的每一次推流,每一条数据流都会根据这张带权图,选择最优路径进行传输。当发现网络故障或原有路径质量下降时,会自动规划新的数据传输路径,减少网络抖动带来的丢包或延迟影响。

问题3

尽管有小部分延迟较大,但参与活动的大部分用户还是很满意这次的直播效果的。公司希望之后的每次活动在保持大部分用户稳定服务外,还能进一步提升。因此小Z需要思考在之后的服务保障中如何改进优化。

解决方案

网络传输质量的提升,需要根据海量的数据、无数次的传输来持续不断地优化。即构自研MSDN,会对平台每日传输的亿级海量数据,进行实时质量评估和事后质量评估。通过记录一条条优质传输路径,为下一次以及更多用户的数据传输提供参考。通过无数的数据流,无数次的传输,让即构MSDN逐渐成为一张可用区覆盖面广、超高并发、可用性强、超低延迟的“专线级”稳定的音视频虚拟网络。

通过以上场景应用,我们可以看到即构MSDN的主要功能和作用。即构MSDN可为全球客户提供清晰、稳定和可靠的实时语音视频云通讯服务,不仅比传统的SDN更具控制力和灵活性,而且更贴合音视频云服务的业务特性。

精细化路由,可实现对流量的控制牵引

即构MSDN细致的路由控制,可严格控制数据在既定的路径上进行传输,更易于日常网络运维,例如在灰度发布时,可控制一定的流量走灰度区域。同时,可基于特定区域/特定业务,调整流量的传输路径,灵活应对复杂的业务场景和网络状况,比如当跨境云厂商的传输效果不好时,MSDN 可以通过绕路或基于加权算法另选一条更优路径进行传输。

如以下示例,从IDC1到IDC2,如果直连,延迟高达130ms,但即构MSDN通过动态规划选择绕行IDC3,则延迟可以降至80ms。

无感透明,可针对流媒体进行针对性优化

针对非媒体数据的传输,例如房间信令等,通过IP层的路径规划,可实现传输路径的无缝切换,业务层无感知。针对媒体大流量传输,转发路径的节点有针对性的进行传输层协议优化,可提高重传效率,降低延迟。尤其在进行长距离传输时, 通过即构MSDN的优化后,能大大降低网络延迟。

以下是从上海到香港的多条数据流的传输,上下两图分别是不经过MSDN加速和经过MSDN加速的区别:

上海>香港,未通过MSDN加速

平均延迟100ms,丢包15%

上海>香港,通过MSDN加速

平均延迟37ms,丢包15%

即构MSDN是基于完全开放、真云化的架构,这意味着可以随时随地获取到全球任意地区的优质网络资源,实现全球可用性区域的全覆盖;同时基于自研的加权算法,动态实时规划一张全球节点最优路径传输路线图,并通过可视化质量运营,不断优化和升级,让每一次音视频流的传输,都稳定、可靠、低延时。

即构自研海量有序数据网络MSDN,构建全球可靠的多云通讯链路的更多相关文章

  1. 转:Android 判断用户2G/3G/4G移动数据网络

    Android 判断用户2G/3G/4G移动数据网络 在做 Android App 的时候,为了给用户省流量,为了不激起用户的愤怒,为了更好的用户体验,是需要根据用户当前网络情况来做一些调整的,也可以 ...

  2. Android 判断用户2G/3G/4G移动数据网络

    Android 判断用户2G/3G/4G移动数据网络 在做 Android App 的时候,为了给用户省流量,为了不激起用户的愤怒,为了更好的用户体验,是需要根据用户当前网络情况来做一些调整的,也可以 ...

  3. 海量日志数据提取某日访问百度次数最多的那个IP的Java实现

    海量日志数据提取某日访问百度次数最多的那个IP的Java实现 前几天在网上看到july的一篇文章<教你如何迅速秒杀掉:99%的海量数据处理面试题>,里面说到百度的一个面试题目,题目如下: ...

  4. Python数据网络采集5--处理Javascript和重定向

    Python数据网络采集5--处理Javascript和重定向 到目前为止,我们和网站服务器通信的唯一方式,就是发出HTTP请求获取页面.有些网页,我们不需要单独请求,就可以和网络服务器交互(收发信息 ...

  5. Effective STL 学习笔记 Item 34: 了解哪些算法希望输入有序数据

    Effective STL 学习笔记 Item 34: 了解哪些算法希望输入有序数据 */--> div.org-src-container { font-size: 85%; font-fam ...

  6. BMap添加海量点数据,BMap.Point携带数据

    在开发web项目的过程中使用到了百度地图,由于要在地图中画出很多点比较影响加载速度,查看官方文档,发现有提供加载海量点的功能BMap.PointCollection,用这个加快速度,但是官方文档中提供 ...

  7. 只要三步!阿里云DLA帮你处理海量JSON数据

    概述 您可能有大量应用程序产生的JSON数据,您可能需要对这些JSON数据进行整理,去除不想要的字段,或者只保留想要的字段,或者仅仅是进行数据查询. 那么,利用阿里云Data Lake Analyti ...

  8. jq easyui数据网络的分页过程

    第一次写技术方面的文章,有点忐忑,总怕自己讲的不对误导别人.但是万事总有个开头,有不足错误之处,请各位读者老爷指出. 言归正传,最近刚进新公司,上头要求我先熟悉熟悉easyui这个组件库.在涉及到da ...

  9. JAVA之旅(三十二)——JAVA网络请求,IP地址,TCP/UDP通讯协议概述,Socket,UDP传输,多线程UDP聊天应用

    JAVA之旅(三十二)--JAVA网络请求,IP地址,TCP/UDP通讯协议概述,Socket,UDP传输,多线程UDP聊天应用 GUI写到一半电脑系统挂了,也就算了,最多GUI还有一个提示框和实例, ...

  10. TOP100summit:【分享实录】链家网大数据平台体系构建历程

    本篇文章内容来自2016年TOP100summit 链家网大数据部资深研发架构师李小龙的案例分享. 编辑:Cynthia 李小龙:链家网大数据部资深研发架构师,负责大数据工具平台化相关的工作.专注于数 ...

随机推荐

  1. OpenHarmony SystemUI开发记录

    背景介绍 最近学习OpenHarmony应用开发, SDK版本是3.2.9.2 Beta4,IDE版本是3.1.0.200.参考官方文档,做了个Demo应用,调试.运行非常顺利.启动应用后,状态栏和导 ...

  2. Karmada 多云容器编排引擎支持多调度组,助力成本优化

    摘要:Karmada 社区也在持续关注云成本的管理,在最近发布的 v1.5 版本中,支持用户在分发策略 PropagationPolicy/ClusterPropagationPolicy 中设置多个 ...

  3. 干货|工作中要使用Git,看这篇文章就够了

    本文将从 Git 入门到进阶.由浅入深,从常用命令.分支管理.提交规范.vim 基本操作.进阶命令.冲突预防.冲突处理等多方面展开,足以轻松应对工作中遇到的各种疑难杂症,如果觉得有所帮助,还望看官高抬 ...

  4. Vue中的$set的使用 (为对象设置属性)

    data() { return { obj: { name: 'shun' } } } 对象只有name属性,通过$set给对象添加属性(三个参数,对象名,属性名, 属性) setage() { th ...

  5. taro-ui Calendar 修改星期开始时间为星期一(中国格式)

    官网Calendar文档:http://taro-ui.jd.com/#/docs/calendar 日历虽然兼容性很高,小程序也能使用,但扩展性并不高,如果需要更强的样式/自定义,需要复制部分源码到 ...

  6. [C++核心编程] 4.2、类和对象-对象的初始化和清理

    文章目录 4.2 对象的初始化和清理 4.2.1 构造函数和析构函数 4.2.2 构造函数的分类及调用 4.2.3 拷贝构造函数调用时机 4.2.4 构造函数调用规则 4.2.5 深拷贝与浅拷贝 4. ...

  7. 群论中的 Lagrange 定理

    今天跟 hym 打球时讲到了这个东西,突然发现证明拉格朗日定理的思想有许多跟轨道-稳定集定理很像,所以这里又记录一下. 为了证明 Lagrange 定理,我们需要了解一些关于子群和陪集的性质. 首先给 ...

  8. pg序列的增删改查

    添加序列. CREATE SEQUENCE IF NOT EXISTS public.data_device_id_seq INCREMENT 1 START 1 MINVALUE 1 MAXVALU ...

  9. 2020-11-02:go中,s:=make([]string,10);s=append(s,“test“);fmt.Println(s[0]),打印什么?

    福哥答案2020-11-02: 打印空字符串.s:=make([]string,10),s中已经有10个元素,append元素,s就有11个元素了.前10个元素没初始化,就是10个空字符串,最后1个字 ...

  10. 记录-开发WPF项目中的一个疑惑

    背景 项目技术栈:C#,WPF当前我想要实现点击某个按钮就可以跳转到某个界面,翻阅了项目中的代码,看到了 // 按钮事件 private void Btn_Click(object sender, R ...