论文部分内容阅读
随着我国农业科技信息化的发展,农业的生产模式逐渐由传统的人工劳作向科技信息化农业发展。特别的,随着物联网技术的推广,农业方面已经有很多基于物联网的应用已经落地,在这些应用中,传感器每时每刻都在产生数据,日积月累下形成了巨大的数据量。农村饮用水的监控工程也是一样,数据量出现急剧增长导致数据量累积巨大,对于如此海量的农村饮用水数据,价值是巨大的。然而,我国目前对农业数据的利用并不十分充分,对于农村饮用水的在线监测数据也是如此,大部分实时监测数据都是存储空间不够就直接丢弃,并没有充分得挖掘出其潜在的价值。同时,目前社会上在农村饮用水监测工程中使用的存储工具主要以关系型数据为主,这类数据库在处理大量数据时,其数据吞吐性能并不十分优越,并且由于其扩展性能差,在管理分散数据有明显的不足。本文以农村饮用水数据作为实验对象,针对传统农村饮用水监控工程中关系型数据库在存储能力、吞吐性能、数据容灾和数据再利用等方面存在问题,研究分布式存储分析平台;平台主要是以hadoop集群为底层存储架构,利用关系型数据Mysql存储饮用水实时属性数据,并定时把Mysql中的历史数据迁移到hadoop集群中,解决了数据可视化过程hadoop的低延迟操作,同时又解决了Mysql数据存储能力和吞吐量的;数据清洗在kafka集群中进行,原生数据消费者负责提取原始数据到HDFS,清洗消费者负责对缺省数据进行清洗完存储到Hive数据仓库中;数据仓库的周期统计结果和Mysql中的实时数据会传输到前台进行数据的可视化;课题根据饮用水数据的特点,改进传统分布式平台在文件存储和管理方面的不足,提出基于属性的文件合并存储策略和基于文件访问热度的文件副本动态管理策略。经过系统试验,农村饮用水海量数据存储分析平台能实现对课题饮用水数据的存储、容灾和再利用,且读写的性能要明显好与传统海量数据存储分析平台。