[发明专利]网络数据包聚集方法、系统及装置有效
申请号: | 201310006803.3 | 申请日: | 2013-01-08 |
公开(公告)号: | CN103117958A | 公开(公告)日: | 2013-05-22 |
发明(设计)人: | 王燕飞;吴教仁;刘晓光;刘涛;刘宁 | 申请(专利权)人: | 北京百度网讯科技有限公司 |
主分类号: | H04L12/891 | 分类号: | H04L12/891;H04L12/861 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙) 11201 | 代理人: | 宋合成 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 网络 数据包 聚集 方法 系统 装置 | ||
技术领域
本发明涉及信息处理技术领域,特别涉及一种网络数据包聚集方法与系统以及网络数据包聚集处理装置
背景技术
目前,很多文献采用收集固定数目数据包策略聚集批量数据包,或者采用超过预定义(Pre-defined)的聚集缓冲区大小即完成一次聚集,或者超过指定时间阈值即完成一次聚集,或者几者混合的策略。总结来看,这些策略要么采用固定延迟的策略,或者基于时间的最大延迟策略,来控制聚集数据包的多少。
为了提高协处理器加速引擎的效率,在网络数据包压缩与解压缩,或者加解密过程中,通常采用聚集多个不同数据包构成大数据块(Block)的方式优化系统开销和提高加速引擎的效率,例如:提高压缩带宽利用率和压缩比等。以数据包实时压缩为例,一般采用的基于LZS或者deflate压缩算法均属于基于字典的压缩算法,被压缩数据包或者被压缩数据块长度越大,压缩冗余信息的效率越高,压缩带宽利用率和压缩效率,即压缩比越高,同时大数据包越大,I/O传送过程的系统开销,包括系统调用、内存分配、PCIe带宽利用率和硬件设备寄存器访问频率等均会得到一定程度的优化。因此,采用聚集大数据块(Block)的益处显而易见。
但是,聚集的缺点是额外增加了包处理的延迟,因此控制好延迟和最大化加速卡效率之间需要一个折中。高额的延迟可以聚集更多的数据包,可以使得加速卡扫描出更多的冗余信息,提高效率,相反,降低延迟,也降低了聚集数据包的数目,极端情况下每个数据包进行一次单独压缩,由于包长限制,压缩效率将受到限制。
进一步地,现有的包聚集控制策略,均不具备自适应性,不能根据压缩卡压缩效率和网络流量特征进行自我调整。例如:聚集固定包数的包聚集策略,它忽略了被聚集包长信息,也没有感知压缩卡的处理效率,不同包长大小组装出的数据块大小不一样,压缩卡扫描处理压力也不一样。采用基于时间的聚集延迟控制策略中,需要额外对延迟时间进行管理,控制复杂,也不能感知压缩卡的处理效率和请求压缩队列缓冲区的缓冲情况,只关注基于时间的延迟,可能导致CPU和压缩卡之间的流水(Pipeling)断流,影响系统吞吐量。
发明内容
本发明的目的旨在至少解决所述技术缺陷之一。
为此,本发明的第一个目的在于提出一种网络数据包聚集方法,该方法不但可以根据加速卡压缩效率进行自我调整,提高加速卡效率,控制简单,还可以实现数据包聚集传输时的自适应延迟控制和压缩带宽的有效利用和提高压缩比,且具有适时性与易用性。本发明的第二个目的在于提出一种网络数据包聚集系统。本发明的第三个目的在于提出一种网络数据包聚集的处理装置。
为了实现上述目的,本发明第一方面的实施例提供一种网络数据包聚集方法,包括以下步骤:S1:中央处理器CPU判断待压缩数据包是否充足,如果充足,则执行步骤S2,否则执行步骤S3;S2,所述CPU每当检测到累积的所述待压缩数据包达到第一预设数目后,则将所述第一预设数目的待压缩数据包聚集为数据块并送入请求队列,执行步骤S4;S3,所述CPU检测加速卡的数据压缩效率,并在所述数据压缩效率符合预设条件时,将从上一次聚集结束点到当前积累的待压缩数据包聚集为数据块并送入请求队列,执行步骤S4;以及S4,加速卡将所述请求队列中的数据块读入压缩引擎进行压缩,并将生成的所述压缩数据包送入响应队列,所述CPU获取所述响应队列中的所述压缩数据包。
根据本发明实施例的在一种网络数据包聚集方法,中央处理器CPU判断待压缩数据包是否充足,如果充足,则检测到累积的待压缩包达到第一预设数目后,则将其聚集为数据块并送入请求队列,如果不充足,CPU检测加速卡的数据压缩效率,并在其符合预设条件时,将上一次聚集结束点到当前积累的待压缩数据包聚集为数据块并送入请求队列,最后加速卡将请求队列中的数据块读入压缩引擎进行压缩,并将生成的压缩数据包送入响应队列。该方法不但可以根据加速卡压缩效率进行自我调整,提高加速卡效率,控制简单,还可以实现数据包聚集传输时的自适应延迟控制和压缩带宽的有效利用和提高压缩比,且具有适时性与易用性。
在本发明的一个实施例中,所述CPU判断待压缩数据包是否充足,包括如下步骤:设置第二预设数目;当上游的所述待压缩数据包的数目大于或等于所述第二预设数目时,则所述CPU判断所述待压缩数据包充足,否则判断所述待压缩数据包匮乏。由此,提高了压缩数据包的数量的准确性与易用性。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京百度网讯科技有限公司,未经北京百度网讯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310006803.3/2.html,转载请声明来源钻瓜专利网。