可靠性相关的基本概念(**)
系统可靠性
在规定的时间内及规定的环境条件下,完成规定功能的能力,也就是系统无故障运行的概率。出了故障,如何能够迅速的解决问题。更偏重于源头和手段。论文中一般写可靠性。
系统可用性
在某个给定的时间点上系统能够按照需执行的概率。有多少故障。更偏向于结果。案例中一般提可用性。
硬件可用性与可靠性
复杂性:软件复杂性比硬件高,大部分失效来自于软件的失效。
物理退化:硬件失效主要是物理退化所致,软件不存在物理退化。
唯一性:软件是唯一的,每个Copy版本都不一样,而两个硬件不可能完全一样。
版本更新周期:硬件较慢,软件较快。指标(选择题)
平均无故障时间:MTTF=1/A A-失效率。正常的服务时间和与出错次数的比值
平均故障修复时间:MTTR=1/u u-修复率,修复时间和与修复次数的比值
平均故障间隔时间:MTBF=MTTR+MTTF
系统可用性 MTTF/(MTTR+MTTF)x100%
在实际应用中,一般MTTR很小,所以通常认为MTBF=MTTF
系统可靠性分析(****)
串联系统与并联系统,类似物理学里的电阻公式
串联:可靠性R=R1R2R3…Rn 失效率A=A1+A2+….+An。只有在Ai较小时有意义
并联:可靠性R=1-(1-R1)(1-R2)….(1-Rn)
混合系统:按串并联进行分步计算
软件可靠性设计(****)
避错技术
良好的设计、提前发现错误(各种测试)
容错技术
N版本程序设计(静态冗余)
与通常软件开发过程不同的是,N版本程序设计增加了三个新的阶段:相异成份规范评审、相异性确认、背对背测试)
N版本程序的同步、N版本程序之间的通信、表决算法(全等表决、非精确表决、Cosmetie表决)、一致比较问题、数据相异性恢复块设计(动态冗余)
设计时应保证实现的主块和后备块之间独立性,避免相关错误的产生,使主块和备块之间的共性错误降到最低程度
必须保证验证测试程序的正确性。防卫式程序设计(错误处理机制)
对于程序中存在的错误和不一致性,通过在程序中包含错误检查代码和错误恢复代码,使得一旦错误发生,程序能撤销错误状态,恢复到一个已知的正确状态中去(try–catch–finally)
实现策略:错误检测、破坏估计、错误恢复
检错技术
出错后报警,需要人工处理,相对于容错成本较低
降低复杂度设计
双机容错
- 双机热备模式:主系统、备用系统
- 双机互备模式:同时提供不同的服务,心不跳则接管
- 双机双工模式:同时提供相同的服务,集群的一种
集群技术
- 可伸缩性
- 高可用性
- 可管理性
- 高性价比
- 高透明性
最后编辑:admin 更新时间:2022-11-02 13:24