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

技术编号:14558453 阅读:55 留言:0更新日期:2017-02-05 12:55
本发明专利技术实施例提供了一种用户排名获得方法、装置及服务器,获得当前用户的第一积分,所述当前用户的第一积分对应一个排名基数,遍历已建立的积分二叉树,所述积分二叉树的每个节点中保存了一个积分区间及积分处于该积分区间内的用户个数,查找保存了所述第一积分所在积分区间的每个目标子节点,根据所述排名基数、每个目标子节点在积分二叉树中的位置,及每个目标子节点中保存的用户的个数,计算出当前用户在所在区域的排名。本发明专利技术通过遍历累加积分二叉树中每个目标子节点中保存的用户个数获得各个用户的排名,由于累加次数较少且累加次数与用户量无关,达到减少数据计算量,减少系统资源占用的目的。

Method, device and server for obtaining user ranking

The embodiment of the invention provides a method, device and user ranking server, the first integral to obtain the current user, the current user of the first integral corresponds to a ranking base, established two binary tree traversal points, each node of the binary tree in the integral two save an integral interval and the number of users in the integral integral interval, for each target node holds the first integral of the integral interval, according to the ranking position in the integral base, two tree in each sub node, the number of users to save and each target nodes, calculate the current user in the area where the ranking. The number of users of the invention are preserved by each sub traversal accumulate points two binary tree nodes to each user ranking, because the cumulative number is less and the cumulative number and user independent of the amount, to reduce the amount of data, reduce the system resources to.

【技术实现步骤摘要】

