一种数据流检测方法及多核处理设备技术

技术编号:10152536 阅读:123 留言:0更新日期:2014-06-30 19:12
本申请提供了一种数据流检测方法,基于多核处理设备,所述多核处理设备具备并发处理百万级数据流的处理能力,所述方法包括:针对所述多核处理设备的处理能力及当前检测任务,构建多核处理设备中每个内核处理单元各自对应的哈希链表,所述哈希链表中的节点用于实时缓存所述当前检测任务所对应的骨干网络中的数据流,且各个节点所缓存的数据流各不相同;以并发处理的方式,执行各个内核处理单元采用LRU机制对各自的哈希链表进行老化处理的过程;确定经过老化处理后的哈希链表所缓存的数据流为活跃流。因此本申请提高了处理速度,从而实现了实时检测出活跃流,能够满足骨干网络中检测活跃流的实时性要求。

【技术实现步骤摘要】
一种数据流检测方法及多核处理设备
本申请涉及计算机网络领域,特别涉及一种数据流检测方法及多核处理设备。
技术介绍
高速骨干网络中,数据以一个或者多个流的方式到来,这里流的定义仍为一般意义下五元组定义的流,即由源IP、目的IP、源端口、目的端口和协议类型所定义,相同五元组数据即视为同一个的数据流。由于在线动态数据流源源不断到来,且若不能及时对有效的数据流处理,则该数据流会立刻消失,实时性的要求需要设计一种运行于内存之上的数据流检测算法。骨干网络中,小样本数据流存在时间较短,不具备研究价值,而大数据流存在时间长,是网络通信的主要部分,对活跃大数据流的实时检测,对于网络性能优化和网络信息处理有很重要的意义。目前,活跃大数据流的实时检测方法中存在一种基于过滤的数据流检测方法。基于过滤的数据流检测方法,一般在实验室流量较小的情况下,能够对数据包进行逐包判决,但骨干网络一般为10G高速网络,存在实时性的需求,基于过滤的数据流检测方法却难以满足骨干网络的实时性需求。
技术实现思路
为解决上述技术问题,本申请实施例提供一种数据流检测方法及多核处理设备,以达到提高处理速度,实现实时检测出活跃流,能够满足骨干网络中检测活跃流的实时性要求的目的,技术方案如下:一种数据流检测方法,基于多核处理设备,所述多核处理设备具备并发处理百万级数据流的处理能力,所述方法包括:针对所述多核处理设备的处理能力及当前检测任务,构建所述多核处理设备中每个内核处理单元各自对应的哈希链表,所述哈希链表中的节点用于实时缓存所述当前检测任务所对应的骨干网络中的数据流,且各个节点所缓存的数据流各不相同;以并发处理的方式,执行各个内核处理单元采用最近最少使用LRU机制对各自的哈希链表进行老化处理的过程;确定经过老化处理后的哈希链表所缓存的数据流为当前检测任务所对应的活跃流。优选的,在所述针对所述多核处理设备的处理能力及当前检测任务,构建所述多核处理设备中每个内核处理单元各自对应的哈希链表之前,还包括:以并发处理的方式,执行所述多核处理设备中各个内核处理单元采用复合过滤规则进行活跃流检测的过程;其中,任意一个内核处理单元采用复合过滤规则进行活跃流检测的过程包括:所述内核处理单元判断新到数据流的长度是否符合预设长度范围;若是,确定所述新到数据流为活跃流;若否,所述内核处理单元判断所述新到数据流是否符合五元组过滤规则;若是,确定所述新到数据流为活跃流;若否,所述内核处理单元判断所述新到数据流是否符合关键词过滤规则;若是,确定所述新到数据流为活跃流;若否,触发所述多核处理设备执行针对所述多核处理设备的处理能力,构建所述多核处理设备中每个内核处理单元各自对应的哈希链表的步骤。优选的,任意一个内核处理单元采用LRU机制对其哈希链表进行老化处理的过程,包括:A、对新到数据流进行哈希值计算,将得到的哈希值作为关键词,在所述哈希链表中查找是否存在该哈希值对应的节点,若是,执行步骤B,若否,执行步骤C;B、更新该哈希值对应节点的节点信息,并将该哈希值对应节点置于所述哈希链表的最前端;C、判断所述哈希链表中是否存在空闲节点,若是,执行步骤D,否则,执行步骤E;D、选取一个空闲节点存放该哈希值,并将该空闲节点置于所述哈希链表的最前端;E、删除位于所述哈希链表的尾部的节点,释放出链表空间存放该哈希值,并将该哈希值对应的节点置于所述哈希链表的最前端。优选的,在所述内核处理单元判断新到数据流的长度是否符合预设长度范围之前,还包括:所述内核处理单元将10G一种采用光纤的数据传输模型POS(PacketOverSDH,)格式的新到数据流转换为10G以太网ETH(Ethernet,以太网)格式的新到数据流。优选的,在对新到数据流进行哈希值计算之前,还包括:所述内核处理单元将10GPOS格式的新到数据流转换为10GETH格式的新到数据流。优选的,所述对新到数据流进行哈希值计算的过程,包括:采用随机性强的哈希函数对新到数据流进行哈希值计算。一种多核处理设备,所述多核处理设备具备并发处理百万级数据流的处理能力,所述多核处理设备包括:构建模块,用于针对所述多核处理设备的处理能力及当前检测任务,构建所述多核处理设备中每个内核处理单元各自对应的哈希链表,所述哈希链表中的节点用于实时缓存所述当前检测任务所对应的骨干网络中数据流,且各个节点所缓存的数据流各不相同;第一控制模块,用于以并发处理的方式,执行各个内核处理单元采用LRU机制对各自的哈希链表进行老化处理的过程;确定模块,用于确定经过老化处理后的哈希链表所缓存的数据流为当前检测任务所对应的活跃流;多个内核处理单元,所述内核处理单元用于采用LRU机制对各自的哈希链表进行老化处理。优选的,还包括:第二控制模块,用于以并发处理的方式,执行所述多核处理设备中各个内核处理单元采用复合过滤规则进行活跃流检测的过程;其中,所述内核处理单元包括:第一判断子单元,用于判断新到数据流的长度是否符合预设长度范围,若是,执行确定子单元,若否,执行第二判断子单元;所述确定子单元,用于确定所述新到数据流为活跃流;所述第二判断子单元,用于判断所述新到数据流是否符合五元组过滤规则,若是,执行确定子单元,若否,执行第三判断子单元;所述第三判断子单元,用于判断所述新到数据流是否符合关键词过滤规则,若是,执行所述确定子单元,若否,执行触发子单元;所述触发子单元,用于触发所述多核处理设备执行所述构建模块。优选的,所述内核处理单元包括:查找子单元,用于对新到数据流进行哈希值计算,将得到的哈希值作为关键词,在所述哈希链表中查找是否存在该哈希值对应的节点,若是,执行更新子单元,若否,执行第四判断子单元;所述更新子单元,用于更新该哈希值对应节点的节点信息,并将该哈希值对应节点置于所述哈希链表的最前端;所述第四判断子单元,用于判断所述哈希链表中是否存在空闲节点,若是,执行选取子单元,若否,执行删除子单元;所述选取子单元,用于选取一个空闲节点存放该哈希值,并将该空闲节点置于所述哈希链表的最前端;所述删除子单元,用于删除位于所述哈希链表的尾部的节点,释放出链表空间存放该哈希值,并将该哈希值对应的节点置于所述哈希链表的最前端。优选的,所述内核处理单元包括:转换子单元,用于将10GPOS格式的新到数据流转换为10GETH格式的新到数据流。与现有技术相比,本申请的有益效果为:本申请提供的数据流检测方法依托于具备并发处理百万级数据流的处理能力,具体实现为:针对所述多核处理设备的处理能力及当前检测任务,构建所述多核处理设备中每个内核处理单元各自对应的哈希链表,所述哈希链表中的节点用于实时缓存所述当前检测任务所对应的数据流,且各个节点所缓存的数据流各不相同;以并发处理的方式,对每个内核处理单元各自的哈希链表进行LRU机制老化处理;确定经过LRU机制老化处理后的哈希链表所缓存的数据流为活跃流。由于采用的是并发处理的方式对各个内核处理单元各自的哈希链表进行LRU机制老化处理,因此可以并发对多个哈希链表进行LRU机制老化处理,并发确定多个哈希链表所缓存的数据流为活跃流,相比于逐个处理的方式,提高了处理速度,从而实现了实时检测出活跃流,能够满足骨干网络中检测活跃流的实时性要求。附图说明为了更清楚地说明本申请实施例中本文档来自技高网...
一种数据流检测方法及多核处理设备

【技术保护点】
一种数据流检测方法,其特征在于,基于多核处理设备,所述多核处理设备具备并发处理百万级数据流的处理能力,所述方法包括:所述多核处理设备针对所述多核处理设备的处理能力及当前检测任务,构建所述多核处理设备中每个内核处理单元各自对应的哈希链表,所述哈希链表中的节点用于实时缓存所述当前检测任务所对应的骨干网络中的数据流,且各个节点所缓存的数据流各不相同;以及,以并发处理的方式,执行各个内核处理单元采用最近最少使用LRU机制对各自的哈希链表进行老化处理的过程;以及,确定经过老化处理后的哈希链表所缓存的数据流为当前检测任务所对应的活跃流。

【技术特征摘要】
1.一种数据流检测方法,其特征在于,基于多核处理设备,所述多核处理设备具备并发处理百万级数据流的处理能力,所述方法包括:以并发处理的方式,执行所述多核处理设备中各个内核处理单元采用复合过滤规则进行活跃流检测的过程;其中,任意一个内核处理单元采用复合过滤规则进行活跃流检测的过程包括:所述内核处理单元判断新到数据流的长度是否符合预设长度范围;若是,确定所述新到数据流为活跃流;若否,所述内核处理单元判断所述新到数据流是否符合五元组过滤规则;若是,确定所述新到数据流为活跃流;若否,所述内核处理单元判断所述新到数据流是否符合关键词过滤规则;若是,确定所述新到数据流为活跃流;若否,触发所述多核处理设备执行针对所述多核处理设备的处理能力,构建所述多核处理设备中每个内核处理单元各自对应的哈希链表的步骤;所述多核处理设备针对所述多核处理设备的处理能力及当前检测任务,构建所述多核处理设备中每个内核处理单元各自对应的哈希链表,所述哈希链表中的节点用于实时缓存所述当前检测任务所对应的骨干网络中的数据流,且各个节点所缓存的数据流各不相同;以及,以并发处理的方式,执行各个内核处理单元采用最近最少使用LRU机制对各自的哈希链表进行老化处理的过程;以及,确定经过老化处理后的哈希链表所缓存的数据流为当前检测任务所对应的活跃流。2.根据权利要求1所述的方法,其特征在于,任意一个内核处理单元采用LRU机制对其哈希链表进行老化处理的过程,包括:A、对新到数据流进行哈希值计算,将得到的哈希值作为关键词,在所述哈希链表中查找是否存在该哈希值对应的节点,若是,执行步骤B,若否,执行步骤C;B、更新该哈希值对应节点的节点信息,并将该哈希值对应节点置于所述哈希链表的最前端;C、判断所述哈希链表中是否存在空闲节点,若是,执行步骤D,否则,执行步骤E;D、选取一个空闲节点存放该哈希值,并将该空闲节点置于所述哈希链表的最前端;E、删除位于所述哈希链表的尾部的节点,释放出链表空间存放该哈希值,并将该哈希值对应的节点置于所述哈希链表的最前端。3.根据权利要求1所述的方法,其特征在于,在所述内核处理单元判断新到数据流的长度是否符合预设长度范围之前,还包括:所述内核处理单元将10GPOS格式的新到数据流转换为10G以太网ETH格式的新到数据流。4.根据权利要求2所述的方法,其特征在于,在对新到数据流进行哈希值计算之前,还包括:所述内核处理单元将10GPOS格式的新到数据流转换为10GETH格式的新到数据流。5.根据权利要求2所述的方法,...

【专利技术属性】
技术研发人员:卫红权常振超于岩张建朋陈鸿昶刘力雄候颖于洪涛吉立新
申请(专利权)人:中国人民解放军信息工程大学
类型:发明
国别省市:河南;41

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

1