System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据处理,尤其涉及一种报文处理方法、装置和电子设备。
技术介绍
1、在网卡、数据处理器(data processing unit,dpu)等设备中,为了提高数据处理效率,会采用网络处理器(network processing unit,npu)硬件处理单元承担对报文数据流进行硬件加速的任务。在报文数据删除过程中,会直接对报文数据进行删除,再进行数据对齐、首部偏移拼接等操作,获得第一处理后报文。
2、然而,由于报文中字段的排列方式为右对齐,在删除报文数据后需要整体向右偏移以实现紧凑拼接,因此,要删除的字段位于首部的位置越靠后,要做的数据搬移任务量越大,导致处理效率降低。
技术实现思路
1、有鉴于此,本申请提供一种报文处理方法、装置、电子设备和计算机存储介质,以解决传统方案的报文处理方法进行报文处理的效率不理想的技术问题。
2、本申请第一方面提供一种报文处理方法,包括:接收第一待处理报文;生成所述第一待处理报文的第一报文描述符,并将所述第一待处理报文存储至缓存区;确定所述第一待处理报文中需要被删除的第一待删除字段;将所述第一报文描述符中用于指示所述第一待删除字段的子描述符进行无效标记,获得处理后第一报文描述符;从所述缓存区读取所述第一待处理报文,并根据所述处理后第一报文描述符对所述第一待处理报文进行处理,获得第一处理后报文。
3、可选地,所述将所述第一报文描述符中用于指示所述第一待删除字段的子描述符进行无效标记,获得处理后第一报文描述符的过
4、可选地,所述第一报文描述符包括多个描述符层;对应的,所述将所述第一报文描述符中用于指示所述第一待删除字段的子描述符进行无效标记,获得处理后第一报文描述符的过程还可以包括:根据所述第一待删除字段,从所述多个描述符层中确定多个待处理描述符层,其中,每个所述待处理描述符层包括至少一个需要进行无效标记的子描述符;并行对所述多个待处理描述符层进行处理,以分别将每个所述待处理描述符层中需要进行无效标记的子描述符标记为无效;对所述多个待处理描述符层的处理结果进行拼接,获得所述处理后第一报文描述符。
5、可选地,所述方法还包括:获取第二待处理报文;生成所述第二待处理报文的第二报文描述符,并将所述第二待处理报文存储至缓存区;确定所述第二待处理报文中需要被删除的第二待删除字段,并从所述第二待处理报文的多个描述符层中确定多个第二待处理描述符层,其中,每个所述第二待处理描述符层包括至少一个需要进行无效标记的子描述符,且所述第二待处理描述符层与所述第一待处理描述符层至少部分描述符层相同;并行对所述多个第二待处理描述符层通过多个包处理引擎进行处理,并将所述第二待处理描述符层中与所述第一待处理描述符层中描述符层相同的描述符层通过相同的包处理引擎进行处理,以分别将每个所述第二待处理描述符层中需要进行无效标记的子描述符标记为无效;对所述多个第二待处理描述符层的处理结果进行拼接,获得所述处理后第二报文描述符;从所述缓存区读取所述第二待处理报文,并根据所述处理后第二报文描述符对所述第二待处理报文进行处理,获得第二处理后报文。
6、可选地,所述根据所述处理后第一报文描述符对所述第一待处理报文进行处理,获得第一处理后报文的过程还可以包括:根据所述处理后第一报文描述符中被标记为无效的每个子描述符,从所述第一待处理报文中将该子描述符所指示的字段删除;对所述第一待处理报文中剩余的字段进行拼接,获得第一处理后报文。
7、可选地,所述根据所述处理后第一报文描述符对所述第一待处理报文进行处理,获得第一处理后报文的过程还可以包括:根据所述处理后第一报文描述符中被标记为无效的每个子描述符,对所述第一待处理报文中该子描述符标识的字段进行移位处理,使所述处理后第一报文描述符中被标记为无效的子描述符所指示的字段,位于所述处理后第一报文描述符中未被标记为无效的子描述符所指示的字段之后,获得第一处理后报文。
8、可选地,报文处理的过程还可以包括:将所述处理后第一报文描述符中被标记为无效的子描述符删除,并对所述处理后第一报文描述符中剩余的子描述符进行拼接,获得目标描述符;将所述目标描述符与所述第一处理后报文关联后输出。
9、可选地,所述从所述缓存区读取所述第一待处理报文的过程还可以包括:确定所述第一待处理报文的数据长度;根据所述第一待处理报文的数据长度,对所述缓存区进行直接读取,获得所述第一待处理报文。
10、本申请第二方面提供一种报文处理装置,包括:接收模块,用于接收第一待处理报文;生成模块,用于生成所述第一待处理报文的第一报文描述符,并将所述第一待处理报文存储至缓存区;确定模块,用于确定所述第一待处理报文中需要被删除的第一待删除字段;删除模块,用于将所述第一报文描述符中用于指示所述第一待删除字段的子描述符进行无效标记,获得处理后第一报文描述符;处理模块,用于从所述缓存区读取所述第一待处理报文,并根据所述处理后第一报文描述符对所述第一待处理报文进行处理,获得第一处理后报文。
11、根据本申请实施例的第三方面,提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;存储器用于存放至少一可执行指令,可执行指令使处理器执行如实施例第一方面所述的方法对应的操作。
12、本申请通过对第一报文描述符进行无效标记,之后通过处理后第一报文描述符对第一待处理报文进行处理的方式,无需对第一待处理报文中需要删除的字段删除后为了进行剩余数据的拼接而进行数据搬移,进而提高了报文处理的效率。
本文档来自技高网...【技术保护点】
1.一种报文处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述将所述第一报文描述符中用于指示所述第一待删除字段的子描述符进行无效标记,获得处理后第一报文描述符,包括:
3.根据权利要求1所述的方法,其特征在于,所述第一报文描述符包括多个描述符层;
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,所述根据所述处理后第一报文描述符对所述第一待处理报文进行处理,获得第一处理后报文,包括:
6.根据权利要求1所述的方法,其特征在于,所述根据所述处理后第一报文描述符对所述第一待处理报文进行处理,获得第一处理后报文,包括:
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
8.根据权利要求1-7中任一所述的方法,其特征在于,所述从所述缓存区读取所述第一待处理报文,包括:
9.一种报文处理装置,其特征在于,包括:
10.一种电子设备,其特征在于,包括:处理器、通信接口、存储器和通信总线,处理器、存储
...【技术特征摘要】
1.一种报文处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述将所述第一报文描述符中用于指示所述第一待删除字段的子描述符进行无效标记,获得处理后第一报文描述符,包括:
3.根据权利要求1所述的方法,其特征在于,所述第一报文描述符包括多个描述符层;
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,所述根据所述处理后第一报文描述符对所述第一待处理报文进行处理,获得第一处理后报文,包括:
【专利技术属性】
技术研发人员:彭文豪,曾德秋,孙云刚,
申请(专利权)人:北京驭数华创科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。