




已阅读5页,还剩61页未读, 继续免费阅读
(计算机软件与理论专业论文)基于xml的通用数据集成平台的研究和实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 数据的存储和处理一直都是信息系统的中心,而数据集成则是信息系统研究的经典 问题。随着信息集成的飞速发展,产生了越来越多的异构数据源,这些数据源在语义和 模式上都互不相同。m e d i a t o r w r a p p e r “1 方法就是用来集成这些异构数据源,给用户提供 统一视图和统一的访问方式。基于m e d i a t o r w r a p p e r 体系结构,涌现很多的研究工 程,比如:t s i m m i s ”、g a r l i c “”和y a t “等,并取得了许多重要成果。随着x m l 技术 成,异构数据源集成再次成为了信息系统研究的一个热点。本文要为大家介绍的就是 个基于x m l 的采用m e d i a t o r w r a p p e r 体系的通用异构数据集成系统:e x c e e d 。 本文紧紧围绕通用异构数据集成平台这一主题,按照从分析、设计到实现及验证的 顺序展丌研究和讨论。 首先,本文对数据集成的背景、相关技术键技术进行了研究和分析,概括总结出各 个部分有益的研究成果,并分析了几种不问类型的异构集成系统。 其次,本文提出了p u s h 、p u l l 和h y b r i d 三种数据集成设计方案,并对p u s h 方案提 出规范化、翻译和复写的许多原理,同时分析了各种方案的优点缺点。接着对国内外的 一些方案进行了个简单的回顾。在本文的后半部分对w r a p p e r 进行了详细的分析,特 别是对于关系数据库的w r a p p e r 提出了四种到x m l 的映射方案并分析了其特点。 最后以p u l l 设计方案为基础,实现了一个通用的异构数据集成原型系统一e x c e e d 系 统。 结尾部分总结了论文所有的研究工作,并对工作进一步的发展做出了展望。 关键词:m e d i a t o r ,包装器,异构数据,数据集成,x m l 。全文索引 a b s t r a c t t h e c a p a b i l i t y o f d a t a b a s es t o r a g ea n d p r o c e s s i n g i sc e n t r a li nm o s ti n f o r m a t i o ns y s t e ma n d t h er e s e a r c ho f d a t ai n t e g r a t i o ni sac l a s s i c a lb r a n c ho f i n f o r m a t i o ns y s t e m t h e r ea r em o r ea n d m o r e h e t e r o g e n e o u s d a t ar e s o u r c e sa st h e r a p i dd e v e l o p m e n t o f i n f o r m a t i o nt e c h n o l o g y , w h i c h a r ed i f f e r e n ti nt h es e m a n t i c sa n ds c h e m a e a c ho t h e r t h em e d i a t o r w r a p p e ra p p r o a c hh a sb e e n p r o p o s e d t oi n t e g r a t et h e s eh e t e r o g e n e o u sd a t as o u r c e sa n dp r o v i d e su s e rw i t hau n i f i e d i n f o r m a t i o nv i e w i nr e c e n ty e a r s ,t h e r ee m e r g em a n y r e s e a r c hp r o j e c t sf o c u s i n go n h e t e r o g e n e o u s d a t ai n t e g r a t i o n ,s u c ha sy a t ,g a r l i ca n dt s i m q v i i s ,w h i c hh a v ea d o p t e dt h e 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 e w h a t sm o r e ,t h e s ep r o j c o t sa c h i e v es om a n yi m p o r t a n tr e s u l t s t h er e s e a r c ho f h e t e r o g e n e o u sd a t ai n t e g r a t i o ni sa h o t p o t o n c ea g a i n ,a sx m l e m e r g e d a st h e s t a n d a r dd a t ae x c h a n g ef o r m a tf o ri n t e r a c t - b a s e db u s i n e s sa p p l i c a t i o n s a nx m l b a s e dg e n e r a l h e t e r o g e n e o u sd a t ai n t e g r a t i o np l a t f o r m ,e x c e e ds y s t e m ,i s p r e s e n t e di nt h i sp a p e r f o c u s e do nt h et o p i co fr e s e a r c ha n di m p l e m e n t a t i o n o nx m l - b a s e d g e n e r a l h e t e r o g e n e o u s d a t ai n t e g r a t i o np l a t f o r m ,t h ep a p e ro r g a n i z e ss t u d i e sa n dd i s c u s s i o n si nt h eo r d e r o f a n a l y s i s ,d e s i g na n di m p l e m e n t a t i o n f i r s t l y , t h ep a p e r s t u d i e sa n d a n a l y s e s t h eb a c k g r o u n da n ds o m et e c h n o l o g ya s s o c i a t e d w i t hd a t ai n t e g r a t i o nf u r t h e rm o r e ,i ta n a l y s e sa n ds u m m a r i z e s t h eb e n e f i c i a ls t u d y i n g a c h i e v e m e n t so f s o m ef a m o u sh e t e r o g e n e o u sd a t ai n t e g r a t i o ns y s t e m s s e c o n d l y ,t h r e ed e s i g n i n g s c h e m e so ff o rh e t e r o g e n e o u sd a t ai n t e g r a t i o ns y s t e ma r e p r e s e n t e di nt h i sp a p e r a n d i td e s c r i b e st h e p r o c e s so f n o r m a l i z a t i o n , t r a n s l a t i o na n d r e w r i t e rf o r p u s hs c h e m a s u b s e q u e n t l y ,i ts u m m a r i z e st h em e r i ta n d d e m e r i to f e v e r ys c h e m a ,i nt h el a t e r p a r to f t l l i sp a p e r i ta n a l y s e st h ed e s i g no f a l m o s t a l lk i n d so f w r a p p e ri nd e t a i l e s p e c i a l l yf o r r e l a t i o n a ld a t a b a s e ,i td e s c r i b e sf o u rm a p p i n gs c h e m e sf r o m t h er e l a t i o n a lt a b l e st ox m l d o c u m e n t s f i n a l l y ,t h ep a p e ri m p l e m e n t s a l lx m l , b a s e d g e n e r a lh e t e r o g e n e o u sd a t ai n t e g r a t i o n p r o t o t y p ep l a t f o r m ,e x c e e ds y s t e m t h el a s tt w o c h a p t e r ss u m m a r i z e a l lt h er e s e a r c hw o r k sa n d g i v e ss o m ep r o s p e c t t ot h e f u r t h e rw o r k s k e y w o r d s :m e d i a t o r ,w r a p p e r ,h e t e r o g e n e o u sd a t a , d a t ai n t e g r a t i o n ,x m l ,f u l l - t e x t i n d e x 第一章绪言 1 1 引言 第一章绪言 今天,越来越多的的应用需要访问各种异构数据源。对于企业应用来说,这既是企业内 部发展的需要也是企业适应外部环境的需要。 企业在发展过程中积累了大量数据,并为存储和管理这些数据不断投资。然而,由于实 施数据管理系统的阶段性、技术性以及其它经济和人为因素的影响,以至即使在一个单独企 业,采用的数据管理系统也大不相同,从简单的文件数据库到复杂的网络数据库,它们构成 了企业的异构数据源。尽管这些数据管理系统能够满足数据存储和管理要求,但是在许多情 况卜,为完成一项工作企业应用可能需要访问分布在网络不同位置上的多个数据篇理系统 中的数据。例如,某公司需要了解套设备的生产和使用情况,那么,相关应用首先必须访 问牛产准备科、工装所、以及使用车间的不同的数据库系统来提取相关数据,然后进行处 理。很显然,原有的数据管理系统并不能提供这种支持,需要一个强大的系统能够集成存在 于分布数据源的数据。 不仅如此,随着牛存环境的不断变化,企业在把握机遇的同时也面临着许多挑战。网络 的发展使企业逐渐从一个孤立节点发展成为不断与网络交换信息和进行商务事务的实体,企 业数据集成也从企业内部集成走向了企业间集成。现在的企业比以往任何时候都需要将内部 数据进行发布和交换,这必然导致越来越多的企业应用需要访问各种异构数据源,并且这些 数据源可能分布在网络上任何地方。为了满足这种需求,必须有一种系统能够支持异构数据 源的数据集成。 所以,无论是从企业自身发展角度,还是从企业间数据集成的角度来看越来越多的企 业应用需要一种异构数据集成系统作为访问异构数据源的支撑,因此,为了满足企业的这些 需求,涌现许多的研究工程致力于解决企业的这些问题,比如:m i x ”】,t s i m m i s e “1 , g a r l i c ”】,y a th 6 1 等,但是,这些系统缺乏统一的方法和模式通用性差。 就异构数据集成系统而言,它的庞大需求和复杂的设计开发过程对系统开发者而言无疑 足一个巨大的挑战。首先。技术环境和设计需求目益复杂,但是又缺乏一套完蹩的、成熟的 设计理论,系统设计者必须结合需求在众多的策略中寻求最优和次优的组合,而这需要很丰 一1 第一章绪言 富的经验和技巧。其次,在具体的开发过程中,缺乏各关键技术部分的可复用代码或组件, 开发者不得不投入大量的时间致力于某些关键技术的开发,而不是应用逻辑或商业逻辑的开 发,这必然提高了系统的开发难度和周期。另外,千差万别的异构数据集成系统也为今后各 系统间的信息交换埋下了障碍。 因此,我们迫切需要构造一个具有通用性的企业系统集成系统环境,它可以提供给企业 所要求的那些具有一般性的服务,以使企业能够基于此平台而方便地集成新的异构数据源。 “基于x m l 的通用数据平台分析和设计”,这一项目由天津市自然科学基金资助的科研项 目就是针对这个目标而设立的。本文作者有幸参与到该项目中,并承担了部分的系统设计和 开发工作。 一个真正通用的异构数据集成平台能够大大降低目标系统的开发周期和成本,提高企业 的数据集成效率,节省企业成本,减少软件重复开发的,因此有着十分巨大的研究意义和应 用价值。 1 2 本论文的主要研究工作和创新之处 通用异构数据集成平台的研究与设计是一项艰难的工作,它的目标是要能够具有弹性高 护展性的集成各种异构数据源,因此,该项工作最大特点就是涉及的面很宽,而且目前国内 外对它的研究都才刚刚起步,能够查阅的资料十分有限。 本论文以大量的分析和总结工作为基础,提出了一套基于x m l 的m e d i a t o r w r a p p e r 体 系平台设计方案,并给出了它的原型实现,主要的工作和创新如下: l i t 对各种异构数据集成系统关键技术进行了研究和分析,并概括总结出各个部分有益的 研究成果,给出了设计通用异构数据集成平台的一般思路和方法。 - 概括总结出如p u s h 、p u l l 和h y b r i d 种通用平台的设计模式,并对国内外的一些 通用异构数据集成平台作品进行了研究分析。 i l l 以p u l l 设计方案为基础,实现了一个通用的基于x m l 的异构数据集成平台原型系 统。 i l l 对于目前一些异构数据集成平台太“窄”太“专”不通用的特点,本文提出了一个更 加通用的基于x m l 的异构数据集成平台,而且它提供了基本的功能和服务,能非常轻松 容易的增加新的数据源,能有效降低目标系统开发的工作量和难度。 2 一 第一章绪言 1 3 本论文结构 本文围绕基于x m l 的异构数据集成平台的背景分析、概念提出、方案分析和原型实 现,按照分析、设计到实现的顺序展开论述,内容的概要如下: 第二章异构数据集成综合分析。本章简单回顾了数据集成的概念和集成方式。并介绍了 基于x m l 的数据集成平台需要涉及的理论知识。最后,本章对几种常用的通用平台设计范 式和一些国内外的通用数据集成平台进行了分析。 第二章通用异构数据集成平台的方案分析。本章提出了p u s h 、p u l l 和h y b r i d 二种 数据集成设计方案,并对p u s h 方案提出规范化、翻译和复写的许多原理。同时分析了各种 方案的优点缺点。最后对国内外的一些方案进行了一个简单的回顾。在本章的后半部分对 w r a p p e r 进行了详细的分析,特别是对于关系数据库的w r a p p e r 提出了四种到x m l 的映射方 案并分析了他们的特点。 第四章原型系统的设计与实现。本章详细阐述了一个基于x m l 的采用p u l l 方案的通 用异构数据集成平台设计和实现。 第五章是全文的总结和对未来研究工作的展望。 参考文献。 第二章异构数据集成综合分析 第二章异构数据集成综合分析 2 1 异构数据集成综述 2 1 1 数据集成的概念和方式 本人的这个课题一直围绕着数据集成这样一个概念进行,那数据集成又是什么呢? 数据 集成是指一种中间件( m i d d l e w a l e 或m e d i a t o r ) ,它能够让应用程序以统一的方式访问各种 异构数据源,就好像所有的异构数据源是一种单一数据源,无论它们是否为同一种数据源。 也就是说,数据集成屏蔽了数据源的差异性。数据集成能为数据和内容源的提供实时的读和 写,能变换这些数据以进行商业分析和数据交换,能够管理这些数据的安放以调整性能,流 通和可用性。 当前,实现异构数据集成的方法从形式上讲一般有两种:第一种就是将原有的数据移植 到新的数据镩;理系统中来,为了集成不同类型的数据,必须将一些非传统的数据类型转化成 新的数据类型。这种集成方式的缺点是随着数据管理系统的升级,原来数据的相关应用软 件,或是被废弃或是重新开发,以适应新的数据管理系统。因此,通常移植到一个新系统不 是一个实际的解决方案。 第二种方法是利用中间件集成异构数据源,该方法并不需要改变原始数据的存储_ 手u 管理 方式。中间件位于异构数据库系统( 数据层) 和应用程序( 应用层) 之间,向下协调各异构 数据源系统,向上为访问集成数据的应用提供统一数据模式,和通用的数据访问接口。各数 据源的应用仍然完成它们的任务,中间件系统则主要集中为异构数据源提供一个高层次检索 服务。显然,中间件系统模式是实现异构数据集成较理想的解决方案。 从具体的实现方式上讲,实现异构数据集成的方法从实现上来讲又分为四种: m u l t i d a t a b a s e s f e d e r a t e dd a t a b a s e s d a t aw a r e h o u s e s m e d i a t o r w r a p p e rs y s t e m s 4 第二章异构数据集成综合分析 m u l t i d a t a b a s e s ( 多重数据库,如图2 1 ) 丰要功能是:能够透明的访问多重( 关系 数据库,它也是关系数据库中间件。 1 屏蔽了数据库语言和分布的差异 2 利用2 - p h a s e 提交的方式处理查询和 更新多重数据库( 2 p h a s es u b m i t ) 3 不能屏蔽多重数据库模式的差异 多数据库的任务是能对多个关系数 图2 1 多重数据库 据库进行透明访问。在图2 1 例中显示了一个多数据库的基本体系结构( 此例来源于i b m 的 d a t a j o i n e r ) 。d a t a j o i n e r 使用的是各厂商自己的数据库客户端( 他们各自的a p i ) 来访问不 同的关系数据库。它能克服不同s q l 语法之间的差异,能分别对各个数据库发出的查询请求 和处理更新。一个重要的方面是多数据库不能屏蔽各个数据库的不同的模式,多数据库模式 正是取自组合数据库的模式的合并。 f e d e r a t e dd a t a b a s e s f s :代表f e d e r a t e ds c h e m a e s :代表e x p o r ts c h e m a d s :代表d a t as o u i c e 联邦数据库比多重数据库更先进一 步的原因是转换要集成的数据库在数据 模型和数据库模式。所以,具有不同数 据模式的异构数据源能被集成,集成数 据库的数据库模式不同于组合数据库的 图2 2 联邦数据库 模式。为了规范化从组合数据库到集成数据库映射的过程,图2 2 显示了一个四层的抽蒙模 式体系结构。在映射过程中它分割成三种不同的关系。 在第一步通过给出各输出模式来克服不同模型之间的区别( 关系数据库、x m l 等) , 该模式是用相同( 规范的) 数据模型表示的。每个组合数据库能自发的决定在输出模式中要 提供那些数据和对数据的哪些访问。这些输出模式能被不同的集成数据库使用。 5 一 第二章异构数据集成综合分析 第二步中集成数据库指定一个输入模式后,决定要使用哪些取自组合数据库中的数据。 输入模式当然只能用由输出模式提供的结果,这样它就是输出模式的一个视图。 在第三步中,集成的d b m s 把从不同的数据库获得的数据映射成一个通用的视图,数据 是在输入模式中定义的。这个映射是在模式层和数据层的一个复杂的映射( 在后面的章节将 进一步讨论) 。集成的模式是集成数据库作为逻辑数据库模式提供给应用程序的。 在标准数据库中,可以从集成模式获得指定的应用程序的视图。 d a t aw a r e h o u s e s 联邦数据库方法的另个变形是 数据仓库。这些被用来全面分析在许 多大数据集来作出商业决策,大数据 集是从o l t p 数据库( 例如,全国 个零售商的所有仓库中的数据) 的数 据源组合而成。因为不进行更新,大 数据集的有效的处理过程是关键的 步,所以数据在组合数据库中不直接 被访问,而是在集成数据库和中央数 据仓库被物化,即被创建。通过在所 谓的数据中心进行物化可以从仓库中 图2 3 数据仓库 获得代表性的特定应用视图,然后对这些视图应用不同的数据分析工具。 数据仓库中重要的问题包括抽取器的开发,抽取器不仅仅被用于从不同数据模型和模式 到数据仓库模式的映射,而且用于执行所谓的数据清理,例如除去原始数据中的错误和“噪 音”数据。 6 一 第二章异构数据集成综合分析 m e d i a t o r w r a p p e rs y s t e m s m e d i a t o r 的定义最早e hg w i e d e r h o l d 给出: am e d i a t o ri sas o f t w a r em o d u l e t h a te x p l o i t se n c o d e d k n o w l e d g e a b o u t s o m es e t so rs u b s e t so fd a t at oc r e a t e i n f o r m a t i o nf o rah i g h e rl a y e ro f a p p l i c a t i o n s 。 现在,更普遍更准确的定义是: m e d i a t o r :am e d i a t o ri sas o f t w a r e c o m p o n e n t t h a ts u p p o r t sav i r t u a l 图2 4m e d i a t o r w r a p p e r d a t a b a s e w h i c ht h eu s e rm a y q u e r y a si fi tw e r em a t e r i a l i z e d ( p h y s i c a l l y c o n s t r u c t e dl i k eaw a r e h o u s e ) t h em e d i a t o rs t o r e sn od a t ao f i t so w n r a t h e r ,i t t r a n s l a t e st h eu s e r sq u e r yi n t oo n eo rm o r e q u e r i e st oi t ss o u r c e s t h em e d i a t o r t h e ns y n t h e s i z e st h ea n s w e rt ot h eu s e r sq u e r yf r o mt h er e s p o n s e so ft h o s e s o u r c e s ,a n dr e t u r n st h ea n s w e rt ot h eu s e r 。即:m e d i a t o r 是一种软件组件,它支持虚拟数据 库,用户可以查询这个虚拟数据库,就像它已经物化( 已经创建完了,就像数据仓库一 样) 。m e d i a t o r 不存储任何自己的数据,而是将用户的查询翻译成一个或多个对数据源的查 询。然后,m e d i a t o r 将那些数据源对用户的回答进行综合处理,将结果返回给用户。 比较于其他的集成方法,m e d i a t o r w r a p p e r 方式,有如下特点: 1 ,数据源是只读且不能修改,主要是用于信息检索 2 ,可以支持除关系数据库外的其他异构数据源,如h t m l 、x m l ,的集成 3 ,它是虚拟的、轻量级的和灵活的 4 不存储仟何数据源,只存储较少的元数据,所有需要的存储空间很少。 5 ,查询的数据源总是最新的( u p t o d a t e ) 。 2 2x m l 及相关技术简介 在本论文中,本人选用了基于x m l 的m e d i a t o r w r a p p e r t 。j 体系的实现方案作为企业异构 数据源集成原型系统的解决方案( 即中间键集成方式) ,所咀,必须为这种方案选择一种全 - 7 第二章异构数据集成综合分析 局的数据模式。负责集成的中间件系统必须提供一种全局数据模式来统一异构的源数据模 式。过左,异构数据源的集成系统,例如多数据库系统( 如,c i m s 中的多数据库系统) 或 联邦数据库系统通常采用关系或对象的数据模式作为全局模式。然而,它们并不能满足网络 时代的i n t r a n e f f i n t e m e t 应用所提出的高标准。一般来说异构数据集成的全局模式必须满 足:( 1 ) 能够描述各种数据格式,无论其是结构化的还是半结构化的,无论其是否支持所 有的查啕语言还是简单的文本查询。( 2 ) 易于发布和进行数据交换,集成后的数据可以方 便的以多种格式发布和便于应用交换数据。 随着x m l 及其相关技术和应用的发展,x m l 不仅成为了应用间交换数据的一种标准 也是万维网重要的信息交换标准和表示的技术之一。事实上,现在业界已存在几个工业标准 f x m ld t d ,x m l s c h e m a x p a t h ,x q u e r y ,x s l t 等) 。x m l 的产牛给不同的信息格式 的统一带来了深刻的影响。x m l 第一次提供了一种信息交换模式,这种格式是可编辑易 解折,并且可以表示为任何类型的结构或半结构化信息。 目前,x m l 已有多方支持,并且x m l 的强适应性,使其可以实现对资源的快速包装和 集成发布,所以,通过引入了x m l 技术,将x m l 技术与全局数据模式相结合可以使异构数 据源集成中间件系统能更好地适应于开放、发展环境( 例如,企业的动态联盟环境) 中的数 据集成。许多著名的异构数据源集成研究都引入了x m l 相关技术,例如i b m 的t s i m m i s 项目,g a r l i c 项目以及s i m s 和m o m i s 项目等项目,所以有必要把x m l 及x m l 相关技 术简单的介绍一下。 2 2 1x m l 简介 x m l l 2 l ,或称为可扩展标记语言( e x t e n s i b l em a r k u pl a n g u a g e ) ,是一种可以用来创建 自己的标记的标记语言。它由万维网协会( w 3 c ) 创建,用来克服h t m l 的局限。和 h t m l 一样,x m l 基于s g m l 一标准通用标记语言( s m n d a r dg e n e r a l i z e dm a r k u p l a n g u a g e ) 。尽符s g m l 已在出版业使用了数十年,f u 其理解方面的复杂性使许多本打算使 用它的人望而却步( s g m l 也代表“听起来很棒,仳或许以后会用( s o u n d s g r e a t ,m a y b e l a t e r ) ”) 。x m l 有二个通用术语用来描述x m l 文档的组成部分:标记( t a g ) 、元素 ( e l e m e n t ) 和属性( a t t r i b u t e ) 。它定义了利用简单的、人类可读的标签( t a g ) 对数据进行标 记所采用的一般语法,提供了计算机文档的一种标准格式。这种格式很灵活,可以进行定制 8 一 第二章异构数据集成综合分析 以用于各种领域,如网站、矢量图形、家谱、房地产清单、对象串行化、远程过程调用、声 音邮件系统,w e bs e r v i c e s 等。总之,x m l 是一种非常灵活的数据格式。 x m l 是一种文本文档的元标记语言。x m l 文档中包含的数据是文本字符串,它的数据 和标签有一个特别的单位称为元素( e l e m e n t ) ,并且一个x m l 文档有一个称为r o o t 的根元 素。x m l 是一种元标记语言( m e t a m a r k u pl a n g u a g e ) ,所以没有一套能够适合于各个领域中所 有用户的固定标签和元素。但是就如x m l 中的x ( e x t e n s i b l e ) 意思一样,x m l 是可扩展 的,也就是说可以对这种语言进行扩展以满足各种不同的需要。 虽然x m l 在允许定义元素方面很灵活,但是在其他许多方面却很严格。x m l 文档语法 规定了如何设置标签、标签的位置、什么样的元素名称合法以及如何给元素赋予属性等。语 法定义非常详细以满足能够阅读和理解任何x m l 文档的x m l 解析器的发展的需要。符合 给语法的文档称为合式的( w e l l f o r m e d ) 。非合式的文档是不允许的,就如在c 语言中不能接 受包含错误语法的程序一样,x m l 处理器拒绝处理包含合式性错误的文档。 为了增强互操作性,个人或组织可以约定只使用某些标签,这些标签集合称为x m l 应 用。x m l 应用中允许的标记可以记录在文档类型定义( d t d :d o c u m e n t t y p e d e f i n i t i o n ) 或 x m ls c h e m a 中。d t d 或x m l s c h e m a 列出所有的合法标记并且指定文档在什么位置以及 如何包含该标记。以d t d 或x m l s c h e m a 相匹配的文档称为有效的,否则称为无效的。 d t d 和x m ls c h e m a 对于文档来说是可选的。 x m l 文档包含的数据是可移植的。x m l 使真正的跨平台、长期的数据格式称为可能。 很久以前,一种平台上用某个软件写的文档没有必要在另外一种平台上可读或者是对同一平 台 :的另,一个程序可读,甚至可以对同一平台上同一软件的未来或过去的版本来说都是不可 凄的。即使文档可读,也不一定能获得其中的所有信息。还有,x m l 是一种极为简单的、 有良好文档记载的、直观的数据格式。x m l 文档是文本,任何能够读文本文件的工具都能 读取x m l 文档。x m l 数据和标记都是文本而标记在x m l 文档中以标签的形式出现。 由rx m l 的这些特点,使对异构数据集成的研究再次成为了一个热点,近年来,有许 多的关于异构数据集成的研究工程,并取得了很大理论和实践成果,为本文提供很多的理论 平实践依据。 x m l 世界中存在多种标准。除了摹本x m l 标准以外,其它标准定义了模式、样式表、 链接、w e b 服务、安全性和其它重要项目。最流行的x m l 标准有: 9 第二章异构数据集成综合分析 x m l 规范【”,x m ls c h e m a ”,1 5 1 ,1 6 l ,x s l 规范1 7 1 ,x s l t 规范 ”,x p a t h 规范f 。o x q u e r y 规范i ,其他的x m l 规范可以浏览w 3 c 的网站( 皿e ;丛型坐:立3 :q ! g ) 2 2 2x m ld t d 和x m ls c h e m a x m l d t d ( x m l 的文档类型定义) 是近几年来x m l 技术领域所使用的最广泛的一种模 式。f u 是由于x m ld t d 并不能完全满足x m l 自动化处理的要求,所以w 3 c 于2 0 0 1 印 5 月正式推荐x m ls c h e m a 为x m l 的标准模式。w 3 c 希望以x m l s c h e m a 来作为x m l 模 式描述语言的丰流,并逐渐代替x m ld t d 。下面简单的分析一下这两者的特点: 从模式的描述语言来说,x m ls c h e m a 和x m ld t d 都属于语法模式。与概念模式不 同,语法模式在对同一事物描述时,可以采用不同的语法,例如在对关系模式描述时,无论 是使用x m ls c h e m a 还是x m ld t d ,都既可以用元素也可以用属性来描述关系模式的列。 模式必须以某种格式来表示,x m ls c h e m a 的格式与x m ld t d 的格式有着非常明显的 区别,x m ls c h e m a 事实上也是x m l 的一种应用,也就是说x m ls c h e m a 的格式与x m l 的 格式是完全相同的,而作为s g m l d t d 的一个子集,x m l d t d 具有着与x m l 格式完全不 同的格式。这种区别会给x m ls c h e m a 的使用带来许多好处。 x m l 有非常高的合法性要求,x m ld t d 对x m l 的描述,往往也被用作验证x m l 合 法性的一个基础,似是x m l d t d 本身的合法性却缺少较好的验证机制,必需独立处理。 x m l s c h e m a 则不同,它与x m l 有着同样的合法性验证机制。 对于许多开发人员来讲,x m ls c h e m a 与x m ld t d 相比的一个最显著的特征,就是其 对数据类型的支持了。这完全是因为x m l d t d 提供的数据类型只有十种内簧( b u i l t i n ) 数 据类型。x m l s c h e m a 则不同,它内置了二十七种数据类型,并通过将数据类型表示为由 v a l u es p a c e 、l e x i c a ls p a c e 和f a c e t 三部分组成的三元组而获得更大的灵活性。但是,x m l s c h e m a 数据类型的真正灵活性来自于其对用户自定义类型的支持。x m l s c h e m a 提供两种方 式来实现数据类型的定义。 对元素顺序的支持而言,x m ld t d 与x m ls c h e m a 都支持对予元素节点顺序的描述, 似x m ld t d 没有提供对于无序情况的描述,也就是如果以x m ld t d 来描述元素的无顺序 出现情况,它必须采用穷举元素各种可能出现的排列顺序的方式来实现,这种方法不仅繁 琐,有时甚至是不现实的。 一1 0 一 第二章异构数据集成综合分析 对命名空间而言,在x m l 中引入命名空间的目的是为了能够在一个x m l 文档中使用其 它x m l 文档中的一些具有通用性的定义( 通常是一些元素或数据类型等的定义) ,并保证 不产牛语义上的冲突。x m l d t d 并不能支持这一特性。这进一步限制了x m l d t d 的适用 范围。而x m ls c h e m a 则很好的满足了这一点。 对于a p i 的支持而言。在掌握和使用x m l 技术时,d o m 和s a x 可能是技本人员最常 使用到的x m la p i 。d o m 和s a x 只对x m l 实例文档有效,虽然可以通过它们实现以 x m ld t d 来验证x m l 文档,但是d o m 和s a x 却没有提供解析x m ld t d 文档内容的功 能,也就是说无法通过d o m 或s a x 来得到d t d 中元素、属性的声明和约束的描述。 2 2 3x p a t h 和x q u e r y - x m lp a t h 】通常缩写为x p a t h ,是一种比x q u e r y 出现更早的规范。它是一种用来 表示x m l 文档特殊部分的非x m l 语言。 i i x m l q u e r y i “l ,通常缩写为x q u e r y ,是一种己经以这样或那样的方式存在几年的规 范。x m lq u e r y 工作组在1 9 9 9 年9 月正式成立,任务是创建一种灵活的查啕语言用 来从x m l 文档中抽取数据。 x q u e r y 是从q u i l t 【”1 演化而来的。最初作为用户级语法的试验器,q u i l t 是整个工作组 的i 办作成果的,用于定义需求、用例、底层数据模型和代数。 x q u e r y 中最强大的新特性是f l w r 表达式。f l w r ( 发音为f l o w e r ) 是f o r - l e t w h e r e r e t u r n 的首字母缩略词,这些了句都允许在这些表达式的任何一个中。f l w r 表达式可以完 成很多您在x s l 样式表中做梦都别想完成的任务。每个f l w r 表达式都有一个或多个f o r 了 句、一个或多个l e t 了句、一个可选的w h e r e 予句以及一个r e t u m 予句。 x q u e r y 构建在x p a t h 规范之上。x q u e r y 与x p a t h2 0 有同样的公共数据模型、形式语 义和函数与操作符。事实上,x q u e r y 的一些特性已公认为是非常基本的,以致于它们已被 合并入x p a t h2 0 规范中,而且这个规范目前为w 3 c 的x m lq u e r y 和x s l 工作组共同拥 有。这是个好消息,因为它意味着样式表作者们将很快就能利用象序列、量化和更强有力的 类型控制这样的特性。同样,已将条件表达式和迭代器添加到了x p a t h 语言中,而在以前它 们是x s l 语言的一部分。这样就可以在样式表中编写更清晰的代码并且为样式表创建者 带来较少的麻烦。 第二章异构数据集成综合分析 2 3 几种通用异构数据集成平台的介绍和分析 随着x m l 及相关技术的兴起,越来越多的研究工程专注研究异构数据集成,并取得了 显著的成果。t s i m m i s t “1 和g a r l i c i 5 1 就是其中的佼佼者,所以有必要简单的介绍下这些 工程: t t s i m m i s 系统 t s i m m i s ( 斯坦福大学刹i b m 共同研究的多种信息源的管理器) 是一个研究异构数据 集成的工程,此工程开发了一些使异构信息源快速集成便利的工具。其中这些工具既能集成 结构异构信息源也能集成半结构化数据异构信息源。基于m e d i a t o r - - w r a p p e r 体系结构的 t s i m m i s 系统,如下图所示 a p p l i c a t i o n ,n e t w o r k l c l i e n t s t ”。”。一? 。r ”“ 1 1 t 。“”“。 fim 画r olf i fm 运i 一一一一一一 im 幻r n 。b 。:,。;。;。嗍;。赢嗣赢。 l 瞳 。: 1w 哑,fl 、v 簟r nb i 囟函函 图2 5t s i m m i s 体系结构 每一个数据源都是一个相应的翻译器( 包装器) ,这个包装器把潜在的数据对象从逻辑 上转换成通用信息模型。它把通用模型中的信息查询转换成数据源能执行的请求,并把数据 源返回的结果转换成通用模型。 t s i m m i s 也提供了一个工具包用于从一些结构良好的数据源( 如:关系数据库) 中抽 墩属性,并把这些信息自动地转换成一个通用对象模型。对于那些半结构和非结构化的数据 源,包装器应根据实际情况来创建。 t s i m m i s 使用o e m ( 对象转换模型) 作为它的通用信息模型。所有的数据源必须被 建模成o e m 。 1 2 第二章异构数据集成综合分析 o e m 对于描述性数据是一个很好的例子和功能强大的模型。设想有下图所示的一组个 人数据: 图2 6 0 e m 模型例子 o e m 对象由一个标记:个人记录,类型:集合和值组成。这个标记恰好是一个表示对 象的字符串。类型可以是简单的数据类型如整型、双精度型或集合型。如果类型是简单类 型,值域包含实际的简单值象2 3 4 或“城市”。如果类型是“集合”,值域包括值的集合。 o e m 可以被表示成如下图所示的标记图: 图2 7 0 e m 模型的标记图 被称为o e m - - q l 的类似s q l 语言被用来提供基于o e m 创建的数据的查询 图2 8 0 e m - - q l 例子 - 1 3 第二章异构数据集成综合分析 查询结果也是o e m 对象: 簟g a r l i c 系统 g a r l i c 系统也是采用m e d i a t o r w r a p p e r 结构的中间件系统,它提供了一个各种异构 遗留数据源( l e g a c yd a t as o u r c e s ) 的集成视图,而没有改变数据的创建方式和数据的存储 场所位置。包装器封装了内部的数据并协调数据源和m e d i a t o r ,下图是g a r l i c 中间件体 系结构图: 图2 9g a r l i c 体系结构 1 g a r l i c 中的包装器( w r a p p e r ) 包装器通过转换潜在的模式和数据把它的数据源映射成g a r l i c 中间件模型。他们通过把 相似的项目集合建模成类接口给m e d i a t o r 提供了一个0 0 视图。对于每个接口,也许有多个 实现。每个实现与集台的一些了集一致这些集合被存放于一些数据源中。包装器本身是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 基于深度学习的变电站场景个人防护装备检测算法研究
- 高中美术色彩课
- 月季自育测试题及答案
- 2025新国家统一法律职业资格考试题库+答案
- 导尿操作安全注意事项
- 跌倒风险评估与防控策略
- 2025二建《建筑工程管理与实务》高分通关卷3带答案与解析
- 工贸行业课件
- 工程问题课件下载
- 社区合作农场管理服务协议
- 2025高考数学专项复习:马尔科夫链(含答案)
- 《提高利润的78个方法》
- 环境卫生学:公共场所卫生
- 街道、镇、区道路保洁及垃圾转运服务采购项目服务方案(投标方案)
- 亚克力uv施工方案
- 2024-2030年中国电解二氧化锰(EMD)行业市场发展趋势与前景展望战略分析报告
- 幼儿园卫生检查表
- 自建房水电安装承包合同协议书
- (正式版)HGT 3706-2024 工业用金属孔网管骨架聚乙烯复合管
- 中风病饮食指南
- 钢结构施工技术指导手册
评论
0/150
提交评论