一种海量数据处理方法及系统与流程

文档序号:12465079阅读:258来源:国知局
一种海量数据处理方法及系统与流程

本发明实施例涉及自动化技术领域,尤其涉及一种海量数据处理方法及系统。



背景技术:

我们日常工作环境中存在大量历史积累的网络数据包,实际网络环境中存在大量实时网络数据流,这些数据中随时会出现我们想要的信息。如何高效提取这些信息以及这些信息的上下文成为很多人迫切的需求,而且这些信息可能以各种形式存在原始报文中,比如以unicode+base64编码、然后经过zlib压缩,比如经过md5加密,要想从海量数据中检测到这些信息及其上下文,就需要进行协议解析。而协议数据分析工作是协议解析的基础,协议分析是否全面、深入直接影响了协议解析的质量。

现有的全人工的协议分析工作方式存在量大重复效率低、人员的频繁更替无法保证分析质量、分析经验无法有效积累并传承等问题。



技术实现要素:

本发明提供一种海量数据处理的方法及系统,以实现数据处理工作的自动化。

为达到此目的,本发明实施例采用以下技术方案:

一种海量数据处理方法,包括:

获取用户输入的关键词;

根据预设的编码方式对所述关键词编码后得到对应的第一数据;

获取海量数据;

对所述海量数据按照对应的解码方式解码后得到对应的第二数据;

根据所述编码方式与对应的解码方式匹配所述第一数据和第二数据,并输出匹配结果。

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

将所述匹配结果进行关联分析,得到含关联信息的匹配结果;

将所述含关联信息的匹配结果根据数据上传格式和/或数据下载格式输出成相关格式文件。

进一步地,所述方法,在对所述海量数据按照对应的解码方式解码后得到对应的第二数据之前,还包括:

将所述海量数据按各自协议格式解析到tcp、udp层并存储。

进一步地,所述方法,在对所述海量数据按照对应的解码方式解码后得到对应的第二数据之前,还包括:

将解析后的数据按流进行流量统计和应用协议识别。

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

通过学习以往的模板编写经验,对每个匹配结果进行统计排名,从一个关键字的多个匹配结果中选择统计排名靠前的几个。

相应地,本发明还公开一种海量数据处理系统,包括:

关键词获取模块,用于获取用户输入的关键词;

关键词编码模块,用于根据预设的编码方式对所述关键词编码后得到对应的第一数据;

数据获取模块,用于获取海量数据;

数据解码模块,用于对所述海量数据按照对应的解码方式解码后得到对应的第二数据;

结果输出模块,用于根据所述编码方式与对应的解码方式匹配所述第一数据和第二数据,并输出匹配结果。

进一步地,所述系统,还包括:

结果关联模块,用于将所述匹配结果进行关联分析,得到含关联信息的匹配结果;

格式输出模块,用于将所述含关联信息的匹配结果根据数据上传格式和/或数据下载格式输出成相关格式文件。

进一步地,所述系统,还包括:

数据解析模块,在对所述海量数据按照对应的解码方式解码后得到对应的第二数据之前,将所述海量数据按各自协议格式解析到tcp、udp层并存储。

进一步地,所述系统,还包括:

连接管理模块,在对所述海量数据按照对应的解码方式解码后得到对应的第二数据之前,将解析后的数据按流进行流量统计和应用协议识别。

进一步地,所述系统,还包括:

模板学习模块,用于通过学习以往的模板编写经验,对每个匹配结果进行统计排名,从一个关键字的多个匹配结果中选择统计排名靠前的几个。

本发明实施例所提供的技术方案,通过实现数据处理工作的自动化,可以高效的从海量数据中提取到各种经过处理的有价值信息,完成大量的重复检索分析工作,保证了分析质量并能够吸纳分析经验,不断提高分析的准确性,弥补了不同水平人员的分析知识盲区和差异。

附图说明

图1为本发明实施例一提供的一种海量数据处理方法的流程示意图;

图2为本发明实施例以提供的数据编码结构体示意图;

图3A-3D为本发明实施例一提供的4个线程运行流程图;

图4为本发明实施例一所适用的协议分析自动化系统的部署方案示意图;

图5为本发明实施例二提供的一种海量数据处理系统的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

请参阅附图1,为本发明实施例一提供的一种海量数据处理方法的流程示意图,该方法适用于海量网络数据处理的场景,该方法由海量数据处理系统来执行,该系统可以由软件和/或硬件实现,集成于数据分析工具的内部。该方法具体包括如下步骤:

S110、获取用户输入的关键词。

S120、根据预设的编码方式对所述关键词编码后得到对应的第一数据。

具体的,将用户提供的关键词做各种常见编码类型的编码转换并储存,编码方式如utf8、unicode、url、base64、md5等。数据编码过程例如可以是,如图2所示,为数据编码结构体示意图,其中encode1、encode2等是编码后的字符串,code是编码前的字符串,encode_type是编码类型,cmd_arg是命令行参数。数据结构是关联式容器multimap,以encode1、encode2等作为key,以code、encode_type、cmd_arg组成的vector作为value。编码模块与关联模块之间数据传输使用此结构体。

S130、获取海量数据。

具体的,S130为数据采集线程,获取的海量数据为各种数据接入方式的数据,例如可以是PPPOE、GTP、LTE、文件等。

S140、对所述海量数据按照对应的解码方式解码后得到对应的第二数据。

具体的,S140为一级解码线程,对海量数据中的http协议以及cookie进行解码,解码完成后对负载,即解码结果,进行组包。

可选的,在对所述海量数据按照对应的解码方式解码后得到对应的第二数据之前,还可以包括:将所述海量数据按各自协议格式解析到tcp、udp层并存储。其中,解析后的数据将储存为特定的数据结构。

可选的,在对所述海量数据按照对应的解码方式解码后得到对应的第二数据之前,还可以包括:将解析后的数据按流进行流量统计和应用协议识别。

S150、根据所述编码方式与对应的解码方式匹配所述第一数据和第二数据,并输出匹配结果。

具体的,S150为二级解码线程,将http解码后的信息与编码模块关键词的编码结果进行匹配,然后输出匹配结果。

可选的,所述方法还包括:将所述匹配结果进行关联分析,得到含关联信息的匹配结果;

具体的,通过将关键字匹配输出结果中的cookie分为key、value,对不同关键字cookie的value进行比对,如果相等则输出,最终形成关键字之间cookie关联的报告供用户选择。

将所述含关联信息的匹配结果根据数据上传格式和/或数据下载格式输出成相关格式文件。

具体的,通过对用户常用上传、下载文件格式的识别,输出相关文件,供用户选择。例如可以是,照片JPG、BNG格式;音频MP3、WAV格式;视频MP4、AVI格式。

可选的,所述方法还包括:通过学习以往的模板编写经验,对每个匹配结果进行统计排名,从一个关键字的多个匹配结果中选择统计排名靠前的几个。

为了更加清晰的展现本发明实施例的方法实施过程,下面以4个线程运行流程图进行详细介绍,请参阅图3A、3B、3C和3D。

图3A为主线程运行流程图,系统启动后,主线程进行本地资源和网络资源的初始化,读取命令行或配置文件信息,调用编码模块进行关键字编码与存储,调用模板学习模块,读取模板文件,对模板中各节点的配置进行统计排序,并监控其他线程的运行状态。

图3B为数据采集线程运行流程图,启动数据采集线程,按配置的数据接入方式将网卡或pcap包中的数据读到内存中,通过队列传给一级解码线程。

图3C为一级解码线程运行流程图,启动一级解码线程,按不同协议格式层层解码到tcp、udp层,进入流管理进行协议识别、流量统计,进行http头解码、组包。

图3D为二级解码线程运行流程图,启动二级解码线程,对http负载进行解压缩、MIME处理,调用匹配模块,将关键字编码结果与http头和负载进行匹配,统计匹配结果、输出匹配结果,并利用模板学习结果,简化匹配结果,输出一份可参考的模板文件。

监控数据处理完成,调用输出模块,输出总的统计结果(关键字匹配情况、流量统计情况),退出程序。

综上所述,本发明实施例一公开了一种海量数据处理方法,通过实现数据处理工作的自动化,可以高效的从海量数据中提取到各种经过处理的有价值信息,完成大量的重复检索分析工作,保证了分析质量并能够吸纳分析经验,不断提高分析的准确性,弥补了不同水平人员的分析知识盲区和差异。

上述海量数据处理方法,可以由协议分析自动化系统来实现,其由用户使用端和后台服务器两个部分构成。具体结构关系请参阅图4,图4为本发明实施例一所适用的协议分析自动化系统的部署方案示意图。

用户使用端包括EMS端:软件抓包、数据镜像、策略配置和结果分析等功能模块。

后台服务器包括PCS端(数据采集、数据输入)和PAS端(命令解析、数据编码、模板学习、数据解压、cookie解析、关键字匹配、统计排序、数据输出、cookie关联)等功能模块。

需要说明的是,PCS、PAS部署在linux服务器,EMS为用户使用端的操作。EMS端通过文件或以太网数据流方式与PCS、PAS交互。

实施例二

请参阅附图5,为本发明实施例二提供的一种海量数据处理系统的结构示意图,该系统具体包含如下模块:

关键词获取模块210,用于获取用户输入的关键词;

关键词编码模块220,用于根据预设的编码方式对所述关键词编码后得到对应的第一数据;

数据获取模块230,用于获取海量数据;

数据解码模块240,用于对所述海量数据按照对应的解码方式解码后得到对应的第二数据;

结果输出模块250,用于根据所述编码方式与对应的解码方式匹配所述第一数据和第二数据,并输出匹配结果。

优选的,所述装置,还包括:

结果关联模块,用于将所述匹配结果进行关联分析,得到含关联信息的匹配结果;

格式输出模块,用于将所述含关联信息的匹配结果根据数据上传格式和/或数据下载格式输出成相关格式文件。

优选的,所述装置,还包括:

数据解析模块,用于在对所述数据包进行解码之前,将采集到的所述数据包按各自协议格式解析到tcp、udp层并存储。

优选的,所述装置,还包括:

连接管理模块,用于在对所述数据包进行解码之前,将解析后的数据按流进行流量统计和应用协议识别。

优选的,所述装置,还包括:

模板学习模块,用于通过学习以往的模板编写经验,对每个匹配结果进行统计排名,从一个关键字的多个匹配结果中选择统计排名靠前的几个。

本实施例通过获取用户输入的关键词;根据预设的编码方式对所述关键词编码后得到对应的第一数据;获取海量数据;对所述海量数据按照对应的解码方式解码后得到对应的第二数据;根据所述编码方式与对应的解码方式匹配所述第一数据和第二数据,并输出匹配结果。基于上述方法及系统,通过实现数据处理工作的自动化,可以高效的从海量数据中提取到各种经过处理的有价值信息,完成大量的重复检索分析工作,保证了分析质量并能够吸纳分析经验,不断提高分析的准确性,弥补了不同水平人员的分析知识盲区和差异。

上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

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