游戏中排行榜的更新方法、装置和电子设备与流程

文档序号:33621683发布日期:2023-03-25 12:16阅读:73来源:国知局
游戏中排行榜的更新方法、装置和电子设备与流程

1.本发明涉及游戏数据更新技术领域,尤其是涉及一种游戏中排行榜的更新方法、装置和电子设备。


背景技术:

2.游戏里一般都会提供排行榜来记录玩家的战力,以及赛季积分,刺激玩家互相竞争排行榜前列。通常每个赛季排行榜会结算一次,根据玩家结算时排行榜的排名给玩家发送相关的奖励。
3.相关技术中,提供有三种赛季排行榜结算方式,第一种是每个赛季采用单独的排行榜,但是当赛季周期比较短时,玩家体验感较差;第二种是每两个赛季之间存在休赛期,从而在休赛期间发放排行榜奖励,但是有些游戏玩法是希望能够不间断地开启赛季,存在休赛期会造成玩家体验的损失;第三种是在赛季结束时,对整个排行榜拷贝一份作为当时的快照,此后的结算根据当时的快照来结算,当排行榜很大时,整个排行榜拷贝耗时较长,影响玩家游戏体验。因而,相关技术中提供的赛季排行榜的结算方式均会降低玩家的游戏体验感。


技术实现要素:

4.本发明的目的在于提供一种游戏中的排行榜的更新方法、装置和电子设备,以使新赛季的排行榜直接继承自上一赛季的排行榜,不存在休赛期,也不需要阻塞地拷贝上一赛季的排行榜,从而提高玩家游戏体验感。
5.第一方面,本发明提供了一种游戏中排行榜的更新方法,该方法包括:获取当前赛季中的分数变化数据、预先保存的当前赛季的第一排行榜和当前赛季的上一赛季的第二排行榜;其中,分数变化数据包括:当前赛季中分数发生变化的目标游戏账户,以及目标游戏账户的当前分数;第一排行榜和第二排行榜保存的数据相同;基于分数变化数据和第二排行榜,更新第一排行榜和当前赛季的下一赛季的第三排行榜,得到更新后的第一排行榜和更新后的第三排行榜;如果当前赛季结束,保存更新后的第一排行榜和更新后的第三排行榜,以将更新后的第一排行榜作为下一个当前赛季的上一赛季的第二排行榜,将更新后的第三排行榜作为下一个当前赛季的第一排行榜;其中,更新后的第一排行榜和更新后的第三排行榜保存的数据相同。
6.第二方面,本发明提供了一种游戏中排行榜的更新装置,该装置包括:数据获取模块,用于获取当前赛季中的分数变化数据、预先保存的当前赛季的第一排行榜和当前赛季的上一赛季的第二排行榜;其中,分数变化数据包括:当前赛季中分数发生变化的目标游戏账户,以及目标游戏账户的当前分数;第一排行榜和第二排行榜保存的数据相同;排行榜更新模块,用于基于分数变化数据和第二排行榜,更新第一排行榜和当前赛季的下一赛季的第三排行榜,得到更新后的第一排行榜和更新后的第三排行榜;数据保存模块,用于当前赛季结束,保存更新后的第一排行榜和更新后的第三排行榜,以将更新后的第一排行榜作为
下一个当前赛季的上一赛季的第二排行榜,将更新后的第三排行榜作为下一个当前赛季的第一排行榜;其中,更新后的第一排行榜和更新后的第三排行榜保存的数据相同。
7.第三方面,本发明提供了一种电子设备,该电子设备包括处理器和存储器,该存储器存储有能够被处理器执行的机器可执行指令,该处理器执行机器可执行指令以实现上述游戏中排行榜的更新方法。
8.第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令在被处理器调用和执行时,该计算机可执行指令促使处理器实现上述游戏中排行榜的更新方法。
9.本发明实施例带来了以下有益效果:
10.本发明提供的一种游戏中的排行榜更新方法、装置和电子设备,首先获取当前赛季中的分数变化数据、预先保存的当前赛季的第一排行榜和当前赛季的上一赛季的第二排行榜,第一排行榜和第二排行榜保存的数据相同;进而基于分数变化数据和第二排行榜,更新第一排行榜和当前赛季的下一赛季的第三排行榜,得到更新后的第一排行榜和更新后的第三排行榜;如果当前赛季结束,保存更新后的第一排行榜和更新后的第三排行榜,以将更新后的第一排行榜作为下一个当前赛季的上一赛季的第二排行榜,将更新后的第三排行榜作为下一个当前赛季的第一排行榜;其中,更新后的第一排行榜和更新后的第三排行榜保存的数据相同。该方式中,通过排行榜更新时同时写入当前赛季和下一赛季,使得当赛季切换时已有一份旧赛季的快照,从而腾出整个赛季的时间来将下一赛季的排行榜保持和当前赛季相同,以使新赛季的排行榜直接继承自老排行榜,不存在休赛期,也不需要阻塞地拷贝原有旧赛季排行榜。
11.本发明的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本发明的上述技术即可得知。
12.为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施方式,并配合所附附图,作详细说明如下。
附图说明
13.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
14.图1为本发明实施例提供的一种游戏中排行榜的更新方法的流程图;
15.图2为本发明实施例提供的另一种游戏中排行榜的更新方法的流程图;
16.图3为本发明实施例提供的当前赛季和下一赛季的排行榜的示意图;
17.图4为本发明实施例提供的一种排行榜数据更新示意图;
18.图5为本发明实施例提供的一种当前赛季和下一赛季的排行榜更新示意图;
19.图6为本发明实施例提供的一种排行榜数据复制的示意图;
20.图7为本发明实施例提供的另一种排行榜数据复制示意图;
21.图8为本发明实施例提供的另一种游戏中排行榜的更新方法的流程图;
22.图9为本发明实施例提供的一种游戏中排行榜的更新装置的结构示意图;
23.图10为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
24.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
25.因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
26.游戏里一般都会提供排行榜来记录玩家的战力,以及赛季积分,刺激玩家互相竞争排行榜前列,而且这种排行榜往往伴随着一些发奖的相关逻辑。例如,每个赛季排行榜会结算一次,根据玩家结算时排行榜的排名给玩家发送相关的奖励。现有的游戏针对这种赛季排行榜的结算一般是主被动结合的,由于排行榜上可能存在大量的玩家,考虑到数据库的承载压力,不可能一下子完成对所有玩家的奖励发放,所以往往在赛季结算时需要有一个能够反映赛季结束时刻的排行榜快照,根据这个快照给玩家发放奖励。
27.相关技术中,提供了一下三种赛季结算方式:
28.第一种,每个赛季采用单独的排行榜,该方式在下个赛季开始时,原赛季排行榜上的玩家不做保留,需要玩家再次登陆或者再次参加才会上榜。因此旧赛季的排行榜不会被更新,从而保留了一份旧赛季的快照,根据旧赛季的排行榜发放奖励即可。但是该方式会在下个赛季开始时,清掉上个赛季的排行榜,当赛季的周期比较短的时候会有比较差的体验,比如以日为单位结算,到了第二天原本在排行榜首的玩家由于还没上线,则不会出现在排行榜上,而第一个在线的玩家会突然间出现在排行榜的前面,导致玩家游戏体验感较差。
29.第二种,游戏的赛季结束之后会有一段休赛期,在这段休赛期间不会发生排行榜的分数的变化,所以在休赛期这段时间内发放排行榜奖励,排行榜相当于被冻结了一段时间,这段时间可以用来发放赛季奖励,待下个赛季开始就可以直接在原来的排行榜上更新了。但是有些游戏玩法是希望能够不间断地开启赛季,存在休赛期会造成玩家体验的损失。
30.第三种,在赛季结束时,对整个排行榜拷贝一份作为当时的快照,此后的结算根据当时的快照来结算。但是当排行榜大小很大时,整个排行榜拷贝是会相对耗时的,可能需要持续几分钟,如果这几分钟内不能写入新赛季的数据那其实也是变相的有休赛期,如果可以写入数据,那么排行榜拷贝出来的快照就不能反映赛季结束时的情况了,从而影响玩家游戏体验。
31.基于上述问题,本发明实施例提供了一种游戏中排行榜的更新方法、装置和电子设备,该技术可以应用中任何游戏的赛季排行榜更新,以及根据排行榜发放奖励的场景中。为了便于对本发明实施例进行理解,首先对本发明实施例公开的一种游戏中排行榜的更新方法进行详细介绍,如图1所述,该方法包括如下具体步骤:
32.步骤s102,获取当前赛季中的分数变化数据、预先保存的当前赛季的第一排行榜和当前赛季的上一赛季的第二排行榜;其中,分数变化数据包括:当前赛季中分数发生变化
的目标游戏账户,以及目标游戏账户的当前分数;第一排行榜和第二排行榜保存的数据相同。
33.在具体实现时,本发明可以同时维护多个赛季的排行榜,处于当前赛季时,如果当前赛季的排行榜的玩家分数发生变化,会记录当前赛季中的分数变化数据,其中,一个玩家对应一个游戏账户。具体地,在玩家处于当前赛季的上一赛季时,会同时更新当前赛季的第一排行榜和当前赛季的上一赛季的第二排行榜,在当前赛季的上一赛季结束时,当前赛季的上一赛季的排行榜不在接收新的玩家分数变化更新,而是作为旧赛季的快照,从而同时保存当前赛季的上一赛季的第二排行榜和当前赛季的第一排行榜,由于第一排行榜和第二排行榜是同时更新的,那么第一排行榜和第二排行榜内保存的数据相同。
34.在实际应用中,上述第一排行榜和第二排行榜中保存的数据,通常是按照分数值从高到低的顺序进行排序的,且第一排行榜和第二排行榜中保存的数据包括游戏账户名称和每个游戏账户名称对应的当前分数。
35.步骤s104,基于分数变化数据和第二排行榜,更新第一排行榜和当前赛季的下一赛季的第三排行榜,得到更新后的第一排行榜和更新后的第三排行榜。
36.如果当前赛季的排行榜的玩家分数发生变化,会同时写入当前赛季的第一排行榜和当前赛季的下一个赛季的第三排行榜,从而更新第一排行榜和第三排行榜中的数据。此时,更新的第三排行榜中的数据还不包含有更新后的第一排行榜中的所有数据,只包含了第一排行榜中更新的数据,为了使更新后的第三排行榜中的数据包含有完整的、与更新后的第一排行榜中一样的数据,在当前赛季进行期间,会渐进式地将当前赛季的上一赛季的第二排行榜中的玩家分数复制到更新的第三排行榜上。
37.步骤s106,如果当前赛季结束,保存更新后的第一排行榜和更新后的第三排行榜,以将更新后的第一排行榜作为下一个当前赛季的上一赛季的第二排行榜,将更新后的第三排行榜作为下一个当前赛季的第一排行榜;其中,更新后的第一排行榜和更新后的第三排行榜保存的数据相同。
38.如果当前赛季结束,将保存更新后的第一排行榜和更新后的第三排行榜,以将更新后的第一排行榜作为快照提供结算服务(也即是根据更新后的第一排行榜为玩家发放奖励),更新后的第三排行榜会作为最新赛季的排行榜提供查询服务,也即是将更新后的第三排行榜作为新开启的当前赛季的第一排行榜。
39.在具体实现时,每个赛季均会遵循上述步骤s102-s106的方法更新排行榜,也即处于第sn赛季时,分数更新同时作用在sn赛季的排行榜和sn+1赛季的排行榜,同时后台任务负责将sn-1赛季的排行榜数据复制到sn+1赛季的排行榜,最终使得在sn+1赛季开始前,sn赛季的排行榜和sn+1赛季的排行榜保存的数据一致。
40.本发明实施例提供的一种游戏中排行榜的更新方法,首先获取当前赛季中的分数变化数据、预先保存的当前赛季的第一排行榜和当前赛季的上一赛季的第二排行榜,第一排行榜和第二排行榜保存的数据相同;进而基于分数变化数据和第二排行榜,更新第一排行榜和当前赛季的下一赛季的第三排行榜,得到更新后的第一排行榜和更新后的第三排行榜;如果当前赛季结束,保存更新后的第一排行榜和更新后的第三排行榜,以将更新后的第一排行榜作为下一个当前赛季的上一赛季的第二排行榜,将更新后的第三排行榜作为下一个当前赛季的第一排行榜;其中,更新后的第一排行榜和更新后的第三排行榜保存的数据
相同。该方式中,通过排行榜更新时同时写入当前赛季和下一赛季,使得当赛季切换时已有一份旧赛季的快照,从而腾出整个赛季的时间来将下一赛季的排行榜保持和当前赛季相同,以使新赛季的排行榜直接继承自老排行榜,不存在休赛期,也不需要阻塞地拷贝原有旧赛季排行榜。
41.本发明实施例还提供了另一种游戏中排行榜的更新方法,该方法在上述实施例的基础上实现,该方法重点描述基于分数变化数据和第二排行榜,更新第一排行榜和当前赛季的下一赛季的第三排行榜,得到更新后的第一排行榜和更新后的第三排行榜的具体过程(具体通过下述步骤s204-s206实现);如图2所示,该方法包括如下具体步骤:
42.步骤s202,获取当前赛季中的分数变化数据、预先保存的当前赛季的第一排行榜和当前赛季的上一赛季的第二排行榜;其中,第一排行榜和第二排行榜保存的数据相同。
43.在具体实现时,一开始处于第一赛季s1时,每次更新排行榜上的分数,会同时写入当前赛季(也即是第一赛季s1)和当前赛季的下一赛季(也即是第二赛季s2),因而,当前赛季的排行榜和第当前赛季的下一赛季的排行榜保存的数据是一样的。如图3为当前赛季和下一赛季的排行榜的示意图,图3中的a1、a2、a3和a4表示游戏账户对应的玩家昵称或者账户名称等,100、80、70和60表示玩家当前分数;图3中左侧的表格代表当前赛季的排行榜,右侧的表格代表当前赛季的下一赛季的排行榜。
44.处于当前赛季时,后续的排行榜的分数更新也会同时写入当前赛季和当前赛季的下一赛季,所以两个赛季初始时的数据一直保持一致,比如,图4公开的一种排行榜数据更新示意图,图4中的玩家b1将自己分数为50更新到排行榜里,会同时更新当前赛季的排行榜和当前赛季的下一赛季的排行榜。
45.当开启新一赛季时,s1赛季成为了上一赛季,此时s1赛季作为上一赛季的排行榜快照被固定下来,此后不会更新s1赛季的排行榜。此时,s2赛季成为了当前赛季,s2赛季作为当前赛季的排行榜供玩家查询使用,此时当前赛季的下一赛季s3的排行榜是空的,s3赛季的排行榜需要在s3赛季到来之前保持和s2赛季的排行榜一致,这样才能做到赛季排行榜的无缝衔接。
46.步骤s204,根据分数变化数据,更新第一排行榜和第三排行榜,得到更新后的第一排行榜和更新的第三排行榜。
47.上述分数变化数据中包括当前赛季中分数发生变化的目标游戏账户的玩家昵称和该目标游戏账户对应的当前分数,根据该分数变化数据可以更新当前赛季的第一排行榜和当前赛季的下一赛季的第三排行榜中的数据。
48.在具体实现时,在根据分数变化数据,更新第一排行榜和第三排行榜之前,第三排行榜为空;在更新排行榜时,上述步骤s204可以通过下述步骤10-11实现:
49.步骤10,根据分数变化数据,调整第一排行榜中目标游戏账户对应的分数,得到更新后的第一排行榜。
50.分数变化数据所包含的目标游戏账户,可能已经存在于第一排行榜中,此时,需要将第一排行榜中该目标游戏账户的当前分数更新为分数变化数据中所对应的分数;如果分数变化数据所包含的目标游戏账户不存在于第一排行榜中,需要根据该目标游戏账户的当前分数,将该目标游戏账户对应的数据写入第一排行榜中的相应位置。具体地,如果第一排行榜中的数据是按照从高到低的顺序进行排序的,那么需要在调整第一排行榜中目标游戏
账户对应的分数的同时,调整第一排行榜中游戏账户的排序。
51.步骤11,将分数变化数据中的目标游戏账户和目标游戏账户的当前分数,写入第三排行榜,得到更新的第三排行榜。
52.由于初始时第三排行榜中的数据为空,因而,可以直接将分数变化数据中目标游戏账户和目标游戏账户的当前分数写入第三排行榜中。如图5所示为本发明实施例提供的一种当前赛季和下一赛季的排行榜更新示意图,图5中的将玩家a2的分数80更新为当前分数95,从图5中可以看出,玩家a2的分数发生变化,会同时更新当前赛季的排行榜和当前赛季的下一赛季的排行榜。
53.步骤s206,基于第二排行榜,对更新的第三排行榜进行数据补充,得到更新后的第三排行榜。
54.在玩家处于当前赛季时,由于之前同时的更新数据同时写入了当前赛季的第一排行榜和当前赛季的上一赛季的第二排行榜,所以第一排行榜包含第二排行榜的全部数据,此时第一排行榜作为当前赛季的排行榜提供给玩家查看,在当前赛季的玩家分数的更新会同时更新到当前赛季和当前赛季的下一赛季。此时,当前赛季的下一赛季的第三排行榜中还不包含所有的第一排行榜中的数据,只包含了第一排行榜的更新的数据,为了让当前赛季的下一赛季的第三排行榜也包含与当前赛季的第一排行榜相同的数据,在当前赛季期间,会渐进式地将当前赛季的上一赛季的第二排行中的玩家分数复制到当前赛季的下一赛季的第三排行榜上,复制的时候遵循当前赛季的下一赛季优先原则,即当前赛季的一下赛季中的玩家如果已经出现在当前赛季的下一赛季的第三排行榜中,那么就不用复制到当前赛季的下一赛季的第三排行榜上。
55.具体地,上述步骤s206的具体过程包括:将第二排行榜中更新的第三排行榜中未包含的目标数据,复制至更新的第三排行榜中,得到更新后的第三排行榜。渐进式地复制是在一个赛季中慢慢地进行的,所以不存在阻塞的情况,整个渐进式地复制是为了当前赛季的下一赛季开启前,保证当前赛季的排行榜和当前赛季的下一赛季的排行榜拥有相同的数据,这样当前赛季的排行榜作为快照提供结算服务,当前赛季的下一赛季作为最新赛季的排行榜提供查询服务。
56.在具体实现时,上述步骤s206还可以通过下述步骤20-22实现:
57.步骤20,判断第二排行榜中的第一个数据是否在更新的第三排行榜中;如果在,执行步骤21;如果不在,执行步骤22。
58.步骤21,将第二排行榜中第一个数据的下一个数据确定为新的第一个数据,继续执行判断第二排行榜中的第一个数据是否在更新的第三排行榜中的步骤,直到第二排行榜中的最后一个数据完成判断。
59.步骤22,将第一个数据复制至更新的第三排行榜中,并将第二排行榜中第一个数据的下一个数据确定为新的第一个数据,继续执行判断第二排行榜中的第一个数据是否在更新的第三排行榜中的步骤,直到第二排行榜中的最后一个数据完成判断。
60.在当前赛季进行时,会有一个后台任务将已经结束的当前赛季的上一赛季的第二排行榜中的玩家分数复制到当前赛季的下一赛季的第三排行榜中,这一后台任务的最主要功能就是保持更新后的第一排行榜和更新后的第三排行版中保存的数据一致。如果第二排行榜中的数据是按照分数从高到低的顺序排序的,那么可以从最高分数开始往下不断地将
玩家复制到当前赛季的下一赛季的第三排行榜中。如图6所示为本发明实施例提供的一种排行榜数据复制的示意图,图6中是将当前赛季的上一赛季的第二排行榜中的第一个数据a1复制到当前赛季的下一赛季的第三排行榜的示意图。
61.在第二排行榜中的第一个数据复制完后会,会判断第二排行榜中的第二个数据是否在第三排行榜中,如果在,则不需要复制第二个数据,直接判断第三个数据是否在排行榜中;如果不在,则直接将第二个数据复制到第三排行榜中,依次类推,直到第二排行榜中的最后一个数据判断完成。
62.需要说明的是,复制的过程不影响当前赛季的下一赛季的第三排行榜的正常更新,如果此时当前赛季的第一排行榜有数据在更新的话也会同时更新到当前赛季的下一赛季的第三排行榜。
63.在一些实施例中,数据复制时不一定是按照一个玩家一个玩家的去复制的,也可以是一批一批复制的。例如,图7所示的另一种排行榜数据复制示意图,这个示意图里将a3、a4和b1的数据一起复制到当前赛季的下一赛季的第三排行榜中,在这一次复制之后当前赛季的第一排行榜和当前赛季的下一赛季的第三排行榜中保存的数据保持一致,后台任务就可以停下来了。
64.这里的复制是后台任务每秒会复制比如n(比如10000)个玩家的数据到新的赛季,那么加入整个赛季的周期t秒的话(比如一天86400秒),那么最终只要排行榜的大小《t*n=86400000(8亿)就可以保证复制完成。如果复制不完的话大部分是因为服务器宕机引起的,因此可以考虑重启服务器;如果发现赛季已跨周期但是还没复制完,那么可以直接等待复制完再启动,这是一种容错的处理。
65.步骤s208,如果当前赛季结束,保存更新后的第一排行榜和更新后的第三排行榜,以将更新后的第一排行榜作为下一个当前赛季的上一赛季的第二排行榜,将更新后的第三排行榜作为下一个当前赛季的第一排行榜;其中,更新后的第一排行榜和更新后的第三排行榜保存的数据相同。
66.在玩家处于当前赛季时,玩家分数会同时更新当前赛季的第一排行榜和当前赛季的下一赛季的第三排行榜,同时会有后台任务渐进式地将当前赛季的上一赛季的第二排行榜中的玩家分数复制到当前赛季的下一赛季的第三排行榜。当赛季切换到当前赛季的下一赛季时,玩家分数会同时更新当前赛季的下一赛季的排行榜和当前赛季的下一赛季的下一赛季的排行榜,以此不断地进行下去。
67.上述游戏中排行榜的更新方法,通过排行榜更新时同时写入当前赛季和下一赛季,使得当赛季切换时就已经有一份旧赛季的快照了,从而腾出了一整个赛季的时间来将下一赛季的排行榜保持和当前赛季相同。该方式使得赛季切换时排行榜无需因为需要结算而被清空,同时也不需要休赛期来做结算,更不存在阻塞式的生成排行榜快照的情况。
68.本发明实施例还提供了另一种游戏中排行榜的更新方法,该方法在上述实施例的基础上实现,该方法重点描述如果当前赛季结束,保存更新后的第一排行榜和更新后的第三排行榜的具体过程(具体通过下述步骤s806实现);如图8所示,该方法包括如下具体步骤:
69.步骤s802,获取当前赛季中的分数变化数据、预先保存的当前赛季的第一排行榜和当前赛季的上一赛季的第二排行榜;其中,第一排行榜和第二排行榜保存的数据相同。
70.在具体实现时,上述当前赛季的第一排行榜和当前赛季的上一赛季的第二排行榜保存在预设数据中。
71.步骤s804,基于分数变化数据和第二排行榜,更新第一排行榜和当前赛季的下一赛季的第三排行榜,得到更新后的第一排行榜和更新后的第三排行榜。
72.步骤s806,如果当前赛季结束,将更新后的第一排行榜和更新后的第三排行榜保存至预设数据库中;其中,更新后的第一排行榜和更新后的第三排行榜保存的数据相同。
73.如果当前赛季结束,需要将更新后的第一排行榜和更新后的第二排行榜保存至预设数据库中,以便后续赛季调用。
74.步骤s808,根据更新后的第一排行榜中游戏账户的分数,向游戏账户发放奖励。
75.在具体实现时,在当前赛季结束时,会有整个当前赛季的下一赛季的时间去,根据更新后的第一排行榜向游戏账户发放奖励,从而避免了游戏存在休赛期。
76.在实际应用中,如果当前赛季结束,在游戏进程满足预设条件时,从预设数据库中将预先保存的当前赛季的上一赛季的第二排行榜删除。上述预设条件可以根据玩家需求设置。具体地,当前赛季的上一赛季的排行榜主要作为排行榜快照提供服务,在一些游戏实现中,当我们把当前赛季的上一赛季中的奖励都发放给玩家了,那么当前赛季的上一赛季的数据就不需要再存储,可以被删除。有一些游戏的排行榜发放奖励采取的是被动结算的模式,比如说会在玩家登陆的时候进行检查,一般而言这样的被动结算会根据需要保留至少一个赛季,比如当前处于当前赛季,要保留当前赛季的上一赛季的排行榜才能做到玩家登陆上来还可以领取到当前赛季的上一赛季的奖励,当赛季切换到当前赛季的下一赛季时,就可以将当前赛季的上一赛季的排行榜删除了。
77.上述游戏中排行榜的更新方法,该方式通过排行榜双写以及滚动式更新的方式实现排行榜快照,可以在赛季结束的时候生成对应排行榜的快照,同时新赛季排行榜也能继续写入,使得新赛季的排行榜直接继承自老排行榜,不存在休赛期,也不需要阻塞地拷贝原有旧赛季排行榜。
78.对应于上述方法实施例,本发明实施例提供了一种游戏中排行榜的更新装置,如图9所示,该装置包括:
79.数据获取模块90,用于获取当前赛季中的分数变化数据、预先保存的当前赛季的第一排行榜和当前赛季的上一赛季的第二排行榜;其中,分数变化数据包括:当前赛季中分数发生变化的目标游戏账户,以及目标游戏账户的当前分数;第一排行榜和第二排行榜保存的数据相同。
80.排行榜更新模块91,用于基于分数变化数据和第二排行榜,更新第一排行榜和当前赛季的下一赛季的第三排行榜,得到更新后的第一排行榜和更新后的第三排行榜。
81.数据保存模块92,用于当前赛季结束,保存更新后的第一排行榜和更新后的第三排行榜,以将更新后的第一排行榜作为下一个当前赛季的上一赛季的第二排行榜,将更新后的第三排行榜作为下一个当前赛季的第一排行榜;其中,更新后的第一排行榜和更新后的第三排行榜保存的数据相同。
82.上述游戏中排行榜的更新装置,首先获取当前赛季中的分数变化数据、预先保存的当前赛季的第一排行榜和当前赛季的上一赛季的第二排行榜,第一排行榜和第二排行榜保存的数据相同;进而基于分数变化数据和第二排行榜,更新第一排行榜和当前赛季的下
一赛季的第三排行榜,得到更新后的第一排行榜和更新后的第三排行榜;如果当前赛季结束,保存更新后的第一排行榜和更新后的第三排行榜,以将更新后的第一排行榜作为下一个当前赛季的上一赛季的第二排行榜,将更新后的第三排行榜作为下一个当前赛季的第一排行榜;其中,更新后的第一排行榜和更新后的第三排行榜保存的数据相同。该方式中,通过排行榜更新时同时写入当前赛季和下一赛季,使得当赛季切换时已有一份旧赛季的快照,从而腾出整个赛季的时间来将下一赛季的排行榜保持和当前赛季相同,以使新赛季的排行榜直接继承自老排行榜,不存在休赛期,也不需要阻塞地拷贝原有旧赛季排行榜。
83.进一步地,上述装置还包括奖励发放模块,用于:如果当前赛季结束,保存更新后的第一排行榜和更新后的第三排行榜之后,根据更新后的第一排行榜中游戏账户的分数,向游戏账户发放奖励。
84.具体地,上述排行榜更新模块91,用于:根据分数变化数据,更新第一排行榜和第三排行榜,得到更新后的第一排行榜和更新的第三排行榜;基于第二排行榜,对更新的第三排行榜进行数据补充,得到更新后的第三排行榜。
85.在具体实现时,在根据分数变化数据,更新第一排行榜和第三排行榜之前,第三排行榜为空;上述排行榜更新模块91,还用于:根据分数变化数据,调整第一排行榜中目标游戏账户对应的分数,得到更新后的第一排行榜;将分数变化数据中的目标游戏账户和目标游戏账户的当前分数,写入第三排行榜,得到更新的第三排行榜。
86.进一步地,上述排行榜更新模块91,还用于:将第二排行榜中更新的第三排行榜中未包含的目标数据,复制至更新的第三排行榜中,得到更新后的第三排行榜。
87.在实际应用中,上述排行榜更新模块91,还用于:判断第二排行榜中的第一个数据是否在更新的第三排行榜中;如果在,将第二排行榜中第一个数据的下一个数据确定为新的第一个数据,继续执行判断第二排行榜中的第一个数据是否在更新的第三排行榜中的步骤,直到第二排行榜中的最后一个数据完成判断;如果不在,将第一个数据复制至更新的第三排行榜中,并将第二排行榜中第一个数据的下一个数据确定为新的第一个数据,继续执行判断第二排行榜中的第一个数据是否在更新的第三排行榜中的步骤,直到第二排行榜中的最后一个数据完成判断。
88.进一步地,上述数据保存模块92,用于:如果当前赛季结束,将更新后的第一排行榜和更新后的第三排行榜保存至预设数据库中。
89.在具体实现时,上述装置还包括数据删除模块,用于:如果当前赛季结束,在游戏进程满足预设条件时,从预设数据库中将预先保存的当前赛季的上一赛季的第二排行榜删除。
90.本发明实施例所提供的游戏中排行榜的更新装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
91.本发明实施例还提供了一种电子设备,如图10所示,该电子设备包括处理器和存储器,该存储器存储有能够被处理器执行的机器可执行指令,该处理器执行机器可执行指令以实现上述游戏中排行榜的更新方法。
92.具体地,上述游戏中排行榜的更新方法,包括:获取当前赛季中的分数变化数据、预先保存的当前赛季的第一排行榜和当前赛季的上一赛季的第二排行榜;其中,分数变化
数据包括:当前赛季中分数发生变化的目标游戏账户,以及目标游戏账户的当前分数;第一排行榜和第二排行榜保存的数据相同;基于分数变化数据和第二排行榜,更新第一排行榜和当前赛季的下一赛季的第三排行榜,得到更新后的第一排行榜和更新后的第三排行榜;如果当前赛季结束,保存更新后的第一排行榜和更新后的第三排行榜,以将更新后的第一排行榜作为下一个当前赛季的上一赛季的第二排行榜,将更新后的第三排行榜作为下一个当前赛季的第一排行榜;其中,更新后的第一排行榜和更新后的第三排行榜保存的数据相同。
93.上述游戏中排行榜的更新方法,通过排行榜更新时同时写入当前赛季和下一赛季,使得当赛季切换时已有一份旧赛季的快照,从而腾出整个赛季的时间来将下一赛季的排行榜保持和当前赛季相同,以使新赛季的排行榜直接继承自老排行榜,不存在休赛期,也不需要阻塞地拷贝原有旧赛季排行榜。
94.在可选实施例中,如果当前赛季结束,保存更新后的第一排行榜和更新后的第三排行榜的步骤之后,上述方法还包括:根据更新后的第一排行榜中游戏账户的分数,向游戏账户发放奖励。
95.在可选实施例中,上述基于分数变化数据和第二排行榜,更新第一排行榜和当前赛季的下一赛季的第三排行榜,得到更新后的第一排行榜和更新后的第三排行榜的步骤,包括:根据分数变化数据,更新第一排行榜和第三排行榜,得到更新后的第一排行榜和更新的第三排行榜;基于第二排行榜,对更新的第三排行榜进行数据补充,得到更新后的第三排行榜。
96.在可选实施例中,在根据分数变化数据,更新第一排行榜和第三排行榜之前,第三排行榜为空;上述根据分数变化数据,更新第一排行榜和第三排行榜,得到更新后的第一排行榜和更新的第三排行榜的步骤,包括:根据分数变化数据,调整第一排行榜中目标游戏账户对应的分数,得到更新后的第一排行榜;将分数变化数据中的目标游戏账户和目标游戏账户的当前分数,写入第三排行榜,得到更新的第三排行榜。
97.在可选实施例中,上述基于第二排行榜,对更新的第三排行榜进行数据补充,得到更新后的第三排行榜的步骤,包括:将第二排行榜中更新的第三排行榜中未包含的目标数据,复制至更新的第三排行榜中,得到更新后的第三排行榜。
98.在可选实施例中,上述将第二排行榜中更新的第三排行榜中未包含的目标数据,复制至更新的第三排行榜中,得到更新后的第三排行榜的步骤,包括:判断第二排行榜中的第一个数据是否在更新的第三排行榜中;如果在,将第二排行榜中第一个数据的下一个数据确定为新的第一个数据,继续执行判断第二排行榜中的第一个数据是否在更新的第三排行榜中的步骤,直到第二排行榜中的最后一个数据完成判断;如果不在,将第一个数据复制至更新的第三排行榜中,并将第二排行榜中第一个数据的下一个数据确定为新的第一个数据,继续执行判断第二排行榜中的第一个数据是否在更新的第三排行榜中的步骤,直到第二排行榜中的最后一个数据完成判断。
99.在可选实施例中,如果当前赛季结束,保存更新后的第一排行榜和更新后的第三排行榜的步骤,包括:如果当前赛季结束,将更新后的第一排行榜和更新后的第三排行榜保存至预设数据库中。
100.在可选实施例中,上述方法还包括:如果当前赛季结束,在游戏进程满足预设条件
时,从预设数据库中将预先保存的当前赛季的上一赛季的第二排行榜删除。
101.进一步地,图10所示的电子设备还包括总线102和通信接口103,处理器101、通信接口103和存储器100通过总线102连接。
102.其中,存储器100可能包含高速随机存取存储器(ram,randomaccessmemory),也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线102可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
103.处理器101可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器101中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器101可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现成可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器100,处理器101读取存储器100中的信息,结合其硬件完成前述实施例的方法的步骤。
104.本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令在被处理器调用和执行时,该计算机可执行指令促使处理器实现上述游戏中排行榜的更新方法,具体实现可参见方法实施例,在此不再赘述。
105.具体地,上述游戏中排行榜的更新方法,包括:获取当前赛季中的分数变化数据、预先保存的当前赛季的第一排行榜和当前赛季的上一赛季的第二排行榜;其中,分数变化数据包括:当前赛季中分数发生变化的目标游戏账户,以及目标游戏账户的当前分数;第一排行榜和第二排行榜保存的数据相同;基于分数变化数据和第二排行榜,更新第一排行榜和当前赛季的下一赛季的第三排行榜,得到更新后的第一排行榜和更新后的第三排行榜;如果当前赛季结束,保存更新后的第一排行榜和更新后的第三排行榜,以将更新后的第一排行榜作为下一个当前赛季的上一赛季的第二排行榜,将更新后的第三排行榜作为下一个当前赛季的第一排行榜;其中,更新后的第一排行榜和更新后的第三排行榜保存的数据相同。
106.上述游戏中排行榜的更新方法,通过排行榜更新时同时写入当前赛季和下一赛季,使得当赛季切换时已有一份旧赛季的快照,从而腾出整个赛季的时间来将下一赛季的排行榜保持和当前赛季相同,以使新赛季的排行榜直接继承自老排行榜,不存在休赛期,也不需要阻塞地拷贝原有旧赛季排行榜。
107.在可选实施例中,如果当前赛季结束,保存更新后的第一排行榜和更新后的第三排行榜的步骤之后,上述方法还包括:根据更新后的第一排行榜中游戏账户的分数,向游戏账户发放奖励。
108.在可选实施例中,上述基于分数变化数据和第二排行榜,更新第一排行榜和当前赛季的下一赛季的第三排行榜,得到更新后的第一排行榜和更新后的第三排行榜的步骤,包括:根据分数变化数据,更新第一排行榜和第三排行榜,得到更新后的第一排行榜和更新的第三排行榜;基于第二排行榜,对更新的第三排行榜进行数据补充,得到更新后的第三排行榜。
109.在可选实施例中,在根据分数变化数据,更新第一排行榜和第三排行榜之前,第三排行榜为空;上述根据分数变化数据,更新第一排行榜和第三排行榜,得到更新后的第一排行榜和更新的第三排行榜的步骤,包括:根据分数变化数据,调整第一排行榜中目标游戏账户对应的分数,得到更新后的第一排行榜;将分数变化数据中的目标游戏账户和目标游戏账户的当前分数,写入第三排行榜,得到更新的第三排行榜。
110.在可选实施例中,上述基于第二排行榜,对更新的第三排行榜进行数据补充,得到更新后的第三排行榜的步骤,包括:将第二排行榜中更新的第三排行榜中未包含的目标数据,复制至更新的第三排行榜中,得到更新后的第三排行榜。
111.在可选实施例中,上述将第二排行榜中更新的第三排行榜中未包含的目标数据,复制至更新的第三排行榜中,得到更新后的第三排行榜的步骤,包括:判断第二排行榜中的第一个数据是否在更新的第三排行榜中;如果在,将第二排行榜中第一个数据的下一个数据确定为新的第一个数据,继续执行判断第二排行榜中的第一个数据是否在更新的第三排行榜中的步骤,直到第二排行榜中的最后一个数据完成判断;如果不在,将第一个数据复制至更新的第三排行榜中,并将第二排行榜中第一个数据的下一个数据确定为新的第一个数据,继续执行判断第二排行榜中的第一个数据是否在更新的第三排行榜中的步骤,直到第二排行榜中的最后一个数据完成判断。
112.在可选实施例中,如果当前赛季结束,保存更新后的第一排行榜和更新后的第三排行榜的步骤,包括:如果当前赛季结束,将更新后的第一排行榜和更新后的第三排行榜保存至预设数据库中。
113.在可选实施例中,上述方法还包括:如果当前赛季结束,在游戏进程满足预设条件时,从预设数据库中将预先保存的当前赛季的上一赛季的第二排行榜删除。
114.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端设备,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
115.在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、
以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
116.最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1