可靠性相关的基本概念(**)

  • 系统可靠性

    在规定的时间内及规定的环境条件下,完成规定功能的能力,也就是系统无故障运行的概率。出了故障,如何能够迅速的解决问题。更偏重于源头和手段。论文中一般写可靠性。

  • 系统可用性

    在某个给定的时间点上系统能够按照需执行的概率。有多少故障。更偏向于结果。案例中一般提可用性。

  • 硬件可用性与可靠性

    复杂性:软件复杂性比硬件高,大部分失效来自于软件的失效。
    物理退化:硬件失效主要是物理退化所致,软件不存在物理退化。
    唯一性:软件是唯一的,每个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-10-10 14:46
最后编辑:admin  更新时间:2022-11-02 13:24