基于微服务的地铁互联网票务系统

(整期优先)网络出版时间:2021-11-22
/ 2


基于微服务的地铁互联网票务系统

王嘉 吴凡

福州地铁集团有限公司, 福建 福州 350004

摘要:随着移动通信网络的普及、相关技术的成熟以及乘客支付习惯的巨大变化,引入以手机支付为代表的新型技术,可以解决传统AFC(AutomaticFareCollectionSystem)业务中现金、票卡管理的难题,从而减少运营过程中的大量资源投入。由于技术的发展,地铁购票、进出闸机等信息的细节条目逐渐增多,为后台根据不同数据生成统计财务信息、掌握地铁人流动向等报表提供数据条件。在进行后台服务管理时,涉及管理功能种类多而繁杂,经常会对现有的模块进行增删改查。而传统系统对每个新增的服务都会涉及到大面积的系统修改,无法承载日常报表需求。

关键词:地铁;微服务;售票系统;票务平台

引言

在新时代,地铁自动售检票系统正出现呈现多元性、云端性和便利性的特点。作为日常出行的重要方式,地铁客流量与日俱增,人们往往需要排队购票,车站的终端售票设备随着使用年限的递增,维护成本也大大增加。另外,随着互联网和手机移动端的飞速发展,各类支付型APP逐渐普及,手机完成支付操作已经成为社会发展的主流。在时代快速发展的背景下,对地铁支付的形式提出了新的要求,二维码支付方式应运而生。

1概述

随着移动互联网的飞速发展,智能设备得以广泛应用,移动设备缴费、购物等也成为了社会发展的主流。在购票的过程中,闸机验票是不可忽视的环节。NFC是验票中应用的重要设备,也可采用一维条形码和二维码等多种验证方式。受手机功能的影响,NFC尚未大范围普及。一维条形码自身具有诸多的不足,无法存储大量信息,故而网络购票的人数呈逐年上升趋势,与此同时,二维码验票受到了人们的广泛关注。

2系统总体设计

整个平台采用基于SpringBoot的微服务架构搭建而成,将应用进行拆分,实现敏捷开发和部署。使用SpringBoot自带的注解功能进行功能构造。在应用程序pom文件中增加Actuator服务的依赖来生成心跳请求。以分层能力输出的方式,实现平台所需的各种业务功能要求。每个系统层次都可为相邻层提供独立的能力输出和业务保障。相比于传统系统,微服务架构系统不存在重复开发、代码耦合等问题。修改不涉及到整个框架,满足高并发下的企业业务需求。整个框架可以被分成三个部分,分别是终端层、功能层和微服务层。

在终端层中,管理员和财务人员通过搭建在服务器上的地铁互联网票务系统的网页,使用可视化的系统资源管理平台和工具,便于能够及时了解系统运行情况,调整系统运行参数,解决系统故障,进行必要的操作。根据不同的管理员权限,打开的用户界面不同,可以进行不同的操作。

在功能层中,系统主要提供了账户管理、数据报表、数据分析、系统管理、风险管理和设备管理六个主要功能,进行服务功能输出。

在微服务层中,各个服务互相独立,可以单独扩展,收到不同的数据库的支持,包括账户管理、支付管理、清结算管理、风险管理、参数管理、密钥管理、信息管理、系统管理、设备管理和交易管理。SpringBoot作为平台的微服务治理框架,使得各容器包含一个资源独立封闭完整的运行环境,为微服务的封装和运行提供了载体,使各个服务被分开来单独封装成为可能。在建设系统的过程中,各个服务模块互相不干涉,对模块进行增加修改或删除的操作时,不会对整体系统造成影响,减小操作成本。每一个微服务采用HTTP机制,使用API的设计概念,各微服务间通过REST模式进行通信得以实现交互。同时这种同步通信的方式相比于异步通信更容易实现,技术更加灵活。

3二维码数据的传输机制

二维码数据传输系统,对乘客进出站信息、购票信息进行大量高效的传输,并通过乘客的手机移动终端进行数据交互,使乘客可以第一时间掌握自己的购票检票状态,遇到问题以便及时处理,如图2所示。软硬件交互模块主要包括两个部分构成:终端交互模块和自动检票机验证交互模块。出于对乘客信息、购票记录、检票记录等个人信息的保护,需要将乘客购票时间、乘坐地铁线路、进出车站名称、进出自动检票设备位置、进出站时间等具体信息及时快速地上传至数据库。数据库的搭建主要包括Machines、Metrolines以及MetroStations。前者主要的作用是收集乘客乘坐地铁线路的名称和进出地铁站的名称,主要用来存储外键,其可以直接链接至表,明确地分析和标注地铁站所属地铁线。后者需要在系统中录入闸机编号、序列号和具体位置等信息,其也需要链接到表,在系统中需要明确标注闸机所在的地铁站。除此之外,乘客还可以根据自身的需求,对账户内部的购票信息进行分类,对未使用车票分为一次性车票和计次票,对已使用车票,则可以查看具体的使用信息,包括购买时间、进出车站时间和站名等。虽然这会产生诸多的数据信息,但是数据库的压力也会随之减小。UnusedTickets中主要显示票价及购票支付的时间,UsedTickets可链接到Users表,表明车票的购买者,并显示票价和购买时间。且可以表示乘客进站的闸口和出站的闸机,还可以显示乘客入站和出站的时间。TicketsInUse可链接到Users表,从而明确购票者,且内部应显示购票的票价、购票的时间,明确用户进站的闸口以及成功进站的时间。购票信息处理是服务器的主要任务。若乘客使用客户端购票,则服务器会根据购买车票所需的金额生成支付请求,客户端可第一时间收到订单的反馈信息。乘客可利用移动设备实现在线支付,若未支付成功,则需继续返回至支付页面,服务器可为票码加密,之后将重新生成的字串直接反馈给客户端,即可成功购票。

4地铁票务系统管理功能模块设计

4.1账户管理功能

App账户注册后,调ITP(互联网票务平台,以下简称ITP)账户注册接口,ITP平台将为用户开通支付账户和积分账户。

(1)实名信息功能。用户开通二维码后付费业务将调取第三方支付渠道(支付宝)实名信息接口,经用户同意后输出用户实名信息,所有开通二维码后付费业务的用户都是已签约用户,他们的状态都是已实名状态。

(2)积分账户功能。开户时同步开通用户支付账户和积分账户。同时ITP提供积分赠送接口和查询积分接口,app为了提高用户打开率,激活用户多使用,可以设置签到送积分,购票送积分等功能,在用户签到或购票后可以调用赠送积分接口赠送用户积分,app可调用积分查询接口使用户可以查看到自己积分赠送及使用明细。

4.2支付管理功能

(1)票卡管理功能。使用票卡管理的界面进行管理,对信息如票卡编码,票卡名称,服务名称和支付类型进行以下操作:以表格的形式呈现信息,重置查询时间,按条件查询,新增信息行,修改信息和删除信息。

(2)支付渠道管理功能。使用支付渠道管理的界面实现平台对第三方渠道支付的管理,对信息如统一接口,对支付渠道的管理,自定义支付渠道的相关信息等进行以下操作:以表格的形式呈现信息,重置查询时间,按条件查询和导出列表。

结语

地铁是人们日常出行不可忽视的重要交通手段,基于微服务的地铁互联网票务系统可以便利的提供更多在线服务,包括账户管理,信息管理,清结算管理等功能,使运维人员更加便捷的获取地铁客流情况,减少开发与维护成本,对于社会建设有不可忽视的作用。

参考文献

[1]巩奇.城市轨道交通智能售票系统服务设计优化研究[J].自动化应用,2017(2):21-23.

[2]湛维昭,张森.城市轨道交通互联网票务系统建设研究[J].自动化应用,2017(5):38-40,48.

[3]王大彬.基于二维码支付的地铁自动售检票系统[J].科技视界,2020,(11):1-4.