V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
工单节点使用指南
• 请用平和的语言准确描述你所遇到的问题
• 厂商的技术支持和你一样也是有喜怒哀乐的普通人类,尊重是相互的
• 如果是关于 V2EX 本身的问题反馈,请使用 反馈 节点
avastms
V2EX  ›  全球工单系统

12306 的排队机制是谁设计的,怎么想的

  •  
  •   avastms · 28 天前 · 6800 次点击

    一旦排队,就不能尝试其他车次的票。

    然而当前排的队,并不保证能买到票。

    等排完队,告诉我没票?

    这时候别的车次也卖光了。

    咋想的? 就不想我买上个票了是吧?

    我线下火车站买票,我排完队,一个车没票了,让我回到队尾重新排是吗? 你看火车站给不给你掀喽?

    你那叫排队吗?那叫赌博好吧,你把那个提示换一下,正在进行轮盘赌

    你没票归你没票,你以没票为借口,巧立名目故意不卖我票,这性质可不一样啊

    我正想跟 12306 说道一下这个事,无论我是拨打电话,还是网上投诉渠道, 我感觉都没办法投诉到你呢,排队机制的设计者,好的不学,把网络平台推卸责任这一套都学会了

    第 1 条附言  ·  28 天前
    不是候补,是实时购票的排队。

    同一时间只能在一个车上排队; 排队并不保证最后有票。
    排队需要较长时间;

    已知只有 100 个座位,但放了 200 人进入排队。
    同一时间不能排多个队。
    排队需要时间才能知道结果。

    只要排队人数超出票数,而排队时间大于其他车次票被抢光的时间,这部分人就一定没法买到票。

    这个机制等同于按照 12306 的偏好,决定一批人不能买到票。
    你可以说你票卖光了,但你怎么能设计一套黑箱机制,故意造成一部分人买不到票,然后用没票搪塞?


    另外我不明白了,这帮觉得 12306 业务复杂度世界第一的,谁非得让你火车票玩秒杀了?
    运力不足以人手一张票可以,大家全走候补模式,提交出行需求,抽签,公平决出不能满足出行需求的人,被迫没法满足出行需求的人,下次抽签的时候加权重;即便决定我买不上票,我也心服口服,就算是履行社会义务。

    你这倒好,按照现在这种蹩脚机制决定一批人买不上票,能不让人骂娘?
    第 2 条附言  ·  28 天前
    我的印象没错,之前的 12306 排队是会提示前面的人数和超过票数的,这样做是没问题的。
    哪年开始被谁给优化掉了,匪夷所思。

    还加入了啥慢速排队功能,就是故意不卖票,
    https://k.sina.cn/article_6421928541_17ec6da5d0010039wl.html
    我踏马真人手动手机 4G 买票好吗,给我排队十分钟

    你工资一半可是我税款里来的
    我信任你,你故意坑我,这是人干的事吗

    另外这系统都 10 年了,10 年人家火箭都自己造出来了,但却不足以你 12306 圆满地解决一个买票问题
    109 条回复    2021-09-26 02:55:45 +08:00
    1  2  
    iisky1121
        101
    iisky1121   27 天前
    同时排队多趟车次,感觉实际效果是一样的,你排多个车次,别人也同样,而且好像系统复杂性增加了不少,一样解决不了实际的问题,归根到底还是狼多肉少

    还有一点,不增加这个不知道是不是也有可能是因为存在很多人连基本的购票都不会操作,功能越简单应该才越好,毕竟这个不是为部分人服务的软件
    encro
        102
    encro   27 天前   ❤️ 1
    @kop1989

    #85

    首先要达成共识:

    1,楼主的需求是真实存在的,比如我希望 10.1 去从 X 到 Y,上午 8 点到下午 9 点所有车次都可以,只要能买上一张票就行,这个需求也是合理的;
    2,好的排队系统,并不能解决实际解决买票问题,实际问题还是车少人多;
    3,我们相信设计排队系统的人也不是傻瓜,现有软件方案上是比较高性能的一种解法;


    讲两个故事:
    1,在我刚毕业的时候,大概 2005 年,为公司做一个软件,老板告诉有一种技术,可以不用刷新实时页面内容,而且不是 iframe,老板不太懂技术,我认为老板搞错了,后来我才知道这种技术叫 Ajax ;
    2,09 年左右,我为一家公司开发 OA 系统,老板希望所有 OA 账号和资料都集中化存储管理,那时候市面上还只有传统 OA,每个公司部署一套系统,很多人都认为不可实现,最后我们还是实现了,而现在的企业微信和钉钉,恰好就是这种架构。

    我想表达什么:
    1,技术人有一种本位主义,容易让我们从现有条件、同类解决方案去思考问题,认为很多事情不可能,这是我们每个人应该避免的;
    2,我么真正应该思考的是: 1,需求是否有价值(哪怕看起来不合理、现有条件不满足)? 2,如果需求是有价值的,那么满足需求的条件是什么?我们如何才能达到这些条件? 3,如果现在条件还不成熟,什么时候大概条件会成熟?
    3,一些再技术上看起无法实现或者不合理的需求,如果真的实现了,可能商业价值巨大。

    然后,回到楼主问题本身:
    1,如果 12306 能实现指定多个车次,时间段排队,有价值吗?
    2,如果问题 1 有价值,有没有一种更好的数据结构或者排队处理方式,技术上可行吗?

    我对以上两个问题的回答:
    1,有价值:至少可以节省很多人的时间,不用一次排不上,再重新去排队了,用计算机的时间去节省人的时间,是划算的;
    2,技术上具备研究价值,可行性需要进一步探索:现有方案人们反复排队所消耗的资源,不一定比一次排队反复计算的少。一次排多个队架构实现上具备可行性。


    接下来可以聊技术上的可行性实现方案了:假设原来是一个订单交由一个 worker 一次性处理完成,那么我们可以增加一个层,将原来的一个订单,首先交由这个中间层拆分成为多个子 task,这些子 task 是顺序执行的且仍然交给原来的 work 完成,不同是子 task 任何一个完成了,都算订单完成,所有 task 都失败,才算失败。这里面需要消耗的是中间层的资源,增加了排队等待和顺序处理成本,究竟值不值得,是否由更好方案,有待进一步考证。
    sun019
        103
    sun019   27 天前
    教 12306 设计架构?哈哈。
    12306 的架构在国内电商算是顶尖水平了吧。
    还故意不卖给 LZ,真以为自己是 VIP 呀。
    avastms
        104
    avastms   27 天前
    趁着翻页再稍微总结一下,

    重点不在于技术细节上如何实现有什么障碍,而在于现在在流程上有确定会造成一部分人办不成业务的设计。

    这就相当于,前些年在你点提交订单的这一刻,故意给你弹三次验证码,故意让你重新登录,等你填完验证码,走完人脸识别,票没了。

    而为什么判断你要填验证码,谁需要谁不需要,乃至有 20%以上的误判率,这都是 12306 随意处置的。

    客观上相当于,随意选择一部分人,不进行服务。

    你能想象吗,每天 zf 办事大厅,因为来办业务的人很多,就随意选择一部分人,告诉他们,现在觉得你形迹可疑,请你出去,不接受你办理业务?
    encro
        105
    encro   27 天前
    @binux

    #96 然而这样解决不了任何问题,楼主依旧买不到票。最多就是一次性让你放弃罢了。

    解决的问题就是节省了重复排队的时间。假设全国每年一亿人次重复排队每多花了 5 分钟(大约等于 950 年),这个价值已经很巨大了.
    kkshell
        106
    kkshell   27 天前
    要坐两趟车的我就苦逼了,VIP 也买了,每次都是只抢到一趟,到出发前只能退掉抢到的那一趟去坐顺风车(虽然每次都抢不到,但还是抱有希望),还 tm 扣我手续费(咬牙切齿)。
    Damn
        107
    Damn   26 天前
    自从 12306 与奋斗逼企业合作之后就越来越恶心了。
    排队这些都是小事,我来说一个:
    不知道你们什么情况,要么是我脸黑,ios 上的客户端基本上每个月都要我验证一次人脸,或者选择花 1 角钱发短信给他,犹如月经。
    Damn
        108
    Damn   26 天前
    @Damn 不完成这一步骤账号在网页版也是无法登录的,跟冻结微信号有异曲同工之妙。
    g22k
        109
    g22k   26 天前 via Android
    应该是等待代付款订单过期,然后再添加库存。
    1  2  
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4191 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 02:33 · PVG 10:33 · LAX 19:33 · JFK 22:33
    ♥ Do have faith in what you're doing.