Game service operation and maintenance method and equipment for cloud native scene

By deploying a sidecar server on the game server side and using the sidecar mode to acquire and analyze network traffic, the problems of high intrusiveness, high migration cost, and weak operation and maintenance capabilities of game services in cloud-native scenarios are solved. This enables flexible operation and maintenance and low-cost game development, supports serverless environments, and improves the stability and real-time performance of game services.

CN119276918APending Publication Date: 2025-01-07BEIJING VOLCANO ENGINE TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411554902.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-01
Publication Date
2025-01-07

AI Technical Summary

Technical Problem

Existing cloud-native game service operation and maintenance solutions suffer from problems such as high intrusion, high migration costs, weak operation and maintenance capabilities, and lack of support for Serverless, resulting in high game development and operation and maintenance costs and difficulty in meeting the flexibility and real-time requirements of game services.

Method used

The sidecar mode is used to deploy the sidecar server on the game server. By acquiring and analyzing network traffic, it executes preset auxiliary functions to control the operation and maintenance of the game server, reducing the intrusion into the game server code layer, and providing functions such as hot update, network management, fault diagnosis and service quality detection.

Benefits of technology

It enables flexible operation and maintenance of game servers in cloud-native scenarios, reduces game development and operation and maintenance costs, improves operation and maintenance efficiency, supports serverless mode, reduces the need for modification of game servers, and ensures the stability and real-time performance of game services.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119276918A_ABST
    Figure CN119276918A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a game service operation and maintenance method and equipment for a cloud native scene, and the method comprises the steps: obtaining the access network flow of a first game server through a first game side vehicle server associated with the first game server; the first game server and a first game sidecar server associated with the first game server are jointly deployed in the same container group in a sidecar mode, and the first game sidecar server is deployed in an independent container and is configured with a preset auxiliary function for assisting operation and maintenance processing of the first game server; and executing a preset auxiliary function operation configured by the first game sidecar server according to the access network flow through the first game sidecar server, and controlling the first game server to execute a preset operation and maintenance operation according to a result of the preset auxiliary function operation. According to the embodiment of the invention, any operation and maintenance operation on the game server side is realized through the sidecar mode, the invasion of operation and maintenance operation related codes on the game service code level is reduced, the game development is more concerned on the game, and the game development cost is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The disclosed embodiments relate to the field of computer and network communication technology, and in particular, to a game service operation and maintenance method and device for a cloud-native scenario. Background Art

[0002] In modern game development and operation, traditional virtual machine infrastructure faces a series of unique challenges. With the popularity of online games and the surge in the number of players, game operation teams need to effectively manage and monitor large server clusters to ensure efficient real-time operations. Currently, many games use cloud computing and microservice architecture, but the existing cloud-native scenario solutions are still highly invasive, have high migration costs, and have weak operation and maintenance capabilities. As a result, game service providers need to make a lot of technical changes to adapt to cloud-native scenarios, and their versatility and adaptability are too low, which does not meet the timely needs of game service development and operation. Summary of the invention

[0003] The embodiments of the present disclosure provide a game service operation and maintenance method and device in a cloud-native scenario to overcome at least one of the above problems.

[0004] In a first aspect, an embodiment of the present disclosure provides a game service operation and maintenance method for a cloud-native scenario, the method comprising:

[0005] Obtaining the inbound and outbound network traffic of the first game server through the first game sidecar server associated with the first game server; wherein the first game server and the first game sidecar server associated with it are deployed together in the same container group in sidecar mode; the first game sidecar server is deployed in an independent container, which is configured with a preset auxiliary function for assisting the operation and maintenance processing of the first game server;

[0006] The first game sidecar server performs a preset auxiliary function operation configured by the first game sidecar server according to the inbound and outbound network traffic, and controls the first game server to perform a preset operation and maintenance operation according to a result of the preset auxiliary function operation.

[0007] In a second aspect, an embodiment of the present disclosure provides a game service operation and maintenance device for a cloud-native scenario, a first game sidecar server, and the device comprises:

[0008] A communication unit, configured to obtain the inbound and outbound network traffic of the first game server through a first game sidecar server associated with the first game server; wherein the first game server and the first game sidecar server associated with the first game server are deployed together in the same container group in a sidecar mode; the first game sidecar server is deployed in an independent container, which is configured with a preset auxiliary function for assisting the operation and maintenance processing of the first game server;

[0009] The processing unit is used to execute the preset auxiliary function operation configured by the first game side car server according to the inbound and outbound network traffic through the first game side car server, and control the first game server to execute the preset operation and maintenance operation according to the result of the preset auxiliary function operation.

[0010] In a third aspect, an embodiment of the present disclosure provides an electronic device, including: a processor and a memory;

[0011] The memory stores computer-executable instructions;

[0012] The processor executes the computer-executable instructions stored in the memory, so that the at least one processor executes the game service operation and maintenance method for the cloud-native scenario as described in the first aspect and various possible designs of the first aspect.

[0013] In a fourth aspect, an embodiment of the present disclosure provides a computer-readable storage medium, in which computer execution instructions are stored. When a processor executes the computer execution instructions, a game service operation and maintenance method for a cloud-native scenario as described in the first aspect and various possible designs of the first aspect is implemented.

[0014] In a fifth aspect, an embodiment of the present disclosure provides a computer program product, including a computer program, which, when executed by a processor, implements the game service operation and maintenance method for the cloud-native scenario as described in the first aspect and various possible designs of the first aspect.

[0015] The game service operation and maintenance method and device for a cloud-native scenario provided by the disclosed embodiment obtains the inbound and outbound network traffic of the first game server through the first game sidecar server associated with the first game server; wherein the first game server and the first game sidecar server associated with it are deployed together in the same container group in sidecar mode; the first game sidecar server is deployed in an independent container, which is configured with preset auxiliary functions to assist the operation and maintenance processing of the first game server; the first game sidecar server performs the preset auxiliary function operation configured by the first game sidecar server according to the inbound and outbound network traffic, and controls the first game server to perform the preset operation and maintenance operation according to the result of the preset auxiliary function operation. The disclosed embodiment implements any operation and maintenance operation on the game server through the sidecar mode, reduces the intrusion of operation and maintenance operation-related codes into the code level of the game server, makes game development pay more attention to the game itself, and reduces game development costs. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] In order to more clearly illustrate the embodiments of the present disclosure or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present disclosure. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.

[0017] Figure 1 A schematic diagram of the architecture of a game service operation and maintenance method for a cloud-native scenario provided by an embodiment of the present disclosure;

[0018] Figure 2 A flowchart of a game service operation and maintenance method for a cloud-native scenario provided by an embodiment of the present disclosure;

[0019] Figure 3 A flowchart of a game service operation and maintenance method for a cloud-native scenario provided by another embodiment of the present disclosure;

[0020] Figure 4 A flowchart of a game service operation and maintenance method for a cloud-native scenario provided by another embodiment of the present disclosure;

[0021] Figure 5 A flowchart of a game service operation and maintenance method for a cloud-native scenario provided by another embodiment of the present disclosure;

[0022] Figure 6 A flowchart of a game service operation and maintenance method for a cloud-native scenario provided by another embodiment of the present disclosure;

[0023] Figure 7 A structural block diagram of a game service operation and maintenance device for a cloud-native scenario provided by an embodiment of the present disclosure;

[0024] Figure 8 A schematic diagram of the hardware structure of a game service operation and maintenance device for a cloud-native scenario provided in one embodiment of the present disclosure. DETAILED DESCRIPTION

[0025] In order to make the purpose, technical solution and advantages of the embodiments of the present disclosure clearer, the technical solution in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are part of the embodiments of the present disclosure, not all of the embodiments. Based on the embodiments in the present disclosure, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present disclosure.

[0026] In modern game development and operations, traditional virtual machine (a software-simulated computer that can run on a physical server, allowing multiple virtual machines to share the same hardware resources. For game development, virtual machines can be quickly deployed and adjusted to help development teams test and run games in different environments) infrastructure faces a series of unique challenges. With the popularity of online games and the surge in the number of players, game operation teams need to effectively manage and monitor large server clusters to ensure efficient real-time operations. Currently, many games use cloud computing and microservice architecture, which requires operation teams to have flexible dynamic expansion capabilities to cope with fluctuations in the number of players.

[0027] In this context, game servers (game servers are computer systems specifically used to support multiplayer online games. They are responsible for managing the operation of games, player connections, and data transmission. Game servers ensure smooth interaction between players, and handle logic and status updates in the game to provide real-time gaming experience.) are usually deployed on virtual machines and managed through automatic expansion to achieve high availability and elasticity. However, with the intensification of market competition, optimizing the management and expansion process of traditional virtual machine infrastructure has become a key requirement for improving game operation efficiency and user experience.

[0028] In game development, the rise of container technology (container technology is a lightweight virtualization method that encapsulates applications and all their dependencies (such as libraries and configuration files) into an independent environment, allowing applications to run in a consistent manner in any environment. Containers are independent of the underlying operating system and provide the advantages of rapid deployment, portability, and efficient resource utilization. They are very suitable for development, testing, and production environments, especially in microservice architectures) provides developers with unprecedented flexibility and scalability, especially when faced with complex game requirements. With the widespread application of containerization, it has become particularly important to quickly deploy updates, seamlessly introduce new game features, and quickly launch new tasks and environments, which is essential to maintaining the continuous participation of players and keeping the virtual world fresh. In container management, Kubernetes, as a powerful container orchestration tool, further enhances the possibility of all this.

[0029] Kubernetes, often referred to as K8s, is an open source container orchestration platform for automating the deployment, expansion, and management of containerized applications. K8s provides powerful features such as automatic load balancing, service discovery, fault tolerance, rolling updates, and self-healing, allowing developers to efficiently manage a large number of container instances. With K8s, development teams can more easily schedule and manage containers, improve the scalability and stability of applications, and are suitable for large-scale production environments.

[0030] As a mainstream container orchestration platform, Kubernetes provides powerful resource management and scheduling capabilities, making container deployment and management more efficient and flexible. With the popularity of K8s, many Serverless (serverless computing) platforms have begun to use its infrastructure to achieve a higher level of automation and scalability. By running the Serverless framework on Kubernetes, developers can enjoy the fast startup and efficient resource usage brought by containerization, while also taking advantage of the self-healing and load balancing features of K8s. Some solutions currently on the market combine K8s with Serverless computing, providing developers with a more flexible and powerful application development environment. This combination not only simplifies the application development and deployment process, but also improves resource utilization efficiency, allowing enterprises to respond to market changes more quickly.

[0031] Compared with traditional virtual machines, the benefits of deploying game servers on cloud-native architecture are mainly reflected in: elastic expansion, rapid deployment, high resource utilization, microservice architecture, strong fault recovery capabilities, multi-cloud and hybrid cloud support, rich ecosystem, etc. Although the game industry has gradually recognized the advantages of cloud-native, it has long been dominated by virtual machines. The main reasons include the following: the inertia of traditional architecture, high requirements for game performance, complexity of technology stack, high state (need to ensure direct network connection, etc., the access address remains unchanged when restarting), and greater time and resource costs for short-term projects.

[0032] However, there are still many problems that need to be solved in cloud-native scenario game solutions based on Kubernetes and other platforms.

[0033] 1) Highly invasive: Solutions such as Agones (Google open source project) and Diarkis (a commercial solution in Japan) require game manufacturers to implant game service SDKs at the code level, and many solutions need to be directly connected to the Kubernetes API. Game manufacturers are not very willing to make changes.

[0034] 2) High migration cost: Open source solutions such as Agones and OKG (open source project of Alibaba Cloud team) do not provide migration solutions for virtual machine scenario operation and maintenance methods, and rely on game manufacturers to transform themselves, but the transformation cost is often greater than the resource optimization brought by using containers. For example:

[0035] 2.1) Static IP configuration and network segmentation used in virtual machine environments may need to be redesigned;

[0036] 2.2) In a virtual machine environment, you may use New Relic or Datadog to monitor your game servers. In a Kubernetes environment, you need to reconfigure these tools to collect and analyze data from containerized applications;

[0037] 2.3) In the Kubernetes environment, you need to configure a persistent volume for the game server to store game data instead of using a local disk;

[0038] 2.4) Some script-based operation and maintenance methods of the game service will be lost after the game service is restarted.

[0039] 3) Weak O&M capabilities: Many of the O&M and operation capabilities accumulated by game manufacturers are based on virtual machines and rely on some unique capabilities of virtual machines, including IP unchanged after restart and local disk unchanged, which are capabilities that Kubernetes does not naturally possess. As a result, game manufacturers need to make a lot of modifications to adapt to Kubernetes.

[0040] 3.1) Lack of a universal hot update solution: In container scenarios, workload version updates are usually performed by replacing images, which means that the Pod must be rebuilt for updates. However, this approach also means that the game service must be suspended. In the game industry scenario, hot updates without stopping the service are a rigid requirement. The present invention provides a native and universal hot update mechanism through Sidecar, which can provide patch files to the game service without rebuilding the Pod and trigger it to reload.

[0041] 3.2) Network Management: In the gaming industry, the complexity of network management lies in the need to ensure high availability of the system and continuity of the player experience. Kubernetes provides flexibility for network management, but it also brings new challenges. When merging multiple servers within a game, the stability of network connections and data accuracy are critical. When merging servers, game manufacturers need to ensure that interactions between players are not interrupted and that data migration does not cause loss. Any cloud-native solution needs to ensure that players can smoothly connect to the newly merged server after the server merge, while not affecting players who are currently using the old server.

[0042] 3.3) Emergency and disaster recovery: In game services, troubleshooting and debugging are important links to ensure system stability and improve user experience. In the past, virtual machine-based game services often needed to connect to the host through SSH (Secure Shell) for debugging and diagnosis. On Kubernetes, due to the drifting nature of Pod IP, the Pod's port 22 is often not directly exposed, which affects this part of the operating habits.

[0043] 3.4) Restart in Place: The gaming industry is accustomed to operating in virtual machines. Game scripts are executed directly in the game server. These operation and maintenance operations will leave records in the game server. Once the Pod in Kubernetes is restarted, there is a probability of drift, and this part of the data will be lost.

[0044] 4) No support for Serverless: Both Alibaba and Tencent's open source game frameworks and some commercial solutions are developed based on containers on traditional virtual machines. They lack support for the new form of Serverless and cannot use the agile and low-cost model of "ready-to-use" and "on-demand use" on the cloud. These technologies rely on some DaemonSets (service daemons) running on virtual machines to provide some game service functions, but in the Serverless scenario, there is no real HOST (host) that can run these DaemonSets.

[0045] In order to solve at least one of the above technical problems, the embodiment of the present disclosure provides a game service operation and maintenance method for a cloud-native scenario, which applies the sidecar mode, deploys a first game sidecar server to a first game server, and the first game server and its associated first game sidecar server are deployed together in the same container group. The first game server and the first game sidecar server are respectively deployed in independent containers. The first game sidecar server is configured with a preset auxiliary function to assist the operation and maintenance processing of the first game server, and the inbound and outbound network traffic of the first game server is obtained through the first game sidecar server; the first game sidecar server performs the preset auxiliary function operation configured by the first game sidecar server according to the inbound and outbound network traffic, and controls the first game server to perform the preset operation and maintenance operation according to the result of the preset auxiliary function operation. The embodiment of the present disclosure implements any operation and maintenance operation on the game server through the sidecar mode, reduces the intrusion of the operation and maintenance operation related code into the code level of the game server, makes game development pay more attention to the game itself, and reduces the cost of game development.

[0046] Among them, the sidecar mode is a unique design mode in the container era. Compared with the previous operation and maintenance mode of game services based on virtual machines, Sidecar decouples auxiliary functions (such as logging, monitoring, security, etc.) from the main application process of the game service, and makes them independent as a separate process or container, which is deployed in the same container group Pod together with the main application of the game service. The main application of the game service can be deployed in a container, that is, the game server. Since the sidecar mode does not rely on the host (host) and the Daemon process, it is more friendly to the Serverless container orchestration platform.

[0047] The architecture of the game service operation and maintenance method for the cloud native scenario of the present disclosure is as follows: Figure 1 As shown, in a cloud-native scenario, a first game server and a first game sidecar server (Sidecar) are deployed in the same container group of the container orchestration platform, wherein the first game sidecar server can obtain the first network traffic sent to the first game server and / or the second network traffic sent by the first game server through the IP filter table (IPTABLES). For example, the first network traffic sent by the client to the first game server is first transmitted to the IP filter table through the network card, and then transmitted to the first game sidecar server through the IP filter table. The first game sidecar server then transmits the first network traffic to the first game server. , and the first game side car server can perform a preset auxiliary operation on the first network traffic after obtaining the first network traffic, and control the first game server to perform a preset operation and maintenance operation according to the first operation result; in addition, the second network traffic sent by the first game server is first transmitted to the IP filter table, and then transmitted to the first game side car server through the IP filter table, and the first game side car server then transmits the second network traffic to the network card and sends it out, and the first game side car server can perform a preset auxiliary operation on the second network traffic after obtaining the second network traffic, and can also control the first game server to perform a preset operation and maintenance operation according to the first operation result. The preset auxiliary operation and the preset operation and maintenance operation can be different in different application scenarios.

[0048] In the disclosed embodiment, the sidecar server is implanted into the container group where each game server is located, and based on its own pluggable architecture, some mandatory modules and optional modules are integrated. Users can select optional modules according to their needs to control the functions and size of the sidecar server. The mandatory modules may include but are not limited to network proxy modules, interface proxy modules, etc., and the optional modules may include database proxy modules, network monitoring modules, traffic control modules, deployment control modules, etc., which can reduce the large amount of modification of the game to adapt to the cloud native scenario during game development.

[0049] It should be noted that the information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this disclosure are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant laws, regulations and standards of relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.

[0050] The game service operation and maintenance method for the cloud-native scenario disclosed in the present invention will be introduced in detail below in conjunction with specific embodiments.

[0051] refer to Figure 2 , Figure 2A flowchart of a game service operation and maintenance method for a cloud-native scenario provided by an embodiment of the present disclosure. In the method of this embodiment, a sidecar mode is used to deploy a first game sidecar server to a first game server. The first game server and its associated first game sidecar server are deployed together in the same container group. The first game server and the first game sidecar server are deployed in independent containers respectively. The first game sidecar server is configured with a preset auxiliary function to assist the operation and maintenance processing of the first game server. The game service operation and maintenance method for the cloud-native scenario includes:

[0052] S201. Obtain the inbound and outbound network traffic of the first game server through a first game sidecar server associated with the first game server.

[0053] In this embodiment, the first game sidecar server can implement a network proxy for the first game server, and can be deployed with a network proxy module with built-in traffic capture and interception capabilities.

[0054] For example, in a cloud-native scenario, the first game sidecar server can capture the inbound and outbound network traffic of the first game server from the IPTABLES (IP filter table) of the container group, including capturing any first network traffic sent to the first game server, and any second network traffic sent by the first game server, wherein the first network traffic includes but is not limited to the network traffic sent by the player client to the first game server, the network traffic sent by the game operation and maintenance personnel client to the first game server, and the network traffic sent by other clients or other devices, containers, etc. to the first game server; the second network traffic includes but is not limited to the network traffic sent by the first game server to the player client, the network traffic sent by the first game server to the game operation and maintenance personnel client, and the network traffic sent by the first game server to other clients or other devices, containers, etc., wherein the network traffic may include but is not limited to any instructions, requests or data, etc.

[0055] As an example, the first game sidecar server may obtain the first network traffic and / or the second network traffic by using a command similar to the following:

[0056] kubectl exec -i gamepod -c sidecar 1 --tcpdump -i eth0.

[0057] In this embodiment, when the game operation and maintenance personnel client needs to perform operation and maintenance operations such as monitoring, debugging, and troubleshooting on the first game server, the game operation and maintenance personnel client obtains the inbound and outbound network traffic of the first game server through the first game side car server, including the first network traffic and / or the second network traffic. There is no need for the game operation and maintenance personnel client to log in to the first game server or download commands such as Tcpdum (a network data collection and analysis tool). Of course, the authority management of the operation and maintenance personnel client can be implemented by the first game side car server.

[0058] S202: Execute a preset auxiliary function operation configured by the first game side car server according to the inbound and outbound network traffic through the first game side car server, and control the first game server to execute a preset operation and maintenance operation according to a result of the preset auxiliary function operation.

[0059] In this embodiment, the first game side car server can provide operation and maintenance capabilities to assist the first game server, and can perform auxiliary functions including but not limited to logging, status detection, security management, etc., and when implementing these auxiliary functions, the first game side car server can perform preset auxiliary function operations on the inbound and outbound network traffic of the first game server, wherein the preset auxiliary function operations are operations related to auxiliary functions such as logging, status detection, security management, etc., and then the operation results corresponding to the preset auxiliary operations can be obtained; accordingly, the preset operation and maintenance operations can be performed on the first game server according to the results of the preset auxiliary function operations, that is, the first game side car server can control the first game server to perform preset operation and maintenance operations according to the results of the preset auxiliary function operations, wherein the preset operation and maintenance operations include but are not limited to offline operations, update operations, server merging operations, restart operations, debugging operations, fault repair operations, backup operations, etc.

[0060] It should be noted that when the first game sidecar server can control the first game server to perform a preset operation and maintenance operation according to the result of the preset auxiliary function operation, it can send an instruction to perform the preset operation and maintenance operation to the first game server through any means, or it can also control the first game server to perform the preset operation and maintenance operation through any other means.

[0061] The game service operation and maintenance method for the cloud-native scenario provided in this embodiment obtains the inbound and outbound network traffic of the first game server through the first game sidecar server associated with the first game server; wherein the first game server and the first game sidecar server associated with it are deployed together in the same container group in sidecar mode; the first game sidecar server is deployed in an independent container, which is configured with preset auxiliary functions to assist the operation and maintenance processing of the first game server; the first game sidecar server performs the preset auxiliary function operation configured by the first game sidecar server according to the inbound and outbound network traffic, and controls the first game server to perform the preset operation and maintenance operation according to the result of the preset auxiliary function operation. This embodiment implements any operation and maintenance operation on the game server through the sidecar mode, reduces the intrusion of operation and maintenance operation-related codes into the code level of the game server, makes game development pay more attention to the game itself, and reduces game development costs.

[0062] In addition, the game service operation and maintenance method for the cloud-native scenario provided by this embodiment is also more friendly to the Serverless container orchestration platform. It is naturally adapted to all platforms including Serverless Kubernetes, and can also be used on non-Kubernetes container orchestration platforms. It can also play a role in some scenarios that do not require node intervention or some light operation and maintenance scenarios, such as small games.

