Detailed Description
The embodiment of the application provides a cloud game processing method, a cloud game local area network, cloud game equipment and a storage medium, which are used for continuing to run a cloud game under the condition that terminal equipment and the Internet are disconnected.
The terms "first," "second," "third," "fourth" and the like in the description and in the claims and in the above drawings, if any, are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged where appropriate such that the embodiments of the application described herein may be implemented, for example, in sequences other than those illustrated or otherwise described herein. Furthermore, the terms "comprises," "comprising," and "includes" and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed or inherent to such process, method, article, or apparatus.
In order to more clearly understand the technical scheme provided by the embodiment of the present application, the following description is given of the technical terms related to the embodiment of the present application:
Cloud Gaming (Cloud Gaming), which may also be referred to as game on Demand, is a game style based on Cloud computing technology. Cloud gaming enables lightweight devices (THIN CLIENT) with relatively limited graphics processing and data computing capabilities to run high quality games. In cloud game scenes, all game processes are not operated in a client of a terminal used by a user, but are operated in a game server, and the game server compresses and codes game pictures and game audio in the game processes into a media stream, and then transmits the media stream to the client used by the user through a network, wherein the media stream can comprise a game video stream and a game audio stream. The client used by the user does not need to have strong graphic processing and data operation capability, but only needs to have basic streaming media playing capability and the capability of acquiring the operation instruction input by the user and sending the operation instruction input by the user to the game server.
The cloud computing technology provides graphic processing capability and data computing capability for the game server so as to support smooth running of the cloud game. Cloud Computing (Cloud Computing) is a Computing model that distributes Computing tasks across a large pool of computer-made resources, enabling various application systems to acquire Computing power, storage space, and information services as needed. The network that provides the resources is referred to as the "cloud". The resources in the "cloud" appear to the user to be infinitely expandable and available at any time, on demand, expandable at any time, pay-per-use. As a basic capability provider of cloud computing, a cloud computing resource pool (abbreviated as a cloud platform) is established, which is generally called an Infrastructure AS A SERVICE (Iaas) platform, and multiple types of virtual resources are deployed in the cloud computing resource pool for external clients to select for use. The cloud computing resource pool mainly comprises computing equipment (which is a virtualized machine and comprises an operating system), storage equipment and network equipment. According to the logic function division, a Platform as a service (PaaS) layer can be deployed on the IaaS layer, and a Software as a service (SaaS) layer can be deployed on the PaaS layer, or the SaaS layer can be directly deployed on the IaaS layer. PaaS is a platform on which software (e.g., databases, web containers, etc.) runs. SaaS is a wide variety of business software (e.g., web portals, text message mass senders, etc.). Generally, saaS and PaaS are upper layers relative to IaaS.
Cloud computing may refer to the delivery and usage patterns of the internet technology (Internet Technology, IT) infrastructure, to obtaining required resources in an on-demand, easily scalable manner over a network, and generalized cloud computing refers to the delivery and usage patterns of services, to obtaining required services in an on-demand, easily scalable manner over a network. Such services may be IT, software, internet related, or other services. Cloud Computing is a product of fusion of traditional computer and network technology developments such as Grid Computing (Grid Computing), distributed Computing (DistributedComputing), parallel Computing (Paralle 1 Computing), utility Computing (Utility Computing), network storage (Network Storage Technologies), virtualization (Virtualization), load balancing (Load balancing), and the like. With the development of the internet, real-time data flow and diversification of connected devices, and the promotion of demands of search services, social networks, mobile commerce, open collaboration and the like, cloud computing is rapidly developed. Unlike the previous parallel distributed computing, the generation of cloud computing will promote the revolutionary transformation of the whole internet mode and enterprise management mode in concept.
Game Process A game process can also be understood as a cloud game instance, wherein one game process is a cloud game instance, the cloud game is deployed and run on the cloud game instance, the cloud game instance represents virtual computing resources, and the virtual computing resources can comprise a set of basic computing components such as a central processing unit (Central Processing Unit, CPU), an operating system, a network, a disk, a graphics processor (Graphics Processing Unit, GPU) and the like, namely, the game process is a successfully started and practically operable cloud game.
The implementation principle of the cloud game is approximately as shown in fig. 1, a terminal device (such as a mobile phone, a Personal Computer (PC) and the like) can comprise a client of the cloud game, and a user can enter the cloud game through the client to play. 2. For example, a certain user uses the client to enter the cloud game to play, and at the moment, the game server starts and runs a game process at the cloud, and the game process corresponds to the client used by the user, and the game process provides a game picture of the cloud game for the client. 3. When the user executes various operations (such as touch screen operation and mouse and keyboard operation) in the game screen, the client reports the operation data generated by the operations to the game server, the game server refreshes the game screen of the cloud game according to the operation data in the corresponding game process, and the refreshed game screen is returned to the client for display. The operations performed by the user in the game screen may include, for example, a move operation, a select operation, etc., the user moving a game character in the game screen from a first position in the game screen to a second position in the game screen, and, for example, the user selecting (e.g., clicking, double clicking, long clicking, etc.) a game control in the game screen. Based on the above description, the terminal devices in the cloud game running process need to be connected to a remote server deployed in a fixed machine room to realize real-time cloud game transmission. Thus requiring a normal and stable internet connection for the terminal device. Such as through a cellular network or through home broadband. If the terminal device cannot be stably connected to the internet, the existing cloud game method cannot be operated.
In order to solve the problems, the application provides the technical scheme that a local cloud game server sends broadcasting information in a local area network, the broadcasting information is used for indicating cloud game resources supported by the local cloud game server, the local area network comprises the local cloud game server, an exchanger and N terminal devices, the local cloud game server and the N terminal devices are connected to the exchanger, so that the local cloud game server and the N terminal devices can realize local area network communication, the N terminal devices cannot be connected with the Internet, N is an integer greater than or equal to 1, the N terminal devices receive the broadcasting information and determine cloud game resources supported by the local cloud game server according to the broadcasting information, the N terminal devices send an access request for accessing a first cloud game to the local cloud game server, the first cloud game is one of the cloud game resources, the local cloud game server responds to the access request to establish local cloud game server and N terminal devices to realize local cloud game server and N terminal game data transmission through a data channel of the local cloud game server and the local game server.
Based on the above description, the processing method of the cloud game provided by the application can be applied to a network architecture as shown in fig. 2 or fig. 3. As shown in fig. 2, the network architecture includes a local cloud game server 101, N terminal devices 102, and a switch 103, where N is an integer greater than or equal to 1. The network architecture shown in fig. 1 is illustrated with n=3 as an example, i.e. the network architecture comprises 3 terminal devices 102 as an example. It will be appreciated that the client corresponding to the cloud game is deployed on the terminal device, where the client may run on the terminal device 102 in the form of a browser, may also run on the terminal device 102 in the form of a stand-alone Application (APP), etc., and the specific presentation form of the client is not limited herein. The local cloud game server 101 related to the present application may be an independent physical server, may be a server cluster or a distributed system formed by a plurality of physical servers, may also be a cloud server providing cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, a content distribution network (Content Delivery Network, CDN), and basic cloud computing services such as big data and an artificial intelligence platform, or may be a server in a blockchain. The local cloud gaming server 101 may be used to run a game session of a cloud game for access and play by a user. Any one of the N terminal devices may be, but not limited to, a smart phone, a tablet computer, a notebook computer, a palm computer, a desktop computer, a smart television, a smart watch, a vehicle-mounted device, a wearable device, and the like. The terminal device 102 and the local cloud game server 101 may be connected to the switch 103 through a wired or wireless communication manner, so as to implement local area network communication between the terminal device 102 and the local cloud game server 101, which is not limited herein. The number of servers and terminal devices is not limited either. The scheme provided by the application can be independently completed by the terminal equipment, can be independently completed by the server, and can be completed by the cooperation of the terminal equipment and the server, so that the scheme is not particularly limited. It will be appreciated that the server and the terminal device are in local area network communication.
In a network architecture of a cloud game consisting of a local cloud game server and N terminal devices, N users can access to the same game process of the cloud game through N clients running in the N terminal devices respectively, N paths of processing resources can be included in the game process, one client corresponds to one path of processing resources, the local cloud game server can acquire game resource data matched with each client in the game process by calling the processing resources corresponding to each client in the N clients respectively, and transmit the game resource data corresponding to each client respectively, so that isolation among the N clients, namely the game resource data of N users, can be achieved, wherein the game resource data matched with each client can comprise a game video stream of each client in the game process and a game audio stream of each client in the game process, and in addition, when an input event of any client in the N clients is captured, the input event can be responded by calling the processing resources corresponding to the client generating the input event, and isolation among the N users can be achieved.
Fig. 3 shows a schematic diagram of a network architecture according to another exemplary embodiment of the present application. As shown in fig. 3, the terminal may include hardware and software development kits (Software Development Kit, SDK), where the hardware may include a display screen, an operating system, and the like. The SDK can refer to a client, can be used for carrying out account authentication on a user logging in the client, for example, comparing an account password input by the user with an account password stored in the client, and can also be used for playing game resource data such as a game video stream, a game audio stream and the like sent by a local cloud game server.
The local cloud game server may be a server cluster formed by a plurality of physical servers, and the server cluster may include a login server, a matching server, a process server, a database server, a media stream server and the like. The local cloud game server performs data interaction with the terminal equipment through the switch. Wherein the login server may be used to access manage a game session or cloud game. The matching server may be used to match between the user and the cloud game, e.g., the matching server may be used to connect the user to the cloud game that the user requested to be connected to, or the matching server may be used to match between the user and the game process, e.g., the matching server may be used to connect the user to the game process that the user requested to be connected to. The process server can be used for running the game process and managing the running game process, for example, when a user requests to start the game process, the process server can judge whether the number of the started game processes in the process server reaches a threshold value, if the number of the started game processes reaches the threshold value, the starting of the new game process is refused, and if the number of the started game processes does not reach the threshold value, the starting of the new game process is allowed, for example, the process server can immediately release the game process when the game process is finished, so that the memory occupation of the process server is reduced, and the starting of the new game process is facilitated. The database service may be used to provide data storage services, game resources such as scene resources, character skin resources, etc. may be stored in the database server from which they may be loaded when the process server initiates a game process. The media stream server may be configured to encode the game video to obtain a game video stream, and may encode the game audio to obtain a game audio stream, and may transmit the game video stream and the game audio stream adapted to each user. In short, the Database (Database) can be regarded as an electronic filing cabinet, which is a place for storing electronic files, and users can perform operations such as adding, querying, updating, deleting and the like on data in the files. A "database" is a collection of data stored together in a manner that can be shared with multiple users, with as little redundancy as possible, independent of the application. the Database management system (Database MANAGEMENT SYSTEM, DBMS) is a computer software system designed for managing databases, and generally has basic functions of storage, interception, security, backup and the like. The database management system may be categorized according to the database model it supports, such as relational, extensible markup language (Extensible Markup Language, XML), or according to the type of computer supported, such as server clusters, mobile phones, or according to the query language used, such as structured query language (Structured Query Language, SQL), XQuery, or according to the performance impact emphasis, such as maximum scale, maximum speed of operation, or other categorization means. regardless of the manner of classification used, some DBMSs are able to support multiple query languages across categories, for example, simultaneously.
In the embodiment of the application, the terminal equipment and the local cloud game server are in local area network communication through the switch. The switching rules of the switch may include various styles, and are not limited herein.
It will be appreciated that in the specific embodiments of the present application, where data relating to game video or game audio and the like is concerned, user approval or consent is required when the above embodiments of the present application are applied to specific products or technologies, and the collection, use and processing of the relevant data is required to comply with relevant laws and regulations and standards of the relevant country and region.
With reference to the foregoing description, a method for processing a cloud game according to the present application will be described below, referring to fig. 4, and one embodiment of the method for processing a cloud game according to an embodiment of the present application includes:
401. The local cloud game server transmits broadcast information in the local area network, wherein the broadcast information is used for indicating cloud game resources supported by the local cloud game server.
In the local area network as shown in fig. 2, the local cloud game server and the N terminal devices are all connected to the local area network. At this time, the local cloud game server may broadcast its own server address and the identification information of the cloud game resources supported by the local cloud game server in the local area network in a multicast manner.
It is understood that the identification information of the cloud game resource may be a name of the cloud game, or may be a storage address of the cloud game. In particular, the present invention is not limited thereto.
402. And the N terminal devices receive the broadcast information and determine cloud game resources supported by the local area network according to the broadcast information.
After the N terminal devices access the local area network, the N terminal devices may acquire broadcast information in the local area network periodically or in real time. After the N terminal devices receive the broadcast information, the broadcast information is analyzed to obtain the address of the local cloud game server and cloud game resources supported by the local cloud game server.
In this embodiment, the terminal device may display the cloud game resource through its display screen, which may be in a pop-up window mode, a voice playing mode, or a bullet screen mode, which is not limited in this embodiment.
403. The N terminal devices send an access request for accessing a first cloud game to the local cloud game server, wherein the first cloud game is one cloud game in the cloud game resources.
In this embodiment, after acquiring cloud game resources supported to run in the local area network, the N terminal devices may acquire a control instruction through operation of a user on the terminal devices, so as to generate the access request according to the control instruction, and send the access request to the local cloud game server according to the address of the local cloud game server. The access request carries identification information for indicating the first cloud game.
404. The local cloud game server responds to the access request to establish data transmission channels between the N terminal devices and the local cloud game server.
And the local cloud game server analyzes the access request to obtain the identification information of the first cloud game in the process of receiving the access request, and confirms whether the local cloud game server supports the first cloud game according to the identification information of the cloud game. If the local cloud game server supports the first cloud game, a transmission channel for transmitting game data of the first cloud game between the N terminal devices and the local cloud game server is established in response to the access request, and a game process of the first cloud game is operated.
The process of establishing a data transmission channel between the local cloud game server and the terminal device in the present application is described below in a specific application scenario.
As shown in fig. 5, in this embodiment, the number of the terminal devices is 3, and the number of the local cloud game servers is 1. The specific flow can be as follows:
1. The local cloud game server continuously transmits broadcast information, wherein the broadcast information carries the address of the local cloud game server in the local area network and cloud game resources supported by the local cloud game server. It will be appreciated that the local cloud game server may periodically send the broadcast information, or may randomly send the broadcast information, and the specific manner is not limited herein. Meanwhile, the cloud game resource may only indicate the name of the cloud game, for example, the names of the game a, the game B and the game C are carried in the broadcast information.
2. The terminal equipment is connected with the switch and then is accessed to the local area network. The terminal device may then periodically obtain the broadcast information within the local area network. After receiving the broadcast information, the terminal equipment analyzes the broadcast information to obtain the address of the local cloud game server in the local area network and the cloud game resource, and then the terminal equipment can display the cloud game resource through a display screen of the terminal equipment. As shown in fig. 6, after the terminal device receives the broadcast information, cloud game resources supported by the local cloud game server in the local area network may be directly windowed and displayed. In an exemplary scenario, an icon a for indicating the cloud game a, an icon B for indicating the cloud game B, and an icon C for indicating the cloud game C will be displayed on the display screen of the terminal device. At this time, the user using the terminal device may operate the icon (for example, the user clicks the icon C), so that the terminal device receives a control instruction, and sends an access request to the local cloud game server according to the control instruction.
3. After receiving the access request, the local cloud server responds to the access request, so that the terminal equipment and the local cloud server establish a data transmission channel.
It will be appreciated that the number of local cloud game servers may be multiple in the local area network, and that the cloud game resources supported by each local cloud game server may be different. In this case, a process of establishing a data transmission channel between the local cloud game server and the terminal device in the present application will be described below with a specific application scenario.
As shown in fig. 7, in this embodiment, the number of the terminal devices is 3, and the number of the local cloud game servers is 2. The specific flow can be as follows:
1. The local cloud game server 1 and the local cloud game server 2 constantly transmit broadcast information. The broadcast information 1 sent by the local cloud game server 1 carries the address of the local cloud game server 1 in the local area network and the cloud game resources 1 supported by the local cloud game server 1, and the broadcast information 2 sent by the local cloud game server 2 carries the address of the local cloud game server 2 in the local area network and the cloud game resources 2 supported by the local cloud game server 2. It will be appreciated that the local cloud game server may periodically send the broadcast information, or may randomly send the broadcast information, and the specific manner is not limited herein. In an exemplary scenario, the broadcast message 1 indicates that the address of the local cloud game server 1 is address a, the cloud game resources are "game a, game B, and game C", and the broadcast message 2 indicates that the address of the local cloud game server 2 is address B, and the cloud game resources are "game D, game E, and game F".
2. The terminal equipment is connected with the switch and then is accessed to the local area network. The terminal device may then periodically obtain the broadcast information within the local area network. After receiving the broadcast information, the terminal equipment analyzes the broadcast information to obtain the address of the local cloud game server in the local area network and the cloud game resource, and then the terminal equipment can display the cloud game resource through a display screen of the terminal equipment. It can be appreciated that in a scenario including multiple local cloud game servers, the terminal device may perform cumulative presentation of cloud game resources in the broadcast information. That is, when the broadcast information 1 is received at the first moment, the cloud game resource 1 indicated by the broadcast information 1 is displayed; and receiving the broadcasting information 2 at the second moment, integrating the cloud game resource 2 indicated by the broadcasting information with the cloud game resource 1 by the terminal equipment, and then displaying. In an exemplary scenario, as shown in fig. 8, at a first moment, the terminal device receives the broadcast information 1, and may directly pop a window to display the cloud game resources 1 supported by the local cloud game server 1 in the local area network. As shown in fig. 8 (a), an icon a for indicating the cloud game a, an icon B for indicating the cloud game B, and an icon C for indicating the cloud game C are displayed on the display screen of the terminal device. At the second moment, the terminal device receives the broadcast information 2, at this moment, the terminal device can integrate the cloud game resource 2 with the cloud game resource 1, and then increase and display the cloud game resource 2 supported by the local cloud game server 2 on the popup window at the first moment. As shown in fig. 8 (B), an icon a for indicating the cloud game a, an icon B for indicating the cloud game B, an icon C for indicating the cloud game C, an icon D for indicating the cloud game D, an icon E for indicating the cloud game E, and an icon F for indicating the cloud game F are displayed on the display screen of the terminal device. At this time, the user using the terminal device may operate the icon (for example, the user clicks the icon C), so that the terminal device receives a control instruction, and sends an access request to the local cloud game server 1 according to the control instruction, to the address a of the local cloud game server 1.
3. After receiving the access request, the local cloud server responds to the access request, so that the terminal equipment and the local cloud server establish a data transmission channel.
It will be appreciated that when the terminal device sends an access request to the local cloud game server, the terminal device may also send the access request to all local cloud game servers within the local area network in a broadcast manner. In this scheme, because the access request carries the identification information of the cloud game, the local cloud game server can confirm whether to respond to the access request according to the identification information of the cloud game, and establish a data transmission channel.
It will be appreciated that the correspondence between the game progress and the terminal device may be different depending on the type of game. The method can be concretely as follows:
As shown in fig. 9, a network architecture of three terminal devices and one local cloud game server is illustrated. If the first cloud game is a stand-alone game, the terminal device a sends an access request to the local cloud game server, and the local cloud game server will run the game process 1 of the first cloud game, and the game process 1 only serves the terminal device a. In this scheme, if the terminal device B also sends an access request carrying the first cloud game to the local cloud game server, the local cloud game server will run the game process 2 of the first cloud game, and the game process 2 only serves the terminal device B.
As shown in fig. 10, a network architecture of three terminal devices and one local cloud game server is illustrated. If the first cloud game is a multiplayer game, the terminal device a, the terminal device B and the terminal device C all send access requests to the local cloud game server, the local cloud game server will run a multiplayer game process of the first cloud game, and the game process 1 will serve the terminal device a, the terminal device B and the terminal device C.
As can be seen from fig. 9 or fig. 10, a local cloud game server can simultaneously run a plurality of game instances according to its load capacity and simultaneously serve a plurality of terminal devices.
405. And the local cloud game server and the N terminal devices realize game data transmission of the first cloud game through the data transmission channels.
In this embodiment, after the local cloud game server establishes a data transmission channel with the N terminal devices, the local cloud game server may receive a control instruction for the first cloud game sent by the N terminal devices, and then the local cloud game server responds to the control instruction to send game data to the N terminal devices through the data transmission channel, where the N terminal devices parse the game data and display video information or audio information indicated by the game data.
In an exemplary scheme, as shown in fig. 11, the terminal responds to the click operation of a user on a friend control in a game interface to generate a control instruction, wherein the control instruction is used for acquiring a detailed interface of the friend from the local cloud game server, then the terminal device sends the control instruction to the local cloud game server, the local cloud game server calls a game picture for indicating the detailed interface of the friend from a database according to the control instruction, then codes the game picture to obtain a corresponding data packet, then sends the data packet to the terminal device through the data transmission channel, and the terminal device analyzes the data packet to obtain the game picture and displays the game picture.
In the above-described scheme, in this embodiment, the scheme of the data interaction with the data transmission channel in the state where the lan is not connected to the external network is described. In practical applications, the local cloud game server in the local area network may also be in network communication with a remote cloud game server, and the specific network architecture thereof may be as shown in fig. 12. As shown in fig. 12, in the network architecture, the local cloud game server is connected to the remote cloud game server through the remote network card via the internet, and is connected to the switch in the local network via the local network card. In the network architecture, the terminal equipment can perform data interaction with the remote cloud game server through the local cloud game server, so the application can also provide the following technical scheme.
Referring to fig. 13 specifically, the method for processing a cloud game according to the embodiment of the present application further includes:
Steps 1301 to 1304 are the same as steps 401 to 404, and detailed descriptions thereof are omitted here.
1305. And the N terminal devices send login requests for logging in the first cloud game to the local cloud game server.
In this embodiment, if the first cloud game is a game that the user repeatedly plays, the user needs to obtain the archived data of the user in the game process, and the user needs to log in the first cloud game through the terminal device.
1306. When the local cloud game server is in network communication with a remote cloud game server of the first cloud game, the local cloud game server sends the login request to the remote cloud game server.
The local cloud game server forwards the login request after obtaining the login request, and it can be understood that the local cloud game server may send the login request when there is network communication with a remote cloud game server of the first cloud game, or may periodically send the login request to the remote cloud game server.
Specifically, if the network communication between the local cloud game server and the remote cloud game server of the first cloud game is an unstable connection (for example, the local cloud game server is deployed in a scenario of network instability such as a high-speed railway, etc.), the local cloud game server may adopt a manner of periodically sending a login request, and the specific network architecture thereof may be as shown in fig. 13 a. If the network communication between the local cloud game server and the remote cloud game server of the first cloud game is intermittent (for example, the local cloud game server is deployed in a scenario of off-line on take-off of an airplane or the like), the local cloud game server may send the login request again when having stable network communication, and the specific network architecture may be as shown in fig. 13 b.
In this embodiment, if the first cloud game is a game that the user has not played or the first cloud game is a game that the user has played, but the user does not want to obtain the archived data of the played game, in this case, the user may directly register the game and play the game through the local cloud game server, and at this time, the local cloud game server does not need to perform data interaction with the remote cloud game server.
1307. After the local cloud game server receives a feedback result of successful login, the login information of the N terminal devices is stored, and a notification message is sent to the N terminal devices, wherein the notification message is used for indicating that the N terminal devices are successfully logged in.
After the local cloud game server receives the feedback result sent by the remote cloud game server and used for indicating successful login, the local cloud game server can store login information in login information sent by the terminal equipment and is used for next login, and further the terminal equipment can be further guaranteed to realize the function of continuously running the cloud game under the condition of network disconnection. And simultaneously, sending data used for indicating that the N terminal devices are successfully logged in to the terminal device, so as to acquire the archived data of the cloud game, and finally realizing the running of the cloud game.
Step 1308 is identical to step 405 and is not described in detail herein.
It can be understood that, based on the network architecture of fig. 12, the local cloud game server may also synchronize with the archive file of the remote cloud game server, and the specific flow may be as shown in fig. 14:
steps 1401 to 1408 are the same as steps 1301 to 1308 described above, and detailed description thereof will be omitted.
1409. The local cloud game server stores archive files of the N terminal devices for running the first cloud game.
In the process of the first cloud game, the local cloud game server generates archive files corresponding to the N terminal devices by storing game data of the N terminal devices. It will be appreciated that the archive may be used to indicate the user's progress of the game during that time, such as whether the game level is being upgraded, whether the game gear is being updated, game copy information, and the progress of the game master or game play situation, etc.
1410. The local cloud game server asynchronously sends a storage request to the remote cloud game server to cause the remote cloud game server to synchronize the archive.
After the local cloud game server generates the archive, the local cloud game server sends a storage request to the remote cloud game server, so that the remote cloud game server can synchronize the archive generated by the terminal device in the local area network.
It can be appreciated that the above scheme may be applied to a network architecture as shown in fig. 14a, that is, in a case where network communication between a local cloud game server and a remote cloud game server of the first cloud game is an unstable connection (for example, the local cloud game server is deployed in a scenario where a network such as a high-speed railway is unstable), the local cloud game server sends an archiving request to the remote cloud game server in an asynchronous manner, so that the local cloud game server does not need to wait for a feedback request of the remote cloud game server to succeed, and only needs to resend a storage request again at intervals, which can reduce a requirement for stable connection of the internet.
1411. When the local cloud game server receives the remote archiving success message, the local cloud game server forwards the remote archiving success message to the N terminal devices.
After the remote cloud game server synchronizes the archive, a remote archive success message is sent to the local cloud game server, and then the local cloud game server forwards the remote archive success message to the terminal device.
It can be appreciated that, based on different network conditions, the local cloud game server may also synchronize an archive file with the remote cloud game server, and the specific flow may be as shown in fig. 15:
Steps 1501 to 1508 are the same as steps 1301 to 1308 described above, and detailed description thereof is omitted.
1509. The local cloud game server stores archive files of the N terminal devices for running the first cloud game.
In the process of the first cloud game, the local cloud game server generates archive files corresponding to the N terminal devices by storing game data of the N terminal devices. It will be appreciated that the archive may be used to indicate the user's progress of the game during that time, such as whether the game level is being upgraded, whether the game gear is being updated, game copy information, and the progress of the game master or game play situation, etc.
1510. When the local cloud game server is in network communication with the remote cloud game server, the local cloud game server sends the archive to the remote cloud game server so that the remote cloud game server synchronizes the archive.
After the local cloud game server generates the archive, the local cloud game server sends a storage request to the remote cloud game server, so that the remote cloud game server can synchronize the archive generated by the terminal device in the local area network.
It can be appreciated that the above scheme may be applied to a network architecture as shown in fig. 15a, that is, in a case where network communication between the local cloud game server and the remote cloud game server of the first cloud game is intermittent (for example, the local cloud game server is deployed in a scenario of off-line on take-off of an aircraft or the like), so that the local cloud game server may further save an archive file generated in a process of running the cloud game by the terminal device, and directly send the archive file to the remote cloud game server under a condition that network communication is stable, so that the remote cloud game server may synchronize the archive file generated in the local area network by the terminal device. This may reduce the local cloud gaming server from initiating an archiving request to the remote cloud gaming server.
1511. When the local cloud game server receives the remote archiving success message, the local cloud game server forwards the remote archiving success message to the N terminal devices.
After the remote cloud game server synchronizes the archive, a remote archive success message is sent to the local cloud game server, and then the local cloud game server forwards the remote archive success message to the terminal device.
In the present application, the cloud game local area network may be shown in fig. 2 or fig. 3, and details thereof will not be described herein, where the local cloud game server has all the functions of the local cloud game server in the foregoing embodiment, and the terminal device may have all the functions of the terminal device in the foregoing embodiment.
The specific example of a local cloud game server provided by the present application may be seen in fig. 16. Fig. 16 is a schematic diagram of a server structure provided in an embodiment of the present application, where the server 300 may vary considerably in configuration or performance, and may include one or more central processing units (central processing units, CPU) 322 (e.g., one or more processors) and memory 332, one or more storage mediums 330 (e.g., one or more mass storage devices) storing applications 342 or data 344. Wherein the memory 332 and the storage medium 330 may be transitory or persistent. The program stored on the storage medium 330 may include one or more modules (not shown), each of which may include a series of instruction operations on a server. Still further, the central processor 322 may be configured to communicate with the storage medium 330 and execute a series of instruction operations in the storage medium 330 on the server 300.
The Server 300 may also include one or more power supplies 326, one or more wired or wireless network interfaces 350, one or more input/output interfaces 358, and/or one or more operating systems 341, such as Windows Server TM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM, or the like.
The steps performed by the local cloud gaming server in the above embodiments may be based on the server architecture shown in fig. 16.
The specific structure of the terminal device provided by the application can be shown in fig. 17. Referring to fig. 17, for convenience of explanation, only the portions related to the embodiments of the present application are shown, and specific technical details are not disclosed, please refer to the method portions of the embodiments of the present application. In the embodiment of the application, a terminal device is taken as a smart phone for example to describe:
Fig. 17 is a block diagram showing a part of the structure of a smart phone related to a terminal device provided by an embodiment of the present application. Referring to fig. 17, the smart phone includes Radio Frequency (RF) circuit 410, memory 420, input unit 430, display unit 440, sensor 450, audio circuit 460, wireless fidelity (WIRELESS FIDELITY, wiFi) module 470, processor 480, and power supply 490. Those skilled in the art will appreciate that the smartphone structure shown in fig. 17 is not limiting of the smartphone and may include more or fewer components than shown, or may combine certain components, or a different arrangement of components.
The following describes each component of the smart phone in detail with reference to fig. 17:
The RF circuit 410 may be used for receiving and transmitting signals during a message or a call, specifically, receiving downlink information of a base station, processing the downlink information by the processor 480, and transmitting uplink data to the base station. In general, RF circuitry 410 includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a low noise amplifier (low noise amplifier, LNA), a duplexer, and the like. In addition, the RF circuitry 410 may also communicate with networks and other devices via wireless communications. The wireless communications may use any communication standard or protocol including, but not limited to, global System for Mobile communications (global system of mobile communication, GSM), general packet radio service (GENERAL PACKET radio service, GPRS), code division multiple access (code division multiple access, CDMA), wideband code division multiple access (wideband code division multiple access, WCDMA), long term evolution (long term evolution, LTE), email, short message service (short MESSAGING SERVICE, SMS), and the like.
The memory 420 may be used to store software programs and modules, and the processor 480 may perform various functional applications and data processing of the smartphone by executing the software programs and modules stored in the memory 420. The memory 420 may mainly include a storage program area that may store an operating system, an application program required for at least one function (such as a sound playing function, an image playing function, etc.), etc., and a storage data area that may store data created according to the use of the smart phone (such as audio data, a phonebook, etc.), etc. In addition, memory 420 may include high-speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid-state storage device.
The input unit 430 may be used to receive input numeric or character information and generate key signal inputs related to user settings and function control of the smart phone. In particular, the input unit 430 may include a touch panel 431 and other input devices 432. The touch panel 431, also referred to as a touch screen, may collect touch operations thereon or thereabout by a user (e.g., operations of the user on the touch panel 431 or thereabout using any suitable object or accessory such as a finger, a stylus, etc.), and drive the corresponding connection device according to a predetermined program. Alternatively, the touch panel 431 may include two parts of a touch detection device and a touch controller. The touch controller receives touch information from the touch detection device, converts the touch information into touch point coordinates, sends the touch point coordinates to the processor 480, and can receive and execute commands sent by the processor 480. In addition, the touch panel 431 may be implemented in various types such as resistive, capacitive, infrared, and surface acoustic wave. The input unit 430 may include other input devices 432 in addition to the touch panel 431. In particular, other input devices 432 may include, but are not limited to, one or more of a physical keyboard, function keys (such as volume control keys, switch keys, etc.), a trackball, mouse, joystick, etc.
The display unit 440 may be used to display information input by a user or information provided to the user and various menus of the smart phone. The display unit 440 may include a display panel 441, and optionally, the display panel 441 may be configured in the form of a Liquid Crystal Display (LCD), an organic light-emitting diode (OLED), or the like. Further, the touch panel 431 may cover the display panel 441, and when the touch panel 431 detects a touch operation thereon or nearby, the touch operation is transmitted to the processor 480 to determine the type of the touch event, and then the processor 480 provides a corresponding visual output on the display panel 441 according to the type of the touch event. Although in fig. 17, the touch panel 431 and the display panel 441 are two separate components to implement the input and input functions of the smart phone, in some embodiments, the touch panel 431 and the display panel 441 may be integrated to implement the input and output functions of the smart phone.
The smartphone may also include at least one sensor 450, such as a light sensor, a motion sensor, and other sensors. Specifically, the light sensor may include an ambient light sensor that may adjust the brightness of the display panel 441 according to the brightness of ambient light, and a proximity sensor that may turn off the display panel 441 and/or the backlight when the smartphone is moved to the ear. The accelerometer sensor can detect the acceleration in all directions (generally three axes), can detect the gravity and the direction when the accelerometer sensor is static, can be used for identifying the gesture of the smart phone (such as transverse and vertical screen switching, related games, magnetometer gesture calibration), vibration identification related functions (such as pedometer and knocking), and the like, and other sensors such as gyroscopes, barometers, hygrometers, thermometers, infrared sensors and the like which are also configured by the smart phone are not repeated herein.
Audio circuitry 460, speaker 461, microphone 462 can provide an audio interface between the user and the smartphone. The audio circuit 460 may transmit the received electrical signal converted from audio data to the speaker 461 for conversion to a sound signal for output by the speaker 461, while the microphone 462 may convert the collected sound signal into an electrical signal for reception by the audio circuit 460 for conversion to audio data, and then process the audio data by the audio data output processor 480 for transmission to, for example, another smart phone via the RF circuit 410, or output the audio data to the memory 420 for further processing.
WiFi belongs to a short-distance wireless transmission technology, and a smart phone can help a user to send and receive emails, browse webpages, access streaming media and the like through a WiFi module 470, so that wireless broadband Internet access is provided for the user. Although fig. 17 shows a WiFi module 470, it is understood that it does not belong to the essential constitution of a smart phone, and can be omitted entirely as required within the scope of not changing the essence of the invention.
The processor 480 is a control center of the smart phone, connects various parts of the entire smart phone using various interfaces and lines, and performs various functions and processes data of the smart phone by running or executing software programs and/or modules stored in the memory 420 and invoking data stored in the memory 420, thereby performing overall monitoring of the smart phone. Optionally, the processor 480 may include one or more processing units, and optionally, the processor 480 may integrate an application processor and a modem processor, wherein the application processor primarily processes operating systems, user interfaces, application programs, and the like, and the modem processor primarily processes wireless communications. It will be appreciated that the modem processor described above may not be integrated into the processor 480.
The smart phone also includes a power supply 490 (e.g., a battery) for powering the various components, optionally in logical communication with the processor 480 through a power management system that performs functions such as managing charge, discharge, and power consumption.
Although not shown, the smart phone may further include a camera, a bluetooth module, etc., which will not be described herein.
The steps performed by the terminal device in the above-described embodiments may be based on the terminal device structure shown in fig. 17.
In another aspect, the application provides a computer device comprising a memory, a processor, and a bus system;
Wherein the memory is used for storing programs;
the processor is used for executing the program in the memory, and the processor is used for executing the method according to the aspects according to the instructions in the program code;
the bus system is used to connect the memory and the processor to communicate the memory and the processor.
Another aspect of the application provides a computer readable storage medium having instructions stored therein which, when run on a computer, cause the computer to perform the methods of the above aspects.
In another aspect of the application, a computer program product or computer program is provided, the computer program product or computer program comprising computer instructions stored in a computer readable storage medium. The processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device performs the methods provided in the above aspects.
It will be clear to those skilled in the art that, for convenience and brevity of description, specific working procedures of the above-described systems, apparatuses and units may refer to corresponding procedures in the foregoing method embodiments, which are not repeated herein.
In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices, and methods may be implemented in other manners. For example, the apparatus embodiments described above are merely illustrative, e.g., the division of the units is merely a logical function division, and there may be additional divisions when actually implemented, e.g., multiple units or components may be combined or integrated into another system, or some features may be omitted or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or units, which may be in electrical, mechanical or other form.
The units described as separate units may or may not be physically separate, and units shown as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in the embodiments of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in software functional units.
The integrated units, if implemented in the form of software functional units and sold or used as stand-alone products, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application may be embodied essentially or in part or all of the technical solution or in part in the form of a software product stored in a storage medium, including instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method according to the embodiments of the present application. The storage medium includes a U disk, a removable hard disk, a read-only memory (ROM), a random access memory (random access memory, RAM), a magnetic disk, an optical disk, or other various media capable of storing program codes.
While the application has been described in detail with reference to the foregoing embodiments, it will be understood by those skilled in the art that the foregoing embodiments may be modified or equivalents may be substituted for some of the features thereof, and that the modifications or substitutions do not depart from the spirit and scope of the embodiments of the application.