CN113312885B - Cooperative operation processing method, device, equipment and medium - Google Patents

Cooperative operation processing method, device, equipment and medium Download PDF

Info

Publication number
CN113312885B
CN113312885B CN202110867959.5A CN202110867959A CN113312885B CN 113312885 B CN113312885 B CN 113312885B CN 202110867959 A CN202110867959 A CN 202110867959A CN 113312885 B CN113312885 B CN 113312885B
Authority
CN
China
Prior art keywords
cooperative
atomic
editing
content
operations
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110867959.5A
Other languages
Chinese (zh)
Other versions
CN113312885A (en
Inventor
邓彪
李争
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202110867959.5A priority Critical patent/CN113312885B/en
Priority to CN202111149840.0A priority patent/CN115688695A/en
Publication of CN113312885A publication Critical patent/CN113312885A/en
Application granted granted Critical
Publication of CN113312885B publication Critical patent/CN113312885B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging

Abstract

The application provides a cooperative operation processing method, a cooperative operation processing device, cooperative operation processing equipment and a medium, wherein the method comprises the following steps: parsing at least two collaborative operations associated with a first editing region in a target document into atomic operations; if the first cooperative operation comprises an atomic operation i aiming at the first editing region and an atomic operation j aiming at the second editing region in the target document, performing conflict merging on the atomic operation i and the atomic operation of the second cooperative operation to obtain a first merging result aiming at the first editing region; the at least two cooperative operations include a first cooperative operation and a second cooperative operation, i and j are positive integers; and generating sub-atomic operation according to the operation contents except the first merging result in the atomic operation corresponding to the atomic operation i and the second cooperative operation, and performing conflict merging on the atomic operation j and the sub-atomic operation to obtain a second merging result aiming at the second editing area. By the aid of the method and the device, accuracy of the cooperative operation processing result can be improved.

Description

Cooperative operation processing method, device, equipment and medium
Technical Field
The present application relates to the field of internet technologies, and in particular, to a method, an apparatus, a device, and a medium for processing a cooperative operation.
Background
The online document, as a shared document supporting real-time browsing and editing by a plurality of users, can save a lot of time and energy for the users, and thus is receiving wide attention from the users. At present, when a plurality of users operate the same version of the same online document, the online document needs to be modified in sequence according to the sequence of the operation time corresponding to the plurality of users; however, when the operations of the user a and the user B in the online document cannot be distinguished from each other in terms of operation time, logical confusion between the operations of the two users is easily caused, and thus an error occurs in a modification result of the online document.
Disclosure of Invention
The embodiment of the application provides a cooperative operation processing method, a cooperative operation processing device, a cooperative operation processing apparatus and a cooperative operation processing medium, which can improve the accuracy of a cooperative operation processing result.
An embodiment of the present application provides a cooperative operation processing method, including:
acquiring at least two cooperative operations associated with a first editing area in a target document, and disassembling the at least two cooperative operations to obtain atomic operations respectively corresponding to the at least two cooperative operations;
if a first cooperative operation of the at least two cooperative operations includes an atomic operation i for the first editing region and an atomic operation j for the second editing region, performing conflict merging on the atomic operation i and the atomic operation corresponding to the second cooperative operation to obtain a first merging result for the first editing region; the second editing area belongs to the target document, the second cooperative operation is a cooperative operation except the first cooperative operation in at least two cooperative operations, and i and j are positive integers smaller than or equal to the number of atomic operations corresponding to the first cooperative operation;
and according to the first merging result, acquiring operation contents lost in the atomic operation corresponding to the atomic operation i and the second cooperative operation, generating a secondary atomic operation containing the operation contents, and performing conflict merging on the atomic operation j and the secondary atomic operation to obtain a second merging result aiming at the second editing area.
An embodiment of the present application provides a cooperative operation processing method, including:
sending a first cooperative operation aiming at the target document to a server so that the server disassembles the first cooperative operation and the second cooperative operation into an atomic operation; the first cooperative operation and the second cooperative operation are sent by different user terminals, the first cooperative operation comprises an atomic operation i aiming at a first editing region and an atomic operation j aiming at a second editing region, the second cooperative operation comprises an atomic operation aiming at the first editing region, the first editing region and the second editing region both belong to a target document, and both i and j are positive integers smaller than or equal to the number of the atomic operations corresponding to the first cooperative operation;
receiving a first merging result and a second merging result returned by the server, and displaying the first merging result associated with the first editing area and the second merging result associated with the second editing area in the target document; the first merging result is a conflict merging result between the atomic operation i and the atomic operation corresponding to the second cooperative operation, the second merging result is a conflict merging result between the atomic operation j and the sub-atomic operation, and the sub-atomic operation is determined by the operation content lost in the atomic operation i and the atomic operation corresponding to the second cooperative operation.
An aspect of the present application provides a cooperative processing apparatus, including:
the disassembling module is used for acquiring at least two cooperative operations associated with a first editing area in a target document, and disassembling the at least two cooperative operations to obtain atomic operations corresponding to the at least two cooperative operations respectively;
a first conflict merging module, configured to perform conflict merging on an atomic operation i corresponding to the first editing region and an atomic operation j corresponding to the second editing region if a first cooperative operation of the at least two cooperative operations includes the atomic operation i corresponding to the first editing region and the atomic operation j corresponding to the second editing region, so as to obtain a first merging result for the first editing region; the second editing area belongs to the target document, the second cooperative operation is a cooperative operation except the first cooperative operation in at least two cooperative operations, and i and j are positive integers smaller than or equal to the number of atomic operations corresponding to the first cooperative operation;
and the second conflict merging module is used for acquiring operation contents lost in the atomic operation corresponding to the atomic operation i and the second cooperative operation according to the first merging result, generating a sub-atomic operation containing the operation contents, and performing conflict merging on the atomic operation j and the sub-atomic operation to obtain a second merging result aiming at the second editing area.
Wherein, disassemble the module and include:
the region allocation unit is used for acquiring an object identifier set corresponding to a target document, and in the target document, respectively allocating a document control region for each object identifier in the object identifier set;
an operation permission determining unit, configured to determine that, if original cooperative operations for a first editing region, which are uploaded by user terminals associated with M object identifiers respectively, are received, the original cooperative operations corresponding to the object identifiers of the first editing region included in the document control region are determined as at least two cooperative operations in the original cooperative operations corresponding to the M object identifiers respectively; m is a positive integer less than or equal to the number of object identifications contained in the object identification set.
Wherein, the device still includes:
the editing region number counting module is used for acquiring editing region sets triggered by at least two cooperative operations in the target document respectively and counting the number of editing regions corresponding to the at least two editing region sets respectively;
the first cooperative operation determining module is used for determining the cooperative operation to which the editing region set with the number of editing regions larger than the number threshold belongs as the first cooperative operation; the editing area set corresponding to the first cooperative operation comprises a first editing area and a second editing area.
Wherein, disassemble the module and include:
the operation disassembling unit is used for respectively disassembling at least two cooperative operations to obtain one or more cooperative sub-operations corresponding to each cooperative operation;
and the operation conversion unit is used for converting the one or more cooperative sub-operations into the atomic operation according to the execution time sequence of the one or more cooperative sub-operations in the cooperative operation.
The first cooperative operation comprises a cut moving operation, the atomic operation i comprises a content deleting operation, the atomic operation j comprises a content inserting operation, and the atomic operation corresponding to the second cooperative operation comprises a content modifying operation;
the first conflict merge module is specifically configured to:
if the shearing movement operation in the at least two cooperative operations comprises a content deleting operation aiming at the first editing area and a content inserting operation aiming at the second editing area, performing conflict merging on the content deleting operation and the content modifying operation to obtain a first merging result which is null operation aiming at the first editing area;
the second conflict merge module is to:
and according to the null operation, determining the operation content lost in the content deleting operation and the content modifying operation as the content modifying operation, and determining the content modifying operation and the null operation as a secondary atomic operation.
The first cooperative operation comprises a selective copying operation, the atomic operation i comprises a content selection operation, the atomic operation j comprises a content insertion operation, and the atomic operation corresponding to the second cooperative operation comprises a content modification operation;
the first conflict merge module is specifically configured to:
if the selective copying operation in the at least two cooperative operations comprises a content selection operation aiming at the first editing area and a content insertion operation aiming at the second editing area, performing conflict combination on the content selection operation and the content modification operation to obtain a first combination result aiming at the first editing area as modified content;
the second conflict merge module is to:
according to the modified content, determining the operation content lost in the content selection operation and the content modification operation as original operation content, and determining the original operation content as sub-atomic operation; the original operation content refers to original content in the first editing region triggered by the content selection operation.
Wherein, the device still includes:
the identification acquisition module is used for acquiring a target object identification of which the first editing area has a binding relationship;
the expected result obtaining module is used for obtaining an expected operation result associated with the target object identifier if the received second cooperative operation corresponding to the N object identifiers comprises the second cooperative operation corresponding to the target object identifier; n is a positive integer less than the number of at least two cooperating operations;
and the result returning module is used for returning the expected operation result and the second merging result to the user terminal associated with the target object identifier if the second merging result is inconsistent with the expected operation result, so that the user terminal associated with the target object identifier displays the expected operation result and the second merging result in the target document.
An aspect of the present application provides a cooperative processing apparatus, including:
the operation sending module is used for sending the first cooperative operation aiming at the target document to the server so that the server disassembles the first cooperative operation and the second cooperative operation into an atomic operation; the first cooperative operation and the second cooperative operation are sent by different user terminals, the first cooperative operation comprises an atomic operation i aiming at a first editing region and an atomic operation j aiming at a second editing region, the second cooperative operation comprises an atomic operation aiming at the first editing region, the first editing region and the second editing region both belong to a target document, and both i and j are positive integers smaller than or equal to the number of the atomic operations corresponding to the first cooperative operation;
the merging result receiving module is used for receiving the first merging result and the second merging result returned by the server, and displaying the first merging result associated with the first editing area and the second merging result associated with the second editing area in the target document; the first merging result is a conflict merging result between the atomic operation i and the atomic operation corresponding to the second cooperative operation, the second merging result is a conflict merging result between the atomic operation j and the sub-atomic operation, and the sub-atomic operation is determined by the operation content lost in the atomic operation i and the atomic operation corresponding to the second cooperative operation.
Wherein, the merging result receiving module is specifically configured to:
and receiving a first combination result and a second combination result returned by the server, inserting the first combination result into the first editing area of the target document, and inserting the second combination result into the second editing area.
Wherein the first cooperative operation comprises a shear movement operation;
the combined result receiving module comprises:
the first content insertion unit is used for receiving the first combination result and the second combination result returned by the server and inserting the first combination result into the first editing area of the target document;
a first list display unit configured to display a first candidate content list associated with the second editing region; the first candidate content list comprises a second combination result and original operation content triggered by the first cooperative operation;
and the second content inserting unit is used for responding to the selecting operation aiming at the first candidate content list and inserting the original operation content triggered by the selecting operation into the second editing area.
Wherein the first cooperative operation comprises a selective copy operation;
the combined result receiving module comprises:
the first content insertion unit is used for receiving the first combination result and the second combination result returned by the server and inserting the first combination result into the first editing area of the target document;
a second list display unit configured to display a second candidate content list associated with the second editing region; the second candidate content list comprises a first combination result and a second combination result;
and the third content inserting unit is used for responding to the selecting operation aiming at the second candidate content list and inserting the first merging result triggered by the selecting operation into the second editing area.
Wherein, the device still includes:
and the object identifier display module is used for acquiring the editing object identifier aiming at the first editing area when the first editing area is monitored to be operated, and displaying the editing object identifier in the associated area corresponding to the first editing area.
In one aspect, an embodiment of the present application provides a computer device, including a memory and a processor, where the memory is connected to the processor, the memory is used for storing a computer program, and the processor is used for calling the computer program, so that the computer device executes the method provided in the above aspect in the embodiment of the present application.
An aspect of the embodiments of the present application provides a computer-readable storage medium, in which a computer program is stored, where the computer program is adapted to be loaded and executed by a processor, so as to enable a computer device with the processor to execute the method provided by the above aspect of the embodiments of the present application.
According to an aspect of the application, a computer program product or computer program is provided, comprising computer instructions, the computer instructions being stored in a computer readable storage medium. The processor of the computer device reads the computer instructions from the computer readable storage medium, and the processor executes the computer instructions to cause the computer device to perform the method provided by the above-mentioned aspect.
The method and the device for processing the collaborative operations in the target document can obtain at least two collaborative operations associated with a first editing region in the target document, each collaborative operation is disassembled into atomic operations, if a first collaborative operation in the at least two collaborative operations comprises an atomic operation i for the first editing region and an atomic operation j for a second editing region, conflict merging is conducted on the atomic operations i and the atomic operations of the second collaborative operation, a first merging result for the first editing region is obtained, the second editing region belongs to the target document, the second collaborative operation is a collaborative operation except the first collaborative operation in the at least two collaborative operations, and both i and j are positive integers; further, according to the first merge result, a sub-atomic operation including the operation content may be generated from the operation content lost in the atomic operation corresponding to the atomic operation i and the second cooperative operation, and the atomic operation j and the sub-atomic operation may be subjected to conflict merge, so as to obtain a second merge result for the second editing region, where the second merge result may be a result of conflict merge processing between the at least two cooperative operations. It can be seen that, in the processing scenarios of at least two cooperative operations, each cooperative operation may be decomposed into atomic operations, and conflict merge processing between the atomic operations is performed, and if there is a missing operation content during the execution of the atomic operations, a final conflict merge processing result may be obtained by introducing a sub-atomic operation including the operation content, so that the obtained conflict processing result may simultaneously retain changes of at least two cooperative operations, and thus, the accuracy of the cooperative operation processing result may be improved.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present application, and for those skilled in the art, other drawings can be obtained according to the drawings without creative efforts.
Fig. 1 is a schematic structural diagram of a network architecture according to an embodiment of the present application;
fig. 2 is a schematic view of a collaborative conflict handling scenario provided in an embodiment of the present application;
fig. 3 is a schematic flowchart of a cooperative processing method provided in an embodiment of the present application;
FIG. 4 is a flow chart of a cooperative operation process provided in an embodiment of the present application;
fig. 5 is a schematic flowchart of a cooperative processing method provided in an embodiment of the present application;
FIG. 6 is a diagram illustrating a cut-move scene in a target document according to an embodiment of the present application;
FIG. 7 is a diagram of an editing display interface of a target document according to an embodiment of the present application;
fig. 8 is a schematic structural diagram of a cooperative processing apparatus according to an embodiment of the present application;
fig. 9 is a schematic structural diagram of a cooperative processing apparatus according to an embodiment of the present application;
fig. 10 is a schematic structural diagram of a computer device according to an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
One or more embodiments of the present application relate to the following concepts:
online documentation: an online document may refer to a file such as text (e.g., a file of a formatting type such as. doc,. docx,. txt,. rtf), a table (e.g., a file of a formatting type such as. xls,. xlsx), a presentation (e.g., a file of a formatting type such as. ppt,. pptx), etc.) that allows a user to view and edit through a browser webpage (web), an Application (APP), an applet, etc., and the online document may support multi-user real-time collaborative operations.
And (3) synergy: data interaction is carried out between different objects, and the objects can include but are not limited to: user, terminal, equipment component, equipment module.
And (3) conflict processing: when a plurality of objects edit the data of the same version of the online document, the online document can process the data editing operation of the plurality of objects, and the modification of the online document by the plurality of objects can be reserved as much as possible. The same online document can correspond to different versions, and conflict processing is required for data editing operation of the same version.
And (3) collaborative conflict processing: performing conflict processing on operation data generated by a plurality of objects through an Operation Transformation (OT) algorithm to simultaneously reserve modification operations of the plurality of objects on the same online document, wherein the collaborative conflict processing can also be called conflict merging processing; the OT algorithm may refer to a class of technologies, rather than a specific algorithm, and the idea is as follows: splitting an editing Operation (Operation) and converting (transform) the operations; the transformation is the core of the OT algorithm, and the core of the transformation lies in how to split the edits of multiple objects, specifically, which operations should be split into the edits and the transformation algorithm are all customizable, so the OT algorithm can flexibly support various collaborative editing applications, such as non-text editing (e.g., editing of diagrams, editing of tables, etc.).
Referring to fig. 1, fig. 1 is a schematic structural diagram of a network architecture according to an embodiment of the present disclosure. As shown in fig. 1, the network architecture may include a server 10d and a user terminal cluster, which may include one or more user terminals, where the number of user terminals is not limited. As shown in fig. 1, the user terminal cluster may specifically include a user terminal 10a, a user terminal 10b, a user terminal 10c, and the like. The server 10d may be an independent physical server, a server cluster or a distributed system formed by a plurality of physical servers, or a cloud server providing basic cloud computing services such as a cloud service, a cloud database, cloud computing, a cloud function, cloud storage, a network service, cloud communication, a middleware service, a domain name service, a security service, a CDN, a big data and artificial intelligence platform, and the like. The user terminal 10a, the user terminal 10b, the user terminal 10c, and the like may each include: a terminal having an online document editing function, such as a smart phone, a tablet computer, a notebook computer, a palm computer, a Mobile Internet Device (MID), and a desktop computer. As shown in fig. 1, the user terminal 10a, the user terminal 10b, the user terminal 10c, etc. may be respectively connected to the server 10d via a network, so that each user terminal may interact data with the server 10d via the network.
As shown in fig. 1, each user terminal in the user terminal cluster can view and edit the online document through the web page, when a plurality of user terminals in the user terminal cluster edit the same version of the online document, the server 10d corresponding to the online document can obtain edits of the plurality of user terminals, and perform collaborative conflict processing on edit data of the plurality of user terminals, so as to retain the modification of the same online document by the plurality of user terminals. For example, if the user terminal 10a, the user terminal 10b, and the user terminal 10c in fig. 1 edit the same version of the online document, the server 10d needs to perform the collaborative collision processing on the edit data of the user terminal 10a, the user terminal 10b, and the user terminal 10c after receiving the edit data of the user terminal 10a, the user terminal 10b, and the user terminal 10c, and output the result of the collaborative collision processing in the area edited by the plurality of user terminals.
The following describes in detail the cooperative conflict handling of a plurality of user terminals, taking the online document as a table file as an example. Referring to fig. 2, fig. 2 is a schematic view of a collaborative conflict handling scenario provided in an embodiment of the present application; the user terminal 20a and the user terminal 20B shown in fig. 2 may both be any user terminal in the user terminal cluster shown in fig. 1, the user terminal 20a may be a terminal device used by the user a, and the user terminal 20B may be a terminal device used by the user B.
As shown in fig. 2, the current display content of the first column (which may be referred to as cell a1 in the table file) in row 1 of the table file is "a 1a 1", and if the user a and the user B operate based on the same version of the table file, the user a and the user B need to perform a collaborative conflict processing on the operations of the user a and the user B. When the user A edits the table file, the operation is as follows: when the content "a 1z 9" is written in the first column (cell a 1) on the 1 st row, the user terminal 20a may listen to the editing operation of the user a on the form file, modify the content "a 1a 1" in the first column on the 1 st row into "a 1z 9", and upload the editing operation of the user a to the server 10d (which may also refer to a backend server of the online document); similarly, when the user B edits the table file, the operation is: when the content in the first column (cell a 1) in row 1 is cut into the first column (cell a 5) in row 5, the user terminal 20B may listen to the editing operation of the table file by the user B, cut the content "a 1a 1" in the first column in row 1, write the content in the first column in row 1 in row 5, and upload the editing operation of the user B to the server 10 d.
The server 10d may receive the editing operation of the user a submitted by the user terminal 20a and the editing operation of the user B submitted by the user terminal 20B, and may disassemble the editing operation of the user a into "modify the content of the first column of the row 1 to be 'a 1z 9'", that is, the editing operation of the user a may generate an edit in the user terminal 20 a; similarly, the editing operation of the user B may be broken down into two operations, namely "delete the first column on the 1 st row" and "insert the original data on the 1 st row and the first column at the position of the 5 th row and the first column", that is, the editing operation of the user B may generate two times of editing in the user terminal 20B.
In the process of performing the collaborative conflict processing on the editing operation of the user a and the editing operation of the user B, the server 10d may perform conflict merging on an operation of "modify the content of the first column in the row 1 to be 'a 1z 9'" of the user a and an operation of "delete the first column in the row 1" of the user B, where a first merging result after merging may be represented as: performing idle operation; in the process of the conflict merge processing, it can be found that the editing operation of the user a is lost, "modify the content of the first column in the 1 st row to be 'a 1z 9'", so that a sub-atomic operation can be generated according to the lost operation content and the first merge result; subsequently, the secondary atomic operation and the operation of "insert data in the first column of the original row 1 at the position of the first column of the row 5" of the user B may be performed conflict merging, and the second merging result after merging may be: the content "a 1z 9" is inserted at the position of the 5 th row and the first column. The server 10d may issue the second merging result to the user terminal 20a and the user terminal 20b, and after receiving the second merging result issued by the server 10d, the user terminal 20a and the user terminal 20b display the first merging result in the first column of the row 1 (the displayed content is empty), and insert the content "a 1z 9" in the first column of the row 5. In the embodiment of the application, sub-atomic operation including the lost operation content can be introduced to simultaneously reserve the editing operation of a plurality of users, so that the accuracy of the cooperative operation processing result can be improved.
Referring to fig. 3, fig. 3 is a schematic flowchart of a cooperative processing method according to an embodiment of the present disclosure. It is understood that the cooperative operation processing method may be executed by a server (e.g., the server 10d in the embodiment corresponding to fig. 1 described above); as shown in fig. 3, the cooperative operation processing method may include the steps of:
step S101, at least two cooperative operations associated with a first editing area in a target document are obtained, and the at least two cooperative operations are disassembled to obtain atomic operations corresponding to the at least two cooperative operations respectively.
Specifically, when at least two user terminals monitor the cooperative operation of the user with respect to the first editing region in the target document and submit the monitored cooperative operation to a background server (hereinafter referred to as a server) of the target document, the server may obtain the cooperative operation corresponding to each of the at least two user terminals. The target document may be the same version of an online document of a type such as text, table, presentation, etc., each user terminal may view and edit the target document by means of a browser webpage, an application program, an applet, etc., and the target document may include one or more editing regions, for example, an editing region may be one presentation, a cell in a table file, one text page, one text editing position (e.g., first line of first page in text file), one sub-table in table file, etc.
When a holding user of a user terminal performs an editing operation on a first editing region (for example, as the cell a1 in the embodiment corresponding to fig. 2) in a target document, the user terminal may submit the editing operation of the user to a server, and at this time, the server may modify the target document according to the editing operation submitted by the user terminal, and issue the modified content to each user terminal, so that each user terminal displays the modified target document. When holding users of a plurality of user terminals all execute editing operation on a first editing area in a target document, the plurality of user terminals can submit the editing operation of each user to a server; since the holding users of the multiple user terminals all edit the first editing region, there may be a conflict between editing operations submitted by the multiple user terminals, and the server is required to perform conflict merging processing on all received editing operations, so as to retain the operation of at least two user terminals on the target document. In the conflict merge processing scenario, the editing operation submitted by the user terminal to the server may be referred to as a cooperative operation, for example: when a plurality of users edit a target document at the same time, the editing operation of each user on the target document may be referred to as a cooperative operation.
It should be noted that the at least two cooperative operations received by the server may be submitted by at least two user terminals in the same manner, for example: at least two of the collaborative operations are submitted via a browser; alternatively, the at least two cooperating actions may be submitted by the at least two user terminals in different ways, for example: and some user terminals submit through the browser, some user terminals submit through the application program, and the like. For example, when the user terminal 1 views and edits a target document in an application program, it monitors the cooperative operation 1 in the target document, and can submit the cooperative operation 1 to a server; when the user terminal 2 views and edits the target document in the applet, the cooperative operation 2 in the target document is monitored, and then the cooperative operation 2 can be submitted to a server; when the user terminal 3 checks and edits the target document in the browser, the cooperative operation 3 in the target document is monitored, and then the cooperative operation 3 can be submitted to a server; when the user terminal 4 views and edits the target document in the application program, the cooperative operation 4 in the target document is monitored, and then the cooperative operation 4 can be submitted to the server; the server at this time may receive the cooperative operations (including cooperative operation 1, cooperative operation 2, cooperative operation 3, and cooperative operation 4) submitted by each user terminal, and perform conflict merge processing on the received 4 cooperative operations.
Optionally, the server may set editing rights for the target document, for example: the user a has the right to edit the editing region 1 in the target document and does not have the right to edit the editing region 2 in the target document, and the user B has the right to edit the editing region 3 in the target document and does not have the right to edit the editing regions 1 and 2 in the target document. The server can obtain an object identification set corresponding to a target document, and in the target document, a document control area can be respectively allocated to each object identification in the object identification set; if the server receives the original cooperative operations, which are respectively uploaded by the user terminals associated with the M object identifiers and are directed to the first editing region, the original cooperative operations corresponding to the object identifiers of the first editing region included in the document control region may be determined as at least two cooperative operations in the original cooperative operations respectively corresponding to the M object identifiers, where M may be a positive integer less than or equal to the number of the object identifiers included in the object identifier set.
Wherein, the object identifications in the object identification set may include but are not limited to: the document control area may refer to an area where each object identifier has an editing right in the target document, for example, when the object identifier 1 has an editing right for the editing area 1 and the editing area 2 in the target document, the editing area 1 and the editing area 2 may be regarded as a document control area of the object identifier 1; when the server receives all original cooperative operations aiming at the first editing area, including the original cooperative operation corresponding to the object identifier 1, whether the object identifier 1 has the authority to edit the first editing area needs to be judged, if the first editing area belongs to the document control area corresponding to the object identifier 1, the object identifier 1 is indicated to have the authority to edit the first editing area, and the original cooperative operation corresponding to the object identifier 1 is determined to be the cooperative operation; if the first editing area does not belong to the document control area corresponding to the object identifier 1, the object identifier 1 does not have the authority to edit the first editing area, and the original cooperative operation corresponding to the object identifier 1 can be ignored.
For example, assuming that the target document is a table file for collecting employee information, if the target document is shared in a corporate group, the object identifier set corresponding to the target document may include all employee identifiers in the corporate group, the number of object identifiers included in the object identifier set may be the number of corporate employees in the corporate group, where M may be a positive integer less than or equal to the number of corporate employees, for example, when the number of corporate employees is 100, M may be a positive integer less than or equal to 100, and the number of at least two cooperative operations is less than or equal to M; the target document may include an information bar of each employee in the enterprise group (the information bar here may be a row of cells in the target document), each general enterprise employee has an authority to edit the information bar of the general enterprise employee, but does not have an authority to edit the information bars of the other enterprise employees, and the cells covered by the information bar of the general enterprise employee may be considered as a document control area of the general enterprise employee; each group leader has the authority to edit all the group leader information columns (including the group leader itself), and the cells covered by all the group leader information columns can be regarded as a document control area of the group leader in a target document; each manager has the authority to edit all department employee information columns (including the manager himself), and the cells covered by all department employee information columns can be regarded as a document control area of the manager in a target document; the enterprise boss has the authority of all enterprise employee information columns, and the cells covered by all the enterprise employee information columns can be regarded as the document control area of the enterprise boss in the target document.
Optionally, after obtaining at least two collaborative operations for the first editing region, the server may disassemble each collaborative operation to obtain an atomic operation (atomic operation) corresponding to each collaborative operation; the atomic operation may refer to an operation that cannot be preempted by a higher-level interrupt, and may be one operation step or multiple operation steps, but the order of the multiple operation steps may not be disturbed, and may not be cut to execute only a part of the operation steps; atomic operations are indivisible and cannot be terminated by any other task or event until the execution is completed; operations that can be completed in a single instruction may all be considered "atomic operations". The server can respectively disassemble at least two cooperative operations to obtain one or more cooperative sub-operations corresponding to each cooperative operation, and all the one or more cooperative sub-operations are converted into atomic operations according to the execution time sequence of the one or more cooperative sub-operations in the cooperative operation to which the one or more cooperative sub-operations belong; a cooperative operation may be broken down into one atomic operation or may be broken down into multiple atomic operations.
Optionally, the server may obtain editing region sets triggered by at least two cooperative operations in the target document respectively, and count the number of editing regions corresponding to the at least two editing region sets respectively; determining the cooperative operation to which the editing region set with the number of editing regions larger than the number threshold belongs as a first cooperative operation; the editing region set corresponding to the first cooperative operation includes a first editing region and a second editing region, and the number threshold may be set according to actual requirements, such as the number threshold may be set to 2. It is understood that a cooperative operation may be decomposed into one or more atomic operations, each atomic operation may trigger an editing region, and when the number of editing regions triggered by the one or more atomic operations corresponding to the cooperative operation is greater than or equal to 2 (the number threshold may be set to 2 at this time), the cooperative operation may be determined as a first cooperative operation; determining a cooperative operation other than the first cooperative operation among the at least two cooperative operations as a second cooperative operation; in other words, the second cooperative operation may refer to a cooperative operation in which only one editing region is included in the editing region set. As shown in fig. 2, the editing area triggered by the editing operation of the user a "modify the content of the first column of the 1 st row to be 'a 1z 9'" is the first column of the 1 st row (cell a 1), and the editing operation of the user a can be regarded as a second cooperative operation; the editing region triggered by the editing operation of user B "cut the content in the 1 st row and column (cell a 1) to the 5 th row and column (cell a 5)" includes the 1 st row and column (cell a 1) and the 5 th row and column (cell a 5), which may be regarded as a first cooperative operation.
It should be noted that, in the embodiment of the present application, an OT algorithm may be used to perform cooperative conflict processing on at least two cooperative operations, and in the cooperative conflict processing process, each cooperative operation needs to be converted into an atomic operation first, so that the cooperative conflict processing may be performed based on the atomic operation. The OT algorithm may be a double-sided OT or a single-sided OT.
Step S102, if a first cooperative operation in at least two cooperative operations includes an atomic operation i for a first editing region and an atomic operation j for a second editing region, conflict and combination are carried out on the atomic operation i and the atomic operation corresponding to the second cooperative operation, and a first combination result for the first editing region is obtained; the second editing area belongs to the target document, the second cooperative operation is a cooperative operation except the first cooperative operation in at least two cooperative operations, and i and j are positive integers smaller than or equal to the number of atomic operations corresponding to the first cooperative operation.
Specifically, if a first cooperative operation of the at least two cooperative operations includes an atomic operation i for the first editing region and an atomic operation j for the second editing region (for example, the cell a5 in the embodiment corresponding to fig. 2), the server may perform conflict merging on the atomic operation i and the atomic operation corresponding to the second cooperative operation, so as to obtain a first merging result for the first editing region. The first merging result may refer to a merging result obtained by using an OT algorithm, at least two cooperative operations may be divided into a first cooperative operation and a second cooperative operation, and both the first cooperative operation and the second cooperative operation may be decomposed into one or more atomic operations; the atomic operation i and the atomic operation j are different atomic operations in the first collaborative operation, and conflict merging processing needs to be performed on all the atomic operations in the same editing area.
When the number of the at least two cooperative operations is 2, and the at least two cooperative operations include a first cooperative operation and a second cooperative operation, the atomic operation for the first editing region included in the first cooperative operation (where the number of the atomic operations for the first editing region may be one or more) and the atomic operation corresponding to the second cooperative operation (where the number of the atomic operations for the first editing region may be one or more) may be subjected to conflict merge processing, so as to obtain a first merge result for the first editing region.
Optionally, when the number of the first cooperative operations is multiple and the number of the second cooperative operations is one, all the atomic operations in the multiple first cooperative operations for the first editing region and all the atomic operations corresponding to one second cooperative operation may be subjected to conflict merging processing, so that a first merging result for the first editing region may be obtained. Of course, when the number of the first cooperative operations is one, the number of the second cooperative operations is multiple, or both the numbers of the first cooperative operations and the second cooperative operations are multiple, the conflict merge processing may also be performed on the atomic operations for the first editing region included in the first cooperative operations and the second cooperative operations, so as to obtain the first merge result for the first editing region. An atomic operation encompassed by a collaborative operation may include, but is not limited to: merge cells, add borders, remove borders, change font (e.g., set font to italics), change font color (e.g., set font to red), delete, insert, copy, cut, cell function calculation (e.g., average, sum, etc.).
Step S103, according to the first merging result, obtaining operation contents lost in the atomic operation corresponding to the atomic operation i and the second cooperative operation, generating a sub-atomic operation containing the operation contents, and performing conflict merging on the atomic operation j and the sub-atomic operation to obtain a second merging result aiming at the second editing area.
Specifically, the server may determine, in the atomic operation corresponding to the atomic operation i and the second cooperative operation, operation data other than the first merge result as the missing operation content, and further may generate a sub-atomic operation according to the missing operation content, and then may perform conflict merge processing on the atomic operation j and the sub-atomic operation to obtain a second merge result for the second editing region, where the second merge result may be considered as a result of the cooperative operation processing between the at least two cooperative operations, and the server may return the first merge result and the second merge result to the at least two user terminals, so that each user terminal may display the first merge result and the second merge result in the target document.
Optionally, in the cut-move scenario, the first cooperative operation may include a cut-move operation, the atomic operation i may include a content delete operation, the atomic operation j may include a content insert operation, and the atomic operation corresponding to the second cooperative operation may include a content modify operation; if the cut-move operation in the at least two cooperative operations includes a content deletion operation for the first editing region and a content insertion operation for the second editing region, the server may perform conflict merging on the content deletion operation and the content modification operation to obtain a first merging result, which is a null operation, for the first editing region; according to the null operation, the operation content lost in the content deleting operation and the content modifying operation can be determined to be the content modifying operation, the content modifying operation and the null operation are determined to be the sub-atomic operation, and then the atomic operation j and the sub-atomic operation can be subjected to conflict merging to obtain a second merging result aiming at the second editing area.
Referring to fig. 4, fig. 4 is a flowchart illustrating a cooperative operation process according to an embodiment of the present disclosure. As shown in fig. 4, it is assumed that the number of at least two cooperative operations is 2, and the 2 cooperative operations may include a cut-move operation of the user a and a content modification operation of the user B, and the cut-move operation of the user a may be expressed as: the content modification operation of the user B by cutting the editing region 1 (the first editing region) to the editing region 2 (the second editing region) can be expressed as: edit area 1 is modified. After receiving the above cut move operation and content modification operation, the server may differentiate the cut move operation into two fine-grained atomic operations, which are an atomic operation i and an atomic operation j, where the atomic operation i may be represented as: deleting edit region 1, atomic operation j can be represented as: inserting the data of the original editing area 1 into the position of the editing area 2; the atomic operation t corresponding to the content modification operation of the user B may be represented as: edit area 1 is modified.
When the server performs conflict merge processing on the operation for cutting and the operation for modifying content, firstly, performing conflict merge on the atomic operation i and the atomic operation t to obtain a first merge result for the editing area 1, where the first merge result is empty (it can be understood that data at the position of the editing area 1 is empty); meanwhile, the server can know that the modification data of the atomic operation t is lost when the atomic operation i and the atomic operation t conflict and merge, so that the modification data of the atomic operation can be added to the first merging result to obtain a sub-atomic operation, and the sub-atomic operation can be a product obtained by conflict and merge of the atomic operation i and the atomic operation t. Further, the atomic operation j and the sub-atomic operation may be subjected to conflict merge processing, so that a conflict merge result, i.e., a second merge result, for the editing area 2 may be obtained, where the second merge result may also be a result of collaborative conflict processing between the cut-move operation of the user a and the content modification operation of the user B.
Optionally, in a content copy scenario, the first cooperative operation may include a selective copy operation, the atomic operation i may include a content selection operation, the atomic operation j may include a content insertion operation, and the atomic operation corresponding to the second cooperative operation may include a content modification operation; if the selective copy operation in the at least two cooperative operations includes a content selection operation for the first editing region and a content insertion operation for the second editing region, the server may perform conflict merging on the content selection operation and the content modification operation to obtain a first merging result for the first editing region as modified content; according to the modified content, the operation content lost in the content selection operation and the content modification operation can be determined as original operation content, the original operation content is determined as secondary atomic operation, and then the atomic operation j and the secondary atomic operation can be subjected to conflict merging to obtain a second merging result aiming at a second editing area; the original operation content refers to original content in the first editing region triggered by the content selection operation, and the selective copy operation may include, but is not limited to: copy the content in the first editing region, copy the first editing region containing all formats.
For example, if the user a and the user B operate the target document at the same time, and the cooperative operation of the user a on the first editing region is "copy the content 1 in the first editing region to the second editing region", and the cooperative operation of the user B on the first editing region is "write the content 2 in the first editing region", the cooperative operation of the user a may include an atomic operation i ("select the content 1 in the first editing region") and an atomic operation j ("insert the content 1 in the original first editing region in the second editing region"), and the atomic operation corresponding to the cooperative operation of the user B is "modify the content 2 in the first editing region"; after performing conflict merging processing on the cooperative operation of the user a and the cooperative operation of the user B, an obtained first merging result may be: modifying the content in the first editing area to be content 2, and the second merging result may be: the content 2 is written in the second editing area.
Optionally, the server may obtain a target object identifier of which the first editing region has a binding relationship; if second cooperative operation corresponding to the target object identifier is contained in the second cooperative operation corresponding to the N object identifiers, acquiring an expected operation result associated with the target object identifier; n is a positive integer less than the number of at least two cooperating operations, e.g., N may take the value 1, 2, … …; and if the second merging result is not consistent with the expected operation result, returning the expected operation result and the second merging result to the user terminal associated with the target object identifier, so that the user terminal associated with the target object identifier displays the expected operation result and the second merging result in the target document. For example, if a first editing area may be used to input personal basic information of a user a, a target object identifier having a binding relationship with the first editing area may be an object identifier of the user a (e.g., an account number, a name, a nickname, a number, and the like of the user a), and if the server receives second cooperative operations corresponding to N object identifiers simultaneously and the N second cooperative operations include the second cooperative operation corresponding to the user a, a modification result of the second cooperative operation corresponding to the user a may be determined as an expected operation result of the first editing area; when the second merged result obtained after the server performs the collaborative conflict processing on the first collaborative operation and the N second collaborative operations is inconsistent with the expected operation result of the user a, the second merged result and the expected operation result may be returned to the user terminal used by the user a together, and at this time, the user terminal used by the user a may display the expected operation result and the second merged result in the target document.
In the embodiment of the application, for at least two conflict merging processing scenarios of the cooperative operations, each cooperative operation can be decomposed into an atomic operation, conflict merging processing between the atomic operations is executed, if lost operation content exists in the execution process of the atomic operation, a final conflict merging processing result can be obtained by introducing a sub-atomic operation containing the operation content, and thus, the obtained conflict processing result can simultaneously keep the changes of the at least two cooperative operations, so that the output result of the cooperative conflict merging processing conforms to the expectation of a user, and the accuracy of the cooperative operation processing result can be further improved.
Referring to fig. 5, fig. 5 is a schematic flowchart of a cooperative processing method according to an embodiment of the present disclosure. It is understood that the cooperative processing method may be executed by a target user terminal (e.g., the user terminal 10a in the embodiment corresponding to fig. 1); as shown in fig. 5, the cooperative operation processing method may include the steps of:
step S201, sending a first cooperative operation aiming at a target document to a server so that the server disassembles the first cooperative operation and the second cooperative operation into an atomic operation; the first collaborative operation and the second collaborative operation are sent by different user terminals, the first collaborative operation comprises an atomic operation i aiming at a first editing region and an atomic operation j aiming at a second editing region, the second collaborative operation comprises an atomic operation aiming at the first editing region, and the first editing region and the second editing region both belong to a target document.
Specifically, when a user terminal accesses a target document through a webpage, an access request can be sent to a server of the target document, after the server receives the access request, the server can verify the access authority of the user terminal, and if the user terminal has the authority of accessing the target document, the target document can be returned to the user terminal, so that the user terminal can display the target document returned by the server; if the user terminal does not have the authority of accessing the target document, the server can return access failure prompt information to the user terminal.
The user terminal can check and edit a target document displayed by the user terminal, and when the user triggers two or more operations in the target document and the two or more operations are directed at least two editing areas in the target document, the user terminal can upload the two or more operations triggered by the user as first cooperative operations to the server, and at this time, the user terminal can be called a target user terminal. Of course, for any user terminal that can access the target document, when the editing operation in the target document is monitored, the monitored editing operation can be uploaded to the server. In other words, the server may receive, in addition to the first cooperative operation uploaded by the target user terminal, second cooperative operations uploaded by the other user terminals, and then may disassemble both the first cooperative operation and the second cooperative operation into an atomic operation; the number of the first cooperative operations may be one or more, the number of the second cooperative operations may also be one or more, and each cooperative operation may be an editing operation generated by a user terminal when the user performs an editing triggering operation on the target document; in addition, for the processing procedure of the cooperative conflict between the first cooperative operation and the second cooperative operation, reference may be made to the description in step S101 to step S103 in the embodiment corresponding to fig. 3, which is not described herein again. After obtaining the result of the collaborative conflict processing between the first collaborative operation and the second collaborative operation, the server may return the result of the collaborative conflict processing to the target client, where the result of the collaborative conflict processing may include a first merge processing result associated with the first editing region and a second merge processing result associated with the second editing region; the first merging result may be a result obtained after the server performs conflict merging processing on the atomic operation i and the atomic operation corresponding to the second cooperative operation, the second merging result may be a result obtained after the server performs conflict merging processing on the atomic operation j and the sub-atomic operation, the sub-atomic operation may include operation contents lost in the conflict merging processing by the atomic operation i and the atomic operation corresponding to the second cooperative operation, where i and j are positive integers smaller than or equal to the number of the atomic operations corresponding to the first cooperative operation.
Step S202, receiving a first combination result and a second combination result returned by the server, and displaying the first combination result associated with the first editing area and the second combination result associated with the second editing area in the target document; the first merging result is a conflict merging result between the atomic operation i and the atomic operation corresponding to the second cooperative operation, the second merging result is a conflict merging result between the atomic operation j and the sub-atomic operation, and the sub-atomic operation is determined by the operation content lost in the atomic operation i and the atomic operation corresponding to the second cooperative operation.
Specifically, the target user terminal may receive the first merge result and the second merge result returned by the server, may insert the first merge result in the first editing region of the target document, and insert the second merge result in the second editing region, such as the cell a1 shown in fig. 2 above, may insert the first merge result (data is null), and may insert the second merge result "a 1z 9" in the cell a 5.
Optionally, in the cut-move scenario, the first cooperative operation may include a cut-move operation; after receiving the first merging result and the second merging result returned by the server, the target user terminal may insert the first merging result in the first editing region of the target document; displaying a first candidate content list associated with the second editing area, wherein the first candidate content list comprises a second combination result and original operation content triggered by the first cooperative operation; when the user selects the original operation content in the first candidate content list, the target user terminal may insert, in the second editing region, the original operation content triggered by the selection operation in response to the selection operation for the first candidate content list. In other words, in the cut-and-move scene, if the content that the user actually wants to cut is the original data in the first editing area, the original operation content can be selected to be inserted into the second editing area; if the content that the user actually wants to cut is data in the first editing region, the user can choose to insert the second merging result into the second editing region. The user can select the inserted data according to actual requirements, and the accuracy of the inserted content can be ensured.
Referring to fig. 6, fig. 6 is a schematic diagram of a cut-move scene in a target document according to an embodiment of the present application. As shown in fig. 6, based on the foregoing embodiment corresponding to fig. 2, the user terminal 20b (i.e., the target user terminal) may display the cell a1 in the target document as empty and display a first candidate content list 20c after receiving the first merging result (data is empty) and the second merging result ("a 1z 9") returned by the server 10d, where the first candidate content list 20c may include the second merging result and the original content "a 1a 1" of the cell a 1. When the user selects the original content "a 1a1," a1a1 "may be inserted and presented in cell a 5; when the user selects the second merged result "a 1z9," a1z9 "may be inserted and presented in cell A5.
Optionally, in a content copy scenario, the first cooperative operation includes a selective copy operation; after receiving the first merging result and the second merging result returned by the server, the target user terminal may insert the first merging result in the first editing region of the target document; displaying a second candidate content list associated with a second editing region, the second candidate content list including the first merging result and a second merging result; when the user selects the first merging result in the first candidate content list, the target user terminal may insert the first merging result triggered by the selection operation in the second editing region in response to the selection operation for the second candidate content list. Here, the first merging result is the content obtained by modifying the first editing region based on the second cooperative operation, and the second merging result is the original content of the first editing region that is not modified, and the presentation manner in the target document may be as shown in fig. 6, which is not described herein again.
Optionally, when it is monitored that the first editing region is operated, an editing object identifier for the first editing region is obtained, and the editing object identifier is displayed in an associated region corresponding to the first editing region, where the editing object identifier may be an object identifier of the first editing region being edited. Referring to fig. 7, fig. 7 is a diagram of an editing display interface of a target document according to an embodiment of the present application. As shown in fig. 7, when the target user terminal listens to the users small a, small B, and small C while editing the cell a5, the small a, small B, and small C may be displayed in the area 30B of the target document.
In the embodiment of the application, for conflict merging processing scenarios of at least two cooperative operations, each cooperative operation can be disassembled into an atomic operation, conflict merging processing between the atomic operations is executed, if lost operation contents exist in the execution process of the atomic operation, a final conflict merging processing result can be obtained by introducing a secondary atomic operation containing the operation contents, and thus the obtained conflict processing result can simultaneously keep the changes of the at least two cooperative operations, so that the output result of the cooperative conflict processing conforms to the expectation of a user, and the accuracy of the cooperative operation processing result can be improved; the selectable inserted content can be provided for the user in the target document, so that the user can select the correct inserted content according to the intention of the user, the accuracy of the inserted content can be further ensured, and the processing efficiency aiming at the target document is enhanced.
Referring to fig. 8, fig. 8 is a schematic structural diagram of a cooperative processing apparatus according to an embodiment of the present disclosure. It is understood that the cooperative processing apparatus can be applied to a server, such as the server 10d in the embodiment corresponding to fig. 1; as shown in fig. 8, the cooperative operation processing apparatus 1 may include: a disassembling module 11, a first conflict merging module 12 and a second conflict merging module 13;
the disassembling module 11 is configured to acquire at least two collaborative operations associated with a first editing region in a target document, and disassemble the at least two collaborative operations to obtain atomic operations corresponding to the at least two collaborative operations respectively;
a first conflict merging module 12, configured to perform conflict merging on an atomic operation i corresponding to the first editing region and an atomic operation j corresponding to the second editing region if a first cooperative operation of the at least two cooperative operations includes the atomic operation i corresponding to the first editing region and the atomic operation j corresponding to the second editing region, so as to obtain a first merging result for the first editing region; the second editing area belongs to the target document, the second cooperative operation is a cooperative operation except the first cooperative operation in at least two cooperative operations, and i and j are positive integers smaller than or equal to the number of atomic operations corresponding to the first cooperative operation;
and a second conflict merging module 13, configured to obtain, according to the first merging result, operation contents lost in the atomic operation corresponding to the atomic operation i and the second cooperative operation, generate a sub-atomic operation including the operation contents, and perform conflict merging on the atomic operation j and the sub-atomic operation to obtain a second merging result for the second editing region.
The specific functional implementation manners of the disassembling module 11, the first conflict combining module 12, and the second conflict combining module 13 may refer to steps S101 to S103 in the embodiment corresponding to fig. 3, which is not described herein again.
In one or more embodiments, the decommissioning module 11 may include: an area allocation unit 111, an operation authority determination unit 112, an operation dismantling unit 113, and an operation conversion unit 114;
the region allocation unit 111 is configured to obtain an object identifier set corresponding to a target document, and in the target document, allocate a document control region for each object identifier in the object identifier set;
an operation permission determining unit 112, configured to determine that, if original cooperative operations for the first editing region, which are uploaded by user terminals associated with the M object identifiers respectively, are received, the original cooperative operations corresponding to the object identifiers of the first editing region included in the document control region are determined as at least two cooperative operations in the original cooperative operations corresponding to the M object identifiers respectively; m is a positive integer less than or equal to the number of object identifications contained in the object identification set.
An operation disassembling unit 113, configured to disassemble at least two cooperative operations respectively to obtain one or more cooperative sub-operations corresponding to each cooperative operation;
and an operation conversion unit 114, configured to convert all the one or more cooperative sub-operations into an atomic operation according to an execution time sequence of the one or more cooperative sub-operations in the associated cooperative operation.
For specific functional implementation manners of the region allocating unit 111, the operation authority determining unit 112, the operation disassembling unit 113, and the operation converting unit 114, reference may be made to step S101 in the embodiment corresponding to fig. 3, which is not described herein again.
In one or more embodiments, the cooperative processing apparatus 1 may include: an editing region number counting module 14, a first cooperative operation determining module 15;
the editing region number counting module 14 is configured to acquire editing region sets triggered by at least two collaborative operations in the target document respectively, and count the number of editing regions corresponding to the at least two editing region sets respectively;
a first cooperative operation determining module 15, configured to determine a cooperative operation to which an editing region set, in which the number of editing regions is greater than a number threshold, belongs as a first cooperative operation; the editing area set corresponding to the first cooperative operation comprises a first editing area and a second editing area.
The specific functional implementation manner of the editing region number counting module 14 and the first cooperative operation determining module 15 may refer to step S101 in the embodiment corresponding to fig. 3, which is not described herein again.
In one or more embodiments, the first cooperative operation includes a cut move operation, the atomic operation i includes a content delete operation, the atomic operation j includes a content insert operation, and the atomic operation corresponding to the second cooperative operation includes a content modify operation;
the first conflict merge module 12 is specifically configured to:
if the shearing movement operation in the at least two cooperative operations comprises a content deleting operation aiming at the first editing area and a content inserting operation aiming at the second editing area, performing conflict merging on the content deleting operation and the content modifying operation to obtain a first merging result which is null operation aiming at the first editing area;
the second collision merging module 13 is configured to:
and according to the null operation, determining the operation content lost in the content deleting operation and the content modifying operation as the content modifying operation, and determining the content modifying operation and the null operation as a secondary atomic operation.
In one or more embodiments, the first cooperative operation includes a selective copy operation, the atomic operation i includes a content selection operation, the atomic operation j includes a content insertion operation, and the atomic operation corresponding to the second cooperative operation includes a content modification operation;
the first conflict merge module 12 is specifically configured to:
if the selective copying operation in the at least two cooperative operations comprises a content selection operation aiming at the first editing area and a content insertion operation aiming at the second editing area, performing conflict combination on the content selection operation and the content modification operation to obtain a first combination result aiming at the first editing area as modified content;
the second collision merging module 13 is configured to:
according to the modified content, determining the operation content lost in the content selection operation and the content modification operation as original operation content, and determining the original operation content as sub-atomic operation; the original operation content refers to original content in the first editing region triggered by the content selection operation.
The specific functional implementation manners of the first conflict combining module 12 and the second conflict combining module 13 may refer to step S103 in the embodiment corresponding to fig. 3, which is not described herein again.
In one or more embodiments, the cooperative processing apparatus 1 may include: an identification acquisition module 16, an expected result acquisition module 17, and a result return module 18;
the identifier obtaining module 16 is configured to obtain a target object identifier of which the first editing region has a binding relationship;
an expected result obtaining module 17, configured to obtain an expected operation result associated with the target object identifier if the received second cooperative operation corresponding to the N object identifiers includes the second cooperative operation corresponding to the target object identifier; n is a positive integer less than the number of at least two cooperating operations;
and a result returning module 18, configured to, if the second merging result is inconsistent with the expected operation result, return both the expected operation result and the second merging result to the user terminal associated with the target object identifier, so that the user terminal associated with the target object identifier displays the expected operation result and the second merging result in the target document.
The specific functional implementation manners of the identifier obtaining module 16, the expected result obtaining module 17, and the result returning module 18 may refer to step S103 in the embodiment corresponding to fig. 3, which is not described herein again.
In the embodiment of the application, for at least two conflict merging processing scenarios of the cooperative operations, each cooperative operation can be decomposed into an atomic operation, conflict merging processing between the atomic operations is executed, if lost operation content exists in the execution process of the atomic operation, a final conflict merging processing result can be obtained by introducing a sub-atomic operation containing the operation content, and thus, the obtained conflict processing result can simultaneously keep the changes of the at least two cooperative operations, so that the output result of the cooperative conflict merging processing conforms to the expectation of a user, and the accuracy of the cooperative operation processing result can be further improved.
Referring to fig. 9, fig. 9 is a schematic structural diagram of a cooperative processing apparatus according to an embodiment of the present application. It is understood that the cooperative processing apparatus can be applied to a user terminal, such as the user terminal 10a in the embodiment corresponding to fig. 1; as shown in fig. 9, the cooperative operation processing apparatus 2 may include: an operation transmitting module 21, a merging result receiving module 22;
an operation sending module 21, configured to send a first cooperative operation for a target document to a server, so that the server disassembles the first cooperative operation and the second cooperative operation into an atomic operation; the first cooperative operation and the second cooperative operation are sent by different user terminals, the first cooperative operation comprises an atomic operation i aiming at a first editing region and an atomic operation j aiming at a second editing region, the second cooperative operation comprises an atomic operation aiming at the first editing region, the first editing region and the second editing region both belong to a target document, and both i and j are positive integers smaller than or equal to the number of the atomic operations corresponding to the first cooperative operation;
the merging result receiving module 22 is configured to receive the first merging result and the second merging result returned by the server, and display the first merging result associated with the first editing region and the second merging result associated with the second editing region in the target document; the first merging result is a conflict merging result between the atomic operation i and the atomic operation corresponding to the second cooperative operation, the second merging result is a conflict merging result between the atomic operation j and the sub-atomic operation, and the sub-atomic operation is determined by the operation content lost in the atomic operation i and the atomic operation corresponding to the second cooperative operation.
The specific functional implementation of the operation sending module 21 and the merging result receiving module 22 may refer to steps S201 to S202 in the embodiment corresponding to fig. 5, which is not described herein again.
In one or more embodiments, the merging result receiving module 22 is specifically configured to:
and receiving a first combination result and a second combination result returned by the server, inserting the first combination result into the first editing area of the target document, and inserting the second combination result into the second editing area.
In one or more embodiments, the first cooperative operation includes a cut move operation;
the merging result receiving module 22 includes: a first content insertion unit 221, a first list display unit 222, a second content insertion unit 223;
a first content inserting unit 221, configured to receive the first merging result and the second merging result returned by the server, and insert the first merging result in the first editing region of the target document;
a first list display unit 222 for displaying a first candidate content list associated with the second editing region; the first candidate content list comprises a second combination result and original operation content triggered by the first cooperative operation;
a second content inserting unit 223, configured to insert, in response to the selecting operation on the first candidate content list, the original operation content triggered by the selecting operation in the second editing area.
In one or more embodiments, the first cooperative operation includes a selective copy operation;
the merging result receiving module 22 includes: a first content insertion unit 221, a second list display unit 224, a third content insertion unit 225;
a first content inserting unit 221, configured to receive the first merging result and the second merging result returned by the server, and insert the first merging result in the first editing region of the target document;
a second list display unit 224 for displaying a second candidate content list associated with the second editing region; the second candidate content list comprises a first combination result and a second combination result;
a third content inserting unit 225, configured to insert, in response to a selecting operation for the second candidate content list, the first merging result triggered by the selecting operation in the second editing region.
For specific functional implementation manners of the first content inserting unit 221, the first list displaying unit 222, the second content inserting unit 223, the second list displaying unit 224, and the third content inserting unit 225, reference may be made to step S202 in the embodiment corresponding to fig. 5, which is not described herein again.
In one or more embodiments, the cooperative processing apparatus 2 may further include: an object identification display module 23;
and the object identifier display module 23 is configured to, when it is monitored that the first editing region is operated, acquire an editing object identifier for the first editing region, and display the editing object identifier in an associated region corresponding to the first editing region.
The specific function implementation manner of the object identifier display module 23 may refer to step S202 in the embodiment corresponding to fig. 5, which is not described herein again.
In the embodiment of the application, for conflict merging processing scenarios of at least two cooperative operations, each cooperative operation can be disassembled into an atomic operation, conflict merging processing between the atomic operations is executed, if lost operation contents exist in the execution process of the atomic operation, a final conflict merging processing result can be obtained by introducing a secondary atomic operation containing the operation contents, and thus the obtained conflict processing result can simultaneously keep the changes of the at least two cooperative operations, so that the output result of the cooperative conflict processing conforms to the expectation of a user, and the accuracy of the cooperative operation processing result can be improved; the selectable inserted content can be provided for the user in the target document, so that the user can select the correct inserted content according to the intention of the user, the accuracy of the inserted content can be further ensured, and the processing efficiency aiming at the target document is enhanced.
Referring to fig. 10, fig. 10 is a schematic structural diagram of a computer device according to an embodiment of the present application. As shown in fig. 10, the computer device 1000 may be a user terminal, for example, the user terminal 10a in the embodiment corresponding to fig. 1, or may also be a server, for example, the server 10d in the embodiment corresponding to fig. 1, which is not limited herein. For convenience of understanding, in the present application, a computer device is taken as an example of a user terminal, and the computer device 1000 may include: the processor 1001, the network interface 1004, and the memory 1005, and the computer apparatus 1000 may further include: a user interface 1003, and at least one communication bus 1002. Wherein a communication bus 1002 is used to enable connective communication between these components. The user interface 1003 may also include a standard wired interface or a wireless interface. The network interface 1004 may optionally include a standard wired interface, a wireless interface (e.g., WI-FI interface). The memory 1004 may be a high-speed RAM memory or a non-volatile memory (e.g., at least one disk memory). The memory 1005 may optionally be at least one memory device located remotely from the processor 1001. As shown in fig. 10, a memory 1005, which is a kind of computer-readable storage medium, may include therein an operating system, a network communication module, a user interface module, and a device control application program.
The network interface 1004 in the computer device 1000 may also provide a network communication function, and the optional user interface 1003 may also include a Display screen (Display) and a Keyboard (Keyboard). In the computer device 1000 shown in fig. 10, the network interface 1004 may provide a network communication function; the user interface 1003 is an interface for providing a user with input; and the processor 1001 may be used to invoke a device control application stored in the memory 1005.
In one or more embodiments, the computer device 1000 may be the user terminal 10a shown in FIG. 1; the computer device may be implemented by the processor 1001:
sending a first cooperative operation aiming at the target document to a server so that the server disassembles the first cooperative operation and the second cooperative operation into an atomic operation; the first cooperative operation and the second cooperative operation are sent by different user terminals, the first cooperative operation comprises an atomic operation i aiming at a first editing region and an atomic operation j aiming at a second editing region, the second cooperative operation comprises an atomic operation aiming at the first editing region, the first editing region and the second editing region both belong to a target document, and both i and j are positive integers smaller than or equal to the number of the atomic operations corresponding to the first cooperative operation;
receiving a first merging result and a second merging result returned by the server, and displaying the first merging result associated with the first editing area and the second merging result associated with the second editing area in the target document; the first merging result is a conflict merging result between the atomic operation i and the atomic operation corresponding to the second cooperative operation, the second merging result is a conflict merging result between the atomic operation j and the sub-atomic operation, and the sub-atomic operation is determined by the operation content lost in the atomic operation i and the atomic operation corresponding to the second cooperative operation.
In one or more embodiments, the computer device 1000 may be the server 10d shown in fig. 1, and the user interface 1003 included in the computer device may not include a Display screen (Display) or a Keyboard (Keyboard); the computer device may be implemented by the processor 1001:
acquiring at least two cooperative operations associated with a first editing area in a target document, and disassembling the at least two cooperative operations to obtain atomic operations respectively corresponding to the at least two cooperative operations;
if a first cooperative operation of the at least two cooperative operations includes an atomic operation i for the first editing region and an atomic operation j for the second editing region, performing conflict merging on the atomic operation i and the atomic operation corresponding to the second cooperative operation to obtain a first merging result for the first editing region; the second editing area belongs to the target document, the second cooperative operation is a cooperative operation except the first cooperative operation in at least two cooperative operations, and i and j are positive integers smaller than or equal to the number of atomic operations corresponding to the first cooperative operation;
and according to the first merging result, acquiring operation contents lost in the atomic operation corresponding to the atomic operation i and the second cooperative operation, generating a secondary atomic operation containing the operation contents, and performing conflict merging on the atomic operation j and the secondary atomic operation to obtain a second merging result aiming at the second editing area.
It should be understood that the computer device 1000 described in this embodiment of the present application may perform the description of the cooperative processing method in the embodiment corresponding to any one of fig. 3 and fig. 5, and may also perform the description of the cooperative processing apparatus 1 in the embodiment corresponding to fig. 7, which is not described herein again. In addition, the beneficial effects of the same method are not described in detail.
Further, here, it is to be noted that: an embodiment of the present application further provides a computer-readable storage medium, where the computer program executed by the aforementioned cooperative processing apparatus 1 is stored in the computer-readable storage medium, and the computer program includes program instructions, and when the processor executes the program instructions, the description of the cooperative processing method in the embodiment corresponding to any one of fig. 3 and fig. 5 can be performed, so that details are not repeated here. In addition, the beneficial effects of the same method are not described in detail. For technical details not disclosed in embodiments of the computer-readable storage medium referred to in the present application, reference is made to the description of embodiments of the method of the present application. As an example, the program instructions may be deployed to be executed on one computing device or on multiple computing devices at one site or distributed across multiple sites and interconnected by a communication network, which may constitute a block chain system.
Further, it should be noted that: embodiments of the present application also provide a computer program product or computer program, which may include computer instructions, which may be stored in a computer-readable storage medium. The processor of the computer device reads the computer instruction from the computer-readable storage medium, and the processor can execute the computer instruction, so that the computer device executes the description of the cooperative operation processing method in the embodiment corresponding to any one of fig. 3 and fig. 5, which will not be described herein again. In addition, the beneficial effects of the same method are not described in detail. For technical details not disclosed in the embodiments of the computer program product or the computer program referred to in the present application, reference is made to the description of the embodiments of the method of the present application.
It should be noted that, for simplicity of description, the above-mentioned embodiments of the method are described as a series of acts or combinations, but those skilled in the art should understand that the present application is not limited by the order of acts described, as some steps may be performed in other orders or simultaneously according to the present application. Further, those skilled in the art should also appreciate that the embodiments described in the specification are preferred embodiments and that the acts and modules referred to are not necessarily required in this application.
The steps in the method of the embodiment of the application can be sequentially adjusted, combined and deleted according to actual needs.
The modules in the device can be merged, divided and deleted according to actual needs.
It will be understood by those skilled in the art that all or part of the processes of the methods of the embodiments described above can be implemented by a computer program, which can be stored in a computer-readable storage medium and can include the processes of the embodiments of the methods described above when the computer program is executed. The storage medium may be a magnetic disk, an optical disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), or the like.
The above disclosure is only for the purpose of illustrating the preferred embodiments of the present application and is not to be construed as limiting the scope of the present application, so that the present application is not limited thereto, and all equivalent variations and modifications can be made to the present application.

Claims (15)

1. A cooperative operation processing method characterized by comprising:
acquiring at least two cooperative operations associated with a first editing area in a target document, and disassembling the at least two cooperative operations to obtain atomic operations respectively corresponding to the at least two cooperative operations;
if a first cooperative operation of the at least two cooperative operations includes an atomic operation i for the first editing region and an atomic operation j for a second editing region, performing conflict merging on the atomic operation i and an atomic operation corresponding to the second cooperative operation to obtain a first merging result for the first editing region; the second editing region belongs to the target document, the second cooperative operation is a cooperative operation of the at least two cooperative operations except the first cooperative operation, and i and j are positive integers smaller than or equal to the number of atomic operations corresponding to the first cooperative operation;
and acquiring operation contents lost in the atomic operation corresponding to the atomic operation i and the second cooperative operation according to the first merging result, generating a sub-atomic operation containing the operation contents, and performing conflict merging on the atomic operation j and the sub-atomic operation to obtain a second merging result aiming at the second editing area.
2. The method of claim 1, wherein obtaining at least two collaborative operations associated with a first editing region in a target document comprises:
acquiring an object identification set corresponding to the target document, and respectively allocating a document control area for each object identification in the object identification set in the target document;
if original cooperative operations aiming at the first editing area and uploaded by user terminals associated with M object identifiers respectively are received, determining that a document control area comprises the original cooperative operations corresponding to the object identifiers of the first editing area in the original cooperative operations corresponding to the M object identifiers respectively as the at least two cooperative operations; m is a positive integer less than or equal to the number of object identifications contained in the object identification set.
3. The method of claim 1, further comprising:
acquiring editing region sets triggered by the at least two cooperative operations in the target document respectively, and counting the number of editing regions corresponding to the at least two editing region sets respectively;
determining the cooperative operation to which the editing region set with the number of editing regions larger than the number threshold belongs as the first cooperative operation; the editing region set corresponding to the first cooperative operation comprises the first editing region and the second editing region.
4. The method according to claim 1, wherein the disassembling the at least two cooperative operations to obtain atomic operations respectively corresponding to the at least two cooperative operations comprises:
respectively disassembling the at least two cooperative operations to obtain one or more cooperative sub-operations corresponding to each cooperative operation;
and converting the one or more cooperative sub-operations into atomic operations according to the execution time sequence of the one or more cooperative sub-operations in the cooperative operation.
5. The method of claim 1, wherein the first collaborative operation comprises a cut move operation, wherein the atomic operation i comprises a content delete operation, wherein the atomic operation j comprises a content insert operation, and wherein the atomic operation corresponding to the second collaborative operation comprises a content modify operation;
if a first cooperative operation of the at least two cooperative operations includes an atomic operation i for the first editing region and an atomic operation j for a second editing region, performing conflict merging on the atomic operation i and an atomic operation corresponding to the second cooperative operation to obtain a first merging result for the first editing region, including:
if the cut-move operation in the at least two cooperative operations includes the content deletion operation for the first editing region and the content insertion operation for the second editing region, performing conflict merging on the content deletion operation and the content modification operation to obtain a first merging result as a null operation for the first editing region;
then, the obtaining, according to the first merging result, operation content lost in the atomic operation corresponding to the atomic operation i and the second cooperative operation, and generating a secondary atomic operation including the operation content includes:
and according to the null operation, determining the operation content lost in the content deleting operation and the content modifying operation as the content modifying operation, and determining the content modifying operation and the null operation as the secondary atomic operation.
6. The method of claim 1, wherein the first collaborative operation comprises a selective copy operation, wherein the atomic operation i comprises a content selection operation, wherein the atomic operation j comprises a content insertion operation, and wherein the atomic operation to which the second collaborative operation corresponds comprises a content modification operation;
if a first cooperative operation of the at least two cooperative operations includes an atomic operation i for the first editing region and an atomic operation j for a second editing region, performing conflict merging on the atomic operation i and an atomic operation corresponding to the second cooperative operation to obtain a first merging result for the first editing region, including:
if the selective copy operation in the at least two cooperative operations includes the content selection operation for the first editing region and the content insertion operation for the second editing region, performing conflict merging on the content selection operation and the content modification operation to obtain a first merging result for the first editing region as modified content;
then, the obtaining, according to the first merging result, operation content lost in the atomic operation corresponding to the atomic operation i and the second cooperative operation, and generating a secondary atomic operation including the operation content includes:
according to the modified content, determining the operation content lost in the content selection operation and the content modification operation as original operation content, and determining the original operation content as the sub-atomic operation; the original operation content refers to original content in the first editing area triggered by the content selection operation.
7. The method of claim 1, further comprising:
acquiring a target object identifier of which the first editing area has a binding relation;
if second cooperative operations corresponding to the N object identifiers are received and comprise second cooperative operations corresponding to the target object identifiers, acquiring expected operation results associated with the target object identifiers; n is a positive integer less than the number of said at least two cooperating operations;
and if the second merging result is inconsistent with the expected operation result, returning the expected operation result and the second merging result to the user terminal associated with the target object identifier, so that the user terminal associated with the target object identifier displays the expected operation result and the second merging result in the target document.
8. A cooperative operation processing method characterized by comprising:
sending a first cooperative operation aiming at a target document to a server so that the server disassembles the first cooperative operation and the second cooperative operation into an atomic operation; the first cooperative operation and the second cooperative operation are sent by different user terminals, the first cooperative operation includes an atomic operation i for a first editing region and an atomic operation j for a second editing region, the second cooperative operation includes an atomic operation for the first editing region, the first editing region and the second editing region both belong to the target document, and both i and j are positive integers smaller than or equal to the number of atomic operations corresponding to the first cooperative operation;
receiving a first merging result and a second merging result returned by the server, and displaying the first merging result associated with the first editing area and the second merging result associated with the second editing area in the target document; the first merging result is a conflicting merging result between the atomic operation i and an atomic operation corresponding to the second cooperative operation, the second merging result is a conflicting merging result between the atomic operation j and a sub-atomic operation, and the sub-atomic operation is determined by operation contents lost in the atomic operation corresponding to the atomic operation i and the second cooperative operation.
9. The method of claim 8, wherein receiving the first merged result and the second merged result returned by the server, and displaying the first merged result associated with the first editing region and the second merged result associated with the second editing region in the target document comprises:
and receiving a first merging result and a second merging result returned by the server, inserting the first merging result into the first editing area of the target document, and inserting the second merging result into the second editing area.
10. The method of claim 8, wherein the first cooperative operation comprises a shear movement operation;
the receiving a first merging result and a second merging result returned by the server, and displaying the first merging result associated with the first editing area and the second merging result associated with the second editing area in the target document, includes:
receiving a first merging result and a second merging result returned by the server, and inserting the first merging result into the first editing area of the target document;
displaying a first list of candidate content associated with the second editing region; the first candidate content list comprises the second merging result and original operation content triggered by the first cooperative operation;
and responding to a selection operation aiming at the first candidate content list, and inserting the original operation content triggered by the selection operation into the second editing area.
11. The method of claim 8, wherein the first cooperative operation comprises a selective copy operation;
the receiving a first merging result and a second merging result returned by the server, and displaying the first merging result associated with the first editing area and the second merging result associated with the second editing area in the target document, includes:
receiving a first merging result and a second merging result returned by the server, and inserting the first merging result into the first editing area of the target document;
displaying a second list of candidate content associated with the second editing region; the second candidate content list includes the first merged result and the second merged result;
and responding to a selection operation aiming at the second candidate content list, and inserting the first combination result triggered by the selection operation into the second editing area.
12. The method of claim 8, further comprising:
when it is monitored that the first editing area is operated, acquiring an editing object identifier for the first editing area, and displaying the editing object identifier in an associated area corresponding to the first editing area.
13. A cooperative operation processing apparatus characterized by comprising:
the disassembling module is used for acquiring at least two cooperative operations associated with a first editing area in a target document, and disassembling the at least two cooperative operations to obtain atomic operations corresponding to the at least two cooperative operations respectively;
a first conflict merging module, configured to, if a first cooperative operation of the at least two cooperative operations includes an atomic operation i for the first editing region and an atomic operation j for a second editing region, perform conflict merging on the atomic operation i and an atomic operation corresponding to the second cooperative operation to obtain a first merging result for the first editing region; the second editing region belongs to the target document, the second cooperative operation is a cooperative operation of the at least two cooperative operations except the first cooperative operation, and i and j are positive integers smaller than or equal to the number of atomic operations corresponding to the first cooperative operation;
and a second conflict merging module, configured to obtain, according to the first merging result, operation content lost in the atomic operation corresponding to the atomic operation i and the second cooperative operation, generate a sub-atomic operation including the operation content, and perform conflict merging on the atomic operation j and the sub-atomic operation to obtain a second merging result for the second editing region.
14. A computer device comprising a memory and a processor;
the memory is coupled to the processor, the memory for storing a computer program, the processor for invoking the computer program to cause the computer device to perform the method of any of claims 1-12.
15. A computer-readable storage medium, in which a computer program is stored which is adapted to be loaded and executed by a processor to cause a computer device having said processor to carry out the method of any one of claims 1 to 12.
CN202110867959.5A 2021-07-30 2021-07-30 Cooperative operation processing method, device, equipment and medium Active CN113312885B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110867959.5A CN113312885B (en) 2021-07-30 2021-07-30 Cooperative operation processing method, device, equipment and medium
CN202111149840.0A CN115688695A (en) 2021-07-30 2021-07-30 Cooperative operation processing method, device, equipment and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110867959.5A CN113312885B (en) 2021-07-30 2021-07-30 Cooperative operation processing method, device, equipment and medium

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202111149840.0A Division CN115688695A (en) 2021-07-30 2021-07-30 Cooperative operation processing method, device, equipment and medium

