




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、實現(xiàn)質(zhì)量屬性 (1)實現(xiàn)質(zhì)量屬性n上節(jié)課討論了各種系統(tǒng)質(zhì)量屬性,卻沒有談及如何實現(xiàn)這些質(zhì)量屬性n質(zhì)量屬性的實現(xiàn)依賴于我們稱之為“戰(zhàn)術(shù)”的基本構(gòu)架決策q給定一個質(zhì)量屬性,“戰(zhàn)術(shù)”幫助構(gòu)架師使用相應(yīng)的構(gòu)架策略或模式來進(jìn)行設(shè)計,達(dá)成響應(yīng)的質(zhì)量屬性質(zhì)量屬性需求構(gòu)架決策戰(zhàn)術(shù)n什么使得不同的設(shè)計表現(xiàn)出不同的質(zhì)量特性q可移植性q高性能q可集成性n“戰(zhàn)術(shù)”是影響質(zhì)量屬性響應(yīng)控制的設(shè)計決策n戰(zhàn)術(shù)的集合n系統(tǒng)設(shè)計有決策集合組成q有些決策確保系統(tǒng)功能的實現(xiàn)q有些決策幫助控制質(zhì)量屬性“戰(zhàn)術(shù)”n“戰(zhàn)術(shù)”是構(gòu)架師所使用的設(shè)計方法戰(zhàn)術(shù)示例n一個典型的戰(zhàn)術(shù)示例是通過“引入冗余”來提高系統(tǒng)可用性q這往往意味著系統(tǒng)中要有響應(yīng)的同
2、步機(jī)制n該示例揭示q戰(zhàn)術(shù)可以進(jìn)一步的被精練n比如:冗余戰(zhàn)術(shù)可以被進(jìn)一步的被精練為數(shù)據(jù)冗余和計算冗余,通常我們以層次結(jié)構(gòu)的形式組織戰(zhàn)術(shù)q模式是戰(zhàn)術(shù)的打包可用性戰(zhàn)術(shù)n可用性的回顧q定義q故障 VS. 錯誤q = 平均正常工作時間 / (平均正常工作時間+ 平均修復(fù)時間)n可用性戰(zhàn)術(shù)q將阻止錯誤發(fā)展成故障q或?qū)㈠e誤影響限制在一定范圍內(nèi),從而使修復(fù)成為可能n保持可用性的方法通常包括:q一些冗余q一些檢測故障的監(jiān)控機(jī)制q一些恢復(fù)機(jī)制控制可用控制可用性的戰(zhàn)術(shù)性的戰(zhàn)術(shù)錯誤錯誤錯誤被屏蔽錯誤被屏蔽或系統(tǒng)被修復(fù)或系統(tǒng)被修復(fù)錯誤檢測戰(zhàn)術(shù)n命令/響應(yīng)(Ping/echo)q層次形式組織的“命令/響應(yīng)”錯誤檢測機(jī)制n
3、心跳 (“死人計時器”)q一個組件定時發(fā)出一個心跳消息,另一個組件接聽該消息n異常/中斷q通過拋出異常來識別錯誤,異常處理程序通常在同一進(jìn)程內(nèi)捕獲并處理異常錯誤恢復(fù)戰(zhàn)術(shù)n錯誤恢復(fù)通常由兩部分組成q準(zhǔn)備恢復(fù)q恢復(fù)系統(tǒng)n常用的準(zhǔn)備和恢復(fù)戰(zhàn)術(shù)q表決q主動冗余 q被動冗余q備件q重新引入表決戰(zhàn)術(shù) (1)n運行在冗余處理器上的每個進(jìn)程都具有相等的輸入,它們計算發(fā)給表決器的一個簡單的輸出值。如果表決器檢測到單個處理器的異常行為,那么就中止這一行為n常用的表決算法q多數(shù)規(guī)則q首選組件表決戰(zhàn)術(shù) (2)n表決戰(zhàn)術(shù)可以用于糾正算法的錯誤或處理器的錯誤,或者某個模塊或組件的錯誤n如果出現(xiàn)故障會帶來嚴(yán)重的后果,則冗余
4、組件可能是多樣的q每個冗余組件的軟件由不同小組開發(fā)q在不同的平臺上執(zhí)行.主動冗余(熱啟動)戰(zhàn)術(shù)n所有冗余組件在啟動的時候同步,以并行的方式對時間作出響應(yīng),因而它們都處在相同的狀態(tài)。通常,作出響應(yīng)的第一個組件的結(jié)果被采用,其他響應(yīng)被丟棄q組件間的同步是通過將傳遞給任何冗余組件的消息發(fā)送給所有冗余組件n發(fā)生錯誤時,使用該戰(zhàn)術(shù)的系統(tǒng)的停機(jī)時間通常是幾毫秒q恢復(fù)時間就是組件間的切換時間,因為冗余組件間狀態(tài)一致,備份都是最新的q在高可用性的分布式系統(tǒng)中,冗余可能在通信路徑上被動冗余戰(zhàn)術(shù)n一個組件(主組件)對事件作出響應(yīng),并通知其他組件(備用組件)它們必須進(jìn)行的狀態(tài)更新q同步是主組件的責(zé)任,它可以通過對備
5、用組件的原子廣播來保證同步n當(dāng)系統(tǒng)發(fā)生錯誤時q首先要確保備用組件的狀態(tài)時最新的q該戰(zhàn)術(shù)依賴與備用組件對工作進(jìn)行可靠接管備件戰(zhàn)術(shù)n在備件戰(zhàn)術(shù)中,配置有相應(yīng)的備件平臺來取代各種出故障的組件n當(dāng)故障出現(xiàn)時,備件必須啟動并進(jìn)行相應(yīng)的配置,對狀態(tài)進(jìn)行初始化,才能替代出故障的組件n進(jìn)行同步并對故障的組件進(jìn)行接管時,往往使用檢查點(checkpoint)日志(logging)的技術(shù)重新引入戰(zhàn)術(shù)n該戰(zhàn)術(shù)依賴于對發(fā)生故障的組件進(jìn)行糾正后的重新引入qshadow操作:以前出現(xiàn)故障的組件在短時間內(nèi)以“shadow模式”(類似于測試模式)運行,以確保它能夠勝任工作組件的要求q狀態(tài)再同步:重新引入后,最好能用一條消息就
6、將狀態(tài)刷到最新q檢查點/回滾:使用類似于數(shù)據(jù)庫中的恢復(fù)機(jī)制的技術(shù)錯誤預(yù)防戰(zhàn)術(shù)n從服務(wù)中刪除q從操作中刪除系統(tǒng)的一個組件,以執(zhí)行某些活動來防止預(yù)期發(fā)生的故障。例如:重新啟動組件,以防內(nèi)存泄漏導(dǎo)致故障發(fā)生n事務(wù)處理q幾個有序步驟的綁定,是的這些步驟都能被完成或撤銷,保證一致性,防止沖突n進(jìn)程監(jiān)視器q檢測到進(jìn)程中的錯誤后,將之刪除并重新創(chuàng)建一實例并初始化狀態(tài)可用行戰(zhàn)術(shù)層次結(jié)構(gòu)命令命令/響應(yīng)響應(yīng)心跳心跳異常異常表決表決主動冗余主動冗余被動冗余被動冗余備件備件從服務(wù)中刪除從服務(wù)中刪除事務(wù)事務(wù)進(jìn)程監(jiān)視器進(jìn)程監(jiān)視器Shadow狀態(tài)再同步狀態(tài)再同步檢查點檢查點/回滾回滾故障故障故障被故障被屏蔽或屏蔽或修復(fù)修復(fù)
7、可修改性戰(zhàn)術(shù)n目標(biāo):控制實施、測試和部署修改的時間和成本n提高可修改性的主要方法q局部化修改局部化修改q防止連鎖反應(yīng)防止連鎖反應(yīng) q延遲綁定時間延遲綁定時間控制可修改控制可修改性的戰(zhàn)術(shù)性的戰(zhàn)術(shù)變更到達(dá)變更到達(dá)在預(yù)算范圍內(nèi)在預(yù)算范圍內(nèi)實施修改實施修改測試修改測試修改部署修改部署修改局部化修改 (1)n一般來說(盡管不是非常精確),修改的模塊越少,修改的成本就越低n這組戰(zhàn)術(shù)的目標(biāo)是在設(shè)計期間為模塊分配責(zé)任,以把預(yù)期的變更限定在一定范圍內(nèi)q維持語義的一致性n語義一致性指模塊中責(zé)任間的關(guān)系。目標(biāo)是確保這些責(zé)任能夠協(xié)同工作,不需過多依賴其他模塊n“抽象通用服務(wù)”q預(yù)期期望的變更n考慮預(yù)想的變更為責(zé)任或功
8、能的分配提供指導(dǎo)q實際使用中,該戰(zhàn)術(shù)實施會有困難,因為很難預(yù)期所有變更局部化修改 (2)n泛化模塊q泛化模塊(使一個模塊更加通用)可以使它根據(jù)根據(jù)輸入計算更廣泛的功能q可以將一個模塊的輸入看成是該模塊定義的一種語言n可以在語言上應(yīng)對修改,而不必去修改模塊n限制可能的選擇q修改(尤其在產(chǎn)品線中)的范圍可能非常大,因此可能會影響很多模塊q限制可能的選擇可以見地這些修改造成的影響連鎖反應(yīng) & 模塊依賴性n修改所產(chǎn)生的連鎖反應(yīng)就是需要改變該修改并沒有直接影響到的模塊q比如:模塊B依賴于模塊A,那么修改了模塊A后,有可能相應(yīng)的必須修改模塊Bn連鎖反應(yīng)的原因是模塊間的依賴性,常見的依賴性包括q語法n數(shù)據(jù):
9、要使B能正確編譯和執(zhí)行,由A產(chǎn)生并由B使用的數(shù)據(jù)語義必須與B的假定一致n服務(wù):要使B能正確編譯和執(zhí)行,由A提供并由B調(diào)用的服務(wù)的簽名必須與B的假定一致q語義n數(shù)據(jù)&服務(wù):要使B能正確執(zhí)行,由A提供并由B使用的數(shù)據(jù)或調(diào)用的服務(wù)必須與B的假定一致模塊依賴性 (2)q順序n數(shù)據(jù):要使B能正確執(zhí)行,它必須以一個固定的順序接收由A產(chǎn)生的數(shù)據(jù)(比如:包頭要比包體先接收)n控制:要使B能正確執(zhí)行,A必須在一定的時間限制內(nèi)執(zhí)行qA的一個接口身份nA的接口身份(名稱或句柄)要與B的假設(shè)一致qA的運行時位置n要使B能正確執(zhí)行,A的運行時位置必須與B的假定一致qA提供的服務(wù)/數(shù)據(jù)的質(zhì)量qA的存在qA的資源行為防止連
10、鎖反應(yīng) (1)n下面的戰(zhàn)術(shù),并不能一定組織語義變更造成的連鎖反應(yīng)n信息隱藏q將某個模塊的責(zé)任分解成更小的部分,并選擇哪些部分為公有(可見),哪些為私有(隱藏)n維持現(xiàn)有的接口q如果B依賴于A的一個接口名或簽名,則維持該接口和其語法可以使B保持不變通??梢杂靡韵聭?zhàn)術(shù)來達(dá)到這點n添加接口n添加適配器(提供原始A的簽名)n提供一個占位程序A(stub)n限制通訊路徑q與一個被修改的模塊交互的模塊越少,被影響到的模塊也越少防止連鎖反應(yīng) (2)n使用中間件:A 中間件 B (非語義型依賴)q數(shù)據(jù)(語法):存儲庫充當(dāng)數(shù)據(jù)的生成者和使用者之間的中間件q服務(wù):faade、橋、mediator、代理、工廠模式等
11、都能將服務(wù)的語法從一種形式轉(zhuǎn)為另一種形式qA的接口身份:使用Broker模式qA的運行時位置:使用名稱服務(wù)器qA的資源行為或A控制的資源:使用資源管理器qA的存在:使用工廠模式延遲綁定時間n前面兩類戰(zhàn)術(shù)的目標(biāo)是使實現(xiàn)修改所要求改變的模塊數(shù)量最少,但是可修改性同時也該包括:q部署時間q允許非開發(fā)人員進(jìn)行修改n推遲綁定時間支持這兩種場景,但是需要額外的基礎(chǔ)結(jié)構(gòu)支持q靜態(tài)綁定 VS. 動態(tài)綁定延遲綁定時間策略n運行時注冊q支持軟件實體的即插即用,但是需要管理注冊的模塊n配置文件q在啟動時進(jìn)行參數(shù)設(shè)置n多態(tài)性q允許方法調(diào)用的后期綁定,從而使對象有不同的動態(tài)行為n遵守已定義的協(xié)議q允許獨立進(jìn)程運行時綁定可修改
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年志遠(yuǎn)小學(xué)考試題及答案
- 2025年河北pcr考試題及答案2022
- 2025年單招各科模擬試題及答案
- 2025年工程數(shù)學(xué)段考試題及答案
- 2025年遼寧省理綜合試題及答案
- 2025年長方形測試題及答案
- 考驗大家眼力測試題及答案
- 2025年文德英語面試試題及答案
- 2025年拆遷專員考試試題及答案
- 2025年眼鏡美學(xué)題考試題及答案
- 2024年云南呈貢區(qū)城市投資集團(tuán)有限公司招聘筆試參考題庫含答案解析
- T-ZJASE 024-2023 呼吸閥定期校驗規(guī)則
- 新生兒藥物過敏
- 工作場所有害因素職業(yè)接觸限值-第2部分-物理因素
- 2024年度醫(yī)院醫(yī)學(xué)檢驗學(xué)專業(yè)進(jìn)修回顧課件
- 《手腕上的菩提子》課件
- 營銷管理學(xué)菲利普科特勒
- 危重患者的病情觀察課件
- 智慧城市新篇章2024年智慧城市發(fā)展機(jī)遇展望
- 供應(yīng)商QSA-QPA評鑒表
- 管理學(xué)(馬工程版)課后思考與練習(xí)解答(課后習(xí)題答案)
評論
0/150
提交評論