一种数据库表结构及网络流量检索方法技术

技术编号:35065393 阅读:16 留言:0更新日期:2022-09-28 11:22
本发明专利技术提供了一种数据库表结构及网络流量检索方法,其特征在于,在流量存储检索系统中,提取数据文件与索引文件元信息的对应关系将其保存在数据库表中(以mysql数据库为例),通过设计的特定表结构实现网络流量数据的的一级检索,结合存储检索系统中数据文件和索引文件整体提升了检索效率和降低查询结果空间的开销,也解决了检索文件和索引文件不匹配造成的检索错误,提升了检索的正确性,同时通过我们设计的表结构丰富了用户检索条件,进而提升了检索效率和用户体验。升了检索效率和用户体验。升了检索效率和用户体验。

【技术实现步骤摘要】
一种数据库表结构及网络流量检索方法


[0001]本专利技术涉及网络流量检索
,具体地说是一种数据库表结构及网络流量检索方法。

技术介绍

[0002]网络流量数据的存储与检索是网络攻击检测与故障定位、信息审计以及网络取证等领域的重要手段。随着网络应用和用户的增加,网络流数据的规模越来越大,如此高速的网络链路带给网络流量存储与检索系统巨大的挑战。为满足网络溯源、取证需求经常需要在大规模网络数据集上进行高效的检索操作。通常做法是对存储的流量数据通过五元组等报文属性建立索引文件以满足查询工作。
[0003]由于要面对高速链路、大规模网络和复杂多样应用,因此流量检索仍旧存在着大的挑战。比如目前通过五元组属性索引文件直接去数据文件中检索对应文件仍存在以下缺陷:
[0004](1)在海量数据中通过五元组等报文属性索引文件检索,扫描存储的所有文件无疑带来巨大的时间开销及查询结果存储开销;
[0005](2)当索引文件和数据文件不匹配时没有及时核实的机制造成检索错误;
[0006](3)检索匹配结果不是立即响应,而是等待最终检索出文件结果反馈,给用户造成长时间等待的不好体验;
[0007](4)没有针对网络链路级别的检索。

技术实现思路

[0008]本专利技术的目的在于提出一种数据库表结构及网络流量检索方法,以解决上述
技术介绍
中提出的问题。
[0009]为实现上述目的,本专利技术提供以下技术方案:
[0010]一种数据库表结构,数据库表结构字段包括linkId、data_file、pkts_num、src_ip_index_file、src_ip6_index_file、dst_ip_index_file、dst_ip6_index_file、src_port_index_file、dst_port_index_file、proto_index_file、ts_index_file、flush_start_ts、flush_end_ts和file_size字段,所述数据库表结构用于记录数据文件与索引文件的对应关系,避免查询时由于数据文件与索引文件不匹配造成检索出错;此外,它还保存了所有文件的时间戳,可以用于按时间片检索数据,避免扫描所有文件带来的巨大的时间和空间开销,同时记录了链路信息,丰富检索条件。
[0011]所述数据库表结构各字段具体包括以下内容:
[0012]LinkId:记录当前存储的数据文件中流量数据来自的链路标识,用于区分不同链路,比如1代表存储的数据流量来自1号链路;
[0013]data_file:用于记录当前存储的流量的实际数据文件路径,本例中用实时日期和时间生成目录并记录,如:202205/17/18/data0,代表的是文件于2022年5月17日18点生成
19:47:45;
[0025]file_size:记录当前存储文件的data文件大小,此数值可以通过存储检索系统预先设置,作为存储数据包的包分片大小;
[0026]通过以上数据库Mysql中记录的元信息,结合存储端保存的数据文件、索引文件的分析,可以高效地对查询命令做出反馈。
[0027]一种网络流量检索方法,包括以下具体步骤:
[0028]S1、设置查询语句retrieve[

s stime][

e etime][

l linkid]‑‑
logic expression;
[0029]S2、系统会自动先去检索数据库mysql表的数据,当

s和

e被设置时检索设置的时间范围内的数据,同时根据

l链路情况检索响应链路下的数据,否则检索系统内所有保存的文件;
[0030]S3、检查查询结果,如果查询失败立即返回失败信息,否则进行下一步;
[0031]S4、检查获得此时间范围内的多组文件的位置信息,每组文件由一个存储数据包的数据文件和其对应的索引文件组成,检查每组的文件信息和索引文件是否匹配,如果不匹配立即返回失败,否则进行下一步;
[0032]S5、对每一组文件,按照查询表达式中设置的条件去解析对应的索引文件,获取满足查询表达式要求的数据包偏移量保存到偏移列表,如果查询失败,重复本步骤继续下一组文件检索,否则进行下一步;
[0033]S6、对于只要求返回包数量和偏移量的场景,直接返回用户当前的所在data文件路径、所在包的偏移量以及检索出的包数量,否则进行下一步;
[0034]S7、根据偏移量列表从对应的数据文件中读取数据包,生成该组文件对应的检索结果的文件;
[0035]S8、返回到5循环执行每组文件,直到所有组文件结束再进行下一步;
[0036]S9、合并每组文件的查询结果,生成最终的结果文件,完成最终检索结果的上报。
[0037]所述步骤S1中查询语句含义为:
[0038]retrieve是命令提示符,

s与

e指定查询的时间范围选项,

s指定起始时间,

e指定结束时间,

l指定待检索的链路id;
‑‑
是分隔符,后面接查询表达式。
[0039]所述时间范围选项

s和

e二者都是可选项,但我们建议查询时设置这两个选项,否则检索系统会扫描已经保存的所有文件,这会带来巨大的时间开销及查询结果存储开销;当我们选定

e或者

s,又或者二者全选时,依据数据库表结构中的flush_start_ts和flush_end_ts字段,可以完成数据库级别的一级检索,把不在此时间段内的文件剔除掉,再进行下一步的查询表达式的二级检索,大大提升了检索效率和降低了查询结果对存储空间的消耗,同时我们设计的表结构记录了数据文件和索引文件等的对应关系,避免了数据文件和索引文件不匹配造成的检索错误,提升了检索的正确率;此外,根据数据库表字段file_size、pkts_num的信息,我们可以获取到检索时间范围内待索引的文件数量、总的文件大小和总的包数量,为用户提供初步待检索文件的概况。
[0040]所述查询表达式支持的操作属性字段包括:五元组(源ip、目的ip、源端口、目的端口和协议)、数据包时间戳;其中IP地址可以是IPv4地址,也可以是IPv6地址;对应我们数据库表中字段:src_ip_index_file、src_ip6_index_file、src_port_index_fileIPv4、dst_
ip_index_file、dst_ip6_index_file、dst_port_index_file、proto_index_file、ts_index_file;查询表达式支持的操作符包括:==、&&、||、!、()、&gt本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库表结构,其特征在于,数据库表结构字段包括linkId、data_file、pkts_num、src_ip_index_file、src_ip6_index_file、dst_ip_index_file、dst_ip6_index_file、src_port_index_file、dst_port_index_file、proto_index_file、ts_index_file、flush_start_ts、flush_end_ts和file_size字段,所述数据库表结构用于记录数据文件与索引文件的对应关系,避免查询时由于数据文件与索引文件不匹配造成检索出错;此外,它还保存了所有文件的时间戳,可以用于按时间片检索数据,避免扫描所有文件带来的巨大的时间和空间开销,同时记录了链路信息,丰富检索条件。2.根据权利要求1所述的一种数据库表结构,其特征在于,所述数据库表结构各字段具体包括以下内容:LinkId:记录当前存储的数据文件中流量数据来自的链路标识,用于区分不同链路,比如1代表存储的数据流量来自1号链路;data_file:用于记录当前存储的流量的实际数据文件路径,本例中用实时日期和时间生成目录并记录,如:202205/17/18/data0,代表的是文件于2022年5月17日18点生成并存储在该时间点的目录,最后一级时间节点目录中的data文件名,从0开始递增,data0,data1......直到切换新的时间目录;pkts_num:记录当前存储检索系统预先设置的文件大小的data文件中包含的包数量;src_ip_index_file:记录当前保存源ipv4地址作为索引的文件路径,本例中用实时日期和时间生成目录并记录,如202205/17/18/sip4_0,代表的是sipv4作为索引的文件于2022年5月17日18点生成并存储在该时间点的目录,最后一级时间节点目录中的sip4文件名,从0开始递增,sip4_0,sip4_1......直到切换新的时间目录;src_ip6_index_file:记录当前保存源ipv6地址作为索引的文件路径,本例中用实时日期和时间生成目录并记录,如202205/17/18/sip6_0,代表的是sipv6作为索引的文件于2022年5月17日18点生成并存储在该时间点的目录,最后一级时间节点目录中的sip6文件名,从0开始递增,sip6_0,sip6_1......直到切换新的时间目录;dst_ip_index_file:记录当前保存目的ipv4作为索引的文件路径,本例中用实时日期和时间生成目录并记录,如202205/17/18/dip4_0,代表的是dipv4作为索引的文件于2022年5月17日18点生成并存储在该时间点的目录,最后一级时间节点目录中的dip4文件名,从0开始递增,dip4_0,dip4_1......直到切换新的时间目录;dst_ip6_index_file:记录当前保存目的ipv6作为索引的文件路径,本例中用实时日期和时间生成目录并记录,如202205/17/18/dip6_0,代表的是dipv6作为索引的文件于2022年5月17日18点生成并存储在该时间点的目录,最后一级时间节点目录中的dip6文件名,从0开始递增,dip6_0,dip6_1......直到切换新的时间目录;src_port_index_file:用于记录保存源端口作为索引的文件路径,本例中用实时日期和时间生成目录并记录,如202205/17/18/sport0,代表的是sport0作为索引的文件于2022年5月17日18点生成并存储在该时间点的目录,最后一级时间节点目录中的sport文件名,从0开始递增,sport0,sport1......直到切换新的时间目录;dst_port_index_file:记录当前保存源端口作为索引的文件路径,本例中用实时日期和时间生成目录并记录,如202205/17/18/dport0,代表的是dport0作为索引的文件于2022年5月17日18点生成并存储在该时间点的目录,最后一级时间节点目录中的dport文件名,
从0开始递增,dport0,dport1......直到切换新的时间目录;proto_index_file:用于记录保存传输层协议作为索引的文件路径,本例中用实时日期和时间生成目录并记录,如202205/17/18/proto0,代表的是proto0作为索引的文件于2022年5月17日18点生成并存储在该时间点的目录,最后一级时间节点目录中的proto文件名,从0开始递增,proto0,proto1......直到切换新的时间目录;ts_index_file:记录当前保存data文件中每个数据包的时间戳的文件路径,本例中用实时日期和时间生成目录并记录,如202205/17/18/ts0,代表的是ts0作为索引的文件于2022年5月17日18点生成并存储在该时间点的目录,最后一级时间节点目录中的ts0文件名,从0开始递增,ts0,ts1......直到切换新的时间目录;flush_start_ts:记录当前保存的data文件中第一个包的时间戳,如2022

05

17 19:45:...

【专利技术属性】
技术研发人员:张广兴姜海洋吴颖王伟田利荣夏可强
申请(专利权)人:江苏省未来网络创新研究院
类型:发明
国别省市:

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

1