借助包括多个数据处理模块的数据处理网络处理数据的方法、数据处理模块和数据处理网络与流程
- 国知局
- 2024-08-05 11:52:10
背景技术:
1、用于驾驶员辅助或者自动化驾驶的系统由许多单个的软件单元组成,所述软件单元通常在数据流方面可以借助图(graphen)来描述。所述软件单元(通常也被称为可运行线程、节点或者数据处理组件)的特征在于,处理输入数据的集合并且由此产生输出数据的集合。
2、数据处理组件的系统的这种图将通过该系统的数据流的静态视图可视化。
3、不同的软件单元通常形成复杂的数据处理网络,借助该数据处理网络来处理传感器数据,以便基于所述传感器数据执行行动,其中,这样的行动可以是例如在车辆的自主行驶运行的框架中的控制任务。在数据处理网络中的数据处理通常包括多个基于彼此(aufeinander aufbauend)的数据处理步骤或者数据处理任务,所述数据处理步骤或者数据处理任务借助数据处理组件来实施。
4、在这样的数据处理网络中,数据处理任务的实施或者说激活通常取决于相应的条件,如时间步长、或者数据的到达等刺激(stimuli)可以进入到该条件中。确定数据处理组件的实施的控制流通常是从数据流中推导出的。
5、存在数据驱动的方案,在这些方案中,数据处理任务或者说数据处理组件的实施以数据流为导向。
6、除此之外,存在如下方案:所述方案应用数据处理任务或者说数据处理组件的时间驱动的实施。近年来,这些方案已借助最坏情况执行时间(worst-case-execution-time,最长可能的实施持续时间)的概念得到充实。
7、在严格数据驱动的方案中,数据处理任务或者说数据处理组件的实施通过数据分组的到达来触发。在数据处理组件的实施中数据分组的发送可以在相应的图中导致与此有关的数据处理组件的立即实施。如果新的数据分组在数据处理组件仍在实施期间到达,则甚至能够考虑数据处理组件的多次的并行的实施。这样的系统具有低时延,但具有高数量的可能状态。
技术实现思路
1、在此背景下,在此应描述一种用于数据处理的方法,该方法具有如下目标:在高性能能力的同时实现数据处理的可再现性。尤其是,应使得能够实现数据处理组件的多次的、并行的实施,并且同时保持可能状态的数量可管控或者说可监测。
2、在此,应描述一种用于借助数据处理网络处理数据、尤其是用于借助数据处理网络处理车辆中的传感器数据的方法,该数据处理网络包括多个数据处理模块,所述数据处理模块分别包括至少一个数据处理组件,其中,每个数据处理组件设置为用于限定的数据处理任务以处理数据,其中,每个数据处理模块获得来自至少一个数据源的数据和/或另外的数据处理模块的输出数据作为输入数据,并且产生输出数据,该输出数据又是该数据处理网络的网络输出数据和/或另外的数据处理模块的输入数据,其中,在该方法中,对于至少一个数据处理模块,执行下述步骤:
3、a)接收至少一个输入数据组,用于在对应的数据处理模块的至少一个数据处理组件中执行所述数据处理任务;
4、b)接收刺激,用于激活数据处理模块的至少一个数据处理组件,并且将流水线级配属给所述至少一个数据处理组件;
5、c)当在步骤a)中已接收到所述输入数据的组并且在步骤b)中已接收到所述刺激时:激活数据处理模块的至少一个数据处理组件的流水线级,并且以对应的输入数据执行数据处理任务以产生输出数据,所述数据处理组件设置为用于所述数据处理任务;
6、d)提供该输出数据用于进一步的数据处理和/或作为网络输出数据。
7、通过该方法,应尤其解决如下问题:可预测性和可再现性在经典方案的情况下非常难以实现。这使安全措施的实现变得困难,例如sw锁步,在sw锁步的情况下,在两个微处理器上同步地实施相同的软件。对所记录的行驶情况尽可能忠实地复算(英语:re-compute)也是困难的,因为要预期不同的运行时间行为并且因此可能要预期不同的结果。
8、在此描述的方法的基础是,将数据处理网络的多个数据处理组件分别合并成所谓的数据处理模块并且因此产生数据处理网络的附加的上级结构。在该结构的层面上,分别将模块内的各个数据处理组件的输入数据和输出数据合并,并且在该层面上通过数据处理网络控制或者说管控数据流。
9、在具有高份额的控制工程(regelungstechnik)的汽车行业中,迄今为止,以时间片段(in zeitscheiben)的实施始终是主流(例如10ms的、20ms的、100ms的任务)。然而尤其是当多核系统用作用于借助这种类型的数据处理网络实施数据处理的硬件时,出现附加的问题。尤其是在多核系统上,出现数据处理网络的数据处理组件的波动的运行时间。由于这样的波动的运行时间,使将一个数据处理组件的输出数据配属为另外的数据处理组件的输入数据变得困难,或者所述配属变得不再能够预测。必要时,该可预测性可以再次被改善——例如借助最大可能实施时间/处理时间的方案。但是,这样的方案使(多核系统的)硬件的可充分利用性(auslastbarkeit)变差。必须显著更大地确定硬件尺寸。
10、尤其通过应用高度复杂的驾驶员辅助或者说在应用自动化驾驶的情况下,急剧提高传感器的待处理的数据的量。但是,这样的系统的所要求的反应时间可比于在经典驾驶员辅助应用的情况下的或者甚至进一步更低。即,在可比的时间段中,必须在更长的处理链中执行更多的且计算成本更高的计算。这在现有的时间驱动的方案中导致不可接受的时延,因为由于在各个时间片段之间的过渡引起的附加的时延在整个链中进行累加。
11、所提出的方法使得能够实现:将来自数据驱动的实施的方案与数据处理组件的时间驱动的实施的成果组合。因此,可以如此运行数据处理网络,使得出现比在纯时间驱动的系统中更低的时延(更好的性能能力)和比在严格数据驱动的系统的情况下更好的可再现性。这使得能够满足在用于自动化驾驶的系统中的时延方面的高要求并且同时具有如下系统:该系统使得能够实现在sw锁步中的实施和在复算中的精确的可再现性。对于步骤b),可以确定适合的刺激,该刺激确定在步骤c)中数据处理的执行,其中,随后使用在步骤a)中接收的输入数据。然后,借助步骤d)提供输出数据用于随后的处理步骤。当对应的数据处理模块是数据处理网络中的最后的数据处理模块时,然后也可以将所述数据称为网络输出数据或者系统输出数据,所述网络输出数据或者系统输出数据则例如同时是控制装置的输入数据,该控制装置处理所述数据或考虑所述数据用于应用。
12、通过所描述的方法,可以实现数据处理任务的不仅时间驱动的而且数据驱动的实施。当在步骤b)中接收到刺激时,真正地开始数据处理。对于数据处理组件而言,随着刺激的到达,数据在一定程度上变得可见。即,在时间上相关联的数据结构共同地在数据处理模块之间被传输。根据在上级结构中提供的数据处理模块,为数据处理组件提供数据。上级数据处理模块的结构和事实“数据的提供在该层面上进行”,明显减小了总数据处理网络的系统状态的数量。
13、也可能的是,在如下时间点时处理组件还没有接收到输入数据或这还没有接收到新的输入数据(自从对应的数据处理任务的最后的处理以来存在):在该时间点时,在步骤b)中接收到用于激活数据处理组件的刺激。该方法因此则可以如此设置,使得不再重新执行数据处理任务,而是简单地、等待直至刺激的下一接收。在该方法的实施变型中,还可以进行故障输出,例如向中央部门。
14、在步骤b)中,在实施数据处理任务之前,将流水线级配属给对应的数据处理组件,然后在该流水线级中借助分别设置的输入数据实施数据处理任务。该流水线级如数据处理任务的一种类型的实例那样例如具有微处理器上的预留的存储器区域,并且必要时还具有微处理器上的预留的计算能力。优选的是,对于每个数据处理组件,存在特定数量的流水线级,在这些流水线级中,数据处理任务可以并行地(在时间上重叠地,然而必要时彼此错开地开始和终止地)被实施。流水线级的数量说明可能的并行性的程度。
15、优选的是,仅当在其中当下没有进行数据处理任务的空闲流水线级存在时,才进行流水线级的配属。如果如此快地重复相继接收刺激,使得没有空闲的(已经终止的)流水线级,则优选等待或将数据处理任务的开始推迟到更晚。
16、流水线级的使用尤其是有用的,以便在计算时间密集的数据处理任务的情况下尽可能早地获得当前的输出数据,因为当在另一流水线级中先前开始的数据处理任务执行还没结束时,在一个流水线级中已经可以开始重新的数据处理任务执行。
17、就此而言尤其还有利的是,如此多次重复地实施方法步骤a)至d),使得在多个流水线级中在方法步骤c)中彼此错开地并行地实施数据处理任务。
18、特别优选的是,在步骤d)之后还执行下述步骤:
19、e)提供由来自输入数据、刺激和/或输出数据的组组成的验证数据组,用于验证借助至少一个数据处理组件对至少一个数据处理任务的执行。
20、优选的是,验证数据组附加地包含至少一个时间信息,该时间信息使得能够实现刺激的时间点和/或关于对至少一个数据处理任务的处理的时间信息。
21、这样的时间信息可以例如通过记录数据处理任务的实施的开始和终止来进行。如此,可以在共同的逻辑时间轴上示出经处理的输入数据和所产生的输出数据,并且使得能够实现对所描述的方法的检查计算。
22、可能的是,当刺激作为激活出现时,将另外的数据处理模块的输出数据作为输入数据来处理的数据处理模块开始进行处理。因此,与时间驱动的方案相比,避免由于wcet引起的且直至进行接收的数据处理模块的时间片段的开始为止的附加时延。
23、通过在此描述的方法,实现各个数据处理任务的执行的可再现性,因为关于分别所处理的输入数据的信息是可再现的。
24、在所提出的方法中,在实施(执行步骤c)期间,数据处理模块总是具有对世界或者说对被处理的输入数据的冻结视图(eingefrorene sicht)。在该方法的实施期间,输入数据不发生变化。这通过下述方式来实现:收集步骤a)中的到达的输入数据,所述数据能够被管控并且在逻辑时间中原子式地被转发。为了对数据处理模块的输出数据以在其通过其他数据处理模块的实施方面一致地进行处理,优选同样收集所述输出数据。
25、优选的是,为了产生在步骤b)中所使用的刺激,使用至少一个计时器,该计时器预给定时间网格(zeitraster),用于规律性地重复借助数据处理组件对数据处理任务的执行。
26、该计时器可以是例如硬件上的相应的结构件(baustein),在该硬件上运行数据处理网络,并且该结构件以规律的间距为每个数据处理模块输出计时器信号,该计时器信号形成刺激并且触发该方法的执行。
27、此外优选的是,为了产生在步骤b)中所使用的刺激,使用至少一个可用性信号,所述至少一个可用性信号显示数据的可用性。该可用性信号可以例如是由所描述的方法在其他数据处理模块中的在先实施所引起的。
28、特别优选的是,刺激由计时器和可用性信号组成的组合形成。每当通过可用性信号显示新的数据时,数据处理模块就被置于对计时器做出反应的准备就绪状态中。仅当不仅计时器而且(至少一个)可用性信号显示应开始数据处理时,才在对应的数据处理模块的数据处理组件中进行数据处理(步骤c))。
29、特别优选的是,借助数据处理模块的输入数据接收模块执行步骤a),该输入数据接收模块具有用于缓存尚不完整的输入数据的输入存储器,并且该输入数据接收模块执行对输入数据组的完整性检查。
30、就此而言特别优选的是,输入数据接收模块的输入存储器具有用于保存输入数据的多个输入级,其中,在不同的输入数据的接收之间进行输入级的变换,使得在输入数据接收模块中提供最后接收的输入数据的序列,其中,通过访问保存在输入存储器中的输入数据确定至少一个输入数据组作为在步骤b)中对刺激的接收的结果。
31、如果在步骤b)中接收到刺激,则可以进行访问。借助刺激的到达形成对输入数据的视图。确定在对应的流水线级中被处理的输入数据组。该输入数据组也可以被并行地保存,使得借助数据处理组件的数据处理任务实施可被追溯。
32、借助输入存储器的输入级可以实现不同的工作方式。可以实现,在刺激到达时,总是仅处理最后接收的输入数据的序列中的还没有被馈送给输入数据处理任务的最新的输入数据。也可以实现,对输入数据的序列中的(各个)输入数据多次进行处理,使得数据处理任务总是针对输入数据的滑动窗口实施(例如,回顾n个输入数据组)。
33、还优选的是,至少一个数据处理组件设置为用于,将最后接收的输入数据的序列作为输入数据组共同进行处理,以便产生输出数据。
34、优选的是,输入级可通过输入级索引进行响应(ansprechbar),通过在步骤b)中对刺激的接收触发修改输入级索引。
35、例如当接收到刺激时、每次地使输入级索引增加。
36、此外优选的是,借助输出数据提供模块执行步骤d),该输出数据提供模块具有输出存储器,在该输出存储器中缓存尚不完整的输出数据。
37、就此而言特别有利的是,输出数据提供模块的输出存储器具有用于保存输出数据组的多个输出级。
38、即,优选的是,数据处理模块具有特殊的门(输入数据接收模块=输入门,并且输出数据提供模块=输出门),以便执行数据处理任务。
39、通过所述门,进行控制的单元可以管控数据处理模块之间的数据流。如果进行控制的单元通过这些门现在将数据处理模块的实施的开始和终止与数据的传递同步,则可以控制:何时以哪些数据实施数据处理模块。为了关于数据处理模块的开始进行决策,分析处理先前提到的刺激。
40、在实施变型中,将在步骤d)中提供的输出数据至少部分地用作用于借助相同的数据处理模块重新执行方法步骤a)至d)的输入数据。
41、由此描述一种类型的反馈(rückkopplung),该反馈使得数据处理模块能够实现处理来自数据处理模块的先前实施的历史数据。这样的反馈使得能够实现数据处理网络中的一定类型的记忆能力。
42、如果在数据处理模块的计算步骤内应有反馈,则如此构型该数据路径,使得该数据路径通过数据处理模块的对应的输入数据接收模块和对应的输出数据接收模块来实现。
43、优选的是,在步骤d)中提供的输出数据包括部分数据集,所述部分数据集由数据处理模块的不同的数据处理组件在数据处理任务的执行中产生,其中,当形成输出数据的所有部分数据集可用时,才进行步骤d)中的、输出数据的提供。
44、部分数据集例如由于下述原因产生:数据处理模块内的不同数据处理组件的数据处理任务具有不同长度的处理时间。通过收集部分数据集,直到输出数据完整地可用,并且通过共同地提供所有部分数据集,显著地简化在如下方面的追溯:在借助数据处理网络的数据处理期间哪些数据在何时可用。
45、还优选的是,在步骤d)中附加地产生可用性信号,根据该可用性信号可识别出:已提供输出数据用于进一步的处理。
46、如在上文中进一步已描述的那样,这样的可用性信号可以用作用于所描述的方法的进一步的实施的刺激。
47、特别优选的是,在步骤c)期间可选地执行以下步骤:
48、如果已接收到中断信号,则中断实例中的数据处理任务执行并且以其他输入数据重新开始步骤c)。
49、这种方法尤其是适合于:可用的流水线级的数量被充分利用,或者说所有流水线级以数据处理任务的实施被占用,然而新的输入数据已到达,并且这些新输入数据的处理被分配给了与完成这些流水线级中当前的数据处理任务实施相比更高的意义。
50、此外优选的是,在执行所述方法期间,对下述信息中的至少一个信息进行永久记录,用于更晚的进一步处理:
51、-在步骤a)中接收的输入数据组;
52、-在步骤b)中接收的刺激;
53、-在步骤d)中提供的输出数据;和
54、-在步骤d)中提供的可用性信号。
55、特别优选的是,在所述记录中,附加地进行时间信息的保存,所述时间信息使得能够实现方法执行与时间轴的在时间上的配属。
56、这样的记录可以例如在附加的调试数据存储器中进行,以便后续执行调试任务,在所述调试任务中,必要时可以研究各个数据处理组件中的故障。这样的记录也可以在完成的、处于使用中的系统中被利用,以便通过后续的检验来识别在数据处理任务的实施中的尤其由于硬件导致的故障,并且进而实施校正任务。
57、在此还应描述一种用于数据处理网络的数据处理模块,其用于执行所描述的方法,该数据处理模块具有输入数据接收模块和输出数据提供模块以及进一步具有至少一个数据处理组件,该输入数据接收模块配属有输入存储器,该输出数据提供模块配属有输出存储器,所述至少一个数据处理组件用于基于在输入存储器中的输入数据执行数据处理任务并且用于产生输出数据以保存在输出存储器中。
58、特别有利的是,至少输入存储器或者输出存储器具有用于保存输入数据的或者输出数据的组的多个级。
59、除此之外,应描述一种数据处理网络,该数据处理网络包括多个这种类型的数据处理模块。
60、上文提供的关于该方法的阐述可转移并且可应用到数据处理模块和数据处理网络上。
本文地址:https://www.jishuxx.com/zhuanli/20240802/259812.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。