[发明专利]一种用于高速大规模并发数据流的数据流表处理方法及装置有效
申请号: | 202010305885.1 | 申请日: | 2020-04-17 |
公开(公告)号: | CN111541617B | 公开(公告)日: | 2021-11-02 |
发明(设计)人: | 张进;杨盾;裴学武;江逸茗;卜佑军;马海龙;伊鹏 | 申请(专利权)人: | 网络通信与安全紫金山实验室 |
主分类号: | H04L12/743 | 分类号: | H04L12/743;H04L12/747;H04L12/741 |
代理公司: | 江苏圣典律师事务所 32237 | 代理人: | 苏一帜 |
地址: | 211111 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 高速 大规模 并发 数据流 处理 方法 装置 | ||
本发明实施例公开了一种用于高速大规模并发数据流的数据流表处理方法及装置,涉及网络通信技术领域,能够避免在高速网络中由于数据流表操作时间的不确定,降低报文处理时延,以及缓减丢包的问题。本发明包括:根据待插入数据流的数据流标识,获取指纹表中的候选桶的地址和数据流指纹;检测指纹表的候选桶是否存在非空单元,若存在非空单元,则选择存在空闲单元的一个候选桶作为目标桶;从目标桶的底部单元向顶部单元依次查询空单元,当查询到目标桶中的空单元时,将待插入数据流的数据流指纹写入查询到的空单元,并将待插入数据流的流记录写入与候选桶对应的记录桶。本发明适用于高速大规模并发数据流的场景。
技术领域
本发明涉及网络通信技术领域,属于高速大规模并发数据流的流表设计与实现,尤其提供一种用于高速大规模并发数据流的数据流表处理方法及装置。
背景技术
目前网络通信技术方案中所使用的数据流表,其主要作用是存储网络中每条数据流的状态信息,是实现报文转发、流量分类、网络入侵检测、网络流量与用户行为分析、网络地址转换、流量计费等网络功能所需的基本组件之一,数据流表的处理效率对于上述网络功能实际性能有着非常重要的影响。
当前,随着云计算和网络功能虚拟化(NFV)技术的快速发展,基于通用服务器平台,利用软件实现高性能的网络功能成为业界关注的热点之一。随着网络链路速率的飞速提升,网络中并发数据流的数量日益增大,每个报文所允许的处理时间日趋缩短。而目前所采用得经典的哈希表方式来实现大规模数据流表,会带来如下两个问题:首先,经典哈希表需要采用较低的负载率来降低冲突概率,空间效率低,当数据流表规模庞大时,存储空间浪费严重;其次,经典哈希表采用开放定址或链表的方式来处理哈希冲突,最坏条件下的查表时间可能较长,从而造成系统性能颠簸,在高速网络环境中容易导致丢包。
因此,在目前的改进方案中,也通过高性能的网络报文处理软件采用空间效率更高、查表性能更为确定的哈希算法,如业界广泛采用的开源报文处理软件库DPDK,就采用cuckoo哈希表来实现数据流表。虽然cuckoo哈希表虽然具有较高的空间效率和确定的更新性能,然而,在插入新的流记录时,可能需要移动表中已有的多个记录,从而需要较长的插入时间,尤其是在处理海量的并发数据流的场景中,在高速网络中由于数据流表操作时间的不确定,导致报文处理时延增大、甚至造成丢包的问题。
发明内容
本发明的实施例提供一种用于高速大规模并发数据流的数据流表处理方法及装置,能够避免在高速网络中由于数据流表操作时间的不确定,降低报文处理时延,以及缓减丢包的问题。
为达到上述目的,本发明的实施例采用如下技术方案:
一方面,本申请实施例提供一种用于高速大规模并发数据流的数据流表处理方法,包括:
根据待插入数据流的数据流标识,获取指纹表中的候选桶的地址和数据流指纹,其中,所述指纹表与所述记录表中的单元一一对应,所述指纹表中的候选桶的地址与所述记录表中的候选桶的地址相同;
检测所述指纹表的候选桶是否存在非空单元,若存在非空单元,则选择存在空闲单元的一个候选桶作为目标桶;
从所述目标桶的底部单元向顶部单元依次查询空单元,当查询到所述目标桶中的空单元时,将所述待插入数据流的数据流指纹写入查询到的空单元,并将所述待插入数据流的流记录写入与所述候选桶对应的记录桶。
在一种可能的设计中,还包括:若不存在非空单元,则将所述待插入数据流的流记录插入到溢出表,并结束插入过程。
在一种可能的设计中,每个数据流的数据流表由指纹表、记录表和溢出表三部分组成;在每个数据流表中,指纹表和记录表均采用d-left哈希表,各自都为两个块,指纹表和记录表的每个块均由至少2个桶组成,每个桶用于存放基本单元,每个桶中的基本单元的数量不超过所在桶的深度,指纹表和记录表的桶深相等。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网络通信与安全紫金山实验室,未经网络通信与安全紫金山实验室许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010305885.1/2.html,转载请声明来源钻瓜专利网。