一种定时器操作方法及装置制造方法及图纸

技术编号:23557496 阅读:24 留言:0更新日期:2020-03-25 03:18
本申请实施例提供了一种定时器操作方法及装置,该方法包括:提供定时器集合,其中,该定时器集合包括:对应于不同触发时长的多个定时器链表,每个定时器链表用于存放具有与该定时器链表对应的触发时长的任务定时器;基于上述定时器集合,对任务定时器进行操作。本申请实施例中,通过构建包含多个定时器链表的定时器集合,每个定时器链表用于存放具有相同预设触发时长的多个任务定时器,各定时器链表的预设触发时长各不相同,基于该定时器集合对某一任务定时器进行相应的操作,这样能够缩短对任务定时器执行操作所需耗时,进而能够提高任务定时器的管理效率,提升操作系统的稳定性和可靠性。

A timer operation method and device

【技术实现步骤摘要】
一种定时器操作方法及装置
本申请涉及计算机领域,尤其涉及一种定时器操作方法及装置。
技术介绍
目前,通常在操作系统中,需要创建大量的任务定时器,构建定时器集合,每个任务定时器均用来控制在未来某个时间点调度执行某一函数,以触发目标任务的执行,在此过程中,需要基于已构建的定时器集合,对任务定时器进行各项管理操作,主要包括:对已创建的任务定时器进行查询操作,以查询出超时定时器,触发执行该超时定时器对应的超时任务,并将该超时定时器删除,以及将针对新增任务创建的任务定时器插入定时器集合中,因此,需要提供一种对操作系统中创建的任务定时器进行操作的方法。当前,相关技术中定时器集合的构建过程,主要是,采用最小堆的方式构建定时器集合,其中,基于具有最小堆的数据结构的定时器集合,对任务定时器进行操作的过程中,具体的,在对任务定时器进行删除操作或插入操作后,均需要重新对剩余的任务定时器进行排序,随着操作系统中创建的任务定时器的数量不断增加,任务定时器的排序难度越来越大,不适用于定时器数量比较多的高性能应用场景。由此可知,基于现有的定时器集合架构,对任本文档来自技高网...

【技术保护点】
1.一种定时器操作方法,包括:/n提供定时器集合,其中,所述定时器集合包括:对应于不同触发时长的多个定时器链表,所述定时器链表用于存放具有与该定时器链表对应的触发时长的任务定时器;/n基于所述定时器集合,对任务定时器进行操作。/n

【技术特征摘要】
1.一种定时器操作方法,包括:
提供定时器集合,其中,所述定时器集合包括:对应于不同触发时长的多个定时器链表,所述定时器链表用于存放具有与该定时器链表对应的触发时长的任务定时器;
基于所述定时器集合,对任务定时器进行操作。


2.根据权利要求1所述的方法,其中,所述定时器集合还包括:链表头部子集;
所述链表头部子集与各所述定时器链表的头部相关联并用于存放各所述定时器链表的头部的任务定时器。


3.根据权利要求2所述的方法,其中,所述链表头部子集采用数组的数据结构实现,或者,所述链表头部子集采用红黑树的数据结构实现。


4.根据权利要求2所述的方法,其中,所述基于所述定时器集合,对任务定时器进行操作,包括:
提供一定时器操作线程;
采用所述定时器操作线程基于所述定时器集合,对任务定时器进行操作。


5.根据权利要求4所述的方法,其中,所述操作包括:查询操作;
所述采用所述定时器操作线程基于所述定时器集合,对任务定时器进行操作,包括:
采用所述定时器操作线程依次遍历所述链表头部子集中的各所述任务定时器;以及,
当遍历到符合超时条件的任务定时器时,触发执行该任务定时器所对应的任务。


6.根据权利要求5所述的方法,其中,在触发执行该任务定时器所对应的任务之后,还包括:
对所述任务定时器进行删除操作,或者对所述任务定时器进行重设操作。


7.根据权利要求4所述的方法,其中,所述操作还包括:插入操作;
所述采用所述定时器操作线程基于所述定时器集合,对任务定时器进行操作,包括:
采用所述定时器操作线程在所述定时器集合中,查找与待插入的任务定时器的触发时长对应的目标定时器链表;以及,
若查找到所述目标定时器链表,则将所述待插入的任务定时器添加到所述目标定时器链表的尾部。


8.根据权利要求7所述的方法,其中,在查找与待插入的任务定时器的触发时长对应的目标定时器链表之后,还包括:
若未查找到所述目标定时器链表,则在所述定时器集合中,新增与所述待插入的任务定时器的所述触发时长对应的定时器链表;以及,
将所述待插入的任务定时器作为新增的所述定时器链表的头部的任务定时器。


9.根据权利要求4所述的方法,其中,所述操作还包括:删除操作;
所述采用所述定时器操作线程基于所述定时器集合,对任务定时器进行操作,包括:
采用所述定时器操作线程在所述定时器集合中,根据待删除的任务定时器的位置信息,删除所述待删除的任务定时器。


10.根据权利要求9所述的方法,其中,所述位置信息包括:用于表征前后指针的指示信息;
所述采用所述定时器操作线程在所述定时器集合中,根据待删除的任务定时器的位置信息,删除所述待删除的任务定时器,包括:
采用所述定时器操作线程在所述定时器集合中摘除所述前后指针,以删除所述待删除的任务定时器。


11.根据权利要求4所述的方法,其中,所述操作还包括:重设操作;
所述采用所述定时器操作线程基于所述定时器集合,对任务定时器进行操作,包括:
采用所述定时器操作线程在所述定时器集合中,确定包含待重置的任务定时器的目标定时器链表;以及,
更新所述待重置的任务定时器的绝对时间戳,并将更新后的所述任务定时器添加到所述目标定时器链表的尾部。


12.一种定时器操作装置,包括:
定时器集合提供模块,用于提供定时器集合,其中,所述...

【专利技术属性】
技术研发人员:宋卓李靖轩常怀鑫
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1