1.本发明涉及车载网络技术领域,尤其涉及一种唤醒故障检测方法、装置、终端及存储介质和报文发送方法、装置及电子控制单元。
背景技术:
2.autosar(automotive open system architecture,汽车开放系统架构)是通过网络管理报文(以下简称报文)来实现对网络休眠唤醒的管理。
3.报文的构造如下表1所示:字节0中存放的是发送该报文的ecu(electronic control unit,电子控制单元或者节点或者控制器,以下统一称节点)的地址,字节1中存放的是控制信息,字节2至字节7是为满足用户自定义需求而设置的预留空间。
[0004][0005]
表1
[0006]
字节1的位构造如下表2所示:位1至位7为保留位,位0为重复报文状态请求位。
[0007][0008]
表2
[0009]
如图1所示,网络中节点休眠唤醒流程包括:节点最初处于睡眠模式,当有通信需求,节点进入网络模式,重复报文状态是网络模式的入口状态,到达该状态之后,启动定时器,在定时内,节点重复发送报文,当该定时器结束后,若有通信需求,节点进入常规操作状态并正常收发报文,若无通信需求,节点进入准备睡眠状态并停发报文。在准备睡眠状态,若出现通信需求,节点进入常规操作状态,若在定时器的定时内一直无通信需求,节点进入预睡眠模式。在预睡眠模式,启动定时器,若定时内有通信需求,节点回到重复报文状态,若过了定时仍无通信需求,节点进入睡眠模式。另外,通过配置报文字节1的位0的值,节点可实现从常规操作状态或者准备睡眠状态切换到重复报文状态。
[0010]
通过报文对网络休眠唤醒的管理流程包括:某个节点在睡眠模式下检测到主动唤醒请求时会重复发送报文来主动唤醒网络;处于睡眠模式的其他节点收到该报文后也会重复发送报文;在结束重复报文状态后,无网络请求的节点进入准备睡眠状态并停发报文;有网络请求的节点进入常规操作状态并正常收发报文,以及在释放网络请求后切换到准备睡眠状态并停发报文;在一段延时内未收到任何报文,节点进入睡眠模式;所有节点均进入睡眠模式时网络休眠。
[0011]
在网络休眠唤醒过程中,由于故障,可能会导致异常消耗电池电量。目前公认的导致异常消耗电池电量的故障为不休眠故障,即整车的网络节点在满足休眠条件的情况下(如下电或者锁车),仍有一个或者多个节点不能停发报文,维持车辆唤醒及高功耗。然而发明人通过研究发现,异常唤醒故障,即整车在休眠后,由于未知原因,变为唤醒状态,也有可能导致异常消耗电池电量。而且,目前尚无排查异常唤醒故障的技术方案。
技术实现要素:
[0012]
(一)发明目的
[0013]
本发明的目的是提供一种唤醒故障检测方法、装置、终端及存储介质和报文发送方法、装置及电子控制单元,用以解决现有技术中存在的尚无排查异常唤醒故障的技术方案的问题。
[0014]
(二)技术方案
[0015]
为解决上述问题,本发明的第一方面提供了一种唤醒故障检测方法,包括:
[0016]
获取用于检测第一唤醒故障的报文,每个所述报文包含唤醒节点指示参数和第一唤醒原因参数;
[0017]
根据获取的所述报文中的唤醒节点指示参数,确定唤醒源节点;
[0018]
判断确定的所述唤醒源节点发送报文中的第一唤醒原因参数的取值是否满足预设正常唤醒数值条件,若否,则确定发生所述第一唤醒故障。
[0019]
可选地,所述唤醒节点指示参数包括唤醒源节点指示参数和上级唤醒节点指示参数中的一种或多种。
[0020]
可选地,根据所述报文中的唤醒源节点指示参数和上级唤醒节点指示参数确定唤醒源节点,包括:
[0021]
判断根据所述报文中的所述唤醒源节点指示参数是否能确定出所述唤醒源节点;
[0022]
若否,则根据所述报文中的所述上级唤醒节点指示参数,确定所述唤醒源节点。
[0023]
可选地,所述上级唤醒节点指示参数包括唤醒id,根据所述报文中的上级唤醒节点指示参数确定唤醒源节点,包括:
[0024]
确定包含相同的唤醒id的报文的数量值;
[0025]
在所述报文的数量值与报文总数值的比值不小于预设比值时,将所述相同的唤醒id映射的节点,确定为所述唤醒源节点。
[0026]
可选地,所述唤醒源节点指示参数包括主动唤醒id和主动唤醒标志位,根据所述报文中的唤醒源节点指示参数确定唤醒源节点,包括:
[0027]
判断所述报文中的主动唤醒id是否为预设id且主动唤醒标志位是否为预设值,若均为是,则将所述报文的发送节点确定为所述唤醒源节点。
[0028]
可选地,判断所述第一唤醒原因参数的取值是否满足预设正常唤醒数值条件,包括:
[0029]
判断所述第一唤醒原因参数的取值是否在预设正常唤醒数值范围内且所述取值与真实第一唤醒原因参数值是否相等。
[0030]
可选地,判断所述第一唤醒原因参数的取值与真实第一唤醒原因参数值不相等之后,所述方法还包括:
[0031]
确定所述第一唤醒原因参数的取值与真实第一唤醒原因参数值不相等的引发原因;
[0032]
依次检验各所述引发原因,排查出所述第一唤醒故障的引发原因。
[0033]
可选地,所述方法还包括:
[0034]
获取用于检测第二唤醒故障的报文,每个所述报文包含第二唤醒原因参数;
[0035]
判断所述报文中的第二唤醒原因参数的取值是否满足预设保持唤醒数值条件,若否,则确定发生所述第二唤醒故障。
[0036]
本发明的第二方面提供了一种报文发送方法,包括:
[0037]
生成包含唤醒节点指示参数和唤醒原因参数的报文;
[0038]
发送生成的所述报文,以便于获取所述报文,根据所述报文中的唤醒节点指示参数确定唤醒源节点,判断所述唤醒源节点发送报文中的唤醒原因参数的取值是否满足预设正常唤醒数值条件,若否,则确定发生异常唤醒故障。
[0039]
可选地,所述报文还包括快慢发参数,所述发送生成的所述报文,包括:
[0040]
判断所述快慢发参数值是否为快发值;
[0041]
若是,则按照第一速度值发送所述报文,并在需要通信的节点唤醒后,按照第二速度值发送所述报文;否则,按照第二速度值发送所述报文;
[0042]
其中,所述第一速度值大于所述第二速度值。
[0043]
本发明的第三方面提供了一种唤醒故障检测装置,包括:
[0044]
获取模块,用于获取用于检测异常唤醒故障的报文,每个所述报文包含唤醒节点指示参数和唤醒原因参数;
[0045]
确定模块,用于根据获取的所述报文中的唤醒节点指示参数,确定唤醒源节点;
[0046]
判断模块,用于判断确定的所述唤醒源节点发送报文中的唤醒原因参数的取值是否满足预设正常唤醒数值条件,若否,则确定发生所述异常唤醒故障。
[0047]
本发明的第四方面提供了一种唤醒故障检测终端,包括:
[0048]
存储器;
[0049]
处理器;以及
[0050]
计算机程序;
[0051]
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现所述的唤醒故障检测方法。
[0052]
本发明的第五方面提供了一种存储介质,所述存储介质为计算机可读存储介质其上存储有计算机程序;
[0053]
所述计算机程序被处理器执行以实现所述的唤醒故障检测方法。
[0054]
本发明的第六方面提供了一种报文发送装置,包括:
[0055]
生成模块,用于生成包含唤醒节点指示参数和唤醒原因参数的报文;
[0056]
发送模块,用于发送生成的所述报文,以便于获取所述报文,根据所述报文中的唤醒节点指示参数确定唤醒源节点,判断所述唤醒源节点发送报文中的唤醒原因参数的取值是否满足预设正常唤醒数值条件,若否,则确定发生异常唤醒故障。
[0057]
本发明的第七方面提供了一种电子控制单元,包括所述的报文发送装置。
[0058]
(三)有益效果
[0059]
本发明提供了一种唤醒故障检测方法,包括:获取用于检测第一唤醒故障的报文,每个报文包含唤醒节点指示参数和第一唤醒原因参数;根据报文中的唤醒节点指示参数,确定唤醒源节点;判断唤醒源节点发送报文中的第一唤醒原因参数的取值是否满足预设正常唤醒数值条件,若否,则确定发生第一唤醒故障。本发明通过扩展报文的定义,在报文中新定义唤醒节点指示参数和第一唤醒原因参数,则获取报文后,可根据唤醒节点指示参数确定唤醒源节点,并根据第一唤醒原因参数判断唤醒源节点是否属于异常唤醒,从而提供了一种排查异常唤醒故障的技术方案。
附图说明
[0060]
图1是现有技术中节点休眠唤醒流程示意图;
[0061]
图2是本发明实施例提供的一种唤醒故障检测方法流程示意图;
[0062]
图3是本发明实施例提供的分网段网络结构示意图;
[0063]
图4是本发明实施例提供的不分网段网络结构示意图;
[0064]
图5是本发明实施例提供的另一种唤醒故障检测方法流程示意图;
[0065]
图6是本发明实施例提供的一种报文发送方法流程示意图;
[0066]
图7是本发明实施例提供的一种唤醒故障检测装置的结构示意图;
[0067]
图8是本发明实施例提供的另一种唤醒故障检测装置的结构示意图;
[0068]
图9是本发明实施例提供的一种唤醒故障检测终端的结构示意图;
[0069]
图10是本发明实施例提供的一种报文发送装置的结构示意图。
具体实施方式
[0070]
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
[0071]
显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0072]
在本发明的描述中,需要说明的是,术语“第一”、“第二”仅用于区分目的,而不能理解为指示或暗示相对重要性。术语“报文”指代“网络管理报文”。术语“节点”指代“ecu”。
[0073]
本发明实施例提供了一种唤醒故障检测方法,如图2所示,该方法包括:
[0074]
步骤201、获取用于检测第一唤醒故障的报文,每个报文包含唤醒节点指示参数和第一唤醒原因参数;
[0075]
步骤202、根据获取的报文中的唤醒节点指示参数,确定唤醒源节点;
[0076]
步骤203、判断确定的唤醒源节点发送报文中的第一唤醒原因参数的取值是否满足预设正常唤醒数值条件,若否,则确定发生第一唤醒故障。
[0077]
其中,第一唤醒故障,是指异常唤醒故障。异常唤醒故障,是指整车在休眠后,由于未知原因,变为唤醒状态,即整车在不满足唤醒条件的情况下,从休眠状态变为唤醒状态。
[0078]
其中,唤醒节点指示参数,是指指示唤醒节点的参数且根据该指示可直接或间接确定唤醒源节点。
[0079]
其中,第一唤醒原因参数,是指表征第一唤醒原因的参数。第一唤醒原因参数的取值不同,第一唤醒原因不同。
[0080]
其中,第一唤醒原因,是指报文发送节点由休眠状态变为唤醒状态的原因。
[0081]
实施中,本发明实施例通过扩展报文的定义,在报文中新定义唤醒节点指示参数和第一唤醒原因参数,则获取报文后,可根据唤醒节点指示参数确定唤醒源节点(即起到唤醒源头作用的节点),并根据第一唤醒原因参数判断唤醒源节点是否属于异常唤醒,从而提供了一种排查异常唤醒故障的技术方案。
[0082]
实施中,应用本发明实施例提供的排查异常唤醒故障的技术方案,无需到现场复现整车工作过程以排查异常唤醒故障,从而降低了排查复杂度以及提高了排查工作效率,对于偶发的异常唤醒故障效果明显。
[0083]
实施中,应用本发明实施例提供的排查异常唤醒故障的技术方案,仅需对现有技术中的报文的定义进行扩展,而无需改动现有技术中网络节点的交互流程,因而对现有技术中的通信网络影响特别小。
[0084]
实施中,本发明实施例根据报文内容排查异常唤醒故障,方案简单易行。
[0085]
实施中,本发明实施例提供的排查异常唤醒故障的技术方案对检测时间要求宽松。
[0086]
其中,本发明实施例对报文的定义进行了扩展,即在报文中新定义了唤醒节点指示参数和第一唤醒原因参数。
[0087]
下面将对在报文中定义唤醒节点指示参数的方案进行详细介绍。
[0088]
可选地,在报文的一个或多个已分配空间中定义唤醒节点指示参数。比如,以在报文的一个已分配空间中定义唤醒节点指示参数为例,如下表3所示,字节0原先已定义有源节点id,本发明实施例重新定义了字节0的含义,在字节0中既定义有源节点id又定义有唤醒节点指示参数。
[0089]
可选地,当在报文的已分配空间中定义唤醒节点指示参数时,已分配空间中原先已定义参数与唤醒节点指示参数的存放关系可以为:在第一条件下,该已分配空间存放原先已定义参数,在第二条件下,该已分配空间存放唤醒节点指示参数;或者,在已分配空间的第一比特位存放原先已定义参数,在已分配空间的第二比特位存放唤醒节点指示参数。比如,以下表3为例,第一条件为报文发送节点不是唤醒源节点,第二条件为报文发送节点是唤醒源节点;第一比特位为字节0的位0至位3,第二比特位为字节0的位4至位7。
[0090][0091][0092]
表3
[0093]
实施中,在报文的已分配空间中定义唤醒节点指示参数,可以充分利用报文的数据空间。
[0094]
可选地,在报文的一个或多个预留空间中定义唤醒节点指示参数。比如,以在报文的多个预留空间中定义唤醒节点指示参数为例,如下表4所示,字节2至字节7为报文的预留空间,在字节2和字节4这两个预留空间中定义了唤醒节点指示参数。
[0095][0096]
表4
[0097]
实施中,在报文的预留空间中定义唤醒节点指示参数,无需更改已分配空间的定义,具备兼容性。
[0098]
可选地,在报文的一个或多个已分配空间以及一个或多个预留空间中定义唤醒节点指示参数。比如,以在报文的一个已分配空间以及多个预留空间中定义唤醒节点指示参数为例,如下表5所示,字节0为已分配空间,字节3和字节7为预留空间。
[0099][0100]
表5
[0101]
实施中,在报文的已分配空间以及预留空间中定义唤醒节点指示参数,可以综合考虑充分利用报文空间和兼容性问题。
[0102]
可选地,在报文中定义第一唤醒原因参数的实施方式,与在报文中定义唤醒节点指示参数的实施方式类似,可以在报文的一个或多个已分配空间中定义第一唤醒原因参数;或者,在报文的一个或多个预留空间中定义第一唤醒原因参数;或者,在报文的一个或多个已分配空间以及一个或多个预留空间中定义第一唤醒原因参数,在此不再赘述。
[0103]
可选地,在步骤201中,根据当前网络组网方式的不同,用于检测第一唤醒故障的报文可以为网络中部分节点发送的报文,也可以为网络中全部节点发送的报文,下面将分别进行详细介绍。
[0104]
一、当前网络组网方式为分网段组网方式,用于检测第一唤醒故障的报文为网络中部分节点发送的报文。
[0105]
可选地,在步骤201中,获取用于检测第一唤醒故障的报文,包括:
[0106]
判断当前网络是否分网段;
[0107]
若是,则确定唤醒源节点所在网段,获取唤醒源节点所在网段中各节点发送的报文。
[0108]
实施中,根据组网特点,缩小报文范围,可以在很大程度上减少检测工作量。
[0109]
可选地,当前网络包含的各网段通过网关连接,确定唤醒源节点所在网段,包括:
[0110]
确定网关分别与各网段连接的各端口的值;
[0111]
将端口值为预设值的端口连接的网段,确定为唤醒源节点所在网段;其中,端口值为预设值,表示网关被唤醒。
[0112]
可选地,本发明实施例的预设值可以为能够表示网关被唤醒的任何值。
[0113]
比如,以图3为例,网络包含网段a、网段b和网段c,网段a与网关的a端口连接,网段b与网关的b端口连接,以及网段c与网关的c端口连接;其中,a端口的值为预设值0,表示网关被网段a唤醒;b端口的值为1,表示网关唤醒网段b;c端口的值为1,表示网关唤醒网段c;因此,a端口连接的网段a为唤醒源节点所在网段。
[0114]
实施中,通过网关端口值确定唤醒源节点所在网段,方案简单易行且准确度高。
[0115]
二、当前网络组网方式为不分网段组网方式,用于检测第一唤醒故障的报文为网络中全部节点发送的报文。
[0116]
可选地,在步骤201中,获取用于检测第一唤醒故障的报文,包括:
[0117]
判断当前网络是否分网段;
[0118]
若否,获取网络中各节点发送的报文。
[0119]
比如,以图4为例,网络不分网段且网络中有节点1至节点4,在获取用于检测第一唤醒故障的报文时,获取节点1、节点2、节点3和节点4发送的报文。
[0120]
实施中,网络不分段时,获取网络中全部节点发送的报文,可以提高检测的准确度。
[0121]
实施中,本发明实施例提供的排查异常唤醒故障的技术方案可以应用于不同的组网方式,适用范围广。
[0122]
其中,唤醒节点指示参数是可用于直接或间接确定唤醒源节点的任何指示唤醒节点的参数,比如,可以是唤醒源节点指示参数,可以是上级唤醒节点指示参数,也可以是下级唤醒节点指示参数。
[0123]
其中,唤醒源节点指示参数,是指指示报文发送节点是否为唤醒源节点的参数。
[0124]
其中,上级唤醒节点指示参数,是指指示报文发送节点是被哪个节点唤醒的参数。
[0125]
其中,下级唤醒节点指示参数,是指指示报文发送节点是否需要主动唤醒其他节点的参数。
[0126]
可选地,在步骤202中,根据唤醒源节点指示参数、上级唤醒节点指示参数和下级唤醒节点指示参数中的一个或多个参数,确定唤醒源节点。下面将对四种常用的方案分别进行介绍。
[0127]
实施中,根据方案应用场景对检测的速度和准确度的要求,自由选择确定唤醒源节点的方案,具有灵活性。
[0128]
一、根据报文中的唤醒源节点指示参数,确定唤醒源节点。
[0129]
可选地,唤醒节点指示参数包括唤醒源节点指示参数,
[0130]
在步骤202中,根据报文中的唤醒节点指示参数确定唤醒源节点,包括:
[0131]
根据报文中的唤醒源节点指示参数,确定唤醒源节点。
[0132]
实施中,根据唤醒源节点指示参数确定唤醒源节点,检测速度快。
[0133]
其中,唤醒源节点指示参数通过不同取值来指示报文发送节点是否为唤醒源节点,因而依据唤醒源节点指示参数的参数值,即能确定出唤醒源节点。
[0134]
其中,唤醒源节点指示参数可以是指示报文发送节点是否为唤醒源节点的任何参数,比如,可以是主动唤醒id(此处不限于id,可以是用于唯一标识节点的任何标记),可以是主动唤醒标志位,也可以是主动唤醒校验位等。
[0135]
其中,主动唤醒id,用于指示报文发送节点的id是否为唤醒源节点的id。
[0136]
其中,主动唤醒标志位,用于指示报文发送节点是否为唤醒源节点。
[0137]
其中,主动唤醒校验位,用于校验报文发送节点是否为唤醒源节点。
[0138]
可选地,根据主动唤醒id、主动唤醒标志位和主动唤醒校验位中的任意一个参数,确定唤醒源节点;比如,当报文中的主动唤醒id为预设id时,将报文的发送节点确定为唤醒源节点;或者,当报文中的主动唤醒标志位为预设值时,将报文的发送节点确定为唤醒源节点;或者,当报文中的主动唤醒校验位为预设校验码时,将报文的发送节点确定为唤醒源节点。其中,本发明实施例的预设id可以为预先设定的任何能够作为唤醒源节点地址的id,比
如0x55。本发明实施例的预设值可以为能够表示报文发送节点是唤醒源节点的任何值,比如1。本发明实施例的预设校验码可以为任何能够验证报文发送节点是唤醒源节点的编码。
[0139]
实施中,根据主动唤醒id、主动唤醒标志位和主动唤醒校验位中的任意一个参数确定唤醒源节点,检测速度快。
[0140]
可选地,根据主动唤醒id、主动唤醒标志位和主动唤醒校验位中的多个参数,确定唤醒源节点。
[0141]
下面以根据主动唤醒id和主动唤醒标志位确定唤醒源节点为例进行介绍。
[0142]
可选地,唤醒源节点指示参数包括主动唤醒id和主动唤醒标志位,根据报文中的唤醒源节点指示参数确定唤醒源节点,包括:
[0143]
判断报文中的主动唤醒id是否为预设id且主动唤醒标志位是否为预设值,若均为是,则将报文的发送节点确定为唤醒源节点。
[0144]
实施中,根据主动唤醒id、主动唤醒标志位和主动唤醒校验位中的多个参数确定唤醒源节点,相当于是检测的冗余机制,可以提高检测准确度。
[0145]
其中,在判断报文中的主动唤醒id是否为预设id且主动唤醒标志位是否为预设值时,若为否,则采用其他方法确定唤醒源节点。
[0146]
二、根据报文中的上级唤醒节点指示参数,确定唤醒源节点。
[0147]
可选地,唤醒节点指示参数包括上级唤醒节点指示参数,
[0148]
在步骤202中,根据报文中的唤醒节点指示参数确定唤醒源节点,包括:
[0149]
根据报文中的上级唤醒节点指示参数,确定唤醒源节点。
[0150]
其中,根据报文中的上级唤醒节点指示参数确定唤醒源节点的方案有多种,下面将介绍三种优选的方案。
[0151]
方案一、根据节点之间的唤醒关系确定唤醒源节点。
[0152]
可选地,根据报文中的上级唤醒节点指示参数,确定唤醒源节点,包括:
[0153]
对于每个节点分别执行:根据该节点发送报文中的上级唤醒节点指示参数,确定唤醒该节点的节点;
[0154]
将唤醒了多个节点的节点确定为候选唤醒源节点;
[0155]
根据候选唤醒源节点唤醒的节点的数量,确定唤醒源节点。
[0156]
其中,候选唤醒源节点唤醒的节点的数量值越大,该候选唤醒源节点是唤醒源节点的概率越大。
[0157]
可选地,根据候选唤醒源节点唤醒的节点的数量确定唤醒源节点的方案有多种,比如,候选唤醒源节点唤醒的节点的数量值与节点总数值的比值不小于预设比值时,将候选唤醒源节点确定为唤醒源节点(此处以比值为例,也可以为差值、方差值或标准差值等);或者,在候选唤醒源节点唤醒的节点的数量值不小于预设数量值时,将候选唤醒源节点确定为唤醒源节点。其中,在网络不分网段时节点总数值是指网络中节点的总数值,在网络分网段时节点总数值是指唤醒源节点所在网段中节点的总数值。其中,本发明实施例的预设比值可以根据需要或经验进行配置,比如配置为0.6、0.75或者0.8。其中,本发明实施例的预设数量值可以根据需要或经验进行配置。
[0158]
实施中,根据节点之间的唤醒关系确定唤醒源节点,检测准确度高。
[0159]
方案二、根据报文包含的相同的上级唤醒节点指示参数确定唤醒源节点。
[0160]
可选地,根据报文中的上级唤醒节点指示参数,确定唤醒源节点,包括:
[0161]
确定包含相同的上级唤醒节点指示参数的报文的数量值;
[0162]
在该报文的数量值满足预设条件时,将该相同的上级唤醒节点指示参数映射的节点,确定为唤醒源节点。
[0163]
其中,包含相同的上级唤醒节点指示参数的报文的数量值越大,该相同的上级唤醒节点指示参数映射的节点是唤醒源节点的概率越大。
[0164]
可选地,本发明实施例的预设条件为预先设定的对报文的数量值的限定条件,比如,报文的数量值与报文总数值的比值不小于预设比值(此处以比值为例,也可以为差值、方差值或标准差值等);或者,报文的数量值不小于预设数量值。其中,本发明实施例的预设比值可以根据需要或经验进行配置,比如配置为0.6、0.75或者0.8。其中,本发明实施例的预设数量值可以根据需要或经验进行配置。
[0165]
实施中,根据报文包含的相同的上级唤醒节点指示参数确定唤醒源节点,检测准确度高。
[0166]
方案三、将全部报文中出现频次最高的上级唤醒节点指示参数映射的节点,确定为唤醒源节点。
[0167]
比如,共有100条报文,60条报文中的上级唤醒节点指示参数为a,30条报文中的上级唤醒节点指示参数为b,10条报文中的上级唤醒节点指示参数为c,则将100条报文中出现频次最高的上级唤醒节点指示参数a映射的节点,确定为唤醒源节点。
[0168]
实施中,将全部报文中出现频次最高的上级唤醒节点指示参数映射的节点确定为唤醒源节点,兼顾考虑了检测速度和准确度。
[0169]
其中,上级唤醒节点指示参数可以是能够指示唤醒报文发送节点的节点的任何参数,具体地,可以是用于唯一标识唤醒报文发送节点的节点的任何标记,比如唤醒id、唤醒编号或唤醒名称等。
[0170]
其中,唤醒id,是指唤醒报文发送节点的节点的id。
[0171]
其中,唤醒编号,是指唤醒报文发送节点的节点的编号。
[0172]
其中,唤醒名称,是指唤醒报文发送节点的节点的名称。
[0173]
三、根据报文中的唤醒源节点指示参数和上级唤醒节点指示参数,确定唤醒源节点。
[0174]
可选地,唤醒节点指示参数包括唤醒源节点指示参数和上级唤醒节点指示参数,
[0175]
在步骤202中,根据报文中的唤醒节点指示参数确定唤醒源节点,包括:
[0176]
根据报文中的唤醒源节点指示参数和上级唤醒节点指示参数,确定唤醒源节点。
[0177]
其中,根据报文中的唤醒源节点指示参数和上级唤醒节点指示参数确定唤醒源节点的方案有多种,下面将介绍三种优选的方案。
[0178]
方案1、备份方案。
[0179]
可选地,根据报文中的唤醒源节点指示参数和上级唤醒节点指示参数,确定唤醒源节点,包括:
[0180]
判断根据报文中的唤醒源节点指示参数是否能确定出唤醒源节点;
[0181]
若否,则根据报文中的上级唤醒节点指示参数,确定唤醒源节点。
[0182]
实施中,首先,根据报文中的唤醒源节点指示参数确定唤醒源节点,以保证检测速
度;其次,在根据报文中的唤醒源节点指示参数,无法确定出唤醒源节点时,根据报文中的上级唤醒节点指示参数,确定唤醒源节点,以保证实现本发明的检测方案和保证检测准确度。
[0183]
方案2、校验方案。
[0184]
可选地,根据报文中的唤醒源节点指示参数和上级唤醒节点指示参数,确定唤醒源节点,包括:
[0185]
根据报文中的唤醒源节点指示参数,确定候选唤醒源节点;
[0186]
判断确定出的候选唤醒源节点发送报文中的上级唤醒节点指示参数的取值是否为预设值,若是,则将该候选唤醒源节点作为确定的唤醒源节点;否则,根据报文中的上级唤醒节点指示参数,确定唤醒源节点;其中,取值为预设值,表示无节点唤醒该候选唤醒源节点。
[0187]
实施中,采用本发明实施例的校验方案,可在保证检测准确度的前提下,尽量提高检测速度。
[0188]
方案3、冗余方案。
[0189]
可选地,根据报文中的唤醒源节点指示参数和上级唤醒节点指示参数,确定唤醒源节点,包括:
[0190]
根据报文中的唤醒源节点指示参数,确定第一候选唤醒源节点;以及,根据报文中的上级唤醒节点指示参数,确定第二候选唤醒源节点;
[0191]
判断第一候选唤醒源节点和第二候选唤醒源节点是否相同,若相同,则将第一候选唤醒源节点(或第二候选唤醒源节点)作为确定出的唤醒源节点。
[0192]
实施中,采用本发明实施例的冗余方案,可进一步提高检测准确度。
[0193]
可选地,若第一候选唤醒源节点和第二候选唤醒源节点不相同,可以直接将第二候选唤醒源节点作为确定出的唤醒源节点;也可以进一步结合其他方法,从第一候选唤醒源节点和第二候选唤醒源节点中确定出唤醒源节点。
[0194]
四、根据报文中的下级唤醒节点指示参数,确定唤醒源节点。
[0195]
可选地,唤醒节点指示参数包括下级唤醒节点指示参数,
[0196]
在步骤202中,根据报文中的唤醒节点指示参数确定唤醒源节点,包括:
[0197]
根据报文中的下级唤醒节点指示参数,确定唤醒源节点。
[0198]
实施中,根据下级唤醒节点指示参数确定唤醒源节点,检测速度快。
[0199]
其中,若报文中的下级唤醒节点指示参数的取值指示报文发送节点需要主动唤醒其他节点,则报文发送节点为唤醒源节点;若报文中的下级唤醒节点指示参数的取值指示报文发送节点不需要主动唤醒其他节点,则报文发送节点不是唤醒源节点。
[0200]
可选地,下级唤醒节点指示参数与唤醒源节点指示参数和/或上级唤醒节点指示参数组合确定唤醒源节点的实施方式,可以参照本发明实施例的唤醒源节点指示参数与上级唤醒节点指示参数组合确定唤醒源节点的实施方式,在此不再赘述。
[0201]
其中,在步骤203中,判断确定的唤醒源节点发送报文中的第一唤醒原因参数的取值是否满足预设正常唤醒数值条件,若否,则确定发生第一唤醒故障;若是,则确定未发生第一唤醒故障。
[0202]
实施中,根据报文中的第一唤醒原因参数判断是否发生第一唤醒故障,方案简单,
便于快速检测。
[0203]
其中,预设正常唤醒数值条件,是指预先设置的正常唤醒时唤醒源节点发送报文中的第一唤醒原因参数的取值应当满足的数值条件。
[0204]
其中,在步骤203中,若第一唤醒原因参数的取值不满足预设正常唤醒数值条件,则唤醒源节点不是正常唤醒,而是异常唤醒;换言之,第一唤醒原因异常,即不是唤醒源节点由休眠状态变为唤醒状态的正常原因,也即,在正常情况下,第一唤醒原因不会使唤醒源节点由休眠状态变为唤醒状态。
[0205]
可选地,在步骤203中,判断第一唤醒原因参数的取值是否满足预设正常唤醒数值条件,包括:
[0206]
判断第一唤醒原因参数的取值是否在预设正常唤醒数值范围内且该取值与真实第一唤醒原因参数值是否相等。
[0207]
其中,若取值在预设正常唤醒数值范围内且与真实第一唤醒原因参数值相等,则满足预设正常唤醒数值条件;否则不满足预设正常唤醒数值条件。
[0208]
实施中,将预设正常唤醒数值条件具体化,便于快速检测。
[0209]
实施中,保证预设正常唤醒数值条件的准确度,可以提高检测的准确度。
[0210]
其中,预设正常唤醒数值范围,是指预先设置的正常唤醒时唤醒源节点发送报文中的第一唤醒原因参数的取值应当位于的数值范围。
[0211]
其中,若第一唤醒原因参数的取值不在预设正常唤醒数值范围内,则不满足预设正常唤醒数值条件,唤醒源节点异常唤醒;此时,第一唤醒原因异常至少包含如下两种情况:
①
第一唤醒原因为无原因;
②
第一唤醒原因不能导致唤醒源节点唤醒。
[0212]
其中,真实第一唤醒原因参数值,是指真实的第一唤醒原因参数的取值。
[0213]
其中,若第一唤醒原因参数的取值与真实第一唤醒原因参数值不相等,则不满足预设正常唤醒数值条件,唤醒源节点异常唤醒;此时,第一唤醒原因异常至少包含如下情况:第一唤醒原因与真实情况不相符。
[0214]
可选地,在车辆操作日志中记录车辆唤醒时间以及车辆唤醒的触发操作,则可以根据车辆操作日志中有无相关记录,判断第一唤醒原因参数的取值与真实第一唤醒原因参数值是否相等。
[0215]
为方便理解,下面将以第一唤醒原因的三种异常情况为分类依据,对第一唤醒原因参数的取值不满足预设正常唤醒数值条件的实施方式进行简单介绍。
[0216]
情况一、第一唤醒原因参数的取值不在预设正常唤醒数值范围内且该第一唤醒原因参数的取值为空(即无任何值)。
[0217]
其中,第一唤醒原因参数的取值为空,表示第一唤醒原因为无原因。
[0218]
其中,无原因表示在无任何触发的情况下唤醒源节点由休眠状态变为唤醒状态并发送报文唤醒网络,此时可判断发生了第一唤醒故障。
[0219]
可选地,判断第一唤醒原因参数的取值不在预设正常唤醒数值范围内且该第一唤醒原因参数的取值为空之后,方法还包括:
[0220]
确定第一唤醒原因参数的取值为空且唤醒源节点唤醒的引发原因;
[0221]
依次检验各引发原因,排查出第一唤醒故障的引发原因。
[0222]
实施中,确定并检验导致第一唤醒故障的可能原因以排查出第一唤醒故障的引发
原因,便于快速展开排查和定位问题。
[0223]
可选地,根据经验确定第一唤醒原因参数的取值为空且唤醒源节点唤醒的引发原因。
[0224]
情况二、第一唤醒原因参数的取值不在预设正常唤醒数值范围内且该第一唤醒原因参数的取值为预设正常唤醒数值范围外的值。
[0225]
其中,第一唤醒原因参数的取值为预设正常唤醒数值范围外的值,表示第一唤醒原因不能导致唤醒源节点唤醒。
[0226]
其中,第一唤醒原因不能导致唤醒源节点唤醒而唤醒源节点却由休眠状态变为唤醒状态并发送报文唤醒网络,此时可判断发生了第一唤醒故障。
[0227]
可选地,判断第一唤醒原因参数的取值不在预设正常唤醒数值范围内且该第一唤醒原因参数的取值为预设正常唤醒数值范围外的值之后,方法还包括:
[0228]
确定第一唤醒原因参数的取值为预设正常唤醒数值范围外的值而唤醒源节点却唤醒的引发原因;
[0229]
依次检验各引发原因,排查出第一唤醒故障的引发原因。
[0230]
实施中,确定并检验导致第一唤醒故障的可能原因以排查出第一唤醒故障的引发原因,便于快速展开排查和定位问题。
[0231]
可选地,根据经验确定第一唤醒原因参数的取值为预设正常唤醒数值范围外的值而唤醒源节点却唤醒的引发原因。
[0232]
情况三、第一唤醒原因参数的取值与真实第一唤醒原因参数值不相等,即第一唤醒原因与真实情况不相符。
[0233]
其中,第一唤醒原因与真实情况不相符,比如,第一唤醒原因为收到远程控制指令,而真实情况是并未发送远程控制指令,则此时可判断发生了第一唤醒故障。
[0234]
可选地,判断第一唤醒原因参数的取值与真实第一唤醒原因参数值不相等之后,方法还包括:
[0235]
确定第一唤醒原因参数的取值与真实第一唤醒原因参数值不相等的引发原因;
[0236]
依次检验各引发原因,排查出第一唤醒故障的引发原因。
[0237]
实施中,确定并检验导致第一唤醒故障的可能原因以排查出第一唤醒故障的引发原因,便于快速展开排查和定位问题。
[0238]
可选地,根据经验确定第一唤醒原因参数的取值与真实第一唤醒原因参数值不相等的引发原因。
[0239]
其中,第一唤醒原因是指报文发送节点由休眠状态变为唤醒状态的原因,比如,可以是被唤醒的原因,也可以是主动唤醒原因。
[0240]
其中,被唤醒的原因,是指触发报文发送节点唤醒的原因;比如,在第一唤醒原因正常时,唤醒源节点的被唤醒的原因可以是:汽车点火档(ig on)上电、收到遥控钥匙解锁指令、钥匙在附近或者收到远程控制指令,除唤醒源节点以外的节点的被唤醒的原因可以是:收到报文。
[0241]
其中,主动唤醒原因,是指唤醒源节点主动唤醒的原因;比如,在第一唤醒原因正常时,可以是:ig on上电、收到遥控钥匙解锁指令、钥匙在附近或者收到远程控制指令。
[0242]
其中,本发明实施例的唤醒故障检测方法适用于实时监测,也适用于不实时的检
测,下面将以不实时的检测为例,对本发明实施例的第一唤醒故障检测方法的优选实施方式进行示例性地完整介绍。
[0243]
实施例一
[0244]
当前网络分网段且各网段通过网关连接。
[0245]
报文的构造如下表6所示:唤醒源节点的字节0存放主动唤醒id,其他节点的字节0存放源节点id,字节1存放控制信息,字节4存放主动唤醒原因,字节5存放主动唤醒标志位,节点6存放被唤醒的原因,字节7存放唤醒id。
[0246][0247]
表6
[0248]
网络唤醒时网络中节点发送的报文会被存储下来,具体地,可以按照现有技术中报文或类似报文的消息的存储方法,对报文进行存储。
[0249]
在需要检测第一唤醒故障时,从存储的报文中提取待检测报文,对于每次网络唤醒,从待检测报文中分离出该次网络唤醒时网络中节点发送的报文,并按照本实施例一的方法,检测该次网络唤醒时是否发生第一唤醒故障。
[0250]
可选地,本发明实施例的第一唤醒故障检测方法,包括:
[0251]
步骤1、确定网关分别与各网段连接的各端口的值,将端口值为预设值的端口连接的网段,确定为唤醒源节点所在网段;其中,端口值为预设值,表示网关被唤醒;
[0252]
步骤2、获取唤醒源节点所在网段中各节点发送的报文;
[0253]
步骤3、判断报文中的主动唤醒id是否为预设id且主动唤醒标志位是否为预设值,若均为是,则将报文的发送节点确定为唤醒源节点;若为否,则执行步骤4;
[0254]
步骤4、确定包含相同的唤醒id的报文的数量值;在报文的数量值与报文总数值的比值不小于预设比值时,将相同的唤醒id映射的节点,确定为唤醒源节点;
[0255]
步骤5、判断出唤醒源节点发送报文中的第一唤醒原因参数的取值与真实第一唤醒原因参数值不相等,确定发生第一唤醒故障;
[0256]
其中,在步骤5中,第一唤醒原因参数表征的第一唤醒原因可以是被唤醒的原因,也可以是主动唤醒原因。
[0257]
步骤6、确定第一唤醒原因参数的取值与真实第一唤醒原因参数值不相等的引发原因;依次检验各引发原因,排查出第一唤醒故障的引发原因。
[0258]
本发明实施例还提供了另一种唤醒故障检测方法,如图5所示,该方法包括:
[0259]
步骤501、获取用于检测第二唤醒故障的报文,每个报文包含第二唤醒原因参数;
[0260]
步骤502、判断报文中的第二唤醒原因参数的取值是否满足预设保持唤醒数值条件,若否,则确定发生第二唤醒故障。
[0261]
其中,第二唤醒故障,是指不休眠故障。不休眠故障,是指整车的网络节点在满足休眠条件的情况下(如下电或者锁车),仍有一个或者多个节点不能停发报文,维持车辆唤醒及高功耗。
[0262]
其中,第二唤醒原因参数,是指表征第二唤醒原因的参数。第二唤醒原因参数的取值不同,第二唤醒原因不同。
[0263]
其中,第二唤醒原因,是指报文发送节点维持唤醒状态而不休眠的原因。
[0264]
实施中,本发明实施例通过扩展报文的定义,在报文中新定义第二唤醒原因参数,则获取报文后,可根据第二唤醒原因参数判断是否发生第二唤醒故障,从而提供了一种排查不休眠故障的技术方案。
[0265]
实施中,应用本发明实施例提供的排查不休眠故障的技术方案,无需到现场复现整车工作过程,从而降低了排查复杂度以及提高了排查工作效率,对于偶发的不休眠故障效果明显。
[0266]
实施中,应用本发明实施例提供的排查不休眠故障的技术方案,仅需对现有技术中的报文的定义进行扩展,而无需改动现有技术中网络节点的交互流程,因而对现有技术中的通信网络影响特别小。
[0267]
实施中,本发明实施例根据报文内容排查不休眠故障,方案简单易行。
[0268]
实施中,本发明实施例提供的排查不休眠故障的技术方案对检测时间要求宽松。
[0269]
其中,本发明实施例在报文中新定义第二唤醒原因参数的实施方式,与在报文中新定义第一唤醒原因参数的实施方式类似,可以在报文的一个或多个已分配空间中定义第二唤醒原因参数;或者,在报文的一个或多个预留空间中定义第二唤醒原因参数;或者,在报文的一个或多个已分配空间以及一个或多个预留空间中定义第二唤醒原因参数,比如下表7是以在报文的一个预留空间中定义第二唤醒原因参数为例,在此不再赘述。
[0270][0271]
表7
[0272]
可选地,在步骤501中,用于检测第二唤醒故障的报文为网络中全部节点发送的报文。
[0273]
实施中,用于检测第二唤醒故障的报文为网络中全部节点发送的报文,可以保证检测的准确度。
[0274]
其中,在步骤502中,判断报文中的第二唤醒原因参数的取值是否满足预设保持唤醒数值条件,若否,则确定发生第二唤醒故障;若是,则确定未发生第二唤醒故障。
[0275]
实施中,根据报文中的第二唤醒原因参数判断是否发生第二唤醒故障,方案简单,便于快速检测。
[0276]
其中,预设保持唤醒数值条件,是指预先设置的保持唤醒时节点发送报文中的第二唤醒原因参数的取值应当满足的数值条件。
[0277]
其中,在步骤502中,若第二唤醒原因参数的取值不满足预设保持唤醒数值条件,则报文发送节点不应该保持唤醒;换言之,第二唤醒原因异常,即不是报文发送节点不休眠的正常原因,也即,在正常情况下,第二唤醒原因不会使报文发送节点不休眠。
[0278]
可选地,在步骤502中,判断第二唤醒原因参数的取值是否满足预设保持唤醒数值条件,包括:
[0279]
判断第二唤醒原因参数的取值是否在预设保持唤醒数值范围内且该取值与真实第二唤醒原因参数值是否相等。
[0280]
其中,若取值在预设保持唤醒数值范围内且与真实第二唤醒原因参数值相等,则满足预设保持唤醒数值条件;否则不满足预设保持唤醒数值条件。
[0281]
实施中,将预设保持唤醒数值条件具体化,便于快速检测。
[0282]
实施中,保证预设保持唤醒数值条件的准确度,可以提高检测的准确度。
[0283]
其中,预设保持唤醒数值范围,是指预先设置的保持唤醒时节点发送报文中的第二唤醒原因参数的取值应当位于的数值范围。
[0284]
其中,若第二唤醒原因参数的取值不在预设保持唤醒数值范围内,则不满足预设保持唤醒数值条件,报文发送节点不应该保持唤醒;此时,第二唤醒原因异常至少包含如下两种情况:
①
第二唤醒原因为无原因;
②
第二唤醒原因不能导致报文发送节点不休眠。
[0285]
其中,真实第二唤醒原因参数值,是指真实的第二唤醒原因参数的取值。
[0286]
其中,若第二唤醒原因参数的取值与真实第二唤醒原因参数值不相等,则不满足预设正常唤醒数值条件,报文发送节点不应该保持唤醒;此时,第二唤醒原因异常至少包含如下情况:第二唤醒原因与真实情况不相符。
[0287]
可选地,在车辆操作日志中记录车辆保持唤醒时间以及车辆保持唤醒的触发操作,则可以根据车辆操作日志中有无相关记录,判断第二唤醒原因参数的取值与真实第二唤醒原因参数值是否相等。
[0288]
为方便理解,下面将以第二唤醒原因的三种异常情况为分类依据,对第二唤醒原因参数的取值不满足预设保持唤醒数值条件的实施方式进行简单介绍。
[0289]
情况一、第二唤醒原因参数的取值不在预设保持唤醒数值范围内且该第二唤醒原因参数的取值为空(即无任何值)。
[0290]
其中,第二唤醒原因参数的取值为空,表示第二唤醒原因为无原因。
[0291]
其中,在无任何原因的情况下报文发送节点不休眠,此时可判断发生了第二唤醒故障。
[0292]
可选地,判断第二唤醒原因参数的取值不在预设保持唤醒数值范围内且该第二唤醒原因参数的取值为空之后,方法还包括:
[0293]
确定第二唤醒原因参数的取值为空且报文发送节点不休眠的引发原因;
[0294]
依次检验各引发原因,排查出第二唤醒故障的引发原因。
[0295]
实施中,确定并检验导致第二唤醒故障的可能原因以排查出第二唤醒故障的引发原因,便于快速展开排查和定位问题。
[0296]
可选地,根据经验确定第二唤醒原因参数的取值为空且报文发送节点不休眠的引发原因。
[0297]
情况二、第二唤醒原因参数的取值不在预设保持唤醒数值范围内且该第二唤醒原因参数的取值为预设保持唤醒数值范围外的值。
[0298]
其中,第二唤醒原因参数的取值为预设保持唤醒数值范围外的值,表示第二唤醒原因不能导致报文发送节点不休眠。
[0299]
其中,第二唤醒原因不能导致报文发送节点不休眠而报文发送节点却不休眠,此时可判断发生了第二唤醒故障。
[0300]
可选地,判断第二唤醒原因参数的取值不在预设保持唤醒数值范围内且该第二唤醒原因参数的取值为预设保持唤醒数值范围外的值之后,方法还包括:
[0301]
确定该第二唤醒原因参数的取值为预设保持唤醒数值范围外的值而报文发送节点却不休眠的引发原因;
[0302]
依次检验各引发原因,排查出第二唤醒故障的引发原因。
[0303]
实施中,确定并检验导致第二唤醒故障的可能原因以排查出第二唤醒故障的引发原因,便于快速展开排查和定位问题。
[0304]
可选地,根据经验确定该第二唤醒原因参数的取值为预设保持唤醒数值范围外的值而报文发送节点却不休眠的引发原因。
[0305]
情况三、第二唤醒原因参数的取值与真实第二唤醒原因参数值不相等,即第二唤醒原因与真实情况不相符。
[0306]
其中,第二唤醒原因与真实情况不相符,比如,第二唤醒原因为车在充电,而真实情况是车没在充电,则此时可判断发生了第二唤醒故障。
[0307]
可选地,判断第二唤醒原因参数的取值与真实第二唤醒原因参数值不相等之后,方法还包括:
[0308]
确定第二唤醒原因参数的取值与真实第二唤醒原因参数值不相等的引发原因;
[0309]
依次检验各引发原因,排查出第二唤醒故障的引发原因。
[0310]
实施中,确定并检验导致第二唤醒故障的可能原因以排查出第二唤醒故障的引发原因,便于快速展开排查和定位问题。
[0311]
可选地,根据经验确定第二唤醒原因参数的取值与真实第二唤醒原因参数值不相等的引发原因。
[0312]
其中,第二唤醒原因,是指报文发送节点维持唤醒状态而不休眠的原因,即保持唤醒原因;比如,在第二唤醒原因正常时,可以是:ig on上电或者车在充电。
[0313]
基于同一发明构思,本发明实施例提供了一种报文发送方法,如图6所示,该方法包括:
[0314]
步骤601、生成包含唤醒节点指示参数和第一唤醒原因参数的报文;
[0315]
步骤602、发送生成的报文,以便于获取报文,根据报文中的唤醒节点指示参数确定唤醒源节点,判断唤醒源节点发送报文中的第一唤醒原因参数的取值是否满足预设正常
唤醒数值条件,若否,则确定发生第一唤醒故障。
[0316]
实施中,本发明实施例通过生成并发送包含唤醒节点指示参数和第一唤醒原因参数的报文,配合以实现提供一种排查异常唤醒故障的技术方案。
[0317]
可选地,在步骤601中,生成包含唤醒节点指示参数和第一唤醒原因参数的报文,包括:
[0318]
确定唤醒节点指示参数和第一唤醒原因参数的参数值;
[0319]
将唤醒节点指示参数的参数值写入报文中定义的唤醒节点指示参数位置处,以及将第一唤醒原因参数的参数值写入报文中定义的第一唤醒原因参数位置处。
[0320]
其中,根据在网络休眠唤醒流程中接收的信息确定唤醒节点指示参数和第一唤醒原因参数的参数值,下面将分别进行介绍。
[0321]
一、根据在网络休眠唤醒流程中接收的信息确定唤醒节点指示参数的参数值。
[0322]
其中,根据在网络休眠唤醒流程中接收的信息,确定是否属于唤醒源节点,从而能够确定唤醒节点指示参数的参数值,下面将结合唤醒节点指示参数的几种优选实施方式进行介绍。
[0323]
1、唤醒节点指示参数是唤醒源节点指示参数。
[0324]
其中,根据在网络休眠唤醒流程中接收的信息,确定是否属于唤醒源节点,以及根据是否属于唤醒源节点,唤醒源节点指示参数取值不同。
[0325]
①
唤醒源节点指示参数是主动唤醒id。
[0326]
比如,接收的信息是遥控钥匙解锁信息,确定是唤醒源节点,则报文的字节0存放主动唤醒id,取值为0x55;又比如,接收的信息是报文信息,确定不是唤醒源节点,则报文的字节0存放源节点id。
[0327]
②
唤醒源节点指示参数是主动唤醒标志位。
[0328]
比如,接收的信息是遥控钥匙解锁信息,确定是唤醒源节点,则主动唤醒标志位取值为1;又比如,接收的信息是报文信息,确定不是唤醒源节点,则主动唤醒标志位取值为0。
[0329]
2、唤醒节点指示参数是上级唤醒节点指示参数。
[0330]
其中,根据在网络休眠唤醒流程中接收的信息,确定是否属于唤醒源节点,以及根据是否属于唤醒源节点,采用不同方式确定唤醒源节点指示参数的参数值。
[0331]
①
上级唤醒节点指示参数是唤醒id。
[0332]
比如,接收的信息是遥控钥匙解锁信息,确定是唤醒源节点,则直接确定唤醒id的取值为空;又比如,接收的信息是报文信息,确定不是唤醒源节点,则确定唤醒id的取值为接收到的报文信息中的源节点id。
[0333]
二、根据在网络休眠唤醒流程中接收的信息确定第一唤醒原因参数的参数值。
[0334]
其中,根据在网络休眠唤醒流程中接收的信息,可以直接确定第一唤醒原因参数的参数值。
[0335]
比如,接收的信息是遥控钥匙解锁信息,则确定第一唤醒原因参数的参数值为z1,其中z1表示的第一唤醒原因是收到遥控钥匙解锁指令;又比如,接收的信息是报文信息,则确定第一唤醒原因参数的参数值为b1,其中b1表示的第一唤醒原因是收到报文。
[0336]
可选地,报文还包括第二唤醒原因参数,以便于获取报文,判断报文中的第二唤醒原因参数的取值是否满足预设保持唤醒数值条件,若否,则确定发生第二唤醒故障。
[0337]
实施中,本发明实施例通过生成并发送包含第二唤醒原因参数的报文,配合以实现提供一种排查不休眠故障的技术方案。
[0338]
可选地,在步骤601中,生成包含第二唤醒原因参数的报文,包括:
[0339]
确定第二唤醒原因参数的参数值;
[0340]
将第二唤醒原因参数的参数值写入报文中定义的第二唤醒原因参数位置处。
[0341]
其中,当检测到的软硬件信号的取值指示需要保持唤醒时,根据检测到的软硬件信号的取值,确定第二唤醒原因参数的参数值。
[0342]
比如,当检测到硬件信号电源模式信号的取值为1时,指示需要保持唤醒,则确定第二唤醒原因参数的参数值为h1,其中h1表示的第二唤醒原因是电源模式为开启模式;又比如,当检测到软件信号远程控制信号的取值为1时,指示需要保持唤醒,则确定第二唤醒原因参数的参数值为s1,其中s1表示的第二唤醒原因是收到远程控制指令。
[0343]
可选地,在步骤602中,可以按照现有技术中的方法发送生成的报文。
[0344]
可选地,报文还包括快慢发参数,在步骤602中,发送生成的报文,包括:
[0345]
判断报文中的快慢发参数值是否为快发值;
[0346]
若是,则按照第一速度值发送报文,并在需要通信的节点唤醒后,按照第二速度值发送报文;否则,按照第二速度值发送报文;
[0347]
其中,第一速度值大于第二速度值。
[0348]
其中,快慢发参数,是指通过两种不同取值来指示采用两种不同速度发送报文的参数,即快发/慢发机制标志位。
[0349]
实施中,通过在报文中新定义快慢发参数,以实现灵活配置发送机制,从而能更灵活地适应网络唤醒的需求,使得整车网络更具灵活性。
[0350]
实施中,在需要通信的节点唤醒后,按照第二速度值发送报文,在更灵活地适应网络唤醒的需求的同时,又能最大限度地减轻网络负载。
[0351]
其中,在报文中新定义快慢发参数的实施方式,与在报文中新定义第一唤醒原因参数的实施方式类似,可以在报文的一个或多个已分配空间中定义快慢发参数;或者,在报文的一个或多个预留空间中定义快慢发参数;或者,在报文的一个或多个已分配空间以及一个或多个预留空间中定义快慢发参数,比如下表8是以在报文的一个预留空间中定义快慢发参数为例,在此不再赘述。
[0352][0353]
表8
[0354]
可选地,在步骤601中,生成包含快慢发参数的报文,包括:
[0355]
确定快慢发参数的参数值;
[0356]
将快慢发参数的参数值写入报文中定义的快慢发参数位置处。
[0357]
可选地,若确定快慢发参数的参数值的主体为唤醒源节点,则根据预置的快慢发策略判断是否需要按照第一速度值发送报文,若是,则确定快慢发参数的参数值为快发值;否则,确定快慢发参数的参数值为慢发值。
[0358]
其中,快慢发策略,是指指示唤醒源节点是否需要按照第一速度值发送报文的策略。可选地,快慢发策略可根据需求灵活确定;比如,快慢发策略中记录需要按照第一速度值发送报文的唤醒源节点,诸如车门节点或者接收到远程查看指令的唤醒源节点。
[0359]
可选地,若确定快慢发参数的参数值的主体为除唤醒源节点以外的节点,则将快慢发参数的参数值,确定为接收到的报文中的快慢发参数的参数值。
[0360]
可选地,在步骤602中,发送报文时,若发送报文的主体为唤醒源节点,则可根据是否接收到需要通信的节点的报文,判断需要通信的节点是否唤醒。
[0361]
基于同一发明构思,本发明实施例提供了一种唤醒故障检测装置,用于执行上述的一种唤醒故障检测方法,如图7所示,该装置包括:
[0362]
获取模块710,用于获取用于检测第一唤醒故障的报文,每个报文包含唤醒节点指示参数和第一唤醒原因参数;
[0363]
确定模块720,用于根据获取的报文中的唤醒节点指示参数,确定唤醒源节点;
[0364]
判断模块730,用于判断确定的唤醒源节点发送报文中的第一唤醒原因参数的取值是否满足预设正常唤醒数值条件,若否,则确定发生第一唤醒故障。
[0365]
其中,本发明实施例对于获取模块710、确定模块720和判断模块730的具体形状结构不做限定,本领域技术人员可以根据其实现的功能作用对其进行任意设置,在此不再赘述;另外,本发明实施例中获取模块710、确定模块720和判断模块730所实现的操作步骤的具体实现过程以及实现效果与本发明实施例中步骤201至步骤203的具体实现过程以及实现效果相同,具体可参考上述陈述内容,在此不再赘述。
[0366]
在上述实施例的基础上,继续参考图7,本发明实施例对于获取模块710获取用于检测第一唤醒故障的报文的具体实现过程不做限定,本领域技术人员可以根据具体的设计需求进行设置,较为优选的,在获取模块710获取用于检测第一唤醒故障的报文时,该获取模块710具体用于执行:判断当前网络是否分网段;若是,则确定唤醒源节点所在网段,获取唤醒源节点所在网段中各节点发送的报文;否则,获取网络中各节点发送的报文。
[0367]
在上述实施例的基础上,继续参考图7,本发明实施例对于确定模块720确定唤醒源节点的具体实现过程不做限定,本领域技术人员可以根据具体的设计需求进行设置,较为优选的,唤醒节点指示参数包括唤醒源节点指示参数和上级唤醒节点指示参数中的一种或多种,在确定模块720确定唤醒源节点时,该确定模块720具体用于执行:根据报文中的唤醒源节点指示参数和/或上级唤醒节点指示参数,确定唤醒源节点。
[0368]
较为优选的,在确定模块720确定唤醒源节点时,该确定模块720具体用于执行:判断根据报文中的唤醒源节点指示参数是否能确定出唤醒源节点;若否,则根据报文中的上级唤醒节点指示参数,确定唤醒源节点。
[0369]
较为优选的,上级唤醒节点指示参数包括唤醒id,在确定模块720确定唤醒源节点
时,该确定模块720具体用于执行:确定包含相同的唤醒id的报文的数量值;在报文的数量值与报文总数值的比值不小于预设比值时,将相同的唤醒id映射的节点,确定为唤醒源节点。
[0370]
较为优选的,唤醒源节点指示参数包括主动唤醒id和主动唤醒标志位,在确定模块720确定唤醒源节点时,该确定模块720具体用于执行:判断报文中的主动唤醒id是否为预设id且主动唤醒标志位是否为预设值,若均为是,则将报文的发送节点确定为唤醒源节点。
[0371]
在上述实施例的基础上,继续参考图7,本发明实施例对于判断模块730判断第一唤醒原因参数的取值是否满足预设正常唤醒数值条件的具体实现过程不做限定,本领域技术人员可以根据具体的设计需求进行设置,较为优选的,在判断模块730判断第一唤醒原因参数的取值是否满足预设正常唤醒数值条件时,该判断模块730具体用于执行:判断第一唤醒原因参数的取值是否在预设正常唤醒数值范围内且该取值与真实第一唤醒原因参数值是否相等。
[0372]
可选地,本发明实施例提供的一种唤醒故障检测装置还包括:
[0373]
第一排查模块741,用于在判断模块730判断第一唤醒原因参数的取值不在预设正常唤醒数值范围内且第一唤醒原因参数的取值为空之后,确定第一唤醒原因参数的取值为空且唤醒源节点唤醒的引发原因;依次检验各引发原因,排查出第一唤醒故障的引发原因。
[0374]
第二排查模块742,用于在判断模块730判断第一唤醒原因参数的取值不在预设正常唤醒数值范围内且第一唤醒原因参数的取值为预设正常唤醒数值范围外的值之后,确定第一唤醒原因参数的取值为预设正常唤醒数值范围外的值而唤醒源节点却唤醒的引发原因;依次检验各引发原因,排查出第一唤醒故障的引发原因。
[0375]
第三排查模块743,用于在判断模块730判断第一唤醒原因参数的取值与真实第一唤醒原因参数值不相等之后,确定第一唤醒原因参数的取值与真实第一唤醒原因参数值不相等的引发原因;依次检验各引发原因,排查出第一唤醒故障的引发原因。
[0376]
其中,本发明实施例对于第一排查模块741、第二排查模块742和第三排查模块743的具体形状结构不做限定,本领域技术人员可以根据其实现的功能作用对其进行任意设置,在此不再赘述;另外,本发明实施例中第一排查模块741、第二排查模块742和第三排查模块743所实现的操作步骤的具体实现过程以及实现效果与本发明实施例中方法实施例的具体实现过程以及实现效果相同,具体可参考上述陈述内容,在此不再赘述。
[0377]
本发明实施例提供了另一种唤醒故障检测装置,用于执行上述的另一种唤醒故障检测方法,如图8所示,该装置包括:
[0378]
报文模块810,用于获取用于检测第二唤醒故障的报文,每个报文包含第二唤醒原因参数;
[0379]
处理模块820,用于判断报文中的第二唤醒原因参数的取值是否满足预设保持唤醒数值条件,若否,则确定发生第二唤醒故障。
[0380]
其中,本发明实施例对于报文模块810和处理模块820的具体形状结构不做限定,本领域技术人员可以根据其实现的功能作用对其进行任意设置,在此不再赘述;另外,本发明实施例中报文模块810和处理模块820所实现的操作步骤的具体实现过程以及实现效果与本发明实施例中步骤501至步骤502的具体实现过程以及实现效果相同,具体可参考上述
陈述内容,在此不再赘述。
[0381]
在上述实施例的基础上,继续参考图8,本发明实施例对于处理模块820判断第二唤醒原因参数的取值是否满足预设保持唤醒数值条件的具体实现过程不做限定,本领域技术人员可以根据具体的设计需求进行设置,较为优选的,在处理模块820判断第二唤醒原因参数的取值是否满足预设保持唤醒数值条件时,该处理模块820具体用于执行:判断第二唤醒原因参数的取值是否在预设保持唤醒数值范围内且该取值与真实第二唤醒原因参数值是否相等。
[0382]
可选地,本发明实施例提供的另一种唤醒故障检测装置还包括:
[0383]
第一定位模块831,用于在处理模块820判断第二唤醒原因参数的取值不在预设保持唤醒数值范围内且第二唤醒原因参数的取值为空之后,确定第二唤醒原因参数的取值为空且报文发送节点不休眠的引发原因;依次检验各引发原因,排查出第二唤醒故障的引发原因。
[0384]
第二定位模块832,用于在处理模块820判断第二唤醒原因参数的取值不在预设保持唤醒数值范围内且该第二唤醒原因参数的取值为预设保持唤醒数值范围外的值之后,确定第二唤醒原因参数的取值为预设保持唤醒数值范围外的值而报文发送节点却不休眠的引发原因;依次检验各引发原因,排查出第二唤醒故障的引发原因。
[0385]
第三定位模块833,用于在处理模块820判断第二唤醒原因参数的取值与真实第二唤醒原因参数值不相等之后,确定第二唤醒原因参数的取值与真实第二唤醒原因参数值不相等的引发原因;依次检验各引发原因,排查出第二唤醒故障的引发原因。
[0386]
其中,本发明实施例对于第一定位模块831、第二定位模块832和第三定位模块833的具体形状结构不做限定,本领域技术人员可以根据其实现的功能作用对其进行任意设置,在此不再赘述;另外,本发明实施例中第一定位模块831、第二定位模块832和第三定位模块833所实现的操作步骤的具体实现过程以及实现效果与本发明实施例中方法实施例的具体实现过程以及实现效果相同,具体可参考上述陈述内容,在此不再赘述。
[0387]
基于同一发明构思,本发明实施例提供了一种唤醒故障检测终端,用于执行上述两种唤醒故障检测方法,如图9所示,该装置包括:
[0388]
存储器910;
[0389]
处理器920;以及
[0390]
计算机程序;
[0391]
其中,计算机程序存储在存储器910中,并被配置为由处理器920执行以实现上述两种唤醒故障检测方法。
[0392]
基于同一发明构思,本发明实施例提供了一种存储介质,该存储介质为计算机可读存储介质,其上存储有计算机程序;
[0393]
该计算机程序被处理器执行以实现上述两种唤醒故障检测方法。
[0394]
其中,存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,简称rom)或随机存取存储器(randomaccessmemory,简称ram)等。
[0395]
基于同一发明构思,本发明实施例提供了一种报文发送装置,用于执行上述的报文发送方法,如图10所示,该装置包括:
[0396]
生成模块1010,用于生成包含唤醒节点指示参数和第一唤醒原因参数的报文;
[0397]
发送模块1020,用于发送生成的报文,以便于获取报文,根据报文中的唤醒节点指示参数确定唤醒源节点,判断唤醒源节点发送报文中的第一唤醒原因参数的取值是否满足预设正常唤醒数值条件,若否,则确定发生第一唤醒故障。
[0398]
其中,本发明实施例对于生成模块1010和发送模块1020的具体形状结构不做限定,本领域技术人员可以根据其实现的功能作用对其进行任意设置,在此不再赘述;另外,本发明实施例中生成模块1010和发送模块1020所实现的操作步骤的具体实现过程以及实现效果与本发明实施例中步骤601至步骤602的具体实现过程以及实现效果相同,具体可参考上述陈述内容,在此不再赘述。
[0399]
在上述实施例的基础上,继续参考图10,本发明实施例对于生成模块1010生成包含唤醒节点指示参数和第一唤醒原因参数的报文的具体实现过程不做限定,本领域技术人员可以根据具体的设计需求进行设置,较为优选的,在生成模块1010生成包含唤醒节点指示参数和第一唤醒原因参数的报文时,该生成模块1010具体用于执行:确定唤醒节点指示参数和第一唤醒原因参数的参数值;将唤醒节点指示参数的参数值写入报文中定义的唤醒节点指示参数位置处,以及将第一唤醒原因参数的参数值写入报文中定义的第一唤醒原因参数位置处。
[0400]
较为优选的,在生成模块1010确定唤醒节点指示参数和第一唤醒原因参数的参数值时,该生成模块1010具体用于执行:根据在网络休眠唤醒流程中接收的信息确定唤醒节点指示参数和第一唤醒原因参数的参数值。
[0401]
可选地,报文还包括第二唤醒原因参数,以便于获取报文,判断报文中的第二唤醒原因参数的取值是否满足预设保持唤醒数值条件,若否,则确定发生第二唤醒故障。
[0402]
在上述实施例的基础上,继续参考图10,本发明实施例对于生成模块1010生成包含第二唤醒原因参数的报文的具体实现过程不做限定,本领域技术人员可以根据具体的设计需求进行设置,较为优选的,在生成模块1010生成包含第二唤醒原因参数的报文时,该生成模块1010具体用于执行:确定第二唤醒原因参数的参数值;将第二唤醒原因参数的参数值写入报文中定义的第二唤醒原因参数位置处。
[0403]
较为优选的,在生成模块1010确定第二唤醒原因参数的参数值时,该生成模块1010具体用于执行:当检测到的软硬件信号的取值指示需要保持唤醒时,根据检测到的软硬件信号的取值,确定第二唤醒原因参数的参数值。
[0404]
在上述实施例的基础上,继续参考图10,本发明实施例对于发送模块1020发送报文的具体实现过程不做限定,本领域技术人员可以根据具体的设计需求进行设置,较为优选的,报文还包括快慢发参数,在发送模块1020发送报文时,该发送模块1020具体用于执行:判断报文中的快慢发参数值是否为快发值;若是,则按照第一速度值发送报文,并在需要通信的节点唤醒后,按照第二速度值发送报文;否则,按照第二速度值发送报文;其中,第一速度值大于第二速度值。
[0405]
在上述实施例的基础上,继续参考图10,本发明实施例对于生成模块1010生成包含快慢发参数的报文的具体实现过程不做限定,本领域技术人员可以根据具体的设计需求进行设置,较为优选的,在生成模块1010生成包含快慢发参数的报文时,该生成模块1010具体用于执行:确定快慢发参数的参数值;将快慢发参数的参数值写入报文中定义的快慢发参数位置处。
[0406]
较为优选的,在生成模块1010确定快慢发参数的参数值时,该生成模块1010具体用于执行:若确定快慢发参数的参数值的主体为唤醒源节点,则根据预置的快慢发策略判断是否需要按照第一速度值发送报文,若是,则确定快慢发参数的参数值为快发值;否则,确定快慢发参数的参数值为慢发值。若确定快慢发参数的参数值的主体为除唤醒源节点以外的节点,则将快慢发参数的参数值,确定为接收到的报文中的快慢发参数的参数值。
[0407]
基于同一发明构思,本发明实施例提供了一种电子控制单元,包括本发明实施例的报文发送装置。其中,电子控制单元即本发明实施例的节点,可以是网络中的任意一个ecu。
[0408]
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
[0409]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0410]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0411]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0412]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
转载请注明原文地址:https://win.8miu.com/read-1058776.html