王英強,陳綏陽,王振鐸
(西安思源學(xué)院電子信息工程分院,陜西西安710038)
我國自古以來就是農(nóng)業(yè)大國,非常重視農(nóng)業(yè)的生產(chǎn)。隨著我國經(jīng)濟的發(fā)展,農(nóng)業(yè)經(jīng)濟狀況也發(fā)生了很大的變化,例如:農(nóng)業(yè)人口、經(jīng)濟狀況、產(chǎn)業(yè)結(jié)構(gòu)、農(nóng)作物種類等等。為了保證農(nóng)業(yè)生產(chǎn)的穩(wěn)定,了解農(nóng)業(yè)生產(chǎn)的現(xiàn)狀,農(nóng)業(yè)數(shù)據(jù)統(tǒng)計工作特別是基層農(nóng)業(yè)數(shù)據(jù)統(tǒng)計,成為國家統(tǒng)計部門的重要工作之一。與此同時,云計算、大數(shù)據(jù)等信息技術(shù)成為當(dāng)前的熱門話題。大數(shù)據(jù)是結(jié)構(gòu)復(fù)雜、內(nèi)容多樣的海量數(shù)據(jù),具有規(guī)模大、種類多、處理速度要求高、數(shù)據(jù)價值密度低等特[1],一般認為有認為大數(shù)據(jù)需要滿足3個特點:規(guī)模性(volume),多樣性(variety)和高速性(velocity)。以國際數(shù)據(jù)公司IDC為代表的認為大數(shù)據(jù)應(yīng)該還具有的是價值性(value)[2],而以IBM為代表的則認為大數(shù)據(jù)還應(yīng)具有真實性(veracity)[3]。目前,農(nóng)業(yè)大數(shù)據(jù)成為大數(shù)據(jù)應(yīng)用的一個重要分支。
農(nóng)業(yè)大數(shù)據(jù)是指以大數(shù)據(jù)分析為基礎(chǔ),運用大數(shù)據(jù)的理念、技術(shù)及方法來處理農(nóng)業(yè)生產(chǎn)銷售整個鏈條中所產(chǎn)生的大量的數(shù)據(jù),從中得到有用信息以指導(dǎo)農(nóng)業(yè)生產(chǎn)經(jīng)營、農(nóng)產(chǎn)品流通和消費的過程[4-5]。目前,我們國家也進行了農(nóng)業(yè)大數(shù)據(jù)的相關(guān)研究。文獻[6]闡述了農(nóng)業(yè)大數(shù)據(jù)研究對于我們國家具有重要的戰(zhàn)略意義:為政府決策當(dāng)智囊,為企業(yè)管理做支撐,為學(xué)科發(fā)展建平臺,為管理升級提供手段。文獻[7]結(jié)合農(nóng)業(yè)自身的特點,分析了大數(shù)據(jù)在農(nóng)業(yè)上的需求、主要應(yīng)用領(lǐng)域及其在智慧農(nóng)業(yè)中的關(guān)鍵地位。文獻[8]分析設(shè)計了農(nóng)業(yè)大數(shù)據(jù)應(yīng)用體系架構(gòu),并設(shè)計了農(nóng)業(yè)大數(shù)據(jù)智能分析平臺,分析了平臺的總體架構(gòu)、功能設(shè)計及技術(shù)實現(xiàn)。與此同時,我們國家也開始進行農(nóng)業(yè)大數(shù)據(jù)的實踐,以山東農(nóng)業(yè)大學(xué)為首的部分高校已經(jīng)開始進行農(nóng)業(yè)大數(shù)據(jù)的研究和應(yīng)用。在河北省廊坊市,軟通動力的團隊在做著基于大數(shù)據(jù)的“智慧農(nóng)業(yè)”嘗試[9]。
但是,在農(nóng)業(yè)大數(shù)據(jù)的實施過程中,尤其在農(nóng)業(yè)統(tǒng)計數(shù)據(jù)的采集與獲取方面,仍然存在很多的問題:
1)很多區(qū)域信息化程度不足。部分基層的統(tǒng)計部門在開展農(nóng)業(yè)統(tǒng)計工作時仍然采用手工登記、手工匯總的方式來進行,統(tǒng)計手段落后。尤其是在當(dāng)前信息化時代的大背景下,統(tǒng)計數(shù)據(jù)的數(shù)據(jù)量呈現(xiàn)幾何式的增長,落后的統(tǒng)計手段使統(tǒng)計結(jié)果的質(zhì)量難以得到保障[10-11]。
2)農(nóng)業(yè)大數(shù)據(jù)來源不足。目前農(nóng)業(yè)統(tǒng)計數(shù)據(jù)采集方式多為層層上報,時效性差;并且數(shù)據(jù)采集多以任務(wù)方式下達,積極主動性不強;統(tǒng)計結(jié)果分布在各類農(nóng)業(yè)網(wǎng)站,并且為多種格式的數(shù)據(jù),未能收集和匯總;已有的采集渠道,相互獨立,未能得到充分利用等等[12-13]。
3)農(nóng)業(yè)統(tǒng)計數(shù)據(jù)種類繁多,結(jié)構(gòu)復(fù)雜,導(dǎo)致數(shù)據(jù)難以分析利用。目前農(nóng)業(yè)統(tǒng)計數(shù)據(jù)的來源有:紙質(zhì)、Word文檔、電子表格、數(shù)據(jù)庫等;而數(shù)據(jù)類型主要包括結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù)[14]。這些復(fù)雜的數(shù)據(jù)無法直接進行統(tǒng)計分析。因此需要對不同數(shù)據(jù)來源的各種數(shù)據(jù)進行處理,統(tǒng)一格式,建立數(shù)據(jù)轉(zhuǎn)換標(biāo)準(zhǔn);對異構(gòu)數(shù)據(jù)庫的匯集整理,通過對數(shù)據(jù)的抽取、轉(zhuǎn)換、關(guān)聯(lián)、標(biāo)識等過程,建立一個安全、可靠、穩(wěn)定、高效的數(shù)據(jù)中心,同時,還需對價值不大,或不感興趣的數(shù)據(jù),以及故障數(shù)據(jù)、異常數(shù)據(jù)進行剔除和清理[15]。
文中針對當(dāng)前農(nóng)業(yè)統(tǒng)計數(shù)據(jù)的采集、分析的現(xiàn)狀所存在的問題,提出了農(nóng)業(yè)統(tǒng)計數(shù)據(jù)采集移動平臺。本平臺將移動互聯(lián)網(wǎng)絡(luò)與農(nóng)業(yè)統(tǒng)計數(shù)據(jù)采集相結(jié)合,利用移動網(wǎng)絡(luò)通過智能手機APP進行數(shù)據(jù)采集,并通過異構(gòu)數(shù)據(jù)處理中間件對其他來源的數(shù)據(jù)進行處理,主要實現(xiàn)以下功能:
1)實現(xiàn)數(shù)據(jù)實時傳輸。基層統(tǒng)計人員通過網(wǎng)絡(luò)將數(shù)據(jù)進行上報,避免使用紙質(zhì)人工報送的方式,提高數(shù)據(jù)采集的效率。
2)提高數(shù)據(jù)的正確性。在基層統(tǒng)計人員上報數(shù)據(jù)時,可以設(shè)定數(shù)據(jù)填報的范圍,進行數(shù)據(jù)驗證,從而避免填報一些不合理的數(shù)據(jù),提高了數(shù)據(jù)的正確性。
3)提高數(shù)據(jù)統(tǒng)計的效率。通過信息化的方式,可以根據(jù)統(tǒng)計方式自動進行統(tǒng)計計算,可以大大的提高統(tǒng)計的效率。
本平臺具有以下創(chuàng)新:
1)易用性。本設(shè)計本平臺時,充分利用4G移動網(wǎng)絡(luò),采用移動手機軟件進行農(nóng)業(yè)統(tǒng)計數(shù)據(jù)的采集,可以讓工作人員隨時隨地的進行數(shù)據(jù)的填報,提高數(shù)據(jù)采集效率。
2)可靠性。對于一個平臺,數(shù)據(jù)的安全是至關(guān)重要的。在本平臺中,具備完善的權(quán)限管理和數(shù)據(jù)備份機制,從數(shù)據(jù)庫層面保證了數(shù)據(jù)的安全性。在用戶使用系統(tǒng)時,要對用戶進行嚴(yán)格認證,避免非法用戶登錄。
3)靈活性。在本平臺中,采用異構(gòu)數(shù)據(jù)處理中間件,對不同結(jié)構(gòu)的數(shù)據(jù)進行提取、轉(zhuǎn)換、清理、標(biāo)識、關(guān)聯(lián)等處理,形成格式統(tǒng)一的數(shù)據(jù),解決農(nóng)業(yè)統(tǒng)計數(shù)據(jù)來源分散,數(shù)據(jù)結(jié)構(gòu)不統(tǒng)一的問題,為后期的分析提供基礎(chǔ)
在本節(jié)中,主要介紹平臺結(jié)構(gòu)、系統(tǒng)設(shè)計、移動客戶端APP設(shè)計、后臺數(shù)據(jù)管理系統(tǒng)以及用戶的權(quán)限設(shè)計。
通過分析,本平臺主要由3部分組成:
1)數(shù)據(jù)庫服務(wù)器、Web Service服務(wù)器。
2)移動客戶端應(yīng)用程序。
3)后臺數(shù)據(jù)管理系統(tǒng)。
基層工作人員通過使用移動終端的數(shù)據(jù)采集APP進行數(shù)據(jù)的采集、上報;在數(shù)據(jù)上報時,移動終端通過調(diào)用Web Service公布的數(shù)據(jù)庫接口,將數(shù)據(jù)存入到數(shù)據(jù)服務(wù)器中;管理人員可以通過后臺數(shù)據(jù)管理系統(tǒng)對上報的數(shù)據(jù)進行審核、基礎(chǔ)數(shù)據(jù)進行維護。本平臺的每一個組成部分是有機地結(jié)合在一起,協(xié)同進行工作。本平臺的網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計如圖1所示。
圖1 平臺網(wǎng)絡(luò)結(jié)構(gòu)圖
為了滿足基層農(nóng)業(yè)統(tǒng)計數(shù)據(jù)的采集上報的需求,提高系統(tǒng)平臺的數(shù)據(jù)處理效率,遵循軟件開發(fā)的先進性、易用性、可靠性、靈活性、擴充性的原則[16-17],本平臺的系統(tǒng)結(jié)構(gòu)圖如圖2所示。
圖2 系統(tǒng)結(jié)構(gòu)圖
下面對各個組成部分在系統(tǒng)中的作用進行說明:
1)數(shù)據(jù)庫服務(wù)器、Web Service服務(wù)器:數(shù)據(jù)庫服務(wù)器主要用于存儲上報的農(nóng)業(yè)統(tǒng)計數(shù)據(jù),并且按照年份對數(shù)據(jù)進行區(qū)分。Web Service服務(wù)器:公布了訪問數(shù)據(jù)庫的各種接口方法,即移動客戶端APP通過調(diào)用數(shù)據(jù)庫訪問接口,主要用于移動客戶端APP與數(shù)據(jù)庫服務(wù)器之間的數(shù)據(jù)交換,實現(xiàn)對數(shù)據(jù)的上報、修改、瀏覽等功能。
2)移動客戶端APP:主要實現(xiàn)數(shù)據(jù)的采集填報,包括數(shù)據(jù)采集填報、歷史上報數(shù)據(jù)查看、數(shù)據(jù)傳輸、審核、消息提醒、個性化報表設(shè)置等主要模塊。
3)后臺基礎(chǔ)數(shù)據(jù)管理系統(tǒng):主要對本平臺的基礎(chǔ)數(shù)據(jù)、后臺業(yè)務(wù)進行管理,包括:數(shù)據(jù)審核、組織機構(gòu)管理、農(nóng)作物信息、報表管理、用戶管理、權(quán)限管理等主要模塊。
在平臺中,數(shù)據(jù)庫負責(zé)農(nóng)業(yè)統(tǒng)計數(shù)據(jù)的存儲、管理,隨著時間的推移,最終形成歷史數(shù)據(jù)庫,并且為了方便以后數(shù)據(jù)的統(tǒng)計分析,對數(shù)據(jù)按照年限、季度進行標(biāo)記。本平臺的數(shù)據(jù)庫主要包含以下幾張表:用戶表(User)、農(nóng)產(chǎn)品表(ProductInfo)、用戶農(nóng)產(chǎn)品表(UserProduct)、農(nóng)產(chǎn)品統(tǒng)計數(shù)據(jù)采集表(Product-Data)、農(nóng)業(yè)統(tǒng)計數(shù)據(jù)采集年份季度表(UploadDate-Node)、信息表(Message)、區(qū)域表(AreaInfo)。本平臺的數(shù)據(jù)庫結(jié)構(gòu)如圖3所示。
圖3 數(shù)據(jù)庫結(jié)構(gòu)圖
WebService服務(wù)主要完成數(shù)據(jù)庫服務(wù)器與移動客戶端APP之間的數(shù)據(jù)交換與通訊,即數(shù)據(jù)的上報、修改、瀏覽等功能。在WebService中,公布了移動客戶端APP訪問數(shù)據(jù)庫的各種接口方法。移動客戶端APP通過調(diào)用WebSerivice的數(shù)據(jù)庫訪問接口,對數(shù)據(jù)庫中的數(shù)據(jù)進行增加、修改、刪除、查詢等。為了保證WebSerivice架構(gòu)服務(wù)器能夠順利的訪問到數(shù)據(jù)庫服務(wù)器,需要WebSerivice服務(wù)器與數(shù)據(jù)庫服務(wù)器在同一個局域網(wǎng)絡(luò)中。
本平臺的WebService服務(wù)主要實現(xiàn)了用戶信息查詢(QueryUserInfo)、查詢農(nóng)產(chǎn)品統(tǒng)計數(shù)據(jù)(QueryProductData)、插入修改(OperaProductData)等數(shù)據(jù)庫訪問接口,如表1所示。
表1 WebService數(shù)據(jù)庫訪問接口
在通過對業(yè)務(wù)進行詳細的需求分析之后,移動客戶端APP主要實現(xiàn)4個功能模塊:數(shù)據(jù)采集上報、歷史查看、消息提醒、個性化報表設(shè)置。下面對每個模塊的主要功能進行說明:
1)數(shù)據(jù)填報:本模塊實現(xiàn)農(nóng)業(yè)統(tǒng)計數(shù)據(jù)的上報、查看、修改。
2)歷史查看:本模塊主要實現(xiàn)用戶查看其上報的統(tǒng)計數(shù)據(jù),并允許根據(jù)上級的審核意見對上報的數(shù)據(jù)進行修改。
4)提醒功能:本模塊實現(xiàn)調(diào)查進度、時間安排、數(shù)據(jù)反饋的提醒推送功能,從而提醒工作人員及時對數(shù)據(jù)進行上報、修改。
5)個性化報表設(shè)置:在本模塊中,用戶根據(jù)農(nóng)作物種植實際情況,對統(tǒng)計項目進行選擇加載,去除自己區(qū)域內(nèi)不需要填寫的調(diào)查項目,形成個性化表格。
為了支持移動端應(yīng)用程序的使用,需要對平臺的基礎(chǔ)數(shù)據(jù)進行管理,例如:組織機構(gòu)、農(nóng)作物、用戶、報表等進行管理。后臺數(shù)據(jù)管理系統(tǒng)主要包含的模塊有:數(shù)據(jù)審核、數(shù)據(jù)匯總、組織機構(gòu)管理、農(nóng)作物管理、報表管理、用戶管理等。下面對每個模塊的主要功能進行說明:
1)數(shù)據(jù)審核:本模塊主要實現(xiàn)上級管理人員對基層工作人員、下一級的工作人員上報的數(shù)據(jù)進行審核。
2)數(shù)據(jù)匯總:在本模塊中,根據(jù)下級所填報的數(shù)據(jù),自動形成匯總報表,并且將匯總數(shù)據(jù)自動與去年同期數(shù)據(jù)對比,當(dāng)數(shù)據(jù)波動超過10%時,進行提示。
3)組織管理:本模塊主要對本平臺的各級組織進行管理,例如:市區(qū)、村鎮(zhèn)、街道等進行管理。
4)農(nóng)作物管理:本模塊主要針對在本區(qū)域中所播種的農(nóng)作物品種進行管理。
5)報表管理:本模塊主要對填報的統(tǒng)計報表進行管理。
6)用戶管理:本模塊主要對系統(tǒng)的用戶進行增加、修改、刪除等管理。
本平臺的使用用戶數(shù)量眾多,為了保證平臺運行的穩(wěn)定,以及數(shù)據(jù)的正確、完整及安全,對本系統(tǒng)的用戶進行了劃分,主要分為:基層工作人員、上級管理人員、系統(tǒng)管理員。在本平臺中,他們各自的作用如下:
1)基層工作人員。這一部分用戶是系統(tǒng)的主要使用人員具有數(shù)量多、所在的地域范圍廣、受教育程度層次不齊等特點。他們主要使用本平臺的移動終端應(yīng)用程序進行數(shù)據(jù)的采集、上報。
2)上級管理人員。上級管理人員可以有多個層級,例如:鄉(xiāng)鎮(zhèn)級、區(qū)級管理員等。這一部分用戶主要是對區(qū)域內(nèi)上報的數(shù)據(jù)進行審核,檢查數(shù)據(jù)是否規(guī)范、合理、正確,并對數(shù)據(jù)進行統(tǒng)計,形成本區(qū)域的農(nóng)業(yè)數(shù)據(jù)統(tǒng)計結(jié)果。
3)系統(tǒng)管理員。作為本平臺的系統(tǒng)管理員擁有整個系統(tǒng)最高的權(quán)限,主要負責(zé)系統(tǒng)的安全、維護等工作,例如:用戶管理、權(quán)限管理等。
本平臺的用戶權(quán)限框架圖如圖4所示。
圖4 系統(tǒng)權(quán)限框架圖
本系統(tǒng)的實現(xiàn)主要采用以下技術(shù):數(shù)據(jù)庫服務(wù)器采用 SQL Server2012,WebService采用 Visual Studio 2015,移動終端APP采用Eclipse進行開發(fā)。在本文中給出,以移動終端APP的數(shù)據(jù)采集上報為例,給出其實現(xiàn)過程。
其主要的實現(xiàn)代碼如下:
數(shù)據(jù)采集界面如圖5所示。
圖5 數(shù)據(jù)采集界面
文中針對農(nóng)業(yè)數(shù)據(jù)采集存在的效率低、錯誤率高、采集困難、來源不足、種類繁多等問題進行分析,提出了基于移動終端的農(nóng)業(yè)統(tǒng)計數(shù)據(jù)采集移動平臺的解決方案,以實時采集、定時提醒、定制式統(tǒng)計報表等策略,有效解決了這些問題。平臺運行穩(wěn)定,功能完善,實現(xiàn)了農(nóng)業(yè)統(tǒng)計數(shù)據(jù)采集的信息化管理,有效提高了數(shù)據(jù)采集及統(tǒng)計分析的工作效率。