一种数据库批量加入可用性组的方法、电子设备、服务器转让专利

申请号 : CN202110212385.8

文献号 : CN112817942B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 于占水

申请人 : 紫光云技术有限公司

摘要 :

本发明提供了一种数据库批量加入可用性组的方法、电子设备、服务器,包括以下步骤:S1:分别判断当下数据库已在可用性组和未在可用性组的数据库列表;S2:通过调用状态文件控制器为每个待加入可用性组的数据库赋值初始态及开始时间;S3:明确最终需要加入可用性组的数据库列表;S4:超时控制器开启后,遍历未在可用性组的数据库列表为每个全量备份模块开启携程进行备份;S5:备份后在主节点上执行命令加入可用性组,同时调用失败重试模块;S6:失败重试模块调用状态文件控制器,更新数据库,加入可用性组结果。本发明所述的一种数据库批量加入可用性组的方法解决了数据库人工复检如果失败,需要删除后重新加入可用性组操作,操作繁琐、重复的问题。

权利要求 :

1.一种数据库批量加入可用性组的方法,其特征在于,包括以下步骤:S1:通过SQL语句分别判断当下数据库已在可用性组和未在可用性组的数据库列表;

S2:针对未在可用性组数据库列表,通过调用状态文件控制器为每个待加入可用性组的数据库赋值初始态及开始时间,同时对数据库进行初始化;

S3:明确最终需要加入可用性组的数据库列表,开启超时控制器;

S4:超时控制器开启后,遍历未在可用性组的数据库列表为每个全量备份模块开启携程进行备份,同时调用并发控制器;

S5:备份后,通过可用性组命令,在主节点上执行命令加入可用性组,同时调用失败重试模块,检测加入可用性组结果是否成功,如果失败,删除可用性组内记录并重新执行加入命令;

S6:失败重试模块通过超时或重试次数结束,调用状态文件控制器,更新数据库,加入可用性组结果;

在步骤S3中,利用超时控制器进行周期计时,然后判断是否超时,如果超时则结束所有相关进程,否则继续进行周期计时;

所述超时控制器的超时控制针对数据库备份环节。

2.根据权利要求1所述的一种数据库批量加入可用性组的方法,其特征在于:步骤S4所述并发控制器的每组并发数依据宿主机规格进行配置。

3.一种电子设备,包括处理器以及与处理器通信连接,且用于存储所述处理器可执行指令的存储器,其特征在于:所述处理器用于执行上述权利要求1‑2任一所述的一种数据库批量加入可用性组的方法。

4.一种服务器,其特征在于:包括至少一个处理器,以及与所述处理器通信连接的存储器,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,以使所述至少一个处理器执行如权利要求1‑2任一所述的一种数据库批量加入可用性组的方法。

5.一种计算机可读取存储介质,存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1‑2任一项所述的一种数据库批量加入可用性组的方法。

说明书 :

一种数据库批量加入可用性组的方法、电子设备、服务器

技术领域

[0001] 本发明属于数据库领域,尤其是涉及一种数据库批量加入可用性组的方法、电子设备、服务器。

背景技术

[0002] SQL Server Always On架构数据库实例,数据库加入可用性组,需要执行加库语句,备份该数据库,执行加入可用性组语句,然后在主从节点检查是否成功加入。用户需要
手动执行一系列步骤,并且针对批量建库加入可用性组没有现成方案供参考。通过命令行
逐库执行建库加入可用性组语句;即便手动执行依然存在从节点加入可用性组失败的可能
性,需要人工在从节点复检;如若失败,需要删除后重新加入可用性组操作。操作繁琐、重
复;执行SQL语句较多等因素都会阻碍批量加入可用性组成功完成。

发明内容

