CN115914180A - Method, device and storage medium for sharing data - Google Patents

Method, device and storage medium for sharing data Download PDF

Info

Publication number
CN115914180A
CN115914180A CN202111165110.XA CN202111165110A CN115914180A CN 115914180 A CN115914180 A CN 115914180A CN 202111165110 A CN202111165110 A CN 202111165110A CN 115914180 A CN115914180 A CN 115914180A
Authority
CN
China
Prior art keywords
conference
conference terminal
data
server
terminal
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
CN202111165110.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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202111165110.XA priority Critical patent/CN115914180A/en
Publication of CN115914180A publication Critical patent/CN115914180A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The application discloses a method, a device and a storage medium for sharing data, belonging to the field of communication. The method comprises the following steps: after the first data channel is disconnected, the second server establishes a second data channel between the second server and the plurality of conference terminals, and determines a first conference terminal in the plurality of conference terminals, wherein the first conference terminal stores a first cooperation data set, the first cooperation data set comprises at least one piece of cooperation data shared among the plurality of conference terminals at a first time point, and the first time point is the time point when the first data channel is disconnected. A first set of collaboration data is obtained via a second data channel. A second set of collaboration data is received, the second set of collaboration data including collaboration data generated by conference terminals participating in the conference between the first point in time and the current point in time. And the second server sends the first collaboration data set and the second collaboration data set to the second conference terminal when the second conference terminal joins the conference. The method and the device can reduce the occupation of storage resources and reduce the cost of the conference.

Description

Method, device and storage medium for sharing data
Technical Field
The present application relates to the field of communications, and in particular, to a method, an apparatus, and a storage medium for sharing data.
Background
A conventional remote collaborative conference may involve a plurality of conference terminals, a first server, and a plurality of second servers, each for backing up the first server. Any conference terminal participating in the conference may initiate a collaboration operation to generate collaboration data, send the collaboration data to the first server, the first server caches the collaboration data, and forward the collaboration data to other conference terminals participating in the conference. And each second server also caches the collaboration data sent by each conference terminal participating in the conference so as to back up the first server.
When the first server fails, each conference terminal participating in the conference establishes a connection with a second server, and the second server is used for forwarding the collaboration data sent by each conference terminal participating in the conference. The second server caches collaboration data sent by each conference terminal participating in the conference before the first server fails, so that when a new conference terminal joins the conference, or when a certain conference terminal participating in the conference fails and rejoins the conference after recovery, the second server sends the cached collaboration data to the conference terminal, and therefore collaboration data in the conference terminal and other conference terminals participating in the conference are kept consistent.
Each of the first server and the plurality of second servers caches the collaboration data sent by each conference terminal participating in the conference, so that a large amount of storage resources are required, and the cost of the conference is increased.
Disclosure of Invention
The application provides a method, a device and a storage medium for sharing data, which can reduce the occupation of storage resources and the cost of a conference. The technical scheme is as follows:
in a first aspect, the present application provides a method for sharing data, where the method is applied to a conference established between a first server and a plurality of conference terminals, a first data channel is established between the first server and the plurality of conference terminals, the first data channel includes a data channel between the first server and each conference terminal, and the first data channel is used to transmit collaboration data shared among the plurality of conference terminals. After the first data channel is disconnected, the second server establishes a second data channel between the second server and the plurality of conference terminals, and determines a first conference terminal in the plurality of conference terminals, wherein the first conference terminal stores a first cooperation data set, the first cooperation data set comprises at least one piece of cooperation data shared among the plurality of conference terminals at a first time point, the first time point is a time point when the first data channel is disconnected, and the second data channel comprises a data channel between the second server and each conference terminal. The second server acquires the first cooperation data set through a second data channel; the second server receives a second set of collaboration data, the second set of collaboration data including collaboration data generated by conference terminals participating in the conference between the first point in time and the current point in time. And when the second conference terminal joins the conference, the second server sends the first collaboration data set and the second collaboration data set to the second conference terminal, wherein the second conference terminal is a conference terminal with a fault in the conference or a conference terminal outside the conference.
The first server determines a first conference terminal from the plurality of conference terminals after establishing a second data channel, and the first conference terminal comprises a first cooperation data set which comprises cooperation data shared by the plurality of conference terminals participating in the conference at a first time point, so that the first cooperation data set is obtained from the first conference terminal, and when a conference terminal joins the conference, the second server sends the first cooperation data set and the second cooperation data set to the joined conference terminal, so that the cooperation data in the joined conference terminal is consistent with the cooperation data in each conference terminal participating in the conference.
In one possible implementation, the second server sends the first set of collaboration data to other conference terminals participating in the conference, except the first conference terminal. The other conference terminals receive the first cooperation data set, determine the cooperation data deleted by the first conference terminal or the modified cooperation data after the first time point based on the received first cooperation data set and the locally stored first cooperation data set, and update the locally stored first cooperation data set based on the deleted cooperation data or the modified cooperation data, so that the cooperation data in each conference terminal participating in the conference are kept consistent.
In another possible implementation manner, the second server sends the second collaboration data set to the conference terminal participating in the conference, so that the conference terminal receives and displays the collaboration data in the second collaboration data set. The second collaboration data is the collaboration data generated by the conference terminals participating in the conference after the first time point, so that the collaboration data generated after the first time point and before the second data channel is established are ensured to be shared to the conference terminals participating in the conference.
In another possible implementation manner, the second server receives, through the second data channel, a deletion request message sent by a conference terminal participating in the conference, where the deletion request message includes a data identifier of collaboration data deleted by the conference terminal after the first time point, and the collaboration data is data in the first collaboration data set. And the second server sends the deletion request message to other conference terminals participating in the conference except the conference terminal, wherein the deletion request message is used for triggering other conference terminals to delete the collaboration data corresponding to the data identifier. That is, after the first time point and before the second data channel is established, the conference terminal records the data identifier of the deleted collaboration data, and after the second data channel is established, the conference terminal notifies other conference terminals participating in the conference through the second server to delete the collaboration data corresponding to the data identifier, so that the collaboration data displayed by each conference terminal participating in the conference is kept synchronous.
In another possible implementation manner, the second server receives, through the second data channel, a modification request message sent by a conference terminal participating in the conference, where the modification request message includes first collaboration data, and the first collaboration data is data obtained by modifying, by the conference terminal, collaboration data in the first collaboration data set after the first time point. And the second server sends the modification request message to other conference terminals participating in the conference except the conference terminal, wherein the modification request message is used for triggering the other conference terminals to update the stored collaboration data corresponding to the first data identifier into first collaboration data, and the first data identifier is the data identifier of the first collaboration data. That is, after the first time point and before the second data channel is established, the conference terminal records the modified collaboration data, and after the second data channel is established, the conference terminal sends the modified collaboration data to other conference terminals participating in the conference through the second server, so that each conference terminal participating in the conference updates the collaboration data into the modified collaboration data, and the collaboration data displayed by each conference terminal participating in the conference is kept synchronous.
In another possible implementation manner, the first conference terminal is a designated conference terminal of the conference, and since the designated conference terminal is configured to acquire collaboration data generated by the conference terminals participating in the conference and distribute the generated collaboration data to each conference terminal participating in the conference, the designated conference terminal includes the first collaboration data set, and it is ensured that the second server can successfully acquire the first collaboration data set from the designated conference terminal.
In another possible implementation manner, the second server receives token information sent by the conference terminal, where the token information is used to indicate that the conference terminal is a designated conference terminal of the conference. The second server determines the conference terminal as the first conference terminal based on the token information. Therefore, the second server can successfully acquire the first cooperation data set from the appointed conference terminal.
In another possible implementation manner, when the first conference terminal is abnormal, the second server sets a third conference terminal as a designated conference terminal of the conference, where the third conference terminal is another conference terminal participating in the conference except the first conference terminal. The appointed conference terminal is used for distributing the collaboration data generated by any conference terminal participating in the conference to other conference terminals participating in the conference, and the first conference terminal is the appointed conference terminal, so that the appointed conference terminal of the conference is reset when the first conference terminal is abnormal, and the conference can be continuously and normally held.
In another possible implementation manner, the second server receives a request message sent by a fourth conference terminal, where the request message includes collaboration data generated by the fourth conference terminal, and the fourth conference terminal is a conference terminal participating in the conference except the first conference terminal. The second server sends the request message to the first conference terminal. And the second server receives a distribution request message sent by the first conference terminal, wherein the distribution request message comprises the generated collaboration data. The second server transmits the generated collaboration data to the other conference terminals participating in the conference, except the first conference terminal and the fourth conference terminal, based on the distribution request message. The first conference terminal is an appointed conference terminal of the conference, the second server forwards the request message to the first conference terminal, and the generated collaboration data are sent to other conference terminals only under the triggering of the distribution request message of the first conference terminal, so that the first conference terminal is ensured to distribute the generated collaboration data to other conference terminals, and the first collaboration data set of the first conference terminal comprises the collaboration data shared in the conference.
In another possible implementation, the first server and the second server are the same server, or the first server and the second server are different servers.
In a second aspect, the present application provides an apparatus for sharing data, configured to perform the method in the first aspect or any one of the possible implementation manners of the first aspect. In particular, the apparatus comprises means for performing the first aspect or the method in any one of the possible implementations of the first aspect.
In a third aspect, an apparatus for sharing data is provided that includes a processor and a memory. Wherein, the processor and the memory can be connected through an internal connection. The memory is configured to store a program, and the processor is configured to execute the program in the memory, so that the apparatus performs the method in the first aspect or any possible implementation manner of the first aspect.
In a fourth aspect, the present application provides a computer program product, which comprises a computer program stored in a computer-readable storage medium, and which, when loaded by a processor, implements the method of the first aspect or any possible implementation manner of the first aspect.
In a fifth aspect, the present application provides a computer-readable storage medium for storing a computer program, which is loaded by a processor to perform the method of the first aspect or any possible implementation manner of the first aspect.
Drawings
Fig. 1 is a schematic structural diagram of a conference system according to an embodiment of the present application;
fig. 2 is a schematic structural diagram of a conference provided in an embodiment of the present application;
fig. 3 is a flowchart of a method for creating a conference according to an embodiment of the present application;
FIG. 4 is a flowchart of a method for sharing data according to an embodiment of the present disclosure;
FIG. 5 is a flow chart of another method for sharing data according to an embodiment of the present disclosure;
fig. 6 is a schematic structural diagram of an apparatus for sharing data according to an embodiment of the present application;
fig. 7 is a schematic structural diagram of another apparatus for sharing data according to an embodiment of the present application.
Detailed Description
Embodiments of the present application will be described in further detail below with reference to the accompanying drawings.
Referring to fig. 1, an embodiment of the present application provides a conference system 100, where the conference system 100 includes:
the conference management device 101, the server 102 and the conference terminal 103, and the conference management device 101, the server 102 and the conference terminal 103 all access the communication network. The server 102 can communicate with the conference management apparatus 101, and the conference terminal 103 can communicate with the conference management apparatus 101.
In some embodiments, the conference terminal 103 establishes a network connection with the conference management device 101 in the communication network to enable the conference terminal 103 to communicate with the conference management device 101. The server 102 may also establish a network connection with the conference management device 101 in the communication network to enable the server 102 to communicate with the conference management device 101. Of course, there are other ways to realize the communication between the conference terminal 103 and the conference management apparatus 101, and other ways to realize the communication between the server 102 and the conference management apparatus 101, which are not listed here.
Referring to fig. 1, the number of the conference terminals 103 included in the conference system 100 is greater than 1, that is, the conference system 100 includes two or more conference terminals 103.
In some embodiments, the conference terminal 103 is a terminal device operating a conference client, so that the conference terminal 103 has a function of holding a conference, and the terminal device includes a computer, a mobile phone, and/or a tablet computer, or the terminal device is another terminal for holding a conference.
Referring to fig. 1, the conference system 100 includes one or more servers 102, that is, the conference system 100 includes one or more servers 102. The server 102 may be a physical server or a virtual server, for example, the server 102 is a multi-control unit (MCU) or the like, or the server 102 is a virtual machine or a container or the like running on the physical server.
In some embodiments, the server 102 has a storage function, and is capable of storing data.
The conferencing system 100 is used to hold a conference. In the conference, one server 102 and a plurality of conference terminals 103 in the conference system 100 are used.
For any conference terminal 103 in the conference system 100, when the conference terminal 103 needs to have a conference with at least one other conference terminal 103, the conference terminal 103 sends a conference request to the conference management device 101, where the conference request includes an identifier of a plurality of conference terminals 103, and the plurality of conference terminals 103 includes the conference terminal 103 that sent the conference request and the at least one other conference terminal 103.
The conference management apparatus 101 receives the conference request, selects a server 102 from the conference system 100, and creates a conference for the plurality of conference terminals 103 using the server 102. So that the plurality of conference terminals 103 hold the conference through the server 102.
Referring to the conference 200 shown in fig. 2, the conference 200 uses a plurality of conference terminals 103 and a server 102. In the conference 200, each of the plurality of conference terminals 103 establishes a network connection with the server 102, and the plurality of conference terminals 103 share data with each other through the server 102.
The data includes collaboration data and shared background content, and the collaboration data is data generated when the conference terminal operates the shared background content.
The shared background content is a content that a certain conference terminal participating in the conference requests to share the current display of the conference terminal, the shared background content includes a material currently displayed on the conference terminal and/or a white board and other contents currently opened on the conference terminal, the material may be a document or a picture and the like, and the white board is an interface for writing the content. Wherein, after the conference 200 is created, the conference terminal requests the server 102 to share the sharing background content displayed thereon. The server 102 sends the shared background content to each of the other conference endpoints in the conference 200. Each of the other conference terminals receives the shared background content and displays the shared background content, such that the shared background content is synchronously displayed at each of the conference terminals in the conference 200.
After each conference terminal in the conference 200 displays the shared background content, the conference terminal generates collaboration data when performing a collaboration operation on the shared background content. The collaboration operation includes a marking operation performed on the shared background content and/or a writing operation performed on the shared background content, and the like, when the marking operation is performed on the shared background content, the generated collaboration data includes marking content generated by marking, and when the writing operation is performed on the shared background content, the generated collaboration data includes writing content generated by writing, and the marking content and/or the writing content may be characters, lines, graphs, or the like.
In some embodiments, the identifier of the conference terminal 103 includes a conference account registered on the conference management device 101 by a user corresponding to the conference terminal 103, an address of the conference terminal 102, or the like. The identification of the server 102 includes an address of the server 102, and the like.
The detailed implementation process of creating the conference 200 will be described in detail in the embodiment shown in fig. 3. And, the detailed implementation process of the above shared data will be described in detail in the following embodiments shown in fig. 4 or fig. 5.
Referring to fig. 3, an embodiment of the present application provides a method 300 for creating a conference, where the method 300 may be applied to the conference system 100 shown in fig. 1, and includes:
step 301: the conference terminal sends a conference request to the conference management device, wherein the conference request comprises the identifiers of a plurality of conference terminals, and the plurality of conference terminals comprise the conference terminal and at least one other conference terminal which needs to have a conference with the conference terminal.
Before sending the conference request, the conference terminal acquires the identification of the at least one conference terminal.
In some embodiments, when a conference needs to be held, a user corresponding to the conference terminal inputs an identifier of the at least one conference terminal to the conference terminal, and the conference terminal acquires the identifier of the conference terminal and the identifier of the at least one conference terminal input by the user and sends a conference request including the identifier of the conference terminal and the identifier of the at least one conference terminal to the conference management device.
Step 302: the conference management equipment receives the conference request, and acquires first conference information and second conference information based on the conference request, wherein the first conference information comprises a conference number and the identifications of the plurality of conference terminals, and the second conference information comprises the conference number and the identification of the first server.
In step 302, the conference management device receives the conference request, selects a server as a first server in the conference system, and assigns a conference number, obtains first conference information including the conference number and the identifications of the plurality of conference terminals, and obtains second conference information including the conference number and the identification of the first server.
In some embodiments, the conference management device randomly selects a server in the conference system, or selects the server that is the least loaded.
The meeting number is used to identify the meeting to be created.
The conference management device also stores the conference number, the identifier of the first server and the identifiers of the plurality of conference terminals in a corresponding relationship among the conference number, the identifier of the server and the identifiers of the conference terminals.
For example, assume that the conference request received by the conference management apparatus includes the identifications of three conference terminals, ID1, ID2, and ID3, and ID1, ID2, and ID3 are the identifications of conference terminal 1, conference terminal 2, and conference terminal 3, respectively. The identification of the first server selected by the conference management device is IDS and the assigned conference number is "123456", the first conference information comprises the conference number "123456" and the identifications "ID1, ID2 and ID3" of the three conference terminals, and the second conference information comprises the conference number "123456" and the identification "IDS" of the first server.
The conference management apparatus correspondingly stores the conference number "12345", the identification "IDS" of the first server, and the identifications "ID1, ID2, and ID3" of the three conference terminals in the correspondence of the conference number, the identification of the server, and the identification of the conference terminal as shown in table 1 below.
TABLE 1
Conference number Identification of a server Identification of conference terminal
123456 IDS ID1, ID2 and ID3
…… …… ……
Step 303: the conference management device sends the first conference information to the first server and sends the second conference information to the plurality of conference terminals.
In step 303, the conference management device sends first conference information to the first server based on the identifier of the first server; and respectively sending second conference information to each conference terminal based on the identification of each conference terminal in the plurality of conference terminals.
For example, the conference management device sends first conference information including "123456", "ID1, ID2, and ID3" to the first server based on the identification "IDS" of the first server; based on "ID1, ID2, and ID3", second conference information including "123456" and "IDs" is transmitted to conference terminal 1, conference terminal 2, and conference terminal 3, respectively.
Step 304: and the first server receives the first conference information and stores the first conference information.
In step 304, the first server stores the conference number included in the first conference information and the identifications of the plurality of conference terminals in a corresponding relationship between the conference number and the identifications of the conference terminals.
For example, the first server stores the conference number "123456" included in the first conference information and the identifications "ID1, ID2, and ID3" of the three conference terminals in correspondence with the conference number and the identifications of the conference terminals as shown in table 2 below.
TABLE 2
Conference number Identification of conference terminal
123456 ID1, ID2 and ID3
…… ……
Step 305: and the conference terminal receives the second conference information and establishes network connection with the first server based on the second conference information.
The conference terminal is any one of the plurality of conference terminals, and the conference terminal establishes a network connection with the first server based on the identifier of the first server in the second conference information.
Each of the plurality of conference terminals establishes a network connection with the first server, so that the plurality of conference terminals and the first server create a conference.
For example, referring to fig. 2, conference terminal 1, conference terminal 2, and conference terminal 3 receive second conference information including "123456" and "IDS", respectively. Conference terminal 1, conference terminal 2, and conference terminal 3 each establish a network connection with the first server based on the identification "IDS" of the first server in the second conference information, forming conference 200 shown in fig. 2.
The network connection between the conference terminal and the first server includes a data channel and a voice channel, the voice channel is used for transmitting voice data shared in the conference, and the data channel is used for transmitting data shared in the conference except for voice.
In some embodiments, the voice channel and the data channel are two different channels, or alternatively, the voice channel and the data channel are the same channel.
In some embodiments, for a data channel and a voice channel between the conference terminal and the first server, the conference terminal and the first server may periodically send heartbeat information to each other on the data channel and/or the voice channel, and detect whether the data channel and/or the voice channel is faulty or not through the heartbeat information.
The conference can be a remote cooperative conference, and the plurality of conference terminals realize the remote cooperative conference through the first server. The remote collaborative conference refers to that in the audio and video conference holding process, two or more conference terminals participating in the conference can perform mutual collaborative operation aiming at shared background content.
The shared background content is content currently displayed on a conference terminal participating in the conference, and the conference terminal is referred to as a content sharing conference terminal for convenience of description. Wherein, after the conference is created, the content sharing conference terminal requests the first server to share the sharing background content displayed thereon. In the implementation of the method, the first and second electrodes are connected,
the content sharing conference terminal sends a content sharing request to the first server, wherein the content sharing request comprises the conference number and the sharing background content currently displayed by the content sharing conference terminal (namely the content currently displayed by the content sharing conference terminal). The first server receives the content sharing request, acquires the identification of each conference terminal except the conference terminal participating in the conference from the corresponding relation between the conference number and the identification of the conference terminal based on the conference number included in the content sharing request, and sends the sharing background content to each other conference terminal based on the identification of each other conference terminal. Each of the other conference terminals receives the shared background content and displays the shared background content, such that the shared background content is synchronously displayed at each of the conference terminals participating in the conference.
And the content sharing conference terminal sends the content sharing request to the first server through a data channel between the content sharing conference terminal and the first server. The first server sends the shared background content to each of the other conference terminals respectively based on the data channels between the first server and each of the other conference terminals.
In some embodiments, the first server receives the content sharing request for the first time, sets the identity of the shared content conference terminal as a designated conference terminal, and sends token information to the shared content conference terminal, where the token information is used to indicate that the shared content conference terminal is the designated conference terminal, and the shared content conference terminal receives and stores the token information.
In some embodiments, the first server stores the conference number, the identifier of the shared content conference terminal, and the token information in a corresponding relationship between the conference number, the identifier of the conference terminal, and the token information.
The first server may be a server in a plurality of conferences, each conference includes a designated conference terminal, and the token information indicating the designated conference terminal in each conference may be the same.
The shared content conference terminal participating in the conference may be replaced, that is, other conference terminals need to become shared content conference terminals, the other conference terminals send a content sharing request to the first server in the above manner, the other conference terminals become new shared content conference terminals, and the old shared content conference terminals become non-shared content conference terminals. Each conference terminal participating in the conference at this time displays the shared background content displayed on the newly shared content conference terminal.
After each conference terminal participating in the conference displays the shared background content, the conference terminal generates collaboration data when performing collaboration operation on the shared background content. The collaboration operation comprises a marking operation performed on the shared background content and/or a writing operation performed on the shared background content, and the like, when the marking operation is performed on the shared background content, the generated collaboration data is the marking content generated by marking, and when the writing operation is performed on the shared background content, the generated collaboration data is the writing content generated by writing. For any conference terminal participating in the conference, when the conference terminal generates the collaboration data, the conference terminal displays the collaboration data, and simultaneously shares the collaboration data with other conference terminals participating in the conference. The detailed sharing process will be described in the following embodiments shown in fig. 4 or fig. 5, and will not be described here.
When the conference terminal generates the collaboration data, the conference terminal also allocates a data identifier to the collaboration data, where the data identifier is used to identify the collaboration data in the conference, and the collaboration data includes data content and the data identifier. The conference terminal displays the collaboration data, which is substantially to display data content in the collaboration data, where the data content may be the above-mentioned tagged content or written content.
In some embodiments, the data identification of the collaboration data includes an identification of the conference terminal and a timestamp or the like that generated the collaboration data; or the data identifier of the collaboration data includes the identifier of the conference terminal and the sequence number of the collaboration data generated by the conference terminal.
In some embodiments, the collaboration data also includes location information of the data content, the location information being a location of the data content on the shared background content.
After the conference is created, for each conference terminal participating in the conference, the conference terminal acquires voice data of a user corresponding to the conference terminal and sends the voice data to each other conference terminal participating in the conference. In the implementation of the method, the first and second electrodes are connected,
the conference terminal sends a playing request to the first server, wherein the playing request comprises the conference number and the voice data. The first server receives the playing request, acquires the identification of each conference terminal except the conference terminal participating in the conference from the corresponding relation between the conference number and the identification of the conference terminal based on the conference number included in the playing request, and sends the playing request to each other conference terminal based on the identification of each other conference terminal. And each other conference terminal receives the playing request and plays the voice data based on the playing request.
And the conference terminal sends the playing request to the first server through a voice channel between the conference terminal and the first server. The first server sends the playing request to each other conference terminal respectively based on the voice channel between the first server and each other conference terminal.
Referring to fig. 4, an embodiment of the present application provides a method 400 for sharing data, where the method 400 is used to share collaboration data generated by conference terminals participating in a conference, where the conference may be the conference 200 shown in fig. 2, and for each conference terminal participating in the conference, the conference terminal stores each collaboration data currently shared in the conference, and a first server participating in the conference also stores each collaboration data currently shared in the conference. The method 400 includes:
step 401: the conference terminal generates collaboration data and sends a first request message to the first server, wherein the first request message comprises the conference number and the collaboration data.
The conference terminal is any conference terminal participating in the conference, and after generating the cooperation data, the conference terminal displays the cooperation data and sends a first request message to the first server. Optionally, the collaboration data further includes location information of the data content, where the location information is a location of the data content on the shared background content.
In step 401, the conference terminal includes a first set of collaboration data that includes collaboration data displayed on the conference terminal. The collaboration data is saved into the first collaboration data set after the conference terminal has generated the collaboration data.
In some embodiments, after the conference terminal sends the first request message, the state of the collaboration data may be further marked as a synchronization state.
In step 401, the conference terminal sends a first request message to a first server through a data channel between the conference terminal and the first server. In this embodiment of the present application, for each conference terminal participating in the conference, the collaboration data or the message including the collaboration data transmitted between the first server and the conference terminal is transmitted using a data channel between the first server and the conference terminal, which is similar to that described below and will not be described one by one.
For example, assume that conference terminal 1 in conference 200 generates collaboration data 1 as shown in fig. 2, transmits a first request message including the conference number "123456" and the collaboration data 1 to the first server, and saves the collaboration data 1 into the first collaboration data set.
Step 402: and the first server receives the first request message and sends the collaboration data to other conference terminals participating in the conference except the conference terminal.
In step 402, the first server may send the collaboration data to the other conference terminal in the following two ways. The two modes are respectively as follows:
in a first manner, the first server receives the first request message and directly distributes the collaboration data to other conference terminals.
In a first manner, the first server receives the first request message, acquires, based on the conference number included in the first request message, the identifiers of the other conference terminals except the conference terminal participating in the conference from the correspondence between the conference number and the identifier of the conference terminal, and sends the collaboration data to the other conference terminals based on the identifiers of the other conference terminals.
The first server also comprises the first collaboration data set, the first collaboration data set corresponds to the conference number in the first server, and after receiving the first request message, the first server stores collaboration data included in the first request message into the first collaboration data set included in the first server.
For example, the first server receives the first request message including the conference number "123456" and the collaboration data 1, acquires the identities of the conference terminals participating in the conference, other than the conference terminal 1, from the correspondence between the conference number and the identities of the conference terminals shown in table 2 above, based on the conference number "123456", the acquired identities of the conference terminals including ID2 and ID3, transmits the collaboration data 1 to the conference terminal 2 based on ID2, and transmits the collaboration data 1 to the conference terminal 2 based on ID 2.
In a second mode, after receiving the first request message, the first server sends the collaboration data to a designated conference terminal of the conference, and distributes the collaboration data to other conference terminals participating in the conference under the request of the designated conference terminal.
In a second manner, the first server receives the first request message, obtains the identifier of the designated conference terminal participating in the conference from the correspondence between the conference number, the identifier of the conference terminal, and the token information based on the conference number and the token information, and determines whether the designated conference terminal is the conference terminal based on the identifier of the designated conference terminal. And if the appointed conference terminal is the conference terminal, acquiring the identifiers of other conference terminals participating in the conference except the conference terminal from the corresponding relation between the conference terminal and the identifiers of the conference terminals based on the conference number, and sending the collaboration data to the other conference terminals based on the identifiers of the other conference terminals.
And if the designated conference terminal is not the conference terminal, sending a first request message to the designated conference terminal based on the identification of the designated conference terminal. And the appointed conference terminal receives the first request message and sends a distribution request message to the first server, wherein the distribution request message comprises the cooperation data. The first server receives the distribution request message, acquires the identifications of other conference terminals except the conference terminal and the appointed conference terminal participating in the conference from the corresponding relation between the conference number and the identifications of the conference terminals based on the conference number, and sends the collaboration data to the other conference terminals except the conference terminal and the appointed conference terminal participating in the conference.
In a second manner, after receiving the first request message, the first server does not store the collaboration data included in the first request message in the first collaboration data set included in the first server if the conference terminal is not the designated conference terminal, but stores the collaboration data in the first collaboration data set included in the first server after receiving the distribution request message. And if the conference terminal is the appointed conference terminal, saving the cooperation data included in the first request message into a first cooperation data set included in the first server.
The designated conference terminal also includes the first collaboration data set, and after receiving the first request message, the collaboration data included in the first request message is saved in the first collaboration data set.
In some embodiments, the designated conference terminal sends a first confirmation message to the first server after receiving the first request message, and the first server sends the first confirmation message to the conference terminal. And the conference terminal receives the first confirmation message and marks the state of the collaboration data as a synchronization state.
In some embodiments, after the first server sends the collaboration data to each of the other conference terminals, each of the other conference terminals receives the collaboration data and sends a response message to the first server. And the first server sends a second confirmation message to each conference terminal when receiving the response message sent by each other conference terminal. And the conference terminal receives the second confirmation message and marks the state of the collaboration data as a synchronization state.
In the first or second aspect, the other conference terminal displays the collaboration data when receiving the collaboration data. In some embodiments, the collaboration data includes data content and location information, and the operation of the other conference terminal to display the collaboration data is: the data content is displayed on the currently displayed sharing background content based on the location information.
The other conference terminals also include the first collaboration data set, and after receiving the collaboration data, the other conference terminals save the collaboration data into the first collaboration data set. Each conference terminal and the first server participating in the conference includes the first set of collaboration data, which is the collaboration data currently being shared in the conference.
After generating the collaboration data for each conference terminal participating in the conference, the above-described operations of steps 401 to 402 are performed to share the generated collaboration data in the conference.
For a conference terminal participating in the conference, the conference terminal may also delete one or more collaboration data that it displays. After the conference terminal deletes the collaboration data, the conference terminal sends a first deletion request message to the first server, wherein the first deletion request message comprises the conference number and the data identifier of the collaboration data. When the conference terminal deletes the displayed collaboration data, the collaboration data is also deleted from the first collaboration data set included in the conference terminal.
The first server receives the first deletion request message, acquires other conference terminals participating in the conference except the conference terminal from the corresponding relation between the conference number and the identification of the conference terminal based on the conference number, and sends the first deletion request message to the other conference terminals. The first server also deletes the collaboration data corresponding to the data identification from the first collaboration data set included in the first server based on the data identification of the collaboration data.
And receiving the first deletion request message by other conference terminals participating in the conference, and deleting the collaboration data corresponding to the data identifier displayed by the first deletion request message. When the other conference terminal deletes the displayed collaboration data, the collaboration data is also deleted from the first collaboration data set included in the other conference terminal.
For a conference terminal participating in the conference, the conference terminal may also modify one or more of the collaboration data it displays. Modifying the collaboration data is essentially modifying the data content included in the collaboration data and/or the location information of the data content, but the data identity of the collaboration data remains unchanged before and after the modification. When the conference terminal modifies the collaboration data, the data content and/or the position information of the collaboration data in the first collaboration data set of the conference terminal are modified accordingly.
After the conference terminal modifies the collaboration data, the conference terminal sends a first modification request message to the first server, wherein the first modification request message includes the conference number and the modified collaboration data, and the collaboration data includes a data identifier of the collaboration data.
The first server receives the first modification request message, acquires other conference terminals participating in the conference except the conference terminal from the corresponding relation between the conference number and the identification of the conference terminal based on the conference number, and sends the first modification request message to the other conference terminals. The first server further acquires corresponding collaboration data from a first collaboration data set included in the first server based on the data identifier of the collaboration data, and updates the acquired collaboration data into the collaboration data included in the first modification request message.
And the other conference terminals participating in the conference receive the first modification request message, acquire corresponding collaboration data from the first collaboration data set included in the collaboration data based on the data identification of the collaboration data, and update the acquired collaboration data into the collaboration data included in the first modification request message.
It should be noted that: during the process of holding the conference, the first server may fail, which results in that a first data channel between the first server and a plurality of conference terminals participating in the conference is disconnected, and data stored in the first server, for example, a stored first collaboration data set, is lost, and a corresponding relationship between a stored conference number and an identifier of a conference terminal is lost, where the first data channel includes a data channel between the first server and each conference terminal. That is, at this time, the data channel between the first server and each conference terminal is disconnected, the conference fails, and the plurality of conference terminals participating in the conference cannot share the collaboration data.
After the conference fails, the voice channel between the first server and each conference terminal may be normal, that is, for each conference terminal, the conference terminal sends voice data to other conference terminals through the first server; alternatively, the voice channel between the first server and each conference terminal may also be disconnected, that is, for each conference terminal, the conference terminal cannot transmit voice data to other conference terminals through the first server.
After the conference fails, the first server may be waited for to recover, and after the first server recovers, the plurality of conference terminals re-establish the data channel with the first server, or, the conference management device may be waited for to reselect a new server for the conference, and the plurality of conference terminals establish the data channel with the new server, so that the conference recovers to normal, and the plurality of conference terminals continue to hold the conference.
Before the conference is recovered to normal, if the conference terminal generates new collaboration data, the conference terminal stores the new collaboration data first, and then shares the new collaboration data to other conference terminals participating in the conference when the conference is recovered to normal. If the conference terminal deletes the displayed collaboration data, after the conference terminal deletes the collaboration data, the conference terminal records the data identifier of the deleted collaboration data, deletes the collaboration data from the first collaboration data set included in the conference terminal, and notifies other conference terminals participating in the conference to delete the collaboration data when the conference is restored to normal. And if the conference terminal modifies the data content and/or the position information of the displayed collaboration data, the conference terminal records the modified data identifier of the collaboration data, modifies the data content and/or the position information of the collaboration data in the first collaboration data set of the conference terminal, and updates the collaboration data stored in other conference terminals participating in the conference when the conference is restored to normal.
The procedure for restoring the conference to normal will be described in detail below, and is shown as the following step 403:
step 403: the second server establishes a second data channel with the plurality of conference terminals, wherein the second data channel comprises the data channel between the second server and each conference terminal.
The second server may be the same server as the first server or may be a different server.
Under the condition that the first server and the second server are the same server, after the first server (the second server) fails, each conference terminal participating in the conference sends a connection request to the first server, the connection request comprises the conference number, if the first server is recovered to be normal, the first server receives the connection request sent by each conference terminal, establishes a data channel with each conference terminal, classifies each conference terminal sending the same conference number, correspondingly stores the conference number and the identification of each conference terminal in the corresponding relation between the conference number and the identification of the conference terminal, and enables the conference to be recovered to be normal.
In some embodiments, each conference terminal participating in the conference periodically sends a connection request to the first server, so that the first server receives the connection request sent by each conference terminal when the first server returns to normal.
In some embodiments, when the first server returns to normal, the first server notifies each conference terminal participating in the conference through the conference management device, and then each conference terminal sends a connection request to the first server. In the implementation of the method, the first and second electrodes are connected,
when the first server is recovered to be normal, sending a first notification message to the conference management device, receiving the first notification message by the conference management device, and acquiring one or more records including the identifier of the first server from the corresponding relation among the conference number, the identifier of the server and the identifier of the conference terminal based on the identifier of the first server, wherein each record includes the identifier of one conference number and a plurality of conference terminals, and the plurality of conference terminals belong to a conference corresponding to the conference number. For each record, the conference management device sends a second notification message to each conference terminal based on the identity of each conference terminal included in the record. Each conference terminal receives the second notification message and sends a connection request to the first server.
For example, assuming that the first server in the conference shown in fig. 2 recovers from the failure, the identifier of the first server is an IDS, the first server sends a first notification message to the conference management device, and the conference management device receives the first notification message, and based on the IDS, a record including the IDS is obtained from the correspondence between the conference number shown in table 1, the identifier of the server, and the identifier of the conference terminal, where the record includes one conference number "123456" and the identifiers "ID1, ID2, and ID3" of three conference terminals belonging to the conference 200 corresponding to the conference number "123456". The conference management apparatus transmits the second notification message to the conference terminal 1, the conference terminal 2, and the conference terminal 3 based on "ID1, ID2, and ID3" included in the piece of record. Conference terminal 1, conference terminal 2, and conference terminal 3 receive the second notification message, and respectively transmit a connection request including conference number "123456" to the first server.
The first server receives connection requests sent by the conference terminals 1, 2 and 3, establishes a data channel with the conference terminal 1, a data channel with the conference terminal 2 and a data channel with the conference terminal 3, classifies the conference terminal 1, 2 and 3 which send the conference number "123456", and correspondingly saves the conference number "123456", the identifier "ID1" of the conference terminal 1, the identifier "ID2" of the conference terminal 2 and the identifier "ID3" of the conference terminal 3 in the corresponding relationship between the conference number and the identifier of the conference terminal, so that the conference 200 shown in fig. 2 is restored to normal.
And under the condition that the voice channel between the conference terminal participating in the conference and the first server is also disconnected, the conference terminal also establishes the voice channel with the first server.
When the first server and the second server are different servers, after the conference management device detects that the first server fails, one server is reselected as the second server, and a third notification message is sent to each conference terminal participating in the conference, wherein the third notification message comprises the address of the second server. Each conference terminal receives the third notification message and sends a connection request to the second server, wherein the connection request comprises the conference number. The second server receives the connection request sent by each conference terminal, establishes network connection with each conference terminal, the network connection comprises a data channel and a voice channel, classifies all the conference terminals sending the same conference number, and correspondingly stores the conference number and the identification of each conference terminal in the corresponding relation of the conference number and the identification of the conference terminal, so that the conference is recovered to be normal.
In some embodiments, there is a network connection between the conference management device and the first server, and heartbeat information is periodically sent to each other between the conference management device and the first server over the network connection. The first server stops sending heartbeat information when the first server fails, so that the conference management device detects the failure of the first server. Then, the conference management device obtains one or more records including the identifier of the first server from the corresponding relationship among the conference number, the identifier of the server and the identifier of the conference terminal based on the identifier of the first server, wherein each record includes the identifier of one conference number and a plurality of conference terminals, and the plurality of conference terminals belong to the conference corresponding to the conference number. For each record, the conference management device sends a third notification message to each conference terminal based on the identity of each conference terminal included in the record. Each conference terminal receives the third notification message and sends a connection request to the second server.
Step 404: the second server determines a first conference terminal, wherein the first conference terminal comprises a first cooperation data set, the first cooperation data set comprises at least one cooperation data shared by a plurality of conference terminals participating in the conference at a first time point, and the first time point is a time point when the first data channel is disconnected.
In some embodiments, the second server may randomly select one conference terminal from the conference terminals of the conference as the first conference terminal.
Wherein each conference terminal participating in the conference comprises the first collaboration data set, so that one conference terminal may be randomly selected as the first conference terminal.
In some embodiments, for a designated conference terminal participating in the conference, the designated conference terminal sends token information indicating its identity to the second server after establishing a data channel with the second server. And after receiving the token information sent by the appointed conference terminal, the second server determines the appointed conference terminal as the first conference terminal.
The designated conference terminal is used for acquiring the collaboration data generated by each conference terminal participating in the conference and distributing the collaboration data, and the first collaboration data set on the designated conference terminal comprises the collaboration data shared in the conference at the first time point, so that the designated conference terminal can be determined as the first conference terminal.
Step 405: and the second server acquires the first cooperation data set from the first conference terminal through the second data channel.
In step 405, the second server sends an acquisition command to the first conference terminal through a data channel between the second server and the first conference terminal. And the first conference terminal receives the acquisition command and sends a first cooperation data set to the second server, wherein the cooperation data in the first cooperation data set is the cooperation data shared at the first time point. The second server receives the first collaboration data set and stores the first collaboration data set.
During the failure of the conference, for a conference terminal in the conference which generates the collaboration data after the first time point, the conference terminal shares the generated collaboration data with other conference terminals participating in the conference through the second server. The conference terminal may be implemented as follows in step 406:
step 406: and the conference terminal sends a second request message to the second server, wherein the second request message comprises the conference number and the cooperation data.
The state of the collaboration data generated by the conference terminal after the first time point is not marked as the synchronous state, the conference terminal acquires the collaboration data which is not marked as the synchronous state from the generated collaboration data, and the collaboration data included in the second request message is the acquired collaboration data.
In some embodiments, the conference terminal further marks the status of the collaboration data as a synchronized status after sending the second request message.
Step 407: and the second server receives the second request message and sends the collaboration data to other conference terminals participating in the conference except the conference terminal.
The detailed implementation process of the second server sending the collaboration data to other conference terminals is described in the above step 402, and will not be described in detail here.
The second server also saves the collaboration data in the second request message.
During the failure of the conference, for the conference terminal participating in the conference and deleting the collaboration data after the first time point, the conference terminal notifies other conference terminals participating in the conference through the second server that the collaboration data is also deleted. When implemented:
the conference terminal records the data identifier of the deleted collaboration data, and after the conference is restored to normal, the conference terminal sends a second deletion request message to the second server, wherein the second deletion request message comprises the conference number and the data identifier of the collaboration data. And the second server receives the second deletion request message, acquires other conference terminals participating in the conference except the conference terminal from the corresponding relation between the conference number and the identification of the conference terminal based on the conference number, and sends the second deletion request message to the other conference terminals. The second server also deletes the collaboration data corresponding to the data identification from the first collaboration data set included in the second server based on the data identification of the collaboration data.
And receiving the second deletion request message by other conference terminals participating in the conference, and deleting the collaboration data corresponding to the data identifier displayed by the second deletion request message. When the other conference terminal deletes the displayed collaboration data, the collaboration data is also deleted from the first collaboration data set included in the other conference terminal.
If the first collaboration data set in the second server is obtained from the conference terminal, the deleted collaboration data is not included in the first collaboration data set, and at this time, the second server detects, based on the data identifier of the collaboration data, that there is no collaboration data corresponding to the data identifier in the included first collaboration data set, and stops deleting the collaboration data corresponding to the data identifier.
During the failure of the conference, for the conference terminal participating in the conference that modifies the collaboration data after the first point in time, the conference terminal notifies other conference terminals participating in the conference through the second server that the collaboration data is also modified. When implemented:
the conference terminal records a data identifier of modified collaboration data, and after the conference is restored to normal, the conference terminal acquires the collaboration data corresponding to the data identifier from a first collaboration data set included in the conference terminal, the acquired collaboration data is the modified collaboration data, and sends a second modification request message to a second server, the second modification request message includes the conference number and the acquired collaboration data, and the collaboration data includes the data identifier of the collaboration data.
And the second server receives the second modification request message, acquires other conference terminals participating in the conference except the conference terminal from the corresponding relation between the conference number and the identification of the conference terminal based on the conference number, and sends the second modification request message to the other conference terminals. The second server further acquires corresponding collaboration data from the first collaboration data set included in the second server based on the data identifier of the collaboration data, and updates the acquired collaboration data to the collaboration data included in the second modification request message.
And receiving the second modification request message by other conference terminals participating in the conference, acquiring corresponding collaboration data from the first collaboration data set included in the second modification request message based on the data identifier of the collaboration data, and updating the acquired collaboration data into the collaboration data included in the second modification request message.
In some embodiments, after acquiring the first collaboration data set from the first conference terminal, the second server also sends the first collaboration data set to other conference terminals of the conference.
And the other conference terminals receive the first cooperation data set and compare the received first cooperation data set with the locally stored first cooperation data set. If the first conference terminal deletes some collaboration data in the locally stored first collaboration data set or modifies some collaboration data after the first time point, the other conference terminals may compare the deleted collaboration data or the modified collaboration data, if the deleted collaboration data is compared, delete the collaboration data from the locally stored first collaboration data set, and if the modified collaboration data is compared, update the collaboration data in the locally stored first collaboration data set to the modified collaboration data.
Among them, it should be noted that: and as for the conference terminal participating in the conference, the conference terminal may have a fault, and when the conference terminal recovers to be normal, the conference terminal re-requests to establish network connection with the second server so as to join the conference. Alternatively, for a conference terminal other than the conference, the conference terminal may also establish a network connection with the second server to join the conference.
For convenience of description, a conference terminal joining the conference is referred to as a second conference terminal, and when the second conference terminal joins the conference, the second conference terminal needs to obtain the collaboration data being shared in the conference, so as to ensure data consistency between the second conference terminal and other conference terminals participating in the conference.
Step 408: and the second server sends a first cooperation data set and a second cooperation data set to the second conference terminal when the second conference terminal joins the conference, wherein the second cooperation data set comprises cooperation data generated by the conference terminals participating in the conference from the first time point to the current time point.
And the collaboration data in the second collaboration data set is the collaboration data received by the second server after the second server acquires the first collaboration data set.
In step 408, after the network connection between the second server and the second conference terminal is successfully established, the second server determines that the second conference terminal joins the conference, and the second server further obtains the shared background content from the conference terminals participating in the conference and sends the shared background content and the conference number to the second conference terminal.
That is, the second conference terminal receives the shared background content, the conference number, the first collaboration data set, and the second collaboration data set, displays the shared background content, and displays the collaboration data in the first collaboration data set and the collaboration data in the second collaboration data set on the shared background content.
It should be noted that, in the case that the conference includes the designated conference terminal, if the designated conference terminal fails, the second server sets the third conference terminal as the designated conference terminal of the conference, where the third conference terminal is another conference terminal participating in the conference except for the designated conference terminal. In the implementation of the method, the first and second electrodes are connected,
the second server detects that the network connection with the appointed conference terminal is disconnected, determines that the appointed conference terminal has a fault, selects one conference terminal from other conference terminals participating in the conference except the appointed conference terminal as a third conference terminal, sends token information to the third conference terminal, and updates the identification of the conference terminal corresponding to the conference number and the token information into the identification of the third conference terminal in the corresponding relation of the conference number, the token information and the identification of the conference terminal. The third conference terminal receives and saves the token information.
In some embodiments, the second server randomly selects one conference terminal or selects a conference terminal that has transmitted data most recently as the third conference terminal from among the other conference terminals participating in the conference except the designated conference terminal.
In this embodiment, since the conference terminal participating in the conference includes the first collaboration data set, the first collaboration data set includes collaboration data shared by a plurality of conference terminals participating in the conference at a first time point, and the first time point is a data channel between the first server and the plurality of conference terminals, so that after the second server establishes a second data channel with the plurality of conference terminals, the first collaboration data set is obtained from the conference terminals participating in the conference, and the first collaboration data set is stored. Therefore, when a conference terminal joins the conference, the second server sends the first collaboration data set to the joined conference terminal, so that the conference only needs to comprise one server without comprising a plurality of servers, and the plurality of servers are not used for mutually backing up collaboration data shared in the conference, thereby reducing the cost of holding the conference.
Referring to fig. 5, an embodiment of the present application provides a method 500 for sharing data, where the method 500 is used to share collaboration data generated by conference terminals participating in a conference, where the conference may be the conference 200 shown in fig. 2, and for each conference terminal participating in the conference, the conference terminal stores each collaboration data currently shared in the conference, and the first server participating in the conference does not store each collaboration data currently shared in the conference. The method 500 includes:
steps 501-502: are identical to steps 401-402, respectively, of method 400 of fig. 4 and will not be described in detail herein.
Wherein, it needs to be explained that: and as for the conference terminal participating in the conference, the conference terminal may have a fault, and when the conference terminal recovers to be normal, the conference terminal re-requests to establish network connection with the second server so as to join the conference. Alternatively, for a conference terminal other than the conference, the conference terminal may also establish a network connection with the second server to join the conference.
For convenience of description, a conference terminal joining the conference is referred to as a second conference terminal, and when the second conference terminal joins the conference, the second conference terminal needs to obtain the collaboration data being shared in the conference, so as to ensure data consistency between the second conference terminal and other conference terminals participating in the conference.
Step 503: when the second conference terminal joins the conference, the first server determines a first conference terminal, wherein the first conference terminal comprises a first cooperation data set, and the first cooperation data set comprises at least one piece of cooperation data currently shared by a plurality of conference terminals participating in the conference.
In some embodiments, the second server may randomly select one conference terminal as the first conference terminal from among the conference terminals participating in the conference, or select a designated conference terminal as the first conference terminal.
Step 504: the first server obtains a first collaboration data set from a first conferencing terminal.
In step 504, the first server sends an acquisition command to the first conference terminal through a data channel between the first server and the first conference terminal. And the first conference terminal receives the acquisition command and sends the first collaboration data set to the first server. The first server receives a first set of collaboration data.
Step 505: the first server sends the first collaboration data set to the second conference terminal.
After the network connection between the first server and the second conference terminal is successfully established, the first server determines that the second conference terminal joins the conference, acquires the shared background content from the first conference terminal, and sends the shared background content and the conference number to the second conference terminal.
That is, the second conference terminal receives the shared background content, the conference number, and the first collaboration data set, displays the shared background content, and displays the collaboration data in the first collaboration data set on the shared background content.
In the embodiment of the present application, since the conference terminal participating in the conference includes the first collaboration data set, and the first collaboration data set includes collaboration data shared by multiple conference terminals participating in the conference, when a conference terminal joins the conference, the first server determines the first conference terminal, acquires the first collaboration data set from the first conference terminal, and sends the first collaboration data set to the joined conference terminal, so that a conference only needs to include one server, and does not need to include multiple servers, and the multiple servers do not need to back up the collaboration data shared in the conference, thereby reducing the cost of holding the conference.
Referring to fig. 6, an embodiment of the present application provides an apparatus 600 for sharing data, where the apparatus 600 may be deployed on a server in the conference system 100 shown in fig. 1, on a first server in the conference 200 shown in fig. 2, on the first server in the method 300 shown in fig. 3, or on the first server or a second server in the method 400 shown in fig. 4.
The apparatus 600 is applied to a conference established by a plurality of conference terminals through a first server, a first data channel is established between the first server and the plurality of conference terminals, the first data channel includes a data channel between the first server and each conference terminal, and the first data channel is used for transmitting collaboration data shared among the plurality of conference terminals. The apparatus 600 comprises:
a processing unit 601, configured to establish a second data channel between the apparatus 600 and the plurality of conference terminals after the first data channel is disconnected, and determine a first conference terminal of the plurality of conference terminals, where the first conference terminal stores a first collaboration data set, where the first collaboration data set includes at least one piece of collaboration data shared among the plurality of conference terminals at a first time point, the first time point is a time point at which the first data channel is disconnected, and the second data channel includes a data channel between the apparatus 600 and each conference terminal;
the processing unit 601 is further configured to obtain a first cooperation data set through a second data channel;
a receiving unit 602, configured to receive a second collaboration data set, where the second collaboration data set includes collaboration data generated by conference terminals participating in the conference from the first time point to the current time point;
a sending unit 603, configured to send the first collaboration data set and the second collaboration data set to a second conference terminal when the second conference terminal joins the conference, where the second conference terminal is a conference terminal that has a failure in the conference or a conference terminal other than the conference.
Optionally, the processing unit 601 sets up the second data channel and determines the detailed procedure of the first conference terminal, please refer to the related contents in steps 403-404 of the method 400 shown in fig. 4, which will not be described in detail herein.
Optionally, the detailed process of the processing unit 601 for obtaining the first collaboration data set is described with reference to the related content in step 405 of the method 400 shown in fig. 4, and will not be described in detail here.
Optionally, the detailed process of receiving the second collaboration data set by the receiving unit 602, please refer to relevant contents in step 406 of the method 400 shown in fig. 4, which will not be described in detail herein.
Optionally, the detailed process of the sending unit 603 sending the first collaboration data set and the second collaboration data set is described in detail with reference to the related content in step 408 of the method 400 shown in fig. 4, and will not be described in detail here.
Optionally, the receiving unit 602 is further configured to receive, through the second data channel, a deletion request message sent by a conference terminal participating in the conference, where the deletion request message includes a data identifier of collaboration data deleted by the conference terminal after the first time point, and the collaboration data is data in the first collaboration data set;
the sending unit 603 is further configured to send the deletion request message to other conference terminals participating in the conference except the conference terminal, where the deletion request message is used to trigger other conference terminals to delete the collaboration data corresponding to the data identifier.
Optionally, the detailed process of the receiving unit 602 receiving the deletion request message refers to relevant contents in step 407 of the method 400 shown in fig. 4, and will not be described in detail here.
Optionally, the detailed process of sending the deletion request message by the sending unit 603 is described in detail with reference to relevant contents in step 407 of the method 400 shown in fig. 4, and will not be described in detail here.
Optionally, the receiving unit 602 is further configured to receive, through the second data channel, a modification request message sent by a conference terminal participating in the conference, where the modification request message includes first collaboration data, and the first collaboration data is data obtained by modifying, by the conference terminal, collaboration data in a first collaboration data set after a first time point;
the sending unit 603 is further configured to send the modification request message to other conference terminals participating in the conference except the conference terminal, where the modification request message is used to trigger the other conference terminals to update the stored collaboration data corresponding to the first data identifier to the first collaboration data, and the first data identifier is a data identifier of the first collaboration data.
Optionally, the detailed process of the receiving unit 602 receiving the modification request message, please refer to relevant contents in step 407 of the method 400 shown in fig. 4, and will not be described in detail here.
Optionally, the detailed process of sending the modification request message by the sending unit 603 is described in detail with reference to the related content in step 407 of the method 400 shown in fig. 4, and will not be described in detail here.
Optionally, the first conference terminal is an appointed conference terminal of the conference, and the appointed conference terminal is configured to acquire collaboration data generated by the conference terminals participating in the conference and distribute the generated collaboration data to each conference terminal participating in the conference.
Optionally, the receiving unit 602 is further configured to receive token information sent by the conference terminal, where the token information is used to indicate that the conference terminal is an appointed conference terminal of the conference;
a processing unit 601, configured to determine the conference terminal as a first conference terminal based on the token information.
Optionally, the detailed process of receiving the token information by the receiving unit 602, please refer to the relevant content in step 404 of the method 400 shown in fig. 4, and will not be described in detail here.
Optionally, the processing unit 601 determines the conference terminal as the first conference terminal based on the token information, please refer to the related content in step 404 of the method 400 shown in fig. 4, which will not be described in detail herein.
Optionally, the processing unit 601 is further configured to set a third conference terminal as a designated conference terminal of the conference when the first conference terminal is abnormal, where the third conference terminal is another conference terminal participating in the conference except the first conference terminal.
Optionally, the processing unit 601 sets the third conference terminal as the specified conference terminal of the conference, please refer to the related content in step 408 of the method 400 shown in fig. 4, which will not be described in detail herein.
Optionally, the receiving unit 602 is further configured to receive a request message sent by a fourth conference terminal, where the request message includes collaboration data generated by the fourth conference terminal, and the fourth conference terminal is a conference terminal participating in the conference except the first conference terminal;
a sending unit 603, configured to send the request message to the first conference terminal;
a receiving unit 602, further configured to receive a distribution request message sent by the first conference terminal, where the distribution request message includes the generated collaboration data;
the sending unit 603 is further configured to send the generated collaboration data to other conference terminals participating in the conference, except for the first conference terminal and the fourth conference terminal, based on the distribution request message.
Optionally, the receiving unit 602 receives the request message, and receives a detailed procedure of the distribution request message, please refer to relevant contents in step 402 of the method 400 shown in fig. 4, which will not be described in detail herein.
Optionally, the sending unit 603 sends the request message, and details of the process of sending the collaboration data refer to relevant contents in step 402 of the method 400 shown in fig. 4, which will not be described in detail here.
Optionally, the first server and the apparatus 600 are the same server, or the first server and the apparatus 600 are different servers.
In this embodiment, the data channel between the first server and each conference terminal is disconnected, and after the processing unit establishes the second data channel between the apparatus and the plurality of conference terminals, the processing unit determines the first conference terminal from each conference terminal, and since the first conference terminal includes the first collaboration data set including collaboration data shared by the plurality of conference terminals participating in the conference at the first time point, the first collaboration data set is obtained from the first conference terminal. Therefore, when a conference terminal joins the conference, the sending unit sends the first collaboration data set to the joined conference terminal, and the conference only needs to comprise one server without comprising a plurality of servers and without mutually backing up collaboration data shared in the conference by the plurality of servers, so that the cost for holding the conference is reduced, and the occupation of storage resources is reduced.
Referring to fig. 7, an embodiment of the present application provides a schematic diagram of an apparatus 700 for sharing data. The apparatus 700 may be a server in the conferencing system 100 of fig. 1, a first server in the conference 200 of fig. 2, a first server in the method 300 of fig. 3, or a first server or a second server in the method 400 of fig. 4. The apparatus 700 comprises at least one processor 701, an internal connection 702, a memory 703 and at least one transceiver 704.
The apparatus 700 is a hardware structure apparatus, and can be used to implement the functional modules in the apparatus 600 described in fig. 6. For example, one skilled in the art may appreciate that the processing unit 601 in the apparatus 600 shown in fig. 6 may be implemented by the at least one processor 701 calling code in the memory 703. The receiving unit 602 and the transmitting unit 603 in the apparatus 600 shown in fig. 6 may be implemented by the transceiver 704.
Optionally, the apparatus 700 may also be used to implement the functions of the server in any of the above embodiments.
Alternatively, the processor 701 may be a general processing unit (CPU), a Network Processor (NP), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits for controlling the execution of the program according to the present disclosure.
The internal connections 702 may include a path for passing information between the components. Optionally, the internal connection 702 is a single board or a bus.
The transceiver 704 is used to communicate with other devices or communication networks.
The memory 703 may be, but is not limited to, a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a Random Access Memory (RAM) or other type of dynamic storage device that can store information and instructions, an electrically erasable programmable read-only memory (EEPROM), a compact disk read-only memory (CD-ROM) or other optical disk storage, optical disk storage (including compact disk, laser disk, optical disk, digital versatile disk, blu-ray disk, etc.), magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. The memory may be self-contained and coupled to the processor via a bus. The memory may also be integral to the processor.
The memory 703 is used for storing application program codes for executing the present application, and is controlled by the processor 701 to execute. The processor 701 is configured to execute application program code stored in the memory 703 and cooperate with the at least one transceiver 704 to cause the apparatus 700 to perform the functions of the method of the present patent.
In particular implementations, processor 701 may include one or more CPUs, such as CPU0 and CPU1 in fig. 7, as one embodiment.
In particular implementations, the apparatus 700 may include multiple processors, such as the processor 701 and the processor 707 in fig. 7, for example, as an example. Each of these processors may be a single-core (single-CPU) processor or a multi-core (multi-CPU) processor. A processor herein may refer to one or more devices, circuits, and/or processing cores that process data (e.g., computer program instructions).
It will be understood by those skilled in the art that all or part of the steps for implementing the above embodiments may be implemented by hardware, or may be implemented by a program instructing relevant hardware, where the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a magnetic disk or an optical disk, etc.
The above description is only an example of the present application and should not be taken as limiting the present application, and any modifications, equivalents, improvements and the like that are made within the principles of the present application should be included in the scope of the present application.

Claims (18)

1. A method for sharing data, the method being applied to a conference established by a first server through a plurality of conference terminals, a first data channel being established between the first server and the plurality of conference terminals, the first data channel including a data channel between the first server and each conference terminal, the first data channel being used for transmitting collaboration data shared among the plurality of conference terminals, the method comprising:
after the first data channel is disconnected, a second server establishes a second data channel between the second server and the plurality of conference terminals, and determines a first conference terminal in the plurality of conference terminals, wherein the first conference terminal stores a first cooperation data set, the first cooperation data set comprises at least one piece of cooperation data shared among the plurality of conference terminals at a first time point, the first time point is a time point when the first data channel is disconnected, and the second data channel comprises a data channel between the second server and each conference terminal;
the second server acquires the first cooperation data set through the second data channel;
the second server receiving a second collaboration data set, the second collaboration data set including collaboration data generated by conference terminals participating in the conference between the first time point and the current time point;
and the second server sends the first collaboration data set and the second collaboration data set to a second conference terminal when the second conference terminal joins the conference, wherein the second conference terminal is a conference terminal with a fault in the conference or a conference terminal outside the conference.
2. The method of claim 1, wherein the method further comprises:
the second server receives a deletion request message sent by a conference terminal participating in the conference through the second data channel, wherein the deletion request message includes a data identifier of collaboration data deleted by the conference terminal after the first time point, and the collaboration data is data in the first collaboration data set;
and the second server sends the deletion request message to other conference terminals participating in the conference except the conference terminal, wherein the deletion request message is used for triggering the other conference terminals to delete the collaboration data corresponding to the data identifier.
3. The method of claim 1 or 2, wherein the method further comprises:
the second server receives, through the second data channel, a modification request message sent by a conference terminal participating in the conference, where the modification request message includes first collaboration data, and the first collaboration data is data obtained by modifying, by the conference terminal, collaboration data in the first collaboration data set after the first time point;
and the second server sends the modification request message to other conference terminals participating in the conference except the conference terminal, wherein the modification request message is used for triggering the other conference terminals to update the stored collaboration data corresponding to the first data identifier into the first collaboration data, and the first data identifier is the data identifier of the first collaboration data.
4. The method according to any of claims 1-3, wherein the first conference terminal is a designated conference terminal of the conference, the designated conference terminal being adapted to obtain the generated collaboration data of the conference terminals participating in the conference and to distribute the generated collaboration data to each conference terminal participating in the conference.
5. The method of claim 4, wherein the determining the first conference terminal comprises:
the second server receives token information sent by a conference terminal, wherein the token information is used for indicating the conference terminal to be a designated conference terminal of the conference;
and the second server determines the conference terminal as the first conference terminal based on the token information.
6. The method of claim 4 or 5, wherein the method further comprises:
and when the first conference terminal is abnormal, the second server sets a third conference terminal as an appointed conference terminal of the conference, wherein the third conference terminal is other conference terminals participating in the conference except the first conference terminal.
7. The method of any one of claims 4-6, further comprising:
the second server receives a request message sent by a fourth conference terminal, wherein the request message comprises collaboration data generated by the fourth conference terminal, and the fourth conference terminal is a conference terminal except the first conference terminal participating in the conference;
the second server sends the request message to the first conference terminal;
the second server receives a distribution request message sent by the first conference terminal, wherein the distribution request message comprises the generated collaboration data;
and the second server sends the generated collaboration data to other conference terminals except the first conference terminal and the fourth conference terminal participating in the conference based on the distribution request message.
8. The method of any of claims 1-7, wherein the first server and the second server are the same server or the first server and the second server are different servers.
9. An apparatus for sharing data, the apparatus being applied to a conference established by a plurality of conference terminals through a first server, a first data channel being established between the first server and the plurality of conference terminals, the first data channel including a data channel between the first server and each conference terminal, the first data channel being used for transmitting collaboration data shared among the plurality of conference terminals, the apparatus comprising:
a processing unit, configured to establish a second data channel between the apparatus and the plurality of conference terminals after the first data channel is disconnected, and determine a first conference terminal of the plurality of conference terminals, where the first conference terminal stores a first collaboration data set, where the first collaboration data set includes at least one piece of collaboration data shared among the plurality of conference terminals at a first time point, where the first time point is a time point at which the first data channel is disconnected, and the second data channel includes a data channel between the apparatus and each conference terminal;
the processing unit is further configured to obtain the first collaboration data set through the second data channel;
a receiving unit, configured to receive a second collaboration data set, where the second collaboration data set includes collaboration data generated by conference terminals participating in the conference between the first time point and a current time point;
a sending unit, configured to send the first collaboration data set and the second collaboration data set to a second conference terminal when the second conference terminal joins the conference, where the second conference terminal is a conference terminal that has a failure in the conference or a conference terminal other than the conference.
10. The apparatus of claim 9,
the receiving unit is further configured to receive, through the second data channel, a deletion request message sent by a conference terminal participating in the conference, where the deletion request message includes a data identifier of collaboration data deleted by the conference terminal after the first time point, and the collaboration data is data in the first collaboration data set;
the sending unit is further configured to send the deletion request message to other conference terminals participating in the conference except the conference terminal, where the deletion request message is used to trigger the other conference terminals to delete the collaboration data corresponding to the data identifier.
11. The apparatus of claim 9 or 10,
the receiving unit is further configured to receive, through the second data channel, a modification request message sent by a conference terminal participating in the conference, where the modification request message includes first collaboration data, and the first collaboration data is data obtained by modifying, by the conference terminal, collaboration data in the first collaboration data set after the first time point;
the sending unit is further configured to send the modification request message to other conference terminals participating in the conference except the conference terminal, where the modification request message is used to trigger the other conference terminals to update the stored collaboration data corresponding to the first data identifier to the first collaboration data, and the first data identifier is a data identifier of the first collaboration data.
12. The apparatus of any of claims 9-11, wherein the first conference terminal is a designated conference terminal of the conference, the designated conference terminal configured to obtain collaboration data generated by conference terminals participating in the conference and distribute the generated collaboration data to each conference terminal participating in the conference.
13. The apparatus of claim 12,
the receiving unit is further configured to receive token information sent by a conference terminal, where the token information is used to indicate that the conference terminal is a designated conference terminal of the conference;
and the processing unit is used for determining the conference terminal as the first conference terminal based on the token information.
14. The apparatus of claim 12 or 13,
the processing unit is further configured to set a third conference terminal as a designated conference terminal of the conference when the first conference terminal is abnormal, where the third conference terminal is another conference terminal participating in the conference except the first conference terminal.
15. The apparatus of any one of claims 12-14,
the receiving unit is further configured to receive a request message sent by a fourth conference terminal, where the request message includes collaboration data generated by the fourth conference terminal, and the fourth conference terminal is a conference terminal participating in the conference except the first conference terminal;
the sending unit is further configured to send the request message to the first conference terminal;
the receiving unit is further configured to receive a distribution request message sent by the first conference terminal, where the distribution request message includes the generated collaboration data;
the sending unit is further configured to send the generated collaboration data to other conference terminals participating in the conference, except the first conference terminal and the fourth conference terminal, based on the distribution request message.
16. An apparatus according to any of claims 9-15, wherein the first server and the apparatus are the same server or the first server and the apparatus are different servers.
17. A computer-readable storage medium, on which a computer program is stored, which, when executed by a computer, carries out the method according to any one of claims 1-8.
18. A computer program product, characterized in that the computer program product comprises a computer program stored in a computer-readable storage medium and that the computer program is loaded by a processor for implementing the method as claimed in any one of claims 1-8.
CN202111165110.XA 2021-09-30 2021-09-30 Method, device and storage medium for sharing data Pending CN115914180A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111165110.XA CN115914180A (en) 2021-09-30 2021-09-30 Method, device and storage medium for sharing data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111165110.XA CN115914180A (en) 2021-09-30 2021-09-30 Method, device and storage medium for sharing data

Publications (1)

Publication Number Publication Date
CN115914180A true CN115914180A (en) 2023-04-04

Family

ID=86486864

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111165110.XA Pending CN115914180A (en) 2021-09-30 2021-09-30 Method, device and storage medium for sharing data

Country Status (1)

Country Link
CN (1) CN115914180A (en)

Similar Documents

Publication Publication Date Title
EP3490224B1 (en) Data synchronization method and system
CN102984213B (en) A kind of method of information sharing, Apparatus and system
CN108228581B (en) Zookeeper compatible communication method, server and system
CN111083177B (en) Cross-domain collaborative interaction method based on collaborative gateway
CN105959420A (en) Multi-client metadata synchronous update method and device
CN104967732A (en) Information processing method and electronic device
WO2018019158A1 (en) Conference resumption method, service management center, and system
JP3564433B2 (en) Communication control device and communication control method
CN112492030B (en) Data storage method, device, computer equipment and storage medium
CN111241200B (en) Master-slave synchronous processing method and device based on SQLite database
CN115914180A (en) Method, device and storage medium for sharing data
WO2023229531A2 (en) Data transmission method and apparatus, terminal, and storage medium
WO2016177098A1 (en) Conference backup method and device
JP2010086137A (en) Message queuing method and program
US11115446B2 (en) Chat system and chat management apparatus
CN104967641B (en) A kind of method and device for realizing active and standby meta server data syn-chronization
CN114138895A (en) Data synchronization method and device for multiple data sources, computer equipment and storage medium
CN110113192B (en) Routing method, routing device, system, storage medium and device for virtual desktop
CN115713317A (en) Conference implementation method, system, storage medium and terminal equipment
US10462198B2 (en) Communication method and storage medium storing communication program
US10477558B2 (en) Information processing system, server, and terminal device
WO2019161721A1 (en) Correspondence processing method and device based on interworking rcs system
CN115643237B (en) Data processing system for conference
CN113391759A (en) Communication method and device
CN110730172A (en) Video conference realization method and device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication