(信息与通信工程专业论文)数据复制技术研究.pdf_第1页
(信息与通信工程专业论文)数据复制技术研究.pdf_第2页
(信息与通信工程专业论文)数据复制技术研究.pdf_第3页
(信息与通信工程专业论文)数据复制技术研究.pdf_第4页
(信息与通信工程专业论文)数据复制技术研究.pdf_第5页
已阅读5页,还剩54页未读 继续免费阅读

(信息与通信工程专业论文)数据复制技术研究.pdf.pdf 免费下载

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

文档简介

国防科学技术人学研究生院学何沦文 摘要 f ( 人类正以惊人的速度走出工业文明,步入信息h , j 代。人们要处理的信息量越来越 大,同时又迫切希望能在任何时候、任何地点访问任何数据。9 0 年代以来,迅速发展 的数据库技术和计算机网络技术相结合而出现的数据复制技术,为信息的共享创造了 非常有利的条件。由于数据复制技术的独特特点,如支持移动性、网络断接、网络的 多样性等,使传统的分布式技术得到扩展,因此研究数据复制技术将成为近年来分稚 计算的一个研究热点。 数据复制技术在分布式环境中为信息的发郁提供快速、有效的手段,它能动态监 视出版服务器事务层级的变化:包括插入、删除、修改操作。这些更新能不断地或定 期地传送到一个或多个订阅服务器上,最终可使各副本收敛于一致,从而使远程用户 能引用复制的数据在本端完成分布式查询操作,提高系统的可用性,减少网络的开销。 本文主要对i n t e r n e t i n t r a n e t 上的数据复制技术进行研究与探索,分析了传统 数据复制模型,在此基础上,提出了i n t e r n e t ! n t r a n e t 上的数据复制模型,解决了 数据库与非数据库数据在i n t e r n e t i n t r a n e t 共享的问题,把c i l e n t s e r v e r 模式扩 展到i n t e r n e t i n t r a n e t 上。另外,结合所承担的湖南省防汛信息系统的研制:l = 作, 把i n t r a n e t 上数据复制的研究成果运用于湖南省防汛信息系统之中,实现了各种防汛 信息在湖南省各级防汛部门中的共享。 关键:鼬移4 i n t e r n e i n t e ln e 。t ,i n t r a n e t ,f t p m 瞌2 黜 ,事务日志,。胀 第1 页 国防科学技术人学研究m 院学位论文 a b s t r a c t n o w a d a y s ,t h eh u m a ns o c i e t y i s c o m i n gi n t o i n f o r m a t i o ne r af r o mi n d u s t r i a le r aw i t h c r a z ys p e e d t h ei n f o r m a t i o nt h a tn e e d s t ob ep r o c e s s e di sm o r et h a ne v e rb e f o r e 。a n da tt h e s a n l et i m ep e o p l er e q u i r em o r ea n dm o r ei n f o r m a t i o n p e o p l ea l s oh o p et ob ea b l et oa c c e s s i n f o r m a t i o nw h e n e v e ra n dw h e r e v e r i n 19 9 0 s ,w i t ht h e r a p i de x p a n d i n gt e c h n o l o g y o f n e t w o r ka n dd a t a b a s e ,d a t ar e p l i c a t i o nt e c h n o l o g yt h a tp r o v i d e si n f o r m a t i o ns h a r i n ge m e r g e d d u et os o m es p e c i a lc h a r a c t e r i s t i c so fd a t a r e p l i c a t i o n ,s u c h a sh o s t m o b i l i t y , f r e q u e n t d i s c o n n e c t i o n ,a n da s y m m e t r yn e t w o r k ,t r a d i t i o n a ld i s t r i b u t i o na p p l i c a t i o n i s e x p a n d i n g d a t a r e p l i c a t i o nh a sb e c o m e an e wh o t t o p i ci nd a t a b a s er e s e a r c hs o c i e t y d a t ar e p l i c a t i o np r o v i d e saf a s ta n dr e l i a b l ew a yt od i s s e m i n a t ei n f o r m a t i o nt om u l t i p l e l o c a t i o n si nad i s t r i b u t e de n v i r o n m e n t i tc a nm o n i t o r c h a n g e s t ot h ep u b l i s h i n gs e r v e ra tt h e t r a n s a c t i o nl e v e l :i n s e r t ,u p d a t eo rd e l e t eo p e r a t i o n s c h a n g e sm a d et ot h ep u b l i s h e rf l o w c o n t i n u o u s l yo ra ts c h e d u l e di n t e r v a l st oo n eo rm o r es u b s c r i b i n gs e r v e r s a l lr e p l i c a sc a n m e e t c o n g e r g e n c ew i t ht h es a m ev a l u ee v e n t u a l l y t h er e m o t eu s e rc a l lq u e r yi nt h el o c a ls i t e w i t ht h er e p l i c a s od a t ar e p l i c a t i o nc a ni m p r o v ed a t aa v a i l a b i l i t ya n dp r e v e n tt h en e t w o r k f r o m b e c o m i n go v e r l o a d e d t h i s p a p e rm a i n l yf o c u s e s o nd a t ar e p l i c a t i o ni ni n t e m e t i n t r a n e t w e p r e s e n t d a t a r e p l i c a t i o n a r c h i t e c t u r ei ni n t e r n e f f i n t r a n e tb a s e do nt h e a n a l y s i s o ft r a d i t i o n a ld a t a r e p l i c a t i o nm o d e l c o n s e q u e n t l yw es o l v ed a t as h a r i n gp r o b l e mi ni n t e r n e t i n t r a n e tw i t h c l i e n t s e r v e r a p p l i c a t i o n c o m b i n e d w i t ht h e d e v e l o p i n g o fh u n a nf l o o d i n gc o n t r o l i n f o r m a t i o ns y s t e m ( h n f xf o rs h o r t ) ,w ea p p l yr e s e a r c hr e s u l ti nt h i ss y s t e ma n dr e a l i z et h e h u n a n f l o o d i n gc o n t r o li n f o r m a t i o n t ob es h a r e da l lo v e rt h ep r o v i n c e k e y w o r d s : r e p l i c a t i o n ,i n t e r n e t ,i n t r a n e t ,f t p , t r a n s a c t i o nl o g ,c o n s i s t e n c y 第2 页 国防科学技术大学研究生院学何论文 第一章绪论 i i 课题背景 不久以前,大部分数据库应用还是以联机事务处理( 0 n l i n e t r a n s a c t i o n p r o c e s s i n g ,简称o l t p ) 为主要类型,这类应用以快速事务响应和频繁的数据修改为 特征,数据库为用户提供快速的业务服务。而现在,数据仓库成为目前国内外信息界 讨论最多的热门的话题之一。 所谓数据仓库是面向主题的、集成的、稳定的、不同时间的数掘集合,用以支持 经营管理中的决策制订过程 3 。o l t p 和数据仓库这两类应用对数据库的要求是不一 样的。o l t p 应用有频繁的写操作,所以数据库要提供数据锁、事务f 1 志牟机制;而数 据仓库应用大部分只对数据库进行查询操作,即只进行读操作,为联机分析处理( o n l i n ea n a y t i c a lp r o c e s s i n g ,简称o l a p ) 提供支持 4 。 构造数据仓库,首先要从数据源中抽耿、集成、转换、聚合和复制数据,并存储 到数据仓库中。因此数据的高效采集是数据仓库的基础。传统的二阶段提交( t w o p h a s e c o m m i t m e n t ) 模式不适合慢速的网络和大量数据通讯,无法解决联机事务与实时决策支 持系统( l i v ed e c i s i o ns u p p o r ts y s t e m ) 的矛盾,并且任一节点的故障可能导致整个 系统的瘫痪,而且在处理异构数据库方面显得无能为力 6 。而数据复制技术通过出版 服务器、分发服务器和订阅服务器三方的协调工作,能经c i l e n t s e r v e r 网络跨平台 使数据库各副本取得当前最新版本;同时在系统r l 装配高性能的联机事务处理,彻底 消除联机事务和决策支持的矛盾。另一方面,山于多个副本的存在,复制服务器使局 部节点的自主性和灵活性成为可能,从而使系统具有高度的健壮性。此外。远程节点 通过安全的远程修改模式能够轻松更新复制副本。在处理异构数据库上,复制服务器 能通过o d b c 向异构数据库出版数据。 对复制技术的研究,在理论上出有其重要意义,复制技术允许周期性的连接和支 持移动数据库,所以它不能直接采用传统的并发控制手段,只能寻求剃,适合复制的 解决冲突的控制方法。在安全性上,通过复制把数据分和到不同节点,对安全性有其 有利的一面,即增加非法获取整个数据库的难度,同时由于多副本的存在,可加速系 统故障恢复进度;但对安全性也有其不利的一面,即随着副本数目的增加,对整个系 第3 页 国防科学技术人。 :例究7 e 院y :1 奇论文 统的安全性维护变得复杂。因此复制技术在理论l 的研究是极富有挑战性的。 本课题以湖南防汛地理信息系统为背景,通过复制技术使湖南省水利厅及时收集 各地区的各种数据,而口迅速向有关、i p 务 ;f | j fj 发一j 数据。在实践的基础i :x ;i 复制系统 的完整性和安企性进行州论和府f j 两力而研究。术课题l :要研究复制服务器与o n i c ( 以 及r d o 和a d o ) 的接f 1 ,以能够红m 1 :7 1 t 7 6 1 1 1 卜j :发以复f l i , jj j ;术为7 i l :t i l i l i i j 数掘库复制竹职系 统,同时研究非数据库数据的复制技术。 1 2 数据复制的研究现状 1 2 1 数据库复制的研究现状【1 ,6 ,7 】 在数据仓库和o l a p 的推动下,目前主要的数据席锊埘 系统如s y b a s e ,m ss q i s e r v e r o r a c l e 和i n f o r m i x 等都增加了数据库的复制功能。 ( 1 ) s y b a s e 复制服务器系统一卜】三要有以卜j 种类型1 y 点: p r i m a r y ( 仪本节点有主数据) 。它肖点数捌均山e 节点复制而得。通过修改主 节点数据改变其它节点数据。 s e c o n d a r y ( 仅含有复制数据) 。复制1 ,s 用以接收一个或多个主节点的数据。复 制节点数据是只读的,不能被修改。 p e e rt op e e r ( 既包括主数据也包含复制数据) 。既可以从这个节点复制数据到其 它系统,也可从其它节点接受数据。在这种环境巾要避免或解决修改冲突。 在解决异构数据库方面,因为b y b a s e 复制服务器仪是简单地象其客户程序一样 把事务传送到目标数据源,因此目标数据源可以是非s y b a s e 数据源。,玎户可以使用 s y b a s eo m n is q lg a t e w a y ,让复制服务器联接列第三方数据源,使复l h , j i i l & 务器认为复 制节点就是s y b a s e ,从复制服务器到目标数据源之问传送数据不需做任何形式变化。 ( 2 ) m i c r o s o f ts q i 。s e r v e r 采用松散一致的复制模型,支持几种不同的异步复制 方案,如中央出版者、使用远程分发服务器的1 1 1 央出版服务器、中央订户、单表多 出版者和卸载数据等。n i c r o s o f ts o ls e r v e r 还能通过o o b c 向:推m i c r o s o f t 数据库 进行数据复制,目标平台包括d b 2 、o r a c le 和s y b a s e 。 ( 3 ) o r a c l e 公司在1 9 9 6 年购买了d e c 的i ) b i n t e g r a t o r ,从1 7 , j c 产l 讯也具= i | j 复 制功能。o r a c l e 的复制模式可分为合并( r 0 l 】u p s ) 和分发( r o l l o u t s ) 丽种。 第4 页 国防科学技术人学研究生院学f 市论文 合并:把来自各地的部分或全部数据源拷贝到译一的目标。 分发:把来自单一部分或全部数据源拷! ! 到多个日标。 在处理复制数据转移上,川,o 卅选择快照( s n a p s h o t ) 和增量业新( 1 n c r e m e n t a l r e f r e s h ) 。o r a c l e 采用复制服务器与r d b 透f j 网关( r d bt r a n s p a r e n tg a t e w a y s ) 相结 合来解决异构数据库问题,r d bt r a n s p a r e n tg a t e w a y s 支持l 种数掘源。包括o r a c l e , r m s i b m sd b 2 ,o r a c l e sc o d a s y li ) b m s ,s y b a s e ,和o d b c 数据源。 ( 4 ) i n f o r m i x 可以在局域网和。域网的- b 问节点上提供表复制。根据实际应用 的需求,i n f o r m i x 提供三利复制模式: t t r d ( h i g ha v a i l a b i l i t yd a t ar e p l i e a t j o n ) ,对一的拷贝复制模式,应用 二 双机备份,当主机系统发生故障叫,事务进程能快速切换到备份系统卜。 d d d r ( d i s c r e t ed i s t r i b u t e dd a t ar e p l ic a t i o n ) ,相当于r | 1 心出版模式,复制 的粒度可达到行级。 c d d r ( c o n t i n u o u sd i s t r i b u t e dd a t ar e p ljc a t j 0 1 q ) ,多对多的双向复制模式 复制的粒度也可达到行级。 从上述可知l ,在传统的分m j 式应川i l t 符个汁算机结点之n u 足假定通过固定的网 络连接,并保持网络的持续的连接性,并发控制依靠二次提交( t w o p h a s ec o m m i t ) 它对普通的操作非常昂贵且对任部件的故障i ,能导致整个系统的失效。另一个方案 是采取单纯化的快照机制,不是以事务为基础,所以副本缺乏基本的关系完整性,而 且对于大型数掘库,其传输量在慢速或昂贵的通讯线路中是无法容忍的。列症下药, 复制服务器是工业复制产品的潮流。复制服务器通过c l ie n t s e r v e r 网络可跨平台实 现各副本同步。它提供高性能的联机事务( 0 l t p ) ,清除了0 l t p 与决策支持的固有矛盾, 且有高度自治性和灵活性。在需求的推动下,数据库的几大供应商都增加了数据库的 复制功能,如s y b a s e 、o r a c l e 、d b 2 、1 n f o r m ix 都相:其数据库产品【1 1 自l i 入数据库复制 部件。复制有两种基木模式:紧密一致性和松驰致性,松驰一致的个优点在于它 支持局域网、广域网、快速和慢速通信线路,以及数据库的周期性连接。本文研究的 对象足松驰一致性。 目前,市场上的数据库复制产品在局域网上能较好地发挥其卓越性能,而在 i n t e r n e t 上由于带宽的限制,复制过程缺乏i ,j 宅性,从而导致完整性和致性等一系 列问题。本文将着重研究i n t e r n e tj - i e j 数据库复制技术。 第5 页 国防科学技术人7 - 研究生院学何论文 1 2 2 目录复制的研究现状 1 1 ,1 2 ,1 3 ,14 1 i n t e m e t i n t r a l l e t 的迅猛发展为用户提供了越来越多的信息资源,这些资源可经 f ,i p ( f i l et r a n s f e rp r o t o c 0 1 ) 、e - m a i l 或w w w ( w o r l dw i d ew e b ) i j o x 。f h 随着资源的增 长、i n t e m e t 上数据流量的增加数据的存取速度会成为资源兆享的瓶颈。l b 予存取速 度取决于用户和文件资源在i n t e r n e tj :的相列位胃。因此,为提高本地数据存取和检 索速度,采取对访问频繁的文件资源经常进行镜像,也就是复制到许多地区r f 】心的方 法。 目录复制允许在多台服务器和工作站上安装和自动维护相同的目录树,一+ 台服务 器上的文件或目录的更新被周期性地复制到其它服务器和:亡作站。在多处保存与源目 录完全一致并可随源目录不断更新的拷贝有两个原| 灭1 。茸先,复制的f 录仃利1 。f 衡 网络负载。例如,如果i :多不同位霞:的:【:作站需要访问某个同录,就可以把这个目 录输“;到另一台服务器上,引导一些:f :作站从这俞服务器j :访问该翻录,而不足直接 访问目录源。这样就可以避免在服务器j 二造成瓶颈:其次,日录复制不会冈为目录源 所在的服务器的i 故障导致整个系统的瘫痪,副本所在服务器在与目录源所在的服务 器网络断接的条什下可继续证常二l :作。| i 录复f l ;l l l l l 4 务在局域网, 1 具有棚! 高的价值, 同时由于i n t e r n e ti :带宽受限,传输速率远低j :局域删,使得在 n l e r n e t :的目录复制 具有更高的实用价值。 目录复制最适合于只读信息,这是内为当目录复制服务检测到目录源与目的目录 下的文件不同时,就会把这些不同的文件复制到日的目录,修改的目的文什就会被重 写,所有修改将会丢失。因此目录复制非常适合分嘶j 只读文件,如果多个用户需访问 同一文件如电话号码表、云图、气象信息等,应将这些文件复制到多台计算机上,不 同组的用户从不同的计算机上访问该文件。 目前目录复制主要有如下三种模式: 标准目录复制:把一个系统的整个目录复制到另一个系统。如果只有少部分文件 发生了变化,这种复制的效率是j f 常低的。 改进i i 录复制:首先扫描复制【 _ ;i 录f 的所柏文1 ,l :,j l 把发t i :了变化的文件复制到 另一个系统。 d e l t a 目录复制:在改进目录复制的基础上,j l 复制文件1 1 1 发生了变化的部分。 从以上三种复制模式可知,标准日录复制对网络要求较高,复制费时,效率低, 显然不适合i n t e m e t 上的复制要求;同样d e l t a 同录复制虽然能显著提商性能,但在 i n t e m e t 上难予控制,实现难度大:而改进目录复制既能提高性能,又能满足i n t e r n e t 第6 页 国防科学技术人宁:研究十院学他论文 上的带宽要求,比较适合i n t e r n e t 上的e 1 录复制。本文将在改进目录复制模式的基础 上开展研究。 1 3 论文组织 论文分为五章。 第一章是绪论,介绍了课题背景,数据复制技术的发展过程、应用、常用的技术 和方法、基本特征以及发展趋势等。 第二章详细介绍了数据库复制系统的数据模型。在分析列比了传统的数据库复制 系统的基础上,提出了一种在广域网上的数据库复制模型及其技术实现方法。 第三章针对地理上分布的客户服务器模式对非数据库数据的共享需求,提出了一 种在广域网上的目录复制模型及其技术实现方法。 第四章介绍了数据库复制技术及目录复制技术在湖南防汛信息系统中的应用。 第五章是对本文的总结和对未来的展望。 第7 页 国防科学技术人0 研究生院学位论文 第二章数据库复制技术 数据库复制技术允许一个源服务器上的事务数据拷贝自动传送到本地或远端的一 个或多个目的服务器。数据可以连续不断地复制或以特定的时间间隔复制。数据也可 以全部或部分复制。每个目的服务器可以接收全部或部分复制数据。复制可以保存一 份表的多个拷贝,可以使多个数据库密切同步,可以在多个服务器上间歇地更新数据, 并且也可以在系统断电或产生故障之后重新使数据同步。本章提供了数据库复制的概 念、有关复制的术语和数据库复制的基本原理,列举了数据库复制的模式,描述了基 于i n t e r n e t 的数据库复制的基本特征、各组成单元以及具体实现,最后讨论了基于 i n t e r n e t 的数据库复制的的一致性和完整性问题。 2 i 数据库复制概述 在提出数据库复制概念之前,先让我们来看一个案例。假定一个客户要求为公 司的地区销售人员开发合同管理应用程序来监视销售和订货。每个宰l i 售代表有一台 可以连接到公司网络的便携计算机。 按照传统的做法。建立这种应用程序意味着将表从数掘库的其它对象中分离出 来,使得数据能够驻留在网络服务器上,而查询、窗体、报表、宏以及模块则驻留 在用户的计算机上。当销售人员想要检索或更新数据库中的信息时,就先登录到网 络上,然后打开计算机上的数据库,再从服务器上打开数据库。 使用数据库副本可以创建既包含数据又包含对象的单一数据库,然后为每个销 售人员生成数据库的副本。 或者可以使用链接表,以及单独地复制数据数据库和应用程序数据库。可以在 每个用户的计算机上建立副本,并使每个副本与网络服务器上的副本保持同步。销 售人员在工作期间更新自己计算机上的副本,然后在需要时使他们的副本与服务器 上的副本同步。也可以创建一批本地对象,例如表、窗体或报表,个用户或一批 用户只在一个副本上访问这些对象。 为全面把握和理解数据库复制技术,先引出以下一些基本概念: 数据库复制是一种新的数据库技术,它用于将某个服务器的某些表模式和表中的 数据复制和分发到远程或本地的数据库服务器上,保证数据同步更新,从而引用复制 的数据和本地表完成分布式查询操作,减少网络操作。这里有两种不同类型的复制形 式:紧凑一致和松散一致1 0 1 。 第8 页 国防科学技术人学研究生院学位论文 紧凑一致( t i g h tc o n s i s t e n c y ) 作为一种复制模式,它保证所有拷贝内容与原拷贝 内容一致,对所有节点上的副本的更新作为一个原子事务束实现所有副本的精确同步, 它需要一个高速局域网( l a n ) ,减少了数据库的可用性。目前可以通过二阶段提交( t w o p h a s ec o m m i t ) 来实现。 松散一致( l o o s ec o n s i s t e n c y ) 作为一种复制模式允许在原数据改变时与该数据的 复制拷贝更新时二者之间有一个日f j 问延迟。它不保证所有拷贝与原拷贝内容一致。松 散一致的一个优点在于它支持局域网、广域网( w a n ) 、快速和慢速通信线路,以及数据 库的周期性连接。松散一致通过时间调度进行同步,允许副本之间存在h , j 间差,不要 求副本之间的精确同步,各节点对本弛数据有完全控制能力,对本地数据的更新无需 与其它节点协调,只是把更新信息通知其余各副本所在节点,在极端情况下,只要有 一个节点正常,它也能正常处理本地事务,因此它有较好的数据库可用性,比紧凑一 致更易把握,本文所研究的是松散一致的复制模式。 数据库复制的术语是基于出版订阅语言 6 : 当数据的产生用于复制时,它是被出版的。将包含源数据库并产生数据用于复制 的服务器称为出版服务器,或称为出版者。一个出版服务器维护出版数据库,从出版 数据库中产生用于复制的出版数据,并将出版数据的所有变化情况的拷贝送入分发服 务器。 内含分发数据库,接收所有被修改的出版数据,以及在其分发数掘库内存储这些 数据,并在适当时候将其移入订阅服务器。分发服务器可以与出版服务器兼用一台计 算机,或使用独立的计算机。分发服务器也称为分发者。 订阅服务器维护目的数据库,接收维护出版数据拷贝。 复制使得可以向其它服务器分布指定数据集的只读拷贝,因而数据就可以为远程 用户使用,而不是以本地方式提供给远程用户使用。这种数据可用性不依赖于l a n 和 w a n 之间脆弱的连接,且能更有效地使用长距离网络连接。这种方式不是让1 0 0 0 0 个 用户通过w a n 从全球各地访问同一台服务器,而是各地用户分组访问各自的只读数据 的本地拷贝。碰到如下需求情况,可以考虑数据库复制: 1 ) 需要在办公室中共享数据。可以使用数据库副本来创建公司的数据库的拷贝, 然后将其发送给每个卫星办公室。在姆个办公室把数据输入到自己副本巾,再 使所有的远程副本皆与公司总部的副本同步。下属的各级副本能够维护本地表, 该表包含不存在于集合的其它副本中的信息。 2 ) 需要在分散的用户之间共享数据。销售人员在办公室以外输入到数据库中的新 信息,可以在销售人员与公司的网络建立起电子连接的任何时候被同步。在同 常工作中,销售人员可以拨入网络,使副本同步,使用数据库的当前最新版本。 因为在同步期间只传输新增的更改,所以可以使维持数据更新所消耗的时间和 第9 页 国防科学技术人学研究乍院学f i :j = 沦文 费用减到最小。也可使刚部分副本( p a r t i a l ,e p l i c a s ) 只同步部分数据。 3 ) 需要增强服务器数据的可访问性。如果应用程序不需要立即更新数据,那么就 可以在圭服务器上使用数据库副本来减少网络期l 载。1 服务器自己的数据库拷 姒来引入第二服务器将改善响应州州。确定儿州格i i d 步副本的时问农,使之适 应用户的更改需要。提供火最集t l f - h 数抓访m 越多,剐木j ( = _ j 数据席集- l r 化竹那 的要求就越少。 4 ) 需要发布应用程序的更新。复制应刚程序时,4 i 仪自动复制表c i 的数据,还要 复制应用程序的对象。如果对数据库的设计作了更改,那么将在下一次同步期 间传输这些更改;不必发布软件的新版本。 5 ) 需要防止全部数据遗失。因为副本发们跨越多个数据库的数据,所以当原始数 据库被破坏时,可以用副本数据库巾的一个来恢复数据。 虽然数据库副本可以解决分布式数据库处理中固有的许多问题,但是在f 列情 况下,副本仍然达不到理想要求: 1 ) 如果需要更新多个副本内的大量记录。需要对4 i 同剐本巾的现存记录进行频繁 更新的应用程序,可能会比简单地i i - 数据席小插入新记录的应用程j 筘产生更多 的记录冲突。当位于不同地点的用户同时剥同。个记录作更改时,将发生记录 冲突。应用程序的记录冲突越多,需要的筲圳i | _ _ j 问就越多,因为这些冲突需要 用手工解决。 2 ) 如果对数据一致性的要求非常严格。象资会过,。、航班机票的预订、以及包裹 装运的跟踪这样的事务处理应用程序,要求任何时候的信息不能有半点差错。 如果能在一个副本内处理事务,就不在几个副木巾处理。在同步期间各副本间 交换的信息,是事务的结果,而不是事务本身。 2 2 数据库复制的基本原理 复制是一种比较抽象而复杂的过程。在复制过程中,涉及的复制组件和复制服务 都比较多,复制的实现也比较复杂。为了更好地理解复制,可以把复制过程比喻成相 对比较容易理解的出版过程。这里提到的出版,就足人们r 1 常所熟悉的报纸、杂志、 书籍、电子出版物等的出版。之所以可以把复制过程比i l 俞成出版过程,这是因为这两 种过程从内容到实现形式都非常类似。从内容方面看,这两种过程都是传送信息,出 版主要传送新闻、数据、图像、知识等信息,复制,1 = 要传送数据信息。从实现形式方 面看,在这两种过程中,都有信息源和信息接收处。在出版过程中,信息源是指占有 信息的出版社,信息接收处是指订阅了出版物的门jj “。在复制过程r 1 1 ,信息源是将要 复制的数据所在的系统服务器,信息接收处是接收复制过来数据的系统服务器或者其 第l o 页 国防科学技术大学硼究生院学1 i 7 = 论文 他服务器。从信息的传送方向来看,这两种过程基本上都是单向的。在出版过程中, 信息的传送方向是从出版社到用户。在复制过程中,信息的传送方向一般是从存储了 主数据库的服务器到接收数据库所在的服务器。当然,在特殊情况下,通过设置,复 制过程也可以是双向的。 由于把复制过程比喻成了出版过程,因此,复制过程中的组件也就可以进行相应 的比喻,例如出版服务器、订阅服务器、分发服务器、文章和出版物。出版服务器包 含了将要复制的数据所在的数据库,该服务器负责制作将要出版的数据,然后将这些 出版的数据的所有变化发送到分发服务器中。订阅服务器是数据复制的目标地,负责 接收复制过来的数据,并且负责接收从出版服务器上传送过来的全部变化。分发服务 器也是一种非常重要的服务器,该服务器在出版服务器和订阅服务器之间起一个中介 作用。分发服务器负责从出版服务器中接收复制过来的数据,然后在该服务器上的分 和数据库中存储这些变化,最后按照指定的时间间隔推向相应的订阅服务器中。虽然 分发服务器和出版服务器可以在同一台计算机上,但是为了减轻出版服务器的工作负 荷,般都把分发服务器放在一个单独的机器上。一个分发服务器不仅可以支持一个 出版服务器,实际上,一个分发服务器可以支持多个出版服务器。 就象出版过程中有出版物和文章一样,在复制过程中,把将要复制的数据也称为 出版物和文章。在复制过程中,文章是复制的基本单元,是组成出版物的最小单位。 文章是与数据库中的表对应的。文章既可以对应一个表中全部数据,也可以只包括表 中的部分数据。单个文章是不能复制的,文章必须组成出版物才能出版。出版物是 一个完整的将要复制的内容,它包括一篇或者多篇文章,是订阅服务器订阅的对象。 一个订阅物包括了出版物中的全部文章。 当一篇文章只包括表中的一部分数据时,就等于对表中的数据进行了过滤。过滤 数据具有实际的意义。例如,在复制过程中,如果允许多个站点修改数据,那么为了 避免复制冲突,就可以采取过滤数据的方法,使不同的站点复制同一个表中不同部分 的数据。这种经过过滤的表也可以是一个单独的文章。过滤数据有三种方法,即水平 过滤、垂直过滤和水平垂直混合过滤。水平过滤就是包含了表中的一部分列,是列的 子集。这利,只有可以复制的列中的数据才会出现在订阅服务器中。垂直过滤就是包 含了表中的一部分行,是行的子集。当使用垂直过滤时,只有这一部分行中的数据才 可以传送到订阅服务器中。另外。还可以采取水平垂直混合过滤的方法,即通过选择 表中的一部分列和一部分行,复制表中的一部分数据。 2 3 数据库复制的类型 复制有多种类型。根据事务的一致性、各个站点的自主性和分区数据避免冲突的 第1 1 页 闭防科学技术人宁。究小院。何沦文 能力,可以把复制分成三种类型。这三种复制类7 弘分别是快照复制、事务复制和合并 复制 6 。 快照复制类型就是把在出版服务器j 二的“”l 反物t i 、的当前数据进行快照,然后周期 性地替代订阅服务器上的 n j 扳物。这个过程类似1 i 快速拍照的过程,即首先抓拍出版 服务器l f l , j 数据内容,然后把这些照片9 l l i i 存翊服务器e 。快照复制是一利t 基本的可 以独立使用的复制类型,例如,事务复制就是在快照复制基础上的一种复制类型。在 某些环境下,使用快照复制是很有意义的。例如,如果要求在订阅服务器e 的数据是 只读的,不要求在订阅服务器上修改数据,那么n j 以考虑选择快照复制类型。另外 如果不希望在出版服务器和订阅服务器一卜有冲突锁那么,为了最安全地避免这些冲 突,可以选择使用快照复制类型。还有,如果允y i :订阅服务器有站点独立性,即可以 在这些订阅服务器上修改数据而不影响出版服务器卜的数掘。那么可以考虑使用快照 复制类型。在快照复制中,不要求被复制的表有主键。快照复制过程大约可以分两步: 第一步,快照进程阅读出版数据库的内容,并且在分砸工作文件夹中创建结构和数据 文件。在快照复制中,分布数掘只是跟踪复制的:c i 态,而不存储复制的数据。第二步, 分椎进程使用分和工作央叶l 的文件在订阅服务器1 _ 创建相应的表、阅读数据和创建索 引,每一利,新的快照内容替代订阅数据库巾以前复制过来的内容。在快照复制类型中, 列于推j u 订阅,分硼j 代理运行在分发服务器j :,l i i 用分发服务器的资源;列于拉回订 阅,分布代理运行在订阅服务器上,占用订阅服务器的资源。 事务复制类型就是把出版服务器上的事务作为增加的变化分布到订阅服务器中。 事实上,事务复制就是只把改变的内容复制过去,而快照复制则不论数据是否变化, 都要把标记为复制的数据全部复制过去。在这些复制类型中,事务复制是一种常用的 复制类型,因为它可以最大程度地降低事务一致性的延迟。当然,事务复制不是一种 可以完全独立的复制类型,丽是建立在快照复制基础上的种复制。也就是说,在采 用事务复制类型寸,必须进行一次快照复制,以便i 司步出版服务器和订阅服务器。一 般地,当要复制的数据量比较大,并且网络传输费用比较高时,应该考虑选择事务复 制,因为与快照复制相比较,事务复制可以加快复制速度、降低复制费用。事务复制 的进程包括下列步骤:第一步,使用快照复制,初始化出版服务器和订阅服务器:第 二步,执行事务复制,同志读代理阅读版数据库的事务同志,如果有变化的数据, 那么将这些事务f 1 志数据临时存储在分巾数据库h 第三步,分前什e 理负责把在分布 数据库中的数据应用到多个订阅服务器中。在事务复制中,与快照复制类似,对于推 出订阅,分布代理运行在分发服务器l ,i 用分发服务器的资源:对于拉回订阅,分 砷j 代理运行在订阅服务器上,占用订阅服务器的资源。但是,在事务复制中,要复制 的表必须有主键,无主键的表是不能复制的。 快照复制是在某一时刻为数据库照像,快照复制需要更少的c p u 处理时间,因为 第1 2 页 阑防利学技术人学 i j 究乍院学他沦文 它无需监视数据源服务器上的数据的改变,代特in s e r t 、u p d a t e 和d e l e r e 语句的是 整个数据集的全而更新,因此快照复制是把所有数掘引入订阅报务器,而且对于大型 数据库或变化不人的数据j 乖,其传输罱祀慢述或b 5 , 9 1 的通讯线路中是无法容忍的,效 率也非常低。事务复制足基1 i 事务| 1 志的,允v i :自动分砷i 与标记为复制的表相关联的 记入f i 志的事务。列复制表的所有改变都异步地安放在多个目标服务器一j 的目标表中 进行改变。复制可以在不完全排除其它用,、剥表的访问的情况下完成相关的插入、删 除和修改的过程。事务复制对变化不人的数据库效率j r 常高。图2 1 为假发插入与删 除操作数目相同,即数据库大小不变情况f ,两种复制类型随着数据库变化率的网络 传输的对比。 网络传输帚 伙照复制 事务复制 数据车变化牢 图2 1 两种复制类型网络传输对比 合并复制类型允i f l :女- 1 i 点自t 改变复制过的数扪,经过段叫间( 或者是周期性的 调度时间,或者是根据需要而预定的l i , 1 l f j ) 之后,把有关站点对复制数据的改变合并 起来,并且反应到全部站点。虽然合并复制r i :n 有复制类型中具有最差的事务一致性, 但是它是使站点具有最大独立性的复制类型,1 :f 1 也可以保证所有的站点都可以有同 样的数据。合并复制特别适用于活动的用,。在合并复制中,分布数据只是跟踪复制 的状态,而不存储复制的数据。合并复制的进程般是这样的,第一步,使用快照复 制,初始化出版服务器和订阅服务器:第:_ 少,合并代理使用那些由快照代理为了建 立订阅数据库而拷贝的文件;第三步,合j i :代理从“扳服务器l 】取出变化,然后把这 些变化应用到订阅服务器i h 第四步,合_ : f :代理从所有的阅服务器中取出变化,然 后把这些变化应用到出版服务器中。这些数据既可以周期地合并,也可以根据需要合 并。在合并复制类型中,划1 :推出订阅,合i :代理运行袖:分发服务器巾,占用分发服 务器的资源;剥于拉网订阅,合并代理运行。1 j i j + 阅服务器巾,占用订阅服务器的资源。 合并复制是一种比较复杂的复制类型,会引起符利冲突。因此,在合并复制过程 中,系统对复制数据库进行一些结构修改,以防i i :或解决复制过程中的冲突。系统对 第13 贝 国防利学技术人。i 卅究7 i - i 皖浮似沦丈 复制数据库结构的修改,一般包括三个藕要f i j 办i i t i :系统为将要复制的表的每一行i 庀 录确定唯一的列标识;增加儿个系统表川术支持数抓跟踪、i 是高l r , l 步效率、以及检测、 解决利报告冲突:在版服务器和订| j | 服务器的丧i :刨建触发器,以便跟踪数掘的变 化。这些触发1 1 1 i l l 捉这些变化,然后把这j l b 变化i 已求m 介j f :系统表一i i o 解决冲突的基 本方法是基于数据的优先级。合并代邢跟踪财丧,i ,每行的每个修改,并做一个标 记。然后基于对数据分配的优先级,评伶观仃的数抓和刚到达的数据、老数据和新数 据,解决数据之间的冲突。 2 4 数据库复制方案 复制服务器用于分布式客户服务器环境时,复制服务器系统巾主要有以f 三种 类型节点。 p r i m a r y ( 仅本节点有主数抓) 其它节点数据均d :i 主节点复制而得。通过修改1 :1 7 点数搠政变其它节点数据。 s e c o n d a r y ( 仅含有复制数据) 复制节点用以接收一个或多个丰一弘点f i j 数柳。短制7 点数扪是只渎的,不能被修 改。 p e e rt op e e r ( 既包括主数抓也包含复制数 l l :) 既可以从这个节点复制数掘到其它系统,也j 从j 它1 ,点接受数据。在这种环境 中要避免或解决修改冲突。 在一个复制系统中可以包括j l l l 节点,这l l t 7 , z 用系统的要求而定。 复制的物理模型就是复制设计的物理实现,包括如何选择 l j 设服务器、订阅服务 器和分发服务器,以及如何连接这些服务器。般地,有互种綦本的复制模型,它们 是中心出版服务器分发服务器、- i 一心订阅| l 醍务器多个舨服务器、多个“ 版服务器 多个订阅服务器 6 7 。 第1 4 页 闲防利一技术人二球院学似论文 2 4 1 中心出版服务器,分发服务器( o n ep r i m a r y 一m u l t i p l es e c o n d a r y ) 图2 2r h 心出版服务器分发服务器模型示意陶 中心出版服务器分发服务器就是指把。个服务器定义为 _ 版服务器分发服务 器,把一个或者多个服务器定义为订阅服务器,i i 川一心i i i 版服务器分发服务器负责出 版和分布数据到一个或者多个订阅服务器巾,其纳f f , j # ) i l 图2 2 所示。m 版服务器既可 以放在一台服务器l :也川1 以放7 l :1 :刚的服务器h “1 1 、灵,为了减轻版服务器的 工作负荷,将出版服务p , , l 并1 1 分发服务器放仃刁:州f i , j i j l t ! 务限i :。这种复制模型足最躲本 的复制模型,也是常用的一种结构,适用r 将食、i k 的t 心数掘信息分散传输给各个分 支机构等环境。 这种模式用于决策支持系统。 这是一种简单模式,复制服务器提供种,j 便有效的力法从叶i 央1 i 点分和数据到 多个复制节点,但在复制节点数据只允r l 读不允汁修改。这样的

温馨提示

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

评论

0/150

提交评论