河南省地市雨水情信息显示系统研究

2014-12-08 07:17董晓绘张俊英吴静萍
河南水利与南水北调 2014年18期
关键词:显示屏雨水河南省

□董晓绘 □张俊英 □张 荣 □吴静萍

(1河南省郑州水文水资源勘测局 2河南省漯河水文水资源勘测局3河南省水利勘测有限公司 4河南省水利第二工程局)

0 引言

河南省雨水情信息显示系统是一套软件管理与硬件应用为一体的管理系统。其软件系统通过动态读取省信息交换系统的数据库数据后,自动保存到软件系统自带的SQLSERVER数据库,同时以特定的格式通过串口发送至雨水情显示屏。显示屏采用工业级的LED集成模块并按照一定的排列方式组合而成。单个的LED采用Atmel89C51单片机为核心,外驳接三色二极管为不同雨情的显示方式,是集信息接收、发送、存储、数据运算、通讯于一体的显示设备,通过多个LED的组合能够动态地显示出不同区域的雨水情信息。该管理软件能够非常方便地查询当前与以往的雨水情信息,并集动态调用交换系统数据库自动生成数据与手工录入于一体,能够快捷地生成旬报、月报而极大地提高了防汛发报的及时性与准确性。软件同时以三种不同的显示方式服务于不同用户,其中录入查询版可以满足技术人员对数据的录入、修改、发送与查询,该显示功能强大但需要专业人员使用;查询版则是针对领导查询设计的,其界面简洁美观,操作方便。

1 实现原理

雨水情显示系统采用的是C/S模式的工作方式,即在同一局域网内进行信息共享,在后台建立一个公共的数据服务器,系统通过动态读取省水情交换系统的数据库后,自动保存到软件系统自带的SQLSERVER数据库,同时将信息通过串口发送至雨水情显示屏。雨水情显示屏以许昌实际地图为背景生动形象地对雨水情信息进行发布,其中雨情以红、绿、黄二极管分别表示晴、雨、多云3种状态;水情则以不同颜色的LED灯色表示涨、平、落。软件以C/S架构的形式存在并以三种不同的显示界面服务于不同用户,实时雨水情信息的录入通过录入查询版本;信息的发布与显示则通过只读查询版本;仅在电脑上进行复杂查询的通过专业查询版,如此即以多元化的操作方式满足不同的需求对象。

2 PowerBuilder为软件开发工具

由于该软件系统采用的是C/S模式进行开发,而开发C/S架构的语言则首推PowerBuilder,并非只有PowerBuilder才能开发C/S架构的程序,但PowerBuilder却是以C/S为主而诞生的一种语言,下面将详细介绍一下PowerBuilder的性能。

PowerBuilder是美国Sybase公司研制的一种新型、快速开发工具,是客户机/服务器结构下,基于Windows2000、WindowsXP和WindowsNT的一个集成化开发工具。它包含一个直观的图形界面和可扩展的面向对象的编程语言PowerScript,提供与当前流行的大型数据库的接口,并通过ODBC与单机数据库相连。其主要特点如下:一是可视化、多特性的开发工具。全面支持Windows或WindowsNT所提供的控制、事件和函数。PowerScript语言提供了几百个内部函数,并且具有一个面向对象的编译器和调试器,可以随时编译新增加的代码,带有完整的在线帮助和编程实例。二是功能强大的面向对象技术。支持通过对类的定义来建立可视或不可视对象模型,同时支持所有面向对象编程技术,如继承、数据封装和函数多态性等。这些特性确保了应用程序的可靠性,提高了软件的可维护性。三是支持高效的复杂应用程序。对基于Windows环境的应用程序提供了完备的支持,这些环境包括Windows、WindowsNT和WinOS/2。开发人员可以使用PowerBuilder内置的WatcomC/C++来定义、编译和调试一个类。四是企业数据库的连接能力。PowerBuilder的主要特色是DataWindow(数据窗口),通过DataWindow可以方便地对数据库进行各种操作,也可以处理各种报表,而无需编写SQL 语句,可以直接与 Sybase、SQLServer、Informix、Oracle 等大型数据库连接。五是强大的查询、报表和图形功能。PowerBuilder提供的可视化查询生成器和多个表的快速选择器可以建立查询对象,并把查询结果作为各种报表的数据来源。PowerBuilder主要适用于管理信息系统的开发,特别是客户机/服务器结构。

3 并发控制在雨水情显示系统的应用

当多个用户同时保存雨水情数据或同时修改一相同雨水情数据时就会产生意想不到的问题,这就是并发所引起的问题。若不正确地处理好这个问题那么就会引起数据死锁、数据丢失、数据错乱等一系列问题从而影响雨水情信息的正常发布。因此我们很有必要了解并发产生的原理以及如何妥善解决由并发所产生的各种问题。

并发控制指的是当多个用户同时更新行时,用于保护数据库完整性的各种技术。并发机制不正确可能导致脏读、幻读和不可重复读等问题。究其本质原因则是数据不一致所致:一个进程读入内存中的数据和数据库中的“同一批”数据在某一时刻已经不一样了(可能数据库中的数据被另外一个进程修改了),但程序并不知道,于是造成了各种错误。尤其是当业务逻辑比较复杂时,要在正确性和并发性之间权衡一下,这两方面有时是矛盾的,没法得到完美的解决。比如,有的处理可能会使某种操作不正确,但它影响很小,不会带来损失,但能提高系统的并发性,这样的正确性可以牺牲。通过对并发问题的细致研究规避了并发问题对雨水情显示系统的影响,通过对并发控制有效的管理与控制使雨水情显示系统满足了多用户多批次的录入与修改,从而很好地满足了信息发布的及时性与准确性。

4 多数据库连接

由于雨水情信息显示系统不但本身使用的SQLSERVER数据库,同时由于要不断地读取省水文局构建的交换数据库(采用的是SQLSERVER2008)中的数据,因此该系统采用了多数据库连接的方式运行。由于SQLCA是PowerBuilder默认的事务对象不需要新建而只对连接交换数据库的事务新建,其事务为:Transactionsmg_sybase。它们的连接代码如下:雨水情系统本身的连接代码:

5 结论

该雨水情信息显示系统应用于许昌市水利局防办,其同类产品也在白沙水库管理局安装使用,使用效果良好。长达1.70m×2.40m的雨水情显示板直观方便地展现出了平时只能在在电脑中才能显示的雨水情信息,同时多用户多界面的雨水情查询统计也满足了不同用户的不同需求。该系统的开发应用在汛期防汛期间发挥了积极的作用,受到了用户的广泛好评。

猜你喜欢
显示屏雨水河南省
一块布就是一个显示屏?
河南省树人教育交流中心
河南省树人教育交流中心
农事 雨水
河南省树人教育交流中心
河南省树人教育交流中心
如果雨水先唤醒清明
农事 雨水
苍蝇迷恋显示屏
未来五年LED显示屏出货将保持16%增长