用于在网络中进行配置的方法与流程

文档序号:35864388发布日期:2023-10-26 21:30阅读:32来源:国知局
用于在网络中进行配置的方法与流程

本发明涉及一种用于在网络中进行配置的方法。本发明还涉及一种分别用于该目的的计算机程序、模块以及系统。


背景技术:

1、从现有技术中已知:可以在分布式系统上提供实时关键型应用程序。在这种情况下,应用程序的任务可以由不同的计算节点来执行。这些任务链接在一起,以便以协调的方式提供应用程序。例如,可以通过传感器任务、处理任务和激活任务来提供应用程序,在该应用程序中,这些任务中的一个任务被提供用于读取传感器值,然后将传感器值转交给其它任务,这些其它任务可以对这些数据进行处理并且基于此来执行控制。

2、为了提供实时关键型应用程序,还可以提供端到端时延作为应用程序或其事件链的时间规定。对于实时应用程序,需要应用程序必须在一定时间内被执行并且必须提供该应用程序的结果。该一定时间可以称为端到端时延,即称为在从链的第一个任务接收到输入的时间点与输出应用程序的最终结果的时间点之间的间隔。充分确保端到端时延在许多领域都至关重要。这样,例如具有如辅助驾驶等最新功能的汽车系统变得越来越复杂。这些汽车应用程序中的许多汽车应用程序通常具有严格的实时要求——重要的不仅是计算结果正确,而且重要的是该结果在正确时间被显示。


技术实现思路

1、本发明的主题是一种具有权利要求1的特征的方法、一种具有权利要求9的特征的计算机程序、一种具有权利要求10的特征的模块以及一种具有权利要求11的特征的系统。本发明的其它特征和细节从相应的从属权利要求、说明书和附图中得到。在此,与按照本发明的方法相关联地描述的特征和细节当然也与按照本发明的计算机程序、按照本发明的模块以及按照本发明的系统相关联地适用,而且分别反之亦然,使得关于各个发明方面的公开内容始终可以相互参考。

2、该方法用于在网络中进行配置、尤其用于在网络中进行动态配置。该网络可以执行至少一个或多个实时应用程序,所述至少一个或多个实时应用程序又可以包括多个在该网络中链接的任务。这些任务可以链接在一起,原因在于先前任务产生结果,该结果必须被移交给后续任务,以便实时应用程序被正确执行。为了该移交,可以经由该网络在该网络的不同节点、优选地计算节点之间进行通信,其中可以通过如数据包等消息单元来进行该移交或通信。相对应地,这些任务还可以在不同节点、例如各个计算机上执行,使得为实时应用程序提供以分布式系统为形式的数据处理环境。

3、以下,实时应用程序也简称为应用程序。术语“实时”可以是指:这些应用程序必须在指定时间内提供其结果。因而,对于实时关键型应用程序来说,通常需要满足特定的端到端要求。这被理解成该执行的时延或最大延迟,即直至最迟必须存在应用程序的结果的时间。在此,该要求还会影响链式任务。这些任务分别是整个实时应用程序的一部分,使得这些任务的成功执行是正确执行整个实时应用程序的前提条件。在此,各个任务的执行时间总计决定(共同决定)了整个实时应用程序的总执行时间。因而,为了确保实时执行,在该网络中的例如就该通信的优先次序排序而言的配置通常非常重要。

4、在此,在按照本发明的用于在网络中进行配置的方法中所提供的用于至少一个实时应用程序的步骤,也称为配置步骤,可以优选地以随后说明的顺序被依次执行。此外,这些步骤能够在实时应用程序的运行时期间被重复执行和/或也能够针对其它实时应用程序被执行和/或必要时能够完全自动化地被执行。在此,这些步骤、尤其是配置步骤,可以包括:

5、-从实时应用程序的先前任务接收如数据包等至少一个消息单元;

6、-依据所接收到的消息单元、例如依据该消息单元的关于先前任务或者实时应用程序的开始时间点的时间信息,确定、例如计算先前任务的执行时间;

7、-对所确定的执行时间进行评估,该评估至少包括所确定的执行时间与至少一个、尤其是预先定义的或先前计算出的时间规定的比较,以便据此来确定实时应用程序的当前时间裕度(zeitspielraum);

8、-依据所确定的时间裕度来对该消息单元进行优先次序排序,并且根据该优先次序排序,将该消息单元在该网络中转发给实时应用程序的后续任务,其中优选地经此依据所确定的时间裕度在该网络中进行配置、尤其是在该网络中动态地进行配置。

9、借此,该方法的优点在于:在该网络中的动态的——即非静态的——优先次序排序和配置。借此,配置尤其被理解为:在该网络中,转发经过优先次序排序的消息单元,即,该转发可以根据优先次序排序来被配置并且因此被调整,而且该优先次序排序可取决于所确定的时间裕度。传统上,用于对网络中的应用程序进行优先次序排序的途径可能是静态优先次序排序。在此,应用程序优先级会静态地且统一地被转用于应用程序的通信、即例如相关的数据包。然而,在本发明的框架内发现这种静态优先级可能是不利的,原因在于该静态优先级没有考虑任务链中的时间裕度(英文“slack(佘度)”)。因此,低优先级的应用程序的数据包可能受到不必要的惩罚和延迟,即便更高优先级的应用程序有足够的时间裕度按时完成也是如此。此外,静态优先次序排序也会相对于在按照本发明的方法中必要时可能被用于优先次序排序的参数而言不可知(agnostisch),如相对于由于网络中的不确定性所引起的传输可变性而言以及相对于由于超过或未达到任务的执行时间所引起的执行可变性而言不可知。

10、例如,通过标记至少一个消息单元来执行优先次序排序。为此,例如在消息单元的标头中规定优先级字段。相对应地,消息单元可以包括:带有元数据的标头;和带有实际消息的有效负载,即例如先前任务的结果。接着,该网络的中间的交换机/路由器可以读取优先级字段,以便决定消息单元的传输顺序。

11、时间裕度尤其被理解成“佘度(slack)”,从该“佘度”中例如可以推断出应用程序的时间裕量。换言之,时间裕度可以表示实时应用程序仍具有以满足其实时要求的时间裕量。例如,可以给实时应用程序的每个任务分配其执行时间的必须遵守的上限,以便满足实时要求。接着,时间裕度可以通过实际执行时间与实时应用程序的任务的上限之差来定义。实时要求也可以称为端到端要求。

12、这些任务的相应的上限可以通过上述时间规定来定义。就这方面来说,可以说是定义这些上限的本地时间规定。整个实时应用程序的实时要求也可以通过时间规定来定义,即作为全局时间规定。该全局时间规定可以定义在其之前必须执行应用程序的所有任务的时间点。接着,从全局时间规定得出,可以动态地计算用于这些任务的本地时间规定,如随后还更详细地描述的那样。

13、有利地,可以规定:实时应用程序是至少两个分布在网络中的实时应用程序中的第一实时应用程序,其中这些实时应用程序并且尤其是还有这些实时应用程序的任务可以至少部分地被并行执行。就这方面来说,也可以说是实时应用程序的分布式系统。

14、同样可能的是:对所确定的执行时间的评估还包括:

15、-执行第一实时应用程序的所确定的时间裕度与第二实时应用程序的当前时间裕度的进一步比较,以便确定关于这些实时应用程序的时间裕度的比较结果。

16、此外,可以根据该比较结果来进行优先次序排序,以便如果第一实时应用程序的时间裕度低于第二实时应用程序的时间裕度,则在该网络中以更高优先级来转发该消息单元。反之,如果第一实时应用程序的时间裕度高于第二实时应用程序的时间裕度,则该比较结果也可以被用于转发第二实时应用程序的消息单元,以便以更高优先级来转发该消息单元。借此,该优先次序排序可以依据时间裕度可靠地被执行。因此,也可以针对一个或多个其它或第二实时应用程序并行地执行这些配置步骤,例如以便在这种情况下还确定第二实时应用程序的当前时间裕度。

17、还有利的是:还根据以下标准中的至少一个标准来进行该优先次序排序:

18、-任务的链的结构,诸如关于由于任务之间的通信所引起的延迟、即时延的信息;

19、-实时应用程序的功能,诸如该功能相比于其它实时应用程序的优先次序排序;

20、-实时应用程序的实时关键执行的重要性,例如作为在不同的重要性级别方面的分类;

21、-实时应用程序的安全重要性,例如用于标记安全特别关键的实时应用程序;

22、-实时应用程序的静态优先次序排序,该静态优先次序排序必要时可以附加于动态优先次序排序地被使用并且是在实时应用程序的运行时之前被定义的。

23、借此,能够实现特别动态且多层次的优先次序排序。

24、如果至少一个时间规定包括本地时间规定,该本地时间规定定义了单个任务的执行时间的上限,则可以实现另一优点。还可能的是:实时应用程序是至少两个分布在网络中的实时应用程序中的第一实时应用程序,其中可以为这些实时应用程序中的每个实时应用程序预先定义全局时间规定,该全局时间规定分别定义相应的实时应用程序的总执行时间的上限。在此,可以在评估之前执行以下步骤:

25、-依据第一实时应用程序的全局时间规定和/或依据第一实时应用程序的链式任务的结构,确定本地时间规定,

26、其中执行该优先次序排序,以便遵守每个实时应用程序的全局时间规定。

27、在这种情况下,不同于全局、即与应用程序有关,“本地”可以是指“与任务有关”。除了对这些任务的响应时间的单独的时间要求(即本地时间规定可以对应于任务的响应时间)之外,这些实时应用程序往往也对任务链的端到端时延有时间要求,这里也称为全局时间规定。对于属于具有预设的全局时间规定的实时应用程序的每个任务来说,可以得出本地时间规定,应用程序的每个任务必须在该本地时间规定之前完成,以便该应用程序可以遵守其实时要求。为此,必要时,可以使用关于链式任务的结构的信息。该结构例如还包括关于这些任务的计算强度或最大计算时长等等的信息。必要时,本地时间规定可以被传达给实时应用程序的所有其它任务。这例如可以通过如列表调度(list scheduling)等标准图算法来实现,在这些标准图算法中可以定义每个节点的最晚开始时间。

