CN103136248A - 数据一致性恢复方法 - Google Patents

数据一致性恢复方法 Download PDF

Info

Publication number
CN103136248A
CN103136248A CN201110388032XA CN201110388032A CN103136248A CN 103136248 A CN103136248 A CN 103136248A CN 201110388032X A CN201110388032X A CN 201110388032XA CN 201110388032 A CN201110388032 A CN 201110388032A CN 103136248 A CN103136248 A CN 103136248A
Authority
CN
China
Prior art keywords
data
database
source database
restoration methods
task
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.)
Granted
Application number
CN201110388032XA
Other languages
English (en)
Other versions
CN103136248B (zh
Inventor
茅毓铭
王振
鲁志军
杨燕明
刘淑娟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Unionpay Co Ltd
Original Assignee
China Unionpay Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Unionpay Co Ltd filed Critical China Unionpay Co Ltd
Priority to CN201110388032.XA priority Critical patent/CN103136248B/zh
Publication of CN103136248A publication Critical patent/CN103136248A/zh
Application granted granted Critical
Publication of CN103136248B publication Critical patent/CN103136248B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种数据一致性恢复方法,包括分配数据挖掘的任务;根据所述任务,挖掘源数据库中的数据;根据业务规则,从源数据库中的数据和目标数据中的数据中选择出结果数据;以及将源数据库中的数据和目标数据中的数据中统一为所述结果数据。通过本发明可以保证分散的多个数据库中的数据的一致性。

Description

数据一致性恢复方法
技术领域
本发明涉及数据库技术,尤其涉及将主份数据库系统和备份数据库系统中的数据保持一致的方法。
背景技术
对任何一个金融IT系统来说,服务的持续性和资金的安全性都是衡量其质量的重要指标。为实现系统的持续运行,容灾、纠错等高可用措施是必不可少的,当前高可用机制中一般会选择进行系统切换或启用备份系统,这将导致交易数据的分散与不一致,若不进行任何处理,会导致错帐等一系列资金风险。如何在金融系统故障发生后,保证主份数据库系统和备份数据库系统之间交易数据的一致性,从而确保资金安全就显得尤为重要。
已经有一些针对数据库一致性问题的解决方案。例如,申请号为200480001712.X的中国专利申请中公开了一种用于在数据库备份上执行一致性检查的方法,包括产生要从数据库备份中检索的页列表;通过读取所述数据库备份来检索所述列表中的所述页;从所述数据库备份创建一数据库视图,其中所述数据库视图比包含在所述数据库备份中的所述数据库需要较少的存储空间;将事务日志和所述检索页复制到所述数据库视图中;将所述数据库视图恢复到事务一致状态,以及通过从所述数据库备份和所述数据库视图中读取所有数据库页来在所述数据库备份上执行一致性检查。
此外,在中国专利申请CN98107939.3中公开了一种维护多个数据库中的集成数据一致性的方法,包括收集基本数据库中的数据更新;生成查询,查询基于异构用户数据库特定格式被转换;和分配被转换的查询到异构用户数据库。
然而,还是需要一种智能的交易一致性恢复方法,能够以灵活的规则定制为基础,以进程间通信和数据库为技术保证,通过不同进程各司其职,相互协同参与,从而高效灵活地确保交易数据在各个系统之间的一致性,以保证资金安全。
发明内容
本发明公开了一种数据一致性恢复方法,包括:分配数据挖掘的任务;根据所述任务,挖掘源数据库中的数据;根据业务规则,从源数据库中的数据和目标数据库中的数据中选择出结果数据;以及将源数据库中的数据和目标数据中的数据中统一为所述结果数据。
根据本发明的一个方面的数据一致性恢复方法,其中挖掘源数据库中的数据的步骤是以多进程并发执行的,并且控制进程的数量以及控制单一进程内部的执行速率。
根据本发明的一个方面的数据一致性恢复方法,其中所述业务规则以配置文件的形式存储在恢复系统中,配置文件采用内存映射的方法,具备动态调整并生效的功能。
根据本发明的一个方面的数据一致性恢复方法,其中在选择出结果数据之后,还包括对源数据库中的数据、目标数据库中的数据以及结果数据进行备份的步骤。
根据本发明的一个方面的数据一致性恢复方法,其中将源数据库中的数据和目标数据库中的数据中统一为所述结果数据的步骤又包括以下步骤:如果根据业务规则,源数据库中的数据应该得到保留,则将目标数据库中的数据更改为结果数据,以及如果根据业务规则,目标数据库中的数据应该得到保留,则将源数据库中的数据更改为结果数据。
根据本发明的一个方面的数据一致性恢复方法,其中分配数据挖掘的任务包括针对发生故障的时间段将时间分片,并将时间分片顺序存储起来,使得每一任务对应一时间片。
根据本发明的一个方面的数据一致性恢复方法,其中挖掘源数据库中的数据的步骤包括挖掘所述源数据库中符合任务所对应的时间片的数据。
根据本发明的一个方面的数据一致性恢复方法还包括根据要求暂停、恢复或终止所述方法的各步骤。
根据本发明的一个方面的数据一致性恢复方法还包括在将源数据库中的数据和目标数据库中的数据中统一为所述结果数据后向用户汇报任务完成的步骤。
根据本发明的一个方面的数据一致性恢复方法,其中每一任务在处理完其对应的时间片后再获取剩余的未处理的时间片进行处理,直至处理完所有的时间片。
附图说明
通过阅读以下详细说明,并参考附图,可以对本发明有一个更全面的了解。附图中:
图1示出了根据本发明的恢复系统的功能模块图。
图2示出了根据本发明的数据一致性恢复方法。
具体实施方式
下面结合附图对本发明的实施例作详细说明。需要注意的是,实施例中具体描述的特征不应都被理解为对实现本发明是必要的或者唯一的,本领域的人员能够理解这些特征可能是示例性的而非限定性的。
根据本发明的一个实施例,本发明的智能交易一致性恢复方法可以通过由五大模块来实施,分别是任务分配及进度监控模块、数据挖掘模块、冲突交易选取模块、数据备份模块、以及数据修复模块。各个模块之间的相互之间的关系如图1所示。
图1,源库(即源数据库)是指当发生系统切换时接管交易信息的数据库,目标库(即目标数据库)是指系统故障前所使用的数据库,当原来的系统从故障中恢复后各系统中分散的交易数据需经过处理并集中到该库中,最后提供给下游的业务系统使用。备份库是指当源库与目标库中的交易数据发生冲突或不一致时,存放选取或舍弃的交易数据的数据库。箭头部分为模块与模块之间的相互调用,采用的是进程间通信;实线部分代表交易数据的流向,虚线部分代表对按照结果对源库中交易数据的修复。
任务分配和进度监控模块在图1中由控制器表示。这里的控制器是整个系统的总控制器,其可以多线程的模式并发地完成以下三项工作:
1)针对发生故障的时间段将时间分片,以任务的方式分发给数据挖掘模块。
2)接收下游进程报告的数据处理状况,结合总任务量向用户报告处理进度。
3)监控下游各进程的状态,综合各进程对任务的处理情况,综合分析当前任务结束状态,以判定此次一致性恢复是否处理成功。
数据挖掘模块在图1中由“数据挖掘”来表示。数据挖掘模块从控制器中接受任务,挖掘源库中的交易数据发送给下游进程。对其功能的详细描述如下:
1)分析任务信息,从源库中搜索满足条件的交易数据,打包发送给下游进程。
2)进行流量控制,上述搜索是以多进程并发的形式执行的。假设进程数目为N,则N实际上成为调节数据挖掘进度的比例因子。通过选取合适的比例因子N可以达到既不影响正常任务的运行又能快速地处理交易数据的目的。
3)接受控制进程发送来的命令(如暂停、恢复、终止),通知下游进程作相应的处理。
4)收集一致性处理的进度信息,报告给控制进程。
冲突交易选取模块在图1中由“交易选取”来表示。冲突交易选取该模块是恢复过程中业务处理的核心模块,详细描述如下:
1)动态读取配置的业务规则,并结合具体的故障场景智能化地选择处理策略。
2)接收数据挖掘模块发送来的交易数据,并把数据导入到目标库中。
3)如果导入交易数据时检测到发生了冲突或不一致的交易数据,则需要把目标库中的冲突或不一致的数据取出,根据业务规则从冲突或不一致的两笔交易数据中选取一笔资金安全的交易保留下来,如果最终结果选取的是源库中的数据,则使用源库中的交易数据更改目标库中的数据。如果最终结果选取的是目标库中的数据,则对目标库中的数据保持不变。不论哪种情况下,最终结果选取的数据记为结果数据。
4)将这两笔冲突的交易连同选取的结果数据发送给下游备份进程。
结果数据备份模块在图1中由“数据备份”来表示。结果数据备份模块接受冲突交易选取模块发送来的数据,根据最终的选取结果把交易数据备份为三份:源库数据、目标库数据、结果数据。这些备份的交易数据将为下游系统核对数据或进行交易差错争议处理时提供参考。
交易数据修复模块在图1中由“数据修复”来表示。当整个任务的冲突处理完成之后,如果结果数据不是源库数据,则交易数据修复模块根据备份库中的结果数据去更改源库中对应的交易数据,这样就保证了当整个过程处理完之后,不同系统之间的交易数据的一致性。
上述的模块都可被设计成多进程并发的模式。每个模块的功能单一,各司其职,相互配合,共同完成交易一致性恢复的任务。通过参数的配置可以同时实现多个源库到多个目标库的恢复处理,提高了并行度。此外,在整体架构不需要改变的前提之下,仅需要修改配置的业务规则,即可实现在不同故障场景下,使用不同的交易数据恢复策略,从而扩展了本发明的适用范围。
图2示出了根据本发明的一个实施例的数据一致性恢复方法。为了实现系统在切换之后在各个数据库中的数据的一致性,首先要通过整个恢复系统的总体控制部分对整个恢复过程进行控制。如图2所示,恢复过程的第一步是分配任务(步骤101)。假设在某日3时整至4时整的一个小时内一正在使用的数据库A(目标库)发生了故障,此时系统自动切换到数据库B(源库)。按照通行的方法,在恢复时是对整个这一小时内的数据内容一次性地进行处理,但是在本发明中,首先将这一小时的时间段进行分片,比如以5分钟为一个时间片。控制器将这些时间片顺序存储起来,每次将一个时间片内的数据发给后续步骤(数据挖掘)进行处理。这样,处理故障期间所有涉及到的数据一共需要12个独立的时间片。每一时间片由一个数据挖掘进程来处理,当处理完成该时间片之后,如果尚有未被处理的时间片,该进程再次获取一个未曾处理的时间片进行处理,直至所有的时间片都被处理完。
然后是数据挖掘的步骤(步骤102)。在该步骤中,首先,和时间片所占时间对应的数据被从数据库B中搜索出来。这里的搜索可以多进程的形式并发地执行,假设以N个进程执行。显然,N的数值越大,搜索的速度越快,但这样搜索任务可能会占用过多的资源从而影响系统正常运行的其它任务。相反,如果N的数值比较小,则对系统正常运行的其它任务的影响也会较小。由于不同的系统以及同一系统在不同的环境下的运行能力有差异,在这里通过对N的数值的动态调整可以很好地适应这种差异,从而提升了系统的稳定性。此外,每一进程内部的执行速率也是可控的。如果需要,在该步骤中还可以执行对整个恢复流程的暂停、恢复、终止等操作。
接下来是实施冲突解决(步骤103)。通过前述步骤,在特定时间内的数据库B的数据已经被挖掘(搜索)出来了,然而该数据可能与数据库A中的数据是不一致的。首先,对于不同的情况,相应的处理策略是已知的并且可以被存储在系统中。存储的形式可以是配置文件,其采用的是内存映射的方法,具备动态调整并生效的功能。因而本发明中处理策略是通过文件内存映射的方式被获取的。当出现不一致,或者称冲突时,需要根据具体情况选择处理策略判断选择出应该被保留的数据。例如,一来自数据库A的交易数据对应于一来自数据库B的交易数据,但这两笔交易数据冲突,此时通过读取配置文件获知业务规则(或者称处理策略)是保留资金安全的交易,因而来自数据库A的,资金安全的交易就被保留了下来并作为结果数据。但与结果数据不一致的来自数据库B的数据并没有被丢弃,结果数据和A数据库数据以及B数据库数据一起被备份在数据库C(备份数据库)中。
最后实施的是数据更新(步骤103),即将数据库A中的数据和数据中的数据B中的数据统一为所述结果数据。例如在上面提到的场景中,数据库A的数据被定为结果数据,因而数据库A的数据不需要变动,而数据库B的数据则会被由结果数据所替代。相反,如果数据库B中的数据被判断为结果数据,则在数据更新步骤中,数据库B中的数据不需要变动,而数据库A的数据则会被由结果数据所替代。无论哪种情况下,最后各个数据库中的数据的一致性都得到了保证。此时可以向用户汇报恢复任务已经完成,各个数据库中的数据是可靠的。
虽然附图和前面的详述中介绍了本发明的优选实施方案,但是应当理解的是,本发明并不局限于具体公布的实施方案,在不偏离权利要求规定的范围的前提下,仍然可以有多种的修改和变形。

