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

这篇具有很好参考价值的文章主要介绍了系统架构设计师-系统可靠性分析与设计。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、可靠性相关基本概念

二、可靠性指标

        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)双机双工模式(同时提供相同的服务,集群的一种)

                 双机模式是集群的前身文章来源地址https://www.toymoban.com/news/detail-635567.html

到了这里,关于系统架构设计师-系统可靠性分析与设计的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java架构师软件可靠性构建

    想学习架构师构建流程请跳转:Java架构师系统架构设计 软件可靠性是软件产品在规定的条件下和规定的时间区间完成规定功能的能力。软件可靠性和硬件可靠性区别(1)复杂性: 软件复杂性比硬件高,大部分失效来自于软件失效2)物理退化: 硬件失效主要是物理退化所致,软件

    2024年02月07日
    浏览(37)
  • 系统架构设计师 7:系统架构设计

    软件架构(Software Architecture, SA)并非可运行软件,确切地说,它是一种表达,使软件工程师能够: 1. 分析设计在满足所规定的需求方面的有效性; 2. 在设计变更相对容易的阶段,考虑体系结构可能的选择方案; 3. 降低与软件构造相关联的风险。 软件架构设计的生命周期包

    2024年02月12日
    浏览(41)
  • 系统架构设计师-软件架构设计(3)

    目录 一、软件架构风格(其它分类)         1、闭环控制结构(过程控制)           2、C2风格         3、MDA(模型驱动架构 Model Driven Architecture)         4、特定领域软件架构(DSSA)                 4.1 DSSA基本活动及产出物:             

    2024年02月15日
    浏览(43)
  • 系统架构设计师-软件架构设计(7)

    目录 大型网站系统架构演化 一、第一阶段:单体架构 到 第二阶段:垂直架构 二、第三阶段:使用缓存改善网站性能         1、缓存与数据库的数据一致性问题         2、缓存技术对比【MemCache与Redis】         3、Redis分布式存储方案         4、Redis集群切片的

    2024年02月14日
    浏览(54)
  • 系统架构设计师-软件架构设计(6)

    目录 一、物联网分层架构 二、大数据分层架构 三、基于服务的架构(SOA)         1、SOA的特征         2、服务构件与传统构件的区别 四、Web Service(WEB服务)         1、Web Services 和 SOA的关系 五、REST(表述性状态转移) 六、ESB(企业服务总线) 七、微服务         1、微

    2024年02月14日
    浏览(73)
  • 【新版】系统架构设计师 - 软件架构设计<新版>

    个人总结,仅供参考,欢迎加好友一起讨论 软件架构的概念(★★★) 基于架构的软件开发(★★★★) 软件架构风格(★★★★★) 特定领域软件架构(★★★) 软件质量属性(★★★★★) 软件架构评估(★★★★★) 软件产品线(★★★) 构件与中间件技术(★

    2024年02月09日
    浏览(38)
  • Service Mesh:如何为您的微服务架构带来可靠性和灵活性

    在云原生架构中,Service Mesh 技术成为了微服务架构中不可或缺的一环。本文灸哥将和你一起探讨 Service Mesh 技术的原理、功能和实践,帮助架构师和开发人员更好地理解和应用这一关键技术。 Service Mesh 又称为服务网格,之所以称为服务网格,是因为每台主机上同时运行了业

    2024年03月10日
    浏览(36)
  • 系统架构设计专业技能 · 软件工程(一)【系统架构设计师】

    系统架构设计高级技能 · 软件架构概念、架构风格、ABSD、架构复用、DSSA(一)【系统架构设计师】 系统架构设计高级技能 · 系统质量属性与架构评估(二)【系统架构设计师】 系统架构设计高级技能 · 软件可靠性分析与设计(三)【系统架构设计师】 软件开发生命周期

    2024年02月13日
    浏览(29)
  • 【新版】系统架构设计师 - 软件架构设计<轻量级架构>

    个人总结,仅供参考,欢迎加好友一起讨论 基本概念(★) SSH(★★) SSM(★★) 用户界面的逻辑位于最顶层。表现层负责把用户要求的业务逻辑处理结果以可视化的友好的方式返回给用户,并提供接受用户命令的接口和表现层页面控制逻辑的代码。 业务逻辑层负责处理

    2024年02月09日
    浏览(46)
  • 系统架构设计师

    专用的成电路(Application Specific Integrated Circuit,ASIC) PTR记录:Pointer Record,常被用于反向地址解析,即通过IP地址查询服务器域名。 软件开发模型 【 增量模型 的优点】 降低了实现需求变更的成本。较瀑布模型而言,重新分析和修改文档的工作流要少很多。 在开发过程中更容

    2024年01月20日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包