一种基于应用快照的数据库持续数据保护方法

文档序号:6375866阅读:190来源:国知局
专利名称:一种基于应用快照的数据库持续数据保护方法
技术领域
本发明属于数据备份技术领域,尤其是一种基于应用快照的数据库持续数据保护方法。
背景技术
随着信息技术的飞速发展,需要对计算机数据库进行有效地保护。现有的DBMS关系型数据库由控制文件、日志文件和数据文件组成,他们之间是互相独立的,由不同的数据库实例(INSTANCE)进程控制。一般情况下,控制文件记录数据库整体信息,日志文件记录数据库变化的历史,而数据文件记录具体的数据内容,日志文件写入磁盘与数据文件写入磁盘并不是同步的,数据库在运行时的写首先保存在数据缓冲中,同时在日志缓冲中加入一条记录。如图7所示,LGWR负责将日志缓冲写入对应的磁盘分区I,DBWR负责将数据缓 冲写入对应的磁盘分区2。日志缓冲大小为几MB,写入次数频繁,数据缓冲大小为几GB,写入次数较少,例如以9:00-9:10为例,LGWR运行5次,DBWR运行2次;同时LGWR和DBWR写入是不同步的。例如9:00触发11^1 ,9:01触发0811 。这种方式虽然可以提高数据库内容查询和更新的效率,但一旦数据库损坏,由于日志文件和数据文件写入不同步,当数据库损坏时,硬盘上的日志文件和数据文件并不是一个时间点的,当数据库恢复时,这种不一致会带来数据的混乱甚至无法恢复。

发明内容
本发明的目的在于克服现有技术的不足,提供一种设计合理、能够对数据进行实时保护且易于实现的基于应用快照的数据库持续数据保护方法。本发明解决现有的技术问题是采取以下技术方案实现的一种基于应用快照的数据库持续数据保护方法,包括数据库初始化方法、数据库写入方法和数据库恢复方法三部分,所述的数据库初始化方法包括以下步骤(I)将客户端和服务器端连接在一起;(2)在服务器端上生成与客户端数据库磁盘分区相对应的镜像磁盘分区;(3)客户端获取服务器端镜像磁盘分区位置;(4)客户端加载数据双写模块;(5)客户端同歩数据库控制文件、日志文件和数据文件到服务器端镜像磁盘分区;(6)客户端加载应用快照模块;(7)服务器端加载数据库接收模块和快照生成模块;所述的数据库写入方法包括以下步骤(I)通过数据双写模块将涉及的控制文件、日志文件和数据文件实时复制到服务器端镜像磁盘分区位置;
(2)应用快照模块实时监测数据双写模块的I/O记录;(3)应用快照模块判断是否为数据库一致点,是则转到步骤(4),否则转到步骤
(2);(4)应用快照模块通知数据双写模块暂停I/O操作;(5)应用快照模块通知服务器端,由快照生成模块生成数据库一致点快照;(6)应用快照模块通知数据双写模块恢复I/O操作,转到步骤(2);所述的数据库恢复方法包括以下步骤 (I)客户端应用快照模块查找服务器端对应的最新快照版本;(2)在客户端加载该最新快照版本;(3)打开数据库并正常使用。而且,所述客户端和服务器端通过FC或iSCSI网络相连接。而且,数据据双写模块被安装在磁盘分区I/O驱动程序的接口上。而且,所述应用快照模块通过判断数据双写模块写入的数据来确定是否为数据库
一致点。而且,所述应用快照模块通过暂停I/O操作和快照方式,生成数据库一致点。而且,所述的数据库为以下数据库之一 0racle、SQL Server、Sybase、MYSQL、DB2、PGSQL> Exchange、Lotus Notes、SharePoint 和人大金仓数据库。本发明的优点和积极效果是本发明通过客户端的应用快照模块对采用持续数据保护方式写入镜像磁盘分区的I/o进行监测,捕获数据库一致点,以保证数据库一致性,在不影响应用运行的前提下,持续跟踪受保护数据所发生的改变,当数据双写模块监测到受保护的磁盘分区写操作发生时,执行数据复制和记录到服务器上中;进行数据恢复时,可通过应用直接加载镜像来进行数据恢复,从而实现对数据库的持续保护功能,具有实时性强、性能可靠、实现方法简单等特点。


图I是本发明的数据库写入处理示意图;图2是本发明的数据库恢复处理示意图;图3是本发明的软件模块关系示意图;图4是本发明的数据库初始化方法流程图;图5是本发明的数据库写入方法流程图;图6是本发明的数据库恢复方法流程图;图7是现有数据库系统处理示意图。
具体实施例方式以下结合附图对本发明实施例做进ー步详述。一种基于应用快照的数据库持续数据保护方法,是在基于应用快照的数据库持续数据保护系统上实现的,如图I至图3所示,该数据库持续数据保护系统包括客户端和服务器端,客户端和服务器端通过FC或iSCSI网络相连接,在客户端安装有数据双写模块和应用快照模块,服务器端安装有数据库接收模块和快照生成模块,在服务器端设有与数据库所在磁盘分区相对应的镜像磁盘分区。应用快照模块对采用持续数据保护方式写入镜像磁盘分区的I/o进行监测,捕获数据库一致点,以保证数据库一致性,数据双写模块监测到受保护的磁盘分区写操作发生时,执行数据复制和记录到服务器上中,同时执行原有的磁盘分区I/O驱动程序;服务器端的数据接收模块将数据写入镜像磁盘分区内,并通过快照生成模块生成数据库一致点快照。本数据库持续数据保护方法能够支持如下数据库0racle、SQL Server、Sybase、MYSQL、DB2、PGSQL> Exchange、Lotus Notes、SharePoint 和人大金仓数据库。一种基于应用快照的数据库持续数据保护方法,包括数据库初始化方法、数据库写入方法和数据库恢复方法三个组成部分,下面对三个组成部分分别进行说明如图4所示,数据库初始化方法包括以下步骤
I、将客户端和服务器端通过FC或iSCSI网络相连接;2、在服务器端上生成与客户端数据库磁盘分区相对应的镜像磁盘分区;3、客户端获取服务器端镜像磁盘分区位置;4、客户端加载数据双写模块,该数据双写模块安装在磁盘分区I/O驱动程序的接口上;5、客户端同歩数据库控制文件、日志文件和数据文件到服务器端镜像磁盘分区;6、客户端加载应用快照模块;7、服务器端加载数据库接收模块和快照生成模块。通过上述数据库初始化,可以将客户端和服务器端连接在一起,并进行磁盘分区、程序安装、数据同步等工作,为数据库保护做好必要的准备工作。如图5所示,数据库写入方法包括以下步骤I、通过数据双写模块将涉及的控制文件、日志文件和数据文件实时复制到服务器端镜像磁盘分区位置;2、应用快照模块实时监测数据双写模块的I/O记录;3、应用快照模块通过判断数据双写模块写入的数据来确定是否为数据库一致点,是则转到步骤4,否则转到步骤2 ;。4、应用快照模块通知数据双写模块暂停I/O操作;5、应用快照模块通知服务器端,由快照生成模块生成数据库一致点快照;6、应用快照模块通知数据双写模块恢复I/O操作,转到步骤2。通过以上步骤,实现了在客户端和服务器端同步处理,在客户端进行数据库写入的同时,在服务器端的镜像磁盘分区进行写入并形成一致性快照,保证了对数据库的日志文件和数据文件的一致性,为数据库恢复提供了必要的条件。如图6所示,数据库恢复方法包括以下步骤I、客户端应用快照模块查找服务器端对应的最新快照版本;2、在客户端加载该最新快照版本;3、打开数据库并正常使用。通过上述步骤可以看出,在进行数据库恢复时,可通过应用直接加载镜像来进行数据恢复,从而实现对数据库的持续保护功能。
需要强调的是,本发明所述的实施例是说明性的,而不是限定性的,因此本 发明包括并不限于具体实施方式
中所述的实施例,凡是由本领域技术人员根据本发明的技术方案得出的其他实施方式,同样属于本发明保护的范围。
权利要求
1.一种基于应用快照的数据库持续数据保护方法,其特征在于包括数据库初始化方法、数据库写入方法和数据库恢复方法三部分, 所述的数据库初始化方法包括以下步骤 (1)将客户端和服务器端连接在一起; (2)在服务器端上生成与客户端数据库磁盘分区相对应的镜像磁盘分区; (3)客户端获取服务器端镜像磁盘分区位置; (4)客户端加载数据双写模块; (5)客户端同步数据库控制文件、日志文件和数据文件到服务器端镜像磁盘分区; (6)客户端加载应用快照模块; (7)服务器端加载数据库接收模块和快照生成模块; 所述的数据库写入方法包括以下步骤 (1)通过数据双写模块将涉及的控制文件、日志文件和数据文件实时复制到服务器端镜像磁盘分区位置; (2)应用快照模块实时监测数据双写模块的I/O记录; (3)应用快照模块判断是否为数据库一致点,是则转到步骤(4),否则转到步骤(2); (4)应用快照模块通知数据双写模块暂停I/O操作; (5)应用快照模块通知服务器端,由快照生成模块生成数据库一致点快照; (6)应用快照模块通知数据双写模块恢复I/O操作,转到步骤(2); 所述的数据库恢复方法包括以下步骤 (1)客户端应用快照模块查找服务器端对应的最新快照版本; (2)在客户端加载该最新快照版本; (3)打开数据库并正常使用。
2.根据权利要求I所述的一种基于应用快照的数据库持续数据保护方法,其特征在于所述客户端和服务器端通过FC或iSCSI网络相连接。
3.根据权利要求I所述的一种基于应用快照的数据库持续数据保护方法,其特征在于所述的数据据双写模块被安装在磁盘分区I/O驱动程序的接口上。
4.根据权利要求I所述的一种基于应用快照的数据库持续数据保护方法,其特征在于所述应用快照模块通过判断数据双写模块写入的数据来确定是否为数据库一致点。
5.根据权利要求I所述的一种基于应用快照的数据库持续数据保护方法,其特征在于所述应用快照模块通过暂停I/O操作和快照方式,生成数据库一致点。
6.根据权利要求I所述的一种基于应用快照的数据库持续数据保护方法,其特征在于所述的数据库为以下数据库之一 Oracle、SQL Server、Sybase、MYSQL、DB2、PGSQL>Exchange、Lotus Notes、SharePoint 和人大金仓数据库。
全文摘要
本发明涉及一种基于应用快照的数据库持续数据保护方法,其主要技术特点包括以下步骤包括数据库初始化方法、数据库写入方法和数据库恢复方法三部分,本发明通过客户端的应用快照模块对采用持续数据保护方式写入镜像磁盘分区的I/O进行监测,捕获数据库一致点,以保证数据库一致性,在不影响应用运行的前提下,持续跟踪受保护数据所发生的改变,当数据双写模块监测到受保护的磁盘分区写操作发生时,执行数据复制和记录到服务器上中,通过应用直接加载镜像来进行数据恢复,从而实现对数据库的持续保护功能,具有实时性强、性能可靠、实现方法简单等特点。
文档编号G06F11/14GK102819615SQ201210312660
公开日2012年12月12日 申请日期2012年8月30日 优先权日2012年8月30日
发明者黄疆 申请人:天津火星科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1