广东省水利普查数据库与信息管理系统设计
2012-08-15李海彬徐林春练伟航
黄 东,李海彬,徐林春,练伟航,郑 泳
(广东省水利水电科学研究院,510635,广州)
第一次全国水利普查获取了海量的水利信息数据,如何有效管理、充分展示和深度发掘利用这些来之不易的数据和信息,满足水利行业内外应用与共享服务的需求,推进水利信息化建设,是各级水利部门和普查机构目前迫切需要思考的问题。
传统数据库的紧耦合信息资源整合模式,存在标准化程度不高、开放性差等缺点。面向服务体系结构(Service Oriented Architecture,SOA) 具有松耦合、标准化、开放性、跨平台等优点,目前广泛地应用于企业级应用开发领域。本文探讨了基于SOA架构的省级水利普查数据共享与应用服务框架,利用Web Service及其扩展技术、组件技术和Net技术,初步构建了一个广东省水利普查数据共享与应用服务平台,为实现水利普查数据的高效管理、充分展示、科学分析和辅助决策打下基础,为省级水利普查机构进一步开发应用水利普查数据提供参考。
一、SOA的技术特征分析
SOA是一种软件体系结构。该结构由服务提供者、服务请求者及服务代理3个部分组成。服务提供者向服务代理发布服务,服务请求者通过服务代理查询获悉服务提供者信息,向服务提供者请求服务,服务提供者响应并进行服务绑定,对服务请求者进行服务。
Web Service作为实现SOA的主流技术,利用XML作为数据格式保证了Web服务的平台、语言无关性;SOAP通过HTTP协议承载由XML格式化的消息实现Web服务的访问;WSDL则利用 XML规范对 Web服务进行定义、描述;UDDI实现Web服务的发布、发现与管理。服务提供者在UDDI注册中心发布以WSDL形式描述的服务,服务使用者使用服务时,在UDDI注册中心查询获取服务的WSDL信息,并依据WSDL信息通过SOAP协议与服务提供者进行消息通信,实现服务的绑定与调用。
二、水利普查数据共享与应用服务平台框架
广东省级水利普查数据共享与应用服务框架由数据层、传输层、资源层、平台层、应用层及服务层组成。整个框架以服务为中心,数据资源以Web服务方式提供各类应用。应用通过数据共享服务平台请求数据,以屏蔽底层数据的复杂组织以及实现环境。同时,共享服务平台通过控制各类应用的访问权限,保证了数据分发的安全性。水利普查数据服务提供者、服务代理以及服务使用者构成了水利普查数据共享与应用服务框架的三类角色。
1.数据层
水利普查数据内容众多,数据层的任务是建立起支撑水利普查数据共享与应用服务运行的水利普查成果综合数据库 (基础数据库和空间数据库),包括水利普查成果数据的获取、建库与更新。
2.传输层
主要指共享与应用服务运行的网络环境,包括省、地、县三级互通的行业内网(三防网),以及用于各级政府的政务网。其中,三防网用于行业内各级数据的共建共享,政务网用于同级行业之间数据的共建共享。
3.资源层
资源层旨在整合省、地、县三级的水利普查数据及相关信息资源,它以广东省、地、县三级的水利普查数据资源为基础,其他水利相关业务数据为辅助,省级水利数据中心为支撑,建立水利普查数据资源目录和管理体制,实现对全省水利普查数据资源的统一存储、统一管理和统一调度。
4.平台层
平台层即在数据层、资源层之上构建一个数据共享及应用服务平台。平台层具有两类角色,一类是服务的提供者,一类是服务的代理。作为服务的提供者,为应用系统提供数据服务调用接口。作为服务的代理,注册并发布服务,对应用系统提供服务调用方法。数据中心和数据子节点在数据层对空间数据组织和管理模式不必一致,在平台层开发相应的应用服务中间件,将基于空间数据的空间查询、空间分析、空间计算、空间制图等功能封装为Web服务并注册、发布。
5.应用层
水利行业内及行业外如国土、环境、交通、公众等部门或领域在服务层的支持下和相应用户权限允许下,通过对数据服务接口的调用,便可获取水利普查成果数据,建立如省级水利设施效能评估、流域(库区/灌区)监测与综合管理、水土保持监测与管理、水利普查成果查询展示服务等应用系统,最终建立多主题的流域辅助决策支持系统,全面提升数字流域管理与服务的能力。需要指出的是,通过服务层,应用部门不但可以访问其他部门数据,同时也可以将其私有的数据以服务方式发布给其他部门使用。
6.服务层
服务层主要将数据以服务的方式提供给用户使用,包括行业内及行业外应用两种形式,为保证数据的安全性,针对不同用户将采用服务加密处理,降低数据泄密的风险。
三、平台实现及主要功能
1.数据库及其管理系统
(1)数据库建设
①以 “第一次全国水利普查数据处理上报系统 (省级)(广东省)”(以下简称“上报系统”)导出的水利普查数据为基础(excel格式),重新设计数据库表结构。
②依据《水利工程基础信息代码编制规定》(SL213—1998)、《广东省水利信息与编码规范》,完成水利普查对象的工程编码规则编制,明确水利普查数据库与水利数据工程代码的转换关联关系。
③将沿用水利普查空间数据采集与处理现有图层,在国家标准规范的基础上对空间数据库图层数据及结构进行扩展,以支持相应的功能扩展。
(2)数据库管理系统
利用C#语言,基于ArcGIS Engine 10组件库和oracle 11g数据库软件,开发了C/S结构的数据库管理系统,实现基础数据属性指标与空间信息的关联整合,达到水利普查基础数据和空间数据的数据入库、管理维护和应用服务的无缝衔接。
数据库管理系统由数据入库、数据浏览、数据编辑、数据查询、数据统计、数据导出、数据更新、数据脱密处理、服务发布、数据切片、数据备份、运行维护管理组成。
2.数据共享与应用服务平台
利用Java语言,基于J2EE三层架构体系、ArcGIS Server和 Web Service接口,开发B/S结构的水利普查数据共享与应用服务平台。水利普查数据共享与应用服务平台总体架构主要由服务系统和运维管理系统组成,主要实现发布管理、数据共享、属性服务、操作监控等功能。
平台以服务的方式提供水利普查信息资源的共享,主要包括地图服务、功能服务、属性服务等,是相关应用系统的数据信息来源。
用户通过平台,可了解到当前可以使用的各种服务,通过服务的申请及审核,可以直接获取到相应的服务,既保证了数据的安全性,又保证了数据的实时性和一致性。
3.水利普查成果展示及分析系统
利用微软C#及XAML语言,使用微软最新silverlight5开发技术,基于 ArcGIS Server for silverlight API,开发了B/S结构的水利普查成果展示系统。通过向水利普查数据共享与应用服务平台申请服务完成水利普查成果的综合展示和数据分析。主要功能分为成果展示和数据分析两方面:①结合空间信息技术,将普查对象的数量、分布等情况进行空间展示以及图表形式的分析统计。②系统分析依托matlab强大的数值计算、数据分析及算法开发功能,利用其自带工具箱将matlab算法编译成C#可执行文件供系统调用,使系统具备双样本均值检验、回归分析、聚类分析等数值分析功能,实现水利工程效能、水资源利用现状等多方面的评估分析。
4.“数字武江”典型应用系统
以第一次全国水利普查数据为基础建设的典型应用系统,其建设目标是集成多主题流域信息,服务于流域综合管理决策,尤其为武江流域的防洪指挥调度提供支持,为政府、相关部门及用户提供现代化的信息数字支持。
主要由流域信息管理子系统和防洪决策支持子系统组成。流域信息管理系统功能主要包括水利普查数据在内的数据输入、查询、统计分析更新、维护和输出等。防洪决策支持子系统功能主要包括洪水演进模拟、洪水调度、洪水淹没损失分析、防洪形势分析等,从而达到防洪指挥调度辅助决策的作用。
四、结 语
广东省水利普查数据共享与应用服务平台在充分了解不同层次、不同用户的应用需求的基础上,实现了水利普查成果数据的有效管理和充分展示,为科学准确分析广东省水利发展现状和未来发展趋势提供了现代化的手段。
该平台基于SOA架构和WebService技术,提供了一整套从前端海量普查数据存储、发布与共享,到后端业务应用系统的定制与服务的完整解决方案,是一个全开放的系统,在各地水利普查数据共享与应用平台建设中具有很大的推广价值。
[1]程忠庆.基于SOA与Web服务的后勤信息资源整合框架研究[J].计算机与数字工程,2009(1).
[2]吴建斌.Web Services平台体系结构的研究 [J].计算机工程与科学,2005(10).