(计算机软件与理论专业论文)异构数据集成中间件的研究与实现.pdf_第1页
(计算机软件与理论专业论文)异构数据集成中间件的研究与实现.pdf_第2页
(计算机软件与理论专业论文)异构数据集成中间件的研究与实现.pdf_第3页
(计算机软件与理论专业论文)异构数据集成中间件的研究与实现.pdf_第4页
(计算机软件与理论专业论文)异构数据集成中间件的研究与实现.pdf_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

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

文档简介

摘要 摘要 随着信息技术的发展,企业的信息化水平不断提高。企业在信息化建设的过 程中积累的大量数据构成了企业的异构数据环境。异构数据集成问题已经成为 目前的研究热点之一。本文讨论了进行异构数据集成时所面临的问题,给出了 一套适用于关系数据库和x m l 数据的集成解决方案并介绍了异构数据集成中间 件的设计与实现。 本文首先提出了异构数据集成解决方案的结构框架,并对集成策略、x m l 模 式与关系模式的相互转换、配置信息描述以及配置工具可视化等关键技术进行 介绍。本文提出的解决方案使用x m l 作为数据描述方式,使用w e bs e r v i c e s 作 为接口,从而有效屏蔽了系统的异构性并提高了系统的可扩展性。解决方案基 于关系模式进行数据集成,本文提出了三种集成策略,并对它们进行了比较和分 析;同时,本文还探讨了x m l 模式与关系模式的相互转换的方法,从而实现了 对x m l 数据源的支持。解决方案在系统结构上借鉴了s o a 的思想,基于“服务” 进行构建,通过w e bs e r v i c e s 实现了数据访问和数据集成等功能;并通过一套 可视化的配置工具,简化了对服务的配置工作,提高了系统的易用性。 关键词:异构数据:数据集成;中间件;关系模式;x m l 模式。 a b s c t a b s t r a c t a l o n gw i t ht h ed e v e l o p m e n to fi n f b n n a t i o nt e c h n o l o g y ,i n f o m a t i o l l l i z a t i o nl e v e l o fe n t e r p r i s e sh a sb e e nu p g r a d e ds t e pb ys t e p d u r i n gt h ep m c e s so fi n f o m a t i o n l i z i n d a t aw e r ea c c u m u l a t e da n dh e t e r o g e n e o u sd a t ae n v i r o n m e n ti nt h ee n t e r p r i s ew a s f o n l l e d r e c e n n y ,h e t e r o g e n e o u sd a t ai n t e f a t i o nb e c o m e sar e s e a r c hf o c u s i nt h i s t h e s i s ,m ep r o b l e m so fh e t e m g e n e o u sd a t ai n t e g r a t i o na r ed i s c u s s e d ,s o l u t i o na i m e d a td e a l i n gw i t hi n t e g r a t i o no fr e l a t i o n a ld a t a b a s e sa n dx m ld a t ai sp r o p o s e d ,a n d d e s i g n a n di m p l e m e n t a t i o no fh e t e m g e n e o u sd a t ai n t e g r a t i o nm i d d l e w a r ea r e i n t r o ( i u c e d a tt h eb e g i n n i n go ft h i st l l e s i s ,m ea r c h i t e c t u r eo ft h es 0 1 u t i o nm a td e a l i n gw i t h i n t e g r a t i o np m b l e m si sp r o p o s e d ,k e yt e c h n o l o g i e ss u c ha si n t e g r a t i o ns t r a t e g i e s , t r a i l s f o 丌n a t i o nb e t w e e nx m ls c h e m a sa n dr e l a t i o ns c h e m a s , d e s c r i p t i o n s o f c o n f i g u r a t i o n s ,a n dv i s u a l i z a t i o no fc o n f j g u r a t i o n sa r ei n t r o d u c e d i nt h es 0 1 u t i o n p m p o s e di nt h i st h e s i s ,x m li su s e dt or e p r e s e n t i n gd a t a ,a n dw e bs e n ,i c e sa r eu s e d a si n t e a c e s ,s ot h eh e t e r o g e n e i t yo ft h es y s t e m si ss h i e l d e da n dt h ee x p e n d a b i l i t yo f t h es 0 1 u t i o ni si m p r o v e d i n t e g r a t i o ni sb a s e do nr e l a t i o ns c h e m a si nt h es 0 1 u t i o n , t h r e ei n t e g r a t i o ns 缸缸e g i e sa r ep r o p o s e di nt 1 1 i st h e s i s ,c o m p a r i s o na n da n a l y s i so f t h e ma r ea l s op r e s e n t e d ;t r a n s f o 丌n a t i o nm e t h o d s b e t w e e nx m ls c h e m a sa n dr e l a t i o n s c h e m a sa r ed i s c u s s e d ,s ox m ld a t as o u r c e sa r es u p p o r t e di nt h es 0 1 u t i o n t h e s o l u t i o nh a sp m f l t e df r o mt h es o ai nt h ea r c h i t e c t u r e ,c o n s t n l c t i o no f 山e m i d d l e w a r ei sb a s e do n “s e r v i c e s ”,t h ef u n c t i o n ss u c ha sd a t aa c c e s sa n dd a t a i n t e g r a t i o na r ep r o v i d e db yw e bs e r v i c e s ;as u i to fv i s u a l i z e dc o n f i g u r a t i o nt 0 0 1 sf o r c o n 6 9 u r a t i n gs e “i c e sa r ei m p l e m e n t e d ,s oc o n f i g u r a t i o nt a s k sa r em a d es i m p ly a n d t h es o l u t i o ni sm o r ec o n v e n i e n c e k e yw o r d s :h e t e r o g e n e o u sd a t a ;d a t ai n t e f a t i o n ;m i d d l e w a r e ;r e l a t i o ns c h e m a ; x m i ,s c h e m a 南开大学学位论文版权使用授权书 南开大学学位论文版权使用授权书 本人完全了解南开大学关于收集、保存、使用学位论文的规定,同意如下 各项内容:按照学校要求提交学位论文的印刷本和电子版本;学校有权保存学 位论文的印刷本和电子版,并采用影印、缩印、扫描、数字化或其它手段保存 论文:学校有权提供目录检索以及提供本学位论文全文或者部分的阅览服务; 学校有权按有关规定向国家有关部门或者机构送交论文的复印件和电子版:在 不以赢利为目的的前提下,学校可以适当复制论文的部分或全部内容用1 :学术 活动。 学位论文作者签名:嗣丰劳 洲年j ,月;7 日 经指导教师同意,本学位论文属于保密,在年解密后适用 本授权书。 指导教师签名:学位论文作者签名: 解密时年月日 间: 各密级的最长保密年限及书写格式规定如下 内部5 年( 最长5 年,可少于5 年) 秘密l o 年( 最长1 0 年,可少于1 0 年) 机密2 0 年( 最长2 0 年,可少于2 0 年) 南开大学学位论文原创性声明 南开大学学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下,进行 研究工作所取得的成果。除文中已经注明引用的内容外,本学位论文 的研究成果不包含任何他人创作的、已公开发表或者没有公开发表的 作品的内容。对本论文所涉及的研究工作做出贡献的其他个人和集 体,均已在文中以明确方式标明。本学位论文原创性声明的法律责任 由本人承担。 学位论文作者签名:f 词h 呻亥 妇6 年j ,月;j 日 第一章引言 第一章引言 第一节背景 随着信息技术的发展,企业的信息化水平不断提高。由于历史和现实的原 因,不同的单位采用的数据管理系统也大不相同,甚至在一个单位内部,所使 用的信息管理系统也不尽相同。企业在信息化建设的过程中积累的大量数据构 成了企业的异构数据环境。根据i d c 的报告,在全球最大的l 0 0 0 家企业中,平 均都有1 4 个数据库和4 8 个应用系统,而且随着市场的变化、客户需求的变化, 企业还在不断地增加它的数据库和应用系统。而且,目前许多企业和单位都在 推行信息化建设,其中关键点就在于异构数据的集成和共享,即实现将关键的、 准确的数据及时地传输到相应的决策人手中,为企业的运作决策提供数据。因 此,如何实现异构数据的集成,已成为目前迫切需要面对和解决的问题。 与此同时,随着网络技术的推广和普及,网络上的信息迅猛增加,成为了 一个巨大的信息库。这个信息库由许多异构的数据源组成,其中既有传统的数 据库系统、文件系统,又有w e b 上应用广泛的h t m l 页和x m l 数据。由于平台差 异、数据库技术以及通信协议等方面的不同,使各数据源间的互操作变得复杂、 困难,使它们成为“信息孤岛”。如何更好地利用网络上这些数据信息,己成为 人们日益关心的问题。在这种背景下,异构数据集成系统受到越来越多人的重 视,这方面的研究也成为当前的研究热点。 第二节国内外相关研究情况 早期的异构数据源集成系统多采用多数据库集成技术实现。多数据库集成 系统支持用户使用单一数据定义和操作语言同时访问多个独立的数据源。对于 多数据库系统的设计,主要有两种方向:全局模式和多数据库语言系统。3 。具 有代表性的系统包括:由美国普度大学开发的i n t e r b a s e 、h p 公司开发的 p e g a s u s 、东北大学开发的p 0 1 y b a s e 和北京理工大学开发的u u h d b 系统等。后 来,m c l e o d 等人提出了联邦式数据库系统的概念,联邦数据库的结构如图1 1 所示。联邦数据库系统建立需要交互的所有数据库对之间的一对一连接,由于 第一章引言 缺乏必要的标准,联邦数据库系统只能在一定的限制条件( 如对加入联邦系统 的d b m s 和各d b m s 间的互操作加一定的限制) 下实现,难以实现各种数据源的 灵活的数据集成。因此,联邦式数据库目前还不能成为一种通用的数据集成方 法。 图1 1 联邦数据库结构。 数据仓库是解决数据集成问题的另一个方法。在数据仓库集成结构中,来 自几个数据源的数据被抽取出来,合成一个全局模式。然后,数据存储在数据 仓库中,这在用户看来与普通数据库无异”3 。一旦数据存储在数据仓库中,用 户就可以提出查询,正如他们向任何数据库提出查询一样。另一方面,通常不 允许用户对数据仓库进行更新,因为这些更新不能反映在基本数据源中,并且 可以导致数据仓库与数据源不一致。此外,数据仓库中的内容需要周期性的更 新,以保持和数据源里的数据一致。数据仓库的结构如图1 2 所示。 第一章引言 图1 2 数据仓库4 人们还提出一种基于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 将结果进行处理 所示。 而是将用户的查询分解为对数据源的查 并返回给用户“1 。其基本结构如图1 3 图1 3 基于m e d i a t o r 的数据集成模型” 随着x m l 技术的采用,一些新的研究成果和数据集成系统也陆续产生。其 第一章引言 中,x p e r a n t o 是w i s c o n s i n 大学和i b ma l m a d e nr e s e a r c hc e n t e r 共同研究和 实现的一个比较成功的中间件系统。该系统的主要目标是把关系数据库的数据 以x m l 的形式展示给用户。为了实现这个目标,x p e r a n t o 系统实际是一个中间 件系统,在这个系统上,用户可以定义新的x m l 视图,并把这个) 【m l 视图与关 系数据库中的数据映射起来。x p e r a n t o 系统可以把x m l 查询语句转化成s q l , 并把s q l 发送到底层的数据库当中去,然后把返回的结果变为x m l 形式展现给 用户5 “2 。图1 4 描述了x p e r a n t o 查询过程。 图1 4x p e r a n l d 查询过程6 另外,随着x m l 数据库技术的产生,基于x m l 数据库的数据集成也成为数 据集成领域一个研究和发展的方向。x m l 数据库是x m l 文档的集合,) ( m l 数据库 的结构如图1 5 所示。使用x m l 技术来进行多数据源的集成是) ( m l 数据库的优 势之一。从2 0 0 1 年以来,i p e d o 等商用数据库系统将自己的数据库系统扩展为 一个集成平台,它可以将关系数据库系统、m i s 系统、o a 系统、文件系统等集 成在同一个平台上,给用户提供统一的界面。如i p e d o 公司的i p e d ox m l 智能 平台,为用户提供x m lv i e w 来统一访问底层的异构数据。人们也从这一点上进 一步看到了) ( m l 技术的力量。x m l 数据库对多数据源的集成,是对x m l 技术可 扩展性这一长处的极好发挥。但是,就目前的集成程度和在应用层上所提供的 功能来看还是远远不够的。 4 第一章引言 x h 旺, x m l 查询薅盲查询结集 原数据管理目8 l 管理数据管理事务管理蜘啦机制l i lt 曙叫! 哆h 濂恻 图15 x m l 数据库结构7 j 目前,在异构数据集成的众多解决方案中,按照集成方法划分可以分为两 大类:基于关系模式的集成和基于x m l 模式的集成。 基于关系模式的集成出现的比较早,该方法大多使用类s q l 语言对集成方 案进行描述,并通过查询分解的方法将查询任务分配到各个关系数据库,并对 它们的查询结果进行集成。它的理论基础是分布式关系数据库的相关理论。由 于关系理论和s q l 语言相对比较成熟,这种方法用户容易掌握,且描述方式简 洁。但是目前商用数据库种类繁多,每种产品又有各自的特点,所支持的s q l 版本也不尽相同,所以,使用这个方法不能充分发挥数据库的优势,同时,涉 及多个数据源的查询分解的难度较大,s q l 所支持的很多功能,如:g r o u p 语句, 多层子查询都很难实现。同时,它只支持关系数据库,对) ( m l 数据源或其他数 据源无能为力。 基于x m l 模式的集成出现的相对较晚,但是,由于x m l 技术在数据集成方 面的优势,该方向的研究已经成为当前的研究热点。其中,基于x m l 查询语言 ( 如:x q u e r y ) 的集成方案是目前比较流行的异构数据集成方案。它通过将各 种数据源转换为x m l 数据,然后对) ( m l 数据进行查询来实现数据集成。它充分 利用x m l 的优势,支持几乎所有格式的数据源,有效屏蔽了各种数据源的异构 性,并依靠) ( m l 查询语言实现了数据的集成。自从x m l 技术的研究和开发逐渐 升温以来,形形色色的x m l 查询语言不断问世。比较有代表性的如早期的 第一章引言 x m l q l 、x q l 、u n q l ,后来的q u i l t 、x p a t h ,以及由q u i l t 发展而来的x q u e r y 。 在w 3 c 的极力推动和学术界、工业界的大力支持下,x q u e r y 逐渐在这些查询语 言中脱颖而出,成为主流的x m l 查询语言。但是,x q u e r y 目前还没有成为正是 的标准,因此不同的版本之间可能存在一定的兼容性问题。处理关系数据库的 集成问题时,x q u e r y 的某些操作没有相应的s q l 语句与之对应,因此需要大量 额外的工作实现相应转换”1 。另外,x q u e r y 解决方案将所有数据源都转换为x m l 数据,然后进行集成,没有充分利用关系数据库的高效的查询功能,在运行效 率上可能与基于关系模式的数据集成差距较大。 第三节论文的主要内容和创新之处 本文针对当前信息化建设中所面临的已有信息资源难以共享与利用这一难 点问题开展研究,针对各种异构数据集成解决方案的优点和不足,提出了适用 于关系数据库和x m l 数据的异构数据集成解决方案,并设计开发了一个异构数 据集成中间件系统一一h d i s ( 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 nm i d d l e w a r e s y s t e m ) 。与其他异构数据源集成解决方案相比,它最大的特点在于: 强化了数据模式在整个集成过程中的作用,对x m l 模式与关系模式的 相互转换做了深入的研究和探讨。解决方案支持关系数据库和) 【m l 数 据,集成过程基于关系理论实现,而集成结果使用x m l 描述,这些都 是通过x m l 数据与关系模式数据的相互转换机制实现。 通过借鉴s o a 的思想,提出基于“服务”的思想,将数据访问、数据 集成和业务集成等功能都定义为服务,在结构上为异构数据集成中间 件的设计提出了新的思路。 通过配置的方法实现对集成过程的定义和描述,用户通过对“服务” 的配置实现数据访问、数据集成等功能。解决方案还包括一系列的可 视化配置工具用于简化配置工作。 第四节论文的组织结构 本文探讨了异构数据集成的方案以及集成中间件的设计与实现。文章的整 体结构如下: 6 第一章引言 第一章主要讨论了解决异构数据集成问题的必要性,列举了国内外的研究 情况和研究成果,然后通过对现有解决方案优缺点的分析引出本文的主要研究 内容和创新之处,最后介绍了论文的组织结构。 第二章首先分析了异构数据集成解决方案所必须具备的特性,介绍了对异 构性的屏蔽方法,最后给出了一个异构数据集成中间件系统的架构。 第三章主要讨论了异构数据集成解决方案中所涉及的关键技术,包括数据 访问、模式转换、集成策略以及一些可视化方法等。 第四章描述了异构数据集成中间件的设计与实现。通过对系统的静态结构 和动态结构进行描述,向读者展示该系统的设计思路与实现方法。 第五章介绍了一个本文描述的异构数据集成中间件的一个应用。 第六章是对全文的总结,概括了本文中所实现系统的优势和特点,同时也 指出了其不足和未来能进一步完善之处。 第二章异构数据集成解决方案的结构框架 第二章异构数据集成解决方案的结构框架 第一节异构数据集成解决方案的特点 异构数据集成是对各种异构数据提供统一的表示、存储和管理,这些功能 在异构数据集成系统中实现。数据集成屏蔽了各种异构数据间的差异,通过异 构数据集成系统进行统一操作。因此集成后的异构数据对用户来说是统一的和 无差异的。对于一个成功的异构数据集成系统来讲,它必须具有以下3 个特性。 对异构性的有效屏蔽; , 易用性: 较好的效率。 本文提出的异构数据解决方案是一种基于“服务”的可配置的方案,用户 可以通过简单的配置操作就可以解决一个涉及多个异构数据源的复杂的数据集 成问题,而一旦配置完成,用户通过访问该“服务”实现数据集成工作。而配 置工作对于大多数情况来讲是十分简单的,即使用户不是很熟悉s q l 语句和关 系数据库理论以及) :m l 的知识,也可以轻松完成。具体设计与实现的细节将在 第三章中进行介绍。 对于效率问题,本文选择了效率较好的基于关系理论的数据集成方法,并 通过对集成策略进行优化来进一步提高运行速度。 系统的异构性屏蔽是系统成败的关键,本文在对异构性屏蔽方面进行了大 量的研究和探讨工作,下面将进行具体的介绍。 第二节异构性的屏蔽 本文从数据描述方式、系统接口和系统构建原则三个方面来解决对异构性 屏蔽的问题。 数据描述方式方面,本文通过使用x m l 来解决数据表示上的异构性问题。 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 ) 是由w 3 c ( w o r l dw i d ew e bc o n s o r t i u m ) 于1 9 9 8 年2 月发布的一种标准,是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 p 第二章异构数据集成解决方案的结构框架 l a n g u a g e ) 的一个简化子集。它将s g m l 的丰富功能与h t m l 的易用性结合到了 w e b 的应用中,以一种开放的自我描述方式定义了数据结构,在描述数据内容 的同时能突出对结构的描述,从而体现出数据之间的关系。这样所组织的数据 对于应用程序和用户都是友好的、可操作的。当前的计算机世界,不同企业、 不同部门中存在着许多不同的系统。操作系统有w i n d o w s 、u n i x ,数据库系统 有s q ls e r v e r 、d b 2 等,在这些异构的平台、数据库之间传输信息,比较困难。 由于x m l 是非专有的并易于阅读和编写,就使得它成为在不同的应用间交换数 据的理想格式。x m l 的详细介绍请参考 8 。 系统接口方面,本文使用w e bs e r v i c e s 技术来解决系统接口的异构性问题。 w e bs e r v i c e s 是提供特定功能元素( 如应用程序逻辑) 的可编程实体,任何数 量的、可能是完全不同的系统都可以用常见的i n t e r n e t 标准( 如x m l 和 h t t p ) 访问它。它既可以在内部由单个应用程序使用,也可通过i n t e r n e t 公 开供任何数量的应用程序使用。由于可以通过标准接口访问,因此w e b s e r v i c e s 使异类系统能够作为单个计算网络协同运行。w e bs e r v i c e s 并不追 求一般的代码可移植性功能,而是为实现数据和系统的互操作性提供了一种可 行的解决方案。w e bs e r v i c e s 的核心特征之一是存在于服务的实现与使用之间 的高度抽象化。可以以复合方式使用w e bs e r v i c e s 来集成一组似乎完全不同的 现有应用程序。由于大多数公司几乎在每个部门都广泛采用了自定义软件,因 而导致产生了大量实用但孤立的数据和业务逻辑块。由于开发每个应用程序所 处的环境是多种多样的,而技术在永不停歇地发展,因此,利用这些应用程序 来创建一个功能集合是一项让人望而生畏的任务。使用w e bs e r v i c e s ,可以将 每个现有应用程序的功能和数据以w e bs e r v i c e s 形式公开。然后,便可以创建 使用此w e bs e r v i c e s 集合的复合应用程序以实现各个构成应用程序之间的互 操作性。w e bs e r v i c e s 的结构如图2 1 所示。有关w e bs e r v i c e s 的详细信息 清参考文献 9 。 9 第二章异构数据集成解决方案的结构框架 图2 1w e bs e r v i c e s 的结构 系统构建原则方面,积极采纳s o a 的思想。s o a ( s e r v i c eo r i e n t e d a r c h i t e c t u r e ) 是指为了解决在i n t e r n e t 环境下业务集成的需要,通过连接能 完成特定任务的独立功能实体实现的一种软件系统架构。它最主要的应用场合 在于解决在i n t e r n e t 环境下的不同商业应用之间的业务集成问题。s o a 比传统 的方法更好地支持了商业流程,它相对于传统的企业业务集成方案在解决应用 开发和集成等许多问题具有十分明显的优势。在解决数据集成问题方面,s o a 的很多思想和理念也是值得借鉴的。同时,s o a 和w e bs e r v i c e s 可以很好地结 合,w e bs e r v i c e s 是目前最适合实现s o a 的技术之一。 第三节异构数据集成中间件的结构 在确定了数据描述方式、系统接口和系统构建原则之后,下面介绍一下中 间件的基本结构。 第二章异构数据集成解决方案的结构框架 异构数据集成解决方案采用了四层体系结构,自下而上分别是: 数据源; w e bs e r v i c e s 服务器; w e b 应用服务器; 客户端; 图2 2 描述了异构数据集成解决方案的基本结构,下面分别对这4 层进行 介绍。 1 数据源 该层处于最低层,是数据提供者,由不同来源的数据构成。包括各种类型 的数据库、) ( m l 数据等。 2w e bs e r v i c e s 服务器 w e bs e r v i c e s 服务器层是中间件的核心部分,它通过对数据源的数据进行 访问和处理实现了对异构数据的集成,并以w e b 服务的方式提供给上层的w e b 应用程序和客户端程序,供它们进行调用。本层可以划分为六个子层,下面按 照自下而上进行介绍。 ( 1 ) 数据访问层 该层针对不同的数据源,提供不同的数据访问适配器。其中,主要包括两 大类:关系数据库访问模块和x m l 数据访问模块。关系数据访问模块实现了对 各种关系数据库的查询、插入、删除和更新操作。x m l 数据访问模块实现了) 【m l 数据的读写操作。另外,可以通过将其他格式数据封装或转换为x m l 格式数据 的方法来间接的支持多种数据源。因此,) ( m l 数据访问模块可以看作是除关系 数据库外,其他所有数据源的访问接口。需要指出的是,x m l 数据访问模块不 仅支持数据p u l l 服务,还支持x m l 数据p u s h 服务。关于x m l 数据p u s h 服务, 本文将在第三章第五节3 5 7 进行介绍。 ( 2 ) 表示层 该层位于数据访问层和数据集成层之间,由于数据集成是基于关系模式的, 所以对于x m l 数据,需要在进行集成之前将其转换为关系模式数据。表示层涉 及的关系模式与x m l 模式之间转换的问题,请参见第三章第二节相关内容。 第二章异构数据集成解决方案的结构框架 图2 2 异构数据集成解决方案的结构 第二章异构数据集成解决方案的结构框架 ( 3 ) 数据集成层 该层通过数据访问层和数据表示层得到关系模式数据源,同时,系统会根 据用户指定的集成规则和集成策略对这些数据源进行集成操作,最后得到一个 关系模式的集成结果。有关集成策略的内容,将在第三章第三节进行介绍。 ( 4 ) 业务集成层 该层提供数据批量导出导入服务。主要功能是:首先进行数据集成操作, 通过调用数据集成层或数据访问层得到中间结果:然后,将中间结果中的指定 信息导入目标数据源。 ( 5 ) 样式转换层 该层实现关系模式数据到x m l 模式数据的转换。并将该数据作为最终结果 传递给用户。关系模式与) ( m l 模式之间转换的问题,请参见第三章第二节相关 内容,样式转换配置的相关问题,请参见第三章第五节3 5 6 。 ( 6 ) w e bs e r v i c e s 接口层 该层提供以上各层的w e bs e r v i c e s 接口,用户通过访问这些服务来实现功 能的调用。第四章第一节4 1 4 列举了中间件所提供的w e b 服务。 3 应用系统w e b 服务器 该层通过调用w e bs e r v i c e s 服务器层所提供服务来实现数据的访问、数据 集成和业务集成。 4 应用层( 客户端) 该层通过访问应用系统w e b 服务器或调用w e bs e r v i c e s 实现用户所需的功 能。 第三章异构数据集成中间件的关键技术 第三章异构数据集成中间件的关键技术 第一节概述 异构数据集成系统是一个复杂的系统,它所涉及的技术领域也比较广,如: 分布式对象技术、x m l 、面向对象技术、数据库技术等。有关异构数据集成系统 中的常用技术请参考文献 1 0 。 本章讨论了异构数据集成解决方案中所涉及的关键技术,共包括六节。第 一节为概述,对本章的主要内容进行介绍。第二节介绍x m l 模式与关系模式的 相互转换,主要内容包括x m l 模式描述方式的选择、x m ls c h e m a 的规范化、规 范化的x m l 数据与关系模式数据的相互转换。第三节介绍基于关系模式的数据 集成策略,本文提出3 种不同的集成策略供用户选择,第三节对这3 种数据集 成策略进行了介绍并对它们进行了比较和性能分析;第四节介绍了基于服务的 系统结构,通过对数据访问、数据集成和业务集成等服务的定义和描述向用户 展示本文所提出的解决方案的整体结构。第五节介绍了可配置的数据访问与集 成方案,对数据查询服务、数据插入服务、数据集成服务、业务集成服务、样 式转换服务、以及数据p u s h 服务等的配置进行描述,并给出了相应配置信息的 x 札s c h e m a 。第六节介绍了可视化的服务配置工具的设计与使用,对关系数据 库查询和插入配置工具以及数据集成配置工具进行了介绍。 第二节x m l 模式与关系模式的相互转换 本文提出的解决方案使用x m l 描述数据集成的结果,而数据源可能是关系 数据库,也可能是x m l 数据。对于任何数据源,在进行数据集成之前必须定义 一个各个异构数据源共同遵循的x m l 模式,然后将集成的结果转换为该模式。 文献 1 1 列举了6 神不同的x m l 模式描述方法并对它们进行了比较,作为 x m l l o 规范的重要组成部分,d t d 和) ( m ls c h e m a 是目前常用的x m l 模式描述 方式。虽然d t d 发布时间早,近几年来使用也比较广泛,但是,它也有一些缺 点,如:采用非x m l 的语法规则、支持数据类型有限、扩展性较差等。因此w 3 c 于2 0 0 1 年5 月正式推荐) ( m ls c h e m a 为x m l 的标准模式,显然,w 3 c 希望 1 4 第三章异构数据集成中间件的关键技术 以x m ls c h e m a 作为x m l 模式描述语言的主流,并逐渐代替d t d 。s c h e m a 具 有的优点包括: 一致性。s c h e m a 本身就是x m l 文档,使得对) 【m l 的定义不必再利用 一种特定的形式化语言,而是直接借助x m l 自身的特性,是的x m l 达 到从内到外的完美统一。 可扩展性。s c h e m a 对d t d 进行了扩充,从而使其具备较强的可扩展性, 比如引入了数据类型、命名空间等。 互换性。用户可以根据需要设计适合自己应用的s c h e m a ,并且可以同 其他人交换彼此的s c h e m a 。通过映射机制,可以将不同的s c h e m a 进 行转换,实现更高层次的数据交换。 。规范性。同d t d 一样,s c h e m a 也提供了一套完整的机制以约束x m l 文 档中标记的使用,相比之下,s c h e m a 更具规范性,它定义了x m l 文档 的整体结构,元素间的关系等。 易用性。处理 ( m l 时会经常使用d o m 和s a x ,它们只对x m l 文档有 效而对d t d 无能为力。 从以上几点可以看出,x m ls c h e m a 比d t d 具有更强的表现力,能够更好 地满足不同领域应用的需求。因此,本文提出的解决方案选择x m ls c h e m a 作为 x m l 文档描述工具。关于) ( m ls c h e m a 的详细介绍,请参考文献 1 2 。 x m l 模式与关系模式很明显的一个区别在于:x m l 模式是一个树型结构,而 关系模式是一个二维的平面结构。进行模式转换首先需要解决的问题包括: 如何将x m l 模式中的相互嵌套元素转换到同一层次上; 对于x m l 中的多值元素( s c h e m a 中m a x o c c u r s 1 的情况) ,必须进行转 换,使其为符合关系模式; 对可选元素( s c h e m a 中m i n o c c u r s = o 的情况) 需要在相应的关系模式 中有所体现。 文献 1 3 儿1 4 给出了基于d t d 的x m l 模式到关系模式的转换和映射算法, 文献 1 5 详细论述了x m ld t d 到关系模式的映射算法c p i ,文献 1 6 给出了基 于d s c h e m a 的模式映射方法,文献 1 7 给出了基于x m ls c h e m a 的关系模式到 x m l 模式的映射方法,文献 1 8 给出了关系模式到x m l 模式的转换算法。本文 提出的解决方案在参考以上文献的基础之上设计了一套新的x 札模式到关系模 式的转换方法。新方法分两步实现x m l 模式到关系模式的转换:首先针对 第三章异构数据集成中间件的关键技术 “m a x o c c u r s ”大于l ,“m i n o c c u r s 等于0 的情况对s c h e m a 进行规范化,得 到一个树型无多值元素和可选元素的x m l 模式,然后再将其映射成为关系模式。 3 2 1x m ls c h e m a 的规范化 对于可选元素( s c h e m a 中m i n o c c u r s = o 的情况) 的处理比较简单,可以为 其增加一个默认的“空”值,即可。对于除根元素的其他元素来讲,如果它包 含的子元素为多值元素( s c h e m a 中m a x o c c u r s 1 的情况) ,则需要对x m ls c h e m a 进行转换。考虑以下实例: 其x m ls c h e m a 为 ( ? x m iv e r s i o n = “1 0 “? 一( ai d = ”l ” 1 2 ( b 3 图3 1x m ls c h e m a 转换实例 一 一 一 一 一 ( s :a t t n b u t en a m e = “i d ”t y p e = “x s :s t r i n g 。1 ( x s :c o m p i e t v p e ( s :c o m p i e t v 口e 图3 2 转换前的s c h e m a 1 6 第三章异构数据集成中间件的关键技术 针对上述情况,可以将元素b 的父元素a 进行“复制”,并建立元素b 与 其父元素a 一一对应关系来实现将元素b 的m a x o c c u r s 属性值化简为1 。转换 后,得到的x m l 文件与其s c h e m a 如下: ( ? x m 】v e r 5 j o n = “1 0 ”? 一 1 一 2 ( a 一 3 ( a ( r o o t 图3 3 转换后的x m l 数据 ( s :s c h e m a m i n s = ”h t t p :t e m p ur o r g x m l 2 r x s d “ m 】n s :5 = “h t t p :w w w w 3 o r 9 2 0 0 1 x m l s c h e m a “ a t t r 泊u t e f o r m d e f a u l t = ”q u a f i e d ”e i e m e n t f o r m d e f j u l t = ”q u a i i f - e d “ 一 一( x s :c o m p i e t y p e 一( 5 :e i e m e n t 九a m e = ”a ”m a o c c u r s = ”u n b o u n d e d “ 一 一( 5 :s e 口u e n c e 图3 4 转换后的x m ls c h e m a 可以看出,转换前后的两个) ( m l 文件所包含的数据及其相互逻辑关系完全 相同,转换过程可以用下图描述: 1 7 第三章异构数据集成中间件的关键技术 图3 5 转换图形化描述 可以通过定义x s l 的方法实现) ( m l 数据的规范化过程。与以上实例相关的 样式转换文件如下( 针对r 0 0 t 的子元素应用) : ( x 5 i :s t v i e 5 h e e tv e r 引o n = ”1 0 “ m l n 5 :x s l = ”h t t p :w w w w 3 o r g 1 9 9 9 x s l ,t r a n 5 f o r m “ 一 一( a1 d = ” 一 i d y 一 ( s i :v a i u e o fs e l e c t = ” ( a ( x s i :t e m 口l a t e ( s l :s t v i e s h e e t 图3 6 转换对应的样式转换文件 需要指出的是,当某元素仅含有一个多值子元素的情况下,以上转换所涉 及的样式转换文件( x s l 文件) 是可以自动生成的,其递归的生成算法: 1 对x m ls c h e m a 所描述的树型结构进行后根遍历,设当前结点为r : 2 当r 表示根元素时,算法结束; 3 当r 表示的元素出现m a x o c c u r s 大于1 的情况,如果r 为根元素的子 元素,则继续遍历;否则,对r 表示元素的父元素进行“复制”,建 立r 与其父元素的一一对应关系,从而使得r 的m a x o c c u r s 属性等于1 : 4 调整s c h e m a 中r 的父元素的m a x o c c u r s 的属性值; 第三章异构数据集成中间件的关键技术 5 生成x s l 文件,x s l 文件中包括此次转换所涉及的结构调整; 6 继续进行遍历操作,r 变更为当前元素的父元素,转第2 步。 算法执行过程中生成若干x s l 文件,将符合原s c h e m a 的x m l 数据按照顺序 应用这些x s l 文件,就可以得到规范化的x m l 数据。 对于这些自动生成的x s l 文件,可以采用一些优化方法对其中一些进行合 并。进行s c h e m a 规范化最终的目的是消除除根元素的子元素外的所有多值元 素,由以上的算法可以看出,对于除根元素的子元素外的其他的元素,如果它 是多值元素,且其后代当中也有多值元素,则必须先将其后代当中的多值元素 进行转换,然后再对它自己进行转换,否则会出现数据逻辑方面的错误。但是, 如果两个需要进行转换的多值元素之间没有“祖先后代”关系,它们可以 同时进行转换,即x s l 文件可以进行合并。相应的算法如下: 1 建立集合兀,中的元素为) 【m ls c h e m a 中需要进行转换的多值元素。 2 建立一个关系r :对于,中的元素x 和j ,当且仅当z 和y 具有“祖先 后代”关系时, o ) ,约束条件集为仁k ,“jd ( 痧o ) ( 不考虑没有约束条件的情况) 。进行数据集成的目的是将口中的所有数 据集集成为一个数据集,同时该数据集满足f 中所有的约束条件。本文中所使 用的约束条件是一个二元表达式,包括:运算符,左操作数和右操作数。其中, 运算符支持:“= ”、“ ”、“ = ”、“ = ”、“ ”。左操作数和右 第三章异构数据集成中间件的关键技术 操作数分别是来自口中数据集中的字段。参考文献 4 介绍了关系数据库系统查 询分析器的设计思路,同样作为基于关系模式的运算,它对本文的集成策略的 设计具有一定的借鉴价值。 首先考虑一个最简单的集成策略,称之为策略0 。该策略对口中的数据集直 接求笛卡尔积,然后再根据约束条件进行选择和投影操作。很显然,策略0 在 运行时必然会产生大量无用的中间数据,运算效率比较低。因此,本文设计了 两个优化的集成策略,策略1 和策略2 。 3 31 策略1 门个数据集的集成可以化简为两两集成的策略。下面首先对策略1 进行描述: 1 对口中所有数据集按数据集的大小( 可以是数据集表示的关系所包含的 元组的数量) 进行排序。 2 若口中仅剩下一个数据集,则返回该数据集,算法结束。 3 从d 中选择前两个数据集a :,d ,从f 中取出涉及到这两个数据集的约 束关系集g :

温馨提示

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

评论

0/150

提交评论