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

(计算机软件与理论专业论文)基于xml的异构数据库集成的研究与实现.pdf.pdf 免费下载

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

文档简介

基于x m 日数据库集成的研究与实现 y 6 3 8 9 9 2 摘要 长期以来,网络上存在着大量异构的数据库,它们的异构性表现在多个方 面,如数据的类型不同,数据的表示不同,管理数据的软件不同,以及系统运行 的环境不同。随着企业合作和政务电子化的发展,许多信息系统需要访问这些异 构数据库中的数据。因此,需要一种新的系统框架来解决多个异构数据库的信息 集成,其前提是必须对用户透明,并保持本地数据库的自治性。 可扩展标记语言x m l 具有很强的结构和语义表达能力;利用x m l 进行数 据集成具有很好的扩展性。x m l 已经成为i n t e r n e t 上企业应用的标准数据交换格 式,它的可扩展性使得建立不同数据源数据集成的通用模型变得容易。利用x m l 建立异构数据库集成模型的关键是建立x m l 与数据库之间的映射关系。目前 x m l 有两种映射方法是非常普遍的:一种是基于模板的映射方法:另一种是基 于模型的映射方法。以上两种方法都存在着一些局限性,第一种方法只支持从关 系数据库到x m l 文档的单向映射,第二种方法对x m l 文档的结构有一些限制。 本文在研究现有的基于x m l 的数据映射算法和模型的基础上,对传统的异 构数据集成技术进行了比较分析。提出了一种基于元素树的数据映射方法,该方 法可以高效地实现x m l 文档与关系型数据的相囊:转换。另外,我们还实现了。 个x m l 文档与关系数据库数据相互映射的系统x d w r a p p e r ,x d w r a p p e r 提供异 构关系数据库的x m l 全局视图,允许外部用户直接访问或使用x m l 查询语言 查询这些视图。该系统映射规则简单并能最大限度地屏蔽数据库的异构件。 关键词:异构数据库,映射,元素树,数据集成,可扩展标记语言 基于x m l 的异构数据库集成的研究与实现 a b s t r a c t f o ral o n gt i m e ,t h e r ee x i s tav a r i e t yo fd a t a b a s e sw h i c ha r eh e t e r o g e n e o u si n t h a tt h e ys t o r ed i f f e r e n tt y p e so f d a t a ,r e p r e s e n td a t ad i f f e r e n t l y ,u s ed i f f e r e n ts o f t w a r e t o m a n a g e t h ed a t aa n dr u no nd i f f e r e n t c o m p u t e r h a r d w a r e ,w i t ht h ef a r t h e r d e v e l o p m e n t o fb u s i n e s sc o l l a b o r a t i o na n d g o v e r n m e n t - a f f a i r e l e c t r o n i c a l p u b l i s h i n g ,t h ei n f o r m a t i o ns y s t e m so f t e nr e q u i r e sa c c e s st o d a t af r o mm u l t i p l es u c h d a t a b a s e s t h e r e f o r e ,an e ws y s t e ma r c h i t e c t u r e i s r e q u i r e dt om a k et h ei n f o r m a t i o n s h a r i n gf r o mm a n yh e t e r o g e n e o u sd a t a b a s e s ,i n at r a n s p a r e n tw a y ,w h i l ep r e s e r v i n g t h e i ra u t o n o m y x m lh a sas t r o n g c a p a c i t yo fd e s c r i b i n g s t r u c t u r a la n ds e m a n t i cs t r u c t u r a l i n f o r m a t i o n ;d a t ai n t e g r a t i o nc o t l r s eh a sab e t t e re x p a n s i b i l i l yw i t ht h eu s eo fx m l x m lh a se m e r g e da st h ed o m i n a n ts t a n d a r dd a t ae x c h a n g ef o r m a tf o ri n t e r n e t b a s e d b u s i n e s sa p p l i c a t i o n s ,t h ee x t e n s i b i l i t yo fx m la l l o w st h ec r e a t i o no fg e n e r i cm o d e l s t h a t i n t e g r a t e d a t af r o md i f f e r e n ts o u r c e s t h e k e y t or e a l i z e i n t e g r a t i o n o f h e t e r o g e n e o u s d a t a b a s e so nx m li st oe s t a b l i s ha m a p p i n ga p p r o a c h a t p r e n s e n t ,t h e r ea r et w om a p p i n ga p p r o a c ho n x m ld o c u m e n t t h eo n ei sb a s e do n t e m p l e t ,t h eo t h e ri s b a s e do nm o d e l t h et w oa p p r o a c h e se x i s ts o m el o c a l i z a t i o n ,t h e f i r s to n eo n l ys u p p o r t sm a p p i n gf r o mr e l a t i o n a ld a t a b a s e st ox m l ,t h es e c o n dh a s s o m er e s t r i c tt ox m ld o c u m e n t t h i st h e s i sb e g i n sw i t hac o m p a r eo nt r a d i t i o n a la p p r o a c h e so fh e t e r o g e n e o u s d a t a b a s e s i n t e g r a t i o n w ea n a l y z e d t h e p r e s e n ta l g o r i t h m s a n dm o d e l so n t r a n s f o r m a t i o no fx m ld o c u m e n ta n do t h e rf o r m a td a t a ,p r e s e n t e da na p p r o a c hb a s e d o nd t de l e m e n t - t r e e i nt h ea p p r o a c h ,t h ee l e m e n t - t r e ei su s e dt h em a p p i n gb e t w e e n x m ld o c u m e n ta n dc o l u m n si nt h ed a t a b a s e sp r o v i d e db yt h eu s e rq u i c k l y t h e x d w r a p p e rw a sat r a n s f o r m a t i o ns y s t e mo nt h ex m l d o c u m e n ta n dt h er e l a t i o n a l d a t a b a s ed a t a ,w h i c ha d o p t e dt h ee l e m e n t - t r e ea p p r o a c h x d w r p a p p e rp r o v i d e sx m l g l o b a lv i e w s o v e rh e t e r o g e n e o u sr e l a t i o n a ld a t a b a s e sb y p u b l i s h i n gr e l a t i o n a ld a t aa s x m l ,a n da l l o w so u t e ru s e rt oa c c e s st h e s ev i e w sd i r e c t l yo rq u e r yt h e mu s i n gx m l q u e r yl a n g u a g e t h es y s t e mh a sas i m p l em a p p i n g r u l ea n dm a ys h i e l dt h ed i f f e r e n t d a t as o u r c e s k e y w o r d s h e t e r o g e n e o u sd a t a b a s e s ,m a p p i n g ,e l e m e n t t r e e ,d a t ai n t e g r a t i n g ,x m l 基于x m l 的异构数据库集成的研究与实现 第一章前言 1 1 论文背景 在信息化时代和全球经济竞争的新环境下,尤其是企业电子商务的蓬勃发 展,数据资源的共享已经成为一个热门话题。很多企业需要将d b m s 、m i s 、o a 数据集成起来,构成企业管理决策的网络信息平台。以往的信息集成系统,由于 集成后的信息并不能用一种标准化的数据形式来表现,而是一种系统自定义的数 据格式,严重影响了各系统之间的信息交换,且实现过程复杂,成本较高,很难 得到广泛的应用,因此迫切需要一种新的数据集成系统。这种系统不仅能集成传 统的数据库中的结构化数据,而且还可以集成在w e b 上应用日益广泛的半结构 化数据和非结构化数据:不仅可以集成传统数据,而且可以集成多媒体数据:不 仅可以集成已有数据源中的数据,而且可以集成不断涌现的新数据源中的数据。 这就要求数据集成系统必须具有可扩充性,可以实现数据的“即插即用”,这是 传统数据集成技术很难实现的。 目前一些数据库产品使用转换器( g a t e w a y ) 实现互操作,例如o r a c l e 7 的 d e d i c a t e d t r a n s p a r e n tg a t e w a y 和s y b a s e 的o m n is q lg a t e w a y ,但转换器只能连 接两个数据库系统,局限性较大。目前研究较多的是多数据库系统,多数据库的 集成问题早在7 0 年代中期即被提出,开始采用全局模式的集成方法,后来m c l e o d 等人提出了联邦式数据库系统的概念,由于缺乏必要的标准,联邦数据库系统只 能在一定的限制条件( 如对加入联邦系统的d b m s 和各d b m s 间的互操作加一定 的限制) 下实现,难以实现各种数据源的灵活的数据集成。因此,联邦式数据库 目前还不能成为一种通用的数据集成方法。 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 可扩展标记语言) 技术的出现使得对各种 不规则信息、规则信息的标准化描述成为可能,并正在逐步成为i n t e r n e t 中描述 数据的标准,在x m l 技术上建立企业信息集成平台,是- - z o o 信息技术发展必然 的趋势。x m l 作为一种可扩展标记语言,其自描述性使得x m l 本身非常适用 于异构应用间的数据交换,而且这种交换不以预先规定的数据结构定义为前提, 因此具备很强的开放性和广阔的应用前景。而现有的几乎所有大型应用系统都是 基于x m l 的异构数据库集成的研究与实现 和数据库相关联的,所以以x m l 为中性载体进行数据交换和信息共享必然要和 数据库相联系;同时,基于x m l 的数据交换,实现数据库的x m l 数据双向存 取,才能将x m l 数据同具体应用程序集成,进而使之同现有的业务规则相结合, 最后真正实现基于x m l 的分布式数据交换与信息集成。所以,x m l 技术和数 据库技术的结合就成为必然的趋势,在x m l 文档和数据库之间实现数据的双向 传输就成为x m l 技术应用研究的热点之一,基于x m l 的数据库应用也迅速发 展起来。 1 2 研究的主要内容 1 2 ,l 问题的提出 x m l 能够描述不规则数据,能够从不同的来源集成数据,将多个应用程序 所生成的数据纳入同一个x m l 文件并传送到客户机上,被解析出来的x m l 数 据可以在本地被编辑或操纵。因此,把x m l 作为集成层的数据描述工具和转换 工具,来构造数据集成的中间件,不仅能适合w e b 发展的需要,还将简化w e b 数据源集成系统的实现。系统实现框架如图1 所示。在此模型中,用户对信息的 访问和操作不是直接作用于各数据源,而是通过x m l - e n a b l e d 的“虚拟数据库 ( v d bv i r t u a ld a t a b a s e ) ”来实现。通过x m l ,可以集成和统一来自不同或异质 数据源的信息,还可以为不同类型或持有不同设备( 如固定计算机,移动设备, p d a 等) 的用户提供服务。 用户应用系统 f x m l e n a b l e di n f o r m a t i o ne n g i n e 。 iil x m l ,l1 。擀x m l ,t 。至裟。 ( c( ) 分散、异质、异构的数据源 图1 基于x m l 的数据集成框架 在图1 中系统分为三层结构,由下至上各层的基本服务功能如下 2 基于x m l 的异构数据库集成的研究与实现 信息源层,处于最低层,是系统的数据提供者,在此应该包括各种类型 的数据库、文件、多媒体信息等。 o x m l 中间件层,提供必要的数据转换功能或工具,进行数据与x m l 格 式的相互转换,将v i l 数据存储到数据库中,并维持x m l 数据空间与各异构 数据源之间的映射关系。 应用层,即用户界面层,根据具体的应用和用户计算环境,采用合适的 信息访问技术或应用软件。 图1 所示的模型中,应用层和信息源层从实现角度来看,相对比较简单。 x m l 中间件层在数据管理上我们采用“虚拟集中”的方式进行,也即所有数据 的变化请求均需通过x m l 中间件层进行存取访问,而中间件层并不存储具体的 数据,只存储所有数据的集成模式。具体的来讲,每一个异构信息由一个传统数 据源和一个“外套( w r a p p e r ) ”构成,它通过一个x m l 接口( 引擎) 作为低层d b m s 或其它数据源的包装。在不改变服务器中源d b m s 或其它数据源的前提下,只 需用一种统一的可扩展语言x m l 为各种服务器做一件外观统一的“外套 ( w r a p p e r ) ”,就可构成一个“虚拟数据库服务器”,为系统提供虚拟数据库服务。 在x m l 中间件层,主要涉及两个问题:一个是针对每个数据源的w r a p p e r , 即完成某种类型数据源与数据库之间的双向映射;另一个是x m l e n a b l e d 的集 成数据( 虚拟数据库) 公共模型建立及管理。 异构数据库与x m l 之间的双向映射目前有两种模型是非常普遍的,一种是 被许多中间件包在转换x m l 文档成关系数据库数据所使用到的模型,就是将 x m l 文档当成一个单独的表( t a b l e ) 对象或者一系列表对象。另一种普遍的数据 模型是x m l 文档中的对象树,在这种模型下,元素通常对应于一个对象或者属 性或者p c d a t a 对象。这种模型可以直接映射成面向对象的数据库,当然借助 传统的对象一关系映射技术和s q l 3 对象视图也可以映射成关系数据库。以上两 种方法都存在着一些局限性,第一种对x m l 文档的格式要求较严,第二种则牵 涉到面向对象的数据库,总体上较为复杂【4 2 1 。本文利用规定x m l 文档格式和内 容的d t d ,结合以上两种方法,实现x m l 文档和关系数据库的双向映射。 1 2 2 论文的研究内容 1 ) 本文在研究了已有的数据映射的基础上,主要探讨了如何实现数据库与 基于x m l 的异构数据库集成的研究与实现 x m l 文档之问的双向映射,提出了基于元素树的数据映射方法; 2 ) 研究了针对关系数据库的x d w r a p p e r 系统; 1 2 - 3 论文组织 本文在第二章中介绍了异构数据库系统及现有的数据库集成方法。第三章 介绍被广泛运用的可扩展标记语言x m l 。第四章分析了两种现有的x m l 和数 据库的转换方法,并详细地论述了基于元素树的数据映射方法。第五章介绍有 关x m l 文档与结构化数据转换的模型。 4 基于x m l 的异构数据库集成的研究与实现 第二章异构数据库系统 在这一章中,简单介绍异构数据库及几种集成方法。 2 1 概述 企业在发展过程中积累了大量数据,并为存储和管理这些数据不断投资。 然而,由于实施数据管理系统的阶段性、技术性以及其它经济和人为因索的影响, 以至即使在一个单独企业,采用的数据管理系统也大不相同,从简单的文件数据 库到复杂的网络数据库,它们构成了企业的异构数据源。尽管这些数据管理系统 能够满足数据存储和管理要求,但是在许多情况下,为完成一项工作,企业应用 可能需要访问分布在网络不同位置上的多个数据管理系统中的数据。例如,某公 司需要了解一套型架的生产和使用情况,那么,相关应用首先必须访问生产准备 科、工装所、以及使用车间的不同的数据库系统来提取相关数据,然后进行处理。 很显然,原有的数据管理系统并不能提供这种支持,需要一个强大的系统能够集 成存在于分布数据源的数据。 不仅如此,随着生存环境的不断变化,企业在把握机遇的同时也面临着许多 挑战。网络的发展使企业逐渐从一个孤立结点发展成为不断与网络交换信息和进 行商务事务的实体,企业数据集成也从企业内部集成走向了企业间集成。现在的 企业比以往任何时候都需要将内部数据进行发布和交换,这必然导致越来越多的 企业应用需要访问各种异构数据源,并且这些数据源可能分布在网络上任何地 方。为了满足这种需求,必须有一种系统能够支持异构数据源的数据集成。 21 1 什么异构数据库系统 异构数据库系统是相关的多个数据库系统的集合,可以实现数据的共享和透 明访问,每个数据库系统在加入异构数据库系统之前本身就已经存在,拥有自己 的d b m s 。异构数据库的各个组成部分具有自身的自治性,实现数据共享的同时, 每个数据库系统仍保有自己的应用特性、完整性控制和安全性控制。 异构数据库系统的异构性主要体现在以下几个方面: 计算机体系结构的异构各个参与的数据库可以分别运行在大型机、小型 机、工作站、p c 或嵌入式系统中。 基于x m l 的异构数据库集成的研究与实现 基础操作系统的异构各个数据库系统的基础操作系统可以是u n i x 、1 i n u x 、 w i n d o w sn t 等。 d b m s 本身的异构可以是同为关系型数据库系统的o r a c t e 、s q ls e r v e r 等,也可以是不同数据模型的数据库,如关系、层次、网络、面向对象、函数型 数据库共同组成一个异构数据库系统。 异构数据库集成的目的是实现不同数据库之间的数据信息资源、硬件设备资 源和人力资源的合并和共享。为企业综合应用系统提供集成的、统一的、安全的、 快捷的信息查询、数据挖掘和决策支持服务。为了满足这个需求条件,整合、集 成后的数据必须保证一定的集成性、完整性、一致性和访问安全性。 1 集成性 各种原先孤立的业务信息系统数据经过整合、集成后,应该达到查询一个综 合信息不必再到各个业务系统进行分别查询和人工处理,只要在集成后的数据信 息仓库中就可以直接访问到,即整合、集成后的综合信息仓库的数据是各异构业 务数据的有机集成和关联存储( 整合、发掘出各业务数据间的内在关联关系) , 而不是简单、孤立的堆放在一个数据库系统里。 2 完整性 包括数据完整性和约束完整性两方面。数据完整性是指完整提取数据本身, 约束完整性,约束是指数据与数据之间的关联关系,是唯一表示数据间逻辑的特 征。保证约束的完整性是良好的数据发布和交换的前提,可以方便数据处理过程, 提高效率。 3 一致性 不同业务信息资源之间存在着语义上的区别。这些语义上的不同会引起各种 不完整甚至错误信息的产生,从简单的名字语义冲突( 不同的名字代表相同的概 念) ,到复杂的结构语义冲突( 不同的模型表达同样的信息) 。语义冲突会带来 数据集成结果的冗余,干扰数据处理、发布和交换。 整合、集成后的数据应该根据一定的数据转换模式和商业规则进行统一数据 结构和字段语义编码转换。 4 访问安全性 由于数据库资源可能归属不同的单位,各业务数据系统有着各自的用户权限 管理模式,访问和安全管理很不方便,不能集中、统一管理,所以保证在访问异 6 基于x m l 的异构数据库集成的研究与实现 构数据源数据基础上保障原有数据库的权限不被侵犯,实现对原有数据源访问权 限的隔离和控制,就需要设计基于整合、集成后的综合信息仓库的统一的用户安 全管理模式来解决此问题。 针对异构数据源的整合和集成需求,可以采用数据仓库技术和数据抽取工具 来实现,但由于数据仓库系统的昂贵的投资费用、项目实施周期长、项目成功率 风险大等原因制约了数据仓库在中、小型企业或数据积累少的企业解决异构数据 源整合和集成需求的应用;有些数据库管理系统自带的数据转换工具,能低成本 地解决异构数据源整合和集成问题,但在具体项目实际应用过程中,也具有一定 的局限性。数据库集成中关键的一点就是以局部数据库模式为基础,建立全局的 数据模式或全局外视图。这种全局模式对于建立高级的决策支持系统尤为重要。 以下是异构数据库系统的框架图: i 应用界面i l 工i l 系统集成全局数据库模式l 一一= 二丑二二 数 据 查 询 层 数 据 库 层 传输层 上t | 查询d b 模2 块ll 器lli 黼块| - 陶器块l 上山0士 i w 。i n 劳n ll 裂tli 器| | 篙3i 图2 异构数据库系统的框架图 2 1 _ 2 异构数据库分类 单一的集中式数据库为应用程序提供一个集中的同构的数据视图。其中的数 据是按照数据库中数据定义语言d d l 定义的模式( s c h e m a ) 构造起来的,并且它 7 基于x m l 的异构数据库集成的研究与实现 们是按照数据操纵语言d m l 定义的操作符操作的。d d l 即d m l 所定义的一切 都是基于数据模型的。 对于己经存在的各种数据库,人们必须要处理它们在系统( 如d b m s ) 一级的 异构及语义一级上异构( 如模式) ,同时还要考虑到它们是分布式的数据库,管 理及访问异构的数据库还必须考虑到要通过w w w 连接这些异构的数据库,将 它们组织成联邦数据库( f e d e r a t e dd a t a b a s e ) 以及多数据库系统( m u l t i d a t a b a s e ) 或 构造数据仓库( d a t a w a r e h o u s e ) 。不管方法是如何实现的,它们共同的一点就是 要使组件数据库( c o m p o n e n t d a t a b a s e ) 保持其自治性,即其局部定义、局部应用 及与其它数据库交换数据的局部策略应能保持不变。 传统上。异构数据库是以模式的类型、数据共享的广度及它们支持的访问数 据的工具划分的。 异构数据库中的模式有: 1 ) 局部模式局部数据库的d d l 表达的组件数据库的模式。 2 ) 全局模式用共同的d d l 所描述,它提供了一个所有组件数据库统一的 视图。 因此,异构数据库系统中的每一个数据库在向其它数据库输出其模式的界面 时,能向其它数据库提供其模式的一个子集,同时每一个数据库也能输入其它数 据库输出的用其局部d d l 表述的模式。异构数据库系统中的全局模式可以是各局 部数据库输出的模式的松散的集合( 松散耦合) ,也可以是一个完全整合的模式 ( 紧密耦合) 。异构数据库系统中的局部视图既可以是输入模式的松散集合,也 可以是所有输入模式紧密耦合而成的。如,联邦数据库有全局模式,可以提供给 用户一个统一的视图从而使用户与组件数据库分离;数据仓库中由全局模式定义 的数据库中充填的数据则由组件数据库提供:多数据库系统则是一些组件数据库 的松散集合而没有全局模式。 异构数据库系统中数据共享可有几个层次: 1 ) 在组件数据库中连接指定的数据项; 2 ) 组件数据库中模式相关的数据项。 数据库之间单一的数据项连接( 如:超链接h y p e r t e x t ) 并不要求遵从相互 关联的数据库的模式。而对模式相关的数据项,数据的连接必须与这些相关的模 式中的约束保持一致,就如集中式数据库中的参照完整性约束一样。 基于x m l 的异构数据库集成的研究与实现 异构数据库系统中数据访问方式可划分如下: 1 ) 在组件数据库中浏览数据: 2 ) 查询一个集中的数据仓库; 3 ) 查询多数据库系统。 在组件数据库中浏览数据通常基于w w w 超链接。从一个数据库中的数据 项跳转到另一个数据库中的数据顶,这不要求模式上的相关约束。查询数据仓库 就相当于查询一个单一的数据库其组件数据库的数据是按照数据仓库的全 局模式对外部表现的。查询多数据库系统时是将一个全局查询分解为对各组件数 据库的局部查询,并将各局部查询提交各组件数据库实现。作为一种选择,也可 以为异构数据库系统构造一个多数据库查询语言,从而允许直接对组件数据库的 各元素提出查询o ”。 异构系统集成就是要求异构环境下两个或两个以上的实体,尽管它们实现的 语言、执行的环境和基于的模型不同,但它们可以相互通信和协作,以完成某一特 定的任务。这些实体包括应用程序、对象、系统运行环境等。互操作提供了不同 系统之间,应用程序之间信息的有意义的交换。 2 1 3 异构数据库的几个技术问题 异构数据库集成一般应考虑如下几方面技术问题 1 全局数据模式及全局查询语言( g l o b a ld a t am o d e la n dg l o b a lq u e r y l a n g u a g e ) 因为集成使用的各局部数据库( l d b ) 的模式可能互不相同,通过建立全局 数据模式,使用户感觉就像使用一个单一数据库一样,从而使用户透明地使用异 构数据库。全局查询语言包括数据定义语言( d d l ) 和数据操纵语言( d m l ) , 它们是对应于全局模式的。 2 识别数据匹配性( r e c o g n i z i n g d a t a i n c o m p a t i b i l i t y ) 由于相同的对象在不同的d b m s 中也可能有诸如类型、长度等的不同,因而 在集成局部数据库管理系统时,要识别这些不匹配的数据,并在全局数据字典中 标识它们。 3 全局数据字典( g l o b a ld a t ad i c t i o n a r y ) 基于x m l 的异构数据库集成的研究与实现 描述整个网上数据库的定义及分布情况,包括全局表对应的局部表名、局部 表存在的:结点名等,它是全局查询的基础。 4 查询分解及翻译( q u e r yd e c o m p o s l t l o b a n d q u e r yt r a n s l a t i o n ) 从客户端发出的全局数据查询被分解成对各局部数据库的子查询。再由相应 的l d b m s 完成局部查询。因为l d b m s 的查询语言与全局查询语言可能有较大的不 同,因此分解出的子查询必须翻译为各l d b m s 的查询语言。 5 查询优化( q u e r yo p t i m i z a t i o n ) 网上传输的速度是制约查询效率的关键因素,而各l d b m s 的查询方式、速度 的不同又使处理变得更为复杂。特别是对涉及到多个l d b m s 的连接查询提高处理 效率尤为重要。 6 查询结果处理( p r o c e s s i n gq u e r y r e s u l t ) 对于来自各l d b m s 的局部查询结果要进行汇总,并按一定格式进行存储和显 不。 7 安全控制( s e c u r i t yc o n t r 0 1 ) 当异构的d b 被集成到联合使用的系统中以后,要保证原来某一系统中的保 密数据不能被非授权的用户访问,被纳入到全局模式的各局部数据库不能被其所 在场所的用户随意修改。 8 ,数据转换 包括单结点上不同数据库的转换,网上任意两个结点上不同l d b m s 间数据库 的转换:。 2 2 异构数据库系统的数据共享 对于异构数据库系统,实现数据集成应当达到两点:一是实现数据库转换; 二是实现数据的透明访问。 2 2 1 数据库转换 在转换的过程中,有时要想实现严格的等价转换是比较困难的。首先要确定 两种模型中所存在的各种语法和语义上的冲突。,这些冲突可能包括: 命名冲突:即源模型中的标识符可能是目的模型中的保留字,这时就需要重 新命名。 1 0 基于x m l 的异构数据库集成的研宄与实现 格式冲突:同种数据类型可能有不同的表示方法和语义差异,这时需要定 义两种模型之间的变换函数。 结构冲突:两种数据库系统之间的数据定义模型不同,如分别为关系模型和 层次模型,那么需要重新定义实体属性和联系,以防止属性或联系信息的丢失。 总之,在进行数据转换后,一方面源数据库模式中所有需要共享的信息都转 换到目的数据库中,另一方面这种转换又不能包含冗余的关联信息。 数据库转换工具可以实现不同数据库系统之间的数据模型转换,需要进一步 研究的问题是:如果在数据库转换的同时也进行数据定义模式转换和数据转换, 就可能引起同一数据集合在异构数据库系统中存在多个副本,因此需要引入新的 访问控制机制。在保证各个参与的数据库自治、维护其完整性、安全性的基础上, 对于异构数据库系统提供全局的访问控制、并发机制和安全控制。 如果数据库转换只进行数据定义转换,不产主数据的副本,那么在新的目的 数据库定义模型的框架下访问数据,实现上仍是对源数据库系统中数据的访问。 这时利用新的数据库系统中的数据处理语言实现的事务,不能直接访问源数据 库,必须进行事务级的翻译才可以执行。目前,主要有以下几种数据转换方式: 1 ) 使用软件工具进行转换 般情况下,数据库管理系统都提供将外部文件中的数据转移到本身数据库 表中的数据装入工具。比如o r a c l e 提供的将外部文本文件中的数据转移到o r a c l e 数据库表的数据装入工具s q l ”l o a d e r ,p o w e r s o f t 公司的p o w e rb u i l d e r 中提 供的数据管道( d a t ap i p e l i n e ) 。 这些数据转移工具可以以多种灵活的方式进行数据转换,而且由于它们是数 据库管理系统本身所附带的工具,执行速度快,不需要q d b c 支持,在机器没 有安装o d b c 的情况下也可以方便地使用。 但是,使用这些数据转换工具的缺点是它们不是独立的软件产品,必须首 先运行该数据库产品的前端程序才能运行相应的数据转换工具,通常需要几步才 能完成,且多用手工方式进行转换。如果目的数据库不是数据转换工具所对应的 数据库,数据转换工具就不能再使用。 2 ) 利用第三方数据库的转换 如果是大型数据库,因为数据量相对要庞大得多,如果缺少工具软件的支 持,这时就必须借助其他较小的桌面数据库如a c e s s 等。即在实现两个具体数据 基于x m l 的异构数据库集成的研究与实现 库之间的转换时,依据关系定义、字段定义,从源数据库中读出数据通过中间数 据库灌入到目的数据库中。如图3 所示: 匡卜皂屯 l j l 、jl j 图3 、利用中间数据库的转换 这种利用中间数据库的转换办法,所需转换模块少,且扩展性强,但缺点是 在实现过程中比较复杂,转换质量不高,转换过程长。 3 ) 设置传递变量的转换 借助数据库应用程序开发工具与数据库连接的强大功能,通过设置源数据 库与目的数据库两个不同的传送变量,同时连接两个数据库,实现异构数据库之 间的直接转换。这种办法在现有的数据库系统下扩展比较容易,其转换速度和质 量大大提高。如图4 所示: e 虱传送奕萎厂。+ e 三i 孓童 图4 、设置传递变量的转换 4 ) 通过数据库组件的转换 利用d e l p h i 等数据库应用程序开发技术,在配置完o d b c 后可以宜接利用 d e l p h i 自带的d a t a p u m p 工具来完成数据转换。源数据库与目的数据库通过组件 来存取数据信息,实现异构数据库之间的直接转换。通过组件存取数据,关键是 数据信息的类型问题,若源数据库与目的数据库对应的数据类型不相同,必须先 进行类型的转化,然后双方才能实施赋值。 2 2 2 数据的透明访问 在异构数据系统中实现了数据的透明访问,用户就可以将异构分布式数据库 系统看成普通的分布式数据库系统,用自己熟悉的数据处理语言去访问数据库, 如同访问一个数据库系统一样。但目前还没有一种广泛使用的数据定义模型和数 1 2 基于x m l 的异构数据库集成的研究与实现 据查询语言,实现数据的透明访问可以采用多对转换、双向的中间件等技术。 随着i n t e r n e t 应用的不断普及,i n t e m e t 的异构分布式信息系统正在迅速发展, j a v a 以其平台无关性、移植性强,安全性高、稳定性好、分布式、面向对象等优 点而成为i n t e m e t 应用开发的首选语言。在i n t e m e t 环境下,实现基于异构系统 平台的数据库应用,必须提供一个独立于特定数据库管理系统的统一编程界面和 一个基于s q l 的通用的数据库访问方法。j a v a 与数据库接口规范j d b c ( j a v a d a t a b a s ec o n n e c t i v i t y ) 是支持基于s q l 功能的一个通用的应用程序编程接口,它 在不同的数据库功能模块的层次上提供了一个统一的用户界面,为对异构数据库 进行直接的w e b 访问提供了新的解决方案。j d b c 己被越来越多的数据库厂商、 连接厂商、i n t e m e t 服务厂商及应用程序编制者所支持。 异构数据库实现数据访问方法 1 对于d b m s 系统一级异构的网络环境下的数据库 目前主要有3 种解决方法,它们都基于客户服务器体系结构: 公共数据库网关( c o l n n o md a t a b a s eg m e w a y ) 公共协议( c o m m o n p r o t o c 0 1 ) 公共编程接口( c o m m o n p r o g r a m i n g i n t e r f a c e ) 公共数据库网关是一个转换器,客户通过它可以访问异种数据库。o r a c l e 、 s y b a s e 、s q ls e r v e r 等大型数据库厂商都有自己的网关产品。 采用数据库网关可以较为满意地解决数据库的互操作问题。通过网关,可以 把第三方的开发工具连接到自己的数据库产品上;用户无需废弃现有的应用程 序,就可利用网关把它们与新的数据库技术互联起来,从而保护己有的投资。但 是,n 个异构数据库组成的复杂系统中,要实现任意两个数据库的互操作,就必 须提供n ( n 1 ) n 个网关,而且数据库网关价格昂贵,这在实际应用中是很难投 入实用的。而且,有些异构数据库间的数据格式、语法或语义的转换是行不通的, 利用数据库网关访问远地异构数据库不易达到完全透明。有人认为数据库网关是 连接异构数据库实现互操作的权宜之计,一旦统一的应用界面标准被广泛采纳, 就不再需要网关。但是,随着“完善”标准的出现,符合这些标准的数据库产品 未必就能实现互操作。由于竞争的需要,各个厂商为保证其产品具有强于其它产 品的功能,必然在自己的产品中加入独有的特征从而产生新的不兼容性,为互 操作造成障碍。 基于x m l 的异构数据库集成的研究与实现 采用公共协议指对客户和服务器间通信的格式和协议以及数据库语言进行 标准化;这是一种最理想的解决异构数据库系统集成的方法,目前比较典型的有 s a g ( s q l a c c e s sg r o u p ) 规范和i b m 的分布式关系数据库体系结构( d r d a ) 。 在这些方法中,采用开放界面进行开发一如利用s y b a s e 公司的 o d e n c l i e n t ,o p e n s e r v e r 、o r a c l e 的o c i 等,操纵数据库的效率比较高,但编程量 较大。 公共编程接口包括客户应用编程界面( c a p i ) 和服务器应用编程界面 ( s a p i ) 。c a p i 是一组过程库,通常以t s r 方式或d l l 方式驻留在客户工作站 上,个c a p i 通常可以装载后端专用的驱动程序,以访问不同的数据源。s a p i 提供一个应用编程界面,控制服务器与客户应用请求和目标数据库之间的交互。 m i c r o s o f t 公司采用公共编程接1 2 1o d b c ( o p e nd a t a b a s ec o n n e c t i v i t y ) , o d b c 是m i c r o s o f t sw i n d o w s 的开放式服务体系结构( w i n d o w so p e ns e r v e r a r c h i t e c t u r e ,w o s a ) 的数据库部分,是一个用于访问多种数据库的统一的界面 标准。o d b c 实际上是一个数据库访问库,但是只提供一个统一的应用编程接口 ( a p i ) 利用o d b c 可以免除应用程序随数据库的改变而改变的痛苦,o d b c 通 过使用数据库驱动程序获得数据库独立性,驱动程序所提供的标准接口允许应用 程序开发者和驱动程序提供者在应用程序和数据源之间传递数据。 2 对于数据结构及语义一级上异构的数据库 对于这一问题,早期的工作般是通过定义一个概念模型或元模型来实现集 成,直接将异构的数据模式转换到一个统的模式上,但过程复杂,收效不大。 因为在转换过程中可能不得不最终抛弃一些组件数据库,以建立共同的全局名、 数据结构、属性值及策略。且所有现存的组件数据库上的应用程序也必须进行转 换,以遵守新的集成后的各个元素。这一转换过程通常代价巨大而且并不一定能 具体可行、操作并维护( 更新、重组) 一个大型的数据库,就其本身固有的特性 来说,也比对一个小型的数据库操作和维护要复杂得多。 近来,对这一问题的研究主要方法大致划分两大类紧密耦合与松散耦 合。紧密耦合方法建立在数据库模式的集成之上。这样建立的异构数据库系统具 有一个集成的全局模式。如m u l t i b a s e 、m e r m a i d 、a d d s 、d a t a p l e x 、i n g e r s s t a r 、 p e g a s u s 和w i n d 系统。 紧密耦合方法的优点在于它能允许用户透明访问异构的、自治的、分布的异 基于x m l 的异构数据库集成的研究与实现 构数据库,就像它们是一个集中式的数据库一样。然丽,实现这一方法却花费巨 大,而且每当现存的组件数据库模式发生变化或一个新的数据库加入到系统中 时,都必须重新生成一次全局模式。这使得维护全局模式十分困难。在一个动态 的环境如i n t e m e t 中,实际上是不可能维护这样个全局模式的。 与此相对,松散耦台将集成的任务交给了用户。采用这一方法的系统的主要 任务是开发一套工具,使用户能使用工具来完成集成的工作。如面向对象的工具 a l c h e m i s t 及m u l t i d a t a b a s e 的操作语言m d s l 。尽管这一方法在更新组件数据库 时非常灵活,但它给用户带来了过多的负担:用户必须了解组件数据库的内容与 结构。当组件数据库数量不断增长时,用户实质上仍然无法了解与完成查询所需 的所有组件数据库相关的知识。 在此基础之上,最近发展的基于知识库系统的调节者方法结合了紧密耦合与 松散耦合两方面的基本要素。其基本思想是用个具备知识库能力的调节者( 主 要用于查询) 代替全局模式,知识库系统利用规则来鉴别和处理数据的类型和语 义,以达到较好的集成和同化效果。调节者被定义为:“一个使用与某一个数据 库集合或子集相关的经过编码( e n c o d e d ) 的知识,并能为高层应用程序提供服 务的软件模块。”它减轻了用户直接与异构数据库交互的负担。用户只需与一个 代理a g e n t 交互,并以代理的语言提供检索的条件。这样的方法具有较高的灵活 性与可扩展性。因为各组件数据库元数据( 异构数据库系统的元数据包括:各局 、 部数据库的模式信息、集成系统的全局视图信息以及异构模式间的转换规则等) 是各自独立地合并进知识代理中的。其典型的例子是c a r n o t ,s i m s 。而且基于 调节者的方法还被用于解决在访问结构化及非结构化数据源时遇到的问

温馨提示

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

评论

0/150

提交评论