何其有幸、何其不幸。有这种感触要从一次抢票说起,春运回家,实乃人生一大乐事。可是,火车票,这个对于小城市的我来说必不可少的东西,让我无话可说、无言以对、无能为力、无可奈何。
夸张的形容,1秒的时间,放出来的票全没,仅剩的几张要么无座,要么半夜到达。若干抢票软件,为我们带来了极大的方便,或是忘记买票,或是单身年份,抑或说手速不够。但我总觉得,资源浪费,是这些抢票软件的一大弊病。意识到这一点,是从12306不堪重负进而崩溃的那一刻开始。我也见证过12306的努力,增加自动刷新,候补订单等,可惜收效甚微,毕竟,抢票软件以抢票为生,生存,是一件大事,比什么都重要。然而,这些不是我要考虑的重点,毕竟我是一只程序媛,一只搞技术的程序媛。
我在这篇博客中提出的,是一个模型,或者说,是我理想中的12306,实用性无可考证。
这个模型主要应用于“放票”前,也就是各大软件的抢票阶段。在放票前的一段时间,比如一个月,系统接受预定,同一个预定订单分为三级或者更多,满足一级,则不再满足二级,满足二级,则不再满足下一级。用户在订票时可以根据自身需要,一级设置为较为难抢的,比如高铁,比如卧铺等。二级则可相对“难受”些,比如时间不太合适的,或者硬座等。三级嘛,只要是可以的,广撒网。然后,票不够的问题一定很明显,尤其是用户的一级需求。那么,又该凭借什么,把票给对应的用户呢?或许是预定时间早晚,或许是年龄,或许是紧急程度,我们可以给予用户一年的几个紧急名额等等,优先满足,毕竟,回家的要比旅游重要些。然后,应用概率学,根据加成系数随机放票。从用户的一级订单开始,满足所有、或者部分一级订单后,再考虑二级订单,然后继续,每一趟列车均如此。一级订单如果中了多个,则保留第一个,其余皆按此规律,退回的票,则参与到重新分配中。在这部分算法中,可能会存在一个无穷的循环,就是存在多个运气逆天的人,导致重新分配多次。另外,就是放票后,抢票名额如何处理,这些都是需要权衡的。最后,就是按照这样的分配方式,是否公平,是否符合现状,是否合理。还是那句话,我只是只程序媛,只需考虑我的“分糖”算法是否能正确运行,其他的,请相信相关部门。
何其有幸,在这个通讯便捷、交通便捷、生活幸福的时代生活;何其不幸,我没抢到回家的票。开个玩笑啦,生活在这个年代,本身就是一件幸福的事,书信秒到,车马飞快,也希望一生只爱一个人。