流域防洪预报调度一体化系统若干关键技术研究
2019-09-10陈瑜彬邹冰玉牛文静秦昊
陈瑜彬 邹冰玉 牛文静 秦昊
摘要:针对目前我国主要流域防洪预报调度信息化平台建设中普遍存在的数据处理效率低下、资源共享能力偏弱、软件通用程度欠缺、立体化功能不全等不足,基于面向大数据平台的网络化服务理念,设计开发了流域防洪预报调度一体化系统。介绍了该系统的总体设计方案,并重点阐述了面向对象的大数据封装、河网空间拓扑关系概化、契约模式的网络服务构建以及基于JSON的海量数据传输等关键技术。系统在长江流域防洪预报调度决策中的成功应用验证了其可靠性、实用性和扩展性。
关 键 词:洪水预报; 防洪调度; 预报调度一体化; 大数据; 网络服务; 陆气耦合
作为国家信息化的重要组成部分、水利现代化的基础和标志,伴随着计算机技术的推广和应用,水利信息化近年来取得了飞速发展,全国主要流域的防洪预报与水库调度系统日益健全、完善,逐步迈向自动化[1-4]。然而,随着水文气象数据种类繁多且逐年增多、业务对象不断扩展且日趋复杂、系统用户与日剧增且形式多样,已有信息化平台建设逐步显现出数据处理效率低下、资源共享能力偏弱、软件通用程度欠缺、立体化功能不全等不足[5-7]。具体表现在:① 数据处理能力偏弱,且缺乏统一的数据处理标准,而且水利部、流域机构以及省(市)防汛部门各自为政,信息共享程度不高,形成了许多信息孤岛,难以满足当前水利信息建设工作中的一体化整体调控要求;② 两大业务系统(洪水预报、防洪调度)平行式独立建设,彼此业务耦合度低,无法满足水利工程大规模投产后多阻隔河流防洪调度业务需求;③ 系统整体功能不健全、可扩展性不强、用户处理单一,无法满足不断增多且复杂多变的管理层级、业务对象扩展需求。综上,如何建设满足流域洪水预报调度实际工作需求的一体化集成系统成为我国水利相关从业人员无法回避的重大实际问题[8-12]。
本次研究基于大数据平台的网络化服务理念,设计开发了流域防洪预报调度一体化系统。通过面向对象的大数据封装、河网空间拓扑关系概化、契约模式的网络服务构建以及基于JSON的海量数据传输等关键技术实现了洪水预报与防洪调度两大业务相关海量数据的快速处理、分享与分析,提升了调度方案的在线编制能力,实现了公众服务的实时扩展。目前,该系统已在长江流域投入使用,为长江流域防洪调度决策提供了强有力的技术支撑,并推广应用至广东省西江、北江、东江、珠江三角洲等10个流域。实例应用表明,该系统有效实现了资源整合与业务协同,具有扩展性好、数据处理能力强、深度耦合陆气信息源等特点和优势,可为我国流域防洪调度管理工作提供切实可行的技术支撑平台。
1 系统总体设计
1.1 系统总体架构
流域防洪预报调度一体化系统以数据库为基础,以预报调度计算为核心,以辅助防汛抗旱决策为目标,集中服务于变化环境下的流域防洪预报调度管理工作。系统由数据层、业务层、应用层和信息安全管理体系等4个部分组成。
数据层是系统的“地基”,主要负责基础资料和运行数据的存储、修改等工作,同时为外部数据交互提供统一的数据库访问接口,并分别通过优化前端缓存与连接池来加快数据传输速度;业务层是系统中连接“应用层”与“数据层”的中间纽带,负责所有的数据处理交换以及业务规则的制定调整,主要功能包括模型计算服务、GIS类服务和资源管理类服务(如短信服务、邮件服务、传真服务、推送服务);应用层是系统的“窗口”,主要用于展现相关的用户管理、业务计算结果与信息交互等业务逻辑,主要功能包括水雨情监视、防洪形势分析、调度方案生成与评价等;信息安全管理是系统的“护卫队”,通过物理安全、網络安全、信息安全及安全管理等多方面,为系统可能面临的病毒泛滥、恶意软件、信息失控、数据中断等复杂应用环境提供相应的应急防御措施与安全保障[13-16]。此外,为进一步保障预报调度决策的信息安全,系统采用细粒度授权访问模式与数据加密控制等手段,实现用户权限与角色、功能紧密挂钩,切实保障信息服务的可追溯性和底层数据的数据库。
系统总体架构如图1所示。各模块彼此关联且相对独立,有效实现逻辑计算业务与基础单元的自主划分与个性化调整,有效保证系统的安全性、鲁棒性与稳健性。
1.2 系统部署
为提高多用户并发访问时的计算速度和处理效率,系统采用图2所示的分布式部署方案,所有服务均部署在分布式计算节点并利用集群进行统一管理,通过负载均衡机制保证实时响应用户请求。其中,计算服务器是所有服务的总访问入口,主要负责分发服务与管理集群;各计算节点是具体的处理单元,主要负责相关的洪水预报、防洪调度及查询服务。实际应用时,用户通过客户端将相关需求传递到计算服务器,由计算服务器实时监视所有节点当前运行状况并从中找到负载最小的节点分发请求,当节点完成计算后逐层将结果返回用户。
1.3 系统集成
系统严格遵循国家、行业技术标准和规范,利用SOA架构实现了数据、接口及预报调度模型方案等多个业务的松散式集成,具体体现在4个方面:① 结合《实时雨水情数据库表结构与标识符》、水情专用数据库以及其他数据库表结构,完成了数据的标准化集成工作;② 对于需要海量数据处理、大数据分析的应用,以及自动计算的定时任务,采用数据交互的方式,通过消息队列(MQ)发送数据处理请求,待计算完成后,直接从数据库中获取计算结果; ③ 对业务应用系统中的短信、传真、邮件等业务进行应用接口集成,实现了各类业务的统一管理发布;④ 在分别开发完成各业务功能模块后,首先按照系统总体架构和菜单体系进行无缝集成,然后完成预报模型和方案(主要为模型或方案的参数)的深度集成,实现数据资源管理类、应用拓展类、业务支撑类的相对独立且有彼此耦合。
2 系统构建关键技术
2.1 面向对象的大数据封装技术
水文数据体量庞大、来源广泛、类型繁多,通常涉及水文、气象、水库等多个部门,既包括水位、流量、雨量、蒸发等结构化数据,又包括输沙率、河道地形、水文年鉴等半结构化或非结构化数据[17-20]。如目前长江流域每天接收来自长江水利委员会水文局15个分中心、14个省(直辖市)水文局、中国气象局、湖北省气象局、三峡梯调中心、金沙江调控中心以及各支流集控中心等数十家单位(部门)的实时观测数据约97万条,年接收数据量约3.54亿条。为高效合理使用这些数据,满足预报调度的使用需求,系统通过数据清洗、分析、归类,采用面向对象技术将水文信息封装为河道、水库和雨量3个差异较大且彼此关联的对象,并在此基础上实现数据的可视化。具体来讲,首先将各个对象划分为相对独立的基础单元(如变量数目、内在方法、单元属性),然后隐蔽数据处理、数据挖掘、模型计算等技术细节,只保留有限数据接口与外部进行数据交互。以图3所示河道对象为例,通过个性化地封装其成员属性基本信息(如站名、站号、站别、防洪信息、历史信息、实时信息、预报模型)与成员方法(如触发式预报计算、专家交互式预报计算、成果保存、成果发布),既能直观清晰地描述河道类水文信息,又可协助系统用户以按图索骥的方式快速获得相关信息,进而显著增强数据信息的可读性与交互性。
2.2 基于河网空间拓扑关系概化图的预报调度一体化技术 随着水库群等水利工程的兴建,河流的天然状态已逐渐改变,河流上的预报点与调度点已成为紧密相连、密不可分的两个关联体,以串联、并联或混联方式存在,相互制约影响,形成牵一发而动全身的局面。因此,系统针对当前预报与调度业务分离信息与模型共享困难、人机交互缺乏人性化、重复开发难以管理以及实时预报调度方案制作时效差等一系列弊端,研究提出了基于河网空间拓扑关系概化图的预报调度一体化技术,以满足变化环境下流域防洪预报调度的业务需求。以流域大型水库、重要水文站、防汛节点等为关键控制断面,利用空间位置与水力联系构建形成水库、湖泊、防洪对象有序关联的拓扑关系概化图,采用通用数据接口对数值天气预报、降雨径流模型、洪水演进模型及调度模型进行无缝耦合处理,实现河系的河库(湖)联动、有序连续演算的预报调度一体化功能,从而形成了涵盖河系概化图构建和预报调节点计算的预报调度一体化技术。详细介绍如下。
(1) 河系概化图构建。通过分析流域预报节点、调度节点的拓扑关系,明确各节点对象的链接关系,采用对象符号抽象形成表达流域河网关系的有序树,如图4(a)所示,然后设置河系概化图各节点对象的属性(如基本信息、防洪信息以及预报调度模型选择),并采用静库容调洪演算或水动力学模型实现关键控制节点的调度计算。
(2) 预报调度节点计算。采用树形分层方法保证关键节点依据上下游拓扑关系顺序计算,具体步骤为:首先根据树形结构划分计算层次,此时计算层数与树的深度相同;然后从最高级叶结点开始,按照从高到低的原则逐级计算至根结点,其中同一层次的所有节点同时完成相关计算,下一层次只能在上一层次结点全部计算完毕后开始。以图4(b)所示的7层树形结构为例,将按照“7→6→5→4→3→2→1”次序逐层逐站由流域上游向下游演算。
需要说明的是,在开展预报调度作业时,系统可以提供自动、半自动及交互3种计算模式,实现流域内河系所有预报、调度节点的连续预报或调度作业。其中,自动计算模式对各节点的中间计算过程不进行干预;半自动计算模式中用户可以对指定节点的中间计算过程进行交互式修正;交互计算模式则可对所有节点的中间计算过程进行人工调整。
2.3 面向水文预报的网络服务构建技术
为了满足SOA无状态和独立自治的原则,实现传统的水文预报程序能够服务化,系统通过对预报计算模型进行解耦并重新封装,具体流程为:① 预报计算模型解耦。按照水文预报的流程,将计算过程分解成各个子单元,每个子单元作为单独的功能封装成服务进行发布。每个子单元完全独立,子单元之间没有功能和调用关系上的依赖,同时具有高复用性。② 预报计算模型封装。封装的目的是为了让相互依赖的功能能够独立运行。预报模型计算需要进行大量的数据库操作,所以封装的重点之一是所有模块都可以独立的访问数据库。为提高效率避免数据库连接占用大量时间,采用数据库连接池分配数据库资源,在系统初始化时统一建立连接,当服务需要使用数据库时,直接从连接池中获取资源,使用完后由连接池回收以便循环利用。在封装时,选用了WCF作为服务框架,引入契约模式对预报计算模型进行封装。WCF是Windows平台上开发分布式应用最佳的实践方式,该框架使用.NET环境,能够很好地集成原有C号以及Visual Basic的预报计算程序,同时提供广泛的网络服务协议支持,在安全性上也有相应的模块作为保证。
所构建的网络服务既可为跨平台操作系统(如Windows、IOS、Android)提供通用的数据接口、确保预报计算的一致性和通用性,又可利用分布式部署方式来确保核心业务的计算效率,显著增强系统的扩展性和安全性。
2.4 基于JSON的海量数据传输技术
考虑到绝大多数操作系统和硬件设备均支持HTTP协议,系统选用报文交互方便且支持多终端接口的HTTP协议作为数据传输协议,使用类表述性状态传递(Representational State Transfer,REST)风格调用服务,即通过URL链接发布相关服务;同时,考虑到标准REST风格无法满足复杂结构的服务请求,系统采用GET和POST两种请求完成所需服务操作,其中GET表示发送参数仅包含基本数据类型的服务,POST表示发送参数包含复杂数据类型的服务。此外,引入JSON格式传递规模巨大的数据以减小不必要的信息量,加快请求的响应速度。在实际应用中,用户只需向相应URL地址输入所需参数,系统将首先对原始数据集进行序列化操作,然后将所得字节流进行压缩运算传递给用户,客户端对相关数据进行解码操作便可得到预报站点信息,数据传输流程见图5。
3 工程应用
3.1 应用实例
流域防洪预报调度一体化系统依托国家防汛抗旱指挥系统二期工程建设项目,以满足长江防洪兴利调度实际需要为目标开发设计。系统以大型水库、重要水文站、防汛节点等为控制断面,构建了长江流域27个预报调度体系,囊括9 200余个遥测报汛站点、341个预报节点、695套预报方案、35个调度节点、100余套調度方案,实现了水雨情在线监视、洪水预报实时调度、防洪形势动态分析、预警风险安全评估及洪水演进多层级模拟等复杂功能,为长江流域水文气象预报、洪水演算、优化调度和决策会商提供了强有力的技术支撑。
系统自2015年投运以来,运行安全稳定。尤其是在应对2016~2017年长江流域大洪水时,成功服务国家防总与长江防总联合会商近300次,发布各类分析材料、预报成果及调度方案近2 000期。该系统不仅实现了长江流域防洪兴利综合调度全覆盖,而且实现了国家防总、长江防总、省市防指与干支流控制性水库间远程异地协同会商和决策分析,为长江防洪科学调度指挥决策提供了有效支撑。此外,依托广东省中小河流水文监测系统建设洪水预报预警系统I标项目,成功实现该系统技术的推广应用。
3.2 典型功能
3.2.1 水雨情监视功能
系统以WebGIS、过程线和表格等方式在3D地图上动态展示各监测站点的空间分布特征,并在站点名称附近标注实时水雨情信息,方便防汛人员及时掌握最新动态。同时,系统采用Tab页展示水库站、水文站、雨量站等不同监测对象的详细信息。
3.2.2 洪水预报调度功能
针对洪水预报调度这一核心业务,系统提供了符合实际河网拓扑关系的河系概化图,分别采用不同几何图形代表水库站、水文站、虚拟站等不同对象,采用矢量箭头表征对象之间的水力联系,直观展示流域各控制断面的连接关系。在此基础上,用户既可以通过自动、半自动或交互式操作方式来制作发布河系洪水预报调度方案,又能够对单个节点或任意断面的预报结果进行精细化调整。
3.2.3 三维洪水模拟功能
系统采用建筑信息建模技术构建了基于WebGIS的三维场景,融合实时水雨情及预报调度信息,实现了重点区域关键信息的三维展示,并利用信息框、图表、过程线、分级图或剖面图等手段综合展示了实时及预报调度成果信息。
4 结 论
重大水旱灾害一直是制约我国流域用水安全、沿岸人民安康的重要因素,科学高效地实现流域防洪预报调度意义重大。本研究基于面向大数据平台的网络化服务理念,设计开发了流域防洪预报调度一体化系统,并详细介绍了系统实现的关键技术及典型功能。该系统在长江流域长期实践应用中运行稳定可靠,尤其是在2016~2017年长江流域大洪水防洪中,为防汛减灾实时联动决策提供了强有力的信息支撑和科学依据,社会和经济效益显著。此外,该系统以其良好的技术支撑能力,已成功推广应用至广东西江、东江、北江及珠江三角洲等地区。
参考文献:
[1] 胡四一,宋德敦,吴永祥,等.长江防洪决策支持系统总体设计[J].水科学进展,1996(4):4-15.
[2] 陈昂,隋欣,廖文根,等.基于数据云的水利信息化数据共享体系构建模式[J].科技导报,2014,32(34):53-57.
[3] 黄瓅瑶,罗斌,朱思蓉,等.基于WebGIS的水库群调度拓扑设计分析与应用[J].人民长江,2018,49(13):99-103.
[4] 王浩,俞科慧.基于洪水模拟和预报的三维仿真系统设计[J].中国防汛抗旱,2014,24(3):24-27,45.
[5] 丁斌,吴晖.新疆塔里木河流域信息化规划设计研究[J].水资源与水工程学报,2017,28(4):158-161.
[6] 张大伟,权锦,何晓燕,等.基于地理信息系统的一维溃坝洪水分析系统研发及应用[J].水利学报, 2013,44(12):1475-1481,1487.
[7] 王妍,杨朴.北京市河长制信息系统设计与研发[J].中国水利,2018(18):46-49.
[8] 黄少华,丁志良,王汉东,等.基于三维GIS的水库洪水调度模拟系统研究[J].人民长江,2013,44(7):95-99.
[9] 丁斌,姚保顺,杜文.黄河防洪调度综合决策会商支持系统建设[J].水资源保护,2017,33(6):55-59.
[10] 雷晓辉,蔡思宇,王浩,等.河流水资源调度关键技术及通用软件平台探讨[J].人民长江,2017,48(17):37-45.
[11] 程春田,王本德,李成林,等.白山、丰满水库群实时洪水联合调度系统设计与开发[J].水科学进展,1998(1):30-35.
[12] 吴捷,徐学飞.李仙江流域梯级水电站洪水预报设计与应用[J].人民长江,2011,42(24):21-24.
[13] 蓝家万,陈森林,李建华.基于Web Service的防洪调度决策支持系统[J].水电能源科学,2005(5):86-88,1.
[14] 秦昊,陈瑜彬.长江洪水预报调度系统建设及应用[J].人民长江,2017,48(4):16-21.
[15] 何欣欣,罗军刚,解建仓.陕西省最严格水资源考核管理系统研究与实现[J].水资源与水工程学报,2016,27(3):55-60.
[16] 贾化乐.陆浑水库洪水预报程序设计[J].人民长江,2013,44(19):40-43.
[17] 喻杉,羅斌,张恒飞.长江流域防洪调度决策支持系统设计初探[J].人民长江,2015,46(21):5-7,26.
[18] 刘荣华,刘启,张晓蕾,等.国家山洪灾害监测预警信息系统设计及应用[J].中国水利,2016(21):24-26.
[19] 陈军飞,邓梦华,王慧敏.水利大数据研究综述[J].水科学进展,2017,28(4):622-631.
[20] 罗毅君,吕石生,刘雨,等.湖南省基于云架构的山洪灾害监控预警系统设计与实现[J].中国防汛抗旱,2017,27(1):99-103.
(编辑:常汉生)