一种时间同步方法、装置、计算机设备和存储介质

文档序号:107343 发布日期:2021-10-15 浏览:21次 >En<

阅读说明:本技术 一种时间同步方法、装置、计算机设备和存储介质 (Time synchronization method and device, computer equipment and storage medium ) 是由 张家辉 谢志君 于 2021-07-22 设计创作,主要内容包括:本发明公开了一种时间同步方法、装置、计算机设备和存储介质。该方法包括:接收主设备定时广播的时间包;所述时间包中包括当前时间包发送时间以及标的时间包发送时间,其中,所述标的时间包在所述当前时间包之前发送;获取当前时间包接收时间,以及标的时间包接收时间;根据当前时间包发送时间、标的时间包发送时间、当前时间包接收时间,以及标的时间包接收时间,更新从设备时间。使用本发明的技术方案,可以实现RF从设备之间的时间同步。(The invention discloses a time synchronization method, a time synchronization device, computer equipment and a storage medium. The method comprises the following steps: receiving a time packet regularly broadcasted by the main equipment; the time packet comprises current time packet sending time and target time packet sending time, wherein the target time packet is sent before the current time packet; acquiring the receiving time of the current time packet and the receiving time of the target time packet; and updating the slave device time according to the current time packet sending time, the target time packet sending time, the current time packet receiving time and the target time packet receiving time. By using the technical scheme of the invention, the time synchronization between the RF slave devices can be realized.)

一种时间同步方法、装置、计算机设备和存储介质

技术领域

本发明实施例涉及无线通信技术领域,尤其涉及一种时间同步方法、装置、计算机设备和存储介质。

背景技术

RF(Radio Frequency,射频)设备分为主设备和从设备,多个从设备之间需要保持时间同步,从而实现同屏。

由于RF设备之间无法进行双向通信,现有的实现RF设备之间时间同步的方式为由主设备广播自身时间包,从设备根据接收到的主设备广播的时间包进行校时。正常情况下从设备接收到时间包之后进行校时操作,然而,由于存在设备丢包、网络延迟和调整等多种因素,容易造成从设备的同屏出现明显错位的情形。

发明内容

本发明实施例提供一种时间同步方法、装置、计算机设备和存储介质,以实现RF从设备之间的时间同步。

第一方面,本发明实施例提供了一种时间同步方法,该方法包括:

接收主设备定时广播的时间包;所述时间包中包括当前时间包发送时间以及标的时间包发送时间,其中,所述标的时间包在所述当前时间包之前发送;

获取当前时间包接收时间,以及标的时间包接收时间;

根据当前时间包发送时间、标的时间包发送时间、当前时间包接收时间,以及标的时间包接收时间,更新从设备时间。

第二方面,本发明实施例还提供了一种时间同步装置,该装置包括:

时间包接收模块,用于接收主设备定时广播的时间包;所述时间包中包括当前时间包发送时间以及标的时间包发送时间,其中,所述标的时间包在所述当前时间包之前发送;

接收时间确定模块,用于获取当前时间包接收时间,以及标的时间包接收时间;

时间更新模块,用于根据当前时间包发送时间、标的时间包发送时间、当前时间包接收时间,以及标的时间包接收时间,更新从设备时间。

第三方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本发明实施例中任一所述的时间同步方法。

第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如本发明实施例中任一所述的时间同步方法。

本发明实施例通过主设备定时广播时间包,从设备接收时间包后获取时间包中的当前时间包发送时间和标的时间包发送时间,并且获取接收到时间包时的当前时间包接收时间,以及接收到标的时间包时的标的时间包接收时间,并根据上述四个时间,对从设备时间进行更新。解决了现有技术中的从设备时间同步方案,由于存在设备丢包、网络延迟和调整等多种因素,容易造成从设备同屏错位的问题,实现了RF从设备之间的时间同步。

附图说明

图1是本发明实施例一中的一种时间同步方法的流程图;