本专利技术涉及计算机应用
,特别是涉及一种用户排名获得方法、装置及服务器
技术介绍
目前,很多应用系统,例如:视频应用系统或购物应用系统等,需要对用户进行排名,使用户可以根据获得的排名兑换相应的礼品。现有技术中,通过以下方式来获得用户排名:首先,每个区域的服务器获得区域中每个用户的备份数据,也就是用户备份数据的备份/还原操作次数等信息。然后,基于每个用户的备份数据,确定每个用户的积分,保存每个用户及对应的积分。再根据保存的各个用户的积分,将所有用户的积分按多少顺序进行排序,将排序的结果作为各个用户在其所在区域的排名结果,并保存。当需要获得某用户的排名时,在排名结果中查找该用户,如果能够查找到该用户的排名,则将查找到的排名作为该用户在所在区域的排名。如果在排名结果中没有查找到该用户的排名,则重新将包括该用户的所有用户的积分按多少顺序进行排序,以获得该用户在所在区域的排名。上述过程中,由于是通过对所有用户的积分进行排序而获得各个用户的排名,因此,对每个区域的服务器来说计算数据量大,系统资源占用较多。
技术实现思路
本专利技术实施例的目的在于提供一种用户排名获得方法、装置及服务器,以解决计算数据量大和系统资源占用较多的问题。具体技术方案如下:本专利技术提供了一种用户排名获得方法,应用于每个区域的服务器,所述方法包括:获得当前用户的第一积分,所述当前用户的第一积分对应一个排名基数;r>遍历已建立的积分二叉树,所述积分二叉树为当前用户所在区域的积分二叉树,所述积分二叉树的每个节点中保存了一个积分区间及积分处于该积分区间内的用户个数;查找保存了所述第一积分所在积分区间的每个目标子节点;根据所述排名基数、每个目标子节点在积分二叉树中的位置,及每个目标子节点中保存的用户的个数,计算出当前用户在所在区域的排名。可选的,所述获得当前用户的第一积分包括:获得当前用户的备份数据;根据所述获得的备份数据计算出当前用户的第一积分。可选的,所述根据所述排名基数、每个目标子节点在积分二叉树中的位置,及每个目标子节点中保存的用户的个数,计算出当前用户在所在区域的排名,包括:在所述积分二叉树的根节点的子节点中找到目标子节点,将找到的目标子节点确定为当前节点,判断当前节点是否为左子节点,如果是,则将右子节点包含的用户个数累加到所述排名基数上,将累加后得到的排名作为当前用户的排名,如果否,则将所述排名基数作为当前用户的排名,其中,每个非叶子节点有两个子节点,分别为左子节点和右子节点,所述左子节点为低分子节点,所述右子节点为高分子节点;在当前节点的子节点中查找下一个目标子节点,将该找到的目标子节点确定为当前节点,判断当前节点是否为左子节点,如果是,则将右子节点包含的用户个数累加到所述当前用户的排名上,将累加后得到的排名作为当前用户的排名,如果否,则当前用户的排名不变,在当前节点的子节点中查找再下一个目标子节点,将该找到的再下一个目标子节点确定为当前节点,返回执行所述判断当前节点是否为左子节点的步骤;在当前节点为叶子节点时,将当前用户的排名确定为用户在所在区域的排名。可选的,所述积分二叉树的根节点保存的积分区间为:当前用户所在区域中的积分中的最小值与最大值组成的积分区间;所述积分二叉树的根节点保存的积分处于该积分区间内的用户个数为当前用户所在区域中的用户的总个数;每个节点包含的积分区间的长度为积分区间中的最大值与最小值的差,且叶子节点所包含的积分区间的长度为1。可选的,所述方法还包括:定时统计服务器所在区域内积分处于各个积分区间内的用户个数,并根据统计结果更新服务器所在区域的积分二叉树。可选的,所述方法还包括:将当前用户及第一积分发送给所有区域的各个服务器;接收各个服务器根据所述第一积分计算出的所述当前用户在各个区域的排名;将接收到的各个区域的排名累加;将累加后的排名减一作为当前用户在所有区域中的总排名。本专利技术提供了一种用户排名获得装置,应用于每个区域的服务器,所述装置包括:获得模块、遍历模块、查找模块和计算模块,所述获得模块,用于获得当前用户的第一积分,所述当前用户的第一积分对应一个排名基数;所述遍历模块,用于遍历已建立的积分二叉树,所述积分二叉树为当前用户所在区域的积分二叉树,所述积分二叉树的每个节点中保存了一个积分区间及积分处于该积分区间内的用户个数;所述查找模块,用于查找保存了所述第一积分所在积分区间的每个目标子节点;所述计算模块,用于根据所述排名基数、每个目标子节点在积分二叉树中的位置,及每个目标子节点中保存的用户的个数,计算出当前用户在所在区域的排名。可选的,所述获得模块,包括:第一获得子模块和第一计算子模,所述第一获得子模块,用于获得当前用户的备份数据;所述第一计算子模块,用于根据所述获得的备份数据计算出当前用户的第一积分,所述当前用户的第一积分对应有一个排名基数。可选的,所述计算模块,包括:第一确定子模块、第一判断子模块、第二确定子模块、第二判断子模块、第三确定子模块和确定子模块,所述第一确定子模块,用于在所述积分二叉树的根节点的子节点中找到目标子节点,将找到的目标子节点确定为当前节点;所述第一判断子模块,用于判断当前节点是否为左子节点,如果是,则触发第一排名子模块,如果否,则触发第二排名子模块,其中,每个非叶子节点有两个子节点,分别为左子节点和右子节点,所述左子节点为低分子节点,所述右子节点为高分子节点;所述第二确定子模块,用于在当前节点的子节点中查找下一个目标子节点,将该找到的目标子节点确定为当前节点;所述第二判断子模块,用于判断当前节点是否为左子节点,如果是,则触发第三排名子模块,如果否,则触发第四排名子模块;所述第三确定子模块,用于在当前节点的子节点中查找再下一个目标子节点,将该找到的再下一个目标子节点确定为当前节点,触发第二判断子模块;所述确定子模块,用于在当前节点为叶子节点时,将当前用户的排名确定为用户在所在区域的排名;所述第一排名子模块,用于将右子节点包含的用户个数累加到所述排名基数上,将累加后得到的排名作为当前用户的排名;所述第二排名子模块,用于将所述排名基数作为当前用户的排名;所述第三排名子模块,用于将右子节点包含的用户个数累加到所述当前用户的排名上,将累加后得到的排名作为当前用户的排名;所述第四本文档来自技高网...

【技术保护点】
一种用户排名获得方法,其特征在于,应用于每个区域的服务器,所述方法包括:获得当前用户的第一积分,所述当前用户的第一积分对应一个排名基数;遍历已建立的积分二叉树,所述积分二叉树为当前用户所在区域的积分二叉树,所述积分二叉树的每个节点中保存了一个积分区间及积分处于该积分区间内的用户个数;查找保存了所述第一积分所在积分区间的每个目标子节点;根据所述排名基数、每个目标子节点在积分二叉树中的位置,及每个目标子节点中保存的用户的个数,计算出当前用户在所在区域的排名。

【技术特征摘要】
1.一种用户排名获得方法,其特征在于,应用于每个区域的服务器,所
述方法包括:
获得当前用户的第一积分,所述当前用户的第一积分对应一个排名基数;
遍历已建立的积分二叉树,所述积分二叉树为当前用户所在区域的积分二
叉树,所述积分二叉树的每个节点中保存了一个积分区间及积分处于该积分区
间内的用户个数;
查找保存了所述第一积分所在积分区间的每个目标子节点;
根据所述排名基数、每个目标子节点在积分二叉树中的位置,及每个目标
子节点中保存的用户的个数,计算出当前用户在所在区域的排名。
2.根据权利要求1所述的方法,其特征在于,所述获得当前用户的第一积
分包括:
获得当前用户的备份数据;
根据所述获得的备份数据计算出当前用户的第一积分。
3.根据权利要求1所述的方法,其特征在于,所述根据所述排名基数、每
个目标子节点在积分二叉树中的位置,及每个目标子节点中保存的用户的个数,
计算出当前用户在所在区域的排名,包括:
在所述积分二叉树的根节点的子节点中找到目标子节点,将找到的目标子
节点确定为当前节点,判断当前节点是否为左子节点,如果是,则将右子节点
包含的用户个数累加到所述排名基数上,将累加后得到的排名作为当前用户的
排名,如果否,则将所述排名基数作为当前用户的排名,其中,每个非叶子节
点有两个子节点,分别为左子节点和右子节点,所述左子节点为低分子节点,
所述右子节点为高分子节点;
在当前节点的子节点中查找下一个目标子节点,将该找到的目标子节点确
定为当前节点,判断当前节点是否为左子节点,如果是,则将右子节点包含的
用户个数累加到所述当前用户的排名上,将累加后得到的排名作为当前用户的
排名,如果否,则当前用户的排名不变,在当前节点的子节点中查找再下一个

\t目标子节点,将该找到的再下一个目标子节点确定为当前节点,返回执行所述
判断当前节点是否为左子节点的步骤;
在当前节点为叶子节点时,将当前用户的排名确定为用户在所在区域的排
名。
4.根据权利要求1所述的方法,其特征在于,所述积分二叉树的根节点保
存的积分区间为:当前用户所在区域中的积分中的最小值与最大值组成的积分
区间;所述积分二叉树的根节点保存的积分处于该积分区间内的用户个数为当
前用户所在区域中的用户的总个数;每个节点包含的积分区间的长度为积分区
间中的最大值与最小值的差,且叶子节点所包含的积分区间的长度为1。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
定时统计服务器所在区域内积分处于各个积分区间内的用户个数,并根据
统计结果更新服务器所在区域的积分二叉树。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将当前用户及第一积分发送给所有区域的各个服务器;
接收各个服务器根据所述第一积分计算出的所述当前用户在各个区域的
排名;
将接收到的各个区域的排名累加;
将累加后的排名减一作为当前用户在所有区域中的总排名。
7.一种用户排名获得装置,其特征在于,应用于每个区域的服务器,所
述装置包括:获得模块、遍历模块、查找模块和计算模块,
所述获得模块,用于获得当前用户的第一积分,所述当前用户的第一积分
对应一个排名基数;
所述遍历模块,用于遍历已...

【专利技术属性】
技术研发人员:莫广
申请(专利权)人:北京金山安全软件有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1