一种分布实时系统的分布节点时钟校准方法与流程

文档序号:12375312阅读:547来源:国知局
一种分布实时系统的分布节点时钟校准方法与流程
本发明属于计算机技术,涉及对分布实时系统的分布节点时钟进行校准方法。
背景技术
:传统分布实时系统每个节点具有各自的本地时钟,但没有统一的全局时钟,每个节点的本地时钟按照各自的周期作为节点任务的调度基准,各个节点的任务执行无法做到协调一致。如果要进行整个分布系统的任务部署,须在通过提高分布网络总线的数据更新速率以及每个节点以最密集的任务执行周期来保证整个系统的任务执行。技术实现要素:本发明的目的是:在分布式实时系统中,通过分布节点的时钟校准,保证所有节点计算机与全局时钟保持一致,为各个分布节点计算机的任务调度提供协调一致的时钟基准。本发明的技术方案是:一种分布实时系统的分布节点时钟校准方法,其特征在于,分布节点计算机通过接收全局的时钟,通过对本地时钟进行调整,使得本地时钟与全局时钟在允许的时钟偏差之中,达到整个分布式冗余系统各个节点时钟协调一致;具体实现步骤如下:1.1全局时钟主节点:全局时钟主节点的全局时钟的更新为T,在每个全局时钟的更新T的开始,向各个分布节点发送全局时钟的更新信号;1.2分布节点分布节点计算机通过接收全局的时钟,通过对本地时钟进行调整,使得本地时钟与全局时钟在允许的时钟偏差之中,达到整个分布式冗余系统各个节点时钟协调一致;步骤如下:a)每个分布节点在正确接收到全局时钟的更新信号时刻,记录本地时钟t,并置全局时钟更新标志t_flag1为TRUE;b)在分布节点的时钟校准周期为T1的中间某个时刻t1((0.2*T1)≤t1≤(0.8*T1)),若t_flag1为TRUE,则将各自收到全局时钟的更新信号的本地时钟t减去理论偏差t0作为本地时钟偏差a(a=t-t0),同时置本地时钟有效标志t_flag2为TRUE交叉传输给同类的分布节点;否则置为0,同时置本地时钟有效标志t_flag2为FALSE交叉传输给同类的分布节点。每个分布节点置全局时钟更新标志t_flag1为FALSE;c)接收各个同类的分布节点的本地时钟偏差a以及时钟有效标志t_flag2。依据收到的各个分布节点的本地偏差a以及本地时钟有效标志t_flag2,对各个分布节点的本地时钟有效标志t_flag2为TRUE的节点的本地时钟进行累加后取平均值作为时钟异步偏差A;d)每个分布节点在其时钟校准周期T1的开始获取时钟异步度偏差A,计算本地时钟的调整值deltaT,依据调整值deltaT计算被节拍的周期时间T2(T2=T1-deltaT)启动本地时钟计时时间T2。本发明的优点是:实现在分布式冗余实时系统中,通过分布节点的时钟校准,保证所有节点计算机与全局时钟保持一致,为各个分布节点计算机的任务调度提供协调一致的时钟基准。该方法简单,对硬件资源要求较少,易于实现。能满足分布式冗余实时系统的时间同步要求。同步时间范围宽。附图说明图1是本发明的本地时钟调整流程图。图2是本发明的时钟偏差计算流程图。图3是本发明的获取全局时钟更新时本地时钟的流程图。具体实施方式下面对本发明做进一步详细说明。参见图1,图2,图3。分布式系统具有2个或2个以上的相似分布系统,每个分布系统具有各自的网络总线,多个计算机作为网络节点挂接在网络总线之上;每个节点具有自主的本地时钟,每个网络具有提供全局时钟的主节点,分布式冗余系统中的各个分布网络的全局时钟的主节点的时钟是同步一致的。其特征在于分布节点计算机通过接收全局的时钟,通过对本地时钟进行调整,使得本地时钟与全局时钟在允许的时钟偏差之中,达到整个分布式冗余系统各个节点时钟协调一致。本发明在分布式实时系统中,可保证所有节点计算机与全局时钟保持一致,为各个分布节点计算机的任务调度提供协调一致的时钟基准。假设全局时钟的更新为T,分布节点的时钟校准周期为T1,T为T1的n倍(n>=1)。对于分布节点时钟校准方法的步骤如下:1.1全局时钟主节点:全局时钟主节点的全局时钟的更新为T。在每个全局时钟的更新T的开始,向各个分布节点发送全局时钟的更新信号。1.2分布节点分布节点计算机通过接收全局的时钟,通过对本地时钟进行调整,使得本地时钟与全局时钟在允许的时钟偏差之中,达到整个分布式冗余系统各个节点时钟协调一致。步骤如下:a)如图1所示,每个分布节点在正确接收到全局时钟的更新信号时刻,记录本地时钟t,并置全局时钟更新标志t_flag1为TRUE。;b)如图3所示,在分布节点的时钟校准周期为T1的中间某个时刻t1((0.2*T1)≤t1≤(0.8*T1)),若t_flag1为TRUE,则将各自收到全局时钟的更新信号的本地时钟t减去理论偏差t0作为本地时钟偏差a(a=t-t0),同时置本地时钟有效标志t_flag2为TRUE交叉传输给同类的分布节点;否则置为0,同时置本地时钟有效标志t_flag2为FALSE交叉传输给同类的分布节点。每个分布节点置全局时钟更新标志t_flag1为FALSE;c)接收各个同类的分布节点的本地时钟偏差a以及时钟有效标志t_flag2。依据收到的各个分布节点的本地偏差a以及本地时钟有效标志t_flag2,对各个分布节点的本地时钟有效标志t_flag2为TRUE的节点的本地时钟进行累加后取平均值作为时钟异步偏差A。d)如图3所示,每个分布节点在其时钟校准周期T1的开始获取时钟异步度偏差A,计算本地时钟的调整值deltaT,依据调整值deltaT计算被节拍的周期时间T2(T2=T1-deltaT)启动本地时钟计时时间T2。在本发明的一个实施例中,T为10ms,T1为1ms。下表为本发明实施例2~4的调整参数。TT1deltaT例110ms1ms500μs例210ms1ms600μs例310ms1ms200μs例410s10ms5ms当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1