CN113489768A - Data synchronization method and device of electronic whiteboard - Google Patents

Data synchronization method and device of electronic whiteboard Download PDF

Info

Publication number
CN113489768A
CN113489768A CN202110732669.XA CN202110732669A CN113489768A CN 113489768 A CN113489768 A CN 113489768A CN 202110732669 A CN202110732669 A CN 202110732669A CN 113489768 A CN113489768 A CN 113489768A
Authority
CN
China
Prior art keywords
client
conference
whiteboard
synchronization
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110732669.XA
Other languages
Chinese (zh)
Inventor
丁禹钧
胡基火
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qingdao Hisense Commercial Display Co Ltd
Original Assignee
Qingdao Hisense Commercial Display 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 Qingdao Hisense Commercial Display Co Ltd filed Critical Qingdao Hisense Commercial Display Co Ltd
Priority to CN202110732669.XA priority Critical patent/CN113489768A/en
Publication of CN113489768A publication Critical patent/CN113489768A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The application provides a data synchronization method and equipment of an electronic whiteboard. The method comprises the steps that after a request client accesses a conference, a whiteboard synchronization request aiming at the conference is sent to a server, the server responds to the whiteboard synchronization request and sends the whiteboard synchronization request to a synchronization client, the synchronization client responds to the whiteboard synchronization request and sends whiteboard data displayed in the synchronization client to the server, the server sends the whiteboard data to the request client, the request client displays the whiteboard data in the request client, the whiteboard data is used for representing historical conference contents which are not deleted in the conference, and the historical conference contents comprise contents which are input by a user in a history mode in the client accessing the conference. As such, the requesting client may display the historical meeting content after accessing the meeting.

Description

