CN114328558B - 一种榜单更新方法、装置、设备及存储介质 - Google Patents
一种榜单更新方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114328558B CN114328558B CN202111662850.4A CN202111662850A CN114328558B CN 114328558 B CN114328558 B CN 114328558B CN 202111662850 A CN202111662850 A CN 202111662850A CN 114328558 B CN114328558 B CN 114328558B
- Authority
- CN
- China
- Prior art keywords
- list
- data
- interval
- value
- sub
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开关于一种榜单更新方法、装置、设备及存储介质,涉及互联网技术领域,可以提高榜单更新的效率。该榜单更新方法包括:获取待更新榜单中至少一个榜单区间的区间信息和待插入数据,并根据至少一个榜单区间的区间信息判断待插入数据所归属的至少一个榜单区间;若将待插入数据添加到至少一个榜单区间后,至少一个榜单区间的数据数量超出预设阈值,则将至少一个榜单区间划分为多个子榜单区间;获取多个子榜单区间的区间信息,并根据多个子榜单区间的区间信息判断待插入数据所归属的至少一个子榜单区间;将待插入数据添加到待插入数据所归属的至少一个子榜单区间中,并更新榜单。
Description
技术领域
本公开涉及互联网技术领域,尤其涉及一种榜单更新方法、装置、设备及存储介质。
背景技术
随着大数据云计算等技术的发展,以及智能移动终端设备的普及,各种应用存储数据的体量变得越来越大。大数据时代的到来为日常生活增加了便利的同时,也为互联网技术带来了挑战。
在各大互联网公司的后台服务中,由于各种各样业务的需求,必不可少的需要对榜单数据进行更新。例如在直播场景下,根据直播间人气对多个直播间的榜单进行更新。
然而,随着大数据的数据量的激增,现有的榜单更新方法很难对大量的榜单数据(例如几万个待更新的榜单数据)进行全量更新,降低了榜单更新的效率。
发明内容
本公开提供一种榜单更新方法、装置、设备及存储介质,可以提高榜单更新的效率。
本公开实施例的技术方案如下:
根据本公开实施例的第一方面,提供一种榜单更新方法,该方法可以应用于电子设备。该榜单更新方法可以包括:获取待更新榜单中至少一个榜单区间的区间信息和待插入数据,并根据至少一个榜单区间的区间信息判断待插入数据所归属的至少一个榜单区间;若将待插入数据添加到至少一个榜单区间后,至少一个榜单区间的数据数量超出预设阈值,则将至少一个榜单区间划分为多个子榜单区间;获取多个子榜单区间的区间信息,并根据多个子榜单区间的区间信息判断待插入数据所归属的至少一个子榜单区间;将待插入数据添加到待插入数据所归属的至少一个子榜单区间中,并更新榜单。
可选的,至少一个榜单区间中的一个榜单区间的区间信息包括:用于查询一个榜单区间中全部数据的索引值、一个榜单区间的数据数量、一个榜单区间的最小数据值和最大数据值;获取待更新榜单中至少一个榜单区间的区间信息,包括:对于至少一个榜单区间中的每个榜单区间均执行第一操作,以得到至少一个榜单区间的区间信息;第一操作为:获取一个榜单区间之前所有榜单区间中的数据数量、一个榜单区间的数据数量、一个榜单区间上一次的更新时刻、一个榜单区间的最小数据值的最大数据值;根据一个榜单区间的最小数据值、一个榜单区间的最大数据值、一个榜单区间上一次更新时的时刻和一致性哈希算法,确定一个榜单区间的索引值;将一个榜单区间的最小数据值的最大数据值、一个榜单区间之前所有榜单区间中的数据数量、一个榜单区间的数据数量和一个榜单区间的索引值确定为一个榜单区间的区间信息。
可选的,根据至少一个榜单区间的区间信息判断待插入数据所归属的至少一个榜单区间,包括:当待插入数据的数据值大于或等于第一榜单区间中的最小数据值,且小于或等于第一榜单区间中的最大数据值时,将第一榜单区间确定为待插入数据所归属的至少一个榜单区间;当待插入数据的数据值大于或等于第二榜单区间中的最大数据值,且小于或等于第三榜单区间中的最小数据值时,将第二榜单区间或第三榜单区间确定为待插入数据所归属的至少一个榜单区间;第二榜单区间和第三榜单区间为相邻的两个榜单区间。
可选的,根据多个子榜单区间的区间信息判断待插入数据所归属的至少一个子榜单区间,包括:当待插入数据的数据值大于或等于第一子榜单区间中的最小数据值,且小于或等于第一子榜单区间中的最大数据值时,将第一子榜单区间确定为待插入数据所归属的至少一个子榜单区间;当待插入数据的数据值大于或等于第二子榜单区间中的最大数据值,且小于或等于第三子榜单区间中的最小数据值时,将第二子榜单区间或第三子榜单区间确定为待插入数据所归属的至少一个子榜单区间;第二子榜单区间和第三子榜单区间为相邻的两个子榜单区间。
可选的,获取多个子榜单区间的区间信息之后,还包括:将待插入数据所归属的至少一个榜单区间的区间信息更新为多个子榜单区间的区间信息。
可选的,将待插入数据所归属的至少一个榜单区间的区间信息更新为多个子榜单区间的区间信息,包括:采用单线程将待插入数据所归属的至少一个榜单区间的区间信息依次更新多个子榜单区间的区间信息。
可选的,将待插入数据添加到待插入数据所归属的至少一个子榜单区间中,并更新榜单,包括:根据待插入数据所归属的至少一个子榜单区间的索引值,确定待插入数据所归属的至少一个子榜单区间中全部数据的数据值;根据待插入数据的数据值和待插入数据所归属的至少一个子榜单区间中全部数据的数据值,确定待插入数据在待插入数据所归属的至少一个子榜单区间中的数据位置,并将待插入数据添加到待插入数据所归属的至少一个子榜单区间中的数据位置,更新榜单。
可选的,榜单更新方法还包括:响应于接收到的用于查询待更新榜单中全部数据的榜单查询指令,从多个榜单区间的榜单区间信息中获取多个榜单区间的索引值;根据多个榜单区间的索引值,确定每个榜单区间中全部数据,并将每个榜单区间中全部数据的数据集合确定为待更新榜单中全部数据;输出待更新榜单中全部数据。
可选的,榜单更新方法还包括:接收用于查询待更新榜单中目标数据的第一数据查询指令;第一数据查询指令包括目标数据在待更新榜单中的第一数据位置;响应于第一数据查询指令,执行第二操作,确定并输出目标数据;第二操作为:从多个榜单区间的榜单区间信息中获取每个榜单区间之前所有榜单区间中的数据数量,并根据第一数据位置和每个榜单区间之前所有榜单区间中的数据数量,确定目标数据归属的榜单区间;根据目标数据归属的榜单区间的数据数量和第一数据位置,确定目标数据在目标数据归属的榜单区间中的第二数据位置,并根据目标数据归属的榜单区间的索引值,确定目标数据归属的榜单区间中全部数据;将第二数据位置上的数据确定为目标数据。
可选的,榜单更新方法还包括:接收用于查询待更新榜单中目标数据集合的第二数据查询指令;第二数据查询指令包括:目标数据中最小数据值对应数据的第三数据位置和目标数据中最大数据值对应数据的第四数据位置;响应于第二数据查询指令,对目标数据中最小数据值对应数据和目标数据中最大数据值对应数据执行第二操作,以得到目标数据中最小数据值对应数据和目标数据中最大数据值对应数据;将目标数据中最小数据值对应数据和目标数据中最大数据值对应数据之间的数据集合、目标数据中最小数据值对应数据、目标数据中最大数据值对应数据确定为目标数据集合。
可选的,榜单更新方法还包括:接收用于查询待更新榜单中目标数据的数据位置的第三数据查询指令;第三数据查询指令包括:目标数据的数据值;从多个榜单区间的榜单区间信息中获取每个榜单区间的最小数据值和最大数据值,并根据目标数据的数据值、每个榜单区间的最小数据值和最大数据值,确定目标数据归属的榜单区间;根据目标数据归属的榜单区间的索引值,确定目标数据归属的榜单区间中全部数据的数据值;根据目标数据的数据值和目标数据归属的榜单区间中全部数据的数据值,确定目标数据的数据位置。
可选的,当待更新榜单中至少一个榜单区间的数量为多个时,还包括:按照待更新榜单中全部数据的数据值的大小顺序划分为多个榜单区间。
可选的,当待更新榜单中至少一个榜单区间的数量为多个时,还包括:若将待插入数据添加到至少一个榜单区间后,至少一个榜单区间的数据数量不超出预设阈值,则将待插入数据添加到待插入数据所归属的至少一个榜单区间中,并更新榜单。
根据本公开实施例的第二方面,提供一种榜单更新装置,可以应用于电子设备,包括:获取单元和处理单元;获取单元,用于获取待更新榜单中至少一个榜单区间的区间信息和待插入数据,并根据至少一个榜单区间的区间信息判断待插入数据所归属的至少一个榜单区间;处理单元,用于若将待插入数据添加到至少一个榜单区间后,至少一个榜单区间的数据数量超出预设阈值,则将至少一个榜单区间划分为多个子榜单区间;获取单元,还用于获取多个子榜单区间的区间信息,并根据多个子榜单区间的区间信息判断待插入数据所归属的至少一个子榜单区间;处理单元,还用于将待插入数据添加到待插入数据所归属的至少一个子榜单区间中,并更新榜单。
可选的,至少一个榜单区间中的一个榜单区间的区间信息包括:用于查询一个榜单区间中全部数据的索引值、一个榜单区间的数据数量、一个榜单区间的最小数据值和最大数据值;获取单元,具体用于:对于至少一个榜单区间中的每个榜单区间均执行第一操作,以得到至少一个榜单区间的区间信息;第一操作为:获取一个榜单区间之前所有榜单区间中的数据数量、一个榜单区间的数据数量、一个榜单区间上一次的更新时刻、一个榜单区间的最小数据值的最大数据值;根据一个榜单区间的最小数据值、一个榜单区间的最大数据值、一个榜单区间上一次更新时的时刻和一致性哈希算法,确定一个榜单区间的索引值;将一个榜单区间的最小数据值的最大数据值、一个榜单区间之前所有榜单区间中的数据数量、一个榜单区间的数据数量和一个榜单区间的索引值确定为一个榜单区间的区间信息。
可选的,处理单元,具体用于:当待插入数据的数据值大于或等于第一榜单区间中的最小数据值,且小于或等于第一榜单区间中的最大数据值时,将第一榜单区间确定为待插入数据所归属的至少一个榜单区间;当待插入数据的数据值大于或等于第二榜单区间中的最大数据值,且小于或等于第三榜单区间中的最小数据值时,将第二榜单区间或第三榜单区间确定为待插入数据所归属的至少一个榜单区间;第二榜单区间和第三榜单区间为相邻的两个榜单区间。
可选的,处理单元,具体用于:当待插入数据的数据值大于或等于第一子榜单区间中的最小数据值,且小于或等于第一子榜单区间中的最大数据值时,将第一子榜单区间确定为待插入数据所归属的至少一个子榜单区间;当待插入数据的数据值大于或等于第二子榜单区间中的最大数据值,且小于或等于第三子榜单区间中的最小数据值时,将第二子榜单区间或第三子榜单区间确定为待插入数据所归属的至少一个子榜单区间;第二子榜单区间和第三子榜单区间为相邻的两个子榜单区间。
可选的,处理单元,还用于将待插入数据所归属的至少一个榜单区间的区间信息更新为多个子榜单区间的区间信息。
可选的,处理单元,具体用于:采用单线程将待插入数据所归属的至少一个榜单区间的区间信息依次更新多个子榜单区间的区间信息。
可选的,处理单元,具体用于:根据待插入数据所归属的至少一个子榜单区间的索引值,确定待插入数据所归属的至少一个子榜单区间中全部数据的数据值;根据待插入数据的数据值和待插入数据所归属的至少一个子榜单区间中全部数据的数据值,确定待插入数据在待插入数据所归属的至少一个子榜单区间中的数据位置,并将待插入数据添加到待插入数据所归属的至少一个子榜单区间中的数据位置,更新榜单。
可选的,获取单元,还用于响应于接收到的用于查询待更新榜单中全部数据的榜单查询指令,从多个榜单区间的榜单区间信息中获取多个榜单区间的索引值;处理单元,还用于根据多个榜单区间的索引值,确定每个榜单区间中全部数据,并将每个榜单区间中全部数据的数据集合确定为待更新榜单中全部数据;榜单更新装置还包括:输出单元;输出单元,用于输出待更新榜单中全部数据。
可选的,榜单更新装置还包括:接收单元;接收单元,还用于接收用于查询待更新榜单中目标数据的第一数据查询指令;第一数据查询指令包括目标数据在待更新榜单中的第一数据位置;输出单元,还用于响应于第一数据查询指令,执行第二操作,确定并输出目标数据;第二操作为:从多个榜单区间的榜单区间信息中获取每个榜单区间之前所有榜单区间中的数据数量,并根据第一数据位置和每个榜单区间之前所有榜单区间中的数据数量,确定目标数据归属的榜单区间;根据目标数据归属的榜单区间的数据数量和第一数据位置,确定目标数据在目标数据归属的榜单区间中的第二数据位置,并根据目标数据归属的榜单区间的索引值,确定目标数据归属的榜单区间中全部数据;将第二数据位置上的数据确定为目标数据。
可选的,接收单元,还用于接收用于查询待更新榜单中目标数据集合的第二数据查询指令;第二数据查询指令包括:目标数据中最小数据值对应数据的第三数据位置和目标数据中最大数据值对应数据的第四数据位置;处理单元,还用于响应于第二数据查询指令,对目标数据中最小数据值对应数据和目标数据中最大数据值对应数据执行第二操作,以得到目标数据中最小数据值对应数据和目标数据中最大数据值对应数据;处理单元,还用于将目标数据中最小数据值对应数据和目标数据中最大数据值对应数据之间的数据集合、目标数据中最小数据值对应数据、目标数据中最大数据值对应数据确定为目标数据集合。
可选的,接收单元,还用于接收用于查询待更新榜单中目标数据的数据位置的第三数据查询指令;第三数据查询指令包括:目标数据的数据值;处理单元,还用于从多个榜单区间的榜单区间信息中获取每个榜单区间的最小数据值和最大数据值,并根据目标数据的数据值、每个榜单区间的最小数据值和最大数据值,确定目标数据归属的榜单区间;处理单元,还用于根据目标数据归属的榜单区间的索引值,确定目标数据归属的榜单区间中全部数据的数据值;处理单元,还用于根据目标数据的数据值和目标数据归属的榜单区间中全部数据的数据值,确定目标数据的数据位置。
可选的,当待更新榜单中至少一个榜单区间的数量为多个时,处理单元,还用于按照待更新榜单中全部数据的数据值的大小顺序划分为多个榜单区间。
可选的,当待更新榜单中至少一个榜单区间的数量为多个时,处理单元,还用于若将待插入数据添加到至少一个榜单区间后,至少一个榜单区间的数据数量不超出预设阈值,则将待插入数据添加到待插入数据所归属的至少一个榜单区间中,并更新榜单。
根据本公开实施例的第三方面,提供一种电子设备,可以包括:处理器和用于存储处理器可执行指令的存储器;其中,处理器被配置为执行所述指令,以实现上述第一方面中任一种可选地榜单更新方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,计算机可读存储介质上存储有指令,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行上述第一方面中任一种可选地榜单更新方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,该计算机程序产品包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行如第一方面中任一种可选地实现方式所述的榜单更新方法。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
本公开的实施例提供的技术方案至少带来以下有益效果:
基于上述任一方面,本公开中,电子设备可以将一个待更新榜单划分为至少一个榜单区间,并在接收待插入数据后,只需要更新待插入数据所归属的至少一个榜单区间或者所归属的至少一个子榜单区间即可,实现了对多个榜单区间的分别更新,无需对待更新榜单中的全部数据进行全量更新,提高了榜单更新的效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1示出了本公开实施例提供的一种榜单更新方法的流程示意图;
图2示出了本公开实施例提供的又一种榜单更新方法的流程示意图;
图3示出了本公开实施例提供的又一种榜单更新方法的流程示意图;
图4示出了本公开实施例提供的又一种榜单更新方法的流程示意图;
图5示出了本公开实施例提供的又一种榜单更新方法的流程示意图;
图6示出了本公开实施例提供的又一种榜单更新方法的流程示意图;
图7示出了本公开实施例提供的又一种榜单更新方法的流程示意图;
图8示出了本公开实施例提供的又一种榜单更新方法的流程示意图;
图9示出了本公开实施例提供的又一种榜单更新方法的流程示意图;
图10示出了本公开实施例提供的又一种榜单更新方法的流程示意图;
图11示出了本公开实施例提供的又一种榜单更新方法的流程示意图;
图12示出了本公开实施例提供的一种榜单更新装置的结构示意图;
图13示出了本公开实施例提供的一种终端的结构示意图;
图14示出了本公开实施例提供的一种服务器的结构示意图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
还应当理解的是,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其他特征、整体、步骤、操作、元素和/或组件的存在或添加。
本公开所涉及的数据可以为经用户授权或者经过各方充分授权的数据。
如背景技术中所描述,随着大数据的数据量的激增,现有的榜单更新方法很难对大量的榜单数据(例如几万个待更新的榜单数据)进行全量更新,降低了榜单更新的效率。
基于此,本公开实施例提供一种榜单更新方法,电子设备可以将一个待更新榜单划分为至少一个榜单区间,并在接收待插入数据后,只需要更新待插入数据所归属的至少一个榜单区间或者所归属的至少一个子榜单区间即可,实现了对多个榜单区间的分别更新,无需对待更新榜单中的全部数据进行全量更新,提高了榜单更新的效率。
上述电子设备可以是服务器,也可以终端,还可以是其他用于对资金进行管控的电子设备,本公开对此不作限定。
当电子设备为服务器时,服务器可以是单独的一个服务器,或者,也可以是由多个服务器构成的服务器集群。部分实施方式中,服务器集群还可以是分布式集群。本公开对服务器的具体实现方式也不作限制。
还有一些实施例中,服务器还可以包含有数据库或与数据库连接,网页页面的页面数据可以存储于数据库中。
当电子设备为终端时,终端可以是手机、平板电脑、桌面型、膝上型、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,PDA)、增强现实(augmentedreality,AR)\虚拟现实(virtual reality,VR)设备等可以安装并使用内容社区应用(如快手)的设备,本公开对该终端的具体形态不作特殊限制。其可以与用户通过键盘、触摸板、触摸屏、遥控器、语音交互或手写设备等一种或多种方式进行人机交互。
如图1所示,当榜单更新方法应用于电子设备时,该榜单更新方法可以包括:
S101、电子设备获取待更新榜单中至少一个榜单区间的区间信息和待插入数据,并根据至少一个榜单区间的区间信息判断待插入数据所归属的至少一个榜单区间。
具体的,在待更新榜单中的数据数量较大的情况下,为了便于管理待更新榜单(例如更新待更新榜单中的数据),可以将待更新榜单为至少一个榜单区间。
可选的,一个榜单区间的区间信息包括:用于查询一个榜单区间中全部数据的索引值、一个榜单区间的数据数量、一个榜单区间的最小数据值和最大数据值。
在获取待更新榜单中至少一个榜单区间的区间信息和待插入数据后,由于一个榜单区间的区间信息包括:一个榜单区间的最小数据值和最大数据值,因此,电子设备可以根据待插入数据的数据值、多个榜单区间中每个榜单区间的最小数据值和最大数据值,判断待插入数据所归属的至少一个榜单区间。
可选的,当待更新榜单中至少一个榜单区间的数量为多个时,该榜单更新方法还包括:
电子设备按照待更新榜单中全部数据的数据值的大小顺序划分为多个榜单区间。这样一来,电子设备可以根据待更新榜单中全部数据的数据值的大小顺序,确定待插入数据归属的榜单区间。
示例性的,待更新榜单为直播间的榜单。该榜单中包括300个直播间。按照300个直播间的直播间人气值可以将直播间的榜单划分为3个榜单区间:A榜单区间(100个直播间)、B榜单区间(100个直播间)和C榜单区间(100个直播间)。
其中,A榜单区间中人气值最小的直播间为300个直播间中,人气值最小的直播间(例如400人气值)。A榜单区间中人气值最大的直播间(例如500人气值),小于B榜单区间中人气值最小的直播间(例如600人气值)。B榜单区间中人气值最大的直播间(例如700人气值),小于C榜单区间中人气值最小的直播间(例如800人气值)。C榜单区间中人气值最大的直播间为300个直播间中,人气值最大的直播间(例如900人气值)。
在这种情况下,电子设备可以获取直播间的榜单中,每个榜单区间的区间信息。
其中,A榜单区间的区间信息包括:用于查询A榜单区间中全部直播间的人气值的索引值A、A榜单区间的直播间数量(100个)、A榜单区间的最小人气值(400人气值)和最大人气值(500人气值)。
B榜单区间的区间信息包括:用于查询B榜单区间中全部直播间的人气值的索引值B、B榜单区间的直播间数量(100个)、B榜单区间的最小人气值(600人气值)和最大人气值(700人气值)。
C榜单区间的区间信息包括:用于查询C榜单区间中全部直播间的人气值的索引值C、C榜单区间的直播间数量(100个)、C榜单区间的最小人气值(800人气值)和最大人气值(900人气值)。
预设待插入数据为直播间的人气值为450的数据。在这种情况下,由于A榜单区间的区间信息包括:A榜单区间的最小人气值(400人气值)和最大人气值(500人气值)。因此,电子设备可以待插入数据归属的至少一个榜单区间为A榜单区间。
S102、若将待插入数据添加到至少一个榜单区间后,至少一个榜单区间的数据数量超出预设阈值,则电子设备将至少一个榜单区间划分为多个子榜单区间。
具体的,在确定待插入数据归属的至少一个榜单区间后,由于一个榜单区间的区间信息包括:一个榜单区间的数据数量,因此,电子设备可以根据至少一个榜单区间的数据数量,确定至少一个榜单区间的数据数量是否大于预设阈值。
当待插入数据归属的至少一个榜单区间的数据数量大于或等于预设阈值时,说明至少一个榜单区间的数据数量已经过多,需要对至少一个榜单区间进行再次划分,进而可以通过将一个数据数量较多的至少一个榜单区间划分为多个子榜单区间,实现对多个子榜单区间的分别更新。即无需对至少一个榜单区间中的全部数据进行全量更新,提高了榜单更新的效率。
可选的,电子设备将至少一个榜单区间划分为多个子榜单区间时,可以将至少一个榜单区间划分为2子榜单区间。
当待插入数据归属的至少一个榜单区间中的数据数量为偶数时,可以将待插入数据归属的至少一个榜单区间平均划分为2个子榜单区间。
当待插入数据归属的至少一个榜单区间中的数据数量为奇数时,可以将待插入数据归属的至少一个榜单区间划分为2个子榜单区间。其中,一个子榜单区间中的数据数量为(n+1)/2,另一个子榜单区间中的数据数量为(n-1)/2。n为待插入数据归属的至少一个榜单区间中的数据数量。
可选的,当待更新榜单中至少一个榜单区间的数量为多个时,该榜单更新方法还包括:
若将待插入数据添加到至少一个榜单区间后,至少一个榜单区间的数据数量不超出预设阈值,则电子设备将待插入数据添加到待插入数据所归属的至少一个榜单区间中,并更新榜单。
具体的,当待插入数据归属的至少一个榜单区间的数据数量小于预设阈值时,说明至少一个榜单区间的数据数量不多,因此,无需要对至少一个榜单区间进行再次划分,电子设备可以将待插入数据添加到待插入数据所归属的至少一个榜单区间中,并更新榜单。这样一来,当至少一个榜单区间的数据数量不超出预设阈值时,电子设备可以将待插入数据直接添加到归属的至少一个榜单区间中,并更新榜单,提高了榜单更新的效率。
结合上述示例,在确定待插入数据为直播间的人气值为450的数据归属的至少一个榜单区间为A榜单区间后,可以根据用于查询A榜单区间中全部直播间的人气值的索引值A,确定A榜单区间中的100个直播间的人气值。
其中,A榜单区间中的100个直播间的人气值中,第56个直播间的人气值为449,第57个直播间的人气值为451。由于A榜单区间中的100个直播间的人气值是按照人气值的大小顺序排序的,因此,电子设备可以将待插入数据为直播间的人气值为450的数据,插入到A榜单区间中的第57位,并更新榜单。
S103、电子设备获取多个子榜单区间的区间信息,并根据多个子榜单区间的区间信息判断待插入数据所归属的至少一个子榜单区间。
电子设备对于多个子榜单区间中的每个子榜单区间均执行以下操作,以得到多个子榜单区间的区间信息:
获取一个子榜单区间之前所有子榜单区间中的数据数量、一个子榜单区间的数据数量、一个子榜单区间上一次的更新时刻、一个子榜单区间的最小数据值的最大数据值;根据一个子榜单区间的最小数据值、一个子榜单区间的最大数据值、一个子榜单区间上一次更新时的时刻和一致性哈希算法,确定一个子榜单区间的索引值;将一个子榜单区间的最小数据值的最大数据值、一个子榜单区间之前所有子榜单区间中的数据数量、一个子榜单区间的数据数量和一个子榜单区间的索引值确定为一个子榜单区间的区间信息。
S104、电子设备将待插入数据添加到待插入数据所归属的至少一个子榜单区间中,并更新榜单。
可选的,由于一个子榜单区间的区间信息包括:用于查询一个子榜单区间中全部数据的索引值,且每个子榜单区间中的全部数据均是按照数据值的大小顺序排序的,因此,电子设备可以根据待插入数据的数据值和待插入数据所归属的至少一个子榜单区间的索引值,将待插入数据添加到待插入数据所归属的至少一个子榜单区间中,并更新榜单。
结合上述示例,在确定待插入数据为直播间的人气值为450的数据归属的至少一个榜单区间为A榜单区间后,若将待插入数据添加到A榜单区间后,A榜单区间的数据数量超出预设阈值,则电子设备将A榜单区间划分为2个子榜单区间,分别为A1子榜单区间和A2子榜单区间。
接着,电子设备可以根据用于查询A1子榜单区间的索引值A11和A2子榜单区间中全部直播间的索引值A22,确定A1子榜单区间中的50个直播间的人气值和A2子榜单区间中的21个直播间的人气值。
其中,A2子榜单区间中的51个直播间的人气值中,第26个直播间的人气值为449,第27个直播间的人气值为451。由于A2子榜单区间中的51个直播间的人气值是按照人气值的大小顺序排序的,因此,电子设备可以将待插入数据为直播间的人气值为450的数据,插入到A2子榜单区间中的第27位,并更新榜单。
上述实施例提供的技术方案至少带来以下有益效果:由S101-S104可知,电子设备可以将一个待更新榜单划分为至少一个榜单区间,并在接收待插入数据后,只需要更新待插入数据所归属的至少一个榜单区间或者所归属的至少一个子榜单区间即可,实现了对多个榜单区间的分别更新,无需对待更新榜单中的全部数据进行全量更新,提高了榜单更新的效率。
在一种可以实现的方式中,至少一个榜单区间中的一个榜单区间的区间信息包括:用于查询一个榜单区间中全部数据的索引值、一个榜单区间的数据数量、一个榜单区间的最小数据值和最大数据值。
结合图1,如图2所示,上述S101中,电子设备获取待更新榜单中至少一个榜单区间的区间信息的方法具体包括:
S201、电子设备对于至少一个榜单区间中的每个榜单区间均执行第一操作,以得到至少一个榜单区间的区间信息。
其中,第一操作为:获取一个榜单区间之前所有榜单区间中的数据数量、一个榜单区间的数据数量、一个榜单区间上一次的更新时刻、一个榜单区间的最小数据值的最大数据值;根据一个榜单区间的最小数据值、一个榜单区间的最大数据值、一个榜单区间上一次更新时的时刻和一致性哈希算法,确定一个榜单区间的索引值;将一个榜单区间的最小数据值的最大数据值、一个榜单区间之前所有榜单区间中的数据数量、一个榜单区间的数据数量和一个榜单区间的索引值确定为一个榜单区间的区间信息。
可选的,一个榜单区间上一次的更新时刻为:在一个榜单区间中插入数据的时刻,或者在一个榜单区间中删除数据的时刻,或者一个榜单区间被划分为多个子榜单区间的时刻。
当多个子榜单区间中的数据值相同时,为了避免电子设备将待插入数据归属的至少一个榜单区间划分为多个子榜单区间后,多个子榜单区间的索引值相同,因此,电子设备可以根据一个榜单区间上一次的更新时刻计算索引值。此外,电子设备可以通过单线程计算索引值,避免了多个子榜单区间的索引值相同的问题。
一致性哈希算法是一种特殊的哈希算法,在移除或者添加一个服务器时,能够尽可能小地改变已存在的服务请求与处理请求服务器之间的映射关系。一致性哈希解决了简单哈希算法在分布式哈希表(Distributed Hash Table,DHT)中存在的动态伸缩等问题。
一致性哈希算法可以将一个榜单区间的索引值均匀的索引到一个榜单区间中的全部数据,避免了索引值可能仅索引一个榜单区间中的部分数据(即出现数据倾斜)的问题。
可选的,待更新榜单在每次更新榜单后,可以根据预先创建的配置文件(用于生成描述待更新榜单的榜单结构信息的配置文件),生成一个元数据文件(metadata)。该元数据文件(metadata)定义了待更新榜单中的数据结构信息。
其中,元数据文件(metadata)以区间信息(Region_info)为单位,每个区间信息(Region_info)内保存了每个榜单区间的区间信息。电子设备可以在生成元数据文件(metadata)后,从元数据文件(metadata)中读取多个榜单区间的区间信息(Region_info),进而得到多个榜单区间的区间信息。
示例性的,待更新榜单为直播间的榜单。该榜单中包括300个直播间。按照300个直播间的直播间人气值可以将直播间的榜单划分为3个榜单区间:A榜单区间(100个直播间)、B榜单区间(100个直播间)和C榜单区间(100个直播间)。
其中,A榜单区间中人气值最小的直播间为300个直播间中,人气值最小的直播间(例如400人气值)。A榜单区间中人气值最大的直播间(例如500人气值),小于B榜单区间中人气值最小的直播间(例如600人气值)。B榜单区间中人气值最大的直播间(例如700人气值),小于C榜单区间中人气值最小的直播间(例如800人气值)。C榜单区间中人气值最大的直播间为300个直播间中,人气值最大的直播间(例如900人气值)。
在这种情况下,电子设备可以获取直播间的榜单中,A榜单区间之前所有榜单区间中的直播间数量(0个),A榜单区间的直播间数量(100个)、在A榜单区间中上一次的添加数据的时刻Ta、A榜单区间的最小人气值(400人气值)和最大人气值(500人气值)。
相应的,电子设备可以获取直播间的榜单中,B榜单区间之前所有榜单区间中的直播间数量(100个),B榜单区间的直播间数量(100个)、在B榜单区间中上一次的添加数据的时刻Tb、B榜单区间的最小人气值(600人气值)和最大人气值(700人气值)。
相应的,电子设备可以获取直播间的榜单中,C榜单区间之前所有榜单区间中的直播间数量(200个),C榜单区间的直播间数量(100个)、在C榜单区间中上一次的添加数据的时刻Tc、C榜单区间的最小人气值(800人气值)和最大人气值(900人气值)。
接着,电子设备根据A榜单区间的最小人气值(400人气值)、A榜单区间的最大人气值(500人气值)、在A榜单区间中上一次的添加数据的时刻Ta和一致性哈希算法,确定A榜单区间的索引值A。
相应的,电子设备根据B榜单区间的最小人气值(600人气值)、B榜单区间的最大人气值(700人气值)、在B榜单区间中上一次的添加数据的时刻Tb和一致性哈希算法,确定B榜单区间的索引值B。
相应的,电子设备根据C榜单区间的最小人气值(800人气值)、C榜单区间的最大人气值(900人气值)、在C榜单区间中上一次的添加数据的时刻Tc和一致性哈希算法,确定C榜单区间的索引值C。
最后,电子设备将A榜单区间之前所有榜单区间中的直播间数量(0个),A榜单区间的直播间数量(100个)、A榜单区间的最小人气值(400人气值)和最大人气值(500人气值)和A榜单区间的索引值A确定为A榜单区间的区间信息。
相应的,电子设备将B榜单区间之前所有榜单区间中的直播间数量(100个),B榜单区间的直播间数量(100个)、B榜单区间的最小人气值(600人气值)和最大人气值(700人气值)和B榜单区间的索引值B确定为B榜单区间的区间信息。
相应的,电子设备将C榜单区间之前所有榜单区间中的直播间数量(200个),C榜单区间的直播间数量(100个)、C榜单区间的最小人气值(800人气值)和最大人气值(900人气值)和C榜单区间的索引值C确定为C榜单区间的区间信息。
上述实施例提供的技术方案至少带来以下有益效果:由S201可知,电子设备可以对于至少一个榜单区间中的每个榜单区间均执行第一操作,以得到至少一个榜单区间的区间信息,给出了一种获取待更新榜单中至少一个榜单区间的区间信息的具体实现方式,以便于后续电子设备根据待更新榜单中至少一个榜单区间的区间信息更新对应的榜单区间,进而提高了榜单更新的效率。
在一种可以实现的方式中,结合图1,如图3所示,上述S101中,电子设备根据至少一个榜单区间的区间信息判断待插入数据所归属的至少一个榜单区间的方法具体包括:
S301、当待插入数据的数据值大于或等于第一榜单区间中的最小数据值,且小于或等于第一榜单区间中的最大数据值时,电子设备将第一榜单区间确定为待插入数据所归属的至少一个榜单区间。
示例性的,待插入数据为直播间的人气值为450的数据。电子设备获取到的A榜单区间的区间信息包括:A榜单区间的最小人气值(400人气值)和最大人气值(500人气值)。在这种情况下,电子设备可以将A榜单区间确定为待插入数据所归属的至少一个榜单区间。
S302、当待插入数据的数据值大于或等于第二榜单区间中的最大数据值,且小于或等于第三榜单区间中的最小数据值时,电子设备将第二榜单区间或第三榜单区间确定为待插入数据所归属的至少一个榜单区间。
其中,第二榜单区间和第三榜单区间为相邻的两个榜单区间。
又一示例性的,待插入数据为直播间的人气值为550的数据。电子设备获取到的A榜单区间的区间信息包括:A榜单区间的最小人气值(400人气值)和最大人气值(500人气值)。电子设备获取到的B榜单区间的区间信息包括:B榜单区间的最小人气值(500人气值)和最大人气值(600人气值)。由上可知,待插入数据位于A榜单区间和B榜单区间区间。在这种情况下,电子设备将A榜单区间或B榜单区间确定为待插入数据归属的至少一个榜单区间。
上述实施例提供的技术方案至少带来以下有益效果:由S301-S302可知,给出了一种电子设备根据至少一个榜单区间的区间信息判断待插入数据所归属的至少一个榜单区间的具体实现方式,以便于后续电子设备根据待插入数据归属的至少一个榜单区间的区间信息更新对应的榜单区间,进而提高了榜单更新的效率。
在一种可以实现的方式中,结合图1,如图4所示,上述S103中,电子设备根据多个子榜单区间的区间信息判断待插入数据所归属的至少一个子榜单区间的方法具体包括:
S401、当待插入数据的数据值大于或等于第一子榜单区间中的最小数据值,且小于或等于第一子榜单区间中的最大数据值时,电子设备将第一子榜单区间确定为待插入数据所归属的至少一个子榜单区间。
示例性的,待插入数据为直播间的人气值为450的数据。电子设备获取到的第一个子榜单区间的区间信息包括:第一个子榜单区间的最小人气值(400人气值)和最大人气值(500人气值)。在这种情况下,电子设备可以将第一个子榜单区间确定为待插入数据所归属的至少一个子榜单区间。
S402、当待插入数据的数据值大于或等于第二子榜单区间中的最大数据值,且小于或等于第三子榜单区间中的最小数据值时,电子设备将第二子榜单区间或第三子榜单区间确定为待插入数据所归属的至少一个子榜单区间。
其中,第二子榜单区间和第三子榜单区间为相邻的两个子榜单区间。
又一示例性的,待插入数据为直播间的人气值为550的数据。电子设备获取到的第一个子榜单区间的区间信息包括:第一个子榜单区间的最小人气值(400人气值)和最大人气值(500人气值)。电子设备获取到的第二个子榜单区间的区间信息包括:第二个子榜单区间的最小人气值(500人气值)和最大人气值(600人气值)。由上可知,待插入数据位于第一个子榜单区间和第二个子榜单区间区间。在这种情况下,电子设备将第一个子榜单区间或第二个子榜单区间确定为待插入数据归属的至少一个子榜单区间。
上述实施例提供的技术方案至少带来以下有益效果:由S401-S402可知,给出了一种电子设备根据多个子榜单区间的区间信息判断待插入数据所归属的至少一个子榜单区间的具体实现方式,以便于后续电子设备根据待插入数据归属的至少一个子榜单区间的区间信息更新对应的子榜单区间,进而提高了榜单更新的效率。
在一种可以实现的方式中,结合图1,如图5所示,上述S103之后,还包括:
S501、电子设备将待插入数据所归属的至少一个榜单区间的区间信息更新为多个子榜单区间的区间信息。
上述实施例提供的技术方案至少带来以下有益效果:由S501可知,在获取多个子榜单区间的区间信息后,电子设备可以将插入数据所归属的至少一个榜单区间的区间信息更新为多个子榜单区间的区间信息,以便于后续根据多个子榜单区间的区间信息分别更新多个子榜单区间,实现对多个子榜单区间的分别更新。即无需对插入数据所归属的至少一个榜单区间中的全部数据进行全量更新,提高了榜单更新的效率。
在一种可以实现的方式中,结合图5,如图6所示,上述S501中,电子设备将待插入数据所归属的至少一个榜单区间的区间信息更新为多个子榜单区间的区间信息的方法具体包括:
S601、电子设备采用单线程将待插入数据所归属的至少一个榜单区间的区间信息依次更新多个子榜单区间的区间信息。
在大数据场景下,可能会不断的有新的数据需要插入到待更新榜单中。而待更新榜单在更新一次以后,待更新榜单中的全部数据都会相应的更新。为了避免并发场景下(即同时有多个待插入数据等待插入到待更新榜单时)榜单更新可靠性低的问题,电子设备可以采用单线程将待插入数据所归属的至少一个榜单区间的区间信息依次更新多个子榜单区间的区间信息,从而使得同一待更新榜单中的数据可以通过一个线程有序处理,保证了待更新榜单以及每个榜单区间不会发生混乱。
在一种可以实现的方式中,结合图1,如图7所示,上述S104中,电子设备将所述待插入数据添加到所述待插入数据所归属的至少一个子榜单区间中,并更新榜单的方法具体包括:
S701、电子设备根据待插入数据所归属的至少一个子榜单区间的索引值,确定待插入数据所归属的至少一个子榜单区间中全部数据的数据值。
具体的,由于索引值用于查询一个榜单区间中全部数据,因此,在确定待插入数据归属的待插入数据所归属的至少一个子榜单区间后,电子设备可以根据待插入数据所归属的至少一个子榜单区间的索引值,确定待插入数据所归属的至少一个子榜单区间中全部数据的数据值。
S702、电子设备根据待插入数据的数据值和待插入数据所归属的至少一个子榜单区间中全部数据的数据值,确定待插入数据在待插入数据所归属的至少一个子榜单区间中的数据位置,并将待插入数据添加到待插入数据所归属的至少一个子榜单区间中的数据位置,更新榜单。
具体的,在确定待插入数据所归属的至少一个子榜单区间中全部数据的数据值后,电子设备根据待插入数据的数据值和待插入数据所归属的至少一个子榜单区间中全部数据的数据值,确定待插入数据在待插入数据所归属的至少一个子榜单区间中的数据位置,并将待插入数据添加到待插入数据所归属的至少一个子榜单区间中的数据位置,更新榜单。
示例性的,在确定待插入数据为直播间的人气值为450的数据归属的待插入数据所归属的至少一个子榜单区间为A榜单区间后,可以根据用于查询A榜单区间中全部直播间的人气值的索引值A,确定A榜单区间中的100个直播间的人气值。
其中,A榜单区间中的100个直播间的人气值中,第56个直播间的人气值为449,第57个直播间的人气值为451。由于A榜单区间中的100个直播间的人气值是按照人气值的大小顺序排序的,因此,电子设备可以将待插入数据为直播间的人气值为450的数据,插入到A榜单区间中的第57位,从而更新榜单。
上述实施例提供的技术方案至少带来以下有益效果:由S701-S702可知,给出了一种将待插入数据添加到待插入数据所归属的至少一个子榜单区间中的具体实现方式,实现了对待插入数据所归属的至少一个子榜单区间的单独更新,无需对待更新榜单中的全部数据进行全量更新,提高了榜单更新的效率。
在一种可以实现的方式中,如图8所示,该榜单更新方法还包括:
S801、电子设备响应于接收到的用于查询待更新榜单中全部数据的榜单查询指令,从多个榜单区间的榜单区间信息中获取多个榜单区间的索引值。
S802、电子设备根据多个榜单区间的索引值,确定每个榜单区间中全部数据,并将每个榜单区间中全部数据的数据集合确定为待更新榜单中全部数据。
S803、电子设备输出待更新榜单中全部数据。
结合上述示例,待更新榜单为直播间的榜单。电子设备在接收到用于查询直播间的榜单中全部数据的榜单查询指令后,可以从A榜单区间的区间信息、B榜单区间的区间信息和C榜单区间的区间信息中,获取A榜单区间的索引值A、B榜单区间的索引值B和C榜单区间的索引值C。
接着,电子设备根据A榜单区间的索引值A、B榜单区间的索引值B和C榜单区间的索引值C,确定A榜单区间中的全部数据、B榜单区间中的全部数据和C榜单区间中的全部数据,并将上述数据确定为直播间的榜单中全部数据。后续,电子设备输出直播间的榜单中全部数据。
上述实施例提供的技术方案至少带来以下有益效果:由S801-S803可知,电子设备可以通过多个榜单区间的索引值,快速、准确的查询到待更新榜单中全部数据。
在一种可以实现的方式中,如图9所示,该榜单更新方法还包括:
S901、电子设备接收用于查询待更新榜单中目标数据的第一数据查询指令。
其中,第一数据查询指令包括目标数据在待更新榜单中的第一数据位置。
S902、电子设备响应于第一数据查询指令,执行第二操作,确定并输出目标数据。
其中。第二操作为:从多个榜单区间的榜单区间信息中获取每个榜单区间之前所有榜单区间中的数据数量,并根据第一数据位置和每个榜单区间之前所有榜单区间中的数据数量,确定目标数据归属的榜单区间;根据目标数据归属的榜单区间的数据数量和第一数据位置,确定目标数据在目标数据归属的榜单区间中的第二数据位置,并根据目标数据归属的榜单区间的索引值,确定目标数据归属的榜单区间中全部数据;将第二数据位置上的数据确定为目标数据。
结合上述示例,电子设备获取到A榜单区间之前所有榜单区间中的直播间数量(0个),B榜单区间之前所有榜单区间中的直播间数量(100个),C榜单区间之前所有榜单区间中的直播间数量(200个)。第一数据查询指令用于查询直播间人气值在第130位的直播间。
在这种情况下,电子设备可以确定直播间人气值在第130位的直播间位于B榜单区间的第30位。接着,电子设备根据B榜单区间的索引值B,确定B榜单区间中全部直播间。后续,将B榜单区间的第30位直播间确定为第一数据查询指令查询的直播间,并输出该直播间。
上述实施例提供的技术方案至少带来以下有益效果:由S901-S902可知,电子设备可以通过多个榜单区间的区间信息,快速、准确的查询到待更新榜单中目标数据。
在一种可以实现的方式中,如图10所示,该榜单更新方法还包括:
S1001、电子设备接收用于查询待更新榜单中目标数据集合的第二数据查询指令。
其中,第二数据查询指令包括:目标数据中最小数据值对应数据的第三数据位置和目标数据中最大数据值对应数据的第四数据位置。
S1002、电子设备响应于第二数据查询指令,对目标数据中最小数据值对应数据和目标数据中最大数据值对应数据执行第二操作,以得到目标数据中最小数据值对应数据和目标数据中最大数据值对应数据。
S1003、电子设备将目标数据中最小数据值对应数据和目标数据中最大数据值对应数据之间的数据集合、目标数据中最小数据值对应数据、目标数据中最大数据值对应数据确定为目标数据集合。
结合上述示例,电子设备获取到A榜单区间之前所有榜单区间中的直播间数量(0个),B榜单区间之前所有榜单区间中的直播间数量(100个),C榜单区间之前所有榜单区间中的直播间数量(200个)。第二数据查询指令用于查询直播间人气值在第120位-第150位的直播间集合。
在这种情况下,电子设备可以基于上述信息确定直播间人气值在第130位的直播间的方法,确定直播间人气值在第120位的直播间,以及直播间人气值在第150位的直播间。后续,电子设备可以将B榜单区间的第20位直播间与B榜单区间的第50位直播间之间的直播间集合,以及第20位直播间、第50位直播间确定为第二数据查询指令查询的直播间集合,并输出该直播间集合。
上述实施例提供的技术方案至少带来以下有益效果:由S1001-S1003可知,电子设备可以通过多个榜单区间的区间信息,快速、准确的查询到待更新榜单中目标数据集合。
在一种可以实现的方式中,如图11所示,该榜单更新方法还包括:
S1101、电子设备接收用于查询待更新榜单中目标数据的数据位置的第三数据查询指令。
其中,第三数据查询指令包括:目标数据的数据值。
S1102、电子设备从多个榜单区间的榜单区间信息中获取每个榜单区间的最小数据值和最大数据值,并根据目标数据的数据值、每个榜单区间的最小数据值和最大数据值,确定目标数据归属的榜单区间。
S1103、电子设备根据目标数据归属的榜单区间的索引值,确定目标数据归属的榜单区间中全部数据的数据值。
S1104、电子设备根据目标数据的数据值和目标数据归属的榜单区间中全部数据的数据值,确定目标数据的数据位置。
结合上述示例,电子设备获取到A榜单区间的区间信息包括:A榜单区间的最小人气值(400人气值)和最大人气值(500人气值)和A榜单区间的索引值A。第三数据查询指令用于查询直播间人气值为450的直播间。
在这种情况下,电子设备可以基于上述信息确定直播间人气值为450的直播间归属于A榜单区间。后续,电子设备根据A榜单区间的索引值A确定A榜单区间中全部直播间的人气值。
其中,A榜单区间中的100个直播间的人气值中,第56个直播间的人气值为449,第57个直播间的人气值为451。由于A榜单区间中的100个直播间的人气值是按照人气值的大小顺序排序的,因此,电子设备可以将直播间人气值为450的直播间确定为A榜单区间中的第57位。
上述实施例提供的技术方案至少带来以下有益效果:由S1101-S1104可知,电子设备可以通过多个榜单区间的区间信息,快速、准确的查询到待更新榜单中目标数据的数据位置。
可以理解的,在实际实施时,本公开实施例所述的电子设备可以包含有用于实现前述对应榜单更新方法的一个或多个硬件结构和/或软件模块,这些执行硬件结构和/或软件模块可以构成一个电子设备。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本公开能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
基于这样的理解,本公开实施例还对应提供一种榜单更新装置,可以应用于电子设备。图12示出了本公开实施例提供的榜单更新装置的结构示意图。如图12所示,该榜单更新装置可以包括:获取单元1201和处理单元1202;获取单元1201,用于获取待更新榜单中至少一个榜单区间的区间信息和待插入数据,并根据至少一个榜单区间的区间信息判断待插入数据所归属的至少一个榜单区间;处理单元1202,用于若将待插入数据添加到至少一个榜单区间后,至少一个榜单区间的数据数量超出预设阈值,则将至少一个榜单区间划分为多个子榜单区间;获取单元1201,还用于获取多个子榜单区间的区间信息,并根据多个子榜单区间的区间信息判断待插入数据所归属的至少一个子榜单区间;处理单元1202,还用于将待插入数据添加到待插入数据所归属的至少一个子榜单区间中,并更新榜单。
可选的,至少一个榜单区间中的一个榜单区间的区间信息包括:用于查询一个榜单区间中全部数据的索引值、一个榜单区间的数据数量、一个榜单区间的最小数据值和最大数据值;获取单元1201,具体用于:对于至少一个榜单区间中的每个榜单区间均执行第一操作,以得到至少一个榜单区间的区间信息;第一操作为:获取一个榜单区间之前所有榜单区间中的数据数量、一个榜单区间的数据数量、一个榜单区间上一次的更新时刻、一个榜单区间的最小数据值的最大数据值;根据一个榜单区间的最小数据值、一个榜单区间的最大数据值、一个榜单区间上一次更新时的时刻和一致性哈希算法,确定一个榜单区间的索引值;将一个榜单区间的最小数据值的最大数据值、一个榜单区间之前所有榜单区间中的数据数量、一个榜单区间的数据数量和一个榜单区间的索引值确定为一个榜单区间的区间信息。
可选的,处理单元1202,具体用于:当待插入数据的数据值大于或等于第一榜单区间中的最小数据值,且小于或等于第一榜单区间中的最大数据值时,将第一榜单区间确定为待插入数据所归属的至少一个榜单区间;当待插入数据的数据值大于或等于第二榜单区间中的最大数据值,且小于或等于第三榜单区间中的最小数据值时,将第二榜单区间或第三榜单区间确定为待插入数据所归属的至少一个榜单区间;第二榜单区间和第三榜单区间为相邻的两个榜单区间。
可选的,处理单元1202,具体用于:当待插入数据的数据值大于或等于第一子榜单区间中的最小数据值,且小于或等于第一子榜单区间中的最大数据值时,将第一子榜单区间确定为待插入数据所归属的至少一个子榜单区间;当待插入数据的数据值大于或等于第二子榜单区间中的最大数据值,且小于或等于第三子榜单区间中的最小数据值时,将第二子榜单区间或第三子榜单区间确定为待插入数据所归属的至少一个子榜单区间;第二子榜单区间和第三子榜单区间为相邻的两个子榜单区间。
可选的,处理单元1202,还用于将待插入数据所归属的至少一个榜单区间的区间信息更新为多个子榜单区间的区间信息。
可选的,处理单元1202,具体用于:采用单线程将待插入数据所归属的至少一个榜单区间的区间信息依次更新多个子榜单区间的区间信息。
可选的,处理单元1202,具体用于:根据待插入数据所归属的至少一个子榜单区间的索引值,确定待插入数据所归属的至少一个子榜单区间中全部数据的数据值;根据待插入数据的数据值和待插入数据所归属的至少一个子榜单区间中全部数据的数据值,确定待插入数据在待插入数据所归属的至少一个子榜单区间中的数据位置,并将待插入数据添加到待插入数据所归属的至少一个子榜单区间中的数据位置,更新榜单。
可选的,获取单元1201,还用于响应于接收到的用于查询待更新榜单中全部数据的榜单查询指令,从多个榜单区间的榜单区间信息中获取多个榜单区间的索引值;处理单元1202,还用于根据多个榜单区间的索引值,确定每个榜单区间中全部数据,并将每个榜单区间中全部数据的数据集合确定为待更新榜单中全部数据;榜单更新装置还包括:输出单元1203;输出单元1203,用于输出待更新榜单中全部数据。
可选的,榜单更新装置还包括:接收单元1204;接收单元1204,还用于接收用于查询待更新榜单中目标数据的第一数据查询指令;第一数据查询指令包括目标数据在待更新榜单中的第一数据位置;输出单元1203,还用于响应于第一数据查询指令,执行第二操作,确定并输出目标数据;第二操作为:从多个榜单区间的榜单区间信息中获取每个榜单区间之前所有榜单区间中的数据数量,并根据第一数据位置和每个榜单区间之前所有榜单区间中的数据数量,确定目标数据归属的榜单区间;根据目标数据归属的榜单区间的数据数量和第一数据位置,确定目标数据在目标数据归属的榜单区间中的第二数据位置,并根据目标数据归属的榜单区间的索引值,确定目标数据归属的榜单区间中全部数据;将第二数据位置上的数据确定为目标数据。
可选的,接收单元1204,还用于接收用于查询待更新榜单中目标数据集合的第二数据查询指令;第二数据查询指令包括:目标数据中最小数据值对应数据的第三数据位置和目标数据中最大数据值对应数据的第四数据位置;处理单元1202,还用于响应于第二数据查询指令,对目标数据中最小数据值对应数据和目标数据中最大数据值对应数据执行第二操作,以得到目标数据中最小数据值对应数据和目标数据中最大数据值对应数据;处理单元1202,还用于将目标数据中最小数据值对应数据和目标数据中最大数据值对应数据之间的数据集合、目标数据中最小数据值对应数据、目标数据中最大数据值对应数据确定为目标数据集合。
可选的,接收单元1204,还用于接收用于查询待更新榜单中目标数据的数据位置的第三数据查询指令;第三数据查询指令包括:目标数据的数据值;处理单元1202,还用于从多个榜单区间的榜单区间信息中获取每个榜单区间的最小数据值和最大数据值,并根据目标数据的数据值、每个榜单区间的最小数据值和最大数据值,确定目标数据归属的榜单区间;处理单元1202,还用于根据目标数据归属的榜单区间的索引值,确定目标数据归属的榜单区间中全部数据的数据值;处理单元1202,还用于根据目标数据的数据值和目标数据归属的榜单区间中全部数据的数据值,确定目标数据的数据位置。
可选的,当待更新榜单中至少一个榜单区间的数量为多个时,处理单元1202,还用于按照待更新榜单中全部数据的数据值的大小顺序划分为多个榜单区间。
可选的,当待更新榜单中至少一个榜单区间的数量为多个时,处理单元1202,还用于若将待插入数据添加到至少一个榜单区间后,至少一个榜单区间的数据数量不超出预设阈值,则将待插入数据添加到待插入数据所归属的至少一个榜单区间中,并更新榜单。
如上所述,本公开实施例可以根据上述方法示例对电子设备进行功能模块的划分。其中,上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。另外,还需要说明的是,本公开实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。
关于上述实施例中的榜单更新装置,其中各个模块执行操作的具体方式、以及具备的有益效果,均已经在前述方法实施例中进行了详细描述,此处不再赘述。
本公开实施例还提供一种终端,终端可以是手机、电脑等用户终端。图13示出了本公开实施例提供的终端的结构示意图。该终端可以是榜单更新装置可以包括至少一个处理器61,通信总线62,存储器63以及至少一个通信接口64。
处理器61可以是一个处理器(central processing units,CPU),微处理单元,ASIC,或一个或多个用于控制本公开方案程序执行的集成电路。作为一个示例,结合图12,电子设备中的获取单元1201和处理单元1202实现的功能与图13中的处理器61实现的功能相同。通信总线62可包括一通路,在上述组件之间传送信息。通信接口64,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如服务器、以太网,无线接入网(radioaccess network,RAN),无线局域网(wireless local area networks,WLAN)等。作为一个示例,结合图12,电子设备中的输出单元1203和接收单元1204实现的功能与图13中的通信接口64实现的功能相同。
存储器63可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理单元相连接。存储器也可以和处理单元集成在一起。其中,存储器63用于存储执行本公开方案的应用程序代码,并由处理器61来控制执行。处理器61用于执行存储器63中存储的应用程序代码,从而实现本公开方法中的功能。在具体实现中,作为一种实施例,处理器61可以包括一个或多个CPU,例如图13中的CPU0和CPU1。
在具体实现中,作为一种实施例,榜单更新终端可以包括多个处理器,例如图13中的处理器61和处理器65。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,榜单更新终端还可以包括输入设备66和输出设备67。输入设备66和输出设备67通信,可以以多种方式接受用户的输入。例如,输入设备66可以是鼠标、键盘、触摸屏设备或传感设备等。输出设备67和处理器61通信,可以以多种方式来显示信息。例如,输出设备61可以是液晶显示器(liquid crystal display,LCD),发光二级管(light emitting diode,LED)显示设备等。
本领域技术人员可以理解,图13中示出的结构并不构成对终端的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本公开实施例还提供一种服务器。图14示出了本公开实施例提供的服务器的结构示意图。该服务器可以是榜单更新装置。该服务器可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器71和一个或一个以上的存储器72。其中,存储器72中存储有至少一条指令,至少一条指令由处理器71加载并执行以实现上述各个方法实施例提供的榜单更新方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
本公开还提供了一种包括指令的计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述计算机可读存储介质中的指令由计算机设备的处理器执行时,使得计算机能够执行上述所示实施例提供的榜单更新方法。例如,计算机可读存储介质可以为包括指令的存储器63,上述指令可由终端的处理器61执行以完成上述方法。又例如,计算机可读存储介质可以为包括指令的存储器72,上述指令可由服务器的处理器71执行以完成上述方法。可选地,计算机可读存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、RAM、CD-ROM、磁带、软盘和光数据存储设备等。
本公开还提供了一种计算机程序产品,该计算机程序产品包括计算机指令,当所述计算机指令在终端上运行时,使得所述终端执行上述图1-图11任一附图所示的榜单更新方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (27)
1.一种榜单更新方法,其特征在于,包括:
获取待更新榜单中至少一个榜单区间的区间信息和待插入数据,并根据所述至少一个榜单区间的区间信息判断所述待插入数据所归属的所述至少一个榜单区间;
若将所述待插入数据添加到所述至少一个榜单区间后,所述至少一个榜单区间的数据数量超出预设阈值,则将所述至少一个榜单区间划分为多个子榜单区间;
获取所述多个子榜单区间的区间信息,并根据所述多个子榜单区间的区间信息判断所述待插入数据所归属的至少一个子榜单区间;
将所述待插入数据添加到所述待插入数据所归属的至少一个子榜单区间中,并更新榜单;
所述至少一个榜单区间中的一个榜单区间的区间信息包括:用于查询所述一个榜单区间中全部数据的索引值、所述一个榜单区间的数据数量、所述一个榜单区间的最小数据值和最大数据值;
所述获取待更新榜单中至少一个榜单区间的区间信息,包括:
对于所述至少一个榜单区间中的每个榜单区间均执行第一操作,以得到所述至少一个榜单区间的区间信息;
所述第一操作为:
获取所述一个榜单区间之前所有榜单区间中的数据数量、所述一个榜单区间的数据数量、所述一个榜单区间上一次的更新时刻、所述一个榜单区间的最小数据值和最大数据值;
根据所述一个榜单区间的最小数据值、所述一个榜单区间的最大数据值、所述一个榜单区间上一次更新时的时刻和一致性哈希算法,确定所述一个榜单区间的索引值;
将所述一个榜单区间的最小数据值和最大数据值、所述一个榜单区间之前所有榜单区间中的数据数量、所述一个榜单区间的数据数量和所述一个榜单区间的索引值确定为所述一个榜单区间的区间信息。
2.根据权利要求1所述的榜单更新方法,其特征在于,所述根据所述至少一个榜单区间的区间信息判断所述待插入数据所归属的所述至少一个榜单区间,包括:
当所述待插入数据的数据值大于或等于第一榜单区间中的最小数据值,且小于或等于所述第一榜单区间中的最大数据值时,将所述第一榜单区间确定为所述待插入数据所归属的所述至少一个榜单区间;
当所述待插入数据的数据值大于或等于第二榜单区间中的最大数据值,且小于或等于第三榜单区间中的最小数据值时,将所述第二榜单区间或第三榜单区间确定为所述待插入数据所归属的所述至少一个榜单区间;所述第二榜单区间和所述第三榜单区间为相邻的两个榜单区间。
3.根据权利要求1所述的榜单更新方法,其特征在于,所述根据所述多个子榜单区间的区间信息判断所述待插入数据所归属的至少一个子榜单区间,包括:
当所述待插入数据的数据值大于或等于第一子榜单区间中的最小数据值,且小于或等于所述第一子榜单区间中的最大数据值时,将所述第一子榜单区间确定为所述待插入数据所归属的所述至少一个子榜单区间;
当所述待插入数据的数据值大于或等于第二子榜单区间中的最大数据值,且小于或等于第三子榜单区间中的最小数据值时,将所述第二子榜单区间或第三子榜单区间确定为所述待插入数据所归属的所述至少一个子榜单区间;所述第二子榜单区间和所述第三子榜单区间为相邻的两个子榜单区间。
4.根据权利要求1所述的榜单更新方法,其特征在于,所述获取所述多个子榜单区间的区间信息之后,还包括:
将所述待插入数据所归属的所述至少一个榜单区间的区间信息更新为所述多个子榜单区间的区间信息。
5.根据权利要求4所述的榜单更新方法,其特征在于,所述将所述待插入数据所归属的所述至少一个榜单区间的区间信息更新为所述多个子榜单区间的区间信息,包括:
采用单线程将所述待插入数据所归属的所述至少一个榜单区间的区间信息依次更新所述多个子榜单区间的区间信息。
6.根据权利要求1所述的榜单更新方法,其特征在于,所述将所述待插入数据添加到所述待插入数据所归属的至少一个子榜单区间中,并更新榜单,包括:
根据所述待插入数据所归属的至少一个子榜单区间的索引值,确定所述待插入数据所归属的至少一个子榜单区间中全部数据的数据值;
根据所述待插入数据的数据值和所述待插入数据所归属的至少一个子榜单区间中全部数据的数据值,确定所述待插入数据在所述待插入数据所归属的至少一个子榜单区间中的数据位置,并将所述待插入数据添加到所述待插入数据所归属的至少一个子榜单区间中的数据位置,更新所述榜单。
7.根据权利要求1所述的榜单更新方法,其特征在于,还包括:
响应于接收到的用于查询所述待更新榜单中全部数据的榜单查询指令,从所述至少一个榜单区间的榜单区间信息中获取所述至少一个榜单区间的索引值;
根据所述至少一个榜单区间的索引值,确定所述每个榜单区间中全部数据,并将所述每个榜单区间中全部数据的数据集合确定为所述待更新榜单中全部数据;
输出所述待更新榜单中全部数据。
8.根据权利要求1所述的榜单更新方法,其特征在于,还包括:
接收用于查询所述待更新榜单中目标数据的第一数据查询指令;所述第一数据查询指令包括所述目标数据在所述待更新榜单中的第一数据位置;
响应于所述第一数据查询指令,执行第二操作,确定并输出所述目标数据;
所述第二操作为:
从所述至少一个榜单区间的榜单区间信息中获取所述每个榜单区间之前所有榜单区间中的数据数量,并根据所述第一数据位置和所述每个榜单区间之前所有榜单区间中的数据数量,确定所述目标数据归属的榜单区间;
根据所述目标数据归属的榜单区间的数据数量和所述第一数据位置,确定所述目标数据在所述目标数据归属的榜单区间中的第二数据位置,并根据所述目标数据归属的榜单区间的索引值,确定所述目标数据归属的榜单区间中全部数据;
将所述第二数据位置上的数据确定为所述目标数据。
9.根据权利要求8所述的榜单更新方法,其特征在于,还包括:
接收用于查询所述待更新榜单中目标数据集合的第二数据查询指令;所述第二数据查询指令包括:所述目标数据中最小数据值对应数据的第三数据位置和所述目标数据中最大数据值对应数据的第四数据位置;
响应于所述第二数据查询指令,对所述目标数据中最小数据值对应数据和所述目标数据中最大数据值对应数据执行所述第二操作,以得到所述目标数据中最小数据值对应数据和所述目标数据中最大数据值对应数据;
将所述目标数据中最小数据值对应数据和所述目标数据中最大数据值对应数据之间的数据集合、所述目标数据中最小数据值对应数据、所述目标数据中最大数据值对应数据确定为所述目标数据集合。
10.根据权利要求1所述的榜单更新方法,其特征在于,还包括:
接收用于查询所述待更新榜单中目标数据的数据位置的第三数据查询指令;所述第三数据查询指令包括:所述目标数据的数据值;
从所述至少一个榜单区间的榜单区间信息中获取所述每个榜单区间的最小数据值和最大数据值,并根据所述目标数据的数据值、所述每个榜单区间的最小数据值和最大数据值,确定所述目标数据归属的榜单区间;
根据所述目标数据归属的榜单区间的索引值,确定所述目标数据归属的榜单区间中全部数据的数据值;
根据所述目标数据的数据值和所述目标数据归属的榜单区间中全部数据的数据值,确定所述目标数据的数据位置。
11.根据权利要求1-10任一项所述的榜单更新方法,其特征在于,当所述待更新榜单中至少一个榜单区间的数量为多个时,还包括:
按照所述待更新榜单中全部数据的数据值的大小顺序划分为多个榜单区间。
12.根据权利要求1-10任一项所述的榜单更新方法,其特征在于,当所述待更新榜单中至少一个榜单区间的数量为多个时,还包括:
若将所述待插入数据添加到所述至少一个榜单区间后,所述至少一个榜单区间的数据数量不超出所述预设阈值,则将所述待插入数据添加到所述待插入数据所归属的至少一个榜单区间中,并更新所述榜单。
13.一种榜单更新装置,其特征在于,包括:获取单元和处理单元;
所述获取单元,用于获取待更新榜单中至少一个榜单区间的区间信息和待插入数据,并根据所述至少一个榜单区间的区间信息判断所述待插入数据所归属的所述至少一个榜单区间;
所述处理单元,用于若将所述待插入数据添加到所述至少一个榜单区间后,所述至少一个榜单区间的数据数量超出预设阈值,则将所述至少一个榜单区间划分为多个子榜单区间;
所述获取单元,还用于获取所述多个子榜单区间的区间信息,并根据所述多个子榜单区间的区间信息判断所述待插入数据所归属的至少一个子榜单区间;
所述处理单元,还用于将所述待插入数据添加到所述待插入数据所归属的至少一个子榜单区间中,并更新榜单;
所述至少一个榜单区间中的一个榜单区间的区间信息包括:用于查询所述一个榜单区间中全部数据的索引值、所述一个榜单区间的数据数量、所述一个榜单区间的最小数据值和最大数据值;
所述获取单元,具体用于:
对于所述至少一个榜单区间中的每个榜单区间均执行第一操作,以得到所述至少一个榜单区间的区间信息;
所述第一操作为:
获取所述一个榜单区间之前所有榜单区间中的数据数量、所述一个榜单区间的数据数量、所述一个榜单区间上一次的更新时刻、所述一个榜单区间的最小数据值和最大数据值;
根据所述一个榜单区间的最小数据值、所述一个榜单区间的最大数据值、所述一个榜单区间上一次更新时的时刻和一致性哈希算法,确定所述一个榜单区间的索引值;
将所述一个榜单区间的最小数据值和最大数据值、所述一个榜单区间之前所有榜单区间中的数据数量、所述一个榜单区间的数据数量和所述一个榜单区间的索引值确定为所述一个榜单区间的区间信息。
14.根据权利要求13所述的榜单更新装置,其特征在于,所述处理单元,具体用于:
当所述待插入数据的数据值大于或等于第一榜单区间中的最小数据值,且小于或等于所述第一榜单区间中的最大数据值时,将所述第一榜单区间确定为所述待插入数据所归属的所述至少一个榜单区间;
当所述待插入数据的数据值大于或等于第二榜单区间中的最大数据值,且小于或等于第三榜单区间中的最小数据值时,将所述第二榜单区间或第三榜单区间确定为所述待插入数据所归属的所述至少一个榜单区间;所述第二榜单区间和所述第三榜单区间为相邻的两个榜单区间。
15.根据权利要求13所述的榜单更新装置,其特征在于,所述处理单元,具体用于:
当所述待插入数据的数据值大于或等于第一子榜单区间中的最小数据值,且小于或等于所述第一子榜单区间中的最大数据值时,将所述第一子榜单区间确定为所述待插入数据所归属的所述至少一个子榜单区间;
当所述待插入数据的数据值大于或等于第二子榜单区间中的最大数据值,且小于或等于第三子榜单区间中的最小数据值时,将所述第二子榜单区间或第三子榜单区间确定为所述待插入数据所归属的所述至少一个子榜单区间;所述第二子榜单区间和所述第三子榜单区间为相邻的两个子榜单区间。
16.根据权利要求13所述的榜单更新装置,其特征在于,处理单元,还用于将所述待插入数据所归属的所述至少一个榜单区间的区间信息更新为所述多个子榜单区间的区间信息。
17.根据权利要求16所述的榜单更新装置,其特征在于,所述处理单元,具体用于:
采用单线程将所述待插入数据所归属的所述至少一个榜单区间的区间信息依次更新所述多个子榜单区间的区间信息。
18.根据权利要求13所述的榜单更新装置,其特征在于,所述处理单元,具体用于:
根据所述待插入数据所归属的至少一个子榜单区间的索引值,确定所述待插入数据所归属的至少一个子榜单区间中全部数据的数据值;
根据所述待插入数据的数据值和所述待插入数据所归属的至少一个子榜单区间中全部数据的数据值,确定所述待插入数据在所述待插入数据所归属的至少一个子榜单区间中的数据位置,并将所述待插入数据添加到所述待插入数据所归属的至少一个子榜单区间中的数据位置,更新所述榜单。
19.根据权利要求13所述的榜单更新装置,其特征在于,所述获取单元,还用于响应于接收到的用于查询所述待更新榜单中全部数据的榜单查询指令,从所述至少一个榜单区间的榜单区间信息中获取所述至少一个榜单区间的索引值;
所述处理单元,还用于根据所述至少一个榜单区间的索引值,确定所述每个榜单区间中全部数据,并将所述每个榜单区间中全部数据的数据集合确定为所述待更新榜单中全部数据;
所述榜单更新装置还包括:输出单元;
所述输出单元,用于输出所述待更新榜单中全部数据。
20.根据权利要求13所述的榜单更新装置,其特征在于,还包括:接收单元;
所述接收单元,还用于接收用于查询所述待更新榜单中目标数据的第一数据查询指令;所述第一数据查询指令包括所述目标数据在所述待更新榜单中的第一数据位置;
输出单元,还用于响应于所述第一数据查询指令,执行第二操作,确定并输出所述目标数据;
所述第二操作为:
从所述至少一个榜单区间的榜单区间信息中获取所述每个榜单区间之前所有榜单区间中的数据数量,并根据所述第一数据位置和所述每个榜单区间之前所有榜单区间中的数据数量,确定所述目标数据归属的榜单区间;
根据所述目标数据归属的榜单区间的数据数量和所述第一数据位置,确定所述目标数据在所述目标数据归属的榜单区间中的第二数据位置,并根据所述目标数据归属的榜单区间的索引值,确定所述目标数据归属的榜单区间中全部数据;
将所述第二数据位置上的数据确定为所述目标数据。
21.根据权利要求20所述的榜单更新装置,其特征在于,
所述接收单元,还用于接收用于查询所述待更新榜单中目标数据集合的第二数据查询指令;所述第二数据查询指令包括:所述目标数据中最小数据值对应数据的第三数据位置和所述目标数据中最大数据值对应数据的第四数据位置;
所述处理单元,还用于响应于所述第二数据查询指令,对所述目标数据中最小数据值对应数据和所述目标数据中最大数据值对应数据执行所述第二操作,以得到所述目标数据中最小数据值对应数据和所述目标数据中最大数据值对应数据;
所述处理单元,还用于将所述目标数据中最小数据值对应数据和所述目标数据中最大数据值对应数据之间的数据集合、所述目标数据中最小数据值对应数据、所述目标数据中最大数据值对应数据确定为所述目标数据集合。
22.根据权利要求13所述的榜单更新装置,其特征在于,
接收单元,还用于接收用于查询所述待更新榜单中目标数据的数据位置的第三数据查询指令;所述第三数据查询指令包括:所述目标数据的数据值;
所述处理单元,还用于从所述至少一个榜单区间的榜单区间信息中获取所述每个榜单区间的最小数据值和最大数据值,并根据所述目标数据的数据值、所述每个榜单区间的最小数据值和最大数据值,确定所述目标数据归属的榜单区间;
所述处理单元,还用于根据所述目标数据归属的榜单区间的索引值,确定所述目标数据归属的榜单区间中全部数据的数据值;
所述处理单元,还用于根据所述目标数据的数据值和所述目标数据归属的榜单区间中全部数据的数据值,确定所述目标数据的数据位置。
23.根据权利要求13-22任一项所述的榜单更新装置,其特征在于,当所述待更新榜单中至少一个榜单区间的数量为多个时,所述处理单元,还用于按照所述待更新榜单中全部数据的数据值的大小顺序划分为多个榜单区间。
24.根据权利要求13-22任一项所述的榜单更新装置,其特征在于,当所述待更新榜单中至少一个榜单区间的数量为多个时,所述处理单元,还用于若将所述待插入数据添加到所述至少一个榜单区间后,所述至少一个榜单区间的数据数量不超出所述预设阈值,则将所述待插入数据添加到所述待插入数据所归属的至少一个榜单区间中,并更新所述榜单。
25.一种电子设备,其特征在于,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1-12中任一项所述的榜单更新方法。
26.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1-12中任一项所述的榜单更新方法。
27.一种计算机程序产品,包括指令,其特征在于,当所述指令在电子设备上运行时,使得所述电子设备执行如权利要求1-12中任一项所述的榜单更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111662850.4A CN114328558B (zh) | 2021-12-30 | 2021-12-30 | 一种榜单更新方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111662850.4A CN114328558B (zh) | 2021-12-30 | 2021-12-30 | 一种榜单更新方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114328558A CN114328558A (zh) | 2022-04-12 |
CN114328558B true CN114328558B (zh) | 2022-12-27 |
Family
ID=81021266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111662850.4A Active CN114328558B (zh) | 2021-12-30 | 2021-12-30 | 一种榜单更新方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114328558B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103745008A (zh) * | 2014-01-28 | 2014-04-23 | 河海大学 | 一种大数据索引的排序方法 |
CN106372207A (zh) * | 2016-09-05 | 2017-02-01 | 北京蓝色光标品牌管理顾问股份有限公司 | 公众号信息的影响力排序方法及排序系统 |
CN110334104A (zh) * | 2019-06-28 | 2019-10-15 | 香港乐蜜有限公司 | 一种榜单更新方法、装置、电子设备及存储介质 |
CN110833696A (zh) * | 2019-11-06 | 2020-02-25 | 网易(杭州)网络有限公司 | 玩家排名方法与装置、存储介质、电子设备 |
CN111475224A (zh) * | 2020-03-31 | 2020-07-31 | 百度在线网络技术(北京)有限公司 | 对象排名方法、装置、设备及计算机存储介质 |
CN111569435A (zh) * | 2020-06-16 | 2020-08-25 | 腾讯科技(深圳)有限公司 | 排行榜生成方法、系统、服务器及存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8909615B2 (en) * | 2011-08-30 | 2014-12-09 | Open Text S.A. | System and method of managing capacity of search index partitions |
US20140214826A1 (en) * | 2013-01-29 | 2014-07-31 | Tencent Technology (Shenzhen) Company Limited | Ranking method and system |
US9619204B2 (en) * | 2013-06-14 | 2017-04-11 | Nvidia Corporation | Method and system for bin coalescing for parallel divide-and-conquer sorting algorithms |
US10296614B2 (en) * | 2016-12-07 | 2019-05-21 | International Business Machines Corporation | Bulk data insertion in analytical databases |
WO2019006551A1 (en) * | 2017-07-06 | 2019-01-10 | Open Text Sa Ulc | INDEXING MANAGEMENT SYSTEM AND METHOD FOR SEARCH INDEX DIVISIONS |
CN109582902B (zh) * | 2018-11-20 | 2022-02-11 | 广州虎牙信息科技有限公司 | 排序信息的确定方法、榜单展示方法及计算机设备 |
CN110401843B (zh) * | 2019-08-06 | 2022-02-25 | 广州虎牙科技有限公司 | 直播平台中的榜单数据更新方法、装置、设备和介质 |
CN113254463A (zh) * | 2021-05-11 | 2021-08-13 | 苏州玩蜂软件科技有限公司 | 一种榜单更新的方法、系统及介质 |
-
2021
- 2021-12-30 CN CN202111662850.4A patent/CN114328558B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103745008A (zh) * | 2014-01-28 | 2014-04-23 | 河海大学 | 一种大数据索引的排序方法 |
CN106372207A (zh) * | 2016-09-05 | 2017-02-01 | 北京蓝色光标品牌管理顾问股份有限公司 | 公众号信息的影响力排序方法及排序系统 |
CN110334104A (zh) * | 2019-06-28 | 2019-10-15 | 香港乐蜜有限公司 | 一种榜单更新方法、装置、电子设备及存储介质 |
CN110833696A (zh) * | 2019-11-06 | 2020-02-25 | 网易(杭州)网络有限公司 | 玩家排名方法与装置、存储介质、电子设备 |
CN111475224A (zh) * | 2020-03-31 | 2020-07-31 | 百度在线网络技术(北京)有限公司 | 对象排名方法、装置、设备及计算机存储介质 |
CN111569435A (zh) * | 2020-06-16 | 2020-08-25 | 腾讯科技(深圳)有限公司 | 排行榜生成方法、系统、服务器及存储介质 |
Non-Patent Citations (3)
Title |
---|
The analysis of coordinate-recorded merge-sort based on the divide-and-conquer method;Menghan Yan et al.;《2016 IEEE/ACIS 15th International Conference on Computer and Information Science (ICIS)》;20160825;第1-4页 * |
基于分治策略的两种排序算法和基于贪心算法的两种问题的讨论;杨莉菁;《武汉船舶职业技术学院学报》;20130225(第01期);第30-36页 * |
基于分治策略的快速排序算法探讨;春燕 等;《西藏大学学报(汉文版)》;20031231;第75-77页 * |
Also Published As
Publication number | Publication date |
---|---|
CN114328558A (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3260993A1 (en) | File operation method and device | |
CN109614402B (zh) | 多维数据查询方法和装置 | |
US9742860B2 (en) | Bi-temporal key value cache system | |
CN110427386B (zh) | 数据处理方法、装置及计算机存储介质 | |
US9369332B1 (en) | In-memory distributed cache | |
CN111857539B (zh) | 用于管理存储系统的方法、设备和计算机可读介质 | |
CN110928912A (zh) | 一种生成唯一标识的方法和装置 | |
CN112948498A (zh) | 一种分布式系统全局标识的生成方法和装置 | |
CN110909022A (zh) | 一种数据查询方法和装置 | |
US20220229701A1 (en) | Dynamic allocation of computing resources | |
CN112905587A (zh) | 数据库的数据管理方法、装置及电子设备 | |
CN114328558B (zh) | 一种榜单更新方法、装置、设备及存储介质 | |
CN112596820A (zh) | 一种资源加载方法、装置、设备以及存储介质 | |
CN105740166B (zh) | 缓存的读取、读取处理方法及装置 | |
CN111428114A (zh) | Elasticsearch搜索引擎的索引创建方法及装置 | |
CN113127430A (zh) | 镜像信息处理方法、装置、计算机可读介质及电子设备 | |
CN114253730A (zh) | 管理数据库内存的方法、装置、设备及存储介质 | |
CN111680014B (zh) | 共享文件的获取方法、装置、电子设备及存储介质 | |
CN109325057B (zh) | 中间件管理方法、装置、计算机设备以及存储介质 | |
CN110059080B (zh) | 一种数据处理的方法和装置 | |
CN103220336A (zh) | 一种文件同步中向量时钟的实现方法及系统 | |
CN115809015A (zh) | 分布式系统中数据处理的方法以及相关系统 | |
CN115129709A (zh) | 一种数据处理方法、服务端及系统 | |
CN111581930A (zh) | 在线表格数据处理方法、装置、电子设备和可读介质 | |
CN113779122A (zh) | 导出数据的方法和装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |