【技术实现步骤摘要】
分布式定时任务调度方法、系统、存储介质及程序产品
[0001]本专利技术涉及计算机
,尤其涉及一种分布式定时任务调度方法、系统、存储介质及程序产品。
技术介绍
[0002]很多场景下都具有定时数据推送的需求。比如,企业中业务人员需要每天定时获取报告数据。定时数据推送由相应的定时数据推送任务完成。为尽量满足定时数据的及时推送,定时数据推送任务通常由分布式服务执行。
[0003]定时数据推送任务的执行数量具有时间分布不均匀的特性,会出现大量任务被配置在某一个时间段执行。比如,配置早上9点左右执行大量的推送任务。现有分布式定时任务根据预设的时间间隔去数据库拉取一个任务,这个时间间隔决定了数据库的访问频率。访问频率过高或过低均会带来问题。比如,访问频率过高会造成数据库压力过大;访问频率过低会造成任务积压,服务器资源无法得到充分利用。
技术实现思路
[0004]为解决现有技术中的问题,本专利技术提供一种分布式定时任务调度方法、系统、存储介质及程序产品。
[0005]本专利技术提供一种分布式定时任务 ...
【技术保护点】
【技术特征摘要】
1.一种分布式定时任务调度方法,其特征在于,包括:调度服务器定时从数据库拉取未来预设时段内要执行的任务,并将到达执行时间的任务分别在zk任务队列目录节点下创建对应的临时目录节点;分布式服务节点处于空闲状态的线程排队获取锁,所述线程获取锁后到所述zk任务队列目录节点取走一个所述临时目录节点对应的任务,释放锁,并在执行所述任务后重新排队获取锁。2.根据权利要求1所述的分布式定时任务调度方法,其特征在于,所述方法还包括:所述分布式服务节点上线后在zk节点列表目录节点下创建对应的临时目录节点;所述调度服务器监听所述zk节点列表目录节点下创建的临时目录节点的状态,响应于获取到所述分布式服务节点下线的信息,获取下线的所述分布式服务节点未完成的任务,并将下线的所述分布式服务节点未完成的任务重新分别在所述zk任务队列目录节点下创建对应的临时目录节点。3.根据权利要求1所述的分布式定时任务调度方法,其特征在于,所述zk任务队列目录节点下创建的临时目录节点为临时顺序编号目录节点;所述线程获取锁后到所述zk任务队列目录节点取走一个所述临时目录节点对应的任务,包括:所述线程获取锁后根据所述临时目录节点的序号到所述zk任务队列目录节点取走一个所述临时目录节点对应的任务。4.根据权利要求2所述的分布式定时任务调度方法,其特征在于,所述方法还包括:所述分布式服务节点在所述线程取走任务后及执行所述任务后更新数据库中相应任务的状态;在所述将下线的所述分布式服务节点未完成的任务重新分别在所述zk任务队列目录节点下创建对应的临时目录节点之前,所述方法还包括:根据所述下线的所述分布式服务节点的信息查询所述数据库获取所述未完成的任务。5.根据权利要求1所述的分布式定时任务调度方法,其特征在于,所述分布式服务节点处于空闲状态的线程排队获取锁,包括:所...
【专利技术属性】
技术研发人员:缪桓举,赵谦,
申请(专利权)人:贝壳找房北京科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。