游戏数据的存盘方法、装置、设备和存储介质制造方法及图纸

技术编号:20916479 阅读:34 留言:0更新日期:2019-04-20 09:40
本发明专利技术实施例提供一种游戏数据的存盘方法、装置、设备和存储介质。该游戏数据的存盘方法通过在游戏启动运行后,实时监控所述游戏中预设类型的数据是否发生变化,若所述游戏中存在预设类型的第一数据发生变化,则将变化后的第一数据写入数据库进行存盘。实现了游戏数据的实时存储,降低了带宽的开销以及中央处理器的开销。

Storage methods, devices, devices and storage media for game data

The embodiment of the invention provides a method, device, device and storage medium for storing game data. The method of storing game data monitors whether the data of the preset type in the game changes in real time after the game starts running. If the first data of the preset type in the game changes, the first data after the change is written to the database for storage. It realizes real-time storage of game data, reduces bandwidth overhead and CPU overhead.

【技术实现步骤摘要】
游戏数据的存盘方法、装置、设备和存储介质
本专利技术涉及电子游戏领域,尤其涉及一种游戏数据的存盘方法、装置、设备和存储介质。
技术介绍
游戏开发中需要将游戏运行时内存空间中的玩家数据进行持久化存储,其目的在于玩家重新登陆或者服务器重新启动后能够根据持久化数据恢复玩家在游戏里的角色信息,这个持久化存储的过程也叫存盘,无论是端游、页游、还是手游,存盘系统都是游戏服务器开发中非常重要的一个系统。目前,常用的存盘方案包括定时存盘以及增量存盘两种方案,定时存盘是很多产品在使用的一种机制。具体的实现中,游戏玩家平时的数据在内存中去操作,每隔一段时间,通常是10-20分钟,会将游戏玩家的数据做一次写数据库存盘操作,将数据存储在数据库中。增量存盘是在定时存盘的基础上进行改进的方案,每一秒查询内存中玩家是否有修改过的脏数据,如果有则将修改过的脏数据写在数据库中进行存储。然而,周期性存盘周期较长,一旦游戏异常退出或者服务器故障,存盘周期没到的数据就会丢失,增量存盘过程中需要在应用层修改存盘数据时需要手动将数据标记为脏数据,还需要每秒进行轮询查询脏数据,带来额外的中央处理器的开销。
技术实现思路
本专利技术提供一种游戏数据的存盘方法、装置、设备和存储介质,用于解决现有技术中数据丢失或者增大中央处理器开销的问题。本专利技术第一方面提供一种游戏数据的存盘方法,在游戏启动运行后,实时监控所述游戏中预设类型的数据是否发生变化;若所述游戏中存在预设类型的第一数据发生变化,则将变化后的第一数据写入数据库进行存盘。具体的,所述预设类型包括多个数据类型。在一种具体的实现方式中,所述变化后的第一数据包括:所述第一数据的数据属性名,所述变化后的第一数据的值,所述变化后的第一数据的父对象,所述第一数据对应的拥有者。在一种具体的实现方式中,所述在游戏启动运行后,实时监控所述游戏中预设类型的数据是否发生变化之前,所述方法还包括:接收存盘数据类型设置指令;根据所述存盘数据类型设置指令,设置所述游戏中需要进行实时存盘的所述数据类型。在一种具体的实现方式中,所述将变化后的所述第一数据写入数据库进行存盘,包括:向所述游戏的客户端发送存盘指令,以使所述游戏的客户端根据所述存盘指令将所述变化后的第一数据写入数据库中进行存盘;所述第一数据中包括一个或者多个变化后的数据。本专利技术第二方面提供一种游戏数据的存盘装置,包括:监控模块,用于在游戏启动运行后,实时监控所述游戏中预设类型的数据是否发生变化;处理模块,用于若所述游戏中存在预设类型的第一数据发生变化,则将变化后的所述第一数据写入数据库进行存盘。具体的,所述预设类型包括多个数据类型。可选的,所述变化后的第一数据包括:所述第一数据的数据属性名,所述变化后的第一数据的值,所述变化后的第一数据的父对象,所述第一数据对应的拥有者。在一种具体的实现方式中,所述装置还包括:接收模块,用于接收存盘数据类型设置指令;所述处理模块还用于根据所述存盘数据类型设置指令,设置所述游戏中需要进行实时存盘的所述数据类型。在一种具体的实现方式中,所述处理模块具体用于:向所述游戏的客户端发送存盘指令,以使所述游戏的客户端根据所述存盘指令将所述第一数据写入数据库中进行存盘;所述第一数据中包括一个或者多个变化后的数据。本专利技术第三方面提供一种电子设备,包括:处理器和存储器;存储器用于存储程序和数据,所述处理器调用存储器存储的程序,以执行第一方面任一项所述的游戏数据的存盘方法。本专利技术第三方面提供一种计算机可读存储介质,所述计算机可读存储介质包括程序,所述程序在被处理器执行时用于执行第一方面任一项所述的游戏数据的存盘方法。本专利技术实施例提供的一种游戏数据的存盘方法、装置、设备和存储介质,在游戏启动运行后,实时监控所述游戏中预设类型的数据是否发生变化,若所述游戏中存在预设类型的第一数据发生变化,则将变化后的第一数据写入数据库进行存盘。实现了游戏数据的实时存储,降低了带宽的开销以及中央处理器的开销。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术一实施例提供的一种游戏数据的存盘方法实施例一的流程示意图;图2为本专利技术一实施例提供的一种游戏数据的存盘方法实施例二的流程示意图;图3为本专利技术一实施例提供的一种游戏数据的存盘装置实施例一的结构示意图;图4为本专利技术一实施例提供的一种游戏数据的存盘装置实施例二的结构示意图;图5为本专利技术一实施例提供的一种电子设备实施例一的结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。现有技术中,定时存盘是将所有数据存盘,由于数据量比较大,所以间隔时间相对较长,在存盘间隔期,内存中数据和数据库中数据存在一致性问题,一旦进程异常退出或者服务器故障,还未同步的数据会丢失,将导致玩家存盘数据不是最新的而产生回档或者物品复制,回档程度取决于存盘时间间隔,这对游戏运营来说是一个很严重的问题。而增量存盘因为只存脏数据,数据量相对较小,所以存盘的频率较高,通常为每秒一次,该方案比较接近实时存盘,可以一定程度上降低回档损失,但是应用层修改存盘数据时需要手动将数据标记为脏数据,当修改存盘数据频率很低时,每秒一次的轮询查询脏数据会带来额外的CPU开销,当在线玩家数量巨大时,这个开销是不容忽略的。针对现有技术中的问题,本方案提供了一种游戏数据的存盘方法,通过监控游戏数据的变化,对游戏数据进行实时更新,并通过合批存盘,在维持较低的中央处理器开销的情况下实现了游戏数据的实时存储。为便于理解,首先对以下技术名词进行解释:python:一种解释型、面向对象、动态数据类型的高级程序设计语言。脏数据:内存中进行修改,但还没有更新到数据库中的数据。图1为本专利技术一实施例提供的一种游戏数据的存盘方法实施例一的流程示意图。该方法的执行主体可以是游戏软件/客户端的后台服务器,但不以此为限。如图1所示,该方法包括:S101:在游戏启动运行后,实时监控游戏中预设类型的数据是否发生变化。其中,数据类型包括可变数据类型(mutable数据)和不可变数据类型(immutable数据)。可变数据类型包括:列表(list)、字典(dict)、集合(set)等。不可变数据类型包括:整型(int)、字符串型(string)、元组(tuple)等。预设类型为本方案中预设的需要对其进行实时监控的数据类型,一般是上述的可变数据类型,可以包括其中的一种或者多种。在本步骤中,应理解,在游戏启动运行后,即对预设类型中的可变数据类型进行实时的监控,包括对可变数据类型的属性和内容进行实时监控,以使数据发生变化时进行存盘操作。S102:若所述游戏中存在预设类型的第一数据发生变化,则将变化后的第一数据写入数据库进行存盘。第一数据本文档来自技高网...

