12306频频崩溃,双11电商平台却畅通无阻,真的是12306不给力吗?( 六 )

而12306则需要处理用户们随时随地上车、随时随地下车的操作 , 算法复杂到令人崩溃 。 拿北京到上海的高铁举例子 , 北京与上海之间有21个小站 , 12306需要把用户上下车的所有可能性都进行计算:

假如你购买的是北京到上海的票 , 那么沿途所有站点库存都要减1;

假如你购买的是北京到天津的票 , 那么北京到天津的票要减1 , 天津到上海的票保持不变;

假如你购买的是天津到徐州的票 , 那么北京到天津的票不变 , 天津到徐州的票减1 , 徐州到上海的票不变;

而且我们还忽略了一个很常规的操作 , 那就是补票 , 列车上的每一次线下补票也需要在第一时间录入系统 , 进行计算与查重 。

也就是说我们每一次关于个人行程的微小调整都将对整个行程造成影响 , 每出一张票 , 12306都需要完成巨量运算 。 看完这些你应该就知道12306每天要面临的算法有多么恐怖了吧?

推荐阅读