feat: 确认设备API自带预警判断,简化预警引擎设计
- alert_engine → alert_handler(仅接收存储) - 移除 alert_records.threshold 字段 - 架构图/DB/API 文档同步更新
This commit is contained in:
@@ -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"
|
||||
}
|
||||
|
||||
@@ -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 单租户设计)
|
||||
|
||||
@@ -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] 数据库 → SQLite(MVP)
|
||||
- [ ] 设备历史数据保留策略(多久归档到 OSS)
|
||||
- [ ] 设备 API 协议格式(塔吊/升降机数据字段)— 厂家文档后续提供
|
||||
- [ ] 多租户隔离方案(MVP 单租户,后续扩展)
|
||||
- [ ] 预警阈值配置(存 DB 还是配置文件)
|
||||
|
||||
Reference in New Issue
Block a user