大家好啊!
想了解一下火车站售票、退票方面的业务逻辑,
请熟悉这方面业务的朋友交流一下,谢谢!感觉售票部分应该挺复杂的,牵涉到多线程,还要防止一张票卖给多人;
凭经验好象在一个地方下车的乘客都集中在相邻的车厢,
还有就是,从上海到北京的车票,给上海预留的车票没有卖完,
可能会把车票再转给苏州(个人猜测)站继续卖细节问题太多,请大家讨论一下
想了解一下火车站售票、退票方面的业务逻辑,
请熟悉这方面业务的朋友交流一下,谢谢!感觉售票部分应该挺复杂的,牵涉到多线程,还要防止一张票卖给多人;
凭经验好象在一个地方下车的乘客都集中在相邻的车厢,
还有就是,从上海到北京的车票,给上海预留的车票没有卖完,
可能会把车票再转给苏州(个人猜测)站继续卖细节问题太多,请大家讨论一下
各种席别的列车的型号是什么,因为不同的硬座车型号,座位数是不一样的。楼主所提到的票额分配计划,是在离始发站最近的几个大站进行分配的,再以远就不分配票额了。另外,
比如说:列车途经,A,B,C,D,E,F,G 几个车站,铁路部门有权进行分段售票,比如说乘客 a 的乘车
区间是 A~C,这时 C 的出售的车站就可以将该座位出售给另一位在 C 站乘车的乘客。另外,在我国的铁路系统中,采取限制售票措施,比如说:还是上面那几个车站,规定在 A 站乘该次列车
时只允许购买 D 站及以后车站的车票,在 D 站以前是不进行发售的。每一张客票均要精确地确定座席,并且是当日当次有效。加上票种繁多、票价复杂、票额预分、座席复用
等等,这是真实的铁路客运系统的状况,非常复杂。大家都知道中国铁路的售票量是世界之最,每天售票量有 400 多万张,最大的并发请求数是 4000~5000。另外,你做售票系统的话,还得涉及一个很重要的东西,就是列车时刻数据的问题。在 TMS 中有一个称为
调度子系统的东西,这个系统用于调度人员对列车的开车时间,停车时间进行控制,安排合理的开、停、到
站时刻,铺画列车运行图,从而自动生成列车时刻数据的。
对于售票这个部分最重要的莫过于抢票把这点考虑好了售票业务就基本上满足了
至于退票问题,通常分两种情况,一种是收取手续费的退票,还有一种是不收取手续费的退票,即作废票,后者主要是防止已售出的票由于计算机或是其它问题而导致占用票号考虑的票程定额不知道铁路是怎么规定的,但就我们目前的系统,客户统一的意见是始发站尽量的多售票,将余票自动的转到下一站的售票计划中,比如:A,B,C三个站点,A的票价为200元,B为150元,C为100元,没有人愿意将A站的票留在B站或是C站去卖,为什么大家都想得到,呵呵,当然特殊情况除外...
●引用网友的留言●*******************************
(1)
铁路客运售票系统只是 TMS(运输管理系统)的一部分。 至于车票的数量是根据 TMS 中列车编组信息确定的,比如说几节硬座、几节软座、几节硬卧、软卧等等,
各种席别的列车的型号是什么,因为不同的硬座车型号,座位数是不一样的。 楼主所提到的票额分配计划,是在离始发站最近的几个大站进行分配的,再以远就不分配票额了。另外,
比如说:列车途经,A,B,C,D,E,F,G 几个车站,铁路部门有权进行分段售票,比如说乘客 a 的乘车
区间是 A~C,这时 C 的出售的车站就可以将该座位出售给另一位在 C 站乘车的乘客。 另外,在我国的铁路系统中,采取限制售票措施,比如说:还是上面那几个车站,规定在 A 站乘该次列车
时只允许购买 D 站及以后车站的车票,在 D 站以前是不进行发售的。 每一张客票均要精确地确定座席,并且是当日当次有效。加上票种繁多、票价复杂、票额预分、座席复用
等等,这是真实的铁路客运系统的状况,非常复杂。 大家都知道中国铁路的售票量是世界之最,每天售票量有 400 多万张,最大的并发请求数是 4000~5000。 另外,你做售票系统的话,还得涉及一个很重要的东西,就是列车时刻数据的问题。在 TMS 中有一个称为
调度子系统的东西,这个系统用于调度人员对列车的开车时间,停车时间进行控制,安排合理的开、停、到
站时刻,铺画列车运行图,从而自动生成列车时刻数据的。
*******************************
(2)
.....调度不在售票这个问题域里吧
*******************************
(3)
刚好最近也在做这样一个系统
对于售票这个部分最重要的莫过于抢票把这点考虑好了售票业务就基本上满足了
至于退票问题,通常分两种情况,一种是收取手续费的退票,还有一种是不收取手续费的退票,即作废票,后者主要是防止已售出的票由于计算机或是其它问题而导致占用票号考虑的 票程定额不知道铁路是怎么规定的,但就我们目前的系统,客户统一的意见是始发站尽量的多售票,将余票自动的转到下一站的售票计划中,比如:A,B,C三个站点,A的票价为200元,B为150元,C为100元,没有人愿意将A站的票留在B站或是C站去卖,为什么大家都想得到,呵呵,当然特殊情况除外...
*******************************
(4)
还是没有看明白这个业务逻辑哈。
抢票的问题应该怎么样来实现呢?或者说怎么处理呢。期待各位的解答中
*******************************
(5)
高手来讲一讲
顺便学习一下……
应该问售票员吧,呵呵
*******************************
(6)
编写程序实现火车站售票程序(以一节车厢为例): 下面是火车车厢内座位的布局,座位号从1到80;
其中1,2, 5,6位于一个间隔内,3、4、7、8也是一个间隔内的座位…
1 5 9 13 ……………… 65 69 73 77
2 6 10 14 66 70 74 78
过道
3 7 11 15 ……………… 67 71 75 79
4 8 12 16 68 72 76 80 售票规则总则 假设每次最多售4张;
售1张票原则:随便售出一张没有售出的票;
售2张票原则:优先售2张相邻的票、如果没有2张相邻的票就随便售出两张票;
所谓2张相邻包括:1和2; 3和4; 5和6; 7和8等等
以下情况不算相邻: 1和5; 2和3等等 售3张或4票原则:优先售一个间隔内的票;
如果剩余票数不足,就提示不足, 不售票.
如果不能满足优先原则, 则售任何位置的票.
*******************************
谢谢楼上朋友的回复,长见识啦,
经常乘坐火车,原来火车站系统这么复杂啊,呵呵...
之前跟朋友讨论过这方面的业务,具体没有参与过这方面的项目,
具体涉及到火车调度方面的部分,据说有国外的软件公司参与开发...