谷琛 罗章海
摘要:水情在线监测作为现代水利的一个重要节点,一套合理可靠的水情在线监测系统将会给水利主管部门在各种管理决策的时候提供可靠的数据支撑,该文就以新疆某水库的在线水情监测系统的设计实现为蓝本进行探讨和研究。
关键词:水情监测;人机界面;三层架构;接口设计
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)22-0231-02
1概述
伴随着社会经济的发展,各行各业对水资源的需求也在不断地加大,在这种背景下水利管理部门及供水单位只有结合自身的实际情况,建设相应的水利信息化系统,决策支持系统才能很好的保障各行业对水资源的需求。在这个背景下,乌鲁木齐周边某水库在原有基础上对其水情监测系统进行升级改造,建设一套适合现阶段实际情况的水情在线监测系统,以适应现在供水的各种调度需求,提高供水的效率。
2系统目标和内容
2.1系统目标
文中所述水情在线监测系统建设的总体目标是:利用计算机网络、数据库和现行主流的系统开发平台技术,结合水库现有的各种软硬件设备,开发一个具有开放体系结构的、易扩展的、易维护的、具有良好人机交互界面的实时水情监测系统,实现数据监测自动化的计算机系统,为决策层提供准确、精细、迅速的数据监测和统计信息。系统建成后将具备以下功能特点:
1)系统应提供友好的实时数据监测界面,并且要具有良好的时效性;
2)系统能够自定义测点类型,并能方便地管理测站和测点;
3)系统需要提供历史数据查询的功能,并能够显示数据曲线;
4)实现多人同时在线查看实时数据;
5)系统需要具有良好的扩展性,方便的接入设备或增加底层通信协议;
6)系统应具有灵活的报表功能,能够生成如逐日水位流量表等;
7)系统需要支持计算公式和关系表计算,能够通过水位关系表和水位值得到流量值,能够支持对原始采集值进行简单的加减乘除运算,公式可灵活调整;
8)需要能够进行雨量相关的统计运算;
2.2系统内容
文中所述的水情在线监测系统项目需要建设多种类型的测站,包括水量监测站、水位流量监测站、水质监测站、水库监测站、气象站。各种类型的测站监测的数据信息为:
1)水量监测站:水位、水量;
2)水位流量监测站:水位、流量、雨量;
3)水质监测站:PH值、溶解氧、电导率;
4)水库监测站:库水位、库容;
5)气象站:湿度、温度、气压、风速、风向。
每种监测站所使用的数据采集设备都不尽相同,所以通信协议也不尽一致。所有涉及的仪表设备通信协议各式各样,所以要求系统平台能够具有同时解析处理多种协议的能力。
3系统设计
3.1系统架构
系统架构设计在整个项目中占有举足轻重的地位,架构设计的好坏将会对系统的后续开发建设产生决定性的影响,是系统设计的关键。架构设计的主要目的是定义和说明子系统,以及子系统之间的相互关系。选择一个合理的系统架构模型对于提高系统的维护性、扩展性和开发效率十分的重要。
每个子系统的主要功能通常是一个具体的业务逻辑或者技术逻辑。系统业务功能的实现就属于业务逻辑的考虑范畴,而用户界面、数据库或通信机制等则属于技术逻辑范畴,把这两者区分开来是很有必要的,这样当程序的其中一部分更新变动时其他部分不会被影响,有利于实现系统的复用功能,同时也易于业务需求的变更。
3.1.1架构设计
选用何种应用程序开发架构将会直接影响所用的开发工具和语言。根据项目的实际需求采用三层结构-引技术将系统结构划分三层,分别为:表示层(Web)、业务逻辑层(BLL)和数据访问层(DAL)。其中表示层存放所有人机界面的表单和组件,业务逻辑层则封装所有的业务规则和逻辑,数据访问层则负责所有和数据库的交互动作。其结构如下图1所示:
1)Web:系统界面部分,负责显示数据,接受用户输入,显示系统输出。包括表示层和表示层后台处理两部分内容。
2)DTO:数据传输对象,用于业务逻辑层和表示层之间的数据传输。
3)BLL:业务逻辑层,对数据层的进行操作,并对数据业务进行逻辑处理。
4)BLL:业务逻辑层接口,是对BLL的抽象,目的是降低Web对BLL的依赖关系,实现抽象工厂模式。
5)DAL:数据访问层,访问数据库中的数据,对数据进行处理,为业务逻辑层提供数据服务。
6)IDAL:数据访问层接口,是对IDAL的抽象,也是工厂模式的一部分,目的是实现业务逻辑(BLL)与数据库访问(DAL)完全分离。
7)AOP:面向切面的程序包,对业务逻辑的一些功能进行隔离,降低各部分模块之间的耦合度,主要实现性能统计、安全控制、异常处理、事务处理等功能。
8)App:配置文件包,存放NHibernate、spring.Net的配置文件和注入方式的属性文件。
3.1.2处理流程
在本系统中的处理流程有很多,由于文章篇幅不能逐一阐述,这里主要介绍后台数据与水情在线监测系统之间的处理流程,如图2所示。
1)由DCS系统负责与底层设备进行通信,获取数据;
2)DCS对采集到的数据进行解析、处理、封包,以统一的格式转发至本系统的数据接口;
3)系统数据接口采用WebService方式实现,当有数据来时,会触发WebService的接口事件;
4)系统接收到数据后,对数据进行有效性判断,将有效的数据存入设备数据缓存。图3所示的数据缓存都是将数据暂存在内存中,从而提高性能;
5)为提高系统并发处理能力、提高处理效率,系统需要使用多线程的方式处理数据;
6)解析数据现成循环从设备数据缓存中读取数据,如果有数据则进行进一步的处理,最终将解析后的数据存入测点数据缓存和数据库。
3.2接口设计
3.2.1用户界面
在用户界面部分,界面设计应該易于操作,并且要注意接口的布局,突出显示重要和错误的信息,外观也应合理化。其中,服务器程序界面要求操作简单,易于管理。总的原则就是,系统的用户界面要做到简单、可靠、实用和易用。
3.2.2外部接口
系统的外部接口有两个,一个是数据采集接口,一个是对外数据接口,接口都通过WebService实现。
3.3系统实现
根据上述设计的具体情况,文中所使用的开发工具为VS2010,数据库为sOL SERVER2005及以上,信息服务为IIS6.0及以上,浏览器为谷歌(推荐)、Microsoft Internet Explorer 7.0/8.0等,操作系统为Windows XP/7/8/10/2003/2008等。系统实现的最终结构为水情在线监测系统一套及相关的硬件配套设施。
4结束语
通过本系统的建设,提高了水库水情监测的自动化水平,减轻了水库管控中心运行人员的劳动强度;同时很好地为水库的供水决策提供很好的数据支撑,确保安全供水,提高了供水的效率。endprint