[发明专利]一种虚拟时钟的时间计算方法及电子设备有效
申请号: | 202110232119.1 | 申请日: | 2021-03-02 |
公开(公告)号: | CN112817371B | 公开(公告)日: | 2022-03-15 |
发明(设计)人: | 孙吉平;史继超 | 申请(专利权)人: | 北京深思数盾科技股份有限公司 |
主分类号: | G06F1/12 | 分类号: | G06F1/12;G06F1/14 |
代理公司: | 北京金信知识产权代理有限公司 11225 | 代理人: | 韩岳松 |
地址: | 100193 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 虚拟 时钟 时间 计算方法 电子设备 | ||
本申请公开了一种虚拟时钟的时间计算方法及电子设备,该方法包括:获取所述电子设备当前的第一滴答数;获取前次计算时,所述虚拟时钟的第二虚拟时钟时间、所述电子设备的第二滴答数和第二滴答数偏差,其中,所述第二滴答数偏差为前次校准后的剩余滴答数;基于所述第二虚拟时钟时间、所述第一滴答数、所述第二滴答数以及所述第二滴答数偏差,计算所述虚拟时钟当前的第一虚拟时钟时间。本申请可以及时调整计算过程中的累计偏差,保证虚拟时钟时间计算的准确性;同时,虚拟时钟时间的计算依赖于电子设备运行时的滴答数,不受系统时间的影响,进一步提高虚拟时钟时间计算的准确性。
技术领域
本申请涉及计算机软件技术领域,特别涉及一种虚拟时钟的时间计算方法及电子设备。
背景技术
虚拟时钟依赖所在设备的系统启动时间,作为软件开发工具包(softwaredevelopment kit,SDK)组件提供给其他模块调用时,组件的启动时间就是当前系统时间,计算当前的虚拟时钟时间需要依赖当前系统时间。当组件被执行前将系统时间调至过去,或者不变时,虚拟时钟无法正常计时,会产生极大的偏差。即,调用组件前系统时间很容易被更改,将系统时间作为依据来计算虚拟时钟时间可能会产生较大偏差。
虚拟时钟作为组件提供给其他模块调用时,频繁调用时产生时间偏差,影响虚拟时钟准确性。
发明内容
本申请实施例的目的在于提供一种虚拟时钟的时间计算方法及电子设备,本申请的实施例使用了如下技术方案:
一种虚拟时钟的时间计算方法,所述虚拟时钟应用于电子设备中,所述方法包括:
获取所述电子设备当前的第一滴答数;
获取前次计算时,所述虚拟时钟的第二虚拟时钟时间、所述电子设备的第二滴答数和第二滴答数偏差,其中,所述第二滴答数偏差为前次校准后的剩余滴答数;
基于所述第二虚拟时钟时间、所述第一滴答数、所述第二滴答数以及所述第二滴答数偏差,计算所述虚拟时钟当前的第一虚拟时钟时间。
在一些实施例中,基于所述第二虚拟时钟时间、所述第一滴答数、所述第二滴答数以及所述第二滴答数偏差,计算所述虚拟时钟当前的第一虚拟时钟时间,包括:
计算所述第一滴答数和所述第二滴答数的差值;
计算所述差值转化为第一时间值后的第一剩余滴答数;
基于所述第二滴答数偏差和所述第一剩余滴答数之和,校准第三虚拟时钟时间,得到所述第一虚拟时钟时间;其中,所述第三虚拟时钟时间基于所述第二虚拟时钟以及所述第一时间值计算得到。
在一些实施例中,基于所述第二滴答数偏差和所述第一剩余滴答数之和校准第三虚拟时钟时间,得到所述第一虚拟时钟时间,包括:
若所述第二滴答数偏差和所述第一剩余滴答数之和大于或等于第一预设阈值,则将所述第三虚拟时钟时间的第一时间值加一,得到所述第一虚拟时钟时间;
若所述第二滴答数偏差和所述第一剩余滴答数之和小于第一预设阈值,则将所述第三虚拟时钟时间确定为所述第一虚拟时钟时间。
在一些实施例中,计算所述第一虚拟时钟时间之后,还包括:
若所述第二滴答数偏差和所述第一剩余滴答数之和大于或等于第一预设阈值,将所述第二滴答数偏差和所述第一剩余滴答数之和与所述第一预设阈值的差值作为第一滴答数偏差进行保存,以在下次校准时使用;
若所述第二滴答数偏差和所述第一剩余滴答数之和小于第一预设阈值,将所述第二滴答数偏差和所述第一剩余滴答数之和作为第一滴答数偏差进行保存,以在下次校准时使用。
在一些实施例中,基于所述第二虚拟时钟时间、所述第一滴答数、所述第二滴答数以及所述第二滴答数偏差,计算所述虚拟时钟当前的第一虚拟时钟时间,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京深思数盾科技股份有限公司,未经北京深思数盾科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110232119.1/2.html,转载请声明来源钻瓜专利网。