系统可靠性分析与设计
- 系统可靠性分析与设计(论文写作)
- 可靠性相关基本概念 ★★
- 系统可靠性分析 ★★★★
- 可靠性指标
- 串联系统与并联系统
- 软件可靠性设计 ★★★★
- 影响软件可靠性的主要因素
- 可靠性设计策略
- N 版本程序设计
- 防卫式程序设计
- 双击容错
大家好呀!我是小笙,本章我主要分享系统架构设计师 - 系统可靠性分析与设计知识,希望内容对你有所帮助!!
系统可靠性分析与设计(论文写作)
可靠性相关基本概念 ★★
强调一下可靠性和可用性的区别
- 可靠性是软件系统在应用或系统错误面前,在意外或错误使用的情况下维持软件系统的功能特性的基本能力
- 可用性是系统能够正常运行的时间比例
软件可靠性、硬件可靠性
- 复杂性:软件复杂性比硬件高,大部分失效来自于软件失效
- 物理退化:硬件失效主要是物理退化所致,软件不存在物理退化
- 唯一性:软件是唯一的,每个COPY版本都一样,而两个硬件不可能完全一样
- 版本更新周期:硬件较慢,软件较快
系统可靠性分析 ★★★★
可靠性指标
- 平均无故障时间:越长越好
- 平均故障修复时间:越短越好
- 平均故障间隔时间:约等于无故障时间,因为故障修复时间相对于无故障时间来说一般会很小
- 系统可用性:无故障时间 / 总时间 * 100%
串联系统与并联系统
可靠性 R = R1 * R2 * R3 * … * Rn 串联系统连得越多可靠性越低
可靠性 R = 1 - (1-R1) * (1-R2) * … * (1-Rn),串联系统连得越多可靠性越高
例题
1、混合系统计算可靠性,结果:R×(1-(1-R)^3)×(1- (1-R)^2)
软件可靠性设计 ★★★★
影响软件可靠性的主要因素
- 软件的开发方法和开发环境
- 运行环境
- 软件规模
- 软件内部结构
- 软件的可靠性投入
可靠性设计策略
- 避错技术:自测,测试阶段就避免错误
- 降低复杂度设计
- 检错技术:出错后报警,人工处理,成本较低
- 容错技术(重点)
- 结构冗余(硬件冗余、软件冗余)
- 信息冗余(校验码)
- 时间冗余(重复多次进行相同的计算)
- N 版本程序设计(静态冗余)
- 恢复块设计(动态冗余)
- 防卫式程序设计
N 版本程序设计
- N 版本程序设计增加了三个新的阶段:相异成分规范评审、相异性确认、背对背测试
- N 版本程序的同步、N 版本程序之间的通信、表决算法(全等表决、非精确表决、Cosmetie 表决)、一致比较问题、数据相异性
设计时应保证实现主块和后备块之间的独立性,避免相关错误的产生,使主块和备份块之间的共性错误降到最低程度
N 版本程序设计和恢复块设计的区别
- 前向恢复:使当前的计算继续下去,把系统恢复成连贯的正确状态,弥补当前状态的不连贯情况
- 后向恢复:系统恢复到前一个正确状态,继续执行
恢复块方法 | N 版本程序设计 | |
---|---|---|
硬件运行环境 | 单机 | 多机 |
错误检测方法 | 验证测试程序 | 表决 |
恢复策略 | 后向恢复 | 前向恢复 |
实时性 | 差 | 好 |
防卫式程序设计
对于程序中存在的错误和不一致性,通过在程序中包含错误检查代码和错误恢复代码,使得一旦错误发生,程序能撤销错误状态,恢复到一个已知的正确状态中去
实现策略:错误检测、破坏估计、错误恢复
双击容错
双机模式是集群的前身
- 双机热备模式(主系统、备用系统)
- 双机互备模式(同时提供不同的服务,心不跳则接管)
- 双机双工模式(同时提供相同的服务,集群的一种)