CN106506266A - 基于GPU、Hadoop/Spark混合计算框架的网络流量分析方法 - Google Patents

基于GPU、Hadoop/Spark混合计算框架的网络流量分析方法 Download PDF

Info

Publication number
CN106506266A
CN106506266A CN201610942935.0A CN201610942935A CN106506266A CN 106506266 A CN106506266 A CN 106506266A CN 201610942935 A CN201610942935 A CN 201610942935A CN 106506266 A CN106506266 A CN 106506266A
Authority
CN
China
Prior art keywords
gpu
data
hadoop
classes
spark
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
CN201610942935.0A
Other languages
English (en)
Other versions
CN106506266B (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.)
UNIT 91655 OF PLA
Original Assignee
UNIT 91655 OF PLA
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 UNIT 91655 OF PLA filed Critical UNIT 91655 OF PLA
Priority to CN201610942935.0A priority Critical patent/CN106506266B/zh
Publication of CN106506266A publication Critical patent/CN106506266A/zh
Application granted granted Critical
Publication of CN106506266B publication Critical patent/CN106506266B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/028Capturing of monitoring data by filtering

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种基于GPU、Hadoop/Spark混合计算框架的网络流量分析方法。该方法主要包括:构建GPU计算分析框架和Hadoop/Spark计算分析框架,选择GPU或者Hadoop/Spark计算分析框架来处理实时或者离线的网络流量。GPU计算分析框架部署在装有GPU的单机节点上,Hadoop/Spark计算框架为分布式处理系统,部署在服务器集群中,当GPU的可用内存的大小大于或者等于两倍的网络流量数据的大小时,则优先采用GPU计算分析框架来处理实时或者离线的网络流量。本发明通过构建GPU计算分析框架和Hadoop/Spark计算分析框架GPU计算分析框架,选择GPU或者Hadoop/Spark计算分析框架GPU计算分析框架来处理实时或者离线的网络流量,可以有效地应对高速网络流量的实时或者离线统计分析处理,便于运营、维护、管理人员回溯分析数据。

Description

基于GPU、Hadoop/Spark混合计算框架的网络流量分析方法
技术领域
本发明涉及网络通信技术领域,尤其涉及一种基于GPU、Hadoop/Spark混合计算框架的网络流量分析方法。
背景技术
网络流量统计分析主要分为实时和离线计算两类。实时计算主要针对流量按单位、信息系统等聚类统计、排序、排重、过滤和异常监测的实时分析场景;离线计算主要针对信息系统网络流量回溯分析和效能评估等离线场景。网络流量分析的敏感性和价值依赖于流量数据统计处理速度,理想状态的数据分析处理要在秒级时间范围内给出分析结果。
目前,网络监测普遍将数据存储在关系型数据库中。关系型数据库中长期积累的数据量巨大,关系型数据库中的单表记录数接近1亿时,其查询等操作性能将急剧减低。为不影响数据分析效率,导致关系型数据库中只能记录近几天的细粒度数据,对于更早的数据只能按天或周合并,记录更粗时间粒度统计数据。这种方式导致的缺点包括:一方面实时数据处理速度无法达到秒级,另一方面对于流量的长期细粒度回溯几乎不可能。
因此,寻找一种有效地分析实时流数据、长时间历史数据的计算方法是一个亟待解决的问题。
发明内容
本发明的实施例提供了一种基于GPU、Hadoop/Spark混合计算框架的网络流量分析方法,以实现有效地处理实时或者离线的网络流量。
为了实现上述目的,本发明采取了如下技术方案。
一种基于GPU、Hadoop/Spark混合计算框架的网络流量分析方法,包括:
构建GPU计算分析框架和Hadoop/Spark计算分析框架,选择GPU或者Hadoop/Spark计算分析框架来处理实时或者离线的网络流量。
进一步地,所述的GPU计算分析框架部署在装有GPU的单机节点上,所述Hadoop/Spark计算框架为分布式处理系统,部署在服务器集群中,当GPU的可用内存的大小大于或者等于两倍的网络流量数据的大小时,则优先采用GPU计算分析框架来处理实时或者离线的网络流量。
进一步地,采用GPU计算分析框架来处理实时网络流量的处理过程包括:
步骤1、将输入流传输来的数据按照时间条件进行过滤,去除冗余的数据,按照用户设定的时间力度将过滤后的数据分片,创建GPU缓存,将分片后的数据拷贝到GPU缓存中存储;
步骤2、采用Map算子抽取GPU缓存中存储的数据,按用户指定的集合和设定的hash策略给抽取过的每条数据记录生成对应的group ID(标识),将数据连同group ID一起传递给GPU聚合算子计算;
步骤3、GPU聚合算子包括用来处理聚合操作的一系列GPU kernel算子,GPU聚合算子将数据分发到不同的GPU kernel算子进行聚合处理,
步骤4、Reduce算子将聚合处理后的具有相同group ID的数据聚合汇总到一起,拷贝到目标地址。
步骤5、将所述目标地址中缓存的数据复制回CPU缓存。
进一步地,所述GPU kernel算子包括:OrderBy kernel算子、SUM kernel算子、Filter kernel算子和Filter kernel算子。
进一步地,所述OrderBy kernel算子选择GPU并行度最好的基数排序,OrderBykernel算子的基数排序操作包括如下过程:
(1)统计基数的出现情况;
(2)计算前置和求出关键字的偏移量;
(3)根据关键字的偏移量重新进行排序;
(4)分别对排序序列的每一条数据记录进行上述三步部操作,直到全部数据记录最终排序完成。
进一步地,所述Sum kernel算子根据数据规模来设定GPU工作组个数,每个工作组由256个GPU线程组成,工作组中的每个线程先将数据从全局内存拷贝到每个线程对应位置的本地缓存中,再对本地缓存中的数据做缩减操作,累计的偏移量从128、64一直缩减到1,最终完成本地缓存整体数据的累加,工作组中的第一个线程对应的本地缓存中存储了Sumkernel算子的运算结果。
进一步地,所述Filter kernel算子先定义一张与整体数据等长的映射表,该映射表用来存储原始数据是否满足过滤条件,整个Filter kernel分为两部分操作:
(1)根据输入的条件来判断数据是否符合过滤条件,将条件过滤结果记录到映射表中;
(2)通过映射表将符合条件的数据复制到目标数组中。
进一步地,采用Hadoop/Spark计算分析框架处理实时网络流量数据的处理流程包括:
步骤1、设定分析配置文件参数
Spark分析配置文件为Report.conf文件,通过任务调度模块修改Report.conf文件中的配置信息,定义InputPath流量源数据的HDFS存储路径,用于可视化OutputPath分析结果和JSON文件存储路径,以及从网络基础资源采集模块同步的信息系统IP地址集合、单位网段集合、重点IP集合和业务端口集合;
步骤2、调用Traffic.scala主程序处理
(1)AppAnalyzer类,此类用于匹配信息系统实时流量;
(2)DwAnalyzer类,此类用于匹配单位实时流量;
(3)KeyIPAnalyzer类,此类用于匹配重点IP实时流量;
(4)PortAnalyzer类,此类用于通过业务端口来匹配实时流量;
(5)IPConnAnalyzer类,此类用于匹配IP会话实时流量;
(6)IPAnalyzer类,此类用于匹配IP流量;
(7)ErrorAnalyze类,此类用于匹配异常流量。
通过以上类,针对用户的即时查找需求,从实时流量中抽取相关的时间段,组合与需求匹配的信息系统、单位、重点IP、IP会话实时流量计算类,并按需求粒度进行分析处理;
步骤3、生成分析结果
将步骤2分析处理生成的结果提交至数据库,用于展现层进行显示。
进一步地,采用Hadoop/Spark计算分析框架处理离线网络流量数据的分析处理包括:
步骤1、设定Pig分析配置文件参数
Pig分析配置文件为Report.conf,通过任务调度模块修改Report.conf文件中的配置信息,定义InputPath流量源数据的HDFS存储路径,用于可视化OutputPath分析结果和JSON文件存储路径,以及从网络基础资源采集模块同步的信息系统IP地址集合、单位网段集合、重点IP集合和业务端口集合;
步骤2、调用Hadoop相关Report类处理
(1)AppReport类,此类用于匹配信息系统流量;
(2)DwReport类,此类用于匹配单位流量;
(3)KeyIPReport类,此类用于匹配重点IP流量;
(4)PortReport类,此类用于通过业务端口来匹配流量;
(5)IPConnReport类,此类用于匹配IP会话流量;
(6)IPReport类,此类用于匹配IP流量;
(7)ErrorReport类,此类用于匹配异常流量。
通过以上类,通过定时任务进行信息系统、单位、重点IP、IP会话不同时间粒度的流量统计离线分析处理;
步骤3、生成分析结果
将步骤2分析处理生成的JSON格式结果输出,JSON文件直接用于可视化展现。
由上述本发明的实施例提供的技术方案可以看出,本发明实施例通过构建GPU计算分析框架和Hadoop/Spark计算分析框架GPU计算分析框架,选择GPU或者Hadoop/Spark计算分析框架GPU计算分析框架来处理实时或者离线的网络流量,可以有效地应对高速网络流量的实时或者离线统计分析处理,便于运营、维护、管理人员回溯分析数据。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种实时网络流量数据的GPU分析处理流程的架构图;
图2为本发明实施例提供的一种对于实时网络流量数据的Spark分析处理流程的架构图;
图3为本发明实施例提供的一种对于离线网络流量数据的分析处理流程的架构图。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
本发明实施例设计了一种基于GPU(Graphics Processing Unit,图形处理器)、Hadoop/Spark混合框架的网络流量分析方法,一方面解决单点流量的实时计算瓶颈,另一方面解决海量流量的离线计算瓶颈。
本发明实施例的方法需要构建GPU计算分析框架和Hadoop/Spark计算分析框架,根据实际情况选择GPU或者Hadoop/Spark计算分析框架来处理实时或者离线的网络流量。其中,GPU计算分析框架部署在装有GPU的单机节点上,通过使用GPU进行高性能计算,能够带来相比传统CPU计算最高数百倍的性能提升;Hadoop/Spark计算框架为大规模分布式处理系统,部署在服务器集群中,能够对海量流量数据进行快速高效的分析计算。Hadoop/Spark计算框架虽然能够解决海量流量数据的处理问题,但其计算等待时延有时无法满足实时处理需求,所需要集群环境搭建和维护的成本比较高。GPU计算分析框架虽然能提供高性能的计算能力,但是受限于GPU技术的发展,其内存容量和通用性与大规模分布式处理系统相比仍无法相比。
在本方法中计算分析框架的选择主要受限于可用内存的大小,根据算法特性和GPU工作原理,当GPU的可用内存的大小大于或者等于两倍的网络流量数据的大小时,则优先采用GPU计算分析框架来处理实时或者离线的网络流量。对于GPU的可用内存的大小不能够满足,即小于两倍的网络流量数据的大小时,则采用Hadoop/Spark计算分析框架来处理实时或离线的网络流量数据,实现高效、快速、定期的全网流量数据分析;对于难于搭建Hadoop/Spark大数据处理集群的环境,在流量采集部位采用GPU计算分析框架就近加速计算,来解决Hadoop/Spark计算分析框架实时分析效率低、数据集群搭建成本、后期能源及运维消耗巨大的问题,并且可以避免将海量流量数据回传至中心分析带来的网络负载。
本发明对于实时网络流量数据的GPU分析处理流程包括流量数据抽取模块、GPU运算模块、分析结果和写盘模块三个部分,其架构图如图1所示。详述如下:
步骤1、抽取数据
将输入流传输来的数据按照时间等条件进行过滤,去除冗余的数据,然后按照用户设定的时间力度将过滤后的数据分片,创建GPU缓存,将分片后的数据拷贝到GPU缓存中存储。
步骤2、Map算子
Map算子负责抽取GPU缓存中存储的数据,按用户指定的单位、信息系统、重点IP等集合(group)和设定的hash策略给抽取过的每条数据记录生成对应的group ID(标识)。生成group ID后,可以将数据连同group ID一起传递给GPU聚合算子计算。
步骤3、GPU聚合算子
GPU聚合算子包括用来处理聚合操作的一系列GPU kernel算子,主要的算子包括OrderBy kernel算子、Sum kernel算子、Filter kernel算子和Average kernel算子。GPU聚合算子将数据分发到不同的GPU kernel算子进行聚合处理。
OrderBy kernel算子选择GPU并行度最好的基数排序,OrderBy kernel算子的基数排序操作可以分解成如下过程:
(1)统计基数的出现情况;
(2)计算前置和求出关键字的偏移量;
(3)根据关键字的偏移量重新进行排序;
(4)分别对排序序列的每一条数据记录进行上述三步部操作,直到全部数据记录最终排序完成。
Sum kernel算子根据数据规模来设定GPU工作组个数,每个工作组由256个GPU线程组成。工作组中的每个线程先将数据从全局内存拷贝到每个线程对应位置的本地缓存中,然后再对本地缓存中的数据做缩减(reduce)操作,累计的偏移量从128、64一直缩减到1,最终完成本地缓存整体数据的累加,工作组中的第一个线程对应的本地缓存中存储了Sum kernel算子的运算结果。
Filter kernel算子为防止写冲突,先定义一张与整体数据等长的映射表,该映射表用来存储原始数据是否满足过滤条件,所以整个Filter kernel分为两部分操作:
(1)根据输入的条件来判断数据是否符合过滤条件,将条件过滤结果记录到映射表中;
(2)通过映射表将符合条件的数据复制到目标数组中。
Average kernel算子是基于Sum kernel算子来进行数值求和,然后将Sum kernel运算结果除以count。
步骤4、Reduce算子
Reduce算子将聚合处理后的具有相同group ID的数据聚合汇总到一起,拷贝到目标地址。
步骤5、内存写盘
将上述目标地址中缓存的数据复制回CPU缓存,然后交给输出流去写入磁盘,将直接用于报表显示的Json文件写入文件系统,将用于之后分析任务的中间数据写入MySQL等关系型数据库。
采用Hadoop/Spark计算分析框架处理实时网络流量数据的处理流程包括:设定Pig分析配置文件参数、调用Traffic.scala主程序处理、分析结果导出模块三个部分。其架构图如图2所示,具体处理过程包括:
步骤1、设定分析配置文件参数
Spark分析配置文件为Report.conf,通过任务调度模块修改Report.conf文件中的配置信息,定义InputPath流量源数据的HDFS存储路径,用于可视化OutputPath分析结果和JSON文件存储路径,以及从网络基础资源采集模块同步的信息系统IP地址集合、单位网段集合、重点IP集合和业务端口集合。
步骤2、调用Traffic.scala主程序处理
(1)AppAnalyzer类,此类用于匹配信息系统实时流量;
(2)DwAnalyzer类,此类用于匹配单位实时流量;
(3)KeyIPAnalyzer类,此类用于匹配重点IP实时流量;
(4)PortAnalyzer类,此类用于通过业务端口来匹配实时流量;
(5)IPConnAnalyzer类,此类用于匹配IP会话实时流量;
(6)IPAnalyzer类,此类用于匹配IP流量;
(7)ErrorAnalyze类,此类用于匹配异常流量。
通过以上类,用于针对用户的即时查找需求,从实时流量中抽取相关的时间段,组合与需求匹配的信息系统、单位、重点IP、IP会话实时流量计算类,并按需求粒度进行统计分析。
步骤3、生成分析结果
将步骤2分析处理生成的结果提交至MySQL数据库,用于展现层进行显示或其他操作。
采用Hadoop/Spark计算分析框架处理离线网络流量数据的分析处理包括:设定Pig分析配置文件参数、调用Hadoop相关Report类处理、生成分析结果模块三个部分,其架构图如图3所示,具体处理过程包括:
步骤1、设定Pig分析配置文件参数
Pig分析配置文件为Report.conf,通过任务调度模块修改Report.conf文件中的配置信息,定义InputPath流量源数据的HDFS存储路径,用于可视化OutputPath分析结果和JSON文件存储路径,以及从网络基础资源采集模块同步的信息系统IP地址集合、单位网段集合、重点IP集合和业务端口集合。
步骤2、调用Hadoop相关Report类处理
(1)AppReport类,此类用于匹配信息系统流量;
(2)DwReport类,此类用于匹配单位流量;
(3)KeyIPReport类,此类用于匹配重点IP流量;
(4)PortReport类,此类用于通过业务端口来匹配流量;
(5)IPConnReport类,此类用于匹配IP会话流量;
(6)IPReport类,此类用于匹配IP流量;
(7)ErrorReport类,此类用于匹配异常流量。
通过以上类,每小时1次的定时任务进行信息系统、单位、重点IP、IP会话不同时间粒度(分钟、小时、天)的流量统计离线分析。
步骤3、生成分析结果
将步骤2分析处理生成的JSON格式结果输出,JSON文件直接用于可视化展现或其他操作。
综上所述,本发明实施例通过构建GPU计算分析框架和Hadoop/Spark计算分析框架GPU计算分析框架,选择GPU或者Hadoop/Spark计算分析框架GPU计算分析框架来处理实时或者离线的网络流量,可以有效地应用于高速网络流量的实时或者离线统计分析处理,具有如下的有益效果:
(1)长期回溯:本发明描述了一种针对流量的长期细粒度保存和分析机制,便于运营、维护、管理人员回溯分析较长时间的历史流量数据。
(2)高速计算:本发明提供了分析接口,对预定义的流量分析指标进行高速统计分析。
(3)快速开发:本发明设计了GPU、Hadoop/Spark基础算子,当出现新的流量分析需求,通过基础算子的组合可以显著降低开发工作量。
(4)结果存储:对分析结果数据存放为JSON文件直接用于可视化报表显示,也可存放至关系型数据库中用于其它分析任务。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (9)

1.一种基于GPU、Hadoop/Spark混合计算框架的网络流量分析方法,其特征在于,包括:
构建GPU计算分析框架和Hadoop/Spark计算分析框架,选择GPU或者Hadoop/Spark计算分析框架来处理实时或者离线的网络流量。
2.根据权利要求1所述的方法,其特征在于,所述的GPU计算分析框架部署在装有GPU的单机节点上,所述Hadoop/Spark计算框架为分布式处理系统,部署在服务器集群中,当GPU的可用内存的大小大于或者等于两倍的网络流量数据的大小时,则优先采用GPU计算分析框架来处理实时或者离线的网络流量。
3.根据权利要求1或2所述的方法,其特征在于:
采用GPU计算分析框架来处理实时网络流量的处理过程包括:
步骤1、将输入流传输来的数据按照时间条件进行过滤,去除冗余的数据,按照用户设定的时间力度将过滤后的数据分片,创建GPU缓存,将分片后的数据拷贝到GPU缓存中存储;
步骤2、采用Map算子抽取GPU缓存中存储的数据,按用户指定的集合和设定的hash策略给抽取过的每条数据记录生成对应的group ID(标识),将数据连同group ID一起传递给GPU聚合算子计算;
步骤3、GPU聚合算子包括用来处理聚合操作的一系列GPU kernel算子,GPU聚合算子将数据分发到不同的GPU kernel算子进行聚合处理,
步骤4、Reduce算子将聚合处理后的具有相同group ID的数据聚合汇总到一起,拷贝到目标地址。
步骤5、将所述目标地址中缓存的数据复制回CPU缓存。
4.根据权利要求3所述的方法,其特征在于,所述GPU kernel算子包括:OrderBykernel算子、SUM kernel算子、Filter kernel算子和Filter kernel算子。
5.根据权利要求4所述的方法,其特征在于,所述OrderBy kernel算子选择GPU并行度最好的基数排序,OrderBy kernel算子的基数排序操作包括如下过程:
(1)统计基数的出现情况;
(2)计算前置和求出关键字的偏移量;
(3)根据关键字的偏移量重新进行排序;
(4)分别对排序序列的每一条数据记录进行上述三步部操作,直到全部数据记录最终排序完成。
6.根据权利要求4所述的方法,其特征在于,所述Sum kernel算子根据数据规模来设定GPU工作组个数,每个工作组由256个GPU线程组成,工作组中的每个线程先将数据从全局内存拷贝到到每个线程对应位置的本地缓存中,再对本地缓存中的数据做缩减操作,累计的偏移量从128、64一直缩减到1,最终完成本地缓存整体数据的累加,工作组中的第一个线程对应的本地缓存中存储了Sum kernel算子的运算结果。
7.根据权利要求4所述的方法,其特征在于,所述Filter kernel算子先定义一张与整体数据等长的映射表,该映射表用来存储原始数据是否满足过滤条件,整个Filter kernel分为两部分操作:
(1)根据输入的条件来判断数据是否符合过滤条件,将条件过滤结果记录到映射表中;
(2)通过映射表将符合条件的数据复制到目标数组中。
8.根据权利要求1或2所述的方法,其特征在于:
采用Hadoop/Spark计算分析框架处理实时网络流量数据的处理流程包括:
步骤1、设定分析配置文件参数
Spark分析配置文件为Report.conf文件,通过任务调度模块修改Report.conf文件中的配置信息,定义InputPath流量源数据的HDFS存储路径,用于可视化OutputPath分析结果和JSON文件存储路径,以及从网络基础资源采集模块同步的信息系统IP地址集合、单位网段集合、重点IP集合和业务端口集合;
步骤2、调用Traffic.scala主程序处理
(1)AppAnalyzer类,此类用于匹配信息系统实时流量;
(2)DwAnalyzer类,此类用于匹配单位实时流量;
(3)KeyIPAnalyzer类,此类用于匹配重点IP实时流量;
(4)PortAnalyzer类,此类用于通过业务端口来匹配实时流量;
(5)IPConnAnalyzer类,此类用于匹配IP会话实时流量;
(6)IPAnalyzer类,此类用于匹配IP流量;
(7)ErrorAnalyze类,此类用于匹配异常流量。
通过以上类,针对用户的即时查找需求,从实时流量中抽取相关的时间段,组合与需求匹配的信息系统、单位、重点IP、IP会话实时流量计算类,并按需求粒度进行分析处理;
步骤3、生成分析结果
将步骤2分析处理生成的结果提交至数据库,用于展现层进行显示。
9.根据权利要求1或2所述的方法,其特征在于:
采用Hadoop/Spark计算分析框架处理离线网络流量数据的分析处理包括:
步骤1、设定Pig分析配置文件参数
Pig分析配置文件为Report.conf,通过任务调度模块修改Report.conf文件中的配置信息,定义InputPath流量源数据的HDFS存储路径,用于可视化OutputPath分析结果和JSON文件存储路径,以及从网络基础资源采集模块同步的信息系统IP地址集合、单位网段集合、重点IP集合和业务端口集合;
步骤2、调用Hadoop相关Report类处理
(1)AppReport类,此类用于匹配信息系统流量;
(2)DwReport类,此类用于匹配单位流量;
(3)KeyIPReport类,此类用于匹配重点IP流量;
(4)PortReport类,此类用于通过业务端口来匹配流量;
(5)IPConnReport类,此类用于匹配IP会话流量;
(6)IPReport类,此类用于匹配IP流量;
(7)ErrorReport类,此类用于匹配异常流量。
通过以上类,通过定时任务进行信息系统、单位、重点IP、IP会话不同时间粒度的流量统计离线分析处理;
步骤3、生成分析结果
将步骤2分析处理生成的JSON格式结果输出,JSON文件直接用于可视化展现。
CN201610942935.0A 2016-11-01 2016-11-01 基于GPU、Hadoop/Spark混合计算框架的网络流量分析方法 Active CN106506266B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610942935.0A CN106506266B (zh) 2016-11-01 2016-11-01 基于GPU、Hadoop/Spark混合计算框架的网络流量分析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610942935.0A CN106506266B (zh) 2016-11-01 2016-11-01 基于GPU、Hadoop/Spark混合计算框架的网络流量分析方法

Publications (2)

Publication Number Publication Date
CN106506266A true CN106506266A (zh) 2017-03-15
CN106506266B CN106506266B (zh) 2019-05-14

Family

ID=58320905

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610942935.0A Active CN106506266B (zh) 2016-11-01 2016-11-01 基于GPU、Hadoop/Spark混合计算框架的网络流量分析方法

Country Status (1)

Country Link
CN (1) CN106506266B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107168681A (zh) * 2017-03-31 2017-09-15 北京奇艺世纪科技有限公司 一种实时任务处理方法及装置
CN107168782A (zh) * 2017-04-24 2017-09-15 复旦大学 一种基于Spark与GPU的并行计算系统
CN108446985A (zh) * 2018-03-21 2018-08-24 张家林 证券投资组合的分享系统及方法
CN108984155A (zh) * 2018-05-17 2018-12-11 阿里巴巴集团控股有限公司 数据处理流程设定方法和装置
CN109639793A (zh) * 2018-12-10 2019-04-16 广东浪潮大数据研究有限公司 一种集群nas系统监控方法、装置、设备及介质
CN110597856A (zh) * 2019-08-20 2019-12-20 华能四川水电有限公司 一种流量深度解析数据的快速检索系统和方法
CN111698178A (zh) * 2020-04-14 2020-09-22 新华三技术有限公司 一种流量分析方法及装置
CN112612587A (zh) * 2020-12-25 2021-04-06 江苏省未来网络创新研究院 一种针对流量分析的Spark平台动态资源调配方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104144142A (zh) * 2013-05-07 2014-11-12 阿里巴巴集团控股有限公司 一种Web漏洞挖掘方法及系统
CN104965689A (zh) * 2015-05-22 2015-10-07 浪潮电子信息产业股份有限公司 一种cpu/gpu的混合并行计算方法及装置
CN105335135A (zh) * 2014-07-14 2016-02-17 华为技术有限公司 数据处理方法和中心节点
CN105653476A (zh) * 2014-11-12 2016-06-08 华为技术有限公司 一种数据处理器件与内存设备的通信方法及相关装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104144142A (zh) * 2013-05-07 2014-11-12 阿里巴巴集团控股有限公司 一种Web漏洞挖掘方法及系统
CN105335135A (zh) * 2014-07-14 2016-02-17 华为技术有限公司 数据处理方法和中心节点
CN105653476A (zh) * 2014-11-12 2016-06-08 华为技术有限公司 一种数据处理器件与内存设备的通信方法及相关装置
CN104965689A (zh) * 2015-05-22 2015-10-07 浪潮电子信息产业股份有限公司 一种cpu/gpu的混合并行计算方法及装置

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107168681A (zh) * 2017-03-31 2017-09-15 北京奇艺世纪科技有限公司 一种实时任务处理方法及装置
CN107168782A (zh) * 2017-04-24 2017-09-15 复旦大学 一种基于Spark与GPU的并行计算系统
CN108446985A (zh) * 2018-03-21 2018-08-24 张家林 证券投资组合的分享系统及方法
CN108984155A (zh) * 2018-05-17 2018-12-11 阿里巴巴集团控股有限公司 数据处理流程设定方法和装置
CN108984155B (zh) * 2018-05-17 2021-09-07 创新先进技术有限公司 数据处理流程设定方法和装置
CN109639793A (zh) * 2018-12-10 2019-04-16 广东浪潮大数据研究有限公司 一种集群nas系统监控方法、装置、设备及介质
CN110597856A (zh) * 2019-08-20 2019-12-20 华能四川水电有限公司 一种流量深度解析数据的快速检索系统和方法
CN111698178A (zh) * 2020-04-14 2020-09-22 新华三技术有限公司 一种流量分析方法及装置
CN111698178B (zh) * 2020-04-14 2022-08-30 新华三技术有限公司 一种流量分析方法及装置
CN112612587A (zh) * 2020-12-25 2021-04-06 江苏省未来网络创新研究院 一种针对流量分析的Spark平台动态资源调配方法

Also Published As

Publication number Publication date
CN106506266B (zh) 2019-05-14

Similar Documents

Publication Publication Date Title
CN106506266A (zh) 基于GPU、Hadoop/Spark混合计算框架的网络流量分析方法
CN110912773B (zh) 面向多公有云计算平台的集群监控系统及其监控方法
KR101559206B1 (ko) 로그 데이터 처리 방법 및 이를 수행하는 시스템
WO2020233212A1 (zh) 一种日志记录的处理方法、服务器及存储介质
CN109831478A (zh) 基于规则及模型的分布式实时处理智能决策系统及方法
CN106547882A (zh) 一种智能电网中营销大数据的实时处理方法及系统
CN109981416A (zh) 一种区块链性能检测方法与系统
CN116668380B (zh) 汇聚分流器设备的报文处理方法及装置
CN106815254A (zh) 一种数据处理方法和装置
CN109725899A (zh) 数据流式处理方法及装置
CN110460591A (zh) 基于改进分层时间记忆网络的cdn流量异常检测装置及方法
CN105574032A (zh) 规则匹配运算方法及装置
CN105959175A (zh) 基于GPU加速的kNN算法的网络流量分类方法
CN112347163A (zh) 高离散度sql动态基线告警方法及系统
CN104243348A (zh) 一种数据处理方法和装置
CN106375295A (zh) 数据存储监控方法
CN106951360A (zh) 数据统计完整度计算方法和系统
CN114401158A (zh) 流量计费方法、装置、电子设备及存储介质
CN110321364A (zh) 信用卡管理系统的交易数据查询方法、装置及终端
CN106990913B (zh) 一种大规模流式集合数据的分布式处理方法
CN112306628B (zh) 一种基于多核服务器的虚拟网络功能资源管理系统
CN107528731B (zh) 应用于ns3并行仿真的网络分割优化算法
CN112631754A (zh) 数据处理方法、装置、存储介质及电子装置
CN105847063A (zh) 核心网数据管理方法和系统
CN110209656A (zh) 数据处理方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant