一种报文的采样方法和设备的制作方法

文档序号:7821417阅读:288来源:国知局
一种报文的采样方法和设备的制作方法
【专利摘要】本发明公开了一种报文的采样方法和设备,该方法包括:网络设备确定采样比数值以及所述采样比数值对应的采样比进制;所述网络设备每次接收到报文时,对所述报文进行计数;所述网络设备利用所述报文的计数结果、所述采样比数值、以及所述采样比进制,确定采样所述报文或者不采样所述报文。本发明实施例中,通过将采样比调整为采样比进制和采样比数值,从而可以保证采样误差在一个可控的范围内,采样误差比较小,而且使得采样比的配置比较灵活,并且采样比进制的粒度可以进行控制。
【专利说明】_种报文的采样方法和设备

【技术领域】
[0001]本发明涉及通信【技术领域】,尤其是涉及一种报文的采样方法和设备。

【背景技术】
[0002]在某些应用场景下,可能需要对流量进行统计。在对流量进行统计时,如果不需要对所有流量都进行统计,则可以对流量进行采样统计。采样统计的周期为采样比,采样比又称为采样周期。在利用采样比对流量进行采样统计时,硬件芯片需要在每个采样比内采样一个报文。当采用顺序采样方式对流量进行采样统计时,硬件芯片需要在每个采样比内采样第一个报文。
[0003]对于网络设备的硬件芯片来说,硬件芯片只支持固定的几个数值(如1、10、100、1000等)或者2的N(正整数)次幂做除数。基于此,用户可以将采样比设置为固定的几个数值或者2的N次幂,以使硬件芯片基于该采样比采样相应的报文。例如,假设用户将采样比设置为8,则硬件芯片需要在每8个报文中采样I个报文,如硬件芯片可以在每8个报文中米样第一个报文。
[0004]为了实现上述过程,硬件芯片每次接收到报文时,对报文进行计数,第I个报文的计数结果为0,第2个报文的计数结果为1,以此类推。当报文的计数结果除以采样比8的结果为O或正整数(如1、2、3等)时,硬件芯片采样该报文。因此,硬件芯片将采样第I个报文、第9个报文、第17个报文、以此类推。
[0005]在实际应用中,用户可以根据自身需要任意设置采样比的数值,即不一定会将采样比设置为固定的几个数值或者2的N次幂。当用户设置的采样比为硬件芯片不支持做除数的正整数时,则硬件芯片采样报文时会存在一定的采样误差。例如,当用户设置的采样比为1500时,由于硬件芯片不支持1500做除数,因此,硬件芯片需要将采样比由1500调整为1024或者2048,即硬件芯片在采样报文时,实际使用的采样比为1024或者2048,而不是1500。显然,硬件芯片在每1024或者2048个报文中采样I个报文,与用户希望的在每1500个报文中采样I个报文相比,存在一定的采样误差,无法达到用户的采样要求。


【发明内容】

[0006]本发明实施例提供一种报文的采样方法,所述方法包括以下步骤:
[0007]网络设备确定采样比数值以及所述采样比数值对应的采样比进制;
[0008]所述网络设备每次接收到报文时,对所述报文进行计数;
[0009]所述网络设备利用所述报文的计数结果、所述采样比数值、以及所述采样比进制,确定采样所述报文或者不采样所述报文。
[0010]所述网络设备确定采样比数值以及所述采样比数值对应的采样比进制的过程,具体包括:所述网络设备接收用户配置的多个采样进制组以及用户配置的采样比;其中,每个采样进制组内包括采样比阈值以及采样比进制;
[0011]所述网络设备利用多个采样进制组确定所述采样比对应的采样比阈值;
[0012]所述网络设备确定所述采样比数值为:所述采样比除以所述采样比阈值所在的采样进制组内包含的采样比进制,并确定所述采样比数值对应的采样比进制为:所述采样比阈值所在的采样进制组内包含的采样比进制。
[0013]各采样进制组内包括的采样比进制具体为:所述网络设备的硬件芯片支持的能够做除数的正整数。
[0014]所述网络设备利用所述报文的计数结果、所述采样比数值、以及所述采样比进制,确定采样所述报文或者不采样所述报文的过程,具体包括:
[0015]所述网络设备计算所述报文的计数结果除以所述采样比进制的第一结果,并判断所述第一结果是否为O或者正整数;
[0016]如果第一结果不是O或者正整数,则所述网络设备确定不采样所述报文;
[0017]如果第一结果是O或者正整数,则所述网络设备计算所述第一结果除以所述采样比数值的第二结果,并判断所述第二结果是否为O或者正整数;
[0018]如果第二结果不是O或者正整数,则所述网络设备确定不采样所述报文;
[0019]如果第二结果是O或者正整数,则所述网络设备确定采样所述报文。
[0020]所述方法进一步包括:
[0021]所述网络设备采用顺序采样方式对报文进行采样统计。
[0022]本发明实施例提供一种网络设备,所述网络设备具体包括:
[0023]确定模块,用于确定采样比数值以及所述采样比数值对应的采样比进制;
[0024]统计模块,用于在每次接收到报文时,对所述报文进行计数;
[0025]采样模块,用于利用所述报文的计数结果、所述采样比数值、以及所述采样比进制,确定采样所述报文或者不采样所述报文。
[0026]所述确定模块,具体用于接收用户配置的多个采样进制组以及用户配置的采样比;其中,每个采样进制组内包括采样比阈值以及采样比进制;
[0027]利用多个采样进制组确定所述采样比对应的采样比阈值;
[0028]确定所述采样比数值为:所述采样比除以所述采样比阈值所在的采样进制组内包含的采样比进制,并确定所述采样比数值对应的采样比进制为:所述采样比阈值所在的采样进制组内包含的采样比进制。
[0029]各采样进制组内包括的采样比进制具体为:所述网络设备的硬件芯片支持的能够做除数的正整数。
[0030]所述采样模块,具体用于计算所述报文的计数结果除以所述采样比进制的第一结果,并判断所述第一结果是否为O或者正整数;
[0031]如果第一结果不是O或者正整数,则确定不采样所述报文;
[0032]如果第一结果是O或者正整数,则计算所述第一结果除以所述采样比数值的第二结果,并判断所述第二结果是否为O或者正整数;
[0033]如果第二结果不是O或者正整数,则确定不采样所述报文;
[0034]如果第二结果是O或者正整数,则确定采样所述报文。
[0035]所述采样模块,具体用于采用顺序采样方式对报文进行采样统计。
[0036]基于上述技术方案,本发明实施例中,通过将采样比调整为采样比进制和采样比数值,从而可以保证采样误差在一个可控的范围内,采样误差比较小,而且使得采样比的配置比较灵活,并且采样比进制的粒度可以进行控制。

【专利附图】

【附图说明】
[0037]图1是本发明实施例提供的一种报文的采样方法流程示意图;
[0038]图2是本发明实施例提供的一种网络设备的结构示意图。

【具体实施方式】
[0039]针对现有技术中存在的问题,本发明实施例提供一种报文的采样方法,如图1所示,该报文的采样方法具体可以包括以下步骤:
[0040]步骤101,网络设备确定采样比数值以及采样比数值对应的采样比进制。
[0041]本发明实施例中,网络设备确定采样比数值以及采样比数值对应的采样比进制,具体包括但不限于如下方式:网络设备接收用户配置的多个采样进制组,并接收用户配置的采样比;每个采样进制组内包括采样比阈值以及采样比进制,且各采样进制组内包括的采样比进制具体为:网络设备的硬件芯片支持的能够做除数的正整数。之后,网络设备利用多个采样进制组确定采样比对应的采样比阈值。之后,网络设备确定采样比数值为:采样比除以该采样比阈值所在的采样进制组内包含的采样比进制,并确定采样比数值对应的采样比进制为:该采样比阈值所在的采样进制组内包含的采样比进制。
[0042]其中,用户可以在网络设备上配置多个采样进制组,每个采样进制组内包括采样比阈值和采样比进制,且各采样进制组内包括的采样比进制为网络设备的硬件芯片支持的能够做除数的正整数。例如,用户在网络设备上配置采样进制组1(采样比阈值为M1,采样比进制为Dl)、采样进制组2(采样比阈值为M2,采样比进制为D2)、采样进制组3(采样比阈值为M3,米样比进制为D3)、米样进制组4(米样比阈值为M4,米样比进制为D4)。
[0043]由于网络设备的硬件芯片支持固定的几个数值(如1、10、100、1000等)做除数,因此采样比进制Dl可以为I,采样比进制D2可以为10,采样比进制D3可以为100,采样比进制D4可以为1000。由于网络设备的硬件芯片支持2的N(正整数)次幂做除数,因此采样比进制DI可以为128,采样比进制D2可以为256,采样比进制D3可以为512,采样比进制D4可以为1024。
[0044]在实际应用中,基于网络设备的硬件芯片支持的做除数的数值,各采样进制组内的采样比进制,可以由用户根据实际情况在网络设备上任意设置。
[0045]用户在网络设备上配置采样进制组时,对于采样进制组I内的采样比阈值M1,用户可以根据实际经验设置,如将采样比阈值Ml设置为60、或80等。在一种具体实现方式中,用户可以根据网络设备的硬件芯片能力设置采样比阈值Ml的值。例如,当网络设备的硬件芯片能力为硬件芯片支持数值1-50做除数时,则设置采样比阈值Ml的值为50 ;当网络设备的硬件芯片能力为硬件芯片支持数值1-100做除数时,则设置采样比阈值Ml的值为100。
[0046]对于采样进制组2内的采样比阈值M2,用户可以根据采样比阈值M1、采样比进制D1、采样比进制D2确定,即采样比阈值M2 =采样比阈值Ml* (采样比进制D2/采样比进制Dl)o例如,当采样比进制Dl为1,采样比进制D2为10,采样比阈值Ml为100时,采样比阈值M2为1000。当采样比进制Dl为128,采样比进制D2为256,采样比阈值Ml为100时,采样比阈值M2为200。以此类推,采样进制组3内的采样比阈值M3,采样进制组4内的采样比阈值M4,其确定方式与采样比阈值M2的确定方式类似,在此不再赘述。
[0047]为了方便描述,在本发明实施例的后续处理过程中,以用户在网络设备上配置的采样进制组I内的采样比阈值Ml为100、采样比进制Dl为1,采样进制组2内的采样比阈值M2为1000、采样比进制D2为10,采样进制组3内的采样比阈值M3为10000、采样比进制D3为100,采样进制组4内的采样比阈值M4为100000、采样比进制D4为1000为例进行相关说明。
[0048]本发明实施例中,用户可以在网络设备上配置采样比,由网络设备接收用户配置的采样比。具体的,在实际应用中,用户可以根据自身需要任意设置采样比的数值,例如,用户可以在网络设备上配置采样比的数值为1500。
[0049]网络设备在接收到用户配置的多个采样进制组和用户配置的采样比后,可以利用多个采样进制组确定该采样比对应的采样比阈值。其中,当采样比小于等于采样进制组I内的采样比阈值Ml时,则采样比对应的采样比阈值为Ml ;当采样比大于采样比阈值Ml,且小于等于采样进制组2内的采样比阈值M2时,则采样比对应的采样比阈值为M2 ;当采样比大于采样比阈值M2,且小于等于采样进制组3内的采样比阈值M3时,则采样比对应的采样比阈值为M3 ;以此类推。例如,由于采样比1500大于采样比阈值M2 (1000),并且小于采样比阈值M3 (10000),因此,采样比1500对应的采样比阈值为M3。
[0050]由于采样比1500对应的采样比阈值为M3,因此网络设备确定采样比数值为采样比1500除以采样比阈值M3所在的采样进制组3内包含的采样比进制D3,即采样比数值为1500/100 = 15。网络设备确定采样比数值对应的采样比进制为采样比阈值M3所在的采样进制组3内包含的采样比进制D3(100)。
[0051]步骤102,网络设备每次接收到报文时,对当前收到的报文进行计数。
[0052]其中,在对报文进行计数时,网络设备接收到的第I个报文的计数结果为0,网络设备接收到的第2个报文的计数结果为1,以此类推。
[0053]步骤103,网络设备利用报文的计数结果、采样比数值、以及采样比数值对应的采样比进制,确定采样当前收到的报文或者不采样当前收到的报文。
[0054]本发明实施例中,网络设备在对报文进行采样统计时,网络设备可以采用顺序采样方式对报文进行采样统计。进一步的,当采用顺序采样方式对报文进行采样统计时,网络设备需要在每个采样比内采样第一个报文。
[0055]本发明实施例中,网络设备利用报文(即当前收到的报文)的计数结果、采样比数值、以及采样比数值对应的采样比进制,确定采样当前收到的报文或者不采样当前收到的报文的过程,具体包括但不限于如下方式:网络设备计算当前收到的报文的计数结果除以采样比进制的第一结果,并判断第一结果是否为O或者正整数;如果第一结果不是O或者正整数,则网络设备确定不采样当前收到的报文;如果第一结果是O或者正整数,则网络设备计算第一结果除以采样比数值的第二结果,并判断第二结果是否为O或者正整数;如果第二结果不是O或者正整数,则网络设备确定不采样当前收到的报文;如果第二结果是O或者正整数,则网络设备确定采样当前收到的报文。
[0056]例如,对于网络设备接收到的第I个报文,网络设备计算当前收到的报文的计数结果(O)除以采样比进制(100)的第一结果(O),由于第一结果为0,因此网络设备计算第一结果(O)除以采样比数值(15)的第二结果,由于第二结果为O,因此网络设备确定采样收到的第I个报文。对于网络设备接收到的第2个报文,网络设备计算当前收到的报文的计数结果⑴除以采样比进制(100)的第一结果(0.01),由于第一结果不是O或者正整数,因此网络设备确定不采样收到的第2个报文。以此类推,对于网络设备接收到的第101个报文,网络设备计算当前收到的报文的计数结果(100)除以采样比进制(100)的第一结果
(I),由于第一结果为正整数1,因此网络设备计算第一结果(I)除以采样比数值(15)的第二结果,由于第二结果为0.067,因此网络设备确定不采样收到的第101个报文。以此类推,对于网络设备接收到的第1501个报文,网络设备计算当前收到的报文的计数结果(1500)除以采样比进制(100)的第一结果(15),由于第一结果为正整数15,因此网络设备计算第一结果(15)除以采样比数值(15)的第二结果,由于第二结果为正整数1,因此网络设备确定采样收到的第1501个报文。以此类推,网络设备将采样收到的第I个报文、第1501个报文、第3001个报文等。
[0057]本发明实施例中,网络设备在确定采样比数值以及采样比数值对应的采样比进制后,网络设备会将该采样比数值和该采样比进制下发给本网络设备的硬件芯片,由本网络设备的硬件芯片执行上述步骤102和步骤103的处理。
[0058]基于上述处理,本发明实施例中,在硬件芯片对报文进行采样时,作为除数的数值为采样比进制和采样比数值。由于采样比进制为用户配置的网络设备的硬件芯片支持的能够做除数的正整数,因此采样比进制在做除数时不会导致采样误差。由于采样比数值等于采样比除以采样比进制,因此可以将采样比数值设定到一个比较小的数值。在一般情况下,网络设备的硬件芯片能够支持比较小的数值作为除数,即网络设备的硬件芯片支持采样比数值做除数,采样比数值在做除数时不会导致采样误差。即使网络设备的硬件芯片不支持采样比数值做除数,则由于采样比数值为一个比较小的数值(如15),因此采样比数值在做除数时所产生的误差也会比较小。例如,当采样比数值为15时,假设硬件芯片不支持15做除数,则硬件芯片需要将采样比数值由15调整为16,显然,采样比数值15与采样比数值16相比,采样误差很小。
[0059]综上所述,本发明实施例中,通过将采样比调整为采样比进制和采样比数值,从而可以保证采样误差在一个可控的范围内,采样误差比较小,而且使得采样比的配置比较灵活,并且采样比进制的粒度可以进行控制。
[0060]进一步的,本发明实施例中,通过配置合理的采样比进制,可以减少计算的复杂度。例如,当采样比进制为100时,在报文的计数结果不是100的整数倍时,硬件芯片不需要对该报文进行计算,硬件芯片可以直接确定不采样该报文。在报文的计数结果是100的整数倍时,硬件芯片才需要对该报文进行计算,即硬件芯片利用步骤103的处理方式确定采样报文或者不采样报文。显然,上述方式只需要对100的整数倍的报文计数结果进行计算,显著减少计算的复杂度,有利于硬件芯片的实现,并降低了硬件芯片的计算压力。
[0061]基于与上述方法同样的发明构思,本发明实施例还提供了一种网络设备,如图2所示,所述网络设备包括:确定模块11,用于确定采样比数值以及所述采样比数值对应的采样比进制;统计模块12,用于在每次接收到报文时,对所述报文进行计数;采样模块13,用于利用所述报文的计数结果、所述采样比数值、以及所述采样比进制,确定采样所述报文或者不采样所述报文。
[0062]所述确定模块11,具体用于接收用户配置的多个采样进制组以及用户配置的采样比;其中,每个采样进制组内包括采样比阈值以及采样比进制;利用多个采样进制组确定所述采样比对应的采样比阈值;确定所述采样比数值为:所述采样比除以所述采样比阈值所在的采样进制组内包含的采样比进制,并确定所述采样比数值对应的采样比进制为:所述采样比阈值所在的采样进制组内包含的采样比进制。进一步的,各采样进制组内包括的采样比进制具体为:所述网络设备的硬件芯片支持的能够做除数的正整数。
[0063]所述采样模块13,具体用于计算所述报文的计数结果除以所述采样比进制的第一结果,并判断所述第一结果是否为O或者正整数;如果第一结果不是O或者正整数,则确定不采样所述报文;如果第一结果是O或者正整数,则计算所述第一结果除以所述采样比数值的第二结果,并判断所述第二结果是否为O或者正整数;如果第二结果不是O或者正整数,则确定不采样所述报文;如果第二结果是O或者正整数,则确定采样所述报文。
[0064]所述采样模块13,具体用于采用顺序采样方式对报文进行采样统计。
[0065]其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
[0066]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
【权利要求】
1.一种报文的采样方法,其特征在于,所述方法包括以下步骤: 网络设备确定采样比数值以及所述采样比数值对应的采样比进制; 所述网络设备每次接收到报文时,对所述报文进行计数; 所述网络设备利用所述报文的计数结果、所述采样比数值、以及所述采样比进制,确定采样所述报文或者不采样所述报文。
2.如权利要求1所述的方法,其特征在于,所述网络设备确定采样比数值以及所述采样比数值对应的采样比进制的过程,具体包括: 所述网络设备接收用户配置的多个采样进制组以及用户配置的采样比;其中,每个采样进制组内包括采样比阈值以及采样比进制; 所述网络设备利用多个采样进制组确定所述采样比对应的采样比阈值; 所述网络设备确定所述采样比数值为:所述采样比除以所述采样比阈值所在的采样进制组内包含的采样比进制,并确定所述采样比数值对应的采样比进制为:所述采样比阈值所在的采样进制组内包含的采样比进制。
3.如权利要求2所述的方法,其特征在于,各采样进制组内包括的采样比进制具体为:所述网络设备的硬件芯片支持的能够做除数的正整数。
4.如权利要求1所述的方法,其特征在于, 所述网络设备利用所述报文的计数结果、所述采样比数值、以及所述采样比进制,确定采样所述报文或者不采样所述报文的过程,具体包括: 所述网络设备计算所述报文的计数结果除以所述采样比进制的第一结果,并判断所述第一结果是否为O或者正整数; 如果第一结果不是O或者正整数,则所述网络设备确定不采样所述报文; 如果第一结果是O或者正整数,则所述网络设备计算所述第一结果除以所述采样比数值的第二结果,并判断所述第二结果是否为O或者正整数; 如果第二结果不是O或者正整数,则所述网络设备确定不采样所述报文; 如果第二结果是O或者正整数,则所述网络设备确定采样所述报文。
5.如权利要求1-4任一所述的方法,其特征在于,所述方法进一步包括: 所述网络设备采用顺序采样方式对报文进行采样统计。
6.一种网络设备,其特征在于,所述网络设备具体包括: 确定模块,用于确定采样比数值以及所述采样比数值对应的采样比进制; 统计模块,用于在每次接收到报文时,对所述报文进行计数; 采样模块,用于利用所述报文的计数结果、所述采样比数值、以及所述采样比进制,确定采样所述报文或者不采样所述报文。
7.如权利要求6所述的网络设备,其特征在于, 所述确定模块,具体用于接收用户配置的多个采样进制组以及用户配置的采样比;其中,每个采样进制组内包括采样比阈值以及采样比进制; 利用多个采样进制组确定所述采样比对应的采样比阈值; 确定所述采样比数值为:所述采样比除以所述采样比阈值所在的采样进制组内包含的采样比进制,并确定所述采样比数值对应的采样比进制为:所述采样比阈值所在的采样进制组内包含的采样比进制。
8.如权利要求7所述的网络设备,其特征在于,各采样进制组内包括的采样比进制具体为:所述网络设备的硬件芯片支持的能够做除数的正整数。
9.如权利要求6所述的网络设备,其特征在于, 所述采样模块,具体用于计算所述报文的计数结果除以所述采样比进制的第一结果,并判断所述第一结果是否为O或者正整数; 如果第一结果不是O或者正整数,则确定不采样所述报文; 如果第一结果是O或者正整数,则计算所述第一结果除以所述采样比数值的第二结果,并判断所述第二结果是否为O或者正整数; 如果第二结果不是O或者正整数,则确定不采样所述报文; 如果第二结果是O或者正整数,则确定采样所述报文。
10.如权利要求6-9任一项所述的网络设备,其特征在于, 所述采样模块,具体用于采用顺序采样方式对报文进行采样统计。
【文档编号】H04L12/801GK104486207SQ201410710591
【公开日】2015年4月1日 申请日期:2014年11月28日 优先权日:2014年11月28日
【发明者】韩磊 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1