居然有很多兄弟又是组件又是论文算法。一看就不是做游戏服务器的或者实用系统的。你们以为是多大一个事情呀?全服排名?请问你的服是多少人?1000人?随便你怎么排。冒泡算法都可以。1000万人?只要你的数据不是太大,更新频道不是特别高,每次更新,或者定时更新的时候排序就可以了。红黑树大致也只用找20次。内存?64位的系统还要考虑内存。就算每个用户256字节。你算算才要多少数据?256*1000W=256*10M=2.5G。但如果从架构上考虑,需要一台排序服务器来做这个事情。其实这也就是楼主的方法2而已。1亿用户?其实前面已经证明了。上面的方法是可以搞的。内存25G就可以了。一台机器也就可以了。
10亿?全服能超过1亿用户的游戏,中国目前数估计不超过10个。CF,DNF,LOL这类还是分区游戏,不用考虑。主要是QQGAme的斗地主,天天飞车,天天酷跑,天天爱消除这类手游产品。当年如果你成了这种产品,成本看上去不再是问题了。增加10台机器好像也不是太大问题,只是架构上。。。。。好像更麻烦了。那么?第一,你要那么及时吗?不要,直接上DB,一天导出一次就OK了。第二你要那么准确吗?忽悠用户是否可以?直接做一个很细致的分段出来就OK了。还是一台服务器就搞掂了。
100亿?你不是在做游戏把。。
最后的最后请问一下你的策划同学,当一个用户看到自己是第2000W名的时候,他对这个排名的感想?什么年代了,还在用全区排序这种落后的设计。告诉你们的策划,我很BS他们。