CN115022225B - 报文转发方法、装置、设备及可读存储介质 - Google Patents
报文转发方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN115022225B CN115022225B CN202210615820.6A CN202210615820A CN115022225B CN 115022225 B CN115022225 B CN 115022225B CN 202210615820 A CN202210615820 A CN 202210615820A CN 115022225 B CN115022225 B CN 115022225B
- Authority
- CN
- China
- Prior art keywords
- message
- routing table
- data
- source address
- forwarded
- 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 48
- 238000010276 construction Methods 0.000 claims description 5
- 238000012163 sequencing technique Methods 0.000 abstract 1
- 238000004891 communication Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 7
- 102100032312 Brevican core protein Human genes 0.000 description 5
- 101000731086 Homo sapiens Brevican core protein Proteins 0.000 description 5
- 238000010845 search algorithm Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 2
- 238000005094 computer simulation Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- 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/54—Organization of routing tables
-
- 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
-
- 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/74—Address processing for routing
-
- 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/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种报文转发方法、装置、设备及可读存储介质,报文转发方法包括:构建第一路由表,所述第一路由表的字段包括包括报文ID、源地址、数据长度及目标地址;按照源地址进行分类,得到第二路由表;分别按照报文ID进行排序,得到第三路由表;获取待转发报文,所述待转发报文的字段包括包括报文ID、源地址及数据长度;若在所述第三路由表中查找到与待转发报文的报文ID、源地址及数据长度相同的目标数据,则将待转发报文转发到查找到的目标数据的目标地址。通过本发明,对报文转发规则构建路由表,以及对路由表中的数据进行分类和排序,从而实现对接收到的报文进行快速的查找,将其高效的转发至目标地址。
Description
技术领域
本发明涉及车辆CAN网关报文处理领域,尤其涉及一种报文转发方法、装置、设备及可读存储介质。
背景技术
CAN是Controller Area Network的缩写(以下简称为CAN),是ISO国际标准化的串行通信协议,由以研发和生产汽车电子产品著称的德国BOSCH公司开发,并最终成为国际标准(ISO 11898),是国际上应用最广泛的现场总线之一,CAN网关作为整车的中心节点,连接车辆内部所有的总线网络。目前的车辆CAN网络一般分为PTCAN(动力总成系统)、CCAN(底盘控制系统)、BCAN(车身控制系统)、ICAN(娱乐信息系统)、DCAN(本地诊断系统)及TCAN(远程控制系统),而这些CAN网络的信息报文转发均通过CAN网关来完成,参照图1,图1为CAN网关与各CAN总线的通信示意图。随着车联网技术的不断发展,在各个系统间传输的CAN报文的数量越来越多,以PTCAN为例,PTCAN上的CAN报文总线可达数百条以上,而其中60%的CAN报文需要通过CAN网关转发到其他网络系统中,CAN网关接收CAN报文,然后按照一定的规则将报文转发到其他对应的CAN网络系统中,因此,在大量的CAN报文数据中,进行快速的查找和准确的转发对CAN网关来说非常重要。
在目前的现有技术中,主要有两种技术方案,方案一为针对报文转发规则全部手动编写程序代码,在代码实现的过程中,当CAN网关收到一条报文,然后会逐条的进行比对,符合规则的就将其转发到具体的其他CAN网络中,方案二是使用matlab(MATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人及控制系统等领域)中的simulink(Simulink是美国Mathworks公司推出的MATLAB中的一种可视化仿真工具,提供模块图环境,用于多域仿真以及基于模型的设计,支持系统设计、仿真、自动代码生成以及嵌入式系统的连续测试和验证,提供图形编辑器、可自定义的模块库以及求解器,能够进行动态系统建模和仿真)进行图形化建模,针对每条CAN报文进行逐条建模,在模型中进行转发规则比对然后转发。其中,方案一,由于需要全部手动编写代码,通常由CAN网关厂家的软件人员进行设计,手动编写代码的门槛较高,造成CAN网关的使用者,比如整车厂无法参与到CAN网关的转发设计中,另外逐条对比,效率较低。方案二,是图形化开发所以门槛很低,简单图形拖拽就可以实现可视化开发,参与设计的主体就可以是CAN网关的使用者比如整车厂,CAN网关厂家只需要将底层代码和接口设计好,关于CAN网关的转发规则由整车厂人员进行图形化建模来实现,但是该方案有个问题就是需要对每条报文都要单独进行图形化建模,工作量非常大。
发明内容
本发明的主要目的在于提供一种报文转发方法、装置、设备及可读存储介质,旨在解决目前车辆的CAN网关对报文的转发处理存在的复杂度高、效率低、工作量大的技术问题。
第一方面,本发明提供一种报文转发方法,所述报文转发方法包括:
构建第一路由表,所述第一路由表的字段包括报文ID、源地址、数据长度及目标地址;
将所述第一路由表中的数据按照源地址进行分类,得到第二路由表;
将所述第二路由表中按照源地址进行分类后的数据,分别按照报文ID进行排序,得到第三路由表;
获取待转发报文,所述待转发报文的字段包括报文ID、源地址及数据长度;
在所述第三路由表中,查找与待转发报文的报文ID、源地址及报文长度相同的目标数据;
若在所述第三路由表中查找到与待转发报文的报文ID、源地址及数据长度相同的目标数据,则将待转发报文转发到查找到的目标数据的目标地址。
可选的,所述构建第一路由表,所述第一路由表的字段包括报文ID、源地址、数据长度及目标地址包括:
根据报文转发规则,采用EXCEL表,构建第一路由表,所述第一路由表的字段包括报文ID、源地址、数据长度及目标地址。
可选的,所述将所述第二路由表中按照源地址进行分类后的数据,分别按照报文ID进行排序,得到第三路由表包括:
将所述第二路由表中按照源地址进行分类后的数据,分别按照报文ID进行排序;
将进行排序后的数据,通过编程语言,转化为数据结构,得到第三路由表。
可选的,所述在所述第三路由表中,查找与待转发报文的报文ID、源地址及报文长度相同的目标数据包括:
在所述第三路由表中,查找与待转发报文的源地址相同的数据;
在所述与待转发报文的源地址相同的数据中,基于待转发报文的报文ID,采用二分法查找与待转发报文的报文ID、源地址及报文长度相同的目标数据。
可选的,所述将所述第一路由表中的数据按照源地址进行分类,得到第二路由表包括:
采用EXCEL表,将所述第一路由表中的数据按照源地址进行分类,得到第二路由表;
所述将所述第二路由表中按照源地址进行分类后的数据,分别按照报文ID进行排序,得到第三路由表包括:
采用EXCEL表,将所述第二路由表中按照源地址进行分类后的数据,分别按照报文ID进行排序,得到第三路由表。
第二方面,本发明还提供一种报文转发装置,所述报文转发装置包括:
构建模块,用于构建第一路由表,所述第一路由表的字段包括报文ID、源地址、数据长度及目标地址;
分类模块,用于将所述第一路由表中的数据按照源地址进行分类,得到第二路由表;
排序模块,用于将所述第二路由表中按照源地址进行分类后的数据,分别按照报文ID进行排序,得到第三路由表;
获取模块,用于获取待转发报文,所述待转发报文的字段包括报文ID、源地址及数据长度;
查找模块,用于在所述第三路由表中,查找与待转发报文的报文ID、源地址及报文长度相同的目标数据;
转发模块,用于若在所述第三路由表中查找到与待转发报文的报文ID、源地址及数据长度相同的目标数据,则将待转发报文转发到查找到的目标数据的目标地址。
可选的,所述构建模块,用于:
根据报文转发规则,采用EXCEL表,构建第一路由表,所述第一路由表的字段包括报文ID、源地址、数据长度及目标地址。
可选的,所述查找模块,用于:
在所述第三路由表中,查找与待转发报文的源地址相同的数据;
在所述与待转发报文的源地址相同的数据中,基于待转发报文的报文ID,采用二分法查找与待转发报文的报文ID、源地址及报文长度相同的目标数据。
第三方面,本发明还提供一种报文转发设备,所述报文转发设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的报文转发程序,其中所述报文转发程序被所述处理器执行时,实现如上述所述的报文转发方法的步骤。
第四方面,本发明还提供一种可读存储介质,所述可读存储介质上存储有报文转发程序,其中所述报文转发程序被处理器执行时,实现如上述所述的报文转发方法的步骤。
本发明中,构建第一路由表,所述第一路由表的字段包括报文ID、源地址、数据长度及目标地址;将所述第一路由表中的数据按照源地址进行分类,得到第二路由表;将所述第二路由表中按照源地址进行分类后的数据,分别按照报文ID进行排序,得到第三路由表;获取待转发报文,所述待转发报文的字段包括报文ID、源地址及数据长度;在所述第三路由表中,查找与待转发报文的报文ID、源地址及报文长度相同的目标数据;若在所述第三路由表中查找到与待转发报文的报文ID、源地址及数据长度相同的目标数据,则将待转发报文转发到查找到的目标数据的目标地址。本发明通过,首先构建第一路由表,第一路由表的字段包括报文ID、源地址、数据长度及目标地址,包括一定数量的数据,然后按照源地址进行分类,再对分类后的数据按照报文ID进行排序,得到第三路由表,在获取到待转发报文后,在第三路由表中进行查找,若查找到与待转发报文的报文ID、源地址及数据长度相同的目标数据,则将待转发报文转发到查找到的目标数据的目标地址,通过对报文转发规则构建路由表,以及对路由表中的数据进行分类和排序,从而实现对接收到的报文进行快速的查找,将其高效的转发至目标地址。
附图说明
图1为CAN网关与各CAN总线的通信示意图;
图2为本发明报文转发设备一实施例的硬件结构示意图;
图3为本发明报文转发方法一实施例的流程示意图;
图4为图3中步骤S50的细化流程示意图;
图5为本发明报文转发装置一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
第一方面,本发明实施例提供一种报文转发设备。
参照图2,图2为本发明报文转发设备一实施例的硬件结构示意图。本发明实施例中,报文转发设备可以包括处理器1001(例如中央处理器CentralProcessing Unit,CPU),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard);网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真WIreless-FIdelity,WI-FI接口);存储器1005可以是高速随机存取存储器(random accessmemory,RAM),也可以是稳定的存储器(non-volatile memory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。本领域技术人员可以理解,图2中示出的硬件结构并不构成对本发明的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
继续参照图2,图2中作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及报文转发程序。其中,处理器1001可以调用存储器1005中存储的报文转发程序,并执行本发明实施例提供的报文转发方法。
第二方面,本发明实施例提供了一种报文转发方法。
为了更清楚地展示本申请实施例提供的报文转发方法,首先介绍一下本申请实施例提供的报文转发方法的应用场景。
本申请实施例提供的报文转发方法应用在车辆的CAN总线网关对报文进行处理,当CAN总线网关接收到报文后,需要对报文进行查找,然后按照一定的规则进行转发,将报文转发至目标地址。
一实施例中,参照图3,图3为本发明报文转发方法一实施例的流程示意图,如图3所示,所述报文转发方法包括:
步骤S10,构建第一路由表,所述第一路由表的字段包括报文ID、源地址、数据长度及目标地址。
本实施例中,这里的路由表相当于″白名单″,路由表的字段至少由报文ID、源地址、数据长度及目标地址所构成,通常CAN网关厂家提供WORD、PDF的类说明书的文档,其中描述各种CAN报文的转发规则,将此类规则整理构建为路由表,然后逐条录入数据至路由表,在此后,若接收到的CAN报文经过查找存在于路由表的数据中则进行转发,按照路由表中数据所记录的转发规则转发至目标地址,若不存在于路由表中,则不进行转发,这正是路由表″白名单″的意义。
步骤S20,将所述第一路由表中的数据按照源地址进行分类,得到第二路由表。
本实施例中,如背景技术中所述,目前的车辆CAN网络一般分为PTCAN(动力总成系统)、CCAN(底盘控制系统)、BCAN(车身控制系统)、ICAN(娱乐信息系统)、DCAN(本地诊断系统)及TCAN(远程控制系统),这些即构成报文的源地址和目标地址,将第一路由表中的数据按照源地址的类别进行分类,以便于后续的查找,后续在对应的类别中进行查找即可。
步骤S30,将所述第二路由表中按照源地址进行分类后的数据,分别按照报文ID进行排序,得到第三路由表。
本实施例中,将第二路由表中按照源地址进行分类后的数据,分别按照报文ID进行排序,以便于后续的查找。
步骤S40,获取待转发报文,所述待转发报文的字段包括报文ID、源地址及数据长度。
本实施例中,车辆的CAN网关需要不断的接收和处理CAN报文,将接收到的报文作为待转发报文,一条报文至少由报文ID、源地址及数据长度所组成。
步骤S50,在所述第三路由表中,查找与待转发报文的报文ID、源地址及报文长度相同的目标数据。
本实施例中,若要转发待转发报文,则待转发报文必须存在于路由表的数据中,即待转发报文的报文ID、源地址及报文长度与路由表中已经存在的某条数据要相同,因此要对第三路由表进行查找。
步骤S60,若在所述第三路由表中查找到与待转发报文的报文ID、源地址及数据长度相同的目标数据,则将待转发报文转发到查找到的目标数据的目标地址。
本实施例中,若路由表中存在与待转发报文的报文ID、源地址及报文长度三者相同的数据记录,则说明待转发报文存在于路由表这个″白名单″中,且符合既定的转发规则,则将待转发报文转发至所查找到的目标数据所记录的目标地址。
本实施例中,通过对车辆CAN网关中不规则的报文转发说明文档,经过整理后进行结构化的构建路由表,并且对路由表中的数据进行分类和排序,然后对接收到报文进行查找和匹配,从而实现了对接收到的报文进行快速的查找,再将其高效的转发至目标地址。
进一步地,一实施例中,步骤S10包括:
根据报文转发规则,采用EXCEL表,构建第一路由表,所述第一路由表的字段包括报文ID、源地址、数据长度及目标地址。
本实施例中,报文转发规则即前述通常由CAN网关厂家提供的WORD、PDF的类说明书的文档,其中描述各种CAN报文的转发规则,若以程序编程的方式对各条转发规则进行程序编写,无疑复杂度非常高,同时也使整车厂难以参与到对报文转发的设计中,而采用EXCEL表则上手非常方便,极大的降低了参与人员的门槛,很好的解决了目前车辆CAN网关对报文转发处理存在的复杂度高、工作量大的问题,采用EXCEL表所构建的第一路由表参阅表1所示,表1为采用EXCEL表所构建的第一路由表的示例表。
表1.
源地址 | 报文ID(CANID) | 数据长度 | 目标地址 |
PTCAN | 0x18feca00 | 8 | ICAN |
PTCAN | 0x18feca02 | 3 | ICAN |
PTCAN | 0x18feca01 | 8 | DCAN |
BCAN | 0x18feca05 | 3 | PTCAN |
PTCAN | 0x18feca03 | 8 | ICAN |
PTCAN | 0x18feca04 | 8 | ICAN |
进一步地,一实施例中,步骤S30包括:
将所述第二路由表中按照源地址进行分类后的数据,分别按照报文ID进行排序;
将进行排序后的数据,通过编程语言,转化为数据结构,得到第三路由表。
本实施例中,第二路由表中进行分类以及排序后的数据,通过编程语言,转化为数据结构,以便于网关处理系统的调用和执行,例如,可通过编程语言C语言,转化为:
进一步地,一实施例中,参照图4,图4为图3中步骤S50的细化流程示意图,如图4所示,步骤S50包括:
步骤S501,在所述第三路由表中,查找与待转发报文的源地址相同的数据;
步骤S502,在所述与待转发报文的源地址相同的数据中,基于待转发报文的报文ID,采用二分法查找与待转发报文的报文ID、源地址及报文长度相同的目标数据。
本实施例中,经过步骤S20和步骤S30的处理,所述的第三路由表中的数据已经按照源地址进行了分类,以及分别按照报文ID进行了排序,在步骤S40中接收到待转发报文中,首先查找与待转发报文的源地址相同的数据,然后再在这部分所查找到的数据中,采用二分法继续进行查找,所查找到的数据要与待转发报文的报文ID、源地址及报文长度相同。所谓二分法,在计算机科学中,二分查找算法也称折半搜索算法和对数搜索算法,是一种在有序数组中查找某一特定元素的搜索算法,搜索过程从数组的中间元素(在本实施例中即为报文ID)开始,如果中间元素正好是要查找的元素,则搜索过程结束,如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较,如果在某一步骤数组为空,则代表找不到,二分查找算法使得每一次的搜索查找比较相较于前一次的搜索查找范围缩小一半,因此拥有很高的搜索查找效率,对于数量越来越大的CAN网关报文来说,相比于逐条顺序的搜索查找,非常的高效。
进一步地,一实施例中,步骤S20包括:
采用EXCEL表,将所述第一路由表中的数据按照源地址进行分类,得到第二路由表。
本实施例中,这里是利用EXCEL表自带的分类功能,对第一路由表中的数据按照源地址进行分类,采用EXCEL表进行分类后的第二路由表参阅表2所示,表2为采用EXCEL表进行分类后的第二路由表的示例表。
表2.
源地址 | 报文ID(CANID) | 数据长度 | 目标地址 |
PTCAN | 0x18feca00 | 8 | ICAN |
PTCAN | 0x18feca02 | 3 | ICAN |
PTCAN | 0x18feca01 | 8 | DCAN |
PTCAN | 0x18feca03 | 8 | ICAN |
PTCAN | 0x18feca04 | 8 | ICAN |
BCAN | 0x18feca05 | 3 | PTCAN |
进一步地,一实施例中,步骤S30包括:
采用EXCEL表,将所述第二路由表中按照源地址进行分类后的数据,分别按照报文ID进行排序,得到第三路由表。
本实施例中,这里是利用EXCEL表自带的排序功能,对第二路由表中按照源地址进行分类后的数据,分别按照报文ID进行排序,如前所述,采用EXCEL表上手非常便捷,极大的降低了参与人员的门槛,很好的解决了目前车辆CAN网关对报文转发处理存在的复杂度高、工作量大的问题,采用EXCEL表进行分类和排序后第三路由表参阅表3所示,表3为采用EXCEL表进行分类和排序后第三路由表的示例表。
表3.
源地址 | 报文ID(CANID) | 数据长度 | 目标地址 |
PTCAN | 0x18feca00 | 8 | ICAN |
PTCAN | 0x18feca01 | 8 | DCAN |
PTCAN | 0x18feca02 | 3 | ICAN |
PTCAN | 0x18feca03 | 8 | ICAN |
PTCAN | 0x18feca04 | 8 | ICAN |
BCAN | 0x18feca05 | 3 | PTCAN |
第三方面,本发明实施例还提供一种报文转发装置。
参照图5,图5为本发明报文转发装置一实施例的功能模块示意图。
本实施例中,所述报文转发装置包括:
构建模块10,用于构建第一路由表,所述第一路由表的字段包括报文ID、源地址、数据长度及目标地址;
分类模块20,用于将所述第一路由表中的数据按照源地址进行分类,得到第二路由表;
排序模块30,用于将所述第二路由表中按照源地址进行分类后的数据,分别按照报文ID进行排序,得到第三路由表;
获取模块40,用于获取待转发报文,所述待转发报文的字段包括报文ID、源地址及数据长度;
查找模块50,用于在所述第三路由表中,查找与待转发报文的报文ID、源地址及报文长度相同的目标数据;
转发模块60,用于若在所述第三路由表中查找到与待转发报文的报文ID、源地址及数据长度相同的目标数据,则将待转发报文转发到查找到的目标数据的目标地址。
进一步地,一实施例中,构建模块10,用于:
根据报文转发规则,采用EXCEL表,构建第一路由表,所述第一路由表的字段包括报文ID、源地址、数据长度及目标地址。
进一步地,一实施例中,排序模块30,用于:
将所述第二路由表中按照源地址进行分类后的数据,分别按照报文ID进行排序;
将进行排序后的数据,通过编程语言,转化为数据结构,得到第三路由表。
进一步地,一实施例中,查找模块50,用于:
在所述第三路由表中,查找与待转发报文的源地址相同的数据;
在所述与待转发报文的源地址相同的数据中,基于待转发报文的报文ID,采用二分法查找与待转发报文的报文ID、源地址及报文长度相同的目标数据。
进一步地,一实施例中,分类模块20,用于:
采用EXCEL表,将所述第一路由表中的数据按照源地址进行分类,得到第二路由表。
进一步地,一实施例中,排序模块30,用于:
采用EXCEL表,将所述第二路由表中按照源地址进行分类后的数据,分别按照报文ID进行排序,得到第三路由表。
其中,上述报文转发装置中各个模块的功能实现与上述报文转发方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
第四方面,本发明实施例还提供一种可读存储介质。
本发明可读存储介质上存储有报文转发程序,其中所述报文转发程序被处理器执行时,实现如上述的报文转发方法的步骤。
其中,报文转发程序被执行时所实现的方法可参照本发明报文转发方法的各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种报文转发方法,其特征在于,所述报文转发方法包括:
构建第一路由表,所述第一路由表的字段包括报文ID、源地址、数据长度及目标地址;
将所述第一路由表中的数据按照源地址进行分类,得到第二路由表;
将所述第二路由表中按照源地址进行分类后的数据,分别按照报文ID进行排序,得到第三路由表;
获取待转发报文,所述待转发报文的字段包括报文ID、源地址及数据长度;
在所述第三路由表中,查找与待转发报文的报文ID、源地址及报文长度相同的目标数据;
若在所述第三路由表中查找到与待转发报文的报文ID、源地址及数据长度相同的目标数据,则将待转发报文转发到查找到的目标数据的目标地址。
2.如权利要求1所述的报文转发方法,其特征在于,所述构建第一路由表,所述第一路由表的字段包括报文ID、源地址、数据长度及目标地址包括:
根据报文转发规则,采用EXCEL表,构建第一路由表,所述第一路由表的字段包括报文ID、源地址、数据长度及目标地址。
3.如权利要求1所述的报文转发方法,其特征在于,所述将所述第二路由表中按照源地址进行分类后的数据,分别按照报文ID进行排序,得到第三路由表包括:
将所述第二路由表中按照源地址进行分类后的数据,分别按照报文ID进行排序;
将进行排序后的数据,通过编程语言,转化为数据结构,得到第三路由表。
4.如权利要求1所述的报文转发方法,其特征在于,所述在所述第三路由表中,查找与待转发报文的报文ID、源地址及报文长度相同的目标数据包括:
在所述第三路由表中,查找与待转发报文的源地址相同的数据;
在所述与待转发报文的源地址相同的数据中,基于待转发报文的报文ID,采用二分法查找与待转发报文的报文ID、源地址及报文长度相同的目标数据。
5.如权利要求2所述的报文转发方法,其特征在于,所述将所述第一路由表中的数据按照源地址进行分类,得到第二路由表包括:
采用EXCEL表,将所述第一路由表中的数据按照源地址进行分类,得到第二路由表;
所述将所述第二路由表中按照源地址进行分类后的数据,分别按照报文ID进行排序,得到第三路由表包括:
采用EXCEL表,将所述第二路由表中按照源地址进行分类后的数据,分别按照报文ID进行排序,得到第三路由表。
6.一种报文转发装置,其特征在于,所述报文转发装置包括:
构建模块,用于构建第一路由表,所述第一路由表的字段包括报文ID、源地址、数据长度及目标地址;
分类模块,用于将所述第一路由表中的数据按照源地址进行分类,得到第二路由表;
排序模块,用于将所述第二路由表中按照源地址进行分类后的数据,分别按照报文ID进行排序,得到第三路由表;
获取模块,用于获取待转发报文,所述待转发报文的字段包括报文ID、源地址及数据长度;
查找模块,用于在所述第三路由表中,查找与待转发报文的报文ID、源地址及报文长度相同的目标数据;
转发模块,用于若在所述第三路由表中查找到与待转发报文的报文ID、源地址及数据长度相同的目标数据,则将待转发报文转发到查找到的目标数据的目标地址。
7.如权利要求6所述的报文转发装置,其特征在于,所述构建模块,用于:
根据报文转发规则,采用EXCEL表,构建第一路由表,所述第一路由表的字段包括报文ID、源地址、数据长度及目标地址。
8.如权利要求6所述的报文转发装置,其特征在于,所述查找模块,用于:
在所述第三路由表中,查找与待转发报文的源地址相同的数据;
在所述与待转发报文的源地址相同的数据中,基于待转发报文的报文ID,采用二分法查找与待转发报文的报文ID、源地址及报文长度相同的目标数据。
9.一种报文转发设备,其特征在于,所述报文转发设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的报文转发程序,其中所述报文转发程序被所述处理器执行时,实现如权利要求1至5中任一项所述的报文转发方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有报文转发程序,其中所述报文转发程序被处理器执行时,实现如权利要求1至5中任一项所述的报文转发方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210615820.6A CN115022225B (zh) | 2022-05-31 | 2022-05-31 | 报文转发方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210615820.6A CN115022225B (zh) | 2022-05-31 | 2022-05-31 | 报文转发方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115022225A CN115022225A (zh) | 2022-09-06 |
CN115022225B true CN115022225B (zh) | 2023-11-10 |
Family
ID=83071888
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210615820.6A Active CN115022225B (zh) | 2022-05-31 | 2022-05-31 | 报文转发方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115022225B (zh) |
Citations (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001520820A (ja) * | 1997-02-03 | 2001-10-30 | エムシーアイ・ワールドコム・インコーポレーテッド | 通信システム構造 |
JP2009232254A (ja) * | 2008-03-24 | 2009-10-08 | Autonetworks Technologies Ltd | 車載用の中継接続ユニット |
DE102009025965A1 (de) * | 2009-06-12 | 2010-12-16 | Lear Corporation Gmbh | Verfahren zum Betreiben eines Gateways |
CN102055817A (zh) * | 2010-12-30 | 2011-05-11 | 中国人民解放军信息工程大学 | 同源地址束汇聚方法及同源汇聚网络路由系统 |
CN103457854A (zh) * | 2013-09-16 | 2013-12-18 | 杭州华三通信技术有限公司 | 一种报文转发方法及设备 |
WO2014127866A1 (fr) * | 2013-02-21 | 2014-08-28 | Renault S.A.S. | Procede et dispositif de transmission de trames entre deux bus can |
WO2015043254A1 (zh) * | 2013-09-24 | 2015-04-02 | 中兴通讯股份有限公司 | 一种包分类规则的查找方法及装置 |
WO2015074324A1 (zh) * | 2013-11-22 | 2015-05-28 | 上海斐讯数据通信技术有限公司 | 一种数据包快速转发方法及装置 |
CN105429833A (zh) * | 2015-10-21 | 2016-03-23 | 中国汽车工程研究院股份有限公司 | 基于can总线数据存储的方法及其系统 |
EP3113421A1 (en) * | 2015-06-30 | 2017-01-04 | Fujitsu Limited | Application based routing device, method, and program |
JP2017085388A (ja) * | 2015-10-29 | 2017-05-18 | 日本電信電話株式会社 | ルーティングテーブル生成装置、ルーティングテーブル生成方法、及びプログラム |
CN106713144A (zh) * | 2016-12-27 | 2017-05-24 | 锐捷网络股份有限公司 | 一种报文出口信息的读写方法及转发引擎 |
CN106789672A (zh) * | 2017-01-18 | 2017-05-31 | 北京经纬恒润科技有限公司 | 一种报文路由处理方法及装置 |
CN106850419A (zh) * | 2017-02-10 | 2017-06-13 | 北京汽车集团有限公司 | 车载网关和用于车载网关的方法 |
WO2017181757A1 (zh) * | 2016-04-18 | 2017-10-26 | 中兴通讯股份有限公司 | 报文转发方法及装置 |
CN108965137A (zh) * | 2018-07-20 | 2018-12-07 | 新华三技术有限公司 | 一种报文处理方法和装置 |
CN109302436A (zh) * | 2017-07-25 | 2019-02-01 | 比亚迪股份有限公司 | 列车网关转发策略配置方法及装置 |
CN109379264A (zh) * | 2018-10-16 | 2019-02-22 | 西北铁道电子股份有限公司 | 一种基于can2.0的多板卡通信设备、方法及系统 |
CN110213069A (zh) * | 2018-03-21 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 一种数据转发方法、装置、容灾系统及存储介质 |
CN111343051A (zh) * | 2020-03-05 | 2020-06-26 | 中国第一汽车股份有限公司 | 一种报文路由测试方法、装置及存储介质 |
CN111427940A (zh) * | 2020-03-26 | 2020-07-17 | 陶朝林 | 一种自适应数据库转换方法及装置 |
CN111966362A (zh) * | 2020-07-24 | 2020-11-20 | 宝能(广州)汽车研究院有限公司 | 车载网关控制器及开发方法与装置、计算机可读存储介质 |
CN112187599A (zh) * | 2020-09-15 | 2021-01-05 | 郑州信大捷安信息技术股份有限公司 | 支持车内网络总线之间的数据通信系统及方法 |
CN113014489A (zh) * | 2020-12-31 | 2021-06-22 | 腾讯科技(深圳)有限公司 | 数据转发方法及装置、服务器、存储介质 |
CN113079097A (zh) * | 2021-03-24 | 2021-07-06 | 新华三信息安全技术有限公司 | 一种报文处理方法及装置 |
CN113438245A (zh) * | 2021-06-29 | 2021-09-24 | 新华三信息安全技术有限公司 | 一种信息更新、报文安全性检测方法及装置 |
CN114035539A (zh) * | 2021-10-25 | 2022-02-11 | 东风商用车有限公司 | 实例化车型通讯矩阵生成方法、装置、设备及存储介质 |
-
2022
- 2022-05-31 CN CN202210615820.6A patent/CN115022225B/zh active Active
Patent Citations (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001520820A (ja) * | 1997-02-03 | 2001-10-30 | エムシーアイ・ワールドコム・インコーポレーテッド | 通信システム構造 |
JP2009232254A (ja) * | 2008-03-24 | 2009-10-08 | Autonetworks Technologies Ltd | 車載用の中継接続ユニット |
DE102009025965A1 (de) * | 2009-06-12 | 2010-12-16 | Lear Corporation Gmbh | Verfahren zum Betreiben eines Gateways |
CN102055817A (zh) * | 2010-12-30 | 2011-05-11 | 中国人民解放军信息工程大学 | 同源地址束汇聚方法及同源汇聚网络路由系统 |
WO2014127866A1 (fr) * | 2013-02-21 | 2014-08-28 | Renault S.A.S. | Procede et dispositif de transmission de trames entre deux bus can |
CN103457854A (zh) * | 2013-09-16 | 2013-12-18 | 杭州华三通信技术有限公司 | 一种报文转发方法及设备 |
WO2015043254A1 (zh) * | 2013-09-24 | 2015-04-02 | 中兴通讯股份有限公司 | 一种包分类规则的查找方法及装置 |
WO2015074324A1 (zh) * | 2013-11-22 | 2015-05-28 | 上海斐讯数据通信技术有限公司 | 一种数据包快速转发方法及装置 |
EP3113421A1 (en) * | 2015-06-30 | 2017-01-04 | Fujitsu Limited | Application based routing device, method, and program |
CN105429833A (zh) * | 2015-10-21 | 2016-03-23 | 中国汽车工程研究院股份有限公司 | 基于can总线数据存储的方法及其系统 |
JP2017085388A (ja) * | 2015-10-29 | 2017-05-18 | 日本電信電話株式会社 | ルーティングテーブル生成装置、ルーティングテーブル生成方法、及びプログラム |
WO2017181757A1 (zh) * | 2016-04-18 | 2017-10-26 | 中兴通讯股份有限公司 | 报文转发方法及装置 |
CN106713144A (zh) * | 2016-12-27 | 2017-05-24 | 锐捷网络股份有限公司 | 一种报文出口信息的读写方法及转发引擎 |
CN106789672A (zh) * | 2017-01-18 | 2017-05-31 | 北京经纬恒润科技有限公司 | 一种报文路由处理方法及装置 |
CN106850419A (zh) * | 2017-02-10 | 2017-06-13 | 北京汽车集团有限公司 | 车载网关和用于车载网关的方法 |
CN109302436A (zh) * | 2017-07-25 | 2019-02-01 | 比亚迪股份有限公司 | 列车网关转发策略配置方法及装置 |
CN110213069A (zh) * | 2018-03-21 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 一种数据转发方法、装置、容灾系统及存储介质 |
CN108965137A (zh) * | 2018-07-20 | 2018-12-07 | 新华三技术有限公司 | 一种报文处理方法和装置 |
CN109379264A (zh) * | 2018-10-16 | 2019-02-22 | 西北铁道电子股份有限公司 | 一种基于can2.0的多板卡通信设备、方法及系统 |
CN111343051A (zh) * | 2020-03-05 | 2020-06-26 | 中国第一汽车股份有限公司 | 一种报文路由测试方法、装置及存储介质 |
CN111427940A (zh) * | 2020-03-26 | 2020-07-17 | 陶朝林 | 一种自适应数据库转换方法及装置 |
CN111966362A (zh) * | 2020-07-24 | 2020-11-20 | 宝能(广州)汽车研究院有限公司 | 车载网关控制器及开发方法与装置、计算机可读存储介质 |
CN112187599A (zh) * | 2020-09-15 | 2021-01-05 | 郑州信大捷安信息技术股份有限公司 | 支持车内网络总线之间的数据通信系统及方法 |
CN113014489A (zh) * | 2020-12-31 | 2021-06-22 | 腾讯科技(深圳)有限公司 | 数据转发方法及装置、服务器、存储介质 |
CN113079097A (zh) * | 2021-03-24 | 2021-07-06 | 新华三信息安全技术有限公司 | 一种报文处理方法及装置 |
CN113438245A (zh) * | 2021-06-29 | 2021-09-24 | 新华三信息安全技术有限公司 | 一种信息更新、报文安全性检测方法及装置 |
CN114035539A (zh) * | 2021-10-25 | 2022-02-11 | 东风商用车有限公司 | 实例化车型通讯矩阵生成方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
基于通信矩阵转化成DBC数据库的研究;曾桂芬;;汽车电器(第09期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115022225A (zh) | 2022-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Shahvari et al. | Hybrid flow shop batching and scheduling with a bi-criteria objective | |
US6721785B1 (en) | System for directing e-mail to selected recipients by applying transmission control directives on aliases identifying lists of recipients to exclude or include recipients | |
CN109144696A (zh) | 一种任务调度方法、装置、电子设备及存储介质 | |
CN110728328B (zh) | 分类模型的训练方法和装置 | |
CN109522228B (zh) | 接口自动化测试数据构造方法、装置、平台及存储介质 | |
CN110554958A (zh) | 图数据库测试方法、系统、设备和存储介质 | |
CN111428933A (zh) | 物流地址推荐方法、系统、设备及存储介质 | |
Holloway et al. | Question selection for multi-attribute decision-aiding | |
CN112966081A (zh) | 处理问答信息的方法、装置、设备和存储介质 | |
CN112417122A (zh) | 多轮问答方法及装置、计算机可读存储介质、电子设备 | |
US20130346466A1 (en) | Identifying outliers in a large set of objects | |
CN115022225B (zh) | 报文转发方法、装置、设备及可读存储介质 | |
CN113419719B (zh) | 一种基于业务场景的接口用例生成方法及系统 | |
CN112148844A (zh) | 机器人的信息回复方法及装置 | |
CN110704699A (zh) | 数据画像的构建方法、装置、计算机设备及存储介质 | |
CN116069842A (zh) | 数据转储方法及装置 | |
CN108830302B (zh) | 一种图像分类方法、训练方法、分类预测方法及相关装置 | |
WO2023028997A1 (en) | Exhaustive learning techniques for machine learning algorithms | |
CN111177155B (zh) | 消息过滤方法、系统和计算机设备 | |
König et al. | Critically Assessing the State of the Art in CPU-based Local Robustness Verification. | |
CN116302078B (zh) | 代码文件合并方法及装置、存储介质、计算机设备 | |
CN113723436A (zh) | 数据的处理方法、装置、计算机设备和存储介质 | |
CN111427890A (zh) | 一种多表连接处理方法、装置、设备及存储介质 | |
CN116955493A (zh) | 标签生成方法、装置、电子设备及计算机程序产品 | |
CN113343659B (zh) | 分析报告生成方法、装置、设备及存储介质 |
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 |