水利信息资源元数据管理方法研究
2011-07-16唐志贤黄如春成建国卞一路顾忠国徐黎明
冯 钧 ,唐志贤 ,黄如春 ,成建国 ,韦 冕 ,卞一路 ,顾忠国 ,徐黎明
(1.河海大学,江苏 南京 210098;2.水利部水利信息中心,北京 100053)
0 引言
水利信息资源是指由水利部门或者为水利部门采集、加工、处理的信息资源,包括:水利部门依法采集的信息资源,水利部门在履行职能中产生和生成的信息资源;水利部门投资建设的信息资源;水利部门依法授权管理的信息资源[1]。随着数据采集手段和水利业务系统的不断进步,各级水利部门积累了大量宝贵的信息资源。水利信息资源主要以矢量、栅格和统计数据 3 种典型的形式存储,它们存储结构和描述方式存在许多差异,利用卫星图像来描述地理信息的遥感影像信息一般存储在 FTP 服务器上;利用矢量几何要素来描述地理信息的矢量图层通常通过 ArcSDE 管理,水利统计信息主要存放在关系数据库中。水利信息资源的上述差异导致难以用统一的方式来管理水利信息资源。
在信息领域,目录服务体系是统一管理数据资源的有效途径。水利信息资源目录服务体系通过数据源管理能实现水利信息资源在目录服务系统中的注册,利用元数据对已注册水利信息资源进行统一描述,最终实现对水利信息资源的统一管理和共享。
数据源即数据的来源,是对水利信息资源管理系统的抽象。元数据,又称元资料、中介资料,是描述数据的数据。通过数据源管理能够实现数据的注册与元数据的发现。
本文从技术角度来探讨在构建水利信息资源目录服务体系过程的数据源与元数据管理,并提出一套可行的解决方案。
1 相关研究
近年来,水利信息资源目录服务体系数据源与其元数据的管理方法一直是水利信息化领域的研究热点,主要集中在如何从理论角度用元数据来描述水利信息资源。朱星明等[2]探讨了基于数据元的水利科学数据交换,阐述了水利科学数据的数据源标准体系结构,为实现水利信息共享提供了很好的解决方案。王卫等[3]研究了水利行业基础数据应用系统的建设,未利用元数据来描述水利数据,而是直接管理各种分散存储在关系表中的水利统计信息,避开元数据直接管理具体数据不易于后期的系统维护与重构,也会造成多系统间信息共享上的困难。陈尹军[4]等分析了空间元数据格式的技术要求,引入网络环境中的标准文本格式 XML 及其相关技术,分析了基于 XML 的元数据的表达和解析。张立[5]等提出了基于“吉奥之星”GIS 软件的地理空间元数据管理模型,并将该模型应用于国家地理空间数据交换中心,规范了地理空间元数据的生产、?管理和使用流程。王卷乐[6]等提出了一种以元数据的集中存储与管理取代数据集的集中存储与管理,较好地解决了地球系统科学数据共享中的异地、异构数据共享难题。这一模式在国家科学数据共享工程试点“中国地球系统科学数据共享网”中得以尝试。目前,涉及水利信息资源数据源与元数据的管理方法主要是针对单一数据类型,且以地理空间数据较多,为此本文将从技术上研究对 3 种数据类型的水利信息资源的数据源与元数据进行统一管理的机制。
2 水利信息数据源管理框架
数据源是提供某种所需要数据的器件或原始媒体,在本文中指的是能够提供水利信息资源的原始媒体。元数据是数据源下水利资源的描述信息。
水利信息数据源管理的框架如图1 所示,本文按照水利数据的表现方式,将数据源分为关系库、遥感库和矢量库数据源 3 种类型,元数据类型分别是关系、遥感和图层元数据。水利信息数据源管理提供数据源的注册,元数据的发现、自动抽取、注册和更新等服务。其中数据源注册支持 3 种水利信息数据源的注册;资源共享用于支持对注册数据源中的数据资源进行共享;元数据自动抽取用于抽取数据源中数据资源的元数据;在数据源的数据中资源发生变化的情况下,元数据发现服务会监测到其更新,并通过元数据更新服务实现信息资源元数据的更新。
关于元数据标准,国内外对涉及水利信息资源的元数据已有大量研究,主要成果有:ISO 19115-2003[7],GB/T l9710-2005[8], SDS/T2112-2004[9],SL420-2007[10]和 SL473-2010[11]等,这些标准主要针对特定数据格式(矢量、遥感)的水利信息资源,在统一描述属性(关系库数据)、矢量和遥感数据等水利信息资源上显得不足。故本文采用笔者研究小组定义的水利信息资源目录服务元数据来描述水利信息资源。
本文将以“数据源的注册-元数据的注册-元数据的更新”为主线,分别阐述以下几个问题:1)数据源注册机制,实现数据源的注册和判重;2)元数据注册,实现元数据的发现、注册和审核;3)元数据更新机制,实现在水利信息资源更新后程序化地更新元数据。数据源管理框架如图1 所示。
图1 水利信息数据源管理框架
3 水利信息数据源管理中关键技术研究
3.1 数据源的注册
数据源相关信息主要包括数据源自身和管理机构的描述信息。通常在数据库中需要 2 张表来存放数据源的相关信息,一张存放数据源的描述信息,另一张存放数据源管理机构的描述信息。在注册数据源时,首先要判断该数据源是否已经在系统中注册,判断依据以数据源描述信息为主。对于关系库数据源,如果 IP 地址、端口号和用户名相同的关系库数据源在系统中已经存在,则该次数据源注册将会失败,否则注册成功。数据源成功注册后,为该数据源分配 1 个唯一的 ID 作为标识,其下的元数据信息将通过该 ID 与数据源关联。相关表结构设计如图2 所示。
图2 数据源注册ER图
3.2 元数据的注册
水利信息资源目录服务元数据描述的是整个水利信息资源,有部分选填元数据项。本文针对不同类型的水利信息资源,定义了相应核心可查询目录服务模式和核心可返回目录服务模式(核心元数据子项),利用元数据项子集描述特定类型的水利信息资源,达到提高系统响应效率的目的。
3.2.1 元数据的存储
按照元数据规范,完成元数据项的填写后,将会生成 1 个符合水利信息资源目录服务元数据标准的 XML 文档,为了提高目录服务发现的效率,本文将水利信息资源目录服务元数据标准的核心可查询和返回目录服务模式提取出来,存储到关系数据表中,并建立相应的倒排索引。由于水利信息资源数据类型的不同,相应的核心可查询目录服务模式也会有差异。
本文采用 2 层继承结构来存储元数据,在数据库中表现为父表和子表。父表中存放水利信息资源各核心元数据项子集的公共元数据项,子表中存放各种核心元数据项子集的特有元数据项。采用这种 2 层继承结构来存放元数据有着比较明显的优点,如果系统中新增加 1 种水利信息资源数据类型,数据库中原有表结构不需要更改,直接增加 1 个相应子表即可,具有良好的可扩展性。元数据的存储类图如图3 所示。
图3 元数据的存储类图
3.2.2 元数据的自动抽取
不同数据类型的水利信息资源具有不同核心目录服务模式和自动抽取的元数据项,为了代码的可读性和后期维护,本文采利用抽象工厂模式创建一系列标准接口,屏蔽底层实现。抽象工厂模式定义是:提供 1 个创建一系列相关或相互依赖对象的接口,而无需指定他们具体的类[12,结构如图4 所示。
Meta 是一个抽象产品,它可能有 3 种不同的实现,RMmeta,RSMeta 和 MapMeta 就是对抽象产品的具体分类的实现。
利用抽象工厂模式,不同类型的元数据的抽取任务就实现为不同的具体类,共享同一个抽象产品接口,这样就可以将具体的发现元数据实现机制屏蔽在接口之后。
3.2.3 元数据的注册
元数据的发现,方便元数据管理员查看数据源下到底含有多少元数据,只提供核心可查询和返回目录服务模式。当元数据管理员要注册 1 条元数据时,就需要根据上文中提到的元数据规范提取元数据描述信息,最终形成 1 个待审核的 XML 片段,成功审核后即完成元数据的注册。考虑到以后数据量非常庞大时,数据库可能成为性能瓶颈,所以本文将待审核的和审核成功的元数据分别存放在不同的表中。这样有利于以后利用数据库垂直分区(将不同的表放到不同的数据库服务器上)技术,以减轻单个数据库上读写压力。元数据注册ER图如图5 所示。
3.3 元数据的更新
在元数据注册成功后,它指向的真实数据可能会发生变动,比如关系表的字段数、记录条数,所以需要定时进行元数据描述信息的更新。
3.3.1 元数据的更新依据
如何判断元数据是否应该更新,这也是应该考虑的问题。对于关系库数据源,判断依据为表的最后一次 DML 和 DDL 时间;对于遥感库数据源,判断依据为遥感影像文件的修改时间;对于矢量库数据源,判断依据是图层信息的修改时间。
3.3.2 元数据的更新策略
本文采用自动和手工 2 种方式来更新元数据信息。在系统启动时,开启 1 个后台线程,定时扫描已注册了数据源的水利信息资源,如果符合更新条件,则更新该资源的描述信息。定时线程的更新时间一般定在凌晨以后系统负载比较小的时候,这样不会影响用户正常访问系统。当然元数据管理可以手工触发更新操作,粒度可以到达数据源下的某具体的资源(1 张数据库表、遥感影像或矢量图层)。
3.4 应用实例
水利信息资源目录服务体系的数据源与元数据管理机制,根据国家水利数据中心水利信息资源目录服务系统对水利信息资源管理的基本要求制定。水利信息资源目录服务系统管理水利资源数据分中心信息资源涉及的水文、水质、水资源、水利设施(空间)、土壤侵蚀、灌溉、水能资源调查、农村水电 8 个专题信息库,涵盖了属性、矢量和遥感影像数据等类型的水利信息资源。目前,本文提出的管理方法已经成功地运用到水利信息资源目录服务系统中,实现对属性数据、矢量图层和遥感影像等类型的水利信息资源的数据源注册,元数据发现,元数据自动抽取和更新功能。在数据源注册方面,能够实现上述 8 个专题库中 3 种数据类型的数据源注册;资源共享服务能够实现对上述 8 个专题库中属性数据(关系数据库与数据表)、遥感影像数据和矢量地图等数据资源的共享;元数据自动抽取能够自动地抽取出属性数据中关系数据库的联系信息、关系数据表的表结构、库表的中文名称,遥感影像数据的波段、投影参数、坐标参数、时空范围、分辨率,矢量地图的时空范围、几何数据对象等元数据项;元数据更新服务能够在监测到上述数据资源变化情况后,自动或手工抽取变化后的元数据,并进行元数据的更新。本文的数据源与元数据管理机制在水利信息资源目录服务系统的应用表明,本文提出的管理机制能够很好地管理水利信息资源的数据源和元数据,并为目录服务体系提供基础。
图4 抽象工厂模式结构图
图5 元数据注册ER图
4 结语
本文主要讨论了水利信息资源的元数据管理方法,提出了一套初步的解决方案,该方案在水利信息资源目录服务系统中应用表明,本文提出的元数据管理方法是有效可行的。
为了实现更广泛的水利信息资源共享与交换,围绕水利信息资源元数据还需要做以下工作:1)研究面向水利行业的元数据检索体系,以进一步推动水利信息资源的共享与交换;2)研究元数据的交换机制,以实现不同目录服务系统间元数据的交换。
[1]朱跃龙,许峰, 冯钧 ,等. 水利信息资源目录体系构建研究[J]. 水利信息化,2010 (1): 4-8.
[2]朱星明,耿庆斋,王冠华,等. 数据元技术在水利信息资源管理中的应用初探[J]. 水利技术监督,2007 (5): 1-3.
[3]王卫,蒋真毅,李瑜,等. 上海郊区水利行业基础数据库及应用系统建设的实践与探讨[J]. 工程地质计算机应用,2006 (3): 23-29.
[4]陈尹军,卞正富,王一冒. 基于 XML 的地理空间元数据管理[J]. 海洋测绘,2009, 29 (5): 64-66.
[5]张立,龚健雅. 地理空间元数据管理的研究与实现[J]. 武汉测绘科技大学学报,2000, 25 (2): 127-131.
[6]王卷乐,陈义华. 基于元数据管理的地球系统科学数据共享研究[C]//中国地理信息系统协会第八届年会论文集.北京:科学出版社,2004: 107-111.
[7]US-ANSI. ISO 19115-2003, Geographic information-Metadata[S]. 2003.
[8]国家基础地理信息中心. GB/T l9710-2005 地理信息 元数据[S]. 北京:国家质量监督检验检疫总局,2005: 6-40.
[9]国家信息中心. SDS/T2112-2004,科学数据共享元数据内容[S]. 北京:中华人民共和国科学技术部,2005.
[10]武汉大学. SL 420-2007,水利地理空间信息元数据标准[S]. 北京:中国水利水电出版社,2007: 1-95.
[11]中国水利水电科学研究院. SL 473-2010,水利信息核心元数据[S]. 北京:中国水利水电出版社,2010: 1-45.
[12]余亚翔. 抽象工厂模式[EB/OL].[ 2010-11-12].http://baike.baidu.com/view/1580269.htm.