WO2022213941A1 - Collaborative editing method and terminal device - Google Patents

Collaborative editing method and terminal device Download PDF

Info

Publication number
WO2022213941A1
WO2022213941A1 PCT/CN2022/085132 CN2022085132W WO2022213941A1 WO 2022213941 A1 WO2022213941 A1 WO 2022213941A1 CN 2022085132 W CN2022085132 W CN 2022085132W WO 2022213941 A1 WO2022213941 A1 WO 2022213941A1
Authority
WO
WIPO (PCT)
Prior art keywords
editing
terminal device
operation record
collaborative
cycle
Prior art date
Application number
PCT/CN2022/085132
Other languages
French (fr)
Chinese (zh)
Inventor
陈刚
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2022213941A1 publication Critical patent/WO2022213941A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting

Definitions

  • the present application relates to the technical field of intelligent terminals, and in particular, to a collaborative editing method and terminal device.
  • Multi-person collaborative work is a common office application scenario. For example, multiple people discuss solutions face-to-face in a conference room. With the development of computer technology, the use of personal computers in office application scenarios has also been popularized. In multi-person collaborative office application scenarios, the use of computer terminals has also been introduced. P2C) put the file on the large-screen display device for display, so that it can be shared with all participants for discussion.
  • the present application provides a scheme editing method, apparatus and electronic device, and the present application also provides a computer-readable storage medium.
  • the present application provides a terminal device, where the terminal device includes:
  • the first editing operation record corresponds to all the editing operations performed in the current editing cycle in all terminal devices participating in the collaborative editing, and all other terminal devices other than the terminal device;
  • the collaborative editing result of the current editing cycle is generated according to the first editing operation record.
  • the terminal device further performs: recording all editing operations performed on the terminal device in the current editing cycle, and summarizing them into a second editing operation record; and outputting the second editing operation record;
  • the generating the collaborative editing result of the current editing cycle according to the first editing operation record includes: merging the editing operations of the first editing operation record and the second editing operation record, and generating the editing operation of the current editing cycle. Collaborative editing results.
  • the recording of an editing operation performed on the terminal device generates a first editing operation record, including:
  • the recording of the editing operation performed on the terminal device generates a first editing operation record, further comprising:
  • the atomic operation record is independently compressed and encoded to generate the first editing operation record.
  • the collaborative editing result includes multiple display layers.
  • the present application provides a collaborative editing method, which is applied to a terminal device, where the terminal device includes: a processor; a memory; the method includes:
  • the first editing operation record corresponds to all the editing operations performed in the current editing cycle in all terminal devices participating in the collaborative editing, and all other terminal devices other than the terminal device;
  • the collaborative editing result of the current editing cycle is generated according to the first editing operation record.
  • the method further includes: recording all editing operations performed on the terminal device in the current editing cycle, and summarizing them into a second editing operation record; outputting the second editing operation record;
  • the generating the collaborative editing result of the current editing cycle according to the first editing operation record includes: merging the editing operations of the first editing operation record and the second editing operation record, and generating the editing operation of the current editing cycle. Collaborative editing results.
  • the recording of the editing operation performed on the terminal device to generate a first editing operation record includes:
  • the recording of the editing operation performed on the terminal device to generate a first editing operation record further includes:
  • the atomic operation record is independently compressed and encoded to generate the first editing operation record.
  • the collaborative editing result includes multiple display layers.
  • the present application provides a computer-readable storage medium, where a computer program is stored in the computer-readable storage medium, which, when executed on a computer, causes the computer to execute the method according to the second aspect.
  • multiple terminal devices can perform collaborative editing on the same media object, and different terminal devices can perform editing operations at the same time, without queuing up to perform editing operations in turn, thereby greatly improving the efficiency of editing. Editing efficiency.
  • FIG. 1 is a schematic diagram of a collaborative editing application scenario according to an embodiment of the present application
  • FIG. 2 is a schematic diagram of a collaborative editing application scenario according to an embodiment of the present application
  • FIG. 3 is a schematic diagram illustrating an application scenario of collaborative editing according to an embodiment of the present application. .
  • Fig. 4 is a schematic flowchart of collaborative editing of multiple editing cycles for media objects according to an embodiment of the present application
  • FIG. 5 is a schematic diagram of a hardware structure of a terminal device provided by an embodiment of the present application.
  • FIG. 6 is a schematic diagram illustrating an execution flow of a user terminal device according to an embodiment of the present application.
  • FIG. 7 is a schematic diagram illustrating an execution flow of a shared display device according to an embodiment of the present application.
  • FIG. 8 is a schematic diagram showing the editing effect of collaborative editing of pictures according to an embodiment of the present application.
  • FIG. 9 is a schematic diagram showing an editing effect of collaborative text editing according to an embodiment of the present application.
  • FIG. 10 is a schematic diagram showing the editing effect of collaborative editing of pictures according to an embodiment of the present application.
  • FIG. 11 is a schematic diagram showing the editing effect of collaborative editing of pictures according to an embodiment of the present application.
  • FIG. 12 is a schematic diagram showing an editing effect of collaborative editing of pictures according to an embodiment of the present application.
  • a feasible implementation method is to initiate file display through one office device and perform file synchronization editing on the office device that initiates the file display.
  • FIG. 1 is a schematic diagram illustrating an application scenario of collaborative editing according to an embodiment of the present application.
  • the notebook computer 100 in the conference room is connected to a large-screen display device 110 .
  • the description file of the project proposal is loaded on the laptop computer 100, and the laptop computer 100 outputs the file view to the large-screen display device 110 to display the project proposal to the participants in the conference room.
  • the participants synchronously edit the description file of the project scheme on the notebook computer 100 according to the discussion content, and output the synchronously edited editing result to the large-screen display device 110 for presentation; based on the large-screen display device 110 Show content for further discussion.
  • FIG. 2 is a schematic diagram of a collaborative editing application scenario according to an embodiment of the present application.
  • user terminal devices P21 to P25 are user terminal devices of users A21 to A25, respectively.
  • the cloud conference server Y20 is a server that provides online conference services.
  • user A21 uses P21 to initiate an online conference on cloud conference server Y20, and users A22, A23, A24 and A25 use their own user terminal devices P22, P23, P24 and P25 to connect to cloud conference server Y20 respectively to participate in the meeting.
  • P22 loads the description file of the project proposal
  • P22 outputs the file view to the cloud conference server Y20
  • the cloud conference server Y20 shares the file view to P21, P23, P24 and P25.
  • user A22 synchronously edits the description file of the project plan on P22 according to the discussion content and outputs the synchronously edited editing result to the cloud conference server Y20; the cloud conference server Y20 shares the editing results to P21, P23, P24, and P25; users A21, A22, A23, A24, and A25 conduct further discussions based on the editing results displayed by P21, P23, P24, and P25, respectively.
  • the synchronous editing of files can only be performed on the office equipment that initiates the file sharing and presentation. Editing participants may need to confirm the file modification suggestions several times before they can understand how to edit, or, editing participants may need to repeatedly edit the file to achieve the correct editing results corresponding to the file modification suggestions. Lengthening editing time and reducing office efficiency.
  • a feasible implementation solution is that the participants who propose file modification suggestions perform synchronous editing, so as to avoid lengthening and time-consuming editing due to inability to understand the file modification suggestions.
  • participant A11 proposes file modification
  • participant A11 moves to the operating position of laptop computer 100, and participant A11 performs synchronous editing on laptop computer 100
  • participant A12 moves to the operating position of the notebook computer 100, and the participant A12 performs synchronous editing on the notebook computer 100.
  • cloud conference server Y20 issues editing authority to P21, and user A21 performs synchronous editing on P21;
  • user A22 proposes file modification , the cloud conference server Y20 issues the editing authority to P22, and user A22 performs synchronous editing on P22.
  • an embodiment of the present application proposes a multi-person collaborative editing solution.
  • multiple users participating in the collaborative editing use their own user terminal devices to edit the media objects that need to be collaboratively edited, and the editing operations of each user are shared with the user terminals of other users
  • each user's user terminal device generates a combined editing result based on the editing operations of the user on its own device and the editing operations of other users, so that any A user can see all user edits to media objects.
  • the collaborative editing process is divided into multiple editing cycles, and at the end of each editing cycle, all users in the editing cycle are divided into multiple editing cycles. All editing operations are shared among all user terminal devices participating in collaborative editing; at the end of each editing cycle, the currently displayed editing results are refreshed according to all editing operations of all users, so that all user terminals participating in collaborative editing
  • the synchronization of editing operations based on the editing cycle is implemented on the device.
  • FIG. 3 is a schematic diagram of a collaborative editing application scenario according to an embodiment of the present application.
  • user terminal devices P31, P32, P33, P34, and P35 of users A31 to A3n can be connected to shared display device Y31.
  • User A31 will need to collaboratively edit media objects (eg, text and/or pictures) Project the screen from P31 to the public sharing device (shared display device Y31).
  • Users A32 to A3n connect their user terminal devices (P32 to P35) to the shared display device Y31;
  • the display device Y31 coordinates the media objects shared by P31 to P32 to P35 across the terminals, and the shared display device Y31 displays the overall media object.
  • P31 to P35 can collaborate and edit this media object across devices.
  • P31 is connected to the shared display device Y31, and initiates collaborative editing for the media objects that need to be collaboratively edited; after the shared display device Y31 accepts the collaborative editing request initiated by P31, P31 sends the media objects that need to be collaboratively edited to the shared display device Y31 .
  • P32 ⁇ P35 are connected to the shared display device Y31, and request to join the collaborative editing; after the shared display device Y31 accepts the request to join the collaborative editing from P32 ⁇ P35, it shares the media objects that need to be collaboratively edited to P32 ⁇ P35.
  • FIG. 4 is a schematic flowchart of collaborative editing of multiple editing cycles for a media object according to an embodiment of the present application.
  • P31 to P35 need to perform collaborative editing on the media object 500 .
  • the users A32 and A33 simultaneously edit the media object 500 on the laptop computer P32 and the mobile phone P33, respectively.
  • the editing results displayed on the shared display devices Y31 and P31-P35 are the media object 501, which is the fusion of the media object 500 and the editing operations of user A32 and user A33.
  • the user A32 continues to edit on the laptop computer P32, and the users A31 and A34 are simultaneously editing on the tablet computer P31 and the mobile phone P34 respectively.
  • the editing results displayed on the shared display devices Y31, P31-P35 are the media object 502, and the media object 502 is the fusion of the media object 501 and the editing operation of the user A32, the editing operation of the user A31, and the editing operation of the user A34.
  • the user A33 simultaneously edits the media object 502 on the mobile phone P33.
  • the editing results displayed on the shared display devices Y31, P31-P35 are the media object 503, and the media object 503 is the fusion of the editing operation of the media object 502 and the user A33.
  • multiple user terminal devices can perform collaborative editing on the same media object, and different user terminal devices can perform editing operations at the same time, without queuing up to perform editing operations in turn, thereby greatly improving the editing performance. efficiency.
  • User terminal devices P31 to P35 in the embodiments of the present application include but are not limited to electronic devices such as smart phones, tablet computers, notebook computers, and desktop computers
  • shared display devices Y31 include but are not limited to electronic devices such as smart TVs, projectors, and large-screen displays. equipment.
  • Exemplary embodiments of the user terminal devices P31 to P35 and the shared display device Y31 include, but are not limited to, onboard Electronic devices with Windows, Linux, or other operating systems.
  • FIG. 5 shows a schematic diagram of a hardware structure of a user terminal device P31 provided by an embodiment of the present application.
  • the user terminal devices P32 to P35 and the shared display device Y31 may also adopt the hardware structure shown in FIG. 5 .
  • the user terminal device P31 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, audio module 170, speaker 170A, receiver 170B, microphone 170C, headphone jack 170D, sensor module 180, key 190, motor 191, indicator 192, camera 193, a display screen 194, and a subscriber identification module (subscriber identification module, SIM) card interface 195 and the like.
  • SIM subscriber identification module
  • the sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, and ambient light. Sensor 180L, bone conduction sensor 180M, etc.
  • the structures illustrated in the embodiments of the present application do not constitute a specific limitation on the user terminal device P31.
  • the user terminal device P31 may include more or less components than shown, or combine some components, or separate some components, or arrange different components.
  • the illustrated components may be implemented in hardware, software, or a combination of software and hardware.
  • Processor 110 may include one or more processing units.
  • the processor 110 may include an application processor (AP), a modem processor, a graphics processor (graphics processing unit, GPU), an image signal processor (ISP), a controller, a video Codec, digital signal processor (digital signal processor, DSP), baseband processor, and/or neural-network processing unit (neural-network processing unit, NPU), etc.
  • AP application processor
  • modem processor graphics processor
  • ISP image signal processor
  • controller a video Codec
  • digital signal processor digital signal processor
  • DSP digital signal processor
  • baseband processor baseband processor
  • neural-network processing unit neural-network processing unit
  • NPU neural-network processing unit
  • different processing units may be independent components, or may be integrated in one or more processors.
  • the user terminal device P31 may also include one or more processors 110 .
  • the controller can generate an operation control signal according to the instruction operation code and the timing signal, and complete the control of fetching and executing instructions.
  • the processor 110 may include one or more interfaces.
  • the interface may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (pulse code modulation, PCM) interface, a universal asynchronous receiver (universal asynchronous receiver) /transmitter, UART) interface, mobile industry processor interface (MIPI), general-purpose input/output (GPIO) interface, SIM card interface, and/or USB interface, etc.
  • the USB interface 230 is an interface that conforms to the USB standard specification, and may specifically be a Mini USB interface, a Micro USB interface, a USB Type C interface, and the like.
  • the USB interface 230 can be used to connect a charger to charge the user terminal device P31, and can also be used to transmit data between the user terminal device P31 and peripheral devices.
  • the interface connection relationship between the modules illustrated in the embodiments of the present application is only a schematic illustration, and does not constitute a structural limitation of the user terminal device P31.
  • the user terminal device P31 may also adopt different interface connection manners in the foregoing embodiments, or a combination of multiple interface connection manners.
  • the charging management module 240 is used to receive charging input from the charger.
  • the charger may be a wireless charger or a wired charger.
  • the charging management module 240 may receive charging input from the wired charger through the USB interface 230 .
  • the charging management module 240 may receive wireless charging input through the wireless charging coil of the user terminal device P31. While the charging management module 240 is charging the battery 242, the power management module 241 can also supply power to the user terminal device P31.
  • the power management module 141 is used for connecting the battery 142 , the charging management module 140 and the processor 110 .
  • the power management module 141 receives input from the battery 142 and/or the charging management module 140, and supplies power to the processor 110, the internal memory 121, the external memory interface 120, the wireless communication module 150, and the like.
  • the power management module 141 can also be used to monitor parameters such as battery capacity, battery cycle times, battery health status (leakage, impedance).
  • the power management module 141 may also be provided in the processor 110 .
  • the power management module 141 and the charging management module 140 may also be provided in the same device.
  • the wireless communication function of the user terminal device P31 may be implemented by the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modulation and demodulation processor, the baseband processor, and the like.
  • Antenna 1 and Antenna 2 are used to transmit and receive electromagnetic wave signals.
  • Each antenna in the user terminal equipment P31 may be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve antenna utilization.
  • the antenna 1 can be multiplexed as a diversity antenna of the wireless local area network. In other embodiments, the antenna may be used in conjunction with a tuning switch.
  • the mobile communication module 150 may provide a wireless communication solution including 2G/3G/4G/5G, etc. applied on the user terminal device P31.
  • the mobile communication module 150 may include at least one filter, switch, power amplifier, low noise amplifier (LNA) and the like.
  • the mobile communication module 150 can receive electromagnetic waves from the antenna 1, filter and amplify the received electromagnetic waves, and transmit them to the modulation and demodulation processor for demodulation.
  • the mobile communication module 150 can also amplify the signal modulated by the modulation and demodulation processor, and then turn it into an electromagnetic wave for radiation through the antenna 1 .
  • at least part of the functional modules of the mobile communication module 150 may be provided in the processor 110 .
  • the modem processor may include a modulator and a demodulator.
  • the modulator is used to modulate the low frequency baseband signal to be sent into a medium and high frequency signal.
  • the demodulator is used to demodulate the received electromagnetic wave signal into a low frequency baseband signal. Then the demodulator transmits the demodulated low-frequency baseband signal to the baseband processor for processing.
  • the low frequency baseband signal is processed by the baseband processor and passed to the application processor.
  • the application processor outputs sound signals through audio devices (not limited to the speaker 170A, the receiver 170B, etc.), or displays images or videos through the display screen 194 .
  • the modem processor may be a stand-alone device.
  • the modem processor may be independent of the processor 110, and may be provided in the same device as the mobile communication module 150 or other functional modules.
  • the wireless communication module 160 can provide wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (Bluetooth, BT), and global navigation applied on the user terminal device P31. Satellite system (global navigation satellite system, GNSS), frequency modulation (frequency modulation, FM), near field communication technology (near field communication, NFC), infrared technology (infrared, IR) and other wireless communication solutions.
  • the wireless communication module 160 may be one or more devices integrating at least one communication processing module.
  • the wireless communication module 160 receives electromagnetic waves via the antenna 2 , frequency modulates and filters the electromagnetic wave signals, and sends the processed signals to the processor 110 .
  • the wireless communication module 160 can also receive the signal to be sent from the processor 110 , perform frequency modulation on it, amplify it, and convert it into electromagnetic waves for radiation through the antenna 2 .
  • the antenna 1 of the user terminal device P31 is coupled to the mobile communication module 150, and the antenna 2 is coupled to the wireless communication module 160, so that the user terminal device P31 can communicate with the network and other devices through wireless communication technology.
  • the wireless communication technology may include global system for mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), broadband Code Division Multiple Access (WCDMA), Time Division Code Division Multiple Access (TD-SCDMA), Long Term Evolution (LTE), BT, GNSS, WLAN, NFC , FM, and/or IR technology, etc.
  • the GNSS may include global positioning system (global positioning system, GPS), global navigation satellite system (global navigation satellite system, GLONASS), Beidou navigation satellite system (beidou navigation satellite system, BDS), quasi-zenith satellite system (quasi -zenith satellite system, QZSS) and/or satellite based augmentation systems (SBAS).
  • global positioning system global positioning system, GPS
  • global navigation satellite system global navigation satellite system, GLONASS
  • Beidou navigation satellite system beidou navigation satellite system, BDS
  • quasi-zenith satellite system quadsi -zenith satellite system, QZSS
  • SBAS satellite based augmentation systems
  • the user terminal device P31 can realize the shooting function through the ISP, the camera 193, the video codec, the GPU, the display screen 194 and the application processor.
  • the external memory interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the user terminal device P31.
  • the external memory card communicates with the processor 110 through the external memory interface 120 to realize the data storage function. For example to save files like music, video etc in external memory card.
  • the user terminal device P31 may implement audio functions through an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, and an application processor. Such as music playback, recording, etc.
  • Internal memory 121 may be used to store one or more computer programs including instructions.
  • the processor 110 may execute the above-mentioned instructions stored in the internal memory 121, so that the user terminal device P31 executes the automatic unlocking method provided in some embodiments of the present application, and various applications and data processing.
  • the internal memory 121 may include a code storage area and a data storage area. Among them, the code storage area can store the operating system. The data storage area can store data and the like created during the use of the user terminal device P31.
  • the internal memory 121 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic disk storage components, flash memory components, universal flash storage (UFS), and the like.
  • the processor 110 may execute the instructions stored in the internal memory 121 and/or the instructions stored in the memory provided in the processor 110 to cause the user terminal device P31 to execute the instructions provided in the embodiments of the present application authentication methods, as well as other applications and data processing.
  • FIG. 6 is a schematic diagram illustrating an execution flow of a user terminal device according to an embodiment of the present application.
  • each terminal device in the user terminal devices (P31-P35) participating in the collaborative editing executes S500-S540 as shown in Fig. 6 .
  • the following describes the execution processes of S500 to S540 by taking the user terminal device P31 as an example.
  • P31 records all editing operations performed by user A31 on P31 in the current editing cycle, and aggregates them into a second editing operation record.
  • the editing operations are recorded by means of compression encoding for atomic operations.
  • atomic operations are defined according to all possible editing operations for the media object, and atomic operations are basic editing operations. For example, for text input (INSERT), copy (COPY), paste (PASTE), delete (DELETE); another example, for image pixel drawing.
  • Any user editing operation on a media object can be decomposed into a combination of one or more atomic operations. For example, the user modifies "one" in the text "first device” to "two", which can be decomposed to delete "one", and type "two” after "the first”; another example, the user draws a black circle on the picture, It can be decomposed to draw multiple black pixels in a row (eventually forming a circle).
  • P31 monitors the editing action of user A31 on P31 in real time, collects the editing content, and converts it into an atomic operation record without a causal sequence.
  • the atomic operation record includes:
  • Position operator the offset vector of the change information of a single operation in the baseline document
  • Auxiliary position operator Reference operation and reference offset vector when the position operators are the same.
  • P31 independently compresses and encodes the newly added atomic operation record in one editing cycle to generate an editing operation record (editing operation code).
  • each atomic operation record has no causal sequence.
  • the editing operation code includes:
  • Edit author the user account for modifying the document
  • Number of operations the number of atomic operations contained in the encoding package
  • Operational data Atomic operations record data.
  • P31 outputs the second editing operation record to the shared display device Y31.
  • P31 receives the first editing operation record sent by the shared display device Y31, the first editing operation record corresponds to all user terminal devices participating in the collaborative editing, and all other user terminal devices other than the user terminal device in the current editing cycle. all editing operations.
  • S630, P31 merges the editing operations corresponding to the first editing operation record and the second editing operation record to generate a collaborative editing result.
  • P31 synchronously generates the first editing result when user A31 performs an editing operation; when the current editing cycle ends, P31, according to the first editing operation record, The first editing result is edited, and the collaborative editing result of the current editing cycle is generated.
  • step 450 when the current editing cycle ends, P31 merges the first editing operation record and the second editing operation record; The object is edited to generate a collaborative editing result of the current editing cycle, wherein the media object corresponding to the current editing cycle is the collaborative editing result of the previous editing cycle.
  • the collaborative editing result adopts a layered echo mode, and the editing operations of each user are integrated to form a new text/new layer; the editing results of all users are presented in layers and completely. operate. That is, the collaborative editing result includes multiple display layers, and each display layer corresponds to an editing operation of a user; or, each display layer corresponds to an editing operation; or, each display layer corresponds to an atomic operation. In this way, editing for user operations, editing operations, or atomic operations can be implemented through operations on the display layer (eg, selecting, deleting, hiding, copying, etc.).
  • P31 decodes the editing operation code, and independently restores each atomic operation information according to the decoded data to form a new text/new layer.
  • Each layer contains:
  • Changed content the editing result of the atomic operation on the document
  • Change position Determine the display position of the changed content on the interface based on the position operator and the auxiliary position operator.
  • S640 is also included, and P31 refreshes the display of P31 according to the collaborative editing result.
  • P31 can also output the collaborative editing result to other terminal devices/display devices for display.
  • a step of accepting the baseline is also included: the user A31 confirms and accepts the historical operation process and results on P31, solidifies the current editing state, and forms a new baseline; or, P31 accepts other terminal devices (P32 ⁇ P35) New baseline sent.
  • a saving process is also included, that is, when the collaborative editing ends, the user A31 saves the editing result of the collaborative editing on P31.
  • the saving process can be triggered by user A31 on P31, or can be triggered by other users (A32-A35) on other terminal devices (P32-P35).
  • the edited content is merged into the initial version to form a new version file and saved.
  • the save process supports two forms of save:
  • Operation save keep operation process records and edit process data.
  • FIG. 7 is a schematic diagram illustrating an execution flow of the shared display device Y31 according to an embodiment of the present application.
  • the shared display device Y31 executes the following process as shown in Figure 7:
  • Y31 receives the editing operation records of all editing operations in the current editing cycle from P31 to P35;
  • S703, Y31 merges all editing operations of P31 to P35 in the current editing cycle to generate the collaborative editing result of the current editing cycle; please refer to S630 for the specific implementation;
  • S704 refresh the display of the shared display device Y31 according to the collaborative editing result; please refer to S640 for specific implementation.
  • collaborative editing method proposed in the embodiment of the present application can also be applied to other collaborative editing application scenarios other than the application scenario shown in FIG. 3 .
  • the shared display device Y31 is not configured, but a cloud conference server is used instead of the shared display device Y31 to construct online collaborative editing.
  • a cloud conference server is used instead of the shared display device Y31 to construct online collaborative editing.
  • user A21 uses P21 to initiate collaborative editing to cloud conference server Y20; users A22, A23, A24 and A25 use P22, P23 respectively , P24 and P25 to join collaborative editing.
  • P21 loads the media objects that need to be edited together and sends the media objects to the cloud conference server Y20; the cloud conference server Y20 distributes the media objects to P22, P23, P24 and P25 based on the distributed media data management capability; P22, P23, P24 and P25 Load media objects individually.
  • the editing operations of users A21, A22, A23, A24 and A25 on P21, P22, P23, P24 and P25 are sent to the cloud conference server Y20; the cloud conference server Y20 forwards the received editing operations to the sending User terminal equipment other than the party; P21, P22, P23, P24 and P25 generate editing results according to the synchronous editing operations of users A21, A22, A23, A24 and A25, and synchronously refresh their own display of media objects according to the editing results .
  • P21 to P25 execute the flow shown in FIG. 6 .
  • the cloud conference server Y20 executes S701 and S702 as shown in FIG. 7 .
  • the shared display device Y31 is not configured, but one of the terminal devices participating in the collaborative editing is used to replace the shared display device Y31.
  • the P31 performs the following steps:
  • P31 records all editing operations performed by user A31 on P31 in the current editing cycle, and aggregates them into a second editing operation record
  • P31 receives the editing operation records of all editing operations in the current editing cycle from P32 to P35;
  • P31 forwards the editing operation record of the current editing cycle to other devices other than the sender
  • P31 merges all editing operations of P31 to P35 in the current editing cycle to generate the collaborative editing result of the current editing cycle; please refer to S630 for the specific implementation;
  • P31 refreshes the display of the shared display device Y31 according to the collaborative editing result; please refer to S640 for specific implementation.
  • FIG. 8 is a schematic diagram showing an editing effect of collaborative editing of pictures according to an embodiment of the present application.
  • the media object that needs to be edited collaboratively is the picture shown as 800 in FIG. 8 .
  • users A32 and A33 want to perform editing operations on the picture 800 .
  • user A32 wishes to draw a circle on area 801
  • user A33 wishes to draw a cross on area 802 .
  • users A32 and A33 can perform respective editing operations synchronously on P32 and P33, respectively.
  • P32 sends the editing operation (the process of drawing a circle on the area 801) of user A32 in the editing cycle to the shared display device Y31
  • the shared display device Y31 sends the editing operation sent by P32 to P31, P33 ⁇ P35.
  • P33 sends the editing operation of user A33 in the editing cycle (the process of drawing a cross on the area 802) to the shared display device Y31
  • the shared display device Y31 sends the editing operation sent by P33 to P31, P32, P34 ⁇ P35.
  • P31 to P35 and the shared display device Y31 generate editing results and refresh the display according to the editing operation of the user A32 and the editing operation of the user A33. Finally, the same collaborative editing results are displayed on P31 to P35 and the shared display device Y31. For example, assuming that P33 is a mobile phone, P33 displays the interface shown in 803 in FIG. 8 .
  • FIG. 9 is a schematic diagram illustrating an editing effect of collaborative text editing according to an embodiment of the present application.
  • the media object that needs to be collaboratively edited is the text shown as 900 in FIG. 9 .
  • users A32 and A33 want to perform editing operations on the text 900 .
  • user A32 wishes to delete "also known as the Internet” in text 900;
  • user A33 wishes to change "Internet (Internet), Internet” in text 900 to "Internet or Internet” .
  • users A32 and A33 can perform respective editing operations synchronously on P32 and P33, respectively.
  • P32 sends the editing operation of user A32 in the editing cycle (deleting "also known as the Internet") to the shared display device Y31
  • the shared display device Y31 sends the editing operation sent by P32 to P31, P33 ⁇ P35.
  • P33 sends the editing operation of user A33 in the editing cycle (change "Internet (Internet), Internet” to "Internet or Internet”) to the shared display device Y31, and share the The display device Y31 sends the editing operation sent by P33 to P31, P32, and P34 to P35.
  • P31 to P35 and the shared display device Y31 generate editing results and refresh the display according to the editing operation of the user A32 and the editing operation of the user A33.
  • the final display results on P31 to P35 and the shared display device Y31 are shown as text 903 in FIG. 9 .
  • each user terminal device participating in collaborative editing performs sharing and synchronization of editing operations at the end of the editing period, the editing operations may be continuously performed during the editing period. Therefore, during the editing cycle, there may be situations in which the editing operation process and the editing result of the media object are not synchronized between different user terminal devices. The shorter the editing period is set, the better the synchronization between the editing results displayed on the user terminal device and the user editing operations on other user terminal devices.
  • the editing result displayed by the user terminal device includes editing traces of multiple different users.
  • the editing operation is bound to the user identification (eg, user account) of A31.
  • the editing operation records sent by the shared display device Y31 are all bound with the user IDs who performed the editing operation.
  • P31 marks the editing operations included in the collaborative editing result according to the difference of the user IDs bound to the editing operation records (for example, using different colors to mark the editing operations of different users; for example, adding additional editing operations to the editing operation) Annotation, mark the user ID in the annotation).
  • user A32 draws a circle on area 801 and user A33 draws a cross on area 802 using the default color (black).
  • the circle drawn by user A32 is displayed in red, and the cross drawn by user A33 is displayed in blue.
  • FIG. 10 a schematic diagram of the editing effect of collaborative editing of pictures.
  • the user A32 wishes to draw a circle on the area 1001
  • the user A33 wishes to draw a cross on the area 1001 .
  • the editing operations of user A32 and user A33 will conflict, and the merged editing results are likely to be displayed in confusion.
  • the editing operation is shared with user terminal devices of other users participating in collaborative editing.
  • a user terminal device receives an editing operation shared by other user terminal devices, it not only combines the editing operations to generate an editing result, but also locks the editing area corresponding to the editing operation, and the user cannot edit the locked editing area. edit.
  • the locked state is released, and then the user can edit the editing area based on the completed editing result.
  • FIG. 11 is a schematic diagram showing an editing effect of collaborative editing of pictures according to an embodiment of the present application.
  • user A32 when user A32 starts to draw a circle on area 1101, user A33 cannot draw a cross on area 1101, and can only wait for the user to start drawing a circle on area 1101. Edit on the basis. For example, assuming that P33 is a mobile phone, user A33 edits area 1102 in the interface shown in FIG. 1103 .
  • conflicting editing operations in another embodiment of the present application, multiple users perform editing operations at the same time and share the editing operations with each other. Conflicting editing operations are merged separately to obtain multiple editing results.
  • the user terminal device displays the multiple editing results to the user respectively (eg, split-screen display), so that the users can discuss with each other to confirm the finally adopted editing result.
  • FIG. 12 is a schematic diagram showing an editing effect of collaborative editing of pictures according to an embodiment of the present application.
  • user A32 draws a circle on area 1201
  • user A33 draws a cross on area 1201 .
  • the same collaborative editing results are displayed on P31 to P35 and the shared display device Y31.
  • P33 is a mobile phone
  • P33 displays a display interface as shown in picture 1202 in FIG. 12 .
  • an improvement in a technology can be clearly differentiated between improvements in hardware (for example, improvements to circuit structures such as diodes, transistors, switches, etc.) or improvements in software (improvements in method procedures). ).
  • improvements in hardware for example, improvements to circuit structures such as diodes, transistors, switches, etc.
  • improvements in software improvements in method procedures.
  • the improvement of many methods and processes today can be regarded as a direct improvement of the hardware circuit structure.
  • Designers almost get the corresponding hardware circuit structure by programming the improved method flow into the hardware circuit. Therefore, it cannot be said that the improvement of a method flow cannot be realized by hardware entity modules.
  • a programmable logic device P2rogrA2mmA2ble Logic Device, P2LD
  • P2LD programmable logic device
  • Field P2rogrA2mmA2ble GA2te A2rrA2Y2, FP2GA2 programmable logic device
  • the controller may be implemented in any suitable manner, for example, the controller may take the form of eg a microprocessor or processor and a computer readable medium storing computer readable program code (eg software or firmware) executable by the (micro)processor , logic gates, switches, application specific integrated circuits (A2P2P2licA2tion SP2ecific IntegrA2ted Circuit, A2SIC), programmable logic controllers and embedded microcontrollers, examples of controllers include but are not limited to the following microcontrollers: A2RC 625D, A2tmel A2T91SA2M, MicrochiP2 P2IC18F26K20 and Silicon LA2bs C8051F320, the memory controller can also be implemented as part of the control logic of the memory.
  • the controller may take the form of eg a microprocessor or processor and a computer readable medium storing computer readable program code (eg software or firmware) executable by the (micro)processor , logic gates, switches, application specific integrated circuits (A2P2
  • the controller in addition to implementing the controller in the form of pure computer-readable program code, the controller can be implemented as logic gates, switches, application-specific integrated circuits, programmable logic controllers and embedded devices by logically programming the method steps.
  • the same function can be realized in the form of a microcontroller, etc. Therefore, such a controller can be regarded as a hardware component, and the devices included therein for realizing various functions can also be regarded as a structure within the hardware component. Or even, the means for implementing various functions can be regarded as both a software module implementing a method and a structure within a hardware component.
  • each module/unit for the convenience of description, when describing the device, functions are divided into various modules/units for description, and the division of each module/unit is only a logical function division. At the same time, the functions of each module/unit may be implemented in one or more software and/or hardware.
  • the apparatuses proposed in the embodiments of the present application may be fully or partially integrated into a physical entity during actual implementation, or may be physically separated.
  • these modules can all be implemented in the form of software calling through processing elements; they can also all be implemented in hardware; some modules can also be implemented in the form of software calling through processing elements, and some modules can be implemented in hardware.
  • the detection module may be a separately established processing element, or may be integrated in a certain chip of the electronic device.
  • the implementation of other modules is similar.
  • all or part of these modules can be integrated together, and can also be implemented independently.
  • each step of the above-mentioned method or each of the above-mentioned modules can be completed by an integrated logic circuit of hardware in the processor element or an instruction in the form of software.
  • the above modules may be one or more integrated circuits configured to implement the above methods, such as: one or more specific integrated circuits (A2P2P2licA2tion SP2ecific IntegrA2ted Circuit, A2SIC), or, one or more digital signal processors ( DigitA2l SingnA2l P2rocessor, DSP2), or, one or more field programmable gate arrays (Field P2rogrA2mmA2ble GA2te A2rrA2Y2, FP2GA2), etc.
  • these modules can be integrated together and implemented in the form of an on-chip device (SY2stem-On-A2-ChiP2, SOC).
  • An embodiment of the present application also provides an electronic device, the electronic device includes a memory for storing computer program instructions and a processor for executing the program instructions, wherein when the computer program instructions are executed by the processor, the electronic device is triggered The device executes the method steps described in the embodiments of the present application.
  • the above-mentioned one or more computer programs are stored in the above-mentioned memory, and the above-mentioned one or more computer programs include instructions.
  • the above-mentioned instructions are executed by the above-mentioned device, the above-mentioned device is made to execute the application. The method steps described in the examples.
  • the processor of the electronic device may be an on-chip device SOC, and the processor may include a central processing unit (CentrA21 P2rocessing Unit, CPU2U), and may further include other types of processors.
  • the processor of the electronic device may be a P2WM control chip.
  • the involved processor may include, for example, a CPU2U, a DSP2, a microcontroller or a digital signal processor, and may also include a GP2U, an embedded neural network processor (NeurA2l-network P2rocess Units, NP2U ) and an image signal processor (ImA2ge SignA2l P2rocessing, ISP2), the processor may also include necessary hardware accelerators or logic processing hardware circuits, such as A2SIC, or one or more integrated circuits for controlling the execution of the program of the technical solution of the present application Wait. Furthermore, the processor may have the function of operating one or more software programs, which may be stored in a storage medium.
  • the memory of the electronic device may be a read-only memory (reA2d-onlY2 memoryY2, ROM), other types of static storage devices that can store static information and instructions, random access memory (rA2ndom A2access memorY2, RA2M) or other types of dynamic storage devices that can store information and instructions, or electrically erasable programmable read-only memory (electricA2llY2 erA2sA2ble P2rogrA2mmA2ble reA2d-onlY2 memorY2, EEP2ROM), CD-ROM (comP2A2ct disc reA2d-onlY2 memorY2, CD-ROM) or other optical disc storage, optical disc storage (including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or can also be used for portable or Any computer-readable medium that stores desired program code in the form of instructions or data structures and can be rA2ndom A2access memor
  • a processor may be combined with a memory to form a processing device, which is more commonly an independent component.
  • the processor is used to execute program codes stored in the memory to implement the method described in the embodiment of the present application.
  • the memory can also be integrated in the processor, or be independent of the processor.
  • the device described in the embodiments of the present application may be specifically implemented by a computer chip or an entity, or implemented by a product having a certain function.
  • the embodiments of the present application may be provided as a method, an apparatus, or a computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media having computer-usable program code embodied therein.
  • any function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium.
  • the technical solution of the present application can be embodied in the form of a software product in essence, or the part that contributes to the prior art or the part of the technical solution.
  • the computer software product is stored in a storage medium, including Several instructions are used to cause a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application.
  • an embodiment of the present application further provides a computer-readable storage medium, where a computer program is stored in the computer-readable storage medium, and when it runs on a computer, the computer executes the method provided by the embodiment of the present application.
  • An embodiment of the present application further provides a computer program product, where the computer program product includes a computer program that, when running on a computer, causes the computer to execute the method provided by the embodiment of the present application.
  • These computer program instructions may be provided to the processor of a general purpose computer, special purpose computer, embedded processor or other programmable data processing device to produce a machine such that the instructions executed by the processor of the computer or other programmable data processing device produce Means for implementing the functions specified in a flow or flow of a flowchart and/or a block or blocks of a block diagram.
  • These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory result in an article of manufacture comprising instruction means, the instructions
  • the apparatus implements the functions specified in the flow or flow of the flowcharts and/or the block or blocks of the block diagrams.
  • At least one of A2, b and c can represent: A2, b, c, A2 and b, A2 and c, b and c or A2 and b and c, where A2, b, c can be single, or Can be multiple.
  • the terms “comprising”, “comprising” or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements not only includes those elements, but also includes Other elements not expressly listed, or which are inherent to such a process, method, article of manufacture, or apparatus are also included.
  • an element qualified by the phrase “comprising a" does not preclude the presence of additional identical elements in the process, method, article of manufacture, or device that includes the element.
  • the application may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer.
  • program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types.
  • the application may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network.
  • program modules may be located in both local and remote computer storage media including storage devices.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Document Processing Apparatus (AREA)

Abstract

Embodiments of the present application provide a collaborative editing method and a terminal device. The terminal device comprises: a processor, a memory, and a computer program. When the computer program is executed by the processor, the terminal device is enabled to perform: obtaining a first editing operation record, the first editing operation record corresponding to all editing operations performed in the current editing period by all other terminal devices, except for said terminal device, among all terminal devices participating in collaborative editing; and, generating a collaborative editing result of the current editing period according to the first editing operation record on the basis of a collaborative editing result of the previous editing period of the current editing period. The method comprises: multiple terminal devices perform collaborative editing on a same media object according to the terminal device and the collaborative editing method of the embodiments of the present application, and different user terminal devices can simultaneously perform editing operation without queuing up for editing operation in turns, thereby greatly improving the editing efficiency.

Description

一种协同编辑方法和终端设备A collaborative editing method and terminal device 技术领域technical field
本申请涉及智能终端技术领域,特别涉及一种协同编辑方法和终端设备。The present application relates to the technical field of intelligent terminals, and in particular, to a collaborative editing method and terminal device.
背景技术Background technique
多人协同办公是一种常见的办公应用场景,例如,多人在会议室面对面讨论方案。随着计算机技术的发展,个人电脑在办公应用场景中的使用也不断普及,在多人协同办公应用场景中,也引入了计算机终端的使用,例如,在会议室通过办公设备(手机,P2A2D,P2C)将文件投放到大屏显示设备进行展示,以便分享给所有与会者进行讨论。Multi-person collaborative work is a common office application scenario. For example, multiple people discuss solutions face-to-face in a conference room. With the development of computer technology, the use of personal computers in office application scenarios has also been popularized. In multi-person collaborative office application scenarios, the use of computer terminals has also been introduced. P2C) put the file on the large-screen display device for display, so that it can be shared with all participants for discussion.
在多人协同办公应用场景中,经常需要多人协同编辑同一份待编辑文件,例如,与领导进行协商沟通,文字、表格、演示等反复修改等。在多人协同编辑的应用场景中,当一个文件修改建议被提出时,可能需要进行反复讨论后才能确定是否落实该文件修改建议;一个文件修改建议被落实后,可能需要基于该落实的文件修改建议进一步讨论之后的文件修改建议;并且,在进一步的讨论过程中,也可能推翻之前已落实的文件修改建议。In multi-person collaborative office application scenarios, multiple people are often required to collaboratively edit the same document to be edited, for example, negotiating and communicating with leaders, and repeatedly modifying text, forms, and presentations. In the application scenario of multi-person collaborative editing, when a file modification suggestion is proposed, it may be necessary to conduct repeated discussions to determine whether to implement the file modification suggestion; after a file modification suggestion is implemented, it may be necessary to modify the file based on the implementation. Proposals for document revisions following further discussion are recommended; and, in the course of further discussions, previously implemented document revision proposals may also be overturned.
因此,为了便于对待编辑文件的修改建议进行讨论,在多人协同编辑的应用场景中,需要随着修改建议的提出,对当前展示的文件进行同步编辑,以便形象的展示修改建议对应的文件展示结果。因此,需要一种针对多人协同编辑应用场景的文件编辑办法。Therefore, in order to facilitate the discussion on the modification suggestions of the edited files, in the application scenario of multi-person collaborative editing, it is necessary to synchronously edit the currently displayed files with the modification suggestions, so as to visually display the files corresponding to the modification suggestions. result. Therefore, there is a need for a file editing method for multi-person collaborative editing application scenarios.
发明内容SUMMARY OF THE INVENTION
针对现有技术下多人协同编辑应用场景中如何进行文件编辑的问题,本申请提供了一种方案编辑方法、装置和电子设备,本申请还提供一种计算机可读存储介质。Aiming at the problem of how to perform file editing in the multi-person collaborative editing application scenario in the prior art, the present application provides a scheme editing method, apparatus and electronic device, and the present application also provides a computer-readable storage medium.
本申请实施例采用下述技术方案:The embodiment of the present application adopts the following technical solutions:
第一方面,本申请提供一种终端设备,所述终端设备包括:In a first aspect, the present application provides a terminal device, where the terminal device includes:
处理器;processor;
存储器;memory;
以及计算机程序,其中所述计算机程序存储在所述存储器上,当所述计算机程序被所述处理器执行时,使得所述终端设备执行以下步骤:and a computer program, wherein the computer program is stored on the memory, and when the computer program is executed by the processor, causes the terminal device to perform the following steps:
获取第一编辑操作记录,所述第一编辑操作记录对应参与协同编辑的所有终端设备中,所述终端设备以外的所有其他终端设备,在当前编辑周期中所进行的所有编辑操作;Acquiring a first editing operation record, the first editing operation record corresponds to all the editing operations performed in the current editing cycle in all terminal devices participating in the collaborative editing, and all other terminal devices other than the terminal device;
基于所述当前编辑周期的上一编辑周期的协同编辑结果,根据所述第一编辑操作记录生成所述当前编辑周期的协同编辑结果。Based on the collaborative editing result of the previous editing cycle of the current editing cycle, the collaborative editing result of the current editing cycle is generated according to the first editing operation record.
在第一方面的一种实现方式中:In one implementation of the first aspect:
所述终端设备还执行:记录所述当前编辑周期中,在所述终端设备上进行的所有编辑操作,汇总为第二编辑操作记录;输出所述第二编辑操作记录;The terminal device further performs: recording all editing operations performed on the terminal device in the current editing cycle, and summarizing them into a second editing operation record; and outputting the second editing operation record;
所述根据所述第一编辑操作记录生成所述当前编辑周期的协同编辑结果,包括:合并所述第一编辑操作记录以及所述第二编辑操作记录的编辑操作,生成所述当前编辑周期的 协同编辑结果。The generating the collaborative editing result of the current editing cycle according to the first editing operation record includes: merging the editing operations of the first editing operation record and the second editing operation record, and generating the editing operation of the current editing cycle. Collaborative editing results.
在第一方面的一种实现方式中,所述记录在所述终端设备上进行的编辑操作,生成第一编辑操作记录,包括:In an implementation manner of the first aspect, the recording of an editing operation performed on the terminal device generates a first editing operation record, including:
将用户在所述终端设备上的编辑动作转换为原子操作记录。Convert the user's editing action on the terminal device into an atomic operation record.
在第一方面的一种实现方式中,所述记录在所述终端设备上进行的编辑操作,生成第一编辑操作记录,还包括:In an implementation manner of the first aspect, the recording of the editing operation performed on the terminal device generates a first editing operation record, further comprising:
将所述原子操作记录进行独立压缩编码,生成所述第一编辑操作记录。The atomic operation record is independently compressed and encoded to generate the first editing operation record.
在第一方面的一种实现方式中,所述协同编辑结果包括多个显示层。In an implementation manner of the first aspect, the collaborative editing result includes multiple display layers.
第二方面,本申请提供一种协同编辑方法,应用于终端设备,所述终端设备包括:处理器;存储器;所述方法包括:In a second aspect, the present application provides a collaborative editing method, which is applied to a terminal device, where the terminal device includes: a processor; a memory; the method includes:
获取第一编辑操作记录,所述第一编辑操作记录对应参与协同编辑的所有终端设备中,所述终端设备以外的所有其他终端设备,在当前编辑周期中所进行的所有编辑操作;Acquiring a first editing operation record, the first editing operation record corresponds to all the editing operations performed in the current editing cycle in all terminal devices participating in the collaborative editing, and all other terminal devices other than the terminal device;
基于所述当前编辑周期的上一编辑周期的协同编辑结果,根据所述第一编辑操作记录生成所述当前编辑周期的协同编辑结果。Based on the collaborative editing result of the previous editing cycle of the current editing cycle, the collaborative editing result of the current editing cycle is generated according to the first editing operation record.
在第二方面的一种实现方式中:In one implementation of the second aspect:
所述方法还包括:记录所述当前编辑周期中,在所述终端设备上进行的所有编辑操作,汇总为第二编辑操作记录;输出所述第二编辑操作记录;The method further includes: recording all editing operations performed on the terminal device in the current editing cycle, and summarizing them into a second editing operation record; outputting the second editing operation record;
所述根据所述第一编辑操作记录生成所述当前编辑周期的协同编辑结果,包括:合并所述第一编辑操作记录以及所述第二编辑操作记录的编辑操作,生成所述当前编辑周期的协同编辑结果。The generating the collaborative editing result of the current editing cycle according to the first editing operation record includes: merging the editing operations of the first editing operation record and the second editing operation record, and generating the editing operation of the current editing cycle. Collaborative editing results.
在第二方面的一种实现方式中,所述记录在所述终端设备上进行的编辑操作,生成第一编辑操作记录,包括:In an implementation manner of the second aspect, the recording of the editing operation performed on the terminal device to generate a first editing operation record includes:
将用户在所述终端设备上的编辑动作转换为原子操作记录。Convert the user's editing action on the terminal device into an atomic operation record.
在第二方面的一种实现方式中,所述记录在所述终端设备上进行的编辑操作,生成第一编辑操作记录,还包括:In an implementation manner of the second aspect, the recording of the editing operation performed on the terminal device to generate a first editing operation record further includes:
将所述原子操作记录进行独立压缩编码,生成所述第一编辑操作记录。The atomic operation record is independently compressed and encoded to generate the first editing operation record.
在第二方面的一种实现方式中,所述协同编辑结果包括多个显示层。In an implementation of the second aspect, the collaborative editing result includes multiple display layers.
第三方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如第二方面所述的方法。In a third aspect, the present application provides a computer-readable storage medium, where a computer program is stored in the computer-readable storage medium, which, when executed on a computer, causes the computer to execute the method according to the second aspect.
根据本申请实施例所提出的上述技术方案,至少可以实现下述技术效果:According to the above-mentioned technical solutions proposed in the embodiments of the present application, at least the following technical effects can be achieved:
根据本申请实施例的终端设备以及协同编辑方法,可以实现多个终端设备针对同一媒体对象进行协同编辑,不同的终端设备可以同时进行编进操作,而无需排队轮流进行编辑操作,从而大大提高了编辑效率。According to the terminal device and the collaborative editing method according to the embodiments of the present application, multiple terminal devices can perform collaborative editing on the same media object, and different terminal devices can perform editing operations at the same time, without queuing up to perform editing operations in turn, thereby greatly improving the efficiency of editing. Editing efficiency.
附图说明Description of drawings
图1所示为根据本申请一实施例的协同编辑应用场景示意图;FIG. 1 is a schematic diagram of a collaborative editing application scenario according to an embodiment of the present application;
图2所示为根据本申请一实施例的协同编辑应用场景示意图;FIG. 2 is a schematic diagram of a collaborative editing application scenario according to an embodiment of the present application;
图3所示为根据本申请一实施例的协同编辑应用场景示意图。。FIG. 3 is a schematic diagram illustrating an application scenario of collaborative editing according to an embodiment of the present application. .
图4所示为根据本申请一实施例对媒体对象进行多个编辑周期的协同编辑的流程 示意图;Fig. 4 is a schematic flowchart of collaborative editing of multiple editing cycles for media objects according to an embodiment of the present application;
图5所示为本申请实施例提供的终端设备的硬件结构示意图;FIG. 5 is a schematic diagram of a hardware structure of a terminal device provided by an embodiment of the present application;
图6所示为根据本申请一实施例的用户终端设备执行流程示意图;FIG. 6 is a schematic diagram illustrating an execution flow of a user terminal device according to an embodiment of the present application;
图7所示为根据本申请一实施例的共享显示设备执行流程示意图;FIG. 7 is a schematic diagram illustrating an execution flow of a shared display device according to an embodiment of the present application;
图8所示为根据本申请一实施例进行图片协同编辑的编辑效果示意图;FIG. 8 is a schematic diagram showing the editing effect of collaborative editing of pictures according to an embodiment of the present application;
图9所示为根据本申请一实施例进行文字协同编辑的编辑效果示意图;9 is a schematic diagram showing an editing effect of collaborative text editing according to an embodiment of the present application;
图10所示为根据本申请一实施例进行图片协同编辑的编辑效果示意图;FIG. 10 is a schematic diagram showing the editing effect of collaborative editing of pictures according to an embodiment of the present application;
图11所示为根据本申请一实施例进行图片协同编辑的编辑效果示意图;FIG. 11 is a schematic diagram showing the editing effect of collaborative editing of pictures according to an embodiment of the present application;
图12所示为根据本申请一实施例进行图片协同编辑的编辑效果示意图。FIG. 12 is a schematic diagram showing an editing effect of collaborative editing of pictures according to an embodiment of the present application.
具体实施方式Detailed ways
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。In order to make the objectives, technical solutions and advantages of the present application clearer, the technical solutions of the present application will be clearly and completely described below with reference to the specific embodiments of the present application and the corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of the present application, but not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present application.
本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。The terms used in the embodiments of the present application are only used to explain specific embodiments of the present application, and are not intended to limit the present application.
针对多人协同编辑应用场景,一种可行的实现方式是通过一台办公设备发起文件展示并在发起文件展示的办公设备上进行文件同步编辑。For the multi-person collaborative editing application scenario, a feasible implementation method is to initiate file display through one office device and perform file synchronization editing on the office device that initiates the file display.
例如,多人在一会议室对项目方案进行讨论,协同编辑项目方案的描述文件。图1所示为根据本申请一实施例的协同编辑应用场景示意图。如图1所示,会议室的笔记本电脑100连接大屏显示设备110。笔记本电脑100上加载项目方案的描述文件,笔记本电脑100输出文件视图到大屏显示设备110从而将项目方案展示给会议室内的与会者。在与会者进行讨论过程中,与会者根据讨论内容对笔记本电脑100上的项目方案的描述文件进行同步编辑并将同步编辑的编辑结果输出到大屏显示设备110进行展示;基于大屏显示设备110展示内容进行进一步的讨论。For example, multiple people discuss the project plan in a conference room and edit the description file of the project plan collaboratively. FIG. 1 is a schematic diagram illustrating an application scenario of collaborative editing according to an embodiment of the present application. As shown in FIG. 1 , the notebook computer 100 in the conference room is connected to a large-screen display device 110 . The description file of the project proposal is loaded on the laptop computer 100, and the laptop computer 100 outputs the file view to the large-screen display device 110 to display the project proposal to the participants in the conference room. During the discussion of the participants, the participants synchronously edit the description file of the project scheme on the notebook computer 100 according to the discussion content, and output the synchronously edited editing result to the large-screen display device 110 for presentation; based on the large-screen display device 110 Show content for further discussion.
又例如,多人通过线上会议方式对项目方案进行讨论,协同编辑项目方案的描述文件。图2所示为根据本申请一实施例的协同编辑应用场景示意图如图2所示,用户终端设备P21~P25分别为用户A21~A25的用户终端设备。云会议服务器Y20为提供线上会议服务的服务器。For another example, multiple people discuss the project plan through an online meeting, and collaboratively edit the description file of the project plan. FIG. 2 is a schematic diagram of a collaborative editing application scenario according to an embodiment of the present application. As shown in FIG. 2 , user terminal devices P21 to P25 are user terminal devices of users A21 to A25, respectively. The cloud conference server Y20 is a server that provides online conference services.
在进行线上会议时,用户A21使用P21在云会议服务器Y20上发起线上会议,用户A22、A23、A24以及A25分别使用自身的用户终端设备P22、P23、P24以及P25连接到云会议服务器Y20以参与会议。在线上会议进程中,假设由用户A22发起展示项目方案的描述文件,则P22加载项目方案的描述文件,P22输出文件视图到云会议服务器Y20,云会议服务器Y20将文件视图分享到P21、P23、P24以及P25。在用户A21、A22、A23、A24以及A25进行讨论过程中,用户A22根据讨论内容对P22上的项目方案的描述文件进行同步编辑并将同步编辑的编辑结果输出到云会议服务器Y20;云会议服务器Y20将编辑结果分享到P21、P23、P24以及P25;用户A21、A22、A23、A24以及A25分别基于P21、P23、P24以及P25展示的编辑结果进行进一步的讨论。During an online conference, user A21 uses P21 to initiate an online conference on cloud conference server Y20, and users A22, A23, A24 and A25 use their own user terminal devices P22, P23, P24 and P25 to connect to cloud conference server Y20 respectively to participate in the meeting. In the online meeting process, if user A22 initiates the presentation of the description file of the project proposal, P22 loads the description file of the project proposal, P22 outputs the file view to the cloud conference server Y20, and the cloud conference server Y20 shares the file view to P21, P23, P24 and P25. During the discussion between users A21, A22, A23, A24 and A25, user A22 synchronously edits the description file of the project plan on P22 according to the discussion content and outputs the synchronously edited editing result to the cloud conference server Y20; the cloud conference server Y20 shares the editing results to P21, P23, P24, and P25; users A21, A22, A23, A24, and A25 conduct further discussions based on the editing results displayed by P21, P23, P24, and P25, respectively.
在图1以及图2所示的应用场景中,只能在发起文件分享展示的办公设备上进行文件的同步编辑,然而,当进行同步编辑的与会者不是文件修改建议的提出者时,进行同步编辑的与会者可能需要多次确认文件修改建议后才能理解如何进行编辑,或者,进行编辑的与会者可能需要反复多次进行编辑后才能达到文件修改建议所对应的正确编辑结果,这无疑会大大拉长编辑耗时,降低办公效率。In the application scenarios shown in Figure 1 and Figure 2, the synchronous editing of files can only be performed on the office equipment that initiates the file sharing and presentation. Editing participants may need to confirm the file modification suggestions several times before they can understand how to edit, or, editing participants may need to repeatedly edit the file to achieve the correct editing results corresponding to the file modification suggestions. Lengthening editing time and reducing office efficiency.
针对上述问题,一种可行的实现方案是,由提出文件修改建议的与会者进行同步编辑,从而避免由于无法理解文件修改建议而导致拉长编辑耗时。In view of the above problems, a feasible implementation solution is that the participants who propose file modification suggestions perform synchronous editing, so as to avoid lengthening and time-consuming editing due to inability to understand the file modification suggestions.
例如,在图1所示应用场景中,当与会者A11提出文件修改建议时,与会者A11移动到笔记本电脑100的操作位置,由与会者A11在笔记本电脑100上进行同步编辑;当与会者A12提出文件修改建议时,与会者A12移动到笔记本电脑100的操作位置,由与会者A12在笔记本电脑100上进行同步编辑。For example, in the application scenario shown in FIG. 1, when participant A11 proposes file modification, participant A11 moves to the operating position of laptop computer 100, and participant A11 performs synchronous editing on laptop computer 100; When a file modification suggestion is proposed, the participant A12 moves to the operating position of the notebook computer 100, and the participant A12 performs synchronous editing on the notebook computer 100.
又例如,在图2所示应用场景中,当用户A21提出文件修改建议时,云会议服务器Y20将编辑权限下发到P21,用户A21在P21上进行同步编辑;当用户A22提出文件修改建议时,云会议服务器Y20将编辑权限下发到P22,用户A22在P22上进行同步编辑。For another example, in the application scenario shown in FIG. 2 , when user A21 proposes file modification, cloud conference server Y20 issues editing authority to P21, and user A21 performs synchronous editing on P21; when user A22 proposes file modification , the cloud conference server Y20 issues the editing authority to P22, and user A22 performs synchronous editing on P22.
基于上述方案,虽然有效缩短了每次进行同步编辑的编辑耗时,但是,在多人协同编辑应用场景中,由于参与编辑的用户(与会者)为多个,因此,会出现多个用户同时提出多个文件修改建议,或者,短时间内多个用户陆续提出多个文件修改建议的情况。而如果一次只能针对一个用户的文件修改建议进行同步编辑,那么编辑速度往往无法赶上文件修改建议的提出速度,这就会最终导致出现用户停止讨论等待当前进行同步编辑的用户完成编辑的情况,从而大大降低办公效率。Based on the above solution, although the time-consuming editing of synchronous editing is effectively shortened each time, in the multi-person collaborative editing application scenario, since there are multiple users (participants) participating in editing, multiple users may appear at the same time. Multiple file modification suggestions are proposed, or multiple users have successively proposed multiple file modification suggestions in a short period of time. However, if only one user's file modification suggestion can be synchronously edited at a time, the editing speed often cannot catch up with the file modification suggestion. , thereby greatly reducing office efficiency.
针对上述问题,一种可行的解决方案是,将需要协同编辑的内容发送到多人协同编辑应用场景的每个用户的个人设备上,各个用户根据当前的讨论进度以及自身的文件修改建议进行分别编辑。如图2所示,在线上会议进程中,假设由用户A22发起展示项目方案的描述文件,则P22加载项目方案的描述文件,P22发送项目方案的描述文件到云会议服务器Y20,云会议服务器Y20将项目方案的描述文件分享到P21、P23、P24以及P25。在进行讨论过程中,用户A21、A22、A23、A24以及A25分别在自身的用户终端设备P21、P22、P23、P24以及P25上进行同步编辑,在讨论结束后,再将各个用户终端设备上的同步编辑结果进行合并以生成最终的讨论结果文件。In view of the above problems, a feasible solution is to send the content that needs to be collaboratively edited to the personal device of each user in the multi-person collaborative editing application scenario. edit. As shown in Figure 2, in the online conference process, assuming that user A22 initiates the presentation of the description file of the project proposal, then P22 loads the description file of the project proposal, and P22 sends the description file of the project proposal to the cloud conference server Y20, and the cloud conference server Y20 Share the description file of the project plan to P21, P23, P24 and P25. During the discussion, users A21, A22, A23, A24 and A25 perform synchronous editing on their own user terminal devices P21, P22, P23, P24 and P25 respectively. Synchronous edits are merged to produce the final discussion results file.
但是,当一个用户根据自身的文件修改建议进行编辑时,即使该用户同步口述自身的文件修改建议,对于其他用户而言,由于口述并不直观,很难确认该用户的文件修改建议所对应的编辑结果。如果后续讨论必须依赖该文件修改建议,那么就可能仍需要等待该用户完成同步编辑并将编辑结果进行分享展示后才能继续进行讨论,这仍然会导致用户停止讨论等待某一用户完成编辑的情况的发生;并且,当多个用户同时进行编辑时,在编辑完成后,很难对多个编辑结果进行合并,仍然需要逐一讨论编辑结果,办公效率依然很低。However, when a user edits according to his own file modification suggestion, even if the user simultaneously dictates his own file modification suggestion, for other users, it is difficult to confirm the corresponding file modification suggestion of the user because the dictation is not intuitive. Edit results. If the subsequent discussion must rely on the modification suggestion of the file, it may still be necessary to wait for the user to complete the synchronous editing and share the editing results before continuing the discussion, which will still cause the user to stop discussing and wait for a user to complete the editing situation. Moreover, when multiple users are editing at the same time, it is difficult to merge multiple editing results after editing is completed, and the editing results still need to be discussed one by one, and the office efficiency is still very low.
针对上述问题,本申请一实施例提出了一种多人协同编辑的方案。在本申请的多人协同编辑方案中,参与协同编辑的多个用户分别使用自身的用户终端设备对需要协同编辑的媒体对象进行编辑,每个用户的编辑操作均被分享到其他用户的用户终端设备上,每个用户的用户终端设备均基于自身设备上用户的编辑操作以及其他用户的编辑操作来生 成合并的编辑结果,从而在满足多个用户可以同时对媒体对象进行编辑前提下,使得任意一个用户可以看到所有用户对媒体对象的编辑结果。In view of the above problems, an embodiment of the present application proposes a multi-person collaborative editing solution. In the multi-person collaborative editing solution of the present application, multiple users participating in the collaborative editing use their own user terminal devices to edit the media objects that need to be collaboratively edited, and the editing operations of each user are shared with the user terminals of other users On the device, each user's user terminal device generates a combined editing result based on the editing operations of the user on its own device and the editing operations of other users, so that any A user can see all user edits to media objects.
进一步的,为实现不同用户终端设备间同步分享编辑操作,在本申请一实施例中,将协同编辑的进程划分为多个编辑周期,在每个编辑周期结束时,将该编辑周期中所有用户的所有的编辑操作在所有参与协同编辑的用户终端设备间进行相互分享;在每个编辑周期结束时,根据所有用户的所有编辑操作刷新当前显示的编辑结果,从而在所有参与协同编辑的用户终端设备上实现基于编辑周期的编辑操作同步。Further, in order to realize synchronous sharing of editing operations among different user terminal devices, in an embodiment of the present application, the collaborative editing process is divided into multiple editing cycles, and at the end of each editing cycle, all users in the editing cycle are divided into multiple editing cycles. All editing operations are shared among all user terminal devices participating in collaborative editing; at the end of each editing cycle, the currently displayed editing results are refreshed according to all editing operations of all users, so that all user terminals participating in collaborative editing The synchronization of editing operations based on the editing cycle is implemented on the device.
以具体的应用场景为例,例如,图3为根据本申请一实施例的协同编辑应用场景示意图。如图3所示,用户A31~A3n的用户终端设备(P31、P32、P33、P34以及P35可以连接到共享显示设备Y31。用户A31将需要协同编辑的媒体对象(例如,文本和/或图片)从P31投屏到公共分享设备(共享显示设备Y31)。用户A32~A3n将自己的用户终端设备(P32~P35)连接到共享显示设备Y31;共享显示设备Y31发现了连接了P31~P35,共享显示设备Y31将P31分享的媒体对象跨端侧协同到P32~P35,共享显示设备Y31显示整体的媒体对象,P31~P35可以跨设备协同共同编辑这一个媒体对象。Taking a specific application scenario as an example, for example, FIG. 3 is a schematic diagram of a collaborative editing application scenario according to an embodiment of the present application. As shown in Figure 3, user terminal devices (P31, P32, P33, P34, and P35 of users A31 to A3n can be connected to shared display device Y31. User A31 will need to collaboratively edit media objects (eg, text and/or pictures) Project the screen from P31 to the public sharing device (shared display device Y31). Users A32 to A3n connect their user terminal devices (P32 to P35) to the shared display device Y31; The display device Y31 coordinates the media objects shared by P31 to P32 to P35 across the terminals, and the shared display device Y31 displays the overall media object. P31 to P35 can collaborate and edit this media object across devices.
具体的,P31连接到共享显示设备Y31,针对需要协同编辑的媒体对象发起协同编辑;共享显示设备Y31接受P31所发起的协同编辑请求后,P31将需要协同编辑的媒体对象发送到共享显示设备Y31。Specifically, P31 is connected to the shared display device Y31, and initiates collaborative editing for the media objects that need to be collaboratively edited; after the shared display device Y31 accepts the collaborative editing request initiated by P31, P31 sends the media objects that need to be collaboratively edited to the shared display device Y31 .
P32~P35连接到共享显示设备Y31,请求加入协同编辑;共享显示设备Y31接受P32~P35的加入协同编辑请求后,将需要协同编辑的媒体对象分享到P32~P35。P32~P35 are connected to the shared display device Y31, and request to join the collaborative editing; after the shared display device Y31 accepts the request to join the collaborative editing from P32~P35, it shares the media objects that need to be collaboratively edited to P32~P35.
图4所示为根据本申请一实施例对媒体对象进行多个编辑周期的协同编辑的流程示意图。如图4所示,假设P31~P35需要对媒体对象500进行协同编辑。在编辑周期511中,用户A32以及A33分别在笔记本电脑P32、手机P33上对媒体对象500同时进行编辑。在编辑周期511结束时,共享显示设备Y31、P31~P35上显示的编辑结果为媒体对象501,媒体对象501为媒体对象500与用户A32编辑操作以及用户A33编辑操作的融合。FIG. 4 is a schematic flowchart of collaborative editing of multiple editing cycles for a media object according to an embodiment of the present application. As shown in FIG. 4 , it is assumed that P31 to P35 need to perform collaborative editing on the media object 500 . In the editing cycle 511, the users A32 and A33 simultaneously edit the media object 500 on the laptop computer P32 and the mobile phone P33, respectively. When the editing cycle 511 ends, the editing results displayed on the shared display devices Y31 and P31-P35 are the media object 501, which is the fusion of the media object 500 and the editing operations of user A32 and user A33.
在编辑周期512中,用户A32在笔记本电脑P32上继续进行编辑,用户A31以及A34分别在平板电脑P31、手机P34上同时进行编辑。在编辑周期512结束时,共享显示设备Y31、P31~P35上显示的编辑结果为媒体对象502,媒体对象502为媒体对象501与用户A32编辑操作、用户A31编辑操作以及用户A34编辑操作的融合。In the editing cycle 512, the user A32 continues to edit on the laptop computer P32, and the users A31 and A34 are simultaneously editing on the tablet computer P31 and the mobile phone P34 respectively. At the end of the editing cycle 512, the editing results displayed on the shared display devices Y31, P31-P35 are the media object 502, and the media object 502 is the fusion of the media object 501 and the editing operation of the user A32, the editing operation of the user A31, and the editing operation of the user A34.
在编辑周期513中,用户A33在手机P33上对媒体对象502同时进行编辑。在编辑周期513结束时,共享显示设备Y31、P31~P35上显示的编辑结果为媒体对象503,媒体对象503为媒体对象502与用户A33编辑操作的融合。In the editing cycle 513, the user A33 simultaneously edits the media object 502 on the mobile phone P33. When the editing cycle 513 ends, the editing results displayed on the shared display devices Y31, P31-P35 are the media object 503, and the media object 503 is the fusion of the editing operation of the media object 502 and the user A33.
根据本申请实施例的协同编辑方法,可以实现多个用户终端设备针对同一媒体对象进行协同编辑,不同的用户终端设备可以同时进行编进操作,而无需排队轮流进行编辑操作,从而大大提高了编辑效率。According to the collaborative editing method of the embodiments of the present application, multiple user terminal devices can perform collaborative editing on the same media object, and different user terminal devices can perform editing operations at the same time, without queuing up to perform editing operations in turn, thereby greatly improving the editing performance. efficiency.
本申请实施例的用户终端设备P31~P35包括但不限于智能手机、平板电脑、笔记本电脑、台式机电脑等电子设备,共享显示设备Y31包括但不限于智能电视、投影仪、大屏显示器等电子设备。用户终端设备P31~P35以及共享显示设备Y31的示例性实施例包括但 不限于搭载
Figure PCTCN2022085132-appb-000001
Windows、Linux或者其它操作系统的电子设备。
User terminal devices P31 to P35 in the embodiments of the present application include but are not limited to electronic devices such as smart phones, tablet computers, notebook computers, and desktop computers, and shared display devices Y31 include but are not limited to electronic devices such as smart TVs, projectors, and large-screen displays. equipment. Exemplary embodiments of the user terminal devices P31 to P35 and the shared display device Y31 include, but are not limited to, onboard
Figure PCTCN2022085132-appb-000001
Electronic devices with Windows, Linux, or other operating systems.
示例性地,图5示出了本申请实施例提供的用户终端设备P31的硬件结构示意图。用户终端设备P32~P35以及共享显示设备Y31也可以采用图5所示的硬件结构。Exemplarily, FIG. 5 shows a schematic diagram of a hardware structure of a user terminal device P31 provided by an embodiment of the present application. The user terminal devices P32 to P35 and the shared display device Y31 may also adopt the hardware structure shown in FIG. 5 .
如图5所示,用户终端设备P31可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。As shown in FIG. 5 , the user terminal device P31 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, audio module 170, speaker 170A, receiver 170B, microphone 170C, headphone jack 170D, sensor module 180, key 190, motor 191, indicator 192, camera 193, a display screen 194, and a subscriber identification module (subscriber identification module, SIM) card interface 195 and the like. The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, and ambient light. Sensor 180L, bone conduction sensor 180M, etc.
可以理解的是,本申请实施例示意的结构并不构成对用户终端设备P31的具体限定。在本申请另一些实施例中,用户终端设备P31可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。It can be understood that the structures illustrated in the embodiments of the present application do not constitute a specific limitation on the user terminal device P31. In other embodiments of the present application, the user terminal device P31 may include more or less components than shown, or combine some components, or separate some components, or arrange different components. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
处理器110可以包括一个或多个处理单元。例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的部件,也可以集成在一个或多个处理器中。在一些实施例中,用户终端设备P31也可以包括一个或多个处理器110。其中,控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。 Processor 110 may include one or more processing units. For example, the processor 110 may include an application processor (AP), a modem processor, a graphics processor (graphics processing unit, GPU), an image signal processor (ISP), a controller, a video Codec, digital signal processor (digital signal processor, DSP), baseband processor, and/or neural-network processing unit (neural-network processing unit, NPU), etc. Wherein, different processing units may be independent components, or may be integrated in one or more processors. In some embodiments, the user terminal device P31 may also include one or more processors 110 . The controller can generate an operation control signal according to the instruction operation code and the timing signal, and complete the control of fetching and executing instructions.
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路间(inter-integrated circuit,I2C)接口,集成电路间音频(integrated circuit sound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purpose input/output,GPIO)接口,SIM卡接口,和/或USB接口等。其中,USB接口230是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口230可以用于连接充电器为用户终端设备P31充电,也可以用于用户终端设备P31与外围设备之间传输数据。In some embodiments, the processor 110 may include one or more interfaces. The interface may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (pulse code modulation, PCM) interface, a universal asynchronous receiver (universal asynchronous receiver) /transmitter, UART) interface, mobile industry processor interface (MIPI), general-purpose input/output (GPIO) interface, SIM card interface, and/or USB interface, etc. Among them, the USB interface 230 is an interface that conforms to the USB standard specification, and may specifically be a Mini USB interface, a Micro USB interface, a USB Type C interface, and the like. The USB interface 230 can be used to connect a charger to charge the user terminal device P31, and can also be used to transmit data between the user terminal device P31 and peripheral devices.
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对用户终端设备P31的结构限定。在本申请另一些实施例中,用户终端设备P31也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。It can be understood that the interface connection relationship between the modules illustrated in the embodiments of the present application is only a schematic illustration, and does not constitute a structural limitation of the user terminal device P31. In other embodiments of the present application, the user terminal device P31 may also adopt different interface connection manners in the foregoing embodiments, or a combination of multiple interface connection manners.
充电管理模块240用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块240可以通过USB接口230接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块240可以通 过用户终端设备P31的无线充电线圈接收无线充电输入。充电管理模块240为电池242充电的同时,还可以通过电源管理模块241为用户终端设备P31供电。The charging management module 240 is used to receive charging input from the charger. The charger may be a wireless charger or a wired charger. In some wired charging embodiments, the charging management module 240 may receive charging input from the wired charger through the USB interface 230 . In some wireless charging embodiments, the charging management module 240 may receive wireless charging input through the wireless charging coil of the user terminal device P31. While the charging management module 240 is charging the battery 242, the power management module 241 can also supply power to the user terminal device P31.
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器接口120和无线通信模块150等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。The power management module 141 is used for connecting the battery 142 , the charging management module 140 and the processor 110 . The power management module 141 receives input from the battery 142 and/or the charging management module 140, and supplies power to the processor 110, the internal memory 121, the external memory interface 120, the wireless communication module 150, and the like. The power management module 141 can also be used to monitor parameters such as battery capacity, battery cycle times, battery health status (leakage, impedance). In some other embodiments, the power management module 141 may also be provided in the processor 110 . In other embodiments, the power management module 141 and the charging management module 140 may also be provided in the same device.
用户终端设备P31的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。The wireless communication function of the user terminal device P31 may be implemented by the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modulation and demodulation processor, the baseband processor, and the like.
天线1和天线2用于发射和接收电磁波信号。用户终端设备P31中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。Antenna 1 and Antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in the user terminal equipment P31 may be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve antenna utilization. For example, the antenna 1 can be multiplexed as a diversity antenna of the wireless local area network. In other embodiments, the antenna may be used in conjunction with a tuning switch.
移动通信模块150可以提供应用在用户终端设备P31上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。The mobile communication module 150 may provide a wireless communication solution including 2G/3G/4G/5G, etc. applied on the user terminal device P31. The mobile communication module 150 may include at least one filter, switch, power amplifier, low noise amplifier (LNA) and the like. The mobile communication module 150 can receive electromagnetic waves from the antenna 1, filter and amplify the received electromagnetic waves, and transmit them to the modulation and demodulation processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modulation and demodulation processor, and then turn it into an electromagnetic wave for radiation through the antenna 1 . In some embodiments, at least part of the functional modules of the mobile communication module 150 may be provided in the processor 110 .
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。The modem processor may include a modulator and a demodulator. Wherein, the modulator is used to modulate the low frequency baseband signal to be sent into a medium and high frequency signal. The demodulator is used to demodulate the received electromagnetic wave signal into a low frequency baseband signal. Then the demodulator transmits the demodulated low-frequency baseband signal to the baseband processor for processing. The low frequency baseband signal is processed by the baseband processor and passed to the application processor. The application processor outputs sound signals through audio devices (not limited to the speaker 170A, the receiver 170B, etc.), or displays images or videos through the display screen 194 . In some embodiments, the modem processor may be a stand-alone device. In other embodiments, the modem processor may be independent of the processor 110, and may be provided in the same device as the mobile communication module 150 or other functional modules.
无线通信模块160可以提供应用在用户终端设备P31上的包括无线局域网(wireless local area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。The wireless communication module 160 can provide wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (Bluetooth, BT), and global navigation applied on the user terminal device P31. Satellite system (global navigation satellite system, GNSS), frequency modulation (frequency modulation, FM), near field communication technology (near field communication, NFC), infrared technology (infrared, IR) and other wireless communication solutions. The wireless communication module 160 may be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via the antenna 2 , frequency modulates and filters the electromagnetic wave signals, and sends the processed signals to the processor 110 . The wireless communication module 160 can also receive the signal to be sent from the processor 110 , perform frequency modulation on it, amplify it, and convert it into electromagnetic waves for radiation through the antenna 2 .
在一些实施例中,用户终端设备P31的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得用户终端设备P31可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多 址接入(code division multiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidou navigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。In some embodiments, the antenna 1 of the user terminal device P31 is coupled to the mobile communication module 150, and the antenna 2 is coupled to the wireless communication module 160, so that the user terminal device P31 can communicate with the network and other devices through wireless communication technology. The wireless communication technology may include global system for mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), broadband Code Division Multiple Access (WCDMA), Time Division Code Division Multiple Access (TD-SCDMA), Long Term Evolution (LTE), BT, GNSS, WLAN, NFC , FM, and/or IR technology, etc. The GNSS may include global positioning system (global positioning system, GPS), global navigation satellite system (global navigation satellite system, GLONASS), Beidou navigation satellite system (beidou navigation satellite system, BDS), quasi-zenith satellite system (quasi -zenith satellite system, QZSS) and/or satellite based augmentation systems (SBAS).
用户终端设备P31可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。The user terminal device P31 can realize the shooting function through the ISP, the camera 193, the video codec, the GPU, the display screen 194 and the application processor.
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展用户终端设备P31的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。The external memory interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the user terminal device P31. The external memory card communicates with the processor 110 through the external memory interface 120 to realize the data storage function. For example to save files like music, video etc in external memory card.
用户终端设备P31可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。The user terminal device P31 may implement audio functions through an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, and an application processor. Such as music playback, recording, etc.
内部存储器121可以用于存储一个或多个计算机程序,该一个或多个计算机程序包括指令。处理器110可以通过运行存储在内部存储器121的上述指令,从而使得用户终端设备P31执行本申请一些实施例中所提供的自动开锁的方法,以及各种应用以及数据处理等。内部存储器121可以包括代码存储区和数据存储区。其中,代码存储区可存储操作系统。数据存储区可存储用户终端设备P31使用过程中所创建的数据等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储部件,闪存部件,通用闪存存储器(universal flash storage,UFS)等。在一些实施例中,处理器110可以通过运行存储在内部存储器121的指令,和/或存储在设置于处理器110中的存储器的指令,来使得用户终端设备P31执行本申请实施例中所提供的身份认证方法,以及其他应用及数据处理。Internal memory 121 may be used to store one or more computer programs including instructions. The processor 110 may execute the above-mentioned instructions stored in the internal memory 121, so that the user terminal device P31 executes the automatic unlocking method provided in some embodiments of the present application, and various applications and data processing. The internal memory 121 may include a code storage area and a data storage area. Among them, the code storage area can store the operating system. The data storage area can store data and the like created during the use of the user terminal device P31. In addition, the internal memory 121 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic disk storage components, flash memory components, universal flash storage (UFS), and the like. In some embodiments, the processor 110 may execute the instructions stored in the internal memory 121 and/or the instructions stored in the memory provided in the processor 110 to cause the user terminal device P31 to execute the instructions provided in the embodiments of the present application authentication methods, as well as other applications and data processing.
图6所示为根据本申请一实施例的用户终端设备执行流程示意图。在用户A31~A3n使用自己的办公设备(P31~P35)进行协同编辑的过程中,参与协同编辑的用户终端设备(P31~P35)中的每台终端设备执行如图6所示的S500~S540。下面以用户终端设备P31为例描述S500~S540的执行过程。FIG. 6 is a schematic diagram illustrating an execution flow of a user terminal device according to an embodiment of the present application. During the collaborative editing process by the users A31-A3n using their own office equipment (P31-P35), each terminal device in the user terminal devices (P31-P35) participating in the collaborative editing executes S500-S540 as shown in Fig. 6 . The following describes the execution processes of S500 to S540 by taking the user terminal device P31 as an example.
S600,P31记录当前编辑周期中,用户A31在P31上进行的所有编辑操作,汇总为第二编辑操作记录。S600, P31 records all editing operations performed by user A31 on P31 in the current editing cycle, and aggregates them into a second editing operation record.
示例的,在S600的一种实现方式中,为了便于实现编辑操作的记录以及传输,采用针对原子操作进行压缩编码的方式记录编辑操作。Illustratively, in an implementation manner of S600, in order to facilitate the recording and transmission of editing operations, the editing operations are recorded by means of compression encoding for atomic operations.
具体的,根据针对媒体对象所有可能的编辑操作定义原子操作,原子操作为基本的编辑操作。例如,针对文本的键入(INSERT)、复制(COPY)、粘贴(PASTE)、删除(DELETE);又例如,针对图像的像素点绘制。用户针对媒体对象的任何编辑操作均可以分解为一个或多个原子操作的组合。例如,用户将文本“第一设备”中的“一”修改为“二”,可以分解为删除“一”,在“第”后面键入“二”;又例如,用户在图片上画黑色圆圈,可以分解为连续绘制多个黑色像素点(最终构成圆圈)。Specifically, atomic operations are defined according to all possible editing operations for the media object, and atomic operations are basic editing operations. For example, for text input (INSERT), copy (COPY), paste (PASTE), delete (DELETE); another example, for image pixel drawing. Any user editing operation on a media object can be decomposed into a combination of one or more atomic operations. For example, the user modifies "one" in the text "first device" to "two", which can be decomposed to delete "one", and type "two" after "the first"; another example, the user draws a black circle on the picture, It can be decomposed to draw multiple black pixels in a row (eventually forming a circle).
进一步的,在S600中,P31实时监听用户A31在P31上的编辑动作,采集编辑内容,并转换为无因果顺序的原子操作记录,原子操作记录包括:Further, in S600, P31 monitors the editing action of user A31 on P31 in real time, collects the editing content, and converts it into an atomic operation record without a causal sequence. The atomic operation record includes:
操作符:例如,INSERT、DELETE;Operators: For example, INSERT, DELETE;
内容算子:单次操作的变更信息;Content operator: change information of a single operation;
位置算子:单次操作的变更信息在基线文档中的偏移向量;Position operator: the offset vector of the change information of a single operation in the baseline document;
辅助位置算子:位置算子相同时的参照操作、参照偏移向量。Auxiliary position operator: Reference operation and reference offset vector when the position operators are the same.
进一步的,在S600中,P31将一个编辑周期内新增的原子操作记录独立压缩编码以生成编辑操作记录(编辑操作编码)。在编辑操作编码中,各个原子操作记录无因果顺序,具体的,编辑操作编码包含:Further, in S600, P31 independently compresses and encodes the newly added atomic operation record in one editing cycle to generate an editing operation record (editing operation code). In the editing operation code, each atomic operation record has no causal sequence. Specifically, the editing operation code includes:
编辑基线:原子操作发生的文档基线版本;Edit Baseline: The baseline version of the document where the atomic operation occurred;
编辑作者:修改文档的用户账号;Edit author: the user account for modifying the document;
操作数量:编码包内包含的原子操作数量;Number of operations: the number of atomic operations contained in the encoding package;
操作数据:原子操作记录数据。Operational data: Atomic operations record data.
S610,P31输出第二编辑操作记录到共享显示设备Y31。S610, P31 outputs the second editing operation record to the shared display device Y31.
S620,P31接收共享显示设备Y31发送的第一编辑操作记录,第一编辑操作记录对应参与协同编辑的所有用户终端设备中,用户终端设备以外的所有其他用户终端设备,在当前编辑周期中所进行的所有编辑操作。S620, P31 receives the first editing operation record sent by the shared display device Y31, the first editing operation record corresponds to all user terminal devices participating in the collaborative editing, and all other user terminal devices other than the user terminal device in the current editing cycle. all editing operations.
S630,P31合并第一编辑操作记录以及第二编辑操作记录所对应的编辑操作,生成协同编辑结果。S630, P31 merges the editing operations corresponding to the first editing operation record and the second editing operation record to generate a collaborative editing result.
示例的,在S630的一种实现方式中,在当前编辑周期内,P31在用户A31的进行编辑操作时同步生成第一编辑结果;在当前编辑周期结束时,P31根据第一编辑操作记录,对第一编辑结果进行编辑,生成当前编辑周期的协同编辑结果。Illustratively, in an implementation manner of S630, in the current editing cycle, P31 synchronously generates the first editing result when user A31 performs an editing operation; when the current editing cycle ends, P31, according to the first editing operation record, The first editing result is edited, and the collaborative editing result of the current editing cycle is generated.
示例的,在步骤450的另一种实现方式中,在当前编辑周期结束时,P31合并第一编辑操作记录以及第二编辑操作记录;根据编辑操作记录的合并结果对当前编辑周期所对应的媒体对象进行编辑,生成当前编辑周期的协同编辑结果,其中,当前编辑周期所对应的媒体对象为上一编辑周期的协同编辑结果。Exemplarily, in another implementation of step 450, when the current editing cycle ends, P31 merges the first editing operation record and the second editing operation record; The object is edited to generate a collaborative editing result of the current editing cycle, wherein the media object corresponding to the current editing cycle is the collaborative editing result of the previous editing cycle.
示例的,在S630的一种实现方式中,协同编辑结果采用分层回显的方式,将各个用户编辑操作融合,形成新文本/新图层;在编辑结果中分层完整呈现所有用户的编辑操作。即,协同编辑结果包括多个显示层,每个显示层对应一个用户的编辑操作;或者,每个显示层对应一个编辑操作;或者,每个显示层对应一个原子操作。这样,就可以通过针对显示层的操作(例如,选择、删除、隐藏、复制等)来实现针对用户操作、编辑操作、或者原子操作的编辑。For example, in an implementation manner of S630, the collaborative editing result adopts a layered echo mode, and the editing operations of each user are integrated to form a new text/new layer; the editing results of all users are presented in layers and completely. operate. That is, the collaborative editing result includes multiple display layers, and each display layer corresponds to an editing operation of a user; or, each display layer corresponds to an editing operation; or, each display layer corresponds to an atomic operation. In this way, editing for user operations, editing operations, or atomic operations can be implemented through operations on the display layer (eg, selecting, deleting, hiding, copying, etc.).
具体的,在S630的一种实现方式中,P31对编辑操作编码进行解码,根据解码后的数据,独立还原各个原子操作信息,形成新文本/新图层。每个图层包含:Specifically, in an implementation manner of S630, P31 decodes the editing operation code, and independently restores each atomic operation information according to the decoded data to form a new text/new layer. Each layer contains:
变更内容:原子操作对文档的编辑结果;Changed content: the editing result of the atomic operation on the document;
操作符:通过不同标记(颜色、删除线等)标识不同操作符、不同用户;Operators: Identify different operators and different users through different markers (color, strikethrough, etc.);
变更位置:基于位置算子、辅助位置算子,确定变更内容在界面的显示位置。Change position: Determine the display position of the changed content on the interface based on the position operator and the auxiliary position operator.
进一步的,在S630之后,还包括S640,P31根据协同编辑结果刷新P31的显示。在另一种实现方式中,在S630之后,P31也可以将协同编辑结果输出到其他终端设备/显示 设备进行显示。Further, after S630, S640 is also included, and P31 refreshes the display of P31 according to the collaborative editing result. In another implementation manner, after S630, P31 can also output the collaborative editing result to other terminal devices/display devices for display.
进一步的,由于采用了分层回显方式进行编辑操作的合并,因此相当于在编辑结果中记录了编辑流程,编辑结果中包含了大量标记,这些标记可能对后续的协同编辑产生影响。因此,在本申请一实施例中,在S640之后,还包括接纳基线步骤:用户A31在P31上确认和接纳历史操作过程及结果,固化当前编辑状态,形成新基线;或者,P31接收其他终端设备(P32~P35)发送的新基线。Further, since the editing operation is merged in a hierarchical echo mode, it is equivalent to recording the editing process in the editing result, and the editing result contains a large number of marks, which may affect the subsequent collaborative editing. Therefore, in an embodiment of the present application, after S640, a step of accepting the baseline is also included: the user A31 confirms and accepts the historical operation process and results on P31, solidifies the current editing state, and forms a new baseline; or, P31 accepts other terminal devices (P32~P35) New baseline sent.
进一步的,在S640之后,还包括保存流程,即,在协同编辑结束时,用户A31在P31上对协同编辑的编辑结果进行保存。具体的,保存流程可以用户A31在P31上触发,也可以由其他用户(A32~A35)在其他终端设备(P32~P35)上触发。在保存流程中,合并编辑内容到初始版本,形成新版本文件,并保存。在一实施例中,保存流程支持两种保存形式:Further, after S640, a saving process is also included, that is, when the collaborative editing ends, the user A31 saves the editing result of the collaborative editing on P31. Specifically, the saving process can be triggered by user A31 on P31, or can be triggered by other users (A32-A35) on other terminal devices (P32-P35). In the saving process, the edited content is merged into the initial version to form a new version file and saved. In one embodiment, the save process supports two forms of save:
保存:删除操作过程记录,合并编辑过程数据,只保存最终编辑结果。Save: delete the operation process record, merge the editing process data, and save only the final editing result.
操作保存:保留操作过程记录和编辑过程数据。Operation save: keep operation process records and edit process data.
图7所示为根据本申请一实施例的共享显示设备Y31执行流程示意图。共享显示设备Y31执行如图7所示的下述流程:FIG. 7 is a schematic diagram illustrating an execution flow of the shared display device Y31 according to an embodiment of the present application. The shared display device Y31 executes the following process as shown in Figure 7:
S701,Y31接收P31~P35在当前编辑周期中所有编辑操作的编辑操作记录;S701, Y31 receives the editing operation records of all editing operations in the current editing cycle from P31 to P35;
S702,Y31将当前编辑周期的编辑操作记录转发到发送方以外的其他设备;S702, Y31 forward the editing operation record of the current editing cycle to other devices other than the sender;
S703,Y31合并P31~P35在当前编辑周期中所有编辑操作,生成当前编辑周期的协同编辑结果;具体实现请参照S630;S703, Y31 merges all editing operations of P31 to P35 in the current editing cycle to generate the collaborative editing result of the current editing cycle; please refer to S630 for the specific implementation;
S704,根据协同编辑结果刷新共享显示设备Y31的显示;具体实现请参照S640。S704, refresh the display of the shared display device Y31 according to the collaborative editing result; please refer to S640 for specific implementation.
进一步的,在实际应用场景中,存在用户终端设备接入到协同编辑的群组中,但是用户并未执行编辑操作的情况。在该情况中,用户终端设备不执行S400以及S410。Further, in an actual application scenario, there is a situation where a user terminal device accesses a group for collaborative editing, but the user does not perform an editing operation. In this case, the user terminal device does not perform S400 and S410.
进一步的,本申请实施例所提出的协同编辑方法也可应用于图3所示应用场景以外的其他协同编辑应用场景。Further, the collaborative editing method proposed in the embodiment of the present application can also be applied to other collaborative editing application scenarios other than the application scenario shown in FIG. 3 .
例如,在一协同编辑应用场景中,不配置共享显示设备Y31,而是使用云会议服务器替代共享显示设备Y31构建在线协同编辑。参照图2所示的在线会议系统,如图2所示,在一协同编辑应用场景中,用户A21使用P21向云会议服务器Y20发起协同编辑;用户A22、A23、A24以及A25分别使用P22、P23、P24以及P25加入协同编辑。P21加载需要协同编辑的媒体对象并将媒体对象发送到云会议服务器Y20;云会议服务器Y20基于分布式媒体数据管理能力将媒体对象分发到P22、P23、P24以及P25;P22、P23、P24以及P25分别加载媒体对象。For example, in a collaborative editing application scenario, the shared display device Y31 is not configured, but a cloud conference server is used instead of the shared display device Y31 to construct online collaborative editing. Referring to the online conference system shown in Figure 2, as shown in Figure 2, in a collaborative editing application scenario, user A21 uses P21 to initiate collaborative editing to cloud conference server Y20; users A22, A23, A24 and A25 use P22, P23 respectively , P24 and P25 to join collaborative editing. P21 loads the media objects that need to be edited together and sends the media objects to the cloud conference server Y20; the cloud conference server Y20 distributes the media objects to P22, P23, P24 and P25 based on the distributed media data management capability; P22, P23, P24 and P25 Load media objects individually.
在协同编辑过程中,用户A21、A22、A23、A24以及A25在P21、P22、P23、P24以及P25的编辑操作被发送到云会议服务器Y20;云会议服务器Y20将接收到的编辑操作转发给发送方以外的用户终端设备;P21、P22、P23、P24以及P25根据同步进行的用户A21、A22、A23、A24以及A25的编辑操作生成编辑结果,并且,根据编辑结果同步刷新自身针对媒体对象的显示。During the collaborative editing process, the editing operations of users A21, A22, A23, A24 and A25 on P21, P22, P23, P24 and P25 are sent to the cloud conference server Y20; the cloud conference server Y20 forwards the received editing operations to the sending User terminal equipment other than the party; P21, P22, P23, P24 and P25 generate editing results according to the synchronous editing operations of users A21, A22, A23, A24 and A25, and synchronously refresh their own display of media objects according to the editing results .
具体的,P21~P25执行如图6所示的流程。云会议服务器Y20执行如图7所示的S701 以及S702。Specifically, P21 to P25 execute the flow shown in FIG. 6 . The cloud conference server Y20 executes S701 and S702 as shown in FIG. 7 .
例如,在一协同编辑应用场景中,不配置共享显示设备Y31,而是使用参与协同编辑的终端设备中的一台终端设备取代共享显示设备Y31。具体的,假设使用P31作为协同编辑的主机,P31执行下述步骤:For example, in a collaborative editing application scenario, the shared display device Y31 is not configured, but one of the terminal devices participating in the collaborative editing is used to replace the shared display device Y31. Specifically, assuming that the P31 is used as the co-editing host, the P31 performs the following steps:
P31记录当前编辑周期中,用户A31在P31上进行的所有编辑操作,汇总为第二编辑操作记录;P31 records all editing operations performed by user A31 on P31 in the current editing cycle, and aggregates them into a second editing operation record;
P31接收P32~P35在当前编辑周期中所有编辑操作的编辑操作记录;P31 receives the editing operation records of all editing operations in the current editing cycle from P32 to P35;
P31将当前编辑周期的编辑操作记录转发到发送方以外的其他设备;P31 forwards the editing operation record of the current editing cycle to other devices other than the sender;
P31合并P31~P35在当前编辑周期中所有编辑操作,生成当前编辑周期的协同编辑结果;具体实现请参照S630;P31 merges all editing operations of P31 to P35 in the current editing cycle to generate the collaborative editing result of the current editing cycle; please refer to S630 for the specific implementation;
P31根据协同编辑结果刷新共享显示设备Y31的显示;具体实现请参照S640。P31 refreshes the display of the shared display device Y31 according to the collaborative editing result; please refer to S640 for specific implementation.
下面通过具体的应用实施例来描述本申请的协同编辑方法的实施效果。The implementation effect of the collaborative editing method of the present application will be described below through specific application examples.
例如,图8所示为根据本申请一实施例进行图片协同编辑的编辑效果示意图。需要协同编辑的媒体对象为如图8中800所示的图片。假设用户A32以及A33希望针对图片800进行编辑操作。例如,如图8所示,用户A32希望在区域801上画圈,用户A33希望在区域802上画叉。For example, FIG. 8 is a schematic diagram showing an editing effect of collaborative editing of pictures according to an embodiment of the present application. The media object that needs to be edited collaboratively is the picture shown as 800 in FIG. 8 . It is assumed that users A32 and A33 want to perform editing operations on the picture 800 . For example, as shown in FIG. 8 , user A32 wishes to draw a circle on area 801 , and user A33 wishes to draw a cross on area 802 .
根据本申请实施例的协同编辑方案,用户A32以及A33可以分别在P32以及P33上同步进行各自的编辑操作。在每个编辑周期结束时,P32将用户A32在该编辑周期内的编辑操作(在区域801上画圈的进程)发送到共享显示设备Y31,共享显示设备Y31将P32所发送的编辑操作发送到P31、P33~P35。在每个编辑周期结束时,P33将用户A33在该编辑周期内的编辑操作(在区域802上画叉的进程)发送到共享显示设备Y31,共享显示设备Y31将P33所发送的编辑操作发送到P31、P32、P34~P35。According to the collaborative editing solution of the embodiment of the present application, users A32 and A33 can perform respective editing operations synchronously on P32 and P33, respectively. At the end of each editing cycle, P32 sends the editing operation (the process of drawing a circle on the area 801) of user A32 in the editing cycle to the shared display device Y31, and the shared display device Y31 sends the editing operation sent by P32 to P31, P33~P35. At the end of each editing cycle, P33 sends the editing operation of user A33 in the editing cycle (the process of drawing a cross on the area 802) to the shared display device Y31, and the shared display device Y31 sends the editing operation sent by P33 to P31, P32, P34~P35.
在每个编辑周期结束时,P31~P35以及共享显示设备Y31,根据用户A32的编辑操作以及用户A33的编辑操作生成编辑结果并进行显示刷新。最终P31~P35以及共享显示设备Y31上的显示同样的协同编辑结果,例如,假设P33为手机,P33显示如图8中803所示的界面。At the end of each editing cycle, P31 to P35 and the shared display device Y31 generate editing results and refresh the display according to the editing operation of the user A32 and the editing operation of the user A33. Finally, the same collaborative editing results are displayed on P31 to P35 and the shared display device Y31. For example, assuming that P33 is a mobile phone, P33 displays the interface shown in 803 in FIG. 8 .
又例如,图9所示为根据本申请一实施例进行文字协同编辑的编辑效果示意图。需要协同编辑的媒体对象为如图9中900所示的文本。假设用户A32以及A33希望针对文本900进行编辑操作。例如,如图9所示,用户A32希望将文本900中“又称网际网路”删除;用户A33希望将文本900中“因特网(Internet)、英特网”修改为“因特网或英特网”。For another example, FIG. 9 is a schematic diagram illustrating an editing effect of collaborative text editing according to an embodiment of the present application. The media object that needs to be collaboratively edited is the text shown as 900 in FIG. 9 . It is assumed that users A32 and A33 want to perform editing operations on the text 900 . For example, as shown in Fig. 9, user A32 wishes to delete "also known as the Internet" in text 900; user A33 wishes to change "Internet (Internet), Internet" in text 900 to "Internet or Internet" .
根据本申请实施例的协同编辑方案,用户A32以及A33可以分别在P32以及P33上同步进行各自的编辑操作。在每个编辑周期结束时,P32将用户A32在该编辑周期内的编辑操作(删除“又称网际网路”)发送到共享显示设备Y31,共享显示设备Y31将P32所发送的编辑操作发送到P31、P33~P35。在每个编辑周期结束时,P33将用户A33在该编辑周期内的编辑操作(将“因特网(Internet)、英特网”修改为“因特网或英特网”)发送到共享显示设备Y31,共享显示设备Y31将P33所发送的编辑操作发送到P31、P32、 P34~P35。According to the collaborative editing solution of the embodiment of the present application, users A32 and A33 can perform respective editing operations synchronously on P32 and P33, respectively. At the end of each editing cycle, P32 sends the editing operation of user A32 in the editing cycle (deleting "also known as the Internet") to the shared display device Y31, and the shared display device Y31 sends the editing operation sent by P32 to P31, P33~P35. At the end of each editing cycle, P33 sends the editing operation of user A33 in the editing cycle (change "Internet (Internet), Internet" to "Internet or Internet") to the shared display device Y31, and share the The display device Y31 sends the editing operation sent by P33 to P31, P32, and P34 to P35.
在每个编辑周期结束时,P31~P35以及共享显示设备Y31,根据用户A32的编辑操作以及用户A33的编辑操作生成编辑结果并进行显示刷新。最终P31~P35以及共享显示设备Y31上的显示结果如图9中文本903所示。At the end of each editing cycle, P31 to P35 and the shared display device Y31 generate editing results and refresh the display according to the editing operation of the user A32 and the editing operation of the user A33. The final display results on P31 to P35 and the shared display device Y31 are shown as text 903 in FIG. 9 .
在本申请实施例的协同编辑方案中,由于在每个编辑周期结束时,均进行编辑操作的分享同步,因此,在不同的用户终端设备上所显示的编辑结果,与所有用户的编辑操作的进程也是同步的,这就大大提高了协同编辑的用户体验。In the collaborative editing solution of the embodiment of the present application, since the sharing and synchronization of editing operations are performed at the end of each editing cycle, the editing results displayed on different user terminal devices are in line with the editing operations of all users. The processes are also synchronized, which greatly improves the user experience of collaborative editing.
进一步的,在实际应用场景中,由于参与协同编辑的各个用户终端设备间是在编辑周期结束时进行编辑操作的分享同步的,在编辑周期持续期间,编辑操作可能是持续进行的。因此,在编辑周期期间,不同的用户终端设备之间可能存在编辑操作进程与媒体对象的编辑结果不同步的情况。编辑周期设置的越短,用户终端设备上所显示的编辑结果与其他用户终端设备上的用户编辑操作的同步性也就越好。Further, in an actual application scenario, since each user terminal device participating in collaborative editing performs sharing and synchronization of editing operations at the end of the editing period, the editing operations may be continuously performed during the editing period. Therefore, during the editing cycle, there may be situations in which the editing operation process and the editing result of the media object are not synchronized between different user terminal devices. The shorter the editing period is set, the better the synchronization between the editing results displayed on the user terminal device and the user editing operations on other user terminal devices.
进一步的,在实际应用场景中,由于多个用户同时对媒体对象进行编辑,因此在用户终端设备所显示的编辑结果中,包含多个不同用户的编辑痕迹,为了便于进行讨论,在S610的一种实现方式中,P31在将编辑操作记录发送到共享显示设备Y31时,编辑操作绑定A31的用户标识(例如,用户账号)。在S620中,共享显示设备Y31发送的编辑操作记录均绑定有执行编辑操作的用户标识。在S630中,P31根据编辑操作记录所绑定的用户标识的不同对协同编辑结果中所包含的编辑操作进行标记(例如,采用不同的颜色标记不同用户的编辑操作;又例如,对编辑操作附加批注,在批注中标注用户标识)。Further, in an actual application scenario, since multiple users edit media objects at the same time, the editing result displayed by the user terminal device includes editing traces of multiple different users. In this implementation manner, when P31 sends the editing operation record to the shared display device Y31, the editing operation is bound to the user identification (eg, user account) of A31. In S620, the editing operation records sent by the shared display device Y31 are all bound with the user IDs who performed the editing operation. In S630, P31 marks the editing operations included in the collaborative editing result according to the difference of the user IDs bound to the editing operation records (for example, using different colors to mark the editing operations of different users; for example, adding additional editing operations to the editing operation) Annotation, mark the user ID in the annotation).
例如,在图8所示实施例中,用户A32在区域801上画圈以及用户A33在区域802上画叉均使用默认颜色(黑色)。根据本申请实施例的协同编辑方案,最终P31~P35以及共享显示设备Y31上的显示803中,用户A32所画的圈被显示为红色,用户A33所画的叉被显示为蓝色。For example, in the embodiment shown in FIG. 8, user A32 draws a circle on area 801 and user A33 draws a cross on area 802 using the default color (black). According to the collaborative editing solution of this embodiment of the present application, in the final display 803 on P31 to P35 and the shared display device Y31, the circle drawn by user A32 is displayed in red, and the cross drawn by user A33 is displayed in blue.
进一步的,在实际应用场景中,由于多个用户同时对媒体对象进行编辑,因此可能出现多个用户同时针对媒体对象的同一部分进行编辑的情况,例如,图10所示为根据本申请一实施例进行图片协同编辑的编辑效果示意图。如图10所示,用户A32希望在区域1001上画圈,同时,用户A33希望在区域1001上画叉。在此情况下,用户A32与用户A33的编辑操作就会出现冲突,合并后的编辑结果很容易出现显示混乱。Further, in an actual application scenario, since multiple users edit media objects at the same time, it may happen that multiple users edit the same part of the media objects at the same time. For example, FIG. For example, a schematic diagram of the editing effect of collaborative editing of pictures. As shown in FIG. 10 , the user A32 wishes to draw a circle on the area 1001 , and at the same time, the user A33 wishes to draw a cross on the area 1001 . In this case, the editing operations of user A32 and user A33 will conflict, and the merged editing results are likely to be displayed in confusion.
针对编辑操作冲突的情况,在本申请一实施例中,当参与协同编辑的某一用户针对媒体对象的一部分开始编辑后,编辑操作被分享到参与协同编辑的其他用户的用户终端设备。当用户终端设备接收到其他用户终端设备所分享的编辑操作时,其不仅会合并编辑操作以生成编辑结果,而且还会将编辑操作所对应的编辑区域锁定,用户不能针对被锁定的编辑区域进行编辑。当不存在针对被锁定的编辑区域的编辑操作时,锁定状态解除,此时用户才能在已完成的编辑结果的基础上对该编辑区域进行编辑。In the case of conflicting editing operations, in an embodiment of the present application, after a user participating in collaborative editing starts editing a part of a media object, the editing operation is shared with user terminal devices of other users participating in collaborative editing. When a user terminal device receives an editing operation shared by other user terminal devices, it not only combines the editing operations to generate an editing result, but also locks the editing area corresponding to the editing operation, and the user cannot edit the locked editing area. edit. When there is no editing operation for the locked editing area, the locked state is released, and then the user can edit the editing area based on the completed editing result.
例如,图11所示为根据本申请一实施例进行图片协同编辑的编辑效果示意图。如图11所示,当用户A32在区域1101上开始画圈时,用户A33就不能在区域1101上画叉, 只能等待用户在区域1101上开始画圈完毕后,在用户A32的编辑结果的基础上进行编辑。例如,假设P33为手机,用户A33在图1103所示界面中针对区域1102进行编辑。For example, FIG. 11 is a schematic diagram showing an editing effect of collaborative editing of pictures according to an embodiment of the present application. As shown in FIG. 11 , when user A32 starts to draw a circle on area 1101, user A33 cannot draw a cross on area 1101, and can only wait for the user to start drawing a circle on area 1101. Edit on the basis. For example, assuming that P33 is a mobile phone, user A33 edits area 1102 in the interface shown in FIG. 1103 .
针对编辑操作冲突的情况,在本申请另一实施例中,多个用户同时进行编辑操作并相互间共享编辑操作,当同时进行的编辑操作存在冲突时,在用户终端设备合并编辑操作时,针对存在冲突的编辑操作分别进行合并从而获取多个编辑结果。用户终端设备将多个编辑结果分别展示给用户(例如,分屏展示),以便用户相互讨论以确认最终采用的编辑结果。For the case of conflicting editing operations, in another embodiment of the present application, multiple users perform editing operations at the same time and share the editing operations with each other. Conflicting editing operations are merged separately to obtain multiple editing results. The user terminal device displays the multiple editing results to the user respectively (eg, split-screen display), so that the users can discuss with each other to confirm the finally adopted editing result.
例如,图12所示为根据本申请一实施例进行图片协同编辑的编辑效果示意图。如图12所示,用户A32在区域1201上画圈,同时,用户A33在区域1201上画叉。最终P31~P35以及共享显示设备Y31上的显示同样的协同编辑结果。例如,假设P33为手机,P33显示如图12中图片1202所示的显示界面。For example, FIG. 12 is a schematic diagram showing an editing effect of collaborative editing of pictures according to an embodiment of the present application. As shown in FIG. 12 , user A32 draws a circle on area 1201 , while user A33 draws a cross on area 1201 . Finally, the same collaborative editing results are displayed on P31 to P35 and the shared display device Y31. For example, assuming that P33 is a mobile phone, P33 displays a display interface as shown in picture 1202 in FIG. 12 .
可以理解的是,上述实施例中的部分或全部步骤或操作仅是示例,本申请实施例还可以执行其它操作或者各种操作的变形。此外,各个步骤可以按照上述实施例呈现的不同的顺序来执行,并且有可能并非要执行上述实施例中的全部操作。It can be understood that, some or all of the steps or operations in the foregoing embodiments are only examples, and other operations or variations of various operations may also be performed in the embodiments of the present application. Furthermore, the various steps may be performed in a different order presented in the above-described embodiments, and may not perform all operations in the above-described embodiments.
进一步的,在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(P2rogrA2mmA2ble Logic Device,P2LD)(例如现场可编程门阵列(Field P2rogrA2mmA2ble GA2te A2rrA2Y2,FP2GA2))就是这样一种集成电路,其逻辑功能由访问方对器件编程来确定。由设计人员自行编程来把一个数字装置“集成”在一片P2LD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic comP2iler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(HA2rdwA2re DescriP2tion LA2nguA2ge,HDL),而HDL也并非仅有一种,而是有许多种,如A2BEL(A2dvA2nced BooleA2n ExP2ression LA2nguA2ge)、A2HDL(A2lterA2 HA2rdwA2re DescriP2tion LA2nguA2ge)、Confluence、CUP2L(Cornell UniversitY2 P2rogrA2mming LA2nguA2ge)、HDCA2l、JHDL(JA2vA2 HA2rdwA2re DescriP2tion LA2nguA2ge)、LA2vA2、LolA2、MY2HDL、P2A2LA2SM、RHDL(RubY2 HA2rdwA2re DescriP2tion LA2nguA2ge)等,目前最普遍使用的是VHDL(VerY2-High-SP2eed IntegrA2ted Circuit HA2rdwA2re DescriP2tion LA2nguA2ge)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。Further, in the 1990s, an improvement in a technology can be clearly differentiated between improvements in hardware (for example, improvements to circuit structures such as diodes, transistors, switches, etc.) or improvements in software (improvements in method procedures). ). However, with the development of technology, the improvement of many methods and processes today can be regarded as a direct improvement of the hardware circuit structure. Designers almost get the corresponding hardware circuit structure by programming the improved method flow into the hardware circuit. Therefore, it cannot be said that the improvement of a method flow cannot be realized by hardware entity modules. For example, a programmable logic device (P2rogrA2mmA2ble Logic Device, P2LD) (such as a field programmable gate array (Field P2rogrA2mmA2ble GA2te A2rrA2Y2, FP2GA2)) is such an integrated circuit whose logical function is determined by the access party programming the device. It is programmed by the designer to "integrate" a digital device on a piece of P2LD, without the need for a chip manufacturer to design and manufacture a dedicated integrated circuit chip. Moreover, nowadays, instead of making integrated circuit chips by hand, this kind of programming is also mostly implemented using "logic comP2iler" software, which is similar to the software compiler used in program development and writing, and needs to be compiled before compiling. The original code also has to be written in a specific programming language, which is called hardware description language (HA2rdwA2re DescriP2tion LA2nguA2ge, HDL), and there is not only one HDL, but many kinds, such as A2BEL (A2dvA2nced BooleA2n ExP2ression LA2nguA2ge) 、A2HDL(A2lterA2 HA2rdwA2re DescriP2tion LA2nguA2ge)、Confluence、CUP2L(Cornell UniversitY2 P2rogrA2mming LA2nguA2ge)、HDCA2l、JHDL(JA2vA2 HA2rdwA2re DescriP2tion LA2nguA2ge)、LA2vA2、LolA2、MY2HDL、P2A2LA2SM、RHDL(RubY2 HA2rdwA2re DescriP2tion LA2nguA2ge)等,目前最普遍使用The ones are VHDL (VerY2-High-SP2eed IntegrA2ted Circuit HA2rdwA2re DescriP2tion LA2nguA2ge) and Verilog. It should also be clear to those skilled in the art that a hardware circuit for implementing the logic method process can be easily obtained by simply programming the method process in the above-mentioned several hardware description languages and programming it into the integrated circuit.
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(A2P2P2licA2tion SP2ecific IntegrA2ted Circuit, A2SIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:A2RC 625D、A2tmel A2T91SA2M、MicrochiP2 P2IC18F26K20以及Silicone LA2bs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。The controller may be implemented in any suitable manner, for example, the controller may take the form of eg a microprocessor or processor and a computer readable medium storing computer readable program code (eg software or firmware) executable by the (micro)processor , logic gates, switches, application specific integrated circuits (A2P2P2licA2tion SP2ecific IntegrA2ted Circuit, A2SIC), programmable logic controllers and embedded microcontrollers, examples of controllers include but are not limited to the following microcontrollers: A2RC 625D, A2tmel A2T91SA2M, MicrochiP2 P2IC18F26K20 and Silicon LA2bs C8051F320, the memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art also know that, in addition to implementing the controller in the form of pure computer-readable program code, the controller can be implemented as logic gates, switches, application-specific integrated circuits, programmable logic controllers and embedded devices by logically programming the method steps. The same function can be realized in the form of a microcontroller, etc. Therefore, such a controller can be regarded as a hardware component, and the devices included therein for realizing various functions can also be regarded as a structure within the hardware component. Or even, the means for implementing various functions can be regarded as both a software module implementing a method and a structure within a hardware component.
在本申请实施例的描述中,为了描述的方便,描述装置时以功能分为各种模块/单元分别描述,各个模块/单元的划分仅仅是一种逻辑功能的划分,在实施本申请实施例时可以把各模块/单元的功能在同一个或多个软件和/或硬件中实现。In the description of the embodiments of the present application, for the convenience of description, when describing the device, functions are divided into various modules/units for description, and the division of each module/unit is only a logical function division. At the same time, the functions of each module/unit may be implemented in one or more software and/or hardware.
具体的,本申请实施例所提出的装置在实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块以软件通过处理元件调用的形式实现,部分模块通过硬件的形式实现。例如,检测模块可以为单独设立的处理元件,也可以集成在电子设备的某一个芯片中实现。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。Specifically, the apparatuses proposed in the embodiments of the present application may be fully or partially integrated into a physical entity during actual implementation, or may be physically separated. And these modules can all be implemented in the form of software calling through processing elements; they can also all be implemented in hardware; some modules can also be implemented in the form of software calling through processing elements, and some modules can be implemented in hardware. For example, the detection module may be a separately established processing element, or may be integrated in a certain chip of the electronic device. The implementation of other modules is similar. In addition, all or part of these modules can be integrated together, and can also be implemented independently. In the implementation process, each step of the above-mentioned method or each of the above-mentioned modules can be completed by an integrated logic circuit of hardware in the processor element or an instruction in the form of software.
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(A2P2P2licA2tion SP2ecific IntegrA2ted Circuit,A2SIC),或,一个或多个数字信号处理器(DigitA2l SingnA2l P2rocessor,DSP2),或,一个或者多个现场可编程门阵列(Field P2rogrA2mmA2ble GA2te A2rrA2Y2,FP2GA2)等。再如,这些模块可以集成在一起,以片上装置(SY2stem-On-A2-ChiP2,SOC)的形式实现。For example, the above modules may be one or more integrated circuits configured to implement the above methods, such as: one or more specific integrated circuits (A2P2P2licA2tion SP2ecific IntegrA2ted Circuit, A2SIC), or, one or more digital signal processors ( DigitA2l SingnA2l P2rocessor, DSP2), or, one or more field programmable gate arrays (Field P2rogrA2mmA2ble GA2te A2rrA2Y2, FP2GA2), etc. For another example, these modules can be integrated together and implemented in the form of an on-chip device (SY2stem-On-A2-ChiP2, SOC).
本申请一实施例还提出了一种电子设备,电子设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发电子设备执行如本申请实施例所述的方法步骤。An embodiment of the present application also provides an electronic device, the electronic device includes a memory for storing computer program instructions and a processor for executing the program instructions, wherein when the computer program instructions are executed by the processor, the electronic device is triggered The device executes the method steps described in the embodiments of the present application.
具体的,在本申请一实施例中,上述一个或多个计算机程序被存储在上述存储器中,上述一个或多个计算机程序包括指令,当上述指令被上述设备执行时,使得上述设备执行本申请实施例所述的方法步骤。Specifically, in an embodiment of the present application, the above-mentioned one or more computer programs are stored in the above-mentioned memory, and the above-mentioned one or more computer programs include instructions. When the above-mentioned instructions are executed by the above-mentioned device, the above-mentioned device is made to execute the application. The method steps described in the examples.
具体的,在本申请一实施例中,电子设备的处理器可以是片上装置SOC,该处理器中可以包括中央处理器(CentrA2l P2rocessing Unit,CP2U),还可以进一步包括其他类型的处理器。具体的,在本申请一实施例中,电子设备的处理器可以是P2WM控制芯片。Specifically, in an embodiment of the present application, the processor of the electronic device may be an on-chip device SOC, and the processor may include a central processing unit (CentrA21 P2rocessing Unit, CPU2U), and may further include other types of processors. Specifically, in an embodiment of the present application, the processor of the electronic device may be a P2WM control chip.
具体的,在本申请一实施例中,涉及的处理器可以例如包括CP2U、DSP2、微控制器或数字信号处理器,还可包括GP2U、嵌入式神经网络处理器(NeurA2l-network P2rocess Units,NP2U)和图像信号处理器(ImA2ge SignA2l P2rocessing,ISP2),该处理器还可包括必要的硬件加速器或逻辑处理硬件电路,如A2SIC,或一个或多个用于控制本申请技术方案程序执行的集成电路等。此外,处理器可以具有操作一个或多个软件程序的功能,软件程序可以存储在存储介质中。Specifically, in an embodiment of the present application, the involved processor may include, for example, a CPU2U, a DSP2, a microcontroller or a digital signal processor, and may also include a GP2U, an embedded neural network processor (NeurA2l-network P2rocess Units, NP2U ) and an image signal processor (ImA2ge SignA2l P2rocessing, ISP2), the processor may also include necessary hardware accelerators or logic processing hardware circuits, such as A2SIC, or one or more integrated circuits for controlling the execution of the program of the technical solution of the present application Wait. Furthermore, the processor may have the function of operating one or more software programs, which may be stored in a storage medium.
具体的,在本申请一实施例中,电子设备的存储器可以是只读存储器(reA2d-onlY2 memorY2,ROM)、可存储静态信息和指令的其它类型的静态存储设备、随机存取存储器(rA2ndom A2ccess memorY2,RA2M)或可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electricA2llY2 erA2sA2ble P2rogrA2mmA2ble reA2d-onlY2 memorY2,EEP2ROM)、只读光盘(comP2A2ct disc reA2d-onlY2 memorY2,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者还可以是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何计算机可读介质。Specifically, in an embodiment of the present application, the memory of the electronic device may be a read-only memory (reA2d-onlY2 memoryY2, ROM), other types of static storage devices that can store static information and instructions, random access memory (rA2ndom A2access memorY2, RA2M) or other types of dynamic storage devices that can store information and instructions, or electrically erasable programmable read-only memory (electricA2llY2 erA2sA2ble P2rogrA2mmA2ble reA2d-onlY2 memorY2, EEP2ROM), CD-ROM (comP2A2ct disc reA2d-onlY2 memorY2, CD-ROM) or other optical disc storage, optical disc storage (including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or can also be used for portable or Any computer-readable medium that stores desired program code in the form of instructions or data structures and can be accessed by a computer.
具体的,在本申请一实施例中,处理器可以和存储器可以合成一个处理装置,更常见的是彼此独立的部件,处理器用于执行存储器中存储的程序代码来实现本申请实施例所述方法。具体实现时,该存储器也可以集成在处理器中,或者,独立于处理器。Specifically, in an embodiment of the present application, a processor may be combined with a memory to form a processing device, which is more commonly an independent component. The processor is used to execute program codes stored in the memory to implement the method described in the embodiment of the present application. . During specific implementation, the memory can also be integrated in the processor, or be independent of the processor.
进一步的,本申请实施例阐明的设备,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。Further, the device described in the embodiments of the present application may be specifically implemented by a computer chip or an entity, or implemented by a product having a certain function.
本领域内的技术人员应明白,本申请实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。Those skilled in the art should understand that the embodiments of the present application may be provided as a method, an apparatus, or a computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media having computer-usable program code embodied therein.
在本申请所提供的几个实施例中,任一功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。In the several embodiments provided in this application, if any function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application can be embodied in the form of a software product in essence, or the part that contributes to the prior art or the part of the technical solution. The computer software product is stored in a storage medium, including Several instructions are used to cause a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application.
具体的,本申请一实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行本申请实施例提供的方法。Specifically, an embodiment of the present application further provides a computer-readable storage medium, where a computer program is stored in the computer-readable storage medium, and when it runs on a computer, the computer executes the method provided by the embodiment of the present application.
本申请一实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,当其在计算机上运行时,使得计算机执行本申请实施例提供的方法。An embodiment of the present application further provides a computer program product, where the computer program product includes a computer program that, when running on a computer, causes the computer to execute the method provided by the embodiment of the present application.
本申请中的实施例描述是参照根据本申请实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。The descriptions of the embodiments in the present application are described with reference to flowcharts and/or block diagrams of methods, apparatuses (apparatuses), and computer program products according to the embodiments of the present application. It will be understood that each flow and/or block in the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to the processor of a general purpose computer, special purpose computer, embedded processor or other programmable data processing device to produce a machine such that the instructions executed by the processor of the computer or other programmable data processing device produce Means for implementing the functions specified in a flow or flow of a flowchart and/or a block or blocks of a block diagram.
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory result in an article of manufacture comprising instruction means, the instructions The apparatus implements the functions specified in the flow or flow of the flowcharts and/or the block or blocks of the block diagrams.
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。These computer program instructions can also be loaded on a computer or other programmable data processing device to cause a series of operational steps to be performed on the computer or other programmable device to produce a computer-implemented process such that The instructions provide steps for implementing the functions specified in the flow or blocks of the flowcharts and/or the block or blocks of the block diagrams.
还需要说明的是,本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A2和/或B,可以表示单独存在A2、同时存在A2和B、单独存在B的情况。其中A2,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项”及其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。例如,A2,b和c中的至少一项可以表示:A2,b,c,A2和b,A2和c,b和c或A2和b和c,其中A2,b,c可以是单个,也可以是多个。It should also be noted that, in the embodiments of the present application, "at least one" refers to one or more, and "multiple" refers to two or more. "And/or", which describes the association relationship of the associated objects, indicates that there can be three kinds of relationships, for example, A2 and/or B, which can indicate the existence of A2 alone, the existence of A2 and B at the same time, and the existence of B alone. Where A2, B can be singular or plural. The character "/" generally indicates that the associated objects are an "or" relationship. "At least one of the following" and similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of A2, b and c can represent: A2, b, c, A2 and b, A2 and c, b and c or A2 and b and c, where A2, b, c can be single, or Can be multiple.
本申请实施例中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。In the embodiments of the present application, the terms "comprising", "comprising" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements not only includes those elements, but also includes Other elements not expressly listed, or which are inherent to such a process, method, article of manufacture, or apparatus are also included. Without further limitation, an element qualified by the phrase "comprising a..." does not preclude the presence of additional identical elements in the process, method, article of manufacture, or device that includes the element.
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。The application may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The application may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including storage devices.
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。Each embodiment in this application is described in a progressive manner, and the same and similar parts between the various embodiments may be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the apparatus embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and reference may be made to some descriptions of the method embodiments for related parts.
本领域普通技术人员可以意识到,本申请实施例中描述的各单元及算法步骤,能够以电子硬件、计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。Those of ordinary skill in the art can realize that each unit and algorithm steps described in the embodiments of the present application can be implemented by a combination of electronic hardware, computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Skilled artisans may implement the described functionality using different methods for each particular application, but such implementations should not be considered beyond the scope of this application.
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。Those skilled in the art can clearly understand that, for the convenience and brevity of description, for the specific working process of the above-described devices, devices and units, reference may be made to the corresponding processes in the foregoing method embodiments, which will not be repeated here.
以上所述,仅为本申请的具体实施方式,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。本申请的保护范围应以所述权利要求的保护范围为准。The above are only specific embodiments of the present application. Any person skilled in the art can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be covered by the protection scope of the present application. The protection scope of the present application shall be subject to the protection scope of the claims.

Claims (11)

  1. 一种终端设备,其特征在于,所述终端设备包括:A terminal device, characterized in that the terminal device includes:
    处理器;processor;
    存储器;memory;
    以及计算机程序,其中所述计算机程序存储在所述存储器上,当所述计算机程序被所述处理器执行时,使得所述终端设备执行以下步骤:and a computer program, wherein the computer program is stored on the memory, and when the computer program is executed by the processor, causes the terminal device to perform the following steps:
    获取第一编辑操作记录,所述第一编辑操作记录对应参与协同编辑的所有终端设备中,所述终端设备以外的所有其他终端设备,在当前编辑周期中所进行的所有编辑操作;Acquiring a first editing operation record, the first editing operation record corresponds to all the editing operations performed in the current editing cycle in all terminal devices participating in the collaborative editing, and all other terminal devices other than the terminal device;
    基于所述当前编辑周期的上一编辑周期的协同编辑结果,根据所述第一编辑操作记录生成所述当前编辑周期的协同编辑结果。Based on the collaborative editing result of the previous editing cycle of the current editing cycle, the collaborative editing result of the current editing cycle is generated according to the first editing operation record.
  2. 根据权利要求1所述的终端设备,其特征在于:The terminal device according to claim 1, wherein:
    所述终端设备还执行:记录所述当前编辑周期中,在所述终端设备上进行的所有编辑操作,汇总为第二编辑操作记录;输出所述第二编辑操作记录;The terminal device further performs: recording all editing operations performed on the terminal device in the current editing cycle, and summarizing them into a second editing operation record; and outputting the second editing operation record;
    所述根据所述第一编辑操作记录生成所述当前编辑周期的协同编辑结果,包括:合并所述第一编辑操作记录以及所述第二编辑操作记录的编辑操作,生成所述当前编辑周期的协同编辑结果。The generating the collaborative editing result of the current editing cycle according to the first editing operation record includes: merging the editing operations of the first editing operation record and the second editing operation record, and generating the editing operation of the current editing cycle. Collaborative editing results.
  3. 根据权利要求1所述的终端设备,其特征在于,所述记录在所述终端设备上进行的编辑操作,生成第一编辑操作记录,包括:The terminal device according to claim 1, wherein the recording of the editing operation performed on the terminal device to generate a first editing operation record comprises:
    将用户在所述终端设备上的编辑动作转换为原子操作记录。Convert the user's editing action on the terminal device into an atomic operation record.
  4. 根据权利要求3所述的终端设备,其特征在于,所述记录在所述终端设备上进行的编辑操作,生成第一编辑操作记录,还包括:The terminal device according to claim 3, wherein the recording of the editing operation performed on the terminal device generates a first editing operation record, further comprising:
    将所述原子操作记录进行独立压缩编码,生成所述第一编辑操作记录。The atomic operation record is independently compressed and encoded to generate the first editing operation record.
  5. 根据权利要求1所述的终端设备,其特征在于,所述协同编辑结果包括多个显示层。The terminal device according to claim 1, wherein the collaborative editing result comprises a plurality of display layers.
  6. 一种协同编辑方法,应用于终端设备,其特征在于,所述终端设备包括:处理器;存储器;所述方法包括:A collaborative editing method, applied to a terminal device, characterized in that the terminal device includes: a processor; a memory; the method includes:
    获取第一编辑操作记录,所述第一编辑操作记录对应参与协同编辑的所有终端设备中,所述终端设备以外的所有其他终端设备,在当前编辑周期中所进行的所有编辑操作;Acquiring a first editing operation record, the first editing operation record corresponds to all the editing operations performed in the current editing cycle in all terminal devices participating in the collaborative editing, and all other terminal devices other than the terminal device;
    基于所述当前编辑周期的上一编辑周期的协同编辑结果,根据所述第一编辑操作记录生成所述当前编辑周期的协同编辑结果。Based on the collaborative editing result of the previous editing cycle of the current editing cycle, the collaborative editing result of the current editing cycle is generated according to the first editing operation record.
  7. 根据权利要求6所述的方法,其特征在于:The method according to claim 6, wherein:
    所述方法还包括:记录所述当前编辑周期中,在所述终端设备上进行的所有编辑操作,汇总为第二编辑操作记录;输出所述第二编辑操作记录;The method further includes: recording all editing operations performed on the terminal device in the current editing cycle, and summarizing them into a second editing operation record; outputting the second editing operation record;
    所述根据所述第一编辑操作记录生成所述当前编辑周期的协同编辑结果,包括:合并所述第一编辑操作记录以及所述第二编辑操作记录的编辑操作,生成所述当前编辑周期的协同编辑结果。The generating the collaborative editing result of the current editing cycle according to the first editing operation record includes: merging the editing operations of the first editing operation record and the second editing operation record, and generating the editing operation of the current editing cycle. Collaborative editing results.
  8. 根据权利要求6所述的方法,其特征在于,所述记录在所述终端设备上进行的编辑操作,生成第一编辑操作记录,包括:The method according to claim 6, wherein the recording of the editing operation performed on the terminal device to generate a first editing operation record comprises:
    将用户在所述终端设备上的编辑动作转换为原子操作记录。Convert the user's editing action on the terminal device into an atomic operation record.
  9. 根据权利要求8所述的方法,其特征在于,所述记录在所述终端设备上进行的编辑操作,生成第一编辑操作记录,还包括:The method according to claim 8, wherein the recording of the editing operation performed on the terminal device generates a first editing operation record, further comprising:
    将所述原子操作记录进行独立压缩编码,生成所述第一编辑操作记录。The atomic operation record is independently compressed and encoded to generate the first editing operation record.
  10. 根据权利要求6所述的方法,其特征在于,所述协同编辑结果包括多个显示层。The method of claim 6, wherein the collaborative editing result comprises a plurality of display layers.
  11. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如权利要求6-10中任一项所述的方法。A computer-readable storage medium, characterized in that, a computer program is stored in the computer-readable storage medium, and when it runs on a computer, the computer executes the method according to any one of claims 6-10 .
PCT/CN2022/085132 2021-04-08 2022-04-02 Collaborative editing method and terminal device WO2022213941A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110376215.3A CN115204117A (en) 2021-04-08 2021-04-08 Collaborative editing method and terminal equipment
CN202110376215.3 2021-04-08

Publications (1)

Publication Number Publication Date
WO2022213941A1 true WO2022213941A1 (en) 2022-10-13

Family

ID=83545982

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/085132 WO2022213941A1 (en) 2021-04-08 2022-04-02 Collaborative editing method and terminal device

Country Status (2)

Country Link
CN (1) CN115204117A (en)
WO (1) WO2022213941A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116882374A (en) * 2023-09-06 2023-10-13 南京嘉恒信息技术有限公司 Online collaboration method, system and storage medium based on Json structure data
CN117131136A (en) * 2023-10-26 2023-11-28 新唐信通(北京)科技有限公司 Research and development data sharing method, system, equipment and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102955785A (en) * 2011-08-22 2013-03-06 北大方正集团有限公司 Method and system for online editing of documents
US20130283147A1 (en) * 2012-04-19 2013-10-24 Sharon Wong Web-based collaborative document review system
CN104615586A (en) * 2015-01-21 2015-05-13 上海理工大学 Real-time cooperative editing system
CN108269063A (en) * 2018-01-25 2018-07-10 中国地质大学(武汉) The online synergic editing method of word document and system
CN109543163A (en) * 2018-10-30 2019-03-29 天津字节跳动科技有限公司 Documentation revisions record acquisition methods, device, storage medium and electronic equipment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102955785A (en) * 2011-08-22 2013-03-06 北大方正集团有限公司 Method and system for online editing of documents
US20130283147A1 (en) * 2012-04-19 2013-10-24 Sharon Wong Web-based collaborative document review system
CN104615586A (en) * 2015-01-21 2015-05-13 上海理工大学 Real-time cooperative editing system
CN108269063A (en) * 2018-01-25 2018-07-10 中国地质大学(武汉) The online synergic editing method of word document and system
CN109543163A (en) * 2018-10-30 2019-03-29 天津字节跳动科技有限公司 Documentation revisions record acquisition methods, device, storage medium and electronic equipment

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116882374A (en) * 2023-09-06 2023-10-13 南京嘉恒信息技术有限公司 Online collaboration method, system and storage medium based on Json structure data
CN116882374B (en) * 2023-09-06 2023-11-14 南京嘉恒信息技术有限公司 Online collaboration method, system and storage medium based on Json structure data
CN117131136A (en) * 2023-10-26 2023-11-28 新唐信通(北京)科技有限公司 Research and development data sharing method, system, equipment and storage medium
CN117131136B (en) * 2023-10-26 2024-01-19 新唐信通(浙江)科技有限公司 Research and development data sharing method, system, equipment and storage medium

Also Published As

Publication number Publication date
CN115204117A (en) 2022-10-18

Similar Documents

Publication Publication Date Title
WO2020244492A1 (en) Screen projection display method and electronic device
WO2021213120A1 (en) Screen projection method and apparatus, and electronic device
WO2021022962A1 (en) Method and device for model inference based on graphics rendering pipelines, and storage medium
WO2021078284A1 (en) Content continuation method and electronic device
WO2022213941A1 (en) Collaborative editing method and terminal device
WO2021233079A1 (en) Cross-device content projection method, and electronic device
CN114040242B (en) Screen projection method, electronic equipment and storage medium
WO2022100304A1 (en) Method and apparatus for transferring application content across devices, and electronic device
WO2024016559A1 (en) Multi-device cooperation method, electronic device and related product
WO2020253754A1 (en) Multi-terminal multimedia data communication method and system
WO2021136114A1 (en) Method for occupying device and electronic device
CN113689171A (en) Method and device for fusing family schedules
WO2022161120A1 (en) Method for turning on screen, and electronic device
WO2022127670A1 (en) Call method and system, and related device
US20230273902A1 (en) File Opening Method and Device
WO2021027727A1 (en) Method for information transmission and electronic device
US20230350629A1 (en) Double-Channel Screen Mirroring Method and Electronic Device
US20240040373A1 (en) Data transmission method, device, conference system, wireless screen transmitter and storage medium
WO2023093092A1 (en) Minuting method, and terminal device and minuting system
WO2024027238A1 (en) Multi-device cooperation method, electronic device and related product
WO2022252980A1 (en) Method for screen sharing, related electronic device, and system
WO2024037332A1 (en) Screen mirroring method, electronic device and system
WO2024001813A1 (en) Input control method, electronic device and system
WO2023241558A1 (en) Communication method, communication system and mouse
WO2024027374A1 (en) Method for displaying hidden information, and device, chip system, medium and program product

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22784007

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22784007

Country of ref document: EP

Kind code of ref document: A1