目标应用的运行进度恢复方法、装置及存储介质与流程
- 国知局
- 2024-07-11 16:14:25
本公开涉及计算机,尤其涉及一种目标应用的运行进度恢复方法、装置及存储介质。
背景技术:
1、在帧同步游戏中,需要对玩家掉线、离线后继续进行游戏的情况进行处理。例如玩家在游玩十分钟后关闭游戏,重新进入游戏时需要从之前的进度开始,而不是重新开始游戏。
2、相关技术中,可以采用追帧方案,即从头开始跑逻辑,可以以数倍的速度运行,以快速达到游戏进度;或者到存档点保存游戏数据,并从存档点进行进度恢复;追帧方案速度较慢,如果游戏时间很长,追帧耗时要花费的时间等比增加,恢复速度慢;目前的存档方案存档速度慢,需要在特殊节点进行,阻塞游戏进程;玩家需要等待存档完成,保存速度慢。
技术实现思路
1、本公开提供一种目标应用的运行进度恢复方法、装置及存储介质,以至少解决相关技术中无法使目标应用快速恢复至上一次停止时的运行进度的问题。本公开的技术方案如下:
2、根据本公开实施例的第一方面,提供一种目标应用的运行进度恢复方法,包括:
3、针对目标应用构建主内存块以及备份内存块;其中,所述主内存块与所述备份内存块的内存容量相同;所述主内存块的数据读写频率大于所述备份内存块的数据读写频率;所述备份内存块用于备份所述主内存块中存储的数据;
4、在所述目标应用的运行过程中,在所述主内存块中存储当前业务数据;
5、在所述备份内存块中备份所述当前业务数据;所述备份内存块相对于所述主内存块的数据延时时间小于预设时间阈值;
6、响应于基于所述目标应用的重启指令,在所述备份内存块中获取所述目标应用上一次中止运行时的目标备份数据;
7、将所述目标备份数据拷贝至所述主内存块中,并运行所述目标应用,以使所述目标应用的运行进度恢复至所述目标应用上一次中止时的运行进度。
8、在一示例性的实施方式中,所述在所述目标应用的运行过程中,在所述主内存块中存储当前业务数据之前,所述方法还包括:
9、基于所述目标应用对应的多个业务类型,在所述主内存块中构建第一功能模块;
10、所述在所述目标应用的运行过程中,在所述主内存块中存储当前业务数据,包括:
11、在所述目标应用的运行过程中,基于当前业务类型,在所述主内存块中筛选与所述当前业务类型相匹配的第一目标功能模块;
12、在所述第一目标功能模块中存储所述当前业务类型对应的当前业务数据。
13、在一示例性的实施方式中,所述在所述备份内存块中备份所述当前业务数据之前,所述方法还包括:
14、基于所述目标应用对应的多个业务类型,在所述备份内存块中构建第二功能模块;所述第一功能模块与所述第二功能模块的数量相同;
15、所述在所述备份内存块中备份所述当前业务数据,包括:
16、从所述备份内存块中筛选与所述第一目标功能模块相匹配的第二功能模块,得到第二目标功能模块;
17、将所述第一目标功能模块中数据备份至所述备份内存块的第二目标功能模块中。
18、在一示例性的实施方式中,所述从所述备份内存块中筛选与所述第一目标功能模块相匹配的第二功能模块,得到第二目标功能模块之前,所述方法还包括:
19、获取每个第一功能模块对应的业务类型以及每个第二功能模块对应的业务类型;
20、根据每个第一功能模块对应的业务类型,构建每个第一功能模块与业务类型的第一关联关系;
21、根据每个第二功能模块对应的业务类型,构建每个第二功能模块与业务类型的第二关联关系;
22、根据所述第一关联关系以及所述第二关联关系,确定第一功能模块与第二功能模块之间的映射关系,得到功能模块关联关系;
23、所述从所述备份内存块中筛选与所述第一目标功能模块相匹配的第二功能模块,得到第二目标功能模块,包括:
24、基于所述功能模块关联关系,从所述备份内存块中筛选与所述第一目标功能模块相匹配的第二功能模块,得到第二目标功能模块。
25、在一示例性的实施方式中,所述在所述备份内存块中备份所述当前业务数据之后,所述方法还包括:
26、每间隔预设时段,获取所述备份内存块中各个第二功能模块中备份数据的存储时长;
27、将存储时长大于预设时长的备份数据从所述备份内存块中删除;
28、所述响应于基于所述目标应用的重启指令,在所述备份内存块中获取所述目标应用上一次中止运行时的目标备份数据,包括:
29、响应于基于所述目标应用的重启指令,获取所述重启指令对应的请求账号;
30、获取所述请求账号上一次启动所述目标应用的第一时间;
31、在所述重启指令对应的第二时间与所述第一时间的时间差值小于预设时差阈值的情况下,执行在所述备份内存块中获取所述目标应用上一次中止运行时的目标备份数据。
32、在一示例性的实施方式中,所述基于所述目标应用对应的多个业务类型,在所述主内存块中构建第一功能模块,包括:
33、确定所述目标应用对应的每个业务类型的优先级;
34、根据每个业务类型对应的优先级,确定每个业务类型对应的第一功能模块的内存容量;
35、根据每个第一功能模块的内存容量,在所述主内存块中构建多个第一功能模块。
36、在一示例性的实施方式中,所述响应于基于所述目标应用的重启指令,在所述备份内存块中获取所述目标应用上一次中止运行时的目标备份数据,包括:
37、响应于基于所述目标应用的重启指令,确定所述目标应用上一次中止运行时的备份功能模块标识;
38、基于所述备份功能模块标识,在所述备份内存块中查找与所述备份功能模块标识相匹配的第二功能模块;
39、从所述匹配的第二功能模块中获取所述目标应用上一次中止运行时的目标备份数据。
40、在一示例性的实施方式中,所述将所述目标备份数据拷贝至所述主内存块中,并运行所述目标应用,包括:
41、将所述目标备份数据拷贝至所述主内存块中,在所述主内存块中对所述目标备份数据进行解压,得到解压数据;
42、基于所述解压数据运行所述目标应用。
43、根据本公开实施例的第二方面,提供一种目标应用的运行进度恢复装置,包括:
44、内存块构建模块,被配置为执行针对目标应用构建主内存块以及备份内存块;其中,所述主内存块与所述备份内存块的内存容量相同;所述主内存块的数据读写频率大于所述备份内存块的数据读写频率;所述备份内存块用于备份所述主内存块中存储的数据;
45、数据存储模块,被配置为执行在所述目标应用的运行过程中,在所述主内存块中存储当前业务数据;
46、数据备份模块,被配置为执行在所述备份内存块中备份所述当前业务数据;所述备份内存块相对于所述主内存块的数据延时时间小于预设时间阈值;
47、备份数据获取模块,被配置为执行响应于基于所述目标应用的重启指令,在所述备份内存块中获取所述目标应用上一次中止运行时的目标备份数据;
48、应用运行模块,被配置为执行将所述目标备份数据拷贝至所述主内存块中,并运行所述目标应用,以使所述目标应用的运行进度恢复至所述目标应用上一次中止时的运行进度。
49、在一示例性的实施方式中,所述装置还包括:
50、第一构建模块,被配置为执行基于所述目标应用对应的多个业务类型,在所述主内存块中构建第一功能模块;
51、所述数据备份模块包括:
52、当前业务数据存储单元,被配置为执行在所述目标应用的运行过程中,在所述主内存块中存储当前业务数据;
53、模块筛选单元,被配置为执行在所述目标应用的运行过程中,基于当前业务类型,在所述主内存块中筛选与所述当前业务类型相匹配的第一目标功能模块;
54、数据存储单元,被配置为执行在所述第一目标功能模块中存储所述当前业务类型对应的当前业务数据。
55、在一示例性的实施方式中,所述装置还包括:
56、第二构建模块,被配置为执行基于所述目标应用对应的多个业务类型,在所述备份内存块中构建第二功能模块;所述第一功能模块与所述第二功能模块的数量相同;
57、相应的,所述数据备份模块包括:
58、模块匹配单元,被配置为执行从所述备份内存块中筛选与所述第一目标功能模块相匹配的第二功能模块,得到第二目标功能模块;
59、备份单元,被配置为执行将所述第一目标功能模块中数据备份至所述备份内存块的第二目标功能模块中。
60、在一示例性的实施方式中,所述装置还包括:
61、业务类型获取模块,被配置为执行获取每个第一功能模块对应的业务类型以及每个第二功能模块对应的业务类型;
62、第一关系构建模块,被配置为执行根据每个第一功能模块对应的业务类型,构建每个第一功能模块与业务类型的第一关联关系;
63、第二关系构建模块,被配置为执行根据每个第二功能模块对应的业务类型,构建每个第二功能模块与业务类型的第二关联关系;
64、关联关系构建模块,被配置为执行根据所述第一关联关系以及所述第二关联关系,确定第一功能模块与第二功能模块之间的映射关系,得到功能模块关联关系;
65、所述模块匹配单元包括:
66、筛选子单元,被配置为执行基于所述功能模块关联关系,从所述备份内存块中筛选与所述第一目标功能模块相匹配的第二功能模块,得到第二目标功能模块。
67、在一示例性的实施方式中,所述装置还包括:
68、存储时长获取模块,被配置为执行每间隔预设时段,获取所述备份内存块中各个第二功能模块中备份数据的存储时长;
69、删除模块,被配置为执行将存储时长大于预设时长的备份数据从所述备份内存块中删除;
70、所述备份数据获取模块包括:
71、请求账号获取单元,被配置为执行响应于基于所述目标应用的重启指令,获取所述重启指令对应的请求账号;
72、第一时间获取单元,被配置为执行获取所述请求账号上一次启动所述目标应用的第一时间;
73、执行单元,被配置为执行在所述重启指令对应的第二时间与所述第一时间的时间差值小于预设时差阈值的情况下,执行在所述备份内存块中获取所述目标应用上一次中止运行时的目标备份数据。
74、在一示例性的实施方式中,所述第一构建模块包括:
75、优先级确定单元,被配置为执行确定所述目标应用对应的每个业务类型的优先级;
76、内存容量确定单元,被配置为执行根据每个业务类型对应的优先级,确定每个业务类型对应的第一功能模块的内存容量;
77、第一模块构建单元,被配置为执行根据每个第一功能模块的内存容量,在所述主内存块中构建多个第一功能模块。
78、在一示例性的实施方式中,所述备份数据获取模块包括:
79、标识确定单元,被配置为执行响应于基于所述目标应用的重启指令,确定所述目标应用上一次中止运行时的备份功能模块标识;
80、第二匹配单元,被配置为执行基于所述备份功能模块标识,在所述备份内存块中查找与所述备份功能模块标识相匹配的第二功能模块;
81、目标数据获取单元,被配置为执行从所述匹配的第二功能模块中获取所述目标应用上一次中止运行时的目标备份数据。
82、在一示例性的实施方式中,所述应用运行模块包括:
83、解压单元,被配置为执行将所述目标备份数据拷贝至所述主内存块中,在所述主内存块中对所述目标备份数据进行解压,得到解压数据;
84、应用运行单元,被配置为执行基于所述解压数据运行所述目标应用。
85、根据本公开实施例的第三方面,提供一种电子设备,包括:
86、处理器;
87、用于存储所述处理器可执行指令的存储器;
88、其中,所述处理器被配置为执行所述指令,以实现如上所述的目标应用的运行进度恢复方法。
89、根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备处理器执行时,使得电子设备能够执行如上所述的目标应用的运行进度恢复方法。
90、根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上所述的目标应用的运行进度恢复方法。
91、本公开的实施例提供的技术方案至少带来以下有益效果:
92、本公开针对目标应用构建主内存块以及备份内存块;其中,主内存块与备份内存块的内存容量相同;主内存块的数据读写频率大于备份内存块的数据读写频率;备份内存块用于备份主内存块中存储的数据;在目标应用的运行过程中,在主内存块中存储当前业务数据;在备份内存块中备份当前业务数据;备份内存块相对于主内存块的数据延时时间小于预设时间阈值;响应于基于目标应用的重启指令,在备份内存块中获取目标应用上一次中止运行时的目标备份数据;将目标备份数据拷贝至主内存块中,并运行目标应用,以使目标应用的运行进度恢复至目标应用上一次中止时的运行进度。本公开通过构建与主内存块同样大小的备份内存块,实现对目标应用的进度数据进行存储,且在备份数据的存储过程中,不影响目标应用的正常运行,提升了目标应用的运行效率以及备份数据的存储效率;在下一次启动目标应用时,可以快速从备份内存块中获取数据,从而使目标应用快速恢复至上一次停止时的运行进度,并从上一次的运行进度处继续运行。
93、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
本文地址:https://www.jishuxx.com/zhuanli/20240615/78277.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表