本技术属于游戏,具体涉及一种基于状态同步的离线任务加速方法、装置、设备及介质。
背景技术:
1、多人在线游戏中,用户需要在同一个虚拟世界进行互动,为了保持所有用户之间的一致性,在游戏中需要实时同步用户的状态,以便用户可以看到其他用户的动作以及变化,而状态同步可以将各个参与者的状态信息保持一致,确保用户之间的互动、竞争以及合作都处于准确的状态。
2、现有技术中,由于多人在线游戏中存在不同的定时任务,因此在状态同步模式中需要从用户那里获得数据,如果用户为在线状态,可以直接从在线用户那里获得数据。如果用户为离线状态,则服务器无法正常计算该定时任务。
3、但在现有技术中,由于游戏中离线用户数量的增加,如果对于定时任务不能够有效的处理,会严重影响了在线用户的体验。因此,如何对离线用户的数据和任务进行有效的处理,进而提高在线用户的体验是本领域亟待解决的问题。
技术实现思路
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、在本技术实施例中,识别用户的开设任务中是否存在目标任务;若存在目标任务,则在识别到用户的状态信息切换至离线状态时,中止所述目标任务,并记录用户的离线时间以及所述目标任务的执行状态;在识别到用户的状态信息切换至在线状态时,获取当前系统时间,根据所述离线时间与所述当前系统时间计算用户的离线总时间;根据所述离线总时间以及所述目标任务的执行信息,使用任务同步组件执行所述目标任务,以进行所述目标任务的状态同步。通过上述基于状态同步的离线任务加速方法,在用户上线时才将用户离线后的目标任务进行统一计算以及状态同步,可以避免用户离线后的目标任务仍在占用服务器资源从而造成在线用户出现卡顿现象,减轻了服务器压力,提升在线用户的体验感。