[发明专利]延时处理任务的方法、装置、设备以及存储介质有效
申请号: | 202110215500.7 | 申请日: | 2021-02-26 |
公开(公告)号: | CN112948081B | 公开(公告)日: | 2023-08-01 |
发明(设计)人: | 刘元;王云飞;崔燕 | 申请(专利权)人: | 北京百度网讯科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/54;G06Q20/40 |
代理公司: | 北京英赛嘉华知识产权代理有限责任公司 11204 | 代理人: | 王达佐;马晓亚 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 延时 处理 任务 方法 装置 设备 以及 存储 介质 | ||
1.一种延时处理任务的方法,包括:
接收任务,将所述任务的元信息存储在工作池中;
将所述任务的ID存入延迟桶中,计算所述任务的绝对执行时间;
实时扫描各个延迟桶,若已达到所述任务的绝对执行时间,将所述任务的ID存入就绪队列中,并从所述工作池中获取所述任务的元信息;
实时监听就绪队列,执行所述就绪队列中的待消费任务;
其中,在所述将所述任务的ID存入延迟桶中,计算所述任务的绝对执行时间之前,所述方法还包括:
若所述任务的延时执行时间超过预设阈值,则将所述任务存入延迟数据存储区;
实时扫描所述延迟数据存储区,将所述延时执行时间小于预定时间的任务存入所述延迟桶中;
其中,在所述实时监听就绪队列,执行所述就绪队列中的待消费任务之后,所述方法还包括:
若所述就绪队列中的待消费任务执行操作失败,则将所述待消费任务存入失败队列中,由对应的线程处理所述失败队列中的任务。
2.根据权利要求1所述的方法,其中,所述任务包含所述任务的延迟执行时间、通用唯一识别码UUID和消息体;以及
所述任务的ID为所述任务的UUID。
3.根据权利要求1所述的方法,其中,在所述实时监听就绪队列,执行所述就绪队列中的待消费任务之后,所述方法还包括:
从所述工作池中删除所述待消费任务对应的元信息。
4.一种延时处理任务的装置,包括:
接收模块,被配置成接收任务,将所述任务的元信息存储在工作池中;
计算模块,被配置成将所述任务的ID存入延迟桶中,计算所述任务的绝对执行时间;
第一存储模块,被配置成实时扫描各个延迟桶,若已达到所述任务的绝对执行时间,将所述任务的ID存入就绪队列中,并从所述工作池中获取所述任务的元信息;
执行模块,被配置成实时监听就绪队列,执行所述就绪队列中的待消费任务;
所述装置还包括:
第二存储模块,被配置成若所述任务的延时执行时间超过预设阈值,则将所述任务存入延迟数据存储区;
第三存储模块,被配置成实时扫描所述延迟数据存储区,将所述延时执行时间小于预定时间的任务存入所述延迟桶中;
第四存储模块,被配置成若所述就绪队列中的待消费任务执行操作失败,则将所述待消费任务存入失败队列中,由对应的线程处理所述失败队列中的任务。
5.根据权利要求4所述的装置,其中,所述任务包含所述任务的延迟执行时间、通用唯一识别码UUID和消息体;以及
所述任务的ID为所述任务的UUID。
6.根据权利要求4所述的装置,其中,所述装置还包括:
删除模块,被配置成从所述工作池中删除所述待消费任务对应的元信息。
7.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-3中任一项所述的方法。
8.一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行权利要求1-3中任一项所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京百度网讯科技有限公司,未经北京百度网讯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110215500.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种地基沉降监测仪及监测方法
- 下一篇:带电粒子对撞机