(计算机应用技术专业论文)基于xml的数据集成研究与应用.pdf_第1页
(计算机应用技术专业论文)基于xml的数据集成研究与应用.pdf_第2页
(计算机应用技术专业论文)基于xml的数据集成研究与应用.pdf_第3页
(计算机应用技术专业论文)基于xml的数据集成研究与应用.pdf_第4页
(计算机应用技术专业论文)基于xml的数据集成研究与应用.pdf_第5页
已阅读5页,还剩60页未读 继续免费阅读

(计算机应用技术专业论文)基于xml的数据集成研究与应用.pdf.pdf 免费下载

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

文档简介

摘要 在企业的信息化建设过程中,各个部门根据各自的信息要求和 特定的应用开发了基于不同数据源的应用系统。如何将这些应用系 统的数据进行集成,在企业中实现数据集成和共享,给企业用户提 供企业数据的统一视图,从而根据集成之后的数据及时调整业务策 略,对企业有着十分重要的意义。 本文研究基于x m l 的数据集成及其应用。它从数据集成的任 务和需要解决的关键问题出发,提出了一种基于x m l 的数据集成 体系结构。该体系结构结合了其它基于x m l 的数据集成研究项目 的优点,采用x m ls c h e m a 和x q u e r y 作为异构数据源的公共数据 模型和全局查询语言,利用消息中间件实现全局代理与局部代理之 间的通信,支持关系数据源、x m l 数据源以及c s v 文件数据源的 集成。 本文首先提出了关系数据源、x m l 数据源以及c s v 文件数据 源的x m ls c h e m a 创建和集成方法。其次,提出了x q u e r y 查询的 校验算法、标准化规则、分解算法以及x m l 中间结果的组合方法, 并用实验对分解算法的完整性、正确性、适用性进行了验证。再次, 提出了关系代理、x m l 代理的查询处理框架,介绍了查询处理框架 中功能组件的实现。最后,介绍了基于x m l 的数据集成系统所用 关键技术在中南大学信息港项目中的实现。 本文的创新之处在于提出了一种基于x m l 的数据集成体系结 构,提出了关系数据源、x m l 数据源以及c s v 文件数据源的x m l s c h e m a 创建和集成方法,提出了一个易于实现的x q u e r y 查询分解 算法,提出了一种关系代理和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 t h ee n t e r p r i s e sh a v ed e v e l o p e dal o to fa p p l i c a t i o n si nt h e i r i n f o r m a t i o ns y s t e m s t h e s ea p p l i c a t i o n sh a v et h e i ro w nd a t as o u r c e sa n d a r eb a s e do nd i f f e r e n tp l a t f o r m s i ti sv e i ni m p o r t a n tf o re n t e r p r i s e s w h e t h e rt h ea p p l i c a t i o n sw i l lb ei n t e g r a t e do rn o t ,b e c a u s ei n t e g r a t e d a p p l i c a t i o n sc a nh e l pe n t e r p r i s e s t oi m p l e m e n td a t as h a r i n g ,s u p p l yu s e r s w i t ha n i n t e g r a t e dv i e wo fh e t e r o g e n e o u s d a t aa n da u t o m a t et h e i r b u s i n e s sp r o c e s s e s t h i sp a p e rr e s e a r c h e so nx m l b a s e dd a t a i n t e g r a t i o na n d i t s a p p l i c a t i o n i tb e g i n sw i t ht h et a s k so fd a t ai n t e g r a t i o na n dt h ep r o b l e m s t ob e s o l v e dd u r i n gi n t e g r a t i o n a n d p r e s e n t sa nx m l b a s e dd a t a i n t e g r a t i o na r c h i t e c t u r e t h ea r c h i t e c t u r ec o m b i n e st h ea d v a n t a g e so f s o m eo t h e rp r o j e c t s ,u s e sx m ls c h e m aa n dx q u e r ya st h ec o m m o n d a t am o d e la n dg l o b a lq u e r yl a n g u a g e ,a n ds u p p o r t st h ei n t e g r a t i o no f r e l a t i o n a ls o u r c e s ,x m ls o u r c e sa n dc s vf i l es o u r c e s t h i sp a p e rf i r s tp r e s e n t st h ex m ls c h e m ac r e a t i o no fr e l a t i o n a l s o u r c e s ,x m ls o u r c e sa n dc s vf i l es o u r c e s ,a n dt h ei n t e g r a t i o no f t h e i r x i v i ls c h e m a s t h e nt h ep a p e rp r e s e n t sas i m p l ex q u e r yd e c o m p o s i t i o n a l g o r i t h ma n dv a l i d a t e si t sc o m p l e t e n e s s 、r i g h t n e s sa n da p p l i c a b i l i t yb y a ne x p e r i m e n t t h ep a p e ra l s op r e s e n t saq u e r yp r o c e s s i n gf r a m e w o r ko f t h er e l a t i o n a la g e n ta n dx m l a g e n t f i n a l l yt h ep a p e rd i s c u s s e st h ek e y t e c h n o l o g i e s o ni m p l e m e n t a t i o no ft h ex m l - b a s e dd a t ai n t e g r a t i o n s y s t e mi nt h ec e n t r a ls o u t hu n i v e r s i t yi n f o r m a t i o nh a r b o r t h ei n n o v a t i v ea s p e c t so ft h i sp a p e ra r et h ep r e s e n t a t i o no ft h e x m l b a s e dd a t ai n t e g r a t i o na r c h i t e c t u r e ,t h ep r e s e n t a t i o no ft h ex m l s c h e m a si n t e g r a t i o no fr e l a t i o n a ls o u r c e s ,x m ls o u r c e sa n dc s vf i l e s o u r c e s ,t h ep r e s e n t a t i o no ft h ex q u e r yd e c o m p o s i t i o na l g o r i t h m ,a n d t h ep r e s e n t a t i o no ft h eq u e r yp r o c e s s i n gf x a m e w o r ko fr e l a t i o n a la g e n t a n dx m l a g e n t k e yw o r d sx m l ,d a t ai n t e g r a t i o n ,x m ls c h e m a ,x q u e r y , a g e n t i i 原创性声明 本人声明,所呈交的学位论文是本人在导师指导下进行的研究工作 及取得的研究成果。尽我所知,除了论文中特别加以标注和致谢的地方外, 论文中不包含其他人已经发表或撰写过的研究成果,也1 i 包含为获得中南 大学或其他单位的学位或证书而使用过的材料。与我共同工作的同志对本 研究所作的贡献均已在在论文中作了明确的说明。 作者签名:至堕羔8 日期:塑垒年上月盟日 关于学位论文使用授权说明 本人了解中南大学有关保留、使用学位论文的规定,即:学校有权 保留学位论文,允许学位论文被查阅和借阅;学校可以公布学位论文的全 部或部分内容,可以采用复印、缩印或其它手段保存学位论文;学校可根 据国家或湖南省有关部门规定送交学位论文。 作者签名:垩扭商导师签名巡日期:7 地年月卫日 硕士学位论文第一章绪论 第一章绪论 1 1 课题来源、背景及研究意义 在一个大型企业的信息化建设过程巾,可能由于各种历史条件的限制,各 个部门根据各自的信息要求和特定的应用选择了各自的软硬件环境,从而使得 在一个企业往往存在着多种不同类型的硬件平台、操作系统、网络协议和来自 不同厂商的数据库管理系统。数据的这种按部门或功能进行组织和管理,导致 了企业数据资源与服务的分片,形成了个个“信息孤岛”拉4 j 。“信息孤岛” 不仅提高了企业维护数据的费用,而且企业很难根据分散的数据做出正确的决 策。为了改善这种局面,同时在各个“信息孤岛”之中共享和交换数据,并且 给企业用户提供企业数据的集成视图,从而根据集成之后的数据及时地调整业 务策略,就必须考虑数据集成的问题。 数据集成作为企业应用集成解决方案的最简单和最直接的途径,目前已在 企业、政府和教育部门得到了广泛的应用。 中南大学信息港就是在这样一个背景下产生的【3 4 l 。多年的信息化建设和积 累,学校已经建立了连接全校所有部门的校园网络以及各部门的业务系统,并 且有些系统实现了基于网络的应用服务,如办公自动化系统、教学管理系统、 研究生管理系统等。但从学校宏观角度而言,这些系统彼此之间都是独立的, 很难根据这些信息来辅助学校的决策与管理。校园信息港是以校园网为平台、 各部门的应用系统为基础,对全校的各类信息进行管理和实时查询,实现对学 校的人、财、物等各种资源进行有效利用和控制。通过校园信息港,可以对学 校基本情况、教学信息、科研信息、管理信息、财务信息、设备资产信息等各 类信息进行融合,实现多层次、多角度、多粒度的查询。 目前学校现有的数据存在以下特尉3 4 】: ( 1 ) 数据来源广泛。由于每个部门的应用系统开发单位不一,因而数据源 种类很多,包括d b f 、a c c e s s 、s q ls e r v e r 、o r a c l e 等关系数据,同时 包括x m l 等半结构化数据以及e x c e l 工作表等电子表格数据。 ( 2 ) 覆盖面广。包括校内全部可能信息资源,包括教、学、研、后勤等方 面的数据。 ( 3 ) 数据不一致。主要表现为不同名字表示同一概念,相同名字表示不同 概念,甚至同一实体在不同系统中维护的数据不一致,如教务处和学 工部维护的学生名册就不一致。 硕士学位论文第一章绪论 ( 4 ) 变动频繁。学校的某些信息,如财务信息等经常变化。 数据集成的目的是屏蔽学校各部门应用系统在硬件平台、操作系统、网络 协议和数据源方面的差异,为全校用户提供一个通用的数据集成平台。通过数 掘集成平台提供的服务,校领导可以对学校的各类信息进行宏观了解,从而根 掘集成之后的数据及时调整治理学校的各项策略。 1 2 数据集成的研究现状 数据集成的研究起源可以追溯到2 0 世纪8 0 年代早期的多数据库系统1 1 0 】, 多数据库系统主要研究应用传统数据库技术桥接异构数据源之间的不匹配。多 数据库系统研究以联邦数据库系统研究为主。联邦数据库系统1 2 6 将所有数据源 统一到一个单一的集成系统中。这种方法比较简单,集成系统有统一的数据模 式,不用考虑分布数据的转化和统一。但是它存在一系列的问题:首先,构 建这样一个集中式的系统需要很长的开发时间,要求高性能的主机设备,实现 代价较高;其次,系统的扩展和维护会涉及到整个系统,而且一个集成系统无 法共享另一个集成系统的模块。 2 0 世纪9 0 年代中期w w w ( w o r l dw i d ew 曲,万维网) 和i n t e m e t 的出现 进一步推广了数据集成的概念。事实上,数据集成不仅是数据库研究学者感兴 趣的课题,在人工智能领域,数据集成也引起了研究人员的广泛关注【l0 1 。美国 华盛顿大学的e t z i o n i 和w e l d 是信息a g e n t i l 7 】研究的先驱,信息a g e n t 主要用于 从分布的数据源中检索信息。继e t z i o n i 和w e l d 之后,信息a g e n t 成为其它研 究小组感兴趣的课题,p e g a s u s 、s i m s 、r a z o r 、o c c a m 、a r i a d n e 等是数据集成 在人工智能领域的研究项目。这些项目主要研究数据集成的查询计划问题,如 制定查询计划以及查询优化等。s i m s 和a r i a d n e 把数据源映射成用于模式集成 的描述逻辑,它们在查询翻译中应用了推理和规划。这些项目的另外一个主要 研究内容就是包装器,包装器实现数据源和数据集成系统之间的数据和查询格 式的转换。包装器的研究成果包括包装器的自动学习、加速包装器开发的工具 等n 0 1 。 美国斯坦福大学开发的t s i m m i s 1 6 1 是第一个提出在模式集成中使用半结 构化数据模型的项目之一;h e r m e s 、i r o d b 和d i s c o 主要研究处理有限的数据 源访问能力;c a m o t 和i n f o s l e u t h 研究演绎数据库的集成。t s i m m i s 、h e r m e s 、 i r o d b 和d i s c o 均使用g a v ( g l o b a l a s - v i e w ) 方法进行模式集成。g a v 方法 将全局模式定义为所有局部模式上的一个集成视图。这种方法的优点是用户查 询容易定义,查询分解过程相对容易实现;不足是任何局部模式的变化都可能 2 硕十学位论文第一章绪论 影响到全局模式,全局模式维护困难,系统扩展性不强,难以表示不完整的数 据源 3 1 。 i n f o r m a t i o nm a n i f o l d 项目推广了l a v ( 1 0 c a l a s v i e w ) 方法的运用。l a v 方法将每个局部模式定义为全局模式的一个视图。这种方法的优点是局部模式 变化只需修改局部模式在全局模式上的视图定义,无需修改全局模式,系统扩 展性好;不足是难以定义如何利用视图响应查询,查询响应算法难以实现【3 】。 i n f o r m a t i o nm a n i f o l d 项目的丌发人员提出b u c k e l 算法 2 】将查询重组成实际数据 源j _ = 的查询。上面提到的r a z o r 项目也使用l a v 方法进行模式集成,在r a z o r 中查询重组是应用i n v e r s e r u l e s 算法【2 】完成的。最近华盛顿大学正在丌发 t u k w i l a 系统,t u k w i l a 也是使用l a v 方法进行模式集成,m i n i c o n 算法1 是华 盛顿大学在t u k w i l a 中提出的查询重组算法。m i n i c o n 算法克服了b u c k e t 算法 和i n v e r s e r u l e s 算法的诸多不足,是目前性价比最高的查询重组算法。 在商业领域,数据集成系统已经成功应用在企业、电子商务和生命科学领 域,如i b m 开发的g a r l i c 已经集成到d a t a j o i n e r 和d b 2 中。n i m b l e 科技和b e a 正在尝试在大型组织中推广它们的数据集成工具a c t u a t e 1 4 】和l i q u i dd a t a 4 ”。 x m l 的出现将数据集成的研究推向了一个新的阶段。尽管大多数的商业数 据仍然存储在关系数据库里面,人们还是对把传统系统中的数据转换成x m l 表现出了极大的兴趣。i b m 、o r a c l e 和m i c r o s o f t 在它们的数据库产品d b 2 、 o r a c l e 和s q ls e r v e r 中增加了为关系数据创建物化x m l 视图的功能。s q l s e r v e r 是唯一支持x m l 视图查询的r d b m s ( r e l a t i o n a ld a t a b a s em a n a g e m e n t s y s t e m ,关系数据库管理系统) ,但是仅支持用x p a t h 表达的x m l 查询,查 淘能力菲常有限f 3 1 。s i l k r o u t e i g l 和x p e r a n t o l 7 j 主要研究中阔层x m l 视图上 的x q u e r y 到关系数据库上的s q l 查询的翻译,它们仅支持关系数据库的集成。 a g o r a i “】主要研究将标准化的x q u e r y 查询翻译成中间层通用虚拟关系模式上 的s q l 查询,支持关系数据源和支持d o m 接口数据源的集成。 在国内,东南大学和华中科技大学在数据集成方面取得了很多研究成果, 它们分别开发出了v e r s a t i l e 2 0 1 和p a n o r a m a 2 7 1 数据集成原型系统。v e r s a t i l e 和 p a n o r a m a 项目组成员在国内外知名期刊上发表了一系列高水平的学术论文。 以上我们提到的项目采用的数据集成方法均为“虚拟法” 3 卯。集成系统只 是提供虚拟的集成视图和对该集成视图的查询处理机制。系统能够自动地将用 户对集成模式的查询转换成对各异构数据源的查询。因为虚拟数据集成不需要 存储数据,并能保证查询到最新的数据,因此比较适合于高度自治,集成数量 多,且更新变化快的异构数据源集成。虚拟数据集成的缺点是需要维护一个全 局模式,当数据源模式发生变化时,维护全局模式比较困难。虚拟数据集成本 硕士学位论文第一章绪论 质上是对数据进行逻辑上的集成,因此也被认为是一种逻辑数据集成方法。我 们通常所指的数据集成就是指虚拟数据集成,以下如果没有特殊说明,数据集 成就是指虚拟数据集成。 与“虚拟法”相对,另外一种数据集成方法就是“数据仓库法”| 3 。数据 仓库通过e t l ( e x t r a c t 、t r a n s f o r ma n dl o a d ,提取、传输和加载) 工具将数据物 理搬迁到数据仓库,因此也被认为是一种物理数据集成方法。在集成系统中, 数据仓库位于客户端与数据源之问,用来存储来自各数据源中的待集成数据, 系统提供对数据仓库的查询机制o 这种体系结构的优点是查询响应速度快。数 据仓库存在的问题是,当数据源中的数据变动频繁时,要从数据仓库中查询到 最新的数据,需要定时更新数据仓库,维护数据仓库的代价很高。 1 3 本文的工作和组织 在广泛参考国内外参考文献的基础上,本文研究基于x m l 的数据集成及 其应用。结合中南大学信息港数据集成系统,提出了自己的一些观点和见解。 经过近一年的工作,完成了中南大学信息港数据集成系统的设计和编码。 本文的创新之处在于: ( 1 ) 提出了一种基于x m l 的数据集成体系结构; ( 2 ) 提出了关系数据源、x m l 数据源以及c s v 文件数据源的x m ls c h e m a 创建和集成方法; ( 3 ) 提出了一个易于实现的x q u e r y 分解算法; ( 4 ) 提出了一种关系代理和x m l 代理的查询处理框架。 本文的组织如下: 第一章绪论:介绍课题来源、背景及研究意义,介绍数据集成现阶段的研 究现状,介绍本文的工作和组织结构。 第二章数据集成和) 妇l :介绍数据集成的任务及需要解决的问题,介绍 x m ls c h e m a 公共数据模型及x m l 查询语言x q u e r y ,提出一种基于x m l 的 数据集成体系结构。 第三章模式集成:本文的重点章节之一。介绍四级模式结构,介绍关系数 据源、x m l 数据源以及c s v 文件数据源的x m ls c h e m a 创建方法,介绍模式 异构分类及冲突解决方法,晟后以实例形式给出关系数据源、x m l 数据源及 c s v 文件数据源的模式集成方法。 硕士学位论文第一章绪论 第四章全局查渤处理:本文的重点章节之一。提出x q u e r y 校验算法,介 绍x q u e r y 标准化规则,提出x q u e r y 分解算法,最后用实验对x q u e r y 分解算 法的完整性、正确性及适用性进行验证。 第五章局部查询处理:本文的重点章节之一。提出关系代理及x m l 代理 的查询处理框架,介绍处理框架中功能组件的实现。 第六章基于x m l 的数据集成在信息港中的应用:简要介绍中南大学信息 港项目,介绍数据集成系统的总体设计,介绍数据集成平台与采集a g e n t 通信、 采集a g e n t 实现等关键技术在系统中的实现,最后介绍数据集成系统的实施效 果。 第七章总结与展望:本文的总结部分。总结本文所做的工作,指出进一步 研究的方向。 硕士学位论文 第二章数据集成和x m l 第二章数据集成和x m l 2 1 数据集成的任务 数据集成的根本任务是提供用户对多种异构数据源的透明、一致和实时访 问。透明性是指屏蔽底层数据源的差异,让用户感觉数据似乎来自于一个大的 数据源;一致性是指消除数据源之间存在的结构异构和语义异构:实时性则指 访问到的是最新更新的数据,这点也是数据集成系统与数据仓库的根本区别。 在数据集成系统中,系统维护一个全局模式,该全局模式是定义在数据源 模式上的虚拟集成视图。用户提交一个全局模式上的查询时,系统根据全局模 式与数据源模式的关系将查询分解成数据源模式上的子查询,分解成的子查询 交由数据源包装器处理,最后系统组合来自多个包装器的中间结果,并将组合 后的结果以一定形式返回给用户。 人们通常从以下三个方面来评价数据集成系统的能力【l 0 】: ( 1 ) 表示用于提交全局查询的全局模式的能力; ( 2 ) 依据全局模式和数据源模式之间的关系重组查询的能力; ( 3 ) 利用局部数据源查询能力执行查询的能力。 2 2 数据集成需要解决的问题 数据集成主要需要解决以下几个问题【4 8 】: ( 1 ) 分布性。解决数据的分布性闯题,实现数据的集中与汇总。 ( 2 ) 异构性。数据源异构体现为结构异构和语义异构。结构异构指数据源 表达数据的结构存在差异,目前广泛使用的结构有表、对象、文件等。 语义异构区分为两种类型:一种类型指相同数据在不同数据源中的表 现形式存在差异( 属性名、数据格式和类型等) ;另一种类型指由于 数据维护错误导致同一数据项在不同数据源中有不同值。 ( 3 ) 自治性。在对原有应用系统的数据进行集成时,不能影响原有系统的 正常运行。 ( 4 ) 扩展性。集成系统具有很好的可扩展性和适应性,能够适应数据源的 数目、内容以及格式等的不断变化。 ( 5 ) 可靠性。提供数据的可靠传输,解决不同软硬件和网络环境中系统的 通信问题,实现“信息孤岛”之间的连通。 6 硕士学位论文第一二章数据集成和x m l 2 3 公共数据模型x m ls c h e m a 在数据集成系统中,一个关键问题是提供公共数据模型以屏蔽不同数据源 在结构上存在的差异。公共数据模型必须能够方便的捕述多种不同的数掘源结 构,好的公共数据模型是实现数据源异构性同一化、分散性集中化的基础【2 ”。 x m ls c h e m a 是2 0 0 1 年5 月正式发布的w 3 c ( w o r l dw i d ew 曲 c o n s o r t i u m ,w w w 联合会) 的推荐标准,经过数年的大规模讨论和丌发如今终 于奠定下来,成为全球公认的x m l 环境下首选的数据建模工具。 由于x m l 是s g m l ( s t a n d a r dg e n e r a l i z e dm a r k u pl a n g u a g e ,标准通用标 记语言) 的一个子集,它继承了s g m l 用于建模的d t d ( d o c u m e n tt y p e d e f i n i t i o n ,文档类型定义) 。使用d t d 的好处是可以利用大量现有的d t d 工 具,使得开发应用代价维持在一个相对较低的水平。然而,d t d 有不少缺陷【4 9 j : ( 1 ) d t d 是基于正则表达式的,描述能力有限; ( 2 ) d t d 没有数据类型的支持,在大多数应用环境下能力不足: ( 3 ) d t d 约束定义能力不足,无法对x m l 实例文档做更细致的语义限制; ( 4 1d t d 不够结构化,重用的代价相对较高; ( 5 ) d t d 并非使用x m l 作为描述手段,而d t d 的构建和访问并没有标准 的编程接口,无法使用标准的编程方式进行d t d 维护。 x m ls c h e m a 正是针对这些d t d 的缺点而设计的,它完全使用x m l 作为 描述手段,具有很强的描述能力、扩展能力和处理维护能力。因此,在基于x m l 的数据集成系统中,我们采用x m ls c h e m a 公共数据模型。 2 4 x m l 查询语言x q u e r y 采用x m ls c h e m a 公共数据模型可以较好的将多种异构数据源中的数据集 成表示为x m l 形式,因此需要一种适合x m l 数据的查询语言。这种查询语言 应具有以下一些基本特征【l5 j i j :能从一个或多个x m l 文档中抽取特定数据, 并对查询结果进行排序、过滤等整合;能在不同逻辑结构的x m l 数据之间进 行转换;查询的输入和输出皆为x m l 形式,具有封闭性:是说明性的查询语 言:能实现多种复杂的数据操作;支持多种数据类型。 w 3 c 提出的x q u e r y l 4 1 就具备上述所有特征。x q u e r y 目前版本为x q u e r y 1 0 ,最近一次修订的时间为2 0 0 3 年1 1 月1 2 日。x q u e r y 从x m l 查询语言q u i l t 发展而来,结合了其它查询语言的特征,包括x p a t h1 0 、x q l 、x m l q l 、s q l 硕士学位论文 第二章数据集成和x m l 以及o q l 等。x q u e r y 的基本构造模块是表达式,包括路径表达式、序列表达 式、算术表达式、比较表达式、逻辑表达式、元素构造器和f l w o r 表达式等。 f l w o r p w ( f o r - l e t w h e r e o r d e r b y r e t u m ,发音为“f l o w e r ”) 表达式是x q u e r y 语言中非常重要的一部分,x q u e r y 查询语言中绝大部分都是f l w o r 结构的。 f l w o r 表达式支持变量的迭代和绑定,通常用于计算两个或多个x m l 文档之 问的连接和数据重构【i l 。f l w o r 表达式由五个子句组成:f o r 子句和1 e t 子直 产生绑定变量的元组序列,称为“元组流”;w h e r e 子句定义选择和连接谓词砖 元组流进行过滤;o r d e rb y 子句按条件对元组流排序:r e t u r n 子句构造f l w o i ; 表达式的x m l 输出。 x q u e r y 数据模型 4 3 1 把x m l 文档定义为包含不同节点( 文档、元素、属性、 文本、处理指令、命名空问和注释) 的有序节点树。在树里,文档节点表示为 根节点,元素节点表示为带标签的节点,文本节点表示为叶子节点,属性表示 为元素节点旁边的注释。特殊的i d r e f 引用类型的属性表示为从引用节点到被 引用节点的虚线边。图2 一l 给出一个样例x m l 的x q u e r y 数据模型图。 士 图2 1 样例删l 的x 0 u e r y 数据模型 x q u e r y 执行从变量绑定开始【3 7 】:在遍历数据模型树的过程中对f o r 和l c t 子句中的路径表达式求值。匹配路径表达式的节点被绑定到f o r 或l e t 子句中的 变量。如果一个路径表达式存在多重匹配,南r 子句进行迭代并将其变量绑定到 每个匹配,同时为变量的每次赋值执行w h e r e 、o r d e rb y 和r e t u r n 子句。 2 5 基于x m l 的数据集成体系结构 x m l 出现之前的数据集成系统大多使用关系模型或对象模型作为公共数 据模型。x m l 的可扩展性、结构性、平台无关性【2 5 l 等特点使得x m l 出现之后 迅速成为i n t e r n e t 上数据交换的标准,同时数据集成被认为是 n l e m e t 上应用系 统之间数据交换的主要手段。在这种背景下,越来越多的研究人员和研究结构 加入了基于x m l 的数据集成研究的行列。其中,比较著名的研究项目有a t & t 硕士学位论文第二章数据集成和x m l 实验室的s i l k r o u t e 、i b ma l m a d e n 研究中心的x p e r a n t o 、i n r i a 的a g o r a 以及w a s h i n g t o n 大学的t u k w i l a 。下面,我们就从全局模式与数据源模式的映 射定义方法、全局查询语言以及查询处理方法i 个方而对上述四个研究项目作 一简单比较。 ( 1 1 映射定义方法 s i l k r o u t e 和x p e r a n t o 使用g a v 方法定义映射:在s i l k r o u t e 中,管理 员使用r _ x l ( r e l a t i o n a lt ox m lt r a n s f o r m a t i o nl a n g u a g e ) 查询语言定义关系数 据库的x m l 视图:在x p e r a n t o 中,管理员使用x m l q l 查询语言定义关 系数据库缺省x m l 视图上的x m l 视图。a g o r a 和t u k w i l a 使用l a v 方法定义 映射:在a g o r a 中,管理员使用d a t a l o g 语言将关系数据库或x m l 数据源定义 为全局x m ls c h e m a 对应的类关系模式上的视图;在t u k w i l a 中,管理员使用 x q u e r y 将x m l 数据源定义为全局x m ls c h e m a 上的视图。 但) 全局查询语言 s i l k r o u t e 、x p e r a n t o 、a g o r a 和t u k w i l a 分别使用x m l - q l 、x m l q l 、 x q u e r y 和x q u e r y 作为全局模式上的查询语言。 ( 3 ) 查询处理方法 在s i l k r o u t e 中,查询处理分为两个步骤:1 、查询组合器合并用户x m l q l 查询和视图r x l 查询,产生一个新的可执行r x l 查询;2 、查询翻译器将可执 行r x l 查询分为两部分:一部分为从关系查询引擎提取数据的s q l 查询另 一部分为x m l 生成器输出目标x m l 所需的x m l 模板。在x p e r a n t o 中, 查询处理分为三个步骤:l 、查询解析器将用户x m l q l 查询翻译成 x q o m ( x m lq u e r yg r a p hm o d e l ) 2 、查询重写器将用户x m l - q l 查询的 x q g m 与视图x m l q l 查询的x q g m 合并,产生简化的x q g m :3 、s q l 翻 译器将简化的x q g m 分为两部分:一部分为从关系查询引擎提取数据的s q l 查询,另一部分为x m l 置标器输出目标x m l 所需的x m l 置标图。在a g o r a 中,查询处理分为四个步骤:1 、查询标准化器应用等价转换规则对x q u e r y 查 询进行标准化,使得x q u e r y 从句法形式上可直接翻译成s q l ;2 、查询翻译器 将x q u e r y 查询翻译成全局x m ls c h e m a 对应的类关系模式上的s q l 查询;3 、 查询重写器将类关系模式上的s q l 查询重组成关系数据库或x m l 数据源上的 s q l 查询;4 、查询优化器产生优化的查询执行计划。在t u k w i l a 中,查询处理 主要分为两个步骤:1 、查询重组器将用户x q u e r y 查询重组成x m l 数据源上 的x q u e r y 查询;2 、查询处理器对x q u e r y 查询进孑亍优化并通过内置的x - s c t 2 n 算子执行x q u e r y 查询。 硕士学位论文第二章数据集成和x m l 从上述比较可以看出,s i l k r o u t e 和x p e r a n t o 实际上均是关系数据库的 x m l 包装器,它们的目标均是查询关系数据库的x m l 视图,两者的主要区别 在于:查询组合后,x p e r a n t o 奄询翻译器产生最小的s q l 查询,s i l k r o u t e 查询翻译器产生的s q l 查询存在冗余的谓词和连接;x p e r a n t o 的内部查询 模型x q g m 自然扩展了关系模型,便于查询翻译。在s i l k r o u t e 和x p e r a n t o 中,最复杂的部分均为组合用户查询和视图查询。a g o r a 和t u k w i l a 均利用视 图来响应查询,不同的是:a g o r a 把数据源模式定义为中间层虚拟类关系模式 上的视图,而不是直接定义为全局x m ls c h e m a 的视图;t u k w i l a 查询处理器 利用内置的工一s c a n 算子来执行x q u e r y 查询,而不是利用数据源自身的查询能 力,非x m l 数据源需要输出为x m l 数据源后才能进行集成。 结合上述四个项目的体系结构,我们提出了一个如图2 2 所示的基于x m l 的数据集成体系结构。 r :二二二二二j 弛竺m 孕l 图2 - 2 基于瑚l 的数据集成体系结构 在该体系结构中,采用g a v 方法定义全局模式与数据源模式之间的映射, 全局x m ls c h e m a 由集成各数据源的输出x m ls c h e m a 后得到,用户可通过用 户接口定义某种用户模式上的x q u e r y 查询。x q u e r y 查询处理分为七个步骤: 1 、x q u e r y 校验器检查x q u e r y 的格式正确性;2 、x q u e r y 标准化器对x q u e r y 进行标准化:3 、x q u e r y 分解器将x q u e r y 分解成数据源输出x m ls c h e m a 上 l o 硕士学位论文第二章数据集成和x m l 的x q u e r y 查询,并将分解后的x q u e r y 查询封装成x m l 消息发送到消息中间 件;4 、局部代理从消息中间件接收x q u e r y 查询请求;5 、局部代理将x q u e r y 翻译成具体数据源的本地查询;6 、局部代理将提取的数据格式化成x m l ,并 封装成x m l 消息发送到消息中间件;7 、x m l 结果组合器组合来自局部代理 的x m l 中间结果,从而获得最终的x m l 查询结果。 在该体系结构中,借助x p e r a n t o 的查询处理方法来定制关系数据库的 x m l 包装器,我们称之为“关系代理”,但我们删去了x p e r a n t o 中比较复 杂的查询组合部分,直接将关系数据库缺省x m l 视图上的x q u e r y 查询翻译成 s q l 查询。与a g o r a 集成x m l 数据源的方法不同,x m l 代理将x q u e r y 转换 为x s l _ t 样式表,由x s l t ( e x t e n s i b l es t y l e s h e e tl a n g u a g et r a n s f o r m a t i o n ,可 扩展样式表语言转换) 处理器对源x m l 和x s l t 样式表进行处理,最后输出 目标x m l 。文件代理通过定制的解析器将c s v ( c o m m a - s e p a r a t e dv a l u e ,逗号 分隔值) 文件转化为x m l ,然后采用与x m l 代理相同的查询处理方法。 下面,我们就来逐一介绍体系结构中的各个层次。 2 5 1 用户接口层 与传统的b s ( b r o w s e r s e r v e r ,浏览器朋艮务器) 、c s ( c l i e n t s e r v e r ,客 户机朋艮务器) 结构类似,该层主要完成界面展示任务。该层支持多种交互式应 用模式,如基于g u i ( g r a p h i c su s e ri n t e r f a c e ,图形用户接口) 的用户接口、 定制的应用( 如移动终端、手机、p a l m 设备、各种嵌入式设备等) 或基于w e b 的 应用等。用户通过此层提交全局模式上的查询,系统一般提供两种查询定义方 式:数据管理专家可以手工书写x q u e r y 查询;普通用户则可以通过界面向导 完成查询定义。用户提交查询后,系统对查询进行相应处理,查询结果通过此 接口呈现给用户。 2 5 2 全局代理层 该层主要由模式仓库和全局代理两大部分组成。其中,模式仓库存储几种 不同类型的信息:一是从各数据源输出的x m ls c h e m a :二是各输出x m l s c h e m a 集成后的全局x m ls c h e m a ;三是全局x m ls c h e m a 与输出x m l s c h e m a 之间的映射;四是输出x m ls c h e m a 之间的连接条件。全局代理包括 以下四个部分:x q u e r y 校验器,用于验证发送至x q u e r y 标准化器的x q u e r y 语句的格式是否正确;x q u e r y 标准化器根据一定的标准化规则对x q u e r y 进行 硕士学位论文第二章数据集成和x m l 标准化;x q u e r y 分解器,根据从模式仓库里获得的信息将全局x q u e r y 查询分 解成数据源输出模式上的x q u e r y 查询,并将分解后的x q u e r y 查询封装成x m l 消息分别发送到消息中间件中的当前数据源消息接收队列中:x m l 结果组合 器,用来组合来自局部代理的x m lr f l 间结果,从而获得全局查询的晟终结果。 2 5 3 消息中间件层 m o m j ( m e s s a g e o r i e n t e dm i d d l e w a r e ,消息中间件) 为全局代理和局部 代理之间的通信提供一种环境。通过使用可靠的消息队列,提供支持消息传递 所需的目录,安全和管理服务,确保全局代理和局部代理之间消息传送的安全。 m o m 支持同步传输和异步传输两种模式。在同步传输模式下,消息传送 方在继续执行之前,需要得到消息接收方的确认,即消息已得到并处理;而在 异步传输模式下,传输方不需要得到确认可继续执行。 m o m 支持和提供大量的消息传输模型。最常见的传输模型是点对点消息 传输( p o i n t - t o p o i n t ) 和发布订阅消息传输( p u b l i s h s u b s c r i b e ) 。在点对点模 型中,消息制造者把每条消息以同步或异步方式传送到一个特殊的队列中,这 个队列是由客户为保留它的消息而建立的,一个接收者一次可以拥有一个或多 个队列;在发布订阅模型中,消息的目的地称为主题,想要消息的客户订阅主 题,当一个消息发布到主题时,它就可以转发到所有的订阅者。 2 5 4 局部代理和数据源层 数据集成环境中的数据源是预先存在的、异构的、自治的数据源。设计数 据源的最初目的是用来存储某种格式的数据,而不是支持数据集成1 1o j 。因此, 不同数据源的查询能力并不相同:某些数据源支持完全查询;某些数据源仅支 持有限访问,如绑定模式查询;某些数据源甚至不支持查询,如x m l 文档、 工作表等。除查询能力之外,不同数据源提供元数据的能力也不同:关系数据 库提供元数据的能力较强;h t m l 页面和文件系统提供元数据的能力较弱。 鉴于数据源在提供元数据、查询能力等信息方面的不确定性和不一致性, 在数据集成系统中,当把某种数据源加入到集成平台中时,需要为不同的数据 源定制不同的局部代理。局部代理是局部数据源的访问接口,它负责维护局部 数据源的输出x m ls c h e m a ,同时还负责将全局代理传递过来的x

温馨提示

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

评论

0/150

提交评论