




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第十章第十章 故障恢復與系統(tǒng)容錯故障恢復與系統(tǒng)容錯101概概 述述 現(xiàn)在已經有若干種可提供容錯能力服務的方法。一般而現(xiàn)在已經有若干種可提供容錯能力服務的方法。一般而言,具有容錯能力的服務也可能發(fā)生意外故障,但故障發(fā)生后言,具有容錯能力的服務也可能發(fā)生意外故障,但故障發(fā)生后可迅速恢復并保證不丟失數據。可迅速恢復并保證不丟失數據。 大多數具有容錯能力的應用程序可劃分為基于事務型和大多數具有容錯能力的應用程序可劃分為基于事務型和基于進程控制型兩類,兩者的區(qū)別在于完成恢復過程所花的時基于進程控制型兩類,兩者的區(qū)別在于完成恢復過程所花的時間不同故障發(fā)生后,基于事務型的服務將有一個相對較長的間不同故障發(fā)生
2、后,基于事務型的服務將有一個相對較長的恢復時間?;謴蜁r間。 基于進程控制型的程序與基于事務型的應用程序相比,基于進程控制型的程序與基于事務型的應用程序相比,其要求完全不同,這類應用程序的主要特征為:將從傳感器中其要求完全不同,這類應用程序的主要特征為:將從傳感器中讀出的信息作為輸入并傳送到傳動器的輸出部件,輸出要么直讀出的信息作為輸入并傳送到傳動器的輸出部件,輸出要么直接用來控制一個進程,要么用來激活警報系統(tǒng)以便于人們對進接用來控制一個進程,要么用來激活警報系統(tǒng)以便于人們對進程進行干預。例如,空中交通管理、醫(yī)院病人的監(jiān)控以及對反程進行干預。例如,空中交通管理、醫(yī)院病人的監(jiān)控以及對反應堆的控制都
3、屬于這種類型的應用程序,它們通常都有非常嚴應堆的控制都屬于這種類型的應用程序,它們通常都有非常嚴格的時間限制,從而要求恢復工作應在一個比較短的時間段內格的時間限制,從而要求恢復工作應在一個比較短的時間段內完成。完成。 基于事務型的服務比較適合于維護長期存在的基于事務型的服務比較適合于維護長期存在的共享數據,但并非適合于所有的分布式應用程序。共享數據,但并非適合于所有的分布式應用程序?;谑聞招偷姆赵谡9ぷ鲿r將數據項存儲在恢基于事務型的服務在正常工作時將數據項存儲在恢復文件中,一旦發(fā)生故障,可馬上進行恢復。復文件中,一旦發(fā)生故障,可馬上進行恢復。 對服務進行恢復的通常方法是通過重啟,利用對服
4、務進行恢復的通常方法是通過重啟,利用恢復文件進行數據項的恢復,但這種方式對某些應恢復文件進行數據項的恢復,但這種方式對某些應用程序來說速度太慢。利用運行于不同計算機中的用程序來說速度太慢。利用運行于不同計算機中的服務副本可大大提高恢復速度,若能夠保證相互間服務副本可大大提高恢復速度,若能夠保證相互間的一致性,則可瞬時完成單一故障的恢復工作。但的一致性,則可瞬時完成單一故障的恢復工作。但使用多個活躍的副本,對計算機資源又是極大的浪使用多個活躍的副本,對計算機資源又是極大的浪費。折衷方案是使用一臺主服務器和若干臺備份服費。折衷方案是使用一臺主服務器和若干臺備份服務器,系統(tǒng)正常工作時由主服務器處理客
5、戶要求,務器,系統(tǒng)正常工作時由主服務器處理客戶要求,當主服務器發(fā)生故障時,啟動某臺備份服務器,接當主服務器發(fā)生故障時,啟動某臺備份服務器,接管主服務器還沒有完成的操作。管主服務器還沒有完成的操作。102事務恢復事務恢復 事務的原子化特征可以用耐久性和錯誤原子化來描述事務的原子化特征可以用耐久性和錯誤原子化來描述。耐久性要求將數據項保存到永久存儲器中并可隨時使用,。耐久性要求將數據項保存到永久存儲器中并可隨時使用,因此承認客戶的提交請求意味著該事務的所有影響不僅記錄因此承認客戶的提交請求意味著該事務的所有影響不僅記錄在服務器的數據項中,而且記錄在永久存儲器中。所謂錯誤在服務器的數據項中,而且記錄
6、在永久存儲器中。所謂錯誤原子化,是指即使服務器發(fā)生故障,事務對數據項的影響也原子化,是指即使服務器發(fā)生故障,事務對數據項的影響也是原子化的。若某事務需具有恢復功能,則必須保證服務器是原子化的。若某事務需具有恢復功能,則必須保證服務器的數據項具有耐久性,并且服務也應提供錯誤原子化功能。的數據項具有耐久性,并且服務也應提供錯誤原子化功能。 雖然文件服務器和數據庫服務器都將數據保存在永久存雖然文件服務器和數據庫服務器都將數據保存在永久存儲器中,但其他的服務器并不是這樣的,除非要求此服務器儲器中,但其他的服務器并不是這樣的,除非要求此服務器具有恢復功能。在本章中假定:服務器運行時將所有的數據具有恢復功
7、能。在本章中假定:服務器運行時將所有的數據項都保存在易失性存儲器中,并把所有已提交的數據記錄到項都保存在易失性存儲器中,并把所有已提交的數據記錄到恢復文件或文件中。這樣恢復工作就是把數據項的最新提交恢復文件或文件中。這樣恢復工作就是把數據項的最新提交版本從永久存儲器中恢復到服務器上。由于數據庫通常需要版本從永久存儲器中恢復到服務器上。由于數據庫通常需要處理大量數據,所以它們通常通過高速緩存把數據項從易失處理大量數據,所以它們通常通過高速緩存把數據項從易失性存儲器轉移到磁盤永九存儲器中。性存儲器轉移到磁盤永九存儲器中。 耐久性和錯誤原子化并不是相互獨立的,它們可由恢耐久性和錯誤原子化并不是相互獨
8、立的,它們可由恢復處理程序這個單一機制來統(tǒng)一完成?;謴吞幚沓绦虻闹鲝吞幚沓绦蜻@個單一機制來統(tǒng)一完成。恢復處理程序的主要任務是:要任務是: (1)對于已提交的事務,將其數據項保存到永久存儲器對于已提交的事務,將其數據項保存到永久存儲器中中(恢復文件中恢復文件中); (2)發(fā)生故障后,對服務器數據項進行恢復;發(fā)生故障后,對服務器數據項進行恢復; (3)通過重新組織恢復文件以提高恢復工作的效率;通過重新組織恢復文件以提高恢復工作的效率; (4)回收存儲空間回收存儲空間(在恢復文件中在恢復文件中)。 在有些情況下要求恢復處理程序處理介質故障即恢復文在有些情況下要求恢復處理程序處理介質故障即恢復文件本身
9、的故障。這時可使用一種稱為穩(wěn)定存儲器的技術進件本身的故障。這時可使用一種稱為穩(wěn)定存儲器的技術進行恢復文件復制,從而不僅可以使發(fā)生介質故障的可能性行恢復文件復制,從而不僅可以使發(fā)生介質故障的可能性大大減少,而且當系統(tǒng)在進行寫操作發(fā)生故障時,可保證大大減少,而且當系統(tǒng)在進行寫操作發(fā)生故障時,可保證寫操作是原子化的。寫操作是原子化的。 意向表:意向表:任何提供事務的服務器需要對客戶事務所存任何提供事務的服務器需要對客戶事務所存取的數據項進行監(jiān)控。當客戶打開一個事務時,與之發(fā)取的數據項進行監(jiān)控。當客戶打開一個事務時,與之發(fā)生聯(lián)系的第一臺服務器提供一個新的事務標識符并將它生聯(lián)系的第一臺服務器提供一個新的
10、事務標識符并將它返回給客戶。這以后,事務中的每個客戶請求返回給客戶。這以后,事務中的每個客戶請求(包括提交包括提交請求和異常終止請求請求和異常終止請求),都應包含此標識符。在事務的執(zhí),都應包含此標識符。在事務的執(zhí)行過程中,應將更新操作作用于該事務數據項一系列的行過程中,應將更新操作作用于該事務數據項一系列的私有臨時版本上。私有臨時版本上。 服務器記錄所有當前活躍事務的意向表,表中包含服務器記錄所有當前活躍事務的意向表,表中包含事務名以及由事務修改的數據項的值;提交事務時,服事務名以及由事務修改的數據項的值;提交事務時,服務器利用事務意向表識別該事務所影響的數據項,并用務器利用事務意向表識別該事
11、務所影響的數據項,并用此事務所產生的每個數據項的臨時版本代替原提交版本,此事務所產生的每個數據項的臨時版本代替原提交版本,然后將新的值寫到服務器的恢復文件中。事務異常終止然后將新的值寫到服務器的恢復文件中。事務異常終止時,服務器通過意向表來刪除所有由該事務所產生的數時,服務器通過意向表來刪除所有由該事務所產生的數據項的臨時版本。據項的臨時版本。 當服務器準備提交某事務時,它必須把該事務的意向表當服務器準備提交某事務時,它必須把該事務的意向表以及意向表中的數據項保存到恢復文件中,這樣即使服務器臨以及意向表中的數據項保存到恢復文件中,這樣即使服務器臨時發(fā)生故障也可以在以后執(zhí)行提交操作。時發(fā)生故障也
12、可以在以后執(zhí)行提交操作。 當某事務所涉及的所有服務器全部同意提交該事務時,當某事務所涉及的所有服務器全部同意提交該事務時,協(xié)調程序就會通知客戶并發(fā)送消息到各參與服務器以執(zhí)行提交協(xié)調程序就會通知客戶并發(fā)送消息到各參與服務器以執(zhí)行提交操作。一旦已通知客戶可進行提交,則相關服務器的恢復文件操作。一旦已通知客戶可進行提交,則相關服務器的恢復文件中必須包括足夠多的信息,這樣即使有服務器在準備提交或提中必須包括足夠多的信息,這樣即使有服務器在準備提交或提交過程中發(fā)生故障,所有服務器也可提交該事務。交過程中發(fā)生故障,所有服務器也可提交該事務。 恢復文件表目:恢復文件表目:為了使服務器上的分布式事務具有恢為了
13、使服務器上的分布式事務具有恢復功能,恢復文件中除了保存數據項外還應保存更多的信息。復功能,恢復文件中除了保存數據項外還應保存更多的信息。這些信息包括每個事務的狀態(tài):提交、異常終止、準備提交。這些信息包括每個事務的狀態(tài):提交、異常終止、準備提交。通過把意向表保存到恢復文件中可使恢復文件中的每個數據項通過把意向表保存到恢復文件中可使恢復文件中的每個數據項與一個特定的事務相聯(lián)系,恢復文件中包含的項目如表與一個特定的事務相聯(lián)系,恢復文件中包含的項目如表10 1所示。所示。1021 登錄登錄 登錄技術是一種恢復文件的方法。在登錄技術中,恢復登錄技術是一種恢復文件的方法。在登錄技術中,恢復文件代表某服務器
14、所執(zhí)行的所有事務的歷史記錄,其中包括文件代表某服務器所執(zhí)行的所有事務的歷史記錄,其中包括數據項的值、事務狀態(tài)表目以及意向表。在登錄中表目的順數據項的值、事務狀態(tài)表目以及意向表。在登錄中表目的順序反映了該服務器上事務準備提交、提交或異常終止的順序。序反映了該服務器上事務準備提交、提交或異常終止的順序。 在服務器正常工作時,若準備提交、提交或異常終止某在服務器正常工作時,若準備提交、提交或異常終止某事務,則需調用恢復處理程序;當服務器準備提交某事務時,事務,則需調用恢復處理程序;當服務器準備提交某事務時,恢復處理程序就將意向表中的所有數據項、意向表本身以及恢復處理程序就將意向表中的所有數據項、意向
15、表本身以及事務當前狀態(tài)事務當前狀態(tài)(準備準備)添加到恢復文件中;當事務最終真正提添加到恢復文件中;當事務最終真正提交或異常終止時,恢復處理程序再將相應的事務狀態(tài)添加到交或異常終止時,恢復處理程序再將相應的事務狀態(tài)添加到恢復文件中?;謴臀募?。 恢復處理程序為每個數據項分配一個標識符,從而使得恢復處理程序為每個數據項分配一個標識符,從而使得恢復文件中數據項的成功版本與服務器中的數據項保持一致?;謴臀募袛祿椀某晒Π姹九c服務器中的數據項保持一致。 圖圖10 1說明了銀行服務事務說明了銀行服務事務T和和u的登錄機制。在事務的登錄機制。在事務T和和U開始執(zhí)開始執(zhí)行之前重新組織登錄,圖中左邊表示行之前
16、重新組織登錄,圖中左邊表示A、B、C值的快照。在本圖中將值的快照。在本圖中將A、B、C作為數據項的標識符。圖中顯示了事務作為數據項的標識符。圖中顯示了事務T已提交而事務已提交而事務U準備提交準備提交但尚未提交的狀態(tài)。當事務但尚未提交的狀態(tài)。當事務T準備提交時,將數據項準備提交時,將數據項A和和B的值寫入到登的值寫入到登錄中的錄中的P1和和P2位置,然后寫入位置,然后寫入T的準備事務狀態(tài)表目及它的意向表中的準備事務狀態(tài)表目及它的意向表中(A,P1),(B,P2);當提交事務時,將;當提交事務時,將T的提交事務狀態(tài)表目寫人的提交事務狀態(tài)表目寫人到到P4位置;類似的,當事務位置;類似的,當事務U準備
17、提交時,將數據項準備提交時,將數據項C和和B的值寫入到的值寫入到登錄中的登錄中的P5和和P6位置,然后寫入位置,然后寫入U的準備事務狀態(tài)表目及它的意向表的準備事務狀態(tài)表目及它的意向表(c,P5),(B,P6)中。中。 每一個事務狀態(tài)表目都包含一個指針指向前一個事務狀態(tài)表目,從每一個事務狀態(tài)表目都包含一個指針指向前一個事務狀態(tài)表目,從而使恢復處理程序可以反向跟蹤恢復文件中的事務狀態(tài)表目,事務狀態(tài)而使恢復處理程序可以反向跟蹤恢復文件中的事務狀態(tài)表目,事務狀態(tài)表目的最后一個指針指向一個檢查點表目的最后一個指針指向一個檢查點(checkpoint)。 1數據項恢復數據項恢復 當服務器重啟時,首先設置數
18、據項的初始默認值,然后將控制權交給當服務器重啟時,首先設置數據項的初始默認值,然后將控制權交給恢復處理程序?;謴吞幚沓绦蜇撠熁謴头掌魃系臄祿?,它必須恢復所恢復處理程序。恢復處理程序負責恢復服務器上的數據項,它必須恢復所有已提交的事務對數據項的影響,并撤銷所有未提交或異常終止的事務對有已提交的事務對數據項的影響,并撤銷所有未提交或異常終止的事務對數據項的影響。數據項的影響。 事務的晟新信息保存在登錄的最后,因此恢復處理程序采用從后向前讀事務的晟新信息保存在登錄的最后,因此恢復處理程序采用從后向前讀取恢復文件的方式恢復服務器上的數據項。它利用具有提交狀態(tài)的事務來取恢復文件的方式恢復服務器上的數
19、據項。它利用具有提交狀態(tài)的事務來恢復相應數據項,直到服務器上所有數據項都已恢復?;謴拖鄳獢祿棧钡椒掌魃纤袛祿椂家鸦謴汀?為了恢復事務對數據項的影響,恢復處理程序從恢復文件中讀取相應為了恢復事務對數據項的影響,恢復處理程序從恢復文件中讀取相應的意向表,而意向表中包含該事務所影響的所有數據項的值在恢復文件中的意向表,而意向表中包含該事務所影響的所有數據項的值在恢復文件中的位置及其標識符。的位置及其標識符。 例:如果服務器在圖例:如果服務器在圖10. 1以后發(fā)生故障,則恢復處理程序將按以下以后發(fā)生故障,則恢復處理程序將按以下方式恢復數據項:讀取登錄中最后一條事務狀態(tài)表目,發(fā)現(xiàn)事務方式恢復數
20、據項:讀取登錄中最后一條事務狀態(tài)表目,發(fā)現(xiàn)事務U沒有提沒有提交,故應撤銷其影響,則移動到登錄的前一個事務狀態(tài)表目交,故應撤銷其影響,則移動到登錄的前一個事務狀態(tài)表目P4位置;發(fā)現(xiàn)位置;發(fā)現(xiàn)事務事務T已提交,故應恢復事務已提交,故應恢復事務T對數據項的影響,即移動到登錄的前一個事對數據項的影響,即移動到登錄的前一個事務狀態(tài)表目務狀態(tài)表目P3位置找到事務位置找到事務T的意向表的意向表(A,P1),(B,P2),然后從,然后從P1和和P2位置恢復數據項位置恢復數據項A、B。由于沒有恢復數據項。由于沒有恢復數據項c,所以還應移動到,所以還應移動到檢查點即檢查點即P0點恢復點恢復C。 2恢復文件的重新組
21、織恢復文件的重新組織 恢復處理程序負責恢復文件的重新組織以加快恢復過程恢復處理程序負責恢復文件的重新組織以加快恢復過程并減少文件所占的存儲空間。如果沒有對恢復文件進行重新組并減少文件所占的存儲空間。如果沒有對恢復文件進行重新組織,那么恢復處理程序必須從后向前掃描恢復文件直到找出所織,那么恢復處理程序必須從后向前掃描恢復文件直到找出所有數據項的值。用有數據項的值。用checkpointing來表示將當前已提交的數來表示將當前已提交的數據項值以及未完成事務的意向表和事務狀態(tài)表目寫入到某個新?lián)椫狄约拔赐瓿墒聞盏囊庀虮砗褪聞諣顟B(tài)表目寫入到某個新恢復文件中的過程。檢查點表示由恢復文件中的過程。檢查點表
22、示由checkpointing過程所存過程所存儲的信息。這樣做的目的是減少恢復過程中需要處理的事務數儲的信息。這樣做的目的是減少恢復過程中需要處理的事務數目并回收文件空間。目并回收文件空間。 可在恢復完成以后任何事務開始之前立即執(zhí)行可在恢復完成以后任何事務開始之前立即執(zhí)行checkpointing 過程。雖然恢復工作并非經常進行,但是過程。雖然恢復工作并非經常進行,但是需要在服務器正常工作時經常執(zhí)行需要在服務器正常工作時經常執(zhí)行checkpointing過程。過程。 具有恢復能力的系統(tǒng)可通過刪除舊的恢復文件來回收存具有恢復能力的系統(tǒng)可通過刪除舊的恢復文件來回收存儲空間。在恢復過程中,若恢復處理
23、程序移動到恢復文件中的儲空間。在恢復過程中,若恢復處理程序移動到恢復文件中的檢查點,則可立即從檢查點中恢復相關的所有數據項。檢查點,則可立即從檢查點中恢復相關的所有數據項。1022影子版本影子版本 影子版本技術是另一種組織恢復文件的方式。它通過影子版本技術是另一種組織恢復文件的方式。它通過一張地圖對保存于稱為版本存儲文件中的數據項版本進行一張地圖對保存于稱為版本存儲文件中的數據項版本進行定位。地圖將服務器數據項標識符與它們在版本存儲文件定位。地圖將服務器數據項標識符與它們在版本存儲文件中當前版本的位置聯(lián)系起來,由事務寫入的版本作為以前中當前版本的位置聯(lián)系起來,由事務寫入的版本作為以前已提交版本
24、的影子,將事務狀態(tài)表目與意向表分開處理。已提交版本的影子,將事務狀態(tài)表目與意向表分開處理。這里首先介紹影子版本。這里首先介紹影子版本。 當準備提交一個事務時,將所有由該事務所修改的數據當準備提交一個事務時,將所有由該事務所修改的數據項添加到版本存儲文件中,并保持相應的提交版本不變,項添加到版本存儲文件中,并保持相應的提交版本不變,這些新的臨時版本稱為影子版本。當事務提交時,通過復這些新的臨時版本稱為影子版本。當事務提交時,通過復制原來的地圖并進入影子版本位置的方式構造新的地圖。制原來的地圖并進入影子版本位置的方式構造新的地圖。提交完成后,用新地圖代替原來的地圖。提交完成后,用新地圖代替原來的地
25、圖。 當服務器重新啟動時,恢復處理程序讀取地圖并利用地當服務器重新啟動時,恢復處理程序讀取地圖并利用地圖中的信息對版本存儲文件中的數據項進行定位,然后就圖中的信息對版本存儲文件中的數據項進行定位,然后就可以恢復相應的數據項??梢曰謴拖鄳臄祿棥?這里還是用事務這里還是用事務T和和u這個例子來說明這個技術。圖這個例子來說明這個技術。圖10 .2第一列表示在事務第一列表示在事務T和和u開始執(zhí)行之前開始執(zhí)行之前A、B、C的存款分別的存款分別是是100美元、美元、200美元和美元和300美元,第二列表示事務美元,第二列表示事務T提提交后的狀況。交后的狀況。圖圖10 2所示的版本存儲文件中包含一個檢查
26、點所示的版本存儲文件中包含一個檢查點,P3位置和位置和P4位置表示事務位置表示事務T提交后提交后A和和B的版本情況,文件中還包含的版本情況,文件中還包含事務事務u準備提交時準備提交時B和和C的影子版本。的影子版本。 從舊地圖轉換到新地圖必須在一個單一的原子化從舊地圖轉換到新地圖必須在一個單一的原子化步驟內完成,因此需要利用穩(wěn)定存儲器來保存地圖,步驟內完成,因此需要利用穩(wěn)定存儲器來保存地圖,這樣即使在文件寫操作過程中出了故障也可以保證這樣即使在文件寫操作過程中出了故障也可以保證地圖的正確性。影子版本技術的恢復速度比登錄技地圖的正確性。影子版本技術的恢復速度比登錄技術快,這是因為在影子版本技術中,
27、當前已提交數術快,這是因為在影子版本技術中,當前已提交數據項的位置記錄在地圖中,而登錄技術需要掃描整據項的位置記錄在地圖中,而登錄技術需要掃描整個登錄文件。系統(tǒng)正常工作時,登錄技術的速度比個登錄文件。系統(tǒng)正常工作時,登錄技術的速度比影子版本技術快,這是因為登錄技術僅僅需要將一影子版本技術快,這是因為登錄技術僅僅需要將一系列操作添加到相同的文件中,而影子版本技術需系列操作添加到相同的文件中,而影子版本技術需要額外的穩(wěn)定存儲器寫操作要額外的穩(wěn)定存儲器寫操作(涉及到兩個獨立的磁盤涉及到兩個獨立的磁盤塊塊)。 對服務器而言,僅有影子版本是不夠的,還必對服務器而言,僅有影子版本是不夠的,還必須將事務狀態(tài)
28、表目和意向表保存在事務狀態(tài)文件中。須將事務狀態(tài)表目和意向表保存在事務狀態(tài)文件中。意向表代表事務提交后對地圖的修改。事務狀態(tài)文意向表代表事務提交后對地圖的修改。事務狀態(tài)文件可組織成登錄形式。件可組織成登錄形式。圖圖10. 3表示提交事務表示提交事務T和準備提交事務和準備提交事務U時地圖及時地圖及事務狀態(tài)文件的相應情形事務狀態(tài)文件的相應情形.1023恢復文件中的事務狀態(tài)表及意向表表目恢復文件中的事務狀態(tài)表及意向表表目 對分布式事務而言,必須在恢復文件中增加事務狀態(tài)表對分布式事務而言,必須在恢復文件中增加事務狀態(tài)表目及意向表,理由如下:目及意向表,理由如下: (1)某些恢復處理程序在假定事務正常提交
29、的情況下會提某些恢復處理程序在假定事務正常提交的情況下會提前將數據項寫入恢復文件。前將數據項寫入恢復文件。 (2)在事務使用了大量大數據項的情況下,由于要將數據在事務使用了大量大數據項的情況下,由于要將數據項連續(xù)地寫入恢復文件中,這將使服務器的設計復雜化。項連續(xù)地寫入恢復文件中,這將使服務器的設計復雜化。 (3)在時間段定序并發(fā)控制中,服務器有時可以確定某事在時間段定序并發(fā)控制中,服務器有時可以確定某事務可最終提交并確認客戶,這時再將數據項寫人到恢復文件務可最終提交并確認客戶,這時再將數據項寫人到恢復文件中,以確保數據項的永久性,但是,該事務必須等待以前事中,以確保數據項的永久性,但是,該事務
30、必須等待以前事務的提交。在這種情況下,恢復文件中相應的事務狀態(tài)表目務的提交。在這種情況下,恢復文件中相應的事務狀態(tài)表目為等待提交,然后進行提交以保證恢復文件中已提交事務的為等待提交,然后進行提交以保證恢復文件中已提交事務的時間段定序?;謴瓦^程中允許提交任何等待提交事務,因為時間段定序?;謴瓦^程中允許提交任何等待提交事務,因為該事務所等待的事務要么已經提交,要么由于服務器出故障該事務所等待的事務要么已經提交,要么由于服務器出故障而異常終止。而異常終止。 1對兩階段提交協(xié)議的恢復對兩階段提交協(xié)議的恢復 在分布式事務中,各臺服務器保存自身的恢復文件。當在分布式事務中,各臺服務器保存自身的恢復文件。當
31、服務器出故障時,恢復處理程序必須可對執(zhí)行兩階段提交協(xié)服務器出故障時,恢復處理程序必須可對執(zhí)行兩階段提交協(xié)議的事務進行有效恢復。在恢復處理程序中用到另外兩個狀議的事務進行有效恢復。在恢復處理程序中用到另外兩個狀態(tài)值態(tài)值done和和uncertain。協(xié)調程序使用提交狀態(tài)以表示表。協(xié)調程序使用提交狀態(tài)以表示表決的結果是決的結果是Yes,并使用,并使用done狀態(tài)表示兩階段提交協(xié)議執(zhí)行狀態(tài)表示兩階段提交協(xié)議執(zhí)行完畢。工作者使用完畢。工作者使用uncertain狀態(tài)表示自身表決為狀態(tài)表示自身表決為Yes但還但還不知道最終結果。協(xié)調程序表目記錄相應的工作者,工作者不知道最終結果。協(xié)調程序表目記錄相應的工
32、作者,工作者表目記錄相應的協(xié)調程序,如表表目記錄相應的協(xié)調程序,如表10 .2所示。所示。 在協(xié)調的第一階段,當協(xié)調程序準備提交時在協(xié)調的第一階段,當協(xié)調程序準備提交時(即已將準備即已將準備狀態(tài)表目添加到恢復文件中狀態(tài)表目添加到恢復文件中),恢復處理程序將協(xié)調程序表目,恢復處理程序將協(xié)調程序表目添加到恢復文件中。在工作者表決添加到恢復文件中。在工作者表決Yes之前,該事務必須已之前,該事務必須已經準備提交經準備提交(即已把準備狀態(tài)表目添加到恢復文件中即已把準備狀態(tài)表目添加到恢復文件中)。當工。當工作者表決作者表決Yes時,恢復處理程序對工作者表目作相應記錄并時,恢復處理程序對工作者表目作相應記
33、錄并將將uncertain狀態(tài)添加到恢復文件中。當工作者表決狀態(tài)添加到恢復文件中。當工作者表決No時,時,恢復處理程序將恢復處理程序將abort事務狀態(tài)表目添加到恢復文件中。事務狀態(tài)表目添加到恢復文件中。 在協(xié)議的第二階段,與協(xié)調程序相應的恢復處理程序根在協(xié)議的第二階段,與協(xié)調程序相應的恢復處理程序根據不同情況將提交或異常終止事務狀態(tài)添加到自身的恢復文據不同情況將提交或異常終止事務狀態(tài)添加到自身的恢復文件中,與工作者相應的恢復處理程序根據協(xié)調程序發(fā)送來的件中,與工作者相應的恢復處理程序根據協(xié)調程序發(fā)送來的消息,將提交或異常終止事務狀態(tài)添加到各自的恢復文件中。消息,將提交或異常終止事務狀態(tài)添加到
34、各自的恢復文件中。當協(xié)調程序收到所有工作者的確認消息后,其恢復處理程序當協(xié)調程序收到所有工作者的確認消息后,其恢復處理程序將將done事務狀態(tài)添加到恢復文件中。事務狀態(tài)添加到恢復文件中。done狀態(tài)表目并不是狀態(tài)表目并不是協(xié)議的一部分,但在重新組織恢復文件時要用到它。如圖協(xié)議的一部分,但在重新組織恢復文件時要用到它。如圖10 .4所示所示. 當服務器重新啟動時,恢復處理程序必須恢復數據項并當服務器重新啟動時,恢復處理程序必須恢復數據項并處理兩階段提交協(xié)議。充當協(xié)調程序的事務必須找到協(xié)調程處理兩階段提交協(xié)議。充當協(xié)調程序的事務必須找到協(xié)調程序表目和一系列事務狀態(tài)表目,充當工作者的事務必須找到序表
35、目和一系列事務狀態(tài)表目,充當工作者的事務必須找到工作者表目及一系列事務狀態(tài)表目。無論是哪種情況,都由工作者表目及一系列事務狀態(tài)表目。無論是哪種情況,都由最當前最當前(最接近登錄末尾最接近登錄末尾)的事務狀態(tài)表目確定出故障時事務的事務狀態(tài)表目確定出故障時事務的狀態(tài)。的狀態(tài)。 若恢復處理程序執(zhí)行兩階段提交協(xié)議,則其行為取決于若恢復處理程序執(zhí)行兩階段提交協(xié)議,則其行為取決于相應服務器是充當協(xié)調程序還是充當工作者,以及故障發(fā)生相應服務器是充當協(xié)調程序還是充當工作者,以及故障發(fā)生時服務器的狀態(tài)。其具體情況如表時服務器的狀態(tài)。其具體情況如表10. 3所示。所示。2恢復處理程序的重新組織恢復處理程序的重新組
36、織 執(zhí)行執(zhí)行checkpointing時必須保證:若某事務的狀態(tài)不是時必須保證:若某事務的狀態(tài)不是done,則,則與之相應的協(xié)調程序表目不能從恢復文件中刪除,直到所有工作都確認與之相應的協(xié)調程序表目不能從恢復文件中刪除,直到所有工作都確認已完成相應事務??蓪顟B(tài)為已完成相應事務。可對狀態(tài)為done的表目進行刪除,但若某事務的狀態(tài)的表目進行刪除,但若某事務的狀態(tài)為為uncertain,則相應的工作者表目必須保留。,則相應的工作者表目必須保留。3.嵌套事務的恢復嵌套事務的恢復 在設計嵌套事務的恢復系統(tǒng)時假定每個事務可以在獨立的一臺服務在設計嵌套事務的恢復系統(tǒng)時假定每個事務可以在獨立的一臺服務器上運
37、行。器上運行。 例如,在圖例如,在圖10 .5中,事務中,事務T1、T11、T12、T2可存取相同的數據可存取相同的數據項項A,但是存取過程有一定順序。子事務的臨時版本基于父事務的臨時版,但是存取過程有一定順序。子事務的臨時版本基于父事務的臨時版本,當某子事務提交時,相應的父事務繼承它臨時提交的臨時版本。當本,當某子事務提交時,相應的父事務繼承它臨時提交的臨時版本。當某子事務異常終止時,丟棄它的臨時版本。分層中最頂層的事務最終提某子事務異常終止時,丟棄它的臨時版本。分層中最頂層的事務最終提交時,它的版本成為新的提交版本。交時,它的版本成為新的提交版本。 在最頂層事務提交或異常終止以前,臨時提交
38、的臨時版本代表相應在最頂層事務提交或異常終止以前,臨時提交的臨時版本代表相應子事務,并將它寫入服務器的恢復文件中。在對最頂層事務進行處理以子事務,并將它寫入服務器的恢復文件中。在對最頂層事務進行處理以前,必須先完成準備提交子事務的上述過程。最頂層事務的兩階段提交前,必須先完成準備提交子事務的上述過程。最頂層事務的兩階段提交協(xié)議作為協(xié)凋程序決定了這些臨時版本在恢復文件中的最終狀態(tài)。協(xié)議作為協(xié)凋程序決定了這些臨時版本在恢復文件中的最終狀態(tài)。1024 事務的故障模型事務的故障模型 Lampson(1981)提出了一種可解釋為磁盤、服務器和通信故障的分提出了一種可解釋為磁盤、服務器和通信故障的分布式事
39、務故障模型。在這種模型中,若發(fā)生的故障是可預測的,則可以保證布式事務故障模型。在這種模型中,若發(fā)生的故障是可預測的,則可以保證算法正確運行,否則不能保證算法可正確運行。這種模型還是可能發(fā)生故障,算法正確運行,否則不能保證算法可正確運行。這種模型還是可能發(fā)生故障,但可以在任何不正確的情況發(fā)生以前通過算法進行檢測以發(fā)現(xiàn)和處理該故障。但可以在任何不正確的情況發(fā)生以前通過算法進行檢測以發(fā)現(xiàn)和處理該故障。這種模型描述如下:這種模型描述如下: (1)向永久存儲器進行寫操作時可能發(fā)生故障,例如可能沒有寫入或寫入向永久存儲器進行寫操作時可能發(fā)生故障,例如可能沒有寫入或寫入錯誤數據。另外寫入錯誤塊是災難性錯誤,
40、文件存儲器也可能遭到破壞,可錯誤數據。另外寫入錯誤塊是災難性錯誤,文件存儲器也可能遭到破壞,可以通過對永久存儲器進行讀操作的方式來檢測數據塊是否遭到破壞以通過對永久存儲器進行讀操作的方式來檢測數據塊是否遭到破壞(例如,通例如,通過校驗和方法過校驗和方法)。 (2)服務器隨時可能發(fā)生故障,當重新啟動時,服務器的易失性存儲器丟服務器隨時可能發(fā)生故障,當重新啟動時,服務器的易失性存儲器丟失了故障發(fā)生前的所有數據失了故障發(fā)生前的所有數據(如數據項如數據項),因此,必須進行重新設置。當處理,因此,必須進行重新設置。當處理器發(fā)生故障時,必須使之失效以防止發(fā)送錯誤消息或將錯誤數據寫入永久存器發(fā)生故障時,必須
41、使之失效以防止發(fā)送錯誤消息或將錯誤數據寫入永久存儲器中。處理器利用永久存儲器和其他處理機的信息來恢復自身數據項的值。儲器中。處理器利用永久存儲器和其他處理機的信息來恢復自身數據項的值。故障可能在任何時候發(fā)生,在對故障進行恢復時可能再次發(fā)生故障。故障可能在任何時候發(fā)生,在對故障進行恢復時可能再次發(fā)生故障。 (3)在消息到達目的地之前可能有一個隨機延遲。消息可能丟失,被復制在消息到達目的地之前可能有一個隨機延遲。消息可能丟失,被復制或被破壞,接收者應能對遭到破壞的消息進行檢測或被破壞,接收者應能對遭到破壞的消息進行檢測(通過校驗和方法通過校驗和方法),偽造,偽造的消息或已遭破壞但役有檢測出來的消息
42、是災難性錯誤。的消息或已遭破壞但役有檢測出來的消息是災難性錯誤。 可利用這種故障模型設計穩(wěn)定系統(tǒng),該系統(tǒng)各部件中可對任何單一故障可利用這種故障模型設計穩(wěn)定系統(tǒng),該系統(tǒng)各部件中可對任何單一故障進行容錯處理。當發(fā)生單一的寫操作故障或單一的進程故障時,穩(wěn)定存儲器進行容錯處理。當發(fā)生單一的寫操作故障或單一的進程故障時,穩(wěn)定存儲器可提供原子寫操作。發(fā)生故障后,穩(wěn)定處理器可利用穩(wěn)定存儲器來恢復數據可提供原子寫操作。發(fā)生故障后,穩(wěn)定處理器可利用穩(wěn)定存儲器來恢復數據項,并可通過一個可靠的遠程過程調用機制屏蔽通信故障。項,并可通過一個可靠的遠程過程調用機制屏蔽通信故障。103容容 錯錯 計算機的各個部件都是由若
43、干軟件和硬件組合而成的,它計算機的各個部件都是由若干軟件和硬件組合而成的,它們隨時可能發(fā)生故障。分布式系統(tǒng)是由并發(fā)運行于不同計算機上們隨時可能發(fā)生故障。分布式系統(tǒng)是由并發(fā)運行于不同計算機上的處理器組成的,它通過通信子系統(tǒng)進行通信轉換,相對于計算的處理器組成的,它通過通信子系統(tǒng)進行通信轉換,相對于計算機而言,通信子系統(tǒng)的行為相對較慢,也相對不可靠,這就導致機而言,通信子系統(tǒng)的行為相對較慢,也相對不可靠,這就導致了在設計正確的服務時相互對立的兩個方面:了在設計正確的服務時相互對立的兩個方面: (1)分布式系統(tǒng)中某個服務操作常常依靠運行于其他計算機分布式系統(tǒng)中某個服務操作常常依靠運行于其他計算機上的
44、其他服務操作。但是由于計算機可能出故障,通信也不可能上的其他服務操作。但是由于計算機可能出故障,通信也不可能完全可靠,這就會導致后者響應失敗。另外,服務器本身很難檢完全可靠,這就會導致后者響應失敗。另外,服務器本身很難檢測出其他相關計算機是否發(fā)生故障,其他服務器是否超載等。測出其他相關計算機是否發(fā)生故障,其他服務器是否超載等。 (2)可將運行于不同計算機上的一系列服務器聯(lián)合起來,服可將運行于不同計算機上的一系列服務器聯(lián)合起來,服務器的聯(lián)合執(zhí)行相對于任何單個的服務器而言,其發(fā)生故障的概務器的聯(lián)合執(zhí)行相對于任何單個的服務器而言,其發(fā)生故障的概率更小。例如,可利用多臺服務器復制同一服務的數據,這樣即
45、率更小。例如,可利用多臺服務器復制同一服務的數據,這樣即使某些服務器發(fā)生故障,仍可繼續(xù)執(zhí)行此服務。使某些服務器發(fā)生故障,仍可繼續(xù)執(zhí)行此服務。 第第(1)點表示分布式系統(tǒng)的服務設計者必須考慮到自己使用點表示分布式系統(tǒng)的服務設計者必須考慮到自己使用的其他服務器可能由于多種原因發(fā)生故障;第的其他服務器可能由于多種原因發(fā)生故障;第(2)點表示分布式點表示分布式系統(tǒng)設計者可利用多臺計算機的優(yōu)勢屏蔽所設計的服務中可能存系統(tǒng)設計者可利用多臺計算機的優(yōu)勢屏蔽所設計的服務中可能存在的潛在錯誤。在的潛在錯誤。 不論何種情況,設計者都應了解服務發(fā)生故障的可能性,不論何種情況,設計者都應了解服務發(fā)生故障的可能性,這意
46、味著設計者不僅要詳細說明正確運行的情況,而且要詳這意味著設計者不僅要詳細說明正確運行的情況,而且要詳細說明發(fā)生故障的不同方式。對服務器發(fā)生故障的方式進行細說明發(fā)生故障的不同方式。對服務器發(fā)生故障的方式進行討論稱為故障語義學。服務器的故障語義學知識能使設計的討論稱為故障語義學。服務器的故障語義學知識能使設計的服務屏蔽服務故障。例如,由于服務屏蔽服務故障。例如,由于IP協(xié)議所提供的數據報服務協(xié)議所提供的數據報服務不可靠,所以必須提出不可靠,所以必須提出TCP協(xié)議以提供可靠的流通信服務。協(xié)議以提供可靠的流通信服務。 容錯系統(tǒng)可以檢測出故障的存在,并在此基礎上預測所發(fā)容錯系統(tǒng)可以檢測出故障的存在,并在
47、此基礎上預測所發(fā)生的故障或進行故障屏蔽。具有容錯能力的服務器所依賴的生的故障或進行故障屏蔽。具有容錯能力的服務器所依賴的其他服務器發(fā)生故障時,本故障通過一系列的規(guī)范進行操作。其他服務器發(fā)生故障時,本故障通過一系列的規(guī)范進行操作。容錯的這種意義允許具有容錯能力的服務器發(fā)生故障語義學容錯的這種意義允許具有容錯能力的服務器發(fā)生故障語義學允許的故障。允許的故障。 服務器在屏蔽服務故障時,要么將故障整個隱藏起來,要服務器在屏蔽服務故障時,要么將故障整個隱藏起來,要么將之轉換為允許發(fā)生的故障。在后一種情況下,通常將低么將之轉換為允許發(fā)生的故障。在后一種情況下,通常將低層服務器的故障轉換成高層服務器的故障類
48、型。層服務器的故障轉換成高層服務器的故障類型。1031故障特征故障特征 為了規(guī)范說明服務器的故障語義學,可以使用一套對故障為了規(guī)范說明服務器的故障語義學,可以使用一套對故障進行描述的方法。進行描述的方法。Cristian(1991)提出了一種非常有效的提出了一種非常有效的故障分類方法。服務器請求可以改變服務器資源狀況并為用戶故障分類方法。服務器請求可以改變服務器資源狀況并為用戶產生一個結果。為了服務器的正確運行,產生一個結果。為了服務器的正確運行,Cristian分類法假分類法假定對服務器資源的影響以及客戶響應必須正確。具體的分類情定對服務器資源的影響以及客戶響應必須正確。具體的分類情況如表況
49、如表10 .4所示。所示。1同步故障同步故障 Cristian 分類法中提出了同步故障,它是指在特定的時間間分類法中提出了同步故障,它是指在特定的時間間隔內對客戶無效的任何響應。同步故障可描述為響應太遲隔內對客戶無效的任何響應。同步故障可描述為響應太遲(即執(zhí)即執(zhí)行故障行故障)或太早。例如某超載的服務器的響應可能過遲到達。設或太早。例如某超載的服務器的響應可能過遲到達。設計實時操作系統(tǒng)必須避免同步故障,相對于其他沒有實時限制的計實時操作系統(tǒng)必須避免同步故障,相對于其他沒有實時限制的操作系統(tǒng)操作系統(tǒng)(如如UNIX)而言,設計實時操作系統(tǒng)更為復雜并需要而言,設計實時操作系統(tǒng)更為復雜并需要更多的硬件資
50、源。更多的硬件資源。2服務器失效故障服務器失效故障 Cristian將服務器失效故障定義為遺漏故障重復發(fā)生。大多數將服務器失效故障定義為遺漏故障重復發(fā)生。大多數服務器故障使得服務器停止發(fā)送消息,在客戶眼里,服務器巳停服務器故障使得服務器停止發(fā)送消息,在客戶眼里,服務器巳停止工作。客戶不能對服務器故障、服務器響應過慢和服務器通信止工作。客戶不能對服務器故障、服務器響應過慢和服務器通信失敗這三者進行確切區(qū)分。可以利用超時和重新傳遞請求消息的失敗這三者進行確切區(qū)分??梢岳贸瑫r和重新傳遞請求消息的方法檢測服務器故障,即與處理器進行通信的次數超過一定數目方法檢測服務器故障,即與處理器進行通信的次數超過
51、一定數目后處理器仍無應答,則認為處理器巳發(fā)生故障。這種檢測服務器后處理器仍無應答,則認為處理器巳發(fā)生故障。這種檢測服務器故障的方法是基于對服務器的可能響應時間及丟失消息的可能性故障的方法是基于對服務器的可能響應時間及丟失消息的可能性進行設定,因此出錯的可能性很小。進行設定,因此出錯的可能性很小。 失憶故障相對于重復的遺漏故障而言危害更大,因為在這失憶故障相對于重復的遺漏故障而言危害更大,因為在這種情況下服務器丟失了自身的狀態(tài)種情況下服務器丟失了自身的狀態(tài)(如數據項的值如數據項的值)??梢岳???梢岳没謴蜋C制避免服務器出故障時發(fā)生失憶故障行為。利用恢用恢復機制避免服務器出故障時發(fā)生失憶故障行為。
52、利用恢復機制避免失憶故障時,由于需提供新的服務,從而增加了復機制避免失憶故障時,由于需提供新的服務,從而增加了開銷。開銷。1032 Byzantine故障故障 Cristian使用隨機故障語義學這個詞來表示服務器可能使用隨機故障語義學這個詞來表示服務器可能發(fā)生上述所有的故障語義學,即失效故障、同步故障、響應發(fā)生上述所有的故障語義學,即失效故障、同步故障、響應故障和遺漏故障。利用故障和遺漏故障。利用Byzantine故障這個詞表示在最壞情故障這個詞表示在最壞情況下服務器的故障語義學。況下服務器的故障語義學。 Lamport等人等人(1982)使用臨使用臨界生存系統(tǒng)使界生存系統(tǒng)使Byzantine
53、問題一般化。在本系統(tǒng)中設定了一問題一般化。在本系統(tǒng)中設定了一個環(huán)境模型,在此環(huán)境模型中,大多數計算機正常工作而其個環(huán)境模型,在此環(huán)境模型中,大多數計算機正常工作而其他一些有故障的計算機在盡可能惡劣的條件下工作。有故障他一些有故障的計算機在盡可能惡劣的條件下工作。有故障的計算機可能對不同的接收者發(fā)送相互矛盾的消息,也可能的計算機可能對不同的接收者發(fā)送相互矛盾的消息,也可能相互冒充。這種考慮最壞情況的觀點使設計的系統(tǒng)可以出現(xiàn)相互冒充。這種考慮最壞情況的觀點使設計的系統(tǒng)可以出現(xiàn)最壞情況,從而使得系統(tǒng)是超可靠的。最壞情況,從而使得系統(tǒng)是超可靠的。 Byzantine協(xié)議可協(xié)議可應用于有特定響應時間限制
54、的環(huán)境及能正確運行于有故障硬應用于有特定響應時間限制的環(huán)境及能正確運行于有故障硬件能力的環(huán)境中。件能力的環(huán)境中。 Byzantine協(xié)議算法要發(fā)送更多的消息,使用更多的活躍服務器。算法的協(xié)議算法要發(fā)送更多的消息,使用更多的活躍服務器。算法的任務是將相同的消息發(fā)送到所有服務器上,從而使得正常的服務器在特定的時間任務是將相同的消息發(fā)送到所有服務器上,從而使得正常的服務器在特定的時間限制內產生相同的響應。它等價于原子化多點傳送,即使某些有故障的服務器發(fā)限制內產生相同的響應。它等價于原子化多點傳送,即使某些有故障的服務器發(fā)生了同步故障而導致不確定的響應延遲,算法仍可正常工作。每臺服務器都使用生了同步故
55、障而導致不確定的響應延遲,算法仍可正常工作。每臺服務器都使用相同的方法將自己的表決與其他服務器的表決進行組合,在此過程中可能發(fā)生值相同的方法將自己的表決與其他服務器的表決進行組合,在此過程中可能發(fā)生值故障或遺漏故障。如圖故障或遺漏故障。如圖10 .6(a)所示,有所示,有A、B、C三臺服務器三臺服務器(兩臺正常,一兩臺正常,一臺不正常臺不正常),正常的服務器表決,正常的服務器表決Yes,不正常的服務器向一臺正常的服務器發(fā)送,不正常的服務器向一臺正常的服務器發(fā)送Yes,而向另一臺正常的服務器發(fā)送,而向另一臺正常的服務器發(fā)送No。服務器。服務器A接收到的消息為接收到的消息為 Yes,Yes,Yes
56、,服務器,服務器B接收到的消息為接收到的消息為Yes,Yes,Nn,由于在這兩種情,由于在這兩種情況下表決的主體是況下表決的主體是Yes,故正常服務器的表決結果是,故正常服務器的表決結果是Yes,這表明兩臺正常服務,這表明兩臺正常服務器可對一臺不正常服務器的故障進行容錯。一般而言,若可保持接收者的消息不器可對一臺不正常服務器的故障進行容錯。一般而言,若可保持接收者的消息不會遭到破壞,并可鑒定發(fā)送者身份,則會遭到破壞,并可鑒定發(fā)送者身份,則2n+1臺服務器可以屏蔽臺服務器可以屏蔽n臺故障服務器臺故障服務器的故障,因為正常的服務器占表決多數。的故障,因為正常的服務器占表決多數。 在圖在圖10. 6
57、(b)所示情況下,正常服務器所示情況下,正常服務器A表決表決Yes,不正常服務器,不正常服務器C卻宣卻宣布布A表決表決No,由于服務器,由于服務器B從從A接收到兩個完全相反的表決,故接收到兩個完全相反的表決,故B不能確定不能確定A的的表決到底是什么。若不能鑒定消息發(fā)送者身份,則需要三臺正常服務器來屏蔽一表決到底是什么。若不能鑒定消息發(fā)送者身份,則需要三臺正常服務器來屏蔽一臺服務器的故障。臺服務器的故障。 理論上的理論上的Byzantine模型需要三臺正常服務器處理一臺不正常服務器的故障模型需要三臺正常服務器處理一臺不正常服務器的故障行為。在實際應用中可以假定消息不會遭到破壞并且可以鑒定發(fā)送者身
58、份,這種行為。在實際應用中可以假定消息不會遭到破壞并且可以鑒定發(fā)送者身份,這種模型有時稱作模型有時稱作Byzantine鑒定將軍模型,其故障語義學包括響應故障鑒定將軍模型,其故障語義學包括響應故障(值故障、值故障、狀態(tài)轉換故障狀態(tài)轉換故障)、遺漏故障和同步故障。、遺漏故障和同步故障。104 分層故障屏蔽和成組故障屏蔽分層故障屏蔽和成組故障屏蔽 Cristian提出了分層故障屏蔽和成組故障屏蔽兩種故障屏蔽方法。提出了分層故障屏蔽和成組故障屏蔽兩種故障屏蔽方法。1041分層屏蔽分層屏蔽 分層故障屏蔽是指服務器依靠低層服務的情況,高層次服務器屏蔽低層次分層故障屏蔽是指服務器依靠低層服務的情況,高層次
59、服務器屏蔽低層次故障。某些情況下服務器故障可能完全隱藏,例如請求故障。某些情況下服務器故障可能完全隱藏,例如請求-應答協(xié)議通過重新應答協(xié)議通過重新發(fā)送請求消息的方式屏蔽消息傳送服務中的遺漏故障。當不能屏蔽某低層故障發(fā)送請求消息的方式屏蔽消息傳送服務中的遺漏故障。當不能屏蔽某低層故障時,可將它轉換成一個高層異常。例如請求一應答協(xié)議通過向客戶報告異常來時,可將它轉換成一個高層異常。例如請求一應答協(xié)議通過向客戶報告異常來屏蔽服務器失效故障。一般而言,在每個層次上,故障要么完全隱藏,要么轉屏蔽服務器失效故障。一般而言,在每個層次上,故障要么完全隱藏,要么轉換為高層異常,從而在高層上試圖屏蔽該故障。當最
60、終到達用戶界面層次時,換為高層異常,從而在高層上試圖屏蔽該故障。當最終到達用戶界面層次時,大多數故障已經得到屏蔽。此時若還有故障不能屏蔽,則必須將故障報告給用大多數故障已經得到屏蔽。此時若還有故障不能屏蔽,則必須將故障報告給用戶。對用戶而言,只需報告所有的異常及它們的當前任務,不必報告低層服務戶。對用戶而言,只需報告所有的異常及它們的當前任務,不必報告低層服務器的行為。器的行為。1042成組故障屏蔽成組故障屏蔽 既可通過在一系列位于不同計算機上的服務器上執(zhí)行同一服務以使得該服既可通過在一系列位于不同計算機上的服務器上執(zhí)行同一服務以使得該服務具有容錯能力,這樣即使某些服務器發(fā)生了故障,其他服務器
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電動、氣動工具使用安全管理
- 【課件】平面圖形+課件2025-2026學年+華東師大版(2024)七年級數學上冊
- 3D打印家具創(chuàng)新-洞察闡釋
- 3PL服務能力評估模型-洞察及研究
- 中考三模2025年河南省重點學校名師模擬(七)英語試題含答案
- 未來銀行的存款計劃
- 銅仁市萬山區(qū)計劃
- 價值共創(chuàng)視角下T物流公司客戶關系管理優(yōu)化研究
- 成都體育學院《流行音樂欣賞與實踐》2023-2024學年第二學期期末試卷
- 經濟學基礎題庫-選擇判斷題庫(401道)
- 熱力發(fā)電廠課程設計說明書
- 氣體吸收操作-吸收塔結構認知(化工單元操作課件)
- 中藥湯劑的正確熬制和服用方法
- 國際足聯(lián)球員身份及轉會規(guī)程及課程教案
- 北京市海淀區(qū)八年級下學期期末考試語文試題
- 法蘭標準尺寸表
- DB5206T16-2018梵凈山茶葉加工場所基本條件
- 農產品供應鏈數字化轉型:理論框架與實現(xiàn)路徑共3篇
- GB/T 21490-2008結構加固修復用碳纖維片材
- GB/T 18765-2008野山參鑒定及分等質量
評論
0/150
提交評論