Geotoday

今日地质

基于 WCF的地质矿产数据集成管理系统的设计与实现

矿产资源与能源遥感探测数据从数据类型上包括属性、空间、文本、多媒体等多种信息类型;从学科类型上包括遥感、地理、地质、地球物理、地球化学、矿床学等业务数据;从数据来源上包括数据资料数据、影像数据和矢量数据。从数据的这些特点可以看出,不同的学科数据来源不同,数据采集的设备不同,数据处理的平台不同,数据存储的格式也不同,而随着网络技术的发展,不同来源的数据越来越多,数据量高速膨胀、网络异构化程度加深,不同行业、部门和单位根据各自不同的应用需求而建立了相应的“孤岛”数据,这些数据具有各自不同的数据来源和数据结构,在一定程度上加剧了数据的破碎性。

由于信息孤岛现象的存在,造成了大量的数据冗余,以及信息资源无法共享,这严重影响了对地质矿产数据相关应用的发展。随着数据共享需求的不断增加,多个分布异构数据源的信息共享和互操作也变得更加重要,实现数据共享,消除信息孤岛,成为目前急需解决的问题。而数据集成正是解决信息孤岛现象的有效途径,通过数据集成,有效屏蔽了不同来源数据的分布性和异构性,整合了不同来源的数据,从而提高了数据利用的效率。

数据集成技术经过几十年的发展,传统的静态数据仓库集成方法已逐渐被淘汰。针对当今企业资源信息的动态变化,面向服务的数据集成技术凭借其安全可靠、集成效率高以及良好的跨平台性等特点,已经成为近几年数据集成领域的研究热点。作为针对某一领域的数据集成,地质矿产数据集成的研究同样以上述数据集成方法的发展和应用为基础。国内外学者不同程度地实现了地质矿产数据的集成共享服务,所采用的方法多为基于Web Service技术的面向服务数据集成。

Web Service为分布式、异构的平台应用提供了很好的解决方案,以往的分布式技术也有很多会涉及到该技术应用。在构建一个分布式系统之前,我们就得确定使用何种技术,并且需要考虑到今后的扩展。但是,如果不编写大量自定义基础结构,就很难实现“即插即用”的分布式API。例如,如果使用了.NET远程处理API构建的系统,而后希望改为 Web服务的解决方案,那么就需要重新编写代码。因此,面 对多种分布式技术的选择以及 Web Service技术所带来的不足,我们急需一个能够解决这些问题的新技术。

与 Web Service技术不同,微软的新一代通信技术WCF集成了微软的.NET Remotion、MSMQ和 Web Service等技术,提供了统一的技术框架,能够更好地实现分布式系统下的数据交互,逐渐成为异构系统数据交互实现的常用技术。本文拟采用WCF技术以服务的方式实现地质矿产资源数据与矿产资源评价系统的数据应用集成。

1.WCF技术简介

WCF(windows communication foundation)是一个在Windows平台下用于建立和运行面向服务应用程序的基础框架,作为微软.NET框架3.0中面向服务应用领域的一项新技术,WCF整合了ASP.NET Web服务(ASMX)、增强Web服务扩展(WSE)、.NETR emoting、企业(enterprise service)和微软消息队列(MSMQ)等分布式处理的编程技术。

WCF对分布式处理的性能进行了优化,与传统的Web Service相比有了很大的提高,同时具有Web Service的优点并弥补了它的缺点。使用WCF,我们可以使用大量的技术来将服务公开给调用者。一个相同的服务,可以使用各种TCP协议来构建一个内部调用的应用程序,也完全可以使用基于Web服务协议进行公开发布,使得外部调用者可以利用其功能,而不用考虑编程语言和操作系统。

WCF采用了SOA的体系结构,是专门用于服务定制、发布与运行以及消息传递和处理的一组专门类的集合,它将定义的专门类以服务的方式公布并运行,以便客户端对服务进行调用。

WCF服务由服务类、宿主和终结点三部分组成。服务类包括服务契约、操作契约和数据契约,通过对相应契约中不同方法的定义,向外界提供服务。宿主是一种应用程序域和进程,是服务运行的环境,服务可以运行在ASP.NET、EXE、WPF、COM+等宿主程序中。终结点由地址、绑定和契约组成,地址描述了服务采用的通讯协议、服务所在主机的位置、端口以及服务的标识,客户端通过地址来找到具体的服务。绑定定义了客户端与服务端之间通讯的协议以及通信的细节,描述的是如何发送消息。契约说明服务提供的操作和数据交换的格式,客户端可以通过终结点访问并调用 WCF服务。

