Detailed Description
In order to make the objects, technical solutions and advantages of the present invention clearer, the present invention will be described in further detail with reference to the accompanying drawings, and it is apparent that the described embodiments are only a part of the embodiments of the present invention, 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.
The terminology used in the embodiments of the invention is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used in the examples of the present invention and the appended claims, the singular forms "a", "an", and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise, and "a plurality" typically includes at least two.
It should be understood that the term "and/or" as used herein is merely one type of association that describes an associated object, meaning that three relationships may exist, e.g., a and/or B may mean: a exists alone, A and B exist simultaneously, and B exists alone. In addition, the character "/" herein generally indicates that the former and latter related objects are in an "or" relationship.
It should be understood that although the terms first, second, third, etc. may be used to describe … … in embodiments of the present invention, these … … should not be limited to these terms. These terms are used only to distinguish … …. For example, the first … … can also be referred to as the second … … and similarly the second … … can also be referred to as the first … … without departing from the scope of embodiments of the present invention.
The words "if", as used herein, may be interpreted as "at … …" or "at … …" or "in response to a determination" or "in response to a detection", depending on the context. Similarly, the phrases "if determined" or "if detected (a stated condition or event)" may be interpreted as "when determined" or "in response to a determination" or "when detected (a stated condition or event)" or "in response to a detection (a stated condition or event)", depending on the context.
It is also noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that an article or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such article or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in the article or device in which the element is included.
Alternative embodiments of the present invention are described in detail below with reference to the accompanying drawings.
Example 1
As shown in fig. 1, an application scenario diagram of an embodiment of the present disclosure is shown, where a plurality of users (first terminals, student terminals) operate first clients installed on terminal devices such as mobile phones through the terminal devices, and the first clients perform data communication with a second terminal (a teacher terminal, for example, a PC computer of a teacher) through a background server.
As shown in fig. 2, according to a specific embodiment of the present disclosure, in a first aspect, the present disclosure provides a method for synchronizing electronic whiteboard data, which is applied to a first terminal, where the first terminal is a student terminal, and the method specifically includes the following steps:
s202: the method comprises the steps that a first terminal sends a request for acquiring handwriting data of a second terminal to a server, so that the server can conveniently acquire the handwriting data of the second terminal according to a target instruction type and unique identification information of the target instruction carried by the request for acquiring the handwriting data of the second terminal, wherein the target instruction type comprises a control instruction for controlling graphic display and a drawing instruction for drawing a graphic;
in this step, the control instructions at least include:
the control instruction is used for executing eraser operation, the control instruction is used for executing screen clearing operation, the control instruction is used for executing undo operation, and the control instruction is used for executing repeated operation;
the rendering instructions include at least:
the drawing instruction is used for executing the straight line connecting operation, the drawing instruction is used for executing the triangle drawing operation, and the drawing instruction is used for executing the circle drawing operation.
In practical applications, in a whiteboard, the following kinds of actions are defined:
STROKE, TRIANGLE, CIRCLE denote draw lines, polygons, CIRCLEs, these instructions are called draw instructions, VISIBILITY, CLEAR, UNDO, REDO control graphics presentation, called control instructions.
S204: receiving handwriting data of a second terminal sent by a server;
in this step, the received handwriting data of the second terminal not only carries target instruction type information, but also carries unique identification information of the target instruction, wherein the target instruction type comprises a control instruction for controlling graphic display and a drawing instruction for drawing a graphic;
in practical applications, in a whiteboard, the following kinds of actions are defined:
STROKE, TRIANGLE, CIRCLE denote draw lines, polygons, CIRCLEs, these instructions are called draw instructions, VISIBILITY, CLEAR, UNDO, REDO control graphics presentation, called control instructions.
Optionally, after executing S204 to receive handwriting data of the second terminal sent by the server, the method further includes:
reading a target instruction type carried by a request for acquiring handwriting data of a second terminal;
the target instruction type at least comprises a control instruction for controlling graphic display and a drawing instruction for drawing a graphic;
the control instructions at least include:
the control instruction is used for executing eraser operation, the control instruction is used for executing screen clearing operation, the control instruction is used for executing undo operation, and the control instruction is used for executing repeated operation;
the rendering instructions include at least:
the drawing instruction is used for executing the straight line connecting operation, the drawing instruction is used for executing the triangle drawing operation, and the drawing instruction is used for executing the circle drawing operation.
In practical applications, a control instruction including new content and a drawing instruction including new content may be introduced for different application development scenarios, and details are not repeated here.
S206: and restoring the received handwriting data of the second terminal, if a plurality of target instructions in the received handwriting data have the same target instruction type and the same unique identifier, adding marks of corresponding types to the metadata of the drawing instruction through the control instruction when restoring the handwriting data and before executing the control instruction, obtaining an adding mark added with control instruction type information, and executing the drawing operation of the corresponding drawing instruction based on the adding mark.
In a specific application scene, a plurality of first terminals (student terminals) can simultaneously and synchronously listen to courses of the same second terminal (a PC (personal computer) terminal of a teacher terminal), and because marks of corresponding types are added to metadata of drawing instructions through control instructions, additional marks added with control instruction type information are obtained, and drawing operation of corresponding drawing instructions is executed based on the additional marks, the first terminals can accurately restore handwriting data of the second terminal.
Under a specific application scene, instructions are abstracted into a data model, programming is facilitated to be transmitted in a network, the data structure is called Action, and the data structure is a minimum unit for representing an operation, such as erasing, drawing a line segment, withdrawing a line segment and the like; a field for seq _ id is introduced in each Action to uniquely identify an Action, and the agreed seq _ id is monotonically incremented.
In the whiteboard, the following kinds of actions are defined:
STROKE, TRIANGLE, CIRCLE denote draw lines, polygons, CIRCLEs, these instructions are called draw instructions, VISIBILITY, CLEAR, UNDO, REDO control graphics presentation, called control instructions.
Taking a drawn line as an example:
one line is composed of a plurality of points, and the teacher end collects the stroke points and transmits the stroke points to the student end through instructions. For real-time, 200ms passes once. A complete curve, which is divided into several line segments and transmitted to the student end, wherein the instructions of each line segment are as follows:
the teacher erases a certain line segment, sends a VISIBILITY Action and carries the seq _ id of the erased line segment Action;
for the problem of disorder in the prior art, normally, the student end receives 3 line drawing commands with action 1 first, and then receives an erasing command with action 4. Under the condition of disorder, 2 action-1 line drawing instructions are received firstly, then an erasing instruction is received, and finally a line drawing instruction is received.
The seq _ id is the same for three line segments that are three parts of a line. When the student end starts to receive the instruction of two line segments, the student end draws the two line segments firstly. Then when an erasing instruction is received, the data of the two previous line segments are not deleted, but an erasing mark is added to the line segment data model and is marked as follows: flag _ earse. The value corresponding to the flag is equal to 0 in default condition, and when an erasing instruction is received, the value corresponding to the flag _ early is equal to 1; at this time, the third part of the line segment is received again, and the third part of the received line segment is not drawn because the value corresponding to the flag _ early of the line segment is equal to 1; therefore, the problem of disorder of drawing instructions and control instructions in the prior art can be solved through the technical scheme provided by the disclosure, so that all handwriting data of the second terminal (teacher end) are finally restored accurately and synchronously by the first terminal (student end), and all the handwriting data are sequentially arranged according to the original sequence.
The method comprises the steps that when a first terminal restores received handwriting data of a second terminal and before a control instruction is executed, a mark of a corresponding type is added to metadata of a drawing instruction through the control instruction, an adding mark added with control instruction type information is obtained, and drawing operation of a corresponding drawing instruction is executed based on the adding mark, so that the disorder phenomenon possibly occurring in the transmission process of the electronic whiteboard data is avoided, and the synchronization of the electronic whiteboard data is finally realized.
Example 2
As shown in fig. 1, an application scenario diagram of an embodiment of the present disclosure is shown, where a plurality of users (first terminals, student terminals) operate first clients installed on terminal devices such as mobile phones through the terminal devices, and the first clients perform data communication with a second terminal (a teacher terminal, for example, a PC computer of a teacher) through a background server.
As shown in fig. 3, according to a specific embodiment of the present disclosure, in a second aspect, the present disclosure provides a method for synchronizing electronic whiteboard data, which is applied to a server side, and specifically includes the following method steps:
s302: receiving a request for acquiring handwriting data of a second terminal, which is sent by a first terminal;
in this step, a request sent by the first terminal to obtain different handwriting data of the second terminal may be received, for example, a request sent by the first terminal to obtain drawing script data of the second terminal is received, for example, a request sent by the first terminal to obtain undo target data of the second terminal is received, and furthermore, a request sent by the first terminal to obtain repetitive target data of the first terminal is received, which lists only common requests, and does not specifically limit the content of the requests.
S304: responding to the request, acquiring handwriting data of the second terminal, wherein the handwriting data carries a target instruction type of the second terminal and unique identification information of the target instruction of the second terminal, and the target instruction type comprises a control instruction for controlling graphic display and a drawing instruction for drawing a graphic;
in practical applications, in a whiteboard, the following kinds of actions are defined:
STROKE, TRIANGLE, CIRCLE denote draw lines, polygons, CIRCLEs, these instructions are called draw instructions, VISIBILITY, CLEAR, UNDO, REDO control graphics presentation, called control instructions.
In practical applications, a control instruction including new content and a drawing instruction including new content may be introduced for different application development scenarios, and details are not repeated here.
Optionally, after executing S304, in response to the request, acquiring handwriting data of the second terminal, the method further includes:
reading a target instruction type carried by a request for acquiring handwriting data of a second terminal;
the target instruction type at least comprises a control instruction for controlling graphic display and a drawing instruction for drawing a graphic;
the control instructions include at least one of:
the control instruction is used for executing eraser operation, the control instruction is used for executing screen clearing operation, the control instruction is used for executing undo operation, and the control instruction is used for executing repeated operation;
the rendering instructions include at least one of:
the drawing instruction is used for executing the straight line connecting operation, the drawing instruction is used for executing the triangle drawing operation, and the drawing instruction is used for executing the circle drawing operation.
In practical applications, a control instruction including new content and a drawing instruction including new content may be introduced for different application development scenarios, and details are not repeated here.
Optionally, before executing the target instruction type carried in the request for reading and acquiring handwriting data of the second terminal, the method further includes:
giving different types of target instructions a numerical value of a unique identification which is sequentially increased; therefore, different types of target instructions can be easily distinguished, and target instructions with the same type can be classified to avoid missing an operation of executing the target instructions for multiple times.
Optionally, the step of assigning sequentially increasing values of the unique identifier to different types of target instructions includes the following steps:
if the read target instruction type is a drawing instruction for executing the linear connection operation, the numerical value of the unique identifier given to the target instruction is a first positive integer;
if the read target instruction type is a control instruction for executing eraser operation, the numerical value of the unique identifier given to the target instruction is a second positive integer;
if the read target instruction type is a control instruction for executing the screen clearing operation, the numerical value of the unique identifier given to the target instruction is a third positive integer;
if the read target instruction type is a control instruction for executing the undo operation, the numerical value of the unique identifier given to the target instruction is a fourth positive integer;
if the read target instruction type is a control instruction for executing repeated operation, the numerical value of the unique identifier given to the target instruction is a fifth positive integer;
if the read target instruction type is a drawing instruction for executing triangle drawing operation, the numerical value of the unique identifier given to the target instruction is a sixth positive integer;
if the read target instruction type is a drawing instruction for executing a circle drawing operation, the numerical value of the unique identifier given to the target instruction is a seventh positive integer;
the first positive integer is smaller than the second positive integer, the second positive integer is smaller than the third positive integer, the third positive integer is smaller than the fourth positive integer, the fifth positive integer is smaller than the sixth positive integer, and the sixth positive integer is smaller than the seventh positive integer.
In a specific application scene, instructions are abstracted into a data model, and for convenience of programming and transmission in a network, the data structure is called Action, which is the minimum unit for representing an operation, such as erasing, drawing a line segment, withdrawing a line segment and the like; a field of seq _ id is introduced into each Action, an Action is uniquely identified by seq _ id, and the seq _ id is agreed to be monotonically increased.
In the whiteboard, the following kinds of actions are defined:
as mentioned above, the STROKEs, TRIANGLEs, CIRCLEs represent drawn lines, polygons, CIRCLEs, and these instructions are called drawing instructions, and the visibricity, clearr, UNDO, REDO control the presentation of graphics, called control instructions.
In practical applications, a control instruction including new content and a drawing instruction including new content may be introduced for different application development scenarios, and details are not repeated here.
S306: sending the handwriting data of the second terminal to the first terminal, so that when the plurality of target instructions in the received handwriting data have the same target instruction type and the same unique identification, and when the handwriting data is restored by the first terminal and before the control instruction is executed, adding a mark of a corresponding type to the metadata of the drawing instruction through the control instruction in the received handwriting data of the second terminal to obtain an added mark added with the type information of the control instruction, and executing the drawing operation of the corresponding drawing instruction based on the added mark.
The following specific examples, given by way of example for the drawn lines:
one line is composed of a plurality of points, and the teacher end collects the stroke points and transmits the stroke points to the student end through instructions. For real-time, 200ms passes once. A complete curve, which is divided into several line segments and transmitted to the student end, wherein the instructions of each line segment are as follows:
for the problem of disorder in the prior art, normally, the student end receives 3 line drawing commands with action 1 first, and then receives an erasing command with action 4. Under the condition of disorder, 2 action-1 line drawing instructions are received firstly, then an erasing instruction is received, and finally a line drawing instruction is received.
The seq _ id is the same for three line segments that are three parts of a line. When the student end starts to receive the instruction of two line segments, the student end draws the two line segments firstly. Then when an erasing instruction is received, the data of the two previous line segments are not deleted, but an erasing mark is added to the line segment data model and is marked as follows: flag _ earse. The value corresponding to the flag is equal to 0 in default condition, and when an erasing instruction is received, the value corresponding to the flag _ early is equal to 1; at this time, the third part of the line segment is received again, and the third part of the received line segment is not drawn because the value corresponding to the flag _ early of the line segment is equal to 1; therefore, the problem of disorder of drawing instructions and control instructions in the prior art can be solved through the technical scheme provided by the disclosure, so that all handwriting data of the second terminal (teacher end) are finally restored accurately and synchronously by the first terminal (student end), and all the handwriting data are sequentially arranged according to the original sequence.
The server sends the handwriting data of the second terminal to the first terminal, so that when the first terminal restores the received handwriting data and before executing the control instruction, the corresponding type mark is added to the metadata of the drawing instruction through the control instruction in the received handwriting data of the second terminal, the added mark added with the control instruction type information is obtained, and the drawing operation of the corresponding drawing instruction is executed based on the added mark, so that the disorder phenomenon possibly occurring in the transmission process of the electronic whiteboard data is avoided, and the synchronization of the electronic whiteboard data is finally realized.
Example 3
As shown in fig. 1, an application scenario diagram according to an embodiment of the present invention is shown, where a plurality of users (first terminals, student terminals) operate first clients installed on terminal devices such as mobile phones, and the first clients perform data communication with a second terminal (a teacher terminal, for example, a PC computer of a teacher) through a background server. The embodiment is similar to embodiment 1 in the explanation of the method steps for implementing the method steps as described in embodiment 1 based on the same names and meanings, and has the same technical effects as embodiment 1, and thus the description thereof is omitted.
Referring to fig. 4, according to a third aspect of the present invention, the present invention provides a synchronization apparatus for electronic whiteboard data, the synchronization apparatus is applied to a first terminal, and specifically includes a first sending unit 402, a first receiving unit 404, and a restoring unit 406, and specifically as follows:
a first sending unit 402, configured to send, by the first terminal, a request for obtaining handwriting data of the second terminal to the server, so that the server obtains the handwriting data of the second terminal according to a target instruction type and unique identification information of the target instruction, where the target instruction type includes a control instruction for controlling graphic display and a drawing instruction for drawing a graphic, and the target instruction type is carried by the request for obtaining the handwriting data of the second terminal;
a first receiving unit 404, configured to receive handwriting data of the second terminal sent by the server;
a restoring unit 406, configured to restore the handwriting data of the second terminal received by the first receiving unit 404, if multiple target instructions in the received handwriting data have the same target instruction type and the same unique identifier, when the handwriting data is restored and before the control instruction is executed, add a mark of a corresponding type to metadata of the drawing instruction through the control instruction, obtain an addition mark added with control instruction type information, and execute a drawing operation of a corresponding drawing instruction based on the addition mark.
Optionally, the apparatus further comprises:
a first reading unit (not shown in fig. 4), configured to, after the first receiving unit 404 receives the handwriting data of the second terminal sent by the server, read a target instruction type carried in a request for acquiring the handwriting data of the second terminal;
the target instruction type at least comprises a control instruction for controlling graphic display and a drawing instruction for drawing a graphic;
the control instructions at least include:
the control instruction is used for executing eraser operation, the control instruction is used for executing screen clearing operation, the control instruction is used for executing undo operation, and the control instruction is used for executing repeated operation;
the rendering instructions include at least:
the drawing instruction is used for executing the straight line connecting operation, the drawing instruction is used for executing the triangle drawing operation, and the drawing instruction is used for executing the circle drawing operation.
The utility model provides a synchronizer of whiteboard data, first terminal is when reducing the handwriting data of second terminal received, before carrying out control command, add the mark of corresponding type to drawing instruction's metadata through control command, obtain the interpolation mark that adds control command type information to draw the drawing operation of corresponding drawing instruction based on adding the mark, like this, avoided whiteboard data the out of order phenomenon that probably appears in the transmission course, realized whiteboard data's synchronization finally.
Example 4
As shown in fig. 1, an application scenario diagram according to an embodiment of the present invention is shown, where a plurality of users (first terminals, student terminals) operate first clients installed on terminal devices such as mobile phones, and the first clients perform data communication with a second terminal (a teacher terminal, for example, a PC computer of a teacher) through a background server. The embodiment is similar to the embodiment 2 in the explanation of the embodiment 2 based on the same name and meaning, and has the same technical effect as the embodiment 2, and the method of the embodiment 2 is used for implementing the method steps as described in the embodiment 2, and is not described herein again.
With reference to fig. 5, according to a fourth aspect of the embodiment of the present invention, the present invention provides a synchronization apparatus for electronic whiteboard data, where the synchronization apparatus is applied to a server side, and specifically includes a second receiving unit 502, an obtaining unit 504, and a second sending unit 506, and the following steps are specifically included:
a second receiving unit 502, configured to receive a request for acquiring handwriting data of a second terminal sent by a first terminal;
an obtaining unit 504, configured to obtain, in response to the request received by the second receiving unit 502, handwriting data of the second terminal, where the handwriting data carries a target instruction type of the second terminal and unique identification information of the target instruction of the second terminal, and the target instruction type includes a control instruction for controlling image display and a drawing instruction for drawing an image;
a second sending unit 506, configured to send the handwriting data of the second terminal to the first terminal, so that when multiple target instructions in the received handwriting data have the same target instruction type and the same unique identifier, and when the first terminal restores the handwriting data and before executing the control instruction, a mark of a corresponding type is added to the metadata of the drawing instruction through the control instruction in the received handwriting data of the second terminal, to obtain an addition mark to which control instruction type information is added, and a drawing operation of a corresponding drawing instruction is executed based on the addition mark.
Optionally, the apparatus further comprises:
a second reading unit (not shown in fig. 5), configured to, after the obtaining unit 504 obtains the handwriting data of the second terminal in response to the request, read a target instruction type carried in the request for obtaining the handwriting data of the second terminal;
the target instruction types read by the second reading unit at least comprise a control instruction for controlling graphic display and a drawing instruction for drawing graphics;
the control instructions include at least one of:
the control instruction is used for executing eraser operation, the control instruction is used for executing screen clearing operation, the control instruction is used for executing undo operation, and the control instruction is used for executing repeated operation;
the rendering instructions include at least one of:
the drawing instruction is used for executing the straight line connecting operation, the drawing instruction is used for executing the triangle drawing operation, and the drawing instruction is used for executing the circle drawing operation.
Optionally, the apparatus further comprises:
and the giving unit (not shown in fig. 5) is configured to give sequentially incremented values of the unique identifiers to different types of target instructions before the second reading unit reads the target instruction type carried in the request for acquiring handwriting data of the second terminal.
Optionally, the giving unit is specifically configured to:
if the read target instruction type is a drawing instruction for executing the linear connection operation, the numerical value of the unique identifier given to the target instruction is a first positive integer;
if the read target instruction type is a control instruction for executing eraser operation, the numerical value of the unique identifier given to the target instruction is a second positive integer;
if the read target instruction type is a control instruction for executing the screen clearing operation, the numerical value of the unique identifier given to the target instruction is a third positive integer;
if the read target instruction type is a control instruction for executing the undo operation, the numerical value of the unique identifier given to the target instruction is a fourth positive integer;
if the read target instruction type is a control instruction for executing repeated operation, the numerical value of the unique identifier given to the target instruction is a fifth positive integer;
if the read target instruction type is a drawing instruction for executing triangle drawing operation, the numerical value of the unique identifier given to the target instruction is a sixth positive integer;
if the read target instruction type is a drawing instruction for executing a circle drawing operation, the numerical value of the unique identifier given to the target instruction is a seventh positive integer;
the first positive integer is smaller than the second positive integer, the second positive integer is smaller than the third positive integer, the third positive integer is smaller than the fourth positive integer, the fifth positive integer is smaller than the sixth positive integer, and the sixth positive integer is smaller than the seventh positive integer.
The invention provides a synchronization device of electronic whiteboard data, wherein a server sends handwriting data of a second terminal to a first terminal, so that when the first terminal restores the received handwriting data under the condition that a plurality of target instructions in the received handwriting data have the same target instruction type and the same unique identification, a mark with a corresponding type is added to metadata of a drawing instruction through a control instruction in the received handwriting data of the second terminal before the control instruction is executed, an adding mark added with control instruction type information is obtained, and the drawing operation of a corresponding drawing instruction is executed based on the adding mark.
Example 5
As shown in fig. 6, the present embodiment provides an electronic device, which is used in a method for synchronizing electronic whiteboard data, and includes: at least one processor; and a memory communicatively coupled to the at least one processor; wherein the content of the first and second substances,
the memory stores instructions executable by the one processor to cause the at least one processor to: when the first terminal restores the received handwriting data of the second terminal and before executing the control instruction, the corresponding type mark is added to the metadata of the drawing instruction through the control instruction to obtain the added mark added with the control instruction type information, and the drawing operation of the corresponding drawing instruction is executed based on the added mark, so that the disorder phenomenon possibly occurring in the transmission process of the electronic whiteboard data is avoided, and the synchronization of the electronic whiteboard data is finally realized.
Example 6
The embodiment of the present disclosure provides a non-volatile computer storage medium, where the computer storage medium stores computer-executable instructions, and the computer-executable instructions can execute the synchronization method of electronic whiteboard data in any of the above method embodiments.
Example 7
Referring now to FIG. 6, shown is a schematic diagram of an electronic device suitable for use in implementing embodiments of the present disclosure. The terminal device in the embodiments of the present disclosure may include, but is not limited to, a mobile terminal such as a mobile phone, a notebook computer, a digital broadcast receiver, a PDA (personal digital assistant), a PAD (tablet computer), a PMP (portable multimedia player), a vehicle terminal (e.g., a car navigation terminal), and the like, and a stationary terminal such as a digital TV, a desktop computer, and the like. The electronic device shown in fig. 6 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present disclosure.
As shown in fig. 6, the electronic device may include a processing means (e.g., a central processing unit, a graphics processor, etc.) 601, which may perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM)602 or a program loaded from a storage means 608 into a Random Access Memory (RAM) 603. In the RAM 603, various programs and data necessary for the operation of the electronic apparatus are also stored. The processing device 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. An input/output (I/O) interface 605 is also connected to bus 604.
Generally, the following devices may be connected to the I/O interface 605: input devices 606 including, for example, a touch screen, touch pad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; output devices 607 including, for example, a Liquid Crystal Display (LCD), a speaker, a vibrator, and the like; storage 608 including, for example, tape, hard disk, etc.; and a communication device 609. The communication means 609 may allow the electronic device to communicate with other devices wirelessly or by wire to exchange data. While fig. 6 illustrates an electronic device having various means, it is to be understood that not all illustrated means are required to be implemented or provided. More or fewer devices may alternatively be implemented or provided.
In particular, according to an embodiment of the present disclosure, the processes described above with reference to the flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method illustrated in the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network via the communication means 609, or may be installed from the storage means 608, or may be installed from the ROM 602. The computer program, when executed by the processing device 601, performs the above-described functions defined in the methods of the embodiments of the present disclosure.
It should be noted that the computer readable medium in the present disclosure can be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In contrast, in the present disclosure, a computer readable signal medium may comprise a propagated data signal with computer readable program code embodied therein, either in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: electrical wires, optical cables, RF (radio frequency), etc., or any suitable combination of the foregoing.
The computer readable medium may be embodied in the electronic device; or may exist separately without being assembled into the electronic device.
The computer readable medium carries one or more programs which, when executed by the electronic device, cause the electronic device to: when the first terminal restores the received handwriting data of the second terminal and before executing the control instruction, the corresponding type mark is added to the metadata of the drawing instruction through the control instruction to obtain the added mark added with the control instruction type information, and the drawing operation of the corresponding drawing instruction is executed based on the added mark, so that the disorder phenomenon possibly occurring in the transmission process of the electronic whiteboard data is avoided, and the synchronization of the electronic whiteboard data is finally realized.
Alternatively, the computer readable medium carries one or more programs which, when executed by the electronic device, cause the electronic device to: when the first terminal restores the received handwriting data of the second terminal and before executing the control instruction, the corresponding type mark is added to the metadata of the drawing instruction through the control instruction to obtain the added mark added with the control instruction type information, and the drawing operation of the corresponding drawing instruction is executed based on the added mark, so that the disorder phenomenon possibly occurring in the transmission process of the electronic whiteboard data is avoided, and the synchronization of the electronic whiteboard data is finally realized.
Computer program code for carrying out operations for aspects of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C + +, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider).
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units described in the embodiments of the present disclosure may be implemented by software or hardware. Where the name of an element does not in some cases constitute a limitation on the element itself.