A Data Synchronization Method, Device and Medium for Cloud CAD

By reusing or creating modeling services in cloud CAD, performing and synchronizing incremental data of Top-Down editing operations, information omissions and data loss problems in collaborative design of traditional CAD software are solved, and data consistency and resource utilization are improved.

CN119782433BActive Publication Date: 2025-06-13SHANDONG HUAYUN 3D TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510286436.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-03-12
Publication Date
2025-06-13
Estimated Expiration
2045-03-12

AI Technical Summary

Technical Problem

Traditional CAD software is prone to information omissions or errors in the multi-user collaborative design process, which has high communication costs. In the modeling process, cloud CAD may lead to data access conflicts and overwrites, resulting in data modifications lost by users.

Method used

By uploading Top-Down editing information on the browser, obtaining the model data document and determining whether there is a corresponding modeling service. If there is, reuse the service; if there is no, create a copy of the modeling service, perform modeling operations and obtain incremental data, and synchronize the data according to the Top-Down editing status.

Benefits of technology

It effectively avoids conflicts and data loss during multi-user operations, improves data consistency and operation accuracy, reduces repetitive resource creation and consumption, improves system resource utilization, and realizes timely synchronization of incremental data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119782433B_ABST
    Figure CN119782433B_ABST
Patent Text Reader

Abstract

The embodiments of this specification disclose a data synchronization method, device, and medium for cloud CAD, which relate to the technical field of data synchronization and are used to solve the problem that it is difficult to achieve data synchronization between models in existing cloud CAD. The method includes: determining whether there is a modeling service corresponding to the model data document based on the model data document corresponding to the current Top-Down editing information uploaded by the browser side; if so, controlling the start of the current modeling operation according to the concurrent conflict operation process of the corresponding modeling service and reusing the corresponding modeling service; if not, creating a copy of the modeling service of the current assembly data document as the modeling service corresponding to the model data document; performing the current modeling operation based on the corresponding modeling service to obtain incremental data corresponding to the current modeling operation; and synchronizing the incremental data based on the corresponding push policy according to the Top-Down editing state of the browser side.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This specification relates to the technical field of data synchronization, and particularly to a data synchronization method, device, and medium for cloud CAD. Background Art

[0002] In the process of CAD product R & D and manufacturing, for traditional CAD software, multiple users collaborate by directly adding annotations to the original 3D model or related documents, and one person is responsible for summarizing and updating this information. The summarizer needs to manually collect, sort out this information, and update it to the original model one by one. In this process, it is very easy to have information omission or errors, and the communication cost is extremely high. Once a problem occurs in a certain link, it takes a lot of time to troubleshoot and correct.

[0003] To solve the disadvantages of traditional CAD software, current cloud CAD introduces real-time collaborative design, which supports multiple users to operate on the same 3D model or document online at the same time, without the need for one person to summarize and update as in traditional CAD, greatly improving the collaboration efficiency. However, during the modeling process of current cloud CAD, model data is stored in a single modeling service process. At this time, due to the centralized storage of data in a single modeling service process, data access conflicts and overwrites may occur, resulting in the loss of data modified by users. And when it comes to Top-Down design, due to data isolation between modeling services, data between models cannot be synchronized in time. Summary of the Invention

[0004] To solve the above technical problems, one or more embodiments of this specification provide a data synchronization method, device, and medium for cloud CAD.

[0005] One or more embodiments of this specification adopt the following technical solutions:

[0006] One or more embodiments of this specification provide a data synchronization method for cloud CAD, the method comprising:

[0007] Based on the current Top-Down editing information uploaded by the browser side, obtain the model data document corresponding to the current modeling operation to determine whether there is a modeling service corresponding to the model data document;

[0008] If there is a modeling service corresponding to the model data document, then according to the concurrent conflict operation process of the corresponding modeling service, control the start of the current modeling operation and reuse the corresponding modeling service;

[0009] If there is no modeling service corresponding to the model data document, determine the current assembly data document corresponding to the model data document based on the Top-Down editing information, and create a copy of its modeling service as the modeling service corresponding to the model data document;

[0010] Execute the current modeling operation based on the corresponding modeling service to obtain incremental data corresponding to the current modeling operation;

[0011] Obtain the Top-Down editing state of the browser side, and synchronize the incremental data based on the corresponding push policy according to the Top-Down editing state.

[0012] Optionally, in one or more embodiments of this specification, based on the current Top-Down editing information uploaded by the browser side, obtain the model data document corresponding to the current modeling operation to determine whether there is a modeling service corresponding to the model data document. Specifically, it includes:

[0013] The decision server receives connection instructions from each browser side, and connects the browser side to the current assembly data document according to the connection conditions corresponding to the current assembly data document based on the connection instructions;

[0014] Record the connection information between the browser side and the current assembly data document, and assign a unique initial modeling service to the browser side;

[0015] Load the model data documents at all levels corresponding to the current assembly data document into the initial modeling service;

[0016] By parsing the current Top-Down editing information, obtain the model data document corresponding to the current modeling operation in the initial modeling service;

[0017] By analyzing the resource situation of the decision server, obtain the modeling services assigned to each browser side;

[0018] Query whether there is a modeling service corresponding to the model data document among the modeling services assigned to each browser side.

[0019] Optionally, in one or more embodiments of this specification, control the start of the current modeling operation according to the operation process corresponding to the concurrent conflict of the corresponding modeling service, and reuse the corresponding modeling service. Specifically, it includes:

[0020] Determine the multiple browser sides corresponding to the corresponding modeling service according to the connection information corresponding to the modeling service;

[0021] Determine whether there is a lock flag for the corresponding modeling service according to whether there is a modeling operation on multiple browser sides corresponding to the modeling service;

[0022] If there is the lock flag, determine that there is a concurrency conflict for the corresponding modeling service, and add the current modeling operation instruction to the waiting queue corresponding to the corresponding modeling service;

[0023] Execute the modeling operations in the waiting queue in sequence to start the current modeling operation and reuse the corresponding modeling service.

[0024] Optionally, in one or more embodiments of this specification, before obtaining incremental data corresponding to the modeling operation based on the corresponding modeling service, the method further includes:

[0025] Record the address mapping between the modeling service of the current assembly data document and the modeling service corresponding to the model data document;

[0026] Determine the service context paths of the modeling service of the current assembly data document and the model data document according to the address mapping;

[0027] Establish an inter-service communication record based on the service context paths.

[0028] Optionally, in one or more embodiments of this specification, obtaining incremental data corresponding to the current modeling operation based on the corresponding modeling service specifically includes:

[0029] Determine the original scene data corresponding to the modeling operation based on the model data document, and execute the current modeling operation through the corresponding modeling service to obtain the current scene data corresponding to the modeling operation;

[0030] Compare the original scene data with the current scene data to determine the incremental data corresponding to the current modeling operation;

[0031] Wherein, after determining the incremental data corresponding to the current modeling operation, the method further includes:

[0032] Use the first data version information corresponding to the model data document and the second data version information of the incremental data as version verification information.

[0033] Optionally, in one or more embodiments of this specification, after comparing the original scene data with the current scene data to determine the incremental data corresponding to the current modeling operation, the method further includes:

[0034] Classify the incremental data according to the attribute information and change type of the incremental data to obtain structural incremental data and unstructured incremental data; wherein, the attribute information includes: entity, element, view, and the change type includes: addition type, deletion type, and change type;

[0035] Determine the change object corresponding to the structural incremental data, and filter the structural incremental data according to the geometric rules corresponding to the change object to obtain the filtered structural incremental data;

[0036] Determine the connectivity relationship and adjacency relationship of the filtered structural incremental data, and screen the filtered structural incremental data according to the connectivity relationship and the adjacency relationship to obtain the first incremental data;

[0037] Extract the unstructured incremental data related to the first incremental data to obtain the second incremental data, and screen the unstructured incremental data based on the rendering conditions corresponding to the model data document to complete the second incremental data;

[0038] Summarize the first incremental data and the completed second incremental data to determine the effective incremental data corresponding to the current modeling operation.

[0039] Optionally, in one or more embodiments of the present specification, obtain the Top-Down editing state of the browser side, and synchronize the incremental data based on the corresponding push policy according to the Top-Down editing state, specifically including:

[0040] Obtain the Top-Down editing state of the browser side; wherein, the Top-Down editing state includes: usage state and exit state;

[0041] When the Top-Down editing state of the browser side is the usage state, push the incremental data to other modeling services in the link according to the communication record corresponding to the corresponding modeling service, and push the incremental data according to the user connection record corresponding to the modeling service and the other modeling services;

[0042] When the Top-Down editing state of the browser side is the exit state, determine whether the modeling service corresponding to the model data document has a connected browser side;

[0043] If so, push the incremental data to the current assembly data document corresponding to the model data document;

[0044] If not, save the modeling data of the corresponding modeling service and push the modeling data to the current assembly data document.

[0045] Optionally, in one or more embodiments of this specification, after pushing the incremental data, the method further includes:

[0046] Obtaining verification information of the incremental data, and matching the first data version information in the verification information with the data version information corresponding to the model data document of other modeling services;

[0047] If they are consistent, updating the model data document of the other modeling service to the second data version information;

[0048] If they are inconsistent, reloading the incremental data of the other modeling service based on a preset loading policy;

[0049] If it is determined that the Top-Down editing state of the browser side is the exit state, and it is determined that the modeling service corresponding to the model data document does not have a connected browser side, then delete the corresponding modeling service.

[0050] One or more embodiments of this specification provide a cloud CAD data synchronization device, and the device includes:

[0051] At least one processor; and,

[0052] A memory communicatively connected to the at least one processor; wherein,

[0053] The memory stores instructions executable by the at least one processor, and when the instructions are executed by the at least one processor, the at least one processor is enabled to: execute any of the above methods.