图2a是本发明实施例二中的一种时间同步方法的流程图;

图2b是本发明具体适用场景一中的一种时间同步方法的流程图;

图3是本发明实施例三中的一种时间同步装置的结构示意图;

图4是本发明实施例四中的一种计算机设备的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1是本发明实施例一提供的一种时间同步方法的流程图,本实施例可适用于保持RF从设备时间同步的情况,该方法可以由时间同步装置来执行,该装置可以由软件和/或硬件来实现,并一般集成在RF从设备中。

如图1所示,本发明实施例的技术方案,具体包括如下步骤:

S110、接收主设备定时广播的时间包。

所述时间包中包括以及标的时间包发送时间,其中,所述标的时间包在所述当前时间包之前发送。

其中,在同频道的RF设备中,只有一个RF主设备用于广播时间包,并且RF主设备需保持定时发送时间包。

在本发明实施例中,当前时间包中包含当前时间包发送时间,RF主设备发送当前时间包之后,将当前时间包发送时间设置为下一次发送时间包时的标的时间包发送时间。

标的时间包可以是当前时间包的前一时间包,也即,主设备记录定时发送的时间包的各时间,发送当前时间包时,当前时间包中包括当前时间包发送时间和前一时间包发送时间。

S120、获取当前时间包接收时间,以及标的时间包接收时间。

当前时间包接收时间也即接收到当前时间包时的时间,标的时间包为接收到标的时间包的时间。在本发明实施例中,每接受一个时间包,RF从设备都记录接收到该时间包的接收时间。在确认当前时间包发送时间、接收时间,以及标的时间包发送时间、接收时间四个时间数据都完备时,采用本发明实施例的技术方案计算时间差,进行时间同步。

S130、根据当前时间包发送时间、标的时间包发送时间、当前时间包接收时间,以及标的时间包接收时间,更新从设备时间。

在本发明实施例中,在确认当前时间包发送时间、接收时间,以及标的时间包发送时间、接收时间四个时间数据都完备时,根据上述四个时间数据,计算同步时间,从而对从设备的时间进行更新。

可选的,可以将当前时间包发送时间与当前时间包接收时间之间的差值,以及标的时间包发送时间与标的时间包接收时间的差值之间的平均值,作为时间差,根据时间差对从设备时间进行更新。

标的时间包是在当前时间包之前发送的时间包,可选的,标的时间包为当前时间的前一时间包时,根据当前时间包发送时间、接收时间,前一时间包的发送时间、接收时间,计算时间差更新从设备时间。

可选的,当RF主设备定时发送时间包的时间间隔较小时,也可以设定为标的时间包为当前时间的前一时间包或前两个时间包。具体的,接收到当前时间包时,如果当前时间包发送时间、接收时间,前一时间包的发送时间、接收时间四个时间数据完备,则根据上述四个时间数据更新从设备时间。如果上述四个时间数据不完备,并且当前时间包发送时间、接收时间,前两个时间包的发送时间、接收时间四个时间数据完备,则根据当前时间包发送时间、接收时间,前两个时间包的发送时间、接收时间这四个时间数据更新从设备时间。本实施例对标的时间包和当前时间包的顺序不进行限制。

本实施例的技术方案,通过主设备定时广播时间包,从设备接收时间包后获取时间包中的当前时间包发送时间和标的时间包发送时间,并且获取接收到时间包时的当前时间包接收时间,以及接收到标的时间包时的标的时间包接收时间,并根据上述四个时间,对从设备时间进行更新。解决了现有技术中的从设备时间同步方案,由于存在设备丢包、网络延迟和调整等多种因素,容易造成从设备同屏错位的问题,实现了RF从设备之间的时间同步。

实施例二

图2a是本发明实施例二提供的一种时间同步方法的流程图,本发明实施例在上述实施例的基础上,对更新从设备时间的步骤进行了进一步的具体化,并加入了判断当前时间包接收时间是否满足时间范围条件和时间同步间隔条件的过程,以及不满足时间范围条件或者时间同步间隔条件时的处理过程。

