CN114053689A - Service scheduling method, device, equipment and storage medium for cloud game - Google Patents

Service scheduling method, device, equipment and storage medium for cloud game Download PDF

Info

Publication number
CN114053689A
CN114053689A CN202010778990.7A CN202010778990A CN114053689A CN 114053689 A CN114053689 A CN 114053689A CN 202010778990 A CN202010778990 A CN 202010778990A CN 114053689 A CN114053689 A CN 114053689A
Authority
CN
China
Prior art keywords
information
game
server
service
regional
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
CN202010778990.7A
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.)
Xiamen Yaji Software Co Ltd
Original Assignee
Xiamen Yaji Software 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 Xiamen Yaji Software Co Ltd filed Critical Xiamen Yaji Software Co Ltd
Priority to CN202010778990.7A priority Critical patent/CN114053689A/en
Publication of CN114053689A publication Critical patent/CN114053689A/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/35Details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/32Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using local area network [LAN] connections
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/71Game security or game management aspects using secure communication between game devices and game servers, e.g. by encrypting game data or authenticating players

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The application relates to the technical field of computers, and discloses a service scheduling method, device, equipment and storage medium for cloud games. The service scheduling method of the cloud game applied to the central server comprises the following steps: receiving a cloud game request sent by a user side, wherein the cloud game request comprises a channel identifier, a game identifier and a user side IP address; obtaining region information and operator information of a user side based on the IP address; selecting at least one regional server based on the channel identification; sending a service scheduling request to at least one regional service terminal, wherein the service scheduling request comprises a channel identifier, a game identifier, regional information of a user terminal and operator information; receiving a service scheduling response of at least one regional server, wherein the service scheduling response comprises game server information or null information; and selecting one game server side information or empty information and sending the game server side information or the empty information to the user side. According to the method, the user side process is simplified, the safety of cloud resources and the network quality of cloud game connection are improved, and the cloud game presentation effect is improved.

Description

