APP下载

基于QR码的物流管理信息系统设计与实现

2018-07-12饶晓黎翁翰詹素萍蔡丹琳黄玮佳

现代信息科技 2018年4期

饶晓黎 翁翰 詹素萍 蔡丹琳 黄玮佳

摘 要:本文通过了解物流运输方面的实际管理需求,使用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.

作者简介:饶晓黎,女,汉族,福建三明人,本科。研究方向:信息管理与信息系统。