CN109710414B - 一种作业调度方法、装置、设备及存储介质 - Google Patents

一种作业调度方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN109710414B
CN109710414B CN201811638167.5A CN201811638167A CN109710414B CN 109710414 B CN109710414 B CN 109710414B CN 201811638167 A CN201811638167 A CN 201811638167A CN 109710414 B CN109710414 B CN 109710414B
Authority
CN
China
Prior art keywords
job
resources
head
cluster
jobs
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.)
Active
Application number
CN201811638167.5A
Other languages
English (en)
Other versions
CN109710414A (zh
Inventor
李家宏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Sankuai Online Technology Co Ltd
Original Assignee
Beijing Sankuai Online Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Sankuai Online Technology Co Ltd filed Critical Beijing Sankuai Online Technology Co Ltd
Priority to CN201811638167.5A priority Critical patent/CN109710414B/zh
Publication of CN109710414A publication Critical patent/CN109710414A/zh
Application granted granted Critical
Publication of CN109710414B publication Critical patent/CN109710414B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供一种作业调度方法、装置、设备及存储介质,其中,所述方法用于对调度队列中的多个作业进行调度,包括:检测所述调度队列中的头部作业所需资源;如果所述头部作业所需资源多于集群空闲资源,则从所述调度队列中除所述头部作业之外的剩余作业中确定所需资源少于所述集群空闲资源的目标作业;调用所述集群空闲资源对所述目标作业进行处理。本申请可以避免因为空闲资源不能满足头部作业的需求导致头部作业阻塞其后对资源需求量较少的作业的调度,可使集群的空闲资源得到充分利用,进而提高集群的资源使用率和作业的调度效率。

Description

一种作业调度方法、装置、设备及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种作业调度方法、装置、设备及存储介质。
背景技术
现有技术中通常采用分布式集群来处理那些在处理过程中所需资源多且处理时间长的作业,如深度学习作业等。
为提升分布式集群的资源使用率,现有技术中通常可以利用一个集群处理众多的作业。然而,现有的作业处理方案中无法很好地实现作业调度,导致集群的资源无法得到充分利用,进而降低集群的资源使用率和作业的调度效率。
发明内容
有鉴于此,本申请提供一种作业调度方法、装置、设备及存储介质,以解决现有的作业调度方案中所存在的问题。
具体地,本申请是通过如下技术方案实现的:
根据本申请的第一方面,提出了一种作业调度方法,所述方法用于对调度队列中的多个作业进行调度,包括:
检测所述调度队列中的头部作业所需资源;
如果所述头部作业所需资源多于集群空闲资源,则从所述调度队列中除所述头部作业之外的剩余作业中确定所需资源少于所述集群空闲资源的目标作业;
调用所述集群空闲资源对所述目标作业进行处理。
在一实施例中,所述从所述调度队列中除所述头部作业之外的剩余作业中确定所需资源少于所述集群空闲资源的目标作业,包括:
依次检测所述调度队列中除所述头部作业之外的剩余作业需要的资源;
将所需资源少于所述集群空闲资源的一个剩余作业或先后确定的多个剩余作业确定为目标作业。
在一实施例中,所述调用所述集群空闲资源对所述目标作业进行处理之前,所述方法还包括:
将所述目标作业从所述调度队列中移出。
在一实施例中,所述方法还包括:
预先为所述调度队列创建优先处理容器,所述优先处理容器的类型包括队列、堆栈以及映射之中的任一种;
所述将所述目标作业从所述调度队列中移出,包括:
将所述目标作业从所述调度队列中移动至所述优先处理队列中。
在一实施例中,所述方法还包括:
检测所述优先处理容器中作业的数量是否达到预设数量阈值;
若未达到所述预设数量阈值,则执行所述将所述目标作业从所述调度队列中移出的操作。
在一实施例中,所述调用所述集群空闲资源对所述目标作业进行处理之前,所述方法还包括:
为所述目标作业设置预设标记,所述预设标记用于跳过后续对所述目标作业所需资源的检测。
在一实施例中,所述方法还包括:
如果所述头部作业所需资源少于所述集群空闲资源,则调用所述集群空闲资源对所述头部作业进行处理。
根据本申请的第二方面,提出了一种作业调度装置,所述装置用于对调度队列中的多个作业进行调度,包括:
头部资源监测模块,用于检测所述调度队列中的头部作业所需资源;
目标作业确定模块,用于如果所述头部作业所需资源多于集群空闲资源,则从所述调度队列中除所述头部作业之外的剩余作业中确定所需资源少于所述集群空闲资源的目标作业;
目标作业处理模块,用于调用所述集群空闲资源对所述目标作业进行处理。
根据本申请的第三方面,提出了一种作业调度设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现上述任一所述的作业调度方法。
根据本申请的第四方面,提出了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述任一所述的作业调度方法。
由以上技术方案可见,本申请通过检测所述调度队列中的头部作业所需资源,当所述头部作业所需资源多于集群空闲资源时,从所述调度队列中除所述头部作业之外的剩余作业中确定所需资源少于所述集群空闲资源的目标作业,进而调用所述集群空闲资源对所述目标作业进行处理,可以避免因为空闲资源不能满足头部作业的需求导致头部作业阻塞其后对资源需求量较少的作业的调度,可使集群的空闲资源得到充分利用,进而提高集群的资源使用率和作业的调度效率。
附图说明
图1A是本申请一示例性实施例示出的一种调度队列的示意图;
图1B是本申请一示例性实施例示出的一种作业调度方法的流程图;
图2是本申请一示例性实施例示出的如何确定所需资源少于集群空闲资源的目标作业的流程图;
图3A是本申请又一示例性实施例示出的一种作业调度方法的流程图;
图3B是本申请又一示例性实施例示出的一种作业调度方法的流程图;
图4是本申请另一示例性实施例示出的一种作业调度方法的流程图;
图5是本申请一示例性实施例示出的一种作业调度装置的结构图;
图6是本申请又一示例性实施例示出的一种作业调度装置的结构图;
图7是本申请一示例性实施例示出的一种作业调度设备的结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
现有技术中通常采用分布式集群来处理那些在处理过程中所需资源多且处理时间长的作业,如深度学习作业等。
图1A是本申请一示例性实施例示出的一种调度队列的示意图;如图1A所示,为提升分布式集群的资源使用率,现有技术中采用调度队列来存放待调度的作业,以实现按顺序为位于队列头部的作业(如,作业A)分配资源,体现作业调度的公平性。
然而,当集群剩余的空闲资源无法满足位于队列头部的作业对资源需求时,该位于队列头部的作业会长时间阻塞其后对资源需求量少的作业,导致集群剩余的空闲资源无法分配利用,进而导致集群的资源使用率和作业的调度效率降低。
有鉴于此,本申请提供一种作业调度方法、装置、设备及存储介质,以解决现有的确定主节点方案中所存在的问题。
图1B是本申请一示例性实施例示出的一种作业调度方法的流程图;该实施例可以用于对调度队列中的多个作业进行调度的服务端(例如一台服务器或多台服务器组成的服务器集群等)。如图1B所示,该方法包括步骤S101-S103:
在步骤S101中:检测所述调度队列中的头部作业所需资源。
在一实施例中,服务端在对调度队列中的多个作业进行调度时,可以检测该调度队列中的头部作业(即,位于队列头部的作业)所需资源,进而将该所需资源与当前的集群空闲资源进行比较。
值得说明的是,本实施例中的作业所需资源和集群空闲资源均包含相应资源的种类和数量等,本实施例对此不进行限定。
在步骤S102中:如果所述头部作业所需资源多于集群空闲资源,则从所述调度队列中除所述头部作业之外的剩余作业中确定所需资源少于所述集群空闲资源的目标作业。
在一实施例中,当服务端检测到头部作业所需资源多于集群空闲资源,即集群空闲资源不能满足头部作业的需求时,可以从调度队列中除上述头部作业之外的剩余作业中确定所需资源少于所述集群空闲资源的目标作业。
值得说明的是,各个作业提交时会指示需要多少资源,且集群中的所有节点也会周期性地上报自己还有多少资源可用,因而服务端检测每个作业所需资源以及集群空闲资源的方式可以参见现有技术中的解释和说明,本实施例对此不进行限定。
在一实施例中,服务端从剩余作业中确定所需资源少于所述集群空闲资源的目标作业的方式还可以参见下述图2所示实施例,在此先不进行详述。
在步骤S103中:调用所述集群空闲资源对所述目标作业进行处理。
在一实施例中,当服务端检测到头部作业所需资源多于集群空闲资源时,可以调用集群空闲资源对所述目标作业进行处理。
在一实施例中,当服务端检测到头部作业所需资源多于集群空闲资源时,可以将所述目标作业中的任务部署到所述集群空闲资源的集群节点上进行处理。
在另一实施例中,当服务端检测到头部作业所需资源少于集群空闲资源,即集群空闲资源能够满足头部作业的需求时,可以调用所述集群空闲资源对所述头部作业进行处理。
在一实施例中,当服务端检测到头部作业所需资源少于集群空闲资源时,可以直接调用集群空闲资源对所述头部作业进行处理。在一实施例中,当服务端检测到头部作业所需资源少于集群空闲资源时,可以将所述头部作业中的任务部署到所述集群空闲资源的集群节点上进行处理。
由上述描述可知,本实施例通过检测所述调度队列中的头部作业所需资源,当所述头部作业所需资源多于集群空闲资源时,从所述调度队列中除所述头部作业之外的剩余作业中确定所需资源少于所述集群空闲资源的目标作业,进而调用所述集群空闲资源对所述目标作业进行处理,可以避免因为空闲资源不能满足头部作业的需求导致头部作业阻塞其后对资源需求量较少的作业的调度,可使集群的空闲资源得到充分利用,进而提高集群的资源使用率和作业的调度效率。
图2是本申请一示例性实施例示出的如何确定所需资源少于集群空闲资源的目标作业的流程图;本实施例在上述实施例的基础上以如何确定所需资源少于集群空闲资源的目标作业为例进行示例性说明。如图2所示,上述步骤S102中从所述调度队列中除所述头部作业之外的剩余作业中确定所需资源少于所述集群空闲资源的目标作业,可以包括以下步骤S201-S202:
在步骤S201中,依次检测所述调度队列中除所述头部作业之外的剩余作业需要的资源。
在一实施例中,当服务端检测到所述头部作业所需资源多于集群空闲资源时,可以按照各作业在上述队列中的顺序,依次检测队列中除头部作业之外的剩余作业需要的资源。
仍以图1A所示队列为例,当服务端检测到头部作业,即作业A所需资源多于集群空闲资源时,可以依次检测作业B、作业C所需的资源。
在步骤S202中,将所需资源少于所述集群空闲资源的一个剩余作业或先后确定的多个剩余作业确定为目标作业。
在一实施例中,当服务端依次检测所述调度队列中除所述头部作业之外的剩余作业需要的资源后,可以将将所需资源少于所述集群空闲资源的一个剩余作业或先后确定的多个剩余作业确定为目标作业。
举例来说,若服务端检测到作业B所需资源少于所述集群空闲资源,则可以将作业B确定为目标作业,进而可以执行后续调用所述集群空闲资源对所述目标作业进行处理的步骤。
再举例来说,若服务端检测到作业B、作业C所需资源少于所述集群空闲资源,则可以将作业B和作业C均确定为目标作业,进而可以执行后续调用所述集群空闲资源对作业B和作业C进行处理的步骤。
由上述描述可知,本实施例通过依次检测所述调度队列中除所述头部作业之外的剩余作业需要的资源,并将所需资源少于所述集群空闲资源的一个剩余作业或先后确定的多个剩余作业确定为目标作业,可以实现准确地从所述调度队列中除所述头部作业之外的剩余作业中确定所需资源少于所述集群空闲资源的目标作业,进而可以在所述头部作业所需资源多于集群空闲资源时,调用所述集群空闲资源对所述目标作业进行处理,可以避免因为空闲资源不能满足头部作业的需求导致头部作业阻塞其后对资源需求量较少的作业的调度,可使集群的空闲资源得到充分利用,进而提高集群的资源使用率和作业的调度效率。
图3A是本申请又一示例性实施例示出的一种作业调度方法的流程图;该实施例可以用于对调度队列中的多个作业进行调度的服务端(例如一台服务器或多台服务器组成的服务器集群等)。如图3A所示,该方法包括步骤S301-S304:
在步骤S301中,检测所述调度队列中的头部作业所需资源。
在步骤S302中,如果所述头部作业所需资源多于集群空闲资源,则从所述调度队列中除所述头部作业之外的剩余作业中确定所需资源少于所述集群空闲资源的目标作业。
其中,步骤S301-S302的相关解释和说明可以参见上述实施例,在此不进行赘述。
在步骤S303中,将所述目标作业从所述调度队列中移出。
在一实施例中,当服务端确定所需资源少于所述集群空闲资源的目标作业后,可以将该目标作业从所述调度队列中移出,具体移出的方式可以参见现有技术中的解释和说明,本实施例对此不进行限定。
在一实施例中,每执行一次将目标作业移出的操作后,均可以再次执行“检测所述调度队列中的头部作业所需资源”的操作,由于集群中每处理完一个作业时都会释放相应的资源,因此集群的剩余资源是实时变化的,因而可以实现当检测到存在足够的集群空闲资源处理头部作业时,及时为头部作业调度集群空闲资源,从而保证处理头部作业的公平性。
在一实施例中,上述将所述目标作业从所述调度队列中移出的方式还可以参见下述图3B所示实施例,在此先不进行详述。
在步骤S304中,调用所述集群空闲资源对移出的目标作业进行处理。
在一实施例中,当执行将所述目标作业从所述调度队列中移出的操作后,可以调用所述集群空闲资源对移出的目标作业进行处理。
其中,对移出的目标作业进行处理的方式与上述实施例中的处理方式相同,即可以将移出的目标作业中的任务部署到所述集群空闲资源的集群节点上进行处理。
由上述描述可知,本实施例通过将所述目标作业从所述调度队列中移出,并调用所述集群空闲资源对移出的目标作业进行处理,可以保证队列中剩余的作业都是未调度的作业,在后续调度队列中的作业时,可以直接按顺序进行调度,而无需检测作业是否已被调度过,从而可以提升调度作业的效率。
图3B是本申请又一示例性实施例示出的一种作业调度方法的流程图;该实施例可以用于对调度队列中的多个作业进行调度的服务端(例如一台服务器或多台服务器组成的服务器集群等)。如图3B所示,该方法包括步骤S301’-S306’:
在步骤S301’中,检测所述调度队列中的头部作业所需资源。
在步骤S302’中,如果所述头部作业所需资源多于集群空闲资源,则从所述调度队列中除所述头部作业之外的剩余作业中确定所需资源少于所述集群空闲资源的目标作业。
其中,步骤S301’-S302’的相关解释和说明可以参见上述实施例,在此不进行赘述。
在步骤S303’中,预先为所述调度队列创建优先处理容器。
在一实施例中,可以为上述调度队列创建属于该队列的优先处理容器,该优先处理容器用于容纳可以跳过头部作业被优先处理的目标作业。
值得说明的是,在实际应用中,本领域技术人员可以根据业务需要从现有的容器类型中确定上述优先处理容器的类型,例如可以将所述优先处理容器的类型确定为队列、堆栈以及映射之中的任一种,本实施例对此不进行限定。
在步骤S304’中,将所述目标作业从所述调度队列中移动至所述优先处理容器中。
在一实施例中,当服务端确定所需资源少于所述集群空闲资源的目标作业后,可以将该目标作业移动至预先创建的优先处理容器中,具体移动的方式可以参见现有技术中的解释和说明,本实施例对此不进行限定。
在一实施例中,可以预先设置上述优先处理容器能够容纳的目标作业的数量,例如5个、10个等,本实施例对此不进行限定。
在一实施例中,当从所述调度队列中除所述头部作业之外的剩余作业中确定所需资源少于所述集群空闲资源的目标作业后,可以检测上述优先处理容器中当前容纳的作业的数量是否达到预设数量阈值,进而当未达到阈值时,将当前确定的目标作业移动至优先处理容器中;而当达到阈值时,可以等待该容器中有执行完的目标作业被删除后再尝试移动。
在一实施例中,每执行一次将目标作业移动至预先创建的优先处理容器中的操作后,均可以再次执行“检测所述调度队列中的头部作业所需资源”的操作,由于集群中每处理完一个作业时都会释放相应的资源,因此集群的剩余资源是实时变化的,因而可以实现当检测到存在足够的集群空闲资源处理头部作业时,及时为头部作业调度集群空闲资源,从而保证处理头部作业的公平性。
在步骤S305’中,在所述优先处理容器中调用所述集群空闲资源对所述目标作业进行处理。
在一实施例中,当执行将所述目标作业从所述调度队列中移出的操作后,可以在所述优先处理容器中调用所述集群空闲资源对所述目标作业进行处理。
其中,在所述优先处理容器中调用所述集群空闲资源对所述目标作业进行处理的方式与上述实施例中的处理方式相同,即可以将优先处理容器内的目标作业中的任务部署到所述集群空闲资源的集群节点上进行处理。
在步骤S306’中,待所述目标作业处理完毕后,将所述目标作业从所述优先处理容器中删除。
在一实施例中,当目标作业处理完毕后会释放出相应的资源,进而服务端可以将该目标作业从优先处理容器中删除,以释放出优先处理器的有限空间,以便后续再将检测到的目标作业移动至优先处理容器中。
由上述描述可知,本实施例通过预先为所述调度队列创建优先处理容器,并将所述目标作业从所述调度队列中移出,在所述优先处理容器中执行所述调用所述集群空闲资源对所述目标作业进行处理的操作,进而待所述目标作业处理完毕后,将所述目标作业从所述优先处理容器中删除,可以保证队列中剩余的作业都是未调度的作业,在后续调度队列中的作业时,可以直接按顺序进行调度,而无需检测作业是否已被调度过,从而可以提升调度作业的效率。并且,通过检测所述优先处理容器中作业的数量是否达到预设数量阈值,并当未达到所述预设数量阈值时,将所述目标作业从所述调度队列中移出,可以实现控制优先处理容器中目标作业的数量,进而可以防止头部作业一直被跳过,保证处理头部作业的公平性。
图4是本申请又一示例性实施例示出的一种作业调度方法的流程图;该实施例可以用于对调度队列中的多个作业进行调度的服务端(例如一台服务器或多台服务器组成的服务器集群等)。如图4所示,该方法包括步骤S401-S404:
在步骤S401中,检测所述调度队列中的头部作业所需资源。
在步骤S402中,如果所述头部作业所需资源多于集群空闲资源,则从所述调度队列中除所述头部作业之外的剩余作业中确定所需资源少于所述集群空闲资源的目标作业。
其中,步骤S401-S402的相关解释和说明可以参见上述实施例,在此不进行赘述。
在步骤S403中,为所述目标作业设置预设标记。
在一实施例中,当服务端确定所需资源少于所述集群空闲资源的目标作业后,可以为所述目标作业设置预设标记,其中,所述预设标记用于跳过后续对所述目标作业所需资源的检测。
值得说明的是,上述为目标作业设置标记的方式可以由开发人员根据实际业务需要进行设置,如设置为编号、文本等,本实施例对此不进行限定。
在步骤S404中,调用所述集群空闲资源对标记的目标作业进行处理。
在一实施例中,当执行为所述目标作业设置预设标记的操作后,可以调用所述集群空闲资源对移出的目标作业进行处理。
其中,对设置标记的目标作业进行处理的方式与上述实施例中的处理方式相同,即可以将设置标记的目标作业中的任务部署到所述集群空闲资源的集群节点上进行处理。
由上述描述可知,本实施例通过为目标作业设置标记,并调用所述集群空闲资源对标记的目标作业进行处理,可以保证队列中剩余的未标记的作业都是未调度的作业,在后续调度队列中的作业时,可以避开已标记的作业进行调度,而无需检测作业是否已被调度过,从而可以提升调度作业的效率。
图5是本申请一示例性实施例示出的一种作业调度装置的结构图;如图5所示,该装置包括:头部资源监测模块110、目标作业确定模块120以及目标作业处理模块130,其中:
头部资源监测模块110,用于检测所述调度队列中的头部作业所需资源;
目标作业确定模块120,用于当所述头部作业所需资源多于集群空闲资源时,从所述调度队列中除所述头部作业之外的剩余作业中确定所需资源少于所述集群空闲资源的目标作业;
目标作业处理模块130,用于调用所述集群空闲资源对所述目标作业进行处理。
在另一实施例中,装置还可以包括头部作业处理模块(图中未示出),用于当头部作业所需资源少于所述集群空闲资源时,调用所述集群空闲资源对所述头部作业进行处理。
由上述描述可知,本实施例通过检测所述调度队列中的头部作业所需资源,当所述头部作业所需资源多于集群空闲资源时,从所述调度队列中除所述头部作业之外的剩余作业中确定所需资源少于所述集群空闲资源的目标作业,进而调用所述集群空闲资源对所述目标作业进行处理,可以避免因为空闲资源不能满足头部作业的需求导致头部作业阻塞其后对资源需求量较少的作业的调度,可使集群的空闲资源得到充分利用,进而提高集群的资源使用率和作业的调度效率。
图6是本申请又一示例性实施例示出的一种作业调度装置的结构图;其中,头部资源监测模块210、目标作业确定模块220以及目标作业处理模块260与前述图5所示实施例中的头部资源监测模块110、目标作业确定模块120以及目标作业处理模块130的功能相同,在此不进行赘述。如图6所示,目标作业确定模块220,包括:
剩余资源检测单元221,用于依次检测所述调度队列中除所述头部作业之外的剩余作业需要的资源;
目标作业确定单元222,用于将所需资源少于所述集群空闲资源的一个剩余作业或先后确定的多个剩余作业确定为目标作业。
在一实施例中,装置还可以包括:
目标作业移动模块250,用于将所述目标作业从所述调度队列中移出。
在一实施例中,所述装置还可以包括:
处理容器创建模块230,用于预先为所述调度队列创建优先处理容器,所述优先处理容器的类型包括队列、堆栈以及映射之中的任一种;
在此基础上,所述目标作业移动模块250可以用于将所述目标作业从所述调度队列中移动至所述优先处理队列中。
在一实施例中,所述装置还可以包括:
作业数量检测模块240,用于检测所述优先处理容器中作业的数量是否达到预设数量阈值;
进一步地,所述目标作业移动模块250可以用于当未达到所述预设数量阈值时,执行所述将所述目标作业从所述调度队列中移出的操作。
在另一实施例中,所述装置还可以包括:
目标作业标记模块270,用于为所述目标作业设置预设标记,所述预设标记用于跳过后续对所述目标作业所需资源的检测。
值得说明的是,上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
本发明的作业调度装置的实施例可以应用程序在网络设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的,其中计算机程序可以用于执行上述图1B~图4所示实施例提供的作业调度方法。从硬件层面而言,如图7所示,为本发明的作业调度设备的硬件结构图,除了图7所示的处理器、网络接口、内存以及非易失性存储器之外,所述设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等;从硬件结构上来讲该设备还可能是分布式的设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。另一方面,本申请还提供了一种计算机可读存储介质,存储介质存储有计算机程序,计算机程序可以用于执行上述图1B~图4所示实施例提供的作业调度方法。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (7)

1.一种作业调度方法,其特征在于,所述方法用于对调度队列中的多个作业进行调度,包括:
检测所述调度队列中的头部作业所需资源;
如果所述头部作业所需资源多于集群空闲资源,则从所述调度队列中除所述头部作业之外的剩余作业中确定所需资源少于所述集群空闲资源的目标作业;
预先为所述调度队列创建优先处理容器,所述优先处理容器的类型包括队列、堆栈以及映射之中的任一种,用于容纳可以跳过头部作业被优先处理的目标作业;
将所述目标作业从所述调度队列中移出,并移动至所述优先处理容器中;
重新检测所述调度队列中的头部作业所需资源;
如果重新检测出的所述头部作业所需资源少于所述集群空闲资源,则调用所述集群空闲资源对所述头部作业进行处理;
如果重新检测出的所述头部作业所需资源多于集群空闲资源,调用所述集群空闲资源对所述目标作业进行处理。
2.根据权利要求1所述的方法,其特征在于,所述从所述调度队列中除所述头部作业之外的剩余作业中确定所需资源少于所述集群空闲资源的目标作业,包括:
依次检测所述调度队列中除所述头部作业之外的剩余作业需要的资源;
将所需资源少于所述集群空闲资源的一个剩余作业或先后确定的多个剩余作业确定为目标作业。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
检测所述优先处理容器中作业的数量是否达到预设数量阈值;
若未达到所述预设数量阈值,则执行所述将所述目标作业从所述调度队列中移出的操作。
4.根据权利要求1所述的方法,其特征在于,所述调用所述集群空闲资源对所述目标作业进行处理之前,所述方法还包括:
为所述目标作业设置预设标记,所述预设标记用于跳过后续对所述目标作业所需资源的检测。
5.一种作业调度装置,其特征在于,所述装置用于对调度队列中的多个作业进行调度,包括:
处理容器创建模块,用于预先为所述调度队列创建优先处理容器,所述优先处理容器的类型包括队列、堆栈以及映射之中的任一种,所述优先处理容器用于容纳可以跳过头部作业被优先处理的目标作业;
头部资源监测模块,用于检测所述调度队列中的头部作业所需资源;
目标作业确定模块,用于如果所述头部作业所需资源多于集群空闲资源,则从所述调度队列中除所述头部作业之外的剩余作业中确定所需资源少于所述集群空闲资源的目标作业;
目标作业移动模块,用于将所述目标作业从所述调度队列中移出,并移动至所述优先处理容器中;
目标作业处理模块,用于重新检测所述调度队列中的头部作业所需资源;如果重新检测出的所述头部作业所需资源少于所述集群空闲资源,则调用所述集群空闲资源对所述头部作业进行处理;如果重新检测出的所述头部作业所需资源多于集群空闲资源,调用所述集群空闲资源对所述目标作业进行处理。
6.一种作业调度设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现上述权利要求1-4任一所述的作业调度方法。
7.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1-4任一所述的作业调度方法。
CN201811638167.5A 2018-12-29 2018-12-29 一种作业调度方法、装置、设备及存储介质 Active CN109710414B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811638167.5A CN109710414B (zh) 2018-12-29 2018-12-29 一种作业调度方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811638167.5A CN109710414B (zh) 2018-12-29 2018-12-29 一种作业调度方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN109710414A CN109710414A (zh) 2019-05-03
CN109710414B true CN109710414B (zh) 2021-03-26

Family

ID=66260167

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811638167.5A Active CN109710414B (zh) 2018-12-29 2018-12-29 一种作业调度方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN109710414B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110134520A (zh) * 2019-05-27 2019-08-16 眸芯科技(上海)有限公司 基于排队的集成电路稀缺资源的使用方法及系统
CN110636103B (zh) * 2019-07-22 2021-06-04 中山大学 一种多异构集群作业统一调度方法及api接口
CN111459678A (zh) * 2020-04-02 2020-07-28 上海极链网络科技有限公司 一种资源调度方法、装置、存储介质及电子设备
CN112181653A (zh) * 2020-09-28 2021-01-05 中国建设银行股份有限公司 一种作业调度和执行方法、装置、设备、系统和存储介质
CN112053099B (zh) * 2020-10-14 2023-11-17 国网北京市电力公司 一种路灯建设资源调度方法、系统、存储介质和装置
CN112559182B (zh) * 2020-12-16 2024-04-09 北京百度网讯科技有限公司 资源分配方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101916209A (zh) * 2010-08-06 2010-12-15 华东交通大学 一种多核处理器集群任务资源分配方法
CN103810037A (zh) * 2014-01-10 2014-05-21 清华大学 一种作业调度方法和计算装置
CN104021044A (zh) * 2013-02-28 2014-09-03 中国移动通信集团浙江有限公司 一种作业调度方法及装置
CN104735095A (zh) * 2013-12-18 2015-06-24 中国移动通信集团四川有限公司 一种云计算平台作业调度方法及装置
CN105718312A (zh) * 2016-01-20 2016-06-29 华南理工大学 面向生物基因测序计算任务的多队列回填作业调度方法
CN108363623A (zh) * 2018-02-27 2018-08-03 郑州云海信息技术有限公司 Gpu资源调度方法、装置、设备及计算机可读存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101916209A (zh) * 2010-08-06 2010-12-15 华东交通大学 一种多核处理器集群任务资源分配方法
CN104021044A (zh) * 2013-02-28 2014-09-03 中国移动通信集团浙江有限公司 一种作业调度方法及装置
CN104735095A (zh) * 2013-12-18 2015-06-24 中国移动通信集团四川有限公司 一种云计算平台作业调度方法及装置
CN103810037A (zh) * 2014-01-10 2014-05-21 清华大学 一种作业调度方法和计算装置
CN105718312A (zh) * 2016-01-20 2016-06-29 华南理工大学 面向生物基因测序计算任务的多队列回填作业调度方法
CN108363623A (zh) * 2018-02-27 2018-08-03 郑州云海信息技术有限公司 Gpu资源调度方法、装置、设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN109710414A (zh) 2019-05-03

Similar Documents

Publication Publication Date Title
CN109710414B (zh) 一种作业调度方法、装置、设备及存储介质
CN111768006B (zh) 一种人工智能模型的训练方法、装置、设备及存储介质
CN105117289B (zh) 基于云测试平台的任务分配方法、装置及系统
US8516492B2 (en) Soft partitions and load balancing
CN106844055B (zh) 一种任务的执行方法和装置
CN111709723B (zh) Rpa业务流程智能处理方法、装置、计算机设备和存储介质
CN107168777B (zh) 分布式系统中资源的调度方法以及装置
CN112579263A (zh) 任务执行方法及装置、存储介质及电子设备
CN107515781B (zh) 一种基于多处理器的确定性任务调度及负载均衡系统
CN108153594B (zh) 一种人工智能云平台的资源碎片整理方法及电子设备
CN107977275B (zh) 基于消息队列的任务处理方法及相关设备
WO2016074130A1 (zh) 一种系统调用命令的批处理方法及装置
CN101452399A (zh) 任务二级调度模块及方法
CN113886069A (zh) 一种资源分配方法、装置、电子设备及存储介质
CN113225269A (zh) 基于容器的工作流调度方法、装置、系统及存储介质
CN112214318A (zh) 一种任务调度方法、系统、设备以及介质
CN113268331B (zh) 机器人调用方法、机器人调用装置、管理系统和存储介质
CN110609735A (zh) 任务管理方法、设备和计算机程序产品
CN115599300A (zh) 一种任务分配方法、装置、设备及介质
CN111143063B (zh) 任务的资源预约方法及装置
CN116594734A (zh) 容器迁移方法、装置、存储介质及电子设备
CN116521338A (zh) 消息队列的管控方法、装置、计算机设备和存储介质
CN113590289B (zh) 作业调度方法、系统、装置、计算机设备和存储介质
CN107743101B (zh) 一种数据的转发方法及装置
CN105429733A (zh) 一种信息调度发送方法和装置

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