[0063] On the basis of any of the above embodiments, in a game server merging scenario, that is, merging the first game server end to the second game server end, after triggering the game server merging, the above S202 may be specifically as follows:

[0064] S301. In a game server merging scenario, the network traffic generated when a connection is established between a player client to be connected and the first game server is forwarded to a second game server to be merged through the first game sidecar server;

[0065] S302: Detect the network traffic between the connected player client and the first game server through the first game sidecar server. If there is no network traffic between the connected player client and the first game server, control the first game server to go offline.

[0066] In this embodiment, specifically Figure 3As shown, after triggering the server merging, the first game sidecar server can load preset rules, which include network traffic control rules when merging the first game server to the second game server, and specifically may include forwarding rules and offline rules. When executing the forwarding rules, the first game sidecar server can forward the network traffic when the to-be-connected player client creates a connection with the first game server to the second game server, so that the to-be-connected player client creates a connection with the second game server instead of the first game server; and the offline rule is to detect the network traffic between the connected player client and the first game server. If there is no network traffic, it means that the first game server currently has no connected player client, and the first game server can be controlled to go offline. In this embodiment, through the traffic forwarding function of the first game sidecar server, the first game server can be offline in an almost lossless and safe manner, and the players of the first game server can be migrated to the second game server to complete the server merging operation.

[0067] Based on any of the above embodiments, in a game update scenario, the first game sidecar server may provide a patch file to the first game server for loading, thereby implementing a hot update of the first game server. The above S202 may be specifically as follows:

[0068] S401. In a game update scenario, storing a target patch file of the first game server in a shared storage space through the first game sidecar server, wherein the shared storage space is a shared storage space between the first game server and the first game sidecar server;

[0069] S402: Send an update notification to the first game server through the first game sidecar server;

[0070] S403: Downloading the target patch file from the shared storage space according to the update notification through the first game server, and reloading the target patch file.

[0071] In this embodiment, if Figure 4 As shown, when a game update is required, the first game sidecar server may first obtain the target patch file of the first game server, wherein the method for obtaining the target patch file may adopt any feasible acquisition method, optionally, the first game sidecar server may provide an Http interface, and the operation and maintenance personnel client may call the Http interface to trigger a game update, that is, an update instruction may be sent to the first game sidecar server through the Http interface, wherein when the Http interface is called, the storage address of the target patch file may be transmitted to the first game sidecar server, for example, the storage address of the target patch file may be carried in the update instruction, and further, the first game sidecar server may obtain the target patch file according to the storage address.

[0072] Optionally, the target patch file may be stored in the cloud, and the storage address of the target patch file is the cloud address, or the target patch file may also be stored in any device, which is not limited here.

[0073] Furthermore, the first game sidecar server needs to transmit the target patch file to the first game server. In this embodiment, a shared storage space can be pre-configured for the first game server and the first game sidecar server. After the first game sidecar server obtains the target patch file, it can store the target patch file in the shared storage space for download by the first game server.

[0074] After storing the target patch file in the shared storage space, the first game sidecar server also needs to notify the first game server to trigger the first game server to download the target patch file from the shared storage space and reload the target patch file to achieve hot update of the first game server.

[0075] Optionally, considering that in the Linux system, SIGHUB signals are often used to trigger the process to perform reload operations, such as the common sshd and nginx services, the first game sidecar server in this embodiment can also send a SIGHUB signal to the first game server as an instruction to trigger reload. However, in the cloud native scenario, in the default Kubernetes Pod, the processes of the main container and the Sidecar container are isolated and invisible to each other. Some special configurations are required to enable the shareProcessNamespace feature so that the two containers can share the process namespace to achieve signal transmission between containers, that is, in this embodiment, it is necessary to pre-configure the first game server and the first game sidecar server to share the process namespace.

[0076] In addition, in this embodiment, the target patch file stored in the shared storage space will not disappear when the first game server is restarted, and the first game server can also reload the target patch file after restarting, especially in the cloud native scenario, which can avoid the loss of the patch after the container of the first game server is restarted.

[0077] In an optional embodiment, after the first game server is restarted, the first game server may actively download the target patch file from the shared storage space and reload the target patch file, so that the first game server is updated to the latest version.

[0078] In another optional embodiment, after the first game server is restarted, the first game sidecar server may also resend an update notification to the first game server, so that the first game server downloads the target patch file from the shared storage space according to the update notification and reloads the target patch file.

[0079] The game update process of this embodiment is compared with the game service hot update solutions provided by other game frameworks. For example, although OKG (an open source project of the Alibaba Cloud team) is also implemented in the form of temporary storage of shared files, its patch file is directly saved in the sidecar container image. Each hot update will restart the sidecar container, pull the latest image and copy the patch file into the temporary storage. It is necessary to apply the special capabilities of OpenKruise (a Kubernetes-based extension suite) to ensure that the restart of the sidecar container does not cause the Pod to be rebuilt, so it will not affect the operation of the game service container, and hot update is achieved; the game update process of this embodiment can keep the first game server and the first game sidecar server running. The first game sidecar server obtains the target patch file and stores it in the shared storage space, and informs the first game server to download and reload it. In this way, hot update can be implemented on the native container orchestration platform, achieving the same hot update effect without introducing non-native technical solutions, and avoiding the shortcoming that the Pod must replace the container image and rebuild. The game service itself does not need to change the code to adapt to this hot update method.

[0080] It should be noted that the premise of the above game update process is that the game service framework itself supports hot update.

[0081] Similarly, some script files that need to be run by the first game server can also be obtained by the first game sidecar server and stored in the shared storage space in a manner similar to the above-mentioned patch files, and a notification can be sent to the first game server to enable the first game server to download the script files from the shared storage space and run them. In addition, after the first game server is restarted, the script files can also be downloaded from the shared storage space and run.

[0082] Based on any of the above embodiments, the first game sidecar server may also provide a detection capability for indicators such as the service quality of the first game server.

[0083] The existing technical solutions usually have problems such as being highly invasive to game services and not being suitable for Serverless clusters. For example, in the Serverless form, it is impossible to directly call the CRI (Container Runtime Interface) interface to perform container-related operations, and it is impossible to detect indicators such as game service quality through the CRI's Exec (Execute) function.

[0084] For example, OKG manages the game server gameserver through the management service gameserverset. A gameserverset is an enhancement of the native statefulset and can manage multiple gameserver replicas. OKG uses the podprobemarker in the Kruise-daemon component to implement service quality detection. The user specifies the detection method on the gameserverset for detection, and then writes the result to the spec of the gameserver. The game server status and deletion priority can be set according to the detection result. With this solution, after detecting that there are no players in the game server, the game server can be set to the WaitToBeDeleted state, and the gameserverset will actually delete it. OKG only supports the detection of game servers through Exec, and in the Serverless scenario, it cannot support the Exec operation on the game server. Therefore, this solution cannot be used in the Serverless scenario.

[0085] For another example, Agones (Google open source project) provides Fleet to manage copies of game servers and implement game server updates, operations and maintenance. For the above-mentioned scaling down scenario, the game server needs to be modified and call shutDown() in the SDK provided by agones to change the game server status. After all players exit the game server, the game server calls this interface to change the status of the game server and put it in a state waiting to be deleted. When scaling down by adjusting the number of Fleet copies, only the game servers waiting to be deleted will be deleted. This solution is highly invasive to the user's game server. Users need to deeply couple the SDK provided by agones and implement functions such as game server allocation and status management by calling the SDK interface.

