时钟同步方法、设备及介质与流程

    技术2025-07-07  5


    本发明涉及时钟同步领域,尤其是涉及一种时钟同步方法、设备及介质。


    背景技术:

    1、当前轨道交通运输控制领域通常依赖专用的嵌入式板卡来实现安全计算机平台。然而,随着城市地铁线路建设规模的扩大和城市轨道交通网络化、高速化的发展,城市网络运营的困难程度急剧增加,给基础设施建设和运维管理带来了极大挑战。为了应对这一挑战,结合数字化智能化趋势,云计算技术开始逐步被引入到轨道交通领域。基于商用服务器的云计算安全平台因此应运而生,为轨道交通系统提供了更加灵活、高效的安全解决方案。

    2、时钟同步是安全平台周期对齐的一个关键技术。传统基于专用的嵌入式板卡的安全计算机平台系内上下模块可以通过专用的硬连线确保时钟同步和调整、系间则可采用专用的串口连线来实现任务级时钟同步和调整。然而,基于商用服务器的云计算安全平台的分布在各服务器上的安全组件之间只能通过非专用的网络通信,且安全时钟板源之间都是彼此独立的,因此如何来确保各服务器之间的时钟同步成为亟需解决的难题。

    3、经过检索,中国发明授权专利cn113541844b,公开了一种多节点时钟同步方法和时钟同步模块,列车运行控制系统中所有逻辑处理通道中的独立时钟源分别生成本通道的时钟同步信号,每个逻辑处理通道向内部总线上广播本通道的时钟同步信号并从内部总线接收其它通道的时钟同步信号,每个逻辑处理通道根据所有通道的时钟同步信号计算统一的同步时钟,利用统一的同步时钟调整本通道的时钟。但是,上述方案是基于安全平台内部专用的通信介质来确保交互时钟同步信号的有效性,即对交互消息的介质有一定要求,存在一定局限性。

    4、因此,亟需设计一种对传输介质不受限、通用性更高的时钟同步方法,以确保各服务器之间的精准时钟同步。


    技术实现思路

    1、本发明的目的就是为了克服上述现有技术存在的缺陷而提供了一种对传输介质不受限、通用性更高的时钟同步方法、设备及介质,可实现各服务器之间的精准时钟同步。

    2、本发明的目的可以通过以下技术方案来实现:

    3、根据本发明的第一方面,提供了一种时钟同步方法,将云计算安全平台中所有服务器外接一个独立安全时钟源,每个服务器上所有安全组件共享所述独立安全时钟源产生的时钟同步信号,时钟同步过程包括:

    4、初始化阶段:安全时钟中断信号到来时,安全时钟计数加1;若双系同时启动,则通过时钟同步消息确定本模块进入主任务的时间并在进入主任务后调整本模块的安全时钟计数与发送系上模块一致,否则通过先启动系统的sync消息确定本模块进入主任务的时间并在进入主任务后调整本模块的安全时钟计数与先启动系一致;所述时钟同步消息和所述sync消息中均包括发送系当前的ptp时间和当前的安全时钟计数;

    5、主任务阶段:安全时钟中断信号到来时,每个安全组件计算本模块相邻两次中断时长计数值的差值并进行检查,检查通过后安全时钟计数加1;双系下模块根据本系上模块发送的sync消息开始执行主任务;主系上模块在每次主任务开始向本系下模块和对系上模块发送一次sync消息,非主系上模块根据收到的主系上模块的sync消息调整本模块的安全时钟计数并在每次主任务开始通过网络向本系下模块发送一次sync消息;主系下模块和非主系下模块在每个主任务周期计算相邻两次sync消息接收间隔,接收间隔满足设定要求则进入下一个主周期。

    6、优选地,所述云计算安全平台基于2乘2取2架构。

    7、优选地,所述云计算安全平台内置的4个安全组件,所述4个安全组件分布在4个服务器上或部分分布在同一个服务器上。

    8、优选地,所述将云计算安全平台中所有服务器外接一个独立安全时钟源,具体为:将云计算安全平台中所有服务器通过pcie外接一个安全时钟板卡作为独立安全时钟源。

    9、优选地,所述初始化阶段还包括安全组件初始化,所述安全组件初始化具体为:创建与ptp主时钟进行同步的任务,开始周期性同步ptp时间。

    10、优选地,所述每个安全组件计算本模块相邻两次中断时长计数值的差值并进行检查,包括:

    11、若安全组件本模块的相邻两次中断时长计数值之差连续k次超过设定值,则认定检查不通过,此时进入安全态。

    12、优选地,所述初始化阶段,确定本模块进入主任务的时间,具体包括:

    13、对于发送系上模块:将当前的ptp时间t1和安全时钟计数g_localtick11通过时钟同步消息发送给本系下模块和对系上模块,并确定本模块进入主任务的时间为t1+n个ticks,其中,n个ticks为约定的预留时间,n个ticks后,本模块进入主任务;

    14、对于发送系下模块和对系上下模块:根据发送系上模块发送的时钟同步消息中的ptp时间t1、本模块收到该时钟同步消息时的本地ptp时间t2以及本模块收到该时钟同步消息时的本地安全时钟计数g_localtick22,确定本模块进入主任务的时间g_start,计算表达式为:g_start=g_localtick22-(t2-t1)/c+n个ticks,c为一个时钟中断;

    15、对于对系下模块:根据收到的本系上模块时钟同步消息中t1、本模块收到该时钟同步消息时的本地ptp时间t4和本模块收到该时钟同步消息时的本地安全时钟计数g_localtick3,确定本模块进入主任务的时间g_start,计算方法为:g_start=g_localtick32-(t4-t1)/c+n个ticks。

    16、优选地,所述对于发送系下模块和对系上下模块,确定本模块进入主任务的时间后,还包括:

    17、将从发送系上模块收到的时钟同步消息转发给本系下模块;

    18、在进入主任务前一个安全时钟中断,将本地的安全时钟计数g_localtick调整为收到的时钟同步消息中g_localtick11+(n-1)个ticks,并在下一个安全中断进入主任务。

    19、优选地,所述n个ticks为主周期长度/2后的整数倍。

    20、优选地,所述对于对系下模块,确定本模块进入主任务的时间后,还包括:在进入主任务前一个安全时钟中断,将本地的安全时钟计数g_localtick调整为收到的时钟同步消息中g_localtick11+(n-1)个ticks,并在下一个安全中断进入主任务。

    21、优选地,所述主任务阶段,对于主系上模块,如果满足(当前的安全时钟计数g_localtick-本周期主任务开始的安全时钟计数g_maincyclestart)%(主周期长度/c)=0时,则通过网络向本系下模块和对系上模块发送sync消息,并开始下一个主任务周期;所述sync消息中至少包含当前的ptp时间t1和安全时钟计数g_localtick11。

    22、优选地,所述主任务阶段,对于主系下模块,收到本系上模块的sync消息后,记录收到sync消息的时间g_cursynctime,并立马开始下一个主任务周期;每个主任务周期应计算相邻两次sync消息接收间隔(g_cursynctime-g_lastsynctime),如果主周期长度偏差超过主任务周期长度的1/1000,则进入安全态。

    23、优选地,所述主任务阶段,对非主系上模块,如果(当前的安全时钟计数g_localtick-本周期主任务开始的安全时钟计数g_maincyclestart)%(主周期长度/c)=0时,则通过网络向本系下模块发送sync消息,并开始下一个主任务周期;同时,每个主周期根据收到的主系的上模块sync消息调整本模块的安全时钟计数,确保主备系同步。

    24、优选地,所述每个主周期根据收到的主系的上模块sync消息调整本模块的安全时钟计数,确保主备系同步,具体调整策略包括:

    25、如果本模块的安全时钟计数与主机时钟差值的绝对值小于1个时钟中断,则无需调整;

    26、如果本模块的安全时钟计数与主机时钟差值的绝对值处于1~3个时钟中断之间,则本模块的安全时钟计数向主机时钟调整一个中断数;

    27、如果本模块的安全时钟计数与主机时钟差值的绝对值大于3个时钟中断,第一次宽恕,本模块的安全时钟计数向主机时钟调整一个中断数,置本模块的状态为时钟不同步,若连续出现2次,则本模块应进入安全态;

    28、其中,所述主机时钟表示主系上模块发来的sync消息中的安全时钟计数。

    29、根据本发明的第二方面,提供了一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现任一项所述的方法。

    30、根据本发明的第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现任一项所述的方法。

    31、与现有技术相比,本发明具有以下有益效果:

    32、1)本发明不依赖于特定的物理通道,基于统一的ptp时间并结合各通道独立的外接安全时钟源,可以实现对不同的通道进行消息时延的确定,实现多通道的时钟同步,适用于基于商用服务器的云计算安全平台,同样也适用于传统基于专用的嵌入式板卡的安全计算机平台,通用性高,便于移植。

    33、2)本发明中基于ptp实现加入过程的时钟同步,后续主任务执行中,从时钟跟随主时钟,对主时钟进行校验,但不进行时钟调整,即可实现通道间的时钟同步,且保证时钟准确性,避免单点故障。

    34、3)本发明加入过程中基于ptp时间和安全时钟计数计算各安全组件之间的消息传输延时,从而使得时钟同步更精确。


    技术特征:

    1.一种时钟同步方法,其特征在于,将云计算安全平台中所有服务器外接一个独立安全时钟源,每个服务器上所有安全组件共享所述独立安全时钟源产生的时钟同步信号,时钟同步过程包括:

    2.根据权利要求1所述的一种时钟同步方法,其特征在于,所述云计算安全平台基于2乘2取2架构。

    3.根据权利要求2所述的一种时钟同步方法,其特征在于,所述云计算安全平台内置的4个安全组件,所述4个安全组件分布在4个服务器上或部分分布在同一个服务器上。

    4.根据权利要求1所述的一种时钟同步方法,其特征在于,所述将云计算安全平台中所有服务器外接一个独立安全时钟源,具体为:将云计算安全平台中所有服务器通过pcie外接一个安全时钟板卡作为独立安全时钟源。

    5.根据权利要求1所述的一种时钟同步方法,其特征在于,所述初始化阶段还包括安全组件初始化,所述安全组件初始化具体为:创建与ptp主时钟进行同步的任务,开始周期性同步ptp时间。

    6.根据权利要求1所述的一种时钟同步方法,其特征在于,所述每个安全组件计算本模块相邻两次中断时长计数值的差值并进行检查,包括:

    7.根据权利要求1所述的一种时钟同步方法,其特征在于,所述初始化阶段,确定本模块进入主任务的时间,具体包括:

    8.根据权利要求7所述的一种时钟同步方法,其特征在于,所述对于发送系下模块和对系上下模块,确定本模块进入主任务的时间后,还包括:

    9.根据权利要求7所述的一种时钟同步方法,其特征在于,所述对于对系下模块,确定本模块进入主任务的时间后,还包括:在进入主任务前一个安全时钟中断,将本地的安全时钟计数g_localtick调整为收到的时钟同步消息中g_localtick11+(n-1)个ticks,并在下一个安全中断进入主任务。

    10.根据权利要求7所述的一种时钟同步方法,其特征在于,所述n个ticks为主周期长度/2后的整数倍。

    11.根据权利要求1所述的一种时钟同步方法,其特征在于,所述主任务阶段,对于主系上模块,如果满足(当前的安全时钟计数g_localtick-本周期主任务开始的安全时钟计数g_maincyclestart)%(主周期长度/c)=0时,则通过网络向本系下模块和对系上模块发送sync消息,并开始下一个主任务周期;所述sync消息中至少包含当前的ptp时间t1和安全时钟计数g_localtick11。

    12.根据权利要求1所述的一种时钟同步方法,其特征在于,所述主任务阶段,对于主系下模块,收到本系上模块的sync消息后,记录收到sync消息的时间g_cursynctime,并立马开始下一个主任务周期;每个主任务周期应计算相邻两次sync消息接收间隔(g_cursynctime-g_lastsynctime),如果主周期长度偏差超过主任务周期长度的1/1000,则进入安全态。

    13.根据权利要求1所述的一种时钟同步方法,其特征在于,所述主任务阶段,对非主系上模块,如果(当前的安全时钟计数g_localtick-本周期主任务开始的安全时钟计数g_maincyclestart)%(主周期长度/c)=0时,则通过网络向本系下模块发送sync消息,并开始下一个主任务周期;同时,每个主周期根据收到的主系的上模块sync消息调整本模块的安全时钟计数,确保主备系同步。

    14.根据权利要求13所述的一种时钟同步方法,其特征在于,所述每个主周期根据收到的主系的上模块sync消息调整本模块的安全时钟计数,确保主备系同步,具体调整策略包括:

    15.一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~14任一项所述的方法。

    16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1~14中任一项所述的方法。


    技术总结
    本发明涉及一种时钟同步方法、设备及介质,该方法包括:将云计算安全平台中所有服务器外接一个独立安全时钟源,每个服务器上所有安全组件共享所述独立安全时钟源产生的时钟同步信号,时钟同步过程包括:初始化阶段,通过时钟同步消息或先启动系统的SYNC消息确定本模块进入主任务的时间,并在进入主任务后调整本模块的安全时钟计数一致;主任务阶段,基于PTP时间和安全时钟计数计算各安全组件之间的消息传输延时,进行时钟同步。与现有技术相比,本发明具有对传输介质不受限且时钟同步精准度高等优点。

    技术研发人员:顾文华,杨辉,郑重虎,胡源,周庭梁
    受保护的技术使用者:卡斯柯信号有限公司
    技术研发日:
    技术公布日:2024/10/24
    转载请注明原文地址:https://symbian.8miu.com/read-33437.html

    最新回复(0)