CN111666266A - 一种数据迁移方法及相关设备 - Google Patents

一种数据迁移方法及相关设备 Download PDF

Info

Publication number
CN111666266A
CN111666266A CN202010517801.0A CN202010517801A CN111666266A CN 111666266 A CN111666266 A CN 111666266A CN 202010517801 A CN202010517801 A CN 202010517801A CN 111666266 A CN111666266 A CN 111666266A
Authority
CN
China
Prior art keywords
data
file
migration
sql
migrated
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
Application number
CN202010517801.0A
Other languages
English (en)
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.)
Kingdee Software China Co Ltd
Original Assignee
Kingdee Software China 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 Kingdee Software China Co Ltd filed Critical Kingdee Software China Co Ltd
Priority to CN202010517801.0A priority Critical patent/CN111666266A/zh
Publication of CN111666266A publication Critical patent/CN111666266A/zh
Pending legal-status Critical Current

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/214Database migration support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases

Landscapes

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

Abstract

本申请实施例公开了一种数据迁移方法,用于对SQL数据库中的数据进行迁移。本申请实施例方法包括:确定需迁移的数据和需迁移至的目标地址;获取划分信息;依据所述划分信息对所述需迁移的数据进行划分,得到多个不同的迁移数据;依据所述多个不同的迁移数据生成对应的多个SQL脚本文件,所述多个SQL脚本文件用于将所述多个不同的迁移数据迁移至所述目标地址;依次执行所述多个SQL脚本文件。从以上技术方案可以看出,本申请实施例具有以下优点:将需迁移的数据划分为多个迁移数据,并生成每个迁移数据所对应的SQL脚本文件,依次执行SQL脚本文件进而完成数据的迁移过程,使得传输过程更加稳定可控。更适应对大量数据的迁移过程,数据安全性提高。

Description

一种数据迁移方法及相关设备
技术领域
本申请实施例涉及数据处理领域,尤其涉及一种数据迁移方法及相关设备。
背景技术
在大数据时代中,数据库***的数据类型与规模在不断扩增,这给数据库管理带来了一定的挑战。在社会生产生活中,对于数据库的应用范围逐步增大,提升数据库开发及应用的效率,是保障我国社会生产生活高效运转的关键。SQL作为一种操作命令集,以其丰富的功能受到业内人士的广泛欢迎,成为提升数据库操作效率的保障。SQL数据库作为支持SQL语句的数据库得到了大量应用,SQL数据库能够有效提升数据请求与返回的速度,有效应对复杂任务的处理,是提升工作效率的关键。由于SQL数据库具有较高的数据管理性能,因其优越的性能大量应用于服务器和客户体系结构中。SQL数据库的优点主要由以下几个方面体现:***的吞吐量、响应时间以及并行处理能力,发出请求服务器回应的速度、还有不同屏幕之间切换的速度等等。
在对SQL数据库内的数据进行迁移时,通常需要人员进行手动操作和管控,确定所需迁移的具体数据和迁移的目的地址,并执行迁移过程,对所确定的数据向目的地址迁移。
SQL数据库迁移数据时需对迁移的数据整体执行迁移,若迁移的数据量较大,则对资源消耗较大,例如大数据量的进行数据迁移过程中数据库需要记录大量的日志信息、临时信息,数据库容量会出现巨大增长,很容易造成磁盘空间不足,最终导致迁移中断。另外,抗干扰能力较差,若在迁移过程中突发特殊情况,需要中途中断迁移,恢复***正常使用,而大数据量恢复回滚时间较久。
发明内容
当前对SQL数据库内的数据进行迁移时,通常需要人员进行手动操作和管控,对设备资源消耗较大,常常由于资源不足导致迁移中断,迁移过程消耗时间较长,若在迁移过程中突发特殊情况,抗干扰能力较差,本申请提供了一种数据迁移方法以解决此类问题。
本申请实施例第一方面提供了一种数据迁移方法,包括:
确定SQL数据库中需迁移的数据和需迁移至的目标地址;
获取划分信息;
依据所述划分信息对所述需迁移的数据进行划分,得到多个不同的迁移数据;
依据所述多个不同的迁移数据生成对应的多个SQL脚本文件,所述多个SQL脚本文件用于将所述多个不同的迁移数据迁移至所述目标地址;
依次执行所述多个SQL脚本文件。
基于本申请实施例第一方面,可选地,所述依据所述多个不同的迁移数据生成对应的多个SQL脚本文件,包括:
依据所述多个不同的迁移数据生成对应的所述多个SQL脚本文件和批处理文件,所述批处理文件用于确定所述多个SQL脚本文件的执行顺序;
所述依次执行所述多个SQL脚本文件,包括:
依据所述批处理文件依次执行所述多个SQL脚本文件。
基于本申请实施例第一方面,可选地,所述批处理文件的执行规则包括:每执行完成所述多个SQL脚本文件中的一个或多个SQL脚本文件,则依次执行日志文件清理脚本文件和临时文件清理脚本文件;
所述日志文件清理脚本文件用于清理所述SQL脚本文件执行过程中所生成的日志文件,所述临时文件清理脚本文件用于清理所述SQL脚本文件执行过程中所生成的临时文件。
基于本申请实施例第一方面,可选地,所述批处理文件的执行规则包括:每执行完成所述多个SQL脚本文件中的一个或多个SQL脚本文件,则执行数据库收缩脚本文件;
所述数据库收缩脚本文件用于在所述SQL脚本文件执行完成后对所述SQL数据库进行收缩。
基于本申请实施例第一方面,可选地,所述批处理文件的执行规则包括:每执行完成所述多个SQL脚本文件中的一个或多个SQL脚本文件,则执行脚本延迟文件,所述脚本延迟文件用于使所述多个SQL脚本文件执行过程中存在间隔。
基于本申请实施例第一方面,可选地,所述确定需迁移的数据和需迁移至的目标地址,之后,所述方法还包括:对所述需迁移的数据进行备份。
基于本申请实施例第一方面,可选地,所述SQL脚本文件包括OSPL命令语句和/或SQLCMD命令语句。
本申请实施例第二方面提供了一种数据迁移设备,包括:
确定单元,用于确定SQL数据库中需迁移的数据和需迁移至的目标地址;
获取单元,用于获取划分信息;
划分单元,用于依据所述划分信息对所述需迁移的数据进行划分,得到多个不同的迁移数据
生成单元,用于依据所述多个不同的迁移数据生成对应的多个SQL脚本文件,所述多个SQL脚本文件用于将迁移数据迁移至目标地址;
执行单元,用于依次执行所述多个SQL脚本文件,以使得所述需迁移的数据迁移至目标地址。
本申请实施例第三方面提供了一种数据迁移设备,包括:
中央处理器,存储器,输入输出接口,有线或无线网络接口以及电源;
所述存储器为短暂存储存储器或持久存储存储器;
所述中央处理器配置为与所述存储器通信,在所述数据迁移设备上执行所述存储器中的指令操作以执行本申请实施例第一方面中任意一项所述的方法。
本申请实施例第四方面提供了一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使得计算机执行如本申请实施例第一方面中任意一项所述的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:将SQL数据库中需迁移的数据划分为多个迁移数据,并生成每个迁移数据所对应的SQL脚本文件,依次执行SQL脚本文件,以完成需迁移的数据的迁移过程,使得数据迁移过程更加稳定可控,适合数据库大数据量的数据迁移。在迁移过程发生问题时,可选择放弃当前所执行的SQL脚本文件,或选择回滚至当前所执行的SQL脚本文件之前,需回滚的数据量较小,使得数据库可较快恢复到正常工作状态,同时可选择未执行的SQL脚本文件继续执行以完成迁移过程。对于大数据量进行迁移过程中所产生的的日志信息和临时信息进行相应的处理,以降低对数据库的压力,减小传输过程中的磁盘空间使用量,进而提高了数据迁移过程的抗干扰能力。
附图说明
图1为本申请数据迁移方法实施例的一个流程示意图;
图2为本申请数据迁移方法实施例的另一个流程示意图;
图3为本申请批处理文件执行过程的一个流程示意图;
图4为本申请批处理文件执行过程的另一个流程示意图;
图5为本申请数据迁移设备的一个结构示意图;
图6为本申请数据迁移设备的另一个结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本方案提出一种新的数据迁移方法,用于执行SQL数据库中的数据迁移过程,具体请参照图1,本申请数据迁移方法包括:
101、确定SQL数据库中需迁移的数据和需迁移至的目标地址。
确定SQL数据库中需迁移的数据和这些数据需迁移至的目标地址,对于SQL数据库在使用过程中往往会积累较多的数据,尤其对于零售餐饮等行业所使用的SQL数据库,每天都会相应产生大量的营业数据,为了更好的保存和使用这些数据,往往需要由某一级别的SQL数据库向另一级别的SQL数据库传输数据,或由SQL数据库中某一表结构到另一表结果的转移,在执行传输过程前需要确定具体需迁移的数据和需迁移至的目标地址。可以理解的是,迁移过程也可发生在SQL数据库内部,即由SQL数据库中的某一个表迁移到另一个数据表。具体可依照实际情况而定,此处不做限定。
102、获取划分信息。
获取划分信息,获取用户对需迁移的数据的具体划分规则,即划分信息,划分信息由用户输入,用于确定对需迁移的数据进行具体划分。划分可由需迁移的数据的不同方面的信息进行确定,如:按需迁移的数据的数据量进行划分,或按照需迁移的数据的数据生成时间进行划分,如划分为三月份至六月份数据和六月份至九月份数据等形式。具体划分规则可依照实际情况而定,此处不做限定。
103、依据所述划分信息对所述需迁移的数据进行划分,得到多个不同的迁移数据。
依据所述划分信息对所述所述需迁移的数据进行划分,得到多个不同的迁移数据。对需迁移的数据进行划分,以得到划分信息所对应的多个不同的迁移数据,多个不同迁移数据组成了需迁移的数据整体。可以理解的是,此处所说的对所述需迁移的数据进行划分,目的在于确定各个迁移数据之间的边界,以保证需迁移的数据在迁移过程中的完整迁移,实际实施过程中可以获得依据划分信息进行划分后得到的多个不同的迁移数据块,也可仅获得各个迁移数据的边界信息,在迁移过程实施时从需迁移的数据中具体确定所对应的迁移数据,具体可依照实际情况而定,此处不做限定。
104、依据所述多个不同的迁移数据生成对应的多个SQL脚本文件。
依据所述多个不同的迁移数据生成对应的多个SQL脚本文件,所述多个SQL脚本文件用于将所述多个不同的迁移数据迁移至所述目标地址。依据划分规则所划分出的多个不同的迁移数据生成各个迁移数据所对应的SQL脚本文件,SQL脚本文件用于将迁移数据迁移至目标地址,依据划分信息所划分得到的每个迁移数据均存在对应的SQL脚本文件,且每个SQL脚本文件的作用都在于将对应的迁移数据迁移至目标地址。因此执行所有的脚本文件后,即可将所有的迁移数据迁移至目标地址,即完成了将需迁移数据迁移至目标地址过程。SQL脚本文件包含执行SQL命令的语句,该语句可适用于SQL数据库环境,以执行将数据由某一地址迁移至另一地址的任务,作为一种可选的执行形式,SQL脚本文件可包括OSPL命令语句或SQLCMD命令语句。具体使用命令语句的种类可依照SQL数据库所支持的指令语句类型而定,此处不做限定。
105、依次执行所述多个SQL脚本文件。
依次执行上述104步骤所生成的多个SQL脚本文件。以完成对需迁移数据的迁移过程,每完成一个SQL脚本文件,则表示一部分迁移数据已被迁移至目标地址,达成了一部分的迁移需求,将104步骤中所生成的多个SQL脚本文件全部执行完成后,则完成了对需迁移数据的迁移过程,具体而言,用户可自行设置SQL脚本文件的执行顺序,例如按照数据生成由先之后的顺序,依次执行对应的SQL脚本文件,或按照划分出的迁移数据数据量大小顺序,由对应迁移数据数据量较大的SQL脚本文件开始执行,具体可依照实际情况而定,此处不做限定。
从以上技术方案可以看出,本申请实施例具有以下优点:将SQL数据库中需迁移的数据划分为多个迁移数据,并生成每个迁移数据所对应的SQL脚本文件,依次执行SQL脚本文件,以完成需迁移的数据的迁移过程,使得数据迁移过程更加稳定可控,适合数据库大数据量的数据迁移。在迁移过程发生问题时,可选择放弃当前所执行的SQL脚本文件,或选择回滚至当前所执行的SQL脚本文件之前,需回滚的数据量较小,使得数据库可较快恢复到正常工作状态,同时可选择未执行的SQL脚本文件继续执行以完成迁移过程。对于大数据量进行迁移过程中所产生的的日志信息和临时信息进行相应的处理,以降低对数据库的压力,减小传输过程中的磁盘空间使用量,进而提高了数据迁移过程的抗干扰能力。
基于现有的数据迁移方案执行过程中资源消耗过大,常常由于资源不足导致迁移中断,大数据量的进行迁移,过程中数据库需要记录大量的日志信息、临时信息,数据库容量会出现巨大增长,很容易造成磁盘空间不足,最终导致迁移中断等问题,本申请提供上述数据迁移方法的另一种实施方式,请参阅图2,本申请数据迁移方法的一个实施例包括:步骤201-步骤206。
201、确定SQL数据库中需迁移的数据和需迁移至的目标地址。
确定SQL数据库中需迁移的数据和这些数据需迁移至的目标地址,SQL数据库在使用过程中往往存在需要由某一级别的SQL数据库向另一级别的SQL数据库传输数据的需求,即需要确定具体需迁移的数据和需迁移至的目标地址。可以理解的是,迁移过程也可发生在SQL数据库内部,即由SQL数据库中的某一个表迁移到另一个数据表。具体可依照实际情况而定,此处不做限定。
202、对所述需迁移的数据进行备份。
对所述需迁移的数据进行备份。在数据迁移过程中往往存在许多不确定因素,如断电、断网、数据写入发生错误等情况,因此为保证需迁移的数据的安全,需对需迁移的数据进行备份。备份过程应在迁移开始前完成,以保证数据的完整性与准确性。具体的可对需迁移的数据进行复制,并保存于备份数据库,备份过程属于本领域人员容易知道的技术手段,此处不再赘述。
203、获取划分信息。
获取用户所输入的划分信息。划分信息用于确定对需迁移的数据进行具体划分。划分可由需迁移的数据的不同方面的信息进行确定,如:按需迁移的数据的数据量进行划分,或按照需迁移的数据的数据生成时间进行划分,如划分为三月份至六月份数据和六月份至九月份数据等形式。具体划分规则可依照实际情况而定,此处不做限定。
204、依据所述划分信息对所述所述需迁移的数据进行划分,得到多个不同的迁移数据。
依据所述划分信息对所述所述需迁移的数据进行划分,得到多个不同的迁移数据。对需迁移的数据进行划分,以得到划分信息所对应的多个不同的迁移数据,多个不同迁移数据组成了需迁移的数据整体。可以理解的是此处所说的对所述需迁移的数据进行划分,目的在于确定各个迁移数据之间的边界,以保证需迁移的数据在迁移过程中的完整进行,实际实施过程中可以获得依据划分信息进行划分后得到的多个不同的迁移数据块,也可仅获得各个迁移数据的边界信息,在迁移过程实施时从需迁移的数据中具体确定所对应的迁移数据,具体可依照实际情况而定,此处不做限定。
205、依据所述多个不同的迁移数据生成对应的多个SQL脚本文件和批处理文件。
依据所述多个不同的迁移数据生成对应的多个SQL脚本文件和批处理文件,所述批处理文件用于确定所述多个SQL脚本文件的执行顺序。依据所述多个不同的迁移数据生成对应的多个SQL脚本文件,所述多个SQL脚本文件用于将所述多个不同的迁移数据迁移至所述目标地址。依据划分规则所划分出的多个不同的迁移数据生成各个迁移数据所对应的SQL脚本文件,SQL脚本文件用于将迁移数据迁移至目标地址,依据划分信息所划分得到的每个迁移数据均存在对应的SQL脚本文件,因此执行所有的脚本文件后,即可将所有的迁移数据迁移至目标地址,即完成了将需迁移数据迁移至目标地址过程。SQL脚本文件包含执行SQL命令的语句,该语句可适用于SQL数据库环境,以执行将数据由某一地址迁移至另一地址的任务,作为一种可选的执行形式,SQL脚本文件可包括OSPL命令语句或SQLCMD命令语句。可以理解的是,在本方案实施过程中,SQL脚本文件生成前还可包括对SQL数据库所支持的命令语句格式判断这一过程,以保证所生的SQL脚本文件可正常使用。具体使用命令语句的种类可依照SQL数据库所支持的指令语句类型而定,此处不做限定。
批处理文件(Batch)用于确定所生成的SQL脚本文件的执行顺序,例如:若生成了:180101-180331对应的SQL脚本文件、180401-180630对应的SQL脚本文件和180701-180930对应的SQL脚本文件,则批处理文件所确定的执行逻辑为:先执行180101-180331对应的SQL脚本文件,判断其是否执行完成,若执行完成,则执行180401-180630对应的SQL脚本文件,再判断80401-180630对应的SQL脚本文件是否执行完成,若执行完成,则执行180701-180930对应的SQL脚本文件,若执行完成则完成程序,关闭迁移程序或向用户返回迁移成功的结果,具体此处不做限定。批处理文件的作用在于确定各个脚本的执行顺序,及保证在一个脚本文件执行后另一脚本文件的自动执行。
206、依据所述批处理文件依次执行所述多个SQL脚本文件。
依据所述批处理文件依次执行所述多个SQL脚本文件。依据批处理文件的执行逻辑对依次执行多个SQL脚本文件,以完成对数据的迁移过程。
可以理解的是,在批处理文件所确定的执行顺序中,也可包括不属于SQL脚本文件的其他文件的执行,以满足用户的需求。如:批处理文件的执行规则包括:每执行完成所述多个SQL脚本文件中的一个或多个SQL脚本文件,则依次执行日志文件清理脚本文件、临时文件清理脚本文件和数据库收缩脚本文件。具体情况可参考图3、批处理文件执行过程的一个流程示意图,包括:
301、执行所述多个SQL脚本文件中的某一SQL脚本文件。
执行多个SQL脚本文件中的某一SQL脚本文件,并判断该SQL脚本文件是否执行完成,若执行完成则执行步骤302、执行日志文件清理脚本文件。
302、执行日志文件清理脚本文件。
若多个SQL脚本文件中的某一SQL脚本文件执行完成,则执行日志文件清理脚本文件,日志文件清理脚本文件用于清理所述SQL脚本文件执行过程中所生成的日志文件,在迁移数据的迁移过程中会产生对应的日志文件,日志文件记录当前时刻迁移过程的进度等其他信息,日志文件的生成与写入与迁移数据的迁移过程同步进行,对数据库的数据处理压力较大,在迁移数据迁移完成后,该部分迁移数据所对应的日志文件所记录的信息作用较低,因此对所产生的的日志文件进行清理,即运行日志文件清理脚本文件,以将日志文件删除或存储与预定地点可降低数据库的运行压力。
303、执行临时文件清理脚本文件。
判断日志文件清理脚本执行完成后,则执行临时文件清理脚本文件。临时文件清理脚本文件用于清理所述SQL脚本文件执行过程中所生成的临时文件,在迁移数据的迁移过程中会产生一定的临时文件,临时文件用于辅助数据迁移过程的进行,由于临时文件的产生于使用都在SQL数据库内部进行或与SQL数据库的运行有关,且所产生的临时文件均用于上一部分迁移数据的迁移过程,因此,在该部分迁移数据迁移完成后,其所对应的临时文件也失去使用价值,执行临时文件清理脚本文件,可降低对SQL数据库的运算压力,提高SQL数据库的运行速度。可以理解的是,临时文件清理脚本文件的执行过程不一定在日志文件清理脚本文件执行完成之后进行,也可以先执行临时文件清理脚本文件再执行日志文件清理脚本文件,只需在多个SQL脚本文件中的某一SQL脚本文件执行完成之后即可,具体此处不做限定。
304、执行数据库收缩脚本文件。
判断临时文件清理脚本文件执行完成后,则执行数据库收缩脚本文件,数据库收缩脚本文件用于在所述SQL脚本文件执行完成后对所述SQL数据库进行收缩。执行数据库收缩脚本文件可降低数据库所占的空间并删除一些无意义的数据,清理空白空间。以提高数据库的运行效率,降低外部因素对数据库的干扰。
批处理文件的执行逻辑可如上述步骤301至步骤304所述循环执行,直至依据划分数据所生成的所有SQL脚本文件执行完成。通过上述步骤301至步骤304的方式执行,每一批次的迁移数据执行完成后,都对数据库进行清理处理,以清除该次传输过程所生成的日志文件和临时文件,并对数据库收缩以降低数据库的处理压力,减小所占据的磁盘体积,提高数据库的处理效率。可以理解的是,批处理文件中所设定的执行逻辑可与本实施例中的逻辑存在一定不同,如每执行两次SQL脚本文件完成后执行上述步骤302至304所述的清理过程或执行特定数目的SQL脚本文件后即进行对数据库的清理过程,此种形式仍属本方案所描述的范围内,具体此处不再赘述。
在批处理文件的执行过程中,也可执行一些其他另外类型的脚本文件,如以VB(Visual Basic)语言编制的脚本延迟文件。具体的,可参考图4、批处理文件执行过程的另一个流程示意图进行理解,包括:
401、执行所述多个SQL脚本文件中的某一SQL脚本文件。
执行多个SQL脚本文件中的某一SQL脚本文件,并判断该SQL脚本文件是否执行完成,若执行完成则执行步骤402、执行脚本延迟文件。
402、执行脚本延迟文件。
若多个SQL脚本文件中的某一SQL脚本文件执行完成,则执行脚本延迟文件,所述脚本延迟文件用于使所述多个SQL脚本文件执行过程中存在间隔。通过在SQL脚本文件的执行过程中添加执行间隔时间以降低数据迁移过程中对中央处理器的压力,防止对数据库进行持续高压的操作,释放处理器资源,供***和数据库自身进行回收等其他操作。批处理文件依照上述401和402步骤所包括的执行方式循环执行,直至所有SQL脚本文件执行完成,即需迁移的数据全部完成迁移。
可以理解的是,上述图3所对应的批处理文件执行逻辑与上述图4所对应的批处理文件执行逻辑之间不存在冲突,二者可组合执行,即在304、执行数据库收缩脚本文件。后再执行步骤402、执行脚本延迟文件。以达到清理数据库降低数据库数据处理压力和降低处理器压力的效果,可以理解的是,执行脚本延迟文件过程与步骤301至步骤304之间不存在时序上的逻辑关系,因此可在任意时间点执行,可依照实际情况而定,此处不做限定。同时批处理文件中所设定的执行逻辑可与本实施例中的逻辑存在一定不同,如每执行两次SQL脚本文件完成后执行脚本延迟文件以对降低对设备的压力或执行特定数目的SQL脚本文件后再执行脚本延迟文件,此种形式仍属本方案所描述的范围内,具体此处不再赘述。
图5为本实施例一种数据迁移设备,包括:
确定单元501,用于确定SQL数据库中需迁移的数据和需迁移至的目标地址;
获取单元502,用于获取划分信息;
划分单元503,用于依据所述划分信息对所述需迁移的数据进行划分,得到多个不同的迁移数据
生成单元504,用于依据所述多个不同的迁移数据生成对应的多个SQL脚本文件,所述多个SQL脚本文件用于将迁移数据迁移至目标地址;
执行单元505,用于依次执行所述多个SQL脚本文件,以使得所述需迁移的数据迁移至目标地址。
本实施例中,数据迁移设备中各单元所执行的流程与前述图1所对应的实施例中描述的方法流程类似,此处不再赘述。
图6是本申请实施例提供的一种数据迁移设备的结构示意图,该数据迁移设备600可以包括一个或一个以***处理器(central processing units,CPU)601和存储器605,该存储器605中存储有一个或一个以上的应用程序或数据。
本实施例中,中央处理器601中的具体功能模块划分可以与前述图4中所描述的各单元的功能模块划分方式类似,此处不再赘述。
其中,存储器605可以是易失性存储或持久存储。存储在存储器605的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器601可以设置为与存储器605通信,在服务器600上执行存储器605中的一系列指令操作。
服务器600还可以包括一个或一个以上电源602,一个或一个以上有线或无线网络接口603,一个或一个以上输入输出接口604,和/或,一个或一个以上操作***,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等。
该中央处理器601可以执行前述图1所示实施例中数据迁移方法所执行的操作,具体此处不再赘述。
本申请实施例还提供了一种计算机存储介质,该计算机存储介质用于储存为上述所用的计算机软件指令,其包括用于执行为数据迁移方法所设计的程序。
该数据迁移方法可以如前述图1或图2中所描述的数据迁移方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-onlymemory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (10)

1.一种数据迁移方法,其特征在于,包括:
确定SQL数据库中需迁移的数据和需迁移至的目标地址;
获取划分信息;
依据所述划分信息对所述需迁移的数据进行划分,得到多个不同的迁移数据;
依据所述多个不同的迁移数据生成对应的多个SQL脚本文件,所述多个SQL脚本文件用于将所述多个不同的迁移数据迁移至所述目标地址;
依次执行所述多个SQL脚本文件。
2.根据权利要求1所述的数据迁移方法,其特征在于,所述依据所述多个不同的迁移数据生成对应的多个SQL脚本文件,包括:
依据所述多个不同的迁移数据生成对应的所述多个SQL脚本文件和批处理文件,所述批处理文件用于确定所述多个SQL脚本文件的执行顺序;
所述依次执行所述多个SQL脚本文件,包括:
依据所述批处理文件依次执行所述多个SQL脚本文件。
3.根据权利要求2所述的数据迁移方法,其特征在于,所述批处理文件的执行规则包括:每执行完成所述多个SQL脚本文件中的一个或多个SQL脚本文件,则依次执行日志文件清理脚本文件和临时文件清理脚本文件;
所述日志文件清理脚本文件用于清理所述SQL脚本文件执行过程中所生成的日志文件,所述临时文件清理脚本文件用于清理所述SQL脚本文件执行过程中所生成的临时文件。
4.根据权利要求2所述的数据迁移方法,其特征在于,所述批处理文件的执行规则包括:每执行完成所述多个SQL脚本文件中的一个或多个SQL脚本文件,则执行数据库收缩脚本文件;
所述数据库收缩脚本文件用于在所述SQL脚本文件执行完成后对所述SQL数据库进行收缩。
5.根据权利要求2所述的数据迁移方法,其特征在于,所述批处理文件的执行规则包括:每执行完成所述多个SQL脚本文件中的一个或多个SQL脚本文件,则执行脚本延迟文件,所述脚本延迟文件用于使所述多个SQL脚本文件执行过程中存在间隔。
6.根据权利要求1所述的数据迁移方法,其特征在于,所述确定需迁移的数据和需迁移至的目标地址,之后,所述方法还包括:对所述需迁移的数据进行备份。
7.根据权利要求1所述的数据迁移方法,其特征在于,所述SQL脚本文件包括OSPL命令语句和/或SQLCMD命令语句。
8.一种数据迁移设备,其特征在于,包括:
确定单元,用于确定SQL数据库中需迁移的数据和需迁移至的目标地址;
获取单元,用于获取划分信息;
划分单元,用于依据所述划分信息对所述需迁移的数据进行划分,得到多个不同的迁移数据
生成单元,用于依据所述多个不同的迁移数据生成对应的多个SQL脚本文件,所述多个SQL脚本文件用于将迁移数据迁移至目标地址;
执行单元,用于依次执行所述多个SQL脚本文件,以使得所述需迁移的数据迁移至目标地址。
9.一种计算机设备,其特征在于,包括:
中央处理器,存储器,输入输出接口,有线或无线网络接口以及电源;
所述存储器为短暂存储存储器或持久存储存储器;
所述中央处理器配置为与所述存储器通信,在所述数据迁移设备上执行所述存储器中的指令操作以执行权利要求1-7中任意一项所述的方法。
10.一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1-7中任意一项所述的方法。
CN202010517801.0A 2020-06-09 2020-06-09 一种数据迁移方法及相关设备 Pending CN111666266A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010517801.0A CN111666266A (zh) 2020-06-09 2020-06-09 一种数据迁移方法及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010517801.0A CN111666266A (zh) 2020-06-09 2020-06-09 一种数据迁移方法及相关设备

