论文部分内容阅读
当前,大数据的飞速发展严重冲击着传统的数据流存储和数据流处理方式。这是一种实时的数据记录序列,它的数据记录不但有序而且数据量巨大,越来越多的应用领域将不得不考虑如何对这种海量数据进行实时处理。本文对大数据背景下的数据流实时处理技术进行了研究,发现传统的数据流处理方式无论是在集中式环境下还是分布式环境下都已经不能很好的保证数据流处理的实时性和成功率,文中在上述两种环境下对大数据流实时处理进行了深入的分析和研究,提出了优化策略,可以满足大数据背景下数据流处理的实时性要求。文中首先对集中式环境下的数据流实时处理进行了分析,集中式环境下的大数据流处理主要是通过牺牲服务质量来保证系统的实时性,这种情况下的实时处理系统面临着三大挑战:同步(synchronization)问题,数据接收端出现的数据不一致(consistency)问题和I/O并发冲突(concurrency)问题。文中深入分析了这些问题,提出了一种优化策略,并将其应用到了污水实时处理和监控系统中,实验数据显示:该策略在很好提高系统处理性能的同时有效地缓解了I/O并发冲突。优化策略的具体工作如下:(1)针对上述问题提出了构建循环数据缓冲区和多线程内存管理机制,以及采用消息传递来保证数据发送方和接收方的同步和一致性要求。(2)提出了数据暂驻内存方法即线程处理所产生的中间结果和生成的新的分类信息按照预定义的分类准则存储于动态构建的内存块中,以内存记录的数量或者数据在内存块中的暂存时间作为标准,当内存中数据记录超标时,统一将数据写入数据库并释放掉其所占用的内存空间,采用该方法可以有效的减少磁盘的读写次数、降低I/O并发冲突的发生概率。其次本文对分布式环境下的数据流实时处理进行了分析,在分布式环境下大数据流通常是以一组组的工作流存在形式进行处理,为了保证分布式环境下数据流处理的实时性,借助当前最为流行的Hadoop分布式处理系统平台,文中提出了周期性工作流实时调度优化策略和基于集群拓扑结构的工作流实时调度方法,这两种优化策略虽然侧重点不同但是大量的实验结果表明:这两种优化策略在平局完成时间和平均等待时间方面要优于FIFO算法,可以有效的提高工作流处理的实时性,重点介绍后一调度策略的主要工作:(1)该方法首先根据taskTracker的计算能力和数据大小对map阶段工作流的完成时间进行估计,得到一个完成时间隶属函数,然后再利用集群的拓扑结构,得到taskTracker在集群中的距离隶属函数,根据这两个隶属函数来对集群中的taskTracker在工作流处理时间和数据传输时间进行综合性能评估,这样可以有效的缩短任务的平均等待时间并能极大提高系统资源的利用率。(2)同时该算法采用了对作业进行优先级划分的方式,满足了不同类型作业的需求。