基于分布式调度系统的任务调度方法、服务器及存储介质技术方案

技术编号:19341426 阅读:29 留言:0更新日期:2018-11-07 13:38
本发明专利技术提供了一种基于分布式调度系统的任务调度方法、装置及存储介质,该方法接收大批量的任务调度请求,根据请求批量创建定时任务,将每个任务的相关信息存储至消息队列。之后,该方法接收消息队列中的任务,按预设的方式将各任务下发至相应的主机执行,并实时监控各任务的执行状态。若某任务执行失败,则按预设的任务重启规则自动触发执行该任务的主机再次执行该任务,若再次触发执行失败,则负载均衡设备在该任务中写入执行状态标识信息后将该任务转发至其它主机执行,直至该任务执行成功,将该任务执行结果以日志形式存储至数据库。利用本发明专利技术,能够实现大批量分布式调度任务的调度,提升分布式系统的吞吐量。

Task scheduling method, server and storage medium based on distributed scheduling system

The invention provides a task scheduling method, device and storage medium based on distributed scheduling system. The method receives a large number of task scheduling requests, creates timing tasks in batches according to requests, and stores relevant information of each task into message queue. After that, the method receives the tasks in the message queue, sends them to the corresponding host to execute in a preset way, and monitors the execution status of each task in real time. If a task fails to execute, the preset task restart rule automatically triggers the host to execute the task again. If the execution fails again, the load balancing device writes the execution status identification information in the task and forwards the task to other hosts until the task is successfully executed. The results of task execution are stored in a log form to the database. By using the present invention, a large number of distributed scheduling tasks can be dispatched and the throughput of the distributed system can be improved.

