软件体系结构课件第八课质量属性_第1页
软件体系结构课件第八课质量属性_第2页
软件体系结构课件第八课质量属性_第3页
软件体系结构课件第八课质量属性_第4页
软件体系结构课件第八课质量属性_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

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

文档简介

Review(复习)几种常见的质量属性:可用性可修改性性能安全性可测试性易用性Review(复习)几种常见的质量属性:1可用性和系统故障及其后果有关的质量属性定义:?理解?可理解为计算机在任一时刻正常工作的概率。可用性和系统故障及其后果有关的质量属性理解?可理解为计算机在2在何时需要强调可用性?这个属性对于一些安全性非常关键的系统是十分重要的一般会采用某种形式的“冗余”在何时需要强调可用性?这个属性对于一些安全性非常关键的系统是3可用性战术相关概念:错误故障可被观察到可用性战术阻止错误发展成故障;或者把错误的影响限制在一定范围内,从而使修复成为可能。可用性战术相关概念:可被观察到可用性战术阻止错误发展成故障;4可用性战术错误所屏蔽的错误或所作的修复可用性战术错误所屏蔽的错误或所作5可用性战术检测错误错误恢复可用性战术检测错误6错误检测战术命令/响应心跳异常可以用层级形式组织和命令/响应战术的区别是?在一个进程中操作在不同进程中操作错误检测战术命令/响应可以用层级形式组织和命令/响应战术的区7什么是异常?异常是对程序接口隐含假设的一种违反例如:PublicclassvoidTransfer(Accountfrom,Accountto,Decimalamount)Transfer方法接受两个Account对象和一个Decimal数值,改值表示在两个账号之间转账的数额。调用该方法,会有一些很明显的假设:From参数指向一个有效的Account,并且该帐户的余额大于指定的转账金额;但从该方法的原型中不清楚:Amount必须是一个正数?若from和to参数指向了同一个账号会发生什么?在同一个账户内进行转帐是否合法?如果amount参数超出了类设计者设定的范围怎么办?转账金额为0合法吗?什么是异常?异常是对程序接口隐含假设的一种违反Transfe8异常处理机制理想的情况:实际情况:设计人员完全考虑了上述假设,并将它们写在设计文档中,开发人员据此可以高效开发出代码文档中对上述假设考虑不全,代码因此也未对相应情况处理;在程序运行时才发现存在违例的情况;?一个程序如何通知调用它的程序它所作的假设被违反了呢?答案是:抛出异常异常处理机制理想的情况:设计人员完全考虑了上述假设,并将它们9异常处理Try{}Catch(Exception){}Finally{}该块中的代码是确保要执行的代码异常处理Try{该块中的代码是确保要执行的代码10异常处理实例VoidReadData(Stringpathname){FileStreamfs=null;Try{fs=newFileStream(pathname,Filemode.Open);….}Catch(overflowException){//存放overflowException异常的处理代码}Finally{if(fs!=null)fs.Close();//确保文件被关闭}}异常处理实例VoidReadData(Stringpat11异常处理机制的好处不必在异常出现的地方捕获或检测它们,这会极大的简化编码工作,我们不必为每一个可能失败的语句添加错误监测和校正代码。异常处理机制的好处不必在异常出现的地方捕获或检测它们,这会极12错误恢复战术软件体系结构课件第八课质量属性13错误恢复战术表决主动冗余被动冗余备件Shadow操作状态再同步检查点/回滚错误恢复战术表决14表决冗余处理器表决者组件冗余组件冗余组件冗余组件输入值输出值用一定的表决算法进行表决;多数规则或首选组件如果检测到单处理器的异常行为,则终止它或重起它。表决冗余处理器表决者冗余组件冗余组件冗余组件输入值输出值用一15主动冗余(热重启)

同时响应使用第一个组件的响应处在相同的状态切换主动冗余(热重启)16被动冗余(暖重启)备份OlddataNewdata被动冗余(暖重启)备份OlddataNewdata17备件一般用于硬件/操作系统的解决方案重新启动为适当的软件配置,并对其状态进行初始化。(定期设置持久设备的系统状态的检查点,并记录持久设备的所有状态变化能够使备件设置为适当的状态)备件一般用于硬件/操作系统的解决方案18备件一般用于硬件/操作系统的解决方案状态记录出现故障重启定期设置持久设备的系统状态的检查点,并记录持久设备的所有状态变化能够使备件设置为适当的状态备件一般用于硬件/操作系统的解决方案状态记录出现故障重启定期19重新引入Shadow操作状态再同步检查点/回滚当冗余组件失败时,可以在纠正该组件后将其再次引入以前出现故障的组件可以在短时间内以“Shadow模式”运行,以确保在恢复该组件之前,模仿工作组件的行为。一般用于主动/被动冗余在执行的程序中设置若干测试点,在每个测试点上检查输出结果。当测试程序检测出错误时,就认为正在执行的程序是一个错误运行的系统,这段程序要被重新执行,即程序的回滚。重新引入Shadow操作当冗余组件失败时以前出现故障的组件可20高可用性集群系统解决方案高可用性集群系统解决方案21系统由主机A及备份机B组成,二者之间通过一根心跳线相连(可以通过串口或以太网口),共享一个磁盘阵列。由主机A对外提供服务,备机B则通过心跳线来监测主机A,一旦主机A出现故障(如电源失效、主要部件失效、启动盘失效等导致系统发生故障),备机B可以把主机上的所有资源接管过来,从而继续对外提供服务。

系统由主机A及备份机B组成,二者之间通过一根心跳线相连(可以22主机和备机是相对而言的,也就是说两者可以各自负责某些服务及应用,两者可以互为备份,即active/active模式。这样,既可以提高系统的可靠性、冗余度,又可以充分利用硬件资源。

主机和备机是相对而言的,也就是说两者可以各自负责某些服务及应23多种冗余模式

中标普华高可用服务器系统提供了多种冗余模式:双机在线待机模式双机就绪模式三主机模式多种冗余模式中标普华高可用服务器系统提供了多种冗余模式:24双机在线待机模式在这种模式下,一个服务器作为主服务器。正常情况下其承担所有的服务。另外一台服务器作为待机服务器,正常情况下除了监控主服务器的状态,不进行其他的操作。一旦主服务器宕机,待机服务器就接手工作,成为新的主服务器。客户仍然可以拥有同样的服务器IP地址、NFS、数据、数据库及其他……实际上是在完成同一个功能应用,安装在主机上的软件通过心跳线来实时监测对方的运行状态,一旦正在工作的主机A因为各种硬件故障导致系统发生故障,主机B立即投入工作。双机在线待机模式在这种模式下,一个服务器作为主服务器。正常情25双机就绪模式在这种模式下,两个主机都作为主服务器,共享自己的磁盘阵列,各自承担一部分服务。例如服务器A在执行应用A,服务器B在执行应用B,两个主机在正常情况下各自独立运行自己的应用,两个主机同时又都作为对方的待机服务器,通过心跳线监控对方的状态。一旦某一服务器宕机,另一台服务器就承担所有的服务,为所有的客户服务。即一旦服务器A发生故障,服务器B马上接管服务器A上原来的应用;或者服务器B发生故障,服务器A马上接管服务器B上原来的应用,这是一种互为冗余的模式。

双机就绪模式在这种模式下,两个主机都作为主服务器,共享自己的26三主机模式

在这种模式中,待机服务器C同时监控主服务器A与B的状态。一旦服务器A或B宕机,服务器C将承担其服务,为客户服务。这种系统结构既保证了系统的安全运行,又保证了系统资源合理利用。

三主机模式在这种模式中,待机服务器C同时监控主服务器A与B27惠普高可用性解决方案现状及问题随着计算机在社会各个领域的广泛使用,人们已习惯于计算机系统带来的便捷和高效率,但计算机系统也非常脆弱,它会受各种因素的影响,如硬件系统本身的故障,电源故障,病毒,自然灾害或人为的恶意破坏,都会导致系统无法正常运行。现有很多系统均是单主机工作环境,任何一个单点故障,都会影响企业业务的正常运转,而且产生很多不良后果。惠普高可用性解决方案现状及问题28我们认为,解决该问题的关键,就是采用高可用性的群集解决方案。在一个承担关键业务的计算中心,采用多台主机共享一套存储设备存储业务数据,主机之间通过物理连接形成一定的相互联系,与相应的群集软件配合,可以实现如下功能:当整套系统中出现任何一个单点故障,都有相应的冗余部件代替发挥相应的功能,从而保证业务的正常进行,在此过程中的物理设备和应用软件的切换都不会被前端用户所察觉。我们认为,解决该问题的关键,就是采用高可用性的群集解决方案。29解决方案

解决方案

30软件体系结构课件第八课质量属性31虚拟服务器虚拟服务器32软件体系结构课件第八课质量属性33错误预防战术从服务中删除事务进程监视器错误预防战术从服务中删除34质量属性可修改性:有关变更的成本问题。性能:与事件发生时,系统将要耗费多长时间进行响应有关。安全性:衡量系统在向合法用户提供服务的同时,阻止非授权使用的能力。可测试性:通过测试揭示软件缺陷的容易程度。易用性:对用户来说,完成某个期望任务的容易程度和系统提供的用户支持的种类。通常应确定变更涉及几个模块;时间、资金预算质量属性可修改性:有关变更的成本问题。通常应确定变更涉及几个35Review(复习)几种常见的质量属性:可用性可修改性性能安全性可测试性易用性Review(复习)几种常见的质量属性:36可用性和系统故障及其后果有关的质量属性定义:?理解?可理解为计算机在任一时刻正常工作的概率。可用性和系统故障及其后果有关的质量属性理解?可理解为计算机在37在何时需要强调可用性?这个属性对于一些安全性非常关键的系统是十分重要的一般会采用某种形式的“冗余”在何时需要强调可用性?这个属性对于一些安全性非常关键的系统是38可用性战术相关概念:错误故障可被观察到可用性战术阻止错误发展成故障;或者把错误的影响限制在一定范围内,从而使修复成为可能。可用性战术相关概念:可被观察到可用性战术阻止错误发展成故障;39可用性战术错误所屏蔽的错误或所作的修复可用性战术错误所屏蔽的错误或所作40可用性战术检测错误错误恢复可用性战术检测错误41错误检测战术命令/响应心跳异常可以用层级形式组织和命令/响应战术的区别是?在一个进程中操作在不同进程中操作错误检测战术命令/响应可以用层级形式组织和命令/响应战术的区42什么是异常?异常是对程序接口隐含假设的一种违反例如:PublicclassvoidTransfer(Accountfrom,Accountto,Decimalamount)Transfer方法接受两个Account对象和一个Decimal数值,改值表示在两个账号之间转账的数额。调用该方法,会有一些很明显的假设:From参数指向一个有效的Account,并且该帐户的余额大于指定的转账金额;但从该方法的原型中不清楚:Amount必须是一个正数?若from和to参数指向了同一个账号会发生什么?在同一个账户内进行转帐是否合法?如果amount参数超出了类设计者设定的范围怎么办?转账金额为0合法吗?什么是异常?异常是对程序接口隐含假设的一种违反Transfe43异常处理机制理想的情况:实际情况:设计人员完全考虑了上述假设,并将它们写在设计文档中,开发人员据此可以高效开发出代码文档中对上述假设考虑不全,代码因此也未对相应情况处理;在程序运行时才发现存在违例的情况;?一个程序如何通知调用它的程序它所作的假设被违反了呢?答案是:抛出异常异常处理机制理想的情况:设计人员完全考虑了上述假设,并将它们44异常处理Try{}Catch(Exception){}Finally{}该块中的代码是确保要执行的代码异常处理Try{该块中的代码是确保要执行的代码45异常处理实例VoidReadData(Stringpathname){FileStreamfs=null;Try{fs=newFileStream(pathname,Filemode.Open);….}Catch(overflowException){//存放overflowException异常的处理代码}Finally{if(fs!=null)fs.Close();//确保文件被关闭}}异常处理实例VoidReadData(Stringpat46异常处理机制的好处不必在异常出现的地方捕获或检测它们,这会极大的简化编码工作,我们不必为每一个可能失败的语句添加错误监测和校正代码。异常处理机制的好处不必在异常出现的地方捕获或检测它们,这会极47错误恢复战术软件体系结构课件第八课质量属性48错误恢复战术表决主动冗余被动冗余备件Shadow操作状态再同步检查点/回滚错误恢复战术表决49表决冗余处理器表决者组件冗余组件冗余组件冗余组件输入值输出值用一定的表决算法进行表决;多数规则或首选组件如果检测到单处理器的异常行为,则终止它或重起它。表决冗余处理器表决者冗余组件冗余组件冗余组件输入值输出值用一50主动冗余(热重启)

同时响应使用第一个组件的响应处在相同的状态切换主动冗余(热重启)51被动冗余(暖重启)备份OlddataNewdata被动冗余(暖重启)备份OlddataNewdata52备件一般用于硬件/操作系统的解决方案重新启动为适当的软件配置,并对其状态进行初始化。(定期设置持久设备的系统状态的检查点,并记录持久设备的所有状态变化能够使备件设置为适当的状态)备件一般用于硬件/操作系统的解决方案53备件一般用于硬件/操作系统的解决方案状态记录出现故障重启定期设置持久设备的系统状态的检查点,并记录持久设备的所有状态变化能够使备件设置为适当的状态备件一般用于硬件/操作系统的解决方案状态记录出现故障重启定期54重新引入Shadow操作状态再同步检查点/回滚当冗余组件失败时,可以在纠正该组件后将其再次引入以前出现故障的组件可以在短时间内以“Shadow模式”运行,以确保在恢复该组件之前,模仿工作组件的行为。一般用于主动/被动冗余在执行的程序中设置若干测试点,在每个测试点上检查输出结果。当测试程序检测出错误时,就认为正在执行的程序是一个错误运行的系统,这段程序要被重新执行,即程序的回滚。重新引入Shadow操作当冗余组件失败时以前出现故障的组件可55高可用性集群系统解决方案高可用性集群系统解决方案56系统由主机A及备份机B组成,二者之间通过一根心跳线相连(可以通过串口或以太网口),共享一个磁盘阵列。由主机A对外提供服务,备机B则通过心跳线来监测主机A,一旦主机A出现故障(如电源失效、主要部件失效、启动盘失效等导致系统发生故障),备机B可以把主机上的所有资源接管过来,从而继续对外提供服务。

系统由主机A及备份机B组成,二者之间通过一根心跳线相连(可以57主机和备机是相对而言的,也就是说两者可以各自负责某些服务及应用,两者可以互为备份,即active/active模式。这样,既可以提高系统的可靠性、冗余度,又可以充分利用硬件资源。

主机和备机是相对而言的,也就是说两者可以各自负责某些服务及应58多种冗余模式

中标普华高可用服务器系统提供了多种冗余模式:双机在线待机模式双机就绪模式三主机模式多种冗余模式中标普华高可用服务器系统提供了多种冗余模式:59双机在线待机模式在这种模式下,一个服务器作为主服务器。正常情况下其承担所有的服务。另外一台服务器作为待机服务器,正常情况下除了监控主服务器的状态,不进行其他的操作。一旦主服务器宕机,待机服务器就接手工作,成为新的主服务器。客户仍然可以拥有同样的服务器IP地址、NFS、数据、数据库及其他……实际上是在完成同一个功能应用,安装在主机上的软件通过心跳线来实时监测对方的运行状态,一旦正在工作的主机A因为各种硬件故障导致系统发生故障,主机B立即投入工作。双机在线待机模式在这种模式下,一个服务器作为主服务器。正常情60双机就绪模式在这种模式下,两个主机都作为主服务器,共享自己的磁盘阵列,各自承担一部分服务。例如服务器A在执行应用A,服务器B在执行应用B,两个主机在正常情况下各自独立运行自己的应用,两个主机同时又都作为对方的待机服务器,通过心跳线监控对方的状态。一旦某一服务器宕机,另一台服务器就承担所有的服务,为所有的客户服务。即一旦服务器A发生故障,服务器B马上接管服务器A上原来的应用;或者服务器B发生故障,服务器A马上接管服务器B上原来的应用,这是一种互为冗余的模式。

双机就绪模式在这种模式下,两个主机都作为主服务器,共享自己的61三主机模式

在这种模式中,待机服务器C同时

温馨提示

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

评论

0/150

提交评论