任务调度方法、装置及系统制造方法及图纸

技术编号:15541164 阅读:208 留言:0更新日期:2017-06-05 10:42
本公开是关于一种任务调度方法、装置及系统。该方法包括:接收并存储各项待调度任务;将满足预设条件的各项待调度任务加入第一任务队列;将所述第一任务队列中需要在第一时间段内调度的各项待调度任务加入第二任务队列;对所述第二任务队列中的各项待调度任务进行调度。本公开的任务调度方法、装置及系统,采用无中心模式的任务调度装置,能够将各项待调度任务调度至分布式的任务执行装置中进行执行,支持负载均衡,且具有较高的可用性、并发性和实时性。

Task scheduling method, device and system

The present disclosure relates to a task scheduling method, device and system. The method includes receiving and storing the pending scheduling tasks; will meet the preset conditions to be added to the first task scheduling task queue; the first task in the queue to the scheduling in the first time to join the scheduling task second task queue; on all the second tasks in the queue to be scheduled task scheduling. The open task scheduling method, device and system, the task scheduling device without center mode, can be the scheduling task scheduling to distributed task execution device for execution, with load balancing, and has high availability, concurrency and real-time.

【技术实现步骤摘要】
任务调度方法、装置及系统
本公开涉及计算机
,尤其涉及一种任务调度方法、装置及系统。
技术介绍
相关技术中,调度器可以用于确定待执行任务的执行顺序。随着数据平台的数据处理量增加,为了能够在某些特定时间段内分析特定数据,往往需要用到大量的定时任务。这些定时任务至关重要,需要提高这些定时任务的可用性及并发性。
技术实现思路
为克服相关技术中存在的问题,本公开提供一种任务调度方法、装置及系统。根据本公开实施例的第一方面,提供一种任务调度方法,包括:接收并存储各项待调度任务;将满足预设条件的各项待调度任务加入第一任务队列;将所述第一任务队列中需要在第一时间段内调度的各项待调度任务加入第二任务队列;对所述第二任务队列中的各项待调度任务进行调度。对于上述的方法,在一种可能的实现方式中,接收并存储各项待调度任务,包括:接收任务请求,所述任务请求包括所述待调度任务和所述待调度任务对应的优先级和/或请求执行时间;按照所述待调度任务对应的优先级和/或请求执行时间,存储所述待调度任务。对于上述的方法,在一种可能的实现方式中,将满足预设条件的各项待调度任务加入第一任务队列,包括:检测是否存储有第一待调度任务,所述第一待调度任务为第二时间段内接收的待调度任务;在检测到存储有所述第一待调度任务的情况下,按照所述第一待调度任务对应的优先级和/或请求执行时间,将所述第一待调度任务加入第一任务队列。对于上述的方法,在一种可能的实现方式中,将所述第一任务队列中需要在第一时间段内调度的各项待调度任务加入第二任务队列,包括:检测所述第一任务队列中是否存储有第二待调度任务,所述第二待调度任务为需要在第一时间段内调度的待调度任务;在检测到所述第一任务队列中存储有所述第二待调度任务的情况下,按照所述第二待调度任务对应的优先级和/或请求执行时间,将所述第二待调度任务加入第二任务队列。对于上述的方法,在一种可能的实现方式中,所述方法还包括:在检测到任务执行装置当前执行的任务未执行完成的情况下,禁止将其他的待调度任务调度至所述任务执行装置;或者在检测到任务执行装置当前执行的任务执行完成的情况下,允许将其他的待调度任务调度至所述任务执行装置。对于上述的方法,在一种可能的实现方式中,所述待调度任务为待调度的定时任务,所述定时任务为请求在预设时间开始执行或者请求在预设时间获得执行结果的任务。根据本公开实施例的第二方面,提供一种任务调度装置,包括:待调度任务存储模块,用于接收并存储各项待调度任务;第一加入模块,用于将满足预设条件的各项待调度任务加入第一任务队列;第二加入模块,用于将所述第一任务队列中需要在第一时间段内调度的各项待调度任务加入第二任务队列;调度模块,用于对所述第二任务队列中的各项待调度任务进行调度。对于上述的装置,在一种可能的实现方式中,所述待调度任务存储模块包括:任务请求接收子模块,用于接收任务请求,所述任务请求包括所述待调度任务和所述待调度任务对应的优先级和/或请求执行时间;待调度任务存储子模块,用于按照所述待调度任务对应的优先级和/或请求执行时间,存储所述待调度任务。对于上述的装置,在一种可能的实现方式中,所述第一加入模块包括:第一待调度任务检测子模块,用于检测是否存储有第一待调度任务,所述第一待调度任务为第二时间段内接收的待调度任务;第一待调度任务加入子模块,用于在检测到存储有所述第一待调度任务的情况下,按照所述第一待调度任务对应的优先级和/或请求执行时间,将所述第一待调度任务加入第一任务队列。对于上述的装置,在一种可能的实现方式中,所述第二加入模块包括:第二待调度任务检测子模块,用于检测所述第一任务队列中是否存储有第二待调度任务,所述第二待调度任务为需要在第一时间段内调度的待调度任务;第二待调度任务加入子模块,用于在检测到所述第一任务队列中存储有所述第二待调度任务的情况下,按照所述第二待调度任务对应的优先级和/或请求执行时间,将所述第二待调度任务加入第二任务队列。对于上述的装置,在一种可能的实现方式中,所述装置还包括:禁止调度模块,用于在检测到任务执行装置当前执行的任务未执行完成的情况下,禁止将其他的待调度任务调度至所述任务执行装置;和/或允许调度模块,用于在检测到任务执行装置当前执行的任务执行完成的情况下,允许将其他的待调度任务调度至所述任务执行装置。对于上述的装置,在一种可能的实现方式中,所述待调度任务为待调度的定时任务,所述定时任务为请求在预设时间开始执行或者请求在预设时间获得执行结果的任务。根据本公开实施例的第三方面,提供一种任务调度系统,包括:一个或者多个任务调度装置,以及多个任务执行装置,其中,所述任务调度装置为如上所述的任务调度装置。根据本公开实施例的第四方面,提供一种任务调度装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:接收并存储各项待调度任务;将满足预设条件的各项待调度任务加入第一任务队列;将所述第一任务队列中需要在第一时间段内调度的各项待调度任务加入第二任务队列;对所述第二任务队列中的各项待调度任务进行调度。本公开的实施例提供的技术方案可以包括以下有益效果:通过本公开的任务调度方法、装置及系统,能够接收并存储各项待调度任务,将满足预设条件的各项待调度任务加入第一任务队列,将第一任务队列中需要在第一时间段内调度的各项待调度任务加入第二任务队列,并将第二任务队列中的各项待调度任务调度至分布式的任务执行装置中进行执行。采用无中心模式的任务调度装置,能够支持负载均衡,且具有较高的可用性、并发性和实时性。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。图1是根据一示例性实施例示出的一种任务调度方法的流程图。图2是根据示例性实施例的一个示例示出的一种任务调度方法中步骤S101的实现流程图。图3是根据示例性实施例的一个示例示出的一种任务调度方法中步骤S102的实现流程图。图4是根据示例性实施例的一个示例示出的一种任务调度方法中步骤S103的实现流程图。图5是根据示例性实施例的一个示例示出的一种任务调度方法的实现流程图。图6是根据一示例性实施例示出的一种任务调度装置的框图。图7是根据一示例性实施例的一个示例示出的一种任务调度装置的框图。图8是根据一示例性实施例示出的一种用于任务调度的装置1900的框图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。图1是根据一示例性实施例示出的一种任务调度方法的流程图。该任务调度方法可以用于计算机,在此不作限定。如图1所示,该任务调度方法,可以包括以下步骤。在步骤S101中,接收并存储各项待调度任务。在一种可能的实现方式中,待调度任务为待调度的定时任务,定时任务为请求在预设时间开始执行或者请求在预设时间获得执行结果的任务。本实施例的待调度任务可以本文档来自技高网...
任务调度方法、装置及系统

【技术保护点】
一种任务调度方法,其特征在于,包括:接收并存储各项待调度任务;将满足预设条件的各项待调度任务加入第一任务队列;将所述第一任务队列中需要在第一时间段内调度的各项待调度任务加入第二任务队列;对所述第二任务队列中的各项待调度任务进行调度。

【技术特征摘要】
1.一种任务调度方法,其特征在于,包括:接收并存储各项待调度任务;将满足预设条件的各项待调度任务加入第一任务队列;将所述第一任务队列中需要在第一时间段内调度的各项待调度任务加入第二任务队列;对所述第二任务队列中的各项待调度任务进行调度。2.根据权利要求1所述的任务调度方法,其特征在于,接收并存储各项待调度任务,包括:接收任务请求,所述任务请求包括所述待调度任务和所述待调度任务对应的优先级和/或请求执行时间;按照所述待调度任务对应的优先级和/或请求执行时间,存储所述待调度任务。3.根据权利要求1所述的任务调度方法,其特征在于,将满足预设条件的各项待调度任务加入第一任务队列,包括:检测是否存储有第一待调度任务,所述第一待调度任务为第二时间段内接收的待调度任务;在检测到存储有所述第一待调度任务的情况下,按照所述第一待调度任务对应的优先级和/或请求执行时间,将所述第一待调度任务加入第一任务队列。4.根据权利要求1所述的任务调度方法,其特征在于,将所述第一任务队列中需要在第一时间段内调度的各项待调度任务加入第二任务队列,包括:检测所述第一任务队列中是否存储有第二待调度任务,所述第二待调度任务为需要在第一时间段内调度的待调度任务;在检测到所述第一任务队列中存储有所述第二待调度任务的情况下,按照所述第二待调度任务对应的优先级和/或请求执行时间,将所述第二待调度任务加入第二任务队列。5.根据权利要求1至4中任意一项所述的任务调度方法,其特征在于,所述方法还包括:在检测到任务执行装置当前执行的任务未执行完成的情况下,禁止将其他的待调度任务调度至所述任务执行装置;或者在检测到任务执行装置当前执行的任务执行完成的情况下,允许将其他的待调度任务调度至所述任务执行装置。6.根据权利要求1至4中任意一项所述的任务调度方法,其特征在于,所述待调度任务为待调度的定时任务,所述定时任务为请求在预设时间开始执行或者请求在预设时间获得执行结果的任务。7.一种任务调度装置,其特征在于,包括:待调度任务存储模块,用于接收并存储各项待调度任务;第一加入模块,用于将满足预设条件的各项待调度任务加入第一任务队列;第二加入模块,用于将所述第一任务队列中需要在第一时间段内调度的各项待调度任务加入第二任务队列;调度模块,用于对所述第二任务队列中的各项待调度任务进行调度。8.根据权利要求7所述...

【专利技术属性】
技术研发人员:张旭华
申请(专利权)人:北京小米移动软件有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1