CN110639206A - Game data synchronization method, device, storage medium and processor - Google Patents

Game data synchronization method, device, storage medium and processor Download PDF

Info

Publication number
CN110639206A
CN110639206A CN201910895211.9A CN201910895211A CN110639206A CN 110639206 A CN110639206 A CN 110639206A CN 201910895211 A CN201910895211 A CN 201910895211A CN 110639206 A CN110639206 A CN 110639206A
Authority
CN
China
Prior art keywords
client
game
game object
synchronized
editing operation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910895211.9A
Other languages
Chinese (zh)
Inventor
邢山虎
杨盼
周莹华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Code Qiankun Technology Co Ltd
Original Assignee
Beijing Code Qiankun Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Code Qiankun Technology Co Ltd filed Critical Beijing Code Qiankun Technology Co Ltd
Priority to CN201910895211.9A priority Critical patent/CN110639206A/en
Publication of CN110639206A publication Critical patent/CN110639206A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program

Abstract

The invention discloses a game data synchronization method, a game data synchronization device, a storage medium and a processor. The method comprises the following steps: determining a game component to be synchronized in a game object on a first client, wherein the game component to be synchronized is an independent component which is obtained by separating the function attributes associated with the game object and has data change; and synchronizing the game component to be synchronized to the at least one second client via the server, wherein the first client edits the game object in cooperation with the at least one second client. The invention solves the technical problems that the synchronization data volume transferred between the client sides through the server is extremely large and the synchronization process is very complicated in the host mode synchronization scheme provided in the related technology.

Description

