[发明专利]分布式任务的执行方法以及相关装置、设备在审
申请号: | 202111112892.0 | 申请日: | 2021-09-18 |
公开(公告)号: | CN113946417A | 公开(公告)日: | 2022-01-18 |
发明(设计)人: | 黄湘 | 申请(专利权)人: | 广州虎牙科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
代理公司: | 深圳市威世博知识产权代理事务所(普通合伙) 44280 | 代理人: | 黎坚怡 |
地址: | 511400 广东省广州市番禺*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 任务 执行 方法 以及 相关 装置 设备 | ||
1.一种分布式任务的执行方法,其特征在于,所述分布式任务的执行方法包括:
响应于定时器启动,启动新的调度器,并通过所述新的调度器判断当前任务是否被原调度器执行完毕;
如果所述当前任务未被所述原调度器执行完毕,则通过所述新的调度器与所述原调度器共同调度所述当前任务;
如果所述当前任务被所述原调度器执行完毕,则通过所述原调度器利用分布式锁从多个分布式任务中确定新任务,并通过执行器执行所述新任务。
2.根据权利要求1所述的分布式任务的执行方法,其特征在于,所述通过所述新的调度器与所述原调度器共同调度所述当前任务的步骤之后还包括:
响应于调度器的数量超过预设数量,则新增一台容器服务。
3.根据权利要求1或2所述的分布式任务的执行方法,其特征在于,所述分布式任务的执行方法还包括:
响应于所述当前任务执行完毕且未达到预设时间,关闭一台调度器,并判断剩余的调度器的数量是否超过所述预设数量;
如果剩余的调度器的数量没有超过所述预设数量,则减少一台容器服务。
4.根据权利要求1所述的分布式任务的执行方法,其特征在于,所述通过所述新的调度器与所述原调度器共同调度所述当前任务的步骤包括:
通过所述新的调度器与所述原调度器分别调度对应的执行器执行所述当前任务。
5.根据权利要求1所述的分布式任务的执行方法,其特征在于,所述响应于定时器启动,启动新的调度器,并通过所述新的调度器判断当前任务是否被原调度器执行完毕的步骤包括:
响应于所述定时器启动,启动所述新的调度器,基于调度规则通过所述新的调度器判断所述当前任务的任务队列中是否存在需要被执行的子任务;
如果所述当前任务的任务队列中不存在需要被执行的子任务,则确定当前任务被所述原调度器执行完毕;
如果所述当前任务的任务队列中存在需要被执行的子任务,则确定当前任务未被所述原调度器执行完毕。
6.根据权利要求1所述的分布式任务的执行方法,其特征在于,所述通过所述原调度器利用分布式锁从多个分布式任务中确定新任务的步骤包括:
通过所述原调度器利用Redis分布式锁从多个分布式任务中确定具有创建权限的任务;
将具有创建权限的所述任务确定为所述新任务。
7.根据权利要求1所述的分布式任务的执行方法,其特征在于,所述通过所述原调度器利用分布式锁从多个分布式任务中确定新任务,并通过执行器执行所述新任务的步骤还包括:
将所述新任务对应的各子任务写入到任务队列中;
通过所述原调度器从所述任务队列中获取各子任务,并调用所述原调度器对应的执行器执行各子任务,直至所述任务队列中不存在需要被执行的子任务。
8.根据权利要求7所述的分布式任务的执行方法,其特征在于,所述将所述新任务对应的各子任务写入到任务队列中的步骤包括:
通过预设规则将所述新任务进行初始化,得到所述新任务对应的各子任务;
将所述各子任务写入Redis分布式锁的list结构的任务队列中;
响应于全部所述子任务写入到所述任务队列中,调用Event执行任务开始事件。
9.根据权利要求7所述的分布式任务的执行方法,其特征在于,所述通过所述原调度器从所述任务队列中获取各子任务,并调用所述原调度器对应的执行器执行各子任务,直至所述任务队列中不存在需要被执行的子任务的步骤包括:
通过所述原调度器利用FIFO规则依次从任务队列中获取各子任务,调用所述执行器执行各所述子任务,并调用Event执行任务执行事件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州虎牙科技有限公司,未经广州虎牙科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111112892.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:电能表检测方法、电能表及计算机可读存储介质
- 下一篇:槽刀及垃圾处理装置