CN110177032B - 报文路由质量监测方法及网关控制器 - Google Patents
报文路由质量监测方法及网关控制器 Download PDFInfo
- Publication number
- CN110177032B CN110177032B CN201910609960.0A CN201910609960A CN110177032B CN 110177032 B CN110177032 B CN 110177032B CN 201910609960 A CN201910609960 A CN 201910609960A CN 110177032 B CN110177032 B CN 110177032B
- Authority
- CN
- China
- Prior art keywords
- routing
- message
- counter
- successful
- relation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000012544 monitoring process Methods 0.000 title claims abstract description 28
- 238000003745 diagnosis Methods 0.000 claims description 23
- 230000005540 biological transmission Effects 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 description 17
- 238000013507 mapping Methods 0.000 description 10
- 230000003993 interaction Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 101150008604 CAN1 gene Proteins 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 101150063504 CAN2 gene Proteins 0.000 description 1
- 101100058989 Candida albicans (strain SC5314 / ATCC MYA-2876) CAN3 gene Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
- H04L12/40013—Details regarding a bus controller
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/14—Routing performance; Theoretical aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40267—Bus for use in transportation systems
- H04L2012/40273—Bus for use in transportation systems the transportation system being a vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种报文路由质量监测方法及网关控制器,以对报文路由质量进行监测。上述方法包括:网关控制器统计各路由关系的报文成功接收次数以及报文成功发送次数;在路由关系的报文成功接收次数大于报文成功发送次数时,网关控制器发送表征路由关系发生路由失败的警示报文;其中,警示报文的数据域包括:发生失败的路由关系的唯一标识,以及,路由失败次数;路由失败次数为发生失败的路由关系的报文成功接收次数与报文成功发送次数间的差值。可见,在本发明中,网关控制器会统计各路由关系的报文成功接收次数和成功发送次数,在报文成功接收次数大于报文成功发送次数时,发送警示报文,以此实现对报文路由质量的监测。
Description
技术领域
本发明涉及汽车电子领域,特别涉及报文路由质量监测方法及网关控制器。
背景技术
汽车内部会安装多个控制器,不同控制器之间通过总线连接建立整车网络。而网关控制器将整车网络划分为多个网段,使用路由功能将一条报文从一个网段路由到另一个网段,以实现不同控制器间的数据交互。
为实现整车网络健康运行,如何对报文路由质量进行监测成为研究热门。
发明内容
有鉴于此,本发明提供一种报文路由质量监测方法及网关控制器,以对报文路由质量进行监测。
为实现上述目的,本发明提供如下技术方案:
一种报文路由质量监测方法,包括:
网关控制器统计各路由关系的报文成功接收次数,以及统计各路由关系的报文成功发送次数;
在路由关系的报文成功接收次数大于报文成功发送次数时,所述网关控制器发送表征路由关系发生路由失败的警示报文;
其中,所述警示报文的数据域包括:发生失败的路由关系的唯一标识,以及,路由失败次数;所述路由失败次数为发生失败的路由关系的报文成功接收次数与报文成功发送次数间的差值。
可选的,任一路由关系的报文成功接收次数为第一数组变量中的元素;任一路由关系的报文成功发送次数为第二数组变量中的元素;所述第一数组变量和所述第二数组变量的大小均为N;所述N为自然数,表示所述网关控制器需要执行的路由关系的总数;所述第一数组变量和所述第二数组变量中各元素的初始值为a;a为非零自然数。
可选的,还包括:在非诊断网段处于休眠状态时,将涉及所述非诊断网段的所有路由关系所对应的元素赋值为b;其中,b为自然数,且a大于b;在诊断网段处于休眠状态时,将所有路由关系所对应的元素均赋值为b;当所述任一路由关系所涉及的所有网段均由休眠状态转换为唤醒状态且所述诊断网段处于唤醒状态时,将所述任一路由关系的所对应的元素赋值为a。
可选的,任一路由关系的唯一标识表示为n;其中,n大于等于0且小于N,或者,n大于等于1且小于等于N;所述任一路由关系的报文成功接收次数表示为Rx_Counter[n],报文成功发送次数表示为Tx_Counter[n];所述统计各路由关系的报文成功接收次数包括:对于所述任一路由关系,所述网关控制器每次成功接收到报文时,对所述Rx_Counter[n]进行递增处理;所述统计各路由关系的报文成功发送次数包括:对于所述任一路由关系,所述网关控制器每次成功发送报文时,对所述Tx_Counter[n]进行递增处理;所述方法还包括:当所述Rx_Counter[n]计数溢出时,根据所述Rx_Counter[n]与所述Tx_Counter[n]间的差值,对所述Rx_Counter[n]和所述Tx_Counter[n]重新赋值。
可选的,所述对所述Rx_Counter[n]和所述Tx_Counter[n]重新赋值包括:将所述Tx_Counter[n]赋值为a;将所述Rx_Counter[n]赋值为M+a;其中,所述M为所述Tx_Counter[n]与所述Rx_Counter[n]间的差值。
可选的,路由关系的唯一标识具体为检索编号;所述在路由关系的报文成功接收次数大于报文成功发送次数时,所述网关控制器发送表征路由关系发生路由失败的警示报文包括:在每一轮询周期内,将每一路由关系的报文成功发送次数和报文成功接收次数进行比对;在同一轮询周期内若超过一条路由关系发生路由失败,按照发生路由失败的路由关系的检索编号排列顺序,依次发送相应的警示报文。
可选的,还包括:对在本轮询周期结束时尚未发出的警示报文,取消发送。
可选的,所述警示报文的标识符为优先级高的标识符。
一种网关控制器,包括:
统计单元,用于统计各路由关系的报文成功接收次数,以及统计各路由关系的报文成功发送次数;
警示单元,用于在路由关系的报文成功接收次数大于报文成功发送次数时,所述网关控制器发送表征路由关系发生路由失败的警示报文;
其中,所述警示报文的数据域包括:发生失败的路由关系的唯一标识以及路由失败次数;所述路由失败次数为发生失败的路由关系的报文成功接收次数与报文成功发送次数间的差值。
可选的,任一路由关系的报文成功接收次数为第一数组变量中的元素;任一路由关系的报文成功发送次数为第二数组变量中的元素;所述第一数组变量和所述第二数组变量的大小均为N;所述N为自然数,表示所述网关控制器需要执行的路由关系的总数;所述第一数组变量和所述第二数组变量中各元素的初始值为a;a为非零自然数。
可见,在本发明中,网关控制器会统计各路由关系的报文成功接收次数和成功发送次数,在报文成功接收次数大于报文成功发送次数时,发送警示报文,以此实现对报文路由质量的监测。进一步的,警示报文中携带的路由关系的唯一标识,可快速定位哪条路由关系出现路由失败的情况,从而可节约故障分析时间;警示报文中所指示的路由失败次数,则可快速定位路由失败开始的时间,有利于进一步分析路由失败的原因;此外,在未发生路由失败的情形下,并不会产生警示报文,可实现在监测路由质量的同时不影响总线负载率。
附图说明
图1为本发明实施例提供的整车网络示例图;
图2为本发明实施例提供的不同车载控制器间的数据交互示意图;
图3为本发明实施例提供的诊断仪与车载控制器间的数据交互示意图;
图4为本发明实施例提供的报文路由质量监测方法的示例性流程图;
图5为本发明实施例提供的报文路由质量监测方法的另一示例性流程图;
图6为本发明实施例提供的报文路由质量监测方法的又一示例性流程图;
图7为本发明实施例提供的报文路由质量监测方法的又一示例性流程图;
图8为本发明实施例提供的路由质量监测示意图;
图9为本发明实施例提供的警示报文数据格式示例图;
图10为本发明实施例提供的网关控制器的示例性结构图。
具体实施方式
汽车内部会安装多个控制器,不同控制器之间通过总线连接建立整车网络。请参见图1,网关控制器将整车网络划分为多个网段,使用路由功能将一条报文从一个网段路由到另一个网段,以实现不同控制器间的数据交互。
上述多个网段中的诊断网段(网段0)是整车网络对外开放的网络接口,为保障整车网络数据的安全性,一般情况下仅预留一个诊断网段,且诊断网段不设置其他控制器节点。在仅具有一个对外接口的实车环境下,对网关控制器路由质量的现有监测方式如下:
网关成功路由并在目标网段将报文发送出去时,会向诊断网段发送相同的报文,从而将各网段的报文映射到诊断网段,进而可以通过映射到诊断网段的报文分析路由质量。
上述路由质量监测方式一般应用于下述两种情景:
一,不同车载控制器间的数据交互;
二,诊断仪与车载控制器间的数据交互。
请参见图2,第一情景需要网关控制器将在非诊断网段(例如图2中的CAN2-5,CAN表示总线)接收到的报文映射到诊断网段(图2中的CAN1);
请参见图3,第二种情况除了将在非诊断网段接收到的报文映射到诊断网段外,对于在诊断网段接收到的报文,网关控制器在向其他网段发送成功该报文的同时也会将该报文映射到诊断网段。
由上述两种情景可知,通过报文映射功能可以将各个网段的数据映射到诊断网段,进而可以通过映射到诊断网段的报文分析路由质量,其缺点则是负载率过高。
举例来讲,诊断仪有时候会发出功能请求报文,所有接收到功能请求报文且具有相应的诊断功能的控制器均发送相应的诊断报文。网关控制器会将上述功能请求报文同时路由到各个非诊断网段,同时,将多条功能请求报文映射到诊断网段,这会造成诊断网段的负载率提升至原来的m倍(m与网段数量相关),甚至可能达到100%。而负载率过高会严重影响报文映射的质量,进而影响路由质量监测的效果。
为解决上述问题,本发明实施例提供了报文路由质量监测方法及网关控制器。
图4示出了由网关控制器所执行的报文路由质量监测方法的一种示例性流程,包括:
S1:网关控制器统计各路由关系的报文成功接收次数及报文成功发送次数。
前已述及,不同网段间的数据交互是通过网关控制器的路由功能实现的,不同网段之间需要网关控制器路由的报文很多,也就有很多条路由关系。
所谓路由关系可这样理解:在源网段收到需要路由的报文,网关控制器在目标网段将该报文发送出去,收到的报文和发出的报文整体为一条路由关系。
令网关控制器需要执行的路由关系的总数表示为N(也即N条路由关系),在一个示例中,可为这N条路由关系分配第一数组变量和第二数组变量,第一数组变量用于记录上述N条路由关系的报文成功接收次数,第二数组变量用于记录上述N条路由关系的报文成功发送次数。
第一数组变量和第二数组变量的大小均为N,也即,分别由N个变量/元素组成。第一数组变量和第二数组变量的数据类型相同,其数据类型可综合考虑芯片内存容量、报文数量等因素合理配置数据类型而确定,例如可为uint8(8位无符号整数)、uint16(16位无符号整数)、uint32(32位无符号整数)等。
第一数组变量和第二数组变量中各元素的初始值为a(a为非零自然数)。在一个示例中,a可为1。
可将任一路由关系的唯一标识表示为n(n大于等于0且小于N,或者,n大于等于1且小于等于N),则任一路由关系的报文成功接收次数可表示为Rx_Counter[n],报文成功发送次数可表示为Tx_Counter[n]。
在一个示例中,可将路由关系检索编号作为路由关系的唯一标识,路由关系检索编号为n的路由关系对应第一数组变量和第二数组变量中的第n个元素。
假定N=100,n大于等于1且小于等于100,则第一数组变量包括100个元素,分别表示为Rx_Counter[1]~Rx_Counter[100];同理,第二数组变量包括100个元素,分别表示为Tx_Counter[1]~Tx_Counter[100]。以Rx_Counter[1]为例,其是第一数组变量中的第1个元素。
在具体实现时,每个路由关系可分配一个Rx计数器和一个Tx计数器,当网关控制器接收到路由关系检索编号为n的报文时,对第一数组变量中的第n个元素(Rx_Counter[n])进行递增处理(加1)。同理,网关控制器成功路由并发送路由关系检索编号为n的报文后,则对第二数组变量中的第n个元素(Tx_Counter[n])进行递增处理(加1)。
S2:在路由关系的报文成功接收次数大于报文成功发送次数时,网关控制器发送表征路由关系发生路由失败的警示报文。
警示报文的作用是用于指示路由质量。在一个示例中,警示报文的内容可包括:
①发生失败的路由关系的唯一标识;
唯一标识具体可为路由关系检索编号,用于指示哪一条路由关系路由失败;
②路由失败次数;
路由失败次数是发生失败的路由关系的报文成功接收次数与报文成功发送次数间的差值,可表示为M。
也即,以发生失败的路由关系的检索编号是1为例,M=Rx_Counter[1]-Tx_Counter[1]。具体的,假定Rx_Counter[1]=10,Tx_Counter[1]=3,则M=7。
③警示报文标识符;
为保证警示报文优先发送到总线上,警示报文的优先级需高于总线上传输的其他报文。
为实现警示报文的优先级高于总线上传输的其他报文,可选择优先级较高的ID(标识)作为警示报文标识符,也即令警示报文的标识符的优先级高于总线上其他报文的标识符。
举例来讲,在CAN协议中有规定,ID编号小的优先级高于ID编号大的,则可选择编号小的ID(例如0x000)作为警示报文标识符。
警示报文将被发送至诊断网段,在诊断仪接入诊断网段后,诊断仪将会接收到警示报文;诊断仪可根据路由关系检索编号与网段间的对应关系,分析出哪一网段出现异常。
在一个示例中,网关控制器可在识别出诊断仪接入后,再执行步骤S2。在另一个示例中,则可设计为无论诊断仪是否接入,网关控制器均直接执行步骤S2。
下面介绍步骤S2的具体实现方式。
网关控制器可通过周期轮询的方式对每一路由关系进行监测:
在每一轮询周期内,网关控制器将每一路由关系的报文成功发送次数和报文成功接收次数进行比对,根据比对结果决定是否发送警示报文。轮询周期的长度可灵活设计,例如可为100ms。
以任一条路由关系n为例,网关控制器会比对Rx_Counter[n]和Tx_Counter[n]两者的大小,若Rx_Counter[n]和Tx_Counter[n]相等,说明检索编号为n的路由功能正常,则不发送警示报文;而若Rx_Counter[n]大于Tx_Counter[n],说明检索编号为n的路由功能异常(也即监测到路由失败),则需发送警示报文。
需要说明的是,对于任一条路由关系n而言,网关是先接收到报文后再将报文路由出去。因成功接收了报文,则会对Rx_Counter[n]进行加1操作。之后再进行路由将报文发送出去,如路由成功则会对Tx_Counter[n]进行加1操作,而若路由失败则不会对Tx_Counter[n]进行加1操作,因此,不会出现Rx_Counter[n]小于Tx_Counter[n]的情形。
警示报文的发送可在监测到路由失败后立即启动。一条路由关系的警示报文在一轮询周期内仅发送一次。
在本发明其他实施例中,在同一轮询周期内若超过一条路由关系发生路由失败,则可按照发生路由失败的路由关系的检索编号排列顺序,发送警示报文。
此外,有可能出现本轮询周期结束时尚有警示报文未发出的情况,对于此种情况,可取消发送尚未发出的警示报文。
可见,在本发明实施例中,网关控制器会统计各路由关系的报文成功接收次数和成功发送次数,在报文成功接收次数大于报文成功发送次数时,发送警示报文,以此实现对报文路由质量的监测。进一步的,警示报文中携带了路由关系的唯一标识,可快速定位哪条路由关系出现路由失败的情况,从而可节约故障分析时间;警示报文中所指示的路由失败次数,则可快速定位路由失败开始的时间,有利于进一步分析路由失败的原因;需要强调的是,在未发生路由失败的情形下,本发明实施例所提供的技术方案并不会产生警示报文,可实现在监测路由质量的同时不影响总线负载率。
此外,现有的报文映射方式还具有如下缺点:
1,影响或者破坏后续报文的发送
多条报文同时映射会造成诊断网段负载率陡升,进而影响诊断仪后续对报文的发送(接收报文的同时不能进行发送),影响的后果包括两种:
第一,由于负载率高造成后续报文发送时序延迟;
第二,若诊断仪和网关控制器同时发出报文标识符相同的报文(诊断仪向网关发送报文的同时,网关向诊断仪发送映射报文),可能会产生错误帧导致发送失败。
2,映射功能故障时无法监测到路由失败
在仅有一个诊断网段的实车环境下,若网关控制器映射功能故障,在诊断网段将无法监测路由质量。
与现有的报文映射方式相比,本实施例中的网关控制器在未发生路由失败的情形下,并不会产生警示报文,从而可大幅度减小负载率陡升的发生机率;而警示报文与诊断仪发出的报文标识并不相同,因此,也不会因报文标识符相同而产生错误帧导致发送失败。同时,本实施例并未采用报文映射的方式监测路由质量,因此,即使网关控制器映射功能故障,也不影响对路由质量进行监测。
下面介绍如何对第一数组变量和第二数组变量中各元素进行赋值。
在上电初始化后,各网段均处于唤醒状态,此时,可将第一数组变量和第二数组变量中的元素均赋值为初始值a(请参见图5中的步骤A)。
后续在车辆使用过程中,为了省电或其他目的,可能会令诊断网段、某一或某些非诊断网段处于休眠状态。
针对上述情况,在本发明其他实施例中,仍请参见图5,上述报文路由质量监测方法还可包括如下步骤:
步骤B:在非诊断网段处于休眠状态时,网关控制器将涉及该非诊断网段的所有路由关系所对应的数组元素赋值为b。
其中,b为自然数,且a大于b。在一个示例中,b具体可为0。
这里的数组元素包含在第一数组变量中的元素和在第二数组变量中的元素。
举例来讲,假定整车网络中包含网段1-4,其中网段1为诊断网段,若网段2进入休眠状态,网段2涉及到了20条路由关系,这20条路由关系在第一数组变量和第二数组变量中所对应的元素均会被赋值为b。
步骤C:在诊断网段处于休眠状态时,网关控制器将所有路由关系所对应的数组元素赋值为b,并可停止路由监控功能;
举例来讲,假定N=100,整车网络中包含网段1-4,其中网段1为诊断网段,若网段1进入休眠状态,则将100条路由关系所对应的数组元素均赋值为b。
步骤D:当任一路由关系所涉及的所有网段均由休眠状态转换为唤醒状态且诊断网段处于唤醒状态时,将该任一路由关系对应的数组元素赋值为a。
以路由关系n为例,假定其涉及网段2和网段4,当网段2和网段4均由休眠状态转换为唤醒状态且网段1(诊断网段)也处于唤醒状态时,将路由关系n在第一数组变量和第二数组变量中所对应的元素分别赋值为a,也即,将路由关系n的报文成功发送次数和报文成功接收次数分别赋值为a。
网关控制器会周期性监测各网段处于何种状态,在状态改变时,会对相应的数组元素进行重新赋值。
前述提及了,网关控制器接收到路由关系检索编号为n的报文时,会对Rx_Counter[n]加1。若时间足够长,Rx_Counter[n]一直加1,则可能出现计数溢出的现象。
溢出值的大小与数据类型有关。举例来讲,若Rx_Counter[n]数据类型的定义为uint8,则溢出值为255,而若定义为uint16,则溢出值为65535。
为解决计数溢出的问题,在本发明其他实施例中,当Rx_Counter[n]计数溢出时,可根据Rx_Counter[n]与Tx_Counter[n]间的差值,对Rx_Counter[n]和Tx_Counter[n]重新赋值。
具体的,可将Tx_Counter[n]赋值为初始值a(例如1),将Rx_Counter[n]赋值为M+a,M为Rx_Counter[n]与Tx_Counter[n]间的差值(请参见图6)。
需要说明的是,若计数溢出重新赋值后,Rx_Counter[n]再次溢出,则再次采用相同的办法对Rx_Counter[n]和Tx_Counter[n]重新赋值。
下面将以一个更具体的应用实例,来详细介绍由网关控制器执行的报文路由质量监测方法。请参见图7,其可包括如下步骤:
S701:将整车网络划分为多个网段。
请参见图8,假设将整车网络划分为:CAN1、CAN2、CAN3、CAN4和CAN5这5个网段,其中,CAN1是诊断网段。
S702:定义第一数组变量和第二数组变量。
假定需要路由的路由关系共100个,检索编号依次为1、2、3、……100,可定义第一数组变量和第二数组变量分别为32位无符号整型数组变量。
其中,数组中元素的编号和路由关系的检索编号一一对应。例如:检索编号为18,路由关系在两数组中对应的元素分别表示为Rx_Counter[18]和Tx_Counter[18]。
S703:定义警示报文。
具体的,请参见图9,可定义警示报文的标识符为0x000(0x000为实车环境中未使用的标识符),并定义警示报文的数据长度为8字节(Byte),其中,Byte0用于指示发生失败的路由关系的检索编号,Byte1-Byte4用于指示当前路由关系的路由失败次数(也即前述M),Byte5-Byte7未使用。
警示报文的数据长度可根据实际应用场景灵活配置,在此不作赘述。
S704:在初始化过程中,将第一数组变量和第二数组变量中的所有元素赋值为1。
初始值的相关介绍请参见本文前述记载,在此不作赘述。
S705:路由功能启动后,对第一数组变量和第二数组变量中的元素的取值进行更新。
以路由关系检索编号为18的路由关系举例说明:网关控制器每次接收到路由关系检索编号为18的报文时,对第一数组变量的第18个元素Rx_Counter[18]加1,而每次成功发送路由关系检索编号为18的报文时,则对第二数组变量的第18个元素Tx_Counter[18]加1。
此外,若Rx_Counter[18]计数溢出时,则将Tx_Counter[18]赋值为1,将Rx_Counter[18]赋值为M+1(M为两者的差值)。
S706:根据网段状态的变化,对第一数组变量和第二数组变量中的元素进行重新赋值。
具体的,若非诊断网段处于休眠状态,该网段所对应的所有路由关系对应的数组元素均会被赋值为0。以路由关系检索编号为18的路由关系作为例子,假定其源网段为CAN1,目标网段为CAN4,当CAN1或者CAN4处于休眠状态时,Rx_Counter[18]和Tx_Counter[18]赋值为0。
若诊断网段处于休眠状态,两数组变量中的所有元素赋值为0,并停止路由质量监测功能。
若某路由关系所涉及的所有网段均由休眠状态转换为唤醒状态,将该路由关系对应的数组元素赋值为1。
仍以路由关系检索编号为18的路由关系为例,若其源网段和目标网段均已由休眠状态转换为唤醒状态时,则将Rx_Counter[18]和Tx_Counter[18]赋值为1。
S707:路由功能启动后,以10ms的轮询周期进行监测,根据监测结果决定是否发送警示报文。
以路由关系检索编号为18的路由关系举例说明:
在某轮询周期内,若Rx_Counter[18]大于Tx_Counter[18],说明已发生路由失败,则网关控制器会在诊断网段上发送一帧警示报文,报文标识符为0x000,Byte0的内容为路由关系检索编号18,Byte1-Byte4则为路由失败次数M;
当然,若Rx_Counter[18]等于Tx_Counter[18],说明尚未发生路由失败,网关控制器在诊断网段不发送警示报文。
图10示出了网关控制器一种示例性结构,其可包括:
统计单元1,用于统计各路由关系的报文成功接收次数,以及统计各路由关系的报文成功发送次数;
警示单元2,用于在路由关系的报文成功接收次数大于报文成功发送次数时,上述网关控制器发送表征路由关系发生路由失败的警示报文;
其中,上述警示报文的数据域包括:发生失败的路由关系的唯一标识以及路由失败次数;上述路由失败次数为发生失败的路由关系的报文成功接收次数与报文成功发送次数间的差值。
可选的,在本发明其他实施例中,任一路由关系的报文成功接收次数为第一数组变量中的元素;任一路由关系的报文成功发送次数为第二数组变量中的元素。
其中,第一数组变量和上述第二数组变量的大小均为N(N为自然数,表示上述网关控制器需要执行的路由关系的总数);第一数组变量和第二数组变量中各元素的初始值为a(a为非零自然数)。
可选的,在本发明其他实施例中,上述所有实施例中的统计单元1还用于:
在非诊断网段处于休眠状态时,将涉及上述非诊断网段的所有路由关系所对应的元素赋值为b;其中,b为自然数,且a大于b;
在诊断网段处于休眠状态时,将所有路由关系所对应的元素均赋值为b;
当上述任一路由关系所涉及的所有网段均由休眠状态转换为唤醒状态且上述诊断网段处于唤醒状态时,将上述任一路由关系的所对应的元素赋值为a。
为方便起见,将任一路由关系的唯一标识表示为n;其中,n大于等于0且小于N,或者,n大于等于1且小于等于N;任一路由关系的报文成功接收次数可表示为Rx_Counter[n],报文成功发送次数可表示为Tx_Counter[n]。
在本发明其他实施例中,在统计各路由关系的报文成功接收次数的方面,上述所有实施例中的统计单元1可具体用于:
对于任一路由关系,每次成功接收到报文时,对上述Rx_Counter[n]进行递增处理;
而在统计各路由关系的报文成功发送次数的方面,上述所有实施例中的统计单元1可具体用于:
对于任一路由关系,每次成功发送报文时,对上述Tx_Counter[n]进行递增处理。
在本发明其他实施例中,上述所有实施例中的统计单元1还可用于:当Rx_Counter[n]计数溢出时,根据Rx_Counter[n]与Tx_Counter[n]间的差值,对Rx_Counter[n]和Tx_Counter[n]重新赋值。
在本发明其他实施例中,在对Rx_Counter[n]和Tx_Counter[n]重新赋值主方面,上述所有实施例中的统计单元1可具体用于:
将Tx_Counter[n]赋值为a,将Rx_Counter[n]赋值为M+a;其中,M为Tx_Counter[n]与Rx_Counter[n]间的差值。
在本发明其他实施例中,路由关系的唯一标识具体为检索编号。
在路由关系的报文成功接收次数大于报文成功发送次数时,发送表征路由关系发生路由失败的警示报文的方面,上述所有实施例中的警示单元2可具体用于:
在每一轮询周期内,将每一路由关系的报文成功发送次数和报文成功接收次数进行比对;
在同一轮询周期内若超过一条路由关系发生路由失败,按照发生路由失败的路由关系的检索编号排列顺序,依次发送相应的警示报文。
可选的,上述所有实施例中的警示单元2还可用于:对在本轮询周期结束时尚未发出的警示报文,取消发送。
可选的,上述警示报文的标识符为优先级高的标识符。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及模型步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或模型的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、WD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种报文路由质量监测方法,其特征在于,包括:
网关控制器统计各路由关系的报文成功接收次数,以及统计各路由关系的报文成功发送次数;
在路由关系的报文成功接收次数大于报文成功发送次数时,所述网关控制器发送表征路由关系发生路由失败的警示报文;
其中,所述警示报文的数据域包括:发生失败的路由关系的唯一标识,以及,路由失败次数;所述路由失败次数为发生失败的路由关系的报文成功接收次数与报文成功发送次数间的差值;所述唯一标识具体为路由关系检索编号;
任一路由关系的唯一标识表示为n;其中,n大于等于0且小于N,或者,n大于等于1且小于等于N;
所述任一路由关系的报文成功接收次数表示为Rx_Counter[n],报文成功发送次数表示为Tx_Counter[n];
所述统计各路由关系的报文成功接收次数包括:
对于所述任一路由关系,所述网关控制器每次成功接收到报文时,对所述Rx_Counter[n]进行递增处理;
所述统计各路由关系的报文成功发送次数包括:
对于所述任一路由关系,所述网关控制器每次成功发送报文时,对所述Tx_Counter[n]进行递增处理。
2.如权利要求1所述的方法,其特征在于,
任一路由关系的报文成功接收次数为第一数组变量中的元素;
任一路由关系的报文成功发送次数为第二数组变量中的元素;
所述第一数组变量和所述第二数组变量的大小均为N;所述N为自然数,表示所述网关控制器需要执行的路由关系的总数;所述第一数组变量和所述第二数组变量中各元素的初始值为a;a为非零自然数;
所述唯一标识为路由关系检索编号;路由关系检索编号为n的路由关系对应所述第一数组变量和所述第二数组变量中的第n个元素。
3.如权利要求2所述的方法,其特征在于,还包括:
在非诊断网段处于休眠状态时,将涉及所述非诊断网段的所有路由关系所对应的元素赋值为b;其中,b为自然数,且a大于b;
在诊断网段处于休眠状态时,将所有路由关系所对应的元素均赋值为b;
当所述任一路由关系所涉及的所有网段均由休眠状态转换为唤醒状态且所述诊断网段处于唤醒状态时,将所述任一路由关系的所对应的元素赋值为a。
4.如权利要求3所述的方法,其特征在于,还包括:
当所述Rx_Counter[n]计数溢出时,根据所述Rx_Counter[n]与所述Tx_Counter[n]间的差值,对所述Rx_Counter[n]和所述Tx_Counter[n]重新赋值。
5.如权利要求4所述的方法,其特征在于,所述对所述Rx_Counter[n]和所述Tx_Counter[n]重新赋值包括:
将所述Tx_Counter[n]赋值为a;
将所述Rx_Counter[n]赋值为M+a;
其中,所述M为所述Tx_Counter[n]与所述Rx_Counter[n]间的差值。
6.如权利要求1所述的方法,其特征在于,
所述在路由关系的报文成功接收次数大于报文成功发送次数时,所述网关控制器发送表征路由关系发生路由失败的警示报文包括:
在每一轮询周期内,将每一路由关系的报文成功发送次数和报文成功接收次数进行比对;
在同一轮询周期内若超过一条路由关系发生路由失败,按照发生路由失败的路由关系的检索编号排列顺序,依次发送相应的警示报文。
7.如权利要求6所述的方法,其特征在于,还包括:
对在本轮询周期结束时尚未发出的警示报文,取消发送。
8.如权利要求1所述的方法,其特征在于,所述警示报文的标识符为优先级高的标识符。
9.一种网关控制器,其特征在于,包括:
统计单元,用于统计各路由关系的报文成功接收次数,以及统计各路由关系的报文成功发送次数;
警示单元,用于在路由关系的报文成功接收次数大于报文成功发送次数时,所述网关控制器发送表征路由关系发生路由失败的警示报文;
其中,所述警示报文的数据域包括:发生失败的路由关系的唯一标识以及路由失败次数;所述路由失败次数为发生失败的路由关系的报文成功接收次数与报文成功发送次数间的差值;所述唯一标识具体为路由关系检索编号;
任一路由关系的唯一标识表示为n;其中,n大于等于0且小于N,或者,n大于等于1且小于等于N;
所述任一路由关系的报文成功接收次数表示为Rx_Counter[n],报文成功发送次数表示为Tx_Counter[n];
在统计各路由关系的报文成功接收次数的方面,所述统计单元具体用于:
对于任一路由关系,每次成功接收到报文时,对所述Rx_Counter[n]进行递增处理;
在统计各路由关系的报文成功发送次数的方面,所述统计单元具体用于:
对于任一路由关系,每次成功发送报文时,对所述Tx_Counter[n]进行递增处理。
10.如权利要求9所述的网关控制器,其特征在于,
任一路由关系的报文成功接收次数为第一数组变量中的元素;
任一路由关系的报文成功发送次数为第二数组变量中的元素;
所述第一数组变量和所述第二数组变量的大小均为N;所述N为自然数,表示所述网关控制器需要执行的路由关系的总数;所述第一数组变量和所述第二数组变量中各元素的初始值为a;a为非零自然数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910609960.0A CN110177032B (zh) | 2019-07-08 | 2019-07-08 | 报文路由质量监测方法及网关控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910609960.0A CN110177032B (zh) | 2019-07-08 | 2019-07-08 | 报文路由质量监测方法及网关控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110177032A CN110177032A (zh) | 2019-08-27 |
CN110177032B true CN110177032B (zh) | 2021-05-18 |
Family
ID=67700008
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910609960.0A Active CN110177032B (zh) | 2019-07-08 | 2019-07-08 | 报文路由质量监测方法及网关控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110177032B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111600765B (zh) * | 2020-06-10 | 2022-08-19 | 北京经纬恒润科技股份有限公司 | 通信故障记录方法及网关控制器 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101835234B (zh) * | 2010-03-23 | 2013-01-30 | 重庆邮电大学 | 一种基于接力节点的工业无线传感器网络通信方法 |
CN102316011B (zh) * | 2010-07-07 | 2016-04-06 | 阿里巴巴集团控股有限公司 | 消息路由方法、消息路由系统和路由网关 |
CN101938417A (zh) * | 2010-09-01 | 2011-01-05 | 中兴通讯股份有限公司 | 板卡主备配置的实现方法和板卡 |
CN102394925B (zh) * | 2011-10-28 | 2014-05-28 | 广东电网公司电力科学研究院 | 远程监测诊断中心与地区调度中心的通讯方法及装置 |
KR102107650B1 (ko) * | 2014-03-06 | 2020-05-07 | 삼성전자 주식회사 | 메시지의 송수신 신호 및 통화 요청에 관한 신호를 검출하는 방법과 이를 구현하는 전자장치 |
KR102310119B1 (ko) * | 2014-12-12 | 2021-10-08 | 삼성전자주식회사 | 교통 안전을 위한 방법 및 장치 |
CN110198562B (zh) * | 2015-07-17 | 2023-05-30 | 苹果公司 | 第n次寻呼尝试之后增大功率 |
-
2019
- 2019-07-08 CN CN201910609960.0A patent/CN110177032B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110177032A (zh) | 2019-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10986008B2 (en) | Abnormality detection in an on-board network system | |
US10902109B2 (en) | Misuse detection method, misuse detection electronic control unit, and misuse detection system | |
US11296965B2 (en) | Abnormality detection in an on-board network system | |
US20190140778A1 (en) | Information processing method, information processing system, and recording medium | |
CN106647723B (zh) | 一种基于车联网的车辆状况监测方法、系统及车辆 | |
US9110951B2 (en) | Method and apparatus for isolating a fault in a controller area network | |
US20200382597A1 (en) | Vehicle diagnostic communication apparatus, system including the same and method thereof | |
US12052371B2 (en) | Method for monitoring a network | |
CN113608483B (zh) | 获取车辆信号值方法、电子设备及电子控制单元 | |
CN114731301B (zh) | 决定方法、决定系统以及程序记录介质 | |
US20190384771A1 (en) | Extracting device, extracting method and storage medium, and abnormality detecting device and abnormality detecting method | |
CN114170705A (zh) | 车辆数据上传方法、装置和设备 | |
US9589394B2 (en) | Determining the source of a ground offset in a controller area network | |
CN111106989B (zh) | 车辆can总线协议确定方法及装置 | |
CN110177032B (zh) | 报文路由质量监测方法及网关控制器 | |
KR20100020253A (ko) | 차량 네트워크에서의 메시지 전송 상태 진단 장치 | |
KR101945426B1 (ko) | 배터리 통신진단방법 | |
US20180314572A1 (en) | Methods and systems for diagnosing a controller area network | |
JP2021196997A (ja) | ログ送信制御装置 | |
CN115933591A (zh) | 一种控制器诊断方法、装置、设备和存储介质 | |
JP6979630B2 (ja) | 監視装置、監視方法及びプログラム | |
CN109379211B (zh) | 一种网络监控方法及装置、服务器和存储介质 | |
US10489996B2 (en) | Gateway and method for controlling gateway | |
CN112333038A (zh) | 一种车辆网关检测方法及装置 | |
CN104579827A (zh) | 一种ip地址冲突检测方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 4 / F, building 1, No.14 Jiuxianqiao Road, Chaoyang District, Beijing 100020 Applicant after: Beijing Jingwei Hirain Technologies Co.,Inc. Address before: 8 / F, block B, No. 11, Anxiang Beili, Chaoyang District, Beijing 100101 Applicant before: Beijing Jingwei HiRain Technologies Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |