System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及通信,特别涉及一种时钟调整方法、装置、设备及存储介质。
技术介绍
1、vpp(vector package process)是一种用户态协议栈,通常结合dpdk(data planedevelopment kit,数据平面转发套件)实现数据的快速转发。vpp使用cpu资源,使用指令加速、批处理、资源预取、功能节点化、插件化等技术,具备高性能、功能丰富、模块化、灵活性、可延展性等特性,当前已经广泛用于各类网络转发设备的开发套件。
2、当前cpu(central processing unit,中央处理器)工作模式分为睿频模式和定频模式。工作在睿频模式时主频会随着负载等条件变化而频繁出现高频的频率跳变行为,同时跳变幅度可达到10%以上。而工作在定频模式时,cpu频率会固定在同一级别,但是主频依然会在较低幅度内变化,通过对比各种不同的cpu频率变化,可以观察到几乎所有cpu都存在频率跳变现象。
3、而在现有的vpp中,采用分段计算技术,且四舍五入的计算方式放大了计算误差,使得轻微的cpu频率跳变就能引发较大幅度的时钟计算偏差,且现有的vpp没有时钟倒流避免机制,当新计算的时钟小于原来的时钟,形成时钟倒流现象,从而造成时间轮计算中定时器永不超时,并且当出现时钟前移的现象,还可能导致转发业务中断。
技术实现思路
1、有鉴于此,本专利技术的目的在于提供一种时钟调整方法、装置、设备及存储介质,可以解决因cpu频率跳变导致时钟稳定性出现偏差的问题,使波动率控制
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、本申请中,首先采集时钟信息,并基于所述时钟信息确定当前时钟周期内本地高精度时钟的高精度时钟间隔以及本地系统时钟的系统时钟间隔,然后基于所述高精度时钟间隔以及所述系统时钟间隔确定所述当前时钟周期内的当前时钟频率,以基于所述当前时钟频率确定所述当前时钟周期对应的频率波动,最后判断所述频率波动是否大于预设波动阈值,若否,则基于所述当前时钟频率以及所述时钟信息确定当前时钟,以利用所述当前时钟进行时钟调整,并跳转至所述采集时钟信息的步骤,以进行下一所述时钟周期的时钟调整。由此可见,通过本申请的方法,需要基于采集的时钟信息确定本地高精度时钟以及系统时的时钟间隔,以基于确定的本文档来自技高网...
【技术保护点】
1.一种时钟调整方法,其特征在于,应用于用户态协议栈进程,包括:
2.根据权利要求1所述的时钟调整方法,其特征在于,所述采集时钟信息,并基于所述时钟信息确定当前时钟周期内本地高精度时钟的高精度时钟间隔以及本地系统时钟的系统时钟间隔之前,还包括:
3.根据权利要求1所述的时钟调整方法,其特征在于,所述采集时钟信息,并基于所述时钟信息确定当前时钟周期内本地高精度时钟的高精度时钟间隔以及本地系统时钟的系统时钟间隔,包括:
4.根据权利要求1所述的时钟调整方法,其特征在于,所述基于所述高精度时钟间隔以及所述系统时钟间隔确定所述当前时钟周期内的当前时钟频率,以基于所述当前时钟频率确定所述当前时钟周期对应的频率波动,包括:
5.根据权利要求2所述的时钟调整方法,其特征在于,所述判断所述频率波动是否大于预设波动阈值,若否,则基于所述当前时钟频率以及所述时钟信息确定当前时钟,以利用所述当前时钟进行时钟调整,包括:
6.根据权利要求1所述的时钟调整方法,其特征在于,所述判断所述频率波动是否大于预设波动阈值之后,还包括:
7.根
8.一种时钟调整装置,其特征在于,应用于用户态协议栈进程,包括:
9.一种电子设备,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的时钟调整方法。
...【技术特征摘要】
1.一种时钟调整方法,其特征在于,应用于用户态协议栈进程,包括:
2.根据权利要求1所述的时钟调整方法,其特征在于,所述采集时钟信息,并基于所述时钟信息确定当前时钟周期内本地高精度时钟的高精度时钟间隔以及本地系统时钟的系统时钟间隔之前,还包括:
3.根据权利要求1所述的时钟调整方法,其特征在于,所述采集时钟信息,并基于所述时钟信息确定当前时钟周期内本地高精度时钟的高精度时钟间隔以及本地系统时钟的系统时钟间隔,包括:
4.根据权利要求1所述的时钟调整方法,其特征在于,所述基于所述高精度时钟间隔以及所述系统时钟间隔确定所述当前时钟周期内的当前时钟频率,以基于所述当前时钟频率确定所述当前时钟周期对应的频率波动,包括:
...
【专利技术属性】
技术研发人员:金兴伟,王炯,李明明,
申请(专利权)人:中电科网络安全科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。