[0086] For another example, OCGI (Tencent open source project) provides Squad resources to manage game servers, and also provides a set of carrier SDKs for game servers to call and report their own information to the game server. When scaling down, the game server needs to call the SDK to write the information that all players have exited to the condition of the game server. The controller of the game server will actually delete the game server only after listening to the condition. This solution still requires the user's game server to adapt to the SDK provided by OCGI, which is quite intrusive to the game server itself.

[0087] In order to solve the above technical problems, in this embodiment, the first game sidecar server provides the ability to detect indicators such as the service quality of the first game server, such as Figure 5 As shown, the first game server is pre-configured with detection information, and the detection information includes the target indicator and the target port that the first game server allows to detect, so as to instruct the first game server to provide the target indicator to the first game sidecar server through the target port, that is, the first game server can expose the target indicator to the target port for detection by the first game sidecar server; the first game sidecar server can also obtain the detection information, and send a detection request for the target indicator to the target port of the first game server according to the detection information, and receive the target indicator returned by the target port.

[0088] Optionally, the detection information pre-configured by the first game server may also include the type of detection request, such as HTTP / TCP, which allows the first game server to obtain the target indicator through an HTTP / TCP type detection request; accordingly, the first game sidecar server can configure an HTTP / TCP type probe, and when sending a detection request to the first game server, it sends an HTTP / TCP type detection request according to the pre-configured detection request type.

[0089] In addition, the detection information pre-configured by the first game server may also include the expected return value of the target indicator, that is, the first game server can provide the target indicator to the first game side car server according to the expected return value of the target indicator, or the first game side car server determines whether the target indicator is normal according to the expected return value of the target indicator.

[0090] As an example, Figure 6 As shown, the target indicator may include the number of current online players; the first game sidecar server can detect the number of current online players in the above manner, and can also determine the state of the first game server according to the number of current online players, and control the first game server to go offline to achieve capacity reduction according to the state of the first game server, or create a new game server to achieve capacity expansion, and the game service controller can be used to expand and shrink capacity according to the state of the first game server. Specifically, if the number of current online players is greater than 0, it means that there are still players online at the first game server, and the state of the first game server is determined to be a survival state; if the number of current online players is equal to 0, it means that there are no players online at the first game server, and the state of the first game server is determined to be a waiting offline state, and the first game server can be controlled to go offline to achieve capacity reduction; if the number of current online players exceeds the preset upper limit, it means that there are too many players in the first game server, and a new game server can be created to achieve capacity expansion. After the new game server is created, it can be forwarded through the first game sidecar server, and part of the traffic in the first game server is forwarded to the new game server.

[0091] The detection capability of the first game sidecar server provided in this embodiment has low intrusion to the game server, and can detect service quality and other indicators of the game server through HTTP / TCP with low intrusion.

[0092] Based on any of the above embodiments, the first game sidecar server can also implement an interface (API) proxy for the first game server, and an interface proxy module can be deployed for the first game server to call the preset interface of the container orchestration platform. For example, for the Kubernetes API proxy, the first game sidecar server interacts with the Kubernetes API to provide an easy-to-use interface for the first game server, so that it can obtain and manage infrastructure information on Kubernetes without understanding the complexity of Kubernetes. In this way, the game server can focus on business logic without learning the underlying infrastructure management.

[0093] In the specific implementation, the First Game sidecar server uses the Kubernetes SDK library to interact with the Kubernetes API, and combines its own RBAC (Role-Based Access Control) information and the Kube information related to the First Game server to package it into a simple and easy-to-use HTTP service, which is provided to the First Game server for calling. The BRAC information can be used to authenticate the First Game server when connecting to the database, and the Kube information related to the First Game server may include but is not limited to the public IP, intranet address, configuration information, etc. The First Game server only needs to use the functions of the Kubernetes API through HTTP requests, without having to care about the Pod name or authentication information. It is similar to a background tool that does not require any prior knowledge.

[0094] Optionally, Kubernetes API functions include but are not limited to obtaining Pod status, obtaining Pod public IP (corresponding to the game server endpoint), and updating the game server status in the Pod.

[0095] Among them, in the Kubernetes API function of obtaining the Pod's public IP, considering that the public IP of a Pod on the cloud is not directly written in the Pod (virtual machine scenario), and is often delayed in mounting (it takes time to create and verify), it is necessary to interact with the cloud vendor's API to obtain the correct public IP. In the Kubernetes API function of updating the status of the game server in the Pod, the current game status can be continuously monitored based on the K8s List-Watch mechanism, and the game server can be notified when necessary.

[0096] When the first game server needs to call the preset interface of the container orchestration platform, it can send an interface call request to the first game side car server. The first game side car server responds to the interface call request of the first game server, and interacts with the preset interface of the container orchestration platform through the interface proxy module in the first game side car server. The first game side car server can obtain the request result corresponding to the interface call request from the preset interface and return it to the first game server.

[0097] Optionally, in any of the above embodiments, the first game server communicates with the first game side car server through HTTP service, and the first game side car server packages the information to be transmitted into HTTP service for the first game server to call.

[0098] On the basis of any of the above embodiments, the first game sidecar server can also implement a database proxy for the first game server, and a database proxy module can be deployed for the first game server to connect to the database, where the database includes but is not limited to Redis, MongoDB and other databases. In this embodiment, through the database proxy module of the first game sidecar server, the first game server can directly connect to the database by connecting to the local network address, and the database proxy module of the first game sidecar server can implement database connection, monitoring, authentication, load balancing and disaster recovery functions. The first game server does not need to care about the above functions, thereby reducing the burden on the first game server, and can also solve the burden of the operation and maintenance personnel in maintaining the database in the scenario where different databases are configured on different game servers, and updating the database configuration when the database address changes or disaster recovery migration, reconnecting to the database when the game server is restarted, etc.

[0099] In a specific implementation, the first game sidecar server can obtain the database configuration from the configuration center or the configuration file (such as YAML) of the first game server, and implement data-related operations according to the database configuration.

[0100] Optionally, specifically, at least one of the following operations may be performed by the database proxy module in the first game sidecar server:

[0101] Performing status detection on the current database connected to the first game server, and after detecting that the current database status is abnormal, controlling the first game server to connect to a disaster recovery database, wherein the disaster recovery database is a backup database of the current database; and / or

[0102] In response to a change in the database configuration information of the first game server, control the first game server to connect to the target database to be changed, that is, when a database change is required, the change of the database connected to the first game server is implemented through the first game sidecar server; and / or

[0103] Control the load balancing between the multiple databases according to the read and write traffic of the multiple databases connected to the first game server container, that is, the first game sidecar server performs load balancing control to avoid service overload and ensure stability and reliability; and / or

[0104] When the first game server connects to any database, an authentication operation is performed between the first game server and any database, so that the first game server can quickly realize database connection without paying attention to the authentication operation process, thereby reducing the burden on the first game server.

[0105] It should be noted that the game service operation and maintenance methods for cloud-native scenarios provided in the above embodiments are not limited to cloud-native scenarios, but can also be applied to non-cloud-native scenarios, which will not be described in detail here.

[0106] The game service operation and maintenance method corresponding to the cloud native scenario in the above embodiment, Figure 7 A block diagram of a game service operation and maintenance device for a cloud-native scenario provided in an embodiment of the present disclosure. For ease of explanation, only the parts related to the embodiment of the present disclosure are shown. The game service operation and maintenance device for the cloud-native scenario described in the embodiment of the present disclosure is applied to a first game sidecar server, which is a server that assists in the operation and maintenance of the first game server. Figure 7 The game service operation and maintenance device 700 of the cloud native scenario includes: a communication unit 701 and a processing unit 702.

[0107] in,

