[发明专利]定时器管理方法、装置、设备及存储介质在审
申请号: | 202111423621.7 | 申请日: | 2021-11-26 |
公开(公告)号: | CN114153568A | 公开(公告)日: | 2022-03-08 |
发明(设计)人: | 黄清楼 | 申请(专利权)人: | 深圳市晨北科技有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/4401;G06F1/14 |
代理公司: | 深圳中细软知识产权代理有限公司 44528 | 代理人: | 袁文英 |
地址: | 518000 广东省深圳市中山园*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 定时器 管理 方法 装置 设备 存储 介质 | ||
本申请提供定时器管理方法、装置、设备及存储介质,其中,方法包括:在处理完目标任务的事务,进入目标任务的事务等待期之前,查询目标任务的定时器链表,定时器链表用于管理目标任务的定时器的信息,定时器的信息包括定时器对应的事务和超时时间;在查询到超时的定时器的情况下,执行超时的定时器对应的事务;在查询到未超时的定时器的情况下,确定目标定时器的剩余定时时长,目标定时器为查询到的最快超时的定时器,将剩余定时时长作为事务等待期的最大等待时长,进入事务等待期;在进入事务等待期的时长大于或等于最大等待时长的情况下,执行查询目标任务的定时器链表的步骤。该技术方案可避免造成数据访问冲突,并保证定时器准时触发运行。
技术领域
本申请涉及嵌入式系统领域,尤其涉及定时器管理方法、装置、设备及存储介质。
背景技术
定时,是嵌入式系统中一个必不可少的功能。在目前的嵌入式系统中,一般是设置一个单独的定时任务来处理软件定时器,其他任务通过系统接口将定时器回调函数注册到该定时任务中实现添加定时器,当定时器超时时间到达时由定时器任务执行定时器回调函数。
由于定时器统一在定时任务中执行,因此,会出现定时器任务执行定时器回调函数访问其他任务的数据的同时,其他任务也需要对数据进行读写,这样会导致数据访问冲突。
发明内容
本申请提供定时器管理方法、装置、设备及存储介质,以解决通过单独的定时器任务处理定时器存在的数据访问冲突的技术问题。
第一方面,提供一种定时器管理方法,包括:
在处理完目标任务的事务,进入所述目标任务的事务等待期之前,查询所述目标任务的定时器链表,所述事务等待期为等待事务触发的时期,所述定时器链表用于管理所述目标任务的定时器的信息,所述定时器的信息包括定时器对应的事务和超时时间,一个任务对应一个定时器链表;
在查询到未超时的定时器的情况下,确定目标定时器的剩余定时时长,所述目标定时器为查询到的首个未超时的定时器;
将所述剩余定时时长作为所述事务等待期的最大等待时长。
在该技术方案中,在处理完目标任务的事务时,在进入等待事务触发的时期之前,通过查询目标任务的定时器链表,并在定时器链表中查询到未超时的定时器的情况下,确定查询到的最快超时的定时器的剩余定时时长,并将该最快超时的定时器的剩余定时时长作为事务等待期的最大等待时长后,进入任务等待期。一个任务对应一个定时器链表,各任务通过查询自身的定时器链表即可确定定时器是否超期,并在定时器超期时自行执行定时器回调函数,由于是在处理完事务后并在进入等待事务触发的时期之前执行查询定时器的操作,因而不会造成数据访问冲突;另外,在查询到最快超时的定时器时将该最快超时的定时器的剩余定时时长作为等待事务触发的时期的最大等待时长,使得任务在进入等待事务触发的时期后能在该定时器超时之前从等待事务触发的时期中唤醒,从而及时对定时器进行处理,保证定时器链表中的定时器能准时触发运行。
结合第一方面,在一种可能的实现方式中,所述定时器在所述定时器链表中按超时时间升序排列;所述查询所述目标任务的定时器链表,包括:从i=1开始,将所述定时器链表中的第i个定时器作为当前定时器,判断所述当前定时器是否超时;所述在查询到未超时的定时器的情况下,确定目标定时器的剩余定时时长,包括:若所述当前定时器未超时,将所述当前定时器确定为所述目标定时器,并确定目标定时器的剩余定时时长;所述在查询到超时的定时器的情况下,执行所述超时的定时器对应的事务,包括:若所述当前定时器超时,执行所述当前定时器对应的事务,并将第(i+1)个定时器作为所述当前定时器,执行所述判断所述当前定时器是否超时的步骤,直至执行完所述定时器链表中所有已经超时的定时器对应的事务。通过按序查询定时器链表和执行定时器对应的事务,能够保证目标任务的每个定时器都能准确运行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市晨北科技有限公司,未经深圳市晨北科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111423621.7/2.html,转载请声明来源钻瓜专利网。