基于nio的水质监测系统研究与实现

基于nio的水质监测系统研究与实现

ID:28171245

大小:71.31 KB

页数:6页

时间:2018-12-08

基于nio的水质监测系统研究与实现_第1页
基于nio的水质监测系统研究与实现_第2页
基于nio的水质监测系统研究与实现_第3页
基于nio的水质监测系统研究与实现_第4页
基于nio的水质监测系统研究与实现_第5页
资源描述:

《基于nio的水质监测系统研究与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于nio的水质监测系统研究与实现摘要:本文从数据采集处理、系统设计、系统实现等方面论述了水质监测系统的设计与实现细节。探讨了搭建基于NI0的异步非阻塞模型的方法。关键字:nio;socket;水质监测中图分类号:A715文献标识码:A引言随着社会发展,水污染日趋严重,水质监控设施与管理水平比较落后,需要通过信息化建设为突破口,推动水质监测信息数字化、信息采集自动化、信息传输网络化、信息技术应用普及化。基于上述目标,笔者参与了水质监测信息化项目,主持设计并实现了自动化的水质监测系统。NI0是javanonblocking(非阻

2、塞)10的简称。该水质监测系统采用了NI0技术,搭建了一个异步非阻塞模型,通过该模型可以处理不同测站实时发送的水质指标数据。1、数据采集与处理远程测控终端RTU对接水位传感器、水质传感器等设备,通过GPRS通信模块接入GPRS网络,通过专线接入监测系统内网。基于NI0的水质监测系统部署在内网的应用服务器中,污染物信息通过DAO程序持久化至数据库中。实现了水质数据的采集。通过数据库的查询分析可以形成水质历史情况分析,通过数据挖掘技术研判污染趋势。水质监测数据遵循中华人民共和国环境保护行业标准HJ/T212-2005《污染源在线自

3、动监控(监测)系统数据传输标准》,上位机与现场下位机之间,基于TCP/IP协议进行传输通信。通信类型采用GPRS。数据信息中附带校验码,通过CRC校验保证数据完整性和正确性。通讯协议数据结构:所有的通讯包都是由ASCII码字符组成。其中数据段包含了请求编号、包号、命令编号、设备标识、指令参数等,命令编号又分成初始化命令、参数命令、交互命令、数据命令、控制命令等。指令参数部分根据命令编号的类别可以附带查询信息和结果信息。下位机根据上位机请求,返回查询水质指标的结果,根据污染物指标值分类。[1]污染物指标在本系统中可以灵活配置,按

4、照行业标准规定,B01代表污水瞬时流量,101代表总磷。数据返回值样例为:##0142ST=20;CN=2011;PW=123456;MN=88888880000001;CP=&&DataTime=20040516020111;B01-Rtd=100,B01-Flag=N;101-Rtd=l.l,101-Flag=N;102_Rtd=2.2,102_Flag=N&&8BBC。其中污染物B01的实时采样数据表示为BOl-Rtd=lOO;通过异步非阻塞模型实时解析收到的字符串,即可抽取所需的污染物指标数值。根据上位机的请求命令,下

5、位机可以按时发送数据信息。所示:2、系统设计系统整体设计如下NI0系统位于业务层,分为server端和client端。一个客户端对应一个与水质测站进行socket通信的进程。NI0采用轮询的工作方式,处理多线程水质通信数据。2.1需求分析接收管理站水质监测污染因子数据,包括常规PH值、温度、溶解氧、电导率、浊度、高锰酸盐指数,可以设置预警值,对达到预警值的监测点进行报警,每5分钟采集一次,每小时上报服务器,支持召测2.2系统功能结构设计系统分为client端和server端,通过server端的控制台可以管理client端进程

6、,通过命令控制台可以实现召测命令的拼装,加密和选择性发送,通过优先级管理制定不同测站的发送顺序。通过数据解析器解析分解污染物指标值,持久到数据库。通过配置管理可以进行权限,日志,审计监控等辅助功能。Client端监听水质终端连接情况,可以进行心跳包发送,保证物理链路联通,通过心跳监测诊断设备连接情况。2.3数据库设计数据库分为实时库和历史库,每天的数据量将近2000条数据,必须进行分库存储。数据备份系统采用LAN方式将数据库服务器、应用服务器的关键数据备份至备份服务器的磁盘上。数据库表分为日志表、命令配置表、污染物指标表、策略

7、表、注册信息表、发送优先级表、测站属性表、污染物字典表、污染物预警阀值表等。2.4程序设计系统采用单线程多客户端思想,在N10异步非阻塞基础上进行扩展和开发,系统在server端只占用一个进程,通过轮询的工作方式。所谓非阻塞就是线程执行方法时,不必一直等待操作就绪,所谓异步输入输出,就是不必等待输入输出处理完毕才返回。[2]模型包括如下代码类:ServerSocketChannel:可以配置阻塞或者非阻塞模式。socketChannel:支持提供read和write缓冲方法。Selector:为ServerSocketChan

8、nel监控接收连接就绪事件,为socketChannel监控连接就绪、读就绪和写就绪事件。系统运行过程将socketChannel状态为0P_READ的client进程读取信息流放入缓存队列中,为socketChannel状态为0P_WRITE的client进程写入缓存队列中

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。