吕胜国 徐 敏
(山东省菏泽市水文局 菏泽 274000 山东省济宁市水文局 济宁 272000)
近年来,随着自动雨量计的大量增加,以及上级实时整编的要求,降雨资料整编工作水平不断提高的同时,其复杂性也随之加大,不仅需要配置更多的整编人员,而且数据有时分布在不同的机器上,处理的准确性、时效性、安全性等方面都存在许多问题。基于.NET降雨资料整编与应用服务系统能够有效地协调各中心、各科室之间关系,加速省市水文单位资料的流转,实现系统内部人与人、人与部门、部门与部门之间降雨资料的收集、审核、整编和信息共享。本文针对降雨资料整编的特点,并结合实际需求,自主开发了降雨资料在线整编应用软件,不仅有助于提高降雨资料整编的工作效率,节约成本,而且有助于整编资料应用、后期维护,以及功能扩展。
针对降雨资料收集和整编应用实际,该系统主要开发了系统管理、降雨站网信息管理、降雨资料入库与审核、降雨资料整编、资料应用五大功能模块。系统管理模块主要实现用户对系统权限、角色操作日志管理,确保资料操作有迹可循;站网管理模块主要实现站网基本信息、仪器设备信息、委托观测员等的调整、审批、存档、查询、增减等管理;资料输入管理模块主要实现人工资料、数据文件、数据库数据实时入库、入库资料审核等;资料整编模块主要完成降雨资料整编,并输出表一、表二、摘录表、逐日表、极值表、对照表等成果表;资料应用模块主要实现不同站点、时段的各种要素查询、频率分析等。系统功能框图见图1。
系统的开发平台设置:(1)服务器端操作系统:Windows 2008 Server,数据库系统:SQL Server 2008R2。(2)客户端操作系统:Microsoft Windows 2000/XP。(3)编程工具与技术:Microsoft Visual Studio 2010,Microsoft.NET Framework4.0,ASP.NET,ADO.NET。
系统采用B/S浏览器架构,使用母板结构搭建功能页面。为了数据安全,减轻CPU压力,提升访问速度,数据库服务器和网页服务器应该放在不同的机器上,其中数据服务器设于局系统内网,WEB服务器设于外网,网络采用Internet VPN方式。
图1 系统功能框图
该系统采用了SQL Server 2008 R2数据库对数据进行管理维护,在数据库设计时,基于《水文数据库编码标准》,结合实际及应用环境,严格按照需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库的实施和数据库的运行和维护的设计方法步骤,建立数据库应用系统。在线整编系统数据复杂,既有用户、角色、站网信息、委托管理员信息数据,也有雨量采集信息、分区信息、资料整编信息等,在一个页面进行多张关系表数据联合查询,采用SQL语句查询功能及视图方式整合数据,简化了程序代码的复杂性。
为了保证数据的安全性,系统权限分为管理员级别、操作员级别、用户级别3类。管理员可以修改系统基本信息,查看全部的数据信息并进行更改;操作员只能查看授权范围内的信息并进行修改、整编;用户级别只能操作,无修改权。在系统权限定义时,系统采用基于角色访问控制模式(RBCM.Role-based Control Mode)对用户角色进行授权。该模型包括用户、角色和访问权限3个实体,其基本思想是:在软件系统中定义各种角色,每个用户可属于一个或多个角色,在母版代码中设定不同角色分配访问系统资源的权限,若用户要访问某一类资源,就给该用户授权具有可访问此资源的相应角色,用户与资源之间不建立直接关系,而是通过角色建立间接的联系。
为了数据安全,在每一功能项增加了用户操作访问痕迹管理记录,每一用户的登记时间、操作内容、操作时间、访问内容均记入数据库。
代码如下:
雨量站网管理是信息量大而繁杂的一项工作,如从雨量站设立、仪器配置、委托员聘用等开始,直至站网调整、撤并结束。在整个过程中要涉及到站网基本信息、仪器配置信息、委托观测人员信息、测站变动等相关内容,图片采用二进制数据类型,直接存入数据库,系统提供了站网信息添加、修改和删除、分类查询统计功能,可实时了解测站信息,自动生成站网分类统计报表,利用数据库GridView控件,方便各项功能的快速实现。
针对雨量站的类型及实际运行情况,系统开发了人工资料、数据文件、数据库数据实时入库三种入库功能;资料审核包括资料的合理性分析、邻站对比、过程线绘制分析、人工仪器对比分析等功能,不合理的数据通过修改、删除等功能解决,因仪器故障漏测的可通过邻站插补分裂等功能解决。人工仪器对比分析功能,每日可查询实时雨量数据库,统计日降雨量,生成各站降雨对照料表,提示雨量站管理人员自动仪器降水量,便于人工分析对比,及时发现仪器故障。降雨过程线功能分析利用位图Bitmap定义画布,采用Graphics 类实现过程线绘制功能,可实现选定测站的过程线对比分析,可存储打印过程线。
资料整编功能是该系统的核心功能,根据降水量整编规范,开发了表一、表二、摘录表、逐日表、极值表、对照表整编模块,及时整编入库,同时可输出Excel格式降雨资料整编成果表,根据当前实时整编要求,可分阶段及时整编,通过及时整编可及时发现降雨观测中的错误。在分阶段整编时,给出提示重新整编更新覆盖功能。
表一、表二整编模块,先利用SQL select语句中SUM()函数功能,滑动统计表一中不同时间段降雨量,再利用MAX()函数求出相应时间段最大降雨量,摘录表、逐日表整编模块利用SUM()函数功能统计求出给定时段降雨量。
此资料应用模块利用select查询语,主要实现不同站点、时段的各种要素(降水量、降水日数、最大24h降水量)分析对比查询(求和、对比、统计等),并对查询出的数据进行P-Ⅲ曲线频率分析等。
该系统采用Microsoft.NETFramework4.0构建编程环境,Microsoft Visual Studio 2010为编程语言,通过ADO.NET访问SQL Server 2008R2数据库,开发了基于.NET的降雨资料整编与应用服务系统,并通过采用RBAC模型有效实现了Web系统中的权限控制。目前该系统在菏泽市水文局进行了试用,系统运行稳定,基本满足了降雨资料整编与应用服务需求,提高了降雨资料整编及站网管理的水平,实现了数据共享,节约了人力、物力,降低了站网管理成本■