[发明专利]一种数据流标识的查询方法及装置有效
申请号: | 202011602099.4 | 申请日: | 2020-12-30 |
公开(公告)号: | CN112632079B | 公开(公告)日: | 2023-07-21 |
发明(设计)人: | 李艳新;董树嵩;郭志涛 | 申请(专利权)人: | 联想未来通信科技(重庆)有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/2455;G06F16/2457 |
代理公司: | 北京乐知新创知识产权代理事务所(普通合伙) 11734 | 代理人: | 周伟 |
地址: | 401147 重庆*** | 国省代码: | 重庆;50 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据流 标识 查询 方法 装置 | ||
本发明公开一种数据流标识的查询方法及装置,接收数据报文,从数据报文中提取出第一N元组;使用第一哈希函数对第一N元组进行变换,得到第一哈希值,使用第二哈希函数对第一N元组进行变换,得到第二哈希值;根据第一哈希值查找哈希表,获取相应的桶链表,桶链表中包含特定数量的哈希桶;根据第二哈希值查找桶链表,获取相应的哈希桶中存储的地址信息;根据地址信息获得相应地址空间中存储的第二N元组;第一N元组与第二N元组一致时,根据第二N元组,到流表中查询对应的数据流标识作为数据报文的数据流标识。
技术领域
本发明涉及数据查询领域,尤其涉及一种数据流标识的查询方法及装置。
背景技术
流表是DPI系统的底层关键技术,通过提取数据中的N元组信息作为键值,用于支撑流量识别和分类的上层处理,它的设计实现对系统的性能有着重要的影响。在移动4G/5G网络中,对高密度DPI设备的新建业务突发和并发连接等指标提出了更高的要求,现有软件方案的流表设计很难满足使用,而且对多线程的占用消耗了大量的处理器资源,传统的基于硬件设计的流表HASH算法和流表项结构也不适合DPI系统的场景。
发明内容
本发明提供一种数据流标识的查询方法和装置,以至少解决现有技术中存在的以上技术问题。
本发明一方面提供一种数据流标识的查询方法,该方法包括:
接收数据报文,从所述数据报文中提取出第一N元组;
使用第一哈希函数对所述第一N元组进行变换,得到第一哈希值,使用第二哈希函数对所述第一N元组进行变换,得到第二哈希值;
根据所述第一哈希值查找哈希表,获取相应的桶链表,所述桶链表中包含特定数量的哈希桶;根据所述第二哈希值查找所述桶链表,获取相应的哈希桶中存储的地址信息;
根据所述地址信息获得相应地址空间中存储的第二N元组;
所述第一N元组与所述第二N元组一致时,根据所述第二N元组,到流表中查询对应的数据流标识作为所述数据报文的数据流标识。
其中,所述根据所述第一哈希值查找哈希表失败时,该方法还包括:
以所述第一哈希值作为键名,桶链表作为键值,生成一条新的哈希表项;
在所述桶链表中的第一个哈希桶中存储所述第一N元组的地址信息,并将所述第二哈希值作为该哈希桶的索引;
将所述第一N元组作为键名,从数据流标识表中申请数据流标识作为键值,生成一条新的流表表项。
其中,所述根据所述第二哈希值查找所述桶链表失败时,该方法还包括:
在所述桶链表中第一个空闲哈希桶中存储所述第一N元组的地址信息,并将所述第二哈希值作为该哈希桶的索引;
将所述第一N元组作为键名,从数据流标识表中申请数据流标识作为键值,生成一条新的流表表项。
其中,所述从数据流标识表中申请数据流标识后,该方法还包括:在时间戳表中添加所述数据流标识对应的表项,对该表项中的记录的时间戳进行更新。
其中,所述到流表中查询对应的数据流标识后,该方法还包括:对时间戳表中该数据流标识对应的表项中记录的时间戳进行更新。
其中,所述对时间戳表中该数据流标识对应的表项中记录的时间戳进行更新后,该方法还包括:
根据所述时间戳判断时间戳表中对应的表项是否老化;
判断结果为老化时,将该表项删除,并将对应的数据流标识添加到数据流标识表中。
其中,所述提取出第一N元组之后,将第一N元组存入信息缓存中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于联想未来通信科技(重庆)有限公司,未经联想未来通信科技(重庆)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011602099.4/2.html,转载请声明来源钻瓜专利网。