CN105574141B - 一种对数据库进行数据迁移的方法和装置 - Google Patents
一种对数据库进行数据迁移的方法和装置 Download PDFInfo
- Publication number
- CN105574141B CN105574141B CN201510937799.1A CN201510937799A CN105574141B CN 105574141 B CN105574141 B CN 105574141B CN 201510937799 A CN201510937799 A CN 201510937799A CN 105574141 B CN105574141 B CN 105574141B
- Authority
- CN
- China
- Prior art keywords
- migration
- database
- data
- load
- determining
- 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
Links
- 230000005012 migration Effects 0.000 title claims abstract description 273
- 238000013508 migration Methods 0.000 title claims abstract description 273
- 238000000034 method Methods 0.000 title claims abstract description 73
- 230000007958 sleep Effects 0.000 claims description 31
- 230000004617 sleep duration Effects 0.000 claims description 21
- 230000004622 sleep time Effects 0.000 claims description 21
- 230000005059 dormancy Effects 0.000 claims description 11
- 230000002596 correlated effect Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 description 14
- 230000000875 corresponding effect Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 239000002699 waste material Substances 0.000 description 5
- 230000006266 hibernation Effects 0.000 description 4
- 230000008676 import Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000638 solvent extraction Methods 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
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明的实施方式提供了一种对数据库进行数据迁移的方法和装置:确定数据库的第一业务负载,确定第一业务负载达到第一负载阈值时,将迁移数据时的N个活跃线程中的M个活跃线程调整为M个休眠线程,其中,N为大于0的整数,M为大于0的整数,M小于或者等于N,在该方案中,在对数据库进行数据迁移的过程中,如果确定第一业务负载达到第一负载阈值时,要将迁移数据时的N个活跃线程中的M个活跃线程调整为休眠线程,也就是说,可以根据负载状态来动态调整活跃线程数,这样可以避免对进行数据迁移的数据库所在服务器上的其他业务的影响,提高业务质量及服务器资源的利用率。
Description
技术领域
本发明的实施方式涉及通信领域,更具体地,本发明的实施方式涉及一种对数据库进行数据迁移的方法和装置。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
MySQL(Structured Query Language,结构化查询语言)数据库是基于Linux操作***开发出来的数据库,由于Linux是开放源码的操作***,所以MySQL数据库也具有开放源码的特点。
目前,MySQL数据库由于其开放源码的特点获得了广泛的应用。随着信息化时代的加剧发展,MySQL数据库的部署规模将持续扩大,在MySQL数据库的使用过程中,经常需要对MySQL数据库进行数据迁移,例如,服务器资源不足、网络隔离、数据容灾等场景下。在云计算技术迅猛发展的今天,MySQL数据库迁移至云也变得越来越普遍,由于目前非云数据库的规模极其庞大,靠DBA(Database Administrator,数据库管理员)手动对数据库进行数据迁移操作,显然不可取,选择一种高效的数据迁移方法显得尤为重要。
目前,实现对MySQL数据库进行数据迁移的方案主要有三种:
第一种为:单线程的逻辑迁移方法;第二种为:多线程的物理迁移方法;第三种为:多线程的逻辑迁移方法,其中,第三种方法,即多线程的逻辑迁移方法由于其具有迁移效率较高、兼容性较高,及能及时对迁移的MySQL数据库进行优化的优点而被广泛应用。
在对MySQL数据库进行数据迁移过程中会占用MySQL数据库所在服务器的资源,因此,会对MySQL数据库所在服务器上的其他业务造成影响,而上述第三种方法,即多线程的逻辑迁移方法所占用的资源是最多的,因此,对MySQL数据库所在服务器上的其他业务造成影响也最大。
发明内容
因此在现有技术中,对数据库进行数据迁移的方法会对数据库所在服务器的业务造成影响,降低业务质量,这是非常令人烦恼的过程。
为此,非常需要一种改进的对数据库进行数据迁移的方法和装置,以便避免对进行数据迁移的数据库所在服务器的业务造成影响,提高业务质量,进而提升服务器资源的利用率。
在本上下文中,本发明的实施方式期望提供一种对数据库进行数据迁移的方法和装置。
在本发明实施方式的第一方面中,提供了一种对数据库进行数据迁移的方法,包括:确定所述数据库的第一业务负载;确定所述第一业务负载达到第一负载阈值时,将迁移所述数据时的N个活跃线程中的M个活跃线程调整为M个休眠线程,其中,N为大于0的整数,M为大于0的整数,M小于或者等于N。
在本发明实施方式的第二方面中,提供了一种对数据库进行数据迁移的装置,包括:确定模块,被配置为确定所述数据库的第一业务负载;调整模块,被配置为在所述确定模块确定所述第一业务负载达到第一负载阈值时,将迁移所述数据时的N个活跃线程中的M个活跃线程调整为M个休眠线程,其中,N为大于0的整数,M为大于0的整数,M小于或者等于N。
根据本发明的上述实施方式中的对数据库进行数据迁移的装置,其中所述确定模块还被配置为:确定所述数据库的第二业务负载;其中所述调整模块还被配置为:在所述确定模块确定所述第二业务负载未达到第二负载阈值时,增加迁移所述数据时的活跃线程数。
根据本发明的上述任一实施方式中的对数据库进行数据迁移的装置,所述装置还包括:迁移时间记录模块,被配置为从迁移所述数据开始,记录迁移时间;所述装置还包括:停止迁移模块,被配置为在完成迁移所述数据之前,确定所述迁移时间记录模块记录的迁移时间达到迁移时间阈值时,停止迁移所述数据。
根据本发明的上述任一实施方式中的对数据库进行数据迁移的装置,所述装置还包括:调整休眠次数记录模块,被配置为记录调整休眠次数;其中所述确定模块还被配置为:确定记录的调整休眠次数达到调整休眠次数阈值。
根据本发明的上述任一实施方式中的对数据库进行数据迁移的装置,其中所述确定模块被配置为:周期性的确定所述数据库的第一业务负载;或者,确定触发条件,根据所述触发条件确定所述数据库的第一业务负载。
根据本发明的上述任一实施方式中的对数据库进行数据迁移的装置,所述M个休眠线程中的每一个休眠线程的休眠时长与负载差值呈正相关,所述负载差值表征所述第一业务负载与所述第一负载阈值之差。
根据本发明的上述任一实施方式中的对数据库进行数据迁移的装置,其中所述确定模块被配置为:确定所述数据库的锁竞争、事务数量、文件输入/输出、Write Ahead Log、记录增删改查操作、缓冲池操作中的至少一种。
根据本发明的上述任一实施方式中的对数据库进行数据迁移的装置,所述装置还包括:迁移时间记录模块,被配置从迁移所述数据开始,记录迁移时间;其中所述确定模块被配置为:在所述迁移时间记录模块记录的迁移时间达到迁移时间阈值之前,根据迁移的数据的相关信息确定是否完成所述数据的迁移。
根据本发明实施方式的对数据库进行数据迁移的方法和装置,可以在对数据库进行数据迁移过程中确定数据库的第一业务负载,当第一业务负载达到第一负载阈值时,将迁移数据库时的N歌活跃线程中的M个活跃线程调整为M个休眠线程,其中,N为大于0的整数,M为大于0的整数,M小于或者等于N,这样,在对数据库进行数据迁移的过程中,通过考虑进行数据迁移的数据库的业务负载,进而根据业务负载的情况调整迁移数据时的线程的状态,避免迁移数据对数据库所在服务器的业务质量造成较大影响,提高业务质量,及服务器资源的利用率。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1示意性地示出了根据本发明实施方式的对数据库进行数据迁移的方法的流程示意图;
图2示意性地示出了根据本发明实施方式的对数据库进行数据迁移的方法的流程示意图;
图3示意性地示出了根据本发明实施方式的对数据库进行数据迁移的装置的示意图;
图4示意性地示出了根据本发明另一实施方式的对数据库进行数据迁移的装置的示意图;以及
图5示意性地示出了根据本发明另一实施方式的对数据库进行数据迁移的程序产品。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术技术人员知道,本发明的实施方式可以实现为一种***、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种对数据库进行数据迁移的方法和装置。
在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面对本发明中所用到的技术术语进行简单解释以便本领域技术人员理解。
数据库迁移:可以指将数据库通过某种方式,将数据库中的表结构和表数据等信息进行数据导出,和/或再通过某种方式进行数据导入,恢复数据库,即数据库迁移包括数据导出和/或数据导入的过程;
数据导出:可以指将数据库中的数据通过逻辑备份的方式保存到文件中,例如数据备份;
数据导入:可以指将数据导出后的备份文件中的数据写入新的数据库,例如数据恢复;
业务负载:可以指对数据库进行数据***、更新、删除和/或查询等操作造成的负载。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
发明概述
本发明人发现,可以在对数据库进行数据迁移的过程中考虑业务负载的情况,根据数据库的业务负载与对应阈值的比较结果,调整迁移数据库时的线程的状态,例如,当数据库的第一业务负载达到第一负载阈值时,将迁移数据时的N个活跃线程中的M个活跃线程调整为M个休眠线程,M小于或者等于N,之后,当数据库的第二业务负载达到第二负载阈值时,可再增加迁移数据时的活跃线程数,这样,在对数据库进行数据迁移的过程中,通过考虑进行数据迁移的数据库所在服务器的业务负载,进而会根据业务负载的情况调整迁移数据时的线程的状态,避免迁移数据对数据库所在服务器的业务质量造成较大影响,提高业务质量,及服务器资源的利用率。
在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
应用场景总览
本发明实施例可以应用于云计算平台RDS(Relational Database Service,关系型数据库服务)中,具体可以应用于博客数据库的迁移、相册数据库的迁移、邮箱数据库的迁移和/或云音乐数据库的迁移等数据库中,大大提高了数据库迁移效率,及服务器资源的利用率。
应用本发明实施例提供的方法的装置在对数据库(假设相册数据库)进行数据迁移的过程中时,确定数据库的第一业务负载,当第一业务负载达到第一负载阈值时,假设此时迁移数据时的活跃线程数为10个,则可以将10个活跃线程中的6个活跃线程调整为休眠线程,剩余4个活跃线程还继续对相册数据库进行数据迁移,由于4个活跃线程占用的服务器的业务负载小于10个活跃线程占用的服务器的业务负载,因此,可以解决影响业务质量及浪费服务器资源的问题。
本领域技术人员可以理解,上述所描述的场景仅是本发明的实施方式可以在其中得以实现的一个示例。本发明实施方式的适用范围不受任何限制。
示例性方法
下面结合上面所描述的应用场景,参考上述描述场景来描述根据本发明示例性实施方式的对数据库进行数据迁移的方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
图1示意性地示出了根据本发明实施方式的对数据库进行数据迁移的方法100的流程示意图。如图1所示,该方法100可以包括:
S101、确定所述数据库的第一业务负载。
在一些可能的实施方式中,本发明实施例的步骤S101确定数据库的第一业务负载时,可以是周期性的确定数据库的第一业务负载,例如,30分钟确定一次数据库的第一业务负载;又例如,为了更进一步避免对业务质量的影响,可以10分钟确定一次数据库的第一业务负载。
在另一些可能的实施方式中,本发明实施例的步骤S101确定数据库的第一业务负载时,也可以是确定触发条件,根据所述触发条件确定所述数据库的第一业务负载。
上述两种方式只是确定数据库的第一业务负载的可能实现的具体例子,当然在实现时也可能采用其他方式来确定数据库的第一业务负载,并不限定于上述两种方式,在此不再进行一一详述。
上述描述的是什么时候来确定数据库的第一业务负载,下面对确定数据库的第一业务负载的可能的具体实现方式进行描述。
在一些可能的实施方式中,本发明中实施例的步骤S101确定所述数据库的第一业务负载时,可以采用多种方式:例如,可以确定所述数据库的锁竞争、事务数量、文件输入/输出、Write Ahead Log、记录增删改查操作、缓冲池操作中的至少一种。也就是说,当确定所述数据库的锁竞争、事务数量、文件输入/输出、Write Ahead Log、记录增删改查操作、缓冲池操作中的至少一种时,就可以确定出数据库的第一业务负载。需要说明的是,至少一种包括一种也包括一种以上的情况。
S102、确定所述第一业务负载达到第一负载阈值时,将迁移所述数据时的N个活跃线程中的M个活跃线程调整为M个休眠线程,其中,N为大于0的整数,M为大于0的整数,M小于或者等于N。
在一些可能的实施方式中,本发明实施例中,上述方法100还包括:当将数据库中的所有数据迁移完成后,停止迁移数据。
在另一些可能的实施方式中,本发明实施例中,进一步的,上述方法100还包括:从迁移所述数据开始,记录迁移时间;在完成迁移所述数据之前,确定记录的迁移时间达到迁移时间阈值时,停止迁移所述数据。
也就是说,从迁移数据开始时,要记录迁移时间,当没有完成整个数据库的迁移,但是所记录的迁移时间达到迁移时间阈值时,此时也要停止数据库的迁移,这样,可以避免迁移数据库占用较长的时间对业务质量的影响,提高业务质量。
由于迁移时间超过了设置的迁移时间阈值时,在完成数据导出、导入,进入增量数据同步时就会因为对应的BinLog文件已经被删除而最终失败;又例如由于迁移的数据是过去时间点的一致性状态,导致随着时间的延长,数据库需要为其保留的undo log等信息不断累积,进而占用了磁盘的IO带宽和存储空间。为了避免对数据库进行数据迁移时使用较长的迁移时间导致对业务质量的影响,也就是说,为了提高业务质量,资源的利用率及迁移的成功率,从迁移所述数据开始,记录迁移时间;在完成迁移所述数据之前,确定记录的迁移时间达到迁移时间阈值时,停止迁移所述数据。
在一些可能的实施方式中,将迁移所述数据时的N个活跃线程中的M个活跃线程调整为休眠线程之后,方法100还包括:记录调整休眠次数;确定记录的迁移时间达到迁移时间阈值之后,停止迁移所述数据之前,方法100还包括:确定记录的调整休眠次数达到调整休眠阈值。
在实际应用中,在有些情况下迁移数据库对业务负载的影响较小,此时,如果在未完成整个数据库的迁移但是记录的迁移时间达到迁移时间阈值时就停止迁移数据的话,会存在资源浪费的情况,也就是说在有些情况下,在未完成整个数据库的迁移时,如果由于记录的迁移时间达到迁移时间阈值,就停止数据库的迁移的话,会造成资源的浪费,因此,在另一些可能的实施方式中,进一步的,本发明实施例中,将迁移所述数据时的N个活跃线程中的M个活跃线程调整为M个休眠线程之后,方法100还包括:记录调整休眠次数;此时,确定记录的迁移时间达到迁移时间阈值之后,停止迁移所述数据之前,方法100还包括如下操作:确定记录的调整休眠次数达到调整休眠阈值。也就是说,在未完成整个数据库的迁移时,如果记录的迁移时间达到迁移时间阈值时,还要进一步判断记录的调整休眠次数是否达到调整休眠阈值,如果是,才停止迁移数据,如果记录的调整休眠次数未达到调整休眠阈值的话,此时,要继续迁移数据,这样,就可以在资源占用不紧张的情况下继续进行数据迁移,避免资源的浪费。例如,迁移时间阈值为3小时,调整休眠次数阈值为3次,当记录的迁移时间达到3小时时,还要进一步判断调整休眠次数是否为3次数,如果达到3次,停止数据的迁移,如果没有达到3次,此时,可以继续迁移数据。
需要说明的是,每执行一次将迁移所述数据时的N个活跃线程中的M个活跃线程调整为M个休眠线程的操作时,都要记录一次调整休眠次数。
在一些可能的实施方式中,可以根据adjust_status这一参数的值来判断是否需要根据负载将迁移数据时的N个活跃线程中的M个活跃线程调整为M个休眠线程,例如,将adjust_status设置为非0值时,表示需要根据业务负载将迁移数据时的N个活跃线程中的M个活跃线程调整为M个休眠线程,将adjust_status设置为0值时,表示不需要调整活跃线程,例如,将adjust_status设置为1时,表示需要根据业务负载将迁移数据时的N个活跃线程中的M个活跃线程调整为M个休眠线程。
在另一些可能的实施方式中,进一步的,为了提高资源的利用率,在将迁移所述数据时的N个活跃线程中的M个活跃线程调整为M个休眠线程之后,方法100还包括:确定所述数据库的第二业务负载;确定所述第二业务负载未达到第二负载阈值时,增加迁移所述数据时的活跃线程数。也就是说,在将活跃线程数减少之后,如果确定的数据库的第二业务负载未达到第二负载阈值时,进一步的,为了提高资源的利用率,可以增加迁移数据时的活跃线程数。需要说明的是,增加的迁移数据时的活跃线程数也是有活跃线程数阈值的,不能无限制的增加活跃线程数。例如,当前的活跃线程数为4,活跃线程数阈值为8,此时,第二业务负载未达到第二负载阈值时,可以增加活跃线程数,增加后的活跃线程数最大为8。
在另一些可能的实施方式中,本发明实施例的M个休眠线程中的每一个休眠线程的休眠时长与负载差值呈正相关,所述负载差值表征所述第一业务负载与所述第一负载阈值之差。其中,负载差值可以等于所述第一业务负载减去所述第一负载阈值的差值,或者,也可以等于所述第一业务负载除以所述第一负载阈值的商值,或者,还可以等于所述第一业务负载除以所述第一负载阈值的商值取整后得到的值。例如,在第一种情况中的负载差值为第一负载差值,M个休眠线程中的每一个休眠线程的休眠时长为第一休眠时长,在第二种情况中的负载差值为第二负载差值,M个休眠线程中的每一个休眠线程的休眠时长为第二休眠时长,若第一负载差值大于第二负载差值,则第一休眠时长大于第二休眠时长,若第一负载差值小于第二负载差值,则第一休眠时长小于第二休眠时长。
在一些可能的实施方式中,在具体实现时,可以根据monitor_result的值来体现负载差值,例如,如果负载差值小于0,则monitor_result为0,对于数值型的监控项,根据第一业务负载超出第一负载阈值的程度,可以将monitor_result分别设置为1、2、3等数字;例如,可以选择以下这种方式来设置monitor_result的值:以第一业务负载除以第一负载阈值所得的商值取整数作为monitor_result的值,例如第一业务负载为25,而阈值是50,则monitor_result设置为0,如果第一业务负载为55,则monitor_result设置为1,如果第一业务负载为100,则monitor_result设置为2,等等。当然,也可以选择其他第一业务负载与第一负载阈值的函数关系来设置monitor_result的值,只要该函数关系能代表第一业务负载超出第一负载阈值的程度越大、monitor_result的值就越大的函数变化关系即可,在此不做具体限定。
在实际应用中,可能在记录的迁移时间到达迁移时间阈值之前就完成了数据的迁移,因此,进一步的,在一些可能的实施方式中,上述方法100还包括:从迁移所述数据开始,记录迁移时间;在记录的迁移时间达到迁移时间阈值之前,根据迁移的数据的相关信息确定是否完成所述数据的迁移。其中,在根据迁移的数据的相关信息确定是否完成所述数据的迁移时,可选的,可以采用多种方式,例如,根据迁移的数据的类型确定是否完成数据的迁移,又例如,根据迁移的数据携带的标识确定是否完成数据的迁移,当然,还可能有其他确定是否完成数据的迁移的方式,在此不再进行详述。在一个实施例中,在线程退出前判断待迁移的数据的类型,如果待迁移的数据的类型为shutdown dump_job,则表示完成数据迁移,线程正常退出,否则为异常退出。
在本发明实施例中,可以在对数据库进行数据迁移的过程中考虑业务负载的情况,根据数据库的业务负载与对应阈值的比较结果,调整迁移数据库时的线程的状态,例如,当数据库的第一业务负载达到第一负载阈值时,将迁移数据时的N个活跃线程中的M个活跃线程调整为M个休眠线程,M小于或者等于N,之后,当数据库的第二业务负载达到第二负载阈值时,再增加迁移数据时的活跃线程数,这样,在对数据库进行数据迁移的过程中,通过考虑进行数据迁移的数据库所在服务器的业务负载,进而根据业务负载的情况调整迁移数据时的线程的状态,避免迁移数据对数据库所在服务器的业务质量造成较大影响,提高业务质量,及服务器资源的利用率。
也就是说,本发明实施例既可以实现通过多线程迁移来加快迁移效率,又可以防止迁移操作占用过多***或数据库资源导致迁移的数据库所在服务器的正常业务受到不同程度的影响,做到了在对业务质量造成有限的,或者说是可以接受的影响的前提下,最大限度地提高了迁移效率,进一步的,通过建立迁移超时退出机制,来避免迁移时间过长引起数据库某些资源持续消耗导致数据库健康状态恶化。
为了便于理解本领域技术人员的理解,图2示意性地示出了根据本发明实施方式的对数据库进行数据迁移的方法200的流程示意图,对数据库进行数据迁移的过程进行举例说明。如图2所示,该方法200可以包括:
步骤S201、开始对数据库1进行数据迁移,并开始记录迁移时间;
步骤S202、在开始进行数据迁移之后,确定触发条件,并根据触发条件确定数据库的第一业务负载;
步骤S203、判断第一业务负载是否达到第一负载阈值,若是,执行步骤S204,否则,继续对数据库1进行数据迁移;
步骤S204、将迁移所述数据时的8个活跃线程中的5个活跃线程调整为5个休眠线程,剩余3个活跃线程继续被配置为迁移数据,并记录调整休眠次数为1;
步骤S205、确定数据库1的第二业务负载,判断第二业务负载是否达到第二负载阈值,若是,不执行任何操作,否则,执行步骤S206;
步骤S206、将迁移数据时的活跃线程数从3调整为7;
步骤S207、确定未完成迁移数据之前,并确定记录的迁移时间达到迁移时间阈值之后,进一步确定记录的调整休眠次数达到调整休眠次数阈值时,停止对数据库1进行数据迁移,使得活跃线程退出。
需要说明的时,在未完成迁移数据时退出活跃线程的话,活跃线程异常退出,在完成迁移数据时退出活跃线程的话,活跃线程正常退出。
从该实施例中可以看出,本发明实施例可以根据业务负载的变化动态调节活跃线程数的数量,达到业务负载增加时活跃线程数减少的效果。如果业务负载超过对应阈值越多,则调整为休眠线程的活跃线程的数量越多,且调整为休眠线程的休眠时长越长。这样更有利于爆发性的业务负载快速得到响应。
相比现有的迁移技术方案,本发明的技术方案能够极大得提高迁移的自动化程度,避免因为迁移影响正常业务,使DBA需在迁移过程频繁介入,大大节省了消耗在迁移操作上的时间。实现了一键式的MySQL数据库迁移。
此外,尽管在图2中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
示例性设备
在介绍了本发明示例性实施方式的方法之后,接下来,参考图3对本发明示例性实施方式的对数据库进行数据迁移装置。
图3示意性地示出了根据本发明实施方式的对数据库进行数据迁移装置300的示意图。如图3所示,该装置300可以包括:
确定模块301,被配置为确定所述数据库的第一业务负载;
调整模块302,被配置为在所述确定模块301确定所述第一业务负载达到第一负载阈值时,将迁移所述数据时的N个活跃线程中的M个活跃线程调整为M个休眠线程,其中,N为大于0的整数,M为大于0的整数,M小于或者等于N。
在一些可能的实施方式中,装置300中的确定模块301确定数据库的第一业务负载时,可以是周期性的确定数据库的第一业务负载,例如,30分钟确定一次数据库的第一业务负载;又例如,为了更进一步避免对业务质量的影响,可以10分钟确定一次数据库的第一业务负载。
在另一些可能的实施方式中,装置300中的确定模块301确定数据库的第一业务负载时,也可以是确定触发条件,根据所述触发条件确定所述数据库的第一业务负载。
上述两种方式只是装置300中确定模块301确定数据库的第一业务负载的可能实现的具体例子,当然在实现时也可能采用其他方式来确定数据库的第一业务负载,并不限定于上述两种方式,在此不再进行一一详述。
上述描述的是确定模块301什么时候来确定数据库的第一业务负载,下面对确定模块301确定数据库的第一业务负载的可能实现方式进行描述。
在一些可能的实施方式中,装置300中的确定模块301确定所述数据库的第一业务负载时,可以采用多种方式:例如,确定模块301确定所述数据库的锁竞争、事务数量、文件输入/输出、Write Ahead Log、记录增删改查操作、缓冲池操作中的至少一种。也就是说,当确定所述数据库的锁竞争、事务数量、文件输入/输出、Write Ahead Log、记录增删改查操作、缓冲池操作中的至少一种时,就可以确定出数据库的第一业务负载。需要说明的时,至少一种包括一种也包括一种以上的情况。
在一些可能的实施方式中,本发明实施例中,装置300中还包括停止迁移模块303,被配置为当将数据库中的所有数据迁移完成后,停止迁移数据。
在另一些可能的实施方式中,进一步的,装置300还包括迁移时间记录模块304:从迁移所述数据开始,记录迁移时间;在完成迁移所述数据之前,确定迁移时间记录模块304记录的迁移时间达到迁移时间阈值时,停止迁移模块303停止迁移所述数据。
也就是说,迁移时间记录模块304从迁移数据开始时,要记录迁移时间,当没有完成整个数据库的迁移,但是迁移时间记录模块304所记录的迁移时间达到迁移时间阈值时,此时停止迁移模块303也要停止数据库的迁移,这样,可以避免迁移数据库占用较长的时间对业务质量的影响,提高业务质量。
由于迁移时间超过了设置的迁移时间阈值时,在完成数据导出、导入,进入增量数据同步时就会因为对应的BinLog文件已经被删除而最终失败;又例如由于迁移的数据是过去时间点的一致性状态,导致随着时间的延长,数据库需要为其保留的undo log等信息不断累积,进而占用了磁盘的IO带宽和存储空间。为了避免对数据库进行数据迁移时使用较长的迁移时间导致对业务质量的影响,也就是说,为了提高业务质量,资源的利用率及迁移的成功率,迁移时间记录模块304从迁移所述数据开始,记录迁移时间;在完成迁移所述数据之前,确定记录的迁移时间达到迁移时间阈值时,停止迁移模块303停止迁移所述数据。
在一些可能的实施方式中,装置300还包括调整休眠次数记录模块305:被配置为记录调整休眠次数;确定模块301还被配置为:确定调整休眠次数记录模块305记录的调整休眠次数达到调整休眠阈值。
在实际应用中,在有些情况下迁移数据库对业务负载的影响较小,此时,如果在未完成整个数据库的迁移,但是迁移时间记录模块304记录的迁移时间达到迁移时间阈值时停止迁移模块303就停止迁移数据的话,会存在资源浪费的情况,也就是说在有些情况下,在未完成整个数据库的迁移时,如果由于迁移时间记录模块304记录的迁移时间达到迁移时间阈值,停止迁移模块303就停止数据库的迁移的话,会造成资源的浪费,因此,进一步的,本发明实施例中,还包括调整休眠次数记录模块305:被配置为记录调整休眠次数;确定模块301还被配置为:确定调整休眠次数记录模块305记录的调整休眠次数达到调整休眠阈值。也就是说,在未完成整个数据库的迁移时,如果迁移时间记录模块304记录的迁移时间达到迁移时间阈值时,还要进一步判断调整休眠次数记录模块305记录的调整休眠次数是否达到调整休眠阈值,如果是,停止迁移模块303才停止迁移数据,如果调整休眠次数记录模块305记录的调整休眠次数未达到调整休眠阈值的话,此时,要继续迁移数据,这样,就可以在资源占用不紧张的情况下继续进行数据迁移,避免资源的浪费。例如,迁移时间阈值为3小时,调整休眠次数阈值为3次,当迁移时间记录模块304记录的迁移时间达到3小时时,进一步判断调整休眠次数记录模块305记录的调整休眠次数是否为3次数,如果达到3次,停止迁移模块303停止数据的迁移,如果没有达到3次,此时,可以继续迁移数据。
需要说明的是,调整模块302每执行一次将迁移所述数据时的N个活跃线程中的M个活跃线程调整为M个休眠线程的操作时,调整休眠次数记录模块305都要记录一次调整休眠次数。
在一些可能的实施方式中,调整模块302可以根据adjust_status这一参数的值来判断是否需要根据负载将迁移数据时的N个活跃线程中的M个活跃线程调整为M个休眠线程,例如,将adjust_status设置为非0值时,表示需要根据业务负载将迁移数据时的N个活跃线程中的M个活跃线程调整为M个休眠线程,将adjust_status设置为0值时,表示不需要调整活跃线程,例如,将adjust_status设置为1时,表示需要根据业务负载将迁移数据时的N个活跃线程中的M个活跃线程调整为M个休眠线程。
在另一些可能的实施方式中,进一步的,为了提高资源的利用率,确定模块301还被配置为:确定所述数据库的第二业务负载;在确定模块301确定所述第二业务负载未达到第二负载阈值时,调整模块302增加迁移所述数据时的活跃线程数。也就是说,在将活跃线程数减少之后,如果确定的数据库的第二业务负载未达到第二负载阈值时,进一步的,为了提高资源的利用率,可以增加迁移数据时的活跃线程数。需要说明的是,增加的迁移数据时的活跃线程数也是有活跃线程数阈值的,不能无限制的增加活跃线程数。例如,当前的活跃线程数为4,活跃线程数阈值为8,此时,第二业务负载未达到第二负载阈值时,可以增加活跃线程数,增加后的活跃线程数最大为8。
在另一些可能的实施方式中,本发明实施例的M个休眠线程中的每一个休眠线程的休眠时长与负载差值呈正相关,所述负载差值表征所述第一业务负载与所述第一负载阈值之差。其中,负载差值可以等于所述第一业务负载减去所述第一负载阈值的差值,或者,也可以等于所述第一业务负载除以所述第一负载阈值的商值,或者,还可以等于所述第一业务负载除以所述第一负载阈值的商值取整后得到的值。例如,在第一种情况中的负载差值为第一负载差值,M个休眠线程中的每一个休眠线程的休眠时长为第一休眠时长,在第二种情况中的负载差值为第二负载差值,M个休眠线程中的每一个休眠线程的休眠时长为第二休眠时长,若第一负载差值大于第二负载差值,则第一休眠时长大于第二休眠时长,若第一负载差值小于第二负载差值,则第一休眠时长小于第二休眠时长。
在一些可能的实施方式中,在具体实现时,可以根据monitor_result的值来体现负载差值,例如,如果负载差值小于0,则monitor_result为0,对于数值型的监控项,根据第一业务负载超出第一负载阈值的程度,可以将monitor_result分别设置为1、2、3等数字;例如,可以选择以下这种方式来设置monitor_result的值:以第一业务负载除以第一负载阈值所得的商值取整数作为monitor_result的值,例如第一业务负载为25,而阈值是50,则monitor_result设置为0,如果第一业务负载为55,则monitor_result设置为1,如果第一业务负载为100,则monitor_result设置为2,等等。当然,也可以选择其他第一业务负载与第一负载阈值的函数关系,来设置monitor_result的值,只要该函数关系能代表第一业务负载超出第一负载阈值的程度越大、monitor_result的值就越大的函数变化关系即可,在此不做具体限定。
在一些可能的实施方式中,迁移时间记录模块304还被配置为:从迁移所述数据开始,记录迁移时间;在迁移时间记录模块304记录的迁移时间达到迁移时间阈值之前,确定模块301根据迁移的数据的相关信息确定是否完成所述数据的迁移。其中,确定模块301在根据迁移的数据的相关信息确定是否完成所述数据的迁移时,可选的,可以根据迁移的数据的类型确定是否完成数据的迁移,又例如,根据迁移的数据携带的标识确定是否完成数据的迁移,当然,还可能有其他确定是否完成数据的迁移的方式,在此不再进行详述。在一个实施例中,在线程退出前判断待迁移的数据的类型,如果待迁移的数据的类型为shutdown dump_job,则表示完成数据迁移,线程正常退出,否则为异常退出。
在本发明实施例中,可以在对数据库进行数据迁移的过程中考虑业务负载的情况,根据数据库的业务负载与对应阈值的比较结果,调整模块302调整迁移数据库时的线程的状态,例如,当确定模块301确定数据库的第一业务负载达到第一负载阈值时,调整模块302将迁移数据时的N个活跃线程中的M个活跃线程调整为M个休眠线程,M小于或者等于N,之后,当确定模块301确定数据库的第二业务负载达到第二负载阈值时,调整模块302再增加迁移数据时的活跃线程数,这样,在对数据库进行数据迁移的过程中,通过考虑进行数据迁移的数据库所在服务器的业务负载,进而根据业务负载的情况调整迁移数据时的线程的状态,避免迁移数据对数据库所在服务器的业务质量造成较大影响,提高业务质量,及服务器资源的利用率。
也就是说,本发明实施例既可以实现通过多线程迁移来加快迁移效率,又可以防止迁移操作占用过多***或数据库资源导致正常的数据库业务受到不同程度的影响,做到了在对数据库业务造成有限的,或者说是可以接受的影响的前提下,最大限度地提高了迁移效率进一步的,通过建立迁移超时退出机制,来避免迁移时间过长引起数据库某些资源持续消耗导致数据库健康状态恶化。
示例性设备
在介绍了本发明示例性实施方式的方法和装置之后,接下来,介绍根据本发明的另一示例性实施方式的用于对数据库进行数据迁移装置。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为***、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“***”。
在一些可能的实施方式中,根据本发明的对数据库进行数据迁移装置可以至少包括至少一个处理单元、以及至少一个存储单元。其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的对数据库进行数据迁移的方法中的步骤。例如,所述处理单元可以执行如图1中所示的步骤S101、确定所述数据库的第一业务负载,和步骤S102、确定所述第一业务负载达到第一负载阈值时,将迁移所述数据时的N个活跃线程中的M个活跃线程调整为M个休眠线程,其中,N为大于0的整数,M为大于0的整数,M小于或者等于N。
下面参照图4来描述根据本发明的这种实施方式的对数据库进行数据迁移装置10。图4显示的对数据库进行数据迁移装置10仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,对数据库进行数据迁移装置10以通用计算设备的形式表现。对数据库进行数据迁移装置10的组件可以包括但不限于:上述至少一个处理单元16、上述至少一个存储单元28、连接不同***组件(包括存储单元28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、***总线、图形加速端口、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储单元28可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32,还可以进一步只读存储器(ROM)34。
存储单元28还可以包括具有一组(至少一个)程序模块42的程序/实用工具40,这样的程序模块42包括但不限于:操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
对数据库进行数据迁移装置10也可以与一个或多个外部设备14(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该对数据库进行数据迁移装置10交互的设备通信,和/或与使得该对数据库进行数据迁移装置10能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,对数据库进行数据迁移装置10还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与对数据库进行数据迁移装置10的其它模块通信。应当明白,尽管图中未示出,可以结合对数据库进行数据迁移装置10使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
示例性程序产品
在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的对数据库进行数据迁移方法中的步骤,例如,所述终端设备可以执行如图1中所示的步骤S101、确定所述数据库的第一业务负载,和步骤S102、确定所述第一业务负载达到第一负载阈值时,将迁移所述数据时的N个活跃线程中的M个活跃线程调整为M个休眠线程,其中,N为大于0的整数,M为大于0的整数,M小于或者等于N。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
如图5所示,描述了根据本发明的实施方式的对数据库进行数据迁移的程序产品50,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了对数据库进行数据迁移设备的若干装置或子装置,但是这种划分仅仅并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
Claims (10)
1.一种对数据库进行数据迁移的方法,其特征在于,包括:
确定所述数据库的第一业务负载;
确定所述第一业务负载达到第一负载阈值时,将迁移所述数据时的N个活跃线程中的M个活跃线程调整为M个休眠线程,其中,N为大于0的整数,M为大于0的整数,M小于或者等于N;
其中,所述确定所述数据库的第一业务负载,包括:
确定所述数据库的锁竞争、事务数量、文件输入/输出、Write Ahead Log、记录增删改查操作、缓冲池操作中的至少一种;
所述方法还包括:从迁移所述数据开始,记录迁移时间;
其中,将迁移所述数据时的N个活跃线程中的M个活跃线程调整为M个休眠线程之后,所述方法还包括:记录调整休眠次数;在完成迁移所述数据之前,确定记录的迁移时间达到迁移时间阈值时,进一步判断记录的调整休眠次数是否达到调整休眠次数阈值;如果记录的调整休眠次数达到调整休眠阈值时,才停止迁移数据,如果记录的调整休眠次数未达到调整休眠阈值,要继续迁移数据。
2.如权利要求1所述的方法,其特征在于,将迁移所述数据时的N个活跃线程中的M个活跃线程调整为M个休眠线程之后,还包括:
确定所述数据库的第二业务负载;
确定所述第二业务负载未达到第二负载阈值时,增加迁移所述数据时的活跃线程数。
3.如权利要求1或2所述的方法,其特征在于,确定所述数据库的第一业务负载,包括:
周期性的确定所述数据库的第一业务负载;或者
确定触发条件,根据所述触发条件确定所述数据库的第一业务负载。
4.如权利要求1或2所述的方法,其特征在于,所述M个休眠线程中的每一个休眠线程的休眠时长与负载差值呈正相关,所述负载差值表征所述第一业务负载与所述第一负载阈值之差。
5.如权利要求1或2所述的方法,其特征在于,所述方法还包括:
在记录的迁移时间达到迁移时间阈值之前,根据迁移的数据的相关信息确定是否完成所述数据的迁移。
6.一种对数据库进行数据迁移的装置,其特征在于,包括:
确定模块,被配置为确定所述数据库的第一业务负载;
调整模块,被配置为在所述确定模块确定所述第一业务负载达到第一负载阈值时,将迁移所述数据时的N个活跃线程中的M个活跃线程调整为M个休眠线程,其中,N为大于0的整数,M为大于0的整数,M小于或者等于N;
其中,所述确定所述数据库的第一业务负载包括:
确定所述数据库的锁竞争、事务数量、文件输入/输出、Write Ahead Log、记录增删改查操作、缓冲池操作中的至少一种;
所述装置还包括:迁移时间记录模块,被配置为从迁移所述数据开始,记录迁移时间;
所述装置还包括:调整休眠次数记录模块,被配置为记录调整休眠次数;
所述装置还包括:停止迁移模块,被配置为在完成迁移所述数据之前,确定所述迁移时间记录模块记录的迁移时间达到迁移时间阈值时,进一步判断所述调整休眠次数记录模块记录的调整休眠次数是否达到调整休眠阈值;如果所述调整休眠次数记录模块记录的调整休眠次数达到调整休眠阈值时,所述停止迁移模块才停止迁移数据,如果所述调整休眠次数记录模块记录的调整休眠次数未达到调整休眠阈值,要继续迁移数据。
7.如权利要求6所述的装置,其特征在于,其中所述确定模块还被配置为:
确定所述数据库的第二业务负载;
其中所述调整模块还被配置为:
在所述确定模块确定所述第二业务负载未达到第二负载阈值时,增加迁移所述数据时的活跃线程数。
8.如权利要求6或7所述的装置,其特征在于,其中所述确定模块被配置为:
周期性的确定所述数据库的第一业务负载;或者
确定触发条件,根据所述触发条件确定所述数据库的第一业务负载。
9.如权利要求6或7所述的装置,其特征在于,所述M个休眠线程中的每一个休眠线程的休眠时长与负载差值呈正相关,所述负载差值表征所述第一业务负载与所述第一负载阈值之差。
10.如权利要求6或7所述的装置,其特征在于,
其中所述确定模块被配置为:
在所述迁移时间记录模块记录的迁移时间达到迁移时间阈值之前,根据迁移的数据的相关信息确定是否完成所述数据的迁移。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510937799.1A CN105574141B (zh) | 2015-12-15 | 2015-12-15 | 一种对数据库进行数据迁移的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510937799.1A CN105574141B (zh) | 2015-12-15 | 2015-12-15 | 一种对数据库进行数据迁移的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105574141A CN105574141A (zh) | 2016-05-11 |
CN105574141B true CN105574141B (zh) | 2021-04-27 |
Family
ID=55884272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510937799.1A Active CN105574141B (zh) | 2015-12-15 | 2015-12-15 | 一种对数据库进行数据迁移的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105574141B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109558219B (zh) * | 2017-09-25 | 2023-05-26 | 阿里巴巴集团控股有限公司 | 一种热迁移中的降频方法、装置及存储介质 |
CN109325016B (zh) * | 2018-09-12 | 2021-04-20 | 杭州朗和科技有限公司 | 数据迁移方法、装置、介质及电子设备 |
CN109358816B (zh) * | 2018-10-19 | 2022-05-20 | 网宿科技股份有限公司 | 一种分布式存储***的流控方法及装置 |
CN109857528B (zh) * | 2019-01-10 | 2021-08-27 | 北京三快在线科技有限公司 | 数据迁移的速度调整方法、装置、存储介质和移动终端 |
CN113849476A (zh) * | 2020-06-28 | 2021-12-28 | 中兴通讯股份有限公司 | 数据迁移方法、装置、网络设备和存储介质 |
CN112463763B (zh) * | 2020-11-19 | 2023-09-29 | 东北大学 | 基于RF算法的MySQL数据库参数筛选方法 |
CN114760313B (zh) * | 2020-12-29 | 2023-11-24 | 中国联合网络通信集团有限公司 | 业务调度方法和业务调度装置 |
CN113326140A (zh) * | 2021-06-30 | 2021-08-31 | 统信软件技术有限公司 | 一种进程迁移方法、装置、计算设备以及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101706803A (zh) * | 2009-11-27 | 2010-05-12 | 天津工业大学 | 一种织造车间生产数据的迁移方法 |
CN102495857A (zh) * | 2011-11-21 | 2012-06-13 | 北京新媒传信科技有限公司 | 一种分布式数据库的负载均衡方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070106710A1 (en) * | 2005-10-26 | 2007-05-10 | Nils Haustein | Apparatus, system, and method for data migration |
-
2015
- 2015-12-15 CN CN201510937799.1A patent/CN105574141B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101706803A (zh) * | 2009-11-27 | 2010-05-12 | 天津工业大学 | 一种织造车间生产数据的迁移方法 |
CN102495857A (zh) * | 2011-11-21 | 2012-06-13 | 北京新媒传信科技有限公司 | 一种分布式数据库的负载均衡方法 |
Non-Patent Citations (2)
Title |
---|
一种基于CPU负载平均的负载均衡算法;何龙等;《计算机与数字工程》;20121231;第22-24页 * |
在线动态数据迁移下***负载控制的设计与实现;苏睿;《中国优秀硕士学位论文全文数据库 信息科技辑》;20131215;第7-11页、第35-45页 * |
Also Published As
Publication number | Publication date |
---|---|
CN105574141A (zh) | 2016-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105574141B (zh) | 一种对数据库进行数据迁移的方法和装置 | |
US10198189B2 (en) | Data allocation among devices with different data rates | |
US20130006948A1 (en) | Compression-aware data storage tiering | |
US10523743B2 (en) | Dynamic load-based merging | |
US20230185480A1 (en) | Ssd-based log data storage method and apparatus, device and medium | |
US20140215127A1 (en) | Apparatus, system, and method for adaptive intent logging | |
US11366788B2 (en) | Parallel pipelined processing for snapshot data deletion | |
EP4036735A1 (en) | Method, apparatus and readable storage medium | |
US10048880B1 (en) | Efficient scrubbing of mirrored memory | |
US10459641B2 (en) | Efficient serialization of journal data | |
CN115576505A (zh) | 一种数据存储方法、装置、设备及可读存储介质 | |
US20140108839A1 (en) | Log record writing system, device, method, and program | |
US20220129174A1 (en) | Method, device and computer program product for storage management | |
US11704151B2 (en) | Estimate and control execution time of a utility command | |
CN113553216A (zh) | 数据恢复方法、装置、电子设备及存储介质 | |
US11176089B2 (en) | Systems and methods for implementing dynamic file systems | |
CN110941436B (zh) | 应用程序的数据存储方法、装置、存储介质与终端设备 | |
KR102175999B1 (ko) | 컴퓨터 시스템에서의 입출력 완료 방법 및 이를 위한 컴퓨터 시스템 | |
CN110413197B (zh) | 管理存储***的方法、设备和计算机程序产品 | |
US9658965B2 (en) | Cache utilization to efficiently manage a storage system | |
US20230100110A1 (en) | Computing resource management method, electronic equipment and program product | |
US20190332484A1 (en) | Method, device and program product for reducing data recovery time of storage system | |
US11662916B2 (en) | Method, electronic device and computer program product for managing a storage system | |
CN111552439B (zh) | 数据存储方法、装置、***、电子设备及存储介质 | |
CN112434013A (zh) | 数据表迁移方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: 310052 Room 301, Building No. 599, Changhe Street Network Business Road, Binjiang District, Hangzhou City, Zhejiang Province Patentee after: Hangzhou NetEase Shuzhifan Technology Co.,Ltd. Address before: 310052 Room 301, Building No. 599, Changhe Street Network Business Road, Binjiang District, Hangzhou City, Zhejiang Province Patentee before: HANGZHOU LANGHE TECHNOLOGY Ltd. |
|
CP01 | Change in the name or title of a patent holder |