Data synchronization method and device of cloud CAD and medium
By reusing or creating modeling services in cloud CAD, performing and synchronizing incremental data of Top-Down editing operations, the information omission and data synchronization problems in traditional CAD software collaborative design are solved, and efficient and accurate multi-user collaborative design is achieved.
Patent Information
- Application Number
- CN202510286436.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-12
- Publication Date
- 2025-04-08
- Estimated Expiration
- 2045-03-12
AI Technical Summary
Traditional CAD software is prone to information omissions or errors during multi-user collaborative design, and the communication cost is high; while the current cloud CAD is in the model data storage center, it may lead to data access conflicts and overwrites, resulting in the loss of user-modified data, and the data synchronization between models is not timely during Top-Down design.
Upload Top-Down editing information through the browser, obtain the model data document and determine 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.
It effectively avoids data conflicts and overwrites during multi-user operations, ensures data consistency and operation accuracy, improves system resource utilization, and realizes timely synchronization of incremental data.
Smart Images

Figure CN119782433A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of data synchronization technology, and in particular to a method, device and medium for data synchronization of cloud CAD. Background Art
[0002] In the process of CAD product development 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 summarizing personnel need to manually collect and organize this information and update it one by one to the original model. In this process, it is easy for information to be missed or wrong, and the communication cost is extremely high. Once a problem occurs in a certain link, it takes a lot of time to investigate and correct it.
[0003] To address the shortcomings of traditional CAD software, current cloud CAD introduces real-time collaborative design, which supports multiple users to operate the same 3D model or document online at the same time, without the need for one person to summarize and update like traditional CAD, greatly improving collaboration efficiency. However, during the modeling process, the current cloud CAD stores model data in a unique modeling service process. At this time, since the data is centrally stored in one modeling service process, data access conflicts and overwriting may occur, resulting in the loss of user-modified data. And when it comes to Top-Down design, due to the isolation of data between modeling services, data between models cannot be synchronized in time. Summary of the invention
[0004] In order to solve the above technical problems, one or more embodiments of this specification provide a cloud CAD data synchronization method, device and medium.
[0005] One or more embodiments of this specification adopt the following technical solutions: One or more embodiments of this specification provide a cloud CAD data synchronization method, the method comprising: 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; The Top-Down editing state of the browser is obtained, so as to synchronize the incremental data based on the corresponding push strategy according to the Top-Down editing state.
[0006] Optionally, in one or more embodiments of the present specification, based on the current Top-Down editing information uploaded by the browser, obtaining a model data document corresponding to the current modeling operation to determine whether there is a modeling service corresponding to the model data document specifically includes: 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; The method is to query whether there is a modeling service corresponding to the model data document among the modeling services allocated to each browser.
[0007] Optionally, in one or more embodiments of the present specification, 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.
[0008] Optionally, in one or more embodiments of the present specification, 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.
[0009] Optionally, in one or more embodiments of the present specification, performing 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.
[0010] Optionally, in one or more embodiments of the present 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: According to the attribute information and change type of the incremental data, the incremental data is classified to obtain structured incremental data and unstructured 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.
[0011] Optionally, in one or more embodiments of the present specification, obtaining 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.
[0012] Optionally, in one or more embodiments of the present specification, 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 does not have a connected browser end, the corresponding modeling service is deleted.
[0013] One or more embodiments of the present specification provide a cloud CAD data synchronization device, the device comprising: 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 to enable the at least one processor to: execute any of the above-mentioned methods.
[0014] One or more embodiments of the present specification provide a non-volatile computer storage medium storing computer executable instructions, wherein the computer executable instructions are configured to execute any of the above-described methods.
[0015] At least one of the above technical solutions adopted in the embodiments of this specification can achieve the following beneficial effects: In the case of the existence of corresponding modeling services, the concurrent conflict operation process is used to control the start of operations to avoid conflicts when multiple users operate on the same model at the same time, ensuring data consistency and operation accuracy. By reusing existing modeling services or creating copies of modeling services, it is avoided to create a new service instance for each modeling operation, reducing the repeated creation and consumption of resources and greatly improving the utilization of system resources. Incremental data is obtained by executing modeling operations, avoiding the transmission pressure caused by the transmission of full data, and then targeted data synchronization is performed according to the different Top-Down editing states on the browser side, realizing effective management of incremental data, ensuring real-time update of data between users, and ensuring the real-time and consistency of modeling data files between different users. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] In order to more clearly illustrate the technical solutions in the embodiments of this specification or the prior art, the following briefly introduces the drawings required for use in the embodiments or the prior art description. Obviously, the drawings described below are only some embodiments recorded in this specification. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative labor. In the drawings: Figure 1 A schematic diagram of a data synchronization method for cloud CAD provided in an embodiment of this specification; Figure 2 A schematic diagram of an execution flow of an existing cloud CAD architecture system device provided in an embodiment of this specification; Figure 3 A schematic diagram of a collaborative design process of a cloud CAD architecture provided in an embodiment of this specification; Figure 4 A schematic diagram of the overall process of cloud CAD data synchronization provided by an embodiment of this specification; Figure 5 A schematic diagram of a multi-model document level provided in an embodiment of this specification; Figure 6A schematic diagram of the structure of a cloud CAD data synchronization device provided in an embodiment of this specification; Figure 7 A schematic diagram of the structure of a non-volatile storage medium provided in an embodiment of this specification. DETAILED DESCRIPTION
[0017] The embodiments of this specification provide a cloud CAD data synchronization method, device and medium.
[0018] 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 drawings in the embodiments of this specification. Obviously, the described embodiments are only part of the embodiments of this specification, not all of the embodiments. Based on the embodiments of this specification, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of this specification.
[0019] Depend on Figure 1 It can be seen that the embodiment of this specification provides a schematic diagram of a cloud CAD data synchronization method flow chart. Figure 1 It can be seen that in one or more embodiments of this specification, a cloud CAD data synchronization method specifically includes the following steps: S101: 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.
[0020] like Figure 2 As shown in the figure, in the existing CAD cloud architecture collaborative design execution process, the process is that user A connects to the model, and records the user's connection record on the decision server cluster side, and the decision server allocates a unique modeling service, and the modeling service loads all the data in the modeling process from the database. Then each user selects the function command to be executed on the modeling page on 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 is executed, the data is pushed 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 the data isolation between the modeling services, the data between the models cannot be synchronized in time, resulting in the problem of modification loss.
[0021] Therefore, in order to avoid the problems of reading with a single modeling service, it is necessary to realize the collaborative operation of the same model by multiple users and multiple terminals, such as Figure 3 In the embodiment of this specification shown, based on the current Top-Down editing information uploaded by the browser, 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. Among them, the Top-Down editing information that needs to be explained 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 multi-user sharing of the modeling service while synchronizing the data.
[0022] Specifically, in one or more embodiments of the present specification, based on the current Top-Down editing information uploaded by the browser, obtaining 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 includes: The decision server receives the connection instructions of each browser, and connects the browser to the current assembly data document according to the connection conditions corresponding to the connection instructions and the current assembly data document. Then the connection information between the browser and the current assembly data document is recorded, and a unique initial modeling service is allocated to the browser. The model data documents of all levels corresponding to the current assembly data document are loaded into the initial modeling service, where the model data documents can be part data documents and assembly data documents, such as Figure 5 The assembly data document A1 shown may include a subordinate assembly data document A2 and a part data document P1 of the subordinate 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 server obtains the modeling service allocated to each browser terminal by parsing its own resource situation. Then, it queries whether there is a modeling service corresponding to the model data document in the modeling service allocated to each browser terminal.
[0023] In this process, the decision server connects the browser to the corresponding document according to the connection instructions and the connection conditions of the current assembly data document, so that only the browser that meets the connection conditions is connected to the corresponding data document, ensuring the 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 repeated allocation of modeling services for the same document, reduce redundant operations of the system, and improve the overall operating efficiency. In addition, it ensures that each user's operation is based on the correct modeling service and model data document, improving the consistency and accuracy of the operation. In multi-user collaborative design, all users' operations on the same model data document are performed under the framework of the same modeling service, avoiding design conflicts and errors caused by inconsistent operations.
[0024] S102: If there is a modeling service corresponding to the model data document, then according to the concurrent conflict operation flow of the corresponding modeling service, the start of the current modeling operation is controlled, and the corresponding modeling service is reused.
[0025] After determining whether the current decision 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 the startup of the current modeling operation is controlled according to the concurrent conflict operation process of the corresponding modeling service, so that the corresponding modeling service is reused to perform the current modeling operation. In this process, the existing modeling service is reused to avoid allocating a new service instance for each new modeling operation, so that these resources can be shared by multiple users or multiple operations, thereby giving full play to the efficiency of resources and improving the utilization rate of the entire system resources. In addition, reusing the same modeling service can ensure that all users' operations on the model data document are based on the same data source and processing logic. In this way, the modifications of different users to the same part can be synchronized in a timely and accurate manner, avoiding the problem of data inconsistency caused by using different modeling services. And controlling the startup of the modeling operation based on the concurrent conflict operation process can effectively coordinate the operations between multiple users and avoid waiting and delay problems caused by operation conflicts.
[0026] Specifically, in one or more embodiments of the present specification, 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 the following process: According to the connection information corresponding to the modeling service, the multiple browser terminals corresponding to the corresponding modeling service are determined. Then, according to whether the multiple browser terminals corresponding to the modeling service have modeling operations, it is determined whether the corresponding modeling service has a lock mark. If there is a lock mark, it is determined that there is a concurrency 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 execute the modeling operations in the waiting queue in sequence until the current modeling operation is started. When starting the current modeling operation, the corresponding modeling service needs to be reused.
[0027] For example: in a certain scenario, according to the Top-Down editing information uploaded by multiple browsers corresponding to the corresponding modeling service, the modeling operation type corresponding to each browser and the assembly data document corresponding to the model data document of each browser can be determined; wherein, the modeling operation type includes: direct operation type and Top-Down operation type. Then, according to the modeling operation type corresponding to each browser and the assembly data document corresponding to the model data document of each browser, the concurrent scenario type corresponding to the modeling service can be determined; wherein, the concurrent scenario type includes: concurrent scenarios across assembly data documents and concurrent scenarios with the same upper-level model data documents. That is, the concurrent scenario across assembly data documents is, for example, there are assembly data documents 1 and assembly data documents 2, each of which references part data document 1. At the same time, users A and B perform Top-Down editing of part data document 1 in assembly data documents 1 and assembly data documents 2. The decision service will lock and mark the status to ensure that only one user can enter the process at the same time. After user A enters the process, another user B will be prompted with the words "a user is operating, please execute later". After waiting for user A to finish executing, sending incremental data to other modeling services, and synchronizing rendering data to user B, user B can re-initiate modification. In the concurrent scenario of the same superior model data document, for example, there is an assembly document assembly data document 1 and a 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 operates directly in part data document 1. According to the process, user A's operation on part data document 1 will try to use the modeling service of part data document 1. Both are in the same scenario as the previous one. Only one can enter the command execution process, and the other user is prompted with the words "A user is operating, please execute later". After waiting for the command to be executed, you can perform the operation.
[0028] In the above process, by determining the multiple browser terminals corresponding to the modeling service according to the connection information, and judging whether there are modeling operations and lock marks, the system can accurately grasp the usage status of the modeling service. When there is a lock mark, the new modeling operation instruction is placed in the waiting queue, which avoids multiple users competing for the same modeling service resources at the same time, so that resources can be reasonably allocated and efficiently utilized. The modeling operations in the waiting queue are executed in sequence, ensuring that each operation can be performed 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, the corresponding modeling service is reused to avoid creating a new service instance for each new modeling operation, reducing the system's resource overhead.
[0029] 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 to create a copy of its modeling service as the modeling service corresponding to the model data document.
[0030] If 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 modeling service copy of the current assembly data document as the modeling service corresponding to the model data document. For example, when the user performs Top-Down editing on the assembly data document A2 in the assembly data document A1, the current assembly data document corresponding to the assembly data document A2 is the assembly data document A1. At this time, the modeling service of A1 is forked as the modeling service of A2 and the command is executed.
[0031] When creating a copy of the modeling service of 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. In addition, creating a copy of the modeling service does not require a large amount of additional resources to rebuild 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 at the same time. Creating a copy of the modeling service can provide each user with an independent operation space, avoiding operation conflicts between users.
[0032] S104: Execute the current modeling operation based on the corresponding modeling service to obtain incremental data corresponding to the current modeling operation.
[0033] like Figure 4As shown, after determining the modeling server corresponding to the current modeling operation, the current modeling operation will be executed according to the corresponding modeling server, thereby obtaining the incremental data corresponding to the current modeling operation. Further, in one or more embodiments of the present specification, before executing 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 also includes the following process: 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, based on the address mapping, determine the service context path between the modeling service of the current assembly data document and the model data document, and then establish the inter-service communication record based on the service context path. 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 communication records, these services can work together better to complete complex design tasks together.
[0034] Specifically, in one or more embodiments of the present specification, executing the current modeling operation based on the corresponding modeling service to obtain the incremental data corresponding to the current modeling operation specifically includes the following process: First, the original scene data corresponding to the modeling operation is determined based on the model data document, and the current modeling operation is performed 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. By comparing the original scene data with the current scene data to determine the incremental data, the specific changes brought about by the modeling operation can be accurately identified. This allows the system to only process and store the data that has actually changed, rather than the entire scene data, greatly reducing the amount of data transmission and storage costs.
[0035] 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. For example, in the scenario where assembly data file 1 and assembly data document 2 reference model data document 1, users A and B open assembly data document 1 and assembly data document 2 respectively. Similarly, the server corresponds to two modeling services, assembly data document 1 and assembly data document 2. Assembly data document 1 and assembly data document 2 both 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. In the subsequent data push process, it is possible to verify whether the version information in the incremental data is equivalent to the first version information.
[0036] The first data version information of the model data document and the second data version information of the incremental data are used as version verification information to provide 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, version verification information helps to avoid data overwriting and duplication of work, and improve the efficiency and quality of collaborative work.
[0037] Furthermore, during the design process, the user may input some data that does not conform to geometric rules or structural logic, resulting in unreasonable models. Therefore, in order to remove these redundant and erroneous data and 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 also include the following process: First, the incremental data is classified according to its attribute information and change type to obtain structural incremental data and non-structural incremental data; it should be noted that the attribute information includes: entities, elements, views, etc., and the change types include: addition type, deletion type and change type. It can be understood that structural incremental data refers to data related to changes in the geometric structure of the model. For example, in the design of mechanical parts, the data generated by operations such as adding a new entity, deleting an element or changing the size of the entity are all structural incremental data. And the data related to the non-geometric attributes of the model. For example, the data generated by operations such as modifying the color of the entity, adjusting the viewing angle of the view, and adding annotation information are non-structural incremental data.
[0038] After the incremental data is classified, it is necessary to determine the change object corresponding to the structural incremental data, so as to filter the structural incremental data according to the geometric rules corresponding to the change object to obtain the filtered structural incremental data. In other words, it is necessary to parse the structural incremental data, that is, to extract the geometric elements involved, such as points, lines, surfaces, bodies, etc., and the operation type, etc. from the structural incremental data. Then, based on the extracted information, the specific change object corresponding to the structural incremental data, that is, the geometric element that has changed in the modeling operation, is determined, and its related attribute information, such as size, position, direction, etc., is associated with each change object. According to different geometric element types, the corresponding basic geometric rules and project business rules are defined, and for each change object, its attribute information is matched with the defined geometric rules. Check whether the change object meets all applicable geometric rules. According to the result of rule matching, filter the structural incremental data. If a change object does not meet any geometric rule, remove the corresponding structural incremental data from the data set. Then, determine the connectivity and adjacency of the filtered structural incremental data, and filter the filtered structural incremental data according to the connectivity and adjacency to obtain the first incremental data. That is, the connectivity relationship is used to determine whether the incremental data can form a whole, and the adjacency relationship is used to determine whether the incremental data are continuous, thereby achieving the screening and filtering of obviously erroneous data to obtain the first incremental data.
[0039] Then, extract the non-structural information directly related to 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 complete the second incremental data to ensure that the second incremental data contains all necessary information. Then summarize the first incremental data and the completed second incremental data to determine the valid incremental data corresponding to the current modeling operation.
[0040] By filtering the structural incremental data according to geometric rules and screening using connectivity and adjacency relationships, data that does not meet the requirements can be effectively identified and eliminated. At the same time, when processing non-structural incremental data, screening and completion based on rendering conditions ensure the consistency of non-structural information and structural information, avoiding data conflicts or inconsistencies. In this process, in a multi-user collaborative design environment, the amount of data transmission directly affects the performance and response speed of the system. By filtering and screening invalid incremental data, only valid data is transmitted and processed, which greatly reduces the amount of data transmission.
[0041] S105: 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.
[0042] In order to solve the problem of loss of modification due to data isolation between modeling services during Top-Down design, the data between models cannot be synchronized in time. After reusing the modeling service to obtain the incremental data corresponding to the modeling operation, this specification will achieve timely synchronization of the incremental data. The Top-Down editing state of the browser side will be obtained, so that the incremental data will be synchronized based on the corresponding push strategy according to the Top-Down editing state. Specifically, in one or more embodiments of this specification, the Top-Down editing state of the browser side is obtained, so that the incremental data will be synchronized based on the corresponding push strategy according to the Top-Down editing state, which specifically includes the following process: First, obtain the Top-Down editing state of the browser. It should be noted that the Top-Down editing state includes: use state and exit state. When the Top-Down editing state of the browser is in use state, it is necessary to 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. When the Top-Down editing state of the browser is in exit state, it is necessary to confirm whether there are still users using the modeling service. If there are still users using this modeling service, it is necessary to push the incremental data to the current assembly data document corresponding to the model data document. When it is determined that there are no users using the 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.
[0043] When the browser is in use, incremental data is pushed based on the communication records of the modeling service and the user connection records, which can ensure that the data reaches the required modeling service and user end in real time and accurately. In a multi-user collaborative design environment, operations of different users will generate a large amount of incremental data. This precise push method avoids blind transmission of data, reduces network delays 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 will be saved and pushed to the current assembly data document, preventing data loss due to user exit.
[0044] Further, in one or more embodiments of the present specification, after the incremental data is pushed, the method further includes the following process: The verification information of the incremental data is obtained, so as 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 the two are consistent, the model data document of other modeling services is updated to the second data version information. If they are inconsistent, the incremental data of other modeling services is reloaded according to the preset loading strategy. 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, that is, when there is no user connection, the corresponding modeling service will be deleted.
[0045] 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, the data versions of the model data documents in each modeling service can be guaranteed to be consistent. In a multi-user collaborative design environment, operations of different users may result in differences in data versions. Timely updating of data versions 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 strategy can promptly 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 in the exit state and there is no user connection, deleting the corresponding modeling service can release system resources, thereby avoiding occupying a large amount of system resources and affecting system performance.
[0046] like Figure 6 As shown, an embodiment of this specification provides a schematic diagram of the structure of a cloud CAD data synchronization device. In one or more embodiments of this specification, a cloud CAD data synchronization device includes: 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 perform any of the above methods.
[0047] like Figure 7 As shown, the present specification provides a schematic diagram of the structure of a non-volatile storage medium. Figure 7 It can be seen that in one or more embodiments of the present 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.
[0048] Each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the device, equipment, and non-volatile computer storage medium embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.
[0049] The above specific embodiments of this specification are described. Other embodiments are within the scope of the attached specification. In some cases, the actions or steps recorded in the specification can be performed in an order different from that in the embodiment and still achieve the desired results. In addition, the process depicted in the accompanying drawings does not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0050] The above is only one or more embodiments of this specification and is not intended to limit this specification. For those skilled in the art, one or more embodiments of this specification may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of one or more embodiments of this specification should be included in 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; The Top-Down editing state of the browser is obtained, so as to synchronize the incremental data based on the corresponding push strategy according to the Top-Down editing state.
2. A cloud CAD data synchronization method according to claim 1, characterized in that: 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; The method is to query whether there is a modeling service corresponding to the model data document among the modeling services allocated to each browser.
3. 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.
4. 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.
5. The data synchronization method of cloud CAD 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.
6. A cloud CAD data synchronization method according to claim 5, 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.
7. A cloud CAD data synchronization method according to claim 3, characterized in that: 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.
8. A cloud CAD data synchronization method according to claim 5, 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.
9. 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-8.
10. A non-volatile storage medium storing computer executable instructions, characterized in that: The computer executable instructions can execute the method according to any one of claims 1 to 8.
Citation Information
Patent Citations
Topology element name corresponding method for copy type synergic modeling system
CN101308518A
Webpage based BIM (building information modeling) sharing method and system
CN107784162A
Object chain data construction method and system in PDM system
CN111859481A
Three-dimensional CAD collaborative design method and system
CN116992514A
Editing method for decentralized collaborative three-dimensional modeling
CN117152350A