一种异地数据库容灾备份方法及装置与流程

文档序号:14609279发布日期:2018-06-05 20:28阅读:738来源:国知局
一种异地数据库容灾备份方法及装置与流程

本发明属于网络安全领域,特别是涉及一种异地数据库容灾备份方法及装置。



背景技术:

随着社会信息化进程的不断推进,企事业单位的信息系统越来越依赖于数据库,大多数关键数据均存放于数据库中。数据库数据的丢失或损坏将给企事业单位带来难以估量的损失。如何防止数据库数据丢失和损坏受到人们越来越多的关注,数据库容灾正成为信息安全领域一个备受瞩目的研究热点。

目前,容灾及远程复制技术的研究还主要集中在国外,他们提供的容灾产品或技术普遍需要架设专线或者光纤通道,成本昂贵;备份粒度较粗,往往是对整个磁盘分区进行备份;并且往往需要改变企事业单位现有的网络拓扑结构,较难与企事业单位现有的信息系统无缝集成,产品实施部署较为困难。而Oracle、SQL Server及Sybase等主流数据库系统虽然提供了基于数据库日志复制技术的远程容灾能力,但这项技术本身存在以下缺陷:初始化时,必须利用本地数据库的全备份建立远程数据库,数据传输量大,对网络带宽要求较高,复制效率较低,数据库日志除了存放数据库数据变化之外,还存放了不少额外的信息;实时性较差,完成初始化后,只有当本地数据库的数据变化量达到一定阙值时,才会将这些变化量传输至远程进行重放;灵活性较差,用户无法根据需要,只备份某些关键数据表。

而国内今年来也出现了基于磁盘阵列、存储区域网络SAN的容灾技术的研究,但这些技术大多只能实现数据的本地容灾,对传输网络的要求较低,适应性较差。终上所述,国内外现有的容灾方法或技术普遍对备份线路要求较高,成本昂贵,在距离上也有很大限制,而且备份粒较粗,应用于数据库容灾存在较大的局限性。



技术实现要素:

本发明的目的在于提供一种异地数据库容灾备份方法及装置,通过实时监控本地数据库,将监控到的数据变化封装成记录,写入缓冲器中,然后异步地将海量缓冲器中的记录同时发送到多个远程1级数据库中,并在这些1级数据库上重放数据变化,而1级数据库数据变化又将被监控并复制到多个远程2级数据库上,解决了现有备份线路要求较高,成本昂贵,在距离上限制多,而且备份粒较粗,应用于数据库容灾存在较大的局限性的问题。

为解决上述技术问题,本发明是通过以下技术方案实现的:

本发明为一种异地数据库容灾备份方法,包括如下步骤:

步骤S001对源数据库进行监控,将监控到的数据变化封装成记录,写入缓存器中;

步骤S002异步地将缓存器中的记录发送给多个远程1级数据库,并在1级数据库重放数据变化;

步骤S003远程1级数据库的变化又将被监控并复制到多个远程2级数据库上,从而实现本地数据库的多点备份;

步骤S004远程1级数据库主动变化,通过申请同步模块向源数发送申请;若申请确认,则远程1级数据库数据替换源数据库数据;若申请失败,则源数据库数据不变。

优选地,所述源数据库和1级数据库互为对端数据库。

优选地,所述步骤S004具体为若所述远程1级数据库识别出数据变更来源于对端数据库时,则不触发申请同步模块;若所述远程1级数据库识别出数据变更来源于自身数据库时,则触发申请同步模块。

优选地,所述数据变更包括:增加、减少或内容修改。

本发明为一种异地数据库容灾备份装置,包括:一源服务器、多个1级服务器和多个2级服务器;

其中,所述源服务器包括:用于存储需要备份的数据库、用于监控源服务器中数据变化的本地监控模块、用于缓冲寄存变更数据的缓存器、用于通过网络通信发送变更数据到1级服务器的发送模块、用于接收1级服务器发送的同步请求的申请确认模块;网络通信模块能更好地保证数据传输的正确性,引入了远程数据传输中的差错控制方法来确保数据传输的正确性。

其中,所述1级服务器包括:用于接收源服务器变更数据的接收模块、用于接收网络通信模块中数据的变化记录,将其解析为重放命令集合的远程重放模块、用于一级数据库发生数据变化向源服务器提交申请的申请同步模块。

优选地,所述本地监控对源数据库中每个字段进行数据监控,并对数据库上所有产生数据变化的操作进行截获,再按截获的先后顺序写入缓存器中。

优选地,所述远程重放解析数据变化记录,将其还原成数据变化操作,并提交到一级数据库。

本发明具有以下有益效果:

1)本发明支持多点多跳备份、备份点可接力,数据库数据在不同地域具有多个备份,大大提高了数据库数据生存能力;

2)实时性好,实现了数据零丢失,备份粒度细,备份效率高;

3)对备份线路要求低,可直接构架与慢速飞稳定线路上,实施部署简单灵活、适应性强。

当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明的一种异地数据库容灾备份方法步骤图;

图2为本发明的一种异地数据库容灾备份装置结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

请参阅图1所示,本发明为一种异地数据库容灾备份方法,包括如下步骤:

步骤S001对源数据库进行监控,将监控到的数据变化封装成记录,写入缓存器中;

步骤S002异步地将缓存器中的记录发送给多个远程1级数据库,并在1级数据库重放数据变化;

步骤S003远程1级数据库的变化又将被监控并复制到多个远程2级数据库上,从而实现本地数据库的多点备份;

步骤S004远程1级数据库主动变化,通过申请同步模块向源数发送申请;若申请确认,则远程1级数据库数据替换源数据库数据;若申请失败,则源数据库数据不变。

其中,源数据库和1级数据库互为对端数据库。

其中,步骤S004具体为若所述远程1级数据库识别出数据变更来源于对端数据库时,则不触发申请同步模块;若所述远程1级数据库识别出数据变更来源于自身数据库时,则触发申请同步模块。

其中,数据变更包括:增加、减少或内容修改。

请参阅图2所示,本发明为一种异地数据库容灾备份装置,包括:一源服务器、多个1级服务器和多个2级服务器;

其中,源服务器包括:用于存储需要备份的数据库、用于监控源服务器中数据变化的本地监控模块、用于缓冲寄存变更数据的缓存器、用于通过网络通信发送变更数据到1级服务器的发送模块、用于接收1级服务器发送的同步请求的申请确认模块;

其中,1级服务器包括:用于接收源服务器变更数据的接收模块、用于接收网络通信模块中数据的变化记录,将其解析为重放命令集合的远程重放模块、用于一级数据库发生数据变化向源服务器提交申请的申请同步模块。

其中,本地监控对源数据库中每个字段进行数据监控,并对数据库上所有产生数据变化的操作进行截获,再按截获的先后顺序写入缓存器中,提高了备份效率,获得细备份粒度,选择在字段进行数据监控;一旦源数据发生了数据变化,本地监控模块将第一时间截获到数据变化,能够获得更好的实时性。

其中,远程重放解析数据变化记录,统计解析为重放命令集合将其还原成数据变化操作,并提交到一级数据库上重放,每处理完一条数据变化记录,远程重放模块向网络通信模块返回该条记录变化记录的处理结果,数据变化记录在远程重放成功后,网络通信模块将从缓存器中清除该条数据变化记录,由此,通过数据变化操作在1级数据库上的重放,完成了源数据库数据的远程备份。

值得注意的是,上述系统实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

另外,本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘或光盘等。

以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1