论坛首页 Java企业应用论坛

我的12306春运之整体解决方案

浏览 6809 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-01-29  
ahyyxx222 写道
你怎么确定哪些票没了然后把人从队中清除,难道每卖出一张票都要去几百万排队者中遍历并检查一次票吗?这比卖一张票花的时间多多了。
而且票数不是固定的,受买票者的乘坐区间影响,不能简单按总数减一减一来算还有没有票



当然不可能票没了每次都遍历一下队列,我说了用类似LinkedHashMap的数据结构,既是队列,同时还是哈希表,比如以订单号作为key,有另外的多个集合维护每个日期的线路所影响的订单号。当某条线的票没了,就遍历这个集合里的所有订单,把这些订单从排队队列里去除,所需时间趋近于0.
0 请登录后投票
   发表时间:2012-01-29  
给太阳洒水 写道
我觉得思路挺好的。不过排队也许不是一个好办法,但是在你所述思路里我觉得是可行的。考虑到nosql数据库的高并发,是不是考虑把排队换成“行锁”的办法来解决,nosql数据库从几百万数据里面通过索引来查询数据,那也是非常非常快的事


肯定需要用hash索引
0 请登录后投票
   发表时间:2012-09-24  
最近12306的话题又再升温,把我以前发的这个帖子再顶上来讨论下
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics