CN101132270B - 多节点协调的时间一致性管理方法 - Google Patents
多节点协调的时间一致性管理方法 Download PDFInfo
- Publication number
- CN101132270B CN101132270B CN2007101198946A CN200710119894A CN101132270B CN 101132270 B CN101132270 B CN 101132270B CN 2007101198946 A CN2007101198946 A CN 2007101198946A CN 200710119894 A CN200710119894 A CN 200710119894A CN 101132270 B CN101132270 B CN 101132270B
- Authority
- CN
- China
- Prior art keywords
- time
- local
- coordinator
- node
- value
- 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.)
- Expired - Fee Related
Links
Images
Abstract
本发明涉及一种多节点协调的时间一致性管理方法,属于分布式系统时间管理技术领域。本发明包含两个方面:1)根据职能和逻辑关系对分布式系统中的各个节点进行角色及层次的划分;2)分布式节点时间同步的分层协调流程,可以具体分为以下几个步骤:2.1)分布式成员节点发出时间推进请求,处理内部消息并进行时间推进;2.2)局部时间协调者对其协调范围内的成员节点进行信息维护和时间同步;2.3)全局时间协调者对所有的局部时间协调者进行信息的维护和时间同步。本发明具有执行效率高、网络带宽占用量少的优点,在分布式系统运行过程中,能够有效地保证分布式系统的时间一致性,协调分布式节点之间的时间推进关系。
Description
技术领域
本发明涉及一种分布式多节点的时间管理方法,属于分布式系统与计算机网络领域。
背景技术
分布式系统是指通过网络将地理上分散的节点加以连接,从而构成的物理分布、逻辑一致的计算机系统。它使置于其中的各个节点可以互相协调工作,共同完成一项任务。分布式系统以其强大的计算能力和广泛的应用空间成为计算机学科的重要研究领域之一。但是,在实际的系统运行过程中,有时会出现不一致、异常的现象,以分布式交互仿真中的一个现象为例:如图1所示,坦克向目标开火,随后将此消息传递给其他成员,目标收到后,触发了爆炸事件,又将这一消息传递给观察者。在观察者处,它却先看到了目标爆炸,然后看到了坦克开火这样的异常现象。
这种不一致的现象是由分布式系统的特点造成的,随着系统规模的增大,表现更为突出。产生这种现象的原因主要有两方面,一方面是由于各个节点分布于不同的地理位置,没有一个统一、严格的物理时钟对它们进行同步;两外一方面由于信息传输的延迟,使节点之间消息的传送产生了乱序。一致性是分布式系统的基本要求,为了解决这个问题,我们需要“时间管理”。时间管理,也可称作“时间同步”,它管理分布式系统中各类消息的发送和接收并协调不同的时间推进机制,从而保证分布式系统中各个节点逻辑的正确性。
时间管理方法可以分为保守时间推进方法和乐观时间推进方法两大类。其中,保守时间推进方法的主要思想是:在分布式系统运行过程中,各个分布的节点通过相互发送消息进行协调,从而保证本地的因果关系不会被破坏。保守时间推进方法是对分布式系统节点间进行同步的行之有效的方法,国内对此进行了大量的研究。目前广泛采用的保守时间管理方法主要有两种,一种是基于时间推进上限及安全事件集的方法;一种是基于因果关系序的时间管理方法。其中,第一种方法是在每个分布式节点处维护一个虚拟逻辑时间,通过搜集各个节点的时间信息,计算出该节点的时间推进上限以及可以安全处理的标有时间值的事件集合,节点可以安全推进到时间上限范围内的任一逻辑时间值,并可以处理安全事件集合中的任何事件,确保节点以时间递增的顺序协调推进,从而消除了异常与不一致的现象。该类方法应用较为广泛,具体又可以分为多种不同的方法,主要体现在时间信息的搜集方法以及时间推进上限的计算方法的不同上。该类方法目前存在的问题是,各节点进行全局时间信息的搜集和全局计算效率较低并且占用了大量的网络带宽,随着分布式系统规模的扩大、节点数量的增多,严重影响了系统的效率,并且如果计算的方法不当又没有采取有效的死锁避免和检测措施还会造成系统运行过程无法进行。第二种方法是通过捕获各个分布式节点产生的事件之间的因果关系,确保消息按照因果关系提交给其他的节点。该方法同方法一相比,其对分布节点的消息处理约束要更宽松些,它不必为各个节点维护逻辑时间,消息的提交也不需要按照严格的时间递增的顺序,它只需要确定好提交给同一个节点的消息之间的因果关系,保证这种因果关系不被破坏即可。该方法可以在一定程度上克服方法一中执行效率低的缺点,但是对于同一段时间内发生的,之间没有因果关系的事件,它们的提交顺序不能保证一致。因此该方法不适用于对消息处理顺序要求严格的应用,比如分析性仿真领域。
总的来说,在分布式系统中,如何设计行之有效的时间管理方法,既可以使系统高效运行,又可以占用少量的网络带宽,还可以在最大程度上保证时间的一致性,从而直接影响了整个分布式系统的正确性和规模性,是计算机分布式系统领域所面临的重点、难点问题之一。
发明内容
本发明的目的是提供一种分布式系统以及计算机网络领域中的保守时间管理方法,以便在分布式系统中可以有效、快速地进行时间同步,并且在同步的过程中降低了对网络带宽的消耗,从而提高了系统的运行效率及系统规模。
为完成本发明的目的,本发明采用的技术方案为:将分布式系统中的各个分布式节点根据职能的不同分成三种角色:成员节点、局部时间协调者、全局时间协调者。成员节点完成具体的系统运行逻辑,局部时间协调者对其管理范围内的成员节点进行时间信息维护并对它们的时间同步进行协调,而全局时间协调者的任务是对整个分布式系统中的局部时间协调者的时间信息进行维护并对它们的时间同步进行协调。
与现有的技术方法相比,本发明基于分层协调的时间管理方法的有益效果是:
1、该方法重点考虑了分布式系统规模扩展性,采用这种分层管理、分层协调的方法,同其他的时间管理方法比可以减少系统全局计算的次数以及复杂度,同时可以有效降低网络报文输出数量,有利于系统规模的扩展性。
2、通过多节点分层协调的方法,将数据的计算、维护分布在多个节点上,有效地提高系统运行时的时间推进速度和运行效率。通过对分布式节点的角色及层次的划分,局部时间协调者只需要维护、计算其范围内的各个成员节点的数据,同理全局时间协调者只需要维护、计算各个局部时间协调者的数据,这样系统中就避免了某个节点数据量及计算量过大成为系统瓶颈的问题。
3、通过多节点分层次的进行数据的维护和时间同步的协调,有效地实现数据过滤,降低了网络带宽资源的消耗。由于系统中进行了角色以及层次的划分,每层的节点只对其自身和相邻层次的数据信息感兴趣,例如全局协调者就不需要关心成员节点的信息,反之亦然,这样,不仅数据的一致性比较容易维护,同时也减少了为了维护一致性所发送的大量的信息报文。同时,基于分层协调的方法还可以有效的进行数据信息的过滤,降低网络负载。
附图说明
图1为分布式系统中因果异常现象示意图;
图2为本发明流程图;
图3为角色内部结构示意图;
图4为层次结构示意图;
图5为本发明第二部分的处理流程图;
图6为成员节点处理流程图;
图7为局部时间协调者处理流程图;
图8为全局时间协调者处理流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步详细的描述。
本发明属于分布式系统及计算机网络时间管理领域中的保守时间管理技术,具体地说是一种基于安全推进时间上限以及安全事件集的保守时间管理方法。通过多节点分层次协调、管理的方法达到了分布式节点时间同步效率高、占用网络带宽资源小的发明目的,利于系统的维护和扩展,适用于大规模分布式系统。
请参见图2,本发明包括两方面内容:第一部分是对系统中多个分布节点进行角色和层次的划分。第二部分是分布成员节点时间同步的分层协调流程,其各种成员节点之间的同步过程主要分以下三个步骤:
2.1)成员节点发出时间推进请求,处理内部消息并进行时间推进;
2.2)局部时间协调者对其协调范围内的成员节点进行时间信息维护和时间同步;
2.3)全局时间协调者对所有的局部时间协调者进行时间信息的维护和时间同步。
其中:成员节点完成具体的系统运行逻辑,局部时间协调者对其管理范围内的成员节点进行时间信息维护并对它们的时间同步进行协调,而全局时间协调者的任务是对整个分布式系统中的局部时间协调者的时间信息进行维护并对它们的时间同步进行协调。
下面对本发明作详细陈述。
第一部分
在本发明中,系统中有多个参与系统运行的分布式节点,按照这些节点所完成的功能不同,划分为三种角色以及三个层次,如图3所示。三种角色分别为成员节点、局部时间协调者和全局时间协调者,分别详细介绍如下:
成员节点(Member Node,MN):负责完成具体的系统运行逻辑,其结构如图3。对于一个MN有四个时间特征值,分别为:
逻辑时间(Logical Time,LT):系统运行过程中,成员节点当前推进到的虚拟时间值;
前瞻值:(Lookahead,L):成员节点对其发送信息时间间隔的预测,表明该节点可以预测在系统运行过程中未来的“Lookahead”时间内将不会进行带有时间的信息的发送;
承诺逻辑时间:(Promise Logical Time,PLT):承诺时间是指成员节点能够发送的消息时戳的最大下界,它是对其他成员节点的承诺,即在PLT时间内,不会再发送带时戳的消息,其他节点可以安全处理这一逻辑时间内的消息;
安全时间推进上限(Greatest Advanced Time Stamp,GATS):成员节点可以进行时间推进的最大上限值,任何在该时间内的推进请求都被允许。
同时,成员节点还维护两个消息队列,分别为:
接收序(Receive Order,RO)消息队列:按照节点接收的顺序将消息放入队列,每进行一次时间推进,就对队列中的所有消息进行处理。
时间序(Time Stamp Order,TSO)消息队列:将节点接收到的消息按照其所带的时间戳由小到大的顺序有序地插入到队列中,节点时间推进后,处理队列中消息时间戳小于其要推进的时间值的消息。
局部时间协调者(Local Time Coordinator,LTC):负责对其管理范围内的成员节点进行时间信息维护并对它们的时间同步进行协调,其结构如图3所示。每一个LTC包含以下的时间信息:
局部最小时间值(Local Min Promise Logical Time,LMPLT),根据该LTC协调范围内的MN的PLT计算出来的最小PLT;
局部次小时间值(Local Second min Promise Logical Time,LSPLT),根据该LTC协调范围内的各个MN的PLT计算出来的除了LMPLT以外的最小PLT;
MN信息集MNInfo,用于维护LTC协调范围内的各个MN的PLT值,用于局部时间信息值的计算;
最小时间MN节点集合MinMNSet,用于存放该LTC协调范围内的PLT值与LMPLT相等的那些MN节点的标识符;
两个全局时间特征值:由GTC计算出来的GMPLT和GSPLT(在下面有详细说明)。
全局时间协调者(Global Time Coordinator,GTC):负责对整个系统中的局部时间协调者的时间信息进行维护并对它们的时间同步进行协调,其结构如图3所示。每一个GTC包含以下的时间信息:
全局最小时间值(Global Min Promise Logical Time,GMPLT),根据系统中各个LTC的LMPLT和LSPLT计算出来的最小PLT;
全局次小时间值(Global Second min Promise Logical Time,GSPLT),根据系统中各个LTC的LMPLT和LSPLT计算出来的除了GMPLT以外的最小PLT;
LTC信息集LTCInfo,用于维护需要其进行协调同步的各个LTC的LMPLT和LSPLT信息,用于全局时间的计算;
最小时间LTC节点集合MinLTCSet,用于存放GTC协调范围内的所有LTC中时间值最小的节点的标识符。
同三种角色节点相对应,本发明还定义了三个层次:成员执行层(Member Executive Layer)、局部协调层(Local Coordinator Layer)和全局协调层(Global Coordinator Layer),它们和角色的对应关系如图3所示。通过对节点角色以及层次的定义以后,本发明的方法是建立在图4所示的结构基础之上的。从图中可以看出,成员节点与局部时间协调者之间、局部时间协调者与全局时间协调者之间,是多对一的关系,LTC负责协调多个MN(MN1…MNn),GTC负责协调多个LTC(LTC1…LTCm)。
第二部分
本发明通过分层的、多协调者的方法进行整个系统运行过程中的时间同步管理,其各种成员节点之间的同步过程如图5所示,主要分以下三个步骤:
2.1)成员节点发出时间推进请求,处理内部消息并进行时间推进;
2.2)局部时间协调者对其协调范围内的成员节点进行时间信息维护和时间同步;
2.3)全局时间协调者对所有的局部时间协调者进行时间信息的维护和时间同步。
下面分别进一步陈述:
步骤2.1)成员节点MNi的时间推进请求可以分作两种:一种是步进的时间推进方式,即每次都以一个同样的时间推进长度向前推进;一种是下一事件推进方式,即成员节点的时间推进到其TSO队列中等待处理的第一个事件的时戳值。如图6所示该步骤可以详细分为以下几步:
2.1.1)成员节点MNi请求推进到逻辑时间TA;
2.1.2)处理RO队列中的所有消息,完成具体执行逻辑(如何处理消息不是本发明的内容,它和分布式系统具体的执行逻辑有关,可以是给其它节点发送消息,也可能是节点内部的操作);
2.1.3)判断请求时间TA是否被允许,如果TA<GATSi,则推进状态为“允许”,继续执行步骤2.1.4);否则推进状态为“挂起”,执行步骤2.1.7):
2.1.4)判断时间推进类型,如果是步进时间推进,则处理TSO队列中时间戳小于TA的所有消息,MNi的LTi=TA;如果是下一事件推进方式,设TSO队列中最小事件的时戳为TE,那么当TSO队列不为空,并且TA>TE时,处理队列中的最小事件,LTi=TE,否则LTi=TA;
2.1.5)计算MNi的PLTi,如果是步进时间推进,则PLTi=LTi+Lookaheadi;如果是下一事件时间推进,则PLTi=min{TA,TE}+Lookaheadi。然后将PLTi以可靠通讯方式发送给其局部时间协调者LTCk;
2.1.6)判断MNi节点是否请求退出,如果是,则结束,否则从步骤2.1.1)开始重复开始执行;
2.1.7)判断时间推进类型,计算MNi的PLTi。如果是步进时间推进,则PLTi=TA+Lookaheadi;否则,如果是下一事件时间推进,那么PLTi=min{TA,TE}+Lookaheadi。计算完成后,以可靠的通讯方式发送给其局部时间协调者LTCk;
2.1.8)等待来自局部协调层的消息,如果有消息到来,则更新本地的最大时间推进上限值GATSi,继续从步骤2.1.3)开始执行;否则重复执行步骤2.1.8)。
步骤2.2)是局部时间协调者对其协调范围内的成员节点进行时间信息维护和时间同步,局部协调者位于成员节点和全局协调者的中间层,作为二者的一个桥梁,如图7所示,它的具体处理流程可以分为以下几个步骤:
2.2.1)等待消息的到达,判断消息来自哪一层,如果消息来自成员执行层,则从步骤2.2.2)开始执行,如果消息来自全局协调层,则从步骤2.2.5)开始执行;
2.2.2)LTCk接收来自MNi的消息,更新MNInfo中MNi对应数据项的PLT值;
2.2.3)局部时间信息的更新与计算。首先判断更新的PLTi是否对当前的局部的时间信息LMPLTk、LSPLTk产生影响,如果没有影响,再判断是否影响了最小时间成员节点的集合和数量,如果有影响,那么更新集合内的节点以及节点的数量,然后转到步骤2.2.8),如果同样还是没有影响,则不进行其他操作,直接转到步骤2.2.8)。如果在第一次的判断中,发现新的消息使局部时间信息发生了改变,则进行重新计算。其中LMPLTk=min{PLTi}(i=1、2……n);LSPLTk取值为除了LMPLTk以外的所有PLT值的最小值。假设LMPLTk=PLTi+1那么LSPLTk=min{PLTi}(i=1、2…i、i+2……n);
2.2.4)判断是否需要向全局时间协调者发送局部的时间信息。如果LMPLTk和LSPLTk中任意一个值发生了改变,则向全局时间协调者以可靠通讯方式发送消息进行通知,转步骤2.2.8)。
2.2.5)LTCk接收GTC发送的时间消息,更新本地维护的GMPLT和GSPLT;
2.2.6)LTCk计算其负责协调的各个MN的GATS值。首先对GTC发送来的时间信息进行判断,如果LTCk是全局最小成员节点的局部协调者,并且LTCk负责协调的MN中只有一个成员节点MNi的PLT和GMPLT相等,那么MNi的GATSi=GSPLT,其他MN的GATS=GMPLT;其余情况下,所有的MN的PLT都设置为GMPLT,即PLT1=PLT2=……=PLTn=GMPLT;
2.2.7)LTCk向MN发送GATS。LTCk通过其维护的时间信息,判断哪些MN的GATS发生了变化,然后以可靠的通讯方式通知MN新的GATS值。转步骤2.2.8);
2.2.8)判断LTCK是否请求退出,如果是,则结束运行,否则继续从步骤2.2.1)开始重复执行。
步骤2.3)是全局时间协调者对来自LTC的消息的处理与时间同步的协调。如图8所示,该步骤可以具体可分为以下几个步:
2.3.1)GTC等待来自LTC的消息;
2.3.2)如果有消息到来,则接收来自LTCk的消息,更新其维护的LTCInfo中LTCk的LMPLTk、LSPLTk,否则转步骤2.3.5);
2.3.3)全局时间信息的更新和计算。首先要判断更新的LMPLTk、LSPLTk值对全局时间及状态信息是否有影响,全局时间及状态信息包括GTC上面维护的全局最小时间GMPLT、全局次小时间GSPLT以及时间值与GMPLT和GSPLT相等的那些局部协调者的标识号集合和集合元素数量。如果改变了GMPLT和GSPLT值,则进行重新计算,其中GMPLT=min{LMPLTk,LSPLTk}(k=1、2……m);GSPLT=min{LMPLTk,LSPLTk}(k=1、2……m且LMPLTk≠GMPLT,LSPLTk≠GMPLT),然后更新标识号集合和集合元素数量,继续步骤2.3.4);如果GMPLT和GSPLT的值没有改变,而是标识号集合发生了变化,那么则更新标识号集合,然后判断集合元素数量是否发生变化,如果变化了,继续执行步骤2.3.4),否则执行步骤2.3.5);
2.3.4)向各个局部时间协调者通知全局时间信息。首先,判断GMPLT和GSPLT中是否有值发生了改变,如果GMPLT发生了改变,则向所有的LTC发送新的时间值,如果只是GSPLT发生了改变,则向需要该值的LTC发送新的时间值。如果GMPLT和GSPLT都没有发生改变,而是拥有全局最小时间的LTC的数量发生了变化,那么向需要时间值的LTC进行通知即可。为了降低网络带宽资源的占用,当GTC通知LTC新的时间值时,只需要保证向那些对消息可靠性要求较高的,拥有最小时间值的LTC以可靠的通讯方式接收到新的时间信息,其余的向普通LTC发送时间信息可以使用组播等非可靠的通讯方式。
2.3.5)判断GTC是否请求退出,如果是,则结束运行,否则从步骤2.3.1)开始重复执行。
以上所述仅是基于分层协调的时间管理方法的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (5)
1.一种多节点协调的时间一致性管理方法,应用在分布式系统中,用于保证各个分布式节点之间的时间一致性,其特征在于包含以下步骤:
1)根据职能以及逻辑关系对分布式系统中的各个节点进行角色及层次的划分;
2)对分布式节点进行时间同步的分层协调,分为以下步骤:
2.1)分布成员节点发出时间推进请求,处理内部消息并进行时间推进,即:
2.1.1)成员节点MNi请求推进到逻辑时间TA;
2.1.2)处理接收序队列中的所有消息,完成具体执行逻辑;
2.1.3)判断上述请求是否被允许,如果TA<安全时间推进上限GATSi,则推进状态为“允许”,继续执行步骤2.1.4);否则推进状态为“挂起”,执行步骤2.1.7);
2.1.4)判断时间推进类型,如果是步进时间推进,则处理时间序队列中时戳小于TA的所有消息,使成员节点MNi的逻辑时间LTi=TA;如果是下一事件推进方式,设时间序队列中最小事件的时戳为TE,当时间序队列不为空并且TA>TE时,处理队列中的最小事件,使逻辑时间LTi=TE,否则逻辑时间LTi=TA;
2.1.5)计算成员节点MNi的承诺逻辑时间PLTi,如果是步进时间推进,则PLTi=LTi+Lookaheadi;如果是下一事件推进方式,则PLTi=min{TA,TE}+Lookaheadi,然后将PLTi以可靠通讯方式发送给其局部时间协调者LTCk,式中Lookaheadi为前瞻值,表示成员节点MNi对其发送信息时间间隔的预测;
2.1.6)判断成员节点MNi是否请求退出,如果是,则结束,否则从步骤2.1.1)开始重复开始执行;
2.1.7)判断时间推进类型,计算成员节点MNi的承诺逻辑时间PLTi,如果是步进时间推进,则PLTi=TA+Lookaheadi;否则,如果是下一事件推进方式,那么PLTi=min {TA,TE}+Lookaheadi,计算完成后,以可靠的通讯方式发送给其局部时间协调者LTCk;
2.1.8)等待来自局部协调层的消息,如果有消息到来,则更新本地的安全时间推进上限GATSi,继续从步骤2.1.3)开始执行;否则重复执行步骤2.1.8),
2.2)局部时间协调者对其协调范围内的成员节点进行时间信息维护和时间同步,即:
2.2.1)等待消息的到达,判断消息来自哪一层,如果消息来自成员执行层,则从步骤2.2.2)开始执行,如果消息来自全局协调层,则从步骤2.2.5)开始执行;
2.2.2)局部时间协调者LTCk接收来自成员节点MNi的消息,更新成员节点信息集MNInfo中成员节点MNi对应数据项的承诺逻辑时间PLT值;
2.2.3)进行局部时间信息的更新与计算,首先判断更新的PLTi是否对当前的局部最小时间值LMPLTk、局部次小时间值LSPLTk产生影响,如果没有影响,再判断是否影响了最小时间成员节点的集合和数量,如果有影响,那么更新集合内的节点以及节点的数量,然后转到步骤2.2.8),如果同样还是没有影响,则不进行其他操作,直接转到步骤2.2.8),如果在第一次的判断中,发现新的消息使局部时间信息发生了改变,则进行重新计算局部时间信息,其中LMPLTk=min{PLTi}(i=1、2……n);LSPLTk取值为除了LMPLTk以外的所有PLT值的最小值;
2.2.4)判断是否需要向全局时间协调者发送局部的时间信息,如果LMPLTk和LSPLTk中任意一个值发生了改变,则向全局时间协调者以可靠通讯方式发送消息进行通知,转步骤2.2.8);
2.2.5)局部时间协调者LTCk接收全局时间协调者GTC发送的时间消息,更新本地维护的全局最小时间值GMPLT和全局次小时间值GSPLT;
2.2.6)LTCk计算其负责协调的各个MN的安全时间推进上限GATS,首先对GTC发送来的时间信息进行判断,如果LTCk是全局最小成员节点的局部协调者,并且LTCk负责协调的成员节点MN中只有一个成员节点MNi的承诺逻辑时间PLT和全局最小时间值GMPLT相等,那么MNi的安全时间推进上限设置为GATSi=GSPLT,其他MN的GATS=GMPLT;其余情况下,所有的MN的PLT都设置为GMPLT,即PLT1=PLT2=……=PLTn=GMPLT;
2.2.7)LTCk向MN发送GATS,LTCk通过其维护的时间信息,判断哪些MN的GATS发生了变化,然后以可靠的通讯方式通知MN新的GATS值,转步骤2.2.8);
2.2.8)判断LTCK是否请求退出,如果是,则结束运行,否则继续从步骤2.2.1)开始重复执行,
2.3)全局时间协调者对所有的局部时间协调者进行时间信息的维护和时间同步,即:
2.3.1)全局时间协调者GTC等待来自局部时间协调者LTC的消息;
2.3.2)如果有消息到来,则接收来自LTCk的消息,更新其维护的局部时间协调者信息集LTCInfo中LTCk的局部最小时间值LMPLTk、局部次小时间值LSPLTk,否则转步骤2.3.5);
2.3.3)进行全局时间信息的更新和计算,首先判断更新的LMPLTk、LSPLTk值对全局时间及状态信息是否有影响,全局时间及状态信息包括GTC上面维护的全局最小时间GMPLT、全局次小时间GSPLT以及时间值与GMPLT和GSPLT相等的那些局部协调者的标识号集合和集合元素数量,如果改变了GMPLT和GSPLT值,则进行重新计算上述GMPLT和GSPLT值,其中GMPLT=min{LMPLTk,LSPLTk}(k=1、2……m);GSPLT=min{LMPLTk,LSPLTk}(k=1、2……m且LMPLTk≠GMPLT,LSPLTk≠GMPLT),然后更新标识号集合和集合元素数量,继续步骤2.3.4);如果GMPLT和GSPLT的值没有改变,而是标识号集合发生了变化,那么则更新标识号集合,然后判断集合元素数量是否发生变化,如果变化了,继续执行步骤2.3.4),否则执行步骤2.3.5);
2.3.4)向各个局部时间协调者通知全局时间信息,判断GMPLT和GSPLT中是否有值发生了改变,如果GMPLT发生了改变,则向所有的LTC发送新的时间值,如果只是GSPLT发生了改变,则向需要该值的LTC发送新的时间值,如果GMPLT和GSPLT都没有发生改变,而是拥有全局最小时间的LTC的数量发生了变化,那么向需要时间值的LTC进行通知;
2.3.5)判断GTC是否请求退出,如果是,则结束运行,否则从步骤2.3.1)开始重复执行。
2.根据权利要求1所述的多节点协调的时间一致性管理方法,其特征在于:
在所述步骤1)中,将节点分作三种角色和三个层次,其中三种角色分别为:成员节点、局部时间协调者和全局时间协调者,成员节点与局部时间协调者、局部时间协调者与全局时间协调者均为多对一的关系,三种不同角色的节点分别位于三个层次,分别为:成员节点位于成员执行层、局部时间协调者位于局部协调层、全局时间协调者位于全局协调层。
3.根据权利要求1所述的多节点协调的时间一致性管理方法,其特征在于:
所述步骤2.1)分为以下子步骤:
2.1.1)成员节点提出时间推进请求,根据推进条件判断推进状态;
2.1.2)根据成员节点的时间推进状态及当前时间状态确定安全处理事件集合,处理节点内部的消息事件;
2.1.3)根据节点时间推进请求类型和推进状态计算并更新本地的时间信息,通知给局部时间协调者。
4.根据权利要求1所述的多节点协调的时间一致性管理方法,其特征在于:
所述步骤2.2)分为以下子步骤:
2.2.1)等待消息的到达,判断消息来自哪一层,如果来自成员执行层,则从步骤2.2.2)开始执行,如果来自全局协调层,则跳转至步骤2.2.4);
2.2.2)接收成员节点发送的信息,更新成员节点的时间信息,判断新的时间信息是否对本地的协调时间信息造成了影响,如果是,则计算本地的协调时间;
2.2.3)将计算得到的新的本地的协调时间以可靠的通讯方式通知给全局时间协调者,返回至步骤2.2.1);
2.2.4)接收全局协调层发送的时间信息,更新本地保存的全局协调信息,判断其协调范围内的各个节点的时间推进上限值是否发生变化,如果变化了,则重新计算变化了的节点的时间推进上限值;
2.2.5)以可靠通讯方式通知成员节点新的时间推进上限值,返回步骤2.2.1)。
5.根据权利要求1所述的多节点协调的时间一致性管理方法,其特征在于:
步骤2.3)分为以下子步骤:
2.3.1)接收来自局部协调层的消息,更新本地维护的局部时间协调者的时间信息;判断更新后的局部时间协调者的时间信息是否影响了全局时间协调信息,如有影响,则继续执行以下步骤,否则重复执行步骤2.3.1);
2.3.2)计算全局时间协调信息,判断是否需要发送全局时间协调信息,如果需要向所有的局部时间协调者发送,则执行步骤2.3.3),如果只是向部分局部时间协调者发送,则执行步骤2.3.4);
2.3.3)向所有的局部时间协调者组播最新全局时间协调信息,向最小时间节点所在的局部协调者以可靠单播方式发送同样的信息,跳转回步骤2.3.1);
2.3.4)向需要获得最新全局时间信息的局部时间协调者以可靠单播方式发送最新的信息值,跳转回步骤2.3.1)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101198946A CN101132270B (zh) | 2007-08-02 | 2007-08-02 | 多节点协调的时间一致性管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101198946A CN101132270B (zh) | 2007-08-02 | 2007-08-02 | 多节点协调的时间一致性管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101132270A CN101132270A (zh) | 2008-02-27 |
CN101132270B true CN101132270B (zh) | 2010-09-08 |
Family
ID=39129404
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101198946A Expired - Fee Related CN101132270B (zh) | 2007-08-02 | 2007-08-02 | 多节点协调的时间一致性管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101132270B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8365259B2 (en) * | 2008-05-28 | 2013-01-29 | Zscaler, Inc. | Security message processing |
CN101753609B (zh) | 2008-12-15 | 2012-09-19 | 中国移动通信集团公司 | 分布式系统版本控制方法、节点及系统 |
CN102821114B (zh) * | 2011-06-07 | 2017-02-08 | 南京中兴新软件有限责任公司 | 分布式存储系统及其时间戳的实现方法 |
CN103914452B (zh) * | 2012-12-30 | 2017-03-29 | 航天信息股份有限公司 | 一种分布式文件系统中时间差错校正方法及系统 |
CN103455368B (zh) * | 2013-08-27 | 2016-12-28 | 华为技术有限公司 | 一种死锁检测方法、节点及系统 |
US10383076B2 (en) * | 2015-04-30 | 2019-08-13 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods used in radio nodes and associated radio nodes |
CN109146213B (zh) * | 2017-06-16 | 2022-04-12 | 北京航空航天大学 | 航天器电源系统健康管理验证评估环境系统 |
CN114207600A (zh) * | 2019-08-02 | 2022-03-18 | 阿里巴巴集团控股有限公司 | 分布式跨区域的数据库事务处理 |
CN111277400B (zh) * | 2020-01-08 | 2024-01-05 | 中国船舶集团有限公司第七二四研究所 | 一种提高多节点实时数据同步质量的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1303497A (zh) * | 1998-05-26 | 2001-07-11 | 陶氏化学公司 | 采用实时调度逻辑和时间确定结构的分布式计算环境 |
CN1368805A (zh) * | 2001-01-31 | 2002-09-11 | 三菱电机株式会社 | 信息处理装置与时间管理方法 |
CN1912837A (zh) * | 2006-08-31 | 2007-02-14 | 上海交通大学 | 支持大规模微观交通仿真的可扩展分布式系统 |
-
2007
- 2007-08-02 CN CN2007101198946A patent/CN101132270B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1303497A (zh) * | 1998-05-26 | 2001-07-11 | 陶氏化学公司 | 采用实时调度逻辑和时间确定结构的分布式计算环境 |
CN1368805A (zh) * | 2001-01-31 | 2002-09-11 | 三菱电机株式会社 | 信息处理装置与时间管理方法 |
CN1912837A (zh) * | 2006-08-31 | 2007-02-14 | 上海交通大学 | 支持大规模微观交通仿真的可扩展分布式系统 |
Non-Patent Citations (3)
Title |
---|
S) High LevelArchitecture(HLA)-Federate Interface Specification.IEEE Std 1516.1-2000.2000,第121-155页. * |
Simulation Interoperability Standards committee of the IEEEComputer Society.IEEE Standard for Modeling and Simulation(M& * |
张亚崇等.RTI中时间推进机制的研究.计算机应用研究 3.2005,(3),104-109. * |
Also Published As
Publication number | Publication date |
---|---|
CN101132270A (zh) | 2008-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101132270B (zh) | 多节点协调的时间一致性管理方法 | |
Fujimoto | Parallel and distributed simulation systems | |
US20200342297A1 (en) | Tree Topology Based Computing System and Method | |
CN102591759B (zh) | 片上众核处理器时钟精确并行仿真系统 | |
Kamburugamuve et al. | Survey of distributed stream processing for large stream sources | |
CN103473031B (zh) | 协同并发式消息总线、主动构件组装模型及构件拆分方法 | |
CN103930875A (zh) | 用于加速业务数据处理的软件虚拟机 | |
CN102855284A (zh) | 一种集群存储系统的数据管理方法及系统 | |
CN102164184A (zh) | 云计算网络中计算机实体的接入和管理方法及云计算网络 | |
CN106776907B (zh) | 一种智慧城市海量数据采集优化方法 | |
CN103297543A (zh) | 一种基于计算机集群作业调度的方法 | |
CN103685309A (zh) | 面向地图可视化瓦片服务接入的异步请求队列模型 | |
CN103473636A (zh) | 一种收集、分析和分发网络商业信息的系统数据组件 | |
Carothers et al. | Effect of communication overheads on time warp performance: An experimental study | |
CN104794239A (zh) | 一种云平台数据处理方法 | |
CN104615492A (zh) | 一种多核并行离散事件仿真的内存管理方法 | |
CN105005505B (zh) | 空中多目标轨迹预测的并行处理方法 | |
CN102404406A (zh) | 基于私有云存储的海洋实时数据同步系统 | |
Geng et al. | Accelerating distributed machine learning by smart parameter server | |
CN105471893A (zh) | 一种分布式等值数据流连接方法 | |
CN102662770B (zh) | 分布式虚拟试验系统中的节点同步方法 | |
CN101018122B (zh) | 模式匹配处理方法及系统 | |
Liu et al. | GPU-assisted hybrid network traffic model | |
Jafer et al. | Conservative DEVS: a novel protocol for parallel conservative simulation of DEVS and cell-DEVS models | |
Jafer et al. | Conservative vs. optimistic parallel simulation of DEVS and Cell-DEVS: A comparative study |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100908 Termination date: 20130802 |