CN112817371A - 一种虚拟时钟的时间计算方法及电子设备 - Google Patents
一种虚拟时钟的时间计算方法及电子设备 Download PDFInfo
- Publication number
- CN112817371A CN112817371A CN202110232119.1A CN202110232119A CN112817371A CN 112817371 A CN112817371 A CN 112817371A CN 202110232119 A CN202110232119 A CN 202110232119A CN 112817371 A CN112817371 A CN 112817371A
- Authority
- CN
- China
- Prior art keywords
- time
- virtual clock
- tick
- synchronization
- internet
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/14—Time supervision arrangements, e.g. real time clock
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Electric Clocks (AREA)
Abstract
本申请公开了一种虚拟时钟的时间计算方法及电子设备,该方法包括:获取所述电子设备当前的第一滴答数;获取前次计算时,所述虚拟时钟的第二虚拟时钟时间、所述电子设备的第二滴答数和第二滴答数偏差,其中,所述第二滴答数偏差为前次校准后的剩余滴答数;基于所述第二虚拟时钟时间、所述第一滴答数、所述第二滴答数以及所述第二滴答数偏差,计算所述虚拟时钟当前的第一虚拟时钟时间。本申请可以及时调整计算过程中的累计偏差,保证虚拟时钟时间计算的准确性;同时,虚拟时钟时间的计算依赖于电子设备运行时的滴答数,不受系统时间的影响,进一步提高虚拟时钟时间计算的准确性。
Description
技术领域
本申请涉及计算机软件技术领域,特别涉及一种虚拟时钟的时间计算方法及电子设备。
背景技术
虚拟时钟依赖所在设备的系统启动时间,作为软件开发工具包(softwaredevelopment kit,SDK)组件提供给其他模块调用时,组件的启动时间就是当前系统时间,计算当前的虚拟时钟时间需要依赖当前系统时间。当组件被执行前将系统时间调至过去,或者不变时,虚拟时钟无法正常计时,会产生极大的偏差。即,调用组件前系统时间很容易被更改,将系统时间作为依据来计算虚拟时钟时间可能会产生较大偏差。
虚拟时钟作为组件提供给其他模块调用时,频繁调用时产生时间偏差,影响虚拟时钟准确性。
发明内容
本申请实施例的目的在于提供一种虚拟时钟的时间计算方法及电子设备,本申请的实施例使用了如下技术方案:
一种虚拟时钟的时间计算方法,所述虚拟时钟应用于电子设备中,所述方法包括:
获取所述电子设备当前的第一滴答数;
获取前次计算时,所述虚拟时钟的第二虚拟时钟时间、所述电子设备的第二滴答数和第二滴答数偏差,其中,所述第二滴答数偏差为前次校准后的剩余滴答数;
基于所述第二虚拟时钟时间、所述第一滴答数、所述第二滴答数以及所述第二滴答数偏差,计算所述虚拟时钟当前的第一虚拟时钟时间。
在一些实施例中,基于所述第二虚拟时钟时间、所述第一滴答数、所述第二滴答数以及所述第二滴答数偏差,计算所述虚拟时钟当前的第一虚拟时钟时间,包括:
计算所述第一滴答数和所述第二滴答数的差值;
计算所述差值转化为第一时间值后的第一剩余滴答数;
基于所述第二滴答数偏差和所述第一剩余滴答数之和,校准第三虚拟时钟时间,得到所述第一虚拟时钟时间;其中,所述第三虚拟时钟时间基于所述第二虚拟时钟以及所述第一时间值计算得到。
在一些实施例中,基于所述第二滴答数偏差和所述第一剩余滴答数之和校准第三虚拟时钟时间,得到所述第一虚拟时钟时间,包括:
若所述第二滴答数偏差和所述第一剩余滴答数之和大于或等于第一预设阈值,则将所述第三虚拟时钟时间的第一时间值加一,得到所述第一虚拟时钟时间;
若所述第二滴答数偏差和所述第一剩余滴答数之和小于第一预设阈值,则将所述第三虚拟时钟时间确定为所述第一虚拟时钟时间。
在一些实施例中,计算所述第一虚拟时钟时间之后,还包括:
若所述第二滴答数偏差和所述第一剩余滴答数之和大于或等于第一预设阈值,将所述第二滴答数偏差和所述第一剩余滴答数之和与所述第一预设阈值的差值作为第一滴答数偏差进行保存,以在下次校准时使用;
若所述第二滴答数偏差和所述第一剩余滴答数之和小于第一预设阈值,将所述第二滴答数偏差和所述第一剩余滴答数之和作为第一滴答数偏差进行保存,以在下次校准时使用。
在一些实施例中,基于所述第二虚拟时钟时间、所述第一滴答数、所述第二滴答数以及所述第二滴答数偏差,计算所述虚拟时钟当前的第一虚拟时钟时间,包括:
计算所述第一滴答数和所述第二滴答数的差值;
将所述差值与所述第二滴答数偏差之和转化为第二时间值;
基于所述第二虚拟时钟以及所述第二时间值计算得到所述第一虚拟时钟。
在一些实施例中,所述第二虚拟时钟时间、所述第二滴答数和所述第二滴答数偏差被保存在所述电子设备中;
所述方法还包括:
如果所述第一虚拟时钟时间与所述第二虚拟时钟时间的间隔大于第一阈值,则保存所述第一虚拟时钟时间、所述第一滴答数以及所述第一滴答数偏差;其中,所述第一阈值≥1秒。
在一些实施例中,所述方法还包括:
如果在所述电子设备上电之后首次计算所述虚拟时钟当前的时间,则将与时间服务器同步时确定的同步时间作为所述第二虚拟时钟时间,将与所述同步时间对应的滴答数作为所述第二滴答数。
在一些实施例中,所述虚拟时钟与时间服务器同步以确定同步时间,包括:
检测所述电子设备能否链接到互联网时间服务器;
若能够链接到所述互联网时间服务器,基于从所述互联网时间服务器获取的第一互联网时间,确定所述同步时间;
若不能链接到所述互联网时间服务器,则离线确定所述同步时间。
在一些实施例中,离线确定所述同步时间,包括:
生成同步请求包,所述同步请求包包括:所述虚拟时钟在请求同步时的第五虚拟时钟时间和对应的第五滴答数;
接收同步数据包,所述同步数据包由所述互联网时间服务器根据所述同步请求包而生成,包括:第二互联网时间;
基于所述第二互联网时间和所述第五滴答数,确定所述同步时间。
在一些实施例中,离线确定所述同步时间,包括:
生成同步请求包,所述同步请求包包括:所述虚拟时钟在请求同步时的第五虚拟时钟时间和对应的第五滴答数;
接收同步数据包,所述同步数据包由所述互联网时间服务器根据所述同步请求包而生成,包括:第二互联网时间;所述同步数据包采用所述互联网时间服务器的私钥签名;
如果所述同步数据包的签名验证通过,则基于所述第二互联网时间和所述第五滴答数,确定所述同步时间,其中,所述验证为利用所述互联网时间服务器的公钥进行的验证。
本申请的实施例还提供一种虚拟时钟的时间计算方法,包括:
获取虚拟时钟前次与时间服务器同步时更新的同步时间和电子设备的第三滴答数;
获取所述电子设备当前的第四滴答数;
基于所述第三滴答数、所述第四滴答数以及所述同步时间,计算所述虚拟时钟当前的第四虚拟时钟时间。
在一些实施例中,所述虚拟时钟与时间服务器同步以更新同步时间,包括:
检测所述电子设备能否链接到互联网时间服务器;
若能够链接到所述互联网时间服务器,基于从所述互联网时间服务器获取的第一互联网时间,更新所述同步时间;
若不能链接到所述互联网时间服务器,则离线确定所述同步时间以进行更新。
在一些实施例中,离线确定所述同步时间,包括:
生成同步请求包,所述同步请求包包括:所述虚拟时钟在请求同步时的第五虚拟时钟时间和对应的第五滴答数;
接收同步数据包,所述同步数据包由所述互联网时间服务器根据所述同步请求包而生成,包括:第二互联网时间;
基于所述第二互联网时间和所述第五滴答数,确定所述同步时间。
在一些实施例中,离线确定所述同步时间,包括:
生成同步请求包,所述同步请求包包括:所述虚拟时钟在请求同步时的第五虚拟时钟时间和对应的第五滴答数;
接收同步数据包,所述同步数据包由所述互联网时间服务器根据所述同步请求包而生成,包括:第二互联网时间;所述同步数据包采用所述互联网时间服务器的私钥签名;
如果所述同步数据包的签名验证通过,则基于所述第二互联网时间和所述第五滴答数,确定所述同步时间,其中,所述验证为利用所述互联网时间服务器的公钥进行的验证。
本申请的实施例还提供一种电子设备,所述电子设备配置有虚拟时钟,所述电子设备包括:存储器,用于存储计算机可执行指令;处理器,用于执行所述存储器中存储的计算机可执行指令,以执行上述的虚拟时钟的时间计算方法。
本申请的实施例还提供一种计算机可读存储介质,其上存储有计算机可执行指令,所述计算机可执行指令由处理器执行时,实现上述的虚拟时钟的时间计算方法。
附图说明
图1为本申请实施例的虚拟时钟的时间计算方法的流程图;
图2为本申请实施例的另一虚拟时钟的时间计算方法的流程图;
图3为本申请实施例的电子设备的结构示意图。
具体实施方式
此处参考附图描述本申请的各种方案以及特征。
应理解的是,可以对此处申请的实施例做出各种修改。因此,上述说明书不应该视为限制,而仅是作为实施例的范例。本领域的技术人员将想到在本申请的范围和精神内的其他修改。
包含在说明书中并构成说明书的一部分的附图示出了本申请的实施例,并且与上面给出的对本申请的大致描述以及下面给出的对实施例的详细描述一起用于解释本申请的原理。
通过下面参照附图对给定为非限制性实例的实施例的优选形式的描述,本申请的这些和其它特性将会变得显而易见。
还应当理解,尽管已经参照一些具体实例对本申请进行了描述,但本领域技术人员能够确定地实现本申请的很多其它等效形式,它们具有如权利要求所述的特征并因此都位于借此所限定的保护范围内。
当结合附图时,鉴于以下详细说明,本申请的上述和其他方面、特征和优势将变得更为显而易见。
此后参照附图描述本申请的具体实施例;然而,应当理解,所申请的实施例仅仅是本申请的实例,其可使用多种方式实施。熟知和/或重复的功能和结构并未详细描述以避免不必要或多余的细节使得本申请模糊不清。因此,本文所申请的具体的结构性和功能性细节并非意在限定,而是仅仅作为权利要求的基础和代表性基础用于教导本领域技术人员以实质上任意合适的详细结构多样地使用本申请。
本说明书可使用词组“在一种实施例中”、“在另一个实施例中”、“在又一实施例中”或“在其他实施例中”,其均可指代根据本申请的相同或不同实施例中的一个或多个。
图1为本申请实施例的虚拟时钟的时间计算方法的流程图。如图1所示,本申请实施例提供一种虚拟时钟的时间计算方法,所述虚拟时钟应用于电子设备中,所述方法包括:
S101:获取所述电子设备当前的第一滴答数N1。
电子设备可以包括各种具有通信功能的计算机、笔记本电脑、手持设备(例如手机、平板电脑)、车载设备、可穿戴设备(例如智能手表、智能手环、计步器等)等终端设备,也可以包括服务器等主机设备。虚拟时钟以组件的形式存储于电子设备中,可以供电子设备中的应用程序访问或调用以获得虚拟时钟时间。
其中,应用程序可以为存储有虚拟时钟的电子设备中的应用程序,也可以为其他未存储有所述虚拟时钟的电子设备中的应用程序。
滴答数用于记录电子设备的系统启动运行的时间,电子设备上电运行便开始记录滴答数;电子设备断电、重新上电后,滴答数从零开始重新计数。滴答数的计数单位一般为毫秒(ms),滴答数的计数单位也可以为秒(s)或微秒(μs)等。
利用第一滴答数N1可以确定当前计算时系统启动运行的时间,即可以记录电子设备从上电启动运行开始到当前计算虚拟时钟的时间时,系统运行所经历的时间。
S102:获取前次计算时,所述虚拟时钟的第二虚拟时钟时间T2、所述电子设备的第二滴答数N2和第二滴答数偏差Δd2,其中,所述第二滴答数偏差Δd2为前次校准后的剩余滴答数。
其中,第二虚拟时钟时间T2为前次计算时所保存的虚拟时钟时间,该第二虚拟时钟时间T2为经校准后的准确的虚拟时钟时间;第二滴答数N2为前次计算时记录的滴答数,可以确定前次计算时系统启动运行的时间。
前次校准后的剩余滴答数是指前次计算得到第二时钟时间T2后,剩余的无法转化为时间值的滴答数。
示例性地,本申请中依赖于滴答数得到虚拟时钟的时间,由于滴答数的计数单位一般为毫秒,与通用的时间值表示方式不统一,计算虚拟时钟的时间时需要将毫秒(ms)转化为秒(s),如此,小于1000ms的滴答数便无法转化为时间值。该部分小于1000ms的滴答数便可作为剩余滴答数保留,以便下次计算使用。
本申请实施例中,虚拟时钟的第二虚拟时钟时间T2、所述电子设备的第二滴答数N2和第二滴答数偏差Δd2可以从电子设备本地获取,也可以通过无线或有线通信的方式从其他电子设备获取。
S103:基于所述第二虚拟时钟时间T2、所述第一滴答数N1、所述第二滴答数N2以及所述第二滴答数偏差Δd2,计算所述虚拟时钟当前的第一虚拟时钟时间T1。
具体地,可以利用第一滴答数N1和第二滴答数N2确定当前计算虚拟时钟的时间与前次计算虚拟时钟的时间时系统运行所经历的滴答数,并与前次计算时得到的第二滴答数偏差Δd2结合得到当前计算虚拟时钟的时间时和前次计算虚拟时钟的时间时所经历的时间间隔,从而基于前次计算时的第二虚拟时钟时间T2得到当前计算的第一虚拟时钟时间T1。
本申请实施例提供的虚拟时钟的时间计算方法,在电子设备上电运行的过程中,通过获取电子设备当前的第一滴答数N1,以及前次计算时虚拟时钟的第二虚拟时钟时间T2、所述电子设备的第二滴答数N2和第二滴答数偏差Δd2可以准确计算出当前的第一虚拟时钟时间T1,可以及时调整计算过程中的累计偏差,保证虚拟时钟时间计算的准确性;同时,虚拟时钟时间的计算依赖于电子设备运行时的滴答数,不受系统时间的影响,进一步提高虚拟时钟时间计算的准确性。
需要说明的是,虚拟时钟时间的计算可以在应用程序访问虚拟时钟或者虚拟时钟被调用时进行。本申请实施例中,将前次计算时的第二滴答数偏差Δd2保留,以在后续计算虚拟时钟时使用,可以减少虚拟时钟被频繁调用时产生的时间偏差,即减少虚拟时钟的时间计算过程中的累计误差,保证虚拟时钟时间计算的准确性。
在一些实施例中,步骤S103中,基于所述第二虚拟时钟时间T2、所述第一滴答数N1、所述第二滴答数N2以及所述第二滴答数偏差Δd2,计算所述虚拟时钟当前的第一虚拟时钟时间,包括:
S1031:计算所述第一滴答数N1和所述第二滴答数N2的差值ΔN;
S1032:计算所述差值ΔN转化为第一时间值ΔT1后的第一剩余滴答数d1;
S1033:基于所述第二滴答数偏差Δd2和所述第一剩余滴答数d1之和,校准第三虚拟时钟时间T3,得到所述第一虚拟时钟时间T1;其中,所述第三虚拟时钟时间T3基于所述第二虚拟时钟T2以及所述第一时间值ΔT1计算得到。
步骤S1031可以以如下公式表示:ΔN=N1-N2。通过步骤S1031可以得到当前计算虚拟时钟的时间与前次计算虚拟时钟的时间时,系统运行所经历的滴答数。
步骤S1032中,将该差值ΔN转化为第一时间值ΔT1便可得到当前计算与前次计算时系统运行所经历的时间,该时间也为当前计算与前次计算时,虚拟时钟所经历的时间。所述差值ΔN转化为第一时间值ΔT1后,小于转化系数F(例如1000ms)的滴答数为第一剩余滴答数d1。
所述差值ΔN转化为第一时间值ΔT1可以表示为:ΔT1=int(ΔN/F),其中,int表示取整。第一剩余滴答数d1可以表示为:d1=ΔN-F×int(ΔN/F)。
示例性地,本实施例中,滴答数以ms计数时,F为1000。在一些实施例中,滴答数也可以以微秒(μs)计数,此时,F为106。
步骤S1032中,在得到当前计算与前次计算时,虚拟时钟所经历的时间之后,便可得到当前的第三虚拟时钟时间T3,可以表示为:T3=T2+ΔT1。第三虚拟时钟时间T3为当前的校准前的虚拟时钟时间。
进一步地,通过步骤S1033对第三虚拟时钟时间T3进行校准,便可得到当前准确的第一虚拟时钟时间T1。
由于每次滴答数转化为时间值的过程中,小于转化系数F的滴答数均被剩余,随着虚拟时钟被调用次数的增加,剩余的滴答数也不断累加,会使虚拟时钟时间存在偏差。因此,本步骤中,在每次计算虚拟时钟时间时,均对虚拟时钟时间校准,以得到准确的虚拟时钟时间。
步骤S1033中,对前次校准后剩余的第二滴答数偏差Δd2与当前计算时滴答数的差值ΔN转化为第一时间值ΔT1后剩余的第一滴答数d1进行求和,可以得到累计的剩余滴答数dt=Δd2+d1,进而基于该累计的剩余滴答数dt对第三虚拟时钟时间T3进行校准。
步骤S1033中,基于所述第二滴答数偏差Δd2和所述第一剩余滴答数d1之和校准第三虚拟时钟时间T3,得到所述第一虚拟时钟时间T1,包括:
若所述第二滴答数偏差Δd2和所述第一剩余滴答数d1之和大于或等于第一预设阈值,则将所述第三虚拟时钟时间T3的时间值加一,得到所述第一虚拟时钟时间T1;
若所述第二滴答数偏差Δd2和所述第一剩余滴答数d1之和小于第一预设阈值,则将所述第三虚拟时钟时间T3确定为所述第一虚拟时钟时间T1。
进一步地,计算所述第一虚拟时钟时间T1之后,还包括:
若所述第二滴答数偏差Δd2和所述第一剩余滴答数d1之和大于或等于第一预设阈值,将所述第二滴答数偏差Δd2和所述第一剩余滴答数d1之和与所述第一预设阈值的差值作为第一滴答数偏差Δd1进行保存,以在下次校准时使用;
若所述第二滴答数偏差Δd2和所述第一剩余滴答数d1之和小于第一预设阈值,将所述第二滴答数偏差Δd2和所述第一剩余滴答数d1之和作为第一滴答数偏差Δd1进行保存,以在下次校准时使用。
具体地,第一预设阈值为转化系数F,通过求和得到累计的剩余滴答数dt后,可以将其与第一预设阈值进行比较,以确定是否存在时间误差,进而对第三虚拟时钟时间T3进行校准。
由于所述第二滴答数偏差Δd2和所述第一剩余滴答数d1均小于转化系数F,因此,累计的剩余滴答数dt的范围在(0,2F)之间。可以对累计的剩余滴答数dt利用公式int(dt/F)进行时间值转化,得到时间校准值。即若累计的剩余滴答数dt大于转化系数F,则时间校准值为1,转化后剩余的滴答数可以作为下次校准时的第一滴答数偏差Δd1进行保存,以便下次计算时使用;若累计的剩余滴答数dt小于转化系数F,则时间校准值为0,该累计的剩余滴答数dt便作为下次校准时的第一滴答数偏差Δd1进行保存。下次校准时的第一滴答数偏差Δd1可以表示为:Δd1=dt-F×int(dt/F)。校准后,第一虚拟时钟时间T1可以表示为:T1=T3+(1or 0)。
在另一些实施例中,步骤S3中,基于所述第二虚拟时钟时间T2、所述第一滴答数N1、所述第二滴答数N2以及所述第二滴答数偏差Δd2,计算所述虚拟时钟当前的第一虚拟时钟时间T1,包括:
S1031:计算所述第一滴答数N1和所述第二滴答数N2的差值ΔN;
S1034:将所述差值ΔN与所述第二滴答数偏差Δd2之和转化为第二时间值ΔT2;
S1035:基于所述第二虚拟时钟T2以及所述第二时间值ΔT2计算得到所述第一虚拟时钟T1。
在步骤S1031得到所述第一滴答数N1和所述第二滴答数N2的差值ΔN后,可以通过步骤S1034对该所述差值ΔN与所述第二滴答数偏差Δd2进行求和,并对求和后的滴答数进行时间值转化得到第二时间值ΔT2,并通过步骤S1035直接将第二时间值ΔT2加到第二虚拟时钟T2上,得到第一虚拟时钟T1,即T1=T2+ΔT2。
本实施例中,先将所述第二滴答数偏差Δd2累加到所述差值ΔN,然后进行时间值转化得到准确的第一虚拟时钟T1,将校准融入虚拟时钟的时间计算中,可以实现第一虚拟时钟T1的快速计算,提高计算效率。
进一步地,所述方法还包括:
S1036:计算所述差值ΔN与所述第二滴答数偏差Δd2之和转化为第二时间值ΔT2后的第二剩余滴答数d2,将第二剩余滴答数d2作为第一滴答数偏差Δd1进行保存,以在下次计算时使用。
其中,第二剩余滴答数d2可以表示为:d2=(ΔN+Δd2)-F×int((ΔN+Δd2)/F)。
在一些实施例中,所述第二虚拟时钟时间T2、所述第二滴答数N2和所述第二滴答数偏差Δd2被保存在所述电子设备中。
在又一些实施例中,基于所述第二虚拟时钟时间T2、所述第一滴答数N1、所述第二滴答数N2以及所述第二滴答数偏差Δd2,计算所述虚拟时钟当前的第一虚拟时钟时间T1,包括:
T1=T2+int((N1-N2)/F)+int{(Δd2+((N1-N2)mod F))/F}
其中,int表示取整。int((N1-N2)/F)即取(N1-N2)/F的商的整数部分。int{(Δd2+((N1-N2)mod F))/F}即取(Δd2+((N1-N2)mod F))/F的商的整数部分。mod表示取余数。((N1-N2)mod F)即取(N1-N2)/F的余数。
采用这样的实现方式,将校准直接融入虚拟时钟的时间的计算中,可以实现第一虚拟时钟T1的快速计算,提高计算效率。
应理解,采用本实现方式,若第二滴答数偏差Δd2和第一剩余滴答数(N1-N2)mod F之和大于或等于第一预设阈值F,则第一虚拟时钟时间相比与第三虚拟时钟时间加一,将(Δd2+((N1-N2)mod F)-F)作为Δd1,也就是本次计算虚拟时钟时间后对应的dt,进行保存,以在下次校准时使用。若第二滴答数偏差Δd2和第一剩余滴答数(N1-N2)mod F之和小于第一预设阈值F,则第一虚拟时钟时间就等于第三虚拟时钟时间,将Δd2+((N1-N2)mod F)作为Δd1,也就是本次计算虚拟时钟时间后对应的dt,进行保存,以在下次校准时使用。即,采用本实现方式与前述实现方式所计算的第一虚拟时钟时间是一致的,保存滴答数偏差的方式也是一致的,前述实现方式中与第一阈值相比较的步骤亦可结合应用在本实现方式中。
可选地,所述方法还包括:
S104:如果所述第一虚拟时钟时间T1与所述第二虚拟时钟时间T2的间隔大于第一阈值,则保存所述第一虚拟时钟时间T1、所述第一滴答数N1以及所述第一滴答数偏差Δd1;其中,所述第一阈值≥1秒。
具体地,每次计算虚拟时钟的时间后,并不需要每次均保存所述第一虚拟时钟时间T1、所述第一滴答数N1以及所述第一滴答数偏差Δd1。当当前计算与前次计算的时间间隔大于第一阈值,可以对当前计算后的第一虚拟时钟时间T1、所述第一滴答数N1以及所述第一滴答数偏差Δd1进行保存,将其作为下次计算时的第二拟时钟时间T2、第二滴答数N2以及第二滴答数偏差Δd2。当当前计算与前次计算的时间间隔小于第一阈值时,可以仅将计算出的第一虚拟时钟时间T1保存至电子设备的缓存中或将第一虚拟时钟时间T1发送至需要调用该第一虚拟时钟时间的应用程序中,以供应用程序访问或调用该虚拟时钟获取当前的虚拟时钟时间。而不需要保存当前计算后的第一虚拟时钟时间T1、所述第一滴答数N1以及所述第一滴答数偏差Δd1,下次计算时,仍采用前次计算时的第二拟时钟时间T2、第二滴答数N2以及第二滴答数偏差Δd2。
进一步地,若下次计算与前次计算时的时间间隔仍小于第一阈值,则仍不保存计算后的第一虚拟时钟时间T1,若下次计算与前次计算时的时间间隔大于第一阈值,则保存下次计算后的第一虚拟时钟时间T1、所述第一滴答数N1以及所述第一滴答数偏差Δd1作为下下次计算时的第二拟时钟时间T2、第二滴答数N2以及第二滴答数偏差Δd2。即本申请实施例中,获取的前次计算时,所述虚拟时钟的第二虚拟时钟时间T2、第二滴答数N2以及第二滴答数偏差Δd2,为前次计算后保存的数据。
本申请实施例中,考虑虚拟时钟计算时的效率问题,在所述第一虚拟时钟时间T1与所述第二虚拟时钟时间T2的间隔大于第一阈值时才保存数据,以防止虚拟时钟时间计算后写入数据过于频繁,影响电子设备性能,增加电耗。
此外,当多个进程几乎同时访问虚拟时钟时,虚拟时钟可能面临被多次启动的可能,此时若将第一阈值设置为小于1秒,则虚拟时钟可能会因为被多个进程几乎同时调用时的启动时间不同而导致计算出的多个虚拟时钟时间中的部分虚拟时钟时间产生误差。将第一阈值设置为≥1秒,可以有效避免在这种情况下计算出的虚拟时钟时间产生误差。
具体实施中,上述的第一虚拟时钟时间T1、所述第一滴答数N1以及所述第一滴答数偏差Δd1可以加密保存在电子设备的存储器等硬件模块。通过加密保存可以保证数据调用时的不可篡改性,保证数据安全。在电子设备本地加密时,可以使用电子设备的硬件信息,例如CPU信息或MAC地址等,对上述待保存的数据进行加密。
在一具体实施例中,上述第一阈值优选为2秒,在多个应用程序(多个进程)几乎同时访问虚拟时钟时,可以较好地保证反馈给调用虚拟时钟的软件的时间的连续性,更加适用于对时间精度和连续性要求较高的应用程序。
在一些实施例中,所述方法还包括:
S105:如果在所述电子设备上电之后首次计算所述虚拟时钟当前的时间,则将与时间服务器同步时确定的同步时间作为所述第二虚拟时钟时间T2,将与所述同步时间对应的滴答数作为所述第二滴答数N2。
具体地,当前虚拟时钟时间的计算为首次计算时,可以与时间服务器进行时间同步得到同步时间,并将该同步时间作为第二虚拟时钟时间T2,将与时间服务器同步时电子设备的滴答数作为第二滴答数N2,计算虚拟时钟当前的第一虚拟时钟时间T1。
由于时间服务器存储的是准确的互联网时间,因此,可以保证获取的第二虚拟时钟时间T2的准确性。同时,由于第一虚拟时钟时间T1为首次计算,因此,不存在第二滴答数偏差Δd2,也可以理解为第二滴答数偏差Δd2的值为零。
首次计算时的第一虚拟时钟时间T1=T2+int((N1-N2)/F),同时,可以将第一滴答数N1与第二滴答数N2的差值ΔN转化为时间值后的剩余滴答数作为第一滴答数偏差Δd1保存,以在下次计算时使用。如果所述虚拟时钟当前的时间为非首次计算,则可以采用上述的步骤S101-S104进行计算。
本申请实施例提供的方法可以在设备掉电并重新上电后,与时间服务器同步获取第二虚拟时钟时间T2,并基于电子设备的滴答数计算虚拟时钟的时间,解决设备掉电时时钟数据丢失,无法准确计算虚拟时钟时间的问题。
通过与时间服务器同步以获取第二虚拟时钟时间T2,可以防止利用系统时间计算虚拟时钟时间时,由于系统时间被更改导致的时间偏差,保证虚拟时钟时间计算的准确性。同时,虚拟时钟时间可被应用程序连续调用而不受系统时间影响,且校准后的虚拟时钟时间也不会随系统时间的变化而变化。
需要说明的是,即便不是首次计算第一虚拟时钟时间,虚拟时钟也可以定期或者不定期地与时间服务器同步确定同步时间,然后将该同步时间作为第二虚拟时钟时间T2,将与同步时间对应的滴答数作为第二滴答数N2,以用于下次计算虚拟时钟时间。
在一些实施例中,所述虚拟时钟与时间服务器同步以确定同步时间,包括:
S1051:检测所述电子设备能否链接到互联网时间服务器;
S1052:若能够链接到所述互联网时间服务器,基于从所述互联网时间服务器获取的第一互联网时间,确定所述同步时间;
S1053:若不能链接到所述互联网时间服务器,则离线确定所述同步时间。
在电子设备能够联网时,通过获取互联网时间服务器的第一互联网时间实现时间的在线同步,同步时间获取方便,且能够保证获取准确的第二虚拟时钟时间T2,以便后续计算虚拟时钟的时间。
进一步地,步骤S1053中,离线确定所述同步时间,包括:
生成同步请求包,所述同步请求包包括:所述虚拟时钟在请求同步时的第五虚拟时钟时间T5和对应的第五滴答数N5;
接收同步数据包,所述同步数据包由所述互联网时间服务器根据所述同步请求包而生成,包括:第二互联网时间;
基于所述第二互联网时间和所述第五滴答数N5,确定所述同步时间。
当电子设备无法链接到互联网时间服务器时,可以离线进行时间同步。示例性地,电子设备可以利用预先保存的第五虚拟时钟时间T5和对应的第五滴答数N5生成同步请求包。该数据同步包中可以包括第二互联网时间。电子设备接收基于该第五虚拟时钟时间T5和对应的第五滴答数N5确定的第二互联网时间,将电子设备当前的滴答数减去第五滴答数N5的差值,加上该第二互联网时间,作为一个相对较准确的同步时间保存。
示例性地,第二互联网时间可以基于第五虚拟时钟时间T5来确定。例如,在确定同步数据包中的第二互联网时间的一种实现方式中,当互联网时间服务器当前的时间与第五虚拟时钟时间T5的差值超过某一个预设阈值时,可以将该当前的时间确定为第二互联网时间;当互联网时间服务器当前的时间与第五虚拟时钟时间T5的差值不超过某一个预设阈值时,可以将该第五虚拟时钟时间T5确定为第二互联网时间。
上述电子设备与互联网时间服务器的数据传输可以通过有线的方式离线传输,也可以利用能够分别与电子设备和互联网时间服务器进行在线传输的其他电子设备作为传输中介进行数据传输。
在一些实施例中,步骤S1053中,离线确定所述同步时间,包括:
生成同步请求包,所述同步请求包包括:所述虚拟时钟在请求同步时的第五虚拟时钟时间T5和对应的第五滴答数N5;
接收同步数据包,所述同步数据包由所述互联网时间服务器根据所述同步请求包而生成,包括:第二互联网时间;所述同步数据包采用所述互联网时间服务器的私钥签名;
如果所述同步数据包的签名验证通过,则基于所述第二互联网时间和所述第五滴答数N5,确定所述同步时间,其中,所述验证为利用所述互联网时间服务器的公钥进行的验证。
本步骤中,互联网时间服务器返回的同步数据包使用互联网时间服务器的私钥签名,电子设备接收该同步数据包时,利用互联网时间服务器的公钥校验签名。可选地,在离线确定所述同步时间时,还可以对同步请求包和同步数据包进行加密处理。上述用于电子设备与互联网时间服务器之间进行加密传输的密钥可以为对称密钥也可以为非对称密钥,本申请不具体限定。采用这样的实现方式,一方面可以保证数据在电子设备和互联网时间服务器之间传输的可靠性,另一方面可以确保电子设备接收到的同步数据包确实是由互联网时间服务器所签发的,而不是由其他人,例如篡改者所签发的,从而提高同步时间确定的安全、准确性。
本申请实施例提供的虚拟时钟的时间计算方法,在在线或离线场景都尽可能的做到使虚拟时钟时间与真实世界时钟时间同步,保证虚拟时钟时间的准确性。
图2为本申请实施例的虚拟时钟的时间计算方法的另一流程图。如图2所示,本申请实施例提供一种虚拟时钟的时间计算方法,包括:
S201:获取虚拟时钟前次与时间服务器同步时更新的同步时间Tb和电子设备的第三滴答数N3;
S202:获取所述电子设备当前的第四滴答数N4;
S203:基于所述第三滴答数N3、所述第四滴答数N4以及所述同步时间Tb,计算所述虚拟时钟当前的第四虚拟时钟时间T4。
步骤S201-S203的虚拟时钟的时间计算方法与上述步骤S105类似,第四虚拟时钟时间T4的计算公式可以表示为:T4=Tb+int((N4-N3)/F),其中,int((N4-N3)/F)表示将第四滴答数N4与第三滴答数N3的差值转化为时间值,int表示取整。步骤S201-S203的具体实施方法在此不再赘述。
步骤S201-S203既可以适用于电子设备上电之后首次计算所述虚拟时钟当前的时间,也可以适用于非首次计算。
本申请实施例提供的虚拟时钟的时间计算方法通过获取与时间服务器同步时更新的同步时间Tb将其作为基准时间,并获取同步时电子设备的滴答数N3以及计算时电子设备当前的第四滴答数N4,计算虚拟时钟当前的时间,无需使用电子设备的系统时间对虚拟时钟的时间进行计算,可以有效保证虚拟时钟时间的准确性。特别是利用上述方法在电子设备上电之后首次计算所述虚拟时钟当前的时间,可以解决设备掉电时时钟数据丢失,无法准确计算虚拟时钟时间的问题。
在一些实施例中,计算所述第四虚拟时钟时间T4之后,所述方法还包括:
S204:计算第四滴答数N4与第三滴答数N3的差值转化为时间值后的第三剩余滴答数d3;
S205:将所述第三剩余滴答数d3作为第三滴答数偏差Δd3进行保存,以便下次计算时使用。
在一些实施例中,所述虚拟时钟与时间服务器同步以更新同步时间,包括:
S2011:检测所述电子设备能否链接到互联网时间服务器;
S2012:若能够链接到所述互联网时间服务器,基于从所述互联网时间服务器获取的第一互联网时间,更新所述同步时间;
S2013:若不能链接到所述互联网时间服务器,则离线确定所述同步时间以进行更新。
在一些实施例中,步骤S2013中,离线确定所述同步时间,包括:
生成同步请求包,所述同步请求包包括:所述虚拟时钟在请求同步时的第五虚拟时钟时间T5和对应的第五滴答数N5;
接收同步数据包,所述同步数据包由所述互联网时间服务器根据所述同步请求包而生成,包括:第二互联网时间;
基于所述第二互联网时间和所述第五滴答数N5,确定所述同步时间。
进一步地,离线确定所述同步时间,包括:
生成同步请求包,所述同步请求包包括:所述虚拟时钟在请求同步时的第五虚拟时钟时间T5和对应的第五滴答数N5;
接收同步数据包,所述同步数据包由所述互联网时间服务器根据所述同步请求包而生成,包括:第二互联网时间;所述同步数据包采用所述互联网时间服务器的私钥签名;
如果所述同步数据包的签名验证通过,则基于所述第二互联网时间和所述第五滴答数N5,确定所述同步时间,其中,所述验证为利用所述互联网时间服务器的公钥进行的验证。
应理解,本实施例中离线确定同步时间的方式,可以采用前述实施例中各种可能的方式,此处不再赘述。
需要说明的是,在下一次计算虚拟时钟时间时,可以仍然采用以上的方法,也可以采用前述第一个实施例中的计算方法。具体来说,上述实现方式计算出来的第四虚拟时钟时间,以及对应的第四滴答数,以及第四滴答数和第三滴答数在转化后的余数,都可以被保存下来,分别作为前述实施例中的第二虚拟时钟时间、第二滴答数和第二滴答数偏差。即本实施例的方法也可以与前述第一个实施例的方法结合。当然,结合之后也会产生频繁调用时有时间偏差,影响虚拟时钟准确性的问题,亦可以采用前述的校准方法来进行校准,此处不再赘述。
图3为本申请实施例的电子设备的结构示意图。如图3所示,本申请实施例还提供一种电子设备,包括处理器301和用于储存所述处理器可执行指令的存储器302,其中,所述处理器301用于执行所述存储器中储存的所述可执行指令时实现上述的虚拟时钟的时间计算方法的步骤。
上述的处理器301可以是通用处理器,包括中央处理器CPU、网络处理器(networkprocessor,NP)等;还可以是数字信号处理器DSP、专用集成电路ASIC、现场可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
存储器302可能包括随机存取存储器(random access memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
存储器302优选为非易失性存储器(non-volatile memory),以存储前次计算时的所述第二虚拟时钟时间T2、所述第二滴答数N2和所述第二滴答数偏差Δd2,并在计算出当前的第一虚拟时钟时间T1后,保存所述第一虚拟时钟时间T1、所述第一滴答数N1以及所述第一滴答数偏差Δd1。
在一些实施例中,电子设备还包括加密模块303,以利用电子设备的硬件信息对上述数据进行加密后保存。
本领域技术人员应明白,本申请的实施例可提供为方法、装置、计算机可读存储介质或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。
当通过软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机可执行指令,所述计算机可执行指令由处理器执行时,实现上述的虚拟时钟的时间计算方法。
以上实施例仅为本申请的示例性实施例,不用于限制本申请,本申请的保护范围由权利要求书限定。本领域技术人员可以在本申请的实质和保护范围内,对本申请做出各种修改或等同替换,这种修改或等同替换也应视为落在本申请的保护范围内。
Claims (15)
1.一种虚拟时钟的时间计算方法,所述虚拟时钟应用于电子设备中,所述方法包括:
获取所述电子设备当前的第一滴答数;
获取前次计算时,所述虚拟时钟的第二虚拟时钟时间、所述电子设备的第二滴答数和第二滴答数偏差,其中,所述第二滴答数偏差为前次校准后的剩余滴答数;
基于所述第二虚拟时钟时间、所述第一滴答数、所述第二滴答数以及所述第二滴答数偏差,计算所述虚拟时钟当前的第一虚拟时钟时间。
2.如权利要求1所述的方法,其中,基于所述第二虚拟时钟时间、所述第一滴答数、所述第二滴答数以及所述第二滴答数偏差,计算所述虚拟时钟当前的第一虚拟时钟时间,包括:
计算所述第一滴答数和所述第二滴答数的差值;
计算所述差值转化为第一时间值后的第一剩余滴答数;
基于所述第二滴答数偏差和所述第一剩余滴答数之和,校准第三虚拟时钟时间,得到所述第一虚拟时钟时间;其中,所述第三虚拟时钟时间基于所述第二虚拟时钟以及所述第一时间值计算得到。
3.如权利要求2所述的方法,其中,基于所述第二滴答数偏差和所述第一剩余滴答数之和校准第三虚拟时钟时间,得到所述第一虚拟时钟时间,包括:
若所述第二滴答数偏差和所述第一剩余滴答数之和大于或等于第一预设阈值,则将所述第三虚拟时钟时间的第一时间值加一,得到所述第一虚拟时钟时间;
若所述第二滴答数偏差和所述第一剩余滴答数之和小于第一预设阈值,则将所述第三虚拟时钟时间确定为所述第一虚拟时钟时间。
4.如权利要求3所述的方法,其中,计算所述第一虚拟时钟时间之后,还包括:
若所述第二滴答数偏差和所述第一剩余滴答数之和大于或等于第一预设阈值,将所述第二滴答数偏差和所述第一剩余滴答数之和与所述第一预设阈值的差值作为第一滴答数偏差进行保存,以在下次校准时使用;
若所述第二滴答数偏差和所述第一剩余滴答数之和小于第一预设阈值,将所述第二滴答数偏差和所述第一剩余滴答数之和作为第一滴答数偏差进行保存,以在下次校准时使用。
5.如权利要求1所述的方法,其中,基于所述第二虚拟时钟时间、所述第一滴答数、所述第二滴答数以及所述第二滴答数偏差,计算所述虚拟时钟当前的第一虚拟时钟时间,包括:
计算所述第一滴答数和所述第二滴答数的差值;
将所述差值与所述第二滴答数偏差之和转化为第二时间值;
基于所述第二虚拟时钟以及所述第二时间值计算得到所述第一虚拟时钟。
6.如权利要求4所述的方法,其中,所述第二虚拟时钟时间、所述第二滴答数和所述第二滴答数偏差被保存在所述电子设备中;
所述方法还包括:
如果所述第一虚拟时钟时间与所述第二虚拟时钟时间的间隔大于第一阈值,则保存所述第一虚拟时钟时间、所述第一滴答数以及所述第一滴答数偏差;其中,所述第一阈值≥1秒。
7.如权利要求1所述的方法,其中,所述方法还包括:
如果在所述电子设备上电之后首次计算所述虚拟时钟当前的时间,则将与时间服务器同步时确定的同步时间作为所述第二虚拟时钟时间,将与所述同步时间对应的滴答数作为所述第二滴答数。
8.如权利要求7所述的方法,其中,所述虚拟时钟与时间服务器同步以确定同步时间,包括:
检测所述电子设备能否链接到互联网时间服务器;
若能够链接到所述互联网时间服务器,基于从所述互联网时间服务器获取的第一互联网时间,确定所述同步时间;
若不能链接到所述互联网时间服务器,则离线确定所述同步时间。
9.如权利要求8所述的方法,其中,离线确定所述同步时间,包括:
生成同步请求包,所述同步请求包包括:所述虚拟时钟在请求同步时的第五虚拟时钟时间和对应的第五滴答数;
接收同步数据包,所述同步数据包由所述互联网时间服务器根据所述同步请求包而生成,包括:第二互联网时间;
基于所述第二互联网时间和所述第五滴答数,确定所述同步时间。
10.如权利要求8所述的方法,其中,离线确定所述同步时间,包括:
生成同步请求包,所述同步请求包包括:所述虚拟时钟在请求同步时的第五虚拟时钟时间和对应的第五滴答数;
接收同步数据包,所述同步数据包由所述互联网时间服务器根据所述同步请求包而生成,包括:第二互联网时间;所述同步数据包采用所述互联网时间服务器的私钥签名;
如果所述同步数据包的签名验证通过,则基于所述第二互联网时间和所述第五滴答数,确定所述同步时间,其中,所述验证为利用所述互联网时间服务器的公钥进行的验证。
11.一种虚拟时钟的时间计算方法,包括:
获取虚拟时钟前次与时间服务器同步时更新的同步时间和电子设备的第三滴答数;
获取所述电子设备当前的第四滴答数;
基于所述第三滴答数、所述第四滴答数以及所述同步时间,计算所述虚拟时钟当前的第四虚拟时钟时间。
12.如权利要求11所述的方法,其中,所述虚拟时钟与时间服务器同步以更新同步时间,包括:
检测所述电子设备能否链接到互联网时间服务器;
若能够链接到所述互联网时间服务器,基于从所述互联网时间服务器获取的第一互联网时间,更新所述同步时间;
若不能链接到所述互联网时间服务器,则离线确定所述同步时间以进行更新。
13.如权利要求12所述的方法,其中,离线确定所述同步时间,包括:
生成同步请求包,所述同步请求包包括:所述虚拟时钟在请求同步时的第五虚拟时钟时间和对应的第五滴答数;
接收同步数据包,所述同步数据包由所述互联网时间服务器根据所述同步请求包而生成,包括:第二互联网时间;
基于所述第二互联网时间和所述第五滴答数,确定所述同步时间。
14.如权利要求12所述的方法,其中,离线确定所述同步时间,包括:
生成同步请求包,所述同步请求包包括:所述虚拟时钟在请求同步时的第五虚拟时钟时间和对应的第五滴答数;
接收同步数据包,所述同步数据包由所述互联网时间服务器根据所述同步请求包而生成,包括:第二互联网时间;所述同步数据包采用所述互联网时间服务器的私钥签名;
如果所述同步数据包的签名验证通过,则基于所述第二互联网时间和所述第五滴答数,确定所述同步时间,其中,所述验证为利用所述互联网时间服务器的公钥进行的验证。
15.一种电子设备,所述电子设备配置有虚拟时钟,所述电子设备包括:存储器,用于存储计算机可执行指令;处理器,用于执行所述存储器中存储的计算机可执行指令,以执行如权利要求1-14中任一项所述的虚拟时钟的时间计算方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110232119.1A CN112817371B (zh) | 2021-03-02 | 2021-03-02 | 一种虚拟时钟的时间计算方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110232119.1A CN112817371B (zh) | 2021-03-02 | 2021-03-02 | 一种虚拟时钟的时间计算方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112817371A true CN112817371A (zh) | 2021-05-18 |
CN112817371B CN112817371B (zh) | 2022-03-15 |
Family
ID=75862737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110232119.1A Active CN112817371B (zh) | 2021-03-02 | 2021-03-02 | 一种虚拟时钟的时间计算方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112817371B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007099624A1 (ja) * | 2006-03-01 | 2007-09-07 | Fujitsu Limited | コンピュータシステムの時刻管理制御方法及びコンピュータシステム |
CN102474410A (zh) * | 2009-07-24 | 2012-05-23 | 阿尔卡特朗讯公司 | 高精度同步方法和系统 |
JP2014191723A (ja) * | 2013-03-28 | 2014-10-06 | Hitachi Ltd | 仮想デバイスタイムアウト時間算出装置、方法、およびプログラム |
CN106372462A (zh) * | 2016-08-31 | 2017-02-01 | 北京深思数盾科技股份有限公司 | 离线状态下对软件实现时间限制的方法 |
CN108964819A (zh) * | 2017-05-19 | 2018-12-07 | 华为技术有限公司 | 一种时钟调整、时钟偏差计算方法、设备及系统 |
CN110266420A (zh) * | 2019-04-29 | 2019-09-20 | 北京达佳互联信息技术有限公司 | 时钟同步方法、时钟同步装置和计算机可读存储介质 |
-
2021
- 2021-03-02 CN CN202110232119.1A patent/CN112817371B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007099624A1 (ja) * | 2006-03-01 | 2007-09-07 | Fujitsu Limited | コンピュータシステムの時刻管理制御方法及びコンピュータシステム |
CN102474410A (zh) * | 2009-07-24 | 2012-05-23 | 阿尔卡特朗讯公司 | 高精度同步方法和系统 |
JP2014191723A (ja) * | 2013-03-28 | 2014-10-06 | Hitachi Ltd | 仮想デバイスタイムアウト時間算出装置、方法、およびプログラム |
CN106372462A (zh) * | 2016-08-31 | 2017-02-01 | 北京深思数盾科技股份有限公司 | 离线状态下对软件实现时间限制的方法 |
CN108964819A (zh) * | 2017-05-19 | 2018-12-07 | 华为技术有限公司 | 一种时钟调整、时钟偏差计算方法、设备及系统 |
CN110266420A (zh) * | 2019-04-29 | 2019-09-20 | 北京达佳互联信息技术有限公司 | 时钟同步方法、时钟同步装置和计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112817371B (zh) | 2022-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2017291490B2 (en) | Systems and methods for controlling isochronous data streams | |
CN109818826B (zh) | 一种网络路径延迟测量方法及其装置与时间同步系统 | |
CN105915308B (zh) | 一种时间同步方法、装置及系统 | |
CN111162971B (zh) | 一种时延确定方法及装置 | |
CN106372462A (zh) | 离线状态下对软件实现时间限制的方法 | |
CN112462846A (zh) | 时钟校正方法、装置、计算机设备及存储介质 | |
JP2007293861A (ja) | ハイブリッド型コンピュータセキュリティクロック | |
CN112817371B (zh) | 一种虚拟时钟的时间计算方法及电子设备 | |
CN110830138A (zh) | 一种信息处理方法、电子设备及服务器 | |
CN111212472B (zh) | 一种误差的控制方法、装置及计算机可读存储介质 | |
CN116932047A (zh) | 数据传输方法、装置、电子设备和可读存储介质 | |
CN110868268A (zh) | 本地时间的对时方法、装置、计时设备和存储介质 | |
CN114845142A (zh) | 数据记录方法、装置、电子设备及存储介质 | |
CN114499816B (zh) | 时钟同步的方法、装置、终端设备及可读存储介质 | |
CN114222148B (zh) | 倒计时控制方法、装置、存储介质及计算机设备 | |
CN115459897B (zh) | 电力实时仿真中的步长同步校准方法、装置及相关设备 | |
US20230377400A1 (en) | Digital-currency-based method for vote counting and vote counting system | |
CN107295175A (zh) | 一种移动终端电量的显示控制方法、装置、存储介质及移动终端 | |
JP2004265090A (ja) | タイムスタンプシステム及びそのプログラム | |
JP2022537629A (ja) | ポータブルデジタル記録デバイスの時間の追跡および確認 | |
JP4572031B2 (ja) | 回線品質監視装置 | |
TW200821794A (en) | Method for updating the timing of a baseboard management controller | |
CN116744162A (zh) | 时间同步方法、电子设备、芯片及可读存储介质 | |
CN117579208A (zh) | 治水设备时间同步方法、装置、设备及存储介质 | |
CN116560727A (zh) | 数据读取方法、装置、电子设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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 | ||
CP01 | Change in the name or title of a patent holder |
Address after: 100193 5th floor 510, No. 5 Building, East Yard, No. 10 Wangdong Road, Northwest Haidian District, Beijing Patentee after: Beijing Shendun Technology Co.,Ltd. Address before: 100193 5th floor 510, No. 5 Building, East Yard, No. 10 Wangdong Road, Northwest Haidian District, Beijing Patentee before: BEIJING SENSESHIELD TECHNOLOGY Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |