分数排名处理方法、装置、设备及计算机可读存储介质制造方法及图纸

技术编号:34395430 阅读:20 留言:0更新日期:2022-08-03 21:28
本申请提供了一种分数排名处理方法,包括:在参与目标活动的各个用户的用户分数中,若存在至少两个用户具有相同的目标分数,则为至少两个用户分别生成一个时间戳分数,时间戳分数的大小反映了对应用户到达目标分数的时间;按照至少两个用户各自的时间戳分数,对至少两个用户各自的目标分数进行排名。可见,本申请在对具有相同目标分数的多个用户进行排名时,考虑了各个用户达到该目标分数的时间信息,通过引入时间因素生成各个用户的时间戳分数,并基于时间戳分数的大小来对各个用户进行分数排名,可以保证分数排名的合理性。本申请还提供了一种分数排名处理装置、设备及计算机可读存储介质。可读存储介质。可读存储介质。

【技术实现步骤摘要】
分数排名处理方法、装置、设备及计算机可读存储介质


[0001]本申请涉及计算机
,特别涉及一种分数排名处理方法、装置、设备及计算机可读存储介质。

技术介绍

[0002]在项目开发中,常常会遇到一些积分排行的问题,因为排行榜的实时性,所以需要在第一时间对排行进行查询并展示。
[0003]在排行榜中,比如在一些大型比赛的排行榜中,由于参赛人数较多,经常会出现得分相同的多个用户,然而,如何合理的对这些具有相同分数的用户进行排名是目前亟待解决的问题。

技术实现思路

[0004]本申请提供了一种分数排名处理方法、装置、设备及计算机可读存储介质,能够对相同的多个用户分数进行合理排名。
[0005]第一方面,本申请提供了一种分数排名处理方法,包括:
[0006]在参与目标活动的各个用户的用户分数中,若存在至少两个用户具有相同的目标分数,则为所述至少两个用户分别生成一个时间戳分数,所述时间戳分数的大小反映了对应用户到达所述目标分数的时间;
[0007]按照所述至少两个用户各自的时间戳分数,对所述至少两个用户各自的目标分数进行排名。
[0008]可选的,为所述至少两个用户分别生成一个时间戳分数,包括:
[0009]对于所述至少两个用户中的每一用户,根据该用户的目标分数、该用户取得目标分数的时间信息,计算该用户的时间戳分数。
[0010]可选的,所述按照所述至少两个用户各自的时间戳分数,对所述至少两个用户各自的目标分数进行排名,包括:
[0011]按照所述至少两个用户各自的时间戳分数,确定所述至少两个用户到达所述目标分数的先后顺序;
[0012]根据所述先后顺序,对所述至少两个用户各自的目标分数进行排名。
[0013]可选的,所述方法还包括:
[0014]获取第一用户在所述目标活动中的当前得分;
[0015]若所述第一用户在分数排名列表中没有相关排名,则采用Redis数据库的zadd函数,将所述第一用户的当前得分添加到分数排名列表中;
[0016]若所述第一用户在分数排名列表中有相关排名,则采用Redis数据库的zincrby函数,更新所述第一用户在分数排名列表中的历史分数。
[0017]可选的,所述方法还包括:
[0018]若检测到针对第二用户在分数排名列表中的排名的查询请求,则采用Redis数据
库的zrevrank函数,查询所述第二用户的排名。
[0019]可选的,所述方法还包括:
[0020]若检测到针对分数排名列表中的一个排名段的用户标识的查询请求,则采用Redis数据库的zrevrange函数,查询该排行段内的各个用户标识。
[0021]第二方面,本申请提供了一种分数排名处理装置,包括:
[0022]时间戳生成单元,用于在参与目标活动的各个用户的用户分数中,若存在至少两个用户具有相同的目标分数,则为所述至少两个用户分别生成一个时间戳分数,所述时间戳分数的大小反映了对应用户到达所述目标分数的时间;
[0023]分数排名单元,用于按照所述至少两个用户各自的时间戳分数,对所述至少两个用户各自的目标分数进行排名。
[0024]可选的,所述时间戳生成单元在为所述至少两个用户分别生成一个时间戳分数时,具体用于:
[0025]对于所述至少两个用户中的每一用户,根据该用户的目标分数、该用户取得目标分数的时间信息,计算该用户的时间戳分数。
[0026]可选的,所述分数排名单元,具体用于:
[0027]按照所述至少两个用户各自的时间戳分数,确定所述至少两个用户到达所述目标分数的先后顺序;根据所述先后顺序,对所述至少两个用户各自的目标分数进行排名。
[0028]可选的,所述装置还包括:
[0029]分数获取单元,用于获取第一用户在所述目标活动中的当前得分;
[0030]添加排名单元,用于若所述第一用户在分数排名列表中没有相关排名,则采用Redis数据库的zadd函数,将所述第一用户的当前得分添加到分数排名列表中;
[0031]分数更新单元,用于若所述第一用户在分数排名列表中有相关排名,则采用Redis数据库的zincrby函数,更新所述第一用户在分数排名列表中的历史分数。
[0032]可选的,所述装置还包括:
[0033]第一查询单元,用于若检测到针对第二用户在分数排名列表中的排名的查询请求,则采用Redis数据库的zrevrank函数,查询所述第二用户的排名。
[0034]可选的,所述装置还包括:
[0035]第二查询单元,用于若检测到针对分数排名列表中的一个排名段的用户标识的查询请求,则采用Redis数据库的zrevrange函数,查询该排行段内的各个用户标识。
[0036]第三方面,本申请提供了一种电子设备,包括:处理器、存储器;
[0037]所述存储器,用于存储计算机程序;
[0038]所述处理器,用于通过调用所述计算机程序,执行上述分数排名处理方法。
[0039]第四方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述分数排名处理方法。
[0040]在以上本申请提供的技术方案中,在参与目标活动的各个用户的用户分数中,若存在至少两个用户具有相同的目标分数,则为至少两个用户分别生成一个时间戳分数,时间戳分数的大小反映了对应用户到达目标分数的时间;按照至少两个用户各自的时间戳分数,对至少两个用户各自的目标分数进行排名。可见,本申请在对具有相同目标分数的多个用户进行排名时,考虑了各个用户达到该目标分数的时间信息,通过引入时间因素生成各
个用户的时间戳分数,并基于时间戳分数的大小来对各个用户进行分数排名,可以保证分数排名的合理性。
附图说明
[0041]图1为本申请示出的活动场景示意图;
[0042]图2为本申请示出的一种分数排名处理方法的流程示意图;
[0043]图3为本申请示出的一种分数排名处理装置的组成示意图;
[0044]图4为本申请示出的一种电子设备的结构示意图。
具体实施方式
[0045]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0046]在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0047]应当理解,尽管在本申请可能采用术语第一、第二、本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分数排名处理方法,其特征在于,包括:在参与目标活动的各个用户的用户分数中,若存在至少两个用户具有相同的目标分数,则为所述至少两个用户分别生成一个时间戳分数,所述时间戳分数的大小反映了对应用户到达所述目标分数的时间;按照所述至少两个用户各自的时间戳分数,对所述至少两个用户各自的目标分数进行排名。2.根据权利要求1所述的方法,其特征在于,为所述至少两个用户分别生成一个时间戳分数,包括:对于所述至少两个用户中的每一用户,根据该用户的目标分数、该用户取得目标分数的时间信息,计算该用户的时间戳分数。3.根据权利要求1所述的方法,其特征在于,所述按照所述至少两个用户各自的时间戳分数,对所述至少两个用户各自的目标分数进行排名,包括:按照所述至少两个用户各自的时间戳分数,确定所述至少两个用户到达所述目标分数的先后顺序;根据所述先后顺序,对所述至少两个用户各自的目标分数进行排名。4.根据权利要求1

3任一项所述的方法,其特征在于,所述方法还包括:获取第一用户在所述目标活动中的当前得分;若所述第一用户在分数排名列表中没有相关排名,则采用Redis数据库的zadd函数,将所述第一用户的当前得分添加到分数排名列表中;若所述第一用户在分数排名列表中有相关排名,则采用Redis数据库的zincrby函数,更新所述第一用户在分数排名列表中的历史分数。5.根据权利要求1

3任一项所述的方法,其特征在于,所述方法还包括:若检测到针对第二用户在...

【专利技术属性】
技术研发人员:蔡晶晶陈俊付磊胡刚王肖振
申请(专利权)人:北京五一嘉峪科技有限公司
类型:发明
国别省市:

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

1