软件体系结构ppt课件第八课质量属性.ppt

上传人:小飞机 文档编号:4067959 上传时间:2023-04-03 格式:PPT 页数:35 大小:1,010.50KB
返回 下载 相关 举报
软件体系结构ppt课件第八课质量属性.ppt_第1页
第1页 / 共35页
软件体系结构ppt课件第八课质量属性.ppt_第2页
第2页 / 共35页
软件体系结构ppt课件第八课质量属性.ppt_第3页
第3页 / 共35页
软件体系结构ppt课件第八课质量属性.ppt_第4页
第4页 / 共35页
软件体系结构ppt课件第八课质量属性.ppt_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《软件体系结构ppt课件第八课质量属性.ppt》由会员分享,可在线阅读,更多相关《软件体系结构ppt课件第八课质量属性.ppt(35页珍藏版)》请在三一办公上搜索。

1、Review(复习),几种常见的质量属性:可用性可修改性性能安全性可测试性易用性,可用性,和系统故障及其后果有关的质量属性定义:?,理解?,可理解为计算机在任一时刻正常工作的概率。,在何时需要强调可用性?,这个属性对于一些安全性非常关键的系统是十分重要的一般会采用某种形式的“冗余”,可用性战术,相关概念:错误故障,可被观察到,可用性战术阻止错误发展成故障;或者把错误的影响限制在一定范围内,从而使修复成为可能。,可用性战术,可用性战术,检测错误错误恢复,错误检测战术,命令/响应心跳异常,可以用层级形式组织,和命令/响应战术的区别是?,在一个进程中操作,在不同进程中操作,什么是异常?,异常是对程序

2、接口隐含假设的一种违反例如:Public class void Transfer(Account from,Account to,Decimal amount),Transfer方法接受两个Account对象和一个Decimal数值,改值表示在两个账号之间转账的数额。,调用该方法,会有一些很明显的假设:From参数指向一个有效的Account,并且该帐户的余额大于指定的转账金额;但从该方法的原型中不清楚:Amount必须是一个正数?若from和to参数指向了同一个账号会发生什么?在同一个账户内进行转帐是否合法?如果amount参数超出了类设计者设定的范围怎么办?转账金额为0合法吗?,异常处理机

3、制,理想的情况:实际情况:,设计人员完全考虑了上述假设,并将它们写在设计文档中,开发人员据此可以高效开发出代码,文档中对上述假设考虑不全,代码因此也未对相应情况处理;在程序运行时才发现存在违例的情况;,?一个程序如何通知调用它的程序它所作的假设被违反了呢?,答案是:抛出异常,异常处理,TryCatch(Exception)Finally,该块中的代码是确保要执行的代码,异常处理实例,Void ReadData(String pathname)FileStream fs=null;Try fs=new FileStream(pathname,Filemode.Open);.Catch(overf

4、lowException)/存放overflowException异常的处理代码Finally if(fs!=null)fs.Close();/确保文件被关闭,异常处理机制的好处,不必在异常出现的地方捕获或检测它们,这会极大的简化编码工作,我们不必为每一个可能失败的语句添加错误监测和校正代码。,错误恢复战术,错误恢复战术,表决主动冗余被动冗余备件Shadow操作状态再同步检查点/回滚,表决,冗余处理器,表决者组件,输入值,输出值,用一定的表决算法进行表决;多数规则或首选组件,如果检测到单处理器的异常行为,则终止它或重起它。,主动冗余(热重启),同时响应,使用第一个组件的响应,处在相同的状态,切

5、换,被动冗余(暖重启),备份,Old data,New data,备件,一般用于硬件/操作系统的解决方案重新启动为适当的软件配置,并对其状态进行初始化。(定期设置持久设备的系统状态的检查点,并记录持久设备的所有状态变化能够使备件设置为适当的状态),备件,一般用于硬件/操作系统的解决方案,状态记录,出现故障,重启,定期设置持久设备的系统状态的检查点,并记录持久设备的所有状态变化能够使备件设置为适当的状态,重新引入,Shadow操作状态再同步检查点/回滚,当冗余组件失败时,可以在纠正该组件后将其再次引入,以前出现故障的组件可以在短时间内以“Shadow模式”运行,以确保在恢复该组件之前,模仿工作组

