Process management system, method and equipment and storage medium

By introducing a stateless service mechanism for migration servers into the game engine, the problem of abnormal termination caused by the long-term operation of the DS process was solved, enabling long-term online migration of the DS process without service interruption, thereby improving the applicability of game services and user experience.

CN122044762APending Publication Date: 2026-05-15TENCENT TECH SHANGHAI
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411625298.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-13
Publication Date
2026-05-15

AI Technical Summary

Technical Problem

In existing technologies, the DS process built into the game engine is not suitable for long-term operation, leading to problems such as memory leaks and performance degradation, which in turn causes the DS process to terminate abnormally and cannot support the online non-stop migration of long-cycle game services.

Method used

The migration process on the migration server is introduced as a stateless service, which is used to store the running status information of the DS process to the database when the DS process stops abnormally, and to notify the new DS process to read the status information from the database through the game server, so as to realize the migration of the DS process.

Benefits of technology

It enables online, non-disruptive migration of DS processes in long-cycle game services, expands the applicability of DS in game services, and ensures the continuity of the user's gaming experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122044762A_ABST
    Figure CN122044762A_ABST
Patent Text Reader

Abstract

The invention discloses a process management system, method and device and a storage medium, and relates to the technical field of computers. The system comprises a GS cluster, a DS cluster, at least one migration server and a database, the DS cluster comprises at least one DS carried by a game engine for supporting a game application program, and at least one DS process runs on the DS; a first migration server in the at least one migration server is used for storing running state information of a first DS process into a database through a first migration process after the first DS process in a plurality of DS processes corresponding to the DS cluster is closed under the condition that the new DS process is pulled up, and the new DS process is used for replacing the first DS process; the first migration process is stateless service; the first GS in the GS cluster is used for notifying the new DS process to read the running state information of the first DS process from the database. According to the method and the device, the online non-stop migration of the DS process under the long-period game service is supported.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular to a process management system, method, device and storage medium. Background Technology

[0002] Currently, in the game development field, more and more game businesses are based on the DS (Dedicated Server) that comes with the game engine. Since the DS that comes with the game engine can be seamlessly integrated with the game engine, this makes game development more efficient and the games developed can bring a better gaming experience to users.

[0003] However, due to inherent limitations in the game engine design, the DS process started on the DS is not suitable for long-term operation. For example, long-term operation of the DS process can cause problems such as memory leaks and performance degradation. The DS process may also terminate abnormally due to these problems. Since the DS process is a stateful service, abnormal termination of the DS process will result in the loss of the DS process's running state information and the inability to recover the service.

[0004] Therefore, how to implement long-cycle game services (such as game matches with long durations) based on the DS built into the game engine is an urgent problem to be solved. Summary of the Invention

[0005] This application provides a process management system, method, device, and storage medium. The technical solutions provided by this application are as follows:

[0006] According to one aspect of the embodiments of this application, a process management system is provided, the system comprising: a game server GS cluster, a dedicated server DS cluster, at least one migration server and a database, the GS cluster including at least one GS for providing background services for a game application, the DS cluster including at least one DS for supporting the game engine of the game application, the DS for processing real-time data within the game application, and at least one DS process running on the DS.

[0007] The first migration server in the at least one migration server is used to store the running status information of the first DS process in the database after the first DS process in the multiple DS processes corresponding to the GS cluster is shut down when the new DS process is started. The new DS process is used to replace the first DS process. The first migration process is a stateless service.

[0008] The first GS in the GS cluster is used to notify the new DS process to read the running status information of the first DS process from the database. The first GS is associated with the first DS process.

[0009] According to one aspect of the embodiments of this application, a process management method is provided. The method is applied to a process management system, which includes: a game server GS cluster, a dedicated server DS cluster, at least one migration server and a database. The GS cluster includes at least one GS for providing background services for a game application. The DS cluster includes at least one DS that is built into the game engine to support the game application. The DS is used to process real-time data within the game application, and at least one DS process runs on the DS.

[0010] The method includes:

[0011] When a new DS process is started, and the first DS process among the multiple DS processes corresponding to the GS cluster is shut down, the first migration server in at least one migration server stores the running status information of the first DS process in the database through the first migration process. The new DS process is used to replace the first DS process. The first migration process is a stateless service.

[0012] The first GS in the GS cluster notifies the new DS process to read the running status information of the first DS process from the database, and the first GS is associated with the first DS process.

[0013] According to one aspect of the embodiments of this application, a computer device is provided, the computer device including a processor and a memory, the memory storing a computer program, the computer program being loaded and executed by the processor to implement the above-described process management method.

[0014] According to one aspect of the embodiments of this application, a computer-readable storage medium is provided, wherein a computer program is stored in the computer-readable storage medium, the computer program being loaded and executed by a processor to implement the above-described process management method.

[0015] According to one aspect of the embodiments of this application, a computer program product is provided, the computer program product including a computer program stored in a computer-readable storage medium, and a processor reading from the computer-readable storage medium and executing the computer program to implement the above-described process management method.

[0016] The technical solutions provided in this application embodiment may have the following beneficial effects:

[0017] By using a stateless migration process, the runtime state information of the first DS process that needs to be shut down is stored in a database. Furthermore, the new DS process is notified to read the runtime state information of the first DS process from the database via the GS associated with the first DS process, thus achieving the migration from the first DS process to the new DS process. Since the migration process is a stateless service, there is no issue of runtime state information loss, allowing it to run for extended periods. Even if the first DS process abnormally stops due to prolonged operation, its runtime state information can still be stored in the database, preventing its loss. This allows the new DS process to replace the first DS process and continue providing services based on the runtime state information in the database. This enables the migration of DS processes even in long-term game applications, allowing for long-term game applications based on the DS built into the game engine, thereby expanding the applicability of DS for game applications.

[0018] In addition, during the migration of the DS process, since it is not necessary to stop running GS and DS, the DS process can be migrated online without service for long-term game business. This is conducive to further improving the applicability of DS for game business and achieving a lossless gaming experience for users. Attached Figure Description

[0019] Figure 1 This is a schematic diagram of a process management system provided by related technologies;

[0020] Figure 2 This is a schematic diagram of a process management system provided in one embodiment of this application;

[0021] Figure 3 This is a schematic diagram of a process migration method provided in one embodiment of this application;

[0022] Figure 4 This is a schematic diagram of a process migration triggering method provided in one embodiment of this application;

[0023] Figure 5 This is a schematic diagram of a process migration triggering method provided in another embodiment of this application;

[0024] Figure 6 This is a flowchart of a process management method provided in one embodiment of this application;

[0025] Figure 7 This is a schematic diagram of the structure of a computer device provided in one embodiment of this application. Detailed Implementation

[0026] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.

[0027] In the field of computer technology, a game engine is a software system that can be used to create, develop, and run game applications. It provides a standard, reusable architecture on which developers can build and develop their own game applications without having to create them from scratch.

[0028] Currently, some game engines come with a dedicated server (DS). DS can refer to the server functionality provided by the game engine itself. This server functionality can be implemented by a DS process, which can be deployed on a DS host machine. The DS host machine can be a physical machine (such as a server), a virtual machine, or a container; this application embodiment does not limit this. In this application embodiment, DS can be used to refer to the DS host machine.

[0029] Optionally, the game engine that comes with DS can include at least one of the following: UE (Unreal Engine) or a Unity engine that supports DS mode.

[0030] DS can be used to support the development and operation of multiplayer online game applications, such as handling and managing the interaction and communication between multiple players to ensure the smooth operation of the game application in a multiplayer online environment. A process is an execution of a computer program; a DS process can refer to an execution of a computer program used to implement the aforementioned server functions. For example, a DS process (i.e., DS) can be used to implement at least one of the following functions:

[0031] 1. Game rule setting: Set game rules to ensure that all players run the game in the same environment.

[0032] 2. Data synchronization: Ensure that game data remains consistent across all clients.

[0033] 3. Player Control: Each client has its own controller, but these controllers are only copied between the server and the associated client, and will not be copied to other clients, ensuring the fairness of the game.

[0034] Currently, in the game development field, more and more game projects are based on the DS (Dynamic Module) that comes with the game engine. Since the DS and the game engine can be seamlessly integrated, game development can be more efficient, and the games developed can bring a better gaming experience to users.

[0035] However, due to inherent limitations in the game engine design, DS processes running on DS are not suitable for long-term operation. For example, prolonged DS process operation can lead to memory leaks and performance degradation. Since DS processes are stateful services, if long-term (i.e., running for days) game operations are to be implemented using DS, DS migration is necessary at an appropriate time. Stateful services refer to processes that store runtime state information; abnormal process termination results in the loss of this runtime state information, leading to data loss or business logic calculation failures. DS migration refers to transferring the runtime state information of one DS process to another new DS process and shutting down the original DS process. Runtime state information records information required for the DS process to run, and may include at least one of the following: the running state of the DS process, the clients connected to the DS process, and data required for the operation of business logic (such as game logic) (e.g., virtual items, virtual health, interaction data, player sessions, player action data, etc.).

[0036] Due to the significant difficulty of migrating DS games and its impact on player experience, the relevant technologies only support non-stop online migration of DS games with short lifecycles (i.e., short runtimes, measured in minutes or hours). They cannot support non-stop online migration of DS games with long lifecycles. Non-stop online migration means that players remain online at all times, the game servers (such as DS and GS) do not stop running, and the game service is essentially unaffected for players.

[0037] Please refer to Figure 1 This is a schematic diagram of a process management system provided by related technologies. The process management system 100 includes a GS (Game Server) cluster 110, a DSC (Dedicated Server Center) cluster 120, and a DS cluster 130.

[0038] A DS cluster 130 can include multiple DSs (i.e., DS hosts). Each DS can deploy one DSA (Dedicated Server Agent) process and multiple DS processes. The DSA process is responsible for starting and supervising the DS processes. For example, the DSA process can be a proxy daemon process used to start the local DS processes and manage and forward communications to them.

[0039] A GS in GS cluster 110 can request a DSC (such as a DSC host) in DSC cluster 120 to start a new DS process. The DSC selects a suitable DSA process according to a certain scheduling algorithm to start the new DS process on the DS to which the DSA process belongs. The new DS process and the GS can communicate through messages relayed by the DSA process.

[0040] In this system, at least one GS process runs on the GS instance, and the GS process is also used to provide game business logic services. There is interaction between the GS and DS, including reading and writing player data to the database. In this embodiment, the GS can provide some game business logic to the game application client, and the DS can also provide some game business logic to the game application client; both work together to maintain the normal operation of the game application. For example, the DS is responsible for the in-game game business logic provided by the game application, while the GS is responsible for the out-of-game game business logic provided by the game application.

[0041] At least one DSC process can run on a DSC, and the DSC process is a service process used to manage a group of DSA processes. This application focuses on DS migration, so the GS process and the DSC process can be represented by their respective host machines.

[0042] In short-cycle game scenarios, because the DS process runs for a short time, the game can be completed before the DS process stops abnormally due to long-term operation. In this case, the risk of losing the running status information of the DS process is low, and the DS migration can be completed normally or without DS migration. Therefore, the process management system 100 can support online non-stop migration of DS for short-cycle game services.

[0043] In long-cycle game scenarios, the DS process has a long running time and is highly likely to stop abnormally due to prolonged operation. In the event of abnormal stop of the DS process, the DS process in the process management system 100 cannot provide running status information or transfer running status information, resulting in the loss of running status information of the DS process and thus the inability to complete the DS migration. Therefore, the process management system 100 does not support online non-stop migration of DS for long-cycle game services.

[0044] The technical solution provided in this application embodiment adds the deployment of a migration server. Since the migration process on the migration server is a stateless service, there is no problem of loss of running status information. It can run for a long time. Moreover, the migration server can be responsible for recording the running status information of the first DS process to be migrated (such as a DS process that has stopped abnormally) in the database, thereby ensuring that the running status information of the first DS process is not lost. Then, it can notify the GS to trigger DS migration. For example, through the GS associated with the first DS process, the new DS process is notified to read the running status information of the first DS process from the database, thereby realizing the migration of the first DS process to the new DS process.

[0045] This enables the migration of the DS process even under long-running game scenarios. By migrating the DS process under these scenarios, the normal operation of long-running game services can be maintained. This allows for the implementation of long-running game services based on the game engine's built-in DS, thus expanding the applicability of DS for game services. Furthermore, since the migration of the DS process does not require stopping the GS and DS processes, it allows for online, non-disruptive migration of the DS process under long-running game scenarios, further enhancing the applicability of DS for game services and ensuring a seamless gaming experience for users.

[0046] The technical solutions provided in this application are applicable to any game service using DS, especially game services that require DS processes to run for extended periods. For example, game applications that can be implemented using DS include at least one of the following: Massive Multiplayer Online Role-Playing Game (MMORPG), casual games, party games, sandbox games, tower defense games, action-adventure games, Multiplayer Online Battle Arena (MOBA) games, first-person shooter (FPS) games, multiplayer shooting survival games, third-person shooter (TPS) games, simulation games (SLG), simulation management games, survival building games, real-time strategy games, open-world games, roguelike games, and sports games (SPG). This application does not limit these categories.

[0047] The process control system provided in the embodiments of this application will be described in detail below. For the contents not described in the embodiments of this application, please refer to the above embodiments, and they will not be repeated here.

[0048] Please refer to Figure 2 This illustration shows a schematic diagram of a process control system provided in one embodiment of this application. In this embodiment, the process control system 200 can be used to manage DS processes. Exemplarily, the process control system 200 can be used to implement at least one of the following functions:

[0049] 1. Handling abnormal DS process termination: If an abnormal DS process termination is detected, DS migration is performed to restore service.

[0050] 2. DS process version update: Update the DS process to the new version through DS migration.

[0051] 3. Machine expansion of DS processes: Add new DS processes to the process control system 200, and start new DS processes in the newly added DS processes to balance the load pressure.

[0052] 4. Machine scaling down of DS processes: Reduce the number of DS processes in the process control system 200, and migrate the DS processes in the reduced DS processes to other DS processes to balance load pressure and reduce resource consumption.

[0053] 5. Periodic migration of the DS process: Periodically migrate the DS process to support long-term game operations.

[0054] In some embodiments, such as Figure 2 As shown, the process control system 200 may include: GS cluster 210, DSC cluster 220, DS cluster 230, DSR (Dedicated Server Recovery) cluster 240 and database (DB) 250.

[0055] GS cluster 210 refers to a cluster composed of GSs. GS cluster 210 may include at least one GS for providing background services for game applications, that is, GS can be a background server for game applications. The aforementioned background services can be set and adjusted according to actual usage needs, and this application does not limit this. For example, the aforementioned background services may include at least one of the following: data storage, data processing, data computation, and execution of business logic. For example, GS can be used to provide the computing and storage resources required for the operation of game applications, such as processing data outside of game sessions and reading and writing data from within game sessions to a database.

[0056] Optionally, the GS cluster 210 described above can be implemented as a single server, a server cluster consisting of multiple servers, or a cloud computing service center; this embodiment of the application does not limit this. At least one GS in the GS cluster 210 can be distributed in a distributed architecture. At least one GS can communicate with each other.

[0057] DSC cluster 220 refers to a cluster composed of DSC host machines. DSC cluster 220 may include at least one management server for managing DSA processes. In this embodiment, the DSC host machine may be referred to as a management server, on which at least one DSC process can run. Each management server can be used to manage multiple DSA processes. At least one management server can communicate with each other, and each GS can communicate with at least one management server respectively. At least one management server can be distributed in a distributed architecture.

[0058] In one example, when a new DS process needs to be started, the GS can select an idle DSC host from the DSC cluster 220, and the DSC host can select a suitable DSA to start the new DS process.

[0059] DS cluster 230 refers to a cluster composed of DSs, including at least one DS included in the game engine used to support the game application. The game application can be developed based on the game engine, and some of its game functions can be implemented by the DS. For example, the DS can be used to process real-time data within the game application, such as real-time data during game matches provided by the game application, to support multiplayer online games. Real-time data refers to data generated in real time. In this embodiment, real-time data can refer to data generated in real time by multiple players online. For example, the real-time data can include at least one of the following: virtual items, virtual health points, interaction data, player sessions, and player operation data.

[0060] At least one DS process runs on the DS, and the DS process provides stateful services. The DS can provide services to game applications through the DS process. Optionally, the at least one DS can be distributed in a distributed architecture.

[0061] The DS also runs a relay process (i.e., the DSA process) for managing at least one DS process. The relay process is responsible for starting and monitoring the DS process. For example, the relay process can be used to start the local DS process and manage and forward communication to it.

[0062] In one example, upon receiving a game creation request from a client, the GS, through the management server and the DSA process, launches a DS process. Once launched, the DS process establishes a connection with the client to support the game created for that client, such as processing real-time data within the game to support multiplayer online gameplay. After the game ends, the real-time data can be processed by the GS, such as being stored in database 250.

[0063] DSR cluster 240 refers to a cluster composed of DSR host machines. In this embodiment, the DSR host machine is also referred to as a migration server, and DSR cluster 240 may include at least one migration server. At least one migration process can run on the migration server. The migration process is a stateless service, meaning that the process providing the service does not store runtime state information, and therefore, abnormal termination of the process will not result in the loss of runtime state information. DSR cluster 240 supports parallel deployment of multiple nodes, i.e., it includes multiple migration servers, and accessing any one of them is equivalent, thus providing high availability. The aforementioned at least one migration server can be distributed in a distributed architecture. Since the migration process is a stateless service, there is no problem of loss of runtime state information, and it can run for a long time. The stateless migration process, combined with the use of a database, has high availability, such as preventing the loss of runtime state information.

[0064] The migration process can provide services for migrating and restoring the DS process. For example, the migration process can provide at least two of the following services:

[0065] 1. The above migration process can be used to record the running status information of the DS processes that need to be migrated in database 250. The DS processes that need to be migrated include at least one of the following: DS processes that have stopped abnormally, DS processes that need to be upgraded, DS processes that need to be scaled down, DS processes that need to be replaced periodically, and new DS processes.

[0066] 2. The above migration process can also be used to notify the GS to trigger the DS migration, such as notifying a specified GS to create a new DS process, or to shut down a specified DS process, so as to achieve the migration of the specified DS process to the new DS process.

[0067] Each migration server can communicate with the DSA process, GS, and database 250 separately.

[0068] Database 250 is used to store data. In this embodiment of the application, the type of database 250 is not limited, and it can be set and adjusted according to actual usage needs.

[0069] In one example, the process control system 200 may also include an operations and maintenance server ( Figure 2 (Not shown in the image), an operations and maintenance server can refer to a server used by the operations and maintenance personnel of the game application. Operations and maintenance tools (or platforms) may be deployed on the operations and maintenance server to support the operation and maintenance of the game application.

[0070] The operations and maintenance server and the migration server can communicate with each other. For example, operations and maintenance personnel can use the operations and maintenance server to notify the migration server to initiate DS migration, such as initiating DS process version updates, DS process machine expansion, DS process machine reduction, and other events.

[0071] In summary, the technical solution provided in this application, since the migration process on the migration server is a stateless service, eliminates the problem of lost runtime status information and allows for long-term operation. Furthermore, the migration server can record the runtime status information of the DS process to be migrated in a database, ensuring that the runtime status information is not lost, and thus notifying the GS to trigger the DS migration. This enables the migration of DS processes even under long-term game services, allowing for the implementation of long-term game services based on DS, and improving the applicability of DS for game services.

[0072] In addition, during the migration of the DS process, since it is not necessary to stop running GS and DS, the DS process can be migrated online without service for long-term game business. This is conducive to further improving the applicability of DS for game business and achieving a lossless gaming experience for users.

[0073] In some embodiments, the DS process can be migrated online without service by communication and cooperation between the GS, the management server (i.e., the DSC process), the relay process (i.e., the DSA process), and the migration process (i.e., the DSR process). This enables the DS process to perform version updates, machine expansion, machine reduction, periodic migration, and handling of abnormal termination without service interruption.

[0074] For example, refer to Figure 2 The online non-disruptive migration process of the DS process may include the following:

[0075] 1. At least one migration server is used to store the running status information of the first DS process in the database 250 after the first DS process in the multiple DS processes corresponding to the DS cluster 230 is shut down when the new DS process is started.

[0076] At least one migration server is a DSR host included in the DSR cluster 240. The migration servers are deployed in parallel, meaning they can have the same functionality. The first migration server can be an idle migration server among the at least one migration servers; it can also be a migration server with low load. This embodiment does not limit the specific choice of migration server.

[0077] A new DS process can refer to a newly created DS process. The first DS process is the DS process that needs to be migrated. For example, a new DS process can be used to replace the first DS process so that the first DS process can continue to provide services for the game application.

[0078] The first migration process can refer to an idle migration process on the first migration server, or it can refer to a newly created migration process on the first migration server. This application embodiment does not limit this. The first migration process is a stateless service.

[0079] Optionally, after obtaining the runtime status information of the first DS process, the first migration process stores the runtime status information of the first DS process in database 250. The first migration process does not actively read the runtime status information of the first DS process from the memory corresponding to the first DS process. The runtime status information of the first DS process can be sent to the first migration process by the second relay process corresponding to the first DS process.

[0080] The runtime status information of the first DS process may include: the runtime status of the first DS process, the connected clients, and the data required to execute game functions. The runtime status can be either active or inactive; in an active state, the first DS process is running; in an inactive state, the first DS process is not running. The connected clients can refer to multiple clients participating in the same game.

[0081] In one example, the startup of a new DS process can be achieved through communication and cooperation between the first GS, the first management server, and the first relay process. The startup process of the new DS process may include the following:

[0082] (1) First GS, used to send a process migration request to a first management server among at least one management server when it is determined that the first DS process is to be migrated.

[0083] The aforementioned first GS is associated with the first DS process, and there is interaction between the first GS and the first DS process to jointly support the smooth operation of the game application.

[0084] If it is determined that the first DS process needs to be migrated, the first GS can determine whether a new DS process needs to be started or the first DS process needs to be shut down. The process migration request is used to request the start of a new DS process to replace the first DS process. For example, the process migration request includes the identification information of the first DS process, which is used to uniquely identify the first DS process, such as the name, sequence number, and ID (Identity Document) of the first DS process.

[0085] In this embodiment, a process migration request can be used to request the startup of a new DS process before shutting down the first DS process. The first GS can select which DS to start the new DS process on via the management server, that is, it can send the process migration request to the management server, which will then select the DS to start the new DS process.

[0086] The aforementioned first management server may refer to an idle management server among at least one management server, but this application embodiment does not limit this.

[0087] Optionally, the migration of the first DS process can be performed by the first migration server notifying the first GS. After determining to migrate the first DS process, the first migration server first determines the first GS corresponding to the first DS process, and then notifies the first GS to trigger the migration of the first DS process.

[0088] In this embodiment, the DS migration event can be triggered by the GS, which allows the GS to quickly establish communication with the new DS process after the new DS process is started, which is beneficial to improving the DS migration rate.

[0089] (2) The first management server is used to select the first relay process from multiple relay processes corresponding to DS cluster 230 when a process migration request is received.

[0090] Upon receiving a process migration request, the first management server can determine that a new DS process needs to be started. The first management server can select a first relay process from multiple relay processes corresponding to the DS cluster 230 according to a configured scheduling policy. For example, the configured scheduling policy may include at least one of the following: selecting a relay process on the DS with the lowest load pressure, selecting a relay process on the DS with a load pressure less than a pressure threshold, or selecting a relay process on the DS with the shortest communication link to the first GS.

[0091] Optionally, the first relay process may be the same as the second relay process corresponding to the first DS process, or it may be different from the second relay process corresponding to the first DS process. This application embodiment does not limit this.

[0092] After selecting the first relay process, the first GS can communicate directly with the first DS on which the first relay process runs, without having to go through the management server for communication relay.

[0093] (3) First relay process, used to start a new DS process in the first DS corresponding to the first relay process.

[0094] Optionally, after selecting the first relay process, the first management server can send a new process start-up notification to the first relay process. The new process start-up notification is used to request the start of a new DS process. Upon receiving the new process start-up notification, the first relay process starts the new DS process on the first DS. The new DS can communicate with the first GS through the first relay process.

[0095] In one example, the shutdown process of the first DS process can be executed when the new DS process is successfully launched. This is beneficial for a stable and quick switch to the new DS process when the first DS process is shut down, thereby improving the stability and efficiency of DS migration and reducing the impact on the player's gaming experience.

[0096] For example, the shutdown of the first DS process can be achieved through communication and cooperation between the first relay process, the first migration server, and the first GS. The shutdown process of the first DS process may include the following:

[0097] (1) The first relay process corresponding to the new DS process is used to send a start-up success notification to the first GS and the first migration server after the new DS process is started on the first DS corresponding to the first relay process.

[0098] The aforementioned successful start notification indicates that the new DS process has been started. Optionally, the successful start notification may include identification information of the new DS process, which is used to uniquely identify the new DS process.

[0099] A successful startup notification is sent to the first GS to inform it that the new DS process has been successfully started and the shutdown process of the first DS process can continue. A successful startup notification is also sent to the first migration server to inform it that the new DS process has been successfully started and that the running status information of the new DS process can be stored in database 250 to allocate storage space for the new DS process.

[0100] (2) The first migration server is also used to store the running status information of the new DS process into the database 250 through the first migration process when a successful start notification is received, and to send an information storage notification to the first GS.

[0101] Optionally, the successful start notification includes the running status information of the new DS process. The first migration server can directly extract the running status information of the new DS process from the successful start notification and then store the running status information of the new DS process in the database 250.

[0102] The aforementioned information storage notification is used to indicate that the running status information of the new DS process has been stored in the database, that is, to indicate that storage space has been allocated to the new DS process. Optionally, the aforementioned information storage notification may include the address information of the storage space allocated to the new DS process.

[0103] In one example, the runtime status information of the first DS process can be bound and stored with the runtime status information of the new DS process, so that the new DS process can quickly inherit the runtime status information of the first DS process. For example, the first migration server can bind and store the runtime status information of the first DS process with the runtime status information of the new DS process based on the address information of the aforementioned storage space.

[0104] (3) The first GS is used to notify the second relay process corresponding to the first DS process to shut down the first DS process when at least one of the successful start notification and information storage notification is received.

[0105] That is, when the first GS receives a successful start-up notification, it can notify the second relay process to shut down the first DS process; when the first GS receives an information storage notification, it can notify the second relay process to shut down the first DS process; when the first GS receives both a successful start-up notification and an information storage notification, it can notify the second relay process to shut down the first DS process.

[0106] During the startup process of the first DS process, the first GS has established communication with the second relay process. Optionally, the first GS can directly send a process shutdown notification to the second relay process. The process shutdown notification is used to instruct the shutdown of the DS process, and the process shutdown notification may include the identification information of the first DS process. Upon receiving the process shutdown notification, the second relay process shuts down the first DS process.

[0107] In one example, after the first DS process is shut down, the second relay process can be used to notify the first GS and the first migration server to perform the subsequent migration process of runtime status information.

[0108] For example, the migration of runtime status information can be achieved through communication and cooperation between the second relay process, the first migration server, the first GS, the first relay process, and the new DS process. Therefore, embodiments of this application may further include the following:

[0109] (1) The second relay process corresponding to the first DS process is used to send a shutdown success notification to the first GS and the first migration server after the first DS process is shut down.

[0110] The aforementioned successful shutdown notification is used to indicate that the first DS process has been successfully shut down. Successful shutdown notifications are sent to both the first GS and the first migration server. The first GS is informed that the first DS process has been successfully shut down and the subsequent migration of runtime status information can proceed. The first migration server is informed that the subsequent storage of runtime status information can proceed.

[0111] (2) The first migration server is used to store the running status information of the first DS process into the database 250 through the first migration process when a shutdown success notification is received, and to send an information update notification to the first GS.

[0112] The aforementioned successful shutdown notification may include the running status information of the first DS process. The first migration server can directly extract the running status information of the first DS process from the successful shutdown notification and store the running status information of the first DS process in the database 250.

[0113] Optionally, the first migration server may bind and store the running status information of the first DS process with the running status information of the new DS process, such as storing the running status information of the first DS process in the storage space allocated to the new DS process.

[0114] The aforementioned information update notification is used to indicate that the running status information of the first DS process has been successfully stored in the database 250, and it can be used to inform the first GS that a migration process for the running status information can be triggered.

[0115] (3) The first GS is used to send a status read notification to the first relay process when at least one of a closing success notification and an information update notification is received.

[0116] That is, when the first GS receives a successful shutdown notification, it can send a status read notification to the first relay process; when the first GS receives an information update notification, it can send a status read notification to the first relay process; when the first GS receives both a successful shutdown notification and an information update notification at the same time, it can send a status read notification to the first relay process.

[0117] The aforementioned status read notification can be used to instruct a new DS process to read runtime status information, such as instructing a new DS process to read the runtime status information of the first DS process from its allocated storage space.

[0118] In this embodiment of the application, the running status information of the DS process is persisted through the database 250, which can prevent the loss of running status information and enable the process management system 200 to cope with more faults and anomalies, such as DS process crashes. This can improve the disaster prevention capability of the process management system 200, especially in scenarios where the DS process runs for a long time.

[0119] In addition, migrating the runtime state information after the runtime state information of the first DS process is persisted can improve the stability of the new DS process inheriting the runtime state information of the first DS process, and thus improve the stability of DS migration.

[0120] 2. The first GS in GS cluster 210 is used to notify the new DS process to read the running status information of the first DS process from database 250.

[0121] After the new DS process is started, the new DS process and the first GS can communicate directly through the first relay process. Here, the first relay process refers to the relay process on the first DS, which is the DS in DS cluster 210 that has started the new DS process.

[0122] Optionally, the first GS can be used to send a status read notification to the first relay process, so as to notify the new DS process to read the running status information of the first DS process from the database 250 through the first relay process.

[0123] For example, the first relay process is used to forward the status read notification to the new DS process, so as to notify the new DS process to read the running status information of the first DS process from database 250.

[0124] The new DS process, upon receiving a status read notification, reads the runtime status information of the first DS process from database 250, such as from the storage space allocated to it. Based on the runtime status information of the first DS process, the new DS process can replace the first DS process in continuing to provide services to the game application. This can be achieved by inheriting the runtime status of the first DS process, the clients connected to the first DS process, and the data required by the first DS process to execute business logic, thus continuing to provide services to the game application.

[0125] The first GS can quickly notify the new DS process through the first relay process to obtain the running status information of the first DS process, which is beneficial to improving the DS migration efficiency.

[0126] In one example, the first GS is also used to notify clients connected to the first DS process to switch to the new DS process when the new DS is launched and the first DS process is closed. This avoids the new and old DS processes simultaneously providing services to players (such as processing real-time data during game matches) for a short period of time, thus preventing conflicts in game data and ensuring a smooth gaming experience for players.

[0127] For example, if the first DS process is successfully migrated to the new DS process, the first GS sends a process migration notification to the client connected to the first DS process. The process migration notification is used to instruct the client to update the connection to the DS process. The process migration notification may include the identification information of the new DS process. The client connected to the first DS process is used to change to connect to the new DS process upon receiving the process migration notification.

[0128] In some embodiments, reference Figure 3 The overall migration process of the DS process may include the following:

[0129] 1. The first DSR host (such as the first migration server, hereinafter referred to as the first DSR) is used to notify the first GS associated with the first DS process when it is determined to migrate the first DS process.

[0130] 2. The first GS is used to send a process migration request to the first DSC host (such as the first management server mentioned above, hereinafter referred to as the first DSC) to trigger the migration of the first DS process when it is determined that the first DS process will be migrated.

[0131] 3. The first DSC is used to select the first DSA process (i.e. the first relay process mentioned above) according to the set scheduling policy when a process migration request is received, and to send a new process start-up notification to the first DSA process to notify the start-up of the new DS process.

[0132] 4. The first DSA process is used to start the new DS process in the first DS when a new process start notification is received, and to send a start success notification to the first GS and the first DSR to notify that the new DS process has been successfully started.

[0133] 5. The first DSR is used to store the running status information of the new DS process into the database (DB) upon receiving a successful start notification, and to send an information storage notification to the first GS to notify that the new DS process has been allocated storage space.

[0134] 6. The first GS is used to send a process shutdown notification to the second DSA process (i.e., the aforementioned second relay process) upon receiving at least one of a successful start-up notification and an information storage notification, in order to notify the second DSA process to shut down the first DS process. For ease of understanding, Figure 3 The first DSA process and the second DSA process are plotted together.

[0135] 7. The second DSA process is used to send a shutdown success notification to the first GS and the first DSR after the first DS process is shut down, so as to notify that the first DS process has been successfully shut down.

[0136] 8. The first DSR is used to store the running status information of the first DS process into the database upon receiving a successful shutdown notification, and to send an information update notification to the first GS to notify that the running status information of the first DS process has been successfully stored into the database.

[0137] 9. The first GS is used to send a status read notification to the first DSA process upon receiving at least one of a shutdown success notification and an information update notification, so as to notify the new DS process to read the running status information of the first DS process.

[0138] 10. The first DSA process is used to forward status read notifications to the new DSA process.

[0139] 11. A new DS process, used to read the running status information of the first DS process from the database upon receiving a status read notification.

[0140] 12. The first GS is used to notify clients connected to the first DS process to switch to the new DS process when the new DS is started or the first DS process is closed.

[0141] In summary, the technical solution provided in this application, through a stateless service migration process, stores the running status information of the first DS process that needs to be shut down in a database, and notifies the new DS process to read the running status information of the first DS process from the database through the GS associated with the first DS process, thereby realizing the migration from the first DS process to the new DS process. Since the migration process is a stateless service, there is no problem of losing running status information, allowing it to run for a long time. Therefore, even if the first DS process abnormally stops due to prolonged operation, its running status information can still be stored in the database, preventing the loss of the first DS process's running status information. This allows the new DS process to replace the first DS process and continue providing services based on the running status information of the first DS process in the database. This enables the migration of DS processes even in long-term game services, allowing for long-term game services based on the DS built into the game engine, thus improving the applicability of DS for game services.

[0142] In addition, during the migration of the DS process, since it is not necessary to stop running GS and DS, the DS process can be migrated online without service for long-term game business. This is conducive to further improving the applicability of DS for game business and achieving a lossless gaming experience for users.

[0143] In addition, since the technical solution provided in this application embodiment can improve the DS migration efficiency, that is, complete the DS migration in the shortest possible time, it is beneficial to reduce the impact of DS migration on the player's gaming experience.

[0144] In some embodiments, when it is necessary to update the version of the DS process, the operation and maintenance server in the process management system can actively notify the migration server to initiate a DS migration in order to complete the version update of the DS process. In this case, the embodiments of this application may also include the following:

[0145] Optionally, communication links are established between the operations and maintenance server and the DS, GS, management server, and migration server. When it is necessary to update the version of the DS process, the operations and maintenance server can be used to achieve at least one of the following:

[0146] 1. The release package is pre-pushed to all DS processes in the DS cluster. This release package is used to update the DS processes from a specified version to the new version. The operations server is also used to add the new version configuration to each GS, each management server, and each DSA process. This configuration indicates the new version of the DS process.

[0147] 2. After the configuration is pushed out, notify each GS, each management server, and each DSA process to perform an online hot update of the configuration. Online hot update of configuration means that the process loads the new configuration, content, or executable file and applies it without stopping the service.

[0148] 3. After all GS, management server and DSA processes have successfully completed the online hot update configuration, a version upgrade command is generated. The version upgrade command is used to instruct the version of the DS process with the specified version on the specified DS (i.e. the target DS below) to be upgraded to the new version.

[0149] Optionally, the version upgrade command includes identification information for each target DS. For example, an operations and maintenance server can identify a DS with a specified version as a target DS. The version upgrade command may also include identification information for the specified version and identification information for the new version.

[0150] 4. After generating the version upgrade command, send the version upgrade command to the first migration server. The first migration server can be an idle migration server selected by the operations and maintenance server from at least one migration server.

[0151] Optionally, upon receiving a version upgrade instruction, the first migration server may be used to implement at least one of the following:

[0152] 1. Upon receiving a version upgrade instruction, determine at least one target DS for the version of the DS process to be upgraded, based on the version upgrade instruction.

[0153] The target DS is the DS whose process version is to be upgraded to a new version. The first migration server can extract the identification information of at least one target DS from the version upgrade command, thereby identifying at least one target DS, and then identifying the target relay process for each of the at least one target DS. The target relay process refers to the relay process deployed on the target DS.

[0154] Optionally, the above-mentioned at least one target DS includes the DS corresponding to the first DS process.

[0155] 2. Send version query requests to the target relay process of at least one target DS respectively.

[0156] The aforementioned version query request is used to request a query for a target DS process with a specified version. The specified version refers to the version used to upgrade to the new version, which can be set and adjusted according to actual usage needs. This application embodiment does not limit this.

[0157] Optionally, embodiments of this application allow different versions of DS processes to exist on the same target DS. Therefore, it is necessary to determine the target DS process with a specified version. The target DS process with a specified version refers to the DS process whose current version is the specified version.

[0158] For example, the version query request includes identification information of a specified version, such as the version number of the specified version. The target relay process can traverse each DS process on the target DS based on the identification information of the specified version to determine the target DS process.

[0159] In this embodiment of the application, at least one target relay process includes a second relay process corresponding to the first DS process described above.

[0160] Optionally, at least one target transit process can be arranged in a list format to facilitate the batch distribution of version query requests by the first migration server. It should be noted that the DS migration in this embodiment can target at least one DS process simultaneously. For ease of explanation, this embodiment uses the migration of a single DS process as an example.

[0161] 3. Receive process query lists sent by at least one target relay process.

[0162] The process query list corresponding to each target relay process includes the identification information of all target DS processes queried by that target relay process. Optionally, the process query list may also include the identification information of the GS associated with the target DS process, such as the address information of the GS.

[0163] In this embodiment of the application, the process query list corresponding to the first DS (i.e., the second relay process) includes the first DS process.

[0164] 4. For each target DS process in the process query list, send a version upgrade notification to the GS associated with the target DS process.

[0165] The first migration server can notify the GS to trigger the migration of the target DS process based on the address information of the GS in the process query list. For example, the first migration server can send a version upgrade notification to the first GS based on the address information of the first GS, so as to notify the first GS to migrate the first DS process.

[0166] The aforementioned version upgrade notification is used to instruct the launch of a new DS process with the new version and the shutdown of the target DS process. Optionally, the aforementioned version upgrade notification includes the identification information of the target DS process, the identification information of the new version, and the identification information of the target relay process.

[0167] For example, the version upgrade notification sent to the first GS can be used to inform the first GS to launch a new DS process with the new version, and to shut down the target DS process (i.e., the first DS process) through the target relay process (i.e., the second relay process mentioned above).

[0168] Optionally, the first migration server can perform a polling operation on each target DS, that is, send version upgrade notifications on a DS-by-DS basis, and after triggering the migration of multiple target DS processes on the same target DS, trigger the migration of multiple target DS processes on the next target DS. This application embodiment does not limit this.

[0169] In one example, let's take the first GS mentioned above. The first GS is used to determine the first DS process based on the version upgrade notification upon receiving it; and to generate a process migration request based on the first DS process.

[0170] The version upgrade notification may include the identification information of the first DS process and the identification information of the second relay process corresponding to the first DS process. The first GS can determine the first DS process based on the identification information of the first DS process, and determine the second relay process based on the identification information of the second relay process.

[0171] Optionally, upon receiving a version upgrade notification, the first GS can also be used to determine whether the first DS process needs to be migrated. For example, it can reconfirm whether the version of the first DS process is the specified version. If the version of the first DS process is confirmed to be the specified version, the migration of the first DS process is triggered; otherwise, the migration of the first DS process is not triggered. Alternatively, it can confirm whether the first DS process can be migrated. If the first DS process can be migrated, the migration of the first DS process is triggered; otherwise, the migration of the first DS process is not triggered.

[0172] Optionally, when updating the DS version, the aforementioned process migration request is used to request the launch of a new DS process with the new version to replace the first DS process. That is, the first management server, upon receiving the process migration request, sends a new process launch notification to the first relay process, which can be used to request the launch of a new DS process with the new version; upon receiving the new process launch notification, the first relay process launches the new DS process with the new version on the first DS.

[0173] In this case, the versions of the new DS processes that GS subsequently triggers will all be the new version. After all the target DS processes of the specified version are closed (or finished running), there will be no more DS processes of the specified version online, thus completing the update of the target DS process from the specified version to the new version.

[0174] In some embodiments, during a DS version update, after the operations and maintenance server completes the release of the new version package and pushes the new version configuration, refer to... Figure 4 The triggering process for DS migration may include the following:

[0175] 1. Operation and maintenance server, used to notify the first DSA process to hot-update the configuration of the new version online.

[0176] 2. Operation and maintenance server, used to notify First GS to update the configuration of the new version online.

[0177] 3. Operation and maintenance server, used to notify the first DSC to perform online hot updates of the new version of the configuration.

[0178] 4. The operation and maintenance server is used to send a version upgrade command to the first DSR after the first DSA, first GS and first DSC have completed the online hot update of the new version configuration, so as to notify the migration of the first DS process of the specified version to the new DS process of the new version.

[0179] 5. The first DSR is used to determine the version of the DS process to be upgraded according to the version upgrade instruction when a version upgrade instruction is received, and to send a version query request to the second DSA of the first DS to request a query for the target DS process with the specified version.

[0180] 6. The second DSA is used to determine the first DS process upon receiving a version query request, and to send a process query list including the first DS process to the first DSR.

[0181] 7. The first DSR is used to send a version upgrade notification to the first GS to trigger the DS migration.

[0182] 8. The first GS is used to execute the subsequent DS process migration process upon receiving a version upgrade notification.

[0183] For example, the process management system launches a new DS process with a new version and migrates the running status information of the first DS process to the new DS process, thereby realizing the version update of the DS process.

[0184] In summary, based on the technical solutions provided in the embodiments of this application, the DS process version update is achieved through DS migration, which enables the DS process to be updated online without service during long-term game business. This is beneficial to further improve the applicability of DS for game business and to achieve a lossless gaming experience for users.

[0185] In addition, DS process version updates can be used for urgent needs such as bug (such as program errors) fixes. By actively triggering DS migration through the operation and maintenance server, the DS process version can be updated quickly, thereby enabling rapid bug fixes without waiting for the DS process to finish running. This further improves the disaster prevention capabilities and bug fixing capabilities of the process management system.

[0186] In some embodiments, when it is necessary to scale down the machine size of the DS process, the operation and maintenance server in the process management system can also actively notify the migration server to initiate DS migration in order to complete the machine scaling down of the DS process. In this case, the embodiments of this application may also include the following:

[0187] Optionally, communication links are established between the operations and maintenance server and the DS, GS, management server, and migration server. When machine scaling down is required for the DS process, the operations and maintenance server can be used to achieve at least one of the following:

[0188] 1. An operations and maintenance server is used to generate machine scaling-down instructions after determining the target DS that needs to be taken offline. The machine scaling-down instructions instruct the target DS to be taken offline and to migrate multiple target DS processes running on the target DS to other DSs that do not need to be taken offline. Optionally, the machine scaling-down instructions may include the identification information of the target DS to be taken offline. The machine scaling-down instructions may also include the identification information of the target relay process on the target DS to be taken offline; the target relay process can be used to take the target DS offline.

[0189] 2. The operations and maintenance server is used to send the machine scaling-down command to the first migration server when a machine scaling-down command is generated. The first migration server can be an idle migration server selected by the operations and maintenance server from at least one migration server.

[0190] Optionally, upon receiving a machine downsizing instruction, the first migration server may be used to implement at least one of the following:

[0191] 1. Upon receiving a machine downsizing instruction, determine at least one target transit process to be taken offline based on the instruction.

[0192] The first migration server can extract the identification information of at least one target relay process from the machine scaling-down command, thereby identifying at least one target relay process. A target relay process refers to the relay process on the target DS to be taken offline.

[0193] Optionally, the above-mentioned at least one target relay process includes a second relay process corresponding to the first DS process. That is, after the migration of each DS process on the first DS is completed, the first DS can be taken offline by taking offline the second relay process.

[0194] 2. Send a process offline notification to at least one target relay process.

[0195] The aforementioned process shutdown notification is used to instruct the target relay process to initiate a graceful shutdown. Graceful shutdown means that after the DSA process initiates the shutdown process, it no longer receives new process startup notifications (i.e., no new DS processes are started), and the management server no longer assigns new process startup notifications to the DSA process. Once all DS processes on the DSA process have completed their normal operation, the DSA process stops running, thus completing the shutdown of the DS on which the DSA process resides.

[0196] In this embodiment, the DSA process can stop running after all DS processes on the DSA process have been successfully migrated, without waiting for all DS processes to finish running normally. Optionally, after all DS processes on the DSA process have been successfully migrated, the operation and maintenance server can scale down the DS where the DSA process resides.

[0197] In this embodiment of the application, the above-mentioned at least one target relay process includes the second relay process corresponding to the above-mentioned first DS process.

[0198] Optionally, at least one target transit process can be arranged in a list format to facilitate the notification of the first migration server's batch distribution process going offline.

[0199] 3. After notifying at least one target relay process to initiate graceful shutdown, send a process query request to each of the at least one target relay process.

[0200] The aforementioned process query request is used to request a query of currently running target DS processes. For any target relay process, the target relay process can, upon receiving the process query request, determine at least one target DS process currently running on its target DS; generate a query result list based on the identification information of at least one target DS process; and send the query result list to the first migration server.

[0201] Optionally, the query results list may also include identification information of the GS associated with the target DS process, such as the address information of the GS.

[0202] 4. Receive a list of query results sent by at least one target relay process.

[0203] In this embodiment of the application, the query result list corresponding to the first DS (i.e., the second relay process) includes the first DS process.

[0204] 5. For each target DS process in the query results list, send a scaling-down migration notification to the GS associated with the target DS process.

[0205] For each query result list, the first migration server can, based on the address information of the GS in the query result list, notify the GS to trigger the migration of the target DS process. For example, the first migration server can, based on the address information of the first GS, send a scaling-down migration notification to the first GS to notify the first GS to migrate the first DS process.

[0206] The aforementioned scaling-down migration notification is used to instruct the startup of a new DS process and the shutdown of the target DS process. Optionally, the aforementioned scaling-down migration notification includes the identification information of the target DS process.

[0207] For example, the scaling-down migration notification sent to the first GS can be used to notify the first GS to start new DS processes on other DSs in the DS cluster besides the first DS, and to shut down the first DS process. The identification information of the first DS process in the scaling-down migration notification is used to identify the first DS process.

[0208] Optionally, the first migration server can perform a polling operation on each target DS, that is, send a scaling-down migration notification on a DS-by-DS basis, and after triggering the migration of multiple target DS processes on the same target DS, trigger the migration of multiple target DS processes on the next target DS. This application embodiment does not limit this.

[0209] In one example, let's take the first GS mentioned above. The first GS is used to determine the first DS process based on the scaling-down migration notification upon receiving it, and to generate a process migration request based on the first DS process.

[0210] The scaling down migration notification may include the identification information of the first DS process and the identification information of the second relay process corresponding to the first DS process. The first GS can determine the first DS process based on the identification information of the first DS process, and determine the second relay process based on the identification information of the second relay process.

[0211] Optionally, upon receiving a scaling-down migration notification, the first GS can also be used to determine whether the first DS process needs to be migrated. If it is confirmed that the first DS process can be migrated, the migration of the first DS process is triggered if the first DS process can be migrated; otherwise, the migration of the first DS process is not triggered.

[0212] Optionally, in a scenario where the DS process is scaled down, the aforementioned process migration request is used to request the startup of a new DS process on other DSs in the DS cluster, excluding the DS corresponding to at least one target relay process, to replace the first DS process. That is, the first management server, upon receiving the process migration request, sends a new process startup notification to the first relay process. This notification can be used to request the startup of a new DS thread on other DSs (i.e., DSs that do not need to be taken offline). Upon receiving the notification, the first relay process starts the new DS thread on the other DSs. After the new DS thread is started, the first DS thread is shut down.

[0213] In this case, after all DS processes corresponding to at least one target transit process have been migrated, if there is no running target DS process on at least one target DS, the operation and maintenance server can operate the at least one target DS to scale down, thereby completing the machine scaling down of the DS process.

[0214] In some embodiments, reference Figure 5 In a scenario where the DS process is scaled down on a single machine, the DS migration triggering process may include the following:

[0215] 1. Operation and maintenance server, used to send a machine scaling-down instruction to the first DSR when it is determined that the first DS will be scaled down, so as to notify the scaling-down of the first DS.

[0216] 2. The first DSR is used to send a process shutdown notification to the second DSA when it receives a machine scaling down instruction, so as to notify the second DSA to initiate graceful shutdown.

[0217] 3. The second DSA is used to initiate graceful shutdown; it no longer receives new process restart notifications and notifies the first DSC not to allocate new process restart notifications to the second DSA.

[0218] 4. The first DSR is used to send a process query request to the second DSA after notifying the second DSA to initiate graceful shutdown, in order to query all DS processes running on the first DS.

[0219] 5. The second DSA is used to send a list of query results, including the first DS process, to the first DSR.

[0220] 6. The first DSR is used to send a scaling-down migration notification to the first GS to trigger DS migration and realize machine scaling-down.

[0221] 7. The first GS is used to execute the subsequent DS process migration process upon receiving a scaling-down migration notification.

[0222] For example, the process management system can launch new DS processes on other DS processes that do not need to be taken offline, and migrate the running status information of the first DS process to the new DS process. After all DS processes on the first DS have completed the migration, the first DS is taken offline, thereby achieving machine scaling down of DS processes.

[0223] In summary, based on the technical solutions provided in the embodiments of this application, the machine scaling down of the DS process through DS migration can achieve uninterrupted online machine scaling down of the DS process under long-cycle game services, which is conducive to further improving the applicability of DS for game services and achieving lossless gaming experience for users.

[0224] In addition, when the load on the DS cluster is low, the DS migration can be actively triggered by the operation and maintenance server, which can quickly shrink the DS process and transfer some of the DS load to other DS, thereby helping to reduce resource consumption and resource consumption.

[0225] In some embodiments, when periodic migration of DS processes is required, the operations and maintenance server can periodically notify the migration server to trigger the migration of all DS processes corresponding to the DS cluster. Optionally, the operations and maintenance server can also monitor all DS processes corresponding to the DS cluster, and notify the migration server to trigger the migration of a DS process when the running time of a certain DS process is greater than or equal to a time threshold. The time threshold can be set and adjusted based on empirical values.

[0226] For example, an operations and maintenance server is used to send a process migration instruction to a first migration server when it detects that the running time of the first DS process is greater than or equal to a time threshold. The process migration instruction includes the identification information of the first DS process to indicate that the first DS should be migrated.

[0227] The first migration server, upon receiving a process migration instruction, notifies the first GS to execute the migration process of the first DS process. The migration process of the first DS process is the same as described in the above embodiments and will not be repeated here.

[0228] Based on the technical solutions provided in the embodiments of this application, the periodic migration of the DS process is achieved through DS migration, which enables the DS process to support long-term game services and is conducive to further improving the applicability of DS for game services.

[0229] In some embodiments, a second relay process corresponding to the first DS process is used to send a process failure notification to the first migration server when an abnormal stop of the first DS process is detected. The process failure notification includes the identification information of the first DS process and the first GS associated with the first DS process, indicating that the first DS process has failed and needs to be migrated.

[0230] The first migration server is used to notify the first GS to execute the migration process of the first DS process upon receiving a process failure notification. The migration process of the first DS process is the same as described in the above embodiments, and will not be repeated here.

[0231] Based on the technical solutions provided in the embodiments of this application, the abnormal termination of the DS process is handled through DS migration, which enables the online uninterrupted repair of the DS process under long-term game services. This is beneficial to further improve the applicability of DS for game services and to achieve a lossless gaming experience for users.

[0232] In some embodiments, when machine expansion of the DS process is required, the operation and maintenance server in the process management system can also actively notify the migration server to initiate the launch of a new DS process to complete the machine expansion of the DS process. In this case, the embodiments of this application may also include the following:

[0233] Optionally, communication links are established between the operations and maintenance server and the DS, GS, management server, and migration server. When machine expansion for the DS process is required, the operations and maintenance server can be used to achieve at least one of the following:

[0234] 1. Operation and maintenance server, used to add DSs in the DS cluster and deploy relay processes on the newly added DSs.

[0235] 2. The operations and maintenance server is also used to send machine expansion commands to the second migration server after completing the deployment of the newly added DS and the relay process on the newly added DS. The machine expansion command is used to instruct that a new DS process be launched in the newly added DS if it is necessary to launch a new DS process.

[0236] Optionally, the machine expansion command may include the identification information of the newly added DS and the identification information of the relay process on the newly added DS, to instruct the launch of the new DS process on the newly added DS. The second migration server may be an idle migration server selected by the operations and maintenance server from at least one migration server.

[0237] Optionally, taking an example where the DS cluster includes a newly added second DS, and the second DS runs a third relay process, the first migration server, upon receiving a machine downsizing instruction, can be used to implement at least one of the following:

[0238] 1. A second migration server in at least one migration server is used to send a process addition request to a second management server in at least one management server.

[0239] The second management server can be any idle management server. The aforementioned process addition request is used to request the launch of a new DS process. Optionally, the process addition request includes the identification information of a third relay process to instruct the launch of the new DS process on the newly added second DS, thereby realizing machine expansion of the DS process.

[0240] Optionally, the process addition request has a time limit, meaning the process addition request can instruct the new DS process to be launched on the newly added second DS for a preset time period, after which normal allocation resumes. Optionally, the process addition request has a limit on the number of times, meaning the process addition request can instruct the new DS process to be launched on the newly added second DS for a preset number of times, after which normal allocation resumes. Optionally, the second management server can also automatically terminate the allocation of new DS processes based on the load pressure of the second DS.

[0241] 2. The second management server is used to forward the process addition request to the third relay process when it receives the process addition request.

[0242] The second management server, guided by the identifier information of the third relay process in the process addition request, forwards the process addition request to the third relay process.

[0243] The management server will initiate notifications for newly added processes and import them into a third relay process to achieve machine expansion of the DS process.

[0244] 3. The third relay process is used to launch the new DS process on the second DS when a new process request is received.

[0245] In conclusion, when the DS cluster is under high load, the DS process can be proactively expanded by the operation and maintenance server to add new DS machines to share the load pressure. This helps maintain the stable operation of the game application and thus ensures the player's gaming experience.

[0246] refer to Figure 6 The diagram illustrates a flowchart of a process management method provided in one embodiment of this application. The execution entity for each step of this method can be... Figure 2 The process management system 200 shown is described. The method includes at least one of the following steps 601 to 602.

[0247] Step 601: When a new DS process is started, the first migration server in at least one migration server stores the running status information of the first DS process in the database through the first migration process after the first DS process in the multiple DS processes corresponding to the DS cluster is shut down. The new DS process is used to replace the first DS process. The first migration process is a stateless service.

[0248] In one example, a relay process for managing the at least one DS process also runs on the DS;

[0249] After the first relay process corresponding to the new DS process starts up the new DS process on the first DS corresponding to the first relay process, it sends a start-up success notification to the first GS and the first migration server. The start-up success notification is used to indicate that the new DS process has been started.

[0250] Upon receiving the successful start notification, the first migration server stores the running status information of the new DS process into the database through the first migration process, and sends an information storage notification to the first GS, the information storage notification indicating that the running status information of the new DS process has been stored in the database;

[0251] If the first GS receives at least one of the successful start notification and the information storage notification, it notifies the second relay process corresponding to the first DS process to shut down the first DS process.

[0252] In one example, the system further includes: at least one management server, on which a relay process for managing the at least one DS process also runs;

[0253] If the first GS determines to migrate the first DS process, it sends a process migration request to the first management server among the at least one management server. The process migration request is used to request the start of the new DS process to replace the first DS process.

[0254] Upon receiving the process migration request, the first management server selects a first relay process from among the multiple relay processes corresponding to the DS cluster.

[0255] The first relay process launches the new DS process in the first DS corresponding to the first relay process.

[0256] Step 602: The first GS in the GS cluster notifies the new DS process to read the running status information of the first DS process from the database. The first GS is associated with the first DS process.

[0257] In one example, a relay process for managing the at least one DS process also runs on the DS;

[0258] The first GS sends a status read notification to the first relay process, where the first relay process refers to the relay process on the first DS. The first DS is the DS in the DS cluster that has started the new DS process. The status read notification is used to instruct the new DS process to read the running status information.

[0259] The first relay process forwards the status read notification to the new DS process;

[0260] The new DS process reads the running status information of the first DS process from the database.

[0261] In one example, after the second relay process corresponding to the first DS process shuts down the first DS process, it sends a shutdown success notification to the first GS and the first migration server. The shutdown success notification is used to indicate that the first DS process has been shut down.

[0262] Upon receiving the shutdown success notification, the first migration server stores the running status information of the first DS process into the database through the first migration process, and sends an information update notification to the first GS. The information update notification is used to indicate that the running status information of the first DS process has been stored in the database.

[0263] Upon receiving at least one of the closing success notification and the information update notification, the first GS sends the status read notification to the first relay process.

[0264] In one example, when the new DS is launched and the first DS process is closed, the first GS notifies the client connected to the first DS process to switch to the new DS process.

[0265] In one example, upon receiving a version upgrade instruction, the first migration server determines at least one target DS for the version of the DS process to be upgraded, based on the version upgrade instruction, wherein the at least one target DS includes the DS corresponding to the first DS process.

[0266] The first migration server sends a version query request to the target relay process of each of the at least one target DS. The version query request is used to request a query for a target DS process with a specified version. The specified version refers to the version used to upgrade to a new version. At least one of the target relay processes includes a second relay process corresponding to the first DS process.

[0267] The first migration server receives process query lists sent by the at least one target transit process, and the process query lists include the first DS process;

[0268] For each target DS process in the process query list, the first migration server sends a version upgrade notification to the GS associated with the target DS process. The version upgrade notification is used to instruct the launch of a new DS process with the new version and to shut down the target DS process.

[0269] In one example, upon receiving the version upgrade notification, the first GS determines the first DS process based on the version upgrade notification;

[0270] The first GS generates a process migration request based on the first DS process. The process migration request is used to request the launch of the new DS process with the new version to replace the first DS process.

[0271] In one example, a relay process for managing the at least one DS process also runs on the DS; when the first migration server receives a machine downsizing instruction, it determines at least one target relay process to be taken offline according to the machine downsizing instruction, and the at least one target relay process includes the second relay process corresponding to the first DS process;

[0272] The first migration server sends a process offline notification to each of the at least one target relay process, and the process offline notification is used to instruct the target relay process to initiate graceful offline.

[0273] After the first migration server notifies the at least one target relay process to initiate graceful shutdown, it sends a process query request to each of the at least one target relay process. The process query request is used to query the currently running target DS process.

[0274] The first migration server receives a list of query results sent by the at least one target transit process, the list of query results including the first DS process;

[0275] For each target DS process in the query result list, the first migration server sends a scaling-down migration notification to the GS associated with the target DS process. The scaling-down migration notification is used to instruct the startup of a new DS process and the shutdown of the target DS process.

[0276] In one example, upon receiving the scaling-down migration notification, the first GS determines the first DS process based on the scaling-down migration notification;

[0277] The first GS generates a process migration request based on the first DS process. The process migration request is used to request the launch of the new DS process on other DSs in the DS cluster, excluding the DS corresponding to the at least one target relay process, to replace the first DS process.

[0278] In one example, the DS cluster includes a newly added second DS, on which a third relay process runs, and the system also includes at least one management server;

[0279] The second migration server in the at least one migration server sends a process addition request to the second management server in the at least one management server. The process addition request is used to request the start of a new DS process.

[0280] Upon receiving the process addition request, the second management server forwards the process addition request to the third relay process;

[0281] Upon receiving the request to add a process, the third relay process launches the new DS process on the second DS.

[0282] In summary, the technical solution provided in this application, through a stateless service migration process, stores the running status information of the first DS process that needs to be shut down in a database, and notifies the new DS process to read the running status information of the first DS process from the database through the GS associated with the first DS process, thereby realizing the migration from the first DS process to the new DS process. Since the migration process is a stateless service, there is no problem of losing running status information, allowing it to run for a long time. Therefore, even if the first DS process abnormally stops due to prolonged operation, its running status information can still be stored in the database, preventing the loss of the first DS process's running status information. This allows the new DS process to replace the first DS process and continue providing services based on the running status information of the first DS process in the database. This enables the migration of DS processes even in long-term game services, allowing for long-term game services based on the DS built into the game engine, thus improving the applicability of DS for game services.

[0283] In addition, during the migration of the DS process, since it is not necessary to stop running GS and DS, the DS process can be migrated online without service for long-term game business. This is conducive to further improving the applicability of DS for game business and achieving a lossless gaming experience for users.

[0284] Please refer to Figure 7This diagram illustrates a simplified structural block diagram of a computer device according to an embodiment of this application. The computer device 700 can be any electronic device capable of data computation, processing, and storage. Optionally, the computer device 700 can be implemented as the aforementioned GS, DS, migration server, management server, etc.

[0285] The computer device 700 includes a processor 701 and a memory 702.

[0286] Processor 701 may include one or more processing cores, such as a quad-core processor, an octa-core processor, etc. Processor 701 may be implemented using at least one hardware form selected from DSP (Digital Signal Processing), FPGA (Field Programmable Gate Array), and PLA (Programmable Logic Array). Processor 701 may also include a main processor and a coprocessor. The main processor, also known as a CPU (Central Processing Unit), is used to process data in the wake-up state; the coprocessor is a low-power processor used to process data in the standby state. In some embodiments, processor 701 may integrate a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content to be displayed on the screen. In some embodiments, processor 701 may also include an AI processor for handling computational operations related to machine learning.

[0287] Memory 702 may include one or more computer-readable storage media, which may be non-transitory. Memory 702 may also include high-speed random access memory and non-volatile memory, such as one or more disk storage devices or flash memory devices. In some embodiments, the non-transitory computer-readable storage media in memory 702 are used to store a computer program configured to be executed by one or more processors.

[0288] Those skilled in the art will understand that Figure 7 The structure shown does not constitute a limitation on the computer device 700, and may include more or fewer components than shown, or combine certain components, or use different component arrangements.

[0289] In some embodiments, a computer-readable storage medium is also provided, wherein a computer program is stored therein, the computer program being loaded and executed by a processor to implement the above-described process management method.

[0290] Optionally, the computer-readable storage medium may include: ROM (Read-Only Memory), RAM (Random-Access Memory), SSD (Solid State Drives), or optical disc, etc. The random access memory may include ReRAM (Resistance Random Access Memory) and DRAM (Dynamic Random Access Memory).

[0291] In some embodiments, a computer program product is also provided, the computer program product including a computer program stored in a computer-readable storage medium, and a processor reading from the computer-readable storage medium and executing the computer program to implement the above-described process management method.

[0292] It should be understood that "multiple" as used herein refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. Furthermore, the step numbers described herein are merely illustrative of one possible execution order. In some other embodiments, the steps may not be executed in numerical order, such as two steps with different numbers being executed simultaneously, or two steps with different numbers being executed in the reverse order of the illustration. This application does not limit this.

[0293] The above description is merely an exemplary embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.

Claims

1. A process management system, characterized in that, The system includes: a game server GS cluster, a dedicated server DS cluster, at least one migration server and a database. The GS cluster includes at least one GS for providing background services for the game application. The DS cluster includes at least one DS that is built into the game engine to support the game application. The DS is used to process real-time data within the game application, and at least one DS process runs on the DS. The first migration server in the at least one migration server is used to store the running status information of the first DS process in the database after the first DS process in the multiple DS processes corresponding to the GS cluster is shut down when the new DS process is started. The new DS process is used to replace the first DS process. The first migration process is a stateless service. The first GS in the GS cluster is used to notify the new DS process to read the running status information of the first DS process from the database. The first GS is associated with the first DS process.

2. The system according to claim 1, characterized in that, The DS also runs a relay process for managing the at least one DS process; The first GS is also used to send a status read notification to the first relay process, the first relay process refers to the relay process on the first DS, the first DS is the DS in the DS cluster that has the new DS process started, and the status read notification is used to instruct the new DS process to read the running status information; The first relay process is used to forward the status read notification to the new DS process; The new DS process is used to read the running status information of the first DS process from the database.

3. The system according to claim 2, characterized in that, The second relay process corresponding to the first DS process is used to send a shutdown success notification to the first GS and the first migration server after the first DS process is shut down. The shutdown success notification is used to indicate that the first DS process has been shut down. The first migration server is configured to, upon receiving the shutdown success notification, store the running status information of the first DS process into the database through the first migration process, and send an information update notification to the first GS, wherein the information update notification is used to indicate that the running status information of the first DS process has been stored in the database; The first GS is configured to send the status read notification to the first relay process upon receiving at least one of the closing success notification and the information update notification.

4. The system according to any one of claims 1 to 3, characterized in that, The DS also runs a relay process for managing the at least one DS process; The first relay process corresponding to the new DS process is used to send a successful start notification to the first GS and the first migration server after the new DS process is started on the first DS corresponding to the first relay process. The successful start notification is used to indicate that the new DS process has been started. The first migration server is further configured to, upon receiving the successful start notification, store the running status information of the new DS process into the database through the first migration process, and send an information storage notification to the first GS, wherein the information storage notification is used to indicate that the running status information of the new DS process has been stored into the database; The first GS is configured to notify the second relay process corresponding to the first DS process to shut down the first DS process upon receiving at least one of the successful start notification and the information storage notification.

5. The system according to any one of claims 1 to 4, characterized in that, The system further includes: at least one management server, and a relay process for managing the at least one DS process is also running on the DS; The first GS is configured to send a process migration request to the first management server among the at least one management servers when it is determined that the first DS process should be migrated. The process migration request is used to request the activation of the new DS process to replace the first DS process. The first management server is configured to select a first relay process from multiple relay processes corresponding to the DS cluster upon receiving the process migration request; The first relay process is used to launch the new DS process in the first DS corresponding to the first relay process.

6. The system according to any one of claims 1 to 5, characterized in that, The first GS is used to notify clients connected to the first DS process to switch to the new DS process when the new DS is launched and the first DS process is closed.

7. The system according to any one of claims 1 to 6, characterized in that, The first migration server is used for: Upon receiving a version upgrade instruction, at least one target DS for the version of the DS process to be upgraded is determined according to the version upgrade instruction, wherein the at least one target DS includes the DS corresponding to the first DS process; A version query request is sent to the target relay process of each of the at least one target DS. The version query request is used to request a query for a target DS process with a specified version. The specified version refers to the version used to upgrade to a new version. At least one of the target relay processes includes a second relay process corresponding to the first DS process. Receive process query lists sent by the at least one target relay process, wherein the process query lists include the first DS process; For each target DS process in the process query list, a version upgrade notification is sent to the GS associated with the target DS process. The version upgrade notification is used to instruct the launch of a new DS process with the new version and to shut down the target DS process.

8. The system according to claim 7, characterized in that, The first GS is used for: Upon receiving the version upgrade notification, the first DS process is determined based on the version upgrade notification; Based on the first DS process, a process migration request is generated, which is used to request the launch of the new DS process with the new version to replace the first DS process.

9. The system according to any one of claims 1 to 6, characterized in that, The DS also runs a relay process for managing the at least one DS process; the first migration server is used for: Upon receiving a machine scaling down instruction, at least one target relay process to be taken offline is determined according to the machine scaling down instruction, and the at least one target relay process includes the second relay process corresponding to the first DS process; Send a process offline notification to each of the at least one target relay process, the process offline notification being used to instruct the target relay process to initiate graceful offline; After notifying the at least one target relay process to initiate graceful shutdown, a process query request is sent to each of the at least one target relay process. The process query request is used to query the target DS process that is currently running. Receive a list of query results sent by the at least one target relay process, wherein the list of query results includes the first DS process; For each target DS process in the query result list, a scaling-down migration notification is sent to the GS associated with the target DS process. The scaling-down migration notification is used to instruct the startup of a new DS process and the shutdown of the target DS process.

10. The system according to claim 9, characterized in that, The first GS is used for: Upon receiving the scaling-down migration notification, the first DS process is determined based on the scaling-down migration notification; Based on the first DS process, a process migration request is generated. The process migration request is used to request the launch of the new DS process on other DSs in the DS cluster, excluding the DS corresponding to the at least one target relay process, to replace the first DS process.

11. The system according to any one of claims 1 to 6, characterized in that, The DS cluster includes a newly added second DS, on which a third relay process runs. The system also includes at least one management server. The second migration server in the at least one migration server is used to send a process addition request to the second management server in the at least one management server, and the process addition request is used to request the start of a new DS process; The second management server is used to forward the process addition request to the third relay process upon receiving the process addition request; The third relay process is used to launch a new DS process on the second DS when a new process request is received.

12. A process management method, characterized in that, The method is applied to a process management system, which includes: a game server GS cluster, a dedicated server DS cluster, at least one migration server and a database. The GS cluster includes at least one GS for providing background services for the game application. The DS cluster includes at least one DS that is built into the game engine to support the game application. The DS is used to process real-time data within the game application, and at least one DS process runs on the DS. The method includes: When a new DS process is started, and the first DS process among the multiple DS processes corresponding to the GS cluster is shut down, the first migration server in at least one migration server stores the running status information of the first DS process in the database through the first migration process. The new DS process is used to replace the first DS process. The first migration process is a stateless service. The first GS in the GS cluster notifies the new DS process to read the running status information of the first DS process from the database, and the first GS is associated with the first DS process.

13. A computer device, characterized in that, The computer device includes a processor and a memory, the memory storing a computer program that is loaded and executed by the processor to implement the method as described in claim 12.

14. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, which is loaded and executed by a processor to implement the method as described in claim 12.

15. A computer program product, characterized in that, The computer program product includes a computer program stored in a computer-readable storage medium, which a processor reads from and executes to implement the method of claim 12.