一种对数据库进行数据迁移的方法和装置制造方法及图纸

技术编号:13188329 阅读:51 留言:0更新日期:2016-05-11 17:47
本发明专利技术的实施方式提供了一种对数据库进行数据迁移的方法和装置:确定数据库的第一业务负载,确定第一业务负载达到第一负载阈值时,将迁移数据时的N个活跃线程中的M个活跃线程调整为M个休眠线程,其中,N为大于0的整数,M为大于0的整数,M小于或者等于N,在该方案中,在对数据库进行数据迁移的过程中,如果确定第一业务负载达到第一负载阈值时,要将迁移数据时的N个活跃线程中的M个活跃线程调整为休眠线程,也就是说,可以根据负载状态来动态调整活跃线程数,这样可以避免对进行数据迁移的数据库所在服务器上的其他业务的影响,提高业务质量及服务器资源的利用率。

【技术实现步骤摘要】

本专利技术的实施方式涉及通信领域,更具体地,本专利技术的实施方式涉及一种对数据库进行数据迀移的方法和装置。
技术介绍
本部分旨在为权利要求书中陈述的本专利技术的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。MySQL(Structured Query Language,结构化查询语言)数据库是基于Linux操作系统开发出来的数据库,由于Linux是开放源码的操作系统,所以MySQL数据库也具有开放源码的特点。目前,MySQL数据库由于其开放源码的特点获得了广泛的应用。随着信息化时代的加剧发展,MySQL数据库的部署规模将持续扩大,在MySQL数据库的使用过程中,经常需要对MySQL数据库进行数据迀移,例如,服务器资源不足、网络隔离、数据容灾等场景下。在云计算技术迅猛发展的今天,MySQL数据库迀移至云也变得越来越普遍,由于目前非云数据库的规模极其庞大,靠DBA(DatabaseAdministrator,数据库管理员)手动对数据库进行数据迀移操作,显然不可取,选择一种高效的数据迀移方法显得尤为重要。目前,实现对MySQL数据库进行数据迀移的方案主要有三种:第一种为:单线程的逻辑迀移方法;第二种为:多线程的物理迀移方法;第三种为:多线程的逻辑迀移方法,其中,第三种方法,即多线程的逻辑迀移方法由于其具有迀移效率较高、兼容性较高,及能及时对迀移的MySQL数据库进行优化的优点而被广泛应用。在对MySQL数据库进行数据迀移过程中会占用MySQL数据库所在服务器的资源,因此,会对MySQL数据库所在服务器上的其他业务造成影响,而上述第三种方法,即多线程的逻辑迀移方法所占用的资源是最多的,因此,对MySQL数据库所在服务器上的其他业务造成影响也最大。
技术实现思路
因此在现有技术中,对数据库进行数据迀移的方法会对数据库所在服务器的业务造成影响,降低业务质量,这是非常令人烦恼的过程。为此,非常需要一种改进的对数据库进行数据迀移的方法和装置,以便避免对进行数据迀移的数据库所在服务器的业务造成影响,提高业务质量,进而提升服务器资源的利用率。在本上下文中,本专利技术的实施方式期望提供一种对数据库进行数据迀移的方法和 目.0在本专利技术实施方式的第一方面中,提供了一种对数据库进行数据迀移的方法,包括:确定所述数据库的第一业务负载;确定所述第一业务负载达到第一负载阈值时,将迀移所述数据时的N个活跃线程中的M个活跃线程调整为M个休眠线程,其中,N为大于O的整数,M为大于O的整数,M小于或者等于N。在本专利技术实施方式的第二方面中,提供了一种对数据库进行数据迀移的装置,包括:确定模块,被配置为确定所述数据库的第一业务负载;调整模块,被配置为在所述确定模块确定所述第一业务负载达到第一负载阈值时,将迀移所述数据时的N个活跃线程中的M个活跃线程调整为M个休眠线程,其中,N为大于O的整数,M为大于O的整数,M小于或者等于N。根据本专利技术的上述实施方式中的对数据库进行数据迀移的装置,其中所述确定模块还被配置为:确定所述数据库的第二业务负载;其中所述调整模块还被配置为:在所述确定模块确定所述第二业务负载未达到第二负载阈值时,增加迀移所述数据时的活跃线程数。根据本专利技术的上述任一实施方式中的对数据库进行数据迀移的装置,所述装置还包括:迀移时间记录模块,被配置为从迀移所述数据开始,记录迀移时间;所述装置还包括:停止迀移模块,被配置为在完成迀移所述数据之前,确定所述迀移时间记录模块记录的迀移时间达到迀移时间阈值时,停止迀移所述数据。根据本专利技术的上述任一实施方式中的对数据库进行数据迀移的装置,所述装置还包括:调整休眠次数记录模块,被配置为记录调整休眠次数;其中所述确定模块还被配置为:确定记录的调整休眠次数达到调整休眠次数阈值。根据本专利技术的上述任一实施方式中的对数据库进行数据迀移的装置,其中所述确定模块被配置为:周期性的确定所述数据库的第一业务负载;或者,确定触发条件,根据所述触发条件确定所述数据库的第一业务负载。根据本专利技术的上述任一实施方式中的对数据库进行数据迀移的装置,所述M个休眠线程中的每一个休眠线程的休眠时长与负载差值呈正相关,所述负载差值表征所述第一业务负载与所述第一负载阈值之差。根据本专利技术的上述任一实施方式中的对数据库进行数据迀移的装置,其中所述确定模块被配置为:确定所述数据库的锁竞争、事务数量、文件输入/输出、Write Ahead Log、记录增删改查操作、缓冲池操作中的至少一种。根据本专利技术的上述任一实施方式中的对数据库进行数据迀移的装置,所述装置还包括:迀移时间记录模块,被配置从迀移所述数据开始,记录迀移时间;其中所述确定模块被配置为:在所述迀移时间记录模块记录的迀移时间达到迀移时间阈值之前,根据迀移的数据的相关信息确定是否完成所述数据的迀移。根据本专利技术实施方式的对数据库进行数据迀移的方法和装置,可以在对数据库进行数据迀移过程中确定数据库的第一业务负载,当第一业务负载达到第一负载阈值时,将迀移数据库时的N歌活跃线程中的M个活跃线程调整为M个休眠线程,其中,N为大于O的整数,M为大于O的整数,M小于或者等于N,这样,在对数据库进行数据迀移的过程中,通过考虑进行数据迀移的数据库的业务负载,进而根据业务负载的情况调整迀移数据时的线程的状态,避免迀移数据对数据库所在服务器的业务质量造成较大影响,提高业务质量,及服务器资源的利用率。【附图说明】通过参考附图阅读下文的详细描述,本专利技术示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本专利技术的若干实施方式,其中:图1示意性地示出了根据本专利技术实施方式的对数据库进行数据迀移的方法的流程示意图;图2示意性地示出了根据本专利技术实施方式的对数据库进行数据迀移的方法的流程示意图;图3示意性地示出了根据本专利技术实施方式的对数据库进行数据迀移的装置的示意图;图4示意性地示出了根据本专利技术另一实施方式的对数据库进行数据迀移的装置的不意图;以及图5示意性地示出了根据本专利技术另一实施方式的对数据库进行数据迀移的程序产品。在附图中,相同或对应的标号表不相同或对应的部分。【具体实施方式】下面将参考若干示例性实施方式来描述本专利技术的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本专利技术,而并非以任何方式限制本专利技术的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。本领域技术技术人员知道,本专利技术的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。根据本专利技术的实施方式,提出了一种对数据库进行数据迀移的方法和装置。在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。下面对本专利技术中所用到的技术术语进行简单解释以便本领域技术人员理解。数据库迀移:可以指将数据库通过某种方式,将数据库中的表结构和表数据等信息进行数据导出,和/或再通过某种方式进行数据导入,恢复数据库,即数据库迀移包括数本文档来自技高网
...

【技术保护点】
一种对数据库进行数据迁移的方法,其特征在于,包括:确定所述数据库的第一业务负载;确定所述第一业务负载达到第一负载阈值时,将迁移所述数据时的N个活跃线程中的M个活跃线程调整为M个休眠线程,其中,N为大于0的整数,M为大于0的整数,M小于或者等于N。

【技术特征摘要】

【专利技术属性】
技术研发人员:温正湖
申请(专利权)人:杭州朗和科技有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1