炎士濤 王富豪
摘要:為了杜絕有毒有害食品送上人們的餐桌,危害人體健康,破壞家庭幸福生活,文章提出基于Android的食品溯源系統(tǒng)的研究。通過分析QR碼原理及特點,對中文漢字進行了數(shù)據(jù)編碼,使用WiFi技術(shù)與MYSQL數(shù)據(jù)庫進行信息采集傳輸,基于Android系統(tǒng)開發(fā)平臺,實現(xiàn)查詢搜索及錄入功能。經(jīng)過測試發(fā)現(xiàn),該系統(tǒng)抗干擾能力強,記錄信息詳細,適合應(yīng)用推廣。
關(guān)鍵詞:Android;回溯系統(tǒng);QR碼;MYSOL
1食品研究背景
隨著人們?nèi)粘I钏降奶岣?,對食品安全質(zhì)量的追求也越來越高,即便在每個環(huán)節(jié)倍加注意,也無法抵擋不法商販為謀求高額利潤進行的制假活動。毒奶粉、毒豇豆、敵敵畏韭菜、涂藥黃瓜等有害食品屢禁不止,各種激素、農(nóng)藥、保鮮殺蟲試劑的超標違法使用,正不斷侵襲人們的健康,給無數(shù)家庭帶來了難以挽回的傷害。
為了能夠監(jiān)控食品生產(chǎn)及流轉(zhuǎn)過程,人們使用了條形碼技術(shù),普通的一維條形碼由于構(gòu)造簡單、記錄信息少、容易偽造等特點,已經(jīng)難以滿足人們的需求。QR Code正廣泛被應(yīng)用,由于該編碼容易對漢字、字母等字符進行數(shù)據(jù)分析,糾錯強、誤碼率低,能夠存儲大量信息,所以被應(yīng)用到大量的系統(tǒng)中。Android系統(tǒng)是目前移動互聯(lián)網(wǎng)終端普遍使用的操作系統(tǒng),市場占有率非常高,基于Android系統(tǒng)開發(fā)食品溯源系統(tǒng)具有擴展性高、便于部署等優(yōu)勢。本系統(tǒng)的設(shè)計目的在于通過溯源加強食品生產(chǎn)及銷售過程的監(jiān)督管理,保證食品從生產(chǎn)到銷售的整個環(huán)節(jié)的安全及可控性。
2技術(shù)簡介
二維碼技術(shù)目前相對比較普及,已知的可以使用的二維條碼制已經(jīng)達到200多種,不同的編碼原理不同,具有各自的優(yōu)勢,常見的有Data Matrix,CODE49和QR Code。目前被廣泛使用的QR Code編碼,是1994年日本人Denso-Wave發(fā)明的矩陣條形碼技術(shù),能夠方便快速的識別不同字母及漢字,存儲信息量大,識別速度快,同時具有全方位識別以及抗損傷、還原性強的優(yōu)勢。MYSQL是瑞典一家公司開發(fā)的移植性能強的關(guān)系型數(shù)據(jù)庫,是具有C/S體系結(jié)構(gòu)的分布式數(shù)據(jù)庫管理系統(tǒng),使用該系統(tǒng)創(chuàng)建的數(shù)據(jù)庫可以在互聯(lián)網(wǎng)上任何地方訪問,具有功能強大、使用方便、操作簡單、速度快、可靠性和安全性高的優(yōu)點。Android是基于Linux內(nèi)核的操作系統(tǒng)平臺,Google公司開發(fā)研制,采用軟件疊層架構(gòu),包括中間件及應(yīng)用程序。Android系統(tǒng)應(yīng)用廣泛,已經(jīng)占有手機市場的大部分份額,并且急劇擴張到平板電腦、智能電視等不同領(lǐng)域,采用該平臺進行系統(tǒng)開發(fā),可以非常方便地移植到其他平臺中,應(yīng)用前景好。
3系統(tǒng)架構(gòu)設(shè)計
系統(tǒng)主要模塊包括信息錄入、信息查詢及系統(tǒng)管理等,為保證系統(tǒng)運轉(zhuǎn)過程中信息的存儲,需要對MYSQL數(shù)據(jù)庫進行詳細設(shè)計。系統(tǒng)實現(xiàn)基于Android6.0版本開發(fā),使用Java語言編程實現(xiàn)。在初始階段進行信息采集,詳細記錄食品的基本信息及關(guān)鍵碼,例如生產(chǎn)廠家、原料構(gòu)成、達標信息等,進而生成二維碼,以便在今后流通過程中進行掃描查詢;在流轉(zhuǎn)過程中,需要使用二維碼識別,根據(jù)不同權(quán)限顯示相關(guān)信息或進行信息補充,將上級供貨商、到貨時間、運輸及經(jīng)手人信息加入到數(shù)據(jù)庫中。
3.1數(shù)據(jù)庫設(shè)計
為了更好地進行食品溯源工作,需要詳細記錄相關(guān)信息,另外需要關(guān)鍵碼段和OR Code碼進行轉(zhuǎn)換識別,具體關(guān)鍵字段設(shè)計如表1所示。
3.2系統(tǒng)平臺模塊設(shè)計
系統(tǒng)運行進入主界面后,根據(jù)登錄權(quán)限顯示不同的界面。系統(tǒng)管理進行用戶權(quán)限的管理;當信息錄入時,根據(jù)初次錄入還是后繼錄入進行編(解)碼,輸入食品相關(guān)的詳細信息,例如上表中提到的生產(chǎn)廠家、物流信息、產(chǎn)品信息等,通過WiFi將數(shù)據(jù)存儲到MYSQL數(shù)據(jù)庫中;當進行信息查詢時,進行掃描解碼,對應(yīng)MYSQL數(shù)據(jù)庫中提取相應(yīng)信息進行顯示;檢測管理專門提供給質(zhì)檢單位,在初次錄入信息后由質(zhì)檢部分進行核實,進而將評測信息寫入到數(shù)據(jù)庫中,供查詢使用。
4系統(tǒng)關(guān)鍵功能實現(xiàn)
整個實現(xiàn)過程中針對數(shù)據(jù)庫的操作非常簡單,系統(tǒng)管理和檢測管理只牽涉到對MYSQL數(shù)據(jù)庫表的簡單修改操作,由MYSQL提供的結(jié)構(gòu)化查詢語句即可完成。與之對應(yīng),信息錄入、信息查詢及QR編碼模塊則需要考究關(guān)鍵信息的篩選,QR二維碼的編碼及解碼功能實現(xiàn)。
4.1編碼模塊實現(xiàn)
在QR二維碼生成模塊中,實現(xiàn)步驟包括數(shù)據(jù)分析(確定編碼字符類型并選擇糾錯等級)、數(shù)據(jù)編碼(數(shù)據(jù)轉(zhuǎn)換為位流并構(gòu)成碼字序列)、糾錯編碼(根據(jù)糾錯等級進行糾錯)、構(gòu)造數(shù)據(jù)信息并生成矩陣、掩摸及最終加入版本信息等若干環(huán)節(jié)。由于本系統(tǒng)需要在二維碼中存入大量漢字信息,需要采用GB2312編碼,每個漢字對應(yīng)的GB2312編碼轉(zhuǎn)換為數(shù)據(jù)二進制流,按上述步驟執(zhí)行形成二維碼。QR編碼形成的矩陣共有40個規(guī)格版本,從版本1的21×21矩陣到版本40的177×177能容納的信息量逐級遞增,本實例采用版本7,糾錯級別使用M,即15%的數(shù)碼糾正。
4.2信息查詢模塊實現(xiàn)
當用戶登錄系統(tǒng)選擇信息查詢功能時,會彈出掃碼界面,用戶將手機對準食品上的二維碼掃描識別,進行解碼操作,把二維碼蘊含的基本信息顯示在信息界面上。提取二維碼編碼時產(chǎn)生的OR關(guān)鍵碼,通過WiFi連接MYSQL數(shù)據(jù)庫進行查詢,進一步將食品的相關(guān)產(chǎn)品信息及物流信息顯示在詳細界面中,滿足用戶對保證食品質(zhì)量安全的各個環(huán)節(jié)的信息有更進一步的了解。
4.3信息錄入模塊實現(xiàn)
該模塊主要實現(xiàn)食品溯源信息的數(shù)據(jù)庫存儲。首次錄入信息主要是食品名稱、生產(chǎn)廠家、生產(chǎn)日期等簡單信息,這些信息將會在錄入后編碼記錄在OR二維碼中,當進行掃碼解碼時直接顯示。基本信息錄入后由質(zhì)檢用戶登錄進行認證,然后調(diào)用編碼模塊生成QR二維碼,認證信息補充存儲在二維碼中。該環(huán)節(jié)一個關(guān)鍵工作是產(chǎn)生一個OR關(guān)鍵碼,該編碼作為數(shù)據(jù)庫中食品信息表的關(guān)鍵字段,為以后流通環(huán)節(jié)補充物流信息時提供依據(jù)。每次解碼時都可以得到該字段,從而訪問食品信息表,進行信息的讀取顯示或補充寫入。
5結(jié)語
本系統(tǒng)實現(xiàn)了食品生產(chǎn)信息創(chuàng)建、OR二維編碼生成、掃碼顯示食品數(shù)據(jù)信息等一整套溯源環(huán)節(jié),構(gòu)建了一個基于Android的食品溯源系統(tǒng)。實踐證明OR碼可以在很小面積的方塊中表示大量中文漢字信息,準確率和可靠性高。將系統(tǒng)部署在手機移動端使用簡單方便,查詢信息準確,適合推廣使用。通過使用該系統(tǒng),可以方便地實現(xiàn)食品源頭可追溯、物流可跟蹤、信息可查詢、產(chǎn)品可認證等多項目標,為解決食品安全質(zhì)量問題提供了可靠有效的手段。當然,本系統(tǒng)也存在一定的問題,諸如初始信息靠人工錄入、查詢信息依靠網(wǎng)絡(luò)支持等,后期研究中將考察RFID技術(shù)的應(yīng)用,爭取實現(xiàn)信息的自動采集,進一步提高系統(tǒng)的性能。