CN111008188B - 数据迁移方法、装置、计算机设备和存储介质 - Google Patents

数据迁移方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN111008188B
CN111008188B CN201911038072.4A CN201911038072A CN111008188B CN 111008188 B CN111008188 B CN 111008188B CN 201911038072 A CN201911038072 A CN 201911038072A CN 111008188 B CN111008188 B CN 111008188B
Authority
CN
China
Prior art keywords
time
data
migration
migrated
preset
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
CN201911038072.4A
Other languages
English (en)
Other versions
CN111008188A (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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen 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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201911038072.4A priority Critical patent/CN111008188B/zh
Priority to PCT/CN2019/119566 priority patent/WO2021082104A1/zh
Publication of CN111008188A publication Critical patent/CN111008188A/zh
Application granted granted Critical
Publication of CN111008188B publication Critical patent/CN111008188B/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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请揭示了一种数据迁移方法、装置、计算机设备和存储介质,方法包括:获取源数据库中待迁移数据的第一条数据对应的第一时间,以及待迁移数据的最后一条数据对应的第二时间;按照第一预设规则对第一时间至第二时间之间的时间段进行拆分,得到多个时间片段;按照第二预设规则确定与指定时间片段对应的指定迁移数量;按照待迁移数据中的每一条数据分别录入至源数据库中的时间的先后排列顺序,依次从待迁移数据中查询出与指定迁移数量的数量相同的多条指定数据;通过预设数量的指定迁移服务器将指定数据迁移至目标数据库,依此类推,直至将源数据库中的所有待迁移数据迁移至目标数据库。本申请可实现对待迁移数据的快速迁移,降低数据迁移的成本。

Description

数据迁移方法、装置、计算机设备和存储介质
技术领域
本申请涉及数据处理技术领域,具体涉及一种数据迁移方法、装置、计算机设备和存储介质。
背景技术
随着现代科技的快速发展,人们的生活越来越离不开数据,而我们日常所用的各种存储系统也是依托数据来执行各种功能,数据库管理得到越来越广泛的应用,而在使用数据库的过程中,由于系统的切换和对不同系统中数据的统计和筛选等需求,经常需要对数据库中的数据进行数据迁移。
目前,数据迁移常见的方法包括以下步骤:1)在目标服务器中设置用于接收待迁移数据的目标数据库;2)读取出源数据库中的所有待迁移对象的信息,并分析所有待迁移对象之间的依赖关系;3)根据依赖关系的顺序,在目标数据库内执行对象创建和数据装载。
对于上述数据迁移方法,这种方法需要在读取出源数据库中的所有待迁移对象的信息之后,才能在目标数据库中执行对象的创建和数据的装载。而在数据迁移过程中,在执行读取所有待迁移对象的信息的读取操作时,如果待迁移对象为海量数据,则所需要查询的内容会非常多,容易导致该读取操作比较耗时。并且,随着待迁移对象的数量增加,读取信息的速度会越来越慢,从而导致后续的对象的创建和数据的装载长时间无法开始,严重影响数据迁移的效率和用户的迁移体验。
发明内容
本申请的主要目的为提供一种数据迁移方法、装置、计算机设备和存储介质,旨在解决现有的数据迁移方法需要在读取出源数据库中的所有待迁移对象的信息之后,才能在目标数据库中执行对象的创建和数据的装载,严重影响数据迁移的效率和用户的迁移体验的技术问题。
本申请提出一种数据迁移方法,所述方法包括步骤:
获取源数据库中待迁移数据的第一条数据对应的第一时间,以及所述待迁移数据的最后一条数据对应的第二时间,其中,所述第一时间为所述第一条数据录入至所述源数据库中的时间,所述第二时间为所述最后一条数据录入至所述源数据库中的时间;
按照第一预设规则对所述第一时间至所述第二时间之间的时间段进行拆分,得到对应的多个时间片段;
按照第二预设规则确定出与指定时间片段对应的指定迁移数量,其中,所述指定时间片段为所述多个时间片段中的任意一个时间片段;
按照所述待迁移数据中的每一条数据分别录入至所述源数据库中的时间的先后排列顺序,依次从所述待迁移数据中查询出与所述指定迁移数量的数量相同的多条指定数据;
通过预设数量的指定迁移服务器将所述指定数据迁移至目标数据库,依此类推,直至将所述源数据库中的所有待迁移数据迁移至所述目标数据库。
可选地,所述按照第一预设规则对所述第一时间至所述第二时间之间的时间段进行拆分,得到对应的多个时间片段的步骤,包括:
将所述第一时间作为第一时间片段的左端点值,并判断所述第一时间是否处于预设时间范围内,其中,所述第一时间片段为所有所述时间片段中按照从前到后的顺序划分的第一个时间片段;
若所述第一时间处于预设时间范围内,计算所述第一时间与第一预设时间值的第一和值,得到第一指定时间,并将所述第一时间与所述第一指定时间之间的时间段标记为所述第一时间片段;
若所述第一时间不处于预设时间范围内,计算所述第一时间与第二预设时间值的第二和值,得到第一指定时间,并将所述第一时间与所述第一指定时间之间的时间段标记为所述第一时间片段;
将所述第一指定时间作为第二时间片段的左端点值,并判断所述第一指定时间是否处于预设时间范围内,其中,所述第二时间片段为与所述第一时间片段相邻的下一个时间片段;
若所述第一指定时间处于预设时间范围内,计算所述第一指定时间与第一预设时间值的第三和值,得到第二指定时间,并将所述第一指定时间与所述第二指定时间之间的时间段标记为所述第二时间片段;
若所述第一指定时间不处于预设时间范围内,计算所述第一指定时间与第二预设时间值的第四和值,得到第二指定时间,并将所述第一指定时间与所述第二指定时间之间的时间段标记为所述第二时间片段,依此类推,直至完成对所述第一时间至所述第二时间之间的时间段的拆分。
可选地,所述按照第二预设规则确定出与指定时间片段对应的指定迁移数量的步骤,包括:
当所述指定时间片段为所述第一时间片段时,将预设的第一初始查询数量确定为所述指定迁移数量;
在完成了对所述源数据库的待迁移数据中与所述第一初始查询数量相同的多条第一数据的迁移后,计算每一条所述第一数据在迁移过程中的第一平均响应时间,并判断所述第一平均响应时间是否小于预设的第一响应时间阈值;
若是,计算所述第一初始查询数量与第一预设数量值的第五和值,得到第二初始查询数量,并将所述第二初始查询数量确定为与所述第二时间片段对应的指定迁移数量;
在完成了对所述源数据库的待迁移数据中与所述第二初始查询数量相同的多条第二数据的迁移后,计算每一条所述第二数据在迁移过程中的第二平均响应时间,并判断所述第二平均响应时间是否小于所述第一响应时间阈值;
若是,计算所述第二初始查询数量与所述第一预设数量值的第六和值,得到第三初始查询数量,并将所述第三初始查询数量确定为与第三时间片段对应的指定迁移数量,其中,所述第三时间片段为与所述第二时间片段相邻的下一个时间片段;
依此类推,在进行对于其他时间片段的数据迁移过程中,当当前时间片段对应的指定初始查询数量等于预设的查询量阈值时,在完成了对所述源数据库的待迁移数据中与所述指定初始查询数量相同的多条第三数据的迁移后,计算每一条所述第三数据在迁移过程中的指定平均响应时间,并判断所述指定平均响应时间是否等于预设的第二响应时间阈值;
若等于预设的第二响应时间阈值,判断所述目标数据库是否处于满负荷状态;
若处于满负荷状态,将所述查询量阈值确定为剩余的所有时间片段分别对应的指定迁移数量。
可选地,所述通过预设数量的指定迁移服务器将所述指定数据迁移至目标数据库的步骤之前,包括:
获取用户输入的迁移服务器IP,并对所述迁移服务器IP进行配置,以实现对于所述迁移服务器的调用;
获取所述迁移服务器IP的数量,并判断所述迁移服务器IP的数量是否大于预设的配置数量阈值;
若大于预设的配置数量阈值,从所述迁移服务器IP中筛选出与所述配置数量阈值的数量相同的第一迁移服务器,并将所述第一迁移服务器确定为所述指定迁移服务器;
若不大于预设的配置数量阈值,将所述迁移服务器IP的对应的所有第二迁移服务器确定为所述指定迁移服务器。
可选地,所述通过预设数量的指定迁移服务器将所述指定数据迁移至目标数据库的步骤,包括:
获取所述指定迁移服务器的数量;
将所有所述指定数据划分为与所述指定迁移服务器的数量相同的多个数据集;
将每个指定迁移服务器与一个数据集进行一一绑定,通过各所述指定迁移服务器将各所述数据集一一迁移至所述目标数据库中。
可选地,所述通过预设数量的指定迁移服务器将所述指定数据迁移至目标数据库,依此类推,直至将所述源数据库中的所有待迁移数据迁移至所述目标数据库的步骤之后,包括:
在完成对所述待迁移数据的迁移后,获取所述待迁移数据的迁移记录;
根据所述迁移记录,判断在所述待迁移数据中是否存在迁移失败的失败数据;
若是,对所述失败数据进行预设次数的重试修复处理;
判断在经过预设次数的重试修复处理后,是否存在任意一次对于所述失败数据的成功迁移;
若否,将所述失败数据转至人工修复处理。
可选地,所述通过预设数量的指定迁移服务器将所述指定数据迁移至目标数据库,依此类推,直至将所述源数据库中的所有待迁移数据迁移至所述目标数据库的步骤之后,包括:
在完成对所述待迁移数据的迁移后,获取第一迁移数据的第一头信息与第一数据大小值,其中,所述第一迁移数据为所述目标数据库内的所有迁移数据中的任意一条迁移数据,且所述迁移数据与所述待迁移数据为对应关系;
判断所述第一迁移数据的第一头信息、第一数据大小值,与预存储的对应的第一待迁移数据的第二头信息、第二数据大小值是否相同;
若相同,将所述第一迁移数据标记为对账完成状态,否则将所述第一迁移数据标记为对账异常状态,依次类推,直至完成对于所有所述迁移数据的对账处理。
本申请还提供一种数据迁移装置,包括:
第一获取模块,用于获取源数据库中待迁移数据的第一条数据对应的第一时间,以及所述待迁移数据中的最后一条数据对应的第二时间,其中,所述第一时间为所述第一条数据录入至所述源数据库中的时间,所述第二时间为所述最后一条数据录入至所述源数据库中的时间;
拆分模块,用于按照第一预设规则对所述第一时间至所述第二时间之间的时间段进行拆分,得到对应的多个时间片段;
确定模块,用于按照第二预设规则确定出与指定时间片段对应的指定迁移数量,其中,所述指定时间片段为所述多个时间片段中的任意一个时间片段;
查询模块,用于按照所述待迁移数据中的每一条数据分别录入至所述源数据库中的时间的先后排列顺序,依次从所述待迁移数据中查询出与所述指定迁移数量的数量相同的多条指定数据;
迁移模块,用于通过预设数量的指定迁移服务器将所述指定数据迁移至目标数据库,依此类推,直至将所述源数据库中的所有待迁移数据迁移至所述目标数据库。
本申请还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
本申请中提供的数据迁移方法、装置、计算机设备和存储介质,具有以下
有益效果:
本申请中提供的数据迁移方法、装置、计算机设备和存储介质,获取所述源数据库中待迁移数据的第一条数据对应的第一时间,以及所述待迁移数据的最后一条数据对应的第二时间;按照第一预设规则对所述第一时间至所述第二时间之间的时间段进行拆分,得到对应的多个时间片段;按照第二预设规则确定出与指定时间片段对应的指定迁移数量,其中,所述指定时间片段为所述多个时间片段中的任意一个时间片段;按照所述待迁移数据中的每一条数据分别录入至所述源数据库中的时间的先后排列顺序,依次从所述待迁移数据中查询出与所述指定迁移数量的数量相同的多条指定数据;通过预设数量的指定迁移服务器将所述指定数据迁移至目标数据库,依此类推,直至将所述源数据库中的所有待迁移数据迁移至所述目标数据库。本申请在需要对源数据库的待迁移数据进行迁移时,首先为临时数据库中的待迁移数据设置出多个时间片段,并在执行每个时间片段的数据迁移时,可以对每个时间片段智能的分配用于进行迁移的指定迁移数量的指定数据,再调用预设数量的指定迁移服务器来实现对于待迁移数据中指定数据的快速迁移,有效的减少了在数据迁移过程中所耗费的时间,降低了数据迁移的成本,提高了迁移服务器的使用效率。
附图说明
图1是本申请一实施例的数据迁移方法的流程示意图;
图2是本申请一实施例的数据迁移装置的结构示意图;
图3是本申请一实施例的计算机设备的结构示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用于解释本申请,并不用于限定本申请。
需要说明,本申请实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变,所述的连接可以是直接连接,也可以是间接连接。
参照图1,本申请一实施例的数据迁移方法,包括:
S1:获取源数据库中待迁移数据的第一条数据对应的第一时间,以及所述待迁移数据的最后一条数据对应的第二时间,其中,所述第一时间为所述第一条数据录入至所述源数据库中的时间,所述第二时间为所述最后一条数据录入至所述源数据库中的时间;
S2:按照第一预设规则对所述第一时间至所述第二时间之间的时间段进行拆分,得到对应的多个时间片段;
S3:按照第二预设规则确定出与指定时间片段对应的指定迁移数量,其中,所述指定时间片段为所述多个时间片段中的任意一个时间片段;
S4:按照所述待迁移数据中的每一条数据分别录入至所述源数据库中的时间的先后排列顺序,依次从所述待迁移数据中查询出与所述指定迁移数量的数量相同的多条指定数据;
S5:通过预设数量的指定迁移服务器将所述指定数据迁移至目标数据库,依此类推,直至将所述源数据库中的所有待迁移数据迁移至所述目标数据库。
如上述步骤S1至S5所述,本发明实施例的执行主体为一种数据迁移装置,通过该数据迁移装置可以实现对于待迁移数据的快速迁移,有效减少在数据迁移过程中所耗费的时间。具体地,首先可按照原始待迁移数据的时间先后顺序,将源数据库的原始待迁移数据同步至临时数据库,以通过上述临时数据库来存储与上述原始待迁移数据对应的待迁移数据,其中,上述临时数据库具有与上述源数据库相同的结构类型,举例地,如果源数据库为mysql数据库,则临时数据库也为mysql数据库。通过将待迁移数据从源数据库同步到临时数据库进行存储,有利于降低源数据库的压力,避免出现由于直接通过源数据库进行数据迁移而导致并发量过高的情况,有效的降低了对源数据库的在线正常业务的影响。在完成了对原始待迁移数据的同步后,获取上述源数据库中的第一条数据对应的第一时间,以及待迁移数据中的最后一条数据对应的第二时间。其中,在将待迁移数据录入至源数据库时,在源数据库中都会记录其对应的录入时间,上述第一时间为该第一条数据录入到源数据库中的时间,上述第二时间为该最后一条数据录入到源数据库中的时间。然后按照第一预设规则将上述第一时间至上述第二时间之间的时间段进行拆分,得到对应的多个时间片段。其中,上述第一预设规则可包括:根据预设的划分数量对第一时间至第二时间之间的时间段进行平均拆分,来得到与上述划分数量的数量相同的多个时间片段,上述划分数量可根据实际情况进行设置,例如可由用户根据个人需求输入的,也可为数据迁移装置自行设定的。另外,上述时间片段只指代一个时间区间,且该时间片段与待迁移数据录入到源数据中的时间无直接关系,例如某一个时间片段为30分钟,如为09:00-09:30。在获得了经过拆分后的时间片段后,再按照第二预设规则确定出与指定时间片段对应的指定迁移数量,其中,上述指定时间片段为上述多个时间片段中的任意一个时间片段,上述第二预设规则可包括:获取上述待迁移数据的数据总数量以及上述时间片段的数量,计算上述数据总数量与上述时间片段的数量之间的第一商值,并将上述第一商值确定为上述指定迁移数量。最后按照待迁移数据中的每一条数据分别录入至源数据库中的时间的先后排列顺序,依次从临时数据库中查询出与上述指定迁移数量的数量相同的多条指定数据,并在得到上述指定数据后,通过预设数量的指定迁移服务器将该指定数据迁移至目标数据库,依此类推,直至将临时数据库中的所有待迁移数据转移至目标数据库,其中,上述目标服务器为设置在目标服务器上用于接收待迁移数据的数据库,且可为与上述源数据库为数据结构类型不相同的数据库。本实施例在需要对源数据库的待迁移数据进行迁移时,首先将源数据库的原始待迁移数据同步到一个临时数据库中,然后为临时数据库中的待迁移数据设置出多个时间片段,并在执行每个时间片段的数据迁移时,可以对每个时间片段智能的分配用于进行迁移的指定迁移数量的指定数据,并调用预设数量的指定迁移服务器来实现对于待迁移数据中指定数据的快速迁移,有效的减少了在数据迁移过程中所耗费的时间,降低了数据迁移的成本,提高了迁移服务器的使用效率。在另一个实施例中,为了避免出现直接通过源数据库进行数据迁移,而导致并发量过高,对源数据库的在线正常业务造成较大影响的情况,还可先将源数据库中的待迁移数据同步至临时数据库,其中上述临时数据库具有与上述源数据库相同的结构类型,举例地,如果源数据库为mysql数据库,则临时数据库也为mysql数据库。并在临时数据库中完成对于待迁移数据的同步后,再将临时数据库内存储的待迁移数据迁移到目标数据库内,以实现对于待迁移数据的迁移流程。本实施例通过将待迁移数据从源数据库同步到临时数据库进行存储,有利于降低源数据库的压力,避免出现由于直接通过源数据库进行数据迁移而导致并发量过高的情况,有效的降低了对源数据库的在线正常业务的影响。
进一步地,本申请一实施例中,上述步骤S2,包括:
S200:将所述第一时间作为第一时间片段的左端点值,并判断所述第一时间是否处于预设时间范围内,其中,所述第一时间片段为所有所述时间片段中按照从前到后的顺序划分的第一个时间片段;
S201:若所述第一时间处于预设时间范围内,计算所述第一时间与第一预设时间值的第一和值,得到第一指定时间,并将所述第一时间与所述第一指定时间之间的时间段标记为所述第一时间片段;
S202:若所述第一时间不处于预设时间范围内,计算所述第一时间与第二预设时间值的第二和值,得到第一指定时间,并将所述第一时间与所述第一指定时间之间的时间段标记为所述第一时间片段;
S203:将所述第一指定时间作为第二时间片段的左端点值,并判断所述第一指定时间是否处于预设时间范围内,其中,所述第二时间片段为与所述第一时间片段相邻的下一个时间片段;
S204:若所述第一指定时间处于预设时间范围内,计算所述第一指定时间与第一预设时间值的第三和值,得到第二指定时间,并将所述第一指定时间与所述第二指定时间之间的时间段标记为所述第二时间片段;
S205:若所述第一指定时间不处于预设时间范围内,计算所述第一指定时间与第二预设时间值的第四和值,得到第二指定时间,并将所述第一指定时间与所述第二指定时间之间的时间段标记为所述第二时间片段,依此类推,直至完成对所述第一时间至所述第二时间之间的时间段的拆分。
如上述步骤S200至S205所述,本实施例可通过第一预设规则来实现对于时间片段的划分。上述按照第一预设规则对第一时间至第二时间之间的时间段进行拆分,得到对应的多个时间片段的步骤,具体可包括:首先将上述第一时间作为第一时间片段的左端点值,并判断上述第一时间是否处于预设时间范围内,其中,上述第一时间片段为所有上述时间片段中按照从前到后的顺序划分的第一个时间片段,另外,对上述预设时间范围不作具体限定,例如可设置为9点至21点的范围。如果第一时间处于预设时间范围内,则计算上述第一时间与第一预设时间值的第一和值,得到第一指定时间,并将上述第一时间与上述第一指定时间之间的时间段标记为上述第一时间片段,其中,对第一预设时间值的具体取值不作限定,可根据实际需要进行设置,例如可设置为5min。而如果第一时间不处于预设时间范围内,则计算上述第一时间与第二预设时间值的第二和值,得到第一指定时间,并将上述第一时间与上述第一指定时间之间的时间段标记为上述第一时间片段;其中,对上述第二预设时间值不作具体限定,可根据实际需要进行设置,例如可设置为30min。在得到了上述第一指定时间后,再将上述第一指定时间作为第二时间片段的左端点值,并判断上述第一指定时间是否处于预设时间范围内,其中,上述第二时间片段为与上述第一时间片段相邻的下一个时间片段。如果第一指定时间处于预设时间范围内,计算上述第一指定时间与第一预设时间值的第三和值,得到第二指定时间,并将上述第一指定时间与上述第二指定时间之间的时间段标记为上述第二时间片段。而如果第一指定时间不处于预设时间范围内,计算上述第一指定时间与第二预设时间值的第四和值,得到第二指定时间,并将上述第一指定时间与上述第二指定时间之间的时间段标记为上述第二时间片段,依此类推,直至完成对上述第一时间至上述第二时间之间的时间段的拆分。
进一步地,本申请一实施例中,上述步骤S3,包括:
S300:当所述指定时间片段为所述第一时间片段时,将预设的第一初始查询数量确定为所述指定迁移数量;
S301:在完成了对所述源数据库的待迁移数据中与所述第一初始查询数量相同的多条第一数据的迁移后,计算每一条所述第一数据在迁移过程中的第一平均响应时间,并判断所述第一平均响应时间是否小于预设的第一响应时间阈值;
S302:若是,计算所述第一初始查询数量与第一预设数量值的第五和值,得到第二初始查询数量,并将所述第二初始查询数量确定为与所述第二时间片段对应的指定迁移数量;
S303:在完成了对所述源数据库的待迁移数据中与所述第二初始查询数量相同的多条第二数据的迁移后,计算每一条所述第二数据在迁移过程中的第二平均响应时间,并判断所述第二平均响应时间是否小于所述第一响应时间阈值;
S303:若是,计算所述第二初始查询数量与所述第一预设数量值的第六和值,得到第三初始查询数量,并将所述第三初始查询数量确定为与第三时间片段对应的指定迁移数量,其中,所述第三时间片段为与所述第二时间片段相邻的下一个时间片段;
S305:依此类推,在进行对于其他时间片段的数据迁移过程中,当当前时间片段对应的指定初始查询数量等于预设的查询量阈值时,在完成了对所述源数据库的待迁移数据中与所述指定初始查询数量相同的多条第三数据的迁移后,计算每一条所述第三数据在迁移过程中的指定平均响应时间,并判断所述指定平均响应时间是否等于预设的第二响应时间阈值;
S306:若等于预设的第二响应时间阈值,判断所述目标数据库是否处于满负荷状态;
S307:若处于满负荷状态,将所述查询量阈值确定为剩余的所有时间片段分别对应的指定迁移数量。
如上述步骤S300至S307所述,本实施例可通过第二预设规则来实现对于指定迁移数量的确定。上述按照第二预设规则确定出与指定时间片段对应的指定迁移数量的步骤,具体包括:当指定时间片段为第一时间片段时,将预设的第一初始查询数量确定为指定迁移数量,其中,第一初始查询数量是经过测试环境对正常状态下的数据迁移工作进行了压力测试后得到的结果,具体可设置为200。在完成了对源数据库的待迁移数据中与第一初始查询数量相同的多条第一数据的迁移后,计算每一条第一数据在迁移过程中的第一平均响应时间,并判断第一平均响应时间是否小于预设的第一响应时间阈值,其中,第一响应时间阈值可根据实际情况进行设定,例如可设置为200ms。如果第一平均响应时间小于第一响应时间阈值,则计算第一初始查询数量与第一预设数量值的第五和值,得到第二初始查询数量,并将第二初始查询数量确定为第二时间片段对应的指定迁移数量,其中,对第一预设数量值不作具体限定,可根据实际情况进行设定,例如可设为30。在完成了对源数据库的待迁移数据中与第二初始查询数量相同的多条第二数据的迁移后,再计算每一条第二数据在迁移过程中的第二平均响应时间,并判断第二平均响应时间是否小于预设的第一响应时间阈值。如果第二平均响应时间小于第一响应时间阈值,则计算第二初始查询数量与第一预设数量值的第六和值,得到第三初始查询数量,并将第三初始查询数量确定为第三时间片段对应的指定迁移数量,其中,上述第三时间片段为与上述第二时间片段相邻的下一个时间片段。依此类推,在进行对于其他时间片段的数据迁移过程中,当当前时间片段对应的指定初始查询数量等于预设的查询量阈值时,在完成了对上述源数据库的待迁移数据中与上述指定初始查询数量相同的多条第三数据的迁移后,计算每一条上述第三数据在迁移过程中的指定平均响应时间,并判断上述指定平均响应时间是否等于预设的第二响应时间阈值。其中,上述第二响应时间阈值大于第一响应时间阈值,根据实际情况具体可设为300ms。如果指定平均响应时间等于第二响应时间阈值,则进一步判断目标数据库是否处于满负荷状态,其中,可以通过获取目标数据库的CPU数据与内存数据,再根据该CPU数据与内存数据来分析出目标数据库当前的负荷情况。如果目标数据库处于满负荷状态,则将查询量阈值确定为剩余的所有时间片段分别对应的指定迁移数量。本实施例在执行每个时间片段的数据迁移时,可以根据第二预设规则智能的分配指定迁移数量的指定数据进行迁移,有效的实现了对于待迁移数据的快速迁移。在另一个实施例中,如果出现了在完成剩余的所有时间片段对应的数据迁移过程后,还没有完成对于所有的待迁移数据的迁移的情况时,则数据迁移装置还会继续对源数据库中剩余的未迁移的数据进行再迁移处理,以实现对于全部的待迁移数据的完整迁移。具体地,在完成了上述剩余的所有时间片段对应的数据迁移过程后,获取当前在上述待迁移数据中的未迁移数据对应的数据数量;计算上述数据总量与上述查询量阈值的第二商值;根据上述第二商值,设置与第二商值数量相同的多个特定时间片段;按照各上述未迁移数据的时间先后顺序,在每一个上述特定时间片段,调用一定数量的迁移服务器将与上述查询量阈值的数量相同的多条特定数据迁移到上述目标服务器,直至完成对所有上述未迁移数据的迁移,其中,上述特定数据为上述未迁移数据的任意一条未迁移数据。本实施例通过对源数据库中剩余的未迁移的数据进行再迁移处理,有效的实现了对于源数据库中全部的待迁移数据的完整迁移,保证了数据迁移的完整性。
进一步地,本申请一实施例中,上述步骤S5之前,包括:
S500:获取用户输入的迁移服务器IP,并对所述迁移服务器IP进行配置,以实现对于所述迁移服务器的调用;
S501:获取所述迁移服务器IP的数量,并判断所述迁移服务器IP的数量是否大于预设的配置数量阈值;
S502:若大于预设的配置数量阈值,从所述迁移服务器IP中筛选出与所述配置数量阈值的数量相同的第一迁移服务器,并将所述第一迁移服务器确定为所述指定迁移服务器;
S503:若不大于预设的配置数量阈值,将所述迁移服务器IP的对应的所有第二迁移服务器确定为所述指定迁移服务器。
如上述步骤S500至S503所述,在通过预设数量的指定迁移服务器将指定数据迁移至目标数据库的步骤之前,还包括确定出用于进行数据迁移的指定迁移服务器的过程。具体地,首先获取用户输入的迁移服务器IP(InternetProtocol,互联网协议地址),并对上述迁移服务器IP进行配置,以实现对于上述迁移服务器的调用。然后获取上述迁移服务器IP的数量,并判断迁移服务器IP的数量是否大于预设的配置数量阈值,其中,上述配置数量阈值可根据实际情况进行设定,例如可设为4。如果迁移服务器IP的数量大于预设的配置数量阈值,则从迁移服务器IP中筛选出与上述配置数量阈值的数量相同的第一迁移服务器,并将该第一迁移服务器确定为上述指定迁移服务器。举例地,如果用户配置了5个迁移服务器IP,则会从该6个迁移服务器IP中随机选取出与配置数量阈值的数量相同的4个第一迁移服务器来作为指定迁移服务器。而如果迁移服务器IP的数量不大于预设的配置数量阈值,则将上述迁移服务器IP的对应的所有第二迁移服务器确定为上述指定迁移服务器。举例地,如果用户只配置了3个迁移服务器IP,则会直接将与该3个迁移服务器IP对应的3个第二迁移服务器作为该指定迁移服务器。本实施例在执行每个时间片段的数据迁移时,会智能的为每一个时间片段分配指定迁移数量的指定数据进行迁移,并通过对应数量的指定迁移服务器来对迁移该指定数据,从而有效的实现了对于待迁移数据的快速迁移,并提高了迁移服务器的使用效率。
进一步地,本申请一实施例中,上述步骤S5,包括:
S510:获取所述指定迁移服务器的数量;
S511:将所有所述指定数据划分为与所述指定迁移服务器的数量相同的多个数据集;
S512:将每个指定迁移服务器与一个数据集进行一一绑定,通过各所述指定迁移服务器将各所述数据集一一迁移至所述目标数据库中。
如上述步骤S510至S512所述,上述通过预设数量的指定迁移服务器将上述指定数据迁移至目标数据库的步骤,具体可包括:首先获取上述指定迁移服务器的数量,然后根据该指定迁移服务器的数量,将上述所有指定数据划分为与上述指定迁移服务器的数量相同的多个数据集。举例地,如果上述指定迁移服务器的数量为4个,则可以将上述指定数据对应划分为4个数据集,其中,对于各数据集的可容纳数据量不作具体限定,优选将各数据集的可容纳数据量设置为相等的数值,如果上述指定数据的数量为200,则各数据集的可容纳数据量为50。在完成了对数据集的划分后,再将每个指定迁移服务器与一个数据集进行一一绑定,并通过各上述指定迁移服务器将各上述数据集迁移至目标数据库中。其中,对于指定迁移服务器与数据集的绑定不作具体限定,两者之间可以随机一一绑定。本实施例通过将多条指定数据划分为与指定迁移服务器的数量相同的多个数据集,再通过与各数据集一一绑定的各个指定迁移服务器来完成对于指定数据的迁移,提高了迁移服务器的使用效率,有效的减少了数据迁移过程中所耗费的时间,降低了数据迁移的成本。
本申请一实施例中,上述步骤S5之后,包括:
S520:在完成对所述待迁移数据的迁移后,获取所述待迁移数据的迁移记录;
S521:根据所述迁移记录,判断在所述待迁移数据中是否存在迁移失败的失败数据;
S522:若是,对所述失败数据进行预设次数的重试修复处理;
S523:判断在经过预设次数的重试修复处理后,是否存在任意一次对于所述失败数据的成功迁移;
S524:若否,将所述失败数据转至人工修复处理。
如上述步骤S520至S524所述,在对待迁移数据进行数据迁移的过程中,还可能出现在待迁移数据中存在一些迁移失败的失败数据的情况,则还需要对该失败数据进行修复处理。具体地,在完成对待迁移数据的迁移后,获取上述待迁移数据的迁移记录。其中,当没有开始对待迁移数据进行迁移时,临时数据库中的待迁移数据中会记录有未迁移的第一状态标记;在待迁移数据的迁移过程中,临时数据库中的待迁移数据中会记录有迁移中的第二状态标记;在完成对待迁移数据的的迁移后,在待迁移数据中的已经成功迁移的数据会记录有迁移成功的第三状态标记;而在待迁移数据中的未成功迁移的数据会记录有迁移失败的第四状态标记。在得到了上述迁移记录后,根据上述迁移记录,判断在上述待迁移数据中是否存在迁移失败的失败数据。如果存在迁移失败的失败数据,则对上述失败数据进行预设次数的重试修复处理,其中,可通过调用预存储的自动修复程序来对该失败数据进行修复,另外,上述预设次数可根据实际请求进行设置,例如可设为3次。然后判断在经过预设次数的重试修复处理后,是否存在任意一次对上述失败数据的成功迁移。如果不存在,表示该失败数据存有问题且无法通过正常的自动修复程序进行修复,则会发出提醒信息,将所述失败数据转至人工修复处理。之后在人工对该失败数据进行成功修复后,再对该失败数据进行再迁移处理。本实施例在待迁移数据中存在迁移失败的失败数据后,会智能的对该失败数据进行预设次数的重试修复处理,以有效的修复由于网络波动或者数据库异常而导致迁移失败的失败数据。另外,如果上述进行的多次重试修复处理均未见效,则会对该失败数据进行人工修复处理,以确保能够实现对于失败数据的有效修复,有效的保证了待迁移数据在迁移过程中的数据完整性。
进一步地,本申请一实施例中,上述步骤S5之后,包括:
S530:在完成对所述待迁移数据的迁移后,获取第一迁移数据的第一头信息与第一数据大小值,其中,所述第一迁移数据为所述目标数据库内的所有迁移数据中的任意一条迁移数据,且所述迁移数据与所述待迁移数据为对应关系;
S531:判断所述第一迁移数据的第一头信息、第一数据大小值,与预存储的对应的第一待迁移数据的第二头信息、第二数据大小值是否相同;
S532:若相同,将所述第一迁移数据标记为对账完成状态,否则将所述第一迁移数据标记为对账异常状态,依次类推,直至完成对于所有所述迁移数据的对账处理。
如上述步骤S530至S532所述,目前完整的数据迁移过程通常包括迁移和对账两部分,在完成了对上述待迁移数据的迁移过程后,还需要进一步进行对待迁移数据的对账处理,以确保顺利完整的完成了对于待迁移数据的迁移过程。具体地,在完成对上述待迁移数据的迁移过程后,首先获取第一迁移数据的第一头信息、第一数据大小值,其中,上述第一迁移数据为目标数据库内所有迁移数据中的任意一条迁移数据。并且,上述迁移数据与上述待迁移数据为对应关系,即上述迁移数据由对待迁移数据进行迁移后得到的数据。另外,上述第一头信息至少包含第一迁移数据的MD5值与文件格式。在得到了上述第一头信息与第一数据大小值后,再判断第一头信息与第一数据大小值,与预存储的第一待迁移数据的第二头信息、第二数据大小值是否相同。如果相同,表明第一迁移数据与第一待迁移数据为相同的数据,则将述第一迁移数据标记为对账完成状态。如果不相同,表明第一迁移数据与第一待迁移数据不为相同的数据,例如可能出现了第一待迁移数据在迁移过程中出现了数据缺失的情况,则此时会将上述第一迁移数据标记为对账异常状态。依此类推,直至完成对于所有上述迁移数据的对账处理。进一步地,当出现了第一迁移数据的第一头信息、第一大小值,与预存储的对应的第一待迁移数据的第二头信息、第二大小值不相同的情况时,在对上述第一迁移数据进行异常标记后,后续还可将该带有异常标记的第一迁移数据转至人工进行异常处理,以通过相应维护人员对第一迁移数据进行异常检测以及后续的异常修复处理。
参照图2,本申请一实施例中还提供了一种数据迁移装置,包括:
第一获取模块1,用于获取源数据库中待迁移数据的第一条数据对应的第一时间,以及所述待迁移数据中的最后一条数据对应的第二时间,其中,所述第一时间为所述第一条数据录入至所述源数据库中的时间,所述第二时间为所述最后一条数据录入至所述源数据库中的时间;
拆分模块2,用于按照第一预设规则对所述第一时间至所述第二时间之间的时间段进行拆分,得到对应的多个时间片段;
第一确定模块3,用于按照第二预设规则确定出与指定时间片段对应的指定迁移数量,其中,所述指定时间片段为所述多个时间片段中的任意一个时间片段;
查询模块4,用于按照所述待迁移数据中的每一条数据分别录入至所述源数据库中的时间的先后排列顺序,依次从所述待迁移数据中查询出与所述指定迁移数量的数量相同的多条指定数据;
迁移模块5,用于通过预设数量的指定迁移服务器将所述指定数据迁移至目标数据库,依此类推,直至将所述源数据库中的所有待迁移数据迁移至所述目标数据库。
本实施例中,上述数据迁移装置中的第一获取模块、拆分模块、第一确定模块、查询模块与迁移模块的功能和作用的实现过程具体详见上述数据迁移方法中对应步骤S1至S5的实现过程,在此不再赘述。
进一步地,本申请一实施例中,上述拆分模块,包括:
第一判断单元,用于将所述第一时间作为第一时间片段的左端点值,并判断所述第一时间是否处于预设时间范围内,其中,所述第一时间片段为所有所述时间片段中按照从前到后的顺序划分的第一个时间片段;
第一计算单元,用于若所述第一时间处于预设时间范围内,计算所述第一时间与第一预设时间值的第一和值,得到第一指定时间,并将所述第一时间与所述第一指定时间之间的时间段标记为所述第一时间片段;
第二计算单元,用于若所述第一时间不处于预设时间范围内,计算所述第一时间与第二预设时间值的第二和值,得到第一指定时间,并将所述第一时间与所述第一指定时间之间的时间段标记为所述第一时间片段;
第二判断单元,用于将所述第一指定时间作为第二时间片段的左端点值,并判断所述第一指定时间是否处于预设时间范围内,其中,所述第二时间片段为与所述第一时间片段相邻的下一个时间片段;
第三计算单元,用于若所述第一指定时间处于预设时间范围内,计算所述第一指定时间与第一预设时间值的第三和值,得到第二指定时间,并将所述第一指定时间与所述第二指定时间之间的时间段标记为所述第二时间片段;
第四计算单元,用于若所述第一指定时间不处于预设时间范围内,计算所述第一指定时间与第二预设时间值的第四和值,得到第二指定时间,并将所述第一指定时间与所述第二指定时间之间的时间段标记为所述第二时间片段,依此类推,直至完成对所述第一时间至所述第二时间之间的时间段的拆分。
本实施例中,上述拆分模块的第一判断单元、第一计算单元、第二计算单元、第二判断单元、第三计算单元与第四计算单元的功能和作用的实现过程具体详见上述数据迁移方法中对应步骤S200至S205的实现过程,在此不再赘述。
进一步地,本申请一实施例中,上述第一确定模块,包括:
第一确定单元,用于当所述指定时间片段为所述第一时间片段时,将预设的第一初始查询数量确定为所述指定迁移数量;
第三判断单元,用于在完成了对所述源数据库的待迁移数据中与所述第一初始查询数量相同的多条第一数据的迁移后,计算每一条所述第一数据在迁移过程中的第一平均响应时间,并判断所述第一平均响应时间是否小于预设的第一响应时间阈值;
第二确定单元,用于若是,计算所述第一初始查询数量与第一预设数量值的第五和值,得到第二初始查询数量,并将所述第二初始查询数量确定为与所述第二时间片段对应的指定迁移数量;
第四判断单元,用于在完成了对所述源数据库的待迁移数据中与所述第二初始查询数量相同的多条第二数据的迁移后,计算每一条所述第二数据在迁移过程中的第二平均响应时间,并判断所述第二平均响应时间是否小于所述第一响应时间阈值;
第三确定单元,用于若是,计算所述第二初始查询数量与所述第一预设数量值的第六和值,得到第三初始查询数量,并将所述第三初始查询数量确定为与第三时间片段对应的指定迁移数量,其中,所述第三时间片段为与所述第二时间片段相邻的下一个时间片段;
第五判断单元,用于依此类推,在进行对于其他时间片段的数据迁移过程中,当当前时间片段对应的指定初始查询数量等于预设的查询量阈值时,在完成了对所述源数据库的待迁移数据中与所述指定初始查询数量相同的多条第三数据的迁移后,计算每一条所述第三数据在迁移过程中的指定平均响应时间,并判断所述指定平均响应时间是否等于预设的第二响应时间阈值;
第六判断单元,用于若等于预设的第二响应时间阈值,判断所述目标数据库是否处于满负荷状态;
第四确定单元,用于若处于满负荷状态,将所述查询量阈值确定为剩余的所有时间片段分别对应的指定迁移数量。
本实施例中,上述第一确定模块中的第一确定单元、第三判断单元、第二确定单元、第四判断单元、第三确定单元、第五判断单元、第六判断单元与第四确定单元的功能和作用的实现过程具体详见上述数据迁移方法中对应步骤S300至S307的实现过程,在此不再赘述。
进一步地,本申请一实施例中,上述数据迁移装置,包括:
第二获取模块,用于获取用户输入的迁移服务器IP,并对所述迁移服务器IP进行配置,以实现对于所述迁移服务器的调用;
第一判断模块,用于获取所述迁移服务器IP的数量,并判断所述迁移服务器IP的数量是否大于预设的配置数量阈值;
筛选模块,用于若大于预设的配置数量阈值,从所述迁移服务器IP中筛选出与所述配置数量阈值的数量相同的第一迁移服务器,并将所述第一迁移服务器确定为所述指定迁移服务器;
第二确定模块,用于若不大于预设的配置数量阈值,将所述迁移服务器IP的对应的所有第二迁移服务器确定为所述指定迁移服务器。
本实施例中,上述数据迁移装置中的第二获取模块、第一判断模块、筛选模块与第二确定模块的功能和作用的实现过程具体详见上述数据迁移方法中对应步骤S500至S503的实现过程,在此不再赘述。
进一步地,本申请一实施例中,上述迁移模块,包括:
获取单元,用于获取所述指定迁移服务器的数量;
划分单元,用于将所有所述指定数据划分为与所述指定迁移服务器的数量相同的多个数据集;
绑定单元,用于将每个指定迁移服务器与一个数据集进行一一绑定,通过各所述指定迁移服务器将各所述数据集一一迁移至所述目标数据库中。
本实施例中,上述迁移模块中的获取单元、划分单元与绑定单元的功能和作用的实现过程具体详见上述数据迁移方法中对应步骤S510至S512的实现过程,在此不再赘述。
进一步地,本申请一实施例中,上述数据迁移装置,包括:
第三获取模块,用于在完成对所述待迁移数据的迁移后,获取所述待迁移数据的迁移记录;
第二判断模块,用于根据所述迁移记录,判断在所述待迁移数据中是否存在迁移失败的失败数据;
第一处理模块,用于若是,对所述失败数据进行预设次数的重试修复处理;
第三判断模块,用于判断在经过预设次数的重试修复处理后,是否存在任意一次对于所述失败数据的成功迁移;
第二处理模块,用于若否,将所述失败数据转至人工修复处理。
本实施例中,上述数据迁移装置中的第三获取模块、第二判断模块、第一处理模块、第三判断模块与第二处理模块的功能和作用的实现过程具体详见上述数据迁移方法中对应步骤S520至S524的实现过程,在此不再赘述。
进一步地,本申请一实施例中,上述数据迁移装置,还包括:
第四获取模块,用于在完成对所述待迁移数据的迁移后,获取第一迁移数据的第一头信息与第一数据大小值,其中,所述第一迁移数据为所述目标数据库内的所有迁移数据中的任意一条迁移数据,且所述迁移数据与所述待迁移数据为对应关系;
第四判断模块,用于判断所述第一迁移数据的第一头信息、第一数据大小值,与预存储的对应的第一待迁移数据的第二头信息、第二数据大小值是否相同;
第三处理模块,用于若相同,将所述第一迁移数据标记为对账完成状态,否则将所述第一迁移数据标记为对账异常状态,依次类推,直至完成对于所有所述迁移数据的对账处理。
本实施例中,上述数据迁移装置中的第四获取模块、第四判断模块与第三处理模块的功能和作用的实现过程具体详见上述数据迁移方法中对应步骤S530至S532的实现过程,在此不再赘述。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储时间片段以及指定迁移数量等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据迁移方法。
上述处理器执行上述数据迁移方法的步骤:
获取源数据库中待迁移数据的第一条数据对应的第一时间,以及所述待迁移数据的最后一条数据对应的第二时间,其中,所述第一时间为所述第一条数据录入至所述源数据库中的时间,所述第二时间为所述最后一条数据录入至所述源数据库中的时间;按照第一预设规则对所述第一时间至所述第二时间之间的时间段进行拆分,得到对应的多个时间片段;按照第二预设规则确定出与指定时间片段对应的指定迁移数量,其中,所述指定时间片段为所述多个时间片段中的任意一个时间片段;按照所述待迁移数据中的每一条数据分别录入至所述源数据库中的时间的先后排列顺序,依次从所述待迁移数据中查询出与所述指定迁移数量的数量相同的多条指定数据;通过预设数量的指定迁移服务器将所述指定数据迁移至目标数据库,依此类推,直至将所述源数据库中的所有待迁移数据迁移至所述目标数据库。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的装置、计算机设备的限定。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种数据迁移方法,具体为:
获取源数据库中待迁移数据的第一条数据对应的第一时间,以及所述待迁移数据的最后一条数据对应的第二时间,其中,所述第一时间为所述第一条数据录入至所述源数据库中的时间,所述第二时间为所述最后一条数据录入至所述源数据库中的时间;按照第一预设规则对所述第一时间至所述第二时间之间的时间段进行拆分,得到对应的多个时间片段;按照第二预设规则确定出与指定时间片段对应的指定迁移数量,其中,所述指定时间片段为所述多个时间片段中的任意一个时间片段;按照所述待迁移数据中的每一条数据分别录入至所述源数据库中的时间的先后排列顺序,依次从所述待迁移数据中查询出与所述指定迁移数量的数量相同的多条指定数据;通过预设数量的指定迁移服务器将所述指定数据迁移至目标数据库,依此类推,直至将所述源数据库中的所有待迁移数据迁移至所述目标数据库。
综上所述,本申请实施例中提供的数据迁移方法、装置、计算机设备和存储介质,获取所述源数据库中待迁移数据的第一条数据对应的第一时间,以及所述待迁移数据的最后一条数据对应的第二时间;按照第一预设规则对所述第一时间至所述第二时间之间的时间段进行拆分,得到对应的多个时间片段;按照第二预设规则确定出与指定时间片段对应的指定迁移数量,其中,所述指定时间片段为所述多个时间片段中的任意一个时间片段;按照所述待迁移数据中的每一条数据分别录入至所述源数据库中的时间的先后排列顺序,依次从所述待迁移数据中查询出与所述指定迁移数量的数量相同的多条指定数据;通过预设数量的指定迁移服务器将所述指定数据迁移至目标数据库,依此类推,直至将所述源数据库中的所有待迁移数据迁移至所述目标数据库。本申请在需要对源数据库的待迁移数据进行迁移时,首先为临时数据库中的待迁移数据设置出多个时间片段,并在执行每个时间片段的数据迁移时,可以对每个时间片段智能的分配用于进行迁移的指定迁移数量的指定数据,再调用预设数量的指定迁移服务器来实现对于待迁移数据中指定数据的快速迁移,有效的减少了在数据迁移过程中所耗费的时间,降低了数据迁移的成本,提高了迁移服务器的使用效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储与一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM通过多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (8)

