CN103117958A - 网络数据包聚集方法、系统及装置 - Google Patents

网络数据包聚集方法、系统及装置 Download PDF

Info

Publication number
CN103117958A
CN103117958A CN2013100068033A CN201310006803A CN103117958A CN 103117958 A CN103117958 A CN 103117958A CN 2013100068033 A CN2013100068033 A CN 2013100068033A CN 201310006803 A CN201310006803 A CN 201310006803A CN 103117958 A CN103117958 A CN 103117958A
Authority
CN
China
Prior art keywords
compressed
packet
data
data packets
preset number
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2013100068033A
Other languages
English (en)
Other versions
CN103117958B (zh
Inventor
王燕飞
吴教仁
刘晓光
刘涛
刘宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201310006803.3A priority Critical patent/CN103117958B/zh
Publication of CN103117958A publication Critical patent/CN103117958A/zh
Application granted granted Critical
Publication of CN103117958B publication Critical patent/CN103117958B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提出了一种网络数据包聚集方法,包括步骤:中央处理器CPU判断待压缩数据包是否充足,如果充足,CPU每当检测到累积的待压缩数据包达到第一预设数目后,则将第一预设数目的待压缩数据包聚集为数据块并送入请求队列,否则CPU检测加速卡的数据压缩效率,并在数据压缩效率符合预设条件时,将从上一次聚集结束点到当前积累的待压缩数据包聚集为数据块并送入请求队列,最后加速卡将请求队列中的数据块读入压缩引擎进行压缩,并将生成的压缩数据包送入响应队列,CPU获取响应队列中的压缩数据包。该方法可以根据加速卡压缩效率进行自我调整,提高加速卡效率,且具有适时性与易用性。本发明还公开了一种网络数据包聚集系统以及网络数据包聚集的处理装置。

Description

网络数据包聚集方法、系统及装置
技术领域
本发明涉及信息处理技术领域,特别涉及一种网络数据包聚集方法与系统以及网络数据包聚集处理装置
背景技术
目前,很多文献采用收集固定数目数据包策略聚集批量数据包,或者采用超过预定义(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引擎读入所述请求队列中的所述数据块。由此,提高了加速卡读入数据块的简易型与高效性。
本发明第三方面的实施例提出一种用于网络数据包聚集的处理装置,包括:判断模块,用于判断待压缩数据包是否充足;检测模块,用于在所述待压缩数据充足时,检测是否累积的所述待压缩数据包达到第一预设数目;以及在所述待压缩数据不充足时,检测加速卡的数据压缩效率;聚集模块,用于在所述待压缩数据充足时,将所述第一预设数目的待压缩数据包聚集为数据块并送入请求队列;以及在所述待压缩数据不充足时,经过所述检测模块处理后,在所述数据压缩效率符合预设条件时,将从上一次聚集结束点到当前积累的待压缩数据包聚集为数据块并送入请求队列;获取模块,用于获取响应队列中的所述压缩数据包,其中,所述响应队列为加速卡在将所述请求队列中的数据块读入压缩引擎进行压缩后,将生成的所述压缩数据包送入的队列。
根据本发明实施例的在一种网络数据包聚集处理装置,中央处理器CPU判断待压缩数据包是否充足,如果充足,则检测到累积的待压缩包达到第一预设数目后,则将其聚集为数据块并送入请求队列,如果不充足,CPU检测加速卡的数据压缩效率,并在其符合预设条件时,将上一次聚集结束点到当前积累的待压缩数据包聚集为数据块并送入请求队列,最后加速卡将请求队列中的数据块读入压缩引擎进行压缩,并将生成的压缩数据包送入响应队列。该处理装置不但可以根据加速卡压缩效率进行自我调整,提高加速卡效率,控制简单,还可以实现数据包聚集传输时的自适应延迟控制和压缩带宽的有效利用和提高压缩比,且具有适时性与易用性。
在本发明的一个实施例中,所述判断模块还用于当上游的所述待压缩数据包的数目大于或等于所述第二预设数目时,则所述CPU判断所述待压缩数据包充足,否则判断所述待压缩数据包匮乏。由此,提高了压缩数据包的数量的准确性与易用性。
在本发明的一个实施例中,所述检测模块还包括:数目检测单元,用于检测响应队列中的压缩数据包的数目;压缩效率判断单元,判断所述压缩数据包是否达到第三预设数目;以及判断所述数据包压缩效率符合所述预设条件。由此,提高了对压缩数据包的压缩效率与适用性。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本发明实施例的网络数据包聚集方法的流程图;
图2为加速卡与CPU通信关系;
图3为自适应聚集算法伪代码描述;
图4为根据本发明实施例的网络数据包聚集系统示意图;以及
图5为根据本发明实施例的网络数据包聚集处理装置示意图;
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
图1为根据本发明实施例的网络数据包聚集方法的流程图。
如图1所示,本发明实施例的网络数据包聚集方法的流程图,包括如下步骤:
步骤S101为中央处理器CPU(Central Processing Unit)判断待压缩数据包是否充足。
具体地,如果充足,则执行步骤S102,否则执行步骤S103。
进一步地,在步骤S101中还包括如下步骤:首先设置第二预设数目;其次当上游的待压缩数据包的数目大于或等于第二预设数目时,则CPU判断待压缩数据包充足,否则判断待压缩数据包匮乏。
步骤S102为CPU每当检测到累积的待压缩数据包达到第一预设数目后,则将第一预设数目的待压缩数据包聚集为数据块并送入请求队列。
步骤S103为CPU检测加速卡的数据压缩效率,并在数据压缩效率符合预设条件时,将从上一次聚集结束点到当前积累的待压缩数据包聚集为数据块并送入请求队列。
进一步地,在步骤S103中还包括如下步骤:CPU检测响应队列中的压缩数据包的数目,并在压缩数据包达到第三预设数目时,判断数据包压缩效率符合预设条件。
步骤S104为加速卡将请求队列中的数据块读入压缩引擎进行压缩,并将生成的压缩数据包送入响应队列,CPU获取响应队列中的压缩数据包。
如图2所示,为加速卡与CPU通信关系。
CPU和加速卡Engine之间通过一条独享的双队列Request Ring和Response Ring完成共享通信。如图2(a)所示,具体地,压缩时,CPU把待压缩数据包送入请求队列Request Ring,形成请求队列缓冲Request Ringbuffer,压缩引擎通过请求队列和存储器直接访问DMA引擎把待压缩数据包读入压缩引擎;压缩结果被送入响应队列Response Ring,形成响应队列缓冲Response Ring buffer,CPU通过响应队列获取压缩结果。
进一步地,运行在CPU端的自适应聚集算法过程的描述为:
步骤S201,向请求队列快速注入一定量的数据包。
具体地,步骤S201为运行在CPU端的自适应聚集算法过程的初始化,其作用为避免CPU和加速卡引擎之间断流,影响性能。
步骤S202,CPU间断的通过响应队列中已经缓冲的数据包。
具体地,CPU间断的通过响应队列中已经缓冲的数据包或数据块,且数目标记为num_res,每当num_res大于特定阈值Threshhold时,CPU立即把从上一次聚集结束点到现在收集的所有数据包构成一个数据块Block送入请求队列,完成一次聚集过程,其中,特定阈值Threshhold为上述的第二预设数目。
此外,这种单一的依赖响应队列缓冲区数据包的入队方法的弊端是,在CPU被调度到其他进程或者CPU处理中断任务时,缓冲区可能出现空的情景。这种弊端来源于,当被压缩的上游数据包充足时,该策略不能很好的把数据包缓冲到请求队列,最极端的情况将形成ping-pong情景,同时只有一个数据包在请求队列和响应队列,极大的减低了缓冲效率和流水处理效率。因此,为了优化这种弊端,当上游数据包充足时,采用积累固定数目num_batch数据包的汇聚策略,最大程度的填充请求队列缓冲区,其中积累固定数目num_batch为上述的第一预设数目。
进一步地,步骤S202中的算法只有当上游数据包匮乏时,运行的聚集算法。
步骤203,加速卡将请求队列中的数据块读入压缩引擎进行压缩,并将生成的压缩数据包送入响应队列。
如图3(a)与3(b)所示为自适应聚集算法伪代码描述的流程图。
Figure BDA00002716653000091
上述伪代码中,在判断响应队列最新准备好状态时,由于标志响应数据是否准备好的状态是CPU和加速设备共享内存,因此为了减少竞争访问导致的访存开销,通过批处理优化,预跨批量大小Threshhold,该竞争导致性能影响。
受保护范围不仅仅局限于上述伪代码实现的算法,还包括其中基于反馈自适应的算法思想。
进一步地,网络数据包聚集方法对进入普通固定数目聚集模式与进入反馈自适应聚集模式两种模式进行详细说明。
(1)进入普通固定数目聚集模式:
步骤S301,读取当前响应队列头部res_head。其中,res_head指示加速卡最新更新的处理结果位置。
步骤S302,进入普通固定数目聚集模式。
步骤S303,判断待压缩数据包是否足够。
步骤S304,待压缩数据包足够,累积num_batch个待压缩数据包构成数据块并入请求队列,其中num_batch为上述的第一预设数目。
步骤S305,待压缩数据包不足够,不能一次性聚集num_batch数据包,则跳出普通聚集模式策略,执行后续反馈策略。
步骤S306,出队响应队列数据,并处理。
步骤S307,读取当前响应队列头部res_head。
(2)进入反馈自适应聚集模式:
步骤S301,读取当前响应队列头部res_head。其中,res_head指示加速卡最新更新的处理结果位置。
步骤S302,进入反馈自适应聚集模式。
步骤S303,读取响应队列头部res_head+特定阈值Threshhold数据包准备状态,其中,特定阈值Threshhold为上述的第二预设数目。
步骤S304,判断读取响应队列头部res_head+特定阈值Threshhold数据包准备状态是否准备好。
步骤S305,判断res_head+特定阈值Threshhold位置压缩数据包已准备好,累积当前所有待压缩数据包构成数据块并入请求队列。
步骤S306,判断res_head+特定阈值Threshhold位置压缩数据包未准备好,则跳出。
步骤S307,出队响应队列数据,并处理。
步骤S308,将响应队列头部res_head+特定阈值Threshhold的数据赋值给res_head,继续进行处理。
根据本发明实施例的在一种网络数据包聚集方法,中央处理器CPU判断待压缩数据包是否充足,如果充足,则检测到累积的待压缩包达到第一预设数目后,则将其聚集为数据块并送入请求队列,如果不充足,CPU检测加速卡的数据压缩效率,并在其符合预设条件时,将上一次聚集结束点到当前积累的待压缩数据包聚集为数据块并送入请求队列,最后加速卡将请求队列中的数据块读入压缩引擎进行压缩,并将生成的压缩数据包送入响应队列。该方法不但可以根据加速卡压缩效率进行自我调整,提高加速卡效率,控制简单,还可以实现数据包聚集传输时的自适应延迟控制和压缩带宽的有效利用和提高压缩比,且具有适时性与易用性。
如图4所示,本发明实施例的网络数据包聚集系统示意图,包括中央处理器CPU410和加速卡420。
中央处理器CPU410,用于判断待压缩数据包是否充足,如果充足,则CPU410每当检测到累积的待压缩数据包达到第一预设数目后,则将第一预设数目的待压缩包聚集为数据块并送入请求队列,如果不充足,则CPU410检测加速卡420的数据压缩效率,并在数据压缩效率符合预设条件时,将从上一次聚集结束点到当前积累的待压缩数据包聚集为数据块并送入请求队列,以及获取响应队列中的压缩数据包。
进一步地,中央处理器CPU410判断压缩数据包是否充足,还包括:设置第二预设数目;当上游的待压缩数据包的数目大于或等于第二预设数目时,则CPU410判断待压缩数据包充足,否则判断待压缩数据包匮乏,且当中央处理器CPU410检测加速卡的数据压缩效率,还包括:CPU410检测响应队列中的压缩数据包的数目,并在压缩数据包达到第三预设数目时,判断数据包压缩效率符合预设条件。
加速卡420,用于将请求队列中的数据块读入压缩引擎进行压缩,并将生成的压缩数据包送入响应队列。
进一步地,加速卡420直接存储器访问DMA引擎读入请求队列中的数据块。
根据本发明实施例的在一种网络数据包聚集系统,中央处理器CPU判断待压缩数据包是否充足,如果充足,则检测到累积的待压缩包达到第一预设数目后,则将其聚集为数据块并送入请求队列,如果不充足,CPU检测加速卡的数据压缩效率,并在其符合预设条件时,将上一次聚集结束点到当前积累的待压缩数据包聚集为数据块并送入请求队列,最后加速卡将请求队列中的数据块读入压缩引擎进行压缩,并将生成的压缩数据包送入响应队列。该系统不但可以根据加速卡压缩效率进行自我调整,提高加速卡效率,控制简单,还可以实现数据包聚集传输时的自适应延迟控制和压缩带宽的有效利用和提高压缩比,且具有适时性与易用性。
如图5所示,为根据本发明实施例的网络数据包聚集处理装置示意图,包括判断模块510、检测模块520、聚集模块530和获取模块540。
判断模块510首先判断待压缩数据包是否充足,若当检测模块520检测待压缩数据充足时,检测是否累积的待压缩数据包达到第一预设数目,最后聚集模块530将第一预设数目的待压缩数据包聚集为数据块并送入请求队列;继而获取模块540获取响应队列中的压缩数据包;若当检测模块520检测待压缩数据不充足时,检测加速卡的数据压缩效率,最后聚集模块530在数据压缩效率符合预设条件时,将从上一次聚集结束点到当前积累的待压缩数据包聚集为数据块并送入请求队列,继而获取模块540获取响应队列中的压缩数据包。其中,响应队列为加速卡在将请求队列中的数据块读入压缩引擎进行压缩后,将生成的压缩数据包送入的队列。
进一步地,判断模块510还用于当上游的待压缩数据包的数目大于或等于第二预设数目时,则CPU判断待压缩数据包充足,否则判断待压缩数据包匮乏。以及;检测模块520还包括:数目检测单元521,压缩效率判断单元522。
数目检测单元521为检测响应队列中的压缩数据包的数目。
压缩效率判断单元522为判断压缩数据包是否达到第三预设数目;以及判断数据包压缩效率符合预设条件。
根据本发明实施例的在一种网络数据包聚集处理装置,中央处理器CPU判断待压缩数据包是否充足,如果充足,则检测到累积的待压缩包达到第一预设数目后,则将其聚集为数据块并送入请求队列,如果不充足,CPU检测加速卡的数据压缩效率,并在其符合预设条件时,将上一次聚集结束点到当前积累的待压缩数据包聚集为数据块并送入请求队列,最后加速卡将请求队列中的数据块读入压缩引擎进行压缩,并将生成的压缩数据包送入响应队列。该处理装置不但可以根据加速卡压缩效率进行自我调整,提高加速卡效率,控制简单,还可以实现数据包聚集传输时的自适应延迟控制和压缩带宽的有效利用和提高压缩比,且具有适时性与易用性。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,″计算机可读介质″可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。本发明的范围由所附权利要求极其等同限定。

Claims (11)

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检测加速卡的数据压缩效率,并在所述数据压缩效率符合预设条件时,将从上一次聚集结束点到当前积累的待压缩数据包聚集为数据块并送入请求队列,以及获取响应队列中的所述压缩数据包;
加速卡,用于将所述请求队列中的数据块读入压缩引擎进行压缩,并将生成的所述压缩数据包送入所述响应队列。
6.如权利要求5所述的网络数据包聚集系统,其特征在于,所述中央处理器CPU判断待压缩数据包是否充足,还包括:
设置第二预设数目;
当上游的所述待压缩数据包的数目大于或等于所述第二预设数目时,则所述CPU判断所述待压缩数据包充足,否则判断所述待压缩数据包匮乏。
7.如权利要求5所述的网络数据包聚集系统,其特征在于,所述中央处理器CPU检测加速卡的数据压缩效率,还包括:
所述CPU检测响应队列中的压缩数据包的数目,并在所述压缩数据包达到第三预设数目时,判断所述数据包压缩效率符合所述预设条件。
8.如权利要求5所述的网络数据包聚集系统,其特征在于,所述加速卡直接存储器访问DMA引擎读入所述请求队列中的所述数据块。
9.一种用于网络数据包聚集的处理装置,其特征在于,包括:
判断模块,用于判断待压缩数据包是否充足;
检测模块,用于在所述待压缩数据充足时,检测是否累积的所述待压缩数据包达到第一预设数目;以及在所述待压缩数据不充足时,检测加速卡的数据压缩效率;
聚集模块,用于在所述待压缩数据充足时,将所述第一预设数目的待压缩数据包聚集为数据块并送入请求队列;以及在所述待压缩数据不充足时,经过所述检测模块处理后,在所述数据压缩效率符合预设条件时,将从上一次聚集结束点到当前积累的待压缩数据包聚集为数据块并送入请求队列;
获取模块,用于获取响应队列中的所述压缩数据包,其中,所述响应队列为加速卡在将所述请求队列中的数据块读入压缩引擎进行压缩后,将生成的所述压缩数据包送入的队列。
10.如权利要求9所述的网络数据包聚集的处理装置,其特征在于,所述判断模块还用于当上游的所述待压缩数据包的数目大于或等于所述第二预设数目时,则所述CPU判断所述待压缩数据包充足,否则判断所述待压缩数据包匮乏。
11.如权利要求9所述的网络数据包聚集的处理装置,其特征在于,所述检测模块还包括:
数目检测单元,用于检测响应队列中的压缩数据包的数目;
压缩效率判断单元,判断所述压缩数据包是否达到第三预设数目;以及判断所述数据包压缩效率符合所述预设条件。
CN201310006803.3A 2013-01-08 2013-01-08 网络数据包聚集方法、系统及装置 Active CN103117958B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310006803.3A CN103117958B (zh) 2013-01-08 2013-01-08 网络数据包聚集方法、系统及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310006803.3A CN103117958B (zh) 2013-01-08 2013-01-08 网络数据包聚集方法、系统及装置

Publications (2)

Publication Number Publication Date
CN103117958A true CN103117958A (zh) 2013-05-22
CN103117958B CN103117958B (zh) 2015-11-25

Family

ID=48416236

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310006803.3A Active CN103117958B (zh) 2013-01-08 2013-01-08 网络数据包聚集方法、系统及装置

Country Status (1)

Country Link
CN (1) CN103117958B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106569750A (zh) * 2016-11-09 2017-04-19 郑州云海信息技术有限公司 一种数据压缩方法及装置
WO2017067313A1 (zh) * 2015-10-19 2017-04-27 中兴通讯股份有限公司 数据压缩方法及装置
CN109542609A (zh) * 2018-11-30 2019-03-29 深圳市盟天科技有限公司 一种代扣还款的方法、装置、计算机设备和存储介质
CN109918174A (zh) * 2019-03-15 2019-06-21 合肥谐桐科技有限公司 基于加速卡实现虚拟机热迁移优化处理的系统及其方法
CN110266814A (zh) * 2019-07-09 2019-09-20 联想(北京)有限公司 传输方法及传输装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1351297A (zh) * 2000-10-26 2002-05-29 上海奇码数字信息有限公司 具有网络拓扑结构的自适应信息处理系统
CN1481547A (zh) * 2000-12-15 2004-03-10 ���˹���Ѷ��� 音频信号编码
US7089391B2 (en) * 2000-04-14 2006-08-08 Quickshift, Inc. Managing a codec engine for memory compression/decompression operations using a data movement engine
CN1971541A (zh) * 2006-11-29 2007-05-30 赛安(杭州)微系统有限公司 一种用于vtl平台的数据压缩和解压缩插卡
CN101030131A (zh) * 2007-01-31 2007-09-05 北京中星微电子有限公司 一种音频输出方法及系统
CN101854308A (zh) * 2010-06-09 2010-10-06 武汉必联网络技术有限公司 VoIP系统高音质服务网络自适应实现方法
CN102215286A (zh) * 2011-04-06 2011-10-12 扬州大学 一种嵌入式多通道电话录音录时系统
CN102291773A (zh) * 2011-07-18 2011-12-21 电信科学技术研究院 一种数据压缩方法和设备
US20120284446A1 (en) * 2011-05-05 2012-11-08 International Business Machines Corporation Accelerator engine emulation over an interconnect link

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7089391B2 (en) * 2000-04-14 2006-08-08 Quickshift, Inc. Managing a codec engine for memory compression/decompression operations using a data movement engine
CN1351297A (zh) * 2000-10-26 2002-05-29 上海奇码数字信息有限公司 具有网络拓扑结构的自适应信息处理系统
CN1481547A (zh) * 2000-12-15 2004-03-10 ���˹���Ѷ��� 音频信号编码
CN1971541A (zh) * 2006-11-29 2007-05-30 赛安(杭州)微系统有限公司 一种用于vtl平台的数据压缩和解压缩插卡
CN101030131A (zh) * 2007-01-31 2007-09-05 北京中星微电子有限公司 一种音频输出方法及系统
CN101854308A (zh) * 2010-06-09 2010-10-06 武汉必联网络技术有限公司 VoIP系统高音质服务网络自适应实现方法
CN102215286A (zh) * 2011-04-06 2011-10-12 扬州大学 一种嵌入式多通道电话录音录时系统
US20120284446A1 (en) * 2011-05-05 2012-11-08 International Business Machines Corporation Accelerator engine emulation over an interconnect link
CN102291773A (zh) * 2011-07-18 2011-12-21 电信科学技术研究院 一种数据压缩方法和设备

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017067313A1 (zh) * 2015-10-19 2017-04-27 中兴通讯股份有限公司 数据压缩方法及装置
CN106569750A (zh) * 2016-11-09 2017-04-19 郑州云海信息技术有限公司 一种数据压缩方法及装置
CN109542609A (zh) * 2018-11-30 2019-03-29 深圳市盟天科技有限公司 一种代扣还款的方法、装置、计算机设备和存储介质
CN109918174A (zh) * 2019-03-15 2019-06-21 合肥谐桐科技有限公司 基于加速卡实现虚拟机热迁移优化处理的系统及其方法
CN110266814A (zh) * 2019-07-09 2019-09-20 联想(北京)有限公司 传输方法及传输装置

Also Published As

Publication number Publication date
CN103117958B (zh) 2015-11-25

Similar Documents

Publication Publication Date Title
CN103117958B (zh) 网络数据包聚集方法、系统及装置
JP4896904B2 (ja) 移動端末においてタスクを経時的に分配する方法、デバイスおよびプロセス
KR101140980B1 (ko) 전력 관리를 위한 버퍼링 기술
CN104424031B (zh) 一种处理器工作频率的控制方法及装置
CN104756095A (zh) 便携式计算设备中的中断等待时间门限和支持处理器的资源的动态调整
CN104380257A (zh) 在处理器核之间调度任务
US20120057513A1 (en) Sleep mode selection employing a semi-markov decision process
CN103154854A (zh) 用于优化一组性能缩放算法的配置的系统和方法
CN103246532A (zh) 一种终端设备应用程序安装方法及装置
CN113051465A (zh) 优化策略的推送方法、装置、服务器及存储介质
CN104735248A (zh) 一种移动终端的温升控制的方法及装置
CN104024977A (zh) 使用基于奖赏的睡眠状态选择的电源管理
KR101675245B1 (ko) 채널 인식 작업 스케줄링
CN112752319A (zh) 网络切换方法、装置、终端及存储介质
KR101986099B1 (ko) 웨이크업 빈도를 줄이기 위한 필터링 방법 및 장치
CN107872533B (zh) 信息推送方法、装置、服务器以及存储介质
EP2658082A1 (en) Electricity management apparatus and electricity management method
CN112073327A (zh) 一种抗拥塞的软件分流方法、装置及存储介质
CN109068355B (zh) 一种节省数据流量的方法、电话手表、服务器及移动终端
Bai et al. Throughput maximization for energy harvesting nodes with generalized circuit power modelling
CN109996319B (zh) 信标信号处理装置
US20130061072A1 (en) Power saving node controller
CN109765986A (zh) 省电模式控制方法、终端设备及计算机可读存储介质
JP2004179983A (ja) ネットワーク機器制御システム
CN115190462A (zh) 一种扫描控制系统、方法及电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant