西西河

主题:【原创】身为码农,为12306说两句公道话 -- 代码狗

共:💬137 🌺892 🌵3
全看树展主题 · 分页首页 上页
/ 10
下页 末页
家园 我再补充一种出票策略

拍卖法可以留给高铁和动车的一等座商务座观光座软卧什么的,反正坐这些座位的人多数都是市场经济的拥趸,就让他们爽一把。

抽签法:这个方法是比较公平的,但是时间上不能给乘客即时的结果。乘客需要一段时间才能知道自己买票是不是成功,这种情况下会非常纠结:要不要考虑别的回家方式呢?

如何防止黄牛?在现行抢票式售票方式下,我建议这样做:

1.预存票款,抢票成功后即时扣款。这个方式下,黄牛如果要抢票,需要大量的资金投入。

2.为了防止黄牛将退票款转嫁给购票人(其实也可以理解成购票人花高价委托黄牛购票——此时两者是利益共同体),本车次的票一旦售罄(判断车票是否热门),那么该车次的所有车票即进入“不准退票”状态。此规则可事先声明。也就是说,车票一旦售罄,找黄牛也没有用。黄牛抢下来也没法子把车票上的身份证号换成你的。

3.凭身份证进站。这是必须的。

以前焦点访谈还说了个黄牛卖票的方式:

譬如北京到上海的票紧张,黄牛先用自己的身份证买下若干北京到上海的票,让乘客以自己的身份证到窗口买一张同车次的短途站票(譬如北京到沧州的)并据此上车,上车后就可以坐黄牛给他的票的座位。要解决这个问题,还要加上一点:

4.列车发车后,没有上车的乘客的票即时回仓在下站继续出售。

家园 再补充:退票拍卖

收到退票,在网站上公布退票人,退票时间,身份证号码,总之,证明票不是铁路内部有意保留。

然后,退票进入拍卖系统,价高者得。

家园 请教个题外话

为啥只有铁老大的是“资深推荐”。而别人只能通宝推?

家园 直接下属的意思,呵呵。
家园 俺认为最好的方式就是限时限速

比如 用户在打开12306网站的购票页面的时候,12306的后台服 务器就同时开始计数,这个时间可以限定一个数字比如说60秒。只有过了这60秒才可以正常的购票程序,而这60秒的时间里,12036的后台可以给这个用户的IP排队,进入排队序列。

当用户正确输入验证码之后,12306的后台在给用户第二次排队60秒到180秒,这样理论上可以防止抢票插件带来的时间优势,因为这个时候,如过没有这个限速的化,使用插件的机器永远比人快。

同时这第二个限速时间也正好可以使12306的后台,有足够的时间来完成给用户购票的任务。

当用户确认购票之后,在来个二次确认,这个时间段在来个60秒左右的限时限速。同时使12306的后台把下个要购票的用户IP进入排队序列。

总的来说就是认为的放大12306购票时间的,这样的化,理论上就给了12306后台足够的时间来处理一系列看似变态的数据处理任务。

既然不能无限制的扩大后台的处理能力,那在后台处理能力的范围内,限制前台进入后台的进入量和进入时间,给后台留下足够的处理时间,可否。

同时 12306网上购票本身也要做个限制。就是把提前购票的时间放大,把结束购票的时间放短,比如楼主说的的G71 如果以前12306的购票时间是车次发车前的7-1天,现在(或是单单的春运及节假日),把它改成30-7天。

家园 我觉得这种设计不好

读多写少是确实的,但实际上也不需要为每个查询都查一遍。网页刷新一次怎么也要几秒时间,在用户查到余票后发出下单命令之前肯定又经过了若干秒,所以就算查到有余票也未必就能买到。反正余票显示不可能是实时的(只能算是准实时)。既然如此,网页显示的余票数量也不需要太精确。那么干脆这样好了:

系统定期(譬如每隔5秒)查询一下136个商品的数量,做好缓存。如果有网页来查询余票,只需要在这136个商品中查到期望的那1个就好。本来为每个网页请求都要查询一下的,现在只需要每5秒查询一次,每次实际查询136个商品数量,查询数量极大地缩小了。

