CN116414540A - 分布式任务的调度方法、装置、系统、设备及介质 - Google Patents

分布式任务的调度方法、装置、系统、设备及介质 Download PDF

Info

Publication number
CN116414540A
CN116414540A CN202310449906.0A CN202310449906A CN116414540A CN 116414540 A CN116414540 A CN 116414540A CN 202310449906 A CN202310449906 A CN 202310449906A CN 116414540 A CN116414540 A CN 116414540A
Authority
CN
China
Prior art keywords
task
executor
target
target task
state
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
Application number
CN202310449906.0A
Other languages
English (en)
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 Zhidemai Technology Co ltd
Original Assignee
Beijing Zhidemai 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 Zhidemai Technology Co ltd filed Critical Beijing Zhidemai Technology Co ltd
Priority to CN202310449906.0A priority Critical patent/CN116414540A/zh
Publication of CN116414540A publication Critical patent/CN116414540A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请是关于分布式任务的调度方法、装置、系统、设备以及介质。方法包括:获取处于启动状态下的至少一个任务执行器的执行器信息;基于针对每一任务预先配置的触发规则,获取当前时间下待执行的至少一个目标任务;基于针对所述目标任务预先配置的分发策略以及所述执行器信息,确定与所述目标任务对应的目标任务执行器;将所述目标任务下发到对应的所述目标任务执行器,由所述目标任务执行器确定当前状态是否能够执行所述目标任务,生成所述目标任务的任务执行状态;获取所述目标任务执行器回传的所述目标任务的任务执行状态,将所述目标任务的所述任务执行状态进行存储;本申请实现了对任务的调度和管控。

Description

分布式任务的调度方法、装置、系统、设备及介质
技术领域
本申请涉及计算机技术领域,尤其涉及分布式任务的调度方法、装置、系统、设备及介质。
背景技术
随着互联网的发展,大型企业内部的微服务越来越多,架构在微服务商的异步任务也越来越多。
为了解决异步任务执行的问题,现有的任务调度方法一般是通过在Linux平台上crontab上配置规则语句来管控任务,当达到任务的配置时间时,任务自动被执行。
虽然crontab单机任务在一定程度上能够解决异步任务执行的问题,但是随着微服务越来越多,架构其上的任务也越来越多,在一台机器的资源相对有限的情况下,需要将任务分发到不同的机器上执行,那么如何实现任务的调度与管控成为本领域技术人员亟待克服的技术难题。
发明内容
为克服相关技术中存在的问题,本申请提供分布式任务的调度方法、装置、系统、设备及介质,以实现对任务的调度与管控。
本申请第一方面提供分布式任务的调度方法,应用于调度服务端,该方法包括:
获取处于启动状态下的至少一个任务执行器的执行器信息;
基于针对每一任务预先配置的触发规则,获取当前时间下待执行的至少一个目标任务;
基于针对所述目标任务预先配置的分发策略以及所述执行器信息,确定与所述目标任务对应的目标任务执行器;
将所述目标任务下发到对应的所述目标任务执行器,由所述目标任务执行器确定当前状态是否能够执行所述目标任务,生成所述目标任务的任务执行状态;
获取所述目标任务执行器回传的所述目标任务的任务执行状态,将所述目标任务的所述任务执行状态进行存储。
可选地,所述基于针对每一任务预先配置的触发规则,获取当前时间下待执行的至少一个目标任务,包括:
获取每一任务的执行时间,确定所述执行时间与当前时间的时间差;
将所述任务设置在指定时间轮上与所述当前时间相距所述时间差的时刻槽中;
将当前时间下所述指定时间轮的所述时刻槽中过期的任务取出,作为当前待执行的至少一个目标任务。
可选地,所述执行器信息包括所述执行器IP;相应的,所述基于针对所述目标任务预先配置的分发策略以及所述执行器信息,确定与所述目标任务对应的目标任务执行器,包括:
确定所述目标任务所属目标服务;
在所述至少一个任务执行器的所述执行器IP中,基于预先配置的分发策略中设置的服务与执行器IP的映射关系确定与所述目标服务对应的目标执行器IP;
确定所述目标执行器IP所属任务执行器为与所述目标任务对应的目标任务执行器。
可选地,所述目标任务的任务执行状态包括任务执行成功状态、任务执行失败状态、任务等待执行状态、任务跳过执行状态;
其中,所述任务等待执行状态为所述目标任务执行器在接收到所述目标任务后,获取预先设置的分布式锁的状态,若所述分布式锁处于上锁状态,确定当前正在执行任务,从而控制所述目标任务等待执行生成的状态;
所述任务跳过执行状态为所述任务执行器在确定所述分布式锁处于上锁状态,确定当前正在执行任务,从而退回所述目标任务生成的状态;
所述任务执行成功状态为所述任务执行器在确定所述分布式锁处于未上锁状态,执行所述目标任务,并在执行成功后生成的状态;
所述任务执行失败状态为所述任务执行器在确定所述分布式锁处于未上锁状态,执行所述目标任务,并在执行失败后生成的状态。
可选地,当所述目标任务的任务执行状态为任务失败状态时,该方法还包括:
判断所述目标任务是否预先配置有任务执行失败下重试的配置信息,若是,将所述目标任务重新加入未执行的任务中,以等待重新分配对应的任务执行器。
可选地,还包括:
若所述目标任务的任务执行状态为任务执行失败状态,生成针对所述目标任务的报警消息;
将所述报警消息发送至所述目标任务对应的报警地址。
本申请第二方面提供分布式任务的调度方法,应用于目标任务执行器中,该方法包括:
接收调度服务端发送的目标任务;其中,所述调度服务端用于在获取处于启动状态下的任务执行器的执行器信息下,基于针对每一任务预先配置的触发规则,获取当前时间下待执行的至少一个目标任务,基于针对所述目标任务预先配置的分发策略以及所述执行器信息,确定与所述目标任务对应的目标任务执行器,从而将所述目标任务下发到对应的目标任务执行器;
监测当前状态是否能够执行所述目标任务,生成任务执行状态;
将所述任务执行状态发送到所述调度服务端。
可选地,所述监测当前状态是否能够执行所述目标任务,生成任务执行状态包括:
获取预先设置的分布式锁的状态;
若所述分布式锁处于上锁状态,确定当前无法执行所述目标任务,控制所述目标任务等待,生成任务等待执行状态,或,退回所述目标任务至所述调度服务端,生成任务跳过执行状态;
若所述分布式锁处于未上锁状态,执行所述目标任务;
基于执行结果生成任务执行成功状态或任务执行失败状态。
可选地,还包括:
将生成的任务日志存储到分布式日志服务器中。
本申请第三方面提供分布式任务的调度装置,应用于调度服务端,包括:
获取信息单元,用于获取处于启动状态下的任务执行器的执行器信息;
获取任务单元,用于基于针对每一任务预先配置的触发规则,获取当前时间下待执行的至少一个目标任务;
确定执行器单元,用于基于针对所述目标任务预先配置的分发策略以及所述执行器信息,确定与所述目标任务对应的目标任务执行器;
下发任务单元,用于将所述目标任务下发到对应的所述目标任务执行器,由所述目标任务执行器确定当前状态是否能够执行所述目标任务,生成所示目标任务的任务执行状态;
获取状态单元,用于获取所述目标任务执行器回传的所述目标任务的任务执行状态,将所述目标任务的所述任务执行状态进行存储。
本申请第四方面提供分布式任务的调度装置,应用于目标任务执行器中,包括:
接收任务单元,用于接收调度服务端发送的目标任务;
其中,所述调度服务端用于在获取处于启动状态下的任务执行器的执行器信息下,基于针对每一任务预先配置的触发规则,获取当前时间下待执行的至少一个目标任务,基于针对所述目标任务预先配置的分发策略以及所述执行器信息,确定与所述目标任务对应的目标任务执行器,从而将所述目标任务下发到对应的目标任务执行器;
生成状态单元,用于监测当前状态是否能够执行所述目标任务,生成任务执行状态;
发送状态单元,用于将所述任务执行状态发送到所述调度服务端。
本申请第五方面提供分布式任务的调度系统,包括:
调度服务端,用于执行如上所述的分布式任务的调度方法;
至少一个任务执行器,用于执行如上所述的分布式任务的调度方法。
本申请第五方面提供一种电子设备,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如上所述的方法。
本申请第六方面提供一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如上所述的方法。
本申请提供分布式任务的调度方法,应用于调度服务端,通过获取处于启动状态下的至少一个任务执行器的执行器信息,基于针对每一任务预先配置的触发规则,获取当前时间下待执行的至少一个目标任务,基于针对所述目标任务预先配置的分发策略以及所述执行器信息,确定与所述目标任务对应的目标任务执行器,将所述目标任务下发到对应的所述目标任务执行器,由所述目标任务执行器确定当前状态是否能够执行所述目标任务,生成所述目标任务的任务执行状态;获取所述目标任务执行器回传的所述目标任务的任务执行状态,将所述目标任务的所述任务执行状态进行存储,由此可见,本申请通过调度服务端实现了待执行任务在任务执行器的调度,并能够将获取到任务执行状态进行存储,实现对任务的管控。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
通过结合附图对本申请示例性实施方式进行更详细的描述,本申请的上述以及其它目的、特征和优势将变得更加明显,其中,在本申请示例性实施方式中,相同的参考标号通常代表相同部件。
图1是本申请实施例示出的分布式任务的调度方法的一个流程示意图;
图2是本申请实施例示出的目标任务的确定方法的流程示意图;
图3是本申请实施例示出的目标任务执行器的确定方法的流程示意图;
图4是本申请实施例示出的分布式任务的调度方法的另一流程示意图;
图5是本申请实施例示出的分布式任务的调度方法的又一流程示意图;
图6是本申请实施例示出的分布式任务的调度方法的再一流程示意图;
图7是本申请实施例示出的任务执行状态的生成方法的流程示意图;
图8是本申请实施例示出的分布式任务的调度装置的一个结构示意图;
图9是本申请实施例示出的分布式任务的调度装置的另一结构示意图;
图10是本申请实施例示出的分布式任务的调度系统的结构示意图;
图11是本申请实施例示出的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的优选实施方式。虽然附图中显示了本申请的优选实施方式,然而应该理解,可以以各种形式实现本申请而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本申请更加透彻和完整,并且能够将本申请的范围完整地传达给本领域的技术人员。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语“第一”、“第二”、“第三”等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
以下结合附图详细描述本申请实施例的技术方案。
图1是本申请实施例示出的分布式任务的调度方法的一个流程示意图,应用于调度服务端,该调度服务端可以为用于管理多种任务的管理后台服务器,该管理后台服务器可以实现对分布式任务的调度以及对分布式任务的配置;即通过对至少一个任务进行基础信息的配置操作,以使得每一任务具有预先设置的配置信息,配置信息中至少包括任务的触发规则、任务的分发策略、任务ID、任务执行脚本、任务描述信息、任务失败是否重试、任务执行失败状态下对应的报警地址、任务执行时间等中的一种或多种。
上述任务的配置信息可以存储在第一数据库中,可选地,第一数据库可以为关系型数据库Mysql。
需说明的是,上述任务为分布式异步任务,属于微服务下的任务,一个微服务包括至少一个任务,调度服务端可以对至少一个微服务的至少一个任务进行调度。
参见图1,本申请实施例提供的分布式任务的调度方法可以包括如下步骤:
步骤101:获取处于启动状态下的至少一个任务执行器的执行器信息;
调度服务端与至少一个任务执行器进行通信,任务执行器可以为云服务器,在任务执行器开启时可以将自身的执行器信息上传至调度服务端。
其中,执行器信息包括执行器IP,还可以包括执行器名称、内存大小、CPU信息等中的至少一个。
步骤102:基于针对每一任务预先配置的触发规则,获取当前时间下待执行的至少一个目标任务;
每一待执行的任务均预先设置有配置信息,配置信息包括触发规则,用于表明该任务下发到任务执行器的时间。
在本申请一种可能的实施方式中,该触发规则可以为基于时间轮算法的调度规则,具体的,如图2所示,所述基于针对每一任务预先配置的触发规则,获取当前时间下待执行的至少一个目标任务,可以包括如下步骤:
步骤201:获取每一任务的执行时间,确定所述执行时间与当前时间的时间差;
任务的配置信息包括该任务的执行时间。
步骤202:将所述任务设置在指定时间轮上与所述当前时间相距所述时间差的时刻槽中;
步骤203:将当前时间下所述指定时间轮的所述时刻槽中过期的任务取出,作为当前待执行的至少一个目标任务。
指定时间轮能够分割为多个时刻槽,每一时刻槽中存储有该时刻到期的定时任务,当一个定时任务需要加入时间轮时,需先计算该任务的执行时间与当前时间的时间差,然后将该任务放置于时间轮上与当前时间相距所述时间差的时刻槽中。时间轮会随着时钟的滴答声向前滚动时刻槽,同时通过时刻槽的指针向下一更大的时刻槽移动,这样,过期的定时任务会被定期从时间轮中取出。
步骤103:基于针对所述目标任务预先配置的分发策略以及所述执行器信息,确定与所述目标任务对应的目标任务执行器;
任务的配置信息中包括分发策略,用于指示执行任务的任务执行器。
在本申请一种可能的实施方式中,如图3所示,所述基于针对所述目标任务预先配置的分发策略以及所述执行器信息,确定与所述目标任务对应的目标任务执行器,可以包括如下过程:
步骤301:确定所述目标任务所属目标服务;
步骤302:在所述至少一个任务执行器的所述执行器IP中,基于预先配置的分发策略中设置的服务与执行器IP的映射关系确定与所述目标服务对应的目标执行器IP;
本申请中,任务配置在其所属服务下,因此可以确定目标任务所属目标服务。而分发策略中设置有服务与执行器IP的映射关系,在获取的至少一个执行器IP中,基于该映射关系确定与目标服务对应的目标执行器IP。
步骤303:确定所述目标执行器IP所属任务执行器为与所述目标任务对应的目标任务执行器。
需说明的是,一个任务可以下发到一个任务执行器,也可以分次下发到不同的任务执行器。例如,任务a本次下发到任务执行器B1,下次下发到任务执行器B2。那么,分发策略中可以设置有在不同下发批次下,服务与执行器IP的映射关系,在确定目标执行器IP前,先确定本批次下设置的映射关系,从而基于本批次下的映射关系确定与目标服务对应的目标执行器IP。
在本申请另一种可能的实施方式中,执行器信息除了包括执行器IP,还可以包括CPU信息和/或内存大小,具体的,分发策略可以设置服务与执行器的CPU信息和/或内存大小的映射关系,所述基于针对所述目标任务预先配置的分发策略以及所述执行器信息,确定与所述目标任务对应的目标任务执行器,可以包括:先确定所述目标任务所属目标服务,然后在获取的至少一个执行器信息中,基于分发策略中设置的服务与执行器CPU信息和/或内存大小的映射关系确定具有与所述目标服务对应的CPU信息和/或内存大小的目标执行器IP,从而确定所述目标执行器IP所属任务执行器为与所述目标任务对应的目标任务执行器。
可选地,上述CPU信息可以为CPU型号。
当然,本申请也可以预先设置其他能够确定目标任务对应的目标任务执行器的分发策略,具体可以基于实际情况设定,本申请不做限定。
步骤104:将所述目标任务下发到对应的所述目标任务执行器,由所述目标任务执行器确定当前状态是否能够执行所述目标任务,生成所述目标任务的任务执行状态;
将所述目标任务下发到对应的目标任务执行器过程中,可以至少将所述目标任务的配置信息中的任务ID以及任务执行脚本下发到所述目标任务执行器,在所述目标任务执行器确定能够执行所述目标任务下,通过解析并运行所述目标任务的任务执行脚本来实现所述目标任务的执行。
本实施例中,目标任务执行器会基于当前状态确定是否能够执行目标任务,从而生成目标任务的任务执行状态。
具体的,任务执行状态可以包括任务执行成功状态、任务执行失败状态、任务等待执行状态、任务跳过执行状态等,可以理解的是,任务执行状态可以对应该目标任务的任务ID,以表征任务ID所属目标任务的状态。
其中,任务等待执行状态为目标任务执行器在接收到目标任务后,获取预先设置的分布式锁的状态,若所述分布式锁处于上锁状态,确定当前正在执行任务,从而控制所述目标任务等待执行生成的状态。
所述任务跳过执行状态为所述任务执行器在确定所述分布式锁处于上锁状态,确定当前正在执行任务,从而退回所述目标任务生成的状态。
所述任务执行成功状态为所述任务执行器在确定所述分布式锁处于未上锁状态,执行所述目标任务,并在执行成功后生成的状态。
所述任务执行失败状态为所述任务执行器在确定所述分布式锁处于未上锁状态,执行所述目标任务,并在执行失败后生成的状态。
具体的,本申请可以预先针对任务执行器设置分布式锁,而分布式锁用于保证任务执行器一次只执行一个任务。因为任务的执行需要一定的时间,如果任务执行器针对当前的任务还未执行完毕,又到了下一次任务下发的时间,那么在不设置分布式锁的情况下,会导致同一时间两次接收的任务并行执行,通过设置分布式锁,使得在接收到任务时,会通过分布式锁的状态,确定之前接收的任务是否执行完毕,以在确定执行完毕下执行本次接收的任务。具体的,分布式锁能够在任务执行器正在执行任务的情况下处于上锁状态,在当前未执行任务的情况下处于未上锁状态。一种方式下,分布式锁的状态可以存储第二数据库中,可选地,第二数据库可以为Redis,Redis是一个高性能的key-value数据库。
针对目标任务执行器而言,其在接收到目标任务后,通过查询数据库获取分布式锁的状态,如果分布式锁处于上锁状态,确定当前正在执行任务,则当前无法执行目标任务,那么可以基于目标任务的配置信息确定后续处理方式。也就是说,调度服务端在向目标任务执行器发送目标任务时,可以将目标任务的配置信息中的任务等待执行或任务退回的指示信息一并发送给目标任务执行器,从而使得目标任务执行器在确定当前正在执行任务时,基于该指示信息确定控制目标任务等待还是退回目标任务,如果控制目标任务等待则生成任务等待执行状态,如果控制目标任务退回则生成任务跳过执行状态。
目标任务执行器在确定分布式锁处于未上锁状态下,执行目标任务,并在执行成功后生成任务执行成功状态,在执行失败后生成任务执行失败状态。
本申请可以对目标任务执行器生成的任务日志进行统一管理,例如,可以将任务日志统一存储到分布式日志服务器中,其中,所述任务日志可以包括任务ID,目标任务执行器的名称、执行时间、执行时长、执行失败原因等信息。当然,目标任务执行器也可以将上述任务执行状态存储到分布式日志服务器中,从而实现对所有接收的任务的统一管理。
步骤105:获取所述目标任务执行器回传的所述目标任务的任务执行状态,将所述目标任务的所述任务执行状态进行存储。
为了实现对任务的管控,调度服务端对接收到的任务执行状态进行存储,可选地,可以将其存储到第一数据库中。
其中,任务执行状态可以至少包括任务ID以及与任务ID对应的如前文描述的任务执行成功状态、任务执行失败状态、任务等待执行状态、任务跳过执行状态等状态中的一种。
本实施例中,调度服务端获取处于启动状态下的至少一个任务执行器的执行器信息,基于针对每一任务预先配置的触发规则,获取当前时间下待执行的至少一个目标任务,基于针对所述目标任务预先配置的分发策略以及所述执行器信息,确定与所述目标任务对应的目标任务执行器,将所述目标任务下发到对应的所述目标任务执行器,由所述目标任务执行器确定当前状态是否能够执行所述目标任务,生成所述目标任务的任务执行状态;获取所述目标任务执行器回传的所述目标任务的任务执行状态,将所述目标任务的所述任务执行状态进行存储,由此可见,本申请通过调度服务端实现了待执行任务在任务执行器的调度,并能够将获取到任务执行状态进行存储,实现对任务的管控。
图4是本申请实施例示出的分布式任务的调度方法的另一流程示意图,应用于调度服务端,可以包括如下步骤:
步骤401:获取处于启动状态下的至少一个任务执行器的执行器信息;
步骤402:基于针对每一任务预先配置的触发规则,获取当前时间下待执行的至少一个目标任务;
步骤403:基于针对所述目标任务预先配置的分发策略以及所述执行器信息,确定与所述目标任务对应的目标任务执行器;
步骤404:将所述目标任务下发到对应的所述目标任务执行器,由所述目标任务执行器确定当前状态是否能够执行所述目标任务,生成所述目标任务的任务执行状态;
步骤405:获取所述目标任务执行器回传的所述目标任务的任务执行状态,将所述目标任务的所述任务执行状态进行存储;
步骤406:当所述目标任务的任务执行状态为任务失败状态时,判断所述目标任务是否预先配置有任务执行失败下重试的配置信息;若是,进入步骤407;
目标任务的配置信息中如果包含任务执行失败下重试的配置信息,则需要重新执行该目标任务,那么进入步骤406;若未配置有任务执行失败下重试的配置信息,则无需重新执行该执行失败的目标任务。
步骤407:将所述目标任务重新加入未执行的任务中,以等待重新分配对应的任务执行器。
本实施例中,在将目标任务重新加入未执行的任务时,可以更新目标任务的执行时间,已能够重新分配该执行失败的任务。
图5是本申请实施例示出的分布式任务的调度方法的又一流程示意图,应用于调度服务端,可以包括如下步骤:
步骤501:获取处于启动状态下的至少一个任务执行器的执行器信息;
步骤502:基于针对每一任务预先配置的触发规则,获取当前时间下待执行的至少一个目标任务;
步骤503:基于针对所述目标任务预先配置的分发策略以及所述执行器信息,确定与所述目标任务对应的目标任务执行器;
步骤504:将所述目标任务下发到对应的所述目标任务执行器,由所述目标任务执行器确定当前状态是否能够执行所述目标任务,生成所述目标任务的任务执行状态;
步骤505:获取所述目标任务执行器回传的所述目标任务的任务执行状态,将所述目标任务的所述任务执行状态进行存储;
步骤506:若所述目标任务的任务执行状态为任务执行失败状态,生成针对所述目标任务的报警消息;
报警信息可以包括任务ID以及任务失败指示信息。可选地,目标任务执行器在回传任务执行失败状态时,可以将失败原因信息一并回传给调度服务端,报警信息还可以包括失败原因信息,当然也可以包括目标任务执行器的执行器IP。
步骤507:将所述报警消息发送至所述目标任务对应的报警地址。
本实施例中,目标任务的配置信息可以设置有用于接收报警信息的报警地址,调度服务端能够将报警信息发送给目标任务对应的报警地址,从而使得相关负责人能够接收到报警信息,以便及时掌握相关任务的状态。
图6是本申请实施例示出的分布式任务的调度方法的又一流程示意图,应用于目标任务执行器中,该方法可以包括如下步骤:
步骤601:接收调度服务端发送的目标任务;
其中,所述调度服务端用于在获取处于启动状态下的任务执行器的执行器信息下,基于针对每一任务预先配置的触发规则,获取当前时间下待执行的至少一个目标任务,基于针对所述目标任务预先配置的分发策略以及所述执行器信息,确定与所述目标任务对应的目标任务执行器,从而将所述目标任务下发到对应的目标任务执行器;
步骤602:监测当前状态是否能够执行所述目标任务,生成任务执行状态;
步骤603:将所述任务执行状态发送到所述调度服务端。
其中,调度服务端在接收到任务执行状态后,可以将其进行存储,如可以存储到第一数据库中。
其中,如图7所示,所述监测当前状态是否能够执行所述目标任务,生成任务执行状态可以包括如下步骤:
步骤701:获取预先设置的分布式锁的状态;
步骤702:若所述分布式锁处于上锁状态,确定当前无法执行所述目标任务,控制所述目标任务等待,生成任务等待执行状态,或,退回所述目标任务至所述调度服务端,生成任务跳过执行状态;
目标任务执行器可以在确定当前无法执行目标任务的情况下,基于接收的目标任务的指示信息确定目标任务等待执行还是退回,若确定目标任务等待执行,则控制目标任务等待并生成任务等待执行状态,若确定目标任务退回,则退回目标任务至调度服务端并生成任务跳过执行状态。
步骤703:若所述分布式锁处于未上锁状态,执行所述目标任务;
步骤704:基于执行结果生成任务执行成功状态或任务执行失败状态。
本实施例中,通过接收调度服务端发送的目标任务,从而监测当前状态是否能够执行所属目标任务,生成任务执行状态,将任务执行状态发送到调度服务端,使得调度服务端实现了任务的调度和管控。
在本申请一些实施例中,上述方法还可以包括:
将生成的任务日志存储到分布式日志服务器中,其中,所述任务日志包括任务ID,所述目标任务执行器的名称、执行时间、执行时长、执行失败原因等中的至少一种。
与前述应用功能实现方法实施例相对应,本申请还提供了分布式任务的调度装置、系统、电子设备及相应的实施例。
图8是本申请实施例示出的分布式任务的调度装置的一个结构示意图。该装置应用于调度服务端,如图8所示,该装置可以包括:获取信息单元110、获取任务单元120、确定执行器单元130、下发任务单元140以及获取状态单元150;具体的:
获取信息单元110,用于获取处于启动状态下的任务执行器的执行器信息;
获取任务单元120,用于基于针对每一任务预先配置的触发规则,获取当前时间下待执行的至少一个目标任务;
确定执行器单元130,用于基于针对所述目标任务预先配置的分发策略以及所述执行器信息,确定与所述目标任务对应的目标任务执行器;
下发任务单元140,用于将所述目标任务下发到对应的所述目标任务执行器,由所述目标任务执行器确定当前状态是否能够执行所述目标任务,生成所示目标任务的任务执行状态;
其中,所述目标任务的任务执行状态包括任务执行成功状态、任务执行失败状态、任务等待执行状态、任务跳过执行状态;
所述任务等待执行状态为所述目标任务执行器在接收到所述目标任务后,获取预先设置的分布式锁的状态,若所述分布式锁处于上锁状态,确定当前正在执行任务,从而控制所述目标任务等待执行生成的状态;
所述任务跳过执行状态为所述任务执行器在确定所述分布式锁处于上锁状态,确定当前正在执行任务,从而退回所述目标任务生成的状态;
所述任务执行成功状态为所述任务执行器在确定所述分布式锁处于未上锁状态,执行所述目标任务,并在执行成功后生成的状态;
所述任务执行失败状态为所述任务执行器在确定所述分布式锁处于未上锁状态,执行所述目标任务,并在执行失败后生成的状态。
获取状态单元150,用于获取所述目标任务执行器回传的所述目标任务的任务执行状态,将所述目标任务的所述任务执行状态进行存储。
在一些实施例中,获取任务单元可以包括:确定时间差模块、任务设置模块以及取出任务模块;其中:
确定时间差模块,用于获取每一任务的执行时间,确定所述执行时间与当前时间的时间差;
任务设置模块,用于将所述任务设置在指定时间轮上与所述当前时间相距所述时间差的时刻槽中;
取出任务模块,用于将当前时间下所述指定时间轮的所述时刻槽中过期的任务取出,作为当前待执行的至少一个目标任务。
在本申请一种可能的实施方式中,执行器信息包括所述执行器IP;相应的,确定执行器单元可以包括:第一确定服务模块、第一确定IP模块以及第一确定执行器模块;其中:
第一确定服务模块,用于确定所述目标任务所属目标服务;
第一确定IP模块,用于在所述至少一个任务执行器的所述执行器IP中,基于预先配置的分发策略中设置的服务与执行器IP的映射关系确定与所述目标服务对应的目标执行器IP;
第一确定执行器模块,用于确定所述目标执行器IP所属任务执行器为与所述目标任务对应的目标任务执行器。
在本申请另一种可能的实施方式中,执行器信息除了包括执行器IP,还可以包括CPU信息和/或内存大小,具体的,分发策略可以设置服务与执行器的CPU信息和/或内存大小的映射关系;确定执行器单元130可以包括:第二确定服务模块、第二确定IP模块、第二确定执行器模块;其中:
第二确定服务模块,用于确定所述目标任务所属目标服务;
第二确定IP模块,用于在获取的至少一个执行器信息中,基于分发策略中设置的服务与执行器CPU信息和/或内存大小的映射关系确定具有与所述目标服务对应的CPU信息和/或内存大小的目标执行器IP;
第二确定执行器模块,用于确定所述目标执行器IP所属任务执行器为与所述目标任务对应的目标任务执行器。
在一些实施例中,当所述目标任务的任务执行状态为任务失败状态时,该装置还包括:
判断重试单元,用于判断所述目标任务是否预先配置有任务执行失败下重试的配置信息;
重新加入单元,用于在确定所述目标任务预先配置有任务执行失败下重试的配置信息下,将所述目标任务重新加入未执行的任务中,以等待重新分配对应的任务执行器。
在一些实施例中,该装置还包括:
生成信息单元,用于若所述目标任务的任务执行状态为任务执行失败状态,生成针对所述目标任务的报警消息;
发送信息单元,用于将所述报警消息发送至所述目标任务对应的报警地址。
图9是本申请实施例示出的分布式任务的调度装置的另一结构示意图,应用于目标执行器中,如图9所示,该装置可以包括:接收任务单元210、生成状态单元220以及发送状态单元230;其中:
接收任务单元210,用于接收调度服务端发送的目标任务;
其中,所述调度服务端用于在获取处于启动状态下的任务执行器的执行器信息下,基于针对每一任务预先配置的触发规则,获取当前时间下待执行的至少一个目标任务,基于针对所述目标任务预先配置的分发策略以及所述执行器信息,确定与所述目标任务对应的目标任务执行器,从而将所述目标任务下发到对应的目标任务执行器。
生成状态单元220,用于监测当前状态是否能够执行所述目标任务,生成任务执行状态;
发送状态单元230,用于将所述任务执行状态发送到所述调度服务端。
在本申请一种可能的实施例方式中,生成状态单元,包括:获取状态模块、生成等待状态模块、生成退回状态模块、执行任务模块、生成成功失败状态模块,其中:
获取状态模块,用于获取预先设置的分布式锁的状态;
生成等待状态模块,用于若所述分布式锁处于上锁状态,确定当前无法执行所述目标任务,控制所述目标任务等待,生成任务等待执行状态;
生成退回状态模块,用于若所述分布式锁处于上锁状态,确定当前无法执行所述目标任务,退回所述目标任务至所述调度服务端,生成任务跳过执行状态;
执行任务模块,用于若所述分布式锁处于未上锁状态,执行所述目标任务;
生成成功失败状态模块,用于基于执行结果生成任务执行成功状态或任务执行失败状态。
在一些实施例中,该装置还包括:
存储日志单元,用于将生成的任务日志存储到分布式日志服务器中。
其中,所述任务日志包括任务ID,所述目标任务执行器的名称、执行时间、执行时长、执行失败原因等中的至少一种。
图10是本申请实施例示出的分布式任务的调度系统的一个结构示意图,如图10所示,该系统可以包括:调度服务端100、任务执行器200-1…200-N;
调度服务端100,用于执行如前描述的应用于调度服务端的所述的分布式任务的调度方法;
任务执行器200-1…200-N,用于执行前描述的应用于目标执行器的所述的分布式任务的调度方法。
在一些实施例中,该系统还可以包括分布式日志服务器,用于存储任务执行器生成的任务日志。
其中,任务的配置信息和任务执行状态等信息可以存储在第一数据库中,第一数据库具体可以设置在调度服务端中,或者该系统还包括第一电子设备,用于存储第一数据库,调度服务端100可以与第一电子设备通信。
分布式锁的状态可以存储在第二数据库中,第二数据库可以设置在任务执行器中,或者该系统还包括第二电子设备,用于存储第二数据库,任务执行器可以与第二电子设备通信。
上述第一电子设备和第二电子设备可以为相同设备,也可以为不同设备。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不再做详细阐述说明。
图11是本申请实施例示出的电子设备的结构示意图。
参见图11,电子设备1000包括存储器1010和处理器1020。
处理器1020可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器1010可以包括各种类型的存储单元,例如系统内存、只读存储器(ROM),和永久存储装置。其中,ROM可以存储处理器1020或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器1010可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(DRAM,SRAM,SDRAM,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器1010可以包括可读和/或写的可移除的存储设备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD-ROM,双层DVD-ROM)、只读蓝光光盘、超密度光盘、闪存卡(例如SD卡、min SD卡、Micro-SD卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
存储器1010上存储有可执行代码,当可执行代码被处理器1020处理时,可以使处理器1020执行上文述及的方法中的部分或全部。
上文中已经参考附图详细描述了本申请的方案。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。本领域技术人员也应该知悉,说明书中所涉及的动作和模块并不一定是本申请所必须的。另外,可以理解,本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减,本申请实施例装置中的模块可以根据实际需要进行合并、划分和删减。
此外,根据本申请的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本申请的上述方法中部分或全部步骤的计算机程序代码指令。
或者,本申请还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或电子设备、服务器等)的处理器执行时,使所述处理器执行根据本申请的上述方法的各个步骤的部分或全部。
本领域技术人员还将明白的是,结合这里的申请所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
附图中的流程图和框图显示了根据本申请的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (14)

1.分布式任务的调度方法,其特征在于,应用于调度服务端,该方法包括:
获取处于启动状态下的至少一个任务执行器的执行器信息;
基于针对每一任务预先配置的触发规则,获取当前时间下待执行的至少一个目标任务;
基于针对所述目标任务预先配置的分发策略以及所述执行器信息,确定与所述目标任务对应的目标任务执行器;
将所述目标任务下发到对应的所述目标任务执行器,由所述目标任务执行器确定当前状态是否能够执行所述目标任务,生成所述目标任务的任务执行状态;
获取所述目标任务执行器回传的所述目标任务的任务执行状态,将所述目标任务的所述任务执行状态进行存储。
2.根据权利要求1所述的方法,其特征在于,所述基于针对每一任务预先配置的触发规则,获取当前时间下待执行的至少一个目标任务,包括:
获取每一任务的执行时间,确定所述执行时间与当前时间的时间差;
将所述任务设置在指定时间轮上与所述当前时间相距所述时间差的时刻槽中;
将当前时间下所述指定时间轮的所述时刻槽中过期的任务取出,作为当前待执行的至少一个目标任务。
3.根据权利要求1所述的方法,其特征在于,所述执行器信息包括所述执行器IP;相应的,所述基于针对所述目标任务预先配置的分发策略以及所述执行器信息,确定与所述目标任务对应的目标任务执行器,包括:
确定所述目标任务所属目标服务;
在所述至少一个任务执行器的所述执行器IP中,基于预先配置的分发策略中设置的服务与执行器IP的映射关系确定与所述目标服务对应的目标执行器IP;
确定所述目标执行器IP所属任务执行器为与所述目标任务对应的目标任务执行器。
4.根据权利要求1所述的方法,其特征在于,所述目标任务的任务执行状态包括任务执行成功状态、任务执行失败状态、任务等待执行状态、任务跳过执行状态;
其中,所述任务等待执行状态为所述目标任务执行器在接收到所述目标任务后,获取预先设置的分布式锁的状态,若所述分布式锁处于上锁状态,确定当前正在执行任务,从而控制所述目标任务等待执行生成的状态;
所述任务跳过执行状态为所述任务执行器在确定所述分布式锁处于上锁状态,确定当前正在执行任务,从而退回所述目标任务生成的状态;
所述任务执行成功状态为所述任务执行器在确定所述分布式锁处于未上锁状态,执行所述目标任务,并在执行成功后生成的状态;
所述任务执行失败状态为所述任务执行器在确定所述分布式锁处于未上锁状态,执行所述目标任务,并在执行失败后生成的状态。
5.根据权利要求4所述的方法,其特征在于,当所述目标任务的任务执行状态为任务失败状态时,该方法还包括:
判断所述目标任务是否预先配置有任务执行失败下重试的配置信息,若是,将所述目标任务重新加入未执行的任务中,以等待重新分配对应的任务执行器。
6.根据权利要求4所述的方法,其特征在于,还包括:
若所述目标任务的任务执行状态为任务执行失败状态,生成针对所述目标任务的报警消息;
将所述报警消息发送至所述目标任务对应的报警地址。
7.分布式任务的调度方法,其特征在于,应用于目标任务执行器中,该方法包括:
接收调度服务端发送的目标任务;其中,所述调度服务端用于在获取处于启动状态下的任务执行器的执行器信息下,基于针对每一任务预先配置的触发规则,获取当前时间下待执行的至少一个目标任务,基于针对所述目标任务预先配置的分发策略以及所述执行器信息,确定与所述目标任务对应的目标任务执行器,从而将所述目标任务下发到对应的目标任务执行器;
监测当前状态是否能够执行所述目标任务,生成任务执行状态;
将所述任务执行状态发送到所述调度服务端。
8.根据权利要求7所述的方法,其特征在于,所述监测当前状态是否能够执行所述目标任务,生成任务执行状态包括:
获取预先设置的分布式锁的状态;
若所述分布式锁处于上锁状态,确定当前无法执行所述目标任务,控制所述目标任务等待,生成任务等待执行状态,或,退回所述目标任务至所述调度服务端,生成任务跳过执行状态;
若所述分布式锁处于未上锁状态,执行所述目标任务;
基于执行结果生成任务执行成功状态或任务执行失败状态。
9.根据权利要求8所述的方法,其特征在于,还包括:
将生成的任务日志存储到分布式日志服务器中。
10.分布式任务的调度装置,其特征在于,应用于调度服务端,包括:
获取信息单元,用于获取处于启动状态下的任务执行器的执行器信息;
获取任务单元,用于基于针对每一任务预先配置的触发规则,获取当前时间下待执行的至少一个目标任务;
确定执行器单元,用于基于针对所述目标任务预先配置的分发策略以及所述执行器信息,确定与所述目标任务对应的目标任务执行器;
下发任务单元,用于将所述目标任务下发到对应的所述目标任务执行器,由所述目标任务执行器确定当前状态是否能够执行所述目标任务,生成所示目标任务的任务执行状态;
获取状态单元,用于获取所述目标任务执行器回传的所述目标任务的任务执行状态,将所述目标任务的所述任务执行状态进行存储。
11.分布式任务的调度装置,其特征在于,应用于目标任务执行器中,包括:
接收任务单元,用于接收调度服务端发送的目标任务;
其中,所述调度服务端用于在获取处于启动状态下的任务执行器的执行器信息下,基于针对每一任务预先配置的触发规则,获取当前时间下待执行的至少一个目标任务,基于针对所述目标任务预先配置的分发策略以及所述执行器信息,确定与所述目标任务对应的目标任务执行器,从而将所述目标任务下发到对应的目标任务执行器;
生成状态单元,用于监测当前状态是否能够执行所述目标任务,生成任务执行状态;
发送状态单元,用于将所述任务执行状态发送到所述调度服务端。
12.分布式任务的调度系统,其特征在于,包括:
调度服务端,用于执行如权利要求1-6任一项所述的分布式任务的调度方法;
至少一个任务执行器,用于执行如权利要求7-9任一项所述的分布式任务的调度方法。
13.一种电子设备,其特征在于,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1-6中任一项所述的方法。
14.一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1-6中任一项所述分布式任务的调度方法或7-9中任一项所述的分布式任务的调度方法。
CN202310449906.0A 2023-04-24 2023-04-24 分布式任务的调度方法、装置、系统、设备及介质 Pending CN116414540A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310449906.0A CN116414540A (zh) 2023-04-24 2023-04-24 分布式任务的调度方法、装置、系统、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310449906.0A CN116414540A (zh) 2023-04-24 2023-04-24 分布式任务的调度方法、装置、系统、设备及介质

Publications (1)

Publication Number Publication Date
CN116414540A true CN116414540A (zh) 2023-07-11

Family

ID=87049399

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310449906.0A Pending CN116414540A (zh) 2023-04-24 2023-04-24 分布式任务的调度方法、装置、系统、设备及介质

Country Status (1)

Country Link
CN (1) CN116414540A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117421111A (zh) * 2023-10-16 2024-01-19 广州今之港教育咨询有限公司 一种消息任务的批处理方法、系统、设备及介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117421111A (zh) * 2023-10-16 2024-01-19 广州今之港教育咨询有限公司 一种消息任务的批处理方法、系统、设备及介质

Similar Documents

Publication Publication Date Title
CN111782360A (zh) 分布式任务调度方法及装置
US8458517B1 (en) System and method for checkpointing state in a distributed system
US8719432B1 (en) System and method for determining staleness of data received from a distributed lock manager
US7653828B2 (en) Timeout manager
CN107273195B (zh) 一种大数据的批处理方法、装置及计算机系统
CN116414540A (zh) 分布式任务的调度方法、装置、系统、设备及介质
CN110611707B (zh) 一种任务调度的方法及装置
CN106933672B (zh) 一种分布式环境协调消费队列方法和装置
CN104601668B (zh) 基于状态管理的数据推送方法、装置和系统
US11449350B2 (en) Systems and methods for automatically updating compute resources
CN111078510B (zh) 一种任务处理进度的记录方法及装置
CN113448699A (zh) 一种分布式定时任务处理系统、方法及相关装置
CN111309548A (zh) 一种超时监控方法、装置及计算机可读存储介质
CN110716943A (zh) 缺失数据补录方法、装置、计算机设备及存储介质
CN107797856B (zh) 基于windows服务的计划任务管控方法、装置及存储介质
US10826764B2 (en) Dynamic server allocation for automated server builds
CN109558249B (zh) 一种并发操作的控制方法及装置
CN115499493A (zh) 异步事务处理方法、装置、存储介质及计算机设备
CN114201284A (zh) 定时任务管理方法及系统
US10963375B1 (en) Managing maintenance operations for a distributed system
CN114879977A (zh) 应用部署方法、装置及存储介质
CN110618863A (zh) 一种基于Raft算法的作业调度方法
WO2003096144A2 (en) System and method for activating and pausing a component
CN111767125A (zh) 任务执行方法、装置、电子设备、存储介质
CN111708812A (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