6、件的行为。,一般用于主动/被动冗余,在执行的程序中设置若干测试点,在每个测试点上检查输出结果。当测试程序检测出错误时,就认为正在执行的程序是一个错误运行的系统,这段程序要被重新执行,即程序的回滚。,高可用性集群系统解决方案,系统由主机A及备份机B组成,二者之间通过一根心跳线相连(可以通过串口或以太网口),共享一个磁盘阵列。由主机A对外提供服务,备机B则通过心跳线来监测主机A,一旦主机A出现故障(如电源失效、主要部件失效、启动盘失效等导致系统发生故障),备机B可以把主机上的所有资源接管过来,从而继续对外提供服务。,主机和备机是相对而言的,也就是说两者可以各自负责某些服务及应用,两者可以互为备份,

7、即active/active模式。这样,既可以提高系统的可靠性、冗余度,又可以充分利用硬件资源。,多种冗余模式,中标普华高可用服务器系统提供了多种冗余模式:双机在线待机模式 双机就绪模式 三主机模式,双机在线待机模式,在这种模式下,一个服务器作为主服务器。正常情况下其承担所有的服务。另外一台 服务器作为待机服务器,正常情况下除了监控主服务器的状态,不进行其他的操作。一旦主服务器宕机,待机服务器就接手工作,成为新的主服务器。客户仍然可以拥有同样的服务器IP地址、NFS、数据、数据库及其他实际上是在完成同一个功能应用,安装在主机上的软件通过心跳线来实时监测对方的运行状态,一旦正在工作的主机A因为各

8、种硬件故障导致系统发生故障,主机B立即投入工作。,双机就绪模式,在这种模式下,两个主机都作为主服务器,共享自己的磁盘阵列,各自承担一部分服务。例如服务器A在执行应用A,服务器B在执行应用B,两个主机在正常情况下各自独立运行自己的应用,两个主机同时又都作为对方的待机服务器,通过心跳线监控对方的状态。一旦某一服务器宕机,另一台服务器就承担所有的服务,为所有的客户服务。即一旦服务器A发生故障,服务器B马上接管服务器A上原来的应用;或者服务器B发生故障,服务器A马上接管服务器B上原来的应用,这是一种互为冗余的模式。,三主机模式,在这种模式中,待机服务器C同时监控主服务器A与B的状态。一旦服务器A或B宕

9、机,服务器C将承担其服务,为客户服务。这种系统结构既保证了系统的安全运行,又保证了系统资源合理利用。,惠普高可用性解决方案,现状及问题随着计算机在社会各个领域的广泛使用,人们已习惯于计算机系统带来的便捷和高效率,但计算机系统也非常脆弱,它会受各种因素的影响,如硬件系统本身的故障,电源故障,病毒,自然 灾害或人为的恶意破坏,都会导致系统无法正常运行。现有很多系统均是单主机工作环境,任何一个单点故障,都会影响企业业务的正常运转,而且产生很多不良后果。,我们认为,解决该问题的关键,就是采用高可用性的群集解决方案。在一个承担关键业务的计算中心,采用多台主机共享一套存储设备存储业务数据,主机之间通过物理

10、连接形成一定的相互联系,与相应的群集软件配合,可以实现如下功能:当整套系统中出现任何一个单点故障,都有相应的冗余部件代替发挥相应的功能,从而保证业务的正常进行,在此过程中的物理设备和应用软件的切换都不会被前端用户所察觉。,解决方案,虚拟服务器,错误预防战术,从服务中删除事务进程监视器,质量属性,可修改性:有关变更的成本问题。性能:与事件发生时,系统将要耗费多长时间进行响应有关。安全性:衡量系统在向合法用户提供服务的同时,阻止非授权使用的能力。可测试性:通过测试揭示软件缺陷的容易程度。易用性:对用户来说,完成某个期望任务的容易程度和系统提供的用户支持的种类。,通常应确定变更涉及几个模块;时间、资金预算,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号