报文接收方法及装置的制作方法

文档序号:7690177阅读:89来源:国知局
专利名称:报文接收方法及装置的制作方法
技术领域
本发明涉及通信领域,具体而言,涉及一种报文接收方法及装置。
背景技术
在无线通信系统的基站中,当系统吞吐量很高时,基站的性能及稳定性就会显著下降。具体可以表现为吞吐量降低、处理速度变慢、软件系统易卡死等。相关技术中,当基站网口接收报文的流量增大时,导致基站性能下降,目前尚未提出有效的解决方案
发明内容

本发明的主要目的在于提供一种报文接收方法及装置,以至少解决上述当基站网口接收报文的流量增大时,导致基站性能下降的问题。根据本发明的一个方面,提供了一种报文接收方法,包括如下步骤确定中央处理器(CPU)的利用率;使用利用率确定接收报文的门限;根据确定的门限接收报文。优选地,确定CPU的利用率包括根据接收报文的网络吞吐量确定CPU用于处理接收到的报文所占用的CPU利用率。优选地,使用利用率确定报文的门限包括根据预先在单位时间内统计的利用率与接收报文的长度和/或个数之间的对应关系确定门限。优选地,根据对应关系确定门限包括使用个数和单位时间内统计的利用率通过对应关系分别确定对应于不同报文长度的一组门限。优选地,使用个数和单位时间内统计的利用率通过对应关系分别确定对应于不同报文长度的一组门限包括使用个数和单位时间内统计的利用率通过对应关系分别确定对应于不同报文长度的多组门限;一组门限中的每一个对应于长度的门限值为,多组中每组相应长度的门限的平均值。优选地,使用个数和单位时间内统计的利用率通过对应关系分别确定对应于不同报文长度的一组门限包括使用个数和单位时间内统计的利用率通过对应关系分别确定对应于不同报文长度的多组门限;确定多组对应于长度的门限中最后一组门限中任意一个门限所对应的CPU的利用率大于预定值;计算多组中除了最后一组外其他组中每组相应长度的门限的几何平均值;一组门限中的每一个对应于长度的门限值为,计算预定权值与最后一组门限的乘积之后与几何平均值的和得到的一组值。优选地,使用个数和单位时间内统计的利用率通过对应关系分别确定对应于不同报文长度的一组门限包括使用如下公式分别确定对应于不同报文长度的一组门限pps_b pps_b = k * pps_a * max_cpu/ Δ cpu,其中,k 为调整值,且 k 为实数,pps_a 为个数,max_cpu为预设的CPU的最大利用率,Acpu为单位时间内统计的利用率。根据本发明的另一方面,提供了一种报文接收装置,包括第一确定模块,用于确定中央处理器CPU的利用率;第二确定模块,用于使用利用率确定接收报文的门限;接收模块,用于根据确定的门限接收报文。优选地,第一确定模块,用于根据接收报文的网络吞吐量确定CPU用于处理接收到的报文所占用的CPU利用率。优选地,第二确定模块,用于根据预先在单位时间内统计的利用率与接收报文的长度和个数之间的对应关系确定门限。通过本发明,采用确定CPU的利用率,并使用利用率确定接收报文的门限,最后根据确定的门限接收报文,解决了相关技术中,当基站网口接收报文的流量增大时,导致基站性能下降的问题,进而达到了提高基站性能的效果。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中 图I是根据本发明实施例的报文接收方法的流程图;图2是根据本发明实施例的报文接收装置的结构框图;图3是根据本发明实施例的报文接收装置的优选的结构框图;以及图4是根据本发明优选实施例的报文接收方法的流程图。
具体实施例方式下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。在以下实施例中,考虑到在无线通信系统的基站中,网络报文处理是基站功能的一个重要组成部分,同时对中央处理器(Central Processing Unit,简称为CPU)的消耗也是较大的,当系统吞吐量很高时,CPU的处理能力会成为基站性能的瓶颈。例如,当单板的CPU利用率上升到95%以上时,基站的性能及稳定性就会显著下降,表现为吞吐量降低、处理速度变慢、软件系统易卡死等。在以下实施例中,考虑到报文流量增大时,基站一系列与网络功能相关的上层软件任务的处理量就随之增加,所以基站CPU利用率上升影响基站的性能,因此,在以下实施例中,通过对接收报文进行了控制,从而可以取得降低CPU利用率的目的。本实施例提供了一种报文接收方法,图I是根据本发明实施例的报文接收方法的流程图,如图I所示,该方法包括步骤S102 :确定CPU的利用率;步骤S104 :使用利用率确定接收报文的门限;步骤S106 :根据确定的门限接收报文。通过上述步骤,利用确定的CPU的利用率来确定接收报文的门限,并根据确定的门限接收报文,在报文流量增大时,根据CPU的利用率确定的门限来接收报文,克服了报文流量增大时,基站一系列与网络功能相关的上层软件任务的处理量会随之增加,导致基站CPU的利用率增大会影响基站的性能的问题,从而提高了基站的性能。确定CPU的利用率,可以是对CPU的整体利用率,例如,该CPU目前的整体的利用率是60%;也可以是只考虑该CPU目前对接收到的报文进行处理所占用的利用率,例如,可以根据接收报文的网络吞吐量确定CPU用于处理接收到的报文所占用的CPU利用率,这种根据网络吞吐量方式确定的CPU利用率准确性比较高。对于门限值的确定,可以根据预先统计的在单位时间内接收到的报文的个数与利用率的关系来进行确定,也可以根据预先统计的单位时间内接收到的报文的长度与利用率的关系来进行确定,作为一个优选实施方式,可以将这两种方式结合。例如,可以根据报文的个数和长度确定该单位时间内接收到报文的总的流量,以及在该流程下的CPU的利用率,那么如果希望将CPU的利用率控制在80%,可以根据之前统计的数据,查找80%时所对应的总的流量,然后根据该流程控制接收到报文的个数和长度(例如,可以抛弃一定数量的报文,或者抛弃长度超过阈值的报文)。这种根据单位时间内利用率和报文长度和/或个数之间的对应关系确定的门限,准确性比较高。在本实施例中,提供了一种优选实施方式,在该优选实施方式中,考虑到不同报文长度对应不同的门限与CPU的利用率变化量间存在近似线性的关系,对应于不同报文长度确定不同的门限,可以使基站设备能根据当期设备的自身处理能力以及网络报文种类、长度自动地调整收包门限,从而使设备能长期工作于稳定状态,提高设备的鲁棒性。即可以使 门限值与报文的长度对应起来,即不同范围的报文的长度对应的门限值是不同的。即使用个数和单位时间内统计的利用率通过预先统计的在单位时间内接收到的报文的个数与利用率的关系对应关系分别确定对应于不同报文长度的一组门限。在实施时,使用个数和单位时间内统计的利用率通过对应关系分别确定对应于不同报文长度的一组门限可以有多种实施方式,例如可以根据对应关系获取一组对应于不通过报文长度门限作为一组门限或者在一段时间内获取了多组门限,然后通过求平均或加权求和的方式确定一组门限。对于后者,比较优地,可以采用如下两种实施方式方式一使用个数和单位时间内统计的利用率通过对应关系分别确定对应于不同报文长度的多组门限;一组门限中的每一个对应于长度的门限值为,多组中每组相应长度的门限的平均值。方式一确定门限的方法比较简便,但同时该方式中将多组门限中对应于长度的门限值取平均值得到对应于长度的门限,在一定程度上保证的确定门限的准确性。方式二 使用个数和单位时间内统计的利用率通过对应关系分别确定对应于不同报文长度的多组门限;确定多组对应于长度的门限中最后一组门限中任意一个门限所对应的CPU的利用率大于预定值;计算多组中除了最后一组外其他组中每组相应长度的门限的几何平均值;一组门限中的每一个对应于长度的门限值为,计算预定权值与最后一组门限的乘积之后与几何平均值的和得到的一组值。方式二确定门限值的方法较方式一复杂,但是其根据最后一组门限对应的(PU大于预定值,比较优地,该预定值可以为2 * max_cpu/3,大于预定值表明最后一组门限值的可靠性比较高,则增加最后一组门限的权值来计算一组门限,所以得到的门限值比方式一的准确性高。在实施时,比较优地,使用如下公式分别确定对应于不同报文长度的一组门限pps_b pps_b = k * pps_a * max_cpu/ Δ cpu,其中,k 为调整值,且 k 为实数,pps_a 为个数,max_cpu为预设的CPU的最大利用率,Λ cpu为单位时间内统计的利用率。该方式根据对应关系确定一组门限,并且可以通过k值对门限值进行修正,例如Λ cpu越大,应该降低门限,则k值小于1,反之,Acpu越大,说明网络相关任务所占CPU资源不多,应该提高门限,则k值大于I.
需要说明的是,上述优选实施方式可以相互组合形成不同的实施例。本实施例中还提供了一种报文接收装置,如以下实施例所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统和方法较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图2是根据本发明实施例的报文接收装置的结构框图,如图2所示,该装置包括第一确定模块22,第二确定模块24,接收模块26,下面对上述结构进行详细说明。第一确定模块22,用于确定中央处理器CPU的利用率;第二确定模块24,连接至第一确定模块22,用于使用第一确定模块22确定的利用率确定接收报文的门限;接收模块26,连接至第二确定模块24,用于根据第二确定模块24确定的门限接收报文。优选地,第一确定模块22,用于根据接收报文的网络吞吐量确定CPU用于处理接收到的报文所占用的CPU利用率。
优选地,第二确定模块24,用于根据预先在单位时间内统计的利用率与接收报文的长度和个数之间的对应关系确定门限。在本实施例中,还提供了一种优选的报文接收装置,图3是根据本发明实施例的报文接收装置的优选的结构框图,如图3所示,第二确定模块24包括第三确定模块32,第三确定模块32包括第四确定模块322,第五确定模块324,第六确定模块326,计算模块328,第七确定模块329,下面对上述结构进行详细说明。第三确定模块32,用于使用个数和单位时间内统计的利用率通过对应关系分别确定对应于不同报文长度的一组门限。第三确定模块32包括第四确定模块322,用于使用个数和单位时间内统计的利用率通过对应关系分别确定对应于不同报文长度的多组门限;第五确定模块324,连接至第四确定模块322,用于确定一组门限中的每一个对应于长度的门限值为,多组中每组相应长度的门限的平均值。第三确定模块32包括第六确定模块326,连接至第四确定模块322,用于确定第四确定模块322确定出的多组对应于长度的门限中最后一组门限中任意一个门限所对应的CPU的利用率大于预定值;计算模块328,连接至第六确定模块326,在第六确定模块326确定出多组对应于长度的门限中最后一组门限中任意一个门限所对应的CPU的利用率大于预定值时,计算多组中除了最后一组外其他组中每组相应长度的门限的几何平均值;第七确定模块329,用于确定一组门限中的每一个对应于长度的门限值为,计算预定权值与最后一组门限的乘积之后与几何平均值的和得到的一组值。需要说明的是,装置实施例中描述的报文接收装置对应于上述的方法实施例,其具体的实现过程在方法实施例中已经进行过详细说明,在此不再赘述。下面将结合优选实施例进行说明优选实施例一本实施例提供了一种报文接收方法,图4是根据本发明优选实施例的报文接收方法的流程图,如图4所示,该方法包括如下步骤步骤S402 :进行门限训练。步骤S404 :计算当前O. 5秒的平均包长的pps_a。 步骤S406 :网络任务CPU资源消耗检测。
步骤S408 :提供当前网络任务CPU利用率。步骤S410 :根据当前的CPU利用率计算pps_b。步骤S412 :更新训练表。步骤S414 :计算本周期需要设置给驱动的门限。步骤S416 :网口驱动。步骤S418 :判断是否是重要报文,如果判断结果为是,执行步骤S420,否则,执行步骤S422。步骤S420 :将该报文交给上层。步骤S422 :丢弃该报文。 通过本优选实施例,根据当前网络吞吐量对CPU的消耗水平,动态地调整基站的接收报文门限,对提升基站在高吞吐量条件下的性能和稳定性有着显著的改善。优选实施例二本实施例提供了一种报文接收方法,本实施例结合了上述实施例及其中的优选实施方式,该方法包括步骤1,在O. 5秒内其对CPU的消耗值定义为Λ cpu,另外,把所能够忍受的基站CPU利用率定义为max_cpu, max_cpu的值一般设为90%。步骤2,对当前O. 5秒内网口收包的状况进行统计分析,计算出平均包长average_length 和报文个数 pps_a,将包长分成 64byte, 128byte, 256byte, 512byte, 1024byte 五个等级,将当前O. 5秒网口收到报文的平均包长按照如下方式进行分类
平均包长(byte)类别(byte)
64 966496 192128
192 384256
384 768512
768 15141024对于O. 5秒内统计到的pps_a,主要目的就是将其作为将来这一类包长的pps门限轨迹。步骤3,对pps_a进行简单的修正,得到pps_b,具体为Δ cpu越大,就应该降低pps门限;反之,Acpu越小,说明网络相关任务所占CPU资源不多,需要提高这种包长pps的门限。可以通过以下公式确定pps_b pps_b = k * pps_a * max_cpu/ Acpu,其中,参数k代表需要调节的系数。步骤4,计算pps_b后,将其存为门限历史,每种长度的报文都需要存储8组门限历史,并将其称作为训练表,当训练表中存满8组门限历史后,新的门限历史就替换掉最老的那个门限历史,采用多门限的目的是防止出现PPS门限值的大跳跃,进而导致基站CPU利用率的大跳跃。
步骤5,得到8组门限历史后,使用该8组门限历史计算需要设置给网口驱动的的pps_c门限值了。具体如下(I)如果当前的Acpu大于等于2 * max_cpu/3时,就认为最新一次的pps_b可信度较高,并且数据比较新,最符合当时基站的运行情况,因此在计算pps_c时,其需要占一半的比重,使用如下公式确定pps_c pps_c = O. 5 * pps_b[7]+0. 5 * (pps_b
+· . . +pps_b[6])/7。(2)如果当前的Acpu小于2 * max_cpu/3时,可以认为最新一次的pps_b可信度不高,在计算pps_c时,可以取历史门限的平均值,可以使用如下公式确定pps_c ;pps_c = (pps_b [O] +. . . +pps_b [7]) /8通过上述计算方法,根据上述算法计算得到ppS_c就是一个综合了当前最新网络处理信息和历史记录的PPS门限值。 步骤6,将这个值设置到网口驱动中,那么接下来的工作可以由网口驱动来完成。步骤7,在网口驱动中判断当前的pps是否大于这个pps_c,如果大于pps_c,那么再对进入网口的报文进行判断,对于不重要的报文就直接在网口驱动层进行丢弃。对于重要的报文还是继续递交到上层软件进行处理。通过该步骤,动态地调整基站接收报文门限,对超过门限的不重要报文予以丢弃,从而保证基站在网络高负荷条件下的基本功能。上述实施例中的CPU的消耗值即为CPU的利用率。需要说明的是,本实施例中,考虑到当网口带宽增大时,即每秒比特率(bits persecond,简称为bps)增大时,CPU利用率会增大;另一方面,当网口收到的报文数量增大时,即pps(packets per second)增大时,CPU利用率也会增大。相当于网口接收报文的个数和报文长度会同时影响到基站CPU的利用率。且相同带宽情况下,不同包长对应的不同pps与CPU利用率变化量间也存在近似线性的关系。因此,采用的方案为将各个包长条件下达到CPU利用率门限的pps记录下来,形成训练表,并且这张训练表能根据当前CPU的使用情况实时更新,当网口收包流量达到门限时,限制报文的接收,让报文不进入协议栈以上的上层软件空间,从而抑制基站CPU的利用率。另外,可以对报文进行分类,将重要的报文列为保护对象,即使基站处理能力达到极限,列为保护对象的报文也能优先得到处理,这样能保证基站基本功能的正常运作。需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。通过上述实施例,提供了一种报文接收方法及装置,通过监测基站网络报文处理相关任务对CPU消耗的水平,实现当前的网络任务对CPU资源的消耗水平动态调整网口收包门限,从而提高了基站在网络高负荷条件下的性能,本申请可以广泛应用于各种基站中,例如,WiMAX PICO基站采用本申请设计的网口限速策略,可以很好地平衡CPU利用率和网口带宽的关系,使基站在超负荷运转时,CPU利用率始终处于一个接近饱和的状态,有效地提闻了基站的性能。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种报文接收方法,其特征在于包括如下步骤 确定中央处理器CPU的利用率; 使用所述利用率确定接收报文的门限; 根据确定的所述门限接收报文。
2.根据权利要求I所述的方法,其特征在于,确定所述CPU的利用率包括 根据接收报文的网络吞吐量确定所述CPU用于处理所述接收到的报文所占用的CPU利用率。
3.根据权利要求I所述的方法,其特征在于,使用所述利用率确定报文的门限包括 根据预先在单位时间内统计的利用率与接收报文的长度和/或个数之间的对应关系确定所述门限。
4.根据权利要求3所述的方法,其特征在于,根据所述对应关系确定所述门限包括 使用所述个数和所述单位时间内统计的利用率通过所述对应关系分别确定对应于所述不同报文长度的一组门限。
5.根据权利要求4所述的方法,其特征在于,使用所述个数和所述单位时间内统计的利用率通过所述对应关系分别确定对应于所述不同报文长度的一组门限包括 使用所述个数和所述单位时间内统计的利用率通过所述对应关系分别确定对应于所述不同报文长度的多组门限; 所述一组门限中的每一个对应于长度的门限值为,所述多组中每组相应长度的门限的平均值。
6.根据权利要求4所述的方法,其特征在于,使用所述个数和所述单位时间内统计的利用率通过所述对应关系分别确定对应于所述不同报文长度的一组门限包括 使用所述个数和所述单位时间内统计的利用率通过所述对应关系分别确定对应于所述不同报文长度的多组门限; 确定所述多组对应于所述长度的门限中最后一组门限中任意一个门限所对应的CPU的利用率大于预定值; 计算所述多组中除了最后一组外其他组中每组相应长度的门限的几何平均值; 所述一组门限中的每一个对应于长度的门限值为,计算预定权值与所述最后一组门限的乘积之后与所述几何平均值的和得到的一组值。
7.根据权利要求4至6中任一项所述的方法,其特征在于,使用所述个数和所述单位时间内统计的利用率通过所述对应关系分别确定对应于所述不同报文长度的一组门限包括 使用如下公式分别确定对应于所述不同报文长度的一组门限PPS_b pps_b = k*pps_a*max_cpu/ Δ cpu,其中,k为调整值,且k为实数,pps_a为所述个数,max_cpu为预设的CPU的最大利用率,Acpu为所述单位时间内统计的利用率。
8.一种报文接收装置,其特征在于包括 第一确定模块,用于确定中央处理器CPU的利用率; 第二确定模块,用于使用所述利用率确定接收报文的门限; 接收模块,用于根据确定的所述门限接收报文。
9.根据权利要求8所述的装置,其特征在于,所述第一确定模块,用于根据接收报文的网络吞吐量确定所述CPU用于处理所述接收到的报文所占用的CPU利用率。
10.根据权利要求8所述的装置,其特征在于, 所述第二确定模块,用于根据预先在单位时间内统计的利用率与接收报文的长度和个数之间的对应关系确定所述门限。
全文摘要
本发明公开了报文接收方法及装置,该方法包括确定CPU的利用率;使用利用率确定接收报文的门限;根据确定的门限接收报文。通过本发明克服了相关技术中当基站网口接收报文的流量增大时,导致基站性能下降的问题,进而达到了提高基站性能的效果。
文档编号H04W28/10GK102821423SQ20111015434
公开日2012年12月12日 申请日期2011年6月9日 优先权日2011年6月9日
发明者郭军洪, 张施贤 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1