[发明专利]一种满足拜占庭协议的两轮通信方法有效
| 申请号: | 200910085943.8 | 申请日: | 2009-05-31 |
| 公开(公告)号: | CN101576835A | 公开(公告)日: | 2009-11-11 |
| 发明(设计)人: | 肖爱斌;刘波;李任欣 | 申请(专利权)人: | 北京控制工程研究所 |
| 主分类号: | G06F11/18 | 分类号: | G06F11/18 |
| 代理公司: | 中国航天科技专利中心 | 代理人: | 安 丽 |
| 地址: | 100080北*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 满足 拜占庭 协议 通信 方法 | ||
技术领域
本发明设计一种通信方法,特别是一种在多机冗余系统中为了防止拜占庭故障所采用的两轮通信方法。
背景技术
在多机冗余系统中,系统通常需要对某台单机的专有数据达成一致,比如对于单机的时钟数据如何、对于专有的传感器数据如何,对于单机的状态数据如何等。对于这类单源数据,为了防止拜占庭故障,即拥有数据的单机给其它不同机器发送不一致的数据,系统需要执行两轮交换来达成一致,即第一轮拥有单源数据的机器发送自己的专有数据,第二轮其它机相互转发接收到的数据,这是经典的拜占庭协议(Byzantine Protocol)问题,相关内容可参见文献M.Pease,L.Lamport,S.Shostak.The Byzantine generalsproblem[J].ACM Trans.Programming Languages and Systems,1982,4(3):382~401。
对于由多台单机组成的冗余系统,两轮通信过程通常需要在同一段时间内执行完,以方便系统的容错判决;另一方面,系统所有单机需要对这种输入数据以相同的顺序进行处理。现有的两轮通信方法是每台单机分别执行这种两轮通信,首先,对于第一台被触发的机器,将自己的数据发送给其它单机,其它单机在收到该数据后,再相互进行转发给其它M-1个单机;然后第二台被触发的机器,重复第一台被触发机器执行过的这种两轮通信,第三台被触发的机器也重复这个过程,如此重复M次,使得系统中的每个单机都执行过两轮通信,再进行处理。这种方法的不足之处有两点:第一,每台单机的触发顺序是不确定的,导致每台单机完成两轮通信的先后顺序不一致,因而数据最终到达的时间也不一致,这就使得系统的容错判决困难;第二,这种两轮交换是顺序执行的,导致系统数据交换的时间相对较长。
发明内容
本发明的技术解决问题是:克服现有技术的不足之处,提供了一种容错判决简单、可提高整个系统通信效率的满足拜占庭协议的两轮通信方法。
本发明的方法的技术解决方案是:一种满足拜占庭协议的两轮通信方法,包括以下步骤:
(1)设冗余系统中有M个单机,6≥M≥4,各单机分别将自己的数据和同步脉冲发送给其它M-1个单机,同时等待接收其它M-1个单机发送的数据;
(2)对步骤(1)中的同步脉冲个数进行计数并与预设值进行比较,若同步脉冲的计数值小于预设值时各单机完全接收到其它M-1个单机发送的数据,则执行步骤(3);若同步脉冲的计数值与预设值相同时各单机还未完全接收到其它M-1个单机发送的数据,则执行步骤(5);
(3)各单机将其接收到的其它M-1个单机传来的数据及其自己的数据按同样的顺序依次转发给其它M-1个单机,各单机在转发数据的同时还保持发送同步脉冲,并对M次转发过程中的每一次的同步脉冲均进行计数;若每一次转发时各单机均能在当次同步脉冲个数的计数值小于预设值时接收到相同的M个数据,则执行步骤(4),否则执行步骤(5);
(4)各单机对M个数据中的每一个数据逐一进行表决,若每次表决时各单机的对应数据均一致,则判定冗余系统正常,否则执行步骤(5);
(5)判定冗余系统异常,若某单机未在规定计数时间内发送数据,则所述单机发生超时故障;若表决时只有一台单机的数据与最终表决结果不一致,则步骤(3)中转发此不一致数据的单机发生拜占庭故障;若多于一台单机的数据与最终表决结果不一致,则步骤(1)中发送此不一致数据的单机发生拜占庭故障。
本发明与现有技术相比的有益效果是:
(1)本发明中,M台单机的第一轮通信可以同时进行,当冗余系统中的各单机同步比较好时可以提高通信效率,使得通信轮数最高可以减少M-1轮;
(2)本发明中,第二轮数据转发的过程是按照约定的顺序进行的,因此第二轮数据交换结束后得到的是顺序一致的数据序列,方便系统容错判决;
(3)本发明中,采用发送与接收同步脉冲的过程作为超时计数单位,在等待接收其它机的数据过程中发送同步脉冲,一方面可以用来判定是否超时,另一方面可以方便获取其它机数据到来的时间,为系统同步提供参考。
附图说明
图1为本发明两轮通信方法的原理框图;
图2为4单机冗余系统中进行第一轮数据通信时数据流向示意图;
图3为4单机冗余系统中进行第二轮数据通信时数据A的流向示意图;
图4为4单机冗余系统中进行第二轮数据通信时数据B的流向示意图;
图5为4单机冗余系统中进行第二轮数据通信时数据C的流向示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京控制工程研究所,未经北京控制工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910085943.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:巨型轮胎耐久里程试验机
- 下一篇:一种自动湿度调节装置





