專利名稱:用于安全容錯計算機的同步和/或數據交換方法及適用于此的裝置的制作方法
技術領域:
本發(fā)明涉及一種在有至少兩個平行工作的計算機通道的多計算機系統(tǒng)中的安全容錯計算機的同步和/或數據交換方法,這些計算機通道至少通過相互對比一致性檢驗其結果并在其程序流程內發(fā)出用于結果對比的中斷信號,以及本發(fā)明還涉及一種實施此方法的裝置。
在完成控制或調整任務時,為保證安全性和提高容錯能力采用多計算機系統(tǒng)。在系統(tǒng)的各計算機中運行在其執(zhí)行時同步化的程序,在這種情況下在同步點對比或用其他適用的方式檢驗程序的結果或中間結果。為此原則上有兩種已知的方案,即硬件同步和軟件同步。
在硬件同步的方法中,通過計算機上的附加邏輯實現計算機緊密耦合,這種耦合使時鐘脈沖或指令同步或路徑相同。
DE-AS 2413401說明了用于三臺計算機同步化的裝置,其中使用了延遲元件,它們顧及慢速計算機的處理時間。但在這種系統(tǒng)中不能識別一臺計算機出錯,因為程序繼續(xù)運行的決定下降為“三分之二”多數的決定。
在例如由DE-AS 2155159中說明的另一種已知系統(tǒng)中使用了一種特殊的邏輯元件,它們分析專用的脈沖并產生相應的信號用于進一步設計計算機功能流程。例如通過將一個同步信號輸送給一條所有計算機公用的線路并通過一邏輯元件保證在各計算機內部到達規(guī)定的計數位置,導致多臺計算器的計數器同步。在這里目標位置仍針對在系統(tǒng)內產生冗余,因為對于保持控制系統(tǒng)的功能流程而言,三臺計算機中有兩臺的對比結果就夠了。計算機出錯并非規(guī)格化的。在這里所提及的例子中,判定計算機同步借助于硬件的方案達到,這些方案的缺點是需要特殊結構類型的計算機,因此阻礙或難以使用能買到的CPU印刷電路板作為計算機和市場上常用的操作系統(tǒng)。
在軟件同步的方法中,計算機的松散耦合借助于計算機之間通過通信通道的程序控制數據交換達到。同步的任務一開始就制訂在程序內,不在外部亦即不是在程序之外處理。
這些方案原則上允許使用可買到的計算機部件和同樣允許使用可買到的市場上通用的操作系統(tǒng)。然而,由此構成的安全或容錯計算機的計算能力不能令人滿意,因為對于為同步所必要的結果對比必需消耗大部分可供利用的時間,因此減少了用于真正的控制任務的時間部分。
DE-OS 3431169介紹了這樣一種方案,其中由多臺計算機,尤其是具有內部時鐘的微型計算機逐段處理輸入信息并比較中間結果。對計算機同步性的比較通過程序生成的中斷信號觸發(fā)。最快速的計算機作為先行者將中斷信號發(fā)送給其他計算機并等待下一個程序步驟的進一步引導,直至其他計算機自身發(fā)送出中斷信號為止。計算機下一個程序步驟的起動要在最后一個中斷信號輸入和處理后才進行。
本發(fā)明的目的在于創(chuàng)造一種方法和一種裝置,借助于它們可以縮短多計算機系統(tǒng)運行時所必需的用于同步或數據交換的例行程序,并因而在改善安全性和可靠性的條件下提高容錯計算機的功效。
按本發(fā)明此目的通過權利要求1和7特征部分所述特征與有關前序部分所述特征配合作用達到。在從屬權利要求中含有本發(fā)明有利和合乎目的的設計。
容錯計算機系統(tǒng)內相連的各計算機在下面稱為計算機通道。本發(fā)明突出的優(yōu)點在于,通過按本發(fā)明的布局,尤其通過為各計算機通道直接提供可編址存儲單元的存儲區(qū),允許在采用標準工業(yè)計算機的情況下在規(guī)定的程序位置實施靈活及快速的用于同步對比和/或數據交換的方案,其中執(zhí)行下列方法步驟-為計算機通道(R1、…、Rn)分配至少一塊計算機外部耦合板K的存儲區(qū)(Z1、…、Zn),-在每個計算機通道(R1、…、Rn)的程序流程內識別至少一個同步和/或數據交換點并分配一個附屬的單元地址,-在到達一個同步和/或數據交換點時通過每個計算機通道(R1、…、Rn)輸出一個中斷信號,-在耦合板(K)的通過單元地址予以標示并分配給該計算機通道(R1、…、Rn)的存儲單元(Zp1、…、Zpn)內,寫入事件的順序編號和事件的數據內容,-檢驗計算機通道(R)相應的存儲單元(Zp)中是否有相一致的事件編號,-讀所有計算機通道(R1、…、Rn)的存儲單元(Zp)、互相對比并作出判斷,-根據判斷結果繼續(xù)計算機通道(R1、…、Rn)的程序流程和/或觸發(fā)報警。
本發(fā)明的裝置可毫無困難地組合在已有的標準計算機內,其中,計算機通道(R1、…、Rn)與至少一塊耦合板(K1、…、Kn)連接,耦合板(K1、…、Kn)分成n個存儲區(qū)(Z1、…、Zn),而每個存儲區(qū)(Z1、…、Zn)再分為至少n個可編址存儲單元(Zp1、…、Zpn),以及每個存儲區(qū)(Z1、…、Zn)分配給各一個計算機通道(R、…、Rn),而存儲區(qū)(Z1、…、Zn)為了事件對比可被所有的計算機通道(R1、…、Rn)讀,但只能被所配屬的那個計算機通道(R)寫。
下面借助于至少在圖中部分示出的實施例進一步說明本發(fā)明,附圖中
圖1是計算機通道、存儲區(qū)和存儲單元配合作用的概要圖;圖2示出具有一用于所有計算機通道的公共耦合板的布局;圖3示出每個計算機通道各有一耦合板的布局。
用于同步或用于數據交換的裝置將計算機通道R通過一根內部CPU總線或一根外部總線(PCI、ISA、VME等)與一耦合板K連接。
如圖1所示,在耦合板K上存在n個存儲區(qū)Z,它們分別分配給n個計算機通道R之一。這些存儲區(qū)Z例如通過一雙端口RAM實現,它們各由一定數量可編址存儲單元Zp組成,存儲單元則可寫入不同的信息并可從存儲單元中讀出信息。按照一種優(yōu)選的實施例,一種可能的配置是,將存儲區(qū)Z1分配給計算機通道R1,將存儲區(qū)Z2分配給計算機通道R2等,一直到將存儲區(qū)Zn分配給計算機通道Rn。
按本發(fā)明,每個計算機通道R可以在分配給自己的存儲區(qū)Z上讀和寫。其他一些計算機通道R的存儲區(qū)Z只能被“外來的”計算機通道R讀。由此可避免存儲區(qū)Z的內容由于不合法的計算機通道R被存取而被改變。存儲區(qū)內容的改變只能通過分屬于它的計算機通道R的過程變化才能實現。在一個完整的存儲單元Zp上的存取就計算機通道R的并行性而言是原生的。這意味著,當一個計算機通道R寫一個存儲單元Zp和另一個計算機通道R讀此同一個存儲單元Zp時,被讀出的數據要么是寫之前要么是寫之后的數據,但決非混合的數據。每個計算機通道R可例如通過一總線系統(tǒng)存在的數據傳輸線在其他的計算機通道R上觸發(fā)一次中斷,在這種情況下每個計算機通道R可以暫時或永久取消其本身被中斷的可能性。
每個存儲單元Zp識別一個與每個計算機通道R同時存在的同步和/或數據交換點。每個計算機通道R知道所使用的單元地址,為此所使用的單元地址要么被共同分配,要么借助恰當的軟件或硬件在計算機通道R之間議定。此存儲單元Zp由一個在此運行時間為單值的標識(例如存儲單元Zp1表示同步和/或數據交換點1等)以及有待交換的信息或有待同步化或有待判斷的信息的文件地址信息占據。
對于按本發(fā)明的方法,計算機通道R的程序包括一些程序段,借助于它們可進行功能測試,看計算機通道R是否同步或存在規(guī)定的數據。若在平行的計算機通道R中運行的過程到達一個同步和/或數據交換點(或在平行的計算機通道R中通過在那里所運行的過程產生了要同步化的信息)時,進行下列操作已首先到達其程序段內的同步和/或數據交換點的第一個計算機通道R1,根據程序設計調用功能序列,尤其是同步程序。在耦合板K所配予的存儲區(qū)內,在所約定的存儲單元Zp內寫入事件的順序編號和事件的數據內容或與此數據內容相對應的文件地址。
然后檢驗是否在其他計算機通道R的存儲區(qū)Z所屬的存儲單元Zp內寫入了相同編號的事件。若此信息是否定的,亦即其他一些計算機通道R尚未到達同步和/或數據交換點,則第一個計算機通道R1進入等待循環(huán)或緩沖此信息。
若其他計算機通道R存在此信息,即它們到達了在其程序段內的同步和/或數據交換點,則給其他計算機通道R發(fā)送一巡更中斷指令,在這之后所有的計算機通道讀分配給它自己的存儲器區(qū)Z的存儲單元Zp1至Zpn以及其他計算機通道R存儲器區(qū)Z的存儲單元Zp、與自己的結果對比并作出判斷。期待結果是完全一致或符合安全和容錯要求地基本一致。
視計算機通道R存儲單元Zp的對比結果,開始下一個程序段或轉發(fā)此信息或觸發(fā)安全報警信號。禁止計算機通道R中斷,直至在程序段中所設置的下一個同步和/或數據交換點的時刻為止。此外,可例如用這樣的信息來描述一個規(guī)定的存儲單元Zp的狀態(tài),即,下一個程序段有效,但尚未同步化。
除了所說明的方法外還可以進行信息交換,無需實現同步。此外可以在計算機通道R上平行地或在時間上分開地執(zhí)行存儲器檢測程序,在這種情況下計算機通道R借助于一符號交換并相互監(jiān)控檢測結果。
圖2用方塊圖表示一種布局,其中為所有的計算機通道R1至Rn設公共的耦合板K。為了在同步或數據交換的情況下傳輸數據,每個計算機通道Rl至Rn分別通過其總線系統(tǒng)和各自的總線銜接器BA1至BAn直接與一公共的耦合板K連接。在這種情況下,此耦合板K含有用于所有計算機通道R1至Rn的存儲區(qū)。借助于圖3中的方塊圖表示每一個計算機通道R與配屬于它的耦合板K的布局。在這種方案中,每個計算機通道R1至Rn連接一塊耦合板K1至Kn,它們分別含有用于所有計算機通道R的存儲區(qū)Z1至Zn。因此,存儲區(qū)Z存在冗余。耦合板K1至Kn互相連接,并借助適當的復制機理實現在耦合板K1至Kn內數據的相同性。
作為另一種實施例,復制機理可以在時間上延遲地進行,換句話說,首先將第一個計算機通道R1的數據寫在自己的耦合板K內,然后將這些數據傳輸給其他的n塊耦合板K。耦合板K1至Kn之間的連接用恰當的方式實現(例如一塊與一塊連接或按一根或多根通信總線的方式連接)。
本發(fā)明不限于在這里所表示的實施例。相反,可以通過組合和修改上述裝置和特征實現其他的實施方案,與此同時不背離本發(fā)明的范圍。
權利要求
1.一種用于多計算機系統(tǒng)內的安全容錯式計算機的同步和/或數據交換方法,該系統(tǒng)具有至少兩個平行工作的計算機通道,它們至少通過相互對比一致性檢驗其結果并在其程序流程內發(fā)出用于結果對比的中斷信號,其特征在于下列處理步驟-為計算機通道(R1、…、Rn)分配至少一塊計算機外部耦合板(K)的存儲區(qū)(Z1、…、Zn),-在每個計算機通道(R1、…、Rn)的程序流程內識別至少一個同步和/或數據交換點并分配一個附屬的單元地址,-在到達一個同步和/或數據交換點時通過每個計算機通道(R1、…、Rn)輸出一個中斷信號,-在耦合板(K)分配給該計算機通道(R1、…、Rn)通過單元地址表征的存儲單元(Zp1、…、Zpn)內,寫入事件的順序編號和事件的數據內容,-檢驗計算機通道(R)相應的存儲單元(Zp)中是否有相一致的事件編號,-讀所有計算機通道(R1、…、Rn)的存儲單元(Zp)、互相對比并作出判斷,-根據判斷結果繼續(xù)計算機通道(R1、…、Rn)的程序流程和/或觸發(fā)報警。
2.按照權利要求1所述的同步和/或數據交換方法,其特征在于在每個存儲單元(Zp)的存取初生地(atomar)進行,即讀出的數據或是寫之前的數據或是寫之后的數據,但決不是混合的數據。
3.按照權利要求1所述的同步和/或數據交換方法,其特征在于每個計算機通道(R)具有暫時或永久取消其本身被中斷的可能性。
4.按照權利要求1或2所述的同步和/或數據交換方法,其特征在于每個計算機通道(R)在分配給自己的存儲區(qū)(2)上讀和寫地存取,而在其他計算機通道(R)的存儲區(qū)(Z)上只讀。
5.按照權利要求1所述的同步和/或數據交換方法,其特征在于除用于同步的程序流程外,信息交換不同步地進行。
6.按照權利要求1或5所述的同步和/或數據交換方法,其特征在于存儲器校驗程序的流程在計算機通道(R)上與同步和/或數據交換程序流程平行地或在時間上分開地執(zhí)行,此時計算機通道(R)借助于一個標記交換和監(jiān)控校驗結果。
7.一種在有至少兩個平行工作的計算機通道的多計算機系統(tǒng)內用于同步和/或用于數據交換的裝置,計算機通道至少通過相互對比一致性檢驗其結果并在其程序流程內發(fā)出用于對比結果的中斷信號,其特征在于計算機通道(R1、…、Rn)與至少一塊耦合板(K1、…、Kn)連接,耦合板(K1、…、Kn)分成n個存儲區(qū)(Z1、…、Zn)且每個存儲區(qū)(Z1、…、Zn)再分為至少n個可編址存儲單元(Zp1、…、Zpn),以及每個存儲區(qū)(Z1、…、Zn)分配給各個計算機通道(R1、…、Rn),而存儲區(qū)(Z1、…、Zn)為了事件對比可被所有的計算機通道(R1、…、Rn)讀,但只能被所配屬的那個計算機通道(R)寫。
8.按照權利要求7所述的裝置,其特征在于所述耦合板(K1、…、Kn)是無源耦合板。
9.按照權利要求7所述的裝置,其特征在于計算機通道(R1、…、Rn)是具有標準CPU印刷電路板的標準工業(yè)計算機。
全文摘要
本發(fā)明涉及一種用于安全容錯式計算機的同步和/或數據交換方法,其中,在多個平行工作的各計算機之間的同步或數據交換可借助于中斷信號并在使用標準部件的條件下實現,本發(fā)明還涉及一種實施此方法的裝置。本發(fā)明實現下列方法步驟:-將存儲區(qū)(Z1、…、Zn)分配給計算機通道(R1、…、Rn)-在每個計算機通道內識別至少一個同步和/或數據交換點并分配一個附屬的單元地址,-在到達一個同步和/或數據交換點時通過至少一個計算機通道(R1、…、Rn)輸出一個中斷信號,-在分配給該計算機通道(R1、…、Rn)的存儲單元(Zp1、…、Zpn)內寫入事件的順序編號和事件的數據內容,-檢驗其他計算機通道(R)的存儲單元(Zp)中是否收到一致的事件編號,-讀所有計算機通道(R1、…、Rn)的存儲單元(Zp)、互相對比并作出判斷,-根據判斷結果繼續(xù)計算機通道(R1、…、Rn)的程序流程和/或觸發(fā)報警。存儲區(qū)(Z1、…、Zn)可被所有的計算機通道(R1、…、Rn)讀,但只能被所配屬的那個計算機通道(R)寫。
文檔編號G06F11/16GK1294708SQ99804296
公開日2001年5月9日 申請日期1999年2月17日 優(yōu)先權日1998年2月25日
發(fā)明者弗里德里克·施梅貝克 申請人:西門子公司