CN114499732A - 一种时钟校准方法、装置、计算机设备及可读存储介质 - Google Patents
一种时钟校准方法、装置、计算机设备及可读存储介质 Download PDFInfo
- Publication number
- CN114499732A CN114499732A CN202210120423.1A CN202210120423A CN114499732A CN 114499732 A CN114499732 A CN 114499732A CN 202210120423 A CN202210120423 A CN 202210120423A CN 114499732 A CN114499732 A CN 114499732A
- Authority
- CN
- China
- Prior art keywords
- time
- multimedia
- clock
- local
- local time
- 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
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000012937 correction Methods 0.000 claims abstract description 51
- 230000002159 abnormal effect Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 13
- 239000013078 crystal Substances 0.000 claims description 9
- 230000010355 oscillation Effects 0.000 claims description 9
- 238000012544 monitoring process Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 abstract description 3
- 238000012545 processing Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/0667—Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Electric Clocks (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本申请实施例中提供了一种时钟校准方法、装置、计算机设备及可读存储介质,包括:首先从系统本地时钟获取用于确定播出控制软件的多媒体设备控制时间的第一本地时间以及多媒体计数器的第一计数值,再按照预设间隔时间获取第二本地时间以及第二计数值;计算第一本地时间与第二本地时间的时钟差值;在时钟差值未超过预设时钟差值阈值的情况下,将第二本地时间作为第一本地时间;在时钟差值超过预设时钟差值阈值的情况下,根据第一本地时间、第一计数值和第二计数值计算得到多媒体计数器校正时间,并将多媒体计数器校正时间作为第一本地时间,如此设计,无论外部校准系统或系统本地时钟运行错误造成的时间跳变都不会影响软件时间的精确运行。
Description
技术领域
本申请涉及广播电视技术,具体地,涉及一种时钟校准方法、装置、计算机设备及可读存储介质。
背景技术
广播电视播出控制系统要求对下游多媒体设备达到帧精度的精确控制。播出控制软件根据可配置的提前发送时间发送控制指令,控制下游多媒体设备在预定的播出时间点执行播放或切换等操作。如果播出控制软件的多媒体设备控制时间发生跳变将会造成播出时间错误,引发播出事故。
而在现有技术中,一般只能依靠外部服务,例如NTP(Network Time Protocol,网络时间协议)服务实现校准,但由于NTP服务的承载能力有限,无法将校时间隔设置为足够小,一般为30s左右。在两次向服务端获取时间的间隔中,若发生PC本地时钟跳变,就会立刻影响播出控制软件的时间,且需要等到下次向NTP服务端获取时间时才能恢复,时间过长。同时,如果NTP校时系统出现故障,影响到PC本地时钟使其发生跳变,也会立即引起播出控制软件时钟跳变,进而影响对下游多媒体设备的精确控制。
发明内容
本申请实施例中提供了一种时钟校准方法、装置、计算机设备及可读存储介质。
第一方面,本申请实施例提供一种时钟校准方法,应用于计算机设备,计算机设备运行有系统本地时钟和基于计算机设备的主板晶振振荡频率确定的多媒体计数器,方法包括:
从系统本地时钟获取第一本地时间,并记录第一本地时间对应的多媒体计数器的第一计数值,其中,第一本地时间用于确定播出控制软件的多媒体设备控制时间;
按照预设间隔时间从系统本地时钟获取第二本地时间,以及从多媒体计数器获取第二本地时间对应的第二计数值,其中,预设间隔时间是基于播出控制软件确定的;
计算第一本地时间与第二本地时间的时钟差值;
在时钟差值未超过预设时钟差值阈值的情况下,将第二本地时间作为第一本地时间,以使多媒体设备控制时间跟随系统本地时钟;
在时钟差值超过预设时钟差值阈值的情况下,根据第一本地时间、第一计数值和第二计数值计算得到多媒体计数器校正时间,并将多媒体计数器校正时间作为第一本地时间,以使多媒体设备控制时间跟随多媒体计数器。
在一种可能的实施方式中,根据第一本地时间、第一计数值和第二计数值计算得到多媒体计数器校正时间,包括:
计算第一计数值和第二计数值的计数值差值;
确定计数值差值表征的计时器时间;
将第一本地时间与计时器时间的和作为多媒体计数器校正时间。
在一种可能的实施方式中,预设间隔时间通过以下方式获取:
获取播出控制软件对应的播出软件信息;
从播出软件信息中获取播出控制软件界面帧;
根据播出控制软件界面帧对应的刷新时间确定预设间隔时间。
在一种可能的实施方式中,计算机设备与多媒体设备通信连接,计算机设备基于多媒体设备控制时间对多媒体设备进行控制,预设时钟差值阈值通过以下方式获取:
获取控制多媒体设备所需的控制线程;
根据控制线程的最大间隔,确定预设时钟差值阈值。
在一种可能的实施方式中,在从系统本地时钟获取第一本地时间之前,方法还包括:
判断是否接收到外部输入的多媒体设备控制指令;
若是,则执行从系统本地时钟获取第一本地时间,并记录第一本地时间对应的多媒体计数器的第一计数值的步骤;
若否,则监控是否接收到多媒体设备控制指令。
在一种可能的实施方式中,计算机设备与校时系统通信连接,在时钟差值超过预设时钟差值阈值的情况下,方法还包括:
生成警告信息,其中,警告信息包括系统本地时钟的本地时间信息和校时系统的校时系统信息;
在本地时间信息异常的情况下,响应于外部校正指令对系统本地时钟进行校正操作;
在校时系统信息异常的情况下,发送校正指令至校时系统,以使校时系统进行校正操作;
在接收到系统本地时钟或者校时系统反馈的校正完成指令的情况下,从系统本地时钟获取第三本地时间;
将第三本地时间作为第一本地时间,以使多媒体设备控制时间跟随系统本地时钟。
在一种可能的实施方式中,方法还包括:
当检测到设备开机指令的情况下,发送计时指示至多媒体计数器,以使多媒体计数器每过预设单位时间将计数值加1,其中,多媒体计数器的初始计数值为0。
第二方面,本申请实施例提供一种时钟校准装置,应用于计算机设备,计算机设备运行有系统本地时钟和基于计算机设备的主板晶振振荡频率确定的多媒体计数器,装置包括:
获取模块,用于从系统本地时钟获取第一本地时间,并记录第一本地时间对应的多媒体计数器的第一计数值,其中,第一本地时间用于确定播出控制软件的多媒体设备控制时间;
计算模块,用于按照预设间隔时间从系统本地时钟获取第二本地时间,以及从多媒体计数器获取第二本地时间对应的第二计数值;计算第一本地时间与第二本地时间的时钟差值;
校时模块,用于在时钟差值未超过预设时钟差值阈值的情况下,将第二本地时间作为第一本地时间,以使多媒体设备控制时间跟随系统本地时钟;在时钟差值超过预设时钟差值阈值的情况下,根据第一本地时间、第一计数值和第二计数值计算得到多媒体计数器校正时间,并将多媒体计数器校正时间作为第一本地时间,以使多媒体设备控制时间跟随多媒体计数器。
第三方面,本申请实施例提供一种计算机设备,计算机设备包括处理器及存储有计算机指令的非易失性存储器,计算机指令被处理器执行时,计算机设备执行第一方面至少一种可能的实施方式中的时钟校准方法。
第四方面,本申请实施例一种可读存储介质,可读存储介质包括计算机程序,计算机程序运行时控制可读存储介质所在计算机设备执行第一方面至少一种可能的实施方式中的时钟校准方法。
采用本申请实施例中提供的一种时钟校准方法、装置、计算机设备及可读存储介质,通过从系统本地时钟获取用于确定播出控制软件的多媒体设备控制时间的第一本地时间以及多媒体计数器的第一计数值,然后按照预设间隔时间从系统本地时钟获取第二本地时间以及从多媒体计数器的第二计数值;接着计算第一本地时间与第二本地时间的时钟差值;在时钟差值未超过预设时钟差值阈值的情况下,将第二本地时间作为第一本地时间;在时钟差值超过预设时钟差值阈值的情况下,根据第一本地时间、第一计数值和第二计数值计算得到多媒体计数器校正时间,并将多媒体计数器校正时间作为第一本地时间,如此设计,无论外部校准系统或系统本地时钟运行错误造成的时间跳变都不会影响软件时间的精确运行。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的时钟校准系统的场景交互示意图;
图2为本申请实施例提供的时钟校准方法的步骤流程示意图;
图3为本申请实施例提供的用于执行图2中时钟校准方法的时钟校准装置的结构示意框图;
图4为本申请实施例提供的用于执行图2中时钟校准方法的计算机设备的结构示意框图。
具体实施方式
在实现本申请的过程中,发明人发现,播出控制软件用于控制下游多媒体设备的时间实时跟随系统本地时钟(PC本地时钟,personal computer本地时钟),但由于PC本地时钟运行精度较低,目前依靠外部服务对PC本地时钟的周期性校准来间接保证播出控制软件的时间精确性。而播出控制软件达到帧精度控制需求的时间精度较高,虽然使用NTP校时系统对PC本地时钟定期进行校准,可以满足此要求,但也导致了播出控制软件的时间过度依赖NTP校时系统,一旦NTP校时系统出现问题,就会对下游多媒体设备造成影响。
针对上述问题,本申请实施例中提供了一种时钟校准方法、装置、计算机设备及可读存储介质,巧妙地利用了计算机设备本身具有的系统主板晶振振荡频率运行一个多媒体计数器,并以此获取预设间隔时间的第一本地时间和第二本地时间,配合第一本地时间和第二本地时间对应的多媒体计数器的第一计数值和第二计数值进行当前系统本地时间是否准确的判断,并在当前系统本地时间正常的情况下继续使用系统本地时间作为播出控制软件的时间,在当前系统本地时间异常的情况下切换至多媒体计数器确定的时间作为播出控制软件的时间。
为了使本申请实施例中的技术方案及优点更加清楚明白,以下结合附图对本申请的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本申请的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
请结合参阅图1,图1为本申请实施例提供的时钟校准系统的场景交互示意图,时钟校准系统可以包括计算机设备100,以及与计算机设备100通信连接的多媒体设备200和校时系统300,其中,多媒体设备200可以是指在节目播出场景的多媒体设备200,例如,视频服务器、切换台等需要精准时钟控制的设备,而计算机设备100则可以作为控制多媒体设备200的播出控制软件的硬件载体,而校时系统300则可以是为计算机设备100提供本地时钟校准的外部系统,例如NTP(Network Time Protocol,网络时间协议)系统,在本申请实施例中,计算机设备100除了运行有系统本地时钟以外,还运行有基于计算机设备100自身的主板晶振振荡频率确定的多媒体计数器。在本申请实施例提供的其他实施方式中,时钟校准系统也可以包括更多或者更少的组件,在此不做限制。
请结合参阅图2,图2为本申请实施例提供的时钟校准方法的步骤流程示意图,该时钟校准方法可以由图1中的计算机设备100作为执行主体执行实施,下面对该时钟校准方法进行详细的描述。
步骤S201,从系统本地时钟获取第一本地时间,并记录第一本地时间对应的多媒体计数器的第一计数值。
其中,第一本地时间用于确定播出控制软件的多媒体设备控制时间。
步骤S202,按照预设间隔时间从系统本地时钟获取第二本地时间,以及从多媒体计数器获取第二本地时间对应的第二计数值。
其中,预设间隔时间是基于播出控制软件确定的。
步骤S203,计算第一本地时间与第二本地时间的时钟差值。
步骤S204,在时钟差值未超过预设时钟差值阈值的情况下,将第二本地时间作为第一本地时间,以使多媒体设备控制时间跟随系统本地时钟。
步骤S205,在时钟差值超过预设时钟差值阈值的情况下,根据第一本地时间、第一计数值和第二计数值计算得到多媒体计数器校正时间,并将多媒体计数器校正时间作为第一本地时间,以使多媒体设备控制时间跟随多媒体计数器。
在本申请实施例中,运行在计算机设备100上的播出控制软件可以先从系统本地时钟获取第一本地时间,同时从多媒体计数器获取当前时刻的第一计数值,其中,第一本地时间和第一计数值对应。例如,获取的第一本地时间可以是“8:00:00:000”,此时多媒体计数器计数的数值为“1000”,那么第一本地时间“8:00:00:000”与第一计数值“1000”对应。而在本申请实施例中,可以先以第一本地时间作为播出控制软件的多媒体设备控制时间,即令多媒体设备控制时间跟随系统本地时钟进行时钟的控制。然后可以按照基于播出控制软件确定的预设间隔时间从系统本地时钟获取第二本地时间,以及从多媒体计数器获取第二本地时间对应的第二计数值,例如,经过间隔后,获取的第二本地时间可以是“8:00:01:000”,而此时第二计数值为“2000”,进而可以计算第一本地时间和第二本地时间之间的差值是否超过预设时钟差值阈值。若未超过,则可以认为校时系统300与计算机设备100均没有出现故障,是稳定的,时钟没有发生跳变等故障,因此可以继续令多媒体设备控制时间跟随系统本地时钟,即将第二本地时间作为第一本地时间。若超过,则可以认为此时校时系统300或者计算机设备100出现故障,此时本地时钟已经不稳定,例如已经出现了跳变的情况,因此可以根据第一本地时间、第一计数值和第二计数值计算得到多媒体计数器校正时间,并将多媒体计数器校正时间作为第一本地时间,以此实现令多媒体设备控制时间跟随多媒体计数器的目的。
如此设计,能够在由外部校准系统支撑的系统本地时钟出现故障时,快速将播出控制软件的控制时间切换至由多媒体计数器确定的时间,避免了软件时间跳变的情况出现,无论外部校准系统或系统本地时钟运行错误造成的时间跳变都不会影响软件时间的精确运行,且不受限于外部时钟校准系统的承载能力。
在一种可能的实施方式中,前述步骤S205可以通过以下的实施步骤执行实施。
子步骤S205-1,计算第一计数值和第二计数值的计数值差值。
子步骤S205-2,确定计数值差值表征的计时器时间。
子步骤S205-3,将第一本地时间与计时器时间的和作为多媒体计数器校正时间。
在本申请实施例中,多媒体计数器校正时间可以通过以下公式计算得到。T’=C2-C1+T0,其中,T’为多媒体计数器校正时间,C2为第二计数值,C1为第一计数值,T0为第一本地时间。而第一计数值C1和第二计数值C2的差值能够表征多媒体计数器的计时器时间,例如,C2为“1100”次,C1为“1000”次,而预设间隔时间可以为“20ms”,那么计时器时间则为“(1100-1000)*20ms=2s”,第一本地时间T0可以为“8:00:04:000”,那么多媒体计数器校正时间则为“8:00:04:000+00:00:02:000=8:00:06:000”,可以将“8:00:06:000”作为最新的第一本地时间,并以此进行计时,实现了使播出控制软件的时间依据多媒体计数器校正时间进行校正的方案。
在一种可能的实施方式中,本申请实施例提供了一种预设间隔时间获取方式的示例。
步骤S301,获取播出控制软件对应的播出软件信息。
步骤S302,从播出软件信息中获取播出控制软件界面帧。
步骤S303,根据播出控制软件界面帧对应的刷新时间确定预设间隔时间。
在本申请实施例中,为了能够获取预设间隔时间,可以先获取播出控制软件对应的播出软件信息,并从中获取播出控制软件界面帧,其原因在于播出控制软件会由界面线程和设备控制线程触发获取时间的动作,正常情况下,界面线程由于需要刷新界面帧计数,而在本申请实施例中,计算机设备100所在的系统可以是4K超高清系统,其帧率为50Hz,即每帧20ms,那最大获取时间的间隔不会超过20ms,,即可以将预设间隔时间设置为20ms,在本申请实施例的其他实施方式中,也可以选择其他时间,在此不做限制。
在一种可能的实施方式中,请再次参考图1,计算机设备100与多媒体设备200通信连接,计算机设备100基于播出控制软件的多媒体设备控制时间对多媒体设备200进行控制,本申请实施例提供以下预设时钟差值阈值的获取示例。
步骤S401,获取控制多媒体设备200所需的控制线程。
步骤S402,根据控制线程的最大间隔,确定预设时钟差值阈值。
如前所描述的,控制软件会由界面线程和设备控制线程触发获取时间的动作,而界面线程有时可能会出现卡顿的情况,此时就会影响界面线程获取时钟动作的间隔,而播出控制软件在正常工作的前提下,控制线程是不会出现卡顿的。因此为了防止时钟防跳变机制出现误判,防跳变值应该大于设备控制线程获取时间的最大间隔,例如,控制线程的最大间隔可以为1s,在此情况下,预设时钟差值阈值至少因为1s,例如,可以为2s,应当理解的是,确定的预设时钟差值阈值可以是指预设时钟差值阈值的最小值,只要满足该值,均可以得到合适的预设时钟差值阈值,在此不做限定。
在一种可能的实施方式中,在执行前述步骤S201之前,本申请实施例提供以下示例。
步骤S206,判断是否接收到外部输入的多媒体设备控制指令。
若是,则执行前述步骤S201。
若否,则执行步骤S207。
步骤S207,监控是否接收到多媒体设备控制指令。
在本申请实施例中,为了能够节约计算机设备100的计算资源,可以判断是否接收到外部输入的多媒体设备控制指令,应当理解的是,一旦用户开始运行播出控制软件,通过播出控制软件发出任何用于控制多媒体设备的多媒体设备控制指令,可以触发界面刷新或设备控制线程的操作,进而触发获取时间的操作,因此当接收到多媒体设备控制指令对后,可以进行上述步骤S201至步骤S206的操作,以预防播出控制软件的跳变的情况出现。值得说明的是,上述界面刷新是持续存在的,而非基于多媒体设备控制指令产生的。
在一种可能的实施方式中,请再次参考图1,计算机设备100与校时系统300通信连接,在时钟差值超过预设时钟差值阈值的情况下,本申请实施例提供以下进行警告的示例。
步骤S208,生成警告信息。
其中,警告信息包括系统本地时钟的本地时间信息和校时系统300的校时系统信息。
步骤S209,在本地时间信息异常的情况下,响应于外部校正指令对系统本地时钟进行校正操作。
步骤S210,在校时系统信息异常的情况下,发送校正指令至校时系统300,以使校时系统300进行校正操作。
步骤S211,在接收到系统本地时钟或者校时系统300反馈的校正完成指令的情况下,从系统本地时钟获取第三本地时间。
步骤S212,将第三本地时间作为第一本地时间,以使多媒体设备控制时间跟随系统本地时钟。
在本申请实施例中,当时钟差值超过预设时钟差值阈值的情况下,可以判定系统本地时钟或者校时系统300已经出现问题,为了防止时钟跳变等情况出现,可以如前所描述的参考多媒体计数器确定的时间作为播出控制软件的参考时间。而后为了能够使后续的播出控制软件的参考时间继续跟随系统本地时间,可以进行故障判断,示例性的,可以判断是本地时间信息异常还是校时系统信息异常,在校时系统信息异常的情况下,可以发送校正指令至校时系统300,以便校时系统300侧的运维人员进行故障检修,在本地时间信息异常的情况下,由计算机设备100侧的运维人员对系统本地时钟进行调整,例如利用输入的外部校正指令将系统本地时间调整至正确时间。不论出现上述两种情况中的哪种,在故障处理完成后,可以重新从系统本地时钟获取第三本地时间,并将第三本地时间作为第一本地时间,以使多媒体设备控制时间跟随系统本地时钟。
在一种可能的实施方式中,本申请实施例还提供以下示例:
当检测到设备开机指令的情况下,发送计时指示至多媒体计数器,以使多媒体计数器每过预设单位时间将计数值加1,其中,多媒体计数器的初始计数值为0。
在本申请实施例中,多媒体计数器可以在计算机设备100启动时开始计时,即在检测到外部输入的多媒体设备控制指令(例如开机指令)时开始计时。如此设计,能够保证利用系统主板晶振振荡频率运行的多媒体计数器可以时刻保持运作状态,以此准确地应对播出控制软件可能出现的时钟跳变问题。示例性的,可以从“0”开始计时,每间隔1ms计数值增加1,以此实现多媒体计时器的计时作用。
为了能够更加清楚的描述本申请实施例提供的方案,下面对本申请实施例提供的方案进行较为全面的示例性说明。
在计算机设备100启动后,由计算机设备100的系统主板晶振振荡频率运行一个多媒体计数器,多媒体计数器从“0”开始按照每1ms增加1的方式开始计数,同时计算机设备100与外部校时系统300建立通信连接,使用外部时间初始化计算机设备本地时间。计算机设备100接收到多媒体设备控制指令后,开始从系统本地时钟获取第一本地时间。例如“9:00:00:000”,并记录此时多媒体计数器的第一计数值“1000”次,然后在预设时间间隔,例如20ms后,从系统本地时钟获取第二本地时间,以及记录此时多媒体计数器的第二计数值“2000”次。可以预先设置预设时钟差值阈值为2s。
示例性的,第二本地时间可以是“9:00:01:000”,在此情况下,第一本地时间和第二本地时间的差值为“1s”,并没有超过预设时钟差值阈值2s,可以认为此时的系统本地时钟并没有出现问题,因此可以将该第二本地时间“9:00:01:000”作为新的第一本地时间。
示例性的,第二本地时间可以是“9:00:03:000”,在此情况下,第一本地时间和第二本地时间的差值为“3s”,超过了预设时钟差值阈值2s,可以认为此时已经发生了跳变,出现了故障。为了能够保证播出控制软件的精确运行,可以获取前一次的系统本地时间以及多媒体计数器的计数值,即第一本地时间“9:00:00:000”以及第一计数值“1000”次,配合第二计数值“2000”次,根据公式“9:00:00:000+(1100-1000)*1ms”计算得到多媒体计数器校正时间“9:00:01:000”,并将该多媒体计数器校正时间“9:00:01:000”作为新的第一本地时间。
应当理解的是,在每次接收到多媒体设备控制指令后,即用户通过播出控制软件想要获取时间进行应用时,均可以通过上述步骤实现播出控制软件能够精确保持时间的目的。
本申请实施例提供一种时钟校准装置110,应用于计算机设备100,计算机设备100运行有系统本地时钟和基于计算机设备100的主板晶振振荡频率确定的多媒体计数器,请结合参阅图3,时钟校准装置110包括:
获取模块1101,用于从系统本地时钟获取第一本地时间,并记录第一本地时间对应的多媒体计数器的第一计数值,其中,第一本地时间用于确定播出控制软件的多媒体设备控制时间。
计算模块1102,用于按照预设间隔时间从系统本地时钟获取第二本地时间,以及从多媒体计数器获取第二本地时间对应的第二计数值;计算第一本地时间与第二本地时间的时钟差值。
校时模块1103,用于在时钟差值未超过预设时钟差值阈值的情况下,将第二本地时间作为第一本地时间,以使多媒体设备控制时间跟随系统本地时钟;在时钟差值超过预设时钟差值阈值的情况下,根据第一本地时间、第一计数值和第二计数值计算得到多媒体计数器校正时间,并将多媒体计数器校正时间作为第一本地时间,以使多媒体设备控制时间跟随多媒体计数器。
在一种可能的实施方式中,校时模块1103具体用于:
计算第一计数值和第二计数值的计数值差值;确定计数值差值表征的计时器时间;将第一本地时间与计时器时间的和作为多媒体计数器校正时间。
在一种可能的实施方式中,获取模块1101还用于:
获取播出控制软件对应的播出软件信息;从播出软件信息中获取播出控制软件界面帧;根据播出控制软件界面帧对应的刷新时间确定预设间隔时间。
在一种可能的实施方式中,计算机设备100与多媒体设备200通信连接,计算机设备100基于多媒体设备控制时间对多媒体设备200进行控制,获取模块1101还用于:
获取控制多媒体设备200所需的控制线程;根据控制线程的最大间隔,确定预设时钟差值阈值。
在一种可能的实施方式中,获取模块1101还用于:
判断是否接收到外部输入的多媒体设备控制指令;若是,则执行从系统本地时钟获取第一本地时间,并记录第一本地时间对应的多媒体计数器的第一计数值的步骤;若否,则监控是否接收到多媒体设备控制指令。
在一种可能的实施方式中,计算机设备100与校时系统300通信连接,在时钟差值超过预设时钟差值阈值的情况下,校时模块1103还用于:
生成警告信息,其中,警告信息包括系统本地时钟的本地时间信息和校时系统300的校时系统信息;在本地时间信息异常的情况下,响应于外部校正指令对系统本地时钟进行校正操作;在校时系统信息异常的情况下,发送校正指令至校时系统300,以使校时系统300进行校正操作;在接收到系统本地时钟或者校时系统300反馈的校正完成指令的情况下,从系统本地时钟获取第三本地时间;将第三本地时间作为第一本地时间,以使多媒体设备控制时间跟随系统本地时钟。
需要说明的是,前述时钟校准装置110的实现原理可以参考前述时钟校准方法的实现原理,在此不再赘述。应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,获取模块1101可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上获取模块1101的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所描述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(application specific integrated circuit,ASIC),或,一个或多个微处理器(digital signal processor,DSP),或,一个或者多个现场可编程门阵列(field programmable gate array,FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(centralprocessing unit,CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。
本发明实施例提供一种计算机设备100,计算机设备100包括处理器及存储有计算机指令的非易失性存储器,计算机指令被处理器执行时,计算机设备100执行前述的时钟校准装置110。如图4所示,图4为本发明实施例提供的计算机设备100的结构框图。计算机设备100包括时钟校准装置110、存储器111、处理器112及通信单元113。
为实现数据的传输或交互,存储器111、处理器112以及通信单元113各元件相互之间直接或间接地电性连接。例如,可通过一条或多条通讯总线或信号线实现这些元件相互之间电性连接。时钟校准装置110包括至少一个可以软件或固件(firmware)的形式存储于存储器111中或固化在计算机设备100的操作系统(operating system,OS)中的软件功能模块。处理器112用于执行存储器111中存储的时钟校准装置110,例如时钟校准装置110所包括的软件功能模块及计算机程序等。
本发明实施例提供一种可读存储介质,可读存储介质包括计算机程序,计算机程序运行时控制可读存储介质所在计算机设备执行前述的时钟校准方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种时钟校准方法,其特征在于,应用于计算机设备,所述计算机设备运行有系统本地时钟和基于所述计算机设备的主板晶振振荡频率确定的多媒体计数器,所述方法包括:
从所述系统本地时钟获取第一本地时间,并记录第一本地时间对应的所述多媒体计数器的第一计数值,其中,所述第一本地时间用于确定播出控制软件的多媒体设备控制时间;
按照预设间隔时间从所述系统本地时钟获取第二本地时间,以及从所述多媒体计数器获取所述第二本地时间对应的第二计数值,其中,所述预设间隔时间是基于所述播出控制软件确定的;
计算所述第一本地时间与所述第二本地时间的时钟差值;
在所述时钟差值未超过预设时钟差值阈值的情况下,将所述第二本地时间作为所述第一本地时间,以使所述多媒体设备控制时间跟随所述系统本地时钟;
在所述时钟差值超过预设时钟差值阈值的情况下,根据所述第一本地时间、所述第一计数值和所述第二计数值计算得到多媒体计数器校正时间,并将所述多媒体计数器校正时间作为所述第一本地时间,以使所述多媒体设备控制时间跟随所述多媒体计数器。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一本地时间、所述第一计数值和所述第二计数值计算得到多媒体计数器校正时间,包括:
计算所述第一计数值和所述第二计数值的计数值差值;
确定所述计数值差值表征的计时器时间;
将所述第一本地时间与所述计时器时间的和作为所述多媒体计数器校正时间。
3.根据权利要求1所述的方法,其特征在于,所述预设间隔时间通过以下方式获取:
获取所述播出控制软件对应的播出软件信息;
从所述播出软件信息中获取所述播出控制软件界面帧;
根据所述播出控制软件界面帧对应的刷新时间确定所述预设间隔时间。
4.根据权利要求1所述的方法,其特征在于,所述计算机设备与多媒体设备通信连接,所述计算机设备基于所述多媒体设备控制时间对所述多媒体设备进行控制,所述预设时钟差值阈值通过以下方式获取:
获取控制所述多媒体设备所需的控制线程;
根据所述控制线程的最大间隔,确定所述预设时钟差值阈值。
5.根据权利要求1所述的方法,其特征在于,在所述从所述系统本地时钟获取第一本地时间之前,所述方法还包括:
判断是否接收到外部输入的多媒体设备控制指令;
若是,则执行所述从所述系统本地时钟获取第一本地时间,并记录第一本地时间对应的所述多媒体计数器的第一计数值的步骤;
若否,则监控是否接收到所述多媒体设备控制指令。
6.根据权利要求1所述的方法,其特征在于,所述计算机设备与校时系统通信连接,在所述时钟差值超过预设时钟差值阈值的情况下,所述方法还包括:
生成警告信息,其中,所述警告信息包括所述系统本地时钟的本地时间信息和所述校时系统的校时系统信息;
在所述本地时间信息异常的情况下,响应于外部校正指令对系统本地时钟进行校正操作;
在所述校时系统信息异常的情况下,发送校正指令至所述校时系统,以使所述校时系统进行校正操作;
在接收到所述系统本地时钟或者所述校时系统反馈的校正完成指令的情况下,从所述系统本地时钟获取第三本地时间;
将所述第三本地时间作为所述第一本地时间,以使所述多媒体设备控制时间跟随所述系统本地时钟。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当检测到设备开机指令的情况下,发送计时指示至所述多媒体计数器,以使所述多媒体计数器每过预设单位时间将计数值加1,其中,所述多媒体计数器的初始计数值为0。
8.一种时钟校准装置,其特征在于,应用于计算机设备,所述计算机设备运行有系统本地时钟和基于所述计算机设备的主板晶振振荡频率确定的多媒体计数器,所述装置包括:
获取模块,用于从所述系统本地时钟获取第一本地时间,并记录第一本地时间对应的所述多媒体计数器的第一计数值,其中,所述第一本地时间用于确定播出控制软件的多媒体设备控制时间;
计算模块,用于按照预设间隔时间从所述系统本地时钟获取第二本地时间,以及从所述多媒体计数器获取所述第二本地时间对应的第二计数值;计算所述第一本地时间与所述第二本地时间的时钟差值;
校时模块,用于在所述时钟差值未超过预设时钟差值阈值的情况下,将所述第二本地时间作为所述第一本地时间,以使所述多媒体设备控制时间跟随所述系统本地时钟;在所述时钟差值超过预设时钟差值阈值的情况下,根据所述第一本地时间、所述第一计数值和所述第二计数值计算得到多媒体计数器校正时间,并将所述多媒体计数器校正时间作为所述第一本地时间,以使所述多媒体设备控制时间跟随所述多媒体计数器。
9.一种计算机设备,其特征在于,所述计算机设备包括处理器及存储有计算机指令的非易失性存储器,所述计算机指令被所述处理器执行时,所述计算机设备执行权利要求1-7中任意一项所述的时钟校准方法。
10.一种可读存储介质,其特征在于,所述可读存储介质包括计算机程序,所述计算机程序运行时控制所述可读存储介质所在计算机设备执行权利要求1-7中任意一项所述的时钟校准方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210120423.1A CN114499732B (zh) | 2022-02-09 | 2022-02-09 | 一种时钟校准方法、装置、计算机设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210120423.1A CN114499732B (zh) | 2022-02-09 | 2022-02-09 | 一种时钟校准方法、装置、计算机设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114499732A true CN114499732A (zh) | 2022-05-13 |
CN114499732B CN114499732B (zh) | 2023-11-17 |
Family
ID=81478523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210120423.1A Active CN114499732B (zh) | 2022-02-09 | 2022-02-09 | 一种时钟校准方法、装置、计算机设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114499732B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115309234A (zh) * | 2022-10-10 | 2022-11-08 | 北京奥星贝斯科技有限公司 | 确定tsc频率的方法及装置、计算机可读存储介质 |
CN116999024A (zh) * | 2023-05-26 | 2023-11-07 | 荣耀终端有限公司 | 生理参数检测方法、电子设备、存储介质及程序产品 |
CN117251022A (zh) * | 2023-11-17 | 2023-12-19 | 苏州元脑智能科技有限公司 | 绝对时间的获取方法、装置、存储介质及电子装置 |
WO2024001780A1 (zh) * | 2022-06-27 | 2024-01-04 | 华为技术有限公司 | 时钟校准方法、电子设备及计算机可读存储介质 |
CN117742447A (zh) * | 2024-02-21 | 2024-03-22 | 南京云程半导体有限公司 | 时钟自适应调整方法及控制器 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101754098A (zh) * | 2008-12-18 | 2010-06-23 | 大唐移动通信设备有限公司 | 一种系统时间通知方法、系统及装置 |
CN103189099A (zh) * | 2010-10-29 | 2013-07-03 | 美敦力公司 | 基于高精度基准时钟的低功率系统时钟校准 |
US20150304526A1 (en) * | 2014-02-08 | 2015-10-22 | Clearone, Inc. | External video locking and synchronization device |
CN105516777A (zh) * | 2015-12-14 | 2016-04-20 | 广东欧珀移动通信有限公司 | 一种媒体流间同步的方法和装置 |
CN110032461A (zh) * | 2019-02-02 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 一种显示时刻异常的确定方法及装置 |
JP2020150356A (ja) * | 2019-03-12 | 2020-09-17 | Necプラットフォームズ株式会社 | カウンタ装置、システム時刻算出装置、情報処理装置、制御方法、時刻の算出方法及びプログラム |
CN111781987A (zh) * | 2020-07-08 | 2020-10-16 | Oppo广东移动通信有限公司 | 实时时钟校准方法及相关装置 |
-
2022
- 2022-02-09 CN CN202210120423.1A patent/CN114499732B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101754098A (zh) * | 2008-12-18 | 2010-06-23 | 大唐移动通信设备有限公司 | 一种系统时间通知方法、系统及装置 |
CN103189099A (zh) * | 2010-10-29 | 2013-07-03 | 美敦力公司 | 基于高精度基准时钟的低功率系统时钟校准 |
US20150304526A1 (en) * | 2014-02-08 | 2015-10-22 | Clearone, Inc. | External video locking and synchronization device |
CN105516777A (zh) * | 2015-12-14 | 2016-04-20 | 广东欧珀移动通信有限公司 | 一种媒体流间同步的方法和装置 |
CN110032461A (zh) * | 2019-02-02 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 一种显示时刻异常的确定方法及装置 |
JP2020150356A (ja) * | 2019-03-12 | 2020-09-17 | Necプラットフォームズ株式会社 | カウンタ装置、システム時刻算出装置、情報処理装置、制御方法、時刻の算出方法及びプログラム |
CN111781987A (zh) * | 2020-07-08 | 2020-10-16 | Oppo广东移动通信有限公司 | 实时时钟校准方法及相关装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024001780A1 (zh) * | 2022-06-27 | 2024-01-04 | 华为技术有限公司 | 时钟校准方法、电子设备及计算机可读存储介质 |
CN115309234A (zh) * | 2022-10-10 | 2022-11-08 | 北京奥星贝斯科技有限公司 | 确定tsc频率的方法及装置、计算机可读存储介质 |
CN115309234B (zh) * | 2022-10-10 | 2023-01-31 | 北京奥星贝斯科技有限公司 | 确定tsc频率的方法及装置、计算机可读存储介质 |
CN116999024A (zh) * | 2023-05-26 | 2023-11-07 | 荣耀终端有限公司 | 生理参数检测方法、电子设备、存储介质及程序产品 |
CN117251022A (zh) * | 2023-11-17 | 2023-12-19 | 苏州元脑智能科技有限公司 | 绝对时间的获取方法、装置、存储介质及电子装置 |
CN117251022B (zh) * | 2023-11-17 | 2024-03-12 | 苏州元脑智能科技有限公司 | 绝对时间的获取方法、装置、存储介质及电子装置 |
CN117742447A (zh) * | 2024-02-21 | 2024-03-22 | 南京云程半导体有限公司 | 时钟自适应调整方法及控制器 |
CN117742447B (zh) * | 2024-02-21 | 2024-05-10 | 南京云程半导体有限公司 | 时钟自适应调整方法及控制器 |
Also Published As
Publication number | Publication date |
---|---|
CN114499732B (zh) | 2023-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114499732A (zh) | 一种时钟校准方法、装置、计算机设备及可读存储介质 | |
US10491671B2 (en) | Method and apparatus for switching between servers in server cluster | |
CN110690894B (zh) | 一种时钟失效安全保护方法及电路 | |
EP1380953A1 (en) | Fault-tolerant computer system, re-synchronization method thereof and re-synchronization program thereof | |
US11036662B2 (en) | Interrupt monitoring systems and methods for failure detection for a semiconductor device | |
CN112637013B (zh) | Can总线报文异常检测方法及装置、设备、存储介质 | |
US7953016B2 (en) | Method and system for telecommunication apparatus fast fault notification | |
US6670839B2 (en) | Clock monitoring apparatus | |
US10496128B2 (en) | Method for obtaining timestamp and computer device using the same | |
JP2005157946A (ja) | 同期方法、コンピュータシステム及びプログラム | |
CN113157047B (zh) | 一种时间调整方法、装置、计算机设备及存储介质 | |
CN110224880B (zh) | 一种心跳监测方法及监控设备 | |
CN114329947A (zh) | 仿真时间校正方法、装置、电子设备和自动驾驶车辆 | |
EP2418778B1 (en) | Method and device for supplying clock | |
US20140282616A1 (en) | Bidirectional counting of dual outcome events | |
KR102438148B1 (ko) | 임베디드 컴퓨팅 모듈의 이상을 감지하는 이상 감지 장치, 시스템 및 방법 | |
CA2435001C (en) | Fault-tolerant computer system, re-synchronization method thereof and re-synchronization program thereof | |
US20050223301A1 (en) | Circuit for detection of internal microprocessor watchdog device execution and method for resetting microprocessor system | |
CN111611186B (zh) | 一种嵌入式芯片中传输控制方法和装置 | |
CN113132453B (zh) | 时间同步电路以及同步传感器数据的方法 | |
WO2016101792A1 (zh) | 保持时钟的时钟设备及方法 | |
CN115129647A (zh) | 一种基于时统卡校时的时间保护方法、装置及存储介质 | |
CN117331763A (zh) | 一种pci-e链路检测方法、装置、设备及介质 | |
CN116915601A (zh) | 代理服务器的配置更新方法、系统、设备及存储介质 | |
CN113220554A (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 |