对铁道部购票系统设计的一点想法
昨日见报道太极计算机公司以1.99亿的价格中标铁道部“新一代客票系统一期工程项目”,将负责铁道部网上购买火车票的服务网站——12306.cn的基础设备以及硬件的建设。看这还只是硬件,如果再加上网络,软件,以铁老大的财大气粗,3亿元肯定是只会少,不会多,而以巨资构建的这个系统,效果和效率如何,还未知,暂不评价,从目前中国社会的发展来看,随着西部的大力发展,大量工厂的西迁,以及社会老龄化的加速,国人候鸟似的迁徙,我想会越来越少,而铁道部以巨资打造的这套系统,期望的使用年限是多少,是否有考虑到这些因素呢
好,抱怨了这么多,总得拿出实际的解决方案,是吧,我的想法很简单,并且能减少成本,而且效果可能不会很差,至少比现在的强,先来看看购票的一个实际用例
车次查询 -> 订票(下单)-> 支付-> 出票
自学编程开始,经常能听到前辈们的一句话就是对于复杂的东西,尽量采取分而治之的策略,而根据购票系统的实际情况,以及对于中国和谐社会的信任,把系统拆分为三个字模块,分别为
查询系统, 票务系统,支付系统
顺便调整一下用例:
车次查询 -> 『订票(下单)-> 出票』-> 支付
这样一来,支付和出票就不需要放在同一个事务里了,而只要下单成功就出票,铁道部应该充分相信咱的购票热情,多几百的黄牛票都愿买,还怕咱不给钱嘛,再说,以天朝的技术实力,匿名发个贴都能知道你在哪,现在有身份证号都有了,还担心个啥
然后再把这三系统分别外包出去,让更专业的公司来做,专人专事嘛
查询系统 - 中国现在这么多的电商,再加上3SB,我相信绝对有公司愿意免费做这个系统,假如,我是说假如,让百度来做,一,查询这小事,对于搜索龙头来说,还不是小菜一碟,都不用买新的硬件,就多加几个表,然后提供一个维护界面给铁道部就行了,以百度的技术实力,效率绝对杠杠的
二,可以为其带来巨大的流量,巩固其垄断地位
三,顺便可以做做广告,赚点旅行社的钱
支付系统 - 之前马总不是放出话来说过,只要国家需要,支付宝可以免费送的嘛,这得节约多大一笔钱啊
票务系统 - 这是核心系统,这个铁道部一定得握在手里,而且我相信这系统目前已经很成熟了,只需要做好与查询系统和支付系统的集成就OK了
最后新的系统看起来类似这样:
1. 登录查询系统
2. 根据搜索条件查得车次
3. 查询系统发起请求给票务系统取得各车次的余票
4. 用户发起预订请求,查询系统使其跳转至票务系统
5, 用户在票务系统输入支付帐号,下单
6, 票务系统只需把保存用户支付信息和出票放在同一事务即可,都在本地,比分布式事务应该快很多吧
7, 订票成功,通知用户
8, 票务系统后端与支付系统交互, 如果扣款失败,及时通知用户,逾期不缴者,送他一张法院传票,并且拉入购票系统,银行,淘宝黑名单。
以上便是本人一些不成熟的想法,从来没有接触过如此大的系统,更谈不上设计了,肯定有考虑不周甚至错误的地方,请指正,欢迎拍砖