论文部分内容阅读
随着近几十年城市化的进程,人们对水资源环境的破坏日益严重,水中的有害物质含量不断上升,人与自然的关系日益恶化,高效的水质监测系统对于控制水质污染,改善水资源环境起着重要的作用。近年来,随着物联网、通信、智能传感器等技术的不断发展,水质采集设备种类和数量不断增加,可检测的水中污染物的种类越来越复杂,水质数据体量呈指数增长。与此同时,人们对水质数据解析的实时性要求也在不断提高。对于传统的基于BIO、NIO通信模型的水质监测系统在数据处理模块的稳定性、后台管理模块的完善性、数据可视化界面的直观性等方面存在不足,因此,亟需对其进行改进。本文以Netty的多路复用的线程模型为突破点,开发了拥有高性能数据处理模块的水质监测系统,优化了水质监测系统的数据接收模块和后台管理模块,解决了海量水质数据的接收和解析的问题,从而改善了现有水质监测系统的可靠性、稳定性。基于上述方案,论文的主要研究内容如下:(1)针对海量水质数据的接收处理,建立基于Netty高性能数据接收框架构建系统的数据处理模块。依据水质数据的特性,自定义了数据报文协议,设计报文错误校验方式。基于Netty框架开发了数据接收模块服务端和编写自定义解码器,从而解决了水质数据传输过程中数据报文的粘包、分包的异常,进而提升水质采集设备和服务端之间的数据通信的效率与安全性。(2)基于Netty框架的心跳包设计方案,使用IdleStateHandler解码器解决了水质采集设备和服务端之间在线通信异常和断线重连的问题,保证了水质采集设备和服务端之间连接的有效性,提高了系统的可用性。(3)基于前后端分离框架构建水质监测系统的后台管理模块。融合Redis缓存技术减少请求对关系型数据库Mysql的访问,减轻服务器的压力,提高系统的访问速度;应用Websocket推送技术实现预警消息的实时推送,提高服务器的推送效率;利用Echart技术实现水质数据的可视化,提升用户的浏览便捷度;同时运用服务器集群部署服务和Nginx反向代理技术对请求进行管理,提升系统的可用性和稳定性。