Data synchronization method and device of electronic whiteboard
Technical Field
The embodiment of the application relates to the technical field of network communication, in particular to a data synchronization method and equipment for an electronic whiteboard.
Background
The electronic whiteboard is an application program, and can be applied to application scenes such as network teaching, network conferences and the like, and the electronic whiteboard is usually operated on large-screen equipment. For example, when performing online teaching, a teacher may write teaching contents on an electronic whiteboard in the first device by hand, so that a student can view the teaching contents through the electronic whiteboard in the second device. The first equipment is electronic equipment used by teachers, and the second equipment is electronic equipment used by students. For another example, when a network conference is in progress, one of the conference participants PI1 may send conference content through an electronic whiteboard in the third device, while the other conference participant PI2 may view the conference content through an electronic whiteboard in the fourth device. The third device is an electronic device used by PI1, and the fourth device is an electronic device used by PI 2.
It can be seen that the electronic whiteboard may be understood as a client, and a plurality of clients may form a conference for interaction. For example, the electronic whiteboard of the first device is a client corresponding to a teacher, and the electronic whiteboard of the second device is a client corresponding to a student, so that the teacher and the student can give lessons through the respective clients. For another example, the electronic whiteboard in the third device is a client corresponding to PI1, and the electronic whiteboard in the fourth device is a client corresponding to PI2, so that PI1 and PI2 perform a web conference through their respective clients. The network teaching and the network conference can be used as a conference among a plurality of people. However, the time of accessing the conference by each client may be different, so how to synchronously display the historical conference content after the client accesses the conference is an urgent problem to be solved.
Disclosure of Invention
The embodiment of the application provides a data synchronization method and equipment for an electronic whiteboard, which can synchronously display historical conference contents after a client accesses a conference.
In a first aspect, an embodiment of the present application provides a server, where the server is configured to:
receiving a whiteboard synchronization request of a request client for a conference, wherein the whiteboard synchronization request is sent by the request client after accessing the conference;
responding to the whiteboard synchronization request, acquiring whiteboard data of the conference from a synchronization client which has accessed to the conference, wherein the whiteboard data is used for representing historical conference content which is not deleted in the conference, the historical conference content comprises content which is input by a user in history in the client which has accessed to the conference, and the synchronization client is a client in the conference except for the request client;
and sending the whiteboard data to the request client.
In a second aspect, an embodiment of the present application provides a requesting client, where the requesting client is configured to:
after accessing a conference, sending a whiteboard synchronization request aiming at the conference to a server;
receiving whiteboard data sent by the server for the data synchronization request, wherein the whiteboard data is used for representing historical conference content which is not deleted in the conference, and the historical conference content comprises content which is input by a user in a history manner in a client side accessing the conference;
displaying the whiteboard data in the requesting client.
In a third aspect, an embodiment of the present application provides a synchronization client, where the synchronization client has accessed a conference, and the synchronization client is configured to:
receiving a whiteboard synchronization request sent by a server;
and responding to the whiteboard synchronization request, and sending whiteboard data displayed in the synchronization client to the server, wherein the whiteboard data is used for representing historical conference content which is not deleted in the conference, and the historical conference content comprises content which is input by a user in the history of the client accessing the conference.
In a fourth aspect, an embodiment of the present application provides a data synchronization system for an electronic whiteboard, including the server of the first aspect, the request client of the second aspect, and the synchronization client of the third aspect.
In a fifth aspect, an embodiment of the present application provides a data synchronization method for an electronic whiteboard, which is applied to a server, and includes:
receiving a whiteboard synchronization request of a request client for a conference, wherein the whiteboard synchronization request is sent by the request client after accessing the conference;
responding to the whiteboard synchronization request, acquiring whiteboard data of the conference from a synchronization client which has accessed to the conference, wherein the whiteboard data is used for representing historical conference content which is not deleted in the conference, the historical conference content comprises content which is input by a user in history in the client which has accessed to the conference, and the synchronization client is a client in the conference except for the request client;
and sending the whiteboard data to the request client.
In a sixth aspect, an embodiment of the present application provides a data synchronization method for an electronic whiteboard, which is applied to a request client, and includes:
after accessing a conference, sending a whiteboard synchronization request aiming at the conference to a server;
receiving whiteboard data sent by the server for the data synchronization request, wherein the whiteboard data is used for representing historical conference content which is not deleted in the conference, and the historical conference content comprises content which is input by a user in a history manner in a client side accessing the conference;
displaying the whiteboard data in the requesting client.
In a seventh aspect, an embodiment of the present application provides a data synchronization method for an electronic whiteboard, which is applied to a synchronization client, and includes:
receiving a whiteboard synchronization request sent by a server;
and responding to the whiteboard synchronization request, and sending whiteboard data displayed in the synchronization client to the server, wherein the whiteboard data is used for representing historical conference content which is not deleted in the conference, and the historical conference content comprises content which is input by a user in the history of the client accessing the conference.
According to the data synchronization method and device for the electronic whiteboard, after a request client is accessed to a conference, a whiteboard synchronization request aiming at the conference is sent to a server, the server responds to the whiteboard synchronization request and sends the whiteboard synchronization request to a synchronization client, the synchronization client responds to the whiteboard synchronization request and sends whiteboard data displayed in the synchronization client to the server, the server sends the whiteboard data to the request client, the request client displays the whiteboard data in the request client, the whiteboard data is used for representing historical conference contents which are not deleted in the conference, and the historical conference contents comprise contents which are input by a user in a history mode in the client accessed to the conference. As such, the requesting client may display the historical meeting content after accessing the meeting.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings needed to be used in the description of the embodiments of the present application or the prior art will be briefly described below, and it is obvious that the drawings in the following description are some embodiments of the present application, and other drawings can be obtained by those skilled in the art without inventive exercise.
FIG. 1 illustrates a schematic diagram of an electronic whiteboard-based multi-party interaction scenario;
FIG. 2 is a schematic diagram illustrating an interaction of data synchronization among a server, a requesting client, and a synchronization client provided by an embodiment of the present application;
fig. 3 is a schematic diagram illustrating a message interaction between a client and a server provided by an embodiment of the present application;
fig. 4 to fig. 6 schematically illustrate a flow chart of steps of a data synchronization method for three electronic whiteboards provided in an embodiment of the present application.
Detailed Description
To make the objects, embodiments and advantages of the present application clearer, the following description of exemplary embodiments of the present application will clearly and completely describe the exemplary embodiments of the present application with reference to the accompanying drawings in the exemplary embodiments of the present application, and it is to be understood that the described exemplary embodiments are only a part of the embodiments of the present application, and not all of the embodiments.
All other embodiments, which can be derived by a person skilled in the art from the exemplary embodiments described herein without inventive step, are intended to be within the scope of the claims appended hereto. In addition, while the disclosure herein has been presented in terms of one or more exemplary examples, it should be appreciated that aspects of the disclosure may be implemented solely as a complete embodiment.
It should be noted that the brief descriptions of the terms in the present application are only for the convenience of understanding the embodiments described below, and are not intended to limit the embodiments of the present application. These terms should be understood in their ordinary and customary meaning unless otherwise indicated.
The terms "first," "second," "third," and the like in the description and claims of this application and in the above-described drawings are used for distinguishing between similar or analogous objects or entities and are not necessarily intended to limit the order or sequence of any particular one, Unless otherwise indicated. It is to be understood that the terms so used are interchangeable under appropriate circumstances such that the embodiments described herein are, for example, capable of operation in sequences other than those illustrated or otherwise described herein.
Furthermore, the terms "comprises" and "comprising," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a product or device that comprises a list of elements is not necessarily limited to those elements explicitly listed, but may include other elements not expressly listed or inherent to such product or device.
The embodiment of the application is suitable for a multi-party interaction scene based on the electronic whiteboard. Fig. 1 schematically illustrates a multi-party interaction scene based on an electronic whiteboard. Referring to fig. 1, in a multiparty interactive scenario based on an electronic whiteboard, the interaction between the electronic whiteboards 102 needs to be forwarded through the server 101. Each electronic whiteboard 102 is an application (also referred to as a client) running in one terminal device, so that the multi-party interaction scenario shown in fig. 1 corresponds to four terminal devices. The interaction between each client and server may be through an internet connection.
At present, when a client accesses a conference, the conference has already started for a period of time, and at this time, the client may display conference content generated after the conference, but cannot display historical conference content of the conference.
In order to solve the above technical problem, in the embodiment of the present application, a client newly accessing to a conference is referred to as a request client, when the request client enters the conference, the request client sends a whiteboard synchronization request to a server, and the server acquires whiteboard data from a synchronization client that has accessed to the conference and sends the whiteboard data to the request client. Since the whiteboard data is used to represent the historical conference content that has not been deleted in the conference, the requesting client can display the historical conference content after accessing the conference.
The synchronous client is a client which sends whiteboard data to a request client through a server.
The following examples are given for illustrative purposes.
The embodiment of the application relates to an interaction process among a server, a request client and a synchronization client.
Wherein the requesting client is configured to: after accessing a conference, sending a whiteboard synchronization request aiming at the conference to a server; receiving whiteboard data sent by a server according to the data synchronization request, wherein the whiteboard data is used for representing historical conference content which is not deleted in the conference, and the historical conference content comprises content which is input by a user in a history mode in a client side which is accessed to the conference; the whiteboard data is displayed in the requesting client.
The server is configured to: receiving a whiteboard synchronization request of a request client aiming at a conference, wherein the whiteboard synchronization request is sent by the request client after accessing the conference; responding to a whiteboard synchronization request, and acquiring whiteboard data of the conference from a synchronization client which is accessed to the conference, wherein the synchronization client is a client except for a request client in the conference; and sending the whiteboard data to the request client.
The synchronization client has access to the conference, and the synchronization client is configured to: receiving a whiteboard synchronization request sent by a server; and responding to the whiteboard synchronization request, and sending the whiteboard data displayed in the synchronization client to the server.
Based on the server, the request client and the synchronization client, fig. 2 exemplarily illustrates an interaction diagram for data synchronization among the server, the request client and the synchronization client provided by the embodiment of the present application. Referring to fig. 2, it can be seen that the interaction process among the three may include the following steps S201 to S205.
S201: after accessing a conference, a requesting client sends a whiteboard synchronization request for the conference to a server.
Accordingly, the server receives a whiteboard synchronization request sent by the request client.
The process of requesting the client to access the conference may specifically be that after the user starts the requesting client in the terminal device used by the user, the requesting client requests to connect to the server. After the requesting client connects to the server, the user may input a conference identifier in the requesting client, so that the requesting client accesses the conference corresponding to the conference identifier.
Accordingly, the server, after receiving the conference identification, determines whether the conference already exists. If so, the requesting client is allowed to access the conference. If not, the conference is first created and the requesting end is allowed access to the conference.
The determining, by the server, whether the conference already exists may include: the server determines whether session information corresponding to the conference identification exists locally, wherein the session information is generated by the server when the conference is created.
Of course, for security of the conference, the user needs to input information such as a password in addition to the conference identifier in the requesting client. The server verifies the password after receiving the password. If the verification is passed, allowing the request client to access the conference; otherwise, the requesting client is not allowed to access the conference.
S202: and the server responds to the whiteboard synchronization request and sends a whiteboard synchronization request to the synchronization client.
Accordingly, the synchronization client receives a whiteboard synchronization request sent by the server.
When a requesting client accesses only one conference, the whiteboard synchronization request may only carry the client identifier of the requesting client. After receiving the whiteboard synchronization request, the server firstly searches the conference accessed by the request client from the locally stored session information of each conference according to the client identifier; then, determining a synchronous client from the locally stored session information of the conference; and finally, sending a whiteboard synchronization request to the synchronization client.
When a request client accesses a plurality of conferences, a whiteboard synchronization request needs to carry a client identifier and a conference identifier of the request client. After receiving the whiteboard synchronization request, the server firstly determines session information corresponding to the conference identifier from locally stored session information of each conference according to the conference identifier; then, determining a synchronous client according to the session information corresponding to the conference identifier; and finally, sending a whiteboard synchronization request to the synchronization client.
It should be noted that, when the server determines that the conference requested to be accessed by the client is a newly-established conference, the server does not determine the synchronization client and does not send a whiteboard synchronization request to the synchronization client. But replies a message to the requesting client to indicate that the requesting client does not need to synchronize historical conference content.
The policy that the server determines the synchronization client may be various.
In the first strategy, the server randomly selects one client from the session information as a synchronization client.
And the second strategy is to determine synchronous clients from all clients accessed to the conference according to preset information. The preset information may be: the information of the synchronous client terminal appointed on the request client terminal, the time length of each client terminal in the conference accessing the conference, and the network speed of each client terminal in the conference.
When the preset information is information of a synchronization client specified on the requesting client, the synchronization client is the synchronization client specified on the requesting client.
Specifically, after receiving a whiteboard synchronization request sent by a requesting client, the server may obtain a conference requested to be synchronized by the requesting client, and then return information of each client accessed in the conference to the requesting client. And the information of the clients is displayed in the request clients so that the user can select the synchronous client from the information. After the user selects the synchronization client, the requesting client may send the information of the synchronization client to the server. The server, after receiving the information of the synchronization client, may send a whiteboard synchronization request to the synchronization client.
The information of the synchronization client may be a name and an identifier of the synchronization client, which is not limited in the embodiment of the present application.
And when the preset information is the time length of each client in the conference for accessing the conference, the synchronous client is the client with the longest time length.
After receiving a whiteboard synchronization request sent by a request client, a server can acquire a conference requested to be synchronized by the request client, then acquire the time for each client to access the conference from session information of the conference, then determine the time for each client to access the conference according to the time, and finally select the client with the largest time as a synchronization client.
And when the preset information is the network speed of each client in the conference, the synchronous client is the client with the maximum network speed.
The network speed can be determined according to the data transmission delay between the server and the client, and the larger the data transmission delay is, the smaller the network speed is; the smaller the data transmission delay, the higher the network speed. Therefore, the client with the minimum data transmission delay is the client with the maximum network speed.
Since the server needs to send the conference data sent by one of the clients to the other clients during the conference, the determining process of the data transmission delay may include: firstly, the server sends conference data to each client, and then each client replies a confirmation message to the server after receiving the conference data; and finally, the server determines the data transmission time delay according to the time difference between the sending of the conference data and the receiving of the reply message, wherein the larger the time difference is, the larger the data transmission time delay is.
In practical application, each preset information can determine one synchronization client, and how to select the only one synchronization client from the synchronization clients determined by the three preset information is a problem to be solved.
In the embodiment of the application, the preset information may be set with a priority, and the synchronization clients are determined according to the priority from high to low. When a synchronous client is determined according to the preset information of one priority, a whiteboard synchronization request is sent to the synchronous client determined by the preset information of the priority, and the synchronous client is not determined according to the preset information with lower priority. And when one synchronous client cannot be determined according to the preset information of one priority, the synchronous client is continuously determined according to the preset information with lower priority.
Thus, before determining a synchronization client from the clients that have accessed the conference according to the preset information, it is further required to obtain candidate information with the highest priority from at least two candidate information, as the preset information, where the at least two candidate information include at least two of the following: the information of the synchronous client terminal appointed on the request client terminal, the time length of each client terminal in the conference accessing the conference, and the network speed of each client terminal in the conference.
The priority of the candidate information is preset and is arranged from high to low according to the following sequence: the priority of the information of the synchronous client terminal designated on the request client terminal, the time length of the client terminal accessing the conference in the conference and the network speed of the client terminal in the conference.
And based on the priority order, when a user designates a synchronous client on the request client, sending a whiteboard synchronous request to the synchronous client.
And when the user does not designate a synchronous client on the request client, determining the client with the maximum time length for accessing the conference.
And when one client with the maximum duration of accessing the conference exists, taking the client as a synchronization client to send a whiteboard synchronization request to the synchronization client.
When a plurality of clients with the maximum duration accessing the conference exist, one client can be randomly selected from the plurality of clients as a synchronization client, so as to send a whiteboard synchronization request to the synchronization client.
When the client with the maximum duration of accessing the conference does not exist, the client with the maximum network speed can be determined.
When one client with the maximum network speed exists, the client is used as a synchronization client to send a whiteboard synchronization request to the synchronization client.
When a plurality of clients with the maximum network speed exist, one client can be randomly selected from the plurality of clients to serve as a synchronization client, so that a whiteboard synchronization request is sent to the synchronization client.
When the client with the maximum network speed does not exist, one client can be randomly selected from the clients which have access to the conference to serve as a synchronization client, so that a whiteboard synchronization request is sent to the synchronization client.
S203: and the synchronous client responds to the whiteboard synchronous request and sends the whiteboard data displayed in the synchronous client to the server.
Accordingly, the server receives the whiteboard data sent by the synchronization client.
It should be noted that the server obtains the whiteboard data of the conference from the synchronization client that has accessed the conference, which is specifically implemented by the foregoing S202 and S203.
The whiteboard data is used for representing historical conference content, and the historical conference content is written in the client by users of the clients in the conference.
In the process of meeting, a user of each client accessing the meeting can input meeting content in the client of the user, and the meeting content can be displayed not only in the client of the user, but also in other clients accessing the meeting. Of course, the user may delete the conference content after inputting the conference content, so that not only the conference content displayed on the own client but also the conference content displayed on the remaining clients need to be deleted.
For example, a conference access has three clients: CT1, CT2, and CT 3. At the same time, the conference contents displayed by the clients are the same.
At time t1, the user USR1 inputs conference content MC1 through CT 1. At this time, the conference contents displayed on each client are MC 1.
At time t2, the user USR2 inputs conference content MC2 through CT 2. At this time, the conference contents displayed on the respective clients include: MC1 and MC 2.
At time t3, the user USR3 inputs conference content MC3 through CT 3. At this time, the conference contents displayed on the respective clients include: MC1, MC2, and MC 3.
At time t4, the user USR2 deletes the conference content MC2 through CT 2. At this time, the conference contents displayed on the respective clients include: MC1 and MC 3.
At time t5, the user USR2 inputs conference content MC4 through CT 2. At this time, the conference contents displayed on the respective clients include: MC1, MC3, and MC 4.
Based on the above conference process, when a client CT4 accesses the conference between the time points t1 to t2, the whiteboard data obtained from the synchronization client represents the conference content MC1, so that the historical conference content displayed after the client CT4 accesses the conference includes the MC 1.
When the client CT4 accesses the conference between the times t2 and t3, the whiteboard data obtained from the synchronization client represents the conference contents MC1 and MC2, so that the history conference contents displayed after the client CT4 accesses the conference include MC1 and MC 2.
When the client CT4 accesses the conference between the moments t3 and t4, the whiteboard data obtained from the synchronization client represents the conference contents MC1, MC2 and MC3, so that the history conference contents displayed after the client CT4 accesses the conference include MC1, MC2 and MC 3.
When the client CT4 accesses the conference between the times t4 and t5, the whiteboard data obtained from the synchronization client represents the conference contents MC1 and MC3, so that the history conference contents displayed after the client CT4 accesses the conference include MC1 and MC 3.
When the client CT4 accesses the conference after the time t5, the whiteboard data obtained from the synchronization client represents the conference contents MC1, MC3 and MC4, so that the history conference contents displayed after the client CT4 accesses the conference include MC1, MC3 and MC 4.
It can be seen that the client CT4 is a requesting client that has different access times to the conference and different historical conference content. For example, at the time of the transition from t4 to t5, the displayed history conference content does not include the MC2 because the MC2 was deleted at the time of t 4.
The whiteboard data can be sent to the server by the synchronous client in a file form, and then sent to the request client by the server.
Specifically, firstly, a synchronization client acquires pixel information of each display object; then, the synchronization client converts the pixel information of each display object into the geometric information of the display object, wherein the geometric information of the display object comprises at least one of the following: displaying the boundary, shape, size, color of the object; and finally, the synchronous client adds the geometric information of each display object into the data file and sends the geometric information to the server.
And each display object in the conference interface is used for representing the conference content. For example, a user animates a geometric figure on a client, and the geometric figure is a display object. For another example, a user enters a text on the client, and the text is the display object. As another example, a user enters a formula on a client, and the formula is a display object.
It is understood that each display object is composed of a plurality of pixels in the conference interface, and the pixel information may include: pixel location, pixel color, etc.
The synchronization client may determine the geometric information of the display object according to the pixel information. The geometric information is used for representing the display object, so that the data volume required for representing the display object can be effectively reduced, the size of the data file is reduced, and the time length required for transmitting the data file between the server and the request client side and between the server and the synchronous client side is further shortened.
It will be appreciated that when the shape of the display object is regular, with a single color, the amount of data required to represent the display object is small. As the shape of the display object becomes more complex and the color becomes more diversified, the amount of data required for displaying the display object becomes larger. For example, when the display object is a regular circle, the display object may be directly represented by the center position and the radius, avoiding representing the circle by the pixel information of each boundary of the circle.
Optionally, when the request client accesses a plurality of conferences, the whiteboard synchronization request sent by the request client carries a conference identifier, and is used to obtain historical conference content corresponding to the conference identifier. Therefore, the whiteboard synchronization request sent by the server to the synchronization client also carries the conference identifier, and the synchronization client can send whiteboard data included in the interface corresponding to the conference identifier in the synchronization client to the server. Therefore, the synchronous historical conference content errors when the client is requested to access a plurality of conferences are avoided.
For example, the requesting client has accessed a conference CF1, after which the requesting client again requests access to CF 2. At this point, only the historical conference content of the conference CF2 need be synchronized, and there is no need to resynchronize the historical conference content of the conference CF1, since the historical conference content of the CF1 is already synchronized when the requesting client accesses the CF1, and does not need to be repeated. Thus, the historical conference content of the CF1 is prevented from being synchronized to the CF1 when the CF2 is accessed, and the synchronization accuracy of the historical conference content is improved.
In order to further reduce the transmission delay of the data file, the synchronization client may add the geometric information of each display object to the data file; and compressing the data file and then sending the compressed data file to a server.
The compression of the data file may use existing file compression algorithms, including but not limited to: digital compression algorithm, UTF-8 variable length compression algorithm. The embodiments of the present application do not limit them.
S204: and the server sends the whiteboard data to the request client.
Accordingly, the request client receives the whiteboard data sent by the server for the data synchronization request.
Specifically, the server sends a data file including whiteboard data to the requesting client, and the server does not process the data file and transmits the data file to the requesting client.
S205: the request client displays whiteboard data in the request client, wherein the whiteboard data is used for representing historical conference content which is not deleted in the conference, and the historical conference content comprises content which is input by a user in the history of the client accessing the conference.
In particular, the whiteboard data may be displayed in a conference interface of the requesting client.
In the embodiment of the present application, since the whiteboard data is transmitted in the form of a data file, the data file includes geometric information of at least one display object in the electronic whiteboard. Thus, after receiving the data file, the requesting client first parses the geometric information of at least one display object from the data file, where the geometric information of the display object includes at least one of the following: displaying the boundary, shape, size, color of the object; then, converting the geometric information of the display object into pixel information of the display object; and finally, displaying the display object in the request client according to the pixel information of the display object.
It is understood that the process of requesting the client to extract the pixel information of the display object from the data file is a reciprocal process to the process of synchronizing the client to generate the data file according to the pixel information of the display object.
It should be noted that, if the synchronization client compresses the data file, the request client needs to decompress the data file before displaying the whiteboard data. The compression algorithm employed by the synchronization client corresponds to the decompression algorithm employed by the requesting client.
After the requesting client accesses the conference and displays the historical conference content, the requesting client may interact with the remaining clients in the conference. Any client in the conference can input conference content into the conference, and the rest clients can receive and display the conference content forwarded by the server.
It can be understood that as the number of clients accessing the conference increases, the conference content that the server needs to forward increases, resulting in inefficient forwarding of the conference content. In order to improve the forwarding efficiency of the server, the input of conference contents can be limited to be performed on only one client at a time. Thus, at one moment, the server receives a piece of conference content and forwards the conference content to the remaining clients. Compared with the method for inputting the conference contents on a plurality of clients at the same time, the method can effectively reduce the number of the conference contents to be forwarded by the server and improve the forwarding efficiency of the server.
However, the above scheme limits only one client to input conference content at a time, so that the electronic whiteboard is not suitable for a scene requiring multi-terminal input.
In the embodiment of the application, a plurality of clients can be allowed to input conference contents simultaneously. In order to improve the forwarding efficiency of the conference content, in the embodiment of the present application, an MQTT (message queue Telemetry Transport) protocol queue is adopted. The MQTT protocol queue is implemented based on a TCP (transfer control protocol)/IP (internet protocol), an implementation of asynchronous publishing/subscription, a message quality mechanism, and a connection keep-alive heartbeat mechanism, and can ensure the forwarding efficiency of the conference content.
The MQTT protocol queue may be used as a message queue for storing messages. The method comprises the steps that a message is sent by any client in the conference, and the message is generated by the client after receiving an input operation of a user.
When the input operation is to write conference content, the client may generate a message that the operation type is a write type.
When the input operation is to delete conference content, the client may generate a message whose operation type is a deletion type.
The operation type may be written in header information of the message, and the header information may further include, but is not limited to: the client identification of the sent message and the time of the user for input operation.
In addition to the above header information, the message also exists as a message body. After a user performs input operation on a client, the client generates a message corresponding to each pixel according to pixel information of each pixel formed on the client by the input operation of the user, wherein the message body of the message comprises the position, the color and the like of the pixel. Therefore, after other clients receive the message, the pixel point is displayed according to the position and the color of the pixel point in the message body.
After the user writes the conference content and deletes the conference content, the client generates the message with the format and sends the message to the server. In the embodiment of the present application, at least two clients can write simultaneously, so that each client generates at least one message. As such, the server receives at least two messages.
After receiving the at least two messages, the server needs to forward the messages to the rest clients through the message queue. Specifically, firstly, the server receives at least two messages from a conference, wherein the at least two messages are generated by different clients according to at least two input operations which are performed simultaneously; then, the server sends at least two messages to the target client in the conference through a message queue, wherein the message queue is realized based on the MQTT protocol, and for each message, the target client is the rest of the clients except the client sending the message.
The server adds each message to the end of the message queue after receiving the message. And the messages in the message queue are sent one by the server according to the sequence.
Fig. 3 is a schematic diagram illustrating a message interaction between a client and a server according to an embodiment of the present application. Referring to fig. 3, there are four clients accessing a conference: CT1, CT2, CT3 and CT 4.
At time t1, the CT1 sends a message M11 to the server.
At time t2, the CT2 sends a message M21 to the server.
At time t3, the CT2 sends a message M22 to the server.
At time t4, the CT1 sends a message M12 to the server.
At time t5, the CT4 sends a message M41 to the server.
At time t6, the CT3 sends a message M31 to the server.
At time t7, the CT3 sends a message M32 to the server.
At time t8, the CT1 sends a message M13 to the server.
According to the sequence, the message queue in the server comprises the following messages according to the time sequence: m11, M21, M22, M12, M41, M31, M32 and M13.
The server may send out each message in the order described above. Specifically, firstly, the server extracts a client identifier and a conference identifier for sending a message from header information of the message; then, acquiring a client accessed to the conference according to the conference identifier; and finally, according to the client identifier for sending the message, sending the message to the other clients accessed to the conference. For example, when the server sends the message M11, the server acquires the client identifier and the conference identifier of the CT1 sending the message M11 from the header information of the message M11; then, the client CT1, CT2, CT3 and CT4 which have accessed the conference are obtained according to the conference identification; finally, the target clients are determined to be CT2, CT3 and CT4 according to the client identification of CT1, so that the message M11 is sent to CT2, CT3 and CT 4.
Similarly, according to the above process, the server sends out each message in the message queue. Of course, the server typically sends out the message at the head of the message queue while adding the received message to the end of the message queue.
The message queue is a first-in-first-out data structure, where first-in messages are sent out first. For example, the messages in the message queue in fig. 3 are sent out one by one in the following order: m11, M21, M22, M12, M41, M31, M32 and M13.
After each message is sent out, the message is removed from the message queue. After one of the messages fails to be sent, the message may be attempted to be sent multiple times until the transmission is successful or times out. Upon a transmission failure or timeout, the message is deleted from the message queue.
In the interaction process, the data synchronization method embodiment of the electronic whiteboard, which is respectively executed by the server, the request client and the synchronization client, is given on the basis of the interaction process of the server, the request client and the synchronization client. Fig. 4 exemplarily shows a flowchart of steps of a data synchronization method for an electronic whiteboard provided in an embodiment of the present application, and is applied to a server, that is, the following steps in the embodiment corresponding to fig. 4 are all performed by the server. Referring to fig. 4, the method may include S301 to 303.
S301: and receiving a whiteboard synchronization request of the request client aiming at a conference, wherein the whiteboard synchronization request is sent by the request client after accessing the conference.
S302: and responding to the whiteboard synchronization request, acquiring whiteboard data of the conference from a synchronization client accessed to the conference, wherein the whiteboard data is used for representing historical conference content which is not deleted in the conference, the historical conference content comprises content which is input by a user in the history of the client accessed to the conference, and the synchronization client is a client except for the request client in the conference.
Wherein, S302 specifically includes the above-mentioned two substeps of S202 and S203.
S303: and sending the whiteboard data to the request client.
In a possible embodiment, the method further comprises the following steps:
and determining a synchronous client from all clients accessed to the conference according to preset information.
When the preset information is information of a synchronization client specified on the requesting client, the synchronization client is the synchronization client specified on the requesting client.
And when the preset information is the time length of each client in the conference for accessing the conference, the synchronous client is the client with the longest time length.
And when the preset information is the network speed of each client in the conference, the synchronous client is the client with the maximum network speed.
In a possible implementation manner, before determining the synchronization client from the clients that have accessed the conference according to the preset information, the method further includes:
acquiring candidate information with the highest priority from the at least two candidate information as preset information, wherein the at least two candidate information comprise at least two of the following information: the information of the synchronous client terminal appointed on the request client terminal, the time length of each client terminal in the conference accessing the conference, and the network speed of each client terminal in the conference.
In a possible embodiment, the priority of the candidate information is arranged from high to low in the following order: the priority of the information of the synchronous client terminal designated on the request client terminal, the time length of the client terminal accessing the conference in the conference and the network speed of the client terminal in the conference.
In a possible embodiment, the method further comprises the following steps:
at least two messages from the conference are received, the at least two messages being generated by different clients according to at least two input operations performed simultaneously.
And sending at least two messages to a target client in the conference through a message queue, wherein the message queue is realized based on a message queue telemetry transmission protocol, and for each message, the target client is the rest of the clients except the client sending the message.
It should be noted that the implementation principle of each step in the data synchronization method for an electronic whiteboard is consistent with the implementation principle of each function corresponding to the server described in the foregoing embodiment of the apparatus, and specific reference may be made to the content described in correspondence to the server, which is not described herein again.
Fig. 5 exemplarily shows a flowchart of steps of another data synchronization method for an electronic whiteboard provided in the embodiment of the present application, and is applied to a requesting client, that is, the following steps in the embodiment corresponding to fig. 5 are all performed by the requesting client. Referring to fig. 5, the method may include S401 to S403.
S401: after accessing a conference, a whiteboard synchronization request for the conference is sent to the server.
S402: and receiving whiteboard data sent by the server aiming at the data synchronization request, wherein the whiteboard data is used for representing historical conference content which is not deleted in the conference, and the historical conference content comprises content which is input by a user in the history of a client accessing the conference.
S403: the whiteboard data is displayed in the requesting client.
In a possible embodiment, the whiteboard data is sent in the form of a data file, the data file includes geometric information of at least one display object in the electronic whiteboard, and the whiteboard data is displayed in the requesting client, including the following steps:
analyzing the geometric information of at least one display object from the data file, wherein the geometric information of the display object comprises at least one of the following: the boundary, shape, size, color of the object is displayed.
The geometric information of the display object is converted into pixel information of the display object.
And displaying the display object in the request client according to the pixel information of the display object.
In a possible embodiment, the method further includes: the data file is decompressed before the whiteboard data is displayed in the requesting client.
It should be noted that the implementation principle of each step in the data synchronization method for an electronic whiteboard is consistent with the implementation principle of each function corresponding to the request client described in the foregoing device embodiment, and specific reference may be made to the content described corresponding to the request client, which is not described herein again.
Fig. 6 exemplarily shows a flowchart of steps of another data synchronization method for an electronic whiteboard provided in the embodiment of the present application, and the steps are applied to a synchronization client, that is, the following steps in the embodiment corresponding to fig. 6 are all performed by the synchronization client. Referring to fig. 6, the method may include the following S501 and S502.
S501: and receiving a whiteboard synchronization request sent by the server.
S502: and responding to the whiteboard synchronization request, and sending whiteboard data displayed in the synchronization client to the server, wherein the whiteboard data is used for representing historical conference content which is not deleted in the conference, and the historical conference content comprises content which is input by a user in the history of the client accessing the conference.
In a possible implementation manner, the sending whiteboard data displayed in the synchronization client to the server includes the following steps:
and acquiring the pixel information of each display object from the synchronous client.
Converting the pixel information of each display object into the geometric information of the display object, wherein the geometric information of the display object comprises at least one of the following: the boundary, shape, size, color of the object is displayed.
And adding the geometric information of each display object into the data file and sending the data file to the server.
In a feasible implementation manner, the sending whiteboard data displayed in the synchronization client to the server, where the whiteboard synchronization request carries a conference identifier, includes:
and sending the whiteboard data included in the interface corresponding to the conference identifier in the synchronization client to the server.
In a possible implementation manner, the adding the geometric information of each display object to the data file and sending the geometric information to the server includes the following steps:
the geometric information of each display object is added to the data file.
And compressing the data file and then sending the compressed data file to a server.
It should be noted that the implementation principle of each step in the data synchronization method for an electronic whiteboard is consistent with the implementation principle of each function corresponding to the synchronization client described in the foregoing device embodiment, and specific reference may be made to the content described corresponding to the synchronization client, which is not described herein again.
Finally, an embodiment of the present application further provides a data synchronization system for an electronic whiteboard, including the server, the request client, and the synchronization client.
Finally, it should be noted that: the above embodiments are only used for illustrating the technical solutions of the present application, and not for limiting the same; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some or all of the technical features may be equivalently replaced; and the modifications or the substitutions do not make the essence of the corresponding technical solutions depart from the scope of the technical solutions of the embodiments of the present application.
The foregoing description, for purposes of explanation, has been presented in conjunction with specific embodiments. However, the illustrative discussions above are not intended to be exhaustive or to limit the embodiments to the precise forms disclosed above. Many modifications and variations are possible in light of the above teaching. The embodiments were chosen and described in order to best explain the principles and the practical application, to thereby enable others skilled in the art to best utilize the embodiments and various embodiments with various modifications as are suited to the particular use contemplated.

Claims (13)

1. A server, wherein the server is configured to:
receiving a whiteboard synchronization request of a request client for a conference, wherein the whiteboard synchronization request is sent by the request client after accessing the conference;
responding to the whiteboard synchronization request, acquiring whiteboard data of the conference from a synchronization client which has accessed to the conference, wherein the whiteboard data is used for representing historical conference content which is not deleted in the conference, the historical conference content comprises content which is input by a user in history in the client which has accessed to the conference, and the synchronization client is a client in the conference except for the request client;
and sending the whiteboard data to the request client.
2. The server of claim 1, wherein the server is further configured to:
determining synchronous clients from all clients accessed to the conference according to preset information;
when the preset information is the information of the synchronization client specified on the request client, the synchronization client is the synchronization client specified on the request client;
when the preset information is the time length of each client in the conference when accessing the conference, the synchronous client is the client with the longest time length;
and when the preset information is the network speed of each client in the conference, the synchronous client is the client with the maximum network speed.
3. The server of claim 2, wherein the server is further configured to:
before a synchronous client is determined from all clients accessed to the conference according to preset information, acquiring candidate information with the highest priority from at least two candidate information as the preset information, wherein the at least two candidate information comprise at least two of the following information: the information of the specified synchronous client on the request client, the time length of accessing each client in the conference to the conference and the network speed of each client in the conference.
4. The server according to claim 3, wherein the priority of the candidate information is arranged from high to low in the following order: the priority of the information of the synchronous client terminal appointed on the request client terminal, the time length of the client terminal accessing the conference in the conference and the network speed of the client terminal in the conference.
5. The server according to any one of claims 1 to 4, wherein the server is further configured to:
receiving at least two messages from the conference, wherein the at least two messages are generated by different clients according to at least two input operations which are performed simultaneously;
and sending the at least two messages to a target client in the conference through a message queue, wherein the message queue is realized based on a message queue telemetry transmission protocol, and for each message, the target client is the rest of the clients except the client sending the message.
6. A requesting client, wherein the requesting client is configured to:
after accessing a conference, sending a whiteboard synchronization request aiming at the conference to a server;
receiving whiteboard data sent by the server for the data synchronization request, wherein the whiteboard data is used for representing historical conference content which is not deleted in the conference, and the historical conference content comprises content which is input by a user in a history manner in a client side accessing the conference;
displaying the whiteboard data in the requesting client.
7. The requesting client according to claim 6, wherein the whiteboard data is sent in the form of a data file including geometrical information of at least one display object in an electronic whiteboard, and wherein displaying the whiteboard data in the requesting client comprises:
analyzing the data file to obtain geometric information of at least one display object, wherein the geometric information of the display object comprises at least one of the following: a boundary, shape, size, color of the display object;
converting the geometric information of the display object into pixel information of the display object;
and displaying the display object in the request client according to the pixel information of the display object.
8. A synchronization client, wherein the synchronization client has access to a conference, and wherein the synchronization client is configured to:
receiving a whiteboard synchronization request sent by a server;
and responding to the whiteboard synchronization request, and sending whiteboard data displayed in the synchronization client to the server, wherein the whiteboard data is used for representing historical conference content which is not deleted in the conference, and the historical conference content comprises content which is input by a user in the history of the client accessing the conference.
9. The sync client of claim 8, wherein sending the whiteboard data displayed in the sync client to the server comprises:
acquiring pixel information of each display object from the synchronous client;
converting the pixel information of each display object into the geometric information of the display object, wherein the geometric information of the display object comprises at least one of the following: a boundary, shape, size, color of the display object;
and adding the geometric information of each display object into a data file and sending the data file to the server.
10. The synchronization client according to claim 8, wherein the whiteboard synchronization request carries a meeting identifier, and the sending whiteboard data displayed in the synchronization client to the server comprises:
and sending the whiteboard data included in the interface corresponding to the conference identifier in the synchronization client to the server.
11. A data synchronization method of an electronic whiteboard is applied to a server, and comprises the following steps:
receiving a whiteboard synchronization request of a request client for a conference, wherein the whiteboard synchronization request is sent by the request client after accessing the conference;
responding to the whiteboard synchronization request, acquiring whiteboard data of the conference from a synchronization client which has accessed to the conference, wherein the whiteboard data is used for representing historical conference content which is not deleted in the conference, the historical conference content comprises content which is input by a user in history in the client which has accessed to the conference, and the synchronization client is a client in the conference except for the request client;
and sending the whiteboard data to the request client.
12. A data synchronization method of an electronic whiteboard is applied to a request client, and comprises the following steps:
after accessing a conference, sending a whiteboard synchronization request aiming at the conference to a server;
receiving whiteboard data sent by the server for the data synchronization request, wherein the whiteboard data is used for representing historical conference content which is not deleted in the conference, and the historical conference content comprises content which is input by a user in a history manner in a client side accessing the conference;
displaying the whiteboard data in the requesting client.
13. A data synchronization method of an electronic whiteboard is applied to a synchronization client, and comprises the following steps:
receiving a whiteboard synchronization request sent by a server;
and responding to the whiteboard synchronization request, and sending whiteboard data displayed in the synchronization client to the server, wherein the whiteboard data is used for representing historical conference content which is not deleted in the conference, and the historical conference content comprises content which is input by a user in the history of the client accessing the conference.
CN202110732669.XA 2021-06-29 2021-06-29 Data synchronization method and device of electronic whiteboard Pending CN113489768A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110732669.XA CN113489768A (en) 2021-06-29 2021-06-29 Data synchronization method and device of electronic whiteboard

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110732669.XA CN113489768A (en) 2021-06-29 2021-06-29 Data synchronization method and device of electronic whiteboard

Publications (1)

Publication Number Publication Date
CN113489768A true CN113489768A (en) 2021-10-08

Family

ID=77936833

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110732669.XA Pending CN113489768A (en) 2021-06-29 2021-06-29 Data synchronization method and device of electronic whiteboard

Country Status (1)

Country Link
CN (1) CN113489768A (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102413128A (en) * 2011-11-10 2012-04-11 青岛海信移动通信技术股份有限公司 Method for sharing electronic whiteboard and network conference system
CN107517191A (en) * 2016-06-17 2017-12-26 上海理优教育科技有限公司 A kind of more people based on mobile intelligent terminal in real time can interactive whiteboard system
CN108156239A (en) * 2017-12-25 2018-06-12 青岛海信电器股份有限公司 The method and device that a kind of collaborative synchronizing white is shown
CN109194642A (en) * 2018-08-28 2019-01-11 深圳市创维群欣安防科技股份有限公司 Blank remote synchronization processing method, system and storage medium
CN110392063A (en) * 2019-08-27 2019-10-29 深圳市威屏科技有限公司 Electronic whiteboard method of data synchronization, device, equipment and medium
CN112579027A (en) * 2020-12-01 2021-03-30 深圳市中博科创信息技术有限公司 Interactive whiteboard is used in teaching

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102413128A (en) * 2011-11-10 2012-04-11 青岛海信移动通信技术股份有限公司 Method for sharing electronic whiteboard and network conference system
CN107517191A (en) * 2016-06-17 2017-12-26 上海理优教育科技有限公司 A kind of more people based on mobile intelligent terminal in real time can interactive whiteboard system
CN108156239A (en) * 2017-12-25 2018-06-12 青岛海信电器股份有限公司 The method and device that a kind of collaborative synchronizing white is shown
CN109194642A (en) * 2018-08-28 2019-01-11 深圳市创维群欣安防科技股份有限公司 Blank remote synchronization processing method, system and storage medium
CN110392063A (en) * 2019-08-27 2019-10-29 深圳市威屏科技有限公司 Electronic whiteboard method of data synchronization, device, equipment and medium
CN112579027A (en) * 2020-12-01 2021-03-30 深圳市中博科创信息技术有限公司 Interactive whiteboard is used in teaching

Similar Documents

Publication Publication Date Title
US9288438B2 (en) Communication control system and control device
US6760749B1 (en) Interactive conference content distribution device and methods of use thereof
CN102883135B (en) Screen sharing and control method
CN1705928B (en) System and method for realtime messaging having image sharing feature
US20120079522A1 (en) Method And Apparatus For Transmitting Video Signals
CN109194642A (en) Blank remote synchronization processing method, system and storage medium
CN101640784A (en) Device and method for controlling multi-image compounding in video conference system
US8848015B2 (en) Method and device for processing text data
CN113923470A (en) Live stream processing method and device
CN112055252A (en) Multi-screen interaction method and device, computer readable medium and electronic equipment
CN114629897A (en) Data processing method and system
CN113489768A (en) Data synchronization method and device of electronic whiteboard
CN110661880A (en) Remote assistance method, system and storage medium
CN110662101A (en) Network video multi-path display method and device based on UDP
CN111404977A (en) Document remote demonstration and viewing method and terminal equipment
JPH07327219A (en) Electronic conference system, conference server, and participant computer
US20080181303A1 (en) System and method for video compression
CN103685362B (en) Information sharing processing device and information sharing processing method
CN101616186B (en) Method, device and system for realizing remote assistance based on IP multimedia subsystem
KR20120038145A (en) Presentation management server and control method thereof
CN106210594B (en) Synchronous display method and system
WO2012043290A1 (en) Video call system, main-side terminal, and subordinate-side terminals
CN112738565B (en) Interactive bandwidth optimization method, device, computer equipment and storage medium
CN116347145B (en) Multi-device screen sharing method, screen throwing device, display device and sharing system
CN111813312B (en) Data transmission method, device, system, terminal equipment and readable storage medium

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