CN113504981A - 任务调度方法和装置、存储介质及电子设备 - Google Patents
任务调度方法和装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN113504981A CN113504981A CN202110846869.8A CN202110846869A CN113504981A CN 113504981 A CN113504981 A CN 113504981A CN 202110846869 A CN202110846869 A CN 202110846869A CN 113504981 A CN113504981 A CN 113504981A
- Authority
- CN
- China
- Prior art keywords
- node
- current
- upstream node
- execution
- upstream
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种任务调度方法和装置、存储介质及电子设备。其中,该方法包括:从目标任务的调度逻辑中,确定出将要执行当前子任务的当前节点对应的上游节点列表,上游节点列表中包括在调度逻辑中位于当前节点之前且与当前节点直接相连的上游节点;在上游节点列表中关键上游节点达到当前节点的调度条件的情况下,利用上游节点列表中各个上游节点各自对应的节点结果,为当前节点中的执行参数进行赋值,关键上游节点为执行结果指示为执行成功的节点,节点结果包括关键上游节点的输出结果,和上游节点列表中非关键上游节点的赋值结果;按照被赋值后的执行参数调度当前节点执行当前子任务。本发明解决了任务调度无法进行灵活调整导致的技术问题。
Description
技术领域
本发明涉及大数据领域,具体而言,涉及一种任务调度方法和装置、存储介质及电子设备。
背景技术
当前随着大数据的技术应用,面对海量数据的任务调度,一个支持不同类型的上层技术或者业务的任务调度系统是灵活、快速实现任务编排的关键。
而当前的任务调度系统通常只支持在整个任务流程之前进行固定参数的设置,在任务调度时只能使用预设的固定参数,不能在执行过程中对参数进行灵活调整。同时,各个节点之间在执行上没有任何关联,使得任务调度不能对节点进行灵活的配置。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种任务调度方法和装置、存储介质及电子设备,以至少解决任务调度无法进行灵活调整导致的技术问题。
根据本发明实施例的一个方面,提供了一种任务调度方法,包括:从目标任务的调度逻辑中,确定出将要执行当前子任务的当前节点对应的上游节点列表,其中,上述调度逻辑中包括用于执行上述目标任务中多个子任务各自对应的节点的调度条件和执行参数,上述上游节点列表中包括在上述调度逻辑中位于上述当前节点之前且与上述当前节点直接相连的上游节点;在上述上游节点列表中关键上游节点达到上述当前节点的调度条件的情况下,利用上述上游节点列表中各个上游节点各自对应的节点结果,为上述当前节点中的执行参数进行赋值,其中,上述关键上游节点为执行结果指示为执行成功的节点,上述节点结果包括上述关键上游节点的输出结果,和上述上游节点列表中非关键上游节点的赋值结果;按照被赋值后的执行参数调度上述当前节点执行上述当前子任务。
根据本发明实施例的另一方面,还提供了一种任务调度装置,包括:确定单元,用于从目标任务的调度逻辑中,确定出将要执行当前子任务的当前节点对应的上游节点列表,其中,上述调度逻辑中包括用于执行上述目标任务中多个子任务各自对应的节点的调度条件和执行参数,上述上游节点列表中包括在上述调度逻辑中位于上述当前节点之前且与上述当前节点直接相连的上游节点;赋值单元,用于在上述上游节点列表中关键上游节点达到上述当前节点的调度条件的情况下,利用上述上游节点列表中各个上游节点各自对应的节点结果,为上述当前节点中的执行参数进行赋值,其中,上述关键上游节点为执行结果指示为执行成功的节点,上述节点结果包括上述关键上游节点的输出结果,和上述上游节点列表中非关键上游节点的赋值结果;调度单元,用于按照被赋值后的执行参数调度上述当前节点执行上述当前子任务。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任务调度方法。
根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过所述计算机程序执行上述的任务调度方法。
在本发明实施例中,采用通过确定当前节点的上游节点列表,根据上游节点列表中的关键上游节点确定是否满足当前节点的调度条件,在满足当前节点的调度条件的情况下,利用上游节点的节点结果为当前节点的执行参数进行赋值,按照赋值后的执行参数调度当前节点以执行当前子任务的方式,通过上游节点中的关键上游节点确定当前节点的调度条件,根据上游节点的节点结果为当前节点的执行参数进行赋值,达到了通过执行结果指示执行成功的关键上游节点确定当前节点是否满足调度条件,将上游节点结果作为当前节点的执行参数目的,从而实现了灵活地为节点配置调度条件,同时利用上游节点的节点结果灵活地控制当前节点的调度执行的技术效果,进而解决了任务调度无法进行灵活调整导致的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的任务调度方法的应用环境的示意图;
图2是根据本发明实施例的一种可选的任务调度方法的流程示意图;
图3是根据本发明实施例的一种可选的任务调度方法的节点示意图;
图4是根据本发明实施例的一种可选的任务调度方法的流程示意图;
图5是根据本发明实施例的一种可选的任务调度装置的结构示意图;
图6是根据本发明实施例的一种可选的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的一个方面,提供了一种任务调度方法,可选地,上述任务调度方法可以但不限于应用于如图1所示的环境中。当前节点102通过网络110与服务器122进行数据交互,以通过服务器122进行当前节点102的调度。服务器122中运行有数据库114和处理引擎116,数据库114用于数据存储,处理引擎116用于利用数据库114中的数据进行处理以实现服务器122对节点的调度。
不限于是依次执行S102至S106。确定上游节点列表。从目标任务的调度逻辑中,确定出将要执行当前子任务的当前节点对应的上游节点列表。调度逻辑中包括用于执行目标任务中多个子任务各自对应的节点的调度条件和执行参数,上游节点列表中包括在调度逻辑中位于当前节点之前且与当前节点直接相连的上游节点。利用节点结果为执行参数赋值。在上游节点列表中关键上游节点达到当前节点的调度条件的情况下,利用上游节点列表中各个上游节点各自对应的节点结果,为当前节点中的执行参数进行赋值,关键上游节点为执行结果指示为执行成功的节点,节点结果包括关键上游节点的输出结果,和上游节点列表中非关键上游节点的赋值结果。调度当前节点执行当前子任务。按照被赋值后的执行参数调度当前节点执行当前子任务。
可选地,在本实施例中,上述当前节点不限于是执行当前子任务的终端设备,可以包括但不限于以下至少之一:手机(如Android手机、IOS手机等)、笔记本电脑、平板电脑、掌上电脑、MID(Mobile Internet Devices,移动互联网设备)、PAD、台式电脑、智能电视等。上述网络可以包括但不限于:有线网络,无线网络,其中,该有线网络包括:局域网、城域网和广域网,该无线网络包括:蓝牙、WIFI及其他实现无线通信的网络。上述服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群,或者是云服务器。上述仅是一种示例,本实施例中对此不作任何限定。
作为一种可选的实施方式,如图2所示,上述任务调度方法包括:
S202,从目标任务的调度逻辑中,确定出将要执行当前子任务的当前节点对应的上游节点列表。
在上述步骤S202中,调度逻辑中包括用于执行目标任务中多个子任务各自对应的节点的调度条件和执行参数,上游节点列表中包括在调度逻辑中位于当前节点之前且与当前节点直接相连的上游节点。
可选地,调度逻辑包括每个节点的调度条件和执行参数。调度条件用于指示节点被调度以执行子任务的条件,在满足调度条件的情况下,节点才可以被调度。调度条件不不限于与上游节点的执行结果相关。执行参数用于指示节点被调度、执行子任务中所需要使用的参数。执行参数的具体数值不限于是上游节点的节点结果。
可选地,上游节点列表中包括与当前节点有直接连接、且在调度逻辑中执行顺序位于当前节点之前的节点。执行顺序用于指示任务中包括的多个节点按照调度条件的依次执行的顺序。上游节点列表中所包括的上游节点是当前节点的直接上游节点。
S204,在上游节点列表中关键上游节点达到当前节点的调度条件的情况下,利用上游节点列表中各个上游节点各自对应的节点结果,为当前节点中的执行参数进行赋值。
在上述步骤S204中,关键上游节点为执行结果指示为执行成功的节点,节点结果包括关键上游节点的输出结果,和上游节点列表中非关键上游节点的赋值结果。
可选地,上游节点按照执行结果分为关键上游节点和非关键上游节点。执行结果指示执行成功的上游节点为关键上游节点,执行结果指示执行失败的上游节点为非关键上游节点。每个节点被调度执行子任务的执行结果包括执行成功和执行失败。节点的调度条件与上游节点中的关键上游节点相关,允许非关键上游节点的存在,同时可以为每个节点制定不同的调度条件,使得节点的调度条件更加灵活。
可选地,在执行结果指示执行成功的情况下,将节点对应的执行子任务得到的子任务结果作为输出结果。例如,在子任务是计算任务的资源量,在执行结果指示执行成功,完成资源量的计算的情况下,将计算得到的具体资源量作为输出结果。在节点具备输出结果的情况下,将输出结果作为节点结果。在执行结果指示执行失败的情况下,即子任务执行失败,则不会有输出结果,这时将为节点配置的赋值结果作为节点结果。
S206,按照被赋值后的执行参数调度当前节点执行当前子任务。
可选地,按照上游节点的节点结果为当前节点对应的执行参数进行参数赋值,得到执行参数的具体数值,从而按照被赋值后的执行参数,也就是确定具体数值的执行参数,进行当前节点的调度,以执行当前子任务。
在本申请实施例中,采用通过确定当前节点的上游节点列表,根据上游节点列表中的关键上游节点确定是否满足当前节点的调度条件,在满足当前节点的调度条件的情况下,利用上游节点的节点结果为当前节点的执行参数进行赋值,按照赋值后的执行参数调度当前节点以执行当前子任务的方式,通过上游节点中的关键上游节点确定当前节点的调度条件,根据上游节点的节点结果为当前节点的执行参数进行赋值,达到了通过执行结果指示执行成功的关键上游节点确定当前节点是否满足调度条件,将上游节点结果作为当前节点的执行参数目的,从而实现了灵活地为节点配置调度条件,同时利用上游节点的节点结果灵活地控制当前节点的调度执行的技术效果,进而解决了任务调度无法进行灵活调整导致的技术问题。
作为一种可选的实施方式,上述在利用上游节点列表中各个上游节点各自对应的节点结果,为当前节点中的执行参数进行赋值之前,还包括:在关键上游节点的节点数量大于第一阈值的情况下,确定关键上游节点对应的执行结果达到当前节点的调度条件。
可选地,当前节点的调度条件不限于是关键上游节点的节点数量大于第一阈值。在上游节点列表中的各个上游节点的执行结果中指示执行成功的节点数量大于第一阈值的情况下,确定达到当前节点的调度条件。
可选地,不同的节点的第一阈值可以不同,为不同节点配置不同的第一阈值,使得节点的执行不再被限定于上游节点全部执行成功才能够被调度,只要上游节点中执行成功的节点数量超过第一阈值,就可以实现当前节点的调度,增加了节点调度的灵活性。
需要说明的是,第一阈值的具体数值在此不做限定,根据每个节点的具体情况进行设定。
以图3所示的节点关系为例。假设目标任务包括图示的4个节点,分别为n1、n2、n3、n4,其中,n1分别为n2和n3的上游节点,n1、n2、n3均是n4的上游节点。在n4的调度条件为关键上游节点的节点数量大于1的情况下,n1、n2、n3中只要有两个节点的执行结果指示执行成功,就达到了n4的调度条件。这样即使n1、n2、n3中存在1个节点的执行结果指示执行失败的情况下,依旧满足n4的调度条件,n4依旧可以被调度以执行对应的子任务。
在本申请实施例中,利用上游节点中的关键节点的节点数量作为当前节点的调度条件,使得即使在上游节点中存在执行失败的节点,只要满足当前节点的调度条件,当前节点依旧可以被调度,从而提高当前节点的调度灵活性。
作为一种可选的实施方式,上述在利用上游节点列表中各个上游节点各自对应的节点结果,为当前节点中的执行参数进行赋值之前,还包括:在关键上游节点在上游节点列表中所占的节点比例大于第二阈值的情况下,确定关键上游节点对应的执行结果达到当前节点的调度条件。
可选地,当前节点的调度条件不限于是关键上游节点的节点比例大于第二阈值。在上游节点列表中的各个上游节点的执行结果中指示执行成功的节点比例大于第二阈值的情况下,确定达到当前节点的调度条件。
可选地,不同的节点的第二阈值可以不同,为不同节点配置不同的第二阈值,使得节点的执行不再被限定于上游节点全部执行成功才能够被调度,只要上游节点中执行成功的节点比例超过第二阈值,就可以实现当前节点的调度,增加节点调度的灵活性。
需要说明的是,第二阈值的具体数值在此不做限定,不限于为每个节点设定具体的第二阈值。
以上述图3所示的节点关系为例。在n4的调度条件为关键上游节点的节点比例大于30%的情况下,n1、n2、n3中只要有一个节点的执行结果指示执行成功,就达到了n4的调度条件。例如,n1的执行结果指示执行成功,n2、n3的执行结果均指示执行失败,此时n4的关键上游节点的节点比例是1/3=33%,满足调度条件,n4可以被调度以执行对应的子任务。或者在n1的执行结果指示执行成功,n2、n3中任一节点的执行结果指示执行成功的情况下,同样满足n4的调度条件,n4可以被调度以执行对应的子任务。
在本申请实施例中,利用上游节点中的关键节点的节点比例作为当前节点的调度条件,使得即使在上游节点中存在执行失败的节点,只要满足当前节点的调度条件,当前节点依旧可以被调度,从而提高当前节点的调度灵活性。
作为一种可选的实施方式,上述在利用上游节点列表中各个上游节点各自对应的节点结果,为当前节点中的执行参数进行赋值之前,还包括:在关键上游节点中包括特定上游节点的情况下,确定关键上游节点对应的执行结果达到当前节点的调度条件,其中,特定上游节点为预先选定的节点。
可选地,当前节点的调度条件不限于是关键上游节点中包括特定上游节点。在上游节点列表中的特点上游节点的执行结果中指示执行成功的情况下,确定达到当前节点的调度条件。
可选地,由于不同的节点的特定上游节点之间相互独立,在不同的节点拥有共同的上游节点的情况下,特定上游节点可以为共同的上游节点,也可以不是共同的上游节点。为对于当前节点只要特定上游节点的执行结果为执行成功就可以实现被调度,使得节点的执行不再被限定于上游节点全部执行成功才能够被调度,增加节点调度的灵活性。
需要说明的是,特定上游节点具体是哪个上游节点在此不做限定。
以上述图3所示的节点关系为例。在n4的调度条件为关键上游节点包括特点上游节点n2的情况下,只要n2的执行结果指示执行成功,就达到了n4的调度条件。即使n1、n3的执行结果均指示执行失败,此时n4的特定上游节点n2执行结果指示成功就已经满足调度条件,n4就可以被调度以执行对应的子任务。
可选地,目标任务中包括的多个节点的调度条件的条件类型可以不相同,条件类型包括指示关键上游节点的节点数量大于第一阈值的数量类型,指示关键上游节点的节点比例大于第二阈值的比例类型,指示关键上游节点包括特定上游节点的节点类型。
以图3所示的节点关系为例,n2的调度条件的条件类型可以为节点类型,例如,设定n1为特定上游节点,只要n1执行成功即可实现n2的调度。n3的调度条件的条件类型可以为数量类型,设定第一阈值为0,只要有执行成功的上游节点即可实现n3的调度。n4的调度条件的条件类型可可以为比例类型,设定第二阈值为30%,只要关键上游节点在上游节点中占比超过30%,就可以实现n4的调度。
在本申请实施例中,利用上游节点中的特定上游节点作为当前节点的调度条件,使得即使在上游节点中只有特定上游节点执行成功,其余节点均执行失败也能够满足当前节点的调度条件,只要满足当前节点的调度条件,当前节点就可以被调度,从而提高当前节点的调度灵活性。
作为一种可选的实施方式,上述在按照被赋值后的执行参数调度当前节点执行当前子任务之后,包括:
在当前节点执行当前子任务的执行结果指示为执行成功的情况下,将当前节点执行当前子任务后得到的输出结果传递给当前节点的下游节点;
在当前节点执行当前子任务的执行结果指示为执行失败的情况下,从预先配置的赋值列表中确定出参考赋值,并将参考赋值传递给当前节点的下游节点。
可选地,将当前节点执行的当前子任务的执行结果作为当前节点的执行结果。在当前节点的执行结果指示为执行成功的情况下,将执行当前子任务得到的任务结果作为输出结果,将执行结果和输出结果传递给下游节点。下游节点是在调度逻辑中位于当前节点之后,且与当前节点直接连接的节点。
可选地,在当前节点的执行结果指示为执行失败的情况下,将当前子节点的执行结果传递给下游节点。在确定当前节点的执行结果指示执行失败且下游节点满足调度条件的情况下,获取赋值列表中为当前节点配置的参考赋值,将参考赋值传递给下游节点。
可选地,赋值列表中存储有具备关联关系的节点标识和参考赋值。通过节点标识查找对应的参考赋值,以在节点执行失败的情况下,通过赋值列表为节点赋值以避免对于下游节点的执行参数的影响,保证下游节点在被调度的情况下的正常执行。
在本申请实施例中,在节点执行成功的情况下,将输出结果传递给下游节点,在节点执行失败且下游节点达到调度条件同时需要该节点的节点结果的情况下,通过从赋值列表中获取节点对应的参考赋值作为节点结果,在实现节点的灵活调度的基础上,保证每个节点被调度时的正常执行。
作为一种可选的实施方式,如图4所示,上述利用上游节点列表中各个上游节点各自对应的节点结果,为当前节点中的执行参数进行赋值包括:
遍历上游节点列表,将各个上游节点依次作为当前上游节点,并执行以下操作:
S402,确定当前上游节点的当前执行结果;
S404,在当前上游节点的当前执行结果指示执行成功的情况下,确定在当前上游节点是关键上游节点;在当前上游节点是关键上游节点的情况下,获取当前上游节点的当前输出结果,并利用当前输出结果为对应的当前执行参数进行赋值,其中,当前节点的执行参数包括当前执行参数;
S406,在当前上游节点的当前执行结果指示执行失败的情况下,确定在当前上游节点是非关键上游节点;在当前上游节点是非关键上游节点的情况下,在赋值列表中查找为当前上游节点配置的当前参考赋值,并利用当前参考赋值对应的当前执行参数进行赋值。
可选地,依次确定当前节点的上游节点列表中所包括的每个上游节点的执行结果和节点结果,以确定当前节点是否满足调度条件以及执行参数。在上游节点的执行结果指示执行成功的情况下,将上游节点确定为关键上游节点,将执行子任务得到的任务结果作为输出结果,将输出结果作为节点结果。在上游节点的执行结果指示执行失败的情况下,将上游节点确定为非关键上游节点,将从赋值列表中获取到的参考赋值作为赋值结果,将赋值结果作为节点结果。
可选地,在获取到全部上游节点的执行结果和节点结果的情况下,统计关键上游节点,根据关键上游节点的统计结果确定是否达到当前节点的调度条件。
在本申请实施例中,通过上游节点的执行结果确定是否达到当前节点的调度条件,利用上游节点为当前节点的执行参数进行赋值,执行结果不同的上游节点的赋值方式不同,既增加了节点调度的灵活性,又保证了当前节点在达到调度条件可以按照赋值后的执行参数被调度以执行子任务。
作为一种可选的实施方式,上述当前节点的输出结果包括任务输出和相关输出,其中,任务输出是与调度当前节点的执行的当前子任务得到的输出数值,相关输出是用于指示执行当前子任务的属性数值,属性数值包括执行时长。
可选地,当前节点的输出结果不限于包括任务输出和相关输出。任务输出为执行当前子任务得到的任务结果,也就是任务输出数值,例如资源量数值。相关输出为与任务结果无关,但是可以指示当前子任务执行的属性参数的数值,例如,执行时长对应的数值,执行次数对应的数值等。
可选地,在下游节点的执行参数为任务输出对应的任务参数的情况下,利用任务输出的输出数值为任务参数进行赋值,利用赋有具体数值的任务参数进行下游节点的调度。在下游节点的执行参数为相关输出对应的属性参数的情况下,利用相关输出的属性数值为属性参数进行赋值,利用赋有具体数值的属性参数进行下游节点的调度。
可选地,赋值列表中存储有分别与任务输出和相关输出对应的参考赋值。执行参数可以同时包括任务参数和属性参数。
在本申请实施例中,将节点的输出结果分为任务输出和相关输出,并分别在赋值列表中存储对应的参考赋值,实现了可以为下游节点中不同类型的执行参数进行具体赋值,通过可赋值的执行参数的类型,进一步提高节点调度的灵活性。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本发明实施例的另一个方面,还提供了一种用于实施上述任务调度方法的任务调度装置。如图5所示,该装置包括:
确定单元502,用于从目标任务的调度逻辑中,确定出将要执行当前子任务的当前节点对应的上游节点列表,其中,调度逻辑中包括用于执行目标任务中多个子任务各自对应的节点的调度条件和执行参数,上游节点列表中包括在调度逻辑中位于当前节点之前且与当前节点直接相连的上游节点;
赋值单元504,用于在上游节点列表中关键上游节点达到当前节点的调度条件的情况下,利用上游节点列表中各个上游节点各自对应的节点结果,为当前节点中的执行参数进行赋值,其中,关键上游节点为执行结果指示为执行成功的节点,节点结果包括关键上游节点的输出结果,和上游节点列表中非关键上游节点的赋值结果;
调度单元506,用于按照被赋值后的执行参数调度当前节点执行当前子任务。
可选地,上述任务调度装置还包括第一确定单元,用于在利用上游节点列表中各个上游节点各自对应的节点结果,为当前节点中的执行参数进行赋值之前,在关键上游节点的节点数量大于第一阈值的情况下,确定关键上游节点对应的执行结果达到当前节点的调度条件。
可选地,上述任务调度装置还包括第二确定单元,用于在利用上游节点列表中各个上游节点各自对应的节点结果,为当前节点中的执行参数进行赋值之前,在关键上游节点在上游节点列表中所占的节点比例大于第二阈值的情况下,确定关键上游节点对应的执行结果达到当前节点的调度条件。
可选地,上述任务调度装置还包括第三确定单元,用于在利用上游节点列表中各个上游节点各自对应的节点结果,为当前节点中的执行参数进行赋值之前,在关键上游节点中包括特定上游节点的情况下,确定关键上游节点对应的执行结果达到当前节点的调度条件,其中,特定上游节点为预先选定的节点。
可选地,上述任务调度装置还包括传递单元,用于在按照被赋值后的执行参数调度当前节点执行当前子任务之后,包括:
第一传递模块,用于在当前节点执行当前子任务的执行结果指示为执行成功的情况下,将当前节点执行当前子任务后得到的输出结果传递给当前节点的下游节点;
第二传递模块,用于在当前节点执行当前子任务的执行结果指示为执行失败的情况下,从预先配置的赋值列表中确定出参考赋值,并将参考赋值传递给当前节点的下游节点。
可选地,上述赋值单元504包括:
遍历模块,用于遍历上游节点列表,将各个上游节点依次作为当前上游节点,并执行以下操作:
确定模块,用于确定当前上游节点的当前执行结果;
输出模块,用于在当前上游节点的当前执行结果指示执行成功的情况下,确定在当前上游节点是关键上游节点;在当前上游节点是关键上游节点的情况下,获取当前上游节点的当前输出结果,并利用当前输出结果为对应的当前执行参数进行赋值,其中,当前节点的执行参数包括当前执行参数;
查找模块,用于在当前上游节点的当前执行结果指示执行失败的情况下,确定在当前上游节点是非关键上游节点;在当前上游节点是非关键上游节点的情况下,在赋值列表中查找为当前上游节点配置的当前参考赋值,并利用当前参考赋值对应的当前执行参数进行赋值。
可选地,上述任务调度装置中的当前节点的输出结果包括任务输出和相关输出,其中,任务输出是与调度当前节点的执行的当前子任务得到的输出数值,相关输出是用于指示执行当前子任务的属性数值,属性数值包括执行时长。
在本申请实施例中,采用通过确定当前节点的上游节点列表,根据上游节点列表中的关键上游节点确定是否满足当前节点的调度条件,在满足当前节点的调度条件的情况下,利用上游节点的节点结果为当前节点的执行参数进行赋值,按照赋值后的执行参数调度当前节点以执行当前子任务的方式,通过上游节点中的关键上游节点确定当前节点的调度条件,根据上游节点的节点结果为当前节点的执行参数进行赋值,达到了通过执行结果指示执行成功的关键上游节点确定当前节点是否满足调度条件,将上游节点结果作为当前节点的执行参数目的,从而实现了灵活地为节点配置调度条件,同时利用上游节点的节点结果灵活地控制当前节点的调度执行的技术效果,进而解决了任务调度无法进行灵活调整导致的技术问题。
根据本发明实施例的又一个方面,还提供了一种用于实施上述任务调度方法的电子设备,该电子设备可以是图1所示的终端设备或服务器。本实施例以该电子设备为服务器为例来说明。如图6所示,该电子设备包括存储器602和处理器604,该存储器602中存储有计算机程序,该处理器604被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,从目标任务的调度逻辑中,确定出将要执行当前子任务的当前节点对应的上游节点列表,其中,调度逻辑中包括用于执行目标任务中多个子任务各自对应的节点的调度条件和执行参数,上游节点列表中包括在调度逻辑中位于当前节点之前且与当前节点直接相连的上游节点;
S2,在上游节点列表中关键上游节点达到当前节点的调度条件的情况下,利用上游节点列表中各个上游节点各自对应的节点结果,为当前节点中的执行参数进行赋值,其中,关键上游节点为执行结果指示为执行成功的节点,节点结果包括关键上游节点的输出结果,和上游节点列表中非关键上游节点的赋值结果;
S3,按照被赋值后的执行参数调度当前节点执行当前子任务。
可选地,本领域普通技术人员可以理解,图6所示的结构仅为示意,电子设备也可以是智能手机(如Android手机、IOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图6其并不对上述电子设备的结构造成限定。例如,电子设备还可包括比图6中所示更多或者更少的组件(如网络接口等),或者具有与图6所示不同的配置。
其中,存储器602可用于存储软件程序以及模块,如本发明实施例中的任务调度方法和装置对应的程序指令/模块,处理器604通过运行存储在存储器602内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的任务调度方法。存储器602可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器602可进一步包括相对于处理器604远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器602具体可以但不限于用于存储上游节点列表,调度条件,执行参数等信息。作为一种示例,如图6所示,上述存储器602中可以但不限于包括上述任务调度装置中的确定单元502、赋值单元504、和调度单元506。此外,还可以包括但不限于上述任务调度装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置606用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置606包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置606为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子设备还包括:显示器608,用于显示上述上游节点列表;和连接总线610,用于连接上述电子设备中的各个模块部件。
在其他实施例中,上述终端设备或者服务器可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成点对点(P2P,Peer To Peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任务调度方面的各种可选实现方式中提供的方法。其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,从目标任务的调度逻辑中,确定出将要执行当前子任务的当前节点对应的上游节点列表,其中,调度逻辑中包括用于执行目标任务中多个子任务各自对应的节点的调度条件和执行参数,上游节点列表中包括在调度逻辑中位于当前节点之前且与当前节点直接相连的上游节点;
S2,在上游节点列表中关键上游节点达到当前节点的调度条件的情况下,利用上游节点列表中各个上游节点各自对应的节点结果,为当前节点中的执行参数进行赋值,其中,关键上游节点为执行结果指示为执行成功的节点,节点结果包括关键上游节点的输出结果,和上游节点列表中非关键上游节点的赋值结果;
S3,按照被赋值后的执行参数调度当前节点执行当前子任务。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种任务调度方法,其特征在于,包括:
从目标任务的调度逻辑中,确定出将要执行当前子任务的当前节点对应的上游节点列表,其中,所述调度逻辑中包括用于执行所述目标任务中多个子任务各自对应的节点的调度条件和执行参数,所述上游节点列表中包括在所述调度逻辑中位于所述当前节点之前且与所述当前节点直接相连的上游节点;
在所述上游节点列表中关键上游节点达到所述当前节点的调度条件的情况下,利用所述上游节点列表中各个上游节点各自对应的节点结果,为所述当前节点中的执行参数进行赋值,其中,所述关键上游节点为执行结果指示为执行成功的节点,所述节点结果包括所述关键上游节点的输出结果,和所述上游节点列表中非关键上游节点的赋值结果;
按照被赋值后的执行参数调度所述当前节点执行所述当前子任务。
2.根据权利要求1所述的方法,其特征在于,在所述利用所述上游节点列表中各个上游节点各自对应的节点结果,为所述当前节点中的执行参数进行赋值之前,还包括:
在所述关键上游节点的节点数量大于第一阈值的情况下,确定所述关键上游节点对应的执行结果达到所述当前节点的调度条件。
3.根据权利要求1所述的方法,其特征在于,在所述利用所述上游节点列表中各个上游节点各自对应的节点结果,为所述当前节点中的执行参数进行赋值之前,还包括:
在所述关键上游节点在所述上游节点列表中所占的节点比例大于第二阈值的情况下,确定所述关键上游节点对应的执行结果达到所述当前节点的调度条件。
4.根据权利要求1所述的方法,其特征在于,在所述利用所述上游节点列表中各个上游节点各自对应的节点结果,为所述当前节点中的执行参数进行赋值之前,还包括:
在所述关键上游节点中包括特定上游节点的情况下,确定所述关键上游节点对应的执行结果达到所述当前节点的调度条件,其中,所述特定上游节点为预先选定的节点。
5.根据权利要求1所述的方法,其特征在于,在所述按照被赋值后的执行参数调度所述当前节点执行所述当前子任务之后,包括:
在所述当前节点执行所述当前子任务的执行结果指示为执行成功的情况下,将所述当前节点执行所述当前子任务后得到的输出结果传递给所述当前节点的下游节点;
在所述当前节点执行所述当前子任务的执行结果指示为执行失败的情况下,从预先配置的赋值列表中确定出参考赋值,并将所述参考赋值传递给所述当前节点的下游节点。
6.根据权利要求5所述的方法,其特征在于,利用所述上游节点列表中各个上游节点各自对应的节点结果,为所述当前节点中的执行参数进行赋值包括:
遍历所述上游节点列表,将各个上游节点依次作为当前上游节点,并执行以下操作:
确定所述当前上游节点的当前执行结果;
在当前上游节点的当前执行结果指示执行成功的情况下,确定所述在当前上游节点是所述关键上游节点;在当前上游节点是所述关键上游节点的情况下,获取所述当前上游节点的当前输出结果,并利用所述当前输出结果为对应的当前执行参数进行赋值,其中,所述当前节点的执行参数包括所述当前执行参数;
在当前上游节点的当前执行结果指示执行失败的情况下,确定所述在当前上游节点是所述非关键上游节点;在当前上游节点是所述非关键上游节点的情况下,在所述赋值列表中查找为所述当前上游节点配置的当前参考赋值,并利用所述当前参考赋值对应的当前执行参数进行赋值。
7.根据权利要求1至6任一项所述的方法,其特征在于:
所述当前节点的输出结果包括任务输出和相关输出,其中,所述任务输出是与调度所述当前节点的执行的所述当前子任务得到的输出数值,所述相关输出是用于指示执行所述当前子任务的属性数值,所述属性数值包括执行时长。
8.一种任务调度装置,其特征在于,包括:
确定单元,用于从目标任务的调度逻辑中,确定出将要执行当前子任务的当前节点对应的上游节点列表,其中,所述调度逻辑中包括用于执行所述目标任务中多个子任务各自对应的节点的调度条件和执行参数,所述上游节点列表中包括在所述调度逻辑中位于所述当前节点之前且与所述当前节点直接相连的上游节点;
赋值单元,用于在所述上游节点列表中关键上游节点达到所述当前节点的调度条件的情况下,利用所述上游节点列表中各个上游节点各自对应的节点结果,为所述当前节点中的执行参数进行赋值,其中,所述关键上游节点为执行结果指示为执行成功的节点,所述节点结果包括所述关键上游节点的输出结果,和所述上游节点列表中非关键上游节点的赋值结果;
调度单元,用于按照被赋值后的执行参数调度所述当前节点执行所述当前子任务。
9.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,所述程序运行时执行所述权利要求1至7任一项中所述的方法。
10.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至7任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110846869.8A CN113504981A (zh) | 2021-07-26 | 2021-07-26 | 任务调度方法和装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110846869.8A CN113504981A (zh) | 2021-07-26 | 2021-07-26 | 任务调度方法和装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113504981A true CN113504981A (zh) | 2021-10-15 |
Family
ID=78014616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110846869.8A Pending CN113504981A (zh) | 2021-07-26 | 2021-07-26 | 任务调度方法和装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113504981A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116225639A (zh) * | 2022-12-13 | 2023-06-06 | 深圳市迈科龙电子有限公司 | 任务分配方法、装置、电子设备及可读存储介质 |
-
2021
- 2021-07-26 CN CN202110846869.8A patent/CN113504981A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116225639A (zh) * | 2022-12-13 | 2023-06-06 | 深圳市迈科龙电子有限公司 | 任务分配方法、装置、电子设备及可读存储介质 |
CN116225639B (zh) * | 2022-12-13 | 2023-10-27 | 深圳市迈科龙电子有限公司 | 任务分配方法、装置、电子设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11704144B2 (en) | Creating virtual machine groups based on request | |
CN109845303B (zh) | 网络切片的管理方法及管理单元 | |
CN107733708B (zh) | 设备参数配置方法、装置、计算机设备和存储介质 | |
CN110532077B (zh) | 任务处理方法、装置及存储介质 | |
CN106528289B (zh) | 资源的操作处理方法及装置 | |
US20160344582A1 (en) | Call home cluster | |
CN109600769B (zh) | 通信方法及装置 | |
CN111654399B (zh) | 基于sd-wan的组网方法、装置、设备及存储介质 | |
CN112416969B (zh) | 分布式数据库中的并行任务调度系统 | |
US20180242177A1 (en) | Monitoring management method and apparatus | |
CN109964507A (zh) | 网络功能的管理方法、管理单元及系统 | |
CN112965817B (zh) | 资源管理方法、装置和电子设备 | |
CN111459676B (zh) | 一种节点资源管理方法、装置及存储介质 | |
CN111447143A (zh) | 业务服务数据传输方法、装置、计算机设备和存储介质 | |
CN113504981A (zh) | 任务调度方法和装置、存储介质及电子设备 | |
CN112748961A (zh) | 启动任务的执行方法和装置 | |
CN107534678B (zh) | 建立vnfm与vim之间的连接的方法、装置及系统 | |
CN110851166A (zh) | 用户无感知的应用程序更新方法、装置及计算机设备 | |
CN114173396A (zh) | 终端联网时间的确定方法和装置、电子设备和存储介质 | |
CN114564249A (zh) | 推荐调度引擎、推荐调度方法及计算机可读存储介质 | |
CN113535402A (zh) | 基于5g mec的负载均衡处理方法、装置及电子设备 | |
CN112667386A (zh) | 任务管理方法和装置、存储介质及电子设备 | |
CN114338535B (zh) | 基于zookeeper的集群限流方法、系统、设备及存储介质 | |
CN110659139A (zh) | 一种远程过程调用方法、计算机设备和存储介质 | |
CN108712483A (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 |