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. oracle数据对比--用户,索引,分区,dblink,同义词,视图

    问题描述:需要对比用户数据一般在数据库迁移之后,需要对比一下两个库之间的差距,如果登上去一条命令的执行,去统计,就会比较麻烦,这里整理了一些脚本可用.通过创建dblink的方式快速查询,也可以整合到一 ...

  2. Runtime类继Robot类自动登录QQ后改进版2.0

    自动登录QQ2.0上线!!! 最近呢,有很多人问我自动登录QQ的小程序不够完善.看过我上一篇博客的人都知道,在登录QQ时运行Robot移动鼠标不够严谨,有时候会移动出错.很多小伙伴就会说了," ...

  3. C# 编译异常CS0433

    编译后遇到nuget版本冲突: error CS0433: 类型"ShellFile"同时存在于"Microsoft.WindowsAPICodePack.Shell, ...

  4. WPF Button MouseDown事件

    Button的MouseDown事件 WPF的Button控件,鼠标点击时,MouseDown事件没有触发. 经确认,Button的MouseDown被内部处理了.下面是基类ButtonBase的部分 ...

  5. ChatGPT Plugin 插件开发:基于 ASP.NET Core Minimal API

    前言 这是一篇ChatGPT插件开发教程,描述如何使用 ASP.NET Core Minimal API 开发 ChatGPT 插件,以最简单的 Todo List 指导示例作为入门教程. 这个Tod ...

  6. Prism Sample 4 View Discovery

    前三节算是弄明白了Region是什么,但是定义了区域,怎样向区域中添加内容呢?内容是UserControl,即ViewA. 添加内容的方式有2种,一种叫View Discovery,一种叫View I ...

  7. UML类图——类之间的关系

    关联关系(实线箭头) 是一种结构化关系,表示一类对象与另一类对象之间有联系.Java,c++,c#等编程语言在实现关联关系时,通常将一个类的对象作为另一个类的属性 - 双向关联 - 单向关联 - 自关 ...

  8. 2023-05-05:给定一个无向、连通的树 树中有 n 个标记为 0...n-1 的节点以及 n-1 条边 。 给定整数 n 和数组 edges , edges[i] = [ai, bi]表示树中的

    2023-05-05:给定一个无向.连通的树 树中有 n 个标记为 0...n-1 的节点以及 n-1 条边 . 给定整数 n 和数组 edges , edges[i] = [ai, bi]表示树中的 ...

  9. 2020-11-01:rust中带move闭包和不带move闭包有什么区别?

    福哥答案2020-11-01: 1.是否是同一个变量:带move闭包,函数外和函数内的同名变量不是同一个变量.不带move闭包,函数外和函数内的同名变量是同一个变量.2.执行完闭包后:带move闭包, ...

  10. 2021-03-18:给定一个字符串str,只由‘X’和‘.’两种字符构成。‘X’表示墙,不能放灯,也不需要点亮,‘.’表示居民点,可以放灯,需要点亮。如果灯放在i位置,可以让i-1,i和i+1三个位置被点亮。返回如果点亮str中所有需要点亮的位置,至少需要几盏灯。

    2021-03-18:给定一个字符串str,只由'X'和'.'两种字符构成.'X'表示墙,不能放灯,也不需要点亮,'.'表示居民点,可以放灯,需要点亮.如果灯放在i位置,可以让i-1,i和i+1三个位 ...