全自动异地数据库备份和恢复系统.docx

上传人:b****1 文档编号:13603359 上传时间:2023-06-15 格式:DOCX 页数:40 大小:415.82KB
下载 相关 举报
全自动异地数据库备份和恢复系统.docx_第1页
第1页 / 共40页
全自动异地数据库备份和恢复系统.docx_第2页
第2页 / 共40页
全自动异地数据库备份和恢复系统.docx_第3页
第3页 / 共40页
全自动异地数据库备份和恢复系统.docx_第4页
第4页 / 共40页
全自动异地数据库备份和恢复系统.docx_第5页
第5页 / 共40页
全自动异地数据库备份和恢复系统.docx_第6页
第6页 / 共40页
全自动异地数据库备份和恢复系统.docx_第7页
第7页 / 共40页
全自动异地数据库备份和恢复系统.docx_第8页
第8页 / 共40页
全自动异地数据库备份和恢复系统.docx_第9页
第9页 / 共40页
全自动异地数据库备份和恢复系统.docx_第10页
第10页 / 共40页
全自动异地数据库备份和恢复系统.docx_第11页
第11页 / 共40页
全自动异地数据库备份和恢复系统.docx_第12页
第12页 / 共40页
全自动异地数据库备份和恢复系统.docx_第13页
第13页 / 共40页
全自动异地数据库备份和恢复系统.docx_第14页
第14页 / 共40页
全自动异地数据库备份和恢复系统.docx_第15页
第15页 / 共40页
全自动异地数据库备份和恢复系统.docx_第16页
第16页 / 共40页
全自动异地数据库备份和恢复系统.docx_第17页
第17页 / 共40页
全自动异地数据库备份和恢复系统.docx_第18页
第18页 / 共40页
全自动异地数据库备份和恢复系统.docx_第19页
第19页 / 共40页
全自动异地数据库备份和恢复系统.docx_第20页
第20页 / 共40页
亲,该文档总共40页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

全自动异地数据库备份和恢复系统.docx

《全自动异地数据库备份和恢复系统.docx》由会员分享,可在线阅读,更多相关《全自动异地数据库备份和恢复系统.docx(40页珍藏版)》请在冰点文库上搜索。

全自动异地数据库备份和恢复系统.docx

全自动异地数据库备份和恢复系统

全自动异地数据库备份和恢复系统

陈磊

(自动化与电气工程学院指导教师:

李津蓉)

摘要:

随着数据库技术的不断发展,数据库的规模越来越大,其功能也越来越强大。

互联网技术的飞速发展,使企业的信息数据量也急剧增长。

因此提高数据的安全性和数据恢复能力一直是关注的焦点。

实现一套安全的,方便的,自动的,经济的备份恢复系统非常有实际价值。

数据库系统作为信息系统中的基础软件,其安全性问题十分重要。

目前国内的数据库系统基本采用国外产品,必须确保对其进行安全利用和有效监控。

本文在对数据库系统安全相关理论和技术进行探讨的基础上,基于安全性增强的思想,对SQLServer2000数据库的应用系统的安全增强进行了研究和探讨。

本论文主要研究了目前信息安全的研究与发展以及数据库安全的现状;多角度地分析了数据库系统的安全性威胁和数据库安全性的基本要求。

以SQLServer数据库为实例,对SQLServer数据库基于角色的权限管理,访问控制,审计监控、增量备份和数据恢复等关键性技术进行了深入研究。

主要基于SQLServer数据库系统,对数据库存储及传输加密、用户口令认证,安全审计机制等给出了技术实现,并通过存储过程、函数和程序包的方法对现有的数据库系统安全功能加以改进。

在VisualC++和SQLServer2000数据库的开发环境下,实现数据库的异地自动备份和恢复功能。

关键词:

数据库、VC、安全性、备份、恢复

Abstract:

Alongwiththedatabasetechnologydevelopment,thescaleofDatabasebecomelargerandlarger.Theirfunctionsareincreasinglypowerful.Internettechnologyisdevelopingatfullspeed,Enterpriseinformationanddatawasalsorapidgrowth.Thereforeimprovedatasecurityanddatarecoverycapabilityhasbeenthefocusofattention.Achievingasafe,convenient,automatic,economicsystemofbackupandrecoverydemonstratesverypracticalvalue.

Asfoundationsoftwareofinformationsystem,itissignificantforitssecurity.Nowmostdatabasesystemsuseforeignproductinourcountry.Itshouldbesolvedhowtoensuresecureuseandauditeffectively.Basedonaplentyofpapers,technologyreportsanddissertations,thisdissertationsmakesomeresearchworkonthefieldofsecuretheoryandtechnologyandstudyonsecureenhancementbasedonSQLServerdatabasesystem.

Thedissertationmainlystudiesinthecurrentinformationsecurityandthedatabasesecuritystatus.Thecharacteristicsandfundamentalrequirementofdatabasesecurityissuesareproposed.ForSQLServerdatabase,theaspectsofprivilegeadminbasedonroles,thegranularityaccesscontrol,auditandbackupandrestoretechnologyarediscussed.BasedonSQLServerdatabase,databasestorageandtransmitauthentication,userspasswordauthentication,secureauditarerealized.Databasesecurityfunctionsimprovebyprocedure,functionandprogrampackages.InVisualC++andSQLserver2000databasedevelopmentenvironment,accomplishdatabaseautomaticbackupandrecoveryfunctions.

Keywords:

Database、VC、Security、Copy、Restoration

1前言

1.1中日短信游项目简介

“中日短信游”这一服务的推出主要是在中日交流越来越频繁,需求量越来越大,发短消息已经成为一个潮流,现在中日两国之间只能打电话,不能发短信,而电话费目前还相当昂贵,因此对于一般的用户来讲都会选择更为廉价的短消息,所以在这样一个背景下出现了中日短信游,短信收发量的空前膨胀造就了新一代的拇指一族;国际交流的频繁让世界变成了地球村。

国际短信的发展势在必行,是以遍布世界的国际短信为目标。

中文和日文自由互译信息传递及时准确。

主要包括短信和邮件的相互技术,因为在中国的手机一般是没有邮件的,而只有短消息,而日本的手机恰好相反,日本的手机只有邮件,没有短消息这一服务,也没有短消息这一概念。

因此,首先的技术问题就是对邮件和短消息进行相互转换。

当然手机制式和语言文字的不同,中国手机的文字编码是以GB18030为准的,而日本是以SHIFT-JIS为准的,同样一个字所对应的文字代码就不一样了,这就需要建立相当完整的文字编码库。

“国际译信宝”是基于互联网,为用户提供高质量的短信邮件语言翻译的一个平台。

社会信息化进程不断加速,互联网的产品和服务层出不穷,人们在感受着网络给生活和工作带来方便与快捷的同时,也对互联网的产品和服务提出更多的期盼。

国际交流日渐增多,不同语言间短信和邮件日益频繁。

国际译信宝可以解除国际短信邮件之间语言不通所带来的烦恼。

比如你给你的一位日本朋友发了一封中文电子邮件,那么通过“译信宝”,你的日本朋友就可以用日文直接看你的邮件了。

当然,日本的手机一般都拥有一个个人的手机邮箱,手机跟邮箱就绑定是绑定在一起的,你可以通过对方的手机邮箱地址给他(她)发邮件,通过这样的一种方式,那么对方可以在第一时间用手机接受到您的邮件了。

这个服务现在基本上以中文,日本,英文三种语言为主要的服务对象。

1.2数据保护重要性研究

1.2.1数据破坏的后果

随着数据库技术的不断发展,从Foxpro到MicrosoftSQLServer和Oracle,数据库的规模越来越大,其功能也越来越强。

互联网技术的飞速发展,使企业的信息数据量急剧增长。

由于许多潜在的因素,如黑客攻击、病毒袭击、硬件故障和人为误操作等等,造成企业许多重要的数据丢失甚至全部业务陷于瘫痪状态,因此提高数据的安全性和数据恢复能力一直是用户和厂商关注的焦点。

