Collaborative modeling method, device and system, computer equipment and readable storage medium

By building an initial model copy for each client on the server side, parallel design and data merging in the order of submission are allowed, solving the problem of low efficiency in multi-user collaborative design of traditional data warehouse models and achieving efficient model design and conflict handling.

CN121235649APending Publication Date: 2025-12-30BEIJING PACTERA JINXIN TECH LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511248246.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-09-02
Publication Date
2025-12-30

AI Technical Summary

Technical Problem

Traditional data warehouse models, which rely on collaborative design by multiple users, only support sequential development, resulting in low efficiency in model design.

Method used

The server builds an initial model copy for each client, allowing clients to design in parallel. Data is then merged according to the submission order of the target model copies, conflicts are resolved, and the final target model master is generated.

Benefits of technology

It improves model design efficiency, avoids data overwrite and duplicate task submissions, and provides clear version management information.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121235649A_ABST
    Figure CN121235649A_ABST
Patent Text Reader

Abstract

The invention relates to a collaborative modeling method, device and system, computer equipment and a readable storage medium. The method comprises the following steps: acquiring a target model copy corresponding to each client; the target model copy is obtained by designing and processing the initial model copy of the target model in parallel by each client and feeding back to the server; the initial model copy is constructed by the server in response to a design request of the client; and according to the submission sequence of the target model copies, performing data merging on the initial model master based on each target model copy in sequence to obtain a target model master corresponding to the target model. By adopting the method, the model design efficiency can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular to a collaborative modeling method, apparatus, system, computer device, and readable storage medium. Background Technology

[0002] As business applications develop, the business data involved in various fields becomes increasingly complex, thus requiring the design of accurate data warehouse models.

[0003] In traditional technologies, for collaborative design of data warehouse models, in exclusive mode, once a designer starts designing a target model, the server switches the target model to a locked state, which remains locked throughout the entire design phase. While locked, the target model is read-only for other designers. Only after the designer completes their design can the server unlock the target model, allowing other designers to begin their design process.

[0004] However, in current traditional technologies, the collaborative design of data warehouse models only supports sequential development by each designer, resulting in low efficiency in model design. Summary of the Invention

[0005] Therefore, it is necessary to provide a collaborative modeling method, apparatus, system, computer equipment, and readable storage medium to address the aforementioned technical problems.

[0006] Firstly, this application provides a collaborative modeling method, which is applied to a server and includes:

[0007] Obtain a copy of the target model corresponding to each client; the target model copy is obtained by each client performing design processing on the initial model copy of the target model in parallel and feeding it back to the server; the initial model copy is constructed by the server in response to the design request of the client;

[0008] According to the submission order of each target model copy, the initial model master is merged sequentially based on each target model copy to obtain the target model master corresponding to the target model.

[0009] In one embodiment, the step of merging the initial model master copy according to the submission order of each target model copy to obtain the target model master copy corresponding to the target model includes:

[0010] If the target model copy conflicts with the initial model master, the conflict between the target model copy and the initial model master is handled according to a preset conflict handling strategy to obtain the conflict handling result;

[0011] According to the submission order of each target model copy, the target model copy and the initial model master are merged sequentially based on the conflict resolution result to obtain the target model master corresponding to the target model.

[0012] In one embodiment, if the target model copy conflicts with the initial model master, conflict resolution is performed on the conflict between the target model copy and the initial model master according to a preset conflict resolution strategy to obtain a conflict resolution result, including:

[0013] According to the submission order of each target model copy, for each target model copy, conflict verification is performed on the target adjustment data between the target model copies based on the initial model master, and the conflict verification result is obtained.

[0014] If the conflict verification result indicates a conflict, the conflict object is determined based on the target adjustment data, and a conflict list is generated based on the conflict object and sent back to the client; the conflict list is used to display the conflict object.

[0015] Receive the conflict resolution result sent by the client.

[0016] In one embodiment, the step of merging the initial model master copy according to the submission order of each target model copy to obtain the target model master copy corresponding to the target model includes:

[0017] According to the submission order of each target model copy, for each target model copy reported by the client, determine the submission status of the initial model master at the time of submission of the target model copy;

[0018] If the commit status is committable, add an update lock to the initial model master and switch the commit status of the initial model master to non-committable;

[0019] The initial model master is merged based on the target model replicas until the merging of each target model replica with the initial model master is completed, thus obtaining the target model master corresponding to the target model.

[0020] In one embodiment, obtaining the target model copy corresponding to each client includes:

[0021] For each client, in response to the design request initiated by the client for the target model, the client's permissions are verified according to the model permissions corresponding to the target model, and the permission verification result is obtained;

[0022] If the permission verification result indicates that the client has editing permission, obtain the initial model copy corresponding to the client and send the initial model copy to the client.

[0023] Receive the target model copy fed back by the client.

[0024] In one embodiment, if the permission verification result indicates that the user has editing permission, obtaining the initial model copy corresponding to the client and sending the initial model copy to the client includes:

[0025] For each client's design request for the target model, if the permission verification result indicates that the client has editing permission, determine in the copy library whether the initial model copy corresponding to the client already exists.

[0026] If an initial model copy corresponding to the client already exists in the copy library, obtain the existing initial model copy corresponding to the client.

[0027] If the initial model copy corresponding to the client does not exist in the copy library, the initial model copy is constructed in the copy library based on the initial model master copy of the target model.

[0028] Secondly, this application also provides a collaborative modeling apparatus, comprising:

[0029] The acquisition module is used to acquire the target model copy corresponding to each client; the target model copy is obtained by each client performing design processing on the initial model copy of the target model in parallel and feeding it back to the server; the initial model copy is constructed by the server in response to the design request of the client;

[0030] The merging module is used to merge the data of the initial model master in the order of submission of each target model copy, so as to obtain the target model master corresponding to the target model.

[0031] In one embodiment, the merging module is specifically used to handle the conflict between the target model copy and the initial model copy according to a preset conflict handling strategy if there is a conflict between the target model copy and the initial model copy, and obtain the conflict handling result.

[0032] According to the submission order of each target model copy, the target model copy and the initial model master are merged sequentially based on the conflict resolution result to obtain the target model master corresponding to the target model.

[0033] In one embodiment, the merging module is specifically used to perform conflict verification on the target adjustment data between the target model replicas based on the initial model master, according to the submission order of each target model replica, to obtain the conflict verification result;

[0034] If the conflict verification result indicates a conflict, the conflict object is determined based on the target adjustment data, and a conflict list is generated based on the conflict object and sent back to the client; the conflict list is used to display the conflict object.

[0035] Receive the conflict resolution result sent by the client.

[0036] In one embodiment, the merging module is specifically used to determine the submission status of the initial model master at the time of submission of each target model copy, according to the submission order of each target model copy reported by the client.

[0037] If the commit status is committable, add an update lock to the initial model master and switch the commit status of the initial model master to non-committable;

[0038] The initial model master is merged based on the target model replicas until the merging of each target model replica with the initial model master is completed, thus obtaining the target model master corresponding to the target model.

[0039] In one embodiment, the acquisition module is specifically used to perform permission verification on each client in response to the design request initiated by the client for the target model, based on the model permissions corresponding to the target model, and obtain the permission verification result.

[0040] If the permission verification result indicates that the client has editing permission, obtain the initial model copy corresponding to the client and send the initial model copy to the client.

[0041] Receive the target model copy fed back by the client.

[0042] In one embodiment, the acquisition module is specifically used to, for each client's design request for the target model, if the permission verification result indicates that the client has editing permission, determine in the copy library whether the initial model copy corresponding to the client already exists.

[0043] If an initial model copy corresponding to the client already exists in the copy library, obtain the existing initial model copy corresponding to the client.

[0044] If the initial model copy corresponding to the client does not exist in the copy library, the initial model copy is constructed in the copy library based on the initial model master copy of the target model.

[0045] Thirdly, this application also provides a collaborative modeling system, the system comprising:

[0046] The server is used to obtain the target model copy corresponding to each client; the target model copy is obtained by each client performing design processing on the initial model copy of the target model in parallel and feeding it back to the server; the initial model copy is constructed by the server in response to the client's design request; according to the submission order of each target model copy, the initial model master is merged sequentially based on each target model copy to obtain the target model master corresponding to the target model;

[0047] The client is used to design a model based on the initial model copy, obtain a target model copy, and send it back to the server.

[0048] Fourthly, this application also provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to perform the following steps:

[0049] Obtain a copy of the target model corresponding to each client; the target model copy is obtained by each client performing design processing on the initial model copy of the target model in parallel and feeding it back to the server; the initial model copy is constructed by the server in response to the design request of the client;

[0050] According to the submission order of each target model copy, the initial model master is merged sequentially based on each target model copy to obtain the target model master corresponding to the target model.

[0051] Fifthly, this application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, performs the following steps:

[0052] Obtain a copy of the target model corresponding to each client; the target model copy is obtained by each client performing design processing on the initial model copy of the target model in parallel and feeding it back to the server; the initial model copy is constructed by the server in response to the design request of the client;

[0053] According to the submission order of each target model copy, the initial model master is merged sequentially based on each target model copy to obtain the target model master corresponding to the target model.

[0054] Sixthly, this application also provides a computer program product, including a computer program that, when executed by a processor, performs the following steps:

[0055] Obtain a copy of the target model corresponding to each client; the target model copy is obtained by each client performing design processing on the initial model copy of the target model in parallel and feeding it back to the server; the initial model copy is constructed by the server in response to the design request of the client;

[0056] According to the submission order of each target model copy, the initial model master is merged sequentially based on each target model copy to obtain the target model master corresponding to the target model.

[0057] The aforementioned collaborative modeling method, apparatus, system, computer equipment, and readable storage medium obtain target model copies for each client. These target model copies are obtained by each client in parallel designing and processing the initial model copy of the target model and feeding it back to the server. The initial model copy is constructed by the server in response to the client's design request. According to the submission order of each target model copy, the initial model master is merged for each target model copy to obtain the target model master corresponding to the target model. Using this method, the server constructs an initial model copy for each client, enabling each client to perform model design on the target model in parallel, thus improving the efficiency of model design. Furthermore, merging data with the initial model master according to the submission order avoids data overwriting and duplicate task submissions. Attached Figure Description

[0058] To more clearly illustrate the technical solutions in the embodiments of this application or related technologies, the drawings used in the description of the embodiments of this application or related technologies will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.

[0059] Figure 1 This is a diagram illustrating the application environment of the collaborative modeling method in one embodiment.

[0060] Figure 2 This is a flowchart illustrating a collaborative modeling method in one embodiment;

[0061] Figure 3 This is a schematic diagram illustrating the conflict resolution process between a target model copy and an initial model master in one embodiment.

[0062] Figure 4 This is a schematic diagram illustrating conflict handling by the client in one embodiment;

[0063] Figure 5 This is a schematic diagram of a client-based conflict handling process in one embodiment.

[0064] Figure 6 This is a schematic diagram of the client's front-end page for conflict handling, taking table conflict as an example in one embodiment;

[0065] Figure 7 This is a schematic diagram illustrating how a client restores a resolved conflict in one embodiment;

[0066] Figure 8 This is a schematic diagram of a data merging process based on submission status in one embodiment;

[0067] Figure 9 This is a schematic diagram of the process of distributing an initial model copy based on the permission verification result in one embodiment;

[0068] Figure 10 This is a schematic diagram illustrating how the client presents the model to the participants in one embodiment.

[0069] Figure 11 This is a schematic diagram illustrating the process of sending an initial model copy to the client in one embodiment;

[0070] Figure 12 This is a schematic diagram illustrating the destruction of the initial model copy by the client in one embodiment;

[0071] Figure 13 A flowchart illustrating an example of a collaborative modeling method in one embodiment;

[0072] Figure 14 This is a structural block diagram of the collaborative modeling device in one embodiment;

[0073] Figure 15 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation

[0074] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0075] It should be noted that the terms "first," "second," etc., used in this application can be used to describe various elements, but these elements are not limited by these terms. These terms are only used to distinguish the first element from the second element. The terms "comprising" and "having," and any variations thereof, used in this application, are intended to cover non-exclusive inclusion. The term "multiple" used in this application refers to two or more. The term "and / or" used in this application refers to one of the embodiments, or any combination of multiple embodiments.

[0076] The collaborative modeling method provided in this application embodiment can be applied to, for example, Figure 1 In the application environment shown, client 102 communicates with server 104 via a network. A data storage system stores the data that server 104 needs to process. This data storage system can be integrated onto server 104 or located in the cloud or on other network servers. Server 104 obtains the target model copy corresponding to each client 102; the target model copy is obtained by each client 102 performing parallel design processing on the initial model copy of the target model and feeding it back to server 104; the initial model copy is constructed by server 104 in response to the design request of client 102; according to the submission order of each target model copy, the initial model master is merged sequentially based on each target model copy to obtain the target model master corresponding to the target model. Client 102 can be, but is not limited to, various personal computers, laptops, smartphones, and tablets. Server 104 can be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing cloud computing services.

[0077] In one exemplary embodiment, such as Figure 2 As shown, a collaborative modeling method is provided, which can be applied to... Figure 1 Taking the server-side as an example, the explanation includes steps 202 to 204. Wherein:

[0078] Step 202: Obtain the target model copy for each client.

[0079] The target model copy is obtained by each client designing and processing the initial model copy of the target model in parallel and then feeding it back to the server. The initial model copy is constructed by the server in response to the client's design request. It is a model copy that is completely identical to the initial model master, which the server replicates based on the client's design request. The initial model master is an initial model with basic structure and framework constructed when the model design task corresponding to the target model is created, serving as the design basis for the target model.

[0080] In this embodiment of the application, in a scenario where multiple people collaborate to build and design a model (for example, multiple people can collaborate to build and design a data warehouse model), the server includes a model design task corresponding to the target model. After the model design task corresponding to the target model is built, the model design task is set to have a client with model design permissions (the client with model design permissions is a terminal device logged in with an account that has model design permissions).

[0081] Each client designs its own model based on an initial model copy built for it by the server. All data generated during the model design process is stored in this initial model copy, without affecting the data content of the target model's initial master copy. After completing their respective model design phase, each client receives its own target model copy and submits it to the server. Subsequently, after the target model copies are submitted to the server, the server receives the target model copies returned by each client.

[0082] In this model design process, each client implements its design on an initial model copy. This design includes data extraction rule design, data transformation logic formulation, and data loading process planning. The server constructs an initial model copy for each client, ensuring that each client's design operations are performed on its own copy. Since the design operations between different clients are independent and the initial model copies are mutually independent, each client can perform parallel design on its initial model copy without waiting for other clients to complete their design operations, thereby improving the overall design efficiency of the target model.

[0083] Step 204: According to the submission order of each target model copy, merge the data of the initial model master copy in turn based on each target model copy to obtain the target model master copy corresponding to the target model.

[0084] In this embodiment, although each client designs the target model in parallel, the speed and content of model design may differ between clients. Therefore, the time it takes for different clients to submit copies of the target model to the server varies, meaning the time it takes for the target client to receive and obtain copies of the target model from each client is different. Consequently, after receiving each copy of the target model from a client, the server merges that copy with the initial master model to obtain a new initial master model. This merges data between the initial master model and each copy of the target model according to the order in which the copies are received, effectively overwriting the initial master model with data from the copies of the target models. Ultimately, through the merging of multiple copies of the target model with the initial master model, collaborative design of the target model by each client is achieved, resulting in a complete master model corresponding to the target model.

[0085] In a specific embodiment, if the model design task corresponding to the target model includes clients A, B, and C with model design permissions, and the target model has a corresponding initial model master A0, then if client A sends target model copy 1 to the server, the server, upon receiving target model copy 1, performs a data merge between target model copy 1 and the initial model master A0. After merging target model copy 1, the initial model master A0 obtains a new initial model master A1. Then, if client B sends target model copy 2 to the server, the server, upon receiving target model copy 2, merges target model copy 2 and the initial model master A1 according to the same principle, obtaining the initial model master A2. Finally, when the server completes the data merge between target model copy 3 corresponding to client C and the initial model master A2, the server has completed the data merge between all target model copies and the initial model master, and thus the server obtains the target model master.

[0086] In the collaborative modeling method described above, the server builds an initial model copy for each client, enabling each client to design the target model in parallel, thus improving the efficiency of model design. Furthermore, merging the target model copy with the initial master model according to the commit order avoids data overwriting and duplicate task submissions. Additionally, merging the target model copy with the initial master model according to the commit order also provides clear version management information for the target model.

[0087] In one exemplary embodiment, such as Figure 3 As shown, step 204 includes steps 302 to 304. Wherein:

[0088] Step 302: If there is a conflict between the target model copy and the initial model master, the conflict between the target model copy and the initial model master is handled according to the preset conflict handling strategy to obtain the conflict handling result.

