CN113171618A - 游戏数据展示方法及装置、处理器、存储介质 - Google Patents
游戏数据展示方法及装置、处理器、存储介质 Download PDFInfo
- Publication number
- CN113171618A CN113171618A CN202110413943.7A CN202110413943A CN113171618A CN 113171618 A CN113171618 A CN 113171618A CN 202110413943 A CN202110413943 A CN 202110413943A CN 113171618 A CN113171618 A CN 113171618A
- Authority
- CN
- China
- Prior art keywords
- game data
- player
- ranking information
- updated
- ranking
- 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
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000013507 mapping Methods 0.000 claims abstract description 11
- 230000008859 change Effects 0.000 claims description 32
- 230000015654 memory Effects 0.000 claims description 30
- 238000001514 detection method Methods 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 10
- 230000003111 delayed effect Effects 0.000 claims description 6
- 230000006870 function Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005096 rolling process Methods 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 2
- 230000002860 competitive effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003467 diminishing effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
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
-
- 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
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/55—Details of game data or player data management
- A63F2300/5546—Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
- A63F2300/558—Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history by assessing the players' skills or ranking
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- General Business, Economics & Management (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开关于一种游戏数据展示方法及装置、处理器、存储介质。其中,该方法包括:获取当前游戏数据,其中,上述当前游戏数据用于记录第一玩家标识信息以及与上述第一玩家标识信息对应的玩家排行信息;基于目标数据库对上述游戏数据进行更新处理,得到更新后游戏数据,其中,上述目标数据库的数据结构包括:第一数据结构和第二数据结构,上述第一数据结构用于存储上述游戏数据在最近一次更新的第二玩家标识信息和第二玩家排行信息之间的映射集合,上述第二数据结构用于根据上述第二玩家排行信息对上述第二玩家标识信息进行排序;展示上述更新后游戏数据。本公开解决了现有技术中存在难以满足游戏场景中的分服topN游戏排行榜的更新需求的技术问题。
Description
技术领域
本公开涉及游戏技术领域,具体而言,涉及一种游戏数据展示方法及装置、处理器、存储介质。
背景技术
在游戏技术领域中,目前大多数游戏都只为玩家提供并展示全局排行榜,没有提供分服的topN汇总排行榜,Web服务器中也存在一些采用关系型数据库存储的方案,这一类关系型数据库中在实现过程中会对分服字段和排行榜的分数建立索引,采用RANK的关键字去实现排行榜扫描,但是由于索引是按分数来进行排序的,而后出现的分服的topN的分数可能会很小,因此会导致扫描非常多的数据,在排行数据离散的情况下会非常耗时,不够高效。
现有技术中难以解决游戏场景的分服topN汇总排行榜的需求,一些采用关系型数据库的方案也存在多余扫描的问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本公开实施例提供了一种游戏数据展示方法及装置、处理器、存储介质,以至少解决现有技术中存在难以满足游戏场景中的分服topN游戏排行榜的更新需求的技术问题。
根据本公开实施例的一个方面,提供了一种游戏数据展示方法,包括:获取当前游戏数据,其中,上述当前游戏数据用于记录第一玩家标识信息以及与上述第一玩家标识信息对应的玩家排行信息;基于目标数据库对上述游戏数据进行更新处理,得到更新后游戏数据,其中,上述目标数据库的数据结构包括:第一数据结构和第二数据结构,上述第一数据结构用于存储上述游戏数据在最近一次更新的第二玩家标识信息和第二玩家排行信息之间的映射集合,上述第二数据结构用于根据上述第二玩家排行信息对上述第二玩家标识信息进行排序;展示上述更新后游戏数据。
在一种可选的实施例中,在基于目标数据库对上述当前游戏数据进行更新处理,得到更新后游戏数据之前,上述方法还包括:检测上述第一玩家排行信息发生变化;当检测到上述第一玩家排行信息发生变化时,获取变化前排行信息和变化后排行信息;检测上述变化前排行信息和上述变化后排行信息是否均处于预定排行范围内,得到检测结果,其中,当上述检测结果为是时,则确定执行上述基于目标数据库对上述当前游戏数据进行更新处理。
在一种可选的实施例中,基于目标数据库对上述当前游戏数据进行更新处理,得到更新后游戏数据,包括:获取上述当前游戏数据中的上述第一玩家排行信息,以及上述第一数据结构中的上述第二玩家排行信息;将上述第一玩家排行信息和上述第二玩家排行信息进行比对,得到比对结果;在上述比对结果指示上述第一玩家排行信息和上述第二玩家排行信息不一致时,对上述当前游戏数据进行更新处理,得到上述更新后游戏数据。
在一种可选的实施例中,基于目标数据库对上述当前游戏数据进行更新处理,得到更新后游戏数据,包括:采用延迟异步的更新处理方式,基于上述目标数据库对上述当前游戏数据进行更新处理,得到上述更新后游戏数据。
在一种可选的实施例中,在基于目标数据库对上述当前游戏数据进行更新处理,得到更新后游戏数据之后,上述方法还包括:获取上述更新后游戏数据中的更新后排行信息;依据上述更新后排行信息更新上述第一数据结构和上述第二数据结构。
根据本公开实施例的另一方面,还提供了一种游戏数据展示装置,包括:第一获取模块,用于获取当前游戏数据,其中,上述当前游戏数据用于记录第一玩家标识信息以及与上述第一玩家标识信息对应的玩家排行信息;更新模块,用于基于目标数据库对上述游戏数据进行更新处理,得到更新后游戏数据,其中,上述目标数据库的数据结构包括:第一数据结构和第二数据结构,上述第一数据结构用于存储上述游戏数据在最近一次更新的第二玩家标识信息和第二玩家排行信息之间的映射集合,上述第二数据结构用于根据上述第二玩家排行信息对上述第二玩家标识信息进行排序;展示模块,用于展示上述更新后游戏数据。
在一种可选的实施例中,上述装置还包括:第一检测模块,用于检测上述第一玩家排行信息发生变化;第二获取模块,用于当检测到上述第一玩家排行信息发生变化时,获取变化前排行信息和变化后排行信息;第二检测模块,用于检测上述变化前排行信息和上述变化后排行信息是否均处于预定排行范围内,并当检测结果为是时,确定执行上述基于目标数据库对上述当前游戏数据进行更新处理。
根据本公开实施例的另一方面,还提供了一种非易失性存储介质,上述非易失性存储介质包括存储的程序,其中,在上述程序运行时控制上述非易失性存储介质所在设备执行任意一项上述的游戏数据展示方法。
根据本公开实施例的另一方面,还提供了一种处理器,上述处理器用于运行存储在存储器中的程序,其中,上述程序运行时执行任意一项上述的游戏数据展示方法。
根据本公开实施例的另一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为运行上述计算机程序以执行任意一项上述的游戏数据展示方法。
在本公开实施例中,通过获取当前游戏数据,其中,上述当前游戏数据用于记录第一玩家标识信息以及与上述第一玩家标识信息对应的玩家排行信息;基于目标数据库对上述游戏数据进行更新处理,得到更新后游戏数据,其中,上述目标数据库的数据结构包括:第一数据结构和第二数据结构,上述第一数据结构用于存储上述游戏数据在最近一次更新的第二玩家标识信息和第二玩家排行信息之间的映射集合,上述第二数据结构用于根据上述第二玩家排行信息对上述第二玩家标识信息进行排序;展示上述更新后游戏数据,达到了高效更新游戏场景中的分服topN游戏排行榜的目的,从而实现了减少额外操作,降低更新游戏排行榜的负担的技术效果,进而解决了现有技术中存在难以满足游戏场景中的分服topN游戏排行榜的更新需求的技术问题。
附图说明
此处所说明的附图用来提供对本公开的进一步理解,构成本申请的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:
图1是根据本公开实施例的一种游戏数据展示方法的流程图;
图2是根据本公开实施例的一种可选的游戏数据展示方法的实现示意图;
图3是根据本公开实施例的一种游戏数据展示装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本公开方案,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分的实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范围。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,为方便理解本公开实施例,下面将对本公开中所涉及的部分术语或名词进行解释说明:
Redis:是指一种开源的基于内存的同时也具备可持久化能力的Key-Value数据库,提供了不同类型的数据结构以实现不同的功能。
分服:分服和同服是相对的概念,同服的玩家可以任意的发生交互没有任何限制,分服的玩家之间不能进行任意的交互(可能是有限的交互),分服指的是玩家所在的服务器,例如,玩家在玩游戏会看到自己在1区,2区,3区,上述区即分服的概念。
一般而言,大部分游戏采用滚服(滚动的建立新的分服)的设计,即玩家进入后会被分配(或者选择)到特定的服务器,此后玩家的玩法都会集中在单一的服务器上,这样的分服设计非常有利于控制单个服务器的人数,而且由于交互都集中在单个服务器,可以有效的避免由于网络原因导致的跨服请求失败。
但是,在上述的滚服设计中每个服务器往往都会有相应的排行榜供玩家竞争,玩家只能看到本服的排行榜,不能看到他们在全世界里的排名。这样的设计会削弱处于头部的玩家的竞争性,所以除了分服排行榜以外还会同时提供一个全局的世界排行榜来刺激头部玩家的竞争。全局的世界排行榜会有一个问题,就是游戏的先发者会占有明显优势,使得后发的玩家没有办法进入到全局的世界排行榜,从而削弱后发的玩家的积极性。
根据本公开实施例,提供了一种游戏数据展示方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
该方法实施例的技术方案可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,该移动终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,简称为MID)、PAD等终端设备。移动终端可以包括一个或多个处理器(处理器可以包括但不限于中央处理器(CPU)、图形处理器(GPU)、数字信号处理(DSP)芯片、微处理器(MCU)、可编程逻辑器件(FPGA)、神经网络处理器(NPU)、张量处理器(TPU)、人工智能(AI)类型处理器等的处理装置)和用于存储数据的存储器。可选地,上述移动终端还可以包括用于通信功能的传输设备、输入输出设备以及显示设备。本领域普通技术人员可以理解,上述结构描述仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比上述结构描述更多或者更少的组件,或者具有与上述结构描述不同的配置。
存储器可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本公开实施例中的游戏数据展示方法对应的计算机程序,处理器通过运行存储在存储器内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的游戏数据展示方法。存储器可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。该方法实施例的技术方案可以应用于各种通信***,例如:全球移动通讯(Global System of Mobile communication,简称为GSM)***、码分多址(Code Division Multiple Access,简称为CDMA)***、宽带码分多址(Wideband Code Division Multiple Access,简称为WCDMA)***、通用分组无线业务(General Packet Radio Service,简称为GPRS)、长期演进(Long Term Evolution,简称为LTE)***、LTE频分双工(Frequency Division Duplex,简称为FDD)***、LTE时分双工(Time Division Duplex,简称为TDD)、通用移动通信***(Universal MobileTelecommunication System,简称为UMTS)、全球互联微波接入(WorldwideInteroperability for Microwave Access,简称为WiMAX)通信***或5G***等。可选地,多个移动终端之间可以进行设备到设备(Device to Device,简称为D2D)通信。可选地,5G***或5G网络又被称为新无线(New Radio,简称为NR)***或NR网络。
显示设备可以例如触摸屏式的液晶显示器(LCD)和触摸显示器(也被称为“触摸屏”或“触摸显示屏”)。该液晶显示器可使得用户能够与移动终端的用户界面进行交互。在一些实施例中,上述移动终端具有图形用户界面(GUI),用户可以通过触摸触敏表面上的手指接触和/或手势来与GUI进行人机交互,此处的人机交互功能可选的包括如下交互:创建网页、绘图、文字处理、制作电子文档、游戏、视频会议、即时通信、收发电子邮件、通话界面、播放数字视频、播放数字音乐和/或网络浏览等、用于执行上述人机交互功能的可执行指令被配置/存储在一个或多个处理器可执行的计算机程序产品或可读非易失性存储介质中。
图1是根据本公开实施例的一种游戏数据展示方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,获取当前游戏数据,其中,上述当前游戏数据用于记录第一玩家标识信息以及与上述第一玩家标识信息对应的玩家排行信息;
步骤S104,基于目标数据库对上述游戏数据进行更新处理,得到更新后游戏数据,其中,上述目标数据库的数据结构包括:第一数据结构和第二数据结构,上述第一数据结构用于存储上述游戏数据在最近一次更新的第二玩家标识信息和第二玩家排行信息之间的映射集合,上述第二数据结构用于根据上述第二玩家排行信息对上述第二玩家标识信息进行排序;
步骤S106,展示上述更新后游戏数据。
在本公开实施例中,通过获取当前游戏数据,其中,上述当前游戏数据用于记录第一玩家标识信息以及与上述第一玩家标识信息对应的玩家排行信息;基于目标数据库对上述游戏数据进行更新处理,得到更新后游戏数据,其中,上述目标数据库的数据结构包括:第一数据结构和第二数据结构,上述第一数据结构用于存储上述游戏数据在最近一次更新的第二玩家标识信息和第二玩家排行信息之间的映射集合,上述第二数据结构用于根据上述第二玩家排行信息对上述第二玩家标识信息进行排序;展示上述更新后游戏数据,达到了高效更新游戏场景中的分服topN游戏排行榜的目的,从而实现了减少额外操作,降低更新游戏排行榜的负担的技术效果,进而解决了现有技术中存在难以满足游戏场景中的分服topN游戏排行榜的更新需求的技术问题。
本申请实施例提供了一种基于redis数据库实现的topN汇总排行榜方案,通过在redis数据库中的第一数据结构top_rank_hash_{svrid}和第二数据结构top_rank_summary,基于上述两种数据结构可以实现维护topN的排行榜的目的,本申请实施例中在实现上尽可能保证高效率,只在topN发生变化的时候才会对汇总排行榜进行更新操作。
由于本申请实施例主要是通过redis存储额外的数据实现分服topN汇总排行榜,因此,本申请实施例对原本已经存在的排行榜的存储格式是没有要求的,可以是关系型数据库,也可以是本身在redis存储的排行榜数据,例如,可以但不限于对已经存在的分服排行榜的数据抽象成一张张表格,每个表格里记录下玩家的第一玩家标识信息id(user_id),以及与该第一玩家标识信息对应的第一玩家排行信息,例如,分数score。
作为一种可选的实施例,每个分服对应一张表,比如某一分服的排行榜可以是如下表1的数据:
表1
user_id | score |
user_x | score_x |
user_y | score_y |
可选的,如图2所示,在目标数据库redis中,本申请实施例提采用其中的2种数据结构,一种是hash类型的第一数据结构,用来记录上一次更新到分服排行榜的topN玩家的id和分数之间的映射集合,另外一种是第二数据结构,即有序集合sortedset,是一个根据分数排序得到的数据结构,用来存储汇总的topN排行榜。
例如,第一数据结构top_rank_hash_{svrid},属于一种Hash的数据结构,由于svrid为变量,是分服的编号,后续简称为如图2所示的top_rank_hash,该第二数据结构用于记录最近一次更新到topN汇总排行榜的前N名玩家的分数情况。第二数据结构top_rank_summary,是一种用于记录所有分服的topN汇总排行榜的存储数据结构,采用有序集合sortedset进行存储。
在一种可选的实施例中,在基于目标数据库对上述当前游戏数据进行更新处理,得到更新后游戏数据之前,上述方法还包括:
步骤S202,检测上述第一玩家排行信息发生变化;
步骤S204,当检测到上述第一玩家排行信息发生变化时,获取变化前排行信息和变化后排行信息;
步骤S206,检测上述变化前排行信息和上述变化后排行信息是否均处于预定排行范围内,得到检测结果,其中,当上述检测结果为是时,则确定执行上述基于目标数据库对上述当前游戏数据进行更新处理。
在本申请实施例中,当原本的分服排行榜发生变化时,即当检测到上述第一玩家排行信息发生变化时,例如,top_rank_summary的有序集合的数据结构发生变化时,可以记录下玩家的变化前排行信息prev_rank,和变化后排行信息cur_rank,并当检测到prev_rank和cur_rank都不在topN的范围内时,无需进行任何操作。
当prev_rank或者cur_rank种之一发生数据变化时,且其中有一个小于topN,则可以读取这个分服的topN名玩家的分数,并和top_rank_hash里的分数进行比对,得到变化前后需要从汇总排行榜里进行删除/增加/更新的玩家数据,并在更新处理之后根据更新后排行数据的相关信息对第一数据结构top_rank_summary中的数据进行更新,以及对第二数据结构top_rank_hash中的数据进行更新。
需要说明的是,由于本申请实施例需要处理的是每个分服里topN玩家汇总得到的排行榜,因此需要更新这个汇总的排行榜的时候则应是在topN发生变化的时候,topN发生变化充要条件是:之前的排名(prev_rank)位于topN;更新之后的排名(cur_rank)位于topN。
在一种可选的实施例中,基于目标数据库对上述当前游戏数据进行更新处理,得到更新后游戏数据,包括:
步骤S302,获取上述当前游戏数据中的上述第一玩家排行信息,以及上述第一数据结构中的上述第二玩家排行信息;
步骤S304,将上述第一玩家排行信息和上述第二玩家排行信息进行比对,得到比对结果;
步骤S306,在上述比对结果指示上述第一玩家排行信息和上述第二玩家排行信息不一致时,对上述当前游戏数据进行更新处理,得到上述更新后游戏数据。
可选的,在本申请实施例中,由于第一数据结构(即top_rank_hash结构)中记录的是上一次更新分服topN排行榜的分数情况,例如,topN=3,则该第一数据结构的记录内容的可能是:user1-100;user2-80;user3-70。如果存在玩家分数发生变化,例如,user4变成了75分,那么该第一数据结构的记录内容变为:user1-100;user2-80;user4-75,通过对比可知,还需要在第二数据结构中将user3的记录内容删除,以及将user4的相关信息添加至第二数据结构中。
作为一种可选的实施例,将上述第一玩家排行信息和上述第二玩家排行信息进行比对,得到比对结果,是通过top_rank_hash获取到上一次更新时的排行榜的数据,通过比对当前的topN和上一次更新时的topN,可以得到分数保持不变的玩家,但此部分玩家的数据是不需要更新的,也可以得到已经不在topN里的玩家,更进一步的可以得到分数发生变化了或者是新增的玩家。
仍以上述实施例为例,先确定第一玩家信息中没有变化的部分即user1和user2,通过diff比对处理再找出已经不在新的topN里的user3,该user3是需要被删除的,最后找出新的topN里对比之前有新增的玩家user4,接下来在汇总排行榜中将需要保持不变的内容保留,将当前不存在的内容删除掉,再将新增的玩家加进来。
需要说明的是,在本申请实施例中,将上述第一玩家排行信息和上述第二玩家排行信息进行比对,最主要的原因是一开始不存在汇总排行榜的情况下需要特殊处理,因为这种情况下其实是不存在第10名玩家的,为了应对可能的topN的变动,topN可能不是一成不变的,但是也可能会变动,如果topN由10变成5或者变成15了,那么topN的对比仍然可以运作,例如,如果topN由10变成5,则当前的5名玩家和上一次的10名玩家进行对比,仍可以正确的维护信息。
在一种可选的实施例中,基于目标数据库对上述当前游戏数据进行更新处理,得到更新后游戏数据,包括:
步骤S42,采用延迟异步的更新处理方式,基于上述目标数据库对上述当前游戏数据进行更新处理,得到上述更新后游戏数据。
可选的,在本申请实施例中,汇总排行榜的更新是异步的,分服榜里玩家的数据变动更新到汇总排行榜是一个异步的过程,不能保证每次玩家更新之后都能立刻更新到topN的汇总排行榜,而每次都比对diff的话可以保证结果的正确性。
并且,由于更新topN汇总排行榜是一个异步的过程,如果在实现上topN变化频繁,可以将更新过程设置为延时处理,例如,在本申请实施例中,可以定期1分钟更新一次,因此可以应对topN变化频繁或者topN值比较大的情况,通过延迟异步更新还可以实现实时性和性能之间的权衡。
在本申请实施例中,通过利用额外的redis数据存储实现更新topN汇总排行榜,该实现方案可以适配任何类型存储的后端的分服排行榜,具备一定的通用性。此外通过排行信息比对实现异步更新的方式,可以很好地权衡实时性和性能,例如,当topN值比较小以及分服排行榜变动不频繁时,可以采用实时更新汇总榜的方案,对于topN比较大以及topN更新频繁的情况,本申请实施例中,还可以采用延时更新的方案。
在一种可选的实施例中,在基于目标数据库对上述当前游戏数据进行更新处理,得到更新后游戏数据之后,上述方法还包括:
步骤S502,获取上述更新后游戏数据中的更新后排行信息;
步骤S504,依据上述更新后排行信息更新上述第一数据结构和上述第二数据结构。
在本申请实施例中,当topN发生变化的时候才去更新redis中的数据结构,本申请方案主要通过额外的redis的数据结构,存储实现高效的更新和获取topN汇总排行榜,因此期望尽可能少的执行额外的操作,也不想过于增加使用这一方案的原本分服排行榜的负担,所以只在真的会影响到redis分服排行榜时才对redis中的数据结构进行更新处理。
根据本公开实施例,还提供了一种用于实施上述游戏数据展示方法的装置实施例,图3是根据本公开实施例的一种游戏数据展示装置的结构示意图,如图3所示,上述游戏数据展示装置,包括:第一获取模块30、更新模块32和展示模块34,其中:
第一获取模块30,用于获取当前游戏数据,其中,上述当前游戏数据用于记录第一玩家标识信息以及与上述第一玩家标识信息对应的玩家排行信息;更新模块32,用于基于目标数据库对上述游戏数据进行更新处理,得到更新后游戏数据,其中,上述目标数据库的数据结构包括:第一数据结构和第二数据结构,上述第一数据结构用于存储上述游戏数据在最近一次更新的第二玩家标识信息和第二玩家排行信息之间的映射集合,上述第二数据结构用于根据上述第二玩家排行信息对上述第二玩家标识信息进行排序;展示模块34,用于展示上述更新后游戏数据。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,例如,对于后者,可以通过以下方式实现:上述各个模块可以位于同一处理器中;或者,上述各个模块以任意组合的方式位于不同的处理器中。
此处需要说明的是,上述第一获取模块30、更新模块32和展示模块34对应于方法实施例中的步骤S102至步骤S106,上述模块与对应的步骤所实现的实例和应用场景相同,但不限于上述方法实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在计算机终端中。
在一种可选的实施例中,上述装置还包括:第一检测模块,用于检测上述第一玩家排行信息发生变化;第二获取模块,用于当检测到上述第一玩家排行信息发生变化时,获取变化前排行信息和变化后排行信息;第二检测模块,用于检测上述变化前排行信息和上述变化后排行信息是否均处于预定排行范围内,并当检测结果为是时,确定执行上述基于目标数据库对上述当前游戏数据进行更新处理。
需要说明的是,本实施例的可选或优选实施方式可以参见方法实施例中的相关描述,此处不再赘述。
上述的游戏数据展示装置还可以包括处理器和存储器,上述第一获取模块30、更新模块32和展示模块34等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元,上述内核可以设置一个或以上。存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
根据本申请实施例,还提供了一种非易失性存储介质实施例。可选地,在本实施例中,上述非易失性存储介质包括存储的程序,其中,在上述程序运行时控制上述非易失性存储介质所在设备执行上述任意一种游戏数据展示方法。
可选地,在本实施例中,上述非易失性存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中,上述非易失性存储介质包括存储的程序。
可选地,在程序运行时控制非易失性存储介质所在设备执行以下功能:获取当前游戏数据,其中,上述当前游戏数据用于记录第一玩家标识信息以及与上述第一玩家标识信息对应的玩家排行信息;基于目标数据库对上述游戏数据进行更新处理,得到更新后游戏数据,其中,上述目标数据库的数据结构包括:第一数据结构和第二数据结构,上述第一数据结构用于存储上述游戏数据在最近一次更新的第二玩家标识信息和第二玩家排行信息之间的映射集合,上述第二数据结构用于根据上述第二玩家排行信息对上述第二玩家标识信息进行排序;展示上述更新后游戏数据。
可选地,在程序运行时控制非易失性存储介质所在设备执行以下功能:检测上述第一玩家排行信息发生变化;当检测到上述第一玩家排行信息发生变化时,获取变化前排行信息和变化后排行信息;检测上述变化前排行信息和上述变化后排行信息是否均处于预定排行范围内,得到检测结果,其中,当上述检测结果为是时,则确定执行上述基于目标数据库对上述当前游戏数据进行更新处理。
可选地,在程序运行时控制非易失性存储介质所在设备执行以下功能:获取上述当前游戏数据中的上述第一玩家排行信息,以及上述第一数据结构中的上述第二玩家排行信息;将上述第一玩家排行信息和上述第二玩家排行信息进行比对,得到比对结果;在上述比对结果指示上述第一玩家排行信息和上述第二玩家排行信息不一致时,对上述当前游戏数据进行更新处理,得到上述更新后游戏数据。
可选地,在程序运行时控制非易失性存储介质所在设备执行以下功能:采用延迟异步的更新处理方式,基于上述目标数据库对上述当前游戏数据进行更新处理,得到上述更新后游戏数据。
可选地,在程序运行时控制非易失性存储介质所在设备执行以下功能:获取上述更新后游戏数据中的更新后排行信息;依据上述更新后排行信息更新上述第一数据结构和上述第二数据结构。
根据本申请实施例,还提供了一种处理器实施例。可选地,在本实施例中,上述处理器用于运行程序,其中,上述程序运行时执行上述任意一种游戏数据展示方法。
本申请实施例提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为运行上述计算机程序以执行任意一项上述的游戏数据展示方法。
上述本公开实施例序号仅仅为了描述,不代表实施例的优劣。
在本公开的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取非易失性存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个非易失性存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的非易失性存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本公开的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本公开原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本公开的保护范围。
Claims (10)
1.一种游戏数据展示方法,其特征在于,包括:
获取当前游戏数据,其中,所述当前游戏数据用于记录第一玩家标识信息以及与所述第一玩家标识信息对应的玩家排行信息;
基于目标数据库对所述游戏数据进行更新处理,得到更新后游戏数据,其中,所述目标数据库的数据结构包括:第一数据结构和第二数据结构,所述第一数据结构用于存储所述游戏数据在最近一次更新的第二玩家标识信息和第二玩家排行信息之间的映射集合,所述第二数据结构用于根据所述第二玩家排行信息对所述第二玩家标识信息进行排序;
展示所述更新后游戏数据。
2.根据权利要求1所述的方法,其特征在于,在基于目标数据库对所述当前游戏数据进行更新处理,得到更新后游戏数据之前,所述方法还包括:
检测所述第一玩家排行信息发生变化;
当检测到所述第一玩家排行信息发生变化时,获取变化前排行信息和变化后排行信息;
检测所述变化前排行信息和所述变化后排行信息是否均处于预定排行范围内,得到检测结果,其中,当所述检测结果为是时,则确定执行所述基于目标数据库对所述当前游戏数据进行更新处理。
3.根据权利要求1所述的方法,其特征在于,基于目标数据库对所述当前游戏数据进行更新处理,得到更新后游戏数据,包括:
获取所述当前游戏数据中的所述第一玩家排行信息,以及所述第一数据结构中的所述第二玩家排行信息;
将所述第一玩家排行信息和所述第二玩家排行信息进行比对,得到比对结果;
在所述比对结果指示所述第一玩家排行信息和所述第二玩家排行信息不一致时,对所述当前游戏数据进行更新处理,得到所述更新后游戏数据。
4.根据权利要求1所述的方法,其特征在于,基于目标数据库对所述当前游戏数据进行更新处理,得到更新后游戏数据,包括:
采用延迟异步的更新处理方式,基于所述目标数据库对所述当前游戏数据进行更新处理,得到所述更新后游戏数据。
5.根据权利要求1所述的方法,其特征在于,在基于目标数据库对所述当前游戏数据进行更新处理,得到更新后游戏数据之后,所述方法还包括:
获取所述更新后游戏数据中的更新后排行信息;
依据所述更新后排行信息更新所述第一数据结构和所述第二数据结构。
6.一种游戏数据展示装置,其特征在于,包括:
第一获取模块,用于获取当前游戏数据,其中,所述当前游戏数据用于记录第一玩家标识信息以及与所述第一玩家标识信息对应的玩家排行信息;
更新模块,用于基于目标数据库对所述游戏数据进行更新处理,得到更新后游戏数据,其中,所述目标数据库的数据结构包括:第一数据结构和第二数据结构,所述第一数据结构用于存储所述游戏数据在最近一次更新的第二玩家标识信息和第二玩家排行信息之间的映射集合,所述第二数据结构用于根据所述第二玩家排行信息对所述第二玩家标识信息进行排序;
展示模块,用于展示所述更新后游戏数据。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第一检测模块,用于检测所述第一玩家排行信息发生变化;
第二获取模块,用于当检测到所述第一玩家排行信息发生变化时,获取变化前排行信息和变化后排行信息;
第二检测模块,用于检测所述变化前排行信息和所述变化后排行信息是否均处于预定排行范围内,并当检测结果为是时,确定执行所述基于目标数据库对所述当前游戏数据进行更新处理。
8.一种非易失性存储介质,其特征在于,所述非易失性存储介质包括存储的程序,其中,在所述程序运行时控制所述非易失性存储介质所在设备执行权利要求1至5中任意一项所述的游戏数据展示方法。
9.一种处理器,其特征在于,所述处理器用于运行存储在存储器中的程序,其中,所述程序运行时执行权利要求1至5中任意一项所述的游戏数据展示方法。
10.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至5中任意一项所述的游戏数据展示方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110413943.7A CN113171618B (zh) | 2021-04-16 | 2021-04-16 | 游戏数据展示方法及装置、处理器、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110413943.7A CN113171618B (zh) | 2021-04-16 | 2021-04-16 | 游戏数据展示方法及装置、处理器、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113171618A true CN113171618A (zh) | 2021-07-27 |
CN113171618B CN113171618B (zh) | 2024-06-21 |
Family
ID=76923489
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110413943.7A Active CN113171618B (zh) | 2021-04-16 | 2021-04-16 | 游戏数据展示方法及装置、处理器、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113171618B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116650943A (zh) * | 2023-06-08 | 2023-08-29 | 广州三七极梦网络技术有限公司 | 一种游戏资源处理方法、装置、设备及介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5412652A (en) * | 1993-09-24 | 1995-05-02 | Nec America, Inc. | Sonet ring subnetwork management method |
JP2007133222A (ja) * | 2005-11-11 | 2007-05-31 | Daiichikosho Co Ltd | チーム対抗カラオケコンクールを行うカラオケコンクールシステム、カラオケ装置、コンクールサーバー |
US20120136465A1 (en) * | 2009-10-28 | 2012-05-31 | Wms Gaming Inc. | Wagering game leaderboards |
CN108733790A (zh) * | 2018-05-11 | 2018-11-02 | 广州虎牙信息科技有限公司 | 数据排序方法、装置、服务器和存储介质 |
CN111464826A (zh) * | 2020-04-14 | 2020-07-28 | 北京达佳互联信息技术有限公司 | 虚拟资源的榜单更新方法、装置、电子设备及存储介质 |
CN111544895A (zh) * | 2020-05-28 | 2020-08-18 | 网易(杭州)网络有限公司 | 排行榜处理方法及装置、电子设备、存储介质 |
CN111569435A (zh) * | 2020-06-16 | 2020-08-25 | 腾讯科技(深圳)有限公司 | 排行榜生成方法、***、服务器及存储介质 |
-
2021
- 2021-04-16 CN CN202110413943.7A patent/CN113171618B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5412652A (en) * | 1993-09-24 | 1995-05-02 | Nec America, Inc. | Sonet ring subnetwork management method |
JP2007133222A (ja) * | 2005-11-11 | 2007-05-31 | Daiichikosho Co Ltd | チーム対抗カラオケコンクールを行うカラオケコンクールシステム、カラオケ装置、コンクールサーバー |
US20120136465A1 (en) * | 2009-10-28 | 2012-05-31 | Wms Gaming Inc. | Wagering game leaderboards |
CN108733790A (zh) * | 2018-05-11 | 2018-11-02 | 广州虎牙信息科技有限公司 | 数据排序方法、装置、服务器和存储介质 |
CN111464826A (zh) * | 2020-04-14 | 2020-07-28 | 北京达佳互联信息技术有限公司 | 虚拟资源的榜单更新方法、装置、电子设备及存储介质 |
CN111544895A (zh) * | 2020-05-28 | 2020-08-18 | 网易(杭州)网络有限公司 | 排行榜处理方法及装置、电子设备、存储介质 |
CN111569435A (zh) * | 2020-06-16 | 2020-08-25 | 腾讯科技(深圳)有限公司 | 排行榜生成方法、***、服务器及存储介质 |
Non-Patent Citations (1)
Title |
---|
SMWHOTJAY: "游戏服务器中实时显示的全服排名是怎么实现的?", pages 2, Retrieved from the Internet <URL:https://bbs.csdn.net/topics/392379444.html> * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116650943A (zh) * | 2023-06-08 | 2023-08-29 | 广州三七极梦网络技术有限公司 | 一种游戏资源处理方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113171618B (zh) | 2024-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11256865B2 (en) | Method and apparatus for sending sticker image during chat session | |
US8959234B2 (en) | Method and system for providing online services corresponding to multiple mobile devices, server, mobile device, and computer program product | |
JP2020504865A (ja) | アプリケーションデータ処理方法、装置、及び記憶媒体 | |
CN109426407B (zh) | 一种文件夹中应用程序图标的显示方法、***及终端设备 | |
CN110222288B (zh) | 页面展示方法、装置及存储介质 | |
CN111352597A (zh) | 多屏显示控制方法及装置、电子设备及可读存储介质 | |
CN109525647B (zh) | 消息推送徽章值控制方法、电子装置及存储介质 | |
AU2014352423B2 (en) | Method and device for processing application of mobile terminal | |
CN113946403A (zh) | 数据展示方法、装置、存储介质及电子设备 | |
CN112169314A (zh) | 游戏中选取目标对象的方法及装置 | |
US20080094400A1 (en) | Content Based Graphical User Interface Application | |
US9959010B1 (en) | Method for displaying information, and terminal equipment | |
CN113171618A (zh) | 游戏数据展示方法及装置、处理器、存储介质 | |
CN113952740A (zh) | 游戏中的虚拟道具分享方法、装置、存储介质及电子设备 | |
CN112363932A (zh) | 待测试业务对象的测试方法及装置、电子装置 | |
CN112740178B (zh) | 小游戏接入方法及相关设备 | |
CN113326302A (zh) | 数据查询方法及装置、存储介质 | |
CN111142737B (zh) | 移动终端的设置方法、移动终端及计算机存储介质 | |
CN105320707B (zh) | 基于即时通信的热词提示方法及装置 | |
CN106874085A (zh) | 一种自启应用的管理方法及终端 | |
JP5921490B2 (ja) | セキュリティ設定提案サーバ、ユーザ端末、セキュリティ設定提案方法、セキュリティ設定提案サーバ用プログラム | |
CN108989703B (zh) | 回忆视频创建方法及相关装置 | |
CN110727387A (zh) | 确定用户行为数据的方法、装置及计算机存储介质 | |
US11159829B2 (en) | Server device for recommending videos relating to a game, and storage medium used in same | |
CN106951478B (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 |