分布式数据库的扩容方法技术

技术编号:38515365 阅读:13 留言:0更新日期:2023-08-19 16:57
本发明专利技术提供了一种分布式数据库的扩容方法,包括利用资源管理组工具或者限流算法,限制分布式数据库扩容过程中网络IO和磁盘IO的资源。本发明专利技术提供了一种分布式数据库的扩容方法中,影响最大的就是扩容使用到的网络IO和磁盘IO,通过资源管理组工具对扩容使用到的网络IO和磁盘IO的进程进行资源分配或者通过资源管理组工具对扩容使用到的网络IO和磁盘IO的进程进行流速率限制,可以有效地限制所述分布式数据库扩容过程中网络IO和磁盘IO的资源,进而在分布式数据库扩容过程中,避免分布式数据库的用户的正常业务受到影响。库的用户的正常业务受到影响。库的用户的正常业务受到影响。

【技术实现步骤摘要】
分布式数据库的扩容方法


[0001]本专利技术涉及数据库
,特别是涉及一种分布式数据库的扩容方法。

技术介绍

[0002]随着信息时代发展,需要存储的数据越来越多,无共享的分布式数据库在存储大量数据方面使用的越来越多,随着数据规模的增长,之前的节点规划赶不上变化,因此节点扩容也是越来普遍。对于一些业务必须一直在线的情况,在数据库扩容的过程中,用户要求数据库扩容要对现有的业务影响小,不能让扩容占用大量的资源,不然可能会导致正常业务无法及时响应,影响客户体验。因此,控制扩容资源使用就变得非常重要。目前扩容资源控制主流方式是采用资源组的方式来控制,但是只支持控制实例级、库级,并没有控制扩容整个过程级别的资源限制功能。在无共享分布式数据库集群扩容过程中,对分布式数据库的正常业务影响最大的就是扩容过程中使用到的网络IO和磁盘IO,如何限制扩容使用到的网络IO和或者磁盘IO占用的资源是目前亟需解决的问题。

技术实现思路

