[发明专利]定时任务处理方法及装置有效
申请号: | 202211219877.0 | 申请日: | 2022-10-08 |
公开(公告)号: | CN115292023B | 公开(公告)日: | 2023-01-17 |
发明(设计)人: | 李旭明 | 申请(专利权)人: | 北京中科网威信息技术有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/52 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 张睿 |
地址: | 100094 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 定时 任务 处理 方法 装置 | ||
1.一种定时任务处理方法,其特征在于,应用于多核中央处理器,所述多核中央处理器中的每个核单元对应一个单层时间轮,所述单层时间轮为包含多个槽位的环形数组,多个所述槽位按顺序排列,所述方法包括:
获取定时任务的报文信息,所述报文信息包括所述定时任务的定时时长和核ID,所述核ID用于表示处理所述定时任务对应的核单元的编号;
将所述报文信息添加至与所述核ID相对应的核单元的目标时间轮,基于所述定时时长和所述目标时间轮的指针在当前时刻指向的槽位号,得到每个所述定时任务在所述目标时间轮中的目标槽位,并将所述报文信息存储于所述目标槽位对应的任务链表,所述目标时间轮为多个所述单层时间轮中的一项,所述目标槽位为多个所述槽位中的一项;
在所述目标时间轮的指针指向所述目标槽位的情况下,执行所述任务链表;
所述报文信息还包括表头信息和所述定时任务对应的处理函数,所述在所述目标时间轮的指针指向所述目标槽位的情况下,执行所述任务链表,包括:
基于所述表头信息将所述任务链表拼接至执行列表,并在所述执行列表中的定时任务的到期时间与所述当前时刻的差值小于所述目标时间轮的槽位精度的情况下,执行所述处理函数,所述定时任务的到期时间基于所述定时任务的定时时长和所述当前时刻得到;
在所述执行列表中的定时任务的到期时间与所述当前时刻的差值大于所述目标时间轮的槽位精度的情况下,将所述执行列表中的定时任务的报文信息重新添加至所述目标时间轮,并将所述执行列表中的定时任务的报文信息从所述执行列表中删除。
2.根据权利要求1所述的定时任务处理方法,其特征在于,所述基于所述定时时长和所述目标时间轮的指针在当前时刻指向的槽位号,得到每个所述定时任务在所述目标时间轮中的目标槽位,包括:
基于第一公式得到所述定时任务在所述目标时间轮中的槽位索引号,并基于所述槽位索引号得到所述目标槽位,所述第一公式基于所述定时时长、所述目标时间轮的指针在当前时刻指向的槽位号、所述目标时间轮的槽位精度和所述目标时间轮中多个槽位对应的位数得到。
3.根据权利要求1所述的定时任务处理方法,其特征在于,所述目标时间轮对应的核单元包括多个,所述在所述目标时间轮的指针指向所述目标槽位的情况下,执行所述任务链表,还包括:
在所述目标时间轮的指针指向所述目标槽位的情况下,将多个所述核单元对应的任务链表分别拼接至执行列表的尾端,并运行所述执行列表。
4.根据权利要求2所述的定时任务处理方法,其特征在于,所述第一公式为:
其中,S为所述目标时间轮的指针在当前时刻指向的槽位号,N为所述槽位索引号,T为所述定时时长,m为所述目标时间轮的槽位精度,%表示模运算,L为所述目标时间轮中多个槽位对应的位数。
5.根据权利要求4所述的定时任务处理方法,其特征在于,所述执行列表中的定时任务为多批量处理任务,每个所述批量处理任务对应的处理时间不同,每个所述批量处理任务中的定时任务的数量不超过第二阈值。
6.根据权利要求1所述的定时任务处理方法,其特征在于,所述将所述执行列表中的定时任务的报文信息从所述执行列表中删除,具体包括:
基于定时任务接口对所述执行列表中的定时任务的报文信息对应的节点执行删除操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京中科网威信息技术有限公司,未经北京中科网威信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211219877.0/1.html,转载请声明来源钻瓜专利网。