面向业务的海洋地质数据服务平台构建方法

2015-01-04 06:19孙记红苏国辉何书锋
自然资源遥感 2015年2期
关键词:数据服务统一逻辑

孙记红,苏国辉,杨 辰,何书锋

(1.国土资源部海洋油气资源与环境地质重点实验室,青岛 266071;2.青岛海洋地质研究所,青岛 266701;3.中国地质科学院岩溶地质研究所,桂林 541004)

0 引言

当前,海洋地质调查数据服务体系难以满足应用需求。由于海洋地质调查工作分区部署,海洋地质调查数据由各个调查单位独立管理,数据存储在传统的关系数据库中,导致了海洋地质调查数据存在数据结构不一致、数据关联性小、信息孤岛以及数据难以共享和利用率低等问题[1],因此,需要构建统一的海洋地质数据服务平台,解决分布式海洋地质数据库的数据服务共享问题,满足海洋地质数据应用需求。

海洋地质数据服务平台是在计算机硬件、软件、网络和数据库技术的支持下,以面向对象的海洋地质调查数据逻辑模型作为统一集成模型,以海洋地质调查业务模型作为数据查询服务模型,基于WCF和NHibernate技术实现海洋地质数据库数据的集成共享,为用户提供统一的数据访问平台。本平台旨在利用面向业务的方法实现异构海洋地质数据库的数据集成访问,并以海洋地质业务模型为应用模型,为用户提供方便的数据查询访问方式。

1 平台总体框架

海洋地质数据分布存储在各调查单位的数据库中,由各单位独立管理使用。为方便专业人员获取数据,根据海洋地质调查业务活动设计业务模型,为用户提供以业务活动为单元的数据,并提供相应的数据获取和应用方法,实现面向业务的海洋地质数据库的集成与共享。本文设计了“3层”体系结构的海洋地质数据服务平台的总体框架,分别为基础数据服务层、集成管理层和平台应用层,如图1所示。

图1 海洋地质数据服务平台体系框架Fig.1 Architecture of marine geological data services platform system

海洋地质数据服务平台的主要目标是实现多源异构数据的集成访问和不同应用的集成访问,通过统一的用户认证,实现不同应用的统一认证及权限管理。

1.1 基础数据服务层

基础数据服务层以单个的海洋地质数据库为基本单位,建立海洋地质数据访问接口,以服务的方式对外发布,并在集成管理层实现服务的统一管理[2-3]。基础数据为存储在各调查与管理单位海洋地质数据库中的数据。海洋地质数据涉及3大类型[4-5],具体内容如下:

1)海洋地质调查与分析原始数据。是专业研究与综合研究的第一手基础资料,包括野外综合调查(海底地质取样及地球物理测量等)、样品实验分析(岩性描述、粒度分析、矿物鉴定、古生物鉴定、地球化学分析及放射性测年等)和室内综合分析(实测资料处理分析、遥感数据反演分析及收集资料整理分析等)过程中产生的原始数据记录。

2)专题研究成果图件。是通过基础性、专题性、资源与环境安全保障性或政府宏观决策性等不同类别图件表示的海底地形地貌、海洋地质、构造地质、矿产资源、环境地质、地球物理等专题研究成果,是海洋区域地质调查成果的多目标、多层次与多因素直观体现。

3)综合研究成果报告。是海底地质环境及资源分布状况的综合文字集成,可为沿海地区的规划和经济可持续发展提供基础科学依据[5]。

1.2 集成管理层

集成管理层以统一的逻辑模型实现分布式异构数据库的集成访问,主要包括面向对象的统一逻辑模型管理、数据源信息管理及数据统一访问接口等功能。

1)面向对象的统一逻辑模型设计。采用面向对象的方法,以对象-活动-关系为核心体系,建立涵盖所有海洋地质调查对象的统一的海洋地质调查数据逻辑模型。

2)数据源信息管理。主要包括数据源的数据库名称、简介、对象关系映射信息、单库数据访问服务接口等。

3)统一数据访问接口设计。根据用户发出的查询指令,对各单库数据访问服务进行查询访问,并将各数据访问服务返回的查询结果进行整合,提交给用户。

1.3 平台应用层

平台应用层主要是对各个集成的应用进行加载及运行,根据用户的权限,动态加载相应的应用及文件,按照配置生成相应的客户端界面,通过命令加载并运行相应的文件,根据集成管理层提供的统一数据访问接口,进行基于对象和业务模型的数据可视化查询展示、打包下载等服务。

2 平台关键问题

根据海洋地质数据库数据服务平台的总体架构,实现海洋地质数据的共享服务,首先需要实现单个数据库的数据服务,在集成管理层实现面向对象的统一逻辑模型,并提供统一的数据访问接口[6]。

基础数据服务层的主要目的是实现异构数据的统一访问,需要构建单个数据库的数据服务架构,单库的数据服务架构由持久化层、统一模型层、服务层3层构成,数据服务以关系数据库为数据基础,文章所涉及的关系数据库为各调查与管理单位的海洋地质数据库。单库的数据服务架构如图2所示。

图2 单库数据服务架构Fig.2 Data service architecture of single database

2.1 持久化层

主要负责实现逻辑模型到具体物理模型的映射变换,即把物理层的关系数据转换成模型层以对象方式组织的数据。采用基于.net的ORM映射工具NHibernate,实现对象关系映射机制,将基于关系表达的海洋地质数据库结构映射为基于对象表示的统一数据模型。

映射的实现主要包括数据库配置和对象/关系映射2部分,数据库配置用于设置连接数据库时所需要的信息,例如数据库类型、数据库版本、用户名、密码以及连接字符串等;对象/关系映射建立统一对象模型与底层关系型海洋地质数据库之间的关联关系。

映射文件格式如下:

2.2 统一模型层

采用面向业务方法设计统一的海洋地质数据逻辑模型,目的是借鉴地学领域面向对象数据模型思想,通过对海洋地质调查业务活动的分析,采用面向业务的方法表达海洋地质调查的业务活动,形成面向业务的海洋地质逻辑模型,为分布式海洋地质数据库的数据服务提供模型支撑。

面向业务的海洋地质逻辑模型设计从业务分析开始,采用迭代的方式自下而上进行构建,首先进行业务模型的构建;然后基于业务模型构建业务单元活动逻辑模型,并进行逻辑模型的整合集成;最终形成统一的逻辑模型。

1)业务模型的构建。通过对面向对象数据模型理论和国际石油数据模型标准业务参考模型的研究,借鉴业务分析建模的原则和方法,对海洋地质调查业务进行系统分析,形成海洋地质调查业务流和数据流标准,构建海洋地质业务模型,形成海洋地质业务模型构建的标准规范。

海洋地质调查业务种类繁多,业务流程复杂,对海洋地质调查整体业务进行规划设计,需要进行规范的业务流程分析和业务模型建设。业务设计是一个不断迭代的过程,业务流程、业务模型将随着业务本身的发展和需求的变化而不断变化。以往海洋地质调查数据标准制定过程中的业务流程分析没有进行模型管理环境和业务模型标准的设计,大多以流程图、文档的形式描述业务需求,业务流程与业务模型不能较好地持续升级,数据库标准也不能及时根据业务的变化而变化。因此需要建立海洋地质调查业务流程分析和业务建模的标准规范,形成适合海洋地质调查的业务分析、业务建模的标准工作流程,建立业务模型维护流程和机制,实现业务模型的可持续发展。

2)逻辑模型的构建。逻辑模型是从业务分析入手得到的,是业务模型的抽象和一般性表达,它不仅表现在对数据的管理和描述上,还表现在对数据的处理和行为上。对业务的抽象和业务数据的抽象保证了逻辑模型的包容性更强,使之能满足不断变化的业务需求与多种数据类型和数据格式的管理,简化了数据描述的复杂度。逻辑模型构建流程如图3所示。

图3 逻辑模型构建流程Fig.3 Flow diagram of logical model building

面向业务的海洋地质统一逻辑模型的构建步骤如下[7]:首先,对海洋地质调查业务进行分析,按照业务模型的划分方法“业务域划分-业务划分-业务流程分析-业务活动划分-结构化数据描述”,划分出具体的业务活动,并对业务活动进行结构化描述,形成规范的海洋地质业务模型[8];然后,进行业务活动单元分析,从构建的业务模型中选择业务单元活动并提取其业务要素,对不满足当前情况的业务要素进行修订,并对各业务要素及其相关数据项进行规范化定义,分析业务要素的相关的数据项,从业务要素中提取数据元,并对数据元进行规范化修订,形成数据元规范;最后,进行业务抽象和模型集成。根据业务单元活动分析,抽取出该活动所涉及的对象,包括产生对象和作用对象,建立业务单元活动分析中的数据元与对象实体关系,将具有相同或相似性质的对象进行抽象,形成类,建立各个类之间的关系,进行类的继承和关联分析。将业务单元活动的逻辑模型进行整合集成,实现最终的逻辑模型。将业务单元活动的逻辑模型进行整合集成,最终实现统一的逻辑模型[9]。

2.3 服务层

