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