52浙江大學王燦《軟件體系結構》視頻課程5-可用性和可性設計省公開課一等獎全國示范課微課金獎課_第1頁
52浙江大學王燦《軟件體系結構》視頻課程5-可用性和可性設計省公開課一等獎全國示范課微課金獎課_第2頁
52浙江大學王燦《軟件體系結構》視頻課程5-可用性和可性設計省公開課一等獎全國示范課微課金獎課_第3頁
52浙江大學王燦《軟件體系結構》視頻課程5-可用性和可性設計省公開課一等獎全國示范課微課金獎課_第4頁
52浙江大學王燦《軟件體系結構》視頻課程5-可用性和可性設計省公開課一等獎全國示范課微課金獎課_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

實現(xiàn)質量屬性(1)1/25實現(xiàn)質量屬性上節(jié)課討論了各種系統(tǒng)質量屬性,卻沒有談及怎樣實現(xiàn)這些質量屬性質量屬性實現(xiàn)依賴于我們稱之為“戰(zhàn)術”基本構架決議給定一個質量屬性,“戰(zhàn)術”幫助構架師使用對應構架策略或模式來進行設計,達成響應質量屬性質量屬性需求構架決議2/25戰(zhàn)術什么使得不一樣設計表現(xiàn)出不一樣質量特征可移植性高性能可集成性“戰(zhàn)術”是影響質量屬性響應控制設計決議戰(zhàn)術集合系統(tǒng)設計有決議集合組成有些決議確保系統(tǒng)功效實現(xiàn)有些決議幫助控制質量屬性-“戰(zhàn)術”“戰(zhàn)術”是構架師所使用設計方法3/25戰(zhàn)術示例一個經(jīng)典戰(zhàn)術示例是經(jīng)過“引入冗余”來提升系統(tǒng)可用性這往往意味著系統(tǒng)中要有響應同時機制該示例揭示戰(zhàn)術能夠深入被精練比如:冗余戰(zhàn)術能夠被深入被精練為數(shù)據(jù)冗余和計算冗余,通常我們以層次結構形式組織戰(zhàn)術模式是戰(zhàn)術打包4/25可用性戰(zhàn)術可用性回顧定義故障VS.錯誤α=平均正常工作時間/(平均正常工作時間+平均修復時間)可用性戰(zhàn)術將阻止錯誤發(fā)展成故障或將錯誤影響限制在一定范圍內,從而使修復成為可能保持可用性方法通常包含:一些冗余一些檢測故障監(jiān)控機制一些恢復機制控制可用性戰(zhàn)術錯誤錯誤被屏蔽或系統(tǒng)被修復5/25錯誤檢測戰(zhàn)術命令/響應(Ping/echo)層次形式組織“命令/響應”錯誤檢測機制心跳(“死人計時器”)一個組件定時發(fā)出一個心跳消息,另一個組件接聽該消息異常/中止經(jīng)過拋出異常來識別錯誤,異常處理程序通常在同一進程內捕捉并處理異常6/25錯誤恢復戰(zhàn)術錯誤恢復通常由兩部分組成準備恢復恢復系統(tǒng)慣用準備和恢復戰(zhàn)術表決主動冗余被動冗余備件重新引入7/25表決戰(zhàn)術(1)運行在冗余處理器上每個進程都含有相等輸入,它們計算發(fā)給表決器一個簡單輸出值。假如表決器檢測到單個處理器異常行為,那么就中止這一行為慣用表決算法多數(shù)規(guī)則首選組件8/25表決戰(zhàn)術(2)表決戰(zhàn)術能夠用于糾正算法錯誤或處理器錯誤,或者某個模塊或組件錯誤假如出現(xiàn)故障會帶來嚴重后果,則冗余組件可能是多樣每個冗余組件軟件由不一樣小組開發(fā)在不一樣平臺上執(zhí)行...9/25主動冗余(熱開啟)戰(zhàn)術全部冗余組件在開啟時候同時,以并行方式對時間作出響應,因而它們都處于相同狀態(tài)。通常,作出響應第一個組件結果被采取,其它響應被丟棄組件間同時是經(jīng)過將傳遞給任何冗余組件消息發(fā)送給全部冗余組件發(fā)生錯誤時,使用該戰(zhàn)術系統(tǒng)停機時間通常是幾毫秒恢復時間就是組件間切換時間,因為冗余組件間狀態(tài)一致,備份都是最新在高可用性分布式系統(tǒng)中,冗余可能在通信路徑上10/25被動冗余戰(zhàn)術一個組件(主組件)對事件作出響應,并通知其它組件(備用組件)它們必須進行狀態(tài)更新同時是主組件責任,它能夠經(jīng)過對備用組件原子廣播來確保同時當系統(tǒng)發(fā)生錯誤時首先要確保備用組件狀態(tài)時最新該戰(zhàn)術依賴與備用組件對工作進行可靠接管11/25備件戰(zhàn)術在備件戰(zhàn)術中,配置有對應備件平臺來取代各種出故障組件當故障出現(xiàn)時,備件必須開啟并進行對應配置,對狀態(tài)進行初始化,才能替換出故障組件進行同時并對故障組件進行接管時,往往使用檢驗點(checkpoint)+日志(logging)技術12/25重新引入戰(zhàn)術該戰(zhàn)術依賴于對發(fā)生故障組件進行糾正后重新引入shadow操作:以前出現(xiàn)故障組件在短時間內以“shadow模式”(類似于測試模式)運行,以確保它能夠勝任工作組件要求狀態(tài)再同時:重新引入后,最好能用一條消息就將狀態(tài)刷到最新檢驗點/回滾:使用類似于數(shù)據(jù)庫中恢復機制技術13/25錯誤預防戰(zhàn)術從服務中刪除從操作中刪除系統(tǒng)一個組件,以執(zhí)行一些活動來預防預期發(fā)生故障。比如:重新開啟組件,以防內存泄漏造成故障發(fā)生事務處理幾個有序步驟綁定,是這些步驟都能被完成或撤消,確保一致性,預防沖突進程監(jiān)視器檢測到進程中錯誤后,將之刪除并重新創(chuàng)建一實例并初始化狀態(tài)14/25可用行戰(zhàn)術層次結構可用性命令/響應心跳異常表決主動冗余被動冗余備件從服務中刪除事務進程監(jiān)視器Shadow狀態(tài)再同時檢驗點/回滾準備恢復和修復故障檢測重新引入錯誤預防故障故障被屏蔽或修復15/25可修改性戰(zhàn)術目標:控制實施、測試和布署修改時間和成本提升可修改性主要方法局部化修改預防連鎖反應

延遲綁定時間控制可修改性戰(zhàn)術變更抵達在預算范圍內實施修改測試修改布署修改16/25局部化修改(1)普通來說(盡管不是非常準確),修改模塊越少,修改成本就越低這組戰(zhàn)術目標是在設計期間為模塊分配責任,以把預期變更限定在一定范圍內維持語義一致性語義一致性指模塊中責任間關系。目標是確保這些責任能夠協(xié)同工作,不需過多依賴其它模塊“抽象通用服務”預期期望變更考慮預想變更為責任或功效分配提供指導實際使用中,該戰(zhàn)術實施會有困難,因為極難預期全部變更17/25局部化修改(2)泛化模塊泛化模塊(使一個模塊愈加通用)能夠使它依據(jù)依據(jù)輸入計算更廣泛功效能夠將一個模塊輸入看成是該模塊定義一個語言能夠在語言上應對修改,而無須去修改模塊限制可能選擇修改(尤其在產(chǎn)品線中)范圍可能非常大,所以可能會影響很多模塊限制可能選擇能夠見地這些修改造成影響18/25連鎖反應&模塊依賴性修改所產(chǎn)生連鎖反應就是需要改變該修改并沒有直接影響到模塊比如:模塊B依賴于模塊A,那么修改了模塊A后,有可能對應必須修改模塊B連鎖反應原因是模塊間依賴性,常見依賴性包含語法數(shù)據(jù):要使B能正確編譯和執(zhí)行,由A產(chǎn)生并由B使用數(shù)據(jù)語義必須與B假定一致服務:要使B能正確編譯和執(zhí)行,由A提供并由B調用服務署名必須與B假定一致語義數(shù)據(jù)&服務:要使B能正確執(zhí)行,由A提供并由B使用數(shù)據(jù)或調用服務必須與B假定一致19/25模塊依賴性(2)次序數(shù)據(jù):要使B能正確執(zhí)行,它必須以一個固定次序接收由A產(chǎn)生數(shù)據(jù)(比如:包頭要比包體先接收)控制:要使B能正確執(zhí)行,A必須在一定時間限制內執(zhí)行A一個接口身份A接口身份(名稱或句柄)要與B假設一致A運行時位置要使B能正確執(zhí)行,A運行時位置必須與B假定一致A提供服務/數(shù)據(jù)質量A存在A資源行為20/25預防連鎖反應(1)下面戰(zhàn)術,并不能一定組織語義變更造成連鎖反應信息隱藏將某個模塊責任分解成更小部分,并選擇哪些部分為公有(可見),哪些為私有(隱藏)維持現(xiàn)有接口假如B依賴于A一個接口名或署名,則維持該接口和其語法能夠使B保持不變通常能夠用以下戰(zhàn)術來到達這點添加接口添加適配器(提供原始A署名)提供一個占位程序A(stub)限制通訊路徑與一個被修改模塊交互模塊越少,被影響到模塊也越少21/25預防連鎖反應(2)使用中間件:A

中間件

B(非語義型依賴)數(shù)據(jù)(語法):存放庫充當數(shù)據(jù)生成者和使用者之間中間件服務:fa?ade、橋、mediator、代理、工廠模式等都能將服務語法從一個形式轉為另一個形式A接口身份:使用Broker模式A運行時位置:使用名稱服務器A資源行為或A控制資源:使用資源管理器A存在:使用工廠模式22/25延遲綁定時間前面兩類戰(zhàn)術目標是使實現(xiàn)修改所要求改變模塊數(shù)量最少,不過可修改性同時也該包含:布署時間允許非開發(fā)人員進行修改推遲綁定時間支持這兩種場景,不過需要額外基礎結構支持靜態(tài)綁定VS.動態(tài)綁定23/25延遲綁定時間策略運行時注冊支持軟件實體即插即用,不過需要管理注冊模塊配置文件在開啟時進行參數(shù)設置多態(tài)性允許方法調用后期綁定,從而使對象有不一樣動態(tài)行

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論