影响软件可靠性的主要因素:
1 软件的开发方法和开发环境
2 运行环境
(3.软件规模:软件规模越大,可靠性越小
4,软件内部结构:内部结构越复杂,可靠性越小
5、软件的可靠性投入:投入越多越可靠
)
软件可靠性设计策略:
1 避错技术:避开错误,软件交付前自行测试,但是做不到将所有的错误检测出来
2 降低复杂度设计
3 检错技术:出错后报警轮询检查然后人工修复,成本低
4 容错技术:(n版本程序色设计(静态冗余)、恢复块设计(动态冗余)、防卫式程序设计
冗余
结构冗余:硬件冗余、软件冗余
信息冗余:校验码
时间冗余:重复多次进行相同的即计算(计算多次看结果是否都一样)
N版本程序设计:
针对一个功能快开发多个版本的程序设计,
先做需求分析,然后多个组都做开发各个版本,然后通过表决器来决定哪个版本
N版本程序设计增加了三个新的阶段:相异成分规范评审、相异性确认、背对背测试
N版本程序的同步、N版本程序之间的通信,表决算法(全等表决、
非精确表决、Cosmetie表决)一致性比较问题,数据相异性
恢复快方法:
用主块和后备块,主块出故障后才用后备块(N版本程序设计是多个版本并行运行)
恢复快方法 N版本程序设计
硬件运行环境 单机 多机
错误检错方法 验证测试程序 表决
恢复策略 后向恢复 前向恢复
实时性 差 好
前向恢复:当出故障,继续执行,当系统恢复时,就会纠正之前的错误
向后恢复:当出故障时,暂停,向后寻找系统正常的状态来修复故障、实时性差
防卫式程序设计:
当系统出现异常故障,通过检错机制和错误恢复代码,对故障错误进行撤销,恢复到一个
已知的正确状态中去。(如try catch)
实现策略:错误检错、破坏估计、错误恢复
双机容错:
双机容错式集群的前身
模式:
双机热备模式(主系统,备用系统,两者之间用心跳线相连)
双机互备模式(同时提供不同的服务,心不跳则接管):正常时双机虽然运行不同的服务,但是都互相备份对方运行的服务,当有一台机器出故障时候,另一台机器也会有备份能够运行全部的业务。
双机双工模式:提供相同的服务,当承担的业务量不同,当出故障时候,再承担全部的业务。
标签:可靠性,恢复,故障,版本,程序设计,设计,双机,冗余 From: https://www.cnblogs.com/wumingliang/p/17626404.html