[发明专利]报文的处理系统和方法在审
申请号: | 201510937319.1 | 申请日: | 2015-12-15 |
公开(公告)号: | CN105591979A | 公开(公告)日: | 2016-05-18 |
发明(设计)人: | 陈玉龙;甯青松;纪奎;窦晓光 | 申请(专利权)人: | 曙光信息产业(北京)有限公司 |
主分类号: | H04L12/863 | 分类号: | H04L12/863 |
代理公司: | 北京德恒律治知识产权代理有限公司 11409 | 代理人: | 章社杲;卢军峰 |
地址: | 100193 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 报文 处理 系统 方法 | ||
技术领域
本发明涉及报文处理领域,具体来说,涉及一种报文的处理系统和方法。
背景技术
操作系统的标准网卡驱动是基于数据拷贝操作的,即报文数据在操作系统 内核地址空间的缓冲区和应用程序地址空间定义的缓冲区之间进行拷贝。但 是,数据拷贝操作导致极大的CPU开销,限制了处理性能,因此,提出了零 拷贝(zero-copy)技术以避免不必要CPU数据拷贝操作。但是,传统零拷贝 机制虽然能在一定程度上实现零拷贝报文接收和发送,却无法实现零拷贝报文 的转发。其中,报文接收为网卡将收到的报文交给CPU处理;报文发送为CPU 将报文交给网卡,网卡将报文发送到网络中;报文转发为将接收到的报文经过 修改或不修改再发送出去。因此,对于传统的零拷贝机制来说,当需要对报文 进行转发时,必须将接收报文从接收缓存区拷贝到发送缓存区。显然,这样的 报文拷贝操作将消耗大量CPU时间,严重影响系统处理性能。
针对相关技术中的上述问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中的上述问题,本发明提出一种报文的处理系统和方法,能 够实现报文接收、报文发送、报文转发全程零数据拷贝,并有效地降低CPU 的处理时间、提高处理效率,有效改善报文处理的性能。
本发明的技术方案是这样实现的:
根据本发明的一个方面,提供了一种报文的处理系统。
该处理系统包括:
报文缓存区,用于存放接收报文和发送报文;
收包队列,用于存放接收报文的物理地址;
发包队列,用于存放发送报文的物理地址和报文长度。
其中,报文缓存区、收包队列、发包队列均为地址连续的内存区域。
此外,报文缓存区包括多个固定长度的报文存储单元,用于存放接收报文 和发送报文。
其中,一个报文存储单元用于存放一个接收报文或一个发送报文。
另外,接收报文的物理地址为存放该接收报文的报文存储单元的物理地 址;发送报文的物理地址为存放该发送报文的报文存储单元的物理地址。
根据本发明的另一方面,提供了一种用于上述任意一项处理系统的处理方 法。
该处理方法包括:
从报文缓存区申请第一报文存储单元以存放接收报文的报文内容;
将该第一报文存储单元的物理地址写入收包队列;
根据收包队列中存放的物理地址在报文缓存区的对应第一报文存储单元 中读取接收报文。
此外,该处理方法进一步包括:
从报文缓存区申请第二报文存储单元,并将发送报文的报文内容写入至第 二报文存储单元;
将该第二报文存储单元的物理地址和该发送报文的报文长度写入发包队 列;
在发送完成发送报文后,释放第二报文存储单元的存储空间。
另外,该处理方法进一步包括:
在需要对接收报文转发的情况下,根据应用需求对读取的接收报文进行修 改或不修改处理;
将该第一报文存储单元的物理地址和经过该修改或不修改处理后的该接 收报文的报文长度写入发包队列;
在经过该修改后不修改处理后的该接收报文转发完成后,释放第一报文存 储单元的存储空间。
此外,该处理方法进一步包括:
在不需要对接收报文转发的情况下,在读取接收报文后,释放第一报文存 储单元的存储空间。
本发明通过使用统一的报文缓存区来存储接收报文和发送报文,并使收包 队列、发包队列分别仅存储接收报文和发送报文的地址,从而实现报文接收、 报文发送、报文转发全程零数据拷贝,并能够有效地降低CPU的处理时间、 提高处理效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施 例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是 本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的 前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的报文的处理系统的示意图;
图2是根据本发明实施例的报文的处理方法的流程图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于曙光信息产业(北京)有限公司,未经曙光信息产业(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510937319.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种脉冲干扰的抑制方法
- 下一篇:基于网络的服务功能链接