报文收发的方法及装置制造方法及图纸

技术编号:36536777 阅读:15 留言:0更新日期:2023-02-01 16:23
本申请公开了一种报文收发的方法及装置,方法包括在DMA控制器的第一通道内对第一报文进行字节序转换,得到第二报文,所述第一报文由端口收取至所述第一通道,所述第一报文和第二报文分别以第一字节序和第二字节序排列;将所述第二报文传送至中央处理器;在DMA控制器的第二通道内对第三报文进行字节序转换,得到第四报文,所述第三报文由中央处理器对所述第二报文进行处理得到,所述第四报文以第一字节序排列;将所述第四报文传送至端口发出。本申请能够实现在DMA控制器的通道内进行报文字节序转换,从而无需在CPU中再进行字节序转换,能够有效减少对CPU的性能占用,极大提升了CPU的收发报文效率。收发报文效率。收发报文效率。

【技术实现步骤摘要】
报文收发的方法及装置


[0001]本申请属于通信设计
,具体涉及一种报文收发的方法及装置。

技术介绍

[0002]DMA(Direct Memory Access)直接内存访问,是一种CPU与外设交互的一种方式。DMA和CPU交互是通过描述符完成的,描述符存放在一块固定格式内存中。以CPU接收报文角度来说,DMA根据描述符中的信息,将从芯片收到的报文存放到指定的内存中,然后通知CPU,CPU根据描述符的信息可以去解析指定内存的信息。在以太网络环境中,各设备之间协议报文的收发基本都是通过CPU与DMA的交互完成。
[0003]目前市场上有大端序和小端序两种不同字节序的CPU,而芯片中DMA往往是以大端序或一种固定字节序在传输数据的。若CPU的字节序和DMA不一致的,则需要进行字节序转换。现有技术中在CPU侧进行字节序转换,当需要转换的字节越多时,CPU的收报性能就会越慢,在需要CPU高效收发报文的应用场景里会给CPU带来极大的性能瓶颈。

技术实现思路

