一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于单位定时器的定时方法、装置、设备及介质与流程

2022-07-09 22:02:15 来源:中国专利 TAG:


1.本发明实施例涉及定时器技术领域,尤其涉及一种基于单位定时器的定时方法、装置、设备及介质。


背景技术:

2.定时器是计算机软件中的一种常用技术。定时器可以用于重复处理一些需要循环的任务,或者,处理一些需要经过设定时长才能执行的任务。然而,传统的定时器存在计时不准确,或设计复杂导致占用系统资源高等技术问题。


技术实现要素:

3.本发明实施例提供了一种基于单位定时器的定时方法、装置、设备及介质,以解决现有技术中计时不准确以及系统资源占用过高的技术问题。
4.第一方面,本发明实施例提供了一种基于单位定时器的定时方法,所述方法包括:
5.获取用户定时器、用于为所述用户定时器计算单位时长的单位定时器以及用于计算针对所述单位定时器的校准时长的校准定时器;
6.在所述用户定时器采用所述单位定时器进行定时的过程中,所述校准定时器基于所述校准定时器的校准定时周期触发;
7.若所述校准定时器检测到所述单位定时器在所述校准定时周期内的当前触发次数等于预设触发次数,则触发对所述单位定时器的重启,以使所述单位定时器被提前触发。
8.可选的,所述方法还包括:
9.若所述校准定时器检测到所述单位定时器在所述校准定时周期内的实际总触发次数不等于所述预设触发次数,则基于所述实际总触发次数和所述预设触发次数,调整所述单位定时器的单位定时周期和/或所述校准定时周期。
10.可选的,所述方法还包括:
11.确定所述单位定时器运行一次产生的平均误差时长;
12.获取预先设置的所述单位定时器在所述校准定时器运行一次期间产生的最大累计误差;
13.基于所述平均误差时长和所述最大累计误差,确定所述单位定时器的单位定时周期和所述校准定时器的校准定时周期。
14.可选的,所述方法还包括:
15.确定所述单位定时器的单位定时周期和所述校准定时周期之间的比例关系;
16.基于所述比例关系确定所述单位定时器在所述校准定时周期内的预设触发次数。
17.可选的,所述方法还包括:
18.在所述用户定时器采用所述单位定时器进行定时的过程中,基于所述用户定时器确定所述单位定时器对应的累加计时长度;
19.若所述累加计时长度达到所述用户定时器对应的参考计时长度,则触发所述用户
定时器对应的处理函数。
20.可选的,所述方法还包括:
21.获取所述用户定时器的定时器链表,其中,所述定时器链表包括至少一个待执行的计时长度;
22.基于所述定时器链表确定所述用户定时器对应的参考计时长度。
23.可选的,所述方法还包括:
24.在显示界面上展示所述单位定时器的单位定时周期、所述校准定时周期、所述实际总触发次数以及所述预设触发次数;
25.获取用户在所述显示界面上的调整操作信息,基于所述调整操作信息更新所述单位定时周期和/或所述校准定时周期。
26.第二方面,本发明实施例还提供了一种基于单位定时器的定时装置,所述装置包括:
27.获取模块,用于获取用户定时器、用于为所述用户定时器计算单位时长的单位定时器以及用于计算针对所述单位定时器的校准时长的校准定时器;
28.定时模块,用于在所述用户定时器采用所述单位定时器进行定时的过程中,所述校准定时器基于所述校准定时器的校准定时周期触发;
29.校准模块,用于若所述校准定时器检测到所述单位定时器在所述校准定时周期内的当前触发次数等于预设触发次数,则触发对所述单位定时器的重启,以使所述单位定时器被提前触发。
30.第三方面,本发明实施例还提供了一种电子设备,所述电子设备包括:
31.一个或多个处理器;
32.存储装置,用于存储一个或多个程序,
33.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任意实施例提供的基于单位定时器的定时方法。
34.第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例提供的基于单位定时器的定时方法。
35.上述发明中的实施例具有如下优点或有益效果:
36.通过获取用户定时器、用于为用户定时器计算单位时长的单位定时器,以及用于计算针对单位定时器的校准时长的校准定时器,在用户定时器采用单位定时器进行定时的过程中,校准定时器基于校准定时器的校准定时周期触发,如果校准定时器检测到单位定时器在校准定时周期内的当前触发次数等于预设触发次数,则触发对单位定时器的重启,以使单位定时器被提前触发,减少单位定时器在校准定时周期内的累计误差,从而提高了单位定时器的精度,进一步的,降低了用户定时器的累计误差,提高了用户定时器的精度,解决了传统定时器计时不准确的技术问题,并且,该方法仅通过校准定时器即可提高用户定时器的精度,所占用的系统资源低。
附图说明
37.为了更加清楚地说明本发明示例性实施例的技术方案,下面对描述实施例中所需
要用到的附图做一简单介绍。显然,所介绍的附图只是本发明所要描述的一部分实施例的附图,而不是全部的附图,对于本领域普通技术人员,在不付出创造性劳动的前提下,还可以根据这些附图得到其他的附图。
38.图1a为本发明实施例一所提供的一种基于单位定时器的定时方法的流程示意图;
39.图1b为本发明实施例一所提供的一种各定时器的定时周期示意图;
40.图1c为本发明实施例一所提供的一种用户定时器的定时过程;
41.图2a为本发明实施例二所提供的一种基于单位定时器的定时方法的流程示意图;
42.图2b为本发明实施例二所提供的一种周期调整过程的示意图;
43.图3a为本发明实施例三所提供的一种基于单位定时器的定时方法的流程示意图;
44.图3b为本发明实施例三所提供的单位定时器和校准定时器的初始化流程示意图;
45.图4为本发明实施例四所提供的一种基于单位定时器的定时装置的结构示意图;
46.图5为本发明实施例五所提供的一种电子设备的结构示意图。
具体实施方式
47.下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
48.实施例一
49.图1a为本发明实施例一提供的一种基于单位定时器的定时方法的流程示意图,本实施例可适用于通过单位定时器对用户定时器进行计时的情况,该方法可以由基于单位定时器的定时装置来执行,该装置可以由硬件和/或软件来实现,该方法具体包括如下步骤:
50.s110、获取用户定时器、用于为所述用户定时器计算单位时长的单位定时器以及用于计算针对所述单位定时器的校准时长的校准定时器。
51.其中,用户定时器可以用于为程序中即将处理的任务进行计时。具体的,计算机程序可以根据实际任务需求,为各个待处理的任务设置对应的用户定时器,或者,为需要经过设定时长循环执行的任务设置对应的用户定时器。
52.单位定时器可以是以最小定时时间为单位进行循环定时的定时器。在本实施例中,单位定时器可以作为用户定时器的计时单元使用,用户定时器中的单位时长即为单位定时器运行一次所计算的时长,即单位定时器的单位定时周期。示例性的,单位定时器的单位定时周期可以为1ms。
53.校准定时器可以是用于对单位定时器进行校准的定时器,具体的,校准定时器可以用于重启单位定时器。在本实施例中,可以将校准定时器的校准定时周期设置为远大于单位定时器的单位定时周期的值,且校准定时器的校准定时周期可以等于单位定时周期的整数倍。示例性的,校准定时器的校准定时周期可以为10ms。
54.如图1b所示,展示了一种各定时器的定时周期示意图,其中,校准定时器的校准定时周期为m毫秒,单位定时器的单位定时周期为n毫秒,用户定时器的用户定时周期为x*n毫秒。
55.s120、在所述用户定时器采用所述单位定时器进行定时的过程中,所述校准定时器基于所述校准定时器的校准定时周期触发。
56.具体的,在用户定时器采用单位定时器进行定时的过程中,单位定时器触发,用户定时器对单位定时器所计时的所有单位时长进行累加。示例性的,若单位定时器的单位定时周期为1ms,单位定时器每触发一次,则用户定时器所计算的时长加上1ms。在本实施例中,用户定时器需要计算的时长可以远大于单位定时器的单位定时周期,例如,用户定时器需要计算的时长为80ms。
57.在本实施例中,在用户定时器采用单位定时器进行定时的过程中,单位定时器被循环触发,以通过重复计算用户定时器中的单位时长,增加用户定时器的累计计时。与此同时,校准定时器可以按照其校准定时周期循环运行。沿用上例,校准定时器可以每经过10ms运行一次,即每一次运行所计算的时长为10ms。
58.s130、若所述校准定时器检测到所述单位定时器在所述校准定时周期内的当前触发次数等于预设触发次数,则触发对所述单位定时器的重启,以使所述单位定时器被提前触发。
59.具体的,校准定时器在触发以后,可以对单位定时器在当前的校准定时周期内的触发次数进行监测,若单位定时器在当前的校准定时周期内的当前触发次数等于预设触发次数,则校准定时器可以立即触发对单位定时器的重启,以使单位定时器被提前触发,即单位定时器在触发后未经过单位定时周期,再次被触发。
60.换言之,单位定时器在触发后,单位定时器会计算一个单位定时周期的时长,在时长计算完成后再次触发。而校准定时器可以在单位定时器的当前触发次数为预设触发次数时,不等待单位定时器计算一个单位定时周期的时长,立即重启单位定时器,使得单位定时器再次被触发。由于用户定时器是根据单位定时器的触发次数进行用户定时器的累计时长的计算,因此,在校准定时器重启单位定时器时,用户定时器立即将所累计的时长加上一个单位定时周期。
61.示例性的,校准定时周期为10ms,单位定时器的单位定时周期为1ms,校准定时器触发后,在校准定时器检测到单位定时器触发9次时,即用户定时器确定单位定时器在校准定时器的运行期间的累计计算时长为9ms时,校准定时器立即重启单位定时器,以使单位定时器触发次数达到10次,此时,用户定时器所计算的累计时长为10ms。
62.需要说明的是,本实施例采用校准定时器触发对单位定时器的重启的目的在于:由于单位定时器处理函数的耗时可能会对单位定时器运行一次所计算的时长产生误差,例如,单位定时器运行一次所需要的实际时长为1.2ms,而其计算的时长为1ms,即运行一次的误差为0.2ms,若不对单位定时器进行校准,则可能会使得用户定时器的累计误差较大。因此,本实施例可以通过设置校准定时器,在一个校准定时周期内,触发对单位定时器的重启,使得单位定时器在某一次触发后被立即重启,使得单位定时器在某一次触发后再次被触发,无需计算一个单位定时周期,减少了单位定时器在一个校准定时周期内的累计误差,进而提高了单位定时器的精度。
63.在本实施例中,预设触发次数可以是预先设置的用于触发对单位定时器的重启的次数;预设触发次数可以是任意值,当然,预设触发次数不能超过校准定时周期与单位定时周期之间的比值。例如,预设触发次数可以通过以下方法得到:确定所述单位定时器的单位定时周期和所述校准定时周期之间的比例关系;基于所述比例关系确定所述单位定时器在所述校准定时周期内的预设触发次数。
64.其中,比例关系可以是校准定时周期与单位定时周期的比值,即标准定时周期与单位定时周期之间的倍数关系。示例性的,可以根据比例关系设置标准触发次数,如,预设触发次数的取值可以等于比例关系的取值减1。示例性的,校准定时周期为m毫秒,单位定时周期为n毫秒,则预设触发次数可以为其中,m为n的整数倍。即,预设触发次数可以是在不考虑单位定时器的运行误差的情况下,单位定时器在一个校准定时周期内所应触发的倒数第二次。
65.当然,预设触发次数也可以是单位定时器在一个校准定时周期内所触发的任意一次,校准定时器可以在一个校准定时周期内触发一次对单位定时器的重启。
66.具体的,在用户定时器进行定时的过程中,校准定时器可以被循环触发,在每一个校准定时周期内,均进行触发一次对单位定时器的重启,以降低每一个校准定时周期内的累积误差,进而降低用户定时器定时期间的累计误差。
67.在本实施例中,所述方法还可以包括:在所述用户定时器采用所述单位定时器进行定时的过程中,基于所述用户定时器确定所述单位定时器对应的累加计时长度;若所述累加计时长度达到所述用户定时器对应的参考计时长度,则触发所述用户定时器对应的处理函数。
68.其中,用户定时器可以根据单位定时器的触发次数,确定出单位定时器对应的累加计时长度。具体的,单位定时器每触发一次,用户定时器可以在已有计时长度的基础上增加单位定时器的单位定时周期;用户定时器每进行一次单位定时周期的累加,均可对累加计时长度进行一次判断,即判断累加计时长度是否达到参考计时长度,其中,参考计时长度可以是预设的需要用户定时器计时的长度,若达到,则触发用户定时器对应的处理函数。其中,处理函数包括但不限于数据处理任务和针对应用程序的控制任务,如,刷新某一应用程序的使用状态、重新启动某一应用程序等。
69.需要说明的是,参考计时长度可以从预设的用户定时器链表中获取。即,可选的,所述方法还包括:获取所述用户定时器的定时器链表,其中,所述定时器链表包括至少一个待执行的计时长度;基于所述定时器链表确定所述用户定时器对应的参考计时长度。
70.其中,定时器链表可以是用于存储各个待执行的计时长度的链表;各个待执行的计时长度可以按照执行时间的先后顺序存储在定时器链表中。具体的,可以从定时器链表中读取执行时间最接近的计时长度,作为用户定时器对应的参考及时长度。
71.示例性的,如图1c所示,展示了一种用户定时器的定时过程。具体的,对用户定时器的定时器链表进行初始化后,可以触发单位定时器进行定时,用户定时器对单位定时器的定时长度进行累加,进一步的,判断累加计时长度是否超过参考计时长度,若是,则触发用户定时器处理函数。
72.本实施例的技术方案,通过获取用户定时器、用于为用户定时器计算单位时长的单位定时器,以及用于计算针对单位定时器的校准时长的校准定时器,在用户定时器采用单位定时器进行定时的过程中,校准定时器基于校准定时器的校准定时周期触发,如果校准定时器检测到单位定时器在校准定时周期内的当前触发次数等于预设触发次数,则触发对单位定时器的重启,以使单位定时器被提前触发,减少单位定时器在校准定时周期内的累计误差,从而提高了单位定时器的精度,进一步的,降低了用户定时器的累计误差,提高
了用户定时器的精度,解决了传统定时器计时不准确的技术问题,并且,该方法仅通过校准定时器即可提高用户定时器的精度,所占用的系统资源低。
73.实施例二
74.图2a为本发明实施例二提供的一种基于单位定时器的定时方法的流程示意图,本实施例在上述实施例的基础上,还可以基于单位定时器在校准定时周期的实际总触发次数,调整单位定时周期和/或校准定时周期。其中与上述各实施例相同或相应的术语的解释在此不再赘述。参见图2a,本实施例提供的基于单位定时器的定时方法包括以下步骤:
75.s210、获取用户定时器、用于为所述用户定时器计算单位时长的单位定时器以及用于计算针对所述单位定时器的校准时长的校准定时器。
76.s220、在所述用户定时器采用所述单位定时器进行定时的过程中,所述校准定时器基于所述校准定时器的校准定时周期触发。
77.s230、若所述校准定时器检测到所述单位定时器在所述校准定时周期内的当前触发次数等于预设触发次数,则触发对所述单位定时器的重启,以使所述单位定时器被提前触发。
78.s240、若所述校准定时器检测到所述单位定时器在所述校准定时周期内的实际总触发次数不等于所述预设触发次数,则基于所述实际总触发次数和所述预设触发次数,调整所述单位定时器的单位定时周期和/或所述校准定时周期。
79.在本实施例中,预设触发次数等于校准定时周期与单位定时周期之间的比值减1。具体的,如果实际总触发次数不等于预设触发次数,则表明单位定时器在一个校准定时周期内的累计误差较大,单位定时器无法在一个校准定时周期内完成预设触发次数的触发。因此,可以通过调整单位定时周期和/或校准定时周期,减少单位定时器在一个校准定时周期内的应运行次数,进而降低单位定时器在一个校准定时周期内的累计误差,使得单位定时器在一个校准定时周期内被触发的总次数可以达到预设触发次数。
80.具体的,若增加单位定时周期,则校准定时周期与单位定时周期的比值降低,单位定时器在一个校准定时周期内的应运行次数减少;若减少校准定时周期,则校准定时周期与单位定时周期的比值降低,单位定时器在一个校准定时周期内的应运行次数减少。
81.在本实施例中,可以根据实际总触发次数与预设触发次数之间的差值,调整单位定时周期和/或校准定时周期。还可以是向显示界面反馈需要进行调整的提示信息,并根据用户调整的操作更新单位定时周期和/或校准定时周期。
82.如,可选的,所述方法还包括:在显示界面上展示所述单位定时器的单位定时周期、所述校准定时周期、所述实际总触发次数以及所述预设触发次数;获取用户在所述显示界面上的调整操作信息,基于所述调整操作信息更新所述单位定时周期和/或所述校准定时周期。
83.具体的,可以是在确定出实际触发次数不等于预设触发次数时,暂停或终止当前用户定时器的计时,并在显示界面上反馈提示信息,以获取用户在显示界面上的调整操作信息,进一步的,再根据操作调整信息更新单位定时周期和/或校准定时周期后,可以根据更新后的单位定时周期和校准定时周期重新执行用户定时器的计时。
84.当然,本实施例也可以在进行一次用户定时器的定时完成之后,或者,在进行用户定时器的定时开始之前,调整单位定时周期和/或校准定时周期,以使下一次用户定时器基
于单位定时器进行定时时,用户定时器的误差精度可以被控制在允许范围内。
85.示例性的,如图2b所示,展示了一种周期调整过程的示意图。其中,校准定时器触发后,可以重启单位定时器,并触发单位定时器处理函数,在校准定时器完成一次计时后,获取单位定时器在此期间的实际触发次数,并判断单位定时器的实际触发次数是否等于标准触发次数,若否,则调整单位定时周期和校准定时周期,若是,则校时成功。当然,在用户定时器采用单位定时器进行定时的过程中,校准定时器可以不断的被触发,以对单位定时器进行持续校准。
86.本实施例的技术方案,通过判断单位定时器在校准定时周期内的实际总触发次数是否等于预设触发次数,若否,则根据实际总触发次数和预设触发次数调整单位定时周期和/或校准定时周期,以减少单位定时器在校准定时周期内的累计误差,使得单位定时器在校准定时周期内的实际总触发次数可以达到预设触发次数,,解决了传统定时器计时不准确的技术问题。
87.实施例三
88.图3a为本发明实施例三提供的一种基于单位定时器的定时方法的流程示意图,本实施例在上述实施例的基础上,对单位定时周期和校准定时周期的确定过程进行了示例性说明。其中与上述各实施例相同或相应的术语的解释在此不再赘述。参见图3a,本实施例提供的基于单位定时器的定时方法包括以下步骤:
89.s310、获取用户定时器、用于为所述用户定时器计算单位时长的单位定时器以及用于计算针对所述单位定时器的校准时长的校准定时器。
90.s320、确定所述单位定时器运行一次产生的平均误差时长,获取预先设置的所述单位定时器在所述校准定时器运行一次期间产生的最大累计误差。
91.具体的,平均误差时长可以是由于单位定时器的处理函数耗时所导致的延迟时长,理论上单位定时器运行一次的计时应为单位定时周期,然而,由于平均误差时长的存在,单位定时器运行一次的所需时长可能等于单位定时周期与平均误差时长的和。如,单位定时周期为1ms,平均误差时长为0.1ms,则单位定时器运行一次所需的时长为1.1ms。示例性的,可以获取单位定时器运行多次时的实际时长,进而根据各实际时长和单位定时周期计算平均误差时长。
92.在本实施例中,预先设置的单位定时器在校准定时器运行一次期间产生的最大累计误差可以是单位定时器在一个校准定时周期内所产生的最大误差。
93.s330、基于所述平均误差时长和所述最大累计误差,确定所述单位定时器的单位定时周期和所述校准定时器的校准定时周期。
94.具体的,根据单位定时器的单位定时周期、校准定时周期以及平均误差时长,可以计算出单位定时器在校准定时周期内的模拟累计误差,以模拟累计误差不能超过最大累计误差为条件,设置单位定时周期和校准定时周期。
95.示例性的,可以通过如下公式确定所述单位定时器的单位定时周期和所述校准定时器的校准定时周期:
96.97.其中,表示模拟累计误差,δt表示平均误差时长,m为校准定时周期,n为单位定时周期,表示预计单位定时器在校准定时周期内运行的次数,y为预设的最大累计误差。通过上述公式,设置单位定时周期和校准定时周期,使得单位定时周期和校准定时周期满足上述方式即可。
98.示例性的,如图3b所示,展示了单位定时器和校准定时器的初始化流程示意图。具体的,可以初始化单位定时器和校准定时器,并通过上述步骤设置单位定时周期和校准定时周期,进一步配置校准定时器的处理函数,启动单位定时器和校准定时器。
99.s340、在所述用户定时器采用所述单位定时器进行定时的过程中,所述校准定时器基于所述校准定时器的校准定时周期触发。
100.s350、若所述校准定时器检测到所述单位定时器在所述校准定时周期内的当前触发次数等于预设触发次数,则触发对所述单位定时器的重启,以使所述单位定时器被提前触发。
101.本实施例的技术方案,通过确定单位定时器的平均误差时长,以及预先设置的单位定时器在一个校准定时周期内可以产生的最大累计误差,设置单位定时周期和校准定时周期,使得单位定时周期在一个校准定时周期内所产生的误差被控制在可允许范围内,进而提高了用户定时器的定位精度。
102.实施例四
103.图4为本发明实施例四提供的一种基于单位定时器的定时装置的结构示意图,本实施例可适用于通过单位定时器对用户定时器进行计时的情况,该装置具体包括:获取模块410、定时模块420以及校准模块430。
104.获取模块410,用于获取用户定时器、用于为所述用户定时器计算单位时长的单位定时器以及用于计算针对所述单位定时器的校准时长的校准定时器;
105.定时模块420,用于在所述用户定时器采用所述单位定时器进行定时的过程中,所述校准定时器基于所述校准定时器的校准定时周期触发;
106.校准模块430,用于若所述校准定时器检测到所述单位定时器在所述校准定时周期内的当前触发次数等于预设触发次数,则触发对所述单位定时器的重启,以使所述单位定时器被提前触发。
107.可选的,所述装置还包括调整模块,所述调整模块,用于若所述校准定时器检测到所述单位定时器在所述校准定时周期内的实际总触发次数不等于所述预设触发次数,则基于所述实际总触发次数和所述预设触发次数,调整所述单位定时器的单位定时周期和/或所述校准定时周期。
108.可选的,所述装置还包括周期设置模块,所述周期设置模块,用于确定所述单位定时器运行一次产生的平均误差时长;获取预先设置的所述单位定时器在所述校准定时器运行一次期间产生的最大累计误差;基于所述平均误差时长和所述最大累计误差,确定所述单位定时器的单位定时周期和所述校准定时器的校准定时周期。
109.可选的,所述校准模块430,还用于确定所述单位定时器的单位定时周期和所述校准定时周期之间的比例关系;基于所述比例关系确定所述单位定时器在所述校准定时周期
内的预设触发次数。
110.可选的,所述定时模块420,还用于在所述用户定时器采用所述单位定时器进行定时的过程中,基于所述用户定时器确定所述单位定时器对应的累加计时长度;若所述累加计时长度达到所述用户定时器对应的参考计时长度,则触发所述用户定时器对应的处理函数。
111.可选的,所述定时模块420,还用于获取所述用户定时器的定时器链表,其中,所述定时器链表包括至少一个待执行的计时长度;基于所述定时器链表确定所述用户定时器对应的参考计时长度。
112.可选的,所述调整模块,还用于在显示界面上展示所述单位定时器的单位定时周期、所述校准定时周期、所述实际总触发次数以及所述预设触发次数;获取用户在所述显示界面上的调整操作信息,基于所述调整操作信息更新所述单位定时周期和/或所述校准定时周期。
113.在本实施例中,通过获取用户定时器、用于为用户定时器计算单位时长的单位定时器,以及用于计算针对单位定时器的校准时长的校准定时器,在用户定时器采用单位定时器进行定时的过程中,校准定时器基于校准定时器的校准定时周期触发,如果校准定时器检测到单位定时器在校准定时周期内的当前触发次数等于预设触发次数,则触发对单位定时器的重启,以使单位定时器被提前触发,减少单位定时器在校准定时周期内的累计误差,从而提高了单位定时器的精度,进一步的,降低了用户定时器的累计误差,提高了用户定时器的精度,解决了传统定时器计时不准确的技术问题,并且,该方法仅通过校准定时器即可提高用户定时器的精度,所占用的系统资源低。
114.本发明实施例所提供的基于单位定时器的定时装置可执行本发明任意实施例所提供的基于单位定时器的定时方法,具备执行方法相应的功能模块和有益效果。
115.值得注意的是,上述系统所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明实施例的保护范围。
116.实施例五
117.图5是本发明实施例五提供的一种电子设备的结构示意图。图5示出了适于用来实现本发明实施方式的示例性电子设备12的框图。图5显示的电子设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。设备12典型的是承担基于单位定时器的定时功能的电子设备。
118.如图5所示,电子设备12以通用计算设备的形式表现。电子设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,存储器28,连接不同组件(包括存储器28和处理单元16)的总线18。
119.总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(industry standard architecture,isa)总线,微通道体系结构(micro channel architecture,mca)总线,增强型isa总线、视频电子标准协会(video electronics standards association,vesa)局域总线以及外围组件互连(peripheral component interconnect,pci)总线。
120.电子设备12典型地包括多种计算机可读介质。这些介质可以是任何能够被电子设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
121.存储器28可以包括易失性存储器形式的计算机装置可读介质,例如随机存取存储器(random access memory,ram)30和/或高速缓存存储器32。电子设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机存储介质。仅作为举例,存储装置34可以用于读写不可移动的、非易失性磁介质(图5未显示,通常称为“硬盘驱动器”)。尽管图5中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如只读光盘(compact disc-read only memory,cd-rom)、数字视盘(digital video disc-read only memory,dvd-rom)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品40,该程序产品40具有一组程序模块42,这些程序模块被配置以执行本发明各实施例的功能。程序产品40,可以存储在例如存储器28中,这样的程序模块42包括但不限于一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
122.电子设备12也可以与一个或多个外部设备14(例如键盘、鼠标、摄像头等和显示器)通信,还可与一个或者多个使得用户能与该电子设备12交互的设备通信,和/或与使得该电子设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口22进行。并且,电子设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(local area network,lan),广域网wide area network,wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与电子设备12的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、磁盘阵列(redundant arrays of independent disks,raid)装置、磁带驱动器以及数据备份存储装置等。
123.处理器16通过运行存储在存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明上述实施例所提供的基于单位定时器的定时方法,包括:
124.获取用户定时器、用于为所述用户定时器计算单位时长的单位定时器以及用于计算针对所述单位定时器的校准时长的校准定时器;
125.在所述用户定时器采用所述单位定时器进行定时的过程中,所述校准定时器基于所述校准定时器的校准定时周期触发;
126.若所述校准定时器检测到所述单位定时器在所述校准定时周期内的当前触发次数等于预设触发次数,则触发对所述单位定时器的重启,以使所述单位定时器被提前触发。
127.当然,本领域技术人员可以理解,处理器还可以实现本发明任意实施例所提供的基于单位定时器的定时方法的技术方案。
128.实施例六
129.本发明实施例六还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所提供的基于单位定时器的定时方法步骤,该方法包括:
130.获取用户定时器、用于为所述用户定时器计算单位时长的单位定时器以及用于计算针对所述单位定时器的校准时长的校准定时器;
131.在所述用户定时器采用所述单位定时器进行定时的过程中,所述校准定时器基于所述校准定时器的校准定时周期触发;
132.若所述校准定时器检测到所述单位定时器在所述校准定时周期内的当前触发次数等于预设触发次数,则触发对所述单位定时器的重启,以使所述单位定时器被提前触发。
133.本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
134.计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
135.计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、rf等等,或者上述的任意合适的组合。
136.可以以一种或多种程序设计语言或其组合来编写用于执行本发明实施例操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c ,还包括常规的过程式程序设计语言——诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
137.注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献