利用反射内存设计容错系统
利用反射内存实现故障容错系统利用反射内存实现故障容错系统利用反射内存实现故障容错系统利用反射内存实现故障容错系统 (马越) 关键词关键词关键词关键词:反射内存, 故障容错系统 故障容错需求故障容错需求故障容错需求故障容错需求 故障容错可以简单理解为在系统组件出现问题时,系统能够继续工作或无缝切换的 能力。今天,高度自动化的商业环境要求新集成系统应该具有容错能力。实现故障 容错的方法之一,也是非常流行的做法,就是为苛刻系统建立实时冗余。利用GE Fanuc的反射内存, 一个实时容错系统可以通过反射内存联结一个主系统节点与冗 余备用节点来实现。那么什么是反射内存? 反射内存就是完全的双口RAM,其设计 用来实现系统间内存到内存高速通信。每个反射内存节点卡都有在板双口RAM用来 存储被写入的数据。高速硬件逻辑保证被写入的数据同步发送到系统内其它反射内 存冗余节点的相应地址。在1个微秒之内,容错系统中的冗余节点就会在相同的地 址获得相同的数据。因此,冗余备用节点总会实时获得主节点的数据更新。 故障容错例子故障容错例子故障容错例子故障容错例子 在例子中,由俩套CPCI机架组成的一过程控制系统。其中一个机架作为主机架 (Node A) ,其作为主动节点。而另外一个机架作为冗余备份机架(Node B),其为 被动节点。这个过程控制系统用于模拟柱状图显示。但是,这个过程控制系统可以 适用于任何真实的过程处理项目,例如,压力、温度、或流量,例如,一个模拟输出 信号从所有节点硬线引到一个或门仲裁设备,智能仲裁设备用来选择哪个节点 作为过程控制信号。这种算法入下(如图1):如果在主动节点(Node A)检测到故 障,被动节点(Node B)将无缝实时接管系统. 在系统操作过程中,如果节电A出现掉 电或硬件/软件灾祸,节点B将诊断这个故障并无缝的接管过程控制权。一旦节点B 获取控制权,其自动转变为主过程控制系统。如果节点A重新恢复正常,节点A将监 视节点B的工作状态,并在故障条件下重新获取控制权。 这个例子也适用于手动切换条件。节点A通过一位数字输入实时监控手动开关,通 过这个手动开关也能够把控制权利转移到节点B。如果再次触发切换开关到节点A的 位置,节点A将自动重新获取系统控制权。如果开关被保留在节电B的位置,节点A 将监视节点B的工作状态,并在故障条件下重新获取控制权(参考图 2)。 A node processFault/Manual SWB node processNYFault/Manual SWNYManual Switch A/BendMain processOR arbitration图 1 简化控制流程 怎样利用反射内存实现故障容错系统怎样利用反射内存实现故障容错系统怎样利用反射内存实现故障容错系统怎样利用反射内存实现故障容错系统? 如上文所述,如果在主动节点(Node A)检测到故障,被动节点(Node B)将无缝实时 接管控制权。为了使被动节点能够无缝的接管控制权并转为主动节点,主动节点与 被动结点间必须保证实时信息通信。例子中,每个节点都维护一个发送到模拟柱状 图显示的输出值ID表,反射内存利用指针在表中的相应位置完成主动节点与被动节 点间信息交互。因此,在主动节点发生故障的准确输出值被确认后,激活被动节点 无缝接管并连续执行过程处理。其它的反射内存位置被用作两个节点的健康状态信 息同步,如果在此位置的内存信息检测到主动节点出现故障情况,系统将智能地选 择被动节点并转换为主动攻能实现系统控制。 图 2 切换硬件结构 总结总结总结总结, 现在,使用反射内实现系统故障容错设计已经成为多种苛刻系统安全要求的主要解 决方案。与传统的通过以太网,串行总线实现系统容错秒级或毫秒级切换来讲,利 用反射内存网络可以把故障切换时间控制在微秒级以内。从而最大程度保证容错系 统的无缝切换。 结束