System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种报文转发方法及装置制造方法及图纸_技高网

一种报文转发方法及装置制造方法及图纸

技术编号:42662149 阅读:1 留言:0更新日期:2024-09-10 12:19
本申请公开了一种报文转发方法及装置,当接收到总线发送的待转发报文时,获取指令集合中的转发指令,以及预先存储在结构体中的预设报文的报文ID;当待转发报文的报文ID与预设报文的报文ID一致时,判断转发指令所包含的转发标志位是否为预设数值;若转发指令所包含的转发标志位为预设数值,则判断转发指令所包含的修改标志位是否为预设数值;若转发指令所包含的修改标志位为预设数值,则对待转发报文进行修改;调用发送函数将修改后的待转发报文进行转发。当接收到待转发报文时,根据转发规则对待转发报文进行修改后转发或者直接转发,而不需要对待转发报文进行序列化和反序列化后进行转发流程,因此,提升了报文转发效率。

【技术实现步骤摘要】

本申请涉及通信,尤其涉及一种报文转发方法及装置


技术介绍

1、目前,现代汽车普遍采用多个电子控制单元(electronic control unit,ecu)进行数据交换和通信,为了实现不同ecu之间的通信,可以通过一些特定的方式在不同ecu之间进行数据交换。

2、目前,一般采用中间件或消息队列将报文进行转发,发送方将需要转发的报文封装成消息,并发送到消息队列中,中间件或消息队列会接收到发送方发送的消息,并将消息存储在消息队列中,接收方会从消息队列中拉取消息。然而,在消息发送和接收过程中,需要将报文进行序列化和反序列化,即将报文转换成消息的格式,并在接收端将消息转换回原始报文格式。这个过程涉及到报文的编码和解码,可能会占用一定的计算资源和时间,进而导致报文转发的效率较低。

3、因此,如何提升报文转发效率,成为本领域亟需解决的问题。


技术实现思路

1、本申请提供了一种报文转发方法及装置,目的在于提升报文转发效率。

2、为了实现上述目的,本申请提供了以下技术方案:

3、一种报文转发方法,应用于下位机,包括:

4、当接收到总线发送的待转发报文时,获取指令集合中的转发指令,以及预先存储在结构体中的预设报文的报文id;

5、当所述待转发报文的报文id与所述预设报文的报文id一致时,判断所述转发指令所包含的转发标志位是否为预设数值;

6、若所述转发指令所包含的所述转发标志位为所述预设数值,则判断所述转发指令所包含的修改标志位是否为所述预设数值;

7、若所述转发指令所包含的所述修改标志位为所述预设数值,则对所述待转发报文进行修改,得到修改后的待转发报文;

8、调用发送函数将所述修改后的待转发报文进行转发。

9、可选的,所述当接收到总线发送的待转发报文时,获取指令集合中的转发指令,以及预先存储在结构体中的预设报文的报文id,包括:

10、当接收到总线发送的待转发报文时,触发读取中断;

11、当所述读取中断触发后,从所述读取中断对应的通道中,选取出预先存储在结构体中的预设报文的报文id。

12、可选的,所述对所述待转发报文进行修改,得到修改后的待转发报文,包括:

13、获取所述转发指令中所包含的修改字段;

14、根据所述修改字段对所述待转发报文进行修改,得到修改后的待转发报文。

15、可选的,所述当接收到总线发送的待转发报文时,获取指令集合中的转发指令,以及预先存储在结构体中的预设报文的报文id之前,还包括:

16、当接收到上位机发送的转发指令时,触发写入中断;

17、当所述写入中断触发后,获取所述写入中断对应的通道中的指令集合;

18、判断所述指令集合中是否存在历史转发指令;

19、若所述指令集合中存在所述历史转发指令,则将所述历史转发指令的指令id与所述转发指令的指令id进行比对;

20、若所述历史转发指令的指令id与所述转发指令的指令id一致,则判断所述转发指令所包含转发标志位是否为预设数值;

21、若所述转发指令所包含所述转发标志位为所述预设数值,则判断所述转发指令所包含的修改标志位是否为所述预设数值;

22、若所述转发指令所包含的所述修改标志位为所述预设数值,则根据所述转发指令对所述历史转发指令进行更新,得到更新后的转发指令;

23、将所述更新后的转发指令存储至所述指令集合中。

24、可选的,所述判断所述指令集合中是否存在历史转发指令之后,还包括:

25、若所述指令集合中不存在所述历史转发指令,将所述转发指令存储至所述指令集合中。

26、一种报文转发方法,应用于上位机,包括:

27、当接收到配置信息时,根据所述配置信息中的报文创建数据结构;

28、将所述数据结构映射至结构体中;

29、根据所述配置信息对所述结构体进行赋值,得到转发指令,并将所述转发指令发送至下位机。

30、可选的,所述根据配置信息对所述结构体进行赋值,得到转发指令,包括:

31、获取所述配置信息中的报文id、源通道、目标通道、转发信息以及修改信息;

32、根据所述报文id、所述源通道和所述目标通道对所述结构体进行赋值,得到赋值后的结构体;

33、当所述转发信息指示对报文进行转发时,将所述赋值后的结构体中的转发标志位设置为预设数值,得到设置后的结构体;

34、当所述修改信息指示对所述报文进行修改时,将所述设置后的结构体中的修改标志位设置为所述预设数值,得到转发指令。

35、一种报文转发装置,应用于下位机,包括:

36、获取单元,用于当接收到总线发送的待转发报文时,获取指令集合中的转发指令,以及预先存储在结构体中的预设报文的报文id;

37、第一判断单元,用于当所述待转发报文的报文id与所述预设报文的报文id一致时,判断所述转发指令所包含的转发标志位是否为预设数值;

38、第二判断单元,用于若所述转发指令所包含的所述转发标志位为所述预设数值,则判断所述转发指令所包含的修改标志位是否为所述预设数值;

39、修改单元,用于若所述转发指令所包含的所述修改标志位为所述预设数值,则对所述待转发报文进行修改,得到修改后的待转发报文;

40、转发单元,用于调用发送函数将所述修改后的待转发报文进行转发。

41、可选的,所述获取单元具体用于:

42、当接收到总线发送的待转发报文时,触发读取中断;

43、当所述读取中断触发后,从所述读取中断对应的通道中,选取出预先存储在结构体中的预设报文的报文id。

44、一种报文转发装置,应用于上位机,包括:

45、创建单元,用于当接收到配置信息时,根据所述配置信息中的报文创建数据结构;

46、映射单元,用于将所述数据结构映射至结构体中;

47、赋值单元,用于根据所述配置信息对所述结构体进行赋值,得到转发指令,并将所述转发指令发送至下位机。

48、本申请提供的技术方案,当接收到总线发送的待转发报文时,获取指令集合中的转发指令,以及预先存储在结构体中的预设报文的报文id;当待转发报文的报文id与预设报文的报文id一致时,判断转发指令所包含的转发标志位是否为预设数值;若转发指令所包含的转发标志位为预设数值,则判断转发指令所包含的修改标志位是否为预设数值;若转发指令所包含的修改标志位为预设数值,则对待转发报文进行修改;调用发送函数将修改后的待转发报文进行转发。当接收到待转发报文时,根据转发规则对待转发报文进行修改后转发或者直接转发,而不需要对待转发报文进行序列化和反序列化后进行转发流程,因此,提升了报文转发效率。

本文档来自技高网...

【技术保护点】

1.一种报文转发方法,其特征在于,应用于下位机,包括:

2.根据权利要求1所述的方法,其特征在于,所述当接收到总线发送的待转发报文时,获取指令集合中的转发指令,以及预先存储在结构体中的预设报文的报文ID,包括:

3.根据权利要求1所述的方法,其特征在于,所述对所述待转发报文进行修改,得到修改后的待转发报文,包括:

4.根据权利要求1所述的方法,其特征在于,所述当接收到总线发送的待转发报文时,获取指令集合中的转发指令,以及预先存储在结构体中的预设报文的报文ID之前,还包括:

5.根据权利要求4所述的方法,其特征在于,所述判断所述指令集合中是否存在历史转发指令之后,还包括:

6.一种报文转发方法,其特征在于,应用于上位机,包括:

7.根据权利要求6所述的方法,其特征在于,所述根据配置信息对所述结构体进行赋值,得到转发指令,包括:

8.一种报文转发装置,其特征在于,应用于下位机,包括:

9.根据权利要求8所述的装置,其特征在于,所述获取单元具体用于:

10.一种报文转发装置,其特征在于,应用于上位机,包括:

...

【技术特征摘要】

1.一种报文转发方法,其特征在于,应用于下位机,包括:

2.根据权利要求1所述的方法,其特征在于,所述当接收到总线发送的待转发报文时,获取指令集合中的转发指令,以及预先存储在结构体中的预设报文的报文id,包括:

3.根据权利要求1所述的方法,其特征在于,所述对所述待转发报文进行修改,得到修改后的待转发报文,包括:

4.根据权利要求1所述的方法,其特征在于,所述当接收到总线发送的待转发报文时,获取指令集合中的转发指令,以及预先存储在结构体中的预设报文的报文id之前,还包括:...

【专利技术属性】
技术研发人员:普水仙曹海成
申请(专利权)人:北京经纬恒润科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1