# 设备监控系统设计方案 ## 1. 系统架构 ```mermaid graph TD A[传感器设备] -->|上报数据| B[数据采集服务] B --> C[数据存储] C --> D[监控告警引擎] D --> E[告警通知] C --> F[数据分析] F --> G[可视化展示] subgraph 前端系统 G --> H[温度/湿度监控] G --> I[烟雾/水浸监控] end subgraph 后端系统 B -->|API| J[数据路由] C -->|查询| J D -->|规则| K[告警配置] end ``` ## 2. 核心组件 ### 2.1 数据采集层 - **采集频率**: - 温度/湿度: 5秒/次 - 烟雾/水浸: 10秒/次 - **协议支持**: MQTT/HTTP - **数据格式**: ```json { "device_id": 123, "metric_type": "temperature", "metric_value": 26.5, "unit": "°C" } ``` ### 2.2 数据处理层 - 数据验证流程: 1. 值范围检查 2. 设备有效性验证 3. 单位标准化 - 告警检查机制: - 多级阈值判断 - 状态变更检测 ### 2.3 数据存储设计 | 表名 | 存储策略 | 索引 | |------|---------|------| | device_monitor_data | 实时数据 | device_id, metric_type | | device_monitor_data_hist_[YYYYMM] | 按月分表 | collect_time | | device_monitor_stats_daily | 每日聚合 | device_id, metric_type | ## 3. 告警系统 - **告警级别**: - 警告: 超过正常阈值10% - 严重: 超过正常阈值30% - 紧急: 超过安全阈值 - **通知方式**: - 邮件通知 - 短信提醒 - 站内消息 - **静默规则**: - 相同告警30分钟内不重复 - 维护期可全局静默 ## 4. 扩展性设计 1. **设备类型扩展**: - 通过metric_type字段动态支持新设备 - 前端自动适配新指标类型 2. **协议适配**: ```typescript interface ProtocolHandler { parse(data: Buffer): DeviceData; validate(data: DeviceData): boolean; } ``` 3. **存储引擎抽象**: ```typescript interface StorageEngine { write(data: DeviceData): Promise; query(options: QueryOptions): Promise; } ``` ## 5. 性能优化 - 数据分区: 按设备ID范围分区 - 读写分离: 实时数据与历史数据分离 - 缓存策略: 高频查询数据Redis缓存