




已阅读5页,还剩78页未读, 继续免费阅读
(计算机应用技术专业论文)跨平台数据库备份的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西南交通大学硕士研究生学位论文第1 页 摘要 随着竞争压力的增加和计算机网络的迅猛发展,跨平台软件越 来趣受翻入稍韵关注。软件静平台蠢关性将有效地减少重赛开发, 更加容易地被部署剿网络环境复杂的分布斌系统中。目前,正有 诲多霆落或公司鬟力于开笈平台无关性软静懿疆究,它爨定裁了 一系列框架成标准泉支持这一点,比如s u i l 公司的j a v a 语言,再 如m i e r o s o 矗公司憋n c t 乎念。 本文的目的在于构建一个跨平台的数精库备份软件,它将作 为电信网管平台所提供的服务之一。j a v a 谗言的跨平台特性是基 于冀特定静暖( 虚拟机) 税制,它嚣前仍然成为j a v a 语言执行效率 的瓶颈,而n e t 平台目前也主要是针对于w i n d o w s 平台上的开发 工佟进行稳整合,掰渡它髓舔无法满足毫臻应蔫静平台无关往需 求。为了兼顾软件的跨平台特性与性能要求,本文聚用了c + + 语 言开发跨平套数据黪冬蹬软 孛受务器搂,势宠分运蠲了a e 嚣等跨 平台软件开凝技术。 论文分析了软件的需求,提出了软件的总体匿掭;对软l 牛进 行了模块翔分,并充分结合u m l 工其,以耨向对象设计的思想完 成了软件的总体设计和各个模块设计;整个跨平台数据库铸份软 臀楚一个e 藤架耩,论文采瘸了a s n 。l 窥藏对客户端与虢务器之 间的通讯业务接口进行了设计:基于前面的设计工作,论文实现 了务令模块艨有的类,荠综会运尾了a c e 、潞酗l s 蠹+ + 等多矮跨 平台开发技术;最瞄,论文还对整个系统i l 行较为全面的功能测 试与性能测试。 关键词:踌平台;a c e ;d b t o o l s 血+ + ;数据库备份与还原; a s l l ;u m l 西南交通大学硕士研究生学位论文第| l 页 a b s t i a c t p e o p l ea r ep a y i n gm o r ea t t e n t i o nt op l a t f 0 n i n d 印e n d e n t s o f c w a r ea st l ci n c r c a s i n gp r e s s u r eo fc o m p e t i t i o na n d “i p i d d e v e l o p m e n t0 fc o m p u t e r n e t w o r k t h ep l a t f o m 卜i n d 印e n d 州t c h a r a c t e ro fs o 矗w 盯ew i l lr e d u c et l l er 印e t m v ed e v e l o p m e n tw o r k e 伍c i e l l t l y a n dm a l ( e si tt 0b ee 蹈i l yd 印1 0 y c dt oad i s t r i b u t e ds y s t e m w i mc o 珥l i c a t e dn e t w o r ke n v i r o m e i l t n o w , m a l l y 目f o u p s o r c o m p a n i e s a r cd e d i c a t c d t o m er e s e a r c ho fd e v e l o p i l l g 口l a t r 恤一i n d e p e n d e ms o r w a r e ,a n dh a v ee s t a b l i s h e d as e r i e so f 丘a m e w o f k so rs t a n d a r d s ,s u c ha sj a v ao fs u nc o r p o r a t i o na n d n e t p l a t 矗黝o f m i c r o s o f tc o r p o r a t i o n t h i s 血e s i si sa i m e dt ob u i l dad a t a b 船eb a c k i l pt 0 0 1i 1 1 d e d e n d e n t o fp l a t f o m ,w h j c hw i l lb e 嬲o n eo fs e r v i c e s 也et c l e c o mn c t w o r k m a n a 黜e n tp l a t f o r mp r o v o i d e s t h ed e p e n d e n c eo fp l a t f o mo f j a v a i sb 勰e do nt h es p e c i a lv m ( v i 巾l a lm a c l l i n e ) m e c h a n j s m ,w 撕c hi ss t i l l m eb o 札l e n e c ko fe x e c u t i n ge 历c i e n c eo fj a v a1 趾印a g e w h e r e a s ,n e t p l a t f o mm a i n l ya i m sa t 血ei n t e g 删o no fd e v e l o p i i l gw o r ko n w i n d o w sp l a t f o r n la tp r e s e l l t ,m e r e f o r e ,t h e ya l lc a nn o tc o m p l e t e l y m e e tt 1 1 ep l a t f o m i n d e p c n d c n tr e q u i r e m e n to ft e l e c o ma p p l i c a t i o n s i n 0 r d e rt om e e tt h er e q u i r e m e n to ft l l ep l a t f o n ni i l d e p c n d 饥c ea 1 1 d p e r f o m l a n c e ,t m sm 髓i sa d o p t sc + + 船m ed e v e l o p i n gl a n g u a g ct o d e v e l o pt l l es 鲫e r - e n do ft l l ep l a t f o n n i l l d 印c n d c n td a t a b a s eb a c k u p s y s t e m ,a 1 1 dm a l 【e sg o o du s eo ft e c h n i q u e so fi n d 印c n d e n c eo f p l a t f o 姗,s u c h 髂a c e ,e t c t h et 1 1 e s i s 龇a l y s e sm es o f t w 盯er e q l l i r 鼬e n t sa i l di n 订o d u c e st 1 1 e o v e r a l l t a r g e to f 也es o f t w a r e a r e rc a r r y i go u tt h em o d u l e sd e v i s i o n o ft l l es o 胁a r e ,t l l et l l e s i s 觚s h 韶t h eo v e r a l ld e s i g na i l dt h em o d u l e s d e s i g ni n t e 铲a t e dw i lu m l t o o la c c o r d i n gt ot 1 1 eo o d e s i g nm e m o d s s i i l c et l l ew h o l ed a t a b a s eb a c k l l pt 0 0 li n d 印c i l d e mo fp l a t f o m li so f c y sm o d e ,m ea s n 1s t a i l d a r di sa d o p t e dt od e s i g nt | 伦c o m m u n i c a t i o n i n t e l 如eb e t w e e nc l i e n ta n ds e r v c r 血t 1 1 i st h e s i s b 踮e do nt h e p r e v i o u sd e s i g n ,t h et i l e s i si m p l e m 髓t sa nt h ec l 醛s e so f t l l e s em o d u l e s , b ya p p l y i n gs e v e r a lt e c t l l l i q l 璩so fi n d 印e n d e n c eo fp l a t f o m ,8 u c h 躯 a c e ,d b l 0 0 l s 1 l + + , e t c f i m l l y ,t l l i sm e s i sa l s oc a r r i e so u t c o m p r e h e 璐i v es o 脚a r et e s t s ,i i l c l u d i n gm n c t i o nt e s ta n dp e r f o m l a n c e 器瘩交滋大学硕士硪突嶷学位论文 第ll 燹 t e s t 薹辩w 嚣堪s :鞭鑫耄瓤r 球泌畦谨罐d e 瓣; a ( 澄;黼蕊s 酚十; d a t 魏b a s eb a c k u p ;a s n 1 ;u m l 西南交通大学硕士研究生学位论文第1 页 1 1 课题背景 第l 章绪论 当前,由于业界的竞争压力的存在,软件的跨平台能力【4 “”j 或者说可移植性正越来越成为一种普遍的需求。软件通常不仅要 设计成能在多个平台上运行,必要时还要能在开发过程中改变目 标平台。软件的跨平台能力可以减少重复的开发,降低企业的投 资成本;由于网络的迅猛发展,许多系统都运行在一个分布式的 环境中,可以说网络中复杂的软硬件环境对软件的可移植性提出 的强烈的要求。因此,在项目之初,我们就应该考虑系统是否将 运行在多个目标平台,如果是,就应该考虑设计跨平台的软件方 案。 如今,在各个领域内,都广泛使用数据库管理系统来管理数 据。目前,具有代表性的数据库管理系统产品包括m ss o l s e e 一8 1 、s y b 勰e 【3 6 3 刀、o r a c l e 等等。在数据库的应用中,备份与 还原是保证数据安全的重要手段。一些行业。如电信行业,在日 常业务运行中会产生大量的数据,对数据备份与还原会提出较高 的要求。尽管一些大型数据库如o r a c l e 、m ss q ls e n ,e r 本身已提 供了数据库备份还原的工具,但并不能满足电信上一些业务的需 要,本课题就是在这样一些特定的业务需求驱动下产生的。 目前,已存在这样一些特定的数据库备份与还原工具,可以 用来管理一些分布式应用下的数据库,但它们并不能满足电信领 域内的应用。首先,电信上的很多服务运行在多种操作系统平台 之上1 3 s “】,如u n i x 、l i n u x 、w 证d a w s 等等,而已有的那些工具往 往只能与某一种操作系统平台的数据库交互。因此亟需开发一种 平台无关的数据库备份与还原工具;再者,现有的一些数据库备 份工具不能满足特定用户需求,如支持多种数据库、同时支持磁 盘与磁带的备份等,因此有必要自行研发这样的一套系统;还有, 西南交通大学硕士研究生学位论文第2 页 一些既有的备份与还原工具的效率可能不能满足电信上的应用需 要;并且还要考虑到成本、自主知识产权等等的问题。 为此,本课题拟自主开发一套跨平台数据库备份工具软件,并 准备将它集成到某公司的电信网管平台中,成为独立的网管服务 之一。 1 2 论文的主要研究内容 本论文在介绍了跨平台软件设计通常所涉及的技术基础上,以 一个实际的跨平台数据库备份软件为课题,对它进行了设计与实 现。主要的研究内容如下: _ 介绍了软件的总体需求,包括软件的总体目标、功能及性能的 需求,它明确了研究与设计的方向。 一在对软件需求分析的基础上,对软件的模块组织及划分进行了 描述:采用面向对象的编程思想,充分结合切讧l 设计工具对 软件进行总体模块设计和各个子模块的类设计,对各个模块的 主要用例给予了1 邛d i ,描述。事实证明,本文所采用的设计思 想是可扩展、可维护的,能够适应未来的需求变更。 _ 使用a s n 1 规范对软件前后台通讯的业务接口进行了设计。 _ 结合文章对于总体和各个予模块的类设计,实现了所有类的功 能。在实现过程中,示范了跨平台软件设计中可以运用的如 a c e 、d b t 0 0 l s h + + 等多种技术或方法,对于读者有很好的参 考借鉴价值。 搭建了两套不同的平台测试环境,对跨平台数据库备份软件进 行了较为全面的测试。 1 3 论文结构组织 本文后续章节结构安排如下: 第二章简要介绍与本文相关的一些基础知识,包括数据库的 备份与还原、a c e 技术的起源、特性以及其对于跨平台软件设计 的良好支持等等,还介绍了a s n - l 语法记法的一些知识。 第三章首先对软件的需求进行了描述;在此基础上对软件进行 西南交通大学硕士研究生学 焱论文 第3 页 了模块的组织和划分,并给出软件的总体u m “1 5 ,1 6 ,1 7 1 n i f i e d m o 娃e l i n g 妇垮a 秽) 类图设计;之矮,裂雳渤l 技拳踺各模块进 行了设计。 第四章在第三濑设计的基础上,对各模块进行了实现,绘出 了务模块中主要类的属性和方法,并对一黧方法实现对应注意的 问题给出了说明。 第五拳对较箨避雩亍了添试,说爨了灏_ 蓑蓼境,班功麓器往能 为主线,并考虑到了不同的运行平台。 第六拳砖文章熬工非戏果进行了慧络,共夔爨了改进的方囊 和对跨平台软件的发展展望。 堕堕窒塑查兰! ! 主坚室皇兰焦丝塞墨! 生一 第2 章相关知识基础 2 1 数据库备份和还原的基本概念 备份5 4 1 是一种灾害预防操作,恢复删则是一种消除灾害的操 作。备份是恢复的基础。 2 1 1 数据库备份 数据库备份就是制作数据库结构和数据的拷贝,以便在数据库 遭到破坏的时候能够修复数据库。数据库的损坏是难以预测的, 因此必须采取能够恢复数据库的措施。备份的内容不但包括用户 数据,还包括一些重要的数据库组件,比如控制文件、数据文件 等。 数据库备份分为“物理备份”和“逻辑备份”两种类型。 物理备份西h y s i c a lb a c k u p ) 物理备份是指将实际物理数据库文件从一处拷贝到另一处 ( 通常是从磁盘到磁带) 的备份。操作系统备份、冷备份、热备 份都属于物理备份。 操作系统备份。这是一种简单而费时的各份方法,进行此类 备份时,系统不能使用。它是在单用户的方式下,利用操作系统 工具将整个操作系统的磁盘文件备份到磁带上的方法。这个备份 可以补充其它备份,以形成一个更灵活的各份策略。 数据库冷备份,也称作脱机备份。脱机各份与操作系统各份 类似,不同之处在于脱机备份只是将与数据库相关的文件备份到 磁带,用户可以在操作系统级访问系统,但是不允许访问数据库。 进行此类数据库备份时,一定要保证数据库实例已经关闭,否则 进行的各份无效。 数据库热备份f o n l i n eb a c k u p ) ,也称作联机备份。它允许用户 在备份时访问数据库。是一种边工作边备份的工作模式。不过, 当有大量的更新批作业运行时进行此类各份,它的效率就比较低, 因为在热备份的过程中会产生许多重做记录。 因为在热备份的过程中会产生许多重做记录。 西南交通大学硕士研究生学位论文第5 页 逻辑备份 逻辑备份是利用e x p o r t ( 导出) 等工具执行s q l 语句的方式将数 据库中的数据读取出来,然后再写入一个二进制文件中;在需要 恢复的时候,可以利用i m p o n ( 导入) 等工具从这个二进制文件读入 数据,并通过执行s q l 语句的方式将他们写入到数据库中。它可 以在数据库中完成特定对象( 如表、存储过程) 的备份,或者把 对象从一个数据库移植到另一个数据库。与物理备份相比,通过 备份导出的数据库和数据文件完全脱离了关系,可被导入其它的 数据库,甚至运行于其它操作平台的数据库中,因此具有更大的 灵活性。 通常,一旦备份过程计划好并测试通过,就需要将其自动化, 特别是对于大型数据库的热备份。一般是利用操作系统脚本使其 自动化。 2 1 2 数据库还原 数据库还原或恢复是指加载数据库备份到系统中的进程。数据 库的恢复实际上包括了两个层面:数据库修复和数据库恢复。 数据库修复:数据库修复是指利用备份的数据库文件来替换已 经损坏的数据库文件,这项操作主要是在操作系统级别完成的。 数据库恢复:数据库恢复是指利用重做日志文件的增量备份来 重新建立已经丢失的数据。这项操作主要是在数据库管理系统级 别完成的。 对于发生介质损坏的数据库来说( 即数据库文件丢失和损坏) , 通过数据库修复可以弥於数掇疼的貔理缺失,即数据疼文件豹损 坏与丢失;而通过数据库恢复娜可以弥补数掭库的逻辑损失,即 数据摩中的逻辑数据的损坏与谣失。 对数据库进行耪攥备扮,绦留静只是数据簿在遴行备份辩翔酶 一个精确副本。通过数据库修复可以将数据库恢复到进行备份的 露夸瓣裁。鳘楚兹栗褥数据露恢复裂发生教溱翡薅令对刻,裁必 须通道应用归档重做翻志和联机重做的方式谶行数据库恢复。也 裁是谈,先蜷数据疼恢复到邀每备份敕那个瓣亥,然嚣再在数握 西南嶷通大学硕士研究生学位论文第6 页 库备份的基础上,通过应用重做数据而重现从备份时刻开始到故 障发生之懿瓣这一段时闼中掰窍的数握修渡操终,从恧将数据库 恢复翻故障发生之前的状态。 2 。2 越e 技术篱介 2 。2 1a c 嚣的开发背景 a c e 【l q l l 是今功能强大瑟丰富毂c + + 开发工爨包,具蠢与众 不阀的发展史。它起源于d o u 9 1 a sc s c h m i d t 博士在加里福尼亚 州大学i r v i n e 分校避行的研究和开发活动。d o u g l 8 s 从事器秘设 计模式、实现、以及对面翔对象技术的的实验性分析,舀的是推 动商性能、实时分布式对象计算框架的发展。d o u g l a s 的研究一开 始藏是在尼耱硬 孛鞠蕊( 秘e r a t i n gs y s t e 甄搽 擘系统) 平台上震 开的,在研究过程中遇到了以下一贱迄今仍困扰许多开发者的问 题: 对于进程、线程及通信机制的管理相当复杂,并鼠也很难定位, 容易出错。 在操作系统婶l ( 应用编程接口) 层面上编程增加了偶发的复杂 性。 黉将璞秘移植爨薪静平螽帮平台叛本稳警困难。 a c e 技术就是在这样的需求背景之下威蕴而生的,并以开放源 玛静方式蠢公众发鸯。 2 。2 。2a c 嚣的组织结构 越e 应用嚣发题熬设计采耀了分层絮捻,妇豳2 一l : 鼯南交邋大学硕士研究擞学位论文第7 页 黼冬 a c e 层次结构盈 鑫下露主,圈2 。| 鸯孩下鞭层组藏: o s 适配层该层直接建立在用c 写成的本地a p i 之上,对 不霹匏擞终系统遴牙适醚,垮a c 嚣中其它层及缝l 孛与o sa p i 相关联的平台专有属性分离开来。a c eo s 适配滕的可移植性 使a c e 可运行程诲多平螽上。 包装拜瘸层该层提供了许多岛o s 适配层相两的特性,但 通过面向对象的封装,鼹加易用,而且是类型安全的。a c e 愆装篱纯了应悉鹣并发,痤矮嚣黻逶过肖选择蟪继承、聚合 和或实例化下面的组件来组合和使用这然包装。 撰絮层一a c e 攥絮集戏并增强了较 豪髅次瓣c + + 趣装终鼹, 支持将并发分布式服务动态配置进应用。a c e 掇架组件便利 了通信软l 牛的开发,它们无霰修改、重编译、繁链接,戏频 繁撼重启运行中的应用,就可被更新和扩展。 分布式组件和服务层该层提供了些完整的、可复用的服 务。 西南交通大学硕士研究生学位论文第8 页 每一层厕都复用更低层面中的类,抽象出更通用的功能。这意 味麓体可以灵活遗选择蹶馒瘸的技零,在不阕层露柬瓣决翊题。 2 2 。3a c e 的优辫及特点 使用a c e 技术有以下一魑好处: l 增强可移植往 在a c e 组件的帮助下,很容易在一种o s 平台上编写并发网 络瘦弱,然爱抉速蟪将宅赛穆禳到器耱其德豹鼹洋台上。露显, 因为a c e 鼹开放源码的自内软件,你无需担心被锁定在特定的操 作系统平台竣编译器上。 _ 更好的软件质豢 a c e 的设计使用了许多w 提高软件质量的关键模式,这螳质量 因素包捂通信软释灵活性、可扩震健、重髑性帮模块性。 更高的效率和可预测性 矗e e 经仔缀浚诗,支持广泛熬瘟雳联务震羹 支持磁盘及磁豢冬傍。磁盘程磁带帮怒豢豢蹙豹存键设备, 西南变通大学硕士研究生学位论文第11 页 尤其魑磁带,具有容獭大、成本低等特点,在实际应用中使 鼹相当广泛。 支持定时备份功能。同m ss q ls e r v e r 、s y b a s e 等数据库软件 一样,软件应支持按每曰、每周、每月定制的定时备份计划, 这包括定时备份计划的添加、删除,阻及定刺丑重闻到达对自 动执行备份任务。 支持远程复利麓缝,帮蠲产可叛选择楚否萼簪备份远程复麓蜀 用户指定的地方。 支持数摆瘁斡集合凭签瑾。囊予实嚣蟋援是,对于个痤蠲 服务来说,通常是多个数据库共同为威用提供数据或服务, 而不是单个数据库,它们之闻跫一个威用下的有机单元。毽 此,可以把它们加入判一个集合中进行管理,当进行器份和 还原时,是以该集合为单位,对这些集合下数据库共阊进行 备餐黧迩骧。 备份设备管理。软件成支持磁盘、磁带备份设计的添加、删 除、雯凝等设餐管理工撵。 系统日志功能。它为解决问题、分析问题提供线索,特别是 u 姬x ,s o l 斑s 下的定位警段相对不多,它姆提供寅效的阅题定 位信患。 3 1 0 软镣运行环境薏隶 掇据主述软释驽瓤,数搽鬻备狳轻律翡运行嚣境簧求懿下: 一w l n d o w s 平台 l 、较穆要求 操作系统:w i n d o w 8n t 数撰疼:m ss q ls a 挥髓2 0 0 0 2 、硬讳要求 奔腾2 o a 萎z 以上c p u ,5 1 2 m 内襻 涮x 培o l 撕s 平台 l 、软件要求 搽稼系统:s 琏蠢s8 。0 西南交通大学硕士研究生学位论文 第1 2 页 数据库:s y b 勰e1 2 0 2 、硬馋要求 s u n 工作站 如果为了将数据库备份软件加入到网管中,还需要分别在 w i n d o w s 或u n i x s o 】a r i s 上安装n 2 0 丽管平台软件。 3 。2 软件总体设计 3 2 。l 软件网络搬扑结构图 数据库备份软件总体浆甩c s 架构。其中,客户端可以用来 营懑多个数据痒备份较 宰黢务器端,每个袋务器糍对应予一令数 据库应用服务器。因此,软件的总体网络拓扑结构图如图3 1 所示: 服务器端( u n i x ) 图3 1 跨平台数掭库备份软件丽络拓莽结构阐 在跨乎密数蕹瘁备携较箨熬嚣发过程审,终蠹承燕了羧务器 端的开发工作。客户端由另外一位开发人员负责,并使用j a v a 语 言实现,由予j a v a 语言本囊是可移捷鲍,艨戳客户溃弱群鼷鸯乎 西南交通大学硕士研究生学位论文 第13 页 台冤关性。由于客户端部分不是作者的工作内容,所以本文对此 不徽过多阐述。除特别谈骥,委则本文藤续赝逑熬设计与实现 内容均是针对服务器端的。 3 2 2 软件模块及其调糟关系 如蘸躲述,戴楚豹软件模块翡是指数据痒备徐较徉服务器端 的模块( 亦称后台模块) ,它们包括:通讯镎理、配鼹文件管理、 爱户谈涯、器谂设餐管理、任务警疆、集会管理、螽傍策酶管理、 日忠模块,它们之间的调用关系如图3 2 : 舞3 1 2 软传模块调用关系鞠 图3 - 2 甲,遇m 冒鞋供状姒页髓m 琏攒删娃业勺翮除、消息的 接收、解析、分发处理及威答,它使得前簸台的通讯成为可能。 由道谲管理模块解桥客户端请求屠分发戮蕊较模块、彳王务餐理模 块、备份设备管理模块、集合管理模块或铸份策略管理模块进行 处攥。其串,鉴投模块受囊客户壤瓣合法瞧认 歪;任务管理模块 西南交通大学颂士研究生学位论文 第1 4 页 将实现数据库备份成还原的功能,其中包括手动的磁盘或磁带备 份,并且该模块还慧要检粪当翦是秀毒定孵备份计划到达,如果 有就自动执行该备份到指定的磁盘戚磁带设备;备份设备管理模 块负责磁盘、磁带铸份设器的增加、删除、更新等;多个数据库 可戳定义为一个数掇库集会,集合管理模块将负责瓣集合鹃管理; 备份策略管理模块用于定制不同的定时备份策略,该模块将实现 备铨策略熬壤麓、测除、要颟及查溺臻我。 软件采用配置文件来保存服务器端信息。服务器端对客户端 的命令响应也掩涉及对配鬟文 牛蛉态谗、壤趣、删除、更新等操 作。配置文件管理模块主要处理配嚣管理请求消息和对配鬣文件 进行管理。 数据霹管理模块和目恚模块怒公共模块,它们将被其它模块 所使用,协助完成棚关功能。其中,数据艨管理模块将实现连接 薮浮数据露、虢行数据痒辫本等数据痒耪美豹操幸霉;磊恚篱瑾模 块用于产生系统曰悫,便于后期的维护和问题定位。 壶塑3 也霹知,逶毒廷警溪模块怒整个软馋戆协调者,由该模块 来分发相关命令到特定的模块进行处理。 3 2 3 总体u 眦类圈设计 由图3 2 ,分剐辩各个横块静用钐j 进行考查,抽象出每个模块中 的类,并可以用类图来描述备个模块中这些类之间的关系。软件实 瑗豹慧俸骐哇0 1 5 ,1 6 ,4 7 l 类莲翔囤3 3 掰示: 西南交通大学颂士研究生学 焱论文第1 5 页 图3 3 后台总体u m l 摊图 奁图3 - 3 孛: 1 ) c c o m m u n i c a t i o n 负责启动后台服务,监听客户端的连接, 并为每一个客户端涟接启动一个通讯线程必之鼹务,即该线程懿 入翻为v o i d 幸t r a n s p o r t ( v o i d + ) 。 2 )c e n l b b a c k u p a p p 负责软件的韧始化任务:实例化 a f o s s o r m a n 8 9 e r ;实铡纯c m s g p r o c e s s o r 各个子炎,帮 c b a :k p o l i c y m 籼g e r 、c t a s k m a l l a g e r 、c s e 讧a n a g e r 、c a u t h 嘶z a t i o n 、 c b 威d 鹳漱赫a g e r 纛个漤惠楚理纂实爨;读取裙始羧务器甏鬣,耪 始化相关变缀,实例化c d b m a i l a g e r 具体予类并与数据库建立连 接;实铡化c b g m a n a g e r t 裁建c e 璐沁a 垃锄实铡,襄旗后台 的通讯服务。 3 ) c m s 妒r o c e 8 s o r 是所有消息处理嚣的抽象类,其具体子类 为c b a 诤o i i c y m 龃a g c r 用予铬份策略管理、c 风枞粕a g e r 主要用 于实现对备份与还原任务的锵理、c s e 咀a 1 1 a g e r 用于数据库集合的 警瀵、e a h 氇硪z 鑫畦o n 受蠹对客户赣瘸户避 亍鍪较、 西南交通大学硕士研究生学位论文 第16 页 c b a k d c v m a l l a g e r 负责备份设备的管理。 4 ) c p r o c e s s o r m a i l a g e r 对所有消息处理器统一管理,负责不 同客户端命令码与各个消息处理器指针的映射关系表,并根据客 户端的不同命令请求码将消息包分发到相应的消息处理器进行处 理,并以c m s 驴r o c e s s o r 作为统一接口,从而使扩展更加简单,这 里也是面向对象( 0 b i o c t - 0 r i e n t e d ,0 0 ) 编程对于多态性的运用。 5 1c c l i e n t 是客户端的抽象,它实现与客户端交互的接口, 如接收请求、发送请求,并保存客户d 、客户端d 等附属信息。 6 )c m s g p a c k a g e 是对于消息包的抽象,它应该至少实现解 析请求消息包、构造应答消息包的功能接口。 7 )v o i 扩t r 趾s p o r t ( v o i d ) 是服务器端的服务线程,它将无限 循环读取客户端数据流:同时它也是c e m 毋b b a c k u p a p p 类的友 元函数,因此它可以访问其私有成员,包括c p r o c e s s a r m a i l a g c r 、 c c l i e m 、c l 0 9 m a l l a g e r 等实例,由c p r o c e s s o 订讧猢g e r 派遣到相应 的处理器处理后做出响应,并在完成响应后再次等待客户端的请 求。 8 )c d b m a n a g c r 负责与数据库交互,它将定义出一些与数 据库交互的统一接口,如连接数据库、查询数据库信息、数据库 备份、数据库还原、断开数据库连接、创建数据库备份脚本、创 建数据库还原脚本、执行数据库脚本、获取数据库备份或还原脚 本等功能:不同的数据库可以分别作为c d b m a i l a g e r 的予类化实 现,目前本文实现对s y b a s e 和m ss q ls e e r 的支持,分别对应 子类c s y b a s e 和c s q l s e r v e r 。 9 )l o g m a l l a g e r 负责日志管理,它应该具有读、写日志的功 能接口。 1 0 ) 系统的配置选项通过配置文件进行保存,系统中几乎所 有的客户端请求都涉及到配置文件的读写操作。为了实现对配置 文件的读写,对配置文件进行抽象。c c o n f i g f i l e 对应于一个配置 文件,一个配置文件可以由多个配置项组成,一个配置项对应于 一个c r e c o r d ,每个配置项又可能由多个字段构成,每个字段表示 为一个c f i e l d ;系统为备份设备管理、集合管理、备份策略管理等 等分别创建一个配置文件保存配置,每个c c o l l f i g 代表了一个配置 西南交通大学硕士研究生学位论文 第17 页 项文件;c c o n f i g m 孤a g e r 包含了所有的配置项文件,并对外提供 了一系列接口,如初始化配置项列表、读取或更新或删除或增加 某一配置文件内容。 3 3 公共类的设计 3 3 1 数据库管理类的u m l 描述 不论是对s y b 勰e 和m ss q ls e c r 的磁盘及磁带备份,还是为 了以后扩展支持其它的数据库,这里应抽象出与数据库交互的统一 接口。数据库管理管理类的u 1 l 类图描述如图3 4 所示: 图3 - 4 c d b m a i l a g e r 类图 c d b m a n a g e r 及其子类将被其它模块调用,完成与数据库交互 的功能。 c d b m a n a g e r 定义与数据库交互的统一接口,不同的数据库根 据自身特性给予不同实现。 3 3 2 日志管理类的i t m 描述 网志管理类将被其它类使用用于读、写日恚的操作,其类图描 述如圈3 5 新示: | l c l o g ,i a n 旃g e f l 、蒯t e l o g ( ) 瞅q u e 黟l o 囊e l 棚噬) 蛩屠季雪 西南交通大学硕士研究生学位论文 第1 8 页 图3 5 日志类类图 3 。4 遁讯管理模块u 酗l 描述 遂谖管联模块包摄c c u 越c 鑫t i o 羲、c c l i 锺t 、c m s 妒8 c 疑a g e 等 类。通讯管理模块与客户端建立通讯并通讯交互的过程如下: 1 1c c o m m u i c 撕o n 调用g t a r t s e n ,e “) 启动后窃服务线程,监听客户 的连接,并剖建一个各溺的c c l j 髓t 对象。 2 ) 当有客户端连接进来,创建一个线程函数v o i d 率t r a l l s p o n ( v o i 扩 斓孓) 嚣之l 箍务,c c l i 对象指针作为参数转入该线疆爨数。该 线程将负责接收客户端的消息流。 3 ) 强牧到客户端熬港息流,c c l i e n 毫调震f v 嚣蠲u e s t ) 解辑淡感滚, 并构造个c m s g p a c l ( a g c 消息龟实例。 4 ) c p r o c e s s o r m 勰a 辨f 调用d i s p a t c h m s g 。方法,c m s 妒呔c a g e 实例 及c c i i e n t 对象作为参数传入,将渚怠包分发到特定的处理器 进行处理。 5 ) 特定瀚游惠凳邋器模块楚理完藏藩,稳遗消惠波答包。 6 ) 最后,c c l i e m 通过调用自身的8 e n d r e s p o n s e ( ) 方法向客户端发 睡响应。 创建新线程将使用线程类a c et l l r e a d a c et h r e a d 是a c e 中的重要的线程类之一,可鞋用该类来产生一个线程,在簿匹章 实现部分将驻详细鳓介绍该类。图3 6 是通讯管理模块对该过程的 序列图描述: 黼南交通大学硕士研究嫩学位论文第1 9 瓤 _ 厂j 亘霹 r j 区f 1r j u 一_ 1 l 望攥譬童璺蚓l 一一 望嬲譬! 窒墅窿璧墅墼霁黧筹坚燮l 图3 6 通讯管理模块瀵惠处理j 葶捌图 3 5 配置文件管理模块u m l 描述 3 5 1 配置文件格式说明 本文采用x ) ( ) ( c 德文件来保存有关的配鬣信息。文件格式如 下: f 配置名称1 字段1 一字段值 字莰2 哼段德 西南交潋大学硕士研究缴学位论文 第2 0 页 【配鬣名称2 字段l = 字段馕 字段2 = 字段值 字段3 = 字段值 【配鼙名称3 j 字段l = 字段馕 正如前面所述,一个配置篱理文件中可以包含多个配置项,每个 配置项又可以包含多个字段。 3 5 2 配置义件管理模块姒l 序列图撒述 配置文件管理模块包括c c o 施g m 粕a g e r 、c c o 碱g 、 c c o 挂纛露i l e 、c r e c o 砖、c f i e 撼五个癸,莫孛c f i d 怒薅配鬟文锌 中字段的抽象,c r e c o r d 是对某配置项的抽象,c c o n f i 驴i l e 是对 一个激置文孛毂抽象,这三个类与c c 臼瓶g 、e c o n g m 瑟3 窖e r 耱终 完成对一个配置文件的读、筠操作。软件对集合管理、备份设备 管理、磁盘备份设置、备份繁略管理等分别创建了一个配置文件 来保存信惠,c c o n 瓤代表了某一个配萋文件;c c o n 蠡搿a n a g e r 用来锻理所有的c c o 脯g 实例,并对外提供了一系列接口供其它模 块戆诱蘧鼓竞藏对配灌文终黪管理。 配置文件管理模块存在多个用例,如初始化配置文件列表、响 应懿螽对一个配置文传遴褥读取添热、更叛、溅除戆操作等。这 些用例具有一定的相似性,就以响应读取一个配置文件某配鼹项 来说,c c o n f i g m a n a g 。r 调用g e t e o n 摄g l n f o o 方法来h 斑应该过程, g e t c o n 蠡出f o ( ) 的处理流程如下: 1 ) 判断前台的消息命令码,调用g e t c o n f i g ( ) 方法从配星文件列表 孛取得翱寝c c 髓触实镶 2 ) 由c c o n 夙可以生成相应的c c o 柏蛙驴i l e 对象, 3 ) c c o 珏曩爨l 。调爨潮蘧b 嘲艇) 方法按关键字读取懿嚣文俘疆梅 西南交通大学硕士研究生学位论文第2 1 页 造一个c r e c o r d 对象 4 ) c r e c o r d 对象调用s e t l 7 i e l d b y n 锄e ( ) 方法生成c f i e l d 对象加入 到c r o r d 所维护的字段列表中,如该配置项有多个字段,循 环该过程。 5 1 最后,封装响应包,交回通讯管理模块完成响应。 图3 7 采用序列图描述了这一过程: i 矗_ | 一i i 地批【 一| i 成 i 篮四跹曲冀皑ll ii 盛嘲豳l 豳瞳 醴o 柏| 白0 k 一一 杜m 0 0 州i g l 吲 陡二= 。二i3 d日t c 口哺抒h ) 屠; _ l ;杜 耳豫d 珀。胛d 0 _ _ l 6 d 嗣眈叽| 0r q ) e 目7 - 9 s b p s 岛 7 毹1 e k b ) 帖h 两 o 8 c f 喇) 9【a = i 目d i m 惜l 。 1 1 托n j ”( 】x r d i n 时a l 粤,一 1 2 p a c kr 辟p ( r b e m 皓s 妁lp a c k a g b 、 1 _ l一_ ,| i l _ 图3 7 响应读取配置文件序列图 3 6 用户认证管理模块u m l 描述 用户认证模块的核心类c a u t l l 嘶z a t i o n 继承自 西南嶷通大学硕士研究生学位论文 第2 2 页 c m s 妒m c e s s o r ,是具体的消息处理器之一。鉴权模块主要处理客 户壤的登录请求淡怒,验疆客户端爨录数攥痒鍪份震台懿密码,该 过程由p a s s w o r d c o n f i m 0 来响应。p a s s w o r d c o n 丘珊0 验证登漾密码 的王作流程如下: 1 ) m s 驴a c k a 窘e 作为响应消息包宙m s g p i s p a t c h ( ) 镑入。 2 ) c o n f i g m a n g e r 调用g e t c o n 丘甙) 返回保存潜用户认证信息的配置 文静静e c o n 甄对蒙。 3 ) 调用c c o n 她对象g e t c o n f i g f i l e o 方法并创建c c o n f i 萨i l e 对象 4 ) c c 雌f i g 秘l e 调麓r d r 毒e 翔氍) 返圉c r 毒e o 砖实铡。 5 ) c r e c o r d 调用g e 原i e l d b y n 黜e ( ) 返回配鬣文件保存的密码。 6 ) 比较m s 妒a c k a g e 所携带的客户端密码葶从配燮文件中取出的 密码,如耱同,刚通过簇权,将返回登泶成功的应答消息;否 则,没槲通过,将返回鼗录失败的应答消息。 蘑3 焉篷这一逮灌戆痃麓圈攒逑: 三土 l l 二盆逝l l 上垡自毒鼬l l;暨嘲l i i 避国蓝叠臁| i g 鞠醚鲰| | |i :l ! 叠幽隐蠡氆| 榔s 时d _ 1 0 图3 8 密码验证过程序列圈 西南交邋大学硕士研究擞学位论文 第2 3 页 3 7 备份设备管理模块u m l 描述 备份设备管理模块的核心类c b a k d e v m 潋a g e r 继承自 c m s 艚m c e s s o r ,是其体的消息处理器之一。祷份设备管理模块主 要楚壤客户臻对于备徐浚善鹃一系歹蓦命令,爨有添麴设备、趸薪 设备、获取备份设备信息、删除设备、获取磁盘设鬣信息、获取 磁盘蕊蹬魏邀程复裁绩惠、滚矍磁蠡透程复裁路径凡令魇爨。备 份设备管理模块应与鹧己置文件管理模块、f i i 悫管理模块协作完成 对备份设备的管理。这些用例具有一定的相似性,以更耨设餐用 镪为铆,c b a k d e v m a n a g e r 她理的流疆如下: 1 ) c m s 庐a c k a g e 作为响应消息包由调用c b a l 函e v m a l l a g 鼎的 m s g d i 印a l c l l 传入e 2 ) 调用c b a k d e v m a n a g e r 的u p d a t e b a k d e v i c e ( ) 方法。 3 ) 谖矮e b 威d 钾m 撼a g 嚣黪攥a b r e 哇m s 圆r e c o 砖方法。 4 ) 解码c m s 妒a c k a g e 构造c r e c o r d 对象。 5 ) 调用c b a l 【d e v m 矗n a g e f 懿 c h e c k d i s k d e v i c e i 甜i d j a n d c r e a t e ( ) 方法。 6 ) 调用c b a k d e v m a n a g e f 的a d d c o n l i 烀i l e 均e ) 方法。 7 ) 满两c e o 艟g m a 鞋a g e f 的恕d r o r d ( ) 方法。 8 ) 调用c c o n f i g m a l l a g e r 的g e t c o n f i g ( ) 生成c c o n 矗g 对象。 筇谖鼹e e 雠矗g 对象躬誉c l c 熊f i g 嚣l o ( 方法势刽建e e o n 蠡g 戮l e 薄 象。 l e e o n | i 萨i e 调用u p d a 翻鼢c r o d ) 更薪配置文件。 1 ) c b a 姻e v m a n a g e r 诵丽e c o n 靠g m a i l a g e f 酌i n i t c o n 斑撕s t ( ) 方法。 1 2 ) 调髑c e m 国b 黔脚蜘p 豹霉c 重谢蠢鞋a g e ) 方法遮西 c 飘呔m 翁嚣a g e f 实铡。 1 3 ) c b a k d e v m 黼g e r 调用 a i l a g e r 实例的1 0 a d t a s k l i s t ( ) 方 法。 1 4 ) c b a k d e v m a n a g e r 调 用 c t a s k m a n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 引导信贷资金投向消费领域的策略及实施路径
- 钢结构安装现场管理与协调方案
- 小学音乐教师招聘考试试题及答案
- DB65T 4376-2021 甜菜孢囊线虫病鉴定和监测技术规程
- 语文综合实践活动:培养团队精神和合作意识教学设计-2025-2026学年中职语文职业模块 服务类语文版
- 第三节 室内乐说课稿-2025-2026学年中职音乐第三单元 璀璨的器乐高教版(公共艺术·音乐篇·第二版)
- DB65T 4508-2022 驴鲜精人工授精技术规程
- 1.4 什么是人工智能说课稿-2023-2024学年小学信息技术(信息科技)小学版(2024)人工智能通识(清华大学版)
- 出租车考试题及答案
- 2025年新能源行业安全管理技术创新与新能源产业安全风险防范报告
- 2025年全国计算机技术与软件专业技术资格(水平)考试系统集成项目管理工程师押题试卷
- 2025年北京市专业技术人员公需科目培训答案
- 2025年通信技术认证考试-应急通信认证历年参考题库含答案解析(5套典型题)
- 自贡市富顺县城乡供水一体化工程环评报告
- 2025年金属热处理原理及工艺习题一(参考答案)
- 中国慢性胃炎诊疗指南2025版
- 2025年法院遴选面试试题及答案
- 2025年福利彩票管理规范考核试卷及答案
- 选择主题班会课件
- 贷款熔断管理办法
- 2025年公安部交管局三力测试题库及答案
评论
0/150
提交评论