负载均衡方法、装置、电子设备及存储介质与流程

文档序号:36094574发布日期:2023-11-18 14:20阅读:28来源:国知局
负载均衡方法、装置、电子设备及存储介质与流程

本技术涉及计算机,尤其涉及一种负载均衡方法、装置、电子设备及存储介质。


背景技术:

1、随着互联网技术的发展,用户数据爆发式的增长,在海量数据、高并发访问的情况下,数据库能提供稳定、可靠的性能是至关重要的。但传统的数据库已经不能满足这种大数据的问题,在这种技术背景下,分布式的数据库应运而生。

2、hbase是一个分布式的开源nosql数据库,通常应用于需要大规模存储和快速访问大量半结构化数据的场景,例如,日志存储和分析、时序数据存储、实时分析和推荐系统以及在线交易处理等。

3、然而,hbase也存在节点负载不均衡、自动负载均衡机制不完善以及region迁移开销大等技术问题,影响hbase的资源利用率。


技术实现思路

1、本技术的目的是提供一种负载均衡方法、装置、电子设备及存储介质,用于根据与场景相对应的、且符合正态分布的权重因子来计算每个region server的负载,并根据每个region server的负载进行分组负载均衡,进而提高hbase计算资源的利用效率和服务请求的访问性能。

2、本技术提供一种负载均衡方法,包括:

3、获取hbase集群的集群负载;在hbase集群的集群负载大于预设负载阈值的情况下,循环按照预设负载均衡策略对所述多个region server执行负载均衡操作,直至hbase集群的集群负载小于或者等于预设负载阈值;其中,预设负载均衡策略包括:基于与hbase集群的应用场景相对应的、且符合正态分布的权重因子计算多个region server中每个region server的负载,根据每个region server的负载对多个region server进行分组,对每个分组内的region server进行负载均衡。

4、可选地,按照预设负载均衡策略对所述多个region server执行负载均衡操作,包括:基于与hbase集群的应用场景相对应的、且符合正态分布的权重因子,计算多个regionserver中每个region server的负载;按照负载大小对多个region server中每个regionserver进行排序,得到目标分组,并按照预设分组方式将目标分组中所包含的regionserver划分到多个子分组中;对每个子分组中的region server进行组内负载均衡;其中,预设分组方式包括:每次分组时,将目标分组中负载最大的region server以及负载最小的region server划分至同一子分组内。

5、可选地,基于与hbase集群的应用场景相对应的、且符合正态分布的权重因子,计算多个region server中每个region server的负载,包括:获取与hbase集群的应用场景相对应的、且符合正态分布的第一目标权重因子以及多个region server中每个regionserver对应的第一目标参数集合;对第一目标参数集合中的各项参数进行归一化处理,得到第二目标参数集合,并基于第一目标权重因子计算第二目标参数集合中各项参数的对应的权重因子;基于第二目标参数集合中各项参数对应的权重因子对第二目标参数集合中的各项参数进行加权计算,得到多个region server中每个region server的负载;其中,第一目标参数集合包括以下至少一项:region server所包含的region数量,region server的本地化率,region server的读取请求数量,region server的写入请求数量。

6、可选地,获取与hbase集群的应用场景相对应的、且符合正态分布的第一目标权重因子,包括:获取与hbase集群的应用场景相对应的数学期望值、方差以及正态分布约束;基于数学期望值以及方差,随机生成满足正态分布约束的随机权重因子,并将随机权重因子确定为第一目标权重因子;其中,正态分布约束用于约束第一目标权重因子的取值范围。

7、可选地,对第一目标参数集合中的各项参数进行归一化处理,得到第二目标参数集合,包括:基于多个region server中每个region server的第一目标参数集合以及以下公式一,对每个region server的第一目标参数集合中的每个参数进行归一化处理,得到每个region server的第二目标参数集合:

8、(公式一)

9、其中,为第 i个region server的第一目标参数集合中任一第一待处理参数;为多个region server的第一目标参数集合中第一待处理参数的最小值;为多个region server的第一目标参数集合中第一待处理参数的最大值, p为经过归一化处理后得到的值。

10、可选地,基于第一目标权重因子计算第二目标参数集合中各项参数的对应的权重因子,包括:基于第一目标权重因子以及第二目标参数集合中各项参数与第一目标权重因子之间的换算公式,计算第二目标参数集合中各项参数的对应的权重因子;其中,第二目标参数集合中各项参数的对应的权重因子之和为1。

11、可选地,基于第二目标参数集合中各项参数对应的权重因子对第二目标参数集合中的各项参数进行加权计算,得到多个region server中每个region server的负载,包括:基于以下公式二计算多个region server中每个region server的负载:

12、(公式二)

13、其中,为第二目标参数集合中参数的项数;为第二目标参数集合中的第 i项参数,为第二目标参数集合中的第 i项参数对应的权重因子。

14、可选地,按照预设分组方式将目标分组中所包含的region server划分到多个子分组中,包括:基于已完成分组的各个子分组中的region server负载,计算已完成分组的各个子分组的负载总和;在目标分组中所包含的region server数量为奇数的情况下,将最后剩余未分组的待分配region server划分到任一第一子分组中;其中,第一子分组中为已完成分组的子分组中负载总和小于预设阈值的子分组。

15、可选地,按照预设分组方式将目标分组中所包含的region server划分到多个子分组中,包括:在目标分组中所包含的region server数量为奇数的情况下,将最后剩余未分组的待分配region server单独划分至第二子分组中;其中,第二子分组中仅包括待分配region server。

16、可选地,对每个子分组中的region server进行组内负载均衡,包括:获取目标子分组的第三目标参数集合,并对第三目标参数集合进行归一化处理,得到第四目标参数集合;目标子分组为多个子分组中的任一子分组;基于与hbase集群的应用场景相对应的、且符合正态分布的第二目标权重因子计算第四目标参数集合中各项参数的权重因子;基于第四目标参数集合中各项参数的权重因子对第四目标参数集合中的各项参数进行加权计算,得到目标子分组的第一负载;根据多种不同的迁移策略生成不同的待执行迁移计划,并模拟待执行迁移计划中每个待执行迁移计划是否满足预设标准,以及将待执行迁移计划中满足预设标准的待执行迁移计划确定为有效迁移计划;执行有效迁移计划;其中,第三目标参数集合包括以下至少一项:子分组中所包含的每个region server的读取请求数量,子分组中所包含的每个region server的写入请求数量,子分组中所包含的每个region server的region数量,子分组中所包含的每个region server的迁移代价,子分组中所包含的每个region server的本地化率,子分组中所包含的每个region server的数量上限;数量上限为每张数据表占据region server中region的数量上限。

17、可选地,获取目标子分组的第三目标参数集合,并对第三目标参数集合进行归一化处理,得到第四目标参数集合,包括:基于目标子分组中各个region server的第三目标参数集合以及以下公式三,对每个region server的第三目标参数集合中的每个参数进行归一化处理,得到每个region server的第四目标参数集合:

18、(公式三)

19、其中,为目标子分组中第 k个region server的第三目标参数集合中任一第二待处理参数;为目标子分组中各个region server的第三目标参数集合中第二待处理参数的最小值;为目标子分组中各个region server的第三目标参数集合中第二待处理参数的最大值, q为经过归一化处理后得到的值。

20、可选地,基于与hbase集群的应用场景相对应的、且符合正态分布的第二目标权重因子计算第四目标参数集合中各项参数的权重因子,包括:基于第二目标权重因子以及第四目标参数集合中各项参数与第二目标权重因子之间的换算公式,计算第四目标参数集合中各项参数的对应的权重因子;其中,第四目标参数集合中各项参数的对应的权重因子之和为1。

21、可选地,基于第四目标参数集合中各项参数的权重因子对第四目标参数集合中的各项参数进行加权计算,得到目标子分组的第一负载,包括:

22、基于以下公式四计算目标子分组的第一负载:

23、(公式四)

