游戏存档处理方法及装置与流程

文档序号:16787488发布日期:2019-02-01 19:28阅读:568来源:国知局
游戏存档处理方法及装置与流程

本发明实施例涉及游戏数据处理技术领域,具体而言,涉及一种游戏存档处理方法及装置。



背景技术:

针对单机游戏和弱联网游戏,用户在进行游戏的过程中会涉及到存档的处理,例如进行游戏存档或游戏读档。与网络游戏不同的是,存档处理技术会影响用户对单机游戏或弱联网游戏的游戏体验度和黏性,但是现有针对单机游戏或弱联网游戏的存档处理技术大多效率不高,导致用户对单机游戏或弱联网游戏的游戏体验度差、游戏黏性低。



技术实现要素:

有鉴于此,本发明提供了一种游戏存档处理方法及装置。

本发明实施例提供了一种游戏存档处理方法,应用于与服务端通信连接的客户端,所述方法包括:

响应用户输入的操作指令,对所述操作指令进行处理以得到对应的有效操作事件以及所述有效操作事件对应的游戏数据,将所述有效操作事件和所述游戏数据进行缓存;

检测是否存在数据存档触发指令;

若存在所述数据存档触发指令,将缓存的所有游戏数据存储至所述服务端并删除缓存的所有有效操作事件;

若不存在所述数据存档触发指令,将缓存的所有有效操作事件存储至所述服务端。

可选地,所述数据存档触发指令通过以下方式生成:

若所述有效操作事件所处游戏节点为设定节点,生成所述数据存档触发指令。

可选地,所述数据存档触发指令通过以下方式生成:

若缓存的每个有效操作事件所处游戏节点不为设定节点,判断缓存的有效操作事件的数量是否达到设定阈值,若达到,生成所述数据存储触发指令。

可选地,所述方法还包括:

响应用户输入的存档读取指令,向所述服务端发送游戏数据读取请求;

若所述服务端中存储有游戏数据,读取所述游戏数据;

若所述服务端中存储有游戏数据以及至少一个有效操作事件,读取所述游戏数据,根据所述至少一个有效操作事件生成对应的游戏数据并读取。

可选地,根据所述至少一个有效操作事件生成对应的游戏数据并读取的步骤,包括:

若所述服务端中存储有一个有效操作事件,根据所述有效操作事件模拟用户操作以生成所述有效操作事件对应的游戏数据并读取;

若所述服务端中存储有多个有效操作事件,获取所述多个有效操作事件中的每个有效操作事件的时间信息,按照多个所述时间信息的先后顺序依次模拟用户操作以生成所述多个有效操作事件中的每个有效操作事件对应的游戏数据并读取。

本发明实施例还提供了一种游戏存档处理装置,应用于与服务端通信连接的客户端,所述装置包括:

获取模块,用于响应用户输入的操作指令,对所述操作指令进行处理以得到对应的有效操作事件以及所述有效操作事件对应的游戏数据,将所述有效操作事件和所述游戏数据进行缓存;

存档模块,用于检测是否存在数据存档触发指令;若存在所述数据存档触发指令,将缓存的所有游戏数据存储至所述服务端并删除缓存的所有有效操作事件;若不存在所述数据存档触发指令,将缓存的所有有效操作事件存储至所述服务端。

可选地,所述数据存档触发指令通过以下方式生成:

若所述有效操作事件所处游戏节点为设定节点,生成所述数据存档触发指令。

可选地,所述数据存档触发指令通过以下方式生成:

若缓存的每个有效操作事件所处游戏节点不为设定节点,判断缓存的有效操作事件的数量是否达到设定阈值,若达到,生成所述数据存储触发指令。

可选地,所述装置还包括:

读档模块,用于响应用户输入的存档读取指令,向所述服务端发送游戏数据读取请求;若所述服务端中存储有游戏数据,读取所述游戏数据;若所述服务端中存储有游戏数据以及至少一个有效操作事件,读取所述游戏数据,根据所述至少一个有效操作事件生成对应的游戏数据并读取。

可选地,所述读档模块通过以下步骤根据所述至少一个有效操作事件生成对应的游戏数据并读取:

若所述服务端中存储有一个有效操作事件,根据所述有效操作事件模拟用户操作以生成所述有效操作事件对应的游戏数据并读取;

若所述服务端中存储有多个有效操作事件,获取所述多个有效操作事件中的每个有效操作事件的时间信息,按照多个所述时间信息的先后顺序依次模拟用户操作以生成所述多个有效操作事件中的每个有效操作事件对应的游戏数据并读取。

本发明实施例还提供了一种客户端,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的游戏存档处理方法。

本发明实施例还提供了一种计算机可读存储介质,所述可读存储介质包括计算机程序,所述计算机程序运行时控制所述可读存储介质所在客户端执行上述的游戏存档处理方法。

有益效果

本发明实施例提供的游戏存档处理方法及装置,能够结合有效操作事件以及游戏数据进行合理存档,在检测到存在数据存档触发指令时,会将游戏数据进行存档,在没有检测到数据存档触发指令时,会将有效操作事件进行存档,如此,能够提高存档的灵活性,有效操作事件所占空间较小,能够实现实时存储,进而避免了只对游戏数据进行存档以及频繁存档造成的游戏卡顿。

进一步地,在进行存档读取时,会基于之前所存储的游戏数据和有效操作事件进行有序读取,避免了只读取有效操作事件并进行数据还原造成的额外时间消耗,提高了存档读取的效率。

进一步地,通过有效操作事件进行存档的方式增强了游戏存档的健壮性,当部分有效操作事件出现损坏时,可以根据另一部分有效操作事件进行部分还原。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明实施例所提供的一种客户端10的方框示意图。

图2为本发明实施例所提供的一种游戏存档处理方法的流程图。

图3为本发明实施例所提供的一种客户端和服务端的结构框图。

图4为本发明实施例所提供的一种游戏存档处理的第一示意图。

图5为本发明实施例所提供的一种游戏存档处理的第二示意图。

图6为本发明实施例所提供的一种游戏存档处理的第三示意图。

图7为本发明实施例所提供的一种游戏存档处理的第四示意图。

图8为本发明实施例所提供的一种游戏存档处理的第五示意图。

图9为本发明实施例所提供的一种游戏存档处理方法的另一流程图。

图10为本发明实施例所提供的一种游戏存档处理的第六示意图。

图11为本发明实施例所提供的一种游戏存档处理的第七示意图。

图12为本发明实施例所提供的一种游戏存档处理装置20的模块框图。

图标:

10-客户端;11-存储器;12-处理器;13-网络模块;14-操作事件列表;

20-游戏存档处理装置;21-获取模块;22-存档模块;23-读档模块;

30-服务端;31-第一存储空间;32-第二存储空间。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本发明的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

发明人经调查发现,现有的针对单机游戏或弱联网游戏的存档处理技术大多效率不高。一方面,现有的存档技术在保存游戏数据时耗时较大,在需要即时保存存档的游戏中,频繁的保存会导致游戏效率降低、卡顿明显。另一方面,针对只保存玩家事件队列的存档技术,在读档时会造成读档时间过长。

以上现有技术中的方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本发明实施例针对上述问题所提出的解决方案,都应该是发明人在本发明过程中对本发明做出的贡献。

基于上述研究,本发明实施例提供了一种游戏存档处理方法及装置,能够提高存档处理的效率。

图1示出了本发明实施例所提供的一种客户端10的方框示意图。本发明实施例中的客户端10具有数据存储、传输、处理功能,如图1所示,客户端10包括:存储器11、处理器12、网络模块13和游戏存档处理装置20。

存储器11、处理器12和网络模块13之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件互相之间可以通过一条或多条通讯总线或信号线实现电性连接。存储器11中存储有游戏存档处理装置20,所述游戏存档处理装置20包括至少一个可以软件或固件(firmware)的形式储存于所述存储器11中的软件功能模块,所述处理器12通过运行存储在存储器11内的软件程序以及模块,例如本发明实施例中的游戏存档处理装置20,从而执行各种功能应用以及数据处理,即实现本发明实施例中的游戏存档处理方法。

其中,所述存储器11可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,存储器11用于存储程序,所述处理器12在接收到执行指令后,执行所述程序。

所述处理器12可能是一种集成电路芯片,具有数据的处理能力。上述的处理器12可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等。可以实现或者执行本发明实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

网络模块13用于通过网络建立客户端10与其他通信终端设备之间的通信连接,实现网络信号及数据的收发操作。上述网络信号可包括无线信号或者有线信号。

可以理解,图1所示的结构仅为示意,客户端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。

本发明实施例还提供一种计算机可读存储介质,所述可读存储介质包括计算机程序。所述计算机程序运行时控制所述可读存储介质所在客户端10执行下面的游戏存档处理方法。

图2示出了本发明实施例所提供的一种游戏存档处理方法的流程图。所述方法有关的流程所定义的方法步骤应用于客户端10,可以由所述处理器12实现。请结合参阅图3,客户端10与服务端30通信连接,客户端10设置有操作事件列表14,服务端30可以理解为硬盘,硬盘内设置有存储游戏数据的第一存储空间31和存储有效操作事件的第二存储空间32。下面将对图2所示的具体流程进行详细阐述:

为保证以下阐述中步骤的时序清晰性,在本实施例中,假设用户“从头”开始玩一单机游戏。请结合参阅图3,此时,第一存储空间31和第二存储空间32为空,操作事件列表14也为空。

步骤s21,响应用户输入的操作指令,对操作指令进行处理以得到对应的有效操作事件以及该有效操作事件对应的游戏数据,将有效操作事件和游戏数据进行缓存。

游戏开始后,用户会输入一系列的操作指令,客户端10会响应用户输入的操作指令并进行逻辑处理以获取对应的有效操作事件以及该有效操作事件对应的游戏数据,其中,有效操作事件加载至操作事件列表14,游戏数据存储于客户端10的内存中,如此,能够实现有效操作事件和游戏数据的缓存。

在本实施例中,有效操作事件指经过逻辑层处理的事件,例如:使用物品、点击按钮。又例如,若多次点击同一个按钮而只有第一次点击被逻辑层处理,只记录一次有效操作事件,后续的点击均视为无效事件,不会被加载到操作事件列表14。

请结合参阅图4,假设游戏进行了一段时间后,操作事件列表14中的有效操作事件为a1和a2,相应地,a1对应的游戏数据为d1,a2对应的游戏数据为d2。

步骤s22,检测是否存在数据存档触发指令。

游戏进行中,客户端10会实时检测是否存在数据存档触发指令,在本实施例中,数据存档触发指令可以在两种互相独立的情况下生成:

1)当有效操作事件所处游戏节点为设定节点时,此时客户端10会生成数据存档触发指令。

在本实施例中,设定节点可以为即将触发重要剧情或者正在进行资源加载而需要玩家等待的时候。

2)若操作事件列表14中的每个有效操作事件所处游戏节点均不是设定节点,判断操作事件列表14中的有效操作事件的数量是否达到设定阈值,若达到,客户端10也会生成数据存档触发指令。

在本实施例中,设定阈值可以根据用户的操作频率、读档回溯事件等进行估计。

若存在数据存档触发指令,转向步骤s23。

若不存在数据存档触发指令,转向步骤s24。

步骤s23,将缓存的所有游戏数据存储至服务端并删除缓存的所有有效操作事件。

请结合参阅图5,若有效操作事件a2所处游戏节点为设定节点,此时客户端10将有效操作事件a1和a2所对应的游戏数据d1和d2存储至服务端30的第一存储空间31中,并将操作事件列表14中的有效操作事件清空。

请结合参阅图6,若操作事件列表14中的每个有效操作事件所处游戏节点均不是设定节点且操作事件列表14中的有效操作事件数量达到设定阈值(例如设定阈值为五),将操作事件列表14中的每个有效操作事件对应的游戏数据(d1~d5)存储至服务端30的第一存储空间31中,并将操作事件列表14中的有效操作事件清空。

步骤s24,将缓存的所有有效操作事件存储至服务端。

请结合参阅图4和图7,若不存在数据存档触发指令,客户端10会将操作事件列表14中的有效操作事件a1和a2实时存储至服务端30的第二存储空间32中。

由于有效操作事件所占空间很小,因此能够实现实时存储并且不会影响游戏的流畅性。

结合步骤s23和步骤s24可见,当处于设定节点时,用户会进行等待,在等待的过程中客户端10会将游戏数据存储至第一存储空间31,如此,有效利用了设定节点的时间窗口,在非用户操作事件段实现游戏数据的存储,能够避免游戏进行时出现的卡顿和不流畅,有效提到了用户的游戏体验度。而对有效操作事件进行存储也不会影响到游戏的流畅度,如此,既能够实现实时存档又能够避免频繁存档造成的游戏卡顿。

可选地,在进行存档时还会出现一种情况,如图8所示,客户端10在检测到数据存储触发指令时,会将d1~d3存储到第一存储空间31,并清空操作事件列表14,在之后的游戏进程中,客户端10没有检测到数据存储触发指令,则会将有效操作事件a4存储到第二存储空间32。

可选地,请继续参阅图9,为本发明实施例所提供的一种游戏存档处理方法的另一流程图,该流程图侧重于读档处理。

步骤s31,响应用户输入的存档读取指令,向服务端发送游戏数据读取请求。

步骤s32,根据服务端存储情况进行存档读取。

例如,请结合参阅图9和图10,若第一存储空间31中存储有游戏数据d1~d5,客户端10将游戏数据d1~d5恢复到内存中。

又例如,请结合参阅图9和图11,若第二存储空间32中还存储有有效操作事件a6和a7,客户端10会获取a6和a7的时间信息,又例如,a6的时间信息为a6被存储到第二存储空间32中的时刻。

客户端10会读取第二存储空间32中的每个有效操作事件,并按照每个有效操作事件的时间信息的先后顺序模拟用户操作,以实现玩家操作恢复和对应的游戏数据的恢复。

请继续参阅图11,a6存入第二存储空间32的时间先于a7,此时会先模拟有效操作事件a7以获得d7,然后再模拟有效操作事件a6以获得d6。之后,客户端10会读取d6和d7。

如此,在读取存档的时候会优先读取游戏数据,若存在有效操作事件,会遍历有效操作事件并进行模拟,以获得对应的游戏数据,加快了存档读取的效率,相较于现有的对全部有效操作事件进行模拟,有效减少了用户的等待时长。

结合图2和图9所示的方法能够在存档阶段实现实时存档并减少游戏卡顿,在读档阶段能够有效减少读档时间,如此,提高了存档处理效率,保证了游戏流畅度,也提高了用户的游戏体验度和黏性。

可选地,图2所示的存档方法还增强了游戏存档的健壮性,当第二存储空间32中的某一有效操作事件出现损坏时,能够基于该有效操作事件之前的有效操作事件进行读档,能够将存档还原到一个可用的正常版本,减少存档的损失。

可选地,客户端10将游戏数据存储到第一存储空间31时,也可以将游戏数据对应的有效操作事件存储到第二存储空间32,如此,当第一存储空间31中的游戏数据出现损坏时,可以根据存储到第二存储空间32的有效操作事件恢复,同样也增强了游戏存档的健壮性。

在上述基础上,如图12所示,本发明实施例提供了一种游戏存档处理装置20,所述游戏存档处理装置20包括:获取模块21、存档模块22和读档模块23。

获取模块21,用于响应用户输入的操作指令,对所述操作指令进行处理以得到对应的有效操作事件以及所述有效操作事件对应的游戏数据,将所述有效操作事件和所述游戏数据进行缓存。

由于获取模块21和图2中步骤s21的实现原理类似,因此在此不作更多说明。

存档模块22,用于检测是否存在数据存档触发指令;若存在所述数据存档触发指令,将缓存的游戏数据存储至所述服务端并删除缓存的所有有效操作事件;若不存在所述数据存档触发指令,将缓存的有效操作事件存储至所述服务端。

由于存档模块22和图2中步骤s22~步骤s24的实现原理类似,因此在此不作更多说明。

读档模块23,用于响应用户输入的存档读取指令,向所述服务端发送游戏数据读取请求;若所述服务端中存储有游戏数据,读取所述游戏数据;若所述服务端中存储有游戏数据以及至少一个有效操作事件,读取所述游戏数据,根据所述至少一个有效操作事件生成对应的游戏数据并读取。

由于读档模块23和图8中步骤s31和步骤s32的实现原理类似,因此在此不作更多说明。

综上,本发明实施例所提供的游戏存档处理方法及装置,能够提高存档处理的效率。

在本发明实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,客户端10,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1