水资源监测仍然受到工作人员的专业能力和职业素质的影响较大,不能及时预警水资源的污染和准确找到污染源,管理部门与信息系统之间的不协调导致部分水利信息系统成为信息孤岛,为解决以上问题开发水利物联管理平台,统一管理水利信息。
(1)实体管理模块
实体管理通过将水利工程划分为水闸、泵站、水库等,统一管理余姚市所有水利设施,创建统一信息模型存储各个水利设施的实体类型、经纬度、运维人员等信息,同时将所有实体展示在地图相对应的位置,使使用者更清晰明确各水利实体的地理位置,能够在地图上查看选定水利实体的各种信息。
(2)设备管理模块
设备管理通过接入其他设备平台设备数据或自建设备,统一设备内部模型。区分设备数据来源,标注设备原始平台并设计对应原始平台设备数据转换为本平台统一设备数据模型。为归入本平台的所有设备提供设备组分类,便于统一管理一批有相同关联的设备。设置脚本管理模块,创建对应设备的解析脚本,通过脚本自动编译解析文件来解析对应报文并查询对应脚本字典输出统一格式结果,同时对解析报文结果进行入库统一管理。
(3)考核评分模块
考核模块通过设置考核水利实体目标与考核评分线,将考核实体目标下绑定的所有设备通过对应接口得出最终评分结果,最后清晰的展示本次考核的对象与最终评分。
(4)告警模块
告警模块通过对日志的监听将日志结果中的异常结果通过表格的形式展现,同时记录告警的时间与告警的类型,方便管理人员清晰的了解告警设备与问题,以最快的时间调整有问题的设备。
后端技术栈:
Spring Boot:作为核心框架,提供快速开发能力与微服务支持
Spring Security + JWT:实现基于RBAC模型的权限控制系统,采用JWT令牌进行无状态认证
MD5加密:用于用户密码的安全存储与传输加密
Netty:构建高性能物联网设备通信网关,处理海量设备连接与实时数据传输
Redis:作为缓存和数据缓冲层,提高系统响应速度
MySQL:关系型数据库存储核心业务数据
InfluxDB:时序数据库存储设备监测数据
前端技术栈:
Vue3:前端框架,提供响应式用户界面
Leaflet:轻量级地图引擎,展示水利设施空间分布与实时监测数据
ECharts:数据可视化组件,实现监测数据图表展示
WebSocket:实现服务端到客户端的实时数据推送
技术难点:
海量设备连接管理:采用Netty的Reactor模式,优化线程模型
实时数据传输延迟:设计多级缓存机制,结合WebSocket推送
异构设备协议适配:开发可配置的协议解析引擎,支持动态加载协议解析规则