Claims (10)

1.一种数据一致性恢复方法,包括:
分配数据挖掘的任务;
根据所述任务,挖掘源数据库中的数据;
根据业务规则,从源数据库中的数据和目标数据库中的数据中选择出结果数据;以及
将源数据库中的数据和目标数据中的数据中统一为所述结果数据。
2.如权利要求1所述的数据一致性恢复方法,其中挖掘源数据库中的数据的步骤是以多进程并发执行的,所述方法还包括控制进程的数量以及控制单一进程内部的执行速率。
3.如权利要求1或2所述的数据一致性恢复方法,其中所述业务规则以配置文件的形式存储在恢复系统中,所述配置文件采用内存映射的方法,具备动态调整并生效的功能。
4.如权利要求1或2所述的数据一致性恢复方法,其中在选择出结果数据之后,还包括对源数据库中的数据、目标数据库中的数据以及结果数据进行备份的步骤。
5.如权利要求1或2所述的数据一致性恢复方法,其中将源数据库中的数据和目标数据库中的数据中统一为所述结果数据的步骤又包括以下步骤:
如果根据业务规则,源数据库中的数据应该得到保留,则将目标数据库中的数据更改为结果数据,以及
如果根据业务规则,目标数据库中的数据应该得到保留,则将源数据库中的数据更改为结果数据。
6.如权利要求1或2所述的数据一致性恢复方法,其中分配数据挖掘的任务包括针对发生故障的时间段将时间分片,并将时间分片顺序存储起来,使得每一任务对应一时间片。
7.如权利要求1或2所述的数据一致性恢复方法,其中挖掘源数据库中的数据的步骤包括挖掘所述源数据库中符合任务所对应的时间片的数据。
8.如权利要求1或2所述的数据一致性恢复方法还包括根据要求暂停、恢复或终止所述方法的各步骤。
9.如权利要求1或2所述的数据一致性恢复方法还包括在将源数据库中的数据和目标数据库中的数据中统一为所述结果数据后向用户汇报任务完成的步骤。
10.如权利要求6所述的数据一致性恢复方法,其中每一任务在处理完其对应的时间片后再获取剩余的未处理的时间片进行处理,直至处理完所有的时间片。
CN201110388032.XA 2011-11-29 2011-11-29 数据一致性恢复方法 Active CN103136248B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110388032.XA CN103136248B (zh) 2011-11-29 2011-11-29 数据一致性恢复方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110388032.XA CN103136248B (zh) 2011-11-29 2011-11-29 数据一致性恢复方法

