[发明专利]执行定时任务的方法以及装置在审
申请号: | 202010580275.2 | 申请日: | 2020-06-23 |
公开(公告)号: | CN111767128A | 公开(公告)日: | 2020-10-13 |
发明(设计)人: | 刘轲 | 申请(专利权)人: | 北京字节跳动网络技术有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;H04L29/08 |
代理公司: | 北京中知法苑知识产权代理有限公司 11226 | 代理人: | 李明;赵吉阳 |
地址: | 100041 北京市石景山区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 执行 定时 任务 方法 以及 装置 | ||
本公开提供了一种执行定时任务的方法以及装置,其中,该方法包括:周期性的从数据库中获取存储的各个定时任务的信息;基于每个定时任务的信息,从至少一个定时任务中确定该周期对应的待执行定时任务;在到达每个待执行定时任务对应的调度时间时,生成该待执行定时任务对应的任务执行请求,并将所述任务执行请求发送给该待执行定时任务对应的集群的资源管理器,以便所述资源管理器从集群中的至少一个下游服务器中选择目标下游服务器来执行该待执行定时任务。
技术领域
本公开涉及互联网技术领域,具体而言,涉及一种执行定时任务的方法以及装置。
背景技术
业务方存在有大量的定时任务,每个定时任务对应一执行周期,比如,定时任务对应的执行周期可以为1小时执行一次,则对应的服务端可以在8时、9时、10时等时间点执行该定时任务。
一般的,可以将各个定时任务存储在对应的下游服务器上,使得下游服务器可以在定时任务对应的执行时间,执行该定时任务。但是将定时任务存储在下游服务器上的方式,在对定时任务的信息进行修改时,需要在下游服务器上重新部署信息更新后的定时任务,使得任务修改的过程繁琐、耗时长。
同时,考虑到下游服务器可能存在故障的状况,故需要将一个定时任务部署在多个下游服务器上,多个下游服务器中的目标下游服务器用于执行该定时任务,其他下游服务器处于休眠状态,在目标下游服务器故障后,从其他下游服务器中选择一下游服务器执行该定时任务,上述直接将定时任务部署在多个下游服务器的方式,使得下游服务器的资源存在浪费问题,降低了资源的利用率。
发明内容
本公开实施例至少提供一种执行定时任务的方法以及装置。
第一方面,本公开实施例提供了一种执行定时任务的方法,所述方法应用于调度服务器,包括:
周期性的从数据库中获取存储的各个定时任务的信息;
基于每个定时任务的信息,从至少一个定时任务中确定该周期对应的待执行定时任务;
在到达每个待执行定时任务对应的调度时间时,生成该待执行定时任务对应的任务执行请求,并将所述任务执行请求发送给该待执行定时任务对应的集群的资源管理器,以便所述资源管理器从集群中的至少一个下游服务器中选择目标下游服务器来执行该待执行定时任务。
一种可选的实施方式中,所述基于每个定时任务的信息,从至少一个定时任务中确定该周期对应的待执行定时任务,包括:
基于每个定时任务的信息中指示的调度时间以及该周期对应的时间范围,从至少一个定时任务中确定该周期对应的待执行定时任务。
一种可选的实施方式中,所述基于每个定时任务的信息指示的调度时间以及该周期对应的时间范围,从至少一个定时任务中确定该周期对应的待执行定时任务,包括:
基于每个定时任务对应的所述调度时间、以及该周期对应的时间范围,确定上一周期对应的历史待执行定时任务,以及确定对应的所述调度时间位于该周期内的定时任务;
确定上一周期对应的所述历史待执行定时任务的信息中是否包括指示任务已执行的第二反馈信息;
将上一周期对应的所述历史待执行定时任务中不包括所述第二反馈信息的历史待执行定时任务,以及对应的所述调度时间位于该周期内的定时任务,确定为该周期对应的所述待执行定时任务。
一种可选的实施方式中,在基于每个定时任务的信息,从至少一个定时任务中确定该周期对应的待执行定时任务之前,所述方法还包括:
基于每个定时任务的信息中指示的任务状态,从所述至少一个定时任务中选择目标定时任务;
基于每个定时任务的信息中包括的修改标记、当前调度时间、任务反馈消息中的至少一种,从至少一个目标定时任务中确定调度时间待更新的目标定时任务;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京字节跳动网络技术有限公司,未经北京字节跳动网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010580275.2/2.html,转载请声明来源钻瓜专利网。