劉 韜,都洪韜,丁潤(rùn)東,吳芮豪,許鑫,崔煦晨,王 亞
(阜陽(yáng)師范大學(xué) 計(jì)算機(jī)與信息工程學(xué)院,安徽 阜陽(yáng) 236037)
關(guān)鍵字:食品溯源;云平臺(tái);QR Code;微信小程序
食品安全不僅關(guān)系人民群眾的身體健康,而且對(duì)經(jīng)濟(jì)發(fā)展有著重大影響[1]。食品行業(yè)在生產(chǎn)、銷售、物流等各個(gè)環(huán)節(jié)的執(zhí)行標(biāo)準(zhǔn)不統(tǒng)一、信息不暢通,給食品溯源造成了困難[2]。但是在互聯(lián)網(wǎng)的環(huán)境下,將食品行業(yè)和信息技術(shù)相結(jié)合,不僅可實(shí)現(xiàn)資源價(jià)值利用的最大化[3],也可以輔助食品溯源過程,提升對(duì)食品安全的信心和監(jiān)管。隨著智能手機(jī)的普及,二維碼在日常生活中的應(yīng)用非常廣泛,在移動(dòng)支付、身份識(shí)別、電子票務(wù)等領(lǐng)域帶來(lái)了極大的便利,深受人們歡迎。將二維碼技術(shù)應(yīng)用在食品溯源系統(tǒng)中,不僅能夠快速查詢到食品信息和質(zhì)量狀況,而且實(shí)現(xiàn)了溯源、防偽二合一的功能,改變了傳統(tǒng)的食品質(zhì)量查詢模式,避免銷售人員虛構(gòu)食品質(zhì)量情況而誤導(dǎo)消費(fèi)者事件的發(fā)生,提高食品質(zhì)量的可信度。因此設(shè)計(jì)一套食品溯源系統(tǒng)就有非常迫切的需求[4,5]。
由于移動(dòng)互聯(lián)網(wǎng)的發(fā)展,人們可以很便利地獲取各種信息資源。食品企業(yè)可以利用信息手段,為消費(fèi)者提供食品的各種信息,達(dá)到使消費(fèi)者放心購(gòu)買的目的,同時(shí)也可以向消費(fèi)者展示企業(yè)的風(fēng)采,提高企業(yè)知名度[6,7]。本文的研究背景是基于與阜陽(yáng)市尚源公司開展的產(chǎn)學(xué)研合作項(xiàng)目,通過與該食品企業(yè)深入溝通交流,對(duì)企業(yè)在食品溯源方面展開需求分析。
為了確保食品生產(chǎn)、銷售、物流環(huán)節(jié)信息的暢通,滿足企業(yè)數(shù)據(jù)管理的需求,需要搭建基于騰訊云服務(wù)器的企業(yè)云平臺(tái),將企業(yè)和食品的基本信息存放在云平臺(tái)上,實(shí)現(xiàn)信息的互通共享。為了方便消費(fèi)者使用,選擇以微信平臺(tái)開發(fā)設(shè)計(jì)基于二維碼技術(shù)的溯源系統(tǒng)。消費(fèi)者無(wú)需下載額外應(yīng)用程序,只需要在手機(jī)上打開溯源小程序掃描二維碼食品標(biāo)簽,即可快速便利地獲取云平臺(tái)中食品的銷售、物流、生產(chǎn)等基本信息,實(shí)現(xiàn)對(duì)食品安全信息的及時(shí)查詢及跟蹤[8]。食品溯源系統(tǒng)為消費(fèi)者提供了追溯食品信息的平臺(tái),也為企業(yè)提供展示食品及企業(yè)文化的平臺(tái),為消費(fèi)者和企業(yè)之間提供了良好的溝通交流平臺(tái)。
食品溯源系統(tǒng)分為前端界面和后端服務(wù)。前端界面使用微信小程序編程語(yǔ)言和開發(fā)工具進(jìn)行開發(fā)。微信開發(fā)平臺(tái)為用戶提供了一套實(shí)用的API,方便開發(fā)者的使用,開發(fā)流程簡(jiǎn)單,文檔充分。同時(shí)微信也推出了小程序開發(fā)工具,使得開發(fā)工作更加便利。利用微信開發(fā)平臺(tái)搭建系統(tǒng)后,用戶無(wú)需下載額外應(yīng)用程序,方便用戶使用[9-11]。
企業(yè)云平臺(tái)需要提供具有穩(wěn)定性及高性能的服務(wù)。Ubuntu 操作系統(tǒng)有較為完善的服務(wù)平臺(tái),可以隨時(shí)為開發(fā)者提供幫助。Nginx 是一個(gè)高性能的HTTP 和反向代理負(fù)載均衡Web 服務(wù)器[12]。在性能上,Nginx 支持更多的并發(fā)連接,能夠達(dá)到高效的訪問速度;在安裝和配置上,簡(jiǎn)單靈活,并且支持熱部署,無(wú)需重啟服務(wù)即可升級(jí)軟件版本或者修改配置[13-15]。MySQL 是關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),體積小,速度快,并且其代碼開源,可以大大降低總體開發(fā)成本[16]?;谏鲜黾夹g(shù)特點(diǎn)考慮,在騰訊云服務(wù)器上選用Ubuntu18.04 操作系統(tǒng),搭建Nginx 反向代理服務(wù)器和MySQL 數(shù)據(jù)庫(kù)服務(wù),構(gòu)建云平臺(tái)基礎(chǔ)環(huán)境,將后端服務(wù)部署在云平臺(tái)上。
為了使溯源系統(tǒng)更加輕便靈活,采用Python+Flask 框架搭建后端系統(tǒng),為溯源小程序提供數(shù)據(jù)支持。Flask 是Python 語(yǔ)言編寫的Web 框架,優(yōu)點(diǎn)是框架輕量、靈活多變,但相較于Spring Boot等Java Web 框架,其功能不夠完善,還需要開發(fā)者做更多的工作[17-19]。
在眾多二維碼類型中,QR Code 作為矩陣型編碼的一種,較為常見。由于其具備以下特點(diǎn),該編碼也得到了廣泛應(yīng)用[20]。第一,其存儲(chǔ)信息靈活多樣。信息格式和長(zhǎng)度可以根據(jù)用戶需求進(jìn)行自定義;存儲(chǔ)信息可以是文本、圖片、音視頻等多種類型。第二,其生成的二維碼讀取速度較快。第三,編碼具有健壯性。
在圖1 中,方塊1、2、3 為定位區(qū)域,主要用于探測(cè)圖形,實(shí)現(xiàn)對(duì)二維碼的快速定位,提升了其讀取速度;方塊4 為矯正區(qū)域,主要用于圖形形狀矯正。即當(dāng)二維碼圖形發(fā)生畸變的情況下,通過矯正區(qū)域,可以使得正確讀取信息,以提升識(shí)別成功率?;赒R Code 的以上優(yōu)勢(shì)[21],本文的食品溯源系統(tǒng)采用了該編碼技術(shù)生成食品的二維碼,用來(lái)追蹤其生產(chǎn)、物流、銷售等過程。
圖1 QR Code 二維碼
食品溯源系統(tǒng)總體架構(gòu)由客戶端和服務(wù)端兩部分組成,如圖2 所示。
圖2 系統(tǒng)總體架構(gòu)
食品企業(yè)將數(shù)據(jù)后端系統(tǒng)部署在自建云平臺(tái)上構(gòu)建整個(gè)服務(wù)端系統(tǒng)為客戶端提供數(shù)據(jù)支持。消費(fèi)者在使用溯源系統(tǒng)過程中,客戶端與服務(wù)端進(jìn)行接口通信獲取相應(yīng)數(shù)據(jù),并將數(shù)據(jù)展示給消費(fèi)者。
食品溯源系統(tǒng)的客戶端和服務(wù)端的詳細(xì)架構(gòu)如圖3 所示。其中,為方便消費(fèi)者使用,客戶端使用微信小程序開發(fā),其開發(fā)框架分為兩層,分別為邏輯層和視圖層,如圖3(a)所示。服務(wù)端由三個(gè)部分組成:分別為Nginx 服務(wù)器、MySQL 數(shù)據(jù)庫(kù)服務(wù)和后端系統(tǒng),其中Nginx 服務(wù)器和MySQL數(shù)據(jù)庫(kù)服務(wù)組成了云平臺(tái),如圖3(b)所示。
圖3 系統(tǒng)詳細(xì)架構(gòu)
圖3(a)邏輯層采用JavaScript 語(yǔ)言開發(fā),主要負(fù)責(zé)實(shí)現(xiàn)數(shù)據(jù)請(qǐng)求、修改等邏輯行為。圖3(a)視圖層由WXML 和WXSS 語(yǔ)言進(jìn)行開發(fā),其中WXML 負(fù)責(zé)頁(yè)面編寫,而WXSS 負(fù)責(zé)頁(yè)面布局控制。溯源系統(tǒng)客戶端通過MINA 架構(gòu)來(lái)確保邏輯層和視圖層數(shù)據(jù)同步。
圖3(b)云平臺(tái)由Nginx 服務(wù)器和MySQL 數(shù)據(jù)庫(kù)服務(wù)組成。其中,Nginx 服務(wù)器提供反向代理服務(wù),負(fù)責(zé)均衡負(fù)載和資源存放。而云平臺(tái)中的MySQL 數(shù)據(jù)庫(kù)服務(wù)負(fù)責(zé)將數(shù)據(jù)持久化。圖3(b)中后端系統(tǒng)采用Python+Flask 框架進(jìn)行構(gòu)建,部署在云平臺(tái)上,公開RESTful 接口地址和客戶端通信。后端系統(tǒng)和MySQL 數(shù)據(jù)庫(kù)服務(wù)通信,用來(lái)查詢數(shù)據(jù)并將數(shù)據(jù)持久化。
食品溯源系統(tǒng)主要承擔(dān)兩個(gè)業(yè)務(wù)責(zé)任,其一,滿足消費(fèi)者對(duì)食品信息查詢的需求;其二,滿足企業(yè)宣傳和推廣的需求。結(jié)合面向企業(yè)和面向用戶兩個(gè)需求點(diǎn),將溯源系統(tǒng)客戶端劃分為企業(yè)詳情信息模塊、食品生產(chǎn)信息模塊、食品運(yùn)輸信息模塊以及食品銷售信息模塊。而服務(wù)端為客戶端提供了數(shù)據(jù)支持。系統(tǒng)功能模塊圖如圖4 所示。
圖4 溯源系統(tǒng)功能模塊圖
食品溯源系統(tǒng)流程可分為溯源數(shù)據(jù)采集及溯源系統(tǒng)查詢信息兩個(gè)部分。溯源數(shù)據(jù)的采集流程為:首先,食品生產(chǎn)完成后進(jìn)行生產(chǎn)信息的采集;其次,將食品打包運(yùn)輸采集運(yùn)輸信息;最后,采集食品的銷售信息。而消費(fèi)者使用溯源系統(tǒng)的流程為:首先,消費(fèi)者通過微信搜索到溯源系統(tǒng)小程序客戶端,掃描帶有二維碼的食品標(biāo)簽;其次,客戶端發(fā)送請(qǐng)求到服務(wù)端,當(dāng)服務(wù)端接收到帶有標(biāo)識(shí)數(shù)據(jù)的請(qǐng)求后,根據(jù)食品標(biāo)簽去數(shù)據(jù)庫(kù)中查詢相關(guān)信息,然后將數(shù)據(jù)庫(kù)返回的數(shù)據(jù)經(jīng)過封裝后返回給客戶端;最后,客戶端獲得服務(wù)端返回的數(shù)據(jù)信息后會(huì)自動(dòng)跳轉(zhuǎn)進(jìn)入主界面,消費(fèi)者可以在客戶端主界面按照需要點(diǎn)擊相關(guān)查詢按鈕查看企業(yè)信息、生產(chǎn)信息、運(yùn)輸信息、銷售信息。
消費(fèi)者主要通過食品企業(yè)提供的食品二維碼標(biāo)簽,如圖5 所示,獲取企業(yè)詳情信息、食品生產(chǎn)信息、食品運(yùn)輸信息、食品銷售信息等信息。
圖5 食品二維碼標(biāo)簽
經(jīng)過調(diào)研企業(yè)實(shí)際需求,確定食品標(biāo)簽碼需要包含以下字段信息,分別為生產(chǎn)企業(yè)名稱、品類名稱、食品名稱、生產(chǎn)日期、保質(zhì)期、批次,如圖5(a)所示。食品企業(yè)相關(guān)操作人員通過標(biāo)簽打印機(jī)打印出帶有QR Code 的食品標(biāo)簽,如圖5(b)所示。隨后,將其貼在食品的外包裝上,并將貨物打包經(jīng)過物流運(yùn)輸?shù)礁鱾€(gè)銷售網(wǎng)點(diǎn)進(jìn)行銷售。通過貼上帶有QR Code 的食品標(biāo)簽給同一批次的食品提供了可以追溯的標(biāo)識(shí)。
消費(fèi)者使用客戶端掃描食品包裝袋上食品二維碼標(biāo)簽,即可進(jìn)入食品溯源系統(tǒng)界面。其系統(tǒng)界面主要分為兩大塊,分別為溯源查詢類界面和公司詳情類界面,詳情如圖6 所示。
圖6(a)是系統(tǒng)界面首頁(yè),提供兩個(gè)入口分別為“進(jìn)入溯源”和“公司詳情”。公司詳情頁(yè)提供公司的公司簡(jiǎn)介和產(chǎn)品展示。溯源信息首頁(yè)圖6(b)展示了食品的品類、產(chǎn)地、產(chǎn)品信息、物流信息和銷售信息。圖6(c)是產(chǎn)品信息頁(yè),展示了食品的生產(chǎn)企業(yè)、品類名稱、產(chǎn)品名稱、生產(chǎn)日期、保質(zhì)期和批次信息。物流信息頁(yè)圖6(d)展示了食品運(yùn)輸過程中的發(fā)貨單位、發(fā)貨區(qū)域、發(fā)貨時(shí)間、收貨單位、收貨區(qū)域和收貨時(shí)間信息。圖6(e)是銷售信息頁(yè),展示了食品的銷售商和銷售價(jià)格信息。
圖6 溯源系統(tǒng)客戶端界面圖
針對(duì)食品安全和監(jiān)管問題,利用“互聯(lián)網(wǎng)+食品”的模式去尋找解決方案。設(shè)計(jì)了基于QRCode食品二維碼標(biāo)簽,開發(fā)實(shí)現(xiàn)了食品溯源系統(tǒng),該系統(tǒng)由客戶端和服務(wù)端組成。為方便消費(fèi)者使用,采用微信小程序技術(shù)設(shè)計(jì)客戶端應(yīng)用。為了給客戶端提供數(shù)據(jù)支持,由云平臺(tái)和后端系統(tǒng)組成服務(wù)端。該系統(tǒng)兼顧了消費(fèi)者和企業(yè)經(jīng)營(yíng)者利益,消費(fèi)者使用本系統(tǒng)可以實(shí)現(xiàn)對(duì)食品信息的追溯,增強(qiáng)了對(duì)食品安全的信心;企業(yè)經(jīng)營(yíng)者使用本系統(tǒng)可以及時(shí)記錄食品各環(huán)節(jié)的信息,提升了對(duì)食品質(zhì)量的監(jiān)管和企業(yè)知名度。
阜陽(yáng)師范大學(xué)學(xué)報(bào)(自然科學(xué)版)2021年4期