本发明专利技术实施例提供的一种任务调度方法、装置、介质和电子设备。应用于基于Redis缓存的Quartz集群中,所述Redis缓存用于存储各个任务的任务运行信息,以及存储Quartz集群中各个节点分别对应的任务执行统计信息;方法包括:当监测到目标任务需要执行时,从Redis缓存中获取目标任务的任务运行信息;判断目标任务是否可执行;如果目标任务可执行,则从对应目标任务的至少一个节点中,确定执行目标任务的目标节点;在监测到目标节点执行目标任务后,将Redis缓存中对应目标节点的任务执行统计信息进行更新。本发明专利技术实施例利用Redis缓存代替关系型数据库实现Quartz集群,简化了Quartz集群部署。
【技术实现步骤摘要】
一种任务调度方法、装置、介质和电子设备
本专利技术涉及信息处理
,尤其涉及一种基于Redis缓存的Quartz集群实现的任务调度方法、装置、介质和电子设备。
技术介绍
Quartz是一个完全由Java编写的开源任务调度框架,通过触发器(Trigger)设置任务(job)的定时运行规则,控制任务的运行时间。Quartz集群通过故障切换和负载平衡的功能,能给任务调度器(Scheduler)带来高可用性和伸缩性。目前,现有的Quartz集群依赖关系型数据库,需要单独安装部署关系型数据库,而部署依赖于关系型数据库的Quartz集群非常复杂,开发过程比较漫长,维护成本比较高。因此,如何简化Quartz集群部署,解放依赖复杂的关系型数据库,让业务系统快速部署Quartz集群成为当前亟需解决的一个技术问题。
技术实现思路
有鉴于此,本专利技术提供一种任务调度方法、装置、介质和电子设备,以Redis缓存代替关系型数据库实现Quartz集群。技术方案如下:基于本专利技术实施例的一方面,本专利技术实施例提供一种任务调度方法,应用于基于Redis缓存的Quartz集群中,所述Redis缓存用于存储各个任务的任务运行信息,以及存储所述Quartz集群中各个节点分别对应的任务执行统计信息,所述方法包括:当监测到目标任务需要执行时,从所述Redis缓存中获取所述目标任务的任务运行信息;依据所述目标任务的任务运行信息,判断所述目标任务是否可执行;如果所述目标任务可执行,则从对应所述目标任务的至少一个节点中确定执行所述目标任务的目标节点,其中所述目标节点对应的任务执行统计信息满足预设条件;在监测到所述目标节点执行所述目标任务后,将所述Redis缓存中对应所述目标节点的任务执行统计信息进行更新。可选地,所述目标任务的任务运行信息包括所述目标任务的任务状态信息,依据所述目标任务的任务运行信息,判断所述目标任务可执行包括:当依据所述目标任务的任务状态信息确定所述目标任务的任务状态为待执行状态时,判断所述目标任务可执行。可选地,所述目标节点对应的任务执行统计信息包括所述目标节点执行所述目标任务的统计数,则所述目标节点对应的任务执行统计信息满足预设条件,包括:在对应所述目标任务的至少一个节点中,所述目标节点执行所述目标任务的统计数的数值最小。可选地,所述在监测到所述目标节点执行所述目标任务后,将所述Redis缓存中对应所述目标节点的任务执行统计信息进行更新,包括:在监测到所述目标节点执行所述目标任务后,将所述Redis缓存中对应所述目标节点的执行所述目标任务的统计数加1。可选地,如果在对应所述目标任务的多个节点中,存在至少两个节点执行所述目标任务的统计数的数值最小,则所述确定执行所述目标任务的目标节点包括:从执行所述目标任务的统计数的数值最小的至少两个节点中,通过锁定方式命中其中一个节点,该命中的节点作为所述目标节点。可选地,所述方法还包括:当监测到有新的节点加入至执行所述目标任务的队列后,将所述Redis缓存中存储的执行所述目标任务的各个节点分别对应的任务执行统计信息清零。可选地,所述方法还包括:依据各个节点更新任务执行统计信息的更新时间,判断各个节点最后一次更新任务执行统计信息的更新时间距离当前时间的时间间隔是否大于预设阈值;如果第一节点最后一次更新任务执行统计信息的更新时间距离当前时间的时间间隔大于预设阈值,确定所述第一节点异常,不再为其分配任务,并将所述第一节点对应的任务执行统计信息清零;其中,所述第一节点为所述Quartz集群中的任意一个节点。基于本专利技术实施例的另一方面,本专利技术实施例提供一种任务调度装置,应用于基于Redis缓存的Quartz集群中,所述Redis缓存用于存储各个任务的任务运行信息,以及存储所述Quartz集群中各个节点分别对应的任务执行统计信息;所述装置包括:获取单元,用于当监测到目标任务需要执行时,从所述Redis缓存中获取所述目标任务的任务运行信息;判断单元,用于依据所述目标任务的任务运行信息,判断所述目标任务是否可执行;确定单元,用于在所述判断单元判断所述目标任务可执行时,从对应所述目标任务的至少一个节点中确定执行所述目标任务的目标节点,其中所述目标节点对应的任务执行统计信息满足预设条件;更新单元,用于在监测到所述目标节点执行所述目标任务后,将所述Redis缓存中对应所述目标节点的任务执行统计信息进行更新。基于本专利技术实施例的再一方面,本专利技术实施例提供一种存储介质,其上存储有程序,所述程序被处理器执行时实现前文所述的任务调度方法。基于本专利技术实施例的再一方面,本专利技术实施例提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行前文所述的任务调度方法。本专利技术实施例提供的任务调度方法、装置、介质和电子设备,应用于基于Redis缓存的Quartz集群中,本专利技术实施例利用Redis缓存代替关系型数据库实现Quartz集群,简化了Quartz集群部署,解放了依赖复杂的关系型数据库,让业务系统快速部署Quartz集群,保证业务系统功能不间断。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本专利技术实施例提供的一种任务调度方法的流程图;图2为本专利技术实施例提供的另一种任务调度方法的流程图;图3为本专利技术实施例提供的再一种任务调度方法的流程图;图4为本专利技术实施例提供的一种任务调度装置的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。如图1所示,其示出了本专利技术实施例提供的一种任务调度方法的流程图,本专利技术实施例提供的任务调度方法具体应用于基于Redis缓存的Quartz集群中,所述Redis缓存用于存储各个任务的任务运行信息,以及存储所述Quartz集群中各个节点分别对应的任务执行统计信息。所述方法包括:步骤101,当监测到目标任务需要执行时,从所述Redis缓存中获取所述目标任务的任务运行信息。本专利技术实施例中的任务包括定时任务,定时任务如定时发送信息、定时生成报表等。任务的任务运行信息可以包括用于标识任务的ID号、任务的任务状态信息,如待执行状态、已执行状态、执行状态中等。对于每一个任务,都对应有至少一个节点可以执行该任务,比如任务A对应节点1至节点10,即该10个节点均可执行任务A。以目标任务具体为每天早7点向会员发送天气预报短信为例,在实际应用过程中,每当到达早7点时刻,向会员发送天气预报短信的任务便需要执行,此时便监测到该需要执行的向会员发送天气预报短信的目标任务,从而进一步从Redis缓存中获取该目标任务的任务运行信息。步骤102,依据所述目标任务的任务运行信息,判断所述目标任务是否可执行。如果可执行,执行步骤103,如果不可执行,本文档来自技高网...
【技术保护点】
1.一种任务调度方法,其特征在于,应用于基于Redis缓存的Quartz集群中,所述Redis缓存用于存储各个任务的任务运行信息,以及存储所述Quartz集群中各个节点分别对应的任务执行统计信息,所述方法包括:当监测到目标任务需要执行时,从所述Redis缓存中获取所述目标任务的任务运行信息;依据所述目标任务的任务运行信息,判断所述目标任务是否可执行;如果所述目标任务可执行,则从对应所述目标任务的至少一个节点中确定执行所述目标任务的目标节点,其中所述目标节点对应的任务执行统计信息满足预设条件;在监测到所述目标节点执行所述目标任务后,将所述Redis缓存中对应所述目标节点的任务执行统计信息进行更新。
【技术特征摘要】
1.一种任务调度方法,其特征在于,应用于基于Redis缓存的Quartz集群中,所述Redis缓存用于存储各个任务的任务运行信息,以及存储所述Quartz集群中各个节点分别对应的任务执行统计信息,所述方法包括:当监测到目标任务需要执行时,从所述Redis缓存中获取所述目标任务的任务运行信息;依据所述目标任务的任务运行信息,判断所述目标任务是否可执行;如果所述目标任务可执行,则从对应所述目标任务的至少一个节点中确定执行所述目标任务的目标节点,其中所述目标节点对应的任务执行统计信息满足预设条件;在监测到所述目标节点执行所述目标任务后,将所述Redis缓存中对应所述目标节点的任务执行统计信息进行更新。2.根据权利要求1所述的方法,其特征在于,所述目标任务的任务运行信息包括所述目标任务的任务状态信息,依据所述目标任务的任务运行信息,判断所述目标任务可执行包括:当依据所述目标任务的任务状态信息确定所述目标任务的任务状态为待执行状态时,判断所述目标任务可执行。3.根据权利要求1所述的方法,其特征在于,所述目标节点对应的任务执行统计信息包括所述目标节点执行所述目标任务的统计数,则所述目标节点对应的任务执行统计信息满足预设条件,包括:在对应所述目标任务的至少一个节点中,所述目标节点执行所述目标任务的统计数的数值最小。4.根据权利要求3所述的方法,其特征在于,所述在监测到所述目标节点执行所述目标任务后,将所述Redis缓存中对应所述目标节点的任务执行统计信息进行更新,包括:在监测到所述目标节点执行所述目标任务后,将所述Redis缓存中对应所述目标节点的执行所述目标任务的统计数加1。5.根据权利要求3所述的方法,其特征在于,如果在对应所述目标任务的多个节点中,存在至少两个节点执行所述目标任务的统计数的数值最小,则所述确定执行所述目标任务的目标节点包括:从执行所述目标任务的统计数的数值最小的至少两个节点中,通过锁定方式命中其中一...
【专利技术属性】
技术研发人员:包照那斯塔,王海林,
申请(专利权)人:泰康保险集团股份有限公司,泰康在线财产保险股份有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。