用于分布式软件组件之间的通信中错误处理的方法和设备技术

技术编号:22363824 阅读:15 留言:0更新日期:2019-10-23 04:36
通信中错误处理的方法和设备,通过从用于临时数据存储的第一数据区读取和将所读取数据存储在用于临时数据存储的第二数据区将待传达数据在数据传输间隔在第一任务和第二任务间传达,预给定用于执行第一任务的时间间隔和用于执行第二任务的通信间隔,a)若在时间上直接在通信间隔前第一任务在直接在通信间隔前的通信间隔的时间间隔其中最后时间间隔已开始,超过最后时间间隔终止时间点继续进行,且通信间隔的第二任务执行已开始,在通信间隔省略执行数据传输间隔;或b)若第二任务在时间上直接在通信间隔前的通信间隔已开始,超过之前通信间隔终止时间点继续进行,且在第一通信间隔已开始执行第一任务,在第一通信间隔省略执行数据传输间隔。

Methods and devices for error handling in communication between distributed software components

【技术实现步骤摘要】
用于分布式软件组件之间的通信中错误处理的方法和设备
本专利技术涉及一种用于在软件组件之间的通信中的错误处理(Fehlerbehandlung)的方法和设备,其中所述软件组件分布在两个或更多个任务上,其中所述任务尤其是在具有不同的预给定的周期时间的时间间隔中被执行。
技术介绍
以由错误引起的方式,周期时间、也即时间间隔的终止可以在如下任务终止之前被实现,其中所述任务的结果在所述时间间隔的终止时应该被转交给其他任务。对于这样的错误,确定性的(deterministisch)错误处理是值得期望的。
技术实现思路
其通过根据独立权利要求的方法和设备被实现。同样地设置计算机程序和计算机程序产品。关于用于在通信中的错误处理的方法而言,预给定用于第一任务的执行的时间间隔,并且预给定用于第二任务的执行的通信间隔,其中在所述方法情况下,通过从用于临时的数据存储的第一数据区中读取并且通过将所读取的数据存储在用于临时的数据存储的第二数据区中来将待传达的(zukommunizierend)数据在数据传输间隔中在第一任务和第二任务之间传达,其中:a)如果在时间上直接在第一通信间隔之前的第一任务在直接在所述通信间隔之前的通信间隔的最后的时间间隔中已开始,超过所述最后的时间间隔的终止时间点(Endzeitpunkt)地被继续进行,并且所述第一通信间隔的第二任务的执行已经开始,则在所述第一通信间隔中省略(auslassen)所述数据传输间隔的执行;或者b)如果第二任务在时间上直接在所述第一通信间隔之前的第二通信间隔中已经开始,超过所述之前的第二通信间隔的终止时间点地被继续进行,并且所述第一任务的执行在所述第一通信间隔中已经开始,则在所述第一通信间隔中省略所述数据传输间隔的执行。所述时间间隔和所述通信间隔是调度器(Scheduler)的逻辑间隔,所述逻辑间隔能够基于固定的时间片(Zeitscheibe)并且不能够被推移(verschieben)。然而,调度器的所说明的实施(Implementierung)并不强制遵守所述逻辑间隔,而是在调度器在实际间隔之后紧接着的新的间隔中也实际地实施(durchführen)任务执行的情况下,才将所述实际间隔视为结束的。由此,确定性的通信在负载峰值(Lastspitzen)的情况下也是可能的,其中所述负载峰值如此影响计算系统,使得任务不能够遵守为了执行所述任务而分配给所述任务的逻辑间隔的终止(Ende)。这以不同的特定细节、根据具有不同的、预给定的、统计学上的任务分布和任务调度的类别来实现有效的错误处理。这是用于任务执行的偶发失效(sporadischerAusfall)的有效的错误处理方案。优选地,如果第一任务的执行比第二任务的执行更晚地终止,则数据传输间隔的开始通过第一任务的执行的终止来被触发;或者如果第二任务的执行比第一任务的执行更晚地终止,则所述数据传输间隔的开始通过第二任务的执行的终止来被触发。优选地,如果第一任务的执行持续(andauern)超出如下通信间隔的终止:在所述通信间隔中所述第一任务的执行已开始,并且如果数据传输间隔的开始通过第一任务的执行的终止来被触发,则在所述第一任务的执行之后紧接着的所述第二任务的执行被延迟(verzögern)至所述数据传输间隔的终止。因此并不出现不一致的(inkonsistent)数据。优选地,如果第二任务的执行持续超出如下通信间隔的终止:在所述通信间隔中所述第二任务的执行已开始,并且如果所述数据传输间隔的开始通过所述第一任务的执行的终止来被触发,则在所述通信间隔中不发生(unterbleiben)所述数据传输间隔的触发。因此并不出现不一致的数据。优选地,在数据传输间隔中待传达的数据通过在用于执行第一任务和第二任务的硬件之外的一个或多个实体(Instanz)来被传达。通过将通信任务转移到(Auslagern)一个或多个实体,确定性的处理(Abarbeitung)例如通过直接存储器存取(DirectMemoryAccess)、即DMA或者中断服务例程(InterruptServiceRoutine)、即ISR来被保证。所提到的错误处理方案确保:随时保证数据一致性。只有在数据一致性在其他方面不再能够被保证的情况下,才取消用于通信的事务(Transaktion)或任务的执行。错误处理方案实现:通过各个任务执行的失效和通过用于提高总的系统的鲁棒性的各个事务的失效来减小系统负载。错误处理方案可以访问调度信息,以便识别运行时间错误,例如多次的进程激活(Prozessaktivierung)。优选地,通信间隔的持续时间是用于时间间隔的持续时间的整数倍,其中通信间隔包括多个时间间隔,其中多个时间间隔其中的最早的时间间隔与通信间隔同时地开始。因此,逻辑间隔是同步的。优选地,在通信间隔期间,至少一个时间间隔开始,其中时间间隔在时间上并不重叠,其中所述数据传输间隔要么在第一任务的第一次执行之前在所述多个时间间隔其中的最早的时间间隔中终止,要么在第一任务的最后一次执行的终止之后在所述多个时间间隔其中的最晚的时间间隔中开始。通过合作的调度(kooperativesScheduling)来保证:所述通信在第一任务执行在新的间隔中发生之前完全地结束。在抢先调度(präemptiveScheduling)中,通过调度器保证:并不通过所参与的进程而发生中断并且必要时排挤(verdrängen)具有更低优先级的进程。优选地,根据第一进程的执行的第一状态并且根据第二进程的执行的第二状态来确定状态变量,其中数据传输间隔根据状态变量的值来被开始。状态变量例如借助用于第一状态的第一状态计数器的第一计数器读数来确定并且借助用于第二状态的第二状态计数器的第二计数器读数来确定。有利地,如果因为应该在通信间隔期间运行(ablaufen)的第一进程之一在除了应该在所述通信间隔期间运行的第一进程其中的最后的进程例外的情况下并不在被分配给所述进程的第一时间间隔终止时被终止,使得第一进程之一在所述通信间隔中失效,并且使得第一任务的执行因此失效,则第一状态计数器被校正(korrigieren),其中第一状态计数器被校正为所述第一状态计数器在执行已经失效的第一任务的情况下可能具有的状态。有利地,状态变量根据如下优先级来被确定,其中所述优先级被分配给第一任务和第二任务,其中如果最低的优先级被分配给的任务作为最后的任务在通信间隔之一中被执行,则如下数据传输间隔的开始被推移到紧接着接下来的通信间隔,其中所述数据传输间隔紧接在具有最低的优先级的任务的终止之后。具有最高优先级的任务在所述时间间隔中最先地或者与其他任务同时地被激活。如果所述通信间隔已经结束(vorübersein),则具有最低优先级的任务也被继续进行。所述通信接下来在所述数据传输间隔中进行。关于用于在通信中的错误处理的设备而言,设置处理器和至少一个临时的数据存储器,其被构造用于,通过从至少一个临时的数据存储器的第一数据区读取并且通过将所读取的数据存储在至少一个临时的数据存储器的第二数据区中来在第一任务和第二任务之间根据所述方法之一在数据传输间隔中将待传达的数据传达。有利地,所述设备包括用于借助直接存储器存取、即DMA或者借助中断服务例程来传达待传达的数据本文档来自技高网...

【技术保护点】
1.一种用于在通信中的错误处理的方法,其中在所述方法情况下,通过从用于临时的数据存储的第一数据区中读取并且通过将所读取的数据存储在用于临时的数据存储的第二数据区中来将待传达的数据在数据传输间隔(K)中在第一任务(T1)和第二任务(T2)之间传达,其特征在于,预给定用于所述第一任务(T1)的执行的时间间隔(I1),并且预给定用于所述第二任务(T2)的执行的通信间隔(I2),其中:a) 如果在时间上直接在所述通信间隔(I2)之前的第一任务(T1)在直接在所述通信间隔(I2)之前的通信间隔(I2)的所述时间间隔(I1)其中最后的时间间隔中已开始,超过所述最后的时间间隔(I2)的终止时间点(t6)地被继续进行,并且所述通信间隔(I2)的第二任务(T2)的执行已经开始,则在所述通信间隔(I2)中省略所述数据传输间隔(K)的执行;或者b) 如果第二任务(T2)在时间上直接在所述通信间隔(I2)之前的通信间隔(I2)中已开始,超过所述之前的通信间隔(I2)的终止时间点(t6)地被继续进行,并且所述第一任务(T1)的执行在所述第一通信间隔(I2)中已经开始,则在所述第一通信间隔(I2)中省略所述数据传输间隔(K)的执行。...

