CN115664570A - 时钟同步方法、装置、系统、设备和存储介质 - Google Patents
时钟同步方法、装置、系统、设备和存储介质 Download PDFInfo
- Publication number
- CN115664570A CN115664570A CN202211079990.3A CN202211079990A CN115664570A CN 115664570 A CN115664570 A CN 115664570A CN 202211079990 A CN202211079990 A CN 202211079990A CN 115664570 A CN115664570 A CN 115664570A
- Authority
- CN
- China
- Prior art keywords
- level
- local time
- slave node
- node
- master node
- 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.)
- Pending
Links
Images
Landscapes
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本公开提供了一种时钟同步方法、装置、系统、设备和存储介质,涉及人工智能技术领域,具体涉及自动驾驶、工业控制等技术领域。时钟同步方法包括:通过第二电平接口响应于主节点输出第一电平,确定第一从节点本地时间;通过第二通信接口接收所述主节点发送的第一消息,其中携带第一主节点本地时间;通过所述第二电平接口响应于所述主节点输出第二电平,确定第二从节点本地时间;通过所述第二通信接口接收所述主节点发送的第二消息,其中携带第二主节点本地时间;基于所述第一从节点本地时间、所述第一主节点本地时间、所述第二从节点本地和所述第二主节点本地时间,进行时钟同步处理。本公开可以降低时钟同步处理的资源开销。
Description
技术领域
本公开涉及人工智能技术领域,具体涉及自动驾驶、工业控制等技术领域,尤其涉及一种时钟同步方法、装置、系统、设备和存储介质。
背景技术
自动驾驶车辆的整车网络一般包括多个处理器,各个处理器的本地时间通过各自独立的时钟源来维护,各个时钟源的频率可能不同,经过长时间运行后不同处理器的本地时间可能会产生较大的时间差。
为了解决时间不一致引起的问题,需要针对不同处理器进行时钟同步处理。
发明内容
本公开提供了一种时钟同步方法、装置、设备和存储介质。
根据本公开的一方面,提供了一种时钟同步方法,应用于从节点,所述从节点具有第二电平接口和第二通信接口,所述第二电平接口与主节点具有的第一电平接口对应,所述第二通信接口与所述主节点具有的第一通信接口对应,所述方法包括:通过所述第二电平接口,响应于所述主节点通过所述第一电平接口输出第一电平,确定第一从节点本地时间;通过所述第二通信接口,接收所述主节点通过所述第一通信接口发送的第一消息,所述第一消息中携带所述主节点输出所述第一电平时的第一主节点本地时间;通过所述第二电平接口,响应于所述主节点通过所述第一电平接口输出第二电平,确定第二从节点本地时间;其中,所述第二电平是所述第一电平的翻转电平;通过所述第二通信接口,接收所述主节点通过所述第一通信接口发送的第二消息,所述第二消息中携带所述主节点输出所述第二电平时的第二主节点本地时间;基于所述第一从节点本地时间、所述第一主节点本地时间、所述第二从节点本地和所述第二主节点本地时间,进行时钟同步处理。
根据本公开的另一方面,提供了一种时钟同步方法,应用于主节点,所述主节点具有第一电平接口和第一通信接口,所述第一电平接口与从节点具有的第二电平接口对应,所述第一通信接口与所述从节点具有的第二通信接口对应,所述方法包括:通过所述第一电平接口,向所述从节点输出第一电平,以使所述从节点确定所述主节点输出所述第一电平时的第一从节点本地时间;通过所述第一通信接口,向所述从节点发送第一消息,所述第一消息中携带所述主节点输出所述第一电平时的第一主节点本地时间;通过所述第一电平接口,向所述从节点输出第二电平,以使所述从节点确定所述主节点输出所述第二电平时的第二从节点本地时间;其中,所述第二电平是所述第一电平的翻转电平;通过所述第一通信接口,向所述从节点发送第二消息,所述第二消息中携带所述主节点输出所述第二电平时的第二主节点本地时间;其中,所述从节点用于基于所述第一从节点本地时间、所述第一主节点本地时间、所述第二从节点本地时间和所述第二主节点本地时间进行时钟同步处理。
根据本公开的另一方面,提供了一种时钟同步装置,应用于从节点,所述从节点具有第二电平接口和第二通信接口,所述第二电平接口与主节点具有的第一电平接口对应,所述第二通信接口与所述主节点具有的第一通信接口对应,所述装置包括:第一确定模块,用于通过所述第二电平接口,响应于所述主节点通过所述第一电平接口输出第一电平,确定第一从节点本地时间;第一接收模块,用于通过所述第二通信接口,接收所述主节点通过所述第一通信接口发送的第一消息,所述第一消息中携带所述主节点输出所述第一电平时的第一主节点本地时间;第二确定模块,用于通过所述第二电平接口,响应于所述主节点通过所述第一电平接口输出第二电平,确定第二从节点本地时间;其中,所述第二电平是所述第一电平的翻转电平;第二接收模块,用于通过所述第二通信接口,接收所述主节点通过所述第一通信接口发送的第二消息,所述第二消息中携带所述主节点输出所述第二电平时的第二主节点本地时间;同步模块,用于基于所述第一从节点本地时间、所述第一主节点本地时间、所述第二从节点本地和所述第二主节点本地时间,进行时钟同步处理。
根据本公开的另一方面,提供了一种时钟同步装置,应用于主节点,所述主节点具有第一电平接口和第一通信接口,所述第一电平接口与从节点具有的第二电平接口对应,所述第一通信接口与所述从节点具有的第二通信接口对应,所述装置包括:第一输出模块,用于通过所述第一电平接口,向所述从节点输出第一电平,以使所述从节点确定所述主节点输出所述第一电平时的第一从节点本地时间;第一发送模块,用于通过所述第一通信接口,向所述从节点发送第一消息,所述第一消息中携带所述主节点输出所述第一电平时的第一主节点本地时间;第二输出模块,用于通过所述第一电平接口,向所述从节点输出第二电平,以使所述从节点确定所述主节点输出所述第二电平时的第二从节点本地时间;其中,所述第二电平是所述第一电平的翻转电平;第二发送模块,用于通过所述第一通信接口,向所述从节点发送第二消息,所述第二消息中携带所述主节点输出所述第二电平时的第二主节点本地时间;其中,所述从节点用于基于所述第一从节点本地时间、所述第一主节点本地时间、所述第二从节点本地时间和所述第二主节点本地时间进行时钟同步处理。
根据本公开的另一方面,提供了一种时钟同步系统,包括:上述任一方面的任一项所述的应用于主节点的装置,以及,上述任一方面的任一项所述的应用于从节点的装置。
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述任一方面的任一项所述的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据上述任一方面的任一项所述的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据上述任一方面的任一项所述的方法。
根据本公开的技术方案,可以降低时钟同步处理的资源开销。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开第一实施例的示意图;
图2是根据本公开第二实施例的示意图;
图3是本公开实施例对应的应用场景的示意图;
图4是根据本公开第三实施例的示意图;
图5是根据本公开第四实施例的示意图;
图6是根据本公开第五实施例的示意图;
图7是根据本公开第六实施例的示意图;
图8是用来实现本公开实施例的时钟同步方法的电子设备的示意图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
相关技术中,通常是基于以太网实现时钟同步,需要各个处理器采用网卡接入以太网,这样就需要专用硬件,资源开销较大。
为了降低时钟同步处理的资源开销,本公开提供如下实施例。
图1是根据本公开第一实施例的示意图,本实施例提供一种时钟同步方法。本实施例的方法可以应用于从节点,所述从节点具有第二电平接口和第二通信接口,所述第二电平接口与主节点具有的第一电平接口对应,所述第二通信接口与所述主节点具有的第一通信接口对应,如图1所示,所述方法包括:
101、通过所述第二电平接口,响应于所述主节点通过所述第一电平接口输出第一电平,确定第一从节点本地时间。
102、通过所述第二通信接口,接收所述主节点通过所述第一通信接口发送的第一消息,所述第一消息中携带所述主节点输出所述第一电平时的第一主节点本地时间。
103、通过所述第二电平接口,响应于所述主节点通过所述第一电平接口输出第二电平,确定第二从节点本地时间;其中,所述第二电平是所述第一电平的翻转电平。
104、通过所述第二通信接口,接收所述主节点通过所述第一通信接口发送的第二消息,所述第二消息中携带所述主节点输出所述第二电平时的第二主节点本地时间。
105、基于所述第一从节点本地时间、所述第一主节点本地时间、所述第二从节点本地和所述第二主节点本地时间,进行时钟同步处理。
其中,主节点是提供基准时间的节点,从节点是待同步的节点。
以自动驾驶领域为例,整车网络可以包括多个处理器,主节点可以选择为多个处理器中的一个处理器,其他处理器可以作为从节点。
主节点和从节点上均具有电平接口和通信接口,也就是主节点和从节点自带的硬件,而不是额外增加的硬件。
为了区分,主节点上的电平接口和通信接口可以称为第一电平接口和第一通信接口,从节点上的电平接口和通信接口可以称为第二电平接口和第二通信接口。
电平接口是指输出高低电平信号的接口,例如,电平接口为通用输入输出(General Purpose Input Output,GPIO)接口。
第一电平与第二电平互为翻转电平是指,若第一电平是高电平,则第二电平是低电平;若第一电平是低电平,第二电平是高电平。关于高低电平的具体数值可以根据实际需要设定。
通信接口是指输出数据信号的接口,例如,通信接口可以包括如下项中的至少一项:
通用异步收发器(Universal Asynchronous Receiver Transmitter,URAT)接口、芯片间集成电路(Inter Integrated Circuit,I2C)接口、串行外设接口(SerialPeripheral Interface,SPI)。
主节点通过通信接口可以向从节点发送数据信号,分别称为第一消息和第二消息,第一消息中携带第一主节点本地时间,第一主节点本地时间是主节点输出第一电平的时间;第二消息中携带第二主节点本地时间,第二主节点本地时间是主节点输出第二电平的时间。
以GPIO接口为例,GPIO传输电平信号的速度很快,即,主节点通过GPIO接口输出电平信号时,可以认为从节点同时接收到该电平信号。从节点可以记录主节点输出电平信号时的从节点本地时间。
另外,主节点还可以通过通信接口将主节点输出电平信号时的主节点本地时间发送至从节点。
因此,从节点可以获取同一事件(主节点输出电平信号)的主节点本地时间以及从节点本地时间,基于主节点本地时间以及从节点本地时间,可以对从节点的本地时钟源的进行时钟同步处理。
本实施例中,通过电平接口传输电平信号,通过通信接口传输消息,基于电平信号的相关时间和消息的相关时间进行时钟同步处理,由于电平接口和通信接口是主节点和从节点具有的接口,因此可以利用主节点和从节点自带的接口进行时钟同步处理,并不需要额外引入网卡等专用硬件设备,从而降低时钟同步处理的资源开销。
图2是根据本公开第二实施例的示意图,本实施例提供一种时钟同步方法。本实施例的方法可以应用于主节点,所述主节点具有第一电平接口和第一通信接口,所述第一电平接口与从节点具有的第二电平接口对应,所述第一通信接口与所述从节点具有的第二通信接口对应,如图2所示,所述方法包括:
201、通过所述第一电平接口,向所述从节点输出第一电平,以使所述从节点确定所述主节点输出所述第一电平时的第一从节点本地时间。
202、通过所述第一通信接口,向所述从节点发送第一消息,所述第一消息中携带所述主节点输出所述第一电平时的第一主节点本地时间。
203、通过所述第一电平接口,向所述从节点输出第二电平,以使所述从节点确定所述主节点输出所述第二电平时的第二从节点本地时间;其中,所述第二电平是所述第一电平的翻转电平。
204、通过所述第一通信接口,向所述从节点发送第二消息,所述第二消息中携带所述主节点输出所述第二电平时的第二主节点本地时间。
其中,所述从节点用于基于所述第一从节点本地时间、所述第一主节点本地时间、所述第二从节点本地时间和所述第二主节点本地时间进行时钟同步处理。
其中,主节点是提供基准时间的节点,从节点是待同步的节点。
以自动驾驶领域为例,整车网络可以包括多个处理器,主节点可以选择为多个处理器中的一个处理器,其他处理器可以作为从节点。
主节点和从节点上均具有电平接口和通信接口,也就是主节点和从节点自带的硬件,而不是额外增加的硬件。
为了区分,主节点上的电平接口和通信接口可以称为第一电平接口和第一通信接口,从节点上的电平接口和通信接口可以称为第二电平接口和第二通信接口。
电平接口是指输出高低电平信号的接口,例如,电平接口为通用输入输出(General Purpose Input Output,GPIO)接口。
第一电平与第二电平互为翻转电平是指,若第一电平是高电平,则第二电平是低电平;若第一电平是低电平,第二电平是高电平。关于高低电平的具体数值可以根据实际需要设定。
通信接口是指输出数据信号的接口,例如,通信接口可以包括如下项中的至少一项:
通用异步收发器(Universal Asynchronous Receiver Transmitter,URAT)接口、芯片间集成电路(Inter Integrated Circuit,I2C)接口、串行外设接口(SerialPeripheral Interface,SPI)。
主节点通过通信接口可以向从节点发送数据信号,分别称为第一消息和第二消息,第一消息中携带第一主节点本地时间,第一主节点本地时间是主节点输出第一电平的时间;第二消息中携带第二主节点本地时间,第二主节点本地时间是主节点输出第二电平的时间。
以GPIO接口为例,GPIO传输电平信号的速度很快,即,主节点通过GPIO接口输出电平信号时,可以认为从节点同时接收到该电平信号。从节点可以记录主节点输出电平信号时的从节点本地时间。
另外,主节点还可以通过通信接口将主节点输出电平信号时的主节点本地时间发送至从节点。
因此,从节点可以获取同一事件(主节点输出电平信号)的主节点本地时间以及从节点本地时间,基于主节点本地时间以及从节点本地时间,可以对从节点的本地时钟源的进行时钟同步处理。
本实施例中,通过电平接口传输电平信号,通过通信接口传输消息,基于电平信号的相关时间和消息的相关时间进行时钟同步处理,由于电平接口和通信接口是主节点和从节点具有的接口,因此可以利用主节点和从节点自带的接口进行时钟同步处理,并不需要额外引入网卡等专用硬件设备,从而降低时钟同步处理的资源开销。
为了更好地理解本公开实施例,对本公开实施例的应用场景进行说明。本实施例可以应用于自动驾驶车辆的时钟同步过程。
自动驾驶车辆可以包括多个处理器,如图3所示,多个处理器分别用第一处理器~第三处理器表示。不同的处理器可以控制不同的设备,例如,多个处理器可以包括:车身处理器、自动驾驶处理器、车载娱乐系统处理器等。
时钟同步时,可以根据实际需要选择其中的一个处理器作为主节点,其余处理器作为从节点。例如,将第一处理器作为主节点301,第二处理器和第三处理器作为从节点302a和302b。
主节点和从节点均具备电平接口和通信接口,如图3所示,电平接口以GPIO接口为例,通信接口以SPI接口为例。另外,为了区分,主节点的GPIO接口和SPI接口可以分别称为第一GPIO接口和第一SPI接口,从节点的GPIO接口和SPI接口可以分别称为第二GPIO接口和第二SPI接口。主节点的第一GPIO接口与从节点的第二GPIO接口可以通过导线连接,主节点的第一SPI接口与从节点的第二SPI接口可以通过SPI总线连接。
另外,主节点内还可以包括主控制器,从节点内还可以包括从控制器,主控制器用于控制主节点的第一GPIO接口输出电平信号(第一电平和第二电平),以及通过主节点的第一SPI接口发送消息(第一消息和第二消息),从控制器用于通过从节点的第二GPIO接口响应主节点输出电平信号,确定对应的从节点本地时间,通过从节点的第二SPI接口接收消息,从消息中获取对应的主节点本地时间,进而基于从节点本地时间和主节点本地时间进行时钟同步处理。
结合上述的应用场景,本公开还提供一种时钟同步方法。
图4是根据本公开第三实施例的示意图,本实施例提供一种时钟同步方法。
如图4所示,本实施例提供的时钟同步方法包括:
401、主节点,通过第一电平接口,向从节点输出第一电平。
其中,主节点的主控制器可以控制第一电平接口输出第一电平,并且可以记录此时的主节点本地时间,此时的主节点本地时间可以称为第一主节点本地时间,用master_T1表示。
402、从节点,通过第二电平接口,响应于所述主节点通过所述第一电平接口输出所述第一电平,确定第一从节点本地时间。
其中,主节点的第一电平接口与从节点的第二电平接口可以通过导线连接,主节点在通过第一电平接口输出第一电平后,从节点可以获知该事件,并确定此时的从节点本地时间,此时的从节点本地时间可以称为第一从节点本地时间,用slave_T1表示。
403、主节点,通过第一通信接口向所述从节点发送第一消息,所述第一消息中携带所述主节点输出所述第一电平时的第一主节点本地时间。
其中,第一消息中携带上述的master_T1。
404、从节点,通过第二通信接口,接收所述第一消息,从所述第一消息中获取所述第一主节点本地时间。
其中,从节点接收到第一消息后,可以对其解析,从中获取第一主节点本地时间master_T1。
405、主节点,在输出所述第一电平后间隔预设时长,通过所述第一电平接口向所述从节点输出第二电平。
其中,预设时长是经验值,一般会考虑电平翻转所需的硬件时间以及任务调度时间等。
例如,预设时长为5秒,则在输出第一电平的5s后,主节点的主控制器可以控制第一电平接口输出第二电平。
若第一电平是低电平,则第二电平是高电平;或者,若第一电平是高电平,则第二电平是低电平。
另外,主节点还可以记录此处的主节点本地时间,称为第二主节点本地时间,用master_T2表示。
406、从节点,通过所述第二电平接口,响应于所述主节点通过所述第一电平接口输出所述第二电平,确定第二从节点本地时间。
其中,主节点的第一电平接口与从节点的第二电平接口可以通过导线连接,主节点在通过第一电平接口输出第二电平后,从节点可以获知该事件,并确定此时的从节点本地时间,此时的从节点本地时间可以称为第二从节点本地时间,用slave_T2表示。
407、主节点,通过所述第一通信接口向所述从节点发送第二消息,所述第二消息中携带所述主节点输出所述第二电平时的第二主节点本地时间。
其中,第二消息中携带上述的master_T2。
408、从节点,通过所述第二通信接口,接收所述第二消息,从所述第二消息中获取所述第二主节点本地时间。
其中,从节点接收到第二消息后,可以对其解析,从中获取第二主节点本地时间master_T2。
409、从节点,基于所述第一从节点本地时间、所述第一主节点本地时间、所述第二从节点本地和所述第二主节点本地时间,进行时钟同步处理。
其中,时钟同步处理可以包括:从节点的本地时钟源的时钟时间同步,和/或,上述本地时钟源的时钟频率同步。
针对时钟时间同步,可以基于所述第一从节点本地时间与所述第一主节点本地时间的时间差值,和/或,所述第二从节点本地时间与所述第二主节点本地时间的时间差值,同步所述从节点的本地时钟源的时钟时间。
针对时钟频率同步,可以基于所述第一从节点本地时间和所述第二从节点本地时间,同步所述从节点的本地时钟源的时钟频率。
时钟时间同步的计算公式可以是:
T’=T+path_delay;
path_delay=master_T1-slave_T1;或者,
path_delay=master_T2-slave_T2;或者,
path_delay=((master_T1-slave_T1)+(master_T2-slave_T2))/2;
其中,T’是同步后的时间,T是同步前的时间,path_delay是路径延时,master_T1是第一主节点本地时间,slave_T1是第一从节点本地时间,master_T2是第二主节点本地时间,slave_T2是第二从节点本地时间。
以第一电平和第二电平的间隔时长是5秒为例,时钟频率同步的计算公式可以是:
F’=F+A/path_offset;
path_offset=slave_T2-slave_T1-5;
其中,F’是同步后的频率;F是同步前的频率;path_offset是路径偏移;A/path_offset是偏移频率;A是预设参数,不同的本地时钟源的A可以不同;slave_T2是第二从节点本地时间;slave_T1是第一从节点本地时间。
本实施例中,基于所述第一从节点本地时间与所述第一主节点本地时间的时间差,和/或,所述第二从节点本地时间与所述第二主节点本地时间的时间差,同步所述从节点的本地时钟源的时钟时间,可以实现从节点的本地时钟源的时钟时间同步,将时间进行校准。
本实施例中,基于所述第一从节点本地时间和所述第二从节点本地时间,同步所述从节点的本地时钟源的时钟频率,可以实现从节点的本地时钟源的时钟频率同步,将频率进行校准。
本实施例中,通过进行时钟校准和频率校准,可以更好的提高主从节点的时钟一致性。
本实施例中,第二电平是第一电平间隔预设时长后输出的,可以保证主节点有足够的时间进行电平翻转等操作,提高主节点操作的相关时间点的精准度,进而提高时钟同步处理的准确度。
图5是根据本公开第四实施例的示意图,本实施例提供一种时钟同步装置。该装置可以应用于从节点,所述从节点具有第二电平接口和第二通信接口,所述第二电平接口与主节点具有的第一电平接口对应,所述第二通信接口与所述主节点具有的第一通信接口对应。如图5所示,所述装置500包括:第一确定模块501、第一接收模块502、第二确定模块503、第二接收模块504和同步模块505。
第一确定模块501用于通过所述第二电平接口,响应于所述主节点通过所述第一电平接口输出第一电平,确定第一从节点本地时间;
第一接收模块502用于通过所述第二通信接口,接收所述主节点通过所述第一通信接口发送的第一消息,所述第一消息中携带所述主节点输出所述第一电平时的第一主节点本地时间;
第二确定模块503用于通过所述第二电平接口,响应于所述主节点通过所述第一电平接口输出第二电平,确定第二从节点本地时间;其中,所述第二电平是所述第一电平的翻转电平;
第二接收模块504用于通过所述第二通信接口,接收所述主节点通过所述第一通信接口发送的第二消息,所述第二消息中携带所述主节点输出所述第二电平时的第二主节点本地时间;
同步模块505用于基于所述第一从节点本地时间、所述第一主节点本地时间、所述第二从节点本地和所述第二主节点本地时间,进行时钟同步处理。
本实施例中,通过电平接口传输电平信号,通过通信接口传输消息,基于电平信号的相关时间和消息的相关时间进行时钟同步处理,由于电平接口和通信接口是主节点和从节点具有的接口,因此可以利用主节点和从节点自带的接口进行时钟同步处理,并不需要额外引入网卡等专用硬件设备,从而降低时钟同步处理的资源开销。
一些实施例中,所述同步模块505进一步用于:
基于所述第一从节点本地时间与所述第一主节点本地时间的时间差,和/或,所述第二从节点本地时间与所述第二主节点本地时间的时间差,同步所述从节点的本地时钟源的时钟时间。
本实施例中,基于所述第一从节点本地时间与所述第一主节点本地时间的时间差,和/或,所述第二从节点本地时间与所述第二主节点本地时间的时间差,同步所述从节点的本地时钟源的时钟时间,可以实现从节点的本地时钟源的时钟时钟同步,将时间进行校准。
一些实施例中,所述同步模块505进一步用于:
基于所述第一从节点本地时间和所述第二从节点本地时间,同步所述从节点的本地时钟源的时钟频率。
本实施例中,基于所述第一从节点本地时间和所述第二从节点本地时间,同步所述从节点的本地时钟源的时钟频率,可以实现从节点的本地时钟源的时钟频率同步,将频率进行校准。
一些实施例中,所述第二电平是所述主节点在输出所述第一电平后间隔预设时长后输出的;所述同步模块505进一步用于:
基于所述第一从节点本地时间、所述第二从节点本地时间,以及所述预设时长,确定偏移频率;基于所述偏移频率,同步所述时钟频率。
本实施例中,第二电平是第一电平间隔预设时长后输出的,可以保证主节点有足够的时间进行电平翻转等操作,提高主节点操作的相关时间点的精准度,进而提高时钟同步处理的准确度。
图6是根据本公开第五实施例的示意图,本实施例提供一种时钟同步装置。该装置可以应用于主节点,所述主节点具有第一电平接口和第一通信接口,所述第一电平接口与从节点具有的第二电平接口对应,所述第一通信接口与所述从节点具有的第二通信接口对应,如图6所示,所述装置600包括:第一输出模块601、第一发送模块602、第二输出模块603和第二发送模块604。
第一输出模块601用于通过所述第一电平接口,向所述从节点输出第一电平,以使所述从节点确定所述主节点输出所述第一电平时的第一从节点本地时间;
第一发送模块602用于通过所述第一通信接口,向所述从节点发送第一消息,所述第一消息中携带所述主节点输出所述第一电平时的第一主节点本地时间;
第二输出模块603用于通过所述第一电平接口,向所述从节点输出第二电平,以使所述从节点确定所述主节点输出所述第二电平时的第二从节点本地时间;其中,所述第二电平是所述第一电平的翻转电平;
第二发送模块604用于通过所述第一通信接口,向所述从节点发送第二消息,所述第二消息中携带所述主节点输出所述第二电平时的第二主节点本地时间;
其中,所述从节点用于基于所述第一从节点本地时间、所述第一主节点本地时间、所述第二从节点本地时间和所述第二主节点本地时间进行时钟同步处理。
本实施例中,通过电平接口传输电平信号,通过通信接口传输消息,基于电平信号的相关时间和消息的相关时间进行时钟同步处理,由于电平接口和通信接口是主节点和从节点具有的接口,因此可以利用主节点和从节点自带的接口进行时钟同步处理,并不需要额外引入网卡等专用硬件设备,从而降低时钟同步处理的资源开销。
一些实施例中,所述第二输出模块进一步用于:
在输出所述第一电平后间隔预设时长,通过所述第一电平接口向所述从节点输出所述第二电平。
本实施例中,第二电平是第一电平间隔预设时长后输出的,可以保证主节点有足够的时间进行电平翻转等操作,提高主节点操作的相关时间点的精准度,进而提高时钟同步处理的准确度。
根据本公开的实施例,还提供了一种时钟同步系统,如图7所示,该系统700包括主节点701和从节点702,其中,主节点701可以如图6对应的实施例所示,从节点702可以如图5对应的实施例所示。
可以理解的是,本公开实施例中,不同实施例中的相同或相似内容可以相互参考。
可以理解的是,本公开实施例中的“第一”、“第二”等只是用于区分,不表示重要程度高低、时序先后等。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图8示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子设备800旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字助理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图8所示,电子设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM 803中,还可存储电子设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
电子设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许电子设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、处理器、微处理器等。计算单元801执行上文所描述的各个方法和处理,例如时钟同步方法。例如,在一些实施例中,时钟同步方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到电子设备800上。当计算机程序加载到RAM 803并由计算单元801执行时,可以执行上文描述的时钟同步方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行时钟同步方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程地图数据采集装置的处理器或处理器,使得程序代码当由处理器或处理器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务("Virtual Private Server",或简称"VPS")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (16)
1.一种时钟同步方法,应用于从节点,所述从节点具有第二电平接口和第二通信接口,所述第二电平接口与主节点具有的第一电平接口对应,所述第二通信接口与所述主节点具有的第一通信接口对应,所述方法包括:
通过所述第二电平接口,响应于所述主节点通过所述第一电平接口输出第一电平,确定第一从节点本地时间;
通过所述第二通信接口,接收所述主节点通过所述第一通信接口发送的第一消息,所述第一消息中携带所述主节点输出所述第一电平时的第一主节点本地时间;
通过所述第二电平接口,响应于所述主节点通过所述第一电平接口输出第二电平,确定第二从节点本地时间;其中,所述第二电平是所述第一电平的翻转电平;
通过所述第二通信接口,接收所述主节点通过所述第一通信接口发送的第二消息,所述第二消息中携带所述主节点输出所述第二电平时的第二主节点本地时间;
基于所述第一从节点本地时间、所述第一主节点本地时间、所述第二从节点本地和所述第二主节点本地时间,进行时钟同步处理。
2.根据权利要求1所述的方法,其中,所述基于所述第一从节点本地时间、所述第一主节点本地时间、所述第二从节点本地和所述第二主节点本地时间,进行时钟同步处理,包括:
基于所述第一从节点本地时间与所述第一主节点本地时间的时间差,和/或,所述第二从节点本地时间与所述第二主节点本地时间的时间差,同步所述从节点的本地时钟源的时钟时间。
3.根据权利要求1所述的方法,其中,所述基于所述第一从节点本地时间、所述第一主节点本地时间、所述第二从节点本地和所述第二主节点本地时间,进行时钟同步处理,包括:
基于所述第一从节点本地时间和所述第二从节点本地时间,同步所述从节点的本地时钟源的时钟频率。
4.根据权利要求3所述的方法,其中,
所述第二电平是所述主节点在输出所述第一电平后间隔预设时长后输出的;
所述基于所述第一从节点本地时间和所述第二从节点本地时间,同步所述从节点的本地时钟源的时钟频率,包括:
基于所述第一从节点本地时间、所述第二从节点本地时间,以及所述预设时长,确定偏移频率;
基于所述偏移频率,同步所述时钟频率。
5.一种时钟同步方法,应用于主节点,所述主节点具有第一电平接口和第一通信接口,所述第一电平接口与从节点具有的第二电平接口对应,所述第一通信接口与所述从节点具有的第二通信接口对应,所述方法包括:
通过所述第一电平接口,向所述从节点输出第一电平,以使所述从节点确定所述主节点输出所述第一电平时的第一从节点本地时间;
通过所述第一通信接口,向所述从节点发送第一消息,所述第一消息中携带所述主节点输出所述第一电平时的第一主节点本地时间;
通过所述第一电平接口,向所述从节点输出第二电平,以使所述从节点确定所述主节点输出所述第二电平时的第二从节点本地时间;其中,所述第二电平是所述第一电平的翻转电平;
通过所述第一通信接口,向所述从节点发送第二消息,所述第二消息中携带所述主节点输出所述第二电平时的第二主节点本地时间;
其中,所述从节点用于基于所述第一从节点本地时间、所述第一主节点本地时间、所述第二从节点本地时间和所述第二主节点本地时间进行时钟同步处理。
6.根据权利要求5所述的方法,其中,所述通过所述第一电平接口,向所述从节点输出第二电平,包括:
在输出所述第一电平后间隔预设时长,通过所述第一电平接口向所述从节点输出所述第二电平。
7.一种时钟同步装置,应用于从节点,所述从节点具有第二电平接口和第二通信接口,所述第二电平接口与主节点具有的第一电平接口对应,所述第二通信接口与所述主节点具有的第一通信接口对应,所述装置包括:
第一确定模块,用于通过所述第二电平接口,响应于所述主节点通过所述第一电平接口输出第一电平,确定第一从节点本地时间;
第一接收模块,用于通过所述第二通信接口,接收所述主节点通过所述第一通信接口发送的第一消息,所述第一消息中携带所述主节点输出所述第一电平时的第一主节点本地时间;
第二确定模块,用于通过所述第二电平接口,响应于所述主节点通过所述第一电平接口输出第二电平,确定第二从节点本地时间;其中,所述第二电平是所述第一电平的翻转电平;
第二接收模块,用于通过所述第二通信接口,接收所述主节点通过所述第一通信接口发送的第二消息,所述第二消息中携带所述主节点输出所述第二电平时的第二主节点本地时间;
同步模块,用于基于所述第一从节点本地时间、所述第一主节点本地时间、所述第二从节点本地和所述第二主节点本地时间,进行时钟同步处理。
8.根据权利要求7所述的装置,其中,所述同步模块进一步用于:
基于所述第一从节点本地时间与所述第一主节点本地时间的时间差,和/或,所述第二从节点本地时间与所述第二主节点本地时间的时间差,同步所述从节点的本地时钟源的时钟时间。
9.根据权利要求7所述的装置,其中,所述同步模块进一步用于:
基于所述第一从节点本地时间和所述第二从节点本地时间,同步所述从节点的本地时钟源的时钟频率。
10.根据权利要求9所述的装置,其中,
所述第二电平是所述主节点在输出所述第一电平后间隔预设时长后输出的;
所述同步模块进一步用于:
基于所述第一从节点本地时间、所述第二从节点本地时间,以及所述预设时长,确定偏移频率;
基于所述偏移频率,同步所述时钟频率。
11.一种时钟同步装置,应用于主节点,所述主节点具有第一电平接口和第一通信接口,所述第一电平接口与从节点具有的第二电平接口对应,所述第一通信接口与所述从节点具有的第二通信接口对应,所述装置包括:
第一输出模块,用于通过所述第一电平接口,向所述从节点输出第一电平,以使所述从节点确定所述主节点输出所述第一电平时的第一从节点本地时间;
第一发送模块,用于通过所述第一通信接口,向所述从节点发送第一消息,所述第一消息中携带所述主节点输出所述第一电平时的第一主节点本地时间;
第二输出模块,用于通过所述第一电平接口,向所述从节点输出第二电平,以使所述从节点确定所述主节点输出所述第二电平时的第二从节点本地时间;其中,所述第二电平是所述第一电平的翻转电平;
第二发送模块,用于通过所述第一通信接口,向所述从节点发送第二消息,所述第二消息中携带所述主节点输出所述第二电平时的第二主节点本地时间;
其中,所述从节点用于基于所述第一从节点本地时间、所述第一主节点本地时间、所述第二从节点本地时间和所述第二主节点本地时间进行时钟同步处理。
12.根据权利要求11所述的装置,其中,所述第二输出模块进一步用于:
在输出所述第一电平后间隔预设时长,通过所述第一电平接口向所述从节点输出所述第二电平。
13.一种时钟同步系统,包括:
如权利要求7-10任一项所述的装置;以及,
如权利要求11-12任一项所述的装置。
14.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的方法。
15.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-6中任一项所述的方法。
16.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211079990.3A CN115664570A (zh) | 2022-09-05 | 2022-09-05 | 时钟同步方法、装置、系统、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211079990.3A CN115664570A (zh) | 2022-09-05 | 2022-09-05 | 时钟同步方法、装置、系统、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115664570A true CN115664570A (zh) | 2023-01-31 |
Family
ID=85024455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211079990.3A Pending CN115664570A (zh) | 2022-09-05 | 2022-09-05 | 时钟同步方法、装置、系统、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115664570A (zh) |
-
2022
- 2022-09-05 CN CN202211079990.3A patent/CN115664570A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113572560B (zh) | 用于确定时钟同步精度的方法、电子设备和存储介质 | |
CN113193947A (zh) | 实现分布式全局序的方法、设备、介质及程序产品 | |
CN114417780B (zh) | 状态同步方法、装置、电子设备及存储介质 | |
KR101716630B1 (ko) | 통신 장치 및 통신 방법 및 프로그램을 기록한 컴퓨터 판독가능한 기록 매체 | |
US20190386762A1 (en) | Date processing system and method | |
CN115664570A (zh) | 时钟同步方法、装置、系统、设备和存储介质 | |
CN115866156A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN115391158A (zh) | 一种时延确定方法、系统、装置及电子设备 | |
CN113986135B (zh) | 处理请求的方法、装置、设备以及存储介质 | |
CN115481594B (zh) | 计分板实现方法、计分板、电子设备及存储介质 | |
CN112817701B (zh) | 定时器处理方法、装置、电子设备和计算机可读介质 | |
CN110750424B (zh) | 资源巡检方法和装置 | |
CN114495976A (zh) | 语音测试方法、装置、系统、电子设备及存储介质 | |
CN113470380B (zh) | 数据处理方法、装置、电子设备和可读存储介质 | |
CN111106890B (zh) | 一种进行时间同步的方法和设备 | |
CN115600671B (zh) | 深度学习框架的数据处理方法、装置、设备和存储介质 | |
CN109150612B (zh) | 一种用于无人车的基于分布式系统的检测方法及电子设备 | |
CN114721895B (zh) | 待测设计的验证方法、平台、设备和介质 | |
CN115642978A (zh) | 一种系统时钟同步方法、装置、设备及存储介质 | |
CN117675648A (zh) | 测试时延的方法、装置、设备、介质及程序产品 | |
CN115267839A (zh) | 信号监控方法、装置、系统、电子设备及存储介质 | |
CN115686127A (zh) | 时间差确定方法、装置及电子设备 | |
CN113886100A (zh) | 语音数据的处理方法、装置、设备和存储介质 | |
CN114661683A (zh) | 日志信息处理方法、装置、设备、介质以及自动驾驶车辆 | |
CN117271658A (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 |