[0089] In this embodiment, after the server receives the target model copy from each client, and before merging the target model copy with the initial model master, different clients may modify the same data differently after generating the target model copy from their respective initial model copies. Furthermore, the data merging between the initial model master and the target model copy involves overwriting the parameter values ​​of the target model copy with those of the initial model master. Therefore, if the current target model copy contains modifications to the original data of the initial model master, it indicates that the target model copy includes the design results of the initial model master. However, if the current target model copy contains further adjustments to the modified content of other target model copies after merging the data of other target model copies, directly overwriting the parameter values ​​of the current target model copy with those of the initial model master, which already contains the modified parameters, would result in the loss of parameter values ​​from other target model copies. This means the loss of that portion of the design results from those other target model copies, leading to data corruption in the target model master. Therefore, the server needs to perform conflict checks on the merged data to prevent data loss for target model copies from different clients.

[0090] Specifically, if the initial model master contains data that has been adjusted through merging with other target model copies, and the target model copy currently reported by the client shows further adjustments to that data, the server determines that there is a conflict between the target model copy and the initial model master, indicating a conflict in the model design information within the target model copies of different clients. For example, ... Figure 4 As shown, in the target model replica 1 corresponding to the client "mxproject3", the original table name "table_1" is changed to "table_11". After the target model replica 1 and the initial model master A0 complete the data merging to obtain the new initial model master A1, the original table name "table_1" in the initial model master A1 has been changed to "table_11". However, in the target model replica 2 corresponding to the local client, the modification to the original table name "table_1" is changed to "table_12". Therefore, after the local client feeds back target model replica 2 to the server, since both target model replica 2 and target model replica 1 have modified the original table name "table_1", the server determines that there is a conflict between target model replica 2 and the initial model master A1.

[0091] Then, the server handles conflicts according to a preset conflict resolution strategy and determines the conflict resolution result, which represents the target value that can be merged into the initial model master. For example, the preset conflict resolution strategies include using the submission time as the standard, that is, using the data in the target model copy with the later submission time as the target value to be merged into the initial model master; or, based on the designer's permissions, prioritizing the target value modified in the target model copy of the high-privilege client as the target value to be merged into the initial model master; or, the server divides the conflict resolution strategy according to the importance level of each data, and after a conflict occurs, it queries the conflict resolution strategy result corresponding to the importance level of the conflicting data.

[0092] Step 304: According to the submission order of each target model copy, the target model copies and the initial model master copy are merged sequentially based on the conflict resolution results to obtain the target model master copy corresponding to the target model.

[0093] In this embodiment, the server can immediately perform conflict verification and conflict resolution on each target model copy received, and merge the target model copy and the initial model master based on the conflict resolution result. This ensures that the data merging of the target model copy and the initial model master is performed according to the submission order of each target model copy. Optionally, when the data merging processing has a lower priority, the server can also merge each target model copy with the initial model master according to a preset period. For example, in the early stages of target model design, the preset period can be a pre-set time period with low data concurrency to improve the efficiency of data merging. In this case, the server records the submission time of each target model copy, determines the submission order of each target model copy based on its submission time, and then, during the data merging processing in each preset period, the server merges the target model copy and the initial model master sequentially according to the submission order of each target model copy and the target value of the conflict resolution result.

[0094] Optionally, when the server merges data based on the conflict resolution results, if conflicts still exist in the results, the server repeats the conflict verification process in step 302 until all conflicts are resolved and there is no conflicting data. Then, the server performs data merging between the target model copy and the initial model master to finally obtain the target model master.

[0095] In this embodiment, by performing conflict verification between the target model copy and the initial model master, and determining the conflict resolution result when a conflict exists, the problems of data corruption in the initial model master and data loss due to data overwriting in the target model copy can be avoided. Merging data sequentially according to the submission order and conflict resolution structure of each target model copy can improve the accuracy of data merging.

[0096] In one exemplary embodiment, such as Figure 5 As shown, step 302 includes steps 502 to 506. Wherein:

[0097] Step 502: According to the submission order of each target model copy, for each target model copy, perform conflict verification based on the target adjustment data between the initial model master and the target model copy to obtain the conflict verification result.

[0098] In this embodiment, if the initial model master has already completed data merging with other target model copies, then the initial model master contains the modified data. Each time the server receives a target model copy, it determines the data that differs between the current target model copy and the initial model master, and uses this as target adjustment data. Within the initial model master, the server determines whether each target adjustment data has already had a merging record adjusted by other target model copies. If the initial model master contains a merging record where the target adjustment data has been adjusted, the server determines that a conflict exists in the conflict check result. If the initial model master does not contain a merging record where the target adjustment data has been adjusted, the server determines that no conflict exists in the conflict check result and directly overwrites the initial model master with the target model copy, thus achieving data merging between the target model copy and the initial model master.

[0099] Step 504: If the conflict verification result indicates a conflict, determine the conflict object based on the target adjustment data, generate a conflict list based on the conflict object, and send it back to the client.

[0100] The conflict list is used to display conflicting objects.

[0101] In this embodiment, when the server determines that a conflict exists, it first identifies the target adjustment data with merge records as conflict objects. These conflict objects can be component data such as tables, fields, indexes, partitions, relationships, and views in the model design. The server generates a conflict list based on the original value of the conflict object, the modified value in the merge record, and the modified value corresponding to the current target model copy. The modified value in the merge record is the current value of the initial model master after other target model copies have merged with it.

[0102] Then, the server sends the conflict list back to the client, indicating that the current target model copy of the corresponding designer conflicts with the initial model copy.

[0103] Step 506: Receive the conflict resolution result sent by the client.

[0104] In this embodiment of the application, when the client receives the conflict list, such as Figure 6 As shown, Figure 6 This is a front-end page for handling conflicts in a client application, using table conflicts as an example. Designers can resolve conflicts using arrows on the client-side front-end page. For example, "<" indicates that the current value of the initial model master is replaced with the copy value of the current target model copy, that is, the copy value of the current target model copy is used to overwrite the modified values ​​of other target model copies; ">" indicates that the copy value of the current target model copy is replaced with the current value of the initial model master.

[0105] After the client responds to the designer's trigger action, it sends the conflict resolution result corresponding to the arrow back to the server. The server then receives the conflict resolution result from the client and processes the data accordingly. The server-side conflict resolution supports both the smallest granularity of attribute data processing and a backward compatibility mode; after the outer component uses the left and right arrows for operation, the fields, indexes, partition components, and attribute data of the table all undergo the same data processing according to that operation.

[0106] In an optional embodiment, such as Figure 7 As shown, the server can also restore resolved conflicts, re-analyze the conflict object and the conflict results, and correct the conflict handling results to further improve the accuracy of conflict handling.

[0107] In this embodiment, conflict verification is performed using target adjustment data between the initial model master and the target model copy. This enables accurate identification of data conflicts between different target model copies and the initial model master during collaborative model design, avoiding the confusion caused by directly merging data. Furthermore, by using the target adjustment data to determine the conflict objects and conflict list, the conflict information between the target model copy and the initial model master in collaborative model design can be clearly displayed. This provides client designers with intuitive conflict information, thereby improving the accuracy of conflict resolution results and the accuracy of model design.

[0108] In one exemplary embodiment, such as Figure 8 As shown, step 204 includes steps 802 to 806. Wherein:

[0109] Step 802: According to the submission order of each target model copy, for each target model copy reported by the client, determine the submission status of the initial model master at the time of submission of the target model copy.

[0110] In this embodiment, when multiple clients participate in model design and submit their respective target model copies, the server processes each client's target model copy according to the submission order. Specifically, after each target model copy is submitted, the server immediately determines the submission status of the initial model master. By determining the submission status of the initial model master, the server can determine whether further processing of the currently submitted target model copy is possible. For example, if multiple clients submit target model copies simultaneously, the server determines the status of the initial model master at the time of each copy submission. This ensures that the server only processes the current target model copy when the initial model master has not undergone data merging, thus avoiding data corruption caused by simultaneous processing of initial model copies from multiple clients and guaranteeing the accuracy and consistency of data processing.

[0111] Step 804: If the commit status is committable, add an update lock to the initial model master and switch the commit status of the initial model master to non-committable.

[0112] In this embodiment, if the commit status of the current initial model copy is committable, it means that no other client is currently committing to the initial model master, and the current initial model master is in an idle state. At this time, the server prepares for data processing on the initial model master and the target model copy. First, the server adds an update lock to the initial model master, changes the commit status of the current initial model master to non-committable, and prohibits other threads from reading and writing to the initial model master when the target model copy is committed to it, thus avoiding data corruption or loss caused by multiple clients simultaneously reading and writing to the initial model master.

[0113] Step 806: Merge the initial model master based on the target model replicas until the merging of each target model replica with the initial model master is completed, and obtain the target model master corresponding to the target model.

[0114] In this embodiment, after the server adds an update lock to the initial model master and switches the commit status, it merges the data of the initial model master based on the target model replicas. Each time the server receives a target model replica and determines that its commit status is ready to be committed, it merges the data of the initial model master based on the target model replica. This process follows the commit order of the target model replicas, sequentially merging the data of each target model replica with the initial model master to obtain the target model master corresponding to the target model.

[0115] During the merging process, for target model copies without data conflicts, the server directly merges them into the initial model master. For data with conflicts, the server generates a conflict list in real time and merges the target model copy into the initial model master based on the conflict resolution results reported by the clients. By continuously merging data for each target model copy until all target model copies are merged with the initial model master, the final target model master corresponding to the target model is obtained. At this point, the target model master contains all the design content from the clients, serving as the final result of the multi-user collaborative model design.

[0116] In this embodiment, by setting an update lock when the target model copy is submitted, it is possible to prevent multiple clients from reading and writing the initial model master at the same time, which could cause data chaos or loss. Data is then merged based on the target model copy to finally obtain the target model master containing the design content of all clients. This ensures the accurate integration of the collaborative design results of multiple people and improves the efficiency of model design.

[0117] In one exemplary embodiment, such as Figure 9 As shown, step 202 includes steps 902 to 906. Wherein:

[0118] Step 902: For each client, in response to the design request initiated by the client for the target model, verify the client's permissions according to the model permissions corresponding to the target model, and obtain the permission verification result.

[0119] In this embodiment of the application, the database on the server side stores relevant information about the pre-built model design task. For example, the relevant information includes the permissions of the participating designers set when the model design task is built, and a copy of the model corresponding to the model design task that has been partially designed and temporarily saved in the database.

[0120] When a designer opens the target model to be designed on the client, the client sends a design request for the target model to the server. The server then parses the model design request, identifies the account that initiated the request, and queries the pre-set permissions of the participants in the target model to determine whether the account initiating the model design request has the necessary permissions. The server then verifies the permissions.

[0121] Step 904: If the permission verification result indicates that the user has editing permission, obtain the corresponding initial model copy from the client and send the initial model copy to the client.

[0122] In this embodiment of the application, if the server determines that the permission verification result indicates that the client has editing permissions, it retrieves the initial model copy corresponding to the client from the server's database and sends the initial model copy to the client. Simultaneously, if... Figure 10 As shown, Figure 10 This is a schematic diagram for the client to display the participants in the model design. The server will also feed back the information of the participants who have participated in the model design task of the target model to the client and display it.

[0123] Step 906: Receive the target model copy from the client.

[0124] In this embodiment of the application, after each client receives the initial model copy, each client performs parallel model design under the operation of the model designer, and obtains the target model copy after the model design is completed. Then, in response to the submission of the target model copy, the client sends the target model copy to the server.

[0125] Finally, the server submits each target model copy according to the submission order of the clients, and merges it into the initial model master copy.

[0126] In this embodiment, the client account's design permissions are determined by querying relevant information stored in the database, ensuring that only authorized personnel can participate in the design, thus improving the security of the model design.

[0127] In one exemplary embodiment, such as Figure 11 As shown, step 904 includes steps 1102 to 1106. Wherein:

[0128] Step 1102: For each client's design request for the target model, if the permission verification result indicates that the client has editing permission, determine in the copy library whether the initial model copy corresponding to the client already exists.

[0129] In this embodiment, for each client, after the designer involved in the model design starts designing the target model on their corresponding client, the client sends a model design request to the server. The server can also temporarily save a copy of the initial model with partially completed design from each client to a backup file, so that the designer can continue model design based on this initial copy in the next iteration.

[0130] Specifically, in response to a model design request, the server searches its replica database to determine if an initial model replica corresponding to the client exists in the current replica database. If the initial model replica for the client does not exist in the current replica database, it means that the current client is participating in the target model design task for the first time, and the server needs to build an initial model replica for the client; if the initial model replica for the client exists in the current replica database, it means that the current client has already completed part of the model design.

[0131] In an optional embodiment, such as Figure 12 As shown, Figure 12 This diagram illustrates the destruction of the initial model copy for the client. The server can also respond to the client's copy destruction request and destroy the initial model copy corresponding to that client.

[0132] Step 1104: If the initial model copy corresponding to the client already exists in the copy library, obtain the existing initial model copy corresponding to the client.

[0133] In this embodiment of the application, if an initial model copy corresponding to the client already exists in the copy library, the server determines the initial model copy corresponding to the client in the copy library based on the client's ID or account information, and feeds back the initial model copy to the client.

[0134] Step 1106: If the initial model copy corresponding to the client does not exist in the copy library, construct the initial model copy in the copy library based on the initial model master copy of the target model.

[0135] In this embodiment of the application, if the initial model copy corresponding to the client does not exist in the copy library, the server constructs an initial model copy for the client. Specifically, the server copies the initial model master as the initial model copy for the client and sends the initial model copy back to the client.

[0136] In one exemplary embodiment, a collaborative modeling system is provided, the system comprising:

[0137] The server is used to obtain the target model copy corresponding to each client. The target model copy is obtained by each client designing and processing the initial model copy of the target model in parallel and feeding it back to the server. The initial model copy is constructed by the server in response to the client's design request. According to the submission order of each target model copy, the initial model master is merged sequentially based on each target model copy to obtain the target model master corresponding to the target model.

[0138] The client is used to design the model based on the initial model copy, obtain the target model copy, and send it back to the server.

[0139] In this embodiment, by searching the replica library to determine whether a corresponding initial model replica exists, the stage of client participation in the design can be accurately determined. If no replica exists, it indicates initial participation; if a replica exists, it indicates that part of the design has been completed. By acquiring and reporting the initial model replica that has already begun, designers can continue model design based on existing design results. Furthermore, when no corresponding initial model replica exists in the replica library, an initial model replica is constructed and reported based on the initial model master, enabling each client to design the target model in parallel, thus improving the efficiency of model design.

[0140] In one exemplary embodiment, an example of a collaborative modeling method is provided, such as Figure 13 As shown, it includes:

[0141] Step 1301: The client initiates a design request.

[0142] Step 1302: The server opens the model.

[0143] Step 1303: The server determines the model permissions. If the client model has query permissions, proceed to step 1304; if the client model has read-only permissions, proceed to step 1305; if the client model has edit permissions, proceed to step 1306.

[0144] In step 1304, the server prompts the user that they have query privileges, does not open the model canvas, and ends the process.

[0145] In step 1305, the server prompts the user that they have read-only permissions, opens the model canvas, and ends the process.

[0146] In step 1306, the server prompts the user that they have editing permissions and opens the canvas.

[0147] Step 1307, Client Startup Design.

[0148] Step 1308: The server provides feedback to the designers involved.

[0149] Step 1309: The server determines whether the current client user has a replica in the current model. If no replica exists, proceed to step 1310; if a replica exists, proceed to step 1311.

[0150] Step 1310: The server retrieves the design-state version, creates a copy, and adds the user to the designer list.

[0151] Step 1311: The client enters the model design phase.

[0152] Step 1312, Client-side editing (instant copying).

[0153] Step 1313: The client submits a copy.

[0154] Step 1314: The server acquires an update lock on the current design state to prevent other threads from reading or writing.

[0155] Step 1315: The server obtains the current design state version and compares and merges the copies in real time.

[0156] Step 1316: The server releases the update lock.

[0157] Step 1317: The server determines whether a conflict exists. If a conflict exists, proceed to step 1319; if no conflict exists, proceed to step 1318.

[0158] Step 1318: The server indicates a successful merge and deletes the replicas. Proceed to step 1321.

[0159] Step 1319: The server indicates a conflict that needs to be addressed; a conflict list is generated in real time.

[0160] Step 1320: The client handles the conflict in real time. After the conflict is resolved, step 1313 is repeated.

[0161] Step 1321: The client confirms and exits the model design.

[0162] Step 1322: The server removes the user from the designer list and ends the process.

[0163] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages in other steps. It is understood that the steps in different embodiments can be freely combined as needed, and all non-contradictory solutions formed by such combinations are within the scope of protection of this application.

[0164] Based on the same inventive concept, this application also provides a collaborative modeling apparatus for implementing the collaborative modeling method described above. The solution provided by this apparatus is similar to the solution described in the above method; therefore, the specific limitations in one or more collaborative modeling apparatus embodiments provided below can be found in the limitations of the collaborative modeling method described above, and will not be repeated here.

[0165] In one exemplary embodiment, such as Figure 14 As shown, a collaborative modeling device 1400 is provided, including: an acquisition module 1401 and a merging module 1402, wherein:

[0166] The acquisition module 1401 is used to acquire the target model copy corresponding to each client; the target model copy is obtained by each client performing design processing on the initial model copy of the target model in parallel and feeding it back to the server; the initial model copy is constructed by the server in response to the client's design request;

[0167] The merging module 1402 is used to merge the data of the initial model master in the order of submission of each target model copy, so as to obtain the target model master corresponding to the target model.

[0168] In one embodiment, the merging module 1402 is specifically used to handle the conflict between the target model copy and the initial model copy according to a preset conflict handling strategy if there is a conflict between the target model copy and the initial model copy, and obtain the conflict handling result.

[0169] Based on the submission order of each target model copy, and the conflict resolution results, the target model copies and the initial model master are merged sequentially to obtain the target model master corresponding to the target model.

[0170] In one embodiment, the merging module 1402 is specifically used to perform conflict verification on the target adjustment data between the target model replicas based on the initial model master, according to the submission order of each target model replica, and obtain the conflict verification result.

[0171] If the conflict check result indicates a conflict, the conflicting objects are determined based on the target data adjustment, and a conflict list is generated based on the conflicting objects and sent back to the client; the conflict list is used to display the conflicting objects.

[0172] Receive the conflict resolution results sent by the client.

[0173] In one embodiment, the merging module 1402 is specifically used to determine the submission status of the initial model master at the time of submission of each target model copy, according to the submission order of each target model copy submitted by the client.

[0174] If the commit status is committable, add an update lock to the initial model master and switch the commit status of the initial model master to non-committable;

[0175] Data is merged from the initial model master based on the target model replicas until the merging of each target model replica with the initial model master is completed, resulting in the target model master corresponding to the target model.

[0176] In one embodiment, the acquisition module 1401 is specifically used to perform permission verification on each client in response to the client's design request for the target model, based on the model permissions corresponding to the target model, and obtain the permission verification result.

[0177] If the permission verification result indicates that the user has editing permission, obtain the corresponding initial model copy from the client and send the initial model copy to the client.

[0178] Receive a copy of the target model from the client.

[0179] In one embodiment, the acquisition module 1401 is specifically used to determine whether the initial model copy corresponding to the client already exists in the copy library if the permission verification result is that the client has editing permission for each design request initiated by the client.

[0180] If an initial model copy for the client already exists in the copy library, retrieve the existing initial model copy for the client.

[0181] If the initial model copy corresponding to the client does not exist in the copy library, an initial model copy is constructed in the copy library based on the initial model master copy of the target model.

[0182] Each module in the aforementioned collaborative modeling device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device, or stored in the memory of a computer device as software, so that the processor can call and execute the operations corresponding to each module.

[0183] In one exemplary embodiment, a computer device is provided, which may be a server, and its internal structure diagram may be as follows: Figure 15As shown, this computer device includes a processor, memory, input / output (I / O) interfaces, and a communication interface. The processor, memory, and I / O interfaces are connected via a system bus, and the communication interface is also connected to the system bus via the I / O interfaces. The processor provides computational and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and a database. The internal memory provides the environment for the operating system and computer programs in the non-volatile storage media to run. The database stores copies of the initial model, the target model, the initial model master, and the target model master. The I / O interfaces are used for exchanging information between the processor and external devices. The communication interface is used for communicating with external terminals via a network connection. When the computer program is executed by the processor, it implements a collaborative modeling method.

[0184] Those skilled in the art will understand that Figure 15 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.

[0185] In one exemplary embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to perform the following steps:

[0186] Obtain the target model copy for each client; the target model copy is obtained by each client performing design processing on the initial model copy of the target model in parallel and feeding it back to the server; the initial model copy is constructed by the server in response to the client's design request;

[0187] According to the submission order of each target model copy, the initial model master is merged sequentially based on each target model copy to obtain the target model master corresponding to the target model.

[0188] In one embodiment, the processor, when executing a computer program, also performs the following steps:

[0189] If there is a conflict between the target model copy and the initial model master, the conflict between the target model copy and the initial model master is handled according to the preset conflict handling strategy to obtain the conflict handling result.

[0190] Based on the submission order of each target model copy, and the conflict resolution results, the target model copies and the initial model master are merged sequentially to obtain the target model master corresponding to the target model.

[0191] In one embodiment, the processor, when executing a computer program, also performs the following steps:

[0192] According to the submission order of each target model copy, for each target model copy, conflict verification is performed on the target adjustment data between target model copies based on the initial model master, and the conflict verification result is obtained.

[0193] If the conflict check result indicates a conflict, the conflicting objects are determined based on the target data adjustment, and a conflict list is generated based on the conflicting objects and sent back to the client; the conflict list is used to display the conflicting objects.

[0194] Receive the conflict resolution results sent by the client.

[0195] In one embodiment, the processor, when executing a computer program, also performs the following steps:

[0196] Based on the submission order of each target model copy, for each target model copy reported by the client, determine the submission status of the initial model master at the time of submission of the target model copy;

[0197] If the commit status is committable, add an update lock to the initial model master and switch the commit status of the initial model master to non-committable;

[0198] Data is merged from the initial model master based on the target model replicas until the merging of each target model replica with the initial model master is completed, resulting in the target model master corresponding to the target model.

[0199] In one embodiment, the processor, when executing a computer program, also performs the following steps:

[0200] For each client, in response to the design request initiated by the client for the target model, the client's permissions are verified according to the model permissions corresponding to the target model, and the permission verification result is obtained;

[0201] If the permission verification result indicates that the user has editing permission, obtain the corresponding initial model copy from the client and send the initial model copy to the client.

[0202] Receive a copy of the target model from the client.

[0203] In one embodiment, the processor, when executing a computer program, also performs the following steps:

[0204] For each client's design request for the target model, if the permission verification result indicates that the client has editing permissions, check in the copy library whether the corresponding initial model copy already exists for the client.

[0205] If an initial model copy for the client already exists in the copy library, retrieve the existing initial model copy for the client.

[0206] If the initial model copy corresponding to the client does not exist in the copy library, an initial model copy is constructed in the copy library based on the initial model master copy of the target model.

[0207] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the steps in the above method embodiments.

[0208] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in the above method embodiments.

[0209] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of the relevant data must comply with relevant regulations.

[0210] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, artificial intelligence (AI) processors, etc., and are not limited to these.

[0211] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.

[0212] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.

Claims

1. A method of collaborative modeling, the method comprising: The method is applied to a server, and the method comprises: obtaining target model copies corresponding to each client; the target model copy is obtained by parallel design processing of an initial model copy of a target model by each client and feedback to the server; the initial model copy is constructed by the server in response to a design request of the client; performing data merging on the initial model copy in sequence based on each target model copy according to a submission order of each target model copy, to obtain a target model main copy corresponding to the target model.

2. The method of claim 1, wherein, The method of performing data merging on the initial model copy in sequence based on each target model copy according to a submission order of each target model copy, to obtain a target model main copy corresponding to the target model, comprises: if there is a conflict between the target model copy and the initial model main copy, performing conflict processing on the conflict between the target model copy and the initial model main copy according to a preset conflict processing strategy, to obtain a conflict processing result; performing merging on the target model copy and the initial model main copy in sequence based on the conflict processing result according to the submission order of each target model copy, to obtain the target model main copy corresponding to the target model.

3. The method of claim 2, wherein, The method of performing conflict processing on the conflict between the target model copy and the initial model main copy according to a preset conflict processing strategy, to obtain a conflict processing result, comprises: performing conflict checking on target adjustment data between the target model copies based on the initial model main copy for each target model copy according to the submission order of each target model copy, to obtain a conflict checking result; if the conflict checking result is that there is a conflict, determining a conflict object according to the target adjustment data, and generating a conflict list according to the conflict object and feeding back to the client; the conflict list is used to display the conflict object; receiving a conflict processing result sent by the client.

4. The method of claim 1, wherein, The method of performing data merging on the initial model copy in sequence based on each target model copy according to a submission order of each target model copy, to obtain a target model main copy corresponding to the target model, comprises: determining a submission state of the initial model main copy at a submission time of the target model copy for each target model copy fed back by each client according to the submission order of each target model copy; if the submission state is submittable, adding an update lock to the initial model main copy, and switching the submission state of the initial model main copy to unsubmittable; performing data merging on the initial model main copy based on the target model copy, until the merging of each target model copy and the initial model main copy is completed, to obtain the target model main copy corresponding to the target model.

5. The method of claim 1, wherein, The method of obtaining target model copies corresponding to each client, comprises: for each client, performing permission verification on the client according to model permissions corresponding to a target model in response to a design request initiated by the client for the target model, to obtain a permission verification result; if the permission verification result is that the client has editing permission, obtaining an initial model copy corresponding to the client, and distributing the initial model copy to the client. receive the target model copy of the client feedback.

6. The method of claim 5, wherein, If the permission verification result is that the client has editing permission, the system obtains the initial model copy corresponding to the client and sends the initial model copy to the client, including: For each client-initiated design request for the target model, if the permission verification result is that the client has editing permission, the system determines whether the initial model copy corresponding to the client already exists in the copy library. If the initial model copy corresponding to the client already exists in the copy library, the system obtains the existing initial model copy corresponding to the client. If the initial model copy corresponding to the client does not exist in the copy library, the system constructs the initial model copy in the copy library based on the initial model master copy of the target model.

7. A collaborative modeling system, comprising: The system comprises: a server configured to obtain target model copies corresponding to each client; the target model copies are obtained by each client performing design processing on an initial model copy of a target model in parallel and feeding back to the server; the initial model copy is constructed by the server in response to a design request of the client; and the server is configured to sequentially perform data merging on the initial model master copy based on each target model copy in the order of submission of the target model copies, to obtain a target model master copy corresponding to the target model. a client configured to perform model design based on the initial model copy, to obtain a target model copy, and to feed back to the server.

8. A collaborative modeling apparatus, comprising: The apparatus comprises: an obtaining module configured to obtain target model copies corresponding to each client; the target model copies are obtained by each client performing design processing on an initial model copy of a target model in parallel and feeding back to the server; the initial model copy is constructed by the server in response to a design request of the client; and the obtaining module is configured to sequentially perform data merging on the initial model master copy based on each target model copy in the order of submission of the target model copies, to obtain a target model master copy corresponding to the target model. The processor implements the steps of the method of any one of claims 1 to 6 when executing the computer program. 9.A computer device, comprising a memory and a processor, wherein the memory stores a computer program, and the computer device is configured to perform the method according to any one of claims 1-8 when the computer program is executed by the processor. The computer program, when executed by the processor, implements the steps of the method of any one of claims 1 to 6.

10. A computer-readable storage medium having stored thereon a computer program, characterized in that, ​