Cloud gaming resource scheduling method, client, device, and storage medium

By designing a multi-level scheduling strategy in the client and utilizing local cache and edge storage servers for cloud game resource scheduling, the problem of long cloud game startup time is solved, faster resource connections are achieved and the computing pressure of the central routing server is reduced.

CN115054912BActive Publication Date: 2025-08-26MIGU INTERACTIVE ENTERTAINMENT CO LTD +2
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210647293.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-06-09
Publication Date
2025-08-26
Estimated Expiration
2042-06-09

AI Technical Summary

Technical Problem

In the prior art, cloud games have a long time to start, because it requires a long scheduling link to allocate cloud mobile phone instance resources.

Method used

Design a multi-level scheduling policy in the client, including the scheduling of local cache and edge storage servers, and prioritize the first-level scheduling in the local cache. If it fails, the second-level scheduling is performed in the edge storage server, and finally the central routing server is performed.

Benefits of technology

It reduces interaction and routing links with the server, improves instance resource connection efficiency, reduces the computing pressure of the central routing server, and shortens the startup time of cloud games.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115054912B_ABST
    Figure CN115054912B_ABST
Patent Text Reader

Abstract

This application discloses a cloud gaming resource scheduling method, client, device, and storage medium. The cloud gaming resource scheduling method includes obtaining a scheduling request for a target cloud game, performing multi-level scheduling within the client based on the scheduling request, and obtaining allocated instance resources if the multi-level scheduling succeeds. This application addresses the technical issue of long cloud gaming startup times.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a cloud game resource scheduling method, client, device, and storage medium. Background Art

[0002] Currently, traditional cloud gaming resource scheduling is performed through a central routing server. Specifically, when a player starts a cloud game, their device first needs to establish a communication connection with the central routing server. Furthermore, the central routing server searches for a suitable local server room for their device, and finally, the local server room allocates an idle cloud phone instance resource. Only after the player's device successfully connects to the cloud phone instance resource can the cloud game begin. However, during the entire cloud game scheduling process, a long scheduling link is required to obtain the allocated cloud phone instance resource, resulting in a long wait time for the cloud game to start. Summary of the Invention

[0003] The main purpose of this application is to provide a cloud game resource scheduling method, client, device and storage medium, aiming to solve the technical problem of long cloud game startup time in the existing technology.

[0004] To achieve the above objectives, the present application provides a cloud gaming resource scheduling method, which is applied to a client and includes:

[0005] Get the scheduling request of the target cloud game;

[0006] Based on the scheduling request, multi-level scheduling is performed in the client;

[0007] If multi-level scheduling is successful, instance resources are allocated.

[0008] The present application also provides a client, the client comprising:

[0009] The acquisition module is used to obtain the scheduling request of the target cloud game;

[0010] A multi-level scheduling module, configured to perform multi-level scheduling in the client based on the scheduling request;

[0011] The acquisition module is used to obtain the allocated instance resources if the multi-level scheduling is successful.

[0012] The present application also provides a cloud gaming resource scheduling device, which is a physical device. The cloud gaming resource scheduling device includes: a memory, a processor, and a cloud gaming resource scheduling program stored on the memory. The cloud gaming resource scheduling program is executed by the processor to implement the steps of the cloud gaming resource scheduling method as described above.

[0013] The present application also provides a storage medium, which is a computer-readable storage medium. The computer-readable storage medium stores a cloud game resource scheduling program, and the cloud game resource scheduling program is executed by a processor to implement the steps of the cloud game resource scheduling method as described above.

[0014] The present application provides a cloud game resource scheduling method, client, device and storage medium. Compared with the technical means of resource scheduling using a routing server adopted in the prior art, the present application first obtains a scheduling request for the target cloud game, and then performs multi-level scheduling in the client based on the scheduling request. Furthermore, if the multi-level scheduling is successful, instance resources are allocated. This realizes the scheduling of cloud game resources in the client by designing a multi-level scheduling strategy in the client, without going through the layer-by-layer scheduling of the existing central routing server, reducing the interaction with the server and the routing links in the scheduling process, thereby accelerating the connection efficiency with the instance resources and effectively reducing the computing pressure of the central routing server. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.

[0016] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without any creative work.

[0017] Figure 1 This is a flowchart of the first embodiment of the cloud gaming resource scheduling method of this application;

[0018] Figure 2 This is a flow chart of the second embodiment of the cloud gaming resource scheduling method of the present application;

[0019] Figure 3 This is a flowchart of the third embodiment of the cloud game resource scheduling method of this application;

[0020] Figure 4 This is a flowchart of the fourth embodiment of the cloud game resource scheduling method of this application;

[0021] Figure 5 This is a flowchart of the fifth embodiment of the cloud gaming resource scheduling method of the present application;

[0022] Figure 6 This is a schematic diagram of the cloud gaming resource scheduling device structure for the hardware operating environment involved in the embodiment of the present application;

[0023] Figure 7 This is a schematic diagram of the functional modules of the client for this application.

[0024] The purpose, features and advantages of the present invention will be further described with reference to the accompanying drawings and in conjunction with the embodiments. DETAILED DESCRIPTION

[0025] It should be understood that the specific embodiments described herein are only used to explain the present application and are not intended to limit the present application.

[0026] The present application embodiment provides a cloud game resource scheduling method. In the first embodiment of the cloud game resource scheduling method of the present application, refer to Figure 1 , the cloud game resource scheduling method includes:

[0027] Step S10: Obtain a scheduling request for a target cloud game;

