一种分布式容错计算机成员一致性保证方法

文档序号:6312929阅读:279来源:国知局
一种分布式容错计算机成员一致性保证方法
【专利摘要】本发明是一种分布式容错计算机成员一致性保证方法,包括以下步骤:1)容错计算机节点状态的初始化:N节点的容错计算机,初始状态设置为(Ai,N+1-i,0,A1A2…AN),Ai为第i个节点,N+1-i为初始确认计数器(AC)值,0为初始失败计数器(FC)值,A1A2…AN为初始成员列表,即初始状态下每个节点的成员列表中包含系统所有节点;2)节点Ai按顺序向所有节点广播数据帧;Ai成员列表记为mem(Ai);本发明针对分布式计算机系统容错技术,解决分布式系统余度管理问题,能够可靠地对系统各节点状态进行管理,有效避免系统成员结党的发生,使系统对故障作出及时一致性地响应,为机载分布式容错计算机的新型容错策略提供了有效支持。
【专利说明】一种分布式容错计算机成员一致性保证方法

【技术领域】
[0001]本发明属于分布式容错计算机系统设计【技术领域】,是一种分布式容错计算机系统中成员一致性的保证方法。

【背景技术】
[0002]飞控计算机系统作为飞控系统的核心部件,其安全性、可靠性直接影响到飞机的生存能力。飞控计算机系统作为典型的机载容错计算机系统,经历了从集中式电传飞控计算机系统、总线通信的分布式飞控计算机系统到基于交换式网络的分布式飞控计算机系统的发展。
[0003]随着飞控计算机系统体系结构的发展,其容错策略也在不断发展。传统集中式容错计算机系统采用表决监控、故障屏蔽、资源切换等容错策略,而新型分布式容错计算机系统则采用高完整性计算资源、节点故障静默、成员一致性协议、功能备份等方式完成系统管理功能。


【发明内容】

:
[0004]为了解决【背景技术】中所存在的技术问题,本发明提供一种分布式容错计算机节点间成员一致性保证的实现方法,适用于新型机载分布式容错计算机的余度管理。
[0005]本发明的技术解决方案是:一种分布式容错计算机成员一致性保证方法,其特征在于:所述方法包括以下步骤:
[0006]I)容错计算机节点状态的初始化:N节点的容错计算机,初始状态设置为(Ai,N+l-1,0,A1A2…AN),Ai为第i个节点,N+1-1为初始确认计数器(AC)值,O为初始失败计数器(FC)值,A1A2…AN为初始成员列表,即初始状态下每个节点的成员列表中包含系统所有节点;
[0007]2)节点Ai按顺序向所有节点广播数据帧;Ai成员列表记为mem(Ai) ;Ai判断本地AC是否大于FC,若结果为真,节点Ai清零本地AC和FC,使用本地成员列表与待发送数据合并计算CRC校验和,得到CRC后将其与待发数据组成数据帧,将该数据帧广播给所有节点(包括自身);若结果为假,节点反馈错误给上层应用并进入冻结状态;
[0008]3)节点Ak接收并解码数据帧;节点Ak接收Ai发送来的数据帧,使用本地成员列表对接收数据帧进行解码及CRC校验;CRC校验成功的节点认为数据正确接收,CRC校验失败的节点认为数据帧接收失败;若节点Ak正确接收数据,则Ak将Ai加入本地成员列表,并累加AC ;若节点Ak接收数据失败,则Ak将Ai从本地成员列表删除,并累加FC ;若节点Ak没有在预期时间点接收到Ai发送的数据帧,则将Ai从本地成员列表删除,但不累加任何计数器;
[0009]4)节点Ai发送数据后寻找第一成功节点;节点Ai发送数据后,等待下一节点在预期时间段发送来的正确数据帧;判断是否满足:mem(Ai) = mem(Aj),结果为真则Aj为Ai的第一成功节点,Ai被确认(即Ai正确),隐含确认算法结束;
[0010]上述方法还包括步骤5)节点Ai找到第一成功节点但未被确认时,寻找第二成功节点;gAi在Aj之后的预期时间段正确接收到节点Am发送的数据帧,判断若Ai e mem (Am)和 Aj e mem (Am)仅且仅有一个为真,且{mem(Am)-A1-Aj} = {mem(Ai)-A1-A j}为真,Ai 将Am作为Ai的第二成功节点。
[0011]上述方法还包括步骤6)根据第二成功节点判断Ai和Aj状态的正确性;若Ai e mem (Am),Ai被确认(即Ai正确),Aj错误,Ai累加其AC,并将Aj从Ai的成员列表中删除,隐含确认算法结束;gAj e mem (Am) JijAi错误,Aj正确,Ai将自身从成员列表删除,并将Aj和Am加入本地成员列表,隐含确认算法结束。
[0012]上述步骤4)若{mem(Aj) ,Ai} = mem(Ai)为真,则Aj为Ai的第一成功节点,但Ai未被确认;非空帧情况将累加FC。
[0013]本发明的优点是:
[0014]I)实现了分布式容错计算机的成员管理功能,算法灵活,扩展性强,对新型开放式架构的分布式容错计算机的余度管理提供有效技术支撑。
[0015]2)能够有效避免分布式架构中节点的成员结党问题,算法可靠性、安全性高。
[0016]3)成员保证过程中采用包含本地成员列表的数据帧的CRC校验和来对数据编码,节点通信中不需要真正交换成员列表,不需要额外占用带宽,只需要少量计算时间,资源占用少。
[0017]本发明在确定性总线通信的高完整性分布式计算平台上,采用节点故障静默技术,设计了一种分布式容错计算机成员一致性保证方法,该方法能够可靠地对系统各节点状态进行管理,有效避免系统成员结党的发生,对所有消息建立确定的副本一致性,能够使系统对故障作出及时一致性地响应,并有较大的灵活性和扩展性,为机载分布式容错计算机的新型容错策略提供了有效支持。

【专利附图】

【附图说明】
:
[0018]图1是本发明隐含确认算法流程。
[0019]图2是本发明决策算法流程。

【具体实施方式】
[0020]分布式系统的每一个节点上都保存着一个成员列表。列表中记录了所有节点的运行状态,在每个周期中,任一节点在收到消息时都会根据接收到的信息更新本地的成员列表,通过节点间相互的成员确认保证了所有节点的一致性。从而确保表决结果的有效性。该方法主要由决策算法和隐含确认算法实现。
[0021]决策算法:每个节点维护一个本地成员列表。当一个节点准备发送数据时,它将自身添加到本地成员列表中;当一个节点收到一个正确的数据帧时,它将发送节点加入到本地成员列表,数据传输正确指:(I)传输必须发生在预期的时间点(2)传输成功完成(3)在将发送方加入到接收方成员列表后,双方的成员列表必须一致;而当接收失败或者没有接收到数据帧时,接收节点从成员列表中删除该时段发送数据的节点。
[0022]隐含确认算法:该算法引入了第一成功节点和第二成功节点的概念。当某一节点(如A)发送数据后,等待下一个节点(如B)在预期时间段发送来的正确消息,如果A、B有相同的成员列表,或B的成员列表中除不包含A外其他各项均与A的成员列表相同,则A将B作为第一成功节点,A被确认,隐含确认算法结束;否则为A发送错误或B接收错误,为在这两种情况下做出判断,A等待第二成功节点,若节点C在B之后的预期时间段发送了一个格式正确的帧,且C的成员列表包含且只包含A和B中的一个,而且与A成员列表中除A、B夕卜的其它节点的成员列表相同,则A将C作为第二成功节点,若C的成员列表包含A,则A被确认,B被认为是错误的节点,B被A从成员列表中删除;若C的成员列表不包含A,则A错误,于是A将自身从成员列表删除,并将B和C加入成员列表,隐含确认算法结束。
[0023]参见图1,图2,下面对本发明做进一步详细说明。
[0024](I)容错计算机节点状态的初始化。N节点的容错计算机,初始状态设置为(Ai,W1-LOJ1A^An) ,Ai为第i个节点,N+1-1为初始确认计数器(AC)值,O为初始失败计数器(FC)值,A1A2…AnS初始成员列表,即初始状态下每个节点的成员列表中包含系统所有节点。
[0025](2)节点Ai按顺序向所有节点广播数据帧。Ai成员列表记为Hiem(Ai),下同。A$J断本地AC是否大于FC,若结果为真,节点^清零本地AC和FC,使用本地成员列表与待发送数据合并计算CRC校验和,得到CRC后将其与待发数据组成数据帧,将该数据帧广播给所有节点(包括自身);若结果为假,节点反馈错误给上层应用并进入冻结状态。
[0026](3)节点Ak接收并解码数据帧。节点A k接收A泼送来的数据帧,使用本地成员列表对接收数据帧进行解码及CRC校验。CRC校验成功的节点认为数据正确接收,CRC校验失败的节点认为数据帧接收失败。若节点Ak正确接收数据,则A k将A i加入本地成员列表,并累加AC ;若节点Ak接收数据失败,则A 从本地成员列表删除,并累加FC ;若节点Ak没有在预期时间点接收到^发送的数据帧,则将A i从本地成员列表删除,但不累加任何计数器。
[0027](4)节点Ai发送数据后寻找第一成功节点。节点Ai发送数据后,等待下一节点在预期时间段发送来的正确数据帧。判断是否满足=Hiem(Ai) =Hiem(Aj),结果为真则AjS Ai的第一成功节点,Ai被确认(即Ai正确),隐含确认算法结束;若{mem (A」),Aj = mem (Ai)为真,则{^为A 第一成功节点,但A 1未被确认;其他(非空帧)情况将累加FC。
[0028](5)节点Ai找到第一成功节点但未被确认时,寻找第二成功节点。若A 1在A ^之后的预期时间段正确接收到节AAm发送的数据帧,判断若AiE mem (Affl)和AjE mem (Affl)仅且仅有一个为真,且Imem(Am)-A1-Ajl = {mem(Ai)-A1-AjI为真,A』# A m作为A i的第二成功节点。
[0029](6)根据第二成功节点判断AjP A」状态的正确性。若A f mem(A m),Ai被确认(即Ai正确),A」错误,A i累加其AC,并将A」从A i的成员列表中删除,隐含确认算法结束;若Aj e mem (A m),则Ai错误,A」正确,A 自身从成员列表删除,并将A」和A 加入本地成员列表,隐含确认算法结束。
【权利要求】
1.一种分布式容错计算机成员一致性保证方法,其特征在于:所述方法包括以下步骤: 1)容错计算机节点状态的初始化:N节点的容错计算机,初始状态设置为(Ai,N+1-1,OA1A^An) ,Ai为第i个节点,N+1-1为初始确认计数器(AC)值,O为初始失败计数器(FC)值,A1A^An为初始成员列表,即初始状态下每个节点的成员列表中包含系统所有节点; 2)节点八1按顺序向所有节点广播数据帧;Ai成员列表记为mem(A D !Ai判断本地AC是否大于FC,若结果为真,节点化清零本地AC和FC,使用本地成员列表与待发送数据合并计算CRC校验和,得到CRC后将其与待发数据组成数据帧,将该数据帧广播给所有节点(包括自身);若结果为假,节点反馈错误给上层应用并进入冻结状态; 3)节点Ak接收并解码数据帧;节点Ak接收A送来的数据帧,使用本地成员列表对接收数据帧进行解码及CRC校验;CRC校验成功的节点认为数据正确接收,CRC校验失败的节点认为数据帧接收失败;若节点Ak正确接收数据,则A k将A i加入本地成员列表,并累加AC ;若节点Ak接收数据失败,则A k将A )人本地成员列表删除,并累加FC ;若节点A k没有在预期时间点接收到^发送的数据帧,则将A i从本地成员列表删除,但不累加任何计数器; 4)节点^发送数据后寻找第一成功节点;节点Ai发送数据后,等待下一节点在预期时间段发送来的正确数据帧;判断是否满足=Hiem(Ai) = Hiem(Aj),结果为真则\为A i的第一成功节点,Ai被确认(即Ai正确),隐含确认算法结束。
2.根据权利要求1所述的分布式容错计算机成员一致性保证方法,其特征在于:所述方法还包括步骤5)节点Ai找到第一成功节点但未被确认时,寻找第二成功节点;若A 1在A j之后的预期时间段正确接收到节点Am发送的数据帧,判断若AiE mem (Affl)和AjE mem (Affl)仅且仅有一个为真,且Imem(Am)-A1-Aj = Imem(Ai)-A1-AjI为真,?将A m作为A丨的第二成功节点。
3.根据权利要求2所述的分布式容错计算机成员一致性保证方法,其特征在于:所述方法还包括步骤6)根据第二成功节点判断AjP Aj状态的正确性Hiem(Am)^i被确认(即Ai正确),误,Ai累加其AC,并将?WAi的成员列表中删除,隐含确认算法结束;若AjG mem(Am),则Ai错误,A座确,A满自身从成员列表删除,并将A jP AjJP入本地成员列表,隐含确认算法结束。
4.根据权利要求3所述的分布式容错计算机成员一致性保证方法,其特征在于:所述步骤4)若Imem(AjhAi) = mem(Ai)为真,贝U Aj为A满第一成功节点,但A 1未被确认;非空帧情况将累加FC。
【文档编号】G05B9/03GK104483828SQ201410734530
【公开日】2015年4月1日 申请日期:2014年12月4日 优先权日:2014年12月4日
【发明者】徐奡, 刘帅, 李鹏, 郑久寿, 马小博, 程俊强 申请人:中国航空工业集团公司第六三一研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1