总778期第八期2022年4月
河南科技
Henan Science and Technology
信息技术
基于安卓与阿里云服务器的烟草现场执法助手
设计与实现
刘仲豪
(北京市房山区烟草专卖局(公司),北京102400)
摘要:随着国务院关于建设“互联网+监管”工作的有序推进,烟草专卖行政执法监管系统也逐步向规范化、精准化和智能化方向发展。为了能够提升执法效能、降低执法成本,从而降低由于执法流程不明确所产生的潜在执法风险,本研究设计的执法助手是在安卓平台Hybrid App框架上,利用敏捷(Agile)模式进行开发的,以开源布局SpaceTabLayout为基础,采用条形码识别技术API ZX⁃
ing、Zbar和原生设备打印功能EasyPrint进行开发,并在阿里云ECS服务器中开发并部署了Tomcat 服务器和memcached分布式高速缓存系统。在安卓平台的基础上,利用混合开发模式研发出的烟草现场执法助手现已广泛应用于烟草市场监管、案件处理等工作。实例测试结果表明,房山区现场执法效率提升113%,且未发生使用现场执法助手从而导致的行政复议及诉讼。
关键词:混合应用开发;Agile;跨平台;现场执法
中图分类号:TP311.52文献标志码:A文章编号:1003-5168(2022)8-0020-05 DOI:10.19968/jki.hnkj.1003-5168.2022.08.004
Design and Implementation of on-site Tobacco Law Enforcement Assistant Based on Android and Aliyun Server
LIU Zhonghao
(Beijing Fangshan District Tobacco Monopoly Bureau(Company),Beijing102400,China)
Abstract:With the State Council on the construction of the“Internet+supervision”work in an orderly manner,tobacco monopoly administrative law enforcement supervision system is gradually moving to⁃wards standardization,precision and intelligence.In order to improve the efficiency of law enforceme
nt,re⁃duce the cost of law enforcement,so as to reduce the potential law enforcement risk caused by unclear law enforcement process,the law enforcement assistant designed in this study is based on the hybrid app framework of Android platform,,using Agile Development Model,android clients were developed using the open source layout SpaceTabLayout,open source API Zxing,Zbar,and EasyPrint,and a distributed caching system including Tomcat server,memcached was developed and deployed in the Alibaba Cloud ECS server.The on-the-spot law enforcement assistant based on Android has been widely used in to⁃bacco market supervision,case handling and so on.The results show that the efficiency of on-site law en⁃forcement has increased by113%,and there is no administrative reconsideration and litigation caused by the use of on-site law enforcement assistants.
Keywords:hybrid application development;Agile;cross-platform;on-site enforcement
收稿日期:2022-03-16
作者简介:刘仲豪(1994—),男,硕士,研究方向:高级计算机科学。
0引言
在效率提升方面,现有的烟草执法检查依然以
专卖工作人员协调和人工操作为主,导致查询信息
的时间较长,耗费了大量的人力和物力;在现场执
法文书制作流程方面,主要采用人工方式,录入的
重复项多,导致录入效率低,并且容易出错;在行政
效能方面,处理一起行政处罚案件的时间最长为30d,结案慢、效率低的情况时有发生;在风险防控方面,现有烟草执法采取“一票否决制”,出现错误
即有可能面临行政复议或行政诉讼,执法风险大。
针对上述问题,对提升市场监管水平有了新要求,
采取创新举措势在必行。按照“互联网+监管”的要
求,烟草行业迫切需要研发出执法效率高、流程短、
便利当事人、风险小的现场执法助手。
1混合应用开发模式
1.1混合应用的特点
目前,移动应用App的开发模式分为原生应用
(Native App)、网页应用(Web App)和混合应用
(Hybrid App)三种[1]。混合应用模式兼具原生和网
页开发模式的优势,通过使用原生安卓编程语言
(Java、Kotlin等)与网页编程语言(HTML5、JavaS⁃cript、CSS等),在系统原生设备中嵌套内置浏览器控件(WebView),使用网页开发技术对加载的网页进行UI界面优化,从而实现部分功能。混合应用模式具有支持原生API、开发周期短、成本低、性能适中等优点,为将来进行跨平台移植打下基础[2]。
烟草现场执法助手需要调用大量的安卓底层API,因此在开发过程中应采用以原生技术为主、网页技术为辅的开发模式。对蓝牙、相机、GIS定位等功能模块使用原生模式进行开发,对系统界面UI 展示、查询、录入信息、执法文书生成等环节使用网页技术进行开发[3]。
1.2烟草现场执法助手开发模式
由于烟草现场执法对稳定性、易用性、高效性
的特殊要求,以及卷烟现场执法工作对条码识别、
编辑打印和地理信息GIS功能的需求,烟草现场执
法助手采用谷歌公司发布的“材料设计语言”(Ma⁃terial Design)为设计语言,以开源布局SpaceT⁃abLayout为基础,以HTML5、CSS3为网页编译标准,结合Bluetooth Low Energy低耗能蓝牙、ZXing API、ZBar API条形码识别技术和EasyPrint原生设备打印功能进行混合开发。
SpaceTabLayout作为安卓开源UI布局,遵守Apache证书2.0的要求,可以按照需求进行修改,并在商业软件、非营利性软件中有条件使用。在Ma⁃terial Design的设计风格指导之下,SpaceTabLayout 提供了流畅现代的UI界面。使用Tomcat服务器及memcached分布式缓存技术,服务器端能够快速响应客户端通信,为系统整体的跨平台性、易改性奠定了基础。
1.3敏捷开发模式
敏捷开发(Agile)模式是一种能应对快速需求变化的软件开发模式[4],其要求开发团队和业务团队能够紧密合作、面对面沟通。软件编写团队中的成员同时也是烟草一线执法人员,从而保证使用者的需求能够得到高效响应并成为软件功能之一。在开发后期,敏捷开发模式能够驾驭需求的变化,软件交付
的时间从传统开发模式的几个月可缩短到几周甚至是几天。
2烟草现场执法助手总体构架
2.1烟草现场执法助手的基础支撑
烟草现场执法涉及的数据包括卷烟建议零售价格、条形码等卷烟信息,单位工商营业执照编号、卷烟零售许可证号、经营地址等证照信息,当事人身份证号、家庭住址等人员信息,以上数据均属于《网络安全法》中规定的二级保护数据[5],如果在未加密的电脑终端使用,则需要与烟草行业专卖管理信息系统进行隔离。作为数据中介,本系统使用阿里云作为项目云平台的基础设施,并利用阿里云网络灵活、可扩展的虚拟操作环境(ECS),保证执法助手能够平稳运行,并与行业内数据中心进行信息共享。通过行业信息系统提供的卷烟零售许可证信息、卷烟建议零售价格、卷烟条形码、执法人员信息等多种类型的信息资源,阿里云ECS服务器可按照系统需求随时对数据进行二次编辑,确保烟草现场执法助手具有很强的操作灵活性和功能扩展性,从而提高行业数据安全系数,为未来项目进行多平台移植奠定基础。
2.2烟草现场执法助手的总体构架
烟草现场执法助手由两部分组成,分别是手机客户端和服务器管理端。手机客户端实现用户界面交互展
示及录入当事人信息、扫码、打印等基本功能;服务器端则提供基础功能和业务数据的支持,实现对客户端和服务管理端的数据、功能的集中管理,并可与行业信息系统的前置平台进行二次
对接。烟草现场执法助手的客户端由应用层、桥接层、组件层和设备层四个层级组成。服务器管理端使用Apache Tomcat 轻量应用服务器,并遵循基于HTTP 的RESTful 网络应用程序设计风格;使用memcached 分布式高速缓存系统来应对突发性接入等场景;链接五个MySQL 数据库存储包括加密后的执法人员信息、卷烟零售许可证信息、卷烟信息等数据。运行环境为Linux CentOS 7.4操作系
统,利用Nginx 进行Tomcat 反向代理(见图1)[6]。
3
烟草现场执法助手的设计与实现3.1
烟草现场执法业务流程设计
根据烟草执法的业务规范,同时为了适应在“互联网+监管”新形势下的现场执法工作需要,优化烟草日常监管流程,并以合规范、易上手为原则,设计出一套跨平台、可移植的烟草现场执法助手。其业务流程设计在《烟草专卖法》《烟草专卖法实施条例》的指引下,分为现场处置环节和后台处置环节两部分。
3.2
烟草现场执法助手功能设计
烟草现场执法助手分为手机客户端和后台管理两部分。其中,市场监管员通过手机客户端,对涉烟案件进行现场执法处置。后台管理由系统管理员、分析员、监管员和审理员共同使用与维护,具有与行业信息系统进行二次对接、系统数据“增、删、查、改”和案件后续处理等功能。
3.2.1手机客户端模块功能设计。手机客户
端模块包括用户界面展示、现场执法业务、本地数
据存储、API 接口管理四大模块。用户界面展示模块用来实现App 整体系统交互,相比于传统执法流程,其更加注重现场执法效率和准确度的提升,在手机客户端有着举足轻重的地位;现场执法业务模块是执法前设备准备、执法中功能使用、执法后完善材料的所有业务功能的集合;本地数据存储模块实现了对卷烟执法必备数据、市场监管员数据、案件业务数据的临时存储,保障了在无网络连接的情况下,现场执法工作依旧可以顺畅进行;API 接口管理模块主要负责统一管理手机客户端与服务器端的交互接口。手机客户端功能模块如图2所示。3.2.2
后台管理功能模块设计。后台管理包
括系统交互展示、涉烟违法案件后续处理、业务功
能维护、数据库维护四大功能模块。系统交互展示模块负责后台管理的UI 交互;涉烟违法案件后续处理模块主要负责案卷完善工作,保证现场数据可以得到有效的保存并下载;业务功能维护和数据库维护模块仅供管理员和分析员使用,主要用于快速响应关于涉烟案件文书的格式及数据的修改。
3.3烟草现场执法助手功能实现3.3.1
移动端业务功能模块实现。
①扫描(输入)数据。通过使用ZXing API [7]、
ZBar API 对EAN-13条形码进行快速读取,并识别
出对应编码[8],或通过开源组件MaterialSearchBar
图1烟草现场执法助手总体构架
烟草现场执法助手
SpaceTabLayout 开源布局
手机客户端
服务器端
HTML5/CSS3
Apache Tomcat Web 服务器
EasyPrint 原生设备打印
ZXing API ZBar API 条码识别技术
应
用层
桥接层
组件层
设备层
Apache Cordova 框架
Material Design 设计风格
Native 原生编译
Web 网页编译
WebView 安卓WebKit 网页渲染控件
PUT
Nginx 反向代理Web 服务器Ajax 通信
RESTful 设计风格memcached 分布式缓存
GET
POST
DELETE 卷烟零售客户
数据库
卷烟零售许可证数据库执法人员数据库卷烟数据库
现场照片数据库
蓝牙相机
Android 设备
Brother PJ-763MFi A4幅面免墨便携式打印机
DataMax M5-LB 便携蓝牙扫描
直接识别用户输入的数据。数据获取成功后传输至第二步。
②检索数据。手机客户端通过安卓系统原生
API ,结合SQLite 、JXL API 等开源工具[9],对本地数据进行检索。JXL 为Java 操作Excel 的工具,对中文的支持度较高,完全由Java 编译而成,不依赖操作系统,在Linux 、Windows 、Android 环境中均可正确处理Excel 文件。监管员每天共享的市场检查数据有时可高达数千条,JXL 可支持同时处理3000条左右的数据,并且不会出现数据溢出的现象,因此,在系统中其作为主要处理Excel 的工具。数据检索完毕后传输至第三步。③处理数据。数据检索完成后,根据不同的业
务功能对数据进行分别处理。
3.3.2
移动端本地数据离线存储。系统中本
地离线数据分为两类:非结构化数据和结构化数据。非结构化数据主要是指现场照片,通常存储在手机相册中,其绝对路径(Absolute Path )存储在烟草现场执法助手手机客户端缓存中。当用户需要上传网络时,系统将根据路径访问相册,并将压缩后的照片上传至后台[10]。该方法可以有效地减轻手机的缓存压力,避免系统重复存储信息。结构化
数据是指本地数据库,包括零售许可证、卷烟信息、卷烟归属地等,在手机客户端使用SQLite 实现对存储的管理。通过使用SQL 语句,可以实现快速地获取本地数据,从而可以有效地避免网络连接不通畅导致无法获取服务器数据的情况发生。
3.3.3
手机客户端与后台管理API 接口管理。
①身份认证服务。由于该系统须支持多账号、
多权限登录,出于对系统的保密性和安全性考虑,手机客户端在使用时会进行授权访问。登录时,依据用户的执法证号和登录密码组成令牌(Token ),并使用HTTPS 的加密方式与服务器端进行通信,以便验证令牌,用户登录令牌验证成功后,即视为此次登录合法,方可正常使用。
②GIS 定位服务。直接调用安卓系统内GPS 控
件获取当前地点坐标,并配合高德地图API 提供导航服务。
③数据库服务。在手机客户端进行网络通信时,可连接数据库更新数据。该系统以RESTful 风
格的HTTP 请求对服务器内的数据库进行增、删、查、改等操作。针对不同的需求,POST 、GET 、PUT 、DELETE 四种操作以不同的方式实现手机客户端SQLite 数据库与服务器端MySQL 数据库规范的数据交互和处理。
4
应用关键技术
4.1
开源项目ZXing API 与ZBar API
录入卷烟信息环节需要在现场扫描条(包)卷烟的EAN-13条形码,在卷烟现场执法App 中扫码的成功率和精准率成为关键。为了适配不同品牌手机的不同相机模块,通过使用谷歌公司(Google )的开源项目ZXing API 和ZBar API ,可以直接调用并调试安卓手机的相机模块[11]。
4.2
腾讯Bugly 应用升级一站式解决方案
烟草现场执法App 由于其保存信息的特殊性,导致其上线到国内外应用市场需要的审核时间较长。烟草现场执法助手应能够快速修复bug ,并推
图2移动端功能模块
手机客户端功能模块
本地数据库服务
原生安卓app开发用户界面展示模块现场执法业务模块本地数据存储模块API 接口管理模块
用户登录界面主要业务功能展示次要业务功能展示地图展示
卷烟归属地查询零售户信息查询卷烟查询现场执法文书办理
辅助业务
市场监管员信息零售许可证信息卷烟归属地信息卷烟信息“三户”信息执法案例信息
监管员身份认证
GIS 服务蓝牙服务相机服务云数据库服务
送至用户设备中,故可以根据系统版本、使用环境、下发数量等多维度指标来实时更新App版本的热更新技术进行维护。腾讯Bugly不依赖应用市场,可以在应用内主动进行弹窗提醒,并可升级至最新版本,提高应用升级率和产品活跃度;通过热更新技术,系统管理员只需要下发补丁包,即可在用户无感知情况下完成bug的修复。
4.3memcached分布式高速缓存系统
高并发memcached分布式缓存系统用于烟草现场执法服务器端,可有效避免由于多人同时接入系统带来的系统延迟或崩溃。卷烟零售许可证信息和卷烟信息内容多、数量大,在高并发访问情况发生时,memcached通过内存缓存的数据来减少对数据库的访问次数,从而提高管理网站的响应速度[12]。
与电脑浏览器的缓存机制类似,当用户第一次调用程序时,由手机客户端发起查询,并将扫码后得到的数据传输至服务器端,首先查看memcached 分布式缓存中是否有需要的数据,如果有即可直接调用,如果没有则从数据库中访问,并同时写入memcached中,以备后期调用。
5定量测试
烟草现场执法助手设计的初衷是在符合相关法律法规的要求下,缩短现场执法的时间,优化执法流程,从而提高执法的准确度。
提取2019年北京市某区烟草专卖局立案的183起简易案件,以执法记录仪现场记录时间为准。其中,使用传统方法执法的案件有157起,使用现场执法助手的案件有26起。通过分析得知,传统方法平均执法用时49min,使用现场执法助手平均执法用时23min,效率提升113%。2019年北京市某区烟草专卖局案卷评查得分87分,并未发现由使用烟草现场执法助手所带来的潜在法律风险。
6结语
应用结果表明,执法助手客户端与安卓系统兼容性良好,并适配各种屏幕尺寸。结合阿里云ECS 服务器与烟草行业专卖管理信息系统,从而实现业务系统与数据中心互联互通,为接下来烟草行业深入推进“互联网+监管”工作打下坚实基础,在行业内具有广泛的推广及应用价值。该助手可以较好地满足卷烟现场执法的高效率、短流程、减风险的业务需要。
参考文献:
[1]冯光洁.基于Hybrid APP和私有云平台发布的移动端开发设计[J].电子技术与软件工程,2021(13):42-43.
[2]马嘉敏.基于Hybrid模式的互联网投保业务系统移动应用设计与实现[J].微型电脑应用,2020(5):138-141.
[3]贺惠萍,荣彦,康浩,等.基于android的旅行软件的设计与实现[J].电脑知识与技术,2018(31):67-70,74.
[4]贾勇.敏捷开发在信息管理系统设计中的应用研究[J].电脑知识与技术,2021(19):65-66,75.
[5]网络数据时代,《网络安全法》与《数据安全法》提供法律保障![J].工会博览,2021(34):22-23.
[6]余健,童秋英,朱波,等.一种混合应用模式的土地执法核查APP的设计与实现:以武汉市国土规划执法监察移动系统为例[J].测绘通报,2018(1):151-156.
[7]李璐.基于ZXing的条码技术研究[J].福建电脑,2014(5):17-18,156.
[8]吴兆林.基于Zbar条形码图像识别的实现[J].数字技术与应用,2016(8):128-129.
[9]马林.基于SQLite的个人通信录管理系统的设计与实现[D].长春:吉林大学,2015.
[10]刘阳.基于SQLite数据库的智能粮情监测An‐droid客户端设计[D].合肥:安徽大学,2014.
[11]吴凯.基于android平台的条码扫描软件的设计与实现[D].北京:北京邮电大学,2013.
[12]戴华.基于Nginx和Memcached的高并发WEB服务器设计[D].上海:复旦大学,2013.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论