当前位置: 首页 > 专利查询>清华大学专利>正文

流量统计方法及装置制造方法及图纸

技术编号:10369484 阅读:148 留言:0更新日期:2014-08-28 12:18
本发明专利技术提供一种流量统计方法及装置,其中,所述方法包括:解析待处理的网络流,获取第一计数值c和第一分组字节数l;根据预设的第一字节数表,获取所述第一分组字节数l对应的的值;若所述第一计数值c大于等于所述的值,则确定第一中间值pA和第二中间值pB的大小;若第一中间值pA大于等于所述第二中间值pB,则将所述第一计数值c增加1,获得累计所述网络流的第二计数值c'。上述方法能够实现在高速网络中快速准确的统计各设备的网络流量。

【技术实现步骤摘要】
流量统计方法及装置
本专利技术涉及计算机技术,尤其涉及一种流量统计方法及装置。
技术介绍
目前,互联网中网络测量对于互联网的计费、规划和安全等都非常重要,可保证互联网的有序发展。基于网络流的测量是网络测量中的一种重要技术。网络流为在两个设备之间的具有一定共同特征(如相同五元组)的单向或双向的一系列数据包。基于网络流的被动测量(passivetrafficmeasurement)是网络流测量的一个分支。现有技术中,可在互联网的任一设备中设置流量测量装置实现对网路流的测量。业内人士提出了非线性采样流量统计算法对网络流的大小(即网络流的分组个数)和容量(即网络流的字节数)进行测量。非线性采样流量统计算法是一种用于流长度统计的概率计数算法。该算法分为两个部分:计数器更新部分和反向估计部分。然而,在计数器更新部分需要采用高精度的浮点运算方式,在低速网络中采用浮点运算还能够得到有效的测量结果,但是在高速网络中采用浮点运算需要较长的时间,且无法得到有效的测量结果,导致对网络流的估计不准确。
技术实现思路
本专利技术提供一种流量统计方法及装置,用于实现在高速网络中快速准确的统计各设备的网络流量。第一方面,本专利技术提供一种流量统计方法,包括:解析待处理的网络流,获取第一计数值c和第一分组字节数l;根据预设的第一字节数表,获取所述第一分组字节数l对应的的值;若所述第一计数值c大于等于所述的值,则确定第一中间值pA和第二中间值pB的大小;若第一中间值pA大于等于所述第二中间值pB,则将所述第一计数值c增加1,获得累计所述网络流的第二计数值c'。可选地,所述方法还包括:若所述第一中间值pA小于所述第二中间值pB,则将所述第一计数值c作为累计所述网络流的第二计数值c'。可选地,若所述第一计数值c大于等于所述的值,则确定第一中间值pA和第二中间值pB的大小,包括:根据下述的公式一和公式二分别确定第一中间值pA和第二中间值pB;pA=l公式一;pB=[f(c+1)-f(c)]×m公式二;其中,l为第一分组字节数,f(c)为根据所述第一计数值c、从预设的第一计数值表中查找获取,f(c+1)为根据所述第一计数值c+1从预设的第一计数值表中查找获取,m为伪随机数,且m为32位的正数。可选地,所述方法还包括:若所述第一计数值c小于所述的值,则确定第一中间值pA和第二中间值pB的大小;所述确定第一中间值pA和第二中间值pB的大小,包括:根据下述的公式三和公式四确定第一中间值pA和第二中间值pB;pA=l+f(c)-f(logbz+(e-8)logb2-1)公式三;pB=[f(logbz+(e-8)logb2)-f(logbz+(e-8)logb2-1)]×m公式四;其中,l为第一分组字节数,b=1+1/256;f(c)为根据所述第一计数值c从预设的第一计数值表中查找获取;f(logbz+(e-8)logb2)为根据logbz+(e-8)logb2的值从预设的第一计数值表中查找获取;为根据logbz+(e-8)logb2-1的值从预设的第一计数值表中f(logbz+(e-8)logb2-1)查找获取;m为伪随机数,且m为32位的正数;logbz的值为根据z值从预设的第一字节数表中查找获取;(e-8)logb2的值为根据e值从预设的第二字节数表查找获取;z=l+f(c)+1/(b-1)公式五;若根据所述公式五获得的z值小于1024,则e为0,则将z值和e值分别作为最终使用的z值和e值;若根据所述公式五获得的z值大于等于1024,则将所述z值转换为无符号二进制数,并对所述无符号二进制数进行右移的移位运算,直至移位运算后的无符号二进制数对应的z值小于1024,则将移位运算后的无符号二进制数对应的小于1024的z值作为最终使用的z值;以及对所述无符号二进制数进行右移的移位运算时,所述无符号二进制数每进行右移的移位运算一次,所述e在起始值上增加1,所述e的起始值为0,直至移位运算后的无符号二进制数对应的z值小于1024时,得到的e值作为最终使用的e值;相应地,若第一中间值pA大于等于所述第二中间值pB,则根据下述的公式六获得累计所述网络流的第二计数值c',c'=logbz+(e-8)logb2公式六。可选地,所述方法还包括:若所述第一中间值pA小于所述第二中间值pB,则根据下述的公式七,获得累计所述网络流的第二计数值c',c'=logbz+(e-8)logb2-1公式七。可选地,所述方法还包括:封装所述网络流的第二计数值c',并将封装的第二计数值c'输出。可选地,所述预设的第一计数值表根据下述的公式八获取;公式八;其中,b=1+1/256。第二方面,本专利技术提供一种流量统计装置,包括:第一处理单元,用于解析待处理的网络流,获取第一计数值c和第一分组字节数l;第二处理单元,用于根据预设的第一字节数表,获取所述第一分组字节数l对应的的值;判断单元,用于判断所述第一计数值c和所述的值的大小,在所述第一计数值c大于等于所述的值时,判断第一中间值pA和第二中间值pB的大小;获取单元,用于在所述判断单元确定第一中间值pA大于等于所述第二中间值pB,则将所述第一计数值c增加1,获得累计所述网络流的第二计数值c'。可选地,所述获取单元,还用于在所述判断单元确定第一中间值pA小于所述第二中间值pB,则将所述第一计数值c作为累计所述网络流的第二计数值c'。可选地,判断单元,具体用于在确定所述第一计数值c大于等于所述的值时,根据下述的公式一和公式二分别确定第一中间值pA和第二中间值pB;pA=l公式一;pB=[f(c+1)-f(c)]×m公式二;其中,l为第一分组字节数,f(c)为根据所述第一计数值c、从预设的第一计数值表中查找获取,f(c+1)为根据所述第一计数值c+1从预设的第一计数值表中查找获取,m为伪随机数,且m为32位的正数;在确定所述第一计数值c小于所述的值时,根据下述的公式三和公式四确定第一中间值pA和第二中间值pB;pA=l+f(c)-f(logbz+(e-8)logb2-1)公式三;pB=[f(logbz+(e-8)logb2)-f(logbz+(e-8)logb2-1)]×m公式四;其中,l为第一分组字节数,b=1+1/256;f(c)为根据所述第一计数值c从预设的第一计数值表中查找获取;f(logbz+(e-8)logb2)为根据logbz+(e-8)logb2的值从预设的第一计数值表中查找获取;f(logbz+(e-8)logb2-1)为根据logbz+(e-8)logb2-1的值从预设的第一计数值表中查找获取;m为伪随机数,且m为32位的正数;logbz的值为根据z值从预设的第一字节数表中查找获取;(e-8)logb2的值为根据e值从预设的第二字节数表查找获取;z=l+f(c)+1/(b-1)公式五;若根据所述公式五获得的z值小于1024,则e为0,则将z值和e值分别作为最终使用的z值和e值;若根据所述公式五获得的z值大于等于1024,则将所述z值转换为无符号二进制数,并对所述无符号二进制数进行右移的移位运算,直至移位运算后的无符号二进制数对应的z值小于1024,则将移位运算后的无符号二进制数对应的小于1024的z值作为最终使用的z值;以及对所述无符本文档来自技高网...
流量统计方法及装置

【技术保护点】
一种流量统计方法,其特征在于,包括:解析待处理的网络流,获取第一计数值c和第一分组字节数l;根据预设的第一字节数表,获取所述第一分组字节数l对应的的值;若所述第一计数值c大于等于所述的值,则确定第一中间值pA和第二中间值pB的大小;若第一中间值pA大于等于所述第二中间值pB,则将所述第一计数值c增加1,获得累计所述网络流的第二计数值c'。

【技术特征摘要】
1.一种流量统计方法,其特征在于,包括:解析待处理的网络流,获取第一计数值c和第一分组字节数l;第一计数值指的是完成对该网络流上一次统计后更新得到的计数器值,第一分组字节数为当前到达的需要统计的属于该网络流的数据包字节数;根据预设的第一字节数表,获取所述第一分组字节数l对应的的值;若所述第一计数值c大于等于所述的值,则确定第一中间值pA和第二中间值pB的大小;若第一中间值pA大于等于所述第二中间值pB,则将所述第一计数值c增加1,获得累计所述网络流的第二计数值c';根据下述的公式一和公式二分别确定第一中间值pA和第二中间值pB;pA=l公式一;pB=[f(c+1)-f(c)]×m公式二;其中,l为第一分组字节数,f(c)为根据所述第一计数值c从预设的第一计数值表中查找获取,f(c+1)为根据所述第一计数值c+1从预设的第一计数值表中查找获取,m为伪随机数,且m为32位的正数;所述预设的第一计数值表根据下述的公式八获取;其中,b=1+1/256;若所述第一中间值pA小于所述第二中间值pB,则将所述第一计数值c作为累计所述网络流的第二计数值c';若所述第一计数值c小于所述的值,则确定第一中间值pA和第二中间值pB的大小;所述确定第一中间值pA和第二中间值pB的大小,包括:根据下述的公式三和公式四分别确定第一中间值pA和第二中间值pB;pA=l+f(c)-f(logbz+(e-8)logb2-1)公式三;pB=[f(logbz+(e-8)logb2)-f(logbz+(e-8)logb2-1)]×m公式四;其中,l为第一分组字节数,b=1+1/256;f(c)为根据所述第一计数值c从预设的第一计数值表中查找获取;f(logbz+(e-8)logb2)为根据logbz+(e-8)logb2的值从预设的第一计数值表中查找获取;f(logbz+(e-8)logb2-1)为根据logbz+(e-8)logb2-1的值从预设的第一计数值表中f(logbz+(e-8)logb2-1)查找获取;m为伪随机数,且m为32位的正数;logbz的值为根据z值从预设的第一字节数表中查找获取;(e-8)logb2的值为根据e值从预设的第二字节数表查找获取;z=l+f(c)+1/(b-1)公式五;若根据所述公式五获得的z值小于1024,则e为0,则将z值和e值分别作为最终使用的z值和e值;若根据所述公式五获得的z值大于等于1024,则将所述z值转换为无符号二进制数,并对所述无符号二进制数进行右移的移位运算,直至移位运算后的无符号二进制数对应的z值小于1024,则将移位运算后的无符号二进制数对应的小于1024的z值作为最终使用的z值;以及对所述无符号二进制数进行右移的移位运算时,所述无符号二进制数每进行右移的移位运算一次,所述e在起始值上增加1,所述e的起始值为0,直至移位运算后的无符号二进制数对应的z值小于1024时,得到的e值作为最终使用的e值;相应地,若第一中间值pA大于等于所述第二中间值pB,则根据下述的公式六获得累计所述网络流的第二计数值c',c'=logbz+(e-8)logb2公式六;若所述第一中间值pA小于所述第二中间值pB,则根据下述的公式七,获得累计所述网络流的第二计数值c',c'=logbz+(e-8)logb2-1公式七。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:封装所述网络流的第二计数值c',并将封装的第二计...

【专利技术属性】
技术研发人员:黎阳武昊汪漪刘斌
申请(专利权)人:清华大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1