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

文档序号:9914516阅读:944来源:国知局
一种网络流量数据存储方法及系统、查询方法及装置的制造方法
【技术领域】
[0001] 本发明涉及大数据技术以及网络安全技术领域,尤其涉及一种网络流量数据存储 方法及系统、查询方法及装置。
【背景技术】
[0002] 早期网络流量数据的存储在网络安全领域并没有得到广泛重视,主要由于存储成 本高,数据利用率低,传统的网络安全技术已经能满足一定的网络安全需求。但随着网络安 全产生的问题日益增多,网络安全技术已不仅仅是IDS(Intrusion Detection System,入 侵检测系统)、防火墙、恶意代码检测、防病毒软件等,更多的网络安全问题将面临挑战。
[0003] 随着大数据时代的到来,新一代的网络安全技术迎来发展机遇,由大数据技术负 责网络流量数据的存储,传统的网络安全技术奖与大数据技术进行结合,如基于大数据的 网络安全审计、网络威胁检测、网络安全预警、DPI (Deep Packet Inspection,深度包检测) 等,存储网络流量数据为应对〇-day攻击、APT (Advanced Persistent Threat,高级可持续 攻击)等提供数据基础。
[0004] 现有技术不足在于:
[0005] 首先,采集设备不适合持久化数据:采集设备本身存储空间有限,不适合长期存 储;可靠性和性能不易于兼顾,若采用RAID技术保证可靠性,会严重影响采集吞吐量,无法 应对lOgbps的网络流量;
[0006] 其次,关系型数据库的吞吐量往往不足以满足海量实时数据接入的性能要求,或 需要更多的设备成本;
[0007] 再有,传统的技术架构往往重视模块间的独立性,不易于支持基于大数据架构的 数据分析应用。

【发明内容】

