CN114210050A - Cloud game running method and system and cloud game server - Google Patents

Cloud game running method and system and cloud game server Download PDF

Info

Publication number
CN114210050A
CN114210050A CN202111524342.XA CN202111524342A CN114210050A CN 114210050 A CN114210050 A CN 114210050A CN 202111524342 A CN202111524342 A CN 202111524342A CN 114210050 A CN114210050 A CN 114210050A
Authority
CN
China
Prior art keywords
cloud game
running
game server
server
cloud
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111524342.XA
Other languages
Chinese (zh)
Inventor
唐治伟
游晶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Huya Technology Co Ltd
Original Assignee
Guangzhou Huya Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Huya Technology Co Ltd filed Critical Guangzhou Huya Technology Co Ltd
Priority to CN202111524342.XA priority Critical patent/CN114210050A/en
Publication of CN114210050A publication Critical patent/CN114210050A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The embodiment of the application provides a cloud game running method and system and a cloud game server, wherein one cloud game server runs cloud games requested by different game terminals through different system user accounts, so that different cloud games can run on the cloud game server at the same time, system level isolation is achieved for remote desktop sessions corresponding to a plurality of different cloud games, and then a remote session environment (remote desktop environment) corresponding to each cloud game has conditions such as an independent desktop, a remote audio device, an independent system object, a context environment and the like. Therefore, different remote desktop environments can independently acquire audio and video and independently receive control input of the system, so that a plurality of cloud games running simultaneously can realize control, distinguished acquisition of audio and video and the like, and the purpose of 'one machine with multiple functions' is further realized on the basis of a software layer, and the problem of system resource waste caused by the fact that one game can monopolize system resources of the whole target server is avoided.

Description

