说明:收录25万 73个行业的国家标准 支持批量下载
文库搜索
切换导航
文件分类
频道
联系我们
问题反馈
文件分类
联系我们
问题反馈
批量下载
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202211109479.3 (22)申请日 2022.09.13 (71)申请人 天翼安全科技有限公司 地址 100010 北京市东城区朝阳门北 大街 19号中国电信大厦 (72)发明人 臧朱龙 (74)专利代理 机构 北京同达信恒知识产权代理 有限公司 1 1291 专利代理师 潘雪 (51)Int.Cl. G06F 9/48(2006.01) G06F 9/52(2006.01) G06F 16/22(2019.01) G06F 16/2455(2019.01) (54)发明名称 一种实现分布式延时任务的方法、 装置及设 备 (57)摘要 本申请提供一种实现分布式延时任务的方 法、 装置及设备, 所述方法包括: 获取待处理任 务, 以任务ID为Key获取分布式锁后提交任务到 数据库Redi s; 周期性遍历 任务执行器队列, 每次 遍历到当前任务执行器时, 以当前任务执行器对 应的任务类 型为Key访问数据库Redi s, 查询队列 中对应任务类型待处理任务的任务执行到期时 间中最靠 前的目标任务确认是否到期, 否则遍历 下一个当前任务执行器, 是则利用目标任务的ID 获取分布式锁后, 通过当前任务执行器的工作线 程执行目标任务, 并遍历下一个当前任务执行 器, 若未获取到分布式锁则遍历下一个 当前任务 执行器。 本申请以更低的复杂度解决一致性问题 和幂等性问题, 有效管理不同类型的任务。 权利要求书2页 说明书11页 附图4页 CN 115480894 A 2022.12.16 CN 115480894 A 1.一种实现分布式延时任务的方法, 应用于生产端, 其特 征在于, 包括: 获取待处 理任务, 利用所述任务的ID从数据库Redis获取分布式锁; 若未获取到所述分布式锁, 则自动放弃提交所述待处 理任务; 若获取到所述分布式锁, 则根据所述待处理任务的任务信息及预先定义的任务结构 体, 生成所述待处 理任务对应的任务结构体; 将生成的任务结构体以ZSet数据结构存储, 并提交到数据库Redis的任务队列, 所述 ZSet数据结构包括作为键Key的任务类型、 作为值value的任务结构体、 作为score的任务执 行到期时间。 2.如权利要求1所述的方法, 其特征在于, 所述任务结构体包括如下信 息项中的至少一 项: 任务ID、 任务类型、 任务执 行到期时间、 扩展数据、 任务执 行所需数据; 所述扩展数据包 含任务的请求上 下文信息 。 3.一种实现分布式延时任务的方法, 应用于消费端, 其特 征在于, 包括: 周期性遍历任务执行器队列, 每次遍历到当前任务执行器时, 以所述当前任务执行器 对应的任务类型为K ey访问数据库Redis; 查询任务队列中对应所述任务类型的至少一个待处理任务的score, 确定所述至少一 个待处理任务中任务执 行到期时间最靠前的目标任务; 确定所述目标任务未到期时, 遍历下一个当前任务执行器, 否则, 利用所述目标任务的 ID获取数据库Redis的分布式锁; 若未获取到所述分布式锁, 自动放弃 执行目标任务, 并遍历下一个当前任务执 行器; 若获取到所述分布式锁, 从数据库Redis中获取所述目标任务的value, 通过当前任务 执行器的工作线程执 行所述目标任务, 并遍历下一个当前任务执 行器。 4.如权利要求3所述的方法, 其特 征在于, 所述任务执 行器采用如下 方式生成: 以注解的形式标注不同任务执 行器对应的任务类型; 针对不同任务类型的任务执 行器, 定义对 任务结构体中数据进行处 理的处理逻辑; 将针对各任务类型定义的处理逻辑与对应的注解, 结构化成对应任务类型的任务执行 器。 5.如权利要求4所述的方法, 其特征在于, 将针对各任务类型定义的处理逻辑与对应的 注解, 结构化成对应任务类型的任务执 行器, 包括: 将针对各任务类型定义的处理逻辑与对应的注解, 结构化成包括任务类型、 反射调用 参数的任务执 行器; 所述反射调用参数用于根据对任务结构体中数据进行处理 的处理逻辑, 利用从数据库 Redis获取的目标任务的value, 执 行所述目标任务。 6.如权利要求5所述的方法, 其特 征在于, 任务执 行器还包括: 用于读取用户指令的任务确认接口; 其中, 通过当前任务执行器的工作线程从所述任务确认接口读取用户指令, 根据用户 指令在执行所述目标任务完成后删除所述目标任务, 或者重新提交所述目标任务并重新设 定所述目标任务的任务执 行到期时间。 7.如权利要求3所述的方法, 其特 征在于, 采用如下 方式确认目标任务是否 到期, 包括:权 利 要 求 书 1/2 页 2 CN 115480894 A 2若所述目标任务的score晚于当前系统时钟, 则所述目标任务到期, 否则所述目标任务 未到期。 8.如权利要求3所述的方法, 其特征在于, 从数据库Redis中获取所述目标任务的 value, 通过当前任务执 行器的工作线程执 行所述目标任务, 包括: 从数据库Redis中获取所述目标任务的value, 利用所述目标任务的value中的扩展数 据, 在当前任务执 行器的工作线程还原所述目标任务的请求上 下文; 还原完请求上下文后, 利用从数据库Redis中获取的所述目标任务的value中的任务执 行所需数据, 执 行所述目标任务。 9.如权利要求3所述的方法, 其特 征在于, 还 包括: 通过当前任务执行器的工作线程执行完成所述目标任务后, 数据库Redis自动删除所 述目标任务。 10.一种实现分布式延时任务的装置, 作为 生产端, 其特 征在于, 包括: 分布式锁获取模块, 用于获取待处理任务, 利用所述任务的ID从数据库Redis获取分布 式锁; 任务放弃模块, 用于若未获取到所述分布式锁, 则自动放弃提交所述待处 理任务; 任务结构体定义模块, 用于若获取到所述分布式锁, 则根据所述待处理任务的任务信 息及预先定义的任务结构体, 生成所述待处 理任务对应的任务结构体; 任务提交模块, 用于将生成的任务结构体以ZSet数据结构存储, 并提交到数据库Redis 的任务队列, 所述ZSet数据结构包括作为键Key的任务类型、 作为值value的任务结构体、 作 为score的任务执 行到期时间。 11.一种实现分布式延时任务的装置, 作为消费端, 其特 征在于, 包括: 任务执行器遍历模块, 用于周期性遍历任务执行器队列, 每次在遍历到当前任务执行 器时, 以所述当前任务执 行器对应的任务类型为K ey访问数据库Redis; 查找到期任务模块, 用于查询任务队列中对应所述任务类型的至少一个待处理任务的 score, 确定所述至少一个待处 理任务中任务执 行到期时间最靠前的目标任务; 分布式锁获取模块, 用于确定所述目标任务未到期时, 遍历下一个当前任务执行器, 否 则, 利用所述目标任务的ID获取 数据库Redis的分布式锁; 任务放弃模块, 用于若未获取到所述分布式锁, 自动放弃执行目标任务, 并遍历下一个 当前任务执 行器; 任务执行模块, 用于若获取到所述分布式锁, 从数据库Redis中获取所述目标任务的 value, 通过当前任务执行器对应的工作线程执行所述目标任务, 并遍历下一个 当前任务执 行器。 12.一种实现分布式延时任务的电子设备, 其特征在于, 包括至少一个处理器; 以及与 所述至少一个处理器通信连接的存储器; 其中, 所述存储器存储有可被所述至少一个处理 器执行的指令, 所述指令被所述至少一个处理器执行, 以使所述至少一个处理器能够执行 如权利要求1 ‑9中任何一项所述的方法。 13.一种计算机程序介质, 其特征在于, 所述计算机存储介质存储有计算机程序, 所述 计算机程序用于使计算机执 行如权利要求1 ‑9中任何一项所述的方法。权 利 要 求 书 2/2 页 3 CN 115480894 A 3
专利 一种实现分布式延时任务的方法、装置及设备
文档预览
中文文档
18 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
赞助2元下载(无需注册)
温馨提示:本文档共18页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
下载文档到电脑,方便使用
赞助2元下载
本文档由 人生无常 于
2024-03-18 17:15:04
上传分享
举报
下载
原文档
(689.4 KB)
分享
友情链接
GB-T 29299-2012 半导体激光测距仪通用技术条件.pdf
GB-T 43380-2023 自动化干散货码头综合管控系统技术要求.pdf
GA-T 1202-2022 交通技术监控成像补光装置通用技术条件.pdf
T-CASME 665—2023 乡村居住建筑节能设计规范.pdf
GB-T 21052-2007 信息安全技术 信息系统物理安全技术要求.pdf
GB-T 42632-2023 海洋生态环境水下有缆在线监测系统技术要求.pdf
GB-T 34095-2017 信息安全技术 用于电子支付的基于近距离无线通信的移动终端安全技术要求.pdf
GB-T 4661-2015 滚动轴承 圆柱滚子.pdf
DB52-T 1741-2023 快递绿色包装使用评价规范 贵州省.pdf
GB-T 33746.2-2017 近场通信(NFC)安全技术要求 第2部分:安全机制要求.pdf
DB65-T 4595—2022 高压开关柜局部放电在线监测装置技术规范 新疆维吾尔自治区.pdf
GB-T 34953.1-2017 信息技术 安全技术 匿名实体鉴别 第1部分:总则.pdf
GB-T 40013-2021 服务机器人 电气安全要求及测试方法.pdf
NBT 32015-2013分布式电源接入配电网技术规定.pdf
GB-T 34946-2017 C#语言源代码漏洞测试规范.pdf
GB 9706.204-2022 医用电气设备 第2-4部分:心脏除颤器的基本安全和基本性能专用要求.pdf
GM-T 0030-2014 服务器密码机技术规范.pdf
T-ZWCHEMA 001—2023 水利水电工程全过程工程咨询服务规程.pdf
GB-T 16638.1-2008 空气动力学 概念、量和符号 第1部分:空气动力学常用术语.pdf
GB-T 32841-2016 金矿石取样制样方法.pdf
交流群
-->
1
/
3
18
评价文档
赞助2元 点击下载(689.4 KB)
回到顶部
×
微信扫码支付
2
元 自动下载
官方客服微信:siduwenku
支付 完成后 如未跳转 点击这里 下载
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们
微信(点击查看客服)
,我们将及时删除相关资源。