3. 冗余管理核心概念
冗余管理的本质,是在资源受限的星载环境中,用“多一份”的代价换取“少失效”的确定性。理解这一章的关键,不是背下八个术语,而是看清它们之间的因果链:冗余类型决定系统有多少可用的“副本”,备份方式决定副本以什么状态待命,故障检测负责发现异常,表决与仲裁负责在多个结果中做出可信判断,隔离负责切断故障源,恢复负责让系统重新回到可用状态。下面逐一展开,并在最后用一张关系图把它们的连接方向固定下来。
一、冗余类型:从“多一份什么”开始分类
冗余不是笼统的“多一套”,按复制对象可分为四类,工程上常按“复制粒度”来区分:
- 硬件冗余:复制处理器、存储器、总线或整机。例如双机热备、三模冗余(TMR)计算机。代价是质量、功耗和体积,收益是物理故障可被覆盖。
- 软件冗余:同一功能由不同算法或不同团队实现的多个版本并行执行,如N版本编程。它针对的是设计缺陷和共因失效,而不是硬件损坏。
- 时间冗余:同一硬件上重复执行同一计算,比较两次结果。适合瞬态故障(如单粒子翻转)的检出与纠正,不增加硬件,但消耗时间窗口。
- 信息冗余:增加校验位、纠错码(ECC)、CRC等。它不复制完整功能,而是复制“可验证性”,用于存储和传输环节的错误检测与纠正。
这四类不是互斥的。星载计算机常见组合是:硬件双机 + 存储器ECC + 关键任务时间冗余复算。选择哪一类,取决于要覆盖的故障模式——是永久性物理损坏、瞬态翻转,还是设计缺陷。
二、冷、温、热备份:副本的“待命状态”
备份方式描述的是备用单元在正常运行时处于什么状态,直接决定切换时间和资源占用:
| 备份方式 | 备用单元状态 | 典型切换时间 | 资源占用 |
|---|---|---|---|
| 冷备份 | 断电、不运行、不加载程序 | 秒级到分钟级 | 最低 |
| 温备份 | 上电、加载程序、不参与输出 | 毫秒级到秒级 | 中等 |
| 热备份 | 上电、运行、与主份同步或并行输出 | 微秒级到毫秒级 | 最高 |
举例说明:某星载计算机主份以10 Hz周期输出控制指令,冷备份机断电待命,主份失效后需上电、自检、加载程序,假设上电与加载共需8 s,则这8 s内系统无控制输出;温备份机已上电并运行自检程序,但输出被门控禁止,切换只需打开输出使能并同步状态,约200 ms;热备份机与主份逐周期比较或同步,切换仅需切换输出选择器,约2 ms。可见“冷、温、热”不是温度,而是备用单元与主份在时间上的接近程度。
三、表决与仲裁:多副本下如何得到“一个可信结果”
当系统有多个副本同时给出结果时,需要机制决定采用哪一个。这里要区分两个容易混淆的术语:
- 表决(Voting):面向“值”的多数判决。三模冗余中,三个副本输出A、A、B,则取A。表决可以是多数表决、中值表决或加权表决。它假设“多数是正确的”,适合随机故障。
- 仲裁(Arbitration):面向“权”的冲突裁决。当两个单元都声称自己有效、或总线控制权冲突时,由仲裁器按优先级、时间戳或健康度决定谁获得控制权。仲裁不比较数值,而是分配唯一的主导权。
关系上:表决解决“结果取哪个”,仲裁解决“谁说了算”。在双机系统中,若两机结果不一致且无法用多数判定,就需要仲裁——常见做法是引入第三方看门狗或地面指令作为仲裁依据。三模系统通常先表决,表决失败或分歧持续时再升级到仲裁。
四、故障检测、隔离与恢复:从发现到复原的闭环
这三个术语构成冗余管理的执行链,顺序不能颠倒:
- 故障检测:发现“不对劲”。手段包括看门狗超时、心跳计数、CRC校验、结果比较、自检程序、电流/温度越限。检测的输出是一个故障标志和故障定位信息(哪一机、哪一模块)。
- 隔离:把故障单元从系统中“摘出去”,防止其污染共享资源。例如切断故障机的总线驱动使能、关闭其输出门、将其标记为不可信。隔离必须快,否则故障会通过共享总线扩散。
- 恢复:让系统回到可用状态。可以是切换备份、重启故障机、重加载程序、重构任务分配。恢复后通常要重新纳入健康管理,形成“检测—隔离—恢复—再检测”的循环。
一个具体的教学示例:某双机系统主份在t=120 s时心跳停止,看门狗在t=120.5 s检出超时(检测);系统在t=120.6 s关闭主份总线使能并置其状态为“故障”(隔离);t=120.8 s打开备份机输出使能,备份机从最近同步点继续执行(恢复)。整个过程约800 ms,若任务周期为100 ms,则丢失约8个周期,需在恢复后由备份机补算或由地面注入状态。
五、术语之间的关系:一张图看清连接方向
把上述概念串起来,可以得到一条清晰的因果链:冗余类型提供“可用的副本”,备份方式决定“副本多快能接管”,故障检测发现“副本坏了”,表决/仲裁决定“信谁”,隔离切断“坏副本”,恢复让“好副本继续服务”。下图用信号流的方式表达这一关系,其中实线表示正常数据/控制流,虚线表示故障与状态信息流。