楊亞飛+湯軍+宋樹華+李功權
摘要:目前,農業(yè)生產已經越來越趨于精細化和智能化,該文介紹了基于可橫向擴展的列式數據庫HBase以及并行計算框架MapReduce等大數據技術的農業(yè)物聯(lián)網的應用系統(tǒng)。農業(yè)物聯(lián)網涉及對農業(yè)生產環(huán)境數據的實時采集、農作物的實時監(jiān)控、農作物的生長狀況判斷以及改善農物的生長環(huán)境等方面。一個完整的物聯(lián)網系統(tǒng)應該涉及農作物生長的各個方面,系統(tǒng)基于采集的數據擬合環(huán)境變化曲線(ECC),然后,再結合作物的生長狀況學習出農作物的最佳生長環(huán)境(CBGE)曲線,最后,再依據農作物的生長周期構造農作物生長模型(CGM)。在此基礎上就可以實現農作物的精細化耕作,實現遠程控制環(huán)境變化進而達到智能耕作的目的。
關鍵詞:物聯(lián)網;數據采集;并行計算;列式存儲;大數據技術
中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2017)34-0232-03
Abstract: At present, agricultural production has become more and more sophisticated and intelligent.This article introduce the Based on big data technology that including column database HBase and MapReduce computing framework etc to realize the agriculture IOT application system. Agricultural IOT involves real-time collection of agricultural production environment data, real-time monitoring of crops, growth status judgment of crops and improvement of the growth environment of agricultural products.A complete IOT system should involve all aspects of crop growth,the system is Based on the collected data to fit the environmental change curve.Combining the growth status of crops, we can learn the best growth environment of crops(CBGE),finally, the crop growth model(CGM) is constructed according to the growth cycle of the crop.On this basis, fine farming of crops can be realized, remote control of environmental changes can be realized, and then the purpose of intelligent tillage can be achieved.
Key words: Internet of Things; data collection; parallel computing; column Store; big data technology
物聯(lián)網可以理解成物與物相連的互聯(lián)網,它利用互聯(lián)網技術把物和人聯(lián)系在一起,使人與物、物與物相關聯(lián)在一起[1-2][4-5]。目前,物聯(lián)網已經滲透到了各行各業(yè),智能家具、智慧醫(yī)療等都映射出了物聯(lián)網的影子。農業(yè)物聯(lián)網則是指把農業(yè)生態(tài)系統(tǒng)中的動植物個體、環(huán)境因素、生產資料等聯(lián)結在一起,實現對農業(yè)對象和過程智能化識別、定位、跟蹤、監(jiān)控和管理的一種網絡[1][5]。國外的農業(yè)物聯(lián)網主要應用于農業(yè)資源、環(huán)境、生產過程、農產品安全等領域的管理[3]。而我國農業(yè)物聯(lián)網則主要應用于大田種植、設施園藝、畜禽養(yǎng)殖、水產養(yǎng)殖、農產品物流等領域[3][5]。目前,農業(yè)物聯(lián)網也存在著不同系統(tǒng)的應用,但是這些系統(tǒng)往往存在數據存儲擴展困難等問題[2][5][6-7],為了應對數據不斷增長的物聯(lián)網應用,有必要拓展數據的存儲結構。另外,相對于傳統(tǒng)關系數據庫而言,列式數據庫更適合做分析。
系統(tǒng)基于可橫向擴展的列式數據庫和大數據計算框架來進行設計實現的?;诖髷祿夹g實現物聯(lián)網的功能,不僅可以為我們提供幾乎沒有限制的數據存儲功能優(yōu)勢,還可以對海量的農作物生長環(huán)境數據進行快速的分析,無論是分析它的生長模型還是對農作物做其他的研究都離不開大量的數據基礎,而大量數據的分析必然造成時間上的大量消耗,并行計算為我們提供了解決方案,它的計算效率勝過傳統(tǒng)方案的百倍千倍,所以利用大數據技術實現農業(yè)物聯(lián)網有著重要的意義。
1 建立列式數據庫
Hadoop是目前使用最廣泛的大數據技術,它允許開發(fā)人員使用簡單的編程模型通過計算機集群進行大數據的分布式處理的計算框架。它可以將服務器從單臺擴展到上千臺,每臺服務器都可以提供本地的計算和存儲資源[8]。
相對于傳統(tǒng)關系型數據庫列式數據庫的讀取效率明顯要更高,它不再需要像關系數據庫一樣為讀取某個字段的值而掃描整個表結構的數據,如果我們需要讀取某列的數據只需要讀取此列的數據就可以了。另外,在擴展方面它也可以很簡單只要在Hadoop集群中添加計算機節(jié)點然后再添加相應的服務就可以有效的擴展它的存儲容量,這使得它獲得幾乎無限容量的存儲能力[8-10]。
系統(tǒng)采集的數據主要來自傳感器,我們會將傳感器上傳送的數據轉換成可識別的信息存儲到HBase數據庫中。endprint
1.1 數據庫詳細內容
HBase是列式數據庫,所以與傳統(tǒng)關系型數據庫的設計模式不同,我們將按照列式數據庫的設計方法來進行數據庫設計。目前,列式數據庫的設計還沒有固定的模式,系統(tǒng)將根據實際需求對數據庫的列族、列、行健進行一定的設計。
(1) 列族,實際種植環(huán)境信息(如溫濕度)并不能以一個傳感器的數據來決定,根據采集區(qū)域范圍大小需要多個傳感器的數據共同來決定,所以列族名將由地區(qū)、地塊和農作物本身共同來決定的。編碼如下:
地區(qū)采用實際的地名作為編碼的一部分,實際上都會采用區(qū)域編號來代替,例如,對于大棚實驗田就會分為A區(qū)、B區(qū)等??紤]到傳感器覆蓋區(qū)域的數量,我們將一定數量的傳感器所覆蓋的區(qū)域當做一個地塊,對于大棚來說,一個大棚就可以當成一個地塊。最后是農作物的品種標記,用來標識采集地塊類的農作物,一般將同一種農作物放在同一個地塊中,這樣采集的數據參考意義更大。
(2) 列,列將由傳感器的標識來決定。考慮到同一個地塊將采集多種數據,而每一種數據將在地塊的不同位置采集多次。我們將同一個地塊中的所有同類型傳感器的數據都放在同一個列族當中,這有利于后期的數據挖掘和統(tǒng)計分析。例如,一個大棚(將一個大棚當做一個地塊)中包含上下各6個溫度傳感器,則一個地塊中同一時間可以獲得12個溫度類型的數據,這些數據都會被放到一個列族中存儲起來。
(3) 行健,環(huán)境數據的采集是連續(xù)的,如果不間斷的采集,即使一天的數據量也是可觀的。當然,這是沒有必要的,所以系統(tǒng)將定時的對環(huán)境數據進行篩選存儲。系統(tǒng)實時的接受傳感器傳輸的環(huán)境數據信息并將這些數據緩存到系統(tǒng)的內存中,當數據達到一定的數據量時(如64M)系統(tǒng)將激活數據分析方法對內存中的數據進行篩選,系統(tǒng)將篩選出發(fā)生變化的時刻數據,當然,采集的數據可能隨時都在發(fā)生微小變化,系統(tǒng)將設計數據變化的差值(如變化程度不大于1攝氏度就不算發(fā)生變化)來控制數據的采集數量。
另外行健影響這HBase數據庫的執(zhí)行效率,一般都將行健的命名盡量的取短一點的值,本次將以精確到秒的時間來作為行健。
1.2 數據采集入庫
傳感器采集的數據是主要影響農作物生長的環(huán)境信息數據,諸如土壤溫濕度、空氣溫濕度、光照強度等農作物生長環(huán)境參數。傳統(tǒng)的種植方式,無法對這些生長環(huán)境參數進行實時監(jiān)測與定量、定性分析。物聯(lián)網改變了農業(yè)生產的模式,我們將各類環(huán)境數據采集并存儲到HBase中(如圖1),這些數據將是構建農作物生長模型或分析農作物的重要數據支撐。
2 農業(yè)物聯(lián)網系統(tǒng)功能介紹
農業(yè)的發(fā)展越來越偏向機械化和智能化,為了構建智能化的農業(yè)生產模式,農業(yè)物聯(lián)網系統(tǒng)還需要提供必要的智能化生產功能應用。根據現有的需求和前人的研究系統(tǒng)暫時確定了五項功能模塊[11-13]。這五項功能將農作物生長環(huán)境、生長狀況、生長模型等直觀的提供給使用者,使用者可以根據這些信息去培養(yǎng)、管理自己的農產品。
農業(yè)物聯(lián)網應用系統(tǒng)主要由數據采集、數據可視化、實時監(jiān)控和統(tǒng)計分析等模塊組成。數據采集功能主要是將傳感器信號轉換成可識別的文字或數字信息;數據可視化功能主要是將數據以生動的形式展示出來供使用者查看瀏覽;實時監(jiān)控則是實時的傳遞地塊農作物的視頻信息,可以實時的查看農作物的生長狀況。
2.1 環(huán)境信息實時監(jiān)測
將實時采集的環(huán)境信息較為美觀的展示出來,可以為使用者帶來較好的感官體驗。最重要的也是實時的監(jiān)測農作物生長環(huán)境的變化,在必要的時候可以根據這些數據信息的反饋做人工的干預,比如缺水就可以通過系統(tǒng)控制設備噴水實現為農作物添加水分(如圖2所示)。
2.2 地塊標注和實時監(jiān)控
將不同的地塊在地圖上以矢量圖來標注出來,這樣可以直觀地了解我們地塊的區(qū)域范圍。在地塊周圍安裝監(jiān)控攝像頭,攝像頭實時捕獲地塊內的畫面。使用者可以遠程訪問來觀看地塊的實時畫面。既可以幫助生產管理者遠程了解作物的生長狀況,也可以幫助農業(yè)專家通過遠程監(jiān)控畫面了解作物的健康狀況,解決種植中的病害難題(如圖3所示)。
2.3 環(huán)境變化趨勢分析
將不同的環(huán)境信息數據根據時間的變化擬合出它的變化趨勢曲線(ECC),這樣可以方便我能觀察它的變化趨勢以及合理的預測將來短時間內的變化。根據作物的生長情況擬合出最適合農作物的生長環(huán)境(CBGE)曲線(如下圖4所示)。擬合環(huán)境變化趨勢圖之前需要對數據做一些必要的處理,因為HBase自身并沒有自帶的挖掘函數,此時MapReduce計算框架就起到了作用,我們利用MapReduce計算框架去處理分析HBase中的數據,再可視化到實際的圖表中,此處我們用到了數據驅動的echarts作為大數據量的可視化圖表。
2.4 構造生長模型
根據農作物的生長環(huán)境和自身的生長狀況構造農作物生長模型(CGM)[14-17],此模型可以根據農作物的生長環(huán)境大致判斷農作物的生長周期,可以為農作物的播種、施肥、收獲做系統(tǒng)性的建議(如下圖5所示)。
2.5 聯(lián)網設備控制
系統(tǒng)具有每天多個時間段的獨立目標溫度、目標濕度、目標風速、目標風向設定,可以人為控制各個設備的開啟與關閉,對于大棚內的精細化種植作業(yè)來說可以做到為環(huán)境參數作實時的改變和控制,對于野外來說則可以控制施肥灑水等設備(如下圖6所示)。
3 總結
本文闡述了基于大數據技術設計實現了農業(yè)物聯(lián)網應用系統(tǒng),系統(tǒng)基于可橫向擴展的列式數據庫以及能夠在海量數據中進行并行計算的計算框架實現了采集農業(yè)生產環(huán)境數據和構造農作物生長模型以及其他功能。
系統(tǒng)根據采集的數據對農作物的最佳生長環(huán)境進行擬合,并在此基礎上構建農作物生長模型??梢愿鶕r作物的生長環(huán)境大致判斷農作物的生長周期,可以為農作物的播種、施肥、收獲做系統(tǒng)性的建議。系統(tǒng)結合大數據技術實現了對農業(yè)生產模式做了極大的改變,當然,目前廣泛推廣還是比較困難,但是,農業(yè)生產的智能化必然會是發(fā)展的大趨勢。endprint
參考文獻:
[1] 趙璐,楊印生.農業(yè)物聯(lián)網技術與農業(yè)機械化發(fā)展[J].農機化研究,2011,08:226-229.
[2] 蘇美文.物聯(lián)網產業(yè)發(fā)展的理論分析與對策研究[D].吉林大學,2015.
[3] 王家農.農業(yè)物聯(lián)網技術應用現狀和發(fā)展趨勢研究[J].農業(yè)網絡信息,2015,09:18-22.
[4] 熊本海,楊振剛,楊亮,潘曉花.中國畜牧業(yè)物聯(lián)網技術應用研究進展[J].農業(yè)工程學報,2015,S1:237-246.
[5] 葛文杰,趙春江.農業(yè)物聯(lián)網研究與應用現狀及發(fā)展對策研究[J].農業(yè)機械學報,2014,07:222-230+277.
[6] 寧煥生,徐群玉.全球物聯(lián)網發(fā)展及中國物聯(lián)網建設若干思考[J].電子學報,2010,38(11):2590-2599. [2017-09-01].
[7] 許世衛(wèi). 我國農業(yè)物聯(lián)網發(fā)展現狀及對策[J]. 中國科學院院刊,2013,28(06):686-692.
[8] Apache.Hadoop官網[EB/OL].http://hadoop.apache.org/
[9] 景晗,鄭建生,陳鯉文,許朝威. 基于MapReduce和HBase的海量網絡數據處理[J]. 科學技術與工程,2015,15(34):182-191.
[10] 馮曉普. HBase存儲的研究與應用[D].北京郵電大學,2014.
[11] 陳一飛.農業(yè)復雜大系統(tǒng)的智能控制與農業(yè)物聯(lián)網關系探討[J].農業(yè)網絡信息,2012,(02):8-12.
[12] 文燕.基于Hadoop農業(yè)大數據管理平臺的設計[J]. 計算機系統(tǒng)應用,2017,26(05):74-79.
[13] 李瑾,郭美榮,高亮亮.農業(yè)物聯(lián)網技術應用及創(chuàng)新發(fā)展策略[J]. 農業(yè)工程學報,2015,31(S2):200-209.
[14] 陳新月,趙建濤,張靜.國外作物生長模型研究[J].吉林農業(yè),2015,(17):115-116.
[15] 趙青松,陳林,孫波,朱艷,姜海燕. 基于Hadoop的云環(huán)境下作物生長模型算法的實現與測試[J]. 農業(yè)工程學報,2013,29(08):179-186.
[16] 張紅衛(wèi),陳懷亮,周官輝,葛紅梅.農作物生長動態(tài)監(jiān)測技術綜述[A]. 中國氣象學會.第27屆中國氣象學會年會現代農業(yè)氣象防災減災與糧食安全分會場論文集[C].中國氣象學會:,2010:9.
[17] 王偉,黃義德,黃文江,李存軍,王嫻. 作物生長模型的適用性評價及冬小麥產量預測[J]. 農業(yè)工程學報,2010,26(03):233-237.endprint