冷链监控系统
前后端源码 wx :bright12389
冷链系统需求分析
1. 项目背景
冷链系统用于监控和管理冷链物流过程中的环境参数(如温度、湿度),确保货物在运输、存储过程中的质量安全。系统需支持实时监控、历史数据分析、异常告警等功能。
2. 功能需求
2.1 设备管理
- 设备注册:支持添加、编辑、删除设备信息(如设备ID、名称、位置)。
- 设备监控阈值配置:配置每个仓库或机器设备温湿度的最高或最低阈值。
2.2 实时监控
- 温湿度数据展示:通过图表实时展示设备采集的温湿度数据。
- 地图展示:地图上显示设备温度或湿度异常情况闪烁 。
- 趋势分析:通过折线图、柱状图展示温湿度变化趋势。
2.3 历史数据分析
- 数据查询:按时间范围、设备编码查询历史数据。
- 数据导出:支持导出历史数据为Excel格式
- 趋势分析:通过折线图、柱状图展示温湿度变化趋势。
2.4 用户权限管理
- 用户角色:分为管理员、操作员、普通用户,不同角色拥有不同权限。
- 登录认证:支持用户名密码登录、Sa-token权限 认证。
- 权限控制:基于角色的权限控制(RBAC)。
3. 系统设计关键点
3.1 数据采集与传输
- 设备接入:采用netty通过 TCP协议接入设备数据。
- 数据传输:使用 Kafka 作为消息队列,解耦数据采集与处理。
3.2 数据处理
- 实时计算:使用 Flink 进行实时数据计算(如异常检测)。
- 数据存储:MySQL 存储结构化数据,Redis 缓存阈值数据。
3.3 前端展示
- 实时图表:使用 ECharts 展示温湿度实时数据。
- 页面构成:采用element UI-plus以及Vue3框架。
3.4 权限管理
- 认证与授权:使用 Sa-Token 实现用户认证与权限控制。
- 分布式锁:使用 SchedulerLock 确保任务调度唯一性。
4. 技术实现
4.1 前端实现
- Vue3:使用 Composition API 组织代码。
- Element Plus:构建 UI 组件(如表单、表格)。
- ECharts:展示实时温湿度图表。
4.2 后端实现
- Jdk21:Java语言的软件开发工具包。
- Spring Boot 3:提供 RESTful API。
- MyBatis-Plus:简化数据库操作。
- Sa-Token:实现用户登录与权限控制。
- Redis:缓存设备状态、用户会话。
- Kafka:解耦设备数据与实时计算。
- Netty:实现设备数据接收。
- Flink:实时计算温湿度异常。
- SchedulerLock:确保分布式环境下的任务调度唯一性。
5. 系统架构
- 5.1 架构图
6. 工程结构
6.1 工程代码
6.2 工程说明
cold-admin | 管理系统web模块 |
cold-common | 公共模块 |
cold-flink | 数据处理模块 |
cold-job | 定时任务模块 |
cold-kafka-starter | 消息队列模块 |
cold-netty | 设备通信模块 |
cold-netty-simulator | 设备模拟器 |
cold-redis-starter | 缓存模块 |
cold-service | 数据服务模块 |