【技术实现步骤摘要】
基于分布式调度系统的任务调度方法、服务器及存储介质
本专利技术涉及计算机
,尤其涉及一种基于分布式调度系统的任务调度方法、服务器及计算机可读存储介质。
技术介绍
在互联网、云计算、大数据时代,任务的处理方面存在大数据、高并发的特点。分布式任务调度系统主要是为了在协调多节点处理相同任务时,避免数据被重复处理。通过集群的节点分担大批量任务的处理,提高批量任务的处理效率。现有分布式调度系统是基于数据库实现任务调度的,系统中执行任务的节点将任务的相关信息逐一写入数据库,各个节点的调度器都遵守一个基于数据库锁的操作规则以保证操作的唯一性,但这种调度策略存在一定的局限性:集群特性对于高CPU使用率的任务效果很好,但是对于大量的短任务,各个节点都会抢占数据库锁,这样就出现大量的线程等待资源。且这种情况随着节点的增加会越来越严重。
技术实现思路
鉴于以上内容,本专利技术提供一种基于分布式调度系统的任务调度方法、服务器及计算机可读存储介质,其主要目的在于合理调度任务,提高任务调度可靠性,提升分布式调度系统的吞吐量。为实现上述目的,本专利技术提供一种基于分布式调度系统的任务调度方法,该方法包括:创建步骤:接收大批量的任务调度请求,根据任务调度请求批量创建定时任务,将每个定时任务的相关信息以消息的方式存储至消息队列;监控步骤:接收消息队列中的定时任务,按预设的方式将各定时任务下发至相应的主机执行,并实时监控各定时任务的执行状态;执行步骤:若某定时任务执行失败,则按预设的任务重启规则自动触发执行该定时任务的主机再次执行该定时任务,若按预设的任务重启规则再次触发执行该定时任务仍然返回失败状态,则负载均衡设备在该定时任务中写入执行状态标识信息后将该定时任务转发至其它主机执行,直至该定时任务执行成功,将该定时任务执行结果以日志形式存储至数据库。优选地,所述预设的任务重启规则包括:设置重启次数的阈值,在该定时任务的有效时间内每隔预设时间触发执行该任务,直至该定时任务成功或达到重启次数的阈值。优选地,所述预设的方式包括:根据可用主机的数量,将定时任务或任务组均匀分配至各个主机执行,或者根据定时任务数量与主机数量通过取模取余的方式分配至各主机执行,或者将定时任务分配至当前负载最低的一台或多台主机执行。优选地,所述创建步骤包括:将创建的定时任务按照预设的划分规则进行划分任务组,设置每个任务组中任务的触发时间周期或执行时间。优选地,所述执行状态标识信息包括之前执行该定时任务的主机地址、执行失败的时间、重启次数及执行失败的原因。优选地,该方法还包括步骤:若达到有效时间或重启次数的阈值,该定时任务未执行成功或完毕,则反馈执行失败的结果至负载均衡设备。此外,本专利技术还提供一种服务器,该服务器包括:存储器、处理器及显示器,所述存储器上存储任务调度程序,所述任务调度程序被所述处理器执行,可实现如下步骤:创建步骤:接收大批量的任务调度请求,根据任务调度请求批量创建定时任务,将每个定时任务的相关信息以消息的方式存储至消息队列;监控步骤:接收消息队列中的定时任务,按预设的方式将各定时任务下发至相应的主机执行,并实时监控各定时任务的执行状态;执行步骤:若某定时任务执行失败,则按预设的任务重启规则自动触发执行该定时任务的主机再次执行该定时任务,若按预设的任务重启规则再次触发执行该定时任务仍然返回失败状态,则负载均衡设备在该定时任务中写入执行状态标识信息后将该定时任务转发至其它主机执行,直至该定时任务执行成功,将该定时任务执行结果以日志形式存储至数据库。优选地,所述预设的任务重启规则包括:设置重启次数的阈值,在该定时任务的有效时间内每隔预设时间触发执行该任务,直至该定时任务成功或达到重启次数的阈值。优选地,所述预设的方式包括:根据可用主机的数量,将定时任务或任务组均匀分配至各个主机执行,或者根据定时任务数量与主机数量通过取模取余的方式分配至各主机执行,或者将定时任务分配至当前负载最低的一台或多台主机执行。此外,为实现上述目的,本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质中包括任务调度程序,所述任务调度程序被处理器执行时,可实现如上所述基于分布式调度系统的任务调度方法中的任意步骤。本专利技术提出的基于分布式调度系统的任务调度方法、服务器及计算机可读存储介质,通过接收大批量的任务调度请求,根据任务调度请求批量创建定时任务,将每个定时任务的相关信息以消息的方式存储至消息队列。之后,接收消息队列中的定时任务,按预设的方式将各定时任务下发至相应的主机执行,并实时监控各定时任务的执行状态。若某定时任务执行失败,则按预设的任务重启规则自动触发执行该定时任务的主机再次执行该定时任务,若按预设的任务重启规则再次触发执行该定时任务仍然返回失败状态,则负载均衡设备在该定时任务中写入执行状态标识信息后将该定时任务转发至其它主机执行,直至该定时任务执行成功,将该定时任务执行结果以日志形式存储至数据库,从而充分利用执行定时任务的主机,大大提高定时任务的处理能力。附图说明图1为本专利技术基于分布式调度系统的任务调度方法的应用环境示意图;图2为本专利技术服务器较佳实施例的示意图;图3为图2中任务调度程序较佳实施例的模块示意图;图4为本专利技术基于分布式调度系统的任务调度方法较佳实施例的流程图;本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。如图1所示,是本专利技术基于分布式调度系统的任务调度方法的应用环境示意图。在本实施例中,本专利技术提供一种分布式调度系统,该系统包括调度引擎、负载均衡设备、控制台及数据库等。其中,所述调度引擎用于根据接收的的任务请求批量创建定时任务,并触发任务调度,还可以用于执行任务的修改、删除、暂停及恢复等管理作业。所述负载均衡设备用于将从消息队列中获取的定时任务按预设的方式下发至主机,还可以用于实时监控所有定时任务的执行状态,并记录每个定时任务执行过程中产生的数据,存储至数据库。控制台用于查询各个任务的当前执行状态及执行过程中所产生的数据,包括执行时间、任务执行成功个数、任务执行失败个数及各个任务执行失败的原因等。如图2所示,是本专利技术服务器1较佳实施例的示意图。在本实施例中,服务器1是指产品服务平台,该服务器1可以是服务器、平板电脑、个人电脑、便携计算机以及其它具有运算功能的电子设备。该服务器1包括:存储器11、处理器12、显示器13、网络接口14及通信总线15。其中,网络接口14可选地可以包括标准的有线接口、无线接口(如WI-FI接口)。通信总线15用于实现这些组件之间的连接通信。存储器11至少包括一种类型的可读存储介质。所述至少一种类型的可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器等的非易失性存储介质。在一些实施例中,所述存储器11可以是所述服务器1的内部存储单元,例如该服务器1的硬盘。在另一些实施例中,所述存储器11也可以是所述服务器1的外部存储单元,例如所述服务器1上配备的插接式硬盘,智能存储卡(SmartMediaCard,SMC),安全数字(SecureDigital,SD)卡,闪存卡(FlashCard)等。在本实施例中,所述存储器11不仅可以用于存储安装于本文档来自技高网...

