数据库漂移方法、系统、电子设备和存储介质技术方案

技术编号:32119303 阅读:20 留言:0更新日期:2022-01-29 19:05
本发明专利技术公开了一种数据库漂移方法、系统、电子设备和存储介质,数据库漂移方法包括以下步骤:检测装载有第一数据库的第一实例是否满足预设的高负载条件;当所述第一实例满足所述高负载条件时,确定所述第一数据库中的待漂移数据,并新建第二数据库和第二实例;将所述待漂移数据同步到所述第二数据库中,并将所述第二数据库装载至所述第二实例。本发明专利技术通过对生产环境中各数据库实例的负载进行监控,对于负载较高的实例,将数据库的数据漂移到新增的实例中,操作过程简单,且不需要人工值守,在满足生产环境的负载实现动态平衡的同时,缩短业务的中断时间,减少了人工的工作量,并减少了因人工操作失误带来的生产环境故障。人工操作失误带来的生产环境故障。人工操作失误带来的生产环境故障。

【技术实现步骤摘要】
数据库漂移方法、系统、电子设备和存储介质


[0001]本专利技术涉及数据库领域,特别涉及一种数据库漂移方法、系统、电子设备和存储介质。

技术介绍

[0002]实例是指一组操作系统进程(或者是一个多线程的进程)和一些内存,这些进程可以操作数据库。数据库是指文件集合,包括数据文件、控制文件、临时文件、重做日志文件等。其中,数据库可以由多个实例装载和打开,实例可以在任何时间点装载和打开一个数据库,更准确地讲,实例在其整个生存期中最多能装载和打开一个数据库。
[0003]随着业务量的不断提高,在生产环境中,数据库实例容易存在负载不均衡的情况,由此带来一些故障。现有技术中,主要是通过人工转存或创建复制链路的方法来修正数据库实例负载不均衡的问题,这些方式需要制定较为复杂的工艺,比较耗费时间,使得业务中断时间较长,以及整个操作过程需要大量的人工操作,使得工作量较大,并且容易因为人工操作失误而给生产环境增加故障。

技术实现思路

