论文部分内容阅读
海洋作为一个资源宝库,已经得到了许多国家的关注。并且随着对海洋资源的开发与利用的不断深入,越来越多的海洋科学数据就涌现出来。这些海洋数据有着自己的特点,例如:多样,复杂,动态变化和异构等,因此需要有针对性的存储和处理策略。但是目前对于海洋科学数据的存储与采集都没有形成统一的标准与规范。所以如何合理的存储与管理海洋数据并且对海洋数据实现高效的利用已成为海洋科学研究的关键问题之一。传统的处理大规模数据的方法也有很多,一般会通过并行计算,分布式计算,网格计算等,这些技术有着自己的局限性。它们在资源配置上面价格昂贵,并且要通过繁琐的编程才能实现对计算大规模数据的有效分割和合理分配。而以Hadoop为代表的云计算,云存储却能很好的解决这些问题。本文在对Hadoop分布式存储与处理技术进行研究的基础上,在一例海洋探测系统开发实践过程中,研究了Hadoop技术在海洋数据存储和处理的应用,设计了基于Hadoop的海洋数据存储处理系统架构,并对Hadoop上的海洋数据的处理进行了一定的研究。本文针对海洋数据存储处理系统的建设需求,对云计算的关键技术:Hadoop, HBase, HDFS进行了分析和总结:在分析了海洋数据的特点总结得出了海洋数据处理的需求,并结合着用户对系统的需求分析,设计出了系统的整体架构,实现了数据存储在HDFS上的功能,并且对上传的数据进行了优化处理,本系统采用的是数据去重技术,然后利用mapreduce的<key,value>实现了对特殊格式NetCDF格式文件的读取以及转换成自定义的.txt格式数据的功能,接下来设计了面向列存储的HBase数据表,实现了将海洋数据存储到HBase数据库中,最后实现了系统的前台用户查询界面对数据的各种操作功能,本系统实现了根据不同的登录用户提供不同的操作模块。在本文最后进行了数据压力测试和数据检索测试,通过数据结果证明数据存储在Hadoop上面的可行性。基于Hadoop的海洋数据的存储与处理系统为云技术处理海洋数据提供了一种可行的解决方案,可以有效的存储和处理海量的海洋科学数据。