[0028] In this embodiment, it should be noted that cloud gaming, also known as gaming on demand, is an online gaming technology based on cloud computing technology. In a cloud gaming scenario, the game is not played on the player's game terminal, but is run on a cloud server. The cloud server renders the game scene into an audio and video stream and transmits it to the player's game terminal through the network.

[0029] Furthermore, the client includes terminal devices such as mobile phones, computers, and tablets, and the target cloud games may include but are not limited to competitive games, parkour games, shooting games, and board games. Furthermore, the target cloud game launch operation includes but is not limited to the user clicking on the client to trigger the launch of the cloud game and triggering the launch of the cloud game through voice. The scheduling request includes information such as the current client's geographical location, the request validity period, the communication operator, and the IP address. The request validity period is the effective time of the scheduling request, so that the scheduling can be completed within the specified validity time.

[0030] Furthermore, the geographic location can determine the geographic location area where the client is located, where the regional range of the geographic location area is larger than the regional range of the client positioning area. The geographic location can represent the area where the client is located, for example, the South China region, the East China region, the North China region, the Northwest region, etc. Optionally, the geographic location area can represent the province where the client is located, for example, Guangdong Province, Hunan Province, Sichuan Province, etc. It should be understood that the embodiment of the present application does not limit the regional range of the terminal positioning area and the geographic location area. For example, when the terminal positioning area of ​​the client is "Bao'an District, Shenzhen City", the geographic location of the client can be "Shenzhen City". For another example, when the terminal positioning area of ​​the client is "Bao'an District, Shenzhen City", the geographic location area where the client is located can be "Bao'an District, Shenzhen City". The communication operators include China Mobile, China Unicom and China Telecom network communication operators, and the request validity period represents the validity period of the scheduling request. For example, the validity period of the scheduling request is set to 1 minute. When 1 minute expires, the scheduling request will become invalid.

[0031] Step S20: performing multi-level scheduling in the client based on the scheduling request;

[0032] In this embodiment, it should be noted that the multi-level scheduling includes scheduling in the local cache of the client and scheduling based on edge scheduling data in a preset edge storage server, wherein the local cache stores the client's historical scheduling list and the surrounding player scheduling list, and the historical scheduling list includes the client's historical connection records within a preset time, and the historical connection records include information such as geographic location, communication operator, allocated instance resources, information about the computer room to which the instance resources belong, network performance indicators, connection validity period, and number of connection failures, so that when the connection validity period arrives, the historical connection record corresponding to the connection validity period will be deleted. Furthermore, the surrounding player scheduling list is extracted from the edge scheduling data in a preset edge storage server, and the edge scheduling data is obtained based on data interaction between the edge storage server and a preset central routing server. Due to the limitation of the local cache space of the terminal, the number of player scheduling records in the surrounding player scheduling list can be set to be less than the number of player scheduling records in the edge scheduling data.

[0033] It should be further explained that the edge scheduling data is obtained based on data interaction between the edge storage server and the central routing server. The edge scheduling data includes player scheduling records near the client within a preset time period. The player scheduling records store information such as the player's geographic location, the communication operator of the terminal connecting to the target cloud game, the allocated instance resources, the computer room information to which the instance resources belong, and network performance indicators. Among them, the computer room information includes the IP address of the computer room, and the network performance indicators include network delay parameters and network lag rate. In addition, the instance resources in this embodiment include memory, network and other information.

[0034] As an implementation method, when the historical scheduling list in the local cache is not empty, a first-level scheduling is performed in the local cache of the client based on the scheduling request. Specifically, based on the geographic location and request validity period in the scheduling request, a query and match is performed in the historical scheduling list in the local cache. In addition, in order to further reduce the number of successful matches of historical connection records, a query and match can also be performed based on the geographic location, communication operator and request validity period in the scheduling request. If at least two historical connection records are obtained by the query, the corresponding target historical connection record is selected according to the preset selection strategy. For example, the historical connection record closest to the current time is selected. For example, based on the network in the historical connection record, the target historical connection record is selected. The performance indicator selects the historical connection record with the best network performance indicator, and then connects to the computer room information of the target historical connection record, and connects to the instance resource in the idle state corresponding to the computer room information. If the connection is successful, the first-level scheduling is determined to be successful, and the network performance indicator and connection validity period of this connection route are updated to the local cache. If the connection fails, the number of failures of the historical connection record in the local cache is updated. In this embodiment, in order to update and optimize the historical scheduling list in the local cache, if the cumulative number of connection failures exceeds 2 times, the corresponding historical connection record is deleted, and matching scheduling is directly performed through the historical scheduling list of the client in the local cache, so that it can be quickly scheduled to the corresponding computer room without too much interaction.

[0035] Furthermore, it should be noted that in order to reduce the interaction with the edge storage server, the client interacts with the edge storage server for data, extracts a preset number of player scheduling records from the edge scheduling data, forms the surrounding player scheduling list, and caches the surrounding player scheduling list in the local cache. Specifically, when the scheduling fails through the historical scheduling list in the local cache, the player scheduling records in the surrounding player scheduling list are filtered and matched based on the geographic location and the communication operator. If the target player scheduling record is matched, the instance resource corresponding to the target player scheduling record is connected. If the connection is successful, it is determined that the first-level scheduling is successful, and then the historical scheduling list is updated based on the target player scheduling record. If the target player scheduling record is not matched or the connection with the allocated instance resource in the target player scheduling record fails, it is determined that the first-level scheduling corresponding to the local cache has failed.

[0036] Furthermore, when it is determined that the first-level scheduling corresponding to the local cache fails, the edge scheduling data information is obtained. If the edge scheduling data information is not empty, secondary scheduling is performed in the edge scheduling data information based on the scheduling request. Specifically, based on the geographical location and the communication operator, player scheduling records with better network performance indicators are screened out from the edge scheduling data information. In order to improve the success rate of instance resource connection, the number of instance resource screening can be set to at least two, wherein the instance resource with the best network performance indicator is selected as the instance resource to be connected, and at least one other instance resource is used as a backup instance resource. Furthermore, if the instance resource to be connected is in an idle state, the instance resource to be connected is directly connected. If the connection is successful, it is determined that the resource scheduling is successful. If the connection to be connected is successful, it is determined that the resource scheduling is successful. During the process of connecting to the instance resource, if the network signal fails to connect and the standby instance resource is in an idle state, the standby instance resource is connected. If the standby instance resource is successfully connected, the resource scheduling is determined to be successful. Additionally, if the instance resource to be connected and the standby instance resource are in an occupied state, or if both the instance resource to be connected and the standby instance resource fail to connect, the instance resource information of the central routing server is obtained, and the computer room information of the instance resource to be connected is determined. Based on the computer room information, the instance resource information is searched for an idle instance resource corresponding to the computer room information, and the instance resource is connected. If the instance resource is successfully connected, the resource scheduling is determined to be successful. If the instance resource fails to be connected, the secondary scheduling is determined to have failed. This achieves the goal of adding a two-level scheduling method on the client.

[0037] In this embodiment, first-level scheduling is prioritized in the local cache. When first-level scheduling fails, second-level scheduling is performed in the edge scheduling data, thereby reducing interaction with the central routing server and improving resource scheduling efficiency. It should be noted that in this application, it is also possible to prioritize scheduling in the edge scheduling data information and then scheduling from the local cache. The order of scheduling is not specifically limited.

[0038] Step S30: If the multi-level scheduling is successful, the instance resources are allocated;

[0039] In this embodiment, specifically, if the scheduling is successful through the above-mentioned local cache or edge storage server, it is determined that the multi-level scheduling is successful, and the corresponding allocation instance resources are obtained.

[0040] In addition, if scheduling fails through the above-mentioned local cache and edge storage server, it is determined that the multi-level scheduling succeeds or fails, and then the scheduling request is sent to the central routing server through the client, so that the central routing server can query and match the allocation office room information based on the scheduling request, and return the allocation office room information to the client, so that the client can query the target computer room corresponding to the allocation office room information, and then connect the client with the idle instance resource corresponding to the target computer room. If the connection is successful, the idle instance resource will be used as the allocation instance resource to update the scheduling record corresponding to the allocation instance resource to the historical scheduling list of the local cache, so that when resource scheduling is performed next time, resource matching can be performed directly based on the local cache without the need to connect and interact with the central routing server, thereby effectively improving the efficiency of scheduling.

[0041] The present application is implemented through the above-mentioned scheme, that is, obtaining the scheduling request of the target cloud game, and then performing multi-level scheduling in the client based on the scheduling request. Furthermore, if the multi-level scheduling is successful, the instance resources are allocated, and the scheduling of cloud game resources in the client is realized by designing a multi-level scheduling strategy in the client, without going through the layer-by-layer scheduling of the existing central routing server, reducing the interaction with the server, reducing the routing links in the scheduling process, thereby speeding up the connection efficiency with the instance resources, and effectively reducing the computing pressure of the central routing server.

[0042] Further, refer to Figure 2 Based on the first embodiment of the present application, in another embodiment of the present application, the step of performing multi-level scheduling in the client based on the scheduling request includes:

[0043] Step A10: Based on the scheduling request, a first-level scheduling is performed in the local cache of the client, wherein the local cache stores the client's historical scheduling list and a surrounding player scheduling list, and the surrounding player scheduling list is extracted from edge scheduling data of a preset edge storage server, and the edge scheduling data is obtained based on data interaction between the edge storage server and a preset central routing server;

[0044] In this embodiment, it should be noted that the historical scheduling list is a historical connection record of the client within a preset time, and the historical connection record includes information such as geographic location, communication operator, allocated instance resources, information about the computer room to which the instance resources belong, network performance indicators, connection validity period, and number of connection failures.

[0045] Specifically, before the validity period of the request is reached, based on the geographic location in the scheduling request, a query is made in the historical scheduling list in the local cache to see whether there is a historical connection record corresponding to the geographic location. If there is a historical connection record corresponding to the scheduling request, the information of the computer room to be scheduled in the historical connection record that has been successfully matched is determined, wherein the information of the computer room to be scheduled includes the IP address of the bureau computer room to be scheduled, so that the client can connect to the instance resource in the idle state in the bureau computer room of the IP address. If the connection with the instance resource is successful, it proves that the first-level scheduling is successful, and then the instance resource is used as the allocated instance resource corresponding to the first-level scheduling. For example, the user plays the target cloud game for the nth time in Bao'an District, Shenzhen City today. When the user needs to log in to play the target cloud game again, the user will quickly query the previous successful scheduling information based on the historical connection records of Bao'an District, Shenzhen City stored in the local cache, so that the corresponding computer room address and other information can be quickly scheduled without too much interaction.

