feat: 确认设备API自带预警判断,简化预警引擎设计

- alert_engine → alert_handler(仅接收存储)
- 移除 alert_records.threshold 字段
- 架构图/DB/API 文档同步更新
This commit is contained in:
2026-04-14 11:50:36 +08:00
parent a4c1bc90bf
commit 7b71edf17a
4 changed files with 14 additions and 20 deletions

View File

@@ -172,7 +172,6 @@ GET /alerts
"message": "载重超限: 当前45.2kN超过额定值40kN",
"metric": "load",
"value": 45.2,
"threshold": 40.0,
"created_at": "2026-04-14T10:25:00Z",
"status": "unread"
}

View File

@@ -45,7 +45,7 @@
|------|------|
| `device_adapter` | 设备 API 适配器:塔吊协议解析、升降机协议解析 |
| `monitor` | 设备状态监控:定时轮询已有 API写入本地 DB |
| `alert_engine` | 预警引擎:阈值判断、预警生成、通知分发 |
| `alert_handler` | 预警接收与存储:接收设备 API 的预警数据,存入 DB |
| `file_mgr` | OSS 文件管理:上传、下载、索引 |
| `api_routes` | REST API 路由设备台账、实时数据、历史查询、预警、OSS |
@@ -69,24 +69,21 @@
### 3.1 设备数据采集
```
已有设备 API
已有设备 API(自带预警判断)
│ (定时轮询: 每 30s 或设备主动推送)
device_adapter (协议解析)
monitor (写入 DB + 触发预警判断)
monitor (写入 DB)
├──────────────────┐
▼ ▼
PostgreSQL alert_engine
(设备状态表) (阈值判断)
alert_records (预警记录表)
通知分发 (站内/OSS记录)
SQLite alert_handler
(设备状态表) (接收设备预警,写入 DB)
alert_records (预警记录表)
```
### 3.2 H5 数据请求
@@ -133,7 +130,6 @@ MVP 阶段采用轻量部署:
## 6. 待细化
- [ ] 设备 API 协议细节(目前尚未获取,需跟进沟通)
- [ ] 预警阈值配置方案(管理员界面 or 配置文件)
- [ ] 实时通知方案WebSocket / SSE / 轮询)
- [x] ~~预警阈值配置~~ → 设备 API 自带预警判断,本系统仅做聚合展示
- [ ] 设备 API 协议细节(塔吊/升降机数据字段)— 厂家文档后续提供
- [ ] 多租户隔离方案(目前 MVP 单租户设计)

View File

@@ -123,9 +123,8 @@ oss_files ───────────────────────
| device_name | VARCHAR(128) | | 冗余存储,查询方便 |
| level | VARCHAR(32) | NOT NULL | 级别: warning / danger |
| metric | VARCHAR(64) | NOT NULL | 触发指标: load / wind_speed 等 |
| message | VARCHAR(512) | NOT NULL | 预警消息 |
| value | DECIMAL(18,4) | NOT NULL | 触发值 |
| threshold | DECIMAL(18,4) | NOT NULL | 阈值 |
| message | VARCHAR(512) | NOT NULL | 预警消息(设备 API 提供) |
| value | DECIMAL(18,4) | NOT NULL | 触发时的实际值 |
| status | VARCHAR(32) | DEFAULT 'unread' | 状态: unread / handled / ignored |
| handled_by | INTEGER | FOREIGN KEY → users(id) | 处理人 |
| handle_note | TEXT | | 处理备注 |
@@ -190,6 +189,5 @@ python -m src.db.init_db
- [x] OSS Bucket → `jesxion-ai-studio`(开发测试阶段)
- [x] 数据库 → SQLiteMVP
- [ ] 设备历史数据保留策略(多久归档到 OSS
- [ ] 设备 API 协议格式(塔吊/升降机数据字段)— 厂家文档后续提供
- [ ] 多租户隔离方案MVP 单租户,后续扩展)
- [ ] 预警阈值配置(存 DB 还是配置文件)