视图计算背后的技术架构思考

Posted 阿里云开发者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了视图计算背后的技术架构思考相关的知识,希望对你有一定的参考价值。

简介:5G时代海量视图计算场景,阿里云边缘计算节点聚焦视频上云和处理方向,阿里云高级技术专家为您解读海量视图计算背后的技术与架构能力。

>>发布会传送门https://yqh.aliyun.com/live/edgecloud_visual

作者:胡帆

数据载体、算力分布正在根本性变化

视频和图片因其强大的信息承载力,已经成为数据内容的主要载体和信息传播的主要方式。5G的大带宽、低时延、广连接的特性激活了云视频监控、云游戏、物联网等场景应用,从消费互联网到产业互联网的延伸,更加促进了终端应用和视图数据的爆发。

这些终端和数据具有分散、海量和价值密度相对低的特点,以摄像头为例,IHS的研究指出,目前全球有10亿个监控摄像头在看世界,也就是持续产生视频图片数据,这个数据量是ZB级,但其中绝大部分数据价值较低,我们更需要留存产生关注事件的片段以及其结构化信息,这样的场景和需求对计算和存储的方式带来了严峻挑战和根本性变化。

新的基于边缘的数据接入、计算和缓存的分布式系统架构有效地解决了这样的问题,它能确保流量和计算收敛到本地,显著降低网络传输成本、提升计算效率,满足5G低延时处理的场景化需求。

基于边缘构建业务系统的技术挑战

海量、分布式、异构的边缘节点资源特性,会给业务带来巨大的挑战,在服务适配、弹性和高可用等方面都要进行相应处理,对业务系统而言有感,处理不好甚至会有损。

image.png

基于边缘构建业务系统,技术挑战主要来自以下几个方面:

1.边缘的节点分散且多级,节点多而体量小,需要进行复杂的管理,交互访问时关注具体位置并会有多个入口,如计算和存储的位置

2.资源的异构导致业务需要对资源进行选型,每个节点的资源类型分布也可能不均衡,如CPU、GPU、ARM阵列等不同的计算资源。

3.单一节点的弹性弱,全局的弹性强,伸缩又必须考虑部署位置和业务适配

4.单节点的割接,以及边与边、云与边之间复杂的网络环境,都可能导致服务抖动,甚至单点不可用,都需要业务系统考虑好服务漂移等问题,当任务有状态时,考虑的情况会更加复杂。

如何应对这些挑战,在使用海量分布式节点和中心云时体验简单和一致?最好只有一个交互面

视图计算-位置无感的计算、缓存和连接平台

视图计算很好地解决了这个问题,它基于广覆盖的ENS基础设施,提供位置无感的计算、缓存平台,同时为了让视图数据能更好地上云,提供了视图(终端)上云的连接平台。

image.png

如上图所示,在基础设施层,通过资源纳管、虚拟化和资源切片,形成统一的池化资源,并提供安全和隔离的能力;视图计算PaaS平台通过统一的网络、计算、存储调度,屏蔽了资源异构,以及资源的物理位置,根据业务特性、终端位置和资源状态,进行边缘资源与终端的匹配和协同调度,在保障业务低延时、高可用响应的同时,实现业务对计算、存储和连接的位置无感;

比如在安防、教培、交通物流等摄像头上云场景,设备接入、流媒体接入和处理会综合考虑可用算力、网络带宽和存储容量等节点状态,就近选取最匹配的节点,节点位置更靠近内容的生产端(摄像头)。而云游戏等场景,需要特定的渲染计算资源(如ARM板卡),同时要更靠近内容的消费端(手机端)侧,当需要多人观战直播时,又可以推流到CDN网络进行分发和异地观看。

视图计算云-边-端协同架构

构建视图计算平台核心是云边端的协同架构:
1.终端设备负责进行视图等数据的采集和汇聚,以及视图的解码和展示(即瘦终端),同时能进行指令的输入操控,或者是根据云上下发的配置和规则进行简单计算。

2.视图计算基于分散的边缘节点构建了低延时的设备接入网关,实现了多种终端上云连接协议(如GB28181/RTMP等),同时能接收实时流和视频图片文件的快速上传。在节点内或临近节点进行计算处理和周期性存储,计算结果(如结构化的AI分析数据)以及需要持久化长期存储的数据,通过边与云之间的安全加速通道实现快速回云。

3.视图在中心云进行节点和设备管理,以及统一调度、Meta汇聚等。终端设备在云上会映射到一个虚拟设备,类似于物理世界的投影(也就是影子设备),对影子设备的管理、配置和操作,都会通过信令通道快速下发、执行和反馈,当设物理设备断电或异常下线后,上下文能很好地保存,上线后会及时同步。

image.png

通过视图计算看到的是一朵云、一个交互面,而不再是N个分散入口的分布式小云,云边端的协同架构能在成本、延时和可靠性上找到最佳平衡点,比如成本上,网络带宽、计算和存储成本需要综合考量。

位置无感的多点协同计算

视图计算服务针对视图数据提供了三种位置无感的计算:

1.视图基础计算:包括转码、录制、截图等,通过编码优化,实现高压缩比,同等画质可节省20~40%的存储空间和传输带宽

2.视图AI计算:依托达摩院在计算机视觉上的算法积累,视图计算提供各种场景化的视图结构化分析、目标检测和跟踪等AI能力

3.自定义计算:自助上传和托管算子,降低算法接入成本,方便用户和算法供应商将算法集成到视图计算服务中使用。除了算子和参数能自定义,计算模式也能按照自身业务需求进行自助定制。

image.png

这些计算的最大特征是“算随网动”:计算随着数据在网络上的流动而展开,避免全量数据回传中心云处理,实现算力的下沉和终端计算的上浮。

这张网就是阿里云的边缘协同网络,它实现了终端-边缘、边缘-边缘、边缘-中心的一体化协同,为上层应用屏蔽复杂的网络环境,在提供优质的端到端接入和数据传输能力的同时,这张网注入了可计算和缓存的能力。

除了摄像头上云等常见的本地计算场景,互联网直播等场景也能基于视图计算进行边缘转码和实时AI分析,提升整体用户体验。比如直播流无需上行回传中心再分发到边缘,直接在就近节点进行转码压缩。对于80%的冷流(无人观看或极少人观看)可以直接收敛到本地,而对于热流转码后就近分发,也能降低延时和卡顿,让客户端播放更流畅。整个过程终端只需要通过统一域名进行接入,计算的具体位置不需要感知,位置无感的多点协同计算,可以像使用CDN加速一样去完成数据计算。

可自定义的场景计算

在大量场景下,你可能已经拥有了自行开发的算子或应用,或是第三方算法供应商的算子,视图计算提供开放可自定义的场景计算框架,可以将算子或应用托管在视图计算上,真正实现帮用户做自己的计算。

整个计算平台分三层架构,从下往上,对应计算环境、计算调度和计算服务。

image.png

1.计算环境,即计算资源的生产和管控层,负责容器、VM等资源的生产,文件存储,运行的系统软件和算子应用的发布,安装部署和配置,以及日志监控等,这一层也提供了基础的应用隔离能力。

2.计算调度,实现资源的弹性伸缩管理和多维度的全局负载均衡,这一层在容器等底层资源的安全隔离上进行全局规划和统筹,解决资源争抢问题,同时不同颗粒度的计算任务实现混跑,提升资源的复用率。

3.计算服务,实现算子的托管、评估和实际的分流计算,同时对计算任务进行画像分析,迭代和提升计算资源的消耗评估精准度,比如直播转码,除了编码格式、分辨率、帧率等输出参数,输入的内容源也会一定程度影响实际的资源消耗,每路转码在算力消耗上是动态上下浮动的,会导致调度资源分配的精准度,需要动态分析和校准,最终实现调度分配水位和实际资源水位的一致。

整个接入过程非常简单:
1.上传和管理算子,配置计算模板和参数;云端会进行兼容性适配和资源消耗评估。

2.在线申请算力等资源,如不同计算规格的最高并发量,云端会进行容量评估和确认,并将算子下发、部署到各计算节点。

3.内容接入或用户触发,云端对数据进行分流和计算,并将计算结果实时反馈给用户。

以云游戏为例,可加载游戏包并渲染视频流的串流镜像就是一种算子或应用,游戏厂商上传游戏包、配置好渲染规格后,云端进行相应适配、资源评估和动态分配。

位置无感分布式存储

在完成计算平台后,数据的上云存储是我们接下来要解决的问题,由于数据源的分散性,以及各种不同的价值密度和使用场景,比如体育赛事等直播内容的高价值,需要录制回放持久化存储,而视频监控场景的摄像头流相对价值偏低,只需要留存关键事件的视频片段,绝大部分数据只要缓存数天或数月即可。

如何解决数据分散存储、分级存储的访问延时、可用性和成本问题?

视图计算基于边缘分布式文件缓存和中心持久化的OSS存储提供了位置无感的分布式存储解决方案,全球各地的数据源都可以通过视图计算就近存取访问边缘节点,缓存位置会参考数据接入和计算的位置,确保整体亲和度。周期性数据会缓存到边缘,长期存储的高价值数据以及结构化分析数据会回到中心存储。

同时,视图计算通过边缘加速网络解决了跨地域跨运营商上传大文件延迟大、速度慢、易中断等问题,实现中转加速回云。

用户看到和使用的仍然是一朵云,而不用关注具体的存储位置。

image.png

分布式缓存平台

