即构自研海量有序数据网络MSDN,构建全球可靠的多云通讯链路
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,构建全球可靠的多云通讯链路的更多相关文章
- 转:Android 判断用户2G/3G/4G移动数据网络
Android 判断用户2G/3G/4G移动数据网络 在做 Android App 的时候,为了给用户省流量,为了不激起用户的愤怒,为了更好的用户体验,是需要根据用户当前网络情况来做一些调整的,也可以 ...
- Android 判断用户2G/3G/4G移动数据网络
Android 判断用户2G/3G/4G移动数据网络 在做 Android App 的时候,为了给用户省流量,为了不激起用户的愤怒,为了更好的用户体验,是需要根据用户当前网络情况来做一些调整的,也可以 ...
- 海量日志数据提取某日访问百度次数最多的那个IP的Java实现
海量日志数据提取某日访问百度次数最多的那个IP的Java实现 前几天在网上看到july的一篇文章<教你如何迅速秒杀掉:99%的海量数据处理面试题>,里面说到百度的一个面试题目,题目如下: ...
- Python数据网络采集5--处理Javascript和重定向
Python数据网络采集5--处理Javascript和重定向 到目前为止,我们和网站服务器通信的唯一方式,就是发出HTTP请求获取页面.有些网页,我们不需要单独请求,就可以和网络服务器交互(收发信息 ...
- Effective STL 学习笔记 Item 34: 了解哪些算法希望输入有序数据
Effective STL 学习笔记 Item 34: 了解哪些算法希望输入有序数据 */--> div.org-src-container { font-size: 85%; font-fam ...
- BMap添加海量点数据,BMap.Point携带数据
在开发web项目的过程中使用到了百度地图,由于要在地图中画出很多点比较影响加载速度,查看官方文档,发现有提供加载海量点的功能BMap.PointCollection,用这个加快速度,但是官方文档中提供 ...
- 只要三步!阿里云DLA帮你处理海量JSON数据
概述 您可能有大量应用程序产生的JSON数据,您可能需要对这些JSON数据进行整理,去除不想要的字段,或者只保留想要的字段,或者仅仅是进行数据查询. 那么,利用阿里云Data Lake Analyti ...
- jq easyui数据网络的分页过程
第一次写技术方面的文章,有点忐忑,总怕自己讲的不对误导别人.但是万事总有个开头,有不足错误之处,请各位读者老爷指出. 言归正传,最近刚进新公司,上头要求我先熟悉熟悉easyui这个组件库.在涉及到da ...
- JAVA之旅(三十二)——JAVA网络请求,IP地址,TCP/UDP通讯协议概述,Socket,UDP传输,多线程UDP聊天应用
JAVA之旅(三十二)--JAVA网络请求,IP地址,TCP/UDP通讯协议概述,Socket,UDP传输,多线程UDP聊天应用 GUI写到一半电脑系统挂了,也就算了,最多GUI还有一个提示框和实例, ...
- TOP100summit:【分享实录】链家网大数据平台体系构建历程
本篇文章内容来自2016年TOP100summit 链家网大数据部资深研发架构师李小龙的案例分享. 编辑:Cynthia 李小龙:链家网大数据部资深研发架构师,负责大数据工具平台化相关的工作.专注于数 ...
随机推荐
- Go/Python gRPC实践
gRPC框架 & ProtoBuf 安装相关工具: pip3 install grpcio pip3 install grpcio-tools protobuf3有自己专门的定义的格式,基于此 ...
- 求解 LCA の方法
最近公共祖先(LCA) 最近公共祖先简称 LCA(Lowest Common Ancestor).两个节点的最近公共祖先,就是这两个点的公共祖先里面,离根最远的那个. -----oi wiki 举个例 ...
- latex-作业模板(自用,因为记不住语法55)
\documentclass[12pt, a4paper, oneside]{ctexart} \usepackage{amsmath, amsthm, amssymb, bm, graphicx, ...
- 2022-08-21:以下go语言代码输出什么?A:0;B:panic;C:不知道。 package main var n = -99 func main() { m := make(map[
2022-08-21:以下go语言代码输出什么?A:0:B:panic:C:不知道. package main var n = -99 func main() { m := make(map[stri ...
- 2020-10-22:谈谈java中的LongAdder和LongAccumulator的相同点和不同点。
福哥答案2020-10-22: 简单回答:相同点:都是多个单元操作.不同点:LongAdder相加,LongAccumulator自定义计算规则. 中级回答:相同点: LongAddr与LongAcc ...
- 2022-06-23:给定一个非负数组,任意选择数字,使累加和最大且为7的倍数,返回最大累加和。 n比较大,10的5次方。 来自美团。3.26笔试。
2022-06-23:给定一个非负数组,任意选择数字,使累加和最大且为7的倍数,返回最大累加和. n比较大,10的5次方. 来自美团.3.26笔试. 答案2022-06-23: 要i还是不要i,递归. ...
- 2021-09-02:IP 到 CIDR。给定起始IP和整数n,返回长度最小的CIDR块。力扣751。比如:ip=255.0.0.7,n=10,输出:[“255.0.0.7/32“,“255.0.0.
2021-09-02:IP 到 CIDR.给定起始IP和整数n,返回长度最小的CIDR块.力扣751.比如:ip=255.0.0.7,n=10,输出:["255.0.0.7/32" ...
- 《最新出炉》系列初窥篇-Python+Playwright自动化测试-1-环境准备与搭建
1.简介 有很多人私信留言宏哥问能不能介绍一下Playwright这款自动化神器的相关知识,现在网上的资料太少了.其实在各大博客和公众号也看到过其相关的介绍和讲解.要不就是不全面.不系统,要不就是系统 ...
- Kubernetes GoRoutineMap工具包代码详解
1.概述 GoRoutineMap 定义了一种类型,可以运行具有名称的 goroutine 并跟踪它们的状态.它防止创建具有相同名称的多个goroutine,并且在上一个具有该名称的 goroutin ...
- 如何开启Apache SkyWalking的自监控?
1. 开启Prometheus遥测数据 默认情况下, 遥测功能(telemetry)是关闭的(selector 为 none),像这样: telemetry: selector: ${SW_TELEM ...