为了防止计算机灾难事故的出现,数据的备份和恢复的工作就成为了一项不可忽视的系统管理工作。

拥有原始数据,就可以实现恢复,这就要求长期进行历史数据备份。

因此拥有好的“数据保护系统”和“数据保护方案”,可以将损失减少到最低程度。

通过备份可以保存相当完整的数据信息,因为数据出现问题而发生系统意外终端时,通过恢复系统把备份的数据在最短时间内恢复正常,保证系统提供服务的及时性、连续性。

关键数据的备份与恢复操作已经成为系统日常运行维护的一个重要组成部分。

而且企业及各级部门电子化程度越高,对计算机系统和网络的依赖也就越深,对备份的要求也就越高,规模更大、技术更新。

数据的备份与恢复作为一种存储管理工作,在不同的企业、部门涉及到不同的业务需求(数据量、存储结构、管理成本等),有很多技术难点,需要较强的技术支持与服务。

但是备份工作的主动性、实用性、完整性、经济性是存储管理工作共同的目标。

1.2.2对现有备份和恢复机制的研究

备份就是制作数据库结构、对象和数据的拷贝,以便在数据库遭到破坏的时候能够修复数据库。

数据库备份是一项重要的日常性质的工作,是为了以后能够顺利地将破坏了的数据库安全地恢复的基础性工作。

在进行数据库备份时,当系统的环境处于一种非正常的状态的时候才需要恢复,例如,系统整个硬件失败、系统软件瘫痪或者是由于误操作而删除了重要的数据等。

MicrosoftSQLServer2000提供了几个数据备份选项:

数据库全部备份,差异备份或增量备份,事务日志备份,文件备份、文件组备份。

对于采取的备份策略,主要是怎么样的系统采取有针对性的备份手段。

要建立一个完整的备份策略需要考虑很多因素,主要包括:

①备份周期。

根据数据的重要程序,可以选择每周、每日、每时进行备份。

②使用静态备份还是动态备份,动态备份允许数据库运行时进行备份。

③全备份还是增量备份。

④使用什么介质,磁带还是磁盘。

⑤使用人工备份还是设计好的自动备份程序。

一般使用的备份策略可以通过以下几种方式实现:

(1)定期手动备份数据库是一种最简单的方法,它能确保恢复大部分信息。

(2)采用备份软件来对服务器系统做备份。

常用的是Norton公司的磁盘备份工具—Ghost。

该软件可以直接将磁盘上的某个分区或整个硬盘克隆成一个镜像文件,然后把它存放在别处,那么当该分区或硬盘出现问题时,使用Ghost在另一硬盘或分区上,利用镜像文件快速还原。

(3)双机热备份方式,所谓双机热备份是指系统对主机及硬盘、通讯线路等核心设备,采用双机备份,当系统正常时主机进行工作,并且每隔设定时间系统自动检测,若发现问题,系统能够自动切换到备份机继续工作,保证不影响系统的正常运行。

但双机热备份

成本很高(4)使用最多的异机备份的策略,这也是最好最经济的备份方式。

在局域网内的任何一台工作站计算机上安装MicrosoftSQLServer2000,并在该机上建立一个与服务器中的数据库同名的数据库,利用MicrosoftSQLServer2000系统本身提供的异机传送工具通过设置定时由计算机自动的把服务器中数据库的数据传送到该工作站机的数据库中,一旦出现问题,只要重装服务器操作系统重装MicrosoftSQLServer2000,仍然可以采用异机传送工具来通过该工作站机把数据传回至服务器的MicrosoftSQLServer2000数据库中,以确保数据的安全恢复。

1.3系统实现功能介绍

首先从数据备份的重要性考虑,拟定用VC+SQLSERVER编程来实现数据的随时自动备份功能。

打破常规的人工的,数据库默认的备份模式。

