本发明专利技术提出了一种网络数据包聚集方法,包括步骤:中央处理器CPU判断待压缩数据包是否充足,如果充足,CPU每当检测到累积的待压缩数据包达到第一预设数目后,则将第一预设数目的待压缩数据包聚集为数据块并送入请求队列,否则CPU检测加速卡的数据压缩效率,并在数据压缩效率符合预设条件时,将从上一次聚集结束点到当前积累的待压缩数据包聚集为数据块并送入请求队列,最后加速卡将请求队列中的数据块读入压缩引擎进行压缩,并将生成的压缩数据包送入响应队列,CPU获取响应队列中的压缩数据包。该方法可以根据加速卡压缩效率进行自我调整,提高加速卡效率,且具有适时性与易用性。本发明专利技术还公开了一种网络数据包聚集系统以及网络数据包聚集的处理装置。
【技术实现步骤摘要】
本专利技术涉及信息处理
,特别涉及一种网络数据包聚集方法与系统以及网络数据包聚集处理装置
技术介绍
目前,很多文献采用收集固定数目数据包策略聚集批量数据包,或者采用超过预定义(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判断所述待压缩数据包充足,否则判断所述待压缩数据包匮乏。由此,提高了压缩数据包的数量的准确性与易用性。在本专利技术的一个实施例中,所述CPU检测加速卡的数据压缩效率,包括如下步骤:所述CPU检测响应队列中的压缩数据包的数目,并在所述压缩数据包达到第三预设数目时,判断所述数据包压缩效率符合所述预设条件。由此,提高了对压缩数据包的压缩效率与适用性。在本专利技术的一个实施例中,所述加速卡通过直接存储器访问DMA引擎读入所述请求队列中的所述数据块。由此,提高了加速卡读入数据块的简易型与高效性。本专利技术第二方面的实施例提出一种网络数据包聚集系统,包括中央处理器CPU,用于判断待压缩数据包是否充足,如果充足,则所述CPU每当检测到累积的所述待压缩数据包达到第一预设数目后,则将所述第一预设数目的待压缩包聚集为数据块并送入请求队列,如果不充足,则所述CPU检测加速卡的数据压缩效率,并在所述数据压缩效率符合预设条件时,将从上一次聚集结束点到当前积累的待压缩数据包聚集为数据块并送入请求队列,以及获取响应队列中的所述压缩数据包;加速卡,用于将所述请求队列中的数据块读入压缩引擎进行压缩,并将生成的所述压缩数据包送入所述响应队列。根据本专利技术实施例的在一种网络数据包聚集系统,中央处理器CPU判断待压缩数据包是否充足,如果充足,则检测到累积的待压缩包达到第一预设数目后,则将其聚集为数据块并送入请求队列,如果不充足,CPU检测加速卡的数据压缩效率,并在其符合预设条件时,将上一次聚集结束点到当前积累的待压缩数据包聚集为数据块并送入请求队列,最后加速卡将请求队列中的数据块读入压缩引擎进行压缩,并将生成的压缩数据包送入响应队列。该系统不但可以根据加速卡压缩效率进行自我调整,提高加速卡效率,控制简单,还可以实现数据包聚集传输时的自适应延迟控制和压缩带宽的有效利用和提高压缩比,且具有适时性与易用性。在本专利技术的一个实施例中,所述中央处理器CPU判断待压缩数据包是否充足,还包括:设置第二预设数目;当上游的所述待压缩数据包的数目大于或等于所述第二预设数目时,则所述CPU判断所述待压缩数据包充足,否则判断所述待压缩数据包匮乏。由此,提高了压缩数据包的数量的准确性与易用性。在本专利技术的一个实施例中,所述中央处理器CPU检测加速卡的数据压缩效率,还包括:所述CPU检测响应队列中的压缩数据包的数目,并在所述压缩数据包达到第三预设数目时,判断所述数据包压缩效率符合所述预设条件。由此,提高了对压缩数据包的压缩效率与适用性。在本专利技术的一个实施例中,所述加速卡直接存储器访问DMA引擎读入所述请求队列中的所述数据块。由此,提高了加速卡读入数据块的简易型与高效性。本专利技术第三方面的实施例提出一种用于网络数据包聚集的处理装置,包括:判断模块,用于判断待压缩数据包是否充足;检测模块,用于在所述待压缩数据充足时,检测是否累积的所述待压缩数据包达到第一预设数目;以及在所述待压缩数据不充足时,检测加速卡的数据压缩效率;聚集模块,用于在所述待压缩数据充足时,将所述第本文档来自技高网...
【技术保护点】
一种网络数据包聚集方法,其特征在于,包括如下步骤:S1:中央处理器CPU判断待压缩数据包是否充足,如果充足,则执行步骤S2,否则执行步骤S3;S2,所述CPU每当检测到累积的所述待压缩数据包达到第一预设数目后,则将所述第一预设数目的待压缩数据包聚集为数据块并送入请求队列,执行步骤S4;S3,所述CPU检测加速卡的数据压缩效率,并在所述数据压缩效率符合预设条件时,将从上一次聚集结束点到当前积累的待压缩数据包聚集为数据块并送入请求队列,执行步骤S4;以及S4,加速卡将所述请求队列中的数据块读入压缩引擎进行压缩,并将生成的所述压缩数据包送入响应队列,所述CPU获取所述响应队列中的所述压缩数据包。
【技术特征摘要】
1.一种网络数据包聚集方法,其特征在于,包括如下步骤: S1:中央处理器CPU判断待压缩数据包是否充足,如果充足,则执行步骤S2,否则执行步骤S3 ; S2,所述CPU每当检测到累积的所述待压缩数据包达到第一预设数目后,则将所述第一预设数目的待压缩数据包聚集为数据块并送入请求队列,执行步骤S4 ; S3,所述CPU检测加速卡的数据压缩效率,并在所述数据压缩效率符合预设条件时,将从上一次聚集结束点到当前积累的待压缩数据包聚集为数据块并送入请求队列,执行步骤S4 ;以及 S4,加速卡将所述请求队列中的数据块读入压缩引擎进行压缩,并将生成的所述压缩数据包送入响应队列,所述CPU获取所述响应队列中的所述压缩数据包。2.如权利要求1所述的网络数据包聚集方法,其特征在于,所述CPU判断待压缩数据包是否充足,包括如下步骤: 设置第二预设数目; 当上游的所述待压缩数据包的数目大于或等于所述第二预设数目时,则所述CPU判断所述待压缩数据包充足,否则判断所述待压缩数据包匮乏。3.如权利要求1所述的网络数据包聚集方法,其特 征在于,所述CPU检测加速卡的数据压缩效率,包括如下步骤: 所述CPU检测响应队列中的压缩数据包的数目,并在所述压缩数据包达到第三预设数目时,判断所述数据包压缩效率符合所述预设条件。4.如权利要求1所述的网络数据包聚集方法,其特征在于,所述加速卡通过直接存储器访问DMA引擎读入所述请求队列中的所述数据块。5.一种网络数据包聚集系统,其特征在于,包括: 中央处理器CPU,用于判断待压缩数据包是否充足,如果充足,则所述CPU每当检测到累积的所述待压缩数据包达到第一预设数目后,则将所述第一预设数目的待压缩包聚集为数据块并送入请求队列,如果不充足,则所述CPU检测加速卡的数据压缩效率,并在所述数据压缩效率符合预设条件时,将从上一次聚集结束点到当前积累的待压缩数据包聚集为数据块并送入请求队列,以及获取响应队列中的所述压缩数据包; 加速卡,用于将所述请求队列中的数据块读入压缩引擎进行压缩,并将生成的所述压缩数据包送入...
【专利技术属性】
技术研发人员:王燕飞,吴教仁,刘晓光,刘涛,刘宁,
申请(专利权)人:北京百度网讯科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。