Cloud game running method and system and cloud game server
Technical Field
The application relates to the technical field of cloud computing, in particular to a cloud game running method and system and a cloud game server.
Background
The cloud game is an online game technology based on cloud computing, the game runs on a cloud server based on the running mode of the cloud game, and a rendered game picture is compressed, coded and the like by the cloud server and then transmitted to a user through a network. Based on the mode, the game equipment at the user side can be realized only by basic audio and video media decompression capacity without high-end hardware resources such as a high-end processor and a display card. Therefore, the cloud game is free from the dependence of the client device on hardware, and compared with the traditional game mode, the cloud game can greatly reduce the device cost of a player for playing the game. For the server, only the performance of the server needs to be improved without developing a new host, and for the user, higher image quality can be obtained without purchasing a high-performance computer.
The general process of running a cloud game scene is that a user starts a cloud game, a target server is distributed for the game started by the user through a background scheduling service, the corresponding game can be started on the target server, then a control event of the user is transmitted to the target server, the target server inputs the control event of the user into a system in real time, the game can change corresponding content according to the control input of the system, and finally desktop video and audio are collected and transmitted to a user side through a cloud end to be displayed, so that the interactive scene of the user and the cloud game is achieved.
However, the inventor researches an implementation manner of an existing cloud game, and finds that, in the cloud game manner, a target server cannot run multiple games for multiple users at the same time, and the multiple games run by sharing devices such as a desktop and audio, so that the collection cannot be distinguished. Therefore, the cloud-started game monopolizes the system resources of the whole target server, thereby causing waste of the system resources.
Disclosure of Invention
Based on the above, in a first aspect, an embodiment of the present application provides a cloud game running method, where the method includes:
when a starting request aiming at a target cloud game sent by a game user is received, judging whether the cloud game server has the capability of running the target cloud game;
and when the cloud game server is judged to have the capability of running the target cloud game, starting a system user account from the cloud game server, and running the target cloud game based on the system user account.
Based on a possible implementation manner of the first aspect, when it is determined that the cloud game server has the capability of running the target cloud game, enabling a system user account from the cloud game server, and running the target cloud game based on the system user account includes:
generating a system user account to be enabled for the game user when the cloud game server has the capability of running the target cloud game;
enabling the generated system user account and establishing a remote desktop connection between the cloud game server and the game terminal of the game user based on the system user account;
and running the target cloud game in a session environment corresponding to the remote desktop connection.
Based on one possible implementation manner of the first aspect, before the running of the target cloud game, the method further includes:
for each cloud game in the cloud game server, creating a plurality of system user accounts in advance according to the running resource amount of running resources required by each cloud game and the total running resource amount of the cloud game server;
when the cloud game server is judged to have the capability of running the target cloud game, starting a system user account from the cloud game server, and running the target cloud game based on the system user account, wherein the method comprises the following steps:
when the cloud game server has the capability of running the target cloud game, starting one system user account corresponding to the target cloud game in the plurality of system user accounts which are created in advance according to the target cloud game;
establishing a remote desktop connection between the cloud gaming server and the gaming terminal of the game user based on the initiated system user account;
and running the target cloud game in a session environment corresponding to the remote desktop connection.
Based on a possible implementation manner of the first aspect, determining whether the cloud game server has a capability of running the target cloud game includes:
judging whether an un-started system user account exists in the cloud game server, and judging that the cloud game server has the capability of running the target cloud game when the un-started system user account exists in the cloud game server; otherwise, when the cloud game server does not have the un-started system user account, judging that the cloud game server does not have the capability of running the target cloud game.
Based on a possible implementation manner of the first aspect, determining whether the cloud game server has a capability of running the target cloud game includes:
acquiring the current residual running resource amount of the running resources of the cloud game server and the running resource amount required by the target cloud game;
judging whether the cloud game server has the capability of running the target cloud game or not according to the current residual running resource amount of the running resources of the cloud game server and the running resource amount required by the target cloud game;
wherein the run resources include GPU resources.
Based on one possible implementation manner of the first aspect, before the running of the target cloud game, the method further includes:
and loading and operating a preset remote desktop environment configuration file to perform remote desktop environment configuration on an operating system of the cloud game server, so that the operating system can support multi-path remote desktop connection and start a remote GPU coding function and a remote rendering function of a remote desktop environment, and different cloud games can be operated in session environments corresponding to different system user accounts.
Based on a possible implementation manner of the first aspect, the method further includes:
and after the target cloud game is operated, permission configuration is carried out on the system user account, so that the cloud game acquires environment information required by the cloud game in a corresponding session environment.
Based on a possible implementation manner of the first aspect, when it is determined that the cloud game server has the capability of running the target cloud game, enabling a system user account from the cloud game server, and running the target cloud game based on the system user account, further includes:
and after the target cloud game is run based on the system user account, starting a session service for the system user account, so that the remote desktop connection between the cloud game server and the game terminal of the game user established based on the system user account is kept in an active state.
In a second aspect, an embodiment of the present application further provides a cloud game running system, which is applied to a cloud game server, where the cloud game running system includes:
the request module is used for receiving a starting request aiming at a target cloud game sent by a game user and judging whether the cloud game server has the capability of running the target cloud game or not when the starting request is received; and
and the running module is used for starting a system user account from the cloud game server and running the target cloud game based on the system user account when the cloud game server is judged to have the capability of running the target cloud game.
In a third aspect, an embodiment of the present application further provides a cloud game server, including a machine-readable storage medium and one or more processors, where the machine-readable storage medium stores machine-executable instructions, and when the machine-executable instructions are executed by the one or more processors, the cloud game server implements the above-mentioned cloud game running method.
Based on the above content of the embodiment of the present application, compared with the prior art, in the cloud game running method, the cloud game running system and the cloud game server provided in the embodiment of the present application, one cloud game server runs cloud games requested by different game terminals using different system user accounts, so that a scheme that different cloud games run on the cloud game server at the same time is implemented, and system-level isolation is implemented for remote desktop sessions corresponding to a plurality of different cloud games, so that a remote session environment (remote desktop environment) corresponding to each cloud game has conditions such as an independent desktop, a remote audio device, an independent system object, a context environment and the like. Therefore, different remote desktop environments can independently acquire audio and video, independently receive control input of a system and the like, so that a plurality of single-instance cloud games running simultaneously can realize control, distinguished acquisition of audio and video and the like, and further realize the purpose of 'one machine with multiple functions' based on a software layer, so as to solve the problem of system resource waste caused by the fact that one game can monopolize system resources of the whole target server in the prior art.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are required to be used in the embodiments will be briefly described below, it should be understood that the following drawings only illustrate some embodiments of the present application and therefore should not be considered as limiting the scope, and for those skilled in the art, other related drawings can be obtained from the drawings without inventive effort.
Fig. 1 is a schematic view of an application scenario of a cloud game provided in an embodiment of the present application.
Fig. 2 is a schematic flow chart of a cloud game running method provided in an embodiment of the present application.
Fig. 3 is a schematic flow chart of the sub-steps of step S200 in fig. 2.
Fig. 4 is a second schematic flow chart of the sub-steps of step S200 in fig. 2.
Fig. 5 is an exemplary schematic diagram of a cloud game server provided in an embodiment of the present application running different cloud games through different system user accounts.
Fig. 6 is a schematic diagram of a cloud game server for implementing the cloud game running method according to an embodiment of the present application.
Fig. 7 is a functional module schematic diagram of a cloud game running system provided in an embodiment of the present application.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are some embodiments of the present application, but not all embodiments. The components of the embodiments of the present application, generally described and illustrated in the figures herein, can be arranged and designed in a wide variety of different configurations.
Thus, the following detailed description of the embodiments of the present application, presented in the accompanying drawings, is not intended to limit the scope of the claimed application, but is merely representative of selected embodiments of the application. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
It should be noted that: like reference numbers and letters refer to like items in the following figures, and thus, once an item is defined in one figure, it need not be further defined and explained in subsequent figures.
In the description of the present application, the terms "first," "second," "third," and the like are used solely to distinguish one from another and are not to be construed as indicating or implying relative importance.
In the description of the present application, it is further noted that, unless expressly stated or limited otherwise, the terms "disposed," "mounted," "connected," and "connected" are to be construed broadly, e.g., as meaning either a fixed connection, a removable connection, or an integral connection; can be mechanically or electrically connected; they may be connected directly or indirectly through intervening media, or they may be interconnected between two elements. The specific meaning of the above terms in the present application can be understood in a specific case by those of ordinary skill in the art.
Before describing the related technical solutions provided in the embodiments of the present application in detail, in order to more clearly understand the related technical solutions of the embodiments of the present application, first, related technical terms related to the embodiments of the present application are described.
Cloud computing (cloud computing) is an internet-based computing approach by which shared software and hardware resources and information can be provided to computers and other devices on demand, and the network providing the resources is referred to as the "cloud".
Cloud game: the game client runs at the cloud end and completes an interactive game mode with the user through the network instruction and the audio and video stream.
Remote Desktop Protocol (RDP): a multi-channel protocol for a user side computer (client or local computer) to connect remotely to a computer (server or remote computer) that provides terminal services.
The Resource Manager (Resource Manager, called Resource Manager for short) schedules the allocation service, and decides whether to allocate the game running environment according to the available resources, which can be understood as a running thread.
A system user: a user for logging in a set operating system (such as a Windows operating system) can be added to the system control panel.
The resource monitoring program (Console program) is a program or thread for detecting running resources of computers such as processes Cpu and Gpu in real time and reporting resource information to the resource manager.
Next, before describing a cloud game running method provided in an embodiment of the present application, a running environment for implementing the cloud game running method will be described. Fig. 1 is a schematic view of an application scenario of a cloud game provided in an embodiment of the present application. The application scenario includes the cloud game server 100 and the game terminal 200. The cloud game server 100 may be an independent physical server, a server cluster or a distributed system formed by a plurality of physical servers, or a cloud server providing basic cloud computing services such as a cloud service, a cloud database, cloud computing, a cloud function, cloud storage, a network service, cloud communication, a middleware service, a domain name service, a security service, a Content Delivery Network (CDN) service, and a big data and artificial intelligence platform.
The game terminal 200 may access the cloud game server 100 through the network 300 to use the cloud game service provided by the cloud game server 100, for example, by remotely connecting the cloud game server 100 to start a cloud game for a corresponding user to play.
The game terminal 200 may be, but is not limited to, a notebook computer, a personal computer, a smart television, a smart phone, a tablet computer, and the like. In order to use the cloud game service provided by the cloud game server 100, the game terminal 200 may download a corresponding game client from the cloud game server 100 through the network 300, so that a game user may access the cloud game server 100 through the game client to perform a cloud game. The network 300 may be a wired network or a wireless network, and the application is not limited thereto.
Fig. 2 is a schematic flow chart of a cloud game running method according to an embodiment of the present application. In this embodiment, the cloud game running method may be executed and implemented by the cloud game server. It should be understood that, in the cloud game operating method provided in this embodiment, sequences of some steps included in the cloud game operating method may be interchanged according to actual needs in actual implementation, or some steps may be omitted or deleted, which is not specifically limited in this embodiment.
The following describes in detail, by way of example, each step of the cloud game running method according to the present embodiment with reference to fig. 2, and in detail, as shown in fig. 2, the method may include related contents described in step S100 and step S200 below.
Step S100, when a start request for a target cloud game sent by a game user is received, determining whether the cloud game server 100 has a capability of running the target cloud game.
In this embodiment, the game user may establish an RDP connection (Remote Desktop connection) with the cloud game server 100 through the game terminal 200 based on a Remote Desktop Protocol (RDP), and after the RDP connection is established, the cloud game server 100 may provide a Remote Desktop for the game terminal 200, the Remote Desktop may present various cloud game icons that can be used, and the game user may initiate a start request for starting the cloud game through an operation of the cloud game icon by using an input and output device such as a keyboard, a mouse, or a joystick. Of course, the above process is only an exemplary process for initiating a start request of a cloud game, and in other embodiments, a game user may initiate a start request of the cloud game in a different manner, which is not limited in this embodiment.
In addition, in a possible implementation of this embodiment, the current remaining operating resource amount of the operating resource of the cloud game server 100 and the operating resource amount required by the target cloud game may be obtained first, and then whether the cloud game server 100 has the capability of operating the target cloud game may be determined according to the current remaining operating resource amount of the operating resource of the cloud game server 100 and the operating resource amount required by the target cloud game. For example, the current remaining running resource amount of the running resource may be obtained by a console program as shown in fig. 5, and when the current remaining running resource amount of the cloud game server 100 is greater than the running resource amount required by the target cloud game, it is determined that the cloud game server has the capability of running the target cloud game. On the contrary, when the current remaining operating resource amount of the cloud game server 100 is not greater than the operating resource amount required by the target cloud game, it is determined that the cloud game server does not have the capability of operating the target cloud game.
Step S200, when it is determined that the cloud game server 100 has the capability of running the target cloud game, starting a system user account from the cloud game server 100, and running the target cloud game based on the system user account.
In one possible implementation manner of this embodiment, as shown in fig. 3, based on step S200, the following substeps S201-S203 may be implemented.
In sub-step S201, when the cloud game server 100 has the capability of running the target cloud game, a system user account to be enabled is generated for the game user.
In the substep S202, the generated system user account is enabled and a remote desktop connection between the cloud game server 100 and the game terminal 200 of the game user is established based on the system user account.
And a substep S203, operating the target cloud game in a session environment corresponding to the remote desktop connection, and further providing a cloud game service for the game user.
Further, in another possible implementation manner of this embodiment, before the cloud game server 100 provides a game user with a cloud game service, for each cloud game that may be executed on the cloud game server 100, a plurality of system user accounts may be created in advance according to an operation resource amount of an operation resource required by each cloud game and a total operation resource amount of the cloud game server 100. Illustratively, the main running resource required for running the cloud game is a Graphics Processing Unit (GPU) resource, and the GPU resource is taken as an example below. Assuming that the total amount of GPU resources of the cloud game server 100 is 100%, the cloud game server 100 may provide cloud game services of game a, game B, and game C for game users, respectively, where game a requires 40% of GPU resources, game B requires 30% of GPU resources, and game C requires 20% of GPU resources, then this embodiment may create three system user accounts, such as user account a, user account B, and user account C, on the cloud game server 100 in advance; then, each of the created system user accounts is respectively associated with one cloud game in the cloud game server 100, for example, a user account a is associated with a game a, a user account B is associated with a game B, and a user account C is associated with a game C.
On the basis of the above, as shown in fig. 4, in another possible implementation manner, the above step S200 can be implemented by the following sub-steps S211 to S213, which are exemplarily described as follows.
Step S211, when the cloud game server 100 has the capability of running the target cloud game, starting one system user account corresponding to the target cloud game from among a plurality of system user accounts created in advance according to the target cloud game.
Step S212, a remote desktop connection between the cloud game server 100 and the game terminal 200 of the game user is established based on the started system user account.
Step S213, running the target cloud game in a session environment corresponding to the remote desktop connection, so as to provide a cloud game service for the game user to run the target cloud game.
In addition, after the target cloud game is executed, authority configuration may be performed on the system user account (for example, account authority is raised to administrator authority), so that the cloud game performs collection of environment information required by the cloud game in the session environment, for example, the environment information includes multimedia information such as audio information and video information.
As an example, please refer to fig. 5, which is an exemplary schematic diagram of the cloud game server 100 running different cloud games through different system user accounts according to the embodiment of the present application.
First, during the operation of the cloud game server 100, a resource monitoring program (for example, a Console program or a thread for monitoring remaining operating resources) is used to monitor the currently available remaining operating resources of the cloud game server 100 in real time, and report the currently available remaining operating resources to a resource manager (ResourceMgr) of the cloud game server 100 in real time, where since the main resource of game operation is Gpu resource, the operating resource is also assumed to be Gpu resource, and the description is presented with Gpu resource as a representative. Of course, it should be understood that the operation resources may also include other operation resources, such as CPU resources, bandwidth resources, and the like, but the operation resources that generally affect the simultaneous operation of multiple cloud games are mainly GPU resources, so this embodiment is exemplarily described by taking GPU resources as a representative.
Then, when player a (player a) initiates a start request of Game a (Game a) to the cloud Game server 100, the environment of the system User account 1(User1) is allocated by ResourceMgr to run Game a according to the available Gpu resources of the cloud Game server 100. Here, assuming that the User1 runs Game a and consumes Gpu% of the resource, the console program reports Gpu resource usage to ResourceMgr in real time.
Next, when player B (player B) initiates a request for starting Game B (Game B) to the cloud Game server 100, it is assumed that Game B requires Gpu resource of 30%, since Game a still has Gpu resource of 60%, resource mcr can schedule system User account 2(User 2) corresponding to Game B to run Game B, and at this time, the cloud Game server 100 reported by the console program still has Gpu resource of 30% left in the whole system
Finally, when player C (player C) initiates a start request of Game C (Game C) to the cloud Game server 100, if Gpu resources required by the Game C to be executed are consumed by less than 30%, ResourceMgr may execute the corresponding Game C by scheduling system User account 3(User 3) corresponding to the Game C, and if Gpu resources required by the Game C to be executed are greater than 30%, the Game C needs to be scheduled to another cloud computing server for execution. Or, when the cloud game server 100 receives a game start request from another player after all of the User1, the User 2, and the User 3 are scheduled, the cloud game server needs to schedule the corresponding target cloud game service to another cloud computing server with the remaining resources to run.
Further, in another possible implementation manner of the step S100, based on the scheme that a plurality of system user accounts are created in advance, whether the cloud game server 100 has the capability of running the target cloud game may be determined by determining whether there is an un-started system user account in the cloud game server 100. For example, when there is an un-activated system user account in the cloud game server 100, it is determined that the cloud game server 100 has the capability of running the target cloud game; on the contrary, when there is no un-started system user account in the cloud game server 100, it is determined that the cloud game server 100 has no capability of running the target cloud game.
To sum up, through a cloud game server 100, the embodiment of the present application adopts different system user accounts and different game terminals to establish remote desktop connections, thereby implementing a scheme in which different cloud games run simultaneously on the cloud game server 100, implementing system-level isolation of remote desktop sessions corresponding to a plurality of different cloud games, and enabling a remote session environment (remote desktop environment) corresponding to each cloud game to have conditions such as an independent desktop, a remote audio device, an independent system object, a context environment, and the like, so that different remote desktop environments can independently acquire audio and video, and independently receive control input of a system, and the like. Therefore, the cloud games of a plurality of single instances running simultaneously can realize the distinguishing and collecting of operation and control, audio and video and the like, further realize the purpose of 'one machine with multiple opening' on the basis of a software layer, and avoid the problem of system resource waste caused by one game monopolizing the system resources of the whole target server.
In addition, the remote session multi-development scheme can flexibly allocate different combination schemes according to business requirements, so that the full utilization of server resources is realized, the resource waste is avoided, and few games (such as hero alliances) which are limited to be started in a remote desktop environment can still be allocated to a remote control session (game session) to run through a resource allocation strategy.
Further, the inventor conducts research and analysis on some possible cloud game implementation schemes, and finds that, in order to achieve the purpose of "one machine with multiple on", in one possible implementation scheme, a Virtual Machine (VM) technology may also be adopted, and a virtual graphics card segmentation technology provided by a graphics card manufacturer is used to segment various hardware resources (including GPU resources) of the cloud game server 100 into each independent virtual machine, and then different virtual machines respectively run different cloud games to achieve the purpose of "one machine with multiple on". However, based on this implementation, on one hand, the adaptation virtual graphics segmentation technique needs to use an enterprise-level graphics, which results in an increase in hardware cost, and on the other hand, when the segmentation granularity is too large (generally, 1/4 and 1/2 specifications), the hardware resources are segmented into different virtual machines, which still causes a problem of resource waste due to surplus resources.
In addition, the virtual machine technology cannot realize the running acceleration of the game by sharing resources by the cloud game. For example, when the number of cloud games running in the cloud game server 100 is small, for example, one cloud game server 100 includes three Virtual Machines (VMs), when only a part of the virtual machines (e.g., one VM) is running a cloud game (e.g., game a and game B), the running cloud game can only use the hardware resources corresponding to the virtual machine where the running cloud game is located, and cannot use the idle hardware resources of other virtual machines to achieve game acceleration. In contrast, based on the system-level isolation of different cloud games implemented by the system user account in the embodiment of the present application, when different cloud games are resource sharing implemented on the premise that the running resources of the cloud game server 100 meet the requirements, and when the number of the cloud games run by the cloud game server 100 is small, the running cloud games can fully use the idle resources of the cloud game server 100 to accelerate the game, and on the premise that "one machine is opened more", the full use of the server resources can be implemented. Therefore, the scheme provided by the embodiment of the application also has obvious advantages compared with the implementation scheme of the VM.
Further, in the embodiment of the present application, the operating system used by the cloud game server 100 is preferably a Windows system that can support simultaneous remote access by multiple system users. Of course, in other embodiments, other operating systems that support simultaneous remote access by multiple system users may be used.
In this embodiment, taking a Windows system as an example, in order to support simultaneous remote access of multiple users, before the target cloud game is run, the running method of the cloud game provided in this embodiment further includes the following steps of system configuration, which are exemplarily described as follows.
The operating system of the cloud game server 100 may be configured with a remote desktop environment by loading and running a preset remote desktop environment configuration file, so that the operating system may support multi-path remote desktop connection and start a remote GPU encoding function and a remote rendering function of a remote desktop environment. In a possible implementation manner, the remote desktop environment configuration file may include a plurality of configuration scripts, for example, a Python script or powershell script that includes configuration information of configuration items and corresponding configuration parameters (for example, a remote desktop connection item and connection parameters corresponding to the remote desktop connection item, a remote refresh frame rate (for example, 60FPS), and the like) for performing remote desktop environment configuration for the operating system. The purpose of running the remote desktop environment configuration file is to enable the operating system of the cloud game server 100 to allow a plurality of remote desktop connections (rdpsessuion) to run simultaneously, and to open the capability of the remote desktop environment to support remote GPU encoding and remote rendering, so that different cloud games can run in session environments corresponding to different system user accounts.
In addition, in order to enable the cloud game running in the session environment corresponding to different system user accounts through the remote desktop session to continuously keep the active state for normal running, in this embodiment, in step S200, after the target cloud game is run based on the system user account, a session service may be further enabled for the system user account, so that the remote desktop connection between the cloud game server 100 and the game terminal 200 of the game user, which is established based on the system user account, keeps the active state. The session service may be automatically closed after the game user exits the running cloud game. In this way, in a scenario where a plurality of cloud games are simultaneously run based on the cloud game server 100, one session service may be enabled on a per cloud game basis, so that a remote desktop connection corresponding to each cloud game is continuously kept in an active state, so that each cloud game can run normally based on the cloud game server.
Referring to fig. 6, fig. 6 is a schematic diagram of a cloud game server 100 for implementing the cloud game running method according to an embodiment of the present disclosure. In detail, the cloud game server 100 may include one or more processors 110, a machine-readable storage medium 120, and a cloud game execution system 130. The processor 110 and the machine-readable storage medium 120 may be communicatively connected via a system bus. The machine-readable storage medium 120 stores machine-executable instructions, and the processor 110 implements the cloud game execution method described above by reading and executing the machine-executable instructions in the machine-readable storage medium 120.
The machine-readable storage medium 120 may be, but is not limited to, a Random Access Memory (RAM), a Read Only Memory (ROM), a Programmable Read-Only Memory (PROM), an Erasable Read-Only Memory (EPROM), an electrically Erasable Read-Only Memory (EEPROM), and the like. The machine-readable storage medium 120 is used for storing a program, and the processor 110 executes the program after receiving an execution instruction.
The processor 110 may be an integrated circuit chip having signal processing capabilities. The Processor may be, but is not limited to, a general-purpose Processor, and includes a Central Processing Unit (CPU), a Network Processor (NP), a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), and the like.
Fig. 7 is a schematic diagram of functional modules of the cloud game running system 130. In this embodiment, the cloud game running system 130 may include one or more software functional modules running on the cloud game server, and these software functional modules may be stored in the machine-readable storage medium 120 in the form of a computer program, so that these software functional modules, when called and executed by the processor 130, may implement the cloud game running method according to the embodiment of the present application.
In detail, the cloud game execution system 130 includes a request module 131 and an execution module 132.
The request module 131 is configured to receive a start request for a target cloud game sent by a game user, and when receiving the start request, determine whether the cloud game server has a capability of running the target cloud game. In this embodiment, the request module 131 is configured to execute the step S100 in the above method embodiment, and for details of the request module 131, reference may be made to the above detailed description of the step S100, which is not repeated herein.
The running module 132 is configured to enable a system user account from the cloud game server and run the target cloud game based on the system user account when it is determined that the cloud game server has the capability of running the target cloud game. The running module 132 may implement scheduling of a system user account by calling a resource manager (resourceMgr) as shown in fig. 5 to run the target cloud game. In this embodiment, the operation module 132 is configured to execute the step S200 in the foregoing method embodiment, and for the detailed content of the operation module 132, reference may be made to the detailed description of the step S200, which is not described in detail herein.
In addition, as further shown in fig. 7, the cloud game running system 130 may further include a configuration module 133, where the configuration module 133 performs remote desktop environment configuration on the operating system of the cloud game server 100 by loading and running a preset remote desktop environment configuration file before running the target cloud game, so that the operating system may support multiple remote desktop connections and start a remote GPU encoding function and a remote rendering function of a remote desktop environment. In a possible implementation manner, the remote desktop environment configuration file may include a plurality of configuration scripts, for example, a Python script or powershell script that includes configuration items for performing remote desktop environment configuration for the operating system and configuration information of corresponding configuration parameters (for example, a remote desktop connection item and connection parameters corresponding to the remote desktop connection item, and the like). The purpose of running the remote desktop environment configuration file is to allow an operating system of the cloud game server 100 to allow a plurality of remote desktop connections (rdpsessuion) to run simultaneously, and start up the remote desktop environment to support the remote GPU encoding and rendering capability, so that different cloud games can run in session environments corresponding to different system user accounts.
To sum up, according to the cloud game operation method, the cloud game operation system, and the cloud game server provided in the embodiments of the present application, through one cloud game server 100, remote desktop connections are established with different game terminals by using different system user accounts, so as to implement a scheme in which different cloud games are simultaneously operated on the cloud game server 100, thereby implementing system-level isolation of remote desktop sessions corresponding to a plurality of different cloud games, and a remote session environment (remote desktop environment) corresponding to each cloud game has conditions such as an independent desktop, a remote audio device, an independent system object, a context environment, and the like, so that different remote desktop environments can independently acquire audio and video, and independently receive control input of a system, and the like. Based on the cloud game, the cloud game of a plurality of single instances running simultaneously can realize the distinguishing and collecting of operation and control, audio and video and the like, and further realize the purpose of 'one machine with multiple functions' based on a software layer. Therefore, the problem of system resource waste caused by the fact that one game monopolizes the system resources of the whole target server in the prior art can be solved.
In the embodiments provided in the present application, it should be understood that the disclosed apparatus and method may be implemented in other ways. The apparatus embodiments described above are merely illustrative, and for example, the flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of apparatus, methods and computer program products according to various embodiments of the present application. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
In addition, functional modules in the embodiments of the present application may be integrated together to form an independent part, or each module may exist separately, or two or more modules may be integrated to form an independent part.
The functions, if implemented in the form of software functional modules and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application or portions thereof that substantially contribute to the prior art may be embodied in the form of a software product stored in a storage medium and including instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes.
It is noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
The above description is only for various embodiments of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily conceive of changes or substitutions within the technical scope of the present application, and all such changes or substitutions are included in the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (10)

