掌桥专利:专业的专利平台
掌桥专利
首页

任务调度方法、装置、系统和电子设备

文献发布时间:2023-06-19 19:18:24


任务调度方法、装置、系统和电子设备

技术领域

本公开涉及计算机技术领域,特别涉及一种任务调度方法、装置、系统和电子设备。

背景技术

定时任务是系统中常见的一种任务,例如,用户触达、任务订单超时关闭等。

相关技术中对于定时任务的调度,将各个定时任务按照时间顺序放入一个队列,并按照各个定时任务的执行时间进行执行。

发明内容

发明人发现:现有的定时任务的调度方法,在任务量很大的情况下,无法保证各个定时任务准时高效的进行处理。

本公开所要解决的一个技术问题是:如何提高定时任务的执行效率和准时性。

根据本公开的一些实施例,提供的一种任务调度方法,包括:获取待执行任务;根据待执行任务的执行时间信息,确定待执行任务对应的时间轮数据;根据待执行任务对应的时间轮数据,以及各个任务节点的时间轮上挂载的任务信息,将待执行任务分配至任务节点执行。

在一些实施例中,根据待执行任务的执行时间信息,确定待执行任务对应的时间轮数据包括:确定待执行任务的类型,其中,类型包括:非周期性定时任务和周期性定时任务;在待执行任务为非周期性定时任务的情况下,根据待执行任务的执行时间和当前时间的差距,确定待执行任务对应的时间轮数据。

在一些实施例中,根据待执行任务的执行时间信息,确定待执行任务对应的时间轮数据还包括:在待执行任务为周期性定时任务的情况下,根据待执行任务的周期,将待执行任务转换成预设数量的非周期性定时任务;根据转换后的非周期性定时任务的执行时间和当前时间的差距,确定转换后的非周期性定时任务对应的时间轮数据,作为待执行任务对应的时间轮数据。

在一些实施例中,待执行任务对应的时间轮数据包括:不同时间粒度的多层时间轮对应的数据。

在一些实施例中,各个任务节点的时间轮上挂载的任务信息包括:各个任务节点的时间轮上挂载的待执行任务的数量,根据待执行任务对应的时间轮数据,以及各个任务节点的时间轮上挂载的任务信息,将待执行任务分配至任务节点执行包括:根据各个任务节点的时间轮上挂载的待执行任务的数量,选取时间轮上挂载的待执行任务数量最少的任务节点;将待执行任务对应的时间轮数据发送至选取的任务节点,以将待执行任务挂载到选取的任务节点的时间轮上。

在一些实施例中,获取待执行任务包括:接收任务添加请求,其中,任务添加请求包括任务的参数;确定任务的参数是否完整;在任务的参数完整的情况下,检查任务是否已存在;在任务不存在的情况下,将任务确定为待执行任务。

在一些实施例中,任务的参数包括:任务的标识、任务是否为周期性定时任务的指示信息、任务所属系统、任务的执行时间信息、任务的编号中至少一项。

在一些实施例中,该方法还包括:监控各个任务节点上的任务状态和任务数量。

在一些实施例中,监控各个任务节点上的任务状态和任务数量包括以下至少一项:针对每个任务节点,响应于监听到存储系统中该任务节点新增待执行任务的数据,更新该任务节点下待执行任务的数量,其中,该任务节点新增待执行任务的情况下上报存储系统;响应于监听到存储系统中该任务节点新增开始执行任务的数据,更新该任务节点下待执行任务和执行中任务的数量,其中,该任务节点开始执行任务的情况下上报存储系统;响应于监听到存储系统中该任务节点任务执行完毕的数据,更新该任务节点下执行中任务的数量,其中,该任务节点任务执行完毕的情况下上报存储系统。

在一些实施例中,该方法还包括:响应于任务执行失败,根据执行失败的任务对应的时间轮数据,以及各个任务节点的时间轮上挂载的任务信息,将执行失败的任务重新分配至任务节点执行。

在一些实施例中,该方法还包括:响应于任一转换后的非周期性定时任务开始执行,根据待执行任务的周期,转换得到当前最后一个转换后的非周期性定时任务的下一个周期的转换后的非周期性定时任务;根据下一个周期的转换后的非周期性定时任务的执行时间和当前时间的差距,确定下一个周期的转换后的非周期性定时任务对应的时间轮数据。

在一些实施例中,该方法还包括:任务节点接收待执行任务;任务节点将待执行任务挂载到时间轮上;任务节点响应于时间轮转到待执行任务对应的位置,从待执行任务对应的系统中调用待执行任务并执行。

在一些实施例中,该方法还包括以下至少一项:任务节点响应于接收到待执行任务,新增线程,将待执行任务上报存储系统;任务节点响应于待执行任务开始执行,新增线程,将开始执行的任务上报存储系统;任务节点响应于待执行任务执行完毕,新增线程,将执行完毕的任务上报存储系统。

在一些实施例中,该方法还包括:在待执行任务为周期性定时任务的情况下,任务节点响应于转换后的非周期性定时任务开始执行,发送任务添加请求,以生成当前最后一个转换后的非周期性定时任务的下一个周期的转换后的非周期性定时任务。

根据本公开的另一些实施例,提供的一种任务调度装置,包括:获取模块,用于获取待执行任务;确定模块,用于根据待执行任务的执行时间信息,确定待执行任务对应的时间轮数据;分配模块,用于根据待执行任务对应的时间轮数据,以及各个任务节点的时间轮上挂载的任务信息,将待执行任务分配至任务节点执行。

根据本公开的又一些实施例,提供的一种电子设备,包括:处理器;以及耦接至处理器的存储器,用于存储指令,指令被处理器执行时,使处理器执行如前述任意实施例的任务调度方法。

根据本公开的再一些实施例,提供的一种非瞬时性计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现前述任意实施例的任务调度方法。

根据本公开的又一些实施例,提供的一种任务调度系统,包括:前述任意实施例的任务调度装置;以及任务节点,用于接收待执行任务,将待执行任务挂载到时间轮上,响应于时间轮转到待执行任务对应的位置,从待执行任务对应的系统中调用待执行任务并执行。

在一些实施例中,任务节点还用于执行以下至少一项:响应于接收到待执行任务,新增线程,将待执行任务上报存储系统;响应于待执行任务开始执行,新增线程,将开始执行的任务上报存储系统;响应于待执行任务执行完毕,新增线程,将执行完毕的任务上报存储系统。

在一些实施例中,在待执行任务为周期性定时任务的情况下,待执行任务被转换成预设数量的非周期性定时任务,任务节点还用于响应于转换后的非周期性定时任务开始执行,发送任务添加请求,以生成当前最后一个转换后的非周期性定时任务的下一个周期的转换后的非周期性定时任务。

本公开中针对待执行任务,确定对应的时间轮数据,根据待执行任务对应的时间轮数据,以及各个任务节点的时间轮上挂载的任务信息,将待执行任务分配至任务节点执行。本公开的方法适用于定时任务的调度,可以在大量任务并发下的情况下,通过多个任务节点对任务进行高效调度、处理,提高任务的执行效率,并且通过时间轮的应用可以提高任务执行的准确性。

通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。

附图说明

为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出本公开的一些实施例的任务调度方法的流程示意图。

图2示出本公开的另一些实施例的任务调度方法的流程示意图。

图3A示出本公开的又一些实施例的任务调度方法的流程示意图。

图3B示出本公开的一些实施例的时间轮的示意图。

图3C示出本公开的再一些实施例的任务调度方法的流程示意图。

图4示出本公开的一些实施例的任务调度装置的结构示意图。

图5示出本公开的一些实施例的任务调度系统的结构示意图。

图6示出本公开的另一些实施例的任务调度系统的结构示意图。

图7示出本公开的一些实施例的电子设备的结构示意图。

图8示出本公开的另一些实施例的电子设备的结构示意图。

具体实施方式

下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。

本公开提出一种任务调度方法,下面结合图1~3C进行描述。

图1为本公开任务调度方法一些实施例的流程图。如图1所示,该实施例的方法包括:步骤S102~S106。本实施例的方法可以由调度中心执行。

在步骤S102中,获取待执行任务。

在一些实施例中,接收任务添加请求,其中,任务添加请求包括任务的参数;确定任务的参数是否完整;在任务的参数完整的情况下,检查任务是否已存在;在任务不存在的情况下,将任务确定为待执行任务。

在一些实施例中,任务的参数包括:任务的标识、任务是否为周期性定时任务的指示信息、任务所属系统、任务的执行时间信息、任务的编号中至少一项。任务的参数可以存储在已知的各种存储介质中,包括数据库、文件服务等。

任务的标识例如为任务在所属系统中的唯一标识,任务的编号例如为调度中心为任务分配的唯一编号。任务可以包括:非周期性定时任务和周期性定时任务。周期性定时任务即相隔固定时间重复执行的任务。例如,非周期性定时任务的执行时间信息包括:执行时间,周期性定时任务的执行时间信息包括:周期和执行时间。调度中心可以通过日志或数据库等形式,对任务是否被添加作为待执行任务进行记录。如果任务不存在,则将任务确定为待执行任务。

在步骤S104中,根据待执行任务的执行时间信息,确定待执行任务对应的时间轮数据。

在一些实施例中,确定待执行任务的类型,在待执行任务为非周期性定时任务的情况下,根据待执行任务的执行时间和当前时间的差距,确定待执行任务对应的时间轮数据。

在一些实施例中,待执行任务对应的时间轮数据包括:不同时间粒度的多层时间轮对应的数据。例如,对时间轮进行分层,分为时轮(步长1小时,周期24小时)、分轮(步长1分钟,周期60分钟)、秒轮(步长1秒,周期60秒),待执行任务对应的时间轮数据可以包括时、分、秒。具体时间轮的粒度可以根据任务的执行时间的精度确定,不限于所举示例。

采用多层时间轮相对于单层时间轮,能够提高任务执行的准确性和准时性。

在另一些实施例中,在待执行任务为周期性定时任务的情况下,根据待执行任务的周期,将待执行任务转换成预设数量的非周期性定时任务;根据转换后的非周期性定时任务的执行时间和当前时间的差距,确定转换后的非周期性定时任务对应的时间轮数据,作为待执行任务对应的时间轮数据。预设数量为1、10等,可以根据实际需求设置。例如,初次调度时生成后面10次执行的任务,可以起到一定的缓冲作用,提高周期性定时任务执行的准确性。

进一步,在一些实施例中,响应于任一转换后的非周期性定时任务开始执行,根据待执行任务的周期,转换得到当前最后一个转换后的非周期性定时任务的下一个周期的转换后的非周期性定时任务;根据下一个周期的转换后的非周期性定时任务的执行时间和当前时间的差距,确定下一个周期的转换后的非周期性定时任务对应的时间轮数据。重复执行上述过程,直至执行结束。

在步骤S106中,根据待执行任务对应的时间轮数据,以及各个任务节点的时间轮上挂载的任务信息,将待执行任务分配至任务节点执行。

在一些实施例中,各个任务节点的时间轮上挂载的任务信息包括:各个任务节点的时间轮上挂载的待执行任务的数量,根据各个任务节点的时间轮上挂载的待执行任务的数量,选取时间轮上挂载的待执行任务数量最少的任务节点;将待执行任务对应的时间轮数据发送至选取的任务节点,以将待执行任务挂载到选取的任务节点的时间轮上。

可以根据负载均衡算法、公平算法等为待执行任务分配任务节点,可以在大量待执行任务的情况下,避免某个任务节点负载过重,提高待执行任务的执行效率。也可以直接将待执行任务分配至指定的任务节点,不限于所举示例。

在一些实施例中,响应于任务执行失败,根据执行失败的任务对应的时间轮数据,以及各个任务节点的时间轮上挂载的任务信息,将执行失败的任务重新分配至任务节点执行。定时任务不一定都可以执行成功,相对于失败的任务重新执行时,放到任务队列的尾部,有可能导致调度到该任务时已经过期,可以精准的再指定时间重新执行任务,可以提高任务执行的准时性。

上述实施例中针对待执行任务,确定对应的时间轮数据,根据待执行任务对应的时间轮数据,以及各个任务节点的时间轮上挂载的任务信息,将待执行任务分配至任务节点执行。上述实施例的方法适用于定时任务的调度,可以在大量任务并发下的情况下,通过多个任务节点对任务进行高效调度、处理,提高任务的执行效率,并且通过时间轮的应用可以提高任务执行的准确性。

下面结合图2描述本公开的任务调度方法的另一些实施例。

图2为本公开任务调度方法另一些实施例的流程图。如图2所示,该实施例的方法包括:步骤S202~S216。本实施例的方法可以由调度中心执行。

在步骤S202中,接收任务添加请求。

例如,任务添加请求包括任务的参数,可以前述实施例,在此不再赘述。

在步骤S204中,确定任务的参数是否完整,如果是,则执行步骤S206,否则,返回添加失败的信息。

在步骤S206中,检查任务是否已存在,如果是,则执行步骤S207,否则,执行步骤S208。

在步骤S207中,确定任务是否为周期性定时任务,如果是,则执行步骤S212,否则,执行步骤S209。

如果任务已存在且任务为周期性任务,这种情况属于该任务还有未执行的周期,则可以根据未执行的周期转换为对应的非周期性定时任务,进行分配。可以参考前述实施例,在此不再赘述。

在步骤S208中,确定任务是否为周期性定时任务,如果是,则执行步骤S210,否则,执行步骤S212。

在步骤S209中,返回任务已注册的信息。

在步骤S210中,根据任务的周期,将任务转换成预设数量的非周期性定时任务。

在步骤S212中,确定任务对应的时间轮数据。

在步骤S214中,根据预设调度算法,确定任务对应的任务节点。

在步骤S216中,将任务发送至对应的任务节点。

上述实施例的方法,可以区分不同类型的定时任务,进行不同的处理,并将分任务分配到不同的任务节点执行,提高任务执行的效率和准时性。

在一些实施例中,监控各个任务节点上的任务状态和任务数量,监控的信息可以用于前述实施例中确定待执行任务对应的任务节点的部分。进一步,可以将监控的监控各个任务节点上的任务状态和任务数量进行显示。

进一步,在一些实施例中,监控各个任务节点上的任务状态和任务数量包括以下至少一项:针对每个任务节点,响应于监听到存储系统中该任务节点新增待执行任务的数据,更新该任务节点下待执行任务的数量,其中,该任务节点新增待执行任务的情况下上报存储系统;响应于监听到存储系统中该任务节点新增开始执行任务的数据,更新该任务节点下待执行任务和执行中任务的数量,其中,该任务节点开始执行任务的情况下上报存储系统;响应于监听到存储系统中该任务节点任务执行完毕的数据,更新该任务节点下执行中任务的数量,其中,该任务节点任务执行完毕的情况下上报存储系统。

下面结合图3A~3C描述本公开的任务调度方法的又一些实施例。

图3A为本公开任务调度方法又一些实施例的流程图。如图3A所示,该实施例的方法包括:步骤S302~S316。

在步骤S302中,任务节点接收待执行任务。

在步骤S304中,任务节点将待执行任务挂载到时间轮上。

任务节点接收到待执行任务,获取待执行任务时间轮数据(例如时、分、秒数据)。如图3B所示先将待执行任务挂载到时轮上,如果时轮走完,挂载到分轮上;分轮走完,挂载到秒轮上。秒轮走完则执行待执行任务。

在步骤S306中,任务节点新增线程,将待执行任务上报存储系统。

任务节点(任务执行器)接收到待执行任务后,添加到对应的时间轮任务中,同时另起线程上报存储系统:新增待执行任务。存储系统例如为ETCD系统、zk系统等,不限于所举示例。ETCD系统性能更好,更能够提高任务的执行效率。存储系统可以存储每个任务节点下,待执行任务的编号等信息。

在一些实施例中,监控中心监听存储系统中的数据变更,响应于监听到存储系统中该任务节点新增待执行任务的数据,更新该任务节点下待执行任务的数量。监控中心可以和调度中心合并设置或分开设置。例如图3C所示,任务节点向ETCD系统上报待执行任务,监控中心监听ETCD系统数据变更,实时更新对应任务节点下的待执行任务的数量。

在步骤S308中,任务节点响应于时间轮转到待执行任务对应的位置,获取待执行任务的编号。

在步骤S309中,任务节点确在待执行任务为周期性定时任务的情况下,向调度中心发送任务添加请求,以便调度中心生成当前最后一个转换后的非周期性定时任务的下一个周期的转换后的非周期性定时任务。

在一些实施例中,在待执行任务为周期性定时任务的情况下,任务节点也可以响应于转换后的非周期性定时任务开始执行,发送任务添加请求,以便调度中心生成当前最后一个转换后的非周期性定时任务的下一个周期的转换后的非周期性定时任务。

调度中心接收到任务添加请求,判断待执行任务已经存在,属于周期执行性质,直接当前最后一个转换后的非周期性定时任务的下一个周期的转换后的非周期性定时任务对应的时间轮参数,并分配任务执行器。

具体可以参考前述实施例,在此不再赘述。

在步骤S310中,任务节点根据待执行任务的编号,从待执行任务对应的系统中调用待执行任务并开始执行。

任务节点响应于时间轮转到待执行任务对应的位置,从待执行任务对应的系统中调用待执行任务并执行。在一些实施例中,任务节点根据待执行任务的编号和标识的对应关系,以及待执行任务的编号,确定待执行任务的标识,根据待执行任务的标识调用对应的系统(业务系统)中的待执行任务。任务节点与业务系统解耦,独立部署并运行,相对于将任务执行配置在业务系统中,可以降低业务系统压力,提高任务的执行效率。

在步骤S312中,任务节点新增线程,将开始执行的任务上报存储系统。

时间轮调度到对应任务后,启动定时任务,同时另起线程上报存储系统:有新任务开始执行。

在一些实施例中,监控中心响应于监听到存储系统中该任务节点新增开始执行任务的数据,更新该任务节点下待执行任务和执行中任务的数量。例如图3C所示,任务节点向ETCD系统上有新任务开始执行,监控中心监听ETCD数据变更,更新对应任务节点上执行中任务数量。

在一些实施例中,在待执行任务为周期性定时任务的情况下,监控中心响应于转换后的非周期性定时任务开始执行,发送任务添加请求,以便调度中心生成当前最后一个转换后的非周期性定时任务的下一个周期的转换后的非周期性定时任务。即针对周期性定时任务,当一个周期的任务开始执行时,可以由任务节点或监控中心向调度中心发送任务添加请求,以触发调度中心生成已生成的各个周期的任务中最后一个周期的下一周期的任务,并分配对应的任务节点。

在步骤S314中,任务节点对待执行任务执行完毕,得到待执行任务的执行结果。

在步骤S316中,任务节点响应于待执行任务执行完毕,新增线程,将执行完毕的任务上报存储系统。

任务节点对待执行任务执行完成后,更新任务状态,同时另起线程上报ETCD:有任务执行完成。

在一些实施例中,监控中心响应于监听到存储系统中该任务节点任务执行完毕的数据,更新该任务节点下执行中任务的数量。例如图3C所示,任务节点向ETCD系统上报任务完成,监控中心监听ETCD系统数据变更,更新执行中任务的数量和执行完毕任务数量。

在一些实施例中,响应于待执行任务数量大于阈值,增加任务节点的数量。可以通过手动、自动策略配置扩容以应对任务峰值。

基于上述各个实施例,本公开的方案可以实现大量任务并发下对任务进行高效调度、处理,提高任务执行的效率和准时性。可以实时监控任务的执行情况,任务高并发下的情况下可以扩展进行任务节点规模应对流量洪峰。通过分层时间轮可以处理时间颗粒度比较小的任务。在任务执行失败时,可以精准的再指定时间重新执行任务。任务节点与业务系统解耦。任务节点独立部署并运行,降低业务系统压力,增强系统稳定性。

本公开还提供一种任务调度装置,下面结合图4进行描述。

图4为本公开任务调度装置的一些实施例的结构图。如图4所示,该实施例的装置40包括:获取模块410,确定模块420,分配模块430。

获取模块410用于获取待执行任务。

在一些实施例中,获取模块410用于接收任务添加请求,其中,任务添加请求包括任务的参数;确定任务的参数是否完整;在任务的参数完整的情况下,检查任务是否已存在;在任务不存在的情况下,将任务确定为待执行任务。

在一些实施例中,任务的参数包括:任务的标识、任务是否为周期性定时任务的指示信息、任务所属系统、任务的执行时间信息、任务的编号中至少一项。

确定模块420用于根据待执行任务的执行时间信息,确定待执行任务对应的时间轮数据。

在一些实施例中,确定模块420用于确定待执行任务的类型,其中,类型包括:非周期性定时任务和周期性定时任务;在待执行任务为非周期性定时任务的情况下,根据待执行任务的执行时间和当前时间的差距,确定待执行任务对应的时间轮数据。

在一些实施例中,确定模块420用于在待执行任务为周期性定时任务的情况下,根据待执行任务的周期,将待执行任务转换成预设数量的非周期性定时任务;根据转换后的非周期性定时任务的执行时间和当前时间的差距,确定转换后的非周期性定时任务对应的时间轮数据,作为待执行任务对应的时间轮数据。

在一些实施例中,确定模块420用于响应于任一转换后的非周期性定时任务开始执行,根据待执行任务的周期,转换得到当前最后一个转换后的非周期性定时任务的下一个周期的转换后的非周期性定时任务;根据下一个周期的转换后的非周期性定时任务的执行时间和当前时间的差距,确定下一个周期的转换后的非周期性定时任务对应的时间轮数据。

分配模块430用于根据待执行任务对应的时间轮数据,以及各个任务节点的时间轮上挂载的任务信息,将待执行任务分配至任务节点执行。

在一些实施例中,待执行任务对应的时间轮数据包括:不同时间粒度的多层时间轮对应的数据。

在一些实施例中,各个任务节点的时间轮上挂载的任务信息包括:各个任务节点的时间轮上挂载的待执行任务的数量,分配模块430用于根据各个任务节点的时间轮上挂载的待执行任务的数量,选取时间轮上挂载的待执行任务数量最少的任务节点;将待执行任务对应的时间轮数据发送至选取的任务节点,以将待执行任务挂载到选取的任务节点的时间轮上。

在一些实施例中,分配模块430还用于响应于任务执行失败,根据执行失败的任务对应的时间轮数据,以及各个任务节点的时间轮上挂载的任务信息,将执行失败的任务重新分配至任务节点执行。

在一些实施例中,任务调度装置40还包括:监控模块440,用于监控各个任务节点上的任务状态和任务数量。

在一些实施例中,监控模块440用于执行以下至少一项:针对每个任务节点,响应于监听到存储系统中该任务节点新增待执行任务的数据,更新该任务节点下待执行任务的数量,其中,该任务节点新增待执行任务的情况下上报存储系统;响应于监听到存储系统中该任务节点新增开始执行任务的数据,更新该任务节点下待执行任务和执行中任务的数量,其中,该任务节点开始执行任务的情况下上报存储系统;响应于监听到存储系统中该任务节点任务执行完毕的数据,更新该任务节点下执行中任务的数量,其中,该任务节点任务执行完毕的情况下上报存储系统。

本公开还提供一种任务调度系统,下面结合图5~6进行描述。

图5为本公开任务调度系统的一些实施例的结构图。如图5所示,该实施例的系统5包括:前述任意实施例的任务调度装置40;以及多个任务节点52。

任务节点52,用于接收待执行任务,将待执行任务挂载到时间轮上,响应于时间轮转到待执行任务对应的位置,从待执行任务对应的系统中调用待执行任务并执行。

在一些实施例中,任务节点52还用于执行以下至少一项:响应于接收到待执行任务,新增线程,将待执行任务上报存储系统;响应于待执行任务开始执行,新增线程,将开始执行的任务上报存储系统;响应于待执行任务执行完毕,新增线程,将执行完毕的任务上报存储系统。

在一些实施例中,在待执行任务为周期性定时任务的情况下,待执行任务被转换成预设数量的非周期性定时任务,任务节点52还用于响应于转换后的非周期性定时任务开始执行,发送任务添加请求,以生成当前最后一个转换后的非周期性定时任务的下一个周期的转换后的非周期性定时任务。

如图6所示,任务调度装置40可以包括调度中心41和监控中心42。每个任务节点配置时间轮。任务调度系统5还可以包括存储系统54。各个装置的具体功能可以参考前述实施例,在此不再赘述。

本公开的实施例中的电子设备(例如任务调度装置、任务节点等)可各由各种计算设备或计算机系统来实现,下面结合图7以及图8进行描述。

图7为本公开电子设备置的一些实施例的结构图。如图7所示,该实施例的电子设备70包括:存储器710以及耦接至该存储器710的处理器720,处理器720被配置为基于存储在存储器710中的指令,执行本公开中任意一些实施例中的任务调度方法。

其中,存储器710例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)、数据库以及其他程序等。

图8为本公开电子设备的另一些实施例的结构图。如图8所示,该实施例的电子设备80包括:存储器810以及处理器820,分别与存储器710以及处理器720类似。还可以包括输入输出接口830、网络接口840、存储接口850等。这些接口830,840,850以及存储器810和处理器820之间例如可以通过总线860连接。其中,输入输出接口830为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口840为各种联网设备提供连接接口,例如可以连接到数据库服务器或者云端存储服务器等。存储接口850为SD卡、U盘等外置存储设备提供连接接口。

本领域内的技术人员应当明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解为可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述仅为本公开的较佳实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

相关技术
  • 一种任务调度方法、装置、电子设备及存储介质
  • 一种Linux系统的任务调度方法、系统及相关装置
  • 风控系统优化方法、系统、装置以及电子设备
  • 用于机器类通信系统的服务提供方法、装置及电子设备
  • 视频播放方法、装置及系统、电子设备以及存储介质
  • 计算任务调度方法、计算任务调度装置及电子设备
  • 一种任务调度系统、方法、装置及电子设备
技术分类

06120115863984