CN110935167B - 服务端维护方法、装置、处理器及电子装置 - Google Patents

服务端维护方法、装置、处理器及电子装置 Download PDF

Info

Publication number
CN110935167B
CN110935167B CN201911150784.5A CN201911150784A CN110935167B CN 110935167 B CN110935167 B CN 110935167B CN 201911150784 A CN201911150784 A CN 201911150784A CN 110935167 B CN110935167 B CN 110935167B
Authority
CN
China
Prior art keywords
container
server
scheduled
service cluster
game logic
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.)
Active
Application number
CN201911150784.5A
Other languages
English (en)
Other versions
CN110935167A (zh
Inventor
杨帆
黄绍鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN201911150784.5A priority Critical patent/CN110935167B/zh
Publication of CN110935167A publication Critical patent/CN110935167A/zh
Application granted granted Critical
Publication of CN110935167B publication Critical patent/CN110935167B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (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是根据本发明其中一可选实施例的node选择策略示意图;
图4是根据本发明其中一可选实施例的pod反亲和性策略示意图;
图5是根据本发明其中一实施例的整体结构示意图;
图6是根据本发明其中一实施例的服务端维护装置的结构框图;
图7是根据本发明其中一可选实施例的服务端维护装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种服务端维护方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
该方法实施例可以在服务器、计算机终端或者类似的运算装置中执行。以运行在服务器上为例,服务器可以包括一个或多个处理器(处理器可以包括但不限于中央处理器(CPU)、图形处理器(GPU)、数字信号处理(DSP)芯片、微处理器(MCU)或可编程逻辑器件(FPGA)等的处理装置)和用于存储数据的存储器。可选地,上述服务器还可以包括用于通信功能的传输设备、输入输出设备以及显示设备。本领域普通技术人员可以理解,上述结构描述仅为示意,其并不对上述服务器的结构造成限定。例如,服务器还可包括比上述结构描述更多或者更少的组件,或者具有与上述结构描述不同的配置。
存储器可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的服务端维护方法对应的计算机程序,处理器通过运行存储在存储器内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的服务端维护方法。存储器可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器的通信供应商提供的无线网络。在一个实例中,传输设备包括一个网络适配器(NetworkInterface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
显示设备可以例如触摸屏式的液晶显示器(LCD)和触摸显示器(也被称为“触摸屏”或“触摸显示屏”)。该液晶显示器可使得用户能够与服务器的用户界面进行交互。在一些实施例中,上述服务器具有图形用户界面(GUI),用户可以通过触摸触敏表面上的手指接触和/或手势来与GUI进行人机交互,此处的人机交互功能可选的包括如下交互:创建网页、绘图、文字处理、制作电子文档、游戏、视频会议、即时通信、收发电子邮件、通话界面、播放数字视频、播放数字音乐和/或网络浏览等、用于执行上述人机交互功能的可执行指令被配置/存储在一个或多个处理器可执行的计算机程序产品或可读存储介质中。
在本实施例中提供了一种运行于上述服务器的服务端维护方法,图2是根据本发明实施例的服务端维护方法的流程图,如图2所示,该方法包括如下步骤:
步骤S22,将多个待调度容器单位划分至多个服务端业务集群节点,得到第一容器组和第二容器组,其中,多个服务端业务集群节点归属于至少一个服务端业务集群,每个服务端业务集群节点包括至多两个待调度容器单位,且每个服务端业务集群节点所包含的两个待调度容器单位分属不同的容器组;
步骤S24,通过第一容器组运行第一游戏逻辑并响应客户端请求;
步骤S26,在服务器的第二容器组中更新并运行第二游戏逻辑,其中,第二游戏逻辑为第一游戏逻辑更新后的游戏逻辑;
步骤S28,通过第二容器组接收客户端发送的当前游戏逻辑请求,根据第二游戏逻辑响应当前游戏逻辑请求。
通过上述步骤,可以采用将多个待调度容器单位划分至多个服务端业务集群节点,得到第一容器组和第二容器组,该多个服务端业务集群节点归属于至少一个服务端业务集群,每个服务端业务集群节点包括至多两个待调度容器单位,且每个服务端业务集群节点所包含的两个待调度容器单位分属不同的容器组的方式,通过第一容器组运行第一游戏逻辑并响应客户端请求,在服务器的第二容器组中更新并运行第二游戏逻辑,以及通过第二容器组接收客户端发送的当前游戏逻辑请求并根据第二游戏逻辑响应当前游戏逻辑请求,达到了提供一个服务端不停服部署方案,在占用单位服务器资源的情况下,能够运行两套相互独立的服务端的目的,从而实现了确保游戏玩家能够在两个服务端之间切换时,不会超过整个服务器的负载能力,进而确保游戏玩家的游戏体验的技术效果,进而解决了相关技术中所提供的不停服方案需要通过多个服务器集群之间的切换来完成,在此过程中需要同时消耗参与切换的多个服务器集群上的服务器资源,由此导致维护成本较高的技术问题。
容器技术(docker)是一种操作系统层面的虚拟化,可以对进程进行隔离封装。相比于现有的虚拟化技术,容器技术更加简洁和轻量,其中,操作系统(例如:Linux)内核不仅能够提供容器对资源的精细化控制,而且还可以为容器提供进程、网络、文件结构、用户等方面隔离。
在一个可选实施例中,可以构建容器编排管理系统(其用于管理云平台中多个主机上的容器化应用)的容器编排管理对象。每个容器编排管理对象包括一个pod(相当于上述容器单位)和一个容器,负责提供业务进程所需的运行环境。通过基于容器编排管理系统的调度策略,确保每个服务端业务集群节点(node,即宿主机,通常是一台物理机或是虚拟机)上至多启动两个pod,且这两个pod分别属于两个独立的容器组,并且这两个pod竞争同一个node的资源。
利用容器天生的环境隔离和资源控制能力,能够在单个服务端业务集群节点提供的单位服务器资源的条件下部署一套容器组,而在需要时能够启动另一套完全独立的容器组。在启动两套容器组的过程中,这两套容器组具备完全隔离的运行环境和网络环境,并且还能够确保游戏玩家在两套容器组之间平滑切换。
在服务器中部署的容器组用于运行游戏逻辑。在服务器维护之前,可以首先启动第一容器组来运行第一游戏逻辑,然后再由第一容器组来响应并处理客户端发送的与第一游戏逻辑有关的请求。如果需要对服务器进行维护(即对游戏逻辑进行更新),则响应更新指令,并在服务器的第二容器组中更新并运行第二游戏逻辑。该第二游戏逻辑为第一游戏逻辑更新后的游戏逻辑。在对第二容器组上运行的第二游戏逻辑更新完毕之后,可以通过第二容器组接收客户端发送的当前游戏逻辑请求,以便根据第二游戏逻辑响应当前游戏逻辑请求。由此避免在窗口期时过度消耗服务器上的资源。
可选地,在步骤S22,将多个待调度容器单位划分至多个服务端业务集群节点之前,还可以包括以下执行步骤:
步骤S21,构建容器镜像,其中,容器镜像用于为多个待调度容器单位中的每个待调度容器单位提供服务端进程运行的服务器环境。
在一个可选实施例中,可以构建类似虚拟机的“富容器”镜像。通过容器镜像还原一个服务端进程运行的服务器环境。该容器镜像(其实质上相当于配置信息模板)在启动过程中会自动配置完成全部系统参数、安装完成所有依赖的软件包、准备完成进程所需的目录结构,同时还能够启动完成所有依赖的系统服务。并且,在此容器镜像启动过程中,无需启动任何业务进程(例如:游戏进程),而是在启动完毕之后,按需部署并启动业务进程,由此使得容器的使用与现有技术中所提供的物理机的使用方式极为类似。
鉴于容器的设计理念最适合于运行微服务,而运行微服务的容器通常只包含服务对应业务进程,并且无状态,可以启动多个副本以及可以动态伸缩。然而,诸如很多大型游戏服务端的业务服务,其服务对应的进程是有状态的,并且进程密集、架构复杂,很难拆分成微服务的形式部署。因此,针对一些难以容器化的服务,可以通过容器镜像快速地实现容器化地部署。
可选地,在步骤S22中,将多个待调度容器单位划分至多个服务端业务集群节点可以包括以下执行步骤:
步骤S221,确定多个待调度容器单位中的每个待调度容器单位所归属的服务端业务集群;
步骤S222,确定多个待调度容器单位中的每个待调度容器单位在所归属的服务端业务集群中待占用的服务端业务集群节点。
在上述多个待调度容器单位中的每个待调度容器单位的调度过程中,需要先从当前存在的服务端业务集群中,确定多个待调度容器单位中的每个待调度容器单位所归属的服务端业务集群,然后再从每个待调度容器单位所归属的服务端业务集群中,确定每个待调度容器单位在该服务端业务集群中待占用的服务端业务集群节点。
可选地,在步骤S221中,确定多个待调度容器单位中的每个待调度容器单位所归属的服务端业务集群可以包括以下执行步骤:
步骤S2211,为至少一个服务端业务集群中每个服务端业务集群配置集群标识;
步骤S2212,为每个服务端业务集群分配至少一个服务端业务集群节点,并在每个服务端业务集群节点上添加集群标识,其中,每个服务端业务集群中所包含的至少一个服务端业务集群节点为该服务端业务集群的独占节点;
步骤S2213,为多个待调度容器单位中的每个待调度容器单位添加集群标识,以确定每个待调度容器单位所归属的服务端业务集群。
在构建容器编排管理对象的过程中,其镜像设定为上一步中已经构建完毕的富容器镜像,每个容器编排管理对象可以包含一个pod,每个pod包含一个容器。每个pod的处理器和存储器的最大值设定为node节点的资源上限值,这样当node节点上只有一个pod工作,而另一个pod空闲时,处于工作状态的pod能够充分占用整个node的资源。而在切换的窗口期,两个pod同时工作时,会竞争node的资源,又由于游戏玩家在两个pod之间迁移过程中,总压力不会超过node的最大负载能力,因此两个pod真实的资源需求也不会超过node的资源上限值。
在一个可选实施例中,可以配置基于容器编排管理系统的pod调度策略,其可以包括:node选择策略以及pod反亲和性策略。
图3是根据本发明其中一可选实施例的node选择策略示意图,如图3所示,由于容器云通常会由多个租户共同使用,因此承载容器的宿主机也会由多个租户共用。为了确保不停服业务不受其他租户的业务干扰(即隔离其他租户的业务),首先为不停服业务集群配置有node选择策略以确保这些pod能够独占对应的node节点。
具体地,首先,可以为每个服务端业务集群赋予唯一的标识(例如:clusterID),图中显示的两个clusterID分别为1000和1001。因此,需要为每个服务端业务集群划定独占的node节点,并且在这些节点上标记对应的label=clusterID,如图中两个服务端业务集群的node节点分别标记为label=1000和label=1001。
其次,可以为每个pod增加nodeSelector:label=clusterID,即该pod只会被调度在具有对应label=clusterID的node节点上,例如:图中nodeSelector为label=1000的pod只能被调度到具有label=1000的node上。同理nodeSelector为label=1001的pod只能被调度到具有label=1001的node上。
可选地,在步骤S222中,确定多个待调度容器单位中的每个待调度容器单位在所归属的服务端业务集群中待占用的服务端业务集群节点可以包括以下执行步骤:
步骤S2221,为多个待调度容器单位中的每个待调度容器单位添加分组标识,其中,分组标识为以下之一:第一容器组的标识、第二容器组的标识;
步骤S2222,为多个待调度容器单位中的每个待调度容器单位添加反亲和性策略标识,其中,反亲和性策略标识用于控制属于同一个容器组中的不同待调度容器单位被调度至不同服务端业务集群节点;
步骤S2223,依据分组标识和反亲和性策略标识将多个待调度容器单位中的每个待调度容器单位调度至待占用的服务端业务集群节点。
一个服务端集群通常需要部署在多个pod上,此处将用于一个服务集群的pod分为一组。反亲和策略(AntiAffinity)是pod的一种可选属性,当为一个pod增加特定反亲和策略时,即表明不希望该pod和具备其他特征的pod设置在同一个node上。在该可选实施例中,使用的是同组的反亲和策略,即不希望pod与同组其他的pod设置在同一个node上。图4是根据本发明其中一可选实施例的pod反亲和性策略示意图,如图4所示,由于每个node节点上至多需要调度两个pod,并且这两个pod需要属于不同的组,因此,基于容器编排管理系统提供的pod反亲和性配置有如下策略:
首先,定义不停服切换的两个容器组的标识分别为groupA(相当于上述第一容器组的标识)和groupB(相当于上述第二容器组的标识);
其次,为这两个容器组各自所包含的pod分别增加对应的标记,即label=groupA和label=groupB;
然后,再为label=groupA的pod增加反亲和性策略podAntiAffinity:label=groupA,即具有label=groupA的pod不和其他具有label=groupA的pod调度在同一个node上;同理,为label=groupB的pod增加反亲和性策略podAntiAffinity:label=groupB,即具有label=groupB的pod不和其他具有label=groupB的pod调度在同一个node上;
最终,具有相同label的pod不会调度到一台node节点上,从而确保一个node节点上至多两个pod分别属于groupA和groupB。如图所示,已经调度到node上的pod具有label=groupA,并且具有反亲和性podAntiAffinity:label=groupA,因此,其他具有label=groupA的pod将不会再调度到该node节点上。
可选地,上述方法还可以包括以下执行步骤:
步骤S29,在第一容器组与第二容器组中确定处于运行状态的容器组以及处于空闲状态的容器组,以及对处于空闲状态的容器组进行销毁处理。
容器编排管理系统提供基于容器的应用部署、规划、更新和维护等功能,使得部署容器化的应用简单且高效。基于容器编排管理系统所管理的容器云实现,将重点关注在容器编排管理对象和pod调度策略的配置上,至于容器本身的生命周期管理可以完全交由容器编排管理系统来完成。
图5是根据本发明其中一实施例的整体结构示意图,如图5所示,利用容器编排管理系统的容器编排管理对象来管理pod的生命周期(即容器的生命周期),由此便于在不停服维护前创建容器,实现两组服务端同时运行。并且,在完成不停服切换之后,销毁处于空闲状态的那组容器。由此基于容器编排管理系统制定的调度策略能够确保在单位node节点上可以启动两组独立的容器组,分别用于部署两套服务端。利用容器对资源控制,部署在两组容器上的服务端能够确保在不停服的切换周期内,游戏玩家的平滑过渡,由此进一步确保游戏玩家的游戏体验。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种服务端维护装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是根据本发明其中一实施例的服务端维护装置的结构框图,如图6所示,该装置包括:划分模块10,用于将多个待调度容器单位划分至多个服务端业务集群节点,得到第一容器组和第二容器组,其中,多个服务端业务集群节点归属于至少一个服务端业务集群,每个服务端业务集群节点包括至多两个待调度容器单位,且每个服务端业务集群节点所包含的两个待调度容器单位分属不同的容器组;第一处理模块20,用于通过第一容器组运行第一游戏逻辑并响应客户端请求;第二处理模块30,用于在服务器的第二容器组中更新并运行第二游戏逻辑,其中,第二游戏逻辑为第一游戏逻辑更新后的游戏逻辑;第三处理模块40,用于通过第二容器组接收客户端发送的当前游戏逻辑请求,根据第二游戏逻辑响应当前游戏逻辑请求。
可选地,划分模块10包括:第一确定单元(图中未示出),用于确定多个待调度容器单位中的每个待调度容器单位所归属的服务端业务集群;第二确定单元(图中未示出),用于确定多个待调度容器单位中的每个待调度容器单位在所归属的服务端业务集群中待占用的服务端业务集群节点。
可选地,第一确定单元(图中未示出)包括:配置子单元(图中未示出),用于为至少一个服务端业务集群中每个服务端业务集群配置集群标识;分配子单元(图中未示出),用于为每个服务端业务集群分配至少一个服务端业务集群节点,并在每个服务端业务集群节点上添加集群标识,其中,每个服务端业务集群中所包含的至少一个服务端业务集群节点为该服务端业务集群的独占节点;第一添加子单元(图中未示出),用于为多个待调度容器单位中的每个待调度容器单位添加集群标识,以确定每个待调度容器单位所归属的服务端业务集群。
可选地,第二确定单元(图中未示出)包括:第二添加子单元(图中未示出),用于为多个待调度容器单位中的每个待调度容器单位添加分组标识,其中,分组标识为以下之一:第一容器组的标识、第二容器组的标识;第三添加子单元(图中未示出),用于为多个待调度容器单位中的每个待调度容器单位添加反亲和性策略标识,其中,反亲和性策略标识用于控制属于同一个容器组中的不同待调度容器单位被调度至不同服务端业务集群节点;调度子单元(图中未示出),用于依据分组标识和反亲和性策略标识将多个待调度容器单位中的每个待调度容器单位调度至待占用的服务端业务集群节点。
可选地,图7是根据本发明其中一可选实施例的服务端维护装置的结构框图,如图7所示,该装置除包括图6所示的所有模块外,上述装置还包括:确定模块50,用于在第一容器组与第二容器组中确定处于运行状态的容器组以及处于空闲状态的容器组;销毁模块60,用于对处于空闲状态的容器组进行销毁处理。
可选地,如图7所示,该装置除包括图6所示的所有模块外,上述装置还包括:构建模块70,用于构建容器镜像,其中,容器镜像用于为多个待调度容器单位中的每个待调度容器单位提供服务端进程运行的服务器环境。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,将多个待调度容器单位划分至多个服务端业务集群节点,得到第一容器组和第二容器组,其中,多个服务端业务集群节点归属于至少一个服务端业务集群,每个服务端业务集群节点包括至多两个待调度容器单位,且每个服务端业务集群节点所包含的两个待调度容器单位分属不同的容器组;
S2,通过第一容器组运行第一游戏逻辑并响应客户端请求;
S3,在服务器的第二容器组中更新并运行第二游戏逻辑,其中,第二游戏逻辑为第一游戏逻辑更新后的游戏逻辑;
S4,通过第二容器组接收客户端发送的当前游戏逻辑请求,根据第二游戏逻辑响应当前游戏逻辑请求。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,将多个待调度容器单位划分至多个服务端业务集群节点,得到第一容器组和第二容器组,其中,多个服务端业务集群节点归属于至少一个服务端业务集群,每个服务端业务集群节点包括至多两个待调度容器单位,且每个服务端业务集群节点所包含的两个待调度容器单位分属不同的容器组;
S2,通过第一容器组运行第一游戏逻辑并响应客户端请求;
S3,在服务器的第二容器组中更新并运行第二游戏逻辑,其中,第二游戏逻辑为第一游戏逻辑更新后的游戏逻辑;
S4,通过第二容器组接收客户端发送的当前游戏逻辑请求,根据第二游戏逻辑响应当前游戏逻辑请求。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种服务端维护方法,其特征在于,包括:
将多个待调度容器单位划分至多个服务端业务集群节点,得到第一容器组和第二容器组,其中,所述多个服务端业务集群节点归属于至少一个服务端业务集群,每个服务端业务集群节点包括至多两个待调度容器单位,且当所述服务端业务集群节点包含所述两个待调度容器单位时,所述两个待调度容器单位分属不同的容器组;
通过所述第一容器组运行第一游戏逻辑并响应客户端请求;
在所述服务端业务集群节点的第二容器组中更新并运行第二游戏逻辑,其中,所述第二游戏逻辑为所述第一游戏逻辑更新后的游戏逻辑;
通过所述第二容器组接收所述客户端发送的当前游戏逻辑请求,根据所述第二游戏逻辑响应所述当前游戏逻辑请求。
2.根据权利要求1所述的方法,其特征在于,将所述多个待调度容器单位划分至所述多个服务端业务集群节点包括:
确定所述多个待调度容器单位中的每个待调度容器单位所归属的服务端业务集群;
确定所述多个待调度容器单位中的每个待调度容器单位在所归属的服务端业务集群中待占用的服务端业务集群节点。
3.根据权利要求2所述的方法,其特征在于,确定所述多个待调度容器单位中的每个待调度容器单位所归属的服务端业务集群包括:
为至少一个服务端业务集群中每个服务端业务集群配置集群标识;
为每个服务端业务集群分配至少一个服务端业务集群节点,并在每个服务端业务集群节点上添加所述集群标识,其中,每个服务端业务集群中所包含的所述至少一个服务端业务集群节点为该服务端业务集群的独占节点;
为所述多个待调度容器单位中的每个待调度容器单位添加所述集群标识,以确定每个待调度容器单位所归属的服务端业务集群。
4.根据权利要求2所述的方法,其特征在于,确定所述多个待调度容器单位中的每个待调度容器单位在所归属的服务端业务集群中待占用的服务端业务集群节点包括:
为所述多个待调度容器单位中的每个待调度容器单位添加分组标识,其中,所述分组标识为以下之一:所述第一容器组的标识、所述第二容器组的标识;
为所述多个待调度容器单位中的每个待调度容器单位添加反亲和性策略标识,其中,所述反亲和性策略标识用于控制属于同一个容器组中的不同待调度容器单位被调度至不同服务端业务集群节点;
依据所述分组标识和所述反亲和性策略标识将所述多个待调度容器单位中的每个待调度容器单位调度至所述待占用的服务端业务集群节点。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述第一容器组与所述第二容器组中确定处于运行状态的容器组以及处于空闲状态的容器组;
对所述处于空闲状态的容器组进行销毁处理。
6.根据权利要求1所述的方法,其特征在于,在将所述多个待调度容器单位划分至所述多个服务端业务集群节点之前,还包括:
构建容器镜像,其中,所述容器镜像用于为所述多个待调度容器单位中的每个待调度容器单位提供服务端进程运行的服务器环境。
7.一种服务端维护装置,其特征在于,包括:
划分模块,用于将多个待调度容器单位划分至多个服务端业务集群节点,得到第一容器组和第二容器组,其中,所述多个服务端业务集群节点归属于至少一个服务端业务集群,每个服务端业务集群节点包括至多两个待调度容器单位,且当所述服务端业务集群节点包含所述两个待调度容器单位时,所述两个待调度容器单位分属不同的容器组;
第一处理模块,用于通过所述第一容器组运行第一游戏逻辑并响应客户端请求;
第二处理模块,用于在所述服务端业务集群节点的第二容器组中更新并运行第二游戏逻辑,其中,所述第二游戏逻辑为所述第一游戏逻辑更新后的游戏逻辑;
第三处理模块,用于通过所述第二容器组接收所述客户端发送的当前游戏逻辑请求,根据所述第二游戏逻辑响应所述当前游戏逻辑请求。
8.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至6任一项中所述的服务端维护方法。
9.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序被设置为运行时执行所述权利要求1至6任一项中所述的服务端维护方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至6任一项中所述的服务端维护方法。
CN201911150784.5A 2019-11-21 2019-11-21 服务端维护方法、装置、处理器及电子装置 Active CN110935167B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911150784.5A CN110935167B (zh) 2019-11-21 2019-11-21 服务端维护方法、装置、处理器及电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911150784.5A CN110935167B (zh) 2019-11-21 2019-11-21 服务端维护方法、装置、处理器及电子装置

Publications (2)

Publication Number Publication Date
CN110935167A CN110935167A (zh) 2020-03-31
CN110935167B true CN110935167B (zh) 2023-05-26

Family

ID=69907157

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911150784.5A Active CN110935167B (zh) 2019-11-21 2019-11-21 服务端维护方法、装置、处理器及电子装置

Country Status (1)

Country Link
CN (1) CN110935167B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111558219B (zh) * 2020-05-08 2023-04-07 网易(杭州)网络有限公司 基于游戏的逻辑分服方法、装置以及服务端设备
CN112187581B (zh) 2020-09-29 2022-08-02 北京百度网讯科技有限公司 服务信息处理方法、装置、设备及计算机存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109621430A (zh) * 2018-12-12 2019-04-16 网易(杭州)网络有限公司 游戏服务端系统、游戏控制方法、装置、介质及电子设备
CN110639207A (zh) * 2019-09-20 2020-01-03 北京代码乾坤科技有限公司 游戏数据同步方法、装置、存储介质及处理器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109621430A (zh) * 2018-12-12 2019-04-16 网易(杭州)网络有限公司 游戏服务端系统、游戏控制方法、装置、介质及电子设备
CN110639207A (zh) * 2019-09-20 2020-01-03 北京代码乾坤科技有限公司 游戏数据同步方法、装置、存储介质及处理器

Also Published As

Publication number Publication date
CN110935167A (zh) 2020-03-31

Similar Documents

Publication Publication Date Title
CN103064742B (zh) 一种hadoop集群的自动部署系统及方法
US9838249B2 (en) Maintaining resource availability during maintenance operations
US9692707B2 (en) Virtual resource object component
CN102946409B (zh) 从多个服务器向客户机递送单个终端用户体验
CN111324416A (zh) 容器管理系统中的应用部署
CN102541606B (zh) 基于uefi远程管理bios的配置方法和装置
WO2018130162A1 (zh) 一种管控云计算终端和云服务器运作的方法和装置
EP2922238A1 (en) Resource allocation method
CN108568109B (zh) 一种游戏控制方法、装置及存储介质
CN110935167B (zh) 服务端维护方法、装置、处理器及电子装置
CN110928645B (zh) 服务器维护方法、装置、存储介质、处理器及电子装置
CN102214117A (zh) 虚拟机管理方法、系统及虚拟机管理服务器
CN104050013B (zh) 虚拟桌面处理方法、装置及虚拟桌面服务器
CN111274033A (zh) 一种资源部署方法、装置、服务器以及存储介质
CN106911741B (zh) 一种虚拟化网管文件下载负载均衡的方法及网管服务器
CN108696373B (zh) 虚拟资源分配方法、nfvo和系统
CN109857464A (zh) 用于平台部署与操作移动操作系统的系统及其方法
CN110532060A (zh) 一种混合网络环境数据采集方法及系统
US8407291B1 (en) System and method for dispensing e-Care
CN109600439A (zh) 基于微服务的PaaS平台的部署方法及PaaS平台
US11385973B1 (en) High-availability for power-managed virtual desktop access
JP2024501005A (ja) コンテナクラスタのための管理方法および装置
CN112445602A (zh) 资源调度方法、装置、系统及电子设备
CN114629958B (zh) 资源分配方法、装置、电子设备及存储介质
CN108696550A (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