水务数据统一交换管理平台设计与实现
2011-07-16龚岳松吕文斌
龚岳松,吕文斌,李 佼
(上海市水务信息中心,上海 200050)
0 引言
近年来上海水务部门陆续开展了大量信息化建设工作,实现了与国家防总、水利部、全市水务系统、气象、海洋和海事等多个部门互联的水务专网;建成了涵盖供水,排水,水利 3 大行业,用于防汛抗旱指挥、水资源管理、水环境治理、水务工程管理等不同业务目标的近 50 余套信息系统;累积了从 1998 年以来超过 1TB 数据量的多比例尺、多时相的数字地形图和遥感影像资料。这些系统的建成,为开展“智能水网”建设提供了必备网络条件和大量数据资料。而“智能水网”的建设离不开跨单位、部门、系统的数据交换和信息共享。
结合上海水务信息化发展实际情况,运用满足水务一体化管理工作需求的多目标、任务和层次的统一数据交换与共享管理技术,设计了水务数据统一交换管理平台,支持水务数据在多源、异构的不同系统间实现数据交换、信息流转。对水务数据实现有机整合、共享共用进行了有益研究和实践。
1 问题的提出
上海水务现有各单位信息系统及数据库建设受当时信息技术限制和建设理念局限,各系统存在系统架构多样,数据库结构不同,数据格式不同等问题:各系统由于建设年代不同,存在 C/S 与 B/S 架构并存,Java,.Net 与其他工业组态软件并存,各应用系统独立开发,很难有效整合;数据库同时存在 SQL Server,Oracle,SyBase,DB2 等多种类型;数据表设计不同、数据多源异构、技术路线差异极大,难以实行高效的数据交换及共享;各系统应用目标单一、缺乏信息共享与联动,难以满足行业管理决策的支持需求。
同时,在水务数据统一交换管理平台未建设之前,各单位信息系统及数据库之间所采用的数据交换主要是传统的“点对点交换模式”,即应用系统之间数据库直连的紧耦合交换模式。由于这种数据交换模式需要对 2 端系统进行源码级开发,在对原有系统稳定性产生一定影响的同时,随着交换单位需求越来越多样,其数据交换复杂度也会与日俱增,数据交换将由一对一变成一对多甚至是多对多,相应的数据交换规则和程序开发量将呈几何倍数增长,最后形成蛛网状。这种交换模式既难以开发也难以维护,改动一点,可能导致数据交换甚至业务系统的瘫痪,将很难适应水务发展需求。
因此建设 1 套行之有效的能够满足全市水务行业需求的水务数据统一交换管理平台,解决“信息孤岛”现象,实现水务行业内各部门之间,以及与其它行业之间的数据共享和联动,形成数据及时有效的更新机制,成为当前水务部门亟待解决的课题。
2 方案的设计
水务数据统一交换管理平台设计目的是满足市水务局层面政府决策、综合管理工作对数据集成、数据挖掘和综合业务分析应用的需求。在市水务局已完成水务数据中心框架构建的基础上,建立 1 个统一的数据交换平台,简化规范行业条线应用对数据交换共享和管理的操作,协调信息资源的共享共用,满足供水,排水,水利 3 大行业间对数据综合调用的块状应用需求,实现面向应用的数据监控,集中管理和运行维护,提供高灵活、稳定、可用和易扩展性的功能支持。
图1 水务数据统一交换管理平台位置示意图
水务数据统一交换管理平台位置示意如图1 所示,连接了水务数据中心和应用系统、各行业基础数据库等,主要提供数据库连接和中间层服务。水务数据交换系统通过对各行业基础数据库进行数据抽取,异构处理和数据归并等方式,将数据传输、汇聚和存储到水务数据中心,并提供相关单位之间的数据交换和共享;为水务数据中心中面向专题应用的数据仓库提供数据统一访问和交换接口,为各类应用系统提供数据支持和应用服务支持。
根据上海水务综合管理中存在静态,实时和资源目录 3 大类数据的情况,我们设计了能够实现统一汇聚、规范整合、规范发布的基于数据总线技术的数据交换平台。在这种模式下,所有应用系统或行业基础数据库不直接连接中心数据库进行数据交换,而是连向数据交换平台,由交换平台统一维护各个信息系统之间的接口、协调信息资源、对各个信息系统做数据交换共享。随着参与的系统增加和数据量的不断加大,其可扩展和稳定性等方面的表现就越来越突出,更能适应信息系统规模的扩大和业务工作的不断发展。
水务数据交换平台结构示意如图2 所示,虚线框内所示的水务数据统一交换管理平台主要由数据交换和管理 2 大部分组成。
2.1 数据交换部分
主要基于数据总线技术来实现对水务数据中心的基础、实时、政务、业务和元数据类数据与各单位信息系统之间的统一数据交换。在上海水务数据交换应用中,我们基于 IBM Message Broker 中间件平台,根据数据更新的不同要求进行了数据交换的二次开发和定制,有针对性地设计了水务数据实时和静态交换方式,并设计了用于获取水务数据中心中存储数据的信息资源检索接口。
2.1.1 实时数据交换
主要针对由实时采集信息系统生成的数据及部分以数据记录形式存储在数据库中并及时更新的政务类数据,采用统一的数据交换中间件平台进行实时数据交换。在不改变原有系统的情况下,支持数据在多源异构的系统和数据库之间交换,实现各类水务实时数据的无缝流转,实现对实时数据的集中、发布、路由、交换与同步,将经过汇聚,整合,规范后的水务核心数据集中存储到水务数据中心,并能为将来构建其它信息系统提供数据规范接口。
图2 水务数据交换平台结构示意图
2.1.2 静态数据交换
针对数据更新频率不高且以文件或图片形式(如基础数字地形图、遥感影像数据、行政许可的附件资料等)保存的基础类和部分政务类数据,通过数据总线采用统一的文件数据定期拷贝形式进行数据交换。
2.1.3 信息资源检索接口
基于 XML 设计,用于水务数据监控管理部分与水务数据中心、数据统一交换平台之间协调通信,实现对水务数据中心存储的数据的编目、审核、目录检索、统计分析等功能,为数据需求单位,数据管理单位及时掌握水务数据的供需需求提供了索引指南和资源目录。通过创新信息资源编目、资源公开属性审核、目录交换管理、目录检索及其统计分析,实现信息资源目录的共享。
2.2 水务数据监控与管理部分
主要用于满足不同层面水务从业人员对数据的管理和应用需求,分接入、交换和应用层 3 个层面进行应用设计,水务数据统一交换管理平台数据管理功能架构如图3 所示。
2.2.1 接入层
主要针对市水务局各局属单位和行业管理部门的信息技术专业人员进行设计。设计能够满足信息技术专业人员对各自单位信息系统及其数据库运行维护管理需求的一系列实用便捷的功能,实现对数据库运行状态、连接情况、交换状态、异常报警等监控管理;提供交换监控、数据管理、故障报警、异常预警等应用服务,为信息技术专业人员及时掌握信息系统及其数据库运行状态提供有效、实时的监控和管理手段,减轻对系统及数据库的运维工作量,缓解人工检查信息系统及数据库状态的劳动强度。
2.2.2 交换层
主要针对市水务局信息化主管部门负责数据中心运行的专业管理人员进行设计。设计能够提供对全局供水,排水,水利 3 大行业相关信息系统与水务数据中心之间数据汇集、路由、订阅与发布、整合与质量管控等交换全过程的可视化监控,管理和配置等应用服务;提供无关计算机技术、简化、便捷、可视化的交换配置工具,实现随需随用、灵活调整的数据交换策略,有效降低对数据中心管理人员计算机专业技能水平的要求;此外还提供对数据交换过程中所发现的传输延时、交换中断、数据异常等情况进行在线监控和预警,一旦发现异常情况,通过短信等即时通讯手段及时告知数据中心管理人员。
2.2.3 应用层
主要面向市水务局机关和相关行业管理单位的领导和业务人员,基于面向水务专题应用的数据挖掘技术,提供能够满足各种行业管理应用和政府管理应用的数据报表、统计分析、趋势预测、评价评估等功能。该决策层面针对水务行业从业人员多而水务信息化从业人员少的特点,功能设计应实现与信息技术的无关性,力求降低水务行业从业人员运用本平台的门槛。
3 关键技术
3.1 基于消息中间件的统一数据交换技术
为了解决以往局属各单位之间网状数据交换带来的管理混乱和资源浪费,我们采用了基于消息中间件的统一数据交换技术进行数据交换,并以数据服务的形式提供了对 JSON,XML 和 Web Service 数据服务的标准接口支持,在上海水务行业中规范了同构、异构系统间进行信息共享、数据交换的方法,形成了系统之间数据交换的标准,规范并统一了数据交换中数据采集、发布、交换、路由、同步等各环节。
图3 水务数据统一交换管理平台数据管理功能架构图
1)数据采集:各单位实时数据通过该平台经由数据抓取、甄别、汇聚、规范和整合等过程以统一规范的格式汇集到水务核心数据库。
2)数据发布:各单位可以根据各自需要定制所需业务数据,该平台按照数据属性、目的地、归属单位等条件,进行相关组合,并根据这些定制信息进行数据发布。
3)数据交换:通过统一消息中间件建立数据订阅和发布的单位之间的信息隧道,支持同步和异步交换 2 种方式,实现各单位之间多源异构数据的业务逻辑、数值转换、数据统计和规范整合,使各信息系统之间的信息能够更方便地共享和交互。
4)信息路由:水务业务流程复杂,会涉及多个单位的协同。这些流程对协同办公要求都比较高。在这些流程里,在不同环节调用不同来源的、存放在不同数据库中的数据,就需要交换系统具备信息路由功能,在具体业务流程的运行中,配合相应的 1 个或多个系统,在不同的环节采集、提供、处理并发布各类定制信息,实现数据的交互流转。
5)数据同步:由于数据源众多且分散布设,当某单位采集的某个信息发生变化时,相关单位都需要尽早根据这个信息更新自己数据库中的数据。数据同步可以根据不同的业务数据的实时性需求,设置同步参数,保证关键业务数据的实时性,不会让关键数据被淹没在海量的数据流中。为了减少网络故障对数据同步的影响,数据交换系统能够在网络恢复后自动恢复同步,保证数据同步的及时稳定。
3.2 基于 J2EE 框架的数据监控与进程管理技术
运用基于 J2EE 框架的跨平台开发技术,降低了对多源异构系统开发数据监控和管理模块的复杂性,实现了对 XML,WCF,JSON 等标准数据接口的支持,提供了对现有系统的无缝集成。由于采用了 MVC 系统开发模式,把业务逻辑代码从表现层中清晰的分离出来,避免了表现层与业务逻辑层的代码混叠,实现了数据监控与管理平台功能扩充的易扩展和可持续性,简化了开发与后期维护的复杂度,拥有高性能、可靠及可扩展性的优势,能够满足未来不断增加的水务数据交换的监控和管理需求。
同时,为了减轻该平台后期运维中所需要投入的大量人力成本,我们基于 J2EE 框架开发了针对数据交换进程的智能管理程序。在该进程管理程序中模拟系统运维人员对数据交换关键环节的状态判断,对各种数据交换事件的状态情况进行智能研判,及时修正并恢复数据交换作业,最大限度减轻了系统运维人员在数据交换环节中的运维工作量。
4 系统功能的实现
4.1 统一数据交换与共享
基于统一消息中间件构成的数据总线,实现了市水务局及其局属单位、区县水务局、太湖局、国家防总、气象局等其他行业单位共 27 家单位 52 套应用系统与水务数据中心之间的数据交换与共享。
防汛数据交换方面实现了潮位预报、报汛水情、实时雨情、风速风向、积水监测、台风信息、闸泵工况、下立交积水、水务热线灾情、防洪工程数据、太湖水情、气象信息等数据的订阅和发布。
水资源数据交换方面实现了水资源取供用排多个环节相关的原水水厂、供水管网、供水测压点、供水水质、供水水量等数据的订阅和发布。
4.2 集中数据监管
为满足水务数据统一交换、集中数据监管的应用需要,基于 B/S 架构,设计了水务数据统一交换和共享管理平台,完成了交换平台、数据中心等功能模块。
在交换平台模块中,实现了对数据源端,交换端,目的端 3 个关键环节的数据采集、数据发布、交换效率、故障统计、数据交换情况统计、数据完整性、数据奇异性预警等功能。
数据中心模块中,实现对数据中心涉及的数据库运行状态、数据库配置、用户权限管理、数据交换节点注册等集中管理功能。
4.3 智能交换监控
为减轻数据中心管理人员的运行维护工作强度,专门设计了具有智能监控系统交换进程的守护程序,用于在线智能判断数据交换平台的运行情况,一旦发现数据交换平台中某一交换进程停止响应或出现其它问题,守护进程会采取相应措施,自动终止有问题的交换进程,并重新启动该交换进程程序,最大限度地保证相关数据交换的顺利进行。
4.4 面向应用的数据服务
以防汛、水资源应用为试点,针对防汛业务专题进行数据挖掘,实现了雨量、水位、风速风向、道路积水、水闸工况、泵站运行情况等相关数据的图表显示,单因子统计查询,多因子趋势分析等功能;针对水资源业务专题,实现了对水量日报、水质日报、水厂监测、供水泵站监测、管网监测、骨干河道水质评价、水功能区达标评价、河道综合指数评价等功能。面向水务业务应用提供了统一标准的数据服务和应用接口。
5 应用效果
水务数据交换和监控管理平台的建设,简化了市水务局与局属各单位之间、与区县水务局之间、与行业相关单位之间多源,异构的数据交换与共享;有效推动了信息资源的整合、共享、交换与应用;避免了由于规范标准不一、数据接口不一所带来的行业之间,部门之间的信息孤岛现象;辅助政府部门大大降低了信息化建设运维成本。
通过对水务数据交换和监控管理平台设计,对提炼出科学合理,行之有效的适合水务一体化管理需求的水务数据中心建设规范、水务行业基础数据库及其管理系统建设导则、水务公共信息平台运行维护规程等标准规范,具有促进的意义。
6 结语
本文提出的水务数据交换和监控管理平台的建设,在上海水务系统中探索了基于统一数据交换的数据总线模式实现资源整合和信息共享的新路子,对提升水务行业基础管理,提高各部门各单位的工作协同,提升政府公共服务水平起到很好的辅助作用。
[1]潘大四. 基于 XML 的异构数据库数据集成的关键技术研究[D]. 重庆:重庆大学,2004: 1-74.
[2]曹成,舒坚,蔡轲,等. 一种基于 ebXML 的数据交换系统架构[J]. 江西:江西师范大学学报 (自然科学版),2007(3): 316-320.
[3]徐俊杰. 基于 XML 的数据交换模型研究[D]. 黑龙江:哈尔滨工程大学,2006: 1-62.
[4]李冬睿. 基于 XML 与 Web Service 的电子政务数据交换模型的设计与实现[D]. 广西:广西师范大学,2008: 23-47.
[5]杨剑. 基于 XML 的异构数据交换系统的研究与实现[D].四川:西南交通大学,2005: 19-74.
[6]于大钊. 基于 Flex 与 Rest 技术的数据中心监控管理系统的实现[D]. 北京:北京交通大学,2010: 29-47.