[发明专利]一种基于Redis的分布式集群下的定时任务管理方法及装置在审
申请号: | 201911003752.2 | 申请日: | 2019-10-22 |
公开(公告)号: | CN110737526A | 公开(公告)日: | 2020-01-31 |
发明(设计)人: | 耿洪杰;王颖康;谢屈强;张雷 | 申请(专利权)人: | 上海思询信息科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 31332 上海互顺专利代理事务所(普通合伙) | 代理人: | 余毅勤 |
地址: | 200011 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 任务执行队列 监听程序 应用程序 读取 定时任务信息 监听 定时器 定时任务处理 定时器触发 分布式集群 启动定时器 发送定时 任务触发 任务管理 放入 集群 队列 应用 写入 | ||
1.一种基于Redis的分布式集群下的定时任务管理方法,其特征在于,所述方法包括:
至少一个应用程序发送定时任务;
任务监听程序获取定时任务信息,并根据定时任务的类型进行定时任务与定时器的处理,并在所述任务监听程序的定时器触发时,将该定时任务写入redis任务执行队列;
应用程序监听redis任务执行队列,并根据队列的抢占特性,读取并消费所述redis任务执行队列中的定时任务。
2.根据权利要求1所述的基于Redis的分布式集群下的定时任务管理方法,其特征在于,所述至少一个应用程序发送定时任务的步骤,包括:
每一个应用程序在确定定时任务是创建定时任务时,将定时任务发送至redis新增任务队列;
每一个应用程序在确定定时任务是创删除定时任务时,将定时任务发送至redis删除任务队列;
每一个应用程序在确定定时任务是创删修改时任务时,将定时任务发送至redis修改任务队列。
3.根据权利要求2所述的基于Redis的分布式集群下的定时任务管理方法,其特征在于,所述任务监听程序获取定时任务信息,并根据定时任务的类型进行定时任务与定时器的处理的步骤,包括:
任务监听程序获取定时任务信息;
在确定定时任务是创建定时任务时,为该需创建的定时任务设置定时器;
或者;
在确定定时任务是删除定时任务时,删除与该定时任务所对应的定时器;
或者;
在确定定时任务是修改定时任务时,与该定时任务所对应的定时器,并根据当前修改后到定时任务信息创建动新的定时器。
4.根据权利要求1所述的基于Redis的分布式集群下的定时任务管理方法,其特征在于,所述至少一个应用程序发送定时任务的步骤,包括:
至少一个应用程序发送定时任务至数据库;
并通过应用程序都对数据库中的定时任务信息进行添加,修改,删除操作。
5.根据权利要求4所述的基于Redis的分布式集群下的定时任务管理方法,其特征在于,所述方法还包括:
任务监听程序在启动后从所述数据库中读取定时任务信息;
所述任务监听程序在启动后直接接收至少一个应用程序发送定时任务。
6.根据权利要求1-5任一项所述的基于Redis的分布式集群下的定时任务管理方法,其特征在于,所述任务监听程序包括:主任务监听程序、备任务监听程序;
主任务监听程序启动,且备任务监听程序不启动;
部署keepAlive,设置连接频率,并将主任务监听程序的节点信息和备任务监听程序节点信息均配置在keepAlive中;
keepAlive启动,根据预设时间间隔发数据至主任务监听程序,如果数据可达,则表示主任务监听程序是存活的状态;
如果数据不可达,继续发送且超时后,撤销连接,确定主任务监听程序不可用;
启动备用节点中的任务监听程序,并根据定时任务的类型进行定时任务与定时器的处理。
7.一种基于Redis的分布式集群下的定时任务管理装置,其特征在于,所述装置包括:
至少一个应用程序,用于发送定时任务;
任务监听程序,用于获取定时任务信息,并根据定时任务的类型进行定时任务与定时器的处理,并在所述任务监听程序的定时器触发时,将该定时任务写入redis任务执行队列;以使应用程序通过监听redis任务执行队列,并根据队列的抢占特性,读取并消费所述redis任务执行队列中的定时任务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海思询信息科技有限公司,未经上海思询信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911003752.2/1.html,转载请声明来源钻瓜专利网。