通信链路自检测方法、系统和自动驾驶车辆与流程

文档序号:23844363发布日期:2021-02-05 10:17阅读:88来源:国知局
通信链路自检测方法、系统和自动驾驶车辆与流程

[0001]
本公开实施例涉及自动驾驶技术领域,特别涉及一种由订阅者执行的通信链路自检测方法、系统和自动驾驶车辆。


背景技术:

[0002]
发布-订阅通信框架被广泛应用于各类电子系统中,其中典型地,自动驾驶车辆通常也利用这一通信框架进行系统内部的通信,以支撑自动驾驶车辆系统中不同工作模块之间进行端对端的通信;发布-订阅通信框架的运行状态,对整个自动驾驶车辆系统的稳定性和安全性都起着至关重要的作用。


技术实现要素:

[0003]
本公开旨在至少解决现有技术中存在的发布-订阅通信框架无法对自身通信链路是否存在异常进行检测的问题,提出了一种通信链路自检测方法、系统和自动驾驶车辆。
[0004]
第一方面,本公开实施例提供了一种由订阅者执行的通信链路自检测方法,其中,所述通信链路用于以发布-订阅通信方式进行通信的发布者和所述订阅者进行通信,所述订阅者为所述发布者被创建时内部创建的虚拟模块,所述方法包括:
[0005]
接收发布者发送的第一数据信息;
[0006]
基于接收到所述第一数据信息的第一时刻和接收到所述第一数据信息之前的第二数据信息的第二时刻,确定所述第一数据信息的至少一个通信状态参数;
[0007]
基于所述至少一个通信状态参数,检测所述通信链路是否出现异常。
[0008]
在一些实施例中,所述基于接收到所述第一数据信息的第一时刻和接收到所述第一数据信息之前的第二数据信息的第二时刻,确定所述第一数据信息的至少一个通信状态参数的步骤具体包括:
[0009]
通过预定义的回调函数,将接收到所述第一数据信息的第一时刻与接收到所述第一数据信息之前的第二数据信息的第二时刻进行比较,从而确定出所述第一数据信息的至少一个通信状态参数。
[0010]
在一些实施例中,所述至少一个通信状态参数包括:接收到所述发布者所发布消息的频率和/或接收到所述发布者所发布消息的时延。
[0011]
在一些实施例中,当所述至少一个通信状态参数包括所述接收到所述发布者所发布消息的频率时,所述基于接收到所述第一数据信息的第一时刻和接收到所述第一数据信息之前的第二数据信息的第二时刻,确定所述第一数据信息的至少一个通信状态参数的步骤具体包括:
[0012]
调用预定义的第一回调函数;所述第一回调函数被调用时执行获取系统当前时刻以作为所述第一数据信息的第一时刻,获取位于所述第一数据信息之前的第n条历史数据信息的接收时刻以作为所述第二数据信息的第二时刻,并计算所述第一数据信息的第一时刻与所述第二数据信息的差值,以及计算n与该差值的商的处理过程,其中n为大于2的整
数;
[0013]
接收所述第一回调函数反馈的处理结果,以作为所述接收到所述发布者所发布消息的频率。
[0014]
在一些实施例中,当所述至少一个通信状态参数包括接收到所述发布者所发布消息的时延时,所述基于接收到所述第一数据信息的第一时刻和接收到所述第一数据信息之前的第二数据信息的第二时刻,确定所述第一数据信息的至少一个通信状态参数的步骤具体步骤包括:
[0015]
调用预定义的第二回调函数;所述第二回调函数被调用时执行获取系统当前时刻以作为所述第一数据信息的第一时刻,获取位于所述第一数据信息之前的第1条历史数据信息的接收时刻以作为所述第二数据信息的第二时刻,并计算所述第一数据信息的第一时刻与所述第二数据信息的第二时刻的差值的处理过程;
[0016]
接收所述第二回调函数反馈的处理结果,以作为所述接收到所述发布者所发布消息的时延。
[0017]
在一些实施例中,所述基于所述至少一个通信状态参数,检测所述通信链路是否出现异常包括:
[0018]
将所述至少一个通信状态参数分别与对应的预定范围进行比较;
[0019]
如果所述至少一个通信状态参数中的至少之一处于对应的预定范围之外,则检测出所述通信链路出现异常。
[0020]
在一些实施例中,所述基于所述至少一个通信状态参数,检测所述通信链路是否出现异常的步骤包括:
[0021]
将所述至少一个通信状态参数分别与对应的预定范围进行比较;
[0022]
如果所述至少一个通信状态参数中的至少之一处于对应的预定范围之外,则判定出所述通信链路传递所述第一数据信息的过程出错;
[0023]
统计在当前第一统计周期内所述通信链路传递数据信息的过程出错的累计次数;
[0024]
判断所述累计次数是否到达预定阈值;
[0025]
当判断出所述累计次数到达预定阈值时,则检测出所述通信链路出现异常。
[0026]
第二方面,本公开实施例提供了一种由订阅者执行的通信链路自检测系统,其中,所述通信链路用于以发布-订阅通信方式进行通信的发布者和所述订阅者进行通信,所述订阅者为所述发布者被创建时内部创建的虚拟模块,所述系统包括:
[0027]
接收模块,用于接收发布者发送的第一数据信息;
[0028]
确定模块,用于基于接收到所述第一数据信息的第一时刻和接收到所述第一数据信息之前的第二数据信息的第二时刻,确定所述第一数据信息的至少一个通信状态参数;
[0029]
检测模块,用于基于所述至少一个通信状态参数,检测所述通信链路是否出现异常。
[0030]
在一些实施例中,所述确定模块具体用于通过预定义的回调函数,将接收到所述第一数据信息的第一时刻与接收到所述第一数据信息之前的第二数据信息的第二时刻进行比较,从而确定出所述第一数据信息的至少一个通信状态参数。
[0031]
在一些实施例中,所述至少一个通信状态参数包括:接收到所述发布者所发布消息的频率和/或接收到所述发布者所发布消息的时延。
[0032]
在一些实施例中,当所述至少一个通信状态参数包括所述接收到所述发布者所发布消息的频率时,所述确定模块包括:
[0033]
第一调用单元,用于调用预定义的第一回调函数;所述第一回调函数被调用时执行获取系统当前时刻以作为所述第一数据信息的第一时刻,获取位于所述第一数据信息之前的第n条历史数据信息的接收时刻以作为所述第二数据信息的第二时刻,并计算所述第一数据信息的第一时刻与所述第二数据信息的差值,以及计算n与该差值的商的处理过程,其中n为大于2的整数;
[0034]
第一接收单元,用于接收所述第一回调函数反馈的处理结果,以作为所述接收到所述发布者所发布消息的频率。
[0035]
在一些实施例中,当所述至少一个通信状态参数包括所述接收到所述发布者所发布消息的时延时,所述确定模块包括:
[0036]
第二调用单元,用于调用预定义的第二回调函数;所述第二回调函数被调用时执行获取系统当前时刻以作为所述第一数据信息的第一时刻,获取位于所述第一数据信息之前的第1条历史数据信息的接收时刻以作为所述第二数据信息的第二时刻,并计算所述第一数据信息的第一时刻与所述第二数据信息的第二时刻的差值的处理过程;
[0037]
第二接收单元,用于接收所述第二回调函数反馈的处理结果,以作为所述接收到所述发布者所发布消息的时延。
[0038]
在一些实施例中,所述检测模块包括:
[0039]
比较单元,用于将所述至少一个通信状态参数分别与对应的预定范围进行比较;
[0040]
第一检测单元,用于当比较出所述至少一个通信状态参数中的至少之一处于对应的预定范围之外时,则检测出所述通信链路出现异常。
[0041]
在一些实施例中,所述检测模块包括:
[0042]
比较单元,用于将所述至少一个通信状态参数分别与对应的预定范围进行比较;
[0043]
判定单元,用于当比较出所述至少一个通信状态参数中的至少之一处于对应的预定范围之外时,则判定出所述通信链路传递所述第一数据信息的过程出错;
[0044]
统计单元,用于统计在当前第一统计周期内所述通信链路传递数据信息的过程出错的累计次数;
[0045]
判断单元,用于判断所述累计次数是否到达预定阈值;
[0046]
第二检测单元,用于当所述判断单元判断出所述累计次数到达预定阈值时,则检测出所述通信链路出现异常。
[0047]
第三方面,本公开实施例提供了一种自动驾驶车辆,包括:如上述的通信链路自检测系统。
[0048]
本公开的技术方案可及时、有效地检测发布-订阅通信框架中的通信链路是否出现异常,有利于维护自动驾驶车辆系统的稳定性和安全性。
附图说明
[0049]
图1为相关技术涉及的一种自动驾驶车辆系统的结构框图;
[0050]
图2为本公开实施例提供的一种通信链路自检测方法流程图;
[0051]
图3为本公开实施例中步骤s2的一种可选实现方法的流程图;
[0052]
图4为本公开实施例中步骤s2的另一种可选实现方法的流程图;
[0053]
图5为本公开中步骤s3的一种可选实现方法的流程图;
[0054]
图6为本公开中步骤s3的另一种可选实现方法的流程图;
[0055]
图7为本公开实施例提供的另一种通信链路自检测方法的流程图;
[0056]
图8为本公开实施例提供的又一种通信链路自检测方法的流程图;
[0057]
图9为本公开实施例提供的一种发布-订阅通信框架的结构框图;
[0058]
图10为本公开实施例中确定模块的一种结构框图;
[0059]
图11为本公开实施例中确定模块的另一种结构框图;
[0060]
图12为本公开实施例中确定模块的又一种结构框图;
[0061]
图13为本公开实施例中检测模块的一种结构框图;
[0062]
图14为本公开实施例中检测模块的另一种结构框图。
具体实施方式
[0063]
为使本领域的技术人员更好地理解本公开的技术方案,下面结合附图对本公开提供的一种通信链路自检测方法、系统和自动驾驶车辆进行详细描述。
[0064]
在下文中将参考附图更充分地描述示例实施例,但是所述示例实施例可以以不同形式来体现且不应当被解释为限于本文阐述的实施例。反之,提供这些实施例的目的在于使本公开透彻和完整,并将使本领域技术人员充分理解本公开的范围。
[0065]
本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由
……
制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其他特征、整体、步骤、操作、元件、组件和/或其群组。
[0066]
将理解的是,虽然本文可以使用术语第一、第二等来描述各种元件,但这些元件不应当受限于这些术语,这些术语仅用于区分一个对象和另一对象。
[0067]
除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。
[0068]
为便于本领域技术人员更好的理解本公开的技术方案,现对相关技术进行描述。
[0069]
图1为相关技术涉及的一种自动驾驶车辆系统的结构框图,如图1所示,自动驾驶车辆系统包括多个工作模块和发布-订阅通信框架,其中发布-订阅通信框架是基于一定的硬件和软件所构成,发布-订阅通信框架用于为各工作模块提供接口,每个工作模块在收到消息和发出消息时均调用相应的接口。
[0070]
具体地,以两个工作模块基于发布-订阅通信框架进行消息传递过程为例;两个工作模块中的一个工作模块作为消息写入模块(writer),另一个作为消息读取模块(reader),该消息读取模块订阅该消息写入模块。在进行端对端数据通信时,消息写入模块以预定发送频率f0向发布-订阅通信框架写入数据信息,发布-订阅通信框架将该写入数据进行广播,订阅过该消息写入模块的消息读取模块从发布-订阅通信框架中会以相同频率
f0读取到数据信息。
[0071]
然而,在实际应用中发现,当发布-订阅通信框架处于异常状态(例如,自动驾驶车辆信号框架内存在数据阻塞或数据传输速率波动)时,消息写入模块虽以频率f0发送数据信息,但是消息读取模块会以不同于频率f0的接收频率(例如,接收频率远小于预定发送频率f0,或者接收频率在距离预定发送频率f0较大的范围内进行波动)接收到数据信息,从而导致数据信息的时效性差,自动驾驶车辆系统的稳定性和安全性受到威胁。为此,如何及时、有效地检测发布-订阅通信框架处于正常状态或异常状态,对维护自动驾驶车辆系统的稳定性和安全性是十分重要的。
[0072]
为实现检测发布-订阅通信框架处于正常状态或异常状态,本公开提供了相应技术方案,下面将结合具体实施例进行示例性描述。
[0073]
其中,本公开中的“发布者”具体是指前述的消息写入模块,“订阅者”具体是指发布-订阅通信框架内创建定义出的具有与自动驾驶系统的消息读取模块功能相同的虚拟模块;需要说明的是,本公开中的“订阅者”与前述消息读取模块存在本质的区别,具体地,本公开中的订阅者为发布-订阅通信框架内部所定义出虚拟模块,而前述消息读取模块为位于发布-订阅通信框架之外的纯硬件模块或由硬件配合软件所构成的模块。
[0074]
本公开所提供的通信链路自检测方法由发布-订阅通信框架内部的订阅者来执行,以使得发布-订阅通信框架能够对自身通信链路是否出现异常进行检测。
[0075]
作为一种可选方案,当发布-订阅通信框架为某个工作模块提供接口时,发布-订阅通信框架会以该工作模块作为发布者(即发布者被创建),在自身内部自动构建出订阅该发布者的订阅者;该订阅者的本质为发布-订阅通信框架内部生成的可运行程序,能够实现相应处理逻辑。
[0076]
图2为本公开实施例提供的一种通信链路自检测方法的流程图,如图2所示,该自检测方法包括:
[0077]
步骤s1、接收发布者发送的第一数据信息。
[0078]
在一些实施例中,该发布者可选自现有自动驾驶车辆系统内所包含的任一工作模块,例如,感知模块(用于感知周围环境并生成相应感知数据)、预处理模块(用于对感知数据进行预处理,例如降噪)、决策规划模块(用于根据感知数据生成决策信息)和控制模块(用于根据决策信息生成并发出控制信息,以控制车辆操作系统执行相应操作)。
[0079]
发布者会以预先设定好的频率向发布-订阅通信框架写入数据信息,订阅者通过发布-订阅通信框架内的通信链路来接收该发布者所发出的数据信息。
[0080]
以执行步骤s1的时刻作为第一时刻,数据自检测系统在步骤s1中接收到的数据信息称为第一数据信息。
[0081]
步骤s2、基于接收到所述第一数据信息的第一时刻和接收到所述第一数据信息之前的第二数据信息的第二时刻,确定出第一数据信息的至少一个通信状态参数。
[0082]
在本公开中,第一数据信息的通信状态参数为能够描述第一数据信息在通信链路内的传递属性的参数,第一数据信息的通信状态能够在一定程度上反应出通信链路的工作状态。
[0083]
作为步骤s2的一种可选实现方式,订阅者通过预先存储的函数指针调用预定义的回调函数,以供该回调函数根据第一数据信息的接收时刻和位于第一数据信息之前的第二
数据信息的第二时刻,计算出第一数据信息的至少一个通信状态参数。
[0084]
在本公开中,基于回调函数来计算第一数据信息的通信状态参数的技术手段,可使得数据自检测系统中仅需记载该回调函数的函数指针(回调函数存储在发布-订阅通信框架之外),有利于发布-订阅通信框架的轻量级化,其为本公开中的一种优选方案。
[0085]
在一些实施例中,上述至少一个通信状态参数包括:订阅者接收到发布者所发布消息的频率(简称“接收频率”)和/或接收到发布者所发布消息的时延(简称“接收时延”)。
[0086]
图3为本公开实施例中步骤s2的一种可选实现方法流程图,如图3所示,当上述至少一个通信状态参数包括接收频率时,步骤s2具体包括:
[0087]
步骤s201a、调用预定义的第一回调函数。
[0088]
数据自检测系统通过函数指针调用预先定义的第一回调函数;其中,第一回调函数被调用时执行获取系统当前时刻以作为第一数据信息的第一时刻,获取位于所述第一数据信息之前的第n条历史数据信息的接收时刻以作为所述第二数据信息的第二时刻,并计算所述第一数据信息的第一时刻与所述第二数据信息的差值,以及计算n与该差值的商的处理过程,n为大于2的整数。
[0089]
进一步可选地,n满足:4≤n≤10。
[0090]
步骤s202a、接收第一回调函数反馈的处理结果,以作为订阅者接收到发布者所发布消息的频率。
[0091]
需要说明的是,上述通过计算第一数据信息的第一时刻与位于第一数据信息的之前的第n条历史数据信息的接收时刻(即第二数据信息的第二时刻)的差值,并计算n与该差值的商,且将计算结果作为订阅者接收到发布者所发布消息的频率的技术手段,其仅为本公开中的一种可选方案,其不会对本公开的技术方案产生限制。在本公开中,还可以采用现有其他接收频率确定算法来确定订阅者接收到发布者所发布消息的频率,此处不在一一举例此外。
[0092]
此外,基于第一回调函数来计算第一数据信息的接收频率(即订阅者接收到发布者所发布消息的频率)的技术手段,可使得数据自检测系统中仅需记载第一回调函数对应的函数指针(第一回调函数的存储在发布-订阅通信框架之外),有利于发布-订阅通信框架的轻量级化,其为本公开中的一种优选方案。
[0093]
图4为本公开实施例中步骤s2的另一种可选实现方法流程图,如图4所示,当上述至少一个通信状态参数包括接收时延时,步骤s2具体包括:
[0094]
步骤s201b、调用预定义的第二回调函数。
[0095]
数据自检测系统通过函数指针调用预定义的第二回调函数;其中,第二回调函数被调用时执行获取系统当前时刻以作为第一数据信息的接收时刻,获取位于第一数据信息之前的第1条历史数据信息的接收时刻以作为第二数据信息的第二时刻,并计算第一数据信息的第一时刻与第二数据信息的第二时刻的差值的处理过程。
[0096]
步骤s202b、接收第二回调函数反馈的处理结果,以作为订阅者接收到发布者所发布消息的时延。
[0097]
需要说明的是,基于第二回调函数来计算第一数据信息的时延(即订阅者接收到发布者所发布消息的时延)的技术手段,可使得数据自检测系统中仅需记载第二回调函数对应的函数指针(第二回调函数的存储在发布-订阅通信框架之外),有利于发布-订阅通信
框架的轻量级化,其为本公开中的一种优选方案。
[0098]
当然,在一些实施例中,上述至少一个通信状态参数可同时包括上述接收频率和上述接收时延,此时步骤s2可同时包括上述步骤s201a、步骤s202a、步骤s201b和步骤s202b,步骤s201a和步骤s201b的执行顺序不作限定。
[0099]
步骤s3、根据至少一个通信状态参数检测出通信链路当前是否异常。
[0100]
由于订阅者所接收到的第一数据信息的通信状态能够在一定程度上反应出通信链路的工作状态,因此根据步骤s2所得到的上述至少一个通信状态参数可及时、有效地检测出通信链路当前处于正常状态或异常状态。
[0101]
图5为本公开中步骤s3的一种可选实现方法流程图,如图5所示,步骤s3包括:
[0102]
步骤s301、将上述至少一个通信状态参数分别与对应的预定范围进行比较,并判断是否存在数值处于对应的预定范围之外的通信状态参数。
[0103]
在本公开中,针对每个通信状态参数各自均配置有对应的预定状态参数范围(即预定范围);具体地,各通信状态参数对应的预定状态参数范围,可在发布-订阅通信框架创建订阅者时,由人工输入配置或由发布-订阅通信框架自动配置。
[0104]
在一些实施例中,当上述至少一个通信状态参数仅包括接收频率时,则需预先配置一个预定频率范围,该预定频率范围所覆盖的频率为正常接收频率。此时,检测步骤s2得到的接收频率是否处于该预定频率范围之外;其中,若检测出步骤s2得到的接收频率处于该预定频率范围之外,则表示接收频率异常,此时步骤s301判断出在至少一个通信状态参数中存在数值处于对应的预定范围之外的通信状态参数;若检测出步骤s2得到的接收频率处于该预定频率范围之内,则表示接收频率正常,此时步骤s301判断出在至少一个通信状态参数中不存在数值处于对应的预定状态参数范围之外的通信状态参数。
[0105]
在一些实施例中,当上述至少一个通信状态参数仅包括接收时延时,则需预先配置一个预定时延范围,该预定时延范围所覆盖的接收时延为正常接收时延。此时,检测步骤s2得到的接收时延是否处于该预定时延范围之外;其中,若检测出步骤s2得到的接收时延处于该预定时延范围之外,则表示接收时延异常,此时步骤s301判断出在至少一个通信状态参数中存在数值处于对应的预定状态参数范围之外的通信状态参数;若检测出步骤s2得到的接收时延处于该预定时延范围之内,则表示接收时延正常,此时步骤s301判断出在至少一个通信状态参数中不存在数值处于对应的预定范围之外的通信状态参数。
[0106]
在一些实施例中,当上述至少一个通信状态参数同时包括接收频率和接收时延时,则需预先配置一个预定频率范围和一个预定时延范围;此时,检测步骤s2得到的接收频率是否处于该预定频率范围之外,以及检测步骤s2得到的接收时延是否处于该预定时延范围之外;其中,若检测出步骤s2得到的接收频率处于该预定频率范围之外,和/或步骤s2得到的时延处于该预定时延范围之外(接收频率和接收时延中的至少一者异常),则步骤s301判断出在至少一个通信状态参数中存在数值处于对应的预定范围之外的通信状态参数;若检测出步骤s2得到的接收频率处于该预定频率范围之内,且步骤s2得到的时延处于该预定时延范围之内(接收频率和接收时延两者均正常),则步骤s301判断出在至少一个通信状态参数中不存在数值处于对应的预定范围之外的通信状态参数。
[0107]
在步骤s301中,当判断出在至少一个通信状态参数中不存在数值处于对应的预定范围之外的通信状态参数时,表征每个通信状态均正常,此后执行步骤s302;反之,则执行
步骤s303a。
[0108]
步骤s302、检测出通信链路处于正常状态。
[0109]
步骤s303a、检测出发布-订阅通信框架出现异常。
[0110]
图6为本公开中步骤s3的另一种可选实现方法流程图,如图6所示,步骤s3包括:
[0111]
步骤s301、将上述至少一个通信状态参数分别与对应的预定范围进行比较,并判断在至少一个通信状态参数中是否存在数值处于对应的预定范围之外的通信状态参数。
[0112]
对于步骤s301的具体描述,可参见前述内容,此处不再赘述。
[0113]
在步骤s301中,当判断出在至少一个通信状态参数中不存在数值处于对应的预定范围之外的通信状态参数时,表征每个通信状态均正常,此后执行步骤s302。
[0114]
当判断出在至少一个通信状态参数中存在数值处于对应的预定状态参数范围之外的通信状态参数时,则表明存在至少一个通信状态异常,此后执行步骤s303b。
[0115]
步骤s302、检测出通信链路处于正常状态。
[0116]
步骤s303b、判定出通信链路传递第一数据信息的过程出错。
[0117]
步骤s304、统计在当前第一统计周期内发布-订阅通信框架传递数据信息的过程出错的累计次数。
[0118]
步骤s305、判断累计次数是否到达预定阈值。
[0119]
在本实施例中,考虑通信链路在短时间内偶尔出现数据传递异常,不会影响到自动驾驶车辆系统的稳定性和安全性,因此在一些实施例中可预先设定第一统计周期,通过统计当前统计周期内的通信链路传递发布者所写入数据信息的过程出错的累计次数,并判断该累计次数是否到达预定阈值,从而确定出通信链路当前处于异常状态或正常状态。
[0120]
需要说明的是,每个第一统计周期结束后累计次数会进行复位置“0”处理。
[0121]
在步骤s305中,当判断出累计次数到达预定阈值时,则执行步骤s306;反之,则执行步骤s307。
[0122]
步骤s306、检测出发布-订阅通信框架出现异常。
[0123]
步骤s307、检测出发布-订阅通信框架当前处于正常状态。
[0124]
图7为本公开实施例提供的另一种通信链路自检测方法的流程图,如图7所示,图7所示通信链路自检测方法不但包括上述步骤s1~s3,还包括步骤s4,下面仅对步骤s4进行详细描述。
[0125]
其中,当步骤s3检测出通信链路出现异常时,执行步骤s4。
[0126]
步骤s4、发出警报信息。
[0127]
在本公开中,警报信息的呈现形式不作限定。例如,警报信息为发送至车载系统中的显示器的信息,用于控制显示器显示出警报信息;或者,警报信息为发送至车载系统中音箱的信息,用于控制音箱播警报报信息。对于警报信息的其他呈现形式,此处不再一一举例。
[0128]
图8为本公开实施例提供的又一种通信链路自检测方法的流程图,如图8所示,图8所示通信链路不但包括上述步骤s1~s3,还包括步骤s5,下面仅对步骤s5进行详细描述。
[0129]
步骤s5、每隔第二统计周期统计所处周期内接收到的数据信息的数量。
[0130]
本公开的技术方案对步骤s5与上述步骤s1~s3之间的执行顺序不作限定;图8中仅示例性画出了步骤s5位于步骤s3之后执行的情况。
[0131]
需要说明的是,在本公开实施例中,通信链路自检测方法也可同时包括上述步骤s1~步骤s3、步骤s4和步骤s5,此组合出的技术方案也应属于本公开的保护范围。
[0132]
图9为本公开实施例提供的一种通信链路自检测系统的结构框图,如图9所示,该通信链路自检测系统可用于实现前述实施例提供的通信链路自检测方法,其中,该通信链路用于以发布-订阅通信方式进行通信的发布者和该订阅者进行通信,该订阅者为该发布者被创建时内部创建的虚拟模块,该系统包括:接收模块1、确定模块2和检测模块3。
[0133]
其中,接收模块1用于接收发布者发送的第一数据信息。
[0134]
确定模块2用于基于接收到第一数据信息的第一时刻和接收到第一数据信息之前的第二数据信息的第二时刻,确定第一数据信息的至少一个通信状态参数。
[0135]
检测模块3用于基于确定模块2所确定的各通信状态参数,检测通信链路是否出现异常。
[0136]
在一些实施例中,确定模块2具体用于通过预定义的回调函数,将接收到第一数据信息的第一时刻与接收到第一数据信息之前的第二数据信息的第二时刻进行比较,从而确定出第一数据信息的至少一个通信状态参数。
[0137]
在一些实施例中,上述至少一个通信状态参数包括:接收到发布者所发布消息的频率和/或接收到发布者所发布消息的时延。
[0138]
图10为本公开中确定模块的一种结构框图,如图10所示,在一些实施例中,当上述至少一个通信状态参数包括接收到发布者所发布消息的频率时,确定模块2包括:第一调用单元201a和第一接收单元202a。
[0139]
其中,第一调用单元201a用于调用预定义的第一回调函数;第一回调函数被调用时执行获取系统当前时刻以作为第一数据信息的第一时刻,获取位于第一数据信息之前的第n条历史数据信息的接收时刻以作为第二数据信息的第二时刻,并计算第一数据信息的第一时刻与第二数据信息的差值,以及计算n与该差值的商的处理过程,其中n为大于2的整数。
[0140]
第一接收单元202a用于接收第一回调函数反馈的处理结果,以作为接收到发布者所发布消息的频率。
[0141]
图11为本公开中确定模块的另一种结构框图,如图11所示,在一些实施例中,当上述至少一个通信状态参数包括接收到发布者所发布消息的时延时,确定模块2包括:第二调用单元201b和第二接收单元202b。
[0142]
其中,第二调用单元201b用于调用预定义的第二回调函数;第二回调函数被调用时执行获取系统当前时刻以作为第一数据信息的第一时刻,获取位于第一数据信息之前的第1条历史数据信息的接收时刻以作为第二数据信息的第二时刻,并计算第一数据信息的第一时刻与第二数据信息的第二时刻的差值的处理过程;
[0143]
第二接收单元202b用于接收第二回调函数反馈的处理结果,以作为接收到发布者所发布消息的时延。
[0144]
图12为本公开中确定模块的又一种结构框图,如图12所示,在一些实施例中,当上述至少一个通信状态参数同时包括接收频率和接收时延时,则确定模块2可同时包括上述第一调用单元201a、第一接收单元202a、第二调用单元201b和第二接收单元202b。
[0145]
图13为本公开中检测模块的一种结构框图,如图13所示,在一些实施例中,检测模
块包括3:比较单元301和第一检测单元302。
[0146]
其中,比较单元301用于将上述确定模块2所确定的各通信状态参数分别与对应的预定范围进行比较。
[0147]
第一检测单元302用于当比较出上述确定模块2所确定的各通信状态参数中的至少之一处于对应的预定范围之外时,则检测出通信链路出现异常;反之,则检测出通信链路处于正常状态。
[0148]
图14为本公开中检测模块的一种结构框图,如图14所示检测模块包括:比较单元301、判定单元303、统计单元304、判断单元305和第二检测单元306。
[0149]
其中,比较单元301用于将上述确定模块2所确定的各通信状态参数分别与对应的预定范围进行比较。
[0150]
判定单元303用于当比较出各通信状态参数中的至少之一处于对应的预定范围之外时,则判定出通信链路传递第一数据信息的过程出错。
[0151]
统计单元304用于统计在当前第一统计周期内通信链路传递数据信息的过程出错的累计次数。
[0152]
判断单元305用于判断累计次数是否到达预定阈值。
[0153]
第二检测单元306用于当判断单元判断出累计次数到达预定阈值时,则检测出通信链路出现异常;反之,则检测出通信链路处于正常状态。
[0154]
继续参见图9所示,在一些实施例中,该发布-订阅通信框架还包括:警报模块4;其中,警报模块4用于当检测模块检测出通信链路出现异常时,发出警报信息。
[0155]
继续参见图9所示,在一些实施例中,该发布-订阅通信框架还包括:统计模块5,用于每隔第二统计周期统计所处周期内接收到的数据信息的数量。
[0156]
此外,通信链路自检测系统还可以包括创建模块(未示出),该创建模块用于在发布-订阅通信框架为发布者提供通信接口时,在发布-订阅通信框架内创建出订阅的该发布者所发布信息的订阅者,对于该订阅者的描述可参见前述内容,此处不再赘述。
[0157]
对于本实施例中各模块和单元的具体描述,可参见前述实施例中对相应步骤进行描述的内容,此处不再赘述。
[0158]
本公开实施例还提供了一种自动驾驶车辆,该自动驾驶车辆系统包括前述实施例提供的通信链路自检测系统,对于该通信链路自检测系统的具体描述可参见前述内容,此处不再赘述。
[0159]
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、
rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质
[0160]
本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其他实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本公开的范围的情况下,可进行各种形式和细节上的改变。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1