一种数据迁移的方法、系统及计算机可读存储介质技术方案

技术编号:17878898 阅读:68 留言:0更新日期:2018-05-06 00:43
本申请涉及一种数据迁移方法、系统及计算机可读存储介质。该数据迁移方法包括:确定需要迁移的数据;根据需要迁移的数据,生成迁移脚本和比对脚本;执行迁移脚本进行数据迁移;以及执行比对脚本进行数据比对。该方法还可以包括:在确定需要迁移的数据之前,进行备机搭建,以便与生产环境相匹配;以及在备机上恢复备份数据。该方法还可以包括:在数据比对一致的情况下,根据迁移后的数据,生成删除脚本。本申请采用备机恢复方案和动态生成执行脚本相结合的方法来在确保生产日常稳定运行的情况下实现海量数据迁移。

Data migration method, system and computer readable storage medium

The application relates to a data migration method, a system and a computer readable storage medium. The data migration methods include determining the data to be migrated; generating migration scripts and comparison scripts based on the data needed to migrate; performing migration scripts for data migration; and performing comparison of data by executing comparison scripts. The method can also include: before determining the data that needs to be migrated, it is set up to match the production environment and restore the backup data on the standby machine. The method can also include generating deleted scripts based on migrated data in the case of data consistency. This application uses the method of combining the standby recovery scheme and the dynamic generation execution script to ensure the mass data migration in the condition of ensuring the daily stable operation of the production.

【技术实现步骤摘要】
一种数据迁移的方法、系统及计算机可读存储介质
本申请涉及领域数据管理和处理,更具体地涉及数据迁移技术。
技术介绍
随着银行业务的不断扩张,银行的数据存量正在飞速增长,数据迁移工作已经成为保证银行系统安全稳定的重要组成部分。而常规的数据迁移方法不能满足迁移对于时间和后续处理的要求。因此,本领域需要改进的技术确保准确地迁移数据。
技术实现思路
本申请提供了一种数据迁移方法,包括:确定需要迁移的数据;根据需要迁移的数据,生成迁移脚本和比对脚本;执行迁移脚本进行数据迁移;以及执行比对脚本进行数据比对。根据一个方面,所述数据迁移方法还包括:在确定需要迁移的数据之前,进行备机搭建,以便与生产环境相匹配。根据一个方面,所述数据迁移方法还包括:在确定需要迁移的数据之前,在备机上恢复备份数据。根据一个方面,所述数据迁移方法还包括:在数据比对一致的情况下,根据迁移后的数据,生成删除脚本。根据一个方面,所述迁移脚本和所述比对脚本是通过程序动态生成的。根据一个方面,所述删除脚本是通过程序动态生成的。根据一个方面,所述数据迁移是跨平台和跨数据库版本的数据迁移。根据一个方面,所述数据迁移方法还包括:执行索引及约束重构脚本。根据一个方面,所述迁移脚本、所述比对脚本、所述删除脚本、所述索引及约束重构脚本是通过系统参数表和数据表之间的互相关联关系编写的。本申请还提供了一种用于数据迁移的系统,包括:用于确定需要迁移的数据的装置;用于根据需要迁移的数据,生成迁移脚本和比对脚本的装置;用于执行迁移脚本进行数据迁移的装置;以及用于执行比对脚本进行数据比对的装置。本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储用于执行以下操作的计算机可执行指令:确定需要迁移的数据;根据需要迁移的数据,生成迁移脚本和比对脚本;执行迁移脚本进行数据迁移;以及执行比对脚本进行数据比对。本申请克服了原有导入导出逻辑备份与恢复方案与存储迁移方案各自不足之处,解决了在确保生产日常稳定运行的情况下将大量数据从一个平台准确地迁移到另一平台上,实现了跨平台和跨数据库版本的数据迁移且能够可靠高效地完成数据迁移。附图说明纳入于此且构成本说明书一部分的附图示出了本申请的示例性实施例,并与以上给出的
技术实现思路
和下面给出的具体实施方式一起用来解释本申请的特征。图1是根据本申请的一个实施例的数据迁移方法的示意性流程图;以及图2是根据本申请的一个实施例的示例性计算机系统框图。具体实施方式将参照附图详细描述各种实施例。在可能之处,相同附图标记将贯穿附图用于指代相同或类似部分。对特定示例和实现所作的引用是用于说明性目的,而无意限定本申请或权利要求的范围。措辞“示例性”在本文中用于表示“用作示例、实例或示出”。本文中描述为“示例性”的任何实现不必然被解释为优于或胜过其他实现。随着大数据时代来临,诸多行业存在不同数据库之间迁移海量数据的需求。银行业务涉及将老数据转换并迁移到新库数据的海量数据迁移工作。银行管理系统中,分行综合数据管理平台(以下简称ODSB)作为分行数据管理的基础,存放了总推分(总推分数据例如可以是由总行统一开发的信息管理类系统,在各分行推广上线后,由总行每日通过特定的下数渠道向各分行下发的数据,数据的源头存放在总行)和分行特色的所有数据,存放的数据涉及面广且数据量大。这给日常系统运行和运维带来了较大风险,因此需要将部分流水数据迁移到新的专门存放历史流水数据的服务器(简称历史数据服务器)上。由于ODSB每日需要大量时间跑批,且要提供业务部门日常数据查询功能,因此数据迁移的时间窗口有限,并且迁移过去的数据库服务器和数据库版本都有所不同。目前ODSB使用的是oracle数据库,通常使用的迁移数据方式是导入导出逻辑备份与恢复、以及存储(Storage)迁移。但是这两种方式都不适用于目前ODSB大数据量迁移工作。导入导出逻辑备份与恢复无法满足对于时间的要求。对于10T左右的数据迁移,导入导出逻辑备份与恢复需要大量的时间,停机时间为从导出到网络传输到新库,再加上导入的时间。对于ODSB的迁移数据量级而言耗时太长,会影响日常生产的稳定运行。而存储迁移则不能满足跨平台和跨数据库版本的数据迁移工作。存储迁移方式要求新老数据库都是同一平台,并且为相同的数据库版本。且迁移后的数据库在裸设备和数据文件等划分上和原来保持一致。在历史数据迁移过程时间窗口有限且数据库服务器和数据库版本都发生了变动的情况下,无法采用存储迁移的方式。常规的数据迁移方法已经不能满足迁移对于时间和后续处理的要求。因此需要采用改进的技术实现数据迁移。本申请克服了原有导入导出逻辑备份与恢复方案与存储迁移方案各自不足之处,提供了采用备机恢复方案和动态生成执行脚本相结合的方法来实现海量数据迁移,能够在确保生产日常稳定运行的情况下实现数据迁移。本申请可以采用如下方式在确保生产日常稳定运行的情况下实现数据迁移。本申请采用备机恢复方案进行历史数据的抽取。备机恢复方案一方面隔离了生产库,完全不影响生产库的运行,备机处理历史数据,不与生产冲突,处理策略灵活多样。另一方面又从侧面验证了历史备份的可用性、可恢复性和数据恢复的有效周期。同时可以跨平台进行数据迁移。本申请采用动态生成执行脚本确保数据迁移的准确性。本申请能够对海量数据进行迁移。在一个示例中,ODSB历史数据迁移,需对上万个分区表进行迁移,几千个表进行表分区转移及校验,上万个分区表进行清除及索引重构,为了保证上万行的脚本准确无误,消除人为因素引发的错误,采用了动态生成执行脚本的方式,开发了数据迁移脚本生成工具,数据校验脚本生成工具,数据清除脚本生成工具,索引及约束重构脚本生成工具。为了完成这些脚本生成工具,前期可以梳理相关系统参数表和数据表,包括需要处理的表名、分区名、索引名、主键名等,其中系统参数表例如可以分别是all_part_key_columns、all_tab_columns、dba_segments、dba_table、dba_constraints、dba_indexes、dba_tab_partitions、dba_part_tables、dba_part_indexes。随后,通过这些系统参数表和数据表之间的互相关联编写出所需脚本生成工具。在脚本生成工具编写过程中,不同的脚本生成工具使用到的系统参数表和数据表不一样,根据需要生成的内容确定使用到的系统参数表和数据表,再根据不同的系统参数表和数据表的字段去寻找关联关系。例如索引及约束重构脚本生成工具的编写使用到dba_constraints、dba_indexes、dba_part_indexes参数表和部分数据表。举例而言,生成删除分区,重建主键,约束,索引脚本程序的主要步骤如下:1、Odsbptabledtl数据表存放了准备删除的表清单、用户、分区名。2、通过odsbptabledtl数据表中的owner,tablename,patname字段生成分区清除语句。3、在dba_index参数表中根据owner和table_name字段来确定迁移表是否有索引。4、如果没有索引,则不需要处理。如果有索引,在dba_constraints表中,根据owner和table_name字段来查询表的constraint,本文档来自技高网
...
一种数据迁移的方法、系统及计算机可读存储介质

【技术保护点】
一种数据迁移方法,包括:确定需要迁移的数据;根据需要迁移的数据,生成迁移脚本和比对脚本;执行迁移脚本进行数据迁移;以及执行比对脚本进行数据比对。

【技术特征摘要】
1.一种数据迁移方法,包括:确定需要迁移的数据;根据需要迁移的数据,生成迁移脚本和比对脚本;执行迁移脚本进行数据迁移;以及执行比对脚本进行数据比对。2.根据权利要求1所述的数据迁移方法,其特征在于,所述数据迁移方法还包括:在确定需要迁移的数据之前,进行备机搭建,以便与生产环境相匹配。3.根据权利要求1所述的数据迁移方法,其特征在于,所述数据迁移方法还包括:在确定需要迁移的数据之前,在备机上恢复备份数据。4.根据权利要求1所述的数据迁移方法,其特征在于,所述数据迁移方法还包括:在数据比对一致的情况下,根据迁移后的数据,生成删除脚本。5.根据权利要求1所述的数据迁移方法,其特征在于,所述迁移脚本和所述比对脚本是通过程序动态生成的。6.根据权利要求4所述的数据迁移方法,其特征在于,所述删除脚本是通过程序动态生成的。7.根据权利要求1所述的...

【专利技术属性】
技术研发人员:张晨晖
申请(专利权)人:中国建设银行股份有限公司上海市分行
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1