CN109408596A - 一种双活数据库容灾系统及方法 - Google Patents
一种双活数据库容灾系统及方法 Download PDFInfo
- Publication number
- CN109408596A CN109408596A CN201811315548.XA CN201811315548A CN109408596A CN 109408596 A CN109408596 A CN 109408596A CN 201811315548 A CN201811315548 A CN 201811315548A CN 109408596 A CN109408596 A CN 109408596A
- Authority
- CN
- China
- Prior art keywords
- database
- target database
- standby
- disaster tolerance
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
Abstract
本发明公开了一种双活数据库容灾系统及方法,包括目标数据库、备用数据库、容灾模块和应用层数据控制模块,所述容灾模块分别与所述目标数据库和备用数据库相连接,所述目标数据库与所述应用层数据控制模块相连接。该方法通过中间层软件系统方法实现数据库双活容灾备份,确保数据库数据安全,同时不间断的对外提供数据服务。该方法不依赖于任何一种数据库软件,完全通过中间层软件实现,通用性强。
Description
技术领域
本发明涉及数据库容灾领域,具体涉及一种双活数据库容灾系统及方法。
背景技术
现有技术多采用磁盘阵列、或者数据库内部提供的快照或事务日志等方法实现,比如专利申请号为201310213591.6的一种数据库容灾方法、系统及服务器,采用磁盘阵列物理硬件解决,成本居高,中小企业现实中难以实施,采用数据库内部提供的快照或者事务日志并不通用只依赖于某一数据库,另外使用快照或事务日志运行效率较低,难以实现双活要求,同时数据库必须在归档模式下运行,且生成大量的事务日志信息,不便于维护,同时运行效率低。
发明内容
本发明的目的在于针对现有技术的不足,提供一种双活数据库容灾系统及方法,通过中间层软件系统方法实现数据库双活容灾备份,确保数据库数据安全,同时不间断的对外提供数据服务。
为了解决上述技术问题,采用如下技术方案:
一种双活数据库容灾系统,包括目标数据库、备用数据库、容灾模块和应用层数据控制模块,所述容灾模块分别与所述目标数据库和备用数据库相连接,所述目标数据库与所述应用层数据控制模块相连接;
所述目标数据库为应用层数据控制模块正常使用的数据库;
所述备用数据库为目标数据库出现故障时应用层数据控制模块要切换的数据库;
所述应用层数据控制模块负责整个系统应用层对目标数据库的读写操作;
所述容灾模块负责从目标数据库的数据实时增量备份到备用数据库。
进一步,所述目标数据库建立有目标数据库关系表,所述目标数据库关系表包括目标数据库操作副表和目标数据库主表,所述目标数据库操作副表和目标数据库主表相对应。
进一步,所述备用数据库建立有备用数据库关系表,所述备用数据库关系表包括备用数据库操作副表和备用数据库主表,所述备用数据库操作副表和备用数据库主表相对应。
进一步,所述读写操作的操作类型包括插入、更新和删除。
一种双活数据库容灾方法,包括以下步骤:
(a)容灾模块在实时扫描目标数据库中的目标数据库操作副表,如果目标数据库操作副表中存在有记录,容灾模块根据目标数据库副表中的主键和操作类型从目标数据库主表中获取主键对应的数据记录,将所述数据记录按照对目标数据库主表的操作类型同步更新到备用数据库主表中。
(b)应用层数据控制模块在运行过程中和目标数据库保持连接,如果目标数据库出现故障,不能提供数据服务,应用层数据控制模块连通备用数据库,备用数据库和目标数据库互换角色,原备用数据库为目标数据库,原目标数据库为备用数据库,容灾模块停止工作。
(c)通过人工维修原目标数据库,故障修复后,开启容灾模块,容灾模块仍然按照步骤(a)操作目标数据库和备用数据库。
(d)如果备用数据库出现故障,容灾模块无法将目标数据库的数据更新到备用数据库而停止工作,应用层数据控制模块不受对外服务的影响,通过人工维修备用数据库,然后再开启容灾模块,容灾模块依然按照步骤(a)处理目标数据库和备用数据库。
由于采用上述技术方案,具有以下有益效果:
(1)本发明方法不依赖于任何一种数据库软件,完全通过中间层软件实现,通用性强。
(2)本发明不依赖于任何硬件实现数据库双活,实现成本低。
(3)本发明和数据库提供的内部技术相比,不需要数据库在归档模式下运行,无大量的事务日志生成,大大提高数据库的执行效率。
附图说明
下面结合附图对本发明作进一步说明:
图1为本发明中一种双活数据库容灾系统的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面通过附图及实施例,对本发明进行进一步详细说明。但是应该理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
如图1所示,一种双活数据库容灾系统,包括目标数据库、备用数据库、容灾模块和应用层数据控制模块,所述容灾模块分别与所述目标数据库和备用数据库相连接,所述目标数据库与所述应用层数据控制模块相连接。
所述目标数据库为应用层数据控制模块正常使用的数据库。
所述备用数据库为目标数据库出现故障时应用层数据控制模块要切换的数据库。
目标数据库和备用数据库必须分别对应一台物理主机,目标数据库和备用数据库可以在同一个机房,也可以在异地机房;目标数据库和备用数据库表在保持一致的状态下启动;目标数据库和备用数据库的每张关系表必须有主键,没有主键的表不适用于本系统;
所述应用层数据控制模块负责整个系统应用层对目标数据库的读写操作,所述读写操作的操作类型包括插入、更新和删除。
应用层数据控制模块对目标数据库主表进行插入、更新操作时,同时将主表中操作的主键和对应的操作类型写入主表对应的副表中,操作类型包括插入、更新和删除;
所述容灾模块负责从目标数据库的数据实时增量备份到备用数据库。容灾模块是独立的一个系统模块,可以单独对应一台物理主机,也可以和备用数据库、目标数据库或者应用层系统同属一台物理主机。
具体地,所述目标数据库建立有目标数据库关系表,所述目标数据库关系表包括目标数据库操作副表和目标数据库主表,所述目标数据库操作副表和目标数据库主表相对应。所述备用数据库建立有备用数据库关系表,所述备用数据库关系表包括备用数据库操作副表和备用数据库主表,所述备用数据库操作副表和备用数据库主表相对应。
参看下表1,目标数据库和备用数据库中的其中一张主表,有5个字段组成,第一个字段是主键。
表1
参看表2,目标数据库和备用数据库与表1的主表对应的副表,有两个字段组成,第一个字段是主表的主键,第二个字段是对应主表的主键的操作类型,有0:插入记录,1:更新记录,2:删除记录。
表2
一种双活数据库容灾方法,包括以下步骤:
(a)容灾模块在实时扫描目标数据库中的目标数据库操作副表,如果目标数据库操作副表中存在有记录,容灾模块根据目标数据库副表中的主键和操作类型从目标数据库主表中获取主键对应的数据记录,将所述数据记录按照对目标数据库主表的操作类型同步更新到备用数据库主表中,操作类型包括插入、更新和删除;如果目标数据库副表记录的是删除操作类型,容灾控制模块直接删除备用数据库中主表中主键对应的记录,容灾控制模块在对备用数据库的主表操作完毕后,删除目标数据库中副表中已经操作过的记录。容灾模块实时循环扫描目标数据库中的所有副表,发现副表有数据记录就执行上述操作,以确保目标数据库和备用数据库的数据保持一致
(b)应用层数据控制模块在运行过程中和目标数据库保持连接,对数据库的所有表的操作都是在目标数据库中完成,如果目标数据库出现故障,不能提供数据服务,应用层数据控制模块连通备用数据库,备用数据库和目标数据库互换角色,原备用数据库为目标数据库,原目标数据库为备用数据库,容灾模块停止工作。
(c)通过人工维修原目标数据库,故障修复后,开启容灾模块,容灾模块仍然按照步骤(a)操作目标数据库和备用数据库。
(d)如果备用数据库出现故障,容灾模块无法将目标数据库的数据更新到备用数据库而停止工作,应用层数据控制模块不受对外服务的影响,通过人工维修备用数据库,然后再开启容灾模块,容灾模块依然按照步骤(a)处理目标数据库和备用数据库。
综上,无论目标数据库和备用数据库所对应的物理机,任何一台出现故障,都不影响应用层控制模块的工作,保持应用层数据控制模块持续不断的提供对外服务。
对应表1和表2的主表和副表,实施一种双活数据库容灾方法,包括以下步骤:
第1步:应用层数据控制模块在启动时保持和目标数据库连接,(a)应用层数据控制模块对目标数据库的图1主表的插入新记录操作:目标数据库表1新记录的主键和操作类型0,同时插入到表2的副表中,也就是副表新记录MEM_ACCOUNT字段为主表对应的新记录的主键,OPER_TYPE字段为0;(b)应用层数据控制模块对目标数据库表1主表的更新操作:目标数据库表1表更新记录的主键和操作类型1,同时插入到表2的副表中,也就是副表新记录MEM_ACCOUNT字段为主表对应的更新记录的主键,OPER_TYPE字段为1;(c)应用层数据控制模块对目标数据库表1表的删除操作:目标数据库表1表删除记录的主键和操作类型2,同时插入到表2副表中,也就是副表新记录MEM_ACCOUNT字段为主表对应的删除记录的主键,OPER_TYPE字段为2;(d)应用层数据控制模块对目标数据库图1表的查询操作:副表不做任何变动。
第2步:容灾模块启动后,连接目标数据库和备用数据库,实时扫描目标数据库的表2副表,根据目标数据库表2副表的OPER_TYPE的数值有三中操作类型如下:(a)OPER_TYPE为0,表示是对目标数据库表1主表的插入新记录操作,根据目标数据库表2副表MEM_ACCOUNT的值,从目标数据库表1主表获取到新数据记录,同时插入到备用数据库的表1的主表中,操作完毕后删除目标数据库表2副表中对应的记录;(b)OPER_TYPE为1,表示是对目标数据库表1主表的更新记录操作,根据目标数据库表2副表MEM_ACCOUNT的值,从目标数据库表1主表获取到更新数据记录,同时更新到备用数据库的表1的主表中,操作完毕后删除目标数据库表2副表中对应的记录;(c)OPER_TYPE为2,表示是删除记录,容灾模块根据从目标数据库表2副表中,获取主键然后删除备用数据库表1的主表中。容灾模块通过以上操作方法,实现数据库的增量从目标数据库表1数据更新到备用数据库的表1中。
第3步:如果目标数据库出现故障,应用层数据控制模块从目标数据库切换到备用数据库,根据图1连接到备用数据库,实现应用层不中断的持续对外服务,应用层数据控制模块切换成功后,目标数据库和备用数据库也切换角色,原目标数据库为备用数据库,原备用数据库为目标数据库,然后通过技术人员维修备用数据库(原目标数据库)故障,使其恢复正常,恢复正常后,并开启容灾模块,容灾模块依然按照第二步骤工作。
第3步:如果备用服务器出现故障,通过技术人员排查故障,使其恢复正常,恢复正常后,开启容灾模块,容灾模块依然按照第二步骤工作,备用服务器恢复后仍作为备用数据库服务器。
以上仅为本发明的具体实施例,但本发明的技术特征并不局限于此。任何以本发明为基础,为解决基本相同的技术问题,实现基本相同的技术效果,所作出地简单变化、等同替换或者修饰等,皆涵盖于本发明的保护范围之中。
Claims (5)
1.一种双活数据库容灾系统,其特征在于:包括目标数据库、备用数据库、容灾模块和应用层数据控制模块,所述容灾模块分别与所述目标数据库和备用数据库相连接,所述目标数据库与所述应用层数据控制模块相连接;
所述目标数据库为应用层数据控制模块正常使用的数据库;
所述备用数据库为目标数据库出现故障时应用层数据控制模块要切换的数据库;
所述应用层数据控制模块负责整个系统应用层对目标数据库的读写操作;
所述容灾模块负责从目标数据库的数据实时增量备份到备用数据库。
2.根据权利要求1所述的一种双活数据库容灾系统,其特征在于:所述目标数据库建立有目标数据库关系表,所述目标数据库关系表包括目标数据库操作副表和目标数据库主表,所述目标数据库操作副表和目标数据库主表相对应。
3.根据权利要求1所述的一种双活数据库容灾系统,其特征在于:所述备用数据库建立有备用数据库关系表,所述备用数据库关系表包括备用数据库操作副表和备用数据库主表,所述备用数据库操作副表和备用数据库主表相对应。
4.根据权利要求1所述的一种双活数据库容灾系统,其特征在于:所述读写操作的操作类型包括插入、更新和删除。
5.一种如权利要求1所述的双活数据库容灾方法,其特征在于包括以下步骤:
(a)容灾模块在实时扫描目标数据库中的目标数据库操作副表,如果目标数据库操作副表中存在有记录,容灾模块根据目标数据库副表中的主键和操作类型从目标数据库主表中获取主键对应的数据记录,将所述数据记录按照对目标数据库主表的操作类型同步更新到备用数据库主表中;
(b)应用层数据控制模块在运行过程中和目标数据库保持连接,如果目标数据库出现故障,不能提供数据服务,应用层数据控制模块连通备用数据库,备用数据库和目标数据库互换角色,原备用数据库为目标数据库,原目标数据库为备用数据库,容灾模块停止工作;
(c)通过人工维修原目标数据库,故障修复后,开启容灾模块,容灾模块仍然按照步骤(a)操作目标数据库和备用数据库;
(d)如果备用数据库出现故障,容灾模块无法将目标数据库的数据更新到备用数据库而停止工作,应用层数据控制模块不受对外服务的影响,通过人工维修备用数据库,然后再开启容灾模块,容灾模块依然按照步骤(a)处理目标数据库和备用数据库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811315548.XA CN109408596A (zh) | 2018-11-06 | 2018-11-06 | 一种双活数据库容灾系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811315548.XA CN109408596A (zh) | 2018-11-06 | 2018-11-06 | 一种双活数据库容灾系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109408596A true CN109408596A (zh) | 2019-03-01 |
Family
ID=65471855
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811315548.XA Pending CN109408596A (zh) | 2018-11-06 | 2018-11-06 | 一种双活数据库容灾系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109408596A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110659328A (zh) * | 2019-08-30 | 2020-01-07 | 中国人民财产保险股份有限公司 | 数据查询方法、装置、设备及计算机可读存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060235905A1 (en) * | 2005-04-14 | 2006-10-19 | Rajesh Kapur | Method and system for preserving real-time access to a system in case of a disaster |
CN102841897A (zh) * | 2011-06-23 | 2012-12-26 | 阿里巴巴集团控股有限公司 | 一种实现增量数据抽取的方法、装置及系统 |
CN202677392U (zh) * | 2012-05-28 | 2013-01-16 | 深圳市谷米科技有限公司 | 数据库自动容灾系统 |
CN105988894A (zh) * | 2015-02-10 | 2016-10-05 | 北京中科同向信息技术有限公司 | 一种双活模式的容灾技术 |
CN106815097A (zh) * | 2017-01-18 | 2017-06-09 | 北京许继电气有限公司 | 数据库容灾系统和方法 |
CN107025242A (zh) * | 2016-02-02 | 2017-08-08 | 南京中兴新软件有限责任公司 | 数据库间数据的复制方法及装置 |
CN107368388A (zh) * | 2017-06-20 | 2017-11-21 | 华南理工大学 | 一种监控文件系统变化的数据库实时备份方法 |
CN107688584A (zh) * | 2016-08-05 | 2018-02-13 | 华为技术有限公司 | 一种容灾切换的方法、节点及系统 |
-
2018
- 2018-11-06 CN CN201811315548.XA patent/CN109408596A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060235905A1 (en) * | 2005-04-14 | 2006-10-19 | Rajesh Kapur | Method and system for preserving real-time access to a system in case of a disaster |
CN102841897A (zh) * | 2011-06-23 | 2012-12-26 | 阿里巴巴集团控股有限公司 | 一种实现增量数据抽取的方法、装置及系统 |
CN202677392U (zh) * | 2012-05-28 | 2013-01-16 | 深圳市谷米科技有限公司 | 数据库自动容灾系统 |
CN105988894A (zh) * | 2015-02-10 | 2016-10-05 | 北京中科同向信息技术有限公司 | 一种双活模式的容灾技术 |
CN107025242A (zh) * | 2016-02-02 | 2017-08-08 | 南京中兴新软件有限责任公司 | 数据库间数据的复制方法及装置 |
CN107688584A (zh) * | 2016-08-05 | 2018-02-13 | 华为技术有限公司 | 一种容灾切换的方法、节点及系统 |
CN106815097A (zh) * | 2017-01-18 | 2017-06-09 | 北京许继电气有限公司 | 数据库容灾系统和方法 |
CN107368388A (zh) * | 2017-06-20 | 2017-11-21 | 华南理工大学 | 一种监控文件系统变化的数据库实时备份方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110659328A (zh) * | 2019-08-30 | 2020-01-07 | 中国人民财产保险股份有限公司 | 数据查询方法、装置、设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104850598B (zh) | 一种实时数据库备份恢复方法 | |
US7127578B2 (en) | Storage device and information management system | |
US6983295B1 (en) | System and method for database recovery using a mirrored snapshot of an online database | |
CN101814045B (zh) | 一种用于备份服务的数据组织方法 | |
US6959369B1 (en) | Method, system, and program for data backup | |
US9047357B2 (en) | Systems and methods for managing replicated database data in dirty and clean shutdown states | |
CN102012789B (zh) | 集中管理式备份容灾系统 | |
CN100533395C (zh) | 网络存储中的快照系统与方法 | |
CN105868343B (zh) | 数据库迁移方法及系统 | |
CN102710752B (zh) | 灾备存储系统 | |
CN101441582A (zh) | 计算机数据对象的备份和恢复方法及实现该方法的系统和程序产品 | |
CN106021016A (zh) | 在快照之间的虚拟时间点访问 | |
CN104252485A (zh) | 一种数据库管理平台 | |
CN101706795A (zh) | 主备服务器上数据库数据同步方法 | |
CN103345470A (zh) | 一种数据库容灾方法、系统及服务器 | |
CN101661414A (zh) | 计算机系统及其备份方法 | |
US10783040B2 (en) | Apparatus, system and method for data collection, import and modeling | |
CN109408289A (zh) | 一种云容灾数据处理方法 | |
CN102033930A (zh) | 分布式内存数据库系统 | |
CN102541691A (zh) | 面向内存数据库oltp应用的日志检查点恢复方法 | |
CN106569751A (zh) | 一种多控制器缓存镜像方法及系统 | |
CN109408596A (zh) | 一种双活数据库容灾系统及方法 | |
CN106293998A (zh) | 一种基于快照技术的系统备份方法 | |
CN105488139B (zh) | 基于用电信息采集系统的跨平台存储数据迁移的方法 | |
Zhou et al. | An ETL strategy for real-time data warehouse |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190301 |
|
RJ01 | Rejection of invention patent application after publication |