A data processing method, device, equipment, and medium
By identifying and configuring the server to be managed in the cloud game server cluster to perform management tasks, the problem of server shutdown in the existing cloud game maintenance solution is solved, and unsensed operation and maintenance and efficient service provision are achieved.
Patent Information
- Application Number
- CN202111115568.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-09-23
- Publication Date
- 2025-05-27
- Estimated Expiration
- 2041-09-23
AI Technical Summary
The existing cloud game maintenance solution requires shutting down all servers for maintenance, resulting in inefficient service efficiency and low operation and maintenance efficiency, and long service shutdown time.
When scanning the management task through the central server, a second server with the target keyword is obtained from the server cluster, a server with a service connection to the game device is determined, and the remaining servers are configured as the server to be managed to perform the management task.
It realizes a cloud gaming environment without stopping service, improves the service efficiency and operation and maintenance efficiency of the server during operation and maintenance, and reduces human intervention and operation and maintenance costs.
Smart Images

Figure CN113797526B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular, to a data processing method, apparatus, device, and medium. Background Art
[0002] The operation and maintenance release of cloud games refers to the operation of updating the version of the cloud game server. After successful operation and maintenance, players can obtain a better gaming experience. In the traditional cloud game maintenance solution, the game official website will notify the maintenance content every week, and then close the player login during the maintenance time. At this time, the server stops providing cloud game services to players. Then, the operation and maintenance personnel perform operations such as maintaining the server and releasing the version. After completion, the corresponding cloud game services are provided to the outside world uniformly.
[0003] However, the existing cloud game maintenance solution closes all servers for maintenance without discrimination, so that game maintenance and external services are difficult to coexist. In addition, when the server version changes frequently, this will inevitably lead to too long service shutdown time, and then lead to low service efficiency of the server during operation and maintenance. In addition, since the operation and maintenance process requires the operation and maintenance personnel to intervene frequently for related operations, this means that the entire operation and maintenance process will consume a large amount of manpower, resulting in reduced operation and maintenance efficiency. Summary of the Invention
[0004] The embodiments of the present application provide a data processing method, apparatus, device, and medium, which can provide a cloud game environment without stopping the service, and improve the service efficiency of the server and the operation and maintenance efficiency during operation and maintenance.
[0005] On the one hand, the embodiments of the present application provide a data processing method, which is executed by a central server and includes:
[0006] When a management task associated with a cloud game is scanned, obtain a first server for executing the management task from a server cluster associated with the cloud game; the first server is determined by a second server in the server cluster having a target keyword; the target keyword is used to represent that there is a service connection between the second server and the game device associated with the cloud game, and there is no service connection between the first server and the game device;
[0007] Configure the first server as a server to be managed based on the management task, so that when the server to be managed obtains a service data update package associated with the management task, execute the management task based on the service data update package to obtain a task execution result corresponding to the management task;
[0008] Receive task feedback information returned by the server to be managed based on the task execution result.
[0009] On the one hand, the embodiments of the present application provide a data processing method, which is executed by the server to be managed and includes:
[0010] Obtain a business data update package associated with a management task, execute the management task based on the business data update package, and obtain a task execution result corresponding to the management task; the management task is used to instruct the central server to configure the first server as a server to be managed; the management task is associated with cloud gaming; the first server is obtained by the central server from a server cluster associated with cloud gaming when scanning the management task; the first server is determined by a second server with a target keyword in the server cluster; the target keyword is used to characterize that there is a service connection between the second server and the gaming device associated with cloud gaming, and there is no service connection between the first server and the gaming device;
[0011] Generate task feedback information based on the task execution result, and return the task feedback information to the central server.
[0012] An embodiment of the present application provides a data processing device on the central server, including:
[0013] A server acquisition module, configured to obtain a first server for executing a management task from a server cluster associated with cloud gaming when scanning a management task associated with cloud gaming; the first server is determined by a second server with a target keyword in the server cluster; the target keyword is used to characterize that there is a service connection between the second server and the gaming device associated with cloud gaming, and there is no service connection between the first server and the gaming device;
[0014] A status configuration module, configured to configure the first server as a server to be managed based on the management task, so that when the server to be managed obtains a business data update package associated with the management task, execute the management task based on the business data update package, and obtain a task execution result corresponding to the management task;
[0015] An information receiving module, configured to receive task feedback information returned by the server to be managed based on the task execution result.
[0016] Among them, the server acquisition module includes:
[0017] A first task scanning unit, configured to obtain a task list associated with cloud gaming, perform task scanning on the task list, and when scanning a task with a to-be-executed status, use the task with the to-be-executed status as the management task;
[0018] A first acquisition unit, configured to acquire a set of service information reported by a server cluster associated with cloud games, and detect a target keyword among the keywords included in the set of service information; if a keyword matching the target keyword is detected, in the server cluster, use the server mapped by the keyword matching the target keyword as the second server, and use the servers in the server cluster other than the second server as the first servers.
[0019] Among them, the server acquisition module includes:
[0020] A second task scanning unit, configured to acquire a task list associated with cloud games, perform task scanning on the task list, and when a task with a to-be-executed status is scanned, use the task with the to-be-executed status as a management task;
[0021] A second acquisition unit, configured to acquire a set of service information associated with a server cluster associated with cloud games, use the keywords included in the set of service information as target keywords, in the server cluster, use the server mapped by the target keyword as the second server, and use the servers in the server cluster other than the second server as the first servers.
[0022] Among them, the first task scanning unit or the second task scanning unit is specifically configured to acquire a task list associated with cloud games through a task center service component, and based on the task order of each task in the task list, call a timer to periodically poll the task status of each task. When a task with a to-be-executed status is detected in the task list, use the task with the to-be-executed status as a management task.
[0023] Among them, the central server includes a task center service component and a scheduling center service component;
[0024] A status configuration module, specifically configured to generate a status configuration instruction through the task center service component based on the management task, and send the status configuration instruction to the scheduling center service component, so that the scheduling center service component configures the service status of the first server to a to-be-maintained status based on the status configuration instruction; use the first server with the to-be-maintained status as a to-be-managed server.
[0025] Among them, the device further includes:
[0026] An update marking module, configured to update the service status of the first server based on task feedback information, and receive a status write-back instruction returned by the first server after updating the service status, and mark the management task based on the status write-back instruction.
[0027] Among them, the update marking module includes:
[0028] A first status change unit, configured to change the service status of the first server from a to-be-maintained status to a successfully maintained status if the task feedback information indicates that the management task is successfully executed, so that the first server with the successfully maintained status generates a first status write-back instruction associated with the successfully maintained status;
[0029] A first status write-back unit, configured to receive the first status write-back instruction returned by the first server with the successfully maintained status, and write back the successfully maintained status possessed by the first server to the task list corresponding to the management task based on the first status write-back instruction;
[0030] The apparatus further includes:
[0031] A priority adjustment module, configured to adjust the scheduling priority of the first server with the successfully maintained status, so that the first server with the adjusted scheduling priority provides an optimized game service for running cloud games for the game device.
[0032] Wherein, the update marking module includes:
[0033] A second status change unit, configured to change the service status of the first server from a to-be-maintained status to a failed maintenance status if the task feedback information indicates that the management task is not successfully executed, so that the first server with the failed maintenance status generates a second status write-back instruction associated with the failed maintenance status when stopping providing the game service for running cloud games for the game device;
[0034] A second status write-back unit, configured to receive the second status write-back instruction returned by the first server with the failed maintenance status, and write back the failed maintenance status possessed by the first server to the task list corresponding to the management task based on the second status write-back instruction.
[0035] An embodiment of the present application provides a data processing apparatus on the server to be managed, including:
[0036] A task execution module, configured to obtain a service data update package associated with the management task, execute the management task based on the service data update package, and obtain a task execution result corresponding to the management task; the management task is used to instruct the central server to configure the first server as the server to be managed; the management task is associated with cloud games; the first server is a server obtained by the central server from the server cluster associated with cloud games when scanning the management task; the first server is determined by a second server with a target keyword in the server cluster; the target keyword is used to represent that there is a service connection between the second server associated with the cloud game and the game device, and there is no service connection between the first server and the game device;
[0037] An information feedback module, configured to generate task feedback information based on the task execution result and return the task feedback information to the central server.
[0038] Among them, the information feedback module includes:
[0039] A verification unit, configured to obtain the input version number associated with the management task, and obtain the version number to be verified in the task execution result, compare the input version number with the version number to be verified, and obtain a version verification result;
[0040] A generation unit, configured to generate task feedback information based on the version verification result and return the task feedback information to the central server.
[0041] On the one hand, an embodiment of the present application provides a computer device, including: a processor and a memory;
[0042] The processor is connected to the memory. Among them, the memory is used to store a computer program. When the computer program is executed by the processor, the computer device executes the method provided by the embodiment of the present application.
[0043] On the one hand, an embodiment of the present application provides a computer-readable storage medium. The computer-readable storage medium stores a computer program, and the computer program is adapted to be loaded and executed by a processor so that a computer device having the processor executes the method provided by the embodiment of the present application.
[0044] On the one hand, an embodiment of the present application provides a computer program product or a computer program. The computer program product or the computer program includes computer instructions, and the computer instructions are stored in a computer-readable storage medium. The processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the method provided by the embodiment of the present application.
[0045] In an embodiment of the present application, when the central server scans a management task associated with cloud gaming, it can obtain a first server for executing the management task from a server cluster associated with cloud gaming. Further, the first server can be configured as a server to be managed based on the management task, so that when the server to be managed obtains a service data update package associated with the management task, it can execute the management task based on the service data update package, thereby obtaining a task execution result corresponding to the management task, and then can receive task feedback information returned by the server to be managed based on the task execution result. Among them, the first server is determined by a second server in the server cluster having a target keyword, and the target keyword is used to indicate that there is a service connection between the second server and a gaming device associated with cloud gaming, and there is no service connection between the first server and the gaming device. It can be seen that in the operation and maintenance process of the embodiment of the present application, it is not necessary to shut down all servers in the server cluster, but based on the target keyword, a server in the server cluster that has a service connection with the gaming device can be quickly selected as the second server, and then based on the second server, a server that has no service connection with the gaming device can be selected as the first server currently suitable for game maintenance. Subsequently, the first server can be configured as a server to be managed, so that the server to be managed can automatically execute the corresponding management task to finally realize the maintenance of the first server. It can be understood that during this period, the second server can still provide cloud gaming services externally. That is to say, the embodiment of the present application provides an operation and maintenance solution that is imperceptible to player users, and can provide a cloud gaming environment without server downtime through orderly scheduling. In addition, the server to be managed can automatically execute pre-orchestrated tasks without frequent manual intervention. Based on this, the embodiment of the present application can improve the service efficiency and operation and maintenance efficiency of the server during operation and maintenance. BRIEF DESCRIPTION OF THE DRAWINGS
[0046] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings required for use in the description of the embodiments or the prior art. Obviously, the following drawings are only some embodiments of the present application. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.
[0047] Figure 1 It is a schematic structural diagram of a network architecture provided by an embodiment of the present application;
[0048] Figure 2 It is a schematic diagram of a data processing scenario provided by an embodiment of the present application;
[0049] Figure 3 It is a schematic flowchart of a data processing method provided by an embodiment of the present application;
[0050] Figure 4 It is a schematic flowchart of a data processing method provided by an embodiment of the present application;
[0051] Figure 5 It is a schematic diagram of data interaction based on cloud games provided by an embodiment of the present application;
[0052] Figure 6 It is a schematic interaction flowchart of a data processing method provided by an embodiment of the present application;
[0053] Figure 7 It is a schematic logical diagram of non-intrusive operation and maintenance provided by an embodiment of the present application;
[0054] Figure 8 It is a schematic interaction diagram of a non-intrusive operation and maintenance process provided by an embodiment of the present application;
[0055] Figure 9 It is a schematic structural diagram of a data processing device provided by an embodiment of the present application;
[0056] Figure 10 It is a schematic structural diagram of a data processing device provided by an embodiment of the present application;
[0057] Figure 11 It is a schematic structural diagram of a computer device provided by an embodiment of the present application;
[0058] Figure 12 It is a schematic structural diagram of a data processing system provided by an embodiment of the present application. Detailed implementation manners
[0059] Next, the technical solutions in the embodiments of the present application will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present application without creative efforts shall fall within the protection scope of the present application.
[0060] Embodiments of the present application relate to cloud technology, cloud computing, and cloud gaming. Among them, cloud technology refers to a hosting technology that unifies a series of resources such as hardware, software, and networks within a wide area network or a local area network to achieve the calculation, storage, processing, and sharing of data. Cloud technology is the general term for network technology, information technology, integration technology, management platform technology, application technology, etc. based on the cloud computing business model, which can form a resource pool, be used on demand, and be flexible and convenient. Cloud computing technology will become an important support. The background services of the technical network system require a large amount of computing and storage resources, such as video websites, picture websites, and more portal websites. With the high development and application of the Internet industry, in the future, each item may have its own identification mark and needs to be transmitted to the background system for logical processing. Data at different levels will be processed separately, and various types of industry data require a powerful system backstop, which can only be achieved through cloud computing.
[0061] Cloud computing is a computing model that distributes computing tasks across a resource pool composed of a large number of computing devices, enabling various application systems to obtain computing power, storage space, and information services as needed. The network that provides resources is called the "cloud". The resources in the "cloud" seem to be infinitely expandable to users, and can be obtained at any time, used on demand, expanded at any time, and paid according to usage. As a basic capability provider of cloud computing, a cloud computing resource pool (abbreviated as a cloud platform, generally called an IaaS (Infrastructure as a Service) platform) will be established, and various types of virtual resources will be deployed in the resource pool for external customers to choose and use. The cloud computing resource pool mainly includes: computing devices (virtual machines, including operating systems), storage devices, and network devices.
[0062] Cloud gaming, also known as gaming on demand, is an online gaming technology based on cloud computing technology. Cloud gaming technology enables thin clients with relatively limited graphics processing and data computing capabilities to run high-quality games. In the cloud gaming scenario, the game does not run on the player's game terminal, but on the cloud gaming server. The cloud gaming server connects to the rendering server, and the game scene is rendered into an audio-video stream by the rendering server and transmitted to the player's game terminal through the network. The player's game terminal only needs to have basic streaming media playback capabilities and the ability to obtain the player's input instructions and send them to the cloud gaming server.
[0063] Specifically, please refer to Figure 1 , Figure 1It is a schematic structural diagram of a network architecture provided by an embodiment of the present application. As Figure 1 shown, the network architecture may include a central server 100, a server cluster, and a game device cluster. Among them, the game device cluster may specifically include one or more game devices, and the number of game devices in the game device cluster will not be limited here. As Figure 1 shown, the multiple game devices may specifically include game device 200a, game device 200b, game device 200c,..., game device 200n. Game device 200a, game device 200b, game device 200c,..., game device 200n may be directly or indirectly network-connected to the central server 100 through wired or wireless communication means, so that each game device can perform data interaction with the central server 100 through this network connection.
[0064] In some alternative embodiments, the central server 100 may be a server independent of the server cluster.
[0065] In some other alternative embodiments, the central server 100 may also be a server belonging to the server cluster. The embodiment of the present application does not limit the relationship between the central server 100 and the server cluster.
[0066] Among them, as Figure 1 shown, the central server 100 may be an independent physical server, or a server cluster or a distributed system composed of multiple physical servers, or may also be a server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms.
[0067] Among them, the server cluster may specifically include one or more servers, and the number of servers in the server cluster will not be limited here. As Figure 1 shown, the multiple servers may specifically include server 300a, server 300b,..., server 300m. Server 300a, server 300b,..., server 300m may be directly or indirectly network-connected to the central server 100 through wired or wireless communication means, so that each server in the server cluster can perform data interaction with the central server 100 through this network connection.
[0068] Among them, as Figure 1The server cluster shown may include a central server (e.g., central server 100). Each server in the server cluster can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms.
[0069] Among them, the game device (i.e., the player game terminal) refers to a device used to connect to the cloud game client, and can support functions such as game screen display, game audio playback, input of player user operations on game characters, and voice intercom. For ease of understanding, embodiments of the present application can Figure 1 select one game device from the multiple game devices shown as the target game device. The target game device here can include: intelligent terminal devices with data processing functions such as smartphones, tablets, laptops, desktop computers, smart homes, wearable devices, vehicle terminals, game controllers, TV (television) boxes, etc. For example, embodiments of the present application can Figure 1 select the game device 200a shown as the target game device. At this time, data interaction can be achieved between the target game device and the central server 100.
[0070] It should be understood that the target game device can be the player game terminal corresponding to the player user in a cloud game (e.g., the target cloud game). Here, the player user can refer to a user who has experienced or requested to experience a cloud game; the central server 100 can be the central server corresponding to the target game device (e.g., the cloud game background). Here, the central server can record tasks that need to be executed by the servers in the server cluster and can implement scheduling of the servers in the server cluster for the target game device. In embodiments of the present application, the servers in the server cluster can be divided into a first server and a second server. Among them, the first server refers to a server that has no service connection with the game device, and the second server refers to a server that has a service connection with the game device. Therefore, the second server can provide game services for the game device connected to it. For example, embodiments of the present application can Figure 1 select the server 300a shown as the first server. At this time, there is no service connection between any game device including the target game device and the first server; for another example, embodiments of the present application can Figure 1 select the server 300b shown as the second server. At this time, the target game device and the second server can establish a service connection to implement the processing flow of the target cloud game.
[0071] Among them, the target cloud game here can include but is not limited to competitive games, parkour games, shooting games, chess and card games, etc. For the sake of understanding, in the embodiments of the present application, the cloud games selected by a certain player user (for example, user Y) in the target game device and that suit their own interests can be collectively referred to as the target cloud game.
[0072] It can be understood that the processing flow of cloud games can include: (1) The processing flow of cloud games executed on the target game device side. On the one hand, the target game device interacts with the second server to obtain various pages related to cloud games. Here, the pages can include, for example, cloud service pages, cloud game video pages, cloud game pages, and cloud clip pages, etc.; and displays these pages to the player user. On the other hand, the target game device can respond to various operations of the player user on these pages. Such operations can include, for example, an operation to request to experience a cloud game, a cloud trial play operation executed on the cloud game, a cloud clip operation, etc.; and sends the service requests corresponding to these operations to the second server. For example, the service requests here can include page acquisition requests, operation requests, etc. (2) The processing flow of cloud games executed on the second server side. The second server interacts with the target game device to receive various service requests of the target game device and provides corresponding cloud services to the player user. For example, the cloud services provided by the second server can include providing various pages related to cloud games required by the target game device, cloud clip services, management services for cloud trial play videos, cloud comment services, etc.
[0073] It can be understood that there can be multiple player users corresponding to the target cloud game. When multiple player users (for example, user Y 1 and user Y 2 ) jointly participate in the target cloud game, the multiple player users can respectively connect to different servers in the server cluster associated with the target cloud game through their respective game devices, and different servers can perform data interaction through the central server. For example, user Y 1 can connect to server J 1 through game device Z 1 , and user Y 2 can connect to server J 2 through game device Z 2 . Here, server J 1 and server J 2 can perform data interaction through the central server 100. Among them, game device Z 1 can be Figure 1 the game device 200a in the corresponding embodiment, and game device Z 2 can be Figure 1 the game device 200b in the corresponding embodiment; server J1 It can be Figure 1 the server 300b in the corresponding embodiment, server J 2 It can be Figure 1 the server 300m in the corresponding embodiment.
[0074] It should be understood that the embodiments of the present application can provide a method for seamless operation and maintenance based on cloud games. For example Figure 1 as shown, when the central server 100 scans a management task associated with cloud games, it can obtain a first server for executing the management task from a server cluster associated with cloud games (for example, a server cluster composed of servers 300a, 300b,..., 300m). Further, the first server can be configured as a server to be managed based on the management task, so that when the server to be managed obtains a service data update package associated with the management task, it can execute the management task based on the service data update package, thereby obtaining a task execution result corresponding to the management task, and then can receive task feedback information returned by the server to be managed based on the task execution result. Among them, the first server is determined by a second server in the server cluster having a target keyword, and the target keyword is used to indicate that there is a service connection between the second server and a game device associated with cloud games, and there is no service connection between the first server and the game device. The server to be managed refers to the first server having a to-be-maintained state. For example, assume that the central server 100 detects that the server 300a has service connections with the game devices 200a and 200b respectively based on the target keyword, and the server 300b has service connections with the game devices 200c and 200n respectively. Only the server 300m has no service connection with any game device. Then, at this time, the server 300m can be used as the first server, and then the server 300m can be configured and maintained based on the management task. During this period, the servers 300a and 300b can still provide corresponding cloud game services for the game devices with which they have service connections. Thus, it can be seen that in the operation and maintenance process of the embodiments of the present application, it is not necessary to shut down all servers in the server cluster, but an orderly scheduling can be used to provide a cloud game environment without service interruption for player users. In addition, after entering the to-be-maintained state, the server can automatically execute pre-arranged tasks without frequent manual intervention, thereby improving the service efficiency and operation and maintenance efficiency of the server during operation and maintenance.
[0075] For ease of understanding, further, please refer to Figure 2 , Figure 2 which is a schematic diagram of a data processing scenario provided by the embodiments of the present application. As Figure 2 the central server 20A in can be the above-mentioned Figure 1The central server 100 in the corresponding embodiment, such as Figure 2 The server cluster 20B shown can be the Figure 1 Server cluster in the corresponding embodiment, and the server 201B can be any one of the servers in the server cluster in the above Figure 1 Corresponding embodiment that has no service connection with the game device, for example, the server 300a. Among them, the central server 20A can be a server independent of the server cluster 20B or a server belonging to the server cluster 20B. In this embodiment of the application, an example is given where the central server 20A is a server independent of the server cluster 20B.
[0076] It can be understood that the operation and maintenance personnel can upload tasks for game maintenance to the central server 20A in advance. These tasks are associated with cloud games, and the number of tasks can be one or more. This embodiment of the application does not limit the specific number of tasks. As Figure 2 Shown, the central server 20A can store and record the tasks created by the operation and maintenance personnel in the form of a task list. For example, the current task list T stored in the central server 20A includes a total of 10 tasks, namely task T1, task T2, task T3,..., task T10. Among them, each task can be used to maintain different contents, and the execution order of each task can be arranged or adjusted according to actual needs. This embodiment of the application does not make any limitations in this regard.
[0077] Furthermore, as Figure 2As shown, the central server 20A can periodically scan the task list T for tasks to detect whether there are tasks to be executed (i.e., management tasks with a to-be-executed status) in the task list T. When a management task (e.g., Task 3) is scanned in the task list T, the central server 20A can obtain a first server for executing the management task from a server cluster associated with cloud gaming (e.g., server cluster 20B). Herein, the first server refers to a server without a service connection between game devices associated with cloud gaming, and the second server refers to a server with a service connection to game devices. That is to say, an idle server (i.e., the first server) can preferentially execute management tasks, and the remaining servers (i.e., the second servers) continue to provide gaming services to game devices. It should be noted that, optionally, each server in the server cluster can periodically report whether there is a service connection with game devices (i.e., monitor whether a player user logs in to the server) and can write information about the existence of a service connection in the form of keywords into a service information set associated with the server cluster. In the embodiments of the present application, keywords used to represent the existence of a service connection between the second server and game devices can be collectively referred to as target keywords. It should be understood that the target keyword can be the server identifier corresponding to the second server (e.g., server name, server address, etc.) or other data that can be used to refer to the second server.
[0078] Based on this, the central server 20A can first determine the second server in the server cluster based on the target keyword, and then can determine the first server based on the second server, that is, the servers in the server cluster other than the second server are used as the first server. As Figure 2 shown, for example, the server cluster 20B can include multiple (e.g., 20) servers, and these multiple servers can specifically be server 201B, server 202B,..., server 220B. In an optional implementation manner, the central server 20A can first determine whether there is a target keyword in the service information set associated with the server cluster 20B. If so, the server mapped by the target keyword in the server cluster 20B can be used as the second server, and the servers in the server cluster 20B other than the second server are used as the first server. For example, assume that server 202B,..., server 220B are respectively in service connection with different game devices, and server 201B has no service connection with any game device. Therefore, the keywords (i.e., target keywords) corresponding to server 202B,..., server 220B are recorded in the associated service information set. When the central server 20A detects the target keyword, server 202B,..., server 220B can be used as the second servers, and the remaining servers in the server cluster 20B (i.e., server 201B) are used as the second servers.
[0079] As shown Figure 2 in the figure, the central server 20A may configure the service status of the first server (e.g., server 201B) to the to-be-maintained status based on an administrative task (e.g., task 3). Furthermore, the first server with the to-be-maintained status may be used as the server to be managed. Herein, the to-be-maintained status may be used to indicate that the server enters the maintenance status, and at this time, the server will stop providing game services externally. For example, as Figure 2 shown in the figure, the central server 20A may configure the service status of the server 201B to the to-be-maintained status. At this time, the server 201B with the to-be-maintained status may be used as the server to be managed. Further, when the server 201B with the to-be-maintained status obtains a service data update packet associated with the above administrative task, it may execute the administrative task (e.g., task 3) based on the service data update packet, so as to obtain a task execution result corresponding to the administrative task. Subsequently, the server 201B with the to-be-maintained status may generate task feedback information based on the task execution result and return the task feedback information to the central server 20A. Subsequently, the central server 20A may update the service status of the server 201B based on the received task feedback information. It can be understood that if the task feedback information indicates successful execution of the administrative task, the service status of the server 201B may be updated to the maintenance success status, indicating that the server 201B has successfully implemented the game maintenance indicated by the administrative task at this time. Therefore, the server 201B with the maintenance success status may provide an optimized game service (i.e., an upgraded game service) for game devices to run cloud games.
[0080] As can be seen from the above, different from the traditional operation and maintenance solutions, in the operation and maintenance process of the embodiments of the present application, it is not necessary to shut down all servers in the server cluster. Instead, based on a target keyword, a server having a service connection with a game device may be quickly selected from the server cluster as the second server. Furthermore, based on the second server, a server having no service connection with the game device may be selected as the first server currently suitable for game maintenance. Subsequently, the service status of the first server may be configured to the to-be-maintained status, so that the first server with the to-be-maintained status may automatically execute corresponding administrative tasks to finally implement the maintenance of the first server. It can be understood that during this period, the second server may still provide cloud game services externally. That is to say, the operation and maintenance solution provided by the embodiments of the present application is a solution that is imperceptible to player users and may provide a cloud game environment without server downtime through orderly scheduling. In addition, after entering the to-be-maintained status, the server may automatically execute pre-arranged tasks without frequent manual intervention. Therefore, the embodiments of the present application may improve the service efficiency and operation and maintenance efficiency of the server during operation and maintenance.
[0081] The specific implementation method of data interaction between the central server and the managed server can be found in Figures 3 - 8 The description in the corresponding embodiment.
[0082] For further information, see Figure 3 , Figure 3 is a flow chart of a data processing method provided in an embodiment of the present application. Figure 3 As shown, the method can be executed by a central server, which can be the above Figure 1 In the corresponding central server 100 of the embodiment, the method may at least include the following steps S101 to S103:
[0083] Step S101, when a management task associated with a cloud game is scanned, a first server for executing the management task is obtained from a server cluster associated with the cloud game; the first server is determined by a second server having a target keyword in the server cluster; the target keyword is used to indicate that a service connection exists between the second server and a game device associated with the cloud game, and that no service connection exists between the first server and the game device;
[0084] Specifically, the central server can record the tasks created by the operation and maintenance personnel that need to be executed by the servers in the server cluster. These tasks can be tasks for version release, update or maintenance. Optionally, these tasks can be stored in a database associated with the central server in the form of lists, files or other forms. For example, a task list can include one or more tasks, each of which can correspond to different maintenance content. The operation and maintenance personnel can arrange these tasks in advance based on product requirements to obtain a task list with a clear and specific task sequence. The advantage of this is that the subsequent server side does not require manual intervention by the operation and maintenance personnel in the process of executing these tasks, thereby reducing the daily workload of the operation and maintenance personnel, improving the operation and maintenance efficiency, and reducing the probability of operation and maintenance errors by reducing manual operations.
[0085] It should be understood that each task in the task list has a corresponding task status for different servers, and the task status here can include a pending execution status, a successful execution status, and an execution failure status. For example, assuming that the task list T includes tasks T1 and T2, and server J1 successfully executes tasks T1 and T2, then the task status of tasks T1 and T2 corresponding to server J1 are both in the successful execution status; while server J2 fails to execute task T1 and does not execute task T2, then the task status of task T1 corresponding to server J2 is the execution failure status, and the task status of task T2 corresponding to server J2 is the pending execution status.
[0086] Based on this, the central server can obtain a task list associated with cloud games, and perform a task scan on this task list. When a task with a to-be-executed status is scanned in the task list, the task with this to-be-executed status can be used as a management task.
[0087] Optionally, the central server can include a task center service component and a timer. The task center service component here can store a task list associated with cloud games, and can mark or modify the task status corresponding to each task in the task list; the timer can be used to periodically poll and check the tasks in the task list to detect tasks with a to-be-executed status (i.e., management tasks). It should be noted that the task center service component and the timer can be two independent components, or the task center service component and the timer can be integrated into the same component. The embodiments of the present application do not limit this. Based on this, the central server can perform a task scan on the task list through the task center service component and the timer. The specific process can be: obtain a task list associated with cloud games through the task center service component, and then, based on the task order of each task in the task list, call the timer to periodically poll and detect the task status of each task. When it is detected that there is a task with a to-be-executed status in the task list, the task with this to-be-executed status can be used as a management task. Among them, the task order of each task can be determined by the operation and maintenance personnel according to actual needs.
[0088] Furthermore, when a management task is scanned, the central server can obtain a first server for executing the management task from the server cluster associated with cloud games. The first server is determined by a second server in the server cluster having a target keyword. Here, the target keyword is used to represent that there is a service connection between the second server and the game device, and there is no service connection between the first server and the game device. That is to say, when there is a task with a to-be-executed status in the task list, the central server can, based on the target keyword, obtain a server without a player user logged in from the server cluster as the first server.
[0089] Optionally, the central server may obtain a set of service information reported by a server cluster associated with cloud gaming. The set of service information may include one or more keywords. One keyword corresponds to one server in the server cluster and can be used to indicate whether there is a service connection between the server and the gaming device. That is to say, the set of service information here can store relevant information of all servers. It should be understood that the specific form of the keyword adopted in the embodiments of the present application is not limited. Optionally, the keywords in the set of service information may be recorded in the form of key-value pairs. Among them, the key can be used as an index to implement data storage, modification, query, and deletion. The embodiments of the present application do not limit the specific content of the keyword. For example, in a keyword, the key can be used to represent a certain server, such as the server identifier corresponding to the server or other data that can be used to refer to the server. The server identifier includes, but is not limited to, the server name, server address, server serial number, etc.; correspondingly, the value can be used to indicate whether there is a service connection between the server and the gaming device. If there is a service connection, the value can be represented by a connected identifier. On the contrary, if there is no service connection, the value can be represented by an unconnected identifier. Among them, the connected identifier and the unconnected identifier are different identifiers (such as numbers, letters, words, etc.). For example, the connected identifier can be the number "1", and the unconnected identifier can be the number "0". Optionally, the value may also include other content, such as the number of gaming devices connected to the server. The embodiments of the present application will not limit the specific content of the value. Another example, in a keyword, the key can be a connected identifier or an unconnected identifier, and the value can be the server identifier corresponding to the relevant server. For example, assuming that the keyword is uniformly represented in the form of (key: value), the keyword X0: ("1": J3, J4) can indicate that the servers with the connected identifier (for example, the number "1") include server J3 and server J4. That is to say, there is a service connection between server J3 and server J4 and the gaming device.
[0090] Based on this, the central server can quickly detect whether a service connection exists for a server in the service information set. The specific process can be as follows: The central server can detect a target keyword among the keywords included in the service information set. If a keyword that matches the target keyword is detected, the server mapped by the keyword that matches the target keyword in the server cluster can be used as the second server, and then the servers in the server cluster other than the second server can be used as the first server. For example, assume that the server cluster includes server Q1 and server Q2, and there is a service connection between server Q1 and game device K1. Then server Q1 can report that it currently has a service connection, and then based on this service connection, server Q1 can be mapped to keyword X1: ("1.1.1": 1), and keyword X1 can be written into the service information set. Among the keys of keyword X1, "1.1.1" is the server identifier corresponding to server Q1. Similarly, if there is no service connection between server Q2 and any game device, then server Q2 can also report that it currently has no service connection, and then based on the information of no service connection, server Q2 can be mapped to keyword X2: ("1.1.2": 0), and keyword X2 can be written into the service information set. Among the keys of keyword X2, "1.1.2" is the server identifier corresponding to server Q2. At this time, the target keyword can be the connected identifier, that is, the number "1". The central server can detect whether the connected identifier exists in the values respectively included in keyword X1 and keyword X2. For example, if the number "1" exists in the value of keyword X1, then the server Q1 mapped by the key (i.e., "1.1.1") in the keyword X1 associated with this value (i.e., the keyword that matches the target keyword) can be used as the second server, while the number "1" does not exist in the value of keyword X2. Therefore, the server Q2 mapped by the key (i.e., "1.1.2") in keyword X2 can be used as the first server.
[0091] Optionally, the central server may obtain a set of service information associated with a server cluster associated with cloud gaming. The set of service information may include one or more keywords, where one keyword corresponds uniquely to one server in the server cluster and can be used to indicate that there is no service connection between the server and the gaming device. That is to say, the set of service information here only stores the relevant information of the servers with service connections. Among them, the keywords in the set of service information may be recorded in the form of key-value pairs or other forms, and the embodiments of the present application do not limit this. Taking key-value pairs as an example, similar to the above optional embodiment, a keyword may include a key and a corresponding value. The key can be used to indicate the server where the player user exists (i.e., the server with a service connection to the gaming device), and specifically can be the server identifier corresponding to the server or other data that can be used to refer to the server, including but not limited to the server name, server address, server serial number, etc.; while the corresponding value can be any value. For example, it can be the number of gaming devices connected to the server or the device identifier corresponding to the gaming device, the login time or login duration of the player user, etc. The specific content of the value will not be limited here.
[0092] Based on this, the central server can quickly detect whether a service connection exists for a server in the set of service information. The specific process can be as follows: The central server may use the keywords included in the set of service information as target keywords, and then may use the server mapped by the target keywords in the server cluster as the second server, and use the servers in the server cluster other than the second server as the first servers. For example, assume that the server cluster includes server Q3 and server Q4. Server Q3 has service connections with both gaming devices K2 and K3. Then server Q3 may report that it currently has a service connection, and then based on this service connection, server Q3 may be mapped to keyword X3: ("1.1.3": 2), and keyword X3 may be written into the set of service information. Among them, "1.1.3" in the key of keyword X3 is the server identifier corresponding to server Q3, and "2" in the value of keyword X3 indicates that there are two gaming devices currently connected to server Q3. At the same time, server Q4 has no service connection with any gaming device. Then server Q4 may report that it currently has no service connection, or may not report when there is no service connection. At this time, the set of service information will not write information related to server Q4. Therefore, the central server may use the keyword X3 detected in the set of service information as the target keyword, and use the server mapped by keyword X3 (i.e., server Q3) as the second server, and the servers for which keywords are not detected in this set of service information (i.e., server Q4) as the first servers.
[0093] Among them, the service information set can be stored in Redis (a completely open-source and free high-performance key-value database that complies with the BSD (Berkeley Software Distribution) protocol), or stored in Memcached (an easy-to-use high-performance in-memory data store that can achieve sub-millisecond response times and can be used as a cache or session store), etcd (a distributed, consistent KV (i.e., Key-Value) storage system for shared configuration and service discovery), Zookeeper (a high-performance, centralized, distributed application coordination service), and other KV storage databases.
[0094] It should be understood that different from the existing operation and maintenance solutions that close all servers without distinction at one time, in the embodiments of the present application, as the connection status of the servers changes, the corresponding keywords in the service information set will also be updated accordingly. As a result, when the management task is scanned in the next round, a new first server can be retrieved to execute the management task. During this process, the second server can still be connected to the game device and normally provide game services to player users. Finally, the maintenance of each server in the server cluster can be achieved in batches without stopping the service, so that player users can experience the new version of the game service or function without waiting. Among them, the specific process of keyword update can be referred to the following Figure 8 corresponding embodiments.
[0095] Step S102, configure the first server as a server to be managed based on the management task, so that when the server to be managed obtains a business data update package associated with the management task, it executes the management task based on the business data update package to obtain a task execution result corresponding to the management task;
[0096] Specifically, after the central server obtains the first server, it needs to maintain the first server. Therefore, the business status of the first server can be configured as a status to be maintained based on the management task to indicate that the first server enters the operation and maintenance stage and will suspend providing game services externally. At this time, the central server will not schedule player users to the first server with a status to be maintained, that is, it will not connect the game device to the first server with a status to be maintained. For ease of understanding and distinction, the embodiments of the present application can use the first server with a status to be maintained as the server to be managed. Subsequently, the server to be managed can execute the management task based on the business data update package when it obtains a business data update package associated with the management task to obtain a task execution result corresponding to the management task. The specific process can be referred to the steps in the subsequent Figure 6 corresponding embodiment S304.
[0097] Optionally, the central server may include a task center service component and a scheduling center service component. Among them, the scheduling center service component can record the distribution of the entire server cluster, geographical information, etc., and can be used to allocate server resources for each game device. It should be noted that the task center service component and the scheduling center service component can be two independent components in the same central server. Or, optionally, the task center service component and the scheduling center service component can also be integrated on different central servers respectively. Based on this, the central server can configure the to-be-maintained status for the first server through the task center service component and the scheduling center service component. The specific process can be as follows: after the task center service component scans the management task, it can generate a status configuration instruction based on the management task, and then send the status configuration instruction to the scheduling center service component. After the scheduling center service component successfully receives the status configuration instruction, it can configure the service status of the first server to the to-be-maintained status based on the status configuration instruction. Subsequently, the first server with the to-be-maintained status can be used as the to-be-managed server.
[0098] Step S103, receive the task feedback information returned by the to-be-managed server based on the task execution result.
[0099] Specifically, the to-be-managed server can generate task feedback information based on the task execution result and return the task feedback information to the central server. Therefore, the central server can receive the task feedback information and can subsequently make corresponding adjustments to the first server based on the task feedback information. The specific process can refer to step S204 in the corresponding embodiment described below. Figure 4 The corresponding embodiment.
[0100] Subsequently, the central server can start the next round of task scanning, and finally, the maintenance of each server in the server cluster can be achieved in batches without stopping the service.
[0101] It can be seen that in the operation and maintenance process of the embodiments of the present application, it is not necessary to shut down all servers in the server cluster. Instead, based on the target keyword, servers with service connections to game devices can be quickly selected from the server cluster as the second servers. Subsequently, based on the second servers, servers without service connections can be obtained as the first servers currently suitable for game maintenance. Further, the service status of the first servers can be configured to the to-be-maintained status, so that the first servers with the to-be-maintained status can automatically execute corresponding management tasks to finally achieve the maintenance of the first servers. It can be understood that during this period, the second servers can still provide cloud game services externally. That is to say, the embodiments of the present application provide an operation and maintenance solution that is imperceptible to player users and can provide a cloud game environment without service interruption for player users through orderly scheduling. In addition, after entering the to-be-maintained status, the servers can automatically execute pre-orchestrated tasks without frequent manual intervention. Based on this, the embodiments of the present application can improve the service efficiency and operation and maintenance efficiency of the servers during operation and maintenance.
[0102] Further, please refer to Figure 4 , Figure 4 which is a schematic flowchart of a data processing method provided by an embodiment of the present application. As Figure 4 shown, this method can be executed by a central server, and the central server can be the central server 100 in the corresponding embodiment of the above Figure 1 . This method can at least include the following steps:
[0103] Step S201, when a management task associated with cloud games is scanned, obtain a first server for executing the management task from a server cluster associated with cloud games;
[0104] Specifically, the central server can first obtain a task list associated with cloud games, then scan the task list for tasks, and use the tasks with the to-be-executed status in the task list as management tasks. Then, based on the target keyword, determine a second server with a service connection to a game device in the server cluster associated with cloud games, and then determine a first server for executing the management task based on the second server. The specific process can refer to step S101 in the corresponding embodiment of the above Figure 3 .
[0105] It should be understood that the servers in the server cluster can provide game services associated with cloud games for game devices. According to the service type, the servers in the server cluster can be divided into cloud game servers and rendering servers. The number of each type of server can be one or more. The specific number of cloud game servers and rendering servers is not limited in the embodiments of the present application. Among them, the cloud game servers are mainly used to provide game resource services related to cloud games. For example, they can control game characters and optimize game content, such as updating game characters or character skills. The rendering servers are mainly used to provide rendering services for cloud games. One rendering server can carry multiple GPU (graphics processing unit) devices and can be used for graphical computing. Here, the GPU, that is, the graphics processing unit, refers to a microprocessor used to perform operations related to images and graphics. Optionally, the servers in the server cluster can also integrate the functions of cloud game servers and rendering servers at the same time.
[0106] It should be understood that the central server can be a server independent of the cloud game servers and rendering servers, or the central server can belong to the cloud game servers; or the central server can belong to the rendering servers; or the central server can also be a server integrating the functions of cloud game servers and rendering servers. The embodiments of the present application do not limit this.
[0107] Please refer to Figure 5 , Figure 5 which is a schematic diagram of data interaction based on cloud games provided by the embodiments of the present application. As Figure 5 shown, the game device cluster can include one or more game devices. The number of game devices in the game device cluster is not limited here. The game devices here can specifically include: intelligent terminals with data processing functions such as smart phones, tablet computers, laptop computers, desktop computers, smart TVs, wearable devices, and vehicle-mounted terminals. The embodiments of the present application can select one game device as the target game device from the multiple game devices shown in Figure 5 . The target game device can be the game device used by the player user in the cloud game. When the player user corresponding to the target game device needs to start the target cloud game on the target game device, a trigger operation can be performed on the target cloud game. In this way, when the target game device responds to the trigger operation performed by the player user on the target cloud game, it can send a server scheduling request to the central server. Here, the central server can be the above Figure 1The central server 100 in the corresponding embodiment. Furthermore, the central server can allocate appropriate cloud game servers and rendering servers to the target game device based on the server scheduling request. Optionally, this resource allocation operation can be performed by the scheduling center service component in the central server. During the process of a player experiencing a target cloud game, the target game device can transmit the operations of the player on the target game device in the form of instructions (i.e., control flow) to the cloud game server, so that the cloud game server can parse the instructions to implement relevant operations. Among them, there is a data connection between the cloud game server and the rendering server. A cloud game server can be connected to one or more rendering servers. The cloud game server here can be any one of the servers in the above Figure 1 corresponding embodiments. For example, the server 300a. Similarly, the rendering server can be Figure 1 any server other than the cloud game server in the corresponding embodiment. For example, the server 300b and the server 300m. It should be understood that the cloud game server mainly provides game resource services. For example, it can parse the operation instructions of the player on the target game device into corresponding game resource data, and then can send the game resource data to the rendering server. After receiving the game resource data, the rendering server can perform image rendering on the game resource data to obtain the corresponding audio-visual stream, and can transmit the audio-visual stream to the target game device through a certain protocol. Finally, the target game device can decode the audio-visual stream to obtain playable audio-visual data, so that the player can experience the action behavior performance of the game character.
[0108] It should be understood that, optionally, in a scenario where the game service to be optimized is a game resource service, the first server can be a cloud game server. At this time, the management task that the first server needs to execute can be a task related to cloud game logic or content, that is, this management task can be used to maintain and update relevant cloud games (for example, the target cloud game). For example, adding game characters, deleting game characters, adding game scenes or adding character skills in the target cloud game, so that the first server after the task is successfully executed can provide the updated target cloud game for the player.
[0109] Optionally, in a scenario where the game service to be optimized is a rendering service, the first server can be a rendering server. At this time, the management task that the first server needs to execute can be a task related to rendering, that is, this management task can be used to maintain and update rendering-related content. For example, optimizing a certain frame rate or bit rate in the image rendering program, so that the first server after the task is successfully executed can provide a higher-quality audio-visual stream for the player.
[0110] Step S202: Based on the management task, configure the service status of the first server to the to-be-maintained status, and use the first server with the to-be-maintained status as the server to be managed;
[0111] For the specific implementation of this step, reference can be made to step S102 in the corresponding embodiment above, which will not be elaborated here. Figure 3 For the specific implementation of this step, reference can be made to step S102 in the corresponding embodiment above, which will not be elaborated here.
[0112] Step S203: Receive the task feedback information returned by the server to be managed based on the task execution result;
[0113] For the specific implementation of this step, reference can be made to step S103 in the corresponding embodiment above, which will not be elaborated here. Figure 3 For the specific implementation of this step, reference can be made to step S103 in the corresponding embodiment above, which will not be elaborated here.
[0114] Step S204: Based on the task feedback information, update the service status of the first server, and receive the status write-back instruction returned by the first server after the service status is updated. Mark the management task based on the status write-back instruction.
[0115] Specifically, the central server can analyze the task feedback information. If the task feedback information indicates that the management task is successfully executed, the service status of the first server can be changed from the to-be-maintained status to the maintenance success status, so that the first server with the maintenance success status generates a first status write-back instruction associated with the maintenance success status. Further, the central server can receive the first status write-back instruction returned by the first server with the maintenance success status, and can write back the maintenance success status of the first server to the task list corresponding to the management task based on the first status write-back instruction. In addition, the central server can adjust the scheduling priority of the first server with the maintenance success status, so that the first server after the scheduling priority is adjusted can provide an optimized game service for running cloud games for the game device. It should be understood that the scheduling priority of the first server after the scheduling priority is adjusted is higher than the scheduling priority of the servers in the second server that have not executed the management task. That is to say, after a certain server is upgraded, it will be preferentially scheduled by the central server to provide the corresponding optimized game service for player users. Combining the above step S201, the optimized game service here can include an optimized game resource service (i.e., an optimized service at the game content level) and an optimized rendering service (i.e., an optimized service at the image rendering level), which are not limited in the embodiments of the present application.
[0116] It should be understood that each time a server is successfully upgraded, the server will obtain the corresponding version number. Therefore, the central server can adjust the scheduling priority of the first server based on the version number of the first server. That is to say, the server with a high version number will give priority to providing optimized game services, and the server with a low version number can be released for corresponding updates and upgrades, that is, the server with a low version number will perform management tasks first.
[0117] Optionally, if the task feedback information indicates that the management task was not successfully executed, the central server may change the business status of the first server from a pending maintenance status to a maintenance failure status, so that when the first server with a maintenance failure status stops providing game services for running cloud games to game devices, it can generate a second status write-back instruction associated with the maintenance failure status. In other words, the central server will take the first server with a maintenance failure status offline. At this time, the first server with a maintenance failure status cannot provide corresponding game services to the outside world. Furthermore, the central server can receive a second status write-back instruction returned by the first server with a maintenance failure status, and can write back the maintenance failure status of the first server to the task list corresponding to the management task based on the second status write-back instruction.
[0118] Among them, the specific implementation method of the above-mentioned state writeback can refer to highlighting the management task in the task list. For example, when the management task is successfully executed, the management task can be marked with a first color (for example, green), and when the management task is not successfully executed, the management task can be marked with a second color (for example, red); or, it is also possible to generate relevant task execution records (also called task status records) based on the state writeback instruction, and add them to the task list. The task execution record can be displayed in the task list, for example, in the area near the location of the management task. After completing the state writeback, subsequent operation and maintenance personnel can intuitively find out the abnormally executed tasks from the task list, which is convenient for problem tracing.
[0119] For further information, see Figure 6 , Figure 6 Schematic diagram of an interactive process of a data processing method provided in an embodiment of the present application. Figure 6 As shown, the method can be jointly executed by the central server and the server to be managed, and the central server can be the above Figure 1 The central server 100 in the corresponding embodiment, the server to be managed can be the above Figure 1 Any server in the server cluster in the corresponding embodiment, for example, server 300a. The method may at least include the following steps:
[0120] Step S301: The central server scans the task list associated with cloud games. When a task with a to-be-executed status is scanned, the task with the to-be-executed status is taken as a management task.
[0121] For the specific implementation of this step, reference can be made to step S101 in the corresponding embodiment above, which will not be elaborated here. Figure 3 For the specific implementation of this step, reference can be made to step S101 in the corresponding embodiment above, which will not be elaborated here.
[0122] Step S302: The central server obtains a first server for executing the management task from the server cluster associated with cloud games.
[0123] For the specific implementation of this step, reference can be made to step S101 in the corresponding embodiment above, which will not be elaborated here. Figure 3 For the specific implementation of this step, reference can be made to step S101 in the corresponding embodiment above, which will not be elaborated here.
[0124] Step S303: The central server configures the first server as a to-be-managed server based on the management task.
[0125] For the specific implementation of this step, reference can be made to step S102 in the corresponding embodiment above, which will not be elaborated here. Figure 3 For the specific implementation of this step, reference can be made to step S102 in the corresponding embodiment above, which will not be elaborated here.
[0126] Step S304: The to-be-managed server obtains a service data update package associated with the management task, and executes the management task based on the service data update package to obtain a task execution result corresponding to the management task.
[0127] Specifically, the to-be-managed server can obtain the service data update package associated with the management task from a Content Delivery Network (CDN), and then execute the management task based on the service data update package, thereby obtaining the task execution result corresponding to the management task.
[0128] It should be understood that the content delivery network is an intelligent virtual network built on the existing network. Relying on the edge servers deployed in various places, through function modules such as load balancing, content distribution, and scheduling of the central platform, users can obtain the required content nearby, reduce network congestion, and improve the user access response speed and hit rate. Therefore, storing the service data update package in the content delivery network can ensure the download speed of the service data update package, thereby improving the operation and maintenance efficiency.
[0129] Step S305: The to-be-managed server generates task feedback information based on the task execution result.
[0130] Specifically, after the managed server finishes executing the management task, it is necessary to verify whether the obtained task execution result is the expected result. For example, version verification can be performed, that is, to verify whether the version number input by the operation and maintenance personnel is the same as the version number obtained after executing the management task to ensure the integrity of the upgrade. Specifically, the managed server can obtain the input version number associated with the management task, and can obtain the version number to be verified included in the task execution result. Then, the input version number can be compared with the version number to be verified to obtain the version verification result. Finally, task feedback information can be generated based on the version verification result.
[0131] Optionally, if the version verification result indicates that the input version number is the same as the version number to be verified, it means that the version verification is passed. At this time, the generated task feedback information will indicate that the management task has been successfully executed; conversely, optionally, if the version verification result indicates that the input version number is different from the version number to be verified, it means that the version verification has failed. At this time, the generated task feedback information will indicate that the management task has not been successfully executed.
[0132] Step S306, the managed server returns the task feedback information to the central server;
[0133] Step S307, the central server receives the task feedback information returned by the managed server based on the task execution result, and updates the service status of the first server based on the task feedback information;
[0134] The specific implementation method of this step can refer to Figure 4 Steps S203 - S204 in the corresponding embodiment, which will not be elaborated here.
[0135] Step S308, the central server receives the status write-back instruction returned by the first server after updating the service status, and marks the management task based on the status write-back instruction.
[0136] The specific implementation method of this step can refer to Figure 4 Step S204 in the corresponding embodiment, which will not be elaborated here.
[0137] As described above, the embodiments of the present application can poll and detect whether there are tasks to be executed (i.e., management tasks) in a pre-set task list. When a task to be executed is detected, it can be further determined whether there are player users on the servers in the server cluster. When it is detected that there are no player users on a certain server (i.e., the first server), the scheduling center service component (also referred to as the scheduling system) can be notified to set the server to the to-be-maintained state (also referred to as the unavailable state). Furthermore, the first server with the to-be-maintained state can execute the management task. After successful execution, the scheduling center service component can be notified to open the first server to the outside world. During this period, the second server still provides game services normally. Thus, it can be seen that the entire operation and maintenance process does not require manual intervention and does not need to shut down all servers for maintenance. Therefore, it can truly achieve that the operation and maintenance release is imperceptible to players. Therefore, the embodiments of the present application can improve the service efficiency and operation and maintenance efficiency of the servers during operation and maintenance. In addition, since the embodiments of the present application do not shut down all servers for a long time, resulting in an increase in the per capita cost of the servers and causing players to wait for a long time, resulting in a poor game experience for player users, the overall operation and maintenance cost can be reduced, and the cloud game experience and reputation can be improved.
[0138] Further, please refer to Figure 7 , Figure 7 which is a logical schematic diagram of a non-perceptible operation and maintenance provided by the embodiments of the present application. As Figure 7 shown, the operation and maintenance process mainly involves a task center service component (also referred to as the task system) and a scheduling center service component (also referred to as the scheduling system). These two components are independent of each other, but can both be integrated into the same central server. For example, Figure 1 the central server 100 in the corresponding embodiment. Optionally, these two components can also be respectively integrated into different central servers. The embodiments of the present application will be described by taking the task center service component and the scheduling center service component being integrated into the same central server as an example.
[0139] As Figure 7 shown, the scheduling center service component can classify the service statuses of the servers in the server cluster into three categories, specifically as follows:
[0140] (1) Upgrade completed state: Also referred to as the maintenance success state, indicating that the server has completed the upgrade and can be preferentially scheduled to provide optimized game services for player users;
[0141] (2) Offline state: Also referred to as the maintenance failure state, indicating that the server upgrade is abnormal or a fault occurs, and it cannot provide game services for player users;
[0142] (3) Un-upgraded state: Indicating that the server is an old version and will not be scheduled when resources are sufficient, and can preferentially execute upgrade tasks (such as management tasks).
[0143] As shown Figure 7 in the figure, the operation and maintenance personnel can create tasks to be executed in advance, and can write the tasks to be executed into the task center service component. Then, the timer will periodically scan whether there are tasks with a to-be-executed status (i.e., management tasks) in the task center service component. If there are management tasks, the task center service component can obtain the player user status of the servers in the server cluster in real time and determine whether the server is available for update. That is to say, the task center service component can obtain a server in the server cluster where no player user (abbreviation: player) is logged in and has an un-upgraded status, that is, the first server for executing the management task. The specific process can refer to the steps S101 in the corresponding embodiment described above Figure 3 .
[0144] Furthermore, after the task center service component obtains the first server, it can notify the scheduling center service component to set the first server to a to-be-maintained status, that is, to temporarily take the first server offline, indicating that the first server enters the operation and maintenance stage and temporarily does not provide game services to player users. Then, the first server with a to-be-maintained status (i.e., the to-be-managed server) can execute the arranged management task, obtain the task execution result corresponding to the management task, and can generate a task feedback message based on the task execution result, and can return the task feedback message to the scheduling center service component. Among them, after the task execution is completed, the first server with a to-be-maintained status can automatically perform verification (for example, version verification) to obtain a verification result (for example, version verification result), and then can generate a task feedback message based on the verification result
[0145] Subsequently, the scheduling center service component can update the service status of the first server based on the task feedback message. Specifically, if the task feedback message indicates that the first server has successfully executed the management task, the scheduling center service component can change the service status of the first server from the to-be-maintained status to the maintenance success status (i.e., the upgrade completed status), and perform a re-online process on the first server, indicating that the first server has completed the upgrade and can provide the updated game service (i.e., optimized game service) to player users; otherwise, if the task feedback message indicates that the first server has failed to execute the management task, the scheduling center service component can change the service status of the first server from the to-be-maintained status to the maintenance failure status (i.e., the offline status), and perform an offline process on the first server, indicating that the first server has an upgrade exception or failure and cannot provide game services to player users. At the same time, the task center service component will automatically record the failed task for subsequent operation and maintenance personnel to trace the problem
[0146] As shown Figure 7As shown in the figure, the server with a successful maintenance status can be preferentially scheduled by the scheduling center service component. The server with an un-upgraded status can be scheduled by the scheduling center service component based on ordinary scheduling rules (for example, rules composed of factors such as network quality, server capacity, and the distance between the server and the game device). However, the server with a failed maintenance status will not be scheduled by the scheduling center service component. That is to say, the scheduling priority of the server with a successful maintenance status is higher than that of the server with an un-upgraded status.
[0147] Based on this, the embodiments of the present application can achieve reasonable scheduling of servers with the assistance of the scheduling center service component. Through the above process, all servers in the server cluster can ultimately be upgraded. For example, during the peak service period, the resources of each server will be allocated by the scheduling center service component to the corresponding game device. In this case, each server has to provide game services for the game devices connected to it, and maintenance will not be carried out at this time. When entering the off-peak service period, the server resources are sufficient. In this case, there will definitely be idle servers. For example, the scheduling center service component will preferentially schedule the high-version servers (i.e., the servers with a successful maintenance status). Subsequently, the newly connected player users can all be transferred to this server to experience the new version of the game service. Then, the resources of the low-version servers will be released, and then the server can be updated. For example, assume that there are 5 servers in the server cluster, namely server P1, server P2, server P3, server P4, and server P5. During the peak service period, these 5 servers all need to provide game services. Assume that during a certain off-peak service period, only server P1 and server P2 have completed the upgrade. Then, when entering the next off-peak period, an idle server can be selected from the remaining 3 servers (i.e., server P3, server P4, and server P5) for upgrade (i.e., re-select a new first server to execute the management task). And so on. Eventually, these 5 servers can be upgraded and maintained in batches.
[0148] As can be seen from the above, the embodiments of the present application implement a maintenance-free operation and maintenance solution, canceling the server shutdown process in the traditional operation and maintenance mode. Therefore, player users can experience the new functions of cloud games without waiting.
[0149] Further, please refer to Figure 8 , Figure 8 which is an interaction schematic diagram of a maintenance-free operation and maintenance process provided by the embodiments of the present application. As shown in Figure 8 the operation and maintenance process mainly involves a timer, a task center service component (i.e., the task system), and a scheduling center service component (i.e., the scheduling system). These three are independent of each other, but can all be integrated in Figure 1In the central server 100 in the corresponding embodiment, or separately integrated in different central servers. In the embodiments of the present application, the timer, the task center service component, and the scheduling center service component are respectively integrated in the same central server as an example for illustration. In addition, the embodiments of the present application also involve a reporting management component (i.e., a reporting management module), and the reporting management component can be integrated on a server in the server cluster.
[0150] It should be understood that each server in the server cluster can be integrated with a reporting management component, and each server can regularly report (for example, report once every 30 seconds) the connection status of the server, that is, report whether the server has a service connection with the game device. Furthermore, the reporting management component can update the keywords associated with the server in the service information set based on the connection status reported by the server.
[0151] Optionally, in combination with the relevant description of step S101 in the corresponding embodiment above, for the service information set storing the relevant information of all servers, the reporting management component can update the keywords associated with each server based on the connection status reported by each server. For example, when Figure 3 the game device K1 in the corresponding embodiment disconnects from the server Q1 and no other game devices are connected, the connection status reported by the server Q1 through the reporting management component will indicate that the current server Q1 has no service connection with the game device. Then, the reporting management component can update the keyword X1 from the previous ("1.1.1": 1) to ("1.1.1": 0). Figure 3
[0152] Optionally, in combination with the above Figure 3 Regarding the relevant description of step S101 in the corresponding embodiment, for a service information set that only stores the relevant information of the servers with existing service connections, the reporting management component can set an expiration period (i.e., expiration time, such as 30 seconds) for each keyword in the service information set. Within the expiration period, if the connection status reported by the server mapped by the keyword still indicates that the server has a service connection with the game device, the reporting management component can update the keyword based on this connection status. At this time, the existence duration of the updated keyword will be recalculated starting from the current update timestamp. It can be understood that the keyword before and after the update may be the same; conversely, if the connection status reported by the server mapped by the keyword indicates that the server no longer has a service connection with the game device, the reporting management component will not update the keyword. If the existence duration of the keyword in the service information set reaches the expiration period at this time, the keyword becomes invalid, so the reporting management component will automatically delete the keyword from the service information set until the next time the server connects to the game device, and then rewrite the corresponding keyword into the service information set. For example, within the expiration period (e.g., within 30 seconds), when the Figure 3 game device K2 in the corresponding embodiment disconnects from the server Q3, the connection status reported by the server Q3 through the reporting management component will indicate that the current server Q3 has a service connection with the game device K3. Then, the reporting management component can update the keyword X3 from the previous ("1.1.3": 2) to ("1.1.3": 1). When both the game device K2 and the game device K3 disconnect from the server Q3 and the keyword X3 has not been updated within the expiration period, the keyword X3 becomes invalid, and the reporting management component will delete the keyword X3. The specific duration of the expiration period is not limited in the embodiments of the present application.
[0153] As Figure 8 shown, in one implementation, the operation and maintenance personnel can create a task plan that the servers in the server cluster need to execute and record it in the task list. Further, the reporting management component can regularly report the status of player users in these servers. If there are player users (i.e., players are online), key-value pair form keywords will be written into the database associated with the server (e.g., Redis database, used to store the service information set). Optionally, an expiration period can also be set for the keyword; conversely, if there are no player users, the reporting management component will not store the information of the server.
[0154] Further, as Figure 8As shown, the timer can periodically poll the task list to check if there are tasks to be executed (i.e., management tasks). For example, it can scan once every minute. If a management task is detected in the task list, the task center service component will further check if there is a key-value pair (i.e., the target keyword) in the Redis database that represents the server connection status. If the target keyword is detected, the server mapped by the target keyword in the server cluster can be used as the second server, and then the servers in the server cluster other than the second server can be used as the first server. That is to say, for the keyword stored in the form of a key-value pair, the key can be used to represent the server where the player user exists (i.e., the second server with a service connection to the game device). Therefore, when the corresponding key is not detected in the Redis database, the server corresponding to the key not recorded in the Redis database can be used as the first server for executing management tasks. The specific process can refer to step S101 in the corresponding embodiment described above Figure 3 and will not be elaborated here.
[0155] Furthermore, as Figure 8 shown, when the task center service component detects the first server through the Redis database, it can notify the scheduling center service component to set the service status of the first server to the grayscale status (i.e., the to-be-maintained status). At this time, the player user will not be scheduled by the scheduling center service component to the first server with the grayscale status (i.e., the to-be-managed server). Further, the first server with the grayscale status can execute management tasks. Optionally, to ensure the download speed of the update program, all server-side update programs (i.e., business data update packages or upgrade packages) can be stored in the content delivery network. Therefore, the first server with the grayscale status can download the server-side update program associated with the management task from the content delivery network and then execute the server-side update program. Among them, the server-side update program involves version number verification (i.e., version check), and its purpose is to avoid manually entering the wrong version number and causing server-side anomalies. Therefore, after executing the server-side update program, the first server with the grayscale status will perform version check to ensure the integrity of the upgrade. The specific process can refer to step S304 - step S305 in the corresponding embodiment described above Figure 6 and will not be elaborated here.
[0156] Further, after the upgrade is successful (i.e., the management task is successfully executed), the scheduling center service component can change the service status of the first server from the grayscale status to the maintenance success status. At this time, player users can normally use the optimized game service through the first server. On the contrary, if the upgrade fails (i.e., the management task is not successfully executed), the scheduling center service component can change the service status of the first server from the grayscale status to the offline status (i.e., the maintenance failure status), and subsequent operation and maintenance personnel can intervene to troubleshoot problems. At the same time, the current service status (maintenance success status or maintenance failure status) of the first server can be written back to the task status record in the task center service component. This task status record is associated with the task list. The next time the timer polls the task list, it can automatically determine whether the currently detected server without player users (i.e., the new first server) needs to execute the corresponding task based on the task status record.
[0157] In addition, when the scheduling center service component allocates servers, it will preferentially allocate the servers that have been successfully upgraded to player users. That is to say, the scheduling priority of the servers with the maintenance success status is higher than that of the servers with the un-upgraded status, so as to ensure that idle servers are reserved for the task center service component to use, so as to finally realize the upgrade of all servers.
[0158] It can be understood that in the embodiment of the present application, by obtaining the real-time status of player users on the server and combining with the scheduling center service component, tasks can be executed without stopping the service, improving the service efficiency of the server during operation and maintenance, and reducing the pressure brought by operation and maintenance. At the same time, player users can experience the new version of the service without having to wait for a long time. That is to say, the embodiment of the present application provides an operation and maintenance solution that is imperceptible to player users, and can provide a cloud game environment without service interruption for player users through orderly scheduling. In addition, after entering the maintenance pending state, the server can automatically execute the pre-arranged tasks without frequent manual intervention. Based on this, the embodiment of the present application can improve the service efficiency and operation and maintenance efficiency of the server during operation and maintenance.
[0159] Further, please refer to Figure 9 , Figure 9 which is a schematic structural diagram of a data processing device provided by an embodiment of the present application. The data processing device 1 can be a computer program (including program code) running in a computer device. For example, the data processing device 1 is an application software; the data processing device 1 can be used to execute the corresponding steps in the method provided by the embodiment of the present application. As Figure 9 shown, the data processing device 1 can run on the central server, and the central server can be the above-mentioned Figure 1The central server 100 in the corresponding embodiment. The data processing device 1 may include: a server acquisition module 11, a status configuration module 12, an information reception module 13, an update marking module 14, and a priority adjustment module 15;
[0160] The server acquisition module 11 is configured to, when scanning a management task associated with cloud gaming, acquire a first server for executing the management task from a server cluster associated with cloud gaming; the first server is determined by a second server having a target keyword in the server cluster; the target keyword is used to characterize that there is a service connection between the second server and a gaming device associated with cloud gaming, and there is no service connection between the first server and the gaming device.
[0161] Among them, the server acquisition module 11 may include: a first task scanning unit 111, a first acquisition unit 112, a second task scanning unit 113, and a second acquisition unit 114;
[0162] The first task scanning unit 111 is configured to acquire a task list associated with cloud gaming, perform task scanning on the task list, and when scanning a task with a to-be-executed status, use the task with the to-be-executed status as the management task;
[0163] Specifically, the first task scanning unit 111 is configured to acquire a task list associated with cloud gaming through a task center service component, and based on the task order of each task in the task list, call a timer to periodically poll the task status of each task. When detecting that there is a task with a to-be-executed status in the task list, use the task with the to-be-executed status as the management task;
[0164] The first acquisition unit 112 is configured to acquire a service information set reported by a server cluster associated with cloud gaming, and detect the target keyword among the keywords included in the service information set; if detecting a keyword that matches the target keyword, use the server mapped by the keyword that matches the target keyword in the server cluster as the second server, and use the servers in the server cluster other than the second server as the first server.
[0165] The second task scanning unit 113 is configured to acquire a task list associated with cloud gaming, perform task scanning on the task list, and when scanning a task with a to-be-executed status, use the task with the to-be-executed status as the management task;
[0166] The second task scanning unit 113 is specifically configured to obtain a task list associated with cloud games through the task center service component, and based on the task order of each task in the task list, call a timer to periodically poll the task status of each task. When it is detected that there is a task with a to-be-executed status in the task list, the task with the to-be-executed status is used as the management task;
[0167] The second acquisition unit 114 is configured to obtain a service information set associated with a server cluster associated with cloud games, use the keywords included in the service information set as target keywords, map the servers corresponding to the target keywords in the server cluster as the second servers, and use the servers in the server cluster other than the second servers as the first servers.
[0168] Among them, the specific implementation manners of the first task scanning unit 111, the first acquisition unit 112, the second task scanning unit 113, and the second acquisition unit 114 can refer to the description of step S101 in the corresponding embodiment above, and will not be elaborated here. Figure 3 The description of the corresponding embodiment of step S101 will not be continued here.
[0169] The status configuration module 12 is configured to configure the first server as a to-be-managed server based on the management task, so that when the to-be-managed server obtains a service data update package associated with the management task, it executes the management task based on the service data update package to obtain a task execution result corresponding to the management task.
[0170] Among them, the central server includes a task center service component and a scheduling center service component;
[0171] The status configuration module 12 is specifically configured to generate a status configuration instruction through the task center service component based on the management task, and send the status configuration instruction to the scheduling center service component, so that the scheduling center service component configures the service status of the first server as a to-be-maintained status based on the status configuration instruction; the first server with the to-be-maintained status is used as the to-be-managed server.
[0172] The information receiving module 13 is configured to receive task feedback information returned by the to-be-managed server based on the task execution result.
[0173] The update marking module 14 is configured to update the service status of the first server based on the task feedback information, and receive a status write-back instruction returned by the first server after the service status is updated, and mark the management task based on the status write-back instruction.
[0174] Among them, the update marking module 14 may include: a first status change unit 141, a first status write-back unit 142, a second status change unit 143, and a second status write-back unit 144;
[0175] The first status change unit 141 is configured to change the service status of the first server from the to-be-maintained status to the maintenance-success status if the task feedback information indicates that the management task is successfully executed, so that the first server with the maintenance-success status generates a first status write-back instruction associated with the maintenance-success status;
[0176] The first status write-back unit 142 is configured to receive the first status write-back instruction returned by the first server with the maintenance-success status, and write back the maintenance-success status possessed by the first server to the task list corresponding to the management task based on the first status write-back instruction;
[0177] The second status change unit 143 is configured to change the service status of the first server from the to-be-maintained status to the maintenance-failure status if the task feedback information indicates that the management task is not successfully executed, so that the first server with the maintenance-failure status generates a second status write-back instruction associated with the maintenance-failure status when stopping providing the game service for running cloud games to the game device;
[0178] The second status write-back unit 144 is configured to receive the second status write-back instruction returned by the first server with the maintenance-failure status, and write back the maintenance-failure status possessed by the first server to the task list corresponding to the management task based on the second status write-back instruction.
[0179] Among them, the specific implementation manners of the first status change unit 141, the first status write-back unit 142, the second status change unit 143, and the second status write-back unit 144 can refer to the description of step S204 in the corresponding embodiment above, and will not be elaborated here. Figure 4 The description of step S204 in the corresponding embodiment above will not be elaborated here.
[0180] The priority adjustment module 15 is configured to adjust the scheduling priority of the first server with the maintenance-success status, so that the first server after adjusting the scheduling priority provides an optimized game service for running cloud games to the game device.
[0181] Among them, the specific implementation manners of the server acquisition module 11, the status configuration module 12, the information reception module 13, the update marking module 14, and the priority adjustment module 15 can refer to the description of steps S101 - S104 in the corresponding embodiment above, and will not be elaborated here. Figure 3 The description of steps S101 - S104 in the corresponding embodiment above will not be elaborated here.
[0182] As can be seen from the above, in the operation and maintenance process of the embodiments of the present application, it is not necessary to shut down all servers in the server cluster. Instead, based on the target keyword, servers with service connections to the game device can be quickly selected from the server cluster as the second servers. Then, based on the second servers, servers without service connections to the game device can be selected as the first servers currently suitable for game maintenance. Subsequently, the service status of the first servers can be configured as the to-be-maintained status, so that the first servers with the to-be-maintained status can automatically execute corresponding management tasks to finally achieve the maintenance of the first servers. It can be understood that during this period, the second servers can still provide cloud game services externally. That is to say, the embodiments of the present application provide an operation and maintenance solution that is imperceptible to player users and can provide a cloud game environment without service interruption for player users through orderly scheduling. In addition, after entering the to-be-maintained status, the servers can automatically execute pre-arranged tasks without frequent manual intervention. Based on this, the embodiments of the present application can improve the service efficiency and operation and maintenance efficiency of the servers during operation and maintenance.
[0183] Further, please refer to Figure 10 , Figure 10 which is a schematic structural diagram of a data processing device provided by an embodiment of the present application. The data processing device 2 can be a computer program (including program code) running in a computer device. For example, the data processing device 2 is an application software. The data processing device 2 can be used to execute the corresponding steps in the method provided by the embodiments of the present application. As Figure 10 shown, the data processing device 2 can run on the to-be-managed server, and the to-be-managed server can be any server in the server cluster corresponding to the above Figure 1 embodiment that has no service connection with the game device, for example, server 300a. The data processing device 2 can include: a task execution module 21 and an information feedback module 22;
[0184] The task execution module 21 is configured to obtain a service data update package associated with the management task, execute the management task based on the service data update package, and obtain a task execution result corresponding to the management task. The management task is used to instruct the central server to configure the first server as the to-be-managed server. The management task is associated with cloud games. The first server is a server obtained by the central server from the server cluster associated with cloud games when scanning the management task. The first server is determined by the second server with the target keyword in the server cluster. The target keyword is used to represent that there is a service connection between the second server and the game device associated with cloud games, and there is no service connection between the first server and the game device;
[0185] The information feedback module 22 is used to generate task feedback information based on the task execution result and return the task feedback information to the central server.
[0186] Among them, the information feedback module 22 may include: a verification unit 221 and a generation unit 222;
[0187] The verification unit 221 is used to obtain the input version number associated with the management task, obtain the version number to be verified in the task execution result, compare the input version number with the version number to be verified, and obtain a version verification result;
[0188] The generation unit 222 is used to generate task feedback information based on the version verification result and return the task feedback information to the central server.
[0189] Among them, the specific implementation manners of the verification unit 221 and the generation unit 222 can be referred to the description of step S305 in the corresponding embodiment above, and will not be elaborated here. Figure 6 The description of the corresponding embodiment of step S305 will not be elaborated here.
[0190] Among them, the specific implementation manners of the task execution module 21 and the information feedback module 22 can be referred to the descriptions of steps S304 - S305 in the corresponding embodiment above, and will not be elaborated here. In addition, the description of the beneficial effects of adopting the same method will not be elaborated either. Figure 6 The descriptions of steps S304 - S305 in the corresponding embodiment will not be elaborated here. In addition, the description of the beneficial effects of adopting the same method will not be elaborated either.
[0191] Further, please refer to Figure 11 , Figure 11 is a schematic structural diagram of a computer device provided by an embodiment of the present application. As Figure 11 shown, the computer device 1000 may include: a processor 1001, a network interface 1004, and a memory 1005. In addition, the computer device 1000 may further include: a user interface 1003 and at least one communication bus 1002. Among them, the communication bus 1002 is used to implement connection communication between these components. Among them, the user interface 1003 may include a display screen (Display) and a keyboard (Keyboard). Optionally, the user interface 1003 may further include a standard wired interface and a wireless interface. Optionally, the network interface 1004 may include a standard wired interface and a wireless interface (such as a WI-FI interface). The memory 1005 may be a high-speed RAM memory or a non-volatile memory, such as at least one disk memory. Optionally, the memory 1005 may further be at least one storage device located far from the aforementioned processor 1001. As Figure 11 shown, the memory 1005, as a computer-readable storage medium, may include an operating system, a network communication module, a user interface module, and a device control application program.
[0192] In the computer device 1000 as shown in Figure 11 Figure
[0193] It should be understood that the computer device 1000 described in the embodiments of the present application can execute the descriptions of the data processing methods in the corresponding embodiments described above Figure 3 、 Figure 4 or Figure 6 above, and can also execute the descriptions of the data processing devices in the corresponding embodiments described above Figure 9 or Figure 10 above. Details will not be described herein again. In addition, the descriptions of the beneficial effects of using the same method will not be repeated either.
[0194] In addition, it should be noted here that: the embodiments of the present application also provide a computer-readable storage medium, and the computer-readable storage medium stores computer programs executed by the data processing device 1 and the data processing device 2 mentioned above. The computer program includes program instructions. When the processor executes the program instructions, it can execute the descriptions of the data processing methods in the corresponding embodiments described above Figure 3 、 Figure 4 or Figure 6 above. Therefore, details will not be described herein again. In addition, the descriptions of the beneficial effects of using the same method will not be repeated either. For the technical details not disclosed in the embodiments of the computer-readable storage medium involved in the present application, please refer to the descriptions of the method embodiments of the present application.
[0195] In addition, it should be noted that: the embodiments of the present application also provide a computer program product or a computer program. The computer program product or the computer program may include computer instructions, and the computer instructions can be stored in a computer-readable storage medium. The processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor can execute the computer instructions, so that the computer device executes the descriptions of the data processing methods in the corresponding embodiments described above Figure 3 、 Figure 4 or Figure 6 above. Therefore, details will not be described herein again. In addition, the descriptions of the beneficial effects of using the same method will not be repeated either. For the technical details not disclosed in the embodiments of the computer program product or the computer program involved in the present application, please refer to the descriptions of the method embodiments of the present application.
[0196] Further, please refer to Figure 12 , Figure 12It is a schematic structural diagram of a data processing system provided by an embodiment of the present application. The data processing system 3 may include a data processing device 1a and a data processing device 2a. Among them, the data processing device 1a may be the data processing device 1 in the corresponding embodiment above Figure 9 It can be understood that the data processing device 1a may be integrated into the central server 20A in the corresponding embodiment above Figure 2 Therefore, it will not be elaborated here. Among them, the data processing device 2a may be the data processing device 2 in the corresponding embodiment above Figure 10 It can be understood that the data processing device 2a may be integrated into the server 20C in the corresponding embodiment above Figure 2 Therefore, it will not be elaborated here. In addition, the description of the beneficial effects of using the same method will not be elaborated either. For the technical details not disclosed in the data processing system embodiment of the present application, please refer to the description of the method embodiment of the present application.
[0197] The terms "first", "second", etc. in the description, claims and drawings of the embodiments of the present application are used to distinguish different objects, rather than to describe a specific order. In addition, the term "including" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, device, product or equipment that includes a series of steps or units is not limited to the listed steps or modules, but may optionally further include steps or modules not listed, or may optionally further include other step units inherent to these processes, methods, devices, products or equipment.
[0198] Those of ordinary skill in the art can realize that the units and algorithm steps of each example described in combination with the embodiments disclosed herein can be implemented by electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described according to functions in the above description. Whether these functions are executed in a hardware or software manner depends on the specific application and design constraints of the technical solution. Professional technicians can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the present application.
[0199] The method and related devices provided by the embodiments of the present application are described with reference to the method flowcharts and / or structural schematic diagrams provided by the embodiments of the present application. Specifically, each process and / or block of the method flowchart and / or structural schematic diagram, as well as the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing devices to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing devices generate a device for implementing the functions specified in one process Figure 1 one process or multiple processes and / or structural schematic Figure 1 one block or multiple blocks. These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer-readable memory generate a manufactured article including an instruction device, and the instruction device implements the functions specified in one process Figure 1 one process or multiple processes and / or structural schematic Figure 1 one block or multiple blocks. These computer program instructions can also be loaded onto a computer or other programmable data processing device, so that a series of operation steps are executed on the computer or other programmable device to generate a computer-implemented process. Thus, the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in one process Figure 1 one process or multiple processes and / or structural schematic one block or multiple blocks.
[0200] The above-disclosed are only the preferred embodiments of the present application. Of course, the scope of the rights of the present application cannot be limited thereby. Therefore, equivalent changes made according to the claims of the present application still fall within the scope covered by the present application.
Claims
1. A data processing method, characterized in that, the method is executed by a central server and includes: when a management task associated with cloud gaming is scanned, obtaining a first server for executing the management task from a server cluster associated with the cloud gaming; the first server is determined by servers in the server cluster other than a second server mapped by a target keyword; the target keyword is used to characterize that there is a service connection between the second server and a gaming device associated with the cloud gaming, and there is no such service connection between the first server and the gaming device; the second server refers to the server mapped by a keyword that matches the target keyword detected in a set of service information reported by all servers in the server cluster, or when only keywords reported by servers with existing service connections are stored in the set of service information associated with the server cluster, using the keywords in the set of service information associated with the server cluster as the target keyword, and the server mapped by the target keyword; configuring the first server as a server to be managed based on the management task, so that when the server to be managed obtains a service data update package associated with the management task, executing the management task based on the service data update package to obtain a task execution result corresponding to the management task; receiving task feedback information returned by the server to be managed based on the task execution result.
2. The method according to claim 1, characterized in that, the step of, when a management task associated with cloud gaming is scanned, obtaining a first server for executing the management task from a server cluster associated with the cloud gaming, includes: obtaining a task list associated with cloud gaming, performing task scanning on the task list, and when a task with a to-be-executed status is scanned, using the task with the to-be-executed status as the management task; obtaining a set of service information reported by all servers in the server cluster associated with the cloud gaming, and detecting the target keyword in the keywords included in the set of service information; if a keyword that matches the target keyword is detected, using the server mapped by the keyword that matches the target keyword in the server cluster as the second server, and using the servers in the server cluster other than the second server as the first server.
3. The method according to claim 1, characterized in that, the step of, when a management task associated with cloud gaming is scanned, obtaining a first server for executing the management task from a server cluster associated with the cloud gaming, includes: obtaining a task list associated with cloud gaming, performing task scanning on the task list, and when a task with a to-be-executed status is scanned, using the task with the to-be-executed status as the management task; Obtain a set of service information associated with the server cluster associated with the cloud game. When only keywords reported by servers with service connections are stored in the set of service information associated with the server cluster, use the keywords included in the set of service information as target keywords. In the server cluster, use the servers mapped by the target keywords as the second servers, and use the servers in the server cluster other than the second servers as the first servers.
4. The method according to claim 2 or 3, wherein, the central server includes a task center service component and a timer; The obtaining a task list associated with the cloud game and performing a task scan on the task list. When a task with a to-be-executed status is scanned, using the task with the to-be-executed status as a management task includes: Obtain a task list associated with the cloud game through the task center service component. Based on the task order of each task in the task list, call the timer to periodically poll the task status of each task. When it is detected that there is a task with a to-be-executed status in the task list, use the task with the to-be-executed status as a management task.
5. The method according to claim 1, wherein, the central server includes a task center service component and a scheduling center service component; The configuring the first server as a server to be managed based on the management task includes: Based on the management task, generate a status configuration instruction through the task center service component, and send the status configuration instruction to the scheduling center service component, so that the scheduling center service component configures the service status of the first server to a to-be-maintained status based on the status configuration instruction; Use the first server with the to-be-maintained status as the server to be managed.
6. The method according to claim 5, wherein, further includes: Update the service status of the first server based on the task feedback information, and receive a status write-back instruction returned by the first server after updating the service status. Mark the management task based on the status write-back instruction.
7. The method according to claim 6, wherein, The updating the service status of the first server based on the task feedback information, and receiving a status write-back instruction returned by the first server after updating the service status, and marking the management task based on the status write-back instruction includes: If the task feedback information indicates that the management task is successfully executed, change the service status of the first server from the to-be-maintained status to a maintenance success status, so that the first server with the maintenance success status generates a first status write-back instruction associated with the maintenance success status; Receive the first status write-back instruction returned by the first server with the maintenance success status, and write back the maintenance success status possessed by the first server to the task list corresponding to the management task based on the first status write-back instruction; The method further includes: Adjust the scheduling priority of the first server with the maintenance success status so that the first server after adjusting the scheduling priority provides an optimized game service for running the cloud game to the game device.
8. The method according to claim 6, wherein, updating the service status of the first server based on the task feedback information, and receiving a status write-back instruction returned by the first server after updating the service status, and marking the management task based on the status write-back instruction, including: if the task feedback information indicates that the management task has not been successfully executed, changing the service status of the first server from the to-be-maintained status to a maintenance failure status, so that when the first server with the maintenance failure status stops providing the game service for running the cloud game to the game device, generating a second status write-back instruction associated with the maintenance failure status; receiving the second status write-back instruction returned by the first server with the maintenance failure status, and writing back the maintenance failure status possessed by the first server to the task list corresponding to the management task based on the second status write-back instruction.
9. A data processing method, wherein, the method is executed by a server to be managed, and includes: obtaining a service data update package associated with a management task, and executing the management task based on the service data update package to obtain a task execution result corresponding to the management task; the management task is used to instruct a central server to configure a first server as a server to be managed; the management task is associated with a cloud game; the first server is a server obtained by the central server from a server cluster associated with the cloud game when scanning the management task; the first server is determined by a server before a second server mapped by a target keyword in the server cluster; the target keyword is used to represent that there is a service connection between the second server and a game device associated with the cloud game, and there is no such service connection between the first server and the game device; the second server is a server mapped by a keyword that matches the target keyword detected in a service information set reported by all servers in the server cluster, or the second server is a server mapped by a keyword when only keywords reported by servers with existing service connections are stored in a service information set associated with the server cluster, and the service information set associated with the server cluster is used as the target keyword; generating task feedback information based on the task execution result, and returning the task feedback information to the central server.
10. The method according to claim 9, wherein, generating task feedback information based on the task execution result, and returning the task feedback information to the central server, including: Obtain the input version number associated with the management task, and obtain the version number to be verified in the task execution result. Compare the input version number with the version number to be verified to obtain a version verification result; Generate task feedback information based on the version verification result, and return the task feedback information to the central server.
11. A data processing device, characterized in that, comprising: A server acquisition module, configured to obtain a first server for executing the management task from a server cluster associated with the cloud game when a management task associated with the cloud game is scanned; The first server is determined by servers in the server cluster other than the second server mapped by the target keyword; the target keyword is used to characterize that there is a service connection between the second server and the game device associated with the cloud game, and there is no such service connection between the first server and the game device; the second server refers to the server mapped by the keyword that matches the target keyword detected in the set of service information reported by all servers in the server cluster, or when only the keywords reported by the servers with existing service connections are stored in the set of service information associated with the server cluster, the keyword in the set of service information associated with the server cluster is used as the target keyword, and the server mapped by the target keyword; A status configuration module, configured to configure the first server as a server to be managed based on the management task, so that when the server to be managed obtains a service data update package associated with the management task, execute the management task based on the service data update package to obtain a task execution result corresponding to the management task; An information receiving module, configured to receive the task feedback information returned by the server to be managed based on the task execution result.
12. A data processing device, characterized in that, comprising: A task execution module, configured to obtain a service data update package associated with a management task, and execute the management task based on the service data update package to obtain a task execution result corresponding to the management task; the management task is used to instruct the central server to configure a first server as a server to be managed; the management task is associated with the cloud game; The first server is a server obtained by the central server from a server cluster associated with the cloud game when the management task is scanned; The first server is determined by the servers in the server cluster other than the second server mapped by the target keyword; the target keyword is used to represent that there is a service connection between the second server and the game device associated with the cloud game, and there is no such service connection between the first server and the game device; the second server refers to the server mapped by the keyword that matches the target keyword detected in the set of service information reported by all the servers in the server cluster, or when only the keywords reported by the servers with existing service connections are stored in the set of service information associated with the server cluster, the keyword in the set of service information associated with the server cluster is used as the target keyword, and the server mapped by the target keyword; An information feedback module, configured to generate task feedback information based on the task execution result and return the task feedback information to the central server.
13. A computer device, Characterized in that, Comprising: A processor and a memory; The processor is connected to the memory, wherein the memory is used to store a computer program, and the processor is used to call the computer program so that the computer device executes the method according to any one of claims 1-10.
14. A computer-readable storage medium, Characterized in that, A computer program is stored in the computer-readable storage medium, and the computer program is suitable for being loaded and executed by a processor so that a computer device having the processor executes the method according to any one of claims 1-10.
15. A computer program product, Characterized in that, The computer program product includes computer instructions, and the computer instructions are stored in a computer-readable storage medium. The computer instructions are suitable for being read and executed by a processor so that a computer device having the processor executes the method according to any one of claims 1-10.
Citation Information
Patent Citations
Updating method and device of cloud game software, storage medium and cloud game system
CN111309357A
Data processing method, data processing device, computer readable medium and electronic equipment
CN112600914A