CN116521652B - 一种基于DataX实现分布式异构数据库迁移方法、系统和介质 - Google Patents

一种基于DataX实现分布式异构数据库迁移方法、系统和介质 Download PDF

Info

Publication number
CN116521652B
CN116521652B CN202310801510.8A CN202310801510A CN116521652B CN 116521652 B CN116521652 B CN 116521652B CN 202310801510 A CN202310801510 A CN 202310801510A CN 116521652 B CN116521652 B CN 116521652B
Authority
CN
China
Prior art keywords
migration
data
information
preset
obtaining
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
CN202310801510.8A
Other languages
English (en)
Other versions
CN116521652A (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.)
Southern Power Grid Digital Grid Research Institute Co Ltd
Original Assignee
Southern Power Grid Digital Grid Research Institute 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 Southern Power Grid Digital Grid Research Institute Co Ltd filed Critical Southern Power Grid Digital Grid Research Institute Co Ltd
Priority to CN202310801510.8A priority Critical patent/CN116521652B/zh
Publication of CN116521652A publication Critical patent/CN116521652A/zh
Application granted granted Critical
Publication of CN116521652B publication Critical patent/CN116521652B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/214Database migration support
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开的一种基于DataX实现分布式异构数据库迁移方法、系统和介质,其中方法包括:获取迁移的数据源库信息;根据迁移的数据源库信息,得到迁移表信息;判断预设目标数据库是否存在迁移表的对应数据表,若否,则得到预设目标数据库的数据表不存在信息,并根据预设要求生成对应数据表;若是,则得到预设目标数据库的数据表已存在信息;根据迁移表信息,得到迁移表的json文件;根据迁移表的json文件,将迁移的数据源库中的数据迁移至预设目标数据库并进行存储。本发明通过配置工具进行异构数据库迁移,使数据迁移脱离碎片化、过度专业化的困境,易于让普通技术人员熟练上手进行异构数据库迁移。

Description

一种基于DataX实现分布式异构数据库迁移方法、系统和介质
技术领域
本发明涉及数据处理以及异构数据传输领域,更具体的,涉及一种基于DataX实现分布式异构数据库迁移方法、系统和介质。
背景技术
集团大型数字化应用系统场景多样,数据库分散且复杂;不同业务存在异构数据库交互、业务数据按需拆分等需求。在此基础上,既要满足集团业务管控要求,又要满足本地区个性化需求,需针对不同项目设计异构数据库之间的迁移;而针对各项目输出的迁移方案过于繁琐,无法利旧,无法形成统一迁移标准,存在运维管理困难和灵活性差等问题,比如:各项目源数据库与目标数据库数据类型不相同;各项目数据类型转换规则不一致,数据结构需人工进行调整;数据映射规则不一致,需人工维护映射规则。
因此,现有技术存在缺陷,亟待改进。
发明内容
鉴于上述问题,本发明的目的是提供一种DataX实现分布式异构数据库迁移方法、系统和介质,能够更加方便的对异构数据库进行迁移。
本发明第一方面提供了一种DataX实现分布式异构数据库迁移方法,包括:
获取迁移的数据源库信息;
根据迁移的数据源库信息,得到迁移表信息;
判断预设目标数据库是否存在迁移表的对应数据表,若否,则得到预设目标数据库的数据表不存在信息,并根据预设要求生成对应数据表;若是,则得到预设目标数据库的数据表已存在信息;
根据迁移表信息,得到迁移表的json文件;
根据迁移表的json文件,将迁移的数据源库中的数据迁移至预设目标数据库并进行存储。
本方案中,所述将迁移的数据源库中的数据迁移至预设目标数据库并进行存储之后,包括:
获取迁移完成的数据名称信息;
判断所述迁移完成的数据名称是否和数据表中的数据名称一致,若是,则将数据表中的数据名称进行标记;若否,则根据迁移完成的数据名称对数据表进行修订,并触发提示信息;
将所述提示信息发送至用户端以进行提示。
本方案中,当迁移的数据源库中的数据完成迁移之后,还包括:
判断数据表中是否存在未标记的数据名称,若是,则将所述未标记的数据名称发送至用户端以进行提示;若否,将数据表和迁移表进行对比分析;
判断所述数据表和迁移表中的数据名称是否一致,若是,则得到数据迁移完成信息;若否,则得到不一致的数据名称信息;
将所述数据迁移完成信息或不一致的数据名称信息发送至用户端以进行显示。
本方案中,当得到不一致的数据名称信息之后,还包括:
获取迁移日志信息;
根据迁移日志信息,得到迁移表和数据表中出现不一致的数据名称的原因信息;
将所述迁移表和数据表中出现不一致的数据名称的原因信息和预设调整方案进行匹配,得到匹配值;
判断所述匹配值是否大于预设匹配阈值,若是,提取匹配值对应的预设调整方案;
将所述预设调整方案发送至用户端以进行显示。
本方案中,所述根据迁移表信息,得到迁移表的json文件的步骤,具体包括:
基于预设用户端的要求,将迁移表的id字段映射成gid字段;
根据预设用户端的要求或gid字段,得到字段类型;
将迁移表配置传输并发度,得到迁移表在数据传输时的并发度控制;
根据字段类型、并发度控制和迁移表,得到迁移表的json文件。
本方案中,还包括:
将迁移表信息按照不同数据源库进行分类,得到同一数据源库的迁移表信息;
将同一数据源库的迁移表按照不同字段类型进行分类,得到同一数据源的不同类型的迁移表信息;
将所述迁移表信息按照分类发送至预设任务管理端,并在预设任务管理端显示各迁移表的迁移信息。
本发明第二方面提供了一种基于DataX实现分布式异构数据库迁移系统,包括存储器和处理器,所述存储器中存储有一种基于DataX实现分布式异构数据库迁移方法程序,所述一种基于DataX实现分布式异构数据库迁移方法程序被所述处理器执行时实现如下步骤:
获取迁移的数据源库信息;
根据迁移的数据源库信息,得到迁移表信息;
判断预设目标数据库是否存在迁移表的对应数据表,若否,则得到预设目标数据库的数据表不存在信息,并根据预设要求生成对应数据表;若是,则得到预设目标数据库的数据表已存在信息;
根据迁移表信息,得到迁移表的json文件;
根据迁移表的json文件,将迁移的数据源库中的数据迁移至预设目标数据库并进行存储。
本方案中,所述将迁移的数据源库中的数据迁移至预设目标数据库并进行存储之后,包括:
获取迁移完成的数据名称信息;
判断所述迁移完成的数据名称是否和数据表中的数据名称一致,若是,则将数据表中的数据名称进行标记;若否,则根据迁移完成的数据名称对数据表进行修订,并触发提示信息;
将所述提示信息发送至用户端以进行提示。
本方案中,当迁移的数据源库中的数据完成迁移之后,还包括:
判断数据表中是否存在未标记的数据名称,若是,则将所述未标记的数据名称发送至用户端以进行提示;若否,将数据表和迁移表进行对比分析;
判断所述数据表和迁移表中的数据名称是否一致,若是,则得到数据迁移完成信息;若否,则得到不一致的数据名称信息;
将所述数据迁移完成信息或不一致的数据名称信息发送至用户端以进行显示。
本方案中,当得到不一致的数据名称信息之后,还包括:
获取迁移日志信息;
根据迁移日志信息,得到迁移表和数据表中出现不一致的数据名称的原因信息;
将所述迁移表和数据表中出现不一致的数据名称的原因信息和预设调整方案进行匹配,得到匹配值;
判断所述匹配值是否大于预设匹配阈值,若是,提取匹配值对应的预设调整方案;
将所述预设调整方案发送至用户端以进行显示。
本方案中,所述根据迁移表信息,得到迁移表的json文件的步骤,具体包括:
基于预设用户端的要求,将迁移表的id字段映射成gid字段;
根据预设用户端的要求或gid字段,得到字段类型;
将迁移表配置传输并发度,得到迁移表在数据传输时的并发度控制;
根据字段类型、并发度控制和迁移表,得到迁移表的json文件。
本方案中,还包括:
将迁移表信息按照不同数据源库进行分类,得到同一数据源库的迁移表信息;
将同一数据源库的迁移表按照不同字段类型进行分类,得到同一数据源的不同类型的迁移表信息;
将所述迁移表信息按照分类发送至预设任务管理端,并在预设任务管理端显示各迁移表的迁移信息。
本发明第三方面提供了一种计算机介质,所述计算机介质中存储有一种基于DataX实现分布式异构数据库迁移方法程序,所述一种基于DataX实现分布式异构数据库迁移方法程序被处理器执行时,实现如上述任一项所述的一种基于DataX实现分布式异构数据库迁移方法的步骤。
本发明公开的一种基于DataX实现分布式异构数据库迁移方法、系统和介质,通过配置工具进行异构数据库迁移,达成数据迁移透明化、可配置化、个性化、标准化的目的;使数据迁移脱离碎片化、过度专业化的困境,易于让普通技术人员熟练上手进行异构数据库迁移。
附图说明
图1示出了本发明一种基于DataX实现分布式异构数据库迁移方法的流程图;
图2示出了本发明一种基于DataX实现分布式异构数据库迁移系统的框图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
图1示出了本发明一种基于DataX实现分布式异构数据库迁移方法的流程图。
如图1所示,本发明公开了一种基于DataX实现分布式异构数据库迁移方法,包括:
S102,获取迁移的数据源库信息;
S104,根据迁移的数据源库信息,得到迁移表信息;
S106,判断预设目标数据库是否存在迁移表的对应数据表,若否,则得到预设目标数据库的数据表不存在信息,并根据预设要求生成对应数据表;若是,则得到预设目标数据库的数据表已存在信息;
S108,根据迁移表信息,得到迁移表的json文件;
S110,根据迁移表的json文件,将迁移的数据源库中的数据迁移至预设目标数据库并进行存储。
需要说明的是,根据数据源库信息确定数据源地址,同时可在数据源管理配置进行数据源地址的新增与修改,对应账号与密码密文存储,以保证数据安全性。根据迁移的数据源库得到需迁移的数据,所述需迁移的数据同步的服务节点为多节点,支持分布式部署模式,由管理节点自动分发同步任务给数据同步节点,所述分布式部署模式包括单管理节点和多数据同步节点,每个数据同步节点仅对应一个数据库,每个数据库支持多个数据同步节点并发迁移。迁移表可以是同时存在多个数量,每个迁移表中存在有各种数据名称,记录需要迁移的数据名称,迁移表或迁移表中的数据名称可以通过表名模糊、全匹配搜索等单一方式或多种方式结合获取,选中迁移表后,自动查询预设目标数据库是否存在对应数据表,若不存在,弹出对应数据表不存在信息,且自动根据预设目标数据库类型进行DDL语句的预生成,用户根据项目的实际需求进行手工修订或直接在目标数据库执行,生成对应数据表。所述预设要求为用户根据项目的实际需求;所述DDL语句为数据库模式定义语言。所述预设数据迁移的方式包括全量传输和增量传输中的一种,具体由用户根据实际需求进行选取。
根据本发明实施例,所述将迁移的数据源库中的数据迁移至预设目标数据库并进行存储之后,包括:
获取迁移完成的数据名称信息;
判断所述迁移完成的数据名称是否和数据表中的数据名称一致,若是,则将数据表中的数据名称进行标记;若否,则根据迁移完成的数据名称对数据表进行修订,并触发提示信息;
将所述提示信息发送至用户端以进行提示。
需要说明的是,迁移表和数据表中的数据名称应该一致,其中若迁移完成的数据名称在数据表中不存在,说明对应迁移完成的数据出现错误或者数据表中的数据名称出现遗漏现象,因此触发提示信息。若迁移完成的数据名称在数据表中存在,则将数据表中的数据名称进行标记,比如打勾等,显示对应数据表中对应数据名称已完成迁移。
根据本发明实施例,当迁移的数据源库中的数据完成迁移之后,还包括:
判断数据表中是否存在未标记的数据名称,若是,则将所述未标记的数据名称发送至用户端以进行提示;若否,将数据表和迁移表进行对比分析;
判断所述数据表和迁移表中的数据名称是否一致,若是,则得到数据迁移完成信息;若否,则得到不一致的数据名称信息;
将所述数据迁移完成信息或不一致的数据名称信息发送至用户端以进行显示。
需要说明的是,当迁移的数据源库中的数据完成迁移之后,对数据表中的数据名称进行检测,检测是否所有的数据名称是否都具有标记,若还有未标记的数据名称,说明还存在遗漏的数据还未进行数据迁移,若没有未标记的数据名称,则将数据表和迁移表进行核对,其中,迁移表和数据表中的数据名称是相同的,说明本次数据迁移完成,若迁移表和数据表中的数据名称是不相同的,说明还存在数据未迁移完成或者迁移完成在数据表或迁移表中未进行记录。
根据本发明实施例,当得到不一致的数据名称信息之后,还包括:
获取迁移日志信息;
根据迁移日志信息,得到迁移表和数据表中出现不一致的数据名称的原因信息;
将所述迁移表和数据表中出现不一致的数据名称的原因信息和预设调整方案进行匹配,得到匹配值;
判断所述匹配值是否大于预设匹配阈值,若是,提取匹配值对应的预设调整方案;
将所述预设调整方案发送至用户端以进行显示。
需要说明的是,当迁移表出现迁移错误、中断等非正常情况时,将所述非正常情况通过迁移日志进行显示;所述预设调整方案库中存储有各种迁移错误的应对方法,其中当迁移表匹配得到多个调整方法时,将迁移错误的调整方法按照预设的操作简易程度进行排序并一词发送给用户端进行显示,其中操作越简单的调整方法排序越靠前。
根据本发明实施例,所述根据迁移表信息,得到迁移表的json文件的步骤,具体包括:
基于预设用户端的要求,将迁移表的id字段映射成gid字段;
根据预设用户端的要求或gid字段,得到字段类型;
将迁移表配置传输并发度,得到迁移表在数据传输时的并发度控制;
根据字段类型、并发度控制和迁移表,得到迁移表的json文件。
需要说明的是,所述预设用户端的要求为用户个性化要求,通过用户个性化要求进行字段映射的配置,如数据源库id字段需映射成gid字段,则可在字段映射选择id字段并且手工维护成gid;所述gid表示为groupid,用来表示字段的唯一标识符。所述迁移表分两层进行并发度控制,由数据同步节点并发度和源、目标数据库并发度组成,其中数据同步节点并发度为可指定有多个数据同步节点发起迁移任务,避免数据同步节点资源不够;源、目标数据库并发度为根据源、目标数据库性能及资源情况指定多并发读取、写入数据。
根据本发明实施例,还包括:
将迁移表信息按照不同数据源库进行分类,得到同一数据源库的迁移表信息;
将同一数据源库的迁移表按照不同字段类型进行分类,得到同一数据源的不同类型的迁移表信息;
将所述迁移表信息按照分类发送至预设任务管理端,并在预设任务管理端显示各迁移表的迁移信息。
需要说明的是,将迁移表信息按照不同数据源进行分类,比如Oracle、mysql、巨衫、达梦等国产数据库,得到同一数据源库的迁移表。将迁移表的迁移信息发送在任务管理中的列表进行显示,任务管理端可以对迁移表的迁移信息进行开启、停止、编辑、删除、执行、查看等操作。
根据本发明实施例,所述根据迁移表的json文件对数据进行迁移之前,包括:
获取目标数据库的可用内存值和迁移表的内存值;
判断迁移表的内存值是否小于或等于目标数据库的可用内存值,若是,则说明目标数据库可以容纳迁移表的内存值;否则触发内存不足信息。
需要说明的是,在迁移表进行迁移之前,对迁移表的数据内存大小进行计算,确定迁移表的内存值;对目标数据库的可用内存进行计算,确定目标数据库的可用内存值。其中当迁移表的内存值小于或等于目标数据库的可用内存值时,说明对应迁移表是可以进行迁移任务的;否则说明目标数据库的可用内存不足,数据迁移操作无效。
根据本发明实施例,所述根据迁移表的json文件对数据进行迁移之前,还包括:
获取迁移表的迁移计划信息;
提取迁移表的迁移计划中设定的时间或排序信息;
将迁移表按照设定的时间或排序进行数据迁移。
需要说明的是,在迁移表进行迁移之前,需要制定开始迁移的计划,比如确定开始迁移的时间:立即开始迁移、特定时间开始迁移、周期性调度迁移等,比如确定开始迁移的顺序:按照选择的时间选后顺序、内存大小的先后顺序等。
根据本发明实施例,所述根据迁移表的json文件对数据进行迁移之后,还包括:
获取数据源库和目标数据库的表数量信息;
判断数据源库和目标数据库的迁移表数量是否一致,若是,则表示数据迁移成功;若否,则触发数据迁移失败提示并显示未迁移成功的数据以及对应数据所在的数据源库。
需要说明的是,当迁移任务完成之后,获取数据源库和目标数据库的表数量,其中当数据源库和目标数据库的迁移表数量是一致时,说明迁移完成,否则说明出现迁移中断或错误等情况。
根据本发明实施例,还包括:
获取用户端设置的迁移任务信息;
将用户端设置的迁移任务发送至预设系统管理端以进行显示。
需要说明的是,所述用户端为普通用户,普通用户仅可查看、新增与修改自身用户常见的数据源地址信息、同步任务等功能;所述预设系统管理端为系统管理员,系统管理员拥有所有权限,可查看、新增与修改全局参数;通过不同账号权限对迁移任务的准确性进一步完善。
根据本发明实施例,还包括:将迁移表的json文件发送至预设配置信息表以进行保存。
需要说明的是,当迁移表的迁移地址错误或者需要重新迁回原来地址时,根据对应迁移表的json文件生产对应迁移表的反向json文件,通过对应迁移表的反向json文件,将对应迁移表返回原来的数据源库。
根据本发明实施例,还包括:
基于预设时间周期,获取迁移表的第一数量值;
获取一次性迁移成功的迁移表的第二数量值;
将第二数量值除以第一数量值,得到迁移表的一次性迁移成功率;
判断所述迁移表的一次性迁移成功率是否小于预设成功率阈值,若是,提取迁移日志信息;
根据迁移日志信息对数据迁移的步骤进行调整。
需要说明的是,所述迁移表的一次性迁移成功率为在预设时间周期内用户端的第二数量值除以第一数量值的值,所述迁移日志信息中包括数据迁移出现错误的位置、不匹配的格式等信息,所述预设成功率阈值由本领域技术人员进行设置。
图2示出了本发明一种基于DataX实现分布式异构数据库迁移系统的框图。
如图2所示,本发明第二方面提供了一种基于DataX实现分布式异构数据库迁移系统2,包括存储器21和处理器22,所述存储器中存储有一种基于DataX实现分布式异构数据库迁移方法程序,所述一种基于DataX实现分布式异构数据库迁移方法程序被所述处理器执行时实现如下步骤:
获取迁移的数据源库信息;
根据迁移的数据源库信息,得到迁移表信息;
判断预设目标数据库是否存在迁移表的对应数据表,若否,则得到预设目标数据库的数据表不存在信息,并根据预设要求生成对应数据表;若是,则得到预设目标数据库的数据表已存在信息;
根据迁移表信息,得到迁移表的json文件;
根据迁移表的json文件,将迁移的数据源库中的数据迁移至预设目标数据库并进行存储。
需要说明的是,根据数据源库信息确定数据源地址,同时可在数据源管理配置进行数据源地址的新增与修改,对应账号与密码密文存储,以保证数据安全性。根据迁移的数据源库得到需迁移的数据,所述需迁移的数据同步的服务节点为多节点,支持分布式部署模式,由管理节点自动分发同步任务给数据同步节点,所述分布式部署模式包括单管理节点和多数据同步节点,每个数据同步节点仅对应一个数据库,每个数据库支持多个数据同步节点并发迁移。迁移表可以是同时存在多个数量,每个迁移表中存在有各种数据名称,记录需要迁移的数据名称,迁移表或迁移表中的数据名称可以通过表名模糊、全匹配搜索等单一方式或多种方式结合获取,选中迁移表后,自动查询预设目标数据库是否存在对应数据表,若不存在,弹出对应数据表不存在信息,且自动根据预设目标数据库类型进行DDL语句的预生成,用户根据项目的实际需求进行手工修订或直接在目标数据库执行,生成对应数据表。所述预设要求为用户根据项目的实际需求;所述DDL语句为数据库模式定义语言。所述预设数据迁移的方式包括全量传输和增量传输中的一种,具体由用户根据实际需求进行选取。
根据本发明实施例,所述将迁移的数据源库中的数据迁移至预设目标数据库并进行存储之后,包括:
获取迁移完成的数据名称信息;
判断所述迁移完成的数据名称是否和数据表中的数据名称一致,若是,则将数据表中的数据名称进行标记;若否,则根据迁移完成的数据名称对数据表进行修订,并触发提示信息;
将所述提示信息发送至用户端以进行提示。
需要说明的是,迁移表和数据表中的数据名称应该一致,其中若迁移完成的数据名称在数据表中不存在,说明对应迁移完成的数据出现错误或者数据表中的数据名称出现遗漏现象,因此触发提示信息。若迁移完成的数据名称在数据表中存在,则将数据表中的数据名称进行标记,比如打勾等,显示对应数据表中对应数据名称已完成迁移。
根据本发明实施例,当迁移的数据源库中的数据完成迁移之后,还包括:
判断数据表中是否存在未标记的数据名称,若是,则将所述未标记的数据名称发送至用户端以进行提示;若否,将数据表和迁移表进行对比分析;
判断所述数据表和迁移表中的数据名称是否一致,若是,则得到数据迁移完成信息;若否,则得到不一致的数据名称信息;
将所述数据迁移完成信息或不一致的数据名称信息发送至用户端以进行显示。
需要说明的是,当迁移的数据源库中的数据完成迁移之后,对数据表中的数据名称进行检测,检测是否所有的数据名称是否都具有标记,若还有未标记的数据名称,说明还存在遗漏的数据还未进行数据迁移,若没有未标记的数据名称,则将数据表和迁移表进行核对,其中,迁移表和数据表中的数据名称是相同的,说明本次数据迁移完成,若迁移表和数据表中的数据名称是不相同的,说明还存在数据未迁移完成或者迁移完成在数据表或迁移表中未进行记录。
根据本发明实施例,当得到不一致的数据名称信息之后,还包括:
获取迁移日志信息;
根据迁移日志信息,得到迁移表和数据表中出现不一致的数据名称的原因信息;
将所述迁移表和数据表中出现不一致的数据名称的原因信息和预设调整方案进行匹配,得到匹配值;
判断所述匹配值是否大于预设匹配阈值,若是,提取匹配值对应的预设调整方案;
将所述预设调整方案发送至用户端以进行显示。
需要说明的是,当迁移表出现迁移错误、中断等非正常情况时,将所述非正常情况通过迁移日志进行显示;所述预设调整方案库中存储有各种迁移错误的应对方法,其中当迁移表匹配得到多个调整方法时,将迁移错误的调整方法按照预设的操作简易程度进行排序并一词发送给用户端进行显示,其中操作越简单的调整方法排序越靠前。
根据本发明实施例,所述根据迁移表信息,得到迁移表的json文件的步骤,具体包括:
基于预设用户端的要求,将迁移表的id字段映射成gid字段;
根据预设用户端的要求或gid字段,得到字段类型;
将迁移表配置传输并发度,得到迁移表在数据传输时的并发度控制;
根据字段类型、并发度控制和迁移表,得到迁移表的json文件。
需要说明的是,所述预设用户端的要求为用户个性化要求,通过用户个性化要求进行字段映射的配置,如数据源库id字段需映射成gid字段,则可在字段映射选择id字段并且手工维护成gid;所述gid表示为groupid,用来表示字段的唯一标识符。所述迁移表分两层进行并发度控制,由数据同步节点并发度和源、目标数据库并发度组成,其中数据同步节点并发度为可指定有多个数据同步节点发起迁移任务,避免数据同步节点资源不够;源、目标数据库并发度为根据源、目标数据库性能及资源情况指定多并发读取、写入数据。
根据本发明实施例,还包括:
将迁移表信息按照不同数据源库进行分类,得到同一数据源库的迁移表信息;
将同一数据源库的迁移表按照不同字段类型进行分类,得到同一数据源的不同类型的迁移表信息;
将所述迁移表信息按照分类发送至预设任务管理端,并在预设任务管理端显示各迁移表的迁移信息。
需要说明的是,将迁移表信息按照不同数据源进行分类,比如Oracle、mysql、巨衫、达梦等国产数据库,得到同一数据源库的迁移表。将迁移表的迁移信息发送在任务管理中的列表进行显示,任务管理端可以对迁移表的迁移信息进行开启、停止、编辑、删除、执行、查看等操作。
根据本发明实施例,所述根据迁移表的json文件对数据进行迁移之前,包括:
获取目标数据库的可用内存值和迁移表的内存值;
判断迁移表的内存值是否小于或等于目标数据库的可用内存值,若是,则说明目标数据库可以容纳迁移表的内存值;否则触发内存不足信息。
需要说明的是,在迁移表进行迁移之前,对迁移表的数据内存大小进行计算,确定迁移表的内存值;对目标数据库的可用内存进行计算,确定目标数据库的可用内存值。其中当迁移表的内存值小于或等于目标数据库的可用内存值时,说明对应迁移表是可以进行迁移任务的;否则说明目标数据库的可用内存不足,数据迁移操作无效。
根据本发明实施例,所述根据迁移表的json文件对数据进行迁移之前,还包括:
获取迁移表的迁移计划信息;
提取迁移表的迁移计划中设定的时间或排序信息;
将迁移表按照设定的时间或排序进行数据迁移。
需要说明的是,在迁移表进行迁移之前,需要制定开始迁移的计划,比如确定开始迁移的时间:立即开始迁移、特定时间开始迁移、周期性调度迁移等,比如确定开始迁移的顺序:按照选择的时间选后顺序、内存大小的先后顺序等。
根据本发明实施例,所述根据迁移表的json文件对数据进行迁移之后,还包括:
获取数据源库和目标数据库的表数量信息;
判断数据源库和目标数据库的迁移表数量是否一致,若是,则表示数据迁移成功;若否,则触发数据迁移失败提示并显示未迁移成功的数据以及对应数据所在的数据源库。
需要说明的是,当迁移任务完成之后,获取数据源库和目标数据库的表数量,其中当数据源库和目标数据库的迁移表数量是一致时,说明迁移完成,否则说明出现迁移中断或错误等情况。
根据本发明实施例,还包括:
获取用户端设置的迁移任务信息;
将用户端设置的迁移任务发送至预设系统管理端以进行显示。
需要说明的是,所述用户端为普通用户,普通用户仅可查看、新增与修改自身用户常见的数据源地址信息、同步任务等功能;所述预设系统管理端为系统管理员,系统管理员拥有所有权限,可查看、新增与修改全局参数;通过不同账号权限对迁移任务的准确性进一步完善。
根据本发明实施例,还包括:将迁移表的json文件发送至预设配置信息表以进行保存。
需要说明的是,当迁移表的迁移地址错误或者需要重新迁回原来地址时,根据对应迁移表的json文件生产对应迁移表的反向json文件,通过对应迁移表的反向json文件,将对应迁移表返回原来的数据源库。
根据本发明实施例,还包括:
基于预设时间周期,获取迁移表的第一数量值;
获取一次性迁移成功的迁移表的第二数量值;
将第二数量值除以第一数量值,得到迁移表的一次性迁移成功率;
判断所述迁移表的一次性迁移成功率是否小于预设成功率阈值,若是,提取迁移日志信息;
根据迁移日志信息对数据迁移的步骤进行调整。
需要说明的是,所述迁移表的一次性迁移成功率为在预设时间周期内用户端的第二数量值除以第一数量值的值,所述迁移日志信息中包括数据迁移出现错误的位置、不匹配的格式等信息,所述预设成功率阈值由本领域技术人员进行设置。
本发明第三方面提供了一种计算机介质,所述计算机介质中存储有一种基于DataX实现分布式异构数据库迁移方法程序,所述一种基于DataX实现分布式异构数据库迁移方法程序被处理器执行时,实现如上述任一项所述的一种基于DataX实现分布式异构数据库迁移方法的步骤。
本发明公开的一种基于DataX实现分布式异构数据库迁移方法、系统和介质,其中方法包括:获取迁移的数据源库信息;根据迁移的数据源库信息,得到迁移表信息;判断预设目标数据库是否存在迁移表的对应数据表,若否,则触发不存在提示,并根据预设要求生成对应数据表;若是,则显示对应数据表已存在;根据迁移表信息,得到迁移表的json文件;基于预设数据迁移的方式,根据迁移表的json文件对数据进行迁移。本发明通过配置工具进行异构数据库迁移,达成数据迁移透明化、可配置化、个性化、标准化的目的;使数据迁移脱离碎片化、过度专业化的困境,易于让普通技术人员熟练上手进行异构数据库迁移。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (5)

1.一种基于DataX实现分布式异构数据库迁移方法,其特征在于,包括:
获取迁移的数据源库信息;
根据迁移的数据源库信息,得到迁移表信息;
判断预设目标数据库是否存在迁移表的对应数据表,若否,则得到预设目标数据库的数据表不存在信息,并根据预设要求生成对应数据表;若是,则得到预设目标数据库的数据表已存在信息;
根据迁移表信息,得到迁移表的json文件;
根据迁移表的json文件,将迁移的数据源库中的数据迁移至预设目标数据库并进行存储;
所述将迁移的数据源库中的数据迁移至预设目标数据库并进行存储之后,包括:
获取迁移完成的数据名称信息;
判断所述迁移完成的数据名称是否和数据表中的数据名称一致,若是,则将数据表中的数据名称进行标记;若否,则根据迁移完成的数据名称对数据表进行修订,并触发提示信息;
将所述提示信息发送至用户端以进行提示;
当迁移的数据源库中的数据完成迁移之后,还包括:
判断数据表中是否存在未标记的数据名称,若是,则将所述未标记的数据名称发送至用户端以进行提示;若否,将数据表和迁移表进行对比分析;
判断所述数据表和迁移表中的数据名称是否一致,若是,则得到数据迁移完成信息;若否,则得到不一致的数据名称信息;
将所述数据迁移完成信息或不一致的数据名称信息发送至用户端以进行显示;
当得到不一致的数据名称信息之后,还包括:
获取迁移日志信息;
根据迁移日志信息,得到迁移表和数据表中出现不一致的数据名称的原因信息;
将所述迁移表和数据表中出现不一致的数据名称的原因信息和预设调整方案进行匹配,得到匹配值;
判断所述匹配值是否大于预设匹配阈值,若是,提取匹配值对应的预设调整方案;
将所述预设调整方案发送至用户端以进行显示;
还包括:
获取用户端设置的迁移任务信息;
将用户端设置的迁移任务发送至预设系统管理端以进行显示;
所述用户端为普通用户,普通用户仅可查看、新增与修改自身用户常见的数据源地址信息、同步任务等功能;所述预设系统管理端为系统管理员,系统管理员拥有所有权限,可查看、新增与修改全局参数;
还包括:
将迁移表的json文件发送至预设配置信息表以进行保存;
当迁移表的迁移地址错误或者需要重新迁回原来地址时,根据对应迁移表的json文件生产对应迁移表的反向json文件,通过对应迁移表的反向json文件,将对应迁移表返回原来的数据源库。
2.根据权利要求1所述的一种基于DataX实现分布式异构数据库迁移方法,其特征在于,所述根据迁移表信息,得到迁移表的json文件的步骤,具体包括:
基于预设用户端的要求,将迁移表的id字段映射成gid字段;
根据预设用户端的要求或gid字段,得到字段类型;
将迁移表配置传输并发度,得到迁移表在数据传输时的并发度控制;
根据字段类型、并发度控制和迁移表,得到迁移表的json文件。
3.根据权利要求1所述的一种基于DataX实现分布式异构数据库迁移方法,其特征在于,还包括:
将迁移表信息按照不同数据源库进行分类,得到同一数据源库的迁移表信息;
将同一数据源库的迁移表按照不同字段类型进行分类,得到同一数据源的不同类型的迁移表信息;
将所述迁移表信息按照分类发送至预设任务管理端,并在预设任务管理端显示各迁移表的迁移信息。
4.一种基于DataX实现分布式异构数据库迁移系统,其特征在于,包括存储器和处理器,所述存储器中存储有一种基于DataX实现分布式异构数据库迁移方法程序,所述一种基于DataX实现分布式异构数据库迁移方法程序被所述处理器执行时实现如下步骤:
获取迁移的数据源库信息;
根据迁移的数据源库信息,得到迁移表信息;
判断预设目标数据库是否存在迁移表的对应数据表,若否,则得到预设目标数据库的数据表不存在信息,并根据预设要求生成对应数据表;若是,则得到预设目标数据库的数据表已存在信息;
根据迁移表信息,得到迁移表的json文件;
根据迁移表的json文件,将迁移的数据源库中的数据迁移至预设目标数据库并进行存储;
所述将迁移的数据源库中的数据迁移至预设目标数据库并进行存储之后,包括:
获取迁移完成的数据名称信息;
判断所述迁移完成的数据名称是否和数据表中的数据名称一致,若是,则将数据表中的数据名称进行标记;若否,则根据迁移完成的数据名称对数据表进行修订,并触发提示信息;
将所述提示信息发送至用户端以进行提示;
当迁移的数据源库中的数据完成迁移之后,还包括:
判断数据表中是否存在未标记的数据名称,若是,则将所述未标记的数据名称发送至用户端以进行提示;若否,将数据表和迁移表进行对比分析;
判断所述数据表和迁移表中的数据名称是否一致,若是,则得到数据迁移完成信息;若否,则得到不一致的数据名称信息;
将所述数据迁移完成信息或不一致的数据名称信息发送至用户端以进行显示;
当得到不一致的数据名称信息之后,还包括:
获取迁移日志信息;
根据迁移日志信息,得到迁移表和数据表中出现不一致的数据名称的原因信息;
将所述迁移表和数据表中出现不一致的数据名称的原因信息和预设调整方案进行匹配,得到匹配值;
判断所述匹配值是否大于预设匹配阈值,若是,提取匹配值对应的预设调整方案;
将所述预设调整方案发送至用户端以进行显示;
还包括:
获取用户端设置的迁移任务信息;
将用户端设置的迁移任务发送至预设系统管理端以进行显示;
所述用户端为普通用户,普通用户仅可查看、新增与修改自身用户常见的数据源地址信息、同步任务等功能;所述预设系统管理端为系统管理员,系统管理员拥有所有权限,可查看、新增与修改全局参数;
还包括:
将迁移表的json文件发送至预设配置信息表以进行保存;
当迁移表的迁移地址错误或者需要重新迁回原来地址时,根据对应迁移表的json文件生产对应迁移表的反向json文件,通过对应迁移表的反向json文件,将对应迁移表返回原来的数据源库。
5.一种计算机介质,其特征在于,所述计算机介质中存储有一种基于DataX实现分布式异构数据库迁移方法程序,所述一种基于DataX实现分布式异构数据库迁移方法程序被处理器执行时,实现如权利要求1至3中任一项所述的一种基于DataX实现分布式异构数据库迁移方法的步骤。
CN202310801510.8A 2023-07-03 2023-07-03 一种基于DataX实现分布式异构数据库迁移方法、系统和介质 Active CN116521652B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310801510.8A CN116521652B (zh) 2023-07-03 2023-07-03 一种基于DataX实现分布式异构数据库迁移方法、系统和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310801510.8A CN116521652B (zh) 2023-07-03 2023-07-03 一种基于DataX实现分布式异构数据库迁移方法、系统和介质

