系统架构设计师-系统可靠性分析与设计

目录

一、可靠性相关基本概念

二、可靠性指标

        1、串联系统与并联系统可靠性指标计算

        2、混合系统

三、可靠性设计

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

        2、增加可靠性的解决方案

                2.1 避错技术

                2.2 降低复杂度设计

                2.3 检错技术

                2.4 容错技术

        3、双机容错


一、可靠性相关基本概念

        【可靠性】:可靠性是软件系统在应用或系统错误面前 ,在意外或错误使用的情况下维持软件系统的功能性的基本能力。

        【可用性】:可用性是系统能够正常运行的时间比例

        软件可靠性 ≠ 硬件可靠性

        (1)复杂性:软件复杂性比硬件高,大部分失效来自于软件失效

        (2)物理退化:硬件失效主要是物理退化所致,软件不存在物理退化。

        (3)唯一性:软件是唯一的,每个COPY版本都一样,而两个硬件不可能完全一样。

        (4)版本更新周期:硬件较慢,软件较快。

二、可靠性指标

        【失效率】:(λ)λ = N / T,N表示在某个时间段内失效的总数,T则是相应时间段的总时间。

        【平均无故障时间】:(MTTF)MTTF = 1 / λ,λ为失效率

        【平均故障修复时间】:(MTTR)MTTR = 1 / μ,μ为修复率

        【平均故障间隔时间】:(MTBF)MTBF = MTTR + MTTF

        【系统可用性】:MTTF / (MTTR + MTTF)* 100%

         在实际应用中一般MTTR很小,所以通常认为MTBF ≈ MTTF。

        1、串联系统与并联系统可靠性指标计算

                串联: 

                        可靠性:R = R1 * R2 * ... * Rn

                        使效率近似公式:λ = λ1 + λ2 + ... + λn

                并联:

                         可靠性:R = 1 -(1 - R1)*(1 - R2)* ...*(1 - Rn)

        2、混合系统

 

三、可靠性设计

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

        (1)软件的开发方法和开发环境(2)运行环境

        (3)软件系统的规模(4)软件的内部结构(5)软件的可靠性投入

        

        2、增加可靠性的解决方案

                2.1 避错技术

                        例如:使用CMMI(能力成熟度模型集成)规范管理过程、应用测试等。

                2.2 降低复杂度设计

                        设计层面降低系统复杂度。

                2.3 检错技术

                        出错后报警,人工处理,成本较低。

                2.4 容错技术

                        (1)N版本程序设计(静态冗余)

                                多个版本同时计算获得到结果,通过表决器算法最终确定采用结果。主要应用在可靠性要求极高的场景,成本高。例:飞行控制系统、高铁信号系统。

                                 与通常软件开发过程不同的是,N版本程序设计增加了三个新的阶段:相异成分规范评审、相异性确认、背对背测试。

                                N版本程序的同步、N版本程序之间的通信、表决算法(全等表决、非精确表决、Cosmetie表决)、一致比较问题、数据相异性。

 

                        (2)恢复快设计(动态冗余)

                                 设计时应保证实现主块和后备块之间的独立性,避免相关错误的产生,使主块和备份块之间的共性错误降到最低程度。

                                必须保证验证测试程序的正确性。

 

                        【N版本程序设计与恢复快方法区别】

                                 前向恢复:使当前的计算继续下去,把系统恢复成连贯的正确状态,弥补当前状态的不连贯情况。

                                后向恢复:系统恢复到前一个正确状态,继续执行。

 

                        (3)防卫式程序设计

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

                                实现策略:错误检测、破坏估计、错误恢复。(例:代码中 try / catch 函数)

                        冗余:

                        (1)结构冗余(硬件冗余、软件冗余)

                        (2)信息冗余(校验码)

                        (3)时间冗余(重复多次进行相同计算)

 

        3、双机容错

                (1)双机热备模式(主系统、备用系统)

                (2)双机互备模式(同时提供不同服务,心不跳则接管)

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

                 双机模式是集群的前身

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/67623.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【算法|数组】滑动窗口

算法|数组——滑动窗口 引入 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl1, ..., numsr-1, numsr] ,并返回其长度**。**如果不存在符合条件的子数组,返回 0 。 示例…

Vue [Day5]

自定义指令 全局注册 和 局部注册 inserted在指令所在的元素 被插入到页面中时,触发 main.js import Vue from vue import App from ./App.vueVue.config.productionTip false// 1.全局注册指令 Vue.directive(focus, {// inserted在指令所在的元素 被插入到页…

机器学习中训练数据的重要性

人工智能技术发展至今,训练数据的重要性已经是我们老生常谈的问题。在重声训练数据为什么重要之前,我们先重新回顾下AI技术大爆炸的三大初始概念:机器学习是什么?人工智能是什么?训练数据又是什么? 机器学…

阿里云内容审核服务使用(图片审核)

说明:在项目中,我们经常会对用户上传的内容(如文字、图片)等资源内容进行审核,审核包括两方面,一方面是内容与描述不符,一方面是违反法律法规。本文介绍使用阿里提供的内容审核服务,…

4、Rocketmq之存储原理

CommitLog ~ MappedFileQueue ~ MappedFile集合 正常情况下,RocketMQ支持消息体字节数最多为1个G。注意该消息体并不单单是消息体body。如果生产的消息其字节数超过1个G则该消息是无法被落盘处理的。因为没有一个MapperFile文件可以承载该消息所有的字节数。 1.All…

