3可靠性设计

wumingliang / 2023-08-13 / 原文

影响软件可靠性的主要因素:

1 软件的开发方法和开发环境

2 运行环境

(3.软件规模:软件规模越大,可靠性越小

4,软件内部结构:内部结构越复杂,可靠性越小

5、软件的可靠性投入:投入越多越可靠

 

软件可靠性设计策略:

1 避错技术:避开错误,软件交付前自行测试,但是做不到将所有的错误检测出来

2  降低复杂度设计

3  检错技术:出错后报警轮询检查然后人工修复,成本低

4   容错技术:(n版本程序色设计(静态冗余)、恢复块设计(动态冗余)、防卫式程序设计

     冗余

    结构冗余:硬件冗余、软件冗余

    信息冗余:校验码

    时间冗余:重复多次进行相同的即计算(计算多次看结果是否都一样)

 

N版本程序设计:

针对一个功能快开发多个版本的程序设计,

先做需求分析,然后多个组都做开发各个版本,然后通过表决器来决定哪个版本

N版本程序设计增加了三个新的阶段:相异成分规范评审、相异性确认、背对背测试

N版本程序的同步、N版本程序之间的通信,表决算法(全等表决、

非精确表决、Cosmetie表决)一致性比较问题,数据相异性

恢复快方法:

用主块和后备块,主块出故障后才用后备块(N版本程序设计是多个版本并行运行)

        恢复快方法    N版本程序设计

硬件运行环境  单机        多机

错误检错方法   验证测试程序   表决

恢复策略     后向恢复    前向恢复

实时性      差      好

 

前向恢复:当出故障,继续执行,当系统恢复时,就会纠正之前的错误

向后恢复:当出故障时,暂停,向后寻找系统正常的状态来修复故障、实时性差

 

防卫式程序设计:

当系统出现异常故障,通过检错机制和错误恢复代码,对故障错误进行撤销,恢复到一个

已知的正确状态中去。(如try catch)

实现策略:错误检错、破坏估计、错误恢复

 

 

双机容错:

双机容错式集群的前身

模式:

双机热备模式(主系统,备用系统,两者之间用心跳线相连)

双机互备模式(同时提供不同的服务,心不跳则接管):正常时双机虽然运行不同的服务,但是都互相备份对方运行的服务,当有一台机器出故障时候,另一台机器也会有备份能够运行全部的业务。

双机双工模式:提供相同的服务,当承担的业务量不同,当出故障时候,再承担全部的业务。