[发明专利]一种分布式定时任务调度系统及方法在审
申请号: | 201811413089.9 | 申请日: | 2018-11-23 |
公开(公告)号: | CN109558230A | 公开(公告)日: | 2019-04-02 |
发明(设计)人: | 高体伟;孙伟;赵丹;王冉;苏海波;杜晓梦 | 申请(专利权)人: | 北京百分点信息科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 北京国昊天诚知识产权代理有限公司 11315 | 代理人: | 刘昕;南霆 |
地址: | 100081 北京市朝阳区北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 定时任务调度 轮询线程 散列 缓存 过滤器 分布式调度 任意时间点 存储介质 多执行器 任务指定 散列算法 线程执行 消息发送 发送器 时间点 自定义 线程 引擎 过滤 写入 存储 集合 调度 部署 | ||
本发明公开了一种分布式定时任务调度系统及方法,执行引擎用于通过sdk根据任务散列算法将待执行任务散列后写入redis zset分片中;redis zset分片用于缓存待执行任务;执行器中部署有一个或以上的执行器实例,每个执行器实例均包含有一个轮询线程和执行线程,轮询线程用于从redis zset分片中获取执行时间小于当前系统时间的任务,交给执行线程执行;发送器用于执行过滤器过滤之后的任务,将对应的消息发送至相应的目标。本发明采用redis的有序集合redis zset作为存储介质,并且支持任务散列存储以及多执行器实例分布式调度,提供了对指定时间点调度执行特定任务的特性,从而从底层解决自定义任务指定任意时间点执行的实现。
技术领域
本发明涉及计算机和数据处理领域,具体涉及一种分布式定时任务调度系统及方法。
背景技术
目前普遍使用传统的MQ系统存储序列化后的任务,但是MQ系统本身的顺序性消费的特性无法保证消费者按照特定时间点消费消息,从逻辑上无法保证按时间触发的特性。而现有的Cron模式下的定时调度则存在一个很大的弊端,即只能指定某一任务在某个特定的时间周期内在特定的某一时间执行或者周期性执行,因此无法满足随时指定任意时间点触发。如果同一时刻大量的任务需要执行,如果任务积压严重,执行器就无法保证任务执行的时效性。
发明内容
针对现有技术的不足,本发明旨在提供一种分布式定时任务调度系统及方法,采用redis的有序集合redis zset作为存储介质,并且支持任务散列存储以及多执行器实例分布式调度,提供了对指定时间点调度执行特定任务的特性,从而从底层解决自定义任务指定任意时间点执行的实现。
为了实现上述目的,本发明采用如下技术方案:
一种分布式定时任务调度系统,包括:执行引擎、执行器、redis注册中心、rediszset分片和发送器;
所述执行引擎用于通过sdk根据任务散列算法将待执行任务散列后写入rediszset分片中;
所述redis zset分片用于缓存待执行任务;
所述执行器中部署有一个或以上的执行器实例,每个执行器实例均包含有一个轮询线程和执行线程,所述轮询线程用于从redis zset分片中获取执行时间小于当前系统时间的任务,交给执行线程执行;
发送器:用于执行过滤器过滤之后的任务,将对应的消息发送至相应的目标。
进一步地,redis zset分片的数量为可配置项,redis zset分片的数量写入redis注册中心,sdk在每一次执行引擎启动时都向redis注册中心订阅最新的redis zset分片的数量,据此更新自身的配置以及任务散列算法,以将加入的待执行任务均匀散列在各个redis zset分片中。
进一步地,所述执行器中还包括有过滤器,执行线程将任务交给过滤器,所述过滤器用于对任务进行频次过滤以及黑白名单过滤,并将经过过滤的任务交给发送器执行发送,将对应的消息发送给相应的目标。
更进一步地,所述频次过滤的规则为可配置项,使用redis注册中心的kv格式存储,在执行器完成任务之后更新对应任务的次数值。
进一步地,在本实施例中,所述执行器所部署的执行器实例的数量为可配置项,小于或等于redis zset分片的数量,执行器实例的数量写入redis注册中心。
进一步地,执行器以jar形式存在,作为一个独立的java进程启动或集成进任何java系统。
本发明还提供利用上述分布式定时任务调度系统进行分布式定时任务调度的方法,包括如下步骤:
S1、在服务端启动执行引擎,sdk根据任务散列算法将待执行任务散列后均匀写入各个redis zset分片中;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京百分点信息科技有限公司,未经北京百分点信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811413089.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:浏览器控制方法及装置
- 下一篇:分布式任务调度方法及计算机设备