定时器的计时方法和装置与流程

文档序号:12271055阅读:551来源:国知局
定时器的计时方法和装置与流程

本发明涉及定时器技术领域,尤其涉及一种定时器的计时方法和装置。



背景技术:

伴随着科学技术的快速发展,智能系统越来越多,对定时器的使用也随处可见。定时器使相当多需要控制时间的工作变得简单了许多,人们也将定时器用在了各个领域,如软件系统里,可定时发送信令等。所以,定时器的可靠性是重要之重,如果定时的可靠性得不到保障,会导致预期任务得不到执行,造成严重的后果。

当前的Android系统以及Java系统,Timer定时器在逻辑处理中,采用的基准时间为当前系统时间,即System.currentTimeMillis(),如果此系统时间随后被某些进程修改为其他值,则会导致定期器失效,达不到预期目标,定时器可靠性差。

上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。



技术实现要素:

本发明的主要目的在于通过修改定时器的处理逻辑,有效的提高定时器的可靠性。

为实现上述目的,本发明提供的一种定时器的计时方法,包括:

接收到定时任务时,获取系统当前的boot时间;

以所述boot时间为基准时间开始计时,判断设定的时间是否到达;

若设定的时间到达,则执行与所述定时任务相应的任务。

优选地,还包括:

在计时时间包括Sleep时间,在系统处于待机时,控制计时器保持计时;

在计时时间不包括Sleep时间,在系统处于待机时,控制计时器暂停计时,并在系统唤醒后,继续计时。

优选地,所述以所述boot时间为基准时间开始计时,判断设定的时间是否到达之后,还包括:

若设定的任务时间未到达,则继续按照设定时间计时,所需等待的时间为设定时间距离当前系统boot时间的差值。

优选地,所述方法还包括:

接收计时设置指令,根据设置指令设置计时时间是否包括Sleep时间。

优选地,所述判断设定的时间是否到达包括:

定时器根据定时任务开始计时,计算当前boot时间与任务开始时间的差值,若所述差值与定时任务时间对应,则判定设定的时间到达。

此外,为实现上述目的,本发明还提供一种定时器的计时装置,包括:

获取模块,用于接收到定时任务时,获取系统当前的boot时间;

判断模块,用于以所述boot时间为基准时间开始计时,判断设定的时间是否到达;

执行模块,用于若设定的时间到达,则执行与所述定时任务相应的任务。

优选地,还包括:

设置模块,用于在计时时间包括Sleep时间,在系统处于待机时,控制计时器保持计时;还用于在计时时间不包括Sleep时间,在系统处于待机时,控制计时器暂停计时,并在系统唤醒后,继续计时。

优选地,所述判断模块,还用于若设定的任务时间未到达,则继续按照设定时间计时,所需等待的时间为设定时间距离当前系统boot时间的差值。

优选地,所述设置模块,还用于接收计时设置指令,根据设置指令设置计时时间是否包括sleep时间。

优选地,所述判断模块,还用于定时器根据定时任务开始计时,计算当前boot时间与任务开始时间的差值,若所述差值与定时任务时间对应,则判定设定的时间到达。

本发明接收到定时任务时,获取系统当前的boot时间;以所述boot时间为基准时间开始计时,判断设定的时间是否到达;若设定的时间到达,则执行与所述定时任务相应的任务。。通过修改定时器的计时处理逻辑,有效的提高定时器的可靠性。

附图说明

图1为本发明定时器的计时方法的第一实施例的流程示意图;

图2为本发明定时器的计时方法的第二实施例的流程示意图;

图3为本发明定时器的计时方法的第三实施例的流程示意图;

图4为本发明定时器的计时装置的第一实施例的功能模块示意图;

图5为本发明定时器的计时装置的第二实施例的功能模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例的主要解决方案是:接收到定时任务时,获取系统当前的boot时间;以所述boot时间为基准时间开始计时,判断设定的时间是否到达;若设定的时间到达,则执行与所述定时任务相应的任务。有效避免现有定时器可靠性得不到保障,导致的预期任务执行出错,会造成严重的后果。通过修改定时器的计时处理逻辑,有效的提高定时器的可靠性。