[0004]本申请的目的在于提供一种报文收发的方法及装置,以解决现有技术中存在的在CPU侧进行字节序转换,当需要转换的字节越多时,CPU的收报性能就会越慢,在需要CPU高效收发报文的应用场景里会,给CPU带来极大的性能瓶颈的技术问题。
[0005]为实现上述目的,本申请采用的一个技术方案是:
[0006]提供了一种报文收发的方法,包括:
[0007]在DMA控制器的第一通道内对第一报文进行字节序转换,得到第二报文,所述第一报文由端口收取至所述第一通道,所述第一报文和第二报文分别以第一字节序和第二字节序排列;
[0008]将所述第二报文传送至中央处理器;
[0009]在DMA控制器的第二通道内对第三报文进行字节序转换,得到第四报文,所述第三报文由中央处理器对所述第二报文进行处理得到,所述第四报文以第一字节序排列;
[0010]将所述第四报文传送至端口发出。
[0011]在一个或多个实施方式中,所述在DMA控制器的第一通道内对第一报文进行字节序转换,得到第二报文的步骤具体包括:
[0012]为DMA控制器的第一通道配置与多个特征值对应的多个字节序转换参数组,所述字节序转换参数组用于描述字节序的转换方式;
[0013]为所述第一报文分配特征值;
[0014]基于所述第一报文的特征值索引对应的字节序转换参数组,以对所述第一报文进行字节序转换。
[0015]在一个或多个实施方式中,所述参数组包括第一参数、第二参数和第三参数,所述第一参数用于描述字节序是否需要转换,所述第二参数用于描述字节序转换的起始点,所
述第三参数用于描述字节序转换的终止点。
[0016]在一个或多个实施方式中,所述为所述第一报文分配特征值步骤具体包括:
[0017]获取所述第一报文的字节信息,所述字节信息由访问控制列表、CPU reasonID和DMA queueID中的一个或多个提供;
[0018]基于所述第一报文的字节信息,判断所述第一报文是否需要转换;若否,为所述第一报文分配第一特征值,所述第一特征值对应的所述第一参数的数值用于描述无需转换;若是,则:
[0019]识别所述第一报文的转换起始位置值,判断所述第一报文是否需要转换至标志SOP位置;若否,识别所述第一报文的转换终止位置值,为所述第一报文分配第二特征值,所述第二特征值对应的所述第一参数的数值用于描述需要转换,所述第二特征值对应的所述第二参数的数值用于描述字节序转换的起始点位置,所述第二特征值对应的所述第三参数的数值用于描述字节序转换的终止点位置;若是,则:
[0020]为所述第一报文分配第三特征值,所述第三特征值对应的所述第一参数的数值用于描述需要转换,所述第三特征值对应的所述第二参数的数值用于描述字节序转换的起始点位置,所述第三特征值对应的所述第三参数的数值用于描述字节序转换至标志SOP位置。
[0021]在一个或多个实施方式中,所述为所述第一报文分配特征值的步骤之后还包括:
[0022]将所述第一报文的特征值嵌入所述第一报文内。
[0023]在一个或多个实施方式中,所述第一报文包括数据段和包头段,所述特征值嵌入所述包头段中。
[0024]在一个或多个实施方式中,所述在DMA控制器的第二通道内对所述第三报文进行字节序转换,得到第四报文的步骤具体包括:
[0025]基于嵌入所述第三报文的所述特征值对第三报文进行字节序转换。
[0026]为实现上述目的,本申请采用的另一个技术方案是:
[0027]提供一种报文收发的装置,包括:
[0028]第一转换模块,用于在DMA控制器的第一通道内对第一报文进行字节序转换得到第二报文,所述第一报文由端口收取至所述第一通道,所述第一报文和第二报文分别以第一字节序和第二字节序排列;
[0029]第一传送模块,用于将所述第二报文传送至中央处理器;
[0030]第二转换模块,用于在DMA控制器的第二通道内对第三报文进行字节序转换得到第四报文,所述第三报文由中央处理器对所述第二报文进行处理得到,所述第四报文以第一字节序排列;
[0031]第二传送模块,用于将所述第四报文传送至端口发出。
[0032]为实现上述目的,本申请采用的又一个技术方案是:
[0033]提供一种电子设备,包括至少一个处理器;以及
[0034]存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上述任一实施方式所述的报文收发的方法。
[0035]为实现上述目的,本申请采用的又一个技术方案是:
[0036]提供一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如上述任一实施方式所述的报文收发的方法。
[0037]区别于现有技术,本申请的有益效果是:
[0038]本申请通过在DMA控制器的通道内配置与多个特征值对应的多个字节序转换参数组,并为报文分配特征值,能够实现在DMA控制器的通道内进行报文字节序转换,从而无需在CPU中再进行字节序转换,能够有效减少对CPU的性能占用,极大提升了CPU的收发报文效率。
附图说明
[0039]图1是本申请报文收发的方法一实施方式的流程示意图;
[0040]图2是图1中步骤S100对应的一实施方式的流程示意图;
[0041]图3是图2中步骤S102对应的一实施方式的流程示意图;
[0042]图4是本申请报文收发的装置一实施方式的结构框图;
[0043]图5是本申请电子设备一实施方式的结构图。
具体实施方式
[0044]下面结合附图,对本专利技术的具体实施方式进行详细描述,但应当理解本专利技术的保护范围并不受具体实施方式的限制。
[0045]除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种报文收发的方法,其特征在于,包括:在DMA控制器的第一通道内对第一报文进行字节序转换,得到第二报文,所述第一报文由端口收取至所述第一通道,所述第一报文和第二报文分别以第一字节序和第二字节序排列;将所述第二报文传送至中央处理器;在DMA控制器的第二通道内对第三报文进行字节序转换,得到第四报文,所述第三报文由中央处理器对所述第二报文进行处理得到,所述第四报文以第一字节序排列;将所述第四报文传送至端口发出。2.根据权利要求1所述的方法,其特征在于,所述在DMA控制器的第一通道内对第一报文进行字节序转换,得到第二报文的步骤具体包括:为DMA控制器的第一通道配置与多个特征值对应的多个字节序转换参数组,所述字节序转换参数组用于描述字节序的转换方式;为所述第一报文分配特征值;基于所述第一报文的特征值索引对应的字节序转换参数组,以对所述第一报文进行字节序转换。3.根据权利要求2所述的方法,其特征在于,所述参数组包括第一参数、第二参数和第三参数,所述第一参数用于描述字节序是否需要转换,所述第二参数用于描述字节序转换的起始点,所述第三参数用于描述字节序转换的终止点。4.根据权利要求3所述的方法,其特征在于,所述为所述第一报文分配特征值步骤具体包括:获取所述第一报文的字节信息,所述字节信息由访问控制列表、CPU reasonID和DMAqueueID中的一个或多个提供;基于所述第一报文的字节信息,判断所述第一报文是否需要转换;若否,为所述第一报文分配第一特征值,所述第一特征值对应的所述第一参数的数值用于描述无需转换;若是,则:识别所述第一报文的转换起始位置值,判断所述第一报文是否需要转换至标志SOP位置;若否,识别所述第一报文的转换终止位置值,为所述第一报文分配第二特征值,所述第二特征值对应的所述第一参数的数值用于描述需要转换,所述第二特征值对应的所述第二参数的数值用于描述字...

【专利技术属性】
技术研发人员:何志川赵仕中李磊贾复山
申请(专利权)人:苏州盛科通信股份有限公司
类型:发明
国别省市:

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

1