[0046] Furthermore, if there is no historical connection record corresponding to the scheduling request or the instance resource connection fails, then, based on the geographic location and telecommunications carrier in the scheduling request, the surrounding player scheduling list in the local cache is queried to see if there is a player scheduling record corresponding to the scheduling request. It should be noted that the surrounding player scheduling list in the local cache is obtained by extracting the edge scheduling data information of the edge storage server. The client pulls a preset amount of data from the edge scheduling data information according to the preset update frequency. Due to the limited local cache space of the client, the amount of data pulled will be much smaller than the amount of edge scheduling data information on the server in the edge storage. For example, the preset update frequency is 7:00 a.m. every day, so that the client pulls player scheduling records from the edge scheduling data information in the edge storage server at 7:00 a.m. every day to form the surrounding player scheduling list. Furthermore, if the surrounding player scheduling list contains a player scheduling record corresponding to the scheduling request, the instance resource corresponding to the player scheduling record is connected. If the connection is successful, the first-level scheduling is determined to be successful. If the surrounding player scheduling list does not contain a player scheduling record corresponding to the scheduling request or the connection to the instance resource corresponding to the player scheduling record fails, the first-level scheduling is determined to be unsuccessful.

[0047] Step A20: If the first-level scheduling is successful, then the multi-level scheduling is determined to be successful, and the allocated instance resources corresponding to the first-level scheduling are obtained;

[0048] In this embodiment, specifically, if the first-level scheduling is successful, it proves that the historical scheduling list or the surrounding player scheduling list in the local cache is queried and matched to obtain the instance resource corresponding to the scheduling request, and the connection to the instance resource is successful. In addition, if the connection to the instance resource of the historical connection record in the historical scheduling list is successful, the network performance index of the instance resource of the historical connection record of this connection is calculated, and the current network performance index is updated to the historical scheduling list scheduling of the local cache, and the connection validity period of the historical connection record of this connection is updated. In addition, if the connection to the instance resource of the player scheduling record in the surrounding player scheduling list is successful, the player scheduling record of this connection is added to the historical scheduling list of the local cache, and the network performance index and connection validity period of the player scheduling record of this connection are updated, so that the player scheduling record in the local cache can be directly scheduled subsequently, thereby improving the efficiency of resource scheduling.

[0049] Step A30: If the primary scheduling fails, obtaining edge scheduling data information in the edge storage server, and performing secondary scheduling in the edge scheduling data information based on the scheduling request;

[0050] In this embodiment, specifically, if the first-level scheduling fails, it proves that the historical scheduling list and the surrounding player scheduling list in the local cache have both failed to schedule, and then the edge scheduling data information in the edge storage server is obtained. It should be noted that the edge scheduling data information is obtained based on data interaction between the edge storage server and the central routing server. Specifically, the edge storage server requests the central routing server to pre-allocate player scheduling records that are geographically close to the client to obtain the edge scheduling data information.

[0051] Furthermore, before the validity period of the request expires, based on the geographic location and communication operator in the scheduling request, a predetermined number of target player scheduling records are matched from the edge scheduling data information, and then a preset number of target instance resources are screened in each of the target player scheduling records. In order to improve the success rate of instance resource connection, the target instance resource with the best network performance indicator can be selected as the instance resource to be connected based on the network performance indicator corresponding to each target instance resource, and the remaining target instance resources are used as standby instance resources. Furthermore, if the instance resource to be connected is in an idle state, the instance resource to be connected is connected. If the connection with the instance resource to be connected is successful, the secondary scheduling is determined to be successful. If the connection with the instance resource to be connected fails and the standby instance resource is in an idle state, the standby instance resource is connected. If the connection with the standby instance resource is successful, the secondary scheduling is determined to be successful. If the instance resource to be connected and the standby instance resource are both in an occupied state or the connection with both the instance resource to be connected and the standby instance resource fails, the secondary scheduling is determined to be failed.

[0052] Step A40: If the secondary scheduling is successful, then the multi-level scheduling is determined to be successful, and the allocated instance resources corresponding to the secondary scheduling are obtained;

[0053] Step A50: If the secondary scheduling fails, it is determined that the multi-level scheduling fails.

[0054] In this embodiment, specifically, if the secondary scheduling is successful, the multi-level scheduling is determined to be successful, that is, it is proved that the player scheduling record corresponding to the scheduling request is obtained in the edge scheduling data information query, and the instance resource corresponding to the player scheduling record is successfully connected. In addition, the player scheduling record in the edge scheduling data information is updated to the historical scheduling list in the local cache, so that subsequent scheduling matching can be performed directly based on the historical scheduling list in the scheduling process, thereby speeding up the connection efficiency with the instance resource. In addition, if the secondary scheduling fails, the multi-level scheduling is determined to have failed.

[0055] Through the above scheme, this application realizes the addition of two-level client scheduling, that is, scheduling is performed based on local storage in the client first, and then scheduling is performed based on the player scheduling records of nearby players, thereby reducing the interaction with the central routing server, speeding up the efficiency of instance resource scheduling, and thus reducing the waiting time for cloud game startup and optimizing the player experience.

[0056] Further, refer to Figure 3 Based on the second embodiment of the present application, in another embodiment of the present application, the step of performing first-level scheduling in the local cache of the client based on the scheduling request includes:

[0057] Step B10: querying, based on the geographical location and the validity period of the request, whether there is information of a to-be-scheduled computer room corresponding to the scheduling request in the historical scheduling list;

[0058] Step B20: If it exists and is successfully connected to the allocation instance resource in the idle state in the to-be-scheduled computer room information, it is determined that the first-level scheduling is successful;

[0059] Step B30: If no such player exists, then based on the geographic location and the communication operator, filter and match the player scheduling records in the surrounding player scheduling list;

