一种网络数据包的分析方法及系统与流程

文档序号:12494955阅读:1275来源:国知局
一种网络数据包的分析方法及系统与流程

本发明涉及网络数据包领域,尤其涉及一种网络数据包的分析方法及系统。



背景技术:

数据包分析,通常也被称为数据包嗅探或协议分析,指的是捕获和解析网络上在线传输数据的过程,通常目的是为了能更好地了解网络上正在发生的事情。数据包分析技术可以通过以下方法来达到目标:了解网络特征、查看网络上的通信主体、确认谁或是哪些应用在占用网络带宽、识别网络使用的高峰时间、识别可能的攻击或恶意活动、寻找不安全以及滥用网络资源的应用。

随着企业的发展和企业规模的扩大,企业网络流量也随之扩大,传统的网络分析设备已经无法满足大规模内网的网络数据的分析需求。



技术实现要素:

有鉴于此,本发明是为了克服现有技术中无法满足大规模网络数据的分析需求的缺陷,提供一种能够扩展的、分布式的网络数据包的分析方法及系统。

本发明的目的是通过以下技术方案实现的:

一种网络数据包的分析方法,其特征在于,包括以下步骤:

S1、获取网络数据包;

S2、根据解析对象将该网络数据包的分析内容划分为多个任务,并确定该多个任务的执行顺序;

S3、创建与该多个任务一一对应的多个消息队列和多个计算节点组,其中,每个计算节点组包括至少一个计算节点;

S4、将该网络数据包缓存至与该多个任务中的起始任务对应的消息队列;

S5、根据该执行顺序每个计算节点组依次执行以下动作直至最后一个任务被执行:获取与计算节点组自身对应的消息队列中的所有数据,并执行与该计算节点组对应的任务,以及将执行的结果发送至下一个任务对应的消息队列。

较佳地,当最后一个任务被执行完时,与该最后一个任务对应的计算节点组将执行的结果发送至与该计算节点组对应的消息队列。

较佳地,该解析对象包括IP地址、端口、网络协议和URL地址。

较佳地,所有的消息队列属于一个集群,所有的计算节点组属于另一个集群。

本发明还提供一种网络数据包的分析系统,包括一主机、一第一集群以及一第二集群,

该主机用于获取网络数据包,并根据解析对象将该网络数据包的分析内容划分为多个任务,以及确定该多个任务的执行顺序;

该第一集群包括与该多个任务一一对应的多个消息队列;

该第二集群包括与该多个任务一一对应的多个计算节点组,其中,每个计算节点组包括至少一个计算节点;

该主机还用于将该网络数据包缓存至与该多个任务中的起始任务对应的消息队列中;

每个计算节点组用于根据该执行顺序依次执行以下动作直至最后一个任务被执行:获取与计算节点组自身对应的消息队列中的所有数据,并执行与该计算节点组对应的任务,以及将执行的结果发送至下一个任务对应的消息队列。

本领域的技术人员应当理解,当与最后一个任务对应的计算节点组用于将执行的结果发送至与该计算节点组对应的消息队列。

较佳地,该解析对象包括IP地址、端口、网络协议和/或URL地址。

与现有技术相比,本发明至少具有以下优点:

通过上述本发明的技术方案,本发明中网络数据包的分析内容被拆分为多个任务,并将其分发至不同的计算节点组,以消息队列为核心进行分布式地处理,大大地提高了处理能力,减少了不同计算节点之间的耦合性。同时,还可以实现水平扩展,在硬件资源丰富的情况下可以无限制扩展。

附图说明

图1为本发明实施例提供的网络数据包的分析系统的结构框图;

图2为本发明实施例提供的网络数据包的分析方法的流程图。

具体实施方式

下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

一种网络数据包的分析系统,如图1所示,包括主机11、第一集群12以及第二集群13,

主机11用于获取网络数据包,并根据解析对象将该网络数据包的分析内容划分为任务A、B和C,并确定执行顺序依次为任务A、B和C。

具体地,任务A为解析IP地址和端口信息,任务B为解析网络协议,任务C为解析URL地址。

第一集群12包括与任务A一一对应的消息队列QA、与任务B一一对应的消息队列QB以及与任务C一一对应的消息队列QC。

第二集群13包括与任务A一一对应的计算节点组NA、与任务B一一对应的计算节点组NB以及与任务C一一对应的计算节点组NC。其中,计算节点组NA包括计算节点NA1、NA2和NA3,计算节点组NB包括计算节点NB1、NB2和NB3,计算节点组NC包括计算节点NC1和NC2。

主机11还用于将该网络数据包缓存至消息队列QA。

每个计算节点组用于根据该执行顺序获取与计算节点组自身对应的消息队列中的所有数据,并执行与该计算节点组对应的任务,以及将执行的结果发送至下一个任务对应的消息队列,直至任务C被执行。

本实施例还提供一种网络数据包的分析方法,如图2所示,包括以下步骤:

步骤101、获取网络数据包;

步骤102、将该网络数据包的分析内容划分为任务A、B、C,并确定执行顺序依次为任务A、B、C;

步骤103、创建消息队列QA、QB和QC,以及计算节点组NA、NB和NC;

步骤104、将该网络数据包缓存至消息队列QA;

步骤105、计算节点组NA获取消息队列QA中的所有数据,执行任务A,将执行的结果发送至消息队列QB;

步骤106、计算节点组NB获取消息队列QB中的所有数据,执行任务B,将执行的结果发送至消息队列QC;

步骤107、计算节点组NC获取消息队列QC中的所有数据,执行任务C。

其中,任务A分别与消息队列QA和计算节点组NA对应,任务B分别与消息队列QB和计算节点组NB对应,任务C分别与消息队列QC和计算节点组NC对应。步骤107中,计算节点组NC可以将执行的结果发送至与消息队列QC,也可以将执行的结果直接保存。

本实施例中,网络数据包的分析内容被拆分为3个任务,并将其分发至不同的计算节点组,以消息队列为核心进行分布式地处理,大大地提高了处理能力,减少了不同计算节点之间的耦合性。同时还实现了水平扩展,在硬件资源丰富的情况下可以无限制扩展。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1