




已阅读5页,还剩58页未读, 继续免费阅读
(计算机科学与技术专业论文)基于javaxml的分布式数据同步系统的设计和实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
jfl j、 t h ed e s i g na n di m p l e m e n t a t i o no f d i s t r i b u t e dd a t as y n c h r o n i z a t i o ns y s t e m b a s e do nj a v aa n dx m l at h e s i ss u b m i t t e dt o d a l i a nm a r i t i m eu n i v e r s i t y i np a r t i a lf u l f i l l m e n to ft h er e q u i r e m e n t sf o rt h ed e g r e eo f m a s t e ro fe n g i n e e r i n g b y x ur u i x u e ( c o m p u t e r s o f t w a r ea n dt h e o r y ) t h e s i ss u p e r v i s o r :p r o f e s s o r z h a n g w e i s h i j u l y 2 0 1 1 舢8胛8 舢669 删8舢1舢丫 、。01tj 鼻i 一 一 _ l l ? 庵 , 大连海事大学学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:本论文是在导师的指导下,独立进行研究工作所取得的成果, 撰写成博硕士学位论文“基于j a v a x m l 的分布式数据同步系统的设计和实现 。 除论文中已经注明引用的内容外,对论文的研究做出重要贡献的个人和集体,均 已在文中以明确方式标明。本论文中不包含任何未加明确注明的其他个人或集体 已经公开发表或未公开发表的成果。本声明的法律责任由本人承担。 学位论文作者签名:盆盗窒 学位论文版权使用授权书 本学位论文作者及指导教师完全了解大连海事大学有关保留、使用研究生学 位论文的规定,即:大连海事大学有权保留并向国家有关部门或机构送交学位论 文的复印件和电子版,允许论文被查阅和借阅。本人授权大连海事大学可以将本 学位论文的全部或部分内容编入有关数据库进行检索,也可采用影印、缩印或扫 描等复制手段保存和汇编学位论文。同意将本学位论文收录到中国优秀博硕士 学位论文全文数据库( 中国学术期刊( 光盘版) 电子杂志社) 、中国学位论 文全文数据库( 中国科学技术信息研究所) 等数据库中,并以电子出版物形式 出版发行和提供信息服务。保密的论文在解密后遵守此规定。 本学位论文属于:保密口在年解密后适用本授权书。 不保密口( 请在以上方框内打“”) :徐却鸟名:罗p 胆 日期:训年7 月z 日 , l 眨;i 中文摘要 摘要 数据同步的存在是因为计算机在存储数据的时候,不同的存储介质读写效率 有较大差别,在读取数据的时候,系统会查看读写速度快的存储介质中是否有该 数据的备份,如果有则可以直接读取这个备份。这样系统可以减少对外存的访问, 大大提高系统性能。根据以上原理,数据同步技术可以帮助企业解决如何提高苤 一,一, 统整体性能的问题。企业的信息系统可以设计成由中心服务器和查询服务器组成。 根据特别的业务需求,中心服务器只负责客户终端的增加、删除、修改操作,查 询服务器只负责客户终端的查询操作。通过数据同步技术实现中心服务器和查询 服务器的数据一致。在客户端读数据的过程中,直接访问查询服务器。这种方法 极大的减小了中心服务器的负担,提升了系统的整体性能。 本文详细设计和实现了基于j a v a x m l 的分布式数据同步系统。主要研究了 同构数据源的数据同步解决方案。本文介绍了分布式数据库的基础理论和系统实 现所应用的相关技术,分析了现有的数据同步解决方案,结合影响数据同步效率 的因素及解决方法,提出了一种基于控制变化表和x m l 的分布式数据库数据同步 解决方案。该系统基于j a v a 和x m l 这两种与平台无关的技术,通过对现有的变 化数据获取技术进行分析比较,采用了数据壁丝垄墨塑銮垡丝鱼塞过錾握痊笪銮 化数据进行获取,利用x m l 文件作为中介存储来交换变化数据,进而达到数据同 ,_ 一 步的目的。 该系统成功的应用于大连东软集团上海长途客运业务智能化信息系统,实现 ,熊竖q 筮必数据同步,达到了系统的要求。 关键词:数据同步;控制表;触发器;x m l , i e | , 英文摘要 a b s t r a c t d a t as y n c h r o n i z a t i o nc o m e sf r o md a t as t o r a g e t h eo 巧e c to fd a t as y n c h r o n i z a t i o n i sd a t a i no r d e rt os o l v i n gt h eq u e s t i o no fe f f i c i e n c y ,d a t as y n c h r o n i z a t i o nh a sb e e n c r e a t e d a c c o r d i n gt ot h ep r i n c i p l e ,d a t as y n c h r o n i z a t i o nc o u l dh e l pe n t e r p r i s ei m p r o v e t h ep r o b l e mo fs y s t e mp e r f o r m a n c e t h ei n f o r m a t i o ns y s t e mo fe n t e r p r i s ec a ni n c l u d e c e n t e rs e r v e ra n ds l a v es e r v e r a c c o r d i n gt ot h es p e c i a lr e q u i r e m e m s ,c e n t e rs e r v e ri s j u s tr e s p o n s i b l ef o ri n s e r to ru p d a t eo rd e l e t e i na d d i t i o n ,s l a v es e r v e ri sj u s tr e s p o n s i b l e f o ri n q u i r e s t h e yc a nb es y n c h r o m z e db yd a t as y n c h r o n i z a t i o ns y s t e mt oi m p r o v et h e p e r f o r m a n c eo ft h ei n f o r m a t i o ns y s t e m t h ep a p e rd e s i g n sa n di m p l e m e n t st h ed i s t r i b u t e dd a t as y n c h r o n i z a t i o ns y s t e m b a s e do nj a v aa n dx m l t h er c s e a r c hh a sb e e nd o n ei nt h i sp a p e ro nt h ed a t a s y n c h r o n i z a t i o ns o l u t i o n s t h ep a p e rf i r s tg a v ea ni n t r o d u c t i o no ft h ef u n d a m e n t a l so f d i s t r i b u t e dd a t a b a s es y s t e m s ,a sw e l la st h er e l e v a n tt e c h n o l o g i e st oa c h i e v et h e s e s y s t e m s t h e naf u l la n a l y s i so fn o w a d a y sa v a i l a b l ed a t as y n c h r o n i z a t i o nm e t h o d sw a s p r e s e n t e db yt h ea u t h o r f i n a l l y , b a s e d o nt h ec a u s e sa n ds o l u t i o n so fd a t a s y n c h r o n i z a t i o np r o b l e m s ,t h ea u t h o rp u tf o r w a r da “c o n t r o lt a b l e m o d eb a s e dt r i g g e r a n dd a t as y n c h r o n i z a t i o n t h es y s t e mw a sb a s e do nj a v aa n dx m l t e c h n o l o g i e s ,b o t h o fw h i c hh a dn o t h i n gt od o 、) ,i mt h ep l a t f o r m i nt h es y s t e m ,d a t a b a s et r i g g e rw a s s e l e c t e df r o ma l lt h ee x i s t i n gd a t ac a p t u r et e c h n o l o g i e sa f t e rat h o r o u g ha n a l y s i st o c a p t u r ed a t a b a s ec h a n g e sa n da l t e rt a b l ew a se m p l o y e dt os a v ea l lt h ec h a n g e s i nt h e m e a n w h i l e ,x m ld o c u m e n t sw e r eu s e da sa ni n t e r m e d i a r yt os t o r ea n de x c h a n g et h e d a t ac h a n g e st h u sa c h i e v i n gt h ep u r p o s eo fd a t as y n c h r o n i z a t i o n f i n a l l y ,n e u s o f ti n f o r m a t i o nm a n a g e m e n ts y s t e mw a sg i v e na sa ne x a m p l et o w h i c ht h ed a t as y n c h r o n i z a t i o ns y s t e m i nt h em e a n w h i l e ,t h es y s t e me n s u r e dt h e s y s t e ms i g n i f i c a n t l yr e a l i z et h ed e m a n d so f n e u s o f t k e yw o r d s :d a t as y n c h r o n i z a t i o n ;c o n t r o lt a b l e ;t r i g g e r ;x m l , 目录 目录 第1 章绪论1 1 1 课题背景及研究意义1 1 2 国内外研究现状1 1 3 论文的主要研究内容2 1 4 论文的组织与结构3 第2 章分布式数据库概述4 2 1 分布式数据库理论4 2 1 1 分布式数据库的概念4 2 1 2 分布式数据库的特点4 2 2 分布式数据库的模式结构和组成成分。5 2 2 1 分布式数据库的模式结构。5 2 2 2 分布式数据库的组成成分6 2 3 分布式事务定义和特征7 2 3 1 事务定义和特征。7 2 3 2 分布式数据库中的数据更新7 2 4 本章小结8 第3 章实现分布式数据同步系统的相关技术介绍9 3 1 现有数据同步解决方案分析9 3 1 1 数据复制机制9 3 1 2 e t l 机制1o 3 1 3 0 r a c l e 解决方案1 2 3 1 4 s q ls e r v e r 解决方案1 2 3 1 5 s y b a s e 解决方案。1 3 3 2 影响数据同步性能的因素1 3 3 3 数据同步策略和关键技术分析1 4 3 3 1 变化数据获取技术分析。1 4 3 3 2 数据转换技术分析1 7 3 4 本章小结2 0 第4 章分布式数据同步系统的设计2 1 4 1 需求分析2 l 4 1 1 系统应用环境2 1 4 1 2 需求概述2 1 4 2 基于变化控制表和x m l 的数据同步解决方案2 2 4 2 1 系统体系结构2 2 4 3 分布式数据同步系统各层的设计2 3 4 3 1 变化数据获取层的设计2 4 4 3 2x m l 文件生成解析层的设计2 6 4 3 3 应用层的设计3 2 4 4 本章小结3 3 第5 章分布式数据同步系统的实现。3 4 5 1 开发环境配置3 4 5 1 1 开发语言j a v a1 6 3 4 5 1 2 集成开发环境e c l i p s e 3 2 3 4 5 1 3 中心数据库和查询数据库服务器o r a c l e l o g 3 4 5 2 分布式数据同步系统各层的实现3 4 5 2 1 变化数据获取层的实现3 4 5 2 2x m l 生成解析层的实现3 6 5 2 3 应用层的实现4 0 5 2 4 系统运行结果4 3 5 2 5 系统测试结果4 6 5 3 本章小结一4 7 第6 章总结与展望一4 8 6 1 论文主要工作总结4 8 6 2 未来展望4 8 参考文献4 9 致谢5 2 基于删x m l 的分布式数据同步系统的设计和实现 1 1 课题背景及研究意义 第1 章绪论 随着信息化和网络技术的飞快发展,将信息化应用于企业日常工作中正变得非常普 遍。各个企业对信息管理的需求更加复杂,更加注重信息管理的效率问题。在日益激烈 的竞争中,信息系统的高性能、高安全性、高复用性是企业关注的焦点。然而由于实施 信息化地阶段性、技术性以及其它经济和认为因素的影响,这些公司的信息化过程总会 出现效率低的问题。于此同时,伴随着企业信息化程度的增强,产生大量同源数据,企 业出现了对数据的一致性和实时同步的需求。很多企业的信息系统亟待解决数据上传下 载效率低,访问服务器速度慢等问题。而这一问题通过建立有效地分布式数据库以及采 用数据同步技术可以得到很好的解决。 本课题来源于大连东软集团上海长途客运业务智能化信息系统。该系统由中心服务 器和查询服务器组成。本课题主要研究该系统售票模块的数据同步功能。售票终端通过 访问中心服务器进行常规的增加、删除、修改等基本的业务操作,通过访问查询服务器 可以实现数据查询操作。查询服务器有效地减轻了中心服务器的负担,提高了数据传输 的整体效率。在此基础上,中心服务器和查询服务器之间的数据同步问题就变得非常重 要。例如:售票终端在更改完中心数据库的系统数据后,查询数据库中必须做出相应的 数据变更以确保售票终端查询数据的及时性,保证整体业务系统的正常运行。目前实现 此数据同步功能完全依靠购买软件。虽然可以加快整体项目开发时间,但是花费颇高。 因此,自主研究中心服务器和查询服务器之间的数据同步技术是大势所趋。 从实际情况出发,对数据同步技术的研究不仅仅可以成为企业减小开支,还可以实 现系统的复用性,能够将这种数据同步技术应用于其它相关项目中。因此,可以说对中 心服务器和查询服务器之间的数据同步技术的研究具有十分重要的意义。 1 2 国内外研究现状 数据同步的理论研究工作在多个相关领域包括变化数据获取领域、数据复制技术领 域、数据传输领域以及分布式数据库领域研究的共同促进下取得了很大的进步。弋西 第1 章绪论 数据同步技术的分类研究、一致性研究、冲突研究等都发表了大量的文章。而且各个数 据库厂商都已经提出了独立的同构数据同步方案,很多非数据库厂商也针对数据同步提 出了各自的解决方案。总之,不管是从理论上还是从应用上来说,数据同步都取得了很 大的进展。 国外各大数据库厂商中,o r a c l e 利用触发器和存储过程,s y b a s e 利用l t m ( 日志 传输器) 和r e p a g e n t ( 复制代理) ,i b m 使用c c d 表和m q ,微软提出出版者预订者 方案。各种开源数据库也提出了复制方案。m y s q l 提出跟踪二进制日志的方案, p o s t g r e s q l 提出s l o n y i 方案。独立软件开发商也开发出各种数据库同步产品。 国内目前在这方面开展研究工作的有:人民大学的移动数据库金仓系统,对数据复 制的理论和实现进行了研究,提出基于版本号的复制冲突检测和解决策略等。全国公安 系统c c i c ( 中国犯罪信息中心) 应用基于u d t r e e 的复制框架r a u t ,提高大量数据 复制情况下系统的整体性能眨1 。西安交通大学和北京航空航天大学提出的基于日志合 并优化的数据同步机制。 1 3 论文的主要研究内容 本文主要的研究工作为: 1 、分布式数据库的理论研究 本系统属于分布式数据库系统,因此对分布式数据库系统的理论研究是十分重要 的。分布式数据库的分层结构、并行性、数据的完整性与一致性、可靠性,都是设计本 系统的基本依据。 2 、数据同步解决方案的研究 本文分析和比较现有的数据同步解决方案后,才能根据具体的需求提出相应的解决 方案。本文在这一部分主要研究的是变化数据获取技术以及数据转换方法。变化数据获 取技术包括:基于触发器法、基于日志法、基于时间戳法、基于控制表法、基于快照法、 基于a p i 法、基于影子表法。数据转换方法包括:j d b c 和x m l 技术。 3 、影响数据同步效率的因素 在固定的软硬件环境下,数据同步效率是决定一个系统解决方案好坏的关键。本文 基于j a v a x m l 的分布式数据同步系统的设计和实现 将根据对现有数据同步机制的分析,研究影响数据同步效率的因素,以此作为提出系统 设计方案的基础。 1 4 论文的组织与结构 本论文共分为六章: 第一章本文的绪论部分。主要阐述了论文的课题背景和研究意义,分析国内外的 研究现状,最后介绍本文的主要研究工作内容以及论文的组织结构。 第二章分布式数据库理论基础。主要介绍了分布式数据库的概念、特点,分布式 数据库的模式结构和组成成分,分布式数据库的组成成分,事务的定义和特征,以及分 布式数据库的数据更新。 第三章数据同步的原理。分析和比较了现有数据同步解决方案,具体分析了变化 数据获取技术、数据转换技术,分析了影响数据同步效率的因素。 第四章分布式数据同步系统的设计。分析数据同步实现的策略和关键技术。针对 本系统所处的背景,分析了系统所需解决的问题,给出系统模块的设计过程。 第五章分布式数据同步系统的实现。给出系统模块实现的步骤以及运行结果。 第六章总结本论文的主要工作,对下一阶段的工作提出展望。 第2 章分布式数据库概述 第2 章分布式数据库概述 本章首先将介绍分布式数据库的概念和特点,然后介绍分布是数据库的模式结构和 组成成分,最后将结合论文所要研究的主题,介绍分布式事务定义和特征以及在分布式 数据库中的数据更新。 2 1 分布式数据库理论 2 1 1 分布式数据库的概念 分布式数据库( d d b ) 是数据库技术与计算机网络技术相结合的产物。一个分布式 数据库是一个处理属于一些相关联的数据库的系统。这些相联的数据库称作结点。一般 来说,它们地域上分布在一些由数据通信网络相联的不同物理场所。结点也可以在同一 机器上,这里关键是可以处理一些数据库的机制,而不必考虑其通信线路的性质。分布 式数据库是由一组数据组成的,这组数据分布在计算机网络的不同计算机上。系统中存 在两种类型的用户:全局用户、局部用户。全局用户看到的是分布式数据库的全局视图。 局部用户看到的是某一个结点数据库的局部视图。 2 1 2 分布式数据库的特点 分布式数据库是数据库技术与计算机网络技术的统一,是集中与分散的统一。根据 分布式数据库的结构与功能,总结其特点如下: 1 ) 分布透明性和冗余透明性:是指用户或用户程序在分布是数据库操作中不用考 虑数据的分布与冗余,这使分布式数据库与集中式数据库具有相同的外特性。 2 ) 系统的分层结构:分布式数据库是一些相联的数据库的集合,整个系统的结构 是分层的。可以分为局部数据库与全局数据库、局部控制与全局控制、局部数据模型与 全局数据模型、局部与全局数据操作语言等等。局部与全局的概念是相对的,对上一级 数据库来说是局部的,对下一级则是全局的。 3 ) 并行性:数据的分布于冗余,大大提高了并行处理的可能性。并行处理是分布 式数据库的基本特点之一。 4 ) 数据的完整性与一致性:分布是数据库中的数据虽然分布在不同计算机上,但 基于j a v a x v l l 的分布式数据同步系统的设计和实现 从逻辑上来看是一个整体。分布式数据库允许每个结点有自主权,可以对自己管理的信 息加以控制,有局部的责任制,但其各个部分的数据也可以集中控制管理。这一特点防 止数据库中的数据受到无效的更新,保证冗余数据的一致性,为用户提供有效的、争正 确的数据。 5 ) 可靠性:在分布式数据库中,单一部件的失效,不一定使整个系统失效,系统 的弹性可以保持其余部分的正常进行。分布式数据库可以通过多个不同的场所,冗余的 存放数据来恢复失效的数据。 2 2 分布式数据库的模式结构和组成成分 2 2 1 分布式数据库的模式结构 分布式数据库是基于计算机网络连接的集中式数据库的逻辑集合,保留了集中式据 库模式结构的特色,又比集中式数据库模式结构复杂,其模式结构如图2 1 所示: 图2 1 分布式数据库的模式结构 f i g 2 1t h em o d es t r u c t u r eo fd i s t r i b u t e dd a t a b a s e 第2 章分布式数据库概述 分布式数据库是多层级的模式结构。分为全局外模式、全局概念模式、分布式模式、 分配模式、局部概念模式、局部内模式。与集中式数据库类似,全局数据库管理系统和 局部数据库管理系统提供的多次映像来实现这四层中的相应模式之间的转换。 1 ) 全局外模式 用的用户视图,也称全局视图。与集中式数据库不同的只是分布式数据库的全局视 图的数据不是从某一个具体站点的局部数据库中抽取,而是从一个由个局部数据库组成 的逻辑集合中抽取。 2 ) 全局概念模式:是分布式数据库的全局概念视图,描述分布式数据库中全局数 据库的逻辑结构和数据特征。 3 ) 分片模式:描述全局数据的逻辑划分。分片模式描述数据分片成定义片段,以 及全局关系与片段之间的映像。 4 ) 分配模式:根据选定的数据分布策略,定义各片段的屋里存放站点,确定分布 式数据库是否冗余以及冗余的程度。 5 ) 局部概念模式:是全局模式的子集。对每个站点来说,在该站点上全部物理映 像的集合称为该站点上的局部概念模式。 6 ) 局部内模式:是分布式数据库总关于物理数据库的描述,与集中式数据库中的 内模式相似。 2 2 2 分布式数据库的组成成分 分布是数据库( d d b ) 是分布式数据库系统中各站点上数据库的逻辑集合,由两部 分组成:一是关于应用所需要的数据的集合,称为应用数据库,是分布式数据库的主体; 二是关于数据库中数据结构的定义,以及全局数据库的分片、分布的描述,称为描述数 据库,也称数据字典、数据目录或无数据。 应用数据库和描述数据库有局部和全局之分。 局部数据是指提供本站点的局部应用所需要的数据;全局数据是可被多个站点上应 用x x 同的数据。局部数据目录是指本站点中的局部数据字典;全局数据目录就是全局 数据字典,又称网络数据字典,提供全局数据的描述和管理的相关信息,如数据的结构 基于删) n 儿的分布式数据同步系统的设计和实现 定义,数据的分片、分布处理、授权、事物恢复等的必要信息。 综上所述,在分布式数据系统中,分布式数据库的数据目录本身也构成了一个分布 式数据库系统。 2 3 分布式事务定义和特征 2 3 1 事务定义和特征 事物是为了实现特定的业务功能而访问数据库的一个最小逻辑工作单位,它是一个 操作序列。在分布式数据库系统中,任何一个应用的请求最终都将转化成对分布在网络 中相应站点上数据库数据存取操作的序列,因为分布式数据库系统中的事物是一个分布 式操作的序列。由于被操作的数据分布在不同的站点上,所以称为分布式事物。 分布式事物具有a c i d 四个特性,即原子性( a t o m i c i t y ) 、一致性( c o n s i s t e n c y ) 、 隔离性( i s o l a t g ) 和持久性( d u r a b i l i t y ) 。 1 ) 原子性:是指事务执行时的不可分割性。事物的原子性保证分布式数据库的状 态在不同的一致状态间变化,不会出现不一致状态。 2 ) 一致性:是指事物的正确性。一个分布式事物是一个正确的程序。分布式事物 执行完毕时,必须以正确的状态退出系统。 3 ) 隔离性:指一个正在执行的事物在提高之前,不能将它对共享数据所做转变的 结果提供给事物使用,事物的执行不受其它并发事物执行的干扰。 4 ) 持久性:是指一旦某个事物被提高,无论系统发生任何故障,都不会丢失该事 物的执行结果。已提高事物对数据库的改变在数据库中是持续存在的,不会因故障而丢 失。 2 3 2 分布式数据库中的数据更新 分布式数据库中的数据更新有三种方法,即多站点的数据更新,主文本更新法,以 及快照方法。数据更新是数据同步过程中非常重要的环节,因而具有突出的研究价值。 多站点的数据更新方法可以获得查询速度,增强系统的可靠性和可用性。但是这种 方法还是以增加数据复制的带价来减少数据通信的代价。数据的冗余虽然使系统效率提 高,但又对分布式数据库的一致性产生了影响,尤其明显的是那些具有多副本的数据的 第2 章分布式数据库概述 一致性。因为数据复制在多个站点上,当对其中某个副本更新时,就要对这个数据的所 有复制副本同时做同样的更新。保证了所有复制副本的同时更新才会保证分布式数据库 的一致性。所以,多站点的数据更新方法还不现实,难度很大。 主文本更新法是对每一个有多副本的数据指定其中一个副本为主文本,其他为辅文 本。在这种更新方法中,因为对主文本更新完毕即完成了对该数据的更新。主文本的站 点负责将对主文本做的更新及时发送给各辅文本站点更新。因此,这种方法还存在的问 题是更新传播如果时间过长将会造成数据过时。另外,一旦主文本站点不可用时,会引 起其它辅文本站点也不可用。 快照( s n a p s h o t ) 是类似于视图的一种导出关系。与视图不同的是,快照的数据是 实际存放在数据库中的,可以对一定条件的数据定期复制,可以用新的复制替代原来的 复制。快照可以用命令定义,可定期刷新,可强制刷新。创建快照的s q l 语句如下: d e f i n es n a p s h o th p b o o ka s s e l e c t 冰f r o mb o o kw h e r ep r i c e s10 0 r e f r e s he v e r yd a y 以上s q l 语句创建了一个名为h pb o o k 的快照,数据取自关系b o o k 中单价大 于$ 1 0 0 的属的元组,每日刷新一次。 快照法可以完成复杂的查询,不阻止更新主文本更新后要刷新的快照。快照法还避 免了某些并发控制的开销,便于负责查询的完成,提高了系统可用性。但快照是一个只 读关系,数据只能读不能写。查询操作可以使用快照,而更新操作还应在主文本上完成。 2 4 本章小结 分布式数据库中的数据在物理上是分散的,在逻辑上确实统一的整体。本章主要介 绍了分布式数据库的概念和特点,阐述了分布式数据库的模式结构及组成成分。最后, 对在数据同步过程中非常重要的更新方法进行了分析。随着分布式数据库管理系统的商 品化,分布式数据库的应用会越来越广泛。 基于删) a 几的分布式数据同步系统的设计和实现 第3 章实现分布式数据同步系统的相关技术介绍 本章将介绍实现分布式数据同步系统的相关技术。首先将对现有的数据同步解决方 案进行分析,然后根据此分析总结出影响数据同步性能的因素,最后将对变化数据获取 技术和数据转换技术进行详细分析。 3 1 现有数据同步解决方案分析 3 1 1 数据复制机制 数据复制技术提高了分布式数据库的融在能力,降低了事物的影响时间。在分布式 数据库系统中,数据可以在很多个站点获得,但只有一个站点存储数据;但是在分布式 系统只采用数据复制技术,数据不仅可以在各个站点获得,而且可以就近或者本地获得。 数据复制技术提高了分布式数据库系统的可用性合可靠性。 1 ) 数据复制运行机制 数据复制是指把一个系统中的数据分布到另外一个或多个不同系统中,以达到适应 可伸缩组织的需要,从而减轻主服务器的工作负荷,提高数据的使用效率。数据复制将 分布式数据库中某个节点的数据拷贝到不同物理地点的数据库中,以支持分布式应用。 根据更新传播的方式不同,数据同步分为同步复制和异步复制。同步复制方式要求 修改过程和复制过程同步进行,这种方式可以保障所有副本的实时一致性,但容易产生 死锁,通信量增加,节点规模受限,事无响应时间较长等问题。异步复制方式中修改过 程和复制过程可异步进行,这两个过程间存在时间延迟。异步复制对网络的要求大大降 低,减少了网络资源和硬件资源的消耗。但是,异步复制中存在数据不一致的时间段, 并可能出现数据冲突,在异构数据库间需要进行模式转换。 2 ) 数据复制的实现 在数据复制实现过程中,物理过程分成两步:修改过程和复制过程。修改过程是指 对一个数据拷贝进行修改,插入和删除的过程。复制过程是指将修改过的拷贝数据复制 到其他拷贝的过程。 第3 章实现分布式数据同步系统的相关技术介绍 由于本文中上海长途客运业务系统采用的是o r a c l e 数据平台,所以下面分析该数据 库平台的复制技术。 o r a c l e 支持三中复制机制: 多宿主复制: 多宿主复制采用一种称为“延迟远程过程调用”的机制作为传播和应用的机制,支 持全表在各个主节点间的对衬复制,所有主节点对主表都有更新操作的权利,任意主节 点上的复制表的更新都会被传播并直接应用到其他所有主表。一个主节点出问题,不会 对其他主节点之间变化的传播造成影响。 可更新快照复制: 快照即实体化视图,快照在主节点的刷新是按一定的时间间隔或用户单独请求进行 的。在整个可更新快照复制中,所有刷新操作带来的表变化也被传播并应用到快照。多 个快照的刷新都在同一个一致的事务中完成,确保了数据和引用的完整性。 混合配置: 将上述两种机制结合在一起就形成了混合配置,这种配置可以完成对全表或者子表 的复制。当其中一个中心点发生问题时,快照的主节点可以被重新定义到另一个正常运 行的中心节点。混合配置机制提高了系统的可靠性。 3 1 2 e t l 机制 e t l ( e x t r a c t i o nt r a n s f o r m a t i o nl o a d i n g ) 即数据的抽取、转换和装载。目前市场上 的三大主流工具是i n f o r m a t i c a 公司的p o w e r c e n t e r 、i b m 公司的d a t a s t a g e 以及 o r a c l e 公司的w a r e h o u s e b u i l d e r 。数据e t l 是用来实现异构数据源的数据集成, 即完成数据的抽取、清洗、转换、加载与索引等数据调和工作。 1 ) 数据抽取 抽取是从源文件和源数据库中获取相关数据用于填充数据仓库,称为抽取, 可分为静态抽取( s t a t i ce x t r a c t ) 和增量抽取( i n c r e m e n t a le x t r a c t ) 。静态抽取用 于最初填充数据仓库,增量抽取用于进行数据仓库的维护,仅获取变化数据。增 量抽取普遍的方法是日志获取,数据库日志包括数据库记录中最近变化的后像。 基于删x 儿的分布式数据同步系统的设计和实现 数据抽取的过程依次是:分析数据来源,抽取指定数据,确定抽取时间间隔, 分析目标服务器,处理异常。抽取可以使用同源系统相联系的工具所写的程序来 完成,数据常以一种中间数据格式抽取,比如s q l 命令。 2 ) 数据清洗 数据清洗( d a t as c r u b b i n g ) 是一种使用模式识别的其他技术,在将原始数据 转换和移动到数据仓库之前来升级原始数据质量的技术,常见的清洗任务如下: 重新格式化和改变数据类型,并且执行其他的功能,使从每个源得到的数 据放入为转换而准备的标准数据仓库格式。 增加时间戳以区分处于不同时间的相同属性的值。 匹配且合并分离地抽取数据到一个表或文件,通过匹配数据进入到生成的表的同 一行。 为表的每一行产生一个主码。 在不同的度量单位间转换。 3 ) 数据转换 数据转换在数据的e t l 过程中处于中心位置,它把数据从源操作型业务系统的格 式转换到企业数据仓库的数据格式。数据转换从数据抽取阶段接收数据,将数据映射到 调和数据层,然后传递到加载和索引阶段。数据转换的功能分为两大类:记录级功能和 字段级功能。 记录级功能:对一组记录如一个文件或一个表进行操作是最重要的记录级功能,包 括选择、连接、规范化和聚集。选择是一个分割数据的过程。连接将来自不同源的数据 合并到一个单一的表和视图中。规范化是分解有异常的关系,产生更小的,结构良好的 关系过程。聚焦是把数据从详细级别转换成一个汇总级别的过程。 字段级功能:是把数据从源记录中给定的格式转变到目标记录中不同的格式,分为 单字段和多字段。 4 ) 数据加载和索引 第3 章实现分布式数据同步系统的相关技术介绍 加载和索引是把数据加载到数据仓库或数据集市的过程。加载数据的两个基本方 式是刷新和更新。刷新方式采用在定期的间隔对目标数据进行批量重写。更新方式是只 将元数据中改变的数据写进数据仓库的方法。加载的方法有如下几种: o s q l 命令( 例如:i n s e r t 或u p d a t e ) 由数据仓库供应商或第三方提供专门的家在工具。 由数据仓库管理负编写自定义程序。 在刷新或更新后,创建并维护数据仓库的索引,比如位图索引和连接索引。 3 1 3 0 r a c l e 解决方案 o r a c l e 将g o l d e n g a t e 作为自己的数据同步解决方案之一。g o l d e n g a t e 可以用于多 种不同的操作系统平台( u n i x 、l i n u x 、w i n d o w s ) 和多种不同数据库系统( 如d b 2 、 o r a c l e 、i n f o m i x 、m y s q l 、s y b a s e 等) 之间的数据同步,是一款优秀的数据同步及数据 分发产品。 g o l d e n g a t e 软件需要安装在源数据库服务器和目标数据库服务器上,所需的操作系 统资源在1 0 以下。g o l d e n o a t e 数据同步的基本原理是由e x t r a c t 进程读取源数据库的 事物同志( o r a c l e 中是r e d ol o g ) ,将其中的变更操作( i n s e r t 、u p d a t e 、d e l e t e 等) 按事 务执行的顺序组合在一起,直接将其发送到目标服务其上,或者存放到t r a i l s 文件中, 然后由d a t ap u m p 进程将t r a i l s 文件传输到目标服务其上,在目标服务器上c o l l e c t o r 进 程接收从源服务器传送过来的t r a i l s 文件,最后由r e p l i c a t 进程将t r a i l s 文件中的数据 装载到目标数据库中。由于o o l d e n g a t e 将数据存储到自己的统一格式的t r a i l 文件中, 因此可以将t r a i l 文件传送到不同的操作系统,应用在不同的数据库系统上,大大增强 其灵活性。另外,由于g o l d e n g a t e 只收集必要的数据到t r a i l 文件中,且t r a i l 文件可以 压缩,因此大大减少通过网络传输的数据量,压缩后传输的数据量通常是日志量的1 4 或更少。 3 1 4 s q ls e r v e r 解决方案 s q ls e r v e r 提供了强大的内置复制能力,在复制这一支持分布式数据处理能力的重 要技术帮助下,我们可以完成服务器之间的信息复制,这样就具有多个域的信息源同步 基于删x m l 的分布式数据同步系统的设计和实现 处理的功能。 s q ls e r v e r 的数据复制基于“p u b l i s h e r - s u b s c r i b e r 模式,基本元素如下: 1 、发布服务器( p u b l i s h e r ) :数据源服务器 2 、分发服务器( d i s t r i b u t e o :存放数据的变动信息,是出版服务器与订阅服务器的 中介。 3 、订阅服务器( s u b s c r i b e r ) :数据复制的目标服务器。 4 、发布( p u b l i c a t i o n ) :源数据库。 5 、项目( a r t i c l e ) :指定要复制的表或数据对象。 6 、订阅( s u b s c r i p t i o n ) :对要复制的数据或数据副本的请求。 s q ls e r v e r2 0 0 0 支持三种复制类型:快照复制( s n a p s h o tr e p l i c a t i o n ) 、事务复制 ( t r a n s a c t i o nr e p l i c a t i o n ) 、合并复制( m e r g er e p l i c a t i o n ) 。 3 1 5 s y b a s e 解决方案 s y b a s e 也是采用“p u b l i s h e r - s u b s c r i b e r 模式来实现数据复制。复制模式有:基本 主复制模式、分布式主段模式、c o r p o r a t er o l l u p 模式、r e d i s t r i b u t e dc o r p o r a t er o l l u p 模 式。 s y b a s e 数据库复制的基本原理:用户事务被提交给主点数据库,事务被记入l o g , l o g 被读出并按事务一级传给复制服务器,复制服务器完成接收、判断、迁移、组装 和发送,事务发送给复制点服务器,复制点服务器完成本数据库的相同操作。 3 2 影响数据同步性能的因素 以上介绍了几种数据同步机制的解决方案及其具体的实现方法。通过以上几种数据 同步技术的分析,本小节将明确数据同步过程中影响数据同步性能的因素,明确针对中 心数据库及查询数据库之间的数据同步机制,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025甘肃嘉峪关市供销合作社招聘公益性岗位人员2人备考练习试题及答案解析
- 2025国铁投资发展有限公司第一批次招聘4人(天津)备考考试题库附答案解析
- 2025云南保山市龙陵县民政局招聘龙陵县殡仪馆临时人员15人备考考试题库附答案解析
- 2025广东阳江市阳西县补充招聘森林消防应急队员7人备考练习题库及答案解析
- 2025年合肥市巢湖市大学生乡村医生专项计划招聘2名备考考试题库附答案解析
- 工厂安全培训教育总结课件
- 宇宙之谜揭秘
- 价格谈判机制优化-洞察及研究
- 心律失常导管消融研究-洞察及研究
- 区域创新管理制度
- 智能城市垃圾分类处理系统合同
- 乙酰丙酸论文
- 人教版 九年级历史上册 第一、二单元 单元测试卷(2024年秋)
- 偏瘫康复护理个案病例分析
- NBT 10643-2021 风电场用静止无功发生器技术要求与试验方法-PDF解密
- 铁路防雷及接地工程技术规范(TB 10180-2016)
- 饮品运输行业分析
- 胸痛的鉴别诊断和诊断流程课件
- 混料错料预防措施培训课件
- 白鹿原名著导读读书分享
- 医疗设备采购 投标技术方案 (技术方案)
评论
0/150
提交评论