[0060] Step B40: If the target player's scheduling record is matched and the target player's scheduling record is successfully connected to the allocated instance resource, the first-level scheduling is determined to be successful;

[0061] Step B50: If no target player scheduling record is found or the connection with the allocated instance resource in the target player scheduling record fails, it is determined that the first-level scheduling has failed.

[0062] In this embodiment, it should be noted that the historical connection records in the historical scheduling list include information such as geographic location, communication operator, allocated instance resources, computer room information to which the instance resources belong, network performance indicators, connection validity period, and number of connection failures, among which the connection validity period is used to update the historical connection records.

[0063] Specifically, before the validity period of the request expires, based on the geographic location, the historical scheduling list is queried to determine whether there is information of the computer room to be scheduled corresponding to the scheduling request. If so, based on the information of the computer room to be scheduled, the instance resource in an idle state corresponding to the information of the computer room to be scheduled is connected. If the connection is successful, the scheduling is successful, and the network performance indicator corresponding to the historical connection record of this connection is updated to the historical scheduling list in the local cache. If the connection with the instance resource fails, it proves that the scheduling in the historical scheduling list has failed, and the number of connection failures of the historical connection record in the local cache is updated. In this embodiment, it can be set that if the cumulative number of connection failures exceeds 2 times, the corresponding historical connection record is deleted, thereby updating the historical connection record of the historical scheduling list to ensure the validity of the data.

[0064] It should be noted that, to reduce interaction with the edge storage server and improve the efficiency of instance resource scheduling, in this embodiment, the client periodically pulls player scheduling records for a preset number of nearby players from the edge storage server to form the nearby player scheduling list. Due to limited local cache storage space, the number of player scheduling records pulled is set based on actual conditions and is not specifically limited here. In addition, to ensure data validity, the client pulls and updates the nearby player scheduling list from the edge storage server at a preset update frequency, for example, updating the data once a day.

[0065] Furthermore, if the historical scheduling list does not contain the information of the computer room to be scheduled corresponding to the scheduling request or the connection with the instance resource in the historical scheduling list fails, then based on the geographical location and the communication operator, the player scheduling records in the surrounding player scheduling list are screened and matched. Additionally, the player scheduling records in the surrounding player scheduling list are screened and matched. If the target player scheduling record is screened and matched, the instance resource corresponding to the target player scheduling record is connected. If the connection with the instance resource is successful, the first-level scheduling is determined to be successful, and the instance resource is used as the allocated instance resource corresponding to the first-level scheduling. The target player scheduling record is then updated to the historical scheduling list, and the network performance indicators and connection validity period of the current target player scheduling record connection are recorded. If the target player scheduling record is not screened and matched or the connection with the allocated instance resource in the target player scheduling record fails, the first-level scheduling is determined to be failed.

[0066] Through the above scheme, this application realizes the scheduling of the historical scheduling list stored in the local cache and the scheduling list of surrounding players. During the scheduling process, the scheduling is completed through basic query operations, thereby reducing the interaction with the central routing server, thereby saving the computing power resources of the central routing server and speeding up the instance resource scheduling.

[0067] Further, refer to Figure 4Based on the second embodiment of the present application, in another embodiment of the present application, the step of performing secondary scheduling in the edge scheduling data information based on the scheduling request includes:

[0068] Step C10: Before the expiration of the request validity period, based on the geographic location and the communication operator, filter the target instance resource from the player scheduling record of the edge scheduling data information, and record the site computer room information to which the target instance resource belongs;

[0069] The step of filtering the target instance resource from the player scheduling record in the edge scheduling data information based on the geographic location and the communication operator includes:

[0070] Step C11, querying the edge scheduling data information for each player's scheduling record that matches the geographic location and the communication operator;

[0071] Step C12: Based on the network performance indicators in the player scheduling records, the player scheduling records are prioritized to obtain a scheduling record sorting sequence, and the target instance resource is selected from the scheduling record sorting sequence.

[0072] In this embodiment, it should be noted that the player scheduling records in the edge scheduling data information are set with a timestamp. When the timestamp of the player scheduling record exceeds the preset time, the player scheduling record is deleted. In addition, when the number of player scheduling records in the edge scheduling data information exceeds the preset number of records, the player scheduling records with older timestamps are deleted from far to near in order of timestamps.

[0073] Specifically, before the validity period of the request arrives, based on the geographical location and the communication operator, a preset number of player scheduling records are screened from the edge scheduling data information, and based on the network performance indicators of each player scheduling record, each player scheduling record is prioritized to obtain a scheduling record sorting sequence, and then a target instance resource is selected from the scheduling record sorting sequence, wherein the target instance resource includes an instance resource to be connected and a backup instance resource, and then the instance resource with the best network performance indicator is used as the instance resource to be connected, and then the remaining target instance resources are used as backup instance resources, thereby improving the success rate of the connection, and the site computer room information of the instance resource to be connected and the backup instance resource is recorded.

[0074] Step C20: If the target instance resource is in an idle state and the connection with the target instance resource is successful, it is determined that the secondary scheduling is successful;

[0075] Step C30: if the target instance resource is in an occupied state or the connection with the target instance resource fails, then obtaining the instance resource information of the central routing server;

[0076] In this embodiment, specifically, if the instance resource to be connected is in an idle state, the instance resource to be connected is connected. If the connection with the instance resource to be connected is successful, the secondary scheduling is determined to be successful. During the connection process, there may be a situation where the current network signal is poor and the connection fails. Therefore, if the connection with the instance resource to be connected fails and the standby instance resource is in an idle state, the standby instance resource is connected. If the connection with the standby instance resource is successful, the secondary scheduling is determined to be successful, thereby improving the connection success rate by setting the instance resource to be connected and the standby instance resource for connection.

[0077] Step C40: query the instance resource information for instance resources in the office computer room information that are in an idle state.

[0078] Step C50: If the connection with the instance resource is successful, it is determined that the secondary scheduling is successful;

[0079] Step C60: If the connection with the instance resource fails, it is determined that the secondary scheduling fails.

[0080] In this embodiment, specifically, if the instance resource to be connected and the standby instance resource are both in an occupied state, it proves that the instance resource to be connected and the standby instance resource have been connected by other terminals, or if the connection with both the instance resource to be connected and the standby instance resource fails, the instance resource information of the central routing server is obtained, wherein the instance resource information is the instance resource determined based on the user's current geographic location, and then the instance resource in the idle state in the bureau computer room information is queried from the instance resource information, and the instance resource is connected. If the connection with the instance resource is successful, it is determined that the secondary scheduling is successful. If the connection with the instance resource fails, it is determined that the secondary scheduling fails.

[0081] In addition, after the secondary scheduling is successful, the network performance indicators of the currently connected instance resources will be calculated, such as the average network delay and network lag rate, and then based on the network performance indicators, the player scheduling record of the edge scheduling data information will be updated, and the updated player scheduling record will be cached in the historical scheduling list, and a connection validity period will be added to the record, so that when the resource is scheduled next time, the query and matching will be directly performed according to the locally cached historical scheduling list, greatly improving the efficiency of instance resource connection.

[0082] The embodiment of the present application uses the above-mentioned solution to implement secondary scheduling in the edge scheduling data information after scheduling fails in the local cache. Since the edge scheduling data information stores a large number of scheduling records of surrounding players, it is possible to directly query and match the corresponding allocated instance resources, thereby reducing the interaction with the central routing server, thereby saving the computing power resources of the central routing server and speeding up the scheduling of instance resources.

[0083] Further, refer to Figure 5 Based on the fourth embodiment of the present application, in another embodiment of the present application, after the step of determining that resource scheduling is successful if the instance resource is successfully connected, the method further includes:

[0084] Step D10: updating the state corresponding to the current connection instance resource in the edge scheduling data information;

[0085] Step D20, determining the number of instances of instance resources in an idle state in the edge scheduling data information;

[0086] Step D30: Allocate or reclaim instance resources in the edge scheduling data information based on the number of instances.

[0087] In this embodiment, specifically, the edge storage server requests the central routing server to allocate a certain number of instance resources in an idle state in the information of each computer room. When the use request of the instance resources comes, the edge storage server will update the status of the instance resources in the edge scheduling data information in real time, and determine the number of instances of the instance resources in the idle state in the edge scheduling data information. When the number of instances is less than the first preset resource number (for example, the number of instances is less than 15%), the edge storage server requests the central routing server to increase the pre-allocated instance resources, thereby obtaining more instance resources in an idle state. Furthermore, when the number of instances is greater than the second preset resource number (for example, the number of instances reaches 70%), the edge storage server returns a certain number of idle instance resources to the central routing server, and when the use request of the cloud instance resources comes, the edge storage server requests / releases the pre-allocated idle resources from the central routing server, thereby realizing dynamic allocation and recovery of idle cloud instances in the edge storage server and improving the utilization rate of instance resources.

[0088] Reference Figure 6 , Figure 6 It is a schematic diagram of the cloud gaming resource scheduling device structure of the hardware operating environment involved in the embodiment of the present application.

[0089] like Figure 6As shown, the cloud gaming resource scheduling device may include: a processor 1001, such as a CPU, a memory 1005, and a communication bus 1002. The communication bus 1002 is used to implement communication between the processor 1001 and the memory 1005. The memory 1005 may be a high-speed RAM memory or a non-volatile memory, such as a disk storage device. The memory 1005 may optionally be a storage device independent of the aforementioned processor 1001.

[0090] Optionally, the cloud gaming resource scheduling device may further include a rectangular user interface, a network interface, a camera, an RF (Radio Frequency) circuit, a sensor, an audio circuit, a WiFi module, and the like. The rectangular user interface may include a display screen and an input submodule such as a keyboard. Optionally, the rectangular user interface may also include a standard wired interface and a wireless interface. The network interface may optionally include a standard wired interface and a wireless interface (such as a WiFi interface).

[0091] Those skilled in the art will understand that Figure 6 The cloud gaming resource scheduling device structure shown in the does not constitute a limitation on the cloud gaming resource scheduling device, and may include more or fewer components than shown in the figure, or a combination of certain components, or a different arrangement of components.

[0092] like Figure 6 As shown, memory 1005, a computer storage medium, may include an operating network communication module and a cloud gaming resource scheduling program. The operating system is a program that manages and controls the hardware and software resources of the cloud gaming resource scheduling device, supporting the operation of the cloud gaming resource scheduling program and other software and / or programs. The network communication module is used to enable communication between the various components within memory 1005.

[0093] exist Figure 6 In the cloud game resource scheduling device shown, the processor 1001 is used to execute the cloud game resource scheduling program stored in the memory 1005 to implement the steps of the cloud game resource scheduling method described in any one of the above items.

[0094] The specific implementation of the cloud game resource scheduling device of this application is basically the same as the various embodiments of the above-mentioned cloud game resource scheduling method, and will not be repeated here.

[0095] In addition, please refer to Figure 7 , Figure 7 This is a functional module diagram of the client of the present application. The present application also provides a client, which includes:

[0096] The acquisition module is used to obtain the scheduling request of the target cloud game;

[0097] A multi-level scheduling module, configured to perform multi-level scheduling in the client based on the scheduling request;

[0098] The acquisition module is used to obtain the allocated instance resources if the multi-level scheduling is successful;

[0099] Optionally, the multi-level scheduling module is further configured to:

[0100] Based on the scheduling request, a first-level scheduling is performed in the local cache of the client, wherein the local cache stores the client's historical scheduling list and the surrounding player scheduling list, and the surrounding player scheduling list is extracted from edge scheduling data of a preset edge storage server, and the edge scheduling data is obtained based on data interaction between the edge storage server and a preset central routing server;

[0101] If the first-level scheduling is successful, the multi-level scheduling is determined to be successful, and the allocation instance resources corresponding to the first-level scheduling are obtained;

[0102] If the first-level scheduling fails, obtaining edge scheduling data information in the edge storage server, and performing second-level scheduling in the edge scheduling data information based on the scheduling request;

[0103] If the secondary scheduling is successful, the multi-level scheduling is determined to be successful, and the allocation instance resources corresponding to the secondary scheduling are obtained;

[0104] If the secondary scheduling fails, it is determined that the multi-level scheduling has failed.

[0105] Optionally, the multi-level scheduling module is further configured to:

[0106] According to the geographical location and the validity period of the request, querying in the historical scheduling list whether there is information of a to-be-scheduled computer room corresponding to the scheduling request;

[0107] If it exists and is successfully connected to the allocation instance resource in the idle state in the information of the to-be-scheduled computer room, it is determined that the first-level scheduling is successful;

[0108] If not, filtering and matching the player scheduling records in the surrounding player scheduling list based on the geographic location and the communication operator;

[0109] If the target player scheduling record is matched by the screening, and the allocation instance resource in the target player scheduling record is successfully connected, the first-level scheduling is determined to be successful;

[0110] If the target player scheduling record is not screened and matched or the connection with the allocated instance resource in the target player scheduling record fails, it is determined that the first-level scheduling has failed.

[0111] Optionally, the multi-level scheduling module is further configured to:

[0112] Before the request validity period expires, based on the geographic location and the communication operator, a target instance resource is obtained from the player scheduling record of the edge scheduling data information, and information about the site computer room to which the target instance resource belongs is recorded;

[0113] If the target instance resource is in an idle state and the connection with the target instance resource is successful, it is determined that the secondary scheduling is successful;

[0114] If the target instance resource is in an occupied state or the connection with the target instance resource fails, the instance resource information of the central routing server is obtained; the instance resource in the idle state in the bureau computer room information is queried from the instance resource information; if the connection with the instance resource is successful, the secondary scheduling is determined to be successful; if the connection with the instance resource fails, the secondary scheduling is determined to be a failure.

[0115] Optionally, the multi-level scheduling module is further configured to:

[0116] If the instance resource to be connected is in an idle state, connecting to the instance resource to be connected;

[0117] If the connection with the instance resource to be connected is successful, it is determined that the secondary scheduling is successful;

[0118] If the connection with the instance resource to be connected fails and the standby instance resource is in an idle state, the standby instance resource is connected; if the connection with the standby instance resource is successful, it is determined that the secondary scheduling is successful.

[0119] Optionally, the client is further configured to:

[0120] Querying the edge scheduling data information for each player's scheduling record that matches the geographic location and the communication operator;

[0121] Based on the network performance indicators in each of the player scheduling records, the player scheduling records are prioritized to obtain a scheduling record sorting sequence, and the target instance resource is selected from the scheduling record sorting sequence.

[0122] Optionally, the client is further configured to:

[0123] In the edge scheduling data information, updating the status corresponding to the current connection instance resource;

[0124] Determining the number of instances of instance resources in an idle state in the edge scheduling data information;

[0125] Based on the number of instances, instance resources in the edge scheduling data information are allocated or reclaimed.

[0126] The specific implementation of the client of this application is basically the same as the above-mentioned embodiments of the cloud game resource scheduling method, and will not be repeated here.

[0127] An embodiment of the present application provides a storage medium, which is a computer-readable storage medium, and the computer-readable storage medium stores one or more programs, and the one or more programs can also be executed by one or more processors to implement the steps of the cloud game resource scheduling method described in any one of the above items.

[0128] The specific implementation of the computer-readable storage medium of this application is basically the same as the various embodiments of the above-mentioned cloud game resource scheduling method, and will not be repeated here.

[0129] The above are only preferred embodiments of the present application and do not limit the patent scope of the present application. Any equivalent structure or equivalent process transformation made using the contents of the present application specification and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent processing scope of the present application.

Claims

1. A cloud game resource scheduling method, characterized in that: The method is applied to a client, and the cloud game resource scheduling method includes: Get the scheduling request of the target cloud game; Based on the scheduling request, multi-level scheduling is performed in the client; If multi-level scheduling is successful, instance resources are allocated; The step of performing multi-level scheduling in the client based on the scheduling request includes: Based on the scheduling request, a first-level scheduling is performed in the local cache of the client, wherein the local cache stores the client's historical scheduling list and the surrounding player scheduling list, and the surrounding player scheduling list is extracted from edge scheduling data of a preset edge storage server, and the edge scheduling data is obtained based on data interaction between the edge storage server and a preset central routing server; If the first-level scheduling is successful, the multi-level scheduling is determined to be successful, and the allocation instance resources corresponding to the first-level scheduling are obtained; If the first-level scheduling fails, obtaining edge scheduling data information in the edge storage server, and performing second-level scheduling in the edge scheduling data information based on the scheduling request; If the secondary scheduling is successful, the multi-level scheduling is determined to be successful, and the allocation instance resources corresponding to the secondary scheduling are obtained; If the secondary scheduling fails, it is determined that the multi-level scheduling has failed.

