基于Hadoop的作物生长监控云平台及其实现方法

xiaoxiao2020-10-23  15

基于Hadoop的作物生长监控云平台及其实现方法
【专利说明】基于Hadoop的作物生长监控云平台及其实现方法
[0001]
技术领域
[0002]本发明涉及Hadoop云数据处理技术和无线传感器网络技术,具体是一种基于Hadoop云数据处理技术和无线传感器网络技术的作物生长监控云平台及其实现方法。
【背景技术】
[0003]目前的作物生长远程监控系统主要分为两种形式:一种是采用无线传感器网络对多个传感器阵列的数据进行采集,使用串口通信利用计算机直接在田间或采集点进行数据处理,进而通过计算机发送到网站服务器上实现远程监控;另一种采用微处理器进行每单个点传感器数据采集,通过GPRS等网络通信技术将数据发送到服务器进行监控。对于方式1,直接在采集点布置计算机,造成成本的增加,不利于扩大系统的应用推广范围,且传感器与计算机接口较复杂。对于方法2,采集点个数有限,采集点数量动态伸缩性复杂。对服务器压力较大,硬件利用率较低。

【发明内容】

[0004]为了克服上述现有技术的不足,本发明提供了一种基于Hadoop的作物生长监控云平台及其实现方法。本系统传感器数据采集部分基于无线传感器网络WSN技术,解决了传感器阵列和数据采集点数量的动态伸缩问题;数据存储采用Hadoop云数据处理平台,解决了大量数据的存储和检索问题,缩减了传统方式下数据存储受制于关系型数据库的性能的情况,改善了大规模数据下数据库对数据计算与索引的响应性能,减少了大规模传感器数据存储和检索时的反应时间。
[0005]本发明所采用的技术方案是:1、一种基于Hadoop的作物生长监控云平台,包括: 数据采集终端,用于采集作物生长过程中的环境指标,由作为结点控制器的
STC89C52RC微控制器分别与传感器阵列、ZB-GPS模块连接构成;多个数据采集终端通过SMAC协议自组织成的无线传感器网络WSN ;
Hadoop平台,包括主机NameNode和从机DataNodes,主机NameNode上运行网络上位机,接收来自WSN的不同位置的作物生长环境数据,拆包并将当日数据存储到主机NameNode上的关系型数据库,前日数据导出为文件提交给HDFS由从机DataNodes进行存储。
[0006]一种权利要求1所述的基于Hadoop的作物生长监控云平台实现方法,步骤如下: 第一步:作为结点控制器的STC89C52RC微控制器分别与传感器阵列、ZB-GPS模块连接构成作物生长监控云平台的数据采集终端;
第二步:多个数据采集终端通过SMAC协议自组织成无线传感器网络WSN,数据采集终端采集不同位置的作物生长环境数据,这些数据通过WSN内中继结点转发到云平台的主机NameNode 上; 第三步:云平台的主机NameNode上运行网络上位机,接收来自WSN的不同位置的作物生长环境数据,拆包并将当日数据存储到主机NameNode上的关系型数据库,前日数据导出为文件提交给Hadoop的HDFS进行存储;
第四步:在主机NameNode上建立网站,用于查询HDFS存储的历史数据、关系型数据库中存储的当日数据和各项环境数据指标的历史数据走势图。
[0007]主机NameNode获取用户通过网站发送的数据或曲线查询请求,分发任务到HDFS,由从机DataNodes对存储到不同位置的文件镜像块进行恢复,从而获取历史数据。反馈到网站中。网站通过JSP语言展示浏览界面,借助jchart插件实现各项环境数据指标的历史数据走势图。用户通过手机等联网设备,在线查询该云平台所监测的各终端实时数据和历史数据走势图等。
[0008]本发明与现有技术相比,其显著优点:通过无线传感器网络技术,扩大了作物生长监控数据采集点范围,包括传感器的种类和采集点的数量。动态改变作物生长监测数据采集点数量,不影响系统的稳定性。通过以传感器阵列形式布置的数据采集终端,扩展了环境传感器的种类。另外,本发明实现了对海量传感器历史数据的云存储功能。云平台的数据采集终端传感器在运行时产生大量有效的历史数据信息,通过Hadoop云平台进行存储,提高了数据存储能力,优化了海量数据的检索速度;同时采用与关系型数据库存储当日信息的数据存储方式相结合的方式,实现了传感器数据存储方式的优化。兼顾了系统成本的节约与系统性能体验。
【附图说明】
[0009]图1为本发明的系统整体框架结构图。
[0010]图2为传感器数据文件在Hadoop集群内的存储和恢复图。
【具体实施方式】
[0011]本发明从技术实现和功能逻辑上划分为三个层面:作物生长监测云平台的数据采集层,大量云数据存储层和作物生长信息查询监控层。
[0012]数据采集层采用无线传感器网络技术实现。传感器部署以采集终端为单位,每个采集终端搭载一个传感器阵列,每个传感器阵列由光照传感器,空气温湿度传感器和土壤温湿度传感器组成。各传感器阵列与微控制器STC89C52RC和SMAC协议支持部件ZB-GPS组成作物生长云平台的数据采集终端,实现对终端所在位置环境数据的采集,封包和无线发送。其中,ZB-GPS模块由芯片MC13213支持SMAC协议的实现。在数据采集终端与传输中继结点之间采用SMAC协议进行通信,添加一个采集终端时,该节点的ZB-GPS模块广播一个wake-up信号,中继结点接收到该信号,获取到该结点的编号码,从而将其动态加入无线传感器采集网络中。在数据采集层和大量数据处理支持层之间,依靠中继结点进行通信。中继结点作为转发中枢,通过其搭载的ZB-GPS模块,利用SMAC协议,接收采集网络中的传感器数据。继而,将传感器网络内部数据通过GPRS模块向Internet服务器进行发送。数据采集终端的传感器阵列获取到所在位置的环境数据后,经过微控制器STC89C52RC处理获得每项环境指标,将他们按照“结点号光照空气温湿度土壤温湿度结束位”的格式封装成有效信息数据包,输出到串口。微控制器的串口在物理上连接ZB-GPS模块,该模块对接收到的有效信息数据包增加向中继结点的传输地址等信息,再次封装成符合SMAC协议的无线传感器网络通信数据包,通过SMAC协议输出到中继结点。中继结点在硬件上包含结点控制器STC89C52RC和支持SMAC协议的ZB-GPS模块以及实现TCP/IP通信的GPRS模块组成。其中,ZB-GPS模块负责通过SMAC协议与云平台的各数据采集终端通信,获取无线传感器网络中传输来的数据包。结点控制器负责协调通信,处理传感器数据包,获取有效信息,并将这些信息封装成IP数据包,输出到串口,串口连接GPRS模块,将数据包按照TCP/IP协议通过Internet发送到云数据处理平台NameNode主机上,由运行在上面的上位机接收IP数据包。上位机解析接收到的IP数据包,获取有效信息存入本地数据库。
[0013]在云数据存储层,采用Hadoop云数据平台处理WSN获取的数据。Hadoop平台从逻辑上将集群内机器分为一台主机NameNode和若干从机DataNode。集群内机器为普通计算机,通过运行CentOS系统和Hadoop平台组成集群,具有良好的数据存储和处理能力,同时节约了大量的高性能数据库成本。运行在主机NameNode的上位机负责接收数据采集层通过TCP/IP协议发送的数据包,并解析获取各传感器采集终端的数据信息,将接收到的数据信息存入数据库,并将前一日的数据输出为文本文件,提交给HDFS存储,同时删除这些数据在数据库内的文件。实现海量历史数据信息的云存储。同时使用关系型数据库存储当日的数据信息,实时显示在数据信息查询网站上。NameNode的存储机制是:提交的传感器数据文本文件被划分成不同的数据块镜像,分别均衡在不同的DataNode中,不同的镜像块被随机备份到其他从机防止灾难。文件块编号和存储位置以〈key, value)索引的形式存储在NameNode主机中。当用户进行数据恢复时,向NameNode发出读请求,则NameNode即可根据元数据索引表获取不同的文件镜像块所在位置和序号,恢复成传感器数据 文本文件,支持在线监控网站进行历史数据查询。
[0014]在作物生长信息查询监控层,采用J2EE和JSP技术建立在线查询网站监控传感器网络内作物生长的环境数据。以云数据处理层的主机NameNode作为该网站的服务器。简化系统的实现技术。主机NameNode获取用户在网站上的实时数据和历史数据走势图的查询请求,查询实时数据则直接调用关系型数据库的查询结果,并通过JSP语言反馈到浏览页面;针对历史数据走势图查询,主机NameNode将查询任务分发到HDFS中,由从机DataNodes按照元数据索引表,从不同的存储位置获取文件镜像块,恢复出历史数据文件。进而检索获知查询的历史数据,调用jchart绘图插件绘制不同环境指标的历史数据走势图,并将结果返回到浏览页面。网站查询优点在于支持移动端和电脑端访问,实现了对作物生长环境监测云平台数据采集终端的远程监控。用户可以通过系统登录,进入信息查询页面。查询云平台下多个负责作物生长数据采集终端的位置,传感器阵列的各项实时和历史环境数据,历史数据走势图等信息。方便对田间作物生长状况进行跟踪和分析,有利于科学种植的实现。
[0015]下面结合附图对本发明作进一步说明。
[0016]本发明系统划分为三个层面,如图1:传感器数据采集层LI,云数据存储计算层L2和作物生长信息查询监控层L3。作物生长监测云平台的数据采集终端Pl采集到光照,空气温湿度等传感器数据,其终端控制器将其封装成有效信息数据包,并根据SMAC协议将数据包传输到中继结点P2。中继结点P2将接收到的数据包重新封装成IP数据包输出到GPRS模块,GPRS模块通过互联网P7将数据包提交发送到Hadoop集群的NameNode主机P3。P3对接收到的数据进行解析拆包,获取各项传感器有效数据,并存储到关系型数据库,方便用户通过计算机端P5和手机端P6进行实时数据信息查询。P3将历史传感器数据信息存储为文本文件,并划分为不同的块,分别存储到不同的DataNode从机P4中。用户作为访问者可以访问田间云平台的数据采集终端采集到的实时数据信息和历史数据信息走势图。
[0017]本发明实现历史数据的云存储核心是利用Hadoop平台进行传感器数据文件的分布式存储和恢复,如图2:当传感器数据文件提交给Hadoop集群的NameNode主机P8,主机将其抽象成一个Metadata元数据P13,将其文件名称,复制的份额,存储的块号等作为索引存入P8。当客户P14请求写入文件时,将元数据文件划分成不同的文件镜像块P10,并分别存入到位于不同机架P12上的不同DataNode从机Pll中。不同的P12上的DataNode从机Pll要存储相同的文件镜像块P10,进行数据的备份,以便灾难恢复。当用户P9发出读取数据文件请求,则向NameNode主机P8提请元数据操作,获取对应的文件存储索引,包括文件名,块号,存储位置等。分别从所在的P12和PU处获取文件镜像块P10,进行恢复。
【主权项】
1.一种基于Hadoop的作物生长监控云平台,其特征在于包括: 数据采集终端,用于采集作物生长过程中的环境指标,由作为结点控制器的STC89C52RC微控制器分别与传感器阵列、ZB-GPS模块连接构成;多个数据采集终端通过SMAC协议自组织成的无线传感器网络WSN ; Hadoop平台,包括主机NameNode和从机DataNodes,主机NameNode上运行网络上位机,接收来自WSN的不同位置的作物生长环境数据,拆包并将当日数据存储到主机NameNode上的关系型数据库,前日数据导出为文件提交给HDFS由从机DataNodes进行存储。2.根据权利要求1所述的基于Hadoop的作物生长监控云平台,其特征在于:在主机NameNode上建立网站,用于查询HDFS存储的历史数据、关系型数据库中存储的当日数据和各项环境数据指标的历史数据走势图。3.一种权利要求1所述的基于Hadoop的作物生长监控云平台实现方法,其特征在于步骤如下: 第一步:作为结点控制器的STC89C52RC微控制器分别与传感器阵列、ZB-GPS模块连接构成作物生长监控云平台的数据采集终端; 第二步:多个数据采集终端通过SMAC协议自组织成无线传感器网络WSN,数据采集终端采集不同位置的作物生长环境数据,这些数据通过WSN内中继结点转发到云平台的主机NameNode 上; 第三步:云平台的主机NameNode上运行网络上位机,接收来自WSN的不同位置的作物生长环境数据,拆包并将当日数据存储到主机NameNode上的关系型数据库,前日数据导出为文件提交给Hadoop的HDFS进行存储; 第四步:在主机NameNode上建立网站,用于查询HDFS存储的历史数据、关系型数据库中存储的当日数据和各项环境数据指标的历史数据走势图。4.根据权利要求3所述的基于Hadoop的作物生长监控云平台实现方法,其特征在于第二步所述的不同数据采集终端通过SMAC协议自组织成WSN无线传感器网络的方法如下: 当增加一个采集终端时,该终端向WSN内广播一条包含终端号的wake-up消息; 中继结点始终处于侦听状态,接收到陌生的采集终端号,认为动态加入了新结点,并开始持续侦听网络内所有终端; 当掉电一个采集终端时,该终端向WSN网络中广播一条power-off指令,中继结点除了wake-up指令之外,不再接受来自该终端号的转发请求。5.根据权利要求3所述的Hadoop的作物生长监控云平台实现方法,其特征在于:采集终端和中继结点的ZB-GPS模块使用MC13213芯片作为SMAC协议的支持核心,实现SMAC协议。6.根据权利要求3所述的Hadoop的作物生长监控云平台实现方法,其特征在于:第一步所述的传感器阵列搭载光照传感器、空气温湿度传感器和土壤温湿度传感器,分别采集作物生长过程的环境指标,包括光照度、空气温度、空气湿度、土壤温度和土壤湿度五项。7.根据权利要求3所述的基于Hadoop的作物生长监控云平台实现方法,其特征在于第二步所述的中继结点由STC89C52RC微控制器分别与支持SMAC协议的ZB-GPS模块和支持TCP/IP协议的GPRS模块连接组成,用于将WSN中采集到的传感器数据从WSN转发到云平台主机NameNode上,供上位机进行接收。8.根据权利要求3所述的基于Hadoop的作物生长监控云平台实现方法,其特征在于实现所述第三步的具体方法如下: 步骤6.1:主机NameNode的网络上位机负责接收数据采集终端通过TCP/IP协议发送的数据包,并解析获取各传感器采集终端的数据信息; 步骤6.2:网络上位机将接收到的数据信息存入关系型数据库,并将前日的数据输出为文本文件; 步骤6.3:主机NameNode将文本文件提交给HDFS存储,HDFS将其作为元数据划分为不同的镜像块,并将其索引存储到主机中;这些镜像块被均衡存储到不同的从机; 步骤6.4:删除这些数据在关系型数据库内的数据记录。
【专利摘要】本发明公开了一种基于Hadoop的作物生长监控云平台及其实现方法。该平台数据采集终端获取采集点的环境数据,由终端控制器进行数据封包。采集终端之间通过其ZB-GPS模块按SMAC协议形成无线传感器网络WSN交换数据信息。WSN和Internet之间通过中继结点进行通信。中继结点获取来自WSN的数据包,转发到云数据存储集群的主机NameNode上,由运行在主机上的网络上位机进行数据拆包,将实时数据存储到关系型数据库,并将数据采集终端产生的历史数据导出为文件提交从机DataNode存储备份,并支持计算机和手机浏览器端访问在线监控网站。本发明实现了对作物生长环境的远程在线监控,使用WSN技术支持采集终端的动态变化,利用Hadoop平台存储海量传感器数据,从而实现对作物生长环境状态进行有效监控。
【IPC分类】G05B19/418
【公开号】CN104898608
【申请号】CN201510168847
【发明人】杨余旺, 李玉波, 叶磊
【申请人】南京理工大学
【公开日】2015年9月9日
【申请日】2015年4月10日

最新回复(0)