1. A cloud game running method is applied to a cloud game server, and is characterized by comprising the following steps:
when a starting request aiming at a target cloud game sent by a game user is received, judging whether the cloud game server has the capability of running the target cloud game;
and when the cloud game server is judged to have the capability of running the target cloud game, starting a system user account from the cloud game server, and running the target cloud game based on the system user account.
2. The cloud game execution method of claim 1, wherein enabling a system user account from the cloud game server when it is determined that the cloud game server has the capability to execute the target cloud game, and executing the target cloud game based on the system user account, comprises:
generating a system user account to be enabled for the game user when the cloud game server has the capability of running the target cloud game;
enabling the generated system user account and establishing a remote desktop connection between the cloud game server and the game terminal of the game user based on the system user account;
and running the target cloud game in a session environment corresponding to the remote desktop connection.
3. The cloud game execution method of claim 1, wherein prior to executing the target cloud game, the method further comprises:
for each cloud game in the cloud game server, creating a plurality of system user accounts in advance according to the running resource amount of running resources required by each cloud game and the total running resource amount of the cloud game server;
when the cloud game server is judged to have the capability of running the target cloud game, starting a system user account from the cloud game server, and running the target cloud game based on the system user account, wherein the method comprises the following steps:
when the cloud game server has the capability of running the target cloud game, starting one system user account corresponding to the target cloud game in the plurality of system user accounts which are created in advance according to the target cloud game;
establishing a remote desktop connection between the cloud gaming server and the gaming terminal of the game user based on the initiated system user account;
and running the target cloud game in a session environment corresponding to the remote desktop connection.
4. The cloud game execution method of claim 3, wherein determining whether the cloud game server has the capability to execute the target cloud game comprises:
judging whether an un-started system user account exists in the cloud game server, and judging that the cloud game server has the capability of running the target cloud game when the un-started system user account exists in the cloud game server; otherwise, when the cloud game server does not have the un-started system user account, judging that the cloud game server does not have the capability of running the target cloud game.
5. The cloud game execution method of any of claims 1-3, wherein determining whether the cloud game server has the capability to execute the target cloud game comprises:
acquiring the current residual running resource amount of the running resources of the cloud game server and the running resource amount required by the target cloud game;
judging whether the cloud game server has the capability of running the target cloud game or not according to the current residual running resource amount of the running resources of the cloud game server and the running resource amount required by the target cloud game;
wherein the run resources include GPU resources.
6. The cloud game execution method of any of claims 1-4, wherein prior to executing the target cloud game, the method further comprises:
and loading and operating a preset remote desktop environment configuration file to perform remote desktop environment configuration on an operating system of the cloud game server, so that the operating system can support multi-path remote desktop connection and start a remote GPU coding function and a remote rendering function of a remote desktop environment, and different cloud games can be operated in session environments corresponding to different system user accounts.
7. The cloud game execution method of any one of claims 1-4, wherein the method further comprises:
and after the target cloud game is operated, permission configuration is carried out on the system user account, so that the cloud game acquires environment information required by the cloud game in a corresponding session environment.
8. The cloud game execution method of any one of claims 1-4, wherein when it is determined that the cloud game server has the capability to execute the target cloud game, enabling a system user account from the cloud game server and executing the target cloud game based on the system user account, further comprising:
and after the target cloud game is run based on the system user account, starting a session service for the system user account, so that the remote desktop connection between the cloud game server and the game terminal of the game user established based on the system user account is kept in an active state.
9. A cloud game running system is applied to a cloud game server and is characterized by comprising:
the request module is used for receiving a starting request aiming at a target cloud game sent by a game user and judging whether the cloud game server has the capability of running the target cloud game or not when the starting request is received; and
and the running module is used for starting a system user account from the cloud game server and running the target cloud game based on the system user account when the cloud game server is judged to have the capability of running the target cloud game.
10. A cloud game server comprising a machine-readable storage medium and one or more processors, the machine-readable storage medium storing machine-executable instructions that, when executed by the one or more processors, implement the cloud game execution method of any one of claims 1-8.
CN202111524342.XA 2021-12-14 2021-12-14 Cloud game running method and system and cloud game server Pending CN114210050A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111524342.XA CN114210050A (en) 2021-12-14 2021-12-14 Cloud game running method and system and cloud game server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111524342.XA CN114210050A (en) 2021-12-14 2021-12-14 Cloud game running method and system and cloud game server

Publications (1)

Publication Number Publication Date
CN114210050A true CN114210050A (en) 2022-03-22

Family

ID=80702075

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111524342.XA Pending CN114210050A (en) 2021-12-14 2021-12-14 Cloud game running method and system and cloud game server

Country Status (1)

Country Link
CN (1) CN114210050A (en)

Similar Documents

Publication Publication Date Title
JP7066784B2 (en) Game state related to cloud gaming Save, transfer and resume
US9146884B2 (en) Push pull adaptive capture
CN107231815B (en) System and method for graphics rendering
CN108854055A (en) Virtualizing graphics processing method and system based on cloud for remote display
EP4223379A1 (en) Cloud gaming processing method, apparatus and device, and storage medium
CN111643889A (en) Game control method, device, storage medium and electronic equipment
CN109726076B (en) Applet life cycle management method and system
CN113157418B (en) Server resource allocation method and device, storage medium and electronic equipment
CN115065684B (en) Data processing method, apparatus, device and medium
CN113181646A (en) Game data method and device, electronic equipment and storage medium
CN113230660B (en) Application program updating method, device and equipment
WO2020232467A1 (en) Artificial intelligence based video game state detection
US20230036515A1 (en) Control method for game accounts, apparatus, medium, and electronic device
CN114116092A (en) Cloud desktop system processing method, cloud desktop system control method and related equipment
CN115445194A (en) Rendering method, device and equipment of game and storage medium
US11848842B2 (en) Network storage game allocation based on artificial intelligence
US11689757B2 (en) Method and apparatus for providing video streams
US11445246B1 (en) Activity-based selection of replacement content
CN111026406A (en) Application running method, device and computer readable storage medium
CN114210050A (en) Cloud game running method and system and cloud game server
CN112764837B (en) Data reporting method, device, storage medium and terminal
Zorrilla et al. SaW: Video analysis in social media with web-based mobile grid computing
CN113472638B (en) Edge gateway control method, system, device, electronic equipment and storage medium
CN115364477A (en) Cloud game control method and device, electronic equipment and storage medium
CN114146406A (en) Method and device for allocating operation resources, electronic equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination