一种高速大数据的检测方法及装置制造方法及图纸

技术编号:14517306 阅读:56 留言:0更新日期:2017-02-01 19:47
本发明专利技术公开了一种高速大数据的检测方法及装置,其方法包括:利用在网卡多个队列与操作系统内核多个内核缓存区之间建立的一一对应的多个第一虚拟数据流传输通道,将网卡每个队列接收的网络数据拷贝到相应内核缓存区中;利用其数量与网卡队列数量相当的多个数据集处理单元处理拷贝到内核缓存区中的网络数据,其每个数据集处理单元处理一个对应的网络队列接收并拷贝到内核缓存区的网络数据;根据每个数据集处理单元对网络数据进行处理所得到的网络数据类型,从多个第二虚拟数据流传输通道中选择相应第二虚拟数据流传输通道,并经由所选择的第二虚拟数据流传输通道将不同网络数据类型的网络数据写入应用层内存。

【技术实现步骤摘要】

本专利技术涉及数据处理
,特别涉及一种高速大数据的检测方法及装置。
技术介绍
今天,互联网络的高速应用早已经渗入到了生活的每一个角落。很难想象没有网络该如何生活、如何工作,甚至国家和军队的管理、运行都离不开网络。由此,网络安全已经成为了公众视线的焦点。网络安全的第一道防线就是网络数据检测,然而随着高速和超高速以太网络的快速发展,传统的千兆网络数据检测的方式已经无法适应现在的高速增长。传统的网络检测系统,从数据获取角度上讲,数据通过物理层的网络适配器通过进入了逻辑硬件层,然后通过设备接口层、网络层、传输层最终到达应用层,数据到达应用层后,操作系统还要对数据进行拆分、分类然后在进行分析。传统的网络检测系统,如图1所示,从数据获取角度上讲,数据通过物理层的网络适配器通过进入了逻辑硬件层,然后通过设备接口层、网络层、传输层最终到达应用层,数据到达应用层后,操作系统还要对数据进行拆分、分类然后在进行分析,当网络数据流经由网卡流入操作系统的最外层驱动(即网卡驱动),每个数据包都要经过网卡缓存区、操作系统内核缓存区、TCP(TransmissionControlProtocol传输控制协议)/IP协议栈缓存区和应用层缓存区等存储区之间的复制及处理,很影响网络数据流的处理速度,也很消耗CPU的性能。同时当前计算机上的CPU大多是多核心的,最少可达到四核八核,多则三十二核甚至更高,因此很难发挥当前CPU多核的特性。而且现在基于服务器构架的CPU可以同时应用4颗CPU最多可以扩充到128个逻辑核心,因此即使是在应用了网卡多队列、负载均衡等技术之后,因传统的操作系统网络内核的处理机制和传统的网络数据检测方式等诸多原因最终导致了处理效率难以发挥。
技术实现思路
根据本专利技术实施例提供的方案解决的技术问题是在万兆(10G)乃至更高速20G以上的带宽下网络数据检测处理效率低。根据本专利技术实施例提供的一种高速大数据的检测方法,包括:利用在网卡多个队列与操作系统内核多个内核缓存区之间建立的一一对应的多个第一虚拟数据流传输通道,将网卡每个队列接收的网络数据拷贝到相应内核缓存区中;利用其数量与网卡队列数量相当的多个数据集处理单元处理拷贝到内核缓存区中的网络数据,其每个数据集处理单元处理一个对应的网络队列接收并拷贝到内核缓存区的网络数据;根据每个数据集处理单元对网络数据进行处理所得到的网络数据类型,从多个第二虚拟数据流传输通道中选择相应第二虚拟数据流传输通道,并经由所选择的第二虚拟数据流传输通道将不同网络数据类型的网络数据写入应用层内存,以便应用层对网络数据进行分类检测。优选地,还包括:通过将CPU的核心进行资源分配,将用于数据传输控制线程赋给数据传输控制CPU核心组,将网络数据分析线程赋给网络数据分析CPU核心组;其中,由所述数据传输控制CPU核心组建立所述多个第一虚拟数据流传输通道和所述多个第二虚拟通道传输通道;其中,由网络数据分析CPU核心组建立所述多个数据集处理单元。优选地,还包括:通过将CPU的核心进行资源分配,将用于数据传输控制线程赋给数据传输控制CPU核心组,将网络数据预处理线程赋给网络数据预处理CPU核心组,将网络数据分析线程赋给网络数据分析CPU核心组;其中,由所述数据传输控制CPU核心组建立所述多个第一虚拟数据流传输通道和所述多个第二虚拟通道传输通道;其中,由所述网络数据预处理CPU核心组和网络数据分析CPU核心组建立所述多个数据集处理单元。优选地,其中,所述每个数据集处理单元包括:由网络数据预处理CPU核心组中相应核心建立的网络数据预处理子单元;以及由网络数据分析CPU核心组中相应核心建立的所述网络数据分析子单元。优选地,所述第二虚拟数据流传输通道是利用操作系统内核缓存区与应用层内存缓存区之间的映射关系所建立的,用于将操作系统每个内核缓存区接收的不同网络数据类型的网络数据写入应用层内存缓存区。优选地,所述网络数据类型包括传输控制协议TCP网络数据类型和用户数据报协议UDP网络数据类型。根据本专利技术实施例提供的一种高速大数据的检测装置,包括:网络数据拷贝模块,用于利用在网卡多个队列与操作系统内核多个内核缓存区之间建立的一一对应的多个第一虚拟数据流传输通道,将网卡每个队列接收的网络数据拷贝到相应内核缓存区中;网络数据处理模块,用于利用其数量与网卡队列数量相当的多个数据集处理单元处理拷贝到内核缓存区中的网络数据,其每个数据集处理单元处理一个对应的网络队列接收并拷贝到内核缓存区的网络数据;网络数据检测模块,用于根据每个数据集处理单元对网络数据进行处理所得到的网络数据类型,从多个第二虚拟数据流传输通道中选择相应第二虚拟数据流传输通道,并经由所选择的第二虚拟数据流传输通道将不同网络数据类型的网络数据写入应用层内存,以便应用层对网络数据进行分类检测。优选地,还包括:第一资源分配单元,用于通过将CPU的核心进行资源分配,将用于数据传输控制线程赋给数据传输控制CPU核心组,将网络数据分析线程赋给网络数据分析CPU核心组;其中,由所述数据传输控制CPU核心组建立所述多个第一虚拟数据流传输通道和所述多个第二虚拟通道传输通道;其中,由网络数据分析CPU核心组建立所述多个数据集处理单元。优选地,还包括:第二资源分配单元,用于通过将CPU的核心进行资源分配,将用于数据传输控制线程赋给数据传输控制CPU核心组,将网络数据预处理线程赋给网络数据预处理CPU核心组,将网络数据分析线程赋给网络数据分析CPU核心组;其中,由所述数据传输控制CPU核心组建立所述多个第一虚拟数据流传输通道和所述多个第二虚拟通道传输通道;其中,由所述网络数据预处理CPU核心组和网络数据分析CPU核心组建立所述多个数据集处理单元。优选地,其中,所述每个数据集处理单元包括:由网络数据预处理CPU核心组中相应核心建立的网络数据预处理子单元;以及由网络数据分析CPU核心组中相应核心建立的所述网络数据分析子单元。根据本专利技术实施例提供的方案,在万兆(10G)乃至更高速20G以上的带宽下实现实时网络数据检测,尤其是系统采用虚拟通道队列设计,完全可以兼容更高速和庞大的网络数据流量检测当中,并能保证整体系统的高速稳定的运行。附图说明图1是现有技术提供的网络数据检测系统架构图;图2是本专利技术实施例提供的一种高速大数据的检测方法的流程图;图3是本专利技术实施例提供的一种高速大数据的检测装置的示意图;图4是本专利技术实施例提供的网络数据检测系统架构图;图5是本专利技术实施例提供的网络数据分析处理流程图。具体实施方式以下结合附图对本专利技术的优选实施例进行详细说明,应当理解,以下所说明的优选实施例仅用于说明和解释本专利技术,并不用于限定本专利技术。图2是本专利技术实施例提供的一种高速大数据的检测方法的流程图,如图2所示,包括:步骤S201:利用在网卡多个队列与操作系统内核多个内核缓存区之间建立的一一对应的多个第一虚拟数据流传输通道,将网卡每个队列接收的网络数据拷贝到相应内核缓存区中;步骤S202:利用其数量与网卡队列数量相当的多个数据集处理单元处理拷贝到内核缓存区中的网络数据,其每个数据集处理单元处理一个对应的网络队列接收并拷贝到内核缓存区的网络数据;步骤S203:根据每个数据集处理单元对网络数据进行处理所得到的网络数据本文档来自技高网
...

【技术保护点】
一种高速大数据的检测方法,包括:利用在网卡多个队列与操作系统内核多个内核缓存区之间建立的一一对应的多个第一虚拟数据流传输通道,将网卡每个队列接收的网络数据拷贝到相应内核缓存区中;利用其数量与网卡队列数量相当的多个数据集处理单元处理拷贝到内核缓存区中的网络数据,其每个数据集处理单元处理一个对应的网络队列接收并拷贝到内核缓存区的网络数据;根据每个数据集处理单元对网络数据进行处理所得到的网络数据类型,从多个第二虚拟数据流传输通道中选择相应第二虚拟数据流传输通道,并经由所选择的第二虚拟数据流传输通道将不同网络数据类型的网络数据写入应用层内存,以便应用层对网络数据进行分类检测。

【技术特征摘要】
1.一种高速大数据的检测方法,包括:利用在网卡多个队列与操作系统内核多个内核缓存区之间建立的一一对应的多个第一虚拟数据流传输通道,将网卡每个队列接收的网络数据拷贝到相应内核缓存区中;利用其数量与网卡队列数量相当的多个数据集处理单元处理拷贝到内核缓存区中的网络数据,其每个数据集处理单元处理一个对应的网络队列接收并拷贝到内核缓存区的网络数据;根据每个数据集处理单元对网络数据进行处理所得到的网络数据类型,从多个第二虚拟数据流传输通道中选择相应第二虚拟数据流传输通道,并经由所选择的第二虚拟数据流传输通道将不同网络数据类型的网络数据写入应用层内存,以便应用层对网络数据进行分类检测。2.根据权利要求1所述的方法,还包括:通过将CPU的核心进行资源分配,将用于数据传输控制线程赋给数据传输控制CPU核心组,将网络数据分析线程赋给网络数据分析CPU核心组;其中,由所述数据传输控制CPU核心组建立所述多个第一虚拟数据流传输通道和所述多个第二虚拟通道传输通道;其中,由网络数据分析CPU核心组建立所述多个数据集处理单元。3.根据权利要求1所述的方法,还包括:通过将CPU的核心进行资源分配,将用于数据传输控制线程赋给数据传输控制CPU核心组,将网络数据预处理线程赋给网络数据预处理CPU核心组,将网络数据分析线程赋给网络数据分析CPU核心组;其中,由所述数据传输控制CPU核心组建立所述多个第一虚拟数据流传输通道和所述多个第二虚拟通道传输通道;其中,由所述网络数据预处理CPU核心组和网络数据分析CPU核心组建立所述多个数据集处理单元。4.根据权利要求3所述的方法,其中,所述每个数据集处理单元包括:由网络数据预处理CPU核心组中相应核心建立的网络数据预处理子单元;以及由网络数据分析CPU核心组中相应核心建立的所述网络数据分析子单元。5.根据权利要求1-4任一所述的方法,所述第二虚拟数据流传输通道是利用操作系统内核缓存区与应用层内存缓存区之间的映射关系所建立的,用于将操作系统每个内核缓存区接收的不同网络数据类型的网络数据写入应用层内存缓存区。6.根据...

【专利技术属性】
技术研发人员:孙彦钊凌晨刘晓晨赵洪宇王振远范汇川张跃吴岳峰
申请(专利权)人:北京中测安华科技有限公司
类型:发明
国别省市:北京;11

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

1