论文部分内容阅读
随着互联网技术的高速发展和各种监控设备和传感器的普及,工业界开始面临海量的数据所带来的挑战,已经进入了大数据时代。在这些海量的数据当中,有一类数据叫做时间序列数据。时间序列数据应用于生活的方方面面,具有极高的价值。如何高效的对时间序列数据进行存储和分析具有十分重要的意义。 分布式系统Hadoop常常被用来处理海量的数据。但时间序列数据不同于传统的海量数据,时间序列数据之间存在较强的关联性。当利用Hadoop来分析海量的时间序列数据时,由于Hadoop默认的数据放置策略并没有考虑数据之间的关联性,这导致任务运行的过程中会产生大量的数据移动,从而影响系统的性能。为了提升分析任务执行的并行度和可用性,有必要对时间序列数据在Hadoop中的副本放置策略进行研究。具体来说,本文的主要工作内容如下: 1、从理论上分析了关联数据任务的可用性。本文为多区域系统内分析任务的可用性建立了一个数学模型,通过对模型进行推导和求解,得出了使得分析任务可用性最小和最大的数据放置策略,同时给出了一个概率区间。 2、研究了任务的可用性和系统其他性能之间的关系,提出了一个分布式系统数据放置算法SPOverlap。将时间序列数据存储于系统中时,除了要考虑任务的可用性之外,还需要考虑其他的系统性能,例如,网络负载、读写时延等。在理论研究的基础上,本文综合考虑了系统各方面的性能,提出了算法SPOverlap,并将SPOverlap与HDFS默认的数据放置策略进行比较。实验结果显示SPOverlap可以减少任务失效数量近6倍以上。 3、探索了如何利用数据副本来提升任务执行的并行度。文中分析了输入数据块和任务之间的关系,提出了一个可以有效的利用数据副本来提升任务执行并行度,并减少集群中数据移动的算法BRPS。本文将BRPS与HDFS默认的数据放置算法比较,实验结果显示BRPS可以减少集群内部数据移动近4倍以上。