由于现有定时器可靠性得不到保障,导致的预期任务执行出错,会造成严重的后果。

基于上述问题,本发明提供一种定时器的计时方法。

参照图1,图1为本发明定时器的计时方法的第一实施例的流程示意图。

在一实施例中,所述方法包括:

步骤S1,接收到定时任务时,获取系统当前的boot时间;

在定时器接收到定时任务时,获取当前系统的boot时间,所述接收定时任务,来自当前定时器的用户在定时器上的任务输入,或由定时器关联的硬件设备进行输入。所述当前系统的boot时间,为将定时器内置的软件系统的系统开机时间,或者与定时器关联的外接硬件设备的系统开机时间,以系统开机时间作为定时器定时基准,避免定时器出现的计时偏差。

步骤S2,以所述boot时间为基准时间开始计时,判断设定的时间是否到达;

根据获取到的boot时间,以boot时间为基准时间使定时器开始计时任务,判断设定的定时器任务的时间是否已到达。所述判断定时器的任务时间是否到达,以当前boot时间开始计时,并在定时器计时满足任务时间后,判断设定的时间已经到达。

具体的,所述判断设定的时间是否到达包括:

定时器根据定时任务开始计时,计算当前boot时间与任务开始时间的差值,若所述差值与定时任务时间对应,则判定设定的时间到达。

定时器的定时任务开启,以当前的boot时间为基准开始计时,定时器在计时任务中,根据当前boot时间确定定时器的计时任务是否完成,计算当前boot时间与定时器计时任务开启的boot时间的差值,若该差值与任务时间相等,则判断设定的定时器任务时间已经到达。

步骤S3,若设定的时间到达,则执行与所述定时任务相应的任务。

定时器设置的任务时间到达,执行与所述定时任务相应的任务内容,所述的定时任务相应的任务内容,为用户自定义的内容。

本实施例通过定时器使用系统的boot时间判断设定时间是否到达,通过修改定时器的处理逻辑,有效的提高了定时器的可靠性。

参照图2,图2为本发明定时器的计时方法的第二实施例的流程示意图。基于上述方法的第一实施例,所述以所述boot时间为基准时间开始计时,判断设定的时间是否到达之后,还包括:

步骤S4,若设定的任务时间未到达,则继续按照设定时间计时,所需等待的时间为设定时间距离当前系统boot时间的差值。

在定时器时间任务的计时过程中,若设定的任务时间未到达,则继续任务时间的计时操作,按照任务时间的长短,与当前系统的boot时间的差值,为定时器任务时间所剩下的计时时间。

参照图3,图3为本发明定时器的计时方法的第三实施例的流程示意图,基于上述方法的第一、二实施例,所述方法还包括:

步骤S5,在计时时间包括Sleep时间,在系统处于待机时,控制计时器保持计时;

定时器开始进入任务计时的待机状态,以便接收到定时器任务后,随时进入计时状态中。在计时器开始计时之前,检查是否包含了线程休眠时间(即sleep时间),若计时器的计时工作中设置包含了sleep时间,则当前系统处于待机时,定时器依旧还处于工作状态,所述系统,为定时器所在的硬件所使用的系统,或者为定时器所关联的硬件设备的系统。

步骤S6,在计时时间不包括Sleep时间,在系统处于待机时,控制计时器暂停计时,并在系统唤醒后,继续计时;

在计时器开始计时任务之前,检查是否包含了线程休眠时间(即sleep时间),若计时器的计时工作中设置不包含sleep时间,则当前系统处于待机时,定时器也暂停计时,待当前系统停止休眠被唤醒后,定时器继续执行计时操作。

进一步的,还包括:

接收计时设置指令,根据设置指令设置计时时间是否包括Sleep时间。

步骤S7,在定时器接收到时间任务后,若要对定时器设置计时方式,则向定时器发送计时设置指令,定时器接收到计时设置指令后,根据计时设置指令的内容设置定时器的计时方式,所述的计时方式分为两种,即包括sleep时间和不包括sleep时间。

上述第一至第三实施例的定时器计时方法的执行主体可以为定时器设备或与定时器设备连接的其他电子设备。更进一步地,该定时器的计时方法可以由安装在内置定时器功能的硬件设备或其他定时器关联的电子设备上的系统实现,所述硬件设备包括但不限于手机、pad、笔记本电脑等。

本发明进一步提供一种定时器的计时装置。

参照图4,图4为本发明定时器的计时装置的第一实施例的功能模块示意图。

在一实施例中,所述装置包括:获取模块10、判断模块20及执行模块30。

获取模块10,用于接收到定时任务时,获取系统当前的boot时间;

在定时器接收到定时任务时,获取当前系统的boot时间,所述接收定时任务,来自当前定时器的用户在定时器上的任务输入,或由定时器关联的硬件设备进行输入。所述当前系统的boot时间,为将定时器内置的软件系统的系统开机时间,或者与定时器关联的外接硬件设备的系统开机时间,以系统开机时间作为定时器定时基准,避免定时器出现的计时偏差。

判断模块20,用于以所述boot时间为基准时间开始计时,判断设定的时间是否到达;

根据获取到的boot时间,以boot时间为基准时间使定时器开始计时任务,判断设定的定时器任务的时间是否已到达。所述判断定时器的任务时间是否到达,以当前boot时间开始计时,并在定时器计时满足任务时间后,判断设定的时间已经到达。

具体的,所述判断设定的时间是否到达包括:

所述判断模块20,还用于定时器根据定时任务开始计时,计算当前boot时间与任务开始时间的差值,若所述差值与定时任务时间对应,则判定设定的时间到达。

定时器的定时任务开启,以当前的boot时间为基准开始计时,定时器在计时任务中,根据当前boot时间确定定时器的计时任务是否完成,计算当前boot时间与定时器计时任务开启的boot时间的差值,若该差值与任务时间相等,则判断设定的定时器任务时间已经到达。

执行模块30,用于若设定的时间到达,则执行与所述定时任务相应的任务。

定时器设置的任务时间到达,执行与所述定时任务相应的任务内容,所述的定时任务相应的任务内容,为用户自定义的内容。

本实施例通过定时器使用系统的boot时间判断设定时间是否到达,通过修改定时器的处理逻辑,有效的提高了定时器的可靠性。

进一步的,所述以所述boot时间为基准时间开始计时,判断设定的时间是否到达之后,还包括:

所述判断模块20,还用于若设定的任务时间未到达,则继续按照设定时间计时,所需等待的时间为设定时间距离当前系统boot时间的差值。

在定时器时间任务的计时过程中,若设定的任务时间未到达,则继续任务时间的计时操作,按照任务时间的长短,与当前系统的boot时间的差值,为定时器任务时间所剩下的计时时间。

参照图5,图5为本发明定时器的计时装置的较佳实施例的功能模块示意图。

在本实施例中,还包括:设置模块40。

设置模块40,用于在计时时间包括Sleep时间,在系统处于待机时,控制计时器保持计时;

定时器开始进入任务计时的待机状态,以便接收到定时器任务后,随时进入计时状态中。在计时器开始计时之前,检查是否包含了线程休眠时间(即sleep时间),若计时器的计时工作中设置包含了sleep时间,则当前系统处于待机时,定时器依旧还处于工作状态,所述系统,为定时器所在的硬件所使用的系统,或者为定时器所关联的硬件设备的系统。

所述设置模块40,还用于在计时时间不包括Sleep时间,在系统处于待机时,控制计时器暂停计时,并在系统唤醒后,继续计时。

在计时器开始计时任务之前,检查是否包含了线程休眠时间(即sleep时间),若计时器的计时工作中设置不包含sleep时间,则当前系统处于待机时,定时器也暂停计时,待当前系统停止休眠被唤醒后,定时器继续执行计时操作。

进一步的,所述方法还包括:

所述设置模块40,还用于接收计时设置指令,根据设置指令设置计时时间是否包括sleep时间。

在定时器接收到时间任务后,若要对定时器设置计时方式,则向定时器发送计时设置指令,定时器接收到计时设置指令后,根据计时设置指令的内容设置定时器的计时方式,所述的计时方式分为两种,即包括sleep时间和不包括sleep时间。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1