System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种报文处理方法、系统、专用处理器及计算机存储介质技术方案_技高网

一种报文处理方法、系统、专用处理器及计算机存储介质技术方案

技术编号:40418719 阅读:3 留言:0更新日期:2024-02-20 22:36
本公开提供了一种报文处理方法、系统、专用处理及计算机存储介质。其中方法包括:根据保存在第一存储空间的报文头的相对地址生成对应的报文头的索引信息,并根据索引信息生成报文索引表保存到第二存储空间;从第二存储空间获取所述报文索引表,根据报文索引表中的报文头的索引信息从第一存储空间获取报文头,使用已有的处理机制对获取到的报文头进行处理,并在处理存在对报文头的相对地址进行修改时同步修改报文头在报文索引表中的索引信息;从第二存储空间获取修改过的报文索引表,根据报文索引表中的报文头的索引信息从第一存储空间获取报文头进行封装。相比传统实现方式只需构建一次元数据便可在整个网络处理流水线中使用,性能消耗更低。

【技术实现步骤摘要】

本申请实施例涉及计算机,尤其涉及一种报文处理方法、系统、专用处理及计算机存储介质。


技术介绍

1、网络处理器(network processor,简称np),一种可编程器件,它特定的应用于通信领域的各种任务,比如包处理、协议分析、路由查找、声音/数据的汇聚、防火墙、qos等。网络处理器器件内部通常由若干个微码处理器和若干硬件协处理器组成,多个微码处理器在网络处理器内部并行处理,通过预先编制的微码来控制处理流程。

2、处理流程一般分parser(报文解析阶段)、match-action(报文处理阶段)、deparser(报文封装阶段)三个部分。parser(对应的解析器)负责对报文头进行解析,match-action(对应的匹配操作单元)负责对parser解析后的数据进行匹配和处理,deparser(对应的编码器)将包元数据重新序列化封装到包中,然后在输出链路上传输。

3、传统的实现上,这三个阶段分别由不同的微码处理器负责,通常在每个阶段都需要定义一个数据结构,即元数据(metadata),用于在各个阶段之间处理对应的数据,以及将处理后的结果发往下一阶段,由于具体的处理业务与网络处理器所服务的数据类型不同,在上述三个阶段中各个阶段对应的metadata并不固定,需要根据不同的应用需求定制和扩展,导致可编程性、可移植性、灵活性都很差,而且占用空间大,性能差。


技术实现思路

1、有鉴于此,本公开提供一种报文处理方法、系统、专用处理及计算机存储介质,可有效解决在网络处理芯片执行报文处理任务时,元数据在传统的实现习惯上因根据不同的业务需要进行单独创建所导致的可编程性、可移植性、灵活性差,以及多次创建销毁导致的性能和空间效率低下的问题。

2、本公开第一方面提供一种报文处理方法,用于专用数据处理器中的网络处理单元网络处理流水线,包括:

3、根据所述网络处理单元解析后的且保存在第一存储空间的报文头的相对地址生成对应的报文头的索引信息,其中所述相对地址包括对应的报文头和报文首部的首位的偏移地址或对应的报文头在第一存储空间的物理内存地址;

4、从所述第二存储空间获取所述报文索引表,根据所述报文索引表中的报文头的索引信息从第一存储空间获取报文头,使用已有的处理机制对获取到的所述报文头进行处理,并在所述处理存在对所述报文头的相对地址进行修改时同步修改所述报文头在所述报文索引表中的索引信息;

5、从所述第二存储空间获取修改过的所述报文索引表,根据所述报文索引表中的报文头的索引信息从第一存储空间获取报文头进行封装。

6、在本公开的一些实施方式中,报文头的索引信息包括报文头在第一存储空间的内存偏移地址和偏移量,所述报文索引表包括报文信息数组段;

7、所述根据所述索引信息生成报文索引表保存到第二存储空间,包括:

8、将所述报文头在第一存储空间的内存偏移地址和偏移量作为所述报文信息数组段的一个元素添加到所述报文索引表中;

9、所述根据所述报文索引表中的报文头的索引信息从第一存储空间获取报文头,包括:

10、遍历所述报文信息数组段中的每个元素,从每个元素中获取对应的报文头的报文头在第一存储空间的内存偏移地址和偏移量,根据报文头在第一存储空间的内存偏移地址和偏移量从所述第一存储空间中获取每个报文头对应的报文头。

11、在本公开的一些实施方式中,报文索引表包括全局信息段,所述全局信息段包括报文长度信息字段、报文头长度信息字段和报文负载偏移地址字段;

12、所述根据所述网络处理单元解析后的且保存在第一存储空间的报文头的相对地址生成对应的报文头的索引信息,包括:

13、计算所有报文头的数据长度和报文长度,将报文头的长度写入到所述报文头长度信息字段中,将报文长度写入到报文长度信息字段中;以及

14、将报文所对应的数据部分在第一存储空间中的相对地址写入到所述负载偏移地址字段;

15、所述从所述第二存储空间获取修改过的所述报文索引表,根据所述报文索引表中的报文头的索引信息从第一存储空间获取报文头进行封装,包括:

16、根据所述报文头的数据长度和报文长度计算报文负载的长度,根据所述负载偏移地址字段中的相对地址和所述报文负载的长度获取所述报文的负载数据;以及

17、根据报文头的索引信息中的报文头在第一存储空间的内存偏移地址和偏移量获取报文头;

18、根据所述报文的负载数据和所述报文头重新封装成新的报文。

19、在本公开的一些实施方式中,报文索引表包括报文头扩展偏移字段;

20、所述使用已有的处理机制对获取到的所述报文头进行处理,并在所述处理存在对所述报文头的相对地址进行修改时同步修改所述报文头在所述报文索引表中的索引信息,包括:

21、若对所述报文头进行处理时存在新增报文头,将新增报文头存储到所述第一存储空间对应的报文存储区域的尾部,并将新增报文头的数据在第一存储空间中的相对地址写入到所述报文头扩展偏移地址字段。

22、在本公开的一些实施方式中,报文索引表还包括报文头标志字段,所述报文头标志字段与报文头一一对应;

23、根据所述网络处理单元解析后的且保存在第一存储空间的报文头的相对地址生成对应的报文头的索引信息,包括:

24、在生成对应报文头的索引信息时,将所述报文头的标志字段置为第一预定值;

25、所述使用已有的处理机制对获取到的所述报文头进行处理,并在所述处理存在对所述报文头的相对地址进行修改时同步修改所述报文头在所述报文索引表中的索引信息,包括:

26、在对所述报文头进行处理时,将所述网络处理流水线的后续处理阶段中不使用的报文头所对应的报文头标志字段置为第二预定值,以表示所述报文头无需使用;和/或

27、将所述网络处理流水线的后续处理阶段中使用的报文头所对应的报文头标志字段从第二预定值置为第一预定值;

28、从所述第二存储空间获取修改过的所述报文索引表,根据所述报文索引表中的报文头的索引信息从第一存储空间获取报文头进行封装,包括:

29、在从所述报文索引表中获取相应报文头的索引信息前,先判断所述报文头对应的报文头标志字段的值是否为第一预定值,若所述标志字段的值为第一预定值,则获取所述报文头的索引信息,若所述标志字段的值不为第一预定值,则跳过所述报文头执行对后续报文头的封装处理。

30、在本公开的一些实施方式中,根据所述索引信息生成报文索引表保存到第二存储空间,包括:

31、获取预设的报文头信息配置表,基于所述报文头信息配置表中的报文头信息生成报文索引表,并根据所述报文索引表中所定义的报文头将对应的索引信息按照所述报文头信息配置表中的顺序填充到所述报文索引表中。

32、在本公开的一些实施方式中,根据所述索引信息生成报文索引表保存到第二存储空间,还包括:

33本文档来自技高网...

【技术保护点】

1.一种报文处理方法,用于专用数据处理器中的网络处理单元网络处理流水线,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述报文头的索引信息包括报文头在第一存储空间的内存偏移地址和偏移量,所述报文索引表包括报文信息数组段;

3.根据权利要求1所述的方法,其特征在于,所述报文索引表包括全局信息段,所述全局信息段包括报文长度信息字段、报文头长度信息字段和报文负载偏移地址字段;

4.根据权利要求1所述的方法,其特征在于,所述报文索引表包括报文头扩展偏移字段;

5.根据权利要求1所述的方法,其特征子在于,所述报文索引表还包括报文头标志字段,所述报文头标志字段与报文头一一对应;

6.根据权利要求1所述的方法,其特征在于,所述并根据所述索引信息生成报文索引表保存到第二存储空间,包括:

7.根据权利要求6所述的方法,其特征在于,所述并根据所述索引信息生成报文索引表保存到第二存储空间,还包括:

8.一种报文处理系统,用于专用数据处理器中的网络处理单元网络处理流水线,其特征在于,包括:

9.一种专用数据处理器,其特征在于,包括:

10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序代码,当所述计算机程序代码被处理器运行时,使处理器执行如权利要求1-7任一项所述的安全套接层通信方法。

...

【技术特征摘要】

1.一种报文处理方法,用于专用数据处理器中的网络处理单元网络处理流水线,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述报文头的索引信息包括报文头在第一存储空间的内存偏移地址和偏移量,所述报文索引表包括报文信息数组段;

3.根据权利要求1所述的方法,其特征在于,所述报文索引表包括全局信息段,所述全局信息段包括报文长度信息字段、报文头长度信息字段和报文负载偏移地址字段;

4.根据权利要求1所述的方法,其特征在于,所述报文索引表包括报文头扩展偏移字段;

5.根据权利要求1所述的方法,其特征子在于,所述报文索引表还包括报文头标志字段,所述报文头标...

【专利技术属性】
技术研发人员:倪创王慰
申请(专利权)人:中科驭数北京科技有限公司
类型:发明
国别省市:

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

1