系统架构
止危采用分层架构,将数据采集、传输、存储、计算与展示解耦,方便按需扩展与替换组件。
总体架构
┌─────────────────────────────────────────────────────────────┐
│ 展示层(Presentation) │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Web 前端 │ │ 可视化看板 │ │ 告警中心 │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
└─────────────────────────────────────────────────────────────┘
│
┌─────────────────────────────────────────────────────────────┐
│ 应用层(Application) │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ 项目管理 │ │ 实时计算 │ │ 告警引擎 │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
└─────────────────────────────────────────────────────────────┘
│
┌─────────────────────────────────────────────────────────────┐
│ 数据层(Data) │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ PostgreSQL │ │ 时序数据库 │ │ Redis │ │
│ │ (元数据) │ │ (采样数据) │ │ (缓存/消息) │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
└─────────────────────────────────────────────────────────────┘
│
┌─────────────────────────────────────────────────────────────┐
│ 传输层(Transport) │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ MQTT │ │ HTTP │ │ Modbus │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
└─────────────────────────────────────────────────────────────┘
│
┌─────────────────────────────────────────────────────────────┐
│ 采集层(Acquisition) │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ 振弦传感器 │ │ 应变传感器 │ │ 加速度计 │ │ 位移计 │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
└─────────────────────────────────────────────────────────────┘核心模块
| 模块 | 职责 | 技术栈 |
|---|---|---|
shm-frontend | Web 前端、可视化看板、用户交互 | Vue 3 + TypeScript + Vite |
shm-backend | 业务 API、实时计算、告警引擎 | 待定(如 Go / Node.js / Python) |
shm-collector | 数据采集网关、协议适配 | 待定 |
shm-docs | 文档网站 | VitePress 1.6 + TypeScript |
数据流
- 采集:传感器或数采仪将原始数据通过 MQTT/HTTP/Modbus 发送到采集网关。
- 解析:采集网关按设备协议解析,转换为止危标准数据报文。
- 路由:标准报文进入消息队列,按需分发给实时计算与持久化服务。
- 计算:实时计算模块提取特征值(最大值、最小值、均值、频谱等)。
- 存储:原始采样数据写入时序数据库,元数据与告警事件写入关系型数据库。
- 展示:前端通过 RESTful API 查询数据,在图表、看板与 3D 模型中呈现。
- 告警:告警引擎持续评估规则,触发后写入告警中心并发送通知。
核心概念
- 项目:一个独立的管理单元,对应一个工程或合同。
- 结构物:被监测的物理对象,如桥梁、建筑、风机。
- 测点:结构物上的具体监测位置,如主跨 1/4 截面。
- 传感器:实际采集数据的硬件设备。
- 通道:传感器上的一个物理或逻辑数据通道。
- 特征值:从原始信号中提取的统计或频域指标。
- 告警规则:基于特征值或原始值的判断条件。
扩展性
- 新传感器类型:通过插件机制扩展协议解析器。
- 新算法:在实时计算层挂载自定义特征值算法。
- 新可视化组件:前端看板支持自定义图表与 3D 组件。