一种抽样采集报文的方法和装置制造方法及图纸

技术编号:33836057 阅读:23 留言:0更新日期:2022-06-16 11:52
一种抽样采集报文的方法和装置,方法包括:读取采集策略文件,并根据所述采集策略文件中各采集策略对应的采集时间信息创建时间哈希表、根据所述采集策略文件中各采集策略对应的源端口信息创建源端口哈希表;将待采集的报文与所述时间哈希表、所述源端口哈希表进行匹配,根据匹配结果从所述采集策略文件中选择采集策略放入预筛选策略集;如果所述待采集报文与所述预筛选策略集中任一策略对应的确认函数匹配,则对所述待采集报文进行采集。则对所述待采集报文进行采集。则对所述待采集报文进行采集。

【技术实现步骤摘要】
一种抽样采集报文的方法和装置


[0001]本申请涉及计算机网络领域,尤指一种抽样采集报文的方法和装置。

技术介绍

[0002]抽样采集报文方法主要存在于计算机网络领域中。一些技术中,计算机网络领域中使用的抽样采集报文的方法有两种,一种是直接匹配的采集方法,将捕获报文的时间和五元组跟第一条采集策略做匹配,匹配成功后采集该报文,匹配不成功则继续匹配下一条采集策略,直至采集策略全部匹配完。但是该方法具有以下几点缺陷:
[0003](1)匹配效率低。在网络环境中,短时间内的报文量是非常大的。每一条报文都要跟所有采集策略的时间和五元组信息做匹配,时间复杂度高。
[0004](2)丢包。在短时间内报文大的背景下,匹配效率低会导致后续来的报文堆积,产生丢包现象。
[0005]另一种是使用级联哈希表的方式,先粗筛采集策略,缩小范围再进行匹配,此级联哈希表的方法,内存空间占用大,例如:仅源端口和目的端口级联建哈希表,就需要2
32
的内存空间,也就是4G内存。所以该方法虽然能够加速匹配效率,但是内存空间占用大。

技术实现思路

[0006]本申请提供了一种抽样采集报文的方法,该方法实现了内存占用低、快速预筛选和快速精确匹配的采集报文的方法。
[0007]本申请提供了一种抽样采集报文的方法,方法包括:
[0008]读取采集策略文件,并根据所述采集策略文件中各采集策略对应的采集时间信息创建时间哈希表、根据所述采集策略文件中各采集策略对应的源端口信息创建源端口哈希表;r/>[0009]将待采集的报文与所述时间哈希表、所述源端口哈希表进行匹配,根据匹配结果从所述采集策略文件中选择采集策略放入预筛选策略集;
[0010]如果所述待采集报文与所述预筛选策略集中任一策略对应的确认函数匹配,则对所述待采集报文进行采集。
[0011]一种示例性的实施例中,所述根据所述采集策略文件中各采集策略对应的采集时间信息创建时间哈希表,包括:
[0012]建立预置长度的时间哈希数表;
[0013]将采集策略文件解析为策略数组,并遍历策略数组,将每条采集策略的采集时间范围通过时间哈希函数计算出时间哈希值;
[0014]根据每条采集策略的时间哈希值创建时间哈希表。
[0015]一种示例性的实施例中,所述根据每条采集策略的时间哈希值创建时间哈希表,包括:
[0016]将该策略数组下标放入时间哈希表中,其中,策略数组的下标是表示解析的策略
数组的相应位置所存放的采集策略;
[0017]若该策略数组下标与所述时间哈希表中下标冲突,则将该策略数组下标链接到所述时间哈希表冲突链上。
[0018]一种示例性的实施例中,所述根据所述采集策略文件中各采集策略对应的源端口信息创建源端口哈希表,包括:
[0019]建立预置长度的源端口哈希数表;
[0020]将采集策略文件解析为策略数组,并遍历策略数组,将每条采集策略的采集端口范围通过源端口哈希函数计算出源端口哈希值;
[0021]根据每条采集策略的源端口哈希值创建源端口哈希数表。
[0022]一种示例性的实施例中,所述根据每条采集策略的源端口哈希值创建源端口哈希数表,包括:
[0023]将该策略数组下标放入源端口哈希表中,其中,策略数组的下标是表示解析的策略数组的相应位置所存放的采集策略;
[0024]若该策略数组下标与所述源端口哈希表中下标冲突,则将该策略数组下标链接到所述源端口哈希表冲突链上。
[0025]一种示例性的实施例中,所述将待采集的报文与所述时间哈希表、所述源端口哈希表进行匹配,根据匹配结果从所述采集策略文件中选择采集策略放入预筛选策略集,包括:
[0026]计算待采集报文的时间哈希值,并查询所述时间哈希表,确定该时间段的第一采集策略集合;
[0027]计算待采集报文的源端口哈希值,并查询源端口哈希表,确定该源端口范围的第二采集策略集合;
[0028]选取第一采集策略集合和第二采集策略集合的交集作为预筛选策略集。
[0029]一种示例性的实施例中,当第一采集策略集合和第二采集策略集合的交集为空时,不进行采集操作。
[0030]一种示例性的实施例中,所述确认函数是根据采集策略文件中的各采集策略生成的,确认函数名与采集策略一一对应;其中确认函数名由采集策略id唯一生成,确认函数体由采集策略其他采集条件生成。
[0031]本申请还提供了一种抽样采集报文的装置,所述装置包括:存储器和处理器;所述存储器用于保存采集报文的程序,所述处理器用于读取执行所述用于采集报文的程序,执行上述实施例中任一项所述的抽样采集报文方法。
[0032]本申请还提供了一种存储介质,所述存储介质中存储有用于采集报文的程序,所述程序被设置为在运行时执行上述实施例中任一项所述的抽样采集报文方法。
[0033]与相关技术相比,本申请提供一种抽样采集报文的方法,方法包括:读取采集策略文件,并根据所述采集策略文件中各采集策略对应的采集时间信息创建时间哈希表、根据所述采集策略文件中各采集策略对应的源端口信息创建源端口哈希表;将待采集的报文与所述时间哈希表、所述源端口哈希表进行匹配,根据匹配结果从所述采集策略文件中选择采集策略放入预筛选策略集;如果所述待采集报文与所述预筛选策略集中任一策略对应的确认函数匹配,则对所述待采集报文进行采集。本申请实施例中,通过采用哈希表查询采集
的报文可以节省内存又能够实现快速预筛选,以缩小策略匹配范围。进行最后的匹配时确认函数的硬编码相比变量间接寻址的执行速度快,加快策略匹配效率。本申请实施例实现了一种内存占用少、快速预筛选和快速精确匹配的抽样采集报文方法。
[0034]本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的其他优点可通过在说明书以及附图中所描述的方案来实现和获得。
附图说明
[0035]附图用来提供对本申请技术方案的理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
[0036]图1为本申请实施例的抽样采集报文的方法流程图;
[0037]图2为一示例性实施例中根据采集策略抽样采集报文的方法流程图;
[0038]图3为一示例性实施例中根据采集策略建立时间哈希表示意图;
[0039]图4为一示例性实施例中根据采集策略建立源端口哈希表示意图;
[0040]图5为本申请实施例的抽样采集报文的装置示意图;
[0041]图6为一示例性的抽样采集报文的方法流程图。
具体实施方式
[0042]本申请描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本申请所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种抽样采集报文的方法,其特征在于,方法包括:读取采集策略文件,并根据所述采集策略文件中各采集策略对应的采集时间信息创建时间哈希表、根据所述采集策略文件中各采集策略对应的源端口信息创建源端口哈希表;将待采集的报文与所述时间哈希表、所述源端口哈希表进行匹配,根据匹配结果从所述采集策略文件中选择采集策略放入预筛选策略集;如果所述待采集报文与所述预筛选策略集中任一策略对应的确认函数匹配,则对所述待采集报文进行采集。2.根据权利要求1所述的抽样采集报文的方法,其特征在于,所述根据所述采集策略文件中各采集策略对应的采集时间信息创建时间哈希表,包括:建立预置长度的时间哈希数表;将采集策略文件解析为策略数组,并遍历策略数组,将每条采集策略的采集时间范围通过时间哈希函数计算出时间哈希值;根据每条采集策略的时间哈希值创建时间哈希表。3.根据权利要求2所述的抽样采集报文的方法,其特征在于,所述根据每条采集策略的时间哈希值创建时间哈希表,包括:将该策略数组下标放入时间哈希表中,其中,策略数组的下标是表示解析的策略数组的相应位置所存放的采集策略;若该策略数组下标与所述时间哈希表中下标冲突,则将该策略数组下标链接到所述时间哈希表冲突链上。4.根据权利要求1所述的抽样采集报文的方法,其特征在于,所述根据所述采集策略文件中各采集策略对应的源端口信息创建源端口哈希表,包括:建立预置长度的源端口哈希数表;将采集策略文件解析为策略数组,并遍历策略数组,将每条采集策略的采集源端口范围通过源端口哈希函数计算出源端口哈希值;根据每条采集策略的源端口哈希值创建源端口哈希数表。5.根据权利要求4所述的抽样采集报文的方法,其特征在于,所述根据每条采集策略的源端口哈希值创...

【专利技术属性】
技术研发人员:邵慧丽李亚辉肖成民王虹杨晓娟万焱李向通
申请(专利权)人:北京网御星云信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1