【技术特征摘要】
2018.04.10 DE 102018205392.81.一种用于在通信中的错误处理的方法,其中在所述方法情况下,通过从用于临时的数据存储的第一数据区中读取并且通过将所读取的数据存储在用于临时的数据存储的第二数据区中来将待传达的数据在数据传输间隔(K)中在第一任务(T1)和第二任务(T2)之间传达,其特征在于,预给定用于所述第一任务(T1)的执行的时间间隔(I1),并且预给定用于所述第二任务(T2)的执行的通信间隔(I2),其中:a)如果在时间上直接在所述通信间隔(I2)之前的第一任务(T1)在直接在所述通信间隔(I2)之前的通信间隔(I2)的所述时间间隔(I1)其中最后的时间间隔中已开始,超过所述最后的时间间隔(I2)的终止时间点(t6)地被继续进行,并且所述通信间隔(I2)的第二任务(T2)的执行已经开始,则在所述通信间隔(I2)中省略所述数据传输间隔(K)的执行;或者b)如果第二任务(T2)在时间上直接在所述通信间隔(I2)之前的通信间隔(I2)中已开始,超过所述之前的通信间隔(I2)的终止时间点(t6)地被继续进行,并且所述第一任务(T1)的执行在所述第一通信间隔(I2)中已经开始,则在所述第一通信间隔(I2)中省略所述数据传输间隔(K)的执行。2.根据权利要求1所述的方法,其特征在于,如果所述第一任务(T1)的执行比所述第二任务(T2)的执行更晚地终止,则所述数据传输间隔(K)的开始通过所述第一任务(T1)的执行的终止来被触发(301、501);或者如果所述第二任务(T2)的执行比所述第一任务(T1)的执行更晚地终止,则所述数据传输间隔(K)的开始通过所述第二任务(T2)的执行的终止来被触发(302,601)。3.根据权利要求2所述的方法,其特征在于,如果所述第一任务(T1)的执行持续超出如下通信间隔(I2)的终止:在所述通信间隔(I2)中所述第一任务(T1)的执行已开始,并且如果所述数据传输间隔(K)的开始通过所述第一任务(T1)的执行的终止来被触发(501),则在所述第一任务(T1)的执行之后紧接着的所述第二任务(T2)的执行被延迟至所述数据传输间隔(K)的终止。4.根据权利要求2所述的方法,其特征在于,如果所述第二任务(T2)的执行持续超出如下通信间隔(I2)的终止:在所述通信间隔(I2)中所述第二任务(T2)的执行已开始,并且如果所述数据传输间隔(K)的开始通过所述第一任务(T1)的执行的终止来被触发(601),则在所述通信间隔中不发生所述数据传输间隔(K)的触发。5.根据权利要求2至4中任意一项所述的方法,其特征在于,在所述数据传输间隔(K)中待传达的数据通过在用于执行所述第一任务(T1)和所述第二任务(T2)的硬件之外的一个或多个...

【专利技术属性】
技术研发人员:L吉约P赫费勒S克拉默U哈特曼VR库马尔
申请(专利权)人:罗伯特·博世有限公司
类型:发明
国别省市:德国,DE

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1