杨 杰 ,胡德秀 ,梁德胜
(1.西安理工大学水利水电学院,西安 710048;2.水资源与水电工程科学国家重点实验室,武汉430072;3.西安理工大学自动化与信息工程学院,西安710048)
大坝安全[1]直接影响水利水电工程的运行,更与人民的生命财产安全、国民经济建设以及生态环境密切相关,一旦发生溃坝,后果不堪设想,因此对大坝进行科学有效的安全监测与控制管理十分重要。
目前国内外研发的大坝安全监测管理信息系统种类繁多,大多为C/S(客服端/服务器)模式,这些系统在水利工程安全监控管理中正在发挥着作用。目前来看,基于C/S模式的管理信息系统能够满足大坝安全监测管理的普通要求,但是随着网络技术和分布式数据库技术的迅速发展,基于C/S结构的大坝安全监测管理信息系统就暴露出维护工作量大、升级困难、可移植性差、开发周期长和信息难以共享等自身难以克服的缺点。
与C/S结构相比,B/S结构(浏览器/服务器)[2-5]的主要优势在于:没有客户端,系统开发、维护和升级的成本低;良好的开放性和扩展性;界面友好,使用方便;更强的信息系统集成性。因此,针对C/S结构的诸多缺点,研究基于B/S结构的大坝安全监测管理信息系统,对于加强大坝安全监测信息的有效管理十分重要,这也正是本文的研究目的所在。
基于B/S结构的大坝安全监测管理信息系统的开发目标是依据现行大坝安全监测规范,利用目前先进的计算机软、硬件技术,开发出一套具有先进性、可靠性、通用性和可扩充性的大坝安全监测管理信息系统[6]。该系统能实现监测数据的自动化采集、处理、分析,并将监测数据按一定的方式组织生成特定的信息,通过对这些信息的集中管理,对大坝安全状态作出快速、准确的评判,为大坝运行管理与科学决策提供依据,确保水库大坝安全。
基于B/S结构的大坝安全监测管理信息系统的开发环境为:
数据库 Microsoft SQL Server 2005;
技术平台 Microsoft.NET Framework 2.0;
IIS Internet Information Sever 6.0;
开发语言 ASP.NET2.0,采用C#语言实现;
服务器操作系统 Windows 2000/2003 Server。
大坝安全监测管理信息系统的总体结构采用B/S模式的三层体系结构,利用ASP.NET(C#)技术和SQL Server 2005数据库进行开发[7-9]。B/S模式的三层体系结构为用户界面层、业务逻辑层和数据层。大坝安全监测管理信息系统的总体结构如图1所示。
图1 大坝安全监测管理信息系统总体结构
(1)用户界面层 用户界面层也叫用户表示层,封装人机界面的所有表单和组件,是应用系统与系统用户之间的直接接口。主要用于从业务逻辑层获取数据并显示;或者与用户进行交互,将相关数据送回业务逻辑层进行处理。用户界面层以浏览为主,实现对大坝安全监测信息的管理,通过图表和文字等形式表现,实现信息资源和分析成果的共享。
(2)业务逻辑层 业务逻辑层包含了与核心业务相关的逻辑,实现业务规则和业务逻辑,并完成应用程序运行所需要的处理。同时,业务逻辑层负责处理来自数据存储或发送给数据存储的数据。业务逻辑层对大坝安全监测数据进行统计、对比、计算、分析等,实现后台业务管理。
(3)数据层 数据层包含数据存储和与之交互的组件或服务,这些组件或服务在功能上和业务逻辑层相互独立。数据层以数据库为平台,存储大坝安全监测的所有数据,为业务逻辑层提供处理数据。
基于B/S结构的大坝安全监测管理信息系统,应具备系统管理、工程资料管理、监测数据管理、图形管理、报表管理、建模分析等基本功能。大坝安全监测管理信息系统功能模块设计如图2所示。
图2 大坝安全监测管理信息系统功能模块
(1)系统管理模块 主要功能是用户管理、日志管理和退出系统。其中用户管理可以对用户的访问权限进行设置,包括增加用户、删除用户、更改用户访问权限等。
(2)工程资料管理模块 主要功能是对大坝安全监测的工程基本资料进行管理,用户可进行资料添加、查询、浏览与维护、资料的上传与下载等。
(3)监测数据管理模块 主要功能是对自动化监测数据和人工监测数据进行管理,可以对测点进行维护、数据查询和备份等。
(4)图形管理模块 主要功能是对测点进行过程线、浸润线、相关图和分布图绘制,所绘制的图形均可以打印输出和保存。
(5)报表管理模块 主要功能是对各测点的监测数据进行报表管理,可以生成所需的各种报表 (如年报表、月报表等)。
(6)建模分析模块 主要功能是生成环境量信息、变形建模分析和渗流建模分析。利用已有的测点观测资料和环境量资料,运用数理统计手段来建立效应量(如变形、渗流)与自变量之间的关系,分离出各环境影响分量,对所建立的数学模型作出解释,并能绘制和打印实测值、拟合值和各环境影响分量的拟合结果和相应的变化过程线。
大坝安全监测管理信息系统功能构架的设计是为系统提供一个可行的实现方案,并方便程序设计人员将此方案转换为实现应用系统功能的具体程序代码。大坝安全监测管理信息系统采用B/S模式的三层体系结构,利用ASP.NET(C#)技术和SQL Server 2005作为后台数据库进行实现。鉴于系统开发的内容繁多,这里仅以测点数据查询为例(数据库名 为Cedian数据库),分别说明各层的实现。
测点查询数据层由类库文件组成,负责对数据库中的数据进行查询操作,并将数据传递给上层的业务逻辑层进行处理。先建立测点查询数据层类库DamSafe_Data,再添加类文件Cedian.cs,完成方法GetAll。其中GetAll方法用于以数据集的形式返回数据表中的所有数据,返回的数据集将被业务逻辑层调用。程序主要代码如下:
测点查询业务逻辑层由类库文件组成,负责对数据层中传递来的数据进行处理并上传到用户界面层中。先建立测点查询业务逻辑层类库DamSafe_Business,再添加类文件Cedian.cs,完成方法GetAll及相关属性。其中GetAll方法调用数据层中的同名方法GetAll,并将从数据层中返回的数据集向上传递到用户界面层中,其中各属性通过用户界面层进行赋值,从而实现更好的封装和隐藏。程序主要代码如下:
using System;
using System.Data;
namespace DamSafe_Business
{
public class Cedian
{
//实例化数据层中的类Cedian
Damsafe_Data.Cedian CDData =new DamSafe_Data.Cedian();
private string name;
private float chengguo;
//定义属性Name,用于对私有字段name进行读/写操作
public string Name
{
get{ return name;}
set{ name=value;}
}
/定义属性 Chengguo,用于对私有字段chengguo进行读/写操作
public string Chengguo
{
get{return chengguo;}
set{chengguo=value;}
}
//定义方法,调用数据层中同名方法
public DataSet GetAll()
{
return CDData.GetAll();
}
}
}
测点查询用户界面层主要由Web窗体Sample.axpx、Gridview控件和按钮控件组成,在按钮单击事件处理过程中调用业务逻辑层中的GetAll方法,并将该方法返回数据集对象绑定到Gridview控件上,以显示数据表中的所有数据。程序主要代码如下:
using System;
using System.Data;
public partial class Sample:System.Web.UI.Page
{
DamSafe_Business.Cedian CDBiz;//声明业务逻辑层中类Cedian
private void Page_Load(objectsender,System.EventArgs e)
{
CDBiz=new DamSafe_Business.Cedian();
//实例化业务逻辑层中类Cedian
}
private void btnGetAll_Click(object sender,System.EventArgs e)
{
dgGetAll.DataSource=CDBiz.GetAll();
dgGetAll.DataBind();
}
}
甘肃碧口水力发电厂原采用的大坝安全监测管理信息系统开发于1994年,系统主要由观测资料数据库和综合管理系统两部分组成,由于受当时技术和设备的限制,这套软件只能在DOS操作系统下运行,资料的查询和备份都不太方便,没有各种报表的制作、观测资料的整编分析等功能,只能绘制部分曲线图。为加强大坝安全管理,及时了解大坝的安全性态,确保大坝安全运行,必须对原碧口大坝安全监测管理信息系统进行全面改造,因此开发新的大坝安全监测管理信息系统势在必行。
根据碧口大坝及其相关枢纽建筑物、青崖岭滑坡体、左右高边坡、环境量等的安全监测实际情况,基于前面提出的基于B/S结构的大坝安全监测管理信息系统设计与开发方法,研发了基于B/S结构的碧口水库大坝安全监测管理信息系统。
基于B/S结构的碧口水库大坝安全监测管理信息系统界面友好,操作简单,具有良好的可扩展性和可靠性。系统全面实现了碧口大坝及其相关枢纽建筑物、青崖岭滑坡体、左右岸高边坡、环境量等各类监测数据的自动采集与人工录入管理、测值误差辨识与处理、各种报表定制与生成打印、测值过程线任意定制与绘制、相关图分析、浸润线动态分析、统计建模与定量分析、工程安全监测相关资料管理、网络传输与实时查询管理、系统管理、系统帮助等功能。碧口水库大坝安全监测管理信息系统功能应用页面如图3~8所示(系统首页和系统功能主页图略)。
图3 监测资料上传与下载
图4 人工监测数据录入
图5 测点水平位移过程线
图6 渗流观测断面浸润线
图7 大坝变形观测月报表
图8 渗流建模分析
碧口水库大坝安全监测管理信息系统运行以来,运行状况良好,碧口水力发电厂能及时、准确、方便地管理大坝安全监测的各类数据信息,实时监控大坝安全运行,确保大坝安全。
本文根据大坝安全监控管理的发展需要,对基于B/S结构的大坝安全监测管理信息系统开发进行了研究,探讨了基于B/S结构的大坝安全监测管理信息系统设计原理与方法。通过工程实际应用,根据本文提出的基于B/S结构的大坝安全监测管理信息系统在实际应用中运行状况良好,能及时、准确、方便地管理大坝安全监测的各类数据信息,实时监控大坝安全运行,具有较高的实用价值,这对于提高我国大坝安全监测管理信息系统的研究水平,普及先进大坝安全监测管理信息系统具有积极意义。
[1]吴中如.水工建筑物安全监控理论及其应用[M].北京:高等教育出版社.2003.
[2]Xiaopeng Guo,Wenjie Huang.Research of campus grid management information system[C]//Education Technology and Computer Science,First International Workshop on Volume 1,7-8 March,2009:51-54.
[3]Jing Ranzhe,Qiu Ruchun,Zhao Xibin,Gu Ming.A Framework of Management Information System on Government Procurement in China[C]//Grey Systems and Intelligent Services,IEEE International Conference on 18-20 Nov,2007:1558-1562.
[4]Li Zhang,Zhong Chongquan,Sun Chao,Li Dan.Development of Intelligent Design System for Small Transformer Based on B/S Mode[C]//Intelligent Control and Automation,The Sixth World Congress on Volume 2,2006:7523-7526.
[5]Zhang Junping,Zhu Xiaodong,Liang Xin. C/S and B/S Mixed Style and the Application[C]//Education Technology and Computer Science,First International Workshop on Volume 2,7-8 March,2009:682-686.
[6]郦能惠.土石坝安全监测分析评价预报系统[M].北京:中国水利水电出版社,2002.
[7]刘丹妮.ASP.NET2.0(C#)大学实用教程[M].北京:电子工业出版社,2009.
[8]D Hua,H W Ngan,C Y Chung,et al.An ASP NET 2.0 Based Simulator for Studying Day-ahead Electricity Markets[C]//Power Engineering Society General Meeting,IEEE 24-28 June,2007:1-5.
[9]Ding Yonggang,Wu Linjing.Design and Implementation of Educational Resources Database System Based on SQL SERVER 2005 and ASP.NET 2.0 XML[C]//Knowledge Acquisition and Modeling,International Symposium on 21-22 Dec,2008:538-542