一种网络流量数据存储方法及系统、查询方法及装置制造方法及图纸

技术编号:14995432 阅读:142 留言:0更新日期:2017-04-04 01:01
本发明专利技术提供了一种网络流量数据存储方法和系统,步骤一,采集网络数据,步骤二,将所述网络数据存储至分布式消息中间件Kafka;步骤三,使用Storm流式计算框架订阅所述Kafka中网络流量数据进行处理;步骤四,将已经进行拓扑处理的网络数据存储到分布式文件系统HDFS以及分布式键值型数据库HBase;步骤五,通过分布式批处理计算框架MapReduce对所述特征向量构建索引系统,并与所述HDFS及所述HBase进行关联。本发明专利技术采用大数据技术架构,同时保证各环节的高可靠性与高性能,可应对10gbps的网络环境;同时减少无意义的副本冗余以节省成本;并提供通用的第三方接口,易于其他厂商集成;同时在P级数据量下提供按五元组条件任意组合检索的秒级查询。

【技术实现步骤摘要】

本专利技术涉及大数据技术以及网络安全
,尤其涉及一种网络流量数据存储方法及系统、查询方法及装置
技术介绍
早期网络流量数据的存储在网络安全领域并没有得到广泛重视,主要由于存储成本高,数据利用率低,传统的网络安全技术已经能满足一定的网络安全需求。但随着网络安全产生的问题日益增多,网络安全技术已不仅仅是IDS(IntrusionDetectionSystem,入侵检测系统)、防火墙、恶意代码检测、防病毒软件等,更多的网络安全问题将面临挑战。随着大数据时代的到来,新一代的网络安全技术迎来发展机遇,由大数据技术负责网络流量数据的存储,传统的网络安全技术奖与大数据技术进行结合,如基于大数据的网络安全审计、网络威胁检测、网络安全预警、DPI(DeepPacketInspection,深度包检测)等,存储网络流量数据为应对0-day攻击、APT(AdvancedPersistentThreat,高级可持续攻击)等提供数据基础。现有技术不足在于:首先,采集设备不适合持久化数据:采集设备本身存储空间有限,不适合长期存储;可靠性和性能不易于兼顾,若采用RAID技术保证可靠性,会严重影响采集吞吐量,无法应对10gbps的网络流量;其次,关系型数据库的吞吐量往往不足以满足海量实时数据接入的性能要求,或需要更多的设备成本;再有,传统的技术架构往往重视模块间的独立性,不易于支持基于大数据架构的数据分析应用。<br>
技术实现思路
鉴于上述问题,本专利技术实施例提出了一种网络流量数据存储方法及系统、查询方法及装置,以期能够解决或部分解决采集设备本身存储空间有限,以及不能满足海量数据进行接入的问题。为达到上述目的,本专利技术的技术方案是这样实现的:一种网络流量数据存储方法:其特征在于,所述方法包括:步骤一,采集网络数据;步骤二,将所述网络数据存储至分布式消息中间件Kafka;步骤三,采用流式计算框架Storm将所述Kafka中网络流量数据进行拓扑处理;步骤四,将已经进行拓扑处理的网络数据存储到分布式文件系统HDFS以及分布式键值型数据库HBase;步骤五,通过分布式批处理计算框架MapReduce对所述特征向量构建索引系统,并与所述HDFS及所述HBase进行关联。对所述Kafka中的网络数据进行拓扑处理,进一步包括,对所述网络数据进行持久化拓扑是指,第一中间件处理单元KafkaSpout从所述Kafka获取网络数据,并将所述网络数据封装成包结构体,并发送给会话的处理单元TransformBolt;所述TransformBolt接收所述第一KafkaSpout提交的所述包结构体,并封装成会话结构体,所述会话结构体包括长会话结构体和短会话结构体;所述TransformBolt将所述长会话结构体提交给HdfsBolt,所述短会话结构体提交给数据库处理单元HBaseBolt;其中,所述分布式系统处理单元HdfsBolt将长会话结构体写入所述HDFS;所述HBaseBolt将短会话结构体写入所述HBase。进一步包括,对所述网络数据进行特征向量提取拓扑是指,第二中间件处理单元KafkaSpout从所述Kafka获取网络数据,封装成包结构体,并发送给特征向量的处理单元FeatureBolt,所述FeatureBolt接收所述第二KafkaSpout提交的所述包结构体,并通过所述包结构体提取包内容的特征向量,所述分布式系统处理单元HdfsBolt。进一步,所述HBase包括主键,所述主键包括预分区前缀、会话五元组的Hex值、时间戳Hex值,其中,所述预分区前缀由五元组Hex值的哈希生成,根据所述预分区前缀按首字节将所述HBase预分为256区。所述索引系统,采用双向端口对的方式存储网络数据。针对上述存储方法本专利技术还提供一种网络流量数据查询方法,检索T时间内索引系统中网络数据的五元组;根据所述五元组确定分布式键值型数据库HBase主键前缀,并扫描短会话数据;按照五元组确定分布式文件系统HDFS网络数据文件路径,根据时间戳进行长会话数据下载;将输出结果返回客户端。另一方面,本专利技术还提供了一种网络流量数据存储系统,其特征在于,所述系统包括采集装置,分布式消息中间件Kafka,拓扑装置,发送装置,构建装置:所述采集装置,用于采集网络数据,并将采集的网络数据存储至分布式消息中间件Kafka;所述拓扑装置,用于采用流式计算框架Storm将存储在所述Kafka中的网络数据进行拓扑处理;所述发送装置,用于将已经进行拓扑处理的网络数据存储到分布式文件系统HDFS以及分布式键值型数据库HBase;所述构建装置,用于通过分布式批处理计算框架MapReduce对所述特征向量构建索引系统,并与所述HDFS及所述HBase进行关联。所述拓扑装置包括持久化拓扑模块,所述持久化拓扑模块包括,第一中间件处理单元KafkaSpout、会话的处理单元TransformBolt、分布式处理单元HdfsBolt、数据库处理单元HBaseBolt,其中,所述第一KafkaSpout用于从所述Kafka获取网络数据,并将所述网络数据封装成包结构体,发送给所述TransformBolt;所述TransformBolt用于接收所述第一KafkaSpout提交的所述包结构体,并封装成会话结构体,所述会话结构体包括长会话结构体和短会话结构体。所述TransformBolt还用于将所述长会话结构体提交给HdfsBolt,将短会话结构体提交给HBaseBolt,所述HdfsBolt用于将长会话结构体写入HDFS;所述HBaseBolt用于将短会话结构体写入HBase。所述拓扑装置还包括特征向量提取拓扑模块,特征向量提取拓扑模块包括第二中间件处理单元KafkaSpout单元、特征向量处理单元FeatureBolt、分布式系统处理单元HdfsBolt,其中,第二KafkaSpout用于从所述Kafka获取网络数据,封装成包结构体,并发送给FeatureBolt。所述FeatureBolt单元用于接收所述第二KafkaSpout提交的所述包结构体,并通过所述包结构体提取包内容的特征向量,所述HdfsBolt用于将所述特征向量写入所述HDFS。构建装置包括生成单元,所述HBase包括主键,所述主键由预分区前缀、会话五元组的Hex值、时间戳H本文档来自技高网
...

【技术保护点】
一种网络流量数据存储方法,其特征在于,所述方法包括:步骤一,采集网络数据;步骤二,将所述网络数据存储至分布式消息中间件Kafka;步骤三,采用流式计算框架Storm将所述Kafka中网络流量数据进行拓扑处理;步骤四,将已经进行拓扑处理的网络数据存储到分布式文件系统HDFS以及分布式键值型数据库HBase;步骤五,通过分布式批处理计算框架MapReduce对所述特征向量构建索引系统,并与所述HDFS及所述HBase进行关联。

【技术特征摘要】
1.一种网络流量数据存储方法,其特征在于,所述方法包括:
步骤一,采集网络数据;
步骤二,将所述网络数据存储至分布式消息中间件Kafka;
步骤三,采用流式计算框架Storm将所述Kafka中网络流量数据进行拓扑
处理;
步骤四,将已经进行拓扑处理的网络数据存储到分布式文件系统HDFS以
及分布式键值型数据库HBase;
步骤五,通过分布式批处理计算框架MapReduce对所述特征向量构建索引
系统,并与所述HDFS及所述HBase进行关联。
2.如权利要求1所述方法,其特征在于,对所述网络数据进行持久化拓扑
是指,第一中间件处理单元KafkaSpout从所述Kafka获取网络数据,并将所
述网络数据封装成包结构体,并发送给会话的处理单元TransformBo1t;
所述TransformBolt接收所述第一KafkaSpout提交的所述包结构体,并
封装成会话结构体,所述会话结构体包括长会话结构体和短会话结构体;
所述TransformBolt将所述长会话结构体提交给分布式系统处理单元
HdfsBolt,所述短会话结构体提交给数据库处理单元HBaseBolt;
其中,所述分布式系统处理单元HdfsBolt将长会话结构体写入所述
HDFS;所述HBaseBolt将短会话结构体写入所述HBase。
3.如权利要求2所述方法,其特征在于,对所述网络数据进行特征向量提
取拓扑是指,第二中间件处理单元KafkaSpout从所述Kafka获取网络数据,
封装成包结构体,并发送给特征向量处理单元FeatureBolt;
所述FeatureBolt接收所述第二KafkaSpout提交的所述包结构体,并通
过所述包结构体提取包内容的特征向量,所述分布式系统处理单元HdfsBolt
将所述特征向量写入所述HDFS。
4.如权利要求1所述方法,其特征在于,所述HBase包括主键,所述主键

\t包括预分区前缀、会话五元组的Hex值、时间戳Hex值,其中,所述预分区前
缀由五元组Hex值的哈希生成,根据所述预分区前缀按首字节将所述HBase预
分为256区。
5.如权利要求1所述方法,其特征在于,所述索引系统,采用双向端口对
的方式存储网络数据。
6.采用如权利要求1-5任意一项所述的方法存储数据后的数据查询方法,
其特征在于,
检索T时间内索引系统中网络数据的五元组;
根据所述五元组确定分布式键值型数据库HBase主键前缀,并扫描短会话
数据;
按照五元组确定分布式文件系统HDFS网络数据文件路径,根据时间戳进
行长会话数据下载;
将输出结果返回客户端。
7.一种网络流量数据存储系统,其特征在于,所述系统包括采集装置,
分布式消息中间件Kafka,拓扑装置,发送装置,构建装置;
所述采集装置,用于采集网络数据,并将采集的网络数据存储至分布式
消息中间件Kafka;
所述拓扑装置,用于采用流式计算框架Storm将存储...

【专利技术属性】
技术研发人员:李秋实郭庆谢莹莹惠润海宋怀明
申请(专利权)人:曙光信息产业北京有限公司
类型:发明
国别省市:北京;11

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

1