CN106445668B - 定时器的计时方法和装置 - Google Patents
定时器的计时方法和装置 Download PDFInfo
- Publication number
- CN106445668B CN106445668B CN201610860452.6A CN201610860452A CN106445668B CN 106445668 B CN106445668 B CN 106445668B CN 201610860452 A CN201610860452 A CN 201610860452A CN 106445668 B CN106445668 B CN 106445668B
- Authority
- CN
- China
- Prior art keywords
- time
- timing
- timer
- task
- boot
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4825—Interrupt from clock, e.g. time of day
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
- Measurement Of Predetermined Time Intervals (AREA)
Abstract
本发明公开了一种定时器的计时的方法,包括:接收到定时任务时,获取系统当前的boot时间;以所述boot时间为基准时间开始计时,判断设定的时间是否到达;若设定的时间到达,则执行与所述定时任务相应的任务。本发明还公开了一种定时器的计时装置。本发明通过修改定时器的计时处理逻辑,有效的提高定时器的可靠性。
Description
技术领域
本发明涉及定时器技术领域,尤其涉及一种定时器的计时方法和装置。
背景技术
伴随着科学技术的快速发展,智能系统越来越多,对定时器的使用也随处可见。定时器使相当多需要控制时间的工作变得简单了许多,人们也将定时器用在了各个领域,如软件系统里,可定时发送信令等。所以,定时器的可靠性是重要之重,如果定时的可靠性得不到保障,会导致预期任务得不到执行,造成严重的后果。
当前的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时间。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种定时器的计时方法,其特征在于,所述方法包括以下步骤:
接收到定时任务时,获取系统当前的boot时间,其中所述系统当前的boot时间为将定时器内置的软件系统的系统开机时间,或者与定时器关联的外接硬件设备的系统开机时间;
定时器根据定时任务开始计时,计算当前boot时间与任务开始时间的差值,若所述差值与定时任务时间对应,则判定设定的时间到达;
若设定的时间到达,则执行与所述定时任务相应的任务。
2.如权利要求1所述的定时器的计时方法,其特征在于,所述方法还包括:
在计时时间包括Sleep时间,在系统处于待机时,控制计时器保持计时;
在计时时间不包括Sleep时间,在系统处于待机时,控制计时器暂停计时,并在系统唤醒后,继续计时。
3.如权利要求2所述的定时器的计时方法,其特征在于,所述以所述boot时间为基准时间开始计时,判断设定的时间是否到达之后,还包括:
若设定的任务时间未到达,则继续按照设定时间计时,所需等待的时间为设定时间距离当前系统boot时间的差值。
4.如权利要求2所述的定时器的计时方法,其特征在于,所述方法还包括:
接收计时设置指令,根据设置指令设置计时时间是否包括Sleep时间。
5.一种定时器的计时装置,其特征在于,包括:
获取模块,用于接收到定时任务时,获取系统当前的boot时间,其中所述系统当前的boot时间为将定时器内置的软件系统的系统开机时间,或者与定时器关联的外接硬件设备的系统开机时间;
判断模块,用于定时器根据定时任务开始计时,计算当前boot时间与任务开始时间的差值,若所述差值与定时任务时间对应,则判定设定的时间到达;
执行模块,用于若设定的时间到达,则执行与所述定时任务相应的任务。
6.如权利要求5所述的定时器的计时装置,其特征在于,还包括:
设置模块,用于在计时时间包括Sleep时间,在系统处于待机时,控制计时器保持计时;还用于在计时时间不包括Sleep时间,在系统处于待机时,控制计时器暂停计时,并在系统唤醒后,继续计时。
7.如权利要求书6所述的定时器的计时装置,其特征在于,所述判断模块,还用于若设定的任务时间未到达,则继续按照设定时间计时,所需等待的时间为设定时间距离当前系统boot时间的差值。
8.如权利要求6所述的定时器的计时装置,其特征在于,所述设置模块,还用于接收计时设置指令,根据设置指令设置计时时间是否包括sleep时间。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610860452.6A CN106445668B (zh) | 2016-09-28 | 2016-09-28 | 定时器的计时方法和装置 |
PCT/CN2016/112687 WO2018058830A1 (zh) | 2016-09-28 | 2016-12-28 | 定时器的计时方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610860452.6A CN106445668B (zh) | 2016-09-28 | 2016-09-28 | 定时器的计时方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106445668A CN106445668A (zh) | 2017-02-22 |
CN106445668B true CN106445668B (zh) | 2020-04-10 |
Family
ID=58170744
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610860452.6A Active CN106445668B (zh) | 2016-09-28 | 2016-09-28 | 定时器的计时方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106445668B (zh) |
WO (1) | WO2018058830A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106933687B (zh) * | 2017-03-13 | 2020-05-12 | 武汉斗鱼网络科技有限公司 | 定时方法、装置及电子设备 |
CN107066327B (zh) * | 2017-04-24 | 2021-07-23 | 努比亚技术有限公司 | 定时任务处理方法、移动终端及计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101064883A (zh) * | 2006-04-27 | 2007-10-31 | 英业达股份有限公司 | 时间设定系统及方法 |
CN101196836A (zh) * | 2007-12-29 | 2008-06-11 | 上海华为技术有限公司 | 一种控制看门狗电路复位的方法和装置 |
CN101320337A (zh) * | 2008-07-16 | 2008-12-10 | 北京中星微电子有限公司 | 一种定时器及其实现方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1755614A (zh) * | 2004-09-29 | 2006-04-05 | 华为技术有限公司 | 定时器的实现方法 |
CN102937893B (zh) * | 2012-10-11 | 2016-07-06 | 科立讯通信股份有限公司 | 一种动态重载定时长度的软件定时方法 |
CN105808301A (zh) * | 2016-03-09 | 2016-07-27 | 上海斐讯数据通信技术有限公司 | 一种用于移动终端的定时开启应用的系统和方法 |
-
2016
- 2016-09-28 CN CN201610860452.6A patent/CN106445668B/zh active Active
- 2016-12-28 WO PCT/CN2016/112687 patent/WO2018058830A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101064883A (zh) * | 2006-04-27 | 2007-10-31 | 英业达股份有限公司 | 时间设定系统及方法 |
CN101196836A (zh) * | 2007-12-29 | 2008-06-11 | 上海华为技术有限公司 | 一种控制看门狗电路复位的方法和装置 |
CN101320337A (zh) * | 2008-07-16 | 2008-12-10 | 北京中星微电子有限公司 | 一种定时器及其实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106445668A (zh) | 2017-02-22 |
WO2018058830A1 (zh) | 2018-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107092568B (zh) | 在低功耗系统中处理数据的数据通信接口 | |
CN105786187B (zh) | 一种可穿戴设备的闹钟时间提醒方法及装置 | |
EP3163852A1 (en) | Close-distance automatic unlocking method and system for mobile terminal | |
EP2884483B1 (en) | Apparatus and method for controlling screen display in electronic device | |
KR102301012B1 (ko) | 무선 통신 시스템에서 사용자 단말에 의한 수신과 송신 간의 중첩을 방지하기 위한 방법 및 시스템 | |
CN106445668B (zh) | 定时器的计时方法和装置 | |
WO2015014162A1 (zh) | 一种soc芯片的mcu唤醒装置和方法 | |
CN104683573B (zh) | 关机闹钟的实现方法和移动终端 | |
EP3324269A1 (en) | Single-chip microcomputer system, and reset method for single-chip microcomputer system | |
JP2009025939A (ja) | タスク制御方法及び半導体集積回路 | |
CN112530056A (zh) | 降低智能门锁功耗的方法、智能门锁和存储介质 | |
CN109918145B (zh) | 一种应用程序冷启动的加速方法、装置、电子设备 | |
CN104239079A (zh) | 电子装置操作系统自动唤醒方法及系统 | |
CN104049702A (zh) | 一种基于单片机的cpu复位控制系统、方法及装置 | |
CN104820655B (zh) | 一种基于fpga的cpu热插拔实现方法及系统 | |
WO2018028131A1 (zh) | 时间控制装置和时间控制方法 | |
TWI502351B (zh) | 電子裝置及其防止資料丟失的方法 | |
CN105095045A (zh) | Android系统的后台服务监控方法及其系统 | |
CN101183317A (zh) | 实时中断与多个进程状态同步的方法 | |
WO2015070741A1 (zh) | 一种应用程序的启动方法及装置 | |
CN101976206A (zh) | 一种中断处理方法和装置 | |
CN107368402A (zh) | 计算cpu利用率的方法 | |
US9778950B2 (en) | Throttling circuitry | |
TW201416855A (zh) | 系統啟動監控方法以及電子裝置 | |
US10146367B2 (en) | Synchronization method and touch signal processing system using the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |