999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于NoSQL數據庫的農田物聯網云存儲系統設計與實現

2019-01-17 08:19:58馬新明
農業工程學報 2019年1期
關鍵詞:數據庫系統

許 鑫,時 雷,何 龍,張 浩※,馬新明,3

?

基于NoSQL數據庫的農田物聯網云存儲系統設計與實現

許 鑫1,2,時 雷1,何 龍1,張 浩1,2※,馬新明1,2,3

(1. 河南農業大學信息與管理科學學院,鄭州 450002;2. 河南糧食作物協同創新中心,鄭州 450002; 3.農業部黃淮海農業信息技術科學觀測實驗站,鄭州 450002)

為了解決農田物聯網大量圖像、視頻和傳感器等結構化和非結構化數據實時處理與寫入問題,該文基于分布式存儲與NoSQL(Not Only SQL)技術,結合農田物聯網數據特征,利用HDFS(Hadoop Distributed File System)和HBase(Hadoop Database)存儲非結構化和結構化數據,基于Redis緩存服務,設計了三層物聯網數據云存儲框架,實現了海量農田物聯網數據存儲中的業務處理、事務處理、圖片打包與索引、負載均衡等關鍵技術。面對復雜業務下的事務數據一致性,該文采用基于HLock的樂觀鎖機制,實現了HBase對強事務性的支持,經過與傳統MySQL集群事務對比測試,當數據量級在500萬時,數據讀取效率提升達35.75%。為了提高農田物聯網中大量的小圖片和小文件處理效率,基于圖片打包合并策略,利用SequenceFile技術實現物聯圖片的快速索引讀寫技術,與原生HDFS存儲效率相比,讀寫效率提升30%以上。該研究可以為海量農業物聯網數據的存儲和管理提供技術參考和理論支撐。

農田;數據存儲系統;管理;物聯網;NoSQL;Hadoop;HBase;云存儲

0 引 言

隨著物聯網技術的發展,物聯網在農田數據采集、環境監測、智能灌溉、災害和苗情診斷、精細作業等生產過程中得到了廣泛應用[1-7]。學界對農田物聯網系統的設計、組網、數據傳輸、實現等方面也有了長足的發展[8-14],同時農田物聯網中的光、溫、土壤墑情、pH值等傳感器和視頻監控設備產生了海量的數據,如何高效存儲和管理海量數據是當前農業物聯網研究的核心[15-21]。

農田物聯網數據融合了作物生長的地域性和季節性等特征,導致農田物聯網在應用層面上需考慮地域、天氣、續航、傳輸接口與設備等因素的影響。尤其是在農田物聯網系統的設計上,需要兼顧作物產前、產中和產后的各個環節。其系統的動態擴展性要求較高,對數據存儲模型的通用性要求也較高。目前,農田物聯網數據的海量、異構及非結構趨勢明顯[22]。

在存儲農田物聯網中的海量數據方面,縱向增加數據節點擴容能力有限,且在海量數據處理會造成性能瓶頸,而采用分布式云存儲方案,通過橫向擴展動態接入新的存儲節點,是一種理想的解決方案。以Hadoop生態圈為代表的開源分布式存儲與計算平臺逐漸被各行業認可和應用,其具有海量存儲、高容錯性、高性能、高擴展性等特點,可滿足當前農田物聯網海量數據存儲與管理的需求。

農田物聯網中產生的大量小文件,如圖像、傳感器文本和視頻等非結構化數據的實時處理與寫入,是傳統關系數據庫難以解決的問題。以HBase為代表的NoSQL(Not Only SQL)數據庫產品的分布式、面向列、可伸縮的特點,對圖片、視頻等非結構化數據的存儲具有天然的優勢,同時,農田物聯網數據天然的異構性,關系型數據庫的關系模型難以滿足新傳感器的接入,不利于系統擴展,而NoSQL技術支持動態的數據模型,可以應對農田物聯網數據采集設備種類繁多、類型繁雜以及后期擴展問題[23]。

本文基于Hadoop生態圈,利用分布式云存儲及NoSQL技術,構建海量存儲、高性能、安全可靠、易擴展的農田物聯網數據云存儲系統,并深入剖析了農田物聯網的存儲事務一致性、小文件處理等問題,以期為海量農田物聯網數據存儲提供解決方案。

1 系統框架設計

從農田物聯網數據特征出發,結合Hadoop平臺,考慮系統的安全可靠、高效讀寫、數據轉換、事務處理、小文件處理、緩存策略、負載均衡、成本及擴容等關鍵因素[24]。自下而上將系統分為3層:存儲層、服務層及應用層。系統總體結構如圖1所示。

圖1 農田物聯網云存儲系統框架

存儲層是農田物聯網數據存儲模型的最底層,其主要作用是用來持久化存儲數據。該層包括分布式文件系統HDFS、面向列的HBase數據庫以及Redis緩存模塊。HDFS用來存儲農田物聯網系統中圖片、視頻等非結構化數據;HBase數據庫用來存儲農田物聯網系統中氣象、墑情等結構化數據;Redis數據庫用來作為底層存儲的緩存服務器[25]。

服務層位于存儲層和應用層的中間,作用是為上層的業務處理和下層數據存儲訪問提供服務。服務層包括事務處理模塊、數據轉換模塊、圖片合并與索引模塊。事務處理模塊用來優化HBase數據庫對事務ACID(atomicity,consistency, isolation,durability)特性的支持;數據轉換模塊是對物聯網設備元數據信息的轉換,由于多源傳感器數據格式不一定一致,尤其是隨業務發展新增的傳感器,利用數據轉換模塊將傳感器的元數據信息轉換成存儲模型能夠接受的格式,可以有效提高系統的后期擴展性能。圖片合并與索引模塊用來解決Hadoop在處理海量小文件時的不足,在設計數據存儲模型時針對農田物聯網采集的海量圖片進行合并,并構建合并后的索引方案,將圖片元數據信息寫到HBase中[26],方便圖片的查詢。

應用層主要面向農田物聯網系統中的各種業務處理并提供統一的數據訪問接口。業務處理模塊對統一數據訪問接口傳遞過來的指令信息進行判斷并確定業務類型。根據農田物聯網數據特征將具體業務分為結構化數據讀寫、文本文件讀寫、圖像讀寫及視頻讀寫4大類。將應用層單獨獨立于其他層之上,可以達到業務與服務解耦的目的。

負載均衡模塊部署在整個農田物聯網數據存儲模型中。負載均衡模塊在應用層的作用是將前端用戶的高并發請求分載到多個服務器上;在服務層作用于MapReduce實現大文件分割與小文件合并等并行處理場景;在存儲層的作用是平衡農田物聯網數據分配存儲節點問題。設計負載均衡模塊可以保證服務器集群在處理極端問題時穩定高效的運行[27]。

2 關鍵技術設計

2.1 業務流程設計

針對結構化數據、文本、圖像及視頻4大類數據的讀寫業務需要不同的流程來處理。

1)數據寫入業務處理

業務處理模塊需要對統一數據訪問接口寫入的數據進行類型判斷。農田物聯網系統中的數據類型主要包括氣象和墑情等結構化數據、圖片、視頻及文本文件4大類。其中文本文件又包括Excel文件、XML文件與TXT文件等。數據寫入業務處理流程如圖2所示。

當寫入數據類型為圖片時,采取圖片“合并”策略存儲。首先把文件寫入圖片隊列,然后判斷圖片隊列累計文件大小是否夠一個“Block”的大小,如果不夠一個“Block”的大小,等待后續圖片寫入;如果大于一個“Block”的大小,進行圖片合并,建立索引信息并把圖片元數據信息寫入HBase中,圖片數據寫入HDFS和Redis緩存服務器中[28]。

當寫入數據類型為視頻時,判斷其大小是否超過一個“Block”的大小,如果小于一個“Block”的大小,直接按照一個“Block”來處理;如果大于一個“Block”的大小,采用Hadoop提供的“分塊”策略進行處理,并將索引信息直接寫入NameNode主節點中。視頻數據最終寫入HDFS和Redis緩存服務器中。

當寫入數據類型為文本文件時,需要服務層數據轉換模塊中相應的Parser解析進行處理。

當寫入數據類型為氣象、墑情等結構化數據時,通過結構化數據訪問接口(structured data access interface)直接將數據寫入HBase數據庫及Redis緩存服務器中。

圖2 數據寫入業務處理流程

2)數據讀取業務處理

業務處理模塊在處理數據讀取業務時流程優先訪問Redis緩存數據,并進行判斷是否需要需要訪問HBase和HDFS數據,如圖3所示。

圖3 數據讀取業務處理流程

從模型存儲層可以看出,農田物聯網數據都是存儲在HDFS、HBase及Redis緩存服務器中,其中Redis緩存服務器讀取效率最高,所以優先訪問Redis緩存數據庫中的數據;若Redis數據庫中沒有數據,再訪問HBase數據庫中的數據;若HBase中也沒有要讀取的數據,則訪問Hadoop底層HDFS中的數據。

2.2 事務處理

由于HBase一般搭建在分布式集群環境下,其在跨行事務及長事務處理的可靠性上受到了制約,只能提供基礎級別的弱事務性處理,無法對跨行事務及長事務精準有序地處理,很難保證像海量數據分析等復雜業務下的數據一致性。目前,解決NoSQL數據庫跨行事務及長事務處理的方法主要有2種方案:一種是分布式有鎖方案,如Google公司為了解決BigTable海量數據的增量更新操作開發的Percolator[29]框架;另一種是集中式無鎖方案,如為分布式key-value數據庫提供強事務性支持的Omid開源框架[30]。

分布式有鎖方案通過侵入數據方式在表結構中增加鎖協議算法,采用該方案可以保證事務執行的強ACID特性,但很難避免因為某個事務鎖阻塞影響其他事務的正常運行,在性能及時效性上會受到影響。因此,在不改變HBase底層存儲的基礎上,采用犧牲部分性能保證整個存儲系統可靠性的分布式有鎖方案。分布式有鎖方案又分為悲觀鎖和樂觀鎖2種。

