李久林等
摘要:提出基于二維碼的蔬菜溯源信息管理平臺(tái),在對(duì)QR碼糾錯(cuò)編碼算法、QR碼掩膜分析的基礎(chǔ)上,利用PHP進(jìn)行開(kāi)發(fā),系統(tǒng)整體采用Linux+Apache+MySQL+PHP實(shí)現(xiàn),設(shè)計(jì)并實(shí)現(xiàn)了平臺(tái)的表現(xiàn)層、業(yè)務(wù)邏輯層、數(shù)據(jù)層3層。
關(guān)鍵詞:二維碼;蔬菜;溯源;信息管理平臺(tái)
中圖分類號(hào): S126文獻(xiàn)標(biāo)志碼: A文章編號(hào):1002-1302(2015)02-0403-03
收稿日期:2014-09-16
基金項(xiàng)目:河北省科技廳建設(shè)項(xiàng)目(編號(hào):14967417D)。
作者簡(jiǎn)介:李久林(1988—),女,河北張家口人,碩士研究生,主要從事智能檢測(cè)與自動(dòng)控制研究。E-mail:780409623@qq.com。
通信作者:高亮,教授,主要從事農(nóng)業(yè)工程研究。蔬菜產(chǎn)業(yè)在我國(guó)農(nóng)業(yè)生產(chǎn)中占有重要地位,蔬菜質(zhì)量不僅關(guān)系到人民群眾的身體健康與生命安全,而且對(duì)農(nóng)業(yè)發(fā)展、社會(huì)穩(wěn)定具有重大影響。要實(shí)現(xiàn)蔬菜的優(yōu)質(zhì)生產(chǎn),治本之策是要建立完善的蔬菜安全生產(chǎn)追溯平臺(tái),確保蔬菜生產(chǎn)信息透明化,實(shí)現(xiàn)“從田間地頭到餐桌”的全程質(zhì)量監(jiān)控。追溯平臺(tái)記錄并存儲(chǔ)產(chǎn)品供應(yīng)過(guò)程中各種相關(guān)信息,有助于質(zhì)量控制。20世紀(jì)90年代,在瘋牛病事件的影響下,歐盟開(kāi)始了對(duì)追溯系統(tǒng)的研究[1-3]。近年來(lái),隨著食品工業(yè)的不斷發(fā)展及人們對(duì)食品安全的重視,許多國(guó)家都開(kāi)始重視食品追溯系統(tǒng)建設(shè),我國(guó)已建立了一些產(chǎn)品追溯平臺(tái):如農(nóng)業(yè)部產(chǎn)業(yè)化辦公室、農(nóng)業(yè)部農(nóng)村研究中心主辦的“中國(guó)農(nóng)產(chǎn)品質(zhì)量追溯網(wǎng)”;江蘇省宜興市丁蜀鎮(zhèn)人民政府建立的“農(nóng)產(chǎn)品質(zhì)量安全追溯平臺(tái)”;浙江省杭州市建立的“肉類蔬菜流通追溯管理平臺(tái)”等。這些追溯平臺(tái)大多內(nèi)容陳雜、使用繁復(fù)、針對(duì)性弱、技術(shù)陳舊[4]。本研究提出基于二維碼的蔬菜溯源信息管理平臺(tái),使用信息容量大、高速全方位識(shí)讀、糾錯(cuò)能力強(qiáng)的二維碼作為載體,平臺(tái)對(duì)生產(chǎn)者、加工者、銷售者組成的蔬菜供應(yīng)鏈實(shí)行線上線下同步監(jiān)控,消費(fèi)者通過(guò)二維碼與平臺(tái)可以清楚地追溯到蔬菜的詳細(xì)信息,旨在為保障我國(guó)蔬菜產(chǎn)業(yè)健康發(fā)展提供依據(jù)。
1二維碼技術(shù)
二維碼技術(shù)是針對(duì)一維條形碼數(shù)據(jù)容量小、需要后臺(tái)數(shù)據(jù)庫(kù)支持等缺點(diǎn)產(chǎn)生的。二維碼可表示文字、圖像、音頻等各種信息,將蔬菜所有階段信息匯總后形成二維碼,碼圖生成方便,無(wú)需硬件設(shè)備。
1.1二維碼編碼
二維碼分為40個(gè)尺寸(1~40),官方稱版本Version。二維碼尺寸公式:(V-1)×4+21(V是版本號(hào)),版本1的大小就是(1-1)×4+21=21,21×21最小的正方形,其二維碼圖如圖1所示。
根據(jù)二維碼國(guó)家標(biāo)準(zhǔn),二維碼編碼流程如圖2所示。根據(jù)數(shù)據(jù)流確定數(shù)據(jù)編碼的數(shù)據(jù)類型,選擇L/M/Q/H糾錯(cuò)等級(jí),將這些信息編碼成數(shù)據(jù)塊,填充到功能圖的相應(yīng)位置,添加掩膜,最后將格式與版本信息加到功能圖中形成完整二維碼。QR碼作為二維碼中的1種,是為追蹤汽車零件而設(shè)計(jì)的,由于其具有超高速識(shí)讀、全方位識(shí)讀、能存儲(chǔ)漢字等優(yōu)點(diǎn),被廣泛應(yīng)用于各個(gè)領(lǐng)域。
1.2QR碼加密算法
為了提高QR碼信息的安全性,采用DES、RSA 2種加密算法的混合算法對(duì)二維碼進(jìn)行加密。DES加密算法是將信息分組,分組后的信息再加密。RSA算法是1種公開(kāi)的密鑰算法,它能產(chǎn)生2把密鑰,1把用來(lái)加密,1把用來(lái)解密。本研
究結(jié)合兩者的優(yōu)缺點(diǎn),設(shè)計(jì)了DES-RSA混合加密算法。 運(yùn)用DES算法對(duì)二維碼明文信息加密,再用RSA加密DES的密鑰(圖3)。
1.3QR碼糾錯(cuò)編碼算法
QR碼在生產(chǎn)流通中會(huì)出現(xiàn)破損、污染等問(wèn)題,對(duì)二維碼識(shí)別產(chǎn)生直接影響,因此選擇好的糾錯(cuò)算法極其重要。本研究設(shè)計(jì)的平臺(tái)應(yīng)用RS(reed solomon)錯(cuò)誤控制碼,在QR中利用糾錯(cuò)能力極強(qiáng)的RS碼最高可以糾錯(cuò)30%的錯(cuò)誤碼。以q作為素?cái)?shù)的有限伽羅華域(galois field,GF)記作GF(q),若a滿足aq-1=1,a作為GF(q)的本原元,組成循環(huán)群G(a):a0,a1,a2,…,aq-1。那么如果糾正k個(gè)錯(cuò)誤的RS碼生成多項(xiàng)式為g(x)=(x-a)(x-a2)(x-a3)…(x-a2k),信息碼的多項(xiàng)式為d(x)=d0+d1x1+d2x2+d3x3+…+dn-1xn-1。RS編碼后的多項(xiàng)式為h(x)=x2kd(x)+x2kd(x)modg(x),式中x2kd(x)是原始碼部分,x2kd(x)modg(x)是糾錯(cuò)碼的部分。
1.4QR碼掩膜
QR碼的掩膜就是對(duì)QR碼做Masking操作,主要是針對(duì)碼圖出現(xiàn)大面積的空白或黑塊、點(diǎn)不均衡導(dǎo)致掃描識(shí)別碼圖困難的問(wèn)題,這里的Mask操作是對(duì)生成的圖做XOR(異或)操作。二維碼Mask過(guò)程如圖4所示。
2系統(tǒng)設(shè)計(jì)
2.1總體框架
蔬菜溯源信息管理平臺(tái)的設(shè)計(jì)目標(biāo)是實(shí)現(xiàn)蔬菜土地、種植戶、農(nóng)資、加工、質(zhì)檢等信息的信息化,并將其數(shù)據(jù)集成,生成二維碼溯源標(biāo)簽,消費(fèi)者用手機(jī)掃描二維碼查詢蔬菜信息,通過(guò)平臺(tái)同樣可以查詢。該平臺(tái)的建立增強(qiáng)了蔬菜從種植到最終消費(fèi)這一過(guò)程中各個(gè)環(huán)節(jié)的關(guān)聯(lián)性及數(shù)據(jù)共享能力,利用信息化手段使得蔬菜信息更加透明化。系統(tǒng)功能流程圖如圖5所示。
2.2系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
系統(tǒng)應(yīng)用B/S 3層架構(gòu),即表現(xiàn)層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問(wèn)層[5-7]。各層間互相分離,最低限度降低了功能模塊間的耦合性,如果變更業(yè)務(wù)需求,無(wú)需對(duì)所有代碼進(jìn)行修改,只需對(duì)業(yè)務(wù)邏輯層進(jìn)行調(diào)整。系統(tǒng)應(yīng)用UML進(jìn)行統(tǒng)一建模。信息管理平臺(tái)層次結(jié)構(gòu)如圖6所示。
2.2.1表現(xiàn)層設(shè)計(jì)表現(xiàn)層面向用戶,用于顯示數(shù)據(jù)及接收用戶輸入的數(shù)據(jù),為用戶提供可操作的、友好的、可見(jiàn)的功能界面。系統(tǒng)利用laravel框架提供的豐富界面模板進(jìn)行設(shè)計(jì)。用戶輸入請(qǐng)求后,將顯示結(jié)果通過(guò)客戶端顯示給用戶。通過(guò)用戶接口,為政府、企業(yè)內(nèi)部用戶提供信息管理系統(tǒng),用于政府監(jiān)管及蔬菜生產(chǎn)企業(yè)實(shí)現(xiàn)信息管理。endprint
2.2.2業(yè)務(wù)邏輯層設(shè)計(jì)業(yè)務(wù)邏輯層對(duì)表現(xiàn)層發(fā)過(guò)來(lái)的數(shù)據(jù)請(qǐng)求進(jìn)行處理,通過(guò)HTTP/HTTPS協(xié)議與表示層通信,而且可以與數(shù)據(jù)庫(kù)連接,分為控制層、服務(wù)層、訪問(wèn)層3個(gè)子層次。業(yè)務(wù)邏輯層是整個(gè)系統(tǒng)的核心,主要是業(yè)務(wù)對(duì)象的位置以及應(yīng)用于業(yè)務(wù)對(duì)象的規(guī)則。它的任務(wù)是接受表現(xiàn)層的請(qǐng)求,根據(jù)業(yè)務(wù)規(guī)則處理請(qǐng)求,與數(shù)據(jù)庫(kù)進(jìn)行交互,將結(jié)果傳回表現(xiàn)層。從業(yè)務(wù)功能上,系統(tǒng)分為蔬菜生產(chǎn)者檔案管理子系統(tǒng)、蔬菜溯源查詢子系統(tǒng)、蔬菜安全健康生產(chǎn)技術(shù)標(biāo)準(zhǔn)化子系統(tǒng)、政府監(jiān)管子系統(tǒng)4個(gè)子系統(tǒng)。平臺(tái)功能結(jié)構(gòu)圖如圖7所示。
2.2.3數(shù)據(jù)訪問(wèn)層設(shè)計(jì)數(shù)據(jù)層主要負(fù)責(zé)管理數(shù)據(jù),也就是
對(duì)數(shù)據(jù)進(jìn)行分類、組織、編碼、存儲(chǔ)、檢索、維護(hù)等,數(shù)據(jù)庫(kù)系統(tǒng)是數(shù)據(jù)層的核心,通過(guò)數(shù)據(jù)訪問(wèn)接口與表現(xiàn)層、邏輯層進(jìn)行交互,即數(shù)據(jù)庫(kù)服務(wù)器處理完成后將庫(kù)中數(shù)據(jù)反饋給業(yè)務(wù)邏輯層,業(yè)務(wù)邏輯層完成處理后,將結(jié)果發(fā)送到表現(xiàn)層顯示給用戶。
3蔬菜溯源信息管理平臺(tái)的實(shí)現(xiàn)
蔬菜溯源信息管理平臺(tái)應(yīng)用PHP進(jìn)行開(kāi)發(fā),選擇apache作為WEB應(yīng)用服務(wù)器,選擇Mysql作為數(shù)據(jù)庫(kù)服務(wù)器,采用B/S架構(gòu)部署實(shí)現(xiàn)交互,利用HTTP實(shí)現(xiàn)用戶與服務(wù)器之間的通信協(xié)議,敏感數(shù)據(jù)采用HTTPS進(jìn)行通信。平臺(tái)包含了蔬菜全面的安全生產(chǎn)信息,并且對(duì)這些數(shù)據(jù)進(jìn)行管理、提供安全保障。應(yīng)用二維碼技術(shù)使得人們可以方便快捷地查詢蔬菜信息。本平臺(tái)不僅為政府對(duì)監(jiān)管蔬菜提供了技術(shù)手段支持,而且規(guī)范了企業(yè)生產(chǎn)經(jīng)營(yíng)行為,還保障了消費(fèi)者權(quán)益。平臺(tái)的主要界面如圖8所示。
4結(jié)論
本研究探討QR碼的糾錯(cuò)碼算法及掩膜方法,采用B/S 3層架構(gòu),結(jié)合laravel框架構(gòu)建了系統(tǒng)的表現(xiàn)層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問(wèn)層結(jié)構(gòu),初步構(gòu)建了蔬菜“從田間到餐桌”的信息溯源管理平臺(tái),對(duì)蔬菜從土地、種植戶、農(nóng)資、加工到質(zhì)檢等信息實(shí)現(xiàn)了統(tǒng)一管理與儲(chǔ)存,通過(guò)信息容量大的QR二維碼,實(shí)現(xiàn)了對(duì)蔬菜生產(chǎn)信息的追溯。
參考文獻(xiàn):
[1]楊信廷,錢建平. 蔬菜安全生產(chǎn)管理及質(zhì)量追溯系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J]. 農(nóng)業(yè)工程學(xué)報(bào),2008,24(3):162-166.
[2]劉英,陳歷程. 歐盟及美國(guó)的“溯源性”:牛肉生產(chǎn)系統(tǒng)簡(jiǎn)介[J]. 食品科學(xué),2003(8):182-184.
[3]Opara L U. Traceability in agriculture and food supply chain:A review of basic concepts,technological implications,and future prospects[J]. Journal of Food Agriculture & Environment,2003,1(1):101-106.
[4]魯洪軍. 淺談二維碼識(shí)別在防偽系統(tǒng)中的應(yīng)用[J]. 計(jì)算機(jī)光盤軟件與應(yīng)用 2012(22):127,16.
[5]何祖軍,尚明玲. 基于DES和RSA的組合加密技術(shù)在綜合船橋系統(tǒng)中的研究[J]. 科學(xué)技術(shù)與工程 2009,7(9):1729-1733.
[6]徐秀敏,郝赫,曹占峰,等. 基于三層B/S的規(guī)劃計(jì)劃信息管理平臺(tái)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2013,22(4):51-54,78.
[7]陳麗,劉彤. 通用物聯(lián)網(wǎng)綜合信息管理平臺(tái)的技術(shù)架構(gòu)[J].物聯(lián)網(wǎng)技術(shù) 2013(2):52-54,58.梁文東,蔣益敏. 基于MATLAB的玉米果穗顆粒統(tǒng)計(jì)方法[J]. 江蘇農(nóng)業(yè)科學(xué),2015,43(2):406-408.endprint