数据服务层是整个架构的基础,主要解决不同应用系统的统一访问,以服务的形式提供应用数据查询,完成应用模块的统一管理,主要包括文件传输服务、版本控制服务、应用模块管理服务、命令管理服务、应用界面管理服务、统一用户管理及用户单点登录服务等。

服务层把映射后以统一逻辑模型组织的数据的访问接口采用WCF技术以Web服务的形式对外发布,供集成管理层管理和调用。基于WCF技术解决系统数据发布问题,利用WCF封装参与集成的各海洋地质调查数据源,以服务的形式提供对象查询服务,对外部系统提供标准的服务 API接口[10-12]。针对数据服务接口,提供不同类型的数据访问方式,通过标准的HQL查询语句提交查询,分别以序列化后的文本对象或序列化后的二进制对象返回查询结果。

数据服务接口代码如下:

3 平台实现

根据集成管理层提供的统一数据访问接口,结合海洋地质调查业务模型,向用户提供基于业务模型的和基于对象的数据服务,服务形式包括桌面程序、B/S程序或者服务等。由于直接基于对象进行查询,需要用户掌握对象查询语言HQL的使用方法,与传统的关系数据库查询相比,普通用户难以掌握和使用。为解决这一问题,本研究通过平台软件中的数据服务模块,调用数据服务平台的统一数据访问接口,实现基于业务模型的数据查询、展示及下载功能。海洋地质数据服务平台提供基于业务活动数据查询和基于业务流程数据查询2种方式,具体查询流程如图4所示。

图4 业务模型数据查询流程Fig.4 Business model of data query process

模型库用于存储业务模型及业务模型与逻辑模型的关联关系,平台软件将业务模型按照层次结构展现给用户,用户可以查询业务的基本信息,根据需求选择所需的业务。

3.1 基于业务活动的数据查询

业务活动是业务模型的基本数据单元,是用户查询数据的基本结构,以粒度分析业务活动为例,用户选择“粒度分析”业务活动后,输入查询条件“送样号 =‘YBH-292-g1’”,查询结果如图5所示。对于包含图像的业务数据,图像可以实现单独的展示和保存。

图5 基于业务活动的数据查询结果Fig.5 Data query result based on business activity

3.2 基于业务流程的数据查询

海洋地质调查业务模型中,有些业务活动具有关联性,业务活动的发生有时间先后顺序,根据业务活动之间的关联特性,设计业务流程,实现基于业务流程的多个业务活动数据的统一查询,方便用户一次获取多个业务活动的数据。通过业务流程设计界面,用户将业务活动节点拖入图形区,设置业务节点属性,包括业务活动名、业务活动与前一个业务活动的关联条件、自身的约束条件(可选的)等,一个完整的业务流程应包括1个开始节点、至少2个业务活动节点和一个结束节点,从开始节点起到结束节点止组成完整的流程。

以送样-粒度分析业务流程为例,该业务流程包括送样记录和粒度分析2个业务活动,首先新建“送样记录和粒度分析”的业务流程,然后进行业务活动节点的属性设置(关联关系为“粒度分析.送样号 =送样记录.送样号”,约束条件为“粒度分析.送样号 =‘YBH-292-g1’”或者“送样记录.送样号 =‘YBH-292-g1’”),最后进行数据查询,其结果如图6所示。

图6 基于业务流程的数据查询结果Fig.6 Data query result based on business flow

3.3 应用及服务的集成

海洋地质数据服务平台以松耦合的形式集成了多种应用程序,包括Web应用程序、桌面应用程序及Web服务等。应用程序的集成主要实现2个部分的内容:实现以命令的形式调用应用程序和实现应用界面与数据应用集成客户端界面集成。文章以柱状图程序的集成为例,介绍应用及服务的集成。

1)桌面柱状图应用的集成。基于集成框架的命令模块Command Base类派生子类Show Histogram,并实现框架所定义的 Icommand接口的 Execute。Execute中直接生成 Display Histogram.Form Main类对象并调用集成框架的Create Window()直接加载窗口即可,加载结果如图7所示。

图7 桌面柱状图集成界面Fig.7 Integrated interface of desktop histogram application

2)Web柱状图服务的集成。基于集成框架的命令模块Command Base类派生子类Show Histogram,并实现框架所定义的 Icommand接口的 Execute。Execute中通过调用Web Browser对象并调用Web柱状图服务器地址即可实现B/S模式的柱状图服务的加载,加载结果如图8所示。

图8 Web柱状图集成界面Fig.8 Integrated interface of Web histogram service

4 结论

通过分析海洋地质数据的应用服务现状,介绍了面向业务的海洋地质数据服务平台设计方法,采用WCF技术和NHibernate技术设计并初步实现了数据服务平台,实现了对分布式异构海洋地质调查数据库的集成访问和基于业务模型的数据查询。面向对象的海洋地质调查数据逻辑模型解决了海洋地质调查数据的模型不统一问题,对象之间的联系更加紧密,关系更加明确,易于理解。初步设计的海洋地质数据服务平台虽然解决了分布式异构海洋地质数据库的集成访问,但也存在如由于数据模型较为复杂,对基于对象查询的效率有一定的影响,无法解决数据的表示方式不统一等问题。与传统数据查询方法相比,用户不需要了解底层数据源和具体的数据结构,无需编辑查询语句,只需要根据业务需求选择业务,设定约束条件即可获得所需数据,并可以实现数据的直观表达,极大地方便了用户对海洋地质数据的需求。

[1] 刘 展,杨 辰,魏合龙,等.基于EPICENTRE的海洋钻探数据库构建方法研究[J].计算机技术与发展,2012,22(6):49-52.Liu Z,Yang C,WeiH L,etal.Research of marine drilling database construction method based on EPICENTRE[J].Computer Technology and Development,2012,22(6):49-52.

[2] 李绍荣,张锡林,陈道华,等.海洋地质调查基础数据库模式构建方法[J].海洋技术,2009,28(4):94-97.Li SR,Zhang X L,Chen D H,et al.Building database schema for marine geological survey[J].Ocean Technology,2009,28(4):94-97.

[3] 冯 斌,谭建军,李绍荣,等.海洋地质调查数据库管理系统设计与实现[J].计算机工程,2009,35(3):29-31.Feng B,Tan JJ,Li SR,et al.Design and implementation of DBMS for marine geological survey[J].Computer Engineering,2009,35(3):29-31.

[4] 戴勤奋,魏合龙,苏国辉,等.区域海洋地质调查数据库结构模型[J].计算机应用研究,2004,21(3):65-66,75.Dai Q F,Wei H L,Su G H,et al.Modeling ofmarine geological survey database[J].Application Research of Computer,2004,21(3):65-66,75.

[5] 青岛海洋地质研究所.海洋区域地质调查数据库数据模型[R].青岛:青岛海洋地质研究所,2010.Qingdao Institute of Marine Geology.Data Models of Regional Marine Geological Survey Database[R].Qingdao:Qingdao Institute of Marine Geology,2010.

[6] 杨 辰.面向对象的海洋地质调查数据模型研究[D].青岛:中国石油大学(华东),2013.Yang C.Research on Object-Oriented Marine Geological Survey Data Model[D].Qingdao:China University of Petroleum(East China),2013.

[7] 孙记红,魏合龙,刘 展,等.基于ORM的海洋地质取样应用模型设计方法[J].计算机技术与发展,2013,23(11):220-223,228.Sun JH,WeiH L,Liu Z,etal.Design method of marine geological sampling application model based on ORM[J].Computer Technology and Development,2013,23(11):220-223.

[8] 王海平,葛 珺,王 娟.基于POSC的油田业务分析与建模方法[J].计算机系统应用,2010,19(3):100-102.Wang H P,Ge J,Wang J.Business process modeling based on POSC in petroleum industry[J].Computer Systems & Applications,2010,19(3):100-102.

[9] 孙记红,何书锋,魏合龙,等.海洋地质数据库应用模型构建方法[J].计算机技术与发展,2013,23(12):194-198.Sun JH,He SF,Wei H L,et al.Structure method of marine geological database application model[J].Computer Technology and Development,2013,23(12):194-198.

[10] 李斌勇,李 庆.基于NHibernate的ORM映射机制研究[J].计算机技术与发展,2009,19(7):32-34,37.Li B Y,Li Q.Research on ORM mapping mechanism based on NHibernate[J].Computer Technology and Development,2009,19(7):32-34,37.

[11] 李文涛.基于WCF架构的应用开发研究[J].计算机时代,2011(2):19-21.LiW T.Research of application development based on WCF framework[J].Computer Era,2011(2):19-21.

[12] Klein S.Professional WCF Programming[M].Hoboken,NJ:John Wiley & Sons,2007.

猜你喜欢
数据服务统一逻辑
大数据时代高校图书馆数据服务的困境及优化路径
刑事印证证明准确达成的逻辑反思
地理空间大数据服务自然资源调查监测的方向分析
逻辑
创新的逻辑
基于数据中台的数据服务建设规范研究
坚持严管和厚爱相统一的着力点
碑和帖的统一,心和形的统一,人和艺的统一
统一数量再比较
数据服务依赖图模型及自动组合方法研究