CN109063005B - 一种数据迁移方法及系统、存储介质、电子设备 - Google Patents

一种数据迁移方法及系统、存储介质、电子设备 Download PDF

Info

Publication number
CN109063005B
CN109063005B CN201810749595.9A CN201810749595A CN109063005B CN 109063005 B CN109063005 B CN 109063005B CN 201810749595 A CN201810749595 A CN 201810749595A CN 109063005 B CN109063005 B CN 109063005B
Authority
CN
China
Prior art keywords
data
version
warehouse
migration
patch
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
Application number
CN201810749595.9A
Other languages
English (en)
Other versions
CN109063005A (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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Advanced New Technologies 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 Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Priority to CN201810749595.9A priority Critical patent/CN109063005B/zh
Priority to CN202110778574.1A priority patent/CN113553313B/zh
Publication of CN109063005A publication Critical patent/CN109063005A/zh
Application granted granted Critical
Publication of CN109063005B publication Critical patent/CN109063005B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/219Managing data history or versioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种数据迁移方法,包括步骤:数据迁移准备、数据回流、数据补丁生成、数据迁移完成判断。本发明还涉及一种数据迁移系统、存储介质、电子设备。本发明克服导入导出工具的强依赖的缺点,采用数据仓库的数据同步回流工具,克服核对效率或可行性、核对成功无法严格保证数据一致的缺点:本发明采用行级逐字段比对,核对成功可以保证数据完全一致。克服无法检查出差异数据和异常原因,规避操作反复消耗流程时间的缺点。本发明克服DBA人工操作,效率低下,且可能存在人为失误的缺点,迁移流程可以通过数据仓库的任务树串行执行,本发明通过系统实现高效、全自动地数据迁移。

Description

一种数据迁移方法及系统、存储介质、电子设备
技术领域
本发明涉及数据迁移领域,尤其涉及一种数据迁移方法及系统、存储介质、电子设备。
背景技术
数据库中间件,是管理按照数据结构来组织、存储和管理数据的中间件系统;中间件用户可以通过数据库语言对数据库进行权限、数据结构的管理,以及数据的增删改查操作。随着应用系统支撑的业务量快速增长,数据库中间件容量和性能遇到瓶颈,无法支撑业务数据存储和业务服务读写操作;数据库技术的快速发展,推陈出新的技术提供更加优质的特性,例如分布式数据库相较于传统的重心化数据库具备无限水平扩容的能力;在业务需求和架构升级的诸多场景中,都存在对数据库中间件升级的需求。
数据库中间件升级本身是无状态的,只需要完成新中间件的升级安装即可,但是数据库承载的数据本身是有状态的,如何高效地、保证数据一致性地将数据迁移到新的数据库中间件,是数据库中间件升级过程需要解决的主要难题。当前的数据迁移通常是DBA操作完成,其中,数据库管理员(DataBase Administrator),负责数据库中间件的系统管理(系统CPU、内存和物理存储资源监控和调配)、库表管理(数据库权限和表结构等)、数据管理(数据迁移、备份和归档等)等。
如图1所示的DBA操作的数据迁移方法流程与如图2所示的数据迁移系统:
Q1.新数据表数据清理。为了防止脏数据影响,例如上次校验失败的数据或是某些测试数据,通过删除并重建表,或是清空表数据的方式进行操作;
Q2.老数据库表数据导出成数据文件。通过数据库自带的数据导出工具,例如mysql的export命令工具,导出生成数据文件,数据文件包含全量表数据;
Q3.新数据库导入数据文件。通过数据库自带的数据导入工具,例如mysql 的import命令工具,导入数据文件,在新数据库中新增数据记录;
Q4.统计和抽样校验新老数据一致性。统计的常见方式为统计数据表记录数量、满足某种特征的表记录数量、记录某字段的汇总数值等,比较新老表统计指标是否一致;抽样的常见方式为抽样不同特征的数据记录,比较新老表中各字段是否一致;当核对不一致时,重新执行步骤Q1到Q4,直至步骤Q4核对一致时数据迁移完成。
DBA操作的数据迁移方案具有如下缺点:
1.数据库导入导出工具的强依赖,导致不适用于所有类型数据库,或者无法支撑大数据量迁移。当老数据库不存在导出工具,或者新数据库不存在导入工具,该迁移过程无法完成;当导入导出工具对数据文件大小存在限制时,可能需要分阶段迁移数据库,甚至无法完成数据迁移。
2.新老数据一致性核对通过统计和抽样方式执行,核对效率或可行性存在问题,且核对成功无法严格保证数据一致。当表数据数量巨大时,对表进行统计耗时很长效率低下,甚至可能无法执行;核对成功时,可能存在负负得正的情况造成数据一致的误判,核对成功只能保证大概率一致。
3.核对不一致时,无法检查出差异数据和异常原因,可能是导出过程或者导入过程异常,所以需要重新导出数据文件和导入,需要反复消耗流程时间。
4.DBA人工操作,效率低下,且可能存在人为失误。当需要迁移的表数据量巨大时,每个步骤的操作都非常耗时,步骤间串行执行耗费DBA大量时间,效率低下,容易引发人为失误。
发明内容
本发明正是基于上述技术问题至少之一,提出了一种数据迁移方法及系统、电子设备、存储介质,通过利用数据仓库清洗大数据的能力,核对新老数据的差异;数据仓库使用MAP REDUCE原理,对大数据清洗加工分而治之地并行计算,计算性能不会随着数据集合的增加而线性增加。通过数据仓库清洗的方式比对数据,可以快速、精准地比较出异常数据。本发明采用递归比对生成并回流差异数据集合,每次递归只回流差异数据,提升差错补偿的效率。通过精确获取差异数据集合,只需要将差异数据进行回流,不需要像传统方式那样所有步骤全量重新执行,每次递归不断缩小差异数据,大大提升迁移效率。
为达到上述目的,本发明提供一种数据迁移方法,包括以下步骤:
数据迁移准备,老数据库通过数据仓库同步工具进行数据同步,生成第一数据版本,新数据库表数据清理,清空新数据库内数据;
数据回流,先通过数据仓库同步工具回流第一数据版本或数据补丁至新数据库,后通过数据仓库同步工具将新数据库数据同步至数据仓库,生成第二数据版本;
数据补丁生成,对比所述第一数据版本与所述第二数据版本的数据差异,若存在差异,则生成数据补丁,若不存在差异,则无数据补丁生成;
数据迁移完成判断,判断是否存在数据补丁,若存在数据补丁,则跳转至数据回流,若不存在数据补丁,则数据迁移完成。
优选的,数据回流前还包括步骤:首次回流判断,判断第二数据版本中是否存在数据或是否存在,若第二数据版本中不存在数据或不存在,则判定为首次回流,数据回流中数据仓库同步工具回流第一数据版本至新数据库,若第二数据版本存在数据或存在,则判定为非首次回流,数据回流中数据仓库同步工具回流数据补丁至新数据库。
优选的,所述数据仓库采用Map Reduce原理将数据补丁生成任务分解成若干处理逻辑相同的任务单元,将处理完成后的所述任务单元合并输出最终结果集,得到数据补丁。
进一步的,所述数据差异采用离线数据仓库通过行级逐字段比对生成。
进一步的,所述数据补丁通过数据仓库执行SQL脚本生成。
进一步的,清空新数据库内数据通过删除并新建表的方式或者直接清空表数据的方式实现。
一种数据迁移系统,包括数据仓库、对比单元、清理工具;所述数据仓库内置有同步工具、用于存储数据的两独立存储区域,所述同步工具用于同步新数据库与老数据库的数据至存储区域内;其中,两独立存储区域分别为第一数据版本与第二数据版本,老数据库通过所述同步工具将数据同步至第一数据版本,新数据库通过所述同步工具将数据同步至第二数据版本;所述清理工具用于清理新数据库并清空新数据库内数据,所述对比单元用于比对所述第一数据版本与所述第二数据版本的数据差异并生成数据补丁;所述数据补丁通过所述同步工具同步至新数据库中。
优选的,所述数据仓库采用Map Reduce原理将数据补丁生成任务分解成若干处理逻辑相同的任务单元,将处理完成后的所述任务单元合并输出最终结果集,得到数据补丁。
优选的,所述数据差异采用离线数据仓库通过行级逐字段比对生成。
优选的,所述对比单元具体为SQL脚本。
优选的,所述清理工具包括删除并新建表、直接清空表数据。
一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述一种数据迁移方法。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述一种数据迁移方法。
与现有技术相比,本发明的优势在于:
本发明提供一种数据迁移方法,包括步骤:数据迁移准备,老数据库通过数据仓库同步工具进行数据同步,生成第一数据版本,新数据库表数据清理,清空新数据库内数据;数据回流,先通过数据仓库同步工具回流第一数据版本或数据补丁至新数据库,后通过数据仓库同步工具将新数据库数据同步至数据仓库,生成第二数据版本;数据补丁生成,对比所述第一数据版本与所述第二数据版本的数据差异,若存在差异,则生成数据补丁,若不存在差异,则无数据补丁生成;数据迁移完成判断,判断是否存在数据补丁,若存在数据补丁,则跳转至数据回流,若不存在数据补丁,则数据迁移完成。本发明还涉及一种数据迁移系统、存储介质、电子设备。本发明克服导入导出工具的强依赖的缺点,采用数据仓库的数据同步回流工具,大数据同步和回流工具是独立于数据库的一种解决方案;同时克服核对效率或可行性、核对成功无法严格保证数据一致的缺点:数据同步回流工具一般都是同步读写,没有采用文件进行过渡,不会存在大数据时无法操作的问题;采用行级逐字段比对,核对成功可以保证数据完全一致。克服无法检查出差异数据和异常原因,规避操作反复消耗流程时间的缺点:本发明基于MAP REDUCE,借助离线数据仓库的清洗能力,可以精确比较出每一行字段差异,每次只需要再次补处理异常记录即可,逐步缩小异常数据集合,大大提升迁移效率。本发明克服DBA人工操作,效率低下,且可能存在人为失误的缺点,数据迁移流程可以通过数据仓库的任务树串行执行,本发明通过系统实现高效、全自动地数据迁移。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。本发明的具体实施方式由以下实施例及其附图详细给出。
附图说明
下面结合附图和本发明的实施方式作进一步详细说明。
图1为一种传统的数据迁移方法流程图;
图2为图1的数据迁移系统示意图;
图3为本发明一种数据迁移方法流程示意图;
图4为本发明实施例1的一种数据迁移方法流程图;
图5为本发明实施例2的一种数据迁移方法流程图;
图6为本发明一种数据迁移系统示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清除明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
一种数据迁移方法,如图3所示,包括以下步骤:
数据迁移准备,老数据库通过数据仓库同步工具进行数据同步,生成第一数据版本,新数据库表数据清理,清空新数据库内数据;
数据回流,先通过数据仓库同步工具回流第一数据版本或数据补丁至新数据库,后通过数据仓库同步工具将新数据库数据同步至数据仓库,生成第二数据版本;
数据补丁生成,对比所述第一数据版本与所述第二数据版本的数据差异,若存在差异,则生成数据补丁,若不存在差异,则无数据补丁生成;
数据迁移完成判断,判断是否存在数据补丁,若存在数据补丁,则跳转至数据回流,若不存在数据补丁,则数据迁移完成。
本发明利用数据仓库清洗大数据的能力,核对新老数据的差异,数据仓库使用MapReduce原理,对大数据清洗加工分而治之地并行计算,计算性能不会随着数据集合的增加而线性增加,使得数据迁移流程可以通过数据仓库的任务树串行执行;通过数据仓库清洗的方式比对数据,可以快速、精准地比较出异常数据。递归比对生成并回流差异数据集合,每次递归只回流差异数据,提升差错补偿的效率;通过精确获取差异数据集合,不需要像传统方式那样所有步骤全量重新执行,每次递归不断缩小差异数据,大大提升迁移效率。
其中,Map是一个映射函数就是对一些独立元素组成的概念上的列表(例如,一个测试成绩的列表)的每一个元素进行指定的操作(例如有人发现所有学生的成绩都被高估了一分,它可以定义一个"减一"的映射函数,用来修正这个错误。)。事实上,每个元素都是被独立操作的,而原始列表没有被更改,因为这里创建了一个新的列表来保存新的答案;这就是说,Map操作是可以高度并行的,这对高性能要求的应用以及并行计算领域的需求非常有用。Reduce即化简操作指的是对一个列表的元素进行适当的合并(例如,如果有人想知道班级的平均分该怎么做?它可以定义一个化简函数,通过让列表中的元素跟自己的相邻的元素相加的方式把列表减半,如此递归运算直到列表只剩下一个元素,然后用这个元素除以人数,就得到了平均分。)。虽然不如映射函数那么并行,但是因为化简总是有一个简单的答案,大规模的运算相对独立,所以化简函数在高度并行环境下也很有用。Map Reduce通过对数据集的大规模操作分发给网络上的每个节点实现可靠性;每个节点会周期性的返回它所完成的工作和最新的状态。如果一个节点保持沉默超过一个预设的时间间隔,主节点(类同Google File System 中的主服务器)记录下这个节点状态为死亡,并把分配给这个节点的数据发到别的节点。每个操作使用命名文件的原子操作以确保不会发生并行线程间的冲突;当文件被改名的时候,系统可能会把他们复制到任务名以外的另一个名字上去。
Map Reduce提供了以下的主要功能:
1)数据划分和计算任务调度:
系统自动将一个作业(Job)待处理的大数据划分为很多个数据块,每个数据块对应于一个计算任务(Task),并自动调度计算节点来处理相应的数据块。作业和任务调度功能主要负责分配和调度计算节点(Map节点或Reduce节点),同时负责监控这些节点的执行状态,并负责Map节点执行的同步控制。
2)数据/代码互定位:
为了减少数据通信,一个基本原则是本地化数据处理,即一个计算节点尽可能处理其本地磁盘上所分布存储的数据,这实现了代码向数据的迁移;当无法进行这种本地化数据处理时,再寻找其他可用节点并将数据从网络上传送给该节点(数据向代码迁移),但将尽可能从数据所在的本地机架上寻找可用节点以减少通信延迟。
3)系统优化:
为了减少数据通信开销,中间结果数据进入Reduce节点前会进行一定的合并处理;一个Reduce节点所处理的数据可能会来自多个Map节点,为了避免 Reduce计算阶段发生数据相关性,Map节点输出的中间结果需使用一定的策略进行适当的划分处理,保证相关性数据发送到同一个Reduce节点;此外,系统还进行一些计算性能优化处理,如对最慢的计算任务采用多备份执行、选最快完成者作为结果。
4)出错检测和恢复:
以低端商用服务器构成的大规模Map Reduce计算集群中,节点硬件(主机、磁盘、内存等)出错和软件出错是常态,因此Map Reduce需要能检测并隔离出错节点,并调度分配新的节点接管出错节点的计算任务。同时,系统还将维护数据存储的可靠性,用多备份冗余存储机制提高数据存储的可靠性,并能及时检测和恢复出错的数据。
实施例1,如图4所示,一种数据迁移方法包括以下步骤:
S11、老数据库数据同步至数据仓库;通过数据仓库同步工具,将老数据库表数据同步到数据仓库,假定该版本为数据仓库数据版本A。
S21、新数据库表数据清理;清理新数据库表数据,通过删除并新建表的方式,或者直接清空表数据的方式建立新数据库;例如MySQL中采用drop、 truncate、delete或者采用PHP脚本删除数据表后再利用create或者PHP脚本创建数据表。
S3、通过数据仓库同步工具回流数据或数据补丁至新数据库;通过数据仓库同步工具将数据仓库数据版本A(若存在数据补丁时为数据补丁)同步回流到新数据库中。其中,数据仓库内的核心组件ETL即作为同步工具,分别代表:提取extraction、转换transformation、加载load;其中,提取过程表示操作型数据库搜集指定数据,转换过程表示将数据转化为指定格式并进行数据清洗保证数据质量,加载过程表示将转换过后满足指定格式的数据加载进数据仓库。数据仓库会周期不断地从源数据库提取清洗好了的数据。
S4、通过数据仓库同步工具将新数据库数据同步至数据仓库;通过数据仓库同步工具,将新数据库表数据同步到数据仓库,假定该版本为数据仓库数据版本B。
S5、对比数据仓库新老数据数据差异生成数据补丁;比对数据仓库数据版本A和数据仓库数据版本B,生成数据补丁。数据仓库采用Map Reduce原理将数据补丁生成任务分解成若干处理逻辑相同的任务单元,将处理完成后的任务单元合并输出最终结果集,得到数据补丁;通常在数据仓库执行SQL脚本生成数据补丁,以表字段[id(主键标识),content(内容)]为例:
select id1,c1 from(
select a.id id1,a.content content1,b.id id2,b.content content2
from数据版本A a
left outer join数据版本B b
on a.id=b.id
)g
where g.id2 is null;其中,content的数据差异采用离线数据仓库通过行级逐字段比对,每次只需要再次补处理异常记录即可,逐步缩小异常数据集合,大大提升迁移效率。
S6、判断数据补丁,若存在数据补丁,则跳转至S3,若不存在数据补丁,则数据迁移完成。
实施例2,如图5所示,一种数据迁移方法包括以下步骤:
S12、新数据库表数据清理;清理新数据库表数据,通过删除并新建表的方式,或者直接清空表数据的方式建立新数据库;例如MySQL中采用drop、 truncate、delete或者采用PHP脚本删除数据表后再利用create或者PHP脚本创建数据表。
S22、老数据库数据同步至数据仓库;通过数据仓库同步工具,将老数据库表数据同步到数据仓库,生成数据仓库的第一数据版本。应当理解,新数据库表数据清理与老数据库数据同步至数据仓库之间相对隔离,不存在时间或者程序上的顺序限制关系。
S23、首次回流判断,判断第二数据版本中是否存在数据或是否存在,若第二数据版本中不存在数据或不存在,则判定为首次回流,跳转至S31,若第二数据版本存在数据或存在,则判定为非首次回流,跳转至S32。首次回流判断相当于先验,通过校验第二数据版本数据来判定回流的类型,当然,在首次回流中,也可定义第二数据版本为空,第一数据版本与第二数据版本的差异为整个,第一数据版本,即数据补丁为整个第一数据版本。
S31、通过数据仓库同步工具回流第一数据版本至新数据库;通过数据仓库同步工具将第一数据版本同步回流到新数据库中。
S32、通过数据仓库同步工具回流数据补丁至新数据库;通过数据仓库同步工具将数据补丁同步回流到新数据库中。
其中,数据仓库内的核心组件ETL即作为同步工具,分别代表:提取 extraction、转换transformation、加载load;其中,提取过程表示操作型数据库搜集指定数据,转换过程表示将数据转化为指定格式并进行数据清洗保证数据质量,加载过程表示将转换过后满足指定格式的数据加载进数据仓库。数据仓库会周期不断地从源数据库提取清洗好了的数据。
S4、通过数据仓库同步工具将新数据库数据同步至数据仓库;通过数据仓库同步工具,将新数据库表数据同步到数据仓库,生成数据仓库的第二数据版本。
S5、对比数据仓库新老数据数据差异生成数据补丁;比对数据仓库的第一数据版本和第二数据版本,生成数据补丁。数据仓库采用Map Reduce原理将数据补丁生成任务分解成若干处理逻辑相同的任务单元,将处理完成后的任务单元合并输出最终结果集,得到数据补丁;通常在数据仓库执行SQL脚本生成数据补丁,以表字段[id(主键标识),content(内容)]为例:
select id1,c1 from(
select a.id id1,a.content content1,b.id id2,b.content content2
from第一数据版本A a
left outer join第二数据版本B b
on a.id=b.id
)g
where g.id2 is null;其中,content的数据差异采用离线数据仓库通过行级逐字段比对,每次只需要再次补处理异常记录即可,逐步缩小异常数据集合,大大提升迁移效率。
S6、判断数据补丁,若存在数据补丁,则跳转至S23,若不存在数据补丁,则数据迁移完成。
一种数据迁移系统,如图6所示,包括数据仓库、对比单元、清理工具;所述数据仓库内置有同步工具、用于存储数据的两独立存储区域,所述同步工具用于同步新数据库与老数据库的数据至存储区域内;其中,两独立存储区域分别为第一数据版本与第二数据版本,老数据库通过所述同步工具将数据同步至第一数据版本,新数据库通过所述同步工具将数据同步至第二数据版本;所述清理工具用于清理新数据库并清空新数据库内数据,所述对比单元用于比对所述第一数据版本与所述第二数据版本的数据差异并生成数据补丁;所述数据补丁通过所述同步工具同步至新数据库中。
优选的,所述数据仓库采用Map Reduce原理将数据补丁生成任务分解成若干处理逻辑相同的任务单元,将处理完成后的所述任务单元合并输出最终结果集,得到数据补丁。
优选的,所述数据差异采用离线数据仓库通过行级逐字段比对生成。
优选的,所述对比单元具体为SQL脚本。
优选的,所述清理工具包括删除并新建表、直接清空表数据。
一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述一种数据迁移方法。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述一种数据迁移方法。
本发明提供一种数据迁移方法,包括步骤:数据迁移准备,老数据库通过数据仓库同步工具进行数据同步,生成第一数据版本,新数据库表数据清理,清空新数据库内数据;数据回流,先通过数据仓库同步工具回流第一数据版本或数据补丁至新数据库,后通过数据仓库同步工具将新数据库数据同步至数据仓库,生成第二数据版本;数据补丁生成,对比所述第一数据版本与所述第二数据版本的数据差异,若存在差异,则生成数据补丁,若不存在差异,则无数据补丁生成;数据迁移完成判断,判断是否存在数据补丁,若存在数据补丁,则跳转至数据回流,若不存在数据补丁,则数据迁移完成。本发明还涉及一种数据迁移系统、存储介质、电子设备。本发明克服导入导出工具的强依赖的缺点,采用数据仓库的数据同步回流工具,大数据同步和回流工具是独立于数据库的一种解决方案;同时克服核对效率或可行性、核对成功无法严格保证数据一致的缺点:数据同步回流工具一般都是同步读写,没有采用文件进行过渡,不会存在大数据时无法操作的问题;采用行级逐字段比对,核对成功可以保证数据完全一致。克服无法检查出差异数据和异常原因,规避操作反复消耗流程时间的缺点,本发明基于MAP REDUCE,借助离线数据仓库的清洗能力,可以精确比较出每一行字段差异,每次只需要再次补处理异常记录即可,逐步缩小异常数据集合,大大提升迁移效率。克服DBA人工操作,效率低下,且可能存在人为失误的缺点,数据迁移流程可以通过数据仓库的任务树串行执行,本发明通过系统实现高效、全自动地数据迁移。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (13)

1.一种数据迁移方法,其特征在于包括以下步骤:
数据迁移准备,老数据库通过数据仓库同步工具进行数据同步,生成第一数据版本,新数据库表数据清理,清空新数据库内数据;
数据回流,先通过数据仓库同步工具回流第一数据版本或数据补丁至新数据库,后通过数据仓库同步工具将新数据库数据同步至数据仓库,生成第二数据版本;
数据补丁生成,对比所述第一数据版本与所述第二数据版本的数据差异,若存在差异,则生成数据补丁,若不存在差异,则无数据补丁生成;
数据迁移完成判断,判断是否存在数据补丁,若存在数据补丁,则跳转至数据回流,若不存在数据补丁,则数据迁移完成。
2.如权利要求1所述的一种数据迁移方法,其特征在于,数据回流前还包括步骤:首次回流判断,判断第二数据版本中是否存在数据或是否存在,若第二数据版本中不存在数据或不存在,则判定为首次回流,数据回流中数据仓库同步工具回流第一数据版本至新数据库,若第二数据版本存在数据或存在,则判定为非首次回流,数据回流中数据仓库同步工具回流数据补丁至新数据库。
3.如权利要求1所述的一种数据迁移方法,其特征在于:所述数据仓库采用Map Reduce原理将数据补丁生成任务分解成若干处理逻辑相同的任务单元,将处理完成后的所述任务单元合并输出最终结果集,得到数据补丁。
4.如权利要求3所述的一种数据迁移方法,其特征在于,所述数据差异采用离线数据仓库通过行级逐字段比对生成。
5.如权利要求3所述的一种数据迁移方法,其特征在于,所述数据补丁通过数据仓库执行SQL脚本生成。
6.如权利要求3所述的一种数据迁移方法,其特征在于,清空新数据库内数据通过删除并新建表的方式或者直接清空表数据的方式实现。
7.一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-6任一项方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-6任一项方法的步骤。
9.一种数据迁移系统,其特征在于:包括数据仓库、对比单元、清理工具;所述数据仓库内置有同步工具、用于存储数据的两独立存储区域,所述同步工具用于同步新数据库与老数据库的数据至存储区域内;其中,两独立存储区域分别为第一数据版本与第二数据版本,老数据库通过所述同步工具将数据同步至第一数据版本,新数据库通过所述同步工具将数据同步至第二数据版本;所述清理工具用于清理新数据库并清空新数据库内数据,所述对比单元用于比对所述第一数据版本与所述第二数据版本的数据差异并生成数据补丁;所述数据补丁通过所述同步工具同步至新数据库中。
10.如权利要求9所述的一种数据迁移系统,其特征在于:所述数据仓库采用MapReduce原理将数据补丁生成任务分解成若干处理逻辑相同的任务单元,将处理完成后的所述任务单元合并输出最终结果集,得到数据补丁。
11.如权利要求10所述的一种数据迁移系统,其特征在于,所述数据差异采用离线数据仓库通过行级逐字段比对生成。
12.如权利要求10所述的一种数据迁移系统 ,其特征在于,所述对比单元具体为SQL脚本。
13.如权利要求9-12任一项所述的一种数据迁移系统,其特征在于,所述清理工具包括删除并新建表、直接清空表数据。
CN201810749595.9A 2018-07-10 2018-07-10 一种数据迁移方法及系统、存储介质、电子设备 Active CN109063005B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810749595.9A CN109063005B (zh) 2018-07-10 2018-07-10 一种数据迁移方法及系统、存储介质、电子设备
CN202110778574.1A CN113553313B (zh) 2018-07-10 2018-07-10 一种数据迁移方法及系统、存储介质、电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810749595.9A CN109063005B (zh) 2018-07-10 2018-07-10 一种数据迁移方法及系统、存储介质、电子设备

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202110778574.1A Division CN113553313B (zh) 2018-07-10 2018-07-10 一种数据迁移方法及系统、存储介质、电子设备