位置无感的存储接入通过分布式缓存平台实现,它提供了就近访问、大容量、高性价比的周期性文件缓存,在缓存周期内通过多点协同的存储调度、多节点多副本冗余,实现了服务的高可用和数据的高可靠性。
视图计算提供了灵活的缓存接入和调度策略(全国、区域、运营商、自定义节点范围)。同时兼容中心OSS使用方式(SDK/API),下载OSS SDK后只需更改endpoint接入域名就可以几乎零开发成本切换到分布式缓存,相比之前不同的是去除了Region概念,直接采用了统一的中心化域名接入和管理方式,真正实现了只上一朵云、只存一朵云。



如何实现这种位置无感呢?关键点在于:

1.物理文件缓存在边缘节点,管控数据、文件元信息等统一汇聚到中心,集中管理和检索。


2.文件写入和读取采用302调度方式,写入统一域名,经过存储调度,跳转到真实的物理位置进行读写。


3.实时的节点状态和容量监测,单点不可写,自动迁移到其他节点,完成服务无感漂移和切换,单点恢复后快速复制同步。


4.提供多节点多副本冗余存储,实现单点不可用时的流量快速转移,也可以在访问量大时进行负载均衡。


视图连接平台和全周期PaaS服务

为了帮助视图数据更好地上云,视图计算提供了终端上云的连接平台和覆盖视图全生命周期的PaaS服务,包括采集、计算处理和内容消费。连接的能力主要在于:

1.设备的接入和管控

2.视图内容的接入和管理

3.视图处理和视图存储分别基于前面介绍的位置无感计算平台和缓存平台,提供了针对视图进行转码、AI分析、加密和串流渲染等基础能力和复杂的处理能力。视图存储上提供了视图存取和检索能力,以及生命周期的清理策略,和回云存储及归档策略。

image.png

安全易用的视图(终端)一键上云

目前主流的视图终端上云方案有三种:

1.安防领域的国标GB/T-28181上云,存在接入复杂,安全性低和功能缺失等问题,如信令明文传输,数据流基本无认证,只能基于SSRC简单鉴别,无法有效规避冲撞或伪造;国标存在2011、2016多个版本的适配和过渡问题,整体上云体验较差。

2.ONVIF自2008年提出以来,在世界范围内获得了大量设备厂商支持,但其组播发现机制在公共云无法实现,上云不友好,同时其交互基于HTTP标准,采用SOAP协议格式来定义信令内容,通信延迟较大。

3.大量设备厂商推出私有的协议标准上云,种类多,各自封闭、黑盒化,上云接入无法复用,较多重复建设。

image.png

视图计算推出的一键上云方案,提供了开放、易用、安全、灵活的终端一键上云能力,主要特性在于:

  1. 兼容国标/ONVIF等,适配各类终端,同时解决了国标接入复杂和安全性问题,以及ONVIF的公共云接入问题。
  2. 基于阿里云广覆盖的边缘节点构建的设备接入网关,能确保就近接入,复用CDN低延时的传输和加速网络,以及多协议接入的特性,确保低延时的设备通信、信令控制和数据流接入。
  3. 核心的信令通道实现了透明的双向通信,厂商和开发者也可以自定义控制信令。


阿里云开放设备上云协议ODCAP

视图计算连接平台的一键上云方案核心构建在ODCAP(Open Device Cloud Access Protocol)开放设备上云协议上,我们会完全开放协议内容,支持任何厂商的多样化设备自主接入。

终端上云主体通过网络互联互通,ODCAP协议支持多种多样的网络互连结构:

1.设备处在内部网络,通过防火墙NAT访问公网,也可以通过设备网关转接;
2.设备直接在公网环境下,如具备4G/5G联网能力的设备,可以采取直连;
3.ODCAP同时支持级联模式,子设备可以通过其他协议连接到上一级设备,直连设备屏蔽了下级子设备的不同接入访问,统一以ODCAP协议接入云平台。

ODCAP协议支持多种类型设备,实现多样化终端上云。不同设备具备的功能各异,为了统一描述,我们用设备模型来定义设备,包括4个层面:

  1. 资源,设备产生的各种数据,如实时视频流,视频图片文件,终端AI分析后的结构化数据等
  2. 配置,设备的各种配置信息
  3. 事件,设备触发的各种事件
  4. 服务,设备提供的功能服务

后续阿里云视图计算会在“阿里云Edge Plus”公众号中分享更多最新的产品能力、解决方案和技术实践,欢迎大家一起探讨。

原文链接:https://developer.aliyun.com/article/783748?

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

以上是关于视图计算背后的技术架构思考的主要内容,如果未能解决你的问题,请参考以下文章

从康威定律看技术管理

银行分布式架构转型的思考

干货分享银行分布式架构转型的思考

余额宝背后的服务治理架构,首次系统梳理和公开

云原生时代来临之际,对软件架构设计的思考

Java Web架构演进与技术思考