用于生成输出数据流的方法和设备与流程

文档序号:11519457阅读:345来源:国知局
用于生成输出数据流的方法和设备与流程

本发明涉及一种用于从输入数据流生成输出数据流的方法以及一种用于执行该方法的系统、计算机程序和机器可读的存储介质。



背景技术:

de10332700a1公开了一种用于在具有至少两个实施单元的处理器单元的至少两个运行模式之间转换的方法,其特征在于,从第一运行模式向第二运行模式的变换通过如下方式来触发:由所述处理器单元访问预先给定的存储地址。



技术实现要素:

越来越多的数目的例如在高度自动化的驾驶领域中的应用需要执行如下计算,所述计算必须不仅满足在安全完整性(英文“safetyintegrity”)方面的高要求而且满足对性能要求的高要求。

在嵌入式安全性概念的领域中可能的措施是借助于基于硬件或者软件的自测试来保证对计算的正确实施。然而对必要的计算单元本身的保护在此是复杂的。

尽管如此仍保障了安全的错误的高比例的另一可能性在于在多个具有连接在下游的用于保证计算完整性、即识别偏差的比较器的计算单元上多次实施计算。这里,用“安全的错误”来指或者是本身安全的(也就是说所述错误的出现没有危险的后果)或者是被探测到的错误。

为了确保计算单元的被提高的独立性,所述计算单元可以在空间上被分开。接着,困难在于保证所述计算单元处理相同的数据,因为否则所述比较器诊断出错误。

此外,对传输错误、即对在所述计算单元之一上有错误地或不完整地被传输的或者缺失的数据包进行处理也是必要的,因为这种错误可导致各个比较器错误,或者如果所述各个计算单元根据输入数据改变所述计算单元的状态(所谓的“持久性(persistenz)”),则可导致持续的错误并且借此导致总失灵(即导致强制转变到安全状态)。根据传输错误的频繁性,这可导致对可用性的强烈的限制。

本发明涉及一种具有独立权利要求1所述的特征的方法和一种被构造来实施该方法的系统。有利的扩展方案是从属权利要求的主题。

在第一方面,规定了一种用于从输入数据流生成输出数据流的方法,其中计算单元接收包括第一数据组的第一输入数据流。此外还规定:所述计算单元从另一计算单元处接收第二元数据,所述第二元数据描述了所述另一计算单元的第二输入数据流的第二数据组,其中所述计算单元根据第二元数据来输出或者不输出所述输出数据流的从所述第一数据组生成的输出数据组。

第二元数据可以是关于是否存在第二数据组的信息,该词“数据组”尤其是也可以以宽泛地理解的方式被理解为使得附带包括空的数据组,使得例如在记录(protokoll)中所述记录的输入数据流被布置在固定的光栅(raster)中,由于存在空的数据组,所述计算单元可以识别出数据组不存在。

接着,尤其是可以规定:尤其是当且仅当第二元数据说明第二数据组存在时,所述计算单元才输出所述输出数据流的从所述第一数据组生成的输出数据组。

该方法有如下优点:计算单元可以以少的花费来确定所述计算单元的输入数据流与另一计算单元的输入数据流是否一致。该方法尤其是只导致了非常小的附加的等待时间(latenz)。

在该方面的一特别灵活的扩展方案中,可以规定一种用于从输入数据流生成输出数据流的方法。在这种情况下规定,计算单元有第一元数据,所述第一元数据描述了该单元的第一输入数据流的尤其是当前随附的、优选地针对安全性经检查的第一数据组,并且其中所述计算单元从系统的另一计算单元接收第二元数据,所述第二元数据描述了所述另一计算单元的第二输入数据流的尤其是当前随附的、优选地针对安全性经检查的第二数据组。

在这种情况下规定:所述计算单元根据第一数据与第二数据的比较的结果来输出或者不输出所述输出数据流的从第一数据组生成的输出数据组。

尤其是,所述第一或第二元数据可以是所述数据组的标识码或者所述数据组的内容的散列(hash),或者也可以是关于是否存在所述数据组的信息。该词“数据组”尤其是也可以以宽泛地理解的方式被理解为使得附带包括空的数据组,使得例如在记录中所述记录的输入数据流被布置在固定的光栅中,由于存在空的数据组,所述计算单元可以识别出数据组不存在。