24、其中,为第四目标参数集合中参数的项数;为第四目标参数集合中的第 k项参数,为第四目标参数集合中的第 k项参数对应的权重因子。

25、可选地,根据多种不同的迁移策略生成多个迁移计划,并模拟多个迁移计划中每个迁移计划是否满足预设标准,包括:获取第一region server以及第二region server,并生成用于将第一region server中本地化率最低的第一待迁移region迁移到第二regionserver中的第一迁移计划;模拟执行第一迁移计划,并重新计算模拟执行第一迁移计划之后目标子分组的负载,得到目标子分组的第二负载;在第二负载小于第一负载的情况下,将第一迁移计划确定为效迁移计划;其中,第一region server为目标子分组中的任一regionserver;第二region server为目标子分组中能够提高第一待迁移region的本地化率的region server。

26、可选地,根据多种不同的迁移策略生成多个迁移计划,并模拟多个迁移计划中每个迁移计划是否满足预设标准,包括:获取第三region server以及第四region server,并生成用于将第三region server中的region迁移到第四region server中的第二迁移计划;模拟执行第二迁移计划,并重新计算模拟执行第二迁移计划之后目标子分组的负载,得到目标子分组的第三负载;在第三负载小于第一负载的情况下,将第二迁移计划确定为效迁移计划;其中,第三region server为目标子分组中region数量最多的region server;第四region server为目标子分组中region数量最少的region server。

27、可选地,根据多种不同的迁移策略生成多个迁移计划,并模拟多个迁移计划中每个迁移计划是否满足预设标准,包括:获取第五region server以及第六region server,并生成用于将第五region server中的任一region与第六region server中的任一region进行交换的第三迁移计划;模拟执行第三迁移计划,并重新计算模拟执行第三迁移计划之后目标子分组的负载,得到目标子分组的第四负载;在第四负载小于第一负载的情况下,将第三迁移计划确定为效迁移计划;其中,第五region server为目标子分组中的任一regionserver;第六region server为目标子分组中的任一region server。

28、可选地,根据多种不同的迁移策略生成多个迁移计划,并模拟多个迁移计划中每个迁移计划是否满足预设标准,包括:获取第七region server以及第八region server,并生成用于将第七region server中负载最高的region迁移到第八region server中的第四迁移计划;模拟执行第四迁移计划,并重新计算模拟执行第四迁移计划之后目标子分组的负载,得到目标子分组的第五负载;在第五负载小于第一负载的情况下,将第四迁移计划确定为效迁移计划;其中,第七region server为目标子分组中读写请求最多的regionserver;第八region server为目标子分组中读写请求最少的region server。

29、本技术还提供一种负载均衡装置,包括:

30、获取模块,用于获取hbase集群的集群负载;负载均衡模块,用于在hbase集群的集群负载大于预设负载阈值的情况下,循环按照预设负载均衡策略对所述多个regionserver执行负载均衡操作,直至hbase集群的集群负载小于或者等于预设负载阈值;其中,预设负载均衡策略包括:基于与hbase集群的应用场景相对应的、且符合正态分布的权重因子计算多个region server中每个region server的负载,根据每个region server的负载对多个region server进行分组,对每个分组内的region server进行负载均衡。

31、可选地,装置还包括:计算模块和分组模块;计算模块,用于基于与hbase集群的应用场景相对应的、且符合正态分布的权重因子,计算多个region server中每个regionserver的负载;分组模块,用于按照负载大小对多个region server中每个region server进行排序,得到目标分组,并按照预设分组方式将目标分组中所包含的region server划分到多个子分组中;负载均衡模块,具体用于对每个子分组中的region server进行组内负载均衡;其中,预设分组方式包括:每次分组时,将目标分组中负载最大的region server以及负载最小的region server划分至同一子分组内。

32、可选地,装置还包括:处理模块;获取模块,还用于获取与hbase集群的应用场景相对应的、且符合正态分布的第一目标权重因子以及多个region server中每个regionserver对应的第一目标参数集合;处理模块,用于对第一目标参数集合中的各项参数进行归一化处理,得到第二目标参数集合,并基于第一目标权重因子计算第二目标参数集合中各项参数的对应的权重因子;计算模块,具体用于基于第二目标参数集合中各项参数对应的权重因子对第二目标参数集合中的各项参数进行加权计算,得到多个region server中每个region server的负载;其中,第一目标参数集合包括以下至少一项:region server所包含的region数量,region server的本地化率,region server的读取请求数量,regionserver的写入请求数量。

33、可选地,获取模块,具体用于获取与hbase集群的应用场景相对应的数学期望值、方差以及正态分布约束;计算模块,还用于基于数学期望值以及方差,随机生成满足正态分布约束的随机权重因子,并将随机权重因子确定为第一目标权重因子;其中,正态分布约束用于约束第一目标权重因子的取值范围。

34、可选地,处理模块,具体用于基于多个region server中每个region server的第一目标参数集合以及以下公式一,对每个region server的第一目标参数集合中的每个参数进行归一化处理,得到每个region server的第二目标参数集合:

35、(公式一)

36、其中,为第 i个region server的第一目标参数集合中任一第一待处理参数;为多个region server的第一目标参数集合中第一待处理参数的最小值;为多个region server的第一目标参数集合中第一待处理参数的最大值, p为经过归一化处理后得到的值。

37、可选地,计算模块,具体用于基于第一目标权重因子以及第二目标参数集合中各项参数与第一目标权重因子之间的换算公式,计算第二目标参数集合中各项参数的对应的权重因子;其中,第二目标参数集合中各项参数的对应的权重因子之和为1。

38、可选地,计算模块,具体用于基于以下公式二计算多个region server中每个region server的负载:

39、(公式二)

40、其中,为第二目标参数集合中参数的项数;为第二目标参数集合中的第 i项参数,为第二目标参数集合中的第 i项参数对应的权重因子。

41、可选地,计算模块,还用于基于已完成分组的各个子分组中的region server负载,计算已完成分组的各个子分组的负载总和;分组模块,具体用于在目标分组中所包含的region server数量为奇数的情况下,将最后剩余未分组的待分配region server划分到任一第一子分组中;其中,第一子分组中为已完成分组的子分组中负载总和小于预设阈值的子分组。

42、可选地,分组模块,具体用于在目标分组中所包含的region server数量为奇数的情况下,将最后剩余未分组的待分配region server单独划分至第二子分组中;其中,第二子分组中仅包括待分配region server。

43、可选地,装置还包括:计划模拟模块;获取模块,还用于获取目标子分组的第三目标参数集合;处理模块,还用于对第三目标参数集合进行归一化处理,得到第四目标参数集合;目标子分组为多个子分组中的任一子分组;计算模块,还用于基于与hbase集群的应用场景相对应的、且符合正态分布的第二目标权重因子计算第四目标参数集合中各项参数的权重因子;计算模块,还用于基于第四目标参数集合中各项参数的权重因子对第四目标参数集合中的各项参数进行加权计算,得到目标子分组的第一负载;计划模拟模块,用于根据多种不同的迁移策略生成不同的待执行迁移计划,并模拟待执行迁移计划中每个待执行迁移计划是否满足预设标准,以及将待执行迁移计划中满足预设标准的待执行迁移计划确定为有效迁移计划;负载均衡模块,具体用于执行有效迁移计划;其中,第三目标参数集合包括以下至少一项:子分组中所包含的每个region server的读取请求数量,子分组中所包含的每个region server的写入请求数量,子分组中所包含的每个region server的region数量,子分组中所包含的每个region server的迁移代价,子分组中所包含的每个regionserver的本地化率,子分组中所包含的每个region server的数量上限;数量上限为每张数据表占据region server中region的数量上限。

44、可选地,处理模块,具体用于基于目标子分组中各个region server的第三目标参数集合以及以下公式三,对每个region server的第三目标参数集合中的每个参数进行归一化处理,得到每个region server的第四目标参数集合:

45、(公式三)

46、其中,为目标子分组中第 k个region server的第三目标参数集合中任一第二待处理参数;为目标子分组中各个region server的第三目标参数集合中第二待处理参数的最小值;为目标子分组中各个region server的第三目标参数集合中第二待处理参数的最大值, q为经过归一化处理后得到的值。

47、可选地,计算模块,具体用于基于第二目标权重因子以及第四目标参数集合中各项参数与第二目标权重因子之间的换算公式,计算第四目标参数集合中各项参数的对应的权重因子;其中,第四目标参数集合中各项参数的对应的权重因子之和为1。

48、可选地,计算模块,具体用于基于以下公式四计算目标子分组的第一负载:

49、(公式四)

50、其中,为第四目标参数集合中参数的项数;为第四目标参数集合中的第 k项参数,为第四目标参数集合中的第 k项参数对应的权重因子。

51、可选地,获取模块,还用于获取第一region server以及第二region server,并生成用于将第一region server中本地化率最低的第一待迁移region迁移到第二regionserver中的第一迁移计划;计划模拟模块,具体用于模拟执行第一迁移计划,并重新计算模拟执行第一迁移计划之后目标子分组的负载,得到目标子分组的第二负载;计划模拟模块,具体还用于在第二负载小于第一负载的情况下,将第一迁移计划确定为效迁移计划;其中,第一region server为目标子分组中的任一region server;第二region server为目标子分组中能够提高第一待迁移region的本地化率的region server。

52、可选地,获取模块,还用于获取第三region server以及第四region server,并生成用于将第三region server中的region迁移到第四region server中的第二迁移计划;计划模拟模块,具体用于模拟执行第二迁移计划,并重新计算模拟执行第二迁移计划之后目标子分组的负载,得到目标子分组的第三负载;计划模拟模块,具体还用于在第三负载小于第一负载的情况下,将第二迁移计划确定为效迁移计划;其中,第三region server为目标子分组中region数量最多的region server;第四region server为目标子分组中region数量最少的region server。

53、可选地,获取模块,还用于获取第五region server以及第六region server,并生成用于将第五region server中的任一region与第六region server中的任一region进行交换的第三迁移计划;计划模拟模块,具体用于模拟执行第三迁移计划,并重新计算模拟执行第三迁移计划之后目标子分组的负载,得到目标子分组的第四负载;计划模拟模块,具体还用于在第四负载小于第一负载的情况下,将第三迁移计划确定为效迁移计划;其中,第五region server为目标子分组中的任一region server;第六region server为目标子分组中的任一region server。

54、可选地,获取模块,还用于获取第七region server以及第八region server,并生成用于将第七region server中负载最高的region迁移到第八region server中的第四迁移计划;计划模拟模块,具体用于模拟执行第四迁移计划,并重新计算模拟执行第四迁移计划之后目标子分组的负载,得到目标子分组的第五负载;计划模拟模块,具体还用于在第五负载小于第一负载的情况下,将第四迁移计划确定为效迁移计划;其中,第七regionserver为目标子分组中读写请求最多的region server;第八region server为目标子分组中读写请求最少的region server。

55、本技术还提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现如上述任一种负载均衡方法的步骤。

56、本技术还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现如上述任一种负载均衡方法的步骤。

57、本技术还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种负载均衡方法的步骤。

58、本技术提供的负载均衡方法、装置、电子设备及存储介质,首先,获取hbase集群的集群负载;之后,在hbase集群的集群负载大于预设负载阈值的情况下,循环按照预设负载均衡策略对所述多个region server执行负载均衡操作,直至hbase集群的集群负载小于或者等于预设负载阈值,其中,预设负载均衡策略包括:基于与hbase集群的应用场景相对应的、且符合正态分布的权重因子计算多个region server中每个region server的负载,根据每个region server的负载对多个region server进行分组,对每个分组内的regionserver进行负载均衡。如此,根据与场景相对应的、且符合正态分布的权重因子来计算每个region server的负载,并根据每个region server的负载进行分组负载均衡,不仅提高hbase了计算资源的利用效率,还提高了hbase服务请求的访问性能。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1