悲觀鎖是大部分關系型數據庫提供的鎖機制,實現了事務的完全串行化。但是由于悲觀鎖的弱并發性能,尤其是在高并發的情況下,悲觀鎖的額外開銷是無法承受的。樂觀鎖在一定程度上解決了悲觀鎖的弊端,通過樂觀鎖機制可以有效降低長事務中加鎖的額外開銷,可以有效提高系統的整體性能,增加系統的整體吞吐量。所以,在對性能及吞吐量要求較高 HBase數據庫事務處理中,樂觀鎖方案是較好的選擇。

本文通過樂觀鎖來保證HBase長事務的ACID特性,需要在HBase表結構中添加一個HLock列,HLock列是一種結構體,其結構設計如表1所示。

通過設計的HLock鎖結構體,可以在不修改HBase底層存儲結構的前提下通過事務處理模塊保證農田物聯網系統中對強事務性的要求,事務處理模塊包括讀數據和寫數據2個流程。

表1 基于樂觀鎖的HLock結構體

讀數據流程如下:

1)先處理單元讀取事務中所需數據的HLock列,若其State狀態值為FREE,取得并返回數據結果;

2)若HLock列的State狀態值不為FREE,查看鎖結構體中ExpiryTime的值,若ExpiryTime值還未過期,則回滾本事務;

3)若ExpiryTime值已經過期,則回滾此HLock所屬的上一個版本事務數據,清除過期事務所有HLock值,然后執行當前事務。

寫數據流程如下:

1)先處理單元讀取事務中所需數據的HLock列,若其State狀態值為FREE,則跳轉到4中;

2)若HLock列的State狀態值不為FREE,查看鎖結構體中ExpiryTime的值,若ExpiryTime值還未過期,則回滾本事務;

3)若ExpiryTime值已經過期,則回滾此HLock所屬的上一個版本事務數據,清除過期事務所有HLock值,然后執行當前事務;

4)在ExpiryTime值未過期的情況下,把寫入的數據先存入緩存模塊中,等待寫入數據庫;

5)在事務提交階段,若操作數據的HLock鎖沒有被改變,則把緩存中的待寫入數據存儲到HBase數據庫中。

事務處理模塊的完整流程如圖4所示。

整個事務提交過程分2個階段:Prewrite階段與ChangeState階段。事務提交詳細流程如下:

1)在Prewrite階段,事務處理模塊隨機選擇本事務中的一行數據,將其設置為主鎖,其余行設置為副鎖;

2)事務處理模塊生成PrewriteTimestamp及CurrentTimestamp 2個時間戳;

3)事務處理模塊將所有PUT操作的行數據從緩存中寫入HBase,更新其HLock的狀態State為PREWRITTERN;

4)事務處理模塊將所有REMOVE操作的行數據HLock的狀態State為PREWRITTERN,此時不做DELETE操作;

5)在ChangeState階段,事務處理模塊先將主鎖所在行鎖狀態State改為COMMITTED狀態;

6)事務處理模塊遍歷本事務涉及的所有行,如果Operation類型為REMOVE,進行DELETE操作,刪除REMOVE標志行所有版本的數據,不可恢復,因此將REMOVE操作放在COMMITTED之后;

7)將所有非主鎖所在行狀態State改為FREE;

8)改變主鎖State狀態為FREE;

9)完成事務。

圖4 事務處理流程

在宕機處理上,通過HLock鎖的設計,可以保證HBase在長事務讀寫過程中的事務性,為了降低線程阻塞帶來的額外開銷,事務處理模塊并不需要定時主動清理壞死的HLock鎖,而是將該任務交給新事務去處理。通過可配置ExpiryTime屬性可以獲取舊事務是否為線程阻塞事務。如果ExpiryTime超時,新事務會首先檢查超時事務的主鎖,若主鎖狀態為COMMITTED,則說明超時事務已經提交,事務處理模塊可以根據超時事務HLock列的副鎖信息完成整個事務的提交過程;若主鎖State標志為其他狀態,則事務處理模塊根據主鎖信息完成超時事務的回滾。

在集群時間同步上,由于所有的TimeStamp都是由系統機器的本地時間生成,在一個龐大的集群系統中,很難保證所有機器節點時間的一致,這就有可能因為時間混亂造成事務的錯誤。針對事務對時間的高準確性與高統一性要求,在本文設計方案中,采用在Hadoop集群中搭建NTP服務器[31]的方式為集群提高全局唯一的時間戳服務,以保證各個機器節點的時間一致性。

2.3 圖片合并索引設計

由于農田物聯網圖片中大多是比較小的文件,針對海量小文件圖片合并算法有4種處理方法,分別是TextInputFormat、CombineFileInputFormat、SequenceFile和Harballing[32]。由于這4種處理方法的應用場景不同,考慮到需要重新設計海量圖片的索引信息,選擇了更為合適的SequenceFile技術。SequenceFile是序列化后的二進制文件,使用該技術的優點是它記錄的是形式的鍵值對列表,使用SequenceFile技術將多張圖片合并成一個“Block”時,key可以用來記錄圖片的名稱,value可以用來記錄圖片的內容。并且SequenceFile技術支持數據壓縮,有利于節省磁盤空間,同時還能減少網絡傳輸的時間。圖片合并流程如圖5所示。

由于SequenceFile中使用FileName作為key,File contents作為value,每一個文件都可以通過FileName映射到SequenceFile中,所以針對圖片的FileName進行編碼設計。將FileName分為3個部分:BlockID、FileID與offset。

圖5 圖片合并流程

BlockID代表合并后的SequenceFile所在的“Block”,也代表著DataNode上的一個數據塊,NameNode可以根據BlockID信息確定DataNode的地址,一個“Block”中可能包含有多個SequenceFile,每一個SequenceFile又包含這多張圖片。所以采用FileID來表示一個“Block”中的哪一個具體的SequenceFile,使用offset來表示圖片在一個SequenceFile中的偏移量。

當客戶端通過圖片文件名向服務端發起讀取請求時,首先通過前端處理解析圖片文件名,傳給服務端BlockID、FileID與offset的值;Master主機可以根據BlockID確定到DataNode主機中的某個“Block”文件并把DataNode地址發送給客戶端;根據FileID可以確定該“Block”文件中的某個SequenceFile;根據offset偏移量的值可以確定所要讀取圖片在該SequenceFile中的位置;最后客戶端通過前端解析內容與DataNode地址完成圖片的讀取。

這樣設計可以有效減少HBase數據庫中圖片元數據的信息,將圖片存儲信息以編碼的方式保存到文件名中,并通過前端文件名解析代碼直接實現對DataNode節點的數據訪問,可以減少一次去HBase數據庫中讀取圖片存儲信息的過程,通過offset偏移量的值可以將磁頭直接定位到SequenceFile中圖片位置開始讀取。

3 系統實現與性能測試

在系統設計的基礎上,利用Web Service和物聯網數據采集技術,于2016年研發了河南省農田物聯網監控系統,系統在許昌長葛、滑縣、漯河、南陽方城等縣市農田布設60余個農田物聯網監測站點,系統實現了小麥生產的全過程物聯網實時土壤溫濕度、空氣溫濕度、降雨、風速風向等田間小氣候和長勢圖片的實時監測,其中田間小氣候數據,系統運行以來數據規模在30 TB以上,實現了各個站點及設備的管理、物聯網數據管理、數據統計分析、可視化展示等功能,數據監控管理界面如圖6所示。

圖6 河南省農田物聯網監控系統界面

該系統利用文中設計存儲模型,實現了物聯網數據的高效存儲和事務控制,同時利用設計的圖片打包策略,為后續的數據檢索、分析提供了快速有效的數據查詢機制。

另外,為了驗證該文技術方案的性能,基于不同數量級的數據對存儲模型,圖片合并策略進行了性能測試。測試環境:千兆網絡、Inter Xeon(R) E5-4603V2處理器、32 GB內存、5TB硬盤組成6節點Hadoop2.8集群環境下,搭建3節點HBase數據庫。

3.1 結構化數據存儲方案性能驗證

農田物聯網中的土壤墑情和氣象傳感器數據多是結構化的數據,基于不同數量級數據與傳統關系型數據庫集群的性能進行了對比測試,測試步驟如下:

1)從物聯網監測系統中隨機抽取氣象數據,將數據分為5組,數據量分別是5萬條、50萬條、150萬條、300萬條、500萬條;

2)將數據通過Structured Data Access Interface存儲接口寫入存儲系統中;

3)將數據寫入相同硬件配置的3節點MySQL集群中;

4)分別對MySQL集群和本文Hadoop存儲系統進行10次查詢操作的查詢時間取平均值。

MySQL與Hadoop集群查詢性能對比如圖7所示。

可以看出,當數據規模較小時,Hadoop集群效率無法體現,甚至還落后于相同硬件配置下的MySQL集群。在300萬條數據級別時,MySQL集群與Hadoop集群效率基本持平。在500萬條數據級別時,Hadoop集群的效率就明顯高于MySQL集群,數據查詢效率提升達35.75%。

圖7 MySQL集群與Hadoop集群數據查詢性能對比

由于HBase是基于HDFS的NoSQL數據庫,在請求提交和處理過程中涉及到Hadoop的初始化、調度等因素,導致其在處理小數據量優勢不明顯。但在高吞吐量、高并發的情況下,Hadoop集群處理海量數據的優勢得以充分體現,其平滑擴容能力可以實時動態地增加集群機器數量。因此,基于NoSQL的農田物聯網結構化數據存儲方案在處理高并發量數據場景中是可行的。

3.2 非結構化數據存儲方案性能驗證

在非結構化數據存儲方案性能驗證部分,針對圖片合并策略性能驗證,即驗證原生HDFS與本文使用圖片合并索引的HDFS在讀寫效率上的對比測試。

1)取物聯網系統采集的苗情圖像共計10萬張,大小在200~300 kB之間;

2)將這些圖片以不同數量規模存入原生HDFS和采用圖片合并索引的HDFS中;

3)分別進行10次隨機讀寫操作,取10次平均值為最終時間消耗。讀操作時間記錄為sort,寫操作時間記錄為store,讀寫次數記錄為,平均讀寫時間計算規則為=(sort+store)/。

原生HDFS與本文方案平均讀寫性能驗證對比如圖8所示。

圖8 圖片讀寫性能對比

可以看出,隨著圖片數量的不斷增加,原生HDFS與本文方案讀寫平均時間差距逐漸增大?;赟equenceFile文件合并技術、圖片文件名的設計及索引優化策略后的HDFS讀寫平均速度相比未優化的原生HDFS性能提升30%以上,更適用于農田物聯網中海量圖片存儲的場景。

目前系統在河南省農田物聯網監測中進行了應用,在小麥生產過程中,提供實時的數據入庫存儲、管理、可視化,接入物聯網監測站點60余個,每天產生農田空氣、土壤溫濕度等數據量達10 000余條,產生物聯網圖片文件每天8 000余個,并在考慮接入更多的傳感器和監測站點,系統運行狀況良好。

系統可以廣泛應用于農田環境監測,考慮的在以后的研究中,可以結合分布式計算與機器學習技術對物聯網數據進行實時的計算,為農業生產提供實時的災害預警與決策服務。

4 結 論

本文基于Hadoop生態圈,利用NoSQL技術,設計了海量農田物聯網數據存儲模型,對農田物聯網數據存儲中的分布式數據讀寫、事務處理、圖片合并索引等關鍵技術進行設計與實現,研發了海量農田物聯網數據存儲管理系統。

考慮農田物聯網實際應用場景,利用HDFS存儲農田物聯網系統中圖片、視頻等非結構化數據,HBase用來存儲農田物聯網系統中氣象、墑情等結構化數據,實現了結構化和非結構化數據的一體化存儲與管理。

為了保證海量農田物聯網數據事務數據的一致性,本文設計的基于樂觀鎖的HLock分布式事務機制,實現了HBase對強事務的支持,經過與傳統MySQL集群對比測試發現,當數據量級達500萬時,數據讀取效率提升達35.75%。為了提升農田物聯網中大量的小圖片和小文件分布式讀寫效率,利用SequenceFile技術圖片小文件打包合并存儲策略,實現農田物聯網圖片的快速存取,經測試,采用該技術的HDFS讀寫速率比原生HDFS提升30%以上。

綜上所述,基于NoSQL的海量農田物聯網數據存儲方案可以滿足農業物聯網海量、實時數據的存儲管理需求。

[1] 李瑾,郭美榮,高亮亮. 農業物聯網技術應用及創新發展策略[J]. 農業工程學報,2015,31(增刊2):200-209. Li Jin, Guo Meirong, Gao Liangliang. Application and innovation strategy of agricultural Internet of Things[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2015, 31(Supp.2): 200-209. (in Chinese with English abstract)

[2] 張向飛. 基于農業物聯網的數據智能傳輸與大田監測應用[D]. 上海:東華大學,2016. Zhang Xiangfei. Intelligent Data Transmission And Field Monitoring Application Based on Agricultural Internet of Things[D]. Shanghai: Donghua University, 2016. (in Chinese with English abstract)

[3] 杜克明,褚金翔,孫忠富,等. WebGIS在農業環境物聯網監測系統中的設計與實現[J]. 農業工程學報,2016,32(4):171-178. Du Keming, Chu Jinxiang, Sun Zhongfu, et al. Design and implementation of monitoring system for agricultural environment based on WebGIS with Internet of Things[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2016, 32(4): 171-178. (in Chinese with English abstract)

[4] 陳曉棟,原向陽,郭平毅,等. 農業物聯網研究進展與前景展望[J]. 中國農業科技導報,2015,17(2):8-16. Chen Xiaodong, Yuan Xiangyang, Guo Pingyi, et al. Progress and prospect in agricultural internet of things[J]. Journal of Agricultural Science and Technology, 2015, 17(2): 8-16. (in Chinese with English abstract)

[5] 王萍,趙宏亮,李佩林,等. 農業物聯網技術在大豆生產中的應用[J]. 大豆科學,2018,37 (5):809-813. Wang Ping, Zhao Hongliang, Li Peilin, et al. Application of agricultural internet of things in soybean production[J]. Soybean Science, 2018, 37(5): 809-813. (in Chinese with English abstract)

[6] 瞿榮錦,韋琮,趙麗娟. 基于物聯網技術的農田環境監測系統的研究與構建[J]. 農業開發與裝備,2018(9):104-105.

[7] 琚書存,程文杰,徐建鵬,等. 農業氣象物聯網數據采集系統[J]. 計算機與現代化,2018(9):105-109,117. Ju Shucun, Cheng Wenjie, Xu Jianpeng, et al. Data acquisition system for agricultural meteorological IOT[J]. Computer and Modernization, 2018(9): 105-109, 117. (in Chinese with English abstract)

[8] 宋健瑋. 農田灌溉監控系統的設計與實現[D]. 濟南:山東大學,2017. Song Jianwei. Design and Implementation of Farmland Irrigation Monitoring and Control System[D]. Jinan: Shandong University, 2017. (in Chinese with English abstract)

[9] 劉藝蕾. 農業物聯網監控管理系統設計與實現[D]. 北京:北京郵電大學,2016. Liu Yilei. The Design and Implementation of Agricultural IOT Monitor and Management system[D]. Beijing: Beijing University of Posts and Telecommunications, 2016. (in Chinese with English abstract)

[10] 薛文龍. 基于物聯網的農田環境信息采集控制與預警系統[J]. 江蘇農業科學,2017,45(9):195-198.

[11] 蔡紹堂,麻碩琪,樂英高,等. 一種農田環境遠程監測系統設計與實現方法[J]. 四川理工學院學報:自然科學版,2018,31(2):69-74. Cai Shaotang, Ma Shuoqi, Le Yinggao, et al. Design and realization of remote monitoring system for farmland environment[J]. Journal of Sichuan University of Science & Engineering: Natural Science Edition, 2018, 31(2): 69-74. (in Chinese with English abstract)

[12] 姜巖,段杰,王茂勵,等. 基于物聯網技術的水肥一體化智能管理系統[J]. 現代農業科技,2018(16):279-281. Jiang Yan, Duan Jie, Wang Maoli, et al. Intelligent system of water and fertilizer based on internet of things technology[J]. Modern Agricultural Science and Technology, 2018(16): 279-281. (in Chinese with English abstract)

[13] 徐識溥,劉勇,李雙喜,等. 基于農業物聯網的農田土壤環境監測系統的研究與設計[J]. 中國農學通報,2018,34(23):145-150. Xu Shipu, Liu Yong, Li Shuangxi, et al. Research and design of farmland soil environmental monitoring system based on agricultural IOT[J]. Chinese Agricultural Science Bulletin, 2018, 34(23): 145-150. (in Chinese with English abstract)

[14] 李雅麗,魏峰遠,陳榮國,等. 基于物聯網和WebGIS果園監測系統的設計與實現[J]. 測繪與空間地理信息,2018,41(8):75-77,81. Li Yali, Wei Fengyuan, Chen Rongguo, et al. Design and application of orchard environment based on internet of things and WebGIS[J]. Geomatics & Spatial Information Technology, 2018, 41(8): 75-77, 81. (in Chinese with English abstract)

[15] 郝行軍. 物聯網大數據存儲與管理技術研究[D]. 合肥:中國科學技術大學,2017. Hao Xingjun. Reseach on Technology of Storage and Management of IOT Data[D]. Hefei: University of Science and Technology of China, 2017. (in Chinese with English abstract)

[16] 陳威,郭書普. 中國農業信息化技術發展現狀及存在的問題[J]. 農業工程學報,2013,29(22):196-205. Chen Wei, Guo Shupu. Current situation and existing problems of agricultural informatization in China[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2013, 29(22): 196-205. (in Chinese with English abstract)

[17] 趙立波,李凌霞,王旭. 物聯網海量異構傳感器采樣數據存儲與查詢處理[J]. 軟件導刊,2017,16(12):182-183,187. Zhao Libo, Li Lingxia, Wang Xu. Storage and query processing of massive heterogeneous sensorsample data in internet of things[J]. Soft Guide, 2017, 16(12): 182-183, 187. (in Chinese with English abstract)

[18] 鄭建忠,鄭建榮. 一種基于云計算技術的物聯網平臺設計[J]. 電力信息與通信技術,2018,16(6):57-61. Zheng Jianzhong, Zheng Jianrong. Design of internet of things platform based on cloud computing technology[J]. Electric Power ICT, 2018, 16(6): 57-61. (in Chinese with English abstract)

[19] 劉佩增. 面向物聯網多維度數據的多級存儲系統的設計與實現[D]. 北京:北京郵電大學,2018. Liu Peizeng. The Design and Implementation of Multilevel Storage System Oriented to Multidimensional Data[D]. Beijing: Beijing University of Posts and Telecommunications, 2018. (in Chinese with English abstract)

[20] 楊鵬,林俊暉. 一種基于MongoDB和Hadoop的海量非結構化物聯網數據處理方案[J]. 微電子學與計算機,2018,35(4):68-72,78. Yang Peng, Lin Junhui. A scheme for massive unstructured iot data processingbased on mongodb and hadoop[J]. Microelectronics & Computer, 2018, 35(4): 68-72, 78. (in Chinese with English abstract)

[21] 李繼蕊,李小勇,高雅麗,等. 物聯網環境下數據轉發模型研究[J]. 軟件學報,2018,29(1):196-224. Li Jirui, Li Xiaoyong, Gao Yali, et al. Review on data forwarding model in internet of things[J]. Journal of Software, 2018, 29(1): 196-224. (in Chinese with English abstract)

[22] 王順. 面向農業物聯網的異構數據存儲方法研究[D]. 鄭州:河南農業大學,2016. Wang Shun. Research on the Heterogeneous Data Storage Method for the Agricultural Internet of Things[D]. Zhengzhou: Henan Agricultural University, 2016. (in Chinese with English abstract)

[23] 龔暢. 大數據下的NoSQL數據庫技術分析[J]. 信息記錄材料,2018,19(6):118-119.

[24] 李林. 基于hadoop的海量圖片存儲模型的分析和設計[D]. 杭州:杭州電子科技大學,2011. Li Lin. Design and Analysis of the Mass Image Storage Model Based on Hadoop[D]. Hangzhou: Hangzhou Dianzi University, 2011. (in Chinese with English abstract)

[25] 盧冬海,何先波. 淺析NoSQL數據庫[J]. 中國西部科技,2011,10(2):14,15-16. Lu Donghai, He Xianbo. The analysis of NoSQL database[J]. Science and Technology of West China, 2011, 10(2): 14, 15-16. (in Chinese with English abstract)

[26] 宋曉東. Hadoop分布式文件系統小文件數據存儲性能的優化方法研究[D]. 北京:北京交通大學,2017. Song Xiaodong. The Optimization Method Research for Small File Data Storage Performance on Hadoop Distributed File System[D]. Beijing: Beijing Jiaotong University, 2017. (in Chinese with English abstract)

[27] 宋俊輝,馮巖. 負載均衡的分布式系統任務調度優化算法[J]. 吉林大學學報:理學版,2017,55(2):383-387. Song Junhui, Feng Yan. Task Scheduling optimization algorithm in distributed system with load balancing[J]. Journal of Jilin University: Science Edition, 2017, 55(2): 383-387. (in Chinese with English abstract)

[28] 譚臺哲,向云鵬. Hadoop平臺下海量圖像處理實現[J]. 計算機工程與設計,2017,38(4):976-980.

Tan Taizhe, Xiang Yunpeng. Large-scale image processing implementation under hadoop platform[J]. Computer Engineering and Design, 2017,38(4):976-980. (in Chinese with English abstract)

[29] Daniel Peng, Frank Dabek. Large-scale Incremental Processing Using Distributed Transactions and Notifications[C]// USENIX Symposium on Operating Systems Design and Implementation, October 4-6, 2010, Vancouver, BC: USENIX Association, c2010:251?264.

[30] 苗星. HBase長事務實現方法研究[D]. 北京:北京交通大學,2015. Miao Xing. The Research on Long Transaction Support for HBase[D]. Beijing: Beijing Jiaotong University, 2015. (in Chinese with English abstract)

[31] 吳龍,唐軍. 一種ntp服務器時間同步的方法: CN102916799A[P]. 2013-02-06.

[32] 李三淼,李龍澍. Hadoop中處理小文件的四種方法的性能分析[J]. 計算機工程與應用,2016,52(9):44-49. Li Sanmiao, Li Longshu. Performance analysis of four methods for handling small files in Hadoop[J]. Computer Engineering and Applications, 2016, 52(9): 44-49. (in Chinese with English abstract)

Design and implementation of cloud storage system for farmland internet of things based on NoSQL database

Xu Xin1,2 ,Shi Lei1, He Long1, Zhang Hao1,2※, Ma Xinming1,2,3

(1.450002,2.450002,; 3. HHH450002,)

In order to solve the problems of storing large amounts of structured and unstructured data, such as images, video and sensors and so on, and real-time processing and writing, a data cloud storage system for farmland Internet of Things (IOT) with mass storage, high performance and easy expansion is constructed. Based on Hadoop platform, in this paper, we constructed a massive farmland IOT data cloud storage system by combining the characteristics of farmland IOT data, using distributed storage and NoSQL(Not Only SQL) technology. From the security, reliability, efficient reading and writing, data conversion, transaction processing, small file processing, cache strategy, load balancing and other issues of the system, HDFS was used to store unstructured data such as pictures and videos in the farmland IOT system, HBase was used to store structured data such as meteorology and moisture in the farmland IOT system, Redis was used in cache servers. Three layers of data cloud storage architecture for IOT were designed. The system classifies and processes video, image, text and structured data. For large video block storage, small file image packaging and merging storage, text classification and conversion strategy, unstructured data were written to HDFS, structured data were written to HBase, and Redis was used as the system cache to realize the data of the IOT writing and reading business. In distributed cluster environment, the reliability of cross-line transaction and long transaction processing was restricted. It was difficult to process cross-line transaction and long transaction accurately and orderly, and it was difficult to ensure data consistency in complex services such as massive data analysis. In this paper, a distributed transaction mechanism based on optimistic lock was designed. The transaction processing module cooperates with the HLock(optimistic lock) structure to control the state of the transaction. The NTP server guarantees the uniqueness of the transaction timestamp. The transaction ACID features, including reading and writing data, were solved. HBase's strong transactional support has been tested to improve query efficiency by 35.75% compared with traditional MySQL clusters when the data level was 5 million. Thus, NoSQL-based structured data storage scheme was feasible in dealing with high concurrent massive data scenarios. In order to solve the problem of a large number of small pictures and small files in the farmland IOT, the sampled pictures were packaged and measured. The “SequenceFile” technology was used to merge multiple pictures into a "Block" to realize the strategy of merging and storing small files. Fast index reading, compared with the original HDFS storage reading and writing efficiency, image file storage reading and writing efficiency improved by more than 30%. Therefore, based on the “SequenceFile” file merging technology, image file name design and index optimization strategy, it was suitable for large-scale image storage scene in the farmland IOT. The system had been applied to the monitoring system of farmland IOT in China Henan Province. It was distributed in more than 60 monitoring stations in Changge, Huaxian, Luohe and Fangcheng counties and cities, providing real-time data for storage, management and visualization, and considering the incorporation of more sensors and monitoring stations, the system was in good working order. In summary, based on Hadoop platform and NoSQL technology, we designed a massive farmland IOT data storage model, designed and implements the key technologies such as data reading and writing, transaction, picture packaging, index, load balancing module, and develops a massive farmland IOT data storage, management system. Based on NoSQL massive farmland IOT data storage scheme suitable for the storage and management needs of the IOT massive, real-time data, for farmland IOT storage transaction consistency, small file processing and other issues, for massive agricultural IOT data storage solutions. It can combine distributed computing and machine learning technology to compute the data of IOT in real time and provide real-time operation and decision-making services for agricultural production.

farms; data storage equipment; management; IOT; NoSQL; Hadoop; HBase; cloud storage

2018-09-25

2018-11-23

河南省科技創新杰出人才(184200510008);河南省現代農業產業技術體系(S2010-01-G04);十三五國家重點研發計劃(2016YFD0300609);河南省重大科技專項(171100110600-01)

許 鑫,河南鄧州人,講師,博士生,主要從事機器學習與精準栽培技術研究。Email:xuxin468@163.com

張 浩,河南鄧州人,副教授,主要從事分布式計算、數據集成與可視化研究。Email:zhanghaohnnd@126.com

10.11975/j.issn.1002-6819.2019.01.021

S126

A

1002-6819(2019)-01-0172-08

許 鑫,時 雷,何 龍,張 浩,馬新明. 基于NoSQL數據庫的農田物聯網云存儲系統設計與實現[J]. 農業工程學報,2019,35(1):172-179. doi:10.11975/j.issn.1002-6819.2019.01.021 http://www.tcsae.org

Xu Xin, Shi Lei, He Long, Zhang Hao, Ma Xinming. Design and implementation of cloud storage system for farmland internet of things based on NoSQL database [J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2019, 35(1): 172-179. (in Chinese with English abstract) doi:10.11975/j.issn.1002-6819.2019.01.021 http://www.tcsae.org

猜你喜歡
數據庫系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
主站蜘蛛池模板: 亚洲系列无码专区偷窥无码| 亚洲无码电影| 波多野结衣的av一区二区三区| 欧美不卡在线视频| 国产乱子伦视频在线播放| 亚洲免费播放| 无码有码中文字幕| 波多野结衣在线一区二区| 亚洲人成在线精品| 九九精品在线观看| 精品成人一区二区三区电影| 久久公开视频| 色综合天天视频在线观看| 精品三级在线| 女高中生自慰污污网站| 99国产精品一区二区| 麻豆精品国产自产在线| 亚洲Va中文字幕久久一区| 色香蕉网站| 欧美区一区二区三| 精品国产香蕉在线播出| 国产成人亚洲综合a∨婷婷| 亚洲国产看片基地久久1024| 日韩福利在线观看| 波多野结衣中文字幕一区二区| 久草中文网| 亚洲国产成人久久77| 免费人成又黄又爽的视频网站| 亚洲国产亚洲综合在线尤物| 她的性爱视频| 性欧美在线| 女人18一级毛片免费观看| 国产成人AV男人的天堂| 国产精品尤物在线| 国产精品99r8在线观看| 野花国产精品入口| 亚洲一道AV无码午夜福利| 欧美天天干| 欧美色香蕉| 国产毛片高清一级国语| 久久96热在精品国产高清| 欧美精品啪啪| 亚洲天堂网在线观看视频| 国产探花在线视频| 久久特级毛片| 国产成人久久综合一区| 天天色天天综合| 成人免费午夜视频| 国产精品男人的天堂| 成年片色大黄全免费网站久久| 免费一级大毛片a一观看不卡| 欧美三級片黃色三級片黃色1| 国产精品网址在线观看你懂的| 国产精品女主播| 99视频精品全国免费品| 97成人在线视频| 色135综合网| 亚洲无码一区在线观看| 真实国产精品vr专区| 国产福利小视频在线播放观看| 亚洲欧美精品在线| 亚洲人妖在线| 97亚洲色综久久精品| 亚洲人成网站色7777| 日韩高清在线观看不卡一区二区| 无遮挡国产高潮视频免费观看 | 亚洲性日韩精品一区二区| 免费看黄片一区二区三区| 91视频精品| 亚洲综合在线网| 狠狠ⅴ日韩v欧美v天堂| 久久久久久久97| www.国产福利| 国产一区二区影院| 国产精品亚洲一区二区三区z| 国产粉嫩粉嫩的18在线播放91| 久久综合AV免费观看| 午夜一级做a爰片久久毛片| 免费无码又爽又黄又刺激网站| 538国产在线| www亚洲天堂| 精品伊人久久久大香线蕉欧美|