一种游戏数据处理方法、装置、游戏服务器及存储介质制造方法及图纸

技术编号:23733746 阅读:45 留言:0更新日期:2020-04-11 07:49
本申请提供一种游戏数据处理方法、装置、游戏服务器及存储介质,涉及游戏数据存储技术领域。该方法包括:响应于游戏服务器中至少一个目标对象的游戏数据被修改,获取所述被修改的游戏数据;以预设时间间隔将所述被修改的游戏数据存储至一数据库服务器。相对于传统技术中的全盘存储,减少了服务器的压力,减少了每次存储的存储内容。

A game data processing method, device, game server and storage medium

【技术实现步骤摘要】
一种游戏数据处理方法、装置、游戏服务器及存储介质
本申请涉及数据存储
,具体而言,涉及一种游戏数据处理方法、装置、游戏服务器及存储介质。
技术介绍
网络游戏分为服务端和客户端两部分,客户端着重表现画面,而服务端则注重游戏逻辑处理和玩家游戏数据的存储。玩家的游戏数据是在玩家登陆进入游戏服务器时,游戏服务器从数据库服务器中读取出来并载入到内存中的。在游戏过程中,玩家的游戏数据是实时变化的,为了保证数据的可靠性,玩家数据要定时从游戏服务器重新写回到数据库服务器进行存储,避免出现一些问题,比如:游戏服务器宕机,玩家在内存中的游戏数据会丢失,如果没有定时将游戏数据存储备份,玩家在较长时间段内的游戏数据就会丢失,对游戏公司和玩家都会造成一定的损失。现有技术中,定时存储玩家游戏数据的方案是全量存盘,无论玩家的游戏数据是否有变化,变化了多少,都会每隔一段时间,将所有的需要存盘的游戏数据写回到数据库服务器。这里间隔的时间根据游戏实际情况而定,时间越短,当出现服务器宕机时,从备份数据中恢复玩家的游戏数据就越接近最新的数据,带来的损失也就越小。但是这样的存盘方式在每次全量存盘时,玩家的游戏数据可能只有很小的一部分数据发生变化,并不需要将所有数据重新写到服务器中,这样频繁地全盘存储,增了服务器的压力。
技术实现思路
本申请的目的在于,针对上述现有技术中的不足,提供一种游戏数据处理方法、装置、游戏服务器及存储介质,以解决现有技术中玩家的游戏数据全盘存储造成的服务器压力大的问题。为实现上述目的,本申请实施例采用的技术方案如下:第一方面,本申请实施例提供了一种游戏数据处理方法,包括:响应于游戏服务器中至少一个目标对象的游戏数据被修改,获取所述被修改的游戏数据;以预设时间间隔将所述被修改的游戏数据存储至一数据库服务器。可选地,所述响应于游戏服务器中至少一个目标对象的游戏数据被修改,获取所述被修改的游戏数据之前,所述方法还包括:监测所述目标对象的设置函数是否被调用;若所述设置函数被调用,则确定所述目标对象的游戏数据被修改。可选地,所述获取所述被修改的游戏数据,包括:获取调用所述设置函数的所述游戏数据的名称属性,以及所述名称属性对应的值;所述被修改的游戏数据包括:所述名称属性,以及所述名称属性对应的值。可选地,若所述设置函数未被调用,则所述方法还包括:获取所述游戏数据中预设类型数据的修改函数的标志位;根据所述标志位的值,确定所述游戏数据中所述预设类型数据是否被修改;若所述标志位的值发生变化,则确定所述游戏数据中所述预设类型数据被修改;若所述标志位的值未发生变化,则确定所述游戏数据中所述预设类型数据未被修改。可选地,所述预设类型数据为字典和/或列表数据。可选地若所述设置函数未被调用,所述游戏数据为嵌套有至少一层预设类型数据的嵌套数据,所述嵌套数据中每个层次的数据封装为一个子对象;则所述方法还包括:获取所述嵌套数据的各个所述子对象的标志字段;根据所述标志字段的值,确定所述子对象对应层次的数据是否发生变化。可选地,所述以预设时间间隔将所述被修改的游戏数据存储至一数据库服务器中,包括:确定所述被修改的游戏数据是否为存盘属性;若是,则记录所述被修改的游戏数据,并以预设时间间隔将所述被修改的游戏数据存储至一数据库服务器中。可选地,所述确定所述被修改的游戏数据是否为存盘属性,包括:根据所述被修改的游戏数据的类型,确定所述被修改的游戏数据是否为存盘属性;若所述被修改的游戏数据为玩家属性数据,则确定所述被修改的游戏数据为存盘属性;若所述被修改的游戏数据为游戏状态数据,则确定所述被修改的游戏数据为非存盘属性。第二方面,本申请另一实施例还提供一种游戏数据处理装置,包括:获取模块和存储模块,其中:所述获取模块,用于响应于游戏服务器中至少一个目标对象的游戏数据被修改,获取所述被修改的游戏数据;所述存储模块,用于以预设时间间隔将所述被修改的游戏数据存储至一数据库服务器。可选地,所述装置还包括:监测模块和确定模块;所述监测模块,用于监测所述目标对象的设置函数是否被调用;所述确定模块,用于若所述设置函数被调用,则确定所述目标对象的游戏数据被修改。可选地,所述获取模块,还用于获取调用所述设置函数的所述游戏数据的名称属性,以及所述名称属性对应的值;所述被修改的游戏数据包括:所述名称属性,以及所述名称属性对应的值。可选地,所述获取模块,还用于获取所述游戏数据中预设类型数据的修改函数的标志位;所述确定模块,还用于根据所述标志位的值,确定所述游戏数据中所述预设类型数据是否被修改;若所述标志位的值发生变化,则确定所述游戏数据中所述预设类型数据被修改;若所述标志位的值未发生变化,则确定所述游戏数据中所述预设类型数据未被修改。可选地,所述获取模块,还用于获取所述嵌套数据的各个所述子对象的标志字段;所述确定模块,还用于根据所述标志字段的值,确定所述子对象对应层次的数据是否发生变化。可选地,所述确定模块,还用于确定所述被修改的游戏数据是否为存盘属性;所述存储模块,还用于若是,则记录所述被修改的游戏数据,并以预设时间间隔将所述被修改的游戏数据存储至一数据库服务器中。可选地,所述确定模块,根据所述被修改的游戏数据的类型,确定所述被修改的游戏数据是否为存盘属性;若所述被修改的游戏数据为玩家属性数据,则确定所述被修改的游戏数据为存盘属性;若所述被修改的游戏数据为游戏状态数据,则确定所述被修改的游戏数据为非存盘属性。第三方面,本申请实施例还提供一种游戏服务器,包括:存储器和处理器,所述存储器存储有所述处理器可执行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所提供的任一方法。第四方面,本申请实施例还提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被读取并执行时,实现上述第一方面所提供的任一方法。本申请的有益效果是:采用本申请提供的游戏存储方法,响应于游戏服务器中至少一个目标对象的游戏数据被修改,获取被修改的游戏数据,以预设时间间隔将被修改的游戏数据存储至一数据库服务器,这样的存储方式仅记录每次修改的内容,相对于传统技术中的全盘存储,减少了服务器的压力,减少了每次存储的存储内容。附图说明为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1为本申请一实施例提供的游戏数据处理方法的流程示意图;图2为本申请另一实施例提供的游戏数据处理方法的流程示意图;图3为本申请一实施例提供的字典封装的流程示意图;<本文档来自技高网...