Service scheduling method, device, equipment and storage medium for cloud game
Technical Field
The present application relates to the field of computer technologies, and in particular, to a cloud game service scheduling method, apparatus, device, and storage medium.
Background
The cloud game is that a game instance originally running at a user side is moved to a cloud game server side to run, the user side only transmits the operation of the user side to the cloud game server side in real time through a network, so that the game instance of the cloud game server side responds to the operation, the running result of the game is transmitted to the user side in real time, and pictures and sound are displayed on the user side. Therefore, the network quality between the user terminal and the cloud game service terminal directly affects the final presentation effect of the cloud game.
Since the Game instance is actually provided to the user end with the cloud Game Service component (GS) running on the cloud Game Service end, whether a single server or a server cluster, has multiple GS running thereon. Therefore, the network quality between the user side and the cloud game server side relates to the service resource scheduling of the cloud game server side, i.e., the scheduling of the GS.
At present, in cloud game implementation, a service resource scheduling mode of a cloud game service end is mainly as follows: and selecting an available GS according to the load condition of the GS, and dispatching the GS to the user side. However, the method only considers the factor of whether the cloud game service end has the available GS, only can ensure that the available GS is scheduled for the user end, and does not consider the network quality between the user end and the selected GS, so that the presentation effect of the cloud game cannot be ensured.
Disclosure of Invention
The purpose of the present application is to solve at least one of the above technical drawbacks, and to provide the following solutions:
in a first aspect, a service scheduling method for a cloud game is provided, where the method is applied to a central server, where the central server manages a plurality of regional servers, and each of the regional servers manages a plurality of game servers, and the method includes:
receiving a cloud game request sent by a user side, wherein the cloud game request comprises a channel identifier, a game identifier and an IP address of the user side;
obtaining region information and operator information of the user side based on the IP address;
selecting at least one regional server based on the channel identification;
sending a service scheduling request to the at least one regional service terminal, wherein the service scheduling request comprises the channel identifier, the game identifier, the region information and the operator information;
receiving a service scheduling response of the at least one regional server, wherein the service scheduling response comprises game server information or null information;
and selecting one piece of game server information and sending a cloud game response to the user side, wherein the cloud game response comprises the selected game server information or the null information.
In some embodiments, selecting at least one regional server based on the channel identification comprises:
based on the channel identification, performing first selection on a plurality of regional service terminals managed by the central service terminal;
prioritizing results of the first selection based on the region information and the operator information;
and performing second selection based on the priority sequence to obtain at least one regional service end.
In some embodiments, prioritizing the results of the first selection based on the geographic information and the operator information comprises:
if the region information and the operator information of the user side are the same as those of the regional service side, determining the corresponding regional service side as a first priority;
if the regional information of the user side is the same as that of the regional service side, or the operator information of the user side is the same as that of the regional service side, determining that the corresponding regional service side is of a second priority;
if the region information and the operator information of the user side are different from those of the regional service side, determining that the corresponding regional service side is the third priority;
wherein the first priority, the second priority, and the third priority are sequentially decreased.
In some embodiments, if the user side and the regional service side have the same regional information or the user side and the regional service side have the same operator information, determining the priority of the corresponding regional service side includes:
if the regional information of the user side is different from that of the regional service side, and the operator information of the user side is the same as that of the regional service side, determining the priority of the corresponding regional service side as a fourth priority;
if the regional information of the user side is the same as that of the regional service side, and the operator information of the user side is different from that of the regional service side, determining the priority of the corresponding regional service side as a fifth priority;
wherein the fourth priority is higher than the fifth priority.
In some embodiments, sending the service scheduling request to the at least one regional server comprises:
simultaneously sending a service scheduling request to the at least one regional service end; or the like, or, alternatively,
and sending a service scheduling request to each regional service terminal in sequence based on the priority of the at least one regional service terminal.
In some embodiments, the method further comprises:
and when the service scheduling request is sent to each regional server in sequence, if a service scheduling response with the game server information is received, stopping sending the service scheduling request.
In some embodiments, the selecting one game server information comprises:
and selecting the received first game server information.
In some embodiments, the selecting one game server information comprises:
based on the region information, the operator information and the receiving time of each game server information, carrying out priority sequencing on each game server information;
and selecting the game server information with the highest priority.
In some embodiments, the method further comprises:
and for the information of the unselected game server, sending state modification information to the corresponding regional server, wherein the state modification information is used for indicating the regional server to modify the state of the corresponding game server to be idle.
In a second aspect, a service scheduling method for a cloud game is provided, and is applied to a regional server, where the regional server manages a plurality of game servers and maintains state information of the plurality of game servers, and the method includes:
receiving a service scheduling request sent by a central server, wherein the service scheduling request comprises a channel identifier, a game identifier, regional information of a user side and operator information;
selecting a game server based on the service scheduling request including channel identification, game identification, user terminal region information and operator information, the channel identification, the region information and the operator information of the plurality of game servers, and the state information of the plurality of game servers;
and sending a service scheduling response to the central server, wherein the service scheduling response comprises the selected game server information or the null information.
In some embodiments, selecting a game server comprises:
selecting a game server which has the same channel identification as the channel identification in the service scheduling request and idle state information and can run a game corresponding to the game identification;
based on the region information and the operator information of the user side, carrying out priority sequencing on the selected result;
and selecting the game server with the highest priority.
In some embodiments, the method further comprises:
and after one game server is selected, modifying the state information of the selected game server into occupation.
In some embodiments, after sending the service scheduling response to the central server, the method further includes:
and if the state modification information sent by the central server is received, modifying the state information of the selected game server to be idle.
In a third aspect, there is provided a service scheduling apparatus for cloud games, configured at a central server, where the central server manages a plurality of regional servers, and each of the regional servers manages a plurality of game servers, the apparatus including:
the cloud game request receiving module is used for receiving a cloud game request sent by a user side, wherein the cloud game request comprises a channel identifier, a game identifier and an IP (Internet protocol) address of the user side;
a region and operator information obtaining module, configured to obtain region information and operator information of the user side based on the IP address;
the regional server selection module is used for selecting at least one regional server based on the channel identifier;
a service scheduling request sending module, configured to send a service scheduling request to the at least one regional server, where the service scheduling request includes the channel identifier, the game identifier, the region information, and the operator information;
the service scheduling response receiving module is used for receiving a service scheduling response of the at least one regional server, wherein the service scheduling response comprises game server information or null information;
and the cloud game response sending module is used for selecting one piece of game server information and sending a cloud game response to the user side, wherein the cloud game response comprises the selected game server information or the empty information.
In some embodiments, the regional service selection module is configured to:
based on the channel identification, performing first selection on a plurality of regional service terminals managed by the central service terminal;
prioritizing results of the first selection based on the region information and the operator information;
and performing second selection based on the priority sequence to obtain at least one regional service end.
In some embodiments, the regional service selection module is configured to:
if the region information and the operator information of the user side are the same as those of the regional service side, determining the corresponding regional service side as a first priority;
if the regional information of the user side is the same as that of the regional service side, or the operator information of the user side is the same as that of the regional service side, determining that the corresponding regional service side is of a second priority;
if the region information and the operator information of the user side are different from those of the regional service side, determining that the corresponding regional service side is the third priority;
wherein the first priority, the second priority, and the third priority are sequentially decreased.
In some embodiments, the regional service selection module is further configured to:
if the regional information of the user side is different from that of the regional service side, and the operator information of the user side is the same as that of the regional service side, determining the priority of the corresponding regional service side as a fourth priority;
if the regional information of the user side is the same as that of the regional service side, and the operator information of the user side is different from that of the regional service side, determining the priority of the corresponding regional service side as a fifth priority;
wherein the fourth priority is higher than the fifth priority.
In some embodiments, the service scheduling request sending module is to:
simultaneously sending a service scheduling request to the at least one regional service end; or the like, or, alternatively,
and sending a service scheduling request to each regional service terminal in sequence based on the priority of the at least one regional service terminal.
In some embodiments, the service scheduling request sending module is further configured to:
and when the service scheduling request is sent to each regional server in sequence, if a service scheduling response with the game server information is received, stopping sending the service scheduling request.
In some embodiments, the cloud game response sending module is to:
and selecting the received first game server information.
In some embodiments, the cloud game response sending module is to:
based on the region information, the operator information and the receiving time of each game server information, carrying out priority sequencing on each game server information;
and selecting the game server information with the highest priority.
In some embodiments, the apparatus further comprises a state modification information sending module configured to:
and for the information of the unselected game server, sending state modification information to the corresponding regional server, wherein the state modification information is used for indicating the regional server to modify the state of the corresponding game server to be idle.
In a fourth aspect, a service scheduling apparatus for cloud games is provided, configured in a local server, where the local server manages a plurality of game servers and maintains state information of the game servers, and the apparatus includes:
the system comprises a service scheduling request receiving module, a service scheduling request sending module and a service scheduling request sending module, wherein the service scheduling request comprises a channel identifier, a game identifier, region information of a user side and operator information;
the game server selecting module is used for selecting one game server based on the service scheduling request containing channel identification, game identification, user side region information and operator information, the channel identification, the region information and the operator information of the plurality of game servers and the state information of the plurality of game servers;
and the service scheduling response sending module is used for sending a service scheduling response to the central server, wherein the service scheduling response comprises the selected game server information or the null information.
In some embodiments, the game server selection module is to:
selecting a game server which has the same channel identification as the channel identification in the service scheduling request and idle state information and can run a game corresponding to the game identification;
based on the region information and the operator information of the user side, carrying out priority sequencing on the selected result;
and selecting the game server with the highest priority.
In some embodiments, the apparatus further comprises a first state modification module to:
and after one game server is selected, modifying the state information of the selected game server into occupation.
In some embodiments, the apparatus further comprises a second state modification module to:
and after the service scheduling response is sent to the central server, if the state modification information sent by the central server is received, modifying the state information of the selected game server to be idle.
In a fifth aspect, an electronic device is provided, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor, and when the processor executes the program, the processor implements any one of the foregoing service scheduling methods applied to the cloud game of the central server and the cloud game of the regional server.
In a sixth aspect, a computer-readable storage medium is provided, where a computer program is stored on the computer-readable storage medium, and when the program is executed by a processor, the program implements any one of the above-described service scheduling method for a cloud game applied to a central server and the service scheduling method for a cloud game applied to a regional server.
According to the service scheduling method of the cloud game, after a central server receives a cloud game request sent by a user side, region information and operator information of the user side are obtained based on the cloud game request; then, selecting at least one regional service terminal based on the channel identification in the cloud game request, and sending a service scheduling request of the game service terminal to each selected regional service terminal by carrying the channel identification, the game identification, the region information of the user terminal and the operator information; then, receiving a service scheduling response fed back by each regional service end, wherein the service scheduling response comprises game service end information or null information scheduled by the regional service end; and finally, selecting one game server information or empty information as a cloud game response to be sent to the user side, so that the user side is connected with the game server corresponding to the game server information in the cloud game response. On one hand, the process that the central server side schedules the regional server side and the process that the regional server side schedules the game server side is completely executed by the cloud game server side, and the user side only needs to send a cloud game request, receive the scheduled game server side information and establish connection with the game server side, so that the execution flow of the user side is simplified; on the other hand, the central server only returns the most appropriate game server information to the client, and the client does not need to acquire all game server information in advance, so that the safety of cloud service resources is ensured, the real-time performance of the game server information acquired by the client is improved, more appropriate cloud service resources are ensured to be dispatched to the client, the network quality of cloud connection is improved, and the cloud game presentation effect is further improved.
Additional aspects and advantages of the present application will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the present application.
Drawings
The foregoing and/or additional aspects and advantages of the present application will become apparent and readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawings of which:
fig. 1 is a schematic diagram of a cloud game network architecture according to an embodiment of the present disclosure;
fig. 2 is a block diagram of a cloud game server according to an embodiment of the present disclosure;
fig. 3 is a block diagram of a service scheduling apparatus for a cloud game configured at a central server according to an embodiment of the present disclosure;
fig. 4 is a block diagram of a service scheduling apparatus for cloud games configured at a local server according to an embodiment of the present disclosure;
fig. 5 is an interaction flowchart of a service scheduling method for a cloud game according to an embodiment of the present disclosure;
fig. 6 is a block diagram of an electronic device according to an embodiment of the present application;
fig. 7 is a flowchart of a service scheduling method applied to a cloud game of a central server according to an embodiment of the present application;
fig. 8 is a flowchart of a service scheduling method applied to a cloud game of a regional service end according to an embodiment of the present application.
Detailed Description
Reference will now be made in detail to embodiments of the present application, examples of which are illustrated in the accompanying drawings, wherein like or similar reference numerals refer to the same or similar elements or elements having the same or similar function throughout. The embodiments described below with reference to the drawings are exemplary only for the purpose of explaining the present application and are not to be construed as limiting the present application.
As used herein, the singular forms "a", "an", "the" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and/or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. It will be understood that when an element is referred to as being "connected" or "coupled" to another element, it can be directly connected or coupled to the other element or intervening elements may also be present. Further, "connected" or "coupled" as used herein may include wirelessly connected or wirelessly coupled. As used herein, the term "and/or" includes all or any element and all combinations of one or more of the associated listed items.
To make the objects, technical solutions and advantages of the present application more clear, embodiments of the present application will be described in further detail below with reference to the accompanying drawings.
The following describes the technical solutions of the present application and how to solve the above technical problems with specific embodiments. The following several specific embodiments may be combined with each other, and details of the same or similar concepts or processes may not be repeated in some embodiments. Embodiments of the present application will be described below with reference to the accompanying drawings.
When a User requests a Service resource of a cloud Game (i.e., a Game server, namely a Game Service component (GS)), the cloud Game server either schedules an available GS for the GS according to whether the GS is available or sends and displays all GS information and GS states at a User end (User Agent, UA) for the User to select the GS. In any service resource scheduling mode, whether the GS is available or not is emphasized, and a more appropriate GS cannot be scheduled, so that the network connection quality and the game presentation effect of the cloud game cannot be guaranteed. To solve the problem, the embodiment of the present application provides a Service scheduling scheme applied to a cloud game of a central server (i.e., a Business Service component (BS)) and a Service scheduling scheme applied to a cloud game of a regional server (i.e., a Domain Service component (DS)), so that all processes of scheduling a DS and a DS to schedule a GS by a BS are arranged at the cloud game server, and a user only needs to send a cloud game request and receive a cloud game response, thereby simplifying an execution flow of the user.
And the user side acquires the GS information and the state from the cloud game service side to perform GS scheduling, namely the user side copies the GS information and the state of the cloud game service side, and performs the GS scheduling based on the copied GS information and the copied state. However, the GS information and state copied by the user end may not be synchronized with the GS information and state of the cloud game server in time, so that the GS scheduled by the user end is not appropriate. The cloud game service end can acquire the information and the state of all resources (GS) of the cloud game service end in real time, namely, the cloud game service end can synchronize the changes in real time as long as the information and the state of the GS change, and the problem of GS scheduling of a user end can be avoided by the cloud game service end scheduling the GS.
The user side acquires GS information and state from the cloud game service side to perform GS scheduling, cloud service resources which are not needed by the user side are also acquired, namely the user side is equivalent to information of all service resources of the cloud game service side, and potential safety hazards exist.
In some embodiments, the service scheduling scheme applied to the cloud game of the central server and the service scheduling scheme applied to the cloud game of the regional server provided by the embodiments of the present application may be applied to a cloud game network. Fig. 1 is a cloud game network architecture according to an embodiment of the present disclosure. As shown in fig. 1, a cloud gaming network architecture may include: a plurality of clients, one or more cloud game servers 100, and other devices involved in the cloud game service. In some embodiments, the user terminal and the cloud game service terminal 100 perform data interaction through a network, where the network may be a 4G network, a 5G network, or other networks for data interaction.
The User end (UA) may be any device capable of accessing the cloud game server 100, for example, any device installed with software for accessing the cloud game server 100, where the software for accessing the cloud game server 100 may also be understood as software implementation of the User end. In some embodiments, the user side may include, but is not limited to: thin clients, general purpose computers, special purpose computers, gaming consoles, personal computers, laptop computers, tablet computing devices, mobile computing devices, portable gaming devices, cellular phones, smart phones, head-mounted displays, smart wearable devices, set-top boxes, streaming media interfaces/devices, smart televisions or networked displays, and the like. In some embodiments, the user side is at least configured to access a cloud game of the cloud game server side 100, receive a game operation input by a user, generate a corresponding operation instruction, and upload the operation instruction to the cloud game server side 100. The user can access the cloud game list of the cloud game server 100 through the user side, and select the cloud game needing to schedule the service resources. In some embodiments, the plurality of cloud game servers 100 are distributed in different regions, and the user accesses the cloud game server 100 corresponding to the region where the user is located through the user side.
The cloud game service end 100 may be any device capable of running a cloud game program, for example, any device installed with a cloud game program and software providing a cloud game service, where the software providing the cloud game service may also be understood as a software implementation of the cloud game service end 100. In some examples, the cloud game server 100 may be a single server or a server cluster. In some embodiments, the cloud gaming service 100 may be a remote server, a virtual computer, a cloud gaming server, a cloud application server, a remote application server, a digital media server, a server for providing a game developer/game sponsor storefront (storefront), a website server, a terminal server, a console server, or the like.
In some embodiments, a cloud game server may deploy a cloud game in a cloud game service cluster, a node server of the cloud game service cluster may run a cloud game program, and the plurality of cloud game servers 100 shown in fig. 1 belong to the cloud game server cluster. In this embodiment, the user may access the cloud game server 100 through the user side, and schedule the node server corresponding to the area where the user is located for the user side to log in the cloud game, and perform the game operation on the user side, so that the user side may upload the corresponding operation instruction to the node server. Then, the node server can calculate and generate a game picture by combining the operation instruction based on the execution logic of the cloud game program, and then feed the game picture back to the user side for display.
In some embodiments, the user terminal sends the cloud game request to the cloud game service terminal 100 through the network. After receiving the cloud game request, the cloud game server 100 may schedule a suitable cloud service resource for the user according to the cloud game request, and feed back information of the scheduled cloud service resource to the user through the network, so that the user establishes a connection with a server corresponding to the cloud service resource. In some embodiments, the cloud service resources scheduled by the cloud game service end 100 for the user end are at least used for executing the cloud game, encoding video frame audio frames of the cloud game, and streaming the encoded video frame audio frames to the user end for rendering and user interaction. In some embodiments, after the user terminal establishes the service connection of the cloud game, the cloud game service terminal 100 is at least configured to obtain an operation instruction uploaded by the user terminal, calculate and generate a game screen by combining the operation instruction based on the execution logic of the cloud game program, and then feed back the game screen to the user terminal for display.
Fig. 2 is a block diagram of a cloud game server 200 according to an embodiment of the present disclosure. In some embodiments, the cloud gaming service 200 may be implemented as the cloud gaming service 100 or a portion of the cloud gaming service 100 of fig. 1 for providing cloud gaming services, such as running a cloud gaming program.
As shown in fig. 2, the cloud game server 200 may be divided into a plurality of servers with different functions, for example, the servers may include: a central server 201, a regional server 202, a game server 203, and other servers involved in cloud game services. The cloud game server 200 includes one or more central servers 201, each central server 201 manages one or more regional servers 202, and each regional server 202 manages one or more game servers 203.
The central server 201, i.e. a Business Service component (BS), may be understood as a global scheduling server in the scheduling process of the cloud Service resource, which corresponds to the overall cloud Service resource and is at least used for providing an external access entry of the cloud game server 200. In some embodiments, the cloud game request sent by the user to the cloud game server 200 is received by the central server 201. The central server 201 is used for managing each regional server 202 in the cloud game server 200. In some embodiments, the central server 201 maintains the server information and status information of each regional server 202 it manages. In some embodiments, there may be a plurality of central servers 201. In this embodiment, a first-level load balancing LBS server may be added between the plurality of central service terminals 201 and the user terminal, and LBS is a mature technical scheme in the prior art, and can well complete selecting a suitable one from the plurality of central service terminals 201, and finally provide scheduling service for the user terminal. Moreover, the server information and the state information of all the regional servers 202 can be synchronized and stored in the same cloud database in real time, so that a plurality of central servers 201 can obtain the server information and the state information of the regional servers 202 from the database at the same time, and the regional servers 202 can be scheduled and managed by the central servers 201 in parallel. In some embodiments, the server information of the regional server 202 maintained by the central server 201 includes, but is not limited to, a channel identifier of a game channel supported by the regional server, a game identifier, its corresponding regional information, and operator information. In some embodiments, the central server 201 may be a software device, a hardware device, or a combination of software and hardware. The local server 202, i.e. a local Service component (DS), may be understood as a local scheduling server in the scheduling process of cloud Service resources, and is at least used for managing one or more game servers 203 under the jurisdiction of the area or channel corresponding to the local area cloud Service resources. In some embodiments, the regional service 202 may correspond to one region or a plurality of channels, and one channel may also correspond to a plurality of DSs. In some embodiments, the regional service 202 configures, before starting up (through the operation and maintenance system or a person), the channel identifiers of the game channels supported by the regional service, the regional information of the region to which the regional service belongs and the operator information corresponding to the regional service, and the list of the game identifiers supported by the regional service, and registers and reports the DS information and the status information to the central service 201 when starting up (by the operation and maintenance system or the person). In some embodiments, the regional server 202 maintains server information and status information of each game server 203 it manages, so that the game server 203 can be scheduled for the user side. In some embodiments, the server information of the game server 203 maintained by the regional server 202 includes, but is not limited to, a channel identifier of a game channel supported by the game server, a game identifier list of games supported by the game server, regional information of a region to which the game server belongs, and operator information corresponding to the regional information; the status information includes whether the gaming server is idle or occupied. In some embodiments, the regional service provider 202 can be a software device, a hardware device, or a combination of software and hardware.
The Game server 203, i.e., the Game Service component (GS), is managed by the local server 202 to which it belongs. In some embodiments, the game server 203 configures the local server 202 to which it belongs, the channel identifiers of the game channels supported by it, the local information of its local area and its corresponding operator information, and the list of the game identifiers supported by it (through the operation and maintenance system or personnel) before starting, and registers and reports the GS information and the status information to the local server 202 when being started (by the operation and maintenance system or personnel). The game server 203 is used for controlling game instances, providing cloud service resources for the client to execute a cloud game, encoding video frame and audio frame of the cloud game, and streaming the encoded video frame and audio frame to the cloud game client for rendering and user interaction. In some embodiments, the game server 203 is configured to at least obtain an operation instruction uploaded by the cloud game client, calculate and generate a game screen in combination with the operation instruction based on execution logic of the cloud game program, and then feed the game screen back to the cloud game client for display. In some embodiments, the game server 203 may be a software device, a hardware device, or a combination of software and hardware.
Fig. 3 is a block diagram of a service scheduling apparatus 300 for a cloud game configured at a central server according to an embodiment of the present disclosure. In some embodiments, the service scheduling apparatus 300 of the cloud game configured in the central server may be implemented as the central server 201 or a part of the central server 201 in fig. 2.
As shown in fig. 3, the service scheduling apparatus 300 for cloud games configured at the central server may include, but is not limited to, the following modules: the cloud game system comprises a cloud game request receiving module 301, a region and operator information obtaining module 302, a region server selecting module 303, a service scheduling request sending module 304, a service scheduling response receiving module 305 and a cloud game response sending module 306. The modules are described in detail as follows:
the cloud game request receiving module 301 is configured to receive a cloud game request sent by a user side, where the cloud game request includes a channel identifier, a game identifier, and an IP address of the user side. Specifically, when the cloud game needs to be run, the user side obtains a channel identifier corresponding to the user side, a game identifier of the cloud game to be run, and an IP address of the user side. Then, the user side generates a cloud game request based on the information and sends the cloud game request to the cloud game server side. The channels are used to distinguish different ways for the user to obtain and use the cloud game, for example, the vendor to which the user end device belongs (e.g., different mobile phone brands, etc.) may be or belong to a certain channel. Channel identification is information that can uniquely characterize a channel. The game identifier is a unique representation of the cloud game, and is obtained through the cloud game selected by the user from the cloud game list provided by the client software.
A region and operator information obtaining module 302, configured to obtain the region information and the operator information of the user end based on the IP address of the user end. Specifically, the region and operator information obtaining module 302 sends an IP home query request to the IP database, where the IP home query request carries the IP address of the user end. After the IP database is queried for IP affiliation, an IP affiliation query response is fed back to the region and operator information obtaining module 302. The IP home inquiry response includes the region information and the operator information of the user terminal. The operator information refers to information of a network operator, such as mobile, telecommunication, and unicom.
And a regional service end selection module 303, configured to select a regional service end. In some embodiments, the regional server selection module 303 selects at least one regional server DS based on the channel identification in the cloud game request. Specifically, the service scheduling apparatus 300 of the cloud game configured at the central server maintains DS information of each DS under its jurisdiction, where the DS information includes each channel identifier corresponding to the DS. The regional server selection module 303 selects one or more DSs from the DSs with the channel id of the DS being the same as the channel id in the cloud game request as the target. And if the channel identification of each DS is different from the channel identification in the cloud game request, ending the cloud service resource scheduling process and returning scheduling failure information to the user side. In some embodiments, the regional service end selection module 303 may prioritize a plurality of DSs screened based on the DS channel identifier being the same as the channel identifier in the cloud game request, for example, the DS having the same geographical information and operator information as the user end has the highest priority; DS priority which is the same with the regional information or operator information of the user side is lower; the DS has the lowest priority with different region information and operator information of the user side. For another example, the DS having the same DS as the user side region information or the operator information may be further prioritized: the priority of the DS with the same DS as the operator information of the user side is higher, and the priority of the DS with the same DS as the regional information of the user side is lower.
In some embodiments, the regional service selection module 303 is configured to: based on the channel identification, performing first selection on a plurality of regional service terminals managed by the central service terminal; prioritizing the results of the first selection based on the region information and the operator information; and performing second selection based on the priority sequence to obtain at least one regional service terminal DS. Specifically, the regional service side selection module 303 selects (i.e., selects first) a DS having the same channel identifier as the channel identifier in the cloud game request in the DS information. And then, determining the priority of each DS according to the region information and the operator information of the user side and the region information and the operator information of each selected DS, and sequencing each selected DS according to the priority. And finally, according to the service requirements (such as the lowest priority of the requirements, the minimum number of the DSs required and the like) of the service scheduling, selecting (namely, second selecting) the DSs again from the selected DSs to obtain the required at least one DS. Therefore, the DS matched with the region and the operator of the user side can be selected, and the adaptability of the dispatched DS is improved.
In some embodiments, the regional service selection module 303 is further configured to: if the region information and the operator information of the user side are the same as those of the regional service side, determining the corresponding regional service side as a first priority; if the regional information of the user side is the same as that of the regional service side or the operator information of the user side is the same as that of the regional service side, determining the corresponding regional service side as a second priority; if the region information and the operator information of the user side are different from those of the regional service side, determining the corresponding regional service side as a third priority; wherein the first priority, the second priority and the third priority are sequentially decreased. Specifically, when determining each selected DS priority, the regional service end selection module 303 sets the DS priority to the highest first priority if the region information and the operator information of the DS are the same as the region information and the operator information of the user end; if the region information of the DS is the same as the region information of the user side or the operator information of the DS is the same as the operator information of the user side, the DS priority is a medium second priority; if the region information and the operator information of the DS are different from those of the user side, the DS priority is the lowest third priority. In other embodiments, the regional service selection module 303 is further configured to: if the regional information of the user side is different from that of the regional service side, and the operator information of the user side is the same as that of the regional service side, determining the priority of the corresponding regional service side as a fourth priority; if the regional information of the user side is the same as that of the regional service side and the operator information of the user side is different from that of the regional service side, determining the priority of the corresponding regional service side as a fifth priority; wherein the fourth priority is higher than the fifth priority. In this embodiment, for the case that only one of the DS and the user side region information is the same as the operator information, the priority of the DS having the same operator information of the DS and the user side region information is further determined as a fourth priority that is relatively higher, and the priority of the DS having the same region information of the DS and the user side region information is determined as a fifth priority that is relatively lower. It is understood that the first priority, the fourth priority, the fifth priority and the third priority are sequentially lower.
A service scheduling request sending module 304, configured to send a service scheduling request to at least one regional service end, where the service scheduling request includes a channel identifier, a game identifier, region information, and operator information. Specifically, the service scheduling request sending module 304 sends a service scheduling request to the selected at least one DS, the service scheduling request being used to trigger each DS to schedule its governed GS. In some embodiments, the service scheduling request sending module 304 is configured to: and simultaneously sending a service scheduling request to at least one regional service terminal DS. In this embodiment, the selected DS is multiple, and the service scheduling request sending module 304 may send the service scheduling request to each DS at the same time, so that each DS executes GS scheduling at the same time, which may save the waiting time and further improve the service scheduling efficiency. In other embodiments, the service scheduling request sending module 304 is configured to: and sending a service scheduling request to each regional service terminal in turn based on the priority of at least one regional service terminal. In this embodiment, the selected DSs are multiple, and each DS has its priority, and the service scheduling request sending module 304 may send the service scheduling request to the DSs one by one in sequence according to the priority of each DS, so that the DS with the higher priority schedules the GS earlier, which may ensure that the scheduled GS is more suitable for the user side, and further improve the network quality of the cloud game. In some embodiments, the service scheduling request sending module 304 stops sending the service scheduling request when receiving the service scheduling response with the game server information while sending the service scheduling request to each DS in sequence according to the DS priority. For example, the service scheduling request sending module 304 sends a service scheduling request to the DS with the highest priority, waits for a service scheduling response fed back by the DS, sends the service scheduling request to the DS with the second priority if the service scheduling response is empty information, and does not send the service scheduling request to other subsequent DSs if the service scheduling response fed back by the DS includes scheduled GS information. Therefore, under the condition of ensuring the quality of the cloud game network, the redundant GS scheduling process is further avoided, and the service scheduling efficiency is improved.
The service scheduling response receiving module 305 is configured to receive a service scheduling response of at least one regional server, where the service scheduling response includes game server information or null information. Specifically, after the DS executes the GS scheduling procedure, its response to the service scheduling request is fed back to the service scheduling response receiving module 305. If the DS is scheduled to the GS, the service schedule response received by the service schedule response reception module 305 includes the scheduled GS information; the service schedule response received by the service schedule response reception module 305 is null information if the DS is not scheduled to the GS. It should be understood that if multiple DSs execute the GS schedule, there may be multiple service schedule responses, which the service schedule response receiving module 305 may receive.
The cloud game response sending module 306 is configured to select one piece of game server information and send a cloud game response to the user side, where the cloud game response includes the selected game server information or the null information. In some embodiments, if the service schedule response receiving module 305 receives a plurality of service schedule responses including GS information, the cloud game response transmitting module 306 selects one from the plurality of GS information and transmits it as a cloud game response to the UA. The UA can establish connection with the corresponding GS through the GS information to complete the scheduling of the cloud service resources. In other embodiments, if the service scheduling response received by the service scheduling response receiving module 305 is null information, the cloud game response sending module 306 sends a cloud game response carrying the null information to the UA to prompt the user that the scheduling fails or end the cloud game. In some embodiments, the cloud game response sending module 306 selects the first game server information received. In this embodiment, the service scheduling response receiving module 305 receives GS information sent by multiple DSs or receives only GS information sent by one DS, and selects the first received GS information as a cloud game response to send to the UA. Therefore, the GS with the fastest network response can be scheduled for the user side, and the network quality and the presentation effect of the cloud game are further improved.
In some embodiments, cloud game response sending module 306 is to: based on the region information, the operator information and the receiving time of each game server information, the priority ranking is carried out on each game server information; and selecting the game server information with the highest priority. Specifically, when the service scheduling response receiving module 305 receives a plurality of service scheduling responses including the GS information, the cloud game response transmitting module 306 determines the priority and the order of the GS information. Then, GS information with the highest priority is selected as the cloud game response. The process of determining the priority of each GS information may be: the priority of each GS information is determined according to the region information and the operator information of the UA, and the region information and the operator information in the GS information, which can be referred to as a priority determination process in the regional service terminal selection module 303. If the above process determines that the priorities of at least two GS information are the same, the priorities are further determined according to the reception times of the at least two GS information (the times at which the BS receives the GS information). For example, the earlier the receiving time of the GS information, the higher the priority of the GS information, because the earlier the receiving time, the smaller the existing load of the corresponding GS, and the faster the response of the GS to the cloud game. This allows a unique priority to be determined for each GS message. Therefore, the most suitable GS can be scheduled for the user side, and the network quality and the presentation effect of the cloud game are further improved.
In some embodiments, the service scheduling apparatus 300 for cloud games configured at the central server further includes a status modification information sending module, configured to: and for the information of the unselected game server, sending state modification information to the corresponding regional server, wherein the state modification information is used for indicating the regional server to modify the state of the corresponding game server to be idle. Specifically, after the DS schedules a certain GS, it needs to modify its state information from idle to occupied. However, if the cloud game response sending module 306 does not select the GS information, the GS will not be occupied actually, and the state modification information sending module needs to send the state modification information to the DS. After receiving the state modification information, the DS modifies the state information of the corresponding GS back to idle, thereby ensuring the correctness of the GS state maintained in the DS.
Fig. 4 is a block diagram of a service scheduling apparatus 400 for a cloud game configured at a local server according to an embodiment of the present disclosure. In some embodiments, the service scheduling apparatus 400 of the cloud game configured in the local server may be implemented as the local server 202 or a part of the local server 202 in fig. 2.
As shown in fig. 4, the service scheduling apparatus 400 for cloud games configured in the local server may include, but is not limited to, the following modules: a service scheduling request receiving module 401, a game server selecting module 402 and a service scheduling response sending module 403. The modules are described in detail as follows:
the service scheduling request receiving module 401 is configured to receive a service scheduling request sent by a central server, where the service scheduling request includes a channel identifier, a game identifier, region information of a user, and operator information. Specifically, the service scheduling request receiving module 401 receives a service scheduling request sent by the BS, where the service scheduling request at least includes a channel identifier corresponding to a cloud game selected by a user, a game identifier, region information of a user side, and operator information.
The game server selecting module 402 is configured to select one game server GS based on the channel identifier, the game identifier, the region information and the operator information of the user side, the channel identifiers, the region information and the operator information of the multiple game servers, and the state information of the multiple game servers in the service scheduling request. Before starting, each GS configures the DS to which the GS belongs, the channel identification of the game channel supported by the GS, the game identification list supported by the DS, the area information of the area to which the GS belongs and the corresponding operator information, and registers and reports the GS information and the state information to the DS to which the GS belongs. Therefore, the game server selecting module 402 needs to consider the channel identifier, the game identifier, the region information, the operator information, and the state information of each GS in the process of selecting the GS, so as to at least ensure that the selected GS is suitable for the cloud game selected by the user and has an available load.
In some embodiments, the game server selection module 402 is configured to: selecting a game server which has the same channel identification as the channel identification in the service scheduling request, has idle state information and can run a game corresponding to the game identification; based on the regional information and the operator information of the user side, the priority ranking is carried out on the selected result; the game server GS with the highest priority is selected. Specifically, when the game server selecting module 402 selects the GS, the GS whose channel identifier is the same as the channel identifier in the service scheduling request needs to be selected; the GS with the same game identifier in the service scheduling request is also required to be selected from the game identifier list of the GS, so that the selected GS can run the cloud game selected by the user. Then, the selected GS is selected to have the state information free, and the available load is ensured. And then, determining the priority and the sequence of each selected GS according to the region information and the operator information of the UA and the region information and the operator information of each GS. This process can be seen in the priority determination process in the regional service selection module 303. Finally, the GS with the highest priority is selected. So the DS can schedule the optimal GS for the user side.
A service scheduling response sending module 403, configured to send a service scheduling response to the central server, where the service scheduling response includes information of the selected game server or null information. Specifically, if the game server side selection module 402 selects one GS, its GS information is sent to the BS as a service scheduling response. If the game server side selection module 402 does not select one GS, which indicates that no GS is available in the GS administered by the DS, the null information is sent to the BS as a service scheduling response.
In some embodiments, the service scheduling apparatus 400 for cloud games configured on the local server further includes a first status modification module for: and after one game server is selected, modifying the state information of the selected game server into occupation. The game server selecting module 402 selects a GS, which indicates that the GS is occupied subsequently, so that the state information of the GS needs to be modified from idle to occupied, and the state information of the GS maintained in the cloud game service scheduling device 400 configured in the local server is updated in time to ensure the correctness of the GS state information.
In some embodiments, the service scheduling apparatus 400 for cloud games configured on the local server further includes a second status modification module for: and after the service scheduling response is sent to the central server, if the state modification information sent by the central server is received, modifying the state information of the selected game server to be idle. After the service scheduling response sending module 403 sends the service scheduling response to the BS, if the BS does not select the GS information in the service scheduling response, it indicates that the corresponding GS cannot be occupied by scheduling, so when receiving the state modification information sent by the BS, the state information of the corresponding GS is modified from occupied to idle again, the state information of the GS is updated in time, and the real-time performance of the GS state information is improved.
Fig. 5 is an interaction flowchart of a service scheduling method for a cloud game according to an embodiment of the present application. In some embodiments, the interactive flow of the service scheduling method may be implemented based on the cloud game network architecture in fig. 1 and the cloud game server 200 in fig. 2. The execution subject in the interactive process at least includes a user side UA, a central server 201 and a regional server 202, and the interactive process includes the following steps 501 to 510:
501. the client sends a cloud game request to the central server 201. The cloud game request comprises a channel identifier, a game identifier and an IP address of the user side.
502. The central server 201 sends an IP home query request to the IP database, where the IP home query request includes an IP address of the user terminal.
503. The IP database sends an IP home query response to the central server 201, where the IP home query response includes the UA region information and the operator information. The operator information refers to information of a network operator, such as mobile, telecommunication, and unicom.
504. The central server 201 selects at least one regional server 202 based on the channel identification. The central server 201 selects one or more regional servers 202 that contain the same channel id as UA. In some embodiments, the central server 201 may further prioritize each regional server 202 to generate a regional server list based on the regional information and the operator information of the UA and the regional information and the operator information of the regional servers 202, and select one or more regional servers 202 from the regional server list.
505. The central server 201 sends a service scheduling request to each selected regional server 202. The service scheduling request includes a channel identifier, a game identifier, region information, and operator information.
506. Each of the regional servers 202 that receives the service scheduling request selects one of the game servers 203. The regional server 202 selects one game server 203 based on the channel identifier, the game identifier, the regional information and the operator information of the user side, the channel identifiers, the regional information and the operator information of the plurality of game servers 203, and the status information of the plurality of game servers in the service scheduling request.
507. Each regional server 202 sends a service scheduling response to the central server 201. The service scheduling response includes GS information of the game server 203 or null information when the regional server 202 is not scheduled to the game server 203.
508. The central server 201 receives a plurality of GS messages and selects an appropriate GS message from the GS messages as a cloud game response. If all the received null information by the central server 201 is null information, the null information is used as a cloud game response.
509. The central server 201 sends a cloud game response to the user.
510. If the cloud game response contains the GS information, the user end establishes a connection link with the game server end 203 corresponding to the GS information. And if the cloud game response comprises the null information, the user end prompts that the service scheduling fails or the cloud game is ended.
According to the interactive process of the cloud game service scheduling method in the embodiment of the application, on one hand, the process that the central server side schedules the regional server side and the process that the regional server side schedules the game server side is executed by the cloud game server side, and the user side only needs to send a cloud game request, receive the scheduled game server side information and establish connection with the game server side, so that the execution process of the user side is simplified; on the other hand, the central server only returns the most appropriate game server information to the client, and the client does not need to acquire all game server information in advance, so that the safety of cloud service resources is ensured, the real-time performance of the game server information acquired by the client is improved, more appropriate cloud service resources are ensured to be dispatched to the client, the network quality of cloud connection is improved, and the cloud game presentation effect is further improved.
An embodiment of the present application provides an electronic device, as shown in fig. 6, an electronic device 600 shown in fig. 6 includes: a processor 601 and a memory 603. The processor 601 is coupled to the memory 603, such as via a bus 602. Further, the electronic device 600 may also include a transceiver 604. It should be noted that the transceiver 604 is not limited to one in practical applications, and the structure of the electronic device 600 is not limited to the embodiment of the present application.
The processor 601 is applied to the embodiment of the present application to implement the function of the service scheduling apparatus for the cloud game configured at the central server shown in fig. 3 and the function of the service scheduling apparatus for the cloud game configured at the regional server shown in fig. 4.
The processor 601 may be a CPU, general purpose processor, DSP, ASIC, FPGA or other programmable logic device, transistor logic device, hardware component, or any combination thereof. Which may implement or perform the various illustrative logical blocks, modules, and circuits described in connection with the disclosure. The processor 601 may also be a combination of computing functions, e.g., comprising one or more microprocessors, DSPs and microprocessors, and the like.
Bus 602 may include a path that transfers information between the above components. The bus 602 may be a PCI bus or an EISA bus, etc. The bus 602 may be divided into an address bus, a data bus, a control bus, and the like. For ease of illustration, only one thick line is shown in FIG. 6, but this is not intended to represent only one bus or type of bus.
Memory 603 may be, but is not limited to, ROM or other types of static storage devices that can store static information and instructions, RAM or other types of dynamic storage devices that can store information and instructions, EEPROM, CD-ROM or other optical disk storage, optical disk storage (including compact disk, laser disk, optical disk, digital versatile disk, blu-ray disk, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer.
The memory 603 is used for storing application program codes for executing the scheme of the application, and the processor 601 controls the execution. The processor 601 is configured to execute the application codes stored in the memory 603 to implement the operations of the service scheduling apparatus for the cloud game configured at the central server shown in fig. 3 and the operations of the service scheduling apparatus for the cloud game configured at the regional server shown in fig. 4.
The electronic device provided by the embodiment of the application comprises a memory, a processor and a computer program which is stored on the memory and can run on the processor, and when the processor executes the program, compared with the prior art, the electronic device can realize that: the DS scheduling and the process of scheduling the GS through the DS are all arranged in the central server BS, and the user side only needs to send the cloud game request and receive the cloud game response, so that the execution flow of the user side is simplified. In addition, in the process of scheduling the DS and the DS for the GS, the appropriate DS and the appropriate GS are selected based on the channel identification and the game identification sent by the user end and the region information and the operator information of the user end obtained based on the IP address of the user end sent by the user end, the BS selects the most appropriate GS information at present and sends the most appropriate GS information to the user end, and the user end does not need to obtain all GS information in advance, so that the safety of cloud service resources can be improved, the instantaneity of the information obtained by the user end and the matching degree of the information with the GS can be improved, the network quality of cloud connection is improved, and the cloud game presentation effect is improved.
Embodiments of the present application provide a computer-readable storage medium, on which a computer program is stored, where the computer program, when executed by a processor, implements steps of embodiments of a service scheduling method for a cloud game applied to a central server, and implements steps of embodiments of service scheduling for a cloud game applied to a regional server. Compared with the prior art, the DS scheduling and the process of scheduling the GS through the DS are all arranged in the central server BS, and the client only needs to send the cloud game request and receive the cloud game response, so that the execution flow of the client is simplified. In addition, in the process of scheduling the DS and the DS for the GS, the appropriate DS and the appropriate GS are selected based on the channel identification and the game identification sent by the user end and the region information and the operator information of the user end obtained based on the IP address of the user end sent by the user end, the BS selects the most appropriate GS information at present and sends the most appropriate GS information to the user end, and the user end does not need to obtain all GS information in advance, so that the safety of cloud service resources can be improved, the instantaneity of the information obtained by the user end and the matching degree of the information with the GS can be improved, the network quality of cloud connection is improved, and the cloud game presentation effect is improved.
Fig. 7 is a flowchart of a service scheduling method applied to a cloud game of a central server according to an embodiment of the present application. The execution subject of the method is a central server, and the method comprises the following steps 701 to 706:
701. receiving a cloud game request sent by a user side, wherein the cloud game request comprises a channel identifier, a game identifier and an IP address of the user side. Specifically, when the cloud game needs to be run, the user side obtains a channel identifier corresponding to the user side, a game identifier of the cloud game to be run, and an IP address of the user side. Then, the user side generates a cloud game request based on the information and sends the cloud game request to the cloud game server side. The central server in the cloud game server receives the cloud game request. The channels are used to distinguish different ways for the user to obtain and use the cloud game, for example, the vendor to which the user end device belongs (e.g., different mobile phone brands, etc.) may be or belong to a certain channel. Channel identification is information that can uniquely characterize a channel. The game identifier is a unique representation of the cloud game, and is obtained through the cloud game selected by the user from the cloud game list provided by the client software.
702. And obtaining the regional information and the operator information of the user side based on the IP address of the user side. Specifically, the central server sends an IP home query request to the IP database, where the IP home query request carries the IP address of the user terminal. And after the IP database is subjected to IP attribution query, feeding back an IP attribution query response to the central server. The IP home inquiry response includes the region information and the operator information of the user terminal. The operator information refers to information of a network operator, such as mobile, telecommunication, and unicom.
703. And selecting at least one regional server based on the channel identification. Specifically, the central server maintains DS information of each DS under its jurisdiction, where the DS information includes identifiers of each channel corresponding to the DS. The central server selects one or more DSs from the DSs with the channel identification of the DS being the same as the channel identification in the cloud game request as a target. And if the channel identification of each DS is different from the channel identification in the cloud game request, ending the cloud service resource scheduling process.
In some embodiments, a first selection is made of a plurality of regional servers managed by a central server based on a channel identification; prioritizing the results of the first selection based on the region information and the operator information; and performing second selection based on the priority sequence to obtain at least one regional service end. Specifically, the BS first selects (i.e., the first selection) a DS in which the channel identification in the DS information is the same as the channel identification in the cloud game request. Then, according to the region information and operator information of the UA, the region information and operator information of each selected DS, a priority of each DS is determined, and the selected DS is sorted according to the priority. And finally, according to the service requirements (such as the lowest priority of the requirements, the minimum number of the DSs required and the like) of the service scheduling, selecting (namely, second selecting) the DSs again from the selected DSs to obtain the required at least one GS. Therefore, the DS matched with the region and the operator of the user side can be selected, and the adaptability of the dispatched DS is improved.
In some embodiments, prioritizing the results of the first selection based on the regional information and the operator information comprises: if the region information and the operator information of the user side are the same as those of the regional service side, determining the corresponding regional service side as a first priority; if the regional information of the user side is the same as that of the regional service side or the operator information of the user side is the same as that of the regional service side, determining the corresponding regional service side as a second priority; if the region information and the operator information of the user side are different from those of the regional service side, determining the corresponding regional service side as a third priority; wherein the first priority, the second priority and the third priority are sequentially decreased. Specifically, when the BS determines each selected DS priority, if the region information and operator information of the DS are the same as the region information and operator information of the user side, the DS priority is the highest first priority; if the region information of the DS is the same as the region information of the user side or the operator information of the DS is the same as the operator information of the user side, the DS priority is a medium second priority; if the region information and the operator information of the DS are different from those of the user side, the DS priority is the lowest third priority. In other embodiments, if the user side and the regional service side have different regional information and the user side and the regional service side have the same operator information, determining the priority of the corresponding regional service side as a fourth priority; if the regional information of the user side is the same as that of the regional service side and the operator information of the user side is different from that of the regional service side, determining the priority of the corresponding regional service side as a fifth priority; wherein the fourth priority is higher than the fifth priority. In this embodiment, for the case that only one of the regional information and the operator information of the DS and the user side is the same, the priority of the DS whose operator information of the DS and the operator information of the user side are the same is further determined as a fourth priority that is relatively higher, and the priority of the DS whose regional information is the same is determined as a fifth priority that is relatively lower. It is understood that the first priority, the fourth priority, the fifth priority and the third priority are sequentially lower.
704. And sending a service scheduling request to at least one regional service terminal, wherein the service scheduling request comprises a channel identifier, a game identifier, regional information of a user terminal and operator information. Specifically, the BS transmits a service scheduling request for triggering each DS to schedule its governed GS to the selected at least one DS. In some embodiments, the service scheduling request is sent to at least one regional service end DS simultaneously. In this embodiment, the selected DS is multiple, and the BS may send the service scheduling request to each DS at the same time, so that each DS executes GS scheduling at the same time, which may save the waiting time and further improve the service scheduling efficiency. In other embodiments, the service scheduling request is sent to each regional server in turn based on the priority of at least one regional server. In this embodiment, the selected DSs are multiple, and each DS has its priority, and the BS may send the service scheduling request to the DSs one by one in sequence according to the priority of each DS, so that the DS with the higher priority schedules the GS earlier, which may ensure that the scheduled GS is more suitable for the UA, and further improve the network quality of the cloud game. In some embodiments, when the service scheduling request is sent to each regional server in turn, if a service scheduling response with the game server information is received, the service scheduling request is stopped being sent. In the process that the BS sequentially sends the service scheduling requests to each DS according to the DS priority, if a service scheduling response fed back by a DS is received and the service scheduling response includes scheduled GS information, the BS does not send the service scheduling request to other subsequent DS. Therefore, under the condition of ensuring the quality of the cloud game network, the redundant GS scheduling process is further avoided, and the service scheduling efficiency is improved.
705. And receiving a service scheduling response of at least one regional server, wherein the service scheduling response comprises game server information or null information. Specifically, after the DS performs the GS scheduling procedure, its response to the service scheduling request is fed back to the BS. If the DS is scheduled to the GS, the service scheduling response received by the BS includes the scheduled GS information; if the DS is not scheduled to the GS, the service scheduling response received by the BS is null information. It should be understood that if multiple DSs perform GS scheduling, there may be multiple service scheduling responses, which the BS may receive.
706. And selecting one game server information and sending a cloud game response to the user side, wherein the cloud game response comprises the selected game server information or the null information. Specifically, if the BS receives a plurality of service scheduling responses including GS information, the BS selects one from the plurality of GS information and transmits it to the UA as a cloud game response. The UA can establish connection with the corresponding GS through the GS information to complete the scheduling of the cloud service resources. And if the service scheduling response received by the BS is null information, sending the null information to the UA as a cloud game response to prompt a user that the scheduling fails or the cloud game is finished. In some embodiments, the first game server information received is selected. In this embodiment, the BS receives the GS information transmitted by the multiple DSs, and selects the first received GS information to be transmitted to the UA as the cloud game response. Therefore, the GS with the fastest network response can be scheduled for the user side, and the network quality and the presentation effect of the cloud game are further improved.
In some embodiments, selecting a game server information comprises: based on the region information, the operator information and the receiving time of each game server information, the priority ranking is carried out on each game server information; and selecting the game server information with the highest priority. Specifically, when the BS receives a plurality of service scheduling responses including the GS information, the priority and the order of each GS information are determined. Then, GS information with the highest priority is selected as the cloud game response. The process of determining the priority of each GS information may be: the priority of each GS information is determined according to the area information and the operator information of the UA and the area information and the operator information in the GS information, which can be seen in the priority determination process in step 703. If the above process determines that the priorities of at least two GS information are the same, the priorities are further determined according to the reception times of the at least two GS information (the times at which the BS receives the GS information). For example, the earlier the receiving time of the GS information, the higher the priority of the GS information, because the earlier the receiving time, the smaller the existing load of the corresponding GS, and the faster the response of the GS to the cloud game. This allows a unique priority to be determined for each GS message. Therefore, the most suitable GS can be scheduled for the user side, and the network quality and the presentation effect of the cloud game are further improved.
In some embodiments, the service scheduling method applied to the cloud game of the central server further includes: and for the information of the unselected game server, sending state modification information to the corresponding regional server, wherein the state modification information is used for indicating the regional server to modify the state of the corresponding game server to be idle. Specifically, after the DS schedules a certain GS, it needs to modify its state information from idle to occupied. However, if the BS does not select the GS information, the GS will not be actually occupied, and at this time, the BS needs to transmit the state modification information to the above-mentioned DS. After receiving the state modification information, the DS modifies the state information of the corresponding GS back to idle, thereby ensuring the correctness of the GS state maintained in the DS.
Fig. 8 is a service scheduling method of a cloud game applied to a regional service end according to an embodiment of the present application, where an execution subject of the method is the regional service end, and the method may include the following steps 801 to 803:
801. and receiving a service scheduling request sent by a central server, wherein the service scheduling request comprises a channel identifier, a game identifier, regional information of a user side and operator information. Specifically, the DS receives a service scheduling request sent by the BS, where the service scheduling request at least includes a channel identifier and a game identifier corresponding to a cloud game selected by a user, and regional information and operator information of a user terminal.
802. And selecting a game service end GS based on the channel identification, the game identification, the region information and the operator information of the user end, the channel identifications, the region information and the operator information of the plurality of game service ends and the state information of the plurality of game service ends in the service scheduling request. Specifically, each GS in the cloud game server configures its DS, channel identifiers of its supported game channels, its supported game identifier list, its area information and its corresponding operator information before starting, and registers and reports the GS information and state information to its DS when starting. Therefore, the DS needs to consider the channel identifier, the game identifier, the region information, the operator information, and the state information of each GS in selecting the GS, at least to ensure that the selected GS is suitable for the cloud game selected by the user and has an available load.
In some embodiments, the game server which has the same channel identification as the channel identification in the service scheduling request and has idle state information and can run the game corresponding to the game identification is selected; based on the regional information and the operator information of the user side, the priority ranking is carried out on the selected result; the game server GS with the highest priority is selected. Specifically, when the DS selects the GS, the GS with the channel identifier of the GS identical to the channel identifier in the service scheduling request needs to be selected; the GS with the same game identifier in the service scheduling request is also required to be selected from the game identifier list of the GS, so that the selected GS can run the cloud game selected by the user. Then, the selected GS is selected to have the state information free, and the available load is ensured. And then, determining the priority and the sequence of each selected GS according to the region information and the operator information of the UA and the region information and the operator information of each GS. This process can be seen in the prioritization process in step 703. Finally, the GS with the highest priority is selected. So the DS can schedule the optimal GS for the user side.
In some embodiments, after one game server is selected, the state information of the selected game server is modified to be occupied. The DS selects one GS, which indicates that the GS is occupied subsequently, so that the state information of the GS needs to be modified from idle to occupied, and the state information of the GS maintained in the DS is updated in time, so that the correctness of the state information of the GS is ensured.
803. And sending a service scheduling response to the central server, wherein the service scheduling response comprises the selected game server information or the null information. Specifically, if the DS selects one GS, its GS information is transmitted to the BS as a service scheduling response. And if the DS does not select one GS, indicating that no GS is available in the GS under the control of the DS, sending null information to the BS as a service scheduling response.
In some embodiments, after the service scheduling response is sent to the central server, if the state modification information sent by the central server is received, the state information of the selected game server is modified to be idle. Specifically, after the DS sends the service scheduling response to the BS, if the BS does not select the GS information in the service scheduling response, it indicates that the corresponding GS is not scheduled to be occupied, so when receiving the state modification information sent by the BS, the DS modifies the state information of the corresponding GS from occupied to idle again, updates the state information of the GS in time, and improves the real-time property of the GS state information.
It should be understood that, although the steps in the flowcharts of the figures are shown in order as indicated by the arrows, the steps are not necessarily performed in order as indicated by the arrows. Unless explicitly stated otherwise herein, the steps are not limited to be performed in the exact order, and may be performed in other orders, for example, in some embodiments, the order of 702 and 703 in fig. 7 may be reversed. Moreover, at least a portion of the steps in the flow chart of the figure may include multiple sub-steps or multiple stages, which are not necessarily performed at the same time, but may be performed at different times, which are not necessarily performed in sequence, but may be performed alternately or alternately with other steps or at least a portion of the sub-steps or stages of other steps.
The foregoing is only a partial embodiment of the present application, and it should be noted that, for those skilled in the art, several modifications and decorations can be made without departing from the principle of the present application, and these modifications and decorations should also be regarded as the protection scope of the present application.

Claims (10)

1. A service scheduling method for cloud games is applied to a central server, the central server manages a plurality of regional servers, and each regional server manages a plurality of game servers, the method comprises the following steps:
receiving a cloud game request sent by a user side, wherein the cloud game request comprises a channel identifier, a game identifier and an IP address of the user side;
obtaining region information and operator information of the user side based on the IP address;
selecting at least one regional server based on the channel identification;
sending a service scheduling request to the at least one regional service terminal, wherein the service scheduling request comprises the channel identifier, the game identifier, the region information and the operator information;
receiving a service scheduling response of the at least one regional server, wherein the service scheduling response comprises game server information or null information;
and selecting one piece of game server information and sending a cloud game response to the user side, wherein the cloud game response comprises the selected game server information or the null information.
2. The method of claim 1, wherein selecting at least one regional server based on the channel identification comprises:
based on the channel identification, performing first selection on a plurality of regional service terminals managed by the central service terminal;
prioritizing results of the first selection based on the region information and the operator information;
and performing second selection based on the priority sequence to obtain at least one regional service end.
3. The method of claim 2, wherein prioritizing the results of the first selection based on the geographic information and the operator information comprises:
if the region information and the operator information of the user side are the same as those of the regional service side, determining the corresponding regional service side as a first priority;
if the regional information of the user side is the same as that of the regional service side, or the operator information of the user side is the same as that of the regional service side, determining that the corresponding regional service side is of a second priority;
if the region information and the operator information of the user side are different from those of the regional service side, determining that the corresponding regional service side is the third priority;
wherein the first priority, the second priority, and the third priority are sequentially decreased.
4. The method of claim 1, wherein selecting a gaming server information comprises:
based on the region information, the operator information and the receiving time of each game server information, carrying out priority sequencing on each game server information;
and selecting the game server information with the highest priority.
5. A service scheduling method for cloud games is applied to a regional server, the regional server manages a plurality of game servers and maintains state information of the game servers, and the method comprises the following steps:
receiving a service scheduling request sent by a central server, wherein the service scheduling request comprises a channel identifier, a game identifier, regional information of a user side and operator information;
selecting a game server based on channel identification, game identification, user terminal region information and operator information in the service scheduling request, the channel identification, the region information and the operator information of the plurality of game servers, and the state information of the plurality of game servers;
and sending a service scheduling response to the central server, wherein the service scheduling response comprises the selected game server information or the null information.
6. The method of claim 5, wherein selecting a game server comprises:
selecting a game server which has the same channel identification as the channel identification in the service scheduling request and idle state information and can run a game corresponding to the game identification;
based on the region information and the operator information of the user side, carrying out priority sequencing on the selected result;
and selecting the game server with the highest priority.
7. A service scheduling apparatus for cloud games, configured to a central server, the central server managing a plurality of local servers, each of the local servers managing a plurality of game servers, the apparatus comprising:
the cloud game request receiving module is used for receiving a cloud game request sent by a user side, wherein the cloud game request comprises a channel identifier, a game identifier and an IP (Internet protocol) address of the user side;
a region and operator information obtaining module, configured to obtain region information and operator information of the user side based on the IP address;
the regional server selection module is used for selecting at least one regional server based on the channel identifier;
a service scheduling request sending module, configured to send a service scheduling request to the at least one regional server, where the service scheduling request includes the channel identifier, the game identifier, the region information, and the operator information;
the service scheduling response receiving module is used for receiving a service scheduling response of the at least one regional server, wherein the service scheduling response comprises game server information or null information;
and the cloud game response sending module is used for selecting one piece of game server information and sending a cloud game response to the user side, wherein the cloud game response comprises the selected game server information or the empty information.
8. A service scheduling apparatus for cloud games, configured to a local server that manages a plurality of game servers and maintains state information of the plurality of game servers, the apparatus comprising:
the system comprises a service scheduling request receiving module, a service scheduling request sending module and a service scheduling request sending module, wherein the service scheduling request comprises a channel identifier, a game identifier, region information of a user side and operator information;
the game server selecting module is used for selecting one game server based on the service scheduling request containing channel identification, game identification, user side region information and operator information, the channel identification, the region information and the operator information of the plurality of game servers and the state information of the plurality of game servers;
and the service scheduling response sending module is used for sending a service scheduling response to the central server, wherein the service scheduling response comprises the selected game server information or the null information.
9. An electronic device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, wherein the processor implements the service scheduling method for a cloud game applied to a central server according to any one of claims 1 to 4 or the service scheduling method for a cloud game applied to a regional server according to any one of claims 5 to 6 when executing the program.
10. A computer-readable storage medium, wherein a computer program is stored on the computer-readable storage medium, and when executed by a processor, the computer program implements the service scheduling method for a cloud game applied to a central server according to any one of claims 1 to 4, or the service scheduling method for a cloud game applied to a regional server according to any one of claims 5 to 6.
CN202010778990.7A 2020-08-05 2020-08-05 Service scheduling method, device, equipment and storage medium for cloud game Pending CN114053689A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010778990.7A CN114053689A (en) 2020-08-05 2020-08-05 Service scheduling method, device, equipment and storage medium for cloud game

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010778990.7A CN114053689A (en) 2020-08-05 2020-08-05 Service scheduling method, device, equipment and storage medium for cloud game

Publications (1)

Publication Number Publication Date
CN114053689A true CN114053689A (en) 2022-02-18

Family

ID=80232184

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010778990.7A Pending CN114053689A (en) 2020-08-05 2020-08-05 Service scheduling method, device, equipment and storage medium for cloud game

Country Status (1)

Country Link
CN (1) CN114053689A (en)

Similar Documents

Publication Publication Date Title
US20130124672A1 (en) System and Method for Delivering Media Assets in a Cloud Environment
CN111866537B (en) Information display method and device in live broadcast room, storage medium and electronic equipment
CN112118315A (en) Data processing system, method, device, electronic equipment and storage medium
MX2007001164A (en) Methods and apparatus for subscribing to multimedia delivery services in a data network.
WO2013140336A2 (en) System and method of managing servers for streaming desk top applications
CN112057846B (en) Interaction method, device, equipment and storage medium for cloud game service scheduling
EP3624453A1 (en) A transcoding task allocation method, scheduling device and transcoding device
JP2017539103A (en) Method, apparatus, server, and system for synchronizing member gain among multiple apparatuses
US20230275976A1 (en) Data processing method and apparatus, and computer-readable storage medium
CN113613027A (en) Live broadcast room recommendation method and device and computer equipment
CN113926185A (en) Data processing method, device, equipment and storage medium
CN112169312A (en) Queuing scheduling method, device, equipment and storage medium for cloud game service
CN111698281B (en) Resource downloading method and device, electronic equipment and storage medium
WO2024082770A1 (en) Video transcoding method and apparatus, and device, storage medium and video on-demand system
KR101597843B1 (en) Content management that addresses levels of functionality
CN111475230B (en) Application function configuration method and device and electronic equipment
CN108650520A (en) Video live broadcast control method, related equipment and computer storage medium
CN108289056B (en) Method and device for sharing dynamic chart and computing equipment
WO2023001083A1 (en) Service providing method and system, gateway, device, and storage medium
CN114053689A (en) Service scheduling method, device, equipment and storage medium for cloud game
US10635997B1 (en) Finite life instances
CN110247808B (en) Information transmission method, device, equipment and readable storage medium
CN113569089A (en) Information processing method, device, server, equipment, system and storage medium
US10616293B1 (en) Multiple account binding
CN111343172A (en) Network access authority dynamic processing method and device

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