[0003] 有鉴于此,本发明提出一种数据库批量加入可用性组的方法、电子设备、服务器以解决数据库人工复检如果失败,需要删除后重新加入可用性组操作,操作繁琐、重复的问
题。
[0004] 为达到上述目的,本发明的技术方案是这样实现的:
[0005] 第一方面,一种数据库批量加入可用性组的方法,包括以下步骤:
[0006] S1:通过SQL语句分别判断当下数据库已在可用性组和未在可用性组的数据库列表;
[0007] S2:针对未在可用性组数据库列表,通过调用状态文件控制器为每个待加入可用性组的数据库赋值初始态及开始时间,同时对数据库进行初始化;
[0008] S3:明确最终需要加入可用性组的数据库列表,开启超时控制器;
[0009] S4:超时控制器开启后,遍历未在可用性组的数据库列表为每个全量备份模块开启携程进行备份,同时调用并发控制器;
[0010] S5:备份后,通过可用性组命令,在主节点上执行命令加入可用性组,同时调用失败重试模块,检测加入可用性组结果是否成功,如果失败,删除可用性组内记录并重新执行
加入命令;
[0011] S6:失败重试模块通过超时或重试次数结束,调用状态文件控制器,更新数据库,加入可用性组结果。
[0012] 进一步的,步骤S3利用的超时控制器是进行周期计时,然后判断是否超时,如果超时则结束所有相关进程,否则继续进行周期计时。
[0013] 进一步的,步骤S3所述超时控制器的超时控制针对数据库备份环节。
[0014] 进一步的,步骤S4所述并发控制器的每组并发数依据宿主机规格进行配置。
[0015] 第二方面,一种电子设备,包括处理器以及与处理器通信连接,且用于存储所述处理器可执行指令的存储器,所述处理器用于执行第一方面所述的一种数据库批量加入可用
性组的方法。
[0016] 第三方面,一种服务器,包括至少一个处理器,以及与所述处理器通信连接的存储器,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,
以使所述至少一个处理器执行第一方面所述的一种数据库批量加入可用性组的方法。
[0017] 第四方面,一种计算机可读取存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的一种数据库批量加入可用性组的方法。
[0018] 相对于现有技术,本发明具有以下有益效果:
[0019] 本发明提出的一种数据库批量加入可用性组的方法、电子设备、服务器为用户省去繁琐重复的操作步骤同时保证加入可用性组成功率,通过多个模块协同操作如明确候选
数据库集、状态标志文件维护、超时控制、全量备份模块、并发控制及失败重试等,从而实现
了自动批量加入可用性组,操作更加简便。

附图说明

[0020] 构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0021] 图1为本发明实施例所述的一种数据库批量加入可用性组的方法流程示意图。

具体实施方式

[0022] 需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
[0023] 在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对
本发明的限制。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”
的含义是两个或两个以上。
[0024] 在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以通过具体情况理解上述术语
在本发明中的具体含义。
[0025] 下面将参考附图并结合实施例来详细说明本发明。
[0026] 如图1所示,一种数据库批量加入可用性组的方法,包括以下步骤:
[0027] S1:通过SQL语句分别判断当下数据库已在可用性组和未在可用性组的数据库列表;
[0028] S2:针对未在可用性组数据库列表,通过调用状态文件控制器为每个待加入可用性组的数据库赋值初始态及开始时间,同时对数据库进行初始化;
[0029] S3:明确最终需要加入可用性组的数据库列表,开启超时控制器,其结构包括PID,DATABASE,PROCESS_NAME,其中超时控制主要是针对数据库备份环节,因为其最耗时,依据
数据量不同而变化;
[0030] S4:超时控制器开启后,遍历未在可用性组的数据库列表为每个全量备份模块开启携程进行备份,同时调用并发控制器,每组并发数比如5或10或更多,依据宿主机规格灵
活配置;并发控制主要针对大批量或大数据量情况;
[0031] S5:备份后,通过可用性组命令,在主节点上执行命令加入可用性组,同时调用失败重试模块,检测加入可用性组结果是否成功,如果失败,删除可用性组内记录并重新执行
加入命令;
[0032] S6:失败重试模块通过超时或重试次数结束,调用状态文件控制器,更新数据库,加入可用性组结果。
[0033] 如图1所示,步骤S3利用的超时控制器是进行周期计时,然后判断是否超时,如果超时则结束所有相关进程,否则继续进行周期计时。
[0034] 步骤S3所述超时控制器的超时控制针对数据库备份环节。
[0035] 步骤S4所述并发控制器的每组并发数依据宿主机规格进行配置。
[0036] 一种电子设备,包括处理器以及与处理器通信连接,且用于存储所述处理器可执行指令的存储器,所述处理器用于执行所述的一种数据库批量加入可用性组的方法。
[0037] 一种服务器,包括至少一个处理器,以及与所述处理器通信连接的存储器,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,以使所述
至少一个处理器执行所述的一种数据库批量加入可用性组的方法。
[0038] 一种计算机可读取存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现所述的一种数据库批量加入可用性组的方法。
[0039] 本发明提出的一种数据库批量加入可用性组的方法、电子设备、服务器为用户省去繁琐重复的操作步骤同时保证加入可用性组成功率,通过多个模块协同操作如明确候选
数据库集、状态标志文件维护、超时控制、全量备份模块、并发控制及失败重试等,从而实现
了自动批量加入可用性组,操作更加简便。
[0040] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。