主动安全附件集成指南
GT-Streaming 内置主动安全报警附件服务,支持附件的 提取调度、接收、存储与查询,兼容粤标、湘标、川标、苏标等标准。
参与的系统/模块
| 系统/模块 | 职责 |
|---|---|
| 终端 | 产生报警,按 9208 指令上传附件至媒体服务 |
| 终端网关 | 监测终端报警,可选上报企业应用 |
| 企业应用 | 按业务规则决定是否提取,发起提取请求,查询与下载附件 |
| GT-Streaming | 下发 9208、接收存储附件、通知任务结束 |
| RabbitMQ | fetch-alm-att、fetch-alm-att-completed 等队列 |
架构背景见 集成架构与系统/模块职责。
两种触发方式
1. 企业应用主动触发(常见)
适用于企业平台统一决策是否提取附件:
- 网关检测到主动安全报警,通知企业应用(自有机制)
- 企业应用判断需提取时,向
fetch-alm-att队列发布消息,或调用相关 HTTP/MQ 接口 - 媒体服务经网关向终端下发 9208,接收附件并存储
- 任务结束后,媒体服务向
fetch-alm-att-completed发布通知 - 企业应用调用 查询主动安全报警附件,通过返回 URL 下载
2. 自动提取(Micro-Gateway)
使用 Micro-Gateway 服务时,可在服务端配置报警类型,由平台自动调度提取,无需企业应用逐条发 MQ 请求。演示站 主动安全证据 可配置提取类型。
MQ 消息概览
| 队列 | 方向 | 说明 |
|---|---|---|
fetch-alm-att | 企业应用 → 媒体服务 | 请求提取指定终端、指定报警的附件(可带 priority / guid / ai) |
fetch-alm-att-completed | 媒体服务 → 企业应用 | 提取成功或失败(回传 guid / ai) |
eeye-stm-evidence | 媒体服务 → 企业应用(可选) | 提取成功时双发;Kafka topic,见 伊爱证据事件 |
term-cmd | 媒体服务 → 网关 | 内含 9208 等下发指令 |
cmd-state-chg | 网关 → 媒体服务 | 终端应答状态 |
队列详情见 消息队列集成接口概览。
fetch-alm-att 消息要点
| 字段 | 说明 |
|---|---|
simNo | 终端识别号 |
almNo | 终端 ADAS 报警编号(HEX) |
almTyp | 报警类型,见 ADAS 报警类型编码 |
almLvl | 报警级别(部分报警无级别) |
priority | 下载优先级 0–5,默认 3;按 (priority DESC, reqTm ASC) 排队,不抢占已执行任务 |
guid | 平台唯一 ID(可选),完成事件原值回传 |
ai | 是否需要 AI 分析(可选带外字段),完成事件原值回传 |
详见 提取主动安全报警附件请求队列。
v4 统一报警代码
v4 起引入 统一 ADAS 报警代码,便于同一平台接入多省标终端。迁移时须对齐报警类型编码,见 迁移到 v4.0 · 统一 ADAS 报警代码。
基本流程(应用视角)
1. [网关] 终端发生主动安全报警
2. [企业应用] 业务规则判定 → 需要提取
3. [企业应用] 发布 fetch-alm-att / 调 API
4. [媒体服务] term-cmd → 9208 → 终端
5. [终端] 上传附件至媒体服务
6. [媒体服务] 存储 → fetch-alm-att-completed
7. [企业应用] 查询附件列表 → 下载 URL
步骤清单见 客户端编程基本流程 · 主动安全附件。
查询与下载
提取完成后,调用 查询主动安全报警附件 按终端、时间范围等条件查询。返回结果包含各文件的 下载 URL,客户端直接 HTTP 下载即可。
也可在演示站 主动安全证据 页体验查询与下载。
存储与容量
附件文件保存在媒体服务端,占用磁盘空间。规划存储时需考虑:
- 上线终端数量
- 报警频率与附件大小
- 保留周期
常见问题
| 现象 | 可能原因 | 处理 |
|---|---|---|
| 任务一直未完成 | 终端离线或未响应 9208 | 确认终端在线、网络可达 |
| 列表多条「排队中」、没有「执行中」 | 「执行中」表示终端已经回了文件列表。指令已下发、正在等上传,或等列表超时后约 10 分钟再试时,列表仍显示排队;重试次数也可能一直为 0。同一终端同时只会处理一条。 | 打开服务统计:看当前节点是否 Leader,以及排队数 / 执行中数量。再看该任务日志有无 9208。有指令无文件列表 → 查终端是否连得上附件服务器地址。统计显示非 Leader、或排队/执行都是 0 但库里仍有排队 → 换到 Leader 节点或检查集群。 |
| 点「重新调度」后仍是「排队中」 | 没有单独的重调度接口,等于用同一报警标识再请求一次提取。成功只表示任务仍在队列里,不会因此改成「执行中」。若该任务正在等文件列表,这次请求会被忽略;若在排队,最多清冷却、稍后再次下发,列表状态仍要等终端回文件列表才会变。 | 看任务日志:有新的重复请求记录且随后有新的 9208 → 已再次下发,继续等终端上传。只有重复请求、没有新指令 → 可能仍在等调度,或同一终端另一条任务占着。接口超时 → 请求未打到负责调度的节点。 |
| 查询无记录 | 提取未触发或报警类型未配置 | 检查 MQ 消息与 almTyp |
| v4 报警类型不匹配 | 仍用旧省标代码 | 改用 统一 ADAS 编码 |
| 并发提取过多 | 服务端调度限制 | 分批提取,关注 completed 通知 |
更多见 常见问题与排错。