基于此,可以特别简单地实现:如果,尤其是当且仅当描述了所述第一数据组的第一元数据等于描述了所述第二数据组的第二元数据时,所述计算单元才输出所述输出数据组,那么由所述计算单元输出一致的数据流。

在具有特别好的最坏情况等待时间(worst-case-latenzzeit)的一特别有效的扩展方案中可以规定:所述计算单元根据比较的结果从第一数据组产生输出数据组,而且尤其是只有当已经决定也输出所述输出数据组时,才产生所述输出数据组。

在一可替换的扩展方案中可以规定,所述计算单元与比较的结果无关地从第一数据组产生第一输出数据组。尤其是当所述计算单元和所述另一计算单元时间上不同步地工作时,才可以在此实现:所述第一计算单元还可以在执行所述比较之前产生输出数据组。但是,为了防止不一致的输出数据流被输出,应该会制止(zurueckhalten)输出数据组的输出,直到接收到所述比较的结果。

通过该方法改善了最好情况等待时间(best-case-latenz),而使最坏情况等待时间恶化(verschleichtern)。其原因在于:该方法可能意味着,当基于比较的结果决定不输出该输出数据组时,计算单元重新回到该计算单元曾在开始产生第一数据组之前的状态。尤其是当存在开头所提及的持久性时,这才重要。

在另一方面,可以规定:计算单元将由所述计算单元产生的输出数据流输送给比较单元。经此,尤其是当也从另一计算单元给比较单元输送由所述另一计算单元产生的输出数据流时,可以特别简单地执行对冗余地被执行的计算的检验。

在本发明的另一方面,可以规定:计算单元将第一元数据传输给另一计算单元。因此,该方法变得特别可靠,因为因此所述另一计算单元也被置于检验其输入数据流的状态中。

在另一方面可以规定:所述计算单元和所述另一计算单元从相同的来源接收第一数据流和第二数据流。尤其是可以规定:所述来源的第一数据流和第二数据流作为相同的数据流被传送到所述计算单元并且被传送到所述另一计算单元。

在另一方面,本发明涉及一种具有至少两个计算单元的系统,其中所述计算单元中的至少一个被构造来执行按照本发明所述的方法的所有步骤。

该系统尤其是可以被构造为使得所有计算单元、即尤其是被输送以输入数据流、从所述输入数据流生成输出数据流并且将输出数据流输送给比较器的所有计算单元,被构造来执行按照本发明所述的方法的所有步骤。

因此,在输出数据流中缺少:因为比较的结果表明了在第一元数据与第二元数据之间的区别所以未被输出的输出数据组。然而,在所有计算单元的输出数据流中都缺少该输出数据组。因此,比较器没有断定所述计算单元之一中有错误。

在本发明的另一方面可以规定一种系统,所述系统被设立来执行该方法,其中计算单元将由所述计算单元产生的输出数据流输送给比较单元。在这种情况下,该系统可包括比较单元。该比较单元被设立为:当由计算单元传输给该比较单元的输出数据流不一致时才输出错误报告(fehlermeldung)。接着,作为对该错误报告的响应,该系统例如可以被转换到被保护的模式下,所述被保护的模式例如包括对输出数据流的切断。这种系统是特别安全的。

在本发明的另一方面,该系统可包括一种网络,通过所述网络来交换元数据。该网络尤其是可以被编制成环形架构或者以中央节点来编制。这种网络限制了在计算单元之间必要的连接的数目。这尤其是在所述计算单元的数目大时是有利的。

可替换地,该网络可以被设立为使得通过广播消息或组播消息来交换元数据。接着,该网络尤其是可以是以太网。这减小了必要的点对点带宽。

在另一方面,本发明涉及一种用于执行该方法的计算机程序和一种机器可读的在其上存储有该计算机程序的存储介质。该方法例如可以在机动车中投入应用。

附图说明

附图示例性地示出了本发明的特别有利的实施方式。

图1示出了具有多个计算单元的系统的结构;

图2示出了数据流的不同的实施方式;

图3示出了按照一实施方式的按照本发明的系统的结构;

图4示出了按照本发明的一实施方式的方法的流程;

图5示出了按照本发明的另一实施方式的方法的流程。

具体实施方式

图1示例性地示出了具有多个计算单元101、102、103的系统。来源100将包括数据组d1,d2,…,dn的输入数据流传送给所述计算单元101、102、103中的每个。计算单元101、102、103并行地处理所述数据组d1,d2,…,dn并且分别生成包括输出数据组e1,e2,…,en的输出数据流。不必限制到三个计算单元101、102、103。任意多个计算单元都可以相对应地并联地被采用。

在这种情况下,尤其是可以规定:分别从输入数据流的数据组(例如d2)产生输出数据流的输出数据组(例如e1)。在这种情况下,在输入数据流的数据组与输出数据流的输出数据组之间存在1:1对应。计算单元101、102、103根据相同的计算规则并行地处理数据组d1,d2,…,dn。也就是说在没有错误的情况下,所述计算单元101、102、103中的每个都被传输以相同的输入数据流。在没有错误的情况下,所生成的输出数据流又是相同的,也就是说所述输出数据流的各个输出数据组分别是相同的。

例如通过计算单元101、102、103的附加的任务可能的是:所述计算单元101、102、103时间上不同步地工作。然而,保持在输入数据流的数据组与输出数据流的输出数据组之间的1:1对应。在没有错误的情况下,在输出数据流的输出数据组之间存在1:1对应。因而,相对应地即使在时间上不同步时也在输入数据流的数据组之间存在1:1对应。

相应的计算单元101、102、103将所述输出数据流传送给比较器104。比较器104检验:该比较器104从计算单元101、102、103接收的分别对应的输出数据组e1,e2,…,en是否相同。如果这是这种情况,则输出相对应的输出数据组e1,e2,…,en。在没有错误的情况下,以这种方式从由来源100所接收到的输入数据流d1,d2,…,dn来确定输出数据流e1,e2,…,en。通过由所述计算单元101、102、103进行的冗余的计来保护计算结果、即所述输出数据流e1,e2,…,en。

如果比较器104确定:在输出数据流的位置上,该比较器104从计算单元101、102、103接收的对应的数据组不相同,则推断出:在所述计算单元101、102、103之一中存在错误,而且所述系统被转换到被保护的模式下。如果该方法在机动车中被采用,则例如可以促使减小机动车的行驶速度或者停用使用了输出数据组e1,e2,…,en的确定的危及安全的功能。

然而,也可能的是:所述计算单元101、102、103没有错误地工作,并且在从来源100到所述计算单元101、102、103之一的传输线路中仅(例如暂时地)存在一个错误。如果不是数据组d2、而是由于在数据流的该位置上的数据损耗而没有数据组或者一个有错误的数据组例如被传送给计算单元102,则对应的输出数据组e2同样是有错误的。接着,比较器会通过比较由计算单元101、102、103所接收的输出数据组e2来确定所述输出数据组e2不全是相同的,而且断定在所述计算单元101、102、103之一中存在错误。

如果计算单元101、102、103根据所接收到的数据组、尤其是根据所述数据组d2而被转换到确定的内部状态,则在所描述的情况下,对数据组d2的错误的传送会导致所述计算单元102被转换到不同于计算单元101和103的内部状态。这可能导致:不仅由计算单元102生成的输出数据组e2与由其它的计算单元101、103生成的输出数据组有区别,而且随后的输出数据组与由其它的计算单元101、103生成的输出数据组有区别。即使所有计算单元101、102、103都没有错误地工作,由于所述所谓的持久性也会持续地断定在所述计算单元101、102、103之一有错误。

图2示出了如这里可作为输入数据流或输出数据流出现的数据流的可能的结构。以输入数据流为例,用d1,d2,d3,...,dn来图解说明所述数据流,然而该结构对于输出数据流可以是相对应的。

图2a示出了可能的第一结构。该数据流包括具有可固定地预先给定的宽度(例如64位)的窗口。在每个所述窗口中,所述数据组d1,d2,d3,...,dn之一被传送。通过放置在确定的窗口中,每个数据组都隐含地得到作为在该数据流中的第一、第二、第三……数据组的标识。

图2b图解说明了在所述数据流的这样的结构的情况下的错误情况。在图解说明的错误情况下,例如由于传送错误而缺少第二数据组d2。但是,所有其余的数据组d1,d3,...,dn依然被布置在它们在数据流中的正确的位置上。

图2c图解说明了数据流的可能的第二结构。该数据流包括(例如作为链接的列表来实施的)连续的数据组d1,d2,d3,...,dn。给每个数据组都分配有一个标识符l1,l2,l3,...,ln。该标识符例如可以表示在生成数据流时数据组在该数据流中存在的位置。接着,在该例子中会是l1=1,l2=2等等。

图2d图解说明了在所述数据流的这样的结构的情况下的错误情况。在图解说明的错误情况下,例如由于传送错误而缺少第二数据组d2。但是,所有其余的数据组依然被布置在它们在数据流中的正确的位置上。如果这些标识符在本例中被选作无空隙地连续的整数,则在接收到所述数据流时通过紧接着标识符l1=1的是标识符l3=3(而不是标识符l2=2)可以推断出在该数据流中缺少第二数据组d2。

图3图解说明了本发明的实施例。该系统的结构可以与图1中图解说明的系统相同。在来源100中可以规定,所述输入数据流的数据组d1,d2,...,dn经受安全检查。

计算单元101、102、103通过通信网络n(例如以太网)来彼此相连。每个计算单元101、102、103都确定了位掩码b1、b2、b3。位掩码是位的序列。每个位(例如通过该位在位掩码中的位置)都明确地被分配给所述输入数据流的数据组d1,d2,...,dn。所述位说明:由所述计算单元101、102、103接收的输入数据流的所分配的数据组是否已经被接收到。例如,值“1”可意味着相对应的数据组已经被接收到,而值“0”可意味着相对应的数据组不曾被接收到。所述计算单元101、102、103可以通过所述网络n来彼此交换这些位掩码。也可能的是:只有一个所述计算单元101从其它的计算单元102、103接收位掩码。接着,可能的是:所述计算单元102、103通过可替换的机制保证了所述计算单元102、103接收的输入数据流是正确的。

所述位掩码b1、b2、b3的位是关于相应的被分配的数据组d1,d2,...,dn的元信息。也可能是其它的元信息、例如数据组d1,d2,...,dn的散列值(hashwert)来代替位。

在图解说明的例子中,在计算单元102的输入数据流中缺少数据组d2。这通过附图标记d2n来表示。相对应地,在第二计算单元102中,位掩码b2在第二位置上具有值“0”。第一计算单元101确定:该位掩码b2在第二位置上具有值“0”,并且因而没有将输出数据组e2传送给比较器104,如果所述位掩码在第二位置上会具有值“1”,则会从数据组d2来确定所述输出数据组e2。否则,所述输出数据流相对于在图1中图解说明的例子不变。

因而,比较器104从计算单元101、102和103接收到空的数据组而不是所述输出数据组e2。比较器104确定所述输出数据组e2彼此是相同的,并且因而不是断定错误,而是代替所述输出数据组e2而输出空的数据组。

也就是说,所述计算单元101、102、103首先交换元数据、即关于供所述计算单元101、102、103支配的数据组d1,d2,...,dn的信息。没有或者不正确地供计算单元102支配的数据组d2n不被其它的计算单元101、103使用、也就是说在产生被传送的输出数据流时不予考虑。经此,可以防止所述输出数据流因为它们从不同的输入数据流生成而不一致。也可以避免由如下情况引起的不一致:计算单元由于被传输给该计算单元的输入数据流的传输错误而被转换到与所述另一计算单元的内部状态不同的内部状态。

图4示出了按照本发明的第一方面的流程图。该方法可以在所述计算单元101、102、103的一个或多个中、例如在计算单元101中投入使用。

在步骤1000中,该方法开始。计算单元101从来源100接收当前随附的数据组、例如d2。

在接下来的可选的步骤1010中,计算单元101生成用于数据组d2的元数据。例如,该计算单元101如在图2c和2d中图解说明的那样生成了说明是否存在数据组d2的位。

在接下来的可选的步骤1020中,计算单元101将所述元数据发送给其它的计算单元102、103。

在接下来的步骤1030中,计算单元101从其它的计算单元102、103接收如下元数据,所述元数据描述了所述其它的计算单元102、103的当前随附的数据组。

如果所述元数据是说明了是否存在所述信息的位,则计算单元101可以在接下来的步骤1040中根据该位的值来决定紧接着是步骤1050还是步骤1060。如果所述计算单元102、103中的至少一个的位的值为“0”,则紧接着是步骤1050,否则紧接着是步骤1060。

如果所述元数据例如是对数据组d2中的信息进行编码的散列值,则计算单元101可以在步骤1040中将由该计算单元101本身生成的用于所述数据组d2的元数据与从计算单元102、103接收到的元数据相比较。如果自己的元数据与从另一所述计算单元102、103接收到的元数据的比较得出这些元数据是不同的,则紧接着是步骤1050,否则紧接着是步骤1060。

在步骤1050中,计算单元101不向比较器104输出数据组或向比较器104输出空的数据组,并且该方法结束。

在步骤1060中,计算单元101从数据组d2来确定输出数据组e2。如果缺少数据组d2或数据组d2是空的,则该计算单元101确定没有输出数据组或者确定空的输出数据组。

在步骤1070中,该计算单元101将输出数据组e2传送给比较器104。如果已经确定没有输出数据组或者空的输出数据组,则该计算单元101不向比较器104传送输出数据组或向比较器104传送空的输出数据组。借此,该方法结束。

图5示出了图解说明按照本发明的另一方面的方法的流程的流程图。该方法可以在所述计算单元101、102、103的一个或多个中、例如在计算单元101中投入使用。

在步骤2000中,该方法开始。计算单元101从来源100接收当前随附的数据组、例如d2。

在步骤2005中,计算单元101从数据组d2确定输出数据组e2。如果缺少数据组d2或数据组d2是空的,则该计算单元101确定没有输出数据组或者确定空的输出数据组。

在接下来的可选的步骤2010中,计算单元101生成用于数据组d2的元数据。例如,计算单元101如在图2c和2d中图解说明的那样生成了说明是否存在数据组d2的位。

在接下来的可选的步骤2020中,计算单元101将所述元数据发送给其它的计算单元102、103。

在接下来的步骤2030中,计算单元101从其它的计算单元102、103接收如下元数据,所述元数据描述了所述其它的计算单元102、103的当前随附的数据组。

如果所述元数据是说明了是否存在所述信息的位,则计算单元101可以在接下来的步骤2040中根据该位的值来决定紧接着是步骤2050还是步骤2060。如果所述计算单元102、103中的至少一个的位的值为“0”,则紧接着是步骤2050,否则紧接着是步骤2060。

如果所述元数据例如是对数据组d2中的信息进行编码的散列值,则计算单元101可以在步骤2040中将由该计算单元101本身生成的用于所述数据组d2的元数据与从计算单元102、103接收到的元数据相比较。如果自己的元数据与从另一所述计算单元102、103接收到的元数据的比较得出这些元数据是不同的,则紧接着是步骤2050,否则紧接着是步骤2060。

在步骤2050中,计算单元101的内部状态重新回到在步骤2005中在计算输出数据组e2之前已存在的状态。紧接着,计算单元101不向比较器104输出数据组或向比较器104输出空的数据组,并且该方法结束。

在步骤2060中,该计算单元101将输出数据组e2传送给比较器104。如果已经确定没有输出数据组或者空的输出数据组,则该计算单元101不向比较器104传送输出数据组或向比较器104传送空的输出数据组。借此,该方法结束。

对于本领域技术人员易于理解的是,可以以软件、或者以硬件、或者以由软件和硬件构成的混合形式来实施该方法。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1