本发明涉及网络流量监测领域,尤其涉及一种网络流量数据包提取方法、系统及设备。
背景技术:
1、随着现今网络规模的不断扩大以及网络中业务流量爆炸式增长,传统的网络流量监测分析技术面临着巨大的挑战。相关技术中通过协议元数据的内容来设定过滤规则,从而提取网络流量中所需的数据包内容,达到过滤部分不符合需求的报文,以减轻计算机系统处理压力的目的。但在报文存储量较大,且每条网络数据流可能匹配到多条过滤规则的情况下,如何较快的将符合需求的网络数据流中全部数据包内容提取出来,是目前所需要解决的问题。
技术实现思路
1、有鉴于此,本发明提出了一种网络流量数据包提取方法、系统及计算机设备,解决了数据包提取过程中,灵活性低、准确率低以及资源浪费等问题。
2、基于上述目的,本发明实施例的一方面提供了一种网络流量数据包提取方法,具体包括如下步骤:
3、响应于接收到查询规则,获取待处理文件中的第一流文件及其对应的最高优先级过滤规则;
4、根据所述第一流文件和所述最高优先级过滤规则,确定所述第一流文件的规则状态;
5、响应于所述规则状态为第一状态,判断所述第一状态对应的过滤规则与所述查询规则是否匹配;
6、响应于所述过滤规则与所述查询规则匹配,将所述第一流文件中的数据包存入输出数组,获取待处理文件中的下一个流文件及其对应的最高优先级过滤规则作为新的第一流文件和最高优先级过滤规则,并返回根据所述第一流文件和所述最高优先级过滤规则,确定所述第一流文件的规则状态的步骤,直至查询时间结束后将所述输出数组的全部数据包作为所述查询规则对应的查询结果。
7、在一些实施方式中,所述的网络流量数据包提取方法还包括:
8、若所述规则状态为第二状态,在预设数据表中查找是否存在与所述第一流文件对应的缓存信息;
9、响应于所述预设数据表中存在与所述第一流文件对应的第一缓存信息,在所述预设数据表中删除所述第一缓存信息,并判断所述第二状态下所述第一流文件对应的过滤规则与所述查询规则是否匹配;
10、响应于所述过滤规则与所述查询规则不匹配,获取待处理文件中的下一个流文件及其对应的最高优先级过滤规则作为新的第一流文件和最高优先级过滤规则,并返回根据所述第一流文件和所述最高优先级过滤规则,确定所述第一流文件的规则状态的步骤;
11、响应于所述过滤规则与所述查询规则匹配,将所述第一流文件中的数据包存入输出数组,获取待处理文件中的下一个流文件及其对应的最高优先级过滤规则作为新的第一流文件和最高优先级过滤规则,并返回根据所述第一流文件和所述最高优先级过滤规则,确定所述第一流文件的规则状态的步骤,直至查询时间结束后将所述输出数组全部数据包作为所述查询规则对应的查询结果。
12、在一些实施方式中,所述的网络流量数据包提取方法还包括:
13、若所述规则状态为第三状态,以所述第一流文件的数据流标识作为关键字,以所述第一流文件的规则标识或文件序号作为关键值;
14、基于所述关键字和关键值构建目标缓存信息并将所述目标缓存信息存入所述预设数据表;
15、获取待处理文件中的下一个流文件及其对应的最高优先级过滤规则作为新的第一流文件和最高优先级过滤规则,并返回根据所述第一流文件和所述最高优先级过滤规则,确定所述第一流文件的规则状态的步骤。
16、在一些实施方式中,所述的网络流量数据包提取方法还包括:
17、监测所述目标缓存信息的缓存时长是否超过第一预设时长,
18、响应于所述目标缓存信息的缓存时长超过第一预设时长,在所述预设数据表中删除所述目标缓存信息,并将所述第一流文件中的数据包存入输出数组。
19、在一些实施方式中,所述的网络流量数据包提取方法还包括:
20、响应于所述过滤规则与所述查询规则不匹配,获取待处理文件中的下一个流文件及其对应的最高优先级过滤规则作为新的第一流文件和最高优先级过滤规则,并返回根据所述第一流文件和所述最高优先级过滤规则,确定所述第一流文件的规则状态的步骤。
21、在一些实施方式中,所述根据所述第一流文件和所述最高优先级过滤规则,确定所述第一流文件的规则状态的步骤,包括:
22、判断所述第一流文件中所有数据包是否满足其对应的最高优先级过滤规则;
23、响应于所述第一流文件中所有数据包不满足所述第一流文件的最高优先级过滤规则,确定所述第一流文件的规则状态为第三状态,并检测第二预设时长内是否捕获到网络流量中新的数据包;
24、响应于第二预设时长内捕获到网络流量中新的数据包,将所述新的数据包作为第一数据包,并检测所述第一数据包是否满足所述最高优先级过滤规则;
25、响应于所述第一数据包满足所述最高优先级过滤规则,确定所述第一流文件的规则状态为所述第一状态,确定所述第一状态对应的过滤规则为最高优先级过滤规则;
26、响应于所述第一数据包不满足所述最高优先级过滤规则,确定所述第一流文件的规则状态为第二状态,确定所述第二状态对应的过滤规则为所述最高优先级过滤规则的下一优先级过滤规则。
27、在一些实施方式中,所述的网络流量数据包提取方法还包括:
28、响应于预设数据表中不存在所述第一流文件对应的第一缓存信息,判断所述第二状态对应的过滤规则与所述查询规则是否匹配;
29、响应于所述过滤规则与所述查询规则不匹配,获取待处理文件中的下一个流文件及其对应的最高优先级过滤规则作为新的第一流文件和最高优先级过滤规则,并返回根据所述第一流文件和所述最高优先级过滤规则,确定所述第一流文件的规则状态的步骤;
30、响应于所述过滤规则与所述查询规则匹配,将所述第一流文件中的数据包存入输出数组,获取待处理文件中的下一个流文件及其对应的最高优先级过滤规则作为新的第一流文件和最高优先级过滤规则,并返回根据所述第一流文件和所述最高优先级过滤规则,确定所述第一流文件的规则状态的步骤,直至查询时间结束后将所述输出数组的全部数据包作为所述查询规则对应的查询结果。
31、在一些实施方式中,所述获取待处理文件中的第一流文件的步骤,包括:
32、按照所述待处理文件中各流文件的文件序号的序号顺序,获取待处理文件中的第一个所述流文件作为第一流文件。
33、本发明实施例的另一方面,还提供了一种网络流量数据包提取系统,包括:
34、获取模块,配置用于响应于接收到查询规则,获取待处理文件中的第一流文件及其对应的最高优先级过滤规则;
35、确定模块,配置用于根据所述第一流文件和所述最高优先级过滤规则,确定所述第一流文件的规则状态;
36、判断模块,配置用于响应于所述规则状态为第一状态,判断所述第一状态对应的过滤规则与所述查询规则是否匹配;
37、查询模块,配置用于响应于所述过滤规则与所述查询规则匹配,将所述第一流文件中的数据包存入输出数组,获取待处理文件中的下一个流文件及对应的最高优先级过滤规则作为新的第一流文件和最高优先级过滤规则,并返回所述确定模块配置的执行步骤,直至查询时间结束后将所述输出数组的全部数据包作为所述查询规则对应的查询结果。
38、本发明实施例的又一方面,还提供了一种计算机设备,包括:至少一个处理器;以及存储器,所述存储器存储有可在所述处理器上运行的计算机程序,所述计算机程序由所述处理器执行时实现如上方法的步骤。
39、本发明至少具有以下有益技术效果:本发明的网络流量数据包提取方法,根据流文件及其对应的最高优先级过滤规则确定数据流在匹配规则时的规则状态变化,有助于更好地管理和处理数据流,能够根据数据流的规则状态来动态调整数据包提取逻辑,保证在接收到查询规则时,能够优先按照数据流所匹配的最高优先级过滤规则进行数据包提取,并在数据流中所有数据包都不符合高优先级过滤规则时,通过变化规则状态以自动地将最高优先级过滤规则降级到其他低优先级过滤规则以与查询规则匹配,及时提取得到满足需求的数据包,提高了系统的适应性和灵活性,避免了计算资源、存储资源或网络带宽的浪费,根据数据流的实际行为来调整其匹配的过滤规则,可以提高数据包提取的准确性。
1.一种网络流量数据包提取方法,其特征在于,包括
2.根据权利要求1所述的网络流量数据包提取方法,其特征在于,还包括:
3.根据权利要求2所述的网络流量数据包提取方法,其特征在于,还包括:
4.根据权利要求3所述的网络流量数据包提取方法,其特征在于,还包括:
5.根据权利要求1所述的网络流量数据包提取方法,其特征在于,还包括:
6.根据权利要求1所述的网络流量数据包提取方法,其特征在于,所述根据所述第一流文件和所述最高优先级过滤规则,确定所述第一流文件的规则状态的步骤,包括:
7.根据权利要求2所述的网络流量数据包提取方法,其特征在于,还包括:
8.根据权利要求1所述的网络流量数据包提取方法,其特征在于,所述获取待处理文件中的第一流文件的步骤,包括:
9.一种网络流量数据包提取系统,其特征在于,包括:
10.一种计算机设备,包括: