本项目属于可燃气体/环境监测与巡检类系统,常见于管道、化工厂、矿区、城镇燃气等需要实时检测甲烷(CH4)、乙烷(C2H6)、湿度、气压、风速、GPS 位置和 MCU 状态的场景。目标是实现设备数据采集、可视化监控、告警与报告下发/下载,辅助运维和安全决策。
点击空白处退出提示
本项目属于可燃气体/环境监测与巡检类系统,常见于管道、化工厂、矿区、城镇燃气等需要实时检测甲烷(CH4)、乙烷(C2H6)、湿度、气压、风速、GPS 位置和 MCU 状态的场景。目标是实现设备数据采集、可视化监控、告警与报告下发/下载,辅助运维和安全决策。
实时监测: 基于传感器采集甲烷/乙烷等气体浓度,并展示 燃气 水平与报警指示。
异常点管理: 列表/详情展示异常点、支持查看异常历史与定位。
地图定位: 集成高德js api在地图组件中展示点位与轨迹、支持点位聚合与跳转。
视频预览: 车载/远端海康摄像头预览(基于 webVideoCtrl 插件),按摄像头配置延迟初始化并支持登录/预览重试。
巡检控制: 开始/结束巡检控制、巡检员选择和巡检状态管理。
数据可视化: 实时曲线、最大/最小值、时间序列。
配置与管理: 摄像头配置、检测员管理、上报配置与系统参数设置。
报告导出: 后端生成 PDF 报告,前端 Blob 下载/预览与多任务下载控制。
前端:
技术栈: Vue 2 + Vuex + Element UI,Axios 封装在 request.js 进行 API 调用。
前端启动定时器轮询(每秒)用于界面刷新;摄像头信息通过轮询直至就绪再初始化 video 组件(已实现按获取成功后加载,避免后台未就绪出错)。
视频加载:video.vue 在接收到摄像头数据后延迟初始化插件、登录并开始预览,支持重置/销毁以释放资源。
错误与稳健性:API 调用 Promise 链加入错误处理与重试,并在组件销毁后清理定时器与插件资源。
后台:
技术栈:Java、Spring Boot、Maven 后端;前端使用 PDF.js(用于 PDF 逐页预览);
应用结构:
数据采集层:设备或采集网关上报接口,解析并转入业务层。
业务层:管理全局数据(最近数据缓存、位置、阈值), 负责将原始数据聚合为前端视图需要的结构(曲线数组、最新值、最大最小值等)。
持久层:可接入关系型数据库或时序库。
报表与文件:后端生成 PDF 到项目工作目录下 pdf 文件夹或直接返回可下载 URL;前端考虑下载超时与重试策略。
技术难点:
1.实时高吞吐数据接入与处理:并发写入、缓冲策略、顺序保证与丢包恢复。
2.内存和窗口管理:静态 `LinkedList`/全局集合的线程安全、内存泄漏与限长策略(环形缓冲或队列)。
3.多源数据对齐与插值:不同数据类型按时间戳对齐、缺失值/采样率差异处理。
4.视图聚合性能:聚合计算、流式处理与避免重复扫描(大数据量下的效率)。
5.PDF 生成与大文件处理:异步/后台生成、流式写出、生成超时与中断支持、临时文件管理。
6.传感器精度与标定:实现 PPB 级别检测需严格标定、温湿度补偿、漂移校正和标定周期管理。
7.实时数据可靠性与延迟:每秒刷新视图、点位与曲线;要保证网络抖动时的数据完整性与回放能力。





评论