饒曉黎 翁翰 詹素萍 蔡丹琳 黃瑋佳
摘 要:本文通過了解物流運輸方面的實際管理需求,使用QR碼技術設計并實現了一個第三方物流的管理信息系統,加強了委托方、物流公司和貨運員三者之間的緊密聯系。運用REST架構風格,并使用Web技術開發后臺管理系統。利用服務器建立一套Web端和手機客戶端共同使用的API數據接口,提高了開發的動態性,降低了溝通成本和管理成本,提升了物流運輸的業務效率。
關鍵詞:QR碼;手機客戶端;物流管理系統;Web技術;REST
中圖分類號:TP311.52 文獻標識碼:A 文章編號:2096-4706(2018)04-0178-04
Abstract:The thesis using QR code technology design and implement a logistics information management system though understanding the actual management requirements of logistics transportation,closer the relationship between the three parties include clients,logistics companies and freight clerks. The back-stage management system applying REST architectural style and using Web technology. Establishing a API socket on server that Web clients and mobile clients can able to use together,improve the dynamics of development,reduce the cost of communication and management,improve the service efficiency of logistics transportation.
Keywords:QR code;Mobile client;logistics management system;Web technology;REST
0 引 言
在企業信息化中,條形碼技術解決了工作效率低與信息存取低效等問題。貨物包裝上的各種條形碼已成為物流管理系統的標配。但通過手持設備掃描時,條形碼掃描速度已不及二維碼,還經常出現“一對多”的情況,而且在無網絡情況下極難獲取數據。更重要的是,由于條形碼碼制較為容易,數據僅存儲在水平方向上,導致其容易被偽造,從而給企業造成資產損失。隨著信息吞吐量的不斷增大,系統中使用一維條碼技術已不能滿足實際需求,因此二維條碼技術應運而生[1]。
1 關鍵技術
1.1 QR碼
QR碼是一種矩陣式二維碼,具有高可靠、快速識讀、存儲量大等特性,應用于電子票務、身份認證、宣傳社交等領域,在人們生活中已不可或缺。
QR碼遵循如圖1所示的圖形結構,三個相同的方塊是位置探測圖形,之間的虛線為定位圖形,版本高則會增加校正圖形,它們用來定位掃描到的圖像。位置探測圖形旁部分區域存儲格式與版本信息,其余空間用來存儲數據和糾錯碼。糾錯碼有L、M、Q、H四個水平,對應7%、15%、25%、30%的字碼修正量。隨著糾錯水平提高,容錯區域增加,數據存儲量減少。
1.2 QR碼的生成
在生成時,首先確定版本和編碼的字符類型,分析數據特點;再將數據字符分組和其計數轉為二進制,并排成序列,根據編碼模式在序列前端加入相應的模式指示符;然后分塊編碼后的序列,按照糾錯等級產生糾錯碼并添加到序列末尾;最后將已生成的序列分布在圖形內。為了避免出現干擾設備識別的大面積黑白色塊,需要計算后指定一款掩碼來加以處理,并繪圖生成圖像[2]。
QR碼的生成使用JavaScript來實現。開發時會指定背景色和糾錯等級等參數,再封裝成框架組件。使用時根據表單中提交的數據值生成
1.3 QR碼的識別
識別QR碼主要通過手機攝像頭掃描的方式,根據位置探測圖形、定位圖形和分隔符確定圖像;再通過格式信息和版本信息確定圖形版本和解析程度,利用圖像中顏色的深淺灰度進行預處理;然后去除掃描過程中的像素噪點,將灰度化的信息像素變成黑白雙色,根據解析公式轉化成二進制信息;最后解碼和對比得到的版本信息、數據和糾錯碼,同時進行糾錯,得到最終的數據[3]。
手機客戶端采用ZXing組件庫進行QR碼識別[4],它是Google公司的一個開源項目,代碼涉及Java等主流編程語言。目前多數Android APP簡化或修改項目代碼,實現使用手機客戶端識別各種條形碼和二維碼。
2 物流管理信息系統設計
2.1 總體設計
本文介紹的物流管理系統適用于第三方物流,主要滿足貨物運輸業務的現代化管理需求。如圖2所示的系統業務流程中,運輸貨物前需要委托方創建運單,涉及與物流企業和貨運員在運單中的聯系,在設計時,擬定后臺管理系統和手機客戶端兩個開發方向。
2.1.1 系統功能框架
按照功能從屬關系,劃分出如圖3所示的功能框架。后臺管理系統提供給委托方和物流管理員使用,手機客戶端提供給貨運員使用。
2.1.2 系統總體架構
由于第三方物流企業獨立開發物流管理模塊,這就要求物流管理信息系統具有網絡依賴。鑒于系統復雜度,為了方便開發、維護和對后續功能的擴展,使用Web服務已成為系統開發的選擇之一。
MVC模式在軟件開發中被大量運用,它將系統分為模型(Model)、視圖(View)和控制器(Controller)。當用戶在視圖上輸入指令和數據時,控制器將其傳遞給模型處理業務邏輯,必要時連接數據庫讀取或儲存數據。指令和數據再通過模型選擇需要輸出的控制器,控制器所在的視圖上輸出數據和所需要的動作。近年來隨著Web應用的發展,誕生了基于JavaScript的MVC框架,旨在方便開發人員進行跨平臺系統開發。
如圖4所示的后臺系統的視圖層使用Facebook公司開發的前端框架React,控制器層則使用Redux定義和控制事件。手機端的視圖層和控制器層,采用React Native開發環境,它利用React生成手機應用中的原生組件[5]。
手機端與后臺系統共用模型層和數據庫,并采用REST(Representational State Transfer,表述性狀態轉移)風格。在這種架構方式中,使用Node.js[6]編寫業務邏輯的模型層與MySQL數據庫結合為REST API服務端,傳輸的數據不再返回XML頁面,而采用瀏覽器和手機端都能解析的JSON格式,實現跨平臺數據交互[7]。
2.2 系統數據庫設計
在進行系統數據庫的設計時,必須明確用戶權限,體現用戶對貨物和運單之間的多層級關聯性。
根據系統功能需求,使用Navicat for MySQL設計關系數據庫和數據表,包括用戶表、運單表、貨物信息表等。每張表都擁有其主鍵,并根據業務邏輯和表之間的關系設計外鍵和數據類型以及鍵值能否為空。
2.3 后臺管理系統設計
后臺管理系統主要負責運單的前期流程,下面主要介紹QR碼運單生成功能的設計,流程如圖5所示。
用戶進入建立運單頁,系統檢索有無待運貨物信息,有則在表單頁選擇運單貨物,并填寫運單始發和終到地址及接收方聯系方式,提交運單。物流方管理員登陸系統,審核成功后,系統獲取必要信息,生成QR碼運單。
2.4 手機客戶端設計
手機客戶端在設計時首先需要保證特定權限的用戶登錄,如圖6所示為QR碼掃描驗證功能設計流程。
用戶在主界面點擊掃碼驗證按鈕后請求相機權限,允許后進入掃碼界面并調用攝像頭。系統會分析外部光線情況,自動打開閃光燈。如果攝像頭正常對焦,圖像成功解碼,系統利用解碼后的數據驗證貨運員的用戶ID,一致后顯示掃描的運單信息和貨物驗證結果。
3 物流管理信息系統的實現
3.1 運行環境
客戶端軟硬件需要在辦公環境下流暢運行,推薦使用Chrome瀏覽器或Firefox瀏覽器,限制IE瀏覽器版本為9+。手機端系統版本需要為Android 5.1+和iOS 9+。
3.2 后臺管理功能的實現
服務器環境運行成功,就能使用瀏覽器進入后臺管理系統。用戶如需進行運單生成操作,可在左側導航欄中依次選擇“運單事務”、“運單生成”進入操作頁面。點選運單貨物后,輸入運單始發地址、運單終到地址和接收方聯系方式后,提交運單進行審核,如圖7所示。
3.3 手機客戶端功能的實現
QR碼的掃描驗證功能是手機客戶端主要的技術實現。在主界面點擊“QR碼掃描驗證”按鈕,會請求相機權限并進入掃碼界面,將中間透明矩形框對準QR碼,應用會自動判斷條件,提示用戶進行下一步操作,如圖8所示。
4 結 論
以上介紹了物流管理信息系統使用QR碼的優點,并進行了設計與實現,但系統還需要進一步的改進,包括深度運用QR碼的加密算法和解決系統開發調試中遇到的新挑戰。從長遠來看,本文介紹的物流管理信息系統將會得到大中型企業的認可,并成為系統開發的主流方向之一。
參考文獻:
[1] 伊俊敏.物流工程 [M].第4版.北京:電子工業出版社,2017(6).
[2] Kun Qian,Xiaolei Yu,Yinshan Yu et al. Design for two-dimensional barcode dynamic recognition system in the environment of large-scale logistics [C]//Proceedings of 2015 IEEE Advanced Information Technology,Electronic and Automation Control Conference(IAEAC 2015),2015-12,Chongqing,China:Institute of Electrical and Electronics Engineers,2015:909-913.
[3] 宋桂萍.基于二維QR碼的物流數據管理系統的研究 [D].上海:上海交通大學,2015.
[4] BHARDWAJ N,KUMAR R,VERMA R,et al. Decoding algorithm for color QR code:A mobile scanner application;proceedings of the 2016 International Conference on Recent Trends in Information Technology (ICRTIT),F 8-9 April 2016,2016 [C].
[5] 潘婷婷.React Native在APP開發中的應用研究 [J].無線互聯科技,2016(19):142-143.
[6] 黃揚子.基于NodeJS平臺搭建REST風格Web服務 [J].無線互聯科技,2015(16):57-59.
[7] 覃國蓉,何濤.REST在異構移動客戶端接入中的應用研究 [J].計算機應用與軟件,2015,32(4):77-79+144.
作者簡介:饒曉黎,女,漢族,福建三明人,本科。研究方向:信息管理與信息系統。