1.一种数据迁移方法,其特征在于,包括:
获取源数据库中待迁移数据的第一条数据对应的第一时间,以及所述待迁移数据的最后一条数据对应的第二时间,其中,所述第一时间为所述第一条数据录入至所述源数据库中的时间,所述第二时间为所述最后一条数据录入至所述源数据库中的时间;
按照第一预设规则对所述第一时间至所述第二时间之间的时间段进行拆分,得到对应的多个时间片段;
按照第二预设规则确定出与指定时间片段对应的指定迁移数量,其中,所述指定时间片段为所述多个时间片段中的任意一个时间片段;
按照所述待迁移数据中的每一条数据分别录入至所述源数据库中的时间的先后排列顺序,依次从所述待迁移数据中查询出与所述指定迁移数量的数量相同的多条指定数据;
通过预设数量的指定迁移服务器将所述指定数据迁移至目标数据库,依此类推,直至将所述源数据库中的所有待迁移数据迁移至所述目标数据库;
所述按照第一预设规则对所述第一时间至所述第二时间之间的时间段进行拆分,得到对应的多个时间片段的步骤,包括:
将所述第一时间作为第一时间片段的左端点值,并判断所述第一时间是否处于预设时间范围内,其中,所述第一时间片段为所有所述时间片段中按照从前到后的顺序划分的第一个时间片段;
若所述第一时间处于预设时间范围内,计算所述第一时间与第一预设时间值的第一和值,得到第一指定时间,并将所述第一时间与所述第一指定时间之间的时间段标记为所述第一时间片段;
若所述第一时间不处于预设时间范围内,计算所述第一时间与第二预设时间值的第二和值,得到第一指定时间,并将所述第一时间与所述第一指定时间之间的时间段标记为所述第一时间片段;
将所述第一指定时间作为第二时间片段的左端点值,并判断所述第一指定时间是否处于预设时间范围内,其中,所述第二时间片段为与所述第一时间片段相邻的下一个时间片段;
若所述第一指定时间处于预设时间范围内,计算所述第一指定时间与第一预设时间值的第三和值,得到第二指定时间,并将所述第一指定时间与所述第二指定时间之间的时间段标记为所述第二时间片段;
若所述第一指定时间不处于预设时间范围内,计算所述第一指定时间与第二预设时间值的第四和值,得到第二指定时间,并将所述第一指定时间与所述第二指定时间之间的时间段标记为所述第二时间片段,依此类推,直至完成对所述第一时间至所述第二时间之间的时间段的拆分;
所述按照第二预设规则确定出与指定时间片段对应的指定迁移数量的步骤,包括:
当所述指定时间片段为所述第一时间片段时,将预设的第一初始查询数量确定为所述指定迁移数量;
在完成了对所述源数据库的待迁移数据中与所述第一初始查询数量相同的多条第一数据的迁移后,计算每一条所述第一数据在迁移过程中的第一平均响应时间,并判断所述第一平均响应时间是否小于预设的第一响应时间阈值;
若是,计算所述第一初始查询数量与第一预设数量值的第五和值,得到第二初始查询数量,并将所述第二初始查询数量确定为与所述第二时间片段对应的指定迁移数量;
在完成了对所述源数据库的待迁移数据中与所述第二初始查询数量相同的多条第二数据的迁移后,计算每一条所述第二数据在迁移过程中的第二平均响应时间,并判断所述第二平均响应时间是否小于所述第一响应时间阈值;
若是,计算所述第二初始查询数量与所述第一预设数量值的第六和值,得到第三初始查询数量,并将所述第三初始查询数量确定为与第三时间片段对应的指定迁移数量,其中,所述第三时间片段为与所述第二时间片段相邻的下一个时间片段;
依此类推,在进行对于其他时间片段的数据迁移过程中,当当前时间片段对应的指定初始查询数量等于预设的查询量阈值时,在完成了对所述源数据库的待迁移数据中与所述指定初始查询数量相同的多条第三数据的迁移后,计算每一条所述第三数据在迁移过程中的指定平均响应时间,并判断所述指定平均响应时间是否等于预设的第二响应时间阈值;
若等于预设的第二响应时间阈值,判断所述目标数据库是否处于满负荷状态;
若处于满负荷状态,将所述查询量阈值确定为剩余的所有时间片段分别对应的指定迁移数量。
2.根据权利要求1所述的数据迁移方法,其特征在于,所述通过预设数量的指定迁移服务器将所述指定数据迁移至目标数据库的步骤之前,包括:
获取用户输入的迁移服务器IP,并对所述迁移服务器IP进行配置,以实现对于所述迁移服务器的调用;
获取所述迁移服务器IP的数量,并判断所述迁移服务器IP的数量是否大于预设的配置数量阈值;
若大于预设的配置数量阈值,从所述迁移服务器IP中筛选出与所述配置数量阈值的数量相同的第一迁移服务器,并将所述第一迁移服务器确定为所述指定迁移服务器;
若不大于预设的配置数量阈值,将所述迁移服务器IP的对应的所有第二迁移服务器确定为所述指定迁移服务器。
3.根据权利要求1所述的数据迁移方法,其特征在于,所述通过预设数量的指定迁移服务器将所述指定数据迁移至目标数据库的步骤,包括:
获取所述指定迁移服务器的数量;
将所有所述指定数据划分为与所述指定迁移服务器的数量相同的多个数据集;
将每个指定迁移服务器与一个数据集进行一一绑定,通过各所述指定迁移服务器将各所述数据集一一迁移至所述目标数据库中。
4.根据权利要求1所述的数据迁移方法,其特征在于,所述通过预设数量的指定迁移服务器将所述指定数据迁移至目标数据库,依此类推,直至将所述源数据库中的所有待迁移数据迁移至所述目标数据库的步骤之后,包括:
在完成对所述待迁移数据的迁移后,获取所述待迁移数据的迁移记录;
根据所述迁移记录,判断在所述待迁移数据中是否存在迁移失败的失败数据;
若是,对所述失败数据进行预设次数的重试修复处理;
判断在经过预设次数的重试修复处理后,是否存在任意一次对于所述失败数据的成功迁移;
若否,将所述失败数据转至人工修复处理。
5.根据权利要求1所述的数据迁移方法,其特征在于,所述通过预设数量的指定迁移服务器将所述指定数据迁移至目标数据库,依此类推,直至将所述源数据库中的所有待迁移数据迁移至所述目标数据库的步骤之后,包括:
在完成对所述待迁移数据的迁移后,获取第一迁移数据的第一头信息与第一数据大小值,其中,所述第一迁移数据为所述目标数据库内的所有迁移数据中的任意一条迁移数据,且所述迁移数据与所述待迁移数据为对应关系;
判断所述第一迁移数据的第一头信息、第一数据大小值,与预存储的对应的第一待迁移数据的第二头信息、第二数据大小值是否相同;
若相同,将所述第一迁移数据标记为对账完成状态,否则将所述第一迁移数据标记为对账异常状态,依次类推,直至完成对于所有所述待迁移数据的对账处理。
6.一种数据迁移装置,用于实现权利要求1所述的数据迁移方法,其特征在于,包括:
第一获取模块,用于获取源数据库中待迁移数据的第一条数据对应的第一时间,以及所述待迁移数据中的最后一条数据对应的第二时间,其中,所述第一时间为所述第一条数据录入至所述源数据库中的时间,所述第二时间为所述最后一条数据录入至所述源数据库中的时间;
拆分模块,用于按照第一预设规则对所述第一时间至所述第二时间之间的时间段进行拆分,得到对应的多个时间片段;
确定模块,用于按照第二预设规则确定出与指定时间片段对应的指定迁移数量,其中,所述指定时间片段为所述多个时间片段中的任意一个时间片段;
查询模块,用于按照所述待迁移数据中的每一条数据分别录入至所述源数据库中的时间的先后排列顺序,依次从所述待迁移数据中查询出与所述指定迁移数量的数量相同的多条指定数据;
迁移模块,用于通过预设数量的指定迁移服务器将所述指定数据迁移至目标数据库,依此类推,直至将所述源数据库中的所有待迁移数据迁移至所述目标数据库。
7.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
8.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
CN201911038072.4A 2019-10-29 2019-10-29 数据迁移方法、装置、计算机设备和存储介质 Active CN111008188B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201911038072.4A CN111008188B (zh) 2019-10-29 2019-10-29 数据迁移方法、装置、计算机设备和存储介质
PCT/CN2019/119566 WO2021082104A1 (zh) 2019-10-29 2019-11-20 数据迁移方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911038072.4A CN111008188B (zh) 2019-10-29 2019-10-29 数据迁移方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN111008188A CN111008188A (zh) 2020-04-14
CN111008188B true CN111008188B (zh) 2023-08-15

Family

ID=70111499

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911038072.4A Active CN111008188B (zh) 2019-10-29 2019-10-29 数据迁移方法、装置、计算机设备和存储介质

Country Status (2)

Country Link
CN (1) CN111008188B (zh)
WO (1) WO2021082104A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112131179B (zh) * 2020-09-23 2023-11-21 平安科技(深圳)有限公司 任务状态检测方法、装置、计算机设备及存储介质
CN112527765B (zh) * 2020-12-01 2024-05-24 银联智策顾问(上海)有限公司 一种数据迁移方法及装置
CN113220660A (zh) * 2021-04-15 2021-08-06 远景智能国际私人投资有限公司 一种数据迁移方法、装置、设备及可读存储介质
CN113342780A (zh) * 2021-06-28 2021-09-03 深圳壹账通智能科技有限公司 Dsu数据的迁移方法、装置和计算机设备
CN113360479B (zh) * 2021-06-29 2023-10-20 深圳市天汇世纪科技有限公司 数据迁移方法、装置、计算机设备和存储介质
CN113326074B (zh) * 2021-06-30 2022-04-15 中国平安人寿保险股份有限公司 延时事件处理方法、装置、计算机设备和存储介质
CN113515503A (zh) * 2021-07-23 2021-10-19 浩鲸云计算科技股份有限公司 一种基于表的InfluxDB数据迁移方法
CN114020281B (zh) * 2021-11-08 2022-10-14 中电金信软件有限公司 一种数据库的部署方法、应用服务部署方法及装置
CN117591497B (zh) * 2024-01-18 2024-05-03 中核武汉核电运行技术股份有限公司 一种核电历史数据跨系统迁移方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103635900A (zh) * 2011-03-31 2014-03-12 伊姆西公司 基于时间的数据分割
CN105183582A (zh) * 2015-07-30 2015-12-23 北京奇虎科技有限公司 数据备份方法及装置
CN105338051A (zh) * 2014-08-15 2016-02-17 阿里巴巴集团控股有限公司 一种数据同步方法及设备
CN105808376A (zh) * 2016-02-24 2016-07-27 北京金山安全软件有限公司 一种数据备份方法、装置及电子设备
CN106502576A (zh) * 2015-09-06 2017-03-15 中兴通讯股份有限公司 迁移策略调整方法、容量变更建议方法及装置
CN106970921A (zh) * 2016-01-14 2017-07-21 阿里巴巴集团控股有限公司 一种数据迁移方法及装置
JP2018028779A (ja) * 2016-08-17 2018-02-22 日本電信電話株式会社 移行システム、移行方法および移行プログラム
CN109376196A (zh) * 2018-09-25 2019-02-22 浪潮软件集团有限公司 一种redo日志批量同步方法及装置
CN109460188A (zh) * 2018-11-13 2019-03-12 郑州云海信息技术有限公司 一种数据迁移方法、系统、设备及计算机可读存储介质
CN110287258A (zh) * 2019-06-26 2019-09-27 深圳前海微众银行股份有限公司 一种基于双数据源的数据同步处理方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102004746B (zh) * 2009-09-02 2013-10-23 中国银联股份有限公司 数据转移控制方法及装置
US20150200833A1 (en) * 2014-01-10 2015-07-16 Seagate Technology Llc Adaptive Data Migration Using Available System Bandwidth
CN107977462A (zh) * 2017-12-21 2018-05-01 泰康保险集团股份有限公司 数据迁移方法及装置
CN108509556B (zh) * 2018-03-22 2021-03-23 上海达梦数据库有限公司 数据迁移方法和装置、服务器、存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103635900A (zh) * 2011-03-31 2014-03-12 伊姆西公司 基于时间的数据分割
CN105338051A (zh) * 2014-08-15 2016-02-17 阿里巴巴集团控股有限公司 一种数据同步方法及设备
CN105183582A (zh) * 2015-07-30 2015-12-23 北京奇虎科技有限公司 数据备份方法及装置
CN106502576A (zh) * 2015-09-06 2017-03-15 中兴通讯股份有限公司 迁移策略调整方法、容量变更建议方法及装置
CN106970921A (zh) * 2016-01-14 2017-07-21 阿里巴巴集团控股有限公司 一种数据迁移方法及装置
CN105808376A (zh) * 2016-02-24 2016-07-27 北京金山安全软件有限公司 一种数据备份方法、装置及电子设备
JP2018028779A (ja) * 2016-08-17 2018-02-22 日本電信電話株式会社 移行システム、移行方法および移行プログラム
CN109376196A (zh) * 2018-09-25 2019-02-22 浪潮软件集团有限公司 一种redo日志批量同步方法及装置
CN109460188A (zh) * 2018-11-13 2019-03-12 郑州云海信息技术有限公司 一种数据迁移方法、系统、设备及计算机可读存储介质
CN110287258A (zh) * 2019-06-26 2019-09-27 深圳前海微众银行股份有限公司 一种基于双数据源的数据同步处理方法及装置

