




已阅读5页,还剩80页未读, 继续免费阅读
(计算机科学与技术专业论文)主从服务模式异构数据库同步的研究与应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中文摘要 摘要 目前,随着信息化建设飞速发展,企业各部门都建立了自己的信息管理系统。 但是这些系统通常采用异构数据库并运行在不同平台之上,造成了企业的信息孤 岛。随着企业推行信息一体化,如何集成各个异构系统的数据信息,解决信息孤 岛,成为当前个亟待解决的问题。异构数据库同步作为解决数据信息集成的一 种有效途径,对其的研究也日益重要。 本文在对目前异构数据库同步方案进行深入研究之后,提出了一种主从服务 模式的异构数据库同步方案和一种动态s c h e m a 生成x m l 文档的方法。该方案采 用建立中心数据库作为异构数据共享平台,并利用x m l 、j a x w s 和q u a r t z 等技 术实现异构数据库同步,使方案具有松耦合性和跨平台性。动态s c h e m a 生成x m l 文档方法采用动态生成s c h e m a 文件作为映射模型,提高了系统的灵活性和可扩充 性。同时设计目标x m l 文档结构模仿数据库表结构,动态按实际需要生成目标 x m l 文档,提高了x m l 的解析效率,减小了x m l 文档的尺寸,降低了网络带宽 的负载。并对生成的x m l 文档提供了有效性验证,保证了从数据库到x m l 的映 射中异构数据格式转换的正确性,解决了异构数据库同步过程中的关键问题。 最后,将本方案应用于海事局船舶交通动态监控系统项目中,实现了中,i i , 数 据库( p o s t g r e s q l ) 同万州海事处( s q ls e r v e r ) 等部门的数据库之间的同步,完成了 海事局对内部异构数据信息集成的要求,验证了本方案的可行性和跨平台性。同 时,该方案也为目前信息集成提供了一种可选、有效的解决方法。 关键字:异构数据库同步;x m l ;x m ls c h e m a ;j a x - w s 英文摘要 a b s t r a c t a tp r e s e n t w i mt h er a p i dd e v e l o p m e n to fi n f o r m a t i o nt e c h n o l o g y , e n t e r p r i s e d e p a r t m e n t sh a v es e tu pt h e i ro w n i n f o r m a t i o nm a n a g e m e n ts y s t e m s h o w e v e r , t h e s e s y s t e m su s u a l l yu s eo fh e t e r o g e n e o u sd a t a b a s e sa n dr u no nd i f f e r e n tp l a t f o r m s ,w h i c h r e s u l t i n gi ni n f o r m a t i o ni s o l a t e di s l a n d so fe m e 印f i s e w i t ht h ei m p l e m e n t a t i o no f e n t e r p r i s e i n f o r m a t i o ni n t e g r a t i o n ,h o wt o i n t e g r a t e v a r i o u sh e t e r o g e n e o u sd a t a i n f o r m a t i o na n ds o l v et h ei n f o r m a t i o ni s o l a t i o n ,b e c o m ea ni s s u et h a tm u s tb ea d d r e s s e d 。 h e t e r o g e n e o u sd a t a b a s es y n c h r o n i z a t i o na s a ne f f e c t i v es o l u t i o no fi n f o r m a t i o n i n t e g r a t i o n ,r e s e a r c ho ni ti sa l s oi n c r e a s i n g l yi m p o r t a n t a f t e re x p l o r i n gt h ec u r r e n ts c h e m ao fh e t e r o g e n e o u sd a t a b a s es y n c h r o n i z a t i o ni n d e p t h ,t h i sp a p e rp u t sf o r w a r dm a s t e r - s l a v es e r v i c em o d eo fh e t e r o g e n e o u sd a t a b a s e s y n c h r o n i z a t i o ns c h e m aa n da m e t h o do fg e n e r a t ex m ld o c u m e n tb yd y n a m i cs c h e m a t h es c h e m ae s t a b i i s hac e n t r a ld a t a b a s ea st h ep l a t f o r mf o rh e t e r o g e n e o u sd a t as h a r i n g a n du s eo fx m l ,j a x - w sa n dq u a r t zt e c h n o l o g i e st oa c h i e v eh e t e r o g e n e o u sd a t a b a s e s y n c h r o n i z a t i o n ,s ot h es c h e m ah a sal o o s e l yc o u p l e da n dc r o s s p l a t f o r mn a t u r e t h e m e t h o do fg e n e r a t ex m ld o c u m e n t sb yd y n a m i cs c h e m au s et h es c h e m ai sg e n e r a t e d b yd y n a m i ca sm a p p i n gm o d e l ,i m p r o v et h es y s t e m sf l e x i b i l i t ya n ds c a l a b i l i t y a tt h e s a m et i m e ,x m ld o c u m e n ts t r u c t u r ed e s i g n e dt oi m i t a t et h es t r u c t u r eo fd a t a b a s et a b l e s , t h ed y n a m i cg e n e r a t et a r g e tx m ld o c u m e n tb yt h ea c t u a ln e e d s ,i m p r o v et h ee f f i c i e n c y o fx m la n a l y s i s ,r e d u c et h es i z eo fx m ld o c u m e n t s ,r e d u c i n gt h el o a do nn e t w o r k b a n d w i d t h p r o v i d e dv a l i d a t i o nt ox m ld o c u m e n t sg e n e r a t e da n de n s u r et h a tf r o mt h e d a t a b a s et ox m lm a p p i n gi nh e t e r o g e n e o u sd a t af o r m a tc o n v e r s i o ni sc o r r e c t ,s o l o v e t h ek e yi s s u ei nt h ep r o c e s so fh e t e r o g e n e o u sd a t a b a s es y n c h r o n i z a t i o n f i n a l l y , m a k et h es c h e m aa p p l i e dt ov e s s e lt r a f f i cd y n a m i cm o n i t o r i n gs y s t e mo f m a r i n eb u r e a u ,r e a l i z e dt h ec e n t r a ld a t a b a s e ( p o s t g r e s q l ) s y n c h r o n i z e dw i t ht h e d a t a b a s e ( s q ls e r v e r ) o ft h em a r i n ed e p a r t m e n to fw a n z h o ua n do t h e rd e p a r t m e n t s d a t a b a s e ,a c h i e v 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 nr e q u i r e m e n t so ft h em a r i n eb u r e a u i n t e m a l ,v e r i f i e dt h es c h e m ai sf e a s i b l ea n dc r o s s - p l a t f o r m a tt h es a m et i m e ,t h es c h e m a a l s op r o v i d e do p t i o n a la n de f f e c t i v es o l u t i o nf o rt h ec u r r e n ti n f o r m a t i o ni n t e g r a t i o n 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 es y n c h r o n i z a t i o n ;x m l ;j a x w s 大连海事大学学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:本论文是在导师的指导下,独立进行研究工作所取得的成果, 撰写成博硕士学位论文= = 圭丛题签撞基显塑麴握庄园垄的婴塞复座旦: 。除 论文中已经注明引用的内容外,对论文的研究做出重要贡献的个人和集体,均已 在文中以明确方式标明。本论文中不包含任何未加明确注明的其他个人或集体己 经公开发表或未公开发表的成果。本声明的法律责任由本人承担。 学位论文作者签名:塑 学位论文版权使用授权书 本学位论文作者及指导教师完全了解大连海事大学有关保留、使用研究生学 位论文的规定,即:大连海事大学有权保留并向国家有关部门或机构送交学位论 文的复印件和电子版,允许论文被查阅和借阅。本人授权大连海事大学可以将本 学位论文的全部或部分内容编入有关数据库进行检索,也可采用影印、缩印或扫 描等复制手段保存和汇编学位论文。同意将本学位论文收录到中国优秀博硕士 学位论文全文数据库( 中国学术期刊( 光盘版) 电子杂志社) 、 中国学位论 文全文数据库( 中国科学技术信息研究所) 等数据库中,并以电子出版物形式 出版发行和提供信息服务。保密的论文在解密后遵守此规定。 本学位论文属于:保密口在年解密后适用本授权书。 不保密口( 请在以上方框内打“4 ” ) 论文作者签名: 掺 谚名:币 日期:年月 加vl钐日 多 主从服务模式异构数据库同步的研究与应用 第1 章绪论 1 1 研究背景 如今,互联网技术飞速发展,信息化建设日新月异,企业中的各个部门都建 立了自己的信息系统。这些系统不但降低了企业内部的管理投入,同时也提高了 工作效率。但是在企业迈向信息化的过程中又都普遍暴露出了如下的问题:由于企 业各部门的信息系统是逐步建立起来的,并且这些系统都是在不同时间由不同软 件公司开发的,采用的平台都各不相同,形式上是一个个孤立的系统,因此不可 避免地造成了异构数据库并存的局面,异质异构的数据越来越多。随着企业信息 化建设的逐步深入,部门之间产生了在这些已运行的、异构的数据库之间互通数 据的要求,而将这些已存在的系统完全集成为一个分布式数据库非常困难甚至是 不可能的。现在,有些学者将这种问题称为企业中的信息孤岛。所谓“信息孤岛” 就是指信息跨部门、跨行业的沟通存在障碍,如图1 1 。 图1 1 信息孤岛 f i g 1 1i n f o r m a t i o ni s l a n d s 显然“信息孤岛”使得企业大量的信息资源不能充分发挥应有的作用,效率 及效益不能最大化,不能满足企业发展的要求。如何有效集成这些异构信息,解 决“信息孤岛”显得亟不可待。异构数据库同步作为实现信息集成的一种解决方 法,对其的研究显得日益重要。然而,在目前对异构数据库数据同步的研究中, 第1 章绪论 有两大问题一直困扰着人们对“信息孤岛”问题的解决。首先是各个异构数据库 之间该采取何种类型的同步方案,这也是异构数据库同步工作能否顺利进行的前 提。其次是在同步过程中如何有效的解决异构数据格式的转换,鉴于每种数据库 都有自己特定的数据表示格式,当一种数据库的数据要加载到另一种数据库中时, 能否准确、高效的解决这种不同数据库平台间的异构数据格式的转换,将是异构 数据库同步工作能够完成的重要保证。为此,加强对这两部分的研究工作显得都 非常有意义。 1 2 研究现状 随着信息化建设越来越被重视,对解决“信息孤岛”问题的呼声越来越高, 数据库同步和异构数据库领域的许多专家学者都着手进行深入的研究。作为两个 领域的结合点,同构数据库同步在他们的许多重要文献中都有所涉及,但对数据 库同步和异构数据库两者结合的由于研究时间相对较短,目前还很少见到有对异 构数据库同步进行系统而深入的研究的成果。相比之下,产业界对异构数据库同 步的兴趣要浓厚得多,也进入的早。他们不但取得了不少技术成果,而且其中一 些己经被广泛地实际应用。 1 2 1 国外研究现状 目前,国外的一些大型数据库厂商在其主流数据库产品同构同步的基础上, 进一步提出了各自的异构数据库同步解决方案,即在异构数据库间,对变化的数 据采用数据复制等相关技术。其中: l 、o r a c l e 主张通过数据库转换器( o r a c l et r a n s f o r mg a t e w a y ) 来实现异构数据 库同步【l 】,它的同步是对称的。该方案的优点是:实现简单,整体性程度高;其缺 点在于:该方案只能用于主从式的异构同步,且同步的数据规模不能太大,流程也 不能太复杂,实时性功能很差。 2 、d b 2 使用c c d ( c o n s i s t e n tc h a n g ed a t a ) 表来实现异构数据库同步【2 1 ,只要 按要求建立c c d 表,就可以实现从i b m 数据库到非i b m 数据库的复制。该方案 的优点是:支持面广,提供的复制数据字典非常完善,因而它的模式转换功能优于 其它数据库厂商。它的缺点是:对对等式复制支持有限,占用较多系统资源,要建 立和维护c c d 表不容易,实现较为复杂。 主从服务模式异构数据库同步的研究与应用 3 、s y b a s e 利用l t m ( l o gt r a n s f e rm a l l a g e r ) 来实现异构同步【3 】,l t m 是一个在 源节点检测数据库日志的进程或线程。该方案的优点是:实现比较容易,适用范围 广,且易于移植。它的缺点是:该方案只支持主从式的异构同步,缺乏选时、调度 等方面的选择,需要事先人工规划网络路径,同进对网络质量要求较高。 4 、s q ls e r v e r 提出出版者预订者方案 4 1 。该方案的同步方式最全面,不但有 解决对等式复制的合并复制,还有用于同步复制的选项,该方案的框架和构造规 范、明确。但是该方案也有缺陷:必须由s q ls e r v e r 服务器担任分发器角色,只能 在n t 平台上运行,涉及到的因素比较多,实现比较麻烦。 此外,一些软件开发商也开发出众多具有异构数据库同步功能的软件和产品, 获得了市场上的普遍认同。比较著名的有p e e r d i r e c t 的p d r e 、s y n c h r o l o g i c 的 s y n c k i t 、s y w a r e 的d a t a s y n c 等,它们分别是同一类型中的佼佼者。 1 2 2 国内研究现状 在国内,对同构数据库同步研究相对较多,但对异构数据库同步的研究与国 外相比还存在一定的差距,只在些文献中能发现部分相关的内容,其中比较有 名的系统有: 1 、中国人民大学的金仓数据库系统( k i n g b a s e ) f 5 】【6 】,它对数据库同步的理论和 实现进行了研究,提出基于版本号的同步冲突检测及解决策略、简单的复制权限 控制等。 2 、东南大学的g a l a x y 系统【7 1 ,它对包括数据库系统、w 曲文件、文本等在 内的各种异构数据源的集成、转换及查询优化等方面作了较全面的分析研究。 3 、国防科技大学的t t r 【8 1 ,它提出了面向移动领域的t t r ,是一个由服务 器级复制、中间复制和客户级缓存组成的三级复制体系结构来最终实现数据同步。 4 、中科院软件所对象技术中心承担的“石化应用软件示范工程 【9 j ,它利用 消息中间件i s m q 实现了实时数据库环境下的数据同步。 应该说,上述这些方案和软件在不同方面都各有所长,对同构数据库同步来 说还是可以的,但其缺点也同时存在,特别是对异构数据库的支持方面。尽管它 们都在不断提高和改进,但由于彼此间的兼容性较差而不能互相取长补短,总体 说来目前的状况不能让用户满意。 第1 章绪论 1 3 研究目的和内容 本课题的研究以重庆海事局v t s 信息一体化建设过程中,对万州、巫山海事 处以及重庆海事局内部各个部门之间要求实现各个异构数据库同步,最终实现信 息共享为应用背景。对万州、巫山海事处以及重庆海事局内部各个部门的数据库 结构和部署情况进行了详细的分析,对现存的异构数据库同步问题的解决方案进 行了系统研究,最终从该单位自身需求情况出发提出了采取“主从服务模式的异 构数据库同步方案”,并对该方案进行设计和实现。研究内容主要有以下几点: 1 、异构数据库同步相关问题及原理的研究。 2 、主从服务模式异构数据库同步方案的提出。 3 、动态s c h e m a 生成x m l 文档方法的提出及实现。 4 、方案实现中所涉及关键技术研究。 5 、采用作业调度功能使企业能灵活的对同步工作执行定时操作。 6 、方案在重庆海事局中的运用与实现。 7 、方案实施运行的结果分析。 1 4 论文组织结构 第一章绪论。介绍本文的研究背景、研究现状以及本文研究的主要内容。 第二章异构数据库同步原理概述。 第三章动态s c h e m a 产生x m l 文档。介绍了x m l 的相关知识,提出采用动 态s c h e m a 生成x m l 文档方法,并详细介绍了该方法。 第四章主从服务模式异构数据库同步方案。提出采取主从服务模式异构数据 库同步方案,并对中间数据的处理和传输进行了详细的介绍。 第五章主从服务模式的异构数据库同步方案的应用。结合重庆海事局v t s 项目,对方案进行了应用、验证以及运行结果分析。 第六章总结与展望。对全文的研究工作及以后的研究方向作了总结与展望。 1 5 本章小结 本章首先对本课题的研究背景和研究现状进行了概述与分析,对研究的内容 和目的进行了简单的介绍,最后给出本文的组织结构。 主从服务模式异构数据库同步的研究与应用 第2 章异构数据库同步原理概述 2 1 异构数据库相关概念 2 1 1 数据库原理 数据库系统是实现有组织地、动态地存储大量关联数据,支持多用户访问的 计算机软、硬件资源及d b a 组成的系统,具有自包含性,提供对完整性、安全性、 并发和恢复四个方面的数据控制,具有较强的数据独立性和抽象能力【10 1 。 数据库作为一种提供共享数据服务的系统,在支持用户并发访问数据的同时, 必须保证数据访问的正确性和可靠性。在数据库中将包含有数据库操作的程序的 一次执行称作一个数据库事务,这些操作要么全做,要么全不做,是一个不可分 割的工作单位【1 1 1 。事务具有的重要特性包括: 1 、原子性( a t o m i c i t y ) :事务是数据库的逻辑工作单位,事务中包括的诸操作要 么全做,要么全不做。 2 、持续性( d u r a b i l i t y ) :持续性也称为永久性( p e r m a n e n c e ) ,指个事务旦 提交,它对数据库中的数据的改变就应该是永久的,接下来的其他操作或故障不 应该对其执行结果有任何影响。 3 、一致性( c o n s i s t e n c y ) :事务执行的结果必须是使数据库从一个致性状态转 变到另一个一致性状态。 4 、隔离性( i s o l a t i o n ) :一个事务的执行不能被其他事务干扰。即个事务内部 的操作及使用的数据对其他并发事务是隔离的,并发执行的事务间不能互相干扰。 2 1 2 异构数据库概念 1 、异构数据定义 异构数据是一个含义丰富的概念,它指涉及同一类型但在处理方法上存在各 种差异的数据。在内容上,不仅可以是不同的数据库系统之间的数据是异构的, 如p o s t g r e s q l 和s q ls e r v e r 数据库中的数据,而且可以是不同结构的数据之间的 异构,如结构化的s q ls e r v e r 数据库数据和半结构化的x m l 数据【1 2 1 。 2 、异构数据库概念 异构数据库系统是相关的多个数据库系统的集合,实现不同数据库之间数据 第2 章异构数据库同步原理概述 信息资源、软硬件设备资源和人力资源的合并和共享,为各种系统提供集成的、 统一的、安全的、快捷的信息查询、数据挖掘和决策支持等服务,达到异构数据 的共享和透明访问。每个数据库系统在加入异构数库系统之前本身就已经存在, 拥有自己的d b m s ,有自身的自治性。实现数据共享的同时,每个数据库系统仍 保有自己的应用特性、完整性控制和安全性控制。异构性主要体现在以下三方面: ( 1 ) 计算机系统结构的异构。即参与整个系统的数据库可以分别运行在大型 机、小型机、工作站、p c 或嵌入式系统中。 ( 2 ) 基础操作系统的异构。即各个数据库系统的基础操作系统可以是u n i x 、 w i n d o w sn t 、l i n u x 等。 ( 3 ) d b m s 本身的异构。即可以同为关系型数据库系统的o r a c l e 、s q ls e r v e r 等,也可以是不同数据库模型的数据库共同组成的一个异构数据库系统。 2 2 异构数据库同步分类 同步是将当前状态的最终结果数据回传到相关结点,并更新对应的数据以维 护数据的统一性,忽略事务的执行过程细节【l3 1 。数据库同步有不同的分类方法, 按照同步方向划分为单向( u n i d i r e c t i o n a l ) 同步和双( f i ( h i d i r e c t i o n a l ) 同步,按照实 时性要求不同可以划分为实时( s y n c h r o n o u s ) 同步和异时( a s y n c h r o n o u s ) 同步【1 4 】。 单向同步,指的是只从一个结点向另一个结点进行同步,源结点保存同步对 象,目标结点保存同步对象的副本,源结点中数据对象具有可读写的特性,目标 结点中的数据对象只具有可读的特性,从而预防了更新冲突的发生i l ”。 双向同步指的是两个同步结点之间可以互相复制,复制结点既是源结点也是 目标结点。源结点和目标结点上的同步对象都是可读可写的。在分布式环境下可 能对同一复制对象同时进行修改,所以在理论上存在冲突的可能性。 实时同步是指数据在任何时间在任何同步节点均保持一致。如果同步环境中 的任何一个节点的同步数据发生了更新操作,该变化将反映到它所有的同步节点。 异时同步是指所有同步节点的数据在一定时间内不是同步的【1 6 】【1 7 】。这种间隔可 以是几秒、几分钟、几小时或者几天,但最终将保证所有同步节点间的数据一致。 2 3 异构数据库同步过程 在完成异构数据库同步过程中一般都要经过捕获差异数据、异构数据格式转 主从服务模式异构数据库同步的研究与应用 换和数据传输三个步骤,下面将详细介绍这三个步骤。 2 3 1 捕获差异数据 无论是同构数据库,还是异构数据库之间的同步,在完成它们的同步之前, 不可避免的需要捕获变化的数据,即待同步的数据。不同种类的数据捕获技术在 生成待同步数据的能力方面上有所不同,常用的数据捕获技术如下。 l 、快照法 快, n , , ( s n a p s h o t ) 是在某一时刻将数据库中存储对象的状态存储下来,构成当前 数据库的一个映像文件,将此映像文件作为同步数据,用来更新其他的数据库。 其实现简单,它不需依赖特别的机制,也不占用系统资源,通常在崩溃恢复时采 用。由于快照法生成完全拷贝的同步数据,因此效率很低,应用的范围也比较小【1 8 】。 图2 1 基于快照法 f i g 2 1m e t h o do fb a s e do nt h es n a p s h o t 2 、触发器法 触发器是一种特殊类型的存储过程。当使用u p d a t e 、i n s e r t 或d e l e t e 对指定数据表中数据进行操作时,触发器就会生效,捕获这些操作,通过分析操 作的相关信息,可以在触发器中定义复杂的业务规则。如图2 2 所示。 图2 2 触发器数据捕捉方式 f i g 2 2t r i g g e rd a t ac a p t u r em o d e 7 第2 章异构数据库同步原理概述 触发器法避免了不必要的数据传输,克服了基于快照法的主要缺点,大大提 高了效率,可以用于单向同步和双向同步。但是触发器机制需要数据库系统的支 持,对不同操作类型需要设置不同的触发器脚本,给系统维护和变更带来了不便。 3 、日志法 数据库日志完整记录了数据库系统运行的状态,包含了所有完成的数据库操 作信息。日志法就是通过分析数据库日志获得历史操作信息来获得同步数据,对 任何的同步都适用,既能提高效率又可以保证数据的完整性,并为同步提供详细 的控制信息。但日志法也存在如下不足:首先,大多数的数据库系统都不会公开其 日志的格式和操作接口,除非得到数据库厂商帮助,否则分析日志的格式比较困 难;其次,同步所需的内容在日志中是否完整包含无法得到保证,分析不同数据 库系统的日志文件也给实现异构数据库同步带来很大的难度;最后,日志通常以 文件形式存在,在数据库系统运行时进行文件的操作无法保证一定满足数据独立 性,隔离性等特性,不加以处理往往会出现数据丢失等问题【j9 1 。 图2 3 基于日志法 f i g 2 3m e t h o do fb a s e do nt h el o g 4 、a p i 法 a p i 法是在应用程序和数据库间添加一中间件,应用程序对数据库访问都通过 中间件进行,如o d b c ,j d b c 驱动程序,通过在驱动程序中记录操作信息来获得 同步数据。a p i 法能够实现日志法的大多数优点,并不需要过多数据库厂商的支持, 可以给异构数据库同步带来便利。但a p i 法也存在缺陷:首先,那些不经过中间件 进行的操作,若直接通过数据库管理程序进行数据操作时所引起的数据变化将无 法捕捉到,这决定了完全基于a p i 法进行数据捕获在实际运用中会遇到很大的问 题;其次,开发中间件驱动程序代价比较大,涉及的内容较多【2 0 】。 8 主从服务模式异构数据库同步的研究与应用 5 、影子表法 影子表法就是为当前数据库中的所有表构建一个影子表,初始化时将原表中 的信息同步到影子表中,在同步数据时将数据库表中的值与影子表中的值进行比 较获得同步数据。这种方法不保存中间操作数据,可以提高数据传输的效率,管 理也相对简单,但仍需要一倍的存储空间,而且不能实现实时同步,在获得同步 数据时需要完整扫描数据库表和影子表,效率不是很高,特别是数据表较多时1 2 1 1 。 6 、控制表变化法 控制表变化( c o n t r o lt a b l ec h a n g e ) 法就是创建一张包含同步源表的主键字段 和一些控制信息字段的控制表,当同步表中的记录发生变化时,则修改控制表中 相应关键字的记录,在控制信息字段中记录变化的情况,这一过程可以通过触发 器,中间件来实现,同步数据可以根据控制表中记录的变化情况生成1 2 2 1 。 影子表 图2 4 控制表变化法 f i g 2 4m e t h o do fc o n t r o lt a b l ec h a n g e s 通过控制表变化法得到的同步数据是数据库的净变化,效率较高,空间占用 方面也较小。控制表变化法可适用于除同步复制以外的各种同步形式【2 3 1 。 上述的六种数据捕获方法各有优缺点,需要结合应用场合加以运用。在需要 实时同步的场合就需要能够实时捕获数据变化,如触发器法,a p i 法;在数据库不 支持触发器的情况下,有些捕获方法实现就存在一定的问题,如控制表变化法; 运用不同的捕获方法还需要综合考虑占用资源,异构同步,移植性等方面的因素。 第2 章异构数据库同步原理概述 2 。3 。2 异构数据格式转换 在异构数据库同步过程中,由于源数据库系统中的数据可能与目的数据库中 的数据类型定义不同,必须解决异构数据格式数据转换问题。然而,要实现严格 的等价转换是比较困难的,因为在两种模型中可能存在如下冲突【2 4 1 : 1 、命名冲突。即源模型中标识符可能是目的模型中的保留字,需要重新命名; 2 、格式冲突。即同一种数据类型可能有不同的表示方法和语言差异,这罩需 要定义两种模型之间的变换函数; 3 、结构冲突。即如果两种数据库系统之间的数据定义模型不同,如为关系模 型和层次模型,那么需要重新定义表属性和联系,以防止属性和联系信息的丢失: 4 、类型冲突。即不同数据库的同一种数据类型存在精度之间的差异。 同时,在从源数据库模式到目的数据库的信息转换中又不能包含冗余的关联 信息。为了实现在异构环境中的信息交流和共享,人们采用了诸多方法来实现异 构环境的转换处理。传统的转换方式有以下_ - - 种t 2 6 1 : l 、利用数据库厂商的专业工具。目前很多数据库厂家都提供专门的数据转换 工具,专用数据工具具有考虑充分,构造完备的特点,但造价高、使用面较窄。 2 、利用前台开发工具。通过对不同数据库采用不同接i z i ( o d b c 或专用接口) 的形式同时支持多种数据库,实现前台开发工具和后台数据库间的连接。采用这 种方法将会涉及到大量的编码,对数据资源的重用和移植都很差,灵活性不足, 会增加整个系统的硬件和软件成本,同时系统的维护工作量也将大大增加。 3 、用动态s q l 语句。动态s q l 语句方法灵活多变,适用面广,但实现复杂, 需编制可视界面,对于关系型数据库在数据量较小时可以利用此方法。 由上可知,传统转换方式主要缺点是没有一个有效的公共数据模型统一描述 关系模式及关系。x m l 的出现完美地解决了这个问题:x m l 的纯文本、与平台无 关性首先满足解决异构数据源所需要的跨平台性;x m l 的强大的结构性和良好的 语义性满足了表达关系数据库的结构和各种约束的需要:x m l 优良的交互性为转 换带来了方便,使得数据易于操纵;x m l 的易于扩展性使得应用可以进一步扩展: 目前,x m l 技术已经逐渐开始应用于异构数据库的数据转换,并且已成为事 实上的数据交换标准,以x m l 为公共数据模型在异构数据库间转换也为关系数据 库与其它数据类型的集成与同步提供了便利。 主从服务模式异构数据库同步的研究与应用 2 3 3 数据传输 数据传输,就是把数据从源数据库端转移到目的数据库端,实现异构数据库 间的通信。目前针对这一问题常用的解决方案如下1 2 : d c o m ( d i s t r i b u t e dc o m p o n e n to b j e c tm o d e l ,分布式组件对象模型) ,提供 了一个紧密藕合的组件模型系统,允许客户程序对位于远程网络位置中的对象进 行调用。这是通过调用一个服务控制管理器( s e r v i c ec o n t r o lm a n a g e r ,s c m ) 或者一 个系统注册库查找对象的位置来完成的。通过d c o m 所提供的功能,基于c o m 的应用程序的维护以及对应用程序开发的一个分层解决方案的集成变得更加容 易。d c o m 客户端通过使用一个代理初始化一个到远程对象的连接。在获得了对 这个对象的引用之后,客户端发送p i n g 消息告诉对象( 客户端) 仍然处于消费者状 态( 客户端正在使用的对象) 。随着通过网络发送p i n g 消息的客户端数量的增长, 这就会引起扩展性问题。对于防火墙,若管理员没有打开用来传递d c o m 调度调 用的端口,调用可能会被禁止,因此会在到达期望的接收方对象之前失败。d c o m 还依靠状态管理来获知一个特定的客户端在何时不再连接( p i n g 机制) 。这使得在一 个无状态区域,例如w e b 中,使用它变得更加困难。 c o r b a ( c o m m o no b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e ,公共对象请求代理体系 结构) ,提供了另一种从客户端调用远程对象的方法。同d c o m 一样,c o r b a 也 是基于连接的,使得它的扩展性也比较差,而且更难于在一个无状态网络环境下 使用。一般而言,c o r b a 的工作方式是这样的,它通过线路发送一个l o c a t er e q u e s t 消息( t c p i p 有线传输使用i i o p ) 给一个称为o r b 信息存储库来确定一个对象的位 置。在确定了这个位置之后,就可以在客户端和远程对象之间进行直接通信了。 虽然在各种不同系统中存在o r b 的多种实现,c o r b a 如同d c o m 样,也存在 着限制在个平台中立环境下良好运行的众多问题。 j a v a r m i ( j a v ar e m o t em e t h o di n v o c a t i o n ,j a v a 远程方法调用) ,以一种类 似于d c o m 和c o r b a 的方式工作,它连接一个拥有远程对象的客户端并使用一 个分布式对象结构运行。对象的位置是通过调用一个r m i 注册库来找到的。这个 注册库必须被客户端所了解,并且在网络中有一个指定的位置。当找到了远程对 象的位置之后,客户端就可以下载一个用来访问这个对象的存根( s t u b ) 。在将这个 存根下载到客户端之后,就可以获得对这个对象的属性和方法的访问权限。与 第2 章异构数据库同步原理概述 d c o m 和c o r b a 相比,j a v a r m i 被证明是一种更具扩展性的方案,因为它能够 使用h t t p 隧道技术。然而,因为它集成于j a v a 语言中,因此并没有给出一种向 用其它语言编写的客户端展示服务的最优方案。 w e bs e r v i c e 是创建可互操作的分布式应用程序的新平台,其主要目标是跨平 台的可互操作性。w e bs e r v i c e 完全基于x m l 等独立于平台及软件供应商的标准。 典型的w e bs e r v i c e 模型中有三种角色:服务提供者、服务请求者和服务注册中心。 w e bs e r v i c e 体系结构基于三种角色之间的交互,交互涉及发布、查找和绑定操作。 在典型情况下,服务提供者托管可通过网络访问的软件模块( w e b 服务的一个实 现) 。服务提供者定义w e bs e r v i c e 的服务描述并把它发布到服务请求者或服务注册 中心。服务请求者使用查找操作来从本地或服务注册中心检索服务描述,然后使 用服务描述与服务提供者进行绑定就可以调用w e b 服务实现或同它交互。w e b s e r v i c e 将绑定到h t t p 协议的s o a p 消息用于通信,而所有的防火墙都对h 郇协议 开放8 0 端口,因此w e bs e r v i c e 最适合用于开发跨平台和跨网络进行通信的程序, 是企业信息集成的最佳解决方梨2 8 1 2 9 。 2 4 异构数据库同步方法比较 异构数据库同步的最终目标要求对数据库资源实现最大化利用,并强调通用 性和开放性,近年来发展起来的同步解决方法主要有以下四种: 1 、用户交互接口法1 3 0 】 各种异构数据库都建立用户交互接口,该方法实现简单,但用户不能透明访 问数据,而且增加新的异构型数据库时,必须增加新的结构,系统扩充性较差。 2 、联邦数据库系统p i j 此方法是指企业由多个在不同结点上松散藕合分布的自治异构的数据库系统 构成,其中每个数据库的操作是独立于其他数据库和联邦的,联邦中的所有数据 库都添加了彼此访问的接口,通常小型企业采用这种的方案。这种方法具有以下 优点:首先,各个数据库既可以主动的将本身数据库的变化以“推”的方式传递到 其他数据库中,也可以由别的数据库主动发出查询最新信息的请求,实施起来相 对灵活。其次,任何两个数据库之间可以直接通信,两个数据库间直接查询效率 较高,所以当异构数据库数量较少时采用这种方法比较适合。但是这种方案由于 主从服务模式异构数据库同步的研究与应用 本身特殊的物理结构和逻辑结构,存在着以下不足: ( 1 ) 数据库间的访问接口需要人工编程定义,若n 个数据库两两之间都要进 行交互,则需要写n ( n 1 ) 个接1 2 1 来支持,极为费时费力,并且访问复杂度为o f n 2 ) 。 ( 2 ) 添加新数据源时,需建立与所有已有数据库的访问接口,可扩充性较低。 图2 5 联邦异构数据库同步结构 f i g 2 5t h ef e d e r a ls t r u c t u r eo f h e t e r o g e n e o u sd a t a b a s e ss y n c h r o n i z a t i o n 3 、中间件法【3 2 】 针对联邦数据库系统的不足并借鉴其的优点,可以将多个异构数据库互访的 过程转化为通过标准中间件的统一接1 2 1 ,为系统提供统一的公共模式来实现。这 种方案大大降低了交互的复杂度,也为系统的扩展提供了方便,但是这种中间件 开发过程相当复杂,周期较长,一般由大型数据库厂商开发,实际使用的比较少。 图2 6 中间件法 f i g 2 6t h em e t h o do fm i d d l e w a r e 第2 章异构数据库同步原理概述 4 、星型数据库系统【3 3 】 此方法中各个数据库采用星型结构相连接,整个异构数据库系统中包含一个 中央节点和多个叶子节点,叶子节点只与中央节点连接。中央节点和叶子节点逻 辑上相互独立。在物理结构上,中央节点保存叶子节点交互所需的表,中央节点 和叶子节点同步可以直接进行,叶子节点间的数据库同步需要通过中央节点中转。 图2 7 星型数据库系统 f i g 2 7d a t a b a s e ss y s t e mh u b - a n d s p o k e 这种方法相比前两种方法有所改进:首先,叶子节点之间不用建立访问接口, 只需要和中央节点建立访问接口,因此n 个数据库的交互复杂度为o ( n ) ;其次, 叶子节点通过中央节点进行通信,减少了叶子节点直接相互访问的频率,安全性 有所提高。但是,该方法由于其自身结构的特性,也存在如下不足: ( 1 ) 中央节点在负责自己业务需求的同时,还要负责所有叶子节点之间的通信 中转,随着叶子节点数量的增加,通信频率增大,会造成中央节点负载过大。 ( 2 ) 由于加入了通信的“中转”,两个叶子节点之间的通信效率与前两种方法 相比可能会有所下降,因此这种方案不适合叶子节点较少的情况。 2 5 本章小结 本章首先介绍了数据库的相关知识,对异构数据的概念进行了简单的介绍, 然后详细介绍了异构数据库同步的分类和完成异构数据库的数据同步一般要经历 的三个步骤:捕获差异数据、异构数据格式转换和数据传输。最后对目前异构数据 库同步方法进行了介绍和深入分析。本文在下一章将详细介绍异构数据转换过程 中的关键技术,并提出“动态s c h e m a 生成x m l 文档”方法。 主从服务模式异构数据库同步的研究与应用 第3 章动态s c h e m a 生成x m l 文档 在异构数据库同步过程中,一个核心问题是如何从异地数据源取得所需的数 据以x m l 文档的形式传回到本地进行解析、添加到本地数据库中。本章通过对现 存的从关系数据库到x m l 文档映射时所采用的方法进行深入研究,提出采用动态 s c h e m a 生成x m l 文档的方法来完成这个映射过程,并对该方法进行了详细介绍。 3 1x m l 技术简介 l 、x j v l 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 ,可扩展标记语言) ,以一种开放的自我描 述方式定义数据结构,在描述数据内容的同时能突出对结构的描述,从而体现数 据之间的关系。随着i n t e r n e t 和x m l 技术的发展,x m l 凭借可扩展性、结构性、 语义性、纯文本、易于处理、与平台无关和自描述性等方面的优势,已经成为i n t e r n e
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司安全员常识培训及答案
- 长沙音乐中考模拟试题及答案
- 2025年定制旅游考试题及答案
- 2025年英语语调考试题及答案
- 2025年景观材料考试题及答案
- 2025解除劳动合同协议书格式样本
- 2025年临床执业医师测试卷含完整答案详解(全优)
- 2025YY年公司员工合同协议
- 2024-2025学年执业兽医考试综合练习带答案详解(新)
- 2025年四川省《存量房租赁合同》示范文本
- 药品发放登记管理制度
- 临床科室科研管理制度
- 铁艺围栏采购合同
- 中国皮肤基底细胞癌诊疗指南2023
- 铁路信号设计与施工铁路信号电缆配线09课件
- 卫星通信技术在电力行业中的应用场景分析
- 黄旭华人物介绍
- 《医疗机构工作人员廉洁从业九项准则》解读
- 教育行业重难点分析及解决措施
- 合伙开工厂 合同范例
- 万达2024年连锁商业体合作伙伴协议3篇
评论
0/150
提交评论