一种数据库迁移方法及装置制造方法及图纸

技术编号:14626785 阅读:66 留言:0更新日期:2017-02-12 15:53
本发明专利技术实施例公开了一种数据库迁移方法及装置,包括:接收数据库迁移指令,确定待迁移数据库的源环境并创建目标环境;获取对待迁移数据库的最近一次全量备份,至少将最近一次全量备份加载到目标环境中;在加载最近一次全量备份完成后,在目标环境中的目标数据库上应用待迁移数据库的事务日志进行迁移;判断目标数据库与待迁移数据库的差别是否等于或小于预设的阈值,如果是,将虚拟IP从指向待迁移数据库的IP地址切换为指向目标数据库的IP地址;判断目标数据库是否完成迁移;如果是,将用户的读写操作切换到目标数据库进行。应用本发明专利技术实施例,实现了在数据库迁移的过程中,不妨碍用户对数据库进行操作。

【技术实现步骤摘要】

本专利技术涉及计算机应用
,特别涉及一种数据库迁移方法及装置
技术介绍
随着计算机技术和互联网技术的发展,数据库的应用已深入到生活和工作中,各种数据库管理系统、网站等的数据都离不开数据库的支持。在某些情况下,需要对数据库进行迁移,所谓的数据库迁移是指在目标环境中加载源环境中的数据库。数据库迁移技术的一个应用目的是实现数据库资源的升级或降级。例如,对于云平台中租户所使用的数据库实例,在创建之初,就会指定数据库实例能够占用的数据库资源,但是随着租户需求的变更,租户需要升级或者降级数据库资源,又例如源环境中的数据库出现问题,需要目标环境对数据库进行重新配置时,可以采用数据库迁移技术。在上述的情况下,就需要对数据库进行迁移。现有技术中的数据库迁移方法,通常是接收到数据库的迁移指令之后,停止外部对数据库的访问,不再允许对数据库进行读写操作,利用源环境中的对数据库的备份,将数据库加载到目标环境中,待到数据库完成迁移后,再允许外部对该数据库进行访问。但是,应用上述的数据库迁移方法,在数据库的迁移过程中,用户不能对数据库进行操作,只有在数据库迁移完成、允许外部对目标环境的数据库的访问之后,用户才能再次对数据库进行操作,数据库的迁移可能是由于用户的需求产生的,也有可能是服务器厂商的需求产生的,也可能是数据库升级导致的,随着数据库越来越庞大,高频率或长时间的迁移数据库的行为时有发生,太多的时间不能对数据库操作,将大大降低数据库的服务质量,造成用户流失。因此,本专利技术希望数据库迁移时,尽最大限度的减少不可用时间。
技术实现思路
本专利技术实施例的目的在于提供一种数据库迁移方法及装置,以实现在数据库迁移的过程中,不妨碍用户对数据库进行操作。为达到上述目的,本专利技术实施例公开了一种数据库迁移方法,包括:接收数据库迁移指令,确定待迁移数据库的源环境,并创建目标环境;获取对所述待迁移数据库的最近一次全量备份,至少将所述最近一次全量备份加载到目标环境中;在加载最近一次全量备份完成后,在目标环境中的目标数据库上应用所述待迁移数据库的事务日志进行迁移;判断所述目标数据库与待迁移数据库的差别是否等于或小于预先设置的阈值;如果是,将虚拟IP从指向所述待迁移数据库的IP地址切换为指向所述目标数据库的IP地址;判断所述虚拟IP的指向是否已切换完毕且所述目标数据库完成迁移;如果是,则将用户切换到目标数据库进行读写操作。较佳的,所述全量备份和所述事务日志分别存储在文件存储系统、或者源环境、或者目标环境中。较佳的,所述文件存储系统是分布式文件系统。较佳的,所述在加载最近一次全量备份完成后,在目标环境中的目标数据库上应用所述待迁移数据库的事务日志进行迁移,包括:按照所述事务日志中记载的每个时间点用户对数据库的操作记录,从距离所述全量备份生成的时间最晚一次的操作记录开始,依照每条操作记录逐条更新目标数据库,直到依照距离当前时间最近一条事务日志更新完毕。较佳的,所述判断所述目标数据库与待迁移数据库的差别是否等于或小于预先设置的阈值之后,如果所述目标数据库与所述待迁移数据库的差别大于预先设置的阈值时,返回执行所述在加载最近一次全量备份完成后,在目标环境中的目标数据库上应用所述待迁移数据库的事务日志进行迁移的步骤。较佳的,所述判断所述目标数据库与待迁移数据库的差别是否等于或小于预先设置的阈值,包括:当所述目标数据库读取所述事务日志中的一条操作记录时,计算所述操作记录的时间戳与当前系统时间之差,如果所述时间差等于或者小于所述预先设置的阈值,则所述目标数据库与所述待迁移数据库的差别达到预设的阈值;如果所述时间差大于所述预先设置的阈值,则所述目标数据库与所述待迁移数据库的差别未达到所述预先设置的阈值。为达到上述目的,本专利技术实施例公开了一种数据库迁移装置,包括:迁移指令接收模块、加载模块、迁移模块、阈值判断模块、切换模块、迁移判断模块和读写迁移模块,其中,所述迁移指令接收模块,用于接收数据库迁移指令,确定待迁移数据库的源环境,并创建目标环境;所述加载模块,用于获取对所述待迁移数据库的最近一次全量备份,至少将所述最近一次全量备份加载到目标环境中;所述迁移模块,用于在加载最近一次全量备份完成后,在目标环境中的目标数据库上应用所述待迁移数据库的事务日志进行迁移;所述阈值判断模块,用于判断所述目标数据库与待迁移数据库的差别是否等于或小于预先设置的阈值;所述切换模块,用于在所述阈值判断模块判断结果为是情况下,将虚拟IP从指向所述待迁移数据库的IP地址切换为指向所述目标数据库的IP地址;所述迁移判断模块,用于判断所述虚拟IP的指向是否已切换完毕且所述目标数据库是否完成迁移;所述读写迁移模块,用于在所述迁移判断模块判断结果为是的情况下,将用户切换到目标数据库进行读写操作。较佳的,所述全量备份和所述事务日志分别存储在文件存储系统、或者源环境、或者目标环境中。较佳的,所述文件存储系统是分布式文件系统。较佳的,所述加载模块,具体用于:按照所述事务日志中记载的每个时间点用户对数据库的操作记录,从距离所述全量备份生成的时间最晚一次的操作记录开始,依照每条操作记录逐条更新目标数据库,直到依照距离当前时间最近一条事务日志更新完毕。较佳的,所述切换模块,还用于:在所述阈值判断模块判断结果为否情况下,触发所述迁移模块。较佳的,所述阈值判断模块,具体用于:当所述目标数据库读取所述事务日志中的一条操作记录时,计算所述操作记录的时间戳与当前系统时间之差,如果所述时间差等于或者小于所述预先设置的阈值,则所述目标数据库与所述待迁移数据库的差别达到预设的阈值;如果所述时间差大于所述预先设置的阈值,则所述目标数据库与所述待迁移数据库的差别未达到所述预先设置的阈值。为达到上述目的,本专利技术实施例公开了一种数据库迁移方法,包括:接收数据库迁移指令,确定待迁移数据库的源环境,并创建目标环境;判断所述目标环境中的目标数据库与待迁移数据库的差别是否等于或小于预先设置的阈值;如果是,将虚拟IP切换为指向所述目标数据库的IP地址;判断所述虚拟IP的指向是否已切换完毕且所述目标数据库完成迁移;如果是,则将用户切换到目标数据库进行读写操作。较佳的,所述创建目标环境,还包括:获取对所述待迁移数据库的最近一次全量备份,至少将所述最近一次全量备份本文档来自技高网
...

【技术保护点】
一种数据库迁移方法,其特征在于,包括:接收数据库迁移指令,确定待迁移数据库的源环境,并创建目标环境;获取对所述待迁移数据库的最近一次全量备份,至少将所述最近一次全量备份加载到目标环境中;在加载最近一次全量备份完成后,在目标环境中的目标数据库上应用所述待迁移数据库的事务日志进行迁移;判断所述目标数据库与待迁移数据库的差别是否等于或小于预先设置的阈值;如果是,将虚拟IP从指向所述待迁移数据库的IP地址切换为指向所述目标数据库的IP地址;判断所述虚拟IP的指向是否已切换完毕且所述目标数据库完成迁移;如果是,则将用户切换到目标数据库进行读写操作。

【技术特征摘要】
1.一种数据库迁移方法,其特征在于,包括:
接收数据库迁移指令,确定待迁移数据库的源环境,并创建目标环境;
获取对所述待迁移数据库的最近一次全量备份,至少将所述最近一次全量
备份加载到目标环境中;
在加载最近一次全量备份完成后,在目标环境中的目标数据库上应用所述
待迁移数据库的事务日志进行迁移;
判断所述目标数据库与待迁移数据库的差别是否等于或小于预先设置的阈
值;
如果是,将虚拟IP从指向所述待迁移数据库的IP地址切换为指向所述目标数
据库的IP地址;
判断所述虚拟IP的指向是否已切换完毕且所述目标数据库完成迁移;
如果是,则将用户切换到目标数据库进行读写操作。
2.根据权利要求1所述的方法,其特征在于,所述全量备份和所述事务日
志分别存储在文件存储系统、或者源环境、或者目标环境中。
3.根据权利要求2所述的方法,其特征在于,所述文件存储系统是分布式
文件系统。
4.根据权利要求1所述的方法,其特征在于,所述在加载最近一次全量备
份完成后,在目标环境中的目标数据库上应用所述待迁移数据库的事务日志进
行迁移,包括:
按照所述事务日志中记载的每个时间点用户对数据库的操作记录,从距离
所述全量备份生成的时间最晚一次的操作记录开始,依照每条操作记录逐条更
新目标数据库,直到依照距离当前时间最近一条事务日志更新完毕。
5.根据权利要求1所述的方法,其特征在于,所述判断所述目标数据库与
待迁移数据库的差别是否等于或小于预先设置的阈值之后,如果所述目标数据
库与所述待迁移数据库的差别大于预先设置的阈值时,返回执行所述在加载最
近一次全量备份完成后,在目标环境中的目标数据库上应用所述待迁移数据库

