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

技术编号:31227666 阅读:13 留言:0更新日期:2021-12-08 09:36
本发明专利技术公开了任务调度的方法、装置和系统,涉及计算机技术领域。该方法的一具体实施方式包括:在任务系统的多个任务节点执行如下任务获取逻辑:周期性地判断所述任务节点的缓存中是否存在任务标识;若是,则利用所述任务节点处理所述任务标识对应的任务;否则,采用轮询方式从共享存储端存储的多个任务标识中获取一个任务标识,以处理与所述一个任务标识对应的任务。该实施方式通过采用去中心化思想在任务系统的多个任务节点执行任务获取逻辑,能够实现轻量级、高可用的任务调度系统。高可用的任务调度系统。高可用的任务调度系统。

【技术实现步骤摘要】
任务调度的方法、装置和系统


[0001]本专利技术涉及计算机
,尤其涉及一种任务调度的方法、装置和系统。

技术介绍

[0002]现有技术中,针对任务调度类分布式系统的高可用性实现,大多是通过一套中心化的组件实现,并且也要保障这套中心化的组件高可用,整体架构中也需要引入多余的第三方分布式协调组件来实现,实现方案整体比较重,架构复杂。

技术实现思路

[0003]有鉴于此,本专利技术实施例提供一种任务调度的方法、装置和系统,通过采用去中心化思想在任务系统的多个任务节点执行任务获取逻辑,能够实现轻量级、高可用的任务调度系统。
[0004]为实现上述目的,根据本专利技术实施例的一个方面,提供了一种任务调度的方法,包括:在任务系统的多个任务节点执行如下任务获取逻辑:
[0005]周期性地判断所述任务节点的缓存中是否存在任务标识;
[0006]若是,则利用所述任务节点处理所述任务标识对应的任务;
[0007]否则,采用轮询方式从共享存储端存储的多个任务标识中获取一个任务标识,以处理与所述一个任务标识对应的任务。
[0008]可选地,利用所述任务节点处理所述任务标识对应的任务之前,还包括:确认所述任务标识有效;
[0009]若所述任务标识失效,则采用轮询方式从共享存储端存储的多个任务标识中获取一个任务标识,以处理与所述一个任务标识对应的任务。
[0010]可选地,确认所述任务标识有效之后,还包括:
[0011]向共享存储端发送续期请求,以对所述任务节点的缓存中的所述任务标识进行续期操作。
[0012]可选地,采用轮询方式从共享存储端存储的多个任务标识中获取一个任务标识,包括:
[0013]对所述多个任务标识中的任一任务标识执行获取操作,判断是否获取成功;若是,则以成功获取的任务标识作为所述一个任务标识;
[0014]否则,对所述多个任务标识中所述任一任务标识的下一个任务标识执行获取操作,判断是否获取成功;若是,则以成功获取的任务标识作为所述一个任务标识;否则,对所述多个任务标识中所述下一个任务标识的下一个任务标识执行获取操作;如此循环,直至获取成功或对所述多个任务标识中的所有任务标识都执行获取操作;
[0015]判断是否获取成功;若是,则以成功获取的任务节点作为所述一个任务标识;否则,将所述任务节点标记为候选节点。
[0016]可选地,所有任务标识采用键值对保存;其中,所述键值对的键包括任务标识,所
述键值对的值包括任务标识对应的节点标识;
[0017]所述获取操作包括:向共享存储端发送获取请求,以使共享存储端将任务标识对应的键值对的值修改为所述任务节点的节点标识;接收所述共享存储端返回的获取结果;
[0018]其中,若所述获取结果为表明修改成功的第一消息,则表明获取成功;若所述获取结果为表明修改失败的第二消息,则表明获取失败。
[0019]可选地,所述共享存储端通过执行Lua脚本将任务标识对应的节点标识字段的字段值修改为所述任务节点的节点标识。
[0020]根据本专利技术实施例的第二方面,提供一种任务调度装置,部署在任务系统的多个任务节点,包括:轮询获取模块和任务接入模块;其中,
[0021]所述轮询获取模块周期性地判断所述任务节点的缓存中是否存在任务标识;若是,则所述任务接入模块利用所述任务节点处理所述任务标识对应的任务;否则,所述轮询获取模块采用轮询方式从共享存储端存储的多个任务标识中获取一个任务标识,所述任务接入模块处理与所述一个任务标识对应的任务。
[0022]可选地,所述轮询获取模块还用于:在所述任务接入模块利用所述任务节点处理所述任务标识对应的任务之前,确认所述任务标识有效;若所述任务标识失效,则采用轮询方式从共享存储端存储的多个任务标识中获取一个任务标识;
[0023]所述任务接入模块还用于:处理与所述一个任务标识对应的任务。
[0024]可选地,所述轮询获取模块还用于:确认所述任务标识有效之后,对所述任务节点的缓存中的所述任务标识进行续期操作。
[0025]可选地,所述轮询获取模块采用轮询方式从共享存储端存储的多个任务标识中获取一个任务标识,包括:
[0026]对所述多个任务标识中的任一任务标识执行获取操作,判断是否获取成功;若是,则以成功获取的任务标识作为所述一个任务标识;
[0027]否则,对所述多个任务标识中所述任一任务标识的下一个任务标识执行获取操作,判断是否获取成功;若是,则以成功获取的任务标识作为所述一个任务标识;否则,对所述多个任务标识中所述下一个任务标识的下一个任务标识执行获取操作;如此循环,直至获取成功或对所述多个任务标识中的所有任务标识都执行获取操作;
[0028]判断是否获取成功;若是,则以成功获取的任务节点作为所述一个任务标识;否则,将所述任务节点标记为候选节点。
[0029]可选地,所有任务标识采用键值对保存;其中,所述键值对的键包括任务标识,所述键值对的值包括任务标识对应的节点标识;
[0030]所述获取操作包括:向共享存储端发送获取请求,以使共享存储端将任务标识对应的键值对的值修改为所述任务节点的节点标识;接收所述共享存储端返回的获取结果;
[0031]其中,若所述获取结果为表明修改成功的第一消息,则表明获取成功;若所述获取结果为表明修改失败的第二消息,则表明获取失败。
[0032]可选地,所述共享存储端通过执行Lua脚本将任务标识对应的节点标识字段的字段值修改为所述任务节点的节点标识。
[0033]根据本专利技术实施例的第三方面,提供一种任务调度系统,包括:共享存储端,以及部署在任务系统的多个任务节点的任务调度装置;其中,
[0034]所述共享存储端保存所有任务的任务标识;所述任务调度装置周期性地判断所述任务节点的缓存中是否存在任务标识;若是,则利用所述任务节点处理所述任务标识对应的任务;否则,采用轮询方式从共享存储端存储的多个任务标识中获取一个任务标识,以处理与所述一个任务标识对应的任务。
[0035]可选地,所述任务调度装置还用于:在利用所述任务节点处理所述任务标识对应的任务之前,确认所述任务标识有效;若所述任务标识失效,则采用轮询方式从所述共享存储端存储的多个任务标识中获取一个任务标识,以处理与所述一个任务标识对应的任务。
[0036]可选地,所述任务调度装置还用于:确认所述任务标识有效之后,对所述任务节点的缓存中的所述任务标识进行续期操作。
[0037]可选地,所述任务调度装置采用轮询方式从共享存储端存储的多个任务标识中获取一个任务标识,包括:
[0038]对所述多个任务标识中的任一任务标识执行获取操作,判断是否获取成功;若是,则以成功获取的任务标识作为所述一个任务标识;
[0039]否则,对所述多个任务标识中所述任一任务标识的下一个任务标识执行获取操作,判断是否获取成功;若是,则以成功获取的任务标识作为所述一个任本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种任务调度的方法,其特征在于,包括:在任务系统的多个任务节点执行如下任务获取逻辑:周期性地判断所述任务节点的缓存中是否存在任务标识;若是,则利用所述任务节点处理所述任务标识对应的任务;否则,采用轮询方式从共享存储端存储的多个任务标识中获取一个任务标识,以处理与所述一个任务标识对应的任务。2.如权利要求1所述的方法,其特征在于,利用所述任务节点处理所述任务标识对应的任务之前,还包括:确认所述任务标识有效;若所述任务标识失效,则采用轮询方式从共享存储端存储的多个任务标识中获取一个任务标识,以处理与所述一个任务标识对应的任务。3.如权利要求2所述的方法,其特征在于,确认所述任务标识有效之后,还包括:向共享存储端发送续期请求,以对所述任务节点的缓存中的所述任务标识进行续期操作。4.如权利要求1或2所述的方法,其特征在于,采用轮询方式从共享存储端存储的多个任务标识中获取一个任务标识,包括:对所述多个任务标识中的任一任务标识执行获取操作,判断是否获取成功;若是,则以成功获取的任务标识作为所述一个任务标识;否则,对所述多个任务标识中所述任一任务标识的下一个任务标识执行获取操作,判断是否获取成功;若是,则以成功获取的任务标识作为所述一个任务标识;否则,对所述多个任务标识中所述下一个任务标识的下一个任务标识执行获取操作;如此循环,直至获取成功或对所述多个任务标识中的所有任务标识都执行获取操作;判断是否获取成功;若是,则以成功获取的任务节点作为所述一个任务标识;否则,将所述任务节点标记为候选节点。5.如权利要求4所述的方法,其特征在于,所有任务标识采用键值对保存;其中,所述键值对的键包括任务标识,所述键值对的值包括任务标识对应的节点标识;所述获取操作包括:向共享...

【专利技术属性】
技术研发人员:王鹏飞王晓烽
申请(专利权)人:北京京东世纪贸易有限公司
类型:发明
国别省市:

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

1