Data synchronization method, device, computer readable medium and electronic device

By generating and managing data synchronization tasks in cloud games, the data receiving node is instructed to update data from the provision node synchronously and change its role after success, the problem of long update time for existing cloud games is solved, and a more efficient update process and a better player experience is achieved.

CN113230661BActive Publication Date: 2025-05-06TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110665749.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-06-16
Publication Date
2025-05-06
Estimated Expiration
2041-06-16

AI Technical Summary

Technical Problem

The existing cloud game update solution needs to be updated before the server can be opened when the update is updated, resulting in a long update time and the ‘click and play’ experience cannot be ensured.

Method used

By receiving the task allocation information sent by the task distributor, a data synchronization task is generated, instructing the designated data receiving node to synchronize the target data from the designated data providing node, including cloud game update data packets, and after the receiving node is synchronized successfully, it is changed into a data providing node to improve update efficiency.

Benefits of technology

It effectively improves the update efficiency of cloud games, greatly shortens the time for data synchronization, reduces the time for gamers to wait for server opening, and improves the experience of gamers.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113230661B_ABST
    Figure CN113230661B_ABST
Patent Text Reader

Abstract

The embodiments of the present application provide a data synchronization method, device, computer-readable medium and electronic device. The data synchronization method includes: receiving task assignment information sent by a task distributor; generating a data synchronization task according to the task assignment information, the data synchronization task is used to instruct a designated data receiving node to synchronize target data from a designated data providing node, the target data including a cloud game update data packet; sending the data synchronization task to at least the designated data receiving node, and obtaining the execution result of the data synchronization task; if the execution result indicates that the designated data receiving node has successfully synchronized the target data, then returning update information to the task distributor, the update information is used to indicate that the designated data receiving node is changed to a data providing node, so that the task distributor sends the task assignment information again according to the updated information. The technical solution of the embodiments of the present application can improve the efficiency of cloud game updates and greatly shorten the update time of cloud games.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer and communication technology, and in particular to a data synchronization method, device, computer-readable medium and electronic device. Background Art

[0002] In the related art, the update solution of cloud games is usually to use a server as the source machine on the service side to monitor whether the game client has an update. When it monitors that the game client needs to be updated, the source machine sends the game update package to each game client. During this period, the cloud game is in the service suspension stage and can only be opened after all clients have completed the update. However, this update solution takes a long time to update and cannot ensure the "click-to-play" of cloud games, which affects the experience of game players. Summary of the invention

[0003] The embodiments of the present application provide a data synchronization method, device, computer-readable medium and electronic device, which can effectively improve the update efficiency of cloud games at least to a certain extent and greatly shorten the time of data synchronization.

[0004] Other features and advantages of the present application will become apparent from the following detailed description, or may be learned in part by the practice of the present application.

[0005] According to one aspect of an embodiment of the present application, a data synchronization method for cloud gaming is provided, comprising: receiving task assignment information sent by a task distributor, the task assignment information including information of a data providing node and information of a data receiving node for updating a cloud game; generating a data synchronization task according to the task assignment information, the data synchronization task being used to instruct a designated data receiving node to synchronize target data from a designated data providing node, the target data including a cloud gaming update data packet; sending the data synchronization task to at least the designated data receiving node, and obtaining an execution result of the data synchronization task; if the execution result indicates that the designated data receiving node has successfully synchronized the target data, returning update information to the task distributor, the update information being used to instruct the designated data receiving node to be changed to a data providing node, so that the task distributor sends the task assignment information again according to the updated information.

[0006] According to one aspect of an embodiment of the present application, a data synchronization method for cloud gaming is provided, comprising: generating task assignment information, the task assignment information including information of a data providing node and a data receiving node for updating cloud gaming; sending the task assignment information to a task management component, so that the task management component generates a data synchronization task according to the task assignment information and sends it to a designated data receiving node, the data synchronization task being used to instruct the designated data receiving node to synchronize target data from a designated data providing node, the target data including a cloud gaming update data packet; receiving update information returned by the task management component, the update information being used to instruct the designated data receiving node to be changed to a data providing node; after the designated data receiving node is changed to a data providing node, if there is still a data receiving node, generating the task assignment information again.

[0007] According to one aspect of an embodiment of the present application, a data synchronization device for cloud gaming is provided, comprising: a first receiving unit, configured to receive task assignment information sent by a task distributor, the task assignment information including information of a data providing node and a data receiving node for updating a cloud gaming; a first generating unit, configured to generate a data synchronization task according to the task assignment information, the data synchronization task being used to instruct a designated data receiving node to synchronize target data from a designated data providing node, the target data including a cloud gaming update data packet; a first sending unit, configured to send the data synchronization task at least to the designated data receiving node, and to obtain an execution result of the data synchronization task; a first processing unit, configured to return update information to the task distributor if the execution result indicates that the designated data receiving node has successfully synchronized the target data. The update information is used to instruct the designated data receiving node to be changed to a data providing node, so that the task distributor sends the task assignment information again according to the updated information.

[0008] In some embodiments of the present application, based on the aforementioned scheme, the first generation unit is configured to: parse the task allocation information to obtain the information of the data providing node and the information of the data receiving node; generate the data synchronization task according to the information of the data providing node and the information of the data receiving node, as well as a preconfigured task template.

[0009] In some embodiments of the present application, based on the aforementioned scheme, the preconfigured task template includes task type information; the first generation unit is configured to: set the task type information in the task template to the data synchronization type, and generate the data synchronization task according to the information of the designated data receiving node and the information of the designated data providing node.

[0010] In some embodiments of the present application, based on the aforementioned scheme, the first sending unit is configured to: send the data synchronization task to a task publish-subscribe platform, so that the designated data receiving node obtains the data synchronization task by listening to the task publish-subscribe platform.

[0011] In some embodiments of the present application, based on the aforementioned scheme, the data synchronization device also includes: an acquisition unit, configured to acquire status information of the data providing node and status information of the data receiving node from the task publishing and subscription platform, wherein the status information is used to characterize whether it is in an online state; the first sending unit is also configured to return the status information of the data providing node and the status information of the data receiving node to the task distributor.

[0012] In some embodiments of the present application, based on the aforementioned scheme, the first generating unit is further configured to: generate a task to be executed, and the task to be executed includes at least one of the following: task type information, task trigger condition information, task execution target information, and task execution status information; the first sending unit is further configured to: send the task to be executed to the task publishing and subscription platform, so that the designated node among the data providing node and the data receiving node obtains the task to be executed for processing by listening to the task publishing and subscription platform.

[0013] In some embodiments of the present application, based on the aforementioned scheme, the data synchronization device also includes: a testing unit, configured to call the target node that has completed the data synchronization to perform a simulated operation based on the synchronized data if it detects that the number of nodes that have completed the data synchronization has reached a set number; capture the cloud game interface of the target node during the simulated operation; if the cloud game interface matches the set game interface, provide cloud game services based on the node that has completed the data synchronization.

[0014] In some embodiments of the present application, based on the aforementioned scheme, the data providing node and the data receiving node include a cloud game rendering server node.

[0015] According to one aspect of an embodiment of the present application, a data synchronization device for cloud gaming is provided, comprising: a second generating unit, configured to generate task assignment information, wherein the task assignment information includes information about a data providing node and a data receiving node for updating a cloud gaming; a second sending unit, configured to send the task assignment information to a task management component, so that the task management component generates a data synchronization task according to the task assignment information and sends it to a designated data receiving node, wherein the data synchronization task is used to instruct the designated data receiving node to synchronize target data from a designated data providing node, wherein the target data includes a cloud gaming update data packet; a second receiving unit, configured to receive update information returned by the task management component, wherein the update information is used to instruct the designated data receiving node to be changed to a data providing node; and a second processing unit, configured to, after the designated data receiving node is changed to a data providing node, if there is still a data receiving node, generate the task assignment information again.

[0016] In some embodiments of the present application, based on the aforementioned scheme, the second processing unit is further configured to: obtain information about the data providing node and information about the data receiving node from a designated database, the designated database containing a first list and a second list, the first list being used to store information about the data providing node, and the second list being used to store information about the data receiving node; by moving the information of the designated data receiving node in the second list to the first list, so as to change the designated data receiving node to a data providing node.

[0017] In some embodiments of the present application, based on the aforementioned scheme, the second generating unit is configured to: generate the task allocation information when an update of the data packet of the cloud game is detected; or generate the task allocation information when a set update time is reached.

[0018] According to one aspect of an embodiment of the present application, a computer-readable medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the data synchronization method applied to cloud games as described in the above embodiment is implemented.

[0019] According to one aspect of an embodiment of the present application, an electronic device is provided, comprising: one or more processors; a storage device for storing one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement the data synchronization method applied to cloud games as described in the above embodiments.

[0020] According to one aspect of an embodiment of the present application, a computer program product or a computer program is provided, the computer program product or the computer program including computer instructions, the computer instructions being stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the data synchronization method for cloud gaming provided in the above-mentioned various optional embodiments.

[0021] In the technical solutions provided in some embodiments of the present application, a data synchronization task is generated according to task assignment information to instruct a designated data receiving node to synchronize target data from a designated data providing node, and then the data synchronization task is sent to at least the designated data receiving node, and the execution result of the data synchronization task is obtained. When the execution result indicates that the designated data receiving node has successfully synchronized the target data, update information is returned to the task distributor to instruct the designated data receiving node to be changed to a data providing node, so that the task distributor can send the task assignment information again according to the updated information, and then the updated node can be used as a data providing node to synchronize to other nodes, thereby effectively improving the update efficiency of cloud games and greatly shortening the duration of data synchronization.

[0022] It should be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present application. BRIEF DESCRIPTION OF THE DRAWINGS

[0023] The drawings herein are incorporated into the specification and constitute a part of the specification, showing embodiments consistent with the present application, and together with the specification, are used to explain the principles of the present application. Obviously, the drawings described below are only some embodiments of the present application, and for ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work. In the drawings:

[0024] Figure 1 An architectural diagram of cloud gaming is shown;

[0025] Figure 2 A schematic diagram showing an exemplary system architecture to which the technical solution of the embodiments of the present application can be applied;

[0026] Figure 3 A flow chart of a data synchronization method according to an embodiment of the present application is shown;

[0027] Figure 4 A flow chart of a data synchronization method according to an embodiment of the present application is shown;

[0028] Figure 5 A flowchart of updating a cloud game according to an embodiment of the present application is shown;

[0029] Figure 6 A schematic diagram of a cloud game update according to an embodiment of the present application is shown;

[0030] Figure 7 A schematic diagram of the interaction between TaskFlow and TaskWorker according to an embodiment of the present application is shown;

[0031] Figure 8 A block diagram of a data synchronization device according to an embodiment of the present application is shown;

[0032] Fig. 9 A block diagram of a data synchronization device according to an embodiment of the present application is shown;

[0033] Fig.10 A schematic diagram of the structure of a computer system suitable for implementing an electronic device of an embodiment of the present application is shown. DETAILED DESCRIPTION

[0034] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be implemented in a variety of forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this application will be more comprehensive and complete and fully convey the concept of the example embodiments to those skilled in the art.

[0035] In addition, described feature, structure or characteristic can be combined in one or more embodiments in any suitable manner. In the following description, many specific details are provided to provide a full understanding of the embodiments of the present application. However, those skilled in the art will appreciate that the technical scheme of the present application can be put into practice without one or more of the specific details, or other methods, components, devices, steps, etc. can be adopted. In other cases, known methods, devices, realizations or operations are not shown or described in detail to avoid blurring the various aspects of the present application.

[0036] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically independent entities. That is, these functional entities may be implemented in software form, or in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.

[0037] The flowcharts shown in the accompanying drawings are only exemplary and do not necessarily include all the contents and operations / steps, nor must they be executed in the order described. For example, some operations / steps can be decomposed, and some operations / steps can be combined or partially combined, so the actual execution order may change according to actual conditions.

[0038] It should be noted that the "multiple" mentioned in this article refers to two or more. "And / or" describes the association relationship of the associated objects, indicating that there can be three relationships. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the associated objects before and after are in an "or" relationship.

[0039] Cloud technology refers to a hosting technology that unifies hardware, software, network and other resources within a wide area network or local area network to achieve data computing, storage, processing and sharing.

[0040] Cloud technology is a general term for network technology, information technology, integration technology, management platform technology, application technology, etc. based on the cloud computing business model. It can form a resource pool and be used on demand, which is flexible and convenient. Cloud computing is an important support for cloud technology. The backend system of cloud computing technology requires a large amount of computing and storage resources, such as video websites, picture websites and more portal websites. With the rapid development and application of the Internet industry, in the future, each item may have its own identification mark, which needs to be transmitted to the backend system for logical processing. Data of different levels will be processed separately. All kinds of industry data need strong system backing support, which can only be achieved through cloud computing.

[0041] Cloud gaming, also known as gaming on demand, is an online gaming technology based on cloud computing technology. Cloud gaming technology enables thin clients with relatively limited graphics processing and data computing capabilities to run high-quality games. In a cloud gaming scenario, the game client does not run on the user's device, but on a cloud server, which renders the game scene into a video and audio stream and transmits it to the user's device over the network. The user device does not need to have powerful graphics computing and data processing capabilities, but only needs to have basic streaming media playback capabilities and the ability to obtain player input commands and send them to the cloud server.

[0042] Specifically, in Figure 1 In the application scenario shown, the game server is used to store game player account information and game backend services, etc., and is used to interact with the rendering server. The game resource server is used to store game resource data, such as game image information, game video information, etc. The rendering server is the aforementioned cloud server. The game client runs in the rendering server. The rendering server renders the game scene into an audio and video stream, and then transmits it to the user device through the network. The user device displays these audio and video streams and sends the user's operation instructions to the rendering server through the control stream to realize the control of the game character.

[0043] Figure 1 Each server shown can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms. The user device can be a smart phone, tablet computer, laptop computer, desktop computer, smart speaker, smart watch, etc., but is not limited to this. The user device and the rendering server can be directly or indirectly connected via wired or wireless communication, and this application is not limited here.

[0044] The cloud game update solution proposed in the related art usually uses a server as a source machine on the service side to monitor whether the game client has updates. When it is detected that the game client needs to be updated, the source machine sends the game update package to each game client. During this period, the cloud game is in a service suspension stage and can only be opened after all clients are updated. However, the update time of this update solution is relatively long, and it cannot ensure the "click-to-play" of cloud games, which affects the experience of game players. Based on this, an embodiment of the present application proposes a data synchronization solution that can be applied to cloud game updates, which can effectively improve the efficiency of data synchronization, thereby shortening the duration of cloud game updates, reducing the time for game players to wait for the server to be opened, and is conducive to improving the experience of game players. The following is a detailed description of the technical solution of the embodiment of the present application:

[0045] like Figure 2 As shown, in an exemplary system architecture of an embodiment of the present application, a task distributor 201, a task management component 202 and a node set 203 may be included. Among them, the node set 203 includes multiple nodes, which are nodes for data synchronization. In the cloud game scenario, for example, they may be nodes run by the cloud game client, that is, rendering server nodes. The task distributor 201 and the task management component 202 may run in the same physical entity or in different physical entities, for example, they may be implemented through different servers.

[0046] When the task distributor 201 detects that data needs to be updated, such as the cloud game client needs to be updated, it can generate task allocation information, which contains information about the data providing node and the data receiving node. The data providing node is a node that already contains the target data that needs to be synchronized (such as the update package of the game client, etc.), and the data receiving node is a node that needs to synchronize the target data. For example, node 2031 already contains the target data that needs to be synchronized, and node 2032 and other nodes are nodes that need to synchronize the target data, then node 2031 is a data providing node, and node 2032 and other nodes are data receiving nodes.

[0047] After generating the task assignment information, the task distributor 201 can send the task assignment information to the task management component 202. The task management component 202 will generate a data synchronization task based on the task assignment information. The data synchronization task is used to instruct the specified data receiving node to synchronize the target data from the specified data providing node, such as instructing node 2032 and other nodes to synchronize the target data from node 2031.

[0048] After generating the data synchronization task, the task management component 202 may send the data synchronization task to at least the designated data receiving node to instruct the designated data receiving node to synchronize the target data from the designated data providing node. Of course, the task management component 202 may also send the data synchronization task to the designated data providing node to instruct the designated data providing node to provide the target data to be synchronized to the designated data receiving node.

[0049] After the task management component 202 obtains the execution result of the data synchronization task, if the execution result indicates that the designated data receiving node has successfully synchronized the target data, the task management component 202 can return update information to the task distributor 201 to indicate that the designated data receiving node is changed to a data providing node. For example, if node 2032 successfully synchronizes the target data, then node 2032 can be changed to a data providing node.

[0050] If the task distributor 201 determines that there are still data receiving nodes, the task allocation information can be generated again. When the task allocation information is generated again, since the number of data providing nodes is increased, the target data can be synchronized to the data receiving nodes through a larger number of data providing nodes, thereby effectively improving the efficiency of data synchronization and greatly shortening the duration of data synchronization.

[0051] The implementation details of the technical solution of the embodiment of the present application are described in detail below:

[0052] Figure 3A flow chart of a data synchronization method according to an embodiment of the present application is shown. The data synchronization method may be performed by Figure 2 The task management component 202 shown in FIG. 1 is executed, and the task management component 202 can be run in the server in the form of a service. Figure 3 As shown, the data synchronization method at least includes steps S310 to S340, which are described in detail as follows:

[0053] In step S310, task assignment information sent by the task distributor is received, and the task assignment information includes information of a data providing node and information of a data receiving node. Optionally, the data providing node and the data receiving node may be used for updating the cloud game.

[0054] In one embodiment of the present application, the data providing node is a node that already contains the target data that needs to be synchronized (such as an update package of a game client, etc.), and the data receiving node is a node that needs to synchronize the target data. In an embodiment of the present application, after the data receiving node has synchronized the target data, the role of the data receiving node is changed to a data providing node. Optionally, the information of the data providing node can be identification information, network address, etc. of the data providing node. Similarly, the information of the data receiving node can be identification information, network address, etc. of the data receiving node.

[0055] In one embodiment of the present application, if the target data to be synchronized is cloud game update data, the data providing node and the data receiving node may be a cloud game rendering server node. After the cloud game rendering server node completes the synchronization of the cloud game update data, cloud game services may be provided.

[0056] Optionally, the information of the data providing node and the information of the data receiving node contained in the task assignment information may be for the same area. For example, if nodes in multiple areas need to synchronize data, then the nodes in each area can perform data synchronization processing separately according to the data synchronization scheme of the embodiment of the present application.

[0057] In step S320, a data synchronization task is generated according to the task allocation information, where the data synchronization task is used to instruct the designated data receiving node to synchronize target data from the designated data providing node.

[0058] In one embodiment of the present application, the process of generating a data synchronization task according to the task allocation information may be to parse the task allocation information, obtain the information of the data providing node and the information of the data receiving node, and then generate the data synchronization task according to the information of the data providing node and the information of the data receiving node, and a preconfigured task template. For example, the data synchronization task may be generated by filling the information of the data providing node and the information of the data receiving node into the task template.

[0059] Optionally, the preconfigured task template may include task type information. Then, when generating a data synchronization task, the task type information in the task template may be set as the data synchronization type. Then, the data synchronization task is generated based on the information of the specified data receiving node and the information of the specified data providing node.

[0060] It should be noted that if the task allocation information already includes which data providing nodes provide target data to which data receiving nodes, then when generating the task allocation information, the task allocation information can be directly generated based on this information. If the task allocation information only includes the information of the data providing nodes and the data receiving nodes, and does not specify which data providing nodes provide target data to which data receiving nodes, then the task management component can make allocations based on the information of the data providing nodes and the data receiving nodes. For example, allocations can be made based on the distance and communication status between the data providing nodes and the data receiving nodes to ensure the efficiency of data synchronization.

[0061] In step S330, the data synchronization task is sent to at least a designated data receiving node, and the execution result of the data synchronization task is obtained.

[0062] In this step, the data synchronization task is at least sent to the designated data receiving node, which can instruct the designated data receiving node to synchronize the target data from the designated data providing node. Of course, the task management component can also send the data synchronization task to the designated data providing node to instruct the designated data providing node to provide the target data to be synchronized to the designated data receiving node.

[0063] Optionally, in one embodiment of the present application, the task management component can send the data synchronization task to the task publish-subscribe platform, and then the designated data receiving node (and the designated data providing node) can obtain the data synchronization task by monitoring the task publish-subscribe platform. The task publish-subscribe platform can be a Kafka platform, which is a high-throughput distributed publish-subscribe messaging system that can process all action flow data of consumers on the website.

[0064] In one embodiment of the present application, the task management component can also obtain the status information of the data providing node and the status information of the data receiving node from the task publishing and subscription platform, and the status information is used to indicate whether it is in an online state, and then the task management component can return the status information of the data providing node and the status information of the data receiving node to the task distributor. Specifically, the data providing node and the data receiving node can autonomously report the heartbeat status to the task publishing and subscription platform, and then the task management component can determine whether the node is in an online state according to the reporting time of the heartbeat status. For example, if the time of the heartbeat status reported by a node is too long from the current time, then it can be determined that the node is offline.

[0065] Continue to refer to Figure 3 As shown, in step S340, if the execution result indicates that the designated data receiving node has successfully synchronized the target data, update information is returned to the task distributor, and the update information is used to indicate that the designated data receiving node is changed to a data providing node, so that the task distributor sends the task allocation information again according to the updated information.

[0066] Specifically, after receiving the update information, the task distributor can determine whether there are still data receiving nodes. If there are still data receiving nodes, the task allocation information can be generated again. When the task allocation information is generated again, since the number of data providing nodes has increased, the target data can be synchronized to the data receiving node through a larger number of data providing nodes, thereby effectively improving the efficiency of data synchronization and greatly shortening the duration of data synchronization.

[0067] In one embodiment of the present application, in addition to sending data synchronization tasks to the task publishing and subscription platform, the task management component can also generate other tasks to be executed, and the tasks to be executed include at least one of the following: task type information, task trigger condition information, task execution target information, and task execution status information. Then the task management component can send the generated tasks to be executed to the task publishing and subscription platform, so that the designated nodes among the data providing nodes and the data receiving nodes can obtain the tasks to be executed by monitoring the task publishing and subscription platform for processing.

[0068] Optionally, task type information may be, for example, a data modification task, a data deletion task, a data sending task, etc.; task trigger condition information is used to indicate under what conditions the task is triggered, such as being triggered after executing a set operation, etc.; task execution target information is used to indicate the goal expected to be achieved by executing the task; task execution status information is used to indicate the execution status of the task, such as not executed, executed, failed, etc.

[0069] In one embodiment of the present application, if the task management component detects that the number of nodes that have completed data synchronization has reached a set number, the target node that has completed data synchronization can be called to perform a simulated operation based on the synchronized data, and then the interface of the target node during the simulated operation is captured, and the interface is compared with the set interface. If the interface matches the set interface, a business access service is provided based on the node that has completed data synchronization. The technical solution of this embodiment can realize automatic testing after data synchronization, and can provide business access services to the outside without waiting for all nodes to complete synchronization, thereby reducing the waiting time for services.

[0070] For example, for cloud gaming, when more than half of the rendering servers in a certain area have completed the update of the cloud gaming client, these rendering servers can be called to simulate the operation of the cloud gaming client and capture the interface during the simulation process (such as the cloud gaming node, which can be the interface for entering the game). When the interface matches the set interface, cloud gaming services can be provided through these rendering servers. There is no need to wait for all rendering servers to complete the update before opening the service, which reduces the waiting time for cloud gaming.

[0071] Figure 4 A flow chart of a data synchronization method according to an embodiment of the present application is shown. The data synchronization method may be performed by Figure 2 The task distributor 201 shown in FIG. 1 is executed, and the task distributor 201 can be run in the server in the form of a service. Figure 4 As shown, the data synchronization method at least includes steps S410 to S440, which are described in detail as follows:

[0072] In step S410, task allocation information is generated, and the task allocation information includes information of a data providing node and information of a data receiving node. Optionally, the data providing node and the data receiving node may be used for updating a cloud game.

[0073] In one embodiment of the present application, task allocation information can be generated when an update of a data source is detected. Alternatively, task allocation information can be generated when a set update time is reached. That is, the task distributor can trigger a task allocation operation by detecting whether a data source is updated, or can trigger a task allocation operation at a set time. For example, if it is determined that the cloud gaming client will be updated at a certain point in time based on information obtained in advance, then the task allocation operation can be triggered at that point in time.

[0074] In one embodiment of the present application, the data providing node is a node that already contains the target data that needs to be synchronized (such as an update package of a game client, etc.), and the data receiving node is a node that needs to synchronize the target data. In an embodiment of the present application, after the data receiving node has synchronized the target data, the role of the data receiving node is changed to a data providing node. Optionally, the information of the data providing node can be identification information, network address, etc. of the data providing node. Similarly, the information of the data receiving node can be identification information, network address, etc. of the data receiving node.

[0075] In step S420, the task allocation information is sent to the task management component, so that the task management component generates a data synchronization task according to the task allocation information and sends it to the designated data receiving node, wherein the data synchronization task is used to instruct the designated data receiving node to synchronize target data from the designated data providing node.

[0076] Optionally, the process in which the task management component generates a data synchronization task according to the task allocation information and sends it to a designated data receiving node can refer to the technical solution of the aforementioned embodiment and will not be described in detail.

[0077] In step S430, update information returned by the task management component is received, where the update information is used to indicate that the designated data receiving node is changed to a data providing node.

[0078] In one embodiment of the present application, after receiving the execution result of the data synchronization task, the task management component can determine whether the designated data receiving node has successfully synchronized the target data based on the execution result, and if the synchronization is successful, return update information to the task distributor.

[0079] In step S440, after the designated data receiving node is changed to a data providing node, if there are still data receiving nodes, task allocation information is generated again.

[0080] Specifically, after receiving the update information, the task distributor can determine whether there are still data receiving nodes. If there are still data receiving nodes, the task assignment information can be generated again. When the task assignment information is generated again, since the number of data providing nodes has increased, it is possible to synchronize target data to the data receiving nodes through a larger number of data providing nodes, thereby effectively improving the efficiency of data synchronization, such as improving the update efficiency of cloud games and greatly shortening the time for data synchronization.

[0081] In one embodiment of the present application, the task distributor can obtain the information of the data providing node and the information of the data receiving node from a designated database, wherein the designated database includes a first list and a second list, wherein the first list is used to store the information of the data providing node and the second list is used to store the information of the data receiving node, and then the designated data receiving node is changed to a data providing node by moving the information of the designated data receiving node in the second list to the first list. The designated database can be a Redis database, a MySQL database, etc.

[0082] The above respectively describes the implementation details of the technical solution of the embodiment of the present application from the perspectives of the task management component and the task distributor. The following describes the technical solution of the embodiment of the present application in detail based on the application scenario of cloud gaming:

[0083] like Figure 5 As shown, according to an embodiment of the present application, the update process of the cloud game includes the following steps:

[0084] Step S501, obtaining a cloud game maintenance announcement. Optionally, the cloud game maintenance announcement may be cloud game update information or cloud game maintenance information released by the game operation and maintenance party, which includes time information for cloud game update or maintenance.

[0085] Step S502, set scheduled maintenance. Optionally, the time of scheduled maintenance can be set according to the update or maintenance time information included in the cloud game maintenance announcement.

[0086] Step S503: The project team pushes game updates. Optionally, the project team may be the game operation and maintenance party, and the project team pushes game updates, that is, releases game update packages or game maintenance data.

[0087] Step S504, triggering source machine update. Optionally, the source machine may be the first server selected to receive the game update package, for example, each region is provided with a source machine, and the source machine in each region is used to receive the game update package or game maintenance data for upgrading the server in the region.

[0088] Step S505, distributing files. Optionally, the distributed files are synchronized game update packages or game maintenance data. When distributing files, the data synchronization solution in the aforementioned embodiment of the present application can be used to improve the efficiency of data synchronization and shorten the duration of cloud game updates.

[0089] Step S506, game automation test. Optionally, the game automation test can also adopt the test scheme in the aforementioned embodiment of the present application, that is, to capture the operation interface by simulating operation, and to determine whether the update is successful by comparing the operation interface with the setting interface.

[0090] Step S507, game server launch. Optionally, for cloud gaming, if more than half of the rendering servers in a certain region have completed the update and passed the test, cloud gaming services can be provided through these rendering servers, without waiting for all rendering servers to complete the update before launching the server, thus reducing the waiting time for cloud gaming.

[0091] Figure 6 A schematic diagram of a cloud game update according to an embodiment of the present application is shown. Specifically, cloud games can be deployed in multiple areas (such as area 1, area 2, ..., area n, etc.), and each area can be provided with a distribution source machine, which is used to obtain game update packages. In each area, the stream host adapter is used to monitor whether the cloud game client needs to be updated. If an update is required, the stream host (i.e., the distribution source machine) is called to obtain the game update package, and a self-update operation is performed, and then the service 601 of initializing the allocation of resources is triggered.

[0092] In the service 601 for initializing resource allocation, by updating the platform game configuration, the business architecture can be the deployment architecture of the server (such as the rendering server of the cloud game), such as which operators' servers are deployed to support, and the deployment location and number of these servers. The initialization resource list contains the files that need to be updated, as well as the server list information that needs to be updated. Writing the allocation status to Redis is to write the role of the server to Redis. For example, when the server has not been updated, the role of the server can be the synchronized end (that is, it needs to obtain game update packages from other servers). If the server has been updated, the role of the server can be set to the synchronized end (that is, it can provide game update packages to other servers).

[0093] The service 601 for initializing resource allocation can send the task relationship between the syncing end and the synced end (such as which synced ends obtain game update packages from which syncing ends) to TaskFlow (which can exist in the form of a service) to perform task triggering operations. TaskFlow can parse the task relationship, generate data synchronization tasks, and distribute them to TaskWorkers running in the rendering servers in each region, and then the TaskWorkers in each rendering server can perform synchronization operations on the game update packages according to the data synchronization tasks.

[0094] When TaskWorker completes the data synchronization task, it can report the result to TaskFlow. TaskFlow can call back the result, adjust the update progress, and change the task status, that is, convert the role of the rendering server that has completed the update into a synchronization end (that is, it can provide game update packages to other servers), and then write it to Redis.

[0095] Redis may include a list of synchronization terminals and a list of synchronization terminals. If the list of the synchronization terminal still includes information of rendering servers, it means that some rendering servers have not completed the update operation. At this time, the service 601 for initializing resource allocation may trigger the next round of synchronization tasks until the list of the synchronization terminal no longer includes rendering servers.