Publications (2)

Publication Number Publication Date
CN116521652A CN116521652A (zh) 2023-08-01
CN116521652B true CN116521652B (zh) 2023-11-21

Family

ID=87392554

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310801510.8A Active CN116521652B (zh) 2023-07-03 2023-07-03 一种基于DataX实现分布式异构数据库迁移方法、系统和介质

Country Status (1)

Country Link
CN (1) CN116521652B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105205117A (zh) * 2015-09-09 2015-12-30 郑州悉知信息科技股份有限公司 一种数据表迁移方法和装置
CN111737235A (zh) * 2020-08-12 2020-10-02 国网浙江省电力有限公司营销服务中心 用于电力行业的异构数据迁移方法
CN113326247A (zh) * 2021-04-28 2021-08-31 上海淇馥信息技术有限公司 云端数据的迁移方法、装置及电子设备
CN115905413A (zh) * 2023-01-17 2023-04-04 华东师范大学 一种基于Python协程和DataX的数据同步平台

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105205117A (zh) * 2015-09-09 2015-12-30 郑州悉知信息科技股份有限公司 一种数据表迁移方法和装置
CN111737235A (zh) * 2020-08-12 2020-10-02 国网浙江省电力有限公司营销服务中心 用于电力行业的异构数据迁移方法
CN113326247A (zh) * 2021-04-28 2021-08-31 上海淇馥信息技术有限公司 云端数据的迁移方法、装置及电子设备
CN115905413A (zh) * 2023-01-17 2023-04-04 华东师范大学 一种基于Python协程和DataX的数据同步平台

Also Published As

Publication number Publication date
CN116521652A (zh) 2023-08-01

Similar Documents

Publication Publication Date Title
CN110069572B (zh) 基于大数据平台的hive任务调度方法、装置、设备及存储介质
CN108062367B (zh) 一种数据列表的上传方法及其终端
CN111666326B (zh) Etl调度方法及装置
CN111324610A (zh) 一种数据同步的方法及装置
US11593357B2 (en) Databases and methods of storing, retrieving, and processing data
CN107870949B (zh) 数据分析作业依赖关系生成方法和系统
CN113448862B (zh) 软件版本测试方法、装置及计算机设备
CN114741375A (zh) 一种多源异构数据库快速自动数据迁移系统及方法
CN110198327B (zh) 一种数据传输方法及相关设备
CN112000649B (zh) 一种基于map reduce的增量数据同步的方法和装置
CN109800069B (zh) 一种实现数据治理的方法及装置
CN114416703A (zh) 数据完整性自动监控方法、装置、设备及介质
CN115146000A (zh) 一种数据库数据同步方法、装置、电子设备及存储介质
CN114153910A (zh) 数据采集方法、装置及电子装置、计算机程序产品
CN112559525B (zh) 数据检查系统、方法、装置和服务器
CN116521652B (zh) 一种基于DataX实现分布式异构数据库迁移方法、系统和介质
CN112199529A (zh) 图片处理方法、装置、电子设备及存储介质
CN113792026A (zh) 数据库脚本的部署方法、装置及计算机可读存储介质
CN112445811A (zh) 基于sql配置的数据服务方法、装置、存储介质及组件
CN111651531A (zh) 数据导入方法、装置、设备及计算机存储介质
CN110866005A (zh) 一种物联网数据采集管理方法及系统、存储介质及终端
CN115033647B (zh) 数据同步方法、装置、电子设备及存储介质
CN113515532B (zh) 基于数据交换的变更处理方法、装置、设备及存储介质
CN117472365A (zh) 数据处理方法、终端设备以及存储介质
CN107066330A (zh) 模块化数据分布计划生成

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
GR01 Patent grant
GR01 Patent grant