CN117224933A - 游戏数据处理及游戏启动方法、装置、设备及存储介质 - Google Patents
游戏数据处理及游戏启动方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117224933A CN117224933A CN202311395623.9A CN202311395623A CN117224933A CN 117224933 A CN117224933 A CN 117224933A CN 202311395623 A CN202311395623 A CN 202311395623A CN 117224933 A CN117224933 A CN 117224933A
- Authority
- CN
- China
- Prior art keywords
- game
- data
- target
- terminal device
- target game
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 266
- 238000012545 processing Methods 0.000 title claims abstract description 25
- 230000002085 persistent effect Effects 0.000 claims abstract description 161
- 230000001960 triggered effect Effects 0.000 claims abstract description 4
- 230000008569 process Effects 0.000 claims description 165
- 230000003068 static effect Effects 0.000 claims description 58
- 238000004590 computer program Methods 0.000 claims description 23
- 238000003672 processing method Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 10
- 230000002045 lasting effect Effects 0.000 claims description 7
- 238000001514 detection method Methods 0.000 claims description 3
- 238000011084 recovery Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 16
- 238000005516 engineering process Methods 0.000 description 12
- 238000013500 data storage Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 230000002688 persistence Effects 0.000 description 7
- 238000012795 verification Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本申请提供了一种游戏数据处理及游戏启动方法、装置、设备及存储介质,该方法可以应用于网络游戏、云游戏等领域,包括:当检测到目标游戏的当前运行状态指示目标游戏在后台的运行时长达到预设时长,和/或检测到运行状态指示关闭目标游戏在后台的运行时,触发存储指令以及获取对象在第一历史时间段内操作目标游戏的第一游戏数据,并根据存储指令,在第一持久化存储设备中存储第一游戏数据。这样在游戏下一次启动时,可以从第一持久化存储设备中,获取对象在第一历史时间的第一游戏数据,进而基于对象在第一历史时间的第一游戏数据,恢复目标游戏的历史游戏界面,实现在不额外占用内存和计算资源的情况下,快速启动游戏。
Description
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种游戏数据处理及游戏启动方法、装置、设备及存储介质。
背景技术
随着计算机技术的快速发展,网络游戏作为一种新兴的娱乐方式,得到用户的青睐,用户可以利用碎片化的时间随时进入游戏。但是,用户在每次进入游戏时,均需要执行用户登录、账户认证、资源加载等一系列复杂流程,需要花费大量的时间,进而影响用户的游戏体验。
为了解决上述技术问题,目前采用后台保活的方法,使用户可以快速进入游戏。具体是,当用户将游戏切换至后台时,游戏进程转向后台运行。这样,当用户再次想进入游戏时,通过触发终端设备上的游戏图标,可以快速进入游戏。
但是,游戏进程在后台保活时,需要占用终端设备大量的内存和计算资源。另外,当终端设备的资源不足时,终端设备的操作系统可能会杀死后台的游戏进程,进而无法实现游戏的快速启动。
发明内容
本申请提供一种游戏数据处理及游戏启动方法、装置、设备及存储介质,可以实现对游戏数据的有效存储,且可以在不占用终端设备的内存和计算资源的情况下,提高游戏的启动速度。
第一方面,本申请提供一种游戏数据处理方法,应用于终端设备,所述方法包括:
检测目标游戏的当前运行状态;
当检测到所述运行状态指示所述目标游戏在后台的运行时长达到预设时长,和/或检测到所述运行状态指示关闭所述目标游戏在所述后台的运行时,触发存储指令以及获取对象在第一历史时间段内操作所述目标游戏的第一游戏数据;其中,所述第一历史时间段为所述对象在上一次启动所述目标游戏的起始时间点到接收到所述存储指令的时间点之间的时间段;
根据所述存储指令,在第一持久化存储设备中存储所述第一游戏数据。
第二方面,本申请提供一种游戏数据处理方法,应用于游戏服务器,所述方法包括:
接收终端设备发送的存储请求,所述存储请求是所述终端设备在检测到所述目标游戏的当前运行状态指示所述目标游戏在后台的运行时长达到所述预设时长,和/或检测到所述运行状态指示关闭所述目标游戏在所述后台的运行时发送的;
基于所述存储请求,触发存储指令以及获取对象在第一历史时间段内操作所述目标游戏的第二游戏数据,其中,所述第一历史时间段为所述对象在上一次启动所述目标游戏的起始时间点到接收到所述存储指令的时间点之间的时间段;
根据所述存储请求,在第二持久化存储设备中存储所述第二游戏数据。
第三方面,本申请提供一种游戏启动方法,应用于终端设备,所述方法包括:
响应于对象在目标游戏的登录界面中输入的登录信息,生成第一登录令牌;
基于所述第一登录令牌,从第一持久化存储设备中,获取所述对象在第一历史时间段内的第一游戏数据,所述第一游戏数据为当所述目标游戏在后台的运行时长达到预设时长和/或关闭所述目标游戏在所述后台的运行时,基于触发存储指令而存储的所述对象在第一历史时间段内操作所述目标游戏的数据;其中,所述第一历史时间段为所述对象在上一次启动所述目标游戏的起始时间点到接收到所述存储指令的时间点之间的时间段;
基于所述对象在第一历史时间段内的第一游戏数据,恢复所述目标游戏的历史游戏界面。
第四方面,本申请提供了一种游戏启动方法,应用于游戏服务器,所述方法包括:
接收终端设备发送的数据读取请求,所述数据读取请求是所述终端设备检测到所述运行状态指示所述目标游戏在后台的运行时长达到所述预设时长,和/或检测到所述运行状态指示关闭所述目标游戏在所述后台的运行时发送的,所述数据读取请求用于读取第二游戏数据,所述第二游戏数据是所述对象在所述第一历史时间段内操作所述目标游戏时在所述游戏服务器侧的游戏数据,其中所述第一历史时间段为所述对象在上一次启动所述目标游戏的起始时间点到接收到所述存储指令的时间点之间的时间段;
基于所述数据读取请求,从第二持久化存储设备中,获得所述第二游戏数据;
将所述第二游戏数据发送给所述终端设备,以使所述终端设备基于第一游戏数据和所述第二游戏数据,恢复所述目标游戏的历史游戏界面,所述第一游戏数据为当所述目标游戏在后台的运行时长达到预设时长和/或关闭所述目标游戏在所述后台的运行时,基于触发存储指令而存储的所述。
第五方面,本申请提供了一种游戏数据处理装置,应用于终端设备,所述装置包括:
检测单元,用于检测目标游戏的当前运行状态;
获取单元,用于当检测到所述运行状态指示所述目标游戏在后台的运行时长达到预设时长,和/或检测到所述运行状态指示关闭所述目标游戏在所述后台的运行时,触发存储指令以及获取对象在第一历史时间段内操作所述目标游戏的第一游戏数据;其中,所述第一历史时间段为所述对象在上一次启动所述目标游戏的起始时间点到接收到所述存储指令的时间点之间的时间段;
存储单元,用于根据所述存储指令,在第一持久化存储设备中存储所述第一游戏数据。
第六方面,本申请提供了一种游戏数据处理装置,应用于游戏服务器,所述装置包括:
接收单元,用于接收终端设备发送的存储请求,所述存储请求是所述终端设备在检测到目标游戏的当前运行状态指示所述目标游戏在后台的运行时长达到预设时长,和/或检测到所述运行状态指示关闭所述目标游戏在所述后台的运行时发送的,所述存储请求中包括第一网络连接令牌,所述第一网络连接令牌是基于所述终端设备与游戏服务器在所述第一历史时间段内的网络连接信息生成的;
获取单元,用于基于所述存储请求和所述第一网络连接令牌,触发存储指令以及获取对象在第一历史时间段内操作所述目标游戏的第二游戏数据,其中,所述第一历史时间段为所述对象在上一次启动所述目标游戏的起始时间点到接收到存储指令的时间点之间的时间段;
存储单元,用于根据所述存储请求,在第二持久化存储设备中存储所述第二游戏数据。
第七方面,本申请提供了一种游戏启动装置,应用于终端设备,所述装置包括:
生成单元,用于响应于对象在目标游戏的登录界面中输入的登录信息,生成第一登录令牌;
获取单元,用于基于所述第一登录令牌,从第一持久化存储设备中,获取所述对象在第一历史时间段内的第一游戏数据,所述第一游戏数据为当所述目标游戏在后台的运行时长达到预设时长和/或关闭所述目标游戏在所述后台的运行时,基于触发存储指令而存储的所述对象在第一历史时间段内操作所述目标游戏的数据;其中,所述第一历史时间段为所述对象在上一次启动所述目标游戏的起始时间点到接收到所述存储指令的时间点之间的时间段;
恢复单元,用于基于所述对象在第一历史时间段内的第一游戏数据,恢复所述目标游戏的历史游戏界面。
第八方面,本申请提供了一种游戏启动装置,应用于游戏服务器,所述装置包括:
接收单元,用于接收终端设备发送的数据读取请求,所述数据读取请求是所述终端设备检测到目标游戏的当前运行状态指示所述目标游戏在后台的运行时长达到预设时长,和/或检测到所述运行状态指示关闭所述目标游戏在所述后台的运行时发送的,所述数据读取请求用于读取第二游戏数据,所述第二游戏数据是所述对象在第一历史时间段内操作所述目标游戏时在所述游戏服务器侧的游戏数据,其中所述第一历史时间段为所述对象在上一次启动所述目标游戏的起始时间点到接收到存储指令的时间点之间的时间段;
获取单元,用于基于所述数据读取请求,从第二持久化存储设备中,获得所述第二游戏数据;
发送单元,用于将所述第二游戏数据发送给所述终端设备,以使所述终端设备基于第一游戏数据和所述第二游戏数据,恢复所述目标游戏的历史游戏界面,所述第一游戏数据为当所述目标游戏在后台的运行时长达到预设时长和/或关闭所述目标游戏在所述后台的运行时,基于触发存储指令而存储的所述对象在所述第一历史时间段内操作所述目标游戏的数据。
第九方面,提供了一种电子设备,包括处理器和存储器。所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行上述第一方面和第四方面或其各实现方式中的方法。
第十方面,提供了一种芯片,用于实现上述第一方面至第二方面中任一方面和第四方面或其各实现方式中的方法。具体地,所述芯片包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片的设备执行如上述第一方面和第四方面任一方面或其各实现方式中的方法。
第十一方面,提供了一种计算机可读存储介质,用于存储计算机程序,所述计算机程序使得计算机执行上述第一方面和第四方面中任一方面或其各实现方式中的方法。
第十二方面,提供了一种计算机程序产品,包括计算机程序指令,所述计算机程序指令使得计算机执行上述第一方面和第四方面中任一方面或其各实现方式中的方法。
第十三方面,提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面和第四方面中任一方面或其各实现方式中的方法。
综上,本申请通过持久化存储对象的游戏状态,从而实现快速启动游戏的目的。具体的,终端设备通过检测目标游戏的当前运行状态,当检测到运行状态指示目标游戏在后台的运行时长达到预设时长,和/或检测到运行状态指示关闭目标游戏在后台的运行时,触发存储指令以及获取对象在第一历史时间段内操作目标游戏的第一游戏数据,并根据存储指令,在第一持久化存储设备中存储第一游戏数据。这样在游戏下一次启动时,响应于对象在目标游戏的登录界面中输入的登录信息,生成第一登录令牌;基于第一登录令牌,可以从第一持久化存储设备中,获取对象在第一历史时间的第一游戏数据,进而基于对象在第一历史时间的第一游戏数据,恢复目标游戏的历史游戏界面。由上述可知,本申请实施例在第一历史时间对象退出游戏时,终端设备将对象在第一历史时间在终端设备侧的第一游戏数据存储在第一持久化存储设备中,不会额外占用终端设备的内存和计算资源。这样在下次启动目标游戏时,通过加载第一持久化存储设备中所存储的对象在第一历史时间的第一游戏数据,快速恢复目标游戏的历史游戏界面,不仅实现了目标游戏的快速启动,且可以使对象进入上一次退出时的游戏界面,进而大大提升了对象的游戏体验。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种游戏启动方法的实施环境示意图;
图2为本申请一实施例提供的游戏数据处理方法的流程图;
图3为本申请一实施例提供的游戏数据处理方法的流程图;
图4为本申请实施例涉及的一种游戏启动的具体示意图;
图5为本申请一实施例提供的游戏启动方法的流程图;
图6A为本申请实施例涉及的一种游戏启动示意图;
图6B为本申请实施例涉及的另一种游戏启动示意图;
图7为本申请一实施例提供的游戏启动方法的流程示意图;
图8为本申请实施例涉及的一种游戏启动的具体示意图;
图9是本申请一实施例提供的游戏数据处理装置的示意性框图;
图10是本申请一实施例提供的游戏数据处理装置的示意性框图;
图11是本申请一实施例提供的游戏启动装置的示意性框图;
图12是本申请一实施例提供的游戏启动装置的示意性框图;
图13是本申请实施例提供的电子设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。在本发明实施例中,“与A对应的B”表示B与A相关联。在一种实现方式中,可以根据A确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。在本申请的描述中,除非另有说明,“多个”是指两个或多于两个。
本申请实施例提供的游戏数据处理方法及游戏启动方法,可以应用到网络游戏、云游戏等领域,可以在不占用终端设备的内存和计算资源的情况下,提高游戏的启动速度。
为了便于理解本申请的实施例,首先对本申请实施例涉及的相关概念进行介绍:
云技术(Cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
云计算(cloud computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。
作为云计算的基础能力提供商,会建立云计算资源池(简称云平台,一般称为IaaS(Infrastructure as a Service,基础设施即服务)平台,在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作系统)、存储设备、网络设备。
按照逻辑功能划分,在IaaS(Infrastructure as a Service,基础设施即服务)层上可以部署PaaS(Platform as a Service,平台即服务)层,PaaS层之上再部署SaaS(Software as aService,软件即服务)层,也可以直接将SaaS部署在IaaS上。PaaS为软件运行的平台,如数据库、web容器等。SaaS为各式各样的业务软件,如web门户网站、短信群发器等。一般来说,SaaS和PaaS相对于IaaS是上层。
云游戏(Cloud gaming)又可称为游戏点播(gaming on demand),是一种以云计算技术为基础的在线游戏技术。云游戏技术使图形处理与数据运算能力相对有限的轻端设备(thin client)能运行高品质游戏。在云游戏场景下,游戏并不在玩家游戏终端,而是在云端服务器中运行,并由云端服务器将游戏场景渲染为视频音频流,通过网络传输给玩家游戏终端。玩家游戏终端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力与获取玩家输入指令并发送给云端服务器的能力即可。
目前为了实现游戏的快速启动,当用户临时退出游戏时,则保持游戏进程在终端设备的后台运行。这样当用户再次进入游戏时,无需执行重新登录、账户认证、资源加载等一系列复杂流程,而是直接运行后台保活的游戏进程,使得用户可以快速进行游戏。
但是,游戏进程在后台保活时,需要占用终端设备大量的内存和计算资源,例如占用终端设备的内存和计算资源等资源。另外,当终端设备的资源不足时,终端设备的操作系统可能会杀死后台的游戏进程,进而无法实现游戏的快速启动。
为了解决上述技术问题,本申请实施例提供的游戏启动方法,通过持久化存储对象的游戏状态,从而实现快速启动游戏的目的。具体的,终端设备通过检测目标游戏的当前运行状态,当检测到运行状态指示目标游戏在后台的运行时长达到预设时长,和/或检测到运行状态指示关闭目标游戏在后台的运行时,触发存储指令以及获取对象在第一历史时间段内操作目标游戏的第一游戏数据,并根据存储指令,在第一持久化存储设备中存储第一游戏数据。这样在游戏下一次启动时,响应于对象在目标游戏的登录界面中输入的登录信息,生成第一登录令牌;基于第一登录令牌,可以从第一持久化存储设备中,获取对象在第一历史时间段内的第一游戏数据,进而基于对象在第一历史时间段内的第一游戏数据,恢复目标游戏的历史游戏界面。由上述可知,本申请实施例在第一历史时间对象退出游戏时,终端设备将对象在第一历史时间在终端设备侧的第一游戏数据存储在第一持久化存储设备中,不会额外占用终端设备的内存和计算资源。这样在下次启动目标游戏时,通过加载第一持久化存储设备中所存储的对象在第一历史时间段内的第一游戏数据,快速恢复目标游戏的历史游戏界面,不仅实现了目标游戏的快速启动,且可以使对象进入上一次退出时的游戏界面,进而大大提升了对象的游戏体验。
图1是本申请实施例提供的一种游戏启动方法的实施环境示意图。参见图1,该实施例包括:终端设备101和游戏服务器102,其中,该终端设备101可以是任一能够按照游戏客户端的终端设备。该游戏服务器102可以是任一能够提供游戏数据下载服务的服务器。也就是说,上述终端设备101为任意按照有目标游戏客户端的终端设备,游戏服务器102为该目标游戏的后台服务器。
其中终端设备101与游戏服务器102通过有线或无线的方式连接。
在本申请实施例中,上述终端设备101上安装有游戏客户端,用户可以通过触发游戏客户端,实现游戏的启动。游戏服务器101上保存有游戏启动相关的数据。终端设备101上的游戏客户端通过与游戏服务器102进行数据交换,实现游戏的启动。游戏启动后,用户可以在终端设备101上对启动后的游戏进行相应操作。
在一些实施例中,上述终端设备101包括但不限于:台式计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备等。物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。终端设备往往配置有显示装置,显示装置也可为显示器、显示屏、触摸屏等等,触摸屏也可为触控屏、触控面板等等。
在一些实施例中,上述游戏服务器102可以是一台或多台。服务器是多台时,存在至少两台服务器用于提供不同的服务,和/或,存在至少两台服务器用于提供相同的服务,比如以负载均衡方式提供同一种服务,本申请实施例对此不加以限定。其中,上述服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。服务器也可以成为区块链的节点。
在一些实施例中,本申请实施例提供的游戏数据处理及游戏启动方法由终端设备101执行。此时,本申请实施例的游戏数据处理过程包括:检测目标游戏的当前运行状态;当检测到运行状态指示目标游戏在后台的运行时长达到预设时长,和/或检测到运行状态指示关闭目标游戏在后台的运行时,触发存储指令以及获取对象在第一历史时间段内操作目标游戏的第一游戏数据;其中,第一历史时间段为对象在上一次启动目标游戏的起始时间点到接收到存储指令的时间点之间的时间段;根据存储指令,在第一持久化存储设备中存储第一游戏数据。本申请实施例的游戏启动过程包括:终端设备响应于对象在目标游戏的登录界面中输入的登录信息,生成第一登录令牌。接着,终端设备基于该第一登录令牌,从第一持久化存储设备中,获取对象在第一历史时间段内的第一游戏数据,该第一游戏数据为当目标游戏在后台的运行时长达到预设时长和/或关闭目标游戏在后台的运行时,基于触发存储指令而存储的对象在第一历史时间段内操作目标游戏的数据;其中,第一历史时间段为对象在上一次启动目标游戏的起始时间点到接收到存储指令的时间点之间的时间段。最后,终端设备基于对象在第一历史时间段内的第一游戏数据,恢复目标游戏的历史游戏界面。也就是说,本申请实施例在第一历史时间对象退出游戏时,终端设备将对象在第一历史时间在终端设备侧的第一游戏数据存储在第一持久化存储设备中,不会额外占用终端设备的内存和计算资源。这样在对象下次启动目标游戏时,通过加载第一持久化存储设备中所存储的对象在第一历史时间段内的第一游戏数据,快速恢复目标游戏的历史游戏界面,可以实现目标游戏的快速启动。
在一些实施例中,本申请实施例的游戏数据处理及游戏启动过程由终端设备101和游戏服务器102共同完成。例如,在游戏数据处理过程中,终端设备在检测到目标游戏的当前运行状态指示所述目标游戏在后台的运行时长达到所述预设时长,和/或检测到所述运行状态指示关闭所述目标游戏在所述后台的运行时,向游戏服务器发送存储请求。游服务器基于该存储请求,触发存储指令并获取对象在第一历史时间段内操作目标游戏的第二游戏数据,并根据存储指令,将第二游戏数据存储在第二持久化存储设备中。这样在下一次启动游戏时,终端设备响应于对象在目标游戏的登录界面中输入的登录信息,生成第一登录令牌,并基于第一登录令牌,从第一持久化存储设备中,获取对象在第一历史时间段内的第一游戏数据。同时,终端设备基于第一登录令牌,获取第一登录令牌对应的第一网络连接令牌,并将第一网络连接令牌发送给游戏服务器,其中第一网络连接令牌是终端设备基于终端设备与游戏服务器在第一历史时间段内的网络连接信息生成的。游戏服务器102接收到第一网络连接令牌后,基于第一网络连接令牌,从第二持久化存储设备中,获得对象在第一历史时间段内的第二游戏数据,将第二游戏数据发送给终端设备,第二游戏数据为对象在游戏服务器侧的游戏数据。这样,终端设备102基于对象在第一历史时间段内的第一游戏数据和第二游戏数据,恢复目标游戏的历史游戏界面。也就是说,本申请实施例在第一历史时间对象退出游戏时,终端设备将对象在第一历史时间在终端设备侧的第一游戏数据存储在第一持久化存储设备中,不会额外占用终端设备的内存和计算资源。同时,游戏服务器将对象在第一历史时间在游戏服务器侧的第二游戏数据存储在第二持久化存储设备中。这样在对象下次启动目标游戏时,终端设备通过加载第一持久化存储设备中所存储的对象在第一历史时间段内的第一游戏数据,以及从游戏服务器102处获得第二持久化存储设备中所存储的对象在第一历史时间段内的第二游戏数据,快速恢复目标游戏的历史游戏界面,实现了目标游戏的快速启动。
需要说明的是,本申请实施例的实施环境包括但不限于图1所示。
下面通过一些实施例对本申请实施例的技术方案进行详细说明。下面这几个实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
首先对本申请实施例提供的游戏数据处理方法进行介绍,本申请实施例的游戏数据处理方法主要介绍了目标游戏切换至后台后,对游戏数据的存储过程。
图2为本申请一实施例提供的游戏数据处理方法的流程图。如图2所示,本申请实施例的包括如下步骤:
S101、终端设备检测目标游戏的当前运行状态。
在本申请实施例中,在目标游戏的运行过程中,终端设备实时检测目标游戏的运行状态,若对象将该目标游戏的游戏进程切换到后台,且在后台的运行时长达到预设时长时,为了避免对终端设备内存和计算资源的占用,则关闭在后台运行的游戏进程。或者,目标游戏的游戏进程在后台运行时,检测到关闭目标游戏在后台运行的事件时,例如终端设备的内存或计算资源不足时,终端设备的操作系统向游戏进程发送关闭在后台运行的游戏进程的信号。为了实现游戏的快速启动,在本申请实施例中,终端设备在关闭目标游戏在后台的运行时或之前,将对象在终端设备侧的第一游戏数据进行持久化存储,这样在下一次启动游戏时,终端设备可以直接加载持久化存储的第一游戏数据,进而实现在不占用内存和计算资源的情况下,对目标游戏的快速启动。
本申请实施例对目标游戏的运行状态的具体类型不做限制。例如,至少包括如下几种:
第一种是,目标游戏的运行状态包括目标游戏在终端设备的前端正常运行。即目标游戏未切换至后台。
第二种是,目标游戏的运行状态包括目标游戏在终端设备的后台运行,且在后台的运行时长小于预设时长。
第三种是,目标游戏的运行状态包括目标游戏在终端设备的后台运行,且在后台的运行时长大于或等于预设时长。
第四种是,目标游戏的运行状态为包括目标游戏在终端设备的后台运行,且在后台的运行时检测到关闭目标游戏在后台运行的指令。
S102、终端设备当检测到运行状态指示目标游戏在后台的运行时长达到预设时长,和/或检测到运行状态指示关闭目标游戏在后台的运行时,触发存储指令以及获取对象在第一历史时间段内操作目标游戏的第一游戏数据。
其中,第一历史时间为目标游戏上一次在后台运行时检测到事件的时间,第一信号用于指示关闭目标游戏在后台的运行。
在一些实施例中,终端设备实时检测目标游戏的当前运行状态,且在检测到目标游戏的当前运行状态指示目标游戏在后台的运行时长达到预设时长,获取对象在第一历史时间段内操作目标游戏的第一游戏数据。例如,终端设备在检测到目标游戏切换至后台时,启动一个计算器,当该计算器记录到目标游戏在后台的运行时长大于或等于预设时长时,则向终端设备的控制单元发送一个时间到了的信号,这样控制单元向游戏进程发送关闭该游戏进程的信号,此时终端设备获取对象在第一历史时间段内操作目标游戏的第一游戏数据,且关闭后台运行的游戏进程。
在一些实施例中,终端设备实时检测目标游戏的当前运行状态,且在检测到目标游戏的当前运行状态指示关闭目标游戏在后台的运行时,则获取对象在第一历史时间段内操作目标游戏的第一游戏数据。例如,终端设备在检测到目标游戏切换至后台后,终端设备的控制单元在检测到终端设备的内存和/或计算资源不足时,则向游戏进程发送关闭该游戏进程的信号,此时终端设备获取对象在第一历史时间段内操作目标游戏的第一游戏数据,且关闭后台运行的游戏进程。再例如,终端设备在检测到目标游戏切换至后台后,用户输入关闭在后台运行的目标游戏的指令时,终端设备的控制单元向游戏进程发送关闭该游戏进程的信号,此时终端设备获取对象在第一历史时间段内操作目标游戏的第一游戏数据,且关闭后台运行的游戏进程。
在一些实施例中,终端设备实时检测目标游戏的当前运行状态,且在检测到目标游戏的当前运行状态指示目标游戏在后台的运行时长达到预设时长,以及指示关闭目标游戏在后台的运行时,则获取对象在第一历史时间段内操作目标游戏的第一游戏数据,且关闭后台运行的目标游戏。
也就是说,在本申请实施例中,终端设备在目标游戏切换至后,且检测到目标游戏进程在后台的运行时长达到预设时长,或者在检测到关闭目标游戏在后台运行时,则将对象在终端设备侧的第一游戏数据存入第一持久化存储设备中。例如,对象在上一次将目标游戏切换至后台后,终端设备检测到目标游戏在后台长期运行,例如在后台运行的时长大于或等于预设时长,或者目标游戏在后台运行时,终端设备检测到操作系统杀死目标游戏的游戏进程的第一信号时,或者目标游戏在后台运行时,用户关闭后台运行的目标游戏时,终端设备获取对象在第一历史时间在终端设备侧的第一游戏数据,并将该第一游戏数据持久化的存储在第一持久化存储设备。
也就是说,在本申请实施例中,将对象在终端设备侧的第一游戏数据存入第一持久化存储设备的存储条件,至少包括如下几种:
第一种是,终端设备检测到目标游戏被切换至后台,且在后台的运行时长达到预设时长时,将对象在终端设备侧的第一游戏数据,存入第一持久化存储设备中。这样可以防止目标游戏长期在后台运行,占用终端设备的内存和计算资源(例如CPU)的问题。
第二种是,终端设备检测到目标游戏切换至后台,且在后台运行时接收到终端设备的操作系统发送的杀死游戏进程的第一信息时,将对象在终端设备侧的第一游戏数据,存入第一持久化存储设备中。这样可以防止目标游戏的游戏进程被杀死后,终端设备下一次无法为对象快速启动目标游戏的问题产生。
第三种是,终端设备检测到目标游戏切换至后台,用户关闭在后台运行的目标游戏,例如用户在检测到后台运行的程序过多,手动关闭在后台运行的目标游戏。此时,为了提高目标游戏的再次启动速度,则将该对象在终端设备侧的第一游戏数据,存入第一持久化存储设备中。
本申请实施例对指示关闭目标游戏在后台运行的具体事件不做限制,可以是任意可以导致关闭后台运行的目标游戏的事件。
本申请实施例对第一游戏数据的具体类型不做限制,可以任意终端设备侧的游戏数据。
在本申请实施例中,游戏运行过程中的内存数据主要分为如下几类:
第一种游戏数据为静态资源数据。该静态资源数据为与对象无关的固定资源数据,比如各类贴图、静态图片等,这类资源和对象状态无关,是本地静态资源文件在内存中的缓存数据,因此对象退出游戏时,直接清除掉即可。但为了加快下次加载的速度,避免再按游戏逻辑逐个加载,可以记录当前已缓存的资源的索引,这样可以对象下次进入游戏时,就能够直接批量加载这些已缓存的资源,提高缓存的命中率。
静态资源数据的索引信息主要包括如下字段:
资源名称:资源的名称,主要对资源进行区分。
资源类型:类型,分为贴图、图片、音频、动画、文件和其他类型等游戏运行过程中经常用到的各类型的资源。
资源大小:资源在内存中占用的实际大小。
资源引用次数:资源被引用的次数。
资源优先级:资源的优先级,主要通过加载速度对对象实际体验的影响来区分,例如从低到高标记为1-5。
第二种游戏数据为第一游戏过程数据。该第一游戏过程数据为与当前对象相关,而与其他游戏参与者无关的过程数据。也就是说,第一游戏过程数据为对象的游戏过程数据中与其他游戏参与者无关的游戏过程数据。示例性的,第一游戏过程数据可以包括:对象当前游戏场景、进度相关的过程数据,比如对象当前使用的道具、加载的服饰等等。这部分数据需要进行序列化和持久化存储,这样对象下次登录后就可以直接把这部分数据恢复到内存,从而恢复对象的游戏场景。
第三种游戏数据为第二游戏过程数据。第二游戏过程数据为与其他游戏参与者相关,而与本对象无关的过程数据。也就是说,第二游戏过程数据包括游戏全局过程数据,这部分数据会因为其他游戏参与者的游戏过程而发生改变。示例性的,第二游戏过程数据包括排行榜数据。这部分数据终端设备不能进行持久化存储,需要在对象再次进入游戏后,重新从游戏服务器中拉取。
基于上述描述,在一些实施例中,本申请实施例的第一游戏数据可以包括如下至少一种:静态资源数据的索引信息和第一游戏过程数据。
在一些实施例中,若本申请实施例的第一游戏数据包括静态资源数据的索引信息和第一游戏过程数据。此时,上述S102中的获取对象在第一历史时间段内操作所述目标游戏的第一游戏数据包括如下S102-A1至S102-A3的步骤:
S102-A1、终端设备从终端设备缓存的对象在第一历史时间段内操作目标游戏的游戏数据中,获取静态资源数据,以及第一游戏过程数据;
S102-A2、终端设备确定静态资源数据的索引信息
S102-A3、终端设备将静态资源数据的索引信息,以及第一游戏过程数据,确定为第一游戏数据。
由上述可知,对象在终端设备侧的游戏数据分为静态资源数据、可存储的第一游戏过程数据和不可存储的游戏过程数据(例如对象在目标游戏中的全局排名)。基于此,在确定对象在第一历史时间段内的第一游戏数据时,则终端设备首先获取对象在第一历史时间段内在终端设备侧的游戏数据。接着,从这些数据中获取对象在第一历史时间段内的静态资源数据和第一游戏过程数据,同时,确定该静态资源数据的索引信息,具体过程参照上述实施例的描述。最后,将对象在第一历史时间段内的静态资源数据的索引信息和第一游戏过程数据,确定为对象在第一历史时间段内的第一游戏数据进行存储。
终端设备基于上述步骤,确定出对象在第一历史时间段内在终端设备侧的第一游戏数据后,执行如下S103的步骤。
S103、终端设备根据存储指令,在第一持久化存储设备中存储第一游戏数据。
在一些实施例中,为了便于描述是,可以将该存储指令理解为第一存储指令,即用于对终端设备侧的游戏数据进行存储的存储指令。
本申请实施例对终端设备将对象在第一历史时间段内的第一游戏数据,存储至第一持久化存储设备中的具体方式不做限制。
在一些示例中,终端设备对对象在第一历史时间段内的第一游戏数据不进行如何处理,直接将对象在第一历史时间段内的第一游戏数据存储至第一持久化存储设备中。
在一些实施例中,终端设备将对象在第一历史时间段内的第一游戏数据进行序列化,例如将对象在第一历史时间段内的第一游戏数据转换为二进制序列。接着,将序列化后的第一游戏数据,存储在第一持久化存储设备中。
在一些实施例中,终端设备以对象的登录令牌(例如第二登录令牌)为索引,将对象在第一历史时间段内的第一游戏数据,存储至第一持久化存储设备中。该第二登录令牌基于对象在上一次启动目标游戏时输入的账户信息生成的。
在一些实施例中,对象在第一历史时间段内操作所述目标游戏的游戏数据缓存在所述游戏服务器的内存中。基于此,终端设备在检测到终端设备已经将对象在第一历史时间段内的第一游戏数据,存储至第一持久化存储设备时,删除终端设备的内存中所缓存的,对象在第一历史时间段内时在终端设备侧的游戏数据,并释放删除游戏数据的内存,以及关闭在后台运行的目标游戏的游戏进程,并释放游戏进程在终端设备侧对应的内存和计算资源。
上述S101至S103可以理解为终端设备将对象在第一历史时间段内时在终端设备侧的第一游戏数据,存入第一持久化存储设备的过程。
本申请实施例的游戏数据处理方法,终端设备检测目标游戏的当前运行状态,当检测到运行状态指示目标游戏在后台的运行时长达到预设时长,和/或检测到运行状态指示关闭目标游戏在后台的运行时,触发存储指令以及获取对象在第一历史时间段内操作目标游戏的第一游戏数据,其中,第一历史时间段为对象在上一次启动目标游戏的起始时间点到接收到存储指令的时间点之间的时间段。进而,根据存储指令,在第一持久化存储设备中存储第一游戏数据。也就是说,在本申请实施例中,终端设备正在检测到运行状态指示目标游戏在后台的运行时长达到预设时长,和/或检测到运行状态指示关闭目标游戏在后台的运行时,将对象在第一历史时间段内的游戏数据进行持久化存储,这样在下一次启动目标游戏时,可以基于持久化存储的游戏数据实现目标游戏的快速启动,且可以恢复目标游戏在第一历史时间段内的游戏界面,提升了游戏体验。
上述实施例对终端设备侧的第一游戏数据的存储过程进行介绍。下面对终端设备侧存储第一游戏数据、游戏服务器侧存储第二游戏数据的过程进行介绍。
图3为本申请一实施例提供的游戏数据处理方法流程示意图,如图3所示,包括:
S201、终端设备检测目标游戏的当前运行状态。
S202、终端设备当检测到运行状态指示目标游戏在后台的运行时长达到预设时长,和/或检测到运行状态指示关闭目标游戏在后台的运行时,触发存储指令以及获取对象在第一历史时间段内操作目标游戏的第一游戏数据。
S203、终端设备根据存储指令,在第一持久化存储设备中存储第一游戏数据。
在一些实施例中,为了便于描述,将S203中的存储指令记为第一存储指令,该第一存储指令用于对将对象在第一历史时间段内在终端设备侧的第一游戏数据进行存储。例如,对第一游戏数据进行序列化、加密等处理后,存入第一持久化存储设备中。
需要说明的是,上述S201至S203的具体实现过程参照上述S101至S103的具体描述,在此不再赘述。
下面S204至S207可以理解为游戏服务器将对象在第一历史时间段内时在游戏服务器侧的第二游戏数据,存入第二持久化存储设备的过程。
S204、终端设备当检测到运行状态指示目标游戏在后台的运行时长达到预设时长,和/或检测到运行状态指示关闭目标游戏在后台的运行时,向游戏服务器发送存储请求。
其中,存储请求用于指示游戏服务器将对象在第一历史时间段内操作目标游戏的第二游戏数据存储至第二持久化存储设备中。其中,第二游戏数据可以理解为对象在第一历史时间段内操作目标游戏时在游戏服务器侧所缓存的游戏数据,例如包括各种设置信息、对局的数据等等。
需要说明的是,上述S204与上述S202在具体执行时没有先后顺序之分,例如S204可以在上述S202之后执行,也可以在S202之前执行,或者与S202同步执行,本申请实施例对此不作限制。
在一些实施例中,若上述S204与上述S202同步执行时,则上述存储请求可以为终端设备触发存储指令时发送的。例如,终端设备当检测到目标游戏的当前运行状态指示目标游戏在后台的运行时长达到预设时长,和/或检测到运行状态指示关闭目标游戏在后台的运行时,触发存储指令的同时,向游戏服务器发送存储请求。
在本申请实施例中,终端设备若检测到游戏进程切换至后台,且目标游戏在后台的运行时长达到预设时长,和/或检测到关闭目标游戏在后台的运行的操作时,不仅将对象在第一历史时间段内时在终端设备侧的第一游戏数据存入第一持久化存储设备中。同时,指示游戏服务器将对象在第一历史时间段内时在游戏服务器侧的第二游戏数据存入第二持久化存储设备中。
本申请实施例对上述数据请求的具体表示形式不做限制。
在一些实施例中,上述存储请求中包括第二登录令牌。也就是说,终端设备还将对象在第一历史时间段内的第二登录令牌发送给游戏服务器,以使游戏服务器在目标游戏的下一次启动时,基于该第二登录令牌进行对象身份校验,避免身份盗用等异常情况。
S205、游戏服务器基于存储请求,触发存储指令以及获取对象在第一历史时间段内操作目标游戏的第二游戏数据。
上述第二游戏数据为对象在第一历史时间段内操作该目标游戏时,在游戏服务器侧缓存的游戏数据。
本申请实施例对第二游戏数据的具体类型不做限制。
在本申请实施例中,游戏服务器的数据存储逻辑和终端设备(即游戏客户端)的数据存储逻辑类似,对游戏服务器的缓存数据进行分类,区分为第一类型数据和第二类型数据。
其中,第一类型数据为与其他游戏参与者无关的游戏数据,例如对象的游戏进度、相关设置等等。该类型数据可以直接进行持久化存储。
第二类型数据为与其他游戏参与者有关的游戏数据,例如对象在目标游戏中的全局排名、对局的数据等等。该类型数据由于会发生变化,因此不能直接进行存储,但是为了便于下一次的快速加载,则游戏服务器保存该类型游戏数据的索引信息。
在一些实施例中,本申请实施例的对象的第二类型数据包括第二游戏过程数据,其中第二游戏过程数据对象的游戏过程数据中与其他游戏参与者有关的游戏过程数据。
基于此,本申请实施例的第二游戏数据包括第一类型数据和第二游戏过程数据的索引信息。
在本申请实施例中,若第二游戏数据包括第一类型数据和第二游戏过程数据的索引信息时,则游戏服务器获取第二游戏数据的过程可以包括:游戏服务器从游戏服务器缓存的对象在第一历史时间段内操作目标游戏的游戏数据中,获取第一类型数据,以及第二游戏过程数据。接着,确定第二游戏过程数据的索引信息,其中确定第二游戏过程数据的索引信息的具体方式与上述确定静态资源的索引信息的方式基本一致,参照即可。最后,将第二游戏过程数据的索引信息,以及第一类型数据,确定为第二游戏数据。
S207、游戏服务器将第二游戏数据,存储至第二持久化存储设备中。
在一些实施例中,上述存储请求中包括第一网络连接令牌。也就是说,终端设备基于终端设备与游戏服务器在第一历史时间段内的网络连接信息,生成第一网络连接令牌,将该第一网络连接令牌携带在存储请求中发送给游戏服务器,以使游戏服务器基于该第一网络连接令牌,将第二游戏数据存储至第二持久化存储设备中。
其中,第一网络连接令牌是终端设备在第一历史时间,基于终端设备与游戏服务器之间的网络连接信息生成的。也就是说,终端设备基于终端设备与游戏服务器在第一历史时间段内的网络连接信息,生成第一网络连接令牌。例如,终端设备通过预设的策略,基于终端设备与游戏服务器在第一历史时间段内的网络连接信息,生成第一网络连接令牌。
可选地,终端设备与游戏服务器在第一历史时间段内的网络连接信息包括:终端设备的IP地址、游戏服务器的IP地址、游戏服务器的端口信息、对象账户、以及终端设备的唯一标识等信息中的至少一个。
也就是说,终端设备在第一历史时间,基于终端设备的IP地址、游戏服务器的IP地址、游戏服务器的端口信息、对象账户、以及终端设备的唯一标识等信息中的至少一个,生成唯一的第一网络连接令牌。一方面,终端设备对生成的第一网络连接令牌进行保存,可选地,终端设备将该第一网络连接令牌序列化、持久化存储在第一持久化存储设备中。另一方面,终端设备将该第一网络连接令牌发送给游戏服务器。这样,游戏服务器基于该第一网络连接令牌,将对象在第一历史时间时在服务器侧的第二游戏数据,存入第二持久化存储设备中。例如,游戏服务器以该第一网络连接令牌为索引,将对象在第一历史时间时在服务器侧的第二游戏数据,存入第二持久化存储设备中。
在一些实施例中,上述存储请求中还包括第二登录令牌,此时,上述S207包括如下步骤:
S207-A、游戏服务器基于第一登录令牌和第一网络连接令牌,将对象在第一历史时间段内的第二游戏数据,存储至第二持久化存储设备中。
本申请实施例对服务器基于第一登录令牌和第一网络连接令牌,将对象在第一历史时间段内的第二游戏数据,存储至第二持久化存储设备中的具体过程不做限制。
在一些实施例中,游戏服务器保存第二登录令牌和第一网络连接令牌,且以第一网络连接令牌为索引,将对象在第一历史时间段内的第二游戏数据,存储至第二持久化存储设备中。这样在对象下一次登录目标游戏时,则游戏服务器可以基于该第二登录令牌,完成对象的身份认证。接着,基于第一网络连接令牌,从第二持久化存储设备中加载对象在第一历史时间段内的第二游戏数据。
在一些实施例中,上述S207A包括如下S207-A1和S207-A2的步骤:
S207-A1、游戏服务器对第一登录令牌和第一网络连接令牌进行检验;
S207-A2、若第一登录令牌和第一网络连接令牌检验合格时,游戏服务器以第一网络连接令牌为索引,将对象在第一历史时间段内的第二游戏数据,存储至第二持久化存储设备中。
在该实现方式中,游戏服务器对第一登录令牌和第一网络连接令牌进行检验,例如对第一登录令牌和第一网络连接令牌进行合法性和一致性校验。若第一登录令牌和第一网络连接令牌检验合格时,游戏服务器以第一网络连接令牌为索引,将对象在第一历史时间段内的第二游戏数据,存储至第二持久化存储设备中。
若第一登录令牌和第一网络连接令牌检验不合格时,游戏服务器直接删除游戏服务器所缓存的对象在第一历史时间段内的游戏数据。
下面对游戏服务器以第一网络连接令牌为索引,将对象在第一历史时间段内的第二游戏数据,存储至第二持久化存储设备中的具体过程进行介绍。
在一些实施例中,若上述第二游戏数据为第一类型数据时,则游戏服务器将对象在第一历史时间段内的第一类型数据序列化后,存储在第二持久化存储设备中。该第一类型数据为与其他游戏参与者无关的游戏数据,例如为对象的游戏进度等。
若第二游戏数据为第二类型数据时,则将第二类型数据的索引信息,存储在第二持久化存储设备中。第二类型数据为与其他游戏参与者相关的游戏数据,包括第二游戏过程数据,例如对象在目标游戏中的全局排名等。
在本申请实施例中,游戏服务器基于上述步骤,将对象在第一历史时间段内的第二游戏数据存入第二持久化存储设备中后,清除对象在第一历史时间段内时在游戏服务器侧的游戏数据中不能保存的游戏数据。
在一些实施例中,若对象在第一历史时间段内操作目标游戏的游戏数据缓存在游戏服务器的内存中,此时游戏服务器在检测到游戏服务器将对象在第一历史时间段内的第二游戏数据,存储至第二持久化存储设备时,删除游戏服务器的内存中所缓存的,对象在第一历史时间段内时在游戏服务器侧的游戏数据,并释放删除游戏数据的内存。
S208、终端设备关闭游戏进程。
在一些实施例中,终端设备存储第一游戏数据和游戏服务器存储第二游戏数据的过程为两个互不干涉的过程。此时,终端设备可以在上述S203之后,即在检测到终端设备将对象在第一历史时间段内的第一游戏数据,存储至第一持久化存储设备时,关闭游戏进程。
在一些实施例中,终端设备存储第一游戏数据和游戏服务器存储第二游戏数据的过程为两个干涉的过程。此时,本申请实施例的数据存储方法,具体包括:终端设备和游戏服务器执行上述S204至S207的步骤,游戏服务器将对象在第一历史时间段内的第二游戏数据存入第二持久化存储设备中后,向终端设备发送存储成功的消息。终端设备在接收到该存储成功的消息后,执行上述S201至S203的步骤,即终端设备将对象在第一历史时间段内的第一游戏数据存入第一持久化存储设备中。最后,终端设备执行上述S208的步骤,即终端设备在检测到终端设备将对象在第一历史时间段内的第一游戏数据,存储至第一持久化存储设备时,关闭游戏进程。
为了进一步阐述本申请实施例的游戏数据存储过程,下面结合图4,对本申请实施例的游戏数据存储过程做进一步说明。
步骤B1、对象将目标游戏切换至后台。
步骤B2、终端设备对目标游戏的当前运行状态进行检测。
步骤B3、当检测到运行状态指示目标游戏在后台的运行时长达到预设时长,和/或检测到运行状态指示关闭目标游戏在后台的运行时,触发存储指令以及获取对象在第一历史时间段内操作目标游戏的第一游戏数据,并基于第一登录令牌,将对象在第一历史时间段内的第一游戏数据,存储至第一持久化存储设备中。
步骤B4、终端设备基于终端设备与游戏服务器在第一历史时间段内的网络连接信息,生成第一网络连接令牌,并将第一登录令牌和第一网络连接令牌发送给游戏服务器。
步骤B5、游戏服务器对第一登录令牌和第一网络连接令牌进行检验。
步骤B6、若第一登录令牌和第一网络连接令牌检验通过后,游戏服务器将对象在第一历史时间段内的第二游戏数据,存储至第二持久化存储设备中。
步骤B7、游戏服务器清除不能存储的数据。
步骤B8、游戏服务器向终端设备发送数据存储成功的消息。
步骤B9、终端设备退出游戏。
其中,上述步骤B1至步骤B9的具体描述,参照上述实施例的相关描述,在此不再赘述。
在一些实施例中,在终端设备和游戏服务器将第一游戏数据和第二游戏数据持久化存储后,针对网络链接的快速恢复,可以将游戏客户端和游戏服务器的网络连接托管给终端设备的操作系统。由终端设备的操作系统定时发心跳包给游戏服务器,确保游戏客户端和游戏服务器之间的网络连接始终保持活跃。这样当对象重新进入目标游戏时,不需要再重新建立网络连接,恢复游戏状态的时间能够进一步缩短,同时也不会增加太多系统资源消耗。
本申请实施例的游戏启动方法,在游戏数据的存储过程中,终端设备检测目标游戏的当前运行状态;当检测到运行状态指示目标游戏在后台的运行时长达到预设时长,和/或检测到运行状态指示关闭目标游戏在后台的运行时,确定对象在第一历史时间段内的第一游戏数据,基于第一登录令牌,将对象在第一历史时间段内的第一游戏数据,存储至第一持久化存储设备中。同时,终端设备向游戏服务器发送存储请求,这样游戏服务器基于存储请求,将对象在第一历史时间段内的第二游戏数据,存储至第二持久化存储设备中,最后终端设备关闭游戏进程。也就是说,本申请实施例在目标游戏切换至后台时,终端设备和游戏服务器将对象在第一历史时间段内的游戏数据进行持久化存储,这样在下一次游戏启动时,可以基于持久化存储的游戏数据实现游戏的快速启动,且可以恢复目标游戏在第一历史时间段内的游戏界面,提升了用户的游戏体验。
上文对本申请实施例涉及的游戏数据处理方法进行介绍。下面对本申请实施例提供的游戏启动方法进行介绍。
图5为本申请一实施例提供的游戏启动方法的流程图。本申请实施例执行主体例如为图1中的终端设备。该终端设备上安装有目标游戏客户端,对象可以通过该目标游戏客户端实现目标游戏的启动。
如图5所示,该方法包括如下步骤:
S301、终端设备响应于对象在目标游戏的登录界面中输入的登录信息,生成第一登录令牌。
由上述可知,在本申请实施例中,为了实现目标游戏的快速启动,则在目标游戏长时间切换至后台,且当目标游戏在后台的运行时长达到预设时长和/或关闭目标游戏在后台的运行时,终端设备将对象在终端设备侧的游戏数据进行持久化存储,即存储在第一持久化存储器中,这样不会额外占用终端设备的内存和计算资源。另外,本申请实施例通过将终端设备侧的游戏数据持久化存储在第一持久化存储器中,可以防止终端设备将后台的目标游戏的游戏进程杀死后,终端设备在下次启动目标游戏时,需要执行一系列加载过程,花费大量时间启动游戏的问题产生。也就是说,终端设备将对象在第一历史时间在终端设备侧的第一游戏数据存储在第一持久化存储设备中,这样不仅不会额外占用终端设备的内存和计算资源,且在下次启动目标游戏时,终端设备通过加载第一持久化存储设备中所存储的对象在第一历史时间段内的第一游戏数据,快速恢复目标游戏在第一历史时间段内的游戏界面,实现了目标游戏的快速启动,且可以使对象进入上一次退出时的游戏界面,进而大大提升了对象的游戏体验。
在本申请实施例的游戏启动过程中,主要包括如下几种情况:
情况1,目标游戏的游戏进程在后台运行,未被终端设备的操作系统杀死。在该情况下,如图6A所示,对象触发终端设备上的目标游戏的客户端图标,此时由于目标游戏的游戏进程在后台运行,这样终端设备响应于对象对目标游戏的客户端图标的触发操作,直接进入目标游戏。
情况2,目标游戏的游戏进程被操作系统杀死。在该情况下,如图6B所示,对象触发终端设备上的目标游戏的客户端图标,此时由于目标游戏的游戏进程被终端设备的操作系统杀死,终端设备无法直接进入目标游戏。此时,如图6B所示,终端设备显示目标游戏的登录界面。此时,对象可以在该登录界面上输入登录信息,例如对象在该登录界面上输入账户和密码。这样,终端设备响应于对象在登录界面上输入的登录信息,生成登录令牌,为了便于描述,将该登录令牌记为第一登录令牌。
本申请实施例对终端设备基于对象输入的登录信息,生成第一登录令牌的具体方式不做限制。例如,终端设备根据预设的登录令牌的生成算法,基于对象输入的登录信息生成第一登录令牌。
S302、终端设备基于第一登录令牌,从第一持久化存储设备中,获取对象在第一历史时间段内的第一游戏数据。
其中,第一游戏数据为该第一游戏数据为当目标游戏在后台的运行时长达到预设时长和/或关闭目标游戏在后台的运行时,基于触发存储指令而存储的对象在第一历史时间段内操作目标游戏的数据。
其中,第一历史时间段为对象在上一次启动目标游戏的起始时间点到接收到存储指令的时间点之间的时间段。
在一些实施例中,终端设备在将对象在第一历史时间段内的第一游戏数据存入第一持久化存储设备的同时,对对象在第一历史时间段内的第二登录令牌也进行存储。这样,在本次启动目标游戏时,终端设备基于上述步骤,确定出第一登录令牌后,将该第一登录令牌与终端设备保存的对象在第一历史时间段内的第二登录令牌进行比较,以对该对象进行验证。例如,若该第一登录令牌与终端设备保存的对象在第一历史时间段内的第二登录令牌一致时,则确定该对象验证通过,进而执行本申请实施例后续提供的游戏启动操作。若该第一登录令牌与终端设备保存的对象在第一历史时间段内的第二登录令牌不一致时,则确定该对象验证不通过,进而不执行本申请实施例的后续游戏启动操作,而是显示登录失败。
这样,对于情况1,对象在本次和上一次使用相同的终端设备进行游戏时,由于终端设备生成的第一登录令牌,与终端设备保存的第二登录令牌一致。此时,终端设备可以执行上述S302的步骤,可以基于该第一登录令牌,从第一持久化存储设备中,获取对象在第一历史时间段内的第一游戏数据。
对于情况2,对象在本次进入目标游戏所使用的终端设备1与上一次进入目标游戏所使用的终端设备2不一致时,在本次启动游戏时,终端设备1中没有保存对象在第一历史时间段内的第二登录令牌。此时,终端设备1无法从终端设备1处获得对象在第一历史时间段内的第二登录令牌,进而无法从终端设备1侧获得对象在第一历史时间段内的第一游戏数据。此时,在一些实施例中,游戏服务器直接删除该对象在游戏服务器侧保存的游戏数据。
在一些实施例中,终端设备在将对象在第一历史时间段内的第一游戏数据存入第一持久化存储设备时,以对象在第一历史时间段内的第二登录令牌为索引。这样,在本次启动目标游戏时,终端设备基于上述步骤,确定出对象的第一登录令牌后,基于该第一登录令牌,查询第一持久化存储器中是否存储有对象在第一历史时间段内的第一游戏数据。
若终端设备基于第一登录令牌,确定第一持久化存储器中存储有对象在第一历史时间段内的第一游戏数据时,则从第一持久化存储器中,获取该对象在第一历史时间段内的第一历史数据。接着,终端设备执行如下S303的步骤。
若终端设备基于第一登录令牌,确定第一持久化存储器中未存储对象在第一历史时间段内的第一游戏数据时,则采用已有的常规登录方法,进入游戏。例如,终端设备将第一登录令牌发送给游戏服务器,该游戏服务器基于该第一登录令牌,进行账户认证,且在账户认证通过后,加载目标游戏启动相关的游戏资源数据,并将启动相关的游戏资源数据发送给终端设备进行加载显示,完成目标游戏的启动。
在一些实施例中,终端设备在基于第一登录令牌,从第一持久化存储设备中,获取对象在第一历史时间段内的第一游戏数据之前,判断该第一持久化存储设备中所存储的第一游戏数据,是否为对象在第一历史时间段内的第一游戏数据。
若终端设备判断该第一持久化存储设备中所存储的第一游戏数据,为对象在第一历史时间段内的第一游戏数据时,则执行上述S302的步骤,即基于第一登录令牌,从第一持久化存储设备中,获取对象在第一历史时间段内的第一游戏数据。
若终端设备判断该第一持久化存储设备中所存储的第一游戏数据,不是对象在第一历史时间段内的第一游戏数据时,则跳过执行上述S302的步骤。而是,基于已有的常规游戏启动方法,启动目标游戏,例如终端设备将第一登录令牌发送给游戏服务器,该游戏服务器基于该第一登录令牌,进行账户认证,且在账户认证通过后,加载目标游戏启动相关的游戏资源数据,并将启动相关的游戏资源数据发送给终端设备进行加载显示,完成目标游戏的启动。
本申请实施例对终端设备判断第一持久化存储设备所存储的第一游戏数据,是否为对象在第一历史时间段内的第一游戏数据的具体方式不做限制。
在一些实施例中,终端设备通过如下步骤11至步骤13,确定第一持久化存储设备所存储的第一游戏数据,是否为对象在第一历史时间段内的第一游戏数据:
步骤11、终端设备从游戏服务器处获取对象上一次退出目标游戏的第一时间信息;
步骤12、终端设备获取第一持久化存储设备存储第一游戏数据的第二时间信息;
步骤13、终端设备基于第一时间信息和第二时间信息,确定第一持久化存储设备所存储的第一游戏数据,是否为对象在第一历史时间段内的第一游戏数据。
具体的,在本申请实施例中,游戏服务器记录每一次对象退出目标游戏的时间信息。这样,终端设备在基于上述步骤,生成第一登录令牌后,从游戏服务器中读取对象上一次退出目标游戏的时间信息,将该时间信息记为第一时间信息。同时,终端设备获取当前第一持久化存储设备存储该第一游戏数据的存储时间信息,将该存储时间信息记为第二时间信息。接着,终端设备将从游戏服务器获得的第一时间信息,与上述该第二时间进行比较,判断第一持久化存储设备所存储的第一游戏数据,是否为对象在第一历史时间段内的第一游戏数据。
例如,若上述第一时间信息与上述该第二时间一致,或者两者之间的时间差较小,例如小于第一预设值时,则确定该第一持久化存储设备所存储的第一游戏数据,为对象在第一历史时间段内的第一游戏数据。此时,终端设备执行上述S102的步骤。
再例如,若上述第一时间信息与上述该第二时间不一致,或者两者之间的时间差较大,例如大于第二预设值时,则确定该第一持久化存储设备所存储的第一游戏数据,不是对象在第一历史时间段内的第一游戏数据。此时,终端设备跳过执行上述S302的步骤,而是采用已有的常规游戏启动方法,启动目标游戏。
在一些实施例中,终端设备在基于第一登录令牌,从第一持久化存储设备中,获取对象在第一历史时间段内的第一游戏数据之前,还需要判断该第一持久化存储设备中所存的第一游戏数据是否完整。也就是说,终端设备还需要对第一持久化存储设备中所存的第一游戏数据进行完整性验证。本申请实施例对终端设备对第一游戏数据进行完整性验证的具体方式不做限制。
在一种可能的实现方式中,终端设备从第一持久化存储设备中获得第一游戏数据的第一哈希值,同时,终端设备基于预设的策略,对第一游戏数据进行相关运算,得到第一游戏数据的第二哈希值。接着,终端设备将第一哈希值与第二哈希值进行比较,以确定第一游戏数据的完整性。
例如,若第一哈希值与第二哈希值一致时,则确定该第一游戏数据完整。此时,终端设备从第一持久化存储设备中读取该对象在第一历史时间段内的第一游戏数据,且执行如下S303的步骤。
再例如,若第一哈希值与第二哈希值不一致时,则确定该第一游戏数据不完整。此时,终端设备跳过执行如下S303的步骤,而是采用已有的常规游戏启动方法,启动目标游戏。
在一些实施例中,终端设备在检测到终端设备基于第一登录令牌,从第一持久化存储设备中,获取对象在第一历史时间段内的第一游戏数据时,则删除该第一持久化存储设备中所存储的第一游戏数据,避免终端设备再次登录时产生数据不一致的问题。
在本申请实施例中,终端设备基于上述步骤,从第一持久化存储设备中,获得对象在第一历史时间段内的第一游戏数据后,执行如下S303的步骤。
S303、终端设备基于对象在第一历史时间段内的第一游戏数据,恢复目标游戏的历史游戏界面。
在本申请实施例中,终端设备基于上述步骤,从第一持久化存储设备中,获得对象在第一历史时间段内的第一游戏数据后,基于对象在第一历史时间段内的第一游戏数据,进行游戏加载,恢复目标游戏的历史游戏界面,完成目标游戏的快速启动。
由上述可知,在一些实施例中,本申请实施例的第一游戏数据包括:静态资源数据的索引信息和第一游戏过程数据中的至少一个。
由于第一游戏过程数据为对象的游戏过程数据中与其他游戏参与者无关的游戏过程数据,比如对象当前使用的道具、加载的服饰等等。这部分数据终端设备在进行存储时,对该第一游戏过程数据持久化存储,例如终端设备将第一游戏过程数据直接存入第一持久化存储设备中。
基于此,在一些实施例中,若对象在第一历史时间段内的第一游戏数据中包括对象在对第一历史时间段内的第一游戏过程数据时,则终端设备直接从第一持久化存储设备中加载该第一游戏数据至内存,从而恢复对象在第一历史时间段内的游戏场景,完成目标游戏的快速启动。
由于上述静态资源数据为与对象无关的固定资源数据,比如各类贴图、静态图片等。对于这类数据,是本地静态资源文件在内存中的缓存数据,因此对象退出游戏时,直接清除掉即可。但为了加快下次加载的速度,避免再按游戏逻辑逐个加载,在本申请实施例中,终端设备可以记录当前已缓存的静态资源数据的索引信息,这样可以对象下次进入游戏时,就能够直接批量加载这些已缓存的资源,提高缓存的命中率。
在一些实施例中,若对象在第一历史时间段内的第一游戏数据包括静态资源数据的索引信息时,则上述S303包括如下S303-A1至S303-A2的步骤:
S303-A1、终端设备基于静态资源数据的索引信息,从终端设备所存储的静态资源文件中,加载对象在第一历史时间段内的静态资源数据;
S303-A2、终端设备基于对象在第一历史时间段内的静态资源数据,恢复目标游戏的历史游戏界面。
其中,目标游戏的历史游戏界面可以理解为在将目标游戏切换至后台时,目标游戏在终端设备上所显示的游戏界面。
具体的,若对象在第一历史时间段内的第一游戏数据包括静态资源数据的索引信息时,则终端设备基于对象的第一登录令牌,从第一持久化存储设备中获取对象在第一历史时间段内的静态资源数据的索引信息。接着,终端设备基于静态资源数据的索引信息,从终端设备所存储的静态资源文件中,加载对象在第一历史时间段内的静态资源数据,进而基于对象在第一历史时间段内的静态资源数据,恢复目标游戏的历史游戏界面。
在一些实施例中,终端设备除了加载对象在第一历史时间段内的第一游戏数据外,还加载其他的数据,完成目标游戏的启动,且恢复目标游戏的历史游戏界面。
本申请实施例提供的游戏启动方法,通过持久化存储对象的游戏状态,从而实现快速启动游戏的目的。具体的,终端设备响应于对象在目标游戏的登录界面中输入的登录信息,生成第一登录令牌。接着,终端设备基于该第一登录令牌,从第一持久化存储设备中,获取对象在第一历史时间段内的第一游戏数据,该第一游戏数据为第一游戏数据为当目标游戏在后台的运行时长达到预设时长和/或关闭目标游戏在后台的运行时,基于触发存储指令而存储的对象在第一历史时间段内操作目标游戏的数据;其中,第一历史时间段为对象在上一次启动目标游戏的起始时间点到接收到存储指令的时间点之间的时间段。最后,终端设备基于对象在第一历史时间段内的第一游戏数据,恢复目标游戏的历史游戏界面。由上述可知,本申请实施例在第一历史时间对象退出游戏时,终端设备将对象在第一历史时间在终端设备侧的第一游戏数据存储在第一持久化存储设备中,不会额外占用终端设备的内存和计算资源。这样在下次启动目标游戏时,通过加载第一持久化存储设备中所存储的对象在第一历史时间段内的第一游戏数据,快速恢复目标游戏的历史游戏界面,不仅实现了目标游戏的快速启动,且可以使对象进入上一次退出时的游戏界面,进而大大提升了对象的游戏体验。
上述实施例对基于终端设备侧持久化存储的第一游戏数据,完成游戏启动的过程进行介绍。在一些实施例中,游戏服务器将对象在第一历史时间在游戏服务器侧的第二游戏数据进行持久化存储。此时,本申请实施例的游戏启动方法,如图7所示。
图7为本申请一实施例提供的游戏启动方法的流程图。如图4所示,本申请实施例的包括如下步骤:
S401、终端设备响应于对象在目标游戏的登录界面中输入的登录信息,生成第一登录令牌。
上述S401与上述S301的具体实现过程基本一致,参照上述S301的相关描述,在此不再赘述。
S402、终端设备基于第一登录令牌,从第一持久化存储设备中,获取对象在第一历史时间段内的第一游戏数据。
上述S402与上述S302的具体实现过程基本一致,参照上述S302的相关描述,在此不再赘述。
上述S401和S402可以理解为终端设备加载终端设备侧保存的对象在第一历史时间段内的第一游戏数据的过程。
S403、终端设备向游戏服务器发送数据读取请求。
其中,数据读取请求用于读取第二游戏数据,第二游戏数据是所述对象在所述第一历史时间段内操作所述目标游戏时在所述游戏服务器侧的游戏数据。
需要说明的是,上述S403与上述S402在具体实现上没有先后顺序之分,也就是说,S403可以在上述S402之后执行,或者在上述S402之前执行,或者与上述S402同步执行,本申请实施例对此不做限制。
在本申请实施例中,终端设备在将数据读取请求发送给游戏服务器之前,首先需要与游戏服务器进行网络连接。
本申请实施例对终端设备与游戏服务器进行网络连接的具体方式不做限制。
在一些实施例中,终端设备为了实现与游戏服务器的快速网络连接,则终端设备对游戏服务器的网络地址进行存储。例如,终端设备在第一历史时间时保存游戏服务器的网络地址。这样,终端设备需要再次与游戏服务器建立网络连接时,则终端设备获取游戏服务器的网络地址,并基于该网络地址,与游戏服务器建立通信连接。例如,终端设备基于本地存储的游戏服务器的网络地址(即IP地址)、端口信息以及终端设备本地的IP地址,与游戏服务器快速建立网络连接。最后通过该通信连接,将上述数据读取请求发送给游戏服务器。
在一些实施例中,如果终端设备与游戏服务器在网络连接失败时,(比如游戏服务器维护,该IP下线或者被替换),则终端设备重新根据游戏客户端的配置,确定新的游戏服务器地址,例如通过DNS解析,也可能是本地的配置文件,得到新的游戏服务器的地址。这样,终端设备可以基于新的游戏服务器的地址,与新的游戏服务器建立通信连接,且采用已有的常规游戏启动方法进行游戏启动。
S404、游戏服务器基于数据读取请求,从第二持久化存储设备中,获得第二游戏数据。
需要说明的是,在本申请实施例中,在第一历史时间,不仅终端设备将对象在第一历史时间段内在终端设备侧的第一游戏数据持久化的存入第一持久化存储设备中。同时,游戏服务器将对象在第一历史时间段内在游戏服务器侧的第二游戏数据持久化的存入第二持久化存储设备中。
这样,游戏服务器接收到终端设备发送的数据读取请求时,则基于数据读取请求,从第二持久化存储设备中,获得第二游戏数据。
S405、游戏服务器将所述第二游戏数据发送给所述终端设备。
由上述可知,本申请实施例的游戏服务器侧的游戏数据包括第一类型数据(即可存储的数据)和第二类型数据(即不可存储的数据,例如第二游戏过程数据)。
游戏服务器在进行游戏数据存储时,对于可以直接存储的第一类型数据,将该第一类型数据直接进行持久化存储。例如,对第一类型数据进行序列化后,直接进行永久性存储。而对于不可以直接存储的第二类型数据,为了便于数据的加载,则存储第二类型数据的索引信息。
基于此,在一些实施例中,若对象在第一历史时间段内的第二游戏数据中包括第一类型数据时,则游戏服务器直接从第二持久化存储设备中,读取该第一类型数据。
在一些实施例中,若本申请实施例中对象在第一历史时间段内的第二游戏数据包括对象在第一历史时间段内的第二类型数据的索引信息,例如包括第二游戏过程数据的索引信息,该第二游戏过程数据为对象的游戏过程数据中与其他游戏参与者相关的游戏过程数据。此时,上述S405包括如下S405-A1和S405-A2的步骤:
S405-A1、游戏服务器基于第二游戏过程数据的索引信息,加载第二游戏过程数据;
S405-A2、游戏服务器将第二游戏过程数据发送给终端设备。
具体的,若对象在第一历史时间段内的第二游戏数据包括第二游戏过程数据的索引信息时,则游戏服务器基于第一网络连接令牌,从第二持久化存储设备中获取对象在第一历史时间段内的第二游戏过程数据的索引信息。接着,游戏服务器基于第二游戏过程数据的索引信息,在线加载对象在当前时刻的第二游戏过程数据(例如对象在当前时刻在目标游戏中的全局排名)。接着,将该第二游戏过程数据发送给终端设备。
在一些实施例中,若游戏服务器以第一网络连接令牌为索引,将第二游戏数据存储在第二持久化存储设备中。此时,游戏服务器可以基于当前时刻终端设备与游戏服务器之间的网络连接信息,生成第一网络连接令牌。其中,基于当前时刻终端设备与游戏服务器之间的网络连接信息,生成第一网络连接令牌的具体过程,可以参照上述终端设备基于当前时刻终端设备与游戏服务器之间的网络连接信息,生成第一网络连接令牌的具体描述,在此不再赘述。接着,游戏服务器基于第一网络连接令牌,从第二持久化存储设备中获取第二游戏数据。
在一些实施例中,终端设备发送的数据读取请求中包括第一网络连接令牌,第一网络连接令牌是所述终端设备基于所述终端设备与游戏服务器在所述第一历史时间段的网络连接信息生成的。也就是说,在本申请实施例中,终端设备基于第一登录令牌,获取第一登录令牌对应的第一网络连接令牌。接着,将该第一登录令牌,携带在数据发送指令中。这样,游戏服务器基于所述第一网络连接令牌,从所述第二持久化存储设备所存储的游戏数据中,查找以所述第一网络连接令牌为索引的游戏数据,作为所述第二游戏数据。
在一些实施例中,本申请实施例的数据读取请求中只包括第一网络连接令牌。这样,游戏服务器可以基于该第一网络连接令牌,从第二持久化存储设备中读取对象在第一历史时间时在游戏服务器侧的第二游戏数据。
在一些实施例中,本申请实施例的数据读取请求中包括第一网络连接令牌和第一登录令牌。这样,游戏服务器可以首先对第一登录令牌进行验证,对第一登录令牌的合法性和一致性进行验证。在第一登录令牌验证通过后,基于该第一网络连接令牌,从第二持久化存储设备中读取对象在第一历史时间时在游戏服务器侧的第二游戏数据。
在一些实施例中,终端设备将第一登录令牌和第一网络连接令牌同时发送给游戏服务器。这样,游戏服务器首先基于该第一登录令牌,快速查询到该第一登录令牌对应的至少一个游戏数据。接着,游戏服务器基于第一网络连接令牌,从第一登录令牌对应的至少一个游戏数据中,查询对象在第一历史时间段内的第二游戏数据,实现对第二游戏数据的快速加载,进一步提升游戏的启动速度。可选地,游戏服务器还可以基于对第一登录令牌,对对象进行快速身份验证,例如将该第一登录令牌与保存的登录令牌(例如第二登录令牌)进行比较,若两者一致,则说明身份验证通过,否则,身份验证不通过。在对象身份验证通过后,基于第一网络连接令牌,从游戏服务器所保存的不同对象的游戏数据中,查询对象在第一历史时间段内的第二游戏数据。
在一些实施例中,在本申请实施例中,游戏服务器在保存第二游戏数据时,以第一网络连接令牌为索引进行保存。基于此,在本申请实施例中,游戏服务器接收到终端设备发送的第一网络连接令牌后,基于第一网络连接令牌,从第二持久化存储设备所缓存的游戏数据中,查找以第一网络连接令牌为索引的游戏数据,作为对象在第一历史时间段内的第二游戏数据。
在一些实施例中,若第二持久化存储设备中没有存储对象对应的游戏数据,或者,第二持久化存储设备中所存储的游戏数据的网络连接令牌与第一网络连接令牌不匹配时,则游戏服务器直接进入普通加载流程。
在一些实施例中,若基于第一网络连接令牌,在第二持久化存储设备中未查询到与第一网络连接令牌匹配的第二游戏数据时,则删除第二持久化存储设备中对象的游戏数据。
在一些实施例中,服务器加载其他信息,例如加载对象的其他环境信息。
S407、终端设备基于对象在第一历史时间段内的第一游戏数据和第二游戏数据,恢复目标游戏的历史游戏界面。
在本申请实施例中,游戏服务器基于上述步骤,得到对象在第一历史时间段内的第二游戏数据后,将该第二游戏数据发送给终端设备。这样,终端设备基于终端设备从第一持久化存储设备中获得的对象在第一历史时间段内的第一游戏数据,以及基于游戏服务器从第二持久化存储设备中得到的对象在第一历史时间段内的第二游戏数据,进行目标游戏的起点,不仅实现目标游戏的快速启动,且可以恢复对象上一次提出目标游戏时的游戏界面,进而提升了游戏启动的用户体验。
在一些实施例中,游戏服务器在检测到已经将对象在第一历史时间段内的第二游戏数据发送给终端设备时,删除第二持久化存储设备中对象的游戏数据。
为了进一步阐述本申请实施例的游戏启动方法,下面结合图8,对本申请实施例的游戏启动过程做进一步说明。
步骤A1、对象触发终端设备中安装的目标游戏的客户端图标,请求开始游戏。
步骤A2、终端设备响应于对象对目标游戏的客户端图像的触发操作,显示登录界面。
步骤A3、终端设备基于对象在登录界面中输入的登录信息,生成第一登录令牌。
步骤A4、终端设备基于该第一登录令牌,判断第一持久化存储设备中是否存储对象在第一历史时间段内的第一游戏数据。
步骤A5、若第一持久化存储设备中存储有对象在第一历史时间段内的第一游戏数据,则终端设备加载第一持久化存储设备中的第一游戏数据。
上述步骤A1至步骤A45可以理解为终端设备加载对象在第一历史时间段内的第一游戏数据的过程。
其中,上述步骤A1至步骤A5具体实现过程可以参照上述实施例的相关描述,在此不再赘述。
步骤A6、终端设备基于第一登录令牌,获取第一网络连接令牌,并将第一网络连接令牌发送给游戏服务器。此时,可以理解为数据读取指令中包括第一网络连接令牌。
步骤A7、游戏服务器基于该第一网络连接令牌,判断第二持久化存储设备中是否保存有对象在第二历史时间的第二游戏数据。
步骤A8、若第二持久化存储设备中保存有对象在第二历史时间的第二游戏数据,则游戏服务器从第二持久化存储设备中,加载第二游戏数据。
步骤A9、游戏服务器加载其他信息。
步骤A10、游戏服务器将加载的游戏数据,发送给终端设备。
其中,上述加载的游戏数据中包括第二游戏数据。
上述步骤A6至步骤A10可以理解为游戏服务器加载第二游戏数据的过程。
其中,上述步骤A6至步骤A10具体实现过程可以参照上述实施例的相关描述,在此不再赘述。
步骤A11、终端设备基于第一游戏数据和第二游戏数据,进入目标游戏。
在一些实施例中,若上述步骤A4中,终端设备基于该第一登录令牌,判断第一持久化存储设备中不存储对象在第一历史时间段内的第一游戏数据时,则执行如下步骤A12至步骤A14的过程。
在一些实施例中,若上述步骤A7中,游戏服务器基于该第一网络连接令牌,判断第二持久化存储设备中不保存有对象在第二历史时间的第二游戏数据时,则执行如下步骤A13和步骤A14的过程。
步骤A12、终端设备进行普通登录。
步骤A13、游戏服务器进行普通加载。
步骤A14、对象正常进行游戏。
需要说明的是,在本申请实施例中,若终端设备检测到目标游戏切换至后台时,则执行上述数据存储方法,对对象本次操作目标游戏时的游戏数据进行存储。数据的存储过程可以参照上述相关实施例的具体描述,在此不再赘述。
本申请实施例提供的游戏启动方法,终端设备响应于对象在目标游戏的登录界面中输入的登录信息,生成第一登录令牌。接着,终端设备基于该第一登录令牌,从第一持久化存储设备中,获取对象在第一历史时间段内的第一游戏数据,该第一游戏数据为当所述目标游戏在后台的运行时长达到预设时长和/或关闭所述目标游戏在所述后台的运行时,基于触发存储指令而存储的所述对象在第一历史时间段内操作所述目标游戏的数据;其中,所述第一历史时间段为所述对象在上一次启动所述目标游戏的起始时间点到接收到所述存储指令的时间点之间的时间段;基于对象在第一历史时间段内的第一游戏数据,恢复目标游戏的历史游戏界面。同时,终端设备将数据读取请求发送给游戏服务器。游戏服务器基于该数据读取请求,从第二持久化存储设备中,得到对象在第一历史时间段内的第二游戏数据,并将该第二游戏数据发送给终端设备。这样,终端设备基于对象在第一历史时间段内的第一游戏数据和第二游戏数据,恢复目标游戏的历史游戏界面。由上述可知,本申请实施例在第一历史时间对象退出游戏时,终端设备将对象在第一历史时间在终端设备侧的第一游戏数据存储在第一持久化存储设备中,不会额外占用终端设备的内存和计算资源。这样在下次启动目标游戏时,通过加载对象在第一历史时间段内的第一游戏数据和第二游戏数据,快速恢复目标游戏的历史游戏界面,不仅实现了目标游戏的快速启动,且可以使对象进入上一次退出时的游戏界面,进而大大提升了对象的游戏体验。
上文结合图2至图8,详细描述了本申请的游戏数据处理及游戏启动方法实施例,下文结合图9和图12,详细描述本申请的装置实施例。
图9是本申请一实施例提供的游戏数据处理装置的示意性框图。该装置10可以应用于终端设备。
如图9所示,游戏数据处理装置10包括:
检测单元11,用于检测目标游戏的当前运行状态;
获取单元12,用于当检测到所述运行状态指示所述目标游戏在后台的运行时长达到预设时长,和/或检测到所述运行状态指示关闭所述目标游戏在所述后台的运行时,触发存储指令以及获取对象在第一历史时间段内操作所述目标游戏的第一游戏数据;其中,所述第一历史时间段为所述对象在上一次启动所述目标游戏的起始时间点到接收到所述存储指令的时间点之间的时间段;
存储单元13,用于根据所述存储指令,在第一持久化存储设备中存储所述第一游戏数据。
在一些实施例中,所述第一游戏数据包括如下至少一种:静态资源数据的索引信息和第一游戏过程数据,所述静态资源数据为与所述对象无关的固定资源数据,所述第一游戏过程数据为所述对象的游戏过程数据中与其他游戏参与者无关的游戏过程数据;若所述第一游戏数据包括所述静态资源数据的索引信息和第一游戏过程数据时,则获取单元123,具体用于从所述终端设备缓存的所述对象在所述第一历史时间段内操作所述目标游戏的游戏数据中,获取所述静态资源数据,以及所述第一游戏过程数据;确定所述静态资源数据的索引信息;将所述静态资源数据的索引信息,以及所述第一游戏过程数据,确定为所述第一游戏数据。
在一些实施例中,若所述对象在第一历史时间段内操作所述目标游戏的游戏数据缓存在所述终端设备的内存中时,则检测单元11,还用于在检测到已经将所述第一游戏数据,存储至所述第一持久化存储设备时,删除所述终端设备的内存中所缓存的所述对象在所述第一历史时间段内的游戏数据,并释放删除了所述游戏数据的内存,以及关闭在所述后台运行的所述目标游戏的游戏进程,并释放所述游戏进程对应的内存和计算资源。
在一些实施例中,检测单元11,还用于当检测到所述运行状态指示所述目标游戏在后台的运行时长达到所述预设时长,和/或检测到所述运行状态指示关闭所述目标游戏在所述后台的运行时,向游戏服务器发送存储请求,所述存储请求用于指示游戏服务器将所述对象在所述第一历史时间段内操作所述目标游戏的第二游戏数据存储至第二持久化存储设备中。
在一些实施例中,检测单元11,还用于基于所述终端设备与所述游戏服务器在所述第一历史时间段内的网络连接信息,生成第一网络连接令牌;将所述第一网络连接令牌携带在所述存储请求中发送给所述游戏服务器,以使所述游戏服务器基于所述第一网络连接令牌,将所述第二游戏数据存储至第二持久化存储设备中。。
应理解的是,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图9所示的装置可以执行上述终端设备侧的方法实施例,并且装置中的各个模块的前述和其它操作和/或功能分别为了实现上述方法实施例,为了简洁,在此不再赘述。
图10是本申请一实施例提供的游戏数据处理装置的示意性框图。该装置20可以应用于游戏服务器。
如图10所示,游戏数据处理装置10包括:
接收单元21,用于接收终端设备发送的存储请求,所述存储请求是所述终端设备在检测到所述目标游戏的当前运行状态指示所述目标游戏在后台的运行时长达到所述预设时长,和/或检测到所述运行状态指示关闭所述目标游戏在所述后台的运行时发送的;
获取单元22,用于基于所述存储请求,触发存储指令以及获取对象在第一历史时间段内操作所述目标游戏的第二游戏数据,其中,所述第一历史时间段为所述对象在上一次启动所述目标游戏的起始时间点到接收到所述存储指令的时间点之间的时间段;
存储单元23,用于根据所述存储请求,在第二持久化存储设备中存储所述第二游戏数据。
在一些实施例中,所述存储请求包括第一网络连接令牌,所述第一网络连接令牌是基于所述终端设备与游戏服务器在所述第一历史时间段的网络连接信息生成的,存储单元23,具体用于以所述第一网络连接令牌为索引,将所述第二游戏数据存储在所述第二持久化存储设备中。
在一些实施例中,所述第二游戏数据包括如下至少一种:第一类型数据和第二游戏过程数据的索引信息,所述第一类型数据为与其他游戏参与者无关的游戏数据,所述第二游戏过程数据为所述对象的游戏过程数据中与其他游戏参与者有关的游戏过程数据;若所述第二游戏数据包括所述第一类型数据和所述第二游戏过程数据的索引信息时,则获取单元22,具体用于从所述游戏服务器缓存的所述对象在第一历史时间段内操作所述目标游戏的游戏数据中,获取所述第一类型数据,以及所述第二游戏过程数据;确定所述第二游戏过程数据的索引信息;将所述第二游戏过程数据的索引信息,以及所述第一类型数据,确定为所述第二游戏数据。
在一些实施例中,若所述对象在第一历史时间段内操作所述目标游戏的游戏数据缓存在所述游戏服务器的内存中,则存储单元23,还用于在检测到所述第二游戏数据,存储至所述第二持久化存储设备时,删除所述游戏服务器的内存中所缓存的所述对象的游戏数据,并释放所述内存。
应理解的是,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图10所示的装置可以执行上述游戏服务器侧的方法实施例,并且装置中的各个模块的前述和其它操作和/或功能分别为了实现上述方法实施例,为了简洁,在此不再赘述。
图11是本申请一实施例提供的游戏启动装置的示意性框图。该装置30可以应用于终端设备。
如图11所示,游戏启动装置30包括:
生成单元31,用于响应于对象在目标游戏的登录界面中输入的登录信息,生成第一登录令牌;
获取单元32,用于基于所述第一登录令牌,从第一持久化存储设备中,获取所述对象在第一历史时间段内的第一游戏数据,所述第一游戏数据为当所述目标游戏在后台的运行时长达到预设时长和/或关闭所述目标游戏在所述后台的运行时,基于触发存储指令而存储的所述对象在第一历史时间段内操作所述目标游戏的数据;其中,所述第一历史时间段为所述对象在上一次启动所述目标游戏的起始时间点到接收到所述存储指令的时间点之间的时间段;
恢复单元33,用于基于所述对象在第一历史时间段内的第一游戏数据,恢复所述目标游戏的历史游戏界面。
在一些实施例中,所述第一游戏数据包括如下至少一种:静态资源数据的索引信息和第一游戏过程数据,所述静态资源数据为与所述对象无关的固定资源数据,所述第一游戏过程数据为所述对象的游戏过程数据中与其他游戏参与者无关的游戏过程数据;若所述第一游戏数据包括所述静态资源数据的索引信息时,则恢复单元33,具体用于基于所述静态资源数据的索引信息,从所述终端设备所存储的静态资源文件中,加载所述对象在第一历史时间段内的静态资源数据;基于所述对象在第一历史时间段内的静态资源数据,恢复所述目标游戏的历史游戏界面。
在一些实施例中,恢复单元33,还用于向游戏服务器发送数据读取请求,所述数据读取请求用于读取第二游戏数据,所述第二游戏数据是所述对象在所述第一历史时间段内操作所述目标游戏时在所述游戏服务器侧的游戏数据;接收所述游戏服务器从第二持久化存储设备中获得的所述第二游戏数据;基于所述对象在第一历史时间段内的第一游戏数据和第二游戏数据,恢复所述目标游戏的历史游戏界面。
在一些实施例中,所述数据读取请求包括所述终端设备基于所述第一登录令牌从所述终端设备中获取的第一网络连接令牌,所述第一网络连接令牌是基于所述终端设备与游戏服务器在所述第一历史时间段内的网络连接信息生成的,所述第二游戏数据为所述第二持久化存储设备中以所述第一网络连接令牌为索引的游戏数据。
应理解的是,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图11所示的装置可以执行上述终端设备侧的方法实施例,并且装置中的各个模块的前述和其它操作和/或功能分别为了实现上述方法实施例,为了简洁,在此不再赘述。
图12是本申请一实施例提供的游戏启动装置的示意性框图。该装置40可以应用于游戏服务器。
如图12所示,游戏启动装置40包括:
接收单元41,用于接收终端设备发送的数据读取请求,所述数据读取请求是所述终端设备检测到所述运行状态指示所述目标游戏在后台的运行时长达到所述预设时长,和/或检测到所述运行状态指示关闭所述目标游戏在所述后台的运行时发送的,所述数据读取请求用于读取第二游戏数据,所述第二游戏数据是所述对象在所述第一历史时间段内操作所述目标游戏时在所述游戏服务器侧的游戏数据,其中所述第一历史时间段为所述对象在上一次启动所述目标游戏的起始时间点到接收到所述存储指令的时间点之间的时间段;
获取单元42,用于基于所述数据读取请求,从第二持久化存储设备中,获得所述第二游戏数据;
发送单元43,用于将所述第二游戏数据发送给所述终端设备,以使所述终端设备基于第一游戏数据和所述第二游戏数据,恢复所述目标游戏的历史游戏界面,所述第一游戏数据为当所述目标游戏在后台的运行时长达到预设时长和/或关闭所述目标游戏在所述后台的运行时,基于触发存储指令而存储的所述对象在所述第一历史时间段内操作所述目标游戏的数据。
在一些实施例中,所述数据读取请求包括第一网络连接令牌,所述第一网络连接令牌是所述终端设备基于所述终端设备与游戏服务器在所述第一历史时间段的网络连接信息生成的,获取单元42,具体用于基于所述第一网络连接令牌,从所述第二持久化存储设备所存储的游戏数据中,查找以所述第一网络连接令牌为索引的游戏数据,作为所述第二游戏数据。
应理解的是,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图12所示的装置可以执行上述游戏服务器侧的方法实施例,并且装置中的各个模块的前述和其它操作和/或功能分别为了实现上述方法实施例,为了简洁,在此不再赘述。
上文中结合附图从功能模块的角度描述了本申请实施例的装置。应理解,该功能模块可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过硬件和软件模块组合实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。可选地,软件模块可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
图13是本申请实施例提供的电子设备的示意性框图,图13的电子设备可以为上述的终端设备或者为游戏服务器。
如图13所示,该电子设备50可包括:
存储器51和处理器52,该存储器51用于存储计算机程序53,并将该程序代码53传输给该处理器52。换言之,该处理器52可以从存储器51中调用并运行计算机程序53,以实现本申请实施例中的方法。
例如,该处理器52可用于根据该计算机程序53中的指令执行上述方法200中的步骤。
在本申请的一些实施例中,该处理器52可以包括但不限于:
通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等等。
在本申请的一些实施例中,该存储器51包括但不限于:
易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double DataRate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
在本申请的一些实施例中,该计算机程序53可以被分割成一个或多个模块,该一个或者多个模块被存储在该存储器51中,并由该处理器52执行,以完成本申请提供的录制页面的方法。该一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述该计算机程序53在该电子设备中的执行过程。
如图13所示,该电子设备50还可包括:
收发器34,该收发器34可连接至该处理器52或存储器51。
其中,处理器52可以控制该收发器34与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。收发器34可以包括发射机和接收机。收发器34还可以进一步包括天线,天线的数量可以为一个或多个。
应当理解,该电子设备50中的各个组件通过总线系统相连,其中,总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。
根据本申请的一个方面,提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得该计算机能够执行上述方法实施例的方法。或者说,本申请实施例还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述方法实施例的方法。
根据本申请的另一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方法实施例的方法。
换言之,当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例该的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。例如,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以该权利要求的保护范围为准。
Claims (19)
1.一种游戏数据处理方法,其特征在于,所述方法包括:
检测目标游戏的当前运行状态;
当检测到所述运行状态指示所述目标游戏在后台的运行时长达到预设时长,和/或检测到所述运行状态指示关闭所述目标游戏在所述后台的运行时,触发存储指令以及获取对象在第一历史时间段内操作所述目标游戏的第一游戏数据;其中,所述第一历史时间段为所述对象在上一次启动所述目标游戏的起始时间点到接收到所述存储指令的时间点之间的时间段;
根据所述存储指令,在第一持久化存储设备中存储所述第一游戏数据。
2.根据权利要求1所述的方法,其特征在于,所述第一游戏数据包括如下至少一种:静态资源数据的索引信息和第一游戏过程数据,所述静态资源数据为与所述对象无关的固定资源数据,所述第一游戏过程数据为所述对象的游戏过程数据中与其他游戏参与者无关的游戏过程数据;
若所述第一游戏数据包括所述静态资源数据的索引信息和第一游戏过程数据时,则所述获取对象在第一历史时间段内操作所述目标游戏的第一游戏数据,包括:
从终端设备缓存的所述对象在所述第一历史时间段内操作所述目标游戏的游戏数据中,获取所述静态资源数据,以及所述第一游戏过程数据;
确定所述静态资源数据的索引信息;
将所述静态资源数据的索引信息,以及所述第一游戏过程数据,确定为所述第一游戏数据。
3.根据权利要求1所述的方法,其特征在于,若所述对象在第一历史时间段内操作所述目标游戏的游戏数据缓存在终端设备的内存中时,所述方法还包括:
在检测到已经将所述第一游戏数据存储至所述第一持久化存储设备时,删除所述终端设备的内存中所缓存的所述对象在所述第一历史时间段内的游戏数据,并释放删除了所述游戏数据的内存,以及关闭在所述后台运行的所述目标游戏的游戏进程,并释放所述游戏进程对应的内存和计算资源。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于终端设备与游戏服务器在所述第一历史时间段内的网络连接信息,生成第一网络连接令牌;
将所述第一网络连接令牌携带在存储请求中,使得当检测到所述运行状态指示所述目标游戏在后台的运行时长达到所述预设时长,和/或检测到所述运行状态指示关闭所述目标游戏在所述后台的运行时,向所述游戏服务器发送所述存储请求,以将第二游戏数据存储至第二持久化存储设备中,所述第二游戏数据不同于所述第一游戏数据。
5.一种游戏数据处理方法,其特征在于,应用于游戏服务器,所述方法包括:
接收终端设备发送的存储请求,所述存储请求是所述终端设备在检测到目标游戏的当前运行状态指示所述目标游戏在后台的运行时长达到预设时长,和/或检测到所述运行状态指示关闭所述目标游戏在所述后台的运行时发送的,所述存储请求中包括第一网络连接令牌,所述第一网络连接令牌是基于所述终端设备与游戏服务器在第一历史时间段内的网络连接信息生成的;
基于所述存储请求和所述第一网络连接令牌,触发存储指令以及获取对象在第一历史时间段内操作所述目标游戏的第二游戏数据,其中,所述第一历史时间段为所述对象在上一次启动所述目标游戏的起始时间点到接收到存储指令的时间点之间的时间段;
根据所述存储请求,在第二持久化存储设备中存储所述第二游戏数据。
6.根据权利要求5所述的方法,其特征在于,所述第二游戏数据包括如下至少一种:第一类型数据和第二游戏过程数据的索引信息,所述第一类型数据为与其他游戏参与者无关的游戏数据,所述第二游戏过程数据为所述对象的游戏过程数据中与其他游戏参与者有关的游戏过程数据;
若所述第二游戏数据包括所述第一类型数据和所述第二游戏过程数据的索引信息,则所述获取对象在第一历史时间段内操作所述目标游戏的第二游戏数据,包括:
从所述游戏服务器缓存的所述对象在第一历史时间段内操作所述目标游戏的游戏数据中,获取所述第一类型数据,以及所述第二游戏过程数据;
确定所述第二游戏过程数据的索引信息;
将所述第二游戏过程数据的索引信息,以及所述第一类型数据,确定为所述第二游戏数据。
7.一种游戏启动方法,其特征在于,应用于终端设备,所述方法包括:
响应于对象在目标游戏的登录界面中输入的登录信息,生成第一登录令牌;
基于所述第一登录令牌,从第一持久化存储设备中,获取所述对象在第一历史时间段内的第一游戏数据,所述第一游戏数据为当所述目标游戏在后台的运行时长达到预设时长和/或关闭所述目标游戏在所述后台的运行时,基于触发存储指令而存储的所述对象在第一历史时间段内操作所述目标游戏的数据;其中,所述第一历史时间段为所述对象在上一次启动所述目标游戏的起始时间点到接收到所述存储指令的时间点之间的时间段;
基于所述对象在第一历史时间段内的第一游戏数据,恢复所述目标游戏的历史游戏界面。
8.根据权利要求7所述的方法,其特征在于,所述第一游戏数据包括如下至少一种:静态资源数据的索引信息和第一游戏过程数据,所述静态资源数据为与所述对象无关的固定资源数据,所述第一游戏过程数据为所述对象的游戏过程数据中与其他游戏参与者无关的游戏过程数据;
若所述第一游戏数据包括所述静态资源数据的索引信息时,则所述基于所述对象在第一历史时间段内第一游戏数据,恢复所述目标游戏的历史游戏界面,包括:
基于所述静态资源数据的索引信息,从所述终端设备所存储的静态资源文件中,加载所述对象在第一历史时间段内的静态资源数据;
基于所述对象在第一历史时间段内的静态资源数据,恢复所述目标游戏的历史游戏界面。
9.根据权利要求7或8所述的方法,其特征在于,所述方法还包括:
向游戏服务器发送数据读取请求,所述数据读取请求用于读取第二游戏数据,所述第二游戏数据是所述对象在所述第一历史时间段内操作所述目标游戏时在所述游戏服务器侧的游戏数据;
接收所述游戏服务器从第二持久化存储设备中获得的所述第二游戏数据;
基于所述对象在第一历史时间段内的第一游戏数据和第二游戏数据,恢复所述目标游戏的历史游戏界面。
10.根据权利要求9所述的方法,其特征在于,所述数据读取请求包括所述终端设备基于所述第一登录令牌从所述终端设备中获取的第一网络连接令牌,所述第一网络连接令牌是基于所述终端设备与游戏服务器在所述第一历史时间段内的网络连接信息生成的,所述第二游戏数据为所述第二持久化存储设备中以所述第一网络连接令牌为索引的游戏数据。
11.一种游戏启动方法,其特征在于,应用于游戏服务器,所述方法包括:
接收终端设备发送的数据读取请求,所述数据读取请求是所述终端设备检测到目标游戏的当前运行状态指示所述目标游戏在后台的运行时长达到预设时长,和/或检测到所述运行状态指示关闭所述目标游戏在所述后台的运行时发送的,所述数据读取请求用于读取第二游戏数据,所述第二游戏数据是对象在第一历史时间段内操作所述目标游戏时在所述游戏服务器侧的游戏数据,其中所述第一历史时间段为所述对象在上一次启动所述目标游戏的起始时间点到接收到存储指令的时间点之间的时间段;
基于所述数据读取请求,从第二持久化存储设备中,获得所述第二游戏数据;
将所述第二游戏数据发送给所述终端设备,以使所述终端设备基于第一游戏数据和所述第二游戏数据,恢复所述目标游戏的历史游戏界面,所述第一游戏数据为当所述目标游戏在后台的运行时长达到预设时长和/或关闭所述目标游戏在所述后台的运行时,基于触发存储指令而存储的所述对象在所述第一历史时间段内操作所述目标游戏的数据。
12.根据权利要求11所述的方法,其特征在于,所述数据读取请求包括第一网络连接令牌,所述第一网络连接令牌是所述终端设备基于所述终端设备与游戏服务器在所述第一历史时间段的网络连接信息生成的,所述基于所述数据读取请求,从第二持久化存储设备中,获得所述第二游戏数据,包括:
基于所述第一网络连接令牌,从所述第二持久化存储设备所存储的游戏数据中,查找以所述第一网络连接令牌为索引的游戏数据,作为所述第二游戏数据。
13.根据权利要求11所述的方法,其特征在于,所述第二游戏数据包括如下至少一种:第一类型数据和第二游戏过程数据的索引信息,所述第一类型数据为与其他游戏参与者无关的游戏数据,所述第二游戏过程数据为所述对象的游戏过程数据中与其他游戏参与者有关的游戏过程数据;
若所述第二游戏数据包括所述第二游戏过程数据的索引信息,则所述将所述第二游戏数据发送给所述终端设备,包括:
基于所述第二游戏过程数据的索引信息,加载所述第二游戏过程数据;
将所述第二游戏过程数据发送给所述终端设备。
14.一种游戏数据处理装置,其特征在于,所述装置包括:
检测单元,用于检测目标游戏的当前运行状态;
获取单元,用于当检测到所述运行状态指示所述目标游戏在后台的运行时长达到预设时长,和/或检测到所述运行状态指示关闭所述目标游戏在所述后台的运行时,触发存储指令以及获取对象在第一历史时间段内操作所述目标游戏的第一游戏数据;其中,所述第一历史时间段为所述对象在上一次启动所述目标游戏的起始时间点到接收到所述存储指令的时间点之间的时间段;
存储单元,用于根据所述存储指令,在第一持久化存储设备中存储所述第一游戏数据。
15.一种游戏数据处理装置,其特征在于,应用于游戏服务器,所述装置包括:
接收单元,用于接收终端设备发送的存储请求,所述存储请求是所述终端设备在检测到目标游戏的当前运行状态指示所述目标游戏在后台的运行时长达到预设时长,和/或检测到所述运行状态指示关闭所述目标游戏在所述后台的运行时发送的,所述存储请求中包括第一网络连接令牌,所述第一网络连接令牌是基于所述终端设备与游戏服务器在所述第一历史时间段内的网络连接信息生成的;
获取单元,用于基于所述存储请求和所述第一网络连接令牌,触发存储指令以及获取对象在第一历史时间段内操作所述目标游戏的第二游戏数据,其中,所述第一历史时间段为所述对象在上一次启动所述目标游戏的起始时间点到接收到存储指令的时间点之间的时间段;
存储单元,用于根据所述存储请求,在第二持久化存储设备中存储所述第二游戏数据。
16.一种游戏启动装置,其特征在于,应用于终端设备,所述装置包括:
生成单元,用于响应于对象在目标游戏的登录界面中输入的登录信息,生成第一登录令牌;
获取单元,用于基于所述第一登录令牌,从第一持久化存储设备中,获取所述对象在第一历史时间段内的第一游戏数据,所述第一游戏数据为当所述目标游戏在后台的运行时长达到预设时长和/或关闭所述目标游戏在所述后台的运行时,基于触发存储指令而存储的所述对象在第一历史时间段内操作所述目标游戏的数据;其中,所述第一历史时间段为所述对象在上一次启动所述目标游戏的起始时间点到接收到所述存储指令的时间点之间的时间段;
恢复单元,用于基于所述对象在第一历史时间段内的第一游戏数据,恢复所述目标游戏的历史游戏界面。
17.一种游戏启动装置,其特征在于,应用于游戏服务器,所述装置包括:
接收单元,用于接收终端设备发送的数据读取请求,所述数据读取请求是所述终端设备检测到目标游戏的当前运行状态指示所述目标游戏在后台的运行时长达到预设时长,和/或检测到所述运行状态指示关闭所述目标游戏在所述后台的运行时发送的,所述数据读取请求用于读取第二游戏数据,所述第二游戏数据是对象在第一历史时间段内操作所述目标游戏时在所述游戏服务器侧的游戏数据,其中所述第一历史时间段为所述对象在上一次启动所述目标游戏的起始时间点到接收到存储指令的时间点之间的时间段;
获取单元,用于基于所述数据读取请求,从第二持久化存储设备中,获得所述第二游戏数据;
发送单元,用于将所述第二游戏数据发送给所述终端设备,以使所述终端设备基于第一游戏数据和所述第二游戏数据,恢复所述目标游戏的历史游戏界面,所述第一游戏数据为当所述目标游戏在后台的运行时长达到预设时长和/或关闭所述目标游戏在所述后台的运行时,基于触发存储指令而存储的所述对象在所述第一历史时间段内操作所述目标游戏的数据。
18.一种计算机设备,包括处理器和存储器;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述计算机程序以实现如上述权利要求1至4或5至6或7至10或11至13任一项所述的方法。
19.一种计算机可读存储介质,其特征在于,用于存储计算机程序;
所述计算机程序使得计算机执行如上述权利要求1至4或5至6或7至10或11至13任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311395623.9A CN117224933A (zh) | 2023-10-24 | 2023-10-24 | 游戏数据处理及游戏启动方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311395623.9A CN117224933A (zh) | 2023-10-24 | 2023-10-24 | 游戏数据处理及游戏启动方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117224933A true CN117224933A (zh) | 2023-12-15 |
Family
ID=89091294
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311395623.9A Pending CN117224933A (zh) | 2023-10-24 | 2023-10-24 | 游戏数据处理及游戏启动方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117224933A (zh) |
-
2023
- 2023-10-24 CN CN202311395623.9A patent/CN117224933A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11669872B2 (en) | Smart broadcasting device | |
US9237207B2 (en) | Device, system and method for providing distributed online services | |
CN111991813B (zh) | 登录游戏的方法、装置、电子设备及存储介质 | |
JP2021509189A (ja) | ブロックチェーンベースのトランザクション処理方法および装置 | |
JP2021504847A (ja) | クロスブロックチェーンインタラクション方法、装置、システム、および電子デバイス | |
CN112999653B (zh) | 一种云游戏处理方法、装置、设备及介质 | |
CN108337210B (zh) | 设备配置方法及装置、系统 | |
US10404566B2 (en) | Online techniques for parameter mean and variance estimation in dynamic regression models | |
CN112134893B (zh) | 物联网安全防护方法、装置、电子设备及存储介质 | |
CN113055451A (zh) | 资源下载方法、装置、电子设备及存储介质 | |
WO2014111022A1 (zh) | 一种移动终端用户信息的显示方法、移动终端和服务系统 | |
CN106254319B (zh) | 一种轻应用登录控制方法和装置 | |
CN108260015B (zh) | 一种投票数据处理方法、装置及电子设备 | |
CN106250536B (zh) | 一种空间页面背景设置方法、装置及系统 | |
CN108984339B (zh) | 数据恢复方法及相关产品 | |
CN112818371A (zh) | 资源访问控制方法、系统、装置、设备及介质 | |
CN113117339B (zh) | 一种数据处理方法、装置、服务器及存储介质 | |
CN115102744A (zh) | 数据访问方法和装置 | |
CN107992489A (zh) | 一种数据处理方法及服务器 | |
CN117224933A (zh) | 游戏数据处理及游戏启动方法、装置、设备及存储介质 | |
CN113613029B (zh) | 直播画面显示方法、装置和存储介质及电子设备 | |
CN111294661B (zh) | 弹幕显示方法、装置、弹幕服务器设备及存储介质 | |
CN109560954A (zh) | 设备配置方法及装置 | |
CN113332710A (zh) | 一种游戏账号登录方法、装置、电子设备及存储介质 | |
CN107948291B (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 |