高性能网络流量数据表示和提取方法和系统与流程

文档序号:27218308发布日期:2021-11-03 16:03阅读:200来源:国知局
高性能网络流量数据表示和提取方法和系统与流程

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.输出模块,用于当连接记录对应的数据表示任务均执行完时,输出已缓存的所述目标网络流量。
40.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
41.读取待处理数据包;
42.当查询到待处理数据包存在连接记录、且待处理数据包对应的流量未提交时,将待处理数据包存储至数据包数组中,数据包数据组与连接记录对应;
43.确定连接记录对应的待执行数据表示任务、并执行;
44.从数据包数组中获取待执行数据表示任务对应的目标网络流量、并缓存;
45.当连接记录对应的数据表示任务均执行完时,输出已缓存的目标网络流量。
46.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
47.读取待处理数据包;
48.当查询到待处理数据包存在连接记录、且待处理数据包对应的流量未提交时,将
待处理数据包存储至数据包数组中,数据包数据组与连接记录对应;
49.确定连接记录对应的待执行数据表示任务、并执行;
50.从数据包数组中获取待执行数据表示任务对应的目标网络流量、并缓存;
51.当连接记录对应的数据表示任务均执行完时,输出已缓存的目标网络流量。
52.上述高性能网络流量数据表示和提取方法、系统、计算机设备和存储介质,通过在获取到待处理数据包后,查询到连接记录且确定流量未提交时,将待处理数据包存储至数据包数组中,确定连接记录对应的待执行数据表示任务,并执行,能够从数据包数组中获取待执行数据表示任务对应的目标网络流量、并缓存,进而可以当连接记录对应的数据表示任务均执行完时,输出已缓存的目标网络流量,整个过程,能够通过监控数据表示任务的执行,实现对满足网络流量检测的数据要求的目标网络流量的获取,进而通过输出可被直接处理的目标网络流量,能够提高网络流量检测效率。
附图说明
53.图1为一个实施例中高性能网络流量数据表示和提取方法的流程示意图;
54.图2为一个实施例中高性能网络流量数据表示和提取方法的示意图;
55.图3为另一个实施例中高性能网络流量数据表示和提取方法的示意图;
56.图4为一个实施例中高性能网络流量数据表示和提取系统的结构框图;
57.图5为一个实施例中计算机设备的内部结构图。
具体实施方式
58.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
59.在一个实施例中,如图1所示,提供了一种高性能网络流量数据表示和提取方法,本实施例以该方法应用于服务器进行举例说明,可以理解的是,该方法也可以应用于终端,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例中,该方法包括以下步骤:
60.步骤102,读取待处理数据包。
61.其中,待处理数据包是指当前读取到的数据包,待处理数据包携带五元组信息,五元组是指源mac地址(media access control address,媒体存取控制位址)、目的mac地址、源端口、目的端口、协议号。
62.具体的,待处理数据包可预先存储在数据包接收队列或本地pcap(一种数据报存储格式)文件中,服务器从数据包接收队列或本地pcap文件中读取待处理数据包。
63.步骤104,当查询到待处理数据包存在连接记录、且待处理数据包对应的流量未提交时,将待处理数据包存储至数据包数组中,数据包数据组与连接记录对应。
64.其中,连接记录用于对与数据包对应的数据连接进行记录,连接记录中包括提交标志状态信息和任务标志信息,其中的提交标志状态信息用于表征当前连接记录对应的数据连接的流量是否已提交,任务标志信息用于表征当前连接记录对应的数据连接的数据表示任务是否已完成。数据表示任务用于根据数据包得到满足网络流量检测的数据要求的目
标网络流量。比如,数据表示任务用于根据数据包得到满足网络流量检测的数据要求的指定个数的数据包集合,即目标网络流量为指定个数的数据包集合。又比如,数据表示任务用于根据数据包得到满足网络流量检测的数据要求的指定字节长度的数据包集合,即目标网络流量为指定字节长度的数据包集合。
65.其中,连接记录存储在预设的连接查询表中,当与待处理数据包对应的数据连接已被记录时,在连接查询表中会存在对应的连接记录。流量未提交是指与待处理数据包对应的数据连接的网络流量未提交到上层应用,这里的上层应用具体可以是指对网络流量进行检测的应用,比如,上层应用具体可以是指利用机器学习等对网络流量进行检测的应用。数据包数组是指用于存储数据包的数组,与连接记录相对应,每个连接记录都有对应的数据包数组。需要说明的是,在数据包数组中,存储的数据具体可以是实际的数据包,也可以是在服务器中缓存数据包的缓存地址,本实施例在此处不做具体限定。
66.具体的,在获取到待处理数据包后,服务器会根据待处理数据包的五元组生成查询标识,根据查询标识查询预设的连接查询表中是否存在对应的连接记录,当查询到待处理数据包存在连接记录时,根据连接记录中的提交标志状态信息,确定当前连接记录对应的数据连接的流量是否已提交,当流量未提交时,将待处理数据包存储至与连接记录对应的数据包数组中。其中,根据待处理数据包的五元组生成查询标识的方式可以为:对待处理数据包的五元组进行哈希,以五元组对应的哈希值为查询标识。
67.步骤106,确定连接记录对应的待执行数据表示任务、并执行。
68.其中,待执行数据表示任务是指等待执行的数据表示任务。
69.具体的,在确定待处理数据包存在连接记录、且待处理数据包对应的流量未提交时,服务器会根据连接记录得到任务标志信息,根据任务标志信息确定对应的数据表示任务是否已完成。需要说明的是,一个连接记录中可能存在多个任务标志信息,即一个连接记录可与多个数据表示任务相对应。在确定的对应数据表示任务是否已完成时,对于已完成的数据表示任务,服务器会不做处理,对于未完成的数据表示任务,服务器会更新与该数据表示任务对应的数据表示积累值,再判断更新后的数据表示积累值是否达到对应的数据表示阈值,当数据表示积累值达到数据表示阈值时,将其确定为连接记录对应的待执行数据表示任务、并执行,同时,服务器会更新待执行数据表示任务的任务标志信息,使其表征为数据表示任务已执行,当数据表示积累值未达到数据表示阈值时,服务器会不做处理,依次更新与数据表示任务对应的数据表示积累值后,返回读取待处理数据包的步骤。
70.步骤108,从数据包数组中获取待执行数据表示任务对应的目标网络流量、并缓存。
71.具体的,在执行待执行数据表示任务时,服务器会从数据包数组中获取待执行数据表示任务对应的目标网络流量、并缓存。需要说明的是,这里的目标网络流量具体可以为指定个数的数据包,也可以为指定字节长度的数据包,与待执行数据表示任务相对应。
72.步骤110,当连接记录对应的数据表示任务均执行完时,输出已缓存的目标网络流量。
73.具体的,当连接记录中的任务标志信息均表征为数据表示任务已执行时,即可确定连接记录对应的数据表示任务均执行完,当连接记录对应的数据表示任务均执行完时,服务器会输出已缓存的目标网络流量至上层应用,并更新连接记录中的提交标志状态信
息,使其表征为当前连接记录对应的数据连接的流量已提交,同时,还会在预设的连接跟踪表中删除与连接记录对应的连接跟踪记录,即不需要再对连接记录对应的数据连接进行跟踪。
74.上述高性能网络流量数据表示和提取方法,通过在获取到待处理数据包后,查询到连接记录且确定流量未提交时,将待处理数据包存储至数据包数组中,确定连接记录对应的待执行数据表示任务,并执行,能够从数据包数组中获取待执行数据表示任务对应的目标网络流量、并缓存,进而可以当连接记录对应的数据表示任务均执行完时,输出已缓存的目标网络流量,整个过程,能够通过监控数据表示任务的执行,实现对满足网络流量检测的数据要求的目标网络流量的获取,进而通过输出可被直接处理的目标网络流量,能够提高网络流量检测效率。
75.在一个实施例中,在读取待处理数据包之后,还包括:
76.获取连接查询表;
77.当连接查询表中存在与待处理数据包对应的连接记录时,获取连接记录中的提交标志状态信息;
78.根据提交标志状态信息判断流量是否提交。
79.具体的,在读取待处理数据包之后,服务器会获取连接查询表,根据待处理数据包的五元组生成查询标识,根据查询标识查询连接查询表,在连接查询表中,以由五元组生成的连接标识记录对应的数据连接,当连接查询表中存在与待处理数据包对应的连接记录时,获取连接记录中的提交标志状态信息,根据提交标志状态信息判断流量是否提交。在本实施例中,已经预先设置了不同的提交标志状态信息所表征的不同流量是否提交结果,举例说明,当提交标志状态信息为0时,表示流量未提交,当提交标志状态信息为1时,表示流量已提交。
80.本实施例中,通过获取连接查询表,当连接查询表中存在与待处理数据包对应的连接记录时,获取连接记录中的提交标志状态信息,根据提交标志状态信息判断流量是否提交,能够实现对流量是否提交的确定。
81.在一个实施例中,还包括:
82.当连接查询表中不存在与待处理数据包对应的连接记录时,创建与待处理数据包对应的新连接记录;
83.根据新连接记录在预设的连接跟踪表中创建对应的新连接跟踪记录;
84.对新连接跟踪记录进行跟踪,当新连接跟踪记录的已创建连接时长达到预设连接超时阈值时,输出与新连接跟踪记录对应的网络流量、将新连接跟踪记录删除。
85.其中,连接跟踪表用于对已记录的数据连接进行跟踪。预设连接超时阈值是指预先设置的最长可连接时间。
86.具体的,当连接查询表中不存在与待处理数据包对应的连接记录时,服务器会根据待处理数据包的五元组生成连接标识,以连接标识创建与待处理数据包对应的新连接记录,根据新连接记录在预设的连接跟踪表中创建对应的新连接跟踪记录,以开始对与该连接记录对应的数据连接进行跟踪,当新连接跟踪记录的已创建连接时长达到预设连接超时阈值时,表示已连接超时,会触发时限提交操作,服务器会更新该新连接记录中的任务标志信息,使任务标志信息表征为数据表示任务均已完成,输出与新连接跟踪记录对应的网络
流量、将新连接跟踪记录从连接跟踪表中删除。其中,根据待处理数据包的五元组生成连接标识的方式具体可以为:对待处理数据包的五元组进行哈希,以哈希值为连接标识。
87.进一步的,在根据新连接记录在预设的连接跟踪表中创建对应的新连接跟踪记录的同时,服务器也会根据新连接记录在预设的超时跟踪表中创建对应的新超时跟踪记录,对新超时跟踪记录进行跟踪,当新超时跟踪记录满足预设提交超时条件时,输出与新超时跟踪记录对应的网络流量、将新超时跟踪记录从超时跟踪表中删除。需要说明的是,对于所有的连接记录,在连接跟踪表中都会存在对应的连接跟踪记录,当连接记录的已创建连接时长达到预设连接超时阈值时,都会触发时限提交操作。举例说明,连接跟踪表具体可以为按时间顺序的双向链表,用定时器周期从表头开始扫描,可以快速获取超过时间限制的记录。
88.本实施例中,通过创建与待处理数据包对应的新连接记录,根据新连接记录在预设的连接跟踪表中创建对应的新连接跟踪记录,对新连接跟踪记录进行跟踪,能够实现对新连接记录的创建和跟踪。
89.在一个实施例中,在获取连接记录中的提交标志状态信息之后,还包括:
90.根据连接记录,确定预设的超时跟踪表中的超时跟踪记录;
91.更新超时跟踪记录,对更新后的超时跟踪记录进行监控;
92.当更新后的超时跟踪记录满足预设提交超时条件时,输出与更新后的超时跟踪记录对应的网络流量、将更新后的超时跟踪记录从超时跟踪表中删除。
93.其中,超时跟踪表用于对已记录的数据连接的数据提交是否超时进行跟踪,当连接查询表中存在连接记录时,对应的超时跟踪表中也会存在对应的超时跟踪记录。预设提交超时条件是指预先设置的提交超时时限。
94.具体的,在获取连接记录中的提交标志状态信息之后,服务器会连接记录中的连接标识,确定预设的超时跟踪表中对应的超时跟踪记录,更新超时跟踪记录,对更新后的超时跟踪记录进行监控,当更新后的超时跟踪记录满足预设提交超时条件时,表示数据提交已超时,会触发超时提交操作,服务器会更新与超时跟踪记录对应的连接记录中的任务标志信息,使任务标志信息表征为数据表示任务均已完成,输出与更新后的超时跟踪记录对应的网络流量、将更新后的超时跟踪记录从超时跟踪表中删除。这里需要说明的是,更新超时跟踪记录是指将超时跟踪记录移动至超时跟踪表的尾部,并重置超时计时,以此实现对数据提交是否超时进行跟踪。在将更新后的超时跟踪记录从超时跟踪表中删除的同时,服务器也会在连接查询表和连接跟踪表中进行响应的移除操作,移除相应的连接记录和连接跟踪记录。举例说明,超时跟踪表具体可以为按时间顺序的双向链表,用定时器周期从表头开始扫描,可以快速获取超过时间限制的记录。
95.本实施例中,通过根据连接记录,确定预设的超时跟踪表中的超时跟踪记录,更新超时跟踪记录,对更新后的超时跟踪记录进行监控,能够实现对连接记录的超时监控。
96.在一个实施例中,确定连接记录对应的待执行数据表示任务、并执行包括:
97.获取连接记录中的任务标志信息;
98.根据任务标志信息,确定未完成数据表示任务;
99.更新未完成数据表示任务的数据表示积累值;
100.根据更新的数据表示积累值,确定待执行数据表示任务、并执行。
101.具体的,服务器会获取连接记录中的任务标志信息,根据任务标志信息,确定未完成数据表示任务,更新未完成数据表示任务的数据表示积累值,判断更新的数据表示积累值是否达到未完成数据表示任务的数据表示阈值,当数据表示积累值达到数据表示阈值时,将未完成数据表示任务确定为待执行数据表示任务、并执行,当数据表示积累值未达到数据表示阈值时,不作处理。需要说明的是,在本实施例中,已经预先设置了不同的任务标志信息所表征的数据表示任务完成情况不同,举例说明,当任务标志信息为1时,表示数据表示任务已完成,当任务标志信息为0时,表示数据表示任务未完成。
102.进一步的,在更新未完成数据表示任务的数据表示积累值时,不同的数据表示任务所更新的数据表示积累值不同,举例说明,当数据表示任务为获取指定个数的数据包时,更新的数据表示积累值为数据包个数计数+1,当数据表示任务为获取指定字节长度的数据包时,更新的数据表示积累值为字节数个数+1。更新数据表示积累值的方式可以为预先设置数据表示函数实现统计计数,本实施例在此处不对更新数据表示积累值的方式做具体限定。
103.本实施例中,通过获取连接记录中的任务标志信息,根据任务标志信息,确定未完成数据表示任务,更新未完成数据表示任务的数据表示积累值,根据更新的数据表示积累值,确定待执行数据表示任务、并执行,能够利用任务标志信息实现对待执行数据表示任务的确定和执行。
104.在一个实施例中,根据更新的数据表示积累值,确定待执行数据表示任务、并执行包括:
105.获取与未完成数据表示任务对应的数据表示阈值;
106.将更新的数据表示积累值达到对应的数据表示阈值的未完成数据表示任务,确定为待执行数据表示任务、并执行。
107.具体的,每个数据表示任务都预先设置有对应的数据表示阈值,只有当数据表示积累值达到对应的数据表示阈值时,才会触发数据表示任务的执行,因此,在确定待执行数据表示任务时,服务器需要获取与未完成数据表示任务对应的数据表示阈值,将更新的数据表示积累值达到对应的数据表示阈值的未完成数据表示任务,确定为待执行数据表示任务、并执行。
108.本实施例中,通过获取与未完成数据表示任务对应的数据表示阈值,将更新的数据表示积累值达到对应的数据表示阈值的未完成数据表示任务,确定为待执行数据表示任务、并执行,能够利用数据表示阈值实现对待执行数据表示任务的确定和执行。
109.在一个实施例中,还包括:
110.当连接记录对应的数据表示任务未执行完时,返回读取待处理数据包的步骤。
111.具体的,当连接记录对应的数据表示任务未执行完时,表示与该连接记录对应的已缓存的目标网络流量还不能提交,服务器需要返回读取待处理数据包的步骤,直到连接记录对应的数据表示任务均执行完时,输出已缓存的目标网络流量。
112.在一个实施例中,还包括:
113.响应数据表示任务配置操作,生成数据表示任务。
114.具体的,在进行网络流量处理时,服务器会响应用户的数据表示任务配置操作,生成数据表示任务。在数据表示任务配置操作中,用户会配置连接超时阈值、提交超时条件、
数据表示任务的数据对象、数据表示函数、数据表示阈值等,其中的数据对象可以是网络流、网络会话等,数据表示函数用于更新数据表示积累值。需要说明的是,当目标网络流量为指定个数的数据包时,数据表示函数为以数据包个数来统计的函数,数据表示阈值为数据包个数提交阈值,当目标网络流量未指定字节长度的数据包时,数据表示函数为以字节个数来统计的函数,数据表示阈值为字节个数提交阈值。
115.本实施例中,通过响应数据表示任务配置操作,生成数据表示任务,能够实现对数据表示任务的配置。
116.在一个实施例中,如图2所示,还提供了一个流程示意图来说明本技术的高性能网络流量数据表示和提取方法,该高性能网络流量数据表示和提取方法具体包括以下步骤:
117.服务器读取待处理数据包,根据待处理数据包的五元组生成查询key判断是否存在连接记录,当不存在连接记录时,创建与待处理数据包对应的新连接记录,根据新连接记录在预设的连接跟踪表中创建对应的新连接跟踪记录,对新连接跟踪记录进行跟踪(即连接时限扫描),当新连接跟踪记录的已创建连接时长达到预设连接超时阈值时,输出与新连接跟踪记录对应的网络流量、将新连接跟踪记录删除(即连接时限提交)。
118.当存在连接记录、且待处理数据包对应的流量未提交时,服务器将待处理数据包存储至数据包数组中,获取连接记录中的任务标志信息,根据任务标志信息,确定未完成数据表示任务,调用预先配置的数据表示函数计算数据表示积累值(即更新未完成数据表示任务的数据表示积累值),修改积累值满足提交阈值(即数据表示阈值)的数据表示任务的状态,即更新任务标志信息,(即根据更新的数据表示积累值,确定待执行数据表示任务、并执行),从数据包数组中获取待执行数据表示任务对应的目标网络流量、并缓存,当连接记录对应的数据表示任务均执行完时,输出已缓存的目标网络流量。
119.进一步的,当存在连接记录时,服务器还会根据连接记录,确定预设的超时跟踪表中的超时跟踪记录,更新超时跟踪记录,对更新后的超时跟踪记录进行监控(即超时扫描),当更新后的超时跟踪记录满足预设提交超时条件时,输出与更新后的超时跟踪记录对应的网络流量(即超时提交)、将更新后的超时跟踪记录从超时跟踪表中删除(即超时删除)。
120.本技术还提供一种应用场景,如图3所示,该应用场景应用上述的高性能网络流量数据表示和提取方法。其中,预先设定提交标志状态信息为1表示流量已提交,提交标志状态信息为0表示流量未提交,任务标志信息为1表示数据表示任务已完成,任务标志信息为0表示数据表示任务未完成,具体地,该高性能网络流量数据表示和提取方法在该应用场景的应用如下:
121.服务器读取待处理数据包,从读取的待处理数据包生成五元组key,根据五元组key查询在连接查询表中连接是否存在,当不存在连接记录时,在连接查询表中创建与待处理数据包对应的新连接记录,并在预设的连接跟踪表的最后创建相应的新连接跟踪记录以及在预设的超时跟踪表的最后创建相应的新超时跟踪记录。当存在连接记录时,将预设的超时跟踪表中与连接记录对应的超时跟踪记录移动到表的最后,并把时间计数归0(即根据连接记录,确定预设的超时跟踪表中的超时跟踪记录,更新超时跟踪记录,对更新后的超时跟踪记录进行监控)。在查询到连接记录后,服务器获取连接记录中的提交标志状态信息,根据提交标志状态信息判断流量是否提交,当提交标志状态信息为1时,表示流量已提交,丢弃数据包不做处理,当提交标注状态信息为0时,表示流量未提交,服务器会将当前数据
包(即待处理数据包)地址存储至与连接记录对应的数据包数组中,获取连接记录中的任务标志信息,根据任务标志信息,确定未完成数据表示任务,更新未完成数据表示任务的数据表示积累值,根据更新的数据表示积累值,确定待执行数据表示任务、并执行,从数据包数组中获取待执行数据表示任务对应的目标网络流量、并缓存,当连接记录对应的数据表示任务均执行完时,输出已缓存的目标网络流量。其中,当所有任务标志信息均为1时,表示连接记录对应的数据表示任务均执行完,服务器会将与连接记录对应的提交标志状态信息更新为1,提交当前连接记录的数据,即输出已缓存的目标网络流量,同时将连接记录对应的连接跟踪记录,从连接跟踪记录中删除。
122.其中,在根据任务标志信息,确定未完成数据表示任务时,服务器会根据任务标志信息,依次对与任务标志信息相对应的数据表示任务进行判断,如图3所示,这里的任务标志信息包括数据包个数任务标志以及字节个数任务标志,在判断时,服务器首先会根据数据包个数任务标志确定对应的数据表示任务的执行情况,当数据包个数任务标志为1时表示已完成,继续根据字节个数任务标志判断对应的数据表示任务的执行情况,当数据包个数任务标志为0时表示未完成,服务器会根据与数据表示任务对应的数据表示函数执行数据包个数计数+1的操作,实现对数据表示积累值的更新,并判断数据表示积累值是否达到数据包个数提交阈值(即数据表示阈值),当数据表示积累值达到数据报个数提交阈值时,将对应的数据表示任务确定为待执行数据表示任务、并执行。同理可得,对其他数据表示任务的处理方式也类似。需要说明的是,在图3的应用场景图中提供了对两种类型的数据表示任务的处理过程,在实际应用中,每种类型的数据表示任务的数量是不受限制可以按需自行设置的。
123.应该理解的是,虽然上述实施例涉及的各流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述实施例涉及的各流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
124.在一个实施例中,如图4所示,提供了一种高性能网络流量数据表示和提取系统,包括:获取模块402、第一处理模块404、第二处理模块406、执行模块408和输出模块410,其中:
125.获取模块402,用于读取待处理数据包;
126.第一处理模块404,用于当查询到待处理数据包存在连接记录、且待处理数据包对应的流量未提交时,将待处理数据包存储至数据包数组中,数据包数据组与连接记录对应;
127.第二处理模块406,用于确定连接记录对应的待执行数据表示任务、并执行;
128.执行模块408,用于从数据包数组中获取待执行数据表示任务对应的目标网络流量、并缓存;
129.输出模块410,用于当连接记录对应的数据表示任务均执行完时,输出已缓存的所述目标网络流量。
130.上述高性能网络流量数据表示和提取系统,通过在获取到待处理数据包后,查询
到连接记录且确定流量未提交时,将待处理数据包存储至数据包数组中,确定连接记录对应的待执行数据表示任务,并执行,能够从数据包数组中获取待执行数据表示任务对应的目标网络流量、并缓存,进而可以当连接记录对应的数据表示任务均执行完时,输出已缓存的目标网络流量,整个过程,能够通过监控数据表示任务的执行,实现对满足网络流量检测的数据要求的目标网络流量的获取,进而通过输出可被直接处理的目标网络流量,能够提高网络流量检测效率。
131.在一个实施例中,高性能网络流量数据表示和提取系统还包括查询模块,查询模块用于获取连接查询表,当连接查询表中存在与待处理数据包对应的连接记录时,获取连接记录中的提交标志状态信息,根据提交标志状态信息判断流量是否提交。
132.在一个实施例中,查询模块还用于当连接查询表中不存在与待处理数据包对应的连接记录时,创建与待处理数据包对应的新连接记录,根据新连接记录在预设的连接跟踪表中创建对应的新连接跟踪记录,对新连接跟踪记录进行跟踪,当新连接跟踪记录的已创建连接时长达到预设连接超时阈值时,输出与新连接跟踪记录对应的网络流量、将新连接跟踪记录删除。
133.在一个实施例中,高性能网络流量数据表示和提取系统还包括跟踪模块,跟踪模块用于根据连接记录,确定预设的超时跟踪表中的超时跟踪记录,更新超时跟踪记录,对更新后的超时跟踪记录进行监控,当更新后的超时跟踪记录满足预设提交超时条件时,输出与更新后的超时跟踪记录对应的网络流量、将更新后的超时跟踪记录从超时跟踪表中删除。
134.在一个实施例中,第二处理模块还用于获取连接记录中的任务标志信息,根据任务标志信息,确定未完成数据表示任务,更新未完成数据表示任务的数据表示积累值,根据更新的数据表示积累值,确定待执行数据表示任务、并执行。
135.在一个实施例中,第二处理模块还用于获取与未完成数据表示任务对应的数据表示阈值,将更新的数据表示积累值达到对应的数据表示阈值的未完成数据表示任务,确定为待执行数据表示任务、并执行。
136.在一个实施例中,执行模块还用于当连接记录对应的数据表示任务未执行完时,返回读取待处理数据包的步骤。
137.在一个实施例中,高性能网络流量数据表示和提取系统还包括配置模块,配置模块用于响应数据表示任务配置操作,生成数据表示任务。
138.关于高性能网络流量数据表示和提取系统的具体限定可以参见上文中对于高性能网络流量数据表示和提取方法的限定,在此不再赘述。上述高性能网络流量数据表示和提取系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
139.在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备
的数据库用于存储连接查询表、连接跟踪表,超时跟踪表等。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种高性能网络流量数据表示和提取方法。
140.本领域技术人员可以理解,图5中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
141.在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
142.读取待处理数据包;
143.当查询到待处理数据包存在连接记录、且待处理数据包对应的流量未提交时,将待处理数据包存储至数据包数组中,数据包数据组与连接记录对应;
144.确定连接记录对应的待执行数据表示任务、并执行;
145.从数据包数组中获取待执行数据表示任务对应的目标网络流量、并缓存;
146.当连接记录对应的数据表示任务均执行完时,输出已缓存的目标网络流量。
147.在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取连接查询表,当连接查询表中存在与待处理数据包对应的连接记录时,获取连接记录中的提交标志状态信息,根据提交标志状态信息判断流量是否提交。
148.在一个实施例中,处理器执行计算机程序时还实现以下步骤:当连接查询表中不存在与待处理数据包对应的连接记录时,创建与待处理数据包对应的新连接记录,根据新连接记录在预设的连接跟踪表中创建对应的新连接跟踪记录,对新连接跟踪记录进行跟踪,当新连接跟踪记录的已创建连接时长达到预设连接超时阈值时,输出与新连接跟踪记录对应的网络流量、将新连接跟踪记录删除。
149.在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据连接记录,确定预设的超时跟踪表中的超时跟踪记录,更新超时跟踪记录,对更新后的超时跟踪记录进行监控,当更新后的超时跟踪记录满足预设提交超时条件时,输出与更新后的超时跟踪记录对应的网络流量、将更新后的超时跟踪记录从超时跟踪表中删除。
150.在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取连接记录中的任务标志信息,根据任务标志信息,确定未完成数据表示任务,更新未完成数据表示任务的数据表示积累值,根据更新的数据表示积累值,确定待执行数据表示任务、并执行。
151.在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取与未完成数据表示任务对应的数据表示阈值,将更新的数据表示积累值达到对应的数据表示阈值的未完成数据表示任务,确定为待执行数据表示任务、并执行。
152.在一个实施例中,处理器执行计算机程序时还实现以下步骤:当连接记录对应的数据表示任务未执行完时,返回读取待处理数据包的步骤。
153.在一个实施例中,处理器执行计算机程序时还实现以下步骤:响应数据表示任务配置操作,生成数据表示任务。
154.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
155.读取待处理数据包;
156.当查询到待处理数据包存在连接记录、且待处理数据包对应的流量未提交时,将待处理数据包存储至数据包数组中,数据包数据组与连接记录对应;
157.确定连接记录对应的待执行数据表示任务、并执行;
158.从数据包数组中获取待执行数据表示任务对应的目标网络流量、并缓存;
159.当连接记录对应的数据表示任务均执行完时,输出已缓存的目标网络流量。
160.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取连接查询表,当连接查询表中存在与待处理数据包对应的连接记录时,获取连接记录中的提交标志状态信息,根据提交标志状态信息判断流量是否提交。
161.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当连接查询表中不存在与待处理数据包对应的连接记录时,创建与待处理数据包对应的新连接记录,根据新连接记录在预设的连接跟踪表中创建对应的新连接跟踪记录,对新连接跟踪记录进行跟踪,当新连接跟踪记录的已创建连接时长达到预设连接超时阈值时,输出与新连接跟踪记录对应的网络流量、将新连接跟踪记录删除。
162.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据连接记录,确定预设的超时跟踪表中的超时跟踪记录,更新超时跟踪记录,对更新后的超时跟踪记录进行监控,当更新后的超时跟踪记录满足预设提交超时条件时,输出与更新后的超时跟踪记录对应的网络流量、将更新后的超时跟踪记录从超时跟踪表中删除。
163.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取连接记录中的任务标志信息,根据任务标志信息,确定未完成数据表示任务,更新未完成数据表示任务的数据表示积累值,根据更新的数据表示积累值,确定待执行数据表示任务、并执行。
164.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取与未完成数据表示任务对应的数据表示阈值,将更新的数据表示积累值达到对应的数据表示阈值的未完成数据表示任务,确定为待执行数据表示任务、并执行。
165.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当连接记录对应的数据表示任务未执行完时,返回读取待处理数据包的步骤。
166.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:响应数据表示任务配置操作,生成数据表示任务。
167.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read

only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
168.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
169.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1