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