相应的,如图2a所示,本发明实施例的技术方案,具体包括如下步骤:

S210、接收主设备定时广播的时间包。

可选的,RF主设备可以每隔1000ms进行一次时间包的发送,但本实施例对此不进行限制。

S220、获取当前时间包接收时间,以及标的时间包接收时间。

当RF从设备接收到时间包时,接收到的时间包作为当前时间包,记录当前时间包接收时间。从当前时间包中,可以获取当前时间包发送时间和标的时间包发送时间。

S230、判断所述当前时间包接收时间是否满足时间范围条件,若是,则执行S240,否则执行S270。

满足时间范围条件是指,当前时间包接收时间和当前时间包发送时间的时间差值在一定的时间范围之内,确认当前时间包接收时间满足时间范围条件的目的在于,排除当前时间包遭遇网络延迟等情况,确保当前时间包的发送过程网络正常。

示例性的,当RF主设备可以每隔1000ms进行一次时间包的发送时,可以设置为时间范围为1500ms,也即当前时间包接收时间和当前时间包发送时间的时间差值在1500ms之内,如果当前时间包发送时间为10:05:00,当前时间包接收时间为10:05:01,则确定当前时间包接收时间满足时间范围条件。如果当前时间包接收时间为10:05:02,则确定当前时间包接收时间不满足时间范围条件。

S240、判断所述当前时间包接收时间是否满足时间同步间隔条件,若是,则执行S250,否则返回执行S210。

满足时间同步间隔条件是指,当前时间包接收时间与上一次进行时间同步的时间之间的时间间隔,大于或者等于一定时间间隔。确定当前时间包接收时间满足时间同步间隔条件的目的在于,避免频繁更新从设备时间而导致波动。

在本发明实施例中,如果当前时间包接收时间不满足时间同步间隔条件,说明当前再次进行时间同步会造成时间更新频繁,因此,当前不进行从设备时间更新,而是等待接收下一个时间包时,继续进行处理。

S250、根据当前时间包发送时间、标的时间包发送时间、当前时间包接收时间,以及标的时间包接收时间,计算时间差。

可选的,根据当前时间包发送时间、标的时间包发送时间、当前时间包接收时间,以及标的时间包接收时间,计算时间差,可以包括:将当前时间包发送时间与当前时间包接收时间之间的差值,以及标的时间包发送时间与标的时间包接收时间的差值之间的平均值,作为时间差。

如果确定当前时间包接收时间和当前时间包发送时间的时间差值在一定的时间范围之内,并且当前时间包接收时间与上一次进行时间同步的时间之间的时间间隔,大于或者等于一定时间间隔,确定当前时间包发送时间、标的时间包发送时间、当前时间包接收时间,以及标的时间包接收时间四个时间数据是否完备,如果上述四个数据不完备,说明可能存在丢包或者网络延迟的情形,则继续等待接收下一个时间包时进行处理。如果上述四个时间数据完备则通过以下公式计算时间差:

其中,ΔT为时间差,T0是当前时间包发送时间,T1是标的时间包发送时间,T2是当前时间包接收时间,T3是标的时间包接收时间。

S260、根据时间差,对从设备时间进行更新。

计算得到时间差之后,计算同步时间,将从设备时间更新为同步时间。示例性的,如果从设备时间为10:05:02,时间差为-1s,则将从设备时间更新为10:05:01。

在本发明实施例中,对于各RF从设备,采用上述统一的时间同步方式进行时间同步,相比于直接根据时间包中的当前时间包发送时间对从设备时间进行更新的方式,避免了网络延迟、时间包丢失等因素造成的从设备同屏错位,保证了RF从设备之间的时间同步,提高了RF从设备时间同步的稳定性。

S270、将从设备的时间更新为所述当前时间包发送时间。

在本发明实施例中,如果当前时间包接收时间不满足时间范围条件,说明当前时间包的发送过程可能存在网络延迟、网络调整等情形,则直接将从设备的时间更新为当前时间包发送时间,继续等待接收下一个时间包时进行处理。

本实施例的技术方案,通过主设备定时广播时间包,当当前时间包接收时间在时间范围内,并且满足时间同步的间隔时,获取时间包中的当前时间包发送时间、标的时间包发送时间以及标的时间包接收时间,并根据上述四个时间,对从设备时间进行更新,如果当前时间包接收时间不在时间范围内,则直接根据时间包中的当前时间包发送时间对从设备时间进行更新,如果当前时间包接收时间不满足时间同步的间隔,则等待接收到下一个时间包时继续进行处理。解决了现有技术中的从设备时间同步方案,由于存在设备丢包、网络延迟和调整等多种因素,容易造成从设备同屏错位的问题,实现了RF从设备之间的时间同步。

具体适用场景一

图2b是本发明具体适用场景一中的一种时间同步方法的流程图,如图2b所示,所述方法包括:

S10、接收到当前时间包时,获取当前时间包接收时间。

时间包为RF主设备定时广播发送的,时间包中包括当前时间包发送时间和前一时间包发送时间。

S20、若确定当前时间包接收时间满足时间范围条件,则执行S30,否则执行S70。

满足时间范围条件指,当前时间包接收时间与当前时间包发送时间的时间差值在一定时间范围内。

S30、若确定当前时间包接收时间、当前时间包接收时间、前一时间包接收时间以及前一时间包发送时间四个数据完备,则执行S40,否则执行S70。

S40、若确定当前时间包接收时间满足时间同步间隔条件,则执行S50,否则返回执行S10。

满足时间同步间隔条件是指,当前时间包接收时间与上一次进行时间同步的时间之间的时间间隔,大于或者等于一定时间间隔。

S50、将当前时间包发送时间与当前时间包接收时间之间的差值,以及标的时间包发送时间与标的时间包接收时间的差值之间的平均值,作为时间差。

S60、根据时间差,更新从设备时间。返回执行S10。

S70、根据当前时间包发送时间,更新从设备时间。返回执行S10。

在当前时间包接收时间不满足时间范围条件时,或者当前时间包接收时间、当前时间包接收时间、前一时间包接收时间以及前一时间包发送时间四个时间数据不完备时,直接根据当前时间包发送时间,更新从设备时间。

本实施例的技术方案,通过主设备定时广播时间包,当当前时间包接收时间在时间范围内,当前时间包接收时间、当前时间包发送时间、标的时间包发送时间以及标的时间包接收时间四个时间数据完备,并且当前时间包接收时间满足时间间隔条件时,根据上述四个时间计算时间差,对从设备时间进行更新,如果当前时间包接收时间不在时间范围内,或者四个时间数据不完备时,则直接根据时间包中的当前时间包发送时间对从设备时间进行更新,如果当前时间包接收时间不满足时间同步的间隔,则等待接收到下一个时间包时继续进行处理。解决了现有技术中的从设备时间同步方案,由于存在设备丢包、网络延迟和调整等多种因素,容易造成从设备同屏错位的问题,实现了RF从设备之间的时间同步。

实施例三

图3是本发明实施例三提供的一种时间同步装置的结构示意图,该装置部署于RF从设备中,与RF主设备配合使用。该装置包括:时间包接收模块310、接收时间确定模块320以及时间更新模块330。其中:

时间包接收模块310,用于接收主设备定时广播的时间包;所述时间包中包括当前时间包发送时间以及标的时间包发送时间,其中,所述标的时间包在所述当前时间包之前发送;

接收时间确定模块320,用于获取当前时间包接收时间,以及标的时间包接收时间;

时间更新模块330,用于根据当前时间包发送时间、标的时间包发送时间、当前时间包接收时间,以及标的时间包接收时间,更新从设备时间。

本实施例的技术方案,通过主设备定时广播时间包,从设备接收时间包后获取时间包中的当前时间包发送时间和标的时间包发送时间,并且获取接收到时间包时的当前时间包接收时间,以及接收到标的时间包时的标的时间包接收时间,并根据上述四个时间,对从设备时间进行更新。解决了现有技术中的从设备时间同步方案,由于存在设备丢包、网络延迟和调整等多种因素,容易造成从设备同屏错位的问题,实现了RF从设备之间的时间同步

在上述实施例的基础上,时间更新模块330,包括:

时间范围条件判断单元,用于若确定所述当前时间包接收时间满足时间范围条件,则根据当前时间包发送时间、标的时间包发送时间、当前时间包接收时间,以及标的时间包接收时间,更新从设备时间。

在上述实施例的基础上,时间更新模块330,包括:

时间同步间隔条件判断单元,用于若确定所述当前时间包接收时间满足时间同步间隔条件,则根据当前时间包发送时间、标的时间包发送时间、当前时间包接收时间,以及标的时间包接收时间,更新从设备时间。

在上述实施例的基础上,所述装置,还包括:

从设备时间更新模块,用于若确定所述当前时间包接收时间不满足时间范围条件,则将从设备的时间更新为所述当前时间包发送时间。

在上述实施例的基础上,所述装置,还包括:

时间同步等待模块,用于若确定所述当前时间包接收时间不满足时间同步间隔条件,则返回执行接收主设备定时广播的时间包的操作,直至所述当前时间包接收时间满足时间同步间隔条件。

在上述实施例的基础上,时间更新模块330,包括:

时间差计算单元,用于根据当前时间包发送时间、标的时间包发送时间、当前时间包接收时间,以及标的时间包接收时间,计算时间差;

时间更新单元,用于根据时间差,对从设备时间进行更新。

在上述实施例的基础上,时间差计算单元,具体用于:

将当前时间包发送时间与当前时间包接收时间之间的差值,以及标的时间包发送时间与标的时间包接收时间的差值之间的平均值,作为时间差。

本发明实施例所提供的时间同步装置可执行本发明任意实施例所提供的时间同步方法,具备执行方法相应的功能模块和有益效果。

实施例四

图4为本发明实施例四提供的一种计算机设备的结构示意图,如图4所示,该计算机设备包括处理器410、存储器420、输入装置430和输出装置440;计算机设备中处理器410的数量可以是一个或多个,图4中以一个处理器410为例;计算机设备中的处理器410、存储器420、输入装置430和输出装置440可以通过总线或其他方式连接,图4中以通过总线连接为例。

存储器420作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的时间同步方法对应的模块(例如,时间同步装置中的时间包接收模块310、接收时间确定模块320以及时间更新模块330)。处理器410通过运行存储在存储器420中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述的时间同步方法。该方法包括:

接收主设备定时广播的时间包;所述时间包中包括当前时间包发送时间以及标的时间包发送时间,其中,所述标的时间包在所述当前时间包之前发送;

获取当前时间包接收时间,以及标的时间包接收时间;

根据当前时间包发送时间、标的时间包发送时间、当前时间包接收时间,以及标的时间包接收时间,更新从设备时间。

存储器420可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器420可进一步包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置430可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。输出装置440可包括显示屏等显示设备。

实施例五

本发明实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种时间同步方法,该方法包括:

接收主设备定时广播的时间包;所述时间包中包括当前时间包发送时间以及标的时间包发送时间,其中,所述标的时间包在所述当前时间包之前发送;

获取当前时间包接收时间,以及标的时间包接收时间;

根据当前时间包发送时间、标的时间包发送时间、当前时间包接收时间,以及标的时间包接收时间,更新从设备时间。

当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的时间同步方法中的相关操作。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

值得注意的是,上述时间同步装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

14页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于群体行为特征的无人机蜂群反制方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!