【技术保护点】
1.一种基于分布式调度系统的任务调度方法,应用于服务器,其特征在于,所述方法包括:创建步骤:接收大批量的任务调度请求,根据任务调度请求批量创建定时任务,将每个定时任务的相关信息以消息的方式存储至消息队列;监控步骤:接收消息队列中的定时任务,按预设的方式将各定时任务下发至相应的主机执行,并实时监控各定时任务的执行状态;执行步骤:若某定时任务执行失败,则按预设的任务重启规则自动触发执行该定时任务的主机再次执行该定时任务,若按预设的任务重启规则再次触发执行该定时任务仍然返回失败状态,则负载均衡设备在该定时任务中写入执行状态标识信息后将该定时任务转发至其它主机执行,直至该定时任务执行成功,将该定时任务执行结果以日志形式存储至数据库。

【技术特征摘要】
1.一种基于分布式调度系统的任务调度方法,应用于服务器,其特征在于,所述方法包括:创建步骤:接收大批量的任务调度请求,根据任务调度请求批量创建定时任务,将每个定时任务的相关信息以消息的方式存储至消息队列;监控步骤:接收消息队列中的定时任务,按预设的方式将各定时任务下发至相应的主机执行,并实时监控各定时任务的执行状态;执行步骤:若某定时任务执行失败,则按预设的任务重启规则自动触发执行该定时任务的主机再次执行该定时任务,若按预设的任务重启规则再次触发执行该定时任务仍然返回失败状态,则负载均衡设备在该定时任务中写入执行状态标识信息后将该定时任务转发至其它主机执行,直至该定时任务执行成功,将该定时任务执行结果以日志形式存储至数据库。2.根据权利要求1所述的基于分布式调度系统的任务调度方法,其特征在于,所述预设的任务重启规则包括:设置重启次数的阈值,在该定时任务的有效时间内每隔预设时间触发执行该任务,直至该定时任务成功或达到重启次数的阈值。3.根据权利要求1所述的基于分布式调度系统的任务调度方法,其特征在于,所述预设的方式包括:根据可用主机的数量,将定时任务或任务组均匀分配至各个主机执行,或者根据定时任务数量与主机数量通过取模取余的方式分配至各主机执行,或者将定时任务分配至当前负载最低的一台或多台主机执行。4.根据权利要求1所述的基于分布式调度系统的任务调度方法,其特征在于,所述创建步骤包括:将创建的定时任务按照预设的划分规则进行划分任务组,设置每个任务组中任务的触发时间周期或执行时间。5.根据权利要求1所述的基于分布式调度系统的任务调度方法,其特征在于,所述执行状态标识信息包括之前执行该定时任务的主机地址、执行失败的时间、重启次数及执行失败的原因。6.根据权利要求1-5任...

【专利技术属性】
技术研发人员:孙志博
申请(专利权)人:康键信息技术深圳有限公司
类型:发明
国别省市:广东,44

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

1