Game data synchronization method, device, storage medium and processor
Technical Field
The invention relates to the field of games, in particular to a game data synchronization method, a game data synchronization device, a storage medium and a processor.
Background
Currently, a host mode synchronization scheme is provided in the field of gaming. One client participating in the game is taken as a main machine, and the other clients are taken as auxiliary machines. The main operation of the game logic is completed by the main machine, and the other auxiliary machines realize the operation instruction transfer through the server and send the operation instruction to the main machine in a centralized manner. After the game operation is completed by the main machine, the operation result is transferred through the server and further broadcasted to other auxiliary machines. The advantages of this synchronization scheme are: the logic code of the game process can be developed and operated on the client, and the game engine of the client provides good technical support for functions of position calculation, collision detection and the like in two-dimensional and three-dimensional spaces, so that the whole game logic can be handed over to the client for charge, and the server only needs to be responsible for executing forwarding and broadcasting operations.
However, the synchronization scheme still has the following technical drawbacks: the synchronization data volume transferred between the clients through the server is extremely large, and the synchronization process is very complex.
In view of the above problems, no effective solution has been proposed.
Disclosure of Invention
At least some embodiments of the present invention provide a game data synchronization method, apparatus, storage medium, and processor, so as to solve at least the technical problems of a host mode synchronization scheme provided in the related art, a huge amount of data to be synchronized between clients through server transfer, and a very complicated synchronization process.
According to an embodiment of the present invention, there is provided a game data synchronization method including:
determining a game component to be synchronized in a game object on a first client, wherein the game component to be synchronized is an independent component which is obtained by separating the function attributes associated with the game object and has data change; and synchronizing the game component to be synchronized to the at least one second client via the server, wherein the first client edits the game object in cooperation with the at least one second client.
Optionally, determining a game component to be synchronized in the game object on the first client comprises: selecting a game object on a first client to enable the game object to be in a locked state, wherein the first client has a temporary exclusive editing right to the game object in the locked state; in response to a sequence of editing operations applied to a game object, a game component to be synchronized is determined.
Optionally, after synchronizing the game component to be synchronized to the at least one second client via the server, further comprising: and deselecting the game object on the first client so as to enable the game object to be in an unlocked state, wherein the first client changes the temporarily exclusive editing permission into any client of the selected game object in at least one second client in the unlocked state.
Optionally, after determining the game component to be synchronized in response to the sequence of editing operations applied to the game object, the method further includes: numbering each editing operation according to the operation sequence of each editing operation in the editing operation sequence to obtain a numbering result; and storing the editing operation sequence to a preset storage space in sequence according to the numbering result.
Optionally, after determining the game component to be synchronized in response to the sequence of editing operations applied to the game object, the method further includes: determining an editing operation to be resumed in the event that it is determined that the game object is not selected by the at least one second client; and rolling back from the current editing operation to the editing operation to be recovered in the editing operation sequence according to the numbering result.
Optionally, synchronizing, via the server, the game component to be synchronized to the at least one second client comprises: acquiring the size of a bag body of a game component to be synchronized; under the condition that the size of the bag body exceeds a preset threshold value, performing sub-packaging and compression processing on the game components to be synchronized, and synchronizing the game components to at least one second client through the server; or, in the case that the size of the packet body does not exceed the preset threshold, synchronizing to the at least one second client directly via the server.
According to an embodiment of the present invention, there is also provided a game data synchronization apparatus including:
the system comprises a first determining module, a second determining module and a synchronization module, wherein the first determining module is used for determining game components to be synchronized in game objects on a first client, and the game components to be synchronized are independent components which are obtained by separating function attributes associated with the game objects and have data change; and the synchronization module is used for synchronizing the game components to be synchronized to at least one second client through the server, wherein the first client and the at least one second client collaboratively edit the game object.
Optionally, the first determining module includes: the system comprises a selecting unit, a first client and a second client, wherein the selecting unit is used for selecting a game object on the first client so as to enable the game object to be in a locked state, and the first client has a temporary exclusive editing right on the game object in the locked state; and the determining unit is used for responding to the editing operation sequence acted on the game object and determining the game components to be synchronized.
Optionally, the apparatus further comprises: and the canceling module is used for canceling the selected game object on the first client so as to enable the game object to be in an unlocking state, wherein the first client changes the temporarily exclusive editing permission into any client of the selected game object in at least one second client in the unlocking state.
Optionally, the apparatus further comprises: the numbering module is used for numbering each editing operation according to the operation sequence of each editing operation in the editing operation sequence to obtain a numbering result; and the storage module is used for storing the editing operation sequences to a preset storage space in sequence according to the numbering result.
Optionally, the apparatus further comprises: the second determining module is used for determining the editing operation to be recovered under the condition that the game object is not selected by the at least one second client; and the rollback module is used for rolling back from the current editing operation to the editing operation to be recovered in the editing operation sequence according to the numbering result.
Optionally, the synchronization module comprises: the acquisition unit is used for acquiring the size of a bag body of the game component to be synchronized; the synchronization unit is used for performing packet distribution and compression processing on the game components to be synchronized under the condition that the size of the bag body exceeds a preset threshold value, and then synchronizing the game components to at least one second client through the server; or, in the case that the size of the packet body does not exceed the preset threshold, synchronizing to the at least one second client directly via the server.
According to an embodiment of the present invention, there is further provided a storage medium including a stored program, wherein when the program runs, a device on which the storage medium is located is controlled to execute any one of the game data synchronization methods described above.
According to an embodiment of the present invention, there is further provided a processor, configured to run a program, where the program executes a game data synchronization method according to any one of the above methods.
In at least some embodiments of the present invention, a game component to be synchronized in a game object on a first client is synchronized to at least one second client via a server in a manner of determining an independent component that is obtained by separating function attributes associated with the game object and has data change, wherein the first client and the at least one second client collaboratively edit the game object, so as to achieve the purpose of independently forming the function attributes associated with the game object into corresponding component systems and synchronizing only with respect to changed component data, thereby achieving technical effects of reducing data amount in a synchronization process and reducing complexity of the synchronization process, and further solving a host mode synchronization scheme provided in the related art, where the amount of synchronization data transferred between the clients via the server is extremely large, The synchronization process is quite complicated.
Drawings
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the invention and together with the description serve to explain the invention without limiting the invention. In the drawings:
FIG. 1 is a schematic diagram of a game data synchronization system according to an embodiment of the present invention;
FIG. 2 is a flow diagram of a method of game data synchronization according to one embodiment of the invention;
FIG. 3 is a schematic illustration of a game data synchronization process according to an alternative embodiment of the present invention;
FIG. 4 is a schematic diagram of an edit manipulation sequence storage process in accordance with an alternative embodiment of the present invention;
FIG. 5 is a block diagram of a game data synchronization apparatus according to an embodiment of the present invention;
fig. 6 is a block diagram of a game data synchronization apparatus according to an alternative embodiment of the present invention.
Detailed Description
In order to make the technical solutions of the present invention better understood, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
It should be noted that the terms "first," "second," and the like in the description and claims of the present invention and in the drawings described above are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used is interchangeable under appropriate circumstances such that the embodiments of the invention described herein are capable of operation in sequences other than those illustrated or described herein. Furthermore, the terms "comprises," "comprising," and "having," 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, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
In accordance with one embodiment of the present invention, there is provided an embodiment of a game data synchronization method, it should be noted that the steps illustrated in the flowchart of the accompanying drawings may be performed in a computer system such as a set of computer-executable instructions, and that while a logical order is illustrated in the flowchart, in some cases the steps illustrated or described may be performed in an order different than that presented herein.
The method embodiment may be performed in a game data synchronization system. The game data synchronization system includes: a collaboration server and a terminal running a game client. Fig. 1 is a schematic structural diagram of a game data synchronization system according to an embodiment of the present invention. As shown in FIG. 1, each terminal running a game client may be considered a collaborator editing a game object. Among all the collaborators, one terminal is the owner of the game object and has ownership of the game object, and the other terminals belong to the helpers who only have the use right of the game object but do not have ownership of the game object. Assuming that the game object is a basketball court, there are currently four collaborators (client a, client B, client C, and client D, respectively) who collectively edit the basketball court, client a being the actual owner of the basketball court, and client B, client C, and client D being helpers who assist in editing the basketball court. Client B is responsible for editing the ground, client C is responsible for editing the basketball stands, and client D is responsible for editing the court seats. Therefore, in the editing process, the component data changes brought by each client through the editing operation are forwarded and broadcasted through the collaboration server. In order to meet the requirement of collaborative editing of a plurality of clients, a game data synchronization system is driven to run through the change of component data, and the component data change is synchronized to collaborators through a network, so that the component data change can be responded immediately among the collaborators, and the purpose of collaborative editing is achieved.
The collaboration server may include one or more processors (which may include, but are not limited to, a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), a Digital Signal Processing (DSP) chip, a Microprocessor (MCU), or a programmable logic device (FPGA), etc.) and memory for storing data. Optionally, the collaboration server may further include a transmission device for a communication function and an input/output device. It will be understood by those skilled in the art that the foregoing structural description is merely illustrative and not restrictive of the structure of the collaboration server. For example, the collaboration server may also include more or fewer components than described above, or have a different configuration than described above.
The memory may be used to store a computer program, for example, a software program and a module of application software, such as a computer program corresponding to the game data synchronization method in the embodiment of the present invention, and the processor executes various functional applications and data processing by running the computer program stored in the memory, so as to implement the game data synchronization method described above. The memory may include high speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory may further include memory remotely located from the processor, and these remote memories may be connected to the collaboration server over a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The transmission device is used to receive or transmit data via a network. Specific examples of the network described above may include a wireless network provided by a communication provider of the cooperation server. In one example, the transmission device includes a Network adapter (NIC) that can be connected to other Network devices through a base station to communicate with the internet. In one example, the transmission device may be a Radio Frequency (RF) module, which is used for communicating with the internet in a wireless manner.
The terminal on which the game client operates may include one or more processors (which may include, but are not limited to, a processing device such as a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), a Digital Signal Processing (DSP) chip, a Microprocessor (MCU), or a programmable logic device (FPGA)), and memory for storing data. Optionally, the terminal may further include a transmission device, an input/output device, and a display device for the communication function. It will be understood by those skilled in the art that the above description is only illustrative and not restrictive of the structure of the terminal. For example, the terminal may also include more or fewer components than described above, or may have a different configuration than described above.
The memory may be used to store a computer program, for example, a software program and a module of application software, such as a computer program corresponding to the game data synchronization method in the embodiment of the present invention, and the processor executes various functional applications and data processing by running the computer program stored in the memory, so as to implement the game data synchronization method described above. The memory may include high speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory may further include memory located remotely from the processor, and these remote memories may be connected to the terminal through a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The transmission device is used to receive or transmit data via a network. Specific examples of the network described above may include a wireless network provided by a communication provider of the terminal. In one example, the transmission device includes a Network adapter (NIC) that can be connected to other Network devices through a base station to communicate with the internet. In one example, the transmission device may be a Radio Frequency (RF) module, which is used for communicating with the internet in a wireless manner.
The display device may be, for example, a touch screen type Liquid Crystal Display (LCD) and a touch display (also referred to as a "touch screen" or "touch display screen"). The liquid crystal display may enable a user to interact with a user interface of the terminal. In some embodiments, the display device has a Graphical User Interface (GUI) with which a user can interact by touching finger contacts and/or gestures on a touch-sensitive surface, where the human interaction functionality optionally includes the following interactions: executable instructions for creating web pages, drawing, word processing, making electronic documents, games, video conferencing, instant messaging, emailing, call interfacing, playing digital video, playing digital music, and/or web browsing, etc., for performing the above-described human-computer interaction functions, are configured/stored in one or more processor-executable computer program products or readable storage media.
In the embodiment, a game data synchronization method running on the first client is provided. Fig. 2 is a flowchart of a game data synchronization method according to an embodiment of the present invention, as shown in fig. 2, the method including the steps of:
step S20, determining a game component to be synchronized in the game object on the first client, wherein the game component to be synchronized is an independent component which is obtained by separating the function attribute associated with the game object and has data change;
step S22, synchronizing the game component to be synchronized to the at least one second client via the server, wherein the first client edits the game object in cooperation with the at least one second client.
Through the steps, the game component to be synchronized in the game object on the first client can be determined in a mode that the game component to be synchronized is an independent component which is obtained by separating the function attributes associated with the game object and has data change, the game component to be synchronized is synchronized to at least one second client through the server, wherein the first client and the at least one second client collaboratively edit the game object, the function attributes associated with the game object are independently changed into corresponding component systems, and the aim of synchronizing the changed component data is only needed, so that the technical effects of reducing the data volume of the synchronization process and reducing the complexity of the synchronization process are achieved, and further the host mode synchronization scheme provided in the related technology is solved, the synchronization data volume transferred between the clients through the server is extremely large, The synchronization process is quite complicated.
The game object may be a two-dimensional or three-dimensional model within a game scene, such as: characters, vehicles, court. The game component comprises various components of the game object. Taking the game object as a vehicle as an example, the game components may include, but are not limited to: wheels, car body, car window, rearview mirror, steering wheel. The function attribute refers to an attribute that each game component has in order to realize its own function. Taking the game component as an example of a wheel, the functional attributes may include, but are not limited to: material, pattern, size, color. The first client is an owner of the game object, and the at least one second client is a helper.
Optionally, the step S20, determining the game component to be synchronized in the game object on the first client may include the following steps:
step S201, selecting a game object on a first client to enable the game object to be in a locked state, wherein the first client has a temporary exclusive editing right to the game object in the locked state;
in step S202, in response to the editing operation sequence applied to the game object, the game component to be synchronized is determined.
In order to ensure that the clients mutually exclude the same game object at the same time, it is necessary to determine whether the game object is in a locked state before each client performs an editing operation on the game object. If the game object is already in the locked state, only the client that selected the game object can perform the editing operation. The editing operations performed on the game object by other clients are regarded as invalid operations.
FIG. 3 is a schematic diagram of a game data synchronization process according to an alternative embodiment of the present invention, as shown in FIG. 3, where a collaboration system may be run together on each client. If a first client wishes to perform an editing operation on a particular game object, the first client first needs to select that game object and may notify other clients of the locked state of the game object through the collaboration server. After the first client selects the operation object, the collaboration system locks the game object and sets the first client as the only attribution of the game object, that is, the first client has the temporarily exclusive editing right to the game object in the locked state. Then, throughout the synchronization process, the first client may determine the game component to be synchronized in response to a sequence of editing operations that are applied to the game object. The first client side can send the game component data influenced by the editing operation change to the cooperation server through network connection, and the cooperation server is responsible for broadcasting the game component data to other client sides. And the second client receiving the game component data can update the editing operation change to the corresponding game component in the game object in time through the cooperation system and display the synchronized result.
Optionally, after synchronizing the game component to be synchronized to the at least one second client via the server at step S22, the method may further include the following steps:
and step S23, deselecting the game object on the first client so as to enable the game object to be in an unlocked state, wherein the first client changes the temporarily exclusive editing authority to any one client of the selected game object in the at least one second client in the unlocked state.
If the game object is deselected on the first client, the game object is switched from the locked state to the unlocked state. And the first client changes the temporarily exclusive editing authority into any client of the selected game object in at least one second client in the unlocking state. At this time, the editing operation performed by the first client on the game object is regarded as an invalid operation, and any second client selecting the game object has a temporarily exclusive editing right on the game object in the locked state. That is, the client having the temporarily exclusive editing right is changed from the first client to the second client.
Optionally, in step S202, after determining the game component to be synchronized in response to the sequence of editing operations acting on the game object, the following steps may be further included:
step S24, numbering each editing operation according to the operation sequence of each editing operation in the editing operation sequence to obtain a numbering result;
and step S25, storing the editing operation sequence in sequence to a preset storage space according to the numbering result.
In the course of an editing operation performed on a game object by a first client, a series of editing operations performed on the game object may constitute an editing operation sequence. And numbering each editing operation according to the operation sequence of each editing operation in the editing operation sequence to obtain a numbering result. For example: edit operation 1, edit operation 2 … edit operation n-1, edit operation n. Of course, since the temporarily exclusive editing right may cause a change in attribution between different clients, the editing operations performed by the respective clients may constitute an overall editing operation sequence.
Fig. 4 is a schematic diagram of an editing operation sequence storage process according to an alternative embodiment of the present invention, and as shown in fig. 4, the editing operation sequence numbers of the clients in the overall editing operation sequence are sorted according to the time sequence executed by each editing operation, so as to obtain a numbering result. For example: edit operation 1 of the first client, edit operation 2 … of the second client edit operation n-2 of the first client, edit operation n-1 of the second client, edit operation n of the first client. Then, the whole editing operation sequence executed by each client for the game object is stored in a preset storage space (for example, a local preset database of the first client) in sequence.
Optionally, in step S202, after determining the game component to be synchronized in response to the sequence of editing operations acting on the game object, the following steps may be further included:
step S26, under the condition that the game object is not selected by at least one second client, the editing operation to be recovered is determined;
and step S27, rolling back from the current editing operation to the editing operation to be recovered in the editing operation sequence according to the numbering result.
If the first client wishes to resume the specific editing operation executed previously, it is first required to search the position of the specific editing operation from the preset storage space according to the number of the specific editing operation, and then determine whether the game object is currently locked by other clients. And determining to-be-restored editing operation under the condition that the first client determines that the game object is not selected by the at least one second client. If the game object has been selected by any of the second clients, the editing operation performed by the first client on the game object is deemed to be an invalid operation. And finally, the first client rolls back from the current editing operation to the editing operation to be recovered in the editing operation sequence according to the numbering result.
Still taking the above-mentioned fig. 4 as an example, the current editing operation of the first client is an editing operation n, and the editing operation to be resumed of the first client is an editing operation n-2. In the event that the first client determines that the game object is not selected by the at least one second client, a rollback from edit operation n to edit operation n-2 in the sequence of edit operations may be made in accordance with the numbered results.
Optionally, the step S22 of synchronizing the game component to be synchronized to the at least one second client via the server may comprise the performing steps of:
step S221, acquiring the size of a bag body of a game component to be synchronized;
step S222, under the condition that the size of the bag body exceeds a preset threshold value, performing sub-packaging and compression processing on the game component to be synchronized, and synchronizing the game component to at least one second client through the server; or, in the case that the size of the packet body does not exceed the preset threshold, synchronizing to the at least one second client directly via the server.
During the editing process of the game object, the client and the collaboration server may encounter frequent data changes (e.g., position change, direction change, blood volume change of the game object), and create a completely new game object, which results in a huge amount of data synchronization between the client and the collaboration server. Therefore, for the condition that the synchronous data volume is huge, the first client can adopt a sub-packet and compression processing mode to greatly reduce the size of the message packet body and relieve the network transmission pressure. Specifically, the first client may obtain a bag size of the game component to be synchronized. And under the condition that the size of the bag body exceeds a preset threshold value, the first client performs sub-packaging and compression processing on the game components to be synchronized, performs sequential numbering processing on each sub-packaged game component to prevent packet loss caused by abnormal network transmission, and synchronizes to at least one second client through the server. In the case that the packet size does not exceed the preset threshold, the first client may synchronize directly to the at least one second client via the server.
In addition, the cooperation server can also carry out merging processing on the same operation data submitted by each client, so that the network transmission process is more gentle. For example: among client a, client B, client C, and client D, a is the actual owner of the game object, while client B, client C, and client D are the helpers who assist in editing the game object. In the editing process, the client a, the client B, the client C and the client D all perform perspective editing operations. For this reason, the collaboration server may perform a merging process on the view editing operations performed by the client a, the client B, the client C, and the client D, and broadcast the merged view editing operations to the respective clients.
Through the above description of the embodiments, those skilled in the art can clearly understand that the method according to the above embodiments can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware, but the former is a better implementation mode in many cases. Based on such understanding, the technical solutions of the present invention may be embodied in the form of a software product, which is stored in a storage medium (e.g., ROM/RAM, magnetic disk, optical disk) and includes instructions for enabling a terminal device (e.g., a mobile phone, a computer, a server, or a network device) to execute the method according to the embodiments of the present invention.
In this embodiment, a game data synchronization device is further provided, and the device is used to implement the foregoing embodiments and preferred embodiments, and the description of the device is omitted. As used below, the term "module" may be a combination of software and/or hardware that implements a predetermined function. Although the means described in the embodiments below are preferably implemented in software, an implementation in hardware, or a combination of software and hardware is also possible and contemplated.
Fig. 5 is a block diagram of a game data synchronization apparatus according to an embodiment of the present invention, as shown in fig. 5, the apparatus including: a first determining module 10, configured to determine a game component to be synchronized in a game object on a first client, where the game component to be synchronized is an independent component that is obtained by separating function attributes associated with the game object and has data change; a synchronization module 20, configured to synchronize the game component to be synchronized to the at least one second client via the server, where the first client and the at least one second client collaboratively edit the game object.
Optionally, the first determining module 10 includes: a selecting unit (not shown in the figure) for selecting the game object on the first client to enable the game object to be in a locked state, wherein the first client has a temporary exclusive editing right on the game object in the locked state; a determination unit (not shown in the figure) for determining the game components to be synchronized in response to the sequence of editing operations applied to the game object.
Optionally, fig. 6 is a block diagram of a game data synchronization apparatus according to an alternative embodiment of the present invention, and as shown in fig. 6, the apparatus includes, in addition to all modules shown in fig. 5: and the canceling module 30 is configured to cancel the selected game object on the first client, so that the game object is in an unlocked state, where the first client changes the temporarily exclusive editing right to any client of the selected game object in the at least one second client in the unlocked state.
Optionally, as shown in fig. 6, the apparatus includes, in addition to all the modules shown in fig. 5: the numbering module 40 is used for numbering each editing operation according to the operation sequence of each editing operation in the editing operation sequence to obtain a numbering result; and the storage module 50 is configured to store the editing operation sequences in sequence to a preset storage space according to the numbering result.
Optionally, as shown in fig. 6, the apparatus includes, in addition to all the modules shown in fig. 5: a second determining module 60, configured to determine, in a case where it is determined that the game object is not selected by the at least one second client, that the editing operation is to be resumed; and a rolling back module 70, configured to roll back from the current editing operation to the editing operation to be resumed in the editing operation sequence according to the numbering result.
Optionally, the synchronization module 20 comprises: an acquisition unit (not shown in the figure) for acquiring the bag body size of the game component to be synchronized; a synchronization unit (not shown in the figure) for performing packet dividing and compression processing on the game component to be synchronized under the condition that the size of the bag body exceeds a preset threshold value, and then synchronizing the game component to at least one second client through the server; or, in the case that the size of the packet body does not exceed the preset threshold, synchronizing to the at least one second client directly via the server.
It should be noted that, the above modules may be implemented by software or hardware, and for the latter, the following may be implemented, but not limited to: the modules are all positioned in the same processor; alternatively, the modules are respectively located in different processors in any combination.
Embodiments of the present invention also provide a storage medium having a computer program stored therein, wherein the computer program is arranged to perform the steps of any of the above method embodiments when executed.
Alternatively, in the present embodiment, the storage medium may be configured to store a computer program for executing the steps of:
s1, determining a game component to be synchronized in the game object on the first client, wherein the game component to be synchronized is an independent component which is obtained by separating the function attributes associated with the game object and has data change;
and S2, synchronizing the game component to be synchronized to at least one second client through the server, wherein the first client and the at least one second client collaboratively edit the game object.
Optionally, in this embodiment, the storage medium may include, but is not limited to: various media capable of storing computer programs, such as a usb disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a removable hard disk, a magnetic disk, or an optical disk.
Embodiments of the present invention also provide an electronic device comprising a memory having a computer program stored therein and a processor arranged to run the computer program to perform the steps of any of the above method embodiments.
Optionally, the electronic apparatus may further include a transmission device and an input/output device, wherein the transmission device is connected to the processor, and the input/output device is connected to the processor.
Optionally, in this embodiment, the processor may be configured to execute the following steps by a computer program:
s1, determining a game component to be synchronized in the game object on the first client, wherein the game component to be synchronized is an independent component which is obtained by separating the function attributes associated with the game object and has data change;
and S2, synchronizing the game component to be synchronized to at least one second client through the server, wherein the first client and the at least one second client collaboratively edit the game object.
Optionally, the specific examples in this embodiment may refer to the examples described in the above embodiments and optional implementation manners, and this embodiment is not described herein again.
The above-mentioned serial numbers of the embodiments of the present invention are merely for description and do not represent the merits of the embodiments.
In the above embodiments of the present invention, the descriptions of the respective embodiments have respective emphasis, and for parts that are not described in detail in a certain embodiment, reference may be made to related descriptions of other embodiments.
In the embodiments provided in the present application, it should be understood that the disclosed technology can be implemented in other ways. The above-described embodiments of the apparatus are merely illustrative, and for example, the division of the units may be a logical division, and in actual implementation, there may be another division, for example, multiple units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, units or modules, and may be in an electrical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present invention may be embodied in the form of a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a removable hard disk, a magnetic or optical disk, and other various media capable of storing program codes.
The foregoing is only a preferred embodiment of the present invention, and it should be noted that, for those skilled in the art, various modifications and decorations can be made without departing from the principle of the present invention, and these modifications and decorations should also be regarded as the protection scope of the present invention.

Claims (13)

1. A game data synchronization method, comprising:
determining a game component to be synchronized in a game object on a first client, wherein the game component to be synchronized is an independent component which is obtained by separating the function attributes associated with the game object and has data change;
synchronizing the game component to be synchronized to at least one second client via a server, wherein the first client edits the game object in cooperation with the at least one second client.
2. The method of claim 1, wherein determining the game component to be synchronized in the game object on the first client comprises:
selecting the game object on the first client to enable the game object to be in a locked state, wherein the first client has a temporary exclusive editing right on the game object in the locked state;
and responding to the editing operation sequence acted on the game object, and determining the game component to be synchronized.
3. The method of claim 1, further comprising, after synchronizing the game component to be synchronized to the at least one second client via the server:
and deselecting the game object on the first client to enable the game object to be in an unlocked state, wherein the first client changes the temporarily exclusive editing permission to any client selecting the game object in the at least one second client in the unlocked state.
4. The method of claim 2, further comprising, after determining the game component to be synchronized in response to a sequence of editing operations performed on the game object:
numbering each editing operation according to the operation sequence of each editing operation in the editing operation sequence to obtain a numbering result;
and storing the editing operation sequence to a preset storage space in sequence according to the numbering result.
5. The method of claim 4, further comprising, after determining the game component to be synchronized in response to a sequence of editing operations performed on the game object:
determining an editing operation to be resumed if it is determined that the game object is not selected by the at least one second client;
and rolling back from the current editing operation to the editing operation to be recovered in the editing operation sequence according to the numbering result.
6. The method of claim 1, wherein synchronizing, via the server, the game component to be synchronized to the at least one second client comprises:
acquiring the size of a bag body of the game component to be synchronized;
under the condition that the size of the bag body exceeds a preset threshold value, performing sub-packaging and compression processing on the game components to be synchronized, and then synchronizing the game components to the at least one second client through the server; or, in the case that the packet body size does not exceed a preset threshold, synchronizing to the at least one second client directly via the server.
7. A game data synchronization apparatus, comprising:
the system comprises a first determining module, a second determining module and a synchronization module, wherein the first determining module is used for determining a game component to be synchronized in a game object on a first client, and the game component to be synchronized is an independent component which is obtained by separating function attributes associated with the game object and has data change;
and the synchronization module is used for synchronizing the game component to be synchronized to at least one second client through the server, wherein the first client and the at least one second client collaboratively edit the game object.
8. The apparatus of claim 7, wherein the first determining module comprises:
the selection unit is used for selecting the game object on the first client so as to enable the game object to be in a locked state, wherein the first client has a temporary exclusive editing right on the game object in the locked state;
and the determining unit is used for responding to the editing operation sequence acted on the game object and determining the game component to be synchronized.
9. The apparatus of claim 7, further comprising:
and the canceling module is used for canceling the selection of the game object on the first client so as to enable the game object to be in an unlocked state, wherein the first client changes the temporarily exclusive editing permission to any client selecting the game object in the at least one second client in the unlocked state.
10. The apparatus of claim 8, further comprising:
the numbering module is used for numbering each editing operation according to the operation sequence of each editing operation in the editing operation sequence to obtain a numbering result;
and the storage module is used for storing the editing operation sequence to a preset storage space in sequence according to the numbering result.
11. The apparatus of claim 10, further comprising:
a second determining module, configured to determine, in a case where it is determined that the game object is not selected by the at least one second client, an editing operation to be resumed;
and the rollback module is used for rolling back from the current editing operation to the editing operation to be recovered in the editing operation sequence according to the numbering result.
12. A storage medium comprising a stored program, wherein the program, when executed, controls an apparatus in which the storage medium is located to execute the game data synchronization method according to any one of claims 1 to 6.
13. A processor for running a program, wherein the program when running performs the game data synchronization method of any one of claims 1 to 6.
CN201910895211.9A 2019-09-20 2019-09-20 Game data synchronization method, device, storage medium and processor Pending CN110639206A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910895211.9A CN110639206A (en) 2019-09-20 2019-09-20 Game data synchronization method, device, storage medium and processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910895211.9A CN110639206A (en) 2019-09-20 2019-09-20 Game data synchronization method, device, storage medium and processor

Publications (1)

Publication Number Publication Date
CN110639206A true CN110639206A (en) 2020-01-03

Family

ID=69011058

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910895211.9A Pending CN110639206A (en) 2019-09-20 2019-09-20 Game data synchronization method, device, storage medium and processor

Country Status (1)

Country Link
CN (1) CN110639206A (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111491016A (en) * 2020-04-02 2020-08-04 北京代码乾坤科技有限公司 Synchronous data processing method and device
CN111569423A (en) * 2020-05-14 2020-08-25 北京代码乾坤科技有限公司 Method and device for correcting collision form
CN111569426A (en) * 2020-06-09 2020-08-25 网易(杭州)网络有限公司 Game scene editing method and device, storage medium and electronic device
CN111569413A (en) * 2020-05-14 2020-08-25 北京代码乾坤科技有限公司 Data synchronization method and device
CN113094443A (en) * 2021-05-21 2021-07-09 珠海金山网络游戏科技有限公司 Data synchronization method and device
CN113746931A (en) * 2021-09-10 2021-12-03 联想(北京)有限公司 Data synchronization method and device
CN116319094A (en) * 2023-05-19 2023-06-23 北京安帝科技有限公司 Data safety transmission method, computer equipment and medium based on tobacco industry
WO2023155725A1 (en) * 2022-02-16 2023-08-24 北京字跳网络技术有限公司 Object operation method and apparatus, electronic device and storage medium
CN117504304A (en) * 2023-12-13 2024-02-06 广州库洛数界科技有限公司 Method, system and storage medium for synchronizing game development

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101266633A (en) * 2006-11-29 2008-09-17 优万科技(北京)有限公司 Seamless super large scale dummy game world platform
JP2009125266A (en) * 2007-11-22 2009-06-11 Nhn Corp Synchronous control method and game system
CN106559426A (en) * 2016-11-24 2017-04-05 腾讯科技(深圳)有限公司 A kind of data processing method and server and client based on frame synchronization
CN107172136A (en) * 2017-05-04 2017-09-15 腾讯科技(深圳)有限公司 The synchronous method and device of voxel data
CN107423015A (en) * 2017-07-24 2017-12-01 腾讯科技(深圳)有限公司 The synchronous display method and device of game content
CN107911374A (en) * 2017-11-27 2018-04-13 腾讯科技(上海)有限公司 Method of data synchronization and device, storage medium and electronic device
CN108479072A (en) * 2018-03-23 2018-09-04 广州悦世界信息科技有限公司 A kind of method of data synchronization and system for policy class game large scene
CN109381859A (en) * 2017-08-04 2019-02-26 瑞昱半导体股份有限公司 For the control circuit in the game machine of main side
CN110083235A (en) * 2019-04-08 2019-08-02 聚好看科技股份有限公司 Interactive system and data processing method

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101266633A (en) * 2006-11-29 2008-09-17 优万科技(北京)有限公司 Seamless super large scale dummy game world platform
JP2009125266A (en) * 2007-11-22 2009-06-11 Nhn Corp Synchronous control method and game system
CN106559426A (en) * 2016-11-24 2017-04-05 腾讯科技(深圳)有限公司 A kind of data processing method and server and client based on frame synchronization
CN107172136A (en) * 2017-05-04 2017-09-15 腾讯科技(深圳)有限公司 The synchronous method and device of voxel data
CN107423015A (en) * 2017-07-24 2017-12-01 腾讯科技(深圳)有限公司 The synchronous display method and device of game content
CN109381859A (en) * 2017-08-04 2019-02-26 瑞昱半导体股份有限公司 For the control circuit in the game machine of main side
CN107911374A (en) * 2017-11-27 2018-04-13 腾讯科技(上海)有限公司 Method of data synchronization and device, storage medium and electronic device
CN108479072A (en) * 2018-03-23 2018-09-04 广州悦世界信息科技有限公司 A kind of method of data synchronization and system for policy class game large scene
CN110083235A (en) * 2019-04-08 2019-08-02 聚好看科技股份有限公司 Interactive system and data processing method

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111491016A (en) * 2020-04-02 2020-08-04 北京代码乾坤科技有限公司 Synchronous data processing method and device
CN111491016B (en) * 2020-04-02 2023-08-25 北京代码乾坤科技有限公司 Synchronous data processing method and device
CN111569423A (en) * 2020-05-14 2020-08-25 北京代码乾坤科技有限公司 Method and device for correcting collision form
CN111569413A (en) * 2020-05-14 2020-08-25 北京代码乾坤科技有限公司 Data synchronization method and device
CN111569413B (en) * 2020-05-14 2023-06-13 北京代码乾坤科技有限公司 Data synchronization method and device
CN111569423B (en) * 2020-05-14 2023-06-13 北京代码乾坤科技有限公司 Method and device for correcting collision shape
CN111569426A (en) * 2020-06-09 2020-08-25 网易(杭州)网络有限公司 Game scene editing method and device, storage medium and electronic device
CN113094443A (en) * 2021-05-21 2021-07-09 珠海金山网络游戏科技有限公司 Data synchronization method and device
CN113746931A (en) * 2021-09-10 2021-12-03 联想(北京)有限公司 Data synchronization method and device
WO2023155725A1 (en) * 2022-02-16 2023-08-24 北京字跳网络技术有限公司 Object operation method and apparatus, electronic device and storage medium
CN116319094A (en) * 2023-05-19 2023-06-23 北京安帝科技有限公司 Data safety transmission method, computer equipment and medium based on tobacco industry
CN117504304A (en) * 2023-12-13 2024-02-06 广州库洛数界科技有限公司 Method, system and storage medium for synchronizing game development

Similar Documents

Publication Publication Date Title
CN110639206A (en) Game data synchronization method, device, storage medium and processor
CN103327037B (en) Method of data synchronization and device
CN102640103B (en) Method and apparatus for providing access to social content
CN103218844B (en) The collocation method of virtual image, implementation method, client, server and system
CN104618598B (en) Send method, device and the mobile terminal of message
CN102685239B (en) Distribution type rendering method
CN110639207A (en) Game data synchronization method, device, storage medium and processor
CN105636013B (en) A kind of multiple terminals method for distributing business and system based on virtual SIM card
CN108509615A (en) Common recognition method for building up, device and readable storage medium storing program for executing based on lottery mechanism
CN103477365B (en) Information processor, server unit and information processing method
CN101364957A (en) System and method for managing virtual image based on instant communication platform
CN106598775A (en) Terminal and automatic data backup method thereof
CN102340770B (en) Server and terminal setting method
CN104216675A (en) Method and system for screen expansion and mobile terminal
CN109358791A (en) A kind of screenshot method, device, storage medium and mobile terminal
CN102393805A (en) Operating method of terminal screen lock interface, and device and terminal
CN106572099A (en) Cross-server method and system for network game
CN109407925A (en) A kind of exchange method based on chat robots, device and relevant device
CN108650168B (en) Method and device for acquiring member data of multi-person session, storage medium and processor
CN114237473A (en) Same-screen interaction method, device and system, storage medium and electronic device
CN104184652A (en) Method and system for information interaction between terminals
CN113244609A (en) Multi-picture display method and device, storage medium and electronic equipment
CN106569914A (en) Data backup method, data restoration method and systems
CN108595485A (en) A kind of data-updating method and system at Double Data center
CN107426595A (en) Interface navigation data handling system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200103