[发明专利]基于分布式架构的异步任务调度方法、装置和计算机设备有效
申请号: | 201911192841.6 | 申请日: | 2019-11-28 |
公开(公告)号: | CN110955508B | 公开(公告)日: | 2021-04-13 |
发明(设计)人: | 余加伟;范佳;王子骏 | 申请(专利权)人: | 广州鼎甲计算机科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F16/21;G06F16/22 |
代理公司: | 广州华进联合专利商标代理有限公司 44224 | 代理人: | 曹瀚青 |
地址: | 510670 广东省广州市广州*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 分布式 架构 异步 任务 调度 方法 装置 计算机 设备 | ||
本申请涉及一种基于分布式架构的异步任务调度方法、装置和计算机设备。该方法包括:在获取到分布式锁之后,从分布式键值存储系统中获取第一目标任务;该分布式键值存储系统中包括至少一个任务;根据第一目标任务的任务状态判断第一目标任务是否已完成;若第一目标任务未完成,则判断任务链表中是否存在第一目标任务;若任务链表中不存在第一目标任务,则将第一目标任务添加至任务链表中,并根据任务链表中的任务状态对各任务执行调度。采用本方法能够在服务器进行异步任务调度宕机时,其他服务器抢占分布式锁,根据任务的任务状态继续对异步任务进行处理。
技术领域
本申请涉及互联网技术领域,特别是涉及一种基于分布式架构的异步任务调度方法、装置和计算机设备。
背景技术
随着互联网技术的发展,在较大的计算机系统中通常使用分布式计算环境。
在分布式计算环境中,一些处理时间较长的任务一般采用异步处理的方法,例如,大量数据的迁移。然而,服务器在进行异步任务处理的过程中宕机,使任务处理异常结束,导致任务执行失败,影响服务器处理任务的效率。
发明内容
基于此,有必要针对上述技术问题,提供一种基于分布式架构的异步任务调度方法、装置和计算机设备。
第一方面,本申请提供一种异步任务调度方法,该方法包括:
在获取到分布式锁之后,从分布式键值存储系统中获取第一目标任务;所述分布式键值存储系统中包括至少一个任务;
根据所述第一目标任务的任务状态判断所述第一目标任务是否已完成;
若所述第一目标任务未完成,则判断任务链表中是否存在所述第一目标任务;
若所述任务链表中不存在所述第一目标任务,则将所述第一目标任务添加至所述任务链表中,并根据所述任务链表中的任务状态对各任务执行调度。
在其中一个实施例中,所述任务状态包括新建状态、开始状态、处理状态、完成状态。
在其中一个实施例中,若所述任务状态为新建状态,所述根据所述任务链表中的任务状态对各任务执行调度,包括:
获取所述任务链表中任务状态为新建状态的第二目标任务的任务类型;
根据所述任务类型,为各个任务分别创建任务线程;
调用所述任务线程对相应的第二目标任务执行调度。
在其中一个实施例中,若任务类型为数据迁移,所述调用所述任务线程对相应的第二目标任务执行调度,包括:
调用所述任务线程循环执行数据迁移,并获取任务的迁移状态;
若所述迁移状态为完成,则在所述任务链表中将所述第二目标任务的任务状态修改为完成状态。
在其中一个实施例中,所述方法还包括:
在所述循环执行数据迁移过程中,将所述分布式键值存储系统中所述第二目标任务的任务状态修改为处理状态;
在所述迁移状态为完成时,将所述分布式键值存储系统中所述第二目标任务的任务状态修改为完成状态。
在其中一个实施例中,所述方法还包括:
在为各个任务分别创建任务线程时,将所述任务链表中所述第二目标任务的任务状态修改为开始状态。
在其中一个实施例中,所述根据所述任务链表中的任务状态对各任务执行调度,包括:
将所述任务状态为完成状态的任务从所述任务链表中删除。
第二方面,本申请提供一种异步任务调度装置,该装置包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州鼎甲计算机科技有限公司,未经广州鼎甲计算机科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911192841.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:轨道式自动相控阵超声波扫查器
- 下一篇:UV油墨打印控制方法及UV喷墨打印机