CN100464334C - 应用于数据仓库的数据增量备份与恢复的方法 - Google Patents
应用于数据仓库的数据增量备份与恢复的方法 Download PDFInfo
- Publication number
- CN100464334C CN100464334C CNB2007101002447A CN200710100244A CN100464334C CN 100464334 C CN100464334 C CN 100464334C CN B2007101002447 A CNB2007101002447 A CN B2007101002447A CN 200710100244 A CN200710100244 A CN 200710100244A CN 100464334 C CN100464334 C CN 100464334C
- Authority
- CN
- China
- Prior art keywords
- data
- image
- updated
- recovery
- journal file
- 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.)
- Active
Links
Images
Abstract
本发明涉及数据仓库技术领域,公开了一种应用于数据仓库的数据增量备份与恢复的方法,该方法利用基于时间压缩的数据记录的更新前映像(BEFORE IMAGE)和更新后映像(AFTER IMAGE)进行数据增量的备份与恢复。利用本发明,数据备份过程不用再对数据仓库加载的结果作存量备份,通过对BEFORE IMAGE和AFTER IMAGE的备份,便可以实现对系统的增量备份,大大提高了数据仓库系统中数据备份与恢复的效率,而且占用的备份所需的存储空间非常小。
Description
技术领域
本发明涉及数据仓库技术领域,尤其涉及一种应用于数据仓库的数据增量备份与恢复的方法。
背景技术
在数据仓库领域,常用的数据组织方式都是使用星型模型架构,以事实表上的各类维度为核心,辅以各类信息维,支撑起维度建模的数据仓库架构。
由于数据仓库主要特点为数据量大,数据属性更新频率相对不高,所以一般情况下事实表和维表都采用时间压缩方式来存储数据,通过在事实表与维表中加上有效开始日期和有效结束日期两个字段来表示记录的时间有效性,这样一段时间内相同记录可以压缩为一条记录。
如表1与表2所示,表1为没有进行时间压缩的数据,表2为采用了时间压缩后的数据,可以看出原来10条记录被压缩成了1条记录。实践证明,该方式可以有效地压缩冗余数据,节省存储空间,但这种方式压缩的数据,数据的备份和恢复变得非常不便。
账户 | 余额 | 账户状态 | 日期 |
1 | 1000 | 有效 | 2000-1-1 |
1 | 1000 | 有效 | 2000-1-2 |
1 | 1000 | 有效 | 2000-1-3 |
1 | 1000 | 有效 | 2000-1-4 |
1 | 1000 | 有效 | 2000-1-5 |
1 | 1000 | 有效 | 2000-1-6 |
1 | 1000 | 有效 | 2000-1-7 |
1 | 1000 | 有效 | 2000-1-8 |
1 | 1000 | 有效 | 2000-1-9 |
1 | 1000 | 有效 | 2000-1-10 |
表1
账户 | 余额 | 账户状态 | 有效起始日期 | 有效结束日期 |
1 | 1000 | 有效 | 2000-1-1 | 2000-1-10 |
表2
在数据仓库技术领域,由于数据库管理系统本身提供的增量备份和恢复功能,只能用于没有进行时间压缩的数据,对于已经进行过时间压缩的数据则无法处理。因此,目前对于经过时间压缩的数据都是采用全量备份方式进行数据备份和恢复。由于数据仓库数据量非常庞大,一般都是海量数据,所以全量备份方式处理效率非常低,备份速度很慢,需要耗费很长的时间,甚至需要中止系统正常的业务处理来进行数据备份与恢复,对生产造成了较大的影响,严重影响了系统24小时提供服务。
发明内容
(一)要解决的技术问题
有鉴于此,本发明的主要目的在于提供一种应用于数据仓库的数据增量备份与恢复的方法,以提高数据增量备份与恢复的效率。
(二)技术方案
为达到上述目的,本发明提供了一种应用于数据仓库的数据增量备份与恢复的方法,该方法利用基于时间压缩的数据记录的更新前映像BEFORE IMAGE和更新后映像AFTER IMAGE进行数据增量的备份与恢复;
在进行数据增量备份时,首先根据本次数据加载所需要更新的数据生成基于时间压缩的更新数据记录,然后根据被更新表中需要删除的数据记录生成BEFORE IMAGE,并根据被更新表中需要增加的数据记录生成AFTER IMAGE,将BEFORE IMAGE和AFTER IMAGE追加到加载日志文件中,最后将本次的加载日志文件进行备份;
在进行数据增量恢复时,包括正向恢复和逆向恢复;正向恢复先将系统恢复到最近的一次全量备份状态,再对该次全量备份以来的增量备份进行恢复,在恢复过程中运用加载日志文件中的BEFORE IMAGE和AFTERIMAGE,首先将被更新表与BEFORE IMAGE进行匹配,将匹配上的记录删除,然后将AFTER IMAGE插入被更新表;逆向恢复先将被更新表与AFTER IMAGE进行匹配,将匹配上的记录删除,然后将BEFORE IMAGE插入被更新表。
上述方案中,在进行数据增量备份时,所述根据本次数据加载所需要更新的数据生成基于时间压缩的更新数据记录,具体包括:在进行数据加载时,先读取被加载数据,根据被加载数据中的日期字段,确定被加载数据的最早日期和最大日期;再查询被更新表,找到有效结束日期比被加载数据最早日期小但最接近的记录,并找到有效开始日期比被加载数据最大日期大但最接近的记录,将上述找到的两条记录与被加载数据一起,按基于时间压缩方式进行压缩处理,生成基于时间压缩的更新数据记录。
上述方案中,在进行数据增量备份时,根据生成的基于时间压缩的更新数据记录,确定被更新表中需要删除的数据,生成BEFORE IMAGE,将生成的BEFORE IMAGE追加到加载日志文件中,具体包括:根据生成的更新数据记录中的有效起始日期、有效结束日期字段,确定更新数据记录的有效区间为上述更新数据记录中的最小有效起始日期到最大有效结束日期;然后查找被更新表,将被更新表中数据有效时间落入上述更新数据记录有效区间的数据找出来,这些数据是被更新表更新时需要删除的数据,将这些数据生成BEFORE IMAGE,并用追加方式保存到加载日志文件中。
上述方案中,数据增量正向恢复的过程具体包括:
步骤20:将系统恢复到最近的一次全量备份状态;
步骤21:选取所述全量备份状态至需要恢复的指定日期的状态内所有加载日志文件;
步骤22:按时间先后顺序读取所述加载日志文件,读取加载日志文件中的BEFORE IMAGE和AFTER IMAGE,在被更新表中查找与该BEFORE IMAGE内容一致的数据记录,并在被更新表中删除查找到的与该BEFORE IMAGE内容一致的数据记录;
步骤23:根据加载日志文件中的AFTER IMAGE,在被更新表中增加与AFTER IMAGE对应的数据记录。
上述方案中,数据增量逆向恢复的过程具体包括:
步骤30:选取需要恢复的指定日期的状态至目前的所有加载日志文件;
步骤31:对加载日志文件中的记录进行逆序处理,将第一条记录变为最后一条记录,第二条记录变为倒数第二条记录,以此递推;再按时间逆序对各个文件进行处理,最先处理距目前时间最近的加载日志文件,最后处理距目前时间最远的加载日志文件;
步骤32:顺序读取已经逆序处理的加载日志文件,读取加载日志文件中的BEFORE IMAGE和AFTER IMAGE,在被更新表中查找与该AFTERIMAGE内容一致的数据记录,在被更新表中删除查找到的与该AFTERIMAGE内容一致的数据记录;
步骤33:根据加载日志文件中的BEFORE IMAGE记录,在被更新表中增加与BEFORE IMAGE对应的数据记录。
(三)有益效果
从上述技术方案可以看出,本发明具有以下有益效果:
1、本发明提供的这种应用于数据仓库的数据增量备份与恢复的方法,数据备份过程不用再对数据仓库加载的结果作存量备份,通过对更新前映像(BEFORE IMAGE)和更新后映像(AFTER IMAGE)的备份,便可以实现对系统的增量备份,大大提高了数据仓库系统中数据备份与恢复的效率,而且占用的备份所需的存储空间非常小。
2、本发明提供的这种应用于数据仓库的数据增量备份与恢复的方法,数据备份过程只需要对加载产生的BEFORE IMAGE和AFTER IMAGE进行备份,备份工作对系统的生产没有任何影响,更不用中断业务来完成备份,大大提高了系统的可用性。
附图说明
图1为本发明提供的数据增量备份的方法流程图;
图2为本发明提供的数据增量正向恢复的方法流程图;
图3为本发明提供的数据增量逆向恢复的方法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
数据仓库中存放的数据都是历史数据,历史数据一般是不需要进行更新,然而数据仓库中需要不断将新产生的数据增加进来。如企业的日常联机处理系统中每天都要产生大量的交易数据,这些交易数据过了某个时间点就会变成历史数据,这里历史数据就需要导出,再导入到数据仓库系统中,导入的过程即为数据仓库系统的数据加载过程。本发明的增量备份与恢复方法,通过在数据仓库系统的数据加载过程中采用加载日志文件(LOG)记录系统的修改痕迹,包括应用数据修改前后的状态,也就是所谓的BEFORE IMAGE和AFTER IMAGE,从而实现数据的增量备份,数据的恢复则通过加载日志文件(LOG)的反向更新来实现。
下面详细介绍本发明需要用到的BEFORE IMAGE和AFTERIMAGE:
BEFORE IMAGE指将数据库表在更新前,将需要被更新的记录数据保存下来,并注明其更新的时间,这个被保存的数据称为BEFOREIMAGE。这个BEFORE IMAGE的存储方法可以是多种形式的,可以存储到文件中,也可以存储到数据库表中。对于采用文件的存储方式,记录中的各字段可通过一个分隔(如“;”)间隔。
AFTER IMAGE指将数据库表在更新后,将更新的记录数据保存下来,并注明其更新的时间,这个被保存的数据称为AFTER IMAGE。这个AFTER IMAGE的存储方法可以是多种形式的,可以存储到文件中,也可以存储到数据库表中。对于采用文件的存储方式,记录中的各字段可通过一个分隔(如“;”)间隔。
因此,BEFORE IMAGE和AFTER IMAGE为数据库表记录数据在修改前后的映像,它记录了该记录数据在修改前后的状态。
例如:有一个更新(Update)处理,需要对表3中的数据进行更新处理,更新后的结果为表5所示,表3在更新前,需要被更新的数据为第二条记录。如果将其BEFORE IMAGE保存的文件中,则该BEFORE IMAGE的内容为如下一行数据:
更新时间;1;2000;有效;2000-1-11;9999-12-31;1
前面注明有更新时间,后边为将被更新的数据,各字段之间用“;”隔开。
表5为更新的结果,第2、3、4条记录为更新后的新数据,如果将其AFTER IMAGE保存的文件中,则该AFTER IMAGE的内容为如下三行数据:
更新时间;1;2000;有效;2000-1-11;2000-1-10;0
更新时间;1;3000;有效;2000-1-21;2000-1-20;0
更新时间;1;4000;冻结;2000-1-31;9999-12-31;1
账户 | 余额 | 账户状态 | 有效起始日期 | 有效结束日期 | 有效标志 |
1 | 1000 | 有效 | 2000-1-1 | 2000-1-10 | 0 |
1 | 2000 | 有效 | 2000-1-11 | 9999-12-31 | 1 |
表3
账户 | 余额 | 账户状态 | 有效起始日期 | 有效结束日期 | 有效标志 |
1 | 1000 | 有效 | 2000-1-1 | 2000-1-10 | 0 |
1 | 2000 | 有效 | 2000-1-11 | 2000-1-20 | 0 |
1 | 3000 | 有效 | 2000-1-21 | 2000-1-30 | 0 |
1 | 4000 | 冻结 | 2000-1-31 | 9999-12-31 | 1 |
表5
由上可看出:BEFORE IMAGE保存的是更新(Update)处理删除的数据记录,AFTER IMAGE保存的是更新(Update)处理新增的数据记录。
本发明提供的这种应用于数据仓库的数据增量备份与恢复的方法,利用基于时间压缩的数据记录的更新前映像BEFORE IMAGE和更新后映像AFTER IMAGE进行数据增量的备份与恢复。
其中,在进行数据增量备份时,首先根据本次数据加载所需要更新的数据生成基于时间压缩的更新数据记录,然后根据被更新表中需要删除的数据记录生成BEFORE IMAGE,并根据被更新表中需要增加的数据记录生成AFTER IMAGE,将BEFORE IMAGE和AFTER IMAGE追加到加载日志文件中,最后将本次的加载日志文件进行备份。
在进行数据增量恢复时,包括正向恢复和逆向恢复;正向恢复先将系统恢复到最近的一次全量备份状态,再对该次全量备份以来的增量备份进行恢复,在恢复过程中运用加载日志文件中的BEFORE IMAGE和AFTERIMAGE,首先将被更新表与BEFORE IMAGE进行匹配,将匹配上的记录删除,然后将AFTER IMAGE插入被更新表;逆向恢复先将被更新表与AFTER IMAGE进行匹配,将匹配上的记录删除,然后将BEFORE IMAGE插入被更新表。
如图1所示,图1为本发明提供的数据增量备份的方法流程图,该方法包括以下步骤:
步骤10:根据本次数据加载所需要更新的数据,生成基于时间压缩的更新数据记录;本步骤具体包括:
在进行数据加载时,先读取被加载数据,根据被加载数据中的日期字段,确定被加载数据的最早日期和最大日期;再查询被更新表,找到有效结束日期比被加载数据最早日期小但最接近的记录,并找到有效开始日期比被加载数据最大日期大但最接近的记录,将上述找到的两条记录与被加载数据一起,按基于时间压缩方式进行压缩处理,生成基于时间压缩的更新数据记录;
被更新表:指数据仓库中需要被更新的表,即需要加载联机业务处理数据到其中的表;
被加载数据:指最新一段时间内联机业务系统新增的业务处理数据,是需要加载到数据仓库被更新表中的数据。
步骤11:根据生成的基于时间压缩的更新数据记录,确定被更新表中需要删除的数据,生成BEFORE IMAGE,将生成的BEFORE IMAGE追加到加载日志文件中;本步骤具体包括:
根据生成的更新数据记录中的有效起始日期、有效结束日期字段,确定更新数据记录的有效区间,即上述更新数据记录中的最小有效起始日期到最大有效结束日期;然后查找被更新表,将被更新表中数据有效时间落入上述更新数据记录有效区间的数据找出来,这些数据是被更新表更新时需要删除的数据,将这些数据生成BEFORE IMAGE,并用追加方式保存到加载日志文件中。
步骤12:根据基于时间压缩的更新数据记录,确定被更新表中需要增加的数据,生成AFTER IMAGE,将生成的AFTER IMAGE追加到加载日志文件中;
步骤13:将被更新表中被上述步骤11已经保存到BEFORE IMAGE中的记录数据进行删除处理。
步骤14:将与AFTER IMAGE对应的数据记录增加到被更新表中;
步骤15:将本次加载后生成的日志文件采用一般的文件备份方法进行备份。一般的文件备份方法指通常的硬盘复制方法、导入到磁带、刻录的光盘等方法。
如图2所示,图2为本发明提供的数据增量正向恢复的方法流程图,该方法包括以下步骤:
步骤20:将系统恢复到最近的一次全量备份状态,全量备份和恢复方法可以采用一般的数据管理系统中的全量备份和恢复方法;
步骤21:选取所述全量备份状态至需要恢复的指定日期的状态内所有加载日志文件;
步骤22:按时间先后顺序读取所述加载日志文件,读取加载日志文件中的BEFORE IMAGE和AFTER IMAGE,对加载日志文件中的BEFOREIMAGE数据,在被更新表中查找与该BEFORE IMAGE内容一致的数据记录,并在被更新表中删除查找到的与该BEFORE IMAGE内容一致的数据记录。
步骤23:根据加载日志文件中的AFTER IMAGE,在被更新表中增加与AFTER IMAGE对应的数据记录。
如图3所示,图3为本发明提供的数据增量逆向恢复的方法流程图,该方法包括以下步骤:
步骤30:选取需要恢复的指定日期的状态至目前的所有加载日志文件;
步骤31:对加载日志文件中的记录进行逆序处理,将第一条记录变为最后一条记录,第二条记录变为倒数第二条记录,以此递推;再按时间逆序对各个文件进行处理,最先处理距目前时间最近的加载日志文件,最后处理距目前时间最远的加载日志文件;
步骤32:顺序读取已经逆序处理的加载日志文件,读取加载日志文件中的BEFORE IMAGE和AFTER IMAGE,对加载日志文件中的AFTERIMAGE数据,在被更新表中查找与该AFTER IMAGE内容一致的数据记录,在被更新表中删除查找到的与该AFTER IMAGE内容一致的数据记录。
步骤33:根据加载日志文件中的BEFORE IMAGE记录,在被更新表中增加与BEFORE IMAGE对应的数据记录。
基于图1、图2和图3所述的应用于数据仓库的数据增量备份与恢复的方法,以下结合具体的实施例对本发明应用于数据仓库的数据增量备份与恢复的方法进一步详细说明。
实施例
以下例子描述的是在数据仓库中一个存款账户的余额以及账户状态被更新时数据仓库管理工具使用增量备份与恢复方法同时生成本次加载更新所对应的BEFORE IMAGE和AFTER IMAGE,然后在某时刻将该存款账户的余额恢复至加载更新前情况的整个过程。
表3所示的是数据仓库中目前有一个时间压缩型的余额事实表,表内记录所代表的业务意义是账户1在2000-1-1日至2000-1-10日这段时间的余额为1000元,在2000-1-11日至今的余额为2000元,且账户状态在当前也是有效的。
经过一段时间后,由于在企业联机事务处理系统中该账户的信息有更新,数据仓库系统会对变化的信息作增量加载,表4所示的是数据仓库所需要进行增量加载处理的更新信息,含义为:账户1在2000-1-21余额更新为3000元,在2000-1-31日余额更新为4000元。
账户 | 余额 | 账户状态 | 数据日期 |
1 | 3000 | 有效 | 2000-1-21 |
1 | 4000 | 冻结 | 2000-1-31 |
表4
数据仓库对更新的信息进行加载,更新相应的余额事实表。在数据仓库中,对时间压缩型的事实表和维表的修改主要分为两种:UPDATE和INSERT。对于UPDATE,既会生成BEFORE IMAGE,又会生成AFTERIMAGE。对于INSERT,仅会生成AFTER IMAGE。表5便是数据仓库的加载后的结果,含义是账户1在2000-1-1日至2000-1-10日这段时间的余额为1000元,在2000-1-11日2000-1-20的余额为2000元,在2000-1-21日至2000-1-31日这段时间的余额为3000元,在2000-1-31日至今的余额为4000元。最后3条数据记录代表本次增量加载涉及的内容。与此同时由于本次增量加载涉及了UPDATE和INSERT操作,数据仓库管理工具根据操作的痕迹同时生成相应的BEFORE IMAGE和AFTER IMAGE。
表6和表7表示的是本次加载中UPDATE操作所产生的BEFOREIMAGE和AFTER IMAGE,因为在事实表中账户1在2000-1-11日至今的余额为2000元,而本次加载后账户1在2000-1-11日2000-1-20的余额为2000元,在2000-1-21日至2000-1-31日这段时间的余额为3000元,同时有效结束日期被UPDATE了。
账户 | 余额 | 账户状态有效起始日期 | 有效结束日期 | 有效标志 |
1 | 2000 | 有效2000-1-11 | 9999-12-31 | 1 |
表6
账户 | 余额 | 账户状态 | 有效起始日期 | 有效结束日期 | 有效标志 |
1 | 2000 | 有效 | 2000-1-11 | 2000-1-20 | 0 |
1 | 3000 | 有效 | 2000-1-21 | 2000-1-30 | 0 |
表7
表8表示的是本次加载中INSERT操作所产生的AFTER IMAGE,本次加载账户1在2000-1-31日余额更新为4000元。所以在加载中将该记录INSERT到事实表的最后,同时生成相应的AFTER IMAGE。由于是INSERT操作,所以并没有相应的BEFORE IMAGE。
账户余额 | 账户状态 | 有效起始日期 | 有效结束日期 | 有效标志 |
14000 | 冻结 | 2000-1-31 | 9999-12-31 | 1 |
表8
通过将如上各个步骤所产生的BEFORE IMAGE和AFTER IMAGE进行整理归并,便可以得到本次加载的BEFORE IMAGE和AFTER IMAGE。表9所表示的是本次加载产生的BEFORE IMAGE,代表的含义为在本次加载前,账户1在2000-1-11日至今的余额为2000元。
账户 | 余额 | 账户状态 | 有效起始日期 | 有效结束日期 | 有效标志 |
1 | 2000 | 有效 | 2000-1-11 | 9999-12-31 | 1 |
表9
表10表示的是本次加载产生的AFTER IMAGE,表示的是在本次加载后,账户1在2000-1-11日2000-1-20的余额为2000元,在2000-1-21日至2000-1-31日这段时间的余额为3000元,在2000-1-31日至今的余额为4000元。最后将本次数据加载所产生的BEFORE IMAGE和AFTERIMAGE保存到本次的加载日志文件(LOG)文件中,也完成了对数据仓库的增量备份。
账户 | 余额 | 账户状态 | 有效起始日期 | 有效结束日期 | 有效标志 |
1 | 2000 | 有效 | 2000-1-11 | 2000-1-20 | 0 |
1 | 3000 | 有效 | 2000-1-21 | 2000-1-30 | 0 |
1 | 4000 | 冻结 | 2000-1-31 | 9999-12-31 | 1 |
表10
以下将讲述怎样通过增量备份文件(LOG)来实现增量恢复的过程。
假设本次加载之后发现本次加载的数据有误,数据仓库需要恢复到本次加载之前,这可以通过两种方式实现:正向恢复和反向恢复。
如果数据仓库系统本身正常,只是加载的数据有问题,一般可以采用反向恢复的方式实现,免去了需要全量恢复的麻烦,很快就能实现系统的恢复处理。在恢复过程中运用加载日志文件(LOG)中的BEFORE IMAGE和AFTER IMAGE,首先将事实表与AFTER IMAGE匹配,将匹配上的记录删除,如表11所示,加删除线的代表去除的记录。然后将BEFOREIMAGE插入事实表,如表12所示,最后一条记录代表插入的记录。通过采用一个时间段内的加载日志文件备份文件对当前事实表根据距离时间由近到远的顺序进行反复恢复处理,最终便能恢复到指定日的状态。
表11
账户 | 余额 | 账户状态 | 有效起始日期 | 有效结束日期 | 有效标志 |
1 | 1000 | 有效 | 2000-1-1 | 2000-1-10 | 0 |
1 | 2000 | 有效 | 2000-1-11 | 9999-12-31 | 1 |
表12
如果数据仓库系统遭到的破坏很大,本身不可用,则需要采用正向恢复方式。首先需要对系统作一次全量恢复,将系统恢复到最近的一次全量备份状态,再对该次全量备份以来的增量备份进行恢复。在恢复过程中运用加载日志文件(LOG)中的BEFORE IMAGE和AFTER IMAGE,首先将事实表与BEFORE IMAGE匹配,将匹配上的记录删除,然后将AFTERIMAGE插入事实表。通过对该存量备份以来的所有加载日志文件增量备份文件按时间顺序进行恢复处理,最终便可恢复到当前状态或指定日的状态。
以上例子介绍了如何应用BEFORE IMAGE和AFTER IMAGE实现增量数据加载中进行数据的增量备份与恢复处理。由于有了以上这些记录修改的备份文件,数据仓库无需每次备份海量的存量记录表,仅需备份较小的BEFORE IMAGE和AFTER IMAGE就可实现增量备份。恢复时,结合每日加载产生的增量备份文件对当前存量表反复进行上例中恢复步骤,最终恢复到指定日的状态。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种应用于数据仓库的数据增量备份与恢复的方法,其特征在于,该方法利用基于时间压缩的数据记录的更新前映像BEFORE IMAGE和更新后映像AFTER IMAGE进行数据增量的备份与恢复;
在进行数据增量备份时,首先根据本次数据加载所需要更新的数据生成基于时间压缩的更新数据记录,然后根据被更新表中需要删除的数据记录生成BEFORE IMAGE,并根据被更新表中需要增加的数据记录生成AFTER IMAGE,将BEFORE IMAGE和AFTER IMAGE追加到加载日志文件中,最后将本次的加载日志文件进行备份;
在进行数据增量恢复时,包括正向恢复和逆向恢复;正向恢复先将系统恢复到最近的一次全量备份状态,再对该次全量备份以来的增量备份进行恢复,在恢复过程中运用加载日志文件中的BEFOR EIMAGE和AFTERIMAGE,首先将被更新表与BEFORE IMAGE进行匹配,将匹配上的记录删除,然后将AFTER IMAGE插入被更新表;逆向恢复先将被更新表与AFTER IMAGE进行匹配,将匹配上的记录删除,然后将BEFORE IMAGE插入被更新表。
2.根据权利要求1所述的应用于数据仓库的数据增量备份与恢复的方法,其特征在于,在进行数据增量备份时,所述根据本次数据加载所需要更新的数据生成基于时间压缩的更新数据记录,具体包括:
在进行数据加载时,先读取被加载数据,根据被加载数据中的日期字段,确定被加载数据的最早日期和最大日期;再查询被更新表,找到有效结束日期比被加载数据最早日期小但最接近的记录,并找到有效开始日期比被加载数据最大日期大但最接近的记录,将上述找到的两条记录与被加载数据一起,按基于时间压缩方式进行压缩处理,生成基于时间压缩的更新数据记录。
3.根据权利要求1所述的应用于数据仓库的数据增量备份与恢复的方法,其特征在于,在进行数据增量备份时,根据生成的基于时间压缩的更新数据记录,确定被更新表中需要删除的数据,生成BEFORE IMAGE,将生成的BEFORE IMAGE追加到加载日志文件中,具体包括:
根据生成的更新数据记录中的有效起始日期、有效结束日期字段,确定更新数据记录的有效区间为上述更新数据记录中的最小有效起始日期到最大有效结束日期;然后查找被更新表,将被更新表中数据有效时间落入上述更新数据记录有效区间的数据找出来,这些数据是被更新表更新时需要删除的数据,将这些数据生成BEFORE IMAGE,并用追加方式保存到加载日志文件中。
4.根据权利要求1所述的应用于数据仓库的数据增量备份与恢复的方法,其特征在于,数据增量正向恢复的过程具体包括:
步骤20:将系统恢复到最近的一次全量备份状态;
步骤21:选取所述全量备份状态至需要恢复的指定日期的状态内所有加载日志文件;
步骤22:按时间先后顺序读取所述加载日志文件,读取加载日志文件中的BEFORE IMAGE和AFTER IMAGE,在被更新表中查找与该BEFORE IMAGE内容一致的数据记录,并在被更新表中删除查找到的与该BEFORE IMAGE内容一致的数据记录;
步骤23:根据加载日志文件中的AFTER IMAGE,在被更新表中增加与AFTER IMAGE对应的数据记录。
5.根据权利要求1所述的应用于数据仓库的数据增量备份与恢复的方法,其特征在于,数据增量逆向恢复的过程具体包括:
步骤30:选取需要恢复的指定日期的状态至目前的所有加载日志文件;
步骤31:对加载日志文件中的记录进行逆序处理,将第一条记录变为最后一条记录,第二条记录变为倒数第二条记录,以此递推;再按时间逆序对各个文件进行处理,最先处理距目前时间最近的加载日志文件,最后处理距目前时间最远的加载日志文件;
步骤32:顺序读取已经逆序处理的加载日志文件,读取加载日志文件中的BEFORE IMAGE和AFTER IMAGE,在被更新表中查找与该AFTERIMAGE内容一致的数据记录,在被更新表中删除查找到的与该AFTERIMAGE内容一致的数据记录;
步骤33:根据加载日志文件中的BEFORE IMAGE记录,在被更新表中增加与BEFORE IMAGE对应的数据记录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007101002447A CN100464334C (zh) | 2007-06-06 | 2007-06-06 | 应用于数据仓库的数据增量备份与恢复的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007101002447A CN100464334C (zh) | 2007-06-06 | 2007-06-06 | 应用于数据仓库的数据增量备份与恢复的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101067818A CN101067818A (zh) | 2007-11-07 |
CN100464334C true CN100464334C (zh) | 2009-02-25 |
Family
ID=38880378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007101002447A Active CN100464334C (zh) | 2007-06-06 | 2007-06-06 | 应用于数据仓库的数据增量备份与恢复的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100464334C (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111176903A (zh) * | 2019-12-31 | 2020-05-19 | 云汉芯城(上海)互联网科技股份有限公司 | 一种商品数据恢复的方法、系统、设备及可读存储介质 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102043800A (zh) * | 2009-10-16 | 2011-05-04 | 无锡华润上华半导体有限公司 | 数据存储实现方法及数据仓库 |
CN102567818A (zh) * | 2010-12-08 | 2012-07-11 | 金蝶软件(中国)有限公司 | 生成订单物料清单的方法和系统 |
CN102043859A (zh) * | 2010-12-27 | 2011-05-04 | 用友软件股份有限公司 | 数据更新方法及装置 |
CN102331955B (zh) * | 2011-09-14 | 2012-12-19 | 天津火星科技有限公司 | 一种多时间粒度的数据备份方法 |
CN102685436A (zh) * | 2011-12-13 | 2012-09-19 | 上海天跃科技股份有限公司 | 一种应用分层视频编码技术设计的存储方法 |
CN103164523A (zh) * | 2013-03-19 | 2013-06-19 | 华为技术有限公司 | 数据一致性检查方法、装置及系统 |
CN103559635A (zh) * | 2013-11-07 | 2014-02-05 | 北京国双科技有限公司 | 用于查询广告物料状态的数据处理方法和装置 |
CN105446828B (zh) * | 2014-09-30 | 2019-05-31 | 北京金山云网络技术有限公司 | 一种数据库备份、恢复方法、装置及系统 |
JP6506527B2 (ja) * | 2014-10-14 | 2019-04-24 | キヤノン株式会社 | 情報処理装置とデータ同期方法、データ同期システムおよびプログラム |
CN106155838B (zh) * | 2015-04-24 | 2019-03-22 | 中国移动通信集团河南有限公司 | 一种数据库备份数据恢复方法及装置 |
CN105117435A (zh) * | 2015-08-07 | 2015-12-02 | 北京思特奇信息技术股份有限公司 | 一种动态数据一致性比对方法及系统 |
CN105740101A (zh) * | 2016-01-29 | 2016-07-06 | 青岛海尔智能家电科技有限公司 | 用于MySQL数据库的自动备份与自动还原方法及装置 |
CN110019477A (zh) * | 2017-12-27 | 2019-07-16 | 航天信息股份有限公司 | 一种使用hive备份表进行大数据处理的方法及系统 |
CN109783276B (zh) * | 2018-12-19 | 2021-03-02 | 远光软件股份有限公司 | 基于专用压缩卡的数据备份及恢复装置和方法 |
CN113568715A (zh) * | 2021-09-28 | 2021-10-29 | 武汉四通信息服务有限公司 | 数据处理方法、装置及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1454349A (zh) * | 2000-06-07 | 2003-11-05 | 处理存储器有限公司 | 主存储器事务处理系统中的高度并行日志和恢复操作的方法和系统 |
JP2004152136A (ja) * | 2002-10-31 | 2004-05-27 | Matsushita Electric Ind Co Ltd | データ更新システム、データ更新システムの差分データ生成装置及びプログラム、並びに更新後ファイル復元装置及びプログラム |
US20040111582A1 (en) * | 2002-10-17 | 2004-06-10 | Takuji Maeda | File-update apparatus |
CN1808431A (zh) * | 2005-12-31 | 2006-07-26 | 中国工商银行股份有限公司 | 多表连接方法 |
-
2007
- 2007-06-06 CN CNB2007101002447A patent/CN100464334C/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1454349A (zh) * | 2000-06-07 | 2003-11-05 | 处理存储器有限公司 | 主存储器事务处理系统中的高度并行日志和恢复操作的方法和系统 |
US20040111582A1 (en) * | 2002-10-17 | 2004-06-10 | Takuji Maeda | File-update apparatus |
JP2004152136A (ja) * | 2002-10-31 | 2004-05-27 | Matsushita Electric Ind Co Ltd | データ更新システム、データ更新システムの差分データ生成装置及びプログラム、並びに更新後ファイル復元装置及びプログラム |
CN1808431A (zh) * | 2005-12-31 | 2006-07-26 | 中国工商银行股份有限公司 | 多表连接方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111176903A (zh) * | 2019-12-31 | 2020-05-19 | 云汉芯城(上海)互联网科技股份有限公司 | 一种商品数据恢复的方法、系统、设备及可读存储介质 |
CN111176903B (zh) * | 2019-12-31 | 2020-10-02 | 云汉芯城(上海)互联网科技股份有限公司 | 一种商品数据恢复的方法、系统、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101067818A (zh) | 2007-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100464334C (zh) | 应用于数据仓库的数据增量备份与恢复的方法 | |
CN108959400B (zh) | 银行系统历史数据清理方法及装置 | |
US7099897B2 (en) | System and method for discriminatory replaying of log files during tablespace recovery in a database management system | |
US9996557B2 (en) | Database storage system based on optical disk and method using the system | |
CN101777017B (zh) | 一种连续数据保护系统的快速恢复方法 | |
CN101739313B (zh) | 一种连续数据保护和恢复方法 | |
US20050246362A1 (en) | System and method for dynamci log compression in a file system | |
CN103197988A (zh) | 一种数据备份、恢复的方法、设备和数据库系统 | |
CN103092903A (zh) | 数据库日志并行化 | |
CN103530290A (zh) | 数据库间的数据迁移方法和系统 | |
CN107544873A (zh) | 一种存放备份数据的备份系统和方法 | |
CN105787058B (zh) | 一种用户标签系统及基于用户标签系统的数据推送系统 | |
CN104281717B (zh) | 一种建立海量id映射关系的方法 | |
CN102033930A (zh) | 分布式内存数据库系统 | |
CN106933836A (zh) | 一种基于分表的数据存储方法和系统 | |
CN102347866A (zh) | 网络管理中的数据配置系统及配置方法 | |
CN104317963A (zh) | 一种数据处理方法及装置 | |
CN111143323B (zh) | Mpp数据库管理方法、装置及系统 | |
CN103019626A (zh) | 存储系统、控制集群元数据的方法及装置 | |
CN103176867A (zh) | 一种快速文件差异备份方法 | |
CN110019063A (zh) | 计算节点数据容灾回放的方法、终端设备及存储介质 | |
US20030208464A1 (en) | System and method for optimizing log usage for temporary objects | |
CN105183949A (zh) | 一种铁路主数据的清洗方法及系统 | |
CN108268341A (zh) | 一种数据迁移、备份及恢复方法及装置 | |
CN105068765A (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 |