云游戏的热迁移方法、装置、设备、存储介质及程序产品与流程

文档序号:35915520发布日期:2023-10-30 06:59阅读:77来源:国知局
云游戏的热迁移方法、装置、设备、存储介质及程序产品与流程

本技术涉及云,尤其涉及一种云游戏的热迁移方法、装置、电子设备、存储介质及程序产品。


背景技术:

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、通过获取各云游戏服务器上基于容器运行的云游戏实例的数量,从多个云游戏服务器中,确定待迁移服务器和目标服务器,从待迁移服务器中,获取待迁移服务器上运行的各云游戏实例的字节流,并将所获取的字节流发送至目标服务器,通过目标服务器对字节流进行反序列化,以在目标服务器中重新创建从待迁移服务器上迁移而来的云游戏实例。如此,能够在基于容器运行的云游戏服务器之间,保证待迁移服务器运行的云游戏实例,能够迁移至目标服务器继续运行,保证与待迁移服务器连接的运行云游戏的目标终端能够不受云游戏实例迁移的影响,实现云游戏服务器的运行空间的智能化调控,有效的将待迁移服务器上运行的云游戏实例,集中迁移至目标服务器,从而释放待迁移服务器的运行空间,有效节省云游戏服务器的运行成本,提高运行效率。

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