[0003]鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的分布式数据库的扩容方法,能够解决在分布式数据库扩容过程中,使用到的网络IO和或者磁盘IO占用的资源过多的问题,从而避免分布式数据库的用户的正常业务受到影响。
[0004]具体地,本专利技术提供了一种分布式数据库的扩容方法,包括:
[0005]利用资源管理组工具和/或者限流算法,限制所述分布式数据库扩容过程中网络IO和磁盘IO的资源。
[0006]可选地,所述分布式数据库的扩容方法还包括:
[0007]执行扩容工具,以进行扩容;
[0008]所述利用所述限流算法来限制所述分布式数据库扩容过程中所述网络IO和所述磁盘IO的资源包括:
[0009]在执行扩容工具的过程中,获取限流速率并启动算法限流限制模式;
[0010]所述算法限流限制模式中具有所述限流算法,所述算法限流限制模式配置成根据所述限流算法和所述限流速率来限制所述分布式数据库扩容过程需要进行的所述数据读写和/或所述数据发送的流速率,以限制所述分布式数据库扩容过程中所述网络IO和所述磁盘IO的资源。
[0011]可选地,所述的在执行扩容工具的过程中,获取限流速率并启动算法限流限制模式,包括:
[0012]增加新节点,并控制所述扩容工具对所述新节点进行初始化;
[0013]建立所述扩容工具与所述数据库服务器主节点的连接;
[0014]通过所述扩容工具向所述数据库服务器主节点下达扩容数据重分布命令和配置
算法限流速率参数的命令;
[0015]在所述数据库服务器主节点接收到所述扩容数据重分布命令和所述配置算法限流速率参数的命令后,配置所述限流速率,
[0016]通过所述数据库服务器主节点进行数据重分布以进行扩容,同时启动算法限流限制模式。
[0017]可选地,所述的通过所述数据库服务器主节点进行数据重分布以进行扩容,同时启动算法限流限制模式,包括:
[0018]所述数据库服务器主节点将所述扩容数据重分布命令和所述限流速率发送给所述数据库服务器的下层数据节点;
[0019]所述数据库服务器的下层数据节点进行扩容;
[0020]在所述数据库服务器的下层数据节点的扩容进程中,通过所述数据读写或者数据发送的函数调用利用所述限流速率的所述限流算法;
[0021]利用所述限流速率运行所述限流算法来限制所述分布式数据库扩容过程需要进行的数据读写和/或者数据发送的流速率。
[0022]可选地,所述的利用所述限流速率的参数运行所述限流算法来限制所述分布式数据库扩容过程需要进行的数据读写和/或者数据发送的流速率,包括:
[0023]获取所述数据读写和/或所述数据发送的流量;
[0024]比较所述数据读写和/或所述数据发送的流量与所述限流速率对应的流量;
[0025]若所述数据读写和/或所述数据发送的流量小于所述限流速率对应的流量,不限制所述数据读写和/或所述数据发送;
[0026]若所述数据读写和/或所述数据发送的流量大于或等于所述限流速率对应的流量,进行进程等待,以限制所述数据读写和/或所述数据发送,进而使所述数据读写和/或所述数据发送的最大流量为所述限流速率对应的流量。
[0027]可选地,所述分布式数据库的扩容方法还包括:
[0028]统计进程等待的时间,所述的统计进程等待的时间包括:
[0029]记录进入限制所述数据读写和/或所述数据发送的时间;
[0030]计算所述数据读写和/或所述数据发送的流量按照所述限流速率对应的流量运行的运行时间;
[0031]根据当前时间,最后一次进入限制所述数据读写和/或所述数据发送的时间、和所述运行时间确定所述进程等待的时间。
[0032]可选地,判断所述分布式数据库能否支持利用资源管理组工具来限制所述分布式数据库扩容过程中网络IO和磁盘IO的资源;
[0033]若分布式数据库不能支持利用资源管理组工具来控制所述分布式数据库扩容过程中网络IO和磁盘IO的资源,利用所述限流算法来限制所述分布式数据库扩容过程中所述网络IO和所述磁盘IO的资源;
[0034]若分布式数据库能支持利用资源管理组工具来限制所述分布式数据库扩容过程中网络IO和磁盘IO的资源,利用所述资源管理组工具来限制所述分布式数据库扩容过程中网络IO和磁盘IO的资源。
[0035]可选地,利用所述资源管理组工具控制所述分布式数据库扩容过程中网络IO和磁
盘IO的资源包括:
[0036]通过所述资源管理组工具创建扩容控制组并设置扩容控制组的限额;
[0037]所述扩容控制组依据所述限额对扩容过程中网络IO和磁盘IO的资源进行资源限额;
[0038]可选地,所述的通过所述资源管理组工具创建扩容控制组并设置扩容控制组的限额,包括:
[0039]利用所述资源管理组工具在数据库服务器主节点调用资源管理器,并把创建扩容控制组并设置扩容控制组的限额的命令下发给所述数据库服务器的下层数据节点;
[0040]所述数据库服务器的下层数据节点通过所述资源管理组工具在所述下层数据节点调用资源管理器执行本地操作,创建扩容控制组并设置所述扩容控制组的所述限额。
[0041]可选地,所述分布式数据库的扩容方法还包括:
[0042]执行扩容工具,以进行扩容;
[0043]所述的所述扩容控制组依据所述限额对扩容过程中网络IO和磁盘IO的资源进行资源限额,包括:
[0044]增加新节点,并控制所述扩容工具对所述新节点进行初始化;
[0045]建立扩容工具与所述数据库服务器主节点连接;
[0046]通过扩容工具向所述数据库服务器主节点下达扩容数据重分布命令;
[0047]所述数据库服务器主节点接收到所述扩容数据重分布命令并执行,以进行扩容,得到扩容用的进程,并将扩容用的进程加入所述扩容控制组,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式数据库的扩容方法,其特征在于,包括:利用资源管理组工具和/或者限流算法,限制所述分布式数据库扩容过程中网络IO和磁盘IO的资源。2.根据权利要求1所述的分布式数据库的扩容方法,其特征在于,还包括:执行扩容工具,以进行扩容;所述利用所述限流算法来限制所述分布式数据库扩容过程中所述网络IO和所述磁盘IO的资源包括:在执行扩容工具的过程中,获取限流速率并启动算法限流限制模式;所述算法限流限制模式中具有所述限流算法,所述算法限流限制模式配置成根据所述限流算法和所述限流速率来限制所述分布式数据库扩容过程需要进行的所述数据读写和/或所述数据发送的流速率,以限制所述分布式数据库扩容过程中所述网络IO和所述磁盘IO的资源。3.根据权利要求2所述的分布式数据库的扩容方法,其特征在于,所述的在执行扩容工具的过程中,获取限流速率并启动算法限流限制模式,包括:增加新节点,并控制所述扩容工具对所述新节点进行初始化;建立所述扩容工具与所述数据库服务器主节点的连接;通过所述扩容工具向所述数据库服务器主节点下达扩容数据重分布命令和配置算法限流速率参数的命令;在所述数据库服务器主节点接收到所述扩容数据重分布命令和所述配置算法限流速率参数的命令后,配置所述限流速率;通过所述数据库服务器主节点进行数据重分布以进行扩容,同时启动算法限流限制模式。4.根据权利要求3所述的分布式数据库的扩容方法,其特征在于,所述的通过所述数据库服务器主节点进行数据重分布以进行扩容,同时启动算法限流限制模式,包括:所述数据库服务器主节点将所述扩容数据重分布命令和所述限流速率发送给所述数据库服务器的下层数据节点;所述数据库服务器的下层数据节点进行扩容;在所述数据库服务器的下层数据节点的扩容进程中,通过所述数据读写或者数据发送的函数调用利用所述限流速率的所述限流算法;利用所述限流速率运行所述限流算法来限制所述分布式数据库扩容过程需要进行的数据读写和/或者数据发送的流速率。5.根据权利要求4所述的分布式数据库的扩容方法,其特征在于,所述的利用所述限流速率的参数运行所述限流算法来限制所述分布式数据库扩容过程需要进行的数据读写和/或者数据发送的流速率,包括:获取所述数据读写和/或所述数据发送的流量;比较所述数据读写和/或所述数据发送的流量与所述限流速率对应的流量;若所述数据读写和/或所述数据发送的流量小于所述限流速率对应的流量,不限制所述数据读写和/或所述数据发送;
若所述数据读写和/或所述数据发送的流量大于或等于所述限流速率对应的流量,进行进程等待,以限制所述数据读写和/或所述数据发送,进而使所述数据读写和/或所述数据发送的最大流量为所述限流速率对应的流量。6.根据权利要求5所述的分布式数据库的...

【专利技术属性】
技术研发人员:王鸿翔冷建全
申请(专利权)人:北京人大金仓信息技术股份有限公司
类型:发明
国别省市:

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

1