实现一个能够异地备份和恢复服务器数据的廉价的备份恢复系统,做到远程对数据库中数据的远程控制。

1.4本论文的主要研究内容

本研究的主要目的是在通过用VC编程实现对数据库数据进行异地自动实时备份和恢复功能,针对数据备份工作的目标:

主动性、实用性、完整性、经济性。

完成用底本低廉,实时,主动随控和数据完整的优点来替代数据库本地备份的成本高,空间小等备份模式。

本文各章的主要内容如下:

第一章,主要论述在公司中日短信游项目中对数据库中的数据保护重要性及其重要的前提,结合当前世界上对数据的保护技术显得尤为重要,研究解决针对本项目的数据保护功能,设计出操作方便,快捷但功能强大的数据备份恢复手段显得颇有意义。

第二章,总结在程序开发环境研究与学习的过程中所用到的主要技术和遇到的主要难点问题。

并提出针对性的解决方案。

第三章,GUI(用户图形界面)设计。

第四章,数据库管理功能的实现。

第五章,系统的整机调试及性能测试。

第六章,对本设计进行总结展望。

2.程序开发环境研究与学习

2.1windows程序运行原理

2.1.1windows消息机制

图2.1

Windows应用程序,操作系统,计算机硬件之间的相互关系:

应用程序可以通知操作系统执行某个具体的动作,如操作系统能够控制声卡发出声音,但它并不知道应该何时发出何种声音,需要应用程序告诉操作系统该发出什么样的声音。

这个关系好比有个机器人能够完成行走的功能,但是,如果人们不告诉它往哪个方向上走,机器人是不会主动行走的。

在应用程序中要完成某个功能,都是以函数调用的形式实现的,同样,应用程序也是以函数调用的方式来通知操作系统执行相应的功能的。

操作系统所能够完成的每一个特殊功能通常都有一个函数与其对应。

这些函数的集合就是Windows操作系统提供给应用程序编程的接口(ApplicationProgrammingInterface),简称WindowsAPI。

从操作系统到应用程序表示操作系统能够将输入设备的变化上传给应用程序。

如用户在某个程序活动时按了一下键盘,操作系统马上能够感知到这一事件,并且能够知道用户按下的是哪一个键,操作系统并不决定对这一事件如何做出反应,而是将这一事件转交给应用程序,由应用程序决定如何对这一事件做出反应。

对事件做出反应的过程就是消息响应。

操作系统是怎样将感知到的事件传递给应用程序的呢?

这是通过消息机制(Message)来实现的。

操作系统将每个事件都包装成一个称为消息的结构体MSG来传递给应用程序。

2.1.2windows驱动模型

传统的MS-DOS程序主要采用顺序的、关联的、过程驱动的程序设计方法。

一个程序是一系列预先定义好的操作序列的组合,它具有一定的开头、中间过程和结束。

程序直接控制程序事件和过程的顺序。

这样的程序设计方法是面向程序而不是面向用户的,交互性差,用户界面不够友好,因为它强迫用户按照某种不可更改的模式进行工作。

它的基本模型如图2.1.2

(1)所示。

图2.2过程驱动模型

事件驱动程序设计是一种全新的程序设计方法,它不是由事件的顺序来控制,而是由事件的发生来控制,而这种事件的发生是随机的、不确定的,并没有预定的顺序,这样就允许程序的的用户用各种合理的顺序来安排程序的流程。

对于需要用户交互的应用程序来说,事件驱动的程序设计有着过程驱动方法无法替代的优点。

它是一种面向用户的程序设计方法,它在程序设计过程中除了完成所需功能之外,更多的考虑了用户可能的各种输入,并针对性的设计相应的处理程序。

它是一种“被动”式程序设计方法,程序开始运行时,处于等待用户输入事件状态,然后取得事件并作出相应反应,处理完毕又返回并处于等待事件状态。

它的框图如图2.2所示。

图2.3事件驱动模型

图2.3消息驱动模型

2.2系统开发环境

2.2.1VC开发环境介绍

VC是Microsoft公司的重要产品之一-DeveloperStudio工具集的重要组成部分。

它用来在Windows环境下开发应用程序是一种功能强大,行之有效的可视化编程工具。

VC以可视化为基础,以C++语言为蓝本,以众多的集成工具为骨架,在计算机领域的诸多方面都发挥重要作用。

VC提供了简介使用的开发环境,集成的工具集能够让用户高效率的开发应用程序。

VC提供了MFC类库,一般性工作可以全部交给VC来完成,用户只要在其基础上做出自己想要的功能即可。

与TurboC等工具相比,VC完成目标(尤其对于图形界面的程序)所花费的时间要少的多。

visualc++是一种可视化的,面向对象的windows开发工具,它具易用,通用和开发效率高的特点。

随着微软公司对它的不断地改进以及计算机本身在性能上的迅速提高,使得visualc++越来越适合于一般的应用程序开发。

VC的核心-MFC类库已经是事实上的业界标准,它于visualstudio中的其他可视化开发工具紧密集成,可用于开发非常专业的windows,web和企业级应用程序

图2.4

2.2.2SQLSERVER2000简介

MicrosoftSQLServer(简称SQLServer)是微软公司推出的一个高性能的关系型数据库管理系统,它具有客户/服务器体系结构,能够满足大规模分布式计算环境的需要。

随着SQLServer产品性能的不断提高,使之在数据库系统领域中占有重要的地位。

SQLServer系统之所以成为目前流行的大型商用数据库系统,有着其深刻的内在因素,这与它鲜明的特点是分不开的:

与Internet的高度集成;高伸缩性和适应性;企业级数据库功能强大;易于安装和使用等特点是的它成为了数据库开发的一个很好选择。

SQLServer2000与其它产品共同构成了可靠安全的Internet和Intranet系统的数据存储。

例如:

SQLServer2000与windows操作系统安全及加密工具共同实现安全的数据存储:

SQLServer为在服务下运行或通过防火墙访问数据库的Web应用程序构成了高性能的数据存储服务;可与siteserver一起使用,建立并维扩大型的复杂电子商务Web站点;SQLServer2000TCP/IP套接字通讯支持可与MicrosoftProxyServer集成,以实现安全的Internet和Intranet通讯。

SQLServer2000数据库引擎充分保护资料的完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。

其分布式查询使得引用来自不同资料源的资料,就好像这些资料是SQLServer数据库的一部分,同时分布式事务支持充分保护任何分布式资料更新的完整性。

图2.5

2.3C++编程思想

面向对象技术是目前流行的系统设计开发技术,它包括面向对象分析和面向对象程序设计。

面向对象程序设计技术的提出,主要是为了解决传统程序设计方法——结构化程序设计所不能解决的代码重用问题。

结构化程序设计从系统的功能入手,按照工程的标准和严格的规范将系统分解为若干功能模块,系统是实现模块功能的函数和过程的集合。

由于用户的需求和软、硬件技术的不断发展变化,按照功能划分设计的系统模块必然是易变的和不稳定的。

这样开发出来的模块可重用性不高。

面向对象程序设计是一种围绕真实世界的概念来组织模型的程序设计方法,它采用对象来描述问题空间的实体。

对象是包含现实世界物体特征的抽象实体,它反映了系统为之保存信息和与它交互的能力。

它是一些属性及服务的一个封装体,在程序设计领域,可以用“对象=数据+作用于这些数据上的操作”这一公式来表达。

类是具有相同操作功能和相同的数据格式(属性)的对象的集合。

类可以看作抽象数据类型的具体实现。

抽象数据类型是数据类型抽象的表示形式。

数据类型是指数据的集合和作用于其上的操作的集合,而抽象数据类型不关心操作实现的细节。

从外部看,类型的行为可以用新定义的操作加以规定。

类为对象集合的抽象,它规定了这些对象的公共属性和方法;对象为类的一个实例。

对象和类的关系相当于一般的程序设计语言中变量和变量类型的关系。

面向对象的编程方法具有四个基本特征:

