CN103873712A - VoIP网关检测方法及多核处理设备 - Google Patents

VoIP网关检测方法及多核处理设备 Download PDF

Info

Publication number
CN103873712A
CN103873712A CN201410148625.2A CN201410148625A CN103873712A CN 103873712 A CN103873712 A CN 103873712A CN 201410148625 A CN201410148625 A CN 201410148625A CN 103873712 A CN103873712 A CN 103873712A
Authority
CN
China
Prior art keywords
data flow
voip
chain table
node
ltsh chain
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410148625.2A
Other languages
English (en)
Other versions
CN103873712B (zh
Inventor
卫红权
常振超
张建朋
于岩
陈鸿昶
刘力雄
黄海
陈福才
吉立新
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
PLA Information Engineering University
Original Assignee
PLA Information Engineering University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by PLA Information Engineering University filed Critical PLA Information Engineering University
Priority to CN201410148625.2A priority Critical patent/CN103873712B/zh
Publication of CN103873712A publication Critical patent/CN103873712A/zh
Application granted granted Critical
Publication of CN103873712B publication Critical patent/CN103873712B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供了一种VoIP网关检测方法,基于多核处理设备,所述多核处理设备具备并发处理百万级数据流的处理能力,所述方法包括:针对多核处理设备的处理能力及当前检测任务,构建多核处理设备中每个内核处理单元各自对应的哈希链表,哈希链表中的节点用于实时缓存所述当前检测任务所对应的骨干网络中的数据流,且各个节点所缓存的数据流各不相同;以并发处理的方式,执行各个内核处理单元采用LRU机制对各自的哈希链表进行老化处理的过程;确定经过老化处理后的哈希链表所缓存的数据流为活跃流;以并发处理的方式,执行各个内核处理单元检测VoIP网关的过程。因此,本申请解决了目前不能检测出活跃流所对应的VoIP网关的问题。

Description

VoIP网关检测方法及多核处理设备
技术领域
本申请涉及计算机网络领域,特别涉及一种VoIP(Voice over InternetProtocol,网络电话)网关检测方法及多核处理设备。
背景技术
VoIP是一种利用当前网络交叉融合的环境,通过跨网络进行通信的技术。由于可以利通简易的设备进行通信,极具隐蔽性,难以有效检测。近年来,借助成熟的IP语音处理技术和开放的互联网环境,VoIP业务发展迅猛。在低门槛、高利润的驱使下,互联网中出现了大量非法、隐性的VoIP网关。这些VoIP网关不仅对电信网络产生重大冲击,而且会成为不良言论传播的便利通道。因此,检测出这些VoIP网关,进行VoIP有效监管已经成为亟待解决的问题。且由于检测骨干网络中活跃流所对应的VoIP网关更具现实意义,因此对于检测骨干网络中活跃流所对应的VoIP网关尤为重要。
但是,由于目前骨干网络中活跃流的检测尚未解决,因此检测出骨干网络中活跃流所对应的VoIP网关更加困难,导致目前尚未解决检测骨干网络中活跃流所对应的VoIP网关的问题。
发明内容
为解决上述技术问题,本申请实施例提供一种VoIP网关检测方法及多核处理设备,以解决目前不能检测出活跃流所对应的VoIP网关的问题,技术方案如下:
一种网络电话VoIP网关检测方法,基于多核处理设备,所述多核处理设备具备并发处理百万级数据流的处理能力,所述方法包括:
所述多核处理设备针对所述多核处理设备的处理能力及当前检测任务,构建所述多核处理设备中每个内核处理单元各自对应的哈希链表,所述哈希链表中的节点用于实时缓存所述当前检测任务所对应的骨干网络中的数据流,且各个节点所缓存的数据流各不相同;以及,
以并发处理的方式,执行各个内核处理单元采用最近最少使用LRU机制对各自的哈希链表进行老化处理的过程;以及,
确定经过老化处理后的哈希链表所缓存的数据流为活跃流;
以并发处理的方式,执行各个内核处理单元检测VoIP网关的过程,所述检测VoIP网关的过程包括:
采用深度包检测DPI技术检测出所述活跃流中的VoIP数据流,并将所述VoIP数据流中五元组相同的数据包进行重组,得到重组VoIP数据流;
统计在预设时间段内,所述重组VoIP数据流的个数,在统计结果为不小于预设统计阈值的情况下,确定所述重组VoIP数据流所对应的五元组中的IP地址为VoIP网关。
优选的,所述在所述重组VoIP数据流为VoIP信令数据流的情况下,所述统计在预设时间段内,所述重组VoIP数据流的个数,在统计结果为不小于预设统计阈值的情况下,确定所述重组VoIP数据流所对应的五元组中的IP地址为VoIP网关的过程,包括:
统计在预设时间段内,所述VoIP信令数据流的个数,在统计结果为不小于预设信令统计阈值的情况下,确定所述VoIP信令数据流所对应的五元组中的IP地址为VoIP信令网关。
优选的,在所述重组VoIP数据流为VoIP媒体数据流的情况下,所述统计在预设时间段内,所述重组VoIP数据流的个数,在统计结果为不小于预设统计阈值的情况下,确定所述重组VoIP数据流所对应的五元组中的IP地址为VoIP网关的过程,包括:
统计在预设时间段内,所述VoIP媒体数据流的个数,在统计结果为不小于预设媒体统计阈值的情况下,确定所述VoIP信令数据流所对应的五元组中的IP地址为VoIP媒体网关。
优选的,任意一个内核处理单元采用LRU机制对其哈希链表进行老化处理的过程,包括:
A、对新到数据流进行哈希值计算,将得到的哈希值作为关键词,在所述哈希链表中查找是否存在该哈希值对应的节点,若是,执行步骤B,若否,执行步骤C;
B、更新该哈希值对应节点的节点信息,并将该哈希值对应节点置于所述哈希链表的最前端;
C、判断所述哈希链表中是否存在空闲节点,若是,执行步骤D,否则,执行步骤E;
D、选取一个空闲节点存放该哈希值,并将该空闲节点置于所述哈希链表的最前端;
E、删除位于所述哈希链表的尾部的节点,释放出链表空间存放该哈希值,并将该哈希值对应的节点置于所述哈希链表的最前端。
优选的,在对新到数据流进行哈希值计算之前,还包括:
所述内核处理单元将10G一种采用光纤的数据传输模型POS(格式的新到数据流转换为10G以太网ETH格式的新到数据流。
一种多核处理设备,所述多核处理设备具备并发处理百万级数据流的处理能力,所述多核处理设备包括:
构建模块,用于针对所述多核处理设备的处理能力及当前检测任务,构建所述多核处理设备中每个内核处理单元各自对应的哈希链表,所述哈希链表中的节点用于实时缓存所述当前检测任务所对应的骨干网络中的数据流,且各个节点各自所缓存的数据流各不相同;
第一控制模块,用于以并发处理的方式,执行各个内核处理单元采用LRU机制对各自的哈希链表进行老化处理的过程;
确定模块,用于确定经过老化处理后的哈希链表所缓存的数据流为活跃流;
第二控制模块,用于以并发处理的方式,执行各个内核处理单元检测VoIP网关的过程;
多个内核处理单元,所述内核处理单元用于采用LRU机制对各自的哈希链表进行老化处理,以及用于检测VoIP网关;
所述内核处理单元包括:
重组单元,用于采用DPI技术检测出所述活跃流中的VoIP数据流,并将所述VoIP数据流中五元组相同的数据包进行重组,得到重组VoIP数据流;
确定单元,用于统计在预设时间段内,所述重组VoIP数据流的个数,在统计结果为不小于预设统计阈值的情况下,确定所述重组VoIP数据流所对应的五元组中的IP地址为VoIP网关。
优选的,所述确定单元包括:
第一确定子单元,用于统计在预设时间段内,所述VoIP信令数据流的个数,在统计结果为不小于预设信令统计阈值的情况下,确定所述VoIP信令数据流所对应的五元组中的IP地址为VoIP信令网关。
优选的,所述确定单元包括:
第二确定子单元,用于统计在预设时间段内,所述VoIP媒体数据流的个数,在统计结果为不小于预设媒体统计阈值的情况下,确定所述VoIP信令数据流所对应的五元组中的IP地址为VoIP媒体网关。
优选的,所述内核处理单元包括:
查找子单元,用于对新到数据流进行哈希值计算,将得到的哈希值作为关键词,在所述哈希链表中查找是否存在该哈希值对应的节点,若是,执行更新子单元,若否,执行第四判断子单元;
所述更新子单元,用于更新该哈希值对应节点的节点信息,并将该哈希值对应节点置于所述哈希链表的最前端;
所述第四判断子单元,用于判断所述哈希链表中是否存在空闲节点,若是,执行选取子单元,若否,执行删除子单元;
所述选取子单元,用于选取一个空闲节点存放该哈希值,并将该空闲节点置于所述哈希链表的最前端;
所述删除子单元,用于删除位于所述哈希链表的尾部的节点,释放出链表空间存放该哈希值,并将该哈希值对应的节点置于所述哈希链表的最前端。
优选的,所述内核处理单元包括:
转换子单元,用于将10G POS格式的新到数据流转换为10G ETH格式的新到数据流。
与现有技术相比,本申请的有益效果为:
在本申请中,由于采用的是并发处理的方式对各个内核处理单元各自的哈希链表进行LRU机制老化处理,因此可以并发对多个哈希链表进行LRU机制老化处理,并发确定多个哈希链表所缓存的数据流为活跃流,实现了实时检测出活跃流。
在实时检测出活跃流的基础上,采用DPI技术检测出所述活跃流中的VoIP数据流,并将所述VoIP数据流中五元组相同的数据包进行重组,得到重组VoIP数据流;统计在预设时间内,所述重组VoIP数据流的个数,在统计结果为不小于预设统计阈值的情况下,确定所述重组VoIP数据流所对应的五元组中的IP地址为VoIP网关。
在本申请中,首先检测出活跃流,然后确定活跃流中的VoIP数据流,进一步确定出VoIP网关,解决了目前不能检测出活跃流所对应的VoIP网关的问题。
进一步的,由于本申请以并发处理的方式,执行各个内核处理单元检测VoIP网关的过程,因此,提高了检测VoIP网关的速度,提高了检测效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是示出了本申请提供的VoIP网关检测方法的一种流程图;
图2是示出了本申请提供的VoIP网关检测方法的一种子流程图;
图3是本申请提供的VoIP网关检测方法的另一种子流程图;
图4是本申请提供的VoIP网关检测方法的再一种子流程图;
图5是本申请提供的多核处理设备的一种结构示意图;
图6是本申请提供的内核处理单元的一种结构示意图;
图7是本申请提供的确定单元的一种结构示意图;
图8是本申请提供的内核处理单元的另一种结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请提供的VoIP网关检测方法,基于多核处理设备,其中,所述多核处理设备具备并发处理百万级数据流的处理能力。在本申请中,所述多个处理设备可以但不局限于为32核处理设备。
实施例一
请参见图1,其示出了本申请提供的VoIP网关检测方法的一种流程图,可以包括以下步骤:
步骤S11:针对所述多核处理设备的处理能力及当前检测任务,构建所述多核处理设备中每个内核处理单元各自对应的哈希链表。
在本实施例中,所述哈希链表中的节点用于实时缓存所述当前检测任务所对应的骨干网络中的数据流,且各个节点所缓存的数据流各不相同。
哈希链表中的节点所缓存的数据流时随当前检测任务所对应的骨干网络中的数据流的变化而变化。
所述多核设备针对其本身的处理能力及当前检测任务,构建所述多核处理设备中每个内核处理单元各自对应的哈希链表。
其中,当前检测任务为在某一个实际网络中的检测任务。不同实际网络中的检测任务往往不同。
由于构建每个内核处理单元各自对应的哈希链表的过程相同,因此,本实施例中仅对构建任意一个内核处理单元各自对应的哈希链表的过程进行描述。
具体的,构建任意一个内核处理单元各自对应的哈希链表的过程为:
步骤A11:生成哈希链表。
生成的哈希链表的长度是固定的。生成哈希链表时,哈希链表的各个节点均是空节点。其中,采用双向链表构建哈希链表中的哈希节点数据结构。采用双向链表构建哈希链表中的哈希节点数据结构在一定程度上缓解了哈希冲突问题。
步骤A12:对所述哈希链表中的空节点进行赋值。
对空节点进行赋值的具体过程为:所述多核处理设备首先对从骨干网络中接收到的数据流进行哈希值计算,得到哈希值,然后根据哈希值确定所述数据流在所述哈希链表中所对应的节点,完成该节点缓存所述数据流,从而完成节点的赋值。
哈希链表中的每个节点都完成赋值,构建完成。需要说明的是,构建完成时的哈希链表各个节点各自所缓存的数据流均可作为活跃流。
具体的,哈希值计算输入为五元组(即接收到的数据流进行哈希值计算时,为五元组的形式),输出为哈希值。用于哈希值计算的哈希计算函数选取原则为要求随机性强,取值服从均匀分布。并采用拉链式动态桶深度哈希表来对数据流信息进行索引,实现基于五元组流信息节点快速查找。
在执行构建哈希链表之前,需要确定哈希桶数。具体的,实现一个动态桶深度,避免因冲突导致的节点溢出。
步骤S12:以并发处理的方式,执行各个内核处理单元采用LRU leastrecently used,最近最少使用)机制对各自的哈希链表进行老化处理的过程。
多核处理设备以并发处理的方式,执行各个内核处理单元采用LRU机制对各自的哈希链表进行老化处理的过程。
各个内核处理单元采用LRU机制对各自的哈希链表进行老化处理的过程是并发进行的,极大的提高了处理速度。
在本实施例中,以并发处理的方式,执行各个内核处理单元采用LRU机制对各自的哈希链表进行老化处理的过程即,以并发处理的方式,执行各个内核处理单元采用LRU机制对各自的哈希链表的链表空间进行老化处理的过程。
步骤S13:确定经过老化处理后的哈希链表所缓存的数据流为当前检测任务所对应的活跃流。
在本实施例中,多核处理设备确定各个内核处理单元各自经过老化处理后的哈希链表所缓存的数据流为当前检测任务所对应的活跃流。
由于哈希链表中的节点实时缓存当前检测任务所对应的骨干网络中的数据流,因此,经过老化处理的哈希链表所缓存的数据流为当前检测任务所对应的活跃流即当前检测任务所对应的骨干网络中的数据流在经过实时缓存和老化处理后,缓存于哈希链表上的数据流为当前检测任务所对应的活跃流。
具体的,经过老化处理的哈希链表中各个节点各自所缓存的数据流均为活跃流。
步骤S14:以并发处理的方式,执行各个内核处理单元检测VoIP网关的过程。
多核处理设备以并发处理的方式,执行各个内核处理单元检测VoIP网关的过程。
其中,由于各个内核单元检测VoIP网关的过程相同,因此本实施例仅对任意一个内核处理单元检测VoIP网关的过程进行说明,请参见图2,图2示出了本申请提供的VoIP网关检测方法的一种子流程图,可以包括以下步骤:
步骤S21:采用DPI(Deep Packet Inpect,深度包检测)技术检测出所述活跃流中的VoIP数据流,并将所述VoIP数据流中五元组相同的数据包进行重组,得到重组VoIP数据流。
步骤S22:统计在预设时间段内,所述重组VoIP数据流的个数,在统计结果为不小于预设统计阈值的情况下,确定所述重组VoIP数据流所对应的五元组中的IP地址为VoIP网关。
预设时间段及预设统计阈值的确定过程具体可以为:
对重组VoIP数据流按照时间进行统计,从得到的统计结果计算出流密度,依据此流密度,确定预设时间段和以及在本预设时间段内的预设统计阈值。具体为若某个时间段内重组VoIP数据流的量较多,则预设统计阈值设定较大,例如重组VoIP数据流的数量大,晚上数量小,则预设时间段可根据白天和晚上两个时间段来分别设定,而预设统计阈值的设定也是依据预设时间段内的流密度进行设定,具体的预设统计阈值可以以现网(即当前检测任务所对应的网络)得到的实时统计结果为准。
在本申请中,由于采用的是并发处理的方式对各个内核处理单元各自的哈希链表进行LRU机制老化处理,因此可以并发对多个哈希链表进行LRU机制老化处理,并发确定多个哈希链表所缓存的数据流为活跃流,实现了实时检测出活跃流。
在实时检测出活跃流的基础上,采用DPI技术检测出所述活跃流中的VoIP数据流,并将所述VoIP数据流中五元组相同的数据包进行重组,得到重组VoIP数据流;统计在预设时间内,所述重组VoIP数据流的个数,在统计结果为不小于预设统计阈值的情况下,确定所述重组VoIP数据流所对应的五元组中的IP地址为VoIP网关。
在本申请中,首先检测出活跃流,然后确定活跃流中的VoIP数据流,进一步确定出VoIP网关,解决了目前不能检测出活跃流所对应的VoIP网关的问题。
进一步的,由于本申请以并发处理的方式,执行各个内核处理单元检测VoIP网关的过程,因此,提高了检测VoIP网关的速度,提高了检测效率。
实施例二
在本实施例中,示出了统计在预设时间段内,所述重组VoIP数据流的个数,在统计结果为不小于预设统计阈值的情况下,确定所述重组VoIP数据流所对应的五元组中的IP地址为VoIP网关的过程,请参见图3,图3示出了本申请提供的VoIP网关检测方法的另一种子流程图,可以包括以下步骤:
步骤S31:判断所述重组VoIP数据流是否为VoIP信令数据流或VoIP媒体数据流。
在本实施例中,具体采用解析采用DPI基于特征字段匹配的协议解析方式,按照重组VoIP数据流中每一个数据包的所包含的内容,进行逐包内容解析还原,从解析结果中判断所述重组VoIP数据流是否为VoIP信令数据流或VoIP媒体数据流。
若判断结果为重组VoIP数据流为VoIP信令数据流,则执行步骤S32,若判断结果为重组VoIP数据流为VoIP媒体数据流,则执行步骤S33。
步骤S32:统计在预设时间段内,所述VoIP信令数据流的个数,在统计结果为不小于预设信令统计阈值的情况下,确定所述VoIP信令数据流所对应的五元组中的IP地址为VoIP信令网关。
预设时间段及预设信令统计阈值的确定过程具体可以为:
对VoIP信令数据流按照时间进行统计,从得到的统计结果计算出信令流密度,依据此信令流密度,确定预设时间段和以及在本预设时间段内的预设信令统计阈值。具体为若某个时间段内VoIP信令数据流的量较多,则预设信令统计阈值设定较大,例如VoIP信令数据流的数量大,晚上数量小,则预设时间段可根据白天和晚上两个时间段来分别设定,而预设信令统计阈值的设定也是依据预设时间段内的信令流密度进行设定,具体的预设信令统计阈值可以以现网(即当前检测任务所对应的网络)得到的实时统计结果为准。
步骤S33:统计在预设时间段内,所述VoIP媒体数据流的个数,在统计结果为不小于预设媒体统计阈值的情况下,确定所述VoIP信令数据流所对应的五元组中的IP地址为VoIP媒体网关。
预设时间段及预设信令统计阈值的确定过程具体可以为:
对VoIP媒体数据流按照时间进行统计,从得到的统计结果计算出媒体流密度,依据此媒体流密度,确定预设时间段和以及在本预设时间段内的预设媒体统计阈值。具体为若某个时间段内VoIP媒体数据流的量较多,则预设媒体统计阈值设定较大,例如VoIP媒体数据流的数量大,晚上数量小,则预设时间段可根据白天和晚上两个时间段来分别设定,而预设媒体统计阈值的设定也是依据预设时间段内的媒体流密度进行设定,具体的预设媒体统计阈值可以以现网(即当前检测任务所对应的网络)得到的实时统计结果为准。
实施例三
在本实施例中,示出的是各个内核处理单元采用LRU机制对各自的哈希链表进行老化处理的过程。
由于各个内核处理单元采用LRU机制对各自的哈希链表进行老化处理的过程相同,因此本实施例仅对任意一个内核处理单元采用LRU机制对其哈希链表进行老化处理的过程进行描述,具体请参见图4,图4示出了本申请提供的VoIP网关检测方法的再一种子流程图,可以包括以下步骤:
步骤S41:对新到数据流进行哈希值计算,将得到的哈希值作为关键词,在所述哈希链表中查找是否存在该哈希值对应的节点。
具体的,为了快速在链表中定位和查找一个节点是否存在,采用图1示出的数据流检测方法中所涉及的哈希计算函数,先对新到数据流按照五元组进行哈希缓存,将得到的哈希值作为关键词,在所述哈希链表中查找是否存在该哈希值对应的节点。其中,在所述哈希链表中查找是否存在该哈希值对应的节点具体为利用哈希比较函数赋值在所述哈希链表中查找是否存在该哈希值对应的节点。
若查找到,则执行步骤S42,若未查找到,执行步骤S43。
需要说明的是,针对骨干网络,在执行步骤S41之前,需要所述内核处理单元将10G POS(Packet Over SDH,一种采用光纤的数据传输模型)格式的新到数据流转换为10G ETH(Ethernet,以太网)格式的新到数据流。
内核处理单元在本实施例中处理的新到数据流为10G ETH以太网帧格式的新到数据流。
步骤S42:更新该哈希值对应节点的节点信息,并将该哈希值对应节点置于所述哈希链表的最前端。
步骤S43:判断所述哈希链表中是否存在空闲节点。
若判断结果为存在空闲节点,则执行步骤S44,否则,执行步骤S45。
步骤S44:选取一个空闲节点存放该哈希值,并将该空闲节点置于所述哈希链表的最前端。
步骤S45:删除位于所述哈希链表的尾部的节点,释放出链表空间存放该哈希值,并将该哈希值对应的节点置于所述哈希链表的最前端。
在新接收到数据流时,如果哈希链表已满,则把哈希链表尾部“最老”的节点删除,腾出链表空间用于存放新到数据流对应的节点,并将新到数据流对应的节点置于哈希链表的最前端(即顶部)。
采用LRU机制,由于小流持续时间短、到达速率低,总有可能被替换出去;而大流持续时间长、访问缓存频繁,所以往往会缓存在哈希链表的首部靠前位置。
在本实施例中,每个内核处理单元每新接收到一个数据流,便执行一次步骤S41至步骤S45。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
实施例四
在本实施例中,提供了一种多核处理设备,所述多核处理设备具备并发处理百万级数据流的处理能力,请参见图5,图5示出了本申请提供的多核处理设备的一种结构示意图,多核处理设备包括:构建模块51、第一控制模块52、确定模块53、第二控制模块54和多个内核处理单元55。
构建模块51,用于针对所述多核处理设备的处理能力及当前检测任务,构建所述多核处理设备中每个内核处理单元各自对应的哈希链表,所述哈希链表中的节点用于实时缓存所述当前检测任务所对应的骨干网络中的数据流,且各个节点所缓存的数据流各不相同;
第一控制模块52,用于以并发处理的方式,执行各个内核处理单元采用LRU机制对各自的哈希链表进行老化处理的过程;
确定模块53,用于确定经过老化处理后的哈希链表所缓存的数据流为当前检测任务所对应的活跃流;
第二控制模块54,用于以并发处理的方式,执行各个内核处理单元检测VoIP网关的过程。
内核处理单元54用于采用LRU机制对各自的哈希链表进行老化处理,以及用于检测VoIP网关。
内核处理单元54中用于实现检测VoIP网关的具体结构请参见图6,图6示出了本申请提供的内核处理单元的一种结构示意图,内核处理单元包括:重组单元61和确定单元62。
重组单元61,用于采用DPI技术检测出所述活跃流中的VoIP数据流,并将所述VoIP数据流中五元组相同的数据包进行重组,得到重组VoIP数据流。
确定单元62,用于统计在预设时间段内,所述重组VoIP数据流的个数,在统计结果为不小于预设统计阈值的情况下,确定所述重组VoIP数据流所对应的五元组中的IP地址为VoIP网关。
确定单元62的具体结构可以参见图7,图7示出了本申请提供的确定单元的一种结构示意图,确定单元62包括:判断子单元71、第一确定子单元72和第二确定子单元73。
判断子单元71,用于判断所述重组VoIP数据流是否为VoIP信令数据流或VoIP媒体数据流。
判断子单元71具体采用解析采用DPI基于特征字段匹配的的协议解析方式,按照重组VoIP数据流中每一个数据包的所包含的内容,进行逐包内容解析还原,从解析结果中判断所述重组VoIP数据流是否为VoIP信令数据流或VoIP媒体数据流。
若判断结果为重组VoIP数据流为VoIP信令数据流,则执行第一确定子单元72,若判断结果为重组VoIP数据流为VoIP媒体数据流,则执行第二确定子单元73。
第一确定子单元72,用于统计在预设时间段内,所述VoIP信令数据流的个数,在统计结果为不小于预设信令统计阈值的情况下,确定所述VoIP信令数据流所对应的五元组中的IP地址为VoIP信令网关。
第二确定子单元73,用于统计在预设时间段内,所述VoIP媒体数据流的个数,在统计结果为不小于预设媒体统计阈值的情况下,确定所述VoIP信令数据流所对应的五元组中的IP地址为VoIP媒体网关。
在本实施例中,内核处理单元54中用于实现采用LRU机制对其哈希链表进行老化处理的过程的具体结构请参见图8,图8示出了本申请提供的内核处理单元的另一种结构示意图,内核处理单元包括:查找子单元81、更新子单元82、第四判断子单元83、选取子单元84和删除子单元85。
查找子单元81,用于对新到数据流进行哈希值计算,将得到的哈希值作为关键词,在所述哈希链表中查找是否存在该哈希值对应的节点,若是,执行更新子单元82,若否,执行第四判断子单元83。
所述更新子单元82,用于更新该哈希值对应节点的节点信息,并将该哈希值对应节点置于所述哈希链表的最前端。
所述第四判断子单元83,用于判断所述哈希链表中是否存在空闲节点,若是,执行选取子单元84,若否,执行删除子单元85。
所述选取子单元84,用于选取一个空闲节点存放该哈希值,并将该空闲节点置于所述哈希链表的最前端。
所述删除子单元85,用于删除位于所述哈希链表的尾部的节点,释放出链表空间存放该哈希值,并将该哈希值对应的节点置于所述哈希链表的最前端。
在本实施例中,内核处理单元包括有转换子单元,用于将10G POS光格式的新到数据流转换为10G ETH以太网帧格式的新到数据流。
转换子单元在执行查找子单元81之前执行。
当然,本实施例提供的多核处理设备包括有10G输入接口,用于接收骨干网络中的10G POS光格式的新到数据流。
10G输入接口将10G POS光格式的新到数据流发送至转换子单元,由转换子单元将10G POS光格式的新到数据流转换为10G ETH以太网帧格式的新到数据流。
本实施例提供的多核处理设备同样包括有10G输出接口,用于将检测出的活跃流输出。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
以上对本申请所提供的VoIP网关检测方法及多核处理设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种网络电话VoIP网关检测方法,其特征在于,基于多核处理设备,所述多核处理设备具备并发处理百万级数据流的处理能力,所述方法包括:
所述多核处理设备针对所述多核处理设备的处理能力及当前检测任务,构建所述多核处理设备中每个内核处理单元各自对应的哈希链表,所述哈希链表中的节点用于实时缓存所述当前检测任务所对应的骨干网络中的数据流,且各个节点所缓存的数据流各不相同;以及,
以并发处理的方式,执行各个内核处理单元采用最近最少使用LRU机制对各自的哈希链表进行老化处理的过程;以及,
确定经过老化处理后的哈希链表所缓存的数据流为活跃流;
以并发处理的方式,执行各个内核处理单元检测VoIP网关的过程,所述检测VoIP网关的过程包括:
采用深度包检测DPI技术检测出所述活跃流中的VoIP数据流,并将所述VoIP数据流中五元组相同的数据包进行重组,得到重组VoIP数据流;
统计在预设时间段内,所述重组VoIP数据流的个数,在统计结果为不小于预设统计阈值的情况下,确定所述重组VoIP数据流所对应的五元组中的IP地址为VoIP网关。
2.根据权利要求1所述的方法,其特征在于,所述在所述重组VoIP数据流为VoIP信令数据流的情况下,所述统计在预设时间段内,所述重组VoIP数据流的个数,在统计结果为不小于预设统计阈值的情况下,确定所述重组VoIP数据流所对应的五元组中的IP地址为VoIP网关的过程,包括:
统计在预设时间段内,所述VoIP信令数据流的个数,在统计结果为不小于预设信令统计阈值的情况下,确定所述VoIP信令数据流所对应的五元组中的IP地址为VoIP信令网关。
3.根据权利要求1所述的方法,其特征在于,在所述重组VoIP数据流为VoIP媒体数据流的情况下,所述统计在预设时间段内,所述重组VoIP数据流的个数,在统计结果为不小于预设统计阈值的情况下,确定所述重组VoIP数据流所对应的五元组中的IP地址为VoIP网关的过程,包括:
统计在预设时间段内,所述VoIP媒体数据流的个数,在统计结果为不小于预设媒体统计阈值的情况下,确定所述VoIP信令数据流所对应的五元组中的IP地址为VoIP媒体网关。
4.根据权利要求1所述的方法,其特征在于,任意一个内核处理单元采用LRU机制对其哈希链表进行老化处理的过程,包括:
A、对新到数据流进行哈希值计算,将得到的哈希值作为关键词,在所述哈希链表中查找是否存在该哈希值对应的节点,若是,执行步骤B,若否,执行步骤C;
B、更新该哈希值对应节点的节点信息,并将该哈希值对应节点置于所述哈希链表的最前端;
C、判断所述哈希链表中是否存在空闲节点,若是,执行步骤D,否则,执行步骤E;
D、选取一个空闲节点存放该哈希值,并将该空闲节点置于所述哈希链表的最前端;
E、删除位于所述哈希链表的尾部的节点,释放出链表空间存放该哈希值,并将该哈希值对应的节点置于所述哈希链表的最前端。
5.根据权利要求4所述的方法,其特征在于,在对新到数据流进行哈希值计算之前,还包括:
所述内核处理单元将10G一种采用光纤的数据传输模型POS(格式的新到数据流转换为10G以太网ETH格式的新到数据流。
6.一种多核处理设备,其特征在于,所述多核处理设备具备并发处理百万级数据流的处理能力,所述多核处理设备包括:
构建模块,用于针对所述多核处理设备的处理能力及当前检测任务,构建所述多核处理设备中每个内核处理单元各自对应的哈希链表,所述哈希链表中的节点用于实时缓存所述当前检测任务所对应的骨干网络中的数据流,且各个节点各自所缓存的数据流各不相同;
第一控制模块,用于以并发处理的方式,执行各个内核处理单元采用LRU机制对各自的哈希链表进行老化处理的过程;
确定模块,用于确定经过老化处理后的哈希链表所缓存的数据流为活跃流;
第二控制模块,用于以并发处理的方式,执行各个内核处理单元检测VoIP网关的过程;
多个内核处理单元,所述内核处理单元用于采用LRU机制对各自的哈希链表进行老化处理,以及用于检测VoIP网关;
所述内核处理单元包括:
重组单元,用于采用DPI技术检测出所述活跃流中的VoIP数据流,并将所述VoIP数据流中五元组相同的数据包进行重组,得到重组VoIP数据流;
确定单元,用于统计在预设时间段内,所述重组VoIP数据流的个数,在统计结果为不小于预设统计阈值的情况下,确定所述重组VoIP数据流所对应的五元组中的IP地址为VoIP网关。
7.根据权利要求6所述的多核处理设备,其特征在于,所述确定单元包括:
第一确定子单元,用于统计在预设时间段内,所述VoIP信令数据流的个数,在统计结果为不小于预设信令统计阈值的情况下,确定所述VoIP信令数据流所对应的五元组中的IP地址为VoIP信令网关。
8.根据权利要求6所述的多核处理设备,其特征在于,所述确定单元包括:
第二确定子单元,用于统计在预设时间段内,所述VoIP媒体数据流的个数,在统计结果为不小于预设媒体统计阈值的情况下,确定所述VoIP信令数据流所对应的五元组中的IP地址为VoIP媒体网关。
9.根据权利要求6所述的多核处理设备,其特征在于,所述内核处理单元包括:
查找子单元,用于对新到数据流进行哈希值计算,将得到的哈希值作为关键词,在所述哈希链表中查找是否存在该哈希值对应的节点,若是,执行更新子单元,若否,执行第四判断子单元;
所述更新子单元,用于更新该哈希值对应节点的节点信息,并将该哈希值对应节点置于所述哈希链表的最前端;
所述第四判断子单元,用于判断所述哈希链表中是否存在空闲节点,若是,执行选取子单元,若否,执行删除子单元;
所述选取子单元,用于选取一个空闲节点存放该哈希值,并将该空闲节点置于所述哈希链表的最前端;
所述删除子单元,用于删除位于所述哈希链表的尾部的节点,释放出链表空间存放该哈希值,并将该哈希值对应的节点置于所述哈希链表的最前端。
10.根据权利要求9所述的多核处理设备,其特征在于,所述内核处理单元包括:
转换子单元,用于将10G POS格式的新到数据流转换为10G ETH格式的新到数据流。
CN201410148625.2A 2014-04-14 2014-04-14 VoIP网关检测方法及多核处理设备 Active CN103873712B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410148625.2A CN103873712B (zh) 2014-04-14 2014-04-14 VoIP网关检测方法及多核处理设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410148625.2A CN103873712B (zh) 2014-04-14 2014-04-14 VoIP网关检测方法及多核处理设备

Publications (2)

Publication Number Publication Date
CN103873712A true CN103873712A (zh) 2014-06-18
CN103873712B CN103873712B (zh) 2015-09-23

Family

ID=50911820

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410148625.2A Active CN103873712B (zh) 2014-04-14 2014-04-14 VoIP网关检测方法及多核处理设备

Country Status (1)

Country Link
CN (1) CN103873712B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105763484A (zh) * 2016-04-19 2016-07-13 中国人民解放军信息工程大学 基于流组合压缩的信令流汇聚装置及其方法
CN108063781A (zh) * 2016-11-07 2018-05-22 北京京东尚科信息技术有限公司 浏览器中弹出定制信息的装置和方法
CN111565131A (zh) * 2020-04-22 2020-08-21 烽火通信科技股份有限公司 一种家庭网关cpu测速方法及系统
CN112468365A (zh) * 2020-11-26 2021-03-09 上海阅维科技股份有限公司 用于网络镜像流量的数据质量检测方法、系统及介质
CN112565821A (zh) * 2021-02-19 2021-03-26 紫光恒越技术有限公司 数据处理方法、装置、安全网关及存储设备
CN112788016A (zh) * 2020-12-31 2021-05-11 上海欣方智能系统有限公司 一种非法用户识别方法、装置、电子设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101610209A (zh) * 2008-11-28 2009-12-23 北京网康科技有限公司 一种多核并行的网络业务流处理方法及设备

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101610209A (zh) * 2008-11-28 2009-12-23 北京网康科技有限公司 一种多核并行的网络业务流处理方法及设备

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105763484A (zh) * 2016-04-19 2016-07-13 中国人民解放军信息工程大学 基于流组合压缩的信令流汇聚装置及其方法
CN105763484B (zh) * 2016-04-19 2018-09-18 中国人民解放军信息工程大学 基于流组合压缩的信令流汇聚装置及其方法
CN108063781A (zh) * 2016-11-07 2018-05-22 北京京东尚科信息技术有限公司 浏览器中弹出定制信息的装置和方法
CN108063781B (zh) * 2016-11-07 2021-01-26 北京京东尚科信息技术有限公司 浏览器中弹出定制信息的装置和方法
CN111565131A (zh) * 2020-04-22 2020-08-21 烽火通信科技股份有限公司 一种家庭网关cpu测速方法及系统
CN112468365A (zh) * 2020-11-26 2021-03-09 上海阅维科技股份有限公司 用于网络镜像流量的数据质量检测方法、系统及介质
CN112788016A (zh) * 2020-12-31 2021-05-11 上海欣方智能系统有限公司 一种非法用户识别方法、装置、电子设备及存储介质
CN112565821A (zh) * 2021-02-19 2021-03-26 紫光恒越技术有限公司 数据处理方法、装置、安全网关及存储设备
CN112565821B (zh) * 2021-02-19 2021-05-28 紫光恒越技术有限公司 数据处理方法、装置、安全网关及存储设备

Also Published As

Publication number Publication date
CN103873712B (zh) 2015-09-23

Similar Documents

Publication Publication Date Title
CN103873712B (zh) VoIP网关检测方法及多核处理设备
CN103888321A (zh) 一种数据流检测方法及多核处理设备
US9886521B2 (en) Adaptive sampling schemes for clustering streaming graphs
CN105917632B (zh) 用于电信中的可扩缩分布式网络业务分析的方法
Tao et al. RPJ: Producing fast join results on streams through rate-based optimization
Ivkin et al. Qpipe: Quantiles sketch fully in the data plane
CN101296114A (zh) 基于流的并行模式匹配方法和系统
WO2012030411A1 (en) Method for classification of objects in a graph data stream
CN105721300A (zh) 用于网络设备流查找管理的技术
CN101583160B (zh) 一种实现分层服务质量业务的装置及方法
US7467066B2 (en) System and method for benchmarking correlated stream processing systems
CN105045723A (zh) 一种缓存数据处理方法、装置和系统
US20090282217A1 (en) Horizontal Scaling of Stream Processing
Patnaik et al. Efficient episode mining of dynamic event streams
US10609206B1 (en) Auto-repairing mobile communication device data streaming architecture
CN107301215A (zh) 一种搜索结果缓存方法及装置、搜索方法及装置
Tan et al. On resource pooling and separation for LRU caching
CN103973589A (zh) 网络流量分类方法及装置
CN105610881B (zh) 一种分布式缓存范围查询方法、装置及系统
CN106909624B (zh) 一种海量数据实时排序优化方法
CN107025223A (zh) 一种面向多租户的缓冲区管理方法及服务器
US20200311029A1 (en) Key value store using generation markers
Fofack et al. An approximate analysis of heterogeneous and general cache networks
CN106411638A (zh) 一种云监控系统中监控数据的处理方法及系统
CN106257447A (zh) 云存储服务器的视频存储及检索方法、视频云存储系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant