分布式计算机控制系统中的可靠通信与应用构建
在分布式计算机控制系统中,可靠通信和构建健壮应用是至关重要的。下面将介绍相关的通信协议和构建健壮应用的方法。
1. 故障假设
在通信协议设计中,假设仅处理网络相关故障(包括节点的网络接口故障),应用故障通过复制来屏蔽。具体假设如下:
- 系统节点要么正常运行,要么在一定数量的故障后崩溃,CAN 协议可保证此行为,多次出错时故障节点会从网络断开。
- 在大于任何消息最坏情况交付时间的时间段 T 内,最多发生一次不一致消息遗漏。考虑到每小时存在 3.98 x 10 -9 到 2.94 x 10 -6 的不一致消息遗漏情况,在最多几秒的时间段 T 内发生第二次遗漏错误的概率极低。
- 不存在永久性介质故障,如网络分区,此类故障需通过适当的网络冗余方案屏蔽。
2. CAN 中的原子多播中间件
CAN 中的原子多播中间件提供了多种协议,具有不同的故障假设和错误处理行为,具体如下表所示:
| 协议 | 功能 |
| — | — |
| 过滤层 | 仅允许注册接收特定消息流的节点处理相关消息,减少错误情况下总线中的消息数量 |
| 不可靠协议 | 仅提供简单的多播机制,对使用它的流不提供任何保证 |
| IMD 协议 | 提供原子多播,仅解决不一致消息重复问题 |
| 2M 协议 | 提供原子多播,解决不一致消息重复和遗漏问题,错误情况下不交付消息 |
| 2M - GD 协议 | 是 2M 协议的改进,若至少一个节点正确接收消息,则保证消息交付 |
这些原子多播协议使系统工程师能够在效率和假设覆盖范围之间进
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