[0096] At the same time, when a certain number of rendering servers that have completed synchronization in a certain area reaches a certain number (such as more than half), TaskFlow can call the game's automated test. When the test results show that the test is correct, the server can be automatically put online to provide services to game players without having to wait for all rendering servers to complete synchronization. When performing automated testing, the game screen can be captured through simulated operation, and image recognition can be used to determine whether the game is launched normally (such as whether the captured game screen is consistent with the expected screen). After the test is correct, the server is automatically opened. No manual intervention is required in the entire process, truly realizing automation.

[0097] Optionally, the service 601 for initializing resource allocation and TaskFlow may be set in the same physical entity (such as a server) or in different physical entities.

[0098] In one embodiment of the present application, Figure 7 As shown, the task dispatching between TaskFlow and TaskWorker can be achieved through the intermediate component Kafka. Specifically, the operation and maintenance personnel can create a task template on the Taskflow side, in which they can select the task type, set the trigger information, set the task execution target information, and write the status. Optionally, the task type information can be, for example, a data modification task, a data deletion task, a data sending task, etc.; the trigger information can be the task trigger condition information, which is used to indicate the conditions under which the task is triggered, such as triggering after executing the set operation, etc.; the task execution target information is used to indicate the goal expected to be achieved by executing the task; the status writing is used to indicate the execution status of the task, such as not executed, executed, failed to execute, etc.

[0099] For data synchronization tasks, TaskFlow pushes the task to the kafka queue after generating the game update task. Taskworker monitors the task message in the kafka queue in real time. If there is any, it consumes the task, that is, parses the actual execution command and runs it in the rendering server. When the rendering server completes the command, the execution result message is sent back to TaskFlow through the task callback, and TaskFlow rewrites the task status to completed.

[0100] At the same time, the Taskworker can report the heartbeat status autonomously. TaskFlow determines whether the rendering server is offline based on the reporting time. If it is offline, the problematic rendering server will be skipped when issuing tasks.

[0101] The game update solution of the embodiment of the present application can improve the update efficiency of cloud games and greatly shorten the update time of cloud games. Of course, the data synchronization solution of the embodiment of the present application can also be applied to other data synchronization application scenarios.

[0102] The following describes an apparatus embodiment of the present application, which can be used to execute the data synchronization method in the above-mentioned embodiment of the present application. For details not disclosed in the apparatus embodiment of the present application, please refer to the above-mentioned embodiment of the data synchronization method of the present application.

[0103] Figure 8 A block diagram of a data synchronization device applied to cloud gaming according to an embodiment of the present application is shown. The data synchronization device can be arranged in Figure 2 In the task management component 202 shown in FIG. 1 , the task management component 202 can be run in the server in the form of a service.

[0104] Reference Figure 8 As shown, according to an embodiment of the present application, a data synchronization device 800 applied to cloud games includes: a first receiving unit 802, a first generating unit 804, a first sending unit 806 and a first processing unit 808.

[0105] Among them, the first receiving unit 802 is configured to receive task assignment information sent by the task distributor, and the task assignment information includes information about data providing nodes and data receiving nodes for updating cloud games; the first generating unit 804 is configured to generate a data synchronization task according to the task assignment information, and the data synchronization task is used to instruct the designated data receiving node to synchronize target data from the designated data providing node, and the target data includes a cloud game update data packet; the first sending unit 806 is configured to send the data synchronization task to at least the designated data receiving node, and obtain the execution result of the data synchronization task; the first processing unit 808 is configured to return update information to the task distributor if the execution result indicates that the designated data receiving node has successfully synchronized the target data. The update information is used to indicate that the designated data receiving node is changed to a data providing node, so that the task distributor sends the task assignment information again according to the updated information.

[0106] In some embodiments of the present application, based on the aforementioned scheme, the first generation unit 804 is configured to: parse the task allocation information to obtain the information of the data providing node and the information of the data receiving node; generate the data synchronization task according to the information of the data providing node and the information of the data receiving node, as well as a preconfigured task template.

[0107] In some embodiments of the present application, based on the aforementioned scheme, the preconfigured task template includes task type information; the first generation unit 804 is configured to: set the task type information in the task template to the data synchronization type, and generate the data synchronization task according to the information of the specified data receiving node and the information of the specified data providing node.

[0108] In some embodiments of the present application, based on the aforementioned scheme, the first sending unit 806 is configured to: send the data synchronization task to a task publish-subscribe platform, so that the designated data receiving node obtains the data synchronization task by listening to the task publish-subscribe platform.

[0109] In some embodiments of the present application, based on the aforementioned scheme, the data synchronization device 800 also includes: an acquisition unit, configured to obtain status information of the data providing node and status information of the data receiving node from the task publishing and subscription platform, and the status information is used to characterize whether it is in an online state; the first sending unit 806 is also configured to: return the status information of the data providing node and the status information of the data receiving node to the task distributor.

[0110] In some embodiments of the present application, based on the aforementioned scheme, the first generating unit 804 is further configured to: generate a task to be executed, and the task to be executed includes at least one of the following: task type information, task trigger condition information, task execution target information, and task execution status information; the first sending unit 806 is further configured to: send the task to be executed to the task publishing and subscription platform, so that the designated node among the data providing node and the data receiving node obtains the task to be executed for processing by listening to the task publishing and subscription platform.

[0111] In some embodiments of the present application, based on the aforementioned scheme, the data synchronization device 800 also includes: a testing unit, configured to call the target node that has completed the data synchronization to perform a simulated operation based on the synchronized data if it detects that the number of nodes that have completed the data synchronization has reached a set number; capture the cloud game interface of the target node during the simulated operation; if the cloud game interface matches the set game interface, provide cloud game services based on the node that has completed the data synchronization.

[0112] In some embodiments of the present application, based on the aforementioned scheme, the data providing node and the data receiving node include a cloud game rendering server node.

[0113] Fig. 9 A block diagram of a data synchronization device applied to cloud gaming according to an embodiment of the present application is shown. The data synchronization device can be arranged in Figure 2 In the task distributor 201 shown in FIG. 1 , the task distributor 201 may be run in a server in the form of a service.

[0114] Reference Fig. 9 As shown, according to an embodiment of the present application, a data synchronization device 900 applied to cloud games includes: a second generating unit 902, a second sending unit 904, a second receiving unit 906 and a second processing unit 908.

[0115] Among them, the second generating unit 902 is configured to generate task assignment information, which includes information about data providing nodes and data receiving nodes for updating cloud games; the second sending unit 904 is configured to send the task assignment information to the task management component, so that the task management component generates a data synchronization task according to the task assignment information and sends it to the designated data receiving node, and the data synchronization task is used to instruct the designated data receiving node to synchronize target data from the designated data providing node, and the target data includes a cloud game update data packet; the second receiving unit 906 is configured to receive the update information returned by the task management component, and the update information is used to indicate that the designated data receiving node is changed to a data providing node; the second processing unit 908 is configured to generate the task assignment information again after the designated data receiving node is changed to a data providing node, if there is still a data receiving node.

[0116] In some embodiments of the present application, based on the aforementioned scheme, the second processing unit 908 is also configured to: obtain information about the data providing node and information about the data receiving node from a designated database, the designated database containing a first list and a second list, the first list being used to store information about the data providing node, and the second list being used to store information about the data receiving node; by moving the information of the designated data receiving node in the second list to the first list, so as to change the designated data receiving node to a data providing node.

[0117] In some embodiments of the present application, based on the aforementioned scheme, the second generating unit 902 is configured to: generate the task allocation information when an update of the data packet of the cloud game is detected; or generate the task allocation information when the set update time is reached.

[0118] Fig.10 A schematic diagram of the structure of a computer system suitable for implementing an electronic device of an embodiment of the present application is shown.

[0119] It should be noted that Fig.10 The computer system 1000 of the electronic device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.

[0120] like Fig.10 As shown, the computer system 1000 includes a central processing unit (CPU) 1001, which can perform various appropriate actions and processes according to the program stored in the read-only memory (ROM) 1002 or the program loaded from the storage part 1008 to the random access memory (RAM) 1003, such as executing the method described in the above embodiment. In the RAM 1003, various programs and data required for system operation are also stored. The CPU 1001, the ROM 1002 and the RAM 1003 are connected to each other through the bus 1004. The input / output (I / O) interface 1005 is also connected to the bus 1004.

[0121] The following components are connected to the I / O interface 1005: an input section 1006 including a keyboard, a mouse, etc.; an output section 1007 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 1008 including a hard disk, etc.; and a communication section 1009 including a network interface card such as a LAN (Local Area Network) card, a modem, etc. The communication section 1009 performs communication processing via a network such as the Internet. A drive 1010 is also connected to the I / O interface 1005 as needed. A removable medium 1011, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 1010 as needed so that a computer program read therefrom is installed into the storage section 1008 as needed.

[0122] In particular, according to an embodiment of the present application, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present application includes a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a computer program for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network through a communication section 1009, and / or installed from a removable medium 1011. When the computer program is executed by a central processing unit (CPU) 1001, various functions defined in the system of the present application are executed.

[0123] It should be noted that the computer-readable medium shown in the embodiment of the present application may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, - but not limited to - an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a flash memory, an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present application, a computer-readable storage medium may be any tangible medium containing or storing a program, which may be used by an instruction execution system, device or device or used in combination with it. In the present application, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, wherein a computer-readable computer program is carried. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Computer-readable signal media may also be any computer-readable medium other than computer-readable storage media, which may send, propagate, or transmit programs for use by or in conjunction with an instruction execution system, apparatus, or device. The computer program contained on the computer-readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wired, etc., or any suitable combination of the above.

[0124] The flowchart and block diagram in the accompanying drawings illustrate the possible architecture, functions and operations of the system, method and computer program product according to various embodiments of the present application. Wherein, each box in the flowchart or block diagram can represent a module, a program segment, or a part of the code, and the above-mentioned module, program segment, or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flowchart, and the combination of boxes in the block diagram or flowchart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0125] The units involved in the embodiments described in this application may be implemented by software or hardware, and the units described may also be set in a processor. The names of these units do not, in some cases, constitute limitations on the units themselves.

[0126] As another aspect, the present application also provides a computer-readable medium, which may be included in the electronic device described in the above embodiment; or may exist independently without being assembled into the electronic device. The above computer-readable medium carries one or more programs, and when the above one or more programs are executed by an electronic device, the electronic device implements the method described in the above embodiment.

[0127] It should be noted that, although several modules or units of the equipment for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiments of the present application, the features and functions of two or more modules or units described above can be embodied in one module or unit. On the contrary, the features and functions of one module or unit described above can be further divided into being embodied by multiple modules or units.

[0128] Through the description of the above implementation methods, it is easy for those skilled in the art to understand that the example implementation methods described here can be implemented by software or by combining software with necessary hardware. Therefore, the technical solution according to the implementation methods of the present application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which can be a personal computer, a server, a touch terminal, or a network device, etc.) to execute the method according to the implementation methods of the present application.

[0129] Those skilled in the art will readily appreciate other embodiments of the present application after considering the specification and practicing the embodiments disclosed herein. The present application is intended to cover any variations, uses or adaptations of the present application, which follow the general principles of the present application and include common knowledge or customary technical means in the art that are not disclosed in the present application.

[0130] It should be understood that the present application is not limited to the precise structures that have been described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present application is limited only by the appended claims.

Claims

1. A data synchronization method applied to cloud games, characterized in that: include: Receive task assignment information sent by a task distributor, wherein the task assignment information includes information of a data providing node and information of a data receiving node for updating a cloud game; Generate a data synchronization task according to the task allocation information, wherein the data synchronization task is used to instruct a designated data receiving node to synchronize target data from a designated data providing node, wherein the target data includes a cloud game update data packet; Sending the data synchronization task to a task publishing and subscription platform, so that the designated data receiving node obtains the data synchronization task by monitoring the task publishing and subscription platform; Obtaining the execution result of the data synchronization task, and if the execution result indicates that the designated data receiving node has successfully synchronized the target data, returning update information to the task distributor, wherein the update information is used to indicate that the designated data receiving node is changed to a data providing node, so that the task distributor resends the task assignment information according to the updated information; Among them, the data synchronization method also includes: obtaining status information of the data providing node and the status information of the data receiving node from the task publishing and subscription platform, and the status information is used to indicate whether it is in an online state; returning the status information of the data providing node and the status information of the data receiving node to the task distributor.

