CN114979282A - 任务调度方法、装置、存储介质以及电子设备 - Google Patents
任务调度方法、装置、存储介质以及电子设备 Download PDFInfo
- Publication number
- CN114979282A CN114979282A CN202210900544.8A CN202210900544A CN114979282A CN 114979282 A CN114979282 A CN 114979282A CN 202210900544 A CN202210900544 A CN 202210900544A CN 114979282 A CN114979282 A CN 114979282A
- Authority
- CN
- China
- Prior art keywords
- node
- scheduling
- target
- task
- resource amount
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种任务调度方法、装置、存储介质以及电子设备。该方法包括:在获取到目标任务的情况下,从集群的所有服务节点中确定出除压满调度节点组之外的均衡调度节点组,其中,集群用于为目标任务提供资源,压满调度节点组为集群中剩余资源量较大的一部分节点组成的节点组;从均衡调度节点组中确定出目标节点;在未从均衡调度节点组中确定出目标节点的情况下,从压满调度节点组中确定出目标节点;将目标任务调度到目标节点,由目标节点为目标任务提供资源。本发明解决了调度任务造成资源需求量小的任务的服务质量和可用性降低或者资源需求量大的任务调度困难的技术问题。
Description
技术领域
本发明涉及内容分发领域,具体而言,涉及一种任务调度方法、装置、存储介质以及电子设备。
背景技术
现有技术中,在内容分发网络中包括管理节点与服务节点。管理节点负责任务调度,服务节点负责为任务提供资源。在进行任务调度的时候,管理节点通常将任务均衡调度到多个服务节点或者将任务集中调度到少数几个服务节点。
然而,将任务集中调度到少数几个节点容易造成资源需求量小的任务的服务质量和可用性降低,而均衡调度容易造成资源需求量大的任务调度困难。
发明内容
本发明实施例提供了一种任务调度方法、装置、存储介质以及电子设备,以至少解决调度任务造成资源需求量小的任务的服务质量和可用性降低或者资源需求量大的任务调度困难的技术问题。
根据本发明实施例的一个方面,提供了一种任务调度方法,包括:在获取到目标任务的情况下,从集群的所有服务节点中确定出除压满调度节点组之外的均衡调度节点组,其中,上述集群用于为上述目标任务提供资源,上述压满调度节点组为上述集群中剩余资源量较大的一部分节点组成的节点组;从上述均衡调度节点组中确定出目标节点;在未从上述均衡调度节点组中确定出上述目标节点的情况下,从上述压满调度节点组中确定出上述目标节点;将上述目标任务调度到上述目标节点,由上述目标节点为上述目标任务提供资源。
根据本发明实施例的另一方面,提供了一种任务调度装置,包括:第一确定模块,用于在获取到目标任务的情况下,从集群的所有服务节点中确定出除压满调度节点组之外的均衡调度节点组,其中,上述集群用于为上述目标任务提供资源,上述压满调度节点组为上述集群中剩余资源量较大的一部分节点组成的节点组;第二确定模块,用于从上述均衡调度节点组中确定出目标节点;第三确定模块,用于在未从上述均衡调度节点组中确定出上述目标节点的情况下,从上述压满调度节点组中确定出上述目标节点;第一调度模块,用于将上述目标任务调度到上述目标节点,由上述目标节点为上述目标任务提供资源。
作为一种可选的示例,上述装置还包括:第四确定模块,用于将上述所有服务节点中,剩余资源量较大的前R个服务节点作为上述压满调度节点组中的节点,上述R为正整数,上述R大于0且小于上述所有服务节点的数量;将上述所有服务节点中,除上述剩余资源量较大的前R个服务节点之外的服务节点作为上述均衡调度节点组中的节点。
作为一种可选的示例,上述第二确定模块包括:第一确定单元,用于将上述均衡调度节点组中,剩余资源量最大的节点作为上述目标节点。
作为一种可选的示例,上述第三确定模块包括:第二确定单元,用于在上述均衡调度节点组中,剩余资源量最大的节点的上述剩余资源量小于上述目标任务所需的资源量的情况下,确定未从上述均衡调度节点组中确定出上述目标节点。
作为一种可选的示例,上述第三确定模块包括:第三确定单元,用于将上述压满调度节点组中,剩余资源量最小的节点确定为上述目标节点。
作为一种可选的示例,上述第三确定单元包括:确定子单元,用于在上述压满调度节点组中,剩余资源量最小的节点的上述剩余资源量小于上述目标任务所需的资源量的情况下,将上述压满调度节点组中,剩余资源量大于上述目标任务所需的资源量且上述剩余资源量最小的节点作为上述目标节点。
作为一种可选的示例,上述装置还包括:第五确定模块,用于在将上述目标任务调度到上述目标节点之前或之后,每获取到一个第一任务的情况下,按照上述所有服务节点中每一个服务节点的当前剩余资源量,为上述第一任务确定一次上述目标节点;第二调度模块,用于将上述第一任务调度到上述目标节点。
根据本发明实施例的又一方面,还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被处理器运行时执行上述任务调度方法。
根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过上述计算机程序执行上述的任务调度方法。
在本发明实施例中,采用了在获取到目标任务的情况下,从集群的所有服务节点中确定出除压满调度节点组之外的均衡调度节点组,其中,上述集群用于为上述目标任务提供资源,上述压满调度节点组为上述集群中剩余资源量较大的一部分节点组成的节点组;从上述均衡调度节点组中确定出目标节点;在未从上述均衡调度节点组中确定出上述目标节点的情况下,从上述压满调度节点组中确定出上述目标节点;将上述目标任务调度到上述目标节点,由上述目标节点为上述目标任务提供资源的方法,由于在上述方法中,在进行任务的调度的过程中,先从所有服务节点中选择出剩余资源量较大的一部分节点作为压满调度节点组中的节点,在调度任务时,将任务调度到除了压满调度节点组之外的均衡调度节点组中的目标节点,如果均衡调度节点组不能确定出目标节点,再在压满调度节点组中确定目标节点,从而在调度每一个任务时,可以根据当前的每一个节点的剩余资源量,先进行剩余资源量小的节点的调度,再进行剩余资源量大的节点的调度,保证每一次调度任务时,可以兼顾剩余资源量小的节点和剩余资源量大的节点。从而实现了任务的准确调度的目的,进而解决了调度任务造成资源需求量小的任务的服务质量和可用性降低或者资源需求量大的任务调度困难的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的任务调度方法的流程图;
图2是根据本发明实施例的另一种可选的任务调度方法的流程图;
图3是根据本发明实施例的一种可选的任务调度装置的结构示意图;
图4是根据本发明实施例的一种可选的电子设备的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的第一方面,提供了一种任务调度方法,可选地,如图1所示,上述方法包括:
S102,在获取到目标任务的情况下,从集群的所有服务节点中确定出除压满调度节点组之外的均衡调度节点组,其中,集群用于为目标任务提供资源,压满调度节点组为集群中剩余资源量较大的一部分节点组成的节点组;
S104,从均衡调度节点组中确定出目标节点;
S106,在未从均衡调度节点组中确定出目标节点的情况下,从压满调度节点组中确定出目标节点;
S108,将目标任务调度到目标节点,由目标节点为目标任务提供资源。
本实施例中的集群可以为一组网络互联的计算机服务器,集群中可以包括多个节点,每一个节点为集群中的一台计算机服务器。节点可以包括管理节点和服务节点。管理节点负责任务的调度,服务节点负责为任务提供资源。任务被调度到一个服务节点之后,会占用该服务节点的一部分的资源。
本实施例中的上述方法可以应用在集群中或者集群的管理节点中,由管理节点进行任务的调度。
本实施例中的资源可以为中央处理器资源、内存资源以及网络带宽资源中的至少一种资源。在确定节点的剩余资源量时,如果资源有多种,则可以确定多种资源的每一种资源的剩余资源量,然后计算加权平均值。
本实施例中所提及的剩余资源量为每一次调度时的当前的剩余资源量。剩余资源量的数值大小会随着时间的变化以及随着任务的调度而发生变化。随着剩余资源量的变化,压满调度节点组也会发生变化。
本实施例中,压满调度节点组中节点的数量可以灵活配置。可以配置固定数量,例如配置3个节点作为压满调度节点组。可以配置预定比例,例如集群的百分之十的节点作为压满调度节点组。压满调度节点组中节点的数量可以实时配置。例如,可以在任意一个任务调度之前配置压满调度节点组中节点的数量。每调度一个任务,可以确定一次压满调度节点组。
本实施例中,压满调度节点组为集群中剩余资源量较大的一部分节点组成的节点组。例如,压满调度节点组中节点为3个,则将集群中剩余资源量最大的3个节点作为压满调度节点组。
本实施例中,目标任务为单个任务。每接收到一个任务,可以将该任务作为目标任务进行调度。如果一次接收到多个任务,可以将多个任务进行排序,排序后的任务作为目标任务依次进行调度。
举一个示例进行说明。当目标任务1在进行调度时,确定每一个节点的当前的剩余资源量,然后选择剩余资源量较大的3个节点(该3个节点的每一个节点的剩余资源量大于除该3个节点外的任意一个节点的剩余资源量)作为压满调度节点组中的节点。从剩余的均衡调度节点组中,确定出一个节点作为目标节点。如果在均衡调度节点组中确定不出目标节点,则在压满调度节点组中确定出目标节点,将目标任务1调度到目标节点。在目标任务1调度完成后,在调度目标任务2时,重新确定每一个节点的当前剩余资源量,然后进行目标节点的选取,以及将目标任务2调度到目标节点中。
通过本实施例,通过上述方法,从而可以在进行任务的调度的过程中,先从所有服务节点中选择出剩余资源量较大的一部分节点作为压满调度节点组中的节点,在调度任务时,将任务调度到除了压满调度节点组之外的均衡调度节点组中的节点,如果均衡调度节点组不能确定出目标节点,再在压满调度节点组中确定目标节点,从而在调度每一个任务时,可以根据当前的每一个节点的剩余资源量,先进行剩余资源量小的节点的调度,再进行剩余资源量大的节点的调度,保证每一次调度任务时,可以兼顾剩余资源量小的节点和剩余资源量大的节点。从而实现了任务的准确调度的目的。
作为一种可选的示例,上述方法还包括:
将所有服务节点中,剩余资源量较大的前R个服务节点作为压满调度节点组中的节点,R为正整数,R大于0且小于所有服务节点的数量;
将所有服务节点中,除剩余资源量较大的前R个服务节点之外的服务节点作为均衡调度节点组中的节点。
可选的,本实施例中,可以预先设置正整数R,正整数R随时可调。每一次调度目标任务时,统计每一个节点的当前的剩余资源量,然后,将剩余资源量按照从大到小的顺序进行排序,选择前R个节点作为压满调度节点组中的节点,剩余的节点则作为均衡调度节点组中的节点。
采用该方法,可以确定出准确的压满调度节点组,避免由于节点的剩余资源量的实时变化导致压满调度节点组确定错误。
需要说明的是,本实施例中的将节点按照剩余资源量进行排序的手段仅为一种示例,本实施例的目的在于将服务节点中的剩余资源量最大的R个节点选择出来,并不一定要按照从大到小的顺序进行排序,只要能够实现选择出剩余资源量最大的R个节点的方法均可以应用在本实施例中。
作为一种可选的示例,上述从均衡调度节点组中确定出目标节点包括:
将均衡调度节点组中,剩余资源量最大的节点作为目标节点。
可选的,本实施例中,当从均衡调度节点组中确定目标节点时,可以从均衡调度节点组中将剩余资源量最大的节点作为目标节点。选择剩余资源量最大的节点作为目标节点目的在于,使均衡调度节点组的节点的负载更加均衡,每一个节点的负载量趋近于平均。
作为一种可选的示例,上述在未从均衡调度节点组中确定出目标节点的情况下,从压满调度节点组中确定出目标节点包括:
在均衡调度节点组中,剩余资源量最大的节点的剩余资源量小于目标任务所需的资源量的情况下,确定未从均衡调度节点组中确定出目标节点。
可选的,本实施例中,如果均衡调度节点组中的剩余资源量最大的节点仍然不能为目标任务提供服务,则说明均衡调度节点组中的每一个节点的剩余资源量均小于目标任务所需的资源量。在此情况下,确定均衡调度节点组中没有能够为目标任务提供服务的目标节点,需要从压满调度节点组中选择目标节点。
可选的,本实施例中,如果在均衡调度节点组中存在多个节点的剩余资源量相同,且均是均衡调度节点组中剩余资源量最大的节点,则可以将剩余资源量相同,且均是均衡调度节点组中剩余资源量最大的多个节点中的随机一个节点作为目标节点。
作为一种可选的示例,上述在未从均衡调度节点组中确定出目标节点的情况下,从压满调度节点组中确定出目标节点包括:
将压满调度节点组中,剩余资源量最小的节点确定为目标节点。
可选的,本实施例中,如果没有在均衡调度节点组中确定出目标节点,则可以在压满调度节点组中确定目标节点。可以将压满调度节点组中剩余资源量最小的节点作为目标节点。将剩余资源量最小的节点作为目标节点,可以将均衡调度节点组无法服务的目标任务尽可能的调度到少量的节点中。
作为一种可选的示例,上述将压满调度节点组中,剩余资源量最小的节点确定为目标节点包括:
在压满调度节点组中,剩余资源量最小的节点的剩余资源量小于目标任务所需的资源量的情况下,将压满调度节点组中,剩余资源量大于目标任务所需的资源量且剩余资源量最小的节点作为目标节点。
可选的,本实施例中,如果在压满调度节点组中,剩余资源量最小的节点的剩余资源量小于了目标任务所需的资源量,则可以查看剩余资源量第二小的节点是否可以为目标任务提供服务。如果剩余资源量第二小的节点的剩余资源量小于目标任务所需资源量,则可以查看剩余资源量第三小的节点是否可以为目标任务提供服务。直到从压满调度节点组中选择出来一个节点的剩余资源量大于目标任务所需的资源量,且在所有剩余资源量大于目标任务所需的资源量的节点中,剩余资源量最小,则将该节点作为目标节点。
作为一种可选的示例,上述方法还包括:
在将目标任务调度到目标节点之前或之后,每获取到一个第一任务的情况下,按照所有服务节点中每一个服务节点的当前剩余资源量,为第一任务确定一次目标节点;
将第一任务调度到目标节点。
可选的,本实施例中的调度目标任务的过程中,每一个节点的剩余资源量是在随时变化的。因此,在调度每一个任务时,包括第一任务和目标任务,均是使用每一个节点的当前的剩余资源量来确定目标节点。该动态的方法可以保证每一个任务的准确调度,不会造成大任务集中在少数几个节点中,小任务集中在少数几个节点中的问题。
上述提及的大任务为所需资源量较大的任务,小任务为所需资源量较小的任务。大和小是相对的,并不规定具体数值。
例如,在调度任务1时,集群5个节点的剩余资源量分别为20、40、60、80、100个单位,而任务1所需70个单位的资源。那么,首先,例如压满调度节点组中节点数为2,则集群的5个节点中,第4和第5个节点作为压满调度节点组,剩余的均衡调度节点组中的节点中,剩余资源量最大的节点的剩余资源量为60,而任务1所需70个单位的资源,因此,均衡调度节点组中无法确定出目标节点,需要在压满调度节点组中确定目标节点(假如任务1需要50个单位的资源,则可以将任务1调度到第3个节点,即剩余资源量为60的节点,无需进行压满调度节点组的调度)。从压满调度节点组中,选择剩余资源量最小的节点,即剩余资源量为80的节点作为目标节点。那么,节点1到节点5的剩余资源量在经过任务1的调度后,由原来的20、40、60、80、100变化为了20、40、60、10、100。经过任务1的调度,在调度任务2时,压满调度节点组变为了第3个节点和第5个节点,剩余资源量分别为60和100,第1个节点、第2个节点和第4个节点作为均衡调度节点组中的节点,剩余资源量分别为20、40以及10,进行任务2的调度。可以发现,由于节点的剩余资源量的变化,压满调度节点组也会发生变化。再次调度时,如果任务2的需要资源量为30,则会被调度到节点2中,即剩余资源量为40的节点中。那么,节点1到节点5在调度任务3时,剩余资源量为20、10、60、10、100。再次确定的压满调度节点组为剩余资源量为60和100的节点3和节点5。如果任务2的需要资源量为70,则会被调度到节点5中,即剩余资源量为100的节点中。节点1到节点5在调度任务3时,剩余资源量为20、40、60、10、30。再次确定的压满调度节点组为剩余资源量为40和60的节点2和节点3。
需要说明的是,剩余资源量也可以随着被调度任务的结束后释放资源而变化。本实施例中,确定剩余资源量可以采用的方法并不限定,只要能确定出实时的准确的剩余资源量的方法均可以应用在本实施例中。上述数值仅为举例,并不构成对本申请的限定。
可以发现,通过每次调度时,根据当前的剩余资源量确定压满调度节点组,先从均衡调度节点组中确定目标节点,如果确定不出目标节点,则从压满调度节点组中确定目标节点,可以在保证每一个节点的准确均衡调度的同时,保证每一个节点中即可以包含大任务,也可以包含小任务,避免了现有技术中调度任务造成资源需求量小的任务的服务质量和可用性降低或者资源需求量大的任务调度困难的问题。
本实施例可以确定一个可调节参数R,可调节参数为压满调度节点组中节点的数量。压满调度节点组的节点数R (R>=0, R<=集群总节点数N)。R与N均为正整数。对于一个任务,调度可以分为两个过程。第一个过程:按节点剩余资源量排序,排除剩余资源量最多的前 R个节点,即选择出压满调度节点组。对余下的 N-R个节点,即均衡调度节点组,执行第一调度策略。第一调度策略为,将任务调度到均衡调度节点组中剩余资源量最大的目标节点。如果调度成功,则退出本次调度,不执行第二个过程的调度。第二个过程的调度:如果第一个过程的调度没有给任务找到符合条件的目标节点,则进行第二轮调度。第二轮调度排除N-R个剩余资源较少的节点,只对剩余资源量最多的前R个节点,即压满调度节点组进行匹配,并且将任务调度到剩余资源量最少的目标节点中。
图2是本实施例的流程图。图2中,对于一个待调度的调度任务,先根据各个节点当前的剩余资源量确定压满调度节点组,从除压满调度节点组外的均衡调度节点组中确定出目标节点。如果均衡调度节点组中确定不出目标节点,则从压满调度节点组中确定出目标节点。将任务调度给目标节点,由目标节点提供任务所需的资源。图2为一个闭环图是因为每调度完成一个任务,则可以开始下一个任务的调度。直到没有调度任务。没有调度任务时,则可以待机。有调度任务时,可以启动本方法。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本申请实施例的另一方面,还提供了一种任务调度装置,如图3所示,包括:
第一确定模块302,用于在获取到目标任务的情况下,从集群的所有服务节点中确定出除压满调度节点组之外的均衡调度节点组,其中,集群用于为目标任务提供资源,压满调度节点组为集群中剩余资源量较大的一部分节点组成的节点组;
第二确定模块304,用于从均衡调度节点组中确定出目标节点;
第三确定模块306,用于在未从均衡调度节点组中确定出目标节点的情况下,从压满调度节点组中确定出目标节点;
第一调度模块308,用于将目标任务调度到目标节点,由目标节点为目标任务提供资源。
本实施例中的集群可以为一组网络互联的计算机服务器,集群中可以包括多个节点,每一个节点为集群中的一台计算机服务器。节点可以包括管理节点和服务节点。管理节点负责任务的调度,服务节点负责为任务提供资源。任务被调度到一个服务节点之后,会占用该服务节点的一部分的资源。
本实施例中的上述装置可以应用在集群中或者集群的管理节点中,由管理节点进行任务的调度。
本实施例中的资源可以为中央处理器资源、内存资源以及网络带宽资源中的至少一种资源。在确定节点的剩余资源量时,如果资源有多种,则可以确定多种资源的每一种资源的剩余资源量,然后计算加权平均值。
本实施例中所提及的剩余资源量为每一次调度时的当前的剩余资源量。剩余资源量的数值大小会随着时间的变化以及随着任务的调度而发生变化。随着剩余资源量的变化,压满调度节点组也会发生变化。
本实施例中,压满调度节点组中节点的数量可以灵活配置。可以配置固定数量,例如配置3个节点作为压满调度节点组中的节点。可以配置预定比例,例如集群的百分之十的节点作为压满调度节点组中的节点。压满调度节点组中节点的数量可以实时配置。例如,可以在任意一个任务调度之前配置压满调度节点组中节点的数量。每调度一个任务,可以确定一次压满调度节点组。
本实施例中,压满调度节点组为集群中剩余资源量较大的一部分节点组成的节点组。例如,压满调度节点组的节点数为3个,则将集群中剩余资源量最大的3个节点作为压满调度节点组。
本实施例中,目标任务为单个任务。每接收到一个任务,可以将该任务作为目标任务进行调度。如果一次接收到多个任务,可以将多个任务进行排序,排序后的任务作为目标任务依次进行调度。
举一个示例进行说明。当目标任务1在进行调度时,确定每一个节点的当前的剩余资源量,然后选择剩余资源量较大的3个节点(该3个节点的每一个节点的剩余资源量大于除该3个节点外的任意一个节点的剩余资源量)作为压满调度节点组中的节点。从剩余的均衡调度节点组中,确定出一个节点作为目标节点。如果在均衡调度节点组中确定不出目标节点,则在压满调度节点组中确定出目标节点,将目标任务1调度到目标节点。在目标任务1调度完成后,在调度目标任务2时,重新确定每一个节点的当前剩余资源量,然后进行目标节点的选取,以及将目标任务2调度到目标节点中。
通过本实施例,通过上述装置,从而可以在进行任务的调度的过程中,先从所有服务节点中选择出剩余资源量较大的一部分节点作为压满调度节点组中的节点,在调度任务时,将任务调度到除了压满调度节点组之外的均衡调度节点组,如果均衡调度节点组不能确定出目标节点,再在压满调度节点组中确定目标节点,从而在调度每一个任务时,可以根据当前的每一个节点的剩余资源量,先进行剩余资源量小的节点的调度,再进行剩余资源量大的节点的调度,保证每一次调度任务时,可以兼顾剩余资源量小的节点和剩余资源量大的节点。从而实现了任务的准确调度的目的。
作为一种可选的实施方式,上述装置还包括:
第四确定模块,用于将所有服务节点中,剩余资源量较大的前R个服务节点作为压满调度节点组中的节点,R为正整数,R大于0且小于所有服务节点的数量;将所有服务节点中,除剩余资源量较大的前R个服务节点之外的服务节点作为均衡调度节点组中的节点。
可选的,本实施例中,可以预先设置正整数R,正整数R随时可调。每一次调度目标任务时,统计每一个节点的当前的剩余资源量,然后,将剩余资源量按照从大到小的顺序进行排序,选择前R个节点作为压满调度节点组,剩余的节点则作为均衡调度节点组中的节点。
采用该方法,可以确定出准确的压满调度节点组,避免由于节点的剩余资源量的实时变化导致压满调度节点组确定错误。
需要说明的是,本实施例中的将节点按照剩余资源量进行排序的手段仅为一种示例,本实施例的目的在于将服务节点中的剩余资源量最大的R个节点选择出来,并不一定要按照从大到小的顺序进行排序,只要能够实现选择出剩余资源量最大的R个节点的方法均可以应用在本实施例中。
作为一种可选的实施方式,上述第二确定模块包括:
第一确定单元,用于将均衡调度节点组中,剩余资源量最大的节点作为目标节点。
可选的,本实施例中,当从均衡调度节点组中确定目标节点时,可以从均衡调度节点组中将剩余资源量最大的节点作为目标节点。选择剩余资源量最大的节点作为目标节点目的在于,使均衡调度节点组的负载更加均衡,每一个均衡调度节点组的负载量趋近于平均。
作为一种可选的实施方式,上述第三确定模块包括:
第二确定单元,用于在均衡调度节点组中,剩余资源量最大的节点的剩余资源量小于目标任务所需的资源量的情况下,确定未从均衡调度节点组中确定出目标节点。
可选的,本实施例中,如果均衡调度节点组中的剩余资源量最大的节点仍然不能为目标任务提供服务,则说明均衡调度节点组中的每一个节点的剩余资源量均小于目标任务所需的资源量。在此情况下,确定均衡调度节点组中没有能够为目标任务提供服务的目标节点,需要从压满调度节点组中选择目标节点。
可选的,本实施例中,如果在均衡调度节点组中存在多个节点的剩余资源量相同,且均是均衡调度节点组中剩余资源量最大的节点,则可以将剩余资源量相同,且均是均衡调度节点组中剩余资源量最大的多个节点中的随机一个节点作为目标节点。
作为一种可选的实施方式,上述第三确定模块包括:
第三确定单元,用于将压满调度节点组中,剩余资源量最小的节点确定为目标节点。
可选的,本实施例中,如果没有在均衡调度节点组中确定出目标节点,则可以在压满调度节点组中确定目标节点。可以将压满调度节点组中剩余资源量最小的节点作为目标节点。将剩余资源量最小的节点作为目标节点,可以将均衡调度节点组无法服务的目标任务尽可能的调度到少量的节点中。
作为一种可选的实施方式,上述第三确定单元包括:
确定子单元,用于在压满调度节点组中,剩余资源量最小的节点的剩余资源量小于目标任务所需的资源量的情况下,将压满调度节点组中,剩余资源量大于目标任务所需的资源量且剩余资源量最小的节点作为目标节点。
可选的,本实施例中,如果在压满调度节点组中,剩余资源量最小的节点的剩余资源量小于了目标任务所需的资源量,则可以查看剩余资源量第二小的节点是否可以为目标任务提供服务。如果剩余资源量第二小的节点的剩余资源量小于目标任务所需资源量,则可以查看剩余资源量第三小的节点是否可以为目标任务提供服务。直到从压满调度节点组中选择出来一个节点的剩余资源量大于目标任务所需的资源量,且在所有剩余资源量大于目标任务所需的资源量的节点中,剩余资源量最小,则将该节点作为目标节点。
作为一种可选的实施方式,上述装置还包括:
第五确定模块,用于在将目标任务调度到目标节点之前或之后,每获取到一个第一任务的情况下,按照所有服务节点中每一个服务节点的当前剩余资源量,为第一任务确定一次目标节点;
第二调度模块,用于将第一任务调度到目标节点。
可选的,本实施例中的调度目标任务的过程中,每一个节点的剩余资源量是在随时变化的。因此,在调度每一个任务时,包括第一任务和目标任务,均是使用每一个节点的当前的剩余资源量来确定目标节点。该动态的方法可以保证每一个任务的准确调度,不会造成大任务集中在少数几个节点中,小任务集中在少数几个节点中的问题。
本实施例的其他示例请参见上述示例,在此不在赘述。
图4是根据本申请实施例的一种可选的电子设备的结构框图,如图4所示,包括处理器402、通信接口404、存储器406和通信总线408,其中,处理器402、通信接口404和存储器406通过通信总线408完成相互间的通信,其中,
存储器406,用于存储计算机程序;
处理器402,用于执行存储器406上所存放的计算机程序时,实现如下步骤:
在获取到目标任务的情况下,从集群的所有服务节点中确定出除压满调度节点组之外的均衡调度节点组,其中,集群用于为目标任务提供资源,压满调度节点组为集群中剩余资源量较大的一部分节点组成的节点组;
从均衡调度节点组中确定出目标节点;
在未从均衡调度节点组中确定出目标节点的情况下,从压满调度节点组中确定出目标节点;
将目标任务调度到目标节点,由目标节点为目标任务提供资源。
可选地,在本实施例中,上述的通信总线可以是PCI (Peripheral ComponentInterconnect,外设部件互连标准)总线、或EISA (Extended Industry StandardArchitecture,扩展工业标准结构)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括RAM,也可以包括非易失性存储器(non-volatile memory),例如,至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
作为一种示例,上述存储器406中可以但不限于包括上述任务调度装置中的第一确定模块302、第二确定模块304、第三确定模块306以及第一调度模块308。此外,还可以包括但不限于上述请求的处理装置中的其他模块单元,本示例中不再赘述。
上述处理器可以是通用处理器,可以包含但不限于:CPU (Central ProcessingUnit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP (DigitalSignal Processing,数字信号处理器)、ASIC (Application Specific IntegratedCircuit,专用集成电路)、FPGA (Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图4所示的结构仅为示意,实施上述任务调度方法的设备可以是终端设备,该终端设备可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图4其并不对上述电子设备的结构造成限定。例如,电子设备还可包括比图4中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图4所示的不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、ROM、RAM、磁盘或光盘等。
根据本发明的实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被处理器运行时执行上述任务调度方法中的步骤。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种任务调度方法,其特征在于,包括:
在获取到目标任务的情况下,从集群的所有服务节点中确定出除压满调度节点组之外的均衡调度节点组,其中,所述集群用于为所述目标任务提供资源,所述压满调度节点组为所述集群中剩余资源量较大的一部分节点组成的节点组;
从所述均衡调度节点组中确定出目标节点;
在未从所述均衡调度节点组中确定出所述目标节点的情况下,从所述压满调度节点组中确定出所述目标节点;
将所述目标任务调度到所述目标节点,由所述目标节点为所述目标任务提供资源。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述所有服务节点中,剩余资源量较大的前R个服务节点作为所述压满调度节点组中的节点,所述R为正整数,所述R大于0且小于所述所有服务节点的数量;
将所述所有服务节点中,除所述剩余资源量较大的前R个服务节点之外的服务节点作为所述均衡调度节点组中的节点。
3.根据权利要求1所述的方法,其特征在于,所述从所述均衡调度节点组中确定出目标节点包括:
将所述均衡调度节点组中,剩余资源量最大的节点作为所述目标节点。
4.根据权利要求3所述的方法,其特征在于,所述在未从所述均衡调度节点组中确定出所述目标节点的情况下,从所述压满调度节点组中确定出所述目标节点包括:
在所述均衡调度节点组中,剩余资源量最大的节点的所述剩余资源量小于所述目标任务所需的资源量的情况下,确定未从所述均衡调度节点组中确定出所述目标节点。
5.根据权利要求1所述的方法,其特征在于,所述在未从所述均衡调度节点组中确定出所述目标节点的情况下,从所述压满调度节点组中确定出所述目标节点包括:
将所述压满调度节点组中,剩余资源量最小的节点确定为所述目标节点。
6.根据权利要求5所述的方法,其特征在于,所述将所述压满调度节点组中,剩余资源量最小的节点确定为所述目标节点包括:
在所述压满调度节点组中,剩余资源量最小的节点的所述剩余资源量小于所述目标任务所需的资源量的情况下,将所述压满调度节点组中,剩余资源量大于所述目标任务所需的资源量且所述剩余资源量最小的节点作为所述目标节点。
7.根据权利要求1至6任意一项所述的方法,其特征在于,所述方法还包括:
在将所述目标任务调度到所述目标节点之前或之后,每获取到一个第一任务的情况下,按照所述所有服务节点中每一个服务节点的当前剩余资源量,为所述第一任务确定一次所述目标节点;
将所述第一任务调度到所述目标节点。
8.一种任务调度装置,其特征在于,包括:
第一确定模块,用于在获取到目标任务的情况下,从集群的所有服务节点中确定出除压满调度节点组之外的均衡调度节点组,其中,所述集群用于为所述目标任务提供资源,所述压满调度节点组为所述集群中剩余资源量较大的一部分节点组成的节点组;
第二确定模块,用于从所述均衡调度节点组中确定出目标节点;
第三确定模块,用于在未从所述均衡调度节点组中确定出所述目标节点的情况下,从所述压满调度节点组中确定出所述目标节点;
第一调度模块,用于将所述目标任务调度到所述目标节点,由所述目标节点为所述目标任务提供资源。
9.一种计算机可读的存储介质,所述计算机可读的存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行所述权利要求1至7任一项中所述的方法。
10.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至7任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210900544.8A CN114979282B (zh) | 2022-07-28 | 2022-07-28 | 任务调度方法、装置、存储介质以及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210900544.8A CN114979282B (zh) | 2022-07-28 | 2022-07-28 | 任务调度方法、装置、存储介质以及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114979282A true CN114979282A (zh) | 2022-08-30 |
CN114979282B CN114979282B (zh) | 2023-01-20 |
Family
ID=82969413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210900544.8A Active CN114979282B (zh) | 2022-07-28 | 2022-07-28 | 任务调度方法、装置、存储介质以及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114979282B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116719632A (zh) * | 2023-08-11 | 2023-09-08 | 腾讯科技(深圳)有限公司 | 任务调度方法、装置、设备以及介质 |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100118767A1 (en) * | 2008-11-10 | 2010-05-13 | Viasat, Inc. | Resource fairness policies for allocation of resources in a satellite communications system |
CN108234422A (zh) * | 2016-12-21 | 2018-06-29 | 新华三技术有限公司 | 资源调度方法及装置 |
CN109417783A (zh) * | 2016-07-21 | 2019-03-01 | 华为技术有限公司 | 资源分配的方法和设备 |
US20190319895A1 (en) * | 2016-12-30 | 2019-10-17 | Huawei Technologies Co., Ltd. | Resource Scheduling Method And Apparatus |
CN112269641A (zh) * | 2020-11-18 | 2021-01-26 | 网易(杭州)网络有限公司 | 一种调度方法、装置、电子设备及存储介质 |
CN112306651A (zh) * | 2019-07-31 | 2021-02-02 | 华为技术有限公司 | 一种资源分配方法和资源借调方法 |
US20210149737A1 (en) * | 2019-11-14 | 2021-05-20 | Korea Electronics Technology Institute | Method for fast scheduling for balanced resource allocation in distributed and collaborative container platform environment |
CN113014663A (zh) * | 2021-03-12 | 2021-06-22 | 中南大学 | 支持跨节点计算任务抗毁接替的任务与资源匹配方法 |
CN113204428A (zh) * | 2021-05-28 | 2021-08-03 | 北京市商汤科技开发有限公司 | 资源调度方法、装置、电子设备以及计算机可读存储介质 |
CN113835865A (zh) * | 2021-09-30 | 2021-12-24 | 北京金山云网络技术有限公司 | 一种任务部署方法和装置、电子设备和存储介质 |
CN113992758A (zh) * | 2021-12-27 | 2022-01-28 | 杭州金线连科技有限公司 | 一种系统数据资源的动态调度方法、装置及电子设备 |
CN114157673A (zh) * | 2021-11-30 | 2022-03-08 | 北京知道创宇信息技术股份有限公司 | Cdn系统节点管理方法、装置、存储介质及电子设备 |
CN114327811A (zh) * | 2021-11-19 | 2022-04-12 | 浪潮电子信息产业股份有限公司 | 一种任务调度方法、装置、设备及可读存储介质 |
CN114327881A (zh) * | 2021-12-23 | 2022-04-12 | 北京达佳互联信息技术有限公司 | 任务调度方法及装置 |
CN114598665A (zh) * | 2022-01-19 | 2022-06-07 | 锐捷网络股份有限公司 | 资源调度方法、装置和计算机可读存储介质及电子设备 |
CN114706596A (zh) * | 2022-04-11 | 2022-07-05 | 中国电信股份有限公司 | 容器部署方法、资源调度方法、装置、介质和电子设备 |
CN114756347A (zh) * | 2022-04-19 | 2022-07-15 | 中国联合网络通信集团有限公司 | 基于集群的服务器资源调度方法、装置、云平台及介质 |
-
2022
- 2022-07-28 CN CN202210900544.8A patent/CN114979282B/zh active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100118767A1 (en) * | 2008-11-10 | 2010-05-13 | Viasat, Inc. | Resource fairness policies for allocation of resources in a satellite communications system |
CN109417783A (zh) * | 2016-07-21 | 2019-03-01 | 华为技术有限公司 | 资源分配的方法和设备 |
CN108234422A (zh) * | 2016-12-21 | 2018-06-29 | 新华三技术有限公司 | 资源调度方法及装置 |
US20190319895A1 (en) * | 2016-12-30 | 2019-10-17 | Huawei Technologies Co., Ltd. | Resource Scheduling Method And Apparatus |
CN112306651A (zh) * | 2019-07-31 | 2021-02-02 | 华为技术有限公司 | 一种资源分配方法和资源借调方法 |
US20210149737A1 (en) * | 2019-11-14 | 2021-05-20 | Korea Electronics Technology Institute | Method for fast scheduling for balanced resource allocation in distributed and collaborative container platform environment |
CN112269641A (zh) * | 2020-11-18 | 2021-01-26 | 网易(杭州)网络有限公司 | 一种调度方法、装置、电子设备及存储介质 |
CN113014663A (zh) * | 2021-03-12 | 2021-06-22 | 中南大学 | 支持跨节点计算任务抗毁接替的任务与资源匹配方法 |
CN113204428A (zh) * | 2021-05-28 | 2021-08-03 | 北京市商汤科技开发有限公司 | 资源调度方法、装置、电子设备以及计算机可读存储介质 |
CN113835865A (zh) * | 2021-09-30 | 2021-12-24 | 北京金山云网络技术有限公司 | 一种任务部署方法和装置、电子设备和存储介质 |
CN114327811A (zh) * | 2021-11-19 | 2022-04-12 | 浪潮电子信息产业股份有限公司 | 一种任务调度方法、装置、设备及可读存储介质 |
CN114157673A (zh) * | 2021-11-30 | 2022-03-08 | 北京知道创宇信息技术股份有限公司 | Cdn系统节点管理方法、装置、存储介质及电子设备 |
CN114327881A (zh) * | 2021-12-23 | 2022-04-12 | 北京达佳互联信息技术有限公司 | 任务调度方法及装置 |
CN113992758A (zh) * | 2021-12-27 | 2022-01-28 | 杭州金线连科技有限公司 | 一种系统数据资源的动态调度方法、装置及电子设备 |
CN114598665A (zh) * | 2022-01-19 | 2022-06-07 | 锐捷网络股份有限公司 | 资源调度方法、装置和计算机可读存储介质及电子设备 |
CN114706596A (zh) * | 2022-04-11 | 2022-07-05 | 中国电信股份有限公司 | 容器部署方法、资源调度方法、装置、介质和电子设备 |
CN114756347A (zh) * | 2022-04-19 | 2022-07-15 | 中国联合网络通信集团有限公司 | 基于集群的服务器资源调度方法、装置、云平台及介质 |
Non-Patent Citations (3)
Title |
---|
FUGUANG YAO等: "Task Duplication-Based Scheduling Algorithm for Budget-", 《IEEE ACCESS》 * |
许少华等: "基于轮转周期的动态反馈负载均衡算法", 《计算机技术与发展》 * |
陈重韬: "面向多用户环境的MapReduce集群调度算法研究", 《高技术通讯》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116719632A (zh) * | 2023-08-11 | 2023-09-08 | 腾讯科技(深圳)有限公司 | 任务调度方法、装置、设备以及介质 |
CN116719632B (zh) * | 2023-08-11 | 2024-03-15 | 腾讯科技(深圳)有限公司 | 任务调度方法、装置、设备以及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114979282B (zh) | 2023-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115328663B (zh) | 基于PaaS平台进行资源调度的方法、装置、设备和存储介质 | |
CN106548262B (zh) | 用于处理任务的资源的调度方法、装置和系统 | |
CN109936511B (zh) | 一种令牌获取方法、装置、服务器、终端设备及介质 | |
CN106227596A (zh) | 用于任务调度服务器的任务监控方法和装置 | |
CN110808922A (zh) | 一种消息处理方法、装置、存储介质及电子设备 | |
CN103607424B (zh) | 一种服务器连接方法及服务器系统 | |
CN111404838A (zh) | 消息处理方法、装置及设备 | |
CN114979282B (zh) | 任务调度方法、装置、存储介质以及电子设备 | |
CN114756347A (zh) | 基于集群的服务器资源调度方法、装置、云平台及介质 | |
CN113835865A (zh) | 一种任务部署方法和装置、电子设备和存储介质 | |
CN111104227A (zh) | 一种K8s平台的资源控制方法、装置及相关组件 | |
CN108304272B (zh) | 一种数据io请求的处理方法及装置 | |
CN112395075A (zh) | 资源的处理方法、装置以及资源调度系统 | |
CN113886069A (zh) | 一种资源分配方法、装置、电子设备及存储介质 | |
CN109842497B (zh) | Dns服务器的配置更新的方法及装置、终端设备和配置更新系统 | |
CN111143064A (zh) | 一种处理内存的方法及系统 | |
CN115221041A (zh) | 多设备的测试方法、装置、电子设备及存储介质 | |
CN110349076A (zh) | 数据的处理方法及装置 | |
CN109598411A (zh) | 一种产品设计任务的处理方法及电子设备 | |
CN109582829A (zh) | 一种处理方法、装置、设备及可读存储介质 | |
CN110516922B (zh) | 分配数据处理对象的方法及装置 | |
CN112925640A (zh) | 一种集群训练节点分配方法、电子设备 | |
CN105847171A (zh) | 网络设备过载保护方法 | |
CN112988339A (zh) | 一种数据管理方法及装置 | |
CN113127289A (zh) | 一种基于yarn集群的资源管理方法、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |