资源调度方法、装置、电子设备及存储介质与流程

未命名 10-19 阅读:105 评论:0


1.本发明涉及云计算技术领域,尤其涉及一种资源调度方法、装置、电子设备及存储介质。


背景技术:

2.随着云计算的快速发展,各种虚拟化技术,如虚拟机、容器等应用快速增多。其中,容器技术凭借其部署简单快速、开销较小、计算资源利用率更高等特点成为云原生应用中炙手可热的技术,并被越来越多的公司采用。
3.目前,为了自动管理应用程序以及使用容器进行扩展,出现了许多容器集群管理系统。在资源调度过程中,通常是将集群节点的中央处理器(central processing unit,cpu)和内存作为基本指标,并基于单节点上各个指标的均衡度判定该节点是否适合调度任务,实现资源的调度管理。然而,仅基于单节点上各个指标的均衡度调度任务,容易导致节点之间的资源利用率不均衡,进而影响整个集群的资源利用率。
4.可见,相关技术中的资源调度系统存在资源利用率较低的问题。


技术实现要素:

5.本发明实施例提供一种资源调度方法、装置、电子设备及存储介质,以解决相关技术中的资源调度系统存在的资源利用率较低的问题。
6.为解决上述技术问题,本发明是这样实现的:
7.第一方面,本发明实施例提供了一种资源调度方法,所述方法包括:
8.在接收到目标资源的调度任务后,获取集群中的n个节点的指标信息,所述指标信息用于表征每个节点的资源使用率,n为大于1的整数;
9.基于所述n个节点的指标信息,确定所述n个节点的优先级列表;
10.基于所述优先级列表对所述目标资源进行调度。
11.第二方面,本发明实施例提供了一种资源调度装置,所述装置包括:
12.获取模块,用于在接收到目标资源的调度任务后,获取集群中的n个节点的指标信息,所述指标信息用于表征每个节点的资源使用率,n为大于1的整数;
13.确定模块,用于基于所述n个节点的指标信息,确定所述n个节点的优先级列表;
14.调度模块,用于基于所述优先级列表对所述目标资源进行调度。
15.第三方面,本发明实施例提供一种电子设备,包括收发机和处理器,
16.所述处理器,用于:
17.在接收到目标资源的调度任务后,获取集群中的n个节点的指标信息,所述指标信息用于表征每个节点的资源使用率,n为大于1的整数;
18.基于所述n个节点的指标信息,确定所述n个节点的优先级列表;
19.基于所述优先级列表对所述目标资源进行调度。
20.第四方面,本发明实施例提供一种电子设备,包括:处理器、存储器及存储在所述
存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现上述第一方面所述的资源调度方法的步骤。
21.第五方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的资源调度方法的步骤。
22.本发明实施例中,通过在接收到目标资源的调度任务后,获取集群中的n个节点的指标信息,所述指标信息用于表征每个节点的资源使用率,n为大于1的整数;基于所述n个节点的指标信息,确定所述n个节点的优先级列表;基于所述优先级列表对所述目标资源进行调度。这样通过基于各节点的指标信息,即各节点的指标使用情况确定各节点的调度优先级,从而确定集群中所有节点的优先级列表,以便基于优先级列表对目标资源进行调度,可以有效提升单节点的指标利用率。
附图说明
23.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
24.图1是本发明实施例提供的一种资源调度方法的流程图;
25.图2是本发明实施例提供的一种资源调度装置的结构示意图;
26.图3是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
27.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
28.本发明实施例提供了一种资源调度方法、装置及相关设备,以解决相关技术中的资源调度系统存在的资源利用率较低的问题。
29.参见图1,图1是本发明实施例提供的一种资源调度方法的流程图。如图1所示,该资源调度方法包括以下步骤:
30.步骤101、在接收到目标资源的调度任务后,获取集群中的n个节点的指标信息。
31.上述集群可以理解为计算机集群,其可以通过一组松散集成的计算机软件或硬件连接起来高度紧密地协作完成计算工作。在某种意义上来说,该集群也可以被看作是一台计算机。
32.上述节点可以理解为上述集群中的单个计算机。比如,若集群包括5个计算机,则可以确定该集群包括5个节点。
33.上述指标信息用于表征每个节点的资源使用率。其中,指标信息可以包括以下至少一项:cpu利用率、内存利用率、磁盘利用率、磁盘输入输出负载、运行的容器数量。即可以通过cpu利用率、内存利用率、磁盘利用率、磁盘输入输出负载、运行的容器数量等指标来衡
量节点的资源使用率,进而基于每个节点的资源使用率来判断该节点是否具备部署新的目标资源的能力。
34.其中,上述指标信息可以理解为每个节点的指标信息。
35.上述接收到目标资源的调度任务可以理解为需要将接收到的目标资源部署在上述集群中。
36.上述目标资源可以理解为待调度的容器。
37.其中,n为大于1的整数。
38.步骤102、基于所述n个节点的指标信息,确定所述n个节点的优先级列表。
39.上述优先级列表用于表征上述目标资源部署到n个节点的先后顺序。比如,在n个节点中优先级最高的节点为第一节点的情况下,则可以将上述目标资源部署在第一节点。
40.在确定n个节点的优先级列表的过程中,可以基于n个节点的指标信息,计算每个节点的优先级评分,再基于每个节点的优先级评分,确定n个节点的优先级列表。
41.在计算每个节点的优先级评分的过程中,可以基于每个节点的每项指标的剩余量确定每个节点的评分;而且,可以设定剩余量越小则评分越高,以便最大程度的用量每个节点的资源,提升节点的资源利用率。
42.步骤103、基于所述优先级列表对所述目标资源进行调度。
43.比如,可以将目标资源部署在优先级高的节点上,以便提高节点的资源利用率。
44.这样通过基于各节点的指标信息,即各节点的指标使用情况确定各节点的调度优先级,从而确定集群中所有节点的优先级列表,以便基于优先级列表对目标资源进行调度,可以有效提升单节点的指标利用率。
45.可以理解的是,本发明实施例提供的资源调度方法可以用于包括容器集群管理系统的电子设备,该容器集群管理系统可以是kubernetes,且本发明实施例提供的资源调度方法均可以基于kubernetes实现。
46.示例性地,目标资源包括4个容器,4个容器及对应的资源需求量分别为第一容器-8cpus/10gb内存(memory)、第二容器-8cpus/20gb memory、第三容器-16cpus/20gb memory和第四容器-16cpus/50gb memory;集群包括2个节点,2个节点的总容量分别为:第一节点-32cpus/80gb memory和第二节点-32cpus/40gb memory。在需要将目标资源包括的四个容器依次调度到集群所包括的2个节点中时,若依据kubernetes的标准调度算法,会优先选择指标剩余量较大的节点,且调度过程中4个容器会分散调度到各个节点上。且最终的调度结果为:第一容器首先会调度到指标剩余量最多的第一节点上,第二容器会调度到指标剩余量更均衡的第二节点上,第三容器会调度到第一节点上,这样调度后每个节点的指标剩余量更均衡,但是第四容器此时已经没有可调度的节点,从而导致第四容器调度失败。
47.若基于本发明实施例提供的资源调度方法,每个容器调度都会优先选择指标剩余量最小的节点,且最终的调度结果为:第一容器会调度到剩余量最小的第二节点上,第二容器会继续调度到第二节点上,第三容器调度时由于第二节点资源不够,会调度到第一节点上,第四容器也会调度到第一节点上,从而使4个容器就能调度成功。而且,相对于kubernetes的标准调度算法,本发明实施例提供的资源调度方法,可以有效提升单节点的指标利用率,且目标资源所包括的容器均能被调度。
48.可选地,所述基于所述n个节点的指标信息,确定所述n个节点的优先级列表,包
括:
49.在所述目标资源中未携带有指标资源需求限制信息的情况下,基于所述n个节点的指标信息,确定每个节点上的每项指标的剩余量,并生成对应的第一矩阵信息;
50.对所述第一矩阵信息进行预处理,并得到第二矩阵信息;
51.基于所述第二矩阵信息,确定第一集合和第二集合,所述第一集合包括所述n个节点中每项指标剩余量的最小值,所述第二集合包括所述n个节点中每项指标剩余量的最大值;
52.基于所述第一集合和所述第二集合,分别计算每个节点的第一欧式距离和第二欧式距离;
53.基于每个节点的所述第一欧式距离和所述第二欧式距离,确定所述n个节点的优先级列表。
54.本实施例中,在目标资源中未携带有指标资源需求限制信息的情况下,可以基于每次调度均选择指标剩余量最小的节点的调度原则,确定n个节点的优先级列表,以使每个节点的利用率均达到较高的状态,并达到提升节点的资源利用率的目的。
55.进一步可选地,所述对所述第一矩阵信息进行预处理,并得到第二矩阵信息,包括:
56.对所述第一矩阵信息进行归一化处理,得到第三矩阵信息;
57.基于每项指标的权重系数,对所述第三矩阵信息中的指标值进行更新,并得到第二矩阵信息。
58.本实施例中,在对第一矩形信息进行预处理的过程中,可以先对第一矩阵信息进行归一化处理,然后基于每项指标的权重系数,对归一化处理后的指标值进行更新,以得到更能准确表达每个节点的指标剩余量的指标参数,提升了优先级列表的准确度。
59.其中,上述指标信息不仅包括了cpu利用率、内存利用率,还包括磁盘输入输出负载、磁盘利用率、容器数量等指标,以便可以在相同节点上能够调度更多的容器,并解决了调度系统考虑指标太少带来的指标瓶颈和资源浪费问题,提高了节点利用率和集群平均利用率。另外,由于该调度过程不需要在目标资源中携带有指标资源需求限制信息,因此还可以提升该调度方法的可行性。
60.而且,相对于kubernetes的标准调度算法,本实施例可以在相同节点上能够调度更多的容器,提高了集群资源利用率,且不需要目标资源的指标资源需求限制信息作为依赖,提高了调度过程的实际可用性,同时通过增加指标在很大程度上避免了指标瓶颈问题。
61.可以理解的是,上述n个节点的优先级列表的确认方式可以基于指标剩余最小化(irm)调度算法计算得到,下面对irm调度算法的实现过程进行说明。
62.假设集群包括n个节点,每个节点均包括cpu利用率、内存利用率、磁盘利用率、磁盘输入/输出(i/o)负载、运行的容器数量五个指标,且获取到的n个节点的指标信息可以如表1所示。
[0063][0064][0065]
表1
[0066]
基于表1的内容,可以得到一个决策矩阵dm,dm中每个值d
ij
表示节点i上第j个指标的剩余量。
[0067][0068]
计算归一化决策矩阵ndm,ndm中n
ij
表示每个指标归一化后的值,由公式(1)计算得到。
[0069][0070][0071]
计算基于权重的归一化决策矩阵wndm,wndm中v
ij
由公式(2)计算得到。
[0072][0073]vij
=wj×nij
,i=1,

