CN112473149A - 排行榜处理方法 - Google Patents
排行榜处理方法 Download PDFInfo
- Publication number
- CN112473149A CN112473149A CN202011346556.8A CN202011346556A CN112473149A CN 112473149 A CN112473149 A CN 112473149A CN 202011346556 A CN202011346556 A CN 202011346556A CN 112473149 A CN112473149 A CN 112473149A
- Authority
- CN
- China
- Prior art keywords
- snapshot
- request
- client
- leaderboard
- list
- 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.)
- Granted
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/79—Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
- A63F13/798—Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories for assessing skills or for ranking players, e.g. for generating a hall of fame
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9538—Presentation of query results
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- General Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开一种用于服务端的排行榜处理方法,包括:周期性地生成和存储实时排行榜内容的快照,并相应地生成和存储能体现所述快照生成时间的快照编号;接收客户端的获取排行榜的部分内容的请求,所述请求带有快照编号和表征所述部分内容在排行榜内位置的榜单位置特征;基于所述请求向客户端返回快照数据。本申请还公开了一种用于客户端的排行榜呈现方法以及一种用于处理排行榜的***。
Description
技术领域
本申请涉及计算机技术领域,具体地涉及一种用于服务端的排行榜处理方法和装置以及用于处理排行榜的***。相应地,本申请还涉及一种用于客户端的排行榜呈现方法和装置。另外,本申请还涉及相关的服务端和客户端设备和存储介质。
背景技术
当前,排行榜、尤其是实时排行榜在计算机领域得到了广泛的应用。在相关技术中,因为实时排行榜实时变化的形式,其在用户界面上的正确呈现可能会存在问题。例如,在某些需要分页或下翻显示的实时排行榜中,例如因为排行榜排名的实时变化,当用户翻页时出现了在不同排名下的重复的榜单内容,使得用户误以为排行榜出现错误。这可能引起用户不良的用户体验,当这些排行榜深受用户关切的情况下,例如热门的游戏对战排行榜或直播/明星支持度排行榜,这甚至可能引发用户的严重不满和投诉。
本背景技术描述的内容仅为了便于了解本领域的相关技术,不视作对现有技术的承认。
发明内容
因此,本发明实施例意图提供多种方案,其涉及用于服务端的排行榜处理方法和装置、用于客户端的排行榜呈现方法和装置、用于处理排行榜的***以及相关的服务端和客户端设备和存储介质,其能够减轻或解决当前技术中存在的实时排行榜不能正确显示的问题。
根据第一方面,提供一种用于服务端的排行榜处理方法,包括:
周期性地生成和存储实时排行榜内容的快照,并相应地生成和存储能体现所述快照生成时间的快照编号;
接收客户端的获取排行榜的部分内容的请求,所述请求带有快照编号和表征所述部分内容在排行榜内位置的榜单位置特征;
基于所述请求向客户端返回快照数据。
在一些实施例中,所述基于所述请求向客户端返回快照数据包括:
确定所存储的快照编号中是否存在与所述请求中的快照编号相对应的快照编号,
当不存在与所述请求中的快照编号相对应的快照编号时,向客户端返回最新存储的快照中由所述榜单位置特征确定的部分,以及返回该最新存储的快照对应的快照编号用于客户端替换所述请求中的快照编号,
当存在与所述请求中的快照编号相对应的快照编号时,向客户端返回所述请求中的快照编号对应的快照中由所述榜单位置特征确定的部分。
在一些实施例中,所述周期性地生成和存储实时排行榜内容的快照,并相应地生成和存储能体现所述快照生成时间的快照编号,包括:
周期性地查询所述实时排行榜以获取最新的排行榜内容,从而生成并存储所述快照;
生成体现快照生成时间的快照编号;
将生成的快照编号写入快照编号列表中,以更新所述快照编号列表;
在所述快照编号列表中的快照编号数量超过预定阈值时,移除最早的快照编号。
在一些实施例中,所述周期性地生成和存储实时排行榜内容的快照,并相应地生成和存储能体现所述快照生成时间的快照编号,包括:
周期性地查询所述实时排行榜以获取最新的排行榜内容,从而离线生成并在Redis数据缓存装置中存储所述快照;
生成体现快照生成时间的快照编号;
将生成的快照编号写入Redis数据缓存装置中的快照编号列表,并以所述快照生成时间为分值,利用Redis的排序命令来对所述快照编号列表进行排序;
利用Redis的剪切命令来裁剪所述经排序的快照编号列表,从而在所述快照编号列表中的快照编号数量超过预定阈值时,移除最早的快照编号。
在一些实施例中,所述基于所述请求向客户端返回快照数据,包括:
确定所述请求中的快照编号是否为空;
当所述请求中的快照编号为空时,向客户端返回最新存储的快照中由所述榜单位置特征确定的部分,以及返回该最新存储的快照对应的快照编号用于替换所述请求中的快照编号。
在进一步的实施例中,所述基于所述请求向客户端返回快照数据,还包括:
当所述请求中的快照编号不为空时,确定所述请求中的快照编号是否过期;
当所述请求中的快照编号过期时,向客户端返回最新存储的快照中由所述榜单位置特征确定的部分,以及返回该最新存储的快照对应的快照编号用于替换所述请求中的快照编号;
当所述请求中的快照编号未过期时,向客户端返回所述请求中的快照编号对应的快照中由所述榜单位置特征确定的部分。
在一些实施例中,所述榜单位置特征为页码;
在进一步的实施例中,所述向客户端返回所述请求的快照编号对应的快照中由所述榜单位置特征确定的部分,包括:
返回所述请求的快照中对应页的部分及对应的快照编号。
在进一步的实施例中,所述基于所述请求向客户端返回快照数据,包括:
判断所述页码是否为首页;
若所述页码为首页,则判断所述请求中的快照编号是否为空;
若所述页码非首页,则判断所述请求中的快照编号是否过期。
在一些实施例中,所述基于所述请求向客户端返回快照数据,包括:
判断所述页码是否为首页,
若为首页,则判断所述请求中的快照编号是否为空,
若所述请求中的快照编号为空,向客户端返回最新存储的快照中首页的部分及对应的快照编号。
可选地,也可以对页码为首页的请求进行或不进行是否过期的判断。例如,若所述请求中的快照编号不为空,则向客户端返回所述请求的快照编号对应的快照中首页的部分。或者,若所述请求中的快照编号不为空,则判断所述请求的快照编号是否过期,若过期,则向客户端返回最新存储的快照中首页的部分及对应的快照编号,若未过期,则向客户端返回所述请求的快照编号对应的快照中首页的部分。
在进一步的实施例中,所述基于所述请求向客户端返回快照数据,包括:
若非首页,则判断所述请求的快照编号是否过期,
若过期,则向客户端返回最新存储的快照中对应页的部分及对应的快照编号,
若未过期,则向客户端返回所述请求中的快照编号对应的快照中对应页的部分。
在一些实施例中,所述用于服务端的排行榜处理方法包括:
周期性地同时生成和存储多个关联排行榜内容的多个快照,并相应地生成和存储能体现所述多个快照的生成时间的共同的快照编号;
接收客户端的获取排行榜的部分内容的请求,所述请求带有快照编号、表征所述部分内容在排行榜内位置的榜单位置特征和用于选择所述多个关联排行榜之一的过滤特征;
基于所述请求向客户端返回快照数据。
在进一步的实施例中,所述基于所述请求向客户端返回快照数据,包括:
确定所存储的快照编号中是否存在与所述请求中的快照编号相对应的快照编号,
当不存在与所述请求中的快照编号相对应的快照编号时,借助所述过滤特征在最新存储的多个快照中确定相应的快照,并向客户端返回所述相应的快照中由所述榜单位置特征确定的部分,以及返回该相应的快照对应的快照编号用于客户端替换所述请求中的快照编号,
当存在与所述请求中的快照编号相对应的快照编号时,借助所述过滤特征在所述请求中的快照编号对应的多个快照中确定相应的快照,并向客户端返回所述相应的快照中由所述榜单位置特征确定的部分。
根据第二方面,提供一种用于客户端的排行榜呈现方法,包括:
向服务端发送获取实时排行榜的部分内容的请求,所述请求带有在所述客户端中存储的快照编号和表征所述部分内容在排行榜内位置的榜单位置特征;
接收实时排行榜的快照中由所述榜单位置特征所确定的部分;
接收快照编号;
呈现所述快照中的所述部分以显示所述排行榜的部分内容;
在所述客户端中存储所接收的快照编号以替换原有的快照编号。
在一些实施例中,所述排行榜呈现方法还包括:
判断所接收的快照编号与所述请求中的快照编号是否一致;
若所接收的快照编号与所述请求的快照编号不一致,显示提醒用户更新排行榜内容的提示或直接触发所显示的排行榜内容进行更新。
根据第三方面,提供一种用于服务端的排行榜处理装置包括快照生成单元、接收单元和返回单元。
在一些实施例中,所述快照生成单元配置成周期性地生成和存储实时排行榜内容的快照,并相应地生成和存储能体现所述快照生成时间的快照编号。
在一些实施例中,所述接收单元配置成接收客户端的获取排行榜的部分内容的请求,所述请求带有快照编号和表征所述部分内容在排行榜内位置的榜单位置特征。
在一些实施例中,所述返回单元配置成基于所述请求向客户端返回快照数据。
在进一步的实施例中,所述返回单元配置成:确定所存储的快照编号中是否存在与所述请求中的快照编号相对应的快照编号,当不存在与所述请求中的快照编号相对应的快照编号时,向客户端返回最新存储的快照中由所述榜单位置特征确定的部分,以及返回该最新存储的快照对应的快照编号用于客户端替换所述请求中的快照编号,当存在与所述请求中的快照编号相对应的快照编号时,向客户端返回所述请求中的快照编号对应的快照中由所述榜单位置特征确定的部分
根据第四方面,提供一种用于客户端的排行榜呈现装置包括发送单元、接收单元、可选的快照编号存储单元和显示单元。
在一些实施例中,所述发送单元配置成向服务端发送获取实时排行榜的部分内容的请求,所述请求带有在所述客户端中存储的快照编号和表征所述部分内容在排行榜内位置的榜单位置特征。
在一些实施例中,所述接收单元配置成接收实时排行榜内容的快照中由所述榜单位置特征所确定的部分。所述接收单元或另外的接收单元还可选地接收快照编号。
在一些实施例中,可选的快照编号存储单元配置成存储所接收的快照编号以替换原有的快照编号。
在一些实施例中,所述显示单元配置成呈现所述快照中的所述部分以显示所述排行榜的部分内容。
根据第五方面,提供一种用于处理排行榜的***包括一个或多个服务器和数据缓存装置。
在一些实施例中,所述一个或多个服务器配置成生成实时排行榜。
在一些实施例中,所述数据缓存装置配置成周期性地向所述一个或多个服务器查询所述实时排行榜以生成并存储实时排行榜内容的快照。
在一些实施例中,所述数据缓存装置配置成相应地生成能体现快照生成时间的快照编号,并将所述快照编号存储至快照编号列表中。
在一些实施例中,所述一个或多个服务器还配置成接收客户端的获取排行榜的部分内容的请求,所述请求带有快照编号和表征所述部分内容在排行榜内位置的榜单位置特征。
在一些实施例中,所述一个或多个服务器还配置成基于所述请求向客户端返回快照数据。
在一些实施例中,所述一个或多个服务器被配置成确定所存储的快照编号中是否存在与所述请求中的快照编号相对应的快照编号,
在一些实施例中,所述一个或多个服务器被配置成当不存在与所述请求中的快照编号相对应的快照编号时,从所述数据缓存装置读取最新存储的快照中由所述榜单位置特征确定的部分以及该最新存储的快照对应的快照编号,并向客户端返回所述最新存储的快照中的所述部分和所述对应的快照编号。
在一些实施例中,所述一个或多个服务器被配置成当存在与所述请求中的快照编号相对应的快照编号时,从所述数据缓存装置读取所述请求中的快照编号对应的快照中由所述榜单位置特征确定的部分,并向客户端返回所述请求中的快照编号对应的快照中的所述部分。
根据第六方面,提供一种服务端设备包括:处理器和存储有计算机程序的存储器,所述处理器被配置为在运行计算机程序时执行根据本发明实施例所述的排行榜处理方法。
根据第七方面,提供一种客户端设备,其特征在于,包括:处理器和存储有计算机程序的存储器,所述处理器被配置为在运行计算机程序时执行根据本发明实施例所述的排行榜呈现方法。
根据第八方面,提供一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序配置成被运行时执行根据本发明实施例所述的排行榜处理方法。
根据第九方面,提供一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序配置成被运行时执行根据本发明实施例所述的排行榜呈现方法。
本发明实施例的方案引入了能体现所述快照生成时间的快照编号机制,能够有效减轻或克服当前技术中存在的实时排行榜不能正确显示的问题,提升了用户体验,降低用户不满或投诉的可能性。
特别地,一些实施例能够有效地解决这样的问题,即,分页或下翻显示的实时排行榜中,在用户翻页时给用户呈现重复的排行榜内容,使得用户误以为排行榜出现错误。
进一步地,相对于本发明人已知的一些相关技术、如实时排行榜的翻页方案,本发明的一些实施例可能具有进一步的技术效果。
相关技术一:直接读取实时排行榜的相关页面
在该相关技术中,基于用户的请求,例如响应于用户点击进入排行榜或者翻页等触发操作,直接读取排行榜的相关页面。在在实时排行榜变动频繁且波动较大的时候,很容易出现相同的榜单数据在不同的位置、即排名频繁地重复出现,使得用户误以为排行榜出错。在一些相关技术中,还可能在客户端执行去重操作,这又会导致排行榜的排名跟实际的对应不上。这严重影响了用户体验,并且在一些敏感的或关注度大的排行榜上,可能引发用户的严重不满和投诉。此外,如果存在多个关联的实时排行榜,同样可能出现让用户误以为排行榜出错的所述问题,例如在一个排行榜中排名靠前的榜单数据位于排名靠后的榜单数据之后。
在本发明的实施例中,通过引入了能体现所述快照生成时间的快照编号机制以及返回符合时间条件的快照能够有效避免该技术中排行榜不能正确显示的问题。例如在有效时间内,给用户呈现快照编号一致的排行榜内容,虽然此时可能有最新的排行榜内容;当已经过期的情况下,能够选择给用户呈现最新的排行榜内容且客户端能够确定之前存储的快照已过期(例如通过对比确定或者直接向客户端发送提示信息);当没有快照编号时,能够给用户呈现最新的排行榜内容并且可以使客户端存储该最新的快照编号用于后续使用。
相关技术二:一次性返回全部实时数据给客户端
在该相关技术中,基于用户的请求,例如响应于用户点击进入排行榜或者翻页等触发操作,在一次请求中返回排行榜当前的所有的数据,即使排行榜在客户端上是分页或下翻显示。但这样会导致每次请求的包体很大。而如果榜单的数量很大或者用户频繁翻页时,可能会造成网页的卡顿,同样严重影响用户体验。此外,如果存在多个关联的实时排行榜,那么这个问题可能会更加严重。
在本发明的实施例中,通过引入了能体现所述快照生成时间的快照编号机制以及返回符合时间条件的快照能够允许仅向客户端发送相关的排行榜内容,而无需全部返回,这在排行榜数量极其巨大或者关联排行榜量较多的情况下尤为有利。
本发明实施例的可选特征和其他效果一部分在下文描述,一部分可通过阅读本文而明白。
附图说明
以下,结合附图来详细说明本发明的实施例,所示出的元件不受附图所显示的比例限制,附图中相同或相似的附图标记表示相同或类似的元件,其中:
图1示出了根据本发明实施例的排行榜处理方法的示例性流程图;
图2示出了根据本发明实施例的排行榜处理方法的示例性流程图;
图3示出了根据本发明实施例的排行榜处理方法的示例性流程图;
图4示出了根据本发明实施例的排行榜处理方法的示例性流程图;
图5示出了根据本发明实施例的排行榜处理方法的示例性流程图;
图6示出了根据本发明实施例的排行榜呈现方法的示例性流程图;
图7A至图7E示出了实施根据本发明实施例的方法的多个实例的示意图;
图8A至图8F示出了实施根据本发明实施例的方法的多个实例的示意图;
图9A和图9B示出了实施根据本发明实施例的方法的多个实例的示意图;
图10A示出了根据本发明实施例的排行榜处理装置的结构示意图;
图10B示出了根据本发明实施例的排行榜呈现装置的结构示意图;
图11示出了能实施本发明实施例的方法的设备结构示意图;
图12示出了根据本发明实施例的***结构示意图;
图13示出了能实施根据本发明实施例的实施例的进程结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合具体实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
“排行榜”是对相关或同类属性值大小的反映,并在本发明实施例中具有计算机技术领域的常规含义,通常以表结构的形式存储。在本发明的一些实施例中以歌曲榜单或歌迷小组榜单作为排行榜的示例,但是排行榜可以涵盖多种形式,包括在计算机软件或应用(APP)中呈现的多种排行榜或榜单,例如但不限于游戏排行榜、歌曲排行榜、歌手排行榜、主播排行榜等多种按顺序排列的数值或标识(ID)列表。在本文的描述中,“排行榜”和“榜单”可互换使用。
在本发明实施例中,“实时排行榜”意指实时更新的排行榜,例如秒级或分钟级更新的排行榜;其例如是由于用户参与互动而使得排行榜成员的分数或评分变化而导致了排行榜排名实时变动。需要说明的是,实时排行榜意指榜单本身的实时更新,不排除在客户端或其他装置留存、备份或呈现旧的榜单内容。
在本发明实施例中,“快照”具有计算机技术领域的常规含义,意指在存储位置或数据文件内容在指定时间(时间点)的记录。
在本发明实施例中,“Redis(Remote Dictionary Server)”指远程字典服务,是一种快速的开放源代码的基于内存的键值(Key-Value)数据存储,可用作数据库,缓存,消息代理和队列。
在本发明实施例中,“服务端”具有计算机技术领域的常规含义,其是为用户/客户端提供服务的,服务的内容诸如向客户端提供资源,保存客户端数据。在本发明实施例中,服务端可以涵盖各种为用户提供服务的服务器或云,包括但不限于具有Redis数据库服务器的服务器集群。在一些实施例中,“服务端”可能与后端或后台互换使用。
在本发明实施例中,“客户端”具有计算机技术领域的常规含义,意指非服务端或非云端的计算机,其由用户操作并接受服务端所提供的服务。在一些实施例中,“客户端”可以与“终端”互换使用或集成在其中;客户端例如可包括但不限于移动终端,如智能手机或平板电脑,或者也可以包括安装在终端、如移动终端中的应用(APP)或软件。
本发明实施例提供一种排行榜处理方法,其例如是在服务端实施的。本发明的一些实施例还相应地涉及对应的排行榜处理装置以及能实施相关方法步骤的***、服务端设备和存储有可执行上述方法的程序的存储介质。相应地,本发明实施例还提供一种排行榜呈现方法,其例如是在客户端实施的。本发明的一些实施例还相应地涉及对应的排行榜呈现装置以及能实施相关方法步骤的客户端设备和存储有可执行上述方法的程序的存储介质。在本发明实施例中,装置、部件、单元或模型可以由软件、硬件或软硬件结合实现。
如图1所示,在一个示例性实施例中,一种用于服务端的排行榜处理方法。在一些实施例中,所述排行榜处理方法是在基于Redis的服务端中实施的。但可以想到,在另一些实施例中,所述排行榜处理方法在其他的服务端中实现,例如基于其他的非关系数据库、关系数据库或临时表来实现。
继续参考图1,所述排行榜处理方法包括:
S101:周期性地生成和存储实时排行榜内容的快照,并相应地生成和存储能体现所述快照生成时间的快照编号;
在一些实施例中,所述快照和快照编号的生成和存储基于Redis技术实现的。例如,所述快照由离线工具通过查询实时榜单来获取最新的榜单内容并生成快照写入至Redis数据缓存装置中。相应地,在Redis数据缓存装置中生成快照编号(或者说快照ID)。
所述快照和快照编号的生成和存储的一些具体实施例将在下文进一步描述。
在一些优选实施例中,所述快照编号可以为时间戳。在另一些实施例中,所述快照编号可以为其他形式,例如包括时间戳或其他能体现快照生成时间的编号形式。
S102:接收客户端的获取排行榜的部分内容的请求;
在一些实施例中,所述请求带有快照编号。
此外,在一些实施例中,排行榜处理方法中还引入了快照编号和榜单位置特征相结合的机制。
例如,在一些实施例中,所述请求还带有表征所述部分内容在排行榜内位置的榜单位置特征。
在一些实施例中,客户端获取排行榜内容的请求可以例如是响应于用户的触发操作而生成的。
在一些实施例中,所述用户的触发操作包括下述操作中一种或多种:用户(首次)点击进入排行榜显示界面、用户(在排行榜显示界面)点击翻页按钮、用户通过手势操作(例如上拉)翻页或在排行榜内容区中拉取更多的排行榜内容、用户点击刷新按钮或通过手势操作(例如下拉)刷新排行榜、用户通过点击或手势操作(例如滚动)筛选(过滤)排行榜。
这将在下文参考附图进一步描述。
S103:基于所述请求向客户端返回快照数据。
优选地,所述快照数据包括快照的一部分(即不包括全部)。在一些实施例中,所述快照的至少一部分是与客户端请求相关的部分。
在一些实施例中,所述快照的一部分包括由请求所带的榜单位置特征和/或过滤特征所确定的。下文将进一步描述相关的实施例和示例。
在一些实施例中,可选地,返回的快照数据还可以包括相应的快照编号。
在本发明的一些具体实施例中,所述快照数据为数据包形式,其例如包括快照的一部分和可选的快照编号。
在一些实施例中,可以基于所述请求的快照编号向客户端返回符合时间条件的快照的至少一部分及可选的对应的快照编号。在一些实施例中,符合时间条件的快照可以有多种情形,例如包括下述的一种或多种:生成时间与请求的快照编号体现的生成时间相同的快照(例如请求的快照编号未过期或非空值或零值);最新生成的快照(例如请求的快照编号已过期或为零值或空值)。
在一些实施例中,可以包括接收到的请求的快照编号(与存储的快照或其快照编号)对比以进行是否符合时间条件的判断,这将在下文进一步描述。
在本发明实施例中,请求带有快照编号意指请求所发送的数据中带有用于标示快照编号的数据或编码,但不限制所述用于标示快照编号的数据或编码是否为零值或者是否有效。
在一些实施例中,一方面根据存储的快照ID判断是否存在请求的快照ID,并基于此确定快照;另一方面,基于榜单位置特征确定快照中的相应部分。
在这些实施例中,所述基于所述请求向客户端返回快照数据,包括:
a1:确定所存储的快照编号中是否存在与所述请求中的快照编号相对应的快照编号,
a2:当不存在与所述请求中的快照编号相对应的快照编号时,向客户端返回最新存储的快照中由所述榜单位置特征确定的部分,以及返回该最新存储的快照对应的快照编号用于客户端替换所述请求中的快照编号,
a3:当存在与所述请求中的快照编号相对应的快照编号时,向客户端返回所述请求中的快照编号对应的快照中由所述榜单位置特征确定的部分
如前所述,所述快照和快照编号的生成和存储可包括进一步的具体实施步骤。
如图2所示,在本发明实施例中,所述周期性地生成和存储实时排行榜内容的快照,并相应地生成和存储能体现所述快照生成时间的快照编号可包括:
S201:周期性地查询所述实时排行榜以获取最新的排行榜内容,从而生成并存储所述快照;
在一些实施例中,还可以设置所述快照的超时时间。
S202:生成对应快照生成时间的快照编号;
S203:将生成的快照编号写入快照编号列表中,以更新所述快照编号列表;
S204:在所述快照编号列表中的快照编号数量超过预定阈值时,移除最早的快照编号。
在一些优选实施例中,快照及其快照ID的生成和存储以及相应的排行榜处理方法可以是基于Redis实现的。
例如,在一个实施例中,所述周期性地生成和存储实时排行榜内容的快照,并相应地生成和存储能体现所述快照生成时间的快照编号可包括:
b1:周期性地查询所述实时排行榜以获取最新的排行榜数据,从而离线生成并在Redis数据缓存装置中存储所述快照;
在一些实施例中,还可以设置所述快照的超时时间。在这些实施例中,通过设置超时时间,能够有效避免大量快照导致的存储成本变大的问题。
在一些实施例中,可采用离线工具定时(如1秒一次)从实时榜单中查询最新的榜单数据,将榜单数据生成快照写到Redis数据缓存装置中,设置超时时间(比如超时时间设置为1分钟)。
在一些替代的实施例中,可以不用离线生成快照的方式,可以在线实时生成,例如在用户第一次请求时生成榜单快照。
b2:生成对应快照生成时间的快照编号;
在一些实施例中,Redis数据缓存装置生成的快照编号(快照ID)为时间戳。
b3:将生成的快照编号写入Redis数据缓存装置,以所述快照生成时间为分值,利用Redis排序命令来更新并重新排序所述快照编号列表;
在一些实施例中,所述排序是以生成时间为分数(score)进行的。
在一些实施例中,可以将快照ID写入到Redis数据缓存装置中,采用Redis中的zset结构类型操作命令(如zrank或zrevrank),按生成时间作为zset中的分数,例如实现按生成时间逆序排序。
在另一些实施例中,可以采用其他的排序命令,例如list结构类型操作命令。
b4:利用Redis的剪切命令来裁剪所述经排序的快照编号列表,从而在所述快照编号列表中的快照编号数量超过预定阈值时,移除最早的快照编号。
在这些实施例中,能够基于所述阈值来裁剪出合适的列表长度,从而例如某些超时的快照ID可以被新生成的快照ID替换掉。在一些实施例中,可以通过zset的cut命令,可以按需裁剪快照ID列表,如:设定最大长度是60,即所述阈值为60。在所述优选示例中,裁剪长度与超时时间相同。
如前所述,在一些实施例中,判断是否存在请求的快照编号包括通过请求的快照编号查询所存储的快照编号而确定的快照。
为此,在一些实施例中,所述确定在所存储的快照编号中是否存在所述请求的快照编号,并在存在所述请求的快照编号时,向客户端返回所述请求的快照编号对应的快照中由所述榜单位置特征确定的部分包括:
c1:查询所存储的快照编号(如查询快照编号列表),以确定是否存在对应所述请求的快照编号的所述存储的快照编号。
在此,借助于所述确定步骤,能够确定所述符合时间条件的快照。
由此,在一些实施例中,所述确定步骤可以包括下述的特征:
c2:如有,则向客户端返回所述请求的快照编号对应的快照中由所述榜单位置特征确定的部分(及可选的对应的快照编号);
c3:如无,则向客户端返回最新存储的快照中由所述榜单位置特征确定的部分及对应快照编号。
在进一步的实施例中,可以对快照编号的判断进行进一步区分,例如区分为是否为零值/空值或是否过期。
进一步地,如图3所示,在本发明实施中,所述返回步骤可包括:
S301:确定所述请求中的快照编号是否为空;
在一些实施例中,客户端可以在首次请求时给其所带的快照编号(用于表示快照编号的数据或编码)设定为空,即零值或空值,如下文所述。
S302:当所述请求中的快照编号为空时,向客户端返回最新存储的快照中由所述榜单位置特征确定的部分,以及返回该最新存储的快照对应的快照编号用于替换所述请求中的快照编号。
在这些实施例中,通过空值或零值判断例如可以减少查询计算量,或者能够用于其他的有利功能。
继续参考图3,在一些实施例中,所述返回步骤还可包括:
S303:当所述请求中的快照编号不为空时,确定所述请求中的快照编号是否过期;
S304:当所述请求中的快照编号过期时,向客户端返回最新存储的快照中由所述榜单位置特征确定的部分,以及返回该最新存储的快照对应的快照编号用于替换所述请求中的快照编号;
S305:当所述请求中的快照编号未过期时,向客户端返回所述请求中的快照编号对应的快照中由所述榜单位置特征确定的部分(及可选的对应的快照编号)。
在一些实施例中,过期时间可以根据需要设定。
在一些实施例中,过期时间可以根据快照超时时间或存储的快照编号中能体现的最早快照生成时间(快照列表长度)来确定。例如,过期时间与超时时间或存储的快照编号中能体现的最早快照生成时间(快照列表长度)相同,例如为1分钟。
在一些实施例中,可以同时设置例如时间上连续的缓冲时间(缓冲时间段)和过期时间(正常时间段),其中缓冲时间比过期时间早。例如缓冲时间和过期时间的设定是基于超时时间或最早快照生成时间(快照列表长度)。在一些实施例中,可以设置成过期时间和缓冲时间之和对应于最早快照生成时间(快照列表长度)。例如过期时间为30s,缓冲时间为30s。此时,可以进行这样的过期判断,若请求的快照编号对应的快照生成时间早于缓冲时间(超过60s),直接返回最新存储的快照的相应部分;若落在缓冲时间内(在60s内但超过30s),同时返回请求的快照编号对应的快照的相应部分和最新存储的快照的至少一部分,若落在过期时间(正常时间段)内,则返回请求的快照编号对应的快照的相应部分。
相应地,还可以对应生成给客户端的用户回包的特定内容或客户端可以相应地操作。例如,针对第一种情况,可以返回快照已过期的提示或者可以要求客户端或者客户端自行强制刷新页面,且可选地在刷新前不能完成用户请求,例如翻页或筛选排行榜;针对第二种情况,可以返回快照已过期的提示,但返回的数据包中所含的“旧”榜单内容仍允许客户端显示用户请求时的排行榜内容,且可选地,在用户刷新后则显示返回的数据包中所含的“新”榜单内容。
由此,设置缓冲区的形式能够进一步给予用户明确的预期,并减少用户误以为排行榜错误的情况出现;也允许客户端的更多的操作/显示灵活性。
本领域技术人员将明白,在其他实施例中所述的过期判断均可以结合所述的“缓冲时间”特征,而获得新的本发明实施例。
在一些实施例中,所述榜单位置特征为页码。
在此,进一步的实施例中,所述向客户端返回符合时间条件的快照中由所述榜单位置特征所确定的排行榜内容部分可包括:
c11:返回所述符合时间条件的快照中对应页的排行榜内容部分。
如图4所示的进一步实施例中所述的榜单位置特征为页码。如图4所示的进一步实施例中,所述基于所述请求以及所述请求的快照编号判断客户端是否曾请求过排行榜内容,并基于所述判断向客户端返回符合时间条件的快照的至少一部分及对应的快照编号可包括:
S401:判断所述页码是否为首页,
S402:若为首页,则判断所述请求的快照编号是否为空,
S403:若所述请求的快照编号为空,向客户端返回最新存储的快照中首页的部分及对应的快照编号,
S404:若所述请求的快照编号不为空,则向客户端返回所述请求的快照编号对应的快照中首页的部分(及可选的对应的快照编号)。
可选地,也可以对页码为首页的请求进行是否过期的判断。
例如,所述返回步骤可以包括:
d1:若所述请求的快照编号为空,则判断所述请求的快照编号是否过期,
d2:若过期,则向客户端返回最新存储的快照中首页的部分及对应的快照编号,
d3:若未过期,则向客户端返回所述请求的快照编号对应的快照中首页的部分(及可选的对应的快照编号)。
继续参考图4,在一些实施例中,所述返回步骤还可包括:
S405:若非首页,则判断所述请求的快照编号是否过期;
S406:若过期,则向客户端返回最新存储的快照中对应页的部分及对应的快照编号;
在本发明实施例中,通过返回当前的最新快照编号,客户端例如可以通过对比之前存储的快照,在客户端确定快照的过期,从而当快照被过期淘汰,能够通过提示用户排行榜已更新来提示用户刷新或者直接触发刷新。
或者在一些实施例中,还可以包括:在过期时,向客户端返回“快照过期”信息。
S407:若未过期,则向客户端返回所述请求的快照编号对应的快照中对应页的部分(及可选的对应的快照编号)。
在这些实施例中,可以是基于首页判断来确定客户端是否曾请求过排行榜内容,例如对于非首页的请求意味着该客户端曾请求过排行榜。
在一些实施例中,作为补充,对于非首页可以同样进行请求的快照ID是否零值或空值的判断。在此,这可以有利地作为一个校验或纠错手段。在一些实施例中,该零值或空值判断可以在过期判断之前。
例如,所述返回步骤还可以包括:
e1:若非首页,仍判断所述请求的快照编号是否为零值或空值;
e2:若为空,则可选地确定为请求出错,从而可选地返回出错和/或提示更新信息和/或最新快照的首页或对应页及快照ID(这可根据业务逻辑确定);
e3:若不为空,则判断是否过期;
e4:若过期,则向客户端返回最新存储的快照中对应页的部分及对应的快照编号;
e5:若未过期,则向客户端返回所述请求的快照编号对应的快照中对应页的部分(及可选的对应的快照编号)。
在一些具体实施例中,图4所述的实施例可以如此地实施:
首先,客户端在请求榜单内容时,带上页码和快照ID。若为首次请求,可以将页码设置为1,即首页,将快照ID设置为空字符串。
其次,可利用服务(器)进程判断是否为首页,若为首页,则再判断是否有指定快照,即判断是否为空值或零值。若没有,则先从快照ID列表中获取最新的快照ID,通过该快照ID访问Redis缓存装置,并获取对应于首页的榜单内容。若指定了快照ID,即为非空值或零值,则直接用快照ID访问Redis缓存装置获取对应于首页的榜单内容。将获取到的榜单信息加上可选的快照ID,整合成用户回包(数据包)返回给用户。若非首页,则进入下一步。
第三,判断当前快照ID是否过期,若过期,则可生成提示用户榜单已经更新的信息,若没过期,则直接读取榜单数据。将获取到的榜单信息加上可选的快照ID(以及可选的提示信息),整合成用户回包(数据包)返回给用户。
如前所述,所述结合榜单位置特征的方案同样可以结合上述缓冲时间的特征。
在一些实施例中,排行榜处理方法中还引入了快照编号和过滤特征相结合的机制。
例如,在一些实施例中,所述请求带有还带有过滤特征。
如图5所示,在进一步的实施例中,所述的排行榜处理方法可包括:
S501:周期性地同时生成和存储多个关联排行榜内容的多个快照,并相应地生成和存储能体现所述多个快照的生成时间的共同的快照编号;
S502:接收客户端的获取排行榜的部分内容的请求
在一些实施例中,所述请求带有快照编号、表征所述部分内容在排行榜内位置的榜单位置特征和用于选择所述多个关联排行榜之一的过滤特征;
S503:基于所述请求向客户端返回快照数据。
在一些实施例中,所述基于所述请求向客户端返回快照数据,包括
f1:确定所存储的快照编号中是否存在与所述请求中的快照编号相对应的快照编号,
f2:当不存在与所述请求中的快照编号相对应的快照编号时,借助所述过滤特征在最新存储的多个快照中确定相应的快照,并向客户端返回所述相应的快照中由所述榜单位置特征确定的部分,以及返回该相应的快照对应的快照编号用于客户端替换所述请求中的快照编号,
f3:当存在与所述请求中的快照编号相对应的快照编号时,借助所述过滤特征在所述请求中的快照编号对应的多个快照中确定相应的快照,并向客户端返回所述相应的快照中由所述榜单位置特征确定的部分。
在这些实施例中,一方面根据存储的快照ID判断是否存在请求的快照ID,第二方面,基于过滤特征在多个关联排行榜的多个具有相同快照ID的快照中确定相应的快照;第三方面,基于榜单位置特征确定快照中的相应部分。
在此,在本发明实施例中的排行榜处理方法以引入快照编号同时与榜单位置特征、如页码和过滤特征相结合的机制。在此教导下,上述及下述针对快照编号、榜单位置特征、过滤特征所述的实施例或示例中描述的各独立特征可以以不矛盾的方式任意结合以获得新的实施例,这落入本发明实施例的范围内。此外,如图5所示的实施例是在图1所示的实施例基础上直接描述的结合了过滤特征的排行榜处理方法,而未结合前述的查询快照ID、零值/空值判断、过期特征等特征进行描述,但可以想到将过滤特征与这些特征进行分别结合。例如,在具有查询快照ID、零值/空值判断、过期特征、榜单位置特征(页码)等特征的实施例结合过滤特征获得的进一步的实施例中,可以在原实施例中确定快照(例如利用快照ID)中附加上这样的子步骤:利用过滤特征、比如排行榜过滤编码(如下文所述)在多个关联的实时排行榜中确定相应的排行榜。
在本发明实施例中,还可以提供一种用于客户端的排行榜呈现方法。
如图6所示的实施例中,所述排行榜呈现方法可包括:
S601:向服务端发送获取实时排行榜的部分内容的请求;
在一些实施例中,所述请求带有在所述客户端中存储的快照编号和表征所述部分内容在排行榜内位置的榜单位置特征;
S602:接收实时排行榜内容的快照中由所述榜单位置特征所确定的部分;
S603:呈现所述快照中的所述部分以显示所述排行榜的部分内容。
在一些实施例中,所述排行榜呈现方法还可包括:
S604:从服务端接收快照编号;
S605:在所述客户端中存储所接收的快照编号以替换原有的快照编号。
可选地,排行榜呈现方法还可包括额外的快照编号过期判断/更新步骤,例如:
g1:判断所接收的快照编号与所述请求的快照编号是否一致;
g2:若不一致,显示提醒用户更新排行榜内容的提示或直接触发所显示的排行榜内容进行更新。
在本发明实施例中,通过返回当前的最新快照编号,客户端例如可以通过对比之前存储的快照,在客户端确定快照的过期,从而当快照被过期淘汰,能够通过提示用户排行榜已更新来提示用户刷新或者直接触发刷新。
在一些实施例中,客户端可以具有快照编号缓存区和/或页码缓存区。在一些实施例中,如前所述地在首次请求榜单内容或响应于用户的刷新操作,可以将快照ID设置为空字符串和/或将页码设置为1(首页);在接收到服务端的回包时,可以利用接收到的回包中的快照ID更换之前存储的快照ID;检测到用户翻页的触发操作时,用当前页码替换存储的页码;可选地,检测到刷新的触发操作时,将存储的页码重置为1。
参考图7A至9B,描述了根据本发明实施例的多个示例性实例:
参考图7A,可以在客户端、如终端、如移动终端700中呈现实时排行榜的内容,其例如是在排行榜内容区710中呈现。如图7A所示,在排行榜内容区710中显示了榜单数据的排名,其包括但不限于游戏、主播、明星、音乐等品类或人的排名。
结合参考图7A和图7B,响应于翻页的触发操作,例如当用户操作翻页区720,如点击翻页按钮或输入翻页页码时,客户端可以如前所述地向服务端发送请求(带有页码和快照ID);并且在客户端接收到从服务端返回的数据包(在此为符合时间条件的快照的相应页(第2页)和快照ID)时,显示相应页的内容。
继续参考图7B,在所示的示例中,例如引入了缓冲时间的机制,即在排行榜内容区710中显示请求的快照ID对应的快照中相应页的内容;且可选地在提示区730显示“榜单已更新,请刷新!”的提示。在一些实施例中,可以通过上述的各种手段确定需要给出刷新提示。
本领域技术人员将明白,虽然图中未示出,可以相应地实现这样的情况:例如在提示区告知榜单已经更新。并且在排行榜内容区提供最新快照的对应页面内容。或者,在另一未示出的示例中,可以仅显示更新提示信息,并在用户刷新后提供最新快照的相应页(如第2页)内容。
结合参考图7B和图7C,在所示的示例中(例如有缓冲时间机制),例如响应于用户的刷新操作,如点击刷新按钮740,将呈现接收到的最新的快照中的相应页(如第2页)内容。
结合参考图7A和图7D,在所示的示例中,响应于用户的刷新操作,客户端向服务端发送请求,此时请求所带的页码可以仍为之前所存储的页码(例如为首页),而存储的快照ID可以被重置为零值,由此客户端可显示用户回包中的最新快照的对应页内容(首页)。
结合参考图7B和图7D,在另一示例中,响应于用户的刷新操作,客户端向服务端发送请求,此时请求所带的页码可以被重置为首页,而存储的快照ID可以被重置为零值,由此客户端可显示用户回包中的最新快照的对应页内容(首页)。在该示例中,将实现在任意界面下刷新将回到首页。
在一些实施例中,榜单位置特征可以包括除页码之外的附加特征。例如,结合参考图7A和图7E,榜单位置特征可以包括页码特征和内容页面长度(例如排行榜内容区长度)特征,从而可以适配不同的客户端的显示长度或滚动长度。
在一些实施例中,榜单位置特征可以具有或不具有页码特征的情况下,包括其他特征,包括下述中的一个或多个:排名特征,如排名量+次序(例如100位排名*第4部分)、直接的排名(例如直接读取301-400);页面位置特征,如页面长度+次序(例如N页面长度*第M部分)、直接的页面部分(页面长度位置X至Y的部分);重叠特征,如排名的重叠(例如图8E和图8F示出了重叠排名区)或页面长度部分的重叠。
在一些实施例中,用户的触发操作不限于点击,也可以通过其他触发操作、如手势操作实现。例如图8A至图8E示出了通过拉取手势操作实现翻页(广义讲为获取新的榜单内容)。
如图8A至图8B所示的示例中,例如用户通过下拉移动终端800的排行榜内容区810实现更新操作,如图8B中的提示区显示“正在更新”。
如图8C至图8D所示的示例中,例如用户通过上拉移动终端800的排行榜内容区810实现翻页(广义讲为获取新的榜单内容),如图8D中的提示区显示“正在加载”。
如前所述地,在图8A至图8E所示的通过拉取手势操作实现的示例中,能够实现连续排行榜内容的重叠(需要说明的是,此处的重叠并非是背景所述的重复出现,在此示例中的重叠内容仍处于其正确的排名上,而重叠内容是为了给用户更好的连续感,改进了用户体验)。
在图8A至图8E所示的示例中的相关操作可以结合图7A至图7E所述的示例或本发明其他实施例所述地进行。
参考图9A和图9B所示的示例,其引入了过滤特征。
例如图9A和图9B所示的示例中,客户端、如移动终端900包括位于排行榜内容区910上方的过滤区950。在过滤区950中可以设置一个或多个过滤器(所示为三个),每个过滤器可以设置多个过滤项。
在一些实施例中,所述过滤特征例如可以包括排行榜过滤编号。在本发明实施例中,可以针对每个过滤器(例如三个)设置一个编号值,例如位于0至N-1的范围内(N为过滤项)。例如,针对每个过滤器中的“全部”选项编号值定义为零,如图9A所示的过滤编号为“000”,而图9B所示的过滤编号为“103”。在此,可以结合本文所述的实施例,基于请求所带的过滤特征、如过滤编号(如000或103)来在多个关联的实施排行榜中选择对应的实时排行榜(快照)以用于呈现。
在此,参考图7A至图9B所述的各实例中描述的特征可以分别地与本文其他实施例相结合以获得进一步的实施例,这落入本发明的范围内。
参考图10A,示出了根据本发明实施例的用于服务端的排行榜处理装置1000。该排行榜处理装置1000包括快照生成单元1010、接收单元1020和返回单元1030。
在所示的实施例中,所述快照生成单元1010可配置成周期性地生成和存储实时排行榜内容的快照,并相应地生成和存储能体现所述快照生成时间的快照编号。
在所示的实施例中,所述接收单元1020可配置成接收客户端的获取排行榜的部分内容的请求。所述请求带有快照编号和表征所述部分内容在排行榜内位置的榜单位置特征。
在所示的实施例中,所述返回单元1030可配置成基于所述请求向客户端返回快照数据。
在一些实施例中,所述返回单元1030可配置成确定所存储的快照编号中是否存在与所述请求中的快照编号相对应的快照编号;当不存在与所述请求中的快照编号相对应的快照编号时,向客户端返回最新存储的快照中由所述榜单位置特征确定的部分,以及返回该最新存储的快照对应的快照编号用于客户端替换所述请求中的快照编号;当存在与所述请求中的快照编号相对应的快照编号时,向客户端返回所述请求中的快照编号对应的快照中由所述榜单位置特征确定的部分。
在一些实施例中,排行榜处理装置还可以包括能实现本发明实施例的排行榜处理方法的任意的方法步骤、子步骤、功能或子功能的单元、部件、模块或模型。
在一些实施例中,排行榜处理装置集成在服务端中或由服务端实现。在进一步的实施例中,所述排行榜处理装置可以由集成有Redis数据缓存装置的服务端***实现。
参考图10B,示出了根据本发明实施例的用于客户端的排行榜呈现装置。该排行榜呈现装置1000’包括发送单元1010’、接收单元1020’、快照编号存储单元1030’和显示单元1040’。
在所示的实施例中,所述发送单元1010’可配置成向服务端发送获取实时排行榜的部分内容的请求。其中,所述请求带有在所述客户端中存储的快照编号和表征所述部分内容在排行榜内位置的榜单位置特征。
在所示的实施例中,所述接收单元1020’可配置成接收实时排行榜内容的快照中由所述榜单位置特征所确定的部分及可选的对应的快照编号。
在所示的实施例中,所述快照编号存储单元1030’可选地可配置成存储所接收的快照编号以替换原有的快照编号。
在所示的实施例中,所述显示单元1040’可配置成呈现所述快照中的所述部分以显示所述排行榜的部分内容。
在一些实施例中,排行榜呈现装置还可以包括能实现本发明实施例的排行榜呈现方法的任意的方法步骤、子步骤、功能或子功能的单元、部件、模块或模型。
在一些实施例中,排行榜呈现装置集成在客户端或者说终端中或由客户端实现。在进一步的实施例中,所述排行榜呈现装置可以由移动终端的软件或应用(APP)实现,例如但不限于音乐播放应用、游戏应用、社交应用、购物应用、金融应用、运动应用等。
在本发明实施例还可提供一种服务端设备,其可包括:处理器和存储有计算机程序的存储器,所述处理器被配置为在运行计算机程序时执行根据任意实施例所述的排行榜处理方法。
在本发明实施例还可提供一种客户端设备,其可包括:处理器和存储有计算机程序的存储器,所述处理器被配置为在运行计算机程序时执行根据任意实施例所述的排行榜呈现方法。
图11示出了一种可以实施本发明实施例的方法或实现本发明实施例所述设备的电子设备1100的示意图,在一些实施例中可以包括比图示更多或更少的部件。在一些实施例中,可以利用单个或多个设备电子实施。在一些实施例中,可以利用云端或分布式的电子设备实施,尤其是服务端设备可以在云端实现或者包括服务器集群。
如图11所示,电子设备1100包括中央处理器(CPU)1101,其可以根据存储在只读存储器(ROM)1102中的程序和/或数据或者从存储部分1108加载到随机访问存储器(RAM)1103中的程序和/或数据而执行各种适当的操作和处理。CPU 1101可以是一个多核的处理器,也可以包含多个处理器。在一些实施例中,CPU 1101可以包含一个通用的主处理器以及一个或多个特殊的协处理器,例如图形处理器(GPU)、神经网络处理器(NPU)、数字信号处理器(DSP)等等。在RAM 1103中,还存储有电子设备1100操作所需的各种程序和数据。CPU 1101、ROM 1102以及RAM 1103通过总线1104彼此相连。输入/输出(I/O)接口1105也连接至总线1104。
上述处理器与存储器共同用于执行存储在存储器中的程序,所述程序被计算机执行时能够实现上述各实施例描述的排行榜处理方法或排行榜呈现方法及相关的方法步骤或功能。
以下部件连接至I/O接口1105:包括键盘、鼠标等的输入部分1106;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1107;包括硬盘等的存储部分1108;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至I/O接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入存储部分1108。图11中仅是示意性示出的电子设备示例,并不意味着计算机***1100只包括图11所示部件。
上述或下述实施例阐明的***、装置、模块或单元,可以由计算机或其关联部件实现。根据具体情况,计算机例如可以为移动终端、智能电话、个人计算机(PC)、膝上型计算机、车载人机交互设备、个人数字助理、媒体播放器、导航设备、游戏控制台、平板电脑、可穿戴设备、智能电视、物联网***、智能家居、工业计算机、服务器或者其组合。
尤其是,在本发明的一些实施例中,服务端设备可以包括集成有Redis的服务器或“云”。在本发明的一些实施例中,客户端设备可以包括终端计算机,例如移动终端或PC。
在一些实施例中,还提供一种用于处理排行榜的***,其是服务端***,包括一个或多个服务器和数据缓存装置。
结合参考图12和图13,示出了根据本发明实施例的用于处理排行榜的***1200,其可包括一个或多个服务器(其例如为云端服务器或者说“云”)1220和Redis数据缓存装置1230。在一些实施例中,可以使用其他的服务器,例如服务器集群。
在一些实施例中,可以采用其他的数据缓存装置,例如其他的非关系型数据库(包括但不限于Hbase、MongodDB、Neo4j、NewSQL)式数据缓存装置、关系型数据库(包括但不限于Oracle、DB2、MySQL、PostgreSQL、MS SQL Server、MS Access等)式数据缓存装置、临时表形式的数据缓存区或缓存器(例如可集成在所述一个或多个服务器中)。此外,对于数据库形式的数据缓存装置其可以采用集中式的或分布式的,例如可以为Redis集群。
在本发明实施例中,所述一个或多个服务器涉及硬件设备,所述一个或多个服务器可以加载有服务(器)进程并且可以安装有(另外的)一个或多个数据库,后者例如可用于实现实时排行榜的生成和更新。在一些实施例中,用于快照相关特征的(如Redis类型)数据缓存装置可以集成在或独立于所述一个或多个服务器,这落入本发明的范围内。同样地,在所述一个或多个服务器中加载的服务器进程或安装的(另外的)一个或多个数据库或例如用于排行榜的生成和更新的其他设备可以硬件上集成或相互独立,这均落入本发明的范围内。
继续参考图12,客户端、例如移动终端1210可以与服务器1220通讯,而Redis数据缓存装置1230可以与服务器1220通讯。尽管未示出,服务器1220例如可以具有用于客户端1210外部访问的网关gate,客户端通过网关gate连接服务器,与服务器进行通讯。服务器1220可以运行多个逻辑进程,例如,与一个或多个关联排行榜相关的逻辑进程。例如,服务器连接Redis数据缓存装置的进程,以提供与Redis交互的功能,用于访问Redis的服务。
由此,尽管未示出,在本发明的实施例中,所述一个或多个服务器1220可配置成生成实时排行榜,例如单个实时排行榜或多个关联的实时排行榜。Redis数据缓存装置1230可配置成周期性地向所述一个或多个服务器1220查询实时排行榜以生成并存储实时排行榜内容的快照。同时,该Redis数据缓存装置1230还可配置成相应地生成能体现快照生成时间的快照编号,并将所述快照编号存储至快照编号列表中。
响应于用户的操作,客户端1210可以生成带有快照编号的用户请求,并例如通过上述网关向服务器1220发送该请求。所述一个或多个服务器还配置成接收该请求,并且基于该请求及其所带的快照编号,从Redis数据缓存装置1230读取符合时间条件的快照的至少一部分及对应的快照编号,并向客户端1210返回所述快照的至少一部分及对应的快照编号。从客户端接收的请求、从Redis数据缓存装置1230读取的数据和向客户端返回的数据可以参考上述排行榜处理方法的多个实施例。
本领域技术人员将明白,上文关于本发明实施例的排行榜处理方法所述的各特征、步骤或功能可以结合在所述***中以获得新的实施例。图13以进程结构示意图的方式示出了进一步的实施例,其中结合了榜单位置特征,在此为页码。
参考图13,例如在服务器中,尤其是例如借助(另外的)数据库,如MySQL或PostgreSQL可以生成实时的排行榜(榜单数据)。而在Redis的进程中,其可以定期(例如以1秒为周期)从所述(另外的)数据库,如MySQL或PostgreSQL查询/读取最新的榜单数据,并将榜单数据写入Redis以生成快照。在此,Redis还相应地生成此快照的快照编号(快照ID),并将其写入快照ID列表中并排序。
继续参考图13,在客户端、如移动终端中,例如响应于用户点击翻页的触发操作,生成带有快照ID和页码的用户请求,并发送至服务器。
在服务器的进程中,首先判断用户请求所带的页码是否为首页,若为首页,则判断是否带有快照ID(在此为判断快照ID值是否为零值或空值),若无快照ID(即快照ID值为零值或空值),意味着该客户端之前未请求过排行榜内容,服务器则向Redis请求获取最新的快照ID,并且以此快照ID获取最新的快照中的首页内容,并整合和向客户端返回数据包(用户回包)用于客户端显示首页的榜单内容,该数据包包括相应的榜单信息和该最新的快照ID。若有快照ID,服务器则直接请求获取快照ID所对应的快照中的首页内容,并整合和向客户端返回数据包用于客户端显示首页的榜单内容,该数据包包括相应的榜单信息和该快照ID。
若为非首页,则判断快照ID是否过期(例如是否超过60s),若已经过期,服务器则向Redis请求获取最新的快照ID,并且以此快照ID获取最新的快照中的对应页内容,并整合和向客户端返回数据包用于客户端显示相应页的榜单内容以及可能的排行榜已更新的提示,该数据包包括相应的榜单信息和该最新的快照ID。若有快照ID,服务器则直接请求获取快照ID所对应的快照中的对应页内容,并整合和向客户端返回数据包用于客户端显示相应页的榜单内容,该数据包包括相应的榜单信息和该快照ID。
在所示的实施例中,在判断为首页时不判断快照ID是否过期,在非首页时无需判断快照ID是否为零值或空值;而另一些未示出实施例中,在判断为首页的情况下仍执行快照ID过期判断,但在非首页时仍无需判断快照ID是否为零值或空值;在另一些未示出实施例中,在非首页时仍判断是否为零值或空值,以作为客户端是否曾请求的补充判断。
尽管未示出,在一些实施例中还提供一种存储介质,其存储有计算机程序,所述计算机程序配置成被运行时执行任一本发明实施例所述的排行榜处理方法
尽管未示出,在一些实施例中还提供一种存储介质,其存储有计算机程序,所述计算机程序配置成被运行时执行任一本发明实施例所述的排行榜呈现方法。
在本发明的实施例的存储介质包括永久性和非永久性、可移动和非可移动的可以由任何方法或技术来实现信息存储的物品。存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
在本发明的实施例的方法、程序、***、装置等,可以在单个或多个连网的计算机中执行或实现,也可以在分布式计算环境中实践。在本说明书实施例中,在这些分布式计算环境中,可以由通过通信网络而被连接的远程处理设备来执行任务。
本领域技术人员应明白,本说明书的实施例可提供为方法、***或计算机程序产品。因此,本领域技术人员可想到,上述实施例阐明的功能模块/单元或控制器以及相关方法步骤的实现,可以用软件、硬件和软/硬件结合的方式实现。
除非明确指出,根据本发明实施例记载的方法、程序的动作或步骤并不必须按照特定的顺序来执行并且仍然可以实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本文中,针对本发明的多个实施例进行了描述,但为简明起见,各实施例的描述并不是详尽的,各个实施例之间相同或相似的特征或部分可能会被省略。在本文中,“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”意指适用于根据本发明的至少一个实施例或示例中,而非所有实施例。上述术语并不必然意味着指代相同的实施例或示例。在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
已参考上述实施例具体示出并描述了本发明的示例性***及方法,其仅为实施本***及方法的最佳模式的示例。本领域的技术人员可以理解的是可以在实施本***及/或方法时对这里描述的***及方法的实施例做各种改变而不脱离界定在所附权利要求中的本发明的精神及范围。
Claims (11)
1.一种用于服务端的排行榜处理方法,其特征在于,包括:
周期性地生成和存储实时排行榜内容的快照,并相应地生成和存储能体现所述快照生成时间的快照编号;
接收客户端的获取排行榜的部分内容的请求,所述请求带有快照编号和表征所述部分内容在排行榜内位置的榜单位置特征;
基于所述请求向客户端返回快照数据,包括:
确定所存储的快照编号中是否存在与所述请求中的快照编号相对应的快照编号,
当不存在与所述请求中的快照编号相对应的快照编号时,向客户端返回最新存储的快照中由所述榜单位置特征确定的部分,以及返回该最新存储的快照对应的快照编号用于客户端替换所述请求中的快照编号,
当存在与所述请求中的快照编号相对应的快照编号时,向客户端返回所述请求中的快照编号对应的快照中由所述榜单位置特征确定的部分。
2.根据权利要求1所述的排行榜处理方法,其特征在于,所述周期性地生成和存储实时排行榜内容的快照,并相应地生成和存储能体现所述快照生成时间的快照编号,包括:
周期性地查询所述实时排行榜以获取最新的排行榜内容,从而生成并存储所述快照;
生成体现快照生成时间的快照编号;
将生成的快照编号写入快照编号列表中,以更新所述快照编号列表;
在所述快照编号列表中的快照编号数量超过预定阈值时,移除最早的快照编号。
3.根据权利要求2所述的排行榜处理方法,其特征在于,所述周期性地生成和存储实时排行榜内容的快照,并相应地生成和存储能体现所述快照生成时间的快照编号,包括:
周期性地查询所述实时排行榜以获取最新的排行榜内容,从而离线生成并在Redis数据缓存装置中存储所述快照;
生成体现快照生成时间的快照编号;
将生成的快照编号写入Redis数据缓存装置中的快照编号列表,并以所述快照生成时间为分值,利用Redis的排序命令来对所述快照编号列表进行排序;
利用Redis的剪切命令来裁剪所述经排序的快照编号列表,从而在所述快照编号列表中的快照编号数量超过预定阈值时,移除最早的快照编号。
4.根据权利要求1至3中任一项所述的排行榜处理方法,其特征在于,所述基于所述请求向客户端返回快照数据,包括:
确定所述请求中的快照编号是否为空;
当所述请求中的快照编号为空时,向客户端返回最新存储的快照中由所述榜单位置特征确定的部分,以及返回该最新存储的快照对应的快照编号用于替换所述请求中的快照编号。
5.根据权利要求1所述的排行榜处理方法,其特征在于,所述基于所述请求向客户端返回快照数据,还包括:
确定所述请求中的快照编号是否过期;
当所述请求中的快照编号过期时,向客户端返回最新存储的快照中由所述榜单位置特征确定的部分,以及返回该最新存储的快照对应的快照编号用于替换所述请求中的快照编号;
当所述请求中的快照编号未过期时,向客户端返回所述请求中的快照编号对应的快照中由所述榜单位置特征确定的部分。
6.根据权利要求4所述的排行榜处理方法,其特征在于,所述榜单位置特征为页码;
所述基于所述请求向客户端返回快照数据,还包括:
判断所述页码是否为首页;
若所述页码为首页,则判断所述请求中的快照编号是否为空;
若所述页码非首页,则判断所述请求中的快照编号是否过期。
7.根据权利要求1至3中任一项所述的排行榜处理方法,其特征在于,包括:
周期性地同时生成和存储多个关联排行榜内容的多个快照,并相应地生成和存储能体现所述多个快照的生成时间的共同的快照编号;
接收客户端的获取排行榜的部分内容的请求,所述请求带有快照编号、表征所述部分内容在排行榜内位置的榜单位置特征和用于选择所述多个关联排行榜之一的过滤特征;
基于所述请求向客户端返回快照数据,包括:
确定所存储的快照编号中是否存在与所述请求中的快照编号相对应的快照编号,
当不存在与所述请求中的快照编号相对应的快照编号时,借助所述过滤特征在最新存储的多个快照中确定相应的快照,并向客户端返回所述相应的快照中由所述榜单位置特征确定的部分,以及返回该相应的快照对应的快照编号用于客户端替换所述请求中的快照编号,
当存在与所述请求中的快照编号相对应的快照编号时,借助所述过滤特征在所述请求中的快照编号对应的多个快照中确定相应的快照,并向客户端返回所述相应的快照中由所述榜单位置特征确定的部分。
8.一种用于客户端的排行榜呈现方法,其特征在于,包括:
向服务端发送获取实时排行榜的部分内容的请求,所述请求带有在所述客户端中存储的快照编号和表征所述部分内容在排行榜内位置的榜单位置特征;
接收实时排行榜的快照中由所述榜单位置特征所确定的部分;
呈现所述快照中的所述部分以显示所述排行榜的部分内容;
接收快照编号;
在所述客户端中存储所接收的快照编号以替换原有的快照编号。
9.根据权利要求8所述的排行榜呈现方法,其特征在于,还包括:
判断所接收的快照编号与所述请求中的快照编号是否一致;
若所接收的快照编号与所述请求的快照编号不一致,显示提醒用户更新排行榜内容的提示或直接触发所显示的排行榜内容进行更新。
10.一种用于处理排行榜的***,其特征在于,包括一个或多个服务器和数据缓存装置;
所述一个或多个服务器配置成生成实时排行榜;
所述数据缓存装置配置成周期性地向所述一个或多个服务器查询所述实时排行榜以生成并存储实时排行榜内容的快照,
所述数据缓存装置配置成相应地生成能体现快照生成时间的快照编号,并将所述快照编号存储至快照编号列表中;
所述一个或多个服务器还配置成接收客户端的获取排行榜的部分内容的请求,所述请求带有快照编号和表征所述部分内容在排行榜内位置的榜单位置特征;
所述一个或多个服务器还配置成基于所述请求向客户端返回快照数据,
其中,所述一个或多个服务器被配置成确定所存储的快照编号中是否存在与所述请求中的快照编号相对应的快照编号,
所述一个或多个服务器被配置成当不存在与所述请求中的快照编号相对应的快照编号时,从所述数据缓存装置读取最新存储的快照中由所述榜单位置特征确定的部分以及该最新存储的快照对应的快照编号,并向客户端返回所述最新存储的快照中的所述部分和所述对应的快照编号;
所述一个或多个服务器被配置成当存在与所述请求中的快照编号相对应的快照编号时,从所述数据缓存装置读取所述请求中的快照编号对应的快照中由所述榜单位置特征确定的部分,并向客户端返回所述请求中的快照编号对应的快照中的所述部分。
11.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序配置成被运行时执行根据权利要求1至7中任一项所述的排行榜处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011346556.8A CN112473149B (zh) | 2020-11-26 | 2020-11-26 | 排行榜处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011346556.8A CN112473149B (zh) | 2020-11-26 | 2020-11-26 | 排行榜处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112473149A true CN112473149A (zh) | 2021-03-12 |
CN112473149B CN112473149B (zh) | 2022-10-25 |
Family
ID=74935094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011346556.8A Active CN112473149B (zh) | 2020-11-26 | 2020-11-26 | 排行榜处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112473149B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113312566A (zh) * | 2021-05-28 | 2021-08-27 | 杭州米络星科技(集团)有限公司 | 直播间列表展示方法、装置、设备及存储介质 |
CN113568917A (zh) * | 2021-08-13 | 2021-10-29 | 网易(杭州)网络有限公司 | 数据排名方法及装置、电子设备、存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110289088A1 (en) * | 2010-05-19 | 2011-11-24 | Frank N. Magid Associates, Inc. | System and method for ranking content interest |
CN107135266A (zh) * | 2017-05-19 | 2017-09-05 | 成都极玩网络技术有限公司 | Http代理框架安全数据传输方法 |
CN109992325A (zh) * | 2019-03-20 | 2019-07-09 | 腾讯科技(深圳)有限公司 | 信息显示方法、装置、存储介质和电子装置 |
CN111767486A (zh) * | 2019-09-24 | 2020-10-13 | 北京京东尚科信息技术有限公司 | 用于展示页面的方法、装置、电子设备和计算机可读介质 |
CN111970529A (zh) * | 2020-08-21 | 2020-11-20 | 网易(杭州)网络有限公司 | 直播间的信息处理方法、装置、存储介质和电子装置 |
-
2020
- 2020-11-26 CN CN202011346556.8A patent/CN112473149B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110289088A1 (en) * | 2010-05-19 | 2011-11-24 | Frank N. Magid Associates, Inc. | System and method for ranking content interest |
CN107135266A (zh) * | 2017-05-19 | 2017-09-05 | 成都极玩网络技术有限公司 | Http代理框架安全数据传输方法 |
CN109992325A (zh) * | 2019-03-20 | 2019-07-09 | 腾讯科技(深圳)有限公司 | 信息显示方法、装置、存储介质和电子装置 |
CN111767486A (zh) * | 2019-09-24 | 2020-10-13 | 北京京东尚科信息技术有限公司 | 用于展示页面的方法、装置、电子设备和计算机可读介质 |
CN111970529A (zh) * | 2020-08-21 | 2020-11-20 | 网易(杭州)网络有限公司 | 直播间的信息处理方法、装置、存储介质和电子装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113312566A (zh) * | 2021-05-28 | 2021-08-27 | 杭州米络星科技(集团)有限公司 | 直播间列表展示方法、装置、设备及存储介质 |
CN113568917A (zh) * | 2021-08-13 | 2021-10-29 | 网易(杭州)网络有限公司 | 数据排名方法及装置、电子设备、存储介质 |
CN113568917B (zh) * | 2021-08-13 | 2023-07-28 | 网易(杭州)网络有限公司 | 数据排名方法及装置、电子设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112473149B (zh) | 2022-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8887085B1 (en) | Dynamic content navigation | |
TWI529642B (zh) | Promotion method and equipment of product information | |
KR101722746B1 (ko) | 컨텐츠 아이템 선택 | |
US10678806B2 (en) | Per-user aggregation of database content | |
US8935620B1 (en) | Dynamic content management | |
US9569547B2 (en) | Generating a news timeline | |
AU2012376544B2 (en) | Method and system to provide video-based search results | |
US20090319556A1 (en) | Methods and systems of automatically geocoding a dataset for visual analysis | |
US9721015B2 (en) | Providing a query results page | |
CN112473149B (zh) | 排行榜处理方法 | |
US9594540B1 (en) | Techniques for providing item information by expanding item facets | |
US10977264B2 (en) | Selecting supplemental content for inclusion in a network page | |
CN110175306A (zh) | 一种广告信息的处理方法及装置 | |
CN107196999B (zh) | 用于下发信息流推送数据的方法及设备 | |
US20130332386A1 (en) | Content management | |
EP3090403A1 (en) | Generating a news timeline and recommended news editions | |
CN110351581B (zh) | 一种数据请求处理方法、装置、终端设备及存储介质 | |
US20120159376A1 (en) | Editing data records associated with static images | |
CN115878245A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN111324634B (zh) | 搜索排序方法及装置、电子设备、存储介质 | |
US11227233B1 (en) | Machine learning suggested articles for a user | |
US20100325123A1 (en) | Media Seed Suggestion | |
US11790439B1 (en) | Automated bidding on auctioned content | |
CN114117245B (zh) | 一种基于大数据的产品筛选方法和装置 | |
CN109432770A (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 |