一种流量数据的留存方法、设备和计算机可读存储介质与流程

文档序号:14879874发布日期:2018-07-07 09:27阅读:171来源:国知局

本发明涉及网络安全技术领域,尤其涉及一种流量数据的留存方法、设备和计算机可读存储介质。



背景技术:

网络安全领域分为事前预防、事中控制、事后追踪等几大块,其中事后追踪需要一种设备能够将真实网络的流量数据存储下来,以便当出现安全事故时可以进行原始流量数据的提取,从而进一步进行分析处理。如图1所示,在现有技术中通常采用单台独立设备的存储方案,即将流量数据的采集和存储集成在一台设备内。采用单台独立设备的存储方案的逻辑简单且易于实现,但是由于流量数据抓取和流量数据存储是在同一台设备上进行的,会受限于单台独立设备性能的影响,从而不能进行大流量的扩容。另外,目前采用的单台独立设备的存储方案不支持第三方查询检索接口。因此,目前采用的单台独立设备的存储方案无法适应复杂的网络环境。



技术实现要素:

本发明要解决的技术问题是,提供一种流量数据的留存方法、设备和计算机可读存储介质,将流量数据抓取和流量数据存储分离,解决了网络留存中的抓包问题和存储性能低下的问题。

为实现上述目的,本发明提供了一种流量数据的留存方法,所述方法包括:

通过分别设置在各个采集点的采集模块获取流量数据;

将各个采集模块获取到的流量数据发送至存储模块;

通过所述存储模块对流量数据进行存储。

可选的,在所述通过分别设置在各个采集点的采集模块获取流量数据之后,并在所述将各个采集模块获取到的流量数据发送至存储模块之前,所述方法还包括:

通过采集模块为获取到的流量数据添加采集时间信息,并按照预设的缓冲规则,将获取到的流量数据存储到设置在对应采集点上的对应的缓冲区中。

可选的,所述将各个采集模块获取到的流量数据发送至存储模块,包括:

通过分别设置在各个采集点的转存模块,轮询对应采集点上的各个缓冲区,将被写满的缓冲区中的全部流量数据按照预设的配置规则发送至设置在对应采集点上的对应的客户端,以供所述客户端将所述全部流量数据压缩为数据包;

通过分别设置在各个采集点的转存模块,轮询对应采集点上的各个客户端,当客户端上存储的数据包的数量达到预设阈值时,将所述客户端上的全部数据包发送至所述存储模块。

可选的,所述通过所述存储模块对流量数据进行存储,包括:

通过所述存储模块对接收到的数据包进行解压操作,以获取数据包中的流量数据、采集时间信息和ip地址信息,根据所述采集时间信息进行存储,并建立所述流量数据、采集时间信息和ip地址信息之间的对应关系。

可选的,在所述通过所述存储模块对流量数据进行存储之后,所述方法还包括:

向所述存储模块发送历史流量查询指令,以供所述存储模块根据所述历史流量查询指令查找到对应的流量数据,并将查找到的流量数据导出;其中,所述历史流量查询指令包括待查询流量数据的采集时间信息和ip地址信息。

本发明还提供一种流量数据的留存设备,包括:处理器、存储器及通信总线;

所述通信总线用于实现所述处理器和所述存储器之间的连接通信;

所述处理器用于执行所述存储器中存储的流量数据的留存程序,以实现以下步骤:

通过分别设置在各个采集点的采集模块获取流量数据;

将各个采集模块获取到的流量数据发送至存储模块;

通过所述存储模块对流量数据进行存储。

可选的,所述处理器还用于执行所述存储器中存储的流量数据的留存程序,以实现以下步骤:

通过采集模块为获取到的流量数据添加采集时间信息,并按照预设的缓冲规则,将获取到的流量数据存储到设置在对应采集点上的对应的缓冲区中。

可选的,所述处理器在执行所述将各个采集模块获取到的流量数据发送至存储模块的步骤时,具体包括:

通过分别设置在各个采集点的转存模块,轮询对应采集点上的各个缓冲区,将被写满的缓冲区中的全部流量数据按照预设的配置规则发送至设置在对应采集点上的对应的客户端,以供所述客户端将所述全部流量数据压缩为数据包;

通过分别设置在各个采集点的转存模块,轮询对应采集点上的各个客户端,当客户端上存储的数据包的数量达到预设阈值时,将所述客户端上的全部数据包发送至所述存储模块。

可选的,所述处理器在执行所述通过所述存储模块对流量数据进行存储的步骤时,具体包括:

通过所述存储模块对接收到的数据包进行解压操作,以获取数据包中的流量数据、采集时间信息和ip地址信息,根据所述采集时间信息进行存储,并建立所述流量数据、采集时间信息和ip地址信息之间的对应关系。

本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有流量数据的留存程序;

当所述流量数据的留存程序被至少一个处理器执行时,导致所述至少一个处理器执行上述介绍的流量数据的留存方法的步骤。

采用上述技术方案,本发明至少具有下列优点:

本发明所述的流量数据的留存方法、设备和计算机可读存储介质,基于分层设计思想,将高效抓包和快速存储分离,不仅可以通过增加硬件(cpu或内容)的方式快速扩容,还能够提供第三方查询检索接口,对任意时间段内的流量数据进行检索和导出。解决了复杂网络环境下的抓包问题以及解决了网络留存中的存储性能低下的问题。

附图说明

图1为现有技术的采用单台独立设备的存储方案的示例图;

图2为本发明第一实施例的流量数据的留存方法的流程图;

图3为本发明第二实施例的流量数据的留存方法的流程图;

图4为本发明第三实施例的流量数据的留存方法的流程图;

图5为本发明第四实施例的流量数据的留存系统的流程图;

图6为本发明第五实施例的流量数据的留存设备的组成结构示意图。

具体实施方式

为更进一步阐述本发明为达成预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本发明进行详细说明如后。

本发明第一实施例,一种流量数据的留存方法,如图2所示,所述方法具体包括以下步骤:

步骤s201:通过分别设置在各个采集点的采集模块获取流量数据。

具体的,该采集点可以设置于一台设备上或设置于多台设备上,并在每个采集点处设置一个采集模块。控制各个采集点的采集模块,以通过采集模块获取流量数据。

进一步的,采集模块利用dpdk(dataplanedevelopmentkit,数据平面开发套件)技术通过预先配置的端口快速获取流量数据。

步骤s202:将各个采集模块获取到的流量数据发送至存储模块。

具体的,在本发明实施例中,一个存储模块管辖多个采集点的多个采集模块。同时控制各个采集模块,以将各个采集模块获取到的流量数据发送至一个存储模块。

步骤s203:通过所述存储模块对流量数据进行存储。

具体的,在本发明实施例中,多个采集模块获取到的流量数据统一存储到一个存储模块中。控制存储模块,以通过存储模块对流量数据进行存储。

进一步的,所述方法还包括:

向所述存储模块发送历史流量查询指令,以供所述存储模块根据所述历史流量查询指令查找到对应的流量数据,并导出查找到的流量数据。

本发明实施例采用了流量数据的采集和存储的分层设计,通过分布式获取流量数据和分布式存储流量数据的方法提升了流量数据采集的灵活性,并解决了流量数据存储的瓶颈。

本发明第二实施例,一种流量数据的留存方法,如图3所示,所述方法具体包括以下步骤:

步骤s301:通过分别设置在各个采集点的采集模块获取流量数据。

具体的,该采集点可以设置于一台设备上或设置于多台设备上,并在每个采集点处设置一个采集模块。

进一步的,采集模块利用dpdk技术通过预先配置的端口快速获取流量数据。

步骤s302:按照预设的缓冲规则,将获取到的流量数据存储到设置在对应采集点上的对应的缓冲区中。

具体的,在每个采集点上设置有多个缓冲区,当采集点上的采集模块获取到流量数据后,采集模块按照预设的缓冲规则,将获取到的流量数据存储到该采集点上的对应的缓冲区中。

进一步的,缓冲区的大小和个数可以根据设备的实际内存大小进行配置。

步骤s303:通过分别设置在各个采集点的转存模块,轮询对应采集点上的各个缓冲区,将被写满的缓冲区中的全部流量数据发送至存储模块。

具体的,在每个采集点上还设置有转存模块,转存模块依次轮询采集点上的各个缓冲区,当发现任一缓冲区被写满时,转存模块将被写满的缓冲区中的全部流量数据发送至存储模块,从而释放该缓冲区。

步骤s304:通过所述存储模块对流量数据进行存储。

具体的,在本发明实施例中,存储模块采用分布式的存储方式,存储模块可基于发布和订阅机制,监控存储模块中的各个分布式存储区的存储状态,并对流量数据进行分块、分区的存储。

进一步的,所述方法还包括:

向所述存储模块发送历史流量查询指令,以供所述存储模块根据所述历史流量查询指令查找到对应的流量数据,并导出查找到的流量数据。

在本发明实施例中,通过流量数据采集和流量数据存储的分离,提高了采集流量数据的灵活性,并解决了网络留存中的存储性能低下的问题。本发明实施例还提供了历史流量数据的查询接口。

本发明第三实施例,一种流量数据的留存方法,如图4所示,所述方法具体包括以下步骤:

步骤s401:通过分别设置在各个采集点的采集模块获取流量数据。

具体的,该采集点可以设置于一台设备上或设置于多台设备上,并在每个采集点处设置一个采集模块。

进一步的,采集模块利用dpdk技术通过预先配置的端口快速获取流量数据。

步骤s402:通过采集模块为获取到的流量数据添加采集时间信息,并按照预设的缓冲规则,将获取到的流量数据存储到设置在对应采集点上的对应的缓冲区中。

具体的,在每个采集点上设置有多个缓冲区,当采集点上的采集模块获取到流量数据后,采集模块按照预设的缓冲规则,将获取到的流量数据存储到该采集点上的对应的缓冲区中。

进一步的,缓冲区的大小和个数可以根据设备的实际内存大小进行配置。

步骤s403:通过分别设置在各个采集点的转存模块,轮询对应采集点上的各个缓冲区,将被写满的缓冲区中的全部流量数据按照预设的配置规则发送至设置在对应采集点上的对应的客户端,以供所述客户端将所述全部流量数据压缩为数据包。

具体的,在每个采集点上设置有转存模块以及与该转存模块对应的多个客户端。转存模块依次轮询采集点上的各个缓冲区,当发现任一缓冲区被写满时,转存模块按照预设的配置规则将被写满的缓冲区中的全部流量数据发送至对应的客户端。客户端用于将流量数据压缩为数据包。

步骤s404:通过分别设置在各个采集点的转存模块,轮询对应采集点上的各个客户端,当客户端上存储的数据包的数量达到预设阈值时,将所述客户端上的全部数据包发送至所述存储模块。

步骤s405:通过存储模块对接收到的数据包进行解压操作,以获取数据包中的流量数据、采集时间信息和ip地址信息,根据所述采集时间信息进行存储,并建立所述流量数据、采集时间信息和ip地址信息之间的对应关系。

具体的,存储模块采用分布式的存储方式,在存储模块中设置有多个分布式的存储区。存储模块根据采集时间信息将流量数据存储到对应的存储区中,并建立流量数据、采集时间信息和ip地址信息之间的对应关系,以提供基于采集时间信息和ip地址信息的查询流量数据和导出流量数据的功能。

进一步的,所述方法还包括:

向所述存储模块发送历史流量查询指令,以供所述存储模块根据所述历史流量查询指令查找到对应的流量数据,并将查找到的流量数据导出;其中,所述历史流量查询指令包括待查询流量数据的采集时间信息和ip地址信息。

由于存储模块在存储流量数据的时候建立了流量数据、采集时间信息和ip地址信息之间的对应关系,所以存储模块可以根据历史流量查询指令中的采集时间信息和ip地址信息快速查找到对应的流量数据,并导出查找到的流量数据。

在本发明实施例中,存储模块可以基于消息发布、订阅机制,提供存储、查询和导出的功能。

本发明第四实施例,一种流量数据的留存系统,如图5所示,所述系统具体包括以下组成部分:

采集模块501、内存缓冲队列502、转存模块503、客户端504、存储模块505。

其中,采集模块501、内存缓冲队列502、转存模块503、客户端504设置于采集点上。

采集模块501,用于获取流量数据,并按照预设的缓冲规则,将获取到的流量数据存储到内存缓冲队列502中对应的缓冲区中;

具体的,采集模块501,还用于:

为获取到的流量数据添加采集时间信息。

进一步的,内存缓冲队列502包括多个缓冲区。

转存模块503,用于轮询内存缓冲队列502中的各个缓冲区,将被写满的缓冲区中的全部流量数据按照预设的配置规则发送至对应的客户端504。

客户端504,用于将流量数据压缩为数据包。

具体的,转存模块503,还用于轮询各个客户端504,当客户端504上存储的数据包的数量达到预设阈值时,将客户端504上的全部数据包发送至存储模块505。

存储模块505,用于对流量数据进行存储。

具体的,存储模块505,用于:

对接收到的数据包进行解压操作,以获取数据包中的流量数据、采集时间信息和ip地址信息,根据所述采集时间信息进行存储,并建立所述流量数据、采集时间信息和ip地址信息之间的对应关系。

进一步的,存储模块505,还用于:

接收历史流量查询指令,并根据历史流量查询指令查找到对应的流量数据,并将查找到的流量数据导出;其中,所述历史流量查询指令包括待查询流量数据的采集时间信息和ip地址信息。

本发明第五实施例,一种流量数据的留存设备,如图6所示,所述设备包括:处理器601、存储器602及通信总线;

通信总线用于实现处理器601和存储器602之间的连接通信;

处理器601用于执行存储器602中存储的流量数据的留存程序,以实现以下步骤:

通过分别设置在各个采集点的采集模块获取流量数据;

将各个采集模块获取到的流量数据发送至存储模块;

通过所述存储模块对流量数据进行存储。

具体的,处理器601还用于执行存储器602中存储的流量数据的留存程序,以实现以下步骤:

通过采集模块为获取到的流量数据添加采集时间信息,并按照预设的缓冲规则,将获取到的流量数据存储到设置在对应采集点上的对应的缓冲区中。

进一步的,处理器601在执行所述将各个采集模块获取到的流量数据发送至存储模块的步骤时,具体包括:

通过分别设置在各个采集点的转存模块,轮询对应采集点上的各个缓冲区,将被写满的缓冲区中的全部流量数据按照预设的配置规则发送至设置在对应采集点上的对应的客户端,以供所述客户端将所述全部流量数据压缩为数据包;

通过分别设置在各个采集点的转存模块,轮询对应采集点上的各个客户端,当客户端上存储的数据包的数量达到预设阈值时,将所述客户端上的全部数据包发送至所述存储模块。

进一步的,处理器601在执行所述通过所述存储模块对流量数据进行存储的步骤时,具体包括:

通过所述存储模块对接收到的数据包进行解压操作,以获取数据包中的流量数据、采集时间信息和ip地址信息,根据所述采集时间信息进行存储,并建立所述流量数据、采集时间信息和ip地址信息之间的对应关系。

更进一步的,处理器601还用于执行存储器602中存储的流量数据的留存程序,以实现以下步骤:

在所述通过所述存储模块对流量数据进行存储之后,向所述存储模块发送历史流量查询指令,以供所述存储模块根据所述历史流量查询指令查找到对应的流量数据,并将查找到的流量数据导出;其中,所述历史流量查询指令包括待查询流量数据的采集时间信息和ip地址信息。

本发明第六实施例,提出了一种计算机可读存储介质,所述计算机可读存储介质存储有流量数据的留存程序;

当所述流量数据的留存程序被至少一个处理器执行时,导致所述至少一个处理器执行以下步骤操作:

通过分别设置在各个采集点的采集模块获取流量数据;

将各个采集模块获取到的流量数据发送至存储模块;

通过所述存储模块对流量数据进行存储。

本发明实施例中介绍的流量数据的留存方法、设备和计算机可读存储介质,基于分层设计思想,将高效抓包和快速存储分离,不仅可以通过增加硬件(cpu或内容)的方式快速扩容,还能够提供第三方查询检索接口,对任意时间段内的流量数据进行检索和导出。解决了复杂网络环境下的抓包问题以及解决了网络留存中的存储性能低下的问题。

通过具体实施方式的说明,应当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图示仅是提供参考与说明之用,并非用来对本发明加以限制。

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