魏雅
摘 ? 要:針對(duì)食品質(zhì)量安全問題,結(jié)合目前各地區(qū)溯源系統(tǒng)中存在的問題,以豬肉溯源為例,設(shè)計(jì)了豬肉溯源系統(tǒng)。系統(tǒng)從生豬的養(yǎng)殖、屠宰、加工、運(yùn)輸,最終到零售,進(jìn)行各環(huán)節(jié)設(shè)計(jì),實(shí)現(xiàn)了豬肉全程追蹤和溯源功能。重點(diǎn)設(shè)計(jì)研究了Web平臺(tái),二進(jìn)制樹搜索算法,數(shù)據(jù)庫(kù)等,最終實(shí)現(xiàn)了系統(tǒng)要求的全部功能。
關(guān)鍵詞:物聯(lián)網(wǎng);溯源系統(tǒng);通信技術(shù);二進(jìn)制樹搜索算法
隨著人們生活水平的提高,對(duì)食品質(zhì)量安全的需求愈加凸顯,從國(guó)家到地方,都高度重視食品質(zhì)量安全監(jiān)管及追溯。豬肉作為人們舌尖上的一道美食,更應(yīng)該保證其食用安全性。所以建立一套基于物聯(lián)網(wǎng)的豬肉跟蹤與溯源系統(tǒng),不但能讓消費(fèi)者買得放心、吃得放心,還能加強(qiáng)企業(yè)的監(jiān)管力度,提高國(guó)民收入,保障國(guó)家安全穩(wěn)定。本系統(tǒng)在前人研究的基礎(chǔ)上稍作改進(jìn),在保障豬肉質(zhì)量和控制豬肉安全方面,具有現(xiàn)實(shí)意義。
1 ? ?系統(tǒng)功能設(shè)計(jì)
1.1 ?系統(tǒng)架構(gòu)
本系統(tǒng)按照典型的物聯(lián)網(wǎng)的感知層、網(wǎng)絡(luò)層、應(yīng)用層3層模式設(shè)計(jì)。系統(tǒng)采用B/S架構(gòu),圍繞著數(shù)據(jù)庫(kù)進(jìn)行系統(tǒng)的構(gòu)建。
(1)感知層:通過傳感器等智能終端,對(duì)豬個(gè)體、豬肉及物流的信息進(jìn)行采集,同時(shí),接收上層網(wǎng)絡(luò)發(fā)送來的控制信息,完成相應(yīng)的執(zhí)行動(dòng)作,還可以進(jìn)行短距離無線通信。
(2)網(wǎng)絡(luò)層:由互聯(lián)網(wǎng)、移動(dòng)通信網(wǎng)、網(wǎng)絡(luò)管理等組成,是整個(gè)物聯(lián)網(wǎng)的中樞。負(fù)責(zé)傳遞和處理感知層獲取的信息,使物體能進(jìn)行遠(yuǎn)距離、大范圍的通信。
(3)應(yīng)用層:是物聯(lián)網(wǎng)和用戶的接口,用戶借助Web客戶端和手機(jī)端,完成對(duì)豬個(gè)體及豬肉信息的匯總、分析、查詢等功能。用戶可根據(jù)溯源系統(tǒng)的數(shù)據(jù)鑒定豬肉質(zhì)量,實(shí)現(xiàn)人機(jī)交互功能,為消費(fèi)者提供放心服務(wù)。企業(yè)可以對(duì)不同環(huán)節(jié)的數(shù)據(jù)分析,來調(diào)節(jié)養(yǎng)殖業(yè)和豬肉的供應(yīng)情況,獲取最大利潤(rùn)。
1.2 ?系統(tǒng)功能模塊設(shè)計(jì)
系統(tǒng)采用強(qiáng)大的物聯(lián)網(wǎng)技術(shù)、射頻識(shí)別(Radio Frequency IDentification,RFID)技術(shù)、常用的二維碼技術(shù)以及具有跨平臺(tái)、不受操作系統(tǒng)和開發(fā)平臺(tái)制約的Java語言完成動(dòng)態(tài)Web的開發(fā)[1]。詳細(xì)設(shè)計(jì)MySQL數(shù)據(jù)庫(kù)存儲(chǔ)采集到的信息以被溯源查詢,采用二進(jìn)制樹搜索算法來提高RFID標(biāo)簽識(shí)別效率。開發(fā)Android手機(jī)平臺(tái)客戶端、PC端,實(shí)現(xiàn)豬肉溯源系統(tǒng)的系統(tǒng)管理、信息維護(hù)、信息查詢模塊功能,完成對(duì)生豬養(yǎng)殖信息、屠宰加工信息、檢疫檢驗(yàn)信息、物流倉(cāng)儲(chǔ)信息、銷售信息的錄入與修改,實(shí)現(xiàn)信息查詢的功能。系統(tǒng)總體設(shè)計(jì)如圖1所示。
2 ? ?系統(tǒng)關(guān)鍵技術(shù)
2.1 ?射頻識(shí)別技術(shù)
射頻識(shí)別技術(shù)是物聯(lián)網(wǎng)構(gòu)建的關(guān)鍵技術(shù),其系統(tǒng)由電子標(biāo)簽、天線、讀寫器和數(shù)據(jù)處理部分構(gòu)成。因其有識(shí)別迅速、形狀大小不受限制、操作性比較強(qiáng)、比較耐用、抗干擾能力較強(qiáng)、存儲(chǔ)信息量大、存儲(chǔ)信息可以隨意修改等優(yōu)點(diǎn),被廣泛應(yīng)用于智慧交通、智慧城市、智能圖書館、物流運(yùn)輸、醫(yī)藥及食品生產(chǎn)等行業(yè),且效果顯著。RFID在豬肉溯源系統(tǒng)中的應(yīng)用如圖2所示。其中,實(shí)線箭頭表示追蹤過程,虛線箭頭表示追溯過程。
2.2 ?RFID防碰撞算法研究
2.2.1 ?防碰撞現(xiàn)象
在RFID系統(tǒng)應(yīng)用中,碰撞分為標(biāo)簽碰撞和讀寫器碰撞兩種。在發(fā)送信息和接收信息過程中,本來在特定時(shí)間,只能是一個(gè)標(biāo)簽與對(duì)應(yīng)閱讀器建立通信,但在系統(tǒng)中出現(xiàn)一個(gè)終端采集器對(duì)應(yīng)很多個(gè)保存有豬個(gè)體和豬肉信息的RFID標(biāo)簽,也就是出現(xiàn)了多個(gè)標(biāo)簽對(duì)單一閱讀器信道進(jìn)行競(jìng)爭(zhēng)的現(xiàn)象,這種現(xiàn)象被稱之為標(biāo)簽碰撞。另外,一個(gè)特定的標(biāo)簽反射到讀寫器的信號(hào)很容易被另外讀寫器發(fā)出的信號(hào)干擾,特定的標(biāo)簽接收到的信息為兩個(gè)讀寫器發(fā)射信號(hào)的矢量和,是一個(gè)未知信號(hào),導(dǎo)致出現(xiàn)了多個(gè)讀寫器對(duì)一個(gè)標(biāo)簽的干擾,這種現(xiàn)象被稱為讀寫器碰撞。
2.2.2 ?防碰撞算法的選擇
在RFID系統(tǒng)中,可以采用多址復(fù)用的方式解決由于讀寫器信道引起的碰撞問題。通過分析采用時(shí)分多址(Time Division Multiple Access,TDMA),即對(duì)所有標(biāo)簽,在某個(gè)時(shí)間內(nèi)建立唯一的閱讀器和標(biāo)簽的通信關(guān)系,可以很好地解決標(biāo)簽碰撞問題。標(biāo)簽防碰撞算法有基于TDMA的ALOHA系列的算法和二進(jìn)制防碰撞系列算法,兩種算法只需知道標(biāo)簽的數(shù)量,就能很好地發(fā)揮其優(yōu)點(diǎn)。但相比之下二進(jìn)制樹型搜索法更能快速、準(zhǔn)確地識(shí)別對(duì)應(yīng)的標(biāo)簽[2]。二進(jìn)制搜索算法的工作流程如圖3所示。
從圖3可以看出,當(dāng)標(biāo)簽數(shù)為n,標(biāo)簽長(zhǎng)度為L(zhǎng)時(shí),所有的標(biāo)簽被讀取成功所需要的搜索次數(shù):
吞吐率為: ?(2)
總的傳輸數(shù)據(jù)比特?cái)?shù)為:
因在識(shí)別標(biāo)簽時(shí),讀寫器要多次發(fā)送請(qǐng)求碼給標(biāo)簽,浪費(fèi)時(shí)間、效率較低。
2.2.3 ?改進(jìn)的二進(jìn)制樹搜索算法
當(dāng)標(biāo)簽數(shù)量較多時(shí),每次都要從頭搜索會(huì)出現(xiàn)多余數(shù)據(jù)并浪費(fèi)時(shí)間。這時(shí),只要發(fā)生標(biāo)簽碰撞,就把碰撞的最高位設(shè)為0,高于該位的數(shù)不變,產(chǎn)生新的請(qǐng)求碼;再和新的請(qǐng)求碼進(jìn)行比較,每次ID最小的標(biāo)簽應(yīng)答后,返回父節(jié)點(diǎn)的時(shí)候,讀寫器無需每次都要發(fā)送最大序列號(hào)請(qǐng)求碼。這樣,識(shí)別所有標(biāo)簽需搜索次數(shù)t=2×n-1,識(shí)別一個(gè)標(biāo)簽平均查詢次數(shù)v=(2×n-1)÷n,則吞吐率為s=n÷(2×n-1)。
經(jīng)驗(yàn)證,當(dāng)標(biāo)簽數(shù)量較大時(shí),改進(jìn)后的算法效率更高。因系統(tǒng)中標(biāo)簽數(shù)較多,所以系統(tǒng)使用改進(jìn)后的二進(jìn)制算法可以提高RFID的工作效率。
2.3 ?socket ?通信
本系統(tǒng)選擇了基于傳輸控制協(xié)議/因特網(wǎng)互聯(lián)協(xié)議(Transmission Control Protocol/Internet Protocol,TCP/IP)的socket通信協(xié)議,以保證系統(tǒng)通信數(shù)據(jù)的正確可靠性,確保實(shí)時(shí)的通信質(zhì)量。
3 ? ?系統(tǒng)關(guān)鍵功能實(shí)現(xiàn)
3.1 ?系統(tǒng)總體工程實(shí)現(xiàn)
系統(tǒng)在創(chuàng)建項(xiàng)目前,先設(shè)置好端口。選擇功能強(qiáng)大、操作簡(jiǎn)單、運(yùn)行速度快、占用資源少的Eclipse作為開發(fā)工具,應(yīng)用Java語言完成對(duì)應(yīng)程序的設(shè)計(jì)并運(yùn)行,通過系統(tǒng)提供的溯源網(wǎng)址來實(shí)現(xiàn)系統(tǒng)的編輯,查詢等功能。
3.2 ?通信及服務(wù)器設(shè)置
本系統(tǒng)選擇了基于TCP/IP協(xié)議的socket通信協(xié)議,以保證系統(tǒng)通信數(shù)據(jù)的正確可靠性,確保實(shí)時(shí)的通信質(zhì)量。使用Web服務(wù)器,當(dāng)客戶端發(fā)送請(qǐng)求網(wǎng)址給服務(wù)器端時(shí),服務(wù)器就轉(zhuǎn)換、翻譯.JSP文件,再執(zhí)行.class文件。
3.3 ?數(shù)據(jù)庫(kù)管理實(shí)現(xiàn)
根據(jù)數(shù)據(jù)庫(kù)設(shè)計(jì)原則[3]和系統(tǒng)軟硬件的實(shí)際需求,本系統(tǒng)選用管理方便、操作簡(jiǎn)單、運(yùn)行速度高效、成本低的且可靠性高的MySQL數(shù)據(jù)庫(kù)。選用Navicat Lite 9.0作為系統(tǒng)數(shù)據(jù)庫(kù)的管理軟件,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)里的數(shù)據(jù)執(zhí)行增、刪、改、查等操作,用它建立的數(shù)據(jù)庫(kù)能夠在任何網(wǎng)絡(luò)訪問,實(shí)現(xiàn)數(shù)據(jù)共享。
4 ? ?結(jié)語
系統(tǒng)通過對(duì)硬件的選取和軟件平臺(tái)的搭建,使用物聯(lián)網(wǎng)技術(shù)、RFID技術(shù)、通信技術(shù)、數(shù)據(jù)庫(kù)技術(shù),從豬仔的養(yǎng)殖到生豬的屠宰、分割、再經(jīng)流通,最終到零售超市進(jìn)行銷售的環(huán)節(jié)設(shè)計(jì),實(shí)現(xiàn)了豬肉全程追蹤和溯源功能。重點(diǎn)研究設(shè)計(jì)了Web平臺(tái),二進(jìn)制樹型搜索算法,數(shù)據(jù)庫(kù)設(shè)計(jì)等,最終實(shí)現(xiàn)了利用網(wǎng)頁端和手機(jī)端完成對(duì)系統(tǒng)的監(jiān)測(cè)。
[參考文獻(xiàn)]
[1]趙訓(xùn)銘,劉建華.射頻識(shí)別技術(shù)在食品溯源中的應(yīng)用研究進(jìn)展[J].食品與機(jī)械,2019,35(2):212-216.
[2]王佩瑋.無線射頻識(shí)別標(biāo)簽防碰撞算法比較分析[J].物聯(lián)網(wǎng)技術(shù),2017,7(4):21-24.
[3]韓雨佟.基于B/S物聯(lián)網(wǎng)環(huán)境監(jiān)測(cè)系統(tǒng)MySQL數(shù)據(jù)庫(kù)的設(shè)計(jì)與實(shí)現(xiàn)[D].天津:天津大學(xué),2014.