[0008] 鉴于上述问题,本发明实施例提出了一种网络流量数据存储方法及系统、查询方 法及装置,以期能够解决或部分解决采集设备本身存储空间有限,以及不能满足海量数据 进行接入的问题。
[0009] 为达到上述目的,本发明的技术方案是这样实现的:一种网络流量数据存储方法: 其特征在于,所述方法包括:
[0010]步骤一,采集网络数据;
[0011]步骤二,将所述网络数据存储至分布式消息中间件Kafka;
[0012] 步骤三,采用流式计算框架Storm将所述Kafka中网络流量数据进行拓扑处理; [0013]步骤四,将已经进行拓扑处理的网络数据存储到分布式文件系统HDFS以及分布式 键值型数据库HBase;
[0014]步骤五,通过分布式批处理计算框架MapReduce对所述特征向量构建索引系统,并 与所述HDFS及所述HBase进行关联。
[0015]对所述Kafka中的网络数据进行拓扑处理,进一步包括,
[0016]对所述网络数据进行持久化拓扑是指,第一中间件处理单元KafkaSpout从所述 Kafka获取网络数据,并将所述网络数据封装成包结构体,并发送给会话的处理单元 TransformBolt;
[0017] 所述TransformBolt接收所述第一 KafkaSpout提交的所述包结构体,并封装成会 话结构体,所述会话结构体包括长会话结构体和短会话结构体;
[0018] 所述TransformBolt将所述长会话结构体提交给HdfsBolt,所述短会话结构体提 交给数据库处理单元HBaseBolt;
[0019] 其中,所述分布式系统处理单元HdfsBolt将长会话结构体写入所述HDFS;所述 HBaseBolt将短会话结构体写入所述HBase。
[0020]进一步包括,对所述网络数据进行特征向量提取拓扑是指,第二中间件处理单元 KafkaSpout从所述Kafka获取网络数据,封装成包结构体,并发送给特征向量的处理单元 FeatureBolt,
[0021 ] 所述FeatureBolt接收所述第二KafkaSpout提交的所述包结构体,并通过所述包 结构体提取包内容的特征向量,所述分布式系统处理单元HdfsBolt。
[0022] 进一步,所述HBase包括主键,所述主键包括预分区前缀、会话五元组的Hex值、时 间戳Hex值,其中,所述预分区前缀由五元组Hex值的哈希生成,根据所述预分区前缀按首字 节将所述HBase预分为256区。
[0023]所述索引系统,采用双向端口对的方式存储网络数据。
[0024] 针对上述存储方法本发明还提供一种网络流量数据查询方法,
[0025] 检索T时间内索引系统中网络数据的五元组;
[0026]根据所述五元组确定分布式键值型数据库HBase主键前缀,并扫描短会话数据; [0027]按照五元组确定分布式文件系统HDFS网络数据文件路径,根据时间戳进行长会话 数据下载;
[0028]将输出结果返回客户端。
[0029] 另一方面,本发明还提供了一种网络流量数据存储系统,其特征在于,所述系统包 括采集装置,分布式消息中间件Kafka,拓扑装置,发送装置,构建装置:
[0030] 所述采集装置,用于采集网络数据,并将采集的网络数据存储至分布式消息中间 件Kafka;
[0031] 所述拓扑装置,用于采用流式计算框架Storm将存储在所述Kafka中的网络数据进 行拓扑处理;
[0032]所述发送装置,用于将已经进行拓扑处理的网络数据存储到分布式文件系统HDFS 以及分布式键值型数据库HBase;
[0033] 所述构建装置,用于通过分布式批处理计算框架MapReduce对所述特征向量构建 索引系统,并与所述HDFS及所述HBase进行关联。
[0034]所述拓扑装置包括持久化拓扑模块,
[0035]所述持久化拓扑模块包括,第一中间件处理单元KafkaSpout、会话的处理单元 TransformBolt、分布式处理单元HdfsBolt、数据库处理单元HBaseBolt,其中,
[0036]所述第一 KafkaSpout用于从所述Kafka获取网络数据,并将所述网络数据封装成 包结构体,发送给所述TransformBolt;
[OO37] 所述TransformBolt用于接收所述第一 KafkaSpout提交的所述包结构体,并封装 成会话结构体,所述会话结构体包括长会话结构体和短会话结构体。
[0038] 所述TransformBolt还用于将所述长会话结构体提交给HdfsBolt,将短会话结构 体提交给HBaseBolt,
[0039] 所述HdfsBolt用于将长会话结构体写入HDFS;所述HBaseBolt用于将短会话结构 体写入HBase。
[0040] 所述拓扑装置还包括特征向量提取拓扑模块,
[0041 ] 特征向量提取拓扑模块包括第二中间件处理单元KafkaSpout单元、特征向量处理 单元FeatureBolt、分布式系统处理单元HdfsBolt,其中,第二KafkaSpout用于从所述Kafka 获取网络数据,封装成包结构体,并发送给FeatureBolt。
[0042] 所述FeatureBolt单元用于接收所述第二KafkaSpout提交的所述包结构体,并通 过所述包结构体提取包内容的特征向量,
[0043] 所述Hdf sBo 11用于将所述特征向量写入所述HDFS。
[0044] 构建装置包括生成单元,所述HBase包括主键,所述主键由预分区前缀、会话五元 组的Hex值、时间戳Hex值构成,其中,生成单元用于根据五元组Hex值哈希生成所述预分区 如缀;
[0045]分区单元,用于根据所述预分区前缀按首字节将所述HBase预分为256区。
[0046] 所述索引系统,采用双向端口对方式存储网络数据。
[0047] 针对上述存储系统本发明提供一种网络流量数据查询装置,其特征在于,包括
[0048] 检索模块,用于检索T时间内索引系统中网络数据的五元组;
[0049] 扫描模块,用于根据所述五元组确定分布式键值型数据库HBase主键前缀,并扫描 短会话数据;
[0050] 下载模块,用于按照五元组确定分布式文件系统HDFS网络数据文件路径,根据时 间戳进行长会话数据下载;
[0051] 输出模块,用于将输出结果返回客户端。
[0052] 有益效果如下:
[0053]本发明提出的一种网络流量数据存储方法及系统、查询方法及装置,采用Kafka作 为实时数据的消息中间件:易于实现多点采集,统一管理;也可直接提供给第三方的实时分 析预警平台,比传统的多次转发技术更加可靠。本发明采用大数据技术架构,同时保证各环 节的高可靠性与高性能,可应对lOgbps的网络环境;同时减少无意义的副本冗余以节省成 本;并提供通用的第三方接口,易于其他厂商集成;同时在P级数据量下提供按五元组条件 任意组合检索的的秒级查询。
【附图说明】
[0054]下面将参照附图描述本发明的具体实施例,其中:
[0055] 图1示出了本发明的物理架构图示意图;
[0056] 图2示出了本发明实施例一中一种网络流量数据存储方法的数据处理流程图; [0057]图3示出了本发明实施例一数据接入与分布式消息中间件处理流程图;
[0058]图4示出了本发明实施例一中持久化处理拓扑图;
[0059] 图5示出了本发明实施例一中TransformBolt流式处理流程图;
[0060] 图6示出了本发明实施例一中Transform
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1