一种集群资源调控方法、装置、电子设备和存储介质与流程

未命名 08-13 阅读:73 评论:0


1.本技术涉及计算机技术领域,尤其涉及一种集群资源调控方法、装置、电子设备和计算机存储介质。


背景技术:

2.目前,大数据集群随着数据和计算资源的需求增长,经常需要增加新的工作节点,提高集群的存储资源和计算资源;对于新加入集群的工作节点,其硬件规格配置与之前集群中已有工作节点的可能不相同。
3.现有的对集群进行资源调控的常用方式,是根据工作节点的硬件规格对应配置该工作节点的可用资源,便于之后集群执行提交的计算任务时,根据配置的工作节点可用资源,将任务调度到相对空闲的工作节点进行计算。然而,各个工作节点加入集群的批次不同,使得硬件规格也不尽相同。在集群工作节点硬件规格不相同的情况下,如果对应配置的资源信息不同,则导致集群不便于管理;而如果对应配置的资源信息相同,则会导致性能差的工作节点资源不足,性能优的工作节点资源富裕的情况,难以实现集群中各工作节点的资源均衡。


技术实现要素:

4.本技术实施例提供一种集群资源调控方法、装置、电子设备和计算机存储介质。
5.本技术实施例的技术方案是这样实现的:
6.本技术实施例提供了一种集群资源调控方法,所述方法包括:
7.获取集群的监控数据以及所述集群中每一工作节点的节点监控数据;所述集群包括至少两个工作节点;
8.根据所述集群的监控数据,确定所述集群的负载权重均值;
9.根据所述节点监控数据,确定所述每一工作节点的负载权重值;
10.根据所述每一工作节点的负载权重值和所述集群的负载权重均值,确定所述集群中需要进行资源调控的至少一个目标工作节点;
11.对所述至少一个目标工作节点中每个目标工作节点的可用资源进行调控。
12.在一些实施例中,所述根据所述每一工作节点的负载权重值和所述集群的负载权重均值,确定所述集群中需要进行资源调控的至少一个目标工作节点,包括:
13.确定所述每一工作节点的负载权重值与所述集群的负载权重均值之间的负载权重差值;
14.基于每一工作节点的负载权重差值和对应的设定阈值,确定所述集群中需要进行资源调控的至少一个目标工作节点。
15.在一些实施例中,所述对所述至少一个目标工作节点中每个目标工作节点的可用资源进行调控,包括:
16.根据每个目标工作节点的负载权重差值,确定对应目标工作节点的当前所处状
态;所述当前所处状态为过载状态和空闲状态的其中一项;
17.根据所述每个目标工作节点的当前所处状态,对所述每个目标工作节点的可用资源进行调控。
18.在一些实施例中,在所述每个目标工作节点的可用资源为中央处理器(central processing unit,cpu)资源的情况下,所述根据所述每个目标工作节点的当前所处状态,对所述每个目标工作节点的可用资源进行调控,包括:
19.在确定所述每个目标工作节点的当前所处状态为所述过载状态的情况下,增加所述每个目标工作节点的cpu数量;
20.在确定所述每个目标工作节点的当前所处状态为所述空闲状态的情况下,减少所述每个目标工作节点的cpu数量。
21.在一些实施例中,所述根据所述每一工作节点的负载权重值和所述集群的负载权重均值,确定所述集群中需要进行资源调控的至少一个目标工作节点,包括:
22.根据所述集群的负载权重均值,确定所述每一工作节点的负载权重值的设定范围;
23.根据所述每一工作节点的负载权重值和对应的设定范围,确定所述集群中需要进行资源调控的至少一个目标工作节点。
24.在一些实施例中,所述对所述至少一个目标工作节点中每个目标工作节点的可用资源进行调控,包括:
25.判断所述目标工作节点的数量是否大于或等于设定值;
26.在所述目标工作节点的数量大于或等于所述设定值的情况下,对所述至少一个目标工作节点中每个目标工作节点的可用资源进行调控。
27.在一些实施例中,所述获取集群的监控数据以及所述集群中每一工作节点的节点监控数据,包括:
28.确定当前时间距离上次进行资源调控的时间间隔;
29.判断所述时间间隔是否达到预设时间间隔;
30.在所述时间间隔达到所述预设时间间隔的情况下,获取所述集群的监控数据以及所述集群中每一工作节点的节点监控数据。
31.在一些实施例中,所述获取集群的监控数据以及所述集群中每一工作节点的节点监控数据,包括:
32.每隔设定时间获取所述集群的监控数据以及所述集群中每一工作节点的节点监控数据。
33.本技术实施例提供一种集群资源调控装置,所述装置包括获取模块、确定模块和调控模块,其中,
34.获取模块,用于获取集群的监控数据以及所述集群中每一工作节点的节点监控数据;所述集群包括至少两个工作节点;
35.确定模块,用于根据所述集群的监控数据,确定所述集群的负载权重均值;根据所述节点监控数据,确定所述每一工作节点的负载权重值;根据所述每一工作节点的负载权重值和所述集群的负载权重均值,确定所述集群中需要进行资源调控的至少一个目标工作节点;
36.调控模块,用于对所述至少一个目标工作节点中每个目标工作节点的可用资源进行调控。
37.本技术实施例提供一种电子设备,所述设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现前述一个或多个技术方案提供的集群资源调控方法。
38.本技术实施例提供一种计算机存储介质,所述计算机存储介质存储有计算机程序;所述计算机程序被执行后能够实现前述一个或多个技术方案提供的集群资源调控方法。
39.本技术实施例提供一种集群资源调控方法、装置、电子设备和计算机存储介质,该方法包括:获取集群的监控数据以及所述集群中每一工作节点的节点监控数据;所述集群包括至少两个工作节点;根据所述集群的监控数据,确定所述集群的负载权重均值;根据所述节点监控数据,确定所述每一工作节点的负载权重值;根据所述每一工作节点的负载权重值和所述集群的负载权重均值,确定所述集群中需要进行资源调控的至少一个目标工作节点;对所述至少一个目标工作节点中每个目标工作节点的可用资源进行调控。
40.可以看出,本技术实施例中,由于监控数据能够很好地表征集群以及集群中每一工作节点的负载情况,因而,根据获取到的集群的监控数据以及集群中每一工作节点的节点监控数据,可以准确地确定对应的负载权重,确保后续资源调控的有效性;其次,在确定出需要进行资源调控的目标工作节点后,通过有针对性地对这些目标工作节点实施资源调控,可以确保集群后续执行提交的计算任务时,根据调控后的各目标工作节点的可用资源,将任务调度到相对空闲的工作节点进行计算,如此,可以提高集群资源的利用率;另外,本技术实施例在实现资源调控的过程中无需考虑工作节点硬件规格的影响,使得集群更加易于维护。
附图说明
41.图1为本技术实施例的一种集群资源调控方法的流程图;
42.图2为本技术实施例的一种获取监控数据的流程图;
43.图3为本技术实施例的一种确定目标工作节点的流程图;
44.图4为本技术实施例的一种集群资源调控方法的流程图;
45.图5a为本技术实施例的一种资源调控系统的结构示意图;
46.图5b为本技术实施例的另一种集群资源调控方法的流程图;
47.图6为本技术实施例的一种集群资源调控装置的组成结构示意图;
48.图7为本技术实施例的一种电子设备的结构示意图。
具体实施方式
49.下面将结合本技术中的附图,对本技术中的技术方案进行清楚、完整地描述。
50.以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所提供的实施例仅仅用以解释本技术,并不用于限定本技术。另外,以下所提供的实施例是用于实施本技术的部分实施例,而非提供实施本技术的全部实施例,在不冲突的情况下,本技术记载的技术方案可以任意组合的方式实施。
51.需要说明的是,在本技术中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的方法或者装置不仅包括所明确记载的要素,而且还包括没有明确列出的其他要素,或者是还包括为实施方法或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括该要素的方法或者装置中还存在另外的相关要素(例如方法中的步骤或者装置中的单元,例如的单元可以是部分处理器、部分程序或软件等等)。
52.本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括a、b、c中的至少一种,可以表示包括从a、b和c构成的集合中选择的任意一个或多个元素。
53.相关技术中,为解决因工作节点硬件规格不同导致资源不均衡的问题,通常需要限制集群中配置的工作节点的硬件规格尽量一致或者尽量少,一般简单根据cpu的核数来分配,集群使用相应的调度算法,把计算任务尽量均衡调度到集群的各个工作节点。
54.例如,某集群中工作节点有两种硬件规格,具体包括:40个32c128g的工作节点以及60个64c256g的工作节点;集群根据这两种硬件规格对应设置两种配置信息,若设置4c为1个vcore(相当于虚拟的cpu资源),假设预留给系统部分资源为4c,则配置32c128g的每个工作节点拥有(32-4)/4=7个vcore的计算资源,64c256g的每个工作节点拥有(64-4)/7=15个vcore的计算资源,则调度算法会根据各个工作节点上未分配的可用vcore数量来调度这些计算资源;具体地,调度算法会根据某工作节点上未分配的vcore数量是否足够,来判断该工作节点是否空闲,进而决定是否调度任务分配到该工作节点。比如,某任务需要4个vcore,而集群中工作节点a上剩余2个vcore的计算资源,另一工作节点b上剩余7个vcore的计算资源,则调度算法就会提交该任务到工作节点b。然而,这种实现方式对资源的分配比较简单直接,并未综合考量到各工作节点的压力情况,难以确保资源分配的可靠性。
55.针对上述技术问题,提出以下各实施例。
56.在本技术的一些实施例中,集群资源调控方法可以利用集群资源调控装置中的处理器实现,上述处理器可以为特定用途集成电路(application specific integrated circuit,asic)、数字信号处理器(digital signal processor,dsp)、数字信号处理装置(digital signal processing device,dspd)、可编程逻辑装置(programmable logic device,pld)、现场可编程逻辑门阵列(field programmable gate array,fpga)、cpu、控制器、微控制器、微处理器中的至少一种。
57.图1为本技术实施例的一种集群资源调控方法的流程图,如图1所示,该流程可以包括:
58.步骤10:获取集群的监控数据以及集群中每一工作节点的节点监控数据。
59.本技术实施例中,集群可以包括至少两个工作节点,这些工作节点一起工作并运行一系列共同的应用程序;这里,对于集群的类型不作限定;例如,可以为hadoop集群、kubernetes集群等。
60.示例性地,集群资源调控方法可以应用于集群,特别是包括很多个工作节点的大规模集群。需要说明的是,集群中除了包括工作节点外,还包括一个主控节点;其中,主控节点以及各工作节点可以是安装部署应用程序后的物理机,它们共同组成统一对外提供服务
的平台。
61.示例性地,参见图2,获取集群的监控数据以及集群中每一工作节点的节点监控数据,可以包括以下步骤:
62.步骤100:确定当前时间距离上次进行资源调控的时间间隔;
63.步骤101:判断时间间隔是否达到预设时间间隔;
64.步骤102:在时间间隔达到预设时间间隔的情况下,获取集群的监控数据以及集群中每一工作节点的节点监控数据。
65.这里,预设时间间隔是根据实际情况预先设置的,本技术实施例对此不作限定,例如,预设时间间隔可以设置为每小时或每天等。
66.本技术实施例中,首先确定当前时间距离上次进行资源调控的时间间隔,然后将该时间间隔与预设时间间隔进行比较,并根据比较结果判断时间间隔是否达到预设时间间隔。这里,对于时间间隔的获取方式不作限定,例如,可以通过监听程序获取,也可以通过其他方式。
67.进一步地,在根据比较结果确定时间间隔达到预设时间间隔的情况下,可以从监控中心获取集群的监控数据以及集群中每一工作节点的节点监控数据,并进行后续处理;反之,在根据比较结果确定时间间隔未达到预设时间间隔的情况下,结束本次流程。
68.示例性地,监控中心部署在集群中,其可以采用实时监控的方式对集群以及集群中的工作节点进行监控。
69.在一些实施例中,可以每隔设定时间获取集群的监控数据以及集群中每一工作节点的节点监控数据。
70.这里,设定时间可以大于或等于上述预设时间间隔;本技术实施例可以每隔设定时间,即周期性地从监控中心获取集群的监控数据以及每一工作节点的节点监控数据,用于后续相关节点的资源调控,实现集群中各工作节点的动态调控;需要说明的是,对于获取集群的监控数据以及每一工作节点的节点监控数据的先后顺序不作限定。
71.示例性地,集群的监控数据是指整个集群对应的所有相关信息,其具体内容并不唯一,例如,可以包括集群的cpu使用情况、内存使用情况、网络带宽使用情况以及硬盘读写情况等相关数据。类似地,节点监控数据指的是工作节点运行过程中对应的所有相关信息,其具体内容也不唯一,例如,可以包括工作节点的cpu使用情况、内存使用情况、网络带宽使用情况以及硬盘读写情况等相关数据。
72.可以看出,本技术实施例中,通过将时间间隔与预设时间间隔进行的比较,控制单位时间进行资源调控的次数,如此,可以在一定程度上降低对集群的操作频次,确保集群的稳定性。
73.步骤11:根据集群的监控数据,确定集群的负载权重均值,根据节点监控数据,确定每一工作节点的负载权重值。
74.本技术实施例中,可以在获取到集群的监控数据以及每一工作节点的节点监控数据后,采用权重衡量公式进行量化,得到集群的负载权重均值以及每一工作节点的负载权重值;也可以在获取到集群的监控数据或者每一工作节点的节点监控数据后,采用权重衡量公式进行量化,得到集群的负载权重均值以及每一工作节点的负载权重值;需要说明的是,这两部分监控数据所采用的权重衡量公式相同。
75.这里,对于权重衡量公式的设置方式不作限定;在一实施例中,权重衡量公式可以为:p=cpu使用率*0.5+内存使用率*0.2+网络带宽使用率*0.1+硬盘读写使用率*0.2
76.需要说明的是,上述公式中的各项系数可以根据集群实际情况进行调整;若上述公式中cpu使用率、内存使用率、网络带宽使用率以及硬盘读写使用率是根据集群的监控数据得到的,则p表示负载权重均值;若上述公式中cpu使用率、内存使用率、网络带宽使用率以及硬盘读写使用率是根据集群中某一工作节点的监控数据得到的,则p表示该工作节点的负载权重值。可见,经过上述公式,可以得到集群的负载权重均值以及每一工作节点的负载权重值。
77.步骤12:根据每一工作节点的负载权重值和集群的负载权重均值,确定集群中需要进行资源调控的至少一个目标工作节点。
78.这里,目标工作节点可以为集群中需要进行资源调控的各个工作节点,目标工作节点的数量可以为一个,也可以为多个。
79.在一些实施例中,参见图3,根据每一工作节点的负载权重值和集群的负载权重均值,确定集群中需要进行资源调控的至少一个目标工作节点,可以包括以下步骤:
80.步骤120:确定每一工作节点的负载权重值与集群的负载权重均值之间的负载权重差值;
81.步骤121:基于每一工作节点的负载权重差值和对应的设定阈值,确定集群中需要进行资源调控的至少一个目标工作节点。
82.本技术实施例中,集群中每一工作节点均具有对应的负载权重值,在确定每一工作节点的负载权重值与负载权重均值之间的负载权重差值后,可以得到每一工作节点的负载权重差值,下面可以简称为每一负载权重差值。
83.需要说明的是,负载权重差值为非负数;示例性地,在某一工作节点的负载权重值大于负载权重均值的情况下,将负载权重值减去负载权重均值的差值确定为该工作节点的负载权重差值;反之,在某一工作节点的负载权重值小于负载权重均值的情况下,将负载权重均值减去负载权重值的差值确定为该工作节点的负载权重差值。
84.示例性地,假设工作节点1和工作节点2为集群中的工作节点,且工作节点1和工作节点2的负载权重值分别为0.5和0.1,如果集群的负载权重均值为0.2,则工作节点1的负载权重差值为0.5减去0.2的差值,即0.3,工作节点2的负载权重差值为0.2减去0.1的差值,即0.1。
85.本技术实施例中,在得到每一工作节点的负载权重差值后,通过将每一工作节点的负载权重差值与对应的设定阈值进行比较,可以得到比较结果;该比较结果表征了每一负载权重差值与设定阈值的数值大小关系。这里,设定阈值是预先根据实际情况对应设置的,本技术实施例对此不作限定;例如,可以设置为0.2、0.3等。
86.示例性地,针对上述工作节点1和工作节点2,假设设定阈值的取值为0.2,通过将工作节点1的负载权重差值0.3、以及工作节点2的负载权重差值0.1分别与该设定阈值进行比较,可以得到工作节点1的负载权重差值大于设定阈值、以及工作节点2的负载权重差值小于设定阈值的比较结果。
87.示例性地,根据上述比较结果确定集群中需要进行资源调控的至少一个目标工作节点,可以包括:根据比较结果,确定大于设定阈值的各个负载权重差值;将与各个负载权
重差值对应的工作节点确定为集群中需要进行资源调控的各个个目标工作节点。
88.可以理解地,根据每一负载权重差值和设定阈值的比较结果,可以将负载权重差值较大的各个目标工作节点筛选出来,后续通过对这些目标工作节点进行针对性的资源调控,可以在减少集群操作数的同时实现集群的负载均衡。
89.在一些实施例中,根据每一工作节点的负载权重值和集群的负载权重均值,确定集群中需要进行资源调控的至少一个目标工作节点,可以包括:根据集群的负载权重均值,确定每一工作节点的负载权重值的设定范围;根据每一工作节点的负载权重值和对应的设定范围,确定集群中需要进行资源调控的至少一个目标工作节点。
90.示例性地,根据集群的负载权重均值,确定每一工作节点的负载权重值的设定范围,可以包括:对集群的负载权重均值和第一设定值进行相加操作,得到设定范围的上限;对集群的负载权重均值和第二设定值进行相减操作,得到设定范围的下限。
91.这里,第一设定值和第二设定值均为大于零的值,第一设定值与第二设定值可以相等,也可以不相等;例如,在第一设定值取值为0.2的情况下,第二设定值可以取值为0.2,也可以取值为0.3。
92.示例性地,假设集群的负载权重均值为0.5,第一设定值和第二设定值的取值均为0.2,则得到的设定范围的上限为0.7,下限为0.3,即,最终确定的集群中每一工作节点的负载权重值的设定范围为[0.3,0.7]。
[0093]
进一步地,在确定每一工作节点的负载权重值的设定范围后,判断每一工作节点的负载权重值是否在该设定范围内,如果是,则说明对应工作节点不需要进行资源调控;反之,如果否,则说明对应工作节点为集群中需要进行资源调控的目标工作节点。
[0094]
可以理解地,根据集群的负载权重均值确定设定范围,可以将超出设定范围的各个目标工作节点筛选出来,后续通过对这些目标工作节点进行针对性的资源调控,可以在减少集群操作数的同时实现集群的负载均衡。
[0095]
步骤13:对至少一个目标工作节点中每个目标工作节点的可用资源进行调控。
[0096]
示例性地,可用资源可以是与目标工作节点的存储资源或计算资源相关的可使用资源,即空闲资源;这里,可用资源包括但不限于cpu资源、内存资源、网络带宽资源以及硬盘资源等。
[0097]
本技术实施例中,在根据上述步骤确定出需要进行资源调控的至少一个目标工作节点后,首先判断目标工作节点的数量是否大于或等于设定值,如果确定目标工作节点的数量大于或等于设定值,则对至少一个目标工作节点中每个目标工作节点的可用资源进行调控,反之,如果确定目标工作节点的数量小于设定值,则不需要对各目标工作节点的可用资源进行调控,结束本次流程。
[0098]
这里,设定值可以根据集群规模对应设置,也就是说,如果集群规模不同,则对应设置的设定值可以不同;例如,可以将集群中工作节点总数量的10%或15%作为设定值。
[0099]
示例性地,假设集群中包括100的工作节点,且对应设置的设定值为集群中工作节点总数量的10%,即,设定值为10,此时,如果确定目标工作节点的数量大于或等于10,则分别对这10个目标工作节点的可用资源进行调控;反之,如果确定目标工作节点的数量小于10,则结束本次流程。
[0100]
可以理解地,对于包括很多个工作节点的大规模集群,如果确定需要进行资源调
控的节点数量为极少数,即大部分工作节点均满足负载均衡,此时,可以对其进行忽略,以实现集群稳定性与负载均衡之间的平衡,确保集群可靠性。
[0101]
在一些实施例中,参见图4,对至少一个目标工作节点中每个目标工作节点的可用资源进行调控,可以包括以下步骤:
[0102]
步骤130:根据每个目标工作节点的负载权重差值,确定对应目标工作节点的当前所处状态;
[0103]
步骤131:根据每个目标工作节点的当前所处状态,对每个目标工作节点的可用资源进行调控。
[0104]
示例性地,当前所处状态为过载状态和空闲状态的其中一项;每一目标工作节点具有对应的负载权重差值;若某一目标工作节点的负载权重差值为负载权重值减去负载权重均值的差值,则确定该目标工作节点的当前所处状态为过载状态,且负载权重差值越大,说明过载程度越高;若某一目标工作节点的负载权重差值为负载权重均值减去负载权重值的差值,则确定该目标工作节点的当前所处状态为空闲状态,且负载权重差值越大,说明空闲程度越高。
[0105]
本技术实施例中,若确定某一目标工作节点的当前所处状态为过载状态,则说明该目标工作节点为集群中是负载过高的工作节点,此时,通过减少目标工作节点的可用资源以实现调控;若确定某一目标工作节点的当前所处状态为空闲状况,则说明该目标工作节点为集群中是负载过低的工作节点,此时,通过增加目标工作节点的可用资源以实现调控。
[0106]
在一些实施例中,在每个目标工作节点的可用资源为cpu资源的情况下,根据每个目标工作节点的当前所处状态,对每个目标工作节点的可用资源进行调控,可以包括:在确定每个目标工作节点的当前所处状态为过载状态的情况下,增加每个目标工作节点的cpu数量;在确定每个目标工作节点的当前所处状态为空闲状态的情况下,减少每个目标工作节点的cpu数量。
[0107]
这里,以每个目标工作节点的可用资源为cpu资源为例进行说明;若确定每个目标工作节点的当前所处状态为过载状态,则可以减少每个目标工作节点的cpu数量以实现调控;反之,若确定每个目标工作节点的当前所处状态为空闲状态,则可以增加每个目标工作节点的cpu数量以实现调控。
[0108]
需要说明的是,可用资源的增加量和减少量与负载权重差值的大小有关;若负载权重差值较大,则可用资源的增加量和减少量可以相对高些;若负载权重差值较小,则可用资源的增加量和减少量可以相对低些。
[0109]
可以理解地,通过上述资源调控,可以将负载较高的工作节点的可用资源减少,负载较低的工作节点的可用资源增加,使得工作节点之间的可用资源差距进一步变大;这样,当集群后续执行提交的计算任务时,会更容易将该计算任务调度到实际空闲的工作节点进行计算,如此,可以在减少资源浪费的同时实现各工作节点的负载均衡。
[0110]
本技术实施例提供一种集群资源调控方法,该方法包括:获取集群的监控数据以及集群中每一工作节点的节点监控数据;集群包括至少两个工作节点;根据集群的监控数据,确定集群的负载权重均值;根据节点监控数据,确定每一工作节点的负载权重值;根据每一工作节点的负载权重值和集群的负载权重均值,确定集群中需要进行资源调控的至少
一个目标工作节点;对至少一个目标工作节点中每个目标工作节点的可用资源进行调控。可以看出,本技术实施例中,由于监控数据能够很好地表征集群以及每一工作节点的负载情况,因而,根据获取到的集群的监控数据以及集群中每一工作节点的节点监控数据,可以准确地确定对应的负载权重,确保后续资源调控的有效性;其次,在确定出需要进行资源调控的目标工作节点后,通过有针对性地对这些目标工作节点实施资源调控,可以确保集群后续执行提交的计算任务时,根据调控后的各目标工作节点的可用资源,将任务调度到相对空闲的工作节点进行计算,如此,可以提高集群资源的利用率;另外,本技术实施例在实现资源调控的过程中无需考虑工作节点硬件规格的影响,使得集群更加易于维护。
[0111]
为了能够更加体现本技术的目的,在本技术上述实施例的基础上,进行进一步的说明。
[0112]
本技术实施例还提供了一种资源调控系统的结构示意图,如图5a所示,该系统包括集群资源调控装置以及集群中的n个工作节点(对应图5a中工作节点1至工作节点n),n为大于1的整数;其中,集群资源调控装置包括获取模块40、确定模块41和调控模块42。
[0113]
示例性地,获取模块40用于获取集群的监控数据以及集群中每一工作节点的节点监控数据,并将获取到的上述监控数据发送至确定模块41;确定模块41用于根据集群的监控数据以及每一节点监控数据,对应确定集群的负载权重均值以及每一工作节点的负载权重值;并根据每一工作节点的负载权重值和负载权重均值,确定集群中需要进行资源调控的至少一个目标工作节点;之后将需要进行资源调控的至少一个目标工作节点发送至调控模块42,调控模块42用于对至少一个目标工作节点中每个目标工作节点的可用资源进行调控。
[0114]
下面在图5a的基础上,结合图5b,对集群进行资源调控的流程进行说明,该流程可以包括以下步骤:
[0115]
步骤20:判断是否达到预设时间间隔。
[0116]
示例性地,流程开始后,判断当前时间距离上次进行资源调控的时间间隔是否达到预设时间间隔,如果是,则执行步骤21,反之,结束本次流程。
[0117]
步骤21:获取集群的监控数据,确定负载权重均值。
[0118]
步骤22:获取集群中各工作节点的监控数据。
[0119]
步骤23:确定每一工作节点的负载权重值。
[0120]
步骤24:确定需要进行资源调控的目标工作节点。
[0121]
步骤25:判断目标工作节点数量是否大于或等于设定值。如果是,则执行步骤26,反之,结束本次流程。
[0122]
步骤26:增加或减少目标工作节点的可用资源。
[0123]
需要说明的是,步骤20至步骤26的实现方式已在上述实施例中进行过说明,此处不再赘述。
[0124]
可以看出,本技术实施例通过对获取到的集群的监控数据和集群中各个工作节点的监控数据进行量化,得到负载权重均值以及每一工作节点的负载权重值,通过对两者进行比较调整集群资源,以达到集群资源的动态均衡,提高集群资源的利用率,使集群更加易于维护。
[0125]
图6为本技术实施例的一种集群资源调控装置的组成结构示意图,用于对图1中方
法的具体实现,如图6所示,该装置包括:获取模块40、确定模块41和调控模块42,其中,
[0126]
获取模块40,用于获取集群的监控数据以及所述集群中每一工作节点的节点监控数据;所述集群包括至少两个工作节点;
[0127]
确定模块41,用于根据所述集群的监控数据,确定所述集群的负载权重均值;根据所述节点监控数据,确定所述每一工作节点的负载权重值;根据所述每一工作节点的负载权重值和所述集群的负载权重均值,确定所述集群中需要进行资源调控的至少一个目标工作节点;
[0128]
调控模块42,用于对所述至少一个目标工作节点中每个目标工作节点的可用资源进行调控。
[0129]
在一些实施例中,所述确定模块41,还用于:
[0130]
确定所述每一工作节点的负载权重值与所述集群的负载权重均值之间的负载权重差值;
[0131]
基于每一工作节点的负载权重差值和对应的设定阈值,确定所述集群中需要进行资源调控的至少一个目标工作节点。
[0132]
在一些实施例中,所述调控模块42,还用于:
[0133]
根据每个目标工作节点的负载权重差值,确定对应目标工作节点的当前所处状态;所述当前所处状态为过载状态和空闲状态的其中一项;
[0134]
根据所述每个目标工作节点的当前所处状态,对所述每个目标工作节点的可用资源进行调控。
[0135]
在一些实施例中,在所述每个目标工作节点的可用资源为cpu资源的情况下,所述调控模块42,还用于:
[0136]
在确定所述每个目标工作节点的当前所处状态为所述过载状态的情况下,增加所述每个目标工作节点的cpu数量;
[0137]
在确定所述每个目标工作节点的当前所处状态为所述空闲状态的情况下,减少所述每个目标工作节点的cpu数量。
[0138]
在一些实施例中,所述确定模块41,还用于:
[0139]
根据所述集群的负载权重均值,确定所述每一工作节点的负载权重值的设定范围;
[0140]
根据所述每一工作节点的负载权重值和对应的设定范围,确定所述集群中需要进行资源调控的至少一个目标工作节点。
[0141]
在一些实施例中,所述调控模块42,还用于:
[0142]
判断所述目标工作节点的数量是否大于或等于设定值;
[0143]
在所述目标工作节点的数量大于或等于所述设定值的情况下,对所述至少一个目标工作节点中每个目标工作节点的可用资源进行调控。
[0144]
在一些实施例中,获取模块40,还用于:
[0145]
确定当前时间距离上次进行资源调控的时间间隔;
[0146]
判断所述时间间隔是否达到预设时间间隔;
[0147]
在所述时间间隔达到所述预设时间间隔的情况下,获取所述集群的监控数据以及所述集群中每一工作节点的节点监控数据。
[0148]
在一些实施例中,获取模块40,还用于:
[0149]
每隔设定时间获取所述集群的监控数据以及所述集群中每一工作节点的节点监控数据。
[0150]
在实际应用中,上述获取模块40、确定模块41和调控模块42,均可以由位于电子设备中的处理器实现,该处理器可以为asic、dsp、dspd、pld、fpga、cpu、控制器、微控制器、微处理器中的至少一种。
[0151]
另外,在本实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
[0152]
集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)或processor(处理器)执行本实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等多种可以存储程序代码的介质。
[0153]
具体来讲,本实施例中的一种集群资源调控方法对应的计算机程序指令可以被存储在光盘、硬盘、u盘等存储介质上,当存储介质中的与一种集群资源调控方法对应的计算机程序指令被一电子设备读取或被执行时,实现前述实施例的任意一种集群资源调控方法。
[0154]
基于前述实施例相同的技术构思,参见图7,本技术实施例还提供了一种电子设备50,可以包括:存储器51和处理器52;其中,
[0155]
存储器51,用于存储计算机程序和数据;
[0156]
处理器52,用于执行存储器中存储的计算机程序,以实现前述实施例的任意一种集群资源调控方法。
[0157]
在实际应用中,上述存储器51可以是易失性存储器(volatile memory),例如ram;或者非易失性存储器(non-volatile memory),例如rom、快闪存储器(flash memory)、硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd);或者上述种类的存储器的组合,并向处理器52提供指令和数据。
[0158]
上述处理器52可以为asic、dsp、dspd、pld、fpga、cpu、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的集群资源调控装置,用于实现上述处理器功能的电子器件还可以为其它,本技术实施例不作具体限定。
[0159]
在一些实施例中,本技术实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
[0160]
上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
[0161]
本技术所提供的各方法实施例中所揭露的方法,在不冲突的情况下可以任意组
合,得到新的方法实施例。
[0162]
本技术所提供的各产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
[0163]
本技术所提供的各方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
[0164]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0165]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0166]
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0167]
以上,仅为本技术的较佳实施例而已,并非用于限定本技术的保护范围。

