陳光曉,陳 輝,問靜波,宮 杰,陶 怡,范營營,李志剛
(1.西北工業大學 計算機學院,陜西 西安 710114;2.西安航天自動化股份有限公司,陜西 西安 710065)
據《2021全球農業生產力生產報告》,在未來的30年里,世界人口將不斷擴大和增長,對農產品的需求將會飆升[1]。與此同時,現階段農業生產水平和檢測、監管能力與人民群眾的安全要求仍有一定距離,農產品質量安全風險隱患和突發問題時有發生。因此,為保護消費者利益、為政府產品質量監管提供有效手段,有必要設計一個健康、可持續和包容的農產品溯源監管安全系統,一旦出現農產品質量安全問題,可通過產品標識代碼進行追溯,快速縮小發生安全問題的產品范圍,準確定位至問題產品的環節所在,直至追溯到生產的源頭,從而確保問題農產品高效而準確的召回,在實現農產品安全監管的同時,也可以提升企業自身產品競爭力。
但是,由于農產品全產業鏈生產的復雜性——在種植、采摘、倉儲、物流及銷售過程中涉及主體眾多、環節繁雜,在溯源數據收集、數據安全存儲及主體間信任存在積重難返的問題,使得農產品溯源建設發展緩慢。周潔紅等人[2]指出,受到信息不對稱和政府監管不足的影響,農產品生產企業容易采取機會主義行為,致使國內農產品質量安全溯源一直未能得到很好的發展。陳海等人[3]提到,產品的追溯數據采集錄入目前已建成的追溯體系都是由各參與方自己負責完成,這就不同程度地存在“信息孤島”問題,而且也面臨著數據造假、人為篡改的風險。在農產品溯源平臺建設方面,根據Hu Y等人[4]對國內外農產品可追溯性平臺的研究調查,目前尚在運行的可追溯系統或平臺的服務領域和服務目標相當狹窄,可持續服務能力薄弱,商業運行能力明顯落后,無論工業化水平如何,農產品建設尚未議程。
為解決當前農產品溯源系統數據獲取困難、數據安全性低、服務目標單一等問題,該文將物聯網、大數據和區塊鏈等新興計算機技術應用到農產品溯源中,為溯源應用賦能,以設計一個全產業鏈農產品數據采集的、安全可靠的、提供多元化服務的質量安全溯源系統。
(1)基于物聯網的全產業溯源。
在本溯源系統中,采用ZigBee、LoRa、RFID、二維碼和傳感技術等物聯網技術,并通過部署不同的IoT設備,構建農產品全產業鏈數據采集方案,解決了由于全產業鏈各參與主體之間的資源和技術差異,使得農產品源頭數據獲取困難[5]的問題,為實現可靠的溯源服務提供了堅實的底層技術支撐。
(2)基于區塊鏈的數據安全存儲。
通過在溯源中引入區塊鏈技術手段,解決了傳統的溯源技術中標準不一致、可信區塊鏈推進計劃無法體系化,各參與方難以互信的難題。同時區塊鏈去中心化的特性保障了數據的安全性和可追溯性,打造多中心、價值共享、利益公平分配的生態場景,使得用戶對產品流通各環節溯源校驗的信任度大大提升,優化了公眾監督的條件,提升了用戶感知。
(3)基于云平臺的溯源服務。
大數據云平臺實現對溯源數據的安全存儲、分析和計算,一方面保存了溯源數據的全部歷史,另一方面對數據進行精煉抽象,在提供農產品信息查詢的同時,還提供了溯源數據分析、接入設備管理等多元化的溯源服務。
隨著農產品生產越來越復雜,流通渠道日益精細化,產業鏈上的任何一個環節都有可能引發產品質量安全問題。因此,要為消費者提供一個安全和可信的農產品溯源平臺,首先溯源數據的采集和查詢需要覆蓋農產品從種植、采摘、倉儲、物流、銷售整個生命周期。而傳統的溯源系統,由于源頭數據獲取困難,無法完成農產品全產業鏈的數據采集,溯源環節連接松散,溯源數據較為單薄,導致消費者對產品情況不知就里。
其次,農戶作為全產業鏈上源頭個體,其種植管理、生產能力和效率直接影響到農產品質量。而傳統的溯源系統僅提供數據的存儲及查詢,缺乏對數據的挖掘和深入分析,使得農戶及相關專家無法洞悉作物生長狀態。所以,需要在云平臺開發數據分析和可視化功能,并建立信息多重反饋機制,利用種植、采摘及倉儲環節的信息為作物生長提供數據和技術支持,以提高質量和產量,為農戶生產發展注入源頭活水。
為保證農產品全產業鏈生產的透明度與可信度,還需要對農地管理、農產品生產、儲藏運輸和市場銷售等過程進行指標量化和全程監管,實現農產品品質檢測多維數據分析,進一步開發市場準入管理、產品質量安全預警等應用功能。監管工作的完成需要安全性的支持,而傳統的溯源平臺由于多采用集中式數據庫來存儲供應鏈信息,無法保證存入數據的安全性和可靠性[6],如何建立去中心化、安全可信的溯源系統也是一個亟待解決的問題。
本研究通過分別引入物聯網、云平臺和區塊鏈存證技術,完成農產品全產業鏈數據收集、溯源數據分析與查詢、溯源數據可信存儲。使農戶及生產環節工作人員可以通過客戶端接收種植、儲藏等生產建議,管理部門可通過電腦對農產品質量安全進行監管,用戶通過手機掃描二維碼可實現所購商品溯源,實現政府監督、企業管理、用戶溯源的快速介入服務,農產品質量安全監管與溯源系統功能形態圖如圖1所示。
(1)基于物聯網的全產業鏈數據收集。
將物聯網技術貫穿于農產品全產業鏈,從種植、采摘、倉儲、物流到銷售全部環節。利用ZigBee和LoRa組網技術,構建起農產品種植環境數據采集傳感器網絡,實現農田土壤溫濕度、光照等數據的獲取;基于RFID、二維碼等技術,設計農產品流通數據記錄系統,對農產品采摘、倉儲、物流、銷售等流通過程數據進行記錄。

圖1 農產品質量安全監管和溯源系統功能形態圖
(2)基于云平臺的溯源數據分析與查詢。
收集到的農產品全產業鏈質量安全數據,以直接和通過邊緣網關間接方式上報到云平臺。云平臺對數據進行處理、存儲并通過API接口對外提供服務,形成了集農產品信息采集、處理、分析及查詢為基礎的溯源服務體系。
(3)基于區塊鏈存證的溯源數據可信存儲。
提出一種數據共享模型,對農產品溯源過程中產生的關鍵質量安全數據,通過計算hash值生成數字指紋并存儲至農資區塊鏈,為企業與消費者之間建立可驗證信任機制,完成對全產業鏈農產品數據的可信溯源。
國際標準化組織(ISO)在ISO 22005:2007中給出的可追溯性的定義是“跟蹤飼料或食品經過生產、加工和分銷的特定階段的能力”[7]。在實際農業應用當中,農產品質量安全追溯系統是一種記錄和查詢系統,它記錄了特定農產品從生產到流通再到消費的整個活動過程。
一方面,為緩解對大面積農田信息采集的布線難度大、功耗高等問題,有必要根據環境特點和信息采集類型,通過布集異構傳感器網絡來構建農田信息采集系統,完成對不同農田環境、不同生產信息的采集。但由于異構網絡間無統一的通信協議標準和數據格式,加上設備和傳感器種類繁多,且大部分設備沒有IP通信能力,對數據的收集和融合有一定挑戰。為此,該研究通過引入邊緣網關,完成對不同場景不同協議所產生數據的解析、預處理及緩存等工作,同時解決云計算模型對數據采取統一上傳的集中式處理產生的延遲和功耗問題。
另一方面,要得到一個可靠的可追溯性結果,還必須要求供應鏈上的所有參與者都參與到產品的追溯過程并相互協調。而在整個生產和銷售農產品的過程中,參與方很少與下游企業進行信息交流[8],這就會加大溯源信息的采集難度,降低農產品可追溯性。該研究將二維碼和RFID標簽作為農產品在流通過程中信息記錄的載體,避過參與者直接詢問供應鏈發起方,提高了生產效率。與此同時,將農事信息、質檢信息等關鍵數據存儲至區塊鏈,提高了相關數據的可靠性,各環節人員可以放心地參與到溯源過程。
產地的生態環境是影響農產品質量的主要因素之一,對生產環境的管理主要是對農產品位置、土壤肥力、水和空氣等信息進行有效管理,為生產環境建立產前、產中、產后生產數據庫。ZigBee作為一種典型無線通信技術,憑借其多跳、自組織、低功耗的特性,很適合在應用中小區域農田數據采集與控制當中,若要對大面積的農田進行網絡覆蓋,則需要向網絡中加入更多節點完成更多跳的路由,不免會給網絡傳輸性能造成影響;LoRa作為一種新型網絡,在傳輸距離及傳輸方式上有了很大突破,通過應用擴頻調制技術與編解碼方案,在降低通信費用的同時,增加了鏈路的抗干擾性[9],從而與農業物聯網表現出了較高的契合性。該溯源系統在農產品產地分別構建了以LoRa和ZigBee為核心的農業種植信息采集網絡,通過全面采集農產品種植和生產過程土壤溫濕度和空氣溫濕度等信息,實現了農產品生產環境質量安全數據采集需求。
生產管理直接影響農產品的質量安全,因此收集正確而詳細的生產管理信息非常重要。需要對每個田間地塊分配科學合理的編號,記錄農產品品種、品級及種植地塊等信息,以及澆水、施肥、噴藥等農事操作信息,還包括流通和質檢等信息,從而構建起詳細而完整的生產管理數據庫,為農產品可追溯性提供基本數據。
(1)農事信息采集。
采用手機APP這一移動端管理平臺,為農戶提供便攜式實時農事操作記錄,特別是圖片信息的錄入,農戶通過自助申請注冊并通過管理員審核后即可使用。
(2)質檢信息采集。
使用API接口為農產品質量監管人員開放質檢信息錄入服務,監管人員通過PC端或者手機端,調用該API接口即可實現質檢數據的記錄與更新。
(3)流通信息采集。
采用RFID作為倉儲及物流信息的數據載體,企業人員或物流專員通過RFID讀寫器,對農產品入庫時的時間、位置及參與方等信息進行詳細記錄,同時對農產品的實效性進行更新,確保該產品可以在整個供應鏈中被自動和一致讀取。
(4)銷售數據采集。
考慮到銷售數據上報較為繁瑣,并且可能會牽扯到用戶隱私問題,該研究參考北京大學黃罡教授等人關于Android數據挖掘的研究[10-12],完成“銷售數據采集及接入”功能的開發,在實現數據開放的同時,降低時空及人力成本。
物聯網應用場景的典型特征是設備和傳感器種類繁多,節點之間無統一的通信協議標準和數據格式,且大部分設備沒有IP通信能力,無法直接進行云接入。雖然可以通過引入類似GPRS的遠程通信技術對其進行改造,賦予其IP通信的功能,將數據上傳至云,但這樣又會增加布線的時間和人力成本。同時,采用這種對數據統一上傳的集中式處理方式,面對設備和數據的爆發式增長時,系統會面臨如低延遲、高帶寬、實時分析、能耗、安全和隱私等方面的挑戰[13-15]。
該文將邊緣計算能力引入農業物聯網系統,其數據處理在靠近移動設備或傳感器一端進行,通過在本地終端設備上提供數據處理和存儲能力[16],一方面解決了物聯網設備的接入問題,同時也避免了數據集中式上傳到云平臺所引發的延遲和能耗等方面的問題。該邊緣網關可以完成對不同場景不同協議所產生數據的解析、預處理及緩存等工作,在無網絡或網絡狀況不佳時,在一定程度上仍舊能夠對農業物聯網數據的計算做出自主判斷、決策與執行操作。
圖2為云-邊系統的總體結構,其功能的實現包括邊緣網關的設計與實現和云端接入模塊的設計兩部分。邊緣網關可以完成多種不同類型的傳感設備的接入,此外該邊緣網關還具有數據預處理、設備控制、數據緩存及崩潰自啟動等功能。

圖2 云-邊系統的總體結構
2.3.1 邊緣網關的設計與實現
從物聯網網關接入來看,當前研究者只基于某一種特定的應用領域考慮,網關系統往往設計成單一的感知通訊接入方式[17],不能滿足各種異構通信協議設備接入網絡的需要。而物聯網是一種復雜的異構網絡,特別是農業物聯網,需要運用各種不同種類的傳感器、采集設備、傳感網絡,廣泛地采集農田種植、設施園藝、農產品物流、水產養殖等場景的現場信息[18],不可避免地要面臨異構設備組網、多源異構數據處理、決策支持等問題。
從現階段關于物聯網網關的研究及農業物聯網特點出發,該文基于計算機板卡進行邊緣網關的設計與實現,旨在能夠支持多種不同無線通信協議的接入,實現不同種類的農業設備、傳感器突破數據共享屏障,其EdgeX架構設計如圖3所示。

圖3 邊緣網關EdgeX架構設計
2.3.2 云端系統接入模塊的設計
該文采用MQTT通信協議制定邊緣網關和云數據中心的并發接入方案。MQTT是針對物聯網開發設計的新型輕量級基于TCP/IP協議之上的消息發布/訂閱傳輸協議,通過消息中間件(MQTT服務器)實現主題的訂閱和發布,對于低帶寬、低計算能力的設備,MQTT 進行了特殊的優化升級,能夠適應各式各樣的物聯網應用場景[19-20]。
傳統的農產品溯源系統多采用集中式數據庫來存儲和管理供應鏈數據,系統中心化嚴重,導致數據在記錄過程中出現易被人為篡改、信息易丟失等問題,系統在數據安全存儲方面面臨著巨大挑戰,因此,保證這類敏感數據能夠安全存儲,實現數據的公開透明化,提高數據的可信任性非常重要。
該文利用區塊鏈的去中心化、防篡改和時序性的特性,保證產品在流轉過程中的數據安全性問題,將農事信息、質檢信息等關鍵生產管理數據存儲至區塊鏈,通過在源頭設置權限,提高可信終端上鏈可信性,在過程中對關鍵數據哈希存證,獲取數據時從區塊鏈上獲取數字指紋對數據進行驗證[21]。
為進一步提高農產品質量溯源的安全性和準確性,完成關鍵數據的可信存儲,提出并設計了基于區塊鏈的數據共享模型,如圖4所示。

圖4 基于區塊鏈的數據共享模型
存儲數據時,數據通過云平臺存儲到數據庫中,部分關鍵數據如農事信息、質檢信息等,通過計算hash值生成數字指紋存儲至區塊鏈,關鍵數據存儲過程如圖5所示。
首先,普通節點如客戶端應用或物聯網設備需要從證書頒發機構(Certificate Authority,CA)獲取身份證書,通過區塊鏈網絡的邏輯決策,訪問修改區塊鏈賬本的權限開啟后,普通節點成為可信終端[22-23]。可信終端使用hash散列算法對關鍵數據計算數字摘要,生成與其對應的數字指紋。然后,使用私鑰對該數字指紋進行數字簽名,再根據時間戳標記加密數據的生成時間。最后,區塊鏈網絡節點驗證提案發起者身份合法并判斷提案發起者是否擁有相應權限,驗證通過后,將待上鏈數據寫入賬本,節點完成共識,數據同步到區塊鏈節點的其他賬本中。

圖5 關鍵數據上鏈存儲示意圖
在進行溯源查詢時,首先,根據前端頁面傳來的溯源碼,從數據庫中檢索出部分關鍵數據原文信息;然后,從區塊鏈中獲取相應數字指紋加密后的數據;最后,將hash處理后的原文與數字指紋進行比對驗證,根據一致性判斷來檢驗數據是否被篡改,保證溯源數據的安全性。
基于區塊鏈的Web系統架構如圖6所示。平臺在保證上層應用性能需求的同時,對接口進行抽象和封裝,支持用戶更靈活地構建應用,提供更多元化的溯源服務。系統將區塊鏈技術應用到農產品溯源服務中,將云平臺收集到的農事信息、質檢信息等關鍵數據上鏈,實現基于區塊鏈的農產品可信溯源。
服務器平臺搭建在一個安裝有MongoDB與MySQL數據庫的阿里云服務器上,并集成到由Spring Boot+MyBatis+Thymeleaf構建的開發框架中,實現服務器、應用、數據庫之間彼此交互,前端Web界面則是采用HTML5、CSS3和JavaScript等技術進行設計。該服務器平臺除完成農產品生產信息、農產品管理信息等數據的保存以外,還具有用戶管理、邊緣網關管理、終端設備管理、歷史數據展示及數據實時查詢等功能。
4.2.1 農事信息采集
農戶可以通過登錄網址或者采用便攜式手機APP這兩種操作方式,完成對農田或果園的信息管理及農事操作的記錄,利用區塊鏈不可篡改、可追溯的特性,后臺將該環節的具體信息進行上鏈,記錄在區塊鏈的共享賬本中。圖7展示了農田(果園)信息查看前端界面。

圖6 Web端平臺功能示意圖

圖7 PC端農田信息查看(左)、手機 APP農事信息錄入(右)
4.2.2 數據分析和可視化
通過對作物生長環境信息進行數據分析和可視化,使農戶及相關專家更好地洞悉作物生長狀態。圖8分別展示了云平臺的實時監控查看(左上)、歷史數據查看和下載(右上)、實時數據查詢(左下)和歷史數據可視化(右下)等功能。以此為基礎,目前正在進行作物生長模型的構建工作,即根據環境特點、土壤條件以及農作物栽培管理措施,定量描述作物生長、發育、成熟及產量等動態過程,為作物的種植和生產提供精準指導。
4.2.3 農產品溯源
該系統采用Zxing實現溯源二維碼的編解碼,通過對糧食、蔬菜及水果等不同門類的農產品進行溯源編碼,對每個產品單元賦予唯一標識,實現了與農產品與數字身份的一一對應。用戶通過微信或瀏覽器“掃一掃”該二維碼,即可查看該農產品的區塊鏈證書,從而獲取相應的農事信息、質檢信息等溯源信息,實現對農產品的一物一碼追溯。圖9展示了對周至獼猴桃這一農產品進行掃碼追溯得到的溯源信息。

圖8 實時監控查看(左上)、歷史數據查看和下載(右上)、實時數據查詢(左下)、歷史數據可視化(右下)

圖9 溯源平臺前端界面
當前,平臺已經完成系統開發與部署工作,正在實現對蘋果、獼猴桃、甘藍等農產品的信息上鏈溯源。系統通過提供農產品數據分析及可視化、農產品信息溯源等功能,保證了信息透明和消費安全,將極大地滿足農產品監管機構和廣大百姓對農產品質量安全溯源的訴求。
以提高農產品生產質量,保障農產品質量安全為目的,同時解決傳統農產品溯源系統數據收集困難、數據安全性低、溯源平臺服務單一等缺點,設計和搭建了一個農產品質量安全監管與溯源系統,該系統主要具有以下功能:
(1)將物聯網技術貫穿于農產品全產業鏈從種植、采摘、倉儲、物流到銷售全部環節,完成產業鏈數據的采集,解決了源頭數據獲取困難的問題。
(2)通過引入大數據云平臺,完成了對溯源數據的匯聚、分析及可視化,解決了傳統農產品溯源系統只提供單一的查詢服務的弊端,同時將邊緣計算能力引入網關,實現多種無線通信協議的接入,同時避免了云計算在處理大量數據時面臨的延遲和能耗等問題。
(3)提出一種基于區塊鏈的數據共享模型,將農產品在生產加工過程中產生的關鍵數據上鏈,從區塊鏈上獲取質量安全數據時進行身份驗證,提升了追溯信息的透明性和可信度。