2. The cloud game resource scheduling method according to claim 1, wherein: The scheduling request includes the geographic location, the validity period of the request and the communication operator, and the surrounding player scheduling list includes several player scheduling records. The step of performing first-level scheduling in the local cache of the client based on the scheduling request includes: According to the geographical location and the validity period of the request, querying in the historical scheduling list whether there is information of a to-be-scheduled computer room corresponding to the scheduling request; If it exists and is successfully connected to the allocation instance resource in the idle state in the information of the to-be-scheduled computer room, it is determined that the first-level scheduling is successful; If not, filtering and matching the player scheduling records in the surrounding player scheduling list based on the geographic location and the communication operator; If the target player scheduling record is matched by the screening, and the allocation instance resource in the target player scheduling record is successfully connected, the first-level scheduling is determined to be successful; If the target player scheduling record is not screened and matched or the connection with the allocated instance resource in the target player scheduling record fails, it is determined that the first-level scheduling has failed.

3. The cloud game resource scheduling method according to claim 2, wherein: The step of performing secondary scheduling in the edge scheduling data information based on the scheduling request includes: Before the request validity period expires, based on the geographic location and the communication operator, a target instance resource is obtained from the player scheduling record of the edge scheduling data information, and information about the site computer room to which the target instance resource belongs is recorded; If the target instance resource is in an idle state and the connection with the target instance resource is successful, it is determined that the secondary scheduling is successful; If the target instance resource is in an occupied state or the connection with the target instance resource fails, the instance resource information of the central routing server is obtained; the instance resource in the idle state in the bureau computer room information is queried from the instance resource information; if the connection with the instance resource is successful, the secondary scheduling is determined to be successful; if the connection with the instance resource fails, the secondary scheduling is determined to be a failure.

4. The cloud game resource scheduling method according to claim 3, wherein: The target instance resources include instance resources to be connected and standby instance resources. If the target instance resource is in an idle state and the connection with the target instance resource is successful, the step of determining that the secondary scheduling is successful includes: If the instance resource to be connected is in an idle state, connecting to the instance resource to be connected; If the connection with the instance resource to be connected is successful, it is determined that the secondary scheduling is successful; If the connection with the instance resource to be connected fails and the standby instance resource is in an idle state, the standby instance resource is connected; if the connection with the standby instance resource is successful, it is determined that the secondary scheduling is successful.

5. The cloud game resource scheduling method according to claim 3, wherein: The step of filtering the target instance resource from the player scheduling record in the edge scheduling data information based on the geographic location and the communication operator includes: Querying the edge scheduling data information for each player's scheduling record that matches the geographic location and the communication operator; Based on the network performance indicators in each of the player scheduling records, the player scheduling records are prioritized to obtain a scheduling record sorting sequence, and the target instance resource is selected from the scheduling record sorting sequence.

6. The cloud game resource scheduling method according to claim 3, wherein: After the step of determining that the secondary scheduling is successful, the method further includes: In the edge scheduling data information, updating the status corresponding to the current connection instance resource; Determining the number of instances of instance resources in an idle state in the edge scheduling data information; Based on the number of instances, instance resources in the edge scheduling data information are allocated or reclaimed.

7. A client, characterized in that: The client includes: The acquisition module is used to obtain the scheduling request of the target cloud game; A multi-level scheduling module, configured to perform multi-level scheduling in the client based on the scheduling request; The acquisition module is used to obtain the allocated instance resources if the multi-level scheduling is successful; The multi-level scheduling module is specifically used for: Based on the scheduling request, a first-level scheduling is performed in the local cache of the client, wherein the local cache stores the client's historical scheduling list and the surrounding player scheduling list, and the surrounding player scheduling list is extracted from edge scheduling data of a preset edge storage server, and the edge scheduling data is obtained based on data interaction between the edge storage server and a preset central routing server; If the first-level scheduling is successful, the multi-level scheduling is determined to be successful, and the allocation instance resources corresponding to the first-level scheduling are obtained; If the first-level scheduling fails, obtaining edge scheduling data information in the edge storage server, and performing second-level scheduling in the edge scheduling data information based on the scheduling request; If the secondary scheduling is successful, the multi-level scheduling is determined to be successful, and the allocation instance resources corresponding to the secondary scheduling are obtained; If the secondary scheduling fails, it is determined that the multi-level scheduling has failed.

8. A cloud game resource scheduling device, characterized in that: The cloud game resource scheduling device includes: a memory, a processor, and a cloud game resource scheduling program stored in the memory. The cloud gaming resource scheduling program is executed by the processor to implement the steps of the cloud gaming resource scheduling method as described in any one of claims 1 to 6.

9. A storage medium, wherein the storage medium is a computer-readable storage medium, characterized in that: The computer-readable storage medium stores a cloud gaming resource scheduling program, which is executed by a processor to implement the steps of the cloud gaming resource scheduling method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Space-time data visualization task execution method based on cloud edge-end architecture

    CN113032132A

  • Cloud game resource scheduling method and device, equipment and storage medium

    CN113274736A