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

文档序号:30070605发布日期:2022-05-18 01:59阅读:108来源:国知局
资源调度方法、装置、设备及存储介质与流程

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


背景技术:

2.计算资源分配的可扩展性和公平性是多租户分布式应用的持续技术挑战,多租户分布式应用通常被部署到服务器场,用于多租户在处理工作项的过程中降低管理的复杂度和提高资源扩缩容的灵活性。其中,服务器场为计算、存储、网络带宽等资源的集合。为了高效地利用计算节点的资源,多租户分布式应用可将工作项以任务队列的形式供计算节点处理。当计算节点完成工作项时,计算节点向任务队列请求另一工作项。
3.由于计算资源的总体数量是有限的,多租户分布式应用容易将资源过度分配给一个租户并使其余租户缺乏资源。目前,多租户分布式应用的资源分配过程中,通常通过为不同租户分配对应的资源池,并通过集中式的中央调度方式对资源进行调度,导致资源分配不合理,无法满足复杂场景的业务需求,影响租户的使用体验。


技术实现要素:

4.本公开提供一种资源调度方法、装置、设备及存储介质,可以合理分配资源,提高租户的使用体验。
5.本公开实施例的技术方案如下:
6.根据本公开实施例的第一方面,提供一种资源调度方法。该方法可以包括:当接收到计算节点对应的任务执行请求时,获取每个任务队列对应的配置信息,所述配置信息包括最大资源数量和最小资源数量;根据各任务队列对应的最小资源数量确定各任务队列对应的第一分配概率,以及,根据各任务队列对应的最大资源数量确定各任务队列对应的第二分配概率,第一分配概率是指将预留资源分配给任务队列的概率,预留资源是指根据每个任务队列对应的最小资源数量确定的计算节点空闲资源,预留资源用于使每个任务队列的资源占用数量满足最小资源数量,第二分配概率是指将非预留资源分配给任务队列的概率,非预留资源是指除预留资源以外的计算节点空闲资源;根据每个任务队列对应的第一分配概率和第二分配概率确定目标任务队列,以将目标任务队列的堆积任务分配给计算节点执行。
7.可选地,根据各任务队列对应的最小资源数量确定各任务队列对应的第一分配概率,以及,根据各任务队列对应的最大资源数量确定各任务队列对应的第二分配概率之前,还包括:
8.确定各任务队列对应的第一待分配资源数量和第二待分配资源数量,第一待分配资源数量根据任务队列对应的最小资源数量确定,第二待分配资源数量根据任务队列对应的最大资源数量确定;根据每个任务队列对应的第一待分配资源数量和第二待分配资源数量,将计算节点空闲资源划分为预留资源和非预留资源。
9.可选地,确定各任务队列对应的第一待分配资源数量和第二待分配资源数量,包括:获取每个任务队列对应的资源占用数量;确定最大资源数量与资源占用数量的差值;如果最大资源数量与资源占用数量的差值大于或者等于阈值,则将任务队列作为有效队列,阈值随机生成,阈值的数值小于或者等于计算节点空闲资源的数量,且为正数;确定每个有效队列对应的第一待分配资源数量和第二待分配资源数量。
10.可选地,确定每个有效队列对应的第一待分配资源数量和第二待分配资源数量,包括:
11.根据有效队列对应的最小资源数量与资源占用数量的数值关系,确定有效队列对应的第一待分配资源数量;根据有效队列对应的最大资源数量与资源占用数量的数值关系,确定有效队列对应的第二待分配资源数量。
12.可选地,根据有效队列对应的最小资源数量与资源占用数量的数值关系,确定有效队列对应的第一待分配资源数量,包括:
13.获取有效队列对应的堆积任务数量;如果有效队列对应的最小资源数量与资源占用数量的差值大于零,则将有效队列对应的最小资源数量与资源占用数量的差值,与,有效队列对应的堆积任务数量中的最小值,作为第一待分配资源数量;如果有效队列对应的最小资源数量与资源占用数量的差值小于或者等于零,则确定第一待分配资源数量的值为零。
14.可选地,根据有效队列对应的最大资源数量与资源占用数量的数值关系,确定有效队列对应的第二待分配资源数量,包括:
15.如果有效队列对应的最大资源数量与资源占用数量的差值大于零,则根据有效队列对应的最大资源数量与资源占用数量的差值,确定第二待分配资源数量;如果有效队列对应的最大资源数量与资源占用数量的差值小于或者等于零,则确定第二待分配资源数量的值为零。
16.可选地,根据每个任务队列对应的第一待分配资源数量和第二待分配资源数量,将计算节点的空闲资源划分为预留资源和非预留资源,包括:
17.根据所有有效队列对应的第一待分配资源数量,得到第一待分配资源总数,根据第一待分配资源总数确定预留资源的数量;根据预留资源的数量确定非预留资源的数量。
18.可选地,根据各任务队列对应的最小资源数量确定各任务队列对应的第一分配概率,以及,根据各任务队列对应的最大资源数量确定各任务队列对应的第二分配概率,包括:
19.根据预留资源的数量和非预留资源的数量,确定第一比率和第二比率,第一比率为预留资源在空闲资源中的比率,第二比率为非预留资源在空闲资源中的比率;根据有效队列对应的第一待分配资源数量和第一比率,确定有效队列对应的第一分配概率;根据有效队列对应的第二待分配资源数量和第二比率,确定有效队列对应的第二分配概率。
20.可选地,根据有效队列对应的第一待分配资源数量和第一比率,确定有效队列对应的第一分配概率,包括:
21.确定每个有效队列对应的第一待分配资源数量在第一待分配资源总数中的比率;根据第一比率,和,每个有效队列对应的第一待分配资源数量在第一待分配资源总数中的比率,得到每个有效队列对应的第一分配概率。
22.可选地,根据有效队列对应的第二待分配资源数量和第二比率,确定有效队列对应的第二分配概率,包括:
23.根据所有有效队列对应的第二待分配资源数量,得到第二待分配资源总数,以及每个有效队列对应的第二待分配资源数量在第二待分配资源总数中的比率;获取每个有效队列对应的非预留资源分配权重;根据第二比率、每个有效队列对应的第二待分配资源数量在第二待分配资源总数中的比率,和,非预留资源分配权重,确定每个有效队列对应的第二分配概率。
24.可选地,根据每个任务队列对应的第一分配概率和第二分配概率确定目标任务队列,包括:
25.对第一分配概率和第二分配概率进行加和,得到每个任务队列对应的调度概率;在保证每个任务队列被确定为目标任务队列的概率,为任务队列对应的调度概率的情况下,在所有任务队列中随机确定出目标任务队列。
26.根据本公开实施例的第二方面,提供一种资源调度方法。该装置可以包括:接收单元、第一确定单元和第二确定单元;接收单元,用于当接收到计算节点对应的任务执行请求时,获取每个任务队列对应的配置信息,配置信息包括最大资源数量和最小资源数量;确定单元,用于根据各任务队列对应的最小资源数量确定各任务队列对应的第一分配概率,以及,根据各任务队列对应的最大资源数量确定各任务队列对应的第二分配概率,第一分配概率是指将预留资源分配给任务队列的概率,预留资源是指根据每个任务队列对应的最小资源数量确定的计算节点空闲资源,预留资源用于使每个任务队列的资源占用数量满足最小资源数量,第二分配概率是指将非预留资源分配给任务队列的概率,非预留资源是指除预留资源以外的计算节点空闲资源;第二确定单元,用于根据每个任务队列对应的第一分配概率和第二分配概率确定目标任务队列,以将目标任务队列的堆积任务分配给计算节点执行。
27.可选地,第一确定单元,还用于确定各任务队列对应的第一待分配资源数量和第二待分配资源数量,第一待分配资源数量根据任务队列对应的最小资源数量确定,第二待分配资源数量根据任务队列对应的最大资源数量确定;根据每个任务队列对应的第一待分配资源数量和第二待分配资源数量,将计算节点空闲资源划分为预留资源和非预留资源。
28.可选地,第一确定单元,还用于获取每个任务队列对应的资源占用数量;确定最大资源数量与资源占用数量的差值;如果最大资源数量与资源占用数量的差值大于或者等于阈值,则将任务队列作为有效队列,阈值随机生成,阈值的数值小于或者等于计算节点空闲资源的数量,且为正数;确定每个有效队列对应的第一待分配资源数量和第二待分配资源数量。
29.可选地,第一确定单元,还用于根据有效队列对应的最小资源数量与资源占用数量的数值关系,确定有效队列对应的第一待分配资源数量;根据有效队列对应的最大资源数量与资源占用数量的数值关系,确定有效队列对应的第二待分配资源数量。
30.可选地,第一确定单元,还用于获取有效队列对应的堆积任务数量;如果有效队列对应的最小资源数量与资源占用数量的差值大于零,则将有效队列对应的最小资源数量与资源占用数量的差值,与,有效队列对应的堆积任务数量中的最小值,作为第一待分配资源数量;如果有效队列对应的最小资源数量与资源占用数量的差值小于或者等于零,则确定
第一待分配资源数量的值为零。
31.可选地,第一确定单元,还用于如果有效队列对应的最大资源数量与资源占用数量的差值大于零,则根据有效队列对应的最大资源数量与资源占用数量的差值,确定第二待分配资源数量;如果有效队列对应的最大资源数量与资源占用数量的差值小于或者等于零,则确定第二待分配资源数量的值为零。
32.可选地,第一确定单元,还用于根据所有有效队列对应的第一待分配资源数量,得到第一待分配资源总数,根据第一待分配资源总数确定预留资源的数量;根据预留资源的数量确定非预留资源的数量。
33.可选地,第一确定单元,还用于根据预留资源的数量和非预留资源的数量,确定第一比率和第二比率,第一比率为预留资源在空闲资源中的比率,第二比率为非预留资源在空闲资源中的比率;根据有效队列对应的第一待分配资源数量和第一比率,确定有效队列对应的第一分配概率;根据有效队列对应的第二待分配资源数量和第二比率,确定有效队列对应的第二分配概率。
34.可选地,第一确定单元,还用于确定每个有效队列对应的第一待分配资源数量在第一待分配资源总数中的比率;根据第一比率,和,每个有效队列对应的第一待分配资源数量在第一待分配资源总数中的比率,得到每个有效队列对应的第一分配概率。
35.可选地,第一确定单元,还用于根据所有有效队列对应的第二待分配资源数量,得到第二待分配资源总数,以及每个有效队列对应的第二待分配资源数量在第二待分配资源总数中的比率;获取每个有效队列对应的非预留资源分配权重;根据第二比率、每个有效队列对应的第二待分配资源数量在第二待分配资源总数中的比率,和,非预留资源分配权重,确定每个有效队列对应的第二分配概率。
36.可选地,第二确定单元,还用于对第一分配概率和第二分配概率进行加和,得到每个任务队列对应的调度概率;在保证每个任务队列被确定为目标任务队列的概率,为任务队列对应的调度概率的情况下,在所有任务队列中随机确定出目标任务队列。
37.根据本公开实施例的第三方面,提供一种资源调度系统,包括计算节点、编排节点和代理节点;
38.计算节点,用于向代理节点发送任务执行请求;代理节点,用于当接收到计算节点对应的任务执行请求时,执行上述第一方面的资源调度方法,以确定目标任务队列;以及,向编排节点发送任务获取请求,任务获取请求用于获取目标任务队列中的任务;
39.编排节点,用于根据任务获取请求,将目标任务队列中的任务分配给计算节点;
40.计算节点,还用于执行编排节点分配的任务。
41.根据本公开实施例的第四方面,提供一种电子设备,可以包括:处理器和用于存储处理器可执行指令的存储器;其中,处理器被配置为执行指令,以实现上述第一方面中任一种可选地资源调度方法。
42.根据本公开实施例的第五方面,提供一种计算机可读存储介质,计算机可读存储介质上存储有指令,当计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述第一方面中任一种可选地资源调度方法。
43.根据本公开实施例的第六方面,提供一种计算机程序产品,该计算机程序产品包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行如第一方面中任一
种可选地实现方式的资源调度方法。
44.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
45.本公开的实施例提供的技术方案至少带来以下有益效果:
46.基于上述任一方面,本公开中,当接收到计算节点对应的任务执行请求时,获取每个任务队列对应的配置信息,配置信息包括最大资源数量和最小资源数量,根据每个任务队列对应的配置信息,将计算节点的空闲资源划分为用于使每个任务队列的资源占用数量满足最小资源数量的预留资源和除预留资源以外的非预留资源,再确定每个任务队列的第一分配概率和第二分配概率,第一分配概率是指将预留资源分配给任务队列的概率,第二分配概率是指将非预留资源分配给任务队列的概率;最后根据每个任务队列对应的分配概率确定目标任务队列,将目标任务队列的堆积任务分配给计算节点执行。基于每个任务队列被分配到资源的概率,确定出目标任务队列,可以保证每个任务队列被分配到的资源满足最小资源数量,且不会超出最大资源数量,从而保证针对多任务队列在时序上合理分配的资源,满足复杂场景的业务需求,提升租户的使用体验。
附图说明
47.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
48.图1示出了本公开实施例提供的一种通信系统的结构示意图;
49.图2示出了本公开实施例提供的一种资源调度架构的结构示意图;
50.图3示出了本公开实施例提供的一种资源调度方法的流程示意图;
51.图4示出了本公开实施例提供的又一种资源调度方法的流程示意图;
52.图5示出了本公开实施例提供的又一种资源调度方法的流程示意图;
53.图6示出了本公开实施例提供的又一种资源调度方法的流程示意图;
54.图7示出了本公开实施例提供的又一种资源调度方法的流程示意图;
55.图8示出了本公开实施例提供的又一种资源调度方法的流程示意图;
56.图9示出了本公开实施例提供的又一种资源调度方法的流程示意图;
57.图10示出了本公开实施例提供的又一种资源调度方法的流程示意图;
58.图11示出了本公开实施例提供的一种资源调度装置的结构示意图;
59.图12示出了本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
60.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
61.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面
相一致的装置和方法的例子。
62.还应当理解的是,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其他特征、整体、步骤、操作、元素和/或组件的存在或添加。
63.本公开所涉及的数据可以为经用户授权或者经过各方充分授权的数据。
64.如背景技术中所描述,计算资源分配的可扩展性和公平性是多租户分布式应用的持续技术挑战,多租户分布式应用通常被部署到服务器场,用于多租户在处理工作项的过程中降低管理的复杂度和提高资源扩缩容的灵活性。其中,服务器场为计算、存储、网络带宽等资源的集合。由于计算资源的总体数量是有限的,多租户分布式应用容易将资源过度分配给一个租户并使其余租户缺乏资源。目前,多租户分布式应用的资源分配过程中,通常通过为不同租户分配对应的资源池,并通过集中式的中央调度方式对资源进行调度,导致资源分配不合理,无法满足复杂场景的业务需求,影响租户的使用体验。
65.基于此,本公开实施例提供了一种资源调度方法,包括:当接收到计算节点对应的任务执行请求时,获取每个任务队列对应的配置信息,配置信息包括最大资源数量和最小资源数量。根据每个任务队列对应的配置信息,将计算节点的空闲资源划分为预留资源和非预留资源,预留资源根据每个任务队列对应的最小资源数量确定,非预留资源为计算节点的除预留资源以外的资源。再确定任务队列对应的第一分配概率和第二分配概率,第一分配概率是指将预留资源分配给任务队列的概率,第二分配概率是指将非预留资源分配给任务队列的概率。根据每个任务队列对应的第一分配概率和第二分配概率确定目标任务队列,以将目标任务队列的堆积任务分配给计算节点执行。
66.以下对本公开实施例提供的资源调度方法的应用场景进行示例性说明:
67.图1为本公开实施例提供的一种通信系统示意图,如图1所示,该通信系统中可以包括:服务器110和终端设备120。服务器110可以通过有线网络或无线网络与终端设备120之间建立连接。
68.其中,服务器110,可以用于接收来自终端设备120的一个或者多个任务,该一个或者多个任务保存在任务队列中。例如,该任务队列可以包括一个或多个待执行的工作流。
69.一些实施例中,服务器可以是单独的一个服务器,或者,也可以是由多个服务器(或者微服务器)构成的服务器集群。服务器集群还可以是分布式集群。本公开对服务器110的具体实现方式也不作限制。
70.终端设备120,可以用于向服务器发送一个或者多个任务,同时接收服务器返回的执行完毕的工作流。一些实施例中,终端设备可以是手机、平板电脑、桌面型、膝上型、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,pda)、增强现实(augmented reality,ar)\虚拟现实(virtual reality,vr)设备等可以安装并使用内容社区应用(如快手)的设备,本公开对该终端的具体形态不作特殊限制。其可以与用户通过键盘、触摸板、触摸屏、遥控器、语音交互或手写设备等一种或多种方式进行人机交互。
71.可选地,上述图1所示的通信系统中服务器110可以与至少一个终端设备120连接。本公开对终端设备120的数量及类型均不作限制。
72.本公开实施例提供的资源调度方法可以应用于前述图1所示的服务器110。
73.在一些实施例中,本公开提供的资源调度方法的执行主体可以为资源调度装置。
资源调度装置可以是服务器或者电子设备,此处不予限制。
74.在一些实施例中,提供一种资源调度系统130。图2为本公开示例性示出的一种资源调度系统示意图,如图2所示,该资源调度系统130中包括计算节点131、代理节点132、编排节点133和资源信息节点134。其中,计算节点131用于异步上报自己的资源信息,包括自身资源数量、空闲资源数量和当前每个租户的资源占用数量,将其保存在资源信息节点134中。当所述节点131当前存在空闲资源时,计算节点131向代理节点132发送任务执行请求。
75.租户通过终端设备120向资源调度系统发布任务,根据每一租户对应的任务生成任务队列,因此,每一租户分别具有对应的唯一的任务队列,且每个任务队列中分别包括该租户的多个任务。示例性的,参见图2,租户a、租户b和租户c分别对应任务队列a、任务队列b任务队列c,其中,任务队列a中包括多个租户a所发布的任务,任务队列b中包括多个租户b所发布的任务,任务队列c中包括多个租户c所发布的任务。多个租户可以通过同一终端设备120发布任务,多个租户也可以通过不同终端设备120发布任务。
76.代理节点132根据该任务执行请求,根据每个租户预先配置的配置信息,同时从当前资源信息节点134获取资源信息和每一任务队列对应的任务堆积信息,确定目标租户,从编排节点133中获取目标租户对应的任务队列中的任务,返回给计算节点131执行。
77.代理节点132还用于对每个租户预先进行配置,为每个租户分配最小资源数量和最大资源数量以及非预留资源分配权重。
78.编排节点133用于管理每个租户对应的任务队列,定时异步上报每个租户的任务队列中的堆积任务数量给资源信息节点134。
79.资源信息节点134用于保存来自计算节点131用于异步上报自己的资源信息和来自编排节点133的每个租户的任务队列中的堆积任务数量。
80.在一些实施例中,上述代理节点在接收到计算节点对应的任务执行请求时,执行下述实施例所提供的资源调度方法。
81.图3为本公开实施例提供的一种资源调度方法流程图,如图3所示,当资源调度方法应用于服务器或电子设备时,该资源调度方法可以包括:
82.s301、接收计算节点对应的任务执行请求,获取每个任务队列对应的配置信息。
83.具体的,该配置信息包括最大资源数量和最小资源数量,通过预先对任务队列对应的租户进行配置获得,其中最大资源数量为当前任务队列预先配置的最大资源配置额度,最小资源数量为当前任务队列预先配置的最小资源配置额度,该最大资源数量和最小资源数量可根据租户的优先级进行适应性调整。
84.示例性的,预先获取任务队列a对应的租户a的租户信息,根据租户信息配置租户a对应的最大资源数量和最小资源数量。租户a的最大资源数量为1500,最小资源数量为500,表明当前租户a能够同时处理任务队列中的工作流的最大并发数为1500,同时为租户a预留的能够同时处理任务队列中的工作流的最小并发数为500。
85.s302、根据各任务队列对应的最小资源数量和最大资源数量确定各任务队列对应的第一分配概率和第二分配概率。
86.具体的,第一分配概率是指将预留资源分配给任务队列的概率,预留资源是指根据每个任务队列对应的最小资源数量确定的计算节点空闲资源,预留资源用于使每个任务队列的资源占用数量满足最小资源数量。第二分配概率是指将非预留资源分配给任务队列
的概率,非预留资源是指除预留资源以外的计算节点空闲资源。
87.s303、根据每个任务队列对应的第一分配概率和第二分配概率确定目标任务队列。
88.具体的,对第一分配概率和第二分配概率进行加和,得到每个有效队列对应的调度概率。在保证每个有效队列被确定为目标任务队列的概率为有效队列对应的调度概率的情况下,在所有有效队列中随机确定出目标任务队列。
89.示例性的,当前有效队列a对应的租户a的第一分配概率为20%当前有效队列a对应的租户a的第二分配概率为25%,则对第一分配概率和第二分配概率进行加和,得到当前租户a对应的调度概率45%。在所有有效队列中随机确定出目标任务队列,有效队列a被随机选中的概率为45%。
90.由s301-s303可知,接收到计算节点对应的任务执行请求时,获取每个任务队列对应的配置信息,配置信息包括最大资源数量和最小资源数量,根据每个任务队列对应的配置信息,参见图4,可以将计算节点的空闲资源划分为预留资源和非预留资源,同时根据每个任务队列对应的配置信息确定每个任务队列对应的调度概率,根据每个任务队列对应的调度概率确定目标任务队列,以将目标任务队列的堆积任务分配给计算节点执行。基于每个任务队列被分配到资源的概率,确定出目标任务队列,可以保证每个任务队列被分配到的资源满足最小资源数量,且不会超出最大资源数量,从而保证针对多任务队列在时序上合理分配的资源,满足复杂场景的业务需求,提升租户的使用体验。
91.在一些实施例中,结合图3,如图5所示,上述s302之前,还包括:
92.s501、确定各任务队列对应的第一待分配资源数量和第二待分配资源数量。
93.具体的,第一待分配资源数量根据任务队列对应的最小资源数量确定,第二待分配资源数量根据任务队列对应的最大资源数量确定;通过获取当前任务队列对应的最小资源数量,得到当前任务队列的第一待分配资源数量,通过获取当前任务队列的最大资源数量和堆积任务数量得到当前任务队列对应的第二待分配资源数量。
94.可选地,最小资源数量和最大资源数量为电子设备根据当前任务队列对应的租户进行提前配置,生成每一租户对应的配置信息,并保存在本地。当接收到计算节点对应的任务执行请求后,调取当前任务队列对应的租户的配置信息,得到最小资源数量和最大资源数量。
95.如图6所示,上述s501中,根据任务队列租户对应的堆积任务数量和配置信息,确定任务队列租户对应的第一待分配资源数量和第二待分配资源数量的方法,具体包括:
96.s601、获取每个任务队列对应的资源占用数量。
97.具体的,资源占用数量为当前任务队列对应的租户正在运行工作流的并发数,计算节点定时异步上报自身的空闲资源数量和每个任务队列对应的资源占用总量,该空闲资源数量和资源占用数量保存在全局信息中,可以根据需求获取当前计算节点的空闲资源数量和每个任务队列对应的资源占用数量。
98.s602、确定最大资源数量与资源占用数量的差值。
99.具体的,如果资源占用数量大于最大资源数量,说明当前任务队列对应的租户超过预先配置的最大资源数量,此时计算节点不会执行当前租户的任务队列,避免其他租户由于无法获得足够的资源影响正常任务队列中工作流的执行。
100.s603、如果最大资源数量与资源占用数量的差值大于或者等于阈值,则将任务队列作为有效队列。
101.具体的,阈值随机生成,阈值的数值小于或者等于计算节点的空闲资源数量,且为正数。
102.示例的,任务队列a对应的租户a预先配置的最大资源数量为100,这时租户a的并发数为100,租户a可以同时执行任务队列a中100个工作流,此时租户a的占用资源数量为50,由于最大资源数量与资源占用数量的差值为50,且随机生成的阈值为5,此时将租户a作为有效租户,租户a对应的任务队列a为有效队列。
103.s604、确定每个有效队列对应的第一待分配资源数量和第二待分配资源数量。
104.具体的,根据有效队列对应的最小资源数量与资源占用数量的数值关系,确定有效队列对应的第一待分配资源数量,根据堆积任务数量与第一待分配资源数量的数值关系,确定有效队列对应的第二待分配资源数量。
105.由s601-s604可知,根据获取每个所述任务队列对应的资源占用数量;确定所述最大资源数量与所述资源占用数量的差值;如果所述最大资源数量与所述资源占用数量的差值大于或者等于阈值,说明当前任务队列的资源占用数据已经超过预先设置的最大资源数量,需要将该任务队列进行筛除,通过对任务队列进行有效筛分,确定有效队列,避免超过最大资源数量的任务队列继续占用更多资源数量,导致其他任务队列缺少资源。
106.s502、根据每个任务队列对应的第一待分配资源数量和第二待分配资源数量,将计算节点空闲资源划分为预留资源和非预留资源。
107.具体的,根据所有有效队列对应的第一待分配资源数量,得到第一待分配资源总数,根据第一待分配资源总数确定预留资源的数量,根据预留资源的数量确定非预留资源的数量。示例性的,当前计算节点的空闲资源数量为10000,空闲资源数量为当前计算节点的空闲并发数,可用于处理任务队列中的工作流,根据第一待分配资源数量确定空闲资源数量中的预留资源的数量,在本实施例中,预留资源的数量为3000,则非预留资源的数量为7000。
108.由s201-s202可知,第一待分配资源数量是根据最小资源数量确定的,通过确定每个租户的第一待分配资源数量,可以确定需要为每个租户预留多少计算资源,进而确定出预留资源,将预留资源用于保证每个租户的资源占用不会低于其最小资源数量,从而保证租户任务不会被饿死。第二待分配资源数量是根据最大资源数量确定的,通过确定每个租户的第二待分配资源数量,可以确定各租户潜在需要多少资源。在优先保证各租户最小资源数量的情况下,再根据每个租户的第二待分配资源数量为租户分配非预留资源。
109.在一些实施例中,结合图6,如图7所示,上述s604中,确定每个有效队列对应的第一待分配资源数量和第二待分配资源数量的方法具体包括:
110.s701、根据有效队列对应的最小资源数量与资源占用数量的数值关系,确定有效队列对应的第一待分配资源数量。
111.具体的,获取有效队列对应的堆积任务数量;如果有效队列对应的最小资源数量与资源占用数量的差值大于零,则将有效队列对应的最小资源数量与资源占用数量的差值,与,有效队列对应的堆积任务数量中的最小值,作为第一待分配资源数量;如果有效队列对应的最小资源数量与资源占用数量的差值小于或者等于零,则确定第一待分配资源数
量的值为零。其中,堆积任务数量为当前有效队列中待执行的工作流任务的堆积数量。
112.示例性的,当前有效队列对应的堆积任务数量为200,当前有效队列对应的最小资源数量为500,当前资源占用数量为200,则有效队列对应的最小资源数量与资源占用数量的差值为300,大于0,此时第一待分配资源数量为当前有效队列的堆积数量200。
113.示例性的,当前有效队列对应的堆积任务数量为200,当前有效队列a对应的租户a的最小资源数量为200,当前资源占用数量为500,则有效队列对应的最小资源数量与资源占用数量的差值为-300,小于0,此时第一待分配资源数量为0。此时当前有效队列不具有可以被分配的第一待分配资源。
114.s702、根据有效队列对应的最大资源数量与资源占用数量的数值关系,确定有效队列对应的第二待分配资源数量。
115.具体的,如果有效队列对应的最大资源数量与资源占用数量的差值大于零,则根据有效队列对应的最大资源数量与资源占用数量的差值,确定第二待分配资源数量;如果有效队列对应的最大资源数量与资源占用数量的差值小于或者等于零,则确定第二待分配资源数量的值为零。
116.示例性的,当前有效队列a对应的租户a的最大资源数量为200,资源占用数量为100,此时最大资源数量与资源占用数量的差值为100,此时第二待分配资源的数量为100。
117.示例性的,当前有效队列a对应的租户a的最大资源数量为200,资源占用数量为500,此时最大资源数量与资源占用数量的差值为-300,此时第二待分配资源的数量为0。
118.由s701-s702可知,由于第一待分配资源数量是为满足最小资源数量而待分配的资源数量,因此,如果最小资源数量小于资源占用数量,说明该队列的资源占用已超过最小资源数量,因此不需要再为其分配预留资源,进而第一待分配资源数量为0,否则,第一待分配资源数量根据最小资源数量与资源占用数量的差值确定。由于第二待分配资源数量是在不满足最大资源数量的情况下潜在需要为队列分配的资源数量,因此如果最大资源数量小于资源占用数量,则说明该队列的资源占用已超过最大资源数量,因此不需要再为其分配非预留资源,进而第二待分配资源数量为0,否则,第二待分配资源数量根据最大资源数量与资源占用数量的差值确定。
119.在一种实施例中,结合图5,如图8所示,上述s502中,根据每个任务队列对应的第一待分配资源数量和第二待分配资源数量,将计算节点空闲资源划分为预留资源和非预留资源的方法具体包括:
120.s801、根据所有有效队列对应的第一待分配资源数量,得到第一待分配资源总数,根据第一待分配资源总数确定预留资源的数量。
121.具体的,对所有有效队列的第一待分配资源数量加和,得到第一待分配资源总数
122.s802、根据预留资源的数量确定非预留资源的数量。
123.由s801-s802可知,根据第一待分配资源总数确定出预留资源的数量,将预留资源优先分配给第一待分配资源数量不为0的任务队列,可保证每个任务队列被分配到的资源满足最小资源数量。将剩余的空闲资源确定为非预留资源的数量,将非预留资源用于满足各任务队列潜在的资源需求,且保证各任务队列的资源占用不会超过配置的最大资源数量。
124.在一种实施例中,结合图3,如图9所示,上述s302中,根据各任务队列对应的最小
资源数量确定各任务队列对应的第一分配概率,以及,根据各任务队列对应的最大资源数量确定各任务队列对应的第二分配概率的方法具体包括:
125.s901、根据预留资源的数量和非预留资源的数量,确定第一比率和第二比率。
126.具体的,第一比率为预留资源在空闲资源数量中的比率,第二比率为非预留资源在空闲资源数量中的比率。
127.s902、根据有效队列对应的第一待分配资源数量和第一比率,确定有效队列对应的第一分配概率。
128.具体的,确定每个有效队列对应的第一待分配资源数量在第一待分配资源总数中的比率。根据第一比率,和,每个有效队列对应的第一待分配资源数量在第一待分配资源总数中的比率,得到每个有效队列对应的第一分配概率。
129.示例性的,当前有效队列的第一待分配资源数量为2000,当前所有有效队列的第二待分配资源总数为10000,则当前有效队列对应的第一待分配资源数量在第一待分配资源总数中的比率为0.2。
130.示例性的,当前有效队列的第一比率为0.3,当前有效队列对应的第一待分配资源数量在第二待分配资源总数中的比率为0.5,则第二分配概率为15%。
131.s903、根据有效队列对应的第二待分配资源数量和第二比率,确定有效队列对应的第二分配概率。
132.具体的,获取每个有效队列对应的非预留资源分配权重。根据第二比率、每个有效队列对应的第二待分配资源数量在第二待分配资源总数中的比率,和,非预留资源分配权重,确定每个有效队列对应的第二分配概率。
133.除租户a以外的示例性的,当前有效队列的第二待分配资源数量为1000,当前所有有效队列的第二待分配资源总数为10000,则当前有效队列对应的第二待分配资源数量在第二待分配资源总数中的比率为0.1。当前有效队列的第二比率为0.2,当前有效队列对应的第二待分配资源数量在第二待分配资源总数中的比率为0.1,则第二分配概率为2%。
134.由s901-s903可知,根据各任务队列对应的最小资源数量确定各任务队列对应的第一分配概率,第一分配概率为当前有效队列分配预留资源的概率,第二分配概率为当前有效队列分配预留资源的概率,通过确定第一分配概率和第二分配概率可以确定为当前有效队列分配资源的概率。有利于合理分配资源,提升租户的使用体验。
135.在一种实施例中,结合图3,如图10所示,上述s304中,根据每个任务队列对应的第一分配概率和第二分配概率确定目标任务队列的方法具体包括:
136.s1001、对第一分配概率和第二分配概率进行加和,得到每个任务队列对应的调度概率。
137.具体的,通过对当前有效队列对应的第一分配概率和第二分配概率进行加和,得到对应的调度概率,该调度概率用于表征分配保留资源概率和非保留资源概率的加和,进一步确定当前有效队列被随机选中的概率。
138.示例性的,当前有效队列对应的第一分配概率为25%,第二分配概率为30%,则当前有效队列的调度概率为55%。
139.s1002、在保证每个任务队列被确定为目标任务队列的概率,为任务队列对应的调度概率的情况下,在所有任务队列中随机确定出目标任务队列。
140.示例性的,当前有效队列a的调度概率为55%,则在所有有效队列中随机确定出目标任务队列。有效队列a被随机选中作为目标任务队列的概率为55%。当有效队列a被选中作为目标任务队列时,将有效队列a的堆积任务分配给计算节点执行。
141.由s1001-s1002可知,根据每个有效队列对应的第一分配概率和第二分配概率,得到每个有效队列对应的调度概率,根据调度概率随机选择目标任务队列,计算节点执行该目标任务队列的堆积任务,从而保证针对多任务队列在时序上合理分配的资源,满足复杂场景的业务需求,提升租户的使用体验。
142.在一个实施例中,通过编排节点conductor为任务调度框,对视频转码进行多租户调度应用,对线上数据进行分析;每个租户对应的任务队列中,包括长耗时任务和短耗时任务。各租户任务在其任务队列中的等待时间的趋势与任务堆积数量的趋势一致,未产生某个租户高时长等待或者某个租户缺乏资源的现象,方案成功解决了前文所述的几个问题。
143.对于不定时产生任务队列的租户,当该租户的任务队列中的任务数量较少,且任务的类型多为高敏感时延任务时,本公开提供的资源调度方法能够对该租户对应的任务队列进行快速响应,对该任务队列中的任务进行资源调度并执行。
144.根据每个任务队列对应的调度概率为任务队列分配资源,每分钟减少百万次无效请求的数量,这极大减少了对后端服务器及存储层的压力。实现了资源的合理分配,提升了租户的使用体验。
145.可以理解的,在实际实施时,本公开实施例的终端/服务器可以包含有用于实现前述对应资源调度方法的一个或多个硬件结构和/或软件模块,这些执行硬件结构和/或软件模块可以构成一个电子设备。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本公开能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
146.基于这样的理解,本公开实施例还对应提供一种资源调度装置,可以应用于电子设备。图11示出了本公开实施例提供的资源调度装置的结构示意图。如图11所示,该资源调度装置可以包括:接收单元171、第一确定单元172和第二确定单元173。
147.接收单元171,用于当接收到计算节点对应的任务执行请求时,获取每个任务队列对应的配置信息,配置信息包括最大资源数量和最小资源数量。例如,接收单元801可以用于执行图3中的s301。
148.第一确定单元172,用于根据各任务队列对应的最小资源数量确定各任务队列对应的第一分配概率,以及,根据各任务队列对应的最大资源数量确定各任务队列对应的第二分配概率,第一分配概率是指将预留资源分配给任务队列的概率,预留资源是指根据每个任务队列对应的最小资源数量确定的计算节点空闲资源,预留资源用于使每个任务队列的资源占用数量满足最小资源数量,第二分配概率是指将非预留资源分配给任务队列的概率,非预留资源是指除预留资源以外的计算节点空闲资源。例如,第一确定单元172可以用于执行图3中的s302。
149.第二确定单元173,用于根据每个任务队列对应的第一分配概率和第二分配概率确定目标任务队列,以将目标任务队列的堆积任务分配给计算节点执行。例如,第二确定单
元173可以用于执行图3中的s303。
150.可选地,第一确定单元172,还用于确定各任务队列对应的第一待分配资源数量和第二待分配资源数量,第一待分配资源数量根据任务队列对应的最小资源数量确定,第二待分配资源数量根据任务队列对应的最大资源数量确定;根据每个任务队列对应的第一待分配资源数量和第二待分配资源数量,将计算节点空闲资源划分为预留资源和非预留资源。例如,第一确定单元172可以用于执行图5中的s501和s502。
151.可选地,第一确定单元172,还用于获取每个任务队列对应的资源占用数量;确定最大资源数量与资源占用数量的差值;如果最大资源数量与资源占用数量的差值大于或者等于阈值,则将任务队列作为有效队列,阈值随机生成,阈值的数值小于或者等于计算节点空闲资源的数量,且为正数;确定每个有效队列对应的第一待分配资源数量和第二待分配资源数量。例如,第一确定单元172可以用于执行图6中的s601-s604。
152.可选地,第一确定单元172,还用于根据有效队列对应的最小资源数量与资源占用数量的数值关系,确定有效队列对应的第一待分配资源数量;根据有效队列对应的最大资源数量与资源占用数量的数值关系,确定有效队列对应的第二待分配资源数量。例如,第一确定单元172可以用于执行图7中的s701和s702。
153.可选地,第一确定单元172,还用于获取有效队列对应的堆积任务数量;如果有效队列对应的最小资源数量与资源占用数量的差值大于零,则将有效队列对应的最小资源数量与资源占用数量的差值,与,有效队列对应的堆积任务数量中的最小值,作为第一待分配资源数量;如果有效队列对应的最小资源数量与资源占用数量的差值小于或者等于零,则确定第一待分配资源数量的值为零。
154.可选地,第一确定单元172,还用于如果有效队列对应的最大资源数量与资源占用数量的差值大于零,则根据有效队列对应的最大资源数量与资源占用数量的差值,确定第二待分配资源数量;如果有效队列对应的最大资源数量与资源占用数量的差值小于或者等于零,则确定第二待分配资源数量的值为零。
155.可选地,第一确定单元172,还用于根据所有有效队列对应的第一待分配资源数量,得到第一待分配资源总数,根据第一待分配资源总数确定预留资源的数量;根据预留资源的数量确定非预留资源的数量。例如,第一确定单元172可以用于执行图8中的s801和s802。
156.可选地,第一确定单元172,还用于根据预留资源的数量和非预留资源的数量,确定第一比率和第二比率,第一比率为预留资源在空闲资源中的比率,第二比率为非预留资源在空闲资源中的比率;根据有效队列对应的第一待分配资源数量和第一比率,确定有效队列对应的第一分配概率;根据有效队列对应的第二待分配资源数量和第二比率,确定有效队列对应的第二分配概率。例如,第一确定单元172可以用于执行图8中的s901-s903。
157.可选地,第一确定单元172,还用于确定每个有效队列对应的第一待分配资源数量在第一待分配资源总数中的比率;根据第一比率,和,每个有效队列对应的第一待分配资源数量在第一待分配资源总数中的比率,得到每个有效队列对应的第一分配概率。
158.可选地,第一确定单元172,还用于根据所有有效队列对应的第二待分配资源数量,得到第二待分配资源总数,以及每个有效队列对应的第二待分配资源数量在第二待分配资源总数中的比率;获取每个有效队列对应的非预留资源分配权重;根据第二比率、每个
有效队列对应的第二待分配资源数量在第二待分配资源总数中的比率,和,非预留资源分配权重,确定每个有效队列对应的第二分配概率。
159.可选地,第二确定单元173,还用于对第一分配概率和第二分配概率进行加和,得到每个任务队列对应的调度概率;在保证每个任务队列被确定为目标任务队列的概率,为任务队列对应的调度概率的情况下,在所有任务队列中随机确定出目标任务队列。例如,第一确定单元173可以用于执行图10中的s1001和s1002。
160.如上,本公开实施例可以根据上述方法示例对电子设备进行功能模块的划分。其中,上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。另外,还需要说明的是,本公开实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。
161.关于上述实施例中的资源调度装置,其中各个模块执行操作的具体方式、以及具备的有益效果,均已经在前述方法实施例中进行了详细描述,此处不再赘述。
162.本公开实施例还提供一种电子设备。图12示出了本公开实施例提供的电子设备的结构示意图。该电子设备可以是资源调度装置可以包括至少一个处理器91,通信总线92,存储器93以及至少一个通信接口94。
163.处理器91可以是一个处理器(central processing units,cpu),微处理单元,asic,或一个或多个用于控制本公开方案程序执行的集成电路。作为一个示例,结合图11,电子设备中的第一确定单元802和第二确定单元803实现的功能与图12中的处理器91实现的功能相同。
164.通信总线92可包括一通路,在上述组件之间传送信息。
165.通信接口94,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如服务器、以太网,无线接入网(radio access network,ran),无线局域网(wireless local area networks,wlan)等。作为一个示例,
166.存储器93可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理单元相连接。存储器也可以和处理单元集成在一起。
167.其中,存储器93用于存储执行本公开方案的应用程序代码,并由处理器91来控制执行。处理器91用于执行存储器93中存储的应用程序代码,从而实现本公开方法中的功能。
168.在具体实现中,作为一种实施例,处理器91可以包括一个或多个cpu,例如图12中的cpu0和cpu1。
169.在具体实现中,作为一种实施例,电子设备可以包括多个处理器,例如图12中的处理器91和处理器95。这些处理器中的每一个可以是一个单核(single-cpu)处理器,也可以
是一个多核(multi-cpu)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
170.在具体实现中,作为一种实施例,电子设备还可以包括输入设备96和输出设备97。输入设备96和输出设备97通信,可以以多种方式接受用户的输入。例如,输入设备96可以是鼠标、键盘、触摸屏设备或传感设备等。输出设备97和处理器91通信,可以以多种方式来显示信息。例如,输出设备91可以是液晶显示器(liquid crystal display,lcd),发光二极管(light emitting diode,led)显示设备等。
171.本领域技术人员可以理解,图12中示出的结构并不构成对电子设备的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
172.本公开实施例还提供一种电子设备。该电子设备可以是资源调度装置。该电子设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器和一个或一个以上的存储器。其中,存储器中存储有至少一条指令,至少一条指令由处理器加载并执行以实现上述各个方法实施例提供的资源调度方法。当然,该电子设备还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该电子设备还可以包括其他用于实现设备功能的部件,在此不做赘述。
173.本公开还提供了一种包括指令的计算机可读存储介质,计算机可读存储介质上存储有指令,当计算机可读存储介质中的指令由计算机设备的处理器执行时,使得计算机能够执行上述所示实施例提供的资源调度方法。例如,计算机可读存储介质可以为包括指令的存储器93,上述指令可由终端的处理器91执行以完成上述方法。又例如,计算机可读存储介质可以为包括指令的存储器,上述指令可由电子设备的处理器执行以完成上述方法。可选地,计算机可读存储介质可以是非临时性计算机可读存储介质,例如,非临时性计算机可读存储介质可以是rom、ram、cd-rom、磁带、软盘和光数据存储设备等。
174.本公开还提供了一种计算机程序产品,该计算机程序产品包括计算机指令,当计算机指令在电子设备上运行时,使得所述电子设备执行上述图1-图10任一附图所示的资源调度方法。
175.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
176.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1