用于安全容错计算机的同步和/或数据交换方法及适用于此的装置的利记博彩app

文档序号:6418876阅读:197来源:国知局
专利名称:用于安全容错计算机的同步和/或数据交换方法及适用于此的装置的利记博彩app
技术领域
本发明涉及一种在有至少两个平行工作的计算机通道的多计算机系统中的安全容错计算机的同步和/或数据交换方法,这些计算机通道至少通过相互对比一致性检验其结果并在其程序流程内发出用于结果对比的中断信号,以及本发明还涉及一种实施此方法的装置。
在完成控制或调整任务时,为保证安全性和提高容错能力采用多计算机系统。在系统的各计算机中运行在其执行时同步化的程序,在这种情况下在同步点对比或用其他适用的方式检验程序的结果或中间结果。为此原则上有两种已知的方案,即硬件同步和软件同步。
在硬件同步的方法中,通过计算机上的附加逻辑实现计算机紧密耦合,这种耦合使时钟脉冲或指令同步或路径相同。
DE-AS 2413401说明了用于三台计算机同步化的装置,其中使用了延迟元件,它们顾及慢速计算机的处理时间。但在这种系统中不能识别一台计算机出错,因为程序继续运行的决定下降为“三分之二”多数的决定。
在例如由DE-AS 2155159中说明的另一种已知系统中使用了一种特殊的逻辑元件,它们分析专用的脉冲并产生相应的信号用于进一步设计计算机功能流程。例如通过将一个同步信号输送给一条所有计算机公用的线路并通过一逻辑元件保证在各计算机内部到达规定的计数位置,导致多台计算器的计数器同步。在这里目标位置仍针对在系统内产生冗余,因为对于保持控制系统的功能流程而言,三台计算机中有两台的对比结果就够了。计算机出错并非规格化的。在这里所提及的例子中,判定计算机同步借助于硬件的方案达到,这些方案的缺点是需要特殊结构类型的计算机,因此阻碍或难以使用能买到的CPU印刷电路板作为计算机和市场上常用的操作系统。
在软件同步的方法中,计算机的松散耦合借助于计算机之间通过通信通道的程序控制数据交换达到。同步的任务一开始就制订在程序内,不在外部亦即不是在程序之外处理。
这些方案原则上允许使用可买到的计算机部件和同样允许使用可买到的市场上通用的操作系统。然而,由此构成的安全或容错计算机的计算能力不能令人满意,因为对于为同步所必要的结果对比必需消耗大部分可供利用的时间,因此减少了用于真正的控制任务的时间部分。
DE-OS 3431169介绍了这样一种方案,其中由多台计算机,尤其是具有内部时钟的微型计算机逐段处理输入信息并比较中间结果。对计算机同步性的比较通过程序生成的中断信号触发。最快速的计算机作为先行者将中断信号发送给其他计算机并等待下一个程序步骤的进一步引导,直至其他计算机自身发送出中断信号为止。计算机下一个程序步骤的起动要在最后一个中断信号输入和处理后才进行。
本发明的目的在于创造一种方法和一种装置,借助于它们可以缩短多计算机系统运行时所必需的用于同步或数据交换的例行程序,并因而在改善安全性和可靠性的条件下提高容错计算机的功效。
按本发明此目的通过权利要求1和7特征部分所述特征与有关前序部分所述特征配合作用达到。在从属权利要求中含有本发明有利和合乎目的的设计。
容错计算机系统内相连的各计算机在下面称为计算机通道。本发明突出的优点在于,通过按本发明的布局,尤其通过为各计算机通道直接提供可编址存储单元的存储区,允许在采用标准工业计算机的情况下在规定的程序位置实施灵活及快速的用于同步对比和/或数据交换的方案,其中执行下列方法步骤-为计算机通道(R1、…、Rn)分配至少一块计算机外部耦合板K的存储区(Z1、…、Zn),-在每个计算机通道(R1、…、Rn)的程序流程内识别至少一个同步和/或数据交换点并分配一个附属的单元地址,-在到达一个同步和/或数据交换点时通过每个计算机通道(R1、…、Rn)输出一个中断信号,-在耦合板(K)的通过单元地址予以标示并分配给该计算机通道(R1、…、Rn)的存储单元(Zp1、…、Zpn)内,写入事件的顺序编号和事件的数据内容,-检验计算机通道(R)相应的存储单元(Zp)中是否有相一致的事件编号,-读所有计算机通道(R1、…、Rn)的存储单元(Zp)、互相对比并作出判断,-根据判断结果继续计算机通道(R1、…、Rn)的程序流程和/或触发报警。
本发明的装置可毫无困难地组合在已有的标准计算机内,其中,计算机通道(R1、…、Rn)与至少一块耦合板(K1、…、Kn)连接,耦合板(K1、…、Kn)分成n个存储区(Z1、…、Zn),而每个存储区(Z1、…、Zn)再分为至少n个可编址存储单元(Zp1、…、Zpn),以及每个存储区(Z1、…、Zn)分配给各一个计算机通道(R、…、Rn),而存储区(Z1、…、Zn)为了事件对比可被所有的计算机通道(R1、…、Rn)读,但只能被所配属的那个计算机通道(R)写。
下面借助于至少在图中部分示出的实施例进一步说明本发明,附图中

图1是计算机通道、存储区和存储单元配合作用的概要图;图2示出具有一用于所有计算机通道的公共耦合板的布局;图3示出每个计算机通道各有一耦合板的布局。
用于同步或用于数据交换的装置将计算机通道R通过一根内部CPU总线或一根外部总线(PCI、ISA、VME等)与一耦合板K连接。
如图1所示,在耦合板K上存在n个存储区Z,它们分别分配给n个计算机通道R之一。这些存储区Z例如通过一双端口RAM实现,它们各由一定数量可编址存储单元Zp组成,存储单元则可写入不同的信息并可从存储单元中读出信息。按照一种优选的实施例,一种可能的配置是,将存储区Z1分配给计算机通道R1,将存储区Z2分配给计算机通道R2等,一直到将存储区Zn分配给计算机通道Rn。
按本发明,每个计算机通道R可以在分配给自己的存储区Z上读和写。其他一些计算机通道R的存储区Z只能被“外来的”计算机通道R读。由此可避免存储区Z的内容由于不合法的计算机通道R被存取而被改变。存储区内容的改变只能通过分属于它的计算机通道R的过程变化才能实现。在一个完整的存储单元Zp上的存取就计算机通道R的并行性而言是原生的。这意味着,当一个计算机通道R写一个存储单元Zp和另一个计算机通道R读此同一个存储单元Zp时,被读出的数据要么是写之前要么是写之后的数据,但决非混合的数据。每个计算机通道R可例如通过一总线系统存在的数据传输线在其他的计算机通道R上触发一次中断,在这种情况下每个计算机通道R可以暂时或永久取消其本身被中断的可能性。
每个存储单元Zp识别一个与每个计算机通道R同时存在的同步和/或数据交换点。每个计算机通道R知道所使用的单元地址,为此所使用的单元地址要么被共同分配,要么借助恰当的软件或硬件在计算机通道R之间议定。此存储单元Zp由一个在此运行时间为单值的标识(例如存储单元Zp1表示同步和/或数据交换点1等)以及有待交换的信息或有待同步化或有待判断的信息的文件地址信息占据。
对于按本发明的方法,计算机通道R的程序包括一些程序段,借助于它们可进行功能测试,看计算机通道R是否同步或存在规定的数据。若在平行的计算机通道R中运行的过程到达一个同步和/或数据交换点(或在平行的计算机通道R中通过在那里所运行的过程产生了要同步化的信息)时,进行下列操作已首先到达其程序段内的同步和/或数据交换点的第一个计算机通道R1,根据程序设计调用功能序列,尤其是同步程序。在耦合板K所配予的存储区内,在所约定的存储单元Zp内写入事件的顺序编号和事件的数据内容或与此数据内容相对应的文件地址。
然后检验是否在其他计算机通道R的存储区Z所属的存储单元Zp内写入了相同编号的事件。若此信息是否定的,亦即其他一些计算机通道R尚未到达同步和/或数据交换点,则第一个计算机通道R1进入等待循环或缓冲此信息。
若其他计算机通道R存在此信息,即它们到达了在其程序段内的同步和/或数据交换点,则给其他计算机通道R发送一巡更中断指令,在这之后所有的计算机通道读分配给它自己的存储器区Z的存储单元Zp1至Zpn以及其他计算机通道R存储器区Z的存储单元Zp、与自己的结果对比并作出判断。期待结果是完全一致或符合安全和容错要求地基本一致。
视计算机通道R存储单元Zp的对比结果,开始下一个程序段或转发此信息或触发安全报警信号。禁止计算机通道R中断,直至在程序段中所设置的下一个同步和/或数据交换点的时刻为止。此外,可例如用这样的信息来描述一个规定的存储单元Zp的状态,即,下一个程序段有效,但尚未同步化。
除了所说明的方法外还可以进行信息交换,无需实现同步。此外可以在计算机通道R上平行地或在时间上分开地执行存储器检测程序,在这种情况下计算机通道R借助于一符号交换并相互监控检测结果。
图2用方块图表示一种布局,其中为所有的计算机通道R1至Rn设公共的耦合板K。为了在同步或数据交换的情况下传输数据,每个计算机通道Rl至Rn分别通过其总线系统和各自的总线衔接器BA1至BAn直接与一公共的耦合板K连接。在这种情况下,此耦合板K含有用于所有计算机通道R1至Rn的存储区。借助于图3中的方块图表示每一个计算机通道R与配属于它的耦合板K的布局。在这种方案中,每个计算机通道R1至Rn连接一块耦合板K1至Kn,它们分别含有用于所有计算机通道R的存储区Z1至Zn。因此,存储区Z存在冗余。耦合板K1至Kn互相连接,并借助适当的复制机理实现在耦合板K1至Kn内数据的相同性。
作为另一种实施例,复制机理可以在时间上延迟地进行,换句话说,首先将第一个计算机通道R1的数据写在自己的耦合板K内,然后将这些数据传输给其他的n块耦合板K。耦合板K1至Kn之间的连接用恰当的方式实现(例如一块与一块连接或按一根或多根通信总线的方式连接)。
本发明不限于在这里所表示的实施例。相反,可以通过组合和修改上述装置和特征实现其他的实施方案,与此同时不背离本发明的范围。
权利要求
1.一种用于多计算机系统内的安全容错式计算机的同步和/或数据交换方法,该系统具有至少两个平行工作的计算机通道,它们至少通过相互对比一致性检验其结果并在其程序流程内发出用于结果对比的中断信号,其特征在于下列处理步骤-为计算机通道(R1、…、Rn)分配至少一块计算机外部耦合板(K)的存储区(Z1、…、Zn),-在每个计算机通道(R1、…、Rn)的程序流程内识别至少一个同步和/或数据交换点并分配一个附属的单元地址,-在到达一个同步和/或数据交换点时通过每个计算机通道(R1、…、Rn)输出一个中断信号,-在耦合板(K)分配给该计算机通道(R1、…、Rn)通过单元地址表征的存储单元(Zp1、…、Zpn)内,写入事件的顺序编号和事件的数据内容,-检验计算机通道(R)相应的存储单元(Zp)中是否有相一致的事件编号,-读所有计算机通道(R1、…、Rn)的存储单元(Zp)、互相对比并作出判断,-根据判断结果继续计算机通道(R1、…、Rn)的程序流程和/或触发报警。
2.按照权利要求1所述的同步和/或数据交换方法,其特征在于在每个存储单元(Zp)的存取初生地(atomar)进行,即读出的数据或是写之前的数据或是写之后的数据,但决不是混合的数据。
3.按照权利要求1所述的同步和/或数据交换方法,其特征在于每个计算机通道(R)具有暂时或永久取消其本身被中断的可能性。
4.按照权利要求1或2所述的同步和/或数据交换方法,其特征在于每个计算机通道(R)在分配给自己的存储区(2)上读和写地存取,而在其他计算机通道(R)的存储区(Z)上只读。
5.按照权利要求1所述的同步和/或数据交换方法,其特征在于除用于同步的程序流程外,信息交换不同步地进行。
6.按照权利要求1或5所述的同步和/或数据交换方法,其特征在于存储器校验程序的流程在计算机通道(R)上与同步和/或数据交换程序流程平行地或在时间上分开地执行,此时计算机通道(R)借助于一个标记交换和监控校验结果。
7.一种在有至少两个平行工作的计算机通道的多计算机系统内用于同步和/或用于数据交换的装置,计算机通道至少通过相互对比一致性检验其结果并在其程序流程内发出用于对比结果的中断信号,其特征在于计算机通道(R1、…、Rn)与至少一块耦合板(K1、…、Kn)连接,耦合板(K1、…、Kn)分成n个存储区(Z1、…、Zn)且每个存储区(Z1、…、Zn)再分为至少n个可编址存储单元(Zp1、…、Zpn),以及每个存储区(Z1、…、Zn)分配给各个计算机通道(R1、…、Rn),而存储区(Z1、…、Zn)为了事件对比可被所有的计算机通道(R1、…、Rn)读,但只能被所配属的那个计算机通道(R)写。
8.按照权利要求7所述的装置,其特征在于所述耦合板(K1、…、Kn)是无源耦合板。
9.按照权利要求7所述的装置,其特征在于计算机通道(R1、…、Rn)是具有标准CPU印刷电路板的标准工业计算机。
全文摘要
本发明涉及一种用于安全容错式计算机的同步和/或数据交换方法,其中,在多个平行工作的各计算机之间的同步或数据交换可借助于中断信号并在使用标准部件的条件下实现,本发明还涉及一种实施此方法的装置。本发明实现下列方法步骤:-将存储区(Z1、…、Zn)分配给计算机通道(R1、…、Rn)-在每个计算机通道内识别至少一个同步和/或数据交换点并分配一个附属的单元地址,-在到达一个同步和/或数据交换点时通过至少一个计算机通道(R1、…、Rn)输出一个中断信号,-在分配给该计算机通道(R1、…、Rn)的存储单元(Zp1、…、Zpn)内写入事件的顺序编号和事件的数据内容,-检验其他计算机通道(R)的存储单元(Zp)中是否收到一致的事件编号,-读所有计算机通道(R1、…、Rn)的存储单元(Zp)、互相对比并作出判断,-根据判断结果继续计算机通道(R1、…、Rn)的程序流程和/或触发报警。存储区(Z1、…、Zn)可被所有的计算机通道(R1、…、Rn)读,但只能被所配属的那个计算机通道(R)写。
文档编号G06F11/16GK1294708SQ99804296
公开日2001年5月9日 申请日期1999年2月17日 优先权日1998年2月25日
发明者弗里德里克·施梅贝克 申请人:西门子公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1