Data synchronization method, device, electronic device and computer readable storage medium
By receiving follow requests and transmitting demonstration data, automatic follow-up and real-time synchronization in real-time document demonstration sharing is achieved, which solves the problem that non-speakers need to pay attention to the presentation content at all times, and improves synergy and user experience.
Patent Information
- Application Number
- CN202210857301.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-07-20
- Publication Date
- 2025-03-04
- Estimated Expiration
- 2042-07-20
AI Technical Summary
During the real-time sharing of document demonstrations, non-speakers need to pay attention to the presentation content of the presentation user at all times, otherwise some of the presentation content may be missed, affecting the synergy effect.
By receiving a follow request, obtaining the demonstration data of the speaker's user device, transmitting it to other user devices, and automatically adding indicators to their documents to achieve automatic follow-up and real-time synchronization.
There is no need for non-speakers to pay attention to the presentation content at all times, automatically follow up the presentation progress of the lecturer, and improve the collaborative effect and user experience of real-time sharing of document demonstrations.
Smart Images

Figure CN115129290B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of computer technology, and in particular to a data synchronization method, device, electronic device, and computer-readable storage medium. Background Art
[0002] In the related art, there are often situations where it is necessary to implement real-time sharing of document presentations, for example, a certain user (i.e., the main speaker) explains a certain document, and other users watch it together. At present, when performing real-time sharing of document presentations, the main speaker can present the document, and other users can watch the presentation of the main speaker, and can manually follow the corresponding position of the content presented by the main speaker in the document according to the content presented by the main speaker. In this way, during the real-time sharing of the document presentation, other users other than the main speaker need to pay attention to the content presented by the main speaker at all times in order to follow up the progress of the presentation of the main speaker in a timely manner. Once other users other than the main speaker fail to keep paying attention to the content presented by the main speaker at all times, they may miss part of the presentation content of the main speaker, thereby affecting the collaborative effect of real-time sharing of the document presentation between the main speaker and other users. Summary of the invention
[0003] The present disclosure provides a data synchronization method, device, electronic device and computer-readable storage medium to at least solve the problem of poor collaborative effect of real-time sharing of document presentation in related technologies. The technical solution of the present disclosure is as follows:
[0004] According to a first aspect of an embodiment of the present disclosure, a data synchronization method is provided, which is applied to a server, and the method includes:
[0005] Receiving a first follow-up request from a first device to a second device; wherein the second device includes a device corresponding to a main speaker in real-time document presentation sharing, and the first device is a device corresponding to any user other than the main speaker;
[0006] In response to the first follow request, obtaining first demonstration data of the second device; wherein the first demonstration data is used to indicate a second position of the demonstration content of the second device in a second document, and the second document is a document in the second device;
[0007] The first demonstration data is transmitted to the first device so that the first device determines the first position of the demonstration content of the second device in the first document based on the first demonstration data, adds an indicator mark at the first position, and displays the first document after adding the indicator mark; the first document is the document in the first device.
[0008] In a possible implementation manner, obtaining the first demonstration data of the second device includes:
[0009] When the second device displays multiple windows of the second document, determining whether there is an operation behavior on at least two first windows among the multiple windows;
[0010] In a case where there are operation behaviors on at least two first windows among the multiple windows, acquiring an operation type of the operation behavior on each of the first windows;
[0011] Determine a priority corresponding to an operation type of each operation behavior of the first window;
[0012] The first demonstration data of the first window corresponding to the operation type with the highest priority is obtained.
[0013] In a possible implementation manner, obtaining the first demonstration data of the second device includes:
[0014] Acquire the operation behavior of the presenting user on the second document in the second device;
[0015] Determine the position corresponding to the operation behavior in the second document as the second position of the presentation content of the presenting user on the second device in the second document;
[0016] The second position is obtained.
[0017] In a possible implementation manner, before transmitting the first demonstration data to the first device, the method further includes:
[0018] Detecting whether there is any operation behavior of the first device on the first document;
[0019] In the case that there is an operation behavior of the first device on the first document, determining whether the first device is in a following state;
[0020] The transmitting the first demonstration data to the first device comprises:
[0021] When the first device is in a following state, the first demonstration data is transmitted to the first device.
[0022] In a possible implementation, the method further includes:
[0023] When the first device is in an interrupted following state, executing an operation behavior of the first device on the first document;
[0024] When receiving a second follow request from the first device, controlling the first device to return to the follow state;
[0025] Acquire second demonstration data of the second device at the current moment;
[0026] The second demonstration data is transmitted to the first device, so that the first device determines the third position of the demonstration content of the second device in the first document based on the second demonstration data, adds an indicator mark at the third position, and displays the first document after adding the indicator mark.
[0027] In a possible implementation, the method further includes:
[0028] Acquire multiple demonstration data of the second device;
[0029] Generate a presentation file based on the plurality of presentation data and the first document;
[0030] Outputs the demo file.
[0031] According to a second aspect of an embodiment of the present disclosure, a data synchronization method is provided, which is applied to a first device, and the method includes:
[0032] Sending a first follow request to a second device; wherein the second device includes a device corresponding to a main speaker in real-time document presentation sharing, and the first device is a device corresponding to any user other than the main speaker;
[0033] Receive first demonstration data of the second device; wherein the first demonstration data is used to indicate a second position of the demonstration content of the second device in a second document, and the second document is a document in the second device;
[0034] Based on the first demonstration data, determine the first position of the demonstration content of the second device in the first document, add an indicator mark at the first position, and display the first document after adding the indicator mark; the first document is the document in the first device.
[0035] In a possible implementation, the method further includes:
[0036] Sending a second follow request to the second device;
[0037] Receiving second demonstration data of the second device at the current moment;
[0038] The third position of the demonstration content of the second device in the first document is determined based on the second demonstration data, an indication mark is added to the third position, and the first document after the indication mark is added is displayed.
[0039] According to a third aspect of an embodiment of the present disclosure, a data synchronization device is provided, which is applied to a server, and the device includes:
[0040] A receiving module is configured to receive a first follow-up request from a first device to a second device; wherein the second device includes a device corresponding to a main speaker in real-time document presentation sharing, and the first device is a device corresponding to any user other than the main speaker;
[0041] a response module, configured to obtain first demonstration data of the second device in response to the first follow request; wherein the first demonstration data is used to indicate a second position of the demonstration content of the second device in a second document, and the second document is a document in the second device;
[0042] The first display module is configured to transmit the first demonstration data to the first device so that the first device determines the first position of the demonstration content of the second device in the first document based on the first demonstration data, adds an indicator mark at the first position, and displays the first document after adding the indicator mark; the first document is a document in the first device.
[0043] In a possible implementation, the response module includes:
[0044] A first determining unit is configured to determine whether there is an operation behavior on at least two first windows of the plurality of windows when the second device displays the plurality of windows of the second document;
[0045] A first acquisition unit is configured to acquire an operation type of the operation behavior on each of the first windows when there is an operation behavior on at least two first windows among the multiple windows;
[0046] A second determining unit is configured to determine a priority corresponding to an operation type of each operation behavior of the first window;
[0047] The second acquisition unit is configured to acquire first demonstration data of the first window corresponding to the operation type with the highest priority.
[0048] In a possible implementation, the response module includes:
[0049] A third acquisition unit is configured to acquire an operation behavior of the presenting user on the second document in the second device;
[0050] A third determining unit is configured to determine the position corresponding to the operation behavior in the second document as the second position of the presentation content of the presenting user on the second device in the second document;
[0051] The fourth acquiring unit is configured to acquire the second position.
[0052] In a possible implementation manner, the data synchronization device further includes:
[0053] The detection module is configured to detect whether there is any operation behavior of the first device on the first document;
[0054] A determination module, configured to determine whether the first device is in a following state when the first device has an operation behavior on the first document;
[0055] The first display module comprises:
[0056] The transmission unit is configured to transmit the first demonstration data to the first device when the first device is in a following state.
[0057] In a possible implementation manner, the data synchronization device further includes:
[0058] an execution module, configured to execute, when the first device is in an interrupt follow state, an operation behavior of the first device on the first document;
[0059] a control module, configured to control the first device to return to the following state when receiving a second following request from the first device;
[0060] A first acquisition module is configured to acquire second demonstration data of the second device at a current moment;
[0061] The second display module is configured to transmit the second demonstration data to the first device so that the first device determines the third position of the demonstration content of the second device in the first document based on the second demonstration data, adds an indicator mark at the third position, and displays the first document after adding the indicator mark.
[0062] In a possible implementation manner, the data synchronization device further includes:
[0063] A second acquisition module is configured to acquire a plurality of demonstration data of the second device;
[0064] A generating module, configured to generate a presentation file based on the plurality of presentation data and the first document;
[0065] The output module is configured to output the presentation file.
[0066] According to a fourth aspect of an embodiment of the present disclosure, a data synchronization apparatus is provided, which is applied to a first device, and the apparatus includes:
[0067] A first request sending module is configured to send a first follow request to a second device; wherein the second device includes a device corresponding to a main speaker in real-time document presentation sharing, and the first device is a device corresponding to any user other than the main speaker;
[0068] A first data receiving module is configured to receive first demonstration data of the second device; wherein the first demonstration data is used to indicate a second position of the demonstration content of the second device in a second document, and the second document is a document in the second device;
[0069] The first data display module is configured to determine the first position of the demonstration content of the second device in the first document based on the first demonstration data, add an indicator mark at the first position, and display the first document after adding the indicator mark; the first document is a document in the first device.
[0070] In a possible implementation, the device further includes:
[0071] A second request sending module, configured to send a second follow request to the second device;
[0072] A second data receiving module is configured to receive second demonstration data of the second device at a current moment;
[0073] The second data display module is configured to determine a third position of the demonstration content of the second device in the first document based on the second demonstration data, add an indication mark at the third position, and display the first document after adding the indication mark.
[0074] According to a fifth aspect of an embodiment of the present disclosure, there is provided an electronic device, including:
[0075] processor;
[0076] a memory for storing instructions executable by the processor;
[0077] The processor is configured to execute the instructions to implement the data synchronization method as described in any one of the first aspect or the second aspect.
[0078] According to a sixth aspect of an embodiment of the present disclosure, a computer-readable storage medium is provided. When instructions in the computer-readable storage medium are executed by a processor of an electronic device, the electronic device is enabled to execute a data synchronization method as described in any one of the first aspect or the second aspect.
[0079] According to a seventh aspect of an embodiment of the present disclosure, a computer program product is provided, comprising a computer program, wherein when the computer program is executed by a processor, the data synchronization method as described in any one of the first aspect or the second aspect is implemented.
[0080] The technical solution provided by the embodiments of the present disclosure brings at least the following beneficial effects:
[0081] In an embodiment of the present disclosure, a first follow-up request from a first device to a second device is received, wherein the second device includes a device corresponding to a main speaker in real-time sharing of document presentation, and the first device is a device corresponding to any user other than the main speaker. In response to the first follow-up request, the first presentation data of the second device is obtained, wherein the first presentation data is used to indicate the second position of the presentation content of the second device in the second document in the second device, and the first presentation data is transmitted to the first device, so that the first device determines the first position of the presentation content of the second device in the first document in the first device based on the first presentation data, adds an indication mark at the first position, and displays the first document after the indication mark is added. In this way, since the first presentation data can be used to indicate the second position of the presentation content of the second device in the second document, the first presentation data is transmitted to the first device, so that the first device can automatically display the first position of the presentation content of the second device in the first document in real time. That is to say, the user of the first device does not need to pay attention to the presentation content of the user of the second device at all times, and the automatic follow-up of the presentation progress of the main speaker can be achieved, thereby effectively improving the collaborative effect of real-time sharing of document presentation between the main speaker and other users, and improving the user experience.
[0082] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0083] The drawings herein are incorporated into and constitute a part of the specification, illustrate embodiments consistent with the present disclosure, and together with the description are used to explain the principles of the present disclosure, and do not constitute improper limitations on the present disclosure.
[0084] Figure 1 The figure is a flowchart of a data synchronization method according to an exemplary embodiment.
[0085] Figure 2 The figure is a flowchart of a data synchronization method according to an exemplary embodiment.
[0086] Figure 3 The figure is a flowchart of a data synchronization method according to an exemplary embodiment.
[0087] Figure 4The invention is a block diagram of a data synchronization device according to an exemplary embodiment.
[0088] Figure 5 The invention is a block diagram of a data synchronization device according to an exemplary embodiment.
[0089] Figure 6 It is a block diagram of an electronic device according to an exemplary embodiment. DETAILED DESCRIPTION
[0090] In order to enable ordinary persons in the art to better understand the technical solutions of the present disclosure, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the accompanying drawings.
[0091] It should be noted that the terms "first", "second", etc. in the specification and claims of the present disclosure and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present disclosure described herein can be implemented in an order other than those illustrated or described herein. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present disclosure. Instead, they are merely examples of devices and methods consistent with some aspects of the present disclosure as detailed in the appended claims.
[0092] As can be seen from the background technology, the synergy effect of real-time sharing of document presentations between the presenter and other users in the related technology is low. Based on this, the embodiments of the present disclosure propose a data synchronization method, device, electronic device and computer-readable storage medium, which can transmit the first presentation data indicating the second position of the presentation content of the second device in the second document to the first device, so that the first device can automatically display the first position of the presentation content of the second device in the first document in real time. In other words, the presentation progress of the presenting user can be automatically followed up without the user of the first device always paying attention to the content presented by the user of the second device, thereby effectively improving the synergy effect of real-time sharing of document presentations between the presenting user and other users and improving the user experience.
[0093] The data synchronization method, device, electronic device and storage medium provided by the embodiments of the present disclosure are described in detail below with reference to the accompanying drawings.
[0094] Figure 1 FIG. 1 is a flow chart of a data synchronization method according to an exemplary embodiment. The data synchronization method can be applied to a server, for example, a server or a server cluster. Figure 1 As shown, the data synchronization method may include the following steps.
[0095] In step S110 , a first follow request from a first device to a second device is received.
[0096] The second device includes a device corresponding to the main speaker in the real-time sharing of the document presentation, the first device may be a device corresponding to any user other than the main speaker, and the first follow request may be a document presentation real-time sharing follow request issued by the first device to the second device. It is understandable that the second device may also be a device other than the main speaker in the real-time sharing of the document presentation, and a device other than the second device, that is, the device being followed may be the main speaker or the collaborative user (i.e., the non-main speaker).
[0097] In an embodiment of the present disclosure, during the real-time sharing process of a document presentation, a user of a first device (i.e., a follower's device) can operate the first device so that the first device can generate a follow request to a second device, i.e., a first follow request, and can send the first follow request to a server so that the server can receive the first follow request from the first device to the second device.
[0098] It should be noted that the generation of the first follow request of the first device to the second device can be generated by the user of the first device operating the first device during each real-time sharing of the document presentation. For example, the user can operate the follow request generation button of the first device, so that the first device can generate the first follow request; or in each real-time sharing of the document presentation, the document presentation of the second device can be followed in real time by default, that is, the first device can automatically generate the first follow request for the second device.
[0099] In step S120, in response to the first follow request, first demonstration data of the second device is acquired.
[0100] The first demonstration data is used to indicate a second position of the demonstration content of the second device in the second document, and the second document may be a document in the second device.
[0101] In the embodiment of the present disclosure, after receiving the first follow request from the first device to the second device, the server can obtain the demonstration data of the second device, that is, the first demonstration data, in response to the first follow request, so as to obtain the second position of the demonstration content of the second device in the second document. The second position can be the row and column position of the demonstration content of the second device in the second document. For example, the second position can be represented by the row and column of the demonstration content of the second device in the second document. In addition, when the mouse position of the second device moves out of the interface of the second document, the second position can be represented by the row position of the current mouse position in the second document.
[0102] It should be noted that, in addition to including the second position for indicating the demonstration content of the second device in the second document, the first demonstration data may also include a screen recording video corresponding to the demonstration content of the second device, wherein the screen recording video may include a recording of the presenter corresponding to the demonstration content of the second device and an operation record of the presenter operating the second document.
[0103] In step S130, the first demonstration data is transmitted to the first device, so that the first device determines the first position of the demonstration content of the second device in the first document based on the first demonstration data, adds an indicator mark at the first position, and displays the first document after the indicator mark is added.
[0104] Among them, the first document may be a document in the first device, the first document may be a document with the same content as the second document, the first position may be the position of the presentation content of the second device in the first document determined by the first device based on the first demonstration data, the first position in the first document corresponds to the second position in the second document, and can be understood as the same position where the same document content is located.
[0105] In an embodiment of the present disclosure, after the server obtains the first demonstration data of the second device in response to the first follow request, the first demonstration data can be transmitted to the first device. For example, the first demonstration data can be transmitted to the first device through a socket, so that the first device can determine the first position of the demonstration content of the second device in the first document based on the first demonstration data, and then the first device can add an indicator mark at the first position and display the first document after adding the indicator mark. In other words, the first device can automatically follow the demonstration progress of the second document in the second device in real time according to the first demonstration data. It can be understood that the indicator mark can be in the form of a laser pen.
[0106] In an embodiment of the present disclosure, a first follow-up request from a first device to a second device is received, wherein the second device includes a device corresponding to a main speaker in real-time sharing of document presentation, and the first device is a device corresponding to any user other than the main speaker. In response to the first follow-up request, the first presentation data of the second device is obtained, wherein the first presentation data is used to indicate the second position of the presentation content of the second device in the second document in the second device, and the first presentation data is transmitted to the first device, so that the first device determines the first position of the presentation content of the second device in the first document in the first device based on the first presentation data, adds an indication mark at the first position, and displays the first document after the indication mark is added. In this way, since the first presentation data can be used to indicate the second position of the presentation content of the second device in the second document, the first presentation data is transmitted to the first device, so that the first device can automatically display the first position of the presentation content of the second device in the first document in real time. That is to say, the user of the first device does not need to pay attention to the presentation content of the user of the second device at all times, and the automatic follow-up of the presentation progress of the main speaker can be achieved, thereby effectively improving the collaborative effect of real-time sharing of document presentation between the main speaker and other users, and improving the user experience.
[0107] In a possible implementation manner, the specific implementation manner of acquiring the first demonstration data of the second device in step S120 may include the following processing:
[0108] When the second device displays multiple windows of the second document, determining whether there is an operation behavior on at least two first windows of the multiple windows;
[0109] In a case where there are operation behaviors on at least two first windows in the plurality of windows, obtaining an operation type of the operation behavior on each first window;
[0110] Determine the priority corresponding to the operation type of the operation behavior of each first window;
[0111] The first demonstration data of the first window corresponding to the operation type with the highest priority is obtained.
[0112] In the embodiment of the present disclosure, considering that the second device may display the second document in multiple windows respectively, it is necessary to first determine which window in the multiple windows corresponds to the demonstration data when obtaining the first demonstration data. Exemplarily, in the case where the second device displays multiple windows of the second document, it can be determined whether there is an operation behavior on at least two windows (i.e., the first window) in the multiple windows. If there is an operation behavior on at least two first windows in the multiple windows, the operation type of the operation behavior on each first window can be obtained, for example, moving, scrolling, deleting, modifying, and other operation behaviors. Then, by determining the priority corresponding to the operation type of the operation behavior on each first window, the first window corresponding to the operation type with the highest priority can be selected, and then the demonstration data of the first window corresponding to the operation type with the highest priority can be obtained as the first demonstration data. It can be understood that considering that the importance of editing operations is usually greater than operations such as scrolling and sliding, the priority of editing operations (such as adding, modifying, deleting, and other operations) can be set higher than the priority of scrolling operations. In this way, when it is detected that there is an operation behavior on at least two first windows of the second document, the demonstration data of the first window corresponding to the editing operation can be obtained as the first demonstration data.
[0113] In this way, when multiple windows displaying the second document appear on the second device, the first demonstration data of the window corresponding to the operation behavior with higher priority can be obtained to avoid data synchronization failure due to the multi-window situation. In this way, on the one hand, it can further ensure that the first document in the first device follows the real-time sharing effect of the document presentation of the second document in the second device in real time, thereby improving the document presentation synergy effect between the first device and the second device. On the other hand, higher priority demonstration data can also be synchronized to the first device, that is, more important demonstration data can be synchronized to the first device, so that the user experience can be further improved.
[0114] It should be noted that, when the second device does not have multiple windows displaying the second document, the first demonstration data corresponding to the current window can be directly obtained. When there is no operation on at least two of the multiple windows, the first demonstration data corresponding to the window with the operation can be obtained, and when there is no operation on multiple windows, the first demonstration data corresponding to any one of the multiple windows can be obtained.
[0115] In a possible implementation manner, the specific implementation manner of acquiring the first demonstration data of the second device in step S120 may include the following processing:
[0116] Acquire the operation behavior of the presenter on the second document in the second device;
[0117] Determine the position corresponding to the operation behavior in the second document as the second position of the presentation content of the presenter on the second device in the second document;
[0118] Get the second position.
[0119] In an embodiment of the present disclosure, when acquiring the first demonstration data of the second device, the operation behavior of the speaker user corresponding to the second device on the second document in the second device can be first acquired. Then, the position information corresponding to the operation behavior in the second document can be determined, and the position information is determined as the position of the demonstration content of the second device of the speaker user in the second document, that is, the second position. Then, the second position can be acquired, thereby achieving the acquisition of the first demonstration data of the second device. In this way, by determining the second position through the operation behavior of the speaker user, the accuracy of the determined second position can be improved, and the accuracy of the first demonstration data can be improved, so that the document demonstration synergy effect of the first device and the second device can be further improved, and the user experience can be improved.
[0120] In a possible implementation manner, before the first demonstration data is transmitted to the first device in step S130, the following processing may also be performed:
[0121] Detecting whether there is an operation behavior of the first device on the first document;
[0122] In the case where there is an operation behavior of the first device on the first document, determining whether the first device is in a following state;
[0123] Accordingly, in the above step S130, the specific implementation method of transmitting the first demonstration data to the first device may be:
[0124] When the first device is in a following state, the demonstration data is transmitted to the first device.
[0125] In the embodiment of the present disclosure, considering that the first device may interrupt following the second device, before transmitting the first demonstration data to the first device, it is possible to first detect whether there is any operation behavior of the first device on the first document, that is, to detect whether the user of the first device operates the first document. In the case that there is any operation behavior of the first device on the first document, it can be determined whether the first device is in a following state. In the case that the first device is in a following state, the first demonstration data is transmitted to the first device. In this way, it can be determined whether the first demonstration data is transmitted to the first device based on the following state of the first device, thereby further improving the user experience and improving the document demonstration synergy effect between the first device and the second device.
[0126] In a further possible implementation, the data synchronization method may further include the following processing:
[0127] When the first device is in an interrupted following state, executing an operation behavior of the first device on the first document;
[0128] When receiving a second follow request from the first device, controlling the first device to return to a follow state;
[0129] Acquire second demonstration data of the second device at the current moment;
[0130] The second demonstration data is transmitted to the first device, so that the first device determines the third position of the demonstration content of the second device in the first document based on the second demonstration data, adds an indicator mark at the third position, and displays the first document after the indicator mark is added.
[0131] In the embodiment of the present disclosure, it is considered that the first device may interrupt the following of the second device, perform some operations locally, and after interrupting the following of the second device, it may resume the following of the second device again. Therefore, in the case where it is determined that the first device is in the interrupted following state, the operation behavior of the first device on the first document can be performed. When the user of the first device wants to resume the following of the second device, the user of the first device can operate the first device so that the first device can generate and send a follow request for the second device to the server, that is, the second follow request, so that the server can receive the second follow request of the first device. After receiving the second follow request of the first device, the first device can be controlled to resume the following state of the second device. Then, after the first device resumes the following state, the demonstration data of the second device at the current moment, that is, the second demonstration data, can be obtained, and then the second demonstration data can be transmitted to the first device, so that the first device can determine the position of the demonstration content of the second device in the first document based on the second demonstration data, that is, the third position, thereby adding an indicator mark at the third position and displaying the first document after adding the indicator mark. In this way, the problem of real-time sharing of document presentation after the first device interrupts the following state and then resumes the following state can be solved, and the coordinated and free switching of the following state and local operation can be achieved, thereby further improving the document presentation coordination effect between the first device and the second device and further improving the user experience.
[0132] It should be noted that, if the first device interrupts following and does not subsequently request to resume following, the server will no longer transmit demonstration data to the first device. When the duration of the first device being in the interrupted following state exceeds the preset duration, the first device's following state of the second device can be automatically disconnected, that is, the first device can be controlled to exit the following state.
[0133] In a possible implementation, the data synchronization method further includes:
[0134] Acquire multiple demonstration data of the second device;
[0135] Generate a demonstration file based on the plurality of demonstration data and the first document;
[0136] Output the demo file.
[0137] In the embodiment of the present disclosure, considering that the user of the first device may review the document sharing process after the document sharing is completed, multiple demonstration data of the second device can be obtained, and then a demonstration file can be generated based on the aforementioned multiple demonstration data and the first document in the first device, and the demonstration file can be output. It can be understood that outputting the demonstration file can be outputting the demonstration file to the first device so that the user of the first device can download the demonstration file through the first device or view the demonstration file online. In this way, the output of the demonstration file makes it easier for the user of the first device to view the operation of the document sharing process, and provides a data basis for subsequent data analysis, review, etc.
[0138] It is understandable that, in the case where the first device interrupts the following state and then resumes the following state, the above-mentioned multiple demonstration data may be demonstration data within the time period between the interruption of the following state and the resumption of the following state. For example, a demonstration file is generated by recording the operating behavior of the main user on the second document in the second device in the form of screen recording, and the demonstration data is transmitted to the first device so that the user of the first device can understand the operating behavior of the main user on the second document in the second device during the above-mentioned time period. The demonstration file may be a position motion trajectory file generated according to the timeline of the document demonstration and the moving position of the demonstration content, and may be in the form of a document or video.
[0139] Based on the same inventive concept, the embodiment of the present disclosure also provides a data synchronization method applied to a first device, such as Figure 2 As shown, the method may include the following steps:
[0140] In step S210, a first follow request is sent to the second device.
[0141] The second device includes a device corresponding to the main speaker in the real-time sharing of the document presentation, and the first device is a device corresponding to any user except the main speaker;
[0142] In step S220, first demonstration data of a second device is received; wherein the first demonstration data is used to indicate a second position of the demonstration content of the second device in a second document, and the second document is a document in the second device;
[0143] In step S230, the first position of the demonstration content of the second device in the first document is determined based on the first demonstration data, an indicator mark is added at the first position, and the first document after the indicator mark is added is displayed; the first document is a document in the first device.
[0144] In a possible implementation manner, the data synchronization method applied to the first device may further include the following processing:
[0145] Sending a second follow request to the second device;
[0146] Receiving second demonstration data of the second device at the current moment;
[0147] The third position of the demonstration content of the second device in the first document is determined based on the second demonstration data, an indication mark is added at the third position, and the first document after the indication mark is added is displayed.
[0148] The data synchronization method applied to the first device provided in this embodiment is similar to the implementation method and technical effect in the above method embodiment, and will not be repeated here.
[0149] To make the method provided by the embodiment of the present disclosure clearer, the following Figure 3 The data synchronization method provided in the embodiment of the present disclosure is described. Figure 3 is a flow chart of a data synchronization method according to an exemplary embodiment. Figure 3 As shown, the collaborator being followed, that is, the main speaker, is located at the character at the water drop of the current node table C of the first document in the first device. The server obtains the demonstration data of the second device based on the location of the character at the water drop of the current node table C of the main speaker, and transmits the demonstration data to the first device. For example, the demonstration data can be pushed to the first device through the socket to the current node corresponding to the collaborator being followed, that is, the first device. Figure 3 The first device includes the device of the following collaborator A, the device of the following collaborator B, and the device of the following collaborator C. The first device can automatically focus on the visible area of the first document in the first device according to the demonstration data, that is, the characters at the water drop of Table C are in the visible area of the first device. This enables the real-time sharing of the document presentation of the first document in the first device and the second document in the second device. After the following ends, that is, the sharing ends, the user of the first device can see the original appearance of the shared document opened, that is, the starting position of the first document of the first device.
[0150] Based on the same inventive concept, an embodiment of the present disclosure also provides a data synchronization device applied to a server. Figure 4 1 is a block diagram of a data synchronization device according to an exemplary embodiment, which is applied to a server. Figure 4 , the data synchronization device 400 may include:
[0151] The receiving module 410 is configured to receive a first follow-up request from a first device to a second device; wherein the second device includes a device corresponding to a main speaker in real-time document presentation sharing, and the first device is a device corresponding to any user other than the main speaker;
[0152] The response module 420 is configured to obtain first demonstration data of the second device in response to the first follow request; wherein the first demonstration data is used to indicate a second position of the demonstration content of the second device in the second document, and the second document is a document in the second device;
[0153] The first display module 430 is configured to transmit the first demonstration data to the first device so that the first device determines the first position of the demonstration content of the second device in the first document based on the first demonstration data, adds an indicator mark at the first position, and displays the first document after the indicator mark is added; the first document is the document in the first device.
[0154] In a possible implementation, the response module 420 includes:
[0155] A first determining unit is configured to determine whether there is an operation behavior on at least two first windows in the plurality of windows when the second device displays the plurality of windows of the second document;
[0156] A first acquisition unit is configured to acquire an operation type of the operation behavior on each first window when there is an operation behavior on at least two first windows among the multiple windows;
[0157] A second determining unit is configured to determine a priority corresponding to an operation type of an operation behavior of each first window;
[0158] The second acquisition unit is configured to acquire first demonstration data of the first window corresponding to the operation type with the highest priority.
[0159] In a possible implementation, the response module 420 includes:
[0160] A third acquisition unit is configured to acquire an operation behavior of the presenter on the second document in the second device;
[0161] The third determining unit is configured to determine the position corresponding to the operation behavior in the second document as the second position of the presentation content of the presenter on the second device in the second document;
[0162] The fourth acquiring unit is configured to acquire the second position.
[0163] In a possible implementation manner, the data synchronization device 400 further includes:
[0164] The detection module is configured to detect whether there is an operation behavior of the first device on the first document;
[0165] A determination module is configured to determine whether the first device is in a following state when the first device has an operation behavior on the first document;
[0166] Accordingly, the first display module 430 includes:
[0167] The transmission unit is configured to transmit the first demonstration data to the first device when the first device is in a following state.
[0168] In a possible implementation, the data synchronization device 400 further includes:
[0169] An execution module, configured to execute the operation behavior of the first device on the first document when the first device is in an interrupt follow state;
[0170] A control module, configured to control the first device to return to a following state when receiving a second following request from the first device;
[0171] A first acquisition module is configured to acquire second demonstration data of the second device at a current moment;
[0172] The second display module is configured to transmit the second demonstration data to the first device, so that the first device determines the third position of the demonstration content of the second device in the first document based on the second demonstration data, adds an indicator mark at the third position, and displays the first document after the indicator mark is added.
[0173] In a possible implementation, the data synchronization device 400 further includes:
[0174] A second acquisition module is configured to acquire multiple demonstration data of a second device;
[0175] A generating module, configured to generate a demonstration file based on the plurality of demonstration data and the first document;
[0176] Output module, configured to output presentation files.
[0177] Based on the same inventive concept, an embodiment of the present disclosure also provides a data synchronization apparatus applied to a first device. Figure 5 is a block diagram of a data synchronization apparatus according to an exemplary embodiment, which is applied to a first device. Figure 5 , the data synchronization device 500 may include:
[0178] The first request sending module 510 is configured to send a first follow request to a second device; wherein the second device includes a device corresponding to a main speaker in real-time document presentation sharing, and the first device is a device corresponding to any user other than the main speaker;
[0179] The first data receiving module 520 is configured to receive first demonstration data of the second device; wherein the first demonstration data is used to indicate a second position of the demonstration content of the second device in a second document, and the second document is a document in the second device;
[0180] The first data display module 530 is configured to determine the first position of the demonstration content of the second device in the first document based on the first demonstration data, add an indicator mark at the first position, and display the first document after adding the indicator mark; the first document is the document in the first device.
[0181] In a possible implementation manner, the device 500 further includes:
[0182] A second request sending module, configured to send a second follow request to the second device;
[0183] A second data receiving module is configured to receive second demonstration data of the second device at a current moment;
[0184] The second data display module is configured to determine a third position of the demonstration content of the second device in the first document based on the second demonstration data, add an indication mark at the third position, and display the first document after adding the indication mark.
[0185] Regarding the device in the above embodiment, the specific manner in which each module performs operations has been described in detail in the embodiment of the method, and will not be elaborated here.
[0186] According to an embodiment of the present disclosure, the present disclosure also provides an electronic device, a computer-readable storage medium, and a computer program product.
[0187] Figure 6A schematic block diagram of an example electronic device 600 that can be used to implement an embodiment of the present disclosure is shown. The electronic device 600 is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or required herein.
[0188] like Figure 6 As shown, the electronic device 600 includes a computing unit 601, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 602 or a computer program loaded from a storage unit 608 into a random access memory (RAM) 603. In the RAM 603, various programs and data required for the operation of the device 600 can also be stored. The computing unit 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.
[0189] Multiple components in the electronic device 600 are connected to the I / O interface 605, including: an input unit 606, such as a keyboard, a mouse, etc.; an output unit 607, such as various types of displays, speakers, etc.; a storage unit 608, such as a disk, an optical disk, etc.; and a communication unit 609, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 609 allows the electronic device 600 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.
[0190] The computing unit 601 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 601 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 601 performs the various methods and processes described above, such as a data synchronization method. For example, in some embodiments, the data synchronization method may be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as a storage unit 608. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 600 via the ROM 602 and / or the communication unit 609. When the computer program is loaded into the RAM 603 and executed by the computing unit 601, one or more steps of the data synchronization method described above may be performed. Alternatively, in other embodiments, the computing unit 601 may be configured to perform the data synchronization method in any other appropriate manner (e.g., by means of firmware).
[0191] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0192] The program code for implementing the method of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that the program code, when executed by the processor or controller, enables the functions / operations specified in the flow chart and / or block diagram to be implemented. The program code may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.
[0193] In the context of the present disclosure, a computer-readable storage medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A computer-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0194] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).
[0195] The systems and techniques described herein can be implemented in a computing system that includes backend components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes frontend components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such backend components, middleware components, or frontend components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), the Internet, and a blockchain network.
[0196] A computer system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The relationship between the client and the server is generated by computer programs running on the corresponding computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and VPS services ("Virtual Private Server", or "VPS" for short). The server may also be a server of a distributed system, or a server combined with a blockchain.
[0197] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps recorded in this disclosure can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved, and this document does not limit this.
[0198] The above specific implementations do not constitute a limitation on the protection scope of the present disclosure. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present disclosure shall be included in the protection scope of the present disclosure.
Claims
1. A data synchronization method, characterized in that: Applied to a server, the method comprises: Receiving a first follow-up request from a first device to a second device; wherein the second device includes a device corresponding to a main speaker in real-time document presentation sharing, and the first device is a device corresponding to any user other than the main speaker; In response to the first follow request, obtaining first demonstration data of the second device; wherein the first demonstration data is used to indicate a second position of the demonstration content of the second device in a second document, and the second document is a document in the second device; The first demonstration data is transmitted to the first device through a socket, so that the first device determines the first position of the demonstration content of the second device in the first document based on the first demonstration data, adds an indicator mark at the first position, and displays the first document after the indicator mark is added; the first document is the document in the first device; The acquiring the first demonstration data of the second device includes: When the second device displays multiple windows of the second document, determining whether there is an operation behavior on at least two first windows among the multiple windows; In the case where there are operation behaviors on at least two first windows among the multiple windows, obtaining an operation type of the operation behavior on each of the first windows, wherein the operation type includes an editing operation and a scrolling operation, the editing operation includes adding, modifying, and deleting, and the editing operation has a higher priority than the scrolling operation; Determine a priority corresponding to an operation type of each operation behavior of the first window; The first demonstration data of the first window corresponding to the operation type with the highest priority is obtained.
2. The data synchronization method according to claim 1, characterized in that: The obtaining the first demonstration data of the second device includes: Acquire the operation behavior of the presenting user on the second document in the second device; Determine the position corresponding to the operation behavior in the second document as the second position of the presentation content of the presenting user on the second device in the second document; The second position is obtained.
3. The data synchronization method according to claim 1, characterized in that: Before transmitting the first demonstration data to the first device, the method further includes: Detecting whether there is any operation behavior of the first device on the first document; In the case that there is an operation behavior of the first device on the first document, determining whether the first device is in a following state; The transmitting the first demonstration data to the first device comprises: When the first device is in a following state, the first demonstration data is transmitted to the first device.
4. The data synchronization method according to claim 3, characterized in that: The method further comprises: When the first device is in an interrupted following state, executing an operation behavior of the first device on the first document; When receiving a second follow request from the first device, controlling the first device to return to the follow state; Acquire second demonstration data of the second device at the current moment; The second demonstration data is transmitted to the first device, so that the first device determines the third position of the demonstration content of the second device in the first document based on the second demonstration data, adds an indicator mark at the third position, and displays the first document after adding the indicator mark.
5. The data synchronization method according to claim 1, characterized in that: The method further comprises: Acquire multiple demonstration data of the second device; Generate a presentation file based on the plurality of presentation data and the first document; Outputs the demo file.
6. A data synchronization method, characterized in that: Applied to a first device, the method includes: Sending a first follow request to a second device; wherein the second device includes a device corresponding to a main speaker in real-time document presentation sharing, and the first device is a device corresponding to any user other than the main speaker; Receiving first demonstration data of the second device through a socket; wherein the first demonstration data is used to indicate a second position of the demonstration content of the second device in a second document, and the second document is a document in the second device; Determine, based on the first demonstration data, a first position of the demonstration content of the second device in the first document, add an indication mark at the first position, and display the first document after adding the indication mark; the first document is a document in the first device; The acquiring the first demonstration data of the second device includes: When the second device displays multiple windows of the second document, determining whether there is an operation behavior on at least two first windows among the multiple windows; In the case where there are operation behaviors on at least two first windows among the multiple windows, obtaining an operation type of the operation behavior on each of the first windows, wherein the operation type includes an editing operation and a scrolling operation, the editing operation includes adding, modifying, and deleting, and the editing operation has a higher priority than the scrolling operation; Determine a priority corresponding to an operation type of each operation behavior of the first window; The first demonstration data of the first window corresponding to the operation type with the highest priority is obtained.
7. The method according to claim 6, characterized in that The method further comprises: Sending a second follow request to the second device; Receiving second demonstration data of the second device at the current moment; The third position of the demonstration content of the second device in the first document is determined based on the second demonstration data, an indication mark is added to the third position, and the first document after the indication mark is added is displayed.
8. A data synchronization device, characterized in that: Applied to a server, the device comprises: A receiving module is configured to receive a first follow-up request from a first device to a second device; wherein the second device includes a device corresponding to a main speaker in real-time document presentation sharing, and the first device is a device corresponding to any user other than the main speaker; a response module, configured to obtain first demonstration data of the second device in response to the first follow request; wherein the first demonstration data is configured to indicate a second position of the demonstration content of the second device in a second document, and the second document is a document in the second device; A first display module is configured to transmit the first demonstration data to the first device through a socket, so that the first device determines a first position of the demonstration content of the second device in the first document based on the first demonstration data, adds an indication mark at the first position, and displays the first document after the indication mark is added; the first document is a document in the first device; The acquiring the first demonstration data of the second device includes: When the second device displays multiple windows of the second document, determining whether there is an operation behavior on at least two first windows among the multiple windows; In the case where there are operation behaviors on at least two first windows among the multiple windows, obtaining an operation type of the operation behavior on each of the first windows, wherein the operation type includes an editing operation and a scrolling operation, the editing operation includes adding, modifying, and deleting, and the editing operation has a higher priority than the scrolling operation; Determine a priority corresponding to an operation type of each operation behavior of the first window; The first demonstration data of the first window corresponding to the operation type with the highest priority is obtained.
9. A data synchronization device, characterized in that: Applied to a first device, the apparatus comprises: A first request sending module is configured to send a first follow request to a second device; wherein the second device includes a device corresponding to a main speaker in real-time document presentation sharing, and the first device is a device corresponding to any user other than the main speaker; A first data receiving module is configured to receive first demonstration data of the second device through a socket; wherein the first demonstration data is used to indicate a second position of the demonstration content of the second device in a second document, and the second document is a document in the second device; A first data display module is configured to determine a first position of the demonstration content of the second device in a first document based on the first demonstration data, add an indication mark at the first position, and display the first document after the indication mark is added; the first document is a document in the first device; The acquiring the first demonstration data of the second device includes: When the second device displays multiple windows of the second document, determining whether there is an operation behavior on at least two first windows among the multiple windows; In the case where there are operation behaviors on at least two first windows among the multiple windows, obtaining an operation type of the operation behavior on each of the first windows, wherein the operation type includes an editing operation and a scrolling operation, the editing operation includes adding, modifying, and deleting, and the editing operation has a higher priority than the scrolling operation; Determine a priority corresponding to an operation type of each operation behavior of the first window; The first demonstration data of the first window corresponding to the operation type with the highest priority is obtained.
10. An electronic device, characterized in that: include: processor; a memory for storing instructions executable by the processor; The processor is configured to execute the instructions to implement the data synchronization method as described in any one of claims 1 to 5 or 6 to 7.
11. A computer-readable storage medium, characterized in that: When the instructions in the computer-readable storage medium are executed by a processor of an electronic device, the electronic device is enabled to execute the data synchronization method as described in any one of claims 1 to 5 or 6 to 7.
12. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the data synchronization method according to any one of claims 1 to 5 or 6 to 7 is implemented.
Citation Information
Patent Citations
Screen sharing presentation system
US20130073965A1
Effective synchronous communication of screen information shared among information processing apparatuses
US20190205165A1