基于分发与计算的GRTN全球实时传输网络

一张能同时满足「分发」与「计算」需求的网。
从直播趋势看「分发」与「计算」
阿里云直播产品架构图中,主要分为端和云两个部分:在端侧,主要包含推流端和播放端;在云侧,一是基于分布式节点构建的传输网,二是在阿里云中心构建的不同Region之间的直播中心,提供计算服务,包括直播所涉及的转码、AI、导播、截图、录制等等。

直播技术的发展带来分发和计算的巨大需求。
从分发角度看,直播产生的流量带宽越来越高,用户对直播延迟等播放体验的要求也越来越高,主播连麦PK、云游戏、4K/8K、AR/VR/XR等超大流量应用的交互性要求越来越高。
从计算角度看,越来越多重计算的应用在诞生,比如:需要高码率或巨大算力做视频转码处理和AI分析。
综合来看,想要把直播做得更好,除了端,还有云,而云的优化核心是「分发」和「计算」两大部分。
分发:构建高效传输网络
首先,在分发层面,阿里云基于中心和边缘,以及其他的异构节点,构建了一张超低延迟、分布式下沉,能支持通信级别的传输网络,也就是阿里云全球实时传输网GRTN。

GRTN核心关键点就是分发体系的升级,将原先树状网络中的一级网络、二级网络汇聚,基于汇聚资源做分层,相当于从原来的层级网络变为对等网络。基于对等网络,阿里云再构建了全局异常发现,包括实时的路径计算、基于流维度的路径再编排,最后再生成当前流或任务的最优传输路径。
传统的传输网络,无论对流做怎样的处理,都要经过固定层级的链路,而GRTN可以根据主播和观众的实时状态、位置做路径选优,比如主播与观众都在上海区域,同一个节点就可以完成分发,节省了多次中转的步骤,直播延迟自然降低很多。根据阿里云的数据统计,整体路径从原来平均4跳降低到2级跳。传统网络分发的延迟大约是5-6秒,基于GRTN整个网络和全链路RTC传输,可以将延时降低至少95%,实现秒级延迟。
目前,GRTN网络已经充分应用于阿里生态,如手淘的全链路RTC电商直播等。原先手淘电商直播是基于层级,现在无论是同运营商、跨运营商,还是远距离,链路都是一个多变的全分布式下沉结构;无论是跨国还是跨洲,都是动态化编排。
去年,GRTN的相关研究成果,即提供音视频传输技术的优化和服务保障,也被SIGCOMM收录并发表了论文。

GRTN网络带来的第二个核心变化是,原来需要做额外的连麦或旁路的MCU集群以及合流,将其改造成全链路RTC之后,不再需要额外的旁路RTC系统,实现在传输网通道进行直播推流、拉流播放、连麦,同时在端和流、云和流之间做动态调度,摒弃了一个业务用两套系统维。
通过一张网,一个内部传输协议,实现了业务的RTC、连麦、合流、播放一体化。
GRTN背后的基础设施资源
GRTN是基于全分布式下沉的,既有中心也有本地和边缘节点,再加上现场计算(MEC)或一些融合的资源,阿里云把这些资源都纳入GRTN管理起来,并按需调用。
不同类型资源按照不同的特性可以划分为中心云资源、边缘云资源和多云融合资源。中心云资源可靠性很高,但分布不是很广;边缘云的资源等级次之,但性价比更高。将不同的异构资源融合,适配不同的业务和场景,从而达到用整个分布式的所有资源构建起一张网,提供传输、计算服务。

借助阿里云分布式容器平台,能在平台上面管理并且实时、弹性地使用各种资源。该平台最大的特性是弹性可扩展的多资源纳管,不管是中心资源,还是边缘云分布式节点、多云融合资源,都可以在平台上通过一套接入注册机制进行纳管。阿里云容器管理平台为GRTN网络的计算提供支撑,当需要使用这些资源的时候,通过该平台就能获取异构资源。
核心优势
1 提升效率:为终端提供距离更近、时延更低的资源,实现快速资源纳管交付
2 降低成本:降低内部跨区域的级联传输成本
3 易运维:采用云原生交付方式,提升边缘应用可运维性,降低客户运维投入
4 低时延、提升用户体验:基于海量低延时的边缘集群资源覆盖,为客户提供时延更低的体验
将「计算」也在“一张网”内解决
GRTN网络可以实现网的对等传输,但如转码、AI处理等计算,大部分还是在中心。
既然流已经在GRTN网络里,且能够实现就近传输,能否把计算也在网里解决?
基于这一想法,阿里云提出了算网融合的实践。
下图是原有的传输和计算的形态,可以看到整体是分离的,数据都需要远距离传输到集中的中心区域做计算。基于GRTN的传输能力和分布式异构的计算资源,我们发现,GRTN 实际也能够承载计算的能力。

有了异构资源的快速纳管和弹性伸缩,同时配合算子的托管和触发条件自定义控制,GRTN 实现了Serverless 标准的集算子发布、托管、触发、升级一体的用户自定义的一个分布式计算平台。
当然,该计算平台跟当下的中心云 Serverless 计算平台相比还是有很多局限性,我们的定位就是基于 GRTN 传输的前提下的一个实时流媒体的垂直场景计算平台。
未来,关于音视频计算比例会越来越高,算力需求也会越来越大。我们的目标是基于 GRTN 这种网,实现传输和计算的融合,让传输和计算能够最有效的适配资源。

算子的注册和触发流程是什么?首先,用户基于算法做业务打包,比如做转码或者超分,打包好后上传到镜像中心,发布到GRTN 分布式资源上,当GRTN有一个流需要做计算的时候(上图左侧),计算和传输在一个节点发生;
当这个流需要计算,就按照用户定义的触发条件,当流被推上来之后或播放的时候,就从流媒体大脑查询整个流的信息,知道这个流现在在什么节点,节点附近的容器纳管的资源平台有没有资源?如果有资源,就可以做匹配计算,如果没有可以动态扩展和纳管。
当把这个任务从节点启动,节点内可以认为是内网环境,处理之后再推回到本节点完成接下来的分发。整个过程中没有在公网做额外的交互,就完成了计算的任务。
场景实践一:边缘转码
边缘转码场景下,原有的方案需要先到中心的GRTN节点,然后再到转码集群,转码完成之后再回推到 GRTN 节点,然后再分发到需要播放的节点播放。

新的方案中,用户推流不需要再往中心推,当有用户播放时就启动边缘推流地方的转码算子,在同一个节点完成转码和处理,同时可以分发到其他地方。
因为分发的链路是原有GRTN网络构建好的,只是额外增加了算力能力,转码完成之后可以认为原来推流的原始流节点有了两个能力,一个是原始流,一个是转码流。
该平台不一定适合所有的处理,但至少在实时流媒体的后处理和预处理上有优势,是提高效率和降低成本的主要动力和适配高效的方法,既节省了成本,又降低了延迟。
场景实践二:云游戏
云游戏是典型的云渲染应用场景,整个边缘的GRTN网络除了做直播以外,还是一个具有通信能力的分发网络,对于低延迟场景都适用,比如直播相关的连麦、RTC通信、云游戏通过GRTN网络也可以用串流来做。

云游戏的渲染大概分为以下几个基本业务接入步骤:用户接入,根据用户所在的区域分配,比如根据IP信息就近分配,用户接入后,在这个区域里启动渲染引擎,该引擎是用户自己定义的引擎,可以是某种游戏,也可以是元宇宙数字虚拟人,同时整个流信息管理得到整个信息之后,就可以和客户端进行交互,客户端就把流拉下来。
过程中除了串流,还有云游戏的操控,以及通过网关和背后的引擎做交互,整个过程跟转码或者其他类似的流媒体处理有一些相关性。
让流媒体服务无处不在
GRTN平台未来一定是异构资源的,资源一定是融合的,无论是中心的、边缘的、其它融合厂商的,只要资源适合场景,都可以通过阿里云容器云的异构纳管平台接入,做为临时资源或长期的弹性扩容。
在平台未来平台的形式上,第一是分布式,边缘天生就是分布式的;第二是小型化,边缘有零碎或者是小型的节点。
第三是自治性,每个区域的资源或节点自治的能力要有体现,纳管体系虽然统一纳管,但每个节点之间不应该有太大的关联性,不应该相关影响。
第四是协同性,分配资源时,从中心管控或者平台的角度是需要协同的,某个区域因为资源不足或者数据的流转是需要通过全局的协同调度,才能实现最优。
最后就是云原生,要做到任何一个资源在短时间内都能纳管入平台,在闲置的时候又能迅速被别的平台使用,这一定是云原生的。
GRTN致力于提供流媒体云原生的服务,方便客户能够构建自己的流媒体云原生应用,让流媒体服务无处不在。
阿里云将打造普惠的流媒体云原生生态,为用户提供更实时、更流畅以及更高清的视听体验。
基于分发与计算的GRTN全球实时传输网络的更多相关文章
- 声网把七年无全网事故的实时传输网络SD-RTN全面开放了——这就是FPA!
8 月 19 日,声网Agora 举办线上产品发布会,正式发布了"全链路加速 FPA(Full-Path Accelerator)".全链路加速 FPA 基于声网的软件定义实时网络 ...
- 指标统计:基于流计算 Oceanus(Flink) 实现实时 UVPV 统计
作者:吴云涛,腾讯 CSIG 高级工程师导语 | 最近梳理了一下如何用 Flink 来实现实时的 UV.PV 指标的统计,并和公司内微视部门的同事交流.然后针对该场景做了简化,并发现使用 Flink ...
- 性能测试 基于Python结合InfluxDB及Grafana图表实时监控Android系统和应用进程
基于Python结合InfluxDB及Grafana图表实时监控Android系统和应用进程 By: 授客 QQ:1033553122 1. 测试环境 2. 实现功能 3. 使用前提 4. ...
- 基于自动驾驶车辆的NVIDIA-TensorRT推理实时优化
基于自动驾驶车辆的NVIDIA-TensorRT推理实时优化 Optimizing NVIDIA TensorRT Conversion for Real-time Inference on Auto ...
- TKE用户故事 | 作业帮检索服务基于Fluid的计算存储分离实践
作者 吕亚霖,2019年加入作业帮,作业帮基础架构-架构研发团队负责人,在作业帮期间主导了云原生架构演进.推动实施容器化改造.服务治理.GO微服务框架.DevOps的落地实践. 张浩然,2019年加入 ...
- Comet技术详解:基于HTTP长连接的Web端实时通信技术
前言 一般来说,Web端即时通讯技术因受限于浏览器的设计限制,一直以来实现起来并不容易,主流的Web端即时通讯方案大致有4种:传统Ajax短轮询.Comet技术.WebSocket技术.SSE(Ser ...
- 性能测试 基于Python结合InfluxDB及Grafana图表实时采集Linux多主机性能数据
基于Python结合InfluxDB及Grafana图表实时采集Linux多主机性能数据 by:授客 QQ:1033553122 实现功能 测试环境 环境搭建 使用前提 使用方法 运行程序 效果展 ...
- 性能测试 基于Python结合InfluxDB及Grafana图表实时采集Linux多主机或Docker容器性能数据
基于Python结合InfluxDB及Grafana图表实时采集Linux多主机性能数据 by:授客 QQ:1033553122 实现功能 1 测试环境 1 环境搭建 3 使用前提 3 使用方法 ...
- 基于昇腾计算语言AscendCL开发AI推理应用
摘要:本文介绍了昇腾计算语言AscendCL的基本概念,并以示例代码的形式介绍了如何基于AscendCL开发AI推理应用,最后配以实际的操作演示说明如何编译运行应用. 本文分享自华为云社区<基于 ...
- 基于Socket的Android手机视频实时传输
首先,简单介绍一下原理.主要是在手机客户端 (Android)通过实现Camera.PreviewCallback接口,在其onPreviewFrame重载函数里面获取摄像头当前图像数据, 然后通过S ...
随机推荐
- 外包杯学习进度(一) | 【Android】【Javaweb】Android与JavaWeb服务器交互教程——搭建环境
前言 我们老师留了一个题目,这里就不写了,第一需要攻破的问题就是如何将app中的数据域javaweb进行传递,并可以回弹消息等问题.所以就开始了解一下这方面的信息. 资料积累 参考胡大炮的妖孽人生的博 ...
- Vue源码学习(十七):实现computed计算属性
好家伙,本章我们尝试实现computed属性 0.完整代码已开源 https://github.com/Fattiger4399/analytic-vue.git 1.分析 1.1computed的常 ...
- AntDesignBlazor示例——列表查询条件
本示例是AntDesign Blazor的入门示例,在学习的同时分享出来,以供新手参考. 示例代码仓库:https://gitee.com/known/AntDesignDemo 1. 学习目标 重构 ...
- Netty内置的http报文解码流程
netty解码 netty通过内置处理器HttpRequestDecoder和HttpObjectAggregator对Http请求报文进行解码之后,Netty会将Http请求封装成一个FullHtt ...
- 本地部署modelscope-agent
本地部署modelscope-agent 部署流程 在modelscope社区创建一个自己的空间(假设name是LocalAgent),clone空间到本地(或云服务器如魔搭Notebook) git ...
- 解决报错:Java 8 date/time type `java.time.Duration` not supported by default: add Module "com.fasterxml.jackson.datatype:jackson-datatype-jsr310" to enable handling
1.错误信息: Java 8 date/time type java.time.Duration not supported by default: add Module "com.fast ...
- .Net 8与硬件设备能碰撞出怎么样的火花(使用ImageSharp和Protobuf协议通过HidApi与设备通讯)
前言 本人最近在社区里说想做稚晖君的那个瀚文键盘来着,结果遇到两个老哥一个老哥送了我电路板,一个送了我焊接好元件的电路板,既然大家这么舍得,那我也就真的投入制作了这把客制化键盘,当然我为了省钱也是特意 ...
- lottie 动画在 vue 中的使用
前言 最近我所负责的项目中,我采用了动画效果,并开始使用 gif 来实现.然而,在实践过程中,我发现 gif 格式的动画在 git 中出现了明显的锯齿感,这让我非常困扰.为了追求更完美的表现效果,我最 ...
- 部署堡垒机3——编译安装redis-6.2.1以上版本
一.环境准备 Redis官网:https://redis.io/download/ 历史版本:http://download.redis.io/releases/ 1.安装依赖 yum -y in ...
- .NET周刊 【12月第3期 2023-12-24】
国内文章 CAP 8.0 版本发布通告 - CAP 7岁生日快乐! https://www.cnblogs.com/savorboard/p/cap-8-0.html 今天宣布CAP 8.0版本正式发 ...