数据包检索系统和方法与流程

文档序号:15257658发布日期:2018-08-24 20:53阅读:883来源:国知局

本发明涉及网络性能监控领域,具体地,涉及数据包检索系统和方法,尤其是一种网络会话包实时存储和快速检索的系统和方法。



背景技术:

随着社会科技的发展,网络已成为企业,尤其是金融企业,不可或缺的核心组成部分。

为了检索网络会话包等数据包,现有技术一,是不建立索引,每次检索网络会话包的时候都将原有存储在磁盘上的网络会话包文件全部读出后过滤,占用大量磁盘读入的资源,因此无法将网络会话包快速的检索出来。原因是,网络适配器的速率在不断增长,目前普遍已经达到10000mbps,而机械磁盘的读写速率无法满足在网络会话包实时存储的情况下,根据指定的条件将网络会话包快速的检索出来。

为此技术人员进行了改进,现有技术二,是采用读写速率更快的ssd磁盘替换现有的机械磁盘,但是由于ssd磁盘价格远高于机械磁盘的价格,因此无法大规模采用。

由于价格问题技术人员进行了进一步的尝试,在仍旧使用机械磁盘的前提下,现有技术三,是传统的索引技术,对每一个网络会话包按照检索条件建立索引记录,例如专利文献cn106446028a和专利文献cn103281213a。虽然现有技术三相对而言优于现有技术一,但是,由于在10000mbps网络适配器上普遍的每秒网络会话包数量会超过200m个,导致索引数据数量大,占用大量磁盘写入的资源和cpu资源,因此实际上导致网络会话包还是无法实时存储。



技术实现要素:

针对现有技术中的缺陷,本发明的目的是提供一种数据包检索系统和方法。

根据本发明提供的一种数据包检索方法,包括:

检索数据获取步骤:从缓冲区中的数据包中获取检索数据;

数据包压缩步骤:将缓冲区中的数据包压缩后写入磁场上的数据包文件中;

概要信息存储步骤:存储所述检索数据和所述检索数据对应的数据块在所述数据包文件中的存储位置;

优选地,还包括:

索引生成步骤:根据所述检索数据和所述存储位置,生成索引数据。

数据包检索步骤:从指定的检索数据对应的数据块在所述数据包文件中的存储位置,读取数据块。

优选地,还包括:

过滤步骤:根据指定的检索数据,从读取到的数据块中过滤得到数据包。

优选地,所述概要信息存储步骤包括如下步骤:

概要信息压缩步骤:将所述检索数据和所述存储位置压缩后写入磁盘上的概要文件中。

优选地,所述检索数据获取步骤包括:

批量检索数据提取步骤:从缓冲区中缓冲到设定体积的批量数据包中获取检索数据。

根据本发明提供的一种数据包检索系统,包括:

检索数据获取模块:从缓冲区中的数据包中获取检索数据;

数据包压缩模块:将缓冲区中的数据包压缩后写入磁场上的数据包文件中;

概要信息存储模块:存储所述检索数据和所述检索数据对应的数据块在所述数据包文件中的存储位置;

优选地,还包括:

索引生成模块:根据所述检索数据和所述存储位置,生成索引数据。

数据包检索模块:从指定的检索数据对应的数据块在所述数据包文件中的存储位置,读取数据块。

优选地,还包括:

过滤模块:根据指定的检索数据,从读取到的数据块中过滤得到数据包。

优选地,所述概要信息存储模块包括如下模块:

概要信息压缩模块:将所述检索数据和所述存储位置压缩后写入磁盘上的概要文件中。

优选地,所述检索数据获取模块包括:

批量检索数据提取模块:从缓冲区中缓冲到设定体积的批量数据包中获取检索数据。

与现有技术相比,本发明具有如下的有益效果:

1、本发明能够快速检索网络会话包,利用索引显著了提高了网络数据包的检索速度;

2、本发明解决了网络会话包存储中占用磁盘写入负荷过高的问题;

3、本发明按数据块中的网络数据包批量建立索引,减少了系统开销,使得网络数据包能够实时存储;解决了索引建立cpu和磁盘开销大,导致无法实时存储网络会话包的问题;

4、本发明的系统成本低。

附图说明

通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1为本发明提供的数据包检索方法的步骤流程图。

图2为本发明提供的数据包检索系统的结构示意图。

具体实施方式

下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。

本发明可以将网络适配器上的网络会话包实时存储到磁盘上,并能在检索网络会话包时有显著的加速。首先对本发明提供的一种数据包检索方法进行详细说明。

根据本发明提供的一种数据包检索方法,包括:

数据包获取步骤:从网络上获取数据包;

检索数据获取步骤:从缓冲区中的数据包中获取检索数据;

数据包压缩步骤:将缓冲区中的数据包压缩后写入磁场上的数据包文件中;其中,所述数据包压缩步骤是实时进行的;

概要信息存储步骤:存储所述检索数据和所述检索数据对应的数据块在所述数据包文件中的存储位置;

索引生成步骤:根据所述检索数据和所述存储位置,生成索引数据;

数据包检索步骤:从指定的检索数据对应的数据块在所述数据包文件中的存储位置,读取数据块;

过滤步骤:根据指定的检索数据,从读取到的数据块中过滤得到数据包。

接下来,作为优选例,以网络会话包这种数据包为例,对本发明进行更为详细的说明。

在所述数据包获取步骤中,从网络适配器上抓取网络会话包,然后将网络会话包放入缓冲区。

在所述检索数据获取步骤中包括批量检索数据提取步骤。在所述批量检索数据提取步骤中:从缓冲区中缓冲到设定体积的批量数据包中获取检索数据。具体地,例如,设定体积记为缓冲区的体积,等待网络会话包将缓冲区填满,然后将缓冲区中的网络会话包压缩后写入磁盘上的网络会话包文件中。又例如,将网络适配器上收到的网络会话包,设定体积缓冲到64k后压缩为数据块后存储到网络会话包文件中。

在所述概要信息存储步骤中包括概要信息压缩步骤。在所述概要信息压缩步骤中:将所述检索数据和所述存储位置压缩后写入磁盘上的概要(summary)文件中。其中,所述检索数据包括用于网络会话包检索的数据,例如ip、port等等。所述检索数据和所述存储位置可以缓冲到一定大小后,例如64k,压缩存储到概要文件中。

在所述索引生成步骤中,从磁盘读取概要文件,将概要文件解压缩后得到网络会话包的检索数据以及检索数据对应的数据块在网络会话包文件中的存储位置。例如键(key)是网络会话包的检索数据,该键的值(value)是检索数据对应的数据块在网络会话包文件中的存储位置。由于大多数情况下一个64k的压缩块能够存储128个网络会话包相应检索数据和存储位置,因此本发明能将索引的大小降低为现有技术三的百分之一左右。

在所述数据包检索步骤中,检索网络会话包时根据用户指定的条件,也就是检索数据,在索引数据中查找到指定的存储位置,根据数据块在网络会话包文件中的存储位置,直接跳转到该存储位置并读取该数据块的内容并解压缩。需要说明书的是,本发明中是直接从数据块在网络会话包文件中的存储位置网络会话包,区别于利用索引间接地获取网络会话包,其中,通常间接获取网络会话包的方式为从文件开始位置起依次遍历文件中所有数据块,如果该数据块在索引中则读入该数据块并获取其中的网络会话包。这种间接的方式需要遍历整个文件,而本发明中的新方法是直接根据存储位置读入数据块。举个例子如果文件中有10000个数据块,其中有99块是被索引到的数据块,间接的方法需要遍历整个10000个数据块,而直接的方法只要访问99个数据块就可以了。

在所述过滤步骤中,由于同一个数据块中可能存在多个网络会话包,因此需要根据检索数据中的检索条件再做一遍过滤才能得到需要检索的网络会话包。

下面对本发明提供的数据包检索系统进行说明。本领域技术人员可以将所述数据包检索方法理解为所述数据包检索系统的一个优选例,可以通过所述数据包检索方法中的步骤流程实现所述数据包检索系统。

根据本发明提供的一种数据包检索方法,包括:

数据包获取模块:从网络上获取数据包;

检索数据获取模块:从缓冲区中的数据包中获取检索数据;

数据包压缩模块:将缓冲区中的数据包压缩后写入磁场上的数据包文件中;其中,所述数据包压缩模块是实时进行的;

概要信息存储模块:存储所述检索数据和所述检索数据对应的数据块在所述数据包文件中的存储位置;

索引生成模块:根据所述检索数据和所述存储位置,生成索引数据;

数据包检索模块:从指定的检索数据对应的数据块在所述数据包文件中的存储位置,读取数据块;

过滤模块:根据指定的检索数据,从读取到的数据块中过滤得到数据包。

优选地,所述概要信息存储模块包括如下模块:

概要信息压缩模块:将所述检索数据和所述存储位置压缩后写入磁盘上的概要文件中。

优选地,所述检索数据获取模块包括:

批量检索数据提取模块:从缓冲区中缓冲到设定体积的批量数据包中获取检索数据。

本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件程序又可以是硬件部件内的结构。

以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

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