《软件体系结构》课件 08-可用性_第1页
《软件体系结构》课件 08-可用性_第2页
《软件体系结构》课件 08-可用性_第3页
《软件体系结构》课件 08-可用性_第4页
《软件体系结构》课件 08-可用性_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

AvailabilityanditsTactics1软件体系结构课程组目录质量属性的含义1质量属性场景22提升可用性的策略4可用性的含义3目录质量属性的含义1质量属性场景23提升可用性的策略4可用性的含义3质量属性的含义-概述(1/4)属于非功能性需求,并不被功能所决定实现功能特性必须给构成系统中的各个部分(模块)赋予正确的职责、正确的资源和正确的调度顺序先实现功能,再谈质量属性4QualityAttributes(QA)质量属性的含义-概述(2/4)5功能性需求vs.非功能性需求质量属性的含义-概述(3/4)不同的软件项目,关注不同的质量属性影响体系结构风格的选择质量属性之间可能互相抑制优先保证高优先级的质量属性6质量属性的含义-概述(4/4)必须结合设计、实现、部署3方面才能满足缺一不可在体系结构层面,就要考虑质量属性的实现7质量属性的含义-常见的质量属性可用性(Availability)可修改性(Modifiability)性能(Performance)安全性(Security)可测试性(Testability)易用性(Usability)8目录质量属性的含义1质量属性场景29提升可用性的策略4可用性的含义3质量属性场景-描述质量属性的挑战客户希望“系统运行速度快”多快才算快?系统的哪些业务要优先保证速度?客户希望“系统安全性高”多安全才算安全?面临的主要威胁是什么?10仅仅指出一个质量属性的名字,太模糊质量属性场景-组成部分质量属性场景的6个组成部分刺激源(source):谁造成的刺激刺激(stimulus):一个影响系统的情况制品(artifact):系统被影响的部分环境(environment):刺激发生时系统所处的状态响应(response):刺激所产生的结果响应衡量指标(responsemeasure):如何评估响应11描述系统如何对刺激做出反应质量属性场景-生活案例12司机踩油门动力系统超车、爬坡……发动机转速提高……时速表本页图片来自网络目录质量属性的含义1质量属性场景213提升可用性的策略4可用性的含义3可用性含义-Preview14本页图片来自网络1996年,欧洲航天局Ariane501火箭升空现场。1996年,欧洲航天局研制的Ariane501因软件失效,导致火箭在发射40s后爆炸,造成25亿美元的经济损失;1999年,美国国家航空航天局的火星极地登陆器MarsPolarLander因软件失效导致着陆引擎过早关闭,最终登陆器撞毁。可用性含义-Preview1996年,欧洲航天局(EuropeanSpaceAgency,ESA)研制的Ariane501因软件失效,导致火箭在发射40s后爆炸,造成25亿美元的经济损失;1999年美国国家航空航天局(NationalAeronauticsandSpaceAdministration,NASA)的火星极地登陆器(MarsPolarLander)因软件失效导致着陆引擎过早关闭,最终登陆器撞毁。152019年1月3日上午10点26分,我国嫦娥四号月球探测器经过26天的“长途跋涉”之后不负众望,成功的在月球背面软着陆。完成了全人类有史以来第一次成功登陆月球背面!Liu,

J.,

Ren,

X.,

Yan,

W.,

etal.

(2019).

DescenttrajectoryreconstructionandlandingsitepositioningofChang’E-4onthelunarfarside.

NatureCommunications.

刘建军等科学家在《自然通讯》上发表的研究成果本页图片来自网络除了功能之外…可用性可用性含义-Preview16本页图片来自网络除了功能之外…可用性可用性的含义-概述(1/4)17GB/T3187-97(国标)

可用性的定义:在要求的外部资源得到保证的前提下,产品在规定的条件下和规定的时刻或时间区间内处于可执行规定功能状态的能力。它是产品可靠性、维修性和维修保障性的综合反映。Availability=MTBF/(MTBF+MTTR)平均故障间隔时间平均修复时间MeanTimeToRepair,是描述产品由故障状态转为工作状态时修理时间的平均值。MeanTimeBetweenFailure,是指相邻两次故障之间的平均工作时间,是衡量一个产品的可靠性指标。可用性的含义-概述(2/4)定义当用户使用系统时,系统可用的概率提前确定的停机维护不计入18本页图片来自网络可用性的含义-概述(3/4)关注点是否发生了故障(无法提供正常的服务,被外界发现)故障的后果19可用性的含义-概述(4/4)衡量指标可用(或故障)时间百分比修复故障所需的时间平均无故障时间……2099.9%可用

99.999%可用,意味着什么?本页图片来自网络可用性的含义-可用性场景(1/3)刺激源故障的迹象(来自内部或外部)刺激系统出错系统崩溃(反复出错)给出结果不准时(早或晚)给出错误结果21可用性的含义-可用性场景(2/3)制品计算or存储or网络传输环境正常状态or“亚健康”状态22可用性的含义-可用性场景(3/3)响应记录日志(错误报告),回传给厂家通知管理员或其他系统关闭系统,系统在维修期间不可用响应衡量指标故障时间百分比、修复故障所需时间、平均无故障时间……23可用性的含义-环境的示例24Windows安全模式(降级模式)本页图片来自网络可用性的含义-响应的示例25Word发送错误报告本页图片来自网络可用性的含义-场景示例26本页图片来自网络目录质量属性的含义1质量属性场景227提升可用性的策略4可用性的含义3提升可用性的策略-策略的定义Tactics满足特定质量属性的具体设计手段是体系结构风格的基本单元28控制响应的策略刺激响应提升可用性的策略-概述目标降低故障造成的影响方向1:故障检测如何第一时间发现故障方向2:故障恢复如何恢复正确的结果方向3:故障避免如何主动减少故障的发生29提升可用性的策略故障未造成影响,或者进行了修复故障提升可用性的策略-故障检测(1/3)Ping/echo监控组件不定期向被监控组件发出ping消息,并根据收到的echo消息(是否收到、延时)做出响应30本页图片来自网络提升可用性的策略-故障检测(2/3)Heartbeat(心跳)被监控组件定期向监控组件发出心跳消息在节点间保持周期性的心跳信号以检测各个节点的状态。若连续未收到的心跳信号到了一定的数目,就认为相应的系统已经出现故障。心跳消息可以携带通讯数据:ATM的流水信息31隔壁大黄在追杀我,我会每个小时给你打电话报平安,如果连续2个小时没给你电话,你就报警本页图片来自网络提升可用性的策略-故障检测(3/3)Exceptions(异常)抛出+捕获+处理需要编程语言支持32本页图片来自网络提升可用性的策略-概述目标降低故障造成的影响方向1:故障检测如何第一时间发现故障方向2:故障恢复如何恢复正确的结果方向3:故障避免如何主动减少故障的发生33提升可用性的策略故障未造成影响,或者进行了修复故障提升可用性的策略-故障恢复(1/4)34投票多个冗余的组件,用统一或不同的算法来完成同一个任务。如果计算结果不同,则少数服从多数。9,1,4,7,6排序:1,4,6,7,91号服务器2号服务器3号服务器1,4,6,7,91,4,6,7,91、2、3正确4,6,1,7,91,4,6,7,91,4,6,7,92、3正确,1错误1,4,6,7,94,1,6,7,94,1,6,7,92、3正确,1错误X更多数组件都犯了同样的错误,这种情况如何处理?4,1,6,7,94,1,6,7,94,1,6,7,91、2、3正确X提升可用性的策略-故障恢复(2/4)35本页图片来自网络投票为降低出错的概率,冗余组件可以采用不同软、硬件平台/算法,完成同一任务。1号服务器2号服务器3号服务器更多数组件都犯了同样的错误,这种情况如何处理?冒泡排序选择排序快速排序安卓手机LinuxWindows多种算法降低概率多种软硬件平台降低概率提升可用性的策略-故障恢复(3/4)36主动冗余A、B服务器完成同样的运算(A和B的状态时刻保持一致),平时只取A算出的结果;当A出现故障时,系统可以极快地切换到B。客户端服务器A服务器B结果服务器切换结果更新更新数据同步提升可用性的策略-故障恢复(3/4)37被动冗余A服务器完成运算后的一定时间内把自身状态告知B,B再把自身状态更新为A的状态;当A出现故障时,首先需要确认B的状态是最新的。思考:主动冗余与被动冗余的优缺点客户端服务器A服务器B请求结果请求结果服务器切换定时更新状态更新确认状态数据是否最新更1新Yoyo项目团队:学习资源共享系统质量属性需求:系统在正常运行的状态下,数据库服务器宕机,系统可切换到备用数据库服务器,使系统恢复正常运行。1.回顾2.问题引入3.可用性含义4.提升策略5.应用应用-来自同学们的项目实践5功能性需求:学习资源共享系统采用分布式数据库,数据分布在A、B、C三个数据库服务器上……可用性请架构师们,利用A、B、C三台数据库服务器,为Yoyo团队的学习资源共享系统提供可满足该可用性的设计策略?提升可用性的策略-故障恢复(3/4)39思考:A、B、C三台服务器的冗余可以有怎样的设计方案?即将召开第二次课堂架构设计讨论会Yoyo项目团队:学习资源共享系统质量属性需求:系统在正常运行的状态下,数据库服务器宕机,系统可切换到备用数据库服务器,使系统恢复正常运行。功能性需求:学习资源共享系统采用分布式数据库,数据分布在A、B、C三个数据库服务器上……可用性请架构师们,利用A、B、C三台数据库服务器,为Yoyo团队的学习资源共享系统提供可满足该可用性的设计策略(多种)?提升可用性的策略-故障恢复(3/4)40服务器切换客户端请求服务器A服务器B服务器切换请求结果服务器C服务器切换客户端请求服务器B服务器A请求结果服务器C服务器切换状态更新请求结果请求结果BC为A的主动冗余请求结果请求结果B先作为A的主动冗余后作为C的被动冗余思考:A、B、C三台服务器的冗余可以有怎样的设计方案?提升可用性的策略-故障恢复(4/4)内测开发人员修正bug,并在内部进行测试,确认无误后再发布补丁检查点/回滚定期保存,便于恢复41提升可用性的策略-概述目标降低故障造成的影响方向1:故障检测如何第一时间发现故障方向2:故障恢复如何恢复正确的结果方向3:故障避免如何主动减少故障的发生42提升可用性的策略故障未造成影响,或者进行了修复故障提升可用性的策略-故障避免(1/3)服务下线惹不起,躲得起如果明确知道即将遭到毁灭性攻击,不如主动下线43本页图片来自网络提升可用性的策略-故

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论