系统架构师(十七)系统可靠性分析与设计

可靠性概述

系统可靠性是系统在规定的时间内及规定的环境下,完成功能的能力,也就是系统无故障运行的概率
系统可用性是指在某个给定时间点上系统能够按照需求执行的概率

与可靠性相关的概念主要有:可靠度、可用度、可维度、平均无故障时间、平均故障修复时间及平均故障间隔时间等。

  • 可靠度:在 t=0 时系统正常的条件下,系统在时间区间[0,t]内能正常运行的概率。
  • 可用度:系统在时刻 t 可运行的概率。
  • 可维度:系统失效后,在时间间隔内被修复的概率。
  • 平均无故障时间:从 t=0 时到故障发生时系统的持续运行时间的期望值:MTTF= 1/失效率
  • 平均故障修复时间:MTTR=1/修复率,修复率是指单位时间内可修复系统的平均次数
  • 平均故障间隔时间:MTBF = MTTR + MTTF
平均无故障时间(MTTF): MTTF = 1/失效率;
平均故障修复时间(MTTR):  MTTR = 1/修复率;
平均故障间隔时间(MTBF):  MTBF = MTTR + MTTF;
系统可用性:  MTTF/ (MTTR+MTTF) × 100%

故障来源

(1)失效:硬件的物理改变。
(2)故障:由于部件的失效、环境的物理干扰、操作错误或不正确的设计引起的硬件或软件中的错误状态。
(3)错误(差错):故障在程序或数据结构中的具体位置。故障或错误有如下几种表现形式。

  • 永久性:描述连续稳定的失效、故障或错误。在硬件中,永久性失效反映了不可恢复的物理改变。
  • 间歇性:描述那些由于不稳定的硬件或变化着的硬件或软件状态所引起的、仅仅是偶然出现的故障或错误。
  • 瞬时性:描述那些由于暂时的环境条件而引起的故障或错误。

系统配置方法

容错技术是保证系统在某些组成部分出现故障或差错时仍能正常工作的技术 。通常根据不同的系统配置方法而采用相应容错技术:单机容错技术、双机热备份技术和服务器集群技术。

(1) 单机容错技术: 提高系统工作可靠性的方法主要有自检技术和冗余技术。容错又有多种形式,如硬件容错、软件容错、整机容错等。

  • 自检技术:系统在发生非致命性故障时能自动发现故障和确定故障的性质、部位,并自动采取措施更换和隔离产生故障的部件。
  • 冗余技术:可分为硬件冗余、软件冗余;冗余技术中最常用的两种方法是重复线路和备份线路。

(2) 双机热备份技术: 一种软硬件结合的较高容错应用方案。

  • 双机热备模式:一台服务器处于工作状态,一台服务器处于后备的状态
  • 双机互备模式:是两个相对独立的应用在两台机器同时运行,但彼此均设为备机
  • 双机双工模式:集群的一种形式,两台服务器均处于活动状态,同时运行相同的应用,以保证整体系统的性能

(3)服务器集群技术: 指一组相互独立的服务器在网络中组合成为单一的系统工作,并以单一系统的模式加以管理。

提高系统可靠性的措施

资源冗余有硬件冗余、信息冗余、时间冗余和软件冗余 4 种形式

硬件冗余最常用的是三模冗余(Triple Modular Redundancy,TMR),三个相同的模块接收三个相同的输入,产生的三个结果送至多数表决器

信息冗余是指通过在数据中附加冗余的信息以达到故障检测、故障掩蔽或容错的目的。应用最广泛的是海明校验码、奇偶校验码。

N版本程序设计: 静态冗余,与三模冗余方式相似,通过三个版本的程序运行相同的输入,根据结果表决。
恢复快设计: 动态冗余,设计时保证主块和备块之间的独立性,主块运行出错时调用备块运行;
防卫式程序设计: try catch

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1 操作系统 操作系统是计算机系统中的核心系统软件,负责管理和控制计算机系统中硬件和软件资源,合理组织计算机工作流程和有效利用资源,在计算机与用户之间起接口的作用 1.1 操作系统的类型 操作系统的类型(依据使用环境和对作业的处理方式)分为批处理、分时、实时、网络和分布式等。 1、批处理:把作业分类,把一批作业编成一个作业执行序列。可分联机和脱机。特征为脱机使用计算机、成批处理和多道程序运行。 2、分时:采用分时技术,使多个用户同时以会话控制自己程序的运行,每个用户都认为拥有各自独立的、支持自己请求服务的系统。特征有交互性、多用户同时性和独立性。 3、实时:专用,系统与应用难分离。并不强调资源利用率,更关心及时性、可靠性和完整性。分实时过程控制和实时信息处理。特征有即时响应、高可靠性。 4、网络:按网络架构的各个协议标准制订,包括网络管理、通信、资源共享、系统安全和多种网络应用,实现协同工作和应用集成。特征有互操作性、协作处理。 5、分布式:要求一个统一的操作系统,实现系统操作的统一性,负责全系统的资源分配和调度,为用户提供统一的界面。 6、操作系统的5项基本功能,包括处理器管理、存储管理、设备管理、文件管理和作业管理。 1.2 操作系统的结构 结构分为无序、层次、面向对象、对称多处理和微内核。 1、无序:又称整体或模块结构。以大型表格和队列为中心,操作系统各个部分围绕着表格运行,整个系统是一个程序。模块结构相对独立,模块之间通过规定的接口相互调用。优点为缩短开发周期。缺点是模块之间调用关系复杂、相互依赖,使分析、移植和维护系统较易出错。 2、层次:操作系统分解成若干个单向依赖的层次,由多层正确性保证操作系统的可靠性。优点层次结构清晰,简化了接口设计,有利于系统功能的增加或删改,易于保证可靠性,便于维护和移植。 3、面向对象:基于面向对象程序设计的概念,采用了各种不同的对象技术。把对象最为系统中的最小单位,由对象、对象操作、对象保护组成的操作系统。优点适用于网络操作系统和分布式操作系统。 4、对称多处理:所有多处理运行且共享同一内存(内存储器、主存、实存)。优点适合共享存储器结构的多处理机系统。 5、微内核:把系统的公共部分抽象出来,形成一个底层核心,提供最基本的服务,其他功能以服务器形式建立在微内核之上。具有良好的模块化和结构化特征,模块之间和上下层之间通过消息来通信。 操作系统大多拥有两种工作状态:核心态和用户态。一般的应用程序工作在用户态,内核模块和最基本的操作系统核心工作在核心态。 微内核结构由一个简单的硬件抽象层和一组比较关键的原语(仅仅为建立系统必须的部分,包括线程管理、地址空间和进程间通信)或系统调用组成。 微内核的目标将系统服务的实现和系统的基本操作规则分离开来
系统架构设计师是一种在软件开发过程中起关键作用的职位。作为一名系统架构设计师,我要关注的是整个系统的结构和组件之间的关系,以满足系统的功能需求和性能要求。 首先,作为一名系统架构设计师,我会从需求分析入手。我会与业务团队紧密合作,理解他们的需求,并将其转化为系统架构设计要求。我会明确系统的功能、性能、安全和可靠性等方面的要求,并将其作为我设计的核心指导。 接下来,我会进行系统的模块化划分。我会将系统划分为一系列相对独立的模块,每个模块负责一个特定的功能。在划分过程中,我会考虑模块之间的接口和依赖关系,以确保模块之间的交互和合作是可靠和高效的。 在模块划分完成后,我会设计系统的整体结构。这包括确定系统的核心组件、层次结构、数据流和控制流等。我会考虑系统的可扩展性和灵活性,以便在未来的需求变化时能够轻松进行扩展和调整。 同时,我会关注系统的安全性和可靠性。我会设计适当的安全措施,保护系统免受潜在攻击和威胁。我会考虑系统的容错能力和备份策略,以确保系统在故障时可以快速恢复和持续运行。 最后,我会与开发团队紧密合作,落实系统架构的实施和验证。我会与开发人员共同制定开发计划和技术规范,确保系统设计能够正确地被实现。 总结而言,作为系统架构设计师,我要全面考虑系统需求、功能、性能、安全和可靠性等方面。通过合理的模块化划分和整体结构设计,我致力于打造一个高效、安全、可靠和易于扩展的系统架构

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值