参数在线可控的基于自适应非线性抽样的业务流统计方法

文档序号:7701664阅读:179来源:国知局

专利名称::参数在线可控的基于自适应非线性抽样的业务流统计方法
技术领域
:本发明是一种参数在线可控的基于自适应非线性抽样的业务流统计方法,可以应用于高速宽带网络转发设备中以实现准确的业务流统计,属于业务流统计
技术领域

背景技术
:因特网经过不断地进化,已经发展成承载各种业务的通用通信基础设施,但是与此同时对因特网的监控和管理也变得越来越难。被动业务量测量(Passivetrafficmeasurement)可以提供丰富的网络状态信息,包括业务量矩阵,分组长度分布,业务量,会话持续时间等。这些信息对于网络计费,服务质量控制,网络安全等应用提供了很大的帮助。随着网络线速和业务流数目的增加,每流测量(per-flowmeasurement)成为一个巨大的挑战。一方面,网络线速的提高要求高速存储器,如SRAM;另一方面,业务流数目的增加要求大容量的存储器,如DRAM。但是目前市场上并不存在既大又快的存储器能同时满足业务流数目巨大的高速网络的要求。为了解决这一挑战,相关文献提出采用抽样的方法来解决。常用的抽样方法是静态抽样方法,它以固定概率p对到达分组进行抽样。假设真实的业务流大小为"个分组,计数器的计数值为"那么根据计数器的计数值反向估计值是5=^/^,其相对误差是V(1/P-1)/"。由此看出,当业务流较小时,相对误差将非常大。如果我们采用/7=0.1的抽样概率对大小为《=1的业务流进行抽样时,相对误差将达到300%。之前有发明提出自适应非线性抽样方法(胡成臣,刘斌,业务流的自适应非线性抽样统计方法,中国发明专利公开号CN101252485)及其装置(胡成臣,刘斌,基于自适应非线性抽样方法的每流分组数目统计装置,中国发明专利,公开号CN101252484),无论对于大流还是小流都可以提供精确的统计结果。但是上述方法和装置事先静态设定抽样参数,在保证计数器不溢出的情况下,只能按照最坏情况下固定参数,无法在线对抽样参数进行调整,在统计精度上有较大损失。本发明提出一种参数在线可控的基于自适应非线性抽样的业务流统计方法,可以数十倍地提升平均统计精度。
发明内容本发明提出一种参数在线可控的基于自适应非线性抽样的业务流统计方法。本发明的特征在于所述方法设立以下模块业务流分类模块,抽样模块,流号与计数器地址映射模块,计数模块,以及抽样概率计算模块,其中,业务流分类模块进行业务流头部和业务流号的映射,设有业务流的分组头部输入端,以及分类后的业务流号输出端;抽样模块设有来自业务流分类模块的业务流号输入端,去往流号与计数器地址映射模块的业务流号输出端,来自计数模块的计数器计数值的输入端,去往计数器模块的计数器地址,更新计数器指令和更新计数器值的输出端,来自所述抽样概率计算模块的抽样概率输入端,以及去往抽样概率计算模块的计数值输出端;流号与计数器地址映射模块按照流号进行业务流到相应计数器地址的映射,设有业务流号输入端,以及所连计数器模块的计数器地址输出端;计数模块是一组计数器,对不同业务流采用不同抽样概率尸(C)来统计业务流,设有计数器更新值输入端,计数器地址输入端,更新计数器指令输入端,以及计数值输出端,以便根据计数器的计数值来调整抽样概率/5。),其中C是计数器的计数值;抽样概率计算模块根据计数值c调整抽样概率的计算参数,获取抽样概率,设有计数器计数值的输入端和抽样概率的输出端,抽样概率P(c)计算公式是P(c)=~^~r。上述各个模块的连接关系如图1所示。该方法是在高速宽带网络转发设备中依次按照如下步骤实现的步骤(l),高速宽带网络转发设备初始化;参数a初始值为0;步骤(2),依次按以下步骤进行业务流统计步骤(2.D,所述业务流分类模块对输入的分组先进行分类,并赋予不同业务流以不同的业务流号,步骤(2.2),所述抽样模块把从所述业务流分类模块获取的业务流号送往所述流号与计数器地址映射模块,该流号与计数器地址映射模块根据流号与计数器地址映射表得到计数器地址,送往所述抽样模块,步骤(2.3),所述抽样模块把获取的计数器地址送往所述计数模块,该计数模块将此时的计数器计数值c送往所述抽样模块,步骤(2.4),所述抽样模块把获取的计数器计数值送往所述抽样概率计算模块,如果计数器值溢出,即到达计数空间的最大值,则跳转到步骤(2.5);否则,该抽样概率计算模块按下式计算收到的计数值c对应的抽样概率Ac)并送往抽样模块,^(。=^"^;跳转到歩骤(2.6);步骤(2.5),如果所述计数器的值溢出,则首先通过求解以下方程来得到^,将参数a增加到a,:K=R,其中A=V(1—1/")"/2;e2=^(l-l/)o2/2;A=[(l+a)c-52=[(l+a2)c-l]/a2.上述等式中^R,^^,A为中间变量,0<£_^1是预设常量;然后按照下式调整计数器的值,将其从c变为^之后回到步骤(2.4)f「X"]浪概率(X—「X])。c2《」「,;Z=log{,[(l+a)c-l]+l}/log(l+a2)1「X]—1;按概率1-(X—「义])"。,」,S、^步骤(2.6),所述抽样模块按照获得的概率,(c)决定是否对所述计数模块中的计数器进行更新,按照概率Ac)将计数器的值c加一并更新计数器的计数值,按照概率1—尸(C)保持原有的计数器计数值;步骤(3),在统计时间完成之后,抽样模块按照下式获取业务流大小的估计值,"/(0=[(1+<-1]/"。流程图如图2所示。倍至上百倍的提升。假设我们测量一个满负荷工作的OC-48(2.5Gbps)链路,测量的时间窗口是一分钟。我们一共生成了2种服从不同业务流大小分布的业务流量Pareto分布,其形状(shape)参数为1.053,标度(scale)参数为4;指数分布,其位置参数为500(即平均业务流大小为500)。另外,我们还选用了OC-192链路下的真实的业务流量进行实验。和ANLS[1][2]比较,本发明的相对误差可以提升70至370倍不等,如下表所示。<table>tableseeoriginaldocumentpage9</column></row><table>图1:模块连接关系图。图2:流程图。图3:计数空间随着参数a的变化而变化的曲线。图4:相对误差随着参数a的变化而变化的曲线。图5:计数空间和相对误差的均衡点示意。具体实施方式实施例l如果用4bit表示a的参数取值标识,用12bit标识计数器的大小,可以计算得到在计数器溢出后需要调整a,以及相应的计数空间和相对误差如下表所示我们合成了不同分布的业务流量。假设我们测量一个满负荷工作的OC-48(2.5Gbps)链路,测量的时间窗口是一分钟。我们一共生成了2种服从不同业务流大小分布的业务流量Pareto分布,其形状(shape)参数为1.053,标度(scale)参数为4;指数分布,其位置参数为500(即平均业务流大小为500)。另外,我们还选用了OC-192链路下的真实的业务流量进行实验。和ANLS[1][2]比较,本发明的相对误差可以提升70至370倍不等,如下表所示。<table>tableseeoriginaldocumentpage10</column></row><table>权利要求1.参数在线可控的基于自适应非线性抽样的业务流统计方法,其特征在于所述方法设立以下模块业务流分类模块,抽样模块,流号与计数器地址映射模块,计数模块,以及抽样概率计算模块,其中,业务流分类模块,进行业务流头部和业务流号的映射,设有业务流的分组头部输入端,以及分类后的业务流号输出端;抽样模块,设有来自业务流分类模块的业务流号输入端,去往流号与计数器地址映射模块的业务流号输出端,来自计数模块的计数器计数值的输入端,去往计数器模块的计数器地址,更新计数器指令和更新计数器值的输出端,来自所述抽样概率计算模块的抽样概率输入端,以及去往抽样概率计算模块的计数值输出端;流号与计数器地址映射模块,按照流号进行业务流到相应计数器地址的映射,设有业务流号输入端,以及所连计数器模块的计数器地址输出端;计数模块,是一组计数器,对不同业务流采用不同抽样概率P(c)来统计业务流,设有计数器更新值输入端,计数器地址输入端,更新计数器指令输入端,以及计数值输出端,以便根据计数器的计数值来调整抽样概率P(c),其中c是计数器的计数值;抽样概率计算模块,根据计数值c调整抽样概率的计算参数,获取抽样概率,设有计数器计数值的输入端和抽样概率的输出端,抽样概率P(c)计算公式是<mathsid="math0001"num="0001"><math><![CDATA[<mrow><mi>P</mi><mrow><mo>(</mo><mi>c</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><msup><mrow><mo>(</mo><mn>1</mn><mo>+</mo><mi>a</mi><mo>)</mo></mrow><mrow><mi>c</mi><mo>-</mo><mn>1</mn></mrow></msup></mfrac><mo>,</mo></mrow>]]></math>id="icf0001"file="A2009100895020002C1.tif"wi="28"he="9"top="227"left="26"img-content="drawing"img-format="tif"orientation="portrait"inline="yes"/></maths>其中a是抽样参数;该方法是在高速宽带网络转发设备中依次按照如下步骤实现的步骤(1),高速宽带网络转发设备初始化;参数a初始值为0;步骤(2),依次按以下步骤进行业务流统计步骤(2.1),所述业务流分类模块对输入的分组先进行分类,并赋予不同业务流以不同的业务流号,步骤(2.2),所述抽样模块把从所述业务流分类模块获取的业务流号送往所述流号与计数器地址映射模块,该流号与计数器地址映射模块根据流号与计数器地址映射表得到计数器地址,送往所述抽样模块,步骤(2.3),所述抽样模块把获取的计数器地址送往所述计数模块,该计数模块将此时的计数器计数值c送往所述抽样模块,步骤(2.4),所述抽样模块把获取的计数器计数值送往所述抽样概率计算模块,如果计数器值溢出,即到达计数空间的最大值,则跳转到步骤(2.5);否则,该抽样概率计算模块按下式计算收到的计数值c对应的抽样概率P(c)并送往抽样模块,<mathsid="math0002"num="0002"><math><![CDATA[<mrow><mi>P</mi><mrow><mo>(</mo><mi>c</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><msup><mrow><mo>(</mo><mn>1</mn><mo>+</mo><mi>a</mi><mo>)</mo></mrow><mrow><mi>c</mi><mo>-</mo><mn>1</mn></mrow></msup></mfrac><mo>;</mo></mrow>]]></math>id="icf0002"file="A2009100895020003C1.tif"wi="29"he="9"top="161"left="46"img-content="drawing"img-format="tif"orientation="portrait"inline="yes"/></maths>跳转到步骤(2.6);步骤(2.5),如果所述计数器的值溢出,则首先通过求解以下方程来得到a2,将参数a增加到a2Ub=Ue,其中<mathsid="math0003"num="0003"><math><![CDATA[<mrow><msub><mi>U</mi><mi>e</mi></msub><mo>=</mo><mfrac><mrow><msub><mi>E</mi><mi>max</mi></msub><mo>-</mo><msub><mi>e</mi><mn>2</mn></msub></mrow><mrow><msub><mi>E</mi><mi>max</mi></msub><mo>-</mo><msub><mi>e</mi><mn>1</mn></msub></mrow></mfrac><mo>;</mo></mrow>]]></math></maths><mathsid="math0004"num="0004"><math><![CDATA[<mrow><msub><mi>e</mi><mn>1</mn></msub><mo>=</mo><msqrt><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mn>1</mn><mo>/</mo><mi>n</mi><mo>)</mo></mrow><mi>a</mi><mo>/</mo><mn>2</mn></msqrt><mo>;</mo></mrow>]]></math></maths><mathsid="math0005"num="0005"><math><![CDATA[<mrow><msub><mi>e</mi><mn>2</mn></msub><mo>=</mo><msqrt><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mn>1</mn><mo>/</mo><mi>n</mi><mo>)</mo></mrow><msub><mi>a</mi><mn>2</mn></msub><mo>/</mo><mn>2</mn></msqrt><mo>;</mo></mrow>]]></math></maths><mathsid="math0006"num="0006"><math><![CDATA[<mrow><msub><mi>U</mi><mi>b</mi></msub><mo>=</mo><mfrac><mrow><msub><mi>B</mi><mn>2</mn></msub><mo>-</mo><msub><mi>B</mi><mn>1</mn></msub></mrow><msub><mi>B</mi><mn>2</mn></msub></mfrac><mo>;</mo></mrow>]]></math></maths>B1=[(1+a)c-1]/a;B2=[(1+a2)c-1]/a2.上述等式中Ub,Ue,e1,e2,B1,B2为中间变量,0<Emax≤1是预设常量;然后按照下式调整计数器的值,将其从c变为c2之后回到步骤(2.4)id="icf0007"file="A2009100895020004C1.tif"wi="64"he="13"top="38"left="22"img-content="drawing"img-format="tif"orientation="portrait"inline="yes"/><mathsid="math0007"num="0007"><math><![CDATA[<mrow><mi>X</mi><mo>=</mo><mi>log</mi><mo>{</mo><mfrac><msub><mi>a</mi><mn>2</mn></msub><mi>a</mi></mfrac><mo>[</mo><msup><mrow><mo>(</mo><mn>1</mn><mo>+</mo><mi>a</mi><mo>)</mo></mrow><mi>c</mi></msup><mo>-</mo><mn>1</mn><mo>]</mo><mo>+</mo><mn>1</mn><mo>}</mo><mo>/</mo><mi>log</mi><mrow><mo>(</mo><mn>1</mn><mo>+</mo><msub><mi>a</mi><mn>2</mn></msub><mo>)</mo></mrow></mrow>]]></math>id="icf0008"file="A2009100895020004C2.tif"wi="66"he="4"top="42"left="91"img-content="drawing"img-format="tif"orientation="portrait"inline="yes"/></maths>步骤(2.6),所述抽样模块按照获得的概率P(c)决定是否对所述计数模块中的计数器进行更新,按照概率P(c)将计数器的值c加一并更新计数器的计数值,按照概率1-P(c)保持原有的计数器计数值;步骤(3),在统计时间完成之后,抽样模块按照下式获取业务流大小的估计值,<mathsid="math0008"num="0008"><math><![CDATA[<mrow><mover><mi>n</mi><mo>^</mo></mover><mo>=</mo><mi>f</mi><mrow><mo>(</mo><mi>c</mi><mo>)</mo></mrow><mo>=</mo><mo>[</mo><msup><mrow><mo>(</mo><mn>1</mn><mo>+</mo><mi>a</mi><mo>)</mo></mrow><mi>c</mi></msup><mo>-</mo><mn>1</mn><mo>]</mo><mo>/</mo><mi>a</mi><mo>.</mo></mrow>]]></math></maths>全文摘要参数在线可控的基于自适应非线性抽样的业务流统计方法属于业务流统计
技术领域
。其特征在于,在高速宽带网络转发设备对每一个业务流进行分类后,用计数器来抽样统计业务流,根据计数器的计数值来调整抽样概率,同时,对于根据计数器的占用情况调整计算抽样概率函数的参数,在给定计数器空间的情况下最小化统计误差。文档编号H04L12/26GK101616036SQ20091008950公开日2009年12月30日申请日期2009年7月21日优先权日2009年7月21日发明者斌刘,胡成臣申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1