论文部分内容阅读
随着物联网在农业生产中的深入应用,其系统的规模也逐渐增大,农业数据越来越呈现出海量化、异构化、非结构化的趋势,对数据存储系统提出了更高的要求。由于传统的基于RDBMS(Relational Database Management System)的存储系统模式简单、不易扩展、在并发性及容错性上都很难满足当代农业物联网海量数据存储的要求。分布式存储与NoSQL(Not Only SQL)技术的发展为大数据时代数据存储提供了新的解决思路。鉴于商业存储扩容成本太高,如何在满足海量存储、高性能、高可靠性及高扩展性的前提下构建廉价高效的农业物联网数据存储系统是本文研究的重点。基于分布式存储与NoSQL技术,本文开展了如下工作:(1)对农业物联网系统采集的数据进行分类,分析其数据特征。分析了传统数据存储系统的不足,并详细介绍了数据存储技术及Hadoop技术研究进展。通过对比RDBMS与NoSQL的区别以及分析Hadoop在数据存储中的不足,结合农业物联网数据特征设计了改进方案。(2)根据农业物联网数据特征进行数据存储的需求分析,基于Hadoop平台设计了农业物联网数据存储模型的总体架构,对存储模型中的关键模块进行了详细设计,并分别设计了物联网系统中结构化数据和非结构化数据的存储方案。存储模型采用Master/Slava架构,实现了在廉价PC上存储海量物联网数据的高效性、高扩展性与高容错性。(3)基于分布式面向列的HBase(Hadoop Database)数据库,通过乐观锁机制设计了事务处理模块,实现HBase对强事务性的支持;通过小文件“打包”策略对海量图片进行合并,并结合文件索引设计了元数据与物理存储位置的映射规则,实现HBase对非结构化数据元数据的存储,有效降低了主节点NameNode的压力;通过加权轮询法负载均衡策略和Redis缓存系统进一步提高了存储系统的稳定性与高效性。(4)通过搭建存储模型测试集群,对结构化数据存储方案、非结构化数据存储方案及主节点内存消耗进行了测试,并在存储模型的基础上设计与实现了农业物联网数据管理系统原型,在应用层面上验证了农业物联网数据存储模型的实用性。本文基于hadoop平台构建了农业物联网数据存储管理系统,为海量农业物联网数据存储提供了解决方案,对大数据时代农业物联网数据的高效可靠存储提供参考价值。