Publications (2)

Publication Number Publication Date
CN109063005A CN109063005A (zh) 2018-12-21
CN109063005B true CN109063005B (zh) 2021-05-25

Family

ID=64819317

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201810749595.9A Active CN109063005B (zh) 2018-07-10 2018-07-10 一种数据迁移方法及系统、存储介质、电子设备
CN202110778574.1A Active CN113553313B (zh) 2018-07-10 2018-07-10 一种数据迁移方法及系统、存储介质、电子设备

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202110778574.1A Active CN113553313B (zh) 2018-07-10 2018-07-10 一种数据迁移方法及系统、存储介质、电子设备

Country Status (1)

Country Link
CN (2) CN109063005B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113553313A (zh) * 2018-07-10 2021-10-26 创新先进技术有限公司 一种数据迁移方法及系统、存储介质、电子设备

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111367886B (zh) * 2020-03-02 2024-01-19 中国邮政储蓄银行股份有限公司 数据库中数据迁移的方法及装置
CN112422635B (zh) * 2020-10-27 2023-05-23 中国银联股份有限公司 数据核对方法、装置、设备、系统及存储介质
CN112905602B (zh) * 2021-03-26 2022-09-30 掌阅科技股份有限公司 数据比对方法、计算设备及计算机存储介质
CN113157668B (zh) * 2021-04-23 2022-06-10 上海数禾信息科技有限公司 不停机数据迁移方法及装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104899333A (zh) * 2015-06-24 2015-09-09 浪潮(北京)电子信息产业有限公司 一种Oracle数据库跨平台迁移方法和系统
CN104915341A (zh) * 2014-03-10 2015-09-16 中国科学院沈阳自动化研究所 可视化多数据库etl集成方法和系统
CN105389312A (zh) * 2014-09-04 2016-03-09 上海福网信息科技有限公司 大数据迁移方法及工具
CN106570086A (zh) * 2016-10-19 2017-04-19 上海携程商务有限公司 数据迁移系统及数据迁移方法
CN107122355A (zh) * 2016-02-24 2017-09-01 阿里巴巴集团控股有限公司 数据迁移系统和方法
CN107315814A (zh) * 2017-06-29 2017-11-03 郑州云海信息技术有限公司 一种kdb数据库数据迁移后数据一致性验证方法及系统
CN107656951A (zh) * 2016-12-23 2018-02-02 航天星图科技(北京)有限公司 一种同步异构数据库系统中实时数据的方法
CN107958082A (zh) * 2017-12-15 2018-04-24 杭州有赞科技有限公司 数据库到数据仓库的离线增量同步方法及系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1250669A4 (en) * 1999-11-03 2006-10-25 Accenture Llp DATA STORAGE COMPUTER SYSTEM
CN100487700C (zh) * 2006-07-11 2009-05-13 阿里巴巴集团控股有限公司 数据仓库中的数据处理方法及系统
CN101419616A (zh) * 2008-12-10 2009-04-29 阿里巴巴集团控股有限公司 一种数据同步方法及装置
US9519695B2 (en) * 2013-04-16 2016-12-13 Cognizant Technology Solutions India Pvt. Ltd. System and method for automating data warehousing processes
US9779126B2 (en) * 2014-06-15 2017-10-03 Sap Se Hybrid database upgrade migration
US10089377B2 (en) * 2014-09-26 2018-10-02 Oracle International Corporation System and method for data transfer from JDBC to a data warehouse layer in a massively parallel or distributed database environment
US10331656B2 (en) * 2015-09-25 2019-06-25 Microsoft Technology Licensing, Llc Data migration validation
US10684999B2 (en) * 2016-10-05 2020-06-16 Sap Se Multi-procedure support in data migration
CN109063005B (zh) * 2018-07-10 2021-05-25 创新先进技术有限公司 一种数据迁移方法及系统、存储介质、电子设备

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104915341A (zh) * 2014-03-10 2015-09-16 中国科学院沈阳自动化研究所 可视化多数据库etl集成方法和系统
CN105389312A (zh) * 2014-09-04 2016-03-09 上海福网信息科技有限公司 大数据迁移方法及工具
CN104899333A (zh) * 2015-06-24 2015-09-09 浪潮(北京)电子信息产业有限公司 一种Oracle数据库跨平台迁移方法和系统
CN107122355A (zh) * 2016-02-24 2017-09-01 阿里巴巴集团控股有限公司 数据迁移系统和方法
CN106570086A (zh) * 2016-10-19 2017-04-19 上海携程商务有限公司 数据迁移系统及数据迁移方法
CN107656951A (zh) * 2016-12-23 2018-02-02 航天星图科技(北京)有限公司 一种同步异构数据库系统中实时数据的方法
CN107315814A (zh) * 2017-06-29 2017-11-03 郑州云海信息技术有限公司 一种kdb数据库数据迁移后数据一致性验证方法及系统
CN107958082A (zh) * 2017-12-15 2018-04-24 杭州有赞科技有限公司 数据库到数据仓库的离线增量同步方法及系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Generalized Big Data Test Framework for ETL Migration;Kunal Sharma;《2016 International Conference on Computing, Analytics and Security Trends (CAST)》;20170501;第172-176页 *
基于Web_Service多源异构系统增量同步的实现;庞秋奔;《计算机应用与软件》;20180531;第172-176页 *
基于数据仓库技术的税收分析系统的设计与实现;吴长燕;《中国优秀硕士学位论文全文数据库(信息科技辑)》;20031001;第7-50页 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113553313A (zh) * 2018-07-10 2021-10-26 创新先进技术有限公司 一种数据迁移方法及系统、存储介质、电子设备
CN113553313B (zh) * 2018-07-10 2023-12-05 创新先进技术有限公司 一种数据迁移方法及系统、存储介质、电子设备

Also Published As

Publication number Publication date
CN113553313B (zh) 2023-12-05
CN113553313A (zh) 2021-10-26
CN109063005A (zh) 2018-12-21

Similar Documents

Publication Publication Date Title
CN109063005B (zh) 一种数据迁移方法及系统、存储介质、电子设备
CN107391628B (zh) 数据同步方法及装置
CN108694195B (zh) 一种分布式数据仓库的管理方法及系统
CN104252481A (zh) 主从数据库一致性的动态校验方法和装置
CN109656911A (zh) 分布式并行处理数据库系统及其数据处理方法
CN105608086A (zh) 分布式数据库系统的事务处理方法及装置
US20130227194A1 (en) Active non-volatile memory post-processing
CN104036029B (zh) 大数据一致性对比方法和系统
CN108509462B (zh) 一种同步活动事务表的方法及装置
CN109643310B (zh) 用于数据库中数据重分布的系统和方法
CN107545015B (zh) 一种查询故障的处理方法及处理装置
JP2015504218A (ja) モジュール式ブロックおよび関連付けられたログファイルを伴う分散型データベース
CN110019469B (zh) 分布式数据库数据处理方法、装置、存储介质及电子装置
US20170169090A1 (en) Promoted properties in relational structured data
US11226985B2 (en) Replication of structured data records among partitioned data storage spaces
CN107665219B (zh) 一种日志管理方法及装置
CN112256656B (zh) 事务回滚方法及装置、数据库、系统、计算机存储介质
CN108073696B (zh) 基于分布式内存数据库的gis应用方法
US10922307B2 (en) Automated transaction engine
CN111930716A (zh) 一种数据库扩容方法、装置及系统
CN111917834A (zh) 一种数据同步方法、装置、存储介质及计算机设备
CN114942965B (zh) 一种数据库主备同步操作的加速方法和系统
CN103678051A (zh) 一种集群数据处理系统中的在线故障容错方法
CN107992354B (zh) 用于降低内存负载的方法以及装置
CN112000649A (zh) 一种基于map reduce的增量数据同步的方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20200930

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200930

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant