用于冗余地处理数据的方法与流程

文档序号:11582454阅读:808来源:国知局
用于冗余地处理数据的方法与流程

本发明涉及一种用于冗余地处理数据的方法、一种执行所述方法的计算机程序、一种电子存储介质以及一种计算单元。



背景技术:

在其中例如采用标准以太网部件、计算单元(多核(multi-core)、众核(many-core)、μc、μp)和标准操作系统(例如qnx或者linux)的安全攸关的(sicherheitsrelevant)系统中,常常不可能通过自行测试保护完整的系统。在许多安全攸关的应用中,例如在用于高度自动化驾驶的功能中,冗余地执行计算,例如以所谓的锁步(lockstep)方法执行计算。这种锁步计算例如可以被实现为没有硬件支持的纯软件锁步(software-lockstep)。在对系统的安全性、可用性和性能的要求特别高的系统中,可以分布式地计算安全攸关的功能,即在不同的、分离的硬件单元上计算安全攸关的功能。

de10332700a1公开了一种处理器单元,所述处理器单元具有:两个实施单元,所述实施单元运行(abarbeiten)相同的程序;和比较装置,该比较装置对所述实施单元的在运行相同程序时形成的状态就一致性进行比较。



技术实现要素:

本发明涉及一种用于冗余地处理数据的方法以及一种被设立来执行所述方法之一的计算单元。此外,本发明涉及一种计算机程序,该计算机程序被设立来执行所述方法之一。

建议了:在具有多个计算单元的系统中,所述计算单元中的一个计算单元在所进行的重新起动之后或在复位之后从其余的冗余工作的计算单元中的一个或者多个计算单元接收到数据的部分用以进行处理,其中所述多个计算单元接收到相同的输入数据并且同样地处理这些输入数据,即所述多个计算单元执行数据的冗余处理。这种系统因此能够独立地复制由于(例如由错误触发的)重新起动而丢失的或者错失的数据,但也许需要这些数据用于进行处理。由此,在包括多个计算单元的这种分布式系统中,在一个或者多个计算单元停止运转时尽可能大大地维持该系统的可用性,避免由于整个系统的重新起动造成的完整的系统停止运转并且将受限的功能状态保持得尽可能短。这尤其是在时间关键的和安全关键的应用(譬如高度自动化驾驶)中是重要的,因为这种系统在有错误的情况下出于安全原因不能简单地转变到不可操作的(nicht-operable)状态中,在高度自动化驾驶的实例中例如在有错误的情况下不能突然地将控制移交给驾驶员。

要特别简单地实施和反应快速的是如下实施方案:在该实施方案中,被重新起动的或被复位的计算单元独立地请求其他计算单元中的一个或多个计算单元提供所需的数据。

在一种优选的构建方案中,由于去掉了进行冗余计算的计算单元,所以该系统进入受保护的状态中。在该状态中,系统的功能性优选地是受限的。当为计算给出完全冗余时,或者在还更安全的变型方案中,当恢复计算的完全冗余并且由其他计算单元复制的数据不再被考虑用于处理时,该系统可以又转变到具有完全功能性的正常状态中。由此实现了特别安全的总系统,该总系统也能对付暂时取消一个计算部件。

数据复制可以特别地以受保护的方式被设计,其方式是:被重新起动的或者被复位的计算单元不仅从一个其余的计算单元而且从多个其余的计算单元得到所需的数据。这样接收到的数据可以就一致性进行检查,并且对数据的进一步处理可以与一致性有关地进行。由此,避免在所述计算单元之间的计算的互相关性。例如由此似乎排除对单个数据错误的传播。即,如果在其余的计算单元中的一个计算单元中在所请求的数据中存在数据错误,则该数据错误将会在与一个或者多个其他的计算单元的所接收到的数据进行比较时确定被重新起动的或者被复位的计算单元。

在一种可替换的构建方案中,其余的计算单元也可以分别将必需的数据的仅部分发送给被复位的或者被重新起动的计算单元。这导致数据传送出现(aufkommen)较低并且也许也可以至少减小在各个计算单元之间的相关性。

为了防护总系统的安全性和避免在数据传输时的错误,数据传输优选地要会通过校验和、计数器信息(livecounter(在使用中的计数器))或者以另外的方式来得到保护。

在优选的构建方案中,冗余计算的结果由计算单元输送给比较器单元,该比较器单元对该结果就一致性进行检验并且在不一致时可以开始对错误的反应(fehlerreaktion)。

附图说明

在下文中参照所附的附图并且依据实施例更详细地描述了本发明。在此:

-图1示意性地示出了示例性的具有计算单元和比较单元的系统,以及

-图2示意性地示出了示例性的用于冗余地计算数据的方法。

具体实施方式

在图1中示出了示例性的用于冗余地计算数据的系统。该系统包括第一计算单元120、第二计算单元130和第三计算单元140。计算单元120、130和140在此优选是分离的硬件单元,即尤其并不是处理器的不同的计算核。计算单元120、130和140具有计算装置121、131和141以及存储器122、132和142。在此,数据可以被存放在存储器122、132或142中,所述数据在所述计算装置121、131或141中被处理。在此,计算单元120、130和140的数据处理优选地有利于该系统的安全攸关的功能。计算单元120、130或140例如经由通信连接126、136或146获得要处理的数据。在优选的实施例中,计算单元120、130或140例如经由通信连接126、136或146获得相同的数据,并且分别执行对相同数据的相互冗余的(即同样的)处理。

此外,该系统包括比较器单元110。该比较器单元110经由通信连接1004、1005或1006从计算单元120、130或140接收到对数据的冗余处理的结果。在优选的构建方案中,计算单元120、130和140被构建为微处理器,并且比较单元110被构建为微控制器。

此外,计算单元120具有存储器123、124和125,计算单元130具有存储器133、134、135和计算单元140具有存储器143、144、145,在这些存储器中可以存放服务数据(servicedaten)、如尤其是关于其他的处于该系统中的单元的信息。在比较器单元110的存储器113、114、115中同样可以存放关于其他的处于该系统中的单元(尤其是计算单元120、130、140)的服务数据。

此外,计算单元120、130和140经由通信连接1001、1002和1003分别彼此连接。

图1中的通信连接的图示在此要全都被理解为示意性的。通信可以例如通过点对点连接进行,但是也可通过一个或者多个共同的总线进行。例如,在该系统中可以采用标准以太网通信连接。

在所示出的系统的系统起动时,例如在接通电压供给时,计算单元起动并且经多播通信发送优选地经由消息id可识别的用于锁步计算的业务供应(dienstangebot)。计算单元的服务数据由其余的计算单元保存,例如对于计算单元130和140的服务数据,通过计算单元120保存在其存储器123和124中。计算单元120、130和140现在针对所设置的锁步功能性还需要比较器业务并且发送相对应的询问消息。比较器单元110通过可以提供比较器功能性的供应来对此进行应答。该信息同样被存储在计算单元120、130、140中,例如被存储在计算单元120的存储器125中。可替选地,所有单元(即计算单元120、130、140和比较器单元110)也可以在系统起动之后直接将其业务通知给所有其他单元。

计算单元120、130、140现在形成网络,用于接收经过同步的数据帧作为冗余的数据处理的基础。计算单元120、130、140与比较器单元110共同形成用于平衡冗余的锁步计算或冗余的数据处理的网络。

比较器单元110在此一方面基于由计算单元120、130、140获得的处理结果的比较可以判断:例如当所有进行冗余计算的计算单元提供相同的结果时或者当可替选地n个进行冗余计算的计算单元中的所要求的最小数目为m的计算单元提供了相同的结果时,数据处理的结果是否可靠。另一方面,比较器单元110但是也可以拥有其他功能性,并且例如在处理结果被验证为可靠的情况下实施(安全关键的)功能或者在比较的一致性不充分的情况下开始对错误的反应。

在图2中示出了用于冗余地处理数据的方法。在此,比较器单元110在第一步骤21中获得计算单元120、130和140的冗余数据处理的结果。如所描述的那样,所述数据处理优选地以相同的、经过同步的数据为基础,所述计算单元120、130和140分别接收到所述相同的、经过同步的数据。

在步骤22中,在计算单元120中现在发生有错误的情况。在此,例如可以涉及计算错误、程序错误或处理错误,所述计算错误、程序错误或处理错误通过对计算单元120的内部监控或者通过对计算单元120的外部监控(例如通过比较器单元110)来确定。于是,计算单元120自己重新起动或者从外部(例如通过看门狗(watchdog)断路或者通过由比较器单元110断路)来重新起动。在重新起动期间,计算单元120对于冗余工作的系统不可使用。

在锁步网络中的冗余数据处理因此在步骤23被减小到剩下的计算单元130和140,而计算单元120重新起动(图2中的框2311)。比较器单元110相对应地比较计算单元130和140的冗余处理结果。在其中一开始就仅仅设置两个计算单元用于冗余数据处理的可替选的实施例中,比较器单元110在所述计算单元中的一个有错误的情况下甚至仅还提供一个处理结果,可以把该处理结果作为所期望的功能的基础,因此可不再进行比较。

由于一个计算单元(在此为计算单元120)停止运转,因此减小了进行冗余计算的网络的安全性。因而,针对该情况优选地设置,该系统进入受保护的状态(故障操作状态(fail-operational-state))。例如,该情况可以通过缩减的功能性来表征。在多个计算单元停止运转时,或者如果要计算的功能例如通过仅仅一个计算单元并且因此在没有比较的情况下不接受数据处理,则该系统(优选地通过比较器单元110)也可被带入安全状态中,在该安全状态中向外的通信是不可能(故障沉默状态(fail-silent-state))。

此外,一个计算单元的这种复位(reset)通常与数据损失联系。这样,计算单元120可以例如在重新起动时一方面丢失来自存储器122的数据,所述数据作为数据处理的基础,以及丢失来自存储器123、124、125的关于其他单元的服务数据。在重新起动期间,也可以错失通过计算单元120到达的数据。

为了在没有完整的系统重新起动的情况下又将该系统带入其完全的功能范围中,计算单元120的重新起动现在优选地触发计算单元120的重新的服务询问,如针对系统起动在上文中所描述的那样。计算单元120于是又获得关于其他单元的信息并且将这些信息存储在存储器123、124、125中。

如所描述的那样,在此期间由于计算单元120的重新起动可丢失来自存储器122的对于处理所需的数据,或者计算单元120在重新起动期间错失了对于处理所需的数据。当对于通过计算单元120、130、140进行的当前数据处理不仅必需分别当前所接收到的数据而且也必须考虑之前所接收到的数据时,这是特别关键的。

为了能够实现尽可能快速的系统恢复,计算单元120因而现在向其余的计算单元130和140中的一个或者如在图2中在步骤24中所示出的那样向其余的计算单元130和140中的两个提出数据复制的询问。该询问可以集中于确定的数据。在此,考虑所有之前由计算单元120、130、140接收到的数据,尤其是也可以询问在计算单元120重新起动期间错失的数据。计算单元120于是从其余的计算单元130和140接收到所期望的数据。

在一种可替选的构建方案中,被重新起动的计算单元120也在没有特别的询问的情况下从其余的计算单元接收到必需的数据,例如因为其余的计算单元130、140或者比较器单元110识别出:存在着故障操作状态或者这些数据被计算单元120需要。

在数据复制之后,该系统在步骤25中又(很大程度上)具有最初的安全性。受保护的具有缩减的功能性的系统状态因此可以结束。可替选地,只要由停止运转的计算单元120进行的数据处理还依赖所复制的数据,受保护的系统状态就还可以被保持,因为通过该数据处理也还可减小系统的安全性。当所请求的数据只来从(其他计算单元的)一个来源被复制时,这尤其是这种情况。

对于数据复制,不同的替选方案可能是有意义的。在简单的第一构建方案中,被重新起动的计算单元可以接收和保存其他计算单元中的一个的所请求的数据。在第二优选的构建方案中,被重新起动的计算单元询问多个其他计算单元,从这些计算单元分别获得相同的所请求的数据并且将这些数据相互比较。在数据相同时(或在多于两个的其他计算单元中在有确定数目的相一致的数据时),所述数据由被重新起动的计算单元接受并且是其进一步的数据处理的基础。在第三实施形式中,被重新起动的计算单元从多个其他计算单元分别获得所请求的数据的仅部分并且将这些数据组合在一起。哪个计算单元寄数据的哪个部分的协调要么可以被预先配置,要么由计算单元或者比较器单元之一承担。

优选地,要复制的数据由该计算单元或者其他计算单元以受保护的方式被发送,例如经由如crc或者哈希值之类的校验和或者经由计数器(livecounter)被发送。

所描述的用于冗余处理数据的方法的优选应用可以在环境识别的领域中、例如在高度自动化驾驶的范围中实现。在此,被处理的数据例如可以追溯到传感器测量,例如追溯到以雷达(radar)、激光雷达(lidar)、超声测量或者视频拍摄为形式的传感器测量。为了计算车辆的环境,在通过计算单元处理这种传感器数据时,不仅必须考虑当前所测量的或所接收到的传感器数据,而且考虑之前所接收到的传感器数据,因为这些传感器数据通常彼此重叠地构造。在优选的实施例中,进行冗余计算的计算单元从每个传感器源得到完全相同的数据并且对这些数据进行处理,例如用于计算环境数据。如果对于这些计算单元中的一个执行重新起动,例如由于识别出错误而执行重新起动,则该计算单元可以从其余的计算单元接收所需的(但由于重新起动而不存在的)数据。但是在中间时间内,对于高度自动化驾驶进一步需要环境信息。未涉及的计算单元因而继续处理传感器数据。然而,通过缩减的冗余性和因而缩减的系统安全性,该系统被转移到受保护的状态中,例如其方式是减小行驶速度,其方式是输出报警消息或者其方式是安全地停放车辆。在成功的数据复制之后或者可替选地,一旦不再需要所复制的数据,该系统就又可以转变到全功能状态中。

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