论文部分内容阅读
事件流分析处理系统是数据流管理系统后端的历史数据存储分析系统,被广泛地应用在以网络监控、金融分析、传感器网络等监控应用为代表的大规模数据密集型环境中.它需要同时满足高速连续到达的海量事件流数据的在线加载需求,和为多用户的并发查询提供快速响应和高吞吐率的性能需求.
随着网络技术的快速发展和普及,监控应用迅速蔓延到各个领域,尤其是与国计民生、国家网络信息安全等密切相关的领域.为了数据挖掘和统计分析的需要,海量的原始数据和过滤数据都需要完整地保存下来,这使得事件流分析处理系统的研究变得十分重要,并且具有重人的实际应用价值.
本文以国家网络安全监控应用为背景,以无共享方式结构的DBroker系统为研究对象,对事件流分析处理系统的关键技术进行了深入研究.本文具有创新性的工作如如下:1.结合事件流的实际应用,将事件流负载分为两类:一类是以基于通信参数的负载(CPBW:Communication parameter based workload)为代表的用数值描述、范围查询为主的负载;一类是以基于通信内容的负载(CCBW:Communication content basedworkload)为代表的用字符描述、点查询为主的负载.本文对两类负载的数据特征、到达特征和访问特征等进行了共性和异性的研究.经对大量真实数据进行分析发现,事件流数据受关注的程度与数据的老化程度符合幂律分布,表示为2.在成果1的基础上,提出了针对CPBW和CCBW负载的数据划分存储策略.根据二者的共性时间特征,在节点内对时间属性采用范围分区.针对CPBW的范围查询应用,根据查询聚合度的不同,在节点间采用轮循或散列划分方法.理论分析表明,理想状态下散列方法可使数据的统计性能提高5倍.针对CCBW负载的点查询应用,通过对访问频繁的属性列建立不同类型的索引来降低响应时间.实验表明,有效地利用索引可使CCBW查询性能显著提高.3.针对事件流连续大量加载的特征以及数据访问随时间变化的特征,提出了一种基于周期计数的加载策略(PC:Periodical counting based loading strategy)以及优化后的基于周期计数的能力感知加载策略(PCCA:Periodical counting based capability aware loading strategy).PCCA策略通过对数据节点能力的感知,实时调整数据的放置位置.该方法在硬件故障、机器老化、盘阵系统恢复等原因导致的系统性能下降情况下表现尤为突出,一方面保证了加载服务的性能,另一方面也缓解了整个系统的倾斜问题.4. 以事件流分析处理系统为研究背景,针对大规模数据库系统规模大、负载多样等特点,定义了事件流应用的基准测试的需求说明,并提出了一种基于角色的面向过程的性能评价方法(POPE:Process-oriented performance evaluation).该测试方法简化了系统规模,从用户需求出发,将测试负载特征和资源利用的表现进行综合分析,更加接近实际运行系统,在DBroker系统评价中得到很好地应用.