原来工做一直在市民卡公司,接触到的都是一些和卡相关的业务系统.准备总结下,不要总是站在代码实现的角度上了,站的更高一点总结下,初次总结,仅供参考.数据库
现阶段来讲, 各个城市的公交卡已经使用的很普遍了. 虽然尚未实现各个城市之间的互联互通,可是最起码各个城市自身的公交卡系统运转仍是比较成功的.安全
通常状况下公交卡都不是公交公司发行的,基本每一个城市都会有一个公司专门发行管理这些卡片,而且对卡片的交易进行清算,而且和其余银行,公交公司,地铁公司进行帐务结算。这个公司通常都是市民卡公司(固然,这个不是绝对的)。网络
咱们假设某个城市的公交卡只能刷公交车,而且是由该城市的市民卡公司发行的卡片,那么,这个公交卡在一笔交易的过程当中会有哪些公司参与,会发生哪些活动呢?spa
在这个过程当中,首先咱们会带着卡片在公交车上的终端POS机上刷卡,而且,会被扣掉卡片里面存储的一部分金额。这条信息就被存储在了这台POS机的内存设备上,当天天的公交运营结束以后,这台公交车会回到公交公司,会有专人对这个POS机上的数据进行采集,而后导入到特定的系统中进行转换计算,公交公司通常都会有一个本身的系统来对这些数据进行统计处理。同时,这些数据会被经过网络传送到市民卡公司的系统里,市民卡的清算系统会对这些数据进行处理,计算,在市民卡公司处理的这个过程当中,这张公交卡在市民卡公司的数据库里的帐户中的金额才会被减小。最后,市民卡公司的系统会出财务报表,为市民卡公司和公交公司以及银行对帐,付款提供依据。内存
首先,咱们说下,公交卡上的钱究竟是存储在哪里的,公交卡和银行卡同样么?后台
市民卡的清算会出错么?终端
1. 公交卡上的余额是存储在卡片内部的。对这种状况,咱们通常称为“电子钱包”。公交卡和银行卡是不同的,银行卡几乎全部的信息都是存储在系统后台的。这个和两种卡片的用途特性有关,通常,公交卡咱们最多充几百块钱而已,都安全性要求比较低,而银行卡就相反了。可能会有人问,那个人公交卡挂失的时候怎么办。市民卡后台的数据库中对每一张卖出的卡片都有对应的帐户存在,卡片丢了,后台数据库还在,全部,通常挂失仍是没有问题的。可是根据上面说的处理流程,通常这种脱机的交易从交易发生到扣除帐户余额中间会有大概好几个小时甚至一成天的时候,全部,公交卡挂失通常状况下处理时间都比较长,可能须要好几天来确认,不然,有人捡了你的卡,去超市刷爆了,市民卡公司还赔给你了岂不是亏了。(不少城市的公交卡都会卡通小额脱机交易的功能)。统计
2. 市民卡的清算过程当中出错是时有发生的,特别是如今的交易量愈来愈大,车辆愈来愈多,还有一些多级票价处理,以及异地互通的状况,都会加大出错几率。首先,人工采集公交POS数据的时候就可能会有遗漏,也可能某台POS机坏了。可能由于网络的关系,在传输的过程当中丢包了,或者重复传输了。种种状况都会产生各类错误。可是,通常对于公交卡这种特殊的卡片来讲,这种错误是在容许范围内的。总结