已阅读5页,还剩67页未读, 继续免费阅读
(计算数学专业论文)基于xml和xquery的数据集成框架研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中文摘要 摘要 数据集成的需求由来已久,对数据集成系统的研究一直是数据管理研究领域 及其它相关领域一个非常热门的课题。如何找到种灵活的、有效的方法,将原 本分离、异构的数据源中的数据以无缝的、透明的方式集成起来? 这个问题成为 了数据集成领域内讨论的热点。 近年来随着x m l 技术的兴起和发展,运用) ( m l 来实现数据集成开始吸引越来 越多研究人员的目光。x m l 作为一种数据格式描述的元语言标准,不断地被应用 到各种不同领域的数据集成中去。x m l 的充足性、条理性、可扩展性和自描述性 成为其作为数据模型描述语言的优势。对比于传统的数据集成技术,它更能满足 系统灵活性和通用性方面的要求。 本文从几种数据集成技术入手,分析了蹦l 在这几种现有的数据集成方法当 中的运用程度,并针对完全利用) ( m l 实现数据集成的框架作了进一步研究,基于 现有方法的主体思路作了自己的改进与实现,主要工作如下: ( 1 ) 综述数据集成原理,陈述该领域的研究情况; ( 2 ) 对之前其他学者提出的基于垤l 的数据集成框架进行归纳,对异构 数据处理能力、性能进行分析,将其中的共性和特性加以总结; ( 3 ) 基于数据集成框架原理,提出了一个完整的基于x m l 的集成框架。 该框架在细节上有别于以往的集成框架,目的在于提供一种更为灵活、更具扩展 能力的集成形式,作为现有理论的延拓。文中会对框架的每个环节给出具体的实 现方法; ( 4 ) 阐述查询原理,运用x q u e r y 进行查询建模,实现查询重构和执行; 本文工作的意义在于提出了一个有别于以往集成思路的基于x m l 的数据集成 框架,并从整体模型到局部模型,再到细节的数据定义都给出了较为详细的解决 方案。为进一步在此基础上建立一个更为通用的数据集成访问架构奠定基础。 关键词:数据集成、x m l 、x q u e r y 、x m l s c h e m 、异构数据 英文摘要 a b s t r a c t t h er e q u i r c m e n t so fi n t e g r a t 面gm u l t i p l ed a t as o u r c e se x i s tf o ral o n gt i m e i n o r d e rt op r o v i d ead a t ap l a t f o r mt h a tc a c o v c rt h ed i 任e r e n c ea m o n gh e t e r o g e n e o u s d a t as o u f c e s ,m a n yf e s e a r c h e r sh a v eb e e nd e d i c a t e dt ow o r k i l l go u tad y n a m i ca n d e 仃色c t i v ei n t e g f a t j o nw a y 、i i ht h er i s i n go fx m l t e c h n o l o g y ,b u i l d i n gt h ei n t e g r a t i o np l a t f b r mo nx m l f e sh a sb e m eaf e s e a r c hf o c u si nt h i sc o m m u n 王ty x m lj sc o n t j n u a l l ya p p l i e dt o v a r i o u sd o m a j nt oi n t e 伊a t ed a t as o u r c e sn o w a d a y s i t sa d v a n t a g e sm a k eht h eb e s t c a n d i d a t ef o rr e p r e s e n t i r 喀d a t am o d e l t h i sp a p e rb e g i i l sw i t ht h ed i s c u s s i o no fs e v e r a lw e l l k n o w nd a t a 血t e g r a t j o n m e t h o d s 1 tf b c u s c so nt h eu s a g co fx m li nt h c s ei m t h o d s ,a n dd w e l li nt h ex m l b a s e dm e d i a t i o ns y s t e m b a s e do nt h cc o m p a r i s o n 蚴da n a l y s i so ft h ee x i s t e n td a t a i n t e g r a t j o nm e t h o d s ,w ed e s j g na nx m l b a s e dd a t ai m e 掣a t j o n 疗a m e w o r k t h em i n w o r ki l lt h i sp a p e rj sa s 旬1 1 0 w s : 1 i n t m d u c et h ep r i n c i p l e so f d a t a i n t e g r a t i o n i s s u e s d i s c u s st h cc u r r e m t e c h n 0 1 0 9 ya n dp r o b k m sw ea r ef a c i n gw i t h 2 s u mu pt h cf o 珊e rw o r k sd o n ei nt l l i s 石e l d d i s c u s st h e m 脚np o i n t sa i l d t h ed i 廊r e n to n e s ,柚dt h e 打a b i l i t yi nh a n d l i l l gt h eh c t e r o g c n e o u sd a t aa n dt h e q u e r yo p e r a t j o n s 3 b r i i i gm f w a r d a nx m lb a s e dd a t a 抽t e g r a t i o n 丘a m e w o r k t h en e w 丘a m e w o r k c a i lb es e e n 嬲as u p p k m e ma n de x t e 珊i o no ft h co r 螗血a lp r i l l c i p l e s t h e d e t a i l e dr e a l i z a t i o ni sc i t e d 4 i n t f o d u c et h ep r i n c i p l e so fq u e r y ,u s i n gx q u e r ya st h eq u e r y i n gl a n g u a g e t 1 l em e a n i l l go ft h i sd j s s e f t a t i o nl i e sml h en e w 如t e f a t i o n h m e w o r k ,w h i c h d i f e e r sw i t hf o r m e ro n e sa n db r i n g sm o r ea g i l i t ya n de x t e i l s i b i l i ty b a s e do nt h e 丘a m e w o r k ,t h ep a p e rh a sc i t e dt h ed e t a i l e dw o r k 姐dg i v e ne x a m p l e s k e y w o r d s :d a t ai n t e 伊a l i o n ,x m l ,x q u e r y ,x m ls c h e m a ,h e t e r o g c n e o u sd a t a i i 第一章绪论 1 1 研究的背景 第一章绪论 很多企业在发展过程中,都开发或引进了许多独立运行的应用系统,每一 个应用系统都有自己的运行环境和数据存储方式,从而产生了各种不同的数据 源。而且随着市场的变化、客户需求的变化,企业还在不断地增加它的应用。各 个应用系统彼此封闭,数据不能交换和共享,数据源之间数据格式和代码不统 一、数据大量冗余,从而形成了大大小小的“信息孤岛”。 如何能更好的利用企业原有的数据资源,已经成为人们日益关心的问题。数 据集成系统在其中扮演十分重要的角色,成为近年来的研究课题之一0 1 ,比如对 多数据库系统( m u l ti d a t a b a s e ) 的研究,以及对w e b 环境下的数据集成研究。3 。 根据i d e 公司的最新调查结果显示,到2 0 0 7 年全球的数据集成项目预算将达到 1 0 9 亿美元,相比2 0 0 2 年的7 3 亿美元增长了5 0 “1 。 数据集成也被称为信息集成( i n f o 珈a t i o ni n t e g r a t i o n ) 、信息中介 ( i n f o m a t i o nm e d i a t i o n ) 或信息搜集( i n f o r m a t i o ng a t h e r i n g ) 等。目的是提供 一个访问异构数据源的统一接口,使用户不需要考虑数据模型的异构性、数据抽 取、数据合成等问题,用户只需指定他们想要的数据,而不必描述怎样得到数据, 从而复杂的源数据对用户彻底“透明”。提供这种功能的平台叫做数据集成平台, 如图1 1 所示。 逻辑层 上 数据集成平台 , 锕商i 数据源1 li 数据源2l ” i 数据源nl 图1 1 数据集成平台基本结构 第一章绪论 数据集成平台提供了底层数据源存储数据的统一视图( 全局模式) ,这样用 户访问所有数据源就像操作一个数据源一样。同时,数据集成平台还提供全局数 据管理、模式转换与集成、全局查询处理等功能解决数据的异构性问题,完成从 实际数据源到数据源视图的转换,在应用构件之间充当数据总线的作用。 1 。2 研究问题现状 1 2 1 探讨的问题领域 多个数据源上的集成所要解决的问题是纷繁复杂的,总的来说这些问题集中 在以下几个方面: ( 1 ) 异构性 由于数据集成面对的是多个已存在的数据源,不同数据源之间从底层系统到 上层架构都千差万别,这就必然带来了处理异构性的要求。具体的说异构性包括 了以下几点: a ) 系统异构 数据源所依赖的底层硬件平台、操作系统、应用系统、数据库管理系统及网 络协议之间的不同构成了系统异构性; b ) 模式异构 数据源在存储模式上各不相同。目前的存储模式包括有关系模式、对象模 式、对象关系模式、半结构化模式和文档模式。不同的应用会根据自己的需求选 用各自的存储模式; c ) 数据结构异构 数据集成涉及的数据源可以为一个,也可以为多个。不同的数据源由于设 计者不一样,故在表结构,表的语义,表中属性的构成,属性等诸多方面都存在 着异构“1 ,还有如文献 6 描述的域异构等。 ( 2 ) 数据完整性 为了满足各种应用对要处理的数据的要求,集成后的数据一定要保证完整 性,包括数据完整性和约束完整性。数据完整性是指提取数据本身,般来说这 点比较容易达到;约束完整性是指数据与数据之间的关联关系,是唯一表征数据 第章绪论 间逻辑的特性。保证约束的完整性是良好的数据发布和交换的前提,呵以方便数 据处理过程,提高效率。对于好的集成来说,数据完整性和约束完整性都是必不 可少的。 ( 3 ) 性能 网络时代的应用对传统数据集成提出了更高的要求。由于数据源分布广、结 构多样,负责集成的应用一般来说要满足:轻量快速部署,即系统可以快速适应 数据源改变和低投入的特性。这里的性能是对实现集成的系统本身的要求。 ( 4 ) 语义冲突 信息资源之间存在语义上的区别,这些语义上的不同可能引起各种矛盾,从 简单的名字语义冲突( 不同的名字代表相同概念) ,到复杂的结构语义冲突( 不 同的模型表达同样的信息) 。语义冲突会引起数据集成结果的冗余,干扰数据处 理发布和交换。所以如何尽量减少语义冲突也是数据集成的一个研究热点“3 。 ( 5 ) 权限瓶颈 由于数据库资源可麓归属不同的单位,所以如何在访问异构数据源数据基础 上保障原有数据库的权限不被侵犯,实现对原有数据源访问权限的隔离和控制, 就成为连接异构数据资源库必须解决的问题。 ( 6 ) 集成内容限定 多个数据源之间的数据集成,并不是要将所有的数据进行集成,那如何定义 要集成的范围,也就是集成内容的限定问题。 上面列举了在构建企业异构数据源集成系统时所必须面对的几个主要问题, 其中异构性、完整性、性能、语义冲突问题为数据集成应用中都必须解决的共性 问题”。 1 2 2 国内外研究现状 早在7 0 年代中期就有人提出了多数据库集成的概念,开始提出的包括点到点 的集成概念( p o i n tt op o i n ti n t e g r a t i o n ) 和e t l 集成概念( e x t r a c t i o n , t r a n s f e r m a t i o n ,l o a d ) 。 点到点的集成是在两个数据源之间利用特定的数据转化程序来实现字段到 字段之间的映射,从而达到集成的目的,它的缺点主要有: 第一章绪论 ( 1 ) 实现成本很高,转换程序必须对要集成的两个数据源的结构非常了解 ( 2 ) 扩展性很差,当要集成3 个数据源中的数据时就必须再增加2 个转化程 序。当集成一方的数据结构发生改变时,势必要对与它有关的所有的转换程序进 行修改。 e t l 的处理过程包括三部分: ( 1 ) 从源数据源中提取数据;( 2 ) 对提取的数据进行转化;( 3 ) 将转化之后 的数据保存到目的数据源中。1 。 后来m c l e o d 等人提出了联邦数据库的概念,由于缺乏必要的标准,联邦数 据库系统只能在一定的限制条件( 如对加入联邦系统的d b m s 和各d b m s 间的互操 作加一定的限制) 下实现,难以实现各种数据源的灵活集成。因此,联邦数据库 目前还不能成为一种通用的数据集成方法。 随着分布异构计算环境下互操作性的研究和i n t e r n e t 技术的发展。“1 ,人 们要求数据集成系统不仅能集成数据库当中的数据,而且能集成随时加入的新数 据源数据。也就是说,数据集成系统必须具有可扩展性,可以实现数据源的“即 插即用”,这是传统的数据集成技术难以实现的。 传统的数据集成技术常见的不足点可以归纳如下: ( 1 ) 全局模式和各数据源模式的转换工作复杂; ( 2 ) 对结构化数据的支持较好,而对半结构化数据不够重视,集成程度不 高; ( 3 ) 查询处理效率低,数据传输量大; ( 4 ) 不能解决多平台的异构性,缺少灵活性,不能实现数据远程操作: ( 5 ) 对网络连接的依赖性强。 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 的各种技术不断涌现,l 已成为了新的数据互操作 标准,在数据集成的领域也发挥着越来越重要的作用“。 4 1 3 研究的目的和范围 第一章绪论 论文将分析现有的数据源集成体系结构,在此基础上,选用典型的 m e d i a t o 卜w r a p p e r 体系结构作为数据集成平台框架的体系结构。论文对基于) ( m l 的数据集成框架有所研究,分柝对比了国内外现有的一些学术成果,总结现有技 术的共同点,并基于这些前人的研究成果提出了自己的改进设想,再予以实现。 目的在于为现有的集成理论提供一种灵活的、扩展性强的理论补充,从而发展成 为更为通用的基于x m l 的数据集成框架。 总而言之本人在论文期间的主要工作包括以下这些: ( 1 ) 综述数据集成原理,陈述该领域的研究情况; ( 2 ) 对之前其他学者提出的基于x m l 的数据集成框架进行归纳,对异构数 据处理能力、性能进行分析,将其中的共性和特性加以总结; ( 3 ) 基于基本的数据集成框架原理,提出了一个完整的基于x m l 的集成框 架。该框架有别于以往的集成框架,目的在于提供一种更为灵活、更具扩展能力 的集成形式,作为现有理论的延拓。文中会对框架的每个环节给出具体的实现方 法; ( 4 ) 阐述查询原理,运用x q u e r y 进彳亍查询建模,实现查询重构和执行。 本论文的创新点体现在框架的具体实现当中,包含以下两点: ( 1 ) 论文结合了m e d i a t i o n 系统和数据仓库系统的优点,提出了一种包含 数据缓存机制的m e d i a t i o n 集成框架。文中分析了加入数据缓存的优劣点,并给 出例子: ( 2 ) 论文针对用户视图提出了一套查询描述语言,该语言以x q u e r y 为基础, 格式符合x m l 的要求。该语言的定义可以方便用户视图的组织和操作,并为扩展 查询语言打好基础。 本论文的研究目的在于完善集成框架并提出查询机制,达到对异构数据集成 能力、数据完整性、性能三方面的标准。关于异构数据的处理,本文着重解决命 名冲突和结构冲突,因为目前还没有很好的自动语义集成方法,而且对于集成关 系数据库系统而言,能够处理命名和结构冲突的集成方法就算是健壮的方法了 “。本文不涉及语义冲突、权限、附加约束等方面的讨论。系统的安全也超出本 文的讨论范围。 1 4 论文的组织结构 第一章绪论 本文在第二章分析比较了几种通用的数据集成技术,介绍了删l 技术在这几 种集成技术当中的运用情况。并结合x m l 的运用情况,选择了m e d i a t i o n 这种方 法来作为制定) ( m l 集成框架的基本方法来继续深入讨论,从而引入运用x m l 进行 m e d i a t i o n 方式的数据集成这个主要话题。 第三章针对m e d i a t i o n 这种数据集成方法展开,介绍了目前为止基于这种方 法的x m l 数据集成的总体框架,和通用的查询模型框架,并介绍框架和查询模型 在现阶段的发展情况,分析改善工作的重点所在。 第四章将讨论本文所提出的基于x m l 的m e d i a t i o n 系统的大体框架和查询模 型,介绍框架的思想、创新点,分析每个环节要处理的重点问题,给出流程定义。 第五章为集成框架的具体实现章节,将分别从框架本身和查询功能两部分来 进行介绍。对框架的改进我将会从查询描述语言入手,进而介绍包装器和中介器。 在介绍当中会给出涉及的文件的格式定义,并插入实现的案例帮助理解。 第六章总结全文,提出基于x m l 进行数据集成的进一步工作。 6 第二章传统的数据集成技术概述 第二章传统的数据集成技术概述 这章里我们将分类的介绍几种常用的数据集成方法。我们根据数据集成系 统接收的查询是发送到数据源还是查询预处理好的数据,可以将目前的异构数据 集成体系分成两组:如果接收的查询是发送到数据源,这就叫虚拟视图( v i r t u a l v je w ) 方法,另一种就是将查询发送到物化( m a t e r i a l i z e d ) 的数据,即数据仓 库法”3 。在虚拟视图法当中,我们又可以根据数据源的自治程度分为联邦数据库 和m e d i a t i o n 集成系统,以下是对三者的介绍和比较: 2 1 数据仓库方法 数据仓库方法需要建立个存储数据的仓库,由e t l ( e x t r a ct ,t r a n s f o r m , a n d1 0 a d ) 工具定期从数据源过滤数据,然后装载到数据仓库,供用户查询“。 与虚拟视图法相对应称这种方法为e a g e r 方法。数据仓库体系结构图2 。1 所示。 2 1 数据仓库 与虚拟视图法相似的是两者都需要异构统一的数据视图,但不同的是e l t :i = 具过滤得到的数据存储到仓库中。而与传统的数据库不同的是数据仓库中主要 存储的是历史和汇总数据,用于决策支持,主要供分析或执行等人员使用,而且 为避免数据仓库与数据源中数据出现不一致,通常不允许用户对数据仓库迸行更 7 第二章传统的数据集成技术概述 新。 目前,数据仓库一词尚没有一个统一的定义,著名的数据仓库专家w h t n m o n 在其著作b u i l d i n gt h ed a t aw a r e h o u s e 一书中给予如下描述:数据仓库( d a t a w a r e h o u s e ) 是一个面向主题的( s u b j e c to r i e n t e d ) 、集成的( i n t e g r a t e ) 、相 对稳定的( n o n v o l a t i l e ) 、反映历史变化( t i m ev a r i a n t ) 的数据集合,用于 支持管理决策。对于数据仓库的概念我们可以从两个层次予以理解,首先,数据 仓库用于支持决策,面向分析型数据处理,它不同于企业现有的操作型数据库: 其次,数据仓库是对多个异构的数据源有效集成,集成后按照主题进行了重组, 并包含历史数据,而且存放在数据仓库中的数据一般不再修改“。 根据数据仓库概念的含义,数据仓库拥有以下四个特点: ( 1 ) 面向主题。操作型数据库的数据组织面向事务处理任务,各个业务系 统之间各自分离,而数据仓库中的数据是按照一定的主题域进行组织。主题是一 个抽象的概念,是指用户使用数据仓库进行决策时所关心的重点方面,一个主题 通常与多个操作型信息系统相关。 ( 2 ) 集成的。面向事务处理的操作型数据库通常与某些特定的应用相关, 数据库之间相互独立,并且往往是异构的。而数据仓库中的数据是在对原有分散 的数据库数据抽取、清理的基础上经过系统加工、汇总和整理得到的,必须消除 源数据中的不一致性,以保证数据仓库内的信息是关于整个企业的一致的全局信 息。 ( 3 ) 相对稳定的。操作型数据库中的数据通常实时更新,数据根据需要及 时发生变化。数据仓库的数据主要供企业决策分析之用,所涉及的数据操作主要 是数据查询,一旦某个数据进入数据仓库以后,一般情况下将被长期保留,也就 是数据仓库中一般有大量的查询操作,但修改和删除操作很少,通常只需要定期 的加载、刷新。 ( 4 ) 反映历史变化。操作型数据库主要关心当前某一个时间段内的数据, 而数据仓库中的数据通常包含历史信息,系统记录了企业从过去某一时点( 如开 始应用数据仓库的时点) 到目前的各个阶段的信息,通过这些信息,可以对企业 的发展历程和未来趋势做出定量分析和预测。 8 2 2 虚拟视图法 第二章传统的数据集成技术概述 采用虚拟视图法实现的数据集成系统,数据存储在数据源中,不会被提取到 集成平台中来。当用户向该系统提交查询请求时,系统根据命令操作数据源中的 数据,所以称这类方法为1 a z y 方法。采用虚拟视图法集成数据源主要有两种体 系结构,一种是联邦数据库系统,另一种是m e d i a t i o n 系统。 2 2 1 联邦数据库 联邦数据库系统是出参与联邦的半自治的数据库系统组成,目的是实现数据 库系统问部分数据的共享“。联邦中的每个数据库的操作是独立于其他数据库和 联邦的。之所以叫“半自治”是因为联邦中的所有数据库都添加了彼此访问的接 口。 联邦数据库系统分为紧耦合和松耦合两种。 紧耦合联邦数据库有一个或几个统一的模式,这些模式可通过模式集成技术 半自动生成,也可通过用户手工构造。要解决逻辑上的异构,就需要领域专家决 定数据模式间的对应关系。由于模式集成技术不易添加删除联邦数据库集成系 统中的数据库,所以紧耦合f d b s 通常是静态的,且很难升级。 松耦合f d b s 没有统一的模式,但它提供了一些查询数据库的统语言。这 样f d b s 中的数据库更具有自治性,但必须用户解决所有语义上的异构。由于松 耦合f d b s 没有全局模式,所以每个数据库都要创建自己的“联邦模式”。 f d b s 中实现互操作最常用的方法是将每个数据库模式分别和其他所有数据 库模式进行映射,这样的例子如图2 2 所示。联邦中需要建立n $ ( n 1 ) 个模式映 射规则,但当参与联邦的数据库很多( n 值很大) 时,建立映射规则的任务变得不 可行了。所以,联邦数据库集成系统适合于自治数据库的数量比较小的情况,而 且,希望数据库能够保持“独立”,允许用户单独查询,数据库间能够彼此联合 回答查询的情况。对于网络上越来越丰富的数据源,f d b s 显然不是一个很好地 解决方案。 9 第二章传统的数据集成技术概述 图2 2 复杂的f d b s 图2 2 示意数据库间建立的一映射关系,映射关系数目是数据库数目的成 方级,在数据库增多时维护映射关系的任务变得难以负荷。 2 2 2m e d i a t i 蛐系统 m e d i a t i o n 系统通过提供所有异构数据源的虚拟视图来继承它们,这里的数 据源可以是数据库、遗产系统、w e b 数据源等。该系统提供给用户一个全局模式 ( 也叫m e d i a t i o n 模式) ,用户提交的查询是针对该模式的,所以用户不必知道 数据源的位置、模式及访问方法。 m e d i a t i o n 体系结构与紧耦合联邦有以下的不同之处: ( 1 ) m e d i a t i o n 系统可以集成非数据库数据源。 ( 2 ) 基于中介器( m e d i a t o r ) 的系统中的数据源的查询能力可以是受限制 的,数据源可以不支持s q l 查询。 ( 3 ) 由于m e d i a t i o n 系统中的数据源是自治的,这就意味着很容易在系统 中添加删除数据源。 ( 4 ) 由于m e d i a t i o n 系统中的数据源是自治的,所以对系统中的数据源的 访问通常是只读的,而f d b s 支持读写访问“”。 图2 2 所示的是典型的m e d i a t i o n 系统体系结构。该系统的主要部分是中 介器和针对每个数据源的包装器( w r a p p e r ) 。这里中介器的功能是接收针对全局 模式生成的查询,根据数据源描述信息及映射规则将接收的查询分解成每个数据 源的子查询,再根据数据源描述信息优化查询计划,最后将子查询发送到每个数 据源的包装器。包装器将这些子查询翻译成符合每个数据源模型和模式的查询, 并把查询结构返回给中介器。中介器将接收的所有数据源的结构合并成个结构 1 0 返回给用户。 第二章传统的数据集成技术概述 图2 3m e d i a 0 n 系统 2 3 三种集成方法的比较 数据集成在很大程度上是基于这两个相对的方法。数据仓库和虚拟数据集成 系统主要的不同是“e a g e r ”和“l a z y ”的对抗。如上所述,数据仓库方法需要 建立一个存储数据的仓库,定期对数据源中的所有信息进行预处理,形成符合仓 库模式的信息,然后下载数据到数据仓库。对数据源中信息的预处理及数据仓库 的更新主要是通过e t l 工具。这种方法的主要好处是查询处理性能高,但主要缺 点是数据可能不是最新的,如果仓库模式设计成静态的,当有新数据源加入或已 有数据源发生变化时对仓库的修改代价比较高,而且创建数据仓库比较费时费 力,通常需要6 1 8 个月的时间“。虚拟视图集成方法用于数据仓库不实用或不 能解决的情况,如:用户只需访问数据源中的一小部分数据、数据频繁更新、需 要实时数据、提供数据方只能处理有限的查询或全局模式本身经常改变的情况。 在完全的虚拟数据集成中,全局模式是一个逻辑的或虚拟的实体,系统根据数据 源相关信息将针对该模式的查询在系统运行时动态重写成针对每个实际数据源 的查询,中介器通过包装器获得数据,然后整合,返回给用户。 在实际的数据集成解决方案中多采用虚拟视图集成的方法,该方法定义了一 个或多个中介模式( m e d i a t i o ns c h e m a ) ,通常指全局模式。这些模式是用来查询 数据,而不是存储数据,数据仍保存在局部数据源中。当用户向集成系统提交一 1 l 第二章传统的数据集成技术概述 个查询,系统会将该查询翻译成针对各个数据源的查询集,然后将结果整合返回 给用户。应用这种解决方案得到的查询结果是最新数据。而且x m l 的出现使得对 各种数据信息的标准化描述成为可能,使系统更易于适应数据源间的不同。 虚拟视图集成优于数据仓库之处是: ( 1 ) 它能够继承那些只允许对数据进行有限访问的数据源,支持数据的实 时视图,能够同时描述中介模式的多个版本; ( 2 ) 适合集成系统中的数据源数量很大,而且数据源更新频繁,不可预知 用户需要查询什么信息的情况。 ( 3 ) 系统结构灵活,易于创建、修改集成系统。 缺点: ( 1 ) 虚拟视图集成法要以一定的性能作为代价,因为每次查询都要连接数 据源,如果有些数据源距离中介器很远( 指网络距离很远,数据通信时问代价大) , 则可能出现响应延时。 比较两种基于虚拟视图方法的体积结构:联邦和m e d i a t i o n 。实际应用中 m e d i a t i o n 方法更常用。由于联邦系统中的所有数据源都要添加彼此访问的接 口,所以需要编写大量接口程序,为此该体系结构目前不常用。 2 4x m l 在三种集成体系当中的运用状况 x m l 作为一种可扩展性标记语言,其自描述性使其非常适用于不同应用之间 的数据交换,而且这种交换是不以预先规定的一组数据结构定义为前提的,因此 具备很强的开放性,具有广阔的应用前景。 目前,由于大多数应用采用的数据库系统都是关系型数据库系统( r d b m s ) 或 者面向对象数据库,基于原有应用的数据源上建立的数据集成系统业多数针对这 两种数据库进行设计,但随着x 札应用的普及,数据集成系统都相应开通处理 x m l 数据的通道和接口,具体如下: ( 1 ) 针对存储x m l 格式的源数据,一般有两种存储方法:一是将其按结构 层次拆分开来分别存于不同字段当中,二是将x m l 文档原封不动的作为数据源进 行存储。两种方法当中,前者比较常见于数据仓库的集成方法当中,将x m l 文件 数据清洗导入到数据仓库当中,后者比较常见于联邦数据库和m e d i a t i o n 系统当 第二章传统的数据集成技术概述 中,因为这西种方法都是采用虚拟视图法实现的数据集成,数据并不改换原有的 存储介质。 ( 2 ) 在数据交换方面,x m l 正在快速成为标识i n t e r n e t 文档结构和内容的 标准语言,这当中数据交换是x m l 最令人激动的应用。数据交换是数据集成当中 的一个重要环节,它的核心问题是异构数据的标准化,主要解决信息的可理解性 问题,包括人和机器对信息的理解。而且,更重要的是机器对信息的识别,并能 根据数据进行自行处理。x m l 为信息的标准化提供了有力的工具。 不同应用领域对数据的要求千差万别,因此要想制订一个放之四海皆准的数 据交换标准是不现实的,也是不必要的。最经典的作法是在同一个应用领域制订 一个标准,参与者按照这个标准组织数据,这样就可以进行数据交换。比如,i b m 、 u n i s y s 和其他合作伙伴定义的x m i ( x m lm e t a d a t ai n t e r c h a n g e ) 是一个存储和共 享面向对象的程序设计信息的标准。m i c r o s o f t 和m a r i m b a 合作提出的开放软件 描述0 s d ( o p e ns o f t w a r ed e s c r i p t i o n ) 是用于描述软件的一个x m l 标准。 在x 札出现之前,常用的数据交换方式有传真、电子邮件和电子数据交换 ( 凹i ) 。前两种方式中信息须经过再次输入或者运用针对性强的管理工具才能纳 入后台信息管理系统,效率低,实时性差。e d i 通过增值网( v a n ) 在各应用系 统间传输数据,这种方式可使计算机系统可靠的协同工作,但技术复杂,灵活性 差,费用昂贵,报文读写转换困难,这些缺点使e d i 未能得到广泛应用。 】( m l 的关键是将数据内容与显示处理分开以提高效率。将需要交换的数据转 换为) ( m l 文档在各个应用程序和数据集成系统接口间传递。只要数据交换中各参 与方采用统一的x m l 标签和格式生成) ( m l 文档,不同应用系统中不同语言编写的 应用程序就可正确识别和解析文档中的数据,实现数据的动态交换。这一点无论 在虚拟视图集成法当中,还是在物化集成方法当中都有大量运用,x m l 一方面被 广泛用作数据标准的描述方式格式,另一方面在与前段应用的交互当中也常被作 为数据交换的格式。例如面向对象语言( c + + 、j a v a 等) 调用】( i l 编程接口访问 数据集成系统,数据集成系统将数据从后台数据源中抽取出来,按照) ( m l 标准文 件定义的数据标准进行转换,然后提供给前台应用进行使用。 ( 3 ) x m l 常被用作映射定义语言。这个应用在联邦数据库和m e d i a t i o n 系 统当中运用甚广,原因在于虚拟视图的集成方式当中需要大量运用模式间的映射 第二章传统的数据集成技术概述 关系,而瑚l 凭借好的自描述性和可扩展性成为映射描述语言。尤其在m e d i a t i o n 系统当中,这类系统允许数据源不以s q l 方式查询数据,为外界提供统一的映射 视图,从而为) ( m l 提供了用武之地。“。 以上三个方面是) ( m l 在数据集成系统当中最为常见的应用,作为这三种应用 的扩展,现在已有一部分厂商推出了完全基于x m l 的数据集成平台,这些平台多 数是针对中小企业的数据集成需求进行开发的,从数据源的存储方式、数据交换 方式、标准定义方式、映射定义方式等都沿用x m l 系列语言。以下我会针对将 x m l 运用得最为灵活的m e d i a t i o n 系统进行框架设计,目的是在数据集成过程当 中尽量发挥x m l 的应用能力,实现对异构数据处理、查询性能处理方面的便利。 2 5 本章小节 本章主要分析了数据集成三种主要的体系结构:数据仓库、联邦数据库和 m e d i a t i o n ,并分析比较了它们相应的集成方法:虚拟视图法和数据仓库法。在 此基础上比较了三种体系结构的优缺点,并针对煳l 目前在这三种方法当中的运 用作了分析比较,选择了m e d i a t i o n 作为合适的完全基于煳l 实现数据集成的基 本方法。以下这一章将针对m e d i a t i o n 系统展开。 1 4 第三章基于删l 的d i a t i o n 数据集成技术发展 第三章基于x m l 的m e d i a t i o n 数据集成技 术发展 通过前一章的分析比较,本文选择d i a t i o n 体系结构作为搭建集成框架的 基本方法,该方法将原有应用的数据源映射成全局模式的视图,用户对全局模式 提出查询请求,数据集成平台把查询分解成针对数据源的查询,由数据源执行查 询,然后系统智能的处理查询,通过网络并根据相应的数据源信息、网络情况及 其他因素读取数据,将结果整合后返回给用户。 数据集成平台的使用方便用户的开发与应用,他们只需指定想要什么,而不 必考虑怎样得到答案。不必去找相关的数据源,不必用特别的接口去操作每个信 息孤岛,也不必合并多个数据源中的数据。这些都由数据集成平台来完成。“。 目前已有一部分针对这个领域的研究,不同的学者针对不同的应用给出了自 己的框架建议,这些框架之间虽有差异,若将其共性加以归纳,不难发现它们都 符合一定的框架原理,以下将这种以x m l 来实现l i l e d i a t i o n 集成的框架原理加以 叙述。 3 1 基于m l 的m e d i 砒i o n 系统框架概述 3 1 1 架构图 如上一章所述,m e d i a t i o n 系统通过一套全局的虚拟视图和各数据源包装器 间的完整的映射机制来实现对数据源的控制,现在先忽略全局和局部视图间的差 异,以“映射机制”将其二者替代,可得到以下的整体框架图3 1 。 这三层的体系结构由下至上各层的基本服务功能如下: ( 1 ) 数据源层,处于最底层,使系统的数据提供者,由不同来源的数据构 成,包括各种类型的数据库、文件、多媒体等信息。 ( 2 ) x m l 中间件层,也即实现映射的关键功能部分。它提供必要的数据转 换功能或工具,结构如下图3 2 。 第三章基于x m l 的m e d i a t i o n 数据集成技术发展 图3 1 系统整体架构 图3 2 中间层结构 注意这里的包装器与中介器的对应关系是一对多的关系。 中介器( m e d i a t o r ) :主要由查询分解器、查询优化器和查询执行器引擎组 成,存放了所有数据的集成模式定义和描述文件。这单的集成模式描述文件是指 1 6 第三章基于) 矾。的m e d i a t i o n 数据集成技术发展 全局模式映射文件,描述各个数据源集成为用户视图之后的映射关系。中介器通 过x d b c 统一接口接收用户应用提出的x q u e r y 请求,负责将全局查询分解成针对 每个数据源输出模式的子查询,并有效的将子查询传送到相应的数据源包装器, 通过统一接口得到x m l 形式的结果片段,处理合并这些结果片段后通过x d b c 接 口返回给用户。 包装器:每个数据源对应一个包装器,负责查询执行引擎与底层数据源问的 通信,包括访问关系d b m s 的s q l 包装器,访问任意应用的自定义包装器和访问 w w w 的h t m l 包装器,通过这些包装器来访问底层的数据库数据。包装器接收中 介器发送来的子查询,将其转换为数据源能够处理的查询,并将数据源查询处理 的结果转换成为符合标准的x m l 形式返回给查询执行引擎。 中问层相当于一个总的代理程序,通过它来访问数据库中的数据、将此数据 与) 【m l 格式进行互相转换和输出x m l 文档,它是一种在客户端桌面应用层和底层 数据层之间传递数据的工具。根据不同用户的不同需求,定义不同的x s l 样式表, 来屏蔽一些对象或对象的属性,改变对象的显示形式,提供不同的用户视图。实 现基于w e b 浏览器的多样化显示效果。另外,这种代理程序还可以进行双向的基 于时间的数据更新,也就是说,客户端的数据变化( 如数据的插入、删除、修改 等) 可以通过代理程序反映到底层数据库,而数据库的更新也能够及时通知到客 户端。表面上看,这种机制同传统的三层结构没有什么区别,但实际上因为在传 输过程中的数据都是以) ( m l 的格式存在,所以处理上会有差异。通过中间层的代 理程序,可获取的数据来源可以不局限于某种或某台固定的数据库服务器,可以 是任何公司提供的、遍及全球各地的数据库服务器1 。 ( 3 ) 应用层。根据具体的应用和用户计算环境,采用合适的信息访问技术。 最常用的有基于j a v a 的j s p 、j a v ab e a n 、年颁布标准的w e b s e r v i c e s 、n e t 框架的组件等,实现程序的处理逻辑,提交结果给页面显示。 3 1 2 系统的实现步骤 要组建一个基于x m l 的m e d i a t i o n 系统,通常需要遵循以下的几个步骤 ( 1 ) 分析企业现有信息系统的应用情况; ( 2 ) 明确企业w e b 应用系统和数据中心应达到的目标和要求: 1 7 第三章基于x m l 的m e d i a t i o n 数据集成技术发展 ( 3 ) 建立企业基础网络平台,将各业务或职能部门连接起来: ( 4 ) 建立面向整个企业应用的数据模型: 分析企业的核心业务过程,对核心业务过程建模; 在对企业核心业务过程建模的基础上,抽取企业的最基础的实体对 象,并描述它们之间的关系; 进行企业逻辑数据模型和物理数据模型间的映射”“; ( 5 ) 建立数据集成应用程序系统和企业数据中心; ( 6 ) 扩展或建立企业w e b 应用程序功能模块。 在上述步骤中,关键的一个问题在于第四步的实现,而第四步当中最重要 的问题是以x m l 格式作为中间格式,进行企业数据抽取和存储,即模型中x m l 中间件层的实现。 3 2 集成框架中的查询模型概述 查询处理是基于) ( i l 数据集成平台框架的一个关键技术支撑。用户面对的只 是项层的全局用户视图,查询也是针对全局模式,不直接操作数据源。这在提高 用户操作的透明度方面是非常有效可行的,但由于全局模式和数据源模式间的差 异,带来的闯题是需要将针对全局模式的查询映射成针对数据源模式的查询,以 及将查询结构组合成用户视图的方式以x m ld o c 的形式返回给用户,这就是查询 要处理的问题。 对于集成平台需要有一个x m l 描述的全局数据模型,而每一个数据源有其自 己的局部数据模型。根据模式集成的过程,这里有两步查询映射: ( 1 ) 从针对全局模式的查询映射到针对数据源模式的子查询: ( 2 ) 从针对数据源模式的子查询映射到每个数据源能够处理的查询。 我们将这两个步骤分别命名为“全局模式映射”和“局部模式映射”。在全 局模式映射中将用户查询分解成针对每个数据源输出模式的子查询,但仍然是针 对全局数据模型的查询,在数据源模式映射当中将子查询翻译成每个数据源能够 理解和处理的查询,该查询就是针对局部数据模型的。这两个步骤分别由中介器 和包装器完成。“。图3 3 展示了数据集成平台中查询处理的主要过程。 第三章基于l i l 的d i a t i o n 数据集成技术发展 中介器 盟 查询分解 针对数据源输出模式盔扣的集合 匮 查询计翔0 医菊磊_ 全局映射 用户视图 数据源统计信息 包装器 数据源 针对数据源输出模式的查询 二l 一 包装器l - - - - - - - - - - - - - - - - - - - j 主 纣对数据源模式的查询 一 数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高校学生志愿服务管理办法及实施方案
- 医院医疗器械合规整改方案与案例分享
- 员工积分兑换管理系统设计方案
- 小学语文作文提升技巧训练方案
- 小区物业方案构建可行性报告
- 江西省吉安市峡江县峡江中学2026届化学高一上期中教学质量检测试题含解析
- 河北省宣化一中张北一中2026届化学高三第一学期期末考试模拟试题含解析
- 2026届上海市浦东新区普通高中高三上化学期中学业水平测试试题含解析
- 甘肃省泾川县第三中学2026届化学高一上期末学业水平测试模拟试题含解析
- 重庆市永川区2026届化学高三上期末质量跟踪监视试题含解析
- 2025山东济南医学发展集团有限公司国有企业招聘22人笔试考试参考试题附答案解析
- 物业管理费用结构分析报告
- 2025天津港保税区安全生产技术专家招聘26人笔试考试参考题库附答案解析
- 2025卧室装修合同范本下载模板
- 旅馆从业人员在线考试及答案解析
- 冬季钢结构焊接施工技术与费用分析
- 高校思政说课课件
- 银行反洗钱2025年合规测试试卷(含答案)
- 雨课堂在线学堂《小白学人工智能》单元考核测试答案
- GB/T 9120-2010对焊环板式松套钢制管法兰
- GB/T 679-2002化学试剂乙醇(95%)
评论
0/150
提交评论