Data synchronization method, system, device and medium
Patent Information
- Application Number
- CN202610992472.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-03
- Publication Date
- 2026-10-09
AI Technical Summary
[0003]为实现协同,相关技术采用基于定时任务(如Crontab)的数据库ETL(Extract-Transform-Load,提取、转换、加载)作业,在夜间业务低峰期,通过定时脚本从各业务系统数据库抽取增量数据,经过转换后批量加载到目标系统或数据仓库,然而该方案同步延迟无法满足业务实时性要求,ETL作业运行时会大量占用数据库资源,影响正常业务,且当出现紧急变更时,无法立即触发同步,只能依赖人工通知,流程脆弱
[0015] In the above embodiments, the data synchronization method includes: in response to detecting a change in the Building Information Model (BIM), generating and sending a business event message, wherein the business event message includes an event type; in response to receiving the business event message, routing and publishing the business event message to multiple business systems that have subscribed to the event type based on preset business subscription rules, wherein the preset business subscription rules are set by the multiple business systems according to their needs; and in response to receiving the business event message, modifying the information of the business systems based on the BIM to achieve data synchronization among the multiple business systems. This method can detect data changes in the BIM in real time and generate corresponding business event messages, complete message routing and distribution based on the subscription rules set independently by each business system, accurately push events to matching business systems, and synchronously update the internal data of each business system according to the model change content, effectively ensuring data consistency among multiple business systems, reducing the cost of manual synchronization operations, and improving the timeliness and reliability of cross-system data linkage updates.
Smart Images

Figure CN122885066A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the technical fields of data management, and in particular to a data synchronization method, system, device and medium. Background Technology
[0002] Throughout the entire lifecycle of real estate project development, core aspects such as design, cost, procurement, construction, and sales are handled by different departments using independent professional systems (such as BIM (Building Information Modeling) systems, ERP (Enterprise Resource Planning) systems, project management platforms, and sales systems). The data synchronization between these systems suffers from severe real-time issues, directly leading to business risks.
[0003] To achieve collaboration, related technologies employ database ETL (Extract-Transform-Load) jobs based on scheduled tasks (such as Crontab). During off-peak business hours at night, incremental data is extracted from the databases of various business systems via scheduled scripts, transformed, and then loaded in batches into the target system or data warehouse. However, the synchronization delay of this solution cannot meet the real-time requirements of the business. The ETL job consumes a large amount of database resources during operation, affecting normal business operations. Furthermore, when an emergency change occurs, synchronization cannot be triggered immediately and can only rely on manual notification, making the process fragile. Summary of the Invention
[0004] The embodiments of this application aim to at least partially solve one of the technical problems in the related art. Therefore, the purpose of the embodiments of this application is to provide a data synchronization method, system, device, and medium that improves the accuracy of data synchronization.
[0005] This application provides a data synchronization method, comprising: in response to detecting a change in a building information model, generating and sending a business event message, wherein the business event message includes an event type; in response to receiving a business event message, publishing the business event message to multiple business systems that subscribe to the event type via routing based on preset business subscription rules, wherein the preset business subscription rules are set by the multiple business systems according to their needs; and in response to receiving a business event message, modifying the information of the business systems based on the building information model to achieve data synchronization among the multiple business systems.
[0006] For example, in response to detecting a change in the Building Information Model (BIM), a business event message is generated and sent, including: the event publisher of the BIM detects a change in the BIM and generates a business event message, wherein the business event message further includes project code, spatial information, timestamp, and summary information, and the spatial information is encoded based on a predefined spatial classification standard; the event publisher sends the business event message to the business event hub.
[0007] For example, the event types include apartment type changes and design changes, and the business systems include a cost management system, a sales management system, and a procurement management system. Based on preset business subscription rules, business event messages are routed to multiple business systems that have subscribed to the event types, including: when the event type includes apartment type changes, the business event hub routes the business event messages to the cost management system and the sales management system; when the event type includes design changes, the business event hub routes the business event messages to the procurement management system.
[0008] For example, changes to the apartment layout include changes to the spatial dimensions, and changes to the design include changes to the structural materials.
[0009] For example, in response to receiving a business event message, the information in the business system is modified based on the building information model, including: when the event type includes a change in apartment type, in response to receiving the business event message, the first event processor of the cost management system obtains the updated data of the building information model based on spatial information, and performs cost calculation based on the updated data to update the cost management system; when the event type includes a change in apartment type, in response to receiving the business event message, the second event processor of the sales management system marks the apartment floor plan of the sales management system and generates notification information.
[0010] For example, the data synchronization method further includes: in response to detecting changes in database log information and / or intercepting business requests, generating and sending a business event message, wherein the business event message includes an event type and the database log information includes log information corresponding to the business system.
[0011] For example, the spatial classification standard includes multi-level standards; the multi-level standards include: city-level spatial units, project group-level spatial units, building-level spatial units, floor-level spatial units, room-level spatial units, and component-level spatial units.
[0012] Another embodiment of this application provides a data synchronization system, comprising: a generation module, configured to generate and send a business event message in response to detecting a change in the building information model, wherein the business event message includes an event type; a publishing module, configured to, in response to receiving the business event message, publish the business event message to multiple business systems that have subscribed to the event type via routing based on preset business subscription rules, wherein the preset business subscription rules are set by the multiple business systems according to their needs; and a synchronization module, configured to, in response to receiving the business event message, modify the information of the business systems based on the building information model to achieve data synchronization among the multiple business systems.
[0013] Another embodiment of this application provides an electronic device having a computer program stored thereon, which, when executed by a processor, implements the steps of the method of any of the above embodiments.
[0014] Another embodiment of this application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the method of any of the above embodiments.
[0015] In the above embodiments, the data synchronization method includes: in response to detecting a change in the Building Information Model (BIM), generating and sending a business event message, wherein the business event message includes an event type; in response to receiving the business event message, routing and publishing the business event message to multiple business systems that have subscribed to the event type based on preset business subscription rules, wherein the preset business subscription rules are set by the multiple business systems according to their needs; and in response to receiving the business event message, modifying the information of the business systems based on the BIM to achieve data synchronization among the multiple business systems. This method can detect data changes in the BIM in real time and generate corresponding business event messages, complete message routing and distribution based on the subscription rules set independently by each business system, accurately push events to matching business systems, and synchronously update the internal data of each business system according to the model change content, effectively ensuring data consistency among multiple business systems, reducing the cost of manual synchronization operations, and improving the timeliness and reliability of cross-system data linkage updates. Attached Figure Description
[0016] Figure 1 A flowchart of a data synchronization method provided for embodiments of this application; Figure 2 Flowchart of another data synchronization method provided for embodiments of this application; Figure 3 A data synchronization system block diagram provided for another embodiment of this application; Figure 4 A block diagram of an electronic device provided for another embodiment of this application. Detailed Implementation
[0017] The embodiments of this application are described in detail below. Examples of the embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and intended to explain this application, and should not be construed as limiting this application.
[0018] Throughout the entire lifecycle of a real estate project, core aspects such as design, cost, procurement, construction, and sales are handled by different departments and utilize independent professional systems (such as BIM (Building Information Modeling) systems, ERP (Enterprise Resource Planning) systems, project management platforms, and sales systems). The data synchronization between these systems has serious real-time problems, which directly cause business risks, such as: (1) "Mismatch between goods and orders" risk: The design institute modified the bathroom layout of a certain apartment type (S5 level space) in the BIM model, but the sales system is still pre-selling according to the old version of the apartment layout, resulting in the sales commitment not matching the actual delivery, causing major customer disputes and damage to the group's brand reputation. The traditional polling synchronization method (such as synchronizing once per hour) cannot eliminate this risk. (2) "Cost overrun" risk: The pile foundation model (S6 level component) was changed due to geological conditions at the construction site. If this change information is not synchronized to the cost system and procurement system in real time, it will lead to inaccurate cost accounting and incorrect material procurement, resulting in direct economic losses. (3) "Collaboration efficiency" bottleneck: The project general manager needs to convene a meeting of the heads of each line and manually check the information in order to obtain the latest status of the project. Decision-making relies on "manual coordination" rather than "data-driven", which is inefficient.
[0019] In the digital transformation of real estate enterprises, BIM, ERP and other systems are commonly used. In order to achieve collaboration, data is usually synchronized between different systems by timed data exchange or manual import and export. Related technologies are based on database ETL (Extract-Transform-Load) jobs with timed tasks (such as Crontab). During the off-peak hours of business at night, incremental data is extracted from the databases of various business systems through timed scripts. After transformation, it is loaded into the target system or data warehouse in batches. It has the following disadvantages: The synchronization delay cannot meet the real-time requirements of business, resulting in business risks: A major design change occurred in a project at 3 pm, but the ETL job did not run until 2 am the next day. During these 11 hours, the sales, procurement and construction departments worked based on the old data, and all decisions were wrong, resulting in irreversible losses. (2) It has a great impact on the performance of the production system, which affects normal business: The ETL job will occupy a lot of database resources when it runs, which may cause the ongoing sales subscription, financial accounting and other core businesses to be stuck or even interrupted. (3) It cannot cope with emergency changes, resulting in poor flexibility: When an emergency change occurs, it is impossible to trigger synchronization immediately. It can only rely on manual notification, and the process is fragile.
[0020] This application aims to address the problem of untimely data synchronization unique to the real estate industry, caused by long chains, multiple systems, and high real-time requirements, and to provide technical support for refined project management.
[0021] In view of this, this application provides a data synchronization method specifically for event-driven data synchronization in real estate project management. By constructing a central hub for real estate business events, it uses "business events" generated by various business systems as the sole trigger source for synchronization. When any business system experiences a critical data change that affects other lines of business, the change event immediately and automatically triggers the synchronization process, ensuring that critical data achieves consistency across the entire scope within minutes or even seconds, thereby supporting real-time decision-making and mitigating business risks.
[0022] Figure 1 A flowchart illustrating the data synchronization method provided for embodiments of this application.
[0023] like Figure 1 As shown, the data synchronization method 100 provided in this application includes, for example, steps S110-S130.
[0024] Step S110: In response to detecting a change in the building information model, a business event message is generated and sent, wherein the business event message includes an event type.
[0025] For example, Building Information Modeling (BIM) (a model embedded with predefined spatial classification standard codes) is a digital three-dimensional building information carrier that integrates the overall physical structure, spatial layout, functional attributes, and equipment deployment information of a building, completely preserving relevant data information throughout the entire process from planning and construction to later operation and maintenance. When the event publisher of the BIM detects a change in the BIM, it generates a business event message and sends it to the business event hub. Event types include unit type changes, design changes, etc. The business event message may also include project codes, spatial information, timestamps, and summary information, etc. The predefined spatial classification standard is a pre-constructed unified classification and coding specification for building space. This specification can standardize the definition, unify the coding, and logically link various data objects throughout the entire building life cycle, ensuring good consistency and interoperability of data in different business systems throughout the entire stages of building design, construction, and operation and maintenance. The predefined spatial classification standard includes multi-level classification standards, such as level five and level six. This application uses the level five classification standard as an example for explanation and illustration, and it is not intended to limit this application. The multi-level grading standard is divided according to a progressive spatial hierarchy, from top to bottom as follows: city-level spatial unit (level 1 S1), project group-level spatial unit (level 2 S2), individual building-level spatial unit (level 3 S3), floor-level spatial unit (level 4 S4), and room-level spatial unit (level 5 S5). When a six-level grading standard is adopted, level 6 S6 is a component-level spatial unit. Different levels progressively refine and define the scope of architectural space jurisdiction and functional attributes.
[0026] Step S120: In response to receiving a business event message, based on preset business subscription rules, the business event message is published to multiple business systems that subscribe to the event type via routing. The preset business subscription rules are set by the multiple business systems according to their needs.
[0027] For example, the business system includes a cost management system, a sales management system, and a procurement management system. The preset business subscription rules are set by each business system according to its own business processing needs, including: the set of event types that the business system needs to subscribe to, the routing address for receiving messages, and message filtering conditions (such as project code, spatial information, etc.). After receiving the business event message, the business event hub will push the message only to the business systems that have subscribed to the event type and meet the filtering conditions by matching the preset business subscription rules. For example, the cost management system and the sales management system subscribe to the apartment type change type, and the procurement management system subscribes to the design change type.
[0028] Step S130: In response to receiving a business event message, the information of the business system is changed based on the building information model to achieve data synchronization of multiple business systems.
[0029] For example, after receiving a business event message about a change in apartment layout, the cost management system triggers a cost recalculation. Based on the spatial information in the business event message, it retrieves updated BIM model data, recalculates the quantities and costs of the work, and updates the cost data within the system. After receiving a business event message about a change in apartment layout, the sales management system triggers an update of sales data. It marks the apartment layout and generates notification information, and synchronously updates the property listings and sales ledger. After receiving a business event message about a design change, the procurement management system triggers an update of the procurement list. Based on the latest layout and equipment configuration of the BIM model, it adjusts the procurement categories, quantities, and supply plans for building materials and equipment, thereby achieving full-domain data synchronization with the BIM model.
[0030] In the above embodiments, the method can sense data changes in the building information model in real time and generate corresponding business event messages. It can complete message routing and distribution based on the subscription rules set by each business system, accurately push events to the matching business system, and update the internal data of each business system synchronously according to the model change content. This effectively ensures data consistency among multiple business systems, reduces the cost of manual synchronization operations, and improves the timeliness and reliability of cross-system data linkage updates.
[0031] In one example, the spatial classification standard includes multiple levels; these multiple levels include: city-level spatial units, project group-level spatial units, building-level spatial units, floor-level spatial units, room-level spatial units, and component-level spatial units.
[0032] Specifically, the spatial classification standard includes multi-level standards, such as city-level spatial units (first level), project group-level spatial units (second level), single building-level spatial units (third level), floor-level spatial units (fourth level), room-level spatial units (fifth level), and component-level spatial units (sixth level).
[0033] City-level spatial unit (Level 1): The highest level in the spatial hierarchy, used to identify and manage projects located in different cities. For example, S1-SH represents all projects in City A.
[0034] Project cluster-level spatial unit (second level): refers to a project cluster consisting of multiple sub-projects or plots of land within the same city. For example, S2-SH-HQ represents "Project Cluster in District B of City A".
[0035] Single-building spatial unit (Level 3): An independent, fully functional single building within a project group, such as a residential building or a commercial building. For example, S3-SH-HQ-001-T3 represents "T3 office building in the project group of District B, City A".
[0036] Floor-level spatial unit (fourth level): refers to a specific floor within a single building, such as the ground floor above ground, the second basement level, etc. For example, S4-F21 represents "the 21st floor".
[0037] Room-level spatial unit (Level 5): Refers to the smallest spatial unit within a floor that has an independent function or can be independently identified, such as an office, an apartment, or a utility room. For example, S5-R2109 represents "Room 2109". It is the basic unit for linking and querying acceptance data.
[0038] Component-level spatial units (Level 6): These refer to the physical components or equipment that make up a room, such as a window, an air conditioning unit, or a section of pipe. For example, S6-FAC-AHU-021 represents "air conditioning unit numbered 021". In a query, one can penetrate from the S5 level to its contained S6 level components.
[0039] A predefined spatial classification standard generates a string that uniquely corresponds to a specific spatial object (from S1 to S6). For example, "S3-SH-HQ-001-T3@S4-F21@S5-R2109" is a complete S5-level spatial ID (spatial information, ONE ID), used to identify the target object's unique digital identity card (a three-dimensional identifier of spatial + temporal + data characteristics).
[0040] In one example, in response to the detection of a change in the Building Information Model (BIM), a business event message is generated and sent. This includes: the event publisher of the BIM detects the change in the BIM and generates a business event message, wherein the business event message also includes project code, spatial information, timestamp, and summary information, and the spatial information is encoded based on a predefined spatial classification standard; the event publisher sends the business event message to the business event hub.
[0041] Specifically, an event publisher configured on the Building Information Model (BIM) side performs real-time monitoring and inspection of the change status of all BIM data. When the event publisher detects and identifies any form of change behavior within the BIM data, such as content modification, component addition / deletion, attribute adjustment, or drawing revision, it triggers the logic for generating business event messages. The business event messages generated by the event publisher are standardized structured messages, fully containing five core business fields: project code (project ID), spatial information, timestamp, summary information, and event type. Each field is encapsulated using standardized rules. The project code is a unique identifier for the engineering project where the model change has occurred, used to accurately locate the project dimension to which the change belongs, achieving event isolation and attribution matching in multi-project scenarios. The spatial information is structured spatial data generated by unified coding according to the system's predefined spatial classification standards, replacing natural language spatial descriptions and achieving standardization and parsing of building space hierarchy, location, and scope. The system includes: a searchable identifier; a timestamp, which is a standard time record of the actual occurrence of the building information model (BIM) change, used to mark the event sequence and ensure the time-series tracing and sorting statistics of business events; a summary information, which is a lightweight text information that concisely summarizes the content, scope, and degree of the BIM change, used to quickly identify the core content of the event and reduce message transmission and parsing costs; and an event type, which is a standardized classification identifier for the model change, used to distinguish different change scenarios, including but not limited to changes in unit type (such as space dimensions) and design changes (such as structural materials), providing a classification basis for downstream business systems to accurately match event processing logic.
[0042] After the event publisher completes the validation and encapsulation of all fields and generates a compliant standardized business event message, it pushes the business event message to the business event hub. The business event hub realizes the unified aggregation, storage, distribution and subscription flow of events, supporting various downstream business systems to realize linkage business processing based on BIM model change events.
[0043] For example, when a designer completes modifications and saves them in the BIM (Building Information Modeling) system (e.g., the living room width of unit A in a high-end residential building is adjusted from 4.2 meters to 4.5 meters during design optimization), the BIM system's built-in event publisher automatically detects the change in the geometric attributes of unit S5-A (unit type change). The event publisher generates a lightweight, structured business event message, rather than publishing the entire model file, and sends the business event message to the business event hub. The business event message includes: Event Type: DESIGN_S5_SPACE_UPDATE (unit type change); Project Code: PROJ-2023-LF-001; Affected Space ONE ID (spatial information): S5-LF-2023@A-unit type; Change Timestamp; Change Summary (summary information): Living room width 4.2m -> 4.5m.
[0044] In one example, changes to the floor plan include changes to the dimensions of the space, and changes to the design include changes to the structural materials.
[0045] Specifically, unit type changes include changes related to unit space, such as adjustments to space dimensions, while design changes include changes related to architectural design, such as replacement of structural materials and adjustments to material parameters. This can accurately distinguish various BIM model change scenarios, providing a precise classification basis for downstream business systems to accurately match event processing logic and execute corresponding linkage business.
[0046] In one example, the event types include floor plan changes and design changes, and the business systems include a cost management system, a sales management system, and a procurement management system. Based on preset business subscription rules, business event messages are routed to multiple business systems that have subscribed to the event types, including: when the event type includes floor plan changes, the business event hub routes the business event message to the cost management system and the sales management system; when the event type includes design changes, the business event hub routes the business event message to the procurement management system.
[0047] Specifically, when the event type carried in the business event message is "unit type change," the business event hub retrieves the preset business subscription rules, identifies the cost management system and sales management system as the subscription terminals for the unit type change event, and then synchronously publishes the complete business event message corresponding to the unit type change to the cost management system and sales management system through a dedicated routing channel. When the event type carried in the business event message is "design change," the business event hub, based on the preset subscription rules, identifies that only the procurement management system subscribes to design change events, and then routes and publishes the business event message corresponding to the design change to the procurement management system. The routing can automatically identify the business systems subscribed to business event messages, thereby publishing the business event messages to the business systems.
[0048] For example, upon receiving a business event message, the business event hub immediately pushes the message to all systems subscribed to the DESIGN_S5_SPACE_UPDATE event according to pre-set subscription rules (preset business subscription rules). An example of a pre-set business subscription rule is as follows: The cost management system subscribes to all S5-level space size changes because changes in space size directly affect the cost of interior decoration, wall area, etc. The sales management system subscribes to all S5-level space size changes because floor plans are core sales data. The procurement management system does not subscribe to size change messages because minor adjustments to the floor plan do not directly affect the procurement of main structural materials; it only subscribes to design changes. Based on design change data such as structural material replacements and adjustments to building material parameters, the procurement management system can promptly complete related business linkage operations such as updating the procurement list, verifying material parameters, adjusting procurement plans, and matching supplier materials.
[0049] In another example, the routing system automatically identifies the spatial level (e.g., S5 room level) corresponding to the user's intent by parsing the query keywords entered by the user (e.g., "2109 meeting room pipes") and directly directs the query path to that level, thereby avoiding an inefficient global scan of the entire BIM model.
[0050] In one example, in response to receiving a business event message, the information in the business system is modified based on the building information model, including: when the event type includes a unit type change, in response to receiving the business event message, the first event processor of the cost management system obtains the updated data of the building information model based on spatial information, and performs cost calculation based on the updated data to update the cost management system; when the event type includes a unit type change, in response to receiving the business event message, the second event processor of the sales management system marks the unit type map of the sales management system and generates a notification message.
[0051] Specifically, after receiving a business event message, the cost management system's first event processor can simultaneously complete linked business updates such as project quantity calculation, cost estimation, and budget parameter adjustment based on event data (updated data) such as changes in unit size and layout. After receiving a business event message, the sales management system's second event processor marks the unit floor plan in the sales management system as pending update based on unit change information, redraws the unit floor plan according to the building's unit parameters, housing information, and sales display data, and displays the updated unit floor plan to ensure that sales data and engineering model data are consistent in real time.
[0052] For example, after the cost management system and sales management system receive a business event message, their internal event handlers (first event handler and second event handler) are triggered. Based on the ONEID (spatial information) of the S5-A- unit type in the event, the cost management system automatically calls the BIM system's API (Application Programming Interface) to obtain the latest area data and recalculates the interior decoration cost of that unit type in real time. The sales management system automatically marks the unit's floor plan in the online sales office as "pending update" and generates a notification message to instruct sales staff to contact customers who have already purchased that unit type to inform them of the change.
[0053] In one example, the data synchronization method further includes: in response to detecting changes in database log information and / or intercepting business requests, generating and sending a business event message, wherein the business event message includes an event type and the database log information includes log information corresponding to the business system.
[0054] Specifically, the event triggering method can be replaced by listening to changes in the database logs corresponding to the business system or intercepting API requests from the business system. This can also achieve automatic capture and synchronization of data changes, generate business event messages, and send business event messages.
[0055] In another example, the data synchronization method can be extended to external supply chain collaboration (such as automatically publishing purchase order events to suppliers) or combined with robotic process automation (RPA) to enable the automatic execution of business operations after an event is triggered.
[0056] Figure 2 Another data synchronization method flowchart provided for the implementation of this application, such as Figure 2 As shown, the data synchronization methods include S201-S203.
[0057] S201, the BIM design system publishes business event messages to the business event hub.
[0058] For example, Building Information Modeling (BIM) (a model embedded with predefined spatial hierarchical standard codes) is a digital three-dimensional building information carrier that integrates the overall physical structure, spatial layout, functional attributes, and equipment deployment information of a building, completely preserving relevant data information throughout the entire process from planning and construction to later operation and maintenance. When the event publisher of the BIM detects a change in the BIM, the event publisher generates a business event message and sends the business event message to the business event hub (real estate business event hub). Event types include unit type changes, design changes, etc., and the business event message ( Figure 2 Taking unit type change as an example, it includes event type, project code (project ID (Identity Document)), spatial information (ONE ID), timestamp (change time), and summary information, etc. The predefined spatial classification standard is a pre-built unified classification coding specification for building space. This specification can standardize the definition, unify the coding, and logically link various data objects throughout the entire life cycle of a building, ensuring that the data of the entire stage of building design, construction, and operation and maintenance has good consistency and interoperability among different business systems. The predefined spatial classification standard includes multi-level classification standards, such as level five and level six. This application uses the level five classification standard as the target object for explanation and illustration, and it is not intended to limit this application. The multi-level grading standard is divided according to a progressive spatial hierarchy, from top to bottom as follows: city-level spatial unit (level 1 S1), project group-level spatial unit (level 2 S2), individual building-level spatial unit (level 3 S3), floor-level spatial unit (level 4 S4), and room-level spatial unit (level 5 S5). When a six-level grading standard is adopted, level 6 S6 is a component-level spatial unit. Different levels progressively refine and define the scope of architectural space jurisdiction and functional attributes.
[0059] S202, the business event hub, based on preset business subscription rules, publishes business event messages to multiple business systems that have subscribed to the event type via routing.
[0060] For example, the business system includes a cost management system, a sales management system, and a procurement management system. The preset business subscription rules are set by each business system according to its own business processing needs, including: the set of event types that the business system needs to subscribe to, the routing address for receiving messages, and message filtering conditions (such as project code, spatial information, etc.). After receiving the business event message, the business event hub will push the message only to the business systems that have subscribed to the event type and meet the filtering conditions by matching the preset business subscription rules. For example, the cost management system and the sales management system subscribe to the apartment type change type, and the procurement management system subscribes to the design change type.
[0061] S203, the business system receives a business event message and modifies the information in the business system based on the building information model to achieve data synchronization among multiple business systems.
[0062] For example, after receiving a business event message about a change in apartment layout, the cost management system triggers a cost recalculation. Based on the spatial information in the business event message, it retrieves updated BIM model data, recalculates the quantities and costs of the work, and updates the cost data within the system. After receiving a business event message about a change in apartment layout, the sales management system triggers an update of sales data. It marks the apartment layout and generates notification information, and synchronously updates the property listings and sales ledger. After receiving a business event message about a design change, the procurement management system triggers an update of the procurement list. Based on the latest layout and equipment configuration of the BIM model, it adjusts the procurement categories, quantities, and supply plans for building materials and equipment, thereby achieving full-domain data synchronization with the BIM model.
[0063] In the above embodiments, the core of the data synchronization method is the real estate business event hub, where each business system (such as BIM, cost, and sales) is both the publisher and subscriber of events. Business event messages must contain core data identifiers for the real estate industry, such as project IDs and standard spatial ONE IDs (e.g., S5 level) (spatial information).
[0064] Compared with traditional ETL methods, the data synchronization method of this application has the following technical effects: (1) Design change synchronization: Traditional ETL methods are delayed by 1-24 hours and have high risks; the data synchronization method of this application is synchronized in seconds (for example, in the "digital twin building" project, after applying this method, the end-to-end time from design change to sales data update was shortened from an average of 12 hours to less than 90 seconds, achieving true "drawing and model consistency" and setting a new benchmark for the industry), avoiding "goods not matching the description" in real time, avoiding customer claims and brand crises, and estimating that the potential loss of a single project is saved by more than 10 million yuan; (2) Dynamic cost update: Traditional ETL methods are adjusted monthly or quarterly, and cost control is lagging behind; the data synchronization method of this application is synchronized as soon as a change is made, and the cost is known in real time, helping the project to achieve dynamic cost control, and reducing the target cost deviation rate to less than 3%; (3) Cross-departmental collaborative meetings: Traditional ETL methods are frequent and the topics are mostly "checking information"; the data synchronization method of this application focuses on "decision-making" rather than "synchronization", reducing coordination meetings by more than 50% and improving organizational efficiency.
[0065] The data synchronization method proposed in this application has the following technical effects: (1) Semantic abstraction capability of real estate industry business events: This application is not a simple technical event (such as database addition, deletion and modification), but a highly semantic abstraction of core real estate business operations (such as "unit type change" and "material sample recognition"), defining a set of industry-specific event type systems. This is something that general event-driven frameworks do not have, forming an industry knowledge barrier. (2) Deep coupling with predefined space ONE ID: The core of the event message payload is the standard space ONE ID, which makes the event processing accurate to specific rooms or components, realizing the granular synchronization of business objects. Without this standard, it is impossible to achieve the same precision in collaboration. (3) Real-time subscription and routing mechanism based on business rules: The system allows each business system to flexibly subscribe according to its own needs (such as "I only care about major structural changes at the S3 building level"). This filtering and routing based on business semantics ensures the accuracy and efficiency of information distribution and avoids "event storms".
[0066] Figure 3 Another embodiment of this application provides a data synchronization system block diagram.
[0067] like Figure 3 As shown, another embodiment of this application provides a data synchronization system 300, which includes: a generation module 310, a publishing module 320, and a synchronization module 330.
[0068] The generation module 310 is used to generate and send a business event message in response to the detection of a change in the building information model, wherein the business event message includes an event type; The publishing module 320 is used to respond to the received business event message and, based on the preset business subscription rules, publish the business event message to multiple business systems that subscribe to the event type via routing. The preset business subscription rules are set by the multiple business systems according to their needs. The synchronization module 330 is used to respond to received business event messages and modify the information of the business system based on the building information model in order to achieve data synchronization of multiple business systems.
[0069] For example, the generation module 310 is also used to generate a business event message when the event publisher of the building information model detects a change in the building information model. The business event message includes project code, spatial information, timestamp and summary information. The spatial information is encoded based on a predefined spatial classification standard. The event publisher sends the business event message to the business event hub.
[0070] For example, the event types include apartment type changes and design changes, and the business systems include a cost management system, a sales management system, and a procurement management system; the publishing module 320 is also used to publish the business event message to the cost management system and the sales management system via routing when the event type includes apartment type changes; and to publish the business event message to the procurement management system via routing when the event type includes design changes.
[0071] For example, changes to the apartment layout include changes to the spatial dimensions, and changes to the design include changes to the structural materials.
[0072] For example, the synchronization module 330 is further configured to, when the event type includes a change in apartment layout, in response to receiving a business event message, the first event processor of the cost management system obtains updated data of the building information model based on spatial information, and performs cost calculation based on the updated data to update the cost management system; when the event type includes a change in apartment layout, in response to receiving a business event message, the second event processor of the sales management system marks the apartment layout of the sales management system and generates notification information.
[0073] For example, the data synchronization system 300 further includes: a second generation module, configured to generate and send a business event message in response to detecting changes in database log information and / or intercepting a business request, wherein the business event message includes an event type and the database log information includes log information corresponding to the business system.
[0074] For example, the spatial classification standard includes multi-level standards; the multi-level standards include: city-level spatial units, project group-level spatial units, building-level spatial units, floor-level spatial units, room-level spatial units, and component-level spatial units.
[0075] Figure 4 A block diagram of an electronic device provided for another embodiment of this application.
[0076] Another embodiment of this application provides an electronic device having a computer program stored thereon, which, when executed by a processor, implements the steps of the method of any of the above embodiments.
[0077] like Figure 4 As shown, for ease of understanding, embodiments of this application illustrate a specific electronic device 400.
[0078] Electronic device 400 is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. Electronic device 400 may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.
[0079] like Figure 4 As shown, the electronic device 400 includes a computing unit 401, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 402 or a computer program loaded from a storage unit 408 into a random access memory (RAM) 403. The RAM 403 may also store various programs and data required for the operation of the electronic device 400. The computing unit 401, ROM 402, and RAM 403 are interconnected via a bus 404. An input / output (I / O) interface 405 is also connected to the bus 404.
[0080] Multiple components in electronic device 400 are connected to input / output (I / O) interface 405. These components include: input unit 406, such as a keyboard or mouse; output unit 407, such as various types of displays or speakers; storage unit 408, such as a hard disk or optical disk; and communication unit 409, such as a network interface card (NIC), modem, or wireless transceiver. Communication unit 409 allows electronic device 400 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0081] The computing unit 401 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 401 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 401 performs the various methods described above. For example, in some embodiments, any one or more of the various methods described above can be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 408. In some embodiments, part or all of the computer program can be loaded and / or installed on the electronic device 400 via ROM 402 and / or communication unit 409. When the computer program is loaded into RAM 403 and executed by the computing unit 401, one or more steps of any one or more of the various methods described above can be performed. Alternatively, in other embodiments, the computing unit 401 can be configured to perform any one or more of the various methods described above by any other suitable means (e.g., by means of firmware).
[0082] This application provides a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the steps of the method in any of the above embodiments.
[0083] It should be noted that the logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as a sequenced list of executable instructions for implementing logical functions, and can be specifically implemented in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus, or device (such as a computer-based system, a processor-included system, or other system that can fetch and execute instructions from, an instruction execution system, apparatus, or device). For the purposes of this application, "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transmit programs for use by, or in conjunction with, an instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of computer-readable media include: electrical connections (electronic devices) having one or more wires, portable computer disk drives (magnetic devices), random access memory (RAM), read-only memory (ROM), erasable and editable read-only memory (EPROM or flash memory), fiber optic devices, and portable optical disc read-only memory (CDROM). Furthermore, computer-readable media can even be paper or other suitable media on which programs can be printed, because programs can be obtained electronically, for example, by optically scanning the paper or other media, followed by editing, interpreting, or otherwise processing as necessary, and then stored in computer memory.
[0084] It should be understood that various parts of this application can be implemented using hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented using software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, it can be implemented using any one or a combination of the following techniques known in the art: discrete logic circuits having logic gates for implementing logical functions on data signals, application-specific integrated circuits (ASICs) having suitable combinational logic gates, programmable gate arrays (PGAs), field-programmable gate arrays (FPGAs), etc.
[0085] In the description of this application, the references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of this application. In this application, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples.
[0086] In the description of this application, it should be understood that the terms "center", "longitudinal", "lateral", "length", "width", "thickness", "upper", "lower", "front", "rear", "left", "right", "vertical", "horizontal", "top", "bottom", "inner", "outer", "clockwise", "counterclockwise", "axial", "radial", "circumferential", etc., indicating the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings, are only for the convenience of describing this application and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation, and therefore should not be construed as a limitation of this application.
[0087] Furthermore, the terms "first," "second," etc., used in the embodiments of this application are for descriptive purposes only and should not be construed as indicating or implying relative importance, or implicitly specifying the number of technical features indicated in this embodiment. Therefore, features defined with terms such as "first" and "second" in the embodiments of this application can explicitly or implicitly indicate that the embodiment includes at least one of those features. In the description of this application, the word "multiple" means at least two or more, such as two, three, four, etc., unless otherwise explicitly and specifically defined in the embodiments.
[0088] In this application, unless otherwise explicitly specified or limited in the embodiments, the terms "installation," "connection," "joining," and "fixing" appearing in the embodiments should be interpreted broadly. For example, a connection can be a fixed connection, a detachable connection, or an integral part; it can also be a mechanical connection, an electrical connection, etc. Of course, it can also be a direct connection, or an indirect connection through an intermediate medium, or it can be the internal communication between two components, or the interaction between two components. Those skilled in the art can understand the specific meaning of the above terms in this application based on the specific implementation.
[0089] In this application, unless otherwise expressly specified and limited, "above" or "below" the second feature can mean that the first feature is in direct contact with the second feature, or that the first feature is in indirect contact with the second feature through an intermediate medium. Furthermore, "above," "on top of," and "over" the second feature can mean that the first feature is directly above or diagonally above the second feature, or simply that the first feature is at a higher horizontal level than the second feature. "Below," "below," and "under" the second feature can mean that the first feature is directly below or diagonally below the second feature, or simply that the first feature is at a lower horizontal level than the second feature.
[0090] Although embodiments of this application have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting this application. Those skilled in the art can make changes, modifications, substitutions and variations to the above embodiments within the scope of this application.
Claims
1. A data synchronization method, characterized in that, The method includes: In response to the detection of a change in the building information model, a business event message is generated and sent, wherein the business event message includes an event type; In response to receiving the business event message, the business event message is published to multiple business systems that have subscribed to the event type via routing based on preset business subscription rules, wherein the preset business subscription rules are set by the multiple business systems according to their needs; In response to receiving the business event message, the information of the business system is modified based on the building information model to achieve data synchronization of multiple business systems.
2. The method according to claim 1, characterized in that, The step of generating and sending a business event message in response to detecting a change in the building information model includes: The event publisher of the building information model detects a change in the building information model and generates the business event message. The business event message also includes project code, spatial information, timestamp, and summary information. The spatial information is encoded based on a predefined spatial classification standard. The event publisher sends the business event message to the business event hub.
3. The method according to claim 2, characterized in that, The event types include changes to apartment layouts and design changes; the business systems include a cost management system, a sales management system, and a procurement management system. The step of publishing the business event message to multiple business systems that have subscribed to the event type via routing, based on preset business subscription rules, includes: When the event type includes a change in apartment layout, the business event hub will route the business event message to the cost management system and the sales management system. When the event type includes a design change, the business event hub will publish the business event message to the procurement management system via routing.
4. The method according to claim 3, characterized in that, The changes to the apartment layout include changes to the spatial dimensions, and the changes to the design include changes to the structural materials.
5. The method according to claim 3, characterized in that, The response to receiving the business event message, and the modification of information in the business system based on the building information model, includes: When the event type includes a change in apartment layout, in response to receiving the business event message, the first event processor of the cost management system obtains the updated data of the building information model based on the spatial information, and performs cost calculation based on the updated data to update the cost management system; When the event type includes a change in apartment layout, in response to receiving the business event message, the second event processor of the sales management system marks the apartment layout in the sales management system and generates a notification message.
6. The method according to claim 1, characterized in that, The method further includes: In response to detecting changes in database log information and / or intercepting business requests, a business event message is generated and sent, wherein the business event message includes an event type, and the database log information includes log information corresponding to the business system.
7. The method according to claim 2, characterized in that, The spatial classification standard includes multiple levels; the multiple levels include: city-level spatial units, project group-level spatial units, building-level spatial units, floor-level spatial units, room-level spatial units, and component-level spatial units.
8. A data synchronization system, characterized in that, The system includes: A generation module is used to generate and send a business event message in response to the detection of a change in the building information model, wherein the business event message includes an event type; The publishing module is used to respond to the received business event message by publishing the business event message to multiple business systems that subscribe to the event type through routing based on preset business subscription rules, wherein the preset business subscription rules are set by the multiple business systems according to their needs; The synchronization module is used to respond to the received business event message and modify the information of the business system based on the building information model to achieve data synchronization of multiple business systems.
9. An electronic device having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the method described in any one of claims 1-7.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the method described in any one of claims 1-7.