当代社会,移动终端在人们生活中扮演越来越重要的角色。移动终端日趋普及,基于移动终端的应用也逐渐丰富。移动终端打破了传统计算机的不便携性,互联网不仅打破了地域的限制,而移动终端更是把互联网的便携带到了一个新高度。从国内目前庞大的手机群来看,移动互联网蕴藏着巨大的市场。
与传统互联网用户相比,手机用户有三大优势:第一,操作简单,成本低,普及率高;第二,随身携带;第三,用户具有一定信用等级。
因此,手机平台在多数情况下将比普通计算机有更大的发展潜力。电子商务在当今也成为了生活消费的一部分,电子商务也逐步渗透到移动互联网中。移动互联网与电子商务的结合是目前的趋势,并且人们对于在线消费的接受程度也比以往任何时期更高。
在传统的电子票务系统中,都还沿用老的技术和标准,一直以纸质形式存在,售票或退票仍采取人工方式完成,与当前流行的技术与电子商务模式有许多差异。移动终端把二维码技术、REST模式结合起来,设计一个更加合理、更加便捷的电子票务系统把电子票务推到一个新的高度。
1、移动电子支付技术(二维码技术)介绍
二维码 (2-dimensional bar code) 又称二维条码,是在一维条码的基础上扩展的另一种条码。通常它使用黑白矩阵图案来表示数据,但也可以有不同的变换。条形码 (bar code) 是将宽度不等的黑条和空白,按一定规则来编码排列。为了提高识别率,常见的条形码经常使用反差很大的黑白色条形图案排成平行图案。
二维码的前身——条形码在许多领域都有广泛应用,无论在商品、图书、银行系统都可以经常见到它的身影。根据不同的编码规则,提出的编码方案已经有多达四十余种,目前应用最为广泛的有:交叉二五码、三九码、UPC码、EAN码、128码等。我国采用的一维条码是通用商品条码,采用EAN条码结构。EAN条码是国际上通用的通用商品代码。
我国采用的条码是由13位数字及相应的条码符号组成,在较小的商品上也采用8位数字码及其相应的条码符号。条形码可以标出物品的产地、厂家、商品名称、生产日期等。条形码的扫描需要扫描器,扫描器利用光电原理,先利用观点转换器接受反射的光线,将明暗分明的反射光线转换成数字信号。条形码的可靠性非常强,平均出错率是1/15000字符。效率高,平均40字符每秒。
图1 一维码
图2 二维码
二维码能够在横向和纵向两个方向同时表达信息,因此能在很小的面积上容纳大量信息。例如商品上的条形码只能容纳十几个字符,而二维码容纳的信息量很大,最大可以容纳1850个字母,或2710个数字或1108个字节,或五百多个汉字,比普通条形码的信息容量大几十倍。
容错能力十分强,二维码因局部破损或污渍引起的部分无法识别也可以正常获取数据,损坏面积达30%时仍可能恢复信息。误识别率低,误码率不超过千万分之一。在许多种类的二维条码中,常用的码制有:Maxi Code,Aztec,QR Code,Vericode,Code 16K,Data Matrix,PDF417,Code 49,Han Xin Code,Ultracode等,QR Code码是1994年由日本Denso-Wave公司发明。
QR是来自英文[Quick Response]的缩写,表示快速反应的意思,源自发明者希望QR码能让其内容被快速解码。QR码的应用最常见于日本、韩国;目前日本最流行的条码是二维条码。QR (Quick-Response) Code是最常见的一种二维码。
表1 二维码容量和纠错等级
纠错水平的不同也导致信息的最大容量的不同。例如需要使用BIG5编码格式来存储汉字,选用H水平的纠错等级时。
实际容量 = 最大容量 * (1 - 纠错水平)
二维码可分为矩阵式二维码和堆叠式/行列式二维码。矩阵式是以矩阵的形式组成,矩阵式相应的的位置用“空”表示二进制0,用“点”表示二进制1,由“空”和“点”构成数据。堆叠式/行列式是由多行截短的一维码堆叠而成。
矩阵式二维码的代表编码是Data Matrix、Maxi Code、Code One、QR Code、Han Xin Code、Grid Matrix等。它是建立在计算机图像处理基础上,在一个矩形空间使用黑白像素在矩阵中不同位置分布表示数据。
堆叠式/行列式二维码的代表编码是Code 49、Code 16K、PDF417等。它是建立在一维码的原理基础上,编码、识别方式继承了一维码的特点,与一维码识别技术兼容,但是随着行数的增加,译码随之变得困难。
随着智能手机和平板电脑的普及,二维码跟一维码一样,在商业中广泛应用,并随着移动互联网的发展而蓬勃。在类似日本等发达国家和地区,二维码已经成为生活中信息交流方式之一。在台湾,二维码已经成为应用到综合所得税的报税方式之一,将二维码印在报税资料上,节约了税务机关的时间。中国也把二维码应用到火车车票上。
中国最大的网上支付平台——支付宝在2012年春节实现了通过二维码进行银行转账和送红包的功能,其二维码包含了转账金额、收款人等信息,并通过互联网发送至收款人,收款人使用相关软件扫描该二维码后,款项就可以转入到收款人银行账户中。
2、移动电子票务系统的设计与实现
本售票平台为了更好地采用新技术,将和传统售票业务结合起来。每个模块都是相互独立的,在模块间都是面向对象,数据交换也是面向对象,只有在业务逻辑才是面向过程。从单个模块来看,本系统采用了层次化面向对象编程方式。
系统在Web端与在客户端同样采用MVC的设计模式,两则区别在视图 (View) ,Web端视图为JSP页面,在客户端通过解析JSON数据生成对应的视图。
1. 票据生成模块
当订单成为已支付状态,票据生成模块会对订单进行分析。对订单中每一项商品生成票据,每项商品有一份票据。票据使用通用唯一识别码 (Universally Unique Identifier,简称UUID) 标识。
通用唯一识别码是一种软件建构的标准。UUID的目的是让分散式系统中的所有元素都能有唯一的识别信息,而不需要通过中用控制端来做信息的识别指定。因此可以用来创建一些不会和其他人冲突的UUID,在这种情况下就不用考虑票据信息的冲突。
一组UUID,是由一串16位组 (亦称128位) 的16进位数字所构成,是故UUID理论上的总数为216×8=2128,约等于3.4×1038。也就是说若每纳秒产生1兆个UUID,要花100亿年才会将所有UUID用完。
本系统通过使用java.util.UUID随机产生UUID,默认生成UUID的格式为18d7dfbb-f587-4c16-a60b-3ec860674f43,有实验统计表明使用该方法产的UUID重复几率大约为:
表2 产生N笔UUID后产生碰撞的几率
使用该方法每秒生成10亿笔UUID,100年后产生重复一次的几率是50%。
图3 订单中的二维码
2. 票据验证模块
票据验证模块识别端实现在卖家的客户端,验证阶段由服务器完成。票据验证模块提供两种服务。
(1) 查询票据服务;
(2) 查询时并使用票据。
票据验证过程是一个安全过程,即所有信息交换都应采用加密的方式。加密的方式可以防止票据被其他人盗取盗用,导致财产流失。
当商家扫描买家的票据 (二维码) 时,将二维码的信息识别成文本信息,再将此文本提交到服务器进行验证,服务器再将验证结果反馈到商家识别客户端,通过客户端播放不同的声音通知卖家该票据的状态。票据状态分为:未使用状态;已使用状态;失效状态。
在网络畅通的情况下,商家可以做到平均每台设备每秒处理1.5份票据,远远高于人工识别票据的速度。并且该过程是一个机械的过程,人工连续识别时会导致更高的出错率,使用卖家客户端则避免了此种错误的出现。
使用票据查询服务时,服务器只会使用JSON格式将数据封装,再返回给商家客户端。
使用票据查询并使用服务时,服务器会使用JSON格式将数据封装,同时将该票据置为已使用状态,再返回给商家客户端。为保障交易的安全,该过程不可逆,即使用票据后,票据也不可再改变成为未使用状态。
图4 验证票据流程
3. 客户端模块
1)卖家客户端
卖家客户端的作用主要是验证二维码,由于类似旅游景点要求验证票据的时间很短才能保障客流量。卖家客户端采用了优秀的ZXing开源类库对二维码进行识别。ZXing是一个开源Java类库用于解析多种格式的1D/2D条形码。目标是能够对QR编码、Data Matrix、UPC的1D条形码进行解码。
于此同时,它同样提供C++、Action Script、android、i Phone、RIM、J2ME、J2SE、j Ruby、C#等方式的类库。ZXing类库的作用主要是解码,是目前开源类库中解码能力比较强的开源框架。
卖家客户端通过摄像头拍取二维码,期间摄像头自动对焦。通过预览功能回调函数实时解码,解码成功后提交数据到服务器做验证,服务器再把二维码的可用状态反馈到卖家客户端,根据二维码的状态不同卖家客户端播放不同音乐。
图5 商家客户端识别二维码
2)买家客户端
买家客户端提供两种服务:
(1) 展示订单中的二维码;
(2) 浏览购买商品。
买家客户端可以展示订单中的二维码,当买家去到卖家实体店时,买家打开客户端,选择“我要使用二维码”功能,进入订单浏览界面,选定有效订单即可展示订单中的二维码。每张二维码的尺寸大约在2.1KB,系统也提供了二维码缓存功能,允许用户缓存二维码,这样用户就可以在网络 (WIFI) 良好的时候就把二维码下载到手机中。
买家客户端提供类似Web端的服务,可以完整地浏览系统中任何一件商品。也可以操作购物车,添加、删除、修改购物车中的商品数,查看订单等功能。
图6 买家客户端使用二维码流程
3、结语
基于手机终端及移动通信网络的电子票务交易系统研发 (项目201204LX124) 获得2012年广西高等学校科研项目立项,目前已经在桂林部分景点正式投入使用,并获得良好评价,随着电子商务的不断发展壮大,电子票务交易系统将会逐渐普及,有效推进信息化建设。