1.抽象:

  抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。

抽象包括两个方面,一是过程抽象,二是数据抽象。

过程抽象是指任何一个明确定义功能的操作都可被使用者看作单个的实体看待,尽管这个操作实际上可能由一系列更低级的操作来完成。

数据抽象定义了数据类型和施加于该类型对象上的操作,并限定了对象的值只能通过使用这些操作修改和观察。

2.继承:

  继承是一种联结类的层次模型,它提供了一种明确表述共性的方法。

对象的一个新类可以从现有的类中派生,这个过程称为类继承。

新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。

派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。

这也体现了大自然中一般与特殊的关系。

继承性很好的解决了软件的可重用性问题。

比如说,所有的Windows应用程序都有一个窗口,它们可以看作都是从一个窗口类派生出来的。

但是有的应用程序用于文字处理,有的应用程序用于绘图,这是由于派生出了不同的子类,各个子类添加了不同的特性。

3.封装:

  封装是面向对象的特征之一,是对象和类概念的主要特性。

封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。

一旦定义了一个对象的特性,则有必要决定这些特性的可见性,即哪些特性对外部世界是可见的,哪些特性用于表示内部状态。

在这个阶段定义对象的接口。

对应用程序的修改仅限于类的内部,因而可以将应用程序修改带来的影响减少到最低限度。

4.多态性:

  多态性是指允许不同类的对象对同一消息作出响应。

比如同样的加法,把两个时间加在一起和把两个整数加在一起肯定完全不同。

又比如,同样的选择编辑-粘贴操作,在字处理程序和绘图程序中有不同的效果。

多态性包括参数化多态性和包含多态性。

多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。

2.4SQLServer数据库系统

2.4.1关系型数据库

关系型数据库系统是当前最流行的数据库软件系统。

它是一个非常复杂的软件系统,对数据序系统的所有操作,包括定义、查询、更新和各种运行控制最终都是通过它来实现的,因此它是使数据库系统只有资料共享、并发访问、资料独立等特性的根本保证。

就关系数据库管理系统(RDBMS)而言,它是位于用户与操作系统之间的一层数据管理软件,它主要负责维持数据库中资料的关系,保障资料的正确存储,即保障定义资料之间的关系的种种规则不会被违背,在系统出错时,把资料恢复到一个能保证一致性的状态。

2.4.1.1客户/服务器系统模型

如图2.3.1.1所示,SQLServer利用客户/服务器结构把工作分解成在服务器计算机上运行的任务和在客户计算机上运行的任务:

客户负责商务逻辑处理,把资料呈现给用户。

通常,客户在一个或多个客户计算机上运行,但也能在配有SQLServer服务器计算机上运行。

SQLserver管理数据库,并在多个处理请求之间分配保存储区、网络带宽和磁盘操作等可利用的资源。

客户/服务器体系结构,允许您为各类环境合理地设计和部署应用系统。

客户编程接口允许应用运行在不同的客户机上,并通过网络与服务器通讯。

图2.6客户/服务器体系结构示意图

2.4.1.2Transact-SQL

Transact-SQL是结构化查询语言(SQL)的一种。

SQLServer用Transact-SQL作为它的数据库查询和编程语言。

Transact-SQL包含了管理SQLServer,在SQLServer中创建和管理所有对象,以及在SQLServer表中进行插入、更新、修改和删除资料的命令。

Transact-SQL是在国际标准化组织(ISO)和美国国家标准化机构(ANSI)定义了的SQL标准基础上的扩展。

2.4.2SQLServer数据管理

在某种程度上,几乎所有大大小小的商务系统都依赖于数据库技术。

这种商业的竞争使得某些系统凸现出其卓越的特性。

尽管维持许多数据库服务器不知疲倦地高效运转的确是一件比较困难的事,但是更困难的是确保为合适的人提供合适的信息,并利用这些信息提供强大的分析能力为各种商业活动创造更大的获利空间。

能够完成这些工作的系统的确不多,MicrosoftSQLServ

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2