基于信息系统的软件备份恢复系统设计与实现

时间:2022-09-15 09:53:24

基于信息系统的软件备份恢复系统设计与实现

摘要:针对信息系统中审计数据的特点,提出并设计了一种软件备份恢复系统,系统分为备份文件管理、基本操作管理和备份恢复实现三个模块,给出系统的详细设计过程,包括数据结构定义、备份恢复各模块的程序接口设计和备份恢复实现流程,最后从数据库一致性和性能对系统进行测试,并给出该系统在某省银行的监控系统中的一个应用实例。

关键词:信息系统;审计数据;备份恢复

中图分类号:TP309文献标识码:A文章编号:1009-3044(2010)08-1879-03

Design and Implementation of Software Backup-Restore System Based on Information System

SHI Hai-feng

(College of Software, Nanjing College of Information Technology, Nanjing 210046, China)

Abstract: Based on the characteristic of audit data in information system, this paper designs one software backup-restore system, this system includes backup file management、basic operation management and backup-restore implementation, and describes the detail design process of the system as data structure definition、program interface of modules and implementation of backup and restore, lastly it tests the system by coherence of database and performance, and gives an application example of monitor system in one bank.

Key words: information system; audit data; backup-restore

随着计算机网络及相关技术的发展,以计算机为中心的信息系统得到了迅速的发展,同时网络和信息系统的发展带来了新的安全问题[1]。信息系统一般借助于一定的技术手段,采集相关的数据,或者将信息系统所服务的对象上发生的事件记录下来,再通过事后审核和追查的方法保证系统的安全。在采集数据、记录事件和事后审核追查的过程中都会产生海量的审计数据(本文将基于信息系统中备份恢复的数据对象统称为审计数据),特别当这些系统应用在关键业务领域(如银行,证券,电子商务等)中时。另外一些防火墙、入侵检测和网络监控系统也会产生相应的审计数据。因此审计数据的备份恢复成为一个信息系统的关键要素。

针对信息安全领域海量的审计数据,一个健全的备份恢复系统不仅仅需要确保数据的安全性和完整性,还必须让海量的审计数据便于管理,另外很多信息系统还包括数据搜索、数据定位和数据挖掘等子系统,因此备份恢复还需要考虑支持这些子系统的正常运转。

本文设计的软件备份恢复系统定位在关键业务领域,具备以下特征:

1)软件备份恢复系统与硬件备份恢复系统独立运行。

2)确保分布式数据的安全性和完整性,同时便于数据管理。

3)提供相应的程序接口支持审计数据的搜索、定位和数据挖掘系统功能。

1 系统架构

在关键业务领域,审计数据通常都存储在专业的数据库系统中,本文设计的软件备份恢复系统针对数据库数据,不包括系统文件,该过程可以描述为:备份根据要求将数据库中指定数据经过压缩,定义为一个备份文件,然后将该文件备份到备份服务器合适的位置,恢复则从备份服务器中读取符合要求的备份文件,对该文件进行解压,再根据数据来源恢复到指定的数据库中。

根据以上的实现机制,系统定义了三个模块:备份文件管理,基本操作管理,备份恢复实现,其中备份恢复实现是对基本操作管理的封装,基本操作管理是对备份文件管理的封装[2-3],如图1所示。

2 系统详细设计

2.1 数据结构设计

一个备份任务将备份内容定义为一个备份文件,一个备份文件通常包括备份表记录(TbakTableRec)和备份文件头(TbakFileHead)。备份表记录的数据结构定义如表1所示,备份文件头信息的数据结构定义如表2所示。另外备份文件定义了的四种文件打开方式(追加,新建,恢复,查询),描述如下:

TbakFileMode= (mAddBackup, mBackup, mRestore, mQuery);

mAddBackup:通过该方式向备份文件中增加一个新表,但不覆盖原备份文件;

mBackup:通过该方式新建一个备份文件;

mRestore:通过该方式恢复一个备份文件;

mQuery:通过该方式打开和读取备份文件头信息。

2.2 程序模块设计

2.2.1 备份文件管理模块设计

备份文件管理定义了如下备份文件操作函数接口:1)打开备份文件(OpenBackupFile);2)关闭备份文件(CloseBackupFile);3)新建备份文件(CreateBackupFile);4)打开备份表项(CreateBackupTable);5)取得备份文件头文件信息(GetBackupFileHead);6)读备份文件(ReadBackupFile);7)定位备份文件(SeekBackupFile);8)将备份信息写入备份文件中(WriteBackupFile);9)取备份文件的某一表项(GetBackupTableHead)。

2.2.2 基本操作管理模块设计

基本操作管理对备份文件管理模块进行了封装,同时与数据库层面进行交互, 将对备份文件的基本操作转化为一个备份恢复任务的基本操作。该模块共定义了三个部分的函数:对数据库的基本操作、备份的基本操作和恢复的基本操作,分别对应于下面的函数接口:1)初始化数据库(InitDatabase);2)取得数据库列表(GetTablesList);3)取得表的定义(GetTableDefine);4)取得表的记录数(GetTableCount);5)将数据转换为数据库可以接受的数据格式(TransDataType);6)判断用户是否中断备份或恢复(IsBackupCanceled);7)完全备份数据库(FullBackup);8)根据要求备份一个表(BackupTable);9)向备份文件中添加一个表,但不覆盖原备份文件(AddBackupTable);10)从备份文件中恢复数据(RestoreBackupFile)。

2.2.3 备份恢复实现模块设计

备份恢复实现是对基本操作管理模块的封装,完全根据备份恢复的需求进行定义,是在业务层对不同的数据进行备份和恢复。该模块定义的函数有:1) 根据配置文件完全备份数据库中的表到文件,特殊文件建立空表(BackupBaseTable),2) 完全从文件中恢复数据库(RestoreBaseTable),3) 按如下策略备份表:若纪录不存在,则插入新纪录,若纪录存在则修改记录内容(BackupOnlyAddTable),4) 根据要求删除表中的记录(DeleteTable),5) 从配置文件中提取数据库连结的参数,并返回已打开的数据库连接(GetDatabaseCon),6) 根据表的某一时间,按天为单位,将表备份为一个个文件(BackupTableByTime),7) 恢复审计数据1(RestoreData1),8) 恢复审计数据2(RestoreData2),9) 恢复审计数据3(RestoreData3)。

上一篇:基于WEB工作流在电力工程项目管理系统中的应用 下一篇:硬盘的数据恢复