\t的事务日志进行迁移的步骤。
6.根据权利要求1所述的方法,其特征在于,所述判断所述目标数据库与
待迁移数据库的差别是否等于或小于预先设置的阈值,包括:
当所述目标数据库读取所述事务日志中的一条操作记录时,计算所述操作
记录的时间戳与当前系统时间之差,如果所述时间差等于或者小于所述预先设
置的阈值,则所述目标数据库与所述待迁移数据库的差别达到预设的阈值;如
果所述时间差大于所述预先设置的阈值,则所述目标数据库与所述待迁移数据
库的差别未达到所述预先设置的阈值。
7.一种数据库迁移装置,其特征在于,包括:迁移指令接收模块、加
载模块、迁移模块、阈值判断模块、切换模块、迁移判断模块和读写迁移
模块,其中,
所述迁移指令接收模块,用于接收数据库迁移指令,确定待迁移数据库
的源环境,并创建目标环境;
所述加载模块,用于获取对所述待迁移数据库的最近一次全量备份,
至少将所述最近一次全量备份加载到目标环境中;
所述迁移模块,用于在加载最近一次全量备份完成后,在目标环境中
的目标数据库上应用所述待迁移数据库的事务日志进行迁移;
所述阈值判断模块,用于判断所述目标数据库与待迁移数据库的差别
是否等于或小于预先设置的阈值;
所述切换模块,用于在所述阈值判断模块判断结果为是情况下,将虚
拟IP从指向所述待迁移数据库的IP地址切换为指向所述目标数据库的IP地
址;
所述迁移判断模块,用于判断所述虚拟IP的指向是否已切换完毕且所述
目标数据库是否完成迁移;
所述读写迁移模块,用于在所述迁移判断模块判断结果为是的情况下,
将用户切换到目标数据库进行读写操作。
8.根据权利要求7所述的装置,其特征在于,所述全量备份和所述事

\t务日志分别存储在文件存储系统、或者源环境、或者目标环境中。
9.根据权利要求8所述的装置,其特征在于,所述文件存储系统是分
布式文件系统。
10.根据权利要求7所述的装置,其特征在于,所述加载模块,具体用
于:
按照所述事务日志中记载的每个时间点用户对数据库的操作记录,从
距离所述全量备份生成的时间最晚一次的操作记录开始,依照每条操作记
录逐条更新目标数据库,直到依照距离当前时间最近一条事务日志更新完
毕。
11.根据权利要求8所述的装置,其特征在于,所述切换模块,还用于:
在所述阈值判断模块...

【专利技术属性】
技术研发人员:符玲亭
申请(专利权)人:北京金山云网络技术有限公司北京金山云科技有限公司
类型:发明
国别省市:北京;11

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

1