28、还可以规定:针对该网络中的至少两个或至少三个或至少四个其它实时应用程序来执行该方法的步骤或者这些配置步骤,其中根据以相应时间裕度为依据的优先次序排序来动态执行相应消息单元的转发,尤其是以便以这种方式来动态配置相应消息单元的转发。优先次序更高的消息单元例如可以比优先次序不太高的消息单元更快地被转发。因此,即使是实时应用程序的庞大系统也可以可靠地被动态配置。

29、可能的是:分别通过网络配置器针对这些实时应用程序来执行该方法的步骤或者这些配置步骤。优选地,可以规定:这些实时应用程序的链式任务在该网络的不同节点上被执行,并且在这些节点中的每个节点处通过该网络配置器来针对这些实时应用程序执行这些步骤。例如可以通过软件和/或硬件模块来提供网络配置,该软件和/或硬件模块相对应地设置于各个节点中。这具有如下优点:可以以减少花费的方式分散地提供该优先次序排序。以这种方式,还可能的是:对于该网络配置器来说能调用各个任务的本地时间规定。借此,每当任务在特定节点处完成时,在该节点处的相对应的网络配置器可以通过将执行时间与本地时间规定进行比较来检查该任务是领先于还是落后于该时间规定的时间表。为了对此进行量化,网络配置器可以计算时间裕度,该时间裕度由本地时间规定与执行时间之差得出。即,较低的时间裕度意味着:与应用程序的全局时间规定相对应的最后期限会更早地临近,并且因而消息单元的优先级被提高。小于0的时间裕度意味着:任务未能遵守其本地时间规定。

30、还可设想的是:该网络包括这些节点之间的不同路由,其中通过优先次序排序可以决定经由这些路由中的哪个路由来转发消息单元,以便到达这些节点中的一个。因此,可以根据以相应时间裕度为依据的优先次序排序来进行该转发。此外,这些消息单元可以分别被设计成数据包,和/或这些节点可以分别被设计成用于执行这些任务的计算节点。这些链式任务也可以称为任务链,如它们通常在应用程序图中所表示的那样。任务链不仅可以在单节点(英文single-node)系统中找到而且可以在分布式实时系统(英文distributedreal-time systems)中找到。如果这些节点具有不同的时钟频率或架构,则执行时间可以跨异构节点地被标准化。

31、例如,可以规定:这些实时应用程序是(例如用于车辆操作系统或车辆功能的)中间件和/或车辆操作系统和/或自主驾驶功能和/或存储可编程控制器的部分,其中优选地执行实时应用程序的任务中的至少一个任务以检测传感器值,执行该实时应用程序的任务中的至少一个另外的任务以处理所检测到的传感器值,并且执行该实时应用程序的任务中的至少一个另外的任务以依据该处理来控制机器。例如,用于自主驾驶的应用程序通常可以分为感知(传感)功能、路径规划(处理)功能和操纵功能、即控制,这些功能对应用程序的端到端时延具有特定要求。除了汽车领域之外,在航空电子设备中以及在设施和工厂系统中也需要分布式实时保证。

32、本发明的主题还是一种计算机程序、尤其是计算机程序产品,该计算机程序包括指令,在通过计算机来执行该计算机程序时,这些指令促使该计算机执行按照本发明的方法。借此,按照本发明的计算机程序所带来的优点与已经关于按照本发明的方法所详细描述的优点相同。

33、例如,可以提供该网络的节点作为该计算机,该节点例如以软件模块和/或网络配置器的形式来执行该计算机程序。该计算机可具有至少一个处理器,用于执行该计算机程序。还可以提供非易失性数据存储器,在该非易失性数据存储器中可以寄存该计算机程序,而且通过该处理器可以从该非易失性数据存储器中读取该计算机程序以用于执行。

34、本发明的主题还可以是一种计算机可读存储介质,该计算机可读存储介质包括按照本发明的计算机程序。该存储介质例如被设计成数据存储器,如硬盘和/或非易失性存储器和/或存储卡。该存储介质例如可以集成在该网络的至少一个节点或每个节点中。

35、本发明的主题还是一种用于在网络中进行配置的模块、尤其是网络配置器,该模块被设立为执行按照本发明的方法。借此,按照本发明的模块所带来的优点与已经关于按照本发明的方法所详细描述的优点相同。

36、本发明的主题还是一种系统,该系统具有:

37、-用于执行实时应用程序的网络,其中这些实时应用程序分别包括多个链式任务,这些任务在该网络的不同节点上被执行。

38、在这种情况下,尤其规定:在不同节点处分别设置按照本发明的模块,以便动态地执行配置,以执行这些实时应用程序。借此,按照本发明的系统所带来的优点与已经关于按照本发明的方法所详细描述的优点相同。

39、此外,按照本发明的方法还可以被实施成计算机实现的方法。

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