首页 > 其他 > 详细

系统可靠性

时间:2019-09-15 16:41:01      阅读:73      评论:0      收藏:0      [点我收藏+]

系统故障模型

逻辑级的故障模型,数据结构级的故障,软件故障和软件差错,系统级的故障

 

可靠性技术设计

防错技术

(1)降低复杂度设计

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

(2)冗余设计

(3)日志定期定量清理

(4)备份恢复设计

(5)日志云端保存

(6)监控报警

 

查错技术

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

检错技术实现的代价低于容错技术,但缺点是不能自动解决故障,需要人工干预。一般公司都会把差错和容错一起进行。

实现方式

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

处理方式

(1)仅发送日志

(2)发送日志和告警,停止运行,需人工干预

(3)发送日志和告警,自动恢复到某一状态,继续运行,不需人工干预

 

容错技术

处理故障的步骤:故障检测,故障屏蔽,故障限制,复执,故障诊断,系统重配置,系统恢复,系统重新启动,修复,系统重组合

前向恢复:使当前的计算继续下去,把系统恢复成连贯的继续状态,弥补当前状态的不连贯情况。将对一些变量的状态进行修改和处理,且这个恢复过程将由程序设计者设计,适用于可预见的易定义的错误。

后向恢复:系统恢复到前一个正确状态,继续执行。简单的把变量恢复到检查点的取值,适用于可屏蔽的不可预见的错误。

1.结构冗余

(1)静态冗余

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

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

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

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

设计时应保证主备间的独立性,避免相关错误的产生,使主备间的共性错误降到最低

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

2.冗余设计

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

3.防卫式程序设计 

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

4. 双机容错

双机热备模式:主系统,备系统

双机互备模式:同时提供不同的服务,主故障,则接管

双机双工模式:同时提供相同的服务,集群的一种

5. 信息冗余 (校验码)

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

系统可靠性

原文:https://www.cnblogs.com/leslie12956/p/11522240.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!