[发明专利]延时任务执行方法及装置在审
申请号: | 201710400271.X | 申请日: | 2017-05-31 |
公开(公告)号: | CN107220030A | 公开(公告)日: | 2017-09-29 |
发明(设计)人: | 赵文兴;党艳平;王刚 | 申请(专利权)人: | 北京北信源软件股份有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/445 |
代理公司: | 北京超凡志成知识产权代理事务所(普通合伙)11371 | 代理人: | 徐彦圣 |
地址: | 100000 北京市海淀区中关村*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 延时 任务 执行 方法 装置 | ||
1.一种延时任务执行方法,其特征在于,应用于电子设备,所述电子设备中包括一环形队列,所述环形队列中包括多个任务标签;所述方法包括:
按照预设时间间隔依次轮询所述环形队列中的任务标签;
接收延时消息,所述延时消息中包括待执行任务的延时时长;
生成触发所述待执行任务的任务触发指令;
计算得到所述延时时长后正在被询问的任务标签作为目标任务标签,并将所述任务触发指令存放至所述目标任务标签中;
针对每个正在被询问的任务标签,执行该任务标签中存放时间达到所述延时时长的任务触发指令。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在执行任务标签中的任务触发指令后,删除所述任务标签中被执行的任务触发指令。
3.根据权利要求1或2所述的方法,其特征在于,所述任务触发指令中包括一触发标志位;计算得到所述延时时长后正在被询问的任务标签作为目标任务标签,并将所述任务触发指令存放至所述目标任务标签中的步骤,包括:
根据所述预设时间间隔计算所述延时时长内能够轮询的任务标签的数量;
比较所述数量与所述环形队列中包括的任务标签的总量的大小;
若所述数量小于所述总量,则将当前正在被询问的任务标签之后的第所述数量个任务标签作为所述目标任务标签,将所述触发标志位的值设置为0,并将所述任务触发指令存放至所述目标任务标签中;
若所述数量大于或等于所述总量,则对所述数量与所述总量做除法,得到一商和余数,将当前正在被询问的任务标签之后的第余数个任务标签作为所述目标任务标签,将所述触发标志位的值设置为所述商,以及将所述任务触发指令存放至所述目标任务标签中。
4.根据权利要求3所述的方法,其特征在于,针对每个正在被询问的任务标签,执行该任务标签中存放时间达到所述延时时长的任务触发指令的步骤,包括:
检测正在被询问的任务标签中是否存在任务触发指令;
若不存在任务触发指令,则继续询问下一任务标签;
若存在任务触发指令,则判断该任务触发指令的存放时间是否达到所述延时时长;
若未达到所述延时时长,则将所述任务触发指令中的触发标志位的值减1,并继续询问下一任务标签;
若达到所述延时时长,则执行所述任务触发指令。
5.根据权利要求4所述的方法,其特征在于,判断该任务触发指令的存放时间是否达到所述延时时长的步骤,包括:
检测该任务触发指令中的触发标志位的值是否为0;
若为0,则判定该任务触发指令的存放时间达到所述延时时长;
若不为0,则判定该任务触发指令的存放时间未达到所述延时时长。
6.一种延时任务执行装置,其特征在于,应用于电子设备,所述电子设备包括一个环形队列,所述环形队列中包括多个任务标签;所述装置包括:
轮询模块,用于按照预设时间间隔依次轮询所述环形队列中的任务标签;
延时消息接收模块,用于接收延时消息,所述延时消息中包括待执行任务的延时时长;
触发指令生成模块,用于生成触发所述待执行任务的任务触发指令;
存放模块,用于计算得到所述延时时长后正在被询问的任务标签作为目标任务标签,并将所述任务触发指令存放至所述目标任务标签中;
执行模块,用于针对每个正在被询问的任务标签,执行该任务标签中存放时间达到所述延时时长的任务触发指令。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
删除模块,用于在执行任务标签中的任务触发指令后,删除所述任务标签中被执行的任务触发指令。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京北信源软件股份有限公司,未经北京北信源软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710400271.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:加速压缩方法以及使用此方法的装置
- 下一篇:一种市政建筑用钢管连结器