CN116743302A - 时钟同步方法、设备、计算机可读存储介质和系统 - Google Patents
时钟同步方法、设备、计算机可读存储介质和系统 Download PDFInfo
- Publication number
- CN116743302A CN116743302A CN202310967514.3A CN202310967514A CN116743302A CN 116743302 A CN116743302 A CN 116743302A CN 202310967514 A CN202310967514 A CN 202310967514A CN 116743302 A CN116743302 A CN 116743302A
- Authority
- CN
- China
- Prior art keywords
- clock
- switch
- equipment
- synchronization
- application message
- 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
- 238000000034 method Methods 0.000 title claims abstract description 88
- 230000002159 abnormal effect Effects 0.000 claims abstract description 87
- 230000015654 memory Effects 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 20
- 230000005856 abnormality Effects 0.000 claims description 13
- 238000012937 correction Methods 0.000 claims description 4
- 230000001360 synchronised effect Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- KLDZYURQCUYZBL-UHFFFAOYSA-N 2-[3-[(2-hydroxyphenyl)methylideneamino]propyliminomethyl]phenol Chemical compound OC1=CC=CC=C1C=NCCCN=CC1=CC=CC=C1O KLDZYURQCUYZBL-UHFFFAOYSA-N 0.000 description 1
- 108700009949 PTP protocol Proteins 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 201000001098 delayed sleep phase syndrome Diseases 0.000 description 1
- 208000033921 delayed sleep phase type circadian rhythm sleep disease Diseases 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明实施例公开了一种时钟同步方法、设备、计算机可读存储介质和系统。该方法应用于承载协议栈的时钟同步设备,该方法包括:当检测到作为主时钟的第一设备处于异常状态时,向作为从时钟的第二设备发送携带第一设备异常信息的第一应用报文,使得第二设备基于第一应用报文将在协议栈中的角色由从时钟切换为主时钟;基于作为主时钟的第二设备的当前时间戳,向第一设备发送第一时间同步报文,使得第一设备在工作时基于第一时间同步报文在同步成功后恢复常规状态;当检测到第一设备处于常规状态时,向第一设备发送第一切换指令,使得第一设备基于第一切换指令将在协议栈中的角色由从时钟切换为主时钟。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种时钟同步方法、设备、计算机可读存储介质和系统。
背景技术
时钟同步是通过对本地时钟的某些操作,达到为分布式系统(其包括多个控制器)提供一个统一时间标度的过程。随着以太网时钟同步技术在汽车、航天、电力等领域越来越多的应用,设计的系统也越来越复杂。
相关技术中,将主用时钟装置和备用时钟装置均与A网、B网连接,用于通过A、B双网接入的应用装置接收来自双网上的主时钟(Master)发送的A、B双网精密定时协议(Precision Timing Protocol,PTP)同步报文。该方案中,主用时钟装置和备用时钟装置均包括A协议栈和B协议栈,对于每个装置来说,当作为主时钟时,采用A协议栈,当作为从时钟时,采用B协议栈,因此,当两个装置中作为主时钟的装置异常时,该装置要从主时钟切换为从时钟,伴随着从A协议栈切换到B协议栈,对应的,另一个装置,要从从时钟切换为主时钟,伴随着从B协议栈切换到A协议栈。由于A协议栈和B协议栈属于两个不同的域,因此,相关技术是工作在双域系统,涉及两个协议栈,逻辑复杂,占用资源较多。
发明内容
本发明实施例提供一种时钟同步方法、设备、计算机可读存储介质和系统,简化了逻辑,降低了资源占用。
本发明实施例的技术方案是这样实现的:
第一方面,本发明实施例提供一种时钟同步方法,所述方法应用于承载协议栈的时钟同步设备,所述时钟同步设备分别与第一设备和第二设备连接,所述时钟同步设备、所述第一设备和所述第二设备之间采用同一套协议栈,所述方法包括:当检测到作为主时钟的第一设备处于异常状态时,向作为从时钟的第二设备发送携带第一设备异常信息的第一应用报文,使得所述第二设备基于所述第一应用报文将在协议栈中的角色由从时钟切换为主时钟;基于作为主时钟的第二设备的当前时间戳,向所述第一设备发送第一时间同步报文,使得所述第一设备在工作时基于所述第一时间同步报文在同步成功后恢复常规状态;当检测到所述第一设备处于常规状态时,向所述第一设备发送第一切换指令,使得所述第一设备基于所述第一切换指令将在协议栈中的角色由从时钟切换为主时钟。
本方案中,只需要一套协议栈即可完成单域下时钟同步冗余,在第一设备发生异常时,第一设备和第二设备只需要更改其协议栈的角色,通过发送应用报文的方式实现时钟同步冗余设置,简化了逻辑,降低了资源占用。
在一些实施例中,所述当检测到作为主时钟的第一设备处于异常状态时,向作为从时钟的第二设备发送携带第一设备异常信息的第一应用报文,包括:当检测到作为主时钟的第一设备处于所述异常状态时,向作为从时钟的第二设备发送携带第一设备异常信息的第一应用报文,并向所述第一设备发送第二切换指令,使得所述第一设备基于所述第二切换指令将在协议栈中的角色由主时钟切换为从时钟。
本方案中,当检测到作为主时钟的第一设备处于异常状态时,对协议栈中的角色进行切换,将第一设备在协议栈的角色由主时钟切换为从时钟,将第二设备在协议栈的角色由从时钟切换为主时钟,在单域下通过发送以太网报文的方式实现了时钟冗余,简化了逻辑,降低了资源占用。
在一些实施例中,所述当检测到所述第一设备处于常规状态时,向所述第一设备发送第一切换指令,包括:当检测到第一设备处于常规状态时,向所述第一设备发送所述第一切换指令,并向作为主时钟的第二设备发送携带第一设备常规信息的第二应用报文,使得所述第二设备基于所述第二应用报文将在协议栈中的角色由主时钟切换为从时钟。
本方案中,当检测到作为从时钟的第一设备重新处于常规状态(也就是正常工作)时,对协议栈中的角色再次进行切换,将第一设备在协议栈的角色由从时钟切换为主时钟,将第二设备在协议栈的角色由主时钟切换为从时钟,在单域下通过发送以太网报文的方式实现了时钟冗余,简化了逻辑,降低了资源占用。
在一些实施例中,所述时钟同步设备包括交换机,所述交换机分别与所述第一设备和所述第二设备连接;通过所述交换机向作为从时钟的第二设备发送携带第一设备异常信息的第一应用报文;所述方法还包括:所述交换机基于所述第一应用报文由第一模式切换至第二模式;其中,在所述第一模式下所述交换机的第一从端口与所述第一设备连接,所述交换机的第一主端口与所述第二设备连接,在所述第二模式下所述交换机的第二从端口与所述第二设备连接,所述交换机的第二主端口与所述第一设备连接。
本方案中,通过交换机实现协议栈中各个设备之间的报文传输,并且交换机的工作模式(第一模式和第二模式)跟随应用报文进行切换,以保证能够成功传输以太网报文,从而能够在单域下通过发送以太网报文的方式实现时钟冗余,简化逻辑。
在一些实施例中,所述时钟同步设备包括交换机,所述交换机分别与所述第一设备和所述第二设备连接;通过所述交换机向作为主时钟的第二设备发送携带第一设备常规信息的第二应用报文;所述方法还包括:所述交换机基于所述第二应用报文由第二模式切换至第一模式。
本方案中,由协议栈对采用同一套协议的各个设备进行逻辑控制,通过交换机提供协议栈、第一设备、第二设备之间以太网报文的传输路径。交换机的工作模式(第一模式和第二模式)跟随应用报文进行切换,以保证能够成功传输以太网报文,从而能够在单域下通过发送以太网报文的方式实现时钟冗余,简化逻辑。
在一些实施例中,所述方法还包括:基于重新作为主时钟的第一设备的当前时间戳,向所述第二设备发送第二时间同步报文,并向其他设备发送第三时间同步报文,使得所述第二设备基于所述第二时间同步报文进行时间同步,所述其他设备基于所述第三时间同步报文进行各自的时间校正。
本方案中,该时钟冗余方法,只需要一套协议栈即可实现第二设备和其他设备的时间同步,逻辑简单,降低了占用的资源。
在一些实施例中,所述方法还包括:读取所述第一设备的寄存器;根据所述寄存器中存储的用于表征第一设备工作状态的参数,判断所述第一设备是否处于异常状态。
本方案中,读取第一设备的寄存器,根据寄存器中所存储的用于表征第一设备工作状态的参数,基于该参数判断第一设备是否处于异常状态。进而在判断出第一设备处于异常状态时,通过协议栈结合以太网报文的形式,切换第一设备的角色、切换第二设备的角色,交换机切换模式,从而能够在单域下实现时钟冗余,简化了逻辑,降低资源占用。
在一些实施例中,所述第一应用报文或第二应用报文均包括源地址、目的地址、工作模式和数据;其中,所述源地址表征作为主时钟的设备的地址;所述目的地址表征作为从时钟的设备的地址;所述工作模式表征作为主时钟的设备的工作状态,所述工作状态包括异常状态和常规状态;所述数据包括工作状态的判断规则。
本方案中,第一应用报文包括报文传输过程中的发送设备的地址和接收设备的地址,以及发送设备的工作状态的判断规则,以便能够在主时钟发生异常时,及时切换协议栈中主、从时钟的角色,通过发送应用报文的方式来实现时钟同步冗余设置,简化了逻辑,降低了资源占用。
在一些实施例中,所述第一时间同步报文、第二时间同步报文、第三时间同步报文、所述第一应用报文和第二应用报文属于单域上的以太网报文。
本方案中,时钟同步设备、第一设备和第二设备之间采用同一套协议栈,该协议栈支持以太网报文(包括第一时间同步报文、第二时间同步报文、第三时间同步报文、第一应用报文和第二应用报文)的发送、接收和解析,通过发送以太网报文的方式实现时钟冗余,简化逻辑。
第二方面,本发明实施例提供一种时钟同步设备,所述设备包括:存储器,用于存储可执行计算机程序;处理器,用于执行所述存储器中存储的可执行计算机程序时,实现上述第一方面所述的时钟同步方法。
第三方面,本发明实施例提供一种计算机可读存储介质,存储有计算机程序,用于被处理器执行时,实现上述第一方面所述的时钟同步方法。
第四方面,本发明实施例提供一种时钟同步系统,所述系统包括承载协议栈的时钟同步设备、第一设备和第二设备,所述时钟同步设备分别与所述第一设备和所述第二设备连接,所述时钟同步设备、所述第一设备和所述第二设备之间采用同一套协议栈;当所述时钟同步设备检测到作为主时钟的第一设备处于异常状态时,向作为从时钟的第二设备发送携带第一设备异常信息的第一应用报文;所述第二设备基于所述第一应用报文将在协议栈中的角色由从时钟切换为主时钟;所述时钟同步设备基于作为主时钟的第二设备的当前时间戳,向所述第一设备发送第一时间同步报文;所述第一设备在工作时基于所述第一时间同步报文在同步成功后恢复常规状态;当所述时钟同步设备检测到所述第一设备处于常规状态时,向所述第一设备发送第一切换指令;所述第一设备基于所述第一切换指令将在协议栈中的角色由从时钟切换为主时钟。
本发明实施例提供了一种时钟同步方法、设备、计算机可读存储介质和系统。根据本发明实施例提供的方案,该方法应用于承载协议栈的时钟同步设备,时钟同步设备分别与第一设备和第二设备连接,时钟同步设备、第一设备和第二设备之间采用同一套协议栈,也就是说,时钟同步设备、第一设备和第二设备在同一域系统;在进行主时钟和从时钟切换时,由于是同一套协议栈,无需切换域,正常情况下,将第一设备作为主时钟,第二设备作为冗余时钟(或称为从时钟),第一设备通过协议栈向第二设备发送时间同步报文,实现时间同步。当作为主时钟的第一设备发现自己处于异常状态时,其在协议栈中的角色由主时钟切换为从时钟。该方法包括:当时钟同步设备检测到作为主时钟的第一设备处于异常状态时,向作为从时钟的第二设备发送携带第一设备异常信息的第一应用报文,使得第二设备对第一应用报文进行解析,判断出第一设备处于异常状态,进而将其将在协议栈中的角色由从时钟切换为主时钟;时钟同步设备基于作为主时钟的第二设备的当前时间戳,向第一设备发送第一时间同步报文,使得第一设备在工作时基于第一时间同步报文进行自身的时间同步,在同步成功后恢复常规状态;当时钟同步设备检测到第一设备处于常规状态时,向第一设备发送第一切换指令,使得第一设备基于第一切换指令将在协议栈中的角色由从时钟切换为主时钟,只需要一套协议栈即可完成单域下时钟同步冗余,在第一设备发生异常时,第一设备和第二设备只需要更改其协议栈的角色,通过发送应用报文的方式实现时钟同步冗余设置,简化了逻辑,降低了资源占用。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开的技术方案。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本发明的实施例,并与说明书一起用于说明本发明的技术方案。
图1为本发明实施例提供的一种时钟同步方法的可选的步骤流程图;
图2为本发明实施例提供的一种应用报文格式的示意图;
图3为本发明实施例提供的另一种时钟同步方法的可选的步骤流程图;
图4为本发明实施例提供的再一种时钟同步方法的可选的步骤流程图;
图5为本发明实施例提供的一种控制器之间报文传递关系的示意图;
图6为本发明实施例提供的一种单域时钟同步冗余方法的可选的流程图;
图7为本发明实施例提供的一种时钟同步设备组成结构示意图;
图8为本发明实施例提供的一种时钟同步系统的可选的结构示意图。
具体实施方式
为了能够更加详尽地了解本发明实施例的特点与技术内容,下面结合附图对本发明实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本发明实施例。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
还需要指出,本发明实施例所涉及的术语“第一\第二\第三”仅是用于区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里图示或描述的以外的顺序实施。
本发明实施例中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如对象A和/或对象B,可以表示:单独存在对象A,同时存在对象A和对象B,单独存在对象B这三种情况。
此外,在本发明实施例中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
为了更好地理解本发明实施例中提供的时钟同步方法,在对本发明实施例的技术方案进行介绍之前,先对应用背景和相关技术进行说明。
随着以太网时钟同步技术在汽车、航天、电力等领域越来越多的应用,设计的系统也越来越复杂,这就要求在实现时间同步并保证其精度的同时,还要保证其稳定性,并且考虑资源占用问题。因此。设计时钟同步冗余系统成为大势所趋。
相关技术中还可以把非同源的外部高精度时钟和两个内部时钟分别作为主时钟、备份时钟和第三方时钟,只有当主备时钟不一致时才采用第三方时钟仲裁,能容忍时钟发生单余度故障,达到了“三冗余”的目的。
但是上述通过主用时钟装置和备用时钟装置均与A网、B网连接实现时钟同步的技术方案是在双域系统下实现的,而通过主时钟、备份时钟和第三方时钟达到三冗余的技术方案是在多域系统下实现的,不仅逻辑复杂,实现起来较为困难,而且占用资源大,影响系统的灵敏度。
本发明实施例提供一种时钟同步方法,该方法应用于承载协议栈的时钟同步设备,时钟同步设备分别与第一设备和第二设备连接,时钟同步设备、第一设备和第二设备之间采用同一套协议栈,如图1所示,图1为本发明实施例提供的一种时钟同步方法的步骤流程图,时钟同步方法包括以下步骤:
S101、当检测到作为主时钟的第一设备处于异常状态时,向作为从时钟的第二设备发送携带第一设备异常信息的第一应用报文,使得第二设备基于第一应用报文将在协议栈中的角色由从时钟切换为主时钟。
在本发明实施例中,由于时钟同步设备、第一设备和第二设备之间采用同一套协议栈,也就是三者在同一域系统,因此在进行主时钟和从时钟切换时,由于是同一套协议栈,无需切换域,该协议栈可以是通用精确时间协议(General Precise Time Protocol,gPTP),gPTP是PTP协议的派生,用于确保所有局域网里的设备(也可以称为节点)的时间完全一致,仅是纳秒(ns)级别的误差,一个局域网中所有设备以主时钟(Master)为基准,将自己的本地时钟与master的时钟进行同步。正常情况下,将第一设备作为主时钟,第二设备作为冗余时钟(或称为从时钟),第一设备通过协议栈向第二设备发送时间同步报文,实现时间同步。当作为主时钟的第一设备发现自己处于异常状态时,其在协议栈中的角色由主时钟切换为从时钟。时钟同步设备承载协议栈,可以读取该协议栈中第一设备和第二设备的工作状态,从而能够实现检测第一设备是否处于异常状态。当时钟同步设备检测到作为主时钟的第一设备处于异常状态时,向作为从时钟的第二设备发送第一应用报文,第一应用报文携带第一设备异常信息。第二设备对第一应用报文进行解析,判断出第一设备处于异常状态,进而将其将在协议栈中的角色由从时钟切换为主时钟。
在本发明实施例中,异常状态表征设备不是正常工作的状态,异常状态可以是断开、断网、断电、故障、重启等任一种或至少两种的组合,gPTP协议栈可以通过读取第一设备的寄存器,从而判断出第一设备是否异常。
示例性的,以第一设备是控制器A、第二设备是控制器B为例进行说明,控制器A和控制器B均只有一套gPTP协议栈在运行。整个逻辑控制是由gPTP协议栈所在的设备(即时钟同步设备)执行。正常情况下,控制器A作为Master向控制器B发送时间同步报文,控制器B作为从时钟(Slave)接收时间同步报文。当控制器A出现异常状态(例如,重启)时,当gPTP协议栈检测到控制器A发生异常时,向其发送指令,使得控制器A由常规模式切换到异常模式,即在gPTP协议栈的角色由Master切换为Slave,然后gPTP协议栈向控制器B发送带有模式信息的应用报文(即第一应用报文)。控制器B接收到应用报文的模式信息后,对其进行解析,当确定控制器A处于异常状态时,控制器B由常规模式切换为异常模式,即在gPTP协议栈的角色由Slave切换为Master。其中,控制器A的常规模式是作为Master,控制器A的异常模式是作为Slave;控制器B的常规模式是作为Slave,控制器B的异常模式是作为Master。
在一些实施例中,第一应用报文包括源地址、目的地址、工作模式和数据;其中,源地址表征作为主时钟的设备的地址;目的地址表征作为从时钟的设备的地址;工作模式表征作为主时钟的设备的工作状态,工作状态包括异常状态和常规状态;数据包括工作状态的判断规则。
在本发明实施例中,应用报文格式如图2所示,图2为本发明实施例提供的一种应用报文格式的示意图;以控制器A通过gPTP协议栈向控制器B发送应用报文为例,此时,控制器A作为Master、控制器B作为Slave,源地址是控制器A的地址,目的地址是控制器B的地址,模式是异常状态或常规状态,数据可以是工作状态的判断规则,由控制器B解析应用报文后判断出控制器A处于异常状态或常规状态。
示例性的,模式是“0”或“1”,数据表示判断规则:“0”表示常规状态,“1”表示异常状态。模式是“正确”或“错误”,数据表示判断规则:“正确”表示常规状态,“错误”表示异常状态。模式是“0x00”或“0x01”,数据表示判断规则:0x00表示正常状态,0x01表示异常状态;本发明实施例对于模式和数据的表现形式不做限制,只要控制器B能够判断出控制器A是否处于异常状态即可。
在本发明实施例中,第一应用报文包括报文传输过程中的发送设备的地址和接收设备的地址,以及发送设备的工作状态的判断规则,以便能够在主时钟发生异常时,及时切换协议栈中主、从时钟的角色,通过发送应用报文的方式来实现时钟同步冗余设置,简化了逻辑,降低了资源占用。
S102、基于作为主时钟的第二设备的当前时间戳,向第一设备发送第一时间同步报文,使得第一设备在工作时基于第一时间同步报文在同步成功后恢复常规状态。
在本发明实施例中,时钟同步设备基于作为主时钟的第二设备的当前时间戳,生成第一时间同步报文,并向第一设备发送第一时间同步报文。第一设备重新正常工作时,例如,上线、上电、连网、连接、开启、重启等任一种或至少两种的组合,可以接收到第一时间同步报文,并基于第一时间同步报文进行自身的时间同步,在时间同步成功后恢复常规状态。
示例性的,以第一设备是控制器A、第二设备是控制器B为例进行说明,由控制器B作为主时钟,根据控制器B的当前时间戳信息向控制器A发送第一时间同步报文,同步成功后控制器A切换回常规模式运行。
在一些实施例中,第一时间同步报文和第一应用报文属于单域上的以太网报文。
在本发明实施例中,时钟同步设备、第一设备和第二设备之间采用同一套协议栈,该协议栈支持以太网报文的发送、接收和解析。第一设备和第二设备之间通过协议栈发送的报文(例如,第一时间同步报文和第一应用报文)是以太网报文。
S103、当检测到第一设备处于常规状态时,向第一设备发送第一切换指令,使得第一设备基于第一切换指令将在协议栈中的角色由从时钟切换为主时钟。
在本发明实施例中,同步成功后第一设备切换回常规模式运行,当时钟同步设备检测到第一设备处于常规状态时,向第一设备发送第一切换指令,第一设备基于第一切换指令将其在协议栈中的角色由从时钟切换为主时钟。
示例性的,以第一设备是控制器A、第二设备是控制器B为例进行说明,同步成功后控制器A切换回常规模式运行,gPTP协议栈向控制器A发送第一切换指令,控制器A基于切换指令在gPTP协议栈的角色由Slave切换为Master。
本发明实施例提供了一种逻辑更加简单,占用资源更少的时钟冗余方法,只需要一套协议栈即可。将控制器A作为主时钟设备,将控制器B作为冗余时钟设备,以发送应用报文通知的方法实现单域系统下的车载以太网时钟同步冗余,简化了逻辑,降低了资源占用。
本发明实施例提供的时钟同步方法可以应用于车载、航天、电力等技术领域。以车载为例,gPTP协议栈用于将车载网络中各个设备的时钟进行同步,因为各个设备的时钟是互相独立运行的,而有些应用需要各个设备步调一致地执行,例如,播放音频和视频的任务可能是在不同的设备上实现,那么这两个设备必须要由相同的时钟基准,否则可能会出现画面和声音对不上的情况。本发明实施例提供的时钟同步方法可以应用于基于车载以太网时钟同步系统,通过创造了一种在单域系统下通过发送应用报文的方式来实现时钟同步冗余设置,简化了逻辑,节约了资源。
根据本发明实施例提供的方案,该方法应用于承载协议栈的时钟同步设备,时钟同步设备分别与第一设备和第二设备连接,时钟同步设备、第一设备和第二设备之间采用同一套协议栈,也就是说,时钟同步设备、第一设备和第二设备在同一域系统;在进行主时钟和从时钟切换时,由于是同一套协议栈,无需切换域,正常情况下,将第一设备作为主时钟,第二设备作为冗余时钟(或称为从时钟),第一设备通过协议栈向第二设备发送时间同步报文,实现时间同步。当作为主时钟的第一设备发现自己处于异常状态时,其在协议栈中的角色由主时钟切换为从时钟。该方法包括:当时钟同步设备检测到作为主时钟的第一设备处于异常状态时,向作为从时钟的第二设备发送携带第一设备异常信息的第一应用报文,使得第二设备对第一应用报文进行解析,判断出第一设备处于异常状态,进而将其将在协议栈中的角色由从时钟切换为主时钟;时钟同步设备基于作为主时钟的第二设备的当前时间戳,向第一设备发送第一时间同步报文,使得第一设备在工作时基于第一时间同步报文进行自身的时间同步,在同步成功后恢复常规状态;当时钟同步设备检测到第一设备处于常规状态时,向第一设备发送第一切换指令,使得第一设备基于第一切换指令将在协议栈中的角色由从时钟切换为主时钟,只需要一套协议栈即可完成单域下时钟同步冗余,在第一设备发生异常时,第一设备和第二设备只需要更改其协议栈的角色,通过发送应用报文的方式实现时钟同步冗余设置,简化了逻辑,降低了资源占用。
在一些实施例中,上述图1中S101还可以通过以下方式实现。当检测到作为主时钟的第一设备处于异常状态时,向作为从时钟的第二设备发送携带第一设备异常信息的第一应用报文,并向第一设备发送第二切换指令,使得第一设备基于第二切换指令将在协议栈中的角色由主时钟切换为从时钟。
在本发明实施例中,当gPTP协议栈检测到第一设备发生异常时,向其发送第二切换指令,使得第一设备由常规模式切换到异常模式,即在gPTP协议栈的角色由Master切换为Slave。同时,gPTP协议栈向第二设备发送带有模式信息的应用报文(即第一应用报文),第二设备接收到应用报文的模式信息后,对其进行解析,当判断出第一设备处于异常状态时,第二设备由常规模式切换为异常模式,即在gPTP协议栈的角色由Slave切换为Master。
在本发明实施例中,当协议栈检测到作为主时钟的第一设备处于异常状态时,对协议栈中的角色进行切换,将第一设备在gPTP协议栈的角色由Master切换为Slave,将第二设备在gPTP协议栈的角色由Slave切换为Master,在单域下通过发送以太网报文的方式实现了时钟冗余,简化了逻辑,降低了资源占用。
在一些实施例中,上述图1中S103还可以通过以下方式实现。当检测到第一设备处于常规状态时,向第一设备发送第一切换指令,并向作为主时钟的第二设备发送携带第一设备常规信息的第二应用报文,使得第二设备基于第二应用报文将在协议栈中的角色由主时钟切换为从时钟。
在本发明实施例中,当gPTP协议栈检测到第二设备恢复常规状态时,向其发送第一切换指令,使得第一设备由异常模式切换到常规模式,即在gPTP协议栈的角色由Slave切换为Master。同时,gPTP协议栈向第二设备发送带有模式信息的应用报文(即第二应用报文),第二设备接收到应用报文的模式信息后,对其进行解析,当判断出第二设备处于常规状态时,第二设备由异常模式切换为常规模式,即在gPTP协议栈的角色由Master切换为Slave。
在本发明实施例中,当协议栈检测到作为从时钟的第一设备重新处于常规状态(也就是正常工作)时,对协议栈中的角色再次进行切换,将第一设备在gPTP协议栈的角色由Slave切换为Master,将第二设备在gPTP协议栈的角色由Master切换为Slave,在单域下通过发送以太网报文的方式实现了时钟冗余,简化了逻辑,降低了资源占用。
在一些实施例中,第二应用报文属于单域上的以太网报文。
在一些实施例中,第二应用报文包括源地址、目的地址、工作模式和数据;关于第二应用报文的描述可以参见上述第一应用报文,在此不再赘述。
在一些实施例中,在上述图1中S101之前,该时钟同步方法还包括:读取第一设备的寄存器;根据寄存器中存储的用于表征第一设备工作状态的参数,判断第一设备是否处于异常状态。
在本发明实施例中,时钟同步设备承载协议栈,可以读取该协议栈中第一设备和第二设备的工作状态,第一设备和第二设备具有寄存器,寄存器用于存储设备的工作参数、处理过程的原始数据、中间数据和处理结果、工作状态等数据。第一设备在判断出自己异常时,会将该信息记录在寄存器中,基于此,时钟同步设备读取第一设备的寄存器,根据寄存器中所存储的用于表征第一设备工作状态的参数,基于该参数判断第一设备是否处于异常状态。进而在判断出第一设备处于异常状态时,通过gPTP协议栈结合以太网报文的形式,切换第一设备的角色、切换第二设备的角色,交换机切换模式,从而能够在单域下实现时钟冗余,简化了逻辑,降低资源占用。
在一些实施例中,时钟同步设备包括交换机,交换机分别与第一设备和第二设备连接;上述发送第一应用报文的步骤可以通过以下方式实现:通过交换机向作为从时钟的第二设备发送携带第一设备异常信息的第一应用报文。基于此,该时钟同步方法还包括以下步骤:交换机基于第一应用报文由第一模式切换至第二模式;其中,在第一模式下交换机的第一从端口与第一设备连接,交换机的第一主端口与第二设备连接,在第二模式下交换机的第二从端口与第二设备连接,交换机的第二主端口与第一设备连接。
在本发明实施例中,第一设备、第二设备、时钟同步设备之间的报文交互是通过交换机实现的,交换机可以看成是设备之间通信的桥梁,交换机提供的通信通道是从Master到Slave。交换机有很多端口,在协议栈中主时钟和从时钟的角色发生变化时,交换机的端口连接也随之发生相应的变化,不同端口的连接状态可以构成不同的通信通道,以便主时钟和从时钟通过该通信通道发送以太网报文。
在本发明实施例中,第一模式和第二模式均是由主时钟到从时钟,交换机有很多端口(输入接口和输出接口),通过模式切换,保证以太网报文从主时钟到从时钟。交换机在传输报文的时候,可以根据应用报文对自己的工作模式进行切换。示例性的,在传输携带第一设备异常信息的第一应用报文时,基于第一应用报文由第一模式切换至第二模式,也就是,与第一设备连接的一端由Slave切换为Master,与第二设备连接的一端由Master切换为Slave。
示例性的,以第一设备是控制器A、第二设备是控制器B为例进行说明,正常情况下,控制器A作为Master向控制器B发送时间同步报文,控制器B作为Slave接收时间同步报文。此时交换机运行在domain0(对应于第一模式),即与控制器A连接的一端为Slave(对应于第一从端口),与控制器B连接的一端为Master(对应于第一主端口)。当gPTP协议栈检测到控制器A发生异常时,向其发送指令,使得控制器A由常规模式切换到异常模式,即gPTP协议栈由Master切换为Slave,然后,gPTP协议栈向控制器B发送带有模式信息的应用报文(对应于第一应用报文),控制器B接收到应用报文的模式信息后亦由常规模式切换为异常模式,即gPTP协议栈由Slave切换为Master。与此同时,交换机由domain0切换到domain1(对应于由第一模式切换为第二模式),即与控制器A连接的一端为Master,与控制器B连接的一端为Slave。上述由domain0切换到domain1可以理解成是由模式0切换到模式1,以保证成功传输以太网报文。
需要说明的是,控制器B由Slave切换为Master,与交换机由domain0切换到domain1的步骤可以是同时,也可以具有任意的先后顺序。交换机是协议栈通信的桥梁,交换机接收到gPTP协议栈发送的第一应用报文,并将第一应用报文发送到控制器B,在这个过程中交换机在接收到第一应用报文之后,由domain0切换到domain1。
在本发明实施例中,通过交换机实现协议栈中各个设备之间的报文传输,并且交换机的工作模式(第一模式和第二模式)跟随应用报文进行切换,以保证能够成功传输以太网报文,从而能够在单域下通过发送以太网报文的方式实现时钟冗余,简化了逻辑,降低资源占用。
在一些实施例中,时钟同步设备包括交换机,交换机分别与第一设备和第二设备连接;上述发送第二应用报文的步骤可以通过以下方式实现:通过交换机向作为主时钟的第二设备发送携带第一设备常规信息的第二应用报文。基于此,该时钟同步方法还包括以下步骤:交换机基于第二应用报文由第二模式切换至第一模式。
在本发明实施例中,交换机在传输报文的时候,可以根据应用报文对自己的工作模式进行切换。示例性的,在传输携带第一设备常规信息的第二应用报文时,基于第二应用报文由第二模式切换至第一模式,也就是,与第一设备连接的一端由Master切换为Slave,与第二设备连接的一端由Slave切换为Master。
示例性的,以第一设备是控制器A、第二设备是控制器B为例进行说明,在控制器A时间同步成功后,控制器A切换回常规模式运行,gPTP协议栈向控制器B发送第二应用报文,控制器B接收到第二应用报文后亦切换回常规模式,即其在协议栈中的角色由Master切换为Slave。同时交换机切换到domain0运行,即与控制器A连接的一端为Slave,与控制器B连接的一端为Master。
下面,将说明本发明实施例在一个实际的应用场景中的示例性应用。
如图3所示,图3为本发明实施例提供的另一种时钟同步方法的可选的步骤流程图,该时钟同步方法可以由时钟同步设备执行,包括S201-S206。
S201、读取第一设备的寄存器,根据寄存器中存储的用于表征第一设备工作状态的参数,判断第一设备是否处于异常状态。
S202、当检测到作为主时钟的第一设备处于异常状态时,通过交换机向作为从时钟的第二设备发送携带第一设备异常信息的第一应用报文,使得第二设备基于第一应用报文将在协议栈中的角色由从时钟切换为主时钟;并向第一设备发送第二切换指令,使得第一设备基于第二切换指令将在协议栈中的角色由主时钟切换为从时钟。
本示例中,S202的实现过程和所达到的技术效果可参见上述关于S101的描述,在此不再赘述。
S203、交换机基于第一应用报文由第一模式切换至第二模式。
需要说明的是,上述通过交换机向第二设备发送第一应用报文以及向第一设备发送第二切换指令的步骤不分先后,可以是同时执行,也可以按照任意顺序执行。第二设备由从时钟切换为主时钟,第一设备由主时钟切换为从时钟,以及交换机由第一模式切换至第二模式的步骤不分先后,可以是同时执行,也可以按照任意顺序执行。对此本发明实施例不做限制。
S204、基于作为主时钟的第二设备的当前时间戳,通过交换机向第一设备发送第一时间同步报文,使得第一设备在工作时基于第一时间同步报文在同步成功后恢复常规状态。
本示例中,S204的实现过程和所达到的技术效果可参见上述关于S102的描述,在此不再赘述。
S205、当检测到第一设备处于常规状态时,通过交换机向第一设备发送第一切换指令,使得第一设备基于第一切换指令将在协议栈中的角色由从时钟切换为主时钟;并向作为主时钟的第二设备发送携带第一设备常规信息的第二应用报文,使得第二设备基于第二应用报文将在协议栈中的角色由主时钟切换为从时钟。
本示例中,S205的实现过程和所达到的技术效果可参见上述关于S103的描述,在此不再赘述。
需要说明的是,上述通过交换机向第一设备发送第一切换指令以及向第二设备发送第二应用报文的步骤不分先后,可以是同时执行,也可以按照任意顺序执行。第二设备由主时钟切换为从时钟,第一设备由从时钟切换为主时钟,以及交换机由第二模式切换至第一模式的步骤不分先后,可以是同时执行,也可以按照任意顺序执行。对此本发明实施例不做限制。
S206、交换机基于第二应用报文由第二模式切换至第一模式。
在本发明实施例中,本发明提供的时钟同步方法涉及协议栈、第一设备、第二设备和交换机,由协议栈对采用同一套协议的各个设备进行逻辑控制,通过交换机提供协议栈、第一设备、第二设备之间以太网报文的传输路径。当发生异常情况时,在同一套协议栈中完成单域下主时钟和从时钟的切换,通过发送应用报文的方式实现时钟同步冗余设置,简化了逻辑,降低了资源占用。
在一些实施例中,如图4所示,图4为本发明实施例提供的再一种时钟同步方法的可选的步骤流程图;基于上述图1,在上述S103之后,该时钟同步方法还包括S104。
S104、基于重新作为主时钟的第一设备的当前时间戳,向第二设备发送第二时间同步报文,并向其他设备发送第三时间同步报文,使得第二设备基于第二时间同步报文进行时间同步,其他设备基于第三时间同步报文进行各自的时间校正。
在本发明实施例中,第一设备在重新作为主时钟之后,时钟同步设备基于第一设备的当前时间戳,向第二设备发送第二时间同步报文,第二设备基于第二时间同步报文进行时间同步,也就是恢复到正常情况下的时间同步过程。在第一设备处于异常状态的一段时间内,其他设备就按照各自的时间执行各自的工作,在第一设备重新作为主时钟之后,其他设备才重新接收第一设备发送的第三时间同步报文,从而进行时间同步。其中,其他设备的数量可以是一个、两个或多个。
示例性的,以第一设备是控制器A、第二设备是控制器B为例进行说明,将控制器A作为主时钟设备,将控制器B作为冗余时钟设备,控制器A和控制器B通过交换机进行时间同步后再向其他控制器(其他控制器的数量可以是一个、两个或多个)时间同步。在控制器A同步成功后,由控制器A重新作为主时钟向控制器B发送时间同步报文,并同时向其他控制器同步。
需要说明的是,上述S104也可以是在图3中的S206之后。
本发明实施例提供的时钟冗余方法,只需要一套协议栈即可,逻辑简单,降低了占用的资源。
在一些实施例中,第一时间同步报文、第二时间同步报文、第三时间同步报文、第一应用报文和第二应用报文属于单域上的以太网报文。
基于上述图1-图4,本发明实施例提供了一种单域的时钟同步冗余方法。各个控制器之间的报文传递关系,如图5所示,图5为本发明实施例提供的一种控制器之间报文传递关系的示意图,该报文传递关系适用于时钟同步冗余系统(也可以称为时钟同步系统),时钟同步冗余系统包括控制器A、控制器B、交换机以及其他控制器,控制器A和控制B均有一个gPTP协议栈,可按需切换为Master或者Slave,用于时间同步。现实车载以太网中可能包括更多的节点与链路,组成的环网可能会更复杂,图5仅是一种简化示意图,本发明实施例对此不做限制。交换机作为控制器A、控制器B和其他控制器之间的通信桥梁,当发生异常情况时,在同一套协议栈中完成单域下主时钟和从时钟的切换,通过发送应用报文的方式实现时钟同步冗余设置,简化了逻辑,降低了资源占用。
下面,将说明本发明实施例在一个实际的应用场景中的示例性应用。
基于上述图5中相关的时钟同步冗余系统,本发明提供了在单域情况下的时钟冗余方法,其流程图如图6所示,图6为本发明实施例提供的一种单域时钟同步冗余方法的可选的流程图;由于控制器A非异常重启,即为正常时间同步,在此不做赘述。该单域时钟同步冗余方法包括S301-S305。
S301、控制器A异常重启,发送应用报文。
控制器A判断自己为异常重启,gPTP协议栈检测到控制器A异常重启,gPTP协议栈向控制器B发送应用报文(对应于第一应用报文)。应用报文格式如上述图2所示,其中模式为0x00时表示正常模式,0x01表示异常模式;
S302、控制器和交换机切换角色。
控制器A在gPTP协议栈中将角色由Master切换为Slave,控制器B在接收到应用报文并解析出异常模式后,在gPTP协议栈中将角色由Slave切换为Master,同时交换机从Domain0切换到Domain1。
S303、控制器B向控制器A同步,发送应用报文。
由gPTP协议栈将控制器B的当前时间戳作为同步时间,向控制器A发送时间同步报文(对应于第一时间同步报文)。控制器A进行时间同步。控制器A判断时间同步成功后,gPTP协议栈检测到控制器A正常工作,即处于常规模式,gPTP协议栈向控制器B发送模式为常规模式的应用报文(对应于第二应用报文)。
S304、控制器和交换机切换角色。
将控制器A的gPTP协议栈切换为常规模式,控制器B在接收到应用报文后亦将自己的gPTP协议栈切换为常规模式,同时交换机从Domain1切换到Domain0。
S305、控制器A向其他控制器同步。
控制器B判断时间同步成功后,由控制器A作为主时钟向其他控制器进行时间同步。并且恢复正常情况,由控制器A向控制器B发送时间同步报文。
本发明实施例提供的单域时钟同步冗余方法,在同一套协议栈中完成单域下主时钟和从时钟的切换,通过发送应用报文的方式实现时钟同步冗余设置,简化了逻辑,降低了资源占用。
在本发明实施例中,图7为本发明实施例提出的时钟同步设备组成结构示意图,如图7所示,本发明实施例提出的时钟同步设备70包括处理器701、存储可执行计算机程序的存储器702,处理器701,用于执行存储器702中存储的可执行计算机程序时,实现本发明实施例提供的时钟同步方法。
在一些实施例中,时钟同步设备70还可以包括通信接口703,以及用于连接处理器701、存储器702和通信接口703的总线704。
在本发明实施例中,上述处理器701可以为特定用途集成电路(ApplicationSpecific Integrated Circuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、数字信号处理装置(Digital Signal Processing Device,DSPD)、可编程逻辑装置(ProgRAMmable Logic Device,PLD)、现场可编程门阵列(Field ProgRAMmable GateArray,FPGA)、中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述处理器功能的电子器件还可以为其它,本发明实施例不作具体限定。
在本发明实施例中,总线704用于连接通信接口703、处理器701以及存储器702,实现这些器件之间的相互通信。
存储器702用于存储可执行计算机程序和数据,该可执行计算机程序包括计算机操作指令,存储器702可能包含高速RAM存储器,也可能还包括非易失性存储器,例如,至少两个磁盘存储器。在实际应用中,上述存储器702可以是易失性存储器(volatile memory),例如随机存取存储器(Random-Access Memory,RAM);或者非易失性存储器(non-volatilememory),例如只读存储器(Read-Only Memory,ROM),快闪存储器(flash memory),硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);或者上述种类的存储器的组合,并向处理器701提供可执行计算机程序和数据。
另外,在本实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例提供一种计算机可读存储介质,存储有计算机程序,用于被处理器执行时实现如上任一实施例所述的时钟同步方法。
示例性的,本实施例中的一种时钟同步方法对应的程序指令可以被存储在光盘,硬盘,U盘等存储介质上,当存储介质中的与一种时钟同步方法对应的程序指令被一电子设备读取或被执行时,可以实现如上述任一实施例所述的时钟同步方法。
为实现本发明实施例的时钟同步方法,本发明实施例还提供一种时钟同步系统,如图8所示,图8为本发明实施例提供的一种时钟同步系统的可选的结构示意图,该时钟同步系统80包括:承载协议栈的时钟同步设备70、第一设备801和第二设备802,时钟同步设备70分别与第一设备801和第二设备802连接,时钟同步设备70、第一设备801和第二设备802之间采用同一套协议栈;当时钟同步设备70检测到作为主时钟的第一设备801处于异常状态时,向作为从时钟的第二设备802发送携带第一设备异常信息的第一应用报文;第二设备802基于第一应用报文将在协议栈中的角色由从时钟切换为主时钟;时钟同步设备70基于作为主时钟的第二设备802的当前时间戳,向第一设备801发送第一时间同步报文;第一设备801在工作时基于第一时间同步报文在同步成功后恢复常规状态;当时钟同步设备70检测到第一设备801处于常规状态时,向第一设备801发送第一切换指令;第一设备801基于第一切换指令将在协议栈中的角色由从时钟切换为主时钟。
在一些实施例中,时钟同步设备70包括交换机,交换机分别与第一设备801和第二设备802连接;通过交换机向作为从时钟的第二设备802发送携带第一设备异常信息的第一应用报文;交换机基于第一应用报文由第一模式切换至第二模式;其中,在第一模式下交换机的第一主端口与第一设备801连接,交换机的第一从端口与第二设备802连接,在第二模式下交换机的第二主端口与第二设备802连接,交换机的第二从端口与第一设备801连接。
在一些实施例中,时钟同步设备70包括交换机,交换机分别与第一设备801和第二设备802连接;通过交换机向作为主时钟的第二设备802发送携带第一设备常规信息的第二应用报文;交换机基于第二应用报文由第二模式切换至第一模式。
在一些实施例中,当时钟同步设备70检测到作为主时钟的第一设备801处于异常状态时,向作为从时钟的第二设备802发送携带第一设备异常信息的第一应用报文,并向第一设备801发送第二切换指令;第二设备802基于第一应用报文将在协议栈中的角色由从时钟切换为主时钟;第一设备801基于第二切换指令将在协议栈中的角色由主时钟切换为从时钟。
在一些实施例中,当时钟同步设备70检测到第一设备801处于常规状态时,向第一设备801发送第一切换指令,并向作为主时钟的第二设备802发送携带第一设备常规信息的第二应用报文;第一设备801基于第一切换指令将在协议栈中的角色由从时钟切换为主时钟;第二设备802基于第二应用报文将在协议栈中的角色由主时钟切换为从时钟。
在一些实施例中,时钟同步设备70基于重新作为主时钟的第一设备801的当前时间戳,向第二设备802发送第二时间同步报文,并向其他设备发送第三时间同步报文;第二设备802基于第二时间同步报文进行时间同步;其他设备基于第三时间同步报文进行各自的时间校正。
在一些实施例中,时钟同步设备70读取第一设备801的寄存器;根据寄存器中存储的用于表征第一设备工作状态的参数,判断第一设备801是否处于异常状态。
需要说明的是,上述实施例提供的时钟同步系统在进行时钟同步时,仅以上述各程序设备的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序设备完成,即将系统的内部结构划分成不同的程序设备,以完成以上描述的全部或者部分处理。另外,上述实施例提供的时钟同步系统与时钟同步方法实施例属于同一构思,其具体实现过程及有益效果详见方法实施例,这里不再赘述。对于本系统实施例中未披露的技术细节,请参照本发明方法实施例的描述而理解。
本领域内的技术人员应明白,本发明实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的实现流程示意图和/或方框图来描述的。应理解可由计算机程序指令实现流程示意图和/或方框图中的每一流程和/或方框、以及实现流程示意图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (14)
1.一种时钟同步方法,其特征在于,所述方法应用于承载协议栈的时钟同步设备,所述时钟同步设备分别与第一设备和第二设备连接,所述时钟同步设备、所述第一设备和所述第二设备之间采用同一套协议栈,所述方法包括:
当检测到作为主时钟的第一设备处于异常状态时,向作为从时钟的第二设备发送携带第一设备异常信息的第一应用报文,使得所述第二设备基于所述第一应用报文将在协议栈中的角色由从时钟切换为主时钟;
基于作为主时钟的第二设备的当前时间戳,向所述第一设备发送第一时间同步报文,使得所述第一设备在工作时基于所述第一时间同步报文在同步成功后恢复常规状态;
当检测到所述第一设备处于常规状态时,向所述第一设备发送第一切换指令,使得所述第一设备基于所述第一切换指令将在协议栈中的角色由从时钟切换为主时钟。
2.根据权利要求1所述的方法,其特征在于,所述当检测到作为主时钟的第一设备处于异常状态时,向作为从时钟的第二设备发送携带第一设备异常信息的第一应用报文,包括:
当检测到作为主时钟的第一设备处于所述异常状态时,向作为从时钟的第二设备发送携带第一设备异常信息的第一应用报文,并向所述第一设备发送第二切换指令,使得所述第一设备基于所述第二切换指令将在协议栈中的角色由主时钟切换为从时钟。
3.根据权利要求1所述的方法,其特征在于,所述当检测到所述第一设备处于常规状态时,向所述第一设备发送第一切换指令,包括:
当检测到第一设备处于常规状态时,向所述第一设备发送所述第一切换指令,并向作为主时钟的第二设备发送携带第一设备常规信息的第二应用报文,使得所述第二设备基于所述第二应用报文将在协议栈中的角色由主时钟切换为从时钟。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述时钟同步设备包括交换机,所述交换机分别与所述第一设备和所述第二设备连接;
所述向作为从时钟的第二设备发送携带第一设备异常信息的第一应用报文,包括:
通过所述交换机向作为从时钟的第二设备发送携带第一设备异常信息的第一应用报文;
所述方法还包括:
所述交换机基于所述第一应用报文由第一模式切换至第二模式;其中,在所述第一模式下所述交换机的第一从端口与所述第一设备连接,所述交换机的第一主端口与所述第二设备连接,在所述第二模式下所述交换机的第二从端口与所述第二设备连接,所述交换机的第二主端口与所述第一设备连接。
5.根据权利要求3所述的方法,其特征在于,所述时钟同步设备包括交换机,所述交换机分别与所述第一设备和所述第二设备连接;
所述向作为主时钟的第二设备发送携带第一设备常规信息的第二应用报文,包括:
通过所述交换机向作为主时钟的第二设备发送携带第一设备常规信息的第二应用报文;
所述方法还包括:
所述交换机基于所述第二应用报文由第二模式切换至第一模式。
6.根据权利要求1-3任一项所述的方法,其特征在于,所述第一设备基于所述第一切换指令将在协议栈中的角色由从时钟切换为主时钟之后,所述方法还包括:
基于重新作为主时钟的第一设备的当前时间戳,向所述第二设备发送第二时间同步报文,并向其他设备发送第三时间同步报文,使得所述第二设备基于所述第二时间同步报文进行时间同步,所述其他设备基于所述第三时间同步报文进行各自的时间校正。
7.根据权利要求1-3任一项所述的方法,其特征在于,所述当检测到作为主时钟的第一设备处于异常状态时,向作为从时钟的第二设备发送携带第一设备异常信息的第一应用报文之前,所述方法还包括:
读取所述第一设备的寄存器;
根据所述寄存器中存储的用于表征第一设备工作状态的参数,判断所述第一设备是否处于异常状态。
8.根据权利要求1-3任一项所述的方法,其特征在于,所述第一应用报文或第二应用报文均包括源地址、目的地址、工作模式和数据;
其中,所述源地址表征作为主时钟的设备的地址;所述目的地址表征作为从时钟的设备的地址;所述工作模式表征作为主时钟的设备的工作状态,所述工作状态包括异常状态和常规状态;所述数据包括工作状态的判断规则。
9.根据权利要求1-3任一项所述的方法,其特征在于,所述第一时间同步报文、第二时间同步报文、第三时间同步报文、所述第一应用报文和第二应用报文属于单域上的以太网报文。
10.一种时钟同步设备,其特征在于,所述设备包括:
存储器,用于存储可执行计算机程序;
处理器,用于执行所述存储器中存储的可执行计算机程序时,实现权利要求1-9任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,存储有计算机程序,用于被处理器执行时,实现权利要求1-9任一项所述的方法。
12.一种时钟同步系统,其特征在于,所述系统包括承载协议栈的时钟同步设备、第一设备和第二设备,所述时钟同步设备分别与所述第一设备和所述第二设备连接,所述时钟同步设备、所述第一设备和所述第二设备之间采用同一套协议栈;
当所述时钟同步设备检测到作为主时钟的第一设备处于异常状态时,向作为从时钟的第二设备发送携带第一设备异常信息的第一应用报文;
所述第二设备基于所述第一应用报文将在协议栈中的角色由从时钟切换为主时钟;
所述时钟同步设备基于作为主时钟的第二设备的当前时间戳,向所述第一设备发送第一时间同步报文;
所述第一设备在工作时基于所述第一时间同步报文在同步成功后恢复常规状态;
当所述时钟同步设备检测到所述第一设备处于常规状态时,向所述第一设备发送第一切换指令;
所述第一设备基于所述第一切换指令将在协议栈中的角色由从时钟切换为主时钟。
13.根据权利要求12所述的系统,其特征在于,所述时钟同步设备包括交换机,所述交换机分别与所述第一设备和所述第二设备连接;
通过所述交换机向作为从时钟的第二设备发送携带第一设备异常信息的第一应用报文;
所述交换机基于所述第一应用报文由第一模式切换至第二模式;其中,在所述第一模式下所述交换机的第一主端口与第一设备连接,所述交换机的第一从端口与第二设备连接,在所述第二模式下所述交换机的第二主端口与第二设备连接,所述交换机的第二从端口与第一设备连接。
14.根据权利要求12所述的系统,其特征在于,所述时钟同步设备包括交换机,所述交换机分别与所述第一设备和所述第二设备连接;
通过所述交换机向作为主时钟的第二设备发送携带第一设备常规信息的第二应用报文;
所述交换机基于所述第二应用报文由第二模式切换至第一模式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310967514.3A CN116743302A (zh) | 2023-07-31 | 2023-07-31 | 时钟同步方法、设备、计算机可读存储介质和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310967514.3A CN116743302A (zh) | 2023-07-31 | 2023-07-31 | 时钟同步方法、设备、计算机可读存储介质和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116743302A true CN116743302A (zh) | 2023-09-12 |
Family
ID=87901486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310967514.3A Pending CN116743302A (zh) | 2023-07-31 | 2023-07-31 | 时钟同步方法、设备、计算机可读存储介质和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116743302A (zh) |
-
2023
- 2023-07-31 CN CN202310967514.3A patent/CN116743302A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10114713B1 (en) | Systems and methods for preventing split-brain scenarios in high-availability clusters | |
US5694542A (en) | Time-triggered communication control unit and communication method | |
US20200193027A1 (en) | Firmware upgrade method, slave station of robot, and machine readable storage medium | |
CN107070731B (zh) | 一种主从仲裁方法及系统 | |
WO2017152860A1 (zh) | 一种心跳信息发送方法、装置及心跳发送节点 | |
CN102257759A (zh) | 主备倒换方法、系统控制单元和通信系统 | |
CN109495345B (zh) | 一种bfd处理方法及网络设备 | |
CN111585835B (zh) | 一种带外管理系统的控制方法、装置和存储介质 | |
CN115589273B (zh) | Epa通信系统 | |
CN111835446A (zh) | 主设备确定方法、装置及设备、介质 | |
EP3806391A1 (en) | Synchronization information transmission method, sending end device, receiving end device and storage medium | |
CN112019614B (zh) | 双系统之间通信与通信同步的方法、系统与处理器 | |
CN116743302A (zh) | 时钟同步方法、设备、计算机可读存储介质和系统 | |
TWI677247B (zh) | 多節點裝置及其備援通訊方法 | |
CN113032021B (zh) | 系统切换及其数据处理方法、装置、设备及存储介质 | |
CN111510336B (zh) | 一种网络设备状态管理方法及装置 | |
CN114422335A (zh) | 通信方法、装置、服务器及存储介质 | |
WO2023007209A1 (en) | Fault-tolerant distributed computing for vehicular systems | |
CN100508627C (zh) | 一种实现加扰器备份的系统及方法 | |
CN102790814B (zh) | 一种媒体接入控制地址确定方法、相关装置及系统 | |
CN112865899B (zh) | 一种调整物理层phy主从模式的方法及装置 | |
US20220337384A1 (en) | Clock Port Attribute Recovery Method, Device, and System | |
CN117834559A (zh) | 数据传输方法、系统、电子设备和存储介质 | |
CN114205207B (zh) | 一种网络管理方法、装置 | |
EP4203568A1 (en) | Time synchronization failure processing method, device and system |
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 |