已阅读5页,还剩75页未读, 继续免费阅读
(计算机软件与理论专业论文)基于xml的异构数据集成系统研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 x m l 作为一种功能强大的标记语言,已经成为w e b 上数据表示和数 据交换的一个主要标准。本文通过分析x m l 数据模型的特点,针对传统 数据集成系统中存在的问题,设计了一个基于x m l 的异构数据集成系统 d i s ,并对其中的关键技术进行了较为深入的探讨和研究,具体内容 如下: 首先,在给出了异构数据集成定义的基础上,分析了异构数据集成系 统常用的三种体系结构及其优缺点。结合x m l 数据模型的特点,设计了 本文原型系统所使用的体系结构,该结构能够灵活地解决异构数据源的“即 插即用”问题。 其次,总结了不同应用环境中的几种视图形式,分析了当前存在的 x m l 视图生成技术,研究了从关系数据到x m l 视图的几种映射方法,并 给出了一种适用于异构数据集成环境的视图生成体系结构。 接着,针对查询重写领域总结了两种不同的查询重写思想。通过总结 x m l 查询语言的特点,重点深入地研究了基于视图的正则路径查询重写, 并给出了其中的映射和优化算法,有效地解决了正则路径视图到正则路径 查询的映射和减少映射节点数目的问题。 最后,结合自己的理论研究,实现了一个基于】 - a v i l 的异构数据集成 系统的原型系统- - x h d i s ,对其中主要模块所使用的技术进行了说明,并 通过实验验证了文中所给算法的有效性。 关键词数据集成;x m l ;视图生成;查询重写;x m l 查询语言 燕山大学工学硕士学位论文 a b s t r a c t a sa p o w e r f u lm a r k e dl a n g u a g e ,x m li sb e c o m i n g t h es t a n d a r df o rd a t a r e p r e s e n t a t i o na n de x c h a n g e o nt h ew e b b ys u m m i n gu pt h ef e a t u r e so fx m l d a t am o d e l ,船f o rt h ed e f e c t so ft h et r a d i t i o n a ld a t ai n t e g r a t i o ns y s t e m ,t h i s p a p e rd e s i g n sa n di m p l e m e n t sap r o t o t y p eo f t h ex m l - b a s e d 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 ns y s t e m x f i d i s ,a n dm a k e sar a t h e rd e e p l ye x p l o r a t i o na n d r e s e a r c ho nt h ek e y t e c h n o l o g i e s a sf o l l o w s : f i r s t l y , b a s e d o n d e f i n i n gt h eh d i s ,t h i sp a p e r i n t r o d u c e ss e v e r a lc o m m o n a r c h i t e c t u r e sa n dt h e i rf e a t u r e s t o g e t h e r 、j l r i 也t h ef e a t u r eo fx l v i l g i v e so u r a r c h i t e c t u r e i tc a n e f f i c i e n t l yr e s o l v et h e p l u ga n dp l a y ”p r o b l e m s e c o n d l y ,t h i sp a p e rs u r v e y s t h ed e f i n i t i o n so fv i e w si nd i f f e r e n t a p p l i c a t i o nc o n t e x t s ,a n a l y s e s t h e e x i s t i n gt e c h n i q u e s o fv i e wc r e a t i o na t c u r r e n tt i m e ,i n v e s t i g a t e st h em a p p i n gf r o mr e l a t i v ed a t at ox m lv i e wi n d e t a i l s ,a n ds h o w s am e c h a n i s ma b o u tv i e w b u i l d i n gf i t t i n gi nh d i s a n dt h e n w i t ht h eb e g i n n i n go f s u m m a r i z i n gt w od i f f e r e n tt h i n k i n g so f q u e r yr e w r i t i n g ,t h i sp a p e r s t u d i e st h ec o n t e n t so f x m l q u e r yl a n g u a g e s b a s e d o nt h e s e ,m a k e sad e e pi n s i g h ti nr e w r i t i n gr p q u s i n gr p v a n dp r o d u c e st w o a l g o r i t h m s ,w h i c h a c h i e v e st h e m a p p i n g f r o mr e g u l a rp a t hv i e wt or e g u l a rp a t h q u e r ya n d r e d u c e s s i g n i f i c a n t l yt h en u m b e r o f n o d e si nt h eq u e r yt r e e f i n a l l y , w i t ho u rt h e o r e t i c a lr e s e a r c h e s ,t h i sp a p e rd e s i g n sap r o t o t y p eo f t h ex m l b a s e dh 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 - x h d i s ,a n da st o e a c hm o d u l e ,d e s c r i b e st h et e c h n i q u e sa n da l g o r i t h m su s i n gb yt h e s em o d u l e s a t l e n g t h i nt h ee n d ,t h e c o r r e c t i t u d ea n de f f i c i e n c yo ft h ea l g o r i t h m si s v a l i d a t e db yo u re x p e r i m e n t s k e y w o r d sd a t ai n t e g r a t i o n ;x m l ;v i e wb u i l d i n g ;q u e r yr e w r i t i n g ;x m l q u e r yl a n g u a g e 第1 章绪论 1 1 研究背景 第1 章绪论 随着计算机技术特别是网络技术的迅猛发展,许多行业、单位和部门 内部都逐步实现了业务、信息的计算机化管理。但是,由于各个行业、单 位和部门的具体业务与功能归属不同,它们都只是根据自身需要构建了许 多相互独立的信息服务和管理系统,甚至在一个单位内部所采用的信息化 环境也可能不会固守任何一个平台,而是由不同平台组成。 这样随着时间的推移和技术的进步,这些由不同技术构建的信息系统 就像一个个“信息孤岛”,各自有着不同的处理对象、操作方法和专用客 户端。而由于部门之间协调合作的需要,各个环节之间数据交流以及集成 共享的问题也日益严重起来。从应用角度来看,每个部门就是一个数据源, 因为它们之间的信息和组织都不一样,而且每个数据源又都是异构的,例 如数据可能是存在于关系型、面向对象型等数据库中的结构化数据,也可 能是目前w e b 上大量存在的半结构化、无结构化数据,如此就构成了一个 巨大而复杂的异构数据环境。 那么如何在这个异构数据环境中访问、处理这些数据呢? 首先要做的 是研究异构数据之间的集成问题,只有将这些孤立的数据都集成起来,并 且提供给用户一个统一的视图,才有可能从巨大的数据资源中获取所需的 信息。而为大量各式各样的数据提供某种统一的表示和访问方法无疑是解 决问题的关键,这就要求我们寻找一种标淮、开放的数据模型以及基于该 模型的查询语言来表示和处理各种数据信息。 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 ) t 1 j 是万维网联盟 ( w o r l dw i d ew e bc o n s o r t i u m ,简称为w 3 c ) 设计并推荐的新一代标记语言, 是标准通用标记语言( s t a n d a r dg e n e r a lm a r k u pl a n g u g a e ,简称为s g m l ) 的一个优化子集。它以一种开放的自我描述方式定义数据结构,在描述数 燕山大学工学硕士学位论文 据内容的同时能突出对结构的描述,从而体现出了数据之间的关系。 1 1 1 x m l 的主要特点 x m l 主要是用来弥补h t m l 作为网络标记语言的缺陷和不足的,它 具有以下主要性质: ( 1 ) 可扩展性x m l 是一种用于设计标记语言的元语言,而不是象 h t m l 那样,是一种只有一个固定标记集的特定标记语言。x m l 允许用 户根据其需要创建自己的标记,这些标记可通过x m l 的文档类型定义 ( d o c u m e n tt y p ed e f i n i t i o n ,简称为d t d ) l 2 力t l 以定义。从理论上讲,可以 定义的标记类型有无数个。x m l 的可扩展性就在于此。 ( 2 ) 灵活性x m l 提供了一种结构化的数据表现方式,从而使用户界 面与结构化数据相分离。这样用户既可以只关心数据的逻辑结构,也可以 通过样式表来格式化数据的表现,甚至可以定义自己的个人样式表来显示 各种不同的x m l 数据。 ( 3 ) 自描述性x m l 文档通常包含一个文档类型声b 蝈( d o c u m e n tt y p e d e c l a r a t i o n ) ,从而便于机器理解数据的意义。x m l 文档中的数据可被任何 能够对x m l 数据进行解析的应用程序所提取、分析和处理,并以所需格 式显示。这个特性使差异性可以存在,使计算机可以在没有人为干涉的情 况下,理解数据的含义。 ( 4 ) 结构性x m l 的文件结构可以嵌套到任意程度,能用来表示面向 对象的等级层次。另外,x m l 的分层结构可以保证信息的层次性,例如, 一个商品可以有商品名、商品代码和价格,价格又可以有基本价格、商品 税和运输费等。 ( 5 ) 交互性通过使用x m l ,用户根据自己的需要可以非常方便地在 本地进行数据操作,而不需与服务器频繁交互,使服务器只进行必要的处 理工作,从而减轻了服务器的负担。 ( 6 ) 丰富的链接定义对应于h t m l 单一的单向单通道链接,x m l 提 供了各种不同的链接,如一对多、多对一和双向链接,这点使得同一个x m l 文档可以用于更多应用中。 2 第1 章绪论 ( 7 ) 与平台无关x m l 文档无须任何更改即可移植到其它平台上,这 使得它经常作为一种数据交换的通用标准应用于很多领域中。 1 1 2 x m l 的主要应用 x m l 的应用主要包括四类: ( 1 ) 应用于客户需要与不同的数据源进行交互数据可能来自不同的 数据库,它们都有各自不同的复杂格式。但客户与这些数据库只通过一种 标准语言进行交互,那就是x m l 。由于x m l 的自定义性及可扩展性,它 足以表达各种类型的数据。客户收到数据后可以进行处理,也可以在不同 数据库间进行传递。总之,在这类应用中,x m l 解决了数据的统一接口问 题。但是,与其它的数据传递标准不同的是x m l 并没有定义数据文件中 数据出现的具体规范,而是在数据中附加t a g 来表达数据的逻辑结构和涵 义,这使得x m l 成为一种程序能自动理解的规范。 ( 2 ) 应用于将大量运算负荷分布在客户端客户可根据自己的需求选 择和制作不同的应用程序以处理数据,而服务器只须发出同一个x m l 文 件。仍以上例为论,如按传统的c s 工作方式,客户向服务器发出不同的 请求,服务器分别予以响应,这不仅加重服务器本身的负荷,而且网络管 理者还须事先调查各种不同的用户需求以写出相应不同的程序。如果用户 的需求繁杂而多变,则仍然将所有业务逻辑集中在服务器端是不合适的, 因为服务器端的编程人员可能来不及满足众多的应用需求,也来不及跟上 需求的变化,双方都很被动。应用x m l 则将处理数据的主动权交给了客 户,服务器所作的只是尽可能完善、准确地将数据封装进x m l 文件中, 正是各取所需、各司其职。x m l 的自描述性使客户端在收到数据的同时也 理解数据的逻辑结构与含义,从而使广泛、通用的分布式计算成为可能。 ( 3 ) 应用于将同一数据以不同的面貌展现给不同的用户这一应用类 似于同一个剧本,我们可以用电视剧、电影、话剧、动画片等不同形式表 现出来。这一应用为网络用户界面个性化、风格化的发展铺平道路。 ( 4 ) 应用于网络代理对所取得的信息进行编辑、增减以适应个人用户 的需要。有些客户取得数据并不是为了直接使用而是为了根据需要组织自 燕山大学工学硕士学位论文 己的数据库。比方说,教育部建立一个庞大的题库,考试时将题库中的题 目取出若干组成试卷,再将试卷封装进x m l 文件,在各个学校让其通过 一个过滤器,滤掉所有的答案,再发送到各个考生面前,未经过滤的内容 则可直接送到老师手中,当然考试过后还可以再传送一份答案汇编。此外, x m l 文件中还可以包含进诸如难度系数、往年错误率等其它相关信息,这 样只需几套过滤引擎,同一个x m l 文件便可变成多个文件传送到不同的 用户手中。 总之,x m l 的诸多特性使得它非常适合用来描述异构数据集成系统中 的各种数据源。它可以描述不规则的数据,能够集成来自不同数据源的数 据,可以将多个应用程序所生成的数据纳入同一个x m l 文档中,因此把 x m l 作为异构数据集成系统中数据描述和转化的工具是解决上述问题的 必然选择,对基于x m l 的异构数据集成系统进行深入的研究非常有意义。 1 2 研究现状及问题 数据集成技术的研究始于七十年代中期,至今已有二十多年了。从开 始的多数据库集成发展到现在的异构数据集成,数据集成的范围和作用都 在不断扩大。 异构数据集成的发展经历了两个阶段。 第一阶段一异构数据库集成的研究基本上可以分为三类: 第一类采用的是物理上分布、逻辑上集中的系统结构,系统有个全局 的数据模式。由于在这样的系统结构中,结点缺乏自治性,难以管理,难 以集成,所以产生了第二类一多库集成。 第二类多库集成是由m e l e o d 等人于八十年代中期提出的联邦式数据 库系统1 3 】。联邦式数据库系统是一种物理、逻辑上都分布的结构,每个结 点有自己的联邦模式,而不是唯一的全局模式,由于不再受制于全局模式, 结点的自治性得到加强,数据库系统的集成、扩充和重新配置也较为方便 和自然。 第三类则是l i t 、】l ,i n 等人提出的多库语言数据集成方法1 4 。这种系统结 构既无统一的全局模式,也无局部的联邦模式,结点自治性更强,但用户 4 第1 章绪论 必须接受一种新的数据语言,且透明性较差。 总之,上述三种方法都仅限于数据库中数据的集成。 而随着w e b 的迅速普及,异构数据除了传统的数据库数据之外,又涌 现出了大量像w w w 这样的半结构化数据。传统的数据库集成方法己经无 法满足人们获取更多更新数据的需要,此时迫切需要一种新的数据集成系 统。这种系统不仅能集成传统数据库中的结构化数据,而且还可以集成在 w e b 上应用日益广泛的半结构化数据和无结构化数据。这样,数据集成的 研究必然由多数据库集成转向多数据源集成,事实上从九十年代中期开始 数据集成研究就己经进入了第二阶段。 现在,数据集成技术不仅能集成数据库中的数据,也能集成非数据库 中的数据。例如,目前有一些异构数据集成系统不仅能集成传统的结构化 数据,对复杂的多媒体数据和w w w 中的半结构化数据也实现了初步集 成,尽管功能还不是很成熟。随着许多新技术( 例如c o r b a 、x m l 等) 的 涌现,通用异构数据集成系统的研究也正在如火如荼地进行着。 到目前为止,国外一些公司和研究机构己经研究出了若干通用的异构 数据集成系统。其中比较具代表性的有:m i c r o s o f t 公司研制的o l ed b 5 1 、 i b m 公司a l m a d e n 研究中研制的g a r l i c 、美国斯坦福大学和i b ma l m a d e l l 研究中心联合开发的的t s i m m i s 【6 】、l o r e ( l i g h t w e i g ho b j e c tr e p o s i t o r y ) 【7 】 以及o z o n e 8 等;其它的有i n f o r m a t i o n m a n i f o l d 9 1 、a d d s ( a m o c o d i s t r i b u t e d d a t a - b a s es y s t e m ) 、d a t a p l e x ( g e n e r a lm o t o r s ) 和1 n g r e s s t a r 以及 m e r m a i d 等。 国内也有一些单位参与了异构数据集成工作的研究。主要有:东大阿 派股份有限公司的r d b m so p e n b a s e ;清华大学研制的c i m s 系统中使用 了异构数据库的互操作,但不具有全局数据库模式的概念;东南大学研制 了联邦数据库管理系统,主要实现了o r a c l e 、i n s 、d b a s e 三者之间的 数据接口等;北京理工大学的u u h d b 系统是基于c s 结构的异种数据库 联合使用系统【1 0 j 。 异构数据集成系统的目的是将来自不同的、异构数据源的数据集成到 一起,为用户提供一个统一的查询界面和查询手段,以便于能够透明地对 燕山大学工学硕士学位论文 这些数据进行访问和操纵。其中的关键是如何以一种统一的数据模式描述 各数据源中的数据,屏蔽它们的平台、数据结构等异构性,实现数据的无 缝集成。 但当前已有的异构数据集成技术,都或多或少地存在一些不足: ( 1 ) 未能很好地解决底层异构数据源的“即插即用”问题,缺乏灵活性; ( 2 ) 对结构化数据的支持较好,而对半结构化和无结构化数据不够重 视,数据源参与集成的程度不高; ( 3 ) 查询处理效率低、数据传输量大; ( 4 ) 全局模式同各数据源模式的转换工作繁杂; ( 5 ) 对网络连接的依赖性强等。 w 3 c 制定的x m l 及针对x m l 的x q u e r y 查询标准【1 1 】为解决这些关 键技术和不足提供了新的契机。x m l 除具有内容的自描述性、跨平台性、 内容和显示分离、可扩展性等特点外,它还具有强大的数据表示能力,不 仅可以表示关系模型和面向对象模型的数据,而且还可以表示不规则的、 易变的数据。所有这些都使x m l 为异构数据间的访问和交换提供了一种 新的模式,使统一描述各种格式的数据成为可能。可以预见,x m l 将会成 为一种新的数据互操作的标准。同时,基于x m l 的各种技术不断涌现, 其中x q u e r y 已经成为x m l 查询语言的事实标准,正获得人们越来越多的 认可,使用它可以对以x m l 表示的任何数据进行查询处理。 1 3 本文主要研究内容 本文分析了已有的异构数据集成系统的体系结构,总结了x m l 及其 查询语言x q u e r y 的特点。结合当前x m l 研究及其主要应用领域的成果, 设计了一种合适的框架结构作为基于x m l 的异构数据集成系统的体系结 构,并针对其中的关键技术进行了深入的研究,给出了自己的一些观点和 解决方法。本文研究的主要内容具体如下: ( 1 ) 体系结构选择通过分析当前存在的几种异构数据集成系统的体 系结构的优缺点,参照其中比较典型的m e d i a t o r - w r a p p e r 模式设计了本文 研究的异构数据集成系统的体系结构。 6 第1 章绪论 f 2 ) 视图生成技术选用x m l 作为全局视图描述的工具,讨论了x m l 视图生成的常用技术,给出了本文原型系统中全局视图的生成过程。 ( 3 ) 查询重写研究通过对国内外先进学术成果的研究,详细论述了查 询重写的两种思路,总结了x m l 查询重写的过程。针对x m l 查询中经常 涉及的正则路径查询,提出了一个基于正则路径视图的重写优化算法。 ( 4 ) 系统模块实现x h d i s 是基于x m l 的异构数据集成系统的一个原 型系统,本文就其中几大模块的实现进行了详细说明,并在最后通过实验 验证了本文中算法的有效性。 1 4 本文组织结构 第2 章概述了常见的异构数据集成系统的体系结构,比较了几种体系 结构的优缺点。通过结合x m l 数据模型的特点,选用典型的 m e d i a t o r - w r a p p e r 体系结构作为本文异构数据集成系统的体系结构。 第3 章探讨了基于x m l 的异构数据集成中的视图机制。在比较总结 己有模式集成方法的基础上引入x m l 技术,改变了传统的模式集成方法, 探讨了全局视图的生成技术,并详细介绍了关系数据到x m l 视图的几种 映射方式。 第4 章首先对各种x m l 查询语言进行分析,总结x m l 查询语言的特 点,给出了涉及正则路径表达式重写优化的算法;其次,介绍了基于视图 实现x q u e r y 到s q l 的查询重写的一种技术。 第5 章介绍了x h d i s 原型系统的具体实现,对其中各个模块的实现 技术进行了详细说明。 最后总结论文,提出基于x m l 的异构数据集成研究的下一步工作。 燕山大学工学硕士学位论文 第2 章异构数据集成概述 自从数据库尤其是关系型数据库产品问世以来,异构数据库之间实现 互操作的问题就一直被人们关注。当数据库大量建立在l a n 之上、i n t c m e t 和w w w 逐渐成为获取信息的现实手段之后,这一问题显得尤为突出。人 们迫切需要解决这一问题,即要以最小的代价,使各种异构数据源之间实 现数据的互访及共享,并对用户实现数据的透明访问。由此就产生了异构 数据集成技术。 2 1 异构数据集成定义 异构数据集成这个概念由来已久,这里先给出它的定义【1 2 】。 异构数据集成用来对各种异构数据提供统一的表示、存储和管理,其 核心任务是要将大量的分布式异构数据源集成到一起,使用户能够以透明 的方式访问这些数据源。异构是指数据环境和数据本身两个方面的异构; 集成是指维护数据源整体上的数据一致性、提高信息共享利用的效率:透 明的方式是指用户无需关心如何实现对异构数据源数据的访问,只关心以 何种方式访问何种数据。 实现异构数据集成的系统称作异构数据集成系统,它为用户提供统一 的数据源访问接口,执行用户对数据源的访问请求。异构数据集成屏蔽了 各种异构数据问的差异,通过异构数据集成系统统一操作这些数据。因此 集成后的异构数据对用户来说是统一的和无差异的。 由上可知,异构数据的统一和无差异是异构数据集成的目标。具体而 言,就是异构数据集成应达到分布的透明性和数据源的透明性两个目标。 2 1 1 分布的透明性 分布的透明性意即分布的独立性。这包括两个方面: ( 1 ) 位置透明性即位置独立性。用户不必知道数据的物理存储地,就 好像所用到的数据全部存储在本地一样。这是由一个专门的分布式数据库 第2 章异构数据集成概述 管理系统来实现的。如果缺乏位置透明性,则每个应用程序都必须关心自 已的位置,本地数据就不得不与远程数据分离开来。 ( 2 ) 存取透明性即可以处理网络中任何资源,就如同它们在本地机器 上一样,系统必须管理存取控制,同时提供设备目录。在分布式数据库系 统中有三类查询:局部查询、远程查询和全局查询。局部查询和远程查询 仅涉及单个结点的数据( 本地的或远程的) ,查询优化采用的技术是集中式 数据库中的查询优化技术。全局查询是涉及到多个结点上的数据的查询, 其查询处理和优化要复杂得多。 2 1 2 数据源的透明性 在异构数据集成系统中,如果仅从数据的角度去考虑,则主要是要实 现单一数据映象( s i n g l ed a t ai m a g e ,简称为s d i ) 。即对于系统中的任何一 个用户,不管它所需要的数据在什么地方、来自什么样的数据源,在用户 看来,这些数据是透明的。 异构数据源的透明性主要表现在两个方面: ( 1 ) 不同d b m s 的常规数据之间的透明性; ( 2 ) 不同d b m s 的常规数据和非常规数据( 工程数据、制造自动化的实 时数据、多媒体数据及半结构化数据等1 之间的透明性。 所以,异构数据集成的一个主要目标就是要实现异构数据源之间透明 的互访。 由于分布透明性这个问题可由分布式数据库技术来解决,所以本文主 要从数据的角度,即基于异构数据源的透明性这个目标来进行数据集成的 研究工作。 2 2 异构数据集成体系结构 目前有很多种集成异构数据源的体系结构,主要的也是最常见的有三 种:联邦数据库系统、中间件系统和数据仓库。根据异构数据集成系统接 收的查询是发送到原始数据源还是查询预处理好的数据,可以将这三种体 系结构分成两组。如果接收的查询被发送到数据源处执行,这种方法就是 9 夔些盔兰三堂堡主堂焦丝墨 虚拟视图( v i r t u a lv i e w ) 方法;另一种就是物化视 ( m a t e r i a l i z e dv i e w ) 方法, 即数据仓库法。在比较这两种方法前先介绍这两种方法。 2 2 1 虚拟视图法 采用虚拟视图法实现的异构数据集成系统,当用户向该系统提交查询 请求时,系统根据命令操作数据源中的数据,所以称这种方法为l a z y 方法。 采用虚拟视图法集成数据源主要有两种体系结构:一种是联邦数据库系统; 另一种是中间件系统。 ( 1 ) 联邦数据库系统联邦数据库系统( f e d r a t e dd a t a b a s es y s t e m ,简称 为f d b s ) 3 i 是由参与联邦的半自治的数据库系统组成,目的是实现数据库 系统间部分数据的共享。联邦中的每个数据库的操作是独立于其它数据库 和联邦的。之所以叫“半自治”是因为联邦中的所有数据库都添加了彼此 访问的接口。 联邦数据库系统又可分为紧耦合f d b s 和松耦合f d b s 两种。 紧耦台f d b s 有一个或几个统一的模式,这些模式可通过模式集成技 术半自动生成,也可由用户手工构造。要解决逻辑上的异构,就需要领域 专家决定数据库模式间的对应关系。由于模式集成技术不易添加删除联 邦数据库集成系统中的数据库,所以紧耦合f d b s 通常是静态的,且很难 升级。 松耦合f d b s 没有统一的模式,但它提供了一些查询数据库的统一语 言。这样f d b s 中的数据库更具有自治性,但必须由用户解决所有语义上 的异构。由于松耦合f d b s 没有全局模式,所以,每个数据库都要创建自 己的“联邦模式”。f d b s 中实现互操作“最常用的”方法是将每个数据库 模式分别和其它所有数据库模式进行映射,举个例子如图2 - 1 所示,这样 联邦中需要建立n + ( n 1 ) 个模式映射规则。当参与联邦的数据库很多( n 值很 大1 时,建立映射规则的任务就变得不可行了。所以,联邦数据库集成系统 适合于自治数据库的数量比较小的情况,而且希望数据库能够保j 寺独立”、 允许用户单独查询、数据库间能够彼此联合回答查询的情况。对于网络上 越来越丰富的数据源,f d b s 显然不是一个很好的解决方案。 l o 第2 章异构数据集成概述 图2 - 1 一个联邦数据库系统体系结构的例子 f i g 2 - 1a ne x a m p l e o f t h e a r c h i t e c t u r eo f f d b s ( 2 ) 中间件系统 中间件系统( m e d i a t e ds y s t e m ) ”】通过提供所有异构数 据源的虚拟视图来集成它们,这里的数据源可以是数据库、遗留系统、w e b 数据源等等。该系统提供给用户一个全局模式,用户提交的查询是针对该 模式的,所以用户不必知道各个局部数据源的位置、模式及访问方法。 中间件系统与紧耦合f d b s 有如下不同之处: ( 1 ) 中间件系统可以集成非数据库数据源; ( 2 ) 中间件系统中的数据源的查询能力可以是受限制的,数据源可以不 支持s q l 查询; ( 3 ) 中间件系统中的数据源是完全自治的,这就意味着很容易向或从系 统中添加或删除数据源。 由于中间件系统中的数据源是自治的,所以对系统中数据源的访问通 常是只读的,而f d b s 支持读写访问。 图2 - 2 所示的是典型的中间件系统体系结构。该体系结构的主要部分 是中介器( m e d i a t o r ) 和针对每个数据源的包装器( w r a p p e r ) 。这里中介器的功 能是接收针对全局模式生成的查询,根据数据源描述信息及映射规则将接 收的查询分解成每个数据源上的子查询,再根据数据源描述信息重写优化 查询计划,最后将子查询发送到每个数据源的包装器。包装器将这些子查 询翻译成符合每个数据源模型和模式的查询,并把查询结果返回给中介器。 中介器将接收的所有数据源的结果合并成一个结果返回给用户。 燕山大学工学硕士学位论文 图2 - 2 中间件系统体系结构 f i g 2 - 2t h e a r c h i t e c t u r eo f m e d i a t e ds y s t e m 2 2 2 物化视图法 物化视图法也就是数据仓库法【14 1 。该方法需要建立一个存储数据的仓 库,将来自几个数据源的数据副本,按照一个集中、统一的视图要求进行 预处理、转换以使之符合数据仓库模式,并存储到数据仓库中。其优点是 便于联机分析和数据挖掘,缺点是数据重复存储,拙于及时更新。与虚拟 视图法相对应称这种方法为e a g e r 方法。数据仓库体系结构如图2 - 3 所示。 物化视图法可以从数据传输方式和数据复制触发方式两个方面来划 分。 数据传输方式是指数据在发布数据的源数据源和订阅数据的目的数据 源之间的传输形式,可分为数据推送和数据拉取两种方式。数据推送是指 源数据源主动将数据推送到目的数据源上;而数据拉取则是目的数据源主 动向源数据源发出数据请求,从源数据源获取数据到本地。在有些情况下, 数据发布端传送到数据订阅端的数据并不直接存储到目的数据源中,需要 经过数据订阅端的本地化处理,这时通常采用缓存来协调数据发布端和数 据订阅端的异步。在数据推送的方式下,数据缓存要构建在数据订阅端; 而在数据拉取的方式下,数据缓存则要构建在数据发布端。 第2 章异构数据集成概述 图2 3 数据仓库体系结构 f i g 2 3t h e a r c h i t e c t u r eo f d a t aw a r e h o u s e 数据复制触发方式是指集成系统调用数据复制的方式。集成系统通常 预先定义了一些事件,这些事件可以包括:对数据发布端引起的数据变化 的某个操作、数据发布端数据缓存累积到一定批量、用户对某个数据源发 送访问请求、具有一定间隔的时间点等。当这些事件被触发时执行相应的 数据复制。因此,数据复制触发方式按事件定义的不同可以分为数据变化 触发、批量触发、客户调用触发、定时触发等。 数据复制通常直接采用端到端方式,也有一些数据集成系统使用专为 数据周转服务的数据平台。数据复制时,数据发布端先将数据传送到这个 数据平台上,由数据平台处理后转发给数据订阅端。数据平台要处理好网 络负担和并发控制问题。使用数据平台的好处是单点控制、便于管理。但 数据平台增加了系统的复杂性,降低了系统的可靠性。 与虚拟视图法相似的是用数据仓库集成异构数据源时也需要异构数据 源统一的数据视图,但不同的是e t l ( e x t t a c t ,t r a n s f o r ma n dl o a d ) i 具过 滤得到的数据存储到仓库中。而与传统的数据库不同的是数据仓库中主要 存储的是历史和汇总数据,用于决策支持,主要供分析或执行等人员使用, 而且为避免数据仓库与数据源中数据出现不一致,通常不允许用户对数据 燕山大学工学硕士学位论文 仓库进行更新。 2 2 3 虚拟集成与数据仓库 数据集成在很大程度上是基于这两个相对的方法。数据仓库和虚拟数 据集成系统主要的不同是“e a g e r ”和“l a z y ”的对抗。如上所述,数据仓 库方法需要建立一个存储数据的仓库,定期对数据源中的所有信息进行预 处理,形成符合仓库模式的信息,然后下载数据到数据仓库。对数据源中 信息的预处理及数据仓库的更新主要是通过e t l 工具来实现。这种方法的 主要好处是查询处理性能高,但主要缺点是数据可能不是最新的。如果仓 库模式设计成静态的,当有新数据源加入或己有数据源发主变化时对仓库 的修改代价比较高,而且创建数据仓库比较费时费力,通常需要6 1 8 个 月的时间【14 1 。 虚拟视图集成方法用于数据仓库不实用或不能解决的情况。例如,用 户只需访问数据源中一小部分数据、数据频繁更新、需要实时数据、提供 数据方只能处理有限的查询或全局模式本身经常改变等情况。在完全的虚 拟数据集成中,全局模式是一个逻辑的或虚拟的实体,系统根据数据源相 关信息将针对该模式的查询在系统运行时动态重写成针对各个实际数据源 的查询,中介器通过包装器获得数据,然后整合并返回给用户。 虚拟视图集成优于数据仓库之处是:( 1 ) 它能够集成那些只允许对数据 进行有限访问的数据源,支持数据的实时视图,能够同时描述全局模式的 多个版本:( 2 ) 适合集成系统中的数据源数量很大,而且或者数据源更新 频繁,不可预知用户需要查询什么信息的情况。虽然虚拟视图集成方法要 以一定的性能作代价,因为每次查询都要连接数据源,如果有些数据源实 际位置距中介器很远,则可能出现响应延时,但是创建数据集成系统很快, 而且在中介器中增用缓存策略可解决这一问题,优化系统性能。 在实际的数据集成解决方案中多采用虚拟视图集成的方法,该方法定 义了一个或多个中介模式( m e d i a t e ds c h e m a ) ,通常指全局模式。这些模式 是用来查询数据,而不是存储数据,数据仍保存在局部数据源中。 当用户向集成系统提交一个查询,系统会将该查询分解成针对各个数 1 4 第2 章异构数据集成概述 据源的子查询集,然后将结果整合返回给用户。应用这种解决方案得到的 查询结果是最新数据,而且x m l 的出现使得对各种数据信息的标准化描 述成为可能,使系统更易于适应数据源间的不同。 比较基于虚拟视图方法的两种体系结构:联邦数据库方式和 m e d i a t o r - w r a p p e r 。实际应用中m e d i a t o r w r a p p e r 方法更常见。由于联邦系 统中的所有数据源都要添加彼此访问的接口,所以需要编写大量接口程序, 因此该体系结构目前不常用。 2 3 异构数据集成难点 一个好的异构数据集成系统应该能够保证用户以低代价、高效率使用 异构的数据。要实现这个目标,必须解决异构数据集成中的一些难题。 异构数据集成的难点可以归纳为以下主要方面: ( 1 ) 异构性被集成的数据源通常是独立开发的,数据模型异构,给集 成带来很大困难。这些异构性主要表现在数据语义、相同语义数据的表达 形式、数据源的使用环境等; ( 2 ) 分布性数据源是异地分布的,依赖网络传输数据,这就存在网络 传输的性能和安全性等问题; ( 3 ) 自治性各个数据源有很强的自治性,它们可以在不通知集成系统 的前提下改变自身的结构和数据,给异构数据集成系统的鲁棒性提出挑战。 为了解决这些难题,人们尝试了很多方法,但还没有完全解决异构数 据集成中的些难题,这也是人们一直关注异构数据集成研究的原因。 虚拟视图集成要解决两个基本问题是构建全局模式与数据源数据视图 间的映射关系和处理用户在全局模式基础上的查询请求。 虚拟视图集成过程需要将原来异构的数据模式作适当的转换,消除数 据源间的异构性,映射成全局模式。全局模式与数据源数据视图问映射的 构建方法有两种:全局视图法( g l o b a l a s v i e w ,也有称作g l o b a l c e n t r i e ) 和局部视图法( l o c a l - a s v i e w ,也有称作s o u r c e c e n t r i c ) 。全局视图法中的 全局模式是在数据源数据视图基础上建立的,它由一系列元素组成,每个 元素对应一个数据源,表示相应数据源的数据结构和操作;局部视图法先 鎏坐盔堂三堂堡主堂垫丝苎 构建全局模式,数据源的数据视图则是在全局模式基础上定义,由全局模 式按一定的规则推理得到。文献 1 2 给出了两种方法的比较。 用户在全局模式基础上的查询请求需要被映射成各个数据源能够执行 的查询请求,这一过程有很多算法 6 , 8 , 1 5 】,其中基于局部视图法的映射算法 6 , 8 1 比较复杂,而基于全局视图法的映射算法【”1 要简单许多。 2 4 异构数据集成系统主要技术问题 要实现一个异构数据集成系统,必须考虑以下技术问题: ( 1 ) 公共数据模型公共数据模型就是异构数据集成系统中包装器对于 各数据源的包装形式。关于公共数据模型,首要的一点就是它应该能够方 便地描述各种数据源的数据,包括半结构化数据。从该意义上说,具有自 描述特征的数据模型比较适合,它的元数据附着在数据上,不仅能够方便 地表示结构化或半结构化数据,而且允许各种异构数据并存,是通用异构 数据源集成系统较为理想的公共数据模型。 ( 2 ) 全局视图定义及全局查询语言全局视图是用公共数据模型定义 的视图。全局查询语言【l8 】应该包括数据定义语言( d d l ) 和数据操纵语言 ( d m l ) 。由于集成系统采用具有自描述特征的公共数据模型后,各数据源 的数据事实上是以半结构化的形式参与集成的,所以全局查询语言以半结 构化数据查询语言为主。 ( 3 ) 全局数据字典全局数据字典为异构数据集成系统提供必不可少 的元数据,并帮助用户构造有意义的查询,同时保证全局查询分解和重写 优化的顺利进行。 ( 4 ) 查询分解及翻译用户发出的全局数据查询请求被分解成对各数 据源的子查询,再由相应的包装器完成局部查询。而且由于各数据源的查 询语言与全局查询语言可能有较大的不同,因此分解出的子查询必须重写 为等价的各个数据源上的查询语言书写的查询。 ( 5 ) 查询优化查询优化的目的是为了提高查询效率。网上的传输速度 是制约查询效率的关键因素,而各数据源的查询方式、速度的不同又使处 理变得更为复杂。所以对于涉及到多个数据源的连接查询,提高处理效率 1 6 第2 章异构数据集成概述 显得尤为重要。 ( 6 ) 查询结果处理对于来自各数据源的局部查询结果要迸行汇总,并 按一定格式进行存储和显示。 2 5 异构数据集成系统实例 目前己经研制出一些异构数据集成系统,这里列举其中有代表性的三 个: ( 1 ) l o r e ( l i g h t w e i g ho b j e c tr e p o s i t o r y ) 口 是美国斯坦福大学设计开发的 一个数据库管理系统,专门用于管理半结构化信息。它可以对半结构化数 据和x m l 数据进行存储和管理。l o r e 包含标准数据库的一些特性,如多 用户支持、日志和恢复功能以及查询和更新语言。同时l o r e 也提供了其他 一些操作数据库的工具。 ( 2 ) o z o n e 剐是美国斯坦福大学设计的一个数据集成模型。该模型通过 对面向对象数据库的o d m g ( o b i c c td a t a b a s em a n a g e m e n tg r o u p ) 模型进行 扩展,来对结构化和半结构化数据迸行集成。o z o n e 系统特别适合处理杂 合性数据,尤其是广泛应用于w e b 上的数据。 ( 3 ) v e m a t i l e 【l 刿是由东南大学开发的一个基于c o r b a 的可扩展的异构 数据集成系统原型。该模型在i o n a 公司的o r b i x 产品上,对s q ls e r v e r 、 v e r s a n t 、文件系统、超文本数据进行包装和集成。该系统不仅能集成上述 数据源,而且能集成随时插入的新数据源中的数据。 2 6 本文系统体系结构 在绪论中,我们分析了x m l 具有非常适合异构数据集成的特点,同 时x m l 也已经具备了一个功能强大的查询工具- - x q u e r y 语言。因此,我 们完全可以采用x m l 作为异构数据集成系统的公共数据模型,使用它来 统一描述和表示系统中的各底层异构数据源,并使用x q u e r y 来提出对集 成系统中数据的查询和访问。 针对x m
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年纺织科技公司研发档案保密管理专项制度
- 山东省临沂市沂水县2024-2025学年八年级上学期语文期末试卷(含答案)
- 新护士培训:岗位胜任力培养与临床思维构建
- 班前作业安全条件确认表
- 用电施工安全协议书
- 生意股份制合同范本
- 普京访华签定协议书
- 支持村庄建设协议书
- 换房协议合同写范本
- 旧钢材采购合同范本
- 2025山西临汾安泽县人力资源和社会保障局开发招用公益性岗位40人备考题库附答案解析
- 英威腾变频器培训课件
- 小学生日常行为规范、小学生守则知识竞赛试题
- 职业技能鉴定初级通信终端设备维修工考核试题
- 2025DAS指南:成人未预料困难气管插管的管理解读课件
- 2025年及未来5年中国过硼酸钠行业发展监测及投资战略规划研究报告
- 道路运输企业档案管理制度
- 企业报税实操课件
- 克拉玛依介绍
- 2025至2030中医医院行业项目调研及市场前景预测评估报告
- 2026年高考作文备考之议论文主体段落写作指导:“五层结构法”详解
评论
0/150
提交评论