报文处理方法、装置、设备及计算机可读存储介质与流程

文档序号:33736328发布日期:2023-04-06 07:51阅读:36来源:国知局
报文处理方法、装置、设备及计算机可读存储介质与流程

本技术涉及通信,特别涉及报文处理方法、装置、设备及计算机可读存储介质。


背景技术:

1、在基于报文通信的过程中,转发设备接收到报文后,将基于报文的报文特征对接收的报文进行处理。相关技术中,转发设备获取接收的报文的报文特征,基于报文特征执行该报文对应的表项查找和业务逻辑处理,得到处理后的报文。

2、然而,由于相关技术中对于接收到的各个报文,转发设备均会执行获取报文特征,基于报文特征执行报文对应的表项查找和业务逻辑处理的过程,在传输报文的带宽和报文的业务复杂度不断提高的情况下,转发设备用于执行报文处理的设备资源容易成为报文处理的瓶颈。


技术实现思路

1、本技术提出一种报文处理方法、装置、设备及计算机可读存储介质,用于降低报文处理的资源要求,提高报文处理的效率。

2、第一方面,提供了一种报文处理方法,该方法包括:第一芯片获取具有相同关键特征的多个报文;对该多个报文进行分组,得到至少一个报文组;对于至少一个报文组中的各个报文组,对属于同一报文组的各个报文执行关键特征对应的处理。其中,关键特征的数量为至少一个。

3、该方法通过对属于同一报文组的各个具有相同关键特征的报文执行关键特征对应的处理,能够降低第一芯片对各个报文执行处理所需的设备资源。此外,由于属于同一报文组的各个报文具有相同的关键特征,第一芯片能够在一次处理过程中对各个报文执行关键特征对应的处理,报文处理的效率较高。

4、在一种可能的实现方式中,同一报文组中的各个报文均包括完整的报文头数据,完整的报文头数据包括关键特征。由于同一报文组的各个报文均包括完整的报文头数据,第一芯片后续对各个报文执行关键特征对应的处理以及非关键特征对应的处理所需的数据均已包括,无需重新获取执行处理所需的数据,报文处理效率较高。

5、在一种可能的实现方式中,同一报文组中的第一报文包括完整的报文头数据,同一报文组中的第二报文包括报文头差异数据,第一报文为同一报文组中的任一报文,第二报文为同一报文组中除第一报文外的其他报文;其中,完整的报文头数据包括关键特征,报文头差异数据基于第二报文的报文头数据和第一报文的报文头数据的差异确定。由于第二报文包括报文头差异数据,该报文组包括的数据量小于第二报文包括完整的报文头数据的数据量,第一芯片后续将该报文组传输至第一芯片的处理模块进行处理时,传输所需的设备资源较低。

6、在一种可能的实现方式中,同一报文组中的第一报文包括完整的报文头数据,同一报文组中的第二报文包括描述符,第一报文为同一报文组中的任一报文,第二报文为同一报文组中除第一报文外的其他报文;其中,完整的报文头数据包括关键特征,描述符用于获取第二报文包括的完整的报文头数据。由于第二报文包括描述符,该报文组包括的数据量小于第二报文包括报文头差异数据的数据量,更小于第二报文包括完整的报文头数据的数据量,第一芯片后续将该报文组传输至第一芯片的处理模块进行处理时,传输所需的设备资源较低。

7、在一种可能的实现方式中,该方法还包括:第一芯片对各个报文执行非关键特征对应的处理,非关键特征为完整的报文头数据中除关键特征外的其他数据。

8、在一种可能的实现方式中,该方法还包括:第一芯片对第一报文执行非关键特征对应的处理,非关键特征为完整的报文头数据中除关键特征外的其他数据;第一芯片对第二报文执行报文头差异数据对应的处理。

9、在一种可能的实现方式中,该方法还包括:第一芯片对第一报文执行第一非关键特征对应的处理,其中,第一非关键特征为第一报文的完整的报文头数据中除关键特征外的其他数据;第一芯片基于描述符获取第二报文的完整的报文头数据,其中,第二报文的完整的报文头数据包括关键特征和第二非关键特征,第二非关键特征为第二报文的完整的报文头数据中除关键特征外的其他数据;第一芯片对第二报文执行第二非关键特征对应的处理。

10、在一种可能的实现方式中,第一芯片获取具有相同关键特征的多个报文,包括:第一芯片获取多个报文,获取多个报文中的各个报文的各个关键特征的特征值;第一芯片基于各个报文的各个关键特征的特征值,获取各个报文的哈希值;第一芯片基于各个报文的哈希值,确定各个报文的关键特征是否相同。

11、在一种可能的实现方式中,第一芯片基于各个报文的各个关键特征的特征值,获取各个报文的哈希值,包括:第一芯片基于各个报文的各个关键特征的特征值和第一哈希算法,获取各个报文的第一哈希值;第一芯片基于各个报文的各个关键特征的特征值和第二哈希算法,获取各个报文的第二哈希值;第一芯片将各个报文的第一哈希值和各个报文的第二哈希值作为各个报文的哈希值。由于各个报文的哈希值包括各个报文的第一哈希值和各个报文第二哈希值,第一芯片后续在基于各个报文的哈希值确定各个报文的关键特征是否相同时,准确性较高。

12、在一种可能的实现方式中,第一芯片基于各个报文的各个关键特征的特征值,获取各个报文的哈希值,包括:第一芯片基于各个报文的各个关键特征的特征值和第三哈希算法,获取各个报文的第三哈希值;对于各个报文的各个关键特征,第一芯片基于各个关键特征的特征值和第四哈希算法,获取各个关键特征的第四哈希值;第一芯片将各个报文的第三哈希值和各个报文的各个关键特征的第四哈希值作为各个报文的哈希值。由于各个报文的哈希值包括第三哈希值和各个关键特征的第四哈希值,第一芯片后续在基于各个报文的哈希值确定各个报文的关键特征是否相同时,准确性较高。

13、在一种可能的实现方式中,第一芯片基于各个报文的哈希值,确定各个报文的关键特征是否相同,包括:第一芯片基于各个报文的第一哈希值,获取至少一个缓存组;对于至少一个缓存组中的各个缓存组,第一芯片基于属于同一缓存组的各个报文的第二哈希值,确定属于同一缓存组的各个报文的关键特征是否相同。由于该方法能够基于各个报文的第一哈希值,获取至少一个缓存组,基于属于同一缓存组的各个报文的第二哈希值,确定属于同一缓存组的各个报文的关键特征是否相同,在确定各个报文的关键特征是否相同的准确性较高的同时,确定效率也较高。

14、在一种可能的实现方式中,第一芯片基于各个报文的哈希值,确定各个报文的关键特征是否相同,包括:第一芯片基于各个报文的第三哈希值,获取至少一个缓存组;对于至少一个缓存组中的各个缓存组,第一芯片基于属于同一缓存组的各个报文的各个关键特征的第四哈希值,确定属于同一缓存组的各个报文的关键特征是否相同。由于该方法能够基于各个报文的第三哈希值,获取至少一个缓存组,基于属于同一缓存组的各个报文的关键特征的第四哈希值,确定属于同一缓存组的各个报文的关键特征是否相同,在确定各个报文的关键特征是否相同的准确性较高的同时,确定效率也较高。

15、在一种可能的实现方式中,关键特征包括入端口号、目的媒体接入控制mac地址、目的网际互连协议ip地址、源ip地址、源mac地址中的至少一种。该方法中关键特征的类型较为灵活。

16、在一种可能的实现方式中,对于属于同一报文组的各个报文中的任一报文,第一芯片用于对任一报文执行关键特征对应的处理的资源基于第一芯片的性能、任一报文所在报文组包括的报文数量和执行关键特征对应的处理的代价确定。

17、在一种可能的实现方式中,第一芯片用于对任一报文执行关键特征对应的处理的资源基于第一芯片的性能、任一报文所在报文组包括的报文数量和执行关键特征对应的处理的代价按照如下公式确定:

18、

19、其中,r1为第一芯片用于对任一报文执行关键特征对应的处理的资源,p为第一芯片的性能,n为任一报文所在报文组包括的报文数量,a为执行关键特征对应的处理的代价。由于属于同一报文组的报文数量越多,对于该同一报文组的各个报文中的任一报文,第一芯片用于对该任一报文执行关键特征对应的处理的资源越低。因此,相较于相关技术的方法,该方法处理相同数量的报文所需的设备资源较低。

20、第二方面,提供了一种报文处理装置,该装置包括:

21、获取模块,用于获取具有相同关键特征的多个报文,其中,关键特征的数量为至少一个;

22、分组模块,用于对多个报文进行分组,得到至少一个报文组;

23、处理模块,用于对于至少一个报文组中的各个报文组,对属于同一报文组的各个报文执行关键特征对应的处理。

24、在一种可能的实现方式中,同一报文组中的各个报文均包括完整的报文头数据,完整的报文头数据包括关键特征。

25、在一种可能的实现方式中,同一报文组中的第一报文包括完整的报文头数据,同一报文组中的第二报文包括报文头差异数据,第一报文为同一报文组中的任一报文,第二报文为同一报文组中除第一报文外的其他报文;其中,完整的报文头数据包括关键特征,报文头差异数据基于第二报文的报文头数据和第一报文的报文头数据的差异确定。

26、在一种可能的实现方式中,同一报文组中的第一报文包括完整的报文头数据,同一报文组中的第二报文包括描述符,第一报文为同一报文组中的任一报文,第二报文为同一报文组中除第一报文外的其他报文;其中,完整的报文头数据包括关键特征,描述符用于获取第二报文包括的完整的报文头数据。

27、在一种可能的实现方式中,处理模块,还用于对各个报文执行非关键特征对应的处理,非关键特征为完整的报文头数据中除关键特征外的其他数据。

28、在一种可能的实现方式中,处理模块,还用于对第一报文执行非关键特征对应的处理,非关键特征为完整的报文头数据中除关键特征外的其他数据;对第二报文执行报文头差异数据对应的处理。

29、在一种可能的实现方式中,处理模块,还用于对第一报文执行第一非关键特征对应的处理,其中,第一非关键特征为第一报文的完整的报文头数据中除关键特征外的其他数据;基于描述符获取第二报文的完整的报文头数据,其中,第二报文的完整的报文头数据包括关键特征和第二非关键特征,第二非关键特征为第二报文的完整的报文头数据中除关键特征外的其他数据;对第二报文执行第二非关键特征对应的处理。

30、在一种可能的实现方式中,获取模块,用于获取多个报文,获取多个报文中的各个报文的各个关键特征的特征值;基于各个报文的各个关键特征的特征值,获取各个报文的哈希值;基于各个报文的哈希值,确定各个报文的关键特征是否相同。

31、在一种可能的实现方式中,获取模块,用于基于各个报文的各个关键特征的特征值和第一哈希算法,获取各个报文的第一哈希值;基于各个报文的各个关键特征的特征值和第二哈希算法,获取各个报文的第二哈希值;将各个报文的第一哈希值和各个报文的第二哈希值作为各个报文的哈希值。

32、在一种可能的实现方式中,获取模块,用于基于各个报文的各个关键特征的特征值和第三哈希算法,获取各个报文的第三哈希值;对于各个报文的各个关键特征,基于各个关键特征的特征值和第四哈希算法,获取各个关键特征的第四哈希值;将各个报文的第三哈希值和各个报文的各个关键特征的第四哈希值作为各个报文的哈希值。

33、在一种可能的实现方式中,获取模块,用于基于各个报文的第一哈希值,获取至少一个缓存组;对于至少一个缓存组中的各个缓存组,基于属于同一缓存组的各个报文的第二哈希值,确定属于同一缓存组的各个报文的关键特征是否相同。

34、在一种可能的实现方式中,获取模块,用于基于各个报文的第三哈希值,获取至少一个缓存组;对于至少一个缓存组中的各个缓存组,基于属于同一缓存组的各个报文的各个关键特征的第四哈希值,确定属于同一缓存组的各个报文的关键特征是否相同。

35、在一种可能的实现方式中,关键特征包括入端口号、目的媒体接入控制mac地址、目的网际互连协议ip地址、源ip地址、源mac地址中的至少一种。

36、在一种可能的实现方式中,对于属于同一报文组的各个报文中的任一报文,处理模块用于对任一报文执行关键特征对应的处理的资源基于处理模块的性能、任一报文所在报文组包括的报文数量和执行关键特征对应的处理的代价确定。

37、在一种可能的实现方式中,处理模块用于对任一报文执行关键特征对应的处理的资源基于处理模块的性能、任一报文所在报文组包括的报文数量和执行关键特征对应的处理的代价按照如下公式确定:

38、

39、其中,r1为处理模块用于对任一报文执行关键特征对应的处理的资源,p为处理模块的性能,n为任一报文所在报文组包括的报文数量,a为执行关键特征对应的处理的代价。

40、第三方面,提供了一种网络设备,该网络设备包括:处理器,处理器与存储器耦合,存储器中存储有至少一条程序指令或代码,至少一条程序指令或代码由处理器加载并执行,以使该网络设备实现如上第一方面中任一的报文处理方法。

41、第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条程序指令或代码,程序指令或代码由处理器加载并执行时以使计算机实现如第一方面中任一的报文处理方法。

42、第五方面,提供了一种计算机程序产品,包括计算机程序,计算机程序被计算机执行时,以使计算机实现如上第一方面中任一的报文处理方法。

43、第六方面,提供了一种通信装置,该装置包括:通信接口、存储器和处理器。其中,该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制通信接口接收数据,并控制通信接口发送数据,并且当该处理器执行该存储器存储的指令时,使得该处理器执行第一方面或第一方面的任一种可能的实施方式中的方法。

44、在一种可能的实现方式中,处理器为一个或多个,存储器为一个或多个。

45、在一种可能的实现方式中,存储器可以与处理器集成在一起,或者存储器与处理器分离设置。

46、在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如,只读存储器(read only memory,rom),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本技术对存储器的类型以及存储器与处理器的设置方式不做限定。

47、第七方面,提供了一种芯片,包括处理器,用于从存储器中调用并运行存储器中存储的指令,使得安装有芯片的通信设备执行上述第一方面或第一方面的任一种可能的实施方式中的方法。

48、第八方面,提供了另一种芯片,包括:输入接口、输出接口、处理器和存储器,输入接口、输出接口、处理器以及存储器之间通过内部连接通路相连,处理器用于执行存储器中的代码,当代码被执行时,处理器用于执行上述第一方面或第一方面的任一种可能的实施方式中的方法。

49、第九方面,提供了一种设备,包括上述方案中的任一芯片。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1