一、考点分析
- 可靠性相关基本概念(※※)
- 系统可靠性分析(※※※※)
- 软件可靠性设计(※※※※)
二、可靠性相关基本概念
可靠性:软件系统在应用或系统错误面前,在意外或错误使用的情况下维持软件系统的功能特性的基本能力
可用性:系统能够正常运行的时间比例。
软件可靠性≠硬件可靠性
复杂性:软件复杂性比硬件高,大部分失效来自于软件失效
物理退化:硬件失效主要是物理退化所致,软件不存在物理退化
唯一性:软件是唯一的,每个COPY版本都一样,而两个硬件不可能完全一样
版本更新周期:硬件较慢,软件较快
三、可靠性指标
串联系统与并联系统
四、可靠性设计
可靠性设计策略
N版本程序设计
与通常软件开发过程不同的是,N版本程序设计增加了三个新的阶段:相异成分规范评审、相异性确认、背对背测试
N版本程序的同步、N版本程序之间的通信、表决算法(全等表决、非精确表决、Cosmetie表决)、一致比较问题、数据相异性
恢复快方法
防卫式程序设计
对于程序中存在的错误和不一致性,通过在程序中包含错误检查代码和错误恢复代码(try-catch),使得一旦错误发生,程序能撤销错误状态,恢复到一个已知的正确状态中去。
实现策略:错误检测、破坏估计、错误恢复
双机容错
- 双机热备模式(主系统、备用系统)
- 双机互备模式(同时提供不同的服务,心不跳则接管)
- 互机双工模式(同时提供相同的服务,集群的一种)
双机模式是集群的前身