[发明专利]定时任务处理方法及装置有效
申请号: | 202211219877.0 | 申请日: | 2022-10-08 |
公开(公告)号: | CN115292023B | 公开(公告)日: | 2023-01-17 |
发明(设计)人: | 李旭明 | 申请(专利权)人: | 北京中科网威信息技术有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/52 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 张睿 |
地址: | 100094 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 定时 任务 处理 方法 装置 | ||
本发明属于数据处理技术领域,提供了一种定时任务处理方法及装置,该定时任务处理方法包括:获取定时任务的报文信息;将报文信息添加至与核ID相对应的目标时间轮,基于定时时长和所述目标时间轮的指针在当前时刻指向的槽位号,得到每个定时任务在目标时间轮中的目标槽位,并将报文信息存储于目标槽位对应的任务链表;在目标时间轮的指针指向目标槽位的情况下,执行任务链表。本发明所述方法实现了将多个不限时长的定时任务组织到单层时间轮中进行处理,避免了在使用多层时间轮时因存在定时任务迁移而导致的处理性能波动问题,且通过支持多核化扩展,提高了并行定时任务处理的效率。
技术领域
本发明涉及数据处理技术领域,尤其涉及一种定时任务处理方法及装置。
背景技术
定时任务是软件系统中常见的任务处理机制,定时任务的维护通常是使用时间轮的定时机制进行。
相关技术中,通常使用多层时间轮多对多核中央处理器(Central ProcessingUnit,CPU)中数量多且定时较长的定时任务进维护,但多层时间轮中的高层时间轮会向低层时间轮迁移定时任务,而且高层时间轮的每个时间精度中都累积了低层级时间轮在其轮转周期内新建的定时任务数,当定时任务频繁创建时,计算机资源会在短时间内被大量占用,导致处理性能降低,且多核CPU中的多个核单元利用同一个多层时间轮并行处理定时任务时也会导致处理性能降低。
发明内容
本发明提供一种定时任务处理方法及装置,用以解决现有技术利用多层时间轮并行处理数量多且定时较长的定时任务时,计算机多核CPU性能降低的缺陷,提高利用多核CPU处理定时任务的处理效率。
本发明提供一种定时任务处理方法,应用于多核中央处理器,所述多核中央处理器中的每个核单元均对应一个单层时间轮,所述单层时间轮为包含多个槽位的环形数组,多个所述槽位按顺序排列,该定时任务处理方法包括:
获取定时任务的报文信息,所述报文信息包括所述定时任务的定时时长和核ID,所述核ID用于表示处理所述定时任务对应的核单元的编号;
将所述报文信息添加至与所述核ID相对应的核单元的目标时间轮,基于所述定时时长和所述目标时间轮的指针在当前时刻指向的槽位号,得到每个所述定时任务在所述目标时间轮中的目标槽位,并将所述报文信息存储于所述目标槽位对应的任务链表,所述目标时间轮为多个所述单层时间轮中的一项,所述目标槽位为多个所述槽位中的一项;
在所述目标时间轮的指针指向所述目标槽位的情况下,执行所述任务链表。
根据本发明提供的一种定时任务处理方法,所述基于所述定时时长和所述目标时间轮的指针在当前时刻指向的槽位号,得到每个所述定时任务在所述目标时间轮中的目标槽位,包括:
基于第一公式得到所述定时任务在所述目标时间轮中的槽位索引号,并基于所述槽位索引号得到所述目标槽位,所述第一公式基于所述定时时长、所述目标时间轮的指针在当前时刻指向的槽位号、所述目标时间轮的槽位精度和所述目标时间轮中多个槽位对应的位数得到。
根据本发明提供的一种定时任务处理方法,所述报文信息还包括表头信息和所述定时任务对应的处理函数,所述在所述目标时间轮的指针指向所述目标槽位的情况下,执行所述任务链表,包括:
基于所述表头信息将所述任务链表拼接至执行列表,并在所述执行列表中的定时任务的到期时间与所述当前时刻的差值小于所述目标时间轮的槽位精度的情况下,执行所述处理函数,所述定时任务的到期时间基于所述定时任务的定时时长和所述当前时刻得到;
在所述执行列表中的定时任务的到期时间与所述当前时刻的差值大于所述目标时间轮的槽位精度的情况下,将所述执行列表中的定时任务的报文信息重新添加至所述目标时间轮,并将所述执行列表中的定时任务的报文信息从所述执行列表中删除。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京中科网威信息技术有限公司,未经北京中科网威信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211219877.0/2.html,转载请声明来源钻瓜专利网。