CN112688846B - 一种can报文的路由方法、装置、设备及存储介质 - Google Patents
一种can报文的路由方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112688846B CN112688846B CN202011622915.8A CN202011622915A CN112688846B CN 112688846 B CN112688846 B CN 112688846B CN 202011622915 A CN202011622915 A CN 202011622915A CN 112688846 B CN112688846 B CN 112688846B
- Authority
- CN
- China
- Prior art keywords
- routing
- message
- index
- ethernet
- routing table
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种CAN报文的路由方法、装置、设备及存储介质,所述方法包括:从CAN总线或以太网接收CAN报文;基于所述CAN报文的CAN ID用HASH运算结果确定所述CAN报文的路由索引;基于所述CAN报文的路由索引查询预先构建的CAN报文路由表获取所述CAN报文的有效路由信息;基于所述有效路由信息在CAN总线或以太网发送所述CAN报文。本发明还相应提供了一种CAN报文路由表的构建方法及装置。本发明的所述方法、装置、设备及存储介质实现从CAN总线端口与以太网间多种灵活组合的路由方式,基于HASH运算的路由索引降低了CAN报文路由表的存储空间,降低了CAN报文的路由的时间。
Description
技术领域
本发明涉及汽车通信领域,具体涉及一种CAN报文路由的方法、装置、设备及存储介质。
背景技术
目前,随着汽车电子设备的大量应用,车辆上的控制器局部网CAN(ControllerArea Network)总线控制器越来越多,随之带来的交互信息的增加,使得整车网络也从单一网段逐步发展到复杂网段的形式。
目前CAN报文路由主要通过嵌入式微控制器MCU加CAN控制器ASIC实现,这种路由方式进行CAN报文交换时,CAN报文延时较大、实时性较差,而且无法做到CAN报文与以太网高层协议进行数据交换,无法满足智能汽车的信息交互需求。
发明内容
有鉴于此,本发明实施例提供了一种CAN报文的路由方法、装置、设备及存储介质,通过从CAN总线接收CAN报文或者从以太网报文中解析CAN报文,然后从CAN报文中提取出CAN ID,并对CAN ID进行HASH运算,使用CAN ID HASH运算结果的低位若干bit位作为路由索引,查询预先配置的CAN报文路由表,获得当前CAN报文的有效路由信息,基于所述有效路由信息从CAN总线或以太网发送所述CAN报文,实现通过一种配置灵活、低延时、可靠和高效的CAN报文路由方法,达到不同速率CAN总线之间、CAN总线与以太网接口之间的数据交换。
第一方面,本发明实施例提供了一种CAN报文的路由方法,包括从CAN总线或以太网接收CAN报文;基于所述CAN报文的CAN ID从CAN报文路由表中确定所述CAN报文的有效路由信息;所述有效路由信息包括报文发送方式和路由目标编号,当所述报文发送方式为CAN总线发送时,所述路由目标编号为CAN总线端口编号,当所述发送方式为以太网发送时,所述路由目标编号为以太网封装索引,所述以太网封装索引用于确定以太网地址信息;基于所述有效路由信息在CAN总线或以太网发送所述CAN报文。
由上,从CAN总线端口或以太网接收CAN报文,基于所接收CAN报文的有效路由信息在CAN总线或以太网上发送该报文,基于上述方法,本发明实现了多种灵活组合的路由的CAN报文发送。
根据第一方面,在所述一种CAN报文的路由方法的第一种可能实施方式中,所述基于所述CAN报文的CAN ID从CAN报文路由表中确定所述CAN报文的有效路由信息,其包括对所述CAN报文的CAN ID进行HASH运算,基于所述HASH运算结果的低位的第一设定数目的比特确定该CAN ID的路由索引;基于所述CAN ID的路由索引查询CAN报文路由表确定所述CAN报文的有效路由信息。
由上,基于CAN ID的HASH运算结果生成的路由索引长度远小于CAN ID长度,因此,基于所述路由索引的CAN报文路由表的内存空间远少于基于29位的CAN ID的现有技术的路由表的空间大大降低了对内存空间的需求,提高路由查询速度,路由时延小。
根据第一方面的第一种可能实施方式,在所述一种CAN报文的路由方法的第二种可能实施方式中,所述查询CAN报文路由表确定所述CAN报文的有效路由信息包括,基于所述CAN ID的路由索引,从所述CAN报文路由表的普通路由表查询该路由索引对应的CAN ID;当查询到所述CAN ID时,从所述普通路由表里获取对应的有效路由信息;其中,所述普通路由表的各表项以所述路由索引为标识,并记录该路由索引对应的CAN ID和相应的有效路由信息,每个所述路由索引最多对应第二设定数目的CAN ID。
由上,基于所述路由索引的CAN报文路由表的内存空间远少于基于29位的CAN ID的现有技术的路由表的空间,大大降低了对内存空间的需求,提高路由查询速度,路由时延小。
根据第一方面的第二种可能实施方式,在所述一种CAN报文的路由方法的第三种可能实施方式中,所述查询CAN报文路由表确定所述CAN报文的有效路由信息还包括,从所述CAN报文路由表的普通路由表查询不到该路由索引对应的CAN ID时,从所述CAN报文路由表的高阶路由表查询所述CAN报文的CAN ID;当查询到所述CAN ID时,从所述高阶路由表里获取对应的有效路由信息;其中,所述高阶路由表的各表项以CAN ID为标识,并记录其对应的有效路由信息,其中,对于所述高阶路由表中每个CAN ID,至少存在第二设定数目的其他CAN ID与其对应的相同的所述路由索引。
由上,增加了高阶路由表的查询,用以解决同一个所述路由索引对应的CAN ID超过设定数目时的CAN ID碰撞问题,能够容忍更短长度的所述路由索引,所述路由索引的位数可以进一步减少,进一步降低了所述路由索引的位数,从而进一步降低CAN报文路由表的空间。
根据第一方面,在所述一种CAN报文的路由方法的第四种可能实施方式中,所述有效路由信息中还包括优先级;所述有效路由信息的报文发送方式为CAN总线发送时,CAN总线端口编号和优先级相同的报文在相同队列;所述有效路由信息的报文发送方式为以太网发送时,优先级别相同的报文在相同队列;所述发送所述CAN报文时,基于队列调度进行发送。
由上,把所述CAN报文内容放入相应的CAN报文队列,后续基于队列进行发送调度。
根据第一方面的第四种可能实施方式,在所述一种CAN报文的路由方法的第五种可能实施方式中,在基于队列调度时,一个调度单位时间内存在多个队列包含待发送的CAN报文时,对于所述优先级不同而其他有效路由信息相同的所述待发送的CAN报文,选择所述优先级高的CAN报文优先调度。
由上,基于优先级别调度所述待发送的CAN报文,保证高优先级别的报文优先发送。
根据第一方面,在所述一种CAN报文的路由方法的第六种可能实施方式中,在以太网发送该所述CAN报文时,基于所述以太网封装索引查询以太网路由表,确定所述以太网地址信息;所述以太网由表记录各以太网封装索引及其对应的发送方和接收方的MAC地址、IP地址或UDP端口。
由上,在第一路由信息中用以太网封装索引替代以太网的详细地址信息,进一步降低CAN报文路由表的空间。
根据第一方面的第六种可能实施方式,在所述一种CAN报文的路由方法的第七种可能实施方式中,发送所述CAN报文时还包括,在以太网发送所述CAN报文时,在一个调度单位时间内,存在多个所述以太网的接收方地址信息相同的CAN报文时,把这些CAN报文合并成聚合CAN报文进行发送。
由上,增加了CAN报文聚合功能,使CAN报文的路由又增加了三种方式:多个CAN总线端口到一个以太网地址、多个以太网地址到一个以太网地址、多个CAN总线端口+多个以太网地址到一个以太网,路由方式更加灵活,且数据发送时间更短。
第二方面,本发明实施例提供了一种CAN报文的路由表构建方法,包括:对CAN报文路由表涉及所有CAN ID进行HASH运算;以及取各CAN ID的HASH运算结果的低位的第一设定数目的比特作为该CAN ID的临时路由索引;以及统计各临时路由索引对应的CAN ID的数目,如果各临时路由索引对应的CAN ID的数目均不大于第二设定数目,则各临时路由索引确定为其对应的CAN ID的路由索引,否则对所述第一设定数目加1且重新确定各CAN ID的临时路由索引;以及基于各CAN ID的所述路由索引和各CAN ID的路由信息构建CAN报文路由表。
由上,基于HASH运算生成的路由索引的位数远小于CAN ID本身的数目,从而降低路由表的内存空间。
根据第二方面,在所述一种CAN报文的路由表构建方法的第一种可能的实施方式中,所述基于各CAN ID的所述路由索引和各CAN ID的路由信息构建CAN报文路由表包括:在CAN报文路由表的普通路由表里添加所述路由索引对应的表项;在所述表项里添加所述路由索对应的各CAN ID及该CAN ID对应的路由信息。
由上,基于HASH运算生成的路由索引的位数远小于CAN ID本身的数目,大大降低了路由表的表项个数,从而大大降低了路由表所需要空间,降低了CAN报文的路由的时间。
根据第二方面的第一种可能的实施方式,在所述一种CAN报文的路由表构建方法的第二种可能的实施方式中,所述基于各CAN ID的所述路由索引和各CAN ID的路由信息构建CAN报文路由表包括,当一所述路由索引对应的CAN ID的数目不大于第三设定数目时,在CAN报文路由表的普通路由表的所述路由索引对应的表项里添加所述路由索对应的各CANID及该CAN ID对应的路由信息;当一所述路由索引对应的CAN ID的数目大于第三设定数目时,在CAN报文路由表的高阶路由表里添加以该路由索对应的各CAN ID为标识的表项,在该表项里添加该CAN ID和其路由信息。
由上,增加高阶路由表,用以解决同一个所述路由索引对应的CAN ID超过设定数目时的CAN ID碰撞问题,能够容忍更短长度的所述路由索引,进一步降低了路由索引的长度,从而进一步降低了CAN报文路由表的存储空间,降低了CAN报文的路由的时间。
第三方面,本发明实施例提供了一种CAN报文的路由装置,包括:报文接收模块,用于从CAN总线或以太网接收CAN报文;路由确定模块,用于基于CAN报文的CAN ID,从CAN报文路由表中确定所述CAN报文的有效路由信息;所述有效路由信息包括CAN总线端口编号或以太网封装索引,所述以太网封装索引用于确定以太网地址信息;报文发送模块,用于基于所述有效路由信息在CAN总线或以太网发送所述CAN报文。
由上,从CAN总线端口或以太网接收CAN报文,基于所接收CAN报文的目的端口在CAN总线或以太网上发送该报文,基于上述装置,本发明实现了多种灵活组合的路由的CAN报文发送。
根据第三方面,在所述一种CAN报文的路由装置的第一种可能实施方式中,所述路由确定模块包括:CAN ID提取模块,用于从所述CAN报文提取CAN ID;以及路由索引确定模块,用于对CAN ID进行HASH运算,以及所述取HASH运算的结果低位第一设定数目比特作为路由索引所述CAN ID的路由索引;以及路由查询模块,用于基于所述CAN ID的路由索引从CAN报文路由表查询所述CAN报文的有效路由信息。
由上,基于CAN ID的HASH运算结果生成的路由索引长度远小于CAN ID长度,因此,基于所述路由索引的CAN报文路由表的内存空间远少于基于29位的CAN ID的现有技术的路由表的空间大大降低了对内存空间的需求,提高路由查询速度,路由时延小,使用纯硬件实现路由表查询时效果更好。
根据第三方面的第一种可能实施方式,在所述一种CAN报文的路由装置的第二种可能实施方式中,所述路由查询模块包括:路由表第一查询模块,用于基于所述CAN ID的路由索引,从所述CAN报文路由表的普通路由表查询该路由索引对应的CAN ID;当查询到所述CAN ID时,从所述普通路由表里获取对应的有效路由信息;其中,所述普通路由表的各表项以所述路由索引为标识,并记录该路由索引对应的CAN ID和相应的有效路由信息,每个所述路由索引最多对应第二设定数目的CAN ID。
由上,基于所述路由索引的CAN报文路由表的内存空间远少于基于29位的CAN ID的现有技术的路由表的空间,大大降低了对内存空间的需求,提高路由查询速度,路由时延小,使用纯硬件实现路由表查询时效果更好。
根据第三方面的第二种可能实施方式,在所述一种CAN报文的路由装置的第三种可能实施方式中,所述路由查询模块还包括:路由表第二查询模块,用于从所述CAN报文路由表的普通路由表查询不到该路由索引对应的CAN ID时,从所述CAN报文路由表的高阶路由表查询所述CAN报文的CAN ID;当查询到所述CAN ID时,从所述高阶路由表里获取对应的有效路由信息;其中,所述高阶路由表的各表项以CAN ID为标识,并记录其对应的有效路由信息,其中,对于所述高阶路由表中每个CAN ID,至少存在第二设定数目的其他CAN ID与其对应的相同的所述路由索引。
由上,增加了高阶路由表的查询,用以解决同一个所述路由索引对应的CAN ID超过设定数目时的CAN ID碰撞问题,能够容忍更短长度的所述路由索引,所述路由索引的位数可以进一步减少,进一步降低了所述路由索引的位数,从而进一步降低CAN报文路由表的空间,使用纯硬件实现路由表查询时效果更好。
根据第三方面,在所述一种CAN报文的路由装置的第四种可能实施方式中,所述有效路由信息中还包括优先级;以及所述路由确定模块还包括报文排队模块,用于所述有效路由信息的报文发送方式为CAN总线发送时,CAN总线端口编号和优先级相同的报文在相同队列;所述有效路由信息的报文发送方式为以太网发送时,优先级别相同的报文在相同队列;以及所述装置还包括报文调度模块,用于所述CAN报文时基于队列调度进行发送。
由上,把所述CAN报文内容放入相应的CAN报文队列,后续基于队列进行发送调度。
根据第三方面的第四种可能实施方式,在所述一种CAN报文的路由装置的第五种可能实施方式中,所述报文调度模块具体用于一个调度单位时间内存在多个队列包含待发送的CAN报文时,对于所述优先级不同而其他有效路由信息相同的所述待发送的CAN报文,选择所述优先级高的CAN报文优先调度。
由上,基于优先级别调度所述待发送的CAN报文,保证高优先级别的报文优先发送。
根据第三方面,在所述一种CAN报文的路由装置的第六种可能实施方式中,所述报文发送模块包括以太网发送模块,用于对于所述有效路由信息的报文发送方式为以太网发送的CAN报文,基于所述以太网封装索引查询以太网路由表确定以太网地址信息,基于所述以太网地址信息发送所述CAN报文,其中,所述以太网地址信息包括发送方和接收方的MAC地址或发送方和接收方的MAC地址和IP地址及UDP端口。由上,在第一路由信息中用以太网封装索引替代以太网的详细地址信息,进一步降低CAN报文路由表的空间,降低CAN报文路由在硬件上实现的难度。
根据第三方面的第六种可能实施方式,在所述一种CAN报文的路由装置的第七种可能实施方式中,所述以太网发送模块还包括以太网聚合模块,用于在一个调度单位时间内存在多个所述以太网的接收方地址信息相同的CAN报文,则把这些CAN报文合并成聚合CAN报文进行发送。
由上,增加了CAN报文聚合功能,使CAN报文的路由又增加了三种方式:多个CAN总线端口到一个以太网地址、多个以太网地址到一个以太网地址、多个CAN总线端口+多个以太网地址到一个以太网,路由方式更加灵活,且数据发送时间更短。
第四方面,本发明实施例提供了一种CAN报文的路由表构建装置,其包括:CAN ID获取模块,用于获取待建CAN报文路由表涉及所有CAN ID;以及HASH运算模块,用于对路由表涉及所有CAN ID进行HASH;以及临时索引确定模块,用于取各CAN ID的HASH运算结果的低位的第一设定数目的比特作为该CAN ID的临时路由索引;以及路由索引确定模块,用于统计各临时路由索引对应的CAN ID的数目,以及如果各临时路由索引对应的CAN ID的数目均不大于第二设定数目,则各临时路由索引确定为其对应的CAN ID的路由索引,否则对所述第一设定数目加1且重新确定各CAN ID的临时路由索引;以及路由表构建模块,用于基于各CAN ID的所述路由索引和各CAN ID的路由信息构建CAN报文路由表。
由上,基于HASH运算生成的路由索引的位数远小于CAN ID本身的数目,从而降低路由表的内存空间。
根据第四方面,在所述一种CAN报文的路由表构建装置的第一种可能的实施方式中,所述路由表构建模块包括:普通路由表项确定模块,用于在CAN报文路由表的普通路由表里添加所述路由索引对应的表项;以及普通路由表信息添加模块、用于在普通路由表的所述表项里添加所述路由索对应的各CAN ID及该CAN ID对应的路由信息。
根据第四方面的第一种可能的实施方式,在所述一种CAN报文的路由表构建装置的第二种可能的实施方式中,所述路由表构建模块包括还包括:高阶路由表项确定模块、用于当一所述路由索引对应的CAN ID的数目不大于第三设定数目时,在CAN报文路由表的高阶路由表里添加以所述路由索引对应的CAN ID为标识的表项;以及高阶路由表信息添加模块、用于当一所述路由索引对应的CAN ID的数目不大于第三设定数目时,在高阶路由表的表项里添加所述路由索对应的各CAN ID及该CAN ID对应的路由信息。
由上,增加高阶路由表,进一步降低了路由索引的长度,从而进一步降低了CAN报文路由表的存储空间,降低了CAN报文的路由的时间。
第五方面,本发明实施例提供了一种芯片,包括第二方面描述的一种CAN报文的路由装置的各种模块。
第六方面,提供了一种路由器,包括第二方面描述的一种CAN报文的路由装置的各种模块。
第七方面,本发明实施例提供了一种计算设备,包括,
总线;
通信接口,其与所述总线连接;
至少一个处理器,其与所述总线连接;以及
至少一个存储器,其与所述总线连接并存储有程序指令,所述程序指令当被所述至少一个处理器执行时使得所述至少一个处理器执行本发明第一方面或第二方面任一所述实施方式。
第八方面,本发明实施例提供了一种计算机可读存储介质,其上存储有程序指令,所述程序指令当被计算机执行时使得所述计算机执行申请第一方面或第二方面任一所述实施方式。
附图说明
图1为本申请的各实施例的系统结构的示意图;
图2A为本申请的一种CAN报文的路由方法实施例的流程示意图;
图2B为本申请的各实施例的CAN报文路由表的第一路由信息的示意图;
图2C为本申请的各实施例的以太网路由表的结构示意图;
图2D为本申请的一种CAN报文的路由方法实施例的路由确定方法的流程示意图;
图2E为本申请的一种CAN报文的路由方法实施例的以太网发送方法的流程示意图;
图3A为本申请的一种CAN报文的路由方法实施例变体一的路由确定方法的流程示意图;
图3B为本申请的一种CAN报文的路由方法实施例变体二的以太网发送方法的流程示意图;
图4A为本申请的一种CAN报文路由表的构建方法实施例的流程示意图;
图4B为本申请的一种CAN报文路由表的构建方法实施例的路由表构建方法的流程示意图;
图4C为本申请的一种CAN报文路由表的构建方法实施例变体的路由表构建方法的流程示意图;
图5A为本申请的一种CAN报文的路由装置实施例的结构示意图;
图5B为本申请的一种CAN报文的路由装置实施例的报文路由模块的结构示意图;
图5C为本申请的一种CAN报文的路由装置实施例的以太网发送模块的结构示意图;
图6A为本申请的一种CAN报文的路由装置实施例变体一的报文路由模块的结构;
图6B为本申请的一种CAN报文的路由装置实施例变体二的以太网发送模块的结构示意图;
图7A为本申请的一种CAN报文路由表的构建装置实施例的结构示意图;
图7B为本申请的一种CAN报文路由表的构建装置实施例的路由表构建模块的结构示意图;
图7C为本申请的一种CAN报文路由表的构建装置实施例变体的路由表构建模块的结构示意图;
图8为本申请实施例的计算设备结构示意图。
具体实施方式
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三等”或模块A、模块B、模块C等,仅用于区别类似的对象,或用于区别不同的实施例,不代表针对对象的特定排序,可以理解地,在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里图示或描述的以外的顺序实施。
在以下的描述中,所涉及的表示步骤的标号,如S110、S120……等,并不表示一定会按此步骤执行,在允许的情况下可以互换前后步骤的顺序,或同时执行。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
对本发明具体实施方式进行进一步详细说明之前,对本发明实施例中涉及的名词和术语,以及其在本发明中相应的用途\作用\功能等进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1、CAN是控制器局域网络(Controller Area Network,CAN)的简称,是汽车计算机控制系统和嵌入式工业控制局域网的标准总线。
2、CAN ID是CAN总线上报文的路由方向的标识,即从CAN总线上的一个设备到另一个设备的路由方向的标识。
3、HASH运算是将一个数据转换为一个标志,这个标志和源数据的每一个字节都有十分紧密的关系,标志的空间通常远小于输入的数据空间。
图1示出了本申请各方法实施例实现的系统框图。虚线框内为实现本申请的CAN报文路由的框图,其包括:CAN总线收发单元、以太网收发单元、接收调度单元、路由查询单元和发送调度单元。
其中,所述CAN收发单元通过CAN总线接口接收或发送CAN报文,所述以太网收发单元通过以太网接口接收或发送CAN报文,所述接收调度单元用于对接收的CAN报文进行发送调度,所述CAN报文查询单元从普通路由表或高阶路由表查询CAN报文的有效路由信息,并在缓存CAN报文时基于有效路由信息把CAN报文送入CAN报文路由队列中排队,所述发送调度单元用于从图1中路由队伍选择CAN报文进行发送,所述以太网收发单元还基于所述有效路由信息中的路由索引查询以太网地址信息。
下面基于图1至图3B介绍本发明的一种CAN报文的路由方法实施例。
【一种CAN报文的路由方法实施例】
图2A示出了一种CAN报文的路由方法实施例的流程图,该方法包括,
步骤1010、从CAN总线或以太网接收CAN报文。
其中,CAN报文的数据帧由七种不同的位域(Bit Field)组成:帧起始(Start of)、仲裁域(Arbitration Field)、控制域(Control Field)、数据域(DataField)、CRC域(CRCField)、应答域(ACK Field)和帧结尾(End of),每个域都有具体的定义,其中,仲裁域包含CAN ID。
具体地,图1中CAN总线收发单元基于CAN报文的帧结构的特点从CAN总线过滤出CAN报文,并缓存该CAN报文。图1中以太网收发单元首先依据从以太网中过滤出以太网报文净荷,再依据CAN报文的帧结构从所述净荷中过滤出CAN报文,并缓存该CAN报文。然后所述CAN端口接收与发送单元或以太网接收与发送单元向图1中的接收调度单元申请对所获取的CAN报文进行接收调度。
由上,本方法实施例可以接收CAN总线或以太网的CAN报文,相比于现有技术以单一协议技术的接收CAN报文,本方法实施例更加灵活,兼容性强。
步骤1020、对所接收的CAN报文进行接收调度。
具体地,如果图1中的接收调度单元的缓存空间有空,则从CAN收发单元或以太网收发单元接收CAN报文,并发送给图1中的路由查询单元。
步骤1030、基于接收调度成功的CAN报文的CAN ID确定其第一路由信息,并据此对所述CAN进行排队。
其中,本步骤是对接收调度成功的CAN报文进行路由,确定其其第一路由信息,并基于第一路由信息把所述接收调度成功的CAN报文放置不同的路由队列。所述接收调度成功的CAN报文在本步骤被表示成待路由的CAN报文。所述确定其第一路由信息的详细描述请参照一种CAN报文的路由方法实施例的路由确定方法,这里不再详述。这里重点介绍本实例的第一路由信息和有效路由信息。
其中,所述待路由的CAN报文的第一路由信息包括其CAN ID及所述CAN ID的报文优先级、目的端口和以太网封装索引,所述目的端口包括CAN总线端口编号和以太网标记。基于所述第一路由信息可确定所述待路由的CAN报文的有效路由信息,当所述待路由的CAN报文的第一路由信息中所述以太网标记为无效标记时,所述待路由的CAN报文的有效路由信息的报文发送方式为CAN总线发送,所述有效路由信息的路由目标编号为所述第一路由信息的CAN总线端口编号;当所述待路由的CAN报文的第一路由信息中所述以太网标记为有效标记时,所述待路由的CAN报文的有效路由信息的报文发送方式为以太网发送,所述有效路由信息的路由目标编号为所述第一路由信息的以太网封装索引。
图2B示出了CAN报文路由表的第一路由信息和各具体比特数目,后续的普通路由表和高阶路由表均包含第一路由信息,表中各信息的比特数目只是一个示例,实际使用时依据CAN网络的规模确定。
本实施例中,报文优先级的比特位为1,报文有2个优先级别,用以发送调度时使用。本实施例中,所述以太网封装索引用以查询以太网的收发方的以太网地址信息。
本实施例中,目的端口有7位,其中前6位为CAN总线端口编号,第7位对应以太网封装索引是否有效的标记,每个CAN总线端口编号的每一位对应于CAN总线一个端口设备。当目的端口的以太网标记对应的比特为1时,表示该CAN报文被路由到以太网,而不依据于该CAN报文来自CAN总线端口或以太网端口。因此,本实施例支持如下多种路由方式:
(1)一个CAN总线端口到一个CAN总线端口
(2)一个CAN总线端口到一个以太网地址
(3)一个以太网地址到一个CAN总线端口
(4)一个以太网地址到以太网一个以太网地址
由上,依据本方法实施例的所述第一路由信息可以实现CAN总线端口或以太网端口到CAN总线端口或以太网端口之间的灵活的同协议或跨协议的路由。
步骤1040、从路由队列中选择完整CAN报文作为待发送调度的CAN报文。
具体地,所述路由队列里保存每个待发送调度的CAN报文的CAN报文数据帧在图1的报文数据帧缓存器中的缓存地址。通过监控每个待发送调度的CAN报文的所述缓存状态,选择完成缓存的待发送调度的CAN报文,并根据待发送调度的CAN报文在所述CAN报文队列里保存的所述缓存地址,从图1的报文数据帧缓存器中获取待发送调度的CAN报文。
步骤1050、对待发送调度的CAN报文基于报文优先级和目的端口进行调度。
具体地,图1中的发送调度单元基于待发送调度的CAN报文的所述目的端口调度给不同的目的端口,其中,本实施例所述目的端口对应6种CAN总线端口和1种以太网端口,共7种端口,所送待发送调度的CAN报文基于所述目的端口被调度给这7种端口。对于在一个调度单位时间内调度给同一目的端口的所述待发送调度的CAN报文,基于所述优先级对优先级别高的所述待发送调度CAN报文优先的发送调度。
其中,本步骤对待发送调度CAN报文完成了发送调度,接下来待发送调度CAN报文被表示成待发送CAN报文。
由上,所述待发送CAN报文的目的端口决定所述CAN报文从CAN总线还是以太网发送,与所述待发送CAN报文的接收的位置无关,实现了CAN报文的多种灵活组合发送方式。
步骤1060、在CAN总线或以太网发送所述待发送CAN报文。
其中,本步骤包括步骤1080和步骤1090。
步骤1080、在CAN总线发送待发送CAN报文。
具体地,图1中CAN总线收发单元根据待发送CAN报文的目的端口对应的CAN总线端口编号,发送待发送CAN报文至不同的CAN总线端口,CAN总线端口根据待发送CAN报文的CANID把其发送到相应的CAN总线设备。所述CAN ID是待发送CAN报文的路由标识,包含其在CAN总线的目的设备标识,基于CAN ID确定其对应的CAN总线的目的设备是现有技术,这里不再详述。
步骤1090、在以太网发送待发送CAN报文。
具体地,图1中以太网收发单元根据待发送CAN报文的CAN ID的以太网封装索引从预先构建的以太网路由表里确定待发送CAN报文的以太网的地址信息,根据所述以太网的地址信息在以太网上发送所述待发送CAN报文。本步骤的详细描述请参照一种CAN报文的路由方法实施例的以太网发送方法。
具体地,图2C是一个以太网路由表的每个表项的地址信息示例,是关于所述以太网基于TCP端口发送CAN报文的地址信息示例,所述以太网的地址信息包含了收发方的MAC地址、IP地址和TCP端口。
由上,基于以太网封装索引确定待发送CAN报文的以太网的地址信息,从而在以太网可以发送多个目标地址,可以依据目标MAC地址或目标IP地址两种方式发送。
【一种CAN报文的路由方法实施例的路由确定方法】
图2D示出了所述一种CAN报文的路由方法实施例的路由确定方法的流程,其包括,
步骤10310、从所述待路由的CAN报文中解析CAN ID。
具体地,在CAN报文的数据帧的仲裁域包含了CAN ID,CAN ID有11位与29位,其中,29位是一种扩展方式,本实施例两种方式都支持。基于数据帧的仲裁域的结构能够从CAN报文中解析出CAN ID。
步骤10320、对所述CAN ID进行HASH运算产生路由索引。
具体地,基于HASH运算产生的结果是CAN ID的新标识,更加集中体现CAN ID的数据特征,取低位的第一设定数目的比特位就几乎可以识别全部CAN ID,示例地,在29位CANID情况下,取低位的12个比特用作路由索引,即第一设定数目取12。
因为所述路由索引只有第一设定数目的比特,而不是全部基于CAN ID的HASN运算结果,可能存在少量的路由索引对应多个CAN ID。在构建路由表基于涉及到的CAN ID数目设计合适的所述第一设定数目,使一个路由索引最多对应第二设定数目的CAN ID,在CAN报文路由表的普通路由表里一个路由索引最多对应第二设定数目的CAN ID,后文在一种CAN报文路由表构建的实施例中有详细描述关于如何构建CAN报文路由表。示例地,对应第一设定数目取12时,第二设定数目取2。
由上,基于CAN ID的HASH运算结果生成12位的路由索引,基于12位的路由索引的CAN报文路由表的普通路由表所需求的内存空间约是176kbit,基于29位的CAN ID的现有技术的所述普通路由表对内存空间的所需求空间约为7.67Gbit,本方法实施例大大降低了对内存空间的需求,提高路由查询速度。路由时延非常小。
步骤10330、基于所述路由索引和所述CAN ID从CAN报文路由表的普通路由表中确定所述待路由CAN报文的第一路由信息。
具体地,从所述普通路由表里查询基于所述路由索引对应的对应表项,本方法实施例中所述路由索引对应的表项里最多有第二设定数目CAN ID;再从该表项里基于所述待路由CAN报文对应的CAN ID和其对应的报文优先级、目的端口及以太网封装索引,并组成所述待路由CAN报文的第一路由信息;如果从所述普通路由表里查询不到所述路由索引或者查询不到所述CAN ID,则所述待路由CAN报文为无效报文,丢弃该CAN报文。
步骤10350、对待路由的CAN报文进行缓存。
具体地,对待路由CAN报文数据帧进行缓存时可以在图1的报文数据帧缓存器中对应的RAM中以连续地址保存或分段地址保存,把保存地址按顺序和缓存进展发送给图1中路由队列。
步骤10360、基于所述第一路由信息对待路由CAN报文进行排队。
具体地,总共有((CAN端口数+1)*优先级别数)个路由队列,示例地,在本实施例中CAN端口数有6个,优先级别数有2个,共有14支队伍,如果待路由CAN报文的目标端口和报文优先级别均相同,则放入相同的队伍。
其中,队列里保存每个待路由CAN报文数据帧在图1的报文数据帧缓存器的缓存地址和缓存状态,所述缓存状态是CAN报文在缓存中或缓存完毕。
其中,步骤10350和步骤10360是并行进行的,步骤10350和步骤10360完成之后,对待路由CAN报文已经完成第一路由信息确定,并按照基于第一路由信息进入不同的队列准备调度了,后续待路由CAN报文被表示成待发送调度的CAN报文。
【一种CAN报文的路由方法实施例的以太网发送方法】
图2E示出了所述一种CAN报文的路由方法实施例的以太网发送方法的流程,其包括,
步骤10910、基于待发送CAN报文的以太网封装索引从预先构建的以太网路由表里确定其以太网的地址信息。
具体地,图1中以太网收发单元根据待发送CAN报文的CAN ID的以太网封装索引从预先构建的以太网路由表里确定待发送CAN报文的以太网的地址信息,所述以太网路由表的每个表项以所述以太网封装索引为标识,所述以太网基于MAC地址或IP地址实现转发,当所述以太网基于MAC地址转发CAN报文,以太网路由表的每个表项里包含收发方的MAC地址;当所述以太网基于IP地址转发CAN报文,以太网路由表的每个表项里包含收发方的MAC地址、IP地址和TCP端口。
步骤10930、基于所述以太网的地址信息在以太网上发送所述待发送CAN报文。
具体地,图1中以太网收发单元根据所述以太网的地址信息在以太网上发送所述待发送CAN报文。
综上,一种CAN报文的路由方法实施例中,从CAN总线端口或以太网接收CAN报文,基于所接收CAN报文的目的端口在CAN总线或以太网上发送该报文,实现了多种灵活组合的路由的CAN报文发送,同时基于HASH运算的路由索引降低了CAN报文路由表的存储空间,降低了CAN报文的路由的时间。
【一种CAN报文的路由方法实施例变体一】
下面介绍本发明的一种CAN报文的路由方法实施例变体一。
图2A同样示出了一种CAN报文的路由方法实施例变体一的流程,所以所述方法实施例变体一的总体流程与所述方法实施例相同,具有所述方法实施例的一切优点和有益效果。在一种CAN报文的路由方法实施例变体一中增加了高阶路由表的查询,下面重点介绍其变化的部分。
所述方法实施例变体一在步骤1030进行了增强,所述CAN报文路由表增加了高阶路由表,所述高阶路由表的每个表项的标识是CAN ID,包含CAN ID和其对应的报文优先级、目的端口及以太网封装索引。因为增加了高阶路由表的查询,所述路由索引的位数可以进一步减少,示例地,所述路由索引在本实施例变体中从12比特为11个比特,即所述第一设定数目从12变成11。
因为随着所述路由索引的位数减少,可能存在一个路由索引对应更多个CAN ID,甚至超过所述第二设定数目,在构建路由表时使一个这类的所述路由索引最多对应第三设定数目的CAN ID。
示例地,所述第一设定数目从12变成11时,所述第二设定数目继续取2,所述第三设定数目取4,即在普通路由表里一个路由索引最多对应2个CAN ID,当一个路由索引对应3或4个CAN ID时,这些CAN ID的路由信息都放在高阶路由表里,因为这种CAN ID非常少,远少于普通路由表的CAN ID数目,CAN报文路由表的空间仍以普通路由表为主。高阶路由表以CAN ID为其表项的标识。后文在一种CAN报文路由表构建的实施例变体中有详细描述关于如何构建CAN报文路由表。
图3A示出了一种CAN报文的路由方法实施例变体一的路由确定方法的流程,前三步骤与一种CAN报文的路由方法实施例变体一的路由确定方法的流程相同,增加了步骤10340。
步骤10340、在所述普通路由表里查询不到所述CAN ID时,基于所述CAN ID从CAN报文路由表的高阶路由表中,确定所述待路由CAN报文的第一路由信息。
具体地,如果从所述普通路由表里查询不到所述路由索引或者查询不到所述CANID,则基于所述CAN ID从CAN报文路由表的高阶路由表中确定所述待路由CAN报文的CAN ID和其对应的报文优先级、目的端口及以太网封装索引,并组成所述待路由CAN报文的第一路由信息。如果在高阶路由表中查询不到所述CAN ID,所述待路由CAN报文是无效报文,丢弃该CAN报文。
综上,一种CAN报文的路由方法实施例变体一增加了高阶路由表的查询,进一步降低了CAN报文路由表的存储空间,降低了CAN报文的路由的时间。
【一种CAN报文的路由方法实施例变体二】
下面介绍本发明的一种CAN报文的路由方法实施例变体二。
图2A同样示出了一种CAN报文的路由方法实施例变体二的流程,该变体是在一种CAN报文的路由方法实施例或一种CAN报文的路由方法实施例变体一的变化,继承一种CAN报文的路由方法实施例或一种CAN报文的路由方法实施例变体一的一切优点和有益效果。
所述方法实施例变体二在以太网发送方法的步骤1090进行了增强,当在一个调度单位时间里,发往同一个以太网目的地址有多个CAN报文,则增加了CAN报文聚合功能。
图3B示出了所述一种CAN报文的路由方法实施例变体二的以太网发送方法的流程,其增加了步骤10920。
步骤10920、基于以太网的接收方地址信息合并所述待发送CAN报文。
其中,在一个调度单位时间内存在多个所述以太网的接收方地址信息相同的CAN报文,则把这些CAN报文合并成聚合CAN报文进行发送。
综上,一种CAN报文的路由方法实施例变体二增加了CAN报文聚合功能,使CAN报文的路由又增加了三种方式:
(5)多个CAN总线端口到一个以太网地址
(6)多个以太网地址到一个以太网地址
(7)多个CAN总线端口+多个以太网地址到一个以太网
路由方式更加灵活,且数据发送时间更短。
【一种CAN报文路由表的构建方法实施例】
下面基于图4A介绍本发明的一种CAN报文路由表的构建方法实施例。
图4A示出了的一种CAN报文路由表的构建方法实施例的流程,其包括,
步骤4010、获取待建CAN报文路由表涉及的所有CAN ID。
其中,CAN ID是一种CAN设备到另外一个CAN设备的路由和该路由上报文类型的综合标识,在一个CAN网络存在很多CAN ID,比如在汽车的电子控制系统的CAN ID有几千个。
步骤4020、对所述所有CAN ID进行HASH运算。
其中,HASH运算的结果一般比原来的数据少,以更少的信息来表示CAN ID。
步骤4030、取所述HASH运算的结果低位的第四设定数目比特作为所述CAN ID的临时路由索引。
其中,因为HASH运算的结果低位信息就能标识大部分CAN ID,所以从低位开始逐渐增加临时路由索引的比特数。
步骤4040、统计各所述临时路由索引对应的CAN ID数目。
其中,因为未获取HASH运算的所有结果作为CAN ID的临时路由索引,存在一个临时路由索引对应多个CAN ID的现象,根据这种一对多的问题逐渐调整增加临时路由索引的比特数。
步骤4050、判断是否存在所述CAN ID数目大于第五设定数目。
具体地,所述第五设定数目根据所构建的CAN报文路由表设定,在本实施例中仅构建CAN报文路由表的普通路由表,则第五设定数目取2,在后续的本实施例变体中同时构建CAN报文路由表的普通路由表和高阶路由表,则第五设定数目取4。
其中,如果有,则转入步骤4060,第四设定数目加1;如果没有,则转入步骤4070,所述临时路由索引变为路由索引。
步骤4080、基于各所述CAN ID的路由索引和各CAN ID对应的报文优先级、目的端口及以太网封装索引构建CAN报文路由表。
其中,本步骤详细的描述参照一种CAN报文路由表的构建方法实施例的路由表构建模块。
由上,基于HASH运算生成的路由索引的位数远小于CAN ID本身的数目,大大降低了路由表所需要空间。
【一种CAN报文路由表的构建方法实施例的路由表构建方法】
图4B示出了的一种CAN报文路由表的构建方法实施例的路由表构建方法的流程,其包括,
步骤40820、在CAN报文路由表的普通路由表里添加所述路由索引对应的表项。
其中,普通路由表是CAN报文路由表的一部分,普通路由表以所述路由索引为标识,其表项的数目比CAN ID降低很多。
步骤40830、在普通路由表的所述表项里添加所述路由索对应的各CAN ID及该CANID并组成所述待路由CAN报文的第一路由信息。
综上,一种CAN报文路由表的构建方法实施例中,基于HASH运算生成路由索引,大大降低了CAN报文路由表的存储空间,降低了CAN报文的路由的时间。
【一种CAN报文路由表的构建方法实施例变体】
下面介绍本发明的一种CAN报文路由表的构建方法实施例变体。该变体是在一种CAN报文路由表的构建方法实施例基础上构建,继承了一种CAN报文路由表的构建方法实施例的优点和有益效果。本变体在路由表构建方法上增加了高阶路由表的构建。
图4C示出了的一种CAN报文路由表的构建方法实施例变体的路由表构建方法的流程,相对于一种CAN报文路由表的构建方法实施例的路由表构建方法的流程,增加了步骤40801、40830和40840。下面重点介绍其中增加部分及其有益效果。
步骤40810、判断所述路由索引对应的CAN ID的数目是否大于第六设定数目。
其中,第六设定数目小于第五设定数目,当所述路由索引对应的CAN ID的数目不大于第六设定数目时,转入步骤40820,构建普通路由表。当所述路由索引对应的CAN ID的数目大于第六设定数目时,转入步骤40840,构建高阶路由表。
示例地,在本变体中,第五设定数目从2变成4,第六设定数目等于2。第五设定数目等于4进一步降低了普通路由表的表项。虽然增加了高阶路由表,但高阶路由表数目较少,其空间远小于普通路由表。
步骤40840、在CAN报文路由表的高阶路由表里添加以所述路由索引对应的CAN ID为标识的表项。
其中,高阶路由表仅包含所对应的CAN ID数目大于第五设定数目的路由索引对应的CAN ID,数目非常少。高阶路由表的标识是CAN ID,
步骤40850、在高阶路由表的表项里添加所述路由索对应的各CAN ID及该CAN ID对应的路由信息。
其中,普通路由表是CAN报文路由表的一部分,普通路由表以所述路由索引为标识,其表项的数目比CAN ID降低很多。
综上,一种CAN报文路由表的构建方法实施例变体中,增加高阶路由表,降低了路由索引的长度,进一步降低了CAN报文路由表的存储空间,降低了CAN报文的路由的时间。
【一种CAN报文的路由装置实施例】
下面基于图5A介绍本发明的一种CAN报文的路由装置实施例。
图5A示出了一种CAN报文的路由装置实施例的结构,其包括报文接收模块510、接收调度模块520、报文路由模块530、队列管理模块540、发送调度模块550和报文发送模块560。
所述报文接收模块510,用于从CAN总线或以太网接收CAN报文,其原理和有益效果参照一种CAN报文的路由方法实施例的步骤1010,这里不再详述。其包括CAN总线接收模块5110和以太网接收模块5120。
所述CAN总线接收模块5110用于基于CAN报文的帧结构从CAN总线接收CAN报文。
所述以太网接收模块5120用于基于CAN报文的帧结构和以太网帧结构从以太网接收CAN报文。
所述接收调度模块520用于对所述报文接收模块510所接收的CAN报文进行发送调度,以及对发送调度成功的所接收的CAN发往所述报文路由模块530以确定第一路由信息,其原理和有益效果参照一种CAN报文的路由方法实施例的步骤1020,这里不再详述。
所述报文路由模块530用于,用于对发送调度成功的CAN报文确定第一路由信息。其原理和有益效果参照一种CAN报文的路由方法实施例的步骤1030,这里不再详述。其模块结构参照一种CAN报文的路由装置实施例的报文路由模块。
所述队列管理模块540用于对队列中CAN报文进行监控,及对已经完整缓存的报文发往发送调度模块550进行发送调度。其原理和有益效果参照一种CAN报文的路由方法实施例的步骤1040,这里不再详述。
所述发送调度模块550用于对待发送调度的CAN报文进行发送调度。其原理和有益效果参照一种CAN报文的路由方法实施例的步骤1050,这里不再详述。
所述报文发送模块560用于在CAN总线或以太网发送待发送的CAN报文。其包括CAN总线发送模块5610和以太网发送模块5620。所述CAN总线发送模块5610用于在CAN总线发送待发送的CAN报文,其原理和有益效果参照一种CAN报文的路由方法实施例的步骤1080,这里不再详述。所述以太网发送模块5620用于在以太网发送待发送的CAN报文,其原理和有益效果参照一种CAN报文的路由方法实施例的步骤1090,这里不再详述。其模块结构参照一种CAN报文的路由装置实施例的以太网发送模块。
【一种CAN报文的路由装置实施例的报文路由模块】
图5B示出了一种CAN报文的路由装置实施例的报文路由模块的结构,其包括CANID提取模块5310、路由索引生成模块5320和路由查询第一模块5330、报文缓存模块5350和报文排队模块5360。
所述CAN ID提取模块5310用于从待发送的CAN报文中提取CAN ID,其原理和有益效果参照一种CAN报文的路由方法实施例的路由确定方法步骤10310,这里不再详述。
所述路由索引生成模块5320用于基于所述待发送的CAN报文的CAN ID以HASH运算的方法生成路由索引,其原理和有益效果参照一种CAN报文的路由方法实施例的路由确定方法步骤10320,这里不再详述。
所述路由查询第一模块5330用于基于所述路由索引和所述CAN ID从CAN报文路由表中普通路由表中查询所述待发送的CAN报文的第一路由信息,其原理和有益效果参照一种CAN报文的路由方法实施例的路由确定方法步骤10330,这里不再详述。
所述报文缓存模块5350用于缓存待路由CAN报文,其原理和有益效果参照一种CAN报文的路由方法实施例的路由确定方法的步骤10350,这里不再详述。
所述报文排队模块5360用于对待路由的CAN报文排队,其原理和有益效果参照一种CAN报文的路由方法实施例的路由确定方法的步骤10360,这里不再详述。
【一种CAN报文的路由装置实施例的以太网发送模块】
图5C示出了一种CAN报文的路由装置实施例的以太网发送模块的结构,其包括以太网地址确定模块56210和以太网发送报文模块56230。
所述以太网地址确定模块56210用于从基于所述待发送的CAN报文的第一路由信息中以太网封装索引确定以太网地址信息,其原理和有益效果参照一种CAN报文的路由方法实施例的以太网发送方法步骤10910,这里不再详述。
所述以太网发送报文模块56230用于基于所述以太网地址信息在以太网上发送所述待发送的CAN报文,其原理和有益效果参照一种CAN报文的路由方法实施例的以太网发送方法步骤10930,这里不再详述。
综上,一种CAN报文的路由装置实施例中,从CAN总线端口或以太网接收CAN报文,基于所接收CAN报文的目的端口在CAN总线或以太网上发送该报文,实现了多种灵活组合的路由的CAN报文发送,同时基于HASH运算的路由索引降低了CAN报文路由表的存储空间,降低了CAN报文的路由查询的时间,使用纯硬件实现路由表查询时查询时间进一步降低。
【一种CAN报文的路由装置实施例变体一】
一种CAN报文的路由装置实施例变体一在一种CAN报文的路由装置实施例的基础上变化,继承了一种CAN报文的路由装置实施例的优点和有益效果。在一种CAN报文的路由装置实施例的路由确定模块进行了增强。
图6A示出了一种CAN报文的路由装置实施例变体一的路由确定模块的结构,相对于一种CAN报文的路由装置实施例的路由确定模块增加了路由查询第二模块5340,用于路由查询第一模块5330无法查询到所述待发送CAN报文的第一路由信息时,基于所述CAN ID从CAN报文路由表的高阶路由表中,查询所述待发送CAN报文的第一路由信息,其原理和有益效果参照一种CAN报文的路由方法实施例变体一的路由确定方法步骤10340,这里不再详述。
综上,一种CAN报文的路由装置实施例变体一增加了高阶路由表的查询,进一步降低了CAN报文路由表的存储空间,降低了CAN报文的路由的时间,使用纯硬件实现路由表查询时查询时间进一步降低。
【一种CAN报文的路由装置实施例变体二】
一种CAN报文的路由装置实施例变体二在一种CAN报文的路由装置实施例或一种CAN报文的路由装置实施例变体一的基础上变化,继承了一种CAN报文的路由装置实施例或一种CAN报文的路由装置实施例变体一的优点和有益效果。在一种CAN报文的路由装置实施例的以太网发送模块进行了增强,因为一种CAN报文的路由装置实施例变体一继承了种CAN报文的路由装置实施例的以太网发送模块模块,该增强也是一种CAN报文的路由装置实施例变体一的以太网发送模块的增强。
图6B示出了一种CAN报文的路由装置实施例变体二的以太网发送模块的结构,相对于一种CAN报文的路由装置实施例的以太网发送模块增加了报文聚合模块56220,用于对发送同一以太网目的地址的CAN报文进行了聚合,其原理和有益效果参照一种CAN报文的路由方法实施例变体二的以太网发送方法步骤10920,这里不再详述。
综上,一种CAN报文的路由装置实施例变体二增加了CAN报文聚合功能,使CAN报文的路由又增加了三种方式:
(五)多个CAN总线端口到一个以太网地址
(六)多个以太网地址到一个以太网地址
(七)多个CAN总线端口+多个以太网地址到一个以太网
路由方式更加灵活,且数据发送时间更短。
【一种CAN报文路由表的构建装置实施例】
下面基于图7A介绍本发明的一种CAN报文路由表的构建装置实施例。
图7A示出了一种CAN报文路由表的构建装置实施例的结构,其包括CAN ID获取模块710、HASH运算模块720、临时索引确定模块730、路由索引确定模块740和路由表构建模块750。
所述CAN ID获取模块710用于获取待建CAN报文路由表涉及的所有CAN ID,其原理和有益效果参照一种CAN报文路由表的构建方法实施例的步骤4010,这里不再详述。
所述HASH运算模块720用于对所述所有CAN ID进行HASH运算。其原理和有益效果参照一种CAN报文路由表的构建方法实施例的步骤4020,这里不再详述。
所述临时索引确定模块730用于取所述HASH运算的结果低位的第三设定数目比特作为所述CAN ID的临时路由索引。其原理和有益效果参照一种CAN报文路由表的构建方法实施例的步骤4030,这里不再详述。
所述路由索引确定模块740用于判断是否存在所述临时路由索引对应的CAN ID数目大于第四设定数目,以及如果所述CAN ID数目大于第四设定数目则第一设定数目加1,触发重新计算临时路由索引。具体地,以及如果所述CAN ID数目小于或等于第四设定数目则个CAN ID的临时索引变路由索引。其原理和有益效果参照一种CAN报文路由表的构建方法实施例的步骤4040、步骤4050、步骤4060和步骤4070,这里不再详述。
所述路由表构建模块750用于基于各所述CAN ID的路由索引构建CAN报文路由表。其原理和有益效果参照一种CAN报文路由表的构建方法实施例的步骤4080,这里不再详述。其模块结构参见一种CAN报文路由表的构建装置实施例的路由表构建模块。
【一种CAN报文路由表的构建装置实施例的路由表构建模块】
图7B示出了一种CAN报文路由表的构建装置实施例的路由表构建模块的结构,其包括普通路由表项确定模块70520和普通路由表信息添加模块70530。
所述普通路由表项确定模块70520用于在CAN报文路由表的普通路由表里添加所述路由索引对应的表项。其原理和有益效果参照一种CAN报文路由表的构建方法实施例的路由表构建方法的步骤40820,这里不再详述。
所述普通路由表信息添加模块70530用于在普通路由表的所述表项里添加所述路由索对应的各CAN ID及该CAN ID对应的报文优先级、目的端口及以太网封装索引。其原理和有益效果参照一种CAN报文路由表的构建方法实施例的路由表构建方法的步骤40830,这里不再详述。
综上,一种CAN报文路由表的构建装置实施例中,基于HASH运算生成路由索引,大大降低了CAN报文路由表的存储空间,降低了CAN报文的路由的时间,使用纯硬件实现路由表查询时,降低查询时间的效果更好。
【一种CAN报文路由表的构建装置实施例变体】
下面介绍本发明的一种CAN报文路由表的构建装置实施例变体。
一种CAN报文路由表的构建装置实施例变体在对一种CAN报文路由表的构建装置实施例上增强,一种CAN报文路由表的构建装置实施例仅构建CAN报文路由表中的普通路由表,一种CAN报文路由表的构建装置实施例变体增加了高阶路由表的构建,所以一种CAN报文路由表的构建装置实施例变体继承了一种CAN报文路由表的构建装置实施例的所有优点和有益效果。下面重点介绍增强部分。
图7C示出了一种CAN报文路由表的构建装置实施例变体的路由表构建模块的结构,相对于一种CAN报文路由表的构建装置实施例的路由表构建模块,增加了路由表判断模块70510、高阶路由表项确定模块70540和高阶路由表信息添加模块70550。
所述路由表判断模块70510用于判断所述路由索引对应的CAN ID的数目是否大于第五设定数目。其原理和有益效果参照一种CAN报文路由表的构建方法实施例变体的路由表构建方法的步骤40810,这里不再详述。
所述高阶路由表项确定模块70540用于在CAN报文路由表的高阶路由表里添加以所述路由索引对应的CAN ID为标识的表项。其原理和有益效果参照一种CAN报文路由表的构建方法实施例变体的路由表构建方法的步骤40840,这里不再详述。
所述高阶路由表信息添加模块70550用于在高阶路由表的表项里添加所述路由索对应的各CAN ID及该CAN ID对应的报文优先级、目的端口及以太网封装索引。其原理和有益效果参照一种CAN报文路由表的构建方法实施例变体的路由表构建方法的步骤40850,这里不再详述。
综上,一种CAN报文路由表的构建装置实施例变体中,增加高阶路由表,降低了路由索引的长度,进一步降低了CAN报文路由表的存储空间,降低了CAN报文的路由的时间,使用纯硬件实现路由表查询时查询时间进一步降低。
【一种CAN报文的路由芯片】
本发明实施例还提供了一种CAN报文的路由芯片,实现所述一种CAN报文的路由方法实施例或一种CAN报文的路由方法实施例的变体一或一种CAN报文的路由方法实施例的变体二的所有操作步骤。
【一种CAN报文的路由器】
本发明实施例还提供了一种CAN报文的路由器,实现所述一种CAN报文的路由方法实施例或一种CAN报文的路由方法实施例的变体一或一种CAN报文的路由方法实施例的变体二的所有操作步骤。
【计算设备】
本发明实施例还提供的一种计算设备,下面基于图8详细介绍。
该计算设备800包括,处理器810、存储器820、通信接口830、总线840。
应理解,该图所示的计算设备800中的通信接口830可以用于与其他设备之间进行通信。
其中,该处理器810可以与存储器820连接。该存储器820可以用于存储该程序代码和数据。因此,该存储器820可以是处理器810内部的存储单元,也可以是与处理器810独立的外部存储单元,还可以是包括处理器810内部的存储单元和与处理器810独立的外部存储单元的部件。
可选的,计算设备800还可以包括总线840。其中,存储器820、通信接口830可以通过总线840与处理器810连接。总线840可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(EFStended Industry StandardArchitecture,EISA)总线等。所述总线840可以分为地址总线、数据总线、控制总线等。为便于表示,该图中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。
应理解,在本发明实施例中,该处理器810可以采用中央处理单元(centralprocessing unit,CPU)。该处理器还可以是其它通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。或者该处理器810采用一个或多个集成电路,用于执行相关程序,以实现本发明实施例所提供的技术方案。
该存储器820可以包括只读存储器和随机存取存储器,并向处理器810提供指令和数据。处理器810的一部分还可以包括非易失性随机存取存储器。例如,处理器810还可以存储设备类型的信息。
在计算设备800运行时,所述处理器810执行所述存储器820中的计算机执行指令执行各方法实施例及其变体的操作步骤。
应理解,根据本发明实施例的计算设备800可以对应于执行根据本发明各实施例的方法中的相应主体,并且计算设备800中的各个模块的上述和其它操作和/或功能分别为了实现本实施例各方法的相应流程,为了简洁,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括,U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
【计算介质】
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时用于执行各方法实施例及其变体的操作步骤。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括,具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括、但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,均属于本发明保护范畴。
Claims (14)
1.一种CAN报文的路由方法,其特征在于,包括,
从CAN总线或以太网接收CAN报文;
基于所述CAN报文的CAN ID从CAN报文路由表中确定所述CAN报文的有效路由信息;所述有效路由信息包括报文发送方式和路由目标编号,当所述报文发送方式为CAN总线发送时,所述路由目标编号为CAN总线端口编号,当所述发送方式为以太网发送时,所述路由目标编号为以太网封装索引,所述以太网封装索引用于确定以太网地址信息;
基于所述有效路由信息在CAN总线或以太网发送所述CAN报文;
其中,所述基于所述CAN报文的CAN ID从CAN报文路由表中确定所述CAN报文的有效路由信息包括,
对所述CAN报文的CAN ID进行HASH运算,基于所述HASH运算结果的低位的第一设定数目的比特确定该CAN ID的路由索引;
基于所述CAN ID的路由索引查询CAN报文路由表确定所述CAN报文的有效路由信息。
2.根据权利要求1所述方法,其特征在于,所述查询CAN报文路由表确定所述CAN报文的有效路由信息包括,
基于所述CAN ID的路由索引,从所述CAN报文路由表的普通路由表查询该路由索引对应的各CANID;
当查询到所述CAN ID时,从所述普通路由表里获取对应的有效路由信息;
其中,所述普通路由表的各表项以所述路由索引为标识,并记录该路由索引对应的CANID和相应的有效路由信息,每个所述路由索引最多对应第二设定数目的CAN ID。
3.根据权利要求2所述方法,其特征在于,所述查询CAN报文路由表确定所述CAN报文的有效路由信息还包括,
从所述CAN报文路由表的普通路由表查询不到该路由索引对应的CAN ID时,从所述CAN报文路由表的高阶路由表查询所述CAN 报文的CANID;
当查询到所述CAN ID时,从所述高阶路由表里获取对应的有效路由信息;
其中,所述高阶路由表的各表项以CAN ID为标识,并记录其对应的有效路由信息,其中,对于所述高阶路由表中每个CAN ID,至少存在第二设定数目的其他CAN ID与其对应的相同的所述路由索引。
4.根据权利要求1所述方法,其特征在于,所述有效路由信息中还包括优先级;
所述有效路由信息的报文发送方式为CAN总线发送时,CAN总线端口编号和优先级相同的报文在相同队列;所述有效路由信息的报文发送方式为以太网发送时,优先级别相同的报文在相同队列;
所述发送所述CAN报文时,基于队列调度进行发送。
5.根据权利要求4所述方法,其特征在于,在基于队列调度时,
一个调度单位时间内存在多个队列包含待发送的CAN报文时,对于所述优先级不同而其他有效路由信息相同的所述待发送的CAN报文,选择所述优先级高的CAN报文优先调度。
6.根据权利要求1所述方法,其特征在于,在以太网发送所述CAN报文时,基于所述以太网封装索引查询以太网路由表,确定所述以太网地址信息;所述以太网路由表记录各以太网封装索引及其对应的发送方和接收方的MAC地址、IP地址或UDP端口。
7.根据权利要求6所述方法,其特征在于,发送所述CAN报文时还包括,
在以太网发送所述CAN报文时,在一个调度单位时间内,存在多个所述以太网的接收方地址信息相同的CAN报文时,把这些CAN报文合并成聚合CAN报文进行发送。
8.一种CAN报文的路由表构建方法,其特征在于,包括,
对CAN报文路由表涉及所有CANID进行HASH运算;取各CAN ID的HASH运算结果的低位的第一设定数目的比特作为该CAN ID的临时路由索引;
统计各临时路由索引对应的CAN ID的数目,当各临时路由索引对应的CANID的数目均不大于第二设定数目时,各临时路由索引确定为其对应的CAN ID的路由索引;当存在一临时路由索引对应的CAN ID的数目均大于第二设定数目时,对所述第一设定数目加1且重新确定各CAN ID的临时路由索引;
基于各CAN ID的所述路由索引和各CAN ID的路由信息构建CAN报文路由表。
9.根据权利要求8所述方法,其特征在于,所述基于各CAN ID的所述路由索引和各CANID的路由信息构建CAN报文路由表包括:
在CAN报文路由表的普通路由表里,添加所述路由索引对应的表项;在所述表项里添加所述路由索对应的各CANID及相应的路由信息。
10.根据权利要求8所述方法,其特征在于,所述基于各CANID的所述路由索引和各CANID的路由信息构建CAN报文路由表还包括,
当一所述路由索引对应的CAN ID的数目不大于第三设定数目时,在CAN报文路由表的普通路由表的所述路由索引对应的表项里,添加所述路由索对应的各CAN ID及相应的路由信息;所述第三设定数目小于所述第二设定数目;
当一所述路由索引对应的CAN ID的数目大于所述第三设定数目时,在CAN报文路由表的高阶路由表里添加以该路由索对应的各CANID为标识的表项,在该表项里添加该CANID的路由信息。
11.一种CAN报文的路由装置,其特征在于,包括,
报文接收模块,用于从CAN总线或以太网接收CAN报文;
路由确定模块,用于基于CAN报文的CAN ID,从CAN报文路由表中确定所述CAN报文的有效路由信息;所述有效路由信息报文发送方式和路由目标编号,当所述报文发送方式为CAN总线发送时,所述路由目标编号为CAN总线端口编号,当所述发送方式为以太网发送时,所述路由目标编号为以太网封装索引,所述以太网封装索引用于确定以太网地址信息;
发送模块,用于基于所述有效路由信息在CAN总线或以太网发送所述CAN报文;
其中,所述路由确定模块包括:CAN ID提取模块,用于从所述CAN报文提取CANID;以及路由索引确定模块,用于对CANID进行HASH运算,以及取HASH运算的结果低位第一设定数目比特作为路由索引所述CAN ID的路由索引;以及路由查询模块,用于基于所述CAN ID的路由索引从CAN报文路由表查询所述CAN报文的有效路由信息。
12.一种CAN报文的路由表构建装置,其特征在于,包括,
CANID获取模块,用于对CAN报文路由表涉及所有CAN ID;
HASH运算模块,用于对所述所有CANID进行HASH运算;
临时索引确定模块,用于取各CANID的HASH运算结果的低位的第一设定数目的比特,作为其临时路由索引;
路由索引确定模块,用于统计各临时路由索引对应的CAN ID的数目,当各临时路由索引对应的CANID的数目均不大于第二设定数目时,各临时路由索引确定为其对应的CANID的路由索引;及当存在一临时路由索引对应的CAN ID的数目均大于第二设定数目时,对所述第一设定数目加1且重新确定各CANID的临时路由索引;
路由表构建模块,用于基于各CANID的所述路由索引和各CAN ID的路由信息构建CAN报文路由表。
13.一种计算设备,其特征在于,包括,
总线;
通信接口,其与所述总线连接;
至少一个处理器,其与所述总线连接;以及
至少一个存储器,其与所述总线连接并存储有程序指令,所述程序指令当被所述至少一个处理器执行时使得所述至少一个处理器执行权利要求1至7任一所述的方法,或执行权利要求8至10任一所述的方法。
14.一种计算机可读存储介质,其上存储有程序指令,其特征在于,所述程序指令当被计算机执行时使得所述计算机执行权利要求1至7任一所述的方法,或执行权利要求8至10任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011622915.8A CN112688846B (zh) | 2020-12-31 | 2020-12-31 | 一种can报文的路由方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011622915.8A CN112688846B (zh) | 2020-12-31 | 2020-12-31 | 一种can报文的路由方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112688846A CN112688846A (zh) | 2021-04-20 |
CN112688846B true CN112688846B (zh) | 2022-06-28 |
Family
ID=75454024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011622915.8A Active CN112688846B (zh) | 2020-12-31 | 2020-12-31 | 一种can报文的路由方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112688846B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115442317B (zh) * | 2021-12-17 | 2023-10-10 | 北京罗克维尔斯科技有限公司 | 报文处理方法、装置、系统、设备及介质 |
CN114598752B (zh) * | 2022-03-07 | 2023-12-15 | 潍柴动力股份有限公司 | 报文处理方法、装置以及相关设备 |
CN115190063B (zh) * | 2022-09-13 | 2022-11-29 | 南京芯驰半导体科技有限公司 | 一种基于路由表的can报文发送方法及系统 |
CN115580595A (zh) * | 2022-10-18 | 2023-01-06 | 山东云海国创云计算装备产业创新中心有限公司 | 一种管理arp信息的方法、装置、设备及可读介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1767495A (zh) * | 2004-10-28 | 2006-05-03 | 华为技术有限公司 | 保证城域传输设备中二层以太网交换机数据安全的方法 |
CN102307136A (zh) * | 2011-07-06 | 2012-01-04 | 杭州华三通信技术有限公司 | 报文处理方法及其装置 |
CN103812765A (zh) * | 2014-02-14 | 2014-05-21 | 浙江大学 | 具有过滤功能的can转以太网网关及基于该网关的数据传输方法 |
CN104125152A (zh) * | 2013-04-23 | 2014-10-29 | 浙江大学 | 一种基于车载网关提高车载网络可靠性的方法 |
CN106961437A (zh) * | 2017-03-24 | 2017-07-18 | 华东师范大学 | Can和以太网络的混合网络网关网管装置及其交换方法 |
CN110460621A (zh) * | 2019-09-10 | 2019-11-15 | 上海怿星电子科技有限公司 | 一种基于some/ip协议的以太网总线与can总线数据转换方法及系统 |
CN111245776A (zh) * | 2019-10-10 | 2020-06-05 | 中国第一汽车股份有限公司 | 车载数据传输方法、装置、设备和存储介质 |
CN111935206A (zh) * | 2020-06-23 | 2020-11-13 | 新浪网技术(中国)有限公司 | 报文处理方法、装置及网络设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI124297B (en) * | 2012-03-30 | 2014-06-13 | Tellabs Oy | A method and network element for content-based assignment in a communication network |
US20170072876A1 (en) * | 2015-09-14 | 2017-03-16 | Broadcom Corporation | Hardware-Accelerated Protocol Conversion in an Automotive Gateway Controller |
CN111901215B (zh) * | 2020-07-31 | 2022-10-18 | 智车优行科技(北京)有限公司 | 多总线混合路由方法及网关装置 |
-
2020
- 2020-12-31 CN CN202011622915.8A patent/CN112688846B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1767495A (zh) * | 2004-10-28 | 2006-05-03 | 华为技术有限公司 | 保证城域传输设备中二层以太网交换机数据安全的方法 |
CN102307136A (zh) * | 2011-07-06 | 2012-01-04 | 杭州华三通信技术有限公司 | 报文处理方法及其装置 |
CN104125152A (zh) * | 2013-04-23 | 2014-10-29 | 浙江大学 | 一种基于车载网关提高车载网络可靠性的方法 |
CN103812765A (zh) * | 2014-02-14 | 2014-05-21 | 浙江大学 | 具有过滤功能的can转以太网网关及基于该网关的数据传输方法 |
CN106961437A (zh) * | 2017-03-24 | 2017-07-18 | 华东师范大学 | Can和以太网络的混合网络网关网管装置及其交换方法 |
CN110460621A (zh) * | 2019-09-10 | 2019-11-15 | 上海怿星电子科技有限公司 | 一种基于some/ip协议的以太网总线与can总线数据转换方法及系统 |
CN111245776A (zh) * | 2019-10-10 | 2020-06-05 | 中国第一汽车股份有限公司 | 车载数据传输方法、装置、设备和存储介质 |
CN111935206A (zh) * | 2020-06-23 | 2020-11-13 | 新浪网技术(中国)有限公司 | 报文处理方法、装置及网络设备 |
Non-Patent Citations (3)
Title |
---|
CAN-以太网互连系统的设计;汤龙梅等;《工业控制计算机》;20061228(第12期);全文 * |
基于ARM的CAN总线与以太网通信网关设计;宋晓梅等;《西安工程大学学报》;20080425(第02期);全文 * |
机车车辆的MVB-CAN总线网关设计;李洋等;《铁路计算机应用》;20080822(第08期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112688846A (zh) | 2021-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112688846B (zh) | 一种can报文的路由方法、装置、设备及存储介质 | |
US6459698B1 (en) | Supporting mapping of layer 3 priorities in an infiniband ™ network | |
US6912604B1 (en) | Host channel adapter having partitioned link layer services for an infiniband server system | |
US6480500B1 (en) | Arrangement for creating multiple virtual queue pairs from a compressed queue pair based on shared attributes | |
WO2020236278A1 (en) | System and method for facilitating data request management in a network interface controller (nic) | |
US6999462B1 (en) | Mapping layer 2 LAN priorities to a virtual lane in an Infiniband™ network | |
CN102104541B (zh) | 报头处理引擎 | |
EP3384636B1 (en) | Control message routing structure for a controller area network | |
US8830829B2 (en) | Parallel processing using multi-core processor | |
US9762497B2 (en) | System, method and apparatus for network congestion management and network resource isolation | |
US7346707B1 (en) | Arrangement in an infiniband channel adapter for sharing memory space for work queue entries using multiply-linked lists | |
US20080181245A1 (en) | System and Method for Multicore Communication Processing | |
US20110258694A1 (en) | High performance packet processing using a general purpose processor | |
US6973085B1 (en) | Using application headers to determine InfiniBand™ priorities in an InfiniBand™ network | |
US8990422B1 (en) | TCP segmentation offload (TSO) using a hybrid approach of manipulating memory pointers and actual packet data | |
US7209489B1 (en) | Arrangement in a channel adapter for servicing work notifications based on link layer virtual lane processing | |
CN107483405B (zh) | 一种支持变长信元的调度方法和调度系统 | |
JP2017147662A (ja) | 中継装置 | |
JP2017118407A (ja) | 通信システム | |
US7292593B1 (en) | Arrangement in a channel adapter for segregating transmit packet data in transmit buffers based on respective virtual lanes | |
US9137158B2 (en) | Communication apparatus and communication method | |
US6885673B1 (en) | Queue pair wait state management in a host channel adapter | |
CN113014627A (zh) | 报文转发方法、装置、智能终端及计算机可读存储介质 | |
CN109995658B (zh) | 发送、接收以及转发报文的方法和装置 | |
JP2000083055A (ja) | ルータ |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |