论文部分内容阅读
随着极地研究技术以及计算机技术的迅速发展,从地球南北两极获得到的极光图像数据急剧增加。极光图像的增长速率超过每年一百万帧,约550G,并且随着极地摄像技术的不断发展,未来极光图像的数量还会有显著增长。由于传统的极光实验方法对实验环境要求较高并且难于扩展,所以如何有效率的管理数量庞大的极光图像数据成为科学家们探索极光自然现象面临的一个首要问题。因此,我们需要一个易于扩展的并行化极光图像处理模型,HBase以及MapReduce能够满足这个需求。本文设计了一个基于HBase的极光图像管理与实验系统,提出了一个将数量庞大的极光图像数据存储到HBase中的方法,并且使用MapReduce并行计算框架来处理极光图像数据。本文在对Hadoop,HBase与MapReduce技术的研究基础上,设计实现了一个B/S结构的基于HBase的极光图像管理与实验系统,系统的整体运行在Hadoop集群之上,将极光图像数据以及极光图像运行完处理算法后的结果信息存储到HBase的不同表之中,其中HAurora ImgTable表存储极光图像内容的字节流信息,HAuroraDataTable表存储极光图像的元数据和图像处理算法处理结果。分离的存储方式使得HBase数据表的每一行数据不至于过大而影响读写数据的性能。系统的分布式计算层采用了MapReduce计算框架,充分利用HBase的MapReduce接口,实现了极光图像的处理算法。(1)本文实现了极光图像的预处理算法。在预处理的过程中完成了减去暗电流,图像裁剪,拉伸原始极光图像的灰度,旋转图像使得极光图像的正北极向上。该算法还将极光图像由原始镜像格式转换为bmp格式并提取了图像的元数据,将生成的bmp格式图像和元数据分别插入到不同的HBase表中。(2)本文实现了极光图像的keogram生成的数据提取算法,将提取到的极光图像中沿地磁南北方向上的磁子午线极光强度数据存储到HBase的实验结果数据表中,该实验的结果是一个长度为440的表示极光强度数据的int型数组。(3)本文实现了LBP算法的特征提取,将极光图像分成了3行6列共18个小块,用LBP方法提取每一块的特征得到每块的特征值,将提取到的特征值存储到HBase的实验结果数据表中。系统的API层提供了访问Hadoop和HBase集群的API,为编写图像处理算法的MapReduce程序提供了访问数据表的接口。位于API层之上的是系统的Servlet层,部署于Hadoop主节点上的代理软件负责与Servlet端进行通信,负责向集群MapReduce任务的执行命令。代理软件实现了一个监听线程,当其接收到来自于Servlet端的执行任务请求时,由监听线程将该任务加入到一个消息队列中。当该消息队列不为空时,启动任务执行线程,任务执行线程从消息队列中取得一个任务,生成命令将任务发送到Hadoop集群中进行执行。系统的应用层封装了功能应用,主要包括用户注册登录,数据导入,运行MapReduce实验,检索实验结果并进行展示,系统帮助等。文章最后展示了系统的实验结果,实验的结果表明了极光图像的实验算法可以在集群上正确的运行,并且极光图像数据的导入和极光图像数据的处理速度都较遗留系统有了显著的提高,表明该系统具有良好的可用性以及可扩展性。