【技术保护点】
1.一种游戏数据的处理方法,其特征在于,包括:/n响应于游戏服务器中至少一个目标对象的游戏数据被修改,获取所述被修改的游戏数据;/n以预设时间间隔将所述被修改的游戏数据存储至一数据库服务器。/n

【技术特征摘要】
1.一种游戏数据的处理方法,其特征在于,包括:
响应于游戏服务器中至少一个目标对象的游戏数据被修改,获取所述被修改的游戏数据;
以预设时间间隔将所述被修改的游戏数据存储至一数据库服务器。


2.根据权利要求1所述的方法,其特征在于,所述响应于游戏服务器中至少一个目标对象的游戏数据被修改,获取所述被修改的游戏数据之前,所述方法还包括:
监测所述目标对象的设置函数是否被调用;
若所述设置函数被调用,则确定所述目标对象的游戏数据被修改。


3.根据权利要求2所述方法,其特征在于,所述获取所述被修改的游戏数据,包括:
获取调用所述设置函数的所述游戏数据的名称属性,以及所述名称属性对应的值;所述被修改的游戏数据包括:所述名称属性,以及所述名称属性对应的值。


4.根据权利要求2所述的方法,其特征在于,若所述设置函数未被调用,则所述方法还包括:
获取所述游戏数据中预设类型数据的修改函数的标志位;
根据所述标志位的值,确定所述游戏数据中所述预设类型数据是否被修改;
若所述标志位的值发生变化,则确定所述游戏数据中所述预设类型数据被修改;
若所述标志位的值未发生变化,则确定所述游戏数据中所述预设类型数据未被修改。


5.根据权利要求4所述的方法,其特征在于,所述预设类型数据为字典和/或列表数据。


6.根据权利要求2所述的方法,其特征在于,若所述设置函数未被调用,所述游戏数据为嵌套有至少一层预设类型数据的嵌套数据,所述嵌套数据中每个层次的数据封装为一个子对象;则所述方法还...

【专利技术属性】
技术研发人员:李白
申请(专利权)人:网易杭州网络有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1