浙江省水文气象服务业务系统设计与实现*
2020-10-14陆明张珏张玮玮朱占云
陆明 张珏 张玮玮* 朱占云
(1.浙江省气象局,浙江 杭州 310002;2.浙江省气象服务中心,浙江 杭州 310017)
0 引 言
近年来随着气象科技水平的提高和专业气象服务的发展,水文气象服务在业务范围、服务深度等方面不断得到拓展,在专业气象服务中占据了越来越重要的地位。
目前浙江省水文气象服务主要包括省内6大水库流域内月、季、年气候概况,水库流域旬、月、季雨量预报服务,0~15 d内水库流域客观化面雨量预报服务等内容,服务内容涵盖各主要水库不同需求时段的实况概况和预报等内容,服务广度、深度都有突破,服务产品繁多而杂乱。与此同时,人工制作产品仍然是水文气象服务的主流,为了提高服务质量,业务人员往往需要通过各种途径来获取最新气象信息,缺乏一个集查询、预报和服务产品生成等功能于一体的业务服务系统,只能依赖传统的水库服务制作流程,以致于无法满足日益增加的业务需求,工作效率及准确率都大打折扣,严重制约了水文气象服务的持续健康发展。
本文基于业务痛点设计与开发了面向专业气象服务业务人员日常服务的水文气象服务业务系统。业务人员可实时、便捷地获取水库流域内各个模式的雨量预报信息、实时面雨量信息及其他相关信息,并实现流域中长期气候概况的自动生成,为水文评估、水文服务提供了统一的业务环境,提高了水文气象服务工作的实效性、准确性和规范性,为水库用户的防灾减灾提供了科学有力的保障。
1 系统架构和功能设计
1.1 系统开发及运行环境
浙江省水文气象服务业务系统基于Microsoft Visual Studio平台利用C#语言和C/S架构进行开发,利用Photoshop图形处理软件进行界面设计。后台使用了SQL Server作为信息产品数据库,配合FORTRAN语言实现水库流域客观化面雨量产品和雨量评估产品的制作和统计。系统服务器端由基于Win2008的Web服务器、数据库服务器、数据备份服务器组成,可根据系统负载情况动态增加,实现各类气象数据资料的整合入库和加工处理;客户端主要面向业务人员,要求设备具备.NET 4.0运行环境。安全方面,对核心数据区的数据库服务器和综合服务网站服务器采用访问控制增强技术和网络安全技术,实施网络入侵检测并设置安全通道,对网络资源访问或与网络服务进行安全保护。整个平台软件采用模块化程序设计,层次清楚,兼容性强。
1.2 总体架构
系统在开发模式上采用基于C/S的应用层、技术支撑层、数据层、基础软件层及基础设施层5层体系结构。
应用层统一集成各个处理功能,直接和业务数据进行交互,满足所有用户对系统的使用要求;技术支撑层包括系统的开发框架、第三方功能组件、通信协议等;数据层为系统中各种数据提供存储服务,主要包含系统配置库、水文信息库、气象资料库、气候资料库及地理数据库;基础软件层包括软件开发包、数据库、运行所需的应用软件;基础设施层为系统提供各种运行所需的硬件环境,包括主机及存储设备,为系统最终的实现及运行提供基础硬件环境支撑,系统总体开发结构如图1所示。
1.3 功能设计
水文气象业务服务系统是面向一线业务人员的日常业务系统,确定了整体框架后,通过对功能和流程的分析,将整个系统平台分为短临监控、客观化面雨量预报、预报服务制作、面雨量预报效果评估、系统管理等5大功能模块。模块设计上以简化水库服务材料制作流程、提高工作效率为基本原则,实现服务材料的一键式制作、预览、保存、发布(图2)。
图2 浙江省水文气象业务服务系统模块示意图
短临监控模块:由ArcGIS地图及水库水雨情分析两部分构成,方便业务人员在强降水过程中及时响应开展服务。通过接入实时更新的水库实况面雨量和水库实时水位,实现30 min更新一次PUP模式未来6 h面雨量预报(汛期15 min更新一次),1 h更新一次ZJINCA模式未来12 h面雨量预报,以及3 h更新一次ZJWARRS模式未来24 h面雨量预报。同时,模块提供基于GIS地图的水库雨情查询、简要统计信息智能化显示、面雨量趋势分析等功能。
客观服务产品模块:提供基于GIS技术的邮票图、地图分布、中期降水趋势3大功能。通过对各水库基于行政区域、水库类型等进行分类,接入OCF、ECMWF、JMA、GFS、GRAPES等多家数值预报资料,为专业预报员开展全省水库中短期面雨量预报提供决策参考。
气象预报服务模块:以简化水库服务材料制作流程、提高工作效率为基本原则,实现服务材料的一键式制作、预览、保存、发布。
预报评估模块:针对ECF、JMA、GFS、GRAPES及OCF模式对各个水库的逐24 h客观面雨量预报开展实时评估,提供评估指标查询,可将图像及数据结果输出至Word文档,满足临时服务的需要。
系统管理模块:针对整个平台的用户信息、水库信息、数据信息的基本维护进行配置。用户授权基于RBAC(Role-Based Access Control)角色访问控制模型,可对系统用户进行分类并配置相应模块权限。
2 系统界面及技术实现
2.1 系统界面设计
系统界面秉持简洁直观、布局合理、美观协调、简单易用的基本原则,按照Windows界面规范(即包含“菜单条、工具栏、工具厢、状态栏、滚动条及右键快捷菜单”的标准格式),利用Photoshop来进行设计开发。用户交互界面主要以WPF页面为主,各页面按照模块、部件、功能单元进行分类组织。页面布局采用左右分栏的设计方式,左侧为控制面板,右侧为功能展示栏,控制面板可折叠到最左侧,同时右侧功能栏可占据下方全部面积,以方便功能展示的可用面积最大化。用户交互界面如图3所示。
图3 用户交互界面示意图
2.2 数据库设计
系统入库产品数据由水库基础信息、基础服务数据、中间服务数据、文件服务材料数据等构成。基于SQL Server数据库,实现历史水文数据、不同时段的客观化面雨量预报数据、中长期预报、服务文档产品等数据的整合入库存储,并允许跨库、跨表的联合查询,最终结合相应算法得出分析处理结果。针对水文气象服务系统需求及功能实现过程中对数据的要求,设计出4个子库近40张数据表,产品数据库结构如图4所示。
图4 产品数据库结构图
其中,水库基础信息子库存储了水文站信息、流域内气象站信息、集水区域数据、流域内地理信息数据及水库经纬度水位等基本信息。
基础服务数据子库包含多水库流域多模式多时间尺度的面雨量历史及预报评估类产品、面雨量实况及水位信息、双周天气趋势预测产品与气候统计信息。
中间服务数据子库包含水库过程雨量预报,旬、月、季、年、汛期及枯水期等时间尺度水库雨量预测数据,双周雨量预报数据等。
文件服务材料子库包含不定期服务材料、水库短期天气预报、双周天气预报、旬、月、季、年及汛期等时间尺度短期气候预测和各类气象总结、关键期天气服务等专业服务人员加工制作的近20种专业气象服务产品。
2.3 安全设计
为保障系统安全,对关键的业务数据如用户密码、数据库连接字符串等信息进行加密,用户密码使用MD5算法进行加密,数据库连接字符串使用DES对称加密算法进行加密。数据库安全方面,数据库操作采取授权限制,对表一级及其以上级别的数据库操作授权不对应用服务器开放,通过权限配置使各用户对业务表有不同的操作权限,如统计分析子系统对统计相关的表只有读取权限,而不能进行修改、新增、删除操作。同时开发中杜绝SQL拼接,在WEB API层过滤用户输入来防止SQL注入和脚本,通过系统配置Filter来过滤全局的表单参数(包括URL传参),用户请求后,先通过Filter拦截请求,获取用户所有提交的参数判断是否包含非法字符串,若发现存在非法字符串,直接跳转到非法访问提醒页面。系统容灾方面,同时备份文件目录和数据库,文件备份只针对工作目录,采用文件压缩的方式备份,年度目录和历史目录每年备份一次;数据库备份分为全量备份和增量备份,全量备份每周一次,增量备份每天一次,历史库的备份每月一次,备份方式采用全量备份方式。数据库的恢复可通过执行数据库恢复命令实现。
2.4 关键技术
用户权限分级:由于系统面向省级不同单位业务人员和部分市级业务人员,每种用户服务对象不同,其所能访问的数据和模块也不同,因此需要建立对用户权限访问的管理机制。该系统用户授权基于RBAC模型通过角色的方式将权限授予用户,而不是直接将权限授予用户。在用户访问系统时,系统根据数据库中用户角色字段控制用户对数据的访问,保障数据的安全。同时限制用户账户多次登录尝试请求次数,超过一定次数(可灵活配置),便锁定该账户,防止系统被暴力破解,有效提升安全性。
邮票图设计:以水库点填色的方式设计了邮票图,模块提供多模式对比、预报调整分析及单模式形势演变3部分。邮票图上每个圆点代表一个水库,其中大点为大型水库,小点为中型水库,圆点所在位置为该水库大坝站所在的地理位置,同时隐去水库名称、雨量值等干扰分析全省库区降水演变的信息,采用江河流域常用雨量级划分标准,根据水库雨量值进行填色(图5)。
图5 水库流域降水预报邮票图展示
3 业务化情况与效果
该系统自2018年7月开始投入使用,在2019年2月18—22日的汤浦水库年度首次泄洪服务中,业务人员17日便开始跟进,利用该系统每日为水库用户制作延伸期水库雨量预测,直至其关闸完成泄洪。在该次泄洪工作中,充分发挥了气象科技服务的支撑作用,帮助库方及时掌握过程天气变化趋势,并及时调整泄洪方案,做到科学合理调度。随后,2月26日值班人员利用平台多模式决策系统,又较准确地预测出库区未来10 d降水过程,并进行跟踪订正。在精确的气象预报信息服务支撑下,汤浦水库于3月4—5日顺利完成第二次开闸泄洪。准确及时的水文气象预报服务得到用户极大肯定。
4 结 语
1)整合了浙江省水库基本信息数据。将省内服务对象水库基本信息(水库名称、简称、水库类型、水库功能、大坝站经纬信息、所属市、县(市、区)、集水面积、库容、汛限水位、正常水位及坝顶高程等)、水库集水区域电子地图、流域内格点化地理信息数据及流域内气象站地理信息数据、流域内水文站地理信息数据进行整合,并分别建库存储,同时设立名片库,实现了实时调用任意水库地理信息数据进行服务产品制作。
2)开发的“标签页式”材料制作以及“一键式”发布等功能大大简化了预报员提取素材的流程,可自动统计输出雨量、雨日、气温统计值,并与常年对比分析。通过切换“分布图”标签页,自动调取气象站降水和气温数据,生成相应水库流域降水和气温形势图至Word文档,保证了每部分内容的科学性和严谨性,避免低级错误的产生,显著提升预报员工作效率。
3)系统以水文气象业务上下游需求为纽带,通过模块间的有机融合,实现了水文气象业务的一体化“无缝衔接”,体现了气象业务组织“一体化、集约化、精细化”。通过配置用户角色类型实现了系统的省、市两级业务人员共用,缩短了查看资料的时间,加快了材料类产品的发布速度。
4)系统有效整合了现有省级各单位的气象信息产品,将多源头获取的产品统一预处理后进行分类入库,简化了提取、加工、生成水文气象服务产品的中间过程,有助于提高各类气象信息的利用率和传播速度,为水文气象高效开展服务提供了基础平台。