Publications (2)

Publication Number Publication Date
CN113312885A CN113312885A (en) 2021-08-27
CN113312885B true CN113312885B (en) 2021-09-28

Family

ID=77382435

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202110867959.5A Active CN113312885B (en) 2021-07-30 2021-07-30 Cooperative operation processing method, device, equipment and medium
CN202111149840.0A Pending CN115688695A (en) 2021-07-30 2021-07-30 Cooperative operation processing method, device, equipment and medium

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202111149840.0A Pending CN115688695A (en) 2021-07-30 2021-07-30 Cooperative operation processing method, device, equipment and medium

Country Status (1)

Country Link
CN (2) CN113312885B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114528816B (en) * 2022-01-27 2023-03-17 北京飞书科技有限公司 Collaborative editing information display method and device, electronic equipment and readable medium
CN116132457B (en) * 2023-04-04 2023-07-04 北京祥云天地科技有限公司 Cloud document processing method, device and server

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105264474A (en) * 2013-05-13 2016-01-20 株式会社三丰 Machine vision system program editing environment including operating context aware copy and paste feature
CN110019279A (en) * 2019-04-11 2019-07-16 北京字节跳动网络技术有限公司 Collaboration update method, device, equipment and the storage medium of online document
CN110162761A (en) * 2019-05-24 2019-08-23 北京字节跳动网络技术有限公司 Synergic editing method, device, equipment and the storage medium of document

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7792788B2 (en) * 2005-03-04 2010-09-07 Microsoft Corporation Method and system for resolving conflicts operations in a collaborative editing environment
US20120101980A1 (en) * 2010-10-26 2012-04-26 Microsoft Corporation Synchronizing online document edits

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105264474A (en) * 2013-05-13 2016-01-20 株式会社三丰 Machine vision system program editing environment including operating context aware copy and paste feature
CN110019279A (en) * 2019-04-11 2019-07-16 北京字节跳动网络技术有限公司 Collaboration update method, device, equipment and the storage medium of online document
CN110162761A (en) * 2019-05-24 2019-08-23 北京字节跳动网络技术有限公司 Synergic editing method, device, equipment and the storage medium of document

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Modeling versions in web-based real-time cooperative edit system;Ling Chen et al.;《2001 international conference on info-tech and info-net.proceedings》;20011231;第6卷;第119-123页 *
支持操作意图一致性的实时协同编辑算法综述;何发智 等;《计算机学报》;20180430;第41卷(第4期);第840-867页 *

Also Published As

Publication number Publication date
CN115688695A (en) 2023-02-03
CN113312885A (en) 2021-08-27

Similar Documents

Publication Publication Date Title
CN111327589B (en) Resource sharing method and device, computer readable storage medium and computer equipment
JP6427159B2 (en) Interacting with spreadsheets using text messages
EP3549013B1 (en) Spreadsheet-based software application development
US10129264B2 (en) Method and apparatus for implementing document sharing between user groups
CN113312885B (en) Cooperative operation processing method, device, equipment and medium
CN111385186A (en) Project group creating method, project management method and device
KR20140019819A (en) Making document changes by replying to electronic messages
KR20130126901A (en) Synchronizing online document edits
CN112632919B (en) Document editing method and device, computer equipment and storage medium
CN102929912A (en) Method and system for generating microblog pictures
CA3061623C (en) File sending in instant messaging applications
EP3944566A1 (en) Method for sharing electronic content or comments with specific user
CN112307397A (en) Schedule processing method, device and equipment based on online document and storage medium
CN111818175A (en) Enterprise service bus configuration file generation method, device, equipment and storage medium
CN111970192B (en) Information editing method and device based on session group
US10402482B2 (en) Content management system
CN114756938A (en) Data processing method, device and equipment and readable storage medium
KR20170134054A (en) System, method, and terminal for managing document
CN113568687A (en) Method for displaying Web page, related equipment and computer readable storage medium
CN112965946B (en) Method, device, equipment and computer readable medium for processing document
US20230089889A1 (en) Method for sharing electronic content or comments to specific users
US20230362116A1 (en) Information processing method and apparatus, and electronic device and storage medium
CN113051152B (en) Task data generation method and device and processing equipment
CN113988808A (en) Method and device for pushing task change records, electronic equipment and storage medium
CN117014545A (en) Message processing method and related equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40050591

Country of ref document: HK