CN110928645A - 服务器维护方法、装置、存储介质、处理器及电子装置 - Google Patents
服务器维护方法、装置、存储介质、处理器及电子装置 Download PDFInfo
- Publication number
- CN110928645A CN110928645A CN201911149546.2A CN201911149546A CN110928645A CN 110928645 A CN110928645 A CN 110928645A CN 201911149546 A CN201911149546 A CN 201911149546A CN 110928645 A CN110928645 A CN 110928645A
- Authority
- CN
- China
- Prior art keywords
- container
- server
- game logic
- communication identifier
- running
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/352—Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/51—Server architecture
- A63F2300/513—Server architecture server hierarchy, e.g. local, regional, national or dedicated for different tasks, e.g. authenticating, billing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种服务器维护方法、装置、存储介质、处理器及电子装置。该方法包括:通过服务器的第一容器运行第一游戏逻辑并响应客户端请求;响应更新指令,在服务器的第二容器中更新并运行第二游戏逻辑,其中,第二游戏逻辑为第一游戏逻辑更新后的游戏逻辑;通过第二容器接收客户端发送的当前游戏逻辑请求,根据第二游戏逻辑响应当前游戏逻辑请求。本发明解决了相关技术中所提供的不停服方案需要通过多个服务器集群之间的切换来完成,在此过程中需要同时消耗参与切换的多个服务器集群上的服务器资源,由此导致维护成本较高的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种服务器维护方法、装置、存储介质、处理器及电子装置。
背景技术
目前,相关技术中在游戏领域提供了多种不停服维护方案。图1是根据相关技术的一种较为常用的不停服维护方式示意图,如图1所示,游戏服务端只需部署在服务器集群A上,并提供集群的入口。该入口可以理解为服务端集群的连接地址,例如:服务器集群A中所包含的各个服务器的互联网协议(IP)地址或域名所组成的列表,用于客户端向服务端发起连接。为了实现切换,客户端需要变更其所连接的服务端入口,进而实现服务端集群的切换。为此,客户端识别到服务器集群A的入口,然后与服务器集群A进行通信,此时一个服务器集群便可以提供游戏服务。
为了实现“不停服”维护,通常是通过多个服务器集群之间的切换来代替停服维护。由于切换的操作对于游戏玩家而言只是重新登录游戏,其感官上似乎游戏服务端无需停止运行即可完成维护更新,因此称之为不停服维护。为达到该目的,通常需要提前部署另一个服务器集群B,并且服务器集群B上的服务器资源需要与服务器集群A上的服务器资源相当。当服务器集群B维护完成并且经过充分测试之后,即可向游戏玩家开放服务器集群B的入口通知客户端开始切换,以便游戏玩家向服务器集群B的入口发起连接。然后,客户端再通知游戏玩家重新进入游戏,此时客户端经过简短地更新之后,切换成服务器集群B的入口。当游戏玩家重新登录游戏时,已经切换到服务器集群B。
由于不同游戏机制之间存在差异,不同游戏玩家的切换时机也不尽相同,因此这种切换方式通常会存在一个窗口期。在这段窗口期间,部分游戏玩家依然由服务端集群A提供服务,而另一部分游戏玩家则由服务端集群B提供服务。现有技术中,为了能够确保服务端集群A与服务端集群B之间的隔离,同时还需要确保游戏玩家在窗口期内的游戏体验,因此,需要采用双倍服务器资源来实现游戏服务端的双生产环境。然而,虽然这种方式实现简单,服务端不需要进行过多改造即可实现,但是,单纯为实现满足窗口期的游戏体验而需要一直承担双倍的服务器资源成本,则是大多数游戏项目开发与运行过程中难以接受的。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明至少部分实施例提供了一种服务器维护方法、装置、存储介质、处理器及电子装置,以至少解决相关技术中所提供的不停服方案需要通过多个服务器集群之间的切换来完成,在此过程中需要同时消耗参与切换的多个服务器集群上的服务器资源,由此导致维护成本较高的技术问题。
根据本发明其中一实施例,提供了一种服务器维护方法,服务器包括第一容器和第二容器,该方法包括:
通过服务器的第一容器运行第一游戏逻辑并响应客户端请求;响应更新指令,在服务器的第二容器中更新并运行第二游戏逻辑,其中,第二游戏逻辑为第一游戏逻辑更新后的游戏逻辑;通过第二容器接收客户端发送的当前游戏逻辑请求,根据第二游戏逻辑响应当前游戏逻辑请求。
可选地,上述方法还包括:通过第一容器向客户端发送更新通知,以使客户端根据更新通知将第一游戏逻辑请求通信标识更新为第二游戏逻辑请求通信标识,其中,第一游戏逻辑请求通信标识与第一容器的通信标识相对应,第二游戏逻辑请求通信标识与第二容器的通信标识相对应。
可选地,上述方法还包括:构建第一容器环境和第二容器环境,其中,第一容器环境用于为第一容器提供服务端进程运行的服务器环境,第二容器环境用于为第二容器提供服务端进程运行的服务器环境;在第一容器环境下构建第一容器,以及在第二容器环境下构建第二容器。
可选地,上述方法还包括:为服务器绑定多个通信标识,其中,多个通信标识包括:第一通信标识、第二通信标识和第三通信标识,第一通信标识用于第一容器与其余容器进行通信,第二通信标识用于第二容器与其余容器进行通信,第三通信标识用于服务器与其余服务器进行通信;基于第一通信标识与第二通信标识对服务器上构建的第一容器和第二容器进行分组,其中,第一容器和第二容器分别归属于不同的容器组。
可选地,上述方法还包括:从第一容器与第二容器中确定待启动的容器;控制待启动的容器独占服务器上的资源。
可选地,上述方法还包括:同时启动第一容器与第二容器;控制第一容器与第二容器在更新游戏逻辑过程中竞争服务器上的资源。
可选地,上述方法还包括:在第一容器与第二容器中确定处于运行状态的容器以及处于空闲状态的容器;对处于空闲状态的容器进行关闭处理。
根据本发明其中一实施例,还提供了一种服务器维护装置,服务器包括第一容器和第二容器,该装置包括:第一处理模块,用于通过服务器的第一容器运行第一游戏逻辑并响应客户端请求;第二处理模块,用于响应更新指令,在服务器的第二容器中更新并运行第二游戏逻辑,其中,第二游戏逻辑为第一游戏逻辑更新后的游戏逻辑;第三处理模块,用于通过第二容器接收客户端发送的当前游戏逻辑请求,根据第二游戏逻辑响应当前游戏逻辑请求。
可选地,上述装置还包括:发送模块,用于通过第一容器向客户端发送更新通知,以使客户端根据更新通知将第一游戏逻辑请求通信标识更新为第二游戏逻辑请求通信标识,其中,第一游戏逻辑请求通信标识与第一容器的通信标识相对应,第二游戏逻辑请求通信标识与第二容器的通信标识相对应。
可选地,上述装置还包括:构建模块,用于构建第一容器环境和第二容器环境,其中,第一容器环境用于为第一容器提供服务端进程运行的服务器环境,第二容器环境用于为第二容器提供服务端进程运行的服务器环境;以及在第一容器环境下构建第一容器,以及在第二容器环境下构建第二容器。
可选地,上述装置还包括:绑定模块,用于为服务器绑定多个通信标识,其中,多个通信标识包括:第一通信标识、第二通信标识和第三通信标识,第一通信标识用于第一容器与其余容器进行通信,第二通信标识用于第二容器与其余容器进行通信,第三通信标识用于服务器与其余服务器进行通信;第四处理模块,用于基于第一通信标识与第二通信标识对服务器上构建的第一容器和第二容器进行分组,其中,第一容器和第二容器分别归属于不同的容器组。
可选地,上述装置还包括:第五处理模块,用于从第一容器与第二容器中确定待启动的容器,以及控制待启动的容器独占服务器上的资源。
可选地,上述装置包括:第六处理模块,用于同时启动第一容器与第二容器;以及控制第一容器与第二容器在更新游戏逻辑过程中竞争服务器上的资源。
可选地,上述装置还包括:第七处理模块,用于在第一容器与第二容器中确定处于运行状态的容器以及处于空闲状态的容器,以及对处于空闲状态的容器进行关闭处理。
根据本发明其中一实施例,还提供了一种存储介质,存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述任一项中的服务器维护方法。
根据本发明其中一实施例,还提供了一种处理器,处理器用于运行程序,其中,程序被设置为运行时执行上述任一项中的服务器维护方法。
根据本发明其中一实施例,还提供了一种电子装置,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述任一项中的服务器维护方法。
在本发明至少部分实施例中,采用通过服务器的第一容器运行第一游戏逻辑并响应客户端请求,以及响应更新指令,在服务器的第二容器中更新并运行第二游戏逻辑,该第二游戏逻辑为第一游戏逻辑更新后的游戏逻辑的方式,通过第二容器接收客户端发送的当前游戏逻辑请求,以及根据第二游戏逻辑响应当前游戏逻辑请求,达到了在不增加服务器数量的情况下,使用容器技术在单位服务器上启动两个相互独立的容器的目的,从而实现了确保游戏玩家能够在两个容器之间切换时,不会超过整个服务器的负载能力,并确保游戏玩家的游戏体验的技术效果,进而解决了相关技术中所提供的不停服方案需要通过多个服务器集群之间的切换来完成,在此过程中需要同时消耗参与切换的多个服务器集群上的服务器资源,由此导致维护成本较高的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据相关技术的一种较为常用的不停服维护方式示意图;
图2是根据本发明其中一实施例的服务器维护方法的流程图;
图3是根据本发明其中一可选实施例的服务器维护过程示意图;
图4是根据本发明其中一实施例的服务器维护装置的结构框图;
图5是根据本发明其中一可选实施例的服务器维护装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明其中一实施例,提供了一种服务器维护方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
该方法实施例可以在服务器、计算机终端或者类似的运算装置中执行。以运行在服务器上为例,服务器可以包括一个或多个处理器(处理器可以包括但不限于中央处理器(CPU)、图形处理器(GPU)、数字信号处理(DSP)芯片、微处理器(MCU)或可编程逻辑器件(FPGA)等的处理装置)和用于存储数据的存储器。可选地,上述服务器还可以包括用于通信功能的传输设备、输入输出设备以及显示设备。本领域普通技术人员可以理解,上述结构描述仅为示意,其并不对上述服务器的结构造成限定。例如,服务器还可包括比上述结构描述更多或者更少的组件,或者具有与上述结构描述不同的配置。
存储器可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的服务器维护方法对应的计算机程序,处理器通过运行存储在存储器内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的服务器维护方法。存储器可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器的通信供应商提供的无线网络。在一个实例中,传输设备包括一个网络适配器(NetworkInterface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
显示设备可以例如触摸屏式的液晶显示器(LCD)和触摸显示器(也被称为“触摸屏”或“触摸显示屏”)。该液晶显示器可使得用户能够与服务器的用户界面进行交互。在一些实施例中,上述服务器具有图形用户界面(GUI),用户可以通过触摸触敏表面上的手指接触和/或手势来与GUI进行人机交互,此处的人机交互功能可选的包括如下交互:创建网页、绘图、文字处理、制作电子文档、游戏、视频会议、即时通信、收发电子邮件、通话界面、播放数字视频、播放数字音乐和/或网络浏览等、用于执行上述人机交互功能的可执行指令被配置/存储在一个或多个处理器可执行的计算机程序产品或可读存储介质中。
在本实施例中提供了一种运行于上述服务器的服务器维护方法,服务器包括第一容器和第二容器,图2是根据本发明其中一实施例的服务器维护方法的流程图,如图2所示,该方法包括如下步骤:
步骤S202,通过服务器的第一容器运行第一游戏逻辑并响应客户端请求;
步骤S204,响应更新指令,在服务器的第二容器中更新并运行第二游戏逻辑,其中,第二游戏逻辑为第一游戏逻辑更新后的游戏逻辑;
步骤S206,通过第二容器接收客户端发送的当前游戏逻辑请求,根据第二游戏逻辑响应当前游戏逻辑请求。
通过上述步骤,可以采用通过服务器的第一容器运行第一游戏逻辑并响应客户端请求,以及响应更新指令,在服务器的第二容器中更新并运行第二游戏逻辑,该第二游戏逻辑为第一游戏逻辑更新后的游戏逻辑的方式,通过第二容器接收客户端发送的当前游戏逻辑请求,以及根据所述第二游戏逻辑响应所述当前游戏逻辑请求,达到了在不增加服务器数量的情况下,使用容器技术在单位服务器上启动两个相互独立的容器的目的,从而实现了确保游戏玩家能够在两个容器之间切换时,不会超过整个服务器的负载能力,并确保游戏玩家的游戏体验的技术效果,进而解决了相关技术中所提供的不停服方案需要通过多个服务器集群之间的切换来完成,在此过程中需要同时消耗参与切换的多个服务器集群上的服务器资源,由此导致维护成本较高的技术问题。
容器技术(docker)是一种操作系统层面的虚拟化,可以对进程进行隔离封装。相比于现有的虚拟化技术,容器技术更加简洁和轻量,其中,操作系统(例如:Linux)内核不仅能够提供容器对资源的精细化控制,而且还可以为容器提供进程、网络、文件结构、用户等方面隔离。
上述服务器上的资源主要包括:在服务器维护过程中,同一个服务器上不同容器之间进行切换所使用的计算资源,例如:处理器资源、存储器资源。本发明实施例利用容器天生的环境隔离和资源控制能力,能够在单个服务端业务集群节点提供的单位服务器资源的条件下部署一个容器,而在需要时能够启动另一个完全独立的容器。在启动两个容器的过程中,这两个容器具备完全隔离的运行环境和网络环境,并且还能够确保游戏玩家在两个容器之间平滑切换。
在服务器中部署的容器用于运行游戏逻辑。在服务器维护之前,可以首先启动第一容器来运行第一游戏逻辑,然后再由第一容器来响应并处理客户端发送的与第一游戏逻辑有关的请求。如果需要对服务器进行维护(即对游戏逻辑进行更新),则响应更新指令,并在服务器的第二容器中更新并运行第二游戏逻辑。该第二游戏逻辑为第一游戏逻辑更新后的游戏逻辑。在对第二容器上运行的第二游戏逻辑更新完毕之后,可以通过第二容器接收客户端发送的当前游戏逻辑请求,以便根据第二游戏逻辑响应当前游戏逻辑请求。由此避免在窗口期时过度消耗服务器上的资源。
可选地,上述方法还可以包括如下执行步骤:
步骤S208,通过第一容器向客户端发送更新通知,以使客户端根据更新通知将第一游戏逻辑请求通信标识更新为第二游戏逻辑请求通信标识,其中,第一游戏逻辑请求通信标识与第一容器的通信标识相对应,第二游戏逻辑请求通信标识与第二容器的通信标识相对应。
即,在第一容器未向客户端发送更新通知之前,客户端始终保持采用与第一容器的通信标识对应的第一游戏逻辑请求通信标识与第一容器进行通信交互。而在服务器维护过程中,需要由第二容器为客户端提供后续游戏逻辑,因此,通过第一容器向客户端发送更新通知,以使客户端根据更新通知将第一游戏逻辑请求通信标识更新为第二游戏逻辑请求通信标识,进而采用与第二容器的通信标识对应的第二游戏逻辑请求通信标识与第一容器进行通信交互。
可选地,上述方法可以包括以下执行步骤:
步骤S210,构建第一容器环境和第二容器环境,其中,第一容器环境用于为第一容器提供服务端进程运行的服务器环境,第二容器环境用于为第二容器提供服务端进程运行的服务器环境;
步骤S212,在第一容器环境下构建第一容器,以及在第二容器环境下构建第二容器。
在一个可选实施例中,可以构建类似虚拟机的“富容器”镜像。基于容器技术构建“富容器”,将原先部署于服务器上的服务端迁移到容器中。通过容器镜像还原一个服务端进程运行的服务器环境。该容器镜像(其实质上相当于配置信息模板)在启动过程中会自动配置完成全部系统参数、安装完成所有依赖的软件包、准备完成进程所需的目录结构,同时还能够启动完成所有依赖的系统服务。并且,在此容器镜像启动过程中,无需启动任何业务进程(例如:游戏进程),而是在启动完毕之后,按需部署并启动业务进程,由此使得容器的使用与现有技术中所提供的物理机的使用方式极为类似。
鉴于容器的设计理念最适合于运行微服务,而运行微服务的容器通常只包含服务对应业务进程,并且无状态,可以启动多个副本以及可以动态伸缩。然而,诸如很多大型游戏服务端的业务服务,其服务对应的进程是有状态的,并且进程密集、架构复杂,很难拆分成微服务的形式部署。因此,针对一些难以容器化的服务,可以通过容器镜像快速地实现容器化地部署。
对于不同规模的服务端集群而言,通过容器天生的隔离性形成两个互相隔离的容器组,进而为两套服务端的部署构建了计算资源环境。具体地,在实际游戏项目开发过程中可以预先确定所使用的宿主机(即上述服务器,通常是一台物理机或是虚拟机)数量。在每一台宿主机上可以构建两个独立的富容器环境(即上述第一容器环境和第二容器环境)。然后,在第一容器环境下构建第一容器以及在第二容器环境下构建第二容器。
可选地,上述方法可以包括以下执行步骤:
步骤S214,为服务器绑定多个通信标识,其中,多个通信标识包括:第一通信标识、第二通信标识和第三通信标识,第一通信标识用于第一容器与其余容器进行通信,第二通信标识用于第二容器与其余容器进行通信,第三通信标识用于服务器与其余服务器进行通信;
步骤S216,基于第一通信标识与第二通信标识对服务器上构建的第一容器和第二容器进行分组,其中,第一容器和第二容器分别归属于不同的容器组。
上述通信标识可以包括但不限于:互联网协议(IP)地址。在一个可选实施例中,为每台宿主机额外配置两个IP地址,分别赋予属于同一个宿主机中的两个容器,使得宿主机上的两个容器共用宿主机的网络环境时又具备独立的IP地址,进而为两套服务端的部署构建相应的网络环境。由此部署在两组容器上的服务端都能够具有各自独立的入口,使得在两组服务端之间的切换更加清晰。例如:在每一台宿主机绑定三个内网IP地址:10.100.1.1(相当于上述第三通信标识),10.100.2.1(相当于上述第一通信标识)和10.100.3.1(相当于上述第二通信标识),此时宿主机可以使用这三个IP地址与内网中其余宿主机以及宿主机上的容器进行通信。在宿主机上使用共享宿主机网络方式启动两个容器。在该可选实施例中,限定宿主机上的进程使用10.100.1.1,两个容器分别使用10.100.2.1和10.100.3.1,这样宿主机和宿主机上的容器都能够与外界进行通信,同时还能够具有各自独立的IP地址。
在对每个服务器上构建的第一容器和第二容器进行分组的过程中,既可以采用人工指定的方式将其中一部分绑定IP地址的容器划分为一个容器组以及将剩余部分绑定IP地址的容器划分为另一个容器组,也可以采用宿主机自主设定的方式将其中一部分绑定IP地址的容器划分为一个容器组以及将剩余部分绑定IP地址的容器划分为另一个容器组。只要能够确保同一个宿主机上的两个不同容器分别归属于不同的容器组即可。例如:将IP地址为10.100.2.1的容器划分至第一容器组,以及将IP地址为10.100.3.1的容器划分至第二容器组。
通过实现固定IP地址的容器,可以使得服务端从传统的物理机或虚拟机部署方式快速切换到容器化部署,并且使得两套服务端环境各自拥有相对独立的网络和入口。
可选地,上述方法还可以包括以下执行步骤:
步骤S218,从第一容器与第二容器中确定待启动的容器,以及控制待启动的容器独占服务器上的资源。
为了能够充分利用宿主机的资源,可以限定宿主机上的每个容器所能够使用的处理器资源和存储器资源的最大阈值即为宿主机的处理器资源和存储器资源的上限值。由此通过在每台宿主机上构建两个容器之后,从第一容器与第二容器中确定待启动的容器,即在每台宿主机上只启动一个容器时,这个容器能够充分利用整个宿主机的资源。图3是根据本发明其中一可选实施例的服务器维护过程示意图,如图3所示,在宿主机1上构建容器1和容器2,在宿主机2上构建容器3和容器4,在宿主机3上构建容器5和容器6,以及在宿主机4上构建容器7和容器8。由容器1、容器3、容器5和容器7组成容器组1,以及由容器2、容器4、容器6和容器8组成容器组2。假设容器组1为待启动的容器组,则容器1能够充分利用整个宿主机1的资源,容器3能够充分利用整个宿主机2的资源,容器5能够充分利用整个宿主机3的资源,以及容器7能够充分利用整个宿主机4的资源。
可选地,上述方法还可以包括以下执行步骤:
步骤S220,同时启动第一容器与第二容器;
步骤S222,控制第一容器与第二容器中在更新游戏逻辑过程中竞争服务器上的资源。
当在每台宿主机上同时启动两个容器时,这两个容器会竞争同一个宿主机上的资源,又由于在两个容器之间的迁移过程中,总体资源利用率不会超过宿主机的负载能力,因此两个容器的总体资源需求也不会超过宿主机的资源上限。即,当同时启动两个容器时,可以利用容器对资源的控制能力既能够确保这两个容器能够充分争取整个宿主机上的资源,又能够确保总体资源利用率不会超过宿主机的资源上限。
仍然如图3所示,在同时启动容器组1和容器组2之后,在两个容器之间的迁移过程中,容器1和容器2会竞争同一个宿主机1上的资源,并且总体资源利用率不会超过宿主机1的负载能力。容器3和容器4会竞争同一个宿主机2上的资源,并且总体资源利用率不会超过宿主机2的负载能力。容器5和容器6会竞争同一个宿主机3上的资源,并且总体资源利用率不会超过宿主机3的负载能力。容器7和容器8会竞争同一个宿主机4上的资源,并且总体资源利用率不会超过宿主机4的负载能力。
可选地,上述方法还可以包括以下执行步骤:
步骤S224,在第一容器与第二容器中确定处于运行状态的容器以及处于空闲状态的容器,以及对处于空闲状态的容器进行关闭处理。
在第一容器与第二容器之间进行切换之后,第一容器与第二容器中的其中一个容器会保持启动运行状态,而另外一个容器则会处于空闲待机状态。此时,可以对处于空闲状态的容器进行关闭处理。
仍然如3所示,在容器组1与容器组2之间进行切换之后,假设容器组2保持启动运行状态,而容器组1处于空闲待机状态,则可以对处于空闲状态的容器组1进行关闭处理。此时容器2能够充分利用整个宿主机1的资源,容器4能够充分利用整个宿主机2的资源,容器6能够充分利用整个宿主机3的资源,以及容器8能够充分利用整个宿主机4的资源。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种服务器维护装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是根据本发明其中一实施例的服务器维护装置的结构框图,服务器包括第一容器和第二容器,如图4所示,该装置包括:第一处理模块100,用于通过服务器的第一容器运行第一游戏逻辑并响应客户端请求;第二处理模块102,用于响应更新指令,在服务器的第二容器中更新并运行第二游戏逻辑,其中,第二游戏逻辑为第一游戏逻辑更新后的游戏逻辑;第三处理模块104,用于通过第二容器接收客户端发送的当前游戏逻辑请求,根据第二游戏逻辑响应当前游戏逻辑请求。
可选地,图5是根据本发明其中一可选实施例的服务器维护装置的结构框图,如图5所示,该装置除包括图4所示的所有模块外,上述装置还包括:发送模块106,用于通过第一容器向客户端发送更新通知,以使客户端根据更新通知将第一游戏逻辑请求通信标识更新为第二游戏逻辑请求通信标识,其中,第一游戏逻辑请求通信标识与第一容器的通信标识相对应,第二游戏逻辑请求通信标识与第二容器的通信标识相对应。
可选地,如图5所示,该装置除包括图4所示的所有模块外,上述装置还包括:构建模块108,用于构建第一容器环境和第二容器环境,其中,第一容器环境用于为第一容器提供服务端进程运行的服务器环境,第二容器环境用于为第二容器提供服务端进程运行的服务器环境;以及在第一容器环境下构建第一容器,以及在第二容器环境下构建第二容器。
可选地,如图5所示,该装置除包括图4所示的所有模块外,上述装置还包括:绑定模块110,用于为多个服务器中的每个服务器绑定多个通信标识,其中,多个通信标识包括:第一通信标识、第二通信标识和第三通信标识,第一通信标识用于第一容器与其余容器进行通信,第二通信标识用于第二容器与其余容器进行通信,第三通信标识用于服务器与其余服务器进行通信;第四处理模块112,用于基于第一通信标识与第二通信标识对服务器上构建的第一容器和第二容器进行分组,其中,第一容器和第二容器分别归属于不同的容器组。
可选地,如图5所示,该装置除包括图4所示的所有模块外,上述装置还包括:第五处理模块114,用于从第一容器与第二容器中确定待启动的容器,以及控制待启动的容器独占服务器上的资源。
可选地,如图5所示,该装置除包括图4所示的所有模块外,上述装置还包括:第六处理模块116,用于同时启动第一容器与第二容器;以及控制第一容器与第二容器在更新游戏逻辑过程中竞争服务器上的资源。
可选地,如图5所示,该装置除包括图4所示的所有模块外,上述装置还包括:第七处理模块118,用于在第一容器与第二容器中确定处于运行状态的容器以及处于空闲状态的容器,以及对处于空闲状态的容器进行关闭处理。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,通过服务器的第一容器运行第一游戏逻辑并响应客户端请求;
S2,响应更新指令,在服务器的第二容器中更新并运行第二游戏逻辑,其中,第二游戏逻辑为第一游戏逻辑更新后的游戏逻辑;
S3,通过第二容器接收客户端发送的当前游戏逻辑请求,根据第二游戏逻辑响应当前游戏逻辑请求。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,通过服务器的第一容器运行第一游戏逻辑并响应客户端请求;
S2,响应更新指令,在服务器的第二容器中更新并运行第二游戏逻辑,其中,第二游戏逻辑为第一游戏逻辑更新后的游戏逻辑;
S3,通过第二容器接收客户端发送的当前游戏逻辑请求,根据第二游戏逻辑响应当前游戏逻辑请求。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (11)
1.一种服务器维护方法,其特征在于,所述服务器包括第一容器和第二容器,所述方法包括:
通过所述服务器的第一容器运行第一游戏逻辑并响应客户端请求;
响应更新指令,在所述服务器的第二容器中更新并运行第二游戏逻辑,其中,所述第二游戏逻辑为所述第一游戏逻辑更新后的游戏逻辑;
通过所述第二容器接收所述客户端发送的当前游戏逻辑请求,根据所述第二游戏逻辑响应所述当前游戏逻辑请求。
2.根据权利要求1所述的方法,其特征在于,在所述第二容器中更新并运行所述第二游戏逻辑的步骤之后,所述方法还包括:
通过所述第一容器向客户端发送更新通知,以使所述客户端根据所述更新通知将第一游戏逻辑请求通信标识更新为第二游戏逻辑请求通信标识,其中,所述第一游戏逻辑请求通信标识与所述第一容器的通信标识相对应,所述第二游戏逻辑请求通信标识与所述第二容器的通信标识相对应。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
构建第一容器环境和第二容器环境,其中,所述第一容器环境用于为所述第一容器提供服务端进程运行的服务器环境,所述第二容器环境用于为所述第二容器提供服务端进程运行的服务器环境;
在所述第一容器环境下构建所述第一容器,以及在所述第二容器环境下构建所述第二容器。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
为所述服务器绑定多个通信标识,其中,所述多个通信标识包括:第一通信标识、第二通信标识和第三通信标识,所述第一通信标识用于所述第一容器与其余容器进行通信,所述第二通信标识用于所述第二容器与其余容器进行通信,所述第三通信标识用于所述服务器与其余服务器进行通信;
基于所述第一通信标识与所述第二通信标识对所述服务器上构建的所述第一容器和所述第二容器进行分组,其中,所述第一容器和所述第二容器分别归属于不同的容器组。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
从所述第一容器与所述第二容器中确定待启动的容器;
控制所述待启动的容器独占所述服务器上的资源。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
同时启动所述第一容器与所述第二容器;
控制所述第一容器与所述第二容器在更新游戏逻辑过程中竞争所述服务器上的资源。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述第一容器与所述第二容器中确定处于运行状态的容器以及处于空闲状态的容器;
对所述处于空闲状态的容器进行关闭处理。
8.一种服务器维护装置,其特征在于,所述服务器包括第一容器和第二容器,所述装置包括:
第一处理模块,用于通过所述服务器的第一容器运行第一游戏逻辑并响应客户端请求;
第二处理模块,用于响应更新指令,在所述服务器的第二容器中更新并运行第二游戏逻辑,其中,所述第二游戏逻辑为所述第一游戏逻辑更新后的游戏逻辑;
第三处理模块,用于通过所述第二容器接收所述客户端发送的当前游戏逻辑请求,根据所述第二游戏逻辑响应所述当前游戏逻辑请求。
9.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至7任一项中所述的服务器维护方法。
10.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序被设置为运行时执行所述权利要求1至7任一项中所述的服务器维护方法。
11.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至7任一项中所述的服务器维护方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911149546.2A CN110928645B (zh) | 2019-11-21 | 2019-11-21 | 服务器维护方法、装置、存储介质、处理器及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911149546.2A CN110928645B (zh) | 2019-11-21 | 2019-11-21 | 服务器维护方法、装置、存储介质、处理器及电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110928645A true CN110928645A (zh) | 2020-03-27 |
CN110928645B CN110928645B (zh) | 2023-01-24 |
Family
ID=69850630
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911149546.2A Active CN110928645B (zh) | 2019-11-21 | 2019-11-21 | 服务器维护方法、装置、存储介质、处理器及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110928645B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111437599A (zh) * | 2020-03-31 | 2020-07-24 | 广州市百果园信息技术有限公司 | 一种游戏控制方法、装置、设备及存储介质 |
CN112153420A (zh) * | 2020-09-16 | 2020-12-29 | 成都完美天智游科技有限公司 | 场景切换系统、方法、服务器和存储介质 |
CN112774191A (zh) * | 2021-01-26 | 2021-05-11 | 网易(杭州)网络有限公司 | 游戏操作指引方法、装置及系统、非易失性存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106406953A (zh) * | 2016-09-21 | 2017-02-15 | 郑州云海信息技术有限公司 | 一种存储系统软件在线升级方法 |
US20170103607A1 (en) * | 2015-10-08 | 2017-04-13 | Igt Global Solutions Corporation | System, Apparatus and Method for Implementing Game Changes in a Gaming Platform |
CN107025136A (zh) * | 2016-01-29 | 2017-08-08 | 中兴通讯股份有限公司 | 一种去中心化资源调度方法及系统 |
CN108156003A (zh) * | 2016-12-02 | 2018-06-12 | 中国移动通信有限公司研究院 | 一种应用升级方法及终端、服务器、系统 |
CN108804129A (zh) * | 2018-05-31 | 2018-11-13 | 新华三技术有限公司 | 一种软件升级方法及装置 |
CN109347652A (zh) * | 2018-08-31 | 2019-02-15 | 北京奇艺世纪科技有限公司 | 服务器集群的服务管理方法和装置 |
CN109513206A (zh) * | 2017-09-19 | 2019-03-26 | 北京金山云网络技术有限公司 | 网络游戏的网络架构及用于网络游戏的数据转发方法 |
CN110073355A (zh) * | 2016-12-13 | 2019-07-30 | 亚马逊技术股份有限公司 | 服务器上的安全执行环境 |
CN110180177A (zh) * | 2019-05-28 | 2019-08-30 | 网易(杭州)网络有限公司 | 网络游戏的维护方法、装置、介质及电子设备 |
-
2019
- 2019-11-21 CN CN201911149546.2A patent/CN110928645B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170103607A1 (en) * | 2015-10-08 | 2017-04-13 | Igt Global Solutions Corporation | System, Apparatus and Method for Implementing Game Changes in a Gaming Platform |
CN107025136A (zh) * | 2016-01-29 | 2017-08-08 | 中兴通讯股份有限公司 | 一种去中心化资源调度方法及系统 |
CN106406953A (zh) * | 2016-09-21 | 2017-02-15 | 郑州云海信息技术有限公司 | 一种存储系统软件在线升级方法 |
CN108156003A (zh) * | 2016-12-02 | 2018-06-12 | 中国移动通信有限公司研究院 | 一种应用升级方法及终端、服务器、系统 |
CN110073355A (zh) * | 2016-12-13 | 2019-07-30 | 亚马逊技术股份有限公司 | 服务器上的安全执行环境 |
CN109513206A (zh) * | 2017-09-19 | 2019-03-26 | 北京金山云网络技术有限公司 | 网络游戏的网络架构及用于网络游戏的数据转发方法 |
CN108804129A (zh) * | 2018-05-31 | 2018-11-13 | 新华三技术有限公司 | 一种软件升级方法及装置 |
CN109347652A (zh) * | 2018-08-31 | 2019-02-15 | 北京奇艺世纪科技有限公司 | 服务器集群的服务管理方法和装置 |
CN110180177A (zh) * | 2019-05-28 | 2019-08-30 | 网易(杭州)网络有限公司 | 网络游戏的维护方法、装置、介质及电子设备 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111437599A (zh) * | 2020-03-31 | 2020-07-24 | 广州市百果园信息技术有限公司 | 一种游戏控制方法、装置、设备及存储介质 |
CN112153420A (zh) * | 2020-09-16 | 2020-12-29 | 成都完美天智游科技有限公司 | 场景切换系统、方法、服务器和存储介质 |
CN112153420B (zh) * | 2020-09-16 | 2022-08-26 | 成都完美天智游科技有限公司 | 场景切换系统、方法、服务器和存储介质 |
CN112774191A (zh) * | 2021-01-26 | 2021-05-11 | 网易(杭州)网络有限公司 | 游戏操作指引方法、装置及系统、非易失性存储介质 |
CN112774191B (zh) * | 2021-01-26 | 2024-02-23 | 网易(杭州)网络有限公司 | 游戏操作指引方法、装置及系统、非易失性存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110928645B (zh) | 2023-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110928645B (zh) | 服务器维护方法、装置、存储介质、处理器及电子装置 | |
CN106471791B (zh) | 用于基于移动设备的集群计算架构的方法和装置 | |
CN107231815B (zh) | 用于图形渲染的系统和方法 | |
CN108568109B (zh) | 一种游戏控制方法、装置及存储介质 | |
CN107078969A (zh) | 实现负载均衡的计算机设备、系统和方法 | |
WO2017063512A1 (zh) | 应用于虚拟化桌面场景的存储服务平台及其实现方法 | |
US11809901B2 (en) | Migrating the runtime state of a container between two nodes | |
CN105677342B (zh) | 一种解决异构操作系统的复合桌面虚拟化方法 | |
CN105630587A (zh) | 应用程序数据在终端之间迁移的方法、装置及系统 | |
CN111694789A (zh) | 嵌入式可重构异构测定方法、系统、存储介质、处理器 | |
CN110928637A (zh) | 负载均衡方法和系统 | |
CN104174163A (zh) | 游戏手柄键值自动配置系统及方法 | |
CN110851224B (zh) | 一种基于容器的idv云桌面的智能切换系统及方法 | |
CN110935167B (zh) | 服务端维护方法、装置、处理器及电子装置 | |
CN113398595A (zh) | 场景资源的更新方法及装置、存储介质、电子装置 | |
CN109857464A (zh) | 用于平台部署与操作移动操作系统的系统及其方法 | |
CN104598309B (zh) | 基于os虚拟化的多模式os的系统和其创建、切换方法 | |
CN109857471A (zh) | 一种bios和bmc下电策略实时同步的方法、装置、终端及存储介质 | |
CN114124697A (zh) | 一种网络切换方法、网络切换装置及存储介质 | |
CN111522624B (zh) | 一种基于虚拟化技术的报文转发性能弹性扩展系统及其扩展方法 | |
CN111262771B (zh) | 虚拟私有云通信系统、系统配置方法及控制器 | |
CN107006068B (zh) | 一种无线接入网设备、配置方法和配置装置 | |
CN111475176B (zh) | 一种数据读写的方法、相关装置、系统以及存储介质 | |
CN109657471B (zh) | 云设备管理系统和方法 | |
WO2024087717A1 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |