System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及通信领域,具体而言,涉及一种定时方法、装置、设备及存储介质。
技术介绍
1、业务定时周期通常采用循环定时器控制,在循环定时器超时且判定业务定时周期到达时,通过固定轮询硬件时间戳,当硬件时间戳与业务定时周期的超时时刻的差值满足一定的误差条件(通常是一个小于业务定时周期的经验值),判定业务定时超时,执行业务函数,否则进入下一轮循环,依次往复。参见图1所示的循环定时器处理流程。
2、技术人员进行分析发现,该方式存在以下不足:
3、第一,容易形成分辨率-性能依赖
4、分辨率即定时器最小超时周期,由循环定时器的周期决定,循环定时器的周期越小对应的分辨率越高。为了适应不同的业务周期、超时时刻的需求,循环定时器的周期要远小于业务周期,例如,对于1s周期的业务,循环定时器的周期取到100ms。循环定时器对应的分辨率越高,则业务定时周期控制越精准,系统开销越大,业务函数的处理时间越少。
5、第二,周期稳定性不佳
6、循环定时器容易受系统负载、任务调度以及任务函数开销的影响。尤其骨干网络设备中,系统负载、业务进程内定时器数量庞大,循环定时器每次超时时间会有波动,导致整个业务定时周期的稳定性不佳。
7、第三,超时时刻稳定性不佳
8、循环定时器的首次超时时刻是个随机值,取决于循环定时器启动时刻,在经历若干次循环后,循环定时器的超时时刻将产生积累误差,周期性地偏离理想值。例如,对于周期为p,首次超时时刻为t0的循环定时器,第n次循环的超时时刻有可能远远偏离理
技术实现思路
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、所述业务经验周期为系统定时器误差因子与所述业务周期的乘积所得结果;所述系统定时器误差因子大于零且小于1。
33、根据本专利技术的另一个实施例,提供了一种定时装置,包括:
34、获取模块,用于在基准定时器超时时,获取基准定时器的当前超时时刻;
35、超时判断模块,用于基于所述当前超时时刻,对周期性任务的业务定时器进行超时判断,获得本次超时判断结果,并获取所述本次超时判断结果对应的业务开销;所述周期性任务的业务周期为所述基准定时器的标准超时周期的整数倍;
36、设置模块,用于基于所述当前超时时刻、所述业务开销以及所述标准超时周期,设置所述基准定时器的定时时长,以使所述基准定时器下次的预计超时时刻与所述基准定时器的下次理想超时时刻对齐。
37、根据本专利技术的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述本文档来自技高网...
【技术保护点】
1.一种定时方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,获取所述本次超时判断结果对应的业务开销,包括:
3.根据权利要求1或2所述的方法,其特征在于,基于所述当前超时时刻、所述业务开销以及所述标准超时周期,设置所述基准定时器的定时时长,以使所述基准定时器下次的预计超时时刻与所述基准定时器的下次理论超时时刻对齐,包括:
4.根据权利要求3所述的方法,其特征在于,基于所述当前超时时刻、第一预设超时偏移量以及所述标准超时周期,获得所述当前超时时刻相对于所述基准定时器的本次理想超时时刻的偏移量,包括:
5.根据权利要求3所述的方法,其特征在于,基于所述偏移量、所述标准超时周期以及所述业务开销,设置所述基准定时器的定时时长,包括:
6.根据权利要求1所述的方法,其特征在于,基于所述当前超时时刻,对周期性任务的业务定时器进行超时判断,获得本次超时判断结果,包括:
7.根据权利要求6所述的方法,其特征在于,基于所述本次误差所属的类别,获得本次超时判断结果,包括:
8.一种定时装置,其特征
9.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至7任一项中所述的方法。
10.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至7任一项中所述的方法。
...【技术特征摘要】
1.一种定时方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,获取所述本次超时判断结果对应的业务开销,包括:
3.根据权利要求1或2所述的方法,其特征在于,基于所述当前超时时刻、所述业务开销以及所述标准超时周期,设置所述基准定时器的定时时长,以使所述基准定时器下次的预计超时时刻与所述基准定时器的下次理论超时时刻对齐,包括:
4.根据权利要求3所述的方法,其特征在于,基于所述当前超时时刻、第一预设超时偏移量以及所述标准超时周期,获得所述当前超时时刻相对于所述基准定时器的本次理想超时时刻的偏移量,包括:
5.根据权利要求3所述的方法,其特征在于,基于所述偏移量、所述标准超时周期以及所述业务开销,设置...
【专利技术属性】
技术研发人员:李荣骏,
申请(专利权)人:中兴通讯股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。