消息处理方法和系统与流程
未命名
08-29
阅读:73
评论:0

1.本发明涉及车联网领域,具体涉及一种消息处理方法和系统。
背景技术:
2.安装于自车的v2x(vehicle-to-everything)设备在运行过程中会接收其他车辆发送的v2v消息。v2v消息自接收之后需要经过v2x设备中各层模块的一系列处理。由于v2v消息处理需要时间且v2x设备的计算能力有限,如果外部有大量的车辆发送v2v消息,则有可能因v2x设备算力到达极限而无法处理所有消息,导致关键的消息丢失。这会导致v2x设备在满负荷运行时极有可能发生漏报的情况,从而使可靠性下降。同时,v2x设备在实际道路上处于高负荷环境下的机会较少,为了覆盖极端情况而搭载高性能处理芯片,会造成资源浪费。
3.在v2x设备因满负荷运行而无法处理所有消息的情况下,如何尽量保证系统能够正常处理重要消息并使v2x设备的各v2x应用正常工作是一项重要的课题。
4.因此,亟需一种改进的消息处理方法以解决现有技术的上述问题。
技术实现要素:
5.以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在标识出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是以简化形式给出一个或多个方面的一些概念以作为稍后给出的更详细描述之序言。
6.本发明提供了一种由车载v2x设备执行的消息处理方法,该车载v2x设备安装于自车并且包括底层模块和上层模块,该方法包括以下步骤:s1:在该底层模块接收来自他车的消息;s2:将该消息传送至上层模块以供进一步处理,其特征在于,在步骤s1与s2之间还执行以下步骤:s12:对该消息进行解码以获得他车的车辆id信息、车辆id信息的时间戳和行驶信息;s14:判断该行驶信息是否满足预设条件;s16:如果该行驶信息满足该预设条件,则将他车的车辆id信息保存至自车的关注车辆id列表中并执行步骤s2;s18:如果该行驶信息不满足该预设条件,则判断他车的车辆id信息是否已在关注车辆id列表中,如果为是,则执行步骤s2;如果为否,则将该消息丢弃并且不再执行步骤s2。
7.在一些实施例中,预设条件是根据自车预先设置的应用场景来设定的。
8.在一些实施例中,底层模块包括rf模块、网络层功能模块,上层模块包括安全层功能模块、v2x中间件模块、v2x应用模块。
9.在一些实施例中,在执行步骤s16时,将他车的车辆id信息保存至自车的关注车辆id列表中进一步包括:如果该车辆id信息不在关注车辆id列表中,则将步骤s12中所获得的该车辆id信息以及该车辆id信息的时间戳添加到关注车辆id列表中;如果该车辆id信息已在关注车辆id列表中,则对关注车辆id列表中所存储的该车辆id信息的时间戳进行更新。
10.在一些实施例中,该方法进一步包括:周期性地循环遍历关注车辆id列表中的各
车辆id信息的时间戳;如果有车辆id信息的时间戳距离当前时间超过第一预设时间段,则将该车辆id信息及其时间戳从关注车辆id列表中移除。
11.在一些实施例中,在执行步骤s18时,如果判断他车的车辆id信息已在关注车辆id列表中,则进行以下操作:确定步骤s12中所获得的所述车辆id信息的时间戳与关注车辆id列表中所存储的车辆id信息的时间戳之间的时间差;如果该时间差未超过第二预设时间段,则执行步骤s2;如果该时间差超过第二预设时间段,则将消息丢弃并且不再执行步骤s2。
12.在一些实施例中,他车的行驶信息至少包括以下一者或多者:他车的位置信息、速度信息、加速度信息、航向信息。
13.在一些实施例中,在执行步骤s14时,如果判断行驶信息不满足预设条件,则进行以下操作:基于该行驶信息来预测从当前时间起的第三预设时间段后他车的行驶信息;使用所预测的行驶信息代替该行驶信息来执行步骤s14至s18。
14.在一些实施例中,该方法还包括:监测来自他车的消息的接收速率;将该接收速率与预设速率阈值进行比较;如果该接收速率未超过该预设速率阈值,则不执行步骤s12至s18;如果该接收速率超过该预设速率阈值,则执行步骤s12至s18。
15.本发明还提供了一种安装于自车的消息处理系统,包括:消息接收模块,该消息接收模块属于该消息处理系统的底层模块并且用于执行步骤s1:接收来自他车的消息;消息上传模块,用于执行步骤s2:将该消息传送至该消息处理系统的上层模块以供进一步处理;以及消息筛选模块,用于在步骤s1与s2之间执行以下步骤:s12:对该消息进行解码以获得他车的车辆id信息、车辆id信息的时间戳和行驶信息;s14:判断该行驶信息是否满足预设条件;s16:如果该行驶信息满足该预设条件,则将他车的车辆id信息保存至自车的关注车辆id列表中,并通过该消息上传模块执行步骤s2;s18:如果该行驶信息不满足该预设条件,则判断他车的车辆id信息是否已在关注车辆id列表中,如果为是,则通过该消息上传模块执行步骤s2;如果为否,则将该消息丢弃并且不再执行步骤s2。
16.在一些实施例中,预设条件是根据自车预先设置的应用场景来设定的。
17.在一些实施例中,消息接收模块是rf模块,并且底层模块包括该rf模块、网络层功能模块,上层模块包括安全层功能模块、v2x中间件模块、v2x应用模块。
18.在一些实施例中,消息筛选模块被进一步配置成:在执行步骤s16时,通过以下操作将他车的车辆id信息保存至自车的关注车辆id列表中:如果该车辆id信息不在关注车辆id列表中,则将步骤s12中所获得的该车辆id信息以及该车辆id信息的时间戳添加到关注车辆id列表中;如果该车辆id信息已在关注车辆id列表中,则对关注车辆id列表中所存储的该车辆id信息的时间戳进行更新。
19.在一些实施例中,该系统还包括列表遍历模块,其被配置成:周期性地循环遍历关注车辆id列表中的各车辆id信息的时间戳;如果有车辆id信息的时间戳距离当前时间超过第一预设时间段,则将该车辆id信息及其时间戳从关注车辆id列表中移除。
20.在一些实施例中,消息筛选模块被进一步配置成:在执行步骤s18时,如果判断他车的车辆id信息已在关注车辆id列表中,则进行以下操作:确定步骤s12中所获得的车辆id信息的时间戳与关注车辆id列表中所存储的车辆id信息的时间戳之间的时间差;如果该时间差未超过第二预设时间段,则通过消息上传模块执行步骤s2;如果该时间差超过该第二
预设时间段,则将该消息丢弃并且不再执行步骤s2。
21.在一些实施例中,他车的行驶信息至少包括以下一者或多者:他车的位置信息、速度信息、加速度信息、航向信息。
22.在一些实施例中,消息筛选模块被进一步配置成:在执行步骤s14时,如果判断该行驶信息不满足预设条件,则进行以下操作:基于该行驶信息来预测从当前时间起的第三预设时间段后他车的行驶信息;使用所预测的行驶信息代替该行驶信息来执行步骤s14至s18。
23.在一些实施例中,该系统还包括消息筛选控制模块,其被配置成:监测来自他车的消息的接收速率;将该接收速率与预设速率阈值进行比较;如果该接收速率未超过该预设速率阈值,则禁用消息筛选模块;如果该接收速率超过该预设速率阈值,则启用消息筛选模块。
24.本发明还提供了一种计算机可读存储介质,其存储用于消息处理的计算机程序,该计算机程序能被处理器执行以执行前述消息处理方法。
附图说明
25.结合附图理解下面阐述的详细描述时,本发明的特征、本质和优点将变得更加明显。在附图中,相同附图标记始终作相应标识。要注意,所描述的附图只是示意性的而非限制性的。在附图中,一些部件的尺寸可放大并且出于解说性的目的不按比例绘制。
26.图1a示出了常规的v2v消息接收流程示意图。
27.图1b示出了本发明的v2v消息接收流程示意图。
28.图2示出了根据本发明的第一实施例的消息处理方法的流程图。
29.图3示出了本发明的维护关注车辆id列表的示例性方法。
30.图4示出了根据本发明的第二实施例的消息处理方法的流程图。
31.图5示出了根据本发明的第三实施例的消息处理方法的流程图。
32.图6示出了本发明的对消息筛选功能进行控制的示例性方法。
33.图7示出了使用本发明的消息处理方法进行消息处理的示例性过程。
34.图8示出了本发明的消息处理系统的框图。
具体实施方式
35.为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图对本发明进一步详细说明。在以下详细描述中,阐述了许多具体细节以提供对所描述的示例性实施例的透彻理解。然而,对于本领域技术人员显而易见的是,可以在没有这些具体细节中的一些或全部的情况下实践所描述的实施例。在其它示例性实施例中,没有详细描述公知的结构,以避免不必要地模糊本公开的概念。应当理解,本文所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。同时,在不冲突的情况下,实施例所描述的各个方面可以任意组合。
36.安装于自车的v2x设备在运行过程中会接收由他车(自车周围的其他车辆)发送的v2v消息。v2v消息经过v2x设备中各层模块进行一系列处理,以供v2x应用使用。在v2x应用的工作过程中,大部分v2v消息都无法触发场景(例如,发出报警或提示),因此这些v2v消息
实际上没有处理价值。如果能够提前筛除此类消息,则能够有效降低系统负荷。
37.有鉴于此,本发明按应用场景的要求,对周边车辆发送的v2v消息进行筛选,将不会触发场景、没有处理价值的v2v消息舍弃。该消息筛选在v2x设备的底层模块接收到v2v消息之后立即进行,从而尽可能节省上层模块的工作量。此外,还可以根据v2x设备的实际计算压力来启用或禁用消息筛选功能,从而进一步提高消息处理的灵活性和v2x设备的稳定性。
38.图1a示出了常规的v2v消息接收流程100的示意图。
39.如图1a所示,在常规的v2v消息接收流程中,v2x设备的rf模块接收来自其他车辆的v2v消息(本文中主要指代bsm消息,可互换地称为“消息”),此处的rf模块指代c-v2x无线通信模块,用于收发射频信号以及对射频信号进行处理。之后,v2v消息依次经过网络层功能模块、安全层功能模块、v2x中间件模块,最后到达v2x应用模块。
40.网络层功能模块用于对v2v消息进行网络通信协议的处理。安全层功能模块对v2v消息进行与安全相关的处理(例如,安全验证、消息签名验证),v2x中间件模块对v2v消息进行中间件处理,而v2x应用模块对v2v消息进行与应用相关的处理。
41.在优选实施例中,上述模块可以实现为v2x设备中的软件模块。例如,各个模块可以按软件代码的形式存在,并且这些软件代码能够实现相应的功能。另外,虽然图1a中示出了上述特定模块,但这仅是示例性的而非限制性的。在实际实现中,可以根据需要组合、拆分、移除这些模块中的一个或多个模块,或者添加其他模块。
42.从v2v消息接收流程100可以看出,v2v消息需要经过各层模块的一系列处理,这些处理需要耗费一定的时间。对于计算能力有限的v2x设备而言,如果接收到来自周围车辆的大量v2v消息并且每个v2v消息都经过所有模块的处理,则有可能因算力达到极限而无法处理所有消息,从而导致关键信息丢失并使v2x设备的可靠性下降。
43.图1b示出了本发明的v2v消息接收流程150的示意图。
44.如图1b所示,v2v消息接收流程150在v2v消息接收流程100的基础上,在网络层功能模块与安全层功能模块之间新增了三个模块:消息分析模块、消息筛选模块、以及消息筛选控制模块。在优选实施例中,这些新增模块也被实现为软件模块。
45.在rf模块接收到v2v消息之后,首先通过网络层功能模块对消息进行网络通信协议的处理。随后,可以通过消息分析模块对消息内容进行解码和分析,以获得发送该消息的他车的车辆id信息、时间戳和行驶信息。
46.在获得他车的车辆id信息、时间戳和行驶信息之后,可以通过消息筛选模块进行消息筛选。例如,消息筛选模块可以根据预设条件来筛除不符合条件的消息。不符合条件的消息将被丢弃,而不会传送至上层模块进行后续处理。以此方式,可以降低网络层功能模块之上各模块的处理负荷,节省系统资源。同时,消息筛选还可以结合自车所保存的关注车辆id列表来进行。具体的筛选方法将在下文结合图2-5进行进一步描述。
47.此外,消息筛选控制模块负责获取v2v消息的接收速率,并根据接收速率来对消息筛选功能进行控制(例如,启用或禁用消息筛选功能)。具体的控制方法将在下文结合图6进行进一步描述。
48.应注意,虽然图1b中将消息分析模块、消息筛选模块和消息筛选控制模块示为分开的模块,但这仅是示例性的。在实际实现中,这些模块也可以集成在单个模块中。例如,消
息分析模块可以集成在消息筛选模块中,由消息筛选模块执行消息解码分析并获取所需他车的车辆id、时间戳和行驶信息的功能。
49.如上文提到的,网络层功能模块用于对消息进行网络通信协议的处理。由于在进行消息筛选时需要根据消息内容才能判断消息是否满足条件,因此需要将上述新增模块至少置于网络层功能模块之上。安全层功能模块用于对消息进行安全验证的处理,处理过程比较耗时,因此,在图1b中,消息分析模块、消息筛选模块和消息筛选控制模块被示为位于网络层功能模块与安全层功能模块之间。以此方式,可以最大程度地节省上层模块的工作量。当然,在实际实现中,这些新增模块也可以位于其他更高的位置。例如,在需要消息加密的特殊场景中,可以将上述新增模块置于安全层功能模块之上,以确保在对接收到的消息完成安全验证之后再进行消息筛选。
50.图2示出了根据本发明的第一实施例的消息处理方法200的流程图。方法200可以由车载v2x设备执行,该车载v2x设备安装于自车并且包括底层模块和上层模块。在本发明中,底层模块包括rf模块、网络层功能模块,上层模块包括安全层功能模块、v2x中间件模块、v2x应用模块。
51.如图2所示,在方法200开始之后,首先在底层模块接收来自他车的消息(205)。
52.在将消息传送至上层模块以供进一步处理(235)之后,方法200结束。
53.在步骤205与235之间,可以对消息进行筛选。具体而言,在接收到消息之后,可以对消息进行解码以获得他车的车辆id信息、时间戳和行驶信息(210)。
54.在本发明的实施例中,他车的车辆id信息为消息中表示车辆id的字段。时间戳为消息中表示时间的字段。他车的行驶信息至少包括以下一者或多者:他车的位置信息、速度信息、加速度信息、航向信息等,具体为消息中表示位置、速度、加速度、航向等行驶信息的字段。
55.随后可以判断他车的行驶信息是否满足预设条件(215)。
56.在一些实施例中,预设条件可以根据自车预先设置的应用场景来设定。
57.在本发明中,应用场景可以是与v2x应用相关的特定场景,并且在触发场景时可以通过某种方式(例如,通过报警、通知、提示等等)告知自车车主。举例而言,v2x设备中的应用a可以在接收到50米内急刹车的v2v消息(来自他车的v2v消息)时触发报警,以向自车车主告知潜在风险(例如,他车的行驶状况可能对自车的行驶造成风险)。换言之,在本发明中,应用场景可以表示对v2x应用的正常工作有影响(例如,会触发报警等等)的特定行驶环境(例如,自车的行驶状况、他车的行驶状况、自车的周围环境等等)。
58.在实际实现中,可以为自车预先设置多种应用场景。在行驶过程中,自车能够根据行驶状况和/或周围环境来判断自车当前处于这些应用场景中的哪个(或哪些)场景。
59.同时,可以设置每个应用场景的触发条件。例如,对于碰撞风险场景,如果从他车接收到的连续3条v2v消息都指示他车的车速》60km/h,则会触发该场景。即,“连续3条消息均满足车速》60km/h”是该场景的触发条件。
60.在本发明的各实施例中,可以将场景的触发条件作为预设条件,或者从场景的触发条件中选取部分条件作为预设条件。例如,可以将“单条消息满足车速》60km/h”作为预设条件。应注意,同一场景可以有一个或多个触发条件。即,不同条件/行驶状况可能会触发相同场景(例如,触发相同的报警)。由此,可以针对同一场景设定一个或多个预设条件。
61.在某些实施例中,消息分析模块、消息筛选模块和消息筛选控制模块如图1b所示位于网络层功能模块和安全层功能模块之间,那么消息在筛选处理时,消息可能尚未进行安全验证。消息筛选完成后,后续的安全层功能模块只能逐条确认消息的安全性。因此为了信息安全考虑,在对消息进行筛选时,放宽条件,仅针对单条消息的条件用于筛选,例如将“连续3条消息均满足车速》60km/h”转换为“单条消息满足车速》60km/h”。
62.在针对每个应用场景设定预设条件之后,可以汇总所有应用场景的所有预设条件以获得汇总后的预设条件作为步骤215中的预设条件,汇总后的预设条件的示例如下:
63.(场景1条件1and场景1条件2)or(场景2条件1and场景2条件2)
64.如果他车的行驶信息满足预设条件(判定框215处为“是”),则表示该v2v消息会触发应用场景,因此可以认为该v2v消息具有处理价值。此时,可以将他车的车辆id信息保存至自车的关注车辆id列表中(220)并将消息传送至上层模块以供进一步处理(235)。关注车辆id列表负责记录满足预设条件的车辆id信息以及该车辆id信息的时间戳,车辆id信息以及该车辆id信息的时间戳表示从同一v2v消息中解码获得的车辆id信息与时间戳信息。
65.如上文提到的,车辆id信息和时间戳是v2v消息中的不同字段。在本发明中,“车辆id信息的时间戳”实质上表示从获得该车辆id信息的同一v2v消息中获得的时间戳信息。因此,本文中的表述“车辆id信息的时间戳”和“时间戳”均可以等效地解读为“与车辆id信息相关联/相对应的时间戳”或“v2v消息的时间戳”。
66.在本发明的实施例中,将他车的车辆id信息保存至自车的关注车辆id列表中进一步包括:如果车辆id信息不在关注车辆id列表中,则将步骤210中所获得的该车辆id信息以及该车辆id信息的时间戳添加到关注车辆id列表
67.中;如果该车辆id信息已在关注车辆id列表中,则对关注车辆id列表中所
68.存储的该车辆id信息的时间戳进行更新。
69.如果他车的行驶信息不满足预设条件(判定框215处为“否”),则进一步判断他车的车辆id信息是否已在关注车辆id列表中(225)。如果他车的车辆id信息已在关注车辆id列表中(判定框225处为“是”),则仍然可以将消息传送至上层模块以供进一步处理(235)。此时同样可以对关注车辆id列表中所存储的车辆id信息的时间戳进行更新(图中未示出)。
70.v2x设备的各应用以及中间各层模块可能存在对消息的数值平滑处理或者车辆超时处理。通过关注车辆id列表使消息在不满足预设条件(即,消息中的行驶信息不满足预设条件)的情况下仍然能传送至上层模块,可以确保上层应用能够对来自同一车辆的消息进行持续跟踪,防止因消息筛选造成消息断续,从而对上层模块的处理逻辑产生不利影响。
71.如果他车的车辆id信息不在关注车辆id列表中(判定框225处为“否”),则可以丢弃消息(230),并且不会将消息传送至上层模块。
72.传送至上层模块的消息将进行后续处理,诸如安全验证、中间件处理、v2x应用处理等。
73.图2的方法200丢弃了不会触发场景的消息,从而降低了上层模块的处理负荷。同时,通过关注车辆id列表确保对来自同一车辆的消息的持续跟踪,防止因消息筛选造成消息断续。
74.图3示出了本发明的维护关注车辆id列表的示例性方法300。
75.如上文所述,关注车辆id列表负责记录满足预设条件的车辆id信息以及该车辆id
信息的时间戳。由于关注车辆id列表中的各车辆的行驶信息在某一时刻满足预设条件,因此关注车辆id列表中的各车辆对于自车而言具有关注价值(即,可能触发自车的应用场景)。
76.由于车辆的行驶信息会随时间变化,因此行驶信息是否满足预设条件与时间有关。即,同一车辆的行驶信息可能在某一时刻满足预设条件而在稍后的另一时刻不满足该预设条件。
77.关注车辆id列表中的车辆表示在最近接收到来自该车辆的消息时其行驶信息满足预设条件。然而,如果关注车辆id列表中的某一车辆长时间不符合条件(即,从该车辆接收到的消息中的行驶信息长时间不满足预设条件)或者长时间未收到来自该车辆的消息,则说明该车辆对于自车而言已没有关注价值,此时需要将其从自车的关注车辆id列表中移除。
78.有鉴于此,方法300通过周期性地循环遍历关注车辆id列表来对关注车辆id列表进行维护。如图所示,在方法300开始之后,首先等待一定的时间间隔(305)。在优选实施例中,该时间间隔可以是对关注车辆id列表进行维护的周期。即,在每一时间间隔内完成对关注车辆id列表的一次遍历。
79.在310处,遍历关注车辆id列表中各车辆id信息的时间戳。
80.在315处,判断车辆id信息的时间戳距离当前时间是否超过第一预设时间段。如上文所述,车辆id信息的时间戳表示从接收到的v2v消息中解码获取的时间信息。
81.如果车辆id信息的时间戳距离当前时间超过第一预设时间段(判定框315处为“是”),则表示长时间未从该车辆id信息所对应的车辆接收到消息,或者来自该车辆的消息中的行驶信息长时间不满足预设条件,这表示该车辆对于自车而言已没有关注价值,此时可以将该车辆id信息及其时间戳从关注车辆id列表中移除(320)。
82.如果车辆id信息的时间戳距离当前时间未超过第一预设时间段(判定框315处为“否”),则表示该车辆id信息所对应的车辆对于自车而言仍有关注价值,此时将该车辆id信息保留在关注车辆id列表中。
83.在325处,判断遍历是否结束。如果已遍历关注车辆id列表中的所有车辆id信息的时间戳,则表示该轮遍历已结束,此时可以返回至305以等待下一轮遍历。如果该轮遍历尚未结束,则返回至310以遍历列表中的下一车辆id信息及其时间戳。
84.通过方法300,可以定期对关注车辆id列表进行维护以删除列表中对于自车而言没有关注价值的车辆(删除车辆的车辆id信息及其时间戳)。以此方式,可以确保关注车辆id列表中所保留的各车辆对于自车而言具有关注价值。
85.图4示出了根据本发明的第二实施例的消息处理方法400的流程图。
86.方法400类似于方法300,两者的主要区别在于:在方法400中,在判断他车的行驶信息不满足预设条件、且他车的车辆id信息已在自车的关注车辆id列表
87.中的情况下,进一步确定该车辆id信息的更新间隔。在本发明中,车辆id信息
88.的更新间隔表示从该车辆id信息所对应的车辆接收到前一消息(且该消息的行驶信息满足预设条件)中解码获取的时间戳到从该车辆接收到当前消息中解码获取的时间戳之间的时间间隔。如果该车辆id信息的更新间隔在第二预设时间段内,则依然将消息传送至上层模块;如果该车辆id信息的更新间隔超过第二预设时间段,则丢弃消息。
89.上述区别在图4中用虚线框示出。如图所示,当判断他车的行驶信息不满足预设条件、且他车的车辆id信息已在自车的关注车辆id列表中时,可以进一步确定车辆id信息的更新间隔。由于车辆id信息的更新间隔表示从同一车辆(该车辆id信息所对应的车辆)接收到前一消息中解码获取的时间戳与当前消息中解码获取的时间戳之间的时间间隔,因此该更新间隔可以由当前消息中的时间戳(其表示从该车辆接收到的当前消息中解码获取的时间)与关注车辆id列表中所存储的时间戳(其表示上次从该车辆接收到的消息中解码获取的时间)之间的时间差来表示。时间差越小,则表示从同一车辆接收到前一消息与当前消息之间的时间间隔越短。时间差越大,则表示从同一车辆接收到前一消息与当前消息之间的时间间隔越长。
90.在确定上述两个时间戳之间的时间差(即,车辆id信息的更新间隔)之后,可以判断该时间差是否超过第二预设时间段。如果该时间差未超过第二预设时间段,则可以认为发送消息的他车对于自车而言仍具有关注价值,此时可以将消息传送至上层模块以供进一步处理。如果该时间差超过第二预设时间段,则可以认为发送消息的他车对于自车而言不再具有关注价值,此时可以丢弃消息。
91.图3和4中的第一预设时间段和第二预设时间段可以由各应用以及中间各层模块对消息超时判定的最大值决定。在一些实施例中,第一预设时间段可以与第二预设时间段相同。在其他一些实施例中,第一预设时间段可以大于第二预设时间段。
92.图3中的方法300和图4中的方法400均是为了筛除关注车辆id列表中不再具有关注价值的车辆id信息(例如,时间戳距离当前时间超过第一预设时间段的车辆id信息、更新间隔超过第二预设时间段的车辆id信息)。方法300通过定期维护关注车辆id列表来筛除车辆id信息。然而,图3的方法是通过以一定的周期性循环遍历关注车辆id列表来执行的。在一些情形中,关注车辆id列表中可能会有车辆id信息在前一轮遍历结束之后且在下一轮遍历开始之前失去关注价值。此时,如果在下一轮遍历开始之前从该车辆id信息所对应的车辆接收到消息,则仅通过方法300来进行筛除可能会有遗漏。
93.例如,对于仅通过方法300来筛除车辆id信息的系统而言,有可能会出现以下情况:在上一轮遍历中,某一车辆id信息的时间戳距离当前时间未超过第一预设时间段,因此在上一轮遍历中将该车辆id信息视为具有关注价值(即,该车辆id信息所对应的车辆对于自车而言具有关注价值)且保留在关注车辆id列表中。随后,在下一轮遍历开始之前,该车辆id信息的时间戳距离当前时间超过第一预设时间段。如果此时从该车辆id信息所对应的车辆接收到新消息,则系统将会误认为该车辆id信息仍然具有关注价值并将该新消息传送至上层模块。由此可见,仅通过方法300来筛除车辆id信息的系统可能会有遗漏,导致将原本应当筛除的消息传送至上层模块,从而增加上层模块的处理负荷。
94.通过结合方法400,可以在对关注车辆id列表进行定期维护的基础上,对车辆id信息进行二次检查,以筛除更新间隔超过第二预设时间段的车辆id信息。以此方式,可以确保及时筛除所有不再具有关注价值的车辆id信息,使消息筛选更加全面和准确。
95.图5示出了根据本发明的第三实施例的消息处理方法500的流程图。
96.方法500类似于方法400,两者的主要区别在于:在方法500中,在判断他车的行驶信息不满足预设条件的情况下,进一步预测他车在将来某个时刻的行驶信息,并判断所预测的行驶信息是否满足该预设条件。以此方式,可以涵盖消息在接收时不满足预设条件、但
实际车辆(自车和他车)按现状运行在较短时间(例如,数秒)后将满足预设条件的情况。
97.上述区别在图5中用虚线框示出。如图所示,当判断他车的行驶信息不满足预设条件时,可以预测从当前时间起的第三预设时间段后他车的行驶信息。随后可以判断所预测的行驶信息是否满足该预设条件。如果所预测的行驶信息满足该预设条件,则可以将他车的车辆id信息保存至关注车辆id列表中并将消息传送至上层模块以供进一步处理。如果所预测的行驶信息不满足该预设条件,则可以进一步判断他车的车辆id信息是否已在关注车辆id列表中,并且后续步骤与方法400中的对应步骤相同。
98.在一些实施例中,可以由v2x设备中的应用或者模块来对车辆行驶信息进行预测。在此类实施例中,第三预设时间段可以基于v2x的各应用和模块对车辆行驶信息预测/计算的要求来设定。在另外一些实施例中,可以由自车中的其他设备来对车辆行驶信息进行预测。在此类实施例中,第三预设时间段可以基于该其他设备对车辆行驶信息预测/计算的要求来设定。
99.举例而言,假定预设条件为“他车位置与自车位置之间的距离小于阈值距离”,如果经判断行驶信息不满足预设条件(即,他车位置与自车位置之间的距离大于或等于阈值距离),则可以预测他车在第三预设时间段(例如,3秒)之后的行驶信息,并预测自车在3秒之后的行驶信息。随后可以判断所预测的他车行驶信息是否满足该预设条件(即,所预测的他车位置与所预测的自车位置之间的距离是否小于该阈值距离)。
100.在本发明的各实施例中,可以采用多种方式来预测车辆的行驶信息。由于本发明中仅涉及车辆在短时间内的行驶信息预测,因此可以认为车辆的加速度信息在该短时间内不变。作为示例,假设需要基于车辆的当前行驶信息来预测该车辆在3秒后的行驶信息,则可以将车辆的当前加速度信息视为3秒后的加速度信息。同时,可以基于车辆的当前速度信息和加速度信息来预测/计算车辆在3秒之后的速度信息。另外,可以基于车辆的当前航向信息和横摆角速度(yaw rate)来预测车辆在3秒之后的航向信息,其中横摆角速度可以从车辆的当前行驶信息中获得(例如,横摆角速度可以作为速度信息的一部分来提供、或者作为单独的信息被包含在行驶信息中)。最后,可以基于车辆的当前位置信息、速度信息、加速度信息、以及航向信息来预测/计算该车辆在3秒之后的位置信息。
101.图6示出了本发明的对消息筛选功能进行控制的示例性方法600。
102.由于v2x设备在实际道路上处于高负荷环境下的机会较少,因此当处理负荷在v2x设备的可承受范围内时(例如,v2v消息接收速率在500条/秒以下),v2x设备有能力处理所有消息,此时可以直接将所有消息传送至上层模块而无需启用消息筛选功能。而当处理负荷超出v2x设备的可承受范围时,可以启用消息筛选功能以对消息进行筛选。以此方式,可以提高v2x设备的稳定性。
103.如图6所示,在方法600开始之后,可以监测来自他车的消息的接收速率(605)。例如,可以定期(诸如每秒、每2秒等等)获取消息的接收速率。
104.在610处,可以将接收速率与预设速率阈值(例如,500条/秒)进行比较。
105.在本发明的各实施例中,预设速率阈值可以基于v2x设备的消息处理能力来设定。当v2v消息的接收速率小于预设速率阈值时,v2x设备不处于满负荷运行状态。
106.如果接收速率超过预设速率阈值(判定框610处为“是”),则表示对消息的处理负荷超过了v2x设备的可承受范围,此时可以启用消息筛选功能以进行消息筛选(615)。
107.如果接收速率未超过预设速率阈值(判定框610处为“否”),则表示对消息的处理负荷在v2x设备的可承受范围内,此时可以关闭消息筛选功能并直接将消息传送至上层模块以供进一步处理(620)。
108.为了更好地理解本发明的实现方式,图7示出了使用本发明的消息处理方法进行消息处理的示例性过程700。
109.作为示例,假设v2x设备中有2个应用a和b,其中应用a在收到100米内开故障灯的车辆消息时将触发报警(即,触发一应用场景),应用b在收到50米内急刹车的车辆消息时将触发报警(即,触发另一应用场景)。由此,预设条件可以设置为:“v2v消息中的位置与自车距离小于100米并且故障灯生效”或者“v2v消息中的位置与自车距离小于50米并且急刹车生效”。
110.如图7所示,在方法700开始之后,v2x设备可以接收来自他车的v2v消息(705)。
111.v2x设备的消息筛选控制模块可以定期获取v2v消息的接收速率,并判断接收速率是否超过500条/秒(预设阈值速率)。如果v2v消息的接收速率超过500条/秒(判定框710处为“是”),则启动消息筛选功能(720)。如果v2v消息的接收速率不超过500条/秒,则禁用消息筛选功能(715),并且按照图1a中的常规v2v消息接收流程来接收v2v消息。
112.在启用消息筛选功能的情况下,v2x设备定期(例如,每500毫秒、每秒、每2秒、每3秒等等)维护关注车辆id列表(725),以删除列表中时间戳距离当前时间超过1秒(第一预设时间段)的车辆id信息。
113.在730,对消息进行解码以获得他车的车辆id信息、时间戳和行驶信息(例如,他车的车辆位置、速度、加速度、航向、故障灯信息、急刹车信息等等)。
114.随后,在735,消息筛选模块可以判断他车的行驶信息是否满足预设条件。例如,如果某消息为距离自车80米且故障灯生效,则该消息满足“与自车距离小于100米并且故障灯生效”的预设条件。此时,可以将消息的车辆id信息保存至关注车辆id列表中(765),并且随后将消息传送至上层模块以供进一步处理(770)。
115.如果某消息为距离自车105米且故障灯生效,则该消息不满足“与自车距离小于100米并且故障灯生效”的预设条件。此时,可以根据消息中他车的位置、航向、速度、加速度等行驶信息来预测他车在3秒(第三预设时间段)后的行驶信息(例如,位置)(740)。同时,可以使用自车的位置、航向、速度、加速度来预测自车在3秒后的行驶信息(例如,位置)。随后,消息筛选模块可以判断所预测的他车的行驶信息是否满足“与自车距离小于100米并且故障灯生效”的预设条件(745)。
116.如果经判断得出3秒后他车位置距离自车95米且故障灯生效,则表示所预测的行驶信息满足预设条件(判定框745处为“是”),此时可以将消息的车辆id信息保存至关注车辆id列表中并将消息传送至上层模块。
117.如果经判断得出3秒后他车位置距离自车101米且故障灯生效,则表示所预测的行驶信息不满足预设条件(判定框745处为“否”),此时可以进一步检查该消息的车辆id信息是否已在关注车辆id列表中(750),并且在车辆id信息已在关注车辆id列表中的情况下判断该车辆id信息的更新间隔是否超过1秒(第二预设时间段)。
118.如果该消息的车辆id信息在关注车辆id列表中(判定框750处为“是”)并且车辆id信息的更新间隔在1秒内(判定框760处为“否”),则可以将消息传送至上层模块。由此,上层
应用可以在某车辆的消息不满足预设条件的情况下在1秒内仍然接收到该车辆的消息并继续跟踪该车辆。
119.如果该消息的车辆id信息不在关注车辆id列表中(判定框750处为“否”)或者关注车辆id列表中该车辆id信息的更新间隔超过1秒(判定框760处为“是”),则可以丢弃消息(755)。
120.应注意,虽然图7的过程700示出了特定的步骤,但这仅是示例性的。在实际实现中,可以添加、删除、或组合各步骤。此外,虽然图7示出了具体的预设条件和各个预设时间段的具体取值,但这并非旨在限制本发明。在不同实现中,本领域技术人员可以根据实际情况设置不同的预设条件以及各个预设时间段的不同取值。
121.图8示出了本发明的消息处理系统800的框图。消息处理系统800可以安装在自车中。
122.参见图8,消息处理系统800可以包括消息接收模块805、消息上传模块810、消息筛选模块815、列表遍历模块820、以及消息筛选控制模块825。如图所示,消息接收模块805、消息上传模块810、消息筛选模块815、列表遍历模块820和消息筛选控制模块825可以在一条或多条总线830上直接或间接地彼此连接或通信。
123.在本发明的各实施例中,消息接收模块805属于消息处理系统800的底层模块并且可以用于执行步骤s1:接收来自他车的消息。
124.消息上传模块810可以用于执行步骤s2:将消息传送至消息处理系统800的上层模块以供进一步处理。
125.在一些实施例中,消息接收模块805是rf模块,并且消息处理系统800的底层模块包括该rf模块、网络层功能模块,消息处理系统800的上层模块包括安全层功能模块、v2x中间件模块、v2x应用模块。
126.消息筛选模块815可以用于在步骤s1与s2之间执行以下步骤:s12:对消息进行解码以获得他车的车辆id信息、车辆id信息的时间戳和行驶信息;s14:判断行驶信息是否满足预设条件;s16:如果行驶信息满足预设条件,则将他车的车辆id信息保存至自车的关注车辆id列表中,并通过消息上传模块执行步骤s2;s18:如果行驶信息不满足预设条件,则判断他车的车辆id信息是否已在关注车辆id列表中,如果为是,则通过消息上传模块执行步骤s2;如果为否,则将消息丢弃并且不再执行步骤s2。
127.在一些实施例中,消息筛选模块815还可以被配置成:在执行步骤s16时,通过以下操作将他车的车辆id信息保存至自车的关注车辆id列表中:如果车辆id信息不在关注车辆id列表中,则将步骤s12中所获得的该车辆id信息以及该车辆id信息的时间戳添加到关注车辆id列表中;如果该车辆id信息已在关注车辆id列表中,则对关注车辆id列表中所存储的该车辆id信息的时间戳进行更新。
128.列表遍历模块820被配置成:周期性地循环遍历关注车辆id列表中的各车辆id信息的时间戳;如果有车辆id信息的时间戳距离当前时间超过第一预设时间段,则将该车辆id信息及其时间戳从关注车辆id列表中移除。
129.在一些实施例中,消息筛选模块815还可以被配置成:在执行步骤s18时,如果判断他车的车辆id信息已在关注车辆id列表中,则进行以下操作:确定步骤s12中所获得的车辆id信息的时间戳与关注车辆id列表中所存储的车辆id信息的时间戳之间的时间差;如果该
时间差未超过第二预设时间段,则通过消息上传模块执行步骤s2;如果该时间差超过第二预设时间段,则将消息丢弃并且不再执行步骤s2。
130.在一些实施例中,消息筛选模块815还可以被配置成:在执行步骤s14时,如果判断行驶信息不满足预设条件,则进行以下操作:基于该行驶信息来预测从当前时间起的第三预设时间段后他车的行驶信息;使用所预测的行驶信息代替该行驶信息来执行步骤s14至s18。
131.消息筛选控制模块825被配置成:监测来自他车的消息的接收速率;将该接收速率与预设速率阈值进行比较;如果该接收速率未超过该预设速率阈值,则禁用消息筛选模块;如果该接收速率超过该预设速率阈值,则启用消息筛选模块。
132.图8示出了消息处理系统800的特定模块,但应理解,这些模块仅是示例性的而非限制性的。在不同的实现中,可以组合、拆分、移除这些模块中的一个或多个模块,或者添加另外的模块。例如,在一些实现中,消息筛选模块815和列表遍历模块820可以被组合成一个模块。
133.本发明的技术方案通过有效筛除不必要的v2v消息(例如,不会触发场景的v2v消息)来降低v2x设备的处理负荷,减少cpu占用,同时确保各类应用的正常工作,从而提高v2x设备的消息处理性能。同时,通过关注车辆id列表使得消息在不满足预设条件的情况下仍然能够通过筛选,以确保上层应用能够对同一车辆持续跟踪,防止因消息筛选造成消息断续。此外,现有v2x设备的硬件配置通常按照v2x通信负载的极限来设计,虽然性能较高,但成本太高。相比之下,本发明的技术方案可以降低v2x设备的硬件配置要求,从而降低成本。
134.以上结合附图阐述的详细说明描述了示例而不代表可被实现或者落在权利要求的范围内的所有示例。术语“示例”和“示例性”在本说明书中使用时意指“用作示例、实例或解说”,并不意指“优于或胜过其它示例”。
135.贯穿本说明书引述的“一个实施例”或“一实施例”意指结合该实施例描述的特定特征、结构或特性是包含在本发明的至少一个实施例中的。因此,这些短语的使用可以不仅仅指代一个实施例。此外,所描述的特征,结构或特性可以在一个或多个实施例中以任何合适的方式组合。
136.提供之前的描述是为了使本领域任何技术人员均能够实践本文中所描述的各种方面。对这些方面的各种修改将容易为本领域技术人员所明白,并且在本文中所定义的普适原理可被应用于其它方面。因此,权利要求并非旨在被限定于本文中所示的方面,而是应被授予与语言上的权利要求相一致的全部范围,其中对要素的单数形式的引述除非特别声明,否则并非旨在表示“有且仅有一个”,而是“一个或多个”。除非特别另外声明,否则术语“一些”指的是一个或多个。本发明通篇描述的各个方面的要素为本领域普通技术人员当前或今后所知的所有结构上和功能上的等效方案通过引述被明确纳入于此,且旨在被权利要求所涵盖。
137.还应注意,这些实施例可能是作为被描绘为流程图、流图、结构图、或框图的过程来描述的。尽管流程图可能会把诸操作描述为顺序过程,但是这些操作中有许多操作能够并行或并发地执行。另外,这些操作的次序可被重新安排。
138.虽然已经说明和描述了各种实施例,但是应该理解,实施例不限于上述精确配置和组件。可以在本文公开的设备的布置、操作和细节上作出对本领域技术人员显而易见的
各种修改、替换和改进而不脱离权利要求的范围。
技术特征:
1.一种由车载v2x设备执行的消息处理方法,所述车载v2x设备安装于自车并且包括底层模块和上层模块,所述方法包括以下步骤:s1:在所述底层模块接收来自他车的消息;s2:将所述消息传送至所述上层模块以供进一步处理,其特征在于,在步骤s1与s2之间还执行以下步骤:s12:对所述消息进行解码以获得所述他车的车辆id信息、所述车辆id信息的时间戳和行驶信息;s14:判断所述行驶信息是否满足预设条件;s16:如果所述行驶信息满足所述预设条件,则将所述他车的车辆id信息保存至自车的关注车辆id列表中并执行步骤s2;s18:如果所述行驶信息不满足所述预设条件,则判断所述他车的车辆id信息是否已在所述关注车辆id列表中,如果为是,则执行步骤s2;如果为否,则将所述消息丢弃并且不再执行步骤s2。2.根据权利要求1所述的方法,其特征在于,所述预设条件是根据所述自车预先设置的应用场景来设定的。3.根据权利要求1所述的方法,其特征在于,所述底层模块包括rf模块、网络层功能模块,所述上层模块包括安全层功能模块、v2x中间件模块、v2x应用模块。4.根据权利要求1所述的方法,其特征在于,在执行步骤s16时,将所述他车的车辆id信息保存至自车的关注车辆id列表中进一步包括:如果所述车辆id信息不在所述关注车辆id列表中,则将步骤s12中所获得的所述车辆id信息以及所述车辆id信息的时间戳添加到所述关注车辆id列表中;如果所述车辆id信息已在所述关注车辆id列表中,则对所述关注车辆id列表中所存储的所述车辆id信息的时间戳进行更新。5.根据权利要求1所述的方法,其特征在于,进一步包括:周期性地循环遍历所述关注车辆id列表中的各车辆id信息的时间戳;如果有车辆id信息的时间戳距离当前时间超过第一预设时间段,则将所述车辆id信息及其时间戳从所述关注车辆id列表中移除。6.根据权利要求1所述的方法,其特征在于,在执行步骤s18时,如果判断所述他车的车辆id信息已在所述关注车辆id列表中,则进行以下操作:确定步骤s12中所获得的所述车辆id信息的时间戳与所述关注车辆id列表中所存储的所述车辆id信息的时间戳之间的时间差;如果所述时间差未超过第二预设时间段,则执行步骤s2;如果所述时间差超过所述第二预设时间段,则将所述消息丢弃并且不再执行步骤s2。7.根据权利要求1所述的方法,其特征在于,所述他车的行驶信息至少包括以下一者或多者:所述他车的位置信息、速度信息、加速度信息、航向信息。8.根据权利要求1所述的方法,其特征在于,在执行步骤s14时,如果判断所述行驶信息不满足所述预设条件,则进行以下操作:基于所述行驶信息来预测从当前时间起的第三预设时间段后所述他车的行驶信息;使用所预测的行驶信息代替所述行驶信息来执行步骤s14至s18。
9.根据权利要求1所述的方法,其特征在于,还包括:监测来自他车的消息的接收速率;将所述接收速率与预设速率阈值进行比较;如果所述接收速率未超过所述预设速率阈值,则不执行步骤s12至s18;如果所述接收速率超过所述预设速率阈值,则执行步骤s12至s18。10.一种安装于自车的消息处理系统,包括:消息接收模块,所述消息接收模块属于所述消息处理系统的底层模块并且用于执行步骤s1:接收来自他车的消息;消息上传模块,用于执行步骤s2:将所述消息传送至所述消息处理系统的上层模块以供进一步处理;以及消息筛选模块,用于在步骤s1与s2之间执行以下步骤:s12:对所述消息进行解码以获得所述他车的车辆id信息、所述车辆id信息的时间戳和行驶信息;s14:判断所述行驶信息是否满足预设条件;s16:如果所述行驶信息满足所述预设条件,则将所述他车的车辆id信息保存至自车的关注车辆id列表中,并通过所述消息上传模块执行步骤s2;s18:如果所述行驶信息不满足所述预设条件,则判断所述他车的车辆id信息是否已在所述关注车辆id列表中,如果为是,则通过所述消息上传模块执行步骤s2;如果为否,则将所述消息丢弃并且不再执行步骤s2。11.根据权利要求10所述的系统,其特征在于,所述预设条件是根据所述自车预先设置的应用场景来设定的。12.根据权利要求10所述的系统,其特征在于,所述消息接收模块是rf模块,并且所述底层模块包括所述rf模块、网络层功能模块,所述上层模块包括安全层功能模块、v2x中间件模块、v2x应用模块。13.根据权利要求10所述的系统,其特征在于,所述消息筛选模块被进一步配置成:在执行步骤s16时,通过以下操作将所述他车的车辆id信息保存至自车的关注车辆id列表中:如果所述车辆id信息不在所述关注车辆id列表中,则将步骤s12中所获得的所述车辆id信息以及所述车辆id信息的时间戳添加到所述关注车辆id列表中;如果所述车辆id信息已在所述关注车辆id列表中,则对所述关注车辆id列表中所存储的所述车辆id信息的时间戳进行更新。14.根据权利要求10所述的系统,其特征在于,还包括列表遍历模块,其被配置成:周期性地循环遍历所述关注车辆id列表中的各车辆id信息的时间戳;如果有车辆id信息的时间戳距离当前时间超过第一预设时间段,则将所述车辆id信息及其时间戳从所述关注车辆id列表中移除。15.根据权利要求10所述的系统,其特征在于,所述消息筛选模块被进一步配置成:在执行步骤s18时,如果判断所述他车的车辆id信息已在所述关注车辆id列表中,则进行以下操作:确定步骤s12中所获得的所述车辆id信息的时间戳与所述关注车辆id列表中所存储的所述车辆id信息的时间戳之间的时间差;
如果所述时间差未超过第二预设时间段,则通过所述消息上传模块执行步骤s2;如果所述时间差超过所述第二预设时间段,则将所述消息丢弃并且不再执行步骤s2。16.根据权利要求10所述的系统,其特征在于,所述他车的行驶信息至少包括以下一者或多者:所述他车的位置信息、速度信息、加速度信息、航向信息。17.根据权利要求10所述的系统,其特征在于,所述消息筛选模块被进一步配置成:在执行步骤s14时,如果判断所述行驶信息不满足所述预设条件,则进行以下操作:基于所述行驶信息来预测从当前时间起的第三预设时间段后所述他车的行驶信息;使用所预测的行驶信息代替所述行驶信息来执行步骤s14至s18。18.根据权利要求10所述的系统,其特征在于,还包括消息筛选控制模块,其被配置成:监测来自他车的消息的接收速率;将所述接收速率与预设速率阈值进行比较;如果所述接收速率未超过所述预设速率阈值,则禁用所述消息筛选模块;如果所述接收速率超过所述预设速率阈值,则启用所述消息筛选模块。19.一种计算机可读存储介质,其存储用于消息处理的计算机程序,所述计算机程序能被处理器执行以执行如权利要求1至9中任一项所述的方法。
技术总结
本发明公开了一种由车载V2X设备执行的消息处理方法,该车载V2X设备安装于自车并且包括底层模块和上层模块,该方法包括以下步骤:S1:在底层模块接收来自他车的消息;S2:将消息传送至上层模块以供进一步处理,该方法在步骤S1与S2之间还执行以下步骤:S12:对消息进行解码以获得他车的车辆ID信息、时间戳和行驶信息;S14:判断行驶信息是否满足预设条件;S16:如果行驶信息满足预设条件,则将他车的车辆ID信息保存至自车的关注车辆ID列表中并执行步骤S2;S18:如果行驶信息不满足预设条件,则判断他车的车辆ID信息是否已在关注车辆ID列表中,如果为是,则执行步骤S2;如果为否,则将消息丢弃并且不再执行步骤S2。还提供了相关的系统和计算机介质。统和计算机介质。统和计算机介质。
技术研发人员:宋跃其 董智勇
受保护的技术使用者:株式会社电装
技术研发日:2022.08.16
技术公布日:2023/8/28
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/