一种用户排名获得方法、装置及服务器的制造方法_5

文档序号:9750995阅读:来源:国知局
位置,及每个目标子节点中保存的用户的个数,计算出当前用户在所在区域的排名。
[0175]需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0176]本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0177]以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
【主权项】
1.一种用户排名获得方法,其特征在于,应用于每个区域的服务器,所述方法包括: 获得当前用户的第一积分,所述当前用户的第一积分对应一个排名基数; 遍历已建立的积分二叉树,所述积分二叉树为当前用户所在区域的积分二叉树,所述积分二叉树的每个节点中保存了 一个积分区间及积分处于该积分区间内的用户个数; 查找保存了所述第一积分所在积分区间的每个目标子节点; 根据所述排名基数、每个目标子节点在积分二叉树中的位置,及每个目标子节点中保存的用户的个数,计算出当前用户在所在区域的排名。2.根据权利要求1所述的方法,其特征在于,所述获得当前用户的第一积分包括: 获得当前用户的备份数据; 根据所述获得的备份数据计算出当前用户的第一积分。3.根据权利要求1所述的方法,其特征在于,所述根据所述排名基数、每个目标子节点在积分二叉树中的位置,及每个目标子节点中保存的用户的个数,计算出当前用户在所在区域的排名,包括: 在所述积分二叉树的根节点的子节点中找到目标子节点,将找到的目标子节点确定为当前节点,判断当前节点是否为左子节点,如果是,则将右子节点包含的用户个数累加到所述排名基数上,将累加后得到的排名作为当前用户的排名,如果否,则将所述排名基数作为当前用户的排名,其中,每个非叶子节点有两个子节点,分别为左子节点和右子节点,所述左子节点为低分子节点,所述右子节点为高分子节点; 在当前节点的子节点中查找下一个目标子节点,将该找到的目标子节点确定为当前节点,判断当前节点是否为左子节点,如果是,则将右子节点包含的用户个数累加到所述当前用户的排名上,将累加后得到的排名作为当前用户的排名,如果否,则当前用户的排名不变,在当前节点的子节点中查找再下一个目标子节点,将该找到的再下一个目标子节点确定为当前节点,返回执行所述判断当前节点是否为左子节点的步骤; 在当前节点为叶子节点时,将当前用户的排名确定为用户在所在区域的排名。4.根据权利要求1所述的方法,其特征在于,所述积分二叉树的根节点保存的积分区间为:当前用户所在区域中的积分中的最小值与最大值组成的积分区间;所述积分二叉树的根节点保存的积分处于该积分区间内的用户个数为当前用户所在区域中的用户的总个数;每个节点包含的积分区间的长度为积分区间中的最大值与最小值的差,且叶子节点所包含的积分区间的长度为I。5.根据权利要求1所述的方法,其特征在于,所述方法还包括: 定时统计服务器所在区域内积分处于各个积分区间内的用户个数,并根据统计结果更新服务器所在区域的积分二叉树。6.根据权利要求1所述的方法,其特征在于,所述方法还包括: 将当前用户及第一积分发送给所有区域的各个服务器; 接收各个服务器根据所述第一积分计算出的所述当前用户在各个区域的排名; 将接收到的各个区域的排名累加; 将累加后的排名减一作为当前用户在所有区域中的总排名。7.—种用户排名获得装置,其特征在于,应用于每个区域的服务器,所述装置包括:获得模块、遍历模块、查找模块和计算模块, 所述获得模块,用于获得当前用户的第一积分,所述当前用户的第一积分对应一个排名基数; 所述遍历模块,用于遍历已建立的积分二叉树,所述积分二叉树为当前用户所在区域的积分二叉树,所述积分二叉树的每个节点中保存了 一个积分区间及积分处于该积分区间内的用户个数; 所述查找模块,用于查找保存了所述第一积分所在积分区间的每个目标子节点; 所述计算模块,用于根据所述排名基数、每个目标子节点在积分二叉树中的位置,及每个目标子节点中保存的用户的个数,计算出当前用户在所在区域的排名。8.根据权利要求7所述的装置,其特征在于,所述获得模块,包括:第一获得子模块和第一计算子模, 所述第一获得子模块,用于获得当前用户的备份数据; 所述第一计算子模块,用于根据所述获得的备份数据计算出当前用户的第一积分,所述当前用户的第一积分对应有一个排名基数。9.根据权利要求7所述的装置,其特征在于,所述计算模块,包括:第一确定子模块、第一判断子模块、第二确定子模块、第二判断子模块、第三确定子模块和确定子模块, 所述第一确定子模块,用于在所述积分二叉树的根节点的子节点中找到目标子节点,将找到的目标子节点确定为当前节点; 所述第一判断子模块,用于判断当前节点是否为左子节点,如果是,则触发第一排名子模块,如果否,则触发第二排名子模块,其中,每个非叶子节点有两个子节点,分别为左子节点和右子节点,所述左子节点为低分子节点,所述右子节点为高分子节点; 所述第二确定子模块,用于在当前节点的子节点中查找下一个目标子节点,将该找到的目标子节点确定为当前节点; 所述第二判断子模块,用于判断当前节点是否为左子节点,如果是,则触发第三排名子模块,如果否,则触发第四排名子模块; 所述第三确定子模块,用于在当前节点的子节点中查找再下一个目标子节点,将该找到的再下一个目标子节点确定为当前节点,触发第二判断子模块; 所述确定子模块,用于在当前节点为叶子节点时,将当前用户的排名确定为用户在所在区域的排名; 所述第一排名子模块,用于将右子节点包含的用户个数累加到所述排名基数上,将累加后得到的排名作为当前用户的排名; 所述第二排名子模块,用于将所述排名基数作为当前用户的排名; 所述第三排名子模块,用于将右子节点包含的用户个数累加到所述当前用户的排名上,将累加后得到的排名作为当前用户的排名; 所述第四排名子模块,用于当前用户的排名不变。10.一种服务器,其特征在于,所述服务器包括: 壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行以下步骤: 获得当前用户的第一积分,所述当前用户的第一积分对应一个排名基数; 遍历已建立的积分二叉树,所述积分二叉树为当前用户所在区域的积分二叉树,所述积分二叉树的每个节点中保存了 一个积分区间及积分处于该积分区间内的用户个数; 查找保存了所述第一积分所在积分区间的每个目标子节点; 根据所述排名基数、每个目标子节点在积分二叉树中的位置,及每个目标子节点中保存的用户的个数,计算出当前用户在所在区域的排名。
【专利摘要】本发明实施例提供了一种用户排名获得方法、装置及服务器,获得当前用户的第一积分,所述当前用户的第一积分对应一个排名基数,遍历已建立的积分二叉树,所述积分二叉树的每个节点中保存了一个积分区间及积分处于该积分区间内的用户个数,查找保存了所述第一积分所在积分区间的每个目标子节点,根据所述排名基数、每个目标子节点在积分二叉树中的位置,及每个目标子节点中保存的用户的个数,计算出当前用户在所在区域的排名。本发明通过遍历累加积分二叉树中每个目标子节点中保存的用户个数获得各个用户的排名,由于累加次数较少且累加次数与用户量无关,达到减少数据计算量,减少系统资源占用的目的。
【IPC分类】G06F17/30
【公开号】CN105512320
【申请号】CN201510958540
【发明人】莫广
【申请人】北京金山安全软件有限公司
【公开日】2016年4月20日
【申请日】2015年12月18日
当前第5页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1