[0054] A non-volatile computer storage medium provided by one or more embodiments of this specification stores computer-executable instructions, and the computer-executable instructions are set to: be capable of executing any of the above methods.

[0055] The above at least one technical solution adopted by the embodiments of this specification can achieve the following beneficial effects:

[0056] In the presence of corresponding modeling services, the operation is started by using the concurrent conflict operation process control to avoid conflicts when multiple users operate on the same model simultaneously, ensuring data consistency and operation accuracy. By reusing existing modeling services or creating copies of modeling services, the creation of new service instances for each modeling operation is avoided, reducing the repeated creation and consumption of resources and greatly improving the utilization rate of system resources. Incremental data is obtained by performing modeling operations, avoiding the transmission pressure caused by the transmission of full-volume data. Then, targeted data synchronization is performed according to different Top-Down editing states on the browser side, realizing the effective management of incremental data, ensuring the real-time update of data among users, and guaranteeing the real-time and consistency of modeling data files among different users. BRIEF DESCRIPTION OF THE DRAWINGS

[0057] In order to more clearly illustrate the technical solutions in the embodiments of this specification or the prior art, the following will briefly introduce the drawings required for use in the description of the embodiments or the prior art. Obviously, the drawings in the following description are only some embodiments recorded in this specification. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings. In the drawings:

[0058] Figure 1 Schematic diagram of the data synchronization method process for a cloud CAD provided by an embodiment of this specification;

[0059] Figure 2 Schematic diagram of the execution process of an existing cloud CAD architecture system device provided by an embodiment of this specification;

[0060] Figure 3 Schematic diagram of the collaborative design process for a cloud CAD architecture provided by an embodiment of this specification;

[0061] Figure 4 Schematic diagram of the overall data synchronization process for a cloud CAD provided by an embodiment of this specification;

[0062] Figure 5 Schematic diagram at the multi-model document level provided by an embodiment of this specification;

[0063] Figure 6 Schematic diagram of the structure of a data synchronization device for a cloud CAD provided by an embodiment of this specification;

[0064] Figure 7 Schematic diagram of the structure of a non-volatile storage medium provided by an embodiment of this specification. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0065] An embodiment of this specification provides a data synchronization method, device, and medium for a cloud CAD.

[0066] In order to enable those skilled in the art to better understand the technical solutions in this specification, the technical solutions in the embodiments of this specification will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of this specification. Obviously, the described embodiments are only a part of the embodiments of this specification, rather than all the embodiments. Based on the embodiments of this specification, all other embodiments obtained by those of ordinary skill in the art without making creative efforts shall fall within the protection scope of this specification.

[0067] As Figure 1 can be seen, the embodiments of this specification provide a schematic diagram of the data synchronization method flow of cloud CAD. As Figure 1 can be seen, in one or more embodiments of this specification, a data synchronization method for cloud CAD specifically includes the following steps:

[0068] S101: Based on the current Top-Down editing information uploaded by the browser side, obtain the model data document corresponding to the current modeling operation to determine whether there is a modeling service corresponding to the model data document.

[0069] As Figure 2 shown, in the existing CAD cloud architecture collaborative design execution process, the process is that user A connects to the model, records the user's connection record at the decision server cluster end, and the decision server assigns a unique modeling service. The modeling service loads all the data during the model modeling process from the database. Then each user selects the function command to be executed on the modeling page of the browser side, adds the version information of the data to be modified to the execution command, and sends the command to the decision server; the decision server first parses the function command, and then pushes the data to the unique modeling service for execution; after the modeling service finishes execution, it pushes the data to the decision server, and the decision server pushes the data to the front-end browser for rendering and display according to the user's connection record. It can be seen that in the existing CAD cloud architecture collaborative design process, the modeling process is read by a single modeling service. At this time, when it comes to Top-Down design, due to data isolation between modeling services, the data between models cannot be synchronized in time, resulting in the problem of lost modifications.

[0070] Therefore, in order to avoid the problems existing in the reading by a single modeling service and realize the collaborative operation of multiple users and multiple terminals on the same model, as Figure 3In the embodiments of the present specification, based on the current Top-Down editing information uploaded by the browser side, the model data document corresponding to the current modeling operation is obtained, so as to determine whether there is a modeling service corresponding to the model data document. Among them, it should be noted that the Top-Down editing information is a top-down and gradually refined design editing process from the overall layout, overall structure, component structure to component parts. In a multi-user collaborative Top-Down design environment, the operations of different users may affect the same model data document. By determining the corresponding modeling service, the system can reuse the modeling service to achieve the sharing of the modeling service by multiple users while synchronizing data.

[0071] Specifically, in one or more embodiments of the present specification, based on the current Top-Down editing information uploaded by the browser side, the model data document corresponding to the current modeling operation is obtained to determine whether there is a modeling service corresponding to the model data document, which specifically includes:

[0072] The decision-making server receives the connection instructions from each browser side, and then connects the browser side to the current assembly data document according to the connection conditions corresponding to the current assembly data document. Then, the connection information between the browser side and the current assembly data document is recorded, and a unique initial modeling service is allocated to the browser side. The model data documents at all levels corresponding to the current assembly data document are loaded into the initial modeling service, where the model data document can be a part data document and an assembly data document. For example Figure 5 As shown, the assembly data document A1 may include a lower-level assembly data document A2 and the part data document P1 of the lower-level assembly data document A2. Then, when the user needs to perform Top-Down editing on the assembly data document A2 in the assembly data document A1, the model data document corresponding to the current modeling operation in the initial modeling service is obtained by parsing the current Top-Down editing information. Then, the decision-making server obtains the modeling services allocated to each browser side by parsing its own resource situation. Furthermore, it is queried whether there is a modeling service corresponding to the model data document among the modeling services allocated to each browser side.

[0073] In this process, the decision-making server connects the browser to the corresponding document according to the connection instruction and the connection conditions of the current assembly data document, so that only browsers that meet the connection conditions can connect to the corresponding data document, ensuring data security in the cloud CAD collaborative design process. By querying whether there is a modeling service corresponding to the model data document, it is possible to avoid reallocating the modeling service for the same document, reducing redundant operations in the system and improving the overall operation efficiency. In addition, it ensures that the operations of each user are based on the correct modeling service and model data document, improving the consistency and accuracy of operations. In multi-user collaborative design, the operations of all users on the same model data document are carried out within the framework of the same modeling service, avoiding design conflicts and errors caused by inconsistent operations.

[0074] S102: If there is a modeling service corresponding to the model data document, control the start of the current modeling operation according to the concurrent conflict operation process of the corresponding modeling service, and reuse the corresponding modeling service.

[0075] After determining whether the current decision-making server has a modeling service corresponding to the model data document based on the above step S101, if there is a modeling service corresponding to the model data document, then control the start of the current modeling operation according to the concurrent conflict operation process of the corresponding modeling service, so as to reuse the corresponding modeling service to execute the current modeling operation. In this process, the existing modeling service is reused, avoiding allocating a brand-new service instance for each new modeling operation, enabling these resources to be shared by multiple users or multiple operations, thus giving full play to the effectiveness of the resources and improving the utilization rate of the entire system resources. In addition, reusing the same modeling service can ensure that the operations of all users on the model data document are based on the same data source and processing logic. In this way, the modifications made by different users to the same part can be synchronized in a timely and accurate manner, avoiding data inconsistency problems caused by using different modeling services. And controlling the start of the modeling operation based on the concurrent conflict operation process can effectively coordinate the operations among multiple users, avoiding waiting and delay problems caused by operation conflicts.

[0076] Specifically, in one or more embodiments of this specification, controlling the start of the current modeling operation according to the operation process corresponding to the concurrent conflict of the corresponding modeling service and reusing the corresponding modeling service specifically includes the following process:

[0077] Based on the connection information corresponding to the modeling service, determine the multiple browser terminals corresponding to the corresponding modeling service. Then, determine whether there is a locking flag for the corresponding modeling service according to whether there is a modeling operation on the multiple browser terminals corresponding to the modeling service. If there is a locking flag, it is determined that there is a concurrent conflict in the corresponding modeling service, and the current modeling operation instruction needs to be added to the waiting queue corresponding to the corresponding modeling service, so as to sequentially execute the modeling operations in the waiting queue until the current modeling operation is started. When starting the current modeling operation, the above corresponding modeling service needs to be reused.

[0078] For example: In a certain scenario, according to the Top-Down editing information uploaded by the multiple browser terminals corresponding to the corresponding modeling service, the modeling operation types corresponding to each browser terminal and the assembly data documents corresponding to the model data documents of each browser terminal can be determined; among them, the modeling operation types include: direct operation type and Top-Down operation type. Then, according to the modeling operation types corresponding to each browser terminal and the assembly data documents corresponding to the model data documents of each browser terminal, the concurrent scenario types corresponding to the modeling service can be determined; among them, the concurrent scenario types include: concurrent scenarios across assembly data documents and concurrent scenarios with the same superior model data documents. That is, the concurrent scenario across assembly data documents is, for example, there are assembly data document 1 and assembly data document 2, both of which reference part data document 1. At the same time, users A and B perform Top-Down editing of part data document 1 in assembly data document 1 and assembly data document 2. The decision service end will lock and mark the status to ensure that only one user can enter this process at the same time. After user A enters the process, another user B will be prompted with the words "There is a user performing an operation, please execute later". Wait for user A to finish the execution, send the incremental data to other modeling services, and synchronize the rendering data to user B, then user B can initiate the modification again. In the concurrent scenario with the same superior model data document, for example, there are assembly document assembly data document 1 and part document part data document 1, where assembly data document 1 references part data document 1. User A operates on part data document 1 through Top-Down in assembly data document 1, and user B directly operates on part data document 1. According to the process, user A's operation on part data document 1 will try to reuse the modeling service of part data document 1. The same as the previous scenario, only one of them can enter the command execution process, and the other user is prompted with the words "There is a user performing an operation, please execute later". Wait until the command execution is completed before the operation can be performed.

[0079] In the above process, by determining multiple browser clients corresponding to the modeling service based on the connection information and judging whether there is a modeling operation and a locking flag, the system can accurately grasp the usage status of the modeling service. When there is a locking flag, the new modeling operation instruction is placed in the waiting queue, avoiding multiple users competing for the same modeling service resource simultaneously, enabling the resources to be reasonably allocated and efficiently utilized. Executing the modeling operations in the waiting queue in sequence ensures that each operation can be carried out in a stable environment, avoiding data inconsistency problems caused by concurrent operations. After each operation is completed, the system can accurately update and synchronize the data, ensuring that all users see the latest and most accurate data. Then, reusing the corresponding modeling service avoids creating a new service instance for each new modeling operation, reducing the resource overhead of the system.

[0080] S103: If there is no modeling service corresponding to the model data document, determine the current assembly data document corresponding to the model data document based on the Top-Down editing information, and create a copy of its modeling service as the modeling service corresponding to the model data document.

[0081] When there is no modeling service corresponding to the model data document, it is necessary to determine the current assembly data document corresponding to the model data document according to the Top-Down editing information, so as to create a copy of the modeling service of the current assembly data document as the modeling service corresponding to the model data document. For example, when a user performs Top-Down editing on assembly data document A2 in assembly data document A1, the current assembly data document corresponding to assembly data document A2 is assembly data document A1. Then, fork the modeling service of A1 as the modeling service of A2 and execute the command.

[0082] When creating a copy of the modeling service for the current assembly document, it is created based on the modeling service of the current assembly data document. It inherits the data and settings of the original service, ensuring the data consistency between the new model data document and the current assembly environment. And creating a copy of the modeling service does not require a large amount of additional resources to reconstruct the entire service environment. It can reuse some resources of the original service, reducing the consumption of system resources. In addition, in a multi-user collaborative design environment, different users may operate on different model data documents simultaneously. Creating a copy of the modeling service can provide an independent operation space for each user, avoiding operation conflicts between users.

[0083] S104: Execute the current modeling operation based on the corresponding modeling service to obtain incremental data corresponding to the current modeling operation.

[0084] Such as Figure 4As shown, after determining the modeling server corresponding to the current modeling operation, the current modeling operation will be executed according to this corresponding modeling server, so as to obtain the incremental data corresponding to the current modeling operation. Further, in one or more embodiments of this specification, before performing the modeling operation based on the corresponding modeling service and obtaining the incremental data corresponding to the modeling operation, the above step S103 has determined the corresponding modeling server. At this time, in order to synchronize the subsequent incremental data to the corresponding modeling service, the method further includes the following process:

[0085] First, record the address mapping between the modeling service of the current assembly data document and the modeling service corresponding to the model data document. Then, according to the address mapping, determine the service context path of the modeling service of the current assembly data document and the model data document. Then, according to the service context path, establish an inter-service communication record. The inter-service communication record provides a bridge for the collaboration between different modeling services. In the Top-Down design mode, the modeling services of the assembly data document and the model data document need to frequently exchange data and information. By establishing a communication record, these services can work together better to complete complex design tasks.

[0086] Specifically, in one or more embodiments of this specification, performing the current modeling operation based on the corresponding modeling service and obtaining the incremental data corresponding to the current modeling operation specifically includes the following process:

[0087] First, determine the original scene data corresponding to the modeling operation according to the model data document, and execute the current modeling operation through the corresponding modeling service to obtain the current scene data corresponding to the modeling operation. At this time, by comparing the original scene data with the current scene data, the incremental data corresponding to the current modeling operation can be determined. Determining the incremental data by comparing the original scene data and the current scene data can accurately identify the specific changes brought about by the modeling operation. This enables the system to only process and store the data that actually changes, rather than the entire scene data, greatly reducing the data transmission volume and storage cost.

[0088] Among them, after determining the incremental data corresponding to the current modeling operation, the method further includes:

[0089] Take the first data version information corresponding to the model data document and the second data version information of the incremental data as version verification information. For example, in the scenario where assembly data file 1 and assembly data document 2 reference model data document 1, users A and B respectively open assembly data document 1 and assembly data document 2. Similarly, the server corresponds to two modeling services for assembly data document 1 and assembly data document 2. Both assembly data document 1 and assembly data document 2 record the same first data version V1 for part data document 1. After user A performs Top-Down editing on part data document 1 in assembly data document 1, the incremental data contains the latest second data version V2 and the corresponding first version information V1 as verification information. This is to facilitate verifying whether the version information in the incremental data is equivalent to the first version information during subsequent data pushing.

[0090] Taking the first data version information of the model data document and the second data version information of the incremental data as version verification information provides a clear version record for the design process. When multiple users operate on the same model data document, by comparing the version information, it can be determined which operations are the latest and which may have conflicts. Therefore, the version verification information helps to avoid data overwriting and duplicate work, improving the efficiency and quality of collaborative work.

[0091] Furthermore, during the design process, users may input some data that does not conform to geometric rules or structural logic, resulting in an unreasonable model. Therefore, to remove this redundant and incorrect data and thus reduce the transmission cost of invalid incremental data. In one or more embodiments of this specification, after comparing the original scene data with the current scene data to determine the incremental data corresponding to the current modeling operation, the method may further include the following process:

[0092] First, classify the incremental data according to the attribute information and change type of the incremental data to obtain structural incremental data and non-structural incremental data; among them, it should be noted that the attribute information includes: entities, elements, views, etc., and the change types include: addition type, deletion type, and modification type. It can be understood that structural incremental data is data related to changes in the model's geometric structure. For example, in mechanical part design, data generated by operations such as adding a new entity, deleting a certain element, or modifying the size of an entity all belong to structural incremental data. And data related to the non-geometric attributes of the model. For example, data generated by operations such as modifying the color of an entity, adjusting the viewing angle of a view, or adding annotation information is non-structural incremental data.

[0093] After classifying the incremental data, it is necessary to determine the changed objects corresponding to the structural incremental data, so as to filter the structural incremental data according to the geometric rules corresponding to the changed objects and obtain the filtered structural incremental data. That is to say, it is necessary to parse the structural incremental data, that is, to extract the involved geometric elements such as points, lines, planes, solids, etc., and the operation types, etc. from the structural incremental data. Then, according to the extracted information, determine the specific changed objects corresponding to the structural incremental data, that is, the geometric elements that have changed in the modeling operation, and associate the relevant attribute information such as size, position, direction, etc. with each changed object. According to different geometric element types, define the corresponding basic geometric rules and project business rules, and match the attribute information of each changed object with the defined geometric rules. Check whether the changed object meets all applicable geometric rules. Filter the structural incremental data according to the result of the rule matching. If a changed object does not meet any geometric rule, remove the corresponding structural incremental data from the dataset. Then, determine the connectivity relationship and adjacency relationship of the filtered structural incremental data, and screen the filtered structural incremental data according to the connectivity relationship and adjacency relationship to obtain the first incremental data. That is, it can be determined whether the incremental data can form a whole through the connectivity relationship, and whether the incremental data is continuous through the adjacency relationship, so as to filter out the obvious error data and obtain the first incremental data.

[0094] Then, extract the non-structural information directly associated with the entities, elements or views involved in the first incremental data to obtain the second incremental data, and screen the non-structural incremental data based on the rendering conditions corresponding to the model data document to complement the second incremental data to ensure that the second incremental data contains all necessary information. Then summarize the first incremental data and the complemented second incremental data to determine the effective incremental data corresponding to the current modeling operation.

[0095] By filtering the structural incremental data according to the geometric rules and screening using the connectivity relationship and adjacency relationship, it is possible to effectively identify and eliminate the data that does not meet the requirements. At the same time, when processing the non-structural incremental data, screening and complementing based on the rendering conditions ensure the consistency between the non-structural information and the structural information, avoiding data conflicts or inconsistencies. In this process, in a multi-user collaborative design environment, the data transmission volume directly affects the system performance and response speed. By filtering and screening the invalid incremental data and only transmitting and processing the valid data, the data transmission volume is greatly reduced.

[0096] S105: Obtain the Top-Down editing state of the browser side, so as to synchronize the incremental data based on the corresponding push policy according to the Top-Down editing state.

[0097] To solve the problem that during Top-Down design, due to data isolation between modeling services, data between models cannot be synchronized in a timely manner, resulting in loss of modifications. After this specification retrieves the incremental data corresponding to the modeling operation by reusing the modeling service, in order to achieve timely synchronization of the incremental data, it will obtain the Top-Down editing state on the browser side, and then synchronize the incremental data based on the corresponding push policy according to the Top-Down editing state. Specifically, in one or more embodiments of this specification, obtaining the Top-Down editing state on the browser side to synchronize the incremental data based on the corresponding push policy according to the Top-Down editing state specifically includes the following process:

[0098] First, obtain the Top-Down editing state on the browser side. Among them, it should be noted that the Top-Down editing state includes: the usage state and the exit state. When the Top-Down editing state on the browser side is the usage state, the incremental data needs to be pushed to other modeling services in the link according to the communication record corresponding to the relevant modeling service, and the incremental data is pushed according to the user connection record corresponding to the modeling service and the other modeling service. When the Top-Down editing state on the browser side is the exit state, it is necessary to confirm whether there are still users using this modeling service. If there are still users using this modeling service, at this time, the incremental data needs to be pushed to the current assembly data document corresponding to the model data document. When it is determined that there are no users using this modeling service, it is necessary to save the modeling data of the corresponding modeling service and push the modeling data to the current assembly data document.

[0099] When the browser side is in the usage state as described above, pushing the incremental data according to the communication record and user connection record of the modeling service can ensure that the data reaches the required modeling service and the user side in real time and accurately. In a multi-user collaborative design environment, the operations of different users will generate a large amount of incremental data. This accurate push method avoids the blind transmission of data, reduces network latency and data redundancy, and improves the efficiency of data synchronization. In the exit state, when there is no user connection to the modeling service, the modeling data is saved and pushed to the current assembly data document, preventing data loss caused by user exit.

[0100] Furthermore, in one or more embodiments of this specification, after pushing the incremental data, the method further includes the following process:

[0101] Obtain the verification information of the incremental data, and then match the first data version information in the verification information with the data version information corresponding to the model data documents of other modeling services. If the two are consistent, then update the model data documents of other modeling services to the second data version information. If they are inconsistent, then reload the incremental data of other modeling services according to the preset loading policy. If it is determined that the Top-Down editing state on the browser side is the exit state, and it is determined that the modeling service corresponding to the model data document does not have a connected browser side, that is, when there is no user connection, the corresponding modeling service will be deleted.

[0102] By obtaining the verification information of the incremental data and matching the first data version information therein with the data version information corresponding to the model data documents of other modeling services, it can ensure that the data versions of the model data documents in each modeling service are consistent. In a multi-user collaborative design environment, the operations of different users may lead to differences in data versions. Timely updating of the data version can avoid design conflicts and errors caused by inconsistent versions. When the data version information is inconsistent, reloading the incremental data of other modeling services according to the preset loading policy can timely correct possible data errors or inconsistencies, which helps to ensure that the data in all modeling services is up-to-date and accurate. When it is determined that the Top-Down editing state on the browser side is the exit state and there is no user connection, deleting the corresponding modeling service can release system resources, thus avoiding occupying a large amount of system resources and affecting the performance of the system.

[0103] As Figure 6 shown, the embodiments of this specification provide a structural schematic diagram of a data synchronization device for cloud CAD. In one or more embodiments of this specification, a data synchronization device for cloud CAD, the device includes:

[0104] At least one processor; and,

[0105] A memory communicatively connected to the at least one processor; wherein,

[0106] The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute any of the above-mentioned methods.

[0107] As Figure 7 shown, the embodiments of this specification provide a structural schematic diagram of a non-volatile storage medium. As Figure 7 can be seen, in one or more embodiments of this specification, a non-volatile storage medium stores computer-executable instructions 701, and the computer-executable instructions 701 can execute any of the above-mentioned methods.

[0108] Each embodiment in this specification is described in a progressive manner. For the same or similar parts among the embodiments, reference can be made to each other, and the key point of each embodiment is to illustrate the differences from other embodiments. In particular, for the embodiments of the apparatus, device, and non-volatile computer storage medium, since they are basically similar to the method embodiments, the description is relatively simple, and reference can be made to the corresponding parts of the method embodiments for relevant details.

[0109] The specific embodiments of this specification have been described above. Other embodiments are within the scope of the appended specification. In some cases, the actions or steps recorded in the specification can be executed in a different order from that in the embodiments and still achieve the desired results. Additionally, the processes depicted in the drawings do not necessarily require the specific order or sequential order shown to achieve the desired results. In certain embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0110] The above description is only for one or more embodiments of this specification and is not intended to limit this specification. For those skilled in the art, various modifications and changes can be made to one or more embodiments of this specification. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of one or more embodiments of this specification shall be included within the scope of this specification.

Claims

1. A cloud CAD data synchronization method, characterized in that: The method comprises: Based on the current Top-Down editing information uploaded by the browser, a model data document corresponding to the current modeling operation is obtained to determine whether there is a modeling service corresponding to the model data document; If there is a modeling service corresponding to the model data document, then according to the concurrent conflict operation process of the corresponding modeling service, the start of the current modeling operation is controlled, and the corresponding modeling service is reused; If there is no modeling service corresponding to the model data document, determining the current assembly data document corresponding to the model data document based on the Top-Down editing information to create a copy of its modeling service as the modeling service corresponding to the model data document; Execute the current modeling operation based on the corresponding modeling service to obtain incremental data corresponding to the current modeling operation; Acquire the Top-Down editing state of the browser end, so as to synchronize the incremental data based on the corresponding push strategy according to the Top-Down editing state; Based on the current Top-Down editing information uploaded by the browser, a model data document corresponding to the current modeling operation is obtained to determine whether there is a modeling service corresponding to the model data document, specifically including: The decision server receives connection instructions from each browser end, and connects the browser end to the current assembly data document according to the connection conditions corresponding to the connection instructions and the current assembly data document; Recording the connection information between the browser and the current assembly data document, and allocating a unique initial modeling service to the browser; Loading the model data documents of each level corresponding to the current assembly data document into the initial modeling service; Obtaining a model data document corresponding to the current modeling operation in the initial modeling service by parsing the current Top-Down editing information; By analyzing the resource situation of the decision server, the modeling service allocated to each browser is obtained; Inquiring whether there is a modeling service corresponding to the model data document among the modeling services allocated to each browser end; Acquiring the top-down editing state of the browser end, so as to synchronize the incremental data based on the corresponding push strategy according to the top-down editing state, specifically includes: Acquire the Top-Down editing state of the browser end; wherein the Top-Down editing state includes: use state and exit state; When the Top-Down editing state of the browser is in use, the incremental data is pushed to other modeling services in the link according to the communication record corresponding to the corresponding modeling service, and the incremental data is pushed according to the user connection record corresponding to the modeling service and the other modeling services; When the Top-Down editing state of the browser end is the exit state, determining whether the modeling service corresponding to the model data document has a connected browser end; If so, pushing the incremental data to the current assembly data document corresponding to the model data document; If not, the modeling data of the corresponding modeling service is saved, and the modeling data is pushed to the current assembly data document.

