[发明专利]一种基于小流过滤的高精度大象流识别架构在审
| 申请号: | 202111133405.9 | 申请日: | 2021-09-27 |
| 公开(公告)号: | CN113872883A | 公开(公告)日: | 2021-12-31 |
| 发明(设计)人: | 罗可;周国徽;熊兵 | 申请(专利权)人: | 长沙理工大学 |
| 主分类号: | H04L12/851 | 分类号: | H04L12/851 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 410114 湖南省*** | 国省代码: | 湖南;43 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 流过 高精度 大象 识别 架构 | ||
1.一种基于小流过滤的高精度大象流识别架构,其特征在于,包括:
金字塔过滤器,用于过滤老鼠流及初步记录大象流的数据包数量,以持续过滤老鼠流的数据包,并为哈希链表中的流替换提供关键包数量信息;所述金字塔过滤器由多层桶向量组成,且没层的桶数量从底层往上逐级减半,形似金字塔结构;其中,每相邻的两个向量中的桶存在一定的上下父子关系,且过滤器将定期更新最底层桶中的计数器和标志位;
所述桶由一个计数器和左标志位、右标志位构成;具体来说,最底层桶中的左标志位代表计数器在上个周期发生溢出,右标志位代表计数器在当前周期发生溢出;对于其余层的混合计数器,左标志位代表左孩子计数器有进位,右标志位代表右孩子计数器有进位;
所述父子关系具体为上一层中的第一个桶是下一层中第一和第二个桶的父亲,下一层中第一和第二个桶则分别为父亲的左、右孩子,而上一层中的第二个桶是下一层中第三和第四个桶的父亲,依次类推,形似二叉树中父子关系;
哈希链表,用于存储大象流信息,精确统计大象流的数据包数量,并包含重定位操作和哈希链表数据结构;
所述重定位是指当流映射到的哈希位置无查找结果或不可再插入时,将重新定位到备选位置,且备选位置可有多个;
所述哈希链表是指长度为R的哈希表,且哈希表上的每个哈希位置可链接一条链表;所述的哈希表由R个哈希桶组成,每个哈希桶对应一个重定位标志位,且桶中可存储C条流项;所述重定位标志位用于判断映射到该哈希位置的流是否需要重定位;所述链表则为由节点是可存储C条流项的哈希桶组成的单链表;所述流项包含流标识符信息和其包数量计数器。
2.一种基于权利要求1所述架构的方法,其特征在于,包括以下步骤:
所述金字塔过滤器在数据包到达时,首先通过哈希运算定位到最底层向量中d个位置的桶,然后递增其中计数器值,当计数器发生溢出时,则向上进位,并将计数器重置为0,计数器的右标志位置为1;同时,若d个桶中的右标志位都为1时,允许该数据包进入哈希链表;此外,当测量一定数量的数据包后,将更新最底层桶中的计数器和标志位;
所述的进位是指在左孩子桶中的计数器发生溢出时,将重置左孩子的计数器值,并将父左标志位置为1,同时将父桶中的计数器加1;当右孩子桶中的计数器发生溢出时,将重置右孩子的计数器值,同时将父桶中的计数器加1,并将父右标志位置为1;若父计数器也发生溢出,则再次进位;
所述哈希链表可通过扩增每个哈希位置上链表的节点以适应大象流数量的增长;但是,当某个哈希位置上的链表长度达到阈值Ta时,将不再扩增链表上的节点,以均衡查询长度和查找性能;再者,当某个哈希位置上的流都大于阈值Tb,且链表长度达到阈值Ta时,将进行重定位哈希位置,选择备选位置进行查询和插入,均衡每个哈希位置上链表的长度。
3.根据权利要求2所述的方法,其特征在于,所述Top-k流识别架构包括如下操作:
a、金字塔过滤器的插入
数据包到达时,首先通过哈希运算定位到最底层向量中d个位置的桶,然后递增其中计数器值最小的计数器,当计数器发生溢出时,则向上进位,并将计数器重置为0,计数器的右标志位置为1;同时,若d个桶中的左标志位或右标志位都为1时,允许该数据包进入哈希表;
其中的进位是指当左孩子桶中的计数器发生溢出时,将重置左孩子的计数器值,并将父左标志位置为1,同时将父桶中的计数器加1;当右孩子桶中的计数器发生溢出时,将重置右孩子的计数器值,同时将父桶中的计数器加1,并将父右标志位置为1;若父计数器也发生溢出,则再次进位;
b、金字塔过滤器的查询
当通过哈希运算定位到最底层向量中某一个位置的桶时,然后逐级向上计算每层向量中记录的包数量,并求和作为一个查询值,若映射到多个位置,则将最小查询值作为最终查询值;
c、金字塔最底层中计数器与标志位的更新
当过滤器处理一定数量的数据包后,将更新金字塔中最底层的计数器与标志位,以持续过滤老鼠流;具体来说,将右标志位的值赋值给左标志位,然后将右标志位和计数器重置为0;
d、哈希链表的插入
所述哈希链表可通过扩增每个哈希位置上链表的节点以适应大象流数量的增长;但是,当某个哈希位置上的链表长度达到阈值Ta时,将不再扩增链表上的节点,以均衡查询长度和查找性能;再者,当某个哈希位置上的流都大于阈值Tb,且链表长度达到阈值Ta时,将进行重定位哈希位置,选择备选位置进行查询和插入,均衡每个哈希位置上链表的长度;
所述哈希链表在数据包进入时,通过哈希运算定位到哈希表上的一个哈希位置,并根据重定位标志位进行不同的查询策略;其一,当重定位标志位为0时,若查找成功,则将该流的计数器加1,否则,依据哈希桶及链表中流的大小和链表长度判断是否扩长链表以存储新流;其中,若扩长链表,则可将新流插入空位,否则选出小于阈值Tb的最小流,采用概率替换最小流;并且,当链表中的所有流都大于阈值Tb,且链表达到了一定长度,则将该哈希位置的重定位标志位置为1,并重定位到下一个查询位置进行查询;其二,当重定位标志位为1时,若查找成功,则将该流的计数器加1,否则,重定位到下一个哈希位置,重复以上查询过程,但限制重定位次数;
e、哈希链表中的流替换
当一条流F到达时,在首选哈希桶和所有备选哈希桶位置中都无法查找到该流,且需要替换首选和备选哈希位置中的最小流时;首先,记最小流的包数量为Cmin,并随机产生一个0到1之间的实数P,然后判断1/(Cmin+1)是否大于P;若大于,则从金字塔过滤器中查询流F的包数量CF,且当CF大于Cmin时,将最小力替换为流F,并将流F的包数量设置为Cmin+1;
f、哈希链表的大象流报告
遍历哈希链表中的所有流项,并将流大小大于预设设定阈值的流判定为大象流,并将这些大象流向服务器报告。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于长沙理工大学,未经长沙理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111133405.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:多媒体文件的获取方法和获取装置
- 下一篇:防护装备





