




已阅读5页,还剩50页未读, 继续免费阅读
(计算机软件与理论专业论文)异构数据库集成中间件的构建研究与应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大连理工大学硕士学位论文 摘要 随着i t 业的飞速发展,对现存系统中数据共享的需求不断增加,迫切需要一种途 径来集成这些系统中分布的、异构的数据库资源。目前数据仓库和联邦数据库是比较成 功的异构数据库集成方案,然而这些解决方案不但复杂而且是面向主题的。而基于中介 系统的解决方案则更灵活、低耦合、廉价,并且各数据库资源仍可拥有完全的自治性。 本文的课题来源于大连市交通局的实际项目一一大连市交通局数据中心建设。数据 库的异构性主要体现在两方面:一方面是数据库管理系统的差异,不同的数据库管理系 统,对数据的访问方式是不同的;另一方面是语义的不同,包括数据库模式的差别及数 据含义、类型上的冲突。而且这些数据库的自治性也妨碍了有效的互操作信息系统开发。 本文研究了异构数据库集成中间件的构建,并将其应用在实际项目中。首先根据大连市 交通局交通数据的特点,描述了一种虚拟数据库构建策略,建立了全局虚拟数据库。其 次注册异构数据库资源,这又包括两部分工作,使用o g s a - d a i 将局部数据库包装成 w e b 服务,以统一的方式对外提供数据访问服务,实现对局部数据库的访问代理,屏蔽 异构数据库在访问方式上的差异;建立局部数据库模式和虚拟数据库模式间的映射关 系,屏蔽异构数据库在语义上的差异,其中还讨论了映射策略以及语义、字段冲突的解 决方案,这样用户能看到的只是全局虚拟数据库模式,屏蔽异构数据库在语义上的差异。 最后,在上述的基础上,给出了虚拟数据库的查询映射算法,将用户的全局虚拟查询转 换为对多个真实数据库的局部查询,并将来自各真实数据库的查询响应合并为一个结果 集。 本文的异构数据库集成中间件使用w e b 服务封装业务逻辑,以) m 几为数据交换标 准格式,在大连市交通局数据中心建设中的应用,证明了该中间件有效的将分布式异构 数据库集成起来,隐藏了数据库的细节,提供了对分布式异构数据库的透明访问。 关键词:异构数据库;数据库集成;模式映射;查询映射 大连理工大学硕士学位论文 r e s e a r c ha n da p p l i c a t i o no f h e t e r o g e n e o u sd a m b 弱ei n t e g r a t i o n m i d d l e w a r ec o n s t r u c t i o n a b s t r a c t w i m t h er a p i d d e v e l o p m e n t o f r r i n d u s t r y t h e d e m a n d o f s h a r i n g t h e d a t a f x o m e x i s t i n g s y s t e m si si n c r e a s i n g , a n dt h e r ei sa l lu r g e n tn e e df o ra na p p r o a c ht oi n t e g r a t et h ed i s t r i b u t e d h e t e r o g e n e o u sd a t a b a s er c s o r i c 冶s a tp r e s e n td a t aw a r e h o u s ea n df e d e r a t e dd a t a b a s ea r et w o h e t e r o g e n e o u sd a t a b a s e si n t e g r a t i o ns o l u t i o n si no o l n l n o nu h o w e v e ? r , t h e s es o l u t i o n s i r e n o to n l yc o m p l i c a t e db u ta l s os u b j e c t - o r i e n t e d m e a nw h i l e ,i n t e r m e d i a r ys y s t e ms o l u t i o ni s m o r ef l e x i b l e ,l o wc o u p l i n g , c h e e p ,a n dd a t a b a s es o u r c , e sa r ;cs t i l lc o m p l e t e l ya u t o n o m o u s 1 1 托s u b j e c to ft h i sp a p e rc o m e sf r o ma na c t u a lp r o j e c t d a l i a nm u n i c i p a l c o m m u n i c a t i o n sb u r e a ud a t ac e n t e rb u i l d i n g d a t a b a s eh e t e r o g e n e o u s n e s so fm a i n l y r e f l e c t e di nt w oa s p e c t s :o n ei sd i f f e r e n td a t a b a s em a n a g e m e n ts y s t e m s ,t h e r ea r ed i f f e r e n t d a t aa c c e s sa p p r o a c h e s ;t h eo t h e ri sd i f f e r e n ts e m a n t i c s i n c l u d i n gd a t a b a s es c h e m ad i f f e r e n c e , d a t am e a n i n ga n dt y p ec o n f l i c t s a n dt h ea u t o n o m yo ft h e s e 蚴b a s c sa l s oi m p a c t st h e i n t e g r a t i o n t h i sp a p e r s t u d i e st h e h e t e r o g e n e o u s d a t a b a s e i n t e g r a t i o n m i d d l e w a r e c o n s t r u c t i o na n di t sa p p l i c a t i o ni na c t u a lp r o j e c t f i r s to fa l l ,a c c o r d i n gd a l i a nm u n i c i p a l c o m m u n i c a t i o n sb u r e a ud a t ac h a r a c t e r i s t i c s ,as t r a t e g yu s e df o rb u i l d i n gg l o b a lv i r t u a l d a t a b a s ei sd e s c r i b e d s e c o n d l yn e wd a t a b a s er e s o u r c 君s h o u l db er e g i s t e r e d w e bs e r v i c e b a s e dd a t aa c c e s sa g e n tp r o v i d e sl o c a ld a t a b a s ea c c e s ss e r v i c e ,a n dt h es c h e m am a p p i n g r e l a t i o nb e t w c e nl o c a ld a t a b a s ea n dg l o b a lv i r t u a ld a t a b a s ei sb u i l dt os h i e l dt h es e m a n t i c d i f f e r e n c e s f i n a l l y ,o nt h eb a s i so ft h ea b o v e ,aq u e r ym a p p i n ga l g o r i t h mi sd e s c r i b e d , i tc a n t r a n s f o r mag l o b a lv i r t u a ld a t a b a s eq u e r yt oag r o u po fr e a ll o c a ld a t a b a s eq u e r i e s ,a n dm e r g e t h er e s u l t sf r o ml o c a ld 鼬a s e s i nt h i sp a p e r , h e t e r o g e n e o u sd a t a b a s ei n t e g r a t i o nm i d d l e w u r e 砸e sw e bs e r v i c e st ow r a p t h eb u s i n e s s ,a n dt a k et h ex m lf o r m a ta sd a t ae x c h a n g es t a n d a r d s t h em i d d l e w a r ei sa p p l i e d i nd a l i a nm u n i c i p a lc o m m u n i c a t i o n sb u r e a ud a t ac e n t e rb u i l d i n gp r o j e c t , i tc a ns u c c e s s f u l l y i n t e g r a t es o m eh e t e r o g e n e o u sd a t a b a s o s ,a n db u i l dg l o b a lv i r t u a ld a t a b a s e sw i t hu n i f o r m d a t a b a s ea c c e s sa p p r o a c h e s k e yw o r d s :h e t e r o g e n e o u sd a t a b a s e ;d a t a b a s ei n t e g r a t i o n ;s c h e m am a p p i n g ;q u e r y m a p p i n g i i l 独创性说明 作者郑重声明:本硕士学位论文是我个人在导师指导下进行的研究工 作及取得研究成果。尽我所知,除了文中特别加以标注和致谢的地方外, 论文中不包含其他人已经发表或撰写的研究成果,也不包含为获得大连理 工大学或者其他单位的学位或证书所使用过的材料。与我- - m 工作的同志 对本研究所做的贡献均已在论文中做了明确的说明并表示了谢意。 作者签名:国静 大连理工大学硕士研究生学位论文 大连理工大学学位论文版权使用授权书 本学位论文作者及指导教师完全了解“大连理工大学硕士、博士学位 论文版权使用规定”,同意大连理工大学保留并向国家有关部门或机构送 交学位论文的复印件和电子版,允许论文被查阅和借阅。本人授权大连理 工大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,也 可采用影印、缩印或扫描等复制手段保存和汇编学位论文。 作者签名: 导师签名: 訇固各纱 2 鸟垡 一 竺f 年! 至月二一日 大连理工大学硕士学位论文 1 绪论 1 1 本文的研究背景 随着i t 业的飞速发展、计算机技术的普及和深入,企业也在发展过程中不断的建 立自己的计算机应用系统。在这个过程中,企业积累了大量数据,并为存储和管理这些 数据不断投资,其主要手段是使用数据库管理系统。然而由于实施数据管理系统的阶段 性、技术性以及不同部门之间业务独立性,使得即使在同一单独企业中,不同的信息服 务和管理系统所采用的数据库管理系统都大不相同,随着时间的推移,这些由不同技术 构建的信息系统形成了一个个“信息孤岛”,而它们各自的数据构成了企业的异构数据 源。 数据库的异构性主要体现在两方面:一方面是数据库管理系统的差异,不同的数据 库管理系统,对数据的访问和管理方式是不同的;另一方面是语义的不同,包括数据库 模式的差别及数据含义、类型上的冲突。 随着企业的发展,会突显出部门间协同合作的需求,这必然导致越来越多的新应用 需要访问企业的异构数据源。但是异构性严重阻碍了应用程序间的互相协同、对数据库 资源的共享。数据库集成成了企业进一步发展的需要,它的舀标就是实现对各个异构数 据源的数据共享,从而有效的利用已有资源。 本文的课题来源于实际项目大连市交通局数据中心建设项目。大连市交通局有 着九个局属子单位,分别运行着自己的应用系统,它们所用的数据库系统各不相同,且 相互独立、分布。与此同时,鉴于辽宁省交通厅对辽宁省交通信息化的推广,大连市交 通局需要向省交通厅提交交通数据。因此,大连市交通局迫切需要将各局属单位的交通 数据库集成起来,来满足和省交通厅交换数据的需求,以及在此基础上建立新的交通业 务信息系统。本文研究了如何有效的将这些分布、异构的数据库集成起来。 1 2 异构数据库集成技术的研究现状 1 2 1 异构数据库系统访问策略 异构数据库集成可以通过转换和标准化来实现。在异构数据库系统集成中要解决平 台和网络的透明性、数据模型的转换、模式转换和集成、分布式事务管理等问题。 当前提供异构数据库系统支持主要采用三种策略:公共编程接口、公共数据库网关 和公共协议。它们都是基于客户服务器体系结构的,这样可以综合各种计算机协同工 作,各尽其能,也可实现对计算机应用系统的规模优化和规模缩小化。公共编程接口包 异构数据库集成中间件的构建研究与应用 括客户应用编程接口( c a p i ) 和服务器应用编程接口( s a p i ) :公共数据网关( g a t e w a y ) 是 一个转换器,客户通过它就可以访问异构数据库;公共协议是指对客户和服务器间通讯 的格式和协议及对数据库语言进行标准化,这是一种最理想的解决异构数据库系统集成 的方法。 当前已经有一些数据库相关产品支持异构数据库之间的访问了,以下是几个比较成 熟的应用: ( 1 ) o r a c l e :o r a c l e 的s q l * n e t 作为连接网络中不同计算机上的客户和服务器的接 口,可进行分布式事务的处理,对客户和服务器这间的所有差别如内部数据类型表示法, n l s 字符集等都进行了飞落。它采用了t n s 技术,提供了与所有工业标准之间的单一, 公共的接口,通过协议适配器就可把t n s 功能映像到任何工业标准协议上。o r a c l e 使 用s q l * c o n n e c t 和o p e n * g a t e w a y 可以支持对非o r a c l e 数据库访问,使o r a c l e 和非o r a c l e 数据库可通过s q l * n e t 保持通信。o p e n * g a t e w a y 提供了对多达1 2 种的公共数据库格 式的访问功能。 ( 2 ) s y b a s e :o 嘲c l i e n t o p e ns e r v e r 是s y b a s e 集成其他d b m s 技术的核心。它们 是一组建立c l i e n t 和s e r v e r 之间联系的a p i ,为当今应用中出现的异构客户软件和广泛 的数据源及服务提供了非常好的可操作性。s y b a s eo p e nc l i e n t 可以支持数以百计的 s y b a s e 或其他软件开发者的现成的应用和工具,其中包括非s y b a s et 具( 如基于o d b c 的工具) 。o p e ns e r v e r 允许用户和软件厂商使用与s y b a s es q ls e r v e r 同样的方式访问非 s y b a s e 数据源。o m n is q lg a t e w a y 是s y b a s e 开发的新一代信关产品,它可以同时支持 对多个异构数据源进行读写访问的通用信关,具有单一的开发管理环境和单一的数据访 问语言。它提供非常出色的位置透明性,s q l 透明性,并将强大的s y b a s et - s q l 特征 扩展到o r a c l e ,d b 2 ,i m s 和i s a m 等数据源,并能够支持功能强大的全局存储过程。 ( 3 ) d b 2 :d b 2 现有的产品系列都支持d r d a 标准。通过d r d a ,不同的d b 2 产 品之间,d b 2 和符合d r d a 标准的其他异构数据库之间都可以相互通信,组成分布数 据库系统。可见,它采用的是公共协议的数据库集成方式,但是能否集成取决于该数据 库能否支持d 刚) a 。 ( 4 ) o d b c ( 开放式数据库互连) :o d b c 是m i c r o s o f t 为包括关系数据库和非关系数 据库的异构环境中存取数据所提供的标准接口。o d b c 提供一个开放的,从个人计算机, 小型机,大型机数据库中存取数据的方法。使用o d b c 己成为客户端w i n d o w s 和 m a c i n t o s h 应用访问服务器数据的a p i 标准。许多客户端应用开发工具和d b m s 都支持 o d b c 。o d b c 是通过在客户端提供标准的a p i 的方法来解决异构数据库集成的 大连理工大学硕士学位论文 ( 5 ) j d b c 技术:j a v a 支持数据库的访问,是因为s u n 公司提供了一个标准的s q l 访问数据库的j a v a 语言应用程序编程接口( m b c ) 。构成j a v a 语言的基础是一系列类库, 而j d b c 正是定义了j a v a 与数据库之间的接口类库( j a v & s q l 包) ,它是j a v a 语言中执行 s q l 语句的a p i 。采用j d b c 很容易把s q l 查询语句送住s r b a s e ,o r a c l e 或i n f o r m i x 数据库执行。 由上可以看出,g a t e w a y 和a p i 是当今集成异构数据库的主要方法。一些主要数据 库厂商的d b m s 产品都具有访问异构数据库的能力,实现异构集成,它们的不足之处 是,其集成都是单向的、主从式的,一种产品一般只提供从自己的d b m s 访问异构数 据库的机制。而像o d b c 、j d b c ,虽然提供了一个对异构数据库的标准访问方式,但 是并没有屏蔽各d b m s 的查询语言问的差异。 1 2 2 异构数据库集成技术 异构数据库集成方法大概可以分为两种:数据仓库和虚拟视图法。数据仓库一般用 于数据分析,通常被称为只读集成。而虚拟视图法则是语义层次上的集成,关注于数据 库模式,在此基础上可以实现异构数据库问的互操作。采用虚拟视图法集成异构数据库 主要有两种体系结构,即联邦数据库系统和中介系统。 ( 1 ) 数据仓库法 该方法需要建立一个存储数据的仓库,由e t l ( e x t r a c t , t r a n s f o r ma n dl o a d ) 工具定 期从数据源过滤数据,然后装载到数据仓库,供用户查询,这种方法被称为e a g e r 方法。 相反的,采用虚拟视图法时,当用户提交查询请求时,系统根据命令操作数据源的数据, 称之为l a z y 方法。 用数据仓库集成异构数据源时也需要统一的数据视图,但它的数据必须经由e t l 工具过滤得到并存储在仓库中。数据仓库一般用于数据分析、决策支持,为了保持数据 仓库与数据源的数据一致性,通常不允许用户对数据仓库进行更新。 数据仓库的主要好处是查询处理性能高,缺点是创建数据仓库比较费时费力,通常 需要6 至1 8 个月的时间,而且当有新数据源加入或已有数据源发生变化时对仓库的修 改代价也比较高。 ( 2 ) 联邦数据库系统 联邦数据库系统( f e d e r a t e dd a t a b a s es y s t e m , f d b s ) 是由参与联邦的半自治的数据 库系统组成,目的是实现数据库系统间部分数据的共享。联邦中的每个数据库的操作是 独立于其它数据库和联邦的,但是又都有彼此访问的接口,所以称之为半自治。 联邦数据库系统分为紧耦合和松耦合两种。 异构数据库集成中间件的构建研究与应用 紧耦合f d b s 有一个或几个统一的模式,这些模式可以通过模式集成技术半自动生 成,也可通过用户手动构造。要解决语义上的异构,就需要领域专家决定数据库模式间 的对应关系。紧耦合f d b s 通常是静态的,不易添加删除其中的数据库。 松耦合f d b s 没有统一的模式,但它提供了一些查询数据库的统一语言。这样f d b s 中的数据库更具有自治性,但必须由用户解决所有语义的异构。 f d b s 中实现互操作最常用的方法是将每个数据库模式分别和其它所有数据库模式 进行映射,这样在联邦中需要建立n 凇( n - 1 ) 个模式映射规则,当参与联邦的数据库很多 时,建立映射规则的任务变得不可行了。所以,联邦数据库系统适合于自治数据库数量 比较小的情况,随着数据资源变得越来越庞大,f d b s 显然不是一个很好的解决方案。 ( 3 ) 中介系统 中介系统使用虚拟视图法来集成异构数据源,这里的数据源不仅限于数据库,还可 以是遗留系统、w e b 数据源等。该系统提供给用户一个全局模式,用户提交的查询是针 对该全局模式的,并不需要知道和个数据源的位置、模式及访问方法【。 中介系统与联邦数据库系统的区别包括:中介系统可以集成非数据库资源;中介系 统中的数据源是完全自治,这就意味着很容易向系统中添n 删除数据源,中介系统通 过包装器来集成异构数据源。 1 3 本文的主要内容 本文首先分析了异构数据库集成的目的,即要完成分布的透明性和异构数据库的透 明性。数据仓库、联邦数据库和中介系统在异构数据库集成领域中有着各自的特点,其 中数据仓库和联邦数据库的方法比较重量级,而且是面向主题的,对于本文的研究来说 代价太大,也显得不够灵活。因此,引出了基于中介系统思想的异构数据库集成中间件 的构建想法,继而分析了中间件的优势、异构数据库集成系统的参考者以及数据库资源 的集成模式。 其次,利用w e b 服务和x m l 技术,在o g s a - d a d 的基础上,本文设计开发了一 个轻量级的异构数据库集成中间件系统。构建该中间件主要包括三部分工作:根据大连 市交通局交通数据的特点,描述了一种虚拟数据库构建策略,建立了全局虚拟数据库。 注册异构数据库资源,这又包括两部分工作,使用o g s a - d a i 将局部数据库包装成w c b 服务,以统一的方式对外提供数据访问服务,实现对局部数据库的访问代理,屏蔽异构 数据库在访问方式上的差异;建立局部数据库模式和虚拟数据库模式间的映射关系【2 l , 屏蔽异构数据库在语义上的差异【3 】,其中还讨论了映射策略以及语义、字段冲突的解决 方案,这样用户能看到的只是全局虚拟数据库模式,屏蔽异构数据库在语义上的差异。 一4 - 大连理工大学硕士学位论文 在上述的基础上,给出了虚拟数据库的查询映射算法,将用户的全局虚拟查询转换为对 多个真实数据库的局部查询,并将来自各真实数据库的查询响应合并为一个结果集。 最后,本文介绍了该数据库集成中间件的实际应用大连市交通局数据中心建设 项目,以国家标准交通数据元为基础,建立全局虚拟数据库模式,注册数据库资源,并 以一个查询为例展示了在客户应用程序中使用该中间件。 异构数据库集成中间件的构建研究与应用 2 异构数据库集成方法研究 2 1 数据库集成目的分析 数据库集成用来对各种异构数据库提供统一的表示、存储管管理,这些功能在异构 数据库集成系统中实现。数据库集成屏蔽了各种异构数据库间的差异,通过异构数据库 集成系统统一操作。因此集成后的异构数据库对用户来说是统一的和无差异的【4 】。 总的来说,数据库集成是在分布式环境下给用户提供一个单一系统映像,使用户把 各个子系统看成是一个完全无缝的数据库集成系统。数据库集成应达到这样两个目标: 分布的透明性和异构数据库的透明性【5 】o ( 1 ) 分布的透明性 分布的透明性还包括两方面: 位置透明性,即用户不必知道数据的物理存储地,就好像所用的数据全部存储在本 地一样。如果缺乏数据位置透明性,则每个应用程序都必须关心自己的位置,使得程序 复杂化。 分布式存取透明,即可以处理网络中任何资源,就如同它们在本地机器上一样,系 统必须管理存取控制。在分布式数据库系统中有三类查询:局部查询,远程查询和全局 查询。局部查询和远程查询仅涉及单个结点的数据,查询优化采用的技术是集中式数据 库中的查询优化技术。全局查询是涉及到多个结点上的数据的查询,其查询处理和优化 要复杂得多。 ( 2 ) 异构数据库的透明性 异构数据库的透明性主要是屏蔽异构性,即不同d b m s 间的差异和不同的数据库 模式上的差异。用户看到的是统一的视图,并以统一的方式来访存数据嘲。 数据库集成技术包括数据仓库、联邦数据库和中介系统。数据仓库和联邦数据库的 应用成功解决了许多数据集成问题,然而也使一般用户望而却步,主要是因为: 数据库集成是面向主题的:在进行集成工作之前,各数据源的本地模式是已知 的,数据库集成的目标是明确的,构建导出模式或建立包装器是局限于已知应用,由于 主题的多样性,必然丧失了灵活性与适应性。 全局模式难以建立:在联邦数据库中,由于本地设计自治的需要,导出模式差 异较大,要建立与各种导出模式相协调的联邦模式比较困难。对于包装器和协调器模式 的数据库集成,有些系统甚至不能提供全局模式,转而依赖于匹配算法等方式来进行模 式集成 一6 大连理工大学硕士学位论文 数据库集成是重量级的:联邦数据库和数据仓库一般面向大型应用,在数据集 成工作之后还要进行分析处理等工作,其集成模式并不适用于郝分简单应用。 因此,本文的研究考虑提供一种轻量级的数据库集成中间件,这是一个中介系统的 方法,支持虚拟视图。在用户提交一个查询后,将用户查询翻译成一个或多个对数据源 的查询,然后将数据源的查询结果进行综合处理,并将处理结果返回给用户。这种方式 很好的保持了各组件数据库的自治性。 2 2 中间件的优势 中间件( m i d d l e w a r e ) 是基础软件的一大类,属于可利用软件的范畴。它介于系统软 件和用户的应用软件之间,使用系统软件所提供的基础服务,衔接网络上应用系统的各 个部分或不同的应用,能够达到资源共享,功能共享的目的。即中间件在操作系统、网 络和数据库之上,应用软件的下层,总的作用是为上层的应用软件提供运行与开发的环 境,帮助用户灵活、高效的开发集成复杂的应用软件。 目前,中间件没有很严格的定义,业界普遍接受i d c 的定义:中间件是一种独立的 系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间 件位于客户机服务器的操作系统上,管理计算资源和网络通信。 由此可见,中间件是一类基于分布式技术的系统软件或软件平台,而非一种应用软 件;中间件是一种分布式计算平台,涉及多种资源,包括各种操作系统,数据库,网络 协议甚至语言,其目标是在分布式计算环境中实现应用互连,资源共享,协同工作和互 操作性。目前,中间件已成为分布式企业计算的关键性基础软件。它可以通过屏蔽各种 复杂的技术细节使技术问题简单化。世界著名的咨询机构s t a n d i s hg r o u p 在一份研究报 告中归纳了中间件的十大优越性:缩短应用的开发周期,节约应用的开发成本,减少系 统初期的建设成本,降低应用开发的失败率,保护已有的投资,简化应用集成,减少维 护费用,提高应用的开发质量,保证技术进步的连续性,增强应用的生命力。 2 3 异构数据库集成系统的参与者 异构数据库集成系统中大概可分为三类参与者:数据提供者、数据中间人和数据使 用者,他们的作用及对集成系统的要求是不同的。本文实现的中间件就在这里充当数据 中间人的角色,为数据提供者和数据使用者服务,充分考虑他们的需要,使他们尽可能 的方便 异构数据库集成中间件的构建研究与应用 2 3 1 数据提供者 数据提供者即这些独立的异构数据库,他们保持原始数据的所有权,提供数据的使 用,在数据库集成系统中。他们的要求是: ( 1 ) 方便性:能够方便地将数据共享出去,所做的工作越少越好。如果在数据集成 过程中要求他们对自己的数据进行很复杂的处理,一方面他们可能不是计算机专业人 员,无法胜任这个任务,另一方面,也有可能打消他们的积极性和参与性,不利于数据 库集成。 ( 2 ) 安全性:希望外界使用自己的数据时,能保证自己数据的安全生,不允许自身 的数据被修改或删除,即只开放数据的查询权限。 ( 3 ) 选择性:对于数据库中的数据,应该能够选择性的共享一都分数据,对数据库 集成无关的或者他们认为是机密的都可以不发布出去。另外,对于每一个数据源,可能 会参与多个数据库集成应用,而每个应用所需要的数据是不相同的。 ( 4 ) 独立性:在原有数据库的基础上可能已经建立了许多其它的应用,在对其进行 数据库集成时不能影响到这些应用。 2 3 2 数据使用者 数据使用者即在数据库集成系统上建立的应用,通过中间人以统一的方式获取原来 分布式的异构数据,在此基础上开发各种相关的应用。他们对数据库集成的要求如下: ( 1 ) 透明访问:能够对分布式的异构数据库进行完全透明的访问,不用考虑数据源 在什么位置,用的什么d b m s 、数据的内部存储细节、有多少个分布式的可用资源等。 ( 2 ) 接口简单:希望能通过统一、简单的方式来访问原来分布、异构的数据源,需 要数据中间人能提供跨平台、跨语言、简单的访问接口。 2 3 3 数据中间人 即本文研发的异构数据库集成中间件,将分布式的异构数据库集成起来,根据数据 提供者和数据使用者的要求,需要提供以下功能: ( 1 ) 屏蔽异构:能够有效集成多种异构数据库,屏蔽掉前面所述的d b m s 上的差 异,以及数据在语义上的异构性。在集成的基础上提供统一的视图、单一的访问接口, 实现对多个异构数据库的透明访问。 ( 2 ) 数据源易扩展:当有新数据源加入时,不管该数据源是怎么组织的( 所采用的 d b m s ,数据库模式等) ,能在不改动的基础上将新数据源的有效数据集成进来,同时 也能将已集成的数据源从系统中删除掉,做到数据源的动态增减,从而达到对数据源的 动态选择。这种扩展性是保证数据库集成中间件能成功应用的基础 一8 一 大连理工大学硕士学位论文 数据中间人和其它两者之间的关系如图2 1 所示: 图2 1 角色间的关系 f i g 2 1 r o l er e l a t i o n s 2 4 数据库集成中间件的框架 2 4 1 对数据源的集成模式 根据前面的介绍,要想实现对分布式异构数据的有效集成和透明访问,必须屏蔽数 据的异构性。这个屏蔽环节可以分散到各个数据提供者去处理,也可以集中让数据中间 人来处理。根据数据异构屏蔽处理的位置不同,可以将数据库集成分为两种模式: ( 1 ) 分散式 由数据提供者处理屏蔽数据的异构性,根据领域专家制定的实体信息描述标准,数 据提供者将自身的数据源进行处理,屏蔽数据在存储上的异构性,通过标准的访问接口 提供对数据的访问,使使用者看不到原来的操作系统类型、数据库管理系统类型、数据 存储结构类型等细节,用户看到的数据源中的实体信息是用信息标准来描述的,通过统 一的接口就可以访问。这样,由于访问分布式异构数据源时,得到的是用信息标准描述 的数据,格式是一致的,所以将这些需要的数据集成起来非常方便,而且新的数据源可 以方便的插入并集成,不需要的数据源可以随时删除不再集成,实现数据源的动态组合, 用户可以方便的选择自己要集成的数据源。 优点:数据库集成中间件集成数据源方便,系统可扩展性强。 缺点:在集成过程中需要数据提供者的配合,对数据提供者要求高。 ( 2 ) 集中式 数据的异构性集中由数据中间人通过数据库集成中间件进行屏蔽处理。为了使数据 中间件能将数据源中的数据根据信息描述标准进行处理,数据提供者需要对数据中间人 提供数据源的相关信息,包括数据库管理系统类型、数据源连接信息( 讲地址、用户名、 密码等) 、详细的数据模式( 数据库名、表结构、表关系、字段意义等) 。数据中间人通 过数据提供者提供的数据源详细信息访问数据源获取相关的数据,根据信息描述标准对 获取的数据进行转化处理,将从各数据源获得的数据进行格式的统一后集成在一起。在 一9 异构数据库集成中间件的构建研究与应用 这种模式下,数据库集成中心需要将各个数据源的详细信息记录下,并进行有效的管理, 不利于数据源的扩展。 优点:对数据提供者要求低。 缺点:不利于扩展,数据源信息暴露太多,不满足数据提供的要求。 2 4 2 框架设计 本文采用分散式来实现对异构数据库的集成,针对数据的异构性,将数据库集成中 间件的一部分部署到数据源上,来对数据的异构性进行处理,提供对数据库的统一访问 标准,并将数据转化为信息标准格式以供使用。即本文研究的数据库集成中间件是分布 式的,一部分部署在数据源上屏蔽数据的异构性,另一部分负责对从各个数据源得到的 数据进行集成用。 图2 2 中间件框架 f i g 2 2 f r a m e w o r ko f m i d d l e w m e 数据库集成中间件采用m e d i a t o r w t a p l 研的方式建立,其中的w r a p p e r 用于部署在 各个异构数据源上,使用w e bs e r v i c e 对异构数据源进行包装,对数据的异构性进行处 理,并对外提供数据服务。m e d i a t o r 大体可分为两部分:虚拟数据库查询服务和全局虚 大连理工大学硕士学位论文 拟数据库。虚拟数据库查询服务处理用户的全局查询,而全局虚拟数据库中并不实际存 储数据,其虚拟字段映射到各个异构数据库中的具体字段中。用户的全局查询将依据这 些映射关系分解成局部查询,并发送到各个异构数据库中去执行。 异构数据库集成中间件的框架如图2 2 所示。 ( 1 ) 注册新数据源 访问代理允当w r a p p 髓的角色,将数据源包装成数据服务,对外提供统一的访问接 口,并将数据源数据转化成标准信息格式,屏蔽了数据源问d b m s 上的异构。而全局 虚拟数据库建立了虚拟字段到异构数据库具体字段间的映射,为数据使用者提供统一的 视图,屏蔽了各数据源在语义的异构。 如此,当向数据库集成中间件系统中注册一个新数据源的时候就需要做两件事情: 配置新数据源的访问代理,以及建立局部数据库模式与全局虚拟数据库模式之间的映射 关系。 配置访问代理需要数据提供者设定局部数据库访问参数,这些参数包括数据库的类 型、服务器m 、端口号、数据库名称、用户名与密码等,然后根据这些参数在w e bs e r v i c e s 容器中的部署数据服务,作为新数据库的访问代理。数据提供者只需要向外暴露该数据 服务的地址和访问参数a 0 可f 8 , 9 】。 局部数据库模式和虚拟数据库模式之间的映射关系信息,具体而言,是指局部数据 库中某一字段到虚拟数据库中某一虚拟字段间的映射关系。 注册新数据源的要做的两项任务需要数据提供者的参与,特别是建立局部数据库模 式和虚拟数据库模式映射关系这一过程,对数据提供者的要求较高,并且需要行业领域 的专业知识。针对这个过程,异构数据库集成中间件系统应当开发相应的封装工具和映 射工具加以支持,为数据持有者提供方便”o ,1 1 】。 ( 2 ) 客户查询映射 异构数据库集成中间件系统以w e bs e r v i c e 的方式提供统一的用户接口,即虚拟数 据库查询服务。用户通过该服务和数据库集成中间件系统进行交互,只需要了解全局虚 拟数据库的数据模式,向查询服务发起全局查询,即可得到标准格式的查询结果,访问 方式非常简单,符合数据使用者的要求【1 2 1 。 在接受用户全局查询后,虚拟数据库查询服务需要完成两件事情:查询映射,及合 并查询结果。 由于数据使用者提交的查询是基于全局虚拟数据库的,查询映射需要根据虚拟数据 库和各异构数据库间的映射关系,将数据使用者的查询语句分解成多个针对真实数据库 查询语句,并将这些局部查询语句发送到相应的数据源的访问代理中去执行。 异构数据库集成中间件的构建研究与应用 这些分布的访问代理会将局部查询结果返回给虚拟数据库查询服务,由查询服务按 标准信息格式进行合并后返回给用户。当然,在网络中传输的众多局部查询结果也符合 标准信息格式,从异构数据库的查询结果到标准格式信息的转换是由访问代理实现的。 大连理工大学硕士学位论文 3 关键技术介绍 3 1 利用x m l 进行数据交换 3 1 1x 札概述 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 m l 文档。和h t 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 ) 进化而来的。h t m l 主要关注于数据的显 示格式,而帆则重点用于表示数据内容 x m l 标记语言为描述结构化文本提供了一种开放标准,它不仅可以描述传统的文 本文件,也可以描述电子商务信息和关系数据库等复杂数据。用x m l 文档来传送数据 能极大的提高系统的平台独立性。因此,x m l 正逐渐成为互联网上的一种标准的数据 交换格式。 沮,模式是指用来描述) 渐l 结构、约束等因素的语言,例如m 。s c h e m a 、) 0 江 跏田、x d r 、s o x 等等。x m l 模式类似于关系数据库模式,他们规定了数据应该符合 的规则,能够证实秋精确地定义词汇表,以检验x m l 文档的合法性。 目前,x m ld t d 是使用比较广泛的一种x m l 模式,但由于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 的标准模式。 本身也x m l 的一种应用,而x m ld t d 则有着与x m l 完全不同的格式。另外, x m ls c h e m a 相比x m l d t d ,提供了更完善的数据类型支持,不仅内置了如l o n g ,i n t , s h o r t ,d o u b l e 等三十七种数据类型,还支持用户自定义数据类型。因此,x m ls c h e m a 正在逐渐代替x m ld t d i t 3 】 3 1 2 数据交换标准 x m l 具有很多特点及优越性:跨平台性,由于x m l 使用文本来保存数据,并且基 于开放标准,而不是专有的二进制格式,因此对于跨平台的数据交换是十分方便的;灵 活性:帆可以随意定义元素之间的关系,因此可以定义非常复杂的数据结构;自描 述性,同时实现了数据与表现形式的分享;方便性,文件的内容和外观设计是完全分开 的,外观的改变对x m l 文件本身并不能造成影响,在对信息进行检索时,可以只对x m l 异构数据库集成中间件的构建研究与应用 文件进行检索就可以得到想要的结果。这些特点决定了x m l 适合于作为数据交换中的 媒介,为异构系统之间进行数据交换提供了种可行的实现途径。 在需要数据交换的系统中,如果没有数据交换标准,相同的数据分析、处理模块将 在很多应用中重复编写,代价是高昂的。x m l 技术出现之前,由于没有统一的交换标 准,昂贵的数据交换代价使得数据源只能散乱孤立地存在,信息孤岛无法消除。只有采 用统一的数据交换格式,才能实现数据的自动流转、处理等功能。) a m l 技术的应用, 启动了整个i n t e m e t 环境下的信息标准化进程。从沮。作为一种数据格式描述的元语 言标准出现后,它就不断地被应用到各种不同的数据交换领域中去。目前,各行都在积 极制定适合于本行业的x m l 数据的规范,使实现行业内的数据共享变得更加容易。 在本文的异构数据库集成中间件系统的研究中,大量使用了) f l v i l 技术。比如用户 向中间件提交的查询请求、各异构数据源和中间件系统间交换的数据等,都是基于x m l 格式的。 3 2w e b 服务在中间件系统中的应用 分布式异构数据库环境中,各个数据源所用的操作系统、数据库管理系统、硬件平 台都是不同的。另外,数据使用者,即使用本文的中间件的应用程序也可能会使用不同 的编程语言。这就要求异构数据库集成中间件是一个平台独立的应用程序,必须做到跨 操作系统、跨数据库、跨编程语言和硬件平台。 3 2 1w e b 服务概述 w e b 服务是一种用于建立分布式应用程序的技术,它在i n t e m e t 协议基础上,利用 基于x h x , i l 的消息与其他应用程序进行交互。发布这种程序的目的是为了将其集成到 w e b 上的其他应用程序中【1 4 1 。 使用w e b 服务技术,应用程序可以与平台和编程语言无关的方式相互通信。w e b 服务是描述了一组可以网络上通过标准化的x a v l l 消息传递访问的操作。它使用基于 x m l 语言的协议来描述要执行的操作或者要与另一个w e b 服务交换的数据。x m l 可 用真正与平台无关的方式来描述任何数据,以跨平台交换数据。 因此,使用w e b 服务能够: ( 1 ) 让任何平台上的用任何语言编写的服务进行交互 ( 2 ) 允许松耦合,这意味着,每当其中某个或多个服务在设计或实现中发生改变时, 整个系统的运行不会因此中断。 ( 3 ) 使现有的应用程序能适应不断变化的业务条件和客户需求 大连理工大学硕士学位论文 “) 向现有或遗留软件应用程序提供服务接口
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 石材护理安全培训记录课件
- 2025春季中国电气装备平高集团、平高电气校园招聘考前自测高频考点模拟试题及1套参考答案详解
- 2025金健米业股份有限公司招聘长沙片区工作组纪检主管1人笔试历年参考题库附带答案详解
- 2025贵州茅台和义兴酒业分公司招聘笔试历年参考题库附带答案详解
- 2025福建莆田市公共交通集团有限公司招聘企业员工23人笔试历年参考题库附带答案详解
- 2025年潍坊寿光综合医院(原寿光市人民医院)招聘专业技术人员(23名)模拟试卷及答案详解(典优)
- 2025福建省三明市宁化县乌龙峡水电有限公司招聘工作人员2人笔试历年参考题库附带答案详解
- 2025湖南长沙市某国企外包员工(项目经理)招聘2人笔试历年参考题库附带答案详解
- 2025浙江宁波市北仑区白峰兴城建设公司驾驶员岗位招聘1人笔试历年参考题库附带答案详解
- 2025年河南九域龙源电力发展集团有限公司等单位招聘高校毕业生约180人(第三批)考前自测高频考点模拟试题附答案详解(典型题)
- 2025年高压电工考试题库:基础理论知识要点
- 2025中证金融研究院招聘11人考试参考题库及答案解析
- 商场保安礼仪培训课件
- 金税四期培训
- 现浇空心板桥梁施工方案
- 托管班安全培训课件
- 人教版(2024)八年级上册英语Unit 2 Home Sweet Home教案
- 2025年全国中小学校党组织书记网络培训示范班在线考试题库及答案
- 产品配送方案及措施
- 教学课件正文字体设计
- 法治护航-健康成长课件
评论
0/150
提交评论