Publications (1)

Publication Number Publication Date
CN111666266A true CN111666266A (zh) 2020-09-15

Family

ID=72386201

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010517801.0A Pending CN111666266A (zh) 2020-06-09 2020-06-09 一种数据迁移方法及相关设备

Country Status (1)

Country Link
CN (1) CN111666266A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112380185A (zh) * 2020-10-30 2021-02-19 中国人寿保险股份有限公司 一种数据转储方法、设备、电子设备及存储介质
CN112685384A (zh) * 2020-12-30 2021-04-20 平安普惠企业管理有限公司 数据迁移方法、装置、电子设备及存储介质
CN113190534A (zh) * 2021-05-26 2021-07-30 中国工商银行股份有限公司 数据库数据迁移方法及装置
CN115129661A (zh) * 2022-08-30 2022-09-30 东方电气风电股份有限公司 一种风场监控***服务器断电重启后数据迁移方法及***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070245332A1 (en) * 2001-09-28 2007-10-18 Yoram Tal Method and apparatus to perform an application software migration
CN107992512A (zh) * 2017-10-20 2018-05-04 中国建设银行股份有限公司上海市分行 一种数据迁移的方法、***及计算机可读存储介质
CN110222036A (zh) * 2013-07-09 2019-09-10 甲骨文国际公司 自动数据库迁移架构

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070245332A1 (en) * 2001-09-28 2007-10-18 Yoram Tal Method and apparatus to perform an application software migration
CN110222036A (zh) * 2013-07-09 2019-09-10 甲骨文国际公司 自动数据库迁移架构
CN107992512A (zh) * 2017-10-20 2018-05-04 中国建设银行股份有限公司上海市分行 一种数据迁移的方法、***及计算机可读存储介质

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112380185A (zh) * 2020-10-30 2021-02-19 中国人寿保险股份有限公司 一种数据转储方法、设备、电子设备及存储介质
CN112380185B (zh) * 2020-10-30 2024-05-28 中国人寿保险股份有限公司 一种数据转储方法、设备、电子设备及存储介质
CN112685384A (zh) * 2020-12-30 2021-04-20 平安普惠企业管理有限公司 数据迁移方法、装置、电子设备及存储介质
CN113190534A (zh) * 2021-05-26 2021-07-30 中国工商银行股份有限公司 数据库数据迁移方法及装置
CN115129661A (zh) * 2022-08-30 2022-09-30 东方电气风电股份有限公司 一种风场监控***服务器断电重启后数据迁移方法及***
CN115129661B (zh) * 2022-08-30 2022-11-22 东方电气风电股份有限公司 一种风场监控***服务器断电重启后数据迁移方法及***

Similar Documents

Publication Publication Date Title
CN111666266A (zh) 一种数据迁移方法及相关设备
US11397648B2 (en) Virtual machine recovery method and virtual machine management device
US20150213100A1 (en) Data synchronization method and system
CN110543386B (zh) 一种数据存储方法、装置、设备和存储介质
CN109358947B (zh) 一种虚拟机快照的实现方法及***
CN105677516A (zh) 一种计算靠近存储云平台中高效可靠的备份恢复方法
CN111078667A (zh) 一种数据迁移的方法以及相关装置
CN114637475A (zh) 一种分布式存储***控制方法、装置及可读存储介质
CN104899071A (zh) 集群中虚拟机的恢复方法和***
US20170083419A1 (en) Data management method, node, and system for database cluster
CN105242990A (zh) 基于云平台的数据备份方法和装置
CN108614876B (zh) 一种基于Redis数据库的***和数据处理方法
CN106502830B (zh) 一种基于Btrfs文件***的***备份还原方法
CN103559224A (zh) 一种对元数据对象进行散列的方法及装置
CN107402839B (zh) 一种备份数据的方法及***
CN110858168B (zh) 集群节点故障处理方法、装置及集群节点
CN110515767A (zh) 快照数据备份方法、装置、设备及可读存储介质
CN105574026A (zh) 非关系型数据库支持事务的方法及装置
CN103902401A (zh) 基于监控的虚拟机容错方法及装置
CN107783826A (zh) 一种虚拟机迁移方法、装置及***
CN116483274A (zh) 一种分布式块存储卷在线迁移方法、装置、设备及介质
CN115098300B (zh) 一种数据库的备份方法、容灾方法、装置及设备
CN114328007B (zh) 一种容器备份还原方法、装置及其介质
CN114721876A (zh) 一种数据备份方法、装置、介质
CN115174596A (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