,n && j=1,

,5
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0074]
其中,wj为第j列指标的权重,且
[0075]
确定最优解a
+
与最差解a-。在本发明中,目标是最小化这些指标剩余量,因此a
+
代表所有节点中每个指标的最小值组成的集合;a-代表所有节点中每个指标的最大值组成的集合。
[0076][0077][0078]
分别计算每个节点到最优解与最差解的欧氏距离ed,如公式(3)和(4)所示。
[0079][0079][0080]
计算每个节点的优先级pi,计算公式如下所示,最终可以得到各个节点的优先级列表p。
[0081][0082]
p={p1,p2,

,pn}
[0083]
这样便可以得到n个节点的优先级列表,以便基于优先级列表对目标资源件调度,从而达到提升节点利用率和集群平均利用率的目的。
[0084]
可选地,所述基于所述n个节点的指标信息,确定所述n个节点的优先级列表,包括:
[0085]
在所述目标资源中携带有指标资源需求限制信息的情况下,基于所述n个节点的指标信息,确定每个节点上的每项指标的利用率,并生成对应的第四矩阵信息;
[0086]
基于所述第四矩阵信息,计算每项指标在所述n个节点上的第一平均利用率;
[0087]
在所述目标资源调度至所述n个节点中的目标节点的情况下,基于所述第四矩阵信息和所述指标资源需求限制信息,计算所述目标节点的各项指标的利用率;
[0088]
基于所述第四矩阵信息和所述目标节点的各项指标的利用率,计算各项指标在所述n个节点上的第二平均利用率;
[0089]
基于所述第四矩阵信息、所述目标节点的各项指标的利用率、所述第一平均利用率和所述第二平均利用率,确定所述n个节点的平衡指标列表;
[0090]
基于所述第二平均利用率,确定所述n个节点的平均利用率列表;
[0091]
根据所述平衡指标列表和所述平均利用率列表,确定所述n个节点的优先级列表。
[0092]
本实施例中,在目标资源中携带有指标资源需求限制信息的情况下,通过基于n个节点的指标信息和指标资源需求限制信息计算各个节点的优先级顺序,可以在保持集群整体利用率较高的情况下尽可能的平衡各节点的资源利用率,解决了常规的调度算法中节点资源利用率不均衡的问题,提升了节点资源利用率的均衡性。
[0093]
而且,相对于kubernetes的标准调度算法,本实施例综合考虑了节点平衡度和集群平均利用率,可以使调度后的集群各节点资源利用率更均衡,且在平衡的同时可以使集群平均利用率保持较高状态。
[0094]
进一步可选地,所述基于所述第四矩阵信息、所述目标节点的各项指标的利用率、所述第一平均利用率和所述第二平均利用率,确定所述n个节点的平衡指标列表,包括:
[0095]
基于所述第四矩阵信息、所述目标节点的各项指标的利用率、所述第一平均利用率和所述第二平均利用率,计算每项指标在所述n个节点上的均方差;
[0096]
基于所述每项指标在所述n个节点上的均方差,确定所述n个节点的平衡指标列表。
[0097]
本实施例中,通过计算每项指标在n个节点上的均方差,可以进一步提升节点资源利用率的均衡性。
[0098]
其中,上述目标资源可以理解为任务pod,且上述指标资源需求限制信息可以存储在pod的yaml文件中。
[0099]
在kubernetes中,最小的可部署单元是pod,其可以是一个或者多个容器的集合。yaml可以理解为一种可读性高的文件,可以用来表达数据序列化的格式。
[0100]
可以理解的是,上述n个节点的优先级列表的确认方式可以基于节点指标平衡(nib)调度算法计算得到,下面对nib调度算法的实现过程进行说明。
[0101]
可以基于上述表1的内容,可以得到一个决策矩阵dm,dm中每个值d
ij
表示节点i上第j个指标的剩余量。
[0102][0103]
然后基于决策矩阵dm计算利用率决策矩阵udm,udm中u
ij
由公式(6)计算得到。由于最后一个指标容器数量无法计算利用率,所以在udm中只有4个指标。
[0104][0105]uij
=(m
ij-d
ij
)/m
ij
,i=1,2,