2.数据集成管理系统的设计

由于地质矿产数据具有异构多源、海量时空数据关系复杂、来源广的特点,因此对其进行科学管理,必须综合考虑数据的内容以及数据之间的关系,建立合理的数据模型,使数据具有整体性、完整性和共享性,以减少数据的冗余。

数据管理系统主要存储和管理全球重要矿产资源遥感与能源遥感探测评价业务示范区所需的共性产品(多源卫星数据)、探测与评价所需的地质、矿产、地理等多尺度基础数据,以及生成的遥感探测与评价专题产品并提供服务。此外,还包括元数据库管理、数据字典管理以及基础数据的查询检索。

针对以上需求,本系统由数据源、数据层、服务层和应用层组成(图1),其中数据源提供原始异构数据,是系统的数据基础。在数据预处理模块的支持下,成功对原始数据进行转换和处理,使得原始异构数据在数据结构、数据组织、数据表达间保持一致。数据层主要包括基础数据库(影像数据库)、操作数据库、矢量数据库、元数据库和成果数据库,这5个数据库构成统一的中心数据库。数据层主要的功能是将转换后的数据存储在中心数据库相应的数据库中,为数据服务提供数据基础。服务层是基于WCF技术,在统一的数据模型基础上,面向业务应用系统提供统一的数据服务接口层,最终实现数据与系统的解耦,同时为系统提供数据支撑。


2.1数据源

2.1.1数据资料库

数据资料库中的数据大多是未建库或者初步建库的数字化文件或文件数据库。因此,数据资料库中的数据一般无法直接用于业务应用或信息服务,但数据资料库是业务应用系统重要的数据来源。对于业务应用,数字化资料往往是下一步调查、勘察和综合研究工作的基础,因此需要实现数字化资料的统一存储、管理和检索查询。

数据资料库以Oracle空间数据存储方式存储这些数据,并保留其原始格式、坐标、投影等信息。在数据服务层,针对数据资料库,提供数据读写API:RDBMS、WCF接口,数据资料库支持关键字、名称、范围等方式的浏览、查询和检索。

2.1.2 XML文件

通过XML文件,针对多源矿产资源数据的特点及相关元数据标准规范,以中国地质调查局发布的《地质信息元数据标准》为基础,对元数据进行定义,对矿产资源信息的标识、质量、内容、空间参照系、分发、引用等信息进行描述。

系统中的元数据主要有影像元数据、矢量元数据、DTM元数据等,不同的元数据格式不同,将分别设计。对元数据的存储是业务应用模块和查询检索实现数据调用、定位的基础。

2.1.3数据预处理模块

数据的预处理是实现数据集成的关键,在数据预处理的过程中,对数据资料库中的数据进行数据的加工整合,同时通过标准数据读写接口将整合后的数据存储到数据库中。数据预处理的过程可概括如下。

(1)数据预处理和整理

由于原始数据通常在数据结构、数据组织、数据表达上和用户最终的信息系统不一致,需要对原始数据进行转换与处理,如投影变换、格式转换,以及数据的裁切、镶嵌、拼接等处理(图2)。


数据整理后进行分层可以基于ArcGIS软件进行。对于需要进行坐标变换,投影变换,格式转换以及数据的裁切、镶嵌、拼接等处理的数据,一般首先进行这些变换和处理,然后再进行数据的分层处理。数据分层一般遵行项目制订的数据标准、国家标准和行业标准。

一般数据格式基于ArcGIS的数据互操作模块进行,该模块是基于FME的空间数据互操作扩展模块,可处理绝大多数常见的空间数据格式。对于Map GIS格式的数据,例如部分基础地理数据和专题数据、基础地质数据、地质环境数据,由于其数据特殊性,需要利用专业Map2Shp专业软件,转换成Shp文件格式,以保证数据转换精度和完整性。

投影变换(project)是将一种地图投影转换为另一种地图投影,主要包括投影类型、投影参数或椭球体等的改变。ArcGIS软件中包括栅格和要素类两种类型的投影变换,利用ArcGIS软件进行相应的投影转换,其中对栅格数据进行投影变换时,要进行重采样。

根据统一的数据模型,利用相应应用工具,实现不同结构的数据交换,此方法不用定义特殊的接口,且数据不需要有内部描述就能被交换和处理。

(2)数据整理

数据整理基于原始数据格式,使用各自的软件来整理和处理,主要是对预处理完成的数据进行标准化整理,修改其命名、编码和属性字段等编码,对数据库中的内容应用数据管理工具进行统一的编码和命名处理。

(3)数据入库

对整理完成的数据进行入库。

2.2数据层

数据层提供数据的存储与访问功能,一部分对实际系统数据进行存储,另一部分则是系统中各类数据描述的集合。该层基于Oracle11g数据库,实现了系统数据的统一存储、管理。

中心数据库主要以上层的矿产资源与能源遥感探测评价系统为服务目标,为具体应用提供全面的数据共享,为整个应用系统提供基本的数据支撑。它的核心任务是将互相关联的分布式异构数据源集成到一起,使用户能够以透明的方式访问这些数据,而不必关心数据源的存储位置和存储方式。其中,空间数据存储在中心数据库相应的数据库中,基于系统的业务数据可以由具体的所有者按照自己的方式存储在各自的数据库服务器中,最终的探测评价成果数据统一存储在中心数据库的成果数据库中,从而实现数据和各专题数据的分布式共享和应用。

基础数据库(影像数据库)存储了经过标准化处理,具有一致的空间坐标、投影、文件格式、命名和编码规则的影像数据,主要是全球巨型成矿带重要矿产资源与能源的北 京一号、环境卫星和CBERS、ETM、ASTER、Hyperion和其他高分辨率多光谱数据。应用Oracle空间数据存储方式实现存储,支持影像目录、分类、关键字、范围浏览、查询、检索。

操作数据库采用OracleSpatial实现数据存储和管理,并采用数据切片方式提供渲染服务。切片数据库采用iTe 11uro的切片数据库存储格式存储,其存储方式采用自定义的No SQL方式的Key-Value存储,支持单用户写、多用户读,容量在理论上无限制,可分布式部署。

矢量数据库存储了地质矿产资源相关的地质图、矿点数据等,主要采用Oracle空间数据存储方式存储。元数据库的数据内容以属性数据为主,空间数据为辅,采用基于Oracle实现空间属性一体化存储。

成果数据库存储了遥感探测与评价模型生成的专题产品数据、分析研究报告或说明书等。应用Oracle空间数据存储方式实现存储。数据的存储、API接口设计和命名编码规则与影像数据库保持一致。

2.3服务层

服务层提供了对中心数据库中数据的服务接口,上层应用系统调用相应的数据服务接口实现对数据库中数据的服务操作。

数据服务方式有很多种,这里以微软继Web Service之后推出的WCF接口规范来设计服务对外公开的接口。基于WCF数据服务的方式,可实现系统对数据的操作都以服务的方式调用,很好地避免了客户端对数据的违法操作,同时降低了客户端与数据库服务之间的耦合度。

2.4应用层

应用层即WCF客户端程序以及相应的查询管理应用,这些应用主要通过访问服务契约层中所提供的相应服务实现对数据库中数据的操作,例如一些查询检索服务以及数据的上传下载服务等。

3.数据集成管理系统的实现

根据以上设计思路,基于Visual Studio平台以及Oracle数据库,开发了基于WCF的数据集成管理系统,该系统作为“矿产资源与能源遥感探测评价系统”的子系统,实现了对地质矿产数据的集成管理,为评价系统提供了集成服务。

3.1面向服务的数据集成

实现数据的集成必须完成以下几个步骤。

(1)构建统一的数据模型

由于各类源数据的标准、格式均不统一,所以必须建立统一的公共数据模型,使得源数据可以按照该数据模型的标准进行转换。

基础数据库中数据的命名和编码规则需要根据示矿信息遥感提取模型的需求开展定制,影像数据的坐标、格式等规定如下:①坐标,采用WGS-84坐标;②投影,根据示矿信息遥感提取模型的需求,在项目开展后定义3种投影,投影类型为具有公开投影转换参数的投影类型(例如不选择北京54坐标的投影类型),以实现数据可在后台自动实现投影、坐标的转换;③数据格式,采用Geo Tiff格式存储,操作数据库采用WGS-84空间参 考,地理坐标方式(Plate Carre投影)存储。

矢量数据库主要采用Oracle空间数据存储方式存储,坐标采用WGS-84坐标,并以Shp文件的数据格式进行数据的存储。

(2)实现数据的处理整合

依据统一的数据模型,通过相应的应用软件实现了数据的整理。数据整合模块负责对接收的数据进行格式校验、数据校验、查询和修正。确保数据的完整性和准确性,同时按照数据字典要求统一存放到中心库内。

(3)提供数据管理工具

建设数据库的过程中,需要统一的管理标准、编码、模型、接口和数据的工具,对数据库中的资源进行有效的管理。因此,要提供基于元数据的数据库管理工具(图3),从而支持业务应用对数据的目录浏览和查询检索(分类、关键字、范围等)(图4)。



基于中心库的数据组织、数据标准和数据模型,建立入库数据的编码和命名标准。使用相应的数据管理工具对预处理完成的数据进行标准化整理,修改其命名、编码和属性字段等编码,有利于在入库时,可以通过数据的元数据自动生成数据的编码。

3.2基于WCF数据服务的实现

该数据集成平台采用WCF实现面向服务的设计,WCF数据服务的实现主要包括WCF服务的配置、服务契约的实现、服务操作的实现以及客户应用端对服务的调用。

3.2.1 WCF配置文件

此文件将包含服务的配置信息,比如:服务的接口地址、服务的绑定方式、服务的契约等,我们可以通过配置文件对服务的配置进行修改。



3.2.2 服务契约

服务契约类定义了服务所能提供的操作,空间数据服务契约类包含了空间数据的相关服务操作,这里以矢量数据的加载操作为例,相应的服务契约类如下:


3.2.3 WCF业务逻辑

在WCF数据服务中,WCF业务逻辑是对服务契约类中所定义的接口的具体实现。这里实现接口I Geo Data Service中的方法Down Load File。


3.2.4 客户端的实现

数据管理系统的客户端主要实现了对矿产资源数据的管理以及查询等功能。用户通过数据查询检索模块打开目录查询,选择要查询的数据类型为矢量数据,此时服务端接收到查询界面发出的调用查询服务的命令;通过WCF配置文件,找到元数据服务契约接口I Meta Data Service,并实例化相应的查询方法,并将结果返回给查询界面;界面显示查询的结果,用户对查询得到的数据点击加载;通过WCF配置文件,客户端向服务端调用WCF服务契约I Geo Data Service。矢量数据下载Down Load方法,将数据下载到客户端,然后将下载下来的数据加载到三维球上,并将结果返回给客户端。

通过以上对WCF服务的调用,最终实现矢量数据的加载。矢量数据加载后的成果图见图5。


当客户端加载相应的地质矿产数据后,矿产资源与能源遥感评价系统结合相应的遥感评价模块,最终实现对矿产资源的评价专题产品。图6为对加载的地质遥感数据进行蚀变矿物铁染信息提取,最终生成的铁染矿物主成分分析成果图。


4.结语

作为基于SOA的框架产品,WCF最重要的功能就是能够快捷地创建服务。使用WCF作为数据服务在安全性、数据完整性和对数据服务使用者的管理上具有明显的优势。WCF在数据传输和通信上提供了一个安全、全面的解决方案,使得服务提供者和使用者能灵活地访问、绑定以及操作数据库服务。

基于Visual Studio平台以及Oracle数据库,应用WCF技术,开发实现了地质矿产数据集成管理系统。该系统作为全球重要矿产资源遥感与能源遥感探测评价系统的子系统,实现了对地质矿产数据的集成管理与服务。

地质矿产数据集成管理系统实现了高效快速地存储和管理多源卫星数据、探测与评价所需的地质、矿产、地理等多尺度基础数据,以及生成的遥感探测与评价专题产品,并可提供相关服务。通过元数据库管理、数据字典管理以及基础数据的查询检索等系统功能,地质矿产数据集成管理系统提供了多源地质矿产数据的一体化管理与快速查询,为矿产资源与能源遥感评价系统提供了全面的数据服务。

地质科技信息


主办:江苏省有色金属华东地质勘查局 科技信息处    电子信箱:ecetech@china-ece.com    联系人:刘乃勇    联系电话:(025)84688262

声明:严禁将《地质科技信息》用于任何商业用途或者其他营利性用途。

如用于读者个人学习、研究目的的单篇信息稿件,应注明版权信息和来源。