一种集群数据库负载均衡方法及装置制造方法及图纸

技术编号:37350978 阅读:23 留言:0更新日期:2023-04-22 21:50
本申请提供一种集群数据库负载均衡方法,包括:获取集群数据库的可用数据节点信息;根据所述可用数据节点信息,将所述集群数据库的每一个协调点根据用户的查询语句生成的数据执行计划下发到每一个所述可用数据节点,包括:所述协调点根据发送给每一个所述可用数据节点的执行计划,判断每个可用数据节点的负载情况;根据所述负载情况确定每个所述可用数据节点下发执行计划包含的任务数。本申请通过根据每个数据节点不同任务数情况进行任务下发,当数据节点发生损坏的情况时,可以实现数据节点的负载均衡,提高数据查询效率。提高数据查询效率。提高数据查询效率。

【技术实现步骤摘要】
一种集群数据库负载均衡方法及装置


[0001]本申请涉及分布式数据查询领域,尤其涉及一种集群数据库负载均衡方法。本申请还涉及一种集群数据库负载均衡装置。

技术介绍

[0002]分布式数据库具有高可用的特点,其高可用通常通过多副分片来实现。例如在进行数据存储时,将数据分成n个主分片,其中每个主分片保存在不同的数据节点上,同时为每个主分片准备1到多个副分片,所述副分片与主分片保存在不同的数据节点上,避免当一个数据节点损坏时,其副分片也无法使用。当集群正常时,查询语句通常只使用主分片就可以满足需要,副分片只是需要在数据写入时同步写入并保持数据与主分片一致。
[0003]但是,当有数据节点损坏时,查询语句就需要使用副分片进行计算,此时,容易产生数据节点负载不均衡的情况。
[0004]例如,集群数据分片分布方式如下(排在前边的是主分片后边的是副分片):
[0005]数据节点node1node2node3node4主从分片1、22、33、44、1
[0006]假设node3损坏,则剩余节点如下:
[0007]数据节点node1node2node3node4主从分片1、22、33、44、1
[0008]现有执行计划下发逻辑:分片3主分片损坏,则每次发往备分片所在的node2,会导致node2上任务数翻倍,可能成为瓶颈:
[0009]数据节点node1node2node3node4主从分片1、22、33、44、1SQL112、34SQL212、34SQL312、34任务总数363
[0010]由上表可知,现有技术中,当分布式数据集群中的一个或者多个数据节点出现损坏的情况,则导致如下问题:
[0011]1、一个或者多个数据节点的CPU的任务数翻倍;内存根据情况翻倍或增加,同时如果缓存较小,会导致大量数据换入换出,增加读数据的压力。
[0012]2、一个或者多个数据节点的读数据负载会翻倍,还要增加因为数据换入换出的读操作。

技术实现思路

[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]图1是本申请中集群数据库负载均衡流程示意图。
[0040]图2是本申请中集群数据库负载均衡装置示意图。
具体实施方式
[0041]下面结合附图和具体实施例对本申请作进一步说明,以使本领域的技术人员可以更好地理解本申请并能予以实施。
[0042]以下内容均是为了详细说明本申请要保护的技术方案所提供的具体实施过程的示例,但是本申请还可以采用不同于此的描述的其他方式实施,本领域技术人员可以在本申请构思的指引下,采用不同的技术手段实现本申请,因此本申请不受下面具体实施例的限制。
[0043]本申请提供一种集群数据库负载均衡方法,包括:获取集群数据库的可用数据节点信息;根据所述可用数据节点信息,将所述集群数据库的每一个协调点根据用户的查询语句生成的数据执行计划下发到每一个所述可用数据节点,包括:所述协调点根据发送给每一个所述可用数据节点的执行计划,判断每个可用数据节点的负载情况;根据所述负载情况确定每个所述可用数据节点下发执行计划包含的任务数。本申请通过根据每个数据节点不同任务数情况进行任务下发,当数据节点发生损坏的情况时,可以实现数据节点的负载均衡,提高数据查询效率。
[0044]图1是本申请中集群数据库负载均衡流程示意图。
[0045]请参照图1所示,S101获取集群数据库的可用数据节点信息;
[0046]本申请中所述集群数据库是指分布式数据库,所述分布式数据库(DDB)是一种物理上分散而逻辑上集中的数据库系统,是数据库技术和网络进行结合后的产物。
[0047]所述分布式数据库设置有多个数据节点,各数据节点具本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种集群数据库负载均衡方法,其特征在于,包括:获取集群数据库的可用数据节点信息;根据所述可用数据节点信息,将所述集群数据库的每一个协调点根据用户的查询语句生成的数据执行计划下发到每一个所述可用数据节点,包括:所述协调点根据发送给每一个所述可用数据节点的执行计划,判断每个可用数据节点的负载情况;根据所述负载情况确定每个所述可用数据节点下发执行计划包含的任务数。2.根据权利要求1所述集群数据库负载均衡方法,其特征在于,所述判断每个可用数据节点的负载情况,包括:基于数据主分片的多副分片循环备份,所述协调点记录下发到每个所述可用数据节点的任务数。3.根据权利要求2所述集群数据库负载均衡方法,其特征在于,所述多副分片循环备份,包括:每次下发任务后增加每个数据节点的任务数,下发任务结束后减少每个可用数据节点任务数。4.根据权利要求3所述集群数据库负载均衡方法,其特征在于,所述多副分片循环备份中,任意两个所述数据节点中的主分片或者任意两个所述数据节点中的副分片是不同的。5.根据权利要求1~4任一所述集群数据库负载均衡方法,其特征在于,所述执行计划包括:查询语句或者物理计划。6.一种集群数据库负载均衡装置,其特征...

【专利技术属性】
技术研发人员:李晨光姜晓
申请(专利权)人:天津南大通用数据技术股份有限公司
类型:发明
国别省市:

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

1