,n && j=1,

,4
ꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
[0106]
其中,m
ij
表示节点i上第j列指标的最大可是用量。然后由公式(7)计算每个指标在所有节点上的平均利用率
[0107][0108]
假设当前有一个需要调度的任务pod被调度到第h(h∈{1,2,

,n})个节点上,那么调度后,h节点所有指标的利用率将发生改变,此时h节点各指标利用率f
hj
计算如公式(8)所示。
[0109]fhj
=d
hj
+rj/m
hj
,j=1,

,4
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
[0110]
其中,rj为任务pod对第j列指标的需求。然后由公式(9)计算调度pod后各指标在所有节点上的平均利用率。
[0111][0112]
基于公式(10)计算每个指标在所有节点上的均方差mse
hj
来评价指标利用率在所有节点上的平衡度,mse
hj
越小,表明pod调度到h节点后各节点指标利用率越均衡。
[0113][0114]
然后基于公式(11)计算4个指标均方差的平均值该值表示当任务pod调度到h节点后,所有指标的利用率在所有节点上的平衡度。
[0115]
[0116]
根据上述计算过程同理可计算出当pod调度到其他节点时指标均方差的平均值,得到一个均方差平均值列表
[0117][0118]
然后基于公式(12)进行归一化,得到平衡指数列表b。
[0119][0120]
b={b1,b2,

,bn}
[0121]
为了在平衡节点资源利用的同时保持较高的集群资源平均利用率,在该算法中加入了集群资源平均利用率大小,计算方式如下:根据上述公式(9)可以得到pod调度到h节点后各指标在所有节点上的平均利用率在此处用代替则集群所有指标平均利用率通过下面公式(13)计算,最终可以得到平均利用率列表
[0122][0123][0124]
其中,表示调度到h节点后第j列指标的平均利用率,表示调度到h节点后集群所有指标的平均利用率。
[0125]
根据上述计算出的平衡指数列表b和平均利用率列表通过公式(14)所示点乘方式得到最终的优先级列表p。
[0126][0127]
p={p1,p2,

,pn}
[0128]
这样便可以得到n个节点的优先级列表,以便基于优先级列表对目标资源件调度,以便可以在保持集群整体利用率较高的情况下尽可能的平衡各节点的资源利用率,并提升了节点资源利用率的均衡性。
[0129]
在本发明实施例中,可以根据目标资源中是否携带有指标资源需求限制信息,即可以根据pod是否设置指标资源需求限制信息,以将其分流到两个方向并实现不同的调度算法进行调度,且不论pod是否提供上述指标资源需求限制信息,都可以以最优方式调度该pod。
[0130]
如果pod没有设置指标资源需求限制信息,根据上述irm调度算法,利用各节点当前所有指标的使用情况利计算各节点的调度优先级,最后根据优先级调度该pod。
[0131]
其中,相对于kubernetes的标准调度算法,本发明实施例提出的irm调度算法可以在相同节点上调度更多pod,提高了集群资源利用率,且不需要pod资源需求信息作为依赖,提高了算法的实际可用性,同时通过增加指标在很大程度上避免了指标瓶颈问题。
[0132]
如果pod设置有指标资源需求限制信息,根据上述nib调度算法,利用节点当前所有指标的使用情况及任务pod的各指标资源需求限制信息计算各节点的调度优先级,根据优先级调度该pod。
[0133]
其中,相对于kubernetes的标准调度算法,本发明实施例提出的nib调度算法综合考虑了节点平衡度和集群平均利用率,可以使调度后的集群各节点资源利用率更均衡,且在平衡的同时可以使集群平均利用率保持较高状态。
[0134]
本发明实施例中,通过在接收到目标资源的调度任务后,获取集群中的n个节点的指标信息,所述指标信息用于表征每个节点的资源使用率,n为大于1的整数;基于所述n个节点的指标信息,确定所述n个节点的优先级列表;基于所述优先级列表对所述目标资源进行调度。这样可以有效提升节点的资源利用率。
[0135]
参见图2,图2是本发明实施例提供的一种资源调度装置的结构示意图。如图2所示,资源调度装置200包括:
[0136]
获取模块201,用于在接收到目标资源的调度任务后,获取集群中的n个节点的指标信息,所述指标信息用于表征每个节点的资源使用率,n为大于1的整数;
[0137]
确定模块202,用于基于所述n个节点的指标信息,确定所述n个节点的优先级列表;
[0138]
调度模块203,用于基于所述优先级列表对所述目标资源进行调度。
[0139]
可选地,所述确定模块202包括:
[0140]
第一生成单元,用于在所述目标资源中未携带有指标资源需求限制信息的情况下,基于所述n个节点的指标信息,确定每个节点上的每项指标的剩余量,并生成对应的第一矩阵信息;
[0141]
预处理单元,用于对所述第一矩阵信息进行预处理,并得到第二矩阵信息;
[0142]
第一确定单元,用于基于所述第二矩阵信息,确定第一集合和第二集合,所述第一集合包括所述n个节点中每项指标剩余量的最小值,所述第二集合包括所述n个节点中每项指标剩余量的最大值;
[0143]
第一计算单元,用于基于所述第一集合和所述第二集合,分别计算每个节点的第一欧式距离和第二欧式距离;
[0144]
第二确定单元,用于基于每个节点的所述第一欧式距离和所述第二欧式距离,确定所述n个节点的优先级列表。
[0145]
可选地,所述预处理单元,具体用于对所述第一矩阵信息进行归一化处理,得到第三矩阵信息;以及用于基于每项指标的权重系数,对所述第三矩阵信息中的指标值进行更新,并得到第二矩阵信息。
[0146]
可选地,所述确定模块202包括:
[0147]
第二生成单元,用于在所述目标资源中携带有指标资源需求限制信息的情况下,基于所述n个节点的指标信息,确定每个节点上的每项指标的利用率,并生成对应的第四矩阵信息;
[0148]
第二计算单元,用于基于所述第四矩阵信息,计算每项指标在所述n个节点上的第一平均利用率;
[0149]
第三计算单元,用于在所述目标资源调度至所述n个节点中的目标节点的情况下,基于所述第四矩阵信息和所述指标资源需求限制信息,计算所述目标节点的各项指标的利用率;
[0150]
第四计算单元,用于基于所述第四矩阵信息和所述目标节点的各项指标的利用
率,计算各项指标在所述n个节点上的第二平均利用率;
[0151]
第三确定单元,用于基于所述第四矩阵信息、所述目标节点的各项指标的利用率、所述第一平均利用率和所述第二平均利用率,确定所述n个节点的平衡指标列表;
[0152]
第四确定单元,用于基于所述第二平均利用率,确定所述n个节点的平均利用率列表;
[0153]
第五确定单元,用于根据所述平衡指标列表和所述平均利用率列表,确定所述n个节点的优先级列表。
[0154]
可选地,所述第三确定单元,具体用于基于所述第四矩阵信息、所述目标节点的各项指标的利用率、所述第一平均利用率和所述第二平均利用率,计算每项指标在所述n个节点上的均方差;以及用于基于所述每项指标在所述n个节点上的均方差,确定所述n个节点的平衡指标列表。
[0155]
可选地,所述指标信息包括以下至少一项:
[0156]
中央处理器cpu利用率;
[0157]
内存利用率;
[0158]
硬盘利用率;
[0159]
磁盘输入输出负载;
[0160]
运行的容器数量。
[0161]
资源调度装置200能够实现本发明实施例中图1方法实施例的各个过程,以及达到相同的有益效果,为避免重复,这里不再赘述。
[0162]
本发明实施例还提供了一种电子设备,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现上述资源调度方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0163]
具体的,参见图3,图3是本发明实施例提供的一种电子设备的结构示意图。如图3所示,电子设备包括总线301、收发机302、天线303、总线接口304、处理器305和存储器306。
[0164]
所述处理器305,用于:
[0165]
在接收到目标资源的调度任务后,获取集群中的n个节点的指标信息,所述指标信息用于表征每个节点的资源使用率,n为大于1的整数;
[0166]
基于所述n个节点的指标信息,确定所述n个节点的优先级列表;
[0167]
基于所述优先级列表对所述目标资源进行调度。
[0168]
可选地,所述处理器305,用于:
[0169]
在所述目标资源中未携带有指标资源需求限制信息的情况下,基于所述n个节点的指标信息,确定每个节点上的每项指标的剩余量,并生成对应的第一矩阵信息;
[0170]
对所述第一矩阵信息进行预处理,并得到第二矩阵信息;
[0171]
基于所述第二矩阵信息,确定第一集合和第二集合,所述第一集合包括所述n个节点中每项指标剩余量的最小值,所述第二集合包括所述n个节点中每项指标剩余量的最大值;
[0172]
基于所述第一集合和所述第二集合,分别计算每个节点的第一欧式距离和第二欧式距离;
[0173]
基于每个节点的所述第一欧式距离和所述第二欧式距离,确定所述n个节点的优
先级列表。
[0174]
可选地,所述处理器305,用于:
[0175]
对所述第一矩阵信息进行归一化处理,得到第三矩阵信息;
[0176]
基于每项指标的权重系数,对所述第三矩阵信息中的指标值进行更新,并得到第二矩阵信息。
[0177]
可选地,所述处理器305,用于:
[0178]
在所述目标资源中携带有指标资源需求限制信息的情况下,基于所述n个节点的指标信息,确定每个节点上的每项指标的利用率,并生成对应的第四矩阵信息;
[0179]
基于所述第四矩阵信息,计算每项指标在所述n个节点上的第一平均利用率;
[0180]
在所述目标资源调度至所述n个节点中的目标节点的情况下,基于所述第四矩阵信息和所述指标资源需求限制信息,计算所述目标节点的各项指标的利用率;
[0181]
基于所述第四矩阵信息和所述目标节点的各项指标的利用率,计算各项指标在所述n个节点上的第二平均利用率;
[0182]
基于所述第四矩阵信息、所述目标节点的各项指标的利用率、所述第一平均利用率和所述第二平均利用率,确定所述n个节点的平衡指标列表;
[0183]
基于所述第二平均利用率,确定所述n个节点的平均利用率列表;
[0184]
根据所述平衡指标列表和所述平均利用率列表,确定所述n个节点的优先级列表。
[0185]
可选地,所述处理器305,用于:
[0186]
基于所述第四矩阵信息、所述目标节点的各项指标的利用率、所述第一平均利用率和所述第二平均利用率,计算每项指标在所述n个节点上的均方差;
[0187]
基于所述每项指标在所述n个节点上的均方差,确定所述n个节点的平衡指标列表。
[0188]
可选地,所述指标信息包括以下至少一项:
[0189]
中央处理器cpu利用率;
[0190]
内存利用率;
[0191]
硬盘利用率;
[0192]
磁盘输入输出负载;
[0193]
运行的容器数量。
[0194]
在图3中,总线架构(用总线301来代表),总线301可以包括任意数量的互联的总线和桥,总线301将包括由处理器305代表的一个或多个处理器和存储器306代表的存储器的各种电路链接在一起。总线301还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口304在总线301和收发机302之间提供接口。收发机302可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器305处理的数据通过天线303在无线介质上进行传输,进一步,天线303还接收数据并将数据传送给处理器305。
[0195]
处理器305负责管理总线301和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器306可以被用于存储处理器305在执行操作时所使用的数据。
[0196]
可选的,处理器305可以是cpu、asic、fpga或cpld。
[0197]
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述资源调度方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等。
[0198]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0199]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
[0200]
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。

技术特征:
1.一种资源调度方法,其特征在于,所述方法包括:在接收到目标资源的调度任务后,获取集群中的n个节点的指标信息,所述指标信息用于表征每个节点的资源使用率,n为大于1的整数;基于所述n个节点的指标信息,确定所述n个节点的优先级列表;基于所述优先级列表对所述目标资源进行调度。2.根据权利要求1所述的方法,其特征在于,所述基于所述n个节点的指标信息,确定所述n个节点的优先级列表,包括:在所述目标资源中未携带有指标资源需求限制信息的情况下,基于所述n个节点的指标信息,确定每个节点上的每项指标的剩余量,并生成对应的第一矩阵信息;对所述第一矩阵信息进行预处理,并得到第二矩阵信息;基于所述第二矩阵信息,确定第一集合和第二集合,所述第一集合包括所述n个节点中每项指标剩余量的最小值,所述第二集合包括所述n个节点中每项指标剩余量的最大值;基于所述第一集合和所述第二集合,分别计算每个节点的第一欧式距离和第二欧式距离;基于每个节点的所述第一欧式距离和所述第二欧式距离,确定所述n个节点的优先级列表。3.根据权利要求2所述的方法,其特征在于,所述对所述第一矩阵信息进行预处理,并得到第二矩阵信息,包括:对所述第一矩阵信息进行归一化处理,得到第三矩阵信息;基于每项指标的权重系数,对所述第三矩阵信息中的指标值进行更新,并得到第二矩阵信息。4.根据权利要求1所述的方法,其特征在于,所述基于所述n个节点的指标信息,确定所述n个节点的优先级列表,包括:在所述目标资源中携带有指标资源需求限制信息的情况下,基于所述n个节点的指标信息,确定每个节点上的每项指标的利用率,并生成对应的第四矩阵信息;基于所述第四矩阵信息,计算每项指标在所述n个节点上的第一平均利用率;在所述目标资源调度至所述n个节点中的目标节点的情况下,基于所述第四矩阵信息和所述指标资源需求限制信息,计算所述目标节点的各项指标的利用率;基于所述第四矩阵信息和所述目标节点的各项指标的利用率,计算各项指标在所述n个节点上的第二平均利用率;基于所述第四矩阵信息、所述目标节点的各项指标的利用率、所述第一平均利用率和所述第二平均利用率,确定所述n个节点的平衡指标列表;基于所述第二平均利用率,确定所述n个节点的平均利用率列表;根据所述平衡指标列表和所述平均利用率列表,确定所述n个节点的优先级列表。5.根据权利要求4所述的方法,其特征在于,所述基于所述第四矩阵信息、所述目标节点的各项指标的利用率、所述第一平均利用率和所述第二平均利用率,确定所述n个节点的平衡指标列表,包括:基于所述第四矩阵信息、所述目标节点的各项指标的利用率、所述第一平均利用率和所述第二平均利用率,计算每项指标在所述n个节点上的均方差;
基于所述每项指标在所述n个节点上的均方差,确定所述n个节点的平衡指标列表。6.根据权利要求1至5中任一项所述的方法,其特征在于,所述指标信息包括以下至少一项:中央处理器cpu利用率;内存利用率;硬盘利用率;磁盘输入输出负载;运行的容器数量。7.一种资源调度装置,其特征在于,所述装置包括:获取模块,用于在接收到目标资源的调度任务后,获取集群中的n个节点的指标信息,所述指标信息用于表征每个节点的资源使用率,n为大于1的整数;确定模块,用于基于所述n个节点的指标信息,确定所述n个节点的优先级列表;调度模块,用于基于所述优先级列表对所述目标资源进行调度。8.根据权利要求7所述的装置,其特征在于,所述确定模块包括:第一生成单元,用于在所述目标资源中未携带有指标资源需求限制信息的情况下,基于所述n个节点的指标信息,确定每个节点上的每项指标的剩余量,并生成对应的第一矩阵信息;预处理单元,用于对所述第一矩阵信息进行预处理,并得到第二矩阵信息;第一确定单元,用于基于所述第二矩阵信息,确定第一集合和第二集合,所述第一集合包括所述n个节点中每项指标剩余量的最小值,所述第二集合包括所述n个节点中每项指标剩余量的最大值;第一计算单元,用于基于所述第一集合和所述第二集合,分别计算每个节点的第一欧式距离和第二欧式距离;第二确定单元,用于基于每个节点的所述第一欧式距离和所述第二欧式距离,确定所述n个节点的优先级列表。9.根据权利要求8所述的装置,其特征在于,所述预处理单元,具体用于对所述第一矩阵信息进行归一化处理,得到第三矩阵信息;以及用于基于每项指标的权重系数,对所述第三矩阵信息中的指标值进行更新,并得到第二矩阵信息。10.根据权利要求7所述的装置,其特征在于,所述确定模块包括:第二生成单元,用于在所述目标资源中携带有指标资源需求限制信息的情况下,基于所述n个节点的指标信息,确定每个节点上的每项指标的利用率,并生成对应的第四矩阵信息;第二计算单元,用于基于所述第四矩阵信息,计算每项指标在所述n个节点上的第一平均利用率;第三计算单元,用于在所述目标资源调度至所述n个节点中的目标节点的情况下,基于所述第四矩阵信息和所述指标资源需求限制信息,计算所述目标节点的各项指标的利用率;第四计算单元,用于基于所述第四矩阵信息和所述目标节点的各项指标的利用率,计算各项指标在所述n个节点上的第二平均利用率;
第三确定单元,用于基于所述第四矩阵信息、所述目标节点的各项指标的利用率、所述第一平均利用率和所述第二平均利用率,确定所述n个节点的平衡指标列表;第四确定单元,用于基于所述第二平均利用率,确定所述n个节点的平均利用率列表;第五确定单元,用于根据所述平衡指标列表和所述平均利用率列表,确定所述n个节点的优先级列表。11.根据权利要求10所述的装置,其特征在于,所述第三确定单元,具体用于基于所述第四矩阵信息、所述目标节点的各项指标的利用率、所述第一平均利用率和所述第二平均利用率,计算每项指标在所述n个节点上的均方差;以及用于基于所述每项指标在所述n个节点上的均方差,确定所述n个节点的平衡指标列表。12.根据权利要求7至11中任一项所述的装置,其特征在于,所述指标信息包括以下至少一项:中央处理器cpu利用率;内存利用率;硬盘利用率;磁盘输入输出负载;运行的容器数量。13.一种电子设备,其特征在于,包括收发机和处理器,所述处理器,用于:在接收到目标资源的调度任务后,获取集群中的n个节点的指标信息,所述指标信息用于表征每个节点的资源使用率,n为大于1的整数;基于所述n个节点的指标信息,确定所述n个节点的优先级列表;基于所述优先级列表对所述目标资源进行调度。14.一种电子设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如权利要求1至6中任一项所述的资源调度方法的步骤。15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的资源调度方法的步骤。

技术总结
本发明提供一种资源调度方法、装置、电子设备及存储介质,涉及云计算技术领域。该资源调度方法包括:在接收到目标资源的调度任务后,获取集群中的N个节点的指标信息,所述指标信息用于表征每个节点的资源使用率,N为大于1的整数;基于所述N个节点的指标信息,确定所述N个节点的优先级列表;基于所述优先级列表对所述目标资源进行调度。这样可以有效提升节点的资源利用率。的资源利用率。的资源利用率。


技术研发人员:马豪杰
受保护的技术使用者:中国移动通信集团有限公司
技术研发日:2023.07.18
技术公布日:2023/10/15
版权声明

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

飞行汽车 https://www.autovtol.com/

分享:

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

相关推荐