Also Published As

Publication number Publication date
WO2021082104A1 (zh) 2021-05-06
CN111008188A (zh) 2020-04-14

Similar Documents

Publication Publication Date Title
CN111008188B (zh) 数据迁移方法、装置、计算机设备和存储介质
US9405662B2 (en) Process for displaying test coverage data during code reviews
CN105718570B (zh) 用于数据库的数据迁移方法和装置
CN110602165B (zh) 政务数据同步方法、装置、系统、计算机设备和存储介质
TW201737126A (zh) 執行資料恢復操作的方法及裝置
US9462037B2 (en) Dynamically sizing chunks in a partially loaded spreadsheet model
CN106874281B (zh) 实现数据库读写分离的方法和装置
CN108965383B (zh) 文件同步方法、装置、计算机设备和存储介质
CN109542719B (zh) 线程状态监控方法、装置、计算机设备和存储介质
CN110781214A (zh) 数据库读写方法、装置、计算机设备和存储介质
CN108763046B (zh) 线程运行监控方法、装置、计算机设备和存储介质
CN110737719B (zh) 数据同步方法、装置、设备及计算机可读存储介质
US11954123B2 (en) Data processing method and device for data integration, computing device and medium
WO2020233310A1 (zh) 实时处理数据的异步补偿方法、装置、设备及存储介质
CN112948504B (zh) 数据采集方法、装置、计算机设备和存储介质
CN113918648A (zh) 数据同步方法、装置、电子设备及存储介质
CN111966531B (zh) 数据快照方法、装置、计算机设备及存储介质
CN109034668B (zh) Etl任务调度方法、装置、计算机设备及存储介质
US20140208439A1 (en) Injustice detecting system, injustice detecting device and injustice detecting method
CN109240906B (zh) 数据库配置信息适配方法、装置、计算机设备和存储介质
CN113849343A (zh) 容灾备份方法、装置和存储介质
CN110162507B (zh) 快照覆写方法、装置、计算机设备及存储介质
CN110969430A (zh) 可疑用户的识别方法、装置、计算机设备和存储介质
JP2002366396A (ja) 故障解析情報自動採取システム及び故障解析情報自動採取プログラム
CN113311995B (zh) 云硬盘制备方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40020096

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant