视图计算背后的技术架构思考(视图计算机)
liuian 2025-06-08 22:34 19 浏览
数据载体、算力分布正在根本性变化
视频和图片因其强大的信息承载力,已经成为数据内容的主要载体和信息传播的主要方式。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分析后的结构化数据等
- 配置,设备的各种配置信息
- 事件,设备触发的各种事件
- 服务,设备提供的功能服务
作者:胡帆
本文为阿里云原创内容,未经允许不得转载。
相关推荐
- 教你把多个视频合并成一个视频的方法
-
一.情况介绍当你有一个m3u8文件和一个目录,目录中有连续的视频片段,这些片段可以连成一段完整的视频。m3u8文件打开后像这样:m3u8文件,可以理解为播放列表,里面是播放视频片段的顺序。视频片段像这...
- 零代码编程:用kimichat合并一个文件夹下的多个文件
-
一个文件夹里面有很多个srt字幕文件,如何借助kimichat来自动批量合并呢?在kimichat对话框中输入提示词:你是一个Python编程专家,完成如下的编程任务:这个文件夹:D:\downloa...
- Java APT_java APT 生成代码
-
JavaAPT(AnnotationProcessingTool)是一种在Java编译阶段处理注解的工具。APT会在编译阶段扫描源代码中的注解,并根据这些注解生成代码、资源文件或其他输出,...
- Unit Runtime:一键运行 AI 生成的代码,或许将成为你的复制 + 粘贴神器
-
在我们构建了UnitMesh架构之后,以及对应的demo之后,便着手于实现UnitMesh架构。于是,我们就继续开始UnitRuntime,以用于直接运行AI生成的代码。PS:...
- 挣脱臃肿的枷锁:为什么说Vert.x是Java开发者手中的一柄利剑?
-
如果你是一名Java开发者,那么你的职业生涯几乎无法避开Spring。它如同一位德高望重的老国王,统治着企业级应用开发的大片疆土。SpringBoot的约定大于配置、SpringCloud的微服务...
- 五年后,谷歌还在全力以赴发展 Kotlin
-
作者|FredericLardinois译者|Sambodhi策划|Tina自2017年谷歌I/O全球开发者大会上,谷歌首次宣布将Kotlin(JetBrains开发的Ja...
- kotlin和java开发哪个好,优缺点对比
-
Kotlin和Java都是常见的编程语言,它们有各自的优缺点。Kotlin的优点:简洁:Kotlin程序相对于Java程序更简洁,可以减少代码量。安全:Kotlin在类型系统和空值安全...
- 移动端架构模式全景解析:从MVC到MVVM,如何选择最佳设计方案?
-
掌握不同架构模式的精髓,是构建可维护、可测试且高效移动应用的关键。在移动应用开发中,选择合适的软件架构模式对项目的可维护性、可测试性和团队协作效率至关重要。随着应用复杂度的增加,一个良好的架构能够帮助...
- 颜值非常高的XShell替代工具Termora,不一样的使用体验!
-
Termora是一款面向开发者和运维人员的跨平台SSH终端与文件管理工具,支持Windows、macOS及Linux系统,通过一体化界面简化远程服务器管理流程。其核心定位是解决多平台环境下远程连接、文...
- 预处理的底层原理和预处理编译运行异常的解决方案
-
若文章对您有帮助,欢迎关注程序员小迷。助您在编程路上越走越好![Mac-10.7.1LionIntel-based]Q:预处理到底干了什么事情?A:预处理,顾名思义,预先做的处理。源代码中...
- 为“架构”再建个模:如何用代码描述软件架构?
-
在架构治理平台ArchGuard中,为了实现对架构的治理,我们需要代码+模型描述所要处理的内容和数据。所以,在ArchGuard中,我们有了代码的模型、依赖的模型、变更的模型等,剩下的两个...
- 深度解析:Google Gemma 3n —— 移动优先的轻量多模态大模型
-
2025年6月,Google正式发布了Gemma3n,这是一款能够在2GB内存环境下运行的轻量级多模态大模型。它延续了Gemma家族的开源基因,同时在架构设计上大幅优化,目标是让...
- 比分网开发技术栈与功能详解_比分网有哪些
-
一、核心功能模块一个基本的比分网通常包含以下模块:首页/总览实时比分看板:滚动展示所有正在进行的比赛,包含比分、比赛时间、红黄牌等关键信息。热门赛事/焦点战:突出显示重要的、关注度高的比赛。赛事导航...
- 设计模式之-生成器_一键生成设计
-
一、【概念定义】——“分步构建复杂对象,隐藏创建细节”生成器模式(BuilderPattern):一种“分步构建型”创建型设计模式,它将一个复杂对象的构建与其表示分离,使得同样的构建过程可以创建...
- 构建第一个 Kotlin Android 应用_kotlin简介
-
第一步:安装AndroidStudio(推荐IDE)AndroidStudio是官方推荐的Android开发集成开发环境(IDE),内置对Kotlin的完整支持。1.下载And...
- 一周热门
-
-
【验证码逆向专栏】vaptcha 手势验证码逆向分析
-
Psutil + Flask + Pyecharts + Bootstrap 开发动态可视化系统监控
-
一个解决支持HTML/CSS/JS网页转PDF(高质量)的终极解决方案
-
再见Swagger UI 国人开源了一款超好用的 API 文档生成框架,真香
-
网页转成pdf文件的经验分享 网页转成pdf文件的经验分享怎么弄
-
C++ std::vector 简介
-
飞牛OS入门安装遇到问题,如何解决?
-
系统C盘清理:微信PC端文件清理,扩大C盘可用空间步骤
-
10款高性能NAS丨双十一必看,轻松搞定虚拟机、Docker、软路由
-
python使用fitz模块提取pdf中的图片
-
- 最近发表
- 标签列表
-
- python判断字典是否为空 (50)
- crontab每周一执行 (48)
- aes和des区别 (43)
- bash脚本和shell脚本的区别 (35)
- canvas库 (33)
- dataframe筛选满足条件的行 (35)
- gitlab日志 (33)
- lua xpcall (36)
- blob转json (33)
- python判断是否在列表中 (34)
- python html转pdf (36)
- 安装指定版本npm (37)
- idea搜索jar包内容 (33)
- css鼠标悬停出现隐藏的文字 (34)
- linux nacos启动命令 (33)
- gitlab 日志 (36)
- adb pull (37)
- python判断元素在不在列表里 (34)
- python 字典删除元素 (34)
- vscode切换git分支 (35)
- python bytes转16进制 (35)
- grep前后几行 (34)
- hashmap转list (35)
- c++ 字符串查找 (35)
- mysql刷新权限 (34)