报文处理方法、装置、电子设备及计算机可读存储介质制造方法及图纸

技术编号:37764744 阅读:12 留言:0更新日期:2023-06-06 13:23
本发明专利技术实施例提出一种报文处理方法、装置、电子设备及计算机可读存储介质,属于通信技术领域,网络设备在监测到外部设备开始发送业务报文的数据包时,在当前收包处于拥塞状态的情况下,将接收的数据包写入双倍速率同步动态随机存储器,在当前收包未处于拥塞状态的情况下,将接收的数据包中的报文头数据直接写入中央处理器的高速缓存中,将报文头数据之外的其他数据写入双倍速率同步动态随机存储器,从而使得中央处理器处理该业务报文时,报文头数据已经在高速缓存中,无需再去访问双倍速率同步动态随机存储器来获取报文头数据,能够有效减轻中央处理器对双倍速率同步动态随机存储器的访存压力,进而能够提升软转发的整体性能。能。能。

【技术实现步骤摘要】
报文处理方法、装置、电子设备及计算机可读存储介质


[0001]本专利技术涉及通信
,具体而言,涉及一种报文处理方法、装置、电子设备及计算机可读存储介质。

技术介绍

[0002]网络设备接收到报文时,会将报文信息进行存储,再基于存储的报文信息进行识别,根据识别结果进行查表转发。
[0003]传统的报文软转发的处理流程为:DMA(Direct Memory Access,直接存储器访问)控制器先写包到DDR SDRAM(Double Data Rate Synchronous Dynamic Random Access Memory,双倍速率同步动态随机存储器),写完对应的报文后,更新DMA描述符或更新DMA描述符同时提供中断,CPU(central processing unit,中央处理器)通过轮询DMA描述符或DMA提供的中断感知报文接收,之后CPU按DMA描述符取得报文数据地址,从DDR读取报文数据,对报文数据进行解析和转发。但是,由于CPU读取DDR的时延较长,在取回数据前CPU无法继续处理接收到的报文,导致CPU资源空耗,整体性能大幅下降。

技术实现思路

[0004]有鉴于此,本专利技术的目的在于提供一种报文处理方法、装置、电子设备及计算机可读存储介质,其能够改善传统的报文软转发方法所导致的CPU资源空耗、整体性能大幅下降的问题。
[0005]为了实现上述目的,本专利技术实施例采用的技术方案如下:
[0006]第一方面,本专利技术实施例提供一种报文处理方法,应用于网络设备,所述网络设备包括中央处理器和双倍速率同步动态随机存储器,方法包括:
[0007]监测到外部设备开始发送业务报文的数据包时,判断当前收包是否处于拥塞状态;
[0008]若否,则接收所述数据包,从所述数据包中提取出所述业务报文的报文头数据,将所述报文头数据写入所述中央处理器的高速缓存,将除所述报文头数据之外的所述数据包写入所述双倍速率同步动态随机存储器;
[0009]若是,则接收所述数据包,将所述数据包写入所述双倍速率同步动态随机存储器。
[0010]进一步地,所述接收所述数据包的步骤,包括:
[0011]采用直接内存访问,接收外部设备发送的业务报文的数据包,并将一个DMA描述符的状态值从第一状态值更新为第二状态值;
[0012]其中,所述第一状态值表征处于未完成报文数据接收状态,所述第二状态值表征处于报文数据接收完成状态;
[0013]在所述将除所述报文头数据之外的所述数据包写入所述双倍速率同步动态随机存储器的步骤之前,或者在所述将所述数据包写入所述双倍速率同步动态随机存储器的步骤之前,所述方法还包括:
[0014]在所述双倍速率同步动态随机存储器中,确定出存储所述数据包的存储区域的数据地址。
[0015]进一步地,所述判断当前收包是否处于拥塞状态的步骤,包括:
[0016]从所有的DMA描述符中,确定出表征处于报文数据接收完成状态的描述符总数;
[0017]判断所述描述符总数是否超过预设的门槛阈值,若是,则判定当前收包处于拥塞状态,若否,则判定当前收包未处于拥塞状态。
[0018]进一步地,所述将所述报文头数据写入所述中央处理器的高速缓存的步骤,包括:
[0019]将所述报文头数据及数据地址发送至总线;其中,所述数据地址为所述双倍速率同步动态随机存储器中存储所述数据包的存储区域的地址;
[0020]通过所述总线,根据所述数据地址,将所述报文头数据存入所述中央处理器的高速缓存中已分配的特定区域。
[0021]进一步地,在所述将所述报文头数据及数据地址发送至总线的步骤之前,所述方法包括:
[0022]从所述中央处理器的高速缓存中,为所述报文头数据分配出空闲的特定区域。
[0023]进一步地,所述从所述数据包中提取出所述业务报文的报文头数据的步骤,包括:
[0024]以所述数据包的起始字段作为报文头起点,从所述数据包中提取出长度为预设长度的数据作为报文头数据。
[0025]第二方面,本专利技术实施例提供一种报文处理方法,应用于网络设备,所述网络设备包括中央处理器和双倍速率同步动态随机存储器,所述方法包括:
[0026]轮询DMA描述符,若当前轮询的DMA描述符为第二状态值,则从所述DMA描述符中获取数据地址,并确定所述DMA描述符所对应的业务报文;其中,所述第二状态值表征处于报文数据接收完成状态;
[0027]识别所述中央处理器的高速缓存中是否存在所述业务报文的报文头数据,若是,则对所述高速缓存中的报文头数据进行解析识别,并基于识别结果进行查表,确定出转发信息;
[0028]从所述双倍速率同步动态随机存储器中所述数据地址对应的存储区域中获取所述业务报文的剩余数据,对所述剩余数据进行编辑,得到待转发报文;
[0029]基于所述转发信息,将所述待转发报文转发至下一跳设备,将所述DMA描述符置为第一状态值,并释放所述DMA描述符中的数据地址。
[0030]第三方面,本专利技术实施例提供一种报文处理装置,应用于网络设备,所述网络设备包括中央处理器和双倍速率同步动态随机存储器,所述报文处理装置包括拥塞判断模块和存储模块;
[0031]所述拥塞判断模块,用于监测到外部设备开始发送业务报文的数据包时,判断当前收包是否处于拥塞状态;
[0032]所述存储模块,用于若否,则接收所述数据包,从所述数据包中提取出所述业务报文的报文头数据,将所述报文头数据写入所述中央处理器的高速缓存,将除所述报文头数据之外的所述数据包写入所述双倍速率同步动态随机存储器;
[0033]所述存储模块,还用于若是,则接收所述数据包,将所述数据包写入所述双倍速率同步动态随机存储器。
[0034]第四方面,本专利技术实施例提供一种电子设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现如第一方面或第二方面所述的报文处理方法。
[0035]第五方面,本专利技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面或第二方面所述的报文处理方法。
[0036]本专利技术实施例提供的报文处理方法、装置、电子设备及计算机可读存储介质,网络设备在监测到外部设备开始发送业务报文的数据包时,在当前收包处于拥塞状态的情况下,将数据包写入双倍速率同步动态随机存储器,在当前收包未处于拥塞状态的情况下,将数据包中的报文头数据直接写入中央处理器的高速缓存中,将报文头数据之外的其他数据写入双倍速率同步动态随机存储器,从而使得中央处理器处理该业务报文时,报文头数据已经在高速缓存中,无需再去访问双倍速率同步动态随机存储器来获取报文头数据,能够有效减轻中央处理器对双倍速率同步动态随机存储器的访存压力,进而能够提升软转发的整体性能。
[0037]为使本专利技术的上述目的、特征和优点能更明显易懂,下文特举本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种报文处理方法,其特征在于,应用于网络设备,所述网络设备包括中央处理器和双倍速率同步动态随机存储器,方法包括:监测到外部设备开始发送业务报文的数据包时,判断当前收包是否处于拥塞状态;若否,则接收所述数据包,从所述数据包中提取出所述业务报文的报文头数据,将所述报文头数据写入所述中央处理器的高速缓存,将除所述报文头数据之外的所述数据包写入所述双倍速率同步动态随机存储器;若是,则接收所述数据包,将所述数据包写入所述双倍速率同步动态随机存储器。2.根据权利要求1所述的报文处理方法,其特征在于,所述接收所述数据包的步骤,包括:采用直接内存访问,接收外部设备发送的业务报文的数据包,并将一个DMA描述符的状态值从第一状态值更新为第二状态值;其中,所述第一状态值表征处于未完成报文数据接收状态,所述第二状态值表征处于报文数据接收完成状态;在所述将除所述报文头数据之外的所述数据包写入所述双倍速率同步动态随机存储器的步骤之前,或者在所述将所述数据包写入所述双倍速率同步动态随机存储器的步骤之前,所述方法还包括:在所述双倍速率同步动态随机存储器中,确定出存储所述数据包的存储区域的数据地址。3.根据权利要求1或2所述的报文处理方法,其特征在于,所述判断当前收包是否处于拥塞状态的步骤,包括:从所有的DMA描述符中,确定出表征处于报文数据接收完成状态的描述符总数;判断所述描述符总数是否超过预设的门槛阈值,若是,则判定当前收包处于拥塞状态,若否,则判定当前收包未处于拥塞状态。4.根据权利要求1或2所述的报文处理方法,其特征在于,所述将所述报文头数据写入所述中央处理器的高速缓存的步骤,包括:将所述报文头数据及数据地址发送至总线;其中,所述数据地址为所述双倍速率同步动态随机存储器中存储所述数据包的存储区域的地址;通过所述总线,根据所述数据地址,将所述报文头数据存入所述中央处理器的高速缓存中已分配的特定区域。5.根据权利要求4所述的报文处理方法,其特征在于,在所述将所述报文头数据及数据地址发送至总线的步骤之前,所述方法包括:从所述中央处理器的高速缓存中,为所述报文头数据分配出空闲的特定区域。6.根据权利...

【专利技术属性】
技术研发人员:龚海东方沛昱贾复山
申请(专利权)人:苏州盛科通信股份有限公司
类型:发明
国别省市:

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

1