2. The data synchronization method according to claim 1, characterized in that: Generating a data synchronization task according to the task allocation information includes: Parsing the task allocation information to obtain information of the data providing node and information of the data receiving node; The data synchronization task is generated according to the information of the data providing node and the information of the data receiving node, as well as a preconfigured task template.

3. The data synchronization method according to claim 2, characterized in that: The preconfigured task template includes task type information; Generating the data synchronization task according to the information of the data providing node and the information of the data receiving node, and a preconfigured task template, includes: The task type information in the task template is set as a data synchronization type, and the data synchronization task is generated according to the information of the designated data receiving node and the information of the designated data providing node.

4. The data synchronization method according to claim 1, characterized in that: The data synchronization method further includes: Generate a task to be executed, wherein the task to be executed includes at least one of the following: task type information, task trigger condition information, task execution target information, and task execution status information; The to-be-executed tasks are sent to the task publishing and subscribing platform, so that the designated nodes among the data providing nodes and the data receiving nodes obtain the to-be-executed tasks for processing by monitoring the task publishing and subscribing platform.

5. The data synchronization method according to claim 1, characterized in that: The data synchronization method further includes: If it is detected that the number of nodes that have completed data synchronization has reached the set number, the target node that has completed data synchronization is called to perform simulation operation based on the synchronized data; Capture the target node to simulate the cloud game interface during runtime; If the cloud game interface matches the set game interface, the cloud game service is provided based on the node that completes data synchronization.

6. The data synchronization method according to any one of claims 1 to 5, characterized in that: The data providing node and the data receiving node include a cloud game rendering server node.

7. A data synchronization method applied to cloud games, characterized in that: include: Generate task allocation information, wherein the task allocation information includes information of a data providing node and information of a data receiving node for updating a cloud game; Send the task allocation information to the task management component, the task allocation information is used to enable the task management component to generate a data synchronization task and send the data synchronization task to the task publishing and subscription platform, so that the designated data receiving node obtains the data synchronization task by monitoring the task publishing and subscription platform, the data synchronization task is used to instruct the designated data receiving node to synchronize target data from the designated data providing node, the target data including the cloud game update data packet; receiving update information returned by the task management component, wherein the update information is used to indicate that the designated data receiving node is changed to a data providing node; After the designated data receiving node is changed to a data providing node, if there are still data receiving nodes, the task allocation information is generated again; Among them, the data synchronization method also includes: receiving status information of the data providing node and the status information of the data receiving node sent by the task management component, and the status information is used to characterize whether it is in an online state; the status information of the data providing node and the status information of the data receiving node are obtained by the task management component from the task publishing and subscription platform.

8. The data synchronization method according to claim 7, characterized in that: The data synchronization method further includes: Acquire information of data providing nodes and information of data receiving nodes from a designated database, wherein the designated database contains a first list and a second list, wherein the first list is used to store information of the data providing nodes, and the second list is used to store information of the data receiving nodes; The designated data receiving node is changed to a data providing node by moving the information of the designated data receiving node in the second list to the first list.

9. The data synchronization method according to claim 7 or 8, characterized in that: Generate task assignment information, including: When it is detected that a data packet of the cloud game is updated, the task allocation information is generated; or When the set update time is reached, the task allocation information is generated.

10. A data synchronization device for cloud gaming, characterized in that: include: A first receiving unit is configured to receive task assignment information sent by a task distributor, wherein the task assignment information includes information of a data providing node and information of a data receiving node for updating a cloud game; A first generating unit, configured to generate a data synchronization task according to the task allocation information, wherein the data synchronization task is used to instruct a designated data receiving node to synchronize target data from a designated data providing node, wherein the target data includes a cloud game update data packet; A first sending unit is configured to send the data synchronization task to a task publishing and subscribing platform, so that the designated data receiving node obtains the data synchronization task by monitoring the task publishing and subscribing platform; A first processing unit is configured to obtain an execution result of the data synchronization task, and if the execution result indicates that the designated data receiving node has successfully synchronized the target data, return update information to the task distributor, wherein the update information is used to indicate that the designated data receiving node is changed to a data providing node, so that the task distributor resends the task assignment information according to the updated information; An acquisition unit, configured to acquire status information of a data providing node and status information of a data receiving node from the task publishing and subscribing platform, wherein the status information is used to indicate whether the node is in an online state; Wherein, the first sending unit is further configured to: return the status information of the data providing node and the status information of the data receiving node to the task distributor.

11. A data synchronization device for cloud gaming, characterized in that: include: A second generating unit is configured to generate task allocation information, wherein the task allocation information includes information of a data providing node and information of a data receiving node for updating a cloud game; A second sending unit is configured to send the task assignment information to a task management component, wherein the task assignment information is used to enable the task management component to generate a data synchronization task and send the data synchronization task to a task publishing and subscription platform, so that the designated data receiving node obtains the data synchronization task by monitoring the task publishing and subscription platform, and the data synchronization task is used to instruct the designated data receiving node to synchronize target data from a designated data providing node, wherein the target data includes a cloud game update data packet; A second receiving unit, configured to receive update information returned by the task management component, wherein the update information is used to indicate that the designated data receiving node is changed to a data providing node; A second processing unit is configured to, after the designated data receiving node is changed to a data providing node, regenerate the task allocation information if there are still data receiving nodes; Among them, the second receiving unit is also configured to: receive status information of the data providing node and status information of the data receiving node sent by the task management component, and the status information is used to characterize whether it is in an online state; the status information of the data providing node and the status information of the data receiving node are obtained by the task management component from the task publishing and subscription platform.

12. A computer readable medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the data synchronization method applied to cloud games as described in any one of claims 1 to 9 is implemented.

13. An electronic device, characterized in that: include: one or more processors; A storage device for storing one or more programs, which, when executed by the one or more processors, enables the one or more processors to implement the data synchronization method applied to cloud games as described in any one of claims 1 to 9.

14. A computer program product, characterized in that The computer program product includes a computer program, which is stored in a computer-readable storage medium. The processor of a computer device reads and executes the computer program from the computer-readable storage medium, so that the computer device executes the data synchronization method applied to cloud games as described in any one of claims 1 to 9.

Citation Information

Patent Citations

  • User save data management in cloud gaming

    CN109152955A

  • Methods and systems for scheduling game play of a video game

    CN110769907A