路順濤 馬奉先 郭驊
【摘要】 隨著農業(yè)信息化技術的發(fā)展,農業(yè)移動終端因其便攜性受到廣泛重視和應用。但目前還沒有專門適用于農業(yè)信息化領域的數據同步技術和協議,這大大限制了農業(yè)移動終端的功能?;诖?,本文結合農業(yè)信息化工程應用實踐,基于SyncML協議研究了適用于農業(yè)領域的數據同步協議,提出了一種農業(yè)數據同步數據標準,并在Android平臺下實現了移動終端數據同步軟件的開發(fā)。
【關鍵詞】 Android平臺 SyncML協議 同步技術
一、研究背景
近年來,國家從政策和資金層面對現代農業(yè)的支持,有力推動了相關企業(yè)和科研院所的技術研究,極大的促進了農業(yè)信息化的發(fā)展?,F在,農業(yè)生產人員可以使用電腦等設備管理農業(yè)生產。但是電腦體積較大,不便于攜帶,部分農民缺乏基本電腦操作技能,這限制了電腦在農業(yè)中的應用范圍。而手機具有體積小、便于攜帶和操作簡便的優(yōu)點,在有條件的地區(qū),手機等電子設備已經被應用于農業(yè)生產實踐,生產人員可用手機實現對環(huán)境信息的采集,并控制溫室機構,從而調節(jié)溫室環(huán)境,促進作物生長。
比如:在內蒙古通遼市奈曼旗,339個溫室大棚安裝了多功能農業(yè)環(huán)境信息數據采集儀,可將大棚空氣溫度、濕度及土壤溫度、濕度等數據通過短信方式發(fā)送到菜農的手機上,并可實現遠程監(jiān)控[1];南京農業(yè)大學為江蘇常熟市董浜鎮(zhèn)農技推廣服務中心開發(fā)了手機終端,可通過3G網絡實時監(jiān)測溫室環(huán)境參數與控制溫室設備。這些農業(yè)移動終端可實現實時監(jiān)測和控制,但不具備大量數據的在線同步功能。
隨著精準農業(yè)向專業(yè)化、精細化發(fā)展,海量數據同步與數據在線分析對于農業(yè)生產、流通各個環(huán)節(jié)變得不可或缺。因此,研究農業(yè)數據同步技術非常重要?;诖耍疚耐ㄟ^在對農業(yè)移動管理終端中的數據同步方法進行研究,基于SyncML國際標準數據同步協議,提出一種具備通用性的農業(yè)移動終端數據同步協議和標準數據格式,并在農業(yè)信息化工程實踐中應用。
二、SyncML標準協議
SyncML協議由IBM、Lotus和Motorola等商家組織發(fā)起成立的數據同步論壇SyncML發(fā)起組制定的,從2000年12月SyncML1.0發(fā)布以來,已經有近700家的公司宣布支持該協議。
SyncML是synchronization markup language(同步標記語言)的簡寫,該協議基于XML語言。它是一套協議集,主要包括4個部分:SyncML數據同步協議的框架結構,SyncML同步協議、SyncML表示協議、SyncML的傳輸方式。SyncML同步協議主要定義了數據同步操作的會話過程中的數據流程,同步雙方的握手過程,數據同步操作的類型等;SyncML表示協議主要涉及同步所支持的數據類型、命令格式,能在各種網絡中傳輸的SyncML消息格式;SyncML消息可以在任何一種有線和無線的網絡連接上傳輸,在SyncML協議的傳輸綁定中定義了可以在基于HTTP、WSP、OBEX三種協議的網絡連接上傳輸SyncML包和消息[2][3],如下圖所示。
三、農業(yè)數據同步協議設計
基于SyncML標準體系架構,結合農業(yè)信息化工程應用實際,采用服務器/客戶端架構。協議的傳輸層采用HTTP協議,物理層由因特網承載。在該系統實現中,同步引擎模塊由Funambol開發(fā)包提供,該開發(fā)包提供了系統為同步策略和解決沖突所需要的設置。為保持SyncML協議對不同傳輸協議的兼容,本同步系統中采用HTTP1.1協議同步傳輸數據。傳輸層模塊的另一功能是將要發(fā)送的數據和命令封裝成XML格式,將接收到的XML格式的數據包解析成SyncML格式,便于讀取其相應的數據和命令。
農業(yè)數據同步模塊主要負責從移動終端的本地數據庫讀取數據與傳輸數據結構,對于本系統而言,即本地數據庫的數據存儲格式與vACD格式的轉換,包括增加、刪除、修改等。如圖1所示:
服務器端所有變量采用GUID(全局ID),客戶端采用LUID(本地ID),GUID集可以大于LUID,所有同類型的數據以一對一映像關系存儲在服務器和客戶端。同步錨有Last和Next兩種,在同步會話的初始化時發(fā)送同步錨,Last同步錨發(fā)送設備點的最后同步事件,Next同步錨發(fā)送設備點的當前時間。在客戶端和服務器互相發(fā)送同步錨。在接收到Next同步錨后,接收設備必須保存該同步錨,直至下次同步。
四、數據標準格式設計
農業(yè)工程應用中,部署在現場的傳感器和執(zhí)行器分別完成采集數據和控制環(huán)境調控裝備(如風機、灌溉、通風和遮陽)等功能,可采用有線或者無線方式。網關管理傳感器和執(zhí)行器,具備數據采集、匯聚、控制和反饋等功能。服務器與網關間采用局域網方式部署,本系統中的SyncML服務器端程序也運行在此服務器上。SyncML客戶端可以是手機等終端設備,實現對農業(yè)信息的遠程同步等功能。
目前,SyncML能夠同步通訊錄、日歷、任務安排和備忘錄等信息,相應的支持vCard、vCalendar、vNote等格式[4],這些數據格式與農業(yè)數據有較大區(qū)別,因此本文提出一種農業(yè)數據同步格式:vACD(Agriculture Command Data),譯為農業(yè)命令和數據格式。
農業(yè)數據格式中須有以下字段,傳感器和執(zhí)行器ID識別號、數據(指令)分類號、數據長度、數據內容、時間標識和校驗碼等。在農業(yè)規(guī)?;N植系統中,需要對分布在廣泛區(qū)域內的多個基地實現統一管理,依據系統擴展性的需要,在數據格式中增加基地識別號字段。
五、系統實現
谷歌公司于2013年6月推出了Android開發(fā)環(huán)境Android Studio。本文采用Android Studio集成開發(fā)環(huán)境,Android SDK 2.2版本,運行于Windows 8平臺。
本系統基于開源項目Funambol。該平臺的同步服務器基于J2EE平臺,采用Java語言開發(fā),由于Java語言具有跨平臺的特點,因此可以部署在多種操作系統平臺之上。該開源項目還給開發(fā)者提供了SyncML協議開發(fā)所需的同步服務器和同步客戶端公共開發(fā)包[3]。
用戶界面負責跟用戶之間的交互,它的好壞決定了用戶的使用效率和體驗。本系統按android的組件關系進行設計,用到的活動(Activity)有網絡協議連接活動,數據同步活動,最新數據和歷史數據顯示活動,閉環(huán)控制活動等。主要界面如圖2所示:
六、結語
本研究課題針對智能農業(yè)的應用,提出了一種在農業(yè)生產中基于分布式協作模式的數據同步方法,在SyncML協議架構基礎上,通過研究新型數據同步錨、農業(yè)數據同步模塊、數據格式標準和實現方法,開發(fā)了基于Android平臺的數據同步客戶端應用程序。結果表明,本文提出的平臺及實現方法能夠滿足農業(yè)云數據同步的需求,對智能農業(yè)信息化領域的數據同步具有較好的實踐意義。
參 考 文 獻
[1] 艾偉. 基于Android智能手機的溫室環(huán)境監(jiān)控技術的研究[D]. 宜昌:三峽大學,2012
[2] Funambol.Funambol Developers Guide version 8.7[EB/OL]. http://www.funambol.com/
[3] 黨海濤. SyncML協議研究及其在Android上的實現. 哈爾濱:哈爾濱工業(yè)大學,2011.26頁
[4] 劉會. SE-SyncML數據同步模型設計及其在PIM中的應用[D]. 北京:北京郵電大學,2008
[5] 蔡菁. 基于Android平臺的數據同步技術的研究與實現[D]. 重慶:重慶郵電大學,2011