【技术保护点】
1.一种游戏数据的存盘方法,其特征在于,在游戏启动运行后,实时监控所述游戏中预设类型的数据是否发生变化;若所述游戏中存在预设类型的第一数据发生变化,则将变化后的第一数据写入数据库进行存盘。

【技术特征摘要】
1.一种游戏数据的存盘方法,其特征在于,在游戏启动运行后,实时监控所述游戏中预设类型的数据是否发生变化;若所述游戏中存在预设类型的第一数据发生变化,则将变化后的第一数据写入数据库进行存盘。2.根据权利要求1所述的方法,其特征在于,所述预设类型包括多个数据类型。3.根据权利要求1或2所述的方法,其特征在于,所述变化后的第一数据包括:所述第一数据的数据属性名,所述变化后的第一数据的值,所述变化后的第一数据的父对象,所述第一数据对应的拥有者。4.根据权利要求1或2所述的方法,其特征在于,所述在游戏启动运行后,实时监控所述游戏中预设类型的数据是否发生变化之前,所述方法还包括:接收存盘数据类型设置指令;根据所述存盘数据类型设置指令,设置所述游戏中需要进行实时存盘的所述数据类型。5.根据权利要求1或2所述的方法,其特征在于,所述将变化后的所述第一数据写入数据库进行存盘,包括:向所述游戏的客户端发送存盘指令,以使所述游戏的客户端根据所述存盘指令将所述变化后的第一数据写入数据库中进行存盘;所述第一数据中包括一个或者多个变化后的数据。6.一种游戏数据的存盘装置,其特征在于,包括:监控模块,用于在游戏启动运行后,实时监控所述游戏中预设类型的数据是否发生变化;处理模块,用于...

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

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

1