Publications (2)

Publication Number Publication Date
CN103136248A true CN103136248A (zh) 2013-06-05
CN103136248B CN103136248B (zh) 2016-09-28

Family

ID=48496082

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110388032.XA Active CN103136248B (zh) 2011-11-29 2011-11-29 数据一致性恢复方法

Country Status (1)

Country Link
CN (1) CN103136248B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104463583A (zh) * 2013-09-25 2015-03-25 北京新媒传信科技有限公司 交易监控的方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101094051A (zh) * 2007-06-27 2007-12-26 中国移动通信集团四川有限公司 数据一致性比对同步的系统和方法
CN101625686A (zh) * 2008-07-08 2010-01-13 阿里巴巴集团控股有限公司 一种监控多数据库之间数据一致性的方法及系统
US20110087633A1 (en) * 2009-10-09 2011-04-14 Software Ag Primary database system, replication database system and method for replicating data of a primary database system
CN102207978A (zh) * 2011-06-30 2011-10-05 北京新媒传信科技有限公司 数据库访问方法和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101094051A (zh) * 2007-06-27 2007-12-26 中国移动通信集团四川有限公司 数据一致性比对同步的系统和方法
CN101625686A (zh) * 2008-07-08 2010-01-13 阿里巴巴集团控股有限公司 一种监控多数据库之间数据一致性的方法及系统
US20110087633A1 (en) * 2009-10-09 2011-04-14 Software Ag Primary database system, replication database system and method for replicating data of a primary database system
CN102207978A (zh) * 2011-06-30 2011-10-05 北京新媒传信科技有限公司 数据库访问方法和系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104463583A (zh) * 2013-09-25 2015-03-25 北京新媒传信科技有限公司 交易监控的方法和装置

Also Published As

Publication number Publication date
CN103136248B (zh) 2016-09-28

Similar Documents

Publication Publication Date Title
CN100552638C (zh) 自动和动态优化应用数据资源以满足业务目标的系统和方法
CN100498719C (zh) 一种执行批处理作业的方法及装置
US9015527B2 (en) Data backup and recovery
US7934116B2 (en) Disaster recover/continuity of business adaptive solution framework
CN110807064B (zh) Rac分布式数据库集群系统中的数据恢复装置
CN100418062C (zh) 复制控制器及其方法
CN105354113B (zh) 一种服务器、管理服务器的系统和方法
CN102306197A (zh) 保证跨数据源操作结果一致性的装置和方法
CN100495354C (zh) 在耦合会话环境内合并一簇会话的会话信息的方法和系统
CN103019614A (zh) 分布式存储系统管理装置及方法
CN103597463A (zh) 恢复服务的自动配置
CN105487924A (zh) 一种批处理控制方法及装置
CN105550056B (zh) 一种基于系统重构的故障自愈系统及其实现方法
US20130166867A1 (en) Prevention of overlay of production data by point in time copy operations in a host based asynchronous mirroring environment
CN100456255C (zh) 一种取快照数据的装置及方法
CN101231604A (zh) 用于集群服务器数据的卷级恢复的设备、系统及方法
CN102200944A (zh) Erp系统的测试环境克隆方法及系统
CN101916215B (zh) 一种基于操作截取的分布式关键任务系统悔改方法
CN110737504B (zh) 一种深度学习模型训练容错方法、系统、终端及存储介质
WO2018234265A1 (en) SYSTEM AND APPARATUS FOR TREATMENT GUARANTEED EXACTLY ONCE OF AN EVENT IN AN ENVIRONMENT MANAGED BY A DISTRIBUTED EVENT
CN103034636A (zh) 一种非关系型数据库的回滚方法、装置及系统
CN103136248A (zh) 数据一致性恢复方法
US20220019465A1 (en) Systems and methods for batch job execution in clustered environments
CN115687019A (zh) 数据库集群的故障处理方法、智能监控平台、设备和介质
CN110597669B (zh) 银行历史数据参数化备份恢复方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant