面向数据报文处理的缓冲区及使用方法技术

技术编号:12314863 阅读:73 留言:0更新日期:2015-11-12 04:00
本发明专利技术公开了一种面向数据报文处理的缓冲区及使用方法,所述方法包括中央处理器接收数据报文,通过存储器直接访问控制器将所述数据报文存储在接收缓冲区中;对所述接收缓冲区中数据报文进行处理,获得处理后的数据报文;将所述处理后的数据报文存储在发送缓冲区中,通过存储器直接访问控制器将所述处理后的数据报文发送出去。本发明专利技术将硬件缓冲区、发送缓冲区和接收缓冲区放在一起,在初始化时一次性分配,减少了内存拷贝次数,减少内存管理的开销,提高了系统性能。同时,在数据处理的过程中,CPU基本不参与缓冲的管理工作,全部由硬件来实现,大大简化了数据处理的流程。

【技术实现步骤摘要】

本专利技术涉及计算机领域,特别是涉及一种。
技术介绍
目前,接收数据报文之后,先拷贝到接收缓冲区中,然后将硬件缓冲区释放掉。然后cpu从接收缓冲区中读取数据报文的内容进行处理,并将处理后的结果和接收缓冲区中的部分内容组成发送数据报文,发送数据报文需要存储在新的缓冲区(发送缓冲区)中。发送数据报文形成后,CPU将发送数据报文拷贝到缓冲区中,然后启动DMA (Direct MemoryAccess,存储器直接访问)发送出去,发送完成后回收发送缓冲区。现有技术中,数据报文处理时需要拷贝多次,硬件缓冲区到接收缓冲区中,发送缓冲区到物理地址连续缓冲区,同时需要回收不同的缓冲区,造成整体的处理流程复杂化。
技术实现思路
本专利技术要解决的技术问题是提供一种,用以解决现有技术的数据报文处理流程复杂化的问题。为解决上述技术问题,一方面,本专利技术提供一种面向数据报文处理的缓冲区使用方法,包括:中央处理器接收数据报文,通过存储器直接访问控制器将所述数据报文存储在接收缓冲区中;对所述接收缓冲区中数据报文进行处理,获得处理后的数据报文;将所述处理后的数据报文存储在发送缓冲区中,通过存储器直接访问控制器将所述处理后的数据报文发送出去。进一步,所述接收数据报文之前还包括:将硬件缓冲区划分为头部区域、接收缓冲区和发送缓冲区;将所述头部区域的开始位置、所述接收缓冲区的开始位置和所述发送缓冲区的开始位置发送给中央处理器的网络协处理器;中央处理器的网络协处理器将所述接收缓冲区的开始位置和所述发送缓冲区的开始位置发送给所述存储器直接访问控制器。进一步,通过存储器直接访问控制器将所述数据报文存储在接收缓冲区中,具体包括:存储器直接访问控制器根据所述接收缓冲区的开始位置,将所述数据报文存储在物理地址连续的接收缓冲区中。进一步,将所述处理后的数据报文存储在发送缓冲区中,通过存储器直接访问控制器将所述处理后的数据报文发送出去,具体包括:根据所述发送缓冲区的开始位置,将所述处理后的数据报文存储在物理地址连续的发送缓冲区中;存储器直接访问控制器根据所述发送缓冲区的开始位置,将所述处理后的数据报文发送出去。进一步,所述头部区域属于预留区域。进一步,处理后的数据报文发送出去之后,还包括:中央处理器的网络协处理器根据所述接收缓冲区的开始位置释放所述接收缓冲区和所述发送缓冲区。另一方面,本专利技术还提供一种面向数据报文处理的缓冲区,包括:接收缓冲区,用于按照连续的物理地址存储接收数据报文;以及发送缓冲区,用于按照连续的物理地址存储处理后的数据报文。进一步,所述缓冲区还包括头部区域,所述头部区域属于预留区域,头部区域将其开始位置发送给存储器直接访问控制器;接收缓冲区,还用于将其开始位置发送给中央处理器的网络协处理器;发送缓冲区,还用于将其开始位置发送给中央处理器的网络协处理器。本专利技术有益效果如下:本专利技术将硬件缓冲区、发送缓冲区和接收缓冲区放在一起,在初始化时一次性分配,减少了内存拷贝次数,减少内存管理的开销,提高了系统性能。同时,在数据处理的过程中,CPU基本不参与缓冲的管理工作,全部由硬件来实现,大大简化了数据处理的流程。【附图说明】图1是本专利技术实施例中一种数据报文的收发方法的流程图;图2是本专利技术实施例中一种处理数据报文的缓冲区的结构示意图。【具体实施方式】为了解决现有技术的数据报文处理流程复杂化的问题,本专利技术提供了一种,以下结合附图以及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不限定本专利技术。现有技术中,数据报文需要拷贝多次,硬件缓冲区到接收缓冲区中,发送缓冲区到物理地址连续缓冲区,同时需要回收不同的缓冲区,造成整体的处理流程复杂化。本专利技术通过CPU (Central Processing Unit,中央处理器)在用户面直接接收驱动的数据报文,接收到数据报文之后,将原数据报文中的内容进行处理,将处理的结果和原报文中的部分内容重新组成新的数据报文,然后通知硬件启动DMA (Direct Memory Access,存储器直接访问),将数据发送出去。实施例一如图1所示,本专利技术实施例提供一种面向数据报文处理的缓冲区使用方法,包括:S101,将硬件缓冲区划分为头部区域、接收缓冲区和发送缓冲区;将所述头部区域的开始位置、所述接收缓冲区的开始位置和所述发送缓冲区的开始位置发送给所述存储器直接访问控制器。所述头部区域属于预留区域,具体地头部区域为分配缓冲区时预留的部分,这部分不作为接收和发送缓冲区使用,只用作参数记录或者用于标识缓冲区的特征。接收缓冲区,用于存储接收数据报文。发送缓冲区,用于存储处理后的数据报文。将所述头部区域的开始位置、所述接收缓冲区的开始位置和所述发送缓冲区的开始位置发送给中央处理器的网络协处理器;中央处理器的网络协处理器将所述接收缓冲区的开始位置和所述发送缓冲区的开始位置发送给所述存储器直接访问控制器。S102,中央处理器接收数据报文,通过存储器直接访问控制器将所述数据报文存储在接收缓冲区中;也就是说,CPU接收到数据报文后,DMA控制器根据接收缓冲区的开始位置,将所述数据报文存储在接收缓冲区中。具体地,存储器直接访问控制器根据所述接收缓冲区的开始位置,将所述数据报文存储在物理地址连续的接收缓冲区中。当前第1页1 2 本文档来自技高网...

【技术保护点】
一种面向数据报文处理的缓冲区使用方法,其特征在于,包括:中央处理器接收数据报文,通过存储器直接访问控制器将所述数据报文存储在接收缓冲区中;对所述接收缓冲区中数据报文进行处理,获得处理后的数据报文;将所述处理后的数据报文存储在发送缓冲区中,通过存储器直接访问控制器将所述处理后的数据报文发送出去。

【技术特征摘要】

【专利技术属性】
技术研发人员:周立邹昕张家琦刘谦王维晟朱小波
申请(专利权)人:国家计算机网络与信息安全管理中心
类型:发明
国别省市:北京;11

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

1