CN110334104B - 一种榜单更新方法、装置、电子设备及存储介质 - Google Patents
一种榜单更新方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN110334104B CN110334104B CN201910578370.6A CN201910578370A CN110334104B CN 110334104 B CN110334104 B CN 110334104B CN 201910578370 A CN201910578370 A CN 201910578370A CN 110334104 B CN110334104 B CN 110334104B
- Authority
- CN
- China
- Prior art keywords
- feature data
- list
- updated
- dimension
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000004891 communication Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 14
- 238000010845 search algorithm Methods 0.000 claims description 13
- 238000001514 detection method Methods 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 10
- 238000012163 sequencing technique Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24578—Query processing with adaptation to user needs using ranking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2474—Sequence data queries, e.g. querying versioned data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
Abstract
本发明实施例提供了一种榜单更新方法、装置、电子设备及存储介质。方案如下:获取待更新成员在多个维度上的特征数据,根据待更新成员在多个维度上的特征数据,确定待更新成员是否进入第一榜单,其中,第一榜单包括多个成员在多个维度上的特征数据,且第一榜单包括的多个成员按照维度的优先级从高到低的顺序,以及每一维度上特征数据从大到小的顺序进行排序,若是,则根据待更新成员在多个维度上的特征数据,对第一榜单进行更新,若否,则根据待更新成员在多个维度上的特征数据,对第二榜单进行更新。通过本发明实施例提供的技术方案,提高了排序性能以及榜单的更新效果。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种榜单更新方法、装置、电子设备及存储介质。
背景技术
榜单是根据某一类事物的在一个维度上特征数据或者在多个维度上特征数据对该类事物进行排序得到的。如,音乐排行榜、名校排行榜等。
目前,在根据多个维度上的特征数据生成榜单时,利用关系型数据库管理系统(mysql)进行多字段排序,并将排序结果缓存到缓存区中,根据缓存区中排序结果生成榜单。当mysql中的多个维度上的特征数据发生更新时,mysql需要根据每一维度上的特征数据,重新进行多字段排序。随着每一维度上的特征数据的不断增多,mysql的排序的效率会越来越低,排序性能越来越差,从而影响榜单的更新效果。
发明内容
本发明实施例的目的在于提供一种榜单更新方法、装置、电子设备及存储介质,以提高排序性能以及榜单的更新效果。具体技术方案如下:
本发明实施例还提供了一种榜单更新方法,所述方法包括:
获取待更新成员在多个维度上的特征数据;
根据所述待更新成员在多个维度上的特征数据,确定所述待更新成员是否进入第一榜单,其中,所述第一榜单包括多个成员在多个维度上的特征数据,且所述第一榜单包括的多个成员按照维度的优先级从高到低的顺序,以及每一维度上特征数据从大到小的顺序进行排序;
若是,则根据所述待更新成员在多个维度上的特征数据,对所述第一榜单进行更新;
若否,则根据所述待更新成员在多个维度上的特征数据,对第二榜单进行更新,其中,所述第二榜单中包括根据多个成员在多个维度上的特征数据确定的排序分值,且所述第二榜单包括的多个成员按照所述排序分值从大到小的顺序进行排序。
可选的,所述根据所述待更新成员在多个维度上的特征数据,确定所述待更新成员是否进入第一榜单的步骤,包括:
将优先级最高的维度确定为第一目标维度;
获取第一榜单中末尾成员在所述第一目标维度上的特征数据,作为第一特征数据,并获取所述待更新成员在所述第一目标维度上的特征数据,作为第二特征数据;
比较所述第一特征数据与所述第二特征数据;
若所述第一特征数据等于所述第二特征数据,则将下一优先级的维度确定为第一目标维度,并返回执行所述获取第一榜单中末尾成员在所述第一目标维度上的特征数据,作为第一特征数据,并获取所述待更新成员在所述第一目标维度上的特征数据,作为第二特征数据的步骤;
若所述第一特征数据小于所述第二特征数据,则确定所述待更新成员进入所述第一榜单;
若所述第一特征数据大于所述第二特征数据,则确定所述待更新成员未进入所述第一榜单。
可选的,在将优先级最高的维度确定为第一目标维度之前,还包括:
检测所述第一榜单中包括的成员数量是否等于预设数量阈值;
若等于所述预设数量阈值,则执行所述将优先级最高的维度确定为第一目标维度的步骤。
可选的,若所述成员数量等于所述预设数量阈值,且所述待更新成员进入所述第一榜单,则所述方法还包括:
将所述第一榜单中的末尾成员更新到所述第二榜单中。
可选的,所述根据所述待更新成员在多个维度上的特征数据,对所述第一榜单进行更新的步骤,包括:
将所述第一榜单中的排序最高的成员作为第一目标成员,并将优先级最高的维度作为第二目标维度;
获取所述第一目标成员在所述第二目标维度上的特征数据,作为第三特征数据,并获取所述待更新成员在所述第二目标维度上的特征数据,作为第四特征数据;
比较所述第三特征数据和所述第四特征数据;
若所述第三特征数据等于所述第四特征数据,则将下一优先级的维度确定为第二目标维度,并返回执行所述获取所述第一目标成员在所述第二目标维度上的特征数据,作为第三特征数据,并获取所述待更新成员在所述第二目标维度上的特征数据,作为第四特征数据的步骤;
若所述第三特征数据大于所述第四特征数据,则从所述第一榜单中选择下一排序的成员作为第一目标成员,将优先级最高的维度确定为第二目标维度,并返回执行所述获取所述第一目标成员在所述第二目标维度上的特征数据,作为第三特征数据,并获取所述待更新成员在所述第二目标维度上的特征数据,作为第四特征数据的步骤;
若所述第三特征数据小于所述第四特征数据,则将所述第一目标成员的排序确定为所述待更新成员的当前排序;
根据所述待更新成员的当前排序,对所述第一榜单进行更新。
可选的,所述根据所述待更新成员在多个维度上的特征数据,对所述第一榜单进行更新的步骤,包括:
将所述第一榜单中的排序最高的成员作为第二目标成员,并将优先级最高的维度作为第三目标维度;
获取所述第二目标成员在所述第三目标维度上的特征数据,作为第五特征数据,并获取所述待更新成员在所述第三目标维度上的特征数据,作为第六特征数据;
比较所述第五特征数据和所述第六特征数据;
若所述第五特征数据等于所述第六特征数据,则将下一优先级的维度确定为第三目标维度,并返回执行所述获取所述第二目标成员在所述第三目标维度上的特征数据,作为第五特征数据,并获取所述待更新成员在所述第三目标维度上的特征数据,作为第六特征数据的步骤;
若所述第五特征数据不等于所述第六特征数据,则利用二分查找算法,从所述第一榜单中选择一个成员作为第二目标成员,将优先级最高的维度确定为第三目标维度,并返回执行所述获取所述第二目标成员在所述第三目标维度上的特征数据,作为第五特征数据,并获取所述待更新成员在所述第三目标维度上的特征数据,作为第六特征数据的步骤,直至确定所述待更新成员的当前排序;
根据所述待更新成员的当前排序,对所述第一榜单进行更新。
本发明实施例还提供了一种榜单更新装置,所述装置包括:
获取模块,用于获取待更新成员在多个维度上的特征数据;
确定模块,用于根据所述待更新成员在多个维度上的特征数据,确定所述待更新成员是否进入第一榜单,其中,所述第一榜单包括多个成员在多个维度上的特征数据,且所述第一榜单包括的多个成员按照维度的优先级从高到低的顺序,以及每一维度上特征数据从大到小的顺序进行排序;
第一更新模块,用于在所述确定模块的确定结果为是时,根据所述待更新成员在多个维度上的特征数据,对所述第一榜单进行更新;
第二更新模块,用于在所述确定模块的确定结果为否时,根据所述待更新成员在多个维度上的特征数据,对第二榜单进行更新,其中,所述第二榜单中包括根据多个成员在多个维度上的特征数据确定的排序分值,且所述第二榜单包括的多个成员按照所述排序分值从大到小的顺序进行排序。
可选的,所述确定模块,具体用于将优先级最高的维度确定为第一目标维度;
获取第一榜单中末尾成员在所述第一目标维度上的特征数据,作为第一特征数据,并获取所述待更新成员在所述第一目标维度上的特征数据,作为第二特征数据;
比较所述第一特征数据与所述第二特征数据;
若所述第一特征数据等于所述第二特征数据,则将下一优先级的维度确定为第一目标维度,并返回执行所述获取第一榜单中末尾成员在所述第一目标维度上的特征数据,作为第一特征数据,并获取所述待更新成员在所述第一目标维度上的特征数据,作为第二特征数据的步骤;
若所述第一特征数据小于所述第二特征数据,则确定所述待更新成员进入所述第一榜单;
若所述第一特征数据大于所述第二特征数据,则确定所述待更新成员未进入所述第一榜单。
可选的,所述装置还包括:
检测模块,用于检测所述第一榜单中包括的成员数量是否等于预设数量阈值;
执行模块,用于在所述成员数量等于所述预设数量阈值时,执行所述将优先级最高的维度确定为第一目标维度的步骤。
可选的,所述装置还包括:
第三更新模块,用于在所述成员数量等于所述预设数量阈值,且所述待更新成员进入所述第一榜单时,将所述第一榜单中的末尾成员更新到所述第二榜单中。
可选的,所述第一更新模块,具体用于将所述第一榜单中的排序最高的成员作为第一目标成员,并将优先级最高的维度作为第二目标维度;
获取所述第一目标成员在所述第二目标维度上的特征数据,作为第三特征数据,并获取所述待更新成员在所述第二目标维度上的特征数据,作为第四特征数据;
比较所述第三特征数据和所述第四特征数据;
若所述第三特征数据等于所述第四特征数据,则将下一优先级的维度确定为第二目标维度,并返回执行所述获取所述第一目标成员在所述第二目标维度上的特征数据,作为第三特征数据,并获取所述待更新成员在所述第二目标维度上的特征数据,作为第四特征数据的步骤;
若所述第三特征数据大于所述第四特征数据,则从所述第一榜单中选择下一排序的成员作为第一目标成员,将优先级最高的维度确定为第二目标维度,并返回执行所述获取所述第一目标成员在所述第二目标维度上的特征数据,作为第三特征数据,并获取所述待更新成员在所述第二目标维度上的特征数据,作为第四特征数据的步骤;
若所述第三特征数据小于所述第四特征数据,则将所述第一目标成员的排序确定为所述待更新成员的当前排序;
根据所述待更新成员的当前排序,对所述第一榜单进行更新。
可选的,所述第一更新模块,具体用于将所述第一榜单中的排序最高的成员作为第二目标成员,并将优先级最高的维度作为第三目标维度;
获取所述第二目标成员在所述第三目标维度上的特征数据,作为第五特征数据,并获取所述待更新成员在所述第三目标维度上的特征数据,作为第六特征数据;
比较所述第五特征数据和所述第六特征数据;
若所述第五特征数据等于所述第六特征数据,则将下一优先级的维度确定为第三目标维度,并返回执行所述获取所述第二目标成员在所述第三目标维度上的特征数据,作为第五特征数据,并获取所述待更新成员在所述第三目标维度上的特征数据,作为第六特征数据的步骤;
若所述第五特征数据不等于所述第六特征数据,则利用二分查找算法,从所述第一榜单中选择一个成员作为第二目标成员,将优先级最高的维度确定为第三目标维度,并返回执行所述获取所述第二目标成员在所述第三目标维度上的特征数据,作为第五特征数据,并获取所述待更新成员在所述第三目标维度上的特征数据,作为第六特征数据的步骤,直至确定所述待更新成员的当前排序;
根据所述待更新成员的当前排序,对所述第一榜单进行更新。
本发明实施例还提供了一种电子设备,所述电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一所述的榜单更新方法步骤。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的榜单更新方法步骤。
本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的榜单更新方法。
本发明实施例有益效果:
本发明实施例提供的一种榜单更新方法、装置、电子设备及存储介质,可以获取待更新成员在多个维度上的特征数据,根据待更新成员在多个维度上的特征数据,确定待更新成员是否进入第一榜单,其中,第一榜单包括多个成员在多个维度上的特征数据,且第一榜单包括的多个成员按照维度的优先级从高到低的顺序,以及每一维度上特征数据从大到小的顺序进行排序,若是,则根据待更新成员在多个维度上的特征数据,对第一榜单进行更新,若否,则根据待更新成员在多个维度上的特征数据,对第二榜单进行更新,其中,第二榜单中包括根据多个成员在多个维度上的特征数据确定的排序分值,且第二榜单包括的多个成员按照排序分值从大到小的顺序进行排序。通过本发明实施例提供的技术方案,将榜单分为第一榜单和第二榜单,根据待更新成员的在多个维度上的特征数据,确定待更新成员是否进入第一榜单,并在进入第一榜单时,对第一榜单进行更新,在未进入第一榜单时,对第二榜单进行更新,这有效的降低了需要排序的成员的数量,也就是不需要对第一榜单和第二榜单中所有的成员进行排序,提高了排序的效率,从而提高了排序性能以及榜单的更新效果。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的榜单更新方法的第一种流程示意图;
图2为本发明实施例提供的确定第二目标成员的一种示意图;
图3为本发明实施例提供的榜单更新方法的第二种流程示意图;
图4为本发明实施例提供的榜单更新方法的第三种流程示意图;
图5为本发明实施例提供的榜单更新装置的一种结构示意图;
图6为本发明实施例提供的电子设备的一种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决现有数据库排序性能较差以及榜单更新效果较差的问题,本发明实施例提供了一种榜单更新方法。该方法适用于任一电子设备,电子设备获取待更新成员在多个维度上的特征数据,根据待更新成员在多个维度上的特征数据,确定待更新成员是否进入第一榜单,其中,第一榜单包括多个成员在多个维度上的特征数据,且第一榜单包括的多个成员按照维度的优先级从高到低的顺序,以及每一维度上特征数据从大到小的顺序进行排序,若是,则根据待更新成员在多个维度上的特征数据,对第一榜单进行更新,若否,则根据待更新成员在多个维度上的特征数据,对第二榜单进行更新,其中,第二榜单中包括根据多个成员在多个维度上的特征数据确定的排序分值,且第二榜单包括的多个成员按照排序分值从大到小的顺序进行排序。
通过本发明实施例提供的方法,将榜单分为第一榜单和第二榜单,根据待更新成员的在多个维度上的特征数据,确定待更新成员是否进入第一榜单,并在进入第一榜单时,对第一榜单进行更新,在未进入第一榜单时,对第二榜单进行更新,这有效的降低了需要排序的成员的数量,也就是不需要对第一榜单和第二榜单中所有的成员进行排序,提高了排序的效率,从而提高了排序性能以及榜单的更新效果。
下面通过具体的实施例,对本发明实施例进行说明。
如图1所示,图1为本发明实施例提供的榜单更新方法的第一种流程示意图。该方法包括以下步骤。
步骤S101,获取待更新成员在多个维度上的特征数据。
在本步骤中,电子设备可以获取当前时间待更新成员在多个维度上的特征数据。该待更新成员可以为已有的榜单中包括的成员,也可以为已有的榜单中未包括的成员。以游戏中的排行榜为例,待更新成员可以为该排行榜中包括的游戏玩家,也可以为新注册的玩家。
在本发明实施例中,根据榜单的应用场景的不同,上述待更新成员以及多个维度上的特征数据也有所不同的。例如,榜单为一游戏中玩家综合实力的排行榜,上述待更新成员为某一玩家,在该榜单中的成员可以表示为该玩家的游戏标识(Identification,ID)。在多个维度上的特征数据可以为该玩家的游戏装备数量,等级,虚拟财富值等。再例如,榜单为名校的排行榜,上述待更新成员为某一名校,在该榜单中的成员可以表示为该名校的校名。在多个维度上的特征数据可以包括学校的创建时间、出现的名人的数量、学校影响力对应的分值、校园环境对应的分值、学校或学生的获奖数量等。
步骤S102,根据待更新成员在多个维度上的特征数据,确定待更新成员是否进入第一榜单。其中,第一榜单包括多个成员在多个维度上的特征数据,且第一榜单包括的多个成员按照维度的优先级从高到低的顺序,以及每一维度上特征数据从大到小的顺序进行排序。若是,则执行步骤S103。若否,则执行步骤S104。
在本步骤中,电子设备可以根据待更新成员在多个维度上的特征数据,以及第一榜单中包括的成员在多个维度上的特征数据,确定待更新成员是否进入第一榜单。
一个实施例中,电子设备可以根据待更新成员在多个维度上的特征数据,以及第一榜单中末尾成员在多个维度上的特征数据,将待更新成员的特征数据与末尾成员的特征数据进行比较,确定待更新成员是否进入第一榜单。其中,第一榜单的末尾成员可以为排序在最后的成员,也就是第一榜单中排序最低的成员。关于比较的方法可参见下文描述,在此不作具体说明。
在本发明实施例中,上述第一榜单中可以包括多个成员,每一成员在多个维度上的特征数据以及每一成员的排序高低。如表1所示,表1为本发明实施例提供的一种第一榜单。另外,第一榜单包括的多个成员按照维度的优先级从高到低的顺序,以及每一维度上特征数据从大到小的顺序进行排序。以表1中的成员a和成员b为例进行说明。若第一维度的优先级高于第二维度的优先级,第二维度的优先级高于第三维度的优先级。在对成员a和成员b进行排序时,优先比较数据A1与数据A2,当数据A1>数据A2时,可以确定成员a的排序高于成员b的排序。当数据A1<数据A2时,可以确定成员a的排序低于成员b的排序。当数据A1=数据A2时,可以比较数据B1和数据B2,当数据B1>数据B2时,可以确定成员a的排序高于成员b的排序。当数据B1<数据B2时,可以确定成员a的排序低于成员b的排序。当数据B1<数据B2时,可以比较数据C1和数据C2,以此类推,确定成员a与成员b的排序高低。
表1
一个可选的实施例中,为了降低第一榜单中每一成员在每一维度上的特征数据相同时,对排序的影响,在上述多个维度中还可以包括一时间维度,且将该时间维度的优先级设置为最低优先级。以第一榜单为游戏中高手的排行榜为例进行说明。当玩家A和玩家B在等级、装备、财富等维度上的特征数据均相同时,为了确定玩家A和玩家B的排序高低,电子设备可以根据玩家A和玩家B得到对应的多个维度上的特征数据的时间,将时间较早的玩家确定为排序较高的。其中,该时间为得到对应的多个维度上的特征数据中最后更新维度上特征数据更新的时间。例如,玩家A与玩家B的等级均为等级1,装备均为装备1,财富值均为财富1。若玩家A最后更新的特征数据所对应的维度为等级维度,更新时间为10:30;玩家B最后更新的特征数据所对应的维度为装备维度,更新时间为10:31,则电子设备可以确定玩家A的等级高于玩家B的等级。
一个可选的实施例中,为了提高第一榜单更新的及时性,上述第一榜单中的在多个维度上的特征数据可以存储在基于列表(List)数据类型的远程字典服务(RemoteDictionary Server,Redis)数据库中。另外,电子设备可以将第一榜单中的每一成员在多个维度上的特征数据备份到mysql中。
步骤S103,根据待更新成员在多个维度上的特征数据,对第一榜单进行更新。
在本步骤中,在确定待更新成员进入第一榜单后,电子设备可以根据待更新成员在多个维度上的特征数据,对第一榜单进行更新。也就是根据待更新成员在多个维度上的特征数据,将待更新成员更新到第一榜单中。关于第一榜单的更新方法可参见下文描述,在此不作具体说明。
步骤S104,根据待更新成员在多个维度上的特征数据,对第二榜单进行更新。其中,第二榜单中包括根据多个成员在多个维度上的特征数据确定的排序分值,且第二榜单包括的多个成员按照排序分值从大到小的顺序进行排序。
在本步骤中,在确定待更新成员未进入第一榜单后,电子设备可以根据待更新成员在多个维度上的特征数据,对第二榜单进行更新。也就是根据待更新成员在多个维度上的特征数据,将待更新成员更新到第二榜单中。
一个实施例中,电子设备可以根据待更新成员在多个维度上的特征数据,以及每一维度对应的权值,计算待更新成员每一维度上特征数据的加权和值,并将该加权和值确定为待更新成员的排序分值。电子设备将待更新成员的排序分值与第二榜单包括的多个成员的排序分值进行比较,确定待更新成员的当前排序,并根据当前排序对第二榜单进行更新。其中,每一维度对应的权值可以根据每一维度的优先级高低确定。例如,优先级较高维度对应的权值较大,优先级较低维度对应的权值较小。
在本发明实施例中,上述第二榜单中可以包括多个成员,根据每一成员在多个维度上的特征数据确定的排序分值以及每一成员的排序高低。第二榜单中的包括的多个成员按照排序分值从大到小的顺序进行排序。如表2和表3所示,表2为本发明实施例提供的多个成员在多个维度上的特征数据。表3为本发明实施例提供的一种第二榜单。
表2
维度1 | 维度2 | 维度3 | |
物品1 | 3 | 1 | 1 |
物品2 | 2 | 3 | 0 |
物品3 | 2 | 1 | 3 |
表3
排序 | 成员 | 排序分值 |
1 | 物品1 | 35 |
2 | 物品2 | 32 |
3 | 物品3 | 27 |
在表2中,每一物品对应有3个维度上的特征数据,即维度1、维度2和维度3。维度1、维度2和维度3对应的权值分别为10、4、1。根据每一物品在每一维度上的特征数据以及每一维度对应的权值,电子设备可以确定物品1的排序分值P1表示为:P1=3*10+1*4+1*1=35。物品2的排序分值P2表示为:P2=2*10+3*4+0*1=32。物品3的排序分值P3表示为:P3=2*10+1*4+3*1=27,35>32>27。根据每一物品的排序分值,电子设备可以得到如表3所示第二榜单,且每一物品的排序从高到低依次为物品1、物品2、物品3。
一个可选的实施例中,为了提高第二榜单更新的及时性,上述第二榜单中根据多个维度上的特征数据确定的排序分值可以存储在基于有序集合(sortedset)数据类型的Redis数据库中。另外,电子设备可以将第二榜单中每一成员在多个维度上的特征数据备份到mysql中。
一个可选的实施例中,针对上述第一榜单和第二榜单,若按照第一榜单对应的排序方式,第一榜单中包括的每一成员的排序均高于第二榜单中包括的每一成员的排序。以第一榜单和第二榜单均为游戏中的玩家综合实力的排行榜为例进行说明。第一榜单可以为排序在前1000的玩家所对应的榜单。第二榜单可以为排序在1000以后的玩家对应的榜单。
针对上述第一榜单和第二榜单,电子设备还可以将其拆分为多个榜单。例如,上述第一榜单为排序在前1000的玩家所对应的榜单。电子设备可以将该榜单拆分为排序在前100的玩家所对应的榜单1,以及排序在前101值至前1000的玩家所对应的榜单2。再例如,上述第二榜单为排序在前1000名之后的玩家所对应的榜单,且玩家总数为50000。也就是第二榜单为排序在1001至50000的玩家所对应的榜单。由于第二榜单中包括的成员数量较多,为避免榜单中的数据溢出,电子设备可以对第二榜单进行拆分,如拆分为排序在1001至26000的玩家所对应的榜单3,以及排序在26001至50000的玩家所对应的榜单4。
在本发明实施例中,第一榜单和第二榜单均是根据每一成员在多个维度上的特征数据生成的。通过将排序靠前的成员排列在第一榜单,将排序较后的成员排列在第二榜单,使得用户可以直观的了解排序较高的成员在每一维度上的特征数据的具体情况,以及排序较低成员的具体排序高低。另外,第一榜单中每一成员在每一维度上的特征数据的数据量较大,利用第一榜单中存储每一成员在每一维度上的特征数据,使得第一榜单对每一成员在每一维度上的特征数据的变化更加敏感,并在特征数据变化时可以技术对特征数据进行更新,从而及时更新第一榜单。
一个可选实施例中,若上述待更新成员为已有的榜单中包括的成员,电子设备在对第一榜单或第二榜单进行更新时,可以丢弃待更新成员的历史排序。
一个可选的实施例中,针对上述步骤S102,根据待更新成员在多个维度上的特征数据,确定待更新成员是否进入第一榜单,具体可以包括以下步骤。
步骤S1021,将优先级最高的维度确定为第一目标维度。
在本步骤中,电子设备可以根据每一维度对应的优先级,将优先级最高的维度确定为第一目标维度。
在本发明实施例中,每一维度对应的优先级可以根据应用场景以及用户需求等进行设定,在此不作具体限定。
步骤S1022,获取第一榜单中末尾成员在第一目标维度上的特征数据,作为第一特征数据,并获取待更新成员在第一目标维度上的特征数据,作为第二特征数据。
步骤S1023,比较第一特征数据与第二特征数据。若等于,则执行步骤S1024。若小于,则执行步骤S1025。若大于,则执行步骤S1026。
步骤S1024,将下一优先级的维度确定为第一目标维度,并返回执行上述步骤S1022。
在本步骤中,当第一特征数据等于第二特征数据时,电子设备可以根据每一维度优先级从高到低的顺序,上述第一目标维度的下一优先级对应的维度确定为第一目标维度,并返回执行上述步骤S1022。也就是返回执行上述获取第一榜单中末尾成员在第一目标维度上的特征数据,作为第一特征数据,并获取待更新成员在第一目标维度上的特征数据,作为第二特征数据的步骤。
步骤S1025,确定待更新成员进入第一榜单。
在本步骤中,当第一特征数据小于第二特征数据时,电子设备可以确定待更新成员进行第一榜单。
步骤S1026,确定待更新成员未进入第一榜单。
在本步骤中,当第一特征数据大于第二特征数据时,电子设备可以确定待更新成员未进入第一榜单。也就是电子设备可以确定待更新成员进入第二榜单。
通过上述步骤S1021-步骤S1023,电子设备根据第一榜单中末尾成员的第一特征数据和待更新成员的第二特征数据,可以准确的确定出待更新成员是否进入第一榜单,并在进入第一榜单时,对第一榜单进行更新,在未进入第一榜单时,对第二榜单进行更新,这有效的降低了需要排序的成员的数量,也就是不需要对第一榜单和第二榜单中所有的成员进行排序,提高了排序的效率,从而提高了排序性能以及榜单的更新效果。
一个可选的实施例中,针对上述步骤S103,根据待更新成员在多个维度上的特征数据,对第一榜单进行更新,具体可以包括以下步骤。
步骤S1031A,将第一榜单中的排序最高的成员作为第一目标成员,并将优先级最高的维度作为第二目标维度。
在本步骤中,电子设备可以根据第一榜单中每一成员的排序高低,将排序最高的成员确定为第一目标成员。电子设备还可以根据每一维度的优先级高低,将优先级最高的维度确定为第二目标维度。
步骤S1032A,获取第一目标成员在第二目标维度上的特征数据,作为第三特征数据,并获取待更新成员在第二目标维度上的特征数据,作为第四特征数据。
步骤S1033A,比较第三特征数据和第四特征数据。若等于,则执行步骤S1034A。若大于,则执行步骤S1035A。若小于,则执行步骤S1036A。
步骤S1034A,将下一优先级的维度确定为第二目标维度,并返回执行步骤S1032。
在本步骤中,当第三特征数据等于第四特征数据时,电子设备可以根据每一维度优先级从高到低的顺序,将第二目标维度的下一维度确定为目标维度,并返回执行上述步骤S1032A。也就是返回执行上述获取第一目标成员在第二目标维度上的特征数据,作为第三特征数据,并获取待更新成员在第二目标维度上的特征数据,作为第四特征数据的步骤。
步骤S1035A,从第一榜单中选择下一排序的成员作为第一目标成员,将优先级最高的维度确定为第二目标维度,并返回执行步骤S1032A。
在本步骤中,当第三特征数据大于第四特征数据时,电子设备可以按照预设的算法,从第一榜单中选择一个成员作为第一目标成员,将优先级最高的维度确定为第二目标维度,并返回执行上述步骤S1032A。也就是返回执行上述获取第一目标成员在第二目标维度上的特征数据,作为第三特征数据,并获取待更新成员在第二目标维度上的特征数据,作为第四特征数据的步骤。
步骤S1036A,将第一目标成员的排序确定为待更新成员的当前排序。
在本步骤中,当第三特征数据小于第四特征数据时,电子设备可以确定第一目标成员排序确定为待更新成员的当前排序。
步骤S1037A,根据待更新成员的当前排序,对第一榜单进行更新。
在本步骤中,电子设备可以根据确定的待更新成员的当前排序,将待更新成员更新到第一榜单中,完成对第一榜单的更新。
为方便理解,对上述步骤S1031A-步骤S1037A进行举例说明。
电子设备将第一榜单中排序在第一位的成员1确定为第一目标成员。比较成员1的第三特征数据与待更新成员的第四特征数据。此时,成员1的第三特征数据可能大于待更新成员的第四特征数据,成员1的第三特征数据也可能小于待更新成员的第四特征数据。
当成员1的第三特征数据小于待更新成员的第四特征数据时,电子设备可以确定成员1的排序低于待更新成员。电子设备可以确定成员1的排序为待更新成员的当前排序,也就是待更新成员的当前排序为第一榜单中的第一位。电子设备根据待更新成员的当前排序,将待更新成员更新到第一榜单的第一位,并适应性调整第一榜单中的其他成员的排序。也就是调整排序在待更新成员后的其他成员的排序。
当成员1的第三特征数据大于待更新成员的第四特征数据时,电子设备可以确定成员1的排序高于待更新成员的排序。电子设备可以将第一榜单中排序在第二为的成员2确定为第一目标成员,并比较成员2的第三特征数据与待更新成员的第四特征数据。以此类推,直至确定待更新成员的当前排序。
通过上述步骤S1031A-步骤S1037A,电子设备可以准确的确定出待更新成员在第一榜单中的当前排序,根据确定的待更新成员的当前排序,对第一榜单进行更新,这提高了待更新成员的当前排序确定的准确性,以及更新后的榜单的准确性。
另一个可选的实施例中,针对上述步骤S103,根据待更新成员在多个维度上的特征数据,对第一榜单进行更新,具体可以包括以下步骤。
步骤S1031B,将第一榜单中的排序最高的成员作为第二目标成员,并将优先级最高的维度作为第三目标维度。
步骤S1032B,获取第二目标成员在第三目标维度上的特征数据,作为第五特征数据,并获取待更新成员在第三目标维度上的特征数据,作为第六特征数据。
步骤S1033B,比较第五特征数据和第六特征数据。若相等,则执行步骤S1034B。若不相等,则执行步骤S1035B。
步骤S1034B,将下一优先级的维度确定为第三目标维度,并返回执行步骤S1032B。
上述步骤S1031B-步骤S1034B与上述步骤S1031A-步骤S1034A相同。
步骤S1035B,利用二分查找算法,从第一榜单中选择一个成员作为第二目标成员,将优先级最高的维度确定为第三目标维度,并返回执行步骤S1032B,直至确定待更新成员的当前排序。
在本步骤中,当第五特征数据不等于第六特征数据时,电子设备可以利用二分查找算法,从第一榜单中选择一个成员作为第二目标成员将优先级最高的维度确定为第三目标维度,并返回执行上述步骤S1032B。也就是电子设备返回执行获取第二目标成员在第三目标维度上的特征数据,作为第五特征数据,并获取待更新成员在第三目标维度上的特征数据,作为第六特征数据的步骤,直至确定待更新成员的当前排序。
一个实施例中,当第五特征数据大于第六特征数据时,电子设备可以确定第二目标成员的排序高于待更新成员的当前排序。此时,电子设备可以根据第一榜单中排序在第二目标成员之后的成员,利用二分查找算法,从第一榜单中选择一个成员作为第二目标成员,将优先级最高的维度确定为第三目标维度,并返回执行上述步骤S1032B。
另一个实施例中,当第五特征数据小于第六特征数据时,电子设备可以确定第二目标成员的排序低于待更新成员的当前排序。此时,电子设备可以根据第一榜单中排序在第二目标成员之前的成员,利用二分查找算法,从第一榜单中选择一个成员作为第二目标成员,将优先级最高的维度确定为第三目标维度,并返回执行上述步骤S1032B。
步骤S1036B,根据待更新成员的当前排序,对第一榜单进行更新。
上述步骤S1036B与上述步骤S1037A相同。
为方面理解,结合图2对上述步骤S1031B-步骤S1037B进行说明。图2为本发明实施例提供的确定第二目标成员的一种示意图。其中,成员1、成员5、成员6、成员7、成员9、成员13、成员17在第一榜单中排序分别第1位、第5位、第6位、第7位、第9位、第13位以及第17位。
电子设备可以将第一榜单中排列在第1位的成员1确定为第二目标成员。比较成员1的第五特征数据与待更新成员的第六特征数据。此时,成员1的第五特征数据可能大于待更新成员的第六特征数据,成员1的第五特征数据也可能小于待更新成员的第六特征数据。
当成员1的第五特征数据小于待更新成员的第六特征数据时,电子设备可以确定成员1的排序低于待更新成员。电子设备可以确定成员1的排序为待更新成员的当前排序,也就是待更新成员的当前排序为第一榜单中的第一位。电子设备根据待更新成员的当前排序,将待更新成员更新到第一榜单的第一位,并适应性调整第一榜单中的其他成员的排序。也就是调整排序在待更新成员后的其他成员的排序。
当成员1的第五特征数据大于待更新成员的第六特征数据时,电子设备可以确定成员1的排序高于待更新成员的排序。此时,电子设备可以在区间201中利用二分查找算法,将成员确定为第二目标成员,并比较成员9的第五特征数据与待更新成员的第六特征数据。
当成员9的第五特征数据大于待更新成员的第六特征数据时,电子设备可以确定成员9的排序高于待更新成员的当前排序。此时,电子设备可以在区间203中利用二分查找算法,将成员确定为第二目标成员,并比较成员13的第五特征数据与待更新成员的第六特征数据。
当成员9的第五特征数据小于待更新成员的第六特征数据时,电子设备可以确定成员9的排序低于待更新成员的当前排序。此时,电子设备可以在区间202中利用二分查找算法,将成员确定为第二目标成员,并比较成员13的第五特征数据与待更新成员的第六特征数据。
以此类推,直至确定待更新成员的当前排序,从而根据确定的待更新成员的当前排序,对第一榜单进行更新。例如,通过二分查找法依次确定待更新成员的当前排序在区间202,区间204以及区间205之间,电子设备通过将成员确定为第二目标成员,比较成员16的第五特征数据与待更新成员的第六特征数据。当成员6的第五特征数据大于待更新成员的第六特征数据时,电子设备可以确定待更新成员的当前排序为第一榜单中的第7位。当成员6的第五特征数据小于待更新成员的第六特征数据时,电子设备可以确定待更新成员的当前排序为第一榜单中的第6位。
通过上述步骤S1031B-步骤S1036B,利用二分查找算法在第一榜单中确定第二目标成员,这有效的降低了时间复杂度,提高了待更新成员的当前排序确定的准确性以及效率。以第一榜单包括的成员数量为1024=210为例,时间复杂度为10=log2210,也就是电子设备通过10次比较,可以确定待更新成员的当前排序。
上述步骤S1031A-步骤S1036A以及步骤S1031B-步骤S1035B为本发明实施例中提供的根据待更新成员在多个维度上的特征数据,确定待更新成员在第一榜单中的当前排序的两种方式。在本发明实施例中,电子设备采用多种排序算法确定待更新成员在第一榜单中的当前排序,例如,采用冒泡排序算法,在此,对确定待更新成员的当前排序的方式不作具体限定。
综上所述,通过本发明实施例提供的方法,将榜单分为第一榜单和第二榜单,根据待更新成员的在多个维度上的特征数据,确定待更新成员是否进入第一榜单,并在进入第一榜单时,对第一榜单进行更新,在未进入第一榜单时,对第二榜单进行更新,这有效的降低了需要排序的成员的数量,也就是不需要对第一榜单和第二榜单中所有的成员进行排序,提高了排序的效率,从而提高了排序性能以及榜单的更新效果。
一个可选的实施例中,根据图1所示的榜单更新方法,本发明实施例还提供了一种榜单更新方法。如图3所示,图3为本发明实施例提供的榜单更新方法的第二种流程示意图。该方法包括以下步骤。在将优先级最高的维度确定为第一目标维度之前,还包括:
步骤S301,获取待更新成员在多个维度上的特征数据。
上述步骤S301与上述步骤S101相同。
步骤S302,检测第一榜单中包括的成员数量是否等于预设数量阈值。若是,执行步骤S303。若否,则执行步骤S304。
在本步骤中,电子设备可以检测第一榜单中包括的成员数量是否等于预设数量阈值,该预设数量阈值为第一榜单中包括的成员数量的最大值。也就是电子设备可以检测第一榜单是否满员。当第一榜单中包括的成员数量等于预设数量阈值时,执行步骤S303。当第一榜单中包括的成员数量不等于预设数量阈值时,也就是第一榜单中包括的成员数量小于预设数量阈值时,执行步骤S304。
在本发明实施例中,第一榜单中的成员数量不存在大于预设数量阈值的情况。当第一榜单中包括的成员数量等于预设数量阈值后,排序在预设数量阈值之后的成员将被更新到第二榜单中。
步骤S303,根据待更新成员在多个维度上的特征数据,确定待更新成员是否进入第一榜单。其中,第一榜单包括多个成员在多个维度上的特征数据,且第一榜单包括的多个成员按照维度的优先级从高到低的顺序,以及每一维度上特征数据从大到小的顺序进行排序。若是,则执行步骤S304。若否,则执行步骤S305。
在本步骤中,当检测到第一榜单中包括的成员数量等于预设数量阈值时,电子设备可以根据待更新成员在多个维度上的特征数据,确定待更新成员是否进入第一榜单。具体可以参照上述步骤S102提供的方法,在此不作具体说明。
步骤S304,根据待更新成员在多个维度上的特征数据,对第一榜单进行更新。
在本步骤中,当检测到第一榜单中包括的成员数量小于预设数量阈值,和/或确定待更新成员进入第一榜单时,电子设备可以根据待更新成员在多个维度上的特征数据,对第一榜单进行更新。关于第一榜单的更新方法可以参照上述步骤S103,在此不作具体说明。
步骤S305,根据待更新成员在多个维度上的特征数据,对第二榜单进行更新。其中,第二榜单中包括根据多个成员在多个维度上的特征数据确定的排序分值,且第二榜单包括的多个成员按照排序分值从大到小的顺序进行排序。
上述步骤S305与上述步骤S104相同。
通过图3所示的榜单更新方法,电子设备可以检测第一榜单中包括的成员数量是否等于预设数量阈值,并在成员数量小于预设数量阈值时,直接确定待更新成员进入第一榜单,缩短了电子设备确定待更新成员是否进入第一榜单的时间,提高了榜单更新的效率。
一个可选的实施例中,根据图3所示的榜单更新方法,本发明实施例还提供了一种榜单更新方法。如图4所示,图4为本发明实施例提供的榜单更新方法的第三种流程示意图。该方法包括以下步骤。
步骤S401,获取待更新成员在多个维度上的特征数据。
步骤S402,检测第一榜单中包括的成员数量是否等于预设数量阈值。若是,则执行步骤S403。若否,则执行步骤S405。
步骤S403,根据待更新成员在多个维度上的特征数据,确定待更新成员是否进入第一榜单。其中,第一榜单包括多个成员在多个维度上的特征数据,且第一榜单包括的多个成员按照维度的优先级从高到低的顺序,以及每一维度上特征数据从大到小的顺序进行排序。若是,则执行步骤S404。若否,则执行步骤S406。
上述步骤S401-步骤S403与上述步骤S201-步骤S203相同。
步骤S404,将第一榜单中的末尾成员更新到第二榜单中。
在本步骤中,当第一榜单中包括的成员数量等于预设数量阈值,且待更新成员进入第一榜单时,电子设备可以将第一榜单中的末尾成员更新到第二榜单中。更新方法可以参照上述步骤S104中对第二榜单的更新方法,在此不作具体说明。
步骤S405,根据待更新成员在多个维度上的特征数据,对第一榜单进行更新。
步骤S406,根据待更新成员在多个维度上的特征数据,对第二榜单进行更新。其中,第二榜单中包括根据多个成员在多个维度上的特征数据确定的排序分值,且第二榜单包括的多个成员按照排序分值从大到小的顺序进行排序。
上述步骤S405-步骤S406与上述步骤S204-步骤S205相同。
在本发明实施例中,对上述步骤S404与步骤S405的执行顺序不作具体限定。
通过图4所示的榜单更新方法,电子设备在确定第一榜单包括的成员数量等于预设数量阈值,且待更新成员进入第一榜单后,电子设备可以将第一榜单中的末尾成员更新到的第二榜单,有效降低了成员信息丢失的概率,提高了榜单更新的准确性。
基于同一种发明构思,根据上述本发明实施例提供的榜单更新方法,本发明实施例还提供了一种榜单更新装置。如图5所示,图5为本发明实施例提供的榜单更新装置的一种结构示意图。该装置包括以下模块。
获取模块501,用于获取待更新成员在多个维度上的特征数据。
确定模块502,用于根据待更新成员在多个维度上的特征数据,确定待更新成员是否进入第一榜单,其中,第一榜单包括多个成员在多个维度上的特征数据,且第一榜单包括的多个成员按照维度的优先级从高到低的顺序,以及每一维度上特征数据从大到小的顺序进行排序。
第一更新模块503,用于在确定模块502的确定结果为是时,根据待更新成员在多个维度上的特征数据,对第一榜单进行更新。
第二更新模块504,用于在确定模块502的确定结果为否时,根据待更新成员在多个维度上的特征数据,对第二榜单进行更新,其中,第二榜单中包括根据多个成员在多个维度上的特征数据确定的排序分值,且第二榜单包括的多个成员按照排序分值从大到小的顺序进行排序。
可选的,上述确定模块502,具体可以用于将优先级最高的维度确定为第一目标维度;
获取第一榜单中末尾成员在第一目标维度上的特征数据,作为第一特征数据,并获取待更新成员在第一目标维度上的特征数据,作为第二特征数据;
比较第一特征数据与第二特征数据;
若第一特征数据等于第二特征数据,则将下一优先级的维度确定为第一目标维度,并返回执行获取第一榜单中末尾成员在第一目标维度上的特征数据,作为第一特征数据,并获取待更新成员在第一目标维度上的特征数据,作为第二特征数据的步骤;
若第一特征数据小于第二特征数据,则确定待更新成员进入第一榜单;
若第一特征数据大于第二特征数据,则确定待更新成员未进入第一榜单。
可选的,上述榜单更新装置还可以包括:
检测模块,用于检测第一榜单中包括的成员数量是否等于预设数量阈值。
执行模块,用于在成员数量等于预设数量阈值时,执行将优先级最高的维度确定为第一目标维度的步骤。
可选的,上述榜单更新装置还可以包括:
第三更新模块,用于在成员数量等于预设数量阈值,且待更新成员进入第一榜单时,将第一榜单中的末尾成员更新到第二榜单中。
可选的,上述第一更新模块503,具体可以用于将第一榜单中的排序最高的成员作为第一目标成员,并将优先级最高的维度作为第二目标维度;
获取第一目标成员在第二目标维度上的特征数据,作为第三特征数据,并获取待更新成员在第二目标维度上的特征数据,作为第四特征数据;
比较第三特征数据和第四特征数据;
若第三特征数据等于第四特征数据,则将下一优先级的维度确定为第二目标维度,并返回执行获取第一目标成员在第二目标维度上的特征数据,作为第三特征数据,并获取待更新成员在第二目标维度上的特征数据,作为第四特征数据的步骤;
若第三特征数据大于第四特征数据,则从第一榜单中选择下一排序的成员作为第一目标成员,将优先级最高的维度确定为第二目标维度,并返回执行获取第一目标成员在第二目标维度上的特征数据,作为第三特征数据,并获取待更新成员在第二目标维度上的特征数据,作为第四特征数据的步骤;
若第三特征数据小于第四特征数据,则将第一目标成员的排序确定为待更新成员的当前排序;
根据待更新成员的当前排序,对第一榜单进行更新。
可选的,上述第一更新模块503,具体可以用于将第一榜单中的排序最高的成员作为第二目标成员,并将优先级最高的维度作为第三目标维度;
获取第二目标成员在第三目标维度上的特征数据,作为第五特征数据,并获取待更新成员在第三目标维度上的特征数据,作为第六特征数据;
比较第五特征数据和第六特征数据;
若第五特征数据等于第六特征数据,则将下一优先级的维度确定为第三目标维度,并返回执行获取第二目标成员在第三目标维度上的特征数据,作为第五特征数据,并获取待更新成员在第三目标维度上的特征数据,作为第六特征数据的步骤;
若第五特征数据不等于第六特征数据,则利用二分查找算法,从第一榜单中选择一个成员作为第二目标成员,将优先级最高的维度确定为第三目标维度,并返回执行获取第二目标成员在第三目标维度上的特征数据,作为第五特征数据,并获取待更新成员在第三目标维度上的特征数据,作为第六特征数据的步骤,直至确定待更新成员的当前排序;
根据待更新成员的当前排序,对第一榜单进行更新。
通过本发明实施例提供的装置,将榜单分为第一榜单和第二榜单,根据待更新成员的在多个维度上的特征数据,确定待更新成员是否进入第一榜单,并在进入第一榜单时,对第一榜单进行更新,在未进入第一榜单时,对第二榜单进行更新,这有效的降低了需要排序的成员的数量,也就是不需要对第一榜单和第二榜单中所有的成员进行排序,提高了排序的效率,从而提高了排序性能以及榜单的更新效果。
基于同一种发明构思,根据上述本发明实施例提供的榜单更新方法,本发明实施例还提供了一种电子设备,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信;
存储器603,用于存放计算机程序;
处理器601,用于执行存储器603上所存放的程序时,实现如下步骤:
获取待更新成员在多个维度上的特征数据;
根据待更新成员在多个维度上的特征数据,确定待更新成员是否进入第一榜单,其中,第一榜单包括多个成员在多个维度上的特征数据,且第一榜单包括的多个成员按照维度的优先级从高到低的顺序,以及每一维度上特征数据从大到小的顺序进行排序;
若是,则根据待更新成员在多个维度上的特征数据,对第一榜单进行更新;
若否,则根据待更新成员在多个维度上的特征数据,对第二榜单进行更新,其中,第二榜单中包括根据多个成员在多个维度上的特征数据确定的排序分值,且第二榜单包括的多个成员按照排序分值从大到小的顺序进行排序。
通过本发明实施例提供的电子设备,将榜单分为第一榜单和第二榜单,根据待更新成员的在多个维度上的特征数据,确定待更新成员是否进入第一榜单,并在进入第一榜单时,对第一榜单进行更新,在未进入第一榜单时,对第二榜单进行更新,这有效的降低了需要排序的成员的数量,也就是不需要对第一榜单和第二榜单中所有的成员进行排序,提高了排序的效率,从而提高了排序性能以及榜单的更新效果。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
基于同一种发明构思,根据上述本发明实施例提供的榜单更新方法,本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一榜单更新方法的步骤。
基于同一种发明构思,根据上述本发明实施例提供的榜单更新方法,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一榜单更新方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质及计算机程序产品等实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (14)
1.一种榜单更新方法,其特征在于,所述方法包括:
获取待更新成员在多个维度上的特征数据;
根据所述待更新成员在多个维度上的特征数据,确定所述待更新成员是否进入第一榜单,其中,所述第一榜单包括多个成员在多个维度上的特征数据,且所述第一榜单包括的多个成员按照维度的优先级从高到低的顺序,以及每一维度上特征数据从大到小的顺序进行排序;
若是,则根据所述待更新成员在多个维度上的特征数据,对所述第一榜单进行更新;
若否,则根据所述待更新成员在多个维度上的特征数据,对第二榜单进行更新,其中,所述第二榜单中包括根据多个成员在多个维度上的特征数据确定的排序分值,且所述第二榜单包括的多个成员按照所述排序分值从大到小的顺序进行排序。
2.根据权利要求1所述的方法,其特征在于,所述根据所述待更新成员在多个维度上的特征数据,确定所述待更新成员是否进入第一榜单的步骤,包括:
将优先级最高的维度确定为第一目标维度;
获取第一榜单中末尾成员在所述第一目标维度上的特征数据,作为第一特征数据,并获取所述待更新成员在所述第一目标维度上的特征数据,作为第二特征数据;
比较所述第一特征数据与所述第二特征数据;
若所述第一特征数据等于所述第二特征数据,则将下一优先级的维度确定为第一目标维度,并返回执行所述获取第一榜单中末尾成员在所述第一目标维度上的特征数据,作为第一特征数据,并获取所述待更新成员在所述第一目标维度上的特征数据,作为第二特征数据的步骤;
若所述第一特征数据小于所述第二特征数据,则确定所述待更新成员进入所述第一榜单;
若所述第一特征数据大于所述第二特征数据,则确定所述待更新成员未进入所述第一榜单。
3.根据权利要求2所述的方法,其特征在于,在将优先级最高的维度确定为第一目标维度之前,还包括:
检测所述第一榜单中包括的成员数量是否等于预设数量阈值;
若等于所述预设数量阈值,则执行所述将优先级最高的维度确定为第一目标维度的步骤。
4.根据权利要求3所述的方法,其特征在于,若所述成员数量等于所述预设数量阈值,且所述待更新成员进入所述第一榜单,则所述方法还包括:
将所述第一榜单中的末尾成员更新到所述第二榜单中。
5.根据权利要求1所述的方法,其特征在于,所述根据所述待更新成员在多个维度上的特征数据,对所述第一榜单进行更新的步骤,包括:
将所述第一榜单中的排序最高的成员作为第一目标成员,并将优先级最高的维度作为第二目标维度;
获取所述第一目标成员在所述第二目标维度上的特征数据,作为第三特征数据,并获取所述待更新成员在所述第二目标维度上的特征数据,作为第四特征数据;
比较所述第三特征数据和所述第四特征数据;
若所述第三特征数据等于所述第四特征数据,则将下一优先级的维度确定为第二目标维度,并返回执行所述获取所述第一目标成员在所述第二目标维度上的特征数据,作为第三特征数据,并获取所述待更新成员在所述第二目标维度上的特征数据,作为第四特征数据的步骤;
若所述第三特征数据大于所述第四特征数据,则从所述第一榜单中选择下一排序的成员作为第一目标成员,将优先级最高的维度确定为第二目标维度,并返回执行所述获取所述第一目标成员在所述第二目标维度上的特征数据,作为第三特征数据,并获取所述待更新成员在所述第二目标维度上的特征数据,作为第四特征数据的步骤;
若所述第三特征数据小于所述第四特征数据,则将所述第一目标成员的排序确定为所述待更新成员的当前排序;
根据所述待更新成员的当前排序,对所述第一榜单进行更新。
6.根据权利要求1所述的方法,其特征在于,所述根据所述待更新成员在多个维度上的特征数据,对所述第一榜单进行更新的步骤,包括:
将所述第一榜单中的排序最高的成员作为第二目标成员,并将优先级最高的维度作为第三目标维度;
获取所述第二目标成员在所述第三目标维度上的特征数据,作为第五特征数据,并获取所述待更新成员在所述第三目标维度上的特征数据,作为第六特征数据;
比较所述第五特征数据和所述第六特征数据;
若所述第五特征数据等于所述第六特征数据,则将下一优先级的维度确定为第三目标维度,并返回执行所述获取所述第二目标成员在所述第三目标维度上的特征数据,作为第五特征数据,并获取所述待更新成员在所述第三目标维度上的特征数据,作为第六特征数据的步骤;
若所述第五特征数据不等于所述第六特征数据,则利用二分查找算法,从所述第一榜单中选择一个成员作为第二目标成员,将优先级最高的维度确定为第三目标维度,并返回执行所述获取所述第二目标成员在所述第三目标维度上的特征数据,作为第五特征数据,并获取所述待更新成员在所述第三目标维度上的特征数据,作为第六特征数据的步骤,直至确定所述待更新成员的当前排序;
根据所述待更新成员的当前排序,对所述第一榜单进行更新。
7.一种榜单更新装置,其特征在于,所述装置包括:
获取模块,用于获取待更新成员在多个维度上的特征数据;
确定模块,用于根据所述待更新成员在多个维度上的特征数据,确定所述待更新成员是否进入第一榜单,其中,所述第一榜单包括多个成员在多个维度上的特征数据,且所述第一榜单包括的多个成员按照维度的优先级从高到低的顺序,以及每一维度上特征数据从大到小的顺序进行排序;
第一更新模块,用于在所述确定模块的确定结果为是时,根据所述待更新成员在多个维度上的特征数据,对所述第一榜单进行更新;
第二更新模块,用于在所述确定模块的确定结果为否时,根据所述待更新成员在多个维度上的特征数据,对第二榜单进行更新,其中,所述第二榜单中包括根据多个成员在多个维度上的特征数据确定的排序分值,且所述第二榜单包括的多个成员按照所述排序分值从大到小的顺序进行排序。
8.根据权利要求7所述的装置,其特征在于,所述确定模块,具体用于将优先级最高的维度确定为第一目标维度;
获取第一榜单中末尾成员在所述第一目标维度上的特征数据,作为第一特征数据,并获取所述待更新成员在所述第一目标维度上的特征数据,作为第二特征数据;
比较所述第一特征数据与所述第二特征数据;
若所述第一特征数据等于所述第二特征数据,则将下一优先级的维度确定为第一目标维度,并返回执行所述获取第一榜单中末尾成员在所述第一目标维度上的特征数据,作为第一特征数据,并获取所述待更新成员在所述第一目标维度上的特征数据,作为第二特征数据的步骤;
若所述第一特征数据小于所述第二特征数据,则确定所述待更新成员进入所述第一榜单;
若所述第一特征数据大于所述第二特征数据,则确定所述待更新成员未进入所述第一榜单。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
检测模块,用于检测所述第一榜单中包括的成员数量是否等于预设数量阈值;
执行模块,用于在所述成员数量等于所述预设数量阈值时,执行所述将优先级最高的维度确定为第一目标维度的步骤。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
第三更新模块,用于在所述成员数量等于所述预设数量阈值,且所述待更新成员进入所述第一榜单时,将所述第一榜单中的末尾成员更新到所述第二榜单中。
11.根据权利要求7所述的装置,其特征在于,所述第一更新模块,具体用于将所述第一榜单中的排序最高的成员作为第一目标成员,并将优先级最高的维度作为第二目标维度;
获取所述第一目标成员在所述第二目标维度上的特征数据,作为第三特征数据,并获取所述待更新成员在所述第二目标维度上的特征数据,作为第四特征数据;
比较所述第三特征数据和所述第四特征数据;
若所述第三特征数据等于所述第四特征数据,则将下一优先级的维度确定为第二目标维度,并返回执行所述获取所述第一目标成员在所述第二目标维度上的特征数据,作为第三特征数据,并获取所述待更新成员在所述第二目标维度上的特征数据,作为第四特征数据的步骤;
若所述第三特征数据大于所述第四特征数据,则从所述第一榜单中选择下一排序的成员作为第一目标成员,将优先级最高的维度确定为第二目标维度,并返回执行所述获取所述第一目标成员在所述第二目标维度上的特征数据,作为第三特征数据,并获取所述待更新成员在所述第二目标维度上的特征数据,作为第四特征数据的步骤;
若所述第三特征数据小于所述第四特征数据,则将所述第一目标成员的排序确定为所述待更新成员的当前排序;
根据所述待更新成员的当前排序,对所述第一榜单进行更新。
12.根据权利要求7所述的装置,其特征在于,所述第一更新模块,具体用于将所述第一榜单中的排序最高的成员作为第二目标成员,并将优先级最高的维度作为第三目标维度;
获取所述第二目标成员在所述第三目标维度上的特征数据,作为第五特征数据,并获取所述待更新成员在所述第三目标维度上的特征数据,作为第六特征数据;
比较所述第五特征数据和所述第六特征数据;
若所述第五特征数据等于所述第六特征数据,则将下一优先级的维度确定为第三目标维度,并返回执行所述获取所述第二目标成员在所述第三目标维度上的特征数据,作为第五特征数据,并获取所述待更新成员在所述第三目标维度上的特征数据,作为第六特征数据的步骤;
若所述第五特征数据不等于所述第六特征数据,则利用二分查找算法,从所述第一榜单中选择一个成员作为第二目标成员,将优先级最高的维度确定为第三目标维度,并返回执行所述获取所述第二目标成员在所述第三目标维度上的特征数据,作为第五特征数据,并获取所述待更新成员在所述第三目标维度上的特征数据,作为第六特征数据的步骤,直至确定所述待更新成员的当前排序;
根据所述待更新成员的当前排序,对所述第一榜单进行更新。
13.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-6任一所述的方法步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910578370.6A CN110334104B (zh) | 2019-06-28 | 2019-06-28 | 一种榜单更新方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910578370.6A CN110334104B (zh) | 2019-06-28 | 2019-06-28 | 一种榜单更新方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110334104A CN110334104A (zh) | 2019-10-15 |
CN110334104B true CN110334104B (zh) | 2022-12-20 |
Family
ID=68144550
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910578370.6A Active CN110334104B (zh) | 2019-06-28 | 2019-06-28 | 一种榜单更新方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110334104B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110795446A (zh) * | 2019-10-29 | 2020-02-14 | 北京字节跳动网络技术有限公司 | 榜单更新方法、装置、可读介质和电子设备 |
CN111708954B (zh) * | 2020-05-22 | 2023-10-27 | 微梦创科网络科技(中国)有限公司 | 一种排行榜的排名方法及系统 |
CN114328558B (zh) * | 2021-12-30 | 2022-12-27 | 北京达佳互联信息技术有限公司 | 一种榜单更新方法、装置、设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109739903B (zh) * | 2018-12-30 | 2020-12-18 | 广州华多网络科技有限公司 | 一种排行榜数据的生成方法及相关装置 |
CN109766497B (zh) * | 2019-01-22 | 2022-03-22 | 网易(杭州)网络有限公司 | 排行榜生成方法及装置、存储介质、电子设备 |
-
2019
- 2019-06-28 CN CN201910578370.6A patent/CN110334104B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110334104A (zh) | 2019-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110162695B (zh) | 一种信息推送的方法及设备 | |
CN106897428B (zh) | 文本分类特征提取方法、文本分类方法及装置 | |
CN110334104B (zh) | 一种榜单更新方法、装置、电子设备及存储介质 | |
CN105022754B (zh) | 基于社交网络的对象分类方法及装置 | |
CN111209977A (zh) | 分类模型的训练和使用方法、装置、设备和介质 | |
CN109165691B (zh) | 用于识别作弊用户的模型的训练方法、装置及电子设备 | |
CN110083475B (zh) | 一种异常数据的检测方法及装置 | |
CN111767713B (zh) | 关键词的提取方法、装置、电子设备及存储介质 | |
CN111104438A (zh) | 时间序列的周期性确定方法、装置及电子设备 | |
WO2019119635A1 (zh) | 种子用户拓展方法、电子设备及计算机可读存储介质 | |
CN112203324B (zh) | 一种基于位置指纹库的mr定位方法及装置 | |
CN113934848B (zh) | 一种数据分类方法、装置和电子设备 | |
CN111310834A (zh) | 数据处理方法及装置、处理器、电子设备、存储介质 | |
CN112765362B (zh) | 基于改进自编码器的知识图谱实体对齐方法及相关设备 | |
CN111784246B (zh) | 物流路径的估测方法 | |
CN112243247B (zh) | 基站优化优先级确定方法、装置及计算设备 | |
CN111783883A (zh) | 一种异常数据的检测方法及装置 | |
CN111738290A (zh) | 图像检测方法、模型构建和训练方法、装置、设备和介质 | |
CN115358308A (zh) | 一种大数据实例约简方法、装置、电子设备及存储介质 | |
CN115292303A (zh) | 数据处理方法及装置 | |
CN113641708B (zh) | 规则引擎的优化方法、数据匹配方法及装置、存储介质、终端 | |
CN114139547A (zh) | 知识融合方法、装置、设备、系统及介质 | |
CN112905885B (zh) | 向用户推荐资源的方法、装置、设备、介质和程序产品 | |
JP2022104892A (ja) | ロングテールキーワードの識別方法、キーワード検索方法及びコンピュータ機器 | |
US20190095483A1 (en) | Search apparatus, storage medium, database system, and search method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210526 Address after: 25, 5th floor, shuangjingfang office building, 3 frisha street, Singapore Applicant after: Zhuomi Private Ltd. Address before: Room 1101, Santai Commercial Building, 139 Connaught Road, Hong Kong, China Applicant before: HONG KONG LIVE.ME Corp.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |