CN111367890A - 一种数据迁移的方法、装置、计算机设备及可读存储介质 - Google Patents
一种数据迁移的方法、装置、计算机设备及可读存储介质 Download PDFInfo
- Publication number
- CN111367890A CN111367890A CN202010174080.8A CN202010174080A CN111367890A CN 111367890 A CN111367890 A CN 111367890A CN 202010174080 A CN202010174080 A CN 202010174080A CN 111367890 A CN111367890 A CN 111367890A
- Authority
- CN
- China
- Prior art keywords
- migration
- information
- data migration
- template
- database
- 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.)
- Pending
Links
- 238000013508 migration Methods 0.000 title claims abstract description 375
- 230000005012 migration Effects 0.000 title claims abstract description 375
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000004519 manufacturing process Methods 0.000 claims description 29
- 238000012360 testing method Methods 0.000 claims description 28
- 238000012795 verification Methods 0.000 claims description 21
- 238000013515 script Methods 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 8
- 230000000007 visual effect Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 238000011161 development Methods 0.000 description 14
- 238000012423 maintenance Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据迁移的方法、装置、计算机设备及可读存储介质,该方法包括:接收数据迁移指令;其中,所述数据迁移指令包括:源数据库信息、目标数据库信息、和迁移对象信息;根据所述数据迁移指令,从预设的模板数据库中确定出与所述数据迁移指令对应的迁移模板;将所述源数据库信息、目标数据库信息和迁移对象信息添加到确定出的迁移模板中,以形成迁移脚本程序;执行所述迁移脚本程序以实现所述数据迁移指令;本发明可以自动根据需求生成迁移脚本程序,减少人力成本、提高工作效率。
Description
技术领域
本发明涉及数据处理技术领域,具体涉及一种数据迁移的方法、装置、计算机设备及可读存储介质。
背景技术
在一个项目的开发过程中,经常需要进行数据迁移;目前,在实现数据迁移时,需要运维人员根据具体的数据迁移需求编写脚本程序,从而实现数据的提取和同步。因此,现有的数据迁移方式存在自动化程度较低、效率低下的问题,而且会受限于运维人员的编写脚本程序的能力,不利于项目的开发。
发明内容
本发明的目的在于提供一种数据迁移的方法、装置、计算机设备及可读存储介质,可以自动根据需求生成迁移脚本程序,减少人力成本、提高工作效率。
根据本发明的一个方面,提供了一种数据迁移的方法,具体包括以下步骤:
接收数据迁移指令;其中,所述数据迁移指令包括:源数据库信息、目标数据库信息、和迁移对象信息;
根据所述数据迁移指令,从预设的模板数据库中确定出与所述数据迁移指令对应的迁移模板;所述迁移模板为事先编辑好的用于数据迁移的脚本框架;
将所述源数据库信息、目标数据库信息和迁移对象信息添加到确定出的迁移模板中,以形成迁移脚本程序;
执行所述迁移脚本程序以实现所述数据迁移指令。
可选的,在所述根据所述数据迁移指令,从预设的模板数据库中确定出与所述数据迁移指令对应的迁移模板之前,所述方法还包括:
根据所述源数据库信息和目标数据库信息判断出数据迁移流向是否为从生产环境迁移到测试环境或者从生产环境迁移到演示环境;
若是,则向预设终端发送验证请求消息,并在接收到验证通过消息时,根据所述数据迁移指令,从预设的模板数据库中确定出与所述数据迁移指令对应的迁移模板。
可选的,所述根据所述数据迁移指令,从预设的模板数据库中确定出与所述数据迁移指令对应的迁移模板,具体包括:
根据所述数据迁移指令确定出数据迁移流向、源数据库的种类信息、目标数据库的种类信息;
判断在所述模板数据库中是否存在与所述数据迁移流向、源数据库的种类信息、目标数据库的种类信息相匹配的模板记录信息;
若是,则在所述模板记录信息中包含预设标识信息的情况下结束数据迁移进程,或者在所述模板记录信息中不包含预设标识信息的情况下从所述模板数据库中查找到与所述模板记录信息对应的迁移模板。
可选的,所述方法还包括:
当在所述模板数据库中不存在与所述数据迁移流向、源数据库的种类信息、目标数据库的种类信息相匹配的模板记录信息时,将所述数据迁移流向、源数据库的种类信息、目标数据库的种类信息形成一条新的模板记录信息;
在形成的模板记录信息中添加预设标识信息,并将所述模板记录信息存储到所述模板数据库中。
可选的,所述方法还包括:
采集数据迁移过程中产生的迁移日志,并根据所述迁移日志生成可视化的迁移报告;其中,所述迁移报告包括:数据迁移流向、迁移的数据量和迁移耗时。
根据本发明的另一个方面,还提供了一种数据迁移的装置,具体包括以下组成部分:
接收模块,用于接收数据迁移指令;其中,所述数据迁移指令包括:源数据库信息、目标数据库信息、和迁移对象信息;
确定模块,用于根据所述数据迁移指令,从预设的模板数据库中确定出与所述数据迁移指令对应的迁移模板;所述迁移模板为事先编辑好的用于数据迁移的脚本框架;
拼接模块,用于将所述源数据库信息、目标数据库信息和迁移对象信息添加到确定出的迁移模板中,以形成迁移脚本程序;
处理模块,用于执行所述迁移脚本程序以实现所述数据迁移指令。
可选的,所述确定模块,具体用于:
根据所述数据迁移指令确定出数据迁移流向、源数据库的种类信息、目标数据库的种类信息;
判断在所述模板数据库中是否存在与所述数据迁移流向、源数据库的种类信息、目标数据库的种类信息相匹配的模板记录信息;
若是,则在所述模板记录信息中包含预设标识信息的情况下结束数据迁移进程,或者在所述模板记录信息中不包含预设标识信息的情况下从所述模板数据库中查找到与所述模板记录信息对应的迁移模板。
可选的,所述装置还包括:
日志模块,用于采集数据迁移过程中产生的迁移日志,并根据所述迁移日志生成可视化的迁移报告;其中,所述迁移报告包括:数据迁移流向、迁移的数据量和迁移耗时。
根据本发明的另一个方面,还提供了一种计算机设备,具体包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述数据迁移的方法的步骤。
根据本发明的另一个方面,还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述数据迁移的方法的步骤。
本发明提供的数据迁移的方法、装置、计算机设备及可读存储介质,根据接收到的数据迁移指令,从预设的模板数据库中查找到与所述数据迁移指令对应的迁移模板;并根据包含在所述数据迁移指令中的源数据库信息、目标数据库信息和迁移对象信息,按照所述迁移模板以形成迁移脚本程序;通过执行形成的迁移脚本程序以实现所述数据迁移指令;本发明可以自动根据需求生成迁移脚本程序,减少人力成本、提高工作效率;此外,在本发明中当对生产环境中的数据进行迁移时,需要进行验证,仅在验证通过的情况下才进行数据迁移,从而保证了数据迁移的安全性;另外,在本发明中通过模板数据库中的模板记录信息查找迁移模板,从而提高查找迁移模板的速度。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为实施例一提供的数据迁移的方法的一种可选的流程示意图;
图2为实施例二提供的数据迁移的装置的一种可选的程序模块示意图;
图3为实施例三提供的计算机设备的一种可选的硬件架构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例提供了一种数据迁移的方法,应用于数据迁移平台,如图1所示,该方法具体包括以下步骤:
步骤S101:接收数据迁移指令;其中,所述数据迁移指令包括:源数据库信息、目标数据库信息、和迁移对象信息。
具体的,所述源数据库信息包括:源数据库的环境信息、源数据库的种类信息、源数据库的IP地址信息、源数据库的端口信息、和源数据库的实例名信息;
所述目标数据库信息包括:目标数据库的环境信息、目标数据库的种类信息、目标数据库的IP地址信息、目标数据库的端口信息、和目标数据库的实例名信息;
所述迁移对象信息包括以下之一:instance实例级、database库级、table表级、metadata元数据级、data数据级。
需要说明的是,数据迁移指令用于从源数据库中提取迁移对象,并将所述迁移对象同步到目标数据库中。在本实施例中,数据库的环境信息包括:开发环境(DEV)、测试环境(STG)、用户验收环境(UAT)、演示环境(DEMO)、生产环境(PRD);不同环境信息的数据库都有对应种类的数据库。在本实施例中,数据库的种类信息包括:Oracle数据库、MySQL数据库、PostgreSQL数据库、MongoDB数据库。
在实际应用中,当数据迁移需求发起后,使用分支选择算法识别出数据迁移指令中的源数据库信息、目标数据库信息、和迁移对象信息。
步骤S102:根据所述数据迁移指令,从预设的模板数据库中确定出与所述数据迁移指令对应的迁移模板。
具体的,在步骤S102之前,所述方法还包括:
根据所述源数据库信息和目标数据库信息判断出数据迁移流向是否为从生产环境迁移到测试环境或者从生产环境迁移到演示环境;
若是,则向预设终端发送验证请求消息,并在接收到验证通过消息时,执行步骤S102;
若否,则直接执行步骤S102。
优选的,所述根据所述源数据库信息和目标数据库信息判断出数据迁移流向是否为从生产环境迁移到测试环境或者从生产环境迁移到演示环境,具体包括:
根据所述源数据库信息中的源数据库的环境信息和所述目标数据库信息中的目标数据库的环境信息确定出数据迁移流向;其中,所述环境信息包括以下之一:开发环境、测试环境、用户验收环境、演示环境、生产环境,所述数据迁移流向为从源数据库的环境信息迁移到目标数据库的环境信息;
判断所述数据迁移流向是否为从生产环境迁移到测试环境或者从生产环境迁移到演示环境。
由于在生产环境的数据库中会存储有保护级别较高的敏感数据,若这些敏感数据迁移到其他环境的数据库中则会导致数据暴露,所以为了保证数据迁移的安全性,在本实施例中,当源数据库的环境为开发环境时,需要进行验证操作,当接收到验证通过消息时,才执行后续的数据迁移步骤。若没有接收到验证通过消息,则终止数据迁移进程。
在实际应用中,数据迁移流向主要包括以下六种:从开发环境迁移到测试环境、从测试环境迁移到生产环境、从生产环境迁移到测试环境、从测试环境迁移到开发环境、从测试环境迁移到演示环境、从生产环境迁移到演示环境。因此,在本实施例中,对于从生产环境迁移到测试环境以及从生产环境迁移到演示环境需要进行验证操作,对于从开发环境迁移到测试环境、从测试环境迁移到生产环境、从测试环境迁移到开发环境、以及从测试环境迁移到演示环境不需要走验证操作。
进一步的,步骤S102,包括:
步骤A1:根据所述数据迁移指令确定出数据迁移流向、源数据库的种类信息、目标数据库的种类信息;
其中,所述数据迁移指令包括:源数据库信息、和目标数据库信息;所述源数据库信息包括:源数据库的环境信息和源数据库的种类信息;所述目标数据库信息包括:目标数据库的环境信息和目标数据库的种类信息;数据迁移流向为从源数据库的环境信息迁移到目标数据库的环境信息。
步骤A2:判断在所述模板数据库中是否存在与所述数据迁移流向、源数据库的种类信息、目标数据库的种类信息相匹配的模板记录信息;
若是,则执行步骤A3;
若否,则将所述数据迁移流向、源数据库的种类信息、目标数据库的种类信息形成一条新的模板记录信息;在形成的模板记录信息中添加预设标识信息,并将所述模板记录信息存储到所述模板数据库中。
其中,在所述模板数据库中存储有多个迁移模板,以及分别与每个迁移模板对应的模板记录信息;在一条模板记录信息中包含对应的迁移模板适用于的数据迁移流向、源数据库的种类信息、目标数据库的种类信息。由于迁移方式会受到数据库的环境信息和种类信息的影响,因此会事先为不同环境下的各个种类的数据库之间的数据迁移分别设置对应的迁移模板;迁移模板是根据数据库的环境信息和种类信息采用python语言编写的脚本框架,在迁移模板中还包括需要后期添加参数的参数空白位,且每个参数空白位均设置有对应的注解,该注解用于标识参数空白位所需要的参数的类型。
在步骤A2中,若在所述模板数据库中没有找到相匹配的模板记录信息,则说明在所述目标数据库中未存在对应的迁移模板,此时,需要根据在步骤A1中确定出的信息形成一条新的模板记录信息,并在所述模板记录信息中添加预设的标识信息;所述标识信息用于说明在所述模板数据库中存储的所述模板记录信息没有对应的迁移模板,即,若在模板记录信息中未存在所述标识信息,则在所述模板数据库中存在与所述模板记录信息对应的迁移模板。
步骤A3:判断在所述模板记录信息中是否包含所述标识信息;
若是,则结束数据迁移进程;
若否,则在所述模板数据库中查找到与所述模板记录信息对应的迁移模板。
步骤S103:将所述源数据库信息、目标数据库信息和迁移对象信息添加到确定出的迁移模板中,以形成迁移脚本程序。
其中,所述迁移模板为事先编辑好的用于数据迁移的脚本框架,在执行数据迁移操作时,只需要将源数据库信息、目标数据库信息、和迁移对象信息添加到所述迁移模板中即可形成对应的数据迁移脚本,从而可以解决传统数据迁移过程中因数据库种类繁多、数据库运维人员脚本程序开发能力不够而导致的数据迁移效率低的问题。
优选的,根据迁移模板中的各个参数空白位的注解,将源数据库信息中的IP地址信息、端口信息、和实例名信息,目标数据库信息中的IP地址信息、端口信息、和实例名信息,以及迁移对象信息添加到迁移模板中。
优选的,在本实施例中,所述迁移模板采用Python Django框架;在Python Django框架中可以自定义字符串拼接方式,形成迁移模板的处理逻辑如下:先输入源数据库和目标数据库的环境信息dbenv,例如stg,输入源数据库和目标数据库的种类信息dbtype,例如oracle,之后采用oracle特有工具的迁移命令,例如expdp,并使用python进行脚本拼接,以形成迁移模板;当使用迁移模板时,再带入迁移环境变量migenv,例如源ip,port,目标ip,port,之后输入迁移对象migobj,例如为某个或某些schema、表、元数据等。其它类型的环境和其他种类的数据库类似此处理逻辑,区别在于不同种类的数据库迁移工具命令不同,拼接出来的迁移脚本程序亦各不相同。
步骤S104:执行所述迁移脚本程序以实现所述数据迁移指令。
进一步的,所述方法还包括:
采集数据迁移过程中产生的迁移日志,并根据所述迁移日志生成可视化的迁移报告;其中,所述迁移报告包括:数据迁移流向、迁移的数据量和迁移耗时。
本实施例中的数据迁移平台采用python语言、python Django框架以实现数据自动化迁移。数据迁移平台在数据迁移过程中加入审批链流程,严格控制数据权限,保护数据安全。本实施例中的数据迁移平台实现了数据迁移的自动化,有效解决了传统数据迁移过程中因数据库种类繁多、数据库运维人员脚本程序开发能力不足等导致的数据迁移效率低、影响项目进度的问题;数据迁移平台实现了instance级别、database级别、table级别、metadata级别、data级别的数据迁移,有效解决了需求多样性的问题,选择高效率的数据迁移工具生成迁移脚本程序,降低了数据迁移的技术难度,提升整个项目进度。
实施例二
本发明实施例提供了一种数据迁移的装置,如图2所示,该装置具体包括以下组成部分:
接收模块201,用于接收数据迁移指令;其中,所述数据迁移指令包括:源数据库信息、目标数据库信息、和迁移对象信息。
具体的,所述源数据库信息包括:源数据库的环境信息、源数据库的种类信息、源数据库的IP地址信息、源数据库的端口信息、和源数据库的实例名信息;
所述目标数据库信息包括:目标数据库的环境信息、目标数据库的种类信息、目标数据库的IP地址信息、目标数据库的端口信息、和目标数据库的实例名信息;
所述迁移对象信息包括以下之一:instance实例级、database库级、table表级、metadata元数据级、data数据级。
需要说明的是,数据迁移指令用于从源数据库中提取迁移对象,并将所述迁移对象同步到目标数据库中。在本实施例中,数据库的环境信息包括:开发环境(DEV)、测试环境(STG)、用户验收环境(UAT)、演示环境(DEMO)、生产环境(PRD);不同环境信息的数据库都有对应类型的数据库。在本实施例中,数据库的种类信息包括:Oracle数据库、MySQL数据库、PostgreSQL数据库、MongoDB数据库。
在实际应用中,当数据迁移需求发起后,使用分支选择算法识别出数据迁移指令中的源数据库信息、目标数据库信息、和迁移对象信息。
确定模块202,用于根据所述数据迁移指令,从预设的模板数据库中确定出与所述数据迁移指令对应的迁移模板;所述迁移模板为事先编辑好的用于数据迁移的脚本框架。
具体的,所述装置还包括:
验证模块,用于在所述根据所述数据迁移指令,从预设的模板数据库中确定出与所述数据迁移指令对应的迁移模板之前,根据所述源数据库信息和目标数据库信息判断出数据迁移流向是否为从生产环境迁移到测试环境或者从生产环境迁移到演示环境;若是,则向预设终端发送验证请求消息,并在接收到验证通过消息时,触发确定模块202;若否,则直接触发确定模块202。
由于在生产环境的数据库中会存储有保护级别较高的敏感数据,若这些敏感数据迁移到其他环境的数据库中则会导致数据暴露,所以为了保证数据迁移的安全性,在本实施例中,当源数据库的环境为开发环境时,需要进行验证操作,当接收到验证通过消息时,才执行后续的数据迁移步骤。若没有接收到验证通过消息,则终止数据迁移进程。
在实际应用中,数据迁移流向主要包括以下六种:从开发环境迁移到测试环境、从测试环境迁移到生产环境、从生产环境迁移到测试环境、从测试环境迁移到开发环境、从测试环境迁移到演示环境、从生产环境迁移到演示环境。因此,在本实施例中,对于从生产环境迁移到测试环境以及从生产环境迁移到演示环境需要进行验证操作,对于从开发环境迁移到测试环境、从测试环境迁移到生产环境、从测试环境迁移到开发环境、以及从测试环境迁移到演示环境不需要走验证操作。
进一步的,确定模块202,用于:
根据所述数据迁移指令确定出数据迁移流向、源数据库的种类信息、目标数据库的种类信息和迁移对象信息;
判断在所述模板数据库中是否存在与所述数据迁移流向、源数据库的种类信息、目标数据库的种类信息和迁移对象信息相匹配的模板记录信息;
若是,则在所述模板记录信息中包含预设标识信息的情况下结束数据迁移进程,或者在所述模板记录信息中不包含预设标识信息的情况下从所述模板数据库中查找到与所述模板记录信息对应的迁移模板。
更进一步的,所述装置还包括:
管理模块,用于当在所述模板数据库中不存在与所述数据迁移流向、源数据库的种类信息、目标数据库的种类信息和迁移对象信息相匹配的模板记录信息时,将所述数据迁移流向、源数据库的种类信息、目标数据库的种类信息和迁移对象信息形成一条新的模板记录信息;在形成的模板记录信息中添加预设标识信息,并将所述模板记录信息存储到所述模板数据库中。
拼接模块203,用于将所述源数据库信息、目标数据库信息和迁移对象信息添加到确定出的迁移模板中,以形成迁移脚本程序。
其中,所述迁移模板为事先编辑好的用于数据迁移的脚本框架,在执行数据迁移操作时,只需要将源数据库信息、目标数据库信息、和迁移对象信息添加到所述迁移模板中即可形成对应的数据迁移脚本,从而可以解决传统数据迁移过程中因数据库种类繁多、数据库运维人员脚本程序开发能力不够而导致的数据迁移效率低的问题。
处理模块204,用于执行所述迁移脚本程序以实现所述数据迁移指令。
进一步的,所述装置还包括:
日志模块,用于采集数据迁移过程中产生的迁移日志,并根据所述迁移日志生成可视化的迁移报告;其中,所述迁移报告包括:数据迁移流向、迁移的数据量和迁移耗时。
实施例三
本实施例还提供一种计算机设备,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图3所示,本实施例的计算机设备30至少包括但不限于:可通过系统总线相互通信连接的存储器301、处理器302。需要指出的是,图3仅示出了具有组件301-302的计算机设备30,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器301(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器301可以是计算机设备30的内部存储单元,例如该计算机设备30的硬盘或内存。在另一些实施例中,存储器301也可以是计算机设备30的外部存储设备,例如该计算机设备30上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器301还可以既包括计算机设备30的内部存储单元也包括其外部存储设备。在本实施例中,存储器301通常用于存储安装于计算机设备30的操作系统和各类应用软件,例如实施例二的数据迁移的装置的程序代码等。此外,存储器301还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器302在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器302通常用于控制计算机设备30的总体操作。
具体的,在本实施例中,处理器302用于执行处理器302中存储的数据迁移的方法的程序,所述数据迁移的方法的程序被执行时实现如下步骤:
接收数据迁移指令;其中,所述数据迁移指令包括:源数据库信息、目标数据库信息、和迁移对象信息;
根据所述数据迁移指令,从预设的模板数据库中确定出与所述数据迁移指令对应的迁移模板;所述迁移模板为事先编辑好的用于数据迁移的脚本框架;
将所述源数据库信息、目标数据库信息和迁移对象信息添加到确定出的迁移模板中,以形成迁移脚本程序;
执行所述迁移脚本程序以实现所述数据迁移指令。
上述方法步骤的具体实施例过程可参见第一实施例,本实施例在此不再重复赘述。
实施例四
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,所述计算机程序被处理器执行时实现如下方法步骤:
接收数据迁移指令;其中,所述数据迁移指令包括:源数据库信息、目标数据库信息、和迁移对象信息;
根据所述数据迁移指令,从预设的模板数据库中确定出与所述数据迁移指令对应的迁移模板;所述迁移模板为事先编辑好的用于数据迁移的脚本框架;
将所述源数据库信息、目标数据库信息和迁移对象信息添加到确定出的迁移模板中,以形成迁移脚本程序;
执行所述迁移脚本程序以实现所述数据迁移指令。
上述方法步骤的具体实施例过程可参见第一实施例,本实施例在此不再重复赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种数据迁移的方法,其特征在于,所述方法包括:
接收数据迁移指令;其中,所述数据迁移指令包括:源数据库信息、目标数据库信息、和迁移对象信息;
根据所述数据迁移指令,从预设的模板数据库中确定出与所述数据迁移指令对应的迁移模板,所述迁移模板为事先编辑好的用于数据迁移的脚本框架;
将所述源数据库信息、目标数据库信息和迁移对象信息添加到确定出的迁移模板中,以形成迁移脚本程序;
执行所述迁移脚本程序以实现所述数据迁移指令。
2.根据权利要求1所述的数据迁移的方法,其特征在于,在所述根据所述数据迁移指令,从预设的模板数据库中确定出与所述数据迁移指令对应的迁移模板之前,所述方法还包括:
根据所述源数据库信息和目标数据库信息判断出数据迁移流向是否为从生产环境迁移到测试环境或者从生产环境迁移到演示环境;
若是,则向预设终端发送验证请求消息,并在接收到验证通过消息时,根据所述数据迁移指令,从预设的模板数据库中确定出与所述数据迁移指令对应的迁移模板。
3.根据权利要求1所述的数据迁移的方法,其特征在于,所述根据所述数据迁移指令,从预设的模板数据库中确定出与所述数据迁移指令对应的迁移模板,具体包括:
根据所述数据迁移指令确定出数据迁移流向、源数据库的种类信息、目标数据库的种类信息;
判断在所述模板数据库中是否存在与所述数据迁移流向、源数据库的种类信息、目标数据库的种类信息相匹配的模板记录信息;
若是,则在所述模板记录信息中包含预设标识信息的情况下结束数据迁移进程,或者在所述模板记录信息中不包含预设标识信息的情况下从所述模板数据库中查找到与所述模板记录信息对应的迁移模板。
4.根据权利要求3所述的数据迁移的方法,其特征在于,所述方法还包括:
当在所述模板数据库中不存在与所述数据迁移流向、源数据库的种类信息、目标数据库的种类信息相匹配的模板记录信息时,将所述数据迁移流向、源数据库的种类信息、目标数据库的种类信息形成一条新的模板记录信息;
在形成的模板记录信息中添加预设标识信息,并将所述模板记录信息存储到所述模板数据库中。
5.根据权利要求1所述的数据迁移的方法,其特征在于,所述方法还包括:
采集数据迁移过程中产生的迁移日志,并根据所述迁移日志生成可视化的迁移报告;其中,所述迁移报告包括:数据迁移流向、迁移的数据量和迁移耗时。
6.一种数据迁移的装置,其特征在于,所述装置包括:
接收模块,用于接收数据迁移指令;其中,所述数据迁移指令包括:源数据库信息、目标数据库信息、和迁移对象信息;
确定模块,用于根据所述数据迁移指令,从预设的模板数据库中确定出与所述数据迁移指令对应的迁移模板;所述迁移模板为事先编辑好的用于数据迁移的脚本框架;
拼接模块,用于将所述源数据库信息、目标数据库信息和迁移对象信息添加到确定出的迁移模板中,以形成迁移脚本程序;
处理模块,用于执行所述迁移脚本程序以实现所述数据迁移指令。
7.根据权利要求6所述的数据迁移的装置,其特征在于,所述确定模块,具体用于:
根据所述数据迁移指令确定出数据迁移流向、源数据库的种类信息、目标数据库的种类信息;
判断在所述模板数据库中是否存在与所述数据迁移流向、源数据库的种类信息、目标数据库的种类信息相匹配的模板记录信息;
若是,则在所述模板记录信息中包含预设标识信息的情况下结束数据迁移进程,或者在所述模板记录信息中不包含预设标识信息的情况下从所述模板数据库中查找到与所述模板记录信息对应的迁移模板。
8.根据权利要求6所述的数据迁移的装置,其特征在于,所述装置还包括:
日志模块,用于采集数据迁移过程中产生的迁移日志,并根据所述迁移日志生成可视化的迁移报告;其中,所述迁移报告包括:数据迁移流向、迁移的数据量和迁移耗时。
9.一种计算机设备,所述计算机设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至5任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1至5任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010174080.8A CN111367890A (zh) | 2020-03-13 | 2020-03-13 | 一种数据迁移的方法、装置、计算机设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010174080.8A CN111367890A (zh) | 2020-03-13 | 2020-03-13 | 一种数据迁移的方法、装置、计算机设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111367890A true CN111367890A (zh) | 2020-07-03 |
Family
ID=71206802
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010174080.8A Pending CN111367890A (zh) | 2020-03-13 | 2020-03-13 | 一种数据迁移的方法、装置、计算机设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111367890A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112181489A (zh) * | 2020-09-28 | 2021-01-05 | 中国平安人寿保险股份有限公司 | 代码迁移方法、装置、计算机设备及存储介质 |
CN114610697A (zh) * | 2022-03-22 | 2022-06-10 | 平安科技(深圳)有限公司 | 数据迁移方法、装置、计算机设备和存储介质 |
CN116414447A (zh) * | 2023-05-17 | 2023-07-11 | 北京比格大数据有限公司 | 一种跨架构迁移方法及装置、电子设备及存储介质 |
CN116645121A (zh) * | 2023-05-05 | 2023-08-25 | 国网浙江省电力有限公司 | 基于多维度数据融合的营销模型迁移迭代方法及处理方法 |
Citations (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080115123A1 (en) * | 2006-11-15 | 2008-05-15 | International Business Machines Corporation | Assisted migration in a data processing environment |
CN101609425A (zh) * | 2008-06-19 | 2009-12-23 | 中兴通讯股份有限公司 | 一种脚本及关联数据移植系统及移植方法 |
CN103257878A (zh) * | 2013-05-16 | 2013-08-21 | 浪潮通信信息系统有限公司 | 一种基于云计算的应用程序的跨平台平滑迁移方法 |
CN104281484A (zh) * | 2014-09-23 | 2015-01-14 | 华为技术有限公司 | 一种虚拟机迁移方法和装置 |
US20150134681A1 (en) * | 2013-08-08 | 2015-05-14 | Oshyn, Inc. | Migrating data for web content management systems |
CN104794204A (zh) * | 2015-04-23 | 2015-07-22 | 上海新炬网络信息技术有限公司 | 一种数据库敏感数据自动识别方法 |
CN105740722A (zh) * | 2016-01-25 | 2016-07-06 | 上海新炬网络信息技术有限公司 | 一种数据库敏感数据的伪装方法 |
CN105740462A (zh) * | 2016-03-02 | 2016-07-06 | 上海新炬网络信息技术有限公司 | 一种支持不同环境之间的数据迁移方法 |
CN106055670A (zh) * | 2016-06-06 | 2016-10-26 | 中国工商银行股份有限公司 | 一种系统间数据迁移方法及装置 |
CN107256252A (zh) * | 2017-06-09 | 2017-10-17 | 浪潮软件集团有限公司 | 一种第三方多维数据迁移方法及装置 |
CN107704597A (zh) * | 2017-10-13 | 2018-02-16 | 携程旅游网络技术(上海)有限公司 | 关系型数据库至Hive的ETL脚本创建方法 |
CN107958057A (zh) * | 2017-11-29 | 2018-04-24 | 苏宁云商集团股份有限公司 | 一种用于异构数据库中数据迁移的代码生成方法及装置 |
CN107992512A (zh) * | 2017-10-20 | 2018-05-04 | 中国建设银行股份有限公司上海市分行 | 一种数据迁移的方法、系统及计算机可读存储介质 |
CN108021647A (zh) * | 2017-11-30 | 2018-05-11 | 郑州云海信息技术有限公司 | 一种文件迁移方法、系统、介质及设备 |
CN108153806A (zh) * | 2016-11-30 | 2018-06-12 | Ncr公司 | 数据迁移 |
CN108959470A (zh) * | 2018-06-20 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种数据库数据跨平台迁移方法和装置 |
CN109684298A (zh) * | 2018-09-07 | 2019-04-26 | 平安科技(深圳)有限公司 | 数据库迁移方法、装置、设备及存储介质 |
CN110069471A (zh) * | 2017-12-07 | 2019-07-30 | 航天信息软件技术有限公司 | 一种数据的迁移方法和系统 |
CN110175163A (zh) * | 2019-05-24 | 2019-08-27 | 江西尚通科技发展股份有限公司 | 基于业务功能智能解析的多库分离方法、系统及介质 |
CN110209652A (zh) * | 2019-05-20 | 2019-09-06 | 平安科技(深圳)有限公司 | 数据表迁移方法、装置、计算机设备和存储介质 |
CN110222036A (zh) * | 2013-07-09 | 2019-09-10 | 甲骨文国际公司 | 自动数据库迁移架构 |
CN110275914A (zh) * | 2019-04-26 | 2019-09-24 | 武汉众邦银行股份有限公司 | 跨数据库的数据迁移方法、装置和存储介质 |
CN110688367A (zh) * | 2019-09-27 | 2020-01-14 | 浪潮软件集团有限公司 | 一种通用的数据库迁移适配方法及系统 |
-
2020
- 2020-03-13 CN CN202010174080.8A patent/CN111367890A/zh active Pending
Patent Citations (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080115123A1 (en) * | 2006-11-15 | 2008-05-15 | International Business Machines Corporation | Assisted migration in a data processing environment |
CN101609425A (zh) * | 2008-06-19 | 2009-12-23 | 中兴通讯股份有限公司 | 一种脚本及关联数据移植系统及移植方法 |
CN103257878A (zh) * | 2013-05-16 | 2013-08-21 | 浪潮通信信息系统有限公司 | 一种基于云计算的应用程序的跨平台平滑迁移方法 |
CN110222036A (zh) * | 2013-07-09 | 2019-09-10 | 甲骨文国际公司 | 自动数据库迁移架构 |
US20150134681A1 (en) * | 2013-08-08 | 2015-05-14 | Oshyn, Inc. | Migrating data for web content management systems |
CN104281484A (zh) * | 2014-09-23 | 2015-01-14 | 华为技术有限公司 | 一种虚拟机迁移方法和装置 |
CN104794204A (zh) * | 2015-04-23 | 2015-07-22 | 上海新炬网络信息技术有限公司 | 一种数据库敏感数据自动识别方法 |
CN105740722A (zh) * | 2016-01-25 | 2016-07-06 | 上海新炬网络信息技术有限公司 | 一种数据库敏感数据的伪装方法 |
CN105740462A (zh) * | 2016-03-02 | 2016-07-06 | 上海新炬网络信息技术有限公司 | 一种支持不同环境之间的数据迁移方法 |
CN106055670A (zh) * | 2016-06-06 | 2016-10-26 | 中国工商银行股份有限公司 | 一种系统间数据迁移方法及装置 |
CN108153806A (zh) * | 2016-11-30 | 2018-06-12 | Ncr公司 | 数据迁移 |
CN107256252A (zh) * | 2017-06-09 | 2017-10-17 | 浪潮软件集团有限公司 | 一种第三方多维数据迁移方法及装置 |
CN107704597A (zh) * | 2017-10-13 | 2018-02-16 | 携程旅游网络技术(上海)有限公司 | 关系型数据库至Hive的ETL脚本创建方法 |
CN107992512A (zh) * | 2017-10-20 | 2018-05-04 | 中国建设银行股份有限公司上海市分行 | 一种数据迁移的方法、系统及计算机可读存储介质 |
CN107958057A (zh) * | 2017-11-29 | 2018-04-24 | 苏宁云商集团股份有限公司 | 一种用于异构数据库中数据迁移的代码生成方法及装置 |
CN108021647A (zh) * | 2017-11-30 | 2018-05-11 | 郑州云海信息技术有限公司 | 一种文件迁移方法、系统、介质及设备 |
CN110069471A (zh) * | 2017-12-07 | 2019-07-30 | 航天信息软件技术有限公司 | 一种数据的迁移方法和系统 |
CN108959470A (zh) * | 2018-06-20 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种数据库数据跨平台迁移方法和装置 |
CN109684298A (zh) * | 2018-09-07 | 2019-04-26 | 平安科技(深圳)有限公司 | 数据库迁移方法、装置、设备及存储介质 |
CN110275914A (zh) * | 2019-04-26 | 2019-09-24 | 武汉众邦银行股份有限公司 | 跨数据库的数据迁移方法、装置和存储介质 |
CN110209652A (zh) * | 2019-05-20 | 2019-09-06 | 平安科技(深圳)有限公司 | 数据表迁移方法、装置、计算机设备和存储介质 |
CN110175163A (zh) * | 2019-05-24 | 2019-08-27 | 江西尚通科技发展股份有限公司 | 基于业务功能智能解析的多库分离方法、系统及介质 |
CN110688367A (zh) * | 2019-09-27 | 2020-01-14 | 浪潮软件集团有限公司 | 一种通用的数据库迁移适配方法及系统 |
Non-Patent Citations (1)
Title |
---|
梁毅,等: "基于遗传算法的Spark中间结果数据迁移策略", 软键导刊, vol. 19, no. 4, 22 November 2019 (2019-11-22), pages 89 - 92 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112181489A (zh) * | 2020-09-28 | 2021-01-05 | 中国平安人寿保险股份有限公司 | 代码迁移方法、装置、计算机设备及存储介质 |
CN112181489B (zh) * | 2020-09-28 | 2023-07-25 | 中国平安人寿保险股份有限公司 | 代码迁移方法、装置、计算机设备及存储介质 |
CN114610697A (zh) * | 2022-03-22 | 2022-06-10 | 平安科技(深圳)有限公司 | 数据迁移方法、装置、计算机设备和存储介质 |
CN114610697B (zh) * | 2022-03-22 | 2024-06-28 | 平安科技(深圳)有限公司 | 数据迁移方法、装置、计算机设备和存储介质 |
CN116645121A (zh) * | 2023-05-05 | 2023-08-25 | 国网浙江省电力有限公司 | 基于多维度数据融合的营销模型迁移迭代方法及处理方法 |
CN116645121B (zh) * | 2023-05-05 | 2023-11-03 | 国网浙江省电力有限公司 | 基于多维度数据融合的营销模型迁移迭代方法及处理方法 |
CN116414447A (zh) * | 2023-05-17 | 2023-07-11 | 北京比格大数据有限公司 | 一种跨架构迁移方法及装置、电子设备及存储介质 |
CN116414447B (zh) * | 2023-05-17 | 2023-09-22 | 北京比格大数据有限公司 | 一种跨架构迁移方法及装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111367890A (zh) | 一种数据迁移的方法、装置、计算机设备及可读存储介质 | |
CN110764942A (zh) | 多种类数据校验方法、装置、计算机系统及可读存储介质 | |
CN110442371B (zh) | 一种发布代码的方法、装置、介质及计算机设备 | |
CN110287098A (zh) | 自动创建测试脚本方法、服务器及计算机可读存储介质 | |
CN113312108A (zh) | Swift报文的校验方法、装置、电子设备及存储介质 | |
CN114090671A (zh) | 数据导入方法、装置、电子设备及存储介质 | |
CN111666087A (zh) | 运算规则更新方法、装置、计算机系统及可读存储介质 | |
CN117033249A (zh) | 一种测试用例生成方法、装置、计算机设备及存储介质 | |
CN111435367A (zh) | 知识图谱的构建方法、系统、设备及存储介质 | |
CN110633258B (zh) | 日志插入方法、装置、计算机装置及存储介质 | |
CN111984666B (zh) | 数据库访问方法、装置、计算机可读存储介质和计算机设备 | |
CN114661423A (zh) | 集群配置检测方法、装置、计算机设备及存储介质 | |
CN113448614A (zh) | 软件项目代码管理方法、装置、存储介质和电子设备 | |
EP3999917B1 (en) | Method and system for generating a digital representation of asset information in a cloud computing environment | |
CN112363814A (zh) | 任务调度方法、装置、计算机设备及存储介质 | |
CN111562907A (zh) | 自定义接口数据的转换方法与系统 | |
CN114968725A (zh) | 任务依赖关系校正方法、装置、计算机设备及存储介质 | |
US10649743B2 (en) | Application developing method and system | |
CN114637672A (zh) | 自动化数据测试方法、装置、计算机设备及存储介质 | |
CN111400245B (zh) | 美术资源迁移方法及装置 | |
CN109828752B (zh) | 项目代码自动生成方法、装置、计算机设备及存储介质 | |
CN107885839B (zh) | 一种在Word文件中读取信息的方法和装置 | |
CN113407378A (zh) | 一种分布式数据库的分片信息备份方法及装置 | |
CN114253642A (zh) | 系统信息处理方法、装置、电子设备及介质 | |
CN103440289B (zh) | 基于MapReduce的网页不兼容标签并行查找方法 |
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 |