Collaborative editing method, apparatus and device, and storage medium

By obtaining and comparing collaborative editing content, determining the difference location and displaying the differential content, the problem of data loss in collaborative editing is solved, and the editing content is accurately retained and updated, ensuring the integrity of the data.

CN119225793APending Publication Date: 2024-12-31BEIJING ZITIAO NETWORK TECH CO LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202310802691.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-06-30
Publication Date
2024-12-31

AI Technical Summary

Technical Problem

In a collaborative editing scenario, when different technicians edit different parts of the same editing object, it may cause data loss, especially during the update of application code, unreleased versions overwrite the published version, resulting in editing Content is lost.

Method used

By obtaining the edited content of the two versions, determining the difference location, and displaying the different content in the two versions separately through different display methods, the user allows the user to choose which version of the content to retain, thereby avoiding data loss. The specific steps include obtaining the first editing content and the second editing content, determining the difference position, displaying the difference content based on different display methods, and determining the third editing content according to the user's operation (retaining or updating) to update the application.

Benefits of technology

It effectively avoids the loss of editing content, allows users to accurately judge and choose which version of content to retain, ensuring the integrity and consistency of data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119225793A_ABST
    Figure CN119225793A_ABST
Patent Text Reader

Abstract

The invention provides a collaborative editing method and device, equipment and a storage medium. Specifically, first edited content and second edited content can be obtained first. Wherein the first edited content and the second edited content are edited content of the same edited object. After the first edited content and the second edited content are obtained, the difference position can be determined according to the difference between the first edited content and the second edited content, and the content of the difference position in the first edited content and the content of the difference position in the second edited content are respectively displayed in different display modes. In other words, if the editing contents of different versions conflict, the conflicting editing contents can be compared so as to determine the conflict position, and then the conflicting contents in the two versions are respectively displayed in different display modes. In this way, the user is prompted to select through different display modes, and the content in the edited content is prevented from being lost.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computers, and in particular to a collaborative editing method, apparatus, device and storage medium. Background Art

[0002] With the development of computer technology, collaborative editing scenarios are becoming more and more common. Collaborative editing refers to the process of multiple technicians editing the same edited object. For example, if an application includes multiple functional modules, different technicians can be responsible for editing different functional modules. In this way, different people edit different parts, which improves editing efficiency.

[0003] However, in collaborative editing scenarios, data loss may occur. Summary of the invention

[0004] In order to solve the problems of the prior art, the present application provides a collaborative editing method, apparatus, device and storage medium.

[0005] Based on this, the technical solutions provided by this application are as follows:

[0006] In a first aspect, the present application provides a collaborative editing method, the method comprising:

[0007] Acquire a first edit content and a second edit content, wherein the first edit content and the second edit content are edit contents of the same edit object;

[0008] Determine a difference position according to the first edited content and the second edited content, the difference position indicating a position where the first edited content and the second edited content differ;

[0009] The content at the difference position in the first edited content and the content at the difference position in the second edited content are displayed respectively based on different display modes.

[0010] In some possible implementations, the first edited content is a published edited content corresponding to the first application, and the second edited content is an unpublished edited content corresponding to the first application;

[0011] The method further comprises:

[0012] Determine third editing content according to the first editing content and / or the second editing content;

[0013] The editing content corresponding to the first application is updated according to the third editing content.

[0014] In some possible implementations, before acquiring the first edited content and the second edited content, the method further includes:

[0015] Gets the comparison operation triggered by the edit comparison control.

[0016] In some possible implementations, determining the third edited content according to the first edited content and / or the second edited content includes at least one of the following:

[0017] In response to a retain operation, determining the third edited content according to the content of the difference position in the first edited content;

[0018] In response to an update operation, the third edited content is determined based on the content of the difference position in the second edited content.

[0019] In some possible implementations, the displaying the content at the difference position in the first edited content and the content at the difference position in the second edited content respectively based on different display modes includes:

[0020] Displaying the content at the difference position in the first edited content in the first display area based on a first display mode;

[0021] Displaying the content at the difference position in the second edited content in the first display area based on a second display mode;

[0022] The method further comprises:

[0023] The content of the non-difference position in the first edited content is displayed in the second display area.

[0024] In some possible implementations, the first display area further includes a first identifier and a second identifier, the first identifier being used to indicate the content at the difference position in the first edited content, and the second identifier being used to indicate the content at the difference position in the second edited content.

[0025] In some possible implementations, the first display area further includes a synchronous display control, and the method further includes:

[0026] In response to a synchronous display operation triggered on the synchronous display control, the first edited content is displayed in the third display area, and the second edited content is displayed in the fourth display area.

[0027] In some possible implementations, the first edited content includes a first code, the second edited content includes a second code, and the method further includes:

[0028] Obtaining an associated variable setting operation, wherein the associated variable setting operation is used to set an associated variable;

[0029] According to the associated variable setting operation, a variable association code is generated, wherein the variable association code is used to associate the identifier of the associated variable in the code corresponding to the first process with the identifier of the associated variable in the code corresponding to the second process.

[0030] In a second aspect, the present application provides a collaborative editing device, the device comprising: an acquisition unit, configured to acquire a first edit content and a second edit content, wherein the first edit content and the second edit content are edit contents for the same edit object; a determination unit, configured to determine a difference position based on the first edit content and the second edit content, wherein the difference position indicates a position where the first edit content and the second edit content differ; and a display unit, configured to display the content of the difference position in the first edit content and the content of the difference position in the second edit content, respectively, based on different display modes.

[0031] In some possible implementations, the first edited content is the published edited content corresponding to the first application, and the second edited content is the unpublished edited content corresponding to the first application. The determination unit is further configured to determine a third edited content based on the first edited content and / or the second edited content; and update the edited content corresponding to the first application based on the third edited content.

[0032] In some possible implementations, the acquisition unit is further configured to acquire a comparison operation triggered by an edited content comparison control.

[0033] In some possible implementations, the determination unit is specifically used to determine the third edited content based on the content of the difference position in the first edited content in response to a retain operation; and / or, in response to an update operation, determine the third edited content based on the content of the difference position in the second edited content.

[0034] In some possible implementations, the display unit is specifically configured to display the content at the difference position in the first edited content in the first display area based on a first display mode, and to display the content at the difference position in the second edited content in the first display area based on a second display mode. The display unit is also configured to display the content at a non-difference position in the first edited content in the second display area.

[0035] In some possible implementations, the first display area further includes a first identifier and a second identifier, the first identifier being used to indicate the content at the difference position in the first edited content, and the second identifier being used to indicate the content at the difference position in the second edited content.

[0036] In some possible implementations, the first display area further includes a synchronous display control. The display unit is further configured to display the first edited content in the third display area and the second edited content in the fourth display area in response to a synchronous display operation triggered on the synchronous display control.

[0037] In some possible implementations, the first editing content includes a first code. The apparatus further includes a code generation unit. The acquisition unit is further configured to acquire an associated variable setting operation, wherein the associated variable setting operation is used to set an associated variable. The code generation unit is configured to generate a variable association code according to the associated variable setting operation, wherein the variable association code is used to associate an identifier of the associated variable in the code corresponding to the first process with an identifier of the associated variable in the code corresponding to the second process.

[0038] In a third aspect, the present application provides an electronic device, including:

[0039] one or more processors;

[0040] a storage device having one or more programs stored thereon,

[0041] When the one or more programs are executed by the one or more processors, the one or more processors implement any method described in the first aspect.

[0042] In a fourth aspect, the present application provides a computer-readable medium having a computer program stored thereon, wherein when the program is executed by a processor, any method described in the first aspect is implemented.

[0043] In a fifth aspect, the present application provides a computer program product, which, when executed on a device, enables the device to execute the method described in the first aspect.

[0044] It can be seen that this application has the following beneficial effects:

[0045] The embodiment of the present application provides a collaborative editing method, device, equipment and storage medium. Specifically, the first edit content and the second edit content may be obtained first. Among them, the first edit content and the second edit content correspond to different edit contents of the same edit object. For example, the first edit content may be the edit content of the published version, and the second code may be the edit content of the new version. After obtaining the first edit content and the second edit content, the difference position may be determined according to the difference between the first edit content and the second edit content, and the woolen cloth at the difference position in the first edit content and the content at the difference position in the second edit content may be displayed respectively through different display modes. In other words, if there is a conflict between the edit contents of different versions, the conflicting edit contents may be compared to determine the conflicting position, and then the conflicting contents in the two versions may be displayed respectively through different display modes. In this way, when the user views the edit content, the edit contents of different versions may be distinguished according to the different display modes of the content, so as to determine which version of the edit content corresponding content needs to be retained. In this way, the user is prompted to make a selection through different display modes, thereby avoiding the loss of content in the edit content. BRIEF DESCRIPTION OF THE DRAWINGS

[0046] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0047] Figure 1 A flowchart of a collaborative editing method provided in an embodiment of the present application;

[0048] Figure 2-a A schematic diagram of an exemplary application scenario provided for an embodiment of the present application;

[0049] Figure 2-b A schematic diagram of another exemplary application scenario provided for an embodiment of the present application;

[0050] Figure 3 A schematic diagram of the structure of a collaborative editing device provided in an embodiment of the present application;

[0051] Figure 4 A schematic diagram of the basic structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0052] The embodiments of the present application will be described in more detail below with reference to the accompanying drawings. Although certain embodiments of the present application are shown in the accompanying drawings, it should be understood that the present application can be implemented in various forms and should not be construed as being limited to the embodiments described herein. Instead, these embodiments are provided to provide a more thorough and complete understanding of the present application. It should be understood that the drawings and embodiments of the present application are only for exemplary purposes and are not intended to limit the scope of protection of the present application.

[0053] It should be understood that the various steps described in the method implementation of the present application can be performed in different orders and / or performed in parallel. In addition, the method implementation may include additional steps and / or omit the steps shown. The scope of the present application is not limited in this respect.

[0054] The term "including" and its variations used herein are open inclusions, i.e., "including but not limited to". The term "based on" means "based at least in part on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". The relevant definitions of other terms will be given in the following description.

[0055] It should be noted that the concepts such as "first" and "second" mentioned in this application are only used to distinguish different objects, devices, modules or units, and are not used to limit the order or interdependence of the functions performed by these devices, modules or units.

[0056] It should be noted that the modifications of "one" and "plurality" mentioned in the present application are illustrative rather than restrictive, and those skilled in the art should understand that unless otherwise clearly indicated in the context, it should be understood as "one or more".

[0057] Collaborative editing can be understood as the process of editing an edit object by multiple people. In collaborative editing, different editors can edit different aspects of the edit object to obtain different edit contents. After the editing is completed, the edit contents obtained by the editing can be published or uploaded. In other words, the editor responsible for a certain aspect can upload a new version of the edit contents after completing the editing of the part he is responsible for. However, since the editor is unaware of the modifications made to the edit object by other users, the newly uploaded edit contents may overwrite the modifications made to the edit object by other editors, resulting in the loss of the edit contents.

[0058] The following is a detailed description of the code of the application program as an example of the editing object. It is understandable that the technical solutions of the embodiments of the present application are not limited to the case where the editing object is not an application program but can be applied to any feasible collaborative editing scenario.

[0059] The functions of applications are implemented by code. Therefore, as applications are updated faster and faster, code updates are becoming more common. Currently, technicians can modify the code locally or in the cloud and use the modified code to overwrite the published code to update the application.

[0060] In some possible application scenarios, code updates may be implemented by multiple technicians through collaborative editing. For example, if an application includes multiple functional modules, the codes of different functional modules can be maintained and updated by different technicians. For another example, if a web page includes multiple interfaces, different interfaces can be maintained and updated by different technicians.

[0061] For another example, in the application editing scenario, users can develop application services within the application platform as a service (aPaaS) platform. The aPaaS platform can have low-code features, and users can create applications on the aPaaS platform by "dragging, pulling, and dropping" the elements and modules provided by the platform, as well as fewer code writing operations, to achieve low-threshold rapid creation of applications. When using the aPaaS platform to generate applications, users can first build a flowchart related to the application to be produced, and then set the code corresponding to the flowchart object in the flowchart to produce subsequent applications.

[0062] Specifically, users can edit and produce application-related processes in the aPaaS platform. The flowchart created through the aPaaS platform can include multiple flowchart modules, each of which corresponds to a part of the processing logic. Optionally, the processing logic corresponding to the flowchart module can be implemented based on segment code. Therefore, by editing the corresponding code of the module in the flowchart, the relevant functions of the flowchart can be adjusted.

[0063] Accordingly, a software created through the aPaaS platform can correspond to multiple flowcharts, and the codes corresponding to different flowcharts can be maintained by different technicians. Alternatively, a flowchart can include multiple modules, and different modules can be maintained by different technicians. For example, an application can include multiple branch logics, and each branch logic can correspond to one or more flowchart objects. Each technician can be responsible for editing one or more flowchart objects, or for editing one or more branch objects.

[0064] In the scenario where different users jointly maintain the code, there is a possibility that the code is lost due to the time difference of uploading the code. For example, suppose application X includes function module A and function module B, where function module A is updated and maintained by technician a, and function module B is updated and maintained by technician b.

[0065] If function module A needs to be updated, technician a can adjust the code corresponding to function module A, and then upload the adjusted code to the backend server corresponding to application X to overwrite the code of function module A in the previous version of application X. However, if technician b adjusts the code corresponding to function module B while technician a is adjusting function module A, and technician b uploads new code after technician a uploads the code, then the code modification made by technician a will be overwritten.

[0066] That is to say, if two technicians modify different areas of the original code respectively, the code uploaded first will be overwritten by the code uploaded later, resulting in code loss.

[0067] In particular, the above problems are more prominent in the aPaaS platform. Because the aPaaS platform is a platform that implements low-code development of applications through flowcharts and other methods, different functional branches of the application may be reflected in different process branches of the flowchart. In addition, the functions of the application are implemented based on the code corresponding to the process module in the flowchart. Therefore, the technicians responsible for adjusting a certain function will often only pay attention to the code of the process module corresponding to the function, and will not pay attention to the code of the process modules corresponding to other functions.

[0068] In addition, aPaaS platforms are mostly aimed at users with weak coding foundation. When using aPaaS platforms, users tend to pay more attention to the functions of the software rather than its structure. This leads to the fact that when users of aPaaS platforms edit the code, they tend to only focus on the code for the part they are responsible for, and do not pay attention to the code for other parts. In other words, although the aPaaS platform has greatly lowered the threshold for software development, the lower usage threshold may cause users to focus more on the functions and code they manage, and thus not pay attention to the functions and code managed by other users. Therefore, due to the lack of understanding and attention to other parts of the software, application scenarios using aPaaS platforms may be more prone to code loss problems.

[0069] Furthermore, the aPaaS platform may also manage multiple functions of the software through a flowchart, and the codes of different functions will be reflected in the same flowchart file. Therefore, in the application scenarios using the aPaaS platform, it is also easier for multiple users to edit the code at the same time.

[0070] It is understandable that in addition to collaborative editing of code, collaborative editing of other editing objects may also cause the problem of later released versions overwriting the released versions. For example, in the application scenario of the aPaaS platform, if user P modifies branch p of the flowchart, user Q modifies branch q of the flowchart, and user P releases a new version of the flowchart first. Then after user Q releases the new version of the flowchart, since user Q did not modify branch p, branch p in the flowchart released by user Q is consistent with branch p of the original version. In this way, user Q's modification of the flowchart is overwritten, and content is lost.

[0071] In order to solve the problems of the prior art, an embodiment of the present application provides a collaborative editing method, which is described in detail below in conjunction with the drawings in the specification.

[0072] See also Figure 1 , Figure 1 A flowchart of a code display method provided in an embodiment of the present application, the embodiment of the present application can be applied to an application scenario in which an editing object is edited. Among them, the collaborative editing method can be executed by a collaborative editing device, and the device can be implemented by software and integrated into the user's client. Among them, the client can be a software client or a web client of aPaaS. If the client is a software client of aPaaS, the client can be integrated into a personal computer (Personal Computer, PC) or a mobile terminal. In some possible implementations, the client can be a module with aPaaS function in other software, for example, it can be an aPaaS module in an instant messaging software. Furthermore, the client can also be a submodule with collaborative editing function in the aPaaS module. That is, the above-mentioned client can be a submodule in the aPaaS module in the instant messaging software for collaborative editing of editing objects.

[0073] like Figure 1 As shown, the method specifically comprises the following steps:

[0074] S101: Acquire first edited content and second edited content.

[0075] In an embodiment of the present application, the first edit content and the second edit content may be obtained first. The first edit content and the second edit content are different edit contents corresponding to the same edit object. That is, the first edit content and the second edit content may be different versions of edit contents obtained by editing the same edit object. Therefore, the first edit content may overwrite the second edit content, and the second edit content may also overwrite the first edit content. Optionally, the edit object refers to a whole that can be edited, for example, it may include objects that can be edited, such as code, flowcharts, and documents.

[0076] In the embodiment of the present application, the editing object refers to the entirety of the editable object, and the editing content refers to the content of the editing object. When editing the editing object, the specific content of the editing object can be edited. In other words, by editing the editing object, the content of the editing object can be modified to obtain new editing content.

[0077] For example, in some possible implementations, multiple aspects of an edited object may be edited at the same time, and the edited edited object (i.e., edited content) can be uploaded only after the editing of multiple aspects is completed. To this end, an intermediate state of edited content can be constructed. After completing the editing of a certain aspect of the edited content, the edited edited content can be published to the intermediate state. After completing other operations, the edited content of the intermediate state can be used to update the content of the edited object to deploy a new version of the edited object. In this way, the technicians responsible for editing other aspects can obtain the edited content published to the intermediate state. In this implementation, the second edited content can be the above-mentioned edited content in the intermediate state. Accordingly, publishing can represent replacing the edited edited content with the edited content in the intermediate state.

[0078] Optionally, the first edited content and the second edited content may be codes. When the first edited content is code, the first edited content may be referred to as the first code. When the second edited content is code, the second edited content may be referred to as the second code. For example, the first code may be the published code corresponding to the target software, and the second code may be the unpublished code corresponding to the target software. Among them, "publishing" may refer to the process of deploying the code to a server or updating it to a software package, or it may refer to an intermediate state in the adjustment process.

[0079] Alternatively, in the application scenario of the aPaaS platform, the first edit content and the second edit content can be different versions of the code corresponding to the same flowchart, and the first edit content is the published code, and the second edit content is the unpublished code. For example, the first edit content can be the published code corresponding to the first process, and the second edit content can be the unpublished code to be updated to the first process.

[0080] That is, the first edited content may be the content of the original version of the edited object, and the second edited content may be the content of the updated new version of the edited object. Of course, the second edited content may be the content of the original version of the edited object, and the first edited content may be the content of the updated new version of the edited object. For ease of introduction, the following example is introduced with the first edited content being the content of the original version of the edited object and the second edited content being the content of the updated new version of the edited object.

[0081] First, the second edited content is introduced.

[0082] If the second edited content is a new version of the edited object, the second edited content may be edited by a technician or may be edited by other means. Optionally, the second edited content may be used to update the published edited content (e.g., the aforementioned first edited content). Therefore, in an embodiment of the present application, before publishing the second edited content, the first edited content and the second edited content may be obtained to determine whether the second edited content conflicts with the published edited content.

[0083] It is understandable that, in addition to before publishing new edited content, the first edited content and the second edited content can also be obtained during the editing process of the edited object. For example, suppose that the second edited content is a code written by a technician to update an existing version. Then in the process of writing the code, the technician can also compare the code being written with the published code. In this application scenario, the first edited content is still the published code, the second edited content is the code being edited, and the second edited content can be different from the code of the new version that was last published.

[0084] If the second edited content is an unpublished content of the edited object, then the second edited content may be edited content edited locally. Accordingly, the second edited content may be obtained through the client. For example, the second edited content may be code edited in a local client. Accordingly, when it is necessary to compare the second edited content with the first edited content, the second edited content edited in the client of the editing software may be copied to the client corresponding to the comparison software, so that the collaborative editing device may obtain the second edited content.

[0085] Alternatively, the user can also edit the second edited content in the client corresponding to the collaborative editing device. Accordingly, the collaborative editing device can obtain the second edited content from the content editing area. For example, if the second edited content is the code edited by the user in the low-code module of the aPaaS platform, then the collaborative editing device integrated in the client of the aPaaS platform can obtain the second edited content through the client of the aPaaS platform.

[0086] The first edited content is introduced below.

[0087] The first edited content is the published content of the edited object. Specifically, the first edited content can be the edited content that has been deployed, or the edited content that has been submitted but not deployed. Deployment refers to the actual application of the edited content, such as updating the code to the background server corresponding to the software, or packaging the code into a new version of the installation package so that users can install the new version of the software.

[0088] In actual applications, in order to improve performance, the code corresponding to the software can be tested once or multiple times before updating the code to ensure that the new version of the code can meet actual needs and does not have major defects. Therefore, after the technician completes the update of the code, the code can be released and tested once or multiple times. Accordingly, if the first edited content is code, then the above-mentioned first edited content can be the code that needs to be tested in the process, or it can be the code that has been tested once or multiple times.

[0089] It should be noted that, although one of the first edited content and the second edited content is a published edited content and the other is an unpublished edited content, there may be no further logical relationship between the first edited content and the second edited content. For example, if the first edited content is the published content of the edited object, and the second edited content is the modified edited content used to update the content of the edited object, then the second edited content may be modified based on the first edited content, or may not be modified based on the first edited content. Specifically, the first edited content is published earlier than the second edited content, and when the second edited content is obtained, the first edited content is in a published state.

[0090] Optionally, the first edited content and the second edited content may be modified on the basis of the same or different original edited content, and the first edited content is published earlier than the second edited content. For example. Assume that the first edited content and the second edited content are different versions of the code corresponding to software C, and technicians A and B can modify the code corresponding to software C. Assume that at time t1, technician A starts to modify the code of software C, then technician A can obtain the code P1 corresponding to software C and modify code P1. At time t2, which is later than time t1, technician B also starts to modify the code of software C, then technician B can also obtain the code P1 corresponding to software C and modify code P1.

[0091] At time t3 which is later than time t2, technician A can publish the modified code P1. In the process of publishing code P2, code P1 can be regarded as the first edited content described above, and code P2 can be regarded as the second edited content described above, so as to compare code P1 with code P2. In this implementation, the second edited content is obtained by modifying the first edited content.

[0092] If code P2 is successfully published, then at time t4 which is later than time t3, technician B can publish the modified code P3. In the process of publishing code P3, code P2 can be regarded as the first edited content described above, and code P4 can be regarded as the second edited content described above, so as to compare code P2 with code P3. In this implementation, although the first edited content is the published code and the second edited content is the unpublished code, code P3 as the second edited content is obtained based on code P1 and has no direct relationship with P2 as the first edited content.

[0093] It should be noted that in actual application scenarios, the content of the edit object actually deployed often has only one version. Therefore, when obtaining the first edit content, the content of the edit object of the online version can be obtained as the first edit content.

[0094] In an embodiment of the present application, the acquisition of the first edited content may be triggered based on an operation. Specifically, if the second edited content is an unpublished content of the edited object and the first edited content is a published content of the edited object, the acquisition of the first edited content may be triggered based on a publishing operation. The publishing operation is used to publish the second edited content so as to update the first edited content with the second edited content.

[0095] Take the application scenario in which the first edited content is code and is applied to the aPaaS platform as an example. After adjusting the code corresponding to the flowchart in the aPaaS platform, the user can trigger the publishing operation to publish the adjusted code. Specifically, the user clicks the publishing control displayed by the aPaaS platform to trigger the publishing operation. Accordingly, after obtaining the publishing operation triggered by the user, the published first code can be obtained according to the publishing operation, thereby comparing the published first code with the second code to be published locally on the aPaaS platform.

[0096] The first code may be pre-stored in a server corresponding to the aPaaS platform, and after obtaining the publishing operation, the client corresponding to the aPaaS platform may send a code acquisition request to the server corresponding to the aPaaS platform. The server corresponding to the aPaaS platform may send the first code to the client corresponding to the aPaaS platform through the network according to the code acquisition request. Alternatively, the client corresponding to the aPaaS platform may also send the second code to the server corresponding to the aPaaS platform, and the server corresponding to the aPaaS platform compares the first code with the second code.

[0097] Alternatively, the acquisition of the first code may also be triggered by a code comparison operation. The code comparison operation is triggered by a code comparison control. Specifically, the code comparison control may be displayed on the display area. If the user wants to compare the difference between the code being edited (e.g., the second code) and the published code (e.g., the first code), the user may trigger the code comparison operation through the code comparison control. After acquiring the code comparison operation, the first code may be acquired to execute step S101.

[0098] S102: Determine a difference position according to the first edited content and the second edited content.

[0099] After obtaining the first edited content and the second edited content, the first edited content and the second edited content can be compared, so as to determine the difference position according to the first edited content and the second edited content. The difference position is used to indicate the relative position in the content of the edited object, indicating the position where the first edited content and the second edited content are different. That is, the content of the first edited content at the difference position is different from the content of the second edited content at the difference position.

[0100] Optionally, when the first edited content and the second edited content are codes, the above difference position may also be referred to as a code difference position.

[0101] In some possible implementations, if the first edited content and the second edited content are codes, the difference position can be used to indicate the line where the different codes are located, for example, the difference position can be an identifier of a line in the code, such as the line number where the code is located. Specifically, the difference position can be the line number of the code in the first code that is different from the second code, or can be the line number of the code in the second code that is different from the first code.

[0102] For example, if the user modifies the code at line X (X is a positive integer), then the code at line X in the first code and the code at line X in the second code will differ. Accordingly, the code difference position can be used to indicate line X in the first code and line X in the second code.

[0103] In actual scenarios, the number of lines of the modified code may be different from the number of lines of the code before the modification. For example, when modifying the code, the user may insert one or more lines of code somewhere in the middle of the code, resulting in a corresponding increase in the number of lines of the subsequent code. Therefore, if the code difference position is used to indicate the line where the code is located, then the line indicated by the code difference position in the first code is different from the line of the code indicated by the code difference position in the second code.

[0104] For example, if the user modifies the code at line Y (Y is a positive integer), and inserts a new line of code at line Y. Then the code at line Y in the first code is different from the code at line Y in the second code, and the code at line Y+1 in the second code is also different from any code in the first code. Accordingly, the code difference position can be used to indicate line Y in the first code, and line Y and line Y+1 in the second code.

[0105] In some possible implementations, there may be multiple differences between the first edited content and the second edited content, and accordingly, multiple difference positions may be determined. Each difference position corresponds to a difference between the first edited content and the second edited content. In particular, if the first edited content and the second edited content are both modified based on the content of the edited object of the original version, then the modification of the first edited content relative to the edited content of the original version and the modification of the second edited content relative to the edited content of the original version will both be determined as difference positions.

[0106] Optionally, the edited content of the original version may be referred to as the fourth edited content. If the fourth edited content is a code, the fourth edited content may also be referred to as a fourth code.

[0107] When determining the difference position, the judgment may be made based on whether the text corresponding to the edited content is the same, or based on the logic corresponding to the edited content, which will not be described in detail here.

[0108] S103: Displaying the content at the difference position in the first edited content and the content at the difference position in the second edited content respectively based on different display modes.

[0109] After the difference position between the first edited content and the second edited content is determined, the content at the difference position in the first edited content and the content at the difference position in the second edited content may be displayed respectively based on different display modes.

[0110] As described above, the difference position is the position where the content of the first edited content is different from that of the second edited content. Accordingly, except for the content corresponding to the difference position, the content of the first edited content is the same as that of the second edited content. In other words, for the difference position, the content of the first edited content and the content of the second edited content can be displayed respectively in different display modes. For the non-difference position, since the first edited content and the second edited content are the same, only the content of the first edited content (or the content of the second edited content) can be displayed.

[0111] Specifically, the content at the difference position and the content at the non-difference position can be displayed in different display areas. The content at the difference position can be displayed in the first display area, and the content at the non-difference position can be displayed in the second display area. In the first display area, the content at the code difference position in the first edited content can be displayed based on the first display mode, and the content at the code difference position in the second edited content can be displayed based on the second display mode. In the second display area, the content of the edited object can be displayed based on the third display mode. Optionally, the third display mode can be the same as the second display mode, can be the same as the first display mode, or can be different from both the first display mode and the second display mode.

[0112] The first display mode may include, for example, displaying based on a first color, and the second display may include, for example, displaying based on a second color. In this way, for the content at the code difference position, the first code and the second code are displayed in different colors, respectively, so that the user can distinguish them easily. Optionally, the third display mode may include, for example, displaying based on a third color. The third color may be the same as the first color or the second color, or may be different from the first color and the second color.

[0113] In some possible implementations, the user can also be assisted in distinguishing the first edited content from the second edited content by using an identifier. Specifically, the first display area may also include a first identifier and a second identifier. The first identifier is used to indicate the content at the code difference position in the first edited content, and the second identifier is used to indicate the content at the code difference position in the second edited content. The first identifier and the second identifier can be, for example, a dividing line. Distinguishing the first edited content from the second edited content by using a dividing line further helps the user distinguish between the unpublished content of the edited object and the published content of the edited object.

[0114] That is to say, when displaying the content of the edit object, the same content in the first edit content and the second edit content can be displayed in a conventional display method. For the edit content with different codes between the first edit content and the second edit content, a separate display area (such as the aforementioned first display area) can be divided, and the content of the first edit content and the content of the second edit content can be displayed respectively in different display methods. In addition, the display area can also include an identifier for distinguishing the first edit content from the second edit content.

[0115] If the first edited content is a published edited content, and the second edited content is an unpublished content of the edited object, then after the first edited content and the second edited content are displayed separately, the third edited content can be determined based on the first edited content and the second edited content, and the third edited content can be published. Optionally, if the third edited content is a code, the third edited content can also be called a third code. The method for determining the third edited content will be described below.

[0116] In actual applications, users compare the published content of the edited object with the unpublished content of the edited object in order to determine whether the edited content they want to publish conflicts with the published edited content, and whether these conflicting contents will overwrite other users' modifications to the edited object.

[0117] That is, if the difference between the first edited content and the second edited content is caused by the modification of the edited object by the user corresponding to the second edited content, then the corresponding content in the second edited content can be retained in the third edited content. If the difference between the first edited content and the second edited content is not caused by the modification of the edited object by the user corresponding to the second edited content, then the corresponding content in the first edited content can be retained in the third edited content, or the first edited content and the second edited content can be modified.

[0118] Accordingly, when the user views the first edited content and the second edited content corresponding to the difference position, the user can determine whether the difference between the first edited content and the second edited content is caused by the second edited content or the first edited content. If the difference between the first edited content and the second edited content is caused by the second edited content, it means that the user's modification of the edited object has caused the difference between the first edited content and the second edited content. Therefore, the user can trigger an update operation to determine the content of the third edited content at this difference position based on the content of the second edited content at this difference position. In this way, at this difference position, the content of the third edited content matches the content of the second edited content, and the update of the content of the edited object by the second edited content is retained.

[0119] Alternatively, if the difference between the first edited content and the second edited content is caused by the first edited content, it means that other users uploaded a new version of the edited object while the current user was modifying the edited object. Therefore, in order to avoid the loss of edited content, the modifications made to the edited object by other users can be retained. Accordingly, the user can trigger the retention operation to determine the content of the third edited content at this difference position based on the content of the first edited content at this difference position. In this way, at this difference position, the content of the third edited content matches the content of the first edited content, and the update of the content of the edited object by the first edited content is retained.

[0120] According to the foregoing introduction, the first edited content and the second edited content may include multiple difference positions. Accordingly, when determining the third edited content, the user may trigger one or more retention operations, and / or, trigger one or more update operations. That is, when viewing the edited content corresponding to the i-th (i is a positive integer) difference position, if the difference at the i-th difference position is caused by the second edited content, the user may trigger the above-mentioned update operation. When viewing the edited content corresponding to the i+1-th difference position, if the difference at the i+1-th difference position is caused by the first edited content, the user may trigger the above-mentioned retention operation. In this way, the third edited content may include relevant parts of the first edited content, and may also include relevant parts of the second edited content.

[0121] In this way, by distinguishing the content of the first edited content and the content of the second edited content at the difference position, it is convenient for the user to confirm whether the content of the first edited content or the second content needs to be retained at the difference position. Based on the update operation or retention operation triggered by the user, the published content can be retained, or the published content can be replaced with new content. Then, even if other users publish new edited content while the user is editing the second edited content, the second edited content can be compared with the newly published edited content (i.e., the first edited content), and the improved part of the newly published edited content can be retained. In this way, the loss of edited content can be avoided.

[0122] The following takes the case where the first edited content is the first code, the second edited content is the second code, and both the first code and the second code are modified based on the fourth code as an example, and describes it in combination with actual application scenarios.

[0123] Assume that the first code modifies the code of the pth line with respect to the fourth code, and the second code modifies the code of the qth line with respect to the fourth code (where p and q are both positive integers). Then the code difference position includes the pth line and the qth line of the first code. Accordingly, the first code and the second code can be displayed in different display modes in the pth line and the qth line, respectively.

[0124] When the user views the pth line of the code, since the user has not modified the pth line of the fourth code, it means that the difference between the first code and the second code is caused by other users' modification of the pth line of the fourth code. Therefore, the user can trigger a retain operation on the pth line to retain the pth line of the first code. Accordingly, the pth line of the third code is the same as the pth line of the first code.

[0125] When the user views the qth line of the code, since the user has modified the qth line of the fourth code, it means that the difference between the first code and the second code is caused by the modification of the qth line of the fourth code. Therefore, the user can trigger an update operation on the qth line to update the qth line of the second code to the third code. Accordingly, the qth line of the third code is the same as the qth line of the first code.

[0126] After the third code is determined, the third code can be published. In this way, while the user is modifying the fourth code, other users have also modified the fourth code. By downloading the newly published first code and comparing it with the second code, the user can see the updates made by himself to the code and the updates made by other users to the code. By triggering the update operation, the user can retain the updates made by himself to the code; by triggering the retain operation, the user can retain the updates made by other users to the code. In this way, both the updates made by himself to the code and the updates made by other users to the code can be retained, avoiding the situation of code loss.

[0127] Optionally, the update operation and / or the retain operation can be triggered by corresponding controls. For example, an update control and / or a retain operation can be displayed. The update control is used to trigger the update operation, and the retain control is used to trigger the retain operation. Optionally, if the content of the first edit content and the content of the second edit content at the code difference position are displayed in the first display area, then the update control and the retain control can be displayed in the first display area. If multiple first display areas are included, each first display area can include an update control and a retain control.

[0128] In some possible implementations, a batch retention operation and / or a batch update operation may also be triggered. The batch retention operation is used to determine the contents of multiple code difference positions according to the first edited content. The batch update operation is used to determine the contents of multiple code difference positions according to the second edited content. In this way, the contents of multiple code difference positions may be updated or retained at one time, which improves the speed of user operation.

[0129] In some possible implementations, it may be difficult to determine whether the first edited content or the second edited content needs to be retained based only on the content at the code difference position. To this end, the user can trigger a synchronous display operation through a synchronous display control to synchronously display the first edited content and the second edited content. The synchronous display of the first edited content and the second edited content may include displaying the first edited content and the second edited content in different display areas, respectively.

[0130] Below Figure 2-a The implementation shown is taken as an example for introduction. Figure 2-aThis is a schematic diagram of the application scenario provided by this application. For example, when a user publishes code using the aPaaS platform based on a terminal device (such as a computer or mobile phone), the terminal device can display the following Figure 2-a The interface shown. This interface may be an interface displayed by a client of the aPaaS platform.

[0131] exist Figure 2-a In the implementation shown, the display interface 200 displays the code-related interface in the aPaaS platform. Figure 2-a In the implementation shown, the display interface 200 includes a display area 210, a display area 220, a display area 230, and a comparison control 240. The comparison control 240 is used to trigger a comparison operation. Figure 2-a In the corresponding implementation, the comparison operation has been triggered.

[0132] Display area 210 and display area 230 correspond to the second display area described above, and are used to display the same part of the first code and the second code. Display area 220 corresponds to the first display area described above, and is used to display the first code and the second code at the different positions based on different display modes. Figure 2-a In the corresponding implementation, the display area 220 includes a sub-display area 221 and a sub-display area 222. The sub-display area 221 is used to display the first code, and the sub-display area 222 is used to display the second code. Figure 2-a In a corresponding implementation, the display area 220 further includes a first identifier 223 and a second identifier 224. The first identifier 223 is used to indicate that the code displayed in the sub-display area 221 is a first code. The second identifier 224 is used to indicate that the code displayed in the sub-display area 222 is a second code.

[0133] exist Figure 2-a In the corresponding implementation, the display area 220 further includes an operation control 225, an operation control 226, and an operation control 227. The operation control 225 can implement the function of the retain control described above, and is used to trigger the retain operation. The operation control 226 can implement the function of the update control described above, and is used to trigger the update operation. If the user triggers the retain operation through the operation control 225, the third code can be determined according to the code displayed in the sub-display area 221. If the user triggers the update operation through the operation control 226, the third code can be determined according to the code displayed in the sub-display area 222.

[0134] exist Figure 2-aIn the corresponding implementation, the display area 220 also includes an operation control 227. The operation control 227 can implement the function of the synchronous display control described above, and is used to trigger the synchronous display operation. Specifically, if the user triggers the synchronous display operation through the operation control 227, the display interface 200 can be as follows: Figure 2-b shown.

[0135] exist Figure 2-b In the implementation shown, the display interface 200 includes a display area 250, a display area 260, an operation control 270, and an operation control 280. Among them, the display area 250 is used to display the first code, and the display area 260 is used to display the second code. The operation control 270 can implement the function of the retention control described above, and is used for code retention operations. The operation control 280 can implement the function of the update control described above, and is used to trigger an update operation. In addition, the display area 250 can also include an identification 251, which is used to indicate that the code displayed in the display area 250 is a published code. The display area 260 can also include an identification 261, which is used to indicate that the code displayed in the display area 250 is an unpublished code.

[0136] The embodiment of the present application provides a collaborative editing method. Specifically, the first edit content and the second edit content can be obtained first. Among them, the first edit content and the second edit content correspond to different edit contents of the same edit object. For example, the first edit content can be the edit content of the published version, and the second code can be the edit content of the new version. After obtaining the first edit content and the second edit content, the difference position can be determined according to the difference between the first edit content and the second edit content, and the woolen cloth at the difference position in the first edit content and the content at the difference position in the second edit content can be displayed respectively through different display modes. In other words, if there is a conflict between the edit contents of different versions, the conflicting edit contents can be compared to determine the location of the conflict, and then the conflicting contents in the two versions can be displayed respectively through different display modes. In this way, when the user views the edit content, the edit contents of different versions can be distinguished according to the different display modes of the content, so as to determine which version of the edit content corresponding to the content needs to be retained. In this way, the user is prompted to make a selection through different display modes, thereby avoiding the loss of content in the edit content.

[0137] The present application also provides a method for generating codes, which is used to automatically generate variable association codes.

[0138] In practical applications, there may be an association relationship between variables in the code. Specifically, the input variable of a module (such as a function) in the code may be the output variable of another module. Optionally, the above input variable can also be called an input parameter, and the above output variable can also be called an output parameter.

[0139] However, in the codes corresponding to different modules, the names of the variables may be different. In order to associate the variables with different names that are associated between different modules, the technician can write a variable association code. The variable association code is used to associate parameters with different names.

[0140] For example, suppose that the output parameter of module A is the input parameter of module B. In the code corresponding to module A, the name of the output parameter is "parameter a". In the code corresponding to module B, the name of the output parameter may be "parameter b". In order to associate "parameter a" with "parameter b", a corresponding variable association code can be written. The variable association code is used to indicate that "parameter a" in module A is associated with "parameter b" in module B.

[0141] Although different parameters can be associated through variable association codes, in application scenarios such as aPaaS platforms, users may not have sufficient code foundation. Therefore, it may be difficult for users to write variable association codes. To this end, in an embodiment of the present application, variable association codes can be automatically generated according to the associated variable setting operation triggered by the user.

[0142] Specifically, the user can trigger the associated variable setting operation in the client. The user can select the type of variable to be set and manually enter the name of the variable. The type of variable can include, for example, input variables, output variables, and the like.

[0143] For example, a user may trigger an input variable setting operation. After obtaining the input variable setting operation triggered by the user, an input variable setting interface may be displayed. In the input variable setting interface, the user may set the name, type and other related information of the input variable. Based on the related information entered by the user in the input variable setting interface, a variable association code may be generated for associating the input variable with other variables. It is understandable that the output variable may also be determined in other ways.

[0144] In this way, the association between variables can be set in a visual way, without the need for users to manually write variable association codes. This simplifies user operations and further lowers the threshold for use.

[0145] Based on a collaborative editing method provided by the above method embodiment, the embodiment of the present application also provides a collaborative editing device, which will be described below in conjunction with the accompanying drawings.

[0146] See also Figure 3 As shown in FIG. 1 , this figure is a schematic diagram of the structure of a collaborative editing device provided in an embodiment of the present application. Figure 3 As shown, the collaborative editing device includes:

[0147] The acquisition unit 310 is configured to acquire a first edit content and a second edit content, where the first edit content and the second edit content are edit contents for the same edit object.

[0148] The determining unit 320 is configured to determine a difference position according to the first edited content and the second edited content, where the difference position indicates a position where the first edited content and the second edited content are different.

[0149] The display unit 330 is used to display the content at the difference position in the first edited content and the content at the difference position in the second edited content respectively based on different display modes.

[0150] In some possible implementations, the first editing content is published editing content corresponding to a first application, and the second editing content is unpublished editing content corresponding to the first application.

[0151] The determining unit 320 is further configured to determine a third editing content according to the first editing content and / or the second editing content; and update the editing content corresponding to the first application according to the third editing content.

[0152] In some possible implementations, the acquisition unit 310 is further configured to acquire a comparison operation triggered by an edited content comparison control.

[0153] In some possible implementations, the determination unit 320 is specifically used to determine the third edited content based on the content of the difference position in the first edited content in response to a retain operation; and / or, in response to an update operation, determine the third edited content based on the content of the difference position in the second edited content.

[0154] In some possible implementations, the display unit 330 is specifically configured to display the content at the difference position in the first edited content in the first display area based on a first display mode; and to display the content at the difference position in the second edited content in the first display area based on a second display mode.

[0155] The display unit 330 is further configured to display content at non-difference locations in the first edited content in the second display area.

[0156] In some possible implementations, the first display area further includes a first identifier and a second identifier, the first identifier being used to indicate the content at the difference position in the first edited content, and the second identifier being used to indicate the content at the difference position in the second edited content.

[0157] In some possible implementations, the first display area further includes a synchronous display control. The display unit 330 is further configured to display the first edited content in the third display area and the second edited content in the fourth display area in response to a synchronous display operation triggered by the synchronous display control.

[0158] In some possible implementations, the first editing content includes a first code. The device also includes a code generation unit. The acquisition unit 310 is further used to acquire an associated variable setting operation, where the associated variable setting operation is used to set an associated variable. The code generation unit is used to generate a variable association code according to the associated variable setting operation, where the variable association code is used to associate the identifier of the associated variable in the code corresponding to the first process with the identifier of the associated variable in the code corresponding to the second process.

[0159] Based on a collaborative editing method provided in the above method embodiments, the present application also provides an electronic device, comprising: one or more processors; a storage device, on which one or more programs are stored, and when the one or more programs are executed by the one or more processors, the one or more processors implement the collaborative editing method as described in any of the above embodiments.

[0160] Reference below Figure 4 , which shows a schematic diagram of the structure of an electronic device 400 suitable for implementing the embodiment of the present application. The terminal device in the embodiment of the present application may include but is not limited to mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (portable android devices), PMPs (Portable Media Players), vehicle-mounted terminals (such as vehicle-mounted navigation terminals), etc., and fixed terminals such as digital TVs (televisions), desktop computers, etc. Figure 4 The electronic device shown is merely an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.

[0161] like Figure 4As shown, the electronic device 400 may include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 401, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 402 or a program loaded from a storage device 408 into a random access memory (RAM) 403. In the RAM 403, various programs and data required for the operation of the electronic device 400 are also stored. The processing device 401, the ROM 402, and the RAM 403 are connected to each other via a bus 404. An input / output (I / O) interface 405 is also connected to the bus 404.

[0162] Typically, the following devices may be connected to the I / O interface 405: input devices 408 including, for example, a touch screen, a touch pad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; output devices 407 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; storage devices 408 including, for example, a magnetic tape, a hard disk, etc.; and communication devices 409. The communication devices 409 may allow the electronic device 400 to communicate with other devices wirelessly or by wire to exchange data. Although Figure 4 The electronic device 400 is shown with various devices, but it should be understood that it is not required to implement or possess all the devices shown. More or fewer devices may be implemented or possessed instead.

[0163] In particular, according to an embodiment of the present application, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present application includes a computer program product, which includes a computer program carried on a non-transitory computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication device 409, or installed from the storage device 408, or installed from the ROM402. When the computer program is executed by the processing device 401, the above-mentioned functions defined in the method of the embodiment of the present application are executed.

[0164] The electronic device provided in the embodiment of the present application and the collaborative editing method provided in the above embodiment belong to the same inventive concept. For technical details not fully described in this embodiment, reference can be made to the above embodiment, and this embodiment has the same beneficial effects as the above embodiment.

[0165] Based on a collaborative editing method provided by the above method embodiment, an embodiment of the present application provides a computer storage medium on which a computer program is stored, wherein when the program is executed by a processor, the collaborative editing method as described in any of the above embodiments is implemented.

[0166] It should be noted that the computer-readable medium mentioned above in the present application may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present application, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, device or device. In the present application, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, which carries a computer-readable program code. This propagated data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. The computer readable signal medium may also be any computer readable medium other than a computer readable storage medium, which may send, propagate or transmit a program for use by or in conjunction with an instruction execution system, apparatus or device. The program code contained on the computer readable medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.

[0167] In some embodiments, the client and the server may communicate using any currently known or future developed network protocol such as HTTP (Hyper Text Transfer Protocol), and may be interconnected with any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), an internet (e.g., the Internet), and a peer-to-peer network (e.g., an ad hoc peer-to-peer network), as well as any currently known or future developed network.

[0168] The computer-readable medium may be included in the electronic device, or may exist independently without being incorporated into the electronic device.

[0169] The computer-readable medium carries one or more programs. When the one or more programs are executed by the electronic device, the electronic device executes the collaborative editing method.

[0170] Computer program code for performing the operations of the present application may be written in one or more programming languages ​​or a combination thereof, including, but not limited to, object-oriented programming languages, such as Java, Smalltalk, C++, and conventional procedural programming languages, such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0171] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present application. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0172] The units involved in the embodiments described in this application may be implemented by software or hardware. The name of a unit / module does not limit the unit itself in some cases. For example, a voice data acquisition module may also be described as a "data acquisition module".

[0173] The functions described above herein may be performed at least in part by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), and the like.

[0174] In the context of the present application, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0175] It should be noted that the various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments, and the same or similar parts between the various embodiments can be referred to each other. For the system or device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant parts can be referred to the method part description.

[0176] It should be understood that in the present application, "at least one (item)" means one or more, and "plurality" means two or more. "And / or" is used to describe the association relationship of associated objects, indicating that three relationships may exist. For example, "A and / or B" can mean: only A exists, only B exists, and A and B exist at the same time, where A and B can be singular or plural. The character " / " generally indicates that the objects associated before and after are in an "or" relationship. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b or c can mean: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, c can be single or multiple.

[0177] It should also be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the presence of other identical elements in the process, method, article or device including the elements.

[0178] The above description of the disclosed embodiments enables those skilled in the art to implement or use the present application. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present application. Therefore, the present application will not be limited to the embodiments shown herein, but will conform to the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A collaborative editing method, characterized in that: The method comprises: Acquire a first edit content and a second edit content, wherein the first edit content and the second edit content are edit contents of the same edit object; Determine a difference position according to the first edited content and the second edited content, the difference position indicating a position where the first edited content and the second edited content differ; The content at the difference position in the first edited content and the content at the difference position in the second edited content are displayed respectively based on different display modes.

2. The method according to claim 1, characterized in that: The first editing content is the published editing content corresponding to the first application, and the second editing content is the unpublished non-editing content corresponding to the first application; The method further comprises: Determine third editing content according to the first editing content and / or the second editing content; The editing content corresponding to the first application is updated according to the third editing content.

3. The method according to claim 1, characterized in that Before acquiring the first edited content and the second edited content, the method further includes: Gets the comparison operation triggered by the edit comparison control.

4. The method according to claim 2, characterized in that: Determining the third editing content according to the first editing content and / or the second editing content includes at least one of the following: In response to a retain operation, determining the third edited content according to the content of the difference position in the first edited content; In response to an update operation, the third edited content is determined based on the content of the difference position in the second edited content.

5. The method according to any one of claims 1 to 4, characterized in that: The displaying the content at the difference position in the first edited content and the content at the difference position in the second edited content respectively based on different display modes includes: Displaying the content at the difference position in the first edited content in the first display area based on a first display mode; Displaying the content at the difference position in the second edited content in the first display area based on a second display mode; The method further comprises: The content of the non-difference position in the first edited content is displayed in the second display area.

6. The method according to claim 5, characterized in that The first display area further includes a first identifier and a second identifier, wherein the first identifier is used to indicate the content at the difference position in the first edited content, and the second identifier is used to indicate the content at the difference position in the second edited content.

7. The method according to claim 5, characterized in that The first display area also includes a synchronous display control, and the method further includes: In response to a synchronous display operation triggered on the synchronous display control, the first edited content is displayed in the third display area, and the second edited content is displayed in the fourth display area.

8. The method according to claim 1, characterized in that The first edited content includes a first code, the second edited content includes a second code, and the method further includes: Obtaining an associated variable setting operation, wherein the associated variable setting operation is used to set an associated variable; According to the associated variable setting operation, a variable association code is generated, wherein the variable association code is used to associate the identifier of the associated variable in the code corresponding to the first process with the identifier of the associated variable in the code corresponding to the second process.

9. A collaborative editing device, characterized in that: The device comprises: An acquiring unit, configured to acquire a first edit content and a second edit content, wherein the first edit content and the second edit content are edit contents of the same edit object; A determining unit, configured to determine a difference position according to the first edited content and the second edited content, wherein the difference position indicates a position where a difference exists between the first edited content and the second edited content; The display unit is used to respectively display the content at the difference position in the first edited content and the content at the difference position in the second edited content based on different display modes.

10. An electronic device, characterized in that: include: one or more processors; a storage device having one or more programs stored thereon, When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 8.

11. A computer-readable medium, characterized in that A computer program is stored thereon, wherein when the program is executed by a processor, the method according to any one of claims 1 to 8 is implemented.

Citation Information

Cited By

  • Managing Document Editing Permissions During Conferences

    US20250298926A1