




已阅读5页,还剩62页未读, 继续免费阅读
(基础数学专业论文)基于中间件技术的异构数据集成.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
河南大学硕士学位论文 摘要 摘要 f 由于历史的原因,在实际应用中参与交换的数据形式多种多样,因而其访 蝴式也千差万别。尤其是关系型数据库产品问世以来,异构数据库之间实现 互操作及数据共享的问题就一直被人们所关注。、, 数据集成主要解决异构数据源的互操作问慰功能涉及异构数据源的访问、 传送和交换、合成以及数据复制等。联邦数据库和数据仓库是比较成功的数据 集成解决方案,然而这些解决方案不但复杂而且是面向主题的,我们考虑灵活 的基于中间件方法的数据集成。 中间件是处于操作系统软件与用户应用软件之间的一大类基础软件,由于 它提供跨网络和平台的透明性,并且支持标准协议和接口,可以大大减少分布 异构环境中数据集成的复杂性。 我们设计实现了中间件h e t e r o d i ,它利用i n t e r n e t 进行数据集成,为异构数 据源提供包含提取、转换、传输和加载等操作在内的数据集成服务。基于o d b c 接口的数据提取和加载使其可以集成当前主要的关系数据库,多种渠道的支持 为数据集成提供了灵活的数据传输方式。 异构数据源的合成是数据集成的一项重要功能,功能涉及数据冲突解决、 数据复制和复杂的数据源交并差运算等。我们给出了在h e t e r o d i 系统中进行数 据合成的基本操作,提出了常见数据冲突的解决方案,实现了基于触发器和快 照方式的数据增量复制。 随着x m l 及其相关技术、应用的发展,x m l 已经成为了互联网重要的信 息发布标准和表示技术之一,越来越多的应用之间通过x m l 来进行数据交换。 x m l 的跨平台性和强适应性很快得到了中间件研究领域的肯定,我们使用 x m l d t d 来定义h e t e r o d l 的元数据和传输数据包,可以为系统的可扩充性和 平台独立性提供较完善的支持。 针对实际应用中发现的不足,我们提出了改进的基于x m l 的h e t e r o d l 体 系结构,通过使用适配器的方式使用户更加灵活地使用数据源和渠道,同时改 进了数据流转和数据交换的方式,讨论了它作为数据集成中间件的优点和不足。 河南大学硕士学位论文 a b s t r a c t b e c a u s eo fh i s t o r i c a lr e a s o n s ,t h ed a t af o r i l lp a r t i c i p a t e di ne x c h a n g i n gi ot h e a p p l i c a t i o ni sv a r i e d t h e r e f o r et h ew a y i ti sv i s i t e di sa l s ov a r i o u s e s p e c i a l l ys i n c e r e l a t i o n a ld a t a b a s ep r o d u c t sc o m e o u t 、p e o p l ep a yc l o s ea t t e n t i o nt o 血ei s s u eo f d a t a i n t e r o p e r a t i o na n dd a t as h a r i n g d a t a i n t e g r a t i o nm a i n l ys o l v e st h ep r o b l e m o f e n s u r i n gi n t e r o p e r a b i l i t yb e t w e e n h e t e r o g e n e o u sd a t as o u r c e s f u n c t i o ni n v o l v e sa c c e s s i n g ,t r a n s m i t t i n g ,e x c h a n g i n g , t r a n s f o r m i n gb e t w e e nt h ed a t a s o u r c e sa n dd a t as y n t h e s i s ,d a t ar e p l i c a t i o n ,e t c f e d e r a t e dd a t a b a s e sa n dd a t aw a r e h o u s e sa r es u c c e s s f u ld a t ai n t e g r a t i o ns o l u t i o n s b u tt h e s es o l u t i o n sa r en o to n l yc o m p l i c a t e db u ta l s ot h e m er e l a t e d w ec o n s i d e r m o r ef l e x i b l es o l u t i o no fm i d d l e w a r e 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 n t h em i d d l e w a r ei sab i gc l a s so fb a s i cs o f t w a r eb e t w e e no p e r a t i n gs y s t e ma n d a p p l i c a t i o n 。b e c a u s ei t o f f e r st h et r a n s p a r e n c yo f s t e p p i n gt h en e t w o r k a n d p l a t f o r m , a n d s u p p o r t s s t a n d a r d p r o t o c o l s a n d i n t e r f a c e s ,t h ec o m p l e x i t y o ft h ed a t a i n t e g r a t i o ni nt h ed i s t r i b u t e de n v i r o n m e n t c a nb er e d u c e d g r e a t l y w e d e s i g n f lm i d d l e w a r e b a s e ds y s t e m h e t e r o d i i tu t i l i z e si n t e r n e tt oi n t e g r a t e h e t e r o g e n e o u sd a t as o u r c e s b e c a u s ei tb a s e so no d b c i n t e r f a c et oe x t r a c ta n d1 0 a d d a t as o u r c e s t h e m a i o r i t y o fc u r r e n tr e l a t i o n a ld a t a b a s e sc a nb e i n t e g r a t e d f u r t h e r m o r e i t s u p p o r t sm a n y k i n d so fc h a n n e l s s ot h ef l e x i b l eo fd a t a t r a n s m i s s i o nm e a n si se v i d e n t h e t e r o g e n e o u sd a t as y n t h e s i si s a ni m p o r t a n tf u n c t i o no fd a t ai n t e g r a t i o n i t i n v o l v e sd a t ac o n f l i c tr e s o l u t i o n d a t ar e p l i c a t i o na n dm o r ec o m p l e xo p e r a t i o ns u c h a si o i n ,m e r g ea n dd i f f e r e n c e w ep r e s e n tt h eb a s i co p e r a t i o n sw h e n p e r f o r m i n gd a t a s y n t h e s i si nh e t e r o d rs y s t e m ,p u tf o r w a r dt h es o l u t i o no f t h e c o m m o nd a t ac o n f l i c t , r e a l i z et h ed a t ai n c r e m e n t a lr e p l i c a t i o nb a s e do nt r i g g e ra n ds n a p s h o t w i t ht h et e e h n o l o g ya n dt h ea p p l i c a t i o no fx m ld e v e l o p e d ,i th a sa l r e a d y b e c o m ea ni m p o r t a n ti n f o r m a t i o ni s s u es t a n d a r do ni n t e r n e t a n dm o r ea n dm o r e a p p l i c a t i o n se x c h a n g ed a t at h r o u g hx m l t h eq u a l i t yo fs t e p p i n gp l a t f o r ma n d s t r o n ga d a p t a b i l i t yo f x m lh a sb e e na c c e p t e db yt h em i d d l e w a r er e s e a r c hf i e l d w e u s ex m ld t dt od e f i n em e t a d a t aa n dt r a n s m i tp a c k a g eo f h e t e r o d is y s t e m s ot h e e x p a n d a b i l i t ya n di n d e p e n d e n t c h a r a c t e ro fh e t e r o d ia r es u p p o r t e dm o r ep e r f e c t l y a c c o r d i n gt ot h ed e f i c i e n c yf o a n di nt h ep r a c t i c a la p p l i c a t i o n ,w ep u tf o r w a r d i m p r o v e dh e t e r o d is y s t e ma r c h i t e c t u r eb a s e d o nx m l i nt h en e wa r c h i t e c t u r e ,w e u s ea d a p t e r st od e f i n ed a t as o u r c e sa n dc h a n n e l s i t saf l e x i b l ew a y f o ru s e rt ou s e a n da d dn e wm e t a d a t a f u r t h e r m o r e ,w ei m p r o v et h ew a y t h a tt h ed a t aa r ec i r c u l a t e d a n de x c h a n g e d i nc o n c l u s i o n t h em e r i ta n di n s u f f i c i e n to fh e t e r o d ia r ed i s c u s s e d 河南大学硕士学位论文 第一章绪论 1 1 数据集成 第一章绪论 1 1 1 数据集成概述 在现代经济社会中,数据驱动着一切商业活动。如何安全地存储数据,如 何快速地获取数据,如何保证数据时刻有效,都是至关重要的。 由于历史的原因,参与交换的数据形式多种多样,因而其访问方式也干差 万别。如结构化数据可以存放在各种数据库管理系统的数据库中,也可以存放 在关系型文本文件或x m l 文件中,因而可以通过访问各种数据库或文件来访 问这些数据;有的数据则仅能通过应用程序提供的数据访问接口进行访问等。 自从数据库尤其是关系型数据库产品问世以来,异构数据库之间实现互操 作及数据共享的问题就一直被人们所关注。因为,一方面由于历史遗留下来的 结构各异的数据库大量存在,另一方面,在互联网这样个动态的环境中,新 的数据库不断加入,同时又经常有一些数据源从可用的数据库中去除。而现行 的大多数应用程序是建立在这些分离的数据库基础之上的,应用程序间难以实 现互相的协同。如此种种,严重地阻碍了人们对数据库资源,特别是建立在网 络上的各种异构数据库资源的共享。 为此,人们为实现异构数据的互操作和数据共享进行了大量的工作,如建 立数据库联邦和数据仓库等,我们称这方面的工作是数据源集成( s o u r c e i n t e g r a t e ) 。数据源集成是指把一系列的数据源集成为一个统一的实体的过程, 数据源集成的范畴如图1 1 所示。 图i - 1 数据源集成范畴 河南大学硕士学位论文 第一章绪论 模式集成( s c h e m ai n t e g r a t e ) 和数据集成( d a t ai n t e g r a t e ) 是数据源集成的两个 方面。我们所研究的数据集成是指在数据级别上解决异构数据源的互操作问题。 它有别于协作信息系统的研究,诸如工作流和供应链都属于该范畴,但是它们 的研究范围不局限于数据且不以数据为中心。 数据集成根据异构的侧重点不同,分为两个子问题:结构集成( s t r u c t u a l i n t e g r a t i o n ) 和语义集成( s e m a n t i ci n t e g r a t i o n ) 。结构集成注重解决结构上的异构, 如数据模型异构:有的数据源是关系数据库存储,有的则存于面向对象数据库 中;查询和访问语言异构:有的使用s q l 语言,有的使用q u e l 语言。这通 常是为了适应历史遗留系统而引起的。语义集成注重解决语义的不匹配,语义 不匹配可能发生在模式级别上,也可能发生在数据级别上,通常要采取某种形 式的冲突处理策略。 本文的研究侧重于语义形式上的数据集成。 1 1 2 主要集成方案 目前,主要的数据集成方案包括联邦数据库和数据仓库等。下面,我们分 别考查每种集成方式的特点。 1 1 2 1 联邦数据库 早期的数据集成致力于构造多数据库系统( m u l t i d a t a b a s es y s t e m s ) 。它是多 个分布式数据库的集合,这些组件数据库存在某种形式的异构且需要共享或交 换数据。 联邦数据库( f e d e r a t e dd a t a b a s e s ) 是多数据库系统的种特殊形式,它是多 个互相协作的自治数据库的集合。根据组织方式的不同,它分为紧耦合和松耦 合的两种。在紧耦合的联邦数据库中,管理和操作针对整个联邦,而在松耦合 的联邦数据库中,组件数据库有某种程度的管理独立性。 组件数据库自治是联邦数据库的最大特征。自治有多方面的含义,包括设 计自治( d e s i g na u t o n o m y ) 、通信自治( c o m m u n i c a t i o na u t o n o m y ) 和执行自治 ( e x e c u t i o na u t o n o m y ) 等。设计自治允许组件数据库的设计者在选择数据模型和 查询语言等方面有更多的自由。然而,自治与共享数据的需要是相矛盾的,因 此,在实现数据互操作的前提下,通常要牺牲某种自治性。 现代数据库系统成功的使用三层体系结构来分离数据库的物理实现和逻辑 表示,然而对于联邦数据库来说是不够的,我们通常使用五层体系结构来表示 一个典型的联邦数据库系统。如图1 - 2 所示。 河南大学硕士学位论文第一章绪论 图1 2 联邦数据厍体系结构 在这样的五层体系结构下,存在着五种数据模式,通过在五种模式间转换 查询,来实现数据的互操作。这五种模式是: 本地模式( l o c a ls c h e m a ) :与传统的三层模式中逻辑模式对应: 组件模式( c o m p o n e n ts c h e m a ) :适应于在联邦数据库间共享数据的模 式,由本地模式转换而来; 导出模式( e x p o r ts c h e m a ) :组件模式中与组成数据库联邦相关的部分模 式: 联邦模式( f e d e r a t e ds c h e m a ) :整个数据库联邦的集成模式,各个组件数 据库的导出模式可以与其映射; 外部模式( e x t e r n a ls c h e m a ) :提供给应用或用户的外部视图。 1 1 2 2 数据仓库 数据仓库从功能上来说,超越了数据集成的研究范围。建立数据仓库的目 的,通常是在企业应用环境中,对一系列分布的数据源进行收集、清洗和集成, 然后把合格的数据集中存储。之后,可能进行某些聚集操作或联机分析处理 ( o l a p ) 。典型的数据仓库应用如图1 3 所示。 由于在构建数据仓库时,数据处理大多数是应用相关的,且数据量非常庞 大,我们通常使用特殊的技术来实现数据的聚集,如多维数据库和数据方体等。 河南大学硕士学位论文 第一章绪论 图1 - 3 数据仓库模型 在上述体系结构中,包装器( w r a p p e r ) 和仲裁器( m e d i a t o r ) 负责数据集成。在这个 过程中,通常采用积极和懒惰的两种数据更新策略,前者指组件数据库一旦有 数据变化,即更新其实视图的数据,而后者只有在使用数据时才查询变化。 包装器和仲裁器体系结构是数据集成的一种主要模式,其主要思想是为每 个数据源提供一个包装器,通过它与统的协调器协作完成数据集成,而协调 器则以标准的形式提供全局事务处理及数据访问的方法。该集成方式通过定义 全局模式与各本地模式的映射来提供数据互操作,但是通常不能定义算法来解 决数据冲突。 1 2 中间件 1 2 1 中间件概述 现代计算机技术迅速发展。从硬件技术看,c p u 速度越来越高,处理能力 越来越强;从软件技术看,应用程序的规模不断扩大,特别是i n t e r n e t 的出现, 使计算机的应用范围更为广阔,许多应用程序需在网络环境的异构平台上运行。 这一切都对新一代的软件开发提出了新的需求。在这种分布异构环境中,通常 存在多种硬件系统平台( 如p c 、工作站、小型机等) ,在这些硬件平台上又存在 河南大学硕士学位论文第一章绪论 各种各样的系统软件( 如不同的操作系统、数据库、语言编译器等) 以及多种风 格各异的用户界面,这些硬件系统平台还可能采用不同的网络协议和网络体系 结构连接。如何把这些系统集成起来并开发新的应用是一个非常现实而困难的 问题。 为解决分布异构问题,人们提出了中间件( m i d d l e w a r e ) 的概念。中间件是基 础软件的一大类,属于可复用软件的范畴。顾名思义,中间件处于操作系统软 件与用户的应用软件的中间,总的作用是为处于自己上层的应用软件提供运行 与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。 由于标准接口对于可移植性和标准协议对于互操作性的重要性,中间件已 成为许多标准化工作的主要部分。对于应用软件开发,中间件远比操作系统和 网络服务更为重要,中间件提供的程序接口定义了一个相对稳定的高层应用环 境,不管底层的计算机硬件和系统软件怎样更新换代,只要将中间件升级更新, 并保持中间件对外的接口定义不变,应用软件几乎不需任何修改,从而保护了 企业在应用软件开发和维护中的重大投资。 1 2 2 中间件分类 中间件的产品种类很多,根据中间件在系统中所起的作用和采用的技术不 同,大致划分为以下五种。 1 2 2 1 数据库中间件( d a t a b a s em i d d l e w a r e ) 数据库中间件在所有的中间件中是应用最广泛,技术最成熟的一种。一个 最典型的例子就是o d b c ,o d b c 是一种基于数据库的中间件标准,它允许应 用程序和本地或者异地的数据库进行通信,并提供了一系列的应用程序接口 a p i ,当然,在多数情况下这些a p i 都是隐藏在开发工具中,不被程序员直接 使用。用户不必关心关系数据库的实现原理和实现机制,甚至不必了解o d b c 向应用程序提供了哪些应用程序接口a p i 。 不过在数据库中间件处理模型中,数据库是信息存贮的核心单元,中间件 完成通信的功能,这种方式虽然是灵活的,但是并不适合于一些要求高性能处 理的场合,因为它需要大量的数据通信,而且当网络发生故障时,系统将不能 正常工作。系统的灵活性提高以处理性能的降低为代价。 河南大学硕士学位论文第一章绪论 1 2 。2 2 远程过程调用中间件( r e m o t ep r o c e d u r ec a l l ) 远程过程调用是另外一种形式的中间件,它在客户服务器计算方面,比数 据库中间件又迈进了一步。它已经存在了相当长的时间,而且沿用了大多数程 序员都非常熟悉的编程模式一一程序员就像调用本地过程一样在程序中调用远 程过程。启动远程过程的运行,然后将运行结果返回给本地程序。不但如此, 远程过程调用还可以将程序的控制传递到远端的服务器当中去。 r p c 的灵活特性使得它有比数据库中间件更广泛的应用,它可以应用在更 复杂的客户j l 务器计算环境中。远程过程调用的灵活性还体现在它的跨平台性 上面,它不仅可以调用远端的子程序,而且这种调用是可以跨不同操作系统平 台的,而程序员在编程时并不需要考虑这些细节。 r p c 也有一些缺点,主要是因为r p c 一般用于应用程序之间的通信,而且 采用的是同步通信方式,因此对于比较小型的简单应用还是比较适合的,因为 这些应用通常不要求异步通信方式。但是对于一些大型的应用,这种方式就不 是很适合了,因为此时程序员需要考虑网络或者系统故障,处理并发操作、缓 冲、流量控制以及进程同步等一系列复杂问题。 1 2 2 3 事务处理中间件( t r a n s a c t i o np r o c e s s i n gm i d d l e w a r e ) 事务处理中间件是一种复杂的中间件产品,是针对复杂环境下分布式应用 的速度和可靠性要求而实现的。它给程序员提供了一个事务处理的a p i ,程序 员可以使用这个程序接口编写高速而且可靠的分布式应用程序一基于事务处理 的应用程序。 事务处理中间件向用户提供一系列的服务,如应用管理、管理控制以及应 用程序间的消息传递等。常见的功能包括全局事务协调、事务的分布式两段提 交、资源管理器支持、故障恢复、高可靠性、网络负载平衡等等。 1 2 2 4 基于对象请求代理的中间件( o b j e c tr e q u e s t b r o k e r ) 对象请求代理是近年来才发展起来的一项新技术,它可以看作和编程语言 无关的面向对象的r p c 应用,被视为从面向对象过渡到分布式计算的强大推动 力量。从管理和封装的模式上看,对象请求代理和远程过程调用有些类似,不 过对象请求代理可以包含比远程过程调用和消息中间件更复杂的信息,并且可 以适用于非结构化的或者非关系型的数据。 目前有两种对象请求代理的标准,分别是c o r b a 和d c o m 。他们都是被 河南大学硕士学位论文 第一章绪论 设计用于分布式对象的客户服务器模式的通信。在这两种技术中,都是个客 户调用一个请求,该请求则由远方的一个对象来实现,远方的对象充当服务器 的角色。提供服务的对象都有个界面( i n t e r f a c e ) ,该界面是通过界面定义语 言( i d l ) 来定义的。由于界面的存在,使对象的实现过程对于客户是隐蔽的。 然而,c o m d c o m 是微软拥有的体系结构,仅被w i n d o w s 家族的操作系 统支持。d c o m 基于自然的二进制格式,因此执行较快,但是不适用于其它平 台。c o m d c o m 组件能够访问w i n d o w sa p i ,因此能潜在地损坏或危及用户 的计算环境。d c o m 为分布式对象提供基本的支持,但不支持实时处理,也不 适于在高可靠性情形下使用。 c o r b a 仅仅是一个规范,而不是一个实现。因此,用户很难确定所购买的 产品是否完全兼容c o r b a 。c o r b a 又是个复杂的规范,需要有相当多的专 家来开发分布式对象和应用。从另一方面来讲,使用c o r b a ,能使开发分布 式应用变得容易。当然,需要很多对分布式系统设计、多线程程序设计和调试、 内联网、面向对象分析和设计精通的专家。 不管怎样,鉴于它们内在的区别,它们分别适用于具有不同规模和类型的 应用中。这两种标准是相互竞争的,而且两者之间有很大的区别,这在一定程 度上阻碍了对象请求代理中间件的标准化进程。 1 2 2 5 面向消息的中间件( m e s s a g eo r i e n t e dm i d d l e w a r e ) 消息中间件的优点在于能够在客户和服务器之间提供同步和异步的连接, 并且在任何时刻都可以将消息进行传送或者存储转发,这也是它比远程过程调 用更进一步的原因。从功能、安全性和可靠性等方面来考虑,消息中间件具有 基本的安全措施,包括完善的认证机制、数据加密和对异常情况的处理等。另 外消息中间件不会占用大量的网络带宽,可以跟踪事务,并且通过将事务存储 到磁盘上实现网络故障时系统的恢复。消息中间件适用于需要在多个进程之间 进行可靠的数据传送的分布式环境。 当然和远程过程调用相比,消息中间件不支持程序控制的传递,不过这种 功能和它的优势比起来却是无关紧要的。 1 2 3 基于中间件技术的数据集成 联邦数据库和数据仓库的应用成功解决了许多数据集成问题,然而也使许 多用户望而却步,主要是: 。 数据集成是面向主题的:在进行集成工作之前,各数据源的本地模式是 7 塑重奎堂堡主兰垡堡壅 塑= 童堕堡 己知的,数据集成的目标是明确的,构建导出模式或建立包装器时局限 于已知应用,由于主题的多样性,必然丧失了灵活性与适应性: 全局模式难以构建:在联邦数据库中,由于本地设计自治的需要,导出 模式差异较大,要建立与各种导出模式相协调的联邦模式比较困难。对 于包装器和协调器模式的数据集成,有些系统甚至不能提供全局模式, 转而依赖于匹配算法等方式来进行模式集成; 数据集成是重量级的:联邦数据库和数据仓库一般面向大型应用,在数 据集成工作之后还要进行分析处理等工作,其集成模式并不适用于部分 简单应用。 因此,我们考虑提供一种轻量级的数据集成中间件,利用它能够灵活地完 成绝大部分的数据集成工作。在数据集成过程中,实现数据互操作要通过转换 查询或转换数据。在数据仓库等应用中,数据的转换是集成的主要工作。无论 数据从操作性系统流入数据仓库中,还是从旧的操作性系统流入重构的系统中, 数据的e t l 工作必不可少,即我们必须能够实现数据的抽取、清洗、传输转 换和加载等操作。 一个简单的数据集成中间件体系结构如图1 - 4 所示。 睁围睁囤睁回 寻 申回妇回牵圆 l o a d c o m p o n e n t t r a n s p o r t c o m p o n e n t t r a n s f o r m a t i o n c o m p o n e n t 图1 4 数据集成中间件体系结构 该体系结构下数据集成的流程或需要进行的主要工作如下: 1 数据抽取 文档化需要转换的数据源:原始的数据源可能是无格式的,甚至是 没有机器存储的,这需要我们首先鉴别感兴趣的数据,分析商业数 圈 睁和卤 躲意 河南大学硕士学位论文 第一章绪论 据的意义、数据间的关系和商业规则等,然后按需要格式化存储数 据; 决定数据抽取的方法:一般情况下,我们采用抽取工具或数据处理 语句获得所有感兴趣的数据,然而对于具有大数据量的系统,比如 o d s ,需要能够敏感地发现变化的数据,包括增加、修改和删除了 的数据,以提高效率; 保证数据的合法性:数据抽取过程中还需要保证数据符合现实需 求,合乎预定义的商业规则,满足数据间的约束关系等,以提高数 据的质量。 2 数据传输 v ,提供灵活的数据传输方式,保证在资源缺乏的情况下,至少有一种 可用的数据传输渠道: 提供可靠的数据传输方式,保证数据可靠地到达目的端,并且在传 输过程中采取压缩和加密等措施。 3 数据转换 提供全局模式供各个本地模式间互相转换,包括从源数据模式到全 局模式的转换和全局模式到目的模式的转换。 4 数据加载 确保成功地把传输过来的源数据加载到目标系统中,按一定的策略 解决可能造成的数据冲突。 相对于其他形式的数据集成方法,数据集成中间件有如下优点: 1 集成特点 双向集成:双向集成是指源数据系统和目标数据系统都能够发起数 据的传输过程,这可以保证数据两端的实时同步,适应任何一端的 数据变化; 异步集成:这和分布式系统中的同步机制截然不同,后者使用两阶 段锁提交的方法保证数据的同步,任何个更新操作的失败都可能 引起事务的回滚,而且及其费时。异步集成避免了多个数据库引擎 问可能的死锁,可以按预定义的发送序列避免网络等资源的中断而 失败; 端端集成:在数据仓库等集成应用中,需要大量的中间数据缓存, 在那里进行数据转换等工作,增加了网络负担和资源开销,端端集 9 河南大学硕士学位论文 第一章绪论 成的数据转换工作在目的端的数据加载过程中完成: 层叠集成:在中间件方法的集成应用中,允许数据逐级逐层传输, 而不是从每一个元数据系统直接到达目的系统,对于政府部门等许 多应用场景下,这种集成模式减少了时间开销。 2 功能灵活 v ,持续镜像:因为可以定义灵活的实时集成策略,就能保证任何数据 的变化都能反映在相关数据系统中: v ,捕获数据变化:通过定义触发器或采用系统日志的方法可以实时捕 获变化的数据,直接反映到目标系统中; 全数据迁移:可以把整个数据库系统完整的迁移到目的数据库中, 完成类似于数据库厂商的导入导出功能。 独立于业务逻辑:在许多现有企业应用中,集成开发者针对业务逻 辑整合应用,业务逻辑的变化直接影响着应用程序,虽然可能获得 较高的效率,但灵活性和可扩展性较差,独立于业务逻辑的数据集 成中间件则更具优势。 3 灵活的元数据管理 元数据是关于数据的数据,它包含数据从哪里来,什么时间传输和 传输到哪里去的一系列信息,提供给数据管理者一种追踪数据的方 法。在中间件数据集成中,元数据被存储到服务器端,被数据库或 x m l 文档管理,可以方便的展现给数据管理者。 1 3 数据复制 1 3 1 数据复制概述 数据复$ 1 j ( d a t ar e p l i c a t i o n ) 是数据集成的核心功能,可以用来减少网络压 力,提高系统的可靠性,自动的数据复制还可以有效的缩短响应时间。 数据复制包括数据的传送和交换过程,数据的安全性和增量传送是其关键 问题。一次完整的数据复制要完成以下工作:捕获数据变化,传播数据,同步 数据和解决数据冲突。 数据复制的主要问题由于数据异构引起,这种异构来源于以下方面: 硬软件环境的异构:不同的系统可能运行于多种平台,操作系统和网络 1 0 河南大学硕士学位论文 第一章绪论 协议差别较大。但比较容易解决。 d b m s 的异构:不同的数据库厂商可能采用关系或面相对象的数据模 型,也可能采用不同的数据描述语言和数据定义语言,但大多数遵从 s q l 标准,因此也应该不是问题。 数据库模式的异构:即使d b m s 相同,数据模式的异构仍然给数据复 制带来很大的困难,包括名字冲突和数据格式不一致等问题,解决该问 题需要进行模式转换。 不同的数据库厂商都提供对数据复制的支持,然而他们的实现严重依赖其 内部机制,与其他产品的兼容性差,且缺乏应用编程接口。基于中间件方法的 数据复制则有更大的优势。 1 3 2 数据复制分类 一般的,我们按以下方法对数据复制进行分类: 根据数据一致性的要求,可以分为同步和异步复制,同步复制实时 性要求高,时刻保持数据的同步。 根据数据复制参与者的关系,可以分为主从复制和对等复制。 1 3 3 复制方案 1 3 3 1 数据库厂商解决方案 不同数据库厂商的解决方案大致相同,即依赖于自己的体系结构,扩展 d b m s 的功能以解决数据复制问题,同时隐含自己的商业策略于其中。在此, 主要考察o r a c l e 和s q l s e r v e r 的数据复制机制。 1 3 3 1 1o r a c l e 数据复制解决方案 在o r a c l e9 i 的复制方案中,每个参与复制的数据库称为一个站点,多个站 点构成了复制的拓扑结构,相互连接的站点之间可以进行数据复制。这些站点 分为两类,即主体站点( m a s t e rs i t e ) 和实视图站点( m a _ t e r i a l i z e dv i e w s i t e ) 。所谓 主体站点,是指数据的拥有者,而实视图站点仅拥有主体站点所拥有的数据的 实视图。由于一个数据库中可以仅有部分数据参与复制,因而一个站点可以既 河南大学硕士学位论文 第一章绪论 是主站点,又是实视图站点。 根据参与站点的不同,o r a c l e9 i 的复制可以分为两类,即主站点之间的复 制和主站点实视图站点之间的复制。对于主站点之间的复制,由于两个站点都 是数据的拥有者,因而需要保证在两个站点上数据的绝对一致性,即任何一方 对数据的修改都要传送到对方去。这意味着,主站点之间的复制总是双向的。 主站点之间的复制可以是同步的,也可以是异步的。对于同步复制,一旦 有对表的修改操作,就会启动复制动作,将该操作传送到其他的主站点上,当 所有主站点上的修改成功后,一个事务才算完成。异步复制又称为延迟复制, 即系统将操作收集起来,到一定的时机才将这些操作传送给其他站点。 对于主站点和实视图站点之间的数据复制,数据一般是单向流动的,即数 据总是从主站点复制到实视图站点。但o r a c l e9 i 也允许定义可更新的实视图 ( u p d a t a b l em a t e r i a l i z e dv i e w ) ,这时实视图站点上对实视图的更新将被传送到主 站点上。 主站点和实视图站点之间的复制总是异步的。当主站点上的数据被修改时, 为了保证实视图站点与主站点上数据的一致性,需要刷新( r e f r e s h ) 实视图。刷 新方式分为三种,即完全刷新( c o m p l e t er e f r e s h ) 、快速刷新( f a s tr e f r e s h ) 和强 制刷新( f o r c er e f r e s h ) 。前两种分别对应完全复制和增量复制,最后一种的意思 是,首先尝试快速刷新,如果失败,则进行完全更新。 一个复制拓扑结构可以包括多个主站点,也可以包括多个实视图站点。 1 3 3 1 2 s q ls e r v e r 数据复制解决方案 s q l s e r v e r2 0 0 0 的数据复制需要多方的参与,微软以报刊发行的概念来描 述s q l s e r v e r2 0 0 0 中的数据复制过程:数据的来源称为出版商( p u b l i s h e r ) ,它 发布的内容称为出版物( p u b l i c a t i o n ) ,其中包含多篇文章( a r t i c l e ) ,对应数据库中 的对象,如表、视图、索引等。接收数据的一方称为订户( s u b s c r i b e r ) ,但订户 并不直接从出版商那里得到出版物,而是要通过分销商( d i s t r i b u t o r ) 。一个出版 商有一个分销商,一个分销商为多个订户服务。 s q l s e r v e r2 0 0 0 中数据复制分为三种,分别是快照复制、事务复制和合并 复制。前两种分别对应完全复制和增量复制。这时,数据的订户均可以修改收 到的数据,并将这种修改反馈到数据的发布者,从而对发布者的数据进行修改a 合并复制则允许多个订户对收到的数据进行修改,由分销商将各个用户的修改 情况合并后统一发给出版商。 河南大学硕士学位论文 第一章绪论 1 3 3 。2 中间件方法 数据复制中间件把应用逻辑和复制功能集成在起,提供编程接口给外部 调用者,因此,数据异构被屏蔽在应用中。在此,主要考察两种成熟的数据复 制中间件产品:d a t a s y n c 和s y n c k i t 。 d a t a s y n c 主要为移动办公和电子商务服务,能够完成数据的对等复制。因 为它主要依赖于数据映像来捕获数据变化,所以又称为映像复制。在数据复制 初始化时,部分数据从源数据端复制到目的数据端,同时在两个数据库端分别 建立映射表。在数据发生变化时,通过比较源表和映射表来记录数据变化日志。 当两个数据端再次发生连接时,即可以在解决数据冲突后完成数据的同步。 d a t a s y n c 可以独立于支撑系统和应用独立使用,可以解决包括半结构化数 据在内的大多数数据源的复制,而且具备很强的数据转换能力。然而,因为基 于数据映射表的数据未序列化,也就是说数据变化日志仅记录了变化的数据, 不能保证正确地发现和解决了冲突。而且,它需要双倍的存储空间,在获取变 化数据时要扫描整个数据,因此效率较低。 s y n c k i t 主要为脱机事务处理系统服务,能够完成数据的对等复制。与 d a t a s y n c 不同的是,它依赖o d b c 驱动来捕获变化的数据:在接收到传过来 的s q l 语句时,更新数据库,同时记录查询到本地文件,在两数据端连接时完 成数据的同步。 s y n c k i t 由于通过o d b c 捕获数据变化,所以具有很好的移植性。但是, 对于通过a p i 操作完成s q l 查询的情况,o d b c 无法检测到数据变化。另外, 记录日志文件浪费系统资源,而且可能使系统非常不安全。 1 3 3 3 讨论 数据库厂商由于具备对自己数据库的彻底控制权,因而在实现数据复制时 具有较大的灵活性。这类数据复制的特点表现在: v 支持多种复制方式,如同步复制、增量复制、完全复制等: 支持数据的接收端修改收到的数据,并将修改情况反馈给发送端,在发 送端也进行相应的修改; 可以借用内部机制实现。如o r a c l e9 i 通过内部触发器实现增量复制, s q ls e r v e r2 0 0 0 通过事务日志实现增量复制; v 与自己对s q l 的扩充相结合,提供专门对复制的语言扩充。o r a c l e9 i 和s q ls e r v e r2 0 0 0 分别对p l s q l 和t s q l 进行了扩充,从而提供 13 塑堕型塑墅生兰i 燮兰一 兰二主堕篓 了针对数据复制的编程接口。 这类复制的缺点也较为明显: v ,由于其实现严重依赖内部机制,因而一般仅能用于自己专有的数据库系 统,别的数据库系统无法使用,也就是说不能完全解决异构问题; 即便能够支持异构数据源,其支持程度也相当有限,例如难以支持异构 数据源之间的增量复制等; 由于解决方案是静态的,而且缺乏用户接口,扩展性较差。 相对于数据库厂商解决方案,中间件方法具有以下优点: 因为独立于数据库系统本身,能够解决各种异构问题; 能够适应所有的主从和同步结构的复制; 能够提供丰富的a p i ,可扩展性好。 1 4 数据集成中间件h e t e r o d i 我们设计实现了基于中间件技术的数据集成系统h e t e m d i 。它是企业内部 或企业之间利用i n t r a n e t 或i n t e r n e t 进行数据集成的中间件,为异构数据源提供 包含提取、转换、传输和加载等操作在内的数据集成服务。 h e t e r o d 定义了一套全局模式,用来完成与包括主流关系数据库、x m l 文 件和关系文本在内的多种异构数据源的集成。在用户的部分参与下,h e t e r o d i 解决了大部分的数据冲突。 基于前述对对象请求代理中间件和面向消息中间件的比较,我们使用消息 中间件进行数据通信。h e t e r o d i 实现了基于m s m q 和a 2 e m q 的可靠数据传 递,并且扩展实现了基于f t p 以及e m a i l 等在内的多种传输方式,可以安全、 自动、方便、快捷地实现数据的复制和上传下达,完成基于数据的应用集成。 h e t e r o d i 能够完成数据的迁移,基于数据库触发器和快照方式实现了数据 的增量复制,任务的自动执行还可以完成数据的自动复制。 h e t e r o d i 实现了数据发送端和数据接收端的自治,既可以由发送端主动发 送数掘,也可以由接收端定义关联任务,主动拉过来自己需要的数据。 河南大学硕士学位论文 第一章绪论 1 5x m l 1 5 1x m l 概述 x m l 标记语言为描述结构化文本提供了一种开放标准,它不仅可以描述传统 的文本文件,也可以描述电子商务信息和关系数据库等复杂数据。h t m l 定义数 据的显示格式,而x m l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年版合同模板:房地产买卖合同
- 2025年关于信息系统集成的合同
- 2025年初级水质化验员考试试题及答案
- 年产电器塑料配件400万件、纸箱100万个新建项目环评报告表
- 2025年食品机械期末试卷及答案
- 港口物流智能化与港口物流技术创新对2025年港口竞争力提升的协同效应报告
- 锅炉配电知识培训课件
- 2025年助听器验配师考试试题及答案
- 2025餐饮服务员劳动合同版
- 土方工程塌方处理方案(3篇)
- 《祝福》(教学课件)- 统编版高中语文必修下册
- 生殖细胞的发生
- 数字谜02-三上08-乘除法填空格
- 七块红烧肉阅读题目和答案-七块红烧肉初中语文课外阅读专练-记叙文阅读及答案
- 托班育儿知识讲座
- 流体力学在化工中的应用
- 配件紧急供货应急方案
- JJG 443-2023燃油加油机(试行)
- 安全生产责任保险事故预防技术服务方案
- IPv6技术与应用(华三版)电子教案项目1-15教学设计
- 古代汉语教程张世禄简体字版
评论
0/150
提交评论