[0108] The communication unit 701 is used to obtain the inbound and outbound network traffic of the first game server through the first game sidecar server associated with the first game server; wherein the first game server and the first game sidecar server associated with it are deployed together in the same container group in a sidecar mode; the first game sidecar server is deployed in an independent container, which is configured with a preset auxiliary function for assisting the operation and maintenance processing of the first game server;

[0109] The processing unit 702 is used to execute the preset auxiliary function operation configured by the first game side car server according to the inbound and outbound network traffic through the first game side car server, and control the first game server to execute the preset operation and maintenance operation according to the result of the preset auxiliary function operation.

[0110] In one or more embodiments of the present disclosure, the first game server communicates with the first game sidecar server through HTTP service, and the first game sidecar server packages the information to be transmitted into HTTP service for the first game server to call.

[0111] In one or more embodiments of the present disclosure, when the processing unit 702 executes the preset auxiliary function operation configured by the first game side car server according to the inbound and outbound network traffic through the first game side car server, and controls the first game server to execute the preset operation and maintenance operation according to the result of the preset auxiliary function operation, it is used to:

[0112] In the game server merging scenario, the network traffic when the player client to be connected establishes a connection with the first game server is forwarded to the second game server to be merged through the first game sidecar server;

[0113] The network traffic between the connected player client and the first game server is detected through the first game sidecar server. If there is no network traffic between the connected player client and the first game server, the first game server is controlled to go offline.

[0114] In one or more embodiments of the present disclosure, when the processing unit 702 executes the preset auxiliary function operation configured by the first game side car server according to the inbound and outbound network traffic through the first game side car server, and controls the first game server to execute the preset operation and maintenance operation according to the result of the preset auxiliary function operation, it is used to:

[0115] In a game update scenario, the target patch file of the first game server is stored in a shared storage space through the first game sidecar server, wherein the shared storage space is a shared storage space between the first game server and the first game sidecar server;

[0116] Sending an update notification to the first game server through the first game sidecar server;

[0117] The target patch file is downloaded from the shared storage space according to the update notification by the first game server, and the target patch file is reloaded.

[0118] In one or more embodiments of the present disclosure, the processing unit 702 is further configured to:

[0119] After the first game server is restarted, an update notification is sent to the first game server through the first game sidecar server;

[0120] downloading the target patch file from the shared storage space according to the update notification through the first game server, and reloading the target patch file; or

[0121] After the first game server is restarted, the target patch file is downloaded from the shared storage space through the first game server, and the target patch file is reloaded.

[0122] In one or more embodiments of the present disclosure, the processing unit 702 is further configured to:

[0123] Obtaining a target indicator through the first game server according to pre-configured detection information, and sending it to a target port of the first game server, wherein the detection information includes the target indicator and the target port allowed to be detected by the first game server;

[0124] Sending a detection request for a target indicator to a target port of the first game server through the first game sidecar server;

[0125] The first game server sends the target indicator to the first game sidecar server through the target port according to the detection request.

[0126] In one or more embodiments of the present disclosure, the processing unit 702 is further configured to:

[0127] The first game sidecar server determines the state of the first game server based on the number of currently online players detected, and controls the first game server to go offline to achieve capacity reduction, or creates a new game server to achieve capacity expansion according to the state of the first game server.

[0128] In one or more embodiments of the present disclosure, the processing unit 702 is further configured to:

[0129] Sending an interface call request for a preset interface of the container orchestration platform to the first game sidecar server through the first game server;

[0130] The first game sidecar server responds to the interface call request, interacts with the preset interface of the container orchestration platform through the interface proxy module in the first game sidecar server, obtains the request result corresponding to the interface call request, and returns it to the first game server.

[0131] In one or more embodiments of the present disclosure, the processing unit 702 is further configured to:

[0132] Perform at least one of the following operations through the database proxy module in the first game sidecar server:

[0133] Performing status detection on the current database to which the first game server is connected, and upon detecting that the current database status is abnormal, controlling the first game server to connect to a disaster recovery database; and / or

[0134] In response to a change in the database configuration information of the first game server, controlling the first game server to connect to a target database to be changed; and / or

[0135] Controlling load balancing among the multiple databases according to the read and write traffic of the multiple databases connected to the first game server container; and / or

[0136] When the first game server is connected to any database, an authentication operation is performed between the first game server and any database.

[0137] The device provided in this embodiment can be used to execute the technical solution of the above method embodiment. Its implementation principle and technical effect are similar, and this embodiment will not be repeated here.

[0138] In order to implement the above embodiment, the embodiment of the present disclosure also provides an electronic device.

[0139] refer to Figure 8 , which shows a schematic diagram of the structure of an electronic device 800 suitable for implementing the embodiment of the present disclosure, and the electronic device 800 may be a terminal device or a server. The terminal device may include but is not limited to mobile terminals such as mobile phones, notebook computers, digital broadcast receivers, personal digital assistants (PDAs), tablet computers, portable multimedia players (PMPs), vehicle terminals (such as vehicle navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc. Figure 8 The electronic device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.

[0140] like Figure 8 As shown, the electronic device 800 may include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 801, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 802 or a program loaded from a storage device 808 to a random access memory (RAM) 803. Various programs and data required for the operation of the electronic device 800 are also stored in the RAM 803. The processing device 801, the ROM 802, and the RAM 803 are connected to each other via a bus 804. An input / output (I / O) interface 805 is also connected to the bus 804.

[0141] Typically, the following devices may be connected to the I / O interface 805: input devices 806 including, for example, a touch screen, a touch pad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; output devices 807 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; storage devices 808 including, for example, a magnetic tape, a hard disk, etc.; and communication devices 809. The communication device 809 may allow the electronic device 800 to communicate with other devices wirelessly or by wire to exchange data. Although Figure 8 The electronic device 800 is shown with various devices, but it should be understood that it is not required to implement or possess all the devices shown. More or fewer devices may be implemented or possessed instead.

[0142] In particular, according to an embodiment of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program contains program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network through a communication device 809, or installed from a storage device 808, or installed from a ROM 802. When the computer program is executed by the processing device 801, the above-mentioned functions defined in the method of the embodiment of the present disclosure are executed.

[0143] It should be noted that the computer-readable medium disclosed above may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program that may be used by or in combination with an instruction execution system, device or device. In the present disclosure, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, in which a computer-readable program code is carried. This propagated data signal may take a variety of forms, including but not limited to an electromagnetic signal, an optical signal, or any suitable combination of the above. The computer readable signal medium may also be any computer readable medium other than a computer readable storage medium, which may send, propagate or transmit a program for use by or in conjunction with an instruction execution system, apparatus or device. The program code contained on the computer readable medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.

[0144] The computer-readable medium may be included in the electronic device, or may exist independently without being incorporated into the electronic device.

[0145] The computer-readable medium carries one or more programs. When the one or more programs are executed by the electronic device, the electronic device executes the method shown in the above embodiment.

[0146] Computer program code for performing the operations of the present disclosure may be written in one or more programming languages ​​or a combination thereof, including object-oriented programming languages, such as Java, Smalltalk, C++, and conventional procedural programming languages, such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as an independent software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0147] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present disclosure. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some implementations as replacements, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0148] The units involved in the embodiments described in the present disclosure may be implemented by software or hardware. The name of a unit does not limit the unit itself in some cases. For example, the first acquisition unit may also be described as a "unit for acquiring at least two Internet Protocol addresses".

[0149] The functions described above herein may be performed at least in part by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), and the like.

[0150] In a first aspect, according to one or more embodiments of the present disclosure, a game service operation and maintenance method for a cloud native scenario is provided, the method comprising:

[0151] Obtaining the inbound and outbound network traffic of the first game server through the first game sidecar server associated with the first game server; wherein the first game server and the first game sidecar server associated with it are deployed together in the same container group in sidecar mode; the first game sidecar server is deployed in an independent container, which is configured with a preset auxiliary function for assisting the operation and maintenance processing of the first game server;

[0152] The first game sidecar server performs a preset auxiliary function operation configured by the first game sidecar server according to the inbound and outbound network traffic, and controls the first game server to perform a preset operation and maintenance operation according to a result of the preset auxiliary function operation.

[0153] According to one or more embodiments of the present disclosure, the first game server communicates with the first game sidecar server through an HTTP service, and the first game sidecar server packages the information to be transmitted into an HTTP service for the first game server to call.

[0154] According to one or more embodiments of the present disclosure, the first game side car server performs a preset auxiliary function operation configured by the first game side car server according to the inbound and outbound network traffic, and controls the first game server to perform a preset operation and maintenance operation according to a result of the preset auxiliary function operation, including:

[0155] In the game server merging scenario, the network traffic when the player client to be connected establishes a connection with the first game server is forwarded to the second game server to be merged through the first game sidecar server;

[0156] The network traffic between the connected player client and the first game server is detected through the first game sidecar server. If there is no network traffic between the connected player client and the first game server, the first game server is controlled to go offline.

[0157] According to one or more embodiments of the present disclosure, the first game side car server performs a preset auxiliary function operation configured by the first game side car server according to the inbound and outbound network traffic, and controls the first game server to perform a preset operation and maintenance operation according to a result of the preset auxiliary function operation, including:

[0158] In a game update scenario, the target patch file of the first game server is stored in a shared storage space through the first game sidecar server, wherein the shared storage space is a shared storage space between the first game server and the first game sidecar server;

[0159] Sending an update notification to the first game server through the first game sidecar server;

[0160] The target patch file is downloaded from the shared storage space according to the update notification by the first game server, and the target patch file is reloaded.

[0161] According to one or more embodiments of the present disclosure, the method further includes:

[0162] After the first game server is restarted, an update notification is sent to the first game server through the first game sidecar server;

[0163] downloading the target patch file from the shared storage space according to the update notification through the first game server, and reloading the target patch file; or

[0164] After the first game server is restarted, the target patch file is downloaded from the shared storage space through the first game server, and the target patch file is reloaded.

[0165] According to one or more embodiments of the present disclosure, the method further includes:

[0166] Obtaining a target indicator through the first game server according to pre-configured detection information, and sending it to a target port of the first game server, wherein the detection information includes the target indicator and the target port allowed to be detected by the first game server;

[0167] Sending a detection request for a target indicator to a target port of the first game server through the first game sidecar server;

[0168] The first game server sends the target indicator to the first game sidecar server through the target port according to the detection request.

[0169] According to one or more embodiments of the present disclosure, the method further includes:

[0170] The first game sidecar server determines the state of the first game server based on the number of currently online players detected, and controls the first game server to go offline to achieve capacity reduction, or creates a new game server to achieve capacity expansion according to the state of the first game server.

[0171] According to one or more embodiments of the present disclosure, the method further includes:

[0172] Sending an interface call request for a preset interface of the container orchestration platform to the first game sidecar server through the first game server;

[0173] The first game sidecar server responds to the interface call request, interacts with the preset interface of the container orchestration platform through the interface proxy module in the first game sidecar server, obtains the request result corresponding to the interface call request, and returns it to the first game server.

[0174] According to one or more embodiments of the present disclosure, the method further includes:

[0175] Perform at least one of the following operations through the database proxy module in the first game sidecar server:

[0176] Performing status detection on the current database to which the first game server is connected, and upon detecting that the current database status is abnormal, controlling the first game server to connect to a disaster recovery database; and / or

[0177] In response to a change in the database configuration information of the first game server, controlling the first game server to connect to a target database to be changed; and / or

[0178] Controlling load balancing among the multiple databases according to the read and write traffic of the multiple databases connected to the first game server container; and / or

[0179] When the first game server is connected to any database, an authentication operation is performed between the first game server and any database.

[0180] In a second aspect, according to one or more embodiments of the present disclosure, a game service operation and maintenance device for a cloud native scenario is provided, the device comprising:

[0181] A communication unit, configured to obtain the inbound and outbound network traffic of the first game server through a first game sidecar server associated with the first game server; wherein the first game server and the first game sidecar server associated with the first game server are deployed together in the same container group in a sidecar mode; the first game sidecar server is deployed in an independent container, which is configured with a preset auxiliary function for assisting the operation and maintenance processing of the first game server;

[0182] The processing unit is used to execute the preset auxiliary function operation configured by the first game side car server according to the inbound and outbound network traffic through the first game side car server, and control the first game server to execute the preset operation and maintenance operation according to the result of the preset auxiliary function operation.

[0183] According to one or more embodiments of the present disclosure, the first game server communicates with the first game sidecar server through an HTTP service, and the first game sidecar server packages the information to be transmitted into an HTTP service for the first game server to call.

[0184] According to one or more embodiments of the present disclosure, when the processing unit executes the preset auxiliary function operation configured by the first game side car server according to the inbound and outbound network traffic through the first game side car server, and controls the first game server to execute the preset operation and maintenance operation according to the result of the preset auxiliary function operation, it is used to:

[0185] In the game server merging scenario, the network traffic when the player client to be connected establishes a connection with the first game server is forwarded to the second game server to be merged through the first game sidecar server;

[0186] The network traffic between the connected player client and the first game server is detected through the first game sidecar server. If there is no network traffic between the connected player client and the first game server, the first game server is controlled to go offline.

[0187] According to one or more embodiments of the present disclosure, when the processing unit executes the preset auxiliary function operation configured by the first game side car server according to the inbound and outbound network traffic through the first game side car server, and controls the first game server to execute the preset operation and maintenance operation according to the result of the preset auxiliary function operation, it is used to:

[0188] In a game update scenario, the target patch file of the first game server is stored in a shared storage space through the first game sidecar server, wherein the shared storage space is a shared storage space between the first game server and the first game sidecar server;

[0189] Sending an update notification to the first game server through the first game sidecar server;

[0190] The target patch file is downloaded from the shared storage space according to the update notification by the first game server, and the target patch file is reloaded.

[0191] According to one or more embodiments of the present disclosure, the processing unit is further configured to:

[0192] After the first game server is restarted, an update notification is sent to the first game server through the first game sidecar server;

[0193] downloading the target patch file from the shared storage space according to the update notification through the first game server, and reloading the target patch file; or

[0194] After the first game server is restarted, the target patch file is downloaded from the shared storage space through the first game server, and the target patch file is reloaded.

[0195] According to one or more embodiments of the present disclosure, the processing unit is further configured to:

[0196] Obtaining a target indicator through the first game server according to pre-configured detection information, and sending it to a target port of the first game server, wherein the detection information includes the target indicator and the target port allowed to be detected by the first game server;

[0197] Sending a detection request for a target indicator to a target port of the first game server through the first game sidecar server;

[0198] The first game server sends the target indicator to the first game sidecar server through the target port according to the detection request.

[0199] According to one or more embodiments of the present disclosure, the processing unit is further configured to:

[0200] The first game sidecar server determines the state of the first game server based on the number of currently online players detected, and controls the first game server to go offline to achieve capacity reduction, or creates a new game server to achieve capacity expansion according to the state of the first game server.

[0201] According to one or more embodiments of the present disclosure, the processing unit is further configured to:

[0202] Sending an interface call request for a preset interface of the container orchestration platform to the first game sidecar server through the first game server;

[0203] The first game sidecar server responds to the interface call request, interacts with the preset interface of the container orchestration platform through the interface proxy module in the first game sidecar server, obtains the request result corresponding to the interface call request, and returns it to the first game server.

[0204] According to one or more embodiments of the present disclosure, the processing unit is further configured to:

[0205] Perform at least one of the following operations through the database proxy module in the first game sidecar server:

[0206] Performing status detection on the current database to which the first game server is connected, and upon detecting that the current database status is abnormal, controlling the first game server to connect to a disaster recovery database; and / or

[0207] In response to a change in the database configuration information of the first game server, controlling the first game server to connect to a target database to be changed; and / or

[0208] Controlling load balancing among the multiple databases according to the read and write traffic of the multiple databases connected to the first game server container; and / or

[0209] When the first game server is connected to any database, an authentication operation is performed between the first game server and any database.

[0210] In a third aspect, according to one or more embodiments of the present disclosure, there is provided an electronic device, comprising: at least one processor and a memory;

[0211] The memory stores computer-executable instructions;

[0212] The at least one processor executes the computer-executable instructions stored in the memory, so that the at least one processor executes the game service operation and maintenance method for the cloud-native scenario as described in the first aspect and various possible designs of the first aspect.

[0213] In a fourth aspect, according to one or more embodiments of the present disclosure, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores computer execution instructions. When a processor executes the computer execution instructions, the game service operation and maintenance method for the cloud-native scenario described in the first aspect and various possible designs of the first aspect is implemented.

[0214] In a fifth aspect, according to one or more embodiments of the present disclosure, a computer program product is provided, including a computer program, wherein when the computer program is executed by a processor, the game service operation and maintenance method for the cloud-native scenario described in the first aspect and various possible designs of the first aspect is implemented.

[0215] The above description is only a preferred embodiment of the present disclosure and an explanation of the technical principles used. Those skilled in the art should understand that the scope of disclosure involved in the present disclosure is not limited to the technical solutions formed by a specific combination of the above technical features, but should also cover other technical solutions formed by any combination of the above technical features or their equivalent features without departing from the above disclosed concept. For example, the above features are replaced with the technical features with similar functions disclosed in the present disclosure (but not limited to) by each other to form a technical solution.

[0216] In addition, although each operation is described in a specific order, this should not be understood as requiring these operations to be performed in the specific order shown or in a sequential order. Under certain circumstances, multitasking and parallel processing may be advantageous. Similarly, although some specific implementation details are included in the above discussion, these should not be interpreted as limiting the scope of the present disclosure. Some features described in the context of a separate embodiment can also be implemented in a single embodiment in combination. On the contrary, the various features described in the context of a single embodiment can also be implemented in multiple embodiments individually or in any suitable sub-combination mode.

[0217] Although the subject matter has been described in language specific to structural features and / or methodological logical actions, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. On the contrary, the specific features and actions described above are merely example forms of implementing the claims.

Claims

1. A game service operation and maintenance method for a cloud-native scenario, characterized in that: include: Obtaining the inbound and outbound network traffic of the first game server through the first game sidecar server associated with the first game server; wherein the first game server and the first game sidecar server associated with it are deployed together in the same container group in sidecar mode; the first game sidecar server is deployed in an independent container, which is configured with a preset auxiliary function for assisting the operation and maintenance processing of the first game server; The first game sidecar server performs a preset auxiliary function operation configured by the first game sidecar server according to the inbound and outbound network traffic, and controls the first game server to perform a preset operation and maintenance operation according to a result of the preset auxiliary function operation.

2. The method according to claim 1, characterized in that: The first game server communicates with the first game sidecar server via HTTP service, and the first game sidecar server packages the information to be transmitted into HTTP service for the first game server to call.

3. The method according to claim 1, characterized in that The performing, by the first game side car server, a preset auxiliary function operation configured by the first game side car server according to the inbound and outbound network traffic, and controlling the first game server to perform a preset operation and maintenance operation according to a result of the preset auxiliary function operation, includes: In the game server merging scenario, the network traffic when the player client to be connected establishes a connection with the first game server is forwarded to the second game server to be merged through the first game sidecar server; The network traffic between the connected player client and the first game server is detected through the first game sidecar server. If there is no network traffic between the connected player client and the first game server, the first game server is controlled to go offline.

4. The method according to claim 1, characterized in that The performing, by the first game side car server, a preset auxiliary function operation configured by the first game side car server according to the inbound and outbound network traffic, and controlling the first game server to perform a preset operation and maintenance operation according to a result of the preset auxiliary function operation, includes: In a game update scenario, the target patch file of the first game server is stored in a shared storage space through the first game sidecar server, wherein the shared storage space is a shared storage space between the first game server and the first game sidecar server; Sending an update notification to the first game server through the first game sidecar server; The target patch file is downloaded from the shared storage space according to the update notification by the first game server, and the target patch file is reloaded.

5. The method according to claim 4, characterized in that The method further comprises: After the first game server is restarted, an update notification is sent to the first game server through the first game sidecar server; downloading the target patch file from the shared storage space according to the update notification through the first game server, and reloading the target patch file; or After the first game server is restarted, the target patch file is downloaded from the shared storage space through the first game server, and the target patch file is reloaded.

6. The method according to claim 1, characterized in that The method further comprises: Obtaining a target indicator through the first game server according to pre-configured detection information, and sending it to a target port of the first game server, wherein the detection information includes the target indicator and the target port allowed to be detected by the first game server; Sending a detection request for a target indicator to a target port of the first game server through the first game sidecar server; The first game server sends the target indicator to the first game sidecar server through the target port according to the detection request.

7. The method according to claim 1, characterized in that The method further comprises: The first game sidecar server determines the state of the first game server based on the number of currently online players detected, and controls the first game server to go offline to achieve capacity reduction, or creates a new game server to achieve capacity expansion according to the state of the first game server.

8. The method according to claim 1, characterized in that The method further comprises: Sending an interface call request for a preset interface of the container orchestration platform to the first game sidecar server through the first game server; The first game sidecar server responds to the interface call request, interacts with the preset interface of the container orchestration platform through the interface proxy module in the first game sidecar server, obtains the request result corresponding to the interface call request, and returns it to the first game server.

9. The method according to claim 1, characterized in that: The method further comprises: Perform at least one of the following operations through the database proxy module in the first game sidecar server: Performing status detection on the current database to which the first game server is connected, and upon detecting that the current database status is abnormal, controlling the first game server to connect to a disaster recovery database; and / or In response to a change in the database configuration information of the first game server, controlling the first game server to connect to a target database to be changed; and / or Controlling load balancing among the multiple databases according to the read and write traffic of the multiple databases connected to the first game server container; and / or When the first game server is connected to any database, an authentication operation is performed between the first game server and any database.

10. A game service operation and maintenance device for a cloud-native scenario, characterized in that: include: A communication unit, configured to obtain the inbound and outbound network traffic of the first game server through a first game sidecar server associated with the first game server; wherein the first game server and the first game sidecar server associated with the first game server are deployed together in the same container group in a sidecar mode; the first game sidecar server is deployed in an independent container, which is configured with a preset auxiliary function for assisting the operation and maintenance processing of the first game server; The processing unit is used to execute the preset auxiliary function operation configured by the first game side car server according to the inbound and outbound network traffic through the first game side car server, and control the first game server to execute the preset operation and maintenance operation according to the result of the preset auxiliary function operation.

11. An electronic device, characterized in that: include: Processor and memory; The memory stores computer-executable instructions; The processor executes the computer-executable instructions stored in the memory, so that the processor performs the method according to any one of claims 1 to 9.

12. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer-executable instructions, and when the processor executes the computer-executable instructions, the method according to any one of claims 1 to 9 is implemented.

13. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the method according to any one of claims 1 to 9 is implemented.