跳至主要內容

系统可靠性分析与设计

White...约 1273 字大约 4 分钟

可靠性相关基本概念

可靠性与可用性

  • 系统可靠性:是系统再规定的时间内及规定的环境条件下,完成规定功能的能力,也就是系统无故障运行的概率
  • 系统可用性:是指在某个给定时间点上系统能够按照需求执行的概率
  • 论文一般偏向可靠性,案例一般偏向可用性
  • 提高可靠性需要强调减少系统中断(故障)的次数,提高可用性需要强调减少从灾难中恢复的时间

软件可靠性与硬件可靠性的差异

软件可靠性 ≠ 硬件可靠性

  • 复杂性:软件复杂性比硬件高,大部分失效来自于软件失效
  • 物理退化:硬件失效主要是物理退化所致,软件不存在物理退化
  • 唯一性:软件是唯一的,每个 Copy 版本都一样,而两个硬件不可能完全一样
  • 版本更新周期:硬件较慢,软件较快

系统可靠性分析

可靠性指标

  • 平均无故障时间(MTTF):MTTF = 1/λ,λ 为失效率
  • 平均故障修复时间(MTTR):MTTR = 1/μ,μ 为修复率
  • 平均故障间隔时间(MTBF):MTBF = MTTR + MTTF
  • 系统可用性:平均无故障时间/平均故障间隔时间 x100%,即 MTTF/(MTTR + MTTF)x100%
系统可靠性分析与设计-可靠性指标
系统可靠性分析与设计-可靠性指标

在实际应用中,一般 MTTR 很小,所以通常认为 MTBF≈MTTF

串联系统与并联系统

系统可靠性分析与设计-串联系统与并联系统
系统可靠性分析与设计-串联系统与并联系统

混合系统

系统可靠性分析与设计-混合系统
系统可靠性分析与设计-混合系统

系统可靠性设计

系统可靠性分析与设计-可靠性设计
系统可靠性分析与设计-可靠性设计

处理故障的步骤

  1. 故障检测
  2. 故障屏蔽
  3. 故障限制
  4. 复执故障诊断
  5. 系统重配置
  6. 系统恢复
    • 前向恢复:使当前的计算继续下去,把系统恢复成连贯的正确状态,弥补当前状态的不连贯情况
      • 前向恢复适用于可预见的易定义的错误
      • 前向恢复将对一些变量的状态进行修改和处理,且这个恢复过程将由程序设计者设计
    • 后向恢复:系统恢复到前一个正确状态,继续执行
      • 后向恢复可屏蔽不可预见的错误
      • 后向恢复简单地把变量恢复到检查点的取值
  7. 系统重新启动
  8. 修复系统重组合

软件容错

N 版本程序设计

系统可靠性分析与设计-N版本程序设计
系统可靠性分析与设计-N版本程序设计
  • 与通常软件开发过程不同的是,N 版本程序设计增加了三个新的阶段:相异成份规范评审、相异性确认、背对背测试
  • N 版本程序的同步、N 版本程序之间的通信、表决算法(全等表决、非精确表决、Cosmetie 表决、一致比较问题、数据相异性)

恢复块方法

系统可靠性分析与设计-恢复块方法
系统可靠性分析与设计-恢复块方法
  • 设计时应保证实现主块和后备块之间的独立性,避免相关错误的产生,使主块和备份快之间的共性错误降低到最低程度
  • 必须保证验证测试程序的正确性

N 版本程序设计与恢复块方法的区别

恢复块方法N 版本程序设计
硬件运行环境单机多机
错误检测方法验证测试程序表决
恢复策略后向恢复前向恢复
实时性

防卫式程序设计

  • 对于程序中存在的错误和不一致性,通过在程序中包含错误检查代码和错误回府代码,使得一旦错误发生,程序能撤销错误状态,恢复到一个已知的正确状态中去
  • 实现策略:错误检测、破坏估计、错误恢复

双机容错

系统可靠性分析与设计-双机容错
系统可靠性分析与设计-双机容错
  • 双机热备模式:主系统运行、备用系统停机,心跳连接
  • 双机互备模式:同时提供不同的服务、心不跳则接管
  • 双机双工模式:同时提供相同的服务,集群的一种

集群技术

集群系统对比高性能主机系统的优点:

  • 可伸缩性
  • 高可用性
  • 可管理性
  • 高性价比
  • 高透明性
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.8