系统可靠性


1. 可靠性的定义

在规定的条件下,在规定的时间内,软件不引起系统失效的概率。

1.1 影响要素

可靠度,失效率,使用条件,规定时间,系统输入,系统使用,软件缺陷等

失效率(风险函数/条件失效强度)- 系统未出现失效的此刻情况下,单位时间系统出现失效的概率。

1.2 子特性

成熟性,容错性,易恢复性,依从性


2 可靠性技术

2.1 避错技术

2.2 降低复杂度设计

保证实现软件功能的基础上,简化软件结构


2.3 检错技术

一般采用“查出故障,停止软件运行,报警”的实现方式,根据故障的不同情况,采用不停止或部分停止软件系统运行。

检错技术实现的代价低于容错技术,但缺点是不能自动解决故障,需要人工干预。

实现方式:

判断返回结果;计算运行时间;自检法(置状态标志位)


2.4 容错技术

2.4.1 结构冗余

(1)静态冗余

N版本程序设计 - 通过设计出多个模块或不同版本,对于相同初始条件和相同输入的操作结果进行多数表决。

其中N版本的程序由不同的人独立设计,使用不同的方法,设计语言,开发环境和工具来实现。


(2)动态冗余 (主动冗余)

恢复快设计方法 - 选择一组操作作为容错设计单元,从而把普通的程序块变为恢复块。一个恢复块包含若干功能相同,设计差异的程序块,每一时刻有一个程序块处于运行状态,一旦某程序块出现故障,则用备份程序块予以替换。

按照备用模块在待机时是否与主模块一起工作分为热备份系统(双重系统),冷备份系统(双工系统,双份系统)。


2.4.2 冗余设计

采用多种不同路径,不同算法,不同实现方法的模块或系统作为备份,在出现故障时进行替换,维持系统的正常运行。


2.4.3 防卫式程序设计 

通过程序中包含错误检查代码和错误恢复代码,使得一旦错误发生,程序能撤销错误状态,恢复到一个已知的正确状态中去。

2.4.4 双机双备 (集群系统)

2.4.5 信息冗余 (校验码)

2.4.6 时间冗余 (重复多次相同的计算)


3 可靠性设计的基本原则

  • 要在软件的总体设计框架中使用,并且不能与其他设计原则相冲突
  • 前提是满足提高软件质量的要求下,最终提高软件可靠性
  • 确定软件的可靠性目标,不能无限扩大,并且排在功能,用户需求,开发费用之后考虑


  • 6
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值