




已阅读5页,还剩91页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件系统架构实践 中国信息化培训中心2013年6月 课程目录 四 系统架构之六大战术 一 影响软件架构的因素 二 理解质量属性 三 质量属性战术应对 三 质量属性战术应对 1 可用性战术2 可修改性战术3 性能战术4 安全性战术5 可测试性战术6 易用性战术 战术介绍 质量需求指定了软件的响应 以实现业务目标战术 tactics 影响质量属性响应的设计决策构架策略 architecturalstrategy 战术的集合构架模式 architecturalpattern 以某种方式将战术打包在一起 质量属性战术 是什么使一个设计具有了可移植性 一个设计有了高性能 而另一个设计具备了可集成性 实现这些质量属性依赖于基本的设计决策 战术战术就是影响质量属性响应控制的设计决策可用性战术可修改性战术性能战术安全性战术可测试性战术易用性战术战术的集合称为 构架设计策略 可用性战术目标 可用性战术将会阻止错误发展为故障 或者至少能够把错误的影响限制在一定范围内 从而使系统恢复成为可能 可用性战术分类 维持可用性的方法包括 错误检测 用来检测故障的某种类型的健康监视自动恢复 检测到故障时某种类型的恢复错误预防 阻止错误演变为故障 可用性战术分类 可用性战术总结 错误检测 错误检测包括以下3个战术信号 响应 ping echo 一个组件发出一个信号 并希望在预定义的时间内收到一个来自审查组件的响应 该战术可以用在共同负责某项任务的一组组件内这种战术采用组件主动询问方式 就好像我们在课堂上点名一样 必须要求学生回答 错误检测 心跳 heartbeat 一个组件定期发出一个心跳信息 另一个组件收听该信息 心跳还可用于传递数据这种方式监视组件采用被动方式 就好像领导听取员工汇报工作这两种战术在不同的进程中进行操作 错误检测 异常 exceptions 异常处理程序通常将错误在语义上转换为可以被处理的形式 异常通常与引入异常的程序在同一个进程中比如 if x 0 throwexception 错误恢复 表决 有6种错误恢复的战术表决 voting 运行在冗余处理器上的每个进程都具有相等的输入 它们计算的值都发给表决者 表决者发现异常则终止进程表决算法包括 多数规则 首选组件 等该方法用于纠正算法的错误操作或处理器的故障 通常用在控制系统中 表决 冗余处理器 表决者组件 输入值 输出值 用一定的表决算法进行表决 多数规则或首选组件 如果检测到单处理器的异常行为 则终止它或重起它 错误恢复 主动冗余 主动冗余 activeredundancy 所有的冗余组件都以并行的方式对事件做出响应 它们的状态都相同 但每次只使用一个组件的响应而丢弃其余组件的响应主动冗余通常用在客户机 服务器的配置中 在这种配置中 即使发生错误 也可在极短的时间 通常为几毫秒内恢复 比如门户网站采取的策略 主动冗余 热重启 同时响应 使用第一个组件的响应 处在相同的状态 切换 错误恢复 被动冗余 3 被动冗余 passiveredundancy 主组件对事件做出响应 并通知其它备用组件必须进行的状态更新 这样 主 从组件的状态是一致的被动冗余通常用在控制系统中 恢复时间一般在几秒内在被动冗余中 主组件负责状态同步 被动冗余 暖重启 备份 olddata newdata 错误恢复 备件 备件 spare 备件是计算平台配置用于更换各种不同的故障组件 出现故障时 必须将其重新启动为适当的软件配置 并对其状态进行初始化备件通常用在备用客户机工作站 恢复时间一般在几分钟内 错误恢复 重新引入 shadow操作 出现故障的组件可以以 shadow模式 运行 这样可以在系统恢复前模仿工作组件的行为状态再同步 stateresynchronization 主动和被动冗余战术要求所恢复的组件在重新提供服务前更新其状态 错误恢复 重新引入 检查点 回滚 checkpoint rollback 检查点就是记录所创建的一致状态 遇到故障 可以使用上次正确的检查点状态比如 windows操作系统的以上一次正常运行的配置启动 高可用性解决方案 现状及问题随着计算机在社会各个领域的广泛使用 人们已习惯于计算机系统带来的便捷和高效率 但计算机系统也非常脆弱 它会受各种因素的影响 如硬件系统本身的故障 电源故障 病毒 自然灾害或人为的恶意破坏 都会导致系统无法正常运行 现有很多系统均是单主机工作环境 任何一个单点故障 都会影响企业业务的正常运转 而且产生很多不良后果 我们认为 解决该问题的关键 就是采用高可用性的群集解决方案 在一个承担关键业务的计算中心 采用多台主机共享一套存储设备存储业务数据 主机之间通过物理连接形成一定的相互联系 与相应的群集软件配合 可以实现如下功能 当整套系统中出现任何一个单点故障 都有相应的冗余部件代替发挥相应的功能 从而保证业务的正常进行 在此过程中的物理设备和应用软件的切换都不会被前端用户所察觉 解决方案 虚拟服务器 错误预防 从服务中删除 removalfromservice 该战术从操作中删除了系统的一个组件 以执行某些活动来防止预期发生的故障 比如重新启动备用组件阻止当前组件的内存泄漏 错误预防 事务 transactions 事务是指绑定几个有序的步骤 以能够立刻撤销这个绑定 可以使用事务来防止任何数据受到影响进程监视器 processmonitor 监视进程中存在的错误 如果发现错误 则删除该执行进程 并为该进程创建一个新的实例 系统可用性 质量目标与保障手段 30 三 质量属性战术应对 1 可用性战术2 可修改性战术3 性能战术4 安全性战术5 可测试性战术6 易用性战术 可修改性战术 可修改性战术的目标是控制实现 测试和部署变更的时间和成本 可修改性战术分类 可修改性战术可以分为3类 局部化修改 目标是减少由某个变更直接影响的模块的数量防止连锁反应 目标是限制对局部化的模块的修改 以防止对某个模块的修改间接地影响到其他模块延迟绑定时间 目标是控制部署时间并允许非开发人员进行修改 可修改性战术分类 局部化修改 localizemodifications 该组战术的目标是在设计时为模块分配责任 以把预期的变更限制在一定的范围内预期期望的变更 expectedchanges 根据语义一致性原则 预测期望变更的战术并不关心模块责任的一致性 而是关心将变更的影响最小化 局部化修改 localizemodifications 维持语义一致性 semanticcoherence 语义一致性是模块中责任之间的关系 目标是确保所有这些责任都能够协同工作 不需要过多地依赖其它模块 即这组模块的内聚性维持语义一致性的子战术就是 抽象通用服务 通过专门的模块提供通用服务通常被视做支持重用 比如设计数学函数sin x 为通用函数 局部化修改 localizemodifications 泛化模块 generalizethemodule 使一个模块更通用能够使他根据输入计算更广泛的功能 模块越通用越有可能通过调整语言而非修改模块来进行请求变更限制选择参数 limitpossibleoptions 限制可能的选择将会降低这些修改所造成的影响 比如我们将可选择的处理器或操作系统限定在一定的范围内 防止连锁反应 preventrippleeffects 连锁反应 修改某个模块却影响到其他并没有被修改的模块 我们必须修改所有相关模块 直接影响和间接影响 才能够实现我们的变更目标依赖关系 如果我们根据某种需要修改模块a 那么也必须修改模块b 我们就说模块b依赖于模块a 防止连锁反应 preventrippleeffects 在应用程序中打开excelm excel app new application m excel workbooks newworkbooks clsidfromprogid l excel application 依赖关系 dependencies 语法 数据类型和签名一致语义 数据和服务所表达的意思一致顺序 b模块需要使用a的结果a的一个接口身份必须与b的假定一致a的位置必须与b的假定一致a提供的服务 数据的质量必须与b的一致a的存在是b正常执行的前提a的资源行为 与b的假定应该一致 防止连锁反应的战术 信息隐藏 hideinformation 目的是将变更隔离在一个模块内 防止变更扩散维持现有接口 maintainexistinginterfaces 如果b依赖于a的一个接口的名字和签名 则维持该接口及其语法能够使b保持不变 实现该战术的模式 2 1添加接口 addinginterfaces 2 2添加适配器 addingadapter 2 3提供一个占位程序a providingastuba 防止连锁反应的战术 限制通信路径 restrictcommunicationpaths 限制与一个给定的模块共享数据的模块 包括生产和使用该模块的数据 防止连锁反应的战术 使用仲裁者 useanintermediary 在a与b之间插入一个仲裁者 以管理a与b之间依赖的相关活动 仲裁者可以是 4 1数据 语法 如存储库4 2服务 语法 桥 调停者 策略 代理和工厂模式都提供把服务的语法从一种形式转换为另一种形式4 3a的接口的身份4 4a的位置4 5a的资源行为或有a控制的资源4 5a的存在 推迟绑定时间 deferbindingtime 推迟绑定时间支持部署时间及允许非开发人员修改可以在各个时间把决策绑定到执行系统中 在运行时绑定意味着系统已经为该绑定做好了准备 并且完成了所有的测试和分配步骤推迟绑定时间还能够使最终用户或系统管理员进行设置 或提供影响行为的输入 推迟绑定时间 deferbindingtime 很多推迟绑定时间的战术的目的是在载入时或运行时产生影响运行时注册 runtimeregistration 即插即用的操作配置文件 configurationfiles 启动时设置参数多态 polymorphism 允许方法调用的后期绑定组件更换 componentreplacement 允许载入时间绑定遵守已定义的协议 adherencetodefinedprotocols 允许独立进程的运行时绑定 系统可修改 质量目标与保障手段 46 三 质量属性战术应对 1 可用性战术2 可修改性战术3 性能战术4 安全性战术5 可测试性战术6 易用性战术 性能战术 performancetactics 性能战术的目标是对一定的时间限制内到达系统的事件生成一个响应 这些事件可以是消息到达 定时器到时 系统状态的变化 性能战术的目标 性能战术分类 性能战术包括3个分类 资源需求 分析影响性能的资源因素资源管理 提高资源的应用效率资源仲裁 解决资源的争用 性能战术分类图 影响响应时间的两个因素 资源消耗 resourceconsumption 资源包括cpu 数据存储 网络通信带宽和内存等 资源消耗是指实际需要耗费的时间资源消耗包括 每个事件都要经过一定的处理序列 某种形式的数据转换 根据某个算法进行处理 资源消耗举例 图像处理消耗资源 包括我们进行的加 减 乘 除的数量 耗费的内存等 影响响应时间的两个因素 闭锁时间 blockedtime 由于资源争用 资源不可用或长时间计算导致事件无法处理 这是指计算机可能等待的时间2 1资源争用2 2资源的可用性2 3对其他计算的依赖 dependencyonothercomputation 必须等待其他计算机的结果 比如 显示图像的fft处理结果 首先要完成fft处理 然后才能显示 资源争用造成等待时间 资源争用 contentionforresources 争用同一个资源造成临界区访问 资源不可用造成等待时间 资源可用性 availabilityofresources 由于组件故障或其他原因造成资源不可用 资源需求 resourcedemand 事件流是需求的源需求的两个特性 资源流中事件之间的时间间隔每个请求所消耗的资源 资源需求战术 1 减少处理一个事件流所需要的资源提高计算效率 如改进关键算法比如 在我们进行数据查找时 采用二分查找法可以大大减少查找时间减少计算开销比如保存上次计算的结果 资源需求战术 2 减少所处理事件的数量管理事件率 减少需求比如 视频显示 你可以采用50帧 秒 也可采用25帧 秒显示控制采样频率 不同采样率下同一段胃肠蠕动信号波形 资源需求战术 3 控制资源的使用限制执行时间比如 我们读取硬件数据 要求必须在指定的最长时间内返回限制队列大小 控制处理事件数量比如 限制消息队列的大小 不接受过多的事件涌入 资源管理 resourcemanagement 我们可以通过资源管理减少响应时间引入并发 introduceconcurrency 通过并行处理 减少闭锁时间维持数据或计算的多个副本 maintainmultiplecopies 维持副本可以减少相同的计算增加可用资源 increaseavailableresources 比如增加cpu速度 增加内存等 资源仲裁 resourcearbitration 当存在资源争用时 必须对资源进行调度 以使资源协调一致的运行 以减少闭锁时间调度的标准包括 最佳的资源使用 请求的重要性 最小化所使用资源的数量 使等待时间最少等 资源仲裁的分类 1 先进先出 同等看待每个资源固定优先级 事先为某个事件分配优先级 分配的策略为 语义重要性 semanticimportance 时限时间单调 deadlinemonotonic 速率单调 ratemonotonic 资源仲裁的分类 2 动态优先级 运行时分配优先级 分配的策略为 轮转 roundrobin 时限时间最早优先 earliestdeadlinefirst 静态调度 系统非运行时确定资源的分配顺序 系统性能 质量目标与保障手段 64 三 质量属性战术应对 1 可用性战术2 可修改性战术3 性能战术4 安全性战术5 可测试性战术6 易用性战术 安全性 securitytactics 安全性战术包括抵抗攻击的战术 检测攻击的战术和从攻击从恢复的战术 安全性战术的目标 安全性战术分类图 抵抗攻击 resistingattacks 对用户进行身份验证 authenticateusers 保证用户的合法身份 如口令 密码 生物识别对用户进行授权 authorizeusers 限制用户的使用权限 ibm计算机的指纹口令 抵抗攻击 resistingattacks 维护数据的机密性 maintaindataconfidentiality 对传输数据进行加密维护数据的完整性 maintainintegrity 对数据提供检验防止暴露的信息 limitexposure 限制访问 limitaccess 检测攻击 detectingattacks 检测攻击的工作方式通常是将网络通信模式与数据库中已知攻击的历史记录进行对比入侵检验一般需要对数据包进行过滤 以进行比较入侵检验必须有检测攻击的传感器 并且可以存贮事件到数据库中 供以后数据分析使用 入侵检测技术举例 从攻击中恢复 从攻击中恢复的战术包括与恢复状态相关的战术和识别攻击者相关的战术与恢复状态相关的战术与可用性一致 如冗余 但主要是对密码 访问控制列表和用户资料数据进行冗余 从攻击中恢复 用于识别攻击者的战术是 维持审计追踪 审计追踪就是应用到系统中的数据的所有事物和识别信息的一个副本 可以使用它来识别攻击者的操作 支持认可和系统恢复 windows系统的日志 系统安全性 质量目标与保障手段 身份验证 最常用的方式是 用户id和密码的方式 缺点 用户id和密码经常被盗或偶然泄漏 对于internet业务交易 使用ca证书 由第三权威机构方提供的网上交易安全认证机制 其它生物检测 指纹检测 虹膜检测 声音 面部特征 对用户进行授权 对于不同身份的用户 设置不同的交易权限 数据加密技术 常用的方针有 线路加密和端对端加密两种 在线路上而不考虑信源与信宿 是对保密信息通过各线路采用不同的加密密钥提供安全保护 信息由发送者端通过专用的加密软件 采用某种加密技术对所发送文件进行加密 把明文 也即原文 加密成密文 加密后的文件 这些文件内容是一些看不懂的代码 然后进入tcp ip数据包封装穿过互联网 当这些信息一旦到达目的地 将由收件人运用相应的密钥进行解密 使密文恢复成为可读数据明文 相关技术 防火墙 防火墙 是一种形象的说法 它其实就是一个把互联网与内部网 通常这局域网或城域网 隔开的屏障 它是一种由计算机硬件和软件的组合 使互联网与内部网之间建立起一个安全网关 scuritygateway 从而保护内部网免受非法用户的侵入 防火墙 三 质量属性战术应对 1 可用性战术2 可修改性战术3 性能战术4 安全性战术5 可测试性战术6 易用性战术 可测试性 testabilitytactics 可测试性战术的目标是允许在完成软件开发的一个增量后 轻松地对软件进行测试 测试的目标是发现错误 可测试性战术的目标 可测试性战术分类图 输入 输出 input output 记录 回放 record playback 记录 回放是指将捕获跨接口的信息 并将其作为测试
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025上海市货车司机劳动合同范本下载
- 2025年度航空航天专用密封件设计、制造与维护服务合同
- 2025年度综合性医院食堂食材采购与加工服务合作协议
- 2025年生态农业产业链下游产品全国分销代理合同范本
- 2025年度节能环保保温管道定制加工与销售合同
- 2025年新型生物制药研发成果转化项目返租收益保障合同
- 2025年跨界联名授权合同:时尚潮牌跨界合作营销协议
- 2025年地铁车厢窗帘深度清洗及定制更换服务协议书
- 2025年度金融理财产品销售代理服务合同
- 2025年生态羊群代放与草原生态补偿机制合作协议
- 六年级家长会课件
- 2025年党建党史知识竞赛测试题库及答案
- 2025年教科版新教材科学二年级上册教学计划(含进度表)
- GB/T 45859-2025耐磨铸铁分类
- 临床基于ERAS理念下医护患一体化疼痛管理实践探索
- 2025年河北交警三力测试题及答案
- 2025贵州贵阳供销集团有限公司招聘笔试历年参考题库附带答案详解
- 人教版(2024)新教材三年级数学上册课件 1.2 观察物体(2)课件
- 颈椎骨折脊髓损伤的护理
- 华为海外税务管理办法
- 2025秋统编版小学道德与法治二年级上册教学设计(附目录)
评论
0/150
提交评论