智慧工地源码 智慧工地云平台源码 智慧工地APP源码

智慧工地的核心是数字化,它通过传感器、监控设备、智能终端等技术手段,实现对工地各个环节的实时数据采集和传输,如环境温度、湿度、噪音等数据信息,将数据汇集到云端进行处理和分析,生成各种报表、图表和预警信息&…

windows10开启远程连接

目录 开启远程连接远程连接 开启远程连接 右击电脑图标->属性 点击 远程设置 远程连接 找到 远程桌面连接 点击 远程桌面连接 输入远程ip 10.0.8.5 然后点击连接 4.输入默认用户名new的密码,然后确定,搞定。

网络加速与文件传输软件:如何通过优化网络提升文件传输速度

在信息化社会,文件传输是人们生活和工作中必不可少的一个环节。但是,由于网络环境的多样性和传输过程中可能出现的各种问题,文件传输速度经常受到影响。因此,如何优化网络以提高文件传输速度成为了一个重要的课题。本文将探讨网络…

SQL SERVER 异地备份到远程共享文件夹异常处理

SQL SERVER 异地备份到远程共享文件夹异常处理 SQL Server 异地备份到远程共享文件夹异常处理 - 灰信网(软件开发博客聚合) -- 允许配置高级选项 EXEC sp_configure show advanced options, 1 GO -- 重新配置 RECONFIGURE GO -- 启用xp_cmdshell EXEC sp…

正则表达式的使用

1、正则表达式-教程 正则表达式:文本模式,包括普通字符(例如,a到z之间的字母)和特殊字符(称为元字符)。 正则表达式使用单个字符串来描述,匹配一系列匹配某个句法规则的字符串。 2、…

如何卸载SOLIDWORKS软件?

本文将为您提供一份简易指南,介绍如何正确卸载SOLIDWORKS软件,并分享一些注意事项,确保您的卸载过程顺利进行。 SOLIDWORKS软件作为一款强大的三维设计和工程分析工具,为许多工程师提供了优良的创作平台。然而,有时候我…

Redis-简单动态字符串(SDS)

文章目录 文章概要SDS数据结构定义SDS和C字符串的区别总结参考 文章概要 本篇文章,我们来学习Redis字符串的编码格式SDS编码,文章将将从以下几个方面介绍SDS: SDS的底层数据结构定义Redis是C写的,那SDS和C中的字符串的区别是什么…

OpenMV 自适应颜色阈值

目录 演示视频 思路讲解 OprnMV代码 演示视频 备战2023电赛~openmv自适应颜色阈值(附源代码网盘链接) 思路讲解 1. 参考openmv官方例程讲解10-Color-Tracking->image_statistics_info图像统计信息https://book.openmv.cc/example/10-Color-Trackin…

【Linux】gcc编译器的使用和介绍

目录 一,GCC简介 二,GCC的主要组件 三,GCC的工作流程 四,GCC的一些重要特性和功能 五,GCC常用的编译选项 六,GCC的输入输出选项的具体用法 七,GCC的参考文档 一,GCC简介 GCC&…

AI语音工牌在通讯行业营业大厅场景应用

在运营商营业大厅中,每天都有大量的客户来访咨询、办理业务。同时也会经常产生大量的客诉纠纷和服务差评。但因为缺乏有效的管理工具,加上线下沟通场景的数据采集难度高,数字化程度低,管理一直处于盲区。如何有效的管控营业厅人员…

2023最新Windows编译ffmpeg详细教程,附msys2详细安装配置教程

安装MSYS2 msys2是一款跨平台编译套件,它模拟linux编译环境,支持整合mingw32和mingw64,能很方便的在windows上对一些开源的linux工程进行编译运行。 类似的跨平台编译套件有:msys,cygwin,mingw 优势&…

【密码学】六、公钥密码

公钥密码 1、概述1.1设计要求1.2单向函数和单向陷门函数 2、RSA公钥密码体制2.1加解密2.2安全性分析 3、ElGamal公钥密码体制3.1加解密算法3.2安全性分析 4、椭圆曲线4.1椭圆曲线上的运算4.2ECC 5、SM2公钥密码体制5.1参数选取5.2密钥派生函数5.3加解密过程5.3.1初始化5.3.2加密…

Maven引入本地jar包

maven做为一种强大的依赖管理工具,可以帮助我们更方便的管理项目中的依赖;而在使用过程中我们难免会有需要引入本地jar包的需求,这里踩过坑之后我分享俩种引入方式; 1.上传jar到本地maven仓库,再引入 使用此方法后可…

最强自动化测试框架Playwright-操作指南(3)-PO模式

playwright支持PO模式 创建页面对象 class SearchPage:def __init__(self, page):self.page pageself.search_term_input page.get_by_role("searchbox", name"输入搜索词")def navigate(self):self.page.goto("https://bing.com")def searc…

探索远程访问内网群晖NAS 6.X(使用独立域名)【内网穿透】

使用自己的域名远程访问内网群晖NAS 6.X【内网穿透】 文章目录 使用自己的域名远程访问内网群晖NAS 6.X【内网穿透】 在之前的文章中,我们向大家演示了如何使用cpolar,创建一条固定的、能够在公共互联网登录内网群晖NAS的数据隧道。这条隧道已经能够应对…
最新文章