如果出一张01号站到17号站的票,就把SKU01/SKU02....SKU16这16个SKU的库存都减一。

这样设计,就读写两便了。

家园 软件是凭巧力插队,与凭借暴力插队都是不公平竞争
家园 有人用有人不用才是插队

大家都用就不是插队

家园 说的很好,其实所有这些售票系统的本质

都是在inventory。其实要说起来,航空公司的inventory更加复杂,还包含了定价的部分。火车票至少在固定车次固定日期的固定票价是一致的,不会随日期变动。而航空公司的定价是随若干因素变化的,包含历史因素,节假日因素,供应因素和剩余票量因素。所有这些因素都是实时计算来订出票价的。感兴趣的朋友可以去搜索一下,所有著名的相关系统,不管是sabre还是amadeus或者国内的航信,核心技术难题必定在这一块。

当然,12306的量确实大。我认为和amadeus的全球数据中心有得一拼,在春运的时候应该更高。但是前台电商的部分和后台inventory的部分一定要分开。

最后说一句,定价其实是一个很有趣的技术,也应该算是高精尖了,可惜据我所知国内没有公司做相关产品。目前国际流行的基本是美国公司的技术

家园 公平的前提下,提高黄牛的囤票成本,阻断抢票插件。

技术再完美,对于购票人能否买上,关键靠运气(提交时间毫秒、微秒级的差异)。全额预交票款,然后抽签,退票款限定只能用于火车票消费。再现有条件下,一定要最大化黄牛的成本,阻止所有抢票插件,尽量公平才是王道。

家园 感觉你的模型过于复杂,或者出发点有问题使,模型不够简化。

没有网上售票前,铁路系统的票也是联网的。

他们肯定有最优化的模型/模式来售票,他们自己的事还得是他们自己人来搞。

毕竟他们卖火车票卖了那么多年,现在只不过是销售渠道变了。

家园 也提议几项

技术上当然越完善越好,但是12306的关键性问题不是技术问题,而是运力与集中性的需求之间的矛盾。需要网站技术与其他规定相结合才能更好的解决问题。

要打击黄牛,严惩黄牛,必须把铁路车票黄牛与一般票务黄牛区分开来,严惩铁路黄牛,尤其是春运期间。黄牛一旦被抓蹲个三五年,看谁还敢倒票?

另外根据往年不同车次的热点程度做一下价格区别,比如,同样是从北京到贵州,最好的车次票价贵上20%-30%,依次区分开来,让需求分散。防止出现集中抢同一车次的票的情况。

另外网站注册实行实名制。每个ID买自己同名的车票无限制(也要限制一点,比如春运期间一个人最多只能购买多少公里以内的车票),如果是帮别人买票,一次春运期间只能买N张。连续时间最长没有改签或退票记录的ID,以后可以优先购票。

写到这里,我在想如果我们的身份证可以刷卡就好了,乘车用身份证刷。每个身份证留下铁路乘坐记录,按记录分等级,买票时等级高的人优先。从来没买过票的人等级当然不会太高,买过票并且每次都按时乘坐的,信用等级最高。这办法还算公平吗?

家园 火车还是比飞机复杂。

首先火车班次比飞机多多了。

再次飞机可没有中途下机的说法,就算转机就转一两次而已。

家园 我的想法

冻结黄牛的资金流 现在主要抢票的手段是占坑 那么现在一个对应办法就是

1 预购制度 我有意愿要买 在放票前三天就可以打钱进预购了

2 放票后 资金只出不进 如果黄牛占坑了 那么好给你三天时间出票 取票不收钱 以后每长一天取票也有收钱 哪怕退票也要给

3 也就是说 持有环节要加钱 而且资金只出不进 黄牛需要大量资金来抢退票

让整个交易环节成本增加,对于不要票的人来说,只要三天退票问题不大

对于没有买到票的人来说 只要资金不出去都机会

家园 转一个链接,供大家批判学习

http://www.guancha.cn/society/2014_01_13_199420.shtml

这个链接作者几乎是指名道姓的批判楼主.......,当然,这个文章本身没有给出任何技术方案,档次还是差不少.

全看树展主题 · 分页首页 上页
/ 10
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河