一种海量数据迁移的方法及装置制造方法

文档序号:6494359阅读:242来源:国知局
一种海量数据迁移的方法及装置制造方法
【专利摘要】本发明公开了一种海量数据迁移的方法及装置。所述方法包括以下步骤:创建迁移配置表;根据预设时间周期内所述海量数据是否发生变化判断迁移数据类型;根据所述迁移数据类型修改所述迁移配置表;根据所述迁移配置表迁移所述海量数据。本发明的技术方案能够大大减少数据迁移时间、业务中断时间以及对于数据库种类的要求。
【专利说明】一种海量数据迁移的方法及装置
【技术领域】
[0001]本发明涉及数据库【技术领域】,尤其涉及一种海量数据迁移的方法及装置。
【背景技术】
[0002]随着业务发展对系统的硬件进行扩容、系统架构的变更、平台转换等等原因都会需要对系统的数据进行迁移。其中针对海量数据数据的迁移的技术方案有以下三种:
[0003]一、使用数据库自带的逻辑导入、导出工具,如oracle的export、import。
[0004]使用该方案进行迁移,可以实现跨平台迁移。为了保证迁移数据的一致性,业务服务必须中断,针对海量数据、中断时间长。导出导入时可以使用全库,用户模式,或者表模式。
[0005]二、使用数据库自带的物理备份工具进行恢复,如oracle的rman。
[0006]使用该方案,将平时的备份数据进行恢复,为了保证迁移数据的一致性,业务服务必须中断,中断时间较短。如果源数据库为非归档模式,该恢复方法无法使用,因为恢复的是全库备份时间点的数据。
[0007]三、使用存贮厂家提供的底层同步工具。
[0008]使用该方案,迁移前开始实时同步,到割接时,短暂业务中断后,同步完成即可。
[0009]现有的技术存在如下缺陷:
[0010]方案一的业务中断时间过长。为了保证迁移数据的完整,首先中断业务,然后开始把数据使用逻辑导出工具把数据导出,然后再使用逻辑导入工具导入数据。使用该方法,数据迁移的时间是实施备份的时间加上实施恢复的时间。
[0011]方案二的业务中断时间比起方案一要少,因为直接从日常的磁带备份恢复,数据迁移的时间是实施恢复的时间。但是该种方法无法应用于跨平台的数据迁移,同时要求源端为归档模式。
[0012]方案三业务中断时间最短,但是对源端、目的端的要求最苛刻、必须是同平台、同时要求是相同存贮、数据库为相同数据库文件结构。

【发明内容】

[0013]为了解决现有技术中海量数据迁移时间过长、对于数据库种类要求多、数据迁移时需要长时间中断业务的技术问题,本发明提出一种海量数据迁移的方法及装置,能够大大减少数据迁移时间、业务中断时间以及对于数据库种类的要求。
[0014]本发明的一个方面,提供一种海量数据迁移的方法,包括以下步骤:创建迁移配置表;根据预设时间周期内所述海量数据是否发生变化判断迁移数据类型;根据所述迁移数据类型修改所述迁移配置表;根据所述迁移配置表迁移所述海量数据。
[0015]本发明的另一个方面,提供一种海量数据迁移的装置,包括迁移配置表创建模块、迁移数据类型判断模块、迁移配置表修改模块和数据迁移模块,其中,所述迁移配置表创建模块,用于创建迁移配置表;所述迁移数据类型判断模块,用于根据预设时间周期内所述海量数据是否发生变化判断迁移数据类型;所述迁移配置表修改模块,用于根据所述迁移数据类型修改所述迁移配置表;所述数据迁移模块,用于根据所述迁移配置表迁移所述海量数据。
[0016]本发明的海量数据迁移的方法及装置,通过对需要迁移的数据进行分析把数据分类,使用迁移配置表对各种类型的数据进行相应的数据迁移,能够支持多种平台,大大减少业务中断时间,使得整个迁移过程可控。
【专利附图】

【附图说明】
[0017]图1是本发明实施例海量数据迁移的方法的流程图;
[0018]图2是本发明实施例优选的海量数据迁移方法的流程图;
[0019]图3是本发明实施例中通过自动处理脚本程序迁移所述动态数据的流程图;
[0020]图4是本发明实施例中割接当晚数据迁移流程示意图;
[0021]图5是本发明实施例海量数据迁移的装置的结构示意图。
【具体实施方式】
[0022]图1为本发明实施例海量数据迁移的方法的流程图。如图1所示,包括以下步骤:
[0023]步骤101、创建迁移配置表;
[0024]步骤102、根据预设时间周期内所述海量数据是否发生变化判断迁移数据类型;
[0025]步骤103、根据所述迁移数据类型修改所述迁移配置表;
[0026]步骤104、根据所述迁移配置表迁移所述海量数据。
[0027]该实施例对需要迁移的数据进行分析,将需要迁移的数据分为无变化数据、变化频繁的大表数据、小表数据。使用配置表对各类表进行标志、并标志目前状态,正在复制,还是复制结束。通过大型数据库提供的内部表监控,如ORACLE的表监控功能,可以监控表的DML操作次数,分析出近一月没有变化的数据,此类数据位静态迁移数据。对此类数据,使用oracle的export、import工具提前进行导入、导出。
[0028]针对数据量大、变化频繁、有唯一索引或者主键的表,采用触发器的方式,将变化数据动态复制,此类数据为动态迁移数据,该类数据可以在业务不中断状态,动态迁移。除了静态数据、动态数据,剩下的数据是数据迁移割接当晚需要迁移的数据,为了实现跨平台迁移同时可以进行表级的迁移,使用oracle的export、import工具进行导入、导出。通过查询配置表,割接当晚对静态迁移数据再次扫描,对发生变化的进行处理。
[0029]图2为一种优选的海量数据迁移方法的流程图,如图2所示,包括以下步骤:
[0030]步骤201、创建迁移配置表;
[0031]配置表包括字段:
[0032]
【权利要求】
1.一种海量数据迁移的方法,包括以下步骤: 创建迁移配置表; 根据预设时间周期内所述海量数据是否发生变化判断迁移数据类型; 根据所述迁移数据类型修改所述迁移配置表; 根据所述迁移配置表迁移所述海量数据。
2.根据权利要求1所述的方法,其特征在于, 所述根据预设时间周期内所述海量数据是否发生变化判断迁移数据类型的步骤包括: 当预设时间周期内所述海量数据没有发生变化时,所述迁移数据类型为静态数据;当预设时间周期内所述海量数据发生了变化时,判断所述迁移配置表是否有主键或者唯一索引; 当所述迁移配置表有主键或者唯一索引时,判断所述迁移配置表的大小是否超过预设值; 当所述迁移配置表的大小超过所述预设值时,所述迁移数据类型为动态大表数据;当所述迁移配置表没有主键或者唯一索引或所述迁移配置表的大小未超过所述预设值时,所述迁移数据类型为动态小表数据。
3.根据权利要求2所述的方法,其特征在于,根据所述迁移数据类型修改所述迁移配置表的步骤包括: 当迁移数据类型为静态数据时,修改所述迁移配置表,配置静态迁移; 根据所述迁移配置表迁移所述海量数据的步骤包括: 通过预设的数据库工具迁移所述静态数据。
4.根据权利要求2所述的方法,其特征在于,根据所述迁移数据类型修改所述迁移配置表的步骤包括: 当迁移数据类型为动态大表数据时,修改所述迁移配置表,配置动态数据迁移; 根据所述迁移配置表迁移所述海量数据的步骤包括: 通过自动处理脚本程序迁移所述动态数据。
5.根据权利要求4所述的方法,其特征在于,所述通过自动处理脚本程序迁移所述动态数据的步骤包括: 根据所述动态大表数据的迁移配置表建立触发器; 从源端数据库拷贝数据至目标数据库; 通过自动处理脚本程序将发生变化的数据应用到目标数据库。
6.根据权利要求2所述的方法,其特征在于,根据所述迁移数据类型修改所述迁移配置表的步骤包括: 当迁移数据类型为动态小表数据时,修改所述迁移配置表,配置割接当晚数据迁移; 根据所述迁移配置表迁移所述海量数据的步骤包括: 中断业务; 使用逻辑导入导出工具迁移当晚数据。
7.根据权利要求6所述的方法,其特征在于,所述使用逻辑导入导出工具迁移当晚数据的步骤后还包括:查询所述迁移配置表的状态,判断所述当晚数据是否迁移完成; 如果完成,则查询所述迁移配置表中标记为静态数据的表; 如果所述静态数据的表发生变化,则使用预设的数据库工具迁移所述发生数据变化的静态表。
8.—种海量数据迁移的装置,包括迁移配置表创建模块、迁移数据类型判断模块、迁移配置表修改模块和数据迁移模块,其中, 所述迁移配置表创建模块,用于创建迁移配置表; 所述迁移数据类型判断模块,用于根据预设时间周期内所述海量数据是否发生变化判断迁移数据类型; 所述迁移配置表修改模块,用于根据所述迁移数据类型修改所述迁移配置表; 所述数据迁移模块,用于根据所述迁移配置表迁移所述海量数据。
9.根据权利要求8所述的装置,其特征在于,所述迁移数据类型判断模块进一步用于: 当预设时间周期内所述海量数据没有发生变化时,所述迁移数据类型为静态数据; 当预设时间周期内所述海量数据发生了变化时,判断所述迁移配置表是否有主键或者唯一索引; 当所述迁移配置表有主键或者唯一索引时,判断所述迁移配置表的大小是否超过预设值; 当所述迁移配置表的大小超过所述预设值时,所述迁移数据类型为动态大表数据;当所述迁移配置表没有主键或者唯一索引或所述迁移配置表的大小未超过所述预设值时,所述迁移数据类型为动态小表数据。
10.根据权利要求9所述的装置,其特征在于,所述迁移配置表修改模块进一步用于: 当迁移数据类型为静态数据时,修改所述迁移配置表,配置静态迁移; 所述数据迁移模块进一步用于: 通过预设的数据库工具迁移所述静态数据。
11.根据权利要求9所述的装置,其特征在于,所述迁移配置表修改模块进一步用于: 当迁移数据类型为动态大表数据时,修改所述迁移配置表,配置动态数据迁移; 所述数据迁移模块进一步用于: 通过自动处理脚本程序迁移所述动态数据。
12.根据权利要求11所述的装置,其特征在于,所述数据迁移模块进一步用于: 根据所述动态大表数据的迁移配置表建立触发器; 从源端数据库拷贝数据至目标数据库; 通过自动处理脚本程序将发生变化的数据应用到目标数据库。
13.根据权利要求9所述的装置,其特征在于,所述迁移配置表修改模块进一步用于: 当迁移数据类型为动态小表数据时,修改所述迁移配置表,配置割接当晚数据迁移; 所述数据迁移模块进一步用于: 中断业务; 使用逻辑导入导出工具迁移当晚数据。
14.根据权利要求13所述的装置,其特征在于,所述数据迁移模块还用于: 查询所述迁移配置表的状态,判断所述当晚数据是否迁移完成;如果完成,则查询所述迁移配置表中标记为静态数据的表; 如果所述静态数据的表发生变化,则使用预设的数据库工具迁移所述发生数据变化的静态表。
【文档编号】G06F17/30GK103914458SQ201210592673
【公开日】2014年7月9日 申请日期:2012年12月29日 优先权日:2012年12月29日
【发明者】芦薇 申请人:中国移动通信集团河北有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1