CN108310766B - Data processing method and device, storage medium, processor and terminal - Google Patents

Data processing method and device, storage medium, processor and terminal Download PDF

Info

Publication number
CN108310766B
CN108310766B CN201810116718.5A CN201810116718A CN108310766B CN 108310766 B CN108310766 B CN 108310766B CN 201810116718 A CN201810116718 A CN 201810116718A CN 108310766 B CN108310766 B CN 108310766B
Authority
CN
China
Prior art keywords
client
data
display data
server
time
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.)
Active
Application number
CN201810116718.5A
Other languages
Chinese (zh)
Other versions
CN108310766A (en
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.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network 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 Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN201810116718.5A priority Critical patent/CN108310766B/en
Publication of CN108310766A publication Critical patent/CN108310766A/en
Application granted granted Critical
Publication of CN108310766B publication Critical patent/CN108310766B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • 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
    • A63F2300/534Features 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 for network load management, e.g. bandwidth optimization, latency reduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

The invention discloses a data processing method and device, a storage medium, a processor and a terminal. The data processing method comprises the following steps: the client receives a frame data packet sent by the server and executes an instruction set included in the frame data packet to obtain logic data of the client, wherein the instruction set is a set of instructions sent to the server by a plurality of clients; the client acquires first display data according to the logic data, wherein the first display data are data to be displayed at the current time acquired by the client through executing the instruction set; the client performs interpolation processing on the first display data and the second display data to obtain target display data, wherein the second display data is data displayed at the current time of the client; and displaying the target display data in the client. The invention solves the technical problem that the pictures of the clients are stopped and jumped due to network jitter or weak network conditions when the data synchronization of a plurality of clients is realized in the related technology.

Description

Data processing method and device, storage medium, processor and terminal
Technical Field
The present invention relates to the field of computers, and in particular, to a data processing method and apparatus, a storage medium, a processor, and a terminal.
Background
With the rise of games, the demand for real-time PVP is getting larger and larger now, the player has higher requirements on the experience of the real-time PVP, and the experience of a single-machine game is expected to be achieved. For this reason, the related technologies employ synchronization technologies, such as frame synchronization and state synchronization in an end-stream, where a mainstream large MMO employs state synchronization, a calculation process of the state synchronization is carried by a server, and the server synchronizes the calculated state to a client for display. However, since the mobile internet is accessed by the mobile game, a weak network environment or network jitter often occurs, which may cause a pause or jitter of a client screen when data synchronization of multiple clients is implemented, so as to generate a jitter and other adverse phenomena, thereby seriously affecting user experience.
Aiming at the problem that in the related art, when data synchronization of a plurality of clients is realized, due to network jitter or weak network conditions, pictures of the clients are paused and jumped, an effective solution is not provided at present.
Disclosure of Invention
The embodiment of the invention provides a data processing method and device, a storage medium, a processor and a terminal, which are used for at least solving the technical problem that pictures of clients are stopped and jumped due to network jitter or weak network conditions when data synchronization of a plurality of clients is realized in the related art.
According to an aspect of an embodiment of the present invention, there is provided a data processing method including: a client receives a frame data packet sent by a server and executes an instruction set included in the frame data packet to obtain logic data of the client, wherein the instruction set is a set of instructions sent to the server by a plurality of clients; the client acquires first display data according to the logic data, wherein the first display data are data to be displayed at the current time acquired by the client through executing the instruction set; the client performs interpolation processing on the first display data and the second display data to obtain target display data, wherein the second display data is data displayed at the current time of the client; displaying the target display data in the client.
Further, the client acquiring the first display data according to the logic data includes: the client acquires incremental data obtained by executing the instruction set from a first time to the current time, wherein the first time is the time when the client receives the frame data packet sent by the server; and the client calculates the first display data according to the logic data and the incremental data.
Further, the client performs interpolation processing on the first display data and the second display data to obtain target display data, including: the client calculates a first product of the first display data and a first interpolation coefficient and a second product of the second display data and a second interpolation coefficient, wherein the sum of the first interpolation coefficient and the second interpolation coefficient is 1; and the client acquires the target display data, wherein the target display data is the sum of the first product and the second product.
Further, the client receiving the frame data packet sent by the server includes: the client receives the frame data packet sent by the server according to a first frequency; the displaying the target display data in the client comprises: refreshing and displaying the target display data in the client at a second frequency.
According to an aspect of an embodiment of the present invention, there is provided a data processing method including: a client receives a frame data packet sent by a server according to a preset frequency, wherein the frame data packet comprises an instruction set and identification information, the instruction set is a set of instructions sent to the server by a plurality of clients, and the identification information is used for indicating the time when the client sends the instructions to the server; if the time indicated by the identification information is earlier than the current time of the client, the client executes the following steps according to the preset frequency from the time indicated by the identification information to the current time: executing the instruction set to obtain logic data of the client; acquiring first display data according to the logic data, wherein the first display data is data to be displayed at a target time obtained by the client through executing the instruction set, and the target time is the time between the time indicated by the identification information and the current time; performing interpolation processing on the first display data and the second display data to obtain target display data, wherein the second display data is data displayed by the client at a target time; displaying the target display data in the client.
Further, the client acquiring the first display data according to the logic data includes: the client acquires incremental data obtained by executing the instruction set from a first time to the target time, wherein the first time is the time when the client receives the frame data packet sent by the server; and the client calculates the first display data according to the logic data and the incremental data.
Further, the client performs interpolation processing on the first display data and the second display data to obtain target display data, including: the client calculates a first product of the first display data and a first interpolation coefficient and a second product of the second display data and a second interpolation coefficient, wherein the sum of the first interpolation coefficient and the second interpolation coefficient is 1; and the client acquires the target display data, wherein the target display data is the sum of the first product and the second product.
According to another aspect of the embodiments of the present invention, there is also provided a data processing apparatus, including: the system comprises a receiving unit, a processing unit and a processing unit, wherein the receiving unit is used for a client to receive a frame data packet sent by a server and execute an instruction set included in the frame data packet to obtain logic data of the client, and the instruction set is a set of instructions sent to the server by a plurality of clients; an obtaining unit, configured to obtain, by the client, first display data according to the logic data, where the first display data is data to be displayed at a current time obtained by the client by executing the instruction set; the processing unit is used for the client to perform interpolation processing on the first display data and the second display data to obtain target display data, wherein the second display data is data displayed at the current time of the client; and the display unit is used for displaying the target display data in the client.
According to another aspect of the embodiments of the present invention, there is also provided a data processing apparatus, including: a receiving unit, configured to receive, by a client, a frame data packet sent by a server according to a predetermined frequency, where the frame data packet includes an instruction set and identification information, the instruction set is a set of instructions sent by multiple clients to the server, and the identification information is used to indicate a time when the client sends an instruction to the server; an execution unit, configured to, in a case where the time indicated by the identification information is earlier than a current time of the client, perform, by the client, the following steps from the time indicated by the identification information to the current time according to the predetermined frequency: executing the instruction set to obtain logic data of the client; acquiring first display data according to the logic data, wherein the first display data is data to be displayed at a target time obtained by the client through executing the instruction set, and the target time is the time between the time indicated by the identification information and the current time; performing interpolation processing on the first display data and the second display data to obtain target display data, wherein the second display data is data displayed by the client at a target time; displaying the target display data in the client.
According to another aspect of the embodiments of the present invention, there is also provided a storage medium including a stored program, wherein the program executes the data processing method described in any one of the above.
According to another aspect of the embodiments of the present invention, there is also provided a processor, configured to execute a program, where the program executes the data processing method described in any one of the above.
According to another aspect of the embodiments of the present invention, there is also provided a terminal, including a memory and a processor, where the memory stores therein a computer program, and the processor is configured to execute the computer program to perform any one of the data processing methods described above.
In the embodiment of the invention, a client receives a frame data packet sent by a server, and executes an instruction set included in the frame data packet to obtain logic data of the client, wherein the instruction set is a set of instructions sent to the server by a plurality of clients; the client acquires first display data according to the logic data, wherein the first display data are data to be displayed at the current time acquired by the client through executing the instruction set; the client performs interpolation processing on the first display data and the second display data to obtain target display data, wherein the second display data is data displayed at the current time of the client; target display data are displayed in the client, the aim of realizing data synchronization of a plurality of clients and simultaneously ensuring smooth pictures of the clients is achieved, the technical problem that pictures of the clients are paused and jumped due to network jitter or weak network conditions when data synchronization of the clients is realized in the related art is solved, and user experience is improved.
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 hardware environment of a data processing method and a data transmission method according to an embodiment of the present invention;
fig. 2 is a flow chart of an alternative data transmission method according to an embodiment of the present invention;
FIG. 3 is a flow diagram of an alternative data processing method according to an embodiment of the invention;
FIG. 4 is a schematic diagram of an alternative client-side synchronization execution flow according to an embodiment of the invention;
FIG. 5 is a simplified diagram of an alternative frame synchronization flow according to an embodiment of the present invention;
fig. 6 is a flow chart of an alternative data transmission method according to an embodiment of the present invention;
FIG. 7 is a flow diagram of an alternative data processing method according to an embodiment of the invention;
FIG. 8 is a schematic diagram of an alternative client-side synchronization execution flow according to an embodiment of the invention;
FIG. 9 is a schematic diagram of an alternative data processing apparatus according to an embodiment of the present invention; and
FIG. 10 is a schematic diagram of an alternative data processing apparatus according to an 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.
Example 1
According to an aspect of the present invention, a data processing method and a data transmitting method are provided.
Alternatively, in the present embodiment, the data processing method and the data transmission method described above may be applied to a hardware environment formed by the server 102 and the terminal 104 as shown in fig. 1. As shown in fig. 1, a server 102 is connected to one or more terminals 104 (only one terminal is shown in fig. 1) via a network including, but not limited to: the terminal 104 is not limited to a PC, a mobile phone, a tablet computer, etc. in a wide area network, a metropolitan area network, or a local area network. The data transmission method according to the embodiment of the present invention may be executed by the server 102, and the data processing method may be executed by the terminal 104, or may be executed by a client installed thereon. The embodiment of the present invention takes a method for executing data processing by a client in a terminal 104 as an example, where the embodiment of the present invention does not specifically limit the type of the client, and the client may be a game client, an instant messaging client, or the like.
Fig. 2 is a flowchart of an alternative data transmission method according to an embodiment of the present invention, as shown in fig. 2, the method includes the following steps:
step S102, a server receives instructions sent by a plurality of clients;
step S104, the server combines the instructions sent by the plurality of clients into an instruction set and packages the instruction set into a frame data packet;
step S106, the server sends the frame data packet to each client in the plurality of clients so as to instruct each client to execute the instruction set included in the frame data packet and obtain the logic data of the client; acquiring first display data according to the logic data, wherein the first display data are data to be displayed at the current time acquired by the client through executing the instruction set; performing interpolation processing on the first display data and the second display data to obtain target display data, wherein the second display data is data displayed at the current time of the client; and displaying the target display data in the client.
It should be noted that, the above steps may be performed by a server.
In the technical solution provided in step S102, the server may pre-allocate a frame rate according to a requirement, for example, 30 frames are transmitted every second, and the server may notify the allocated frame rate to the plurality of clients, so that the plurality of clients and the server maintain frame rate synchronization. The server may detect whether an instruction sent by the client is received at each frame, for example, the game client may send a move instruction, an attack instruction to the server. It should be noted that, in an actual application scenario, the client may send an instruction to the server every frame of the server, or may not send an instruction to the server, and the client may send one instruction to the server, or may send multiple instructions to the server.
In the technical solution provided in step S104, after receiving the instructions sent by the multiple clients, the server may combine the instructions into an instruction set, where the instruction set may include one instruction or multiple instructions, and the instructions may be sent by one client or sent by multiple clients. After combining the instructions into the instruction set, the server may pack the instruction set to obtain frame data packets, and the server may allocate identification information to each frame data packet, and optionally, the identification information may be a number of the frame data packet, where in this embodiment of the present invention, the number may be a frame number. The frame number allocated by the server when the server receives the instructions sent by the plurality of clients is referred to herein as a first frame number. It should be noted that, in an actual application scenario, the instruction set may be null, and when the instruction set is null, the server may pack the null set and the first frame number into a frame data packet.
In the technical solution provided in step S106, after obtaining the frame data packet, the server may send the frame data packet to each client, so that each client can execute the instruction in the instruction set, thereby achieving the purpose of ensuring data synchronization of multiple clients.
It should be noted that, in the embodiment of the present invention, a data transmission manner adopted for data interaction between the client and the server in the data transmission method is not specifically limited, and may be adaptively adjusted according to actual requirements.
It should be further noted that, after the server sends the frame data packet to each client, a specific flow executed by each client is an execution flow of the data processing method according to the embodiment of the present invention, as shown in fig. 3, where fig. 3 is a flow chart of an optional data processing method according to the embodiment of the present invention, and the data processing method may include the following steps:
step S202, a client receives a frame data packet sent by a server and executes an instruction set included in the frame data packet to obtain logic data of the client, wherein the instruction set is a set of instructions sent by a plurality of clients to the server;
step S204, the client acquires first display data according to the logic data, wherein the first display data is data to be displayed at the current time acquired by the client through executing the instruction set;
step S206, the client performs interpolation processing on the first display data and the second display data to obtain target display data, wherein the second display data is data displayed at the current time of the client;
step S208, the target display data is displayed in the client.
It should be noted that, the above steps are executed by a client, and the client may be installed in a terminal. It should be further noted that the above steps are only a flow executed by one client, and for a plurality of clients that need to implement data synchronization, that is, clients that receive frame data packets sent by the server, each of the clients may implement data synchronization of the plurality of clients by executing the above steps. Through the steps, the data synchronization of the plurality of clients can be realized, meanwhile, the smooth pictures of the clients are ensured, the technical problem that the pictures of the clients are paused and jumped due to network jitter or weak network conditions when the data synchronization of the plurality of clients is realized in the related technology is solved, and the user experience is improved.
In the scheme provided in step S202, the frame data packet sent by the server may include a first frame number and an instruction set, where the instruction set may be a set of instructions sent by multiple clients to the server, and the first frame number is a frame number allocated by the server when the server receives the instruction sent by the client. After receiving the frame data packet sent by the server, the client first analyzes the frame data packet to obtain a first frame number and an instruction set, then executes the instructions in the instruction set, and if the instruction set comprises a plurality of instructions, the client can execute the instructions one by one.
The client may obtain the client's logical data after executing all instructions included in the instruction set. For example, the following steps are carried out: if the client is a game client, the server is a game server, and the instruction set sent by the game server and received by the game client comprises a movement instruction and an attack instruction, the game client executes the movement instruction and the attack instruction to obtain game logic data. It should be further noted that, in the embodiment of the present invention, the client logic layer may be separated from the client display layer, where the client logic layer is mainly used for calculating client logic data, and the client display layer is mainly used for calculating client display data. The step S202 executes the instruction set to obtain the logic data of the client, which can be executed by the client logic layer.
Under the ideal condition of a network environment, after a plurality of clients send instructions to a server, the server immediately combines the instructions into an instruction set, and packs the instruction set and a frame number allocated by the current server into a frame data packet to be sent to each client, wherein the frame number allocated by the server when each client receives the frame data packet is the same as the frame number allocated by the server when the server receives the instructions sent by the plurality of clients. However, in an actual application scenario, a network jitter or a weak network environment may occur, so that a frame number (referred to as a second frame number) allocated by the server when the client receives a frame data packet is different from a frame number (i.e., a first frame number) allocated by the server when the server receives an instruction sent by the client, and the second frame number is greater than the first frame number, that is, the network jitter or the weak network environment may cause the client to delay receiving the frame data packet sent by the server. It should be noted that the frame number (i.e., the second frame number) allocated by the server when the client receives the frame data packet sent by the server is the frame number currently allocated by the server, which is predicted by the client according to the frame rate of the server. The step 202 can achieve the purpose that a plurality of clients achieve synchronization of client logical data at a logical layer, but due to non-uniformity of processing of the logical data in time, a poor user experience may be generated, for example, a client screen may pause or jump. For this purpose, the client display layer can perform calculation in a uniform time based on the absolutely synchronized logical data to ensure smoothness of the client screen. However, since the non-uniformity of the logic data in time may cause some data deviation between the display layer and the logic layer, the embodiment of the present invention may use a linear interpolation method in steps S204 and S206 to ensure that the display layer is finally consistent with the logic layer, so as to achieve the purpose of synchronizing the display data and the logic data.
In the solutions provided in step S204 and step S206, the client display layer may obtain the already calculated logic data from the client logic layer, and then calculate the first display data of the client display layer according to the calculated logic data, where the first display data is data to be displayed at the current time obtained by the client through executing the instruction set, and it should be noted here that the first display data is not displayed at the client. That is, since the network delays the client to still execute the original instruction, the data displayed at the current time of the client, that is, the second display data, is inaccurate, and in order to ensure that the display layer and the logic layer are synchronized, the data displayed at the current time of the client needs to be updated, and the specific updating process may include: the client acquires first display data according to the logic data, then performs interpolation processing on the first display data and the second display data to obtain target display data, and updates data displayed at the current time of the client by using the obtained target display data, that is, updates the second display data by using the target display data.
Optionally, the client obtaining the first display data according to the logic data may include: the client acquires incremental data obtained by executing an instruction set from a first time to a current time, wherein the first time is the time when the client receives the frame data packet sent by the server; and the client calculates to obtain first display data according to the logic data and the incremental data.
In order to ensure that the picture of the display layer of the client is smooth visually, the embodiment of the invention needs to perform interpolation processing on the first display data and the second display data, that is, the client performs interpolation processing on the data to be displayed at the current time and the data displayed at the current time, so as to achieve the purpose of ensuring the picture of the display layer of the client to be smooth. Optionally, the performing, by the client, interpolation processing on the first display data and the second display data to obtain target display data may include: calculating a first product of the first display data and the first interpolation coefficient and a second product of the second display data and the second interpolation coefficient, wherein the sum of the first interpolation coefficient and the second interpolation coefficient is 1; and acquiring target display data, wherein the target display data is the sum of the first product and the second product.
In the scheme provided in step S208, after the client acquires the target display data, the target display data may be displayed in the client. According to the embodiment of the invention, the target display data is obtained by performing interpolation processing on the data (first display data) to be displayed at the current time of the client and the data (second display data) displayed at the current time of the client, and the target display data is displayed in the client instead of directly displaying the first display data, so that the phenomenon of pause or jitter of a display picture can be avoided, and the purpose of ensuring the smoothness of the display picture of the client is further achieved.
It should be noted that, in the embodiment of the present invention, the server may send the frame data packets to each client according to the first frequency, where the first frequency corresponds to the frame rate pre-allocated by the server, and then the client may receive the frame data packets sent by the server according to the first frequency. After the target display data is acquired, the target display data can be refreshed and displayed in the client at a second frequency. Alternatively, the first frequency may be the same as the second frequency.
So far, the client executes all the processes.
In summary, after receiving the frame data packet sent by the server, the client may include two execution flows, where the first part is that the client logic layer calculates the client logic data by executing the instruction set included in the frame data packet; the second part is that the client display layer updates the client display data of the client display layer according to the calculated logic data, and the client display layer can perform interpolation processing on the data displayed at the current time and the data to be displayed at the current time for the purpose of smoothing the picture of the client display layer. By executing the flow, each client can realize the synchronization of a plurality of client logic data and ensure that the client display data and the client logic data are synchronized at the same time, so as to realize the aim of ensuring the visual smoothness of the client display picture.
The following description will be made by taking the above-described embodiment of the present invention as an example of its application to the field of games:
fig. 4 is a schematic diagram of an optional client-side synchronization execution flow according to an embodiment of the present invention, as shown in fig. 4, when starting a game, information such as a frame rate (generally 30FPS) may be sent from the server to the client, the client initializes the logic layer and the display layer, and then the server, the logic layer of the client, and the display layer of the client enter the main loop respectively. The logic layer of the client detects whether user input exists in real time, and if the user input exists, an instruction is sent to the server according to the user input. The server collects the instructions sent by the client in each frame, assembles the instructions into an instruction list (if no instruction exists, the instruction list is empty), and sends the instruction list and the frame number allocated by the current server to a logic layer of the client. The logic layer of the client waits for the frame data of each frame of the server in the main loop, and the logic calculation of the frame is started only when the frame data arrives, and particularly after receiving the frame data sent by the server, the instructions included in the frame data can be executed to update the logic data. The logical layer of the client may cache the instructions for use by the display layer of the client. The display layer of the client can update the display data according to the same frame rate as the server. The display layer of the client may read the logical data from the logical layer at each frame and then update the display data according to the logical data to achieve state synchronization. The display layer of the client can also perform interpolation calculation on the updated display data and the display data before updating so as to ensure smooth transition in vision. When the logic layer of the client detects that the game is finished, a message of the game finishing can be sent to the server, and then the server can send the message of the game finishing to the logic layer of the client and the display layer of the client so as to stop the game.
The invention adopts a scheme of separating logic data from display data at the client, ensures absolute synchronization but not smoothness on the logic data, and ensures the smoothness of the animation on the display data by adopting an interpolation technology. In the logic data synchronization, the server generates frame numbers, user instructions sent by each client are sent to the server, the server assembles the frame numbers in sequence and then distributes the frame numbers to each client, the clients execute the instructions in sequence after receiving the instructions, and then game logic data are calculated according to the frame numbers to ensure absolute synchronization of game states. The invention can solve the synchronization problem of the real-time PVP of the mobile internet and the user experience problem under the conditions of network jitter and weak network. As can be seen from the simplified flow diagram of FIG. 5, if a delay or pause occurs in the player, such as player A's a2 command, the command is delayed until F3 is issued, and the experience of player B is not affected. Meanwhile, because the flow is still based on frame synchronization, absolute synchronization of data can be ensured at a logic level. Then, as can be seen from the player a display layer, the display layer can perform uniform frame update according to the FPS, and merge the game states of the logic layer, so that jitter can be avoided, smoothness of the game is fully ensured, and the player can obtain experience of the level of the single-player game.
Example 2
According to another aspect of the present invention, a data processing method and a data transmitting method are also provided.
Alternatively, in the present embodiment, the data processing method and the data transmission method described above may be applied to a hardware environment formed by the server 102 and the terminal 104 as shown in fig. 1. The data transmission method according to the embodiment of the present invention may be executed by the server 102, and the data processing method may be executed by the terminal 104, or may be executed by a client installed thereon. The embodiment of the present invention takes a method for executing data processing by a client in a terminal 104 as an example, where the embodiment of the present invention does not specifically limit the type of the client, and the client may be a game client, an instant messaging client, or the like.
Fig. 6 is a flowchart of another alternative data transmission method according to an embodiment of the present invention, as shown in fig. 6, the method includes the following steps:
step S302, a server receives instructions and identification information sent by a plurality of clients, wherein the identification information can be used for indicating the time when the clients send the instructions to the server;
step S304, the server combines the instructions sent by the plurality of clients into an instruction set, and packs the instruction set and the identification information into a frame data packet;
step S306, the server sends the frame data packet to each of the plurality of clients to instruct each client to execute the following steps according to a predetermined frequency from the time indicated by the identification information to the current time in the case that the time indicated by the identification information is earlier than the current time of the client: executing the instruction set to obtain logic data of the client; acquiring first display data according to the logic data, wherein the first display data is data to be displayed at a target time obtained by the client through executing the instruction set, and the target time is the time between the time indicated by the identification information and the current time; performing interpolation processing on the first display data and the second display data to obtain target display data, wherein the second display data is data displayed by the client at a target time; and displaying the target display data in the client.
It should be noted that, the above steps may be performed by a server.
In the technical solution provided in step S302, the identification information is not allocated by the server, but is allocated by the client when the client sends the instruction to the server, and optionally, the identification information may be sent to the server together with a frame number allocated by the client at the time when the client sends the instruction to the server, which is referred to as a third frame number here. The server can detect whether the instruction sent by the client is received in real time, for example, the game client can send a moving instruction and an attack instruction to the server. And if the server receives the instruction sent by the client, the server records the received instruction and the third frame number. In an actual application scenario, the client may send the instruction to the server, or may not send the instruction to the server, and the client may send one instruction to the server, or may send multiple instructions to the server.
In the technical solution provided in step S304, after receiving the instructions sent by the multiple clients, the server may combine the instructions into an instruction set, where the instruction set may include one instruction or multiple instructions, and the instructions may be sent by one client or sent by multiple clients. After the server combines the instructions into an instruction set, the instruction set and a third frame number may be packed to obtain a frame data packet, where the third frame number client sends the instruction to the server, and the frame number is assigned by the client.
In the technical solution provided in step S306, after obtaining the frame data packet, the server may send the frame data packet to each client, so that each client can execute the instruction in the instruction set, thereby achieving the purpose of ensuring data synchronization of multiple clients.
It should be noted that, in the embodiment of the present invention, a data transmission manner adopted for data interaction between the client and the server in the data transmission method is not specifically limited, and may be adaptively adjusted according to actual requirements.
It should be further noted that, after the server sends the frame data packet to each client, a specific flow executed by each client is an execution flow of the data processing method according to the embodiment of the present invention, as shown in fig. 7, where fig. 7 is a flow chart of another optional data processing method according to the embodiment of the present invention, and the data processing method may include the following steps:
step S402, a client receives a frame data packet sent by a server according to a preset frequency, wherein the frame data packet comprises an instruction set and identification information, the instruction set is a set of instructions sent to the server by a plurality of clients, and the identification information is used for indicating the time for the client to send the instructions to the server;
in step S404, in the case that the time indicated by the identification information is earlier than the current time of the client, the client performs the following steps at a predetermined frequency from the time indicated by the identification information to the current time: executing the instruction set to obtain logic data of the client; acquiring first display data according to the logic data, wherein the first display data is data to be displayed at a target time obtained by the client through executing the instruction set, and the target time is the time between the time indicated by the identification information and the current time; performing interpolation processing on the first display data and the second display data to obtain target display data, wherein the second display data is data displayed by the client at a target time; and displaying the target display data in the client.
It should be noted that, the above steps are executed by a client, and the client may be installed in a terminal. It should be further noted that the above steps are only a flow executed by one client, and for a plurality of clients that need to implement data synchronization, that is, clients that receive frame data packets sent by the server, each of the clients may implement data synchronization of the plurality of clients by executing the above steps. Through the steps, the data synchronization of the plurality of clients can be realized, the smooth display picture of the clients can be ensured, the technical problem that the pictures of the clients are paused and jumped due to network jitter or weak network conditions when the data synchronization of the plurality of clients is realized in the related technology is solved, and the effect of improving the user experience is achieved.
In the solutions provided in steps S402 to S404, the frame data packet sent by the server may include identification information (i.e., the third frame number) and an instruction set, where the instruction set may be a set of instructions sent by multiple clients to the server, and the third frame number is a frame number allocated by the client when the client sends an instruction to the server. After receiving the frame data packet sent by the server, the client analyzes the frame data packet to obtain a third frame number and an instruction set, and then the client judges whether the time indicated by the indication information is earlier than the current time of the client, that is, whether the third frame number is less than the frame number allocated by the current client, and whether network delay exists can be determined through the judgment. If there is network delay, that is, the third frame number is smaller than the frame number allocated by the current client, the client needs to update the client data corresponding to each frame number between the third frame number and the frame number allocated by the current client, which may specifically include updating the client logic data and updating the client display data. The method specifically comprises the following steps: the client performs the following steps at a predetermined frequency from the time indicated by the identification information to the current time: executing the instruction set to obtain logic data of the client; acquiring first display data according to the logic data, wherein the first display data is data to be displayed at a target time obtained by the client through executing the instruction set, and the target time is the time between the time indicated by the identification information and the current time; performing interpolation processing on the first display data and the second display data to obtain target display data, wherein the second display data is data displayed by the client at a target time; and displaying the target display data in the client.
It should be noted that the client executes the instructions in the instruction set, and if a plurality of instructions are included in the instruction set, the client may execute the instructions one by one. The client may obtain the client's logical data after executing all instructions included in the instruction set. For example, the following steps are carried out: if the client is a game client, the server is a game server, and the instruction set sent by the game server and received by the game client comprises a movement instruction and an attack instruction, the game client executes the movement instruction and the attack instruction to obtain game logic data. It should be further noted that, in the embodiment of the present invention, the client logic layer may be separated from the client display layer, where the client logic layer is mainly used for calculating client logic data, and the client display layer is mainly used for calculating client display data. The third target data may be understood as client logic data, that is, the logic data obtained by executing the instruction set may be executed by the client logic layer.
Under an ideal network environment condition, after a plurality of clients send instructions to a server, the server immediately combines the instructions into an instruction set, and packages the instruction set and frame numbers distributed by the clients when the clients send the instructions to the server into frame data packets and sends the frame data packets to each client, wherein the frame numbers distributed by the clients when the clients receive the frame data packets are the same as the frame numbers distributed by the clients when the clients send the instructions to the server. However, in an actual application scenario, a network jitter or a weak network environment may occur, which causes a frame number allocated by the client when the client receives a frame data packet (i.e., a frame number allocated by the current client) to be different from a frame number allocated by the client when the client sends an instruction to the server (i.e., a third frame number), and the third frame number is smaller than the frame number allocated by the current client, that is, the network jitter or the weak network environment will cause the client to delay receiving the frame data packet sent by the server. In order to ensure data synchronization of a plurality of clients, the logic data can be obtained by executing the instruction set, so that the plurality of clients can realize the synchronization of the client logic data in a logic layer. But because of the non-uniformity in the processing of the logical data over time, a poor user experience may result, such as a pause or jerkiness in the client screen. For this purpose, the client display layer can perform calculation in a uniform time based on the absolutely synchronized logical data to ensure smoothness of the client screen. However, since the non-uniformity of the logic data in time may cause some data deviation between the display layer and the logic layer, the embodiment of the present invention may ensure that the display layer is finally consistent with the logic layer by using a linear interpolation method, so as to achieve the purpose of synchronizing the display data and the logic data. Specifically, the method comprises the following steps: the client display layer may obtain the calculated logic data from the client logic layer, and then calculate data to be displayed at a target time, that is, first display data, according to the calculated logic data, that is, because the network delays the client to still execute the original instruction, the data displayed at the target time by the client display data is inaccurate, and in order to ensure synchronization between the display layer and the logic layer, the data displayed at the target time needs to be updated, where the specific updating process includes: and acquiring data (namely first display data) to be displayed at the target moment by the client according to the acquired logic data, then performing interpolation processing on the data to be displayed at the target moment and the data (namely second display data) displayed at the target moment by the client to obtain target display data, and then displaying the target display data in the client. It should be noted here that the first display data is not really displayed in the client, and the target display data obtained by the data processing method according to the embodiment of the present invention may be displayed in the client.
Optionally, the obtaining, by the client, the first display data according to the logic data includes: the method comprises the steps that a client side obtains incremental data obtained by executing an instruction set from a first time to a target time, wherein the first time is the time when the client side receives a frame data packet sent by a server; and the client calculates according to the logic data and the incremental data to obtain first display data.
In order to ensure that the picture of the display layer of the client is visually smooth, the embodiment of the invention needs to perform interpolation processing on the first display data and the second display data, so as to achieve the purpose of ensuring the picture of the display layer of the client to be smooth. Optionally, the performing, by the client, interpolation processing on the first display data and the second display data to obtain target display data may include: the client calculates a first product of the first display data and the first interpolation coefficient and a second product of the second display data and the second interpolation coefficient, wherein the sum of the first interpolation coefficient and the second interpolation coefficient is 1; the client acquires target display data, wherein the target display data is the sum of the first product and the second product.
So far, the client executes all the processes.
In summary, after receiving the frame data packet sent by the server, the client may include two execution flows, where the first part is that the client logic layer calculates the client logic data by executing the instruction set included in the frame data packet; and the second part is that the client display layer updates the client display data of the client display layer according to the calculated logic data, and in order to smooth the picture of the client display layer, the client display layer also performs interpolation processing on the data to be displayed at the target time and the data displayed at the target time. By executing the flow, each client can achieve the aim of realizing the synchronization of a plurality of client logic data and simultaneously ensuring the synchronization of the client display data and the client logic data so as to achieve the aim of ensuring the visual smoothness of the client display picture.
The following description will be made by taking the above-described embodiment of the present invention as an example of its application to the field of games:
fig. 8 is a schematic diagram of an alternative client-side synchronous execution flow according to an embodiment of the present invention, as shown in fig. 8, when starting a game, the server may notify the logical layer of the client and the display layer of the client to enter the main loop respectively. The logic layer of the client detects whether user input exists in real time, and if the user input exists, an instruction is sent to the server according to the user input. The server collects the instructions sent by the client in each frame and assembles the instructions into an instruction list (if no instruction exists, the instruction list is empty), the client carries a predicted server frame number when sending the instructions to the server, the frame number is allocated by the client, and the server can form frame data and send the frame data to a logic layer of the client after receiving the instructions and the predicted server frame number. The logic layer of the client side waits for frame data of each frame of the server in the main cycle, and the logic calculation of the frame is started only when the frame data reaches, specifically, after the logic layer of the client side receives the frame data sent by the server, whether an earlier frame command exists or not can be judged first, that is, whether a frame number in the frame data is earlier than a frame number currently allocated to the logic layer of the client side or not is judged, and if the earlier frame command exists, the state rollback needs to be performed, and the logic data of the client side is recalculated. The display layer of the client may read the logical data from the logical layer at each frame and then update the display data according to the logical data to achieve state synchronization. The display layer of the client can also perform interpolation calculation on the updated display data and the display data before updating so as to ensure smooth transition in vision. When the logic layer of the client detects that the game is finished, a message of the game finishing can be sent to the server, and then the server can send the message of the game finishing to the logic layer of the client and the display layer of the client so as to stop the game.
The difference between the scheme shown in fig. 8 and the scheme shown in fig. 4 is that the client needs to predict the frame number of the server first, then carries the predicted frame number of the server when initiating the instruction, and then the server forwards the predicted frame number to each client for execution, and if the client finds that the predicted frame number is already predicted after the instruction arrives, the state rollback is needed. That is, in the scheme, when the client sends out an instruction, the predicted frame number of the server is added to the instruction, and meanwhile, the logic layer of the client also automatically operates at a frame rate consistent with that of the server, and after receiving the instruction of the server, if the frame number in the instruction is earlier than that of the current logic layer, in order to ensure absolute synchronization, the calculated logic needs to be rolled back, and then recalculation is performed according to a new instruction. The advantage of this solution is that the local experience can be completely on-machine level, and the disadvantage is that in games with complex interaction, the complexity and the risk of asynchronism are increased.
According to an aspect of the present invention, there is also provided an apparatus embodiment of a data processing apparatus, which may be used to execute the data processing method shown in fig. 3.
Fig. 9 is a schematic diagram of an alternative data processing apparatus according to an embodiment of the present invention, as shown in fig. 9, the apparatus may include:
a receiving unit 11, configured to receive a frame data packet sent by a server by a client, and execute an instruction set included in the frame data packet to obtain logic data of the client, where the instruction set is a set of instructions sent by multiple clients to the server; the obtaining unit 13 is configured to obtain, by the client, first display data according to the logic data, where the first display data is data to be displayed at the current time obtained by the client through executing the instruction set; the processing unit 15 is configured to perform interpolation processing on the first display data and the second display data by the client to obtain target display data, where the second display data is data displayed at the current time of the client; a display unit 17 for displaying the target display data in the client.
It should be noted that the receiving unit 11 in this embodiment may be configured to execute step S202 in this embodiment of the present invention, the obtaining unit 13 in this embodiment may be configured to execute step S204 in this embodiment of the present invention, the processing unit 15 in this embodiment may be configured to execute step S206 in this embodiment of the present invention, and the display unit 17 in this embodiment may be configured to execute step S208 in this embodiment of the present invention. The modules are the same as the corresponding steps in the realized examples and application scenarios, but are not limited to the disclosure of the above embodiments.
Optionally, the obtaining unit 13 may be configured to: the method comprises the steps that a client side obtains incremental data obtained by executing an instruction set from a first time to a current time, wherein the first time is the time when the client side receives a frame data packet sent by a server; and the client calculates to obtain first display data according to the logic data and the incremental data.
Optionally, the processing unit 15 may be configured to: the client calculates a first product of the first display data and the first interpolation coefficient and a second product of the second display data and the second interpolation coefficient, wherein the sum of the first interpolation coefficient and the second interpolation coefficient is 1; the client acquires target display data, wherein the target display data is the sum of the first product and the second product.
Alternatively, the receiving unit 11 may be configured to receive the frame data packets sent by the server according to the first frequency at the client, and the display unit 17 may be configured to refresh the display target display data at the second frequency in the client.
According to another aspect of the present invention, there is also provided an apparatus embodiment of a data processing apparatus, which may be used to execute the data processing method shown in fig. 7.
Fig. 10 is a schematic diagram of another alternative data processing apparatus according to an embodiment of the present invention, as shown in fig. 10, the apparatus may include:
a receiving unit 21, configured to receive, by a client, a frame data packet sent by a server according to a predetermined frequency, where the frame data packet includes an instruction set and identification information, the instruction set is a set of instructions sent by multiple clients to the server, and the identification information is used to indicate a time when the client sends an instruction to the server; an execution unit 23, configured to, in a case where the time indicated by the identification information is earlier than the current time of the client, the client performs the following steps from the time indicated by the identification information to the current time at a predetermined frequency: executing the instruction set to obtain logic data of the client; acquiring first display data according to the logic data, wherein the first display data is data to be displayed at a target time obtained by the client through executing the instruction set, and the target time is the time between the time indicated by the identification information and the current time; performing interpolation processing on the first display data and the second display data to obtain target display data, wherein the second display data is data displayed by the client at a target time; and displaying the target display data in the client.
It should be noted that the receiving unit 21 in this embodiment may be configured to execute step S402 in this embodiment of the present invention, and the executing unit 23 in this embodiment may be configured to execute step S404 in this embodiment of the present invention. The modules are the same as the corresponding steps in the realized examples and application scenarios, but are not limited to the disclosure of the above embodiments.
Optionally, the execution unit 23 may be further configured to: the method comprises the steps that a client side obtains incremental data obtained by executing an instruction set from a first time to a target time, wherein the first time is the time when the client side receives a frame data packet sent by a server; and the client calculates to obtain first display data according to the logic data and the incremental data.
Optionally, the execution unit 23 may be further configured to: the client calculates a first product of the first display data and the first interpolation coefficient and a second product of the second display data and the second interpolation coefficient, wherein the sum of the first interpolation coefficient and the second interpolation coefficient is 1; the client acquires target display data, wherein the target display data is the sum of the first product and the second product.
The data processing device can achieve the purpose of realizing data synchronization of a plurality of clients and simultaneously ensuring the smooth pictures of the clients, thereby solving the technical problem that the pictures of the clients are stopped and jumped due to network jitter or weak network conditions when the data synchronization of the clients is realized in the related technology, and improving the user experience.
In order to achieve the above object, according to another aspect of the present invention, an embodiment of the present invention further provides a storage medium, where the storage medium includes a stored program, and when the program runs, a device on which the storage medium is located is controlled to execute the data processing method and the data transmission method described above.
In order to achieve the above object, according to another aspect of the present invention, an embodiment of the present invention further provides a processor, configured to execute a program, where the program executes to execute the data processing method and the data transmission method described above.
In order to achieve the above object, according to another aspect of the present invention, an embodiment of the present invention further provides a terminal, including a memory and a processor, where the memory stores a computer program, and the processor is configured to execute the computer program to perform the data processing method and the data transmission method described above.
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 (10)

1. A data processing method, comprising:
a client receives a frame data packet sent by a server and executes an instruction set included in the frame data packet to obtain logic data of the client, wherein the instruction set is a set of instructions sent to the server by a plurality of clients;
the client acquires first display data according to the logic data, wherein the first display data are data to be displayed at the current time acquired by the client through executing the instruction set; and
the client performs interpolation processing on the first display data and second display data to obtain target display data, wherein the second display data is data displayed at the current time of the client;
displaying the target display data in the client;
the client performs interpolation processing on the first display data and the second display data to obtain target display data, and the method comprises the following steps: the client calculates a first product of the first display data and a first interpolation coefficient and a second product of the second display data and a second interpolation coefficient, wherein the sum of the first interpolation coefficient and the second interpolation coefficient is 1; and the client acquires the target display data, wherein the target display data is the sum of the first product and the second product.
2. The data processing method of claim 1, wherein the client obtaining first display data according to the logic data comprises:
the client acquires incremental data obtained by executing the instruction set from a first time to the current time, wherein the first time is the time when the client receives the frame data packet sent by the server;
and the client calculates the first display data according to the logic data and the incremental data.
3. The data processing method according to claim 1 or 2,
the client receiving the frame data packet sent by the server comprises: the client receives the frame data packet sent by the server according to a first frequency;
the displaying the target display data in the client comprises: refreshing and displaying the target display data in the client at a second frequency.
4. A data processing method, comprising:
a client receives a frame data packet sent by a server according to a preset frequency, wherein the frame data packet comprises an instruction set and identification information, the instruction set is a set of instructions sent to the server by a plurality of clients, and the identification information is used for indicating the time when the client sends the instructions to the server;
if the time indicated by the identification information is earlier than the current time of the client, the client executes the following steps according to the preset frequency from the time indicated by the identification information to the current time: executing the instruction set to obtain logic data of the client; acquiring first display data according to the logic data, wherein the first display data is data to be displayed at a target time obtained by the client through executing the instruction set, and the target time is the time between the time indicated by the identification information and the current time; performing interpolation processing on the first display data and the second display data to obtain target display data, wherein the second display data is data displayed by the client at a target time; displaying the target display data in the client;
the client performs interpolation processing on the first display data and the second display data to obtain target display data, and the method comprises the following steps: the client calculates a first product of the first display data and a first interpolation coefficient and a second product of the second display data and a second interpolation coefficient, wherein the sum of the first interpolation coefficient and the second interpolation coefficient is 1; and the client acquires the target display data, wherein the target display data is the sum of the first product and the second product.
5. The data processing method of claim 4, wherein the client obtaining first display data according to the logic data comprises:
the client acquires incremental data obtained by executing the instruction set from a first time to the target time, wherein the first time is the time when the client receives the frame data packet sent by the server;
and the client calculates the first display data according to the logic data and the incremental data.
6. A data processing apparatus, comprising:
the system comprises a receiving unit, a processing unit and a processing unit, wherein the receiving unit is used for a client to receive a frame data packet sent by a server and execute an instruction set included in the frame data packet to obtain logic data of the client, and the instruction set is a set of instructions sent to the server by a plurality of clients;
an obtaining unit, configured to obtain, by the client, first display data according to the logic data, where the first display data is data to be displayed at a current time obtained by the client by executing the instruction set;
the processing unit is used for the client to perform interpolation processing on the first display data and the second display data to obtain target display data, wherein the second display data is data displayed at the current time of the client;
a display unit configured to display the target display data in the client;
wherein the processing unit may be configured to: the client calculates a first product of the first display data and the first interpolation coefficient and a second product of the second display data and the second interpolation coefficient, wherein the sum of the first interpolation coefficient and the second interpolation coefficient is 1; the client acquires target display data, wherein the target display data is the sum of the first product and the second product.
7. A data processing apparatus, comprising:
a receiving unit, configured to receive, by a client, a frame data packet sent by a server according to a predetermined frequency, where the frame data packet includes an instruction set and identification information, the instruction set is a set of instructions sent by multiple clients to the server, and the identification information is used to indicate a time when the client sends an instruction to the server;
an execution unit, configured to, in a case where the time indicated by the identification information is earlier than a current time of the client, perform, by the client, the following steps from the time indicated by the identification information to the current time according to the predetermined frequency: executing the instruction set to obtain logic data of the client; acquiring first display data according to the logic data, wherein the first display data is data to be displayed at a target time obtained by the client through executing the instruction set, and the target time is the time between the time indicated by the identification information and the current time; performing interpolation processing on the first display data and the second display data to obtain target display data, wherein the second display data is data displayed by the client at a target time; displaying the target display data in the client;
wherein the execution unit is further configured to: the client calculates a first product of the first display data and the first interpolation coefficient and a second product of the second display data and the second interpolation coefficient, wherein the sum of the first interpolation coefficient and the second interpolation coefficient is 1; the client acquires target display data, wherein the target display data is the sum of the first product and the second product.
8. A storage medium, characterized in that the storage medium includes a stored program, wherein, when the program runs, a device in which the storage medium is located is controlled to execute the data processing method according to any one of claims 1 to 5.
9. A processor, characterized in that the processor is configured to run a program, wherein the program when running performs the data processing method of any one of claims 1 to 5.
10. A terminal comprising a memory and a processor, characterized in that the memory has stored therein a computer program, the processor being arranged to execute the computer program to perform the data processing method of any of the claims 1 to 5.
CN201810116718.5A 2018-02-06 2018-02-06 Data processing method and device, storage medium, processor and terminal Active CN108310766B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810116718.5A CN108310766B (en) 2018-02-06 2018-02-06 Data processing method and device, storage medium, processor and terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810116718.5A CN108310766B (en) 2018-02-06 2018-02-06 Data processing method and device, storage medium, processor and terminal

Publications (2)

Publication Number Publication Date
CN108310766A CN108310766A (en) 2018-07-24
CN108310766B true CN108310766B (en) 2021-12-21

Family

ID=62902774

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810116718.5A Active CN108310766B (en) 2018-02-06 2018-02-06 Data processing method and device, storage medium, processor and terminal

Country Status (1)

Country Link
CN (1) CN108310766B (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109379127B (en) * 2018-10-17 2020-11-13 视联动力信息技术股份有限公司 Data processing method and device
CN109603149A (en) * 2018-12-12 2019-04-12 北京像素软件科技股份有限公司 Method of data synchronization and device
CN111510447B (en) * 2020-04-10 2023-03-14 浙江无端科技股份有限公司 Network transmission method and related device
CN112642143B (en) * 2020-12-30 2022-11-15 明日世界(上海)网络科技有限公司 Method, device, storage medium and electronic equipment for realizing information synchronization
CN113364846B (en) * 2021-05-31 2022-07-08 之江实验室 Data synchronization method and device for adaptively processing network delay jitter
CN114490671B (en) * 2022-03-31 2022-07-29 北京华建云鼎科技股份公司 Client-side same-screen data synchronization system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101577715A (en) * 2009-06-19 2009-11-11 腾讯科技(深圳)有限公司 Method and device for synchronizing online game time
CN103200237A (en) * 2013-03-11 2013-07-10 天脉聚源(北京)传媒科技有限公司 Method and device for maintaining remote desktop synchronization
CN105657049A (en) * 2016-02-26 2016-06-08 北京皮尔布莱尼软件有限公司 Incremental data synchronization method and device and mobile terminal
CN106161629A (en) * 2016-07-13 2016-11-23 广州新博庭网络信息科技股份有限公司 The method of a kind of business object synchronization, client and server
CN106730836A (en) * 2016-12-22 2017-05-31 Tcl集团股份有限公司 A kind of method and system of reduction ARPG gaming network time delays
CN107222510A (en) * 2017-07-21 2017-09-29 腾讯科技(深圳)有限公司 A kind of game synchronization method, system and relevant device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8149530B1 (en) * 2006-04-12 2012-04-03 Winview, Inc. Methodology for equalizing systemic latencies in television reception in connection with games of skill played in connection with live television programming

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101577715A (en) * 2009-06-19 2009-11-11 腾讯科技(深圳)有限公司 Method and device for synchronizing online game time
WO2010145410A1 (en) * 2009-06-19 2010-12-23 腾讯科技(深圳)有限公司 Method and device for synchronizing time of network games
CN103200237A (en) * 2013-03-11 2013-07-10 天脉聚源(北京)传媒科技有限公司 Method and device for maintaining remote desktop synchronization
CN105657049A (en) * 2016-02-26 2016-06-08 北京皮尔布莱尼软件有限公司 Incremental data synchronization method and device and mobile terminal
CN106161629A (en) * 2016-07-13 2016-11-23 广州新博庭网络信息科技股份有限公司 The method of a kind of business object synchronization, client and server
CN106730836A (en) * 2016-12-22 2017-05-31 Tcl集团股份有限公司 A kind of method and system of reduction ARPG gaming network time delays
CN107222510A (en) * 2017-07-21 2017-09-29 腾讯科技(深圳)有限公司 A kind of game synchronization method, system and relevant device

Also Published As

Publication number Publication date
CN108310766A (en) 2018-07-24

Similar Documents

Publication Publication Date Title
CN108310766B (en) Data processing method and device, storage medium, processor and terminal
US10567818B2 (en) Video content distribution system and content management server
CN108379832B (en) Game synchronization method and device
CN111837399B (en) Playback method, server and medium for synchronizing media content
US9167007B2 (en) Stream complexity mapping
EP4037787B1 (en) Synchronization and offset of vsync between cloud gaming server and client
US10734032B2 (en) Method, device, and system of synchronously playing media file
US10560724B2 (en) Video content distribution system and content management server
EP3200423A1 (en) Client side stream switching
CN106303648A (en) A kind of method and device synchronizing to play multi-medium data
CN108156509B (en) Video playing method and device and user terminal
CN112169340A (en) Data synchronization verification method, system, computing device and storage medium
CN114339444A (en) Method, device and equipment for adjusting playing time of video frame and storage medium
CN105338281B (en) A kind of image display method and device
CN106657172A (en) Method and device for realizing information push
CN107749877A (en) Online game terrain data synchronous method, device and a kind of network game system
KR20180062621A (en) Method for providing contents by using a plurality of contents support devices, and contents support device for implementing same method
CN115228084B (en) Game picture synchronization method and related equipment
CN110620761A (en) Method and device for realizing multi-person virtual interaction
CN115025495B (en) Method and device for synchronizing character model, electronic equipment and storage medium
CN114637398A (en) Image streaming display method and device
CN117414577A (en) Game frame supplementing method, device and system, electronic equipment and storage medium
CN118170293A (en) Instruction response method, device, medium and equipment
CN114827736A (en) Video playback method and device, electronic equipment and storage medium
CN117122913A (en) Frame-following acceleration method, device, equipment and medium based on frame synchronization

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
GR01 Patent grant
GR01 Patent grant