(计算机应用技术专业论文)基于xml的数据集成平台框架及关键技术研究.pdf_第1页
(计算机应用技术专业论文)基于xml的数据集成平台框架及关键技术研究.pdf_第2页
(计算机应用技术专业论文)基于xml的数据集成平台框架及关键技术研究.pdf_第3页
(计算机应用技术专业论文)基于xml的数据集成平台框架及关键技术研究.pdf_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

河海大学硕士学位论文 摘要 摘要 数据集成平台的作用是提供一个访问异构数据源的统一接口,使开发人员不 必考虑数据模型的异构性、数据抽取、数据合成等问题。异构数据源集成问题是 数据库领域的经典问题,随着x m l 技术的兴起,再次成为了该领域研究的一个 热点。 x m l 作为一种数据格式描述的元语言标准,不断遗被应用到各种不同领域 的数据集成中去。x m l 的充足性、条理性、可扩展性和自描述性成为其作为数 据模型描述语言的优势。 本文以水利领域数据现状和对数据集成的要求为基础,进行基于x m l 数据 集成的研究,重点解决水利领域数据模式的异构问题和查询语言的转换问题。在 分析比较已有数据集成方法和体系结构特征的基础上,设计了基于x m l 的水文 数据集成平台框架,并对其中的关键技术进行研究。主要工作如下: 1 设计一个基于x m l 的水文数据集成平台框架:本文以典型的m e d i a t o r - w r a p p e r 体系结构为平台框架结构,采用虚拟视图的方法,用x m l 描述 局部数据源视图。这样隐藏了每个系统的局部特性,提高了平台的透明 性。使用了功能强大的x m l 统一查询语言x q u e r y ,采用基于标准接口 用统一的方式查询x m l 全局和局部视图。而且,x m ls c h e m a 模型的充 足性简化了包装器的映射。 2 对关键技术的研究 1 ) 模式集成:模式集成是实现数据集成的一个重要方面。在进行数据集 成时必须解决数据的冲突问题,为用户提供一个统一的、集成的数据 视图。本文在分析比较已有模式集成方法的基础上,结合x m l 作为 数据模型描述语言的优势,将x m l 技术应用于模式集成,改进了已 有模式集成方法,生成符合x m l 标准的全局模式和模式映射规则, 为全局查询处理奠定了基础。 2 ) 查询处理:分析查询处理过程,重点描述x q u e r y 到s q l 的映射方法 及查询结果转换成x m l 的方法。 本文工作的意义在于解决了关系数据库的x m l 化问题,设计的平台框架提 供统一查询异构数据源的服务,为在水利领域内部建立一个通用数据访问底层架 构奠定基础。 关键词:数据集成,模式集成,查询处理,x m l ,x m ls c h e m a ,x q u e r y 河海大学硕士学位论文 a b s t r a c t a b s t r a c t t h eg o a lo fad a t ai n t e g r a t i o np l a t f o m ai st op r o v i d eaa n i f o r l ni n t e r f a c et o a m u l t i t u d eo fd a t as o u r c e s u s i n gt h ei n t e r f a c eu s e r s d o n tn e e dt oc o n s i d e rt h e p r o b l e m a b o u tm o d e lh e t e r o g e n e i t y , d a t ae x t r a c t i n g a n dc o m b i n a t i o n e t c t h e p r o b l e mo f d a t ai n t e g r a t i o ni so n eo ft h ea dh o co l dp r o b l e m si nd a t a b a s ec o m m u n i t y b u tw i t ht h er i s i n go fx m l t e c h n o l o g y , t h ep r o b l e mb e c o m e s ar e s e a r c hf o c u si nt h i s c o m m u n i t y x m lh a se m e r g e da st h es t a n d a r do f m e t al a n g u a g er e p r e s e n t i n gd a t af o r m a t ,a n d i sc o n t i n u a l l ya p p l i e dt ov a r i o u sd o m a i nt oi n t e g r a t ed a t as o u r c e s i ti sr i c l lc l e a r , e x t e n s i b l ea n ds e l f - d e s c r i p t i o n a l lt h ea d v a n t a g e sm a k ei tt h eb e s tc a n d i d a t ef o r r e p r e s e n t i n gd a t a m o d e l t h i sp a t ) e rd i s c u s s e st h ei s s u eo fi n t e g r a t i n gw a t e rr e s o u r c e sd a t au s i n gx m l b a s e do ne x t e n s i v ea n a l y s i sa n dr e s e a r c hw o r k i ti sf o c u so nt h ep r o b l e m sr e l a t e d w i t hh e t e r o g e n e o u sd a t as c h e m aa n d q u e r yp r o c e s s i n gi nw a t e rr e s o u r c e sd o m a i n w e d e s i g nt h ed a t ai n t e g r a t i o np l a t f o r mf r a m e w o r kb a s e do na n a l y s i sa n dc o m p a r i n gt h e e x i s t e n td a t ai n t e g m t i o nm e t h o d sa n dt h ec h a r a c t e r i s t i c so fa r c h i t e c t u r e m e a n w h i l e w ed i s c u s st h em a i nt e c i m o l o g i e s t h em a i uc o n t r i b u t i o n so f t h i sp a p e ra r ea sf o l l o w s : 1 p r e s e n t sap l a t f o r mf r a m e w o r kb a s e do nx m 【lf o rd a t ai n t e g r a t i o ni n w a t e rr e s o u r c e sd o m a i n :t h i s p l a t f 0 1 t l l f r a m e w o r k a d o p t s m e d i a t o r - w r a p p e r a r c h i t e c t u r ea n dt a k e sv i r t u a lv i e wm e t h o d i na d d i t i o n u s i n g ) 口l v i e w sf o rl o c a ld a t as o u r c e sh i d e st h el o c a ls p e c i f i c i t i e so fe a c hs y s t e ma n d e n h a n c e st h e t r a n s p a r e n c y a l s o ,u s i n gt h ep o w e r f u lu n i v e r s a lq u e r yl a n g u a g e f o rx m l i e x q u e r y , m a k e si t p o s s i b l et oq u e r yx m lg l o b a la n dl o c a l v i e w si nau n i f o r mw a yb a s e do nas t a n d a r di n t e r f a c e f u r t h e r m o r e t h e r i c h n e s so f t h ex m ls c h e m am o d e l s i m p l i f i e sw r a p p e rm a p p i n g s 2 r e s e a r c ho u k e yt e e h n 0 1 0 9 i e s 1 1s c h e m ai n t e g r a t i o n :s c h e m ai n t e g r a t i o ni so n eo fv i m la s p e c t si nd a t a i n t e g r a t i o n ,b e c a u s ew em u s tr e s o l v ed a t ac o n f l i c t i o n a n dp r o v i d ea u n i f o r ma n di n t e g r a t e dd a t av i e w n l i sp a d e ri m p m v e so nt h ee x i s t e n t m e t h o d so fs c h e m ai n t e g r a t i o nb ya n a l y s i sa n dc o m p a r i n gt h e ma n d c o m b i n i n gx m l w i t l lt h e m m o r e o v e r , t h eg l o b a ls c h e m aa n dm a p p i n g r u l e sa c c o r d i n gt ox m ls t a n d a r da r eg e n e r a t e d 2 ) q u e r yp r o c e s s i n g :m sp a p e rp r e s e n t st h ep r o c e s so fq u e r yp r o c e s s i n g i ti sf o c u so nm a p p i n g x q u e r yi n t os q l a n dt r a n s f o r m i n gt h er e s u l t i n g t u p l e st ox m l t h e s i g n i f i c a n c eo f t h i sp a p e ri st oi m p l e m e n tt h e lf o r m a tv i e w so f r d b m s a n d d e s i g n a p l a t f o r m f r a m e w o r kt o p r o v i d e au n i f o r m q u e r y s e r v i c ef o r h e t e r o g e n e o u sd a t as o u r c e s 0 u rw o r kc a nb eu s e dt ob u i l dau n i f o r md a t aa c c e s s i n g i n f r a s t r u c t u r ei nw a t e rr e s o u r c e sd o m a i n k e y w o r d s :d a t a i n t e g r a t i o n ,s c h e m ai n t e g r a t i o n ,q u e r yp r o c e s s i n g ,x m l , x m l s c h e m a , x q u e r y - i i 河海大学硕士学位论文 第一章引言 第一章引言 1 1 研究背景 随着网络技术的推广和普及,网上的信息迅猛增加,成为了一个巨大的信息 库,由成百上万个异构的信息源组成,有传统的数据库,文件系统,及h t m l 、 x m l 等半结构化的数据。但由于平台差异、数据库技术以及通信协议等方面的 不同,使各数据源间的互操作变得复杂、困难,使它们成为信息孤岛。如何更好 地利用网络上浩如烟海的信息,已成为人们日益关心的问题。数据集成系统在其 中扮演十分重要的角色,成为近年来的研究热点之一。 以水利领域为例,水利领域内各部门应用系统的开发和建设大多是各自完 成,每个部门都有自己的数据库服务器或者数据库文件,这样造成各部门对同一 特征的描述千差万别。虽然构筑在其上的应用系统实现的功能大同小异,但每 个部门的开发都耗费大量的人力、物力、才力,且开发出的系统间交互( 集成) 困难,不利于水利信息的统计分析,同时重复开发日益严重。这就需要一种服务, 能够提供对领域内相关数据源的透明访问,好像操作一个数据源一样,我们把这 种服务叫做数据集成服务,把能够集成多个数据源,提供这种服务的平台叫做数 据集成平台,如图1 1 所示。 图1 1 数据集成平台 数据集成的目的是提供一个访问异构数据源的统一接口,使用户不必考虑 数据模型的异构性、数据抽取、数据合成等问题,用户只需指定他们想要的数据, 而不必描述怎样得到数据。这样就减轻了用户寻找相关数据源、和每个数据源交 互然后合并返回结果的负担。数据集成平台提供了底层数据源存储数据的统一视 图( 全局模式) ,这样用户访问所有所有数据源就像操作一个数据源一样。同时, 数据集成平台还提供全局数据管理、模式转换与集成、全局查询处理等功能解决 数据的异构性问题,完成从实际数据源到数据源视图的转换,在应用构件之 间充当数据总线的作用。 河海大学硕士学位论文基于x m l 的数据集成平台框架及关键技术研究 1 2 研究问题及现状 1 2 1 异构数据源集成研究问题 在异构数据源集成系统中,如何有效解决数据分布的异构性,实现客户访问 的透明性,同时还要保持局部系统的自治性,是系统考虑的主要问题 “。 异构性:是指数据集成系统中两个数据源的不相似程度。异构发生在不 同的级别。最底层是硬件平台、操作系统和网络协议的异构。其次是不 同的编程语言和数据模型,以及对相同的概念不同的理解和描述。由于 每个数据源都用自己的描述数据,所以,每个数据源中对相似的语义的 描述可能不同,而且可能引起数据的冲突,这在第四章中介绍。 透明性:与系统解决异构性的程度相关,决定系统的功能和使用的方便 性。包括平台透明性、系统透明性、数据源透明性和语义透明性。 平台透明性:隐藏了硬件平台、操作系统和通讯协议等各种数据源所基 于的平台间的差异。对于用户来讲,每个数据源像运行在同一个硬件软件平 台上。 系统透明性:当数据源的数据管理系统、数据模型和语言间的差异被隐 藏时对用户来讲,每个数据源像是用同一个数据模型来描述的、由同一个 数据管理系统和数据语言来管理和维护的。 数据源透明性:隐藏了数据源的描述信息,由系统解决诸如:数据的存 储位置,数据如何被查询。用户所见到的只是一个逻辑数据源。 自治性:指的是一个数据源是独立于其它数据源,也独立于集成系统的 根据文献中的分类,主要有三类自治。 设计自治:数据源在数据模型、数据元素的命名、数据的语义介绍及约 束等方面是独立的。 通信自治:数据源独立决定给集成系统中其它组件提供什么信息和给组 件发什么请求。 执行自治:数据源独立执行和调度输入请求。 1 2 2 研究现状 异构数据源集成平台的实现多采用多数据库集成技术。多数据库集成系统支 持用户使用单一数据定义和操作语言,同时访问多个独立的数据源。代表性的多 库系统有g a r l i c ,t s i m m i s ,i r o d b 、y a t 和h p 公司开发的p e s a s u s l 2 1 。国内有东北 大学数据库研究室开发的p o l y b 黜和s c o p e 系统以及北京理工大学的u n h d b 系统等,这些系统多采用对象模型作为数据集成模型。 早在7 0 年代中期即提出多数据库的集成问题。开始采用全局模式的集成方 法,后来m c l e o d 等人提出了联邦式数掘库系统的概念,由于缺乏必要的标准, 河海大学硕士学位论文 第一章引言 联邦数据库系统只能在一定的限制条件( 如对加入联邦系统的d b m s 和各d b m s 间的互操作加一定的限制) 下实现,难以实现各种数据源的灵活的数据集成。因 此,联邦式数据库目前还不能成为一种通用的数据集成方法。 但是,随着分布异构计算环境下互操作性的研究和i n t e m e t 技术的发展,多 数据库的集成方法,已无法适应人们获取更多更新数据的需要。人们要求数据集 成系统不仅能集成数据库系统中的数据,而且能集成非数据库系统中的数据;不 仅能集成传统数据,而且能集成多媒体数据;不仅能集成已有数据源中的数据, 而且能集成随时加入的新数据源中的数据。也就是说,数据集成系统必须具有可 扩展性,可以实现数据源的“即插即用”,这是传统的数据集成技术难以实现的。 异构数据源集成系统的作用是提供一个统一的查询手段和查询界面,支持对 网络上异构的数据源的查询。其中的关键是如何以一种统一的数据模式描述各数 据源中的数据,屏蔽它们的平台、数据结构等异构性,实现数据的无缝集成。 已有的数据集成技术,存在一些不足: 全局模式同各数据源模式的转换工作繁杂。 对结构化数据的支持较好,而半结构化数据不够重视,数据源参与集成 的程度不高。 查询处理效率低、数据传输量大。 不能解决多平合的异构性、缺少灵活性、不能实现数据的远程操作。 对网络连接的依赖性强等。 w 3 c 定制的x m l ( e x t e n s i b l em a r k u pl a n g u a g e ) 和针对x m l 的x q u e r y 查询标准为解决这些关键技术和不足提供了新的契机。x m l 具有内容的自描述 性、跨平台性、内容和显示分离、可扩展性等特点,为数据访问和交换提供了一 种新的模式,使描述各种格式的数据成为可能。基于x m l 的各种技术不断涌现, x m l 将成为一种新的数据互操作的标准。 利用这些新技术以及领域应用的需要,本文提出了一个基于x m l 的模式集 成方案并设计了一个基于x m l 的异构数据源集成平台框架。与其他异构数据源 集成系统相比,它最大的特点在于: 使用x m l 作为集成层的公共数据模型的描述语言,大大简化了各数据源 数据模式与全局数据模式的转化工作。 不同于异构数据库集成系统,它除了可以集成d b m s 管理的数据外,还 可以集成非数据库系统管理的数据,例如文件系统、x m l 数据、w w w 上的数据。 采用x q u e r y 实现基于标准接口用统一的方式查询x m l 全局和局部视图, 提高查询处理效率及系统的可扩展性。 河海大学硕士学位论文基于x m l 的数据集成平台框架及关键技术研究 1 3 论文主要工作 论文研究和分析了异构数据源集成体系结构,在此基础上,选用典型的 m e d i a t o r - w r a p p e r 体系结构作为异构数据集成平台框架的体系结构。论文将x m l 技术应用于数据集成,设计了基于x m l 的数据集成平台框架,给出了该框架体 系结构各模块的实现策略,并研究其中的关键技术:模式集成和查询处理。论文 对模式集成技术的一些国内外学术成果进行了研究,剖析了其中存在的问题。在 已有数据源集成系统理论和技术基础上,采用x m l 作为集成公共数据模型的描 述语言,改进了已有模式集成方法。论文还分析了查询处理过程,并借鉴已有技 术,详细描述了x q u e r y 到s q l 的映射方法及查询结果转换成x m l 的方法。主 要工作归结为以下几点: 设计基于x m l 的数据集成平台框架,实现其中关键部分。 模式集成研究:将x m l 技术应用于模式集成,改进已有模式集成方法, 实现数据源模式到全局模式的映射。 查询处理研究:分析查询处理过程,重点实现x q u e r y 到s q l 的映射及 查询结果的x m l 化。 1 4 论文组织 论文的第二章分析比较异构数据集成系统的体系结构及相应的数据集成方 法,在此基础上选用典型的m e d i a t o r - w r a p p e r 体系结构作为数据集成平台框架的 体系结构。 第三章详细描述基于x m l 的水文数据集成平台框架及框架中主要部分( 中 介器和包装器) 的详细结构,描述主要部分的实现策略,分析框架特点,提出论 文研究的关键技术。 第四章分析模式集成问题,在比较总结已有模式集成方法的基础上引入x m l 技术,改进已有模式集成方法,并设计模式集成工具,方便集成人员参与集成。 第五章分析查询处理过程,重点描述s q l 包装器的查询处理过程,实现 x q u e r y 到s q l 的有效转换,以及查询结果的x m l 化。 第六章总结论文,提出基于x m l 数据集成研究的进一步工作。 河海大学硕士学位论文 第二章数据集成体系结构 第二章数据集成体系结构 目前有很多种集成异构数据源的体系结构,主要的也是最常见的有三种:联 邦数据库、m e d i a t i o n 和数据仓库。根据数据集成系统接收的查询是发送到数据 源还是查询预处理好的数据,把这三种体系结构分成两组。如果接收的查询是发 送到数据源,这种方法就是虚拟视图( v i r t u a lv i e w ) 方法,另外一种就是物化的 ( m a t e r i a l i z e d ) 方法,即数据仓库法。在比较这两种方法前先介绍这两种方法。 2 1 虚拟视图法 采用虚拟视图法实现的数据集成系统,当用户向该系统提交查询请求时,系 统根据命令操作数据源中的数据,所以称这种方法为l a z y 方法。采用虚拟视图 法集成数据源主要有两种体系结构,一种是联邦数据库系统,另一种是m e d i a t e d 系统。 2 1 - l 联邦数据库系统 联邦数据库系统( f e d r a t e d d a t a b a s es y s t e m ,f d b s ) 是由参与联邦的半自治 的数据库系统组成,目的是实现数据库系统间部分数据的共享【3 。联邦中的每个 数据库的操作是独立于其它数据库和联邦的。之所以叫“半自治”是因为联邦中 的所有数据库都添加了彼此访问的接口。 联邦数据库系统分紧耦合f d b s 和松耦合f d b s 两种。 紧耦合f d b s 有一个或几个统的模式1 。这些模式可通过模式集成技术半自 动生成,也可通过用户手工构造。要解决逻辑上的异构,就需要领域专家决定数 据库模式间的对应关系。由于模式集成技术不易添加删除联邦数据库集成系统 中的数据库,所以紧耦合f d b s 通常是静态的,且很难升级。 松耦合f d b s 没有统一的模式,但它提供了一些查询数据库的统一语言。这 样f d b s 中的数据库更具有自治性,但必须用户解决所有语义上的异构。由于松 耦合f d b s 没有全局模式,所以,每个数据库都要创建自己的“联邦模式”。 f d b s 中实现互操作2 最常用的方法是将每个数据库模式分别和其它所有数 据库模式进行映射,这样的例子如图2 1 所示。这样联邦中需要建立n ( n - 1 ) 个模式映射规则,但当参与联邦的数据库很多( n 值很大) 时,建立映射规则的 任务变得不可行了。所以,联邦数据库集成系统适合于自治数据库的数量比较小 的情况,而且。希望数据库能够保持“独立”,允许用户单独查询,数据库间能 够彼此联合回答查询的情况。对于网络上越来越丰富的数据源,f d b s 显然不是 一个很好的解决方案。 1 统一模式是消除了集成系统中所有数据库模式的语法和语义冲突后得到的模式,该模式使用户查询集成 系统像对一个数据库操作一样。 2 这里互操作的意思是f d b s 中每个数据源应用其它数据源中数据的能力。 - 5 河海大学硕士学位论文 基于x m l 的数据集成平台框架及关键技术研究 图2 1 联邦数据库体系结构的例子 2 1 2m e d i a t e d 系统 m e d i a t e d 系统通过提供所有异构数据源的虚拟视图来集成它们,这里的数据 源可以是数据库、遗产系统、w e b 数据源等等。该系统提供给用户一个全局模式 ( 也叫m e d i a t e d 模式) ,用户提交的查询是针对该模式的,所以用户不必知道数 据源的位置、模式及访问方法。 m e d i a t i o n 体系结构与紧耦合联邦有如下不同之处: m e d i a t e d 系统可以集成非数据库数据源。 基于中介器( m e d i a t o r ) 的系统中的数据源的查询能力可以是受限制的, 数据源可以不支持s q l 查询。 m e d i a t e d 系统中的数据源是完全自治的,这就意味着很容易向从系统中 添加删除数据源。 由于m e d i a t e d 系统中的数据源是自治的,所以对系统中数据源的访问通 常是只读的,而f d b s 支持读写访1 o 日1 4 。 图2 2 所示的是典型的m e d i a t e d 系统体系结构。该系统的主要部分是中介器 和针对每个数据源的包装器( w r a p p e r ) 。这里中介器的功能是接收针对全局模式 生成的查询,根据数据源描述信息及映射规则将接收的查询分解成每个数据源的 子查询,再根据数据源描述信息优化查询计划,最后将子查询发送到每个数据源 的包装器。包装器将这些子查询翻译成符合每个数据源模型和模式的查询,并把 查询结果返回给中介器。中介器将接收的所有数据源的结果合并成一个结果返回 给用户。 河海大学硕士学位论文第二章数据集成体系结构 图2 2m e d i a t e d 系统体系结构 2 2 物化方法 物化方法也就是数据仓库法,该方法需要建立一个存储数据的仓库,由e t l ( e x t r a c t ,t r a n s f o r m ,a n dl o a d ) 工具定期从数据源过滤数据,然后装载到数据仓 库,供用户查询。与虚拟视图法相对应称这种方法为e a g e r 方法。数据仓库体系 结构图2 3 所示。 图2 3 数据仓库体系结构 与虚拟视图法相似的是用数据仓库集成异构数据源也需要异构统一的数据 河海大学硕士学位论文 基于x m l 的数据集成平台框架及关键技术研究 视图,但不同的是e t l 工具过滤得到的数据存储到仓库中。而与传统的数据库 不同的是数据仓库中主要存储的是历史和汇总数据,用于决策支持,主要供分析 或执行等人员使用,而且为避免数据仓库与数据源中数据出现不一致,通常不允 许用户对数据仓库进行更新。 2 3 虚拟集成与数据仓库 数据集成在很大程度上是基于这两个相对的方法。数据仓库和虚拟数据集成 系统主要的不同是“e a g e r ”和“l a z y ”的对抗( 如图2 4 ) 。如上所述,数据仓库 方法需要建立一个存储数据的仓库,定期对数据源中的所有信息进行预处理,形 成符合仓库模式的信息,然后下载数据到数据仓库。对数据源中信息的预处理及 数据仓库的更新主要是通过e t l 工具。这种方法的主要好处是查询处理性能高, 但主要缺点是数据可能不是最新的,如果仓库模式设计成静态的,当有新数据源 加入或已有数据源发生变化时对仓库的修改代价比较高,而且创建数据仓库比较 费时费力,通常需要6 1 8 个月的时州5 1 。 i - - 一一一一一一一一一一一一一- 一一一一一一一p 一_ i 一一一一一一一一一一一一一一一一一一j 图( a ) 数据仓库 一一一_ - _ - _ 一一一一一一一一一一一一一_ _ 一一一_ 一 图( b ) 虚拟数据集成系统 图2 4 数据仓库与虚拟数据集成系统对比 虚拟视图集成方法用于数据仓库不实用或不能解决的情况,例如:用户只需 访问数据源中一小部分数据、数据频繁更新、需要实时数据、提供数据方只能处 理有限的查询或全局模式本身经常改变的情况。在完全的虚拟数据集成中,全局 模式是一个逻辑的或虚拟的实体,系统根据数据源相关信息将针对该模式的查询 在系统运行时动态重写成针对每个实际数据源的查询,中介器通过包装器获得数 据,然后整合,返回给用户。 在实际的数据集成解决方案中多采用虚拟视图集成的方法,该方法定义了 个或多个中介模式( m e d i a t e ds c h e m a ) ,通常指全局模式。这些模式是用来查询 河海太学硕士学位论文 第二章数据集成体系结构 数据,而不是存储数据,数据仍保存在局部数据源中。当用户向集成系统提交一 个查询,系统会将该查询翻译成针对各个数据源的查询集,然后将结果整合返回 给用户。应用这种解决方案得到的查询结果是最新数据。而且x m l 的出现使得 对各种数据信息的标准化描述成为可能,使系统更易于适应数据源间的不同。 虚拟视图集成优于数据仓库之处是:1 1 它能够集成那些只允许对数据进行有 限访问的数据源;支持数据的实时视图;能够同时描述中介模式的多个版本。2 ) 适合集成系统中的数据源数量很大,而且或者数据源更新频繁,不可预知用户 需要查询什么信息的情况。虽然虚拟视图集成方法要以一定的性能作代价,因为 每次查询都要连接数据源,如果有些数据源实际位置距中介器很远,则可能出现 响应延时,但是创建数据集成系统很快,而且在中介器中增用缓存策略可解决这 一问题,优化系统性能。 比较基于虚拟视图方法的两种体系结构:联邦和m e d i a t i o n 。实际应用中 m e d i a t e d 方法更常见。由于联邦系统中的所有数据源都要添加彼此访问的接口, 所以需要编写大量接口程序,为此该体系结构目前不常用。 本文考虑到水利领域的水文数据库,分布在各个水文站,而且数据更新频繁, 尤其在汛期。并鉴于以上对数据集成备体系结构的分析比较,认为m e d i a t o r - - w r a p p e r 体系结构是最适合水文数据集成平台的。在该结构中;中介器提供给用 户查询异构数据源全局视图的统一接口。包装器实现了统一查询到实际数据源查 询的转换,查询结果形式的统一。同时引入x m l 技术,可有效解决数据格式的 统一问题,方便包装器的设计与实现。 2 。4 本章小结 本章主要分析了数据集成三种主要的体系结构:联邦数据库、m e d i a t i o n 和数 据仓库,并分析比较了它们相应的集成方法:虚拟视图法和数据仓库法。在此基 础上比较了三种体系结构的优缺点,选择m e d i a t o r - w r a p p e r 体系结构作为水文数 据集成平台框架的结构。 河海大学硕士学位论文基于x m l 的数据集成平台框架及关键技术研究 第三章基于x m l 水文数据集成平台框架 目前,水文领域内各地区、各部门应用系统的开发和建设大多是各自完成, 所采用的计算环境有着不同的硬件平台、网络环境、后台数据源等,形成了复杂 的异构环境。每个部门或单位就是一个数据源,每个数据源都是异构的,每个部 门都有自己的数据库服务器或者数据库文件,存在着管理系统、数据结构、数据 表示等的差异。构建在其上的应用系统千差万别,缺乏信息的交流和知识的共享, 重复开发现象严重。但是同一领域内的各个系统之间虽然有很大差异,却存在很 多共性,特别是领域内的数据,虽然表现形式多种多样,但其内容是相同或相似 的,利用传统的软件开发方法会使领域数据越来越难以统一,并且无法进行信息 交互,因此需要采用新的技术来集成领域数据,以提高软件开发的效率和质量, 实现系统的集成。 数据集成的目的是提供一个访问异构数据源的统一接口,使用户不必考虑数 据模型的异构性、数据抽取、数据合成等问题【“。水文数据集成平台提供了用统 一方法查询领域内多个异构数据源的自动化方法。通过创建描述水文领域的全局 模式,把领域内的数据源映射成全局模式的视图。用户对全局模式提出查询请求, 数据集成平台把查询分解成针对数据源的查询,由数据源执行查询,然后系统智 能的处理查询,通过网络并根据相应的数据源信息、网络情况及其他因素读取数 据,将结果整合后返回给用户。 数据集成平台的使用方便了用户的开发与应用,他们只需指定想要什么,而 不必考虑怎样得到答案。不必去找相关的数据源,不必用特别的接口去操作每个 信息孤岛,也不必合并多个数据源中的数据,这些都由数据集成平台来完成。 3 1 平台框架的设计 3 1 1 目标 水文数据集成平台框架的设计目标主要有以下几点: 1 ) 能解决数据的异构性问题,使不同格式、不同数据管理系统中的数据能 够相互交流和转换。 2 ) 使应用系统能够统一、透明、高效地访问和操纵网络环境中各种分布、 异构的数据资源,使水利领域内的各部门能够方便地管理和访问位于不 同硬件平台、操作系统、网络协议和数据管理系统中的数据,快速地将 数据资源转化为信息资源。 3 ) 保持已有系统的自治性,在进行数据集成的同时不能影响已有系统的正 常运行。 4 ) 具有较好的可扩展性和适应性,能够适应应用需求的不断变化,可以实 河海大学硕士学位论文第三章基于x m l 水文数据集成平台框架 现数据源的即插即用。 3 1 2 体系结构 通过前面第二章的分析比较,本文选择虚拟视图的方法集成水文数据,选择 m e d i a t o r w r 印p e r 体系结构作为水文数据集成平台框架的整体结构,在该结构中, 中介器提供给用户查询异构信息源集成视图的统一接口。包装器实现了统一查询 到实际数据源查询的转换,查询结果形式的统一1 7 。本文选择x m l 作为公共数 据模型的描述语言,x m l 的优势( 充足性、条理性、可扩展性及与平台无关等 特性) 使其成为支持集成数据模型的最佳选择,通过应用x m l 及其派生技术 ( x q u e r y ,x m ls c h e m a ,d o m ,s a x ,s o a p ,x s l ) 可广泛集成不同数据格 式的数据源,而且多个客户端工具能通过统一接口通信。此外,局部数据源用 x m l 作视图隐藏了每个系统的局部特性,而且,x m ls c h e m a 模型的充足性简 化了包装器的映射,同时,功能强大的x m l 统一查询语言x q u e r y 8 】的出现使采 用统一的方式查询订l 全局和局部视图成为可能。所以,鉴于上述优势,本文 将x m l 技术引入到数据集成平台框架的研究,采用x m l s c h e m a 描述数据模型, 以统一的方式查询异构数据源,提高了系统的可扩展性、复用性以及与平台无关 等特性。 平台框架的整体结构如图5 1 所示。 应用层 中介器 包装器 信息层 匡防汛燃f 嘲x d b 蝴c 垂一j 。- ;拶 i 防汛凌綮 鲞w i 臁座用= = 鬃一 一 量t 嚣翳 l妙 纂t 麓 f 查询分解查询优化 查询执行引擎i 罗 ! 。群i 群_ 。鬻。疆二目旷一= 9 2 i ;绷 ls q l 包装器爵自定义雠器薪h t 眦御瓣羁x m l 文栏眇 由白 豢:x q u e r y t :龇文档 l :原生接口 图5 1 集成平台框架整体结构 中介器( m e d i a t o r ) :主要由查询分解器、查询优化器和查询执行引擎组 成a 它通过x d b c 统一接口接收用户应用提出的x q u e r y 请求,负责将全 局查询分解成针对每个数据源输出模式的子查询,并有效地将子查询传送 河海大学硕士学位论文基于x m l 的数据集成平台框架及关键技术研究 到相应的数据源包装器,通过统一接口得到x m l 形式的结果片断,处理 合并这些结果片断后通过x d b c 接口将结果返回给用户。 包装器( w r a p p e r ) :负责查询执行引擎与底层数据源间的通信,包括访 问关系d b m s 的s q l 包装器,访问任意应用的自定义包装器和访问 w w w 的特别设计的h t m l 包装器。包装器接收中介器发送来的予查询, 将其转换为数据源能够处理的查询,并将查询结果转换成x m l 形式返回 给查询执行引擎。 x d b c ( 删ld a t a b a s ec o n n e c t i v i t y ) 统一接口:平台结构中处理查询的 所有构件都可通过x d b c 访问。x d b c 接口由支持x q u e r y 和x m l 的 j d b c 风格客户端接口组成,是j d b c 接1 2 1 针对x m l 文档的改编。该接 1 2 1 是访问包装器、中介器的统一接口。所以,x q u e r y 查询可通过统一接 口提交到中介器或s q l 包装器。因此x d b c 既是输入接口也是中介器和 包装器的接口。 x d b c 基本功能如下: x q u e r y 数据源的连接管理( 包括中介器和包装器) 支持x m l 查询和更新( 本文主要描述该接口的查询处理部分) 获取作为查询结果的x m l 片断 返回描述数据源的x m ls c h e m a 3 1 2 1 中介器 这部分描述中介器,它提供了多异构数据源的一个统一视图和用x q u e r y 语言 的查询访问功能。为实现这一目标,中介器肩负着管理数据源和处理查询的任务。 子构件包括x q u e r y 解析器、查询分解器、查询优化器、查询执行器、x m l 缓存、 图5 2 中介器体系结构 河海大学硕士学位论文 第三章基于x m l 水文数据集成平台框架 元数据管理器和结果重组器。 如图5 2 所示是中介器的体系结构。x d b c a p i 是外部构件的唯一接口。所以 中介器通过x d b c 传输请求到包装器并通过它得到结果。而且,结果由x d b c 提 供,通过s a x 阅读器读取。所以,在中介器和包装器间传输的是事件流,避免了 分配中间存储结构而产生高消耗。 x d b ca p i :它是中介器和包装器接收外部查询、传输) ( 】旭结果的公共 a p i 。这个接口提供管理构件( 启动和停止连接) 和返回数据或元数据的 功能函数。 解析器:用于检查查询语句的语法,如果查询语法正确,那么解析器解 析查询生成查询结构。否则,返回错误提示。 查询分解器:根据数据源描述信息及映射规则将针对全局模式的查询分 解成针对每个数据源输出模式的查询,数据源描述信息来自元数据仓库。 分解是对全局查询的进一步操作。 查询优化器:查询优化器是根据元数据仓库中的数据源描述信息及统计 信息将分解后的查询转换成查询执行计划,然后发送给查询执行引擎。 该计划指定不同查询操作的顺序( 如连接、选择的顺序) 、指定每个操 作所用代数的顺序( 如顺序合并连接或哈希连接) 及不同操作符的调度 顺序。查询优化是查询处理过程为提高性能所必需的步骤,在本文不作 重点讨论。 查询执行器:执行器负责接收查询计划,通过x d b c 传输子查询到包装器 并将收集的结果存入x m l 缓冲内存中,结果形式是x q u e r y 中r e t u m 子句设 定的形式。有时,结果不完全存入缓存,而是将其生成s a x 事件交由重 组器直接处理。 结果重组器:结果重组器将缓存中分散的查询结果整合成用户需要的形 式,然后发送给用户。结果是用x m l 描述的,它可以以文本的形式在不 同网络及操作平台间传输。 元数据管理:管理所有注册了的数据源的模式,维护每一个数据源相关 的可查询的路径集的集合名字。这个路径集是一种数据向导,给出数据 源中所有路径的概述,如果没有给定路径就不能进行查询。路径集是在 注册数据源的时候由包装器给出,用命令x d e s c r i b e 获得,存放在元数据 仓库中。 元数据仓库:存储模式集成和查询处理过程中用到的一些基本信息,如 数据源描述信息、数据源路径集、输出模式和全局模式描述以及模式间 的映射规则等。数据源描述指出数据源的内容( 如包含水位表) 、属性 ( 站码、时间、水位等) 、完整性和可靠性、查询处理能力( 能处理选 河海大学硕士学位论文基于x m l 的数据集成平台框架及关键技术研究 择查询还是能处理任意s q l 查询) 及数据源可能的输出结果等。 3 1 2 2 包装器 包装器主要的任务是包装数据源的模式与数据。所谓包装模式就是把异构的 数据源用统一的模式显示出来,这部分内容将在关键技术研究中详细描述。所谓 包装数据就是将从各个数据源获得的查询结果转换成相同的格式。在水文数据集 成平台框架中包装器实现把针对数据源输出模式的查询翻译成实际数据源能够 处理的查询,并将获得的结果转换成y d v l l 形式。站在中介器的角度看包装器, 它能够执行中介器传来的针对一个确定数据源的查询,返回给中介器x m l 形式 的结果。站在数据源的角度看包装器,它相当与数据源的外衣,不影响数据源的 本身,所以保持了数据源本身的自治性。中介器是通过s a d ( 阅读器读取这些结 果。 纵观现行应用系统的数据存储平台,以关系数据库管理系统( r d b m s ) 为主 流,所以本文以r d b m s 为重点研究对象。 图5 | 3 所示是s q l 包装器的体系结构。 图5 3 s q l 包装器体系结构 图5 3 中所示的元数据仓库和中介器中用到的是同一个。这里的查询翻译器 负责将x i ) b c 接v i 接收的x q u 倒 y 查询翻译成数据源能够处理的s q l 查询,根 据是x q u e r y 到s q l 的映射方法,这部分作为关键技术在后面部分详细描述。 结果转换器获取数据源返回的查询结果,将其转换成符合条件的x m l 文档,通 过x d b c 接口传送给中介器。 3 2 平台框架的实现策略 从实现的角度看,水文数据集成平台框架的组件由一些

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论