本发明涉及数据迁移技术领域,更具体的,涉及一种数据迁移方法及装置。
背景技术:
系统升级过程中,数据迁移是其中很重要的工作。目前进行数据迁移时,采用一次数据迁出,一次数据迁入的方法,这种方法对于生产数据量小的场景来说,数据迁移不会占用过长时间,数据迁移稳定有效,几乎不影响系统的正常使用。
然而,对于系统存在大量数据时,数据迁移会占用很长时间,将导致系统在数据迁移过程中不能正常执行交易,如银行系统存在大量数据,使用目前的数据迁移方法将导致银行停机不可对外服务的时间过长,影响系统的正常使用,无法满足一些地区的监管要求。
技术实现要素:
有鉴于此,本发明提供了一种数据迁移方法及装置,缩短系统不能正常使用的时间,满足监管要求。
为了实现上述发明目的,本发明提供的具体技术方案如下:
一种数据迁移方法,包括:
执行第一次数据迁移,将旧系统的数据迁入到新系统中,在第一次数据迁移过程中所述旧系统正常执行交易;
停止所述旧系统的交易,将第一次数据迁移至第二次数据迁移前期间所述旧系统产生的交易数据迁入到所述新系统中。
可选的,所述执行第一次数据迁移,将旧系统的数据迁入到新系统中,包括:
将所述旧系统的数据迁出至第一中间文件;
对所述第一中间文件中的数据执行数据转换,生成第一目标文件;
将所述第一目标文件装载到新系统数据库中。
可选的,在所述将所述旧系统的数据迁出至第一中间文件之后,所述方法还包括:
对所述旧系统中的数据与所述第一中间文件中的数据进行匹配核对,当核对结果正常时,执行所述对所述第一中间文件中的数据执行数据转换,生成第一目标文件;
在所述生成第一目标文件之后,所述方法还包括:
对所述第一中间文件中的数据与所述第一目标文件中的数据进行匹配核对,当核对结果正常时,执行所述将所述第一目标文件装载到新系统数据库中。
可选的,所述将第一次数据迁移至第二次数据迁移前期间所述旧系统产生的交易数据迁入到所述新系统中,包括:
将第一次数据迁移至第二次数据迁移前期间所述旧系统产生的交易数据迁出至第二中间文件;
对所述第二中间文件中的数据执行数据转换,生成第二目标文件;
将第一次数据迁移的数据中涉及所述第二目标文件中的数据,与所述第二目标文件中的数据进行合并,生成第二次数据迁移的最终目标文件;
将所述最终目标文件装载到所述新系统数据库中。
可选的,在所述将第一次数据迁移至第二次数据迁移前期间所述旧系统产生的交易数据迁出至第二中间文件之后,所述方法还包括:
对第一次数据迁移至第二次数据迁移前期间所述旧系统产生的交易数据与所述第二中间文件中的数据进行匹配核对,当核对结果正常时,执行所述对所述第二中间文件中的数据执行数据转换,生成第二目标文件;
在所述生成第二目标文件之后,所述方法还包括:
获取第一次数据迁移过程中的中间文件;
将第一次数据迁移过程中的中间文件与所述第二中间文件进行合并,得到全量中间文件;
获取第一次数据迁移过程中的目标文件;
将第一次数据迁移过程中的目标文件与所述第二目标文件进行合并,得到全量目标文件;
对所述全量中间文件中的数据和所述全量目标文件中的数据进行匹配核对,当核对结果正常时,执行所述将第一次数据迁移的数据中涉及所述第二目标文件中的数据,与所述第二目标文件中的数据进行合并。
一种数据迁移装置,包括:
第一数据迁移执行单元,用于执行第一次数据迁移,将旧系统的数据迁入到新系统中,在第一次数据迁移过程中所述旧系统正常执行交易;
第二数据迁移执行单元,用于停止所述旧系统的交易,将第一次数据迁移至第二次数据迁移前期间所述旧系统产生的交易数据迁入到所述新系统中。
可选的,所述第一数据迁移执行单元包括:
第一迁出子单元,用于将所述旧系统的数据迁出至第一中间文件;
第一数据转换子单元,用于对所述第一中间文件中的数据执行数据转换,生成第一目标文件;
第一迁入子单元,用于将所述第一目标文件装载到新系统数据库中。
可选的,所述第一数据迁移执行单元还包括:
第一迁出核对子单元,用于对所述旧系统中的数据与所述第一中间文件中的数据进行匹配核对,当核对结果正常时,触发所述第一数据转换子单元;
第一迁入核对子单元,用于对所述第一中间文件中的数据与所述第一目标文件中的数据进行匹配核对,当核对结果正常时,触发所述第一迁入子单元。
可选的,所述第二数据迁移执行单元包括:
第二迁出子单元,用于将第一次数据迁移至第二次数据迁移前期间所述旧系统产生的交易数据迁出至第二中间文件;
第二数据转换子单元,用于对所述第二中间文件中的数据执行数据转换,生成第二目标文件;
数据合并子单元,用于将第一次数据迁移的数据中涉及所述第二目标文件中的数据,与所述第二目标文件中的数据进行合并,生成第二次数据迁移的最终目标文件;
第二迁入子单元,用于将所述最终目标文件装载到所述新系统数据库中。
可选的,所述第二数据迁移执行单元还包括:
第二迁出核对子单元,用于对第一次数据迁移至第二次数据迁移前期间所述旧系统产生的交易数据与所述第二中间文件中的数据进行匹配核对,当核对结果正常时,触发所述第二数据转换子单元;
第二迁入核对子单元,用于获取第一次数据迁移过程中的中间文件;将第一次数据迁移过程中的中间文件与所述第二中间文件进行合并,得到全量中间文件;获取第一次数据迁移过程中的目标文件;将第一次数据迁移过程中的目标文件与所述第二目标文件进行合并,得到全量目标文件;对所述全量中间文件中的数据和所述全量目标文件中的数据进行匹配核对,当核对结果正常时,触发所述数据合并子单元。
相对于现有技术,本发明的有益效果如下:
本发明公开的一种数据迁移方法,在传统一次数据迁移的基础上增加了第二次数据迁移,其中,在第一次数据迁移的过程中旧系统正常执行交易,在第二次数据迁移时停止旧系统的交易,将第一次数据迁移至第二次数据迁移前期间旧系统产生的交易数据迁入新系统中,而该期间内旧系统产生的数据量远远低于第一次数据迁移的数据量,因此第二次数据迁移的耗时很短,系统真正停止交易的时间大大缩短,满足监管要求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例公开的一种数据迁移方法流程示意图;
图2为本发明实施例公开的第一次数据迁移方法流程示意图;
图3为本发明实施例公开的第二次数据迁移方法流程示意图;
图4为本发明实施例公开的另一种第一次数据迁移方法流程示意图;
图5为本发明实施例公开的另一种第二次数据迁移方法流程示意图;
图6为本发明实施例公开的一种数据迁移装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本实施例公开了一种数据迁移方法,应用于大型业务系统,如银行业务系统,在数据迁移过程中涉及大量数据,应用本实施例公开的数据迁移方法可以有效缩短系统停止交易的时间。
请参阅图1,本实施例公开的数据迁移方法具体包括以下步骤:
s101:执行第一次数据迁移,将旧系统的数据迁入到新系统中,在第一次数据迁移过程中所述旧系统正常执行交易;
需要说明的是,在第一次数据迁移过程中旧系统不涉及客户账户数量增减的交易,如开户交易和销户交易。
请参阅图2,执行第一次数据迁移主要包括以下步骤:
s201:将所述旧系统的数据迁出至第一中间文件;
第一中间文件为第一次数据迁移的输入数据,由旧系统迁出,旧系统迁出的数据暂时存储在第一中间文件中,第一中间文件可以存储在迁移环境中,迁移环境为数据迁移运行的环境。
s202:对所述第一中间文件中的数据执行数据转换,生成第一目标文件;
可以理解的是,旧系统和新系统之间可能存在差异,如数据库类型的差异,数据存储格式的差异等等,为了适应新系统,对第一中间文件中的数据执行数据转换,生成第一目标文件,第一目标文件满足新系统中的数据格式要求和存储要求。
s203:将所述第一目标文件装载到新系统数据库中。
将第一目标文件装载到新系统数据库中,即为将旧系统中的数据按照新系统的数据格式存储到新系统中,完成数据由旧系统到新系统的迁移。
s102:停止所述旧系统的交易,将第一次数据迁移至第二次数据迁移前期间所述旧系统产生的交易数据迁入到所述新系统中。
在第二次数据迁移开始时,停止旧系统的交易,保证第二次数据迁移的过程中旧系统中不会产生任何交易数据,保证第二次数据迁移结束后旧系统和新系统中数据一致。
具体的,请参阅图3,执行第二次数据迁移具体包括以下步骤:
s301:将第一次数据迁移至第二次数据迁移前期间所述旧系统产生的交易数据迁出至第二中间文件;
第二中间文件为第二次数据迁移的输入数据,第一次数据迁移至第二次数据迁移前期间旧系统产生的交易数据暂时存储在第二中间文件中,第二中间文件也存储在迁移环境中。
s302:对所述第二中间文件中的数据执行数据转换,生成第二目标文件;
第二次数据迁移过程中数据转换的方法与第一次数据迁移过程中的数据转换方法相同。
s303:将第一次数据迁移的数据中涉及所述第二目标文件中的数据,与所述第二目标文件中的数据进行合并,生成第二次数据迁移的最终目标文件;
可以理解的是,由于第一次数据迁移至第二次数据迁移之前期间产生的交易数据不涉及账户数量增减的交易数据,因此,第一次数据迁移的数据和第二次数据迁移的数据存在相同账户在不同时间的交易数据,如第一次数据迁移的数据中包括a账户的交易数据,交易后的a账户余额为10万,第一次数据迁移至第二次数据迁移之前期间a账户产生交易数据,a账户余额为20万,此时第一次数据迁移和第二次数据迁移的数据存在相同账户a在不同时间的交易数据,将这两笔交易数据进行合并,得到的最终数据包括a账户产生的所有交易记录,以及a账户余额为20万。
可见,将第一次数据迁移的数据中涉及所述第二目标文件中的数据,与所述第二目标文件中的数据进行合并,生成第二次数据迁移的最终目标文件,其实质上是将第一次数据迁移的目标文件与第二次数据迁移的目标文件中相同账户的交易数据进行合并。
s304:将所述最终目标文件装载到所述新系统数据库中。
即新系统数据库中已存在的不涉及第二次数据迁移的数据保持不变,新系统数据库中已存在的涉及第二次数据迁移的数据更新为最终目标文件中的数据,保持了整个数据迁移过程中旧系统和新系统中数据的一致性。
本实施例公开的数据迁移方法,在传统一次数据迁移的基础上增加了第二次数据迁移,其中,在第一次数据迁移的过程中旧系统正常执行交易,在第二次数据迁移时停止旧系统的交易,将第一次数据迁移至第二次数据迁移前期间旧系统产生的交易数据迁入新系统中,而该期间内旧系统产生的数据量远远低于第一次数据迁移的数据量,因此第二次数据迁移的耗时很短,系统真正停止交易的时间大大缩短,满足监管要求。
进一步的,为了保证数据迁移后旧系统和新系统中的数据保持一致,即保证数据迁移数据的准确性,本实施例公开的数据迁移方法,在第一次数据迁移和第二次数据迁移的过程中进行匹配核对,具体的,请参阅图4,执行第一次数据迁移主要包括以下步骤:
s401:将所述旧系统的数据迁出至第一中间文件;
s402:对所述旧系统中的数据与所述第一中间文件中的数据进行匹配核对;
匹配核对的一种实现方式可以为总分核对,即验证旧系统中数据与旧系统迁出得到的第一中间文件中的数据账务处理是否正确。
s403:判断核对结果是否正常;
即旧系统中的数据与第一中间文件中的对应的每一笔数据是否一致,若一致核对结果正常,若不一致核对结果不正常。
若不正常,返回执行s402;
若正常,执行s404;
s404:对所述第一中间文件中的数据执行数据转换,生成第一目标文件;
s405:对所述第一中间文件中的数据与所述第一目标文件中的数据进行匹配核对;
此处的核对方法与上述迁出核对方法相同,保证数据迁入前后旧系统与新系统数据的一致性。
s406:判断核对结果是否正常;
若不正常,返回执行s405;
若正常,执行s407;
s407:将所述第一目标文件装载到新系统数据库中。
请参阅图5,执行第二次数据迁移主要包括以下步骤:
s501:将第一次数据迁移至第二次数据迁移前期间所述旧系统产生的交易数据迁出至第二中间文件;
s502:对第一次数据迁移至第二次数据迁移前期间所述旧系统产生的交易数据与所述第二中间文件中的数据进行匹配核对;
此处的核对方法与上述第一次数据迁移中的迁出核对方法相同,保证第二次数据迁移数据迁出前后旧系统与新系统数据的一致性。
s503:判断核对结果是否正常;
若不正常,返回执行s502;
若正常,执行s504;
s504:对所述第二中间文件中的数据执行数据转换,生成第二目标文件;
s505:获取第一次数据迁移过程中的中间文件;
s506:将第一次数据迁移过程中的中间文件与所述第二中间文件进行合并,得到全量中间文件;
s507:获取第一次数据迁移过程中的目标文件;
s508:将第一次数据迁移过程中的目标文件与所述第二目标文件进行合并,得到全量目标文件;
s509:对所述全量中间文件中的数据和所述全量目标文件中的数据进行匹配核对;
可以理解的是,由于第二次数据迁移为第一次数据迁移至第二次数据迁移之前数据的增量数据迁移,而该部分数据涉及第一次数据迁移中相同账户的交易数据,在进行核对时,需要将第一次数据迁移过程中的中间文件与所述第二中间文件进行合并,得到全量中间文件,并将第一次数据迁移过程中的目标文件与所述第二目标文件进行合并,得到全量目标文件,将全量中间文件中的数据与全量目标文件中的数据进行匹配核对。此处的核对方法与上述第一次数据迁移中的迁出核对方法相同,保证第二次数据迁移数据迁入前后旧系统与新系统数据的一致性。
s510:判断核对结果是否正常;
若不正常,返回执行s509;
若正常,执行s511;
s511:将第一次数据迁移的数据中涉及所述第二目标文件中的数据,与所述第二目标文件中的数据进行合并,生成第二次数据迁移的最终目标文件;
s512:将所述最终目标文件装载到所述新系统数据库中。
本实施公开的数据迁移方法,在第一次数据迁移的数据迁出和数据迁入分别进行核对,并在第二次数据迁移的数据迁出和数据迁入分别进行核对,在每次核对完成后当核对结果正常时执行后续流程,保证数据迁移的整个过程的每个环节都能保证数据的一致性,保证整个数据迁移过程中数据的准确性。
基于上述实施例公开的数据迁移方法,本实施例对应公开了一种数据迁移装置,请参阅图6,该数据迁移装置包括:
第一数据迁移执行单元601,用于执行第一次数据迁移,将旧系统的数据迁入到新系统中,在第一次数据迁移过程中所述旧系统正常执行交易;
其中,第一数据迁移执行单元601包括:
第一迁出子单元,用于将所述旧系统的数据迁出至第一中间文件;
第一数据转换子单元,用于对所述第一中间文件中的数据执行数据转换,生成第一目标文件;
第一迁入子单元,用于将所述第一目标文件装载到新系统数据库中。
第二数据迁移执行单元602,用于停止所述旧系统的交易,将第一次数据迁移至第二次数据迁移前期间所述旧系统产生的交易数据迁入到所述新系统中。
其中,第二数据迁移执行单元602包括:
第二迁出子单元,用于将第一次数据迁移至第二次数据迁移前期间所述旧系统产生的交易数据迁出至第二中间文件;
第二数据转换子单元,用于对所述第二中间文件中的数据执行数据转换,生成第二目标文件;
数据合并子单元,用于将第一次数据迁移的数据中涉及所述第二目标文件中的数据,与所述第二目标文件中的数据进行合并,生成第二次数据迁移的最终目标文件;
第二迁入子单元,用于将所述最终目标文件装载到所述新系统数据库中。
本实施例公开的数据迁移装置,在第一次数据迁移执行单元的基础上,增加第二次数据迁移执行单元,在第一次数据迁移的过程中旧系统正常执行交易,在第二次数据迁移时停止旧系统的交易,将第一次数据迁移至第二次数据迁移前期间旧系统产生的交易数据迁入新系统中,而该期间内旧系统产生的数据量远远低于第一次数据迁移的数据量,因此第二次数据迁移的耗时很短,系统真正停止交易的时间大大缩短,满足监管要求。
可选的,为了保证数据迁移后旧系统和新系统中的数据保持一致,即保证数据迁移数据的准确性,本实施例公开的数据迁移装置在第一数据迁移执行单元601中和第二数据迁移执行单元602中分别增加迁出核对子单元和迁入核对子单元,实现第一次数据迁移过程中的数据迁出核对和迁入核对,并实现第二次数据迁移过程中的数据迁出核对和迁入核对。
具体的,第一数据迁移执行单元601还包括:
第一迁出核对子单元,用于对所述旧系统中的数据与所述第一中间文件中的数据进行匹配核对,当核对结果正常时,触发所述第一数据转换子单元;
第一迁入核对子单元,用于对所述第一中间文件中的数据与所述第一目标文件中的数据进行匹配核对,当核对结果正常时,触发所述第一迁入子单元。
第二数据迁移执行单元602还包括:
第二迁出核对子单元,用于对第一次数据迁移至第二次数据迁移前期间所述旧系统产生的交易数据与所述第二中间文件中的数据进行匹配核对,当核对结果正常时,触发所述第二数据转换子单元;
第二迁入核对子单元,用于获取第一次数据迁移过程中的中间文件;将第一次数据迁移过程中的中间文件与所述第二中间文件进行合并,得到全量中间文件;获取第一次数据迁移过程中的目标文件;将第一次数据迁移过程中的目标文件与所述第二目标文件进行合并,得到全量目标文件;对所述全量中间文件中的数据和所述全量目标文件中的数据进行匹配核对,当核对结果正常时,触发所述数据合并子单元。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。