上海地铁为什么每次充完钱换乘优惠就没了?

发布时间:
2023-08-24 12:39
阅读量:
16

这是个技术问题。解释这个特性需要了解整个上海交通卡系统的运行机制。

因为利益分配的原因,整个上海的公共交通系统都非常排斥交通联合。巴士、地铁、磁浮、金山铁路、张江有轨都和交通卡公司独立签订协议,独立进行结算和利益分配。在上海使用上海公共交通卡绝不会通过交通联合系统结算。

巴士、地铁、磁浮、金山铁路、张江有轨这5家公司的收费模式差异很大,售检票系统的技术模式天差地别。他们不可能互相读取对方的售检票数据。因此要实现换乘优惠,必须引入一套中间接口,将上一次乘坐公共交通的信息传递给下一次乘坐的公共交通系统,这个中间接口被称为“换乘标记”。

因为各公交系统不可能互相读取交易记录,所以这个“换乘标记”其实十分简单,就是每次交易都在卡内记录交易的时间戳。刷卡时读取时间戳,根据时间判断是否执行换乘优惠。这么操作不需要对IC卡进行任何改造,因为记录最后一次交易的时间戳和刷卡机的编号是IC卡本身就具有的功能。

但是这样的技术实现存在一个漏洞:充值也是交易,也会留下一个时间戳和刷卡机ID。不明真相的刷卡机会认为刚进行过充值的卡需要执行换乘优惠。所以通过另一种简单粗暴的方式堵住了这个漏洞:ban了所有充值机的ID,所有最后一次交易是在充值机上进行的卡全部不执行换乘优惠。

不过其实还有一个漏洞:只要在地铁出站闸机上刷一下卡,留下一个交易失败的交易记录,其他公共交通系统还是会认为需要执行换乘优惠。这个漏洞目前还没被堵上

终极解决方案是全面接入交通联合系统,实现所有公共交通系统的数据互通,一切漏洞和补丁都迎刃而解。不过在利益分配面前,这点问题大概是改变不了什么。

END