论文部分内容阅读
随着信息技术的不断发展,网络无疑已经成为人们日常生活的重要载体之一。随着网络应用不断丰富,网上用户量不断增加,网络上的数据流量也相应地飞速增长,为了保证网络高效持续地发展,保障网络安全,对整个网络进行有效的管理变得愈加重要。通过采集网络上的流量数据并进行相应的存储分析,可以监控整个网络数据,进而对网络异常情况进行预警,有效的管理整个网络体系。
然而,不同于存储在磁盘上的传统关系数据,网络数据流是以快速、无限、连续的流的形式存在。由于网络流数据具有资源分布性和异构性等特点,并且数据量持续不断增加。因此,网络管理系统对于流数据的存储、计算、处理有很多高性能的要求。在流式数据持续、高速加载的情况下,索引技术不再适用(建立/更新索引的代价过高),需要设计一种定制的、有针对性的存储结构,以及与之相适应的查询处理算法。
本文通过分析NetFlow流数据应用系统的相关研究,针对查询算法和结果集的处理算法进行了相应的优化处理,实现了一个具有良好性能和高可扩展能力的流数据查询系统。
本文主要贡献如下:
1.研究了分布式流数据查询系统的体系结构,并以此为基础设计并实现了分布式流数据查询系统Flowdb,提供对流数据的可扩展的存储和计算能力。实验表明,该系统取得了良好的性能。
2.设计了适用于应用场景的流数据查询语言,并结合场景中流数据的存储结构的特点采用了“超立方体”的查询匹配算法,在空间维度的查询扫描有效地过滤出不符合的流记录,减少被检索的流数据的规模,有效地提高查询的速度,满足高并发用户的低延时响应要求。
3.设计基于预分配空间的查询后处理算法,提供可配置的结果集存储空间,无差别地处理单节点和跨节点查询,减少了临时结果集存储过程中动态分配内存的开销,提高了查询后处理的速度。