外观
第 3 章 部署全景
本章说明云托管形态下智眸由哪些部分组成、各部分承担什么职责,并区分三类工作:平台的一次性工作、每开通一个租户的工作、每个现场的工作。租户与现场两层的工作均已压缩为一条命令。
3.1 三层职责
| 层 | 频次 | 执行方式 |
|---|---|---|
| 平台 | 一次,长期运维 | 沅虹运营负责,交付人员无需操作 |
| 租户(一个客户单位) | 每个客户一次 | sense-tenant add <租户> <序号> 一条命令,外加门户登记 |
| 现场(一个工地或场站) | 每个现场一次 | 接入盒一条命令,相机在接入页点击"全部接入" |
| 本地化盒子(客户自有机器) | 每台一次 | 一条命令加一个激活码 |
3.2 平台的三类角色
平台按职责分为公网入口、处理节点与中心三类角色。三类角色的组件如下。
公网入口
| 组件 | 职责 |
|---|---|
| 网关 | 全部公网域名的入口:vision.uanhon.cn 与 sense.uanhon.cn/app(按租户将请求转到对应中心实例)、link.uanhon.cn(接入控制面)、ingest.uanhon.cn(推流信令) |
| uanlink | 接入控制面:接入码、盒子入网与心跳、相机清单、推流账号、口令密文中转、计量与审计 |
| 身份服务 | 用户身份与单点登录,各产品共用 |
公网入口只承载信令与读取类数据。视频推流与短片回放均在浏览器、接入盒与处理节点之间直连,公网入口只交换连接参数。
处理节点
| 组件 | 职责 | 说明 |
|---|---|---|
| GPU 推理运行时 | 推理 | 节点启动时按模型构建 TensorRT FP16 引擎并缓存;更换显卡后重建 |
| mediamtx | 接收接入盒推流;视频墙与回放路径 | 按来源地址限制每个租户只能读取自己的流 |
| uanhub-agent | 同步推流账号、上报收流字节、拥塞时卸路、公网地址跟随 | 规格见第 6 章 |
uansense-node@<租户> | 每个租户一个识别节点实例 | 独立系统用户、网络命名空间与存储,由 sense-tenant 创建 |
共享环境 /opt/uansense | Python 环境与模型 | 各租户实例只读引用 |
| nftables | 租户之间、租户与宿主之间的网络隔离 | 按租户目录重建 |
中心
| 组件 | 职责 |
|---|---|
uansense@<租户> | 每个租户一个中心实例:告警、工作台、接入页;独立端口、会话密钥、随机管理员口令、租户钥匙,只接受本租户的门户票 |
| 数据目录挂载 | 读取处理节点上该租户的证据与短片 |
| 虹元、智悟 | 中心把事件送虹元,智悟取事件判定并回写 |
门户:租户、应用开通、成员与授权。智眸单点登录依赖门户签票。
3.3 租户开通的内容
sense-tenant add <租户> <序号> 在三类角色上执行十余步,明细见第 4 章"租户开通"一节。处理节点上建立独立的用户、命名空间、存储、节点实例、防火墙规则、数据目录导出、mediamtx 读权限与回放地址表;中心上建立中心实例;网关的三张路由表各增加一行;控制面建立租户并取得租户钥匙。序号决定全部端口与网段,分配后不再复用。
门户登记(登记租户、开通智眸应用、绑定管理员账号)目前单独执行,计划并入开通脚本。
3.4 现场开通的内容
接入盒执行 curl -fsSL https://dl.uanhon.cn/box/get.sh | sudo bash -s -- --router,重启后执行 uanbox-prebind <接入码>。此后盒子自动发现相机,管理员在接入页填写一次相机口令并点击"全部接入"。双盒互备在安装时增加 --ha 1 或 --ha 2。
3.5 本地化盒子的组成
客户自有机器上运行智眸时,平台中的多数组件不再需要:
| 不需要的组件 | 原因 |
|---|---|
| 公网会合与转发 | 盒子在客户内网,浏览器直接访问其地址 |
| 网关路由表、推流信令中转 | 单租户,没有多实例路由;相机以 RTSP 直接拉取 |
| 网络命名空间、数据目录挂载、按租户的 nftables | 单租户 |
| 回放直连 | 浏览器与盒子在同一内网,直接传输文件 |
| 门户单点登录 | 可选,以本地账号为主 |
本地化盒子由识别节点、中心、mediamtx、nginx 四个容器加一个数据卷组成。首次启动按显卡构建 TensorRT 引擎并缓存,激活码换取许可文件。需要本地判定的现场另加智悟与蓝精灵推理两个容器,蓝精灵权重(量化后约 22 GB)随安装介质预装,不经公网下载。安装程序负责识别硬件、生成环境配置、启动容器与执行自检。