CN110750341A - 任务调度方法、装置、系统、终端设备及存储介质 - Google Patents
任务调度方法、装置、系统、终端设备及存储介质 Download PDFInfo
- Publication number
- CN110750341A CN110750341A CN201810821272.6A CN201810821272A CN110750341A CN 110750341 A CN110750341 A CN 110750341A CN 201810821272 A CN201810821272 A CN 201810821272A CN 110750341 A CN110750341 A CN 110750341A
- Authority
- CN
- China
- Prior art keywords
- task
- executed
- node
- execution
- scheduling
- 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
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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种任务调度方法,包括:获取待执行任务以及所述待执行任务对应的任务类型;根据所述任务类型调取执行所述待执行任务的任务执行节点;将所述待执行任务发送至所述任务执行节点,以便所述任务执行节点执行所述待执行任务。本发明实施例中,通过将调度任务和执行任务进行分离,使得调度应用只进行任务调度功能,而执行应用只进行任务执行功能,从而使得可以单独部署各应用,并可进行各应用的动态扩展,降低任务系统的复杂性和冗余度,提高任务系统的调度性能,以确保任务的有效执行,并提高任务的执行效率。本发明还提供一种任务调度装置、任务调度系统及计算机可读存储介质。
Description
技术领域
本发明涉及计算机应用技术领域,尤其涉及一种任务调度方法、任务调度装置、任务调度系统、终端设备及计算机可读存储介质。
背景技术
随着计算机技术的发展,定时任务的应用越来越广泛,定时任务的执行数量和执行种类也越来越多,而提高任务系统的调度性能是保证定时任务有效执行的关键。但是,在现有技术的任务调度中,任务的调度和执行都在同一个应用中,不仅提高了任务系统的复杂性和冗余度,也不利于应用的动态扩展,使得在执行任务增多、调度任务加重的情况下,极大地限制了任务系统的调度性能,并给任务的有效执行带来了巨大的风险。
综上,如何提高任务系统的调度性能以确保任务的有效执行成为本领域亟待解决的技术问题。
发明内容
本发明实施例提供了一种任务调度方法、任务调度装置、任务调度系统、终端设备及计算机可读存储介质,能够提高任务系统的调度性能以确保任务的有效执行,并提高任务的执行效率。
本发明实施例的第一方面,提供了一种任务调度方法,包括:
获取待执行任务以及所述待执行任务对应的任务类型;
根据所述任务类型调取执行所述待执行任务的任务执行节点;
将所述待执行任务发送至所述任务执行节点,以便所述任务执行节点执行所述待执行任务。
进一步地,所述根据所述任务类型调取执行所述待执行任务的任务执行节点,包括:
根据所述任务类型确定执行所述待执行任务的节点组;
从所述节点组中调取执行所述待执行任务的任务执行节点。
优选地,所述从所述节点组中调取执行所述待执行任务的任务执行节点,包括:
获取所述节点组中任务执行的执行策略;
根据所述执行策略从所述节点组中调取执行所述待执行任务的任务执行节点。
可选地,所述执行策略包括随机策略、权重策略或者轮询策略。
进一步地,在将所述待执行任务发送至所述任务执行节点,以便所述任务执行节点执行所述待执行任务之后,包括:
接收所述任务执行节点返回的执行结果信息;
当所述执行结果信息为所述待执行任务执行失败时,根据所述任务类型判断是否继续执行所述待执行任务;
若继续执行所述待执行任务,则返回执行根据所述任务类型调取执行所述待执行任务的任务执行节点的步骤以及后续步骤。
本发明实施例的第二方面,提供了一种任务调度装置,包括:
任务获取模块,用于获取待执行任务以及所述待执行任务对应的任务类型;
执行节点调取模块,用于根据所述任务类型调取执行所述待执行任务的任务执行节点;
执行任务发送模块,用于将所述待执行任务发送至所述任务执行节点,以便所述任务执行节点执行所述待执行任务。
本发明实施例的第三方面,提供了一种任务调度系统,包括任务调度节点以及与所述任务调度节点分离设置的任务执行节点,所述任务调度节点和所述任务执行节点分布式部署和分布式运行,其中,
所述任务调度节点,用于执行如前述第一方面所述的任务调度方法,以进行待执行任务的任务调度;
所述任务执行节点,用于根据所述任务调度节点的任务调度执行所述待执行任务。
进一步地,所述任务调度系统还包括Zookeeper管理中心;
所述Zookeeper管理中心与所述任务执行节点相连,用于获取所述任务执行节点的状态信息,以供所述任务调度节点的查询、调取。
优选地,所述任务调度系统还包括消息系统;
所述消息系统分别与所述任务调度节点和所述任务执行节点相连,用于进行所述任务调度节点与所述任务执行节点之间消息的传递。
本发明实施例的第四方面,提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如前述第一方面所述任务调度方法的步骤。
本发明实施例的第五方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如前述第一方面所述任务调度方法的步骤。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明实施例中,首先,获取待执行任务以及所述待执行任务对应的任务类型;其次,根据所述任务类型调取执行所述待执行任务的任务执行节点;最后,将所述待执行任务发送至所述任务执行节点,以便所述任务执行节点执行所述待执行任务。本发明实施例中,通过将调度任务和执行任务进行分离,使得调度应用只进行任务调度功能,而执行应用只进行任务执行功能,从而使得可以单独部署各应用,并可进行各应用的动态扩展,降低任务系统的复杂性和冗余度,提高任务系统的调度性能,以确保任务的有效执行,并提高任务的执行效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的一种任务调度系统的系统结构图;
图2为本发明实施例二提供的一种任务调度方法的方法流程图;
图3为本发明实施例二提供的一种任务调度方法在一个应用场景下的流程示意图;
图4为本发明实施例三提供的一种任务调度装置的结构示意图;
图5为本发明实施例四提供的一种终端设备的设备示意图。
具体实施方式
本发明实施例提供了一种任务调度方法、任务调度装置、任务调度系统、终端设备及计算机可读存储介质,用于提高任务系统的调度性能以确保任务的有效执行,并提高任务的执行效率。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如图1所示,本发明实施例一提供了一种任务调度系统,所述任务调度系统包括任务调度节点10以及与所述任务调度节点10分离设置的任务执行节点20,所述任务调度节点10和所述任务执行节点20分布式部署和分布式运行,其中,所述任务调度节点10,用于执行任务调度方法,以进行待执行任务的任务调度;所述任务执行节点20,用于根据所述任务调度节点10的任务调度执行所述待执行任务。
需要说明的是,本实施例中,所述任务调度节点10和所述任务执行节点20相分离设置,所述任务调度节点10只执行任务调度功能,而不执行具体任务;所述任务执行节点20则具体执行任务,而不负责任务的调度,使得所述任务调度节点10和所述任务执行节点20均符合单一职责原则,并通过分离设置可对两者进行单独部署,使得任务调度节点10和任务执行节点20均可按需动态扩展,以提高任务执行效率。
进一步地,所述任务调度系统还包括Zookeeper管理中心30、消息系统40以及管理控制中心50。在此,本实施例中,Zookeeper管理中心30与任务执行节点20相连,即所有任务执行节点20均可注册在Zookeeper管理中心30中,Zookeeper管理中心30则可对注册在其中的任务执行节点20进行状态监测,以实时获取、保存各任务执行节点20的状态信息。任务调度节点10则可通过访问Zookeeper管理中心30来获知所有任务执行节点20以及对应的状态信息,例如当有新的任务执行节点20加入时,任务调度节点10即可通过访问Zookeeper管理中心30获知该新加入的任务执行节点20和对应的状态信息。需要说明的是,图1中为示图清楚,仅将部分任务执行节点20与Zookeeper管理中心30通信连接,但可以理解的是,本实施例中的所有任务执行节点20均与Zookeeper管理中心30通信连接。
可以理解的是,本实施例中,消息系统40,为分布式开放消息系统RocketMQ,其分别与任务调度节点10和任务执行节点20相连,用于进行任务调度节点10与任务执行节点20之间消息的传递,如接收任务执行节点20执行结束后的执行结果信息,并将所接收到的执行结果信息传递给任务调度节点10。在此,通过消息系统40来进行消息的传递可提高消息传递的可靠性,同时消息系统40还可以对接收到的消息进行分类存储,以在消息传递过程中起到缓冲作用。需要说明的是,图1中为示图清楚,仅将部分任务执行节点20与消息系统40通信连接,但可以理解的是,本实施例中的所有任务执行节点20均与消息系统40通信连接。
可以理解的是,管理控制中心50可用于接收待执行任务,并实时获取、存储各待执行任务的任务状态,而当管理控制中心50存在未执行的待执行任务时,任务调度节点10则可前往管理控制中心50中领取该未执行的待执行任务,进而调度对应的任务执行节点20来执行该未执行的待执行任务,即直接将该未执行的待执行任务下发至对应的任务执行节点20执行。需要说明的是,本实施例中的任一任务调度节点10均可直接调度注册至Zookeeper管理中心30的所有任务执行节点10,图1中为示图清楚,仅对其进行部分示意,但不应理解为对本实施例的限制。
下面基于上述任务调度系统来结合实施例二对任务调度方法进行描述,其中,本实施例中任务调度方法的执行主体为任务调度节点10。如图2所示,本发明实施例二提供了一种任务调度方法,所述任务调度方法,包括:
步骤S201、获取待执行任务以及所述待执行任务对应的任务类型。
可以理解的是,本实施例中,可通过管理控制中心50添加待执行任务,并设定所述待执行任务所对应的任务类型,如为重复任务、一次性任务、一次性定时任务等等,管理控制中心50获取到该待执行任务后,即将该待执行任务以及其所对应的任务类型传递至任务调度节点10,或者供任务调度节点10自行前往领取。
步骤S202、根据所述任务类型调取执行所述待执行任务的任务执行节点。
本实施例中,任务调度节点10在获取到该待执行任务以及其所对应的任务类型后,即可根据该任务类型来调取执行该待执行任务的任务执行节点20。
进一步地,本实施例中,所述根据所述任务类型调取执行所述待执行任务的任务执行节点,可以包括:步骤a、根据所述任务类型确定执行所述待执行任务的节点组;步骤b、从所述节点组中调取执行所述待执行任务的任务执行节点。
可以理解的是,本实施例中,任务执行节点20在注册至Zookeeper管理中心30时,可根据其可执行的任务类型在Zookeeper管理中心30注册对应的分组信息,即注册于Zookeeper管理中心30中的任务执行节点20可根据对应的分组信息划分为若干个节点组,其中,每一节点组中包括至少一个任务执行节点,每一个任务执行节点可执行至少一种类型的任务,且同一节点组内的任务执行节点可执行的任务类型相同。
在此,在获取了待执行任务所对应的任务类型后,即可根据该任务类型确定可执行该待执行任务的节点组,随后可从所确定的节点组中调取具体执行该待执行任务的任务执行节点20。具体地,所述从所述节点组中调取执行所述待执行任务的任务执行节点,可以包括:步骤e、获取所述节点组中任务执行的执行策略;步骤f、根据所述执行策略从所述节点组中调取执行所述待执行任务的任务执行节点。优选地,所述执行策略包括随机策略、权重策略或者轮询策略。
可以理解的是,本实施例中,可预先设置节点组中任务执行的执行策略,即从节点组中选取任务执行节点来执行任务的选取策略,如随机策略、权重策略、轮询策略等等。其中,随机策略为随机选取节点组中的任务执行节点,权重策略为根据权重信息选取节点组中的任务执行节点,轮询策略为通过轮询方式选取节点组中的任务执行节点。因而,在通过管理控制中心50添加待执行任务时,可同时选择对应的任务执行的执行策略,以根据所选择的执行策略从所确定的节点组中调取具体的任务执行节点。当然,本实施例中,也可以在进行执行节点分组时,直接设置与各节点组对应的执行策略,以在确定节点组后,直接根据该节点组所对应的执行策略来调取具体的任务执行节点。
如在某一具体应用中,根据待执行任务A的任务类型确定了执行待执行任务A的节点组为节点组A,而节点组A所对应的执行策略为随机策略,或者在添加待执行任务A时,所选择的执行策略为随机策略,因而,在从节点组A中调取具体执行的任务执行节点时,首先生成一随机数,然后用该随机数除以节点组A中任务执行节点的个数,得到余数,以根据余数来调取节点组A中具体执行的任务执行节点,假设所得到的余数为4,则调取节点组A中的第四个任务执行节点来执行该待执行任务A。
又如,在另一具体应用中,根据待执行任务B的任务类型确定了执行该待执行任务B的节点组为节点组B,而节点组B所对应的执行策略为权重策略,或者在添加待执行任务B时,所选择的执行策略为权重策略。在权重策略中,预先对节点组B中的各任务执行节点进行了预设权重的设置,而预设权重大的任务执行节点被调取执行待执行任务的概率高于预设权重小的任务执行节点被调取执行待执行任务的概率。因而,在获取到待执行任务B后,可根据预设权重的大小顺序从节点组B中调取任务执行节点来执行该待执行任务B,即首先调取预设权重最大的任务执行节点来执行该待执行任务B,若预设权重最大的任务执行节点无法执行任务或者无法执行该待执行任务B时,则可进而调取预设权重次大的任务执行节点来执行该待执行任务B,以此类推。
再如,在又一具体应用中,根据待执行任务C的任务类型确定了执行该待执行任务C的节点组为节点组C,而节点组C所对应的执行策略为轮询策略,或者在添加待执行任务C时,所选择的执行策略为轮询策略。在轮询策略中,根据节点组C内任务执行节点的数量,一个一个轮询请求处理,如调取第一任务执行节点来执行第一个待执行任务C,调取第二任务执行节点来执行第二个待执行任务C,调取第三任务执行节点来执行第三个待执行任务C,依次类推。因而,在获取到待执行任务C后,首先统计该待执行任务C是由节点组C执行的第几个待执行任务,然后据此调取节点组C中具体执行该待执行任务C的任务执行节点,假设确定该待执行任务C是由节点组C执行的第3个待执行任务的话,则调取节点组C中的第三任务执行节点来执行该待执行任务C。
步骤S203、将所述待执行任务发送至所述任务执行节点,以便所述任务执行节点执行所述待执行任务。
可以理解的是,在调取了具体的任务执行节点后,任务调度节点10即可将该待执行任务发送至所调取的任务执行节点,所调取的任务执行节点在接收到该待执行任务后,即可执行该待执行任务。
为便于理解,根据图2所描述的实施例,下面以一个实际应用场景对本发明实施例二中的一种任务调度方法进行描述:
具体地,如图3所示,本场景下,所述任务调度方法,包括:步骤S301、步骤S302、步骤S303、步骤S304、步骤S305及步骤S306。
其中,步骤S301、获取待执行任务以及所述待执行任务对应的任务类型与上述步骤S201相似;步骤S302、根据所述任务类型调取执行所述待执行任务的任务执行节点与上述步骤S202相似;步骤S303、将所述待执行任务发送至所述任务执行节点,以便所述任务执行节点执行所述待执行任务与上述步骤S203相似,为简明起见,在此不再赘述。
步骤S304、接收所述任务执行节点返回的执行结果信息;
步骤S305、根据所述执行结果信息判断所述待执行任务是否执行失败;
步骤S306、当所述待执行任务执行失败时,根据所述任务类型判断是否继续执行所述待执行任务,若继续执行所述待执行任务,则返回执行根据所述任务类型调取执行所述待执行任务的任务执行节点的步骤以及后续步骤。
对于上述步骤S304至步骤S306,可以理解的是,当任务执行节点对待执行任务执行结束后,其会将是否执行成功的执行结果信息发送至消息系统40,以通过消息系统40传递给任务调度节点10,任务调度节点10在获取了该执行结果信息后,即可根据该执行结果信息判断此次的待执行任务是否执行成功。若执行成功的话,则仅将该执行结果信息进行记录;而当执行失败时,则根据该待执行任务的任务类型判断是否需要继续执行该待执行任务,如对于一次性任务或者一次性定时任务,若执行失败时,则需要继续执行,因而再次调取执行一次性任务或者执行一次性定时任务的任务执行节点来执行该待执行任务,或者将该待执行任务重新发送至之前执行失败的任务执行节点来重新执行。
本实施例中,首先,获取待执行任务以及所述待执行任务对应的任务类型;其次,根据所述任务类型调取执行所述待执行任务的任务执行节点;最后,将所述待执行任务发送至所述任务执行节点,以便所述任务执行节点执行所述待执行任务。本实施例中,通过将调度任务和执行任务进行分离,使得调度应用只进行任务调度功能,而执行应用只进行任务执行功能,从而使得可以单独部署各应用,并可进行各应用的动态扩展,降低任务系统的复杂性和冗余度,提高任务系统的调度性能,以确保任务的有效执行,并提高任务的执行效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
上面主要描述了一种任务调度方法,下面将对一种任务调度装置进行详细描述。此处的任务调度装置即为上述任务调度系统中所述的任务调度节点10。
图4示出了本发明实施例二中任务调度装置一个实施例结构图。如图4所示,所述任务调度装置,包括:
任务获取模块401,用于获取待执行任务以及所述待执行任务对应的任务类型;
执行节点调取模块402,用于根据所述任务类型调取执行所述待执行任务的任务执行节点;
执行任务发送模块403,用于将所述待执行任务发送至所述任务执行节点,以便所述任务执行节点执行所述待执行任务。
进一步地,所述执行节点调取模块402,包括:
节点组确定单元,用于根据所述任务类型确定执行所述待执行任务的节点组;
执行节点调取单元,用于从所述节点组中调取执行所述待执行任务的任务执行节点。
优选地,所述执行节点调取单元,包括:
执行策略获取子单元,用于获取所述节点组中任务执行的执行策略;
执行节点调取子单元,用于根据所述执行策略从所述节点组中调取执行所述待执行任务的任务执行节点。
可选地,所述执行策略包括随机策略、权重策略或者轮询策略。
进一步地,所述任务调度装置10,还包括:
执行结果接收模块,用于接收所述任务执行节点返回的执行结果信息;
执行结果判断模块,用于当所述执行结果信息为所述待执行任务执行失败时,根据所述任务类型判断是否继续执行所述待执行任务;
继续执行模块,用于若继续执行所述待执行任务,则返回执行根据所述任务类型调取执行所述待执行任务的任务执行节点的步骤以及后续步骤。
图5是本发明实施例四提供的一种终端设备的示意图。如图5所示,该实施例的终端设备500包括:处理器501、存储器502以及存储在所述存储器502中并可在所述处理器501上运行的计算机程序503,例如任务调度程序。所述处理器501执行所述计算机程序503时实现上述各个任务调度方法实施例中的步骤,例如图2所示的步骤S201至步骤S203。或者,所述处理器501执行所述计算机程序503时实现上述各装置实施例中各模块/单元的功能,例如图4所示的模块401至模块403的功能。
示例性的,所述计算机程序503可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器502中,并由所述处理器501执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序503在所述终端设备500中的执行过程。例如,所述计算机程序503可以被分割成任务获取模块、执行节点调取模块、执行任务发送模块,各模块具体功能如下:
任务获取模块,用于获取待执行任务以及所述待执行任务对应的任务类型;
执行节点调取模块,用于根据所述任务类型调取执行所述待执行任务的任务执行节点;
执行任务发送模块,用于将所述待执行任务发送至所述任务执行节点,以便所述任务执行节点执行所述待执行任务。
所述终端设备500可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器501、存储器502。本领域技术人员可以理解,图5仅仅是终端设备500的示例,并不构成对终端设备500的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所述处理器501可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器502可以是所述终端设备400的内部存储单元,例如终端设备500的硬盘或内存。所述存储器502也可以是所述终端设备500的外部存储设备,例如所述终端设备400上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器502还可以既包括所述终端设备500的内部存储单元也包括外部存储设备。所述存储器502用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器502还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各实施例的模块、单元和/或方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (11)
1.一种任务调度方法,其特征在于,包括:
获取待执行任务以及所述待执行任务对应的任务类型;
根据所述任务类型调取执行所述待执行任务的任务执行节点;
将所述待执行任务发送至所述任务执行节点,以便所述任务执行节点执行所述待执行任务。
2.根据权利要求1所述的任务调度方法,其特征在于,所述根据所述任务类型调取执行所述待执行任务的任务执行节点,包括:
根据所述任务类型确定执行所述待执行任务的节点组;
从所述节点组中调取执行所述待执行任务的任务执行节点。
3.根据权利要求2所述的任务调度方法,其特征在于,所述从所述节点组中调取执行所述待执行任务的任务执行节点,包括:
获取所述节点组中任务执行的执行策略;
根据所述执行策略从所述节点组中调取执行所述待执行任务的任务执行节点。
4.根据权利要求3所述的任务调度方法,其特征在于,所述执行策略包括随机策略、权重策略或者轮询策略。
5.根据权利要求1至4中任一项所述的任务调度方法,其特征在于,在将所述待执行任务发送至所述任务执行节点,以便所述任务执行节点执行所述待执行任务之后,包括:
接收所述任务执行节点返回的执行结果信息;
当所述执行结果信息为所述待执行任务执行失败时,根据所述任务类型判断是否继续执行所述待执行任务;
若继续执行所述待执行任务,则返回执行根据所述任务类型调取执行所述待执行任务的任务执行节点的步骤以及后续步骤。
6.一种任务调度装置,其特征在于,包括:
任务获取模块,用于获取待执行任务以及所述待执行任务对应的任务类型;
执行节点调取模块,用于根据所述任务类型调取执行所述待执行任务的任务执行节点;
执行任务发送模块,用于将所述待执行任务发送至所述任务执行节点,以便所述任务执行节点执行所述待执行任务。
7.一种任务调度系统,其特征在于,包括任务调度节点以及与所述任务调度节点分离设置的任务执行节点,所述任务调度节点和所述任务执行节点分布式部署和分布式运行,其中,
所述任务调度节点,用于执行如权利要求1至5中任一项所述的任务调度方法,以进行待执行任务的任务调度;
所述任务执行节点,用于根据所述任务调度节点的任务调度执行所述待执行任务。
8.根据权利要求7所述的任务调度系统,其特征在于,所述任务调度系统还包括Zookeeper管理中心;
所述Zookeeper管理中心与所述任务执行节点相连,用于获取所述任务执行节点的状态信息,以供所述任务调度节点的查询、调取。
9.根据权利要求7或者8所述的任务调度系统,其特征在于,所述任务调度系统还包括消息系统;
所述消息系统分别与所述任务调度节点和所述任务执行节点相连,用于进行所述任务调度节点与所述任务执行节点之间消息的传递。
10.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5中任一项所述任务调度方法的步骤。
11.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述任务调度方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810821272.6A CN110750341B (zh) | 2018-07-24 | 2018-07-24 | 任务调度方法、装置、系统、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810821272.6A CN110750341B (zh) | 2018-07-24 | 2018-07-24 | 任务调度方法、装置、系统、终端设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110750341A true CN110750341A (zh) | 2020-02-04 |
CN110750341B CN110750341B (zh) | 2022-08-02 |
Family
ID=69275518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810821272.6A Active CN110750341B (zh) | 2018-07-24 | 2018-07-24 | 任务调度方法、装置、系统、终端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110750341B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111324435A (zh) * | 2020-02-06 | 2020-06-23 | 北京奇艺世纪科技有限公司 | 分布式任务调度及注册方法、设备和分布式任务调度系统 |
CN111522646A (zh) * | 2020-04-30 | 2020-08-11 | 北京江融信科技有限公司 | 用于批次调度中心与批次应用服务之间的注册方法及系统 |
CN112181610A (zh) * | 2020-08-28 | 2021-01-05 | 深圳市优必选科技股份有限公司 | 一种任务处理系统 |
CN112965796A (zh) * | 2021-03-01 | 2021-06-15 | 亿企赢网络科技有限公司 | 一种任务调度系统、方法和装置 |
CN113630438A (zh) * | 2021-06-25 | 2021-11-09 | 微梦创科网络科技(中国)有限公司 | 流处理任务调度方法和分布式流处理系统 |
CN113703929A (zh) * | 2020-05-20 | 2021-11-26 | 中国移动通信集团浙江有限公司 | 一种任务调度方法、系统、计算设备和存储介质 |
CN113778644A (zh) * | 2021-08-18 | 2021-12-10 | 煤炭科学研究总院 | 任务的处理方法、装置、设备及存储介质 |
CN113867911A (zh) * | 2021-09-26 | 2021-12-31 | 聚好看科技股份有限公司 | 一种任务调度方法、设备及微服务系统 |
CN114327819A (zh) * | 2021-12-24 | 2022-04-12 | 北京百度网讯科技有限公司 | 一种任务管理方法、装置、设备及存储介质 |
CN114691241A (zh) * | 2022-04-19 | 2022-07-01 | 中煤航测遥感集团有限公司 | 任务执行方法、装置、电子设备及存储介质 |
CN116820709A (zh) * | 2023-05-26 | 2023-09-29 | 京信数据科技有限公司 | 任务链的运行方法、装置、终端及计算机存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101006427A (zh) * | 2004-06-15 | 2007-07-25 | 索尼计算机娱乐公司 | 处理管理装置、计算机系统、分布式处理方法和计算机程序 |
CN101819540A (zh) * | 2009-02-27 | 2010-09-01 | 国际商业机器公司 | 在集群中调度任务的方法和系统 |
CN101957780A (zh) * | 2010-08-17 | 2011-01-26 | 中国电子科技集团公司第二十八研究所 | 一种基于资源状态信息的网格任务调度处理器及方法 |
CN104915259A (zh) * | 2015-06-15 | 2015-09-16 | 浪潮软件集团有限公司 | 一种应用于分布式采集系统的任务调度方法 |
CN105718244A (zh) * | 2016-01-18 | 2016-06-29 | 上海交通大学 | 一种流水化数据洗牌传输的Spark任务调度与执行方法 |
US20160292013A1 (en) * | 2012-12-10 | 2016-10-06 | Zte Corporation | Method and System for Scheduling Task in Cloud Computing |
CN106897132A (zh) * | 2017-02-27 | 2017-06-27 | 郑州云海信息技术有限公司 | 一种服务器任务调度的方法以及装置 |
CN107016480A (zh) * | 2016-01-28 | 2017-08-04 | 五八同城信息技术有限公司 | 任务调度方法、装置及系统 |
CN107968836A (zh) * | 2017-12-06 | 2018-04-27 | 北京星河星云信息技术有限公司 | 一种任务分发方法及装置 |
CN108259373A (zh) * | 2016-12-29 | 2018-07-06 | 中移(苏州)软件技术有限公司 | 一种数据分配调度的方法及系统 |
CN108255592A (zh) * | 2017-12-19 | 2018-07-06 | 武汉市烽视威科技有限公司 | 一种Quartz集群定时任务处理系统及方法 |
CN108255589A (zh) * | 2017-08-29 | 2018-07-06 | 平安科技(深圳)有限公司 | 任务调度方法及服务器 |
-
2018
- 2018-07-24 CN CN201810821272.6A patent/CN110750341B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101006427A (zh) * | 2004-06-15 | 2007-07-25 | 索尼计算机娱乐公司 | 处理管理装置、计算机系统、分布式处理方法和计算机程序 |
CN101819540A (zh) * | 2009-02-27 | 2010-09-01 | 国际商业机器公司 | 在集群中调度任务的方法和系统 |
CN101957780A (zh) * | 2010-08-17 | 2011-01-26 | 中国电子科技集团公司第二十八研究所 | 一种基于资源状态信息的网格任务调度处理器及方法 |
US20160292013A1 (en) * | 2012-12-10 | 2016-10-06 | Zte Corporation | Method and System for Scheduling Task in Cloud Computing |
CN104915259A (zh) * | 2015-06-15 | 2015-09-16 | 浪潮软件集团有限公司 | 一种应用于分布式采集系统的任务调度方法 |
CN105718244A (zh) * | 2016-01-18 | 2016-06-29 | 上海交通大学 | 一种流水化数据洗牌传输的Spark任务调度与执行方法 |
CN107016480A (zh) * | 2016-01-28 | 2017-08-04 | 五八同城信息技术有限公司 | 任务调度方法、装置及系统 |
CN108259373A (zh) * | 2016-12-29 | 2018-07-06 | 中移(苏州)软件技术有限公司 | 一种数据分配调度的方法及系统 |
CN106897132A (zh) * | 2017-02-27 | 2017-06-27 | 郑州云海信息技术有限公司 | 一种服务器任务调度的方法以及装置 |
CN108255589A (zh) * | 2017-08-29 | 2018-07-06 | 平安科技(深圳)有限公司 | 任务调度方法及服务器 |
CN107968836A (zh) * | 2017-12-06 | 2018-04-27 | 北京星河星云信息技术有限公司 | 一种任务分发方法及装置 |
CN108255592A (zh) * | 2017-12-19 | 2018-07-06 | 武汉市烽视威科技有限公司 | 一种Quartz集群定时任务处理系统及方法 |
Non-Patent Citations (2)
Title |
---|
YIFENG ZHOU等: ""Agent Division and Fusion for Task Execution in Undependable Multiagent Systems"", 《2014 IEEE 26TH INTERNATIONAL CONFERENCE ON TOOLS WITH ARTIFICIAL INTELLIGENCE》 * |
张丽晓等: ""基于任务类型的集群调度策略"", 《计算机工程》 * |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111324435A (zh) * | 2020-02-06 | 2020-06-23 | 北京奇艺世纪科技有限公司 | 分布式任务调度及注册方法、设备和分布式任务调度系统 |
CN111522646A (zh) * | 2020-04-30 | 2020-08-11 | 北京江融信科技有限公司 | 用于批次调度中心与批次应用服务之间的注册方法及系统 |
CN113703929A (zh) * | 2020-05-20 | 2021-11-26 | 中国移动通信集团浙江有限公司 | 一种任务调度方法、系统、计算设备和存储介质 |
CN113703929B (zh) * | 2020-05-20 | 2023-08-01 | 中国移动通信集团浙江有限公司 | 一种任务调度方法、系统、计算设备和存储介质 |
CN112181610A (zh) * | 2020-08-28 | 2021-01-05 | 深圳市优必选科技股份有限公司 | 一种任务处理系统 |
CN112965796A (zh) * | 2021-03-01 | 2021-06-15 | 亿企赢网络科技有限公司 | 一种任务调度系统、方法和装置 |
CN112965796B (zh) * | 2021-03-01 | 2024-04-09 | 亿企赢网络科技有限公司 | 一种任务调度系统、方法和装置 |
CN113630438B (zh) * | 2021-06-25 | 2024-01-12 | 微梦创科网络科技(中国)有限公司 | 流处理任务调度方法和分布式流处理系统 |
CN113630438A (zh) * | 2021-06-25 | 2021-11-09 | 微梦创科网络科技(中国)有限公司 | 流处理任务调度方法和分布式流处理系统 |
CN113778644A (zh) * | 2021-08-18 | 2021-12-10 | 煤炭科学研究总院 | 任务的处理方法、装置、设备及存储介质 |
CN113778644B (zh) * | 2021-08-18 | 2024-01-26 | 煤炭科学研究总院有限公司 | 任务的处理方法、装置、设备及存储介质 |
CN113867911A (zh) * | 2021-09-26 | 2021-12-31 | 聚好看科技股份有限公司 | 一种任务调度方法、设备及微服务系统 |
CN114327819A (zh) * | 2021-12-24 | 2022-04-12 | 北京百度网讯科技有限公司 | 一种任务管理方法、装置、设备及存储介质 |
CN114327819B (zh) * | 2021-12-24 | 2023-02-03 | 北京百度网讯科技有限公司 | 一种任务管理方法、装置、设备及存储介质 |
CN114691241B (zh) * | 2022-04-19 | 2024-01-19 | 中煤航测遥感集团有限公司 | 任务执行方法、装置、电子设备及存储介质 |
CN114691241A (zh) * | 2022-04-19 | 2022-07-01 | 中煤航测遥感集团有限公司 | 任务执行方法、装置、电子设备及存储介质 |
CN116820709A (zh) * | 2023-05-26 | 2023-09-29 | 京信数据科技有限公司 | 任务链的运行方法、装置、终端及计算机存储介质 |
CN116820709B (zh) * | 2023-05-26 | 2024-06-11 | 京信数据科技有限公司 | 任务链的运行方法、装置、终端及计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110750341B (zh) | 2022-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110750341B (zh) | 任务调度方法、装置、系统、终端设备及存储介质 | |
CN111163130B (zh) | 一种网络服务系统及其数据传输方法 | |
CN110852882B (zh) | 用于区块链网络的分组共识方法、装置、设备和介质 | |
CN105468302B (zh) | 一种处理数据的方法、装置及系统 | |
CN109582655B (zh) | 系统日志的定位方法及装置、计算机可读存储介质 | |
CN110673959A (zh) | 用于处理任务的系统、方法和装置 | |
CN108304272B (zh) | 一种数据io请求的处理方法及装置 | |
CN111784318A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
US11023825B2 (en) | Platform as a service cloud server and machine learning data processing method thereof | |
CN113138801A (zh) | 命令分发装置、方法、芯片、计算机设备及存储介质 | |
CN113518431B (zh) | 通信处理方法、终端、装置及存储介质 | |
CN111367948B (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
CN109462491B (zh) | 用于测试服务器功能的系统、方法和装置 | |
CN113220869A (zh) | 银行外围系统的文本处理装置及方法 | |
CN109067864A (zh) | 通知消息推送方法、装置及电子设备 | |
CN114625502A (zh) | 一种投词任务处理方法、装置、存储介质和电子设备 | |
CN112764897B (zh) | 任务请求的处理方法、装置、系统及计算机可读存储介质 | |
CN114995982A (zh) | 任务处理方法、装置及存储介质 | |
CN114675954A (zh) | 任务调度方法及装置 | |
CN109614246B (zh) | 一种消息处理的方法、装置及消息处理服务器 | |
CN110876852A (zh) | 微服务的网络游戏数据处理方法及系统 | |
CN110442612B (zh) | 一种数据查询方法、电子设备及计算机可读存储介质 | |
CN103051528A (zh) | 一种用于总线的报文快速分发方法及装置 | |
CN114356541B (zh) | 一种计算核心的配置方法及装置、系统、电子设备 | |
CN111030844B (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 |