技术特征:
1.一种集群资源调控方法,其特征在于,所述方法包括:获取集群的监控数据以及所述集群中每一工作节点的节点监控数据;所述集群包括至少两个工作节点;根据所述集群的监控数据,确定所述集群的负载权重均值;根据所述节点监控数据,确定所述每一工作节点的负载权重值;根据所述每一工作节点的负载权重值和所述集群的负载权重均值,确定所述集群中需要进行资源调控的至少一个目标工作节点;对所述至少一个目标工作节点中每个目标工作节点的可用资源进行调控。2.根据权利要求1所述的方法,其特征在于,所述根据所述每一工作节点的负载权重值和所述集群的负载权重均值,确定所述集群中需要进行资源调控的至少一个目标工作节点,包括:确定所述每一工作节点的负载权重值与所述集群的负载权重均值之间的负载权重差值;基于每一工作节点的负载权重差值和对应的设定阈值,确定所述集群中需要进行资源调控的至少一个目标工作节点。3.根据权利要求2所述的方法,其特征在于,所述对所述至少一个目标工作节点中每个目标工作节点的可用资源进行调控,包括:根据每个目标工作节点的负载权重差值,确定对应目标工作节点的当前所处状态;所述当前所处状态为过载状态和空闲状态的其中一项;根据所述每个目标工作节点的当前所处状态,对所述每个目标工作节点的可用资源进行调控。4.根据权利要求3所述的方法,其特征在于,在所述每个目标工作节点的可用资源为cpu资源的情况下,所述根据所述每个目标工作节点的当前所处状态,对所述每个目标工作节点的可用资源进行调控,包括:在确定所述每个目标工作节点的当前所处状态为所述过载状态的情况下,增加所述每个目标工作节点的cpu数量;在确定所述每个目标工作节点的当前所处状态为所述空闲状态的情况下,减少所述每个目标工作节点的cpu数量。5.根据权利要求1所述的方法,其特征在于,所述根据所述每一工作节点的负载权重值和所述集群的负载权重均值,确定所述集群中需要进行资源调控的至少一个目标工作节点,包括:根据所述集群的负载权重均值,确定所述每一工作节点的负载权重值的设定范围;根据所述每一工作节点的负载权重值和对应的设定范围,确定所述集群中需要进行资源调控的至少一个目标工作节点。6.根据权利要求1至5任一项所述的方法,其特征在于,所述对所述至少一个目标工作节点中每个目标工作节点的可用资源进行调控,包括:判断所述目标工作节点的数量是否大于或等于设定值;在所述目标工作节点的数量大于或等于所述设定值的情况下,对所述至少一个目标工作节点中每个目标工作节点的可用资源进行调控。
7.根据权利要求1至5任一项所述的方法,其特征在于,所述获取集群的监控数据以及所述集群中每一工作节点的节点监控数据,包括:确定当前时间距离上次进行资源调控的时间间隔;判断所述时间间隔是否达到预设时间间隔;在所述时间间隔达到所述预设时间间隔的情况下,获取所述集群的监控数据以及所述集群中每一工作节点的节点监控数据。8.根据权利要求1至5任一项所述的方法,其特征在于,所述获取所述集群的监控数据以及所述集群中每一工作节点的节点监控数,包括:每隔设定时间获取所述集群的监控数据以及所述集群中每一工作节点的节点监控数据。9.一种集群资源调控装置,其特征在于,所述装置包括:获取模块,用于获取集群的监控数据以及所述集群中每一工作节点的节点监控数据;所述集群包括至少两个工作节点;确定模块,用于根据所述集群的监控数据,确定所述集群的负载权重均值;根据所述节点监控数据,确定所述每一工作节点的负载权重值;根据所述每一工作节点的负载权重值和所述集群的负载权重均值,确定所述集群中需要进行资源调控的至少一个目标工作节点;调控模块,用于对所述至少一个目标工作节点中每个目标工作节点的可用资源进行调控。10.一种电子设备,其特征在于,所述设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1至8任一项所述的方法。11.一种计算机存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至8任一项所述的方法。

技术总结
本申请提供一种集群资源调控方法、装置、电子设备和计算机存储介质,该方法包括:获取集群的监控数据以及所述集群中每一工作节点的节点监控数据;所述集群包括至少两个工作节点;根据所述集群的监控数据,确定所述集群的负载权重均值;根据所述节点监控数据,确定所述每一工作节点的负载权重值;根据所述每一工作节点的负载权重值和所述集群的负载权重均值,确定所述集群中需要进行资源调控的至少一个目标工作节点;对所述至少一个目标工作节点中每个目标工作节点的可用资源进行调控。中每个目标工作节点的可用资源进行调控。中每个目标工作节点的可用资源进行调控。


技术研发人员:常文昭 尹健全
受保护的技术使用者:京东科技信息技术有限公司
技术研发日:2023.03.16
技术公布日:2023/8/9
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