(计算机软件与理论专业论文)一种分布式异构数据库备份恢复机制的研究.pdf_第1页
(计算机软件与理论专业论文)一种分布式异构数据库备份恢复机制的研究.pdf_第2页
(计算机软件与理论专业论文)一种分布式异构数据库备份恢复机制的研究.pdf_第3页
(计算机软件与理论专业论文)一种分布式异构数据库备份恢复机制的研究.pdf_第4页
(计算机软件与理论专业论文)一种分布式异构数据库备份恢复机制的研究.pdf_第5页
已阅读5页,还剩59页未读 继续免费阅读

(计算机软件与理论专业论文)一种分布式异构数据库备份恢复机制的研究.pdf.pdf 免费下载

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

文档简介

一种分布式异构数据库备份恢复机制的研究 摘要 随着信息系统在企业中广泛应用,其数据的重要性与日俱增,成为企业资 产中重要的组成部分。如何保证系统数据安全和稳定成为企业用户的首要问 题。传统分布式数据库的广泛使用,缓解了这一问题,然而传统分布式数据库 在备份恢复过程中容易出现数据状态不一致、备份恢复操作复杂等问题,导致 备份数据不可用或难以管理,影响数据的安全。因此,一种快速、简洁而有效 的分布式异构数据库备份恢复机制成为当前企业用户的迫切需要。 本文较为系统地分析了数据库备份与恢复的传统理论、研究现状和现有备 份恢复机制。在探讨分布式异构数据库备份恢复模型应用前提及特点的基础 上,提出该模型的体系架构、阐述模块机制的整体方案并研究模型的远程数据 复制、数据备份和动态数据恢复三大模块。然后,本文研究了实现该模型的核 心组件及主要功能的三个关键技术:远程数据复制技术,给出其数据捕获、抽 取及传输的过程;数据冲突消解技术,提出基于两层本体的数据冲突消解模型; 分布式异构数据库动态恢复技术,将远程数据复制技术引入数据恢复中,提出 种分布式异构数据库故障动态恢复策略并证明其正确性。最后运用模型及其 关键技术的研究成果和j a v ae e 相关技术,实现了原型的主要功能,并将其应 用到“煤矿安全管理信息平台”的开发中。 关键词:分布式异构数据库,备份恢复,数据复制,冲突消解,数据捕获,动 态恢复 r e s e a r c ho nad i s t r i b u t e dh e t e r o g e n e o u sd a t a b a s e b a c k u pa n d r e c o v e rm e c h a n i s m a b s t r a c t c o m i n gw i t ht h ew i d e l yu s eo fi n f o r m a t i o ns y s t e m si st h ee n h a n c e di m p o r t a n c eo f t h e i rd a t a h o wt oe n s u r et h ed a t as a f ea n ds t a b l ei sac r i t i c a lp r o b l e mt om o s tc u s t o m so f e n t e r p r i s e s t r a d i t i o n a ld i s t r i b u t e dd a t a b a s es l o wd o w nt h i sp r o b l e mb u ti m p o r ta n o t h e r i t s c o m p l e xo p e r a t i o n s ,i n c o n s i s t e n td a t as t a t e sa n do t h e rd e f e c t so f t e nl e a db a c k u pd a t an o t a v a i l a b l eo rd i f f i c u l tt om a n a g e ,w h i c hs e r i o u s l ya f f e c t sd a t as e c u r i t y t h e r e f o r e ,a c o n v e n i e n t ,s i m p l ea n de f f i c i e n td i s t r i b u t e dh e t e r o g e n e o u sd a t a b a s eb a c k u pa n dr e c o v e r y m e c h a n i s mi sn e e d e df o ro p e r a t o r t h i sd i s s e r t a t i o ns y s t e m a t i c a l l ya n a l y z e sd a t ab a c k u pa n dr e c o v e r y st r a d i t i o n a lt h e o r y , c u r r e n tr e s e a r c hs t a t u sa n de x i s t e db a c k u pa n dr e c o v e r ym e c h a n i s m s b a s e do nt h e d i s c u s s i o no fd i s t r i b u t e dh e t e r o g e n e o u sd a t a b a s eb a c k u pa n dr e c o v e r ym o d e l sa p p l i c a t i o n b a c k g r o u n d ,w ep r o p o s et h ea r c h i t e c t u r eo ft h em o d e l ;g i v et h eb a c k u pa n dr e c o v e r yo f t h e s o l u t i o nw h i c hi sc o m p o s e db yt h e r em o d e l s :r e m o t ed a t ar e p l i c a t i o nm o d e l ,d i s t r i b u t e d d a t ab a c k u pm o d e la n dd y n a m i cd a t ar e c o v e r ym o d e l t h e n ,w er e s e a r c ht h r e ek e y t e c h n o l o g i e so fb a c k u pa n dr e c o v e r ym o d e l :i nt h er e m o t ed a t ar e p l i c a t i o nt e c h n o l o g y , d a t a c a p t u r e d ,e x t r a c t e da n dt r a n s f e r r e dp r o c e s s i s g i v e n i nt h ed a t ac o n f l i c t sr e s o l v e t e c h n o l o g i e s ,t w o - l e v e lo n t o l o g i e sb a s e dd a t ac o n f l i c t sr e s o l v es o l u t i o ni sp r o p o s e da n d v a l i d a t e d i nt h ed i s t r i b u t e dh e t e r o g e n e o u sd a t a b a s ea u t o m a t i cr e c o v e r yt e c h n o l o g y , a d i s t r i b u t e dh e t e r o g e n e o u sd a t a b a s ec r a s hr e c o v e r ys t r a t e g yi sp u tf o r w a r da n dp r o v e d i n t h ee n d ,w ea c h i e v e st h em a i nf u n c t i o n so ft h ep r o t o t y p es y s t e mb a s e do nt h em o d e l ,k e y t e c h n o l o g i e sa n dj a v ae er e l e v a n tt e c h n o l o g i e s ,a n da p p l i e si nt h ed e v e l o p m e n to fc o a l m i n es e c u r i t ym a n a g e m e n ti n f o r m a t i o np l a t f o r m ( c m s m i s ) k e yw o r d s :d i s t r i b u t e dh e t e r o g e n e o u sd a t a b a s e ,b a c k u pa n dr e c o v e r y , d a t a r e p l i c a t i o n ,c o n f l i c t sr e s o l v e ,d a t ac a p t u r e d ,a u t o m a t i cr e c o v e r y 图表清单 图3 1 复制结点分布图1 4 图3 2 复制数据示意图1 5 图3 3 分布式异构数据库备份恢复模型构架图1 6 图3 4 系统接口组成模块图16 图3 5 远程复制模块构架18 图3 6 数据备份模块构架图1 9 图3 7 数据恢复模块构架图2 l 图4 1 数据抽取示意图2 5 图4 2 复制数据传输图2 6 图4 3 冲突消解模型2 7 图4 4 数据模型本体r d f 图2 8 图4 5 映射模型本体r d f 图。2 9 图4 6 语法冲突消解3 0 图4 7 语义冲突消解示意图3 l 图4 8 星型拓扑结构模型3 4 图4 9 数据分布模型3 5 图5 1 原型系统部署图4 2 图5 2 远程数据复制模型类图4 3 图5 3 系统登录界面。4 7 图5 4 备份恢复信息管理界面4 7 图5 5 初始化备份4 8 图5 6 增量备份4 8 图5 7 恢复操作界面4 9 图5 8 矿服务器恢复信息4 9 图5 9 局服务器恢复信息4 9 图5 1 0 单叶子结点恢复性能5 1 图5 1l 多结点恢复性能5 1 清单3 1 数据模型本体x m l 描述格式。1 6 清单3 2 映射模型本体x m l 描述格式17 清单3 3s q ls e r v e r 数据库完整备份模板2 0 清单3 4s q ls e r v e r 差异备份模板2 0 清单3 5c u m u l a t i v e 增量备份模板2 0 清单3 6o r a c l e 备份操作配置模板2 0 清单3 7s q ls e r v e r 完全恢复模板2 l 清单3 8s q ls e r v e r 即时点恢复模板。2 1 清单3 9s q ls e r v e r 日志恢复模板2 2 清单3 10o r a c l e 恢复模板2 2 清单5 1 初始化备份存储过程模板4 4 清单5 2 增量备份模块清单4 4 清单5 3 可用备份集查询模板。4 5 清单5 4 恢复存储过程模板( 部分) 4 6 表4 1 操作日志表2 4 表5 1 系统运行环境表4 0 表5 2 性能测试配置参数5 0 表5 3 性能测试参数5 0 算法4 1 两阶段恢复算法3 6 h 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。据我所 知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果, 也不包含为获得一金罡王些太堂 或其他教育机构的学位或证书而使用过的材料。与我一同 工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。 学位敝作者签名:王亥 签字日期:叫年节月纠日 学位论文版权使用授权书 本学位论文作者完全了解金魍王些太堂有关保留、使用学位论文的规定,有权保留并向国 家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人授权金自曼王些盍堂可 以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手 段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名:s - 霞 签字日期:渺1 年中月e l 学位论文作者毕业后去向: 工作单位: 通讯地址: 翩虢杀吖翰 一舻尹f 肛卜 电话: 邮编: 致谢 在本论文完成之际,由衷感谢我的导师袁兆山教授把我领入了神圣的科学 殿堂的大门,在学习科研的道路上为我指明了方向,更感谢他在做人方面对我 的教诲,让我一生受用不尽。在论文选题、研究方案的确定及整个写作过程中, 袁老师都倾注了大量的心血,给了我意义最深刻的指引。在研究生阶段中,袁 老师给予我巨大的鼓励、帮助和指导,提供了良好的工作学习环境的同时,更 为我创造了理论提升与实践锻炼的机会,并以其严谨的治学作风,求真务实的 学者风范,平易近人的生活态度深深地影响着我,使我不论在学业、社会实践 还是为人处事上都受益菲浅。导师的启迪与教诲、关心与爱护,我将铭记于心。 向所有在我读研期间给予我无私帮助的老师们表示深深的谢意,向参与本 论文送审、评审和答辩的老师致敬,感谢他们所付出的辛勤劳动。 感谢我的父母和亲人,他们在我攻读硕士学位期间给我创造了潜心学习的条件, 时时督促我要好好学习,在生活上和精神上都给予我极大的关心和支持。他们的亲情 是我一生最宝贵的财富和精神支柱。 感谢软件工程实验室的兄弟姐妹们,他们为我的研究工作和论文写作提出了很多 宝贵的意见,在与他们平日的共同学习和朝夕相处中,让我体会到了团队协作和交流 的快乐,并能时刻感受到集体的温馨、友情的可贵。 王震 2 0 0 9 年4 月 第一章绪论 1 1 课题来源 随着计算机在国民经济各个部门的广泛应用,存储数据的安全性在信息系统中占 据着主导地位。数据库系统作为重要的数据存储和管理系统,在实现数据资源共享、 数据快捷处理、数据海量存储的同时对数据库的维护、处理和安全性提出了更高的要 求。 企业信息数据具有数据量大、来源广、种类多、结构复杂等特点。经过多年的信 息化发展,企业积累了大量的业务数据,这些数据对企业的发展具有重大的意义,甚 至起到生死存亡的作用。由于各个阶段使用的数据库系统可能不同,如何充分利用这 些数据源中的资源成为企业信息化面临的一个主要问题。分布式环境本身的复杂性加 上各个结点高度自治性,任何结点故障或不规范的数据操作都有可能导致全局数据的 不一致,出现形式上的网络分割。当结点数据出现不一致,在恢复到一致性状态之前, 任何需要同该结点进行交互的数据将不能进行。因此,故障发生后,能够迅速的恢复 本地数据,并检测恢复全局数据对分布式异构数据库系统来说有至关重要的意义【l 引。 本课题以淮北矿业( 集团) 公司安全管理信息平台( 耶c m s m i s ) 例为基础。淮 北安全信息管理平台由一个安监局中心管理系统和2 0 个矿管理系统组成一个分布式 异构应用系统。安监局中心管理系统采用o r a c l e 9 2 数据库系统,负责管理整个分布 式异构系统的基础数据配置,分发矿系统提供的全局共享数据,汇总各个矿系统安全 生产数据,向安监局管理人员提供数据分析及决策支持。矿管理系统采用s q l s e r v e r 2 0 0 0 数据库系统,负责管理矿安全生产数据,向中心管理系统提供本矿共享数 据,接收并维护中心管理系统分发的全局共享数据,向矿管理人员提供数据分析及决 策支持。整个分布式异构系统采用星型连接结构,共享数据通过数据复制技术保证各 个结点数据一致。 本文研究意义在于对当前分布式异构数据库应用进行深入分析,针对企业使用中 现有的备份恢复技术在分布式数据库系统中容易出现数据状态不一致导致无法恢复、 备份恢复操作复杂易出错,特别是备份恢复操作需要进行全局处理、备份时间长、资 源消耗大等特点,从实际问题出发,为企业应用构建出一套完整快捷、低成本、易操 作的分布式异构数据库备份恢复系统,从而为企业应用在不增加维护成本的前提下提 供良好的数据保障。实践证明本系统具有较高的应用价值和理论意义。 1 2 主要研究内容 本文通过对分布式异构数据库备份恢复机制的进一步研究,采用数据库产品的基 本备份工具及两阶段恢复协议,提出一种可行的分布式异构数据库备份恢复解决方 案,主要工作如下: 第一,通过对传统和最新的备份恢复技术的调研分析,定位于分布式异构数据库 备份恢复相关实现技术的研究。研究内容包括:异构数据库复制技术、分布式异构日 志与检查点管理技术、持续数据保护( c d p ) 技术、基本备份恢复工具的研究,以此 解决淮北矿业集团煤矿安全管理信息平台使用中数据备份及故障恢复问题。 第二,对分布式异构数据库备份恢复技术相关理论进行介绍。主要包括分布式数 据库技术、异构数据库复制、异构数据备份、异构数据恢复技术等多方面内容。 第三,提出模型体系结构、对分布式异构数据库备份恢复模型关键技术进行研究 并据此设计出分布式异构数据库备份恢复模型。介绍各个层次结构的特点及整体工作 机制,如异构数据分布机制、异构数据复制机制、异构数据备份机制、异构数据恢复 机制。 1 3 课题的研究现状 课题的研究现状从备份恢复系统和新兴的持续数据保护两方面阐述。 目前国外备份恢复系统的研究主要集中在存储行业几个巨头企业中,包括 s y m a n t e c 公司、c a 公司、e m c 、i b m 公司等。 s y m a l l t e c 【4 】包含高端n e t b a c k u p 和低端n e t b a c k u pe x e c 系列软件【引。 e m c 在收购l e g a t o 软件公司后推出的最新版本r e p l i s t o r6 1 和n e t w o r k e r 6 系统 用于大学复杂网络环境,提供多平台支持。 i b md b 2 e n t e r p r i s e9 提供d b 2r e c o v e r ye x p e r tf o rm u t i p l a f f o r m s 7 实现多平台备 份恢复,t i v 0 1 is t o r a g em a n a g e r 提供i b m 系列主机为主的系统平台的高端备份系统软 件。 m i c r o s o f ts y s t e mc e n t e rd a t ap r o t e c t i o nm a n a g e r2 0 0 6 通过卷影复制技术( v o l u m e s h a d o w c o p ys e r v i c e ) 实现备份和恢复;s q ls e r v e r2 0 0 8 使用m i c r o s o f ts y n c f r a m e w o r k 实现异构数据集成。 o r a c l ellg 提供o r a c l ei n t e g r a t i o n 实现异构数据集成。 持续数据保护( c d p ) 【8 】方面r e v i v i o 公司推出一款企业级c d p 产品,而且是硬 件产品一- - c p s1 2 0 0 ,提供秒到秒的粒度对应数据丢失或损坏事件之前的任意点。 m e n d o c i n o 公司通过收购v y a n t 科技,获得了后者基于主机的s m bc d p 产品 r e a l t l m e 。经过自己的开发,在增加了基于网络的功能后,成为一款企业级c d p 产 品r e c o v e r y o n e ,支持更多种类的服务器和存储系统,同时提供更好的性能和更高的 灵活性。 国内研究概括: 中山大学软件研究所与广州威腾网络科技有限公司联合开发的n e t b u n k e r 2 :用于 l i n u x 备份服务器的网络数据备份恢复【9 】。中科同向公司的h e a r t o n eb a c k u pe n t e r p r i s e 提供分布式备份,实现智能备份恢复,简化服务器和网络存储环境。华中科技大学、 东南大学对网络数据库备份恢复实现技术进行了一定的研究。 1 4 论文组织 2 本论文共分为六章: 第一章绪论,介绍了论文的课题来源及数据存储备份和恢复的重要性,论文的 研究意义、现状、内容和组织结构。 第二章分布式异构数据库备份恢复理论基础,介绍研究课题的基础理论,包括 分布式异构数据库理论、传统备份恢复理论及常见数据库产品备份恢复机制和相关工 具。 第三章分布式异构数据库备份恢复模型设计,在分析分布式异构数据库备份恢 复需求和现有模型的基础上,提出一种分布式异构数据库备份恢复模型的体系结构并 阐述该模型的备份恢复整体方案和工作机制。 第四章备份恢复关键技术研究,针对第三章中的备份恢复模型关键技术进行研 究,阐述数据分布、数据复制、数据备份及故障自动恢复解决方案。 第五章分析背景项目问题和需求,运用备份恢复模型及关键技术研究成果和 j a v ae e 相关技术,实现原型的主要功能并验证其效率。 第六章总结及展望,对全文进行总结,并指出研究中存在的主要问题和改进方 向。 3 第二章分布式数据库备份恢复理论基础 本章主要从分布式数据库系统理论、数据库备份恢复基础理论和常见数据库产品 备份恢复解决方案三个方面,阐述分布式数据库备份恢复相关理论。 2 1 分布式数据库系统理论 分布式数据库系统( d i s t r i b u t e dd a t a b a s es y s t e m ,简称d d b s ) 是一个逻辑上的 单一数据库整体,数据一致性、完整性及安全性都是对这一逻辑的单个数据库进行控 制的【2 】。通俗地讲,就是物理上分散而逻辑上集中的数据库系统。分布式数据库系统 使用计算机网将地理位置分散而管理和控制又需要不同程度的集中的多个逻辑单位 连接起来,共同组成一个统一的数据库系统1 9 1 。 分布式数据库系统通常包括以下几个部分:用户接口子系统、目录结构管理子系 统、编译子系统、分布式事务管理和并发控制子系统、数据执行子系统、通讯子系统、 恢复子系统和数据库【l ,】。 2 1 1 分布式数据库类别 分布式数据库系统的分布特性对用户来说是透明的,不同的分布式数据库系统有 不同的表现形式,根据分布式数据库系统建立的原则,可以将分布式数据库系统分为 两类:同构分布式数据库系统和异构分布式数据库系统【2 】。同构分布式数据库类似于 一个集中式数据库,只不过同构分布式数据库将数据存放在网络中分布的不同结点 内,而不是同一个结点。异构系统是另一类型的数据共享系统,它的特点是在各结点 上运行着不同的数据库管理系统【2 ,1 1 】。同构分布式数据库安装d b m s 也可分为两类, 故按照不同结点的类型和数据模型可将分布式数据库系统分为以下三类1 2 j : 1 ) 同构同质型:各个结点采用同一类型的数据模型,并且是同一型号的d b m s 。 2 ) 同构异质型:各个结点采用同一类型的数据模型,但是d b m s 的型号不同。 3 ) 异构型:各个结点的数据模型的类型不同,甚至型号也不同。 2 1 2 分布式数据库特性 分布式数据库系统的产生与发展都与它的新的特性有关i l2 。 1 ) 位置透明性:位置透明性就是对于处于系统中任何地方的用户和用户应用系 统并不需要知道特定数据库中数据的存储位置。不论是本地数据库还是远程数据库, 用户都和在本地数据库中一样直接进行操作,简化了应用系统的逻辑结构。 2 ) 复制透明性:在分布式系统中,根据业务处理的需要,数据分散在多个结点 上,有的数据只在异构结点中存储,有的数据则在多个结点上冗余存储,以此来提高 数据的安全性,改善应用系统的可用性和系统处理速度。系统必须在对同一逻辑数据 在不同的结点进行网间复制,以此来支持一定的冗余数据分布,保证冗余数据一致性。 复制透明性意味着用户面向的是逻辑数据,而不必关心物理数据存储在什么位置及是 4 否有冗余。 3 ) 局部自治:和集中式数据库相比,使用分布式数据库的单位往往在物理上分 布而逻辑上集中,企业系统内部各个职能部门对自身的数据负责,允许部分数据共享 供其他部门使用。这样多个分布在不同部门的数据库系统具有高度的自治性,以较少 的相互干扰构成更大的分布式数据库系统,提高了数据的安全性和可靠性。 4 ) 高可靠性和可用性:分布式数据库系统的可靠性建立在数据分布的基础上。 由于数据有适当的冗余,当个别结点出现故障是,系统可以迅速切换到其他可用结点, 或对当前结点的相关事务转移和利用复制数据进行数据恢复,系统其他结点可以不受 影响的正常工作。 5 ) 灵活性和高效性:分布式数据库系统的数据通过复制存储在较近的结点,有 利于减少网络响应时间和网络负载。通过数据复制,可以在很大程度上支持企业信息 的更新同步和多样化。 2 1 3 分布式数据库数据分布 分布式数据库系统数据分布的主要目是提高访问的局部性。即通过数据的合理分 布,尽可能使更多的数据能够就地存放,以减少远距离的数据访问。数据的分布的目 的是为了就地访问,而不是分布访问。 在关系数据库模型中数据的分布单位有2 种:分片和分配【9 】。分片是指把一全局 对象( 实体或关系) 细分成若干逻辑片段的过程;分配是指把各片段映射到一个或多 个结点的过程,片段是合适的分配单位。 对分布式数据库分割后,仍应保持d d b 原有的特质,分割后的各个逻辑关系直 接应遵循下列原则: 1 ) 完整性原则。全局关系的所有数据项必须包括在任何一个片断中,不允许出 现某个数据项属于全局关系,但却不属于任何片段。 2 ) 重构性原则。所有片段必须能重构( 逆操作) 成全局关系,即能够由一个全 局关系的各个片段来重建该全局关系。 3 ) 不相交原则。不相交原则不是必须的,但有这条原则可以使分割不引起太大 的复杂。分割时不相交,则分配时的冗余可以得到控制。 按上述原则,常用的数据分片有如下几种基本类型p ,1 2 j : 1 ) 水平分片:按一定的条件把全局对象的所有元组划分成若干个不相交的子集, 每个子集为关系的一个片段。水平分片实际上是关系的选择操作。 2 ) 垂直分片:把一个全局对象的属性集分成若干子集,并在这些子集上做投影 运算,每个投影称为垂直分片。垂直分割实际上是指对属性集上的投影操作。 3 ) 导出分片:水平分片的条件不是本对象属性的条件,而是其他对象属性的条 件。导出分片是一种相关分片操作,它是一种半联结操作。 4 ) 混合分片:是水平分片和垂直分片的混合操作,即对关系的选择和投影,视 5 应用需要进行操作。可以先水平分片再垂直分片,也可以先垂直分片再水平分片,但 它们的结果是不相同的。 在满足用户需求的前提下,数据片段的分配应尽可能提高系统的效率,具体分配 方式可采用如下方式: 1 ) 集中式:所有的数据片段安排在同一个结点上。 2 ) 分割式:所有的数据都只有一份,被分割成若干个逻辑片段,每个逻辑片段 被分配到一个特定的结点上。 3 ) 全复制式:数据在每个结点上重复存储,即每个结点上都有一份完整的数据 副本。 4 ) 混合式:是一种介于分割式和全复制式之间的分配方式,数据有适量冗余。 2 2 数据库备份恢复理论 总的来说,数据库备份恢复是为了预防数据库的数据丢失,以及为了重建数据而 采取的各种策略。分布式数据库以集中式数据库为基础,因此分布式数据库的备份恢 复理论也遵循集中式数据库备份恢复规则。 2 2 1 数据库备份 数据库备份指的是把数据库复制到转储设备的过程,最简单的数据库备份方式是 复制数据【1 3 】。对于数据库来说,需要复制的数据不仅仅是用户数据,还包括一些重要 的数据库组件,像控制文件、数据文件等。在发生数据丢失或应用程序错误时,可以 利用备份数据来重建数据库。 数据备份方式分为物理备份和逻辑备份【i 引。 物理备份是指将数据库文件从一个位置复制到另一个位置,一般复制到用于放置 数据库拷贝的磁带或磁盘上。需要进行备份的数据库包括数据文件、归档重做日志和 控制文件等。物理备份是数据库备份恢复策略中最常使用的一种备份方式,一般利用 操作系统自带的命令和工具来进行物理备份。 逻辑备份是利用导出工具将一个数据库记录集以执行s q l 的方式从数据库中读 取出来并写入一个文件中。在需要恢复的时候,可以利用导入工具从这个文件中读取 数据,并通过执行s q l 语句的方式写入到数据库中。这些记录的读出和导入与其物 理位置无关。如o r a c l e 数据库的e x p o r t 工具、s q ls e r v e r 的导出工具都是以该方式 进行备份。和物理备份相比,通过导出备份的数据库和数据文件完全脱离的关系,并 且可以被导入到其他的数据库中,甚至运行在不同操作系统的数据库中,具有更大的 灵活性。 常用的数据库备份方式主要包括完全备份、差异备份、增量备份和文件系统快照 备份【1 0 1 。 完全备份( f u l lb a c k u p ) :完全备份是最为常见的一种备份方式。它忽略两次备 6 份操作之间数据的变化情况,可以备份整个数据库包括用户表、系统表、索引、视图 和存储过程等所有数据库对象。在备份过程中,任何现有的标记都被清除,每个文件 都被标记为已备份,换言之,清除存档属性 4 1 。 差异备份( d i f f e r e n t i a lb a c k u p ) :备份自上一次完全备份后发生变化的所有文件。 差异备份过程中,只备份有标记的那些选中的文件和文件夹。它不清除标记,既备份 后不把文件标记为已备份文件,不清除存档属性。 增量备份( i n c r e m e n t a lb a c k u p ) :针对上一次备份( 无论是完全备份还是差异备 份) 而言,备份自上一次备份后所有发生变化的文件。增量备份过程中,只备份有标 记的选中的文件和文件夹。它清除标记,即备份后标记文件,清除存档属性。 一般在使用过程中,这三种策略常结合使用,常用的方法有:完全备份、完全备 份加增量备份、完全备份加差异备份。 完全备份会产生大量数据移动,为了避免通过网络传输数据,通常直接把磁带介 质连接到每台计算机上。这样,由于人的干预( 放置磁带或填充自动装载设备) ,磁 带驱动器很少成为自动系统的一部分。其结果是较差的经济效益和较高的人力花费。 完全备份加增量备份源自完全备份,不过减少了数据移动,其思想是较少使用完 全备份。增量备份的关键问题是:自昨天以来,哪些文件发生了变化,这些发生变化 的文件将存储在当天的增量备份磁带上。在完全备份加增量备份方法下,如果用户在 周六晚上进行完全备份,在其它6 天( 周日到周五) 进行增量备份则完整的恢复过程 首先需要恢复上周六晚的完全备份,然后再恢复自完全备份以来每天的增量备份。该 过程最坏的情况是要设置7 个磁带集( 每天一个) 。如果文件每天都有改变的话,需 要恢复7 次才能得到最新状态。 由于完全备份加增量备份方法中恢复很困难,产生了完全备份加差异备份方法。 差异成为备份过程考虑的问题。增量备份考虑的问题是自昨天以来哪些文件改变了; 而差异方法考虑的问题是自完全备份以来哪些文件发生了变化。对于完全备份后立即 的差异备份过程( 如周六进行完全备份) ,因为完全备份就在昨天,所以这两个问题 的答案是相同的。但到了周一增量备份方法会查找自昨天以来改变的文件并备份2 4 小时内改变了的文件,而差异方法问则查找自完全备份以来发生改变的文件并备份4 8 小时内改变了的文件。到了周二,增量备份仍备份最近2 4 个小时内改变的文件,但 差异备份需要备份7 2 小时内改变了的文件。 尽管差异备份比增量备份移动和存储更多的数据,但恢复操作简单多了。在完全 备份加差异备份方法下,完整的恢复操作首先恢复上周六晚的完全备份。然后,差异 方法不是覆盖每个增量备份磁带,而是直接跳向最近的磁带,覆盖积累的改变。 除了上述备份方式外,还有一种特殊的备份策略,即文件系统快照( f i l es y s t e m s n a p s h o t s ) 1 3 】。快照是静态映像的备份技术,是一种保留某个时刻文件系统映像的技 术,其核心是对备份和恢复过程采取“即时”( p o i n t i n - t i m e ) 数据拷贝的方式。快照可 以很快的产生多个当前数据的快照,这些快照可以用于数据备份、数据分析、数据恢 7 复及提供给其他程序数据等【6 j 。快照提供了许多重要的特性: 可以在一天的几个时间点进行备份而不需要大量的额外存储空间; 可以对在运行中和变化中的文件系统上进行完整性检查,并且找回损失的块; 可靠的非工作存储介质备份,且不需要大量的备份时间。 当从某个快照对源磁盘恢复数据后,那个快照磁盘之后的数据就成了源磁盘当前 数据的未来数据,保存源磁盘的未来数据是没有意义的,所有比被删除磁盘新的快照 磁盘都应该删除,对源磁盘分配快照磁盘时,如果还有空的未用的快照磁盘,可以分 配空闲的快照磁盘;如果没有,则可以将最老的快照磁盘作为下一个快照磁盘,对它 再次利用。 文件系统快照使得系统管理员可以自由的创建可靠备份,并且不需要为了避免在 备份过程中数据发生变化而关闭运行中的软件。有些数据库厂商提供的实施快照的方 案可以加载一个即时恢复镜像作为一个只读的文件系统,用户可以轻松的从中恢复单 个文件。 2 2 2 数据库恢复 数据库恢复是指使数据库处于一致且可用的状态并使其在线的一组完整的操作, 是将数据库由故障状态转换为无故障状态的过程【l j 。通常情况下,在恢复点,数据库 有未提交的事务,并处于不一致和不可用的状态。在此种情况下,恢复包括回滚未提 交的事务。恢复中有一个重要的概念是还原,所谓还原就是指从备份中复制数据并将 记录的事务应用于该数据以使其前滚到目标恢复点的过程。恢复主要包括两个操作, 一方面,使用重做日志中的重做记录前滚复原数据文件,另一方面,回退未提交的事 务处理并将数据库复原到原始状态【矧。根据恢复完整程度,可将数据库恢复分为完全 恢复和不完全恢复【l u j 。 完全恢复是指将数据库还原到故障发生时刻之前的状态。完全恢复需要数据库过 去某一时刻和该时刻起到故障发生时刻之前的完整备份及日志。实际运行环境中,这 个条件非常苛刻,很难达到。因此,数据库恢复策略中更常用的是不完全恢复1 1 7 j 。 不完全恢复根据备份文件和用户需求把数据还原到发生故障前的某一个时刻状 态。不完全恢复面临情况一般为日志文件部分或全部损坏。不完全恢复从数据库逻辑 角度又分为基于时间点恢复和基于日志序列恢复。基于时间点恢复将数据库恢复到过 去某个由用户指定的时间点,该时间点必须早于备份文件的时间。基于日志序列恢复 以备份文件中每个日志为单位进行恢复,它们的工作流程基本相同。首先装入过去某 个状态数据库副本;然后扫描日志文件,找出指定时刻或已有日志已提交事务的标识, 将其记入重做队列,再正向扫描日志文件,对重做队列中的所有事务进行重做处理。 最后,反向扫描日志文件,将没有正常终止的事务写入撤销队列,执行事务撤销操作。 目前常用的恢复策略有1 1 4 ,1 5 , 1 。7 】: 基于备份技术的恢复。对于一般的数据采取的方法是定期备份转存,当正在使用 8 的数据发生问题时,进行代换,存在的问题是需要重做后续的事务。 基于日志的恢复。日志的作用是记录对数据库的每一项操作,对日志的操作先于 对数据库的操作,以确保对数据库的更改有记录。当系统突然断电或死机,导致事务 中断,重新启动后,数据库系统自动正向扫描日志文件,将故障发生前所有提交的事 务重做( r e d o ) ,未提交的事务撤销( u n d o ) 。为了解决日志恢复中的不必要的工作, 可在系统中设立检查点,系统在工作期间,按照一定的规则对日志文件进行动态维护, 建立检查点记录,恢复时只对检查点以后的日志记录检查即可。 基于镜像数据库的恢复。镜像技术就是在同一盘上( 或第二硬盘) 做数据库的副 本,对多用户数据库,对数据库写时要加锁保护,镜像库可供读使用。当主库出现故 障时,直接将镜像库复制过来。可以使数据库的可靠性大为提高。但是,镜像操作降 低了系统的效率,在对效率要求不高的情况下可以使用,为兼顾两个方面可对关键数 据镜像( 如日志数据) 。 基于影子分页的恢复。将数据库分成n 页,页表数据按逻辑存放。在事务执行过 程中维护两张页表,当前页表和影子页表。影子页表存放在稳固存储器中,当事务开 始,将对应的影子页表调入内存成为当前页表,两张页表相同。影子页表在事务过程 中不改变,事务提交后,当前页表成为新的影子页表,当前页表被丢弃,当事务终止 时,直接丢弃当前页表。影子分页不需做日志记录,但对并发事务不适用。当前数据 库的恢复主要采用备份和日志文件相结合的技术。 对于数据库来说,几乎所有的数据库产品都基于上述机制。例如,对于o r a c l e 来说,恢复主要是通过s g a 完成的。在恢复时首先应确定应用到所需块中的更改内 容,然后再进行相应的更改。对于系统本身来说,其步骤如下: 在控制文件中检验存储在数据文件头中的系统更改号( s c n ) 的信息; 使用重做记录前滚到相应的数据块中; 回退任何未提交的事务处理。 2 2 3 分布式数据库提交协议 分布式数据库的数据分布在各个局部数据库中。每个局部数据库系统有自己的恢 复机制。但是仅仅这样还不够,因为分布式数据库系统的事务往往是跨结点执行的, 称为全局事务。全局事务可以分解为若干子事务,分布在不同的结点上执行。系统不 但要保证子事务的原子性,还要保证全局事务的原子性,需要在结点间进行协调。 当一个事务分布在多个结点上执行时,在结束事务时,各结点需保持一致,要么 全部提交,要么全部回滚。因此提出两阶段提交( t w o - p h a s ec o m m i t ) 协议和三阶段 提交( t h r e e p h a s ec o m m i t ) 协议,简称2 p c 和3 p c 协议1 2 j 。 2 2 3 1 两阶段提交协议( 2 p c ) 两阶段提交协议中整个提交过程被分为两个阶段。第一阶段为表决阶段,目的是 9 在全局事务的提交上形成一个统一的决定。协调结点首先在日志记录中写入一条“开 始提交”的纪录,然后向每一个全局事务的参与结点发送“p r e p a r e ”命令,以询问各 参与结点是否准备提交并等待各参与结点的响应。参与结点收到“p r e p a r e ”命令后必 须向协调结点发送是否同意提交全局事务的投票决定,即“v 0 t e c o m m i t ”报文或 “v o t ea b o r t ”报文。发送投票决定后,参与结点处于就绪状态。第二阶段为执行阶 段,协调结点根据投票结果向参与结点发送关于全局事务提交的最后决定,即 “g l o b a lc o m m i t ”命令报文或“g l o b a la b o r t ”命令报文。根据协调结点的命令,参 与结点或提交本地子事务,或撤消本地子事务,并向协调结点返回确认信息“a c k 。 协调结点收到所有参与结点发送的确认信息后,在日志中写入事务结束记录并终止事 务。在整个协议执行过程中,如果一个全局事务涉及到n 个结点,则结点问控制报文 交换量为4 ( n 1 ) 次l l 引。 2 p c 协议从原理上看既简单又精巧,它把本地原子性提交行为的效果扩展到分布 式事务,保证了分布式事务提交的原子性,可以实现快速故障恢复,提高了分布式数 据库系统的可靠性。但是,2 p c 有两个主要的缺点l l 圳: 1 ) 它是阻断( b l o c k i n g ) 的。事务的阻断是指某结点上本可以终结的子事务由于 遇到分布式数据库系统的故障,必须等到有故障的事务修复后取得必要的信息才能完 成,而故障的恢复又是不可预料的,所以它占有的资源也不能释放,也没法继续执行, 此时称该事务处于阻断状态。当协调者在投票阶段和决策阶段之间失效时,事务可能 阻塞一段时间,这样造成了系统资源的浪费。 2 ) 它包含信息的三次循环( 准备投票、投票和最终决策) 会导致系统的延迟, 在失效时更为严重。 影响两阶段提交协议性能的最主要因素是阻塞问题。改进协议应主要通过采取各 种措施以降低发生阻塞现象的几率并尽可能的将已出现的阻塞现象所造成的影响降 至最低。为此,需要引入一种非阻塞提交协议,而三阶段提交协议( 3 p c ) 是一种非 阻塞提交协议。这里所说的非阻塞的提交协议只是相对一定的故障模型,到目前为止 还没有一种协议可以完全避免阻塞,但是我们可以通过定的处理减少阻塞。 2 2 3 2 三阶段提交协议( 3 p c ) 3 p c 用三个阶段完成事物提交过程,分别为:参与者投票表决阶段、预提交阶段 和协调者

温馨提示

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

最新文档

评论

0/150

提交评论