辐射监测系统是一套用于实时监测和管理辐射探头数据的综合管理平台。系统提供直观的可视化界面,支持多探头实时监控、历史数据分析、报警记录查询、设备管理等功能,帮助用户全面掌握辐射监测状况。
系统采用Web界面设计,支持多用户权限管理,可根据不同角色分配相应操作权限。主要功能模块包括监控面板、数据分析、探头管理、平面图管理、报警记录、用户管理和系统配置。
点击空白处退出提示
辐射监测系统是一套用于实时监测和管理辐射探头数据的综合管理平台。系统提供直观的可视化界面,支持多探头实时监控、历史数据分析、报警记录查询、设备管理等功能,帮助用户全面掌握辐射监测状况。
系统采用Web界面设计,支持多用户权限管理,可根据不同角色分配相应操作权限。主要功能模块包括监控面板、数据分析、探头管理、平面图管理、报警记录、用户管理和系统配置。
核心功能模块
1. 监控面板
提供平面图视图和表格视图。平面图以颜色标记探头状态(绿色正常、橙色一级报警、红色二级报警、灰色离线),支持悬停查看详情。表格视图展示所有探头信息,顶部统计卡片显示探头总数、正常数量、离线数量和报警数量。
2. 数据分析
支持实时模式和历史模式查询。实时模式按设定时间窗口持续更新,历史模式支持指定时间范围查询。支持多探头对比分析,数据类型包括剂量率(μSv/h、μGy/h)和计数率(cps)。采用高性能图表引擎绘制趋势曲线,支持数据聚合优化性能。支持导出为 Excel 或 CSV。
3. 探头管理
提供探头全生命周期管理,包括添加、编辑、删除和参数配置。支持配置探头名称、类型(中子/伽马)、安装位置、网络参数和平面图坐标。可设置一级、二级报警阈值和低值报警阈值。提供多维度筛选和表格排序。
4. 平面图管理
支持上传监测区域平面布局图(最大10MB),并在图上标注探头位置。提供点击图片自动计算坐标或手动输入坐标两种方式。支持控制探头显示/隐藏状态,提供批量操作。
5. 报警记录
提供报警历史查询、统计和导出。支持按时间范围、探头和报警类型组合查询。页面顶部显示统计卡片,汇总各级报警次数。支持分页浏览和数据导出。
6. 用户管理
采用基于角色的权限管理,定义三种角色:管理员(全部权限)、操作员(设备操作和数据查看)、查看者(仅数据查看)。支持用户创建、编辑、删除。
7. 系统配置
提供数据采集时间间隔配置、配置备份与恢复、数据库管理(InfluxDB 和 PostgreSQL 数据导出/导入)和探头历史数据删除功能。
技术特点
实时数据采集:通过 ModbusTCP 协议实时采集探头数据
高性能存储:InfluxDB 时序数据库优化存储和查询性能
可视化展示:平面图实时显示探头位置和状态
权限管理:三级权限控制,确保系统安全
容器化部署:Docker
前端技术
React 18 + TypeScript
ECharts 5(图表)
Web Workers(数据处理)
ExcelJS + file-saver(数据导出)
Socket.IO Client(实时通信)
dayjs(时间处理)
后端技术
Node.js + Express
Socket.IO(实时通信)
modbus-serial(ModbusTCP 协议)
@influxdata/influxdb-client(InfluxDB 客户端)
pg(PostgreSQL 客户端)
redis(Redis 客户端)
数据库
InfluxDB 2.7(时序数据库)
PostgreSQL(关系型数据库)
Redis 7(缓存数据库)
部署
Docker + Docker Compose
Nginx(反向代理)
容器化部署,支持 Linux/Windows
1. 高性能图表渲染
Web Worker 异步处理,不阻塞主线程
数据虚拟化:仅渲染可见区域数据点
智能采样:超过 10 万点自动采样
渐进式渲染:大数据量时启用渐进式渲染模式
2. 智能数据聚合算法
根据时间范围自动计算聚合窗口
支持 10 秒到 1 小时多种聚合粒度
使用 InfluxDB 的 aggregateWindow 函数优化查询性能
前端 Web Worker 二次聚合处理
3. 流式数据导出
分批处理,避免内存溢出
使用 requestAnimationFrame 确保 UI 流畅
支持取消操作(AbortController)
实时进度反馈
4. 并发 Modbus 连接管理
连接池管理,最大并发 50 个连接
批处理轮询,统一时间戳对齐
智能重连机制:指数退避算法
失败计数和网络检查优化
5. 多数据库混合存储
InfluxDB 存储时序数据,支持高效聚合查询
PostgreSQL 存储配置和报






评论