2. A cloud CAD data synchronization method according to claim 1, characterized in that: According to the operation flow corresponding to the concurrency conflict of the corresponding modeling service, controlling the start of the current modeling operation and reusing the corresponding modeling service specifically includes: Determining multiple browsers corresponding to the corresponding modeling service according to the connection information corresponding to the modeling service; Determining whether a lock mark exists for the corresponding modeling service according to whether modeling operations exist on multiple browsers corresponding to the modeling service; If the lock mark exists, it is determined that the corresponding modeling service has a concurrency conflict, and the current modeling operation instruction is added to the waiting queue corresponding to the corresponding modeling service; The modeling operations in the waiting queue are executed sequentially to start the current modeling operation and reuse the corresponding modeling service.

3. A cloud CAD data synchronization method according to claim 1, characterized in that: Before performing the modeling operation based on the corresponding modeling service and obtaining incremental data corresponding to the modeling operation, the method further includes: Recording the address mapping between the modeling service of the current assembly data document and the modeling service corresponding to the model data document; Determining, according to the address mapping, a modeling service of the current assembly data document and a service context path of the model data document; Based on the service context path, an inter-service communication record is established.

4. A cloud CAD data synchronization method according to claim 1, characterized in that: Executing the current modeling operation based on the corresponding modeling service to obtain incremental data corresponding to the current modeling operation specifically includes: Determine original scene data corresponding to the modeling operation based on the model data document, and execute the current modeling operation through the corresponding modeling service to obtain current scene data corresponding to the modeling operation; Comparing the original scene data with the current scene data to determine incremental data corresponding to the current modeling operation; After determining the incremental data corresponding to the current modeling operation, the method further includes: The first data version information corresponding to the model data document and the second data version information of the incremental data are used as version verification information.

5. A cloud CAD data synchronization method according to claim 4, characterized in that: After comparing the original scene data with the current scene data to determine the incremental data corresponding to the current modeling operation, the method further includes: According to the attribute information and change type of the incremental data, the incremental data is classified to obtain structure incremental data and non-structure incremental data; wherein the attribute information includes: entity, element, view, and the change type includes: addition type, deletion type and modification type; Determine the change object corresponding to the structural incremental data, filter the structural incremental data according to the geometric rule corresponding to the change object, and obtain filtered structural incremental data; Determine the connectivity relationship and the adjacency relationship of the filtered structural incremental data, and screen the filtered structural incremental data according to the connectivity relationship and the adjacency relationship to obtain first incremental data; Extracting non-structure incremental data related to the first incremental data to obtain second incremental data, and filtering the non-structure incremental data based on the rendering condition corresponding to the model data document to complete the second incremental data; The first incremental data and the completed second incremental data are aggregated to determine valid incremental data corresponding to the current modeling operation.

6. A cloud CAD data synchronization method according to claim 4, characterized in that: After pushing the incremental data, the method further includes: Acquire verification information of the incremental data to match the data version information corresponding to the model data document of other modeling services according to the first data version information in the verification information; If they are consistent, updating the model data document of the other modeling service to the second data version information; If they are inconsistent, reload the incremental data of the other modeling services based on the preset loading strategy; If it is determined that the Top-Down editing state of the browser end is an exit state, and it is determined that the modeling service corresponding to the model data document has no connected browser end, the corresponding modeling service is deleted.

7. A data synchronization device for cloud CAD, characterized in that: The device comprises: at least one processor; and, a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can: execute any of the methods described in claims 1-6.

8. A non-volatile storage medium storing computer executable instructions, characterized in that: The computer executable instructions can execute the method described in any one of claims 1 to 6.

Citation Information

Patent Citations

  • Webpage based BIM (building information modeling) sharing method and system

    CN107784162A

  • Methods and program products for efficient communication of shared file modifications during a collaboration event

    US8458283B1