Method and device for synchronizing data based on BIM model, medium and equipment
Through distributed architecture and real-time communication protocol, the problems of data inconsistency and redundancy in BIM model management are solved, and the instant synchronous update and accuracy of BIM data are realized, which is suitable for the needs of complex projects.
Patent Information
- Application Number
- CN202411565899.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-05
- Publication Date
- 2024-12-13
- Estimated Expiration
- 2044-11-05
AI Technical Summary
Traditional BIM model management methods are difficult to achieve real-time update and synchronization of data, resulting in data inconsistency and redundancy, and it is difficult to support the needs of complex projects.
Adopt a distributed architecture based on BIM model to obtain the BIM main model and sub-model, set up real-time communication protocols, encode data through compression and encryption algorithms, set data mapping rules, integrate event listeners and conflict detection algorithms, and record change information using version control system .
Through distributed architecture design, data redundancy and conflict risks are reduced, instant synchronous update of BIM data is achieved, and data accuracy and management efficiency are improved.
Smart Images

Figure CN119135701A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of data processing technology, and in particular to a method, device, medium and equipment for synchronizing data based on a BIM model. Background Art
[0002] In the application process of Building Information Modeling (BIM) technology, data consistency and real-time updating have always been important challenges faced by the industry. Traditional BIM model management methods usually adopt a centralized data storage and update strategy, that is, all BIM data are stored on a central server and managed and updated by professionals. However, with the expansion of project scale and complexity, all BIM data in the centralized data management method are stored on one server. Different professions or departments may generate data redundancy or conflicts when editing and updating data, which increases the difficulty of data management and maintenance. As the project progresses, BIM data needs to be continuously updated to reflect the latest status of the project. However, due to delays in data transmission and processing, it is difficult for traditional centralized management methods to achieve real-time updating and synchronization of BIM data, resulting in data inconsistency and lag. Traditional centralized management methods are difficult to support the creation and management of multiple sub-models and are difficult to meet the needs of complex projects. Summary of the invention
[0003] In view of the above technical problems, the technical solution adopted by the present invention is a method for synchronizing data based on a BIM model, and the method comprises the following steps: A BIM main model and several BIM sub-models corresponding to the BIM main model are obtained, wherein the BIM sub-models include specific part models obtained from the BIM main model and information on professional fields corresponding to the specific part models.
[0004] Setting a real-time communication protocol, wherein the setting of the real-time communication protocol includes: confirming a protocol format, confirming a data transmission strategy, confirming an optimization strategy, and confirming a network adaptability mechanism.
[0005] According to the protocol format corresponding to the real-time communication protocol, the building data is encoded and decoded through compression algorithm and encryption algorithm.
[0006] The data mapping rules corresponding to each BIM sub-model are set, wherein the data mapping rules include building element identification, building data type matching strategy, data conversion logic, conditional logic and error handling strategy.
[0007] Based on the API or plug-in provided by the BIM software, event listeners are integrated in the BIM main model and each BIM sub-model to obtain building data change events.
[0008] According to the data mapping rules corresponding to the BIM sub-model and the acquired building data change events, the building data synchronization process is triggered and executed, wherein the building data synchronization process is to confirm the building data content and target model that need to be synchronized according to the type and scope of the building data change event, and the target model is the model acquired from the BIM main model and each BIM sub-model.
[0009] The conflict detection algorithm is confirmed based on the rule engine, wherein the conflict detection algorithm is a conditional judgment based on data or a regular expression based on business logic.
[0010] Get integrated version control system integrated into BIM software to record changeset information for each change in the version control system.
[0011] The present invention also provides a device for synchronizing data based on a BIM model, the device comprising: The first execution module is used to obtain a BIM main model and several BIM sub-models corresponding to the BIM main model, wherein the BIM sub-model includes a specific part model obtained from the BIM main model and information on professional fields corresponding to the specific part model.
[0012] The second execution module is used to set the real-time communication protocol, wherein the setting of the real-time communication protocol includes: confirming the protocol format, confirming the data transmission strategy, confirming the optimization strategy and confirming the network adaptability mechanism.
[0013] The third execution module is used to encode and decode the building data through a compression algorithm and an encryption algorithm according to a protocol format corresponding to the real-time communication protocol.
[0014] The fourth execution module is used to set data mapping rules corresponding to each BIM sub-model, wherein the data mapping rules include building element identification, building data type matching strategy, data conversion logic, conditional logic and error handling strategy.
[0015] The fifth execution module is used to integrate event listeners in the BIM main model and each BIM sub-model to obtain building data change events based on the API or plug-in provided by the BIM software.
[0016] The sixth execution module is used to trigger the execution of the building data synchronization process according to the data mapping rules corresponding to the BIM sub-model and the acquired building data change events, wherein the building data synchronization process is to confirm the building data content and target model that need to be synchronized according to the type and scope of the building data change events, and the target model is the model acquired from the BIM main model and each BIM sub-model.
[0017] The seventh execution module is used to confirm the conflict detection algorithm based on the rule engine, wherein the conflict detection is performed on the building data change event through the conflict detection algorithm.
[0018] The eighth execution module is used to obtain the integrated version control system integrated into the BIM software to record the change set information of each change in the version control system.
[0019] The present invention also provides a non-transitory computer-readable storage medium, in which at least one instruction or at least one program is stored, and the at least one instruction or at least one program is loaded and executed by a processor to implement the above-mentioned method for synchronizing data based on a BIM model.
[0020] The present invention also provides an electronic device, comprising a processor and the above-mentioned non-transitory computer-readable storage medium.
[0021] The present invention has at least the following beneficial effects: obtaining a BIM main model and several BIM sub-models corresponding to the BIM main model, setting a real-time communication protocol, encoding and decoding building data through a compression algorithm and an encryption algorithm according to a protocol format corresponding to the real-time communication protocol, setting a data mapping rule corresponding to each BIM sub-model, integrating an event listener in the BIM main model and each BIM sub-model based on an API or plug-in provided by the BIM software to obtain a building data change event, triggering the execution of a building data synchronization process according to the data mapping rule corresponding to the BIM sub-model and the obtained building data change event, confirming a conflict detection algorithm based on a rule engine, obtaining an integrated version control system integrated into the BIM software, so as to record the change set information of each change in the version control system. It can be seen that through a distributed architecture design, the system stores BIM data in a dispersed manner on multiple nodes, effectively reducing the risk of data redundancy and conflict, reducing time costs, avoiding resource waste, and realizing reasonable resource allocation. At the same time, by setting a real-time communication protocol, real-time data interaction between the BIM main model and each sub-model is guaranteed, and instant synchronous update of design data is realized, thereby improving the accuracy of BIM data. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0023] Figure 1 A flow chart of a method for synchronizing data based on a BIM model provided in Embodiment 1 of the present invention; Figure 2 This is a flow chart of S200 provided in the first embodiment of the present invention; Figure 3 This is a flow chart of S700 provided in the first embodiment of the present invention; Figure 4 A schematic diagram of the structure of a device for synchronizing data based on a BIM model provided in the second embodiment of the present invention; Figure 5 A schematic diagram of the structure of a second execution module 2 provided in Embodiment 2 of the present invention; Figure 6 This is a schematic diagram of the structure of the seventh execution module 7 provided in the second embodiment of the present invention. DETAILED DESCRIPTION
[0024] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present invention.
[0025] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or server that includes a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0026] Embodiment 1, This embodiment provides a method for synchronizing data based on a BIM model, the method comprising the following steps: Figure 1 As shown: S100, obtaining a BIM main model and several BIM sub-models corresponding to the BIM main model, wherein the BIM sub-models include specific part models obtained from the BIM main model and information on professional fields corresponding to the specific part models.
[0027] Specifically, the BIM sub-model can be understood as: the sub-model is a refinement of a specific part of the main model, such as the structural model, electromechanical model, curtain wall model, etc. Each sub-model inherits a part of the basic data from the main model, such as spatial position, building outline, etc., to ensure the consistency and coordination of all models in physical space. While inheriting the basic data of the main model, the sub-model also adds detailed information in the professional field corresponding to the inherited main model part, such as the size, material, load, etc. of the structural components, or the model, location, pipeline layout, etc. of the electromechanical equipment. These detailed information may only exist in the form of summary or reference in the main model, but are described in detail in the sub-model.
[0028] Specifically, the BIM main model is divided based on data structure, wherein the data structure is confirmed based on the type corresponding to the building data, for example: project level, building level, system level, component level and other data structures.
[0029] Specifically, S100 also includes the following steps: S101, obtaining a plurality of building elements in a BIM main model, attributes corresponding to each building element, and association relationships between the building elements.
[0030] Specifically, the building elements, the attributes corresponding to each building element, and the association relationship between the building elements are obtained through the automatic extraction function of the BIM software and manual settings, for example: clearly specifying which floors a certain wall is adjacent to, or which furniture and equipment a certain room contains, etc.
[0031] S102, verifying the BIM master model through a specific verification tool, wherein the verification includes: BIM model integrity verification, building element attribute verification, BIM model standardization verification and building data redundancy detection.
[0032] Specifically, the integrity of the BIM model is to ensure that all necessary model components (such as walls, floor slabs, beams and columns, etc.) have been created and correctly placed, and the standardization of the BIM model is to confirm that the BIM model complies with industry standards and modeling specifications, such as naming rules, layer settings, etc.
[0033] S103, correcting the abnormal data obtained by verification, wherein the abnormal data is incomplete data of the BIM model, incorrect attributes of building elements, non-standard BIM model and redundant building data.
[0034] S104: Re-check and review using the specific verification tool to obtain the BIM master model.
[0035] S200, setting a real-time communication protocol, wherein the setting of the real-time communication protocol includes: confirming a protocol format, confirming a data transmission strategy, confirming an optimization strategy, and confirming a network adaptability mechanism.
[0036] Specifically, the protocol format includes a message header format and a message body format, wherein the message header format includes a message type, a version number, a sender and a receiver identifier, and the message body format includes data content and data format.
[0037] Specifically, S200 also includes the following steps: Figure 2 As shown: S201, when the BIM master model and the BIM sub-model are connected and perform the first data synchronization, all data in the BIM master model are transferred to the corresponding BIM sub-model.
[0038] S202, when the BIM main model and the BIM sub-model establish a connection and it is not the first data synchronization, differential building data is obtained, wherein the differential building data is the changed data obtained when any data in the BIM main model and each BIM sub-model is compared with the historical snapshot or when any data in the BIM main model and each BIM sub-model is compared with the data of the last synchronization.
[0039] S203, sending the compressed difference building data to the BIM main model or the BIM sub-model through a data transmission protocol, and merging the difference building data and the local data to update the local model.
[0040] Specifically, the data transmission protocols include TCP / IP and WebSocket.
[0041] Specifically, the optimization strategy includes a data transmission frequency optimization strategy and a bandwidth occupancy optimization strategy.
[0042] Furthermore, the data transmission frequency optimization strategy is to perform full data synchronization when the BIM main model or the BIM sub-model is in idle time or low-load period, and at the same time, check and synchronize the data that has changed since the last synchronization at every preset time interval.
[0043] Furthermore, those skilled in the art know that the preset time can be selected according to actual needs, which falls within the protection scope of the present invention and will not be described in detail here.
[0044] Specifically, the bandwidth occupancy optimization strategy is to distribute data transmission requests to multiple servers for processing, and at the same time, introduce a cache mechanism in the data transmission process to cache frequently accessed data locally or on intermediate nodes.
[0045] Furthermore, when the data needs to be accessed again, it can be directly obtained from the cache without retransmission, thereby reducing bandwidth usage.
[0046] Specifically, the network adaptability mechanism includes a fault tolerance mechanism and a retransmission mechanism, wherein the mechanism includes redundancy design, error detection and recovery, and protocol layer fault tolerance.
[0047] Furthermore, the redundant design includes data redundancy and equipment redundancy. The data redundancy uses coding technology to add redundant information to the data. The equipment redundancy deploys spare devices, such as coding technology such as error correction codes, and spare devices such as routers.
[0048] Furthermore, the error detection and recovery is to detect errors in data transmission using a checksum or CRC method, and request data retransmission or switch to a backup device after the error is detected to restore normal data transmission or service.
[0049] Furthermore, the protocol layer fault tolerance includes implementing fault tolerance mechanisms at different layers of the network protocol, such as the data link layer, the network layer, the transport layer, and other different layers.
[0050] Specifically, those skilled in the art know that any retransmission mechanism setting in the prior art falls within the protection scope of the present invention and will not be described in detail here.
[0051] S300, encoding and decoding the building data through a compression algorithm and an encryption algorithm according to a protocol format corresponding to the real-time communication protocol.
[0052] Specifically, the building data is original data that needs to be transmitted.
[0053] Specifically, in a specific embodiment, S300 also includes the following steps: S301: The sender compresses the original building data to be transmitted using the LZ77 algorithm.
[0054] S302, the sender encrypts the compressed original building data using the AES encryption algorithm and sends it to the receiver.
[0055] S303: The receiving party decrypts the original building data encrypted by the AES encryption algorithm by using the AES decryption algorithm.
[0056] S304, the receiver decompresses the original building data decrypted by the AES decryption algorithm through the inverse process of the LZ77 algorithm to obtain the original building data sent by the sender.
[0057] Specifically, S300 also includes the following steps: S31, based on the type of encoding and decoding tasks and the concurrency requirements of the encoding and decoding tasks, confirm the concurrency mode, wherein the concurrency mode includes a multi-threaded processing mode and an asynchronous processing mode.
[0058] Specifically, S31 also includes the following steps: S311, split the encoding and decoding task into several tasks, each task corresponds to a separate thread.
[0059] S312, managing each thread through a thread pool, wherein the size of the thread pool is set according to the number of CPU cores of the system and the IO intensity of the encoding and decoding tasks.
[0060] Specifically, the size corresponding to the thread pool is represented by the number of threads, wherein for IO-intensive tasks, the number of threads can be set to about twice the number of CPU cores; for compute-intensive tasks, the number of threads can be set to the number of CPU cores plus one.
[0061] S313, partition the data to be encoded and decoded, and each thread processes data of one or more partitions.
[0062] Specifically, the asynchronous processing mode includes: using an asynchronous programming model to write encoding and decoding logic, using an event-driven approach to process encoding and decoding tasks, and introducing a message queue to implement asynchronous processing of encoding and decoding tasks.
[0063] S32, confirming the concurrent architecture, wherein the concurrent architecture includes: task splitting, thread pool management, data partitioning, synchronization and mutual exclusion.
[0064] S33, based on concurrent architecture, implements concurrent encoding and decoding logic through programming languages and frameworks.
[0065] S34, testing the concurrent encoding and decoding logic to verify the correctness and performance of the concurrent encoding and decoding logic.
[0066] Specifically, when the concurrent encoding and decoding logic does not meet the preset conditions, the concurrent architecture is optimized. Those skilled in the art know that the preset conditions, i.e., the range of correctness and performance, can be adjusted according to actual needs, which falls within the protection scope of the present invention and will not be repeated here.
[0067] Furthermore, those skilled in the art know that the selection of optimization processing methods can be carried out according to actual needs, all of which fall within the protection scope of the present invention and will not be repeated here, such as adjusting the thread pool size, optimizing the data partitioning strategy, etc.
[0068] From the above content, it can be seen that by setting up a real-time communication protocol, real-time data interaction between the BIM main model and each sub-model is guaranteed, instant and synchronous updating of design data is achieved, and the accuracy of BIM data is improved.
[0069] S400, setting data mapping rules corresponding to each BIM sub-model, wherein the data mapping rules include building element identification, building data type matching strategy, data conversion logic, conditional logic and error handling strategy.
[0070] S500, based on the API or plug-in provided by the BIM software, integrates event listeners in the BIM main model and each BIM sub-model to obtain building data change events.
[0071] S600, triggering the execution of the building data synchronization process according to the data mapping rules corresponding to the BIM sub-model and the acquired building data change events, wherein the building data synchronization process is to confirm the building data content and target model that need to be synchronized according to the type and scope of the building data change events, and the target model is the model acquired from the BIM main model and each BIM sub-model.
[0072] Specifically, the building data synchronization process can be understood as: when the BIM main model data is changed, the corresponding data in the BIM sub-model is changed synchronously; when the BIM sub-model data is changed, the corresponding data in the BIM main model is changed synchronously.
[0073] Specifically, the building data synchronization process can automatically perform operations such as data push, pull and merge to ensure that the data between the main model and the sub-model remains consistent.
[0074] S700, confirming a conflict detection algorithm based on a rule engine, wherein conflict detection is performed on building data change events through the conflict detection algorithm.
[0075] Specifically, S700 also includes the following steps: Figure 3 As shown: S701, confirming several conflict monitoring algorithms based on business requirements, wherein the conflict monitoring algorithms are conditional judgments based on data or regular expressions based on business logic.
[0076] S702, acquiring target data related to conflict detection, wherein the target data includes records in a database, objects in a memory, and responses from an external system.
[0077] S703, using a rule engine to match the conflict monitoring algorithm and the target data to obtain a target detection rule, wherein the target detection rule is a rule that is obtained from the conflict monitoring algorithm and can trigger a conflict.
[0078] S704, identifying the building data change event according to the target detection rule, obtaining the target conflict in the building data change event and resolving the target conflict, wherein the target conflict includes the data level and the business logic level.
[0079] Specifically, for example, two orders attempt to occupy the same inventory at the data level, and two approval processes have mutually exclusive conditions at the logical level.
[0080] Specifically, the method for resolving target conflicts includes manual strategies and automatic strategies, wherein the manual strategy provides users with operation options such as modifying data, merging data, and deleting data, and the automatic strategy is formulated based on business rules, priorities, and resource availability factors, for example: undoing operations, adjusting data, notifying relevant personnel, and other solutions.
[0081] Furthermore, those skilled in the art know that the selection of automatic strategies can be performed according to actual needs, all of which fall within the protection scope of the present invention and will not be described in detail here.
[0082] S800, obtain an integrated version control system integrated into the BIM software to record change set information of each change in the version control system.
[0083] From the above content, we can see that through distributed architecture design, the system stores BIM data in multiple nodes in a dispersed manner, effectively reducing the risk of data redundancy and conflict, reducing time costs, avoiding waste of resources, and achieving reasonable allocation of resources.
[0084] The first embodiment of the present invention can obtain a BIM main model and several BIM sub-models corresponding to the BIM main model, set a real-time communication protocol, encode and decode the building data through a compression algorithm and an encryption algorithm according to the protocol format corresponding to the real-time communication protocol, set a data mapping rule corresponding to each BIM sub-model, integrate an event listener in the BIM main model and each BIM sub-model based on the API or plug-in provided by the BIM software to obtain a building data change event, trigger the execution of the building data synchronization process according to the data mapping rule corresponding to the BIM sub-model and the obtained building data change event, confirm the conflict detection algorithm based on the rule engine, obtain the integrated version control system and integrate it into the BIM software, so as to record the change set information of each change in the version control system. It can be seen that through the distributed architecture design, the system stores BIM data in multiple nodes in a dispersed manner, effectively reduces the risk of data redundancy and conflict, reduces time cost, avoids resource waste, and realizes reasonable allocation of resources. At the same time, by setting a real-time communication protocol, real-time data interaction between the BIM main model and each sub-model is guaranteed, and instant synchronous update of design data is realized, thereby improving the accuracy of BIM data.
[0085] Embodiment 2: like Figure 4 As shown, this embodiment provides a device for synchronizing data based on a BIM model, the device comprising: The first execution module 1 is used to obtain a BIM main model and several BIM sub-models corresponding to the BIM main model, wherein the BIM sub-model includes a specific part model obtained from the BIM main model and information on professional fields corresponding to the specific part model.
[0086] Specifically, the BIM sub-model can be understood as: the sub-model is a refinement of a specific part of the main model, such as the structural model, electromechanical model, curtain wall model, etc. Each sub-model inherits a part of the basic data from the main model, such as spatial position, building outline, etc., to ensure the consistency and coordination of all models in physical space. While inheriting the basic data of the main model, the sub-model also adds detailed information in the professional field corresponding to the inherited main model part, such as the size, material, load, etc. of the structural components, or the model, location, pipeline layout, etc. of the electromechanical equipment. These detailed information may only exist in the form of summary or reference in the main model, but are described in detail in the sub-model.
[0087] Specifically, the BIM main model is divided based on data structure, wherein the data structure is confirmed based on the type corresponding to the building data, for example: project level, building level, system level, component level and other data structures.
[0088] Specifically, the first execution module 1 also includes: The first acquisition module is used to acquire a number of building elements in the BIM main model, the attributes corresponding to each building element and the association relationship between the building elements.
[0089] Specifically, the building elements, the attributes corresponding to each building element, and the association relationship between the building elements are obtained through the automatic extraction function of the BIM software and manual settings, for example: clearly specifying which floors a certain wall is adjacent to, or which furniture and equipment a certain room contains, etc.
[0090] The second acquisition module is used to verify the BIM master model through a specific verification tool, wherein the verification includes: integrity verification of the BIM model, property verification of building elements, standardization verification of the BIM model and redundancy detection of building data.
[0091] Specifically, the integrity of the BIM model is to ensure that all necessary model components (such as walls, floor slabs, beams and columns, etc.) have been created and correctly placed, and the standardization of the BIM model is to confirm that the BIM model complies with industry standards and modeling specifications, such as naming rules, layer settings, etc.
[0092] The third acquisition module is used to correct the abnormal data obtained through verification, wherein the abnormal data is incomplete data of the BIM model, incorrect attributes of building elements, non-standard BIM model and redundant building data.
[0093] The fourth acquisition module is used to re-check and review using the specific verification tool to obtain the BIM main model.
[0094] The second execution module 2 is used to set the real-time communication protocol, wherein the setting of the real-time communication protocol includes: confirming the protocol format, confirming the data transmission strategy, confirming the optimization strategy and confirming the network adaptability mechanism.
[0095] Specifically, the protocol format includes a message header format and a message body format, wherein the message header format includes a message type, a version number, a sender and a receiver identifier, and the message body format includes data content and data format.
[0096] Specifically, Figure 5 As shown, the second execution module 2 also includes: The data transmission module 21 is used to transmit all data in the BIM main model to the corresponding BIM sub-model when the BIM main model establishes a connection with the BIM sub-model and performs the first data synchronization.
[0097] The differential building data acquisition module 22 is used to acquire differential building data when the BIM main model and the BIM sub-model establish a connection and it is not the first data synchronization, wherein the differential building data is the changed data acquired when any data in the BIM main model and each BIM sub-model is compared with the historical snapshot or when any data in the BIM main model and each BIM sub-model is compared with the data of the last synchronization.
[0098] The data merging and acquiring module 23 is used to send the compressed difference building data to the BIM main model or the BIM sub-model through the data transmission protocol, and merge the difference building data with the local data to update the local model.
[0099] Specifically, the data transmission protocols include TCP / IP and WebSocket.
[0100] Specifically, the optimization strategy includes a data transmission frequency optimization strategy and a bandwidth occupancy optimization strategy.
[0101] Furthermore, the data transmission frequency optimization strategy is to perform full data synchronization when the BIM main model or the BIM sub-model is in idle time or low-load period, and at the same time, check and synchronize the data that has changed since the last synchronization at every preset time interval.
[0102] Furthermore, those skilled in the art know that the preset time can be selected according to actual needs, which falls within the protection scope of the present invention and will not be described in detail here.
[0103] Specifically, the bandwidth occupancy optimization strategy is to distribute data transmission requests to multiple servers for processing, and at the same time, introduce a cache mechanism in the data transmission process to cache frequently accessed data locally or on intermediate nodes.
[0104] Furthermore, when the data needs to be accessed again, it can be directly obtained from the cache without retransmission, thereby reducing bandwidth usage.
[0105] Specifically, the network adaptability mechanism includes a fault tolerance mechanism and a retransmission mechanism, wherein the mechanism includes redundancy design, error detection and recovery, and protocol layer fault tolerance.
[0106] Furthermore, the redundant design includes data redundancy and equipment redundancy. The data redundancy uses coding technology to add redundant information to the data. The equipment redundancy deploys spare devices, such as coding technology such as error correction codes, and spare devices such as routers.
[0107] Furthermore, the error detection and recovery is to detect errors in data transmission using a checksum or CRC method, and request data retransmission or switch to a backup device after the error is detected to restore normal data transmission or service.
[0108] Furthermore, the protocol layer fault tolerance includes implementing fault tolerance mechanisms at different layers of the network protocol, such as the data link layer, the network layer, the transport layer, and other different layers.
[0109] Specifically, those skilled in the art know that any retransmission mechanism setting in the prior art falls within the protection scope of the present invention and will not be described in detail here.
[0110] The third execution module 3 is used to encode and decode the building data through a compression algorithm and an encryption algorithm according to the protocol format corresponding to the real-time communication protocol.
[0111] Specifically, in a specific embodiment, the third execution module 3 further includes: The first intermediate module is used by the sender to compress the original building data to be transmitted through the LZ77 algorithm.
[0112] The second intermediate module is used by the sender to encrypt the compressed original building data through the AES encryption algorithm and then send it to the receiver.
[0113] The third intermediate module is used for the receiver to decrypt the original building data encrypted by the AES encryption algorithm by using the AES decryption algorithm.
[0114] The fourth intermediate module is used for the receiver to decompress the original building data decrypted by the AES decryption algorithm through the inverse process of the LZ77 algorithm to obtain the original building data sent by the sender.
[0115] Specifically, the third execution module 3 also includes: The concurrent mode acquisition module is used to confirm the concurrent mode based on the type of encoding and decoding tasks and the concurrent requirements of the encoding and decoding tasks, wherein the concurrent mode includes a multi-threaded processing mode and an asynchronous processing mode.
[0116] Specifically, the concurrent mode acquisition module also includes: The first key module is used to split the encoding and decoding task into several tasks, each task corresponds to a separate thread.
[0117] The second key module is used to manage each thread through a thread pool, wherein the size of the thread pool is set according to the number of CPU cores in the system and the IO intensity of the encoding and decoding tasks.
[0118] Specifically, the size corresponding to the thread pool is represented by the number of threads, wherein for IO-intensive tasks, the number of threads can be set to about twice the number of CPU cores; for compute-intensive tasks, the number of threads can be set to the number of CPU cores plus one.
[0119] The third key module is used to partition the data to be encoded and decoded, and each thread processes the data of one or more partitions.
[0120] Specifically, the asynchronous processing mode includes: using an asynchronous programming model to write encoding and decoding logic, using an event-driven approach to process encoding and decoding tasks, and introducing a message queue to implement asynchronous processing of encoding and decoding tasks.
[0121] The concurrent architecture acquisition module is used to confirm the concurrent architecture, wherein the concurrent architecture includes: task splitting, thread pool management, data partitioning, synchronization and mutual exclusion.
[0122] The encoding and decoding logic acquisition module is used to implement concurrent encoding and decoding logic based on the concurrent architecture through programming languages and frameworks.
[0123] The codec logic verification module is used to test the concurrent codec logic and verify the correctness and performance of the concurrent codec logic. Specifically, when the concurrent codec logic does not meet the preset conditions, the concurrent architecture is optimized. Those skilled in the art know that the preset conditions, i.e., the correctness and performance range, can be adjusted according to actual needs, which falls within the protection scope of the present invention and will not be repeated here.
[0124] Furthermore, those skilled in the art know that the selection of optimization processing methods can be carried out according to actual needs, all of which fall within the protection scope of the present invention and will not be repeated here, such as adjusting the thread pool size, optimizing the data partitioning strategy, etc.
[0125] From the above content, it can be seen that by setting up a real-time communication protocol, real-time data interaction between the BIM main model and each sub-model is guaranteed, instant and synchronous updating of design data is achieved, and the accuracy of BIM data is improved.
[0126] The fourth execution module 4 is used to set the data mapping rules corresponding to each BIM sub-model, wherein the data mapping rules include building element identification, building data type matching strategy, data conversion logic, conditional logic and error handling strategy.
[0127] The fifth execution module 5 is used to integrate event listeners in the BIM main model and each BIM sub-model to obtain building data change events based on the API or plug-in provided by the BIM software.
[0128] The sixth execution module 6 is used to trigger the execution of the building data synchronization process according to the data mapping rules corresponding to the BIM sub-model and the acquired building data change events, wherein the building data synchronization process is to confirm the building data content and target model that need to be synchronized according to the type and scope of the building data change event, and the target model is the model acquired from the BIM main model and each BIM sub-model.
[0129] Specifically, the building data synchronization process can be understood as: when the BIM main model data is changed, the corresponding data in the BIM sub-model is changed synchronously; when the BIM sub-model data is changed, the corresponding data in the BIM main model is changed synchronously.
[0130] Specifically, the building data synchronization process can automatically perform operations such as data push, pull and merge to ensure that the data between the main model and the sub-model remains consistent.
[0131] The seventh execution module 7 is used to confirm the conflict detection algorithm based on the rule engine, wherein the conflict detection is performed on the building data change event through the conflict detection algorithm.
[0132] Specifically, Figure 6 As shown, the seventh execution module 7 also includes: The conflict monitoring algorithm acquisition module 71 is used to confirm a number of conflict monitoring algorithms based on business requirements, wherein the conflict monitoring algorithms are conditional judgments based on data or regular expressions based on business logic.
[0133] The target data acquisition module 72 is used to acquire target data related to conflict detection, wherein the target data includes records in a database, objects in a memory, and responses from an external system.
[0134] The target detection rule acquisition module 73 is used to use a rule engine to match the conflict monitoring algorithm with the target data to obtain a target detection rule, wherein the target detection rule is a rule that is obtained from the conflict monitoring algorithm and can trigger a conflict.
[0135] The conflict identification module 74 is used to identify the building data change event according to the target detection rule, obtain the target conflict in the building data change event and resolve the target conflict, wherein the target conflict includes the data level and the business logic level.
[0136] Specifically, for example, two orders attempt to occupy the same inventory at the data level, and two approval processes have mutually exclusive conditions at the logical level.
[0137] Specifically, the method for resolving target conflicts includes manual strategies and automatic strategies, wherein the manual strategy provides users with operation options such as modifying data, merging data, and deleting data, and the automatic strategy is formulated based on business rules, priorities, and resource availability factors, for example: undoing operations, adjusting data, notifying relevant personnel, and other solutions.
[0138] Furthermore, those skilled in the art know that the selection of automatic strategies can be performed according to actual needs, all of which fall within the protection scope of the present invention and will not be described in detail here.
[0139] The eighth execution module 8 is used to obtain the integrated version control system integrated into the BIM software to record the change set information of each change in the version control system.
[0140] From the above content, we can see that through distributed architecture design, the system stores BIM data in multiple nodes in a dispersed manner, effectively reducing the risk of data redundancy and conflict, reducing time costs, avoiding waste of resources, and achieving reasonable allocation of resources.
[0141] Embodiment 3, An embodiment of the present invention provides a non-transitory computer-readable storage medium, wherein at least one instruction or at least one program is stored in the non-transitory computer-readable storage medium, and the at least one instruction or at least one program is loaded and executed by a processor to implement the steps: A BIM main model and several BIM sub-models corresponding to the BIM main model are obtained, wherein the BIM sub-models include specific part models obtained from the BIM main model and information on professional fields corresponding to the specific part models.
[0142] Setting a real-time communication protocol, wherein the setting of the real-time communication protocol includes: confirming a protocol format, confirming a data transmission strategy, confirming an optimization strategy, and confirming a network adaptability mechanism.
[0143] According to the protocol format corresponding to the real-time communication protocol, the building data is encoded and decoded through compression algorithm and encryption algorithm.
[0144] The data mapping rules corresponding to each BIM sub-model are set, wherein the data mapping rules include building element identification, building data type matching strategy, data conversion logic, conditional logic and error handling strategy.
[0145] Based on the API or plug-in provided by the BIM software, event listeners are integrated in the BIM main model and each BIM sub-model to obtain building data change events.
[0146] According to the data mapping rules corresponding to the BIM sub-model and the acquired building data change events, the building data synchronization process is triggered and executed, wherein the building data synchronization process is to confirm the building data content and target model that need to be synchronized according to the type and scope of the building data change event, and the target model is the model acquired from the BIM main model and each BIM sub-model.
[0147] The conflict detection algorithm is confirmed based on the rule engine, wherein the conflict detection algorithm is a conditional judgment based on data or a regular expression based on business logic.
[0148] Get integrated version control system integrated into BIM software to record changeset information for each change in the version control system.
[0149] A person of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiment method can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage, database or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) or flash memory. Volatile memory may include random access memory (RAM) or external cache memory. As an illustration and not limitation, RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM).
[0150] Those skilled in the art can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional units and modules is used as an example. In actual applications, the above-mentioned functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above.
[0151] Embodiment 4: An embodiment of the present invention provides an electronic device, which includes a processor and the non-transitory computer-readable storage medium in Embodiment 3 of the present invention.
[0152] The above description is only a preferred embodiment of the present invention and does not limit the present invention in any form. Although the present invention has been disclosed as a preferred embodiment as above, it is not used to limit the present invention. Any technician familiar with this profession can make some changes or modifications to equivalent embodiments of equivalent changes using the technical contents disclosed above without departing from the scope of the technical solution of the present invention. However, any simple modifications, equivalent changes and modifications made to the above embodiments based on the technical essence of the present invention without departing from the content of the technical solution of the present invention are still within the scope of the technical solution of the present invention.
Claims
1. A method for synchronizing data based on a BIM model, characterized in that: The method comprises the following steps: Acquire a BIM master model and several BIM sub-models corresponding to the BIM master model, wherein the BIM sub-models include specific part models acquired from the BIM master model and information on professional fields corresponding to the specific part models; Setting a real-time communication protocol, wherein the setting of the real-time communication protocol includes: confirming a protocol format, confirming a data transmission strategy, confirming an optimization strategy, and confirming a network adaptability mechanism; According to the protocol format corresponding to the real-time communication protocol, the building data is encoded and decoded through the compression algorithm and the encryption algorithm; Setting data mapping rules corresponding to each BIM sub-model, wherein the data mapping rules include building element identification, building data type matching strategy, data conversion logic, conditional logic and error handling strategy; Based on the API or plug-in provided by the BIM software, integrate event listeners in the BIM main model and each BIM sub-model to obtain building data change events; According to the data mapping rules corresponding to the BIM sub-model and the acquired building data change events, the building data synchronization process is triggered, wherein the building data synchronization process is to confirm the building data content and target model to be synchronized according to the type and scope of the building data change event, and the target model is the model acquired from the BIM main model and each BIM sub-model; Confirming the conflict detection algorithm based on the rule engine, wherein the conflict monitoring algorithm is a conditional judgment based on data or a regular expression based on business logic; Get integrated version control system integrated into BIM software to record changeset information for each change in the version control system.
2. The method for synchronizing data based on a BIM model according to claim 1, characterized in that: The BIM master model is divided based on a data structure, wherein the data structure is confirmed based on a type corresponding to the building data.
3. The method for synchronizing data based on a BIM model according to claim 1, characterized in that: Acquiring a BIM master model and several BIM sub-models corresponding to the BIM master model includes the following steps: Obtain several building elements in the BIM master model, the attributes corresponding to each building element, and the association relationship between the building elements; Verifying the BIM master model through a specific verification tool, including: BIM model integrity verification, building element attribute verification, BIM model normative verification and building data redundancy detection; Correct the abnormal data obtained through verification; Re-check and review using the specific verification tool to obtain the BIM master model.
4. The method for synchronizing data based on a BIM model according to claim 1, characterized in that: Setting up the real-time communication protocol to confirm the data transmission strategy includes the following steps: When the BIM master model and the BIM sub-model are connected and synchronized for the first time, all data in the BIM master model is transferred to the corresponding BIM sub-model; When the connection between the BIM master model and the BIM sub-model is established but it is not the first data synchronization, differential building data is obtained, wherein the differential building data is the changed data obtained when any data in the BIM master model and each BIM sub-model is compared with the historical snapshot or when any data in the BIM master model and each BIM sub-model is compared with the data of the last synchronization; The compressed differential building data is sent to the BIM main model or BIM sub-model through the data transmission protocol, and the differential building data and local data are merged to update the local model.
5. The method for synchronizing data based on a BIM model according to claim 1, characterized in that: The conflict detection algorithm based on the rule engine includes the following steps: Confirming several conflict monitoring algorithms based on business requirements, wherein the conflict monitoring algorithms are conditional judgments based on data or regular expressions based on business logic; Acquire target data related to conflict detection, wherein the target data includes records in a database, objects in a memory, and responses from an external system; Using a rule engine to match the conflict monitoring algorithm with the target data to obtain a target detection rule, wherein the target detection rule is a rule that can trigger a conflict obtained from the conflict monitoring algorithm; According to the target detection rules, the building data change event is identified, the target conflict in the building data change event is obtained and the target conflict is resolved, wherein the target conflict includes the data level and the business logic level.
6. A device for synchronizing data based on a BIM model, characterized in that: The device comprises: A first execution module is used to obtain a BIM main model and several BIM sub-models corresponding to the BIM main model, wherein the BIM sub-models include specific part models obtained from the BIM main model and information on professional fields corresponding to the specific part models; A second execution module is used to set a real-time communication protocol, wherein the setting of the real-time communication protocol includes: confirming a protocol format, confirming a data transmission strategy, confirming an optimization strategy, and confirming a network adaptability mechanism; A third execution module is used to encode and decode the building data through a compression algorithm and an encryption algorithm according to a protocol format corresponding to the real-time communication protocol; A fourth execution module is used to set data mapping rules corresponding to each BIM sub-model, wherein the data mapping rules include building element identification, building data type matching strategy, data conversion logic, conditional logic and error handling strategy; A fifth execution module is used to integrate an event listener in the BIM main model and each BIM sub-model to obtain building data change events based on an API or plug-in provided by the BIM software; A sixth execution module is used to trigger the execution of a building data synchronization process according to the data mapping rules corresponding to the BIM sub-model and the acquired building data change event, wherein the building data synchronization process is to confirm the building data content and target model to be synchronized according to the type and scope of the building data change event, and the target model is a model acquired from the BIM main model and each BIM sub-model; a seventh execution module, for confirming a conflict detection algorithm based on a rule engine, wherein conflict detection is performed on a building data change event by using the conflict detection algorithm; The eighth execution module is used to obtain the integrated version control system integrated into the BIM software to record the change set information of each change in the version control system.
7. The device for synchronizing data based on a BIM model according to claim 6, characterized in that: The BIM master model is divided based on a data structure, wherein the data structure is confirmed based on a type corresponding to the building data.
8. The device for synchronizing data based on a BIM model according to claim 6, characterized in that: The first execution module also includes: The first acquisition module is used to acquire a number of building elements in the BIM main model, the attributes corresponding to each building element, and the association relationship between the building elements; The second acquisition module is used to verify the BIM master model through a specific verification tool, wherein the verification includes: integrity verification of the BIM model, property verification of building elements, normative verification of the BIM model, and redundancy detection of building data; A third acquisition module is used to correct the abnormal data obtained by verification, wherein the abnormal data is incomplete data of the BIM model, incorrect attributes of building elements, non-standard BIM model and redundant building data; The fourth acquisition module is used to re-check and review using the specific verification tool to obtain the BIM master model.
9. The device for synchronizing data based on a BIM model according to claim 6, characterized in that: The second execution module also includes: The data transmission module is used to transfer all data in the BIM master model to the corresponding BIM sub-model when the BIM master model establishes a connection with the BIM sub-model and performs the first data synchronization; A differential building data acquisition module is used to acquire differential building data when the connection between the BIM main model and the BIM sub-model is established but it is not the first data synchronization, wherein the differential building data is the changed data acquired when any data in the BIM main model and each BIM sub-model is compared with the historical snapshot or when any data in the BIM main model and each BIM sub-model is compared with the data of the last synchronization; The data merging and acquiring module is used to send the compressed difference building data to the BIM main model or the BIM sub-model through the data transmission protocol, and merge the difference building data with the local data to update the local model.
10. The device for synchronizing data based on a BIM model according to claim 6, characterized in that: The seventh execution module also includes: A conflict monitoring algorithm acquisition module is used to confirm several conflict monitoring algorithms based on business requirements, wherein the conflict monitoring algorithms are conditional judgments based on data or regular expressions based on business logic; A target data acquisition module, used to acquire target data related to conflict detection, wherein the target data includes records in a database, objects in a memory, and responses from an external system; A target detection rule acquisition module, used to use a rule engine to match the conflict monitoring algorithm with the target data to obtain a target detection rule, wherein the target detection rule is a rule that can trigger a conflict obtained from the conflict monitoring algorithm; The conflict identification module is used to identify building data change events according to target detection rules, obtain target conflicts in building data change events and resolve target conflicts, wherein the target conflicts include data level and business logic level.
11. A non-transitory computer-readable storage medium, wherein at least one instruction or at least one program is stored in the non-transitory computer-readable storage medium, characterized in that: The at least one instruction or the at least one program is loaded and executed by the processor to implement the method for synchronizing data based on a BIM model as described in any one of claims 1 to 5.
12. An electronic device, characterized in that: The invention comprises a processor and the non-transitory computer-readable storage medium as claimed in claim 11.
Citation Information
Patent Citations
Multi-node task asynchronous cooperative processing method
CN111309458A
Lithium ion battery thermal runaway detection and inhibition method
CN117199588A
Distributed data synchronization method based on micro-service architecture
CN117319419A
Intelligent gateway method compatible with multiple protocols, server, medium and program product
CN118869556A
Processing data-centric business models
US20080140601A1
Cited By
Data optimization processing method and system for edge calculation in architectural design
CN120930224A
