[发明专利]循环任务的管理方法、装置、电子设备及存储介质有效
申请号: | 201910384521.4 | 申请日: | 2019-05-09 |
公开(公告)号: | CN110109741B | 公开(公告)日: | 2021-08-27 |
发明(设计)人: | 陈跃鹏;曹志敏 | 申请(专利权)人: | 北京旷视科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 北京律智知识产权代理有限公司 11438 | 代理人: | 王辉;阚梓瑄 |
地址: | 100190 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 循环 任务 管理 方法 装置 电子设备 存储 介质 | ||
1.一种循环任务的管理方法,其特征在于,包括:
获取任务列表,所述任务列表包括多个循环任务以及每个循环任务的最近执行时间和间隔时间,其中所述每个循环任务分别由一个协程执行;
响应于任一循环任务的最近执行时间和当前时间的时间间隔达到所述任一循环任务的间隔时间,推送所述任一循环任务关联的业务数据;
更新所述任务列表中所述任一循环任务的最近执行时间;
如果所述任务列表中存在最近执行时间和当前时间的时间间隔达到预设时间的循环任务,则将该循环任务重新激活;所述每个循环任务具有对应的预设时间,所述预设时间为对应的循环任务的间隔时间乘以N,N为大于1的实数;
其中,每个协程具有一定时器,用于监视所述协程所执行的循环任务的最近执行时间和当前时间的时间间隔是否达到该循环任务的间隔时间或预设时间。
2.根据权利要求1所述的方法,其特征在于,所述任务列表还包括所述每个循环任务的启动时间,启动时间不同、间隔时间相同的循环任务由同一个线程中的协程执行。
3.根据权利要求1所述的方法,其特征在于,所述如果所述任务列表中存在最近执行时间和当前时间的时间间隔达到预设时间的循环任务,则将该循环任务重新激活,包括:
如果所述任务列表中存在最近执行时间和当前时间的时间间隔达到预设时间的循环任务,则将该循环任务从所述任务列表中移除,并在所述任务列表的底部重新添加该被移除的循环任务。
4.根据权利要求1所述的方法,其特征在于,所述任务列表还包括所述每个循环任务的状态,所述状态包括待处理或处理中;
所述如果所述任务列表中存在最近执行时间和当前时间的时间间隔达到预设时间的循环任务,则将该循环任务重新激活,包括:
如果所述任务列表中存在最近执行时间和当前时间的时间间隔达到预设时间、且状态为处理中的循环任务,则将该循环任务重新激活。
5.根据权利要求4所述的方法,其特征在于,所述任务列表中的所述多个循环任务按照各循环任务在所述任务列表中添加时间的先后顺序排列;
所述方法还包括:
在状态为处理中的循环任务中确定添加时间最晚的循环任务;
如果存在添加时间早于所述添加时间最晚的循环任务,且状态为待处理的其他循环任务,则将所述其他循环任务重新激活。
6.一种循环任务的处理装置,其特征在于,包括:
获取模块,用于获取任务列表,所述任务列表包括多个循环任务以及每个循环任务的最近执行时间,其中所述每个循环任务分别由一个协程执行;
执行模块,用于响应于任一循环任务的最近执行时间和当前时间的时间间隔达到所述任一循环任务的间隔时间,推送所述任一循环任务关联的业务数据;
更新模块,用于更新所述任务列表中所述任一循环任务的最近执行时间;
激活模块,用于如果所述任务列表中存在最近执行时间和当前时间的时间间隔达到预设时间的循环任务,则将该循环任务重新激活;所述每个循环任务具有对应的预设时间,所述预设时间为对应的循环任务的间隔时间乘以N,N为大于1的实数;
其中,每个协程具有一定时器,用于监视所述协程所执行的循环任务的最近执行时间和当前时间的时间间隔是否达到该循环任务的间隔时间或预设时间。
7.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-5中任一项所述的方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-5中任一项所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京旷视科技有限公司,未经北京旷视科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910384521.4/1.html,转载请声明来源钻瓜专利网。