搜索
热搜: 活动 交友 discuz
查看: 914|回复: 7
收起左侧

这软件太牛逼了

[复制链接]

该用户从未签到

发表于 2016-1-8 17:02:46 | 显示全部楼层 |阅读模式
这软件太牛逼了哈哈一下给我这么多票干嘛是卖不完么,给的还是连号。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?入住

x
  • TA的每日心情
    无聊
    2015-12-27 15:56
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2016-1-8 17:21:48 | 显示全部楼层
    从这类现象基本可以映证12306系统有很多个分布式服务器在并行处理各个订单,采用多服务器的目的就是为了分流这些订单。
    理论上说,如果同一台电脑用不同帐户登录为相同出行者刷票的话,因为走的是同一个网络(IP),所以一般也应该把这些订单分配到同一个服务器中进行处理。
    而由于服务器有排队机制,所以只要多个相同出行者订单在这个服务器中处理时,一定可以通过查重等手段发现后一个请求是冲突订单而警告已有订单(这也是大家早已习惯的现象了)。
    现在,居然没有发现冲突订单,只能说明更大可能是相同出行者的订单或因在不同地方不同电脑前同时刷而被分配到不同的服务器上进行处理——由于时间相隔特别短,各个服务器在与数据中心的主服务器查重比对的瞬间,都获得了没有订单的响应,所以它们就都视为唯一的订单放行。最后汇总到数据中心的主服务器时,自然就因前面“把了关”而生成了两个订单了。

    比较好奇,所以请楼主回应一下,是否是几人用不同帐户在为同样的人同时刷单?是在同一个单位或同一台电脑中刷还是在不同地方不同电脑刷呢?

    点评

    同一台电脑刷同一个账号刷的,我也是没有事前两天订一张票怎么都订不住,昨天闲来无事我就试试看到底怎么回事,谁知道抢到了,不过再抢的过程有点小插曲,正在排队呢眼看到了谁知把我踢了我心都凉了,好在这个软件有  详情 回复 发表于 2016-1-8 20:09

    该用户从未签到

     楼主| 发表于 2016-1-8 20:09:39 | 显示全部楼层
    本帖最后由 好心情啊 于 2016-1-8 20:13 编辑
    core 发表于 2016-1-8 17:21
    从这类现象基本可以映证12306系统有很多个分布式服务器在并行处理各个订单,采用多服务器的目的就是为了分 ...

    同一台电脑刷同一个账号刷的,我也是没有事前两天订一张票怎么都订不住,昨天闲来无事我就试试看到底怎么回事,谁知道抢到了,不过再抢的过程有点小插曲,正在排队呢眼看到了谁知把我踢了我心都凉了,好在这个软件有快速登陆功能我又迅速登陆上好像电脑又提交了一次但是提示正在排队让等结果出来4张票晕啊,难道这就是12306的漏洞,看来12306在抢票提交的时候最好不要乱踢人啊要不然都订双份票了哈哈

    点评

    对,你这个排队瞬间被踢,说明有人用你的代购代码登录,即远端有同一帐户登录进去,或许他也排队了。即使他未排队(又被你快速登录踢出),因为你快速登录后再次接续,所以也可能同时产生两个订单——而在排队时,已  详情 回复 发表于 2016-1-9 10:48
  • TA的每日心情
    无聊
    2015-12-27 15:56
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2016-1-9 10:48:03 | 显示全部楼层
    好心情啊 发表于 2016-1-8 20:09
    同一台电脑刷同一个账号刷的,我也是没有事前两天订一张票怎么都订不住,昨天闲来无事我就试试看到底怎么 ...

    对,你这个排队瞬间被踢,说明有人用你的代购代码登录,即远端有同一帐户登录进去,或许他也排队了。即使他未排队(又被你快速登录踢出),因为你快速登录后再次接续,所以也可能同时产生两个订单——而在排队时,已跟服务器端核查过此帐户没有待处理订单之类纳入了排队队列。那么这种重试的同一帐户同一订单再次提交到服务器端时,因为前一订单尚在排队队列中并未生效,所以服务器端仍判断为此帐户没有待处理订单而放行归入排队队列。自然,依序处理这个排队队列中的订单后,就“正常”生成了两个订单了。

    所以,根据你的操作回忆,基本可以判断12306系统数据查重中的一个漏洞:即,只实时查生效订单,没有考虑还应该同时查排队队列中的待生效订单。如果他们完善一下系统,就不会出现这个可能了。

    嗬嗬,由于有抢票软件的存在,这种瞬间重试和挤入的可能性就放大了。所以,从这个角度,放票瞬间没有抢到票的勿灰心,继续刷,或许象你这种极端情况者,在为一订单付款后,显然也只能取消这个重复订单了。此时,其他人就有机会了——当然,这种机会太少。

    该用户从未签到

    发表于 2016-1-9 11:24:16 | 显示全部楼层
    也试过两个账号两台电脑,为同一个出行者订到同一趟车的不同座位,因为两台电脑相邻,看当时软件显示排队人数,差不多也是相邻排队的

    点评

    你的现象也类似前面分析的一样。虽然你是用两个帐户,但也是为同一出行者刷票。所以,前一个排队前跟系统数据中心查重,没有发现此出行者有行程冲突票,就纳入排队队列等待匹配余票确认出票。此时,紧挨着的订单也跟  详情 回复 发表于 2016-1-9 12:00
  • TA的每日心情
    无聊
    2015-12-27 15:56
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2016-1-9 12:00:38 | 显示全部楼层
    PARTIII 发表于 2016-1-9 11:24
    也试过两个账号两台电脑,为同一个出行者订到同一趟车的不同座位,因为两台电脑相邻,看当时软件显示排队人 ...

    你的现象也类似前面分析的一样。虽然你是用两个帐户,但也是为同一出行者刷票。所以,前一个排队前跟系统数据中心查重,没有发现此出行者有行程冲突票,就纳入排队队列等待匹配余票确认出票。此时,紧挨着的订单也跟系统数据中心查重,由于前一个等待匹配的排队订单尚未正式生效,系统自然也认为这个新订单符合出票要求,也同样纳入排队队列等待出票——而进入队列的,系统就简单仅根据余票分配,即只要轮着它有票时,就订单成功。

    所以,改进12306系统的办法有二:
    1、在纳入排队队列时,除了查数据中心已生效的订单外,同时查排队队列中未生效的订单。
    或者:
    2、当处理排队队列订单时,再次跟数据中心已生效的订单比对,发现有冲突订单,放弃后续订单生效处理。

    点评

    层主分析的真好 但是有一点小小的疑问,提示行程冲突都是在排队完成之后才有的,所以您说刚加入队列就要查询是否行程冲突,这个好像与现在排队完成之后才提示不符合,当然也不排除加入队列之后就马上查询,但是要等  详情 回复 发表于 2016-1-9 16:21

    该用户从未签到

    发表于 2016-1-9 16:21:28 | 显示全部楼层
    core 发表于 2016-1-9 12:00
    你的现象也类似前面分析的一样。虽然你是用两个帐户,但也是为同一出行者刷票。所以,前一个排队前跟系统 ...

    层主分析的真好
    但是有一点小小的疑问,提示行程冲突都是在排队完成之后才有的,所以您说刚加入队列就要查询是否行程冲突,这个好像与现在排队完成之后才提示不符合,当然也不排除加入队列之后就马上查询,但是要等排队结束才给你发送这个信息。
    不过更倾向于排队完成后才做行程冲突查询的工作,然后又有一个疑问,当提示行程冲突的时候,到底是订到票了还是没订到呢?这是我一个同事的疑问,他因为忘记前一天已经订了一张票,后来刷到第二天更好的车次,却提示行程冲突没订到而非常懊恼。我认为即使行程不冲突他也未必订的到,系统应该是先看是否冲突再看是否有票分配给用户吧?

    点评

    当提示有行程冲突时,该出行者一定有一个已生效的订单,即之前已购到票了。那么,当他再次提交订单时,这个订单其实基本成功,可惜因行程冲突导致不能最终敲定——即假如他之前没有购到票,则这个订单一定可以成功。  详情 回复 发表于 2016-1-9 18:23
  • TA的每日心情
    无聊
    2015-12-27 15:56
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2016-1-9 18:23:55 | 显示全部楼层
    PARTIII 发表于 2016-1-9 16:21
    层主分析的真好
    但是有一点小小的疑问,提示行程冲突都是在排队完成之后才有的,所以您说刚加入队列就要 ...

    当提示有行程冲突时,该出行者一定有一个已生效的订单,即之前已购到票了。那么,当他再次提交订单时,这个订单其实基本成功,可惜因行程冲突导致不能最终敲定——即假如他之前没有购到票,则这个订单一定可以成功。
    您需要登录后才可以回帖 登录 | 入住

    本版积分规则

    申请友链| Archiver| 手机版| 鱼·后花园

    GMT+8, 2024-9-29 20:18 , Processed in 0.034625 second(s), 26 queries , Redis On.

    Powered by Discuz! X3.4

    © 2005-2024 鱼·后花园

    快速回复 返回顶部 返回列表