抢票器的原理:变相的数据采集
2014年的寒假马上就要开始了,在外工作一年的人们可以回家团聚了。但是现在春运的紧张,导致一票难求。虽说现在有了网上订票和电话订票,方便了很多,但是这两个系统的承受能力真不敢让人恭维。不知道什么时候开始,每到这个时候,抢票器总会要出一阵风头。用过的人也是褒贬不一,究竟抢票器是什么原理呢?为什么本文会说其原理是变相的数据采集呢?
先来看一下中国铁路的官网工作模式。众所周知,目前我们可以订火车票的官方网站只有一个,不管什么时候都只能在12306上买。由于春运期间,买票的人实在是太多了,为了缓解服务器压力,就有了这么一个规定:如果你想买票而碰巧有个人正在买,那么你会被强制的“请”出去,并且要放弃自己所填的信息,不能有片刻耽误的出去。出去时间的长短没有关系。如果等你回来的时候发现还有人在买,那么你又得出去,直到碰巧你回来的时候没有人在买了。
这个规则有个很致命的漏洞,假如一个人刚被请出去期间没人在买票,而在他刚要去买票的瞬间,有人排在他前面了。也就是如果这个人的运气不好,每次刚出去的时候,没人买票,他刚回来的时候就有人买了。那么,他买票就会浪费很长时间,甚至买不到票。
而抢票器的工作原理是:每隔几秒钟,会进行一次实时的数据采集。会监测你出去的这段时间是不是有人在买票,如果有它会进行一次刷新,再实时的采集一次,直到没有人在买票。这个时候,抢票器会提示你这个时候可以买票了。同时,能够记录你输入的信息,避免再输入一次,浪费时间,最大程度的提高购票的效率。所以,抢票器是一种变相的数据采集,只不过它是做到了实时采集而已。
所以,抢票器本质上并不是恶意的攻击软件,也不是有些人所谓的插队行为,并不是把后来的人排在前面,而是让本来就在前面的人不会错失机会。同时也会帮助购票,让人们更简单更快捷的买到车票。
但是,抢票器本身也有不好的地方。因为抢票器都是进行实时的数据采集,这就导致了它要频繁的访问12306。本来12306访问的速度就慢,再加上频繁的对它进行数据采集,导致了“越慢越抢越抢越慢”的恶性循环,加剧了服务器的访问压力。
根本上解决问题的办法就是加强服务器的抗压能力,或者是在高峰期时临时提高这个能力。同时,要优化网站建设,提高响应速度。最后是让买票更有顺序,不会让排在前面的人还买不上票
更多交流请加群,八爪鱼采集器交流群:61570666
服务提示