專利名稱:容錯雙工計算機系統及其控制方法
技術領域:
本發明涉及一種容錯雙工計算機系統,其中兩個系統在監控相互的操作情況的同時同步地執行雙工運行。
背景技術:
對于具有雙工處理器的系統,現有情況下可用的計算機系統是這樣的,即當計算機系統發生故障時,暫時停止雙工操作,并且根據故障情況,繼續進行被認定為正常的處理器的操作(例如,參見JP-H06-266574A)。
為了制止這種處理的中斷,在沒有實施有關要修復的故障的信息收集的情況下繼續雙工系統的操作。
不過,現有情況下,雙工運行被暫時停止,以收集要修復的故障的信息,這會造成處理的中斷的問題。
而且,不收集要修復的故障的信息以制止處理的中斷,會引起活動或備用系統的確定準確度下降的問題。
發明內容
因此,本發明的目的是提出一種容錯雙工計算機系統及其控制方法,該容錯雙工計算機系統能夠甚至在有要修復故障的情況下,通過收集故障信息來增加要繼續的處理的精度,而不停止雙工運行,并且當非同步情況發生時使用收集的故障信息作為活動或備用系統的確定資料,以提高確定準確度。
為了解決上述問題,提出了本發明。本發明的特征在于容錯雙工計算機系統,其中兩個系統在監控相互操作情況的同時同步地執行雙工運行,該容錯雙工計算機系統包括數據處理部件,其使每一個系統修復并通知在其中傳輸數據或執行算術運算的過程中產生的故障;錯誤診斷處理器,其通知在系統中產生的故障信息并且執行指示給系統的處理;以及錯誤監控部件,其對從各系統接收的多個故障信息進行分類,以將它們記錄成可修復故障信息或不可修復故障信息,并且根據該信息來指示系統進行故障修復處理,其中當從每一個系統接收到可修復故障時,錯誤監控部件更新相關系統的可修復故障信息;當接收到不可修復故障時,更新相關系統的不可修復故障信息,以指示系統的診斷;并且當接收到非同步情況時,對來自各系統的多個故障信息進行相互比較,以通過將包括有較少量故障信息的系統設定為活動系統并且將包括有較大量故障信息的系統設定為備用系統來指示同步處理。
根據該結構,在執行雙工運行的同時可以與每一個系統相對應地記錄可修復故障信息和不可修復故障信息,并且當發生非同步情況時,記錄的故障信息可被用作活動或備用系統的確定資料。
本發明的第一效果是通過提高活動或備用系統的確定準確度可以增加要繼續的處理的準確度。這是因為即使是在可修復故障的情況下,也收集故障信息,并且即使當發生了非同步情況時,收集的故障信息被用作活動或備用系統的確定資料。
本發明的第二效果是當發生了非同步情況時處理的中斷可被限制到最小。這是因為在不停止雙工運行的情況下也可以收集故障信息。
圖1為框圖,示出了本發明的第一實施例;圖2為錯誤診斷處理器的內部框圖;
圖3為流程圖,示出了錯誤監控部件的操作;圖4為當在一個系統中發生了可修復故障時的解釋圖;圖5為當在一個系統中發生了不可修復故障時的解釋圖;以及圖6為當在系統之間發生了非同步情況時的解釋圖。
具體實施例方式
接下來,參照附圖來講述本發明的優選實施例。
圖1為框圖,示出了本發明的第一實施例。系統110、120在經由同步總線140監控相互的操作情況的同時來進行同步雙工運行。通過分別包括作為數據處理單元的如下部件來構造系統110、120,即CPU 112、122,存儲器113、123,IO處理器114、124和錯誤診斷處理器116、126。
CPU 112、122,存儲器113、123,以及IO處理器114、124通過數據總線111、121來傳輸數據,以實現算術運算。當在數據傳輸或算術運算的過程中發生故障時,CPU 112、122,存儲器113、123和IO處理器114、124根據諸如誤差校正代碼(ECC)等附加數據來確定是否可以修復故障,當故障可以修復時通過診斷總線115、125將故障的可修復性通知給錯誤診斷處理器116、126,并且修復故障,以繼續其后的處理。
當產生的故障不可修復時,通過診斷總線115、125將不可修復的故障通知給錯誤診斷處理器116、126,停止其后的處理,并且等待來自錯誤診斷處理器116、126的指令。當在同步總線140上確認發生了非同步情況時,CPU 112、122,存儲器113、123和IO處理器114、124通過診斷總線115、125將非同步情況通知給錯誤診斷處理器116、126。
錯誤監控部件130對從系統110和120接收的多個故障信息進行分類,并且記錄各信息,作為與各系統相對應的可修復故障信息131和不可修復故障信息132。
圖2示出了錯誤診斷處理器的內部結構。錯誤診斷處理器116、126通過錯誤檢測部件201從CPU 112、122,存儲器113、123和IO處理器114、124經過診斷總線115、125接收可修復故障、不可修復故障和非同步情況。
錯誤信息通信部件202通過通信總線141、142向錯誤監控部件130詢問在可修復故障的情況下的單獨的通知、在不可修復故障和非同步情況下的通知和其后的處理內容,并且將詢問的結果通知給錯誤對策部件203。
錯誤對策部件203根據向錯誤監控部件130詢問的結果,在系統110、120發生了不可修復故障和非同步情況之后指示對CPU 112、122,存儲器113、123和IO處理器114、124進行處理。
接下來,參照圖3的流程圖來講述錯誤監控部件的操作概況。錯誤監控部件130從系統110、120經過通信總線141、142來接收可修復故障、不可修復故障和非同步情況的通知(步驟301)。
當接收到可修復故障時,更新相關系統的可修復故障信息131(步驟310)。當接收到不可修復故障時,更新相關系統的不可修復故障信息132(步驟320),并且指示系統進行診斷(步驟321)。當確定出可操作時,再次將同步處理(步驟323)的指令通知給系統(步驟325)。當確定出不可操作時,停止相關系統的處理,以進行系統切換通知(步驟324)。當接收到非同步情況時,對系統110和120的多個故障信息進行相互比較,并且通過將故障信息量較小的系統110設定為活動系統并且將故障信息量較大的系統120設定為備用系統來進行同步處理指令(步驟330)。備用系統的同步處理指令是經過通信總線142通知給系統120的(步驟331)。
接下來,講述與每一個故障信息相對應的錯誤監控部件的操作。首先,參照圖4來講述當在同步操作的兩個系統的一個中發生了可修復故障時的操作。
假設由于某種原因在系統120的IO處理器124中發生了故障。IO處理器124確定故障的內容,確定故障可被修復,修復故障以繼續其后的處理,并且經過診斷總線125將可修復故障的發生通知給錯誤診斷處理器126。
錯誤診斷處理器126通過錯誤檢測部件201從IO處理器124接收可修復故障的通知。錯誤信息通信部件202通過通信總線142將可修復故障的發生通知給錯誤監控部件130。
錯誤監控部件130從系統120經過通信總線142接收可修復故障的通知(步驟301)。由于接收的通知為可修復的故障,因此更新系統120的可修復故障信息131(步驟310),以完成處理。
接下來參照圖5來講述當在同步操作的兩個系統的一個中發生了不可修復故障時的操作。
假設由于某種原因在系統120的IO處理器124中發生了故障。IO處理器124確定故障的內容,確定故障不可被修復,取消其后的處理,并且經過診斷總線125將不可修復故障的發生通知給錯誤診斷處理器126。
錯誤診斷處理器126通過錯誤檢測部件201從IO處理器124接收不可修復故障的通知。錯誤信息通信部件202通過通信總線142將不可修復故障的發生和對其后處理內容的詢問通知給錯誤監控部件130。
錯誤監控部件130從系統120經過通信總線142接收不可修復故障的通知(步驟301)。由于接收的通知為不可修復的故障,因此更新系統120的不可修復故障信息132(步驟320),以進行對系統120的診斷指示(步驟321)。
錯誤診斷處理器126通過錯誤信息通信部件202從錯誤監控部件130經過通信總線142接收診斷指令。錯誤對策部件203經過診斷總線125將接收的診斷指令傳輸給通知發生了不可修復故障的IO處理器124。
IO處理器124根據來自錯誤診斷處理器126的診斷指令對內容進行診斷,并且將其結果經過診斷總線125通知給錯誤診斷處理器126。
錯誤診斷處理器126經過通信總線142將從IO處理器124接收的診斷結果通知給錯誤監控部件130。
錯誤診斷處理器126確定接收的診斷結果(步驟322)。當確定出可操作時,再次將同步處理指令(步驟323)通知給系統120(步驟325)。由錯誤診斷處理器126來確定其可操作性的系統120接收同步處理指令,并且開始與系統110的同步處理,以恢復雙工運行。當確定出不可操作時,不對系統120發出任何通知,保持其后面的處理的停止狀態,并且將系統120的切換請求顯示在顯示器等設備上,以將其通知給系統管理員(步驟324)。
接下來,參照圖6來講述當在同步操作的兩個系統之間發生了非同步情況時的操作。
假設由于某種原因在系統110和120之間發生了非同步情況。在系統110中,CPU 112通過同步總線140監控系統120的操作情況,并且檢測非同步情況的發生。當檢測到非同步情況時,CPU 112停止對系統120的非同步情況檢測處理,并且經過診斷總線115將非同步情況通知給錯誤診斷處理器116。
錯誤診斷處理器116通過錯誤檢測部件201從CPU 112接收非同步情況的通知。錯誤信息通信部件202經過通信總線141將非同步情況的發生和對其后處理的內容的詢問通知給錯誤監控部件130。
在系統120中,CPU 122通過同步總線140監控系統110的操作狀態,并且檢測非同步情況的發生。當檢測到非同步情況時,CPU 122停止對系統110的非同步情況檢測處理,并且經過診斷總線125將非同步情況通知給錯誤診斷處理器126。
錯誤診斷處理器126通過錯誤檢測部件201從CPU 122接收非同步情況的通知。錯誤信息通信部件202經過通信總線142將非同步情況的發生和對其后處理的內容的詢問通知給錯誤監控部件130。
錯誤監控部件130從系統110經過通信總線141接收非同步情況的通知,并且從系統120經過通信總線142接收非同步情況的通知(步驟301)。
由于接收的通知為非同步情況(步驟302),因此對系統110和120的多個故障信息進行相互比較,并且通過將故障信息量較小的系統110設定為活動系統并且將故障信息量較大的系統120設定為備用系統來進行同步處理指令(步驟330)。備用系統的同步處理是經過通信總線142通知給系統120的(步驟331)。
錯誤診斷處理器126通過錯誤信息通信部件202從錯誤監控部件130經過通信總線142接收備用系統的同步處理。接收到備用系統的同步處理的錯誤診斷處理器126停止系統120的處理,并且執行與系統110的同步處理,以恢復系統110和120的雙工運行。
例如,本發明可以應用于雙工計算機系統,其中雙工計算機系統應用于24小時或365天都不能停止處理以管理諸如網上購物等用戶信息的數據服務器。
權利要求
1.一種容錯雙工計算機系統,其中兩個系統在監控相互操作情況的同時同步地執行雙工運行,它包括數據處理部件,其使每一個系統修復并通知在其中傳輸數據或執行算術運算的過程中產生的故障;錯誤診斷處理器,其通知在系統中產生的故障信息,并且執行指示給系統的處理;以及錯誤監控部件,其對從系統接收的多個故障信息進行分類,以將它們記錄成可修復故障信息或不可修復故障信息,并且根據該信息來指示系統進行故障修復處理,其中當從每一個系統接收到可修復故障時,錯誤監控部件更新相關系統的可修復故障信息;當接收到不可修復故障時,更新相關系統的不可修復故障信息,以指示系統的診斷;并且當接收到非同步情況時,對來自各系統的多個故障信息進行相互比較,以通過將包括有較少量故障信息的系統設定為活動系統并且將包括有較大量故障信息的系統設定為備用系統來指示同步處理。
2.如權利要求1所述的系統,其中當在接收到不可修復故障的情況下診斷結果被確定為允許操作時,再次將同步處理的指令通知給相關系統。
3.如權利要求1所述的系統,其中當在接收到不可修復故障的情況下診斷結果被確定為禁止操作時,停止相關系統的處理,以通知其進行切換。
4.一種雙工計算機系統的容錯控制方法,該雙工計算機系統在每一個系統中都包括有數據處理部件,以修復和通知在傳輸數據或在其中執行算術運算的過程中產生的故障,并且在該雙工計算機系統中,各系統在監控相互操作情況的同時同步地執行雙工運行,該方法包括錯誤診斷步驟,用于通知在系統中產生的故障信息,并且執行指示給系統的處理;以及錯誤監控步驟,用于對從各系統接收的多個故障信息進行分類,以將它們記錄成可修復故障信息或不可修復故障信息,并且根據該信息來指示系統進行故障修復處理,其中在錯誤監控步驟中,當從每一個系統接收到可修復故障時,更新相關系統的可修復故障信息;當接收到不可修復故障時,更新相關系統的不可修復故障信息,以指示系統的診斷;并且當接收到非同步情況時,對來自各系統的多個故障信息進行相互比較,并且通過將故障信息量較小的系統設定為活動系統并且將故障信息量較大的系統設定為備用系統來指示同步處理。
5.如權利要求4所述的方法,其中當在接收到不可修復故障的情況下診斷結果被確定為允許操作時,再次將同步處理的指令通知給相關系統。
6.如權利要求4所述的方法,其中當在接收到不可修復故障的情況下診斷結果被確定為禁止操作時,停止相關系統的處理,以通知其進行切換。
全文摘要
本發明公開了一種能夠在不停止雙工運行的情況下通過收集故障信息來增加要繼續的處理的準確度的容錯雙工計算機系統。當產生的故障可修復時,系統(110,120)的CPU(112,122)、存儲器(113,123)和IO處理器(114,124)將可修復故障通知給錯誤診斷處理器(116,126),并且當產生的故障不可修復時,將不可修復故障通知給錯誤診斷處理器(116,126)。當確認發生了非同步情況時,通知非同步情況。當接收到可修復故障時,錯誤監控部件(130)更新相關系統的可修復故障信息(131),并且當接收到不可修復故障時,更新相關系統的不可修復故障信息(132)。當接收到非同步情況時,通過將故障信息量較小的系統設定為活動系統并且將故障信息量較大的系統設定為備用系統來進行同步處理指令。
文檔編號G06F11/16GK1794198SQ200510133920
公開日2006年6月28日 申請日期2005年12月20日 優先權日2004年12月20日
發明者吉田雅広 申請人:日本電氣株式會社