[0004]本专利技术要解决的技术问题是为了克服现有技术中通过人工平衡生产环境的数据库实例负载而导致业务中断时间长、工作量大、故障多的缺陷,提供一种数据库漂移方法、系统、电子设备和存储介质。
[0005]本专利技术是通过下述技术方案来解决上述技术问题:
[0006]根据本专利技术的第一方面,提供一种数据库漂移方法,包括以下步骤:
[0007]检测装载有第一数据库的第一实例是否满足预设的高负载条件;
[0008]当所述第一实例满足所述高负载条件时,确定所述第一数据库中的待漂移数据,并新建第二数据库和第二实例;
[0009]将所述待漂移数据同步到所述第二数据库中,并将所述第二数据库装载至所述第二实例。
[0010]较佳地,在所述新建第二数据库和第二实例的步骤与所述将所述待漂移数据同步到所述第二数据库中的步骤之间还包括:
[0011]建立所述第二数据库与所述第一数据库的第一数据同步链路,以便通过所述第一数据同步链路将所述待漂移数据同步到所述第二数据库中。
[0012]较佳地,在所述将所述待漂移数据同步到所述第二数据库中的步骤之后还包括:
[0013]校验同步到所述第二数据库的数据与所述待漂移数据是否一致;
[0014]若校验通过,则将访问所述第一数据库的业务流量向所述第二数据库切换。
[0015]较佳地,所述数据库漂移方法还包括:
[0016]检测所述第一实例是否满足预设的低负载条件;
[0017]当所述第一实例满足所述低负载条件时,从所述第一实例以外的实例中确定待合
并的第三实例,并将所述第三实例所装载的第三数据库中的数据同步到所述第一数据库中,其中,同步之后的所述第一实例不满足所述高负载条件。
[0018]较佳地,在所述从所述第一实例以外的实例中确定待合并的第三实例的步骤与所述将所述第三实例所装载的第三数据库中的数据同步到所述第一数据库中的步骤之间还包括:
[0019]建立所述第三数据库与所述第一数据库之间的第二数据同步链路,以便通过所述第二数据同步链路将所述第三数据库中的数据同步到所述第一数据库中。
[0020]较佳地,在所述将所述第三实例所装载的数据库中的数据同步到所述第一数据库中的步骤之后还包括:
[0021]校验同步到所述第一数据库中的数据与所述第三数据库中的数据是否一致;
[0022]若校验通过,则将访问所述第三数据库的业务流量向所述第一数据库切换。
[0023]较佳地,对所述第一实例进行空间清理。
[0024]根据本专利技术的第二方面,提供一种数据库漂移系统,所述数据库漂移系统包括负载检测模块、第一漂移准备模块以及第一数据同步模块;
[0025]所述负载检测模块用于检测装载有第一数据库的第一实例是否满足预设的高负载条件;
[0026]所述第一漂移准备模块用于在所述第一实例满足所述高负载条件时,确定所述第一数据库中的待漂移数据并新建第二数据库和第二实例;
[0027]所述第一数据同步模块用于将所述待漂移数据同步到所述第二数据库中,并将所述第二数据库装载至所述第二实例。
[0028]较佳地,所述数据库漂移系统还包括第一链路搭建模块;
[0029]所述第一链路搭建模块用于建立所述第二数据库与所述第一数据库的第一数据同步链路,以便通过所述第一数据同步链路将所述待漂移数据同步到所述第二数据库中。
[0030]较佳地,所述数据库漂移系统还包括第一数据检验模块和第一流量切换模块;
[0031]所述第一数据检验模块用于校验同步到所述第二数据库的数据与所述待漂移数据是否一致;
[0032]所述第一流量切换模块用于在校验通过时,将访问所述第一数据库的业务流量向所述第二数据库切换。
[0033]较佳地,所述负载检测模块还用于检测所述第一实例是否满足预设的低负载条件;
[0034]所述数据库漂移模块还包括:
[0035]第二漂移准备模块,用于当所述第一实例满足所述低负载条件时,从所述第一实例以外的实例中确定待合并的第三实例;
[0036]第二数据同步模块,用于将所述第三实例所装载的第三数据库中的数据同步到所述第一数据库中,其中,同步之后的所述第一实例不满足所述高负载条件。
[0037]较佳地,所述数据库漂移系统还包括第二链路搭建模块;
[0038]所述第二链路搭建模块用于建立所述第三数据库与所述第一数据库之间的第二数据同步链路,以便通过所述第二数据同步链路将所述第三数据库中的数据同步到所述第一数据库中。
[0039]较佳地,所述数据库漂移系统还包括第二数据检验模块和第二流量切换模块:
[0040]所述第二数据检验模块用于校验同步到所述第一数据库中的数据与所述第三数据库中的数据是否一致;
[0041]所述第二流量切换模块用于在校验通过时,将访问所述第三数据库的业务流量向所述第一数据库切换。
[0042]根据本专利技术的第三方面,提供一种电子设备,包括存储器以及与所述存储器连接的处理器,所述处理器执行存储在所述存储器上的计算机程序时实现本专利技术的数据库漂移方法。
[0043]根据本专利技术的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现本专利技术的数据库漂移方法。
[0044]本专利技术的积极进步效果在于:
[0045]本专利技术通过对生产环境中各数据库实例的负载进行监控,对于负载不均衡的实例,根据负载的情况自动进行数据库漂移,当实例负载较高时,则将对应数据库的数据漂移到新增的实例中,当实例负载较低时,则将生产环境中的其他数据库的数据漂移到该实例中,操作过程简单,且不需要人工值守,同时在漂移过程中,通过校验数据的一致性来保证整个过程在一个可控、安全的范围内实施。通过本专利技术,可以在满足生产环境的负载实现动态平衡,资源使用率得到提升的同时,缩短业务的中断时间,减少了人工的工作量,并减少了因人工本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库漂移方法,其特征在于,包括以下步骤:检测装载有第一数据库的第一实例是否满足预设的高负载条件;当所述第一实例满足所述高负载条件时,确定所述第一数据库中的待漂移数据,并新建第二数据库和第二实例;将所述待漂移数据同步到所述第二数据库中,并将所述第二数据库装载至所述第二实例。2.根据权利要求1所述的数据库漂移方法,其特征在于,在所述新建第二数据库和第二实例的步骤与所述将所述待漂移数据同步到所述第二数据库中的步骤之间还包括:建立所述第二数据库与所述第一数据库的第一数据同步链路,以便通过所述第一数据同步链路将所述待漂移数据同步到所述第二数据库中。3.根据权利要求1所述的数据库漂移方法,其特征在于,在所述将所述待漂移数据同步到所述第二数据库中的步骤之后还包括:校验同步到所述第二数据库的数据与所述待漂移数据是否一致;若校验通过,则将访问所述第一数据库的业务流量向所述第二数据库切换。4.根据权利要求1所述的数据库漂移方法,其特征在于,所述数据库漂移方法还包括:检测所述第一实例是否满足预设的低负载条件;当所述第一实例满足所述低负载条件时,从所述第一实例以外的实例中确定待合并的第三实例,并将所述第三实例所装载的第三数据库中的数据同步到所述第一数据库中,其中,同步之后的所述第一实例不满足所述高负载条件。5.根据权利要求4所述的数据库漂移方法,其特征在于,在所述从所述第一实例以外的实例中确定待合并的第三实例的步骤与所述将所述第三实例所装载的第三数据库中的数据同步到所述第一数据库中的步骤之间还包括:建立所述第三数据库与所述第一数据库之间的第二数据同步链路,以便通过所述第二数据同步链路将所述第三数据库中的数据同步到所述第一数据库中。6.根据权利要求4所述的数据库漂移方法,其特征在于,在所述将所述第三实例所装载的数据库中的数据同步到所述第一数据库中的步骤之后还包括:校验同步到所述第一数据库中的数据与所述第三数据库中的数据是否一致;若校验通过,则将访问所述第三数据库的业务流量向所述第一数据库切换。7.一种数据库漂移系统,其特征在于,所述数据库漂移系统包括负载检测模块、第一漂移准备模块以及第一数据同步模块;所述负载检测模块用于检测装载有第一数据库的第一实例是否满足预设的高负载条件;所述第一漂移准备模块用于在所述第一实例满足所述高负载条件时,确定所述第一数据库中的待漂移数据并...

【专利技术属性】
技术研发人员:吴宙旭杨晓军
申请(专利权)人:携程科技上海有限公司
类型:发明
国别省市:

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

1