游戏服务端引擎的迁移方法、装置、处理器、电子设备与流程

文档序号:25279295发布日期:2021-06-01 17:25阅读:156来源:国知局
游戏服务端引擎的迁移方法、装置、处理器、电子设备与流程

本发明涉及游戏技术领域,具体而言,涉及一种游戏服务端引擎的迁移方法、装置、处理器、电子设备。



背景技术:

相关技术中,游戏服务端引擎默认只能运行在freebsd类操作系统上,使用freebsd类操作系统内核提供的网络库实现异步网络,并且,由于游戏服务端引擎运行环境默认为物理机,没有充分利用多线程及多进程进行并发处理,导致中央处理器是使用率较低。

而且,游戏服务端引擎的整套运维体系均针对现有的硬件和操作系统做了特殊适配,由于freebsd类操作系统的用户群体较少,每次硬件软件升级都有大量的适配工作,在出现异常时难以快速确定解决方案,并且,上述freebsd类操作系统不支持容器,无法满足游戏服务端引擎上云的部署趋势且导致游戏服务端引擎的整体运行性能较差。

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种游戏服务端引擎的迁移方法、装置、处理器、电子设备,以至少解决现有技术中的游戏服务端引擎默认运行在freebsd类操作系统,整体运行性能较差的技术问题。

根据本发明实施例的一个方面,提供了一种游戏服务端引擎的迁移方法,包括:对初始服务端引擎执行调整处理,得到待迁移服务端引擎,其中,上述初始服务端引擎运行在第一操作系统上,上述第一操作系统为基于初始部署策略确定的系统,上述调整处理的内容包括以下至少之一:代码、编译选项、第三方库、网络链接方式;将上述待迁移服务端引擎从上述第一操作系统迁移至第二操作系统,其中,上述第二操作系统至少用于提升迁移后服务端引擎的运行性能。

根据本发明实施例的另一方面,还提供了一种游戏服务端引擎的迁移装置,包括:调整模块,用于对初始服务端引擎执行调整处理,得到待迁移服务端引擎,其中,上述初始服务端引擎运行在第一操作系统上,上述第一操作系统为基于初始部署策略确定的系统,上述调整处理的内容包括以下至少之一:代码、编译选项、第三方库、网络链接方式;迁移模块,用于将上述待迁移服务端引擎从上述第一操作系统迁移至第二操作系统,其中,上述第二操作系统至少用于提升迁移后服务端引擎的运行性能。

根据本发明实施例的另一方面,还提供了一种非易失性存储介质,上述非易失性存储介质包括存储的程序,其中,在上述程序运行时控制上述非易失性存储介质所在设备执行任意一项上述的游戏服务端引擎的迁移方法。

根据本发明实施例的另一方面,还提供了一种处理器,上述处理器用于运行存储在存储器中的程序,其中,上述程序运行时执行任意一项上述的游戏服务端引擎的迁移方法。

根据本发明实施例的另一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为运行上述计算机程序以执行任意一项上述的游戏服务端引擎的迁移方法。

在本发明实施例中,通过对初始服务端引擎执行调整处理,得到待迁移服务端引擎,其中,上述初始服务端引擎运行在第一操作系统上,上述第一操作系统为基于初始部署策略确定的系统,上述调整处理的内容包括以下至少之一:代码、编译选项、第三方库、网络链接方式;将上述待迁移服务端引擎从上述第一操作系统迁移至第二操作系统,其中,上述第二操作系统至少用于提升迁移后服务端引擎的运行性能,达到了对游戏服务端引擎运行的操作系统进行迁移的目的,从而实现了提升游戏服务端引擎的整体运行性能的技术效果,进而解决了现有技术中的游戏服务端引擎默认运行在freebsd类操作系统,整体运行性能较差的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种游戏服务端引擎的迁移方法的流程图;

图2是根据本发明实施例的一种游戏服务端引擎的迁移装置的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

根据本发明实施例,提供了一种游戏服务端引擎的迁移方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

该方法实施例的技术方案可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,该移动终端可以是智能手机(如android手机、ios手机等)、平板电脑、掌上电脑以及移动互联网设备(mobileinternetdevices,简称为mid)、pad等终端设备。移动终端可以包括一个或多个处理器(处理器可以包括但不限于中央处理器(cpu)、图形处理器(gpu)、数字信号处理(dsp)芯片、微处理器(mcu)、可编程逻辑器件(fpga)、神经网络处理器(npu)、张量处理器(tpu)、人工智能(ai)类型处理器等的处理装置)和用于存储数据的存储器。可选地,上述移动终端还可以包括用于通信功能的传输设备、输入输出设备以及显示设备。本领域普通技术人员可以理解,上述结构描述仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比上述结构描述更多或者更少的组件,或者具有与上述结构描述不同的配置。

存储器可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的游戏画面的处理方法对应的计算机程序,处理器通过运行存储在存储器内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的游戏画面的处理方法。存储器可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输设备用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备包括一个网络适配器(networkinterfacecontroller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备可以为射频(radiofrequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。该方法实施例的技术方案可以应用于各种通信系统,例如:全球移动通讯(globalsystemofmobilecommunication,简称为gsm)系统、码分多址(codedivisionmultipleaccess,简称为cdma)系统、宽带码分多址(widebandcodedivisionmultipleaccess,简称为wcdma)系统、通用分组无线业务(generalpacketradioservice,简称为gprs)、长期演进(longtermevolution,简称为lte)系统、lte频分双工(frequencydivisionduplex,简称为fdd)系统、lte时分双工(timedivisionduplex,简称为tdd)、通用移动通信系统(universalmobiletelecommunicationsystem,简称为umts)、全球互联微波接入(worldwideinteroperabilityformicrowaveaccess,简称为wimax)通信系统或5g系统等。可选地,多个移动终端之间可以进行设备到设备(devicetodevice,简称为d2d)通信。可选地,5g系统或5g网络又被称为新无线(newradio,简称为nr)系统或nr网络。

显示设备可以例如触摸屏式的液晶显示器(lcd)和触摸显示器(也被称为“触摸屏”或“触摸显示屏”)。该液晶显示器可使得用户能够与移动终端的用户界面进行交互。在一些实施例中,上述移动终端具有图形用户界面(gui),用户可以通过触摸触敏表面上的手指接触和/或手势来与gui进行人机交互,此处的人机交互功能可选的包括如下交互:创建网页、绘图、文字处理、制作电子文档、游戏、视频会议、即时通信、收发电子邮件、通话界面、播放数字视频、播放数字音乐和/或网络浏览等、用于执行上述人机交互功能的可执行指令被配置/存储在一个或多个处理器可执行的计算机程序产品或可读非易失性存储介质中。

图1是根据本发明实施例的一种游戏服务端引擎的迁移方法的流程图,如图1所示,该方法包括如下步骤:

步骤s102,对初始服务端引擎执行调整处理,得到待迁移服务端引擎;

步骤s104,将上述待迁移服务端引擎从上述第一操作系统迁移至第二操作系统,其中,上述第二操作系统至少用于提升迁移后服务端引擎的运行性能。

在本发明实施例中,通过对初始服务端引擎执行调整处理,得到待迁移服务端引擎,其中,上述初始服务端引擎运行在第一操作系统上,上述第一操作系统为基于初始部署策略确定的系统,上述调整处理的内容包括以下至少之一:代码、编译选项、第三方库、网络链接方式;将上述待迁移服务端引擎从上述第一操作系统迁移至第二操作系统,其中,上述第二操作系统至少用于提升迁移后服务端引擎的运行性能,达到了对游戏服务端引擎运行的操作系统进行迁移的目的,从而实现了提升游戏服务端引擎的整体运行性能的技术效果,进而解决了现有技术中的游戏服务端引擎默认运行在freebsd类操作系统,整体运行性能较差的技术问题。

可选的,上述初始化服务端引擎为游戏服务端引擎,例如,可以为基于c语言开发的游戏服务端引擎。

可选的,上述初始服务端引擎运行在第一操作系统上,上述第一操作系统为基于初始部署策略确定的系统,例如,freebsd类操作系统,上述调整处理的内容包括以下至少之一:代码、编译选项、第三方库、网络链接方式。

可选的,上述linux操作系统,通过将上述待迁移服务端引擎从上述第一操作系统迁移至第二操作系统,采用上述第二操作系统至少用于提升迁移后服务端引擎的运行性能。

在本申请实施例中,由于上述linux操作系统还支持游戏服务端引擎在容器的运行,一个物理机宿主支持2个容器运行,可以对应提升1倍的硬件使用率。并且,上述第二操作系统通过优化游戏服务端引擎运行性能,并且为游戏服务端引擎接入成熟的检测工具。

需要说明的是,本申请实施例提出了一种将游戏服务端引擎从freebsd+物理机迁移到linux+容器的部署方案,并为此对初始服务端引擎进行调整和适配工作,在本申请实施例中,上述调整处理和适配工作大致分为两个部分:第一部分是通过对游戏服务端引擎进行调整,使其从freebsd类操作系统迁移至linux操作系统上,在该游戏服务端引擎运行在linux操作系统上之后,第二部分是将迁移后的服务端引擎运行在linux操作系统容器上。

在一种可选的实施例中,当上述调整处理的内容为初始服务端引擎的代码时,对初始服务端引擎执行调整处理,得到待迁移服务端引擎包括:

步骤s202,对上述初始服务端引擎的代码的网络库执行切换处理,得到第一处理结果;

步骤s204,基于上述第一处理结果对上述代码的主循环执行修改处理,得到第二处理结果;

步骤s206,基于上述第二处理结果对上述代码的字符串操作接口执行替换处理,以及对上述代码中的配置读取代码进行调整处理,得到上述待迁移服务端引擎。

可选的,上述初始化服务端引擎为游戏服务端引擎,例如,可以为基于c语言开发的游戏服务端引擎。

在本申请实施例中,为使得游戏服务端引擎可以从从freebsd类操作系统迁移至linux操作系统上,需要对初始服务端引擎的代码进行调整处理,具体可以但不限于涉及到对上述初始服务端引擎的代码的网络库执行切换处理,并基于上述第一处理结果对上述代码的主循环执行修改处理,得到第二处理结果,再基于上述第二处理结果对上述代码的字符串操作接口执行替换处理,以及对上述代码中的配置读取代码进行调整处理,得到上述待迁移服务端引擎。

可选的,上述游戏服务端引擎的代码改造,还可以包括底层网络框架的调整,事件api的调整,各种通用库的调整。

在一种可选的实施例中,对上述初始服务端引擎的代码的网络库执行切换处理,得到第一处理结果包括:

步骤s302,确定上述代码的第一网络库,其中,上述第一网络库为上述第一操作系统的提供的异步网络库,上述第一网络库包括:kqueue网络库;

步骤s304,将上述第一网络库切换为第二网络库,其中,上述第二网络库为上述第二操作系统提供的异步网络库,上述第二网络库包括:redisae网络库。

可选的,对上述初始服务端引擎的代码的网络库执行切换处理,即上述多路复用网络库修改,主要是将异步网络io库从kqueue网络库切换为redisae网络库,可选的,涉及到客户端网络连接,服务器间网络连接,http网络连接等等。

可选的,在本申请实施例中,游戏应用程序必须能够运行在linux环境,利用linux的内核微调epoll机制来实现io多路复用及其他重要的系统级别的支撑,其中,上述epoll机制是linux内核为处理大批量文件描述符作出改进的poll,是linux下多路复用io接口select/polld的增强版本。

在一种可选的实施例中,基于上述第二处理结果对上述代码的字符串操作接口执行替换处理,得到第三处理结果包括:

步骤s402,获取上述第二网络库的待调用主循环;

步骤s404,将上述代码的主循环修改为上述待调用主循环。

在本申请实施例中,由于redisae网络库所支持的主循环与原先使用kqueue网络库的主循环不一样,因此,游戏服务端引擎需要调用redisae网络库所支持的主循环,例如,redisae网络库所自带的主循环,并在网络事件前后插入各种钩子进行网络事件处理。

在一种可选的实施例中,基于上述第二处理结果对上述代码的字符串操作接口执行替换处理包括:

步骤s502,获取上述代码在上述第一操作系统中采用的字符串操作接口;

步骤s504,获取上述第二操作系统中的可替换操作接口,其中,上述可替换操作接口与上述字符串操作接口的接口功能对应;

步骤s506,采用上述可替换操作接口替换上述字符串操作接口。

可选的,上述字符串操作接口可以为字符串操作api接口,对代码在上述第一操作系统中所采用的字符串操作接口进行替换处理,即获取上述第二操作系统中与上述字符串操作接口的接口功能对应的可替换操作接口,采用上述可替换操作接口替换上述字符串操作接口。

例如,freebsd操作系统为游戏服务端引擎提供的一些便利的字符串操作api接口,但是上述api接口没有对应的linux版本,为将游戏服务端引擎从freebsd操作系统成功迁移至linux操作系统,则可以对上述字符串操作接口进行替换处理。

并且,本申请一种可选的实施例,在上述替换处理过程中,还可以适应性整理字符串操作接口的使用功能。

在一种可选的实施例中,当上述调整处理的内容为上述初始服务端引擎的编译选项时,对初始服务端引擎执行调整处理,得到待迁移服务端引擎包括:

步骤s602,确定上述第二操作系统的编译环境;

步骤s604,基于上述编译环境对上述初始服务端引擎的编译选项进行调整,得到目标编译选项,其中,上述目标编译选项为上述第二操作系统和上述编译环境支持的编译选项;

步骤s606,基于上述目标编译选项确定上述待迁移服务端引擎。

可选的,上述初始化服务端引擎可以为基于c语言开发的游戏服务端引擎,由于linux操作系统的编译环境为c++,因此需要基于c++编译环境将游戏服务端引擎的编译选项进行调整,例如,关键位置无关代码的-fpic选项,还涉及到一些函数inline的编译选项。

在本申请实施例中,在调整完初始服务端引擎的编译选项之后,还可以进一步对项目的第三方库进行调整。

在一种可选的实施例中,当上述调整处理的内容为上述初始服务端引擎的第三方库时,对初始服务端引擎执行调整处理,得到待迁移服务端引擎包括:

步骤s702,获取上述第二操作系统所支持的第三方库;

步骤s704,基于上述第二操作系统所支持的第三方库,对上述初始服务端引擎的第三方库进行重新编写,或者对上述初始服务端引擎的第三方库进行版本调整,得到上述待迁移服务端引擎。

可选的,由于在初始情况下初始服务端引擎的第三方库是在freebsd操作系统所支持的第三方库,为了将上述初始服务端引擎至linux操作系统,需要对初始服务端引擎的第三方库进行重编或者调整版本。例如,重编或者调整openssl、zstd、pcre,以及删除mysql和config。

在一种可选的实施例中,当上述调整处理的内容为上述初始服务端引擎的网络链接方式时,对初始服务端引擎执行调整处理,得到待迁移服务端引擎包括:

步骤s802,获取上述第二操作系统所支持的网络链接方式,其中,上述网络链接方式包括:客户端网络连接方式,服务器间网络连接方式,超文本传输网络连接方式;

步骤s804,基于上述第二操作系统所支持的网络链接方式,对上述初始服务端引擎的多个网络链接方式进行顺序调整,或者对上述网络链接方式的链接选项进行优化,得到上述待迁移服务端引擎。

在本申请实施例中,由于freebsd操作系统的ld跟linux下的ld的表现不同,还可以对初始服务端引擎的多个网络链接方式进行调整,例如,客户端网络连接方式,服务器间网络连接方式,超文本传输网络连接方式;基于上述第二操作系统所支持的网络链接方式,对上述初始服务端引擎的多个网络链接方式进行顺序调整,或者对上述网络链接方式的链接选项进行优化,得到上述待迁移服务端引擎。

在本申请实施例中,在网络链接方式调整通过之后,还可以修改待迁移游戏服务端引擎的周边服务进程,以及修改待迁移游戏服务端引擎的运维部署方案。

其中,对待迁移游戏服务端引擎的周边服务进程进行改造,具体可以为改造周边titan_node服务使其可运行在linux操作系统上,例如,对titan_node(游戏服务端引擎的一个worker服务)进行改造,可以将网络相关的api切换为linux版本,并且在完成之后准备运维部署上线的工作。

例如,修改titan_node服务中的reintercast、mysql、makefile,以及调整周边工具链,适配linux操作系统,例如:运维脚本、编译发布脚本、程序,sa日常工具、各种其他适配脚本。

需要说明的是,游戏服务端引擎与titan_node的连接关系为,游戏服务端引擎作为服务端,titan_node作为客户端。在改造前的初始代码中,游戏服务端引擎和titan_node连接的软磁盘是一个阻塞的磁盘,导致在titan_node休眠的情况下,游戏服务端引擎有概率进入休眠。本申请实施例中,在linux压测过程中发现了上述问题,通过将该连接的软磁盘修改为非阻塞解决,解决了原先游戏服务端引擎存在的部分代码非线程安全的问题。

通过本申请实施例,对周边运维部署脚本配合环境的改造,可以解决游戏服务端引擎在linux系统上运行的各种异常,保证稳定性,解决游戏服务端引擎与titan_node连接可能异常的问题。

在一种可选的实施例中,在将上述待迁移服务端引擎从上述第一操作系统迁移至第二操作系统之后,上述方法还包括:

步骤s902,将迁移至上述第二操作系统的迁移后服务端引擎运行在容器服务上,其中,上述容器服务部署在上述第二操作系统上,上述容器服务的部署方式为通过宿主机启动运行上述第二操作系统上的多个容器进程,每个容器进程用于提供应用程序所需的资源和命名空间。

可选的,上述容器服务一般部署在linux操作系统上,而且不支持freebsd操作系统,因此在将上述待迁移服务端引擎从上述第一操作系统迁移至第二操作系统之后,还需要将第二操作系统上的迁移后服务端引擎运行在容器服务上。

上述容器服务的部署方式为通过宿主机启动运行上述第二操作系统上的多个容器进程,每个容器进程作为沙盒,可以用于提供应用程序所需的资源和命名空间。

通过本申请实施例,迁移后服务端引擎对时区tzname全局变量的访问是非线程安全的;部分多线程使用的api非线程安全,引入sanitizer,对游戏服务端引擎进行一个比较全面的检测,针对容器部署,对游戏服务端引擎代码做了适配,可以解决分配端口、获取配置以及游戏服务端引擎的udbbinlog在linux操作系统下无法正常恢复的问题。

根据本发明实施例,还提供了一种用于实施上述游戏服务端引擎的迁移方法的装置实施例,图2是根据本发明实施例的一种游戏服务端引擎的迁移装置的结构示意图,如图2所示,上述游戏服务端引擎的迁移装置,包括:调整模块200和迁移模块202,其中:

调整模块200,用于对初始服务端引擎执行调整处理,得到待迁移服务端引擎,其中,上述初始服务端引擎运行在第一操作系统上,上述第一操作系统为基于初始部署策略确定的系统,上述调整处理的内容包括以下至少之一:代码、编译选项、第三方库、网络链接方式;迁移模块202,用于将上述待迁移服务端引擎从上述第一操作系统迁移至第二操作系统,其中,上述第二操作系统至少用于提升迁移后服务端引擎的运行性能。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,例如,对于后者,可以通过以下方式实现:上述各个模块可以位于同一处理器中;或者,上述各个模块以任意组合的方式位于不同的处理器中。

此处需要说明的是,上述调整模块200和迁移模块202对应于方法实施例中的步骤s102至步骤s104,上述模块与对应的步骤所实现的实例和应用场景相同,但不限于上述方法实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在计算机终端中。

需要说明的是,本实施例的可选或优选实施方式可以参见方法实施例中的相关描述,此处不再赘述。

上述的游戏服务端引擎的迁移装置还可以包括处理器和存储器,上述调整模块200和迁移模块202等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

处理器中包含内核,由内核去存储器中调取相应的程序单元,上述内核可以设置一个或以上。存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram),存储器包括至少一个存储芯片。

根据本申请实施例,还提供了一种非易失性存储介质实施例。可选地,在本实施例中,上述非易失性存储介质包括存储的程序,其中,在上述程序运行时控制上述非易失性存储介质所在设备执行上述任意一种游戏服务端引擎的迁移方法。

可选地,在本实施例中,上述非易失性存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中,上述非易失性存储介质包括存储的程序。

可选地,在程序运行时控制非易失性存储介质所在设备执行以下功能:对初始服务端引擎执行调整处理,得到待迁移服务端引擎,其中,上述初始服务端引擎运行在第一操作系统上,上述第一操作系统为基于初始部署策略确定的系统,上述调整处理的内容包括以下至少之一:代码、编译选项、第三方库、网络链接方式;将上述待迁移服务端引擎从上述第一操作系统迁移至第二操作系统,其中,上述第二操作系统至少用于提升迁移后服务端引擎的运行性能。

可选地,在程序运行时控制非易失性存储介质所在设备执行以下功能:对上述初始服务端引擎的代码的网络库执行切换处理,得到第一处理结果;基于上述第一处理结果对上述代码的主循环执行修改处理,得到第二处理结果;基于上述第二处理结果对上述代码的字符串操作接口执行替换处理,以及对上述代码中的配置读取代码进行调整处理,得到上述待迁移服务端引擎。

可选地,在程序运行时控制非易失性存储介质所在设备执行以下功能:确定上述代码的第一网络库,其中,上述第一网络库为上述第一操作系统的提供的异步网络库,上述第一网络库包括:kqueue网络库;将上述第一网络库切换为第二网络库,其中,上述第二网络库为上述第二操作系统提供的异步网络库,上述第二网络库包括:redisae网络库。

可选地,在程序运行时控制非易失性存储介质所在设备执行以下功能:获取上述第二网络库的待调用主循环;将上述代码的主循环修改为上述待调用主循环。

可选地,在程序运行时控制非易失性存储介质所在设备执行以下功能:获取上述代码在上述第一操作系统中采用的字符串操作接口;获取上述第二操作系统中的可替换操作接口,其中,上述可替换操作接口与上述字符串操作接口的接口功能对应;采用上述可替换操作接口替换上述字符串操作接口。

可选地,在程序运行时控制非易失性存储介质所在设备执行以下功能:确定上述第二操作系统的编译环境;基于上述编译环境对上述初始服务端引擎的编译选项进行调整,得到目标编译选项,其中,上述目标编译选项为上述第二操作系统和上述编译环境支持的编译选项;基于上述目标编译选项确定上述待迁移服务端引擎。

可选地,在程序运行时控制非易失性存储介质所在设备执行以下功能:获取上述第二操作系统所支持的第三方库;基于上述第二操作系统所支持的第三方库,对上述初始服务端引擎的第三方库进行重新编写,或者对上述初始服务端引擎的第三方库进行版本调整,得到上述待迁移服务端引擎。

可选地,在程序运行时控制非易失性存储介质所在设备执行以下功能:获取上述第二操作系统所支持的网络链接方式,其中,上述网络链接方式包括:客户端网络连接方式,服务器间网络连接方式,超文本传输网络连接方式;基于上述第二操作系统所支持的网络链接方式,对上述初始服务端引擎的多个网络链接方式进行顺序调整,或者对上述网络链接方式的链接选项进行优化,得到上述待迁移服务端引擎。

可选地,在程序运行时控制非易失性存储介质所在设备执行以下功能:将迁移至上述第二操作系统的迁移后服务端引擎运行在容器服务上,其中,上述容器服务部署在上述第二操作系统上,上述容器服务的部署方式为通过宿主机启动运行上述第二操作系统上的多个容器进程,每个容器进程用于提供应用程序所需的资源和命名空间。

根据本申请实施例,还提供了一种处理器实施例。可选地,在本实施例中,上述处理器用于运行程序,其中,上述程序运行时执行上述任意一种游戏服务端引擎的迁移方法。

本申请实施例提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为运行上述计算机程序以执行任意一项上述的游戏服务端引擎的迁移方法。

本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化任意一项上述的游戏服务端引擎的迁移方法步骤的程序。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取非易失性存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个非易失性存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的非易失性存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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