基于分发与计算的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 ...
随机推荐
- 在.net中使用AutoMapper进行对象映射,对象相互转,简单方便
AutoMapper是一种对象映射工具,它可以帮助我们将不同类型的数据对象之间进行相互转换.在.NET中,我们可以使用AutoMapper库来简化数据对象之间的映射操作,从而提高代码的可读性和可维护性 ...
- Proj4:改进LiteOS中物理内存分配算法
Proj4:改进LiteOS中物理内存分配算法 实验目的 掌握LiteOS系统调用的自定义方法 实验环境 Ubantu和IMX6ULL mini 实验内容 (从代码角度详细描述实验的步骤和过程) 原先 ...
- python01-基础概念与环境搭建
学习目标 了解硬件 & 操作系统 & 软件(应用系统)之间的关系. 了解常见的操作系统都有哪些. 了解编译器和解释器的区别和作用. 了解编程语言进行分类 了解Python解释器的种类 ...
- Docker-Compose部署Gitlab以及Gitlab配置SMTP邮件服务
使用Docker-Compose部署Gitlab 拉取镜像 地址: https://hub.docker.com/r/gitlab/gitlab-ce/tags 拉取到镜像后,使用docker tag ...
- 大数据开发要学什么java还是python?
在大数据开发领域,Java和Python都是备受青睐的编程语言.它们分别具有各自独特的特点和优势,在大数据处理方面也有不同的应用场景. 以下是对Java和Python在大数据开发中的应用.优势以及学习 ...
- Go笔记(4)-流程控制
5.Go语言流程控制 程序流程的控制结构一般有三种,顺序结构,选择结构,循环结构 (1)选择结构 if语句 if流程控制与其他语言的if流程控制基本相同 package main import &qu ...
- java-EasyExcel模板导出
前言: 需求:根据自定义模板导出Excel,包含图片.表格,采用EasyExcel 提示:EasyExcel请使用 3.0 以上版本, 对图片操作最重要的类就是 WriteCellData<V ...
- 关于mac电脑突然搜不到家里wifi但手机却能连上的问题解决
今天用mac电脑时,突然遇到一个奇怪的问题,家里wifi用的好好的,突然就连不上了,在看电脑能搜索到的wifi,居然家里的wifi都没有搜索到,但自己的手机却是正常的,然后我再看看我另外一台windo ...
- 小傅哥自研插件,为开发提效80%,已经有8.1k安装量!
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 哈喽,大家好我是技术UP主小傅哥. 如果你担心维护成本和性能考量,不想使用 BeanUtils ...
- 华企盾DSC导致wps个人模式无策略组新建的文件仍然加密
解决方法:右键wps安装目录手动解密即可(原因:wps模板被加密导致)