视图计算背后的技术架构思考(视图的作用及缺点)
ccwgpt 2024-09-21 13:33 25 浏览 0 评论
数据载体、算力分布正在根本性变化
视频和图片因其强大的信息承载力,已经成为数据内容的主要载体和信息传播的主要方式。5G的大带宽、低时延、广连接的特性激活了云视频监控、云游戏、物联网等场景应用,从消费互联网到产业互联网的延伸,更加促进了终端应用和视图数据的爆发。
这些终端和数据具有分散、海量和价值密度相对低的特点,以摄像头为例,IHS的研究指出,目前全球有10亿个监控摄像头在看世界,也就是持续产生视频图片数据,这个数据量是ZB级,但其中绝大部分数据价值较低,我们更需要留存产生关注事件的片段以及其结构化信息,这样的场景和需求对计算和存储的方式带来了严峻挑战和根本性变化。
新的基于边缘的数据接入、计算和缓存的分布式系统架构有效地解决了这样的问题,它能确保流量和计算收敛到本地,显著降低网络传输成本、提升计算效率,满足5G低延时处理的场景化需求。
基于边缘构建业务系统的技术挑战
海量、分布式、异构的边缘节点资源特性,会给业务带来巨大的挑战,在服务适配、弹性和高可用等方面都要进行相应处理,对业务系统而言有感,处理不好甚至会有损。
基于边缘构建业务系统,技术挑战主要来自以下几个方面:
1.边缘的节点分散且多级,节点多而体量小,需要进行复杂的管理,交互访问时关注具体位置并会有多个入口,如计算和存储的位置
2.资源的异构导致业务需要对资源进行选型,每个节点的资源类型分布也可能不均衡,如CPU、GPU、ARM阵列等不同的计算资源。
3.单一节点的弹性弱,全局的弹性强,伸缩又必须考虑部署位置和业务适配
4.单节点的割接,以及边与边、云与边之间复杂的网络环境,都可能导致服务抖动,甚至单点不可用,都需要业务系统考虑好服务漂移等问题,当任务有状态时,考虑的情况会更加复杂。
如何应对这些挑战,在使用海量分布式节点和中心云时体验简单和一致?最好只有一个交互面
视图计算-位置无感的计算、缓存和连接平台
视图计算很好地解决了这个问题,它基于广覆盖的ENS基础设施,提供位置无感的计算、缓存平台,同时为了让视图数据能更好地上云,提供了视图(终端)上云的连接平台。
如上图所示,在基础设施层,通过资源纳管、虚拟化和资源切片,形成统一的池化资源,并提供安全和隔离的能力;视图计算PaaS平台通过统一的网络、计算、存储调度,屏蔽了资源异构,以及资源的物理位置,根据业务特性、终端位置和资源状态,进行边缘资源与终端的匹配和协同调度,在保障业务低延时、高可用响应的同时,实现业务对计算、存储和连接的位置无感;
比如在安防、教培、交通物流等摄像头上云场景,设备接入、流媒体接入和处理会综合考虑可用算力、网络带宽和存储容量等节点状态,就近选取最匹配的节点,节点位置更靠近内容的生产端(摄像头)。而云游戏等场景,需要特定的渲染计算资源(如ARM板卡),同时要更靠近内容的消费端(手机端)侧,当需要多人观战直播时,又可以推流到CDN网络进行分发和异地观看。
视图计算云-边-端协同架构
构建视图计算平台核心是云边端的协同架构:
1.终端设备负责进行视图等数据的采集和汇聚,以及视图的解码和展示(即瘦终端),同时能进行指令的输入操控,或者是根据云上下发的配置和规则进行简单计算。
2.视图计算基于分散的边缘节点构建了低延时的设备接入网关,实现了多种终端上云连接协议(如GB28181/RTMP等),同时能接收实时流和视频图片文件的快速上传。在节点内或临近节点进行计算处理和周期性存储,计算结果(如结构化的AI分析数据)以及需要持久化长期存储的数据,通过边与云之间的安全加速通道实现快速回云。
3.视图在中心云进行节点和设备管理,以及统一调度、Meta汇聚等。终端设备在云上会映射到一个虚拟设备,类似于物理世界的投影(也就是影子设备),对影子设备的管理、配置和操作,都会通过信令通道快速下发、执行和反馈,当设物理设备断电或异常下线后,上下文能很好地保存,上线后会及时同步。
通过视图计算看到的是一朵云、一个交互面,而不再是N个分散入口的分布式小云,云边端的协同架构能在成本、延时和可靠性上找到最佳平衡点,比如成本上,网络带宽、计算和存储成本需要综合考量。
位置无感的多点协同计算
视图计算服务针对视图数据提供了三种位置无感的计算:
1.视图基础计算:包括转码、录制、截图等,通过编码优化,实现高压缩比,同等画质可节省20~40%的存储空间和传输带宽
2.视图AI计算:依托达摩院在计算机视觉上的算法积累,视图计算提供各种场景化的视图结构化分析、目标检测和跟踪等AI能力
3.自定义计算:自助上传和托管算子,降低算法接入成本,方便用户和算法供应商将算法集成到视图计算服务中使用。除了算子和参数能自定义,计算模式也能按照自身业务需求进行自助定制。
这些计算的最大特征是“算随网动”:计算随着数据在网络上的流动而展开,避免全量数据回传中心云处理,实现算力的下沉和终端计算的上浮。
这张网就是阿里云的边缘协同网络,它实现了终端-边缘、边缘-边缘、边缘-中心的一体化协同,为上层应用屏蔽复杂的网络环境,在提供优质的端到端接入和数据传输能力的同时,这张网注入了可计算和缓存的能力。
除了摄像头上云等常见的本地计算场景,互联网直播等场景也能基于视图计算进行边缘转码和实时AI分析,提升整体用户体验。比如直播流无需上行回传中心再分发到边缘,直接在就近节点进行转码压缩。对于80%的冷流(无人观看或极少人观看)可以直接收敛到本地,而对于热流转码后就近分发,也能降低延时和卡顿,让客户端播放更流畅。整个过程终端只需要通过统一域名进行接入,计算的具体位置不需要感知,位置无感的多点协同计算,可以像使用CDN加速一样去完成数据计算。
可自定义的场景计算
在大量场景下,你可能已经拥有了自行开发的算子或应用,或是第三方算法供应商的算子,视图计算提供开放可自定义的场景计算框架,可以将算子或应用托管在视图计算上,真正实现帮用户做自己的计算。
整个计算平台分三层架构,从下往上,对应计算环境、计算调度和计算服务。
1.计算环境,即计算资源的生产和管控层,负责容器、VM等资源的生产,文件存储,运行的系统软件和算子应用的发布,安装部署和配置,以及日志监控等,这一层也提供了基础的应用隔离能力。
2.计算调度,实现资源的弹性伸缩管理和多维度的全局负载均衡,这一层在容器等底层资源的安全隔离上进行全局规划和统筹,解决资源争抢问题,同时不同颗粒度的计算任务实现混跑,提升资源的复用率。
3.计算服务,实现算子的托管、评估和实际的分流计算,同时对计算任务进行画像分析,迭代和提升计算资源的消耗评估精准度,比如直播转码,除了编码格式、分辨率、帧率等输出参数,输入的内容源也会一定程度影响实际的资源消耗,每路转码在算力消耗上是动态上下浮动的,会导致调度资源分配的精准度,需要动态分析和校准,最终实现调度分配水位和实际资源水位的一致。
整个接入过程非常简单:
1.上传和管理算子,配置计算模板和参数;云端会进行兼容性适配和资源消耗评估。
2.在线申请算力等资源,如不同计算规格的最高并发量,云端会进行容量评估和确认,并将算子下发、部署到各计算节点。
3.内容接入或用户触发,云端对数据进行分流和计算,并将计算结果实时反馈给用户。
以云游戏为例,可加载游戏包并渲染视频流的串流镜像就是一种算子或应用,游戏厂商上传游戏包、配置好渲染规格后,云端进行相应适配、资源评估和动态分配。
位置无感分布式存储
在完成计算平台后,数据的上云存储是我们接下来要解决的问题,由于数据源的分散性,以及各种不同的价值密度和使用场景,比如体育赛事等直播内容的高价值,需要录制回放持久化存储,而视频监控场景的摄像头流相对价值偏低,只需要留存关键事件的视频片段,绝大部分数据只要缓存数天或数月即可。
如何解决数据分散存储、分级存储的访问延时、可用性和成本问题?
视图计算基于边缘分布式文件缓存和中心持久化的OSS存储提供了位置无感的分布式存储解决方案,全球各地的数据源都可以通过视图计算就近存取访问边缘节点,缓存位置会参考数据接入和计算的位置,确保整体亲和度。周期性数据会缓存到边缘,长期存储的高价值数据以及结构化分析数据会回到中心存储。
同时,视图计算通过边缘加速网络解决了跨地域跨运营商上传大文件延迟大、速度慢、易中断等问题,实现中转加速回云。
用户看到和使用的仍然是一朵云,而不用关注具体的存储位置。
分布式缓存平台
位置无感的存储接入通过分布式缓存平台实现,它提供了就近访问、大容量、高性价比的周期性文件缓存,在缓存周期内通过多点协同的存储调度、多节点多副本冗余,实现了服务的高可用和数据的高可靠性。视图计算提供了灵活的缓存接入和调度策略(全国、区域、运营商、自定义节点范围)。同时兼容中心OSS使用方式(SDK/API),下载OSS SDK后只需更改endpoint接入域名就可以几乎零开发成本切换到分布式缓存,相比之前不同的是去除了Region概念,直接采用了统一的中心化域名接入和管理方式,真正实现了只上一朵云、只存一朵云。
如何实现这种位置无感呢?关键点在于:
1.物理文件缓存在边缘节点,管控数据、文件元信息等统一汇聚到中心,集中管理和检索。
2.文件写入和读取采用302调度方式,写入统一域名,经过存储调度,跳转到真实的物理位置进行读写。
3.实时的节点状态和容量监测,单点不可写,自动迁移到其他节点,完成服务无感漂移和切换,单点恢复后快速复制同步。
4.提供多节点多副本冗余存储,实现单点不可用时的流量快速转移,也可以在访问量大时进行负载均衡。
视图连接平台和全周期PaaS服务
为了帮助视图数据更好地上云,视图计算提供了终端上云的连接平台和覆盖视图全生命周期的PaaS服务,包括采集、计算处理和内容消费。连接的能力主要在于:
1.设备的接入和管控
2.视图内容的接入和管理
3.视图处理和视图存储分别基于前面介绍的位置无感计算平台和缓存平台,提供了针对视图进行转码、AI分析、加密和串流渲染等基础能力和复杂的处理能力。视图存储上提供了视图存取和检索能力,以及生命周期的清理策略,和回云存储及归档策略。
安全易用的视图(终端)一键上云
目前主流的视图终端上云方案有三种:
1.安防领域的国标GB/T-28181上云,存在接入复杂,安全性低和功能缺失等问题,如信令明文传输,数据流基本无认证,只能基于SSRC简单鉴别,无法有效规避冲撞或伪造;国标存在2011、2016多个版本的适配和过渡问题,整体上云体验较差。
2.ONVIF自2008年提出以来,在世界范围内获得了大量设备厂商支持,但其组播发现机制在公共云无法实现,上云不友好,同时其交互基于HTTP标准,采用SOAP协议格式来定义信令内容,通信延迟较大。
3.大量设备厂商推出私有的协议标准上云,种类多,各自封闭、黑盒化,上云接入无法复用,较多重复建设。
视图计算推出的一键上云方案,提供了开放、易用、安全、灵活的终端一键上云能力,主要特性在于:
- 兼容国标/ONVIF等,适配各类终端,同时解决了国标接入复杂和安全性问题,以及ONVIF的公共云接入问题。
- 基于阿里云广覆盖的边缘节点构建的设备接入网关,能确保就近接入,复用CDN低延时的传输和加速网络,以及多协议接入的特性,确保低延时的设备通信、信令控制和数据流接入。
- 核心的信令通道实现了透明的双向通信,厂商和开发者也可以自定义控制信令。
阿里云开放设备上云协议ODCAP
视图计算连接平台的一键上云方案核心构建在ODCAP(Open Device Cloud Access Protocol)开放设备上云协议上,我们会完全开放协议内容,支持任何厂商的多样化设备自主接入。
终端上云主体通过网络互联互通,ODCAP协议支持多种多样的网络互连结构:
1.设备处在内部网络,通过防火墙NAT访问公网,也可以通过设备网关转接;
2.设备直接在公网环境下,如具备4G/5G联网能力的设备,可以采取直连;
3.ODCAP同时支持级联模式,子设备可以通过其他协议连接到上一级设备,直连设备屏蔽了下级子设备的不同接入访问,统一以ODCAP协议接入云平台。
ODCAP协议支持多种类型设备,实现多样化终端上云。不同设备具备的功能各异,为了统一描述,我们用设备模型来定义设备,包括4个层面:
- 资源,设备产生的各种数据,如实时视频流,视频图片文件,终端AI分析后的结构化数据等
- 配置,设备的各种配置信息
- 事件,设备触发的各种事件
- 服务,设备提供的功能服务
作者:胡帆
本文为阿里云原创内容,未经允许不得转载。
相关推荐
- 迈向群体智能 | 智源发布首个跨本体具身大小脑协作框架
-
允中发自凹非寺量子位|公众号QbitAI3月29日,智源研究院在2025中关村论坛“未来人工智能先锋论坛”上发布首个跨本体具身大小脑协作框架RoboOS与开源具身大脑RoboBrain,可实...
- 大模型对接微信个人号,极空间部署AstrBot机器人,万事不求百度
-
「亲爱的粉丝朋友们好啊!今天熊猫又来介绍好玩有趣的Docker项目了,喜欢的记得点个关注哦!」引言前两天熊猫发过一篇关于如何在极空间部署AstrBot并对接QQ消息平台的文章,不过其实QQ现在已经很少...
- Seata,让分布式事务不再是难题!实战分享带你领略Seata的魅力!
-
终身学习、乐于分享、共同成长!前言Seata是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata将为用户提供了AT、TCC、SAGA和XA事务模式,为用户打造一站式的...
- 常见分布式事务解决方案(分布式事务解决的问题)
-
1.两阶段提交(2PC)原理:分为准备阶段(协调者询问参与者是否可提交)和提交阶段(协调者根据参与者反馈决定提交或回滚)。优点:强一致性,适用于数据库层(如XA协议)。缺点:同步阻塞:所有参与者阻塞...
- 分布式事务:从崩溃到高可用,程序员必须掌握的实战方案!
-
“支付成功,但订单状态未更新!”、“库存扣减后,交易却回滚了!”——如果你在分布式系统中踩过这些“天坑”,这篇文章就是你的救命稻草!本文将手把手拆解分布式事务的核心痛点和6大主流解决方案,用代码实战+...
- 谈谈对分布式事务的一点理解和解决方案
-
分布式事务首先,做系统拆分的时候几乎都会遇到分布式事务的问题,一个仿真的案例如下:项目初期,由于用户体量不大,订单模块和钱包模块共库共应用(大war包时代),模块调用可以简化为本地事务操作,这样做只要...
- 一篇教你通过Seata解决分布式事务问题
-
1 Seata介绍Seata是由阿里中间件团队发起的开源分布式事务框架项目,依赖支持本地ACID事务的关系型数据库,可以高效并且对业务0侵入的方式解决微服务场景下面临的分布式事务问题,目前提供AT...
- Seata分布式事务详解(原理流程及4种模式)
-
Seata分布式事务是SpringCloudAlibaba的核心组件,也是构建分布式的基石,下面我就全面来详解Seata@mikechen本篇已收于mikechen原创超30万字《阿里架构师进阶专题合...
- 分布式事务最终一致性解决方案有哪些?MQ、TCC、saga如何实现?
-
JTA方案适用于单体架构多数据源时实现分布式事务,但对于微服务间的分布式事务就无能为力了,我们需要使用其他的方案实现分布式事务。1、本地消息表本地消息表的核心思想是将分布式事务拆分成本地事务进行处理...
- 彻底掌握分布式事务2PC、3PC模型(分布式事务视频教程)
-
原文:https://mp.weixin.qq.com/s/_zhntxv07GEz9ktAKuj70Q作者:马龙台工作中使用最多的是本地事务,但是在对单一项目拆分为SOA、微服务之后,就会牵扯出分...
- Seata分布式事务框架关于Annotation的SAGA模式分析
-
SAGAAnnotation是ApacheSeata版本2.3.0中引入的功能,它提供了一种使用Java注解而不是传统的JSON配置或编程API来实现SAGA事务模式的声明...
- 分布式事务,原理简单,写起来全是坑
-
今天我们就一起来看下另一种模式,XA模式!其实我觉得seata中的四种不同的分布式事务模式,学完AT、TCC以及XA就够了,Saga不好玩,而且长事务本身就有很多问题,也不推荐使用。S...
- 内存空间节约利器redis的bitmap(位图)应用场景有哪些你知道吗
-
在前面我们分享过一次Redis常用数据结构和使用场景,文章对Redis基本使用做了一个简单的API说明,但是对于其中String类型中的bitmap(位图)我们需要重点说明一下,因为他的作用真的不容忽...
- 分布式事务原理详解(图文全面总结)
-
分布式事务是非常核心的分布式系统,也是大厂经常考察对象,下面我就重点详解分布式事务及原理实现@mikechen本文作者:陈睿|mikechen文章来源:mikechen.cc分布式事务分布式事务指的是...
- 大家平时天天说的分布式系统到底是什么东西?
-
目录从单块系统说起团队越来越大,业务越来越复杂分布式出现:庞大系统分而治之分布式系统所带来的技术问题一句话总结:什么是分布式系统设计和开发经验补充说明:中间件系统及大数据系统前言现在有很多Java技术...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- MVC框架 (46)
- spring框架 (46)
- 框架图 (58)
- bootstrap框架 (43)
- flask框架 (53)
- quartz框架 (51)
- abp框架 (47)
- jpa框架 (47)
- laravel框架 (46)
- express框架 (43)
- springmvc框架 (49)
- 分布式事务框架 (65)
- scrapy框架 (52)
- java框架spring (43)
- grpc框架 (55)
- orm框架有哪些 (43)
- ppt框架 (48)
- 内联框架 (52)
- winform框架 (46)
- gui框架 (44)
- cad怎么画框架 (58)
- ps怎么画框架 (47)
- ssm框架实现登录注册 (49)
- oracle字符串长度 (48)
- oracle提交事务 (47)