一种分布式数据库的在线扩容方法、装置和计算机设备制造方法及图纸

技术编号:38883240 阅读:7 留言:0更新日期:2023-09-22 14:12
本发明专利技术实施例提供了一种分布式数据库的在线扩容方法、装置和计算机设备。该方法包括:按照设置的一个或多个扩容日程对每个扩容日程对应的数据库进行扩容;接收用户输入的暂停扩容指令;根据暂停扩容指令,暂停对数据库的扩容;接收用户输入的恢复扩容指令;根据恢复扩容指令,恢复对数据库的扩容。本发明专利技术实施例提供的技术方案中,增加了在线扩容功能,使得扩容操作和数据库操作可以并发执行,增加了扩容任务定制化功能,可以由用户定制化设置,增加了扩容过程控制功能,由原来的单次启动扩容任务改为可以随时暂停扩容任务,然后再随时恢复扩容任务,以实现用户对分布式数据库的在线扩容的定制化和可控性。扩容的定制化和可控性。扩容的定制化和可控性。

【技术实现步骤摘要】
一种分布式数据库的在线扩容方法、装置和计算机设备


[0001]本专利技术涉及计算机
,尤其涉及一种分布式数据库的在线扩容方法、装置和计算机设备。

技术介绍

[0002]目前主流的分布式数据库包括Vertica、Greenplum、GBase等,都具备集群扩容功能,在相关技术下,扩容过程中使用分布式数据库系统的上层业务系统会被扩容中断业务服务,无法在扩容期间提供正常的业务服务,因为扩容时需要对分布式数据库系统中的表加锁,导致上层业务系统的更新数据库操作无法正常执行。因此,通常分布式数据库扩容均需要申请一定的业务停机窗口来进行。但是,随着分布式数据库系统中的数据量不断增大,所需要的扩容时间会越来越长,造成业务停机窗口越来越大,例如,某个使用Greenplum数据库的银行,在对其数据库扩容时,业务停机超过了3天,对上层业务的开展产生了严重的制约;另外一方面,使用分布式数据库系统的上层业务系统因为提升效率、提升服务质量等因素影响,逐渐发展成为需要24小时内不间断提供服务,进而导致上层业务系统可提供的业务停机窗口越来越小。相关技术中的分布式数据库扩容技术方案逐渐不再满足业务系统的需求。

技术实现思路

[0003]有鉴于此,本专利技术实施例提供了一种分布式数据库的在线扩容方法、装置和计算机设备,用以实现用户对分布式数据库的在线扩容的定制化和可控性。
[0004]一方面,本专利技术实施例提供了一种分布式数据库的在线扩容方法,包括:
[0005]按照设置的一个或多个扩容日程对每个扩容日程对应的数据库进行扩容;
[0006]接收用户输入的暂停扩容指令;
[0007]根据所述暂停扩容指令,暂停对数据库的扩容;
[0008]接收用户输入的恢复扩容指令;
[0009]根据所述恢复扩容指令,恢复对数据库的扩容。
[0010]可选地,所述数据库包括一个或多个节点集群,每个所述节点集群包括每个所述节点集群对应的分布表,所述按照设置的一个或多个扩容日程对每个扩容日程对应的数据库进行扩容,包括:
[0011]按照设置的一个或多个扩容日程对每个扩容日程对应的数据库进行扩容,生成多个新节点集群;
[0012]为每个所述新节点集群建立新分布表;
[0013]所述分布表和/或新分布表中存储有分布规则,按照所述分布规则对每个扩容日程对应的数据库进行重分布数据;
[0014]删除所述新分布表并重新命名所述新分布表,以完成对所述数据库的扩容。
[0015]可选地,所述分布规则包括静态分布规则,所述按照所述分布规则对每个扩容日
程对应的数据库进行重分布数据,包括:
[0016]按照所述静态分布规则将每个扩容日程对应的数据库中的静态数据写入所述新分布表,以进行重分布静态数据。
[0017]可选地,所述分布规则包括动态分布规则,所述按照所述分布规则对每个扩容日程对应的数据库进行重分布数据,还包括:
[0018]按照所述动态分布规则将每个扩容日程对应的数据库中的动态数据写入所述分布表和/或所述新分布表,以进行重分布动态数据。
[0019]可选地,所述动态分布规则包括第一分布规则和第二分布规则,所述按照所述动态分布规则将每个扩容日程对应的数据库中的动态数据写入所述分布表和/或所述新分布表,以进行重分布数据,包括:
[0020]按照所述第一分布规则将每个扩容日程对应的数据库中的动态数据写入所述分布表;
[0021]按照所述第二分布规则将每个扩容日程对应的数据库中的动态数据写入所述新分布表,以进行重分布动态数据。
[0022]可选地,所述数据库包括表Table。
[0023]可选地,所述分布表和所述新分布表均为激活状态。
[0024]另一方面,本专利技术实施例提供了一种分布式数据库的在线扩容装置,包括:
[0025]扩容模块,用于按照设置的一个或多个扩容日程对每个扩容日程对应的数据库进行扩容;
[0026]接收模块,用于接收用户输入的暂停扩容指令;
[0027]暂停模块,用于根据所述暂停扩容指令,暂停对数据库的扩容;
[0028]所述接收模块,还用于接收用户输入的恢复扩容指令;
[0029]恢复模块,用于根据所述恢复扩容指令,恢复对数据库的扩容。
[0030]另一方面,本专利技术实施例提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述分布式数据库的在线扩容方法。
[0031]另一方面,本专利技术实施例提供了一种计算机设备,包括存储器和处理器,所述存储器用于存储包括程序指令的信息,所述处理器用于控制程序指令的执行,其特征在于,所述程序指令被处理器加载并执行时实现上述分布式数据库的在线扩容方法的步骤。
[0032]本专利技术实施例提供的分布式数据库的在线扩容方法的技术方案中,按照设置的一个或多个扩容日程对每个扩容日程对应的数据库进行扩容;接收用户输入的暂停扩容指令;根据暂停扩容指令,暂停对数据库的扩容;接收用户输入的恢复扩容指令;根据恢复扩容指令,恢复对数据库的扩容。本专利技术实施例提供的技术方案中,增加了在线扩容功能,使得扩容操作和数据库操作可以并发执行,增加了扩容任务定制化功能,可以由用户定制化设置,增加了扩容过程控制功能,由原来的单次启动扩容任务改为可以随时暂停扩容任务,然后再随时恢复扩容任务,以实现用户对分布式数据库的在线扩容的定制化和可控性。
【附图说明】
[0033]为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附
图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
[0034]图1为相关技术提供的分布式数据库未扩容时的示意图;
[0035]图2为相关技术提供的分布式数据库扩容时的示意图;
[0036]图3为相关技术提供的分布式数据库扩容完成时的示意图;
[0037]图4为本专利技术实施例提供的一种分布式数据库的在线扩容方法的流程图;
[0038]图5为图4中按照设置的一个或多个扩容日程对每个扩容日程对应的数据库进行扩容的流程图;
[0039]图6为本专利技术实施例提供的分布式数据库扩容前的示意图;
[0040]图7为本专利技术实施例提供的分布式数据库建立新分布表的示意图;
[0041]图8为本专利技术实施例提供的分布式数据库扩容时静态数据的流向的示意图;
[0042]图9为本专利技术实施例提供的分布式数据库扩容时动态数据的流向的示意图;
[0043]图10为本专利技术实施例提供的分布式数据库扩容完成时的示意图;
[0044]图11为本专利技术实施例提供的一种分布式数据库的在线扩容装置的结构示意图;
[0045]图12为图11中扩容模块的结构示意图;
[0046]图13为本专利技术实施例本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式数据库的在线扩容方法,其特征在于,包括:按照设置的一个或多个扩容日程对每个扩容日程对应的数据库进行扩容;接收用户输入的暂停扩容指令;根据所述暂停扩容指令,暂停对数据库的扩容;接收用户输入的恢复扩容指令;根据所述恢复扩容指令,恢复对数据库的扩容。2.根据权利要求1所述的方法,其特征在于,所述数据库包括一个或多个节点集群,每个所述节点集群包括每个所述节点集群对应的分布表,所述按照设置的一个或多个扩容日程对每个扩容日程对应的数据库进行扩容,包括:按照设置的一个或多个扩容日程对每个扩容日程对应的数据库进行扩容,生成多个新节点集群;为每个所述新节点集群建立新分布表;所述分布表和/或新分布表中存储有分布规则,按照所述分布规则对每个扩容日程对应的数据库进行重分布数据;删除所述新分布表并重新命名所述新分布表,以完成对所述数据库的扩容。3.根据权利要求2所述的方法,其特征在于,所述分布规则包括静态分布规则,所述按照所述分布规则对每个扩容日程对应的数据库进行重分布数据,包括:按照所述静态分布规则将每个扩容日程对应的数据库中的静态数据写入所述新分布表,以进行重分布静态数据。4.根据权利要求2所述的方法,其特征在于,所述分布规则包括动态分布规则,所述按照所述分布规则对每个扩容日程对应的数据库进行重分布数据,还包括:按照所述动态分布规则将每个扩容日程对应的数据库中的动态数据写入所述分布表和/或所述新分布表,以进行重分布动态数据。5.根据权利要求4所述的...

【专利技术属性】
技术研发人员:朱祥磊
申请(专利权)人:中国移动通信集团有限公司
类型:发明
国别省市:

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

1