论文部分内容阅读
计算机技术和网络技术的飞速发展使人类社会进入大数据时代。随着全球数据量的爆炸式增长,原先的单机处理模式已经无法满足海量数据的计算需求。另一方面,很多数据源,包括互联网应用、商业操作和科学仪器等,每天都在生成海量高速的数据流。“海量”是指数据规模庞大,“高速”是指数据的到达速度快。如何对这些海量高速的数据流进行实时处理,开始引起人们的广泛关注。数据量的爆炸式增长和海量高速数据流的实时处理需求,催生了一批通用流式数据处理平台,同时向它们提出了挑战:流式数据处理平台不仅要支持传统数据处理的集群扩展,还需要提供对海量数据流实时处理的支持。本文在深入调研并分析流式数据处理技术和典型流式数据处理平台的基础上,着眼于网管系统中的告警数据处理需求:当网管系统中的被管设备发生异常时,会向SNMP管理站发送告警信息。在网络规模庞大、被管设备较多的情况下,管理站需要对海量高速的告警数据流进行去重、波动性过滤等处理,以便减少告警数量,帮助网络管理员快速定位设备问题。本文的主要工作包括:1.调研并剖析流式数据处理技术和流式数据处理平台,重点分析了一些典型的流式数据处理平台。针对流式数据处理平台,剖析了其架构、关键技术、消息处理机制和数据处理引擎。基于前述的一般性概念和技术,进一步对Storm、S4、Spark Streaming等典型的流式数据处理平台进行深入分析。2.分析并指出网管系统中告警数据实时处理的难点。在对简单网络管理协议及SNMP Trap报文格式进行调研的基础上,分析了网管系统中告警数据的处理需求,并指出传统的数据库处理方法存在的问题。最后,结合网管系统中的告警数据处理需求,对重复告警和闪断告警做出详细定义,并进一步定义了跨时间窗的重复告警和闪断告警。3.提出了基于Spark Streaming的重复告警过滤算法和跨时间窗的重复告警过滤算法。基于前述重复告警和跨时间窗重复告警的定义,设计并实现了基于Spark Streaming的重复告警过滤算法和跨时间窗的重复告警过滤算法。最后,在集群环境中对算法进行了充分的实验,验证了算法的可行性,并对算法的时延和吞吐量作出评估。4.提出了基于Spark Streaming的闪断告警过滤算法和跨时间窗的闪断告警过滤算法。基于前述闪断告警和跨时间窗闪断告警的定义,设计并实现了基于Spark Streaming的闪断告警过滤算法和跨时间窗的闪断告警过滤算法。最后,在集群环境中对算法进行了充分的实验,验证了算法的可行性,并对算法的时延和吞吐量作出评估。5.将前述的告警过滤算法应用到实际的网管系统中。结合具体的业务需求,设计并实现了 SNMP报文的接收与解析、数据库表结构和页面展示逻辑,将告警过滤算法应用到实际的网管系统中。本文深入调研流处理技术的研究现状,分析通用流式数据处理平台的架构、关键技术和组件,结合网管系统中告警数据流的特点及处理需求,提供了告警过滤的方案设计和算法实现。因此,本文的研究工作及成果为网管系统的设计及应用提供了新的思路,对流式数据处理平台在传统场景下的应用有着重要的指导意义和参考价值。