上海水务数据中心建设规范的设计与研究

2012-07-16 05:55龚岳松李静芳吕文斌
水利信息化 2012年3期
关键词:水务测站数据中心

龚岳松,李静芳,吕文斌,李 佼

(上海市水务信息中心, 上海 200050)

0 引言

近年来,上海水务部门陆续开展了大量信息化建设工作,建成了涵盖供水、排水、水利 3 大行业,具有防汛指挥、水资源管理、水环境治理、水务工程管理等业务功能的近 50 余套信息系统,累积了从 1998 年以来超过 4 TB 数据量的多比例尺和时相的数字地形图、遥感影像及实时数据资料。这些系统的建设和数据资料的累积,既为上海建设“智能水网”奠定了翔实的数据基础,又对如何梳理、规范现有多源异构数据,整合归并形成能够满足上海水务行业需求的核心数据提出了新的要求。

为规范各单位信息系统的水务数据,设计了能够对上海水务多源、多态、海量数据进行规范整合的水务数据中心建设规范,以期为上海市水务局局属各单位数据库的建设提供参考和借鉴。

1 问题的提出

上海市水务局现有各单位的信息系统由于建设时间、设计理念和施工单位不同,其技术路线、系统架构、数据库结构也各不相同:存在 C/S 与 B/S 多种系统架构,Java,.Net 与其他工业组态软件多种技术路线,SQL Server,Oracle,SyBase,DB2,Foxpro 等多类数据库,数据多源异构、技术路线差异极大,难以实现全市水务行业高效的数据交换及共享。

以实时雨量为例,水务数据中心的数据主要来源于上海市气象局、水文总站、排水公司,以及区县防汛和水文部门等单位。各单位实时系统的雨量测站编码、报数及其雨量计算规则均差距很大,需要按照统一的计算规范和编码规律进行规范整合,各单位雨量测站编码及计算规则如表1 所示。

同时,在水务数据中心未建设之前,各单位信息系统及数据库之间采用的数据交换主要是传统的“点对点交换模式”,即应用系统之间数据库直连的紧耦合交换模式。由于这种数据交换模式需要对两端系统进行源码级开发,会对原有系统稳定性产生一定影响。随着交换单位需求越来越多样,数据交换的复杂度也会与日俱增,数据交换将由一对一变成一对多甚至是多对多,相应的数据交换规则和程序开发量将呈几何倍数增长,最后形成蛛网状。这种交换模式既难以开发也难以维护,改动一点,可能导致数据交换甚至业务系统的瘫痪,将很难适应水务发展需求。

表1 各单位雨量测站编码及计算规则表

2 设计与研究

为实现水务行业内各部门、水务与其它行业之间,统一和有效的数据共享、联动、更新机制,从数据中心结构、命名规则、交换与服务等方面进行深入研究和设计,形成了 1 套满足全市水务行业需求的水务数据中心建设规范,并在 “数字水务”一期(上海市水务地理信息应用系统)工程中得到实际应用,取得较好的效果。

2.1 设计了“三层多类”的数据库架构

从数据交换与共享,便于日常系统运维和原始数据保存等方面考虑,提出水务数据中心数据库结构按照“三层多类”进行设计[1]。水务数据中心逻辑结构图如图1 所示。

图1 水务数据中心逻辑结构图

“三层”指基础、核心数据,以及数据仓库等3 部分;“多类”指监测监控类、基础设施类、政务办公类和元数据类等数据。

其中,基础数据部分位于水务数据中心最底层,用于存储来源于各单位的基础数据,实现与原始数据表结构保持一致的原始数据的快速存储,确保水务数据中心先有原始数据的需求。

核心数据部分位于水务数据中心中间层,按照水务业务逻辑,经过对基础数据进行规范、分类、归并和加工后形成核心数据。实现对原始数据进行分类、规范、整合、运算和逻辑等二次处理,形成具有统一计量单位数据的集中存储,满足统一计量的数据准确性、一致性需求。

数据仓库部分位于水务数据中心顶层,按照不同的业务应用对核心数据进行分析、挖掘后,形成面向政府和行业管理应用的决策支持数据。实现对按照不同行业专题应用,经过分析、挖掘形成的具有决策支持、行业分析作用数据的存储,满足集中调用、统一口径的综合管理应用需求。

2.2 定义了各类数据的命名规则

2.2.1 提出了规范的数据库命名规则

以大写拼音首字母缩写命名,长度不超过 20 位。例如:水务数据中心数据库的名称为SWSJZX。

2.2.2 提出了统一的数据库对象命名规则

数据库对象包含数据表、视图、函数、主键、外键、存储过程、索引、触发器等 8 类。其中,数据表、视图、函数、主键、外键的命名由对象前缀和描述符 2 部分组成,存储过程、索引、触发器的名称,由对象前缀、描述符和动作标识符 3 部分组成。总长度不超过 30 个字符。

水务数据中心对象前缀对应如表2 所示。

对象描述符用于描述数据库对象内容,使用大写英文字母、阿拉伯数字及下划线,通常以数据库对象内容的全拼或拼音首字母组成。

表2 数据库对象前缀表

动作标识符用于标识触发器和存储过程的动作,共有 6 类,具体如表3 所示。

表3 数据库对象动作标识符表

数据库对象命名规则如表4 所示。

2.2.3 提出了数据字段的命名规则

数据字段由字段前缀和描述组成。根据水务数据中心现有存储数据的类型,规定数据中心可以存有字符型、数值型、日期时间型、二进制型等数据。字段前缀规范如下:ST 表示字符型,NM 表示数值型,DT 表示日期时间型,BB 表示二进制型。字段描述仅限使用大写英文字母、阿拉伯数字及下划线,以字段内容的大写英文全拼组成,涉及到布尔型的数据用字符型进行规约。具体如下[2]:

1)字符型。数据格式主要用来描述非数值型的数据,只具有描述意义,不能进行数学计算。如河流名称等,以格式 C(d)表示,其中,C 为类型标识,用来描述字符型数据格式;d 为十进制数字,用来描述字段最大可能的字符串长度。涉及到判断是否状态的数据类型由字符型 C(1)代替,其中,字符串“0”表示状态为假,英文状态为 False;字符串“1”表示为真,英文状态为 True。

2)数值型。格式为 N(D [, d]),其中:N 为类型标识,用来描述数值型数据格式;[ ]标识小数位数可选;D 为十进制数字,描述数值型数据的位数;d 为十进制数字,描述数值型数据的小数位数。数值型数据格式用来描述 2 种数据,一种是带小数的浮点数,一种是整数。

3)日期时间型。数据格式用“D”表示,用来描述日期时间有关的数据。采用公元纪年的北京时间,如 2005 年 1 月 1 日 08∶08∶08。

4)二进制型。数据格式为 B,用于存储诸如视频、图片、声音等大容量多媒体数据。每条数据存储容量要求不超过 4 GB。

2.2.4 统一设计了实时类测站编码和属性表

实现对多源异构、不同信息系统测站编码和类型的兼容与统一,规范了相关测站属性的字段定义。为解决来自于不同单位和应用系统测站编码规则不一致、编码细粒度不一的问题,在水务数据中心中设计了具有向下兼容的实时数据测站属性表,如表5 所示。

表4 数据库对象命名规则表

表5 测站属性表(TB_STATION )

对测站属性表编码作如下统一规定:测站编码字段细粒度按照测站地理位置及来源单位进行编码,同一来源单位、地理位置的测站对应唯一测站编码,不同来源单位、同一地理位置的测站对应不同测站编码。测站编码字段由 8 位长度的字符串组成,前 2 位大写英文字母表示来源单位,通常以单位前 2 位首字母大写拼音缩写构成(例如:水利处为 SL,堤防处为 DF,水文总站为 SW,供水处为GS,排水处为 PS,东海分局为 DH,海事局为 HS等,以此类推);后 6 位由大写英文字母和阿拉伯数字组成,与来源单位测站编码保持一致,长度不足8 位的,在来源单位测站编码前补“0”(例如:水文总站水雨情实时数据中黄浦公园测站编码为2021,在水务数据中心相应测站编码为 SW002021;浦东新区水文署白莲泾套闸测站编码为 HFA510,在水务数据中心相应测站编码为 PDHFA510)。同一测站具有多种类型传感器(例如:水位、雨量、风速、风向、水闸、泵站)的,按照同一测站编码编制。同一测站编码允许在不同类型实时数据表中关联,测站类别由 ST_TYPENAME 和ST_SUBTYPENAME 2个字段进行控制。

2.2.5 分类设计了实时类数据表

按照现有数据中心存储的数据情况,设计了实时类数据表共计 15 张,列举的一些实时数据的表结构如表6 和 7 所示。

2.2.6 参照标准命名了基础类数据的字段名

基础类数据的字段命名参照上海市地方标准DB31/T 362.1-3《水务信息管理标准》[2-4]执行,分为水利、供水、排水 3 部分信息,共计 46 张表,部分河流表格如表8 所示。

表6 实时水位监测表(TB_SHUIWEI)

表7 实时雨量表(TB_YULIANG)

表8 河流表

2.2.7 规范了政务办公类数据、元数据类的字段命名规则

规范后的政务办公类数据(3 类共计 28 张表)和元数据类的字段命名规则:字段前缀+字段描述。

2.3 规范了数据交换流程和服务方式

为了解决以往局属各单位之间网状数据交换带来的管理混乱和资源浪费,研究了规范的数据交换流程,提出以 Web Service 数据服务形式提供基于JSON 和 XML 格式的标准接口支持。规范了同构和异构系统间进行信息共享、数据交换的方法,形成了系统之间数据交换的标准,规范并统一了数据交换中数据采集、发布、交换、路由、同步等各环节。

1)数据采集。各单位实时数据通过水务公共信息平台经由数据抓取、甄别、汇聚、规范和整合等过程,以统一规范的格式汇集到水务数据中心。

2)数据发布。各单位可以根据各自需要定制所需业务数据,该平台按照数据属性、目的地、归属单位等条件,进行相关组合,并根据这些定制信息进行数据发布。

3)数据交换。通过统一消息中间件建立数据订阅和发布单位之间的信息隧道,支持同步和异步交换方式,实现各单位之间多源异构数据的业务逻辑、数值转换、数据统计和规范整合,使各信息系统之间的信息能够更方便地共享和交互。

4)信息路由。水务业务流程复杂,涉及多个单位的协同,这些流程对协同办公要求较高。在这些流程里,在不同环节调用不同来源、存放在不同数据库中的数据,都需要交换系统具备信息路由功能,在具体业务流程的运行中,配合相应的 1 个或多个系统,在不同的环节采集、提供、处理并发布各类定制信息,实现数据的交互流转。

5)数据同步。由于数据源众多且分散布设,当某单位采集的某个信息发生变化时,相关单位都需要尽早根据这个信息更新自己数据库中的数据。可以根据不同的业务数据的实时性需求,设置不同的数据同步参数,保证关键业务数据的实时性,不会让关键数据淹没在海量的数据流中。

在不改变原有系统的情况下,设计了对多源异构数据进行数据交换的 3 步骤:数据订阅:集中处理:路由发布,具体如图2 所示。

图2 多源异构数据交换的3个步骤

水务数据中心对外提供基于 Web Service 方式的数据服务,包括 XML 和 JSON 等格式。访问数据服务时,须经过系统身份验证,具有访问权限的用户可获得相应的数据服务。数据服务如表9 所示。

表9 数据服务一览表

2.4 提出了 3 级容灾备份机制

水务数据中心应采用“在线热备、本地冷备、异地灾备”的 3 级容灾备份机制开展容灾备份工作。局属各单位重要系统的数据级异地灾备放在水务数据中心。

3 关键技术

1)提出“三层多类”的水务数据中心架构。从数据库层面对数据分类、命名规则、库表结构、数据存储和冗灾备份等内容进行规范,形成的水务数据中心建设规范,具有科学性、合理性和可操作性, 能够满足多源、多态、海量数据的科学分类、集中存储和分级维护要求。

2)提出具有良好包容性的测站编码规则。在不改变各类实时信息系统原有测站编码规则的前提下,实现了水务数据中心测站统一编码的包容性、唯一性及与原编码规则的一致性;提出同一来源单位、地理位置测站对应唯一编码,不同来源单位、同一地理位置的测站对应不同编码的命名规则。截至目前,已在水务数据中心内有效汇聚、整合和统一了来自水利、供水、排水、水文、气象、海洋、海事等 10 多个行业(部门)、40 多套系统近万个实时测站的编码。

3)运用 Web Service 技术,实现了基于 JSON和 XML 格式的数据服务规范接口。在不改变原有数据库和信息系统的情况下,有效解决了多源、异构和海量数据的交换和共享。通过运用 Web Service 服务,解决了异构数据库之间的互通互访,绕开了多家应用单位直接访问数据中心数据库表所造成的数据库运行稳定与安全等问题,使得水务系统内的重要数据库和信息系统能够有机地关联协同和共享。

4 应用效果

水务数据中心标准规范的研究成果已被“数字水务”一期工程项目采用,并在水务数据中心、公共信息平台建设和运维中发挥了实际作用。同时,通过不断完善和深化,在“1 张图”水务综合管理应用系统中,采用 B/S 架构、REST API 轻量级开发模式,应用地图服务、地图熔享、高速缓存、时空 GIS等新技术,进一步提高了水、雨、工、灾情信息的准确性,及时性,稳定性。在防御 2011 年第 9 号台风“梅花”及多次短历时暴雨中,上海市防汛指挥部根据该平台提供的决策支持进行现场指挥。据统计,台风“梅花”期间,水务公共信息平台的访问量达 8.2 万多次。

对外提供的多项基于 Web Service 方式的数据服务,在不改变原有数据结构的基础上,优化了对多源异构数据的跨库表访问方式,简化了数据共享与交换的难度,实现了对原有系统的零改造,考虑了跨部门、行业数据共享的访问权限控制,在上海迪斯尼工程项目、市堤防处、市绿化局等应用系统中得到实际应用。

5 结语

上海水务数据中心建设规范的设计研究,研究成果与水务信息化现状紧密结合,具有较强的可操作性,在水务数据中心、公共信息平台和行业基础数据库建设中得到实际应用;对于提升上海水务行业信息化管理,规范全局数据库和信息系统建设和运维具有参考价值;对推进资源整合、信息共享,规范系统运维,形成数据更新机制,具有指导意义。

[1]龚岳松,吕文斌,李佼. 水务数据统一交换管理平台设计与实现[J]. 水利信息化,2011 (5): 21-25.

[2]胡传廉,王华杰,郑晓阳,等. DB31/T362.2-2006 水务信息管理 第 2 部分:数据属性定义[S]. 上海:上海市质量技术监督局,2006: 1-23.

[3]胡传廉,王华杰,郑晓阳,等. DB31/T362.1-2006 水务信息管理 第 1 部分:分类与编码[S]. 上海:上海市质量技术监 督局,2006: 1-7.

[4]胡传廉,王华杰,郑晓阳,等. DB31/T362.1-2006 水务信息管理 第 3 部分:图示符号[S]. 上海:上海市质量技术监督局,2006: 1-11.

[5]王华杰,郑晓阳,俞清. 上海市水务管理信息标准的研究与应用[J]. 中国水利,2006 (11): 48-50.

[6]张欣. 水务数据库标准化体系研究[J]. 三峡环境与生态,2009 (4): 55-59.

猜你喜欢
水务测站数据中心
GNSS钟差估计中的两种测站选取策略分析
酒泉云计算大数据中心
智慧水务在大港油田水务供水管网漏损控制方面的运用分析
浅析数据中心空调节能发展趋势
全球GPS测站垂向周年变化统计改正模型的建立
测站分布对GPS解算ERP的影响分析
基于NB-IoT的智慧水务建设探讨
水务工程项目设计采购施工总承包管理模式探讨
富阳:启动智能水务
基于云计算的交通运输数据中心实现与应用