本站所列毕业设计(论文)资料均属于原创者所有,初衷是为大家在毕业设计(论文)过程中参考和学习交流之用。

毕业设计我帮你

西藏邮政集中备份恢复系统的需求分析与设计

西藏邮政集中备份恢复系统的需求分析与设计

西藏邮政集中备份恢复系统(以下称集中备份恢复系统)需要能够对西藏邮政区信息中心运行Linux操作系统的x86体系结构的PC服务器、PC机进行备份并存储备份数据,并在发生诸如操作系统损坏、应用软件损坏、数据丢失时进行恢复。主要备份对象有操作系统及配置文件

如需购买请QQ扫描右边二维码或者加QQ 3449649974 咨询 毕业设计(论文)代做请加QQ 3139476774


  • 详细描述

    西藏邮政集中备份恢复系统的需求分析与设计
    第一章 绪论
     1 课题背景    
        长期以来,中国邮政坚持“科技兴邮”的发展战略,利用现代信息技术改造传统产业,不断提升邮政行业的科技含量和信息化应用水平,经过十余年的执着拼搏,探索出了一条具有邮政特色的信息化建设之路,为企业的可持续发展打下了坚实基础。中国邮政的信息化历经基础网络平台建设、业务应用系统开发上线和面向企业经营管理的信息化建设等三个主要阶段。十余年来,邮政信息网的网络能力持续提高,应用系统的使用范围和应用深度不断扩大,支撑着邮务类、金融类、速递物流类“三大板块”业务的生产、经营及管理,对优化业务流程、创新经营管理模式和提高内部管理水平起着越来越重要的作用,有效推动了企业的业务创新、服务创新和管理创新。
    随着中国邮政集团公司信息化的不断深入,西藏邮政的信息系统也经历了从无到有、从少到多、从简单到复杂的发展过程。经过多年的不懈努力,西藏邮政已经建成覆盖拉萨、日喀则、山南、林芝、昌都、那曲、阿里7个地市及所辖县的邮政综合计算机网,有一个省数据中心,6个地市数据中心,既能上联邮政信息网全国中心,又能下联各级邮政营业、生产、办公场所。省数据中心在线运行了邮政营业信息系统、网运信息系统、邮政电子商务平台、11185客服中心系统、邮政储蓄系统、电子汇兑系统、速递综合信息平台等应用系统共60余个,服务器及相关存储设备160余台套,网络设备40余台。
    目前,西藏邮政的各项经营、生产、管理工作对计算机系统的依赖性不断上升,能否保证计算机系统连续运行及数据安全就变得越来越重要。如果发生诸如硬件故障、软件故障、误操作、病毒入侵、黑客攻击和灾难性事件等,造成数据丢失,轻则需要耗费大量的人力、物力恢复数据,造成业务的长时间中断;重则造成数据无法恢复,业务无法进行,损失将不可估量。保证数据安全最有效的手段是数据备份。数据备份技术可以将某一时间点的数据备份到另一存储介质,如磁带或磁盘上。一旦业务系统的数据由于某种原因丢失,则可以从备份介质(磁带、磁盘)中将数据恢复。
    西藏邮政省数据中心目前采取的数据备份方法是运行维护人员各自对其负责的业务系统进行备份,备份内容、周期、策略各不相同,备份数据虽集中存储却疏于统一管理。数据恢复时,完全依赖运维人员人工操作,恢复准确性及效率依赖于运维人员自身能力和经验。
    综上可知,西藏邮政省数据中心迫切需要一套集中化、自动化的备份恢复系统,对和业务系统的操作系统、应用软件、业务数据、网络配置等进行备份保护,以应对硬件故障、软件故障、误操作、病毒入侵、黑客攻击和灾难性事件等对业务数据安全的威胁,保证企业的业务连续性。
    2 课题目的及意义
    本课题的目的是为解决西藏邮政省数据中心业务系统数据备份与恢复过程中存在的分散、缺乏统一管理、运维人员经验能力依赖度高等问题,研发一套集中化、自动化的备份恢复系统,在备份策略的控制下,自动地、全面地、高效地备份业务系统的操作系统、应用软件、业务数据、网络配置等,当数据丢失或损坏时,能够及时可靠地迅速恢复数据。
    集中备份恢复系统建成后,所有需要备份的业务系统将统一纳入系统管理,统一制定备份策略,自动地进行数据备份;备份数据集中存储,可管理存储周期和数量;在数据恢复时,可灵活设置恢复策略,自动地进行数据恢复。将数据备份与恢复工作自动化之后,可有效提高备份效率及安全性,为西藏邮政的业务系统安全稳定运行提供保障。
    3 课题任务
    3.1 课题任务
    本课题的目标是建设西藏邮政集中备份恢复系统(以下简称集中备份恢复系统),实现对西藏邮政省数据中心各个运行于Linux操作系统的业务系统的操作系统、应用软件、数据库等的自动备份,集中存储并管理备份数据,在发生系统故障、数据丢失时,快速从备份数据中恢复,保证各业务系统的连续运行。具体目标如下:
    1、实现集中备份恢复管理系统,并具备以下功能:对系统用户进行管理,可增加、查询、修改、删除系统用户,可配置用户权限;对需要进行备份的目标服务器及对象进行管理,可增加、查询、修改、删除备份设备或对象;可针对每个备份目标或对象制定灵活的备份策略;可远程配置运行于备份目标的备份恢复代理软件;可有效管理备份数据;在恢复策略的控制下自动将指定备份数据恢复至备份目标指定位置。
    2、实现基于Linux操作系统的备份恢复代理,并具备以下功能:接受集中备份恢复管理系统下发的备份恢复策略,并自动执行备份恢复操作;操作系统备份恢复,可备份恢复西藏邮政省数据中心在网运行的所有版本的Linux操作系统;Linux文件系统备份恢复,可备份指定的Linux文件系统或目录;数据库备份恢复,可备份恢复西藏邮政省数据中心在网运行的所有Linux版本的数据库软件及业务数据。
    3.2 本人承担任务
    作者本人在该课题中主要承担调研业务需求、需求分析和系统设计工作。主要包含以下几方面:
    1、梳理西藏邮政省数据中心在线运行的各业务系统的服务器、磁盘阵列和网络设备情况;
    2、统计并分析操作系统、应用软件、业务数据等数据的存储量;
    3、调研各业务系统运维人员对集中备份恢复系统的需求,包括功能需求、性能需求、运行环境需求、用户界面需求等,另外还有可靠性、安全性、可扩展性、可维护性等方面的需求,并根据整体需求进行需求分析;
    4、根据需求分析,逐步细化系统功能,设计集中备份恢复系统的管理系统、备份恢复代理的各个子功能模块,设计系统的数据库结构;
    4 论文结构
    本文共分六章,内容安排如下:
    第一章 绪论,介绍了本课题的背景及必要性,说明了本课题的任务、内容及本人承担的工作。
    第二章 系统开发的关键技术,介绍了系统开发中使用到的关键技术,重点对Linux内核编程技术、MVC设计模式、Struts框架、Spring框架、Hibernate框架进行了介绍。
    第三章 系统需求分析,在调研的基础上,从系统运行环境需求、功能性需求和非功能性需求共三个方面,详细分析了系统的需求。
    第四章 系统设计,介绍了系统总体架构设计、软件体系结构设计和功能模块设计,详细说明了系统的架构、各功能模块的功能和处理流程。
    第五章 数据库设计,介绍了数据库设计的概念及方法,从数据库管理系统的选择、数据库概念设计、数据库逻辑设计和数据库物理设计四个方面,选取典型表进行了详细介绍。
    第六章 总结与展望,对系统的需求分析和设计工作进行了总结,提出了系统的改进方向。

    第二章
    系统开发的关键技术
     1 Linux内核编程
    Linux是一种自由和开放源代码的类UNIX操作系统,其内核由Linus Torvalds于1991年发布。一般来说,Linux这个词只表示Linux内核,但人们已经习惯于用Linux来指代基于Linux内核的完整操作系统,包括图形界面组件和其它应用程序或工具。Linux诞生之初只是Linus Torvalds业务爱好的产物,但经过多年发展,它已经拥有如Red Hat、Debian、SUSE等众多发行版,广泛应用于桌面计算机和服务器。
    Linux内核有众多组成部分,主要包括用户接口、用户标识符、文件和文件系统、进程、系统调用、调度程序和设备驱动程序等,这些组件以模块(Module)的形式存在于内核中。Linux内核编程主要是指开发内核模块,包括驱动程序或其它需要在内核空间运行的程序,编程语言仍然是传统的C语言,但其编写方法和调用接口与普通应用程序的差别较大[2]
    一个Linux内核模块程序有着固定的程序结构,在进行开发时,至少要包含其固定结构。主要由以下几部分组成[3]
    1. 模块加载函数
        当通过insmod或modprobe命令加载内核模块时,模块的加载函数会自动被内核执行,完成本模块的相关初始化工作。加载函数一般作为模块的主程序。
    2. 模块卸载函数
        当通过rmmod命令卸载某模块时,模块的卸载函数会自动被内核执行,完成与模块加载函数相反的功能,执行模块的相关清理工作。
    3. 模块许可证声明
        许可证声音(MODULE_LICENSE)描述内核模块的许可权限,如果不声明,模块被加载时,将收到“内核被污染”(kernel tainted)的警告。
    4. 模块参数
        模块参数是模块被加载时可以被传递给它的值,它本身对应模块内部的全局变量。
    5. 模块导出符号
        内核模块可以导出符号(symbol,对应于函数或变量),这样其他模块可以使用本模块中的变量或函数。
    6. 模块作者等信息声明
    描述模块的作者、功能或其它需要说明的信息。

    2 MVC模式
    2.1 MVC概述
    MVC(Model-View-Controller)是一种在软件工程中被广泛使用的架构模式,它把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller),按照将业务逻辑、数据处理和界面展示分离的思想设计软件系统,从而降低耦合性,提高代码重用性、可维护性[4]
    在WEB应用中,模型、视图和控制器各自的作用和相互关系如下:
    l 模型(Model)
        用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法。模型对业务数据进行存取和处理,按业务流程完成流转。“模型”不依赖“视图”和“控制器”,也就是说,模型不关心它会被如何显示或是如何被操作。
    l 视图(View)
        代表用户交互界面,对于WEB应用来说,可以概括为HTML界面,但有可能为XHTML、XML和Applet等。随着应用的复杂性不断提高,一个应用可能有很多不同的视图,比如用户既希望通过PC访问又希望通过移动设备访问,这就要求应用提供PC端的界面和移动设备端的界面。MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。
    l 控制器(Controller)
    控制器是视图与模型之间的纽带。控制器将视图接收的数据交给相应的模型去处理,将模型的返回数据交给相应的视图去显示。
    2.2 MVC处理过程
    MVC的处理过程从用户发出请求开始,用户发出请求后,视图将请求转发到控制器,控制器调用模型,由模型对业务进行处理,模型完成业务处理后向控制器返回处理结果,控制器根据返回数据选择相应的视图反馈给用户。MVC的处理过程如图2-1所示。

    图2-1 MVC处理过程时序图
     
      1 SSH框架
    SSH是Struts框架、Spring框架和Hibernate框架的缩写,是目前较流行的一种WEB应用程序开源集成框架,用于构建灵活、易于扩展的多层WEB应用程序。其中,Struts框架作为系统的整体基础架构,负责MVC的分离;Hibernate框架对数据持久层提供支持;Spring框架负责管理Struts和Hibernate,利用其IOC机制(Inversion of Control,控制反转)来降低两个框架的耦合度。
    1.1 Struts框架
    Struts是一个为开发基于MVC模式的应用而开发的开源框架,是利用Java Servlet和JSP构建WEB应用的一项非常有用的框架。Struts框架的发展经历了Struts 1和Struts 2,现在所说的Strtus框架主要指Struts 2。与Struts 1相比较,Struts 2采用拦截器或者拦截器栈,实现将业务逻辑同Servlet API分离,解决了Struts 1中JSP和Servlet API紧耦合的问题。
    Struts 2框架的处理流程大致如下:客户端浏览器向服务器发送一个请求;核心控制器FilterDispatcher根据请求决定调用合适的Action;WebWork的拦截器链自动对请求应用通用功能,如验证等;回调Action的execute()方法,该方法根据请求的参数来执行一定的操作;execute()方法的处理结果信息将被输出到浏览器中[5]
    1.2 Spring框架
    Spring是一个为解决企业应用开发的复杂性而生的开源框架,它使用控制反转机制(Inversion of Control)和面向切面(Aspect Oriented Programming)的思想来使企业应用程序变得更简单、更易测试、松耦合。Spring使用最基本的JavaBean来完成以前只可能由复杂的EJB完成的事情。使用过EJB开发J2EE应用的人都知道,EJB要严格地继承各种不同类型的接口,类似的或者重复的代码大量存在,而配置也是复杂和单调。
    下面介绍Spring的控制反转和面向切面支持:
    l 控制反转
        Spring通过一种称作控制反转(Inversion of Control)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。
    l 面向切面
        Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计和事务管理)进行内聚性的开发。应用对象只实现它们应该做的——完成业务逻辑,仅此而已。它们并不负责其它的系统级关注点,例如日志或事务支持[5]
    1.3 Hibernate框架
    Hibernate是一个开放源代码的对象关系映射(Object Relation Mapping)框架,它对JDBC(Java DataBase Connectivity)进行了非常轻量级的对象封装,使得Java程序员可以随心所欲地使用对象编程思维来操纵数据库,而无需考虑数据库是Oracle还是MySQL。Hibernate可以应用在任何使用JDBC的场合,最重要的是Hibernate完全取代EJB中的CMP,实现数据持久化。
    Hibernate包括五个核心接口,分别是Session、SessionFactory、Transaction、Query和Configuration,它们分别承担着不同的工作任务,利用它们不仅能实现对持久化数据信息的存取,还可完成事务处理。Hibernate具备的最大优势在于可实现对透明化对象的持久,其能通过POJO方法进行程序实现,同时随着Hibernate的不断发展,还实现了对Map、XML等文件形式数据的持久。
    Hibernate框架利用XML文件来实现代码与数据库表结构的映射关系。它的具体工作流程为:开发人员首先在配置文件中定义好数据库连接信息,并新建一份XML格式的映射文件,确定哪些类需要存储在数据库中,接着由Hibernate管理数据库连接、数据库表的持久化类,然后就能以对象的形式获取数据,或者把对象保存为数据[6]
    2 本章小结
        本章简要介绍了在集中备份恢复系统开发中使用到的关键技术。首先介绍了Linux系统数据备份所使用到的Linux内核编程技术,然后介绍了B/S架构的管理系统开发所使用的MVC设计模式、Struts框架、Spring框架和Hibernate框架。

    第二章
    系统需求分析
     1 系统概述
    西藏邮政集中备份恢复系统(以下称集中备份恢复系统)需要能够对西藏邮政区信息中心运行Linux操作系统的x86体系结构的PC服务器、PC机进行备份并存储备份数据,并在发生诸如操作系统损坏、应用软件损坏、数据丢失时进行恢复。主要备份对象有操作系统及配置文件;应用软件及配置文件、日志;数据库软件及配置文件、业务数据。
    集中备份恢复系统通过局域网与目标服务器连接,完成对目标服务器的操作系统、应用软件、数据库等的备份/恢复操作。系统结构如图3-1所示。

    图3-1 集中备份恢复系统结构示意图
    3.2系统业务需求
    西藏邮政各业务系统的运维人员通过集中备份恢复系统完成目标服务器的操作系统、应用软件、数据库等的数据备份和恢复工作。主要业务流程包括数据备份、数据恢复、用户管理、权限管理等,各主要业务流程描述如下:
    3.3数据备份流程
    运维人员登录集中备份恢复系统后,选择需要备份的目标服务器,为目标服务器制定备份策略并下发至目标服务器,目标服务器上的备份软件解析备份策略并执行数据备份操作,备份完成后,将备份数据集上传至集中备份恢复系统集中存储并管理。数据备份的业务数据流如图3-2所示。


    总结与展望
     1 总结
    随着中国邮政信息化的不断深入,西藏邮政的信息化水平也不断提高,其省数据中心在线运行了为数不少的业务系统。在日常工作中发现,对这些业务系统的数据备份工作长期处于分散管理的状态,数据备份和恢复的效率及安全性不高。西藏邮政迫切需要一套集中的、自动化程度高的备份恢复系统,有效管理业务系统的备份工作,将备份数据统一管理,以便在发生诸如硬件故障、软件故障、误操作、病毒入侵、黑客攻击和灾难性事件等对威胁业务数据安全的事件时,及时有效地恢复数据,恢复业务运行,保证企业的业务连续性。
    本文调研了西藏邮政省数据中心的运行维护人员,排查了各业务系统的现状,掌握了业务系统的现有数据量;详细了解了运行维护人员对数据备份和恢复的业务需求,并进行了需求分析。在此基础上,设计了集中备份恢复系统,系统分集中管理子系统和备份恢复代理两部分:备份恢复代理运行于需要备份的目标服务器上,在集中管理子系统下发的备份策略的控制下,自动地备份Linux操作系统、应用软件、数据库等数据,并将备份数据上传至集中管理子系统存储和管理;集中管理子系统是B/S架构的管理系统,为系统管理员和运行维护人员提供统一的管理入口,完成整个系统的权限控制、目标设备管理、备份/恢复策略管理、备份/恢复管理、备份数据管理等功能。
    本文设计的集中备份恢复系统在功能性、经济性、可靠性、可扩展性方面均能满足西藏邮政省数据中心的备份/恢复需求,具体体现如下:
    功能性:系统提供了备份目标的统一管理、备份策略的制定分发、备份/恢复操作自动执行且可管可控、备份数据统一存储和管理、恢复操作自动执行等功能。
    经济性:系统充分利用西藏邮政现有的软件、硬件资产,尽可能不新增投资,保护原有投资。并且系统运行于通用软硬件平台,即使进行升级改造,投资也不会太大。
    可靠性:系统采用备份/恢复操作和管理系统分离的架构,备份恢复代理分布于各个目标设备,管理系统亦可采用集群方式部署,不存在单点隐患,且备份恢复代理可脱离管理系统运行。
    可扩展性:系统可无限制地增加备份目标设备,即使备份数据存储空间不足,新增存储设备也非常简单,仅需将其连接到现有的SAN网络中即可。
    2 展望
    虽说本文设计的集中备份恢复系统满足了西藏邮政省数据中心现有和未来几年的数据备份恢复需求,但也存在需要改进的方面,如系统未采用重复数据消除技术,将存在大量重复或相似的备份数据,存储空间的使用效率未达最优。待系统建成后,作者将继续对系统进行研究和优化,以满足西藏邮政不断变化的数据备份与恢复需求。

    参考文献
    [1] 王安生.软件工程化.清华大学出版社.2014.113-211
    [2] [美]Claudia Salzberg Rodriguez,Gordon Fischer, Steven Smolski著.陈莉君,贺炎,刘霞林译.Linux内核编程.人民邮电出版社.2011.7-48
    [3] 宋宝华.Linux设备驱动开发详解.第二版.人民邮电出版社.2010.82-91
    [4] hezihainan.MVC框架.http://baike.baidu.com/view/5432454.htm?
    from_id=85990&type=search&fromtitle=mvc&fr=aladdin,2014
    [5] 王伟平.Struts2完全学习手册.清华大学出版社.2011.12-30,424-439
    [6] [美]James Elliott,Tim O’Brien著.刘平利译.精通Hibernate.机械工业出版社.2009
    [7] 王晟,王毅.Linux实时文件备份系统综述.计算机与现代化.2009年第6期.40-43
    [8] 马凌,李贤玉,刘丰等.磁盘数据备份中快照技术的研究.计算机工程与设计.第27卷第22期.2006.4285-4287
    [9] [美]博韦,西斯特著.陈莉君,张琼声,张宏伟译.深入理解LINUX内核.第三版.2008
    [10] 徐宝文,周毓明,卢红敏.UML与软件建模.清华大学出版社.2006
    [11] [美]Grady Booch,James Rumbaugh,Ivar Jacobson.The Unified Modeling Language User Guide.2nd Edition.Addison-Wesley Professional.2005
    [12] [英]Thomas M. Connolly,Carolyn E. Begg著.何玉洁,黄婷儿等译.数据库设计教程.2nd Edition.机械工业出版社.2005
    [13] [美]Josh Juneau,Matt Arena著.任政委译.Oracle PL/SQL攻略.人民邮电出版社.2013

    目录
    第一章 绪论 1
    1.1 课题背景 1
    1.2 课题目的及意义 2
    1.3 课题任务 2
    1.3.1 课题任务 2
    1.3.2 本人承担任务 3
    1.4 论文结构 3
    第二章 系统开发的关键技术 5
    2.1 Linux内核编程 5
    2.2 MVC模式 6
    2.2.1 MVC概述 6
    2.2.2 MVC处理过程 6
    2.3 SSH框架 7
    2.3.1 Struts框架 7
    2.3.2 Spring框架 8
    2.3.3 Hibernate框架 8
    2.4 本章小结 9
    第三章 系统需求分析 10
    3.1 系统概述 10
    3.2 系统业务需求 10
    3.2.1 数据备份流程 11
    3.2.2 数据恢复流程 11
    3.2.3 系统功能结构 12
    3.3 系统运行环境需求 13
    3.3.1 集中备份恢复系统运行环境 13
    3.3.2 备份数据存储设备 14
    3.3.3 系统网络环境 14
    3.4 功能性需求 14
    3.4.1 用户管理 14
    3.4.2 角色管理 15
    3.4.3 权限管理 16
    3.4.4 目标设备管理 17
    3.4.5 备份策略管理 17
    3.4.6 恢复策略管理 18
    3.4.7 数据备份 19
    3.4.8 数据恢复 21
    3.4.9 备份数据存储介质管理 23
    3.4.10 备份数据管理 23
    3.4.11 日志管理 24
    3.5 非功能性需求 25
    3.5.1 性能需求 25
    3.5.2 易用性 25
    3.5.3 可扩展性 25
    3.5.4 安全性 26
    3.6 本章小结 26
    第四章 系统设计 27
    4.1 系统总体架构设计 27
    4.1.1 系统总体架构设计原则 27
    4.1.2 系统总体架构 27
    4.1.3 系统网络结构 28
    4.2 软件体系结构设计 28
    4.2.1 软件设计原则 28
    4.2.2 软件体系结构 29
    4.2.2.1 备份恢复代理 29
    4.2.2.2 集中管理子系统 31
    4.3 功能模块设计 32
    4.3.1 备份恢复代理功能模块设计 32
    4.3.1.1 策略解析模块 32
    4.3.1.2 数据备份模块 33
    4.3.1.3 数据恢复模块 34
    4.3.1.4 日志模块 35
    4.3.1.5 状态报告模块 36
    4.3.1.6 接口服务模块 37
    4.3.2 集中管理子系统功能模块设计 38
    4.3.2.1 用户管理模块 38
    4.3.2.2 角色管理模块 40
    4.3.2.3 权限管理模块 42
    4.3.2.4 目标设备管理模块 45
    4.3.2.5 策略管理模块 47
    4.3.2.6 备份恢复管理模块 49
    4.3.2.7 备份数据管理模块 51
    4.3.2.8 接口服务模块 53
    4.4 本章小结 53
    第五章 数据库设计 54
    5.1 数据库设计概述 54
    5.2 数据库概念设计 54
    5.3 数据库逻辑设计 56
    5.4 数据库物理设计 58
    5.5 本章小结 60
    第六章 总结与展望 61
    6.1 总结 61
    6.2 展望 62
    参考文献 63
    致谢 64
    收缩