[发明专利]一种任务的执行方法、装置及其存储介质在审
申请号: | 201910072348.4 | 申请日: | 2019-01-25 |
公开(公告)号: | CN111488204A | 公开(公告)日: | 2020-08-04 |
发明(设计)人: | 肖彪;樊建刚;吕信;刘海锋 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/52;G06F9/455 |
代理公司: | 北京德琦知识产权代理有限公司 11018 | 代理人: | 郭曼;王琦 |
地址: | 100083 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 任务 执行 方法 装置 及其 存储 介质 | ||
本发明公开了一种任务的执行方法、装置及其存储介质,该方法包括接收用户发布的任务,将所述任务存储在预设的任务数据库中,按照预定方式确定生成子程序的预定数量,根据所述预定数量生成对应数量的子程序,每个子程序分别独立探测所述数据库中的任务,子程序将探测发现的任务提交到对应的预置执行程序中进行执行。通过每个子程序独立执行多个任务,使得多个任务在执行过程中相互独立。解决了在执行任务时由于任务之间的相互等待和关联,导致后续的任务无法执行,处于不可用的状态的技术问题。
技术领域
本发明涉及互联网技术领域,尤其是指一种任务的执行方法、装置及其存储介质。
背景技术
在执行任务时,经常会遇到一些耗时比较长的任务。比如,需要对线上数据库集群中主库和从库数据是否一致进行校验,尤其遇到数据量较大的情况,校验时间可能会持续好几个小时。再比如对线上数据库集群中主库和从库角色进行切换,为了使切换不在中间发生异常,通常会做一些前置的检查、环境的初始化操作,整个过程可能持续几分钟。整个数据库集群的升级需要对每一个从库,先启动新的服务,之后导入备份数据,追平数据,等待服务正常,删掉老的从库,最后按照同样的方式将老的主库切换到新的服务器上,上述的整个过程都会耗费较长的时间去执行。在一般的Web服务器上运行这些服务,服务升级或者重启的时候要观察在先的任务是否执行结束,否则要等待正在执行的任务排空。任务之间的相互影响造成了不必要的等待和关联。
执行任务的时候一般都涉及状态的修改、软件的安装、密码账号的维护、耗费性能的比对等,上述涉及的内容都应该是单实例运行的,但是这会导致在运行服务的服务器宕机时,执行任务不可用,这一点不符合当前对服务高性能、高可用的要求。发明人发现现有技术中至少存在如下问题,在执行任务时由于任务之间的相互等待和关联,导致后续的任务无法执行,处于不可用的状态。
发明内容
本发明的实施例提供了一种任务的执行方法,该方法包括:
接收用户发布的任务;
将所述任务存储在预设的任务数据库中;
按照预定方式确定生成子程序的预定数量;
根据所述预定数量生成对应数量的子程序;
每个子程序分别独立探测所述数据库中的任务;
子程序将探测发现的任务提交到对应的预置执行程序中进行执行。
可选地,所述子程序将探测发现的任务提交到对应的预置执行程序中进行执行步骤后,该方法还包括:
判断所述任务在预置执行程序中的执行情况;
如果任务执行失败,那么将所述任务发送回所述数据库,返回执行所述每个子程序分别独立探测所述数据库中的任务的步骤。
可选地,所述子程序将探测发现的任务提交到对应的预置执行程序中进行执行步骤前,该方法还包括:
根据所述任务选择执行任务集市中对应的所述预置执行程序,其中,所述执行任务集市为执行任务的多项执行程序。
可选地,所述子程序将探测发现的任务提交到对应的预置执行程序中进行执行步骤之前,该方法还包括:
每个子程序获取任务的提交权限;
如果获取任务的提交权限成功,执行所述子程序将探测发现的任务提交到对应的预置执行程序中进行执行的步骤。
可选地,每个子程序通过分布式锁的方式获取任务的权限。
可选地,所述每个子程序通过分布式锁的方式获取提交任务的权限包括:
对任务进行赋值得到具有初始赋值的任务;
将赋值后的任务进行加锁;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910072348.4/2.html,转载请声明来源钻瓜专利网。