Method, apparatus and computer program product for data push in industrial systems
By acquiring business rule data at the edge of the industrial system, generating structured query instructions, and dynamically filtering and encapsulating target operational data, the problem of heterogeneous protocols and inconsistent formats in data push between industrial systems and IT systems is solved, achieving efficient and reliable data delivery.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SIEMENS (CHINA) CO LTD
- Filing Date
- 2026-05-06
- Publication Date
- 2026-07-31
AI Technical Summary
In existing technologies, heterogeneous protocols and inconsistent data formats between industrial systems and IT systems make it difficult to achieve efficient and reliable data transmission.
By acquiring business rule data at the edge of the industrial system, generating structured query instructions, dynamically filtering and encapsulating target operational data, low-overhead, high-real-time data push can be achieved.
It improves the accuracy, efficiency, and consistency of data delivery from the OT system to the IT system, ensures data format uniformity and parsability, reduces redundant push of invalid data, and improves the timeliness of fault response and the real-time processing capability of the system.
Smart Images

Figure CN122488680A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of industrial control, and more specifically to methods, apparatus and computer program products for data transmission in industrial systems. Background Technology
[0002] In the evolution of intelligent manufacturing, the Factory Monitoring and Management System (FMCS), as the core system of the Industrial Operations Technology (OT) layer, undertakes the real-time acquisition and control of production equipment, energy, and environmental parameters. Its data is deeply integrated with next-generation information technologies such as industrial internet platforms, distributed cloud computing, real-time big data analytics, and AI visual inspection, making data collaboration between FMCS and enterprise information technology (IT) systems a crucial aspect of smart factory construction. Current mainstream practices achieve structured integration between OT and IT systems by establishing unified data standards, building a data platform, and implementing layered security strategies, supporting the full lifecycle management of equipment and the construction of digital twin factories.
[0003] To achieve the aforementioned collaboration, FMCS systems typically collect equipment data based on industrial protocols such as MODBUS and Profinet, while IT systems (IT management platforms) use standard IT protocols such as HTTP / JSON / Protobuf to receive data. Due to differences in data models, field naming conventions, unit systems, and real-time response mechanisms, data exchange between the two systems requires processing steps such as protocol conversion, format mapping, and latency adaptation. Currently, most manufacturing environments still primarily rely on OT-layer data and have not yet achieved end-to-end automated, highly timely, and highly reliable data connectivity. Summary of the Invention
[0004] To address the technical problem of data push difficulties caused by heterogeneous protocols and inconsistent data formats between industrial systems and IT systems in the prior art, this application proposes a method, apparatus, and computer program product for data push in industrial systems.
[0005] According to one aspect of this application, a method for data push in an industrial system is proposed. The method includes: acquiring business rule data, which represents selection conditions that target operating data to be obtained from the operating data of equipment in the industrial system should meet, wherein the operating data is data representing the operating status of the equipment; generating a structured query instruction based on the business rule data, the structured query instruction being used to query the target operating data that meets the selection conditions from the operating data; querying the target operating data in the operating data through the structured query instruction; acquiring the queried target operating data; and pushing at least a portion of the target operating data.
[0006] In this way, the technical solution dynamically generates structured query instructions at the edge of the industrial system, driven by business rules. It then accurately filters out equipment operation data that meets the criteria from a local embedded database, encapsulates the query results, and pushes them to the system. This solution achieves on-demand extraction, structured encapsulation, and reliable delivery of target data from massive amounts of industrial operation data in a low-overhead, high-real-time manner, significantly improving the accuracy, efficiency, and consistency of OT system data delivery to IT systems.
[0007] According to an exemplary embodiment of this application, the method further includes: after obtaining the queried target running data and before pushing at least a portion of the target running data, encapsulating the target running data into a file conforming to a data format for pushing.
[0008] In this way, the technical solution achieves unified formatting and structured encapsulation of data before transmission, ensuring that the data to be pushed has a standardized organizational form, thereby guaranteeing the parsability and consistency of the subsequent push process, avoiding the need for additional parsing at the receiving end due to mixed data formats, and improving data processing efficiency.
[0009] According to an exemplary embodiment of this application, generating a structured query instruction based on the business rule data includes: obtaining structured standard data, the structured standard data representing the structured standard that the structured query instruction should satisfy; and constructing the selection condition into a structured query instruction that satisfies the structured standard based on the structured standard data.
[0010] In this way, based on predefined structured standard data, the selection conditions in business rules are dynamically constructed into structured query instructions that conform to the syntax specifications. This technical solution ensures the executability of query statements and improves the accuracy of data filtering in an embedded environment without an external interpreter or script engine.
[0011] According to an exemplary embodiment of this application, pushing at least a portion of the target operating data includes: performing a check on the data status of the equipment in the industrial system and generating a data status check result; selecting at least a portion of the target operating data to be pushed from the target operating data based on the data status check result; and pushing the selected target operating data to be pushed.
[0012] In this way, the technical solution checks the data status of the device before pushing data and filters the target operating data subset to be pushed based on the check results. This ensures that only valid data that meets the expected status is transmitted, reducing the redundant push of invalid or abnormal data and improving the accuracy of data transmission and network efficiency.
[0013] According to an exemplary embodiment of this application, if the data status check result indicates that the industrial system should perform full data synchronization, then all of the target operating data is selected as the target operating data to be pushed.
[0014] In this way, when the data status check result indicates that full synchronization is required, the technical solution automatically selects all target running data as the content to be pushed, ensuring the complete delivery of data without omission in necessary scenarios, and improving the integrity and reliability of data synchronization.
[0015] According to an exemplary embodiment of this application, when the industrial system is to perform its first synchronization, a check of the data status of the devices in the industrial system will generate a data status check result indicating that the industrial system should perform full data synchronization.
[0016] In this way, the technical solution automatically triggers the generation of data status check results indicating that a full data synchronization is required when the industrial system is synchronized for the first time. This achieves automated identification and forced full-scale triggering of the first data synchronization, ensuring the integrity and consistency of the initial data of the IT system and avoiding synchronization failures caused by missing basic data.
[0017] According to an exemplary embodiment of this application, if the data status check result indicates that the queried target running data has changed, then the target running data that has changed is selected as the target running data to be pushed.
[0018] In this way, when the data status check results identify changes in the target running data, the technical solution selects only the changed data portion as the content to be pushed, realizing incremental push based on change awareness, significantly reducing data transmission volume, and improving synchronization efficiency and system response speed.
[0019] According to an exemplary embodiment of this application, changes in the target operating data include changes in the numerical value of the target operating data and changes in the data type.
[0020] In this way, the technical solution defines changes in the target running data as two scenarios: numerical changes and the addition of new data types. Based on this, incremental push is triggered, which realizes accurate identification of data semantic changes, ensures that structural evolution and value updates can be reliably captured and synchronized, and improves the integrity and adaptability of data consistency maintenance.
[0021] According to an exemplary embodiment of this application, if the data status check result indicates that the data contained in the target running data is abnormal, then the target running data in which the data is abnormal is selected as the target running data to be pushed.
[0022] In this way, when the data status check results identify anomalies in the target operating data, the technical solution selects only the data items with anomalies as the push content, realizing targeted capture of abnormal data and accurate alarm push, improving the timeliness of fault response and the pertinence of operation and maintenance.
[0023] According to an exemplary embodiment of this application, the method further includes: pushing the target runtime data of the exception-causing entity through a separate C++ thread pool.
[0024] In this way, the technical solution uses a dedicated C++ thread pool to handle the push of abnormal target running data, achieving isolated transmission and low-latency response of high-priority abnormal data, ensuring that alarm information is not affected by regular data flow, and improving the system's real-time processing capability for critical faults.
[0025] According to an exemplary embodiment of this application, the file conforming to the data format for push is a key-value pair mapping file, wherein the key-value pair mapping file includes at least data representing keys and corresponding values.
[0026] In this way, the technical solution encapsulates the data to be pushed into a key-value pair mapping file that contains at least a key and its corresponding value, thereby achieving standardized and lightweight expression of the data structure and improving the efficiency and compatibility of data serialization and parsing.
[0027] According to an exemplary embodiment of this application, the operational data conforms to the industrial protocol of the industrial system; and the file conforming to the data format for push conforms to the IT protocol, and the encapsulated target operational data is pushed to the IT system using the IT protocol.
[0028] In this way, the technical solution converts operational data from field sensors in industrial systems, based on industrial protocols, into key-value pair format files that conform to IT protocols and pushes them to the IT system. This achieves seamless protocol conversion and semantic alignment between the raw data of the OT layer and the IT layer system, ensuring the understandability of industrial data in cross-domain environments.
[0029] According to an exemplary embodiment of this application, the operational data includes at least one of device metadata, data point values, and timestamp data, and is stored in a database local to the device.
[0030] In this way, the technical solution stores operational data, including at least one type of information such as equipment metadata, data point values, and timestamps, in the equipment's local database. This achieves structured local collection of industrial field data, ensuring the integrity, timeliness, and traceability of the data source, and providing reliable basic data support for subsequent accurate push notifications.
[0031] According to another aspect of this application, an apparatus for data push in an industrial system is provided. The apparatus includes: a business rule data acquisition module for acquiring business rule data, which represents selection conditions that target operating data to be obtained from the operating data of equipment in the industrial system should meet, wherein the operating data is data representing the operating status of the equipment; a structured query instruction generation module for generating a structured query instruction based on the business rule data, wherein the structured query instruction is used to query the target operating data that meets the selection conditions from the operating data; a target operating data query module for querying the target operating data from the operating data using the structured query instruction; a target operating data acquisition module for acquiring the queried target operating data; and a data push module for pushing at least a portion of the target operating data.
[0032] In this way, the technical solution achieves automated and precise data filtering and push based on dynamic business rules through the collaborative work of five modules: business rule data acquisition, structured query instruction generation, target operation data query, and data acquisition and push. This improves the efficiency and controllability of on-demand extraction and targeted distribution of operation data in industrial systems.
[0033] According to an exemplary embodiment of this application, the apparatus further includes: a data encapsulation module, which encapsulates the target running data into a file conforming to a data format for pushing after obtaining the queried target running data and before pushing at least a portion of the target running data.
[0034] In this way, the technical solution achieves pre-adaptation of data structure and transmission protocol, ensuring the consistency of data format during cross-system push.
[0035] According to another aspect of this application, a computer program product is provided, which includes a computer program that performs the method according to any of the above-described technical solutions when the computer program product is executed on a computer.
[0036] In the embodiments of this application, a method is provided to dynamically generate structured query instructions locally on the edge device according to preset business rules, and after execution by the embedded database engine, output a simplified set containing only abnormal data. Based on the semantic content of the dataset, it is then divided into three types of push channels: batch, incremental, and real-time alarm. The data is sent to a remote IT system via C++ and the receiving confirmation result is obtained. This method at least solves the technical problems in the prior art, such as relying on remote calculation to filter data, uncontrollable latency due to mixed use of push channels, and high risk of abnormal data loss. It achieves the technical effect of accurate push of OT / IT data with low latency, high reliability, and priority in a network-independent environment. Attached Figure Description
[0037] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:
[0038] Figure 1 This is a flowchart of a method for data push in an industrial system according to an embodiment of this application;
[0039] Figure 2 This is a flowchart of a method for data push according to an exemplary embodiment of this application;
[0040] Figure 3 This is a block diagram of an apparatus for data push in an industrial system according to an embodiment of this application;
[0041] Figure 4 This is a block diagram of an apparatus for data push according to exemplary embodiments of this application; and
[0042] Figure 5 This is a block diagram of an industrial system according to an embodiment of this application.
[0043] List of reference numerals in the attached diagram:
[0044] S101~S109: Steps;
[0045] S201~S225: Steps;
[0046] 30: Devices used for data push;
[0047] 301: Business rule data acquisition module;
[0048] 303: Structured query command generation module;
[0049] 305: Target running data query module;
[0050] 307: Target runtime data acquisition module;
[0051] 309: Data push module;
[0052] 311: Data encapsulation module;
[0053] 1: Industrial systems;
[0054] 10: IT systems;
[0055] 50: Equipment. Detailed Implementation
[0056] Hereinafter, embodiments of the present application will be described in detail with reference to the accompanying drawings to facilitate implementation by those skilled in the art. However, the present application may be implemented in many different forms and should not be construed as limited to the embodiments described herein. In the drawings, portions unrelated to the description of the present application will be omitted for clarity. Similar reference numerals refer to similar elements throughout the description. Furthermore, while elements are represented by the same numerals in the description provided with reference to the accompanying drawings, the reference numerals relating to the elements may be varied, and the reference numerals are described only for convenience of description and should not be construed as limiting the concept, features, function, or effect of the elements to the reference numerals.
[0057] To facilitate understanding of the technical solutions in this application, the following non-restrictive terminology is provided:
[0058] Industrial systems
[0059] This refers to automated production or monitoring systems used in fields such as manufacturing, energy, and process industries. These systems include field devices, sensors, actuators, PLCs, control units, and local data storage, and operate based on industrial protocols (such as MODBUS and Profinet) to collect and process real-time operational data.
[0060] Running data
[0061] This refers to any structured or semi-structured data generated, collected, or produced by various software and hardware nodes in an industrial system that reflects the operating status of equipment and processes. Its sources are not limited to sensors, but can also come from programmable logic controllers (PLCs), human-machine interfaces (HMIs), edge gateways, historical databases, equipment control modules, maintenance log systems, energy metering devices, vision inspection systems, etc., including but not limited to equipment status, measured values, diagnostic information, timestamps, etc.
[0062] Business rule data
[0063] This refers to logical rules configured by the user or system to define the filtering conditions for target runtime data, such as "temperature > 100℃ and duration > 5s" or "device type = sensor and status = abnormal", which are used to guide the semantic filtering of data queries.
[0064] Structured query command
[0065] This refers to a standardized set of commands used to retrieve, filter, or manipulate data from a structured data storage system. In the technical solution of this application, Structured query command It can be any instruction form that conforms to the preset field structure, logic and syntax specifications and can be parsed and executed by the database engine. Structured query command Includes but is not limited to Structured query statements, such asQuery commands that conform to standard SQL syntax are used to accurately extract target runtime data from the local database that meets the conditions defined by the business rules.
[0066] Target running data
[0067] This refers to a specific subset of data that meets the conditions set by business rules and is selected from the running data through structured query commands. It is the direct object for subsequent encapsulation and push.
[0068] Data encapsulation module
[0069] This refers to a logical unit used to convert target runtime data into a unified format file. Its output is a structured, transmittable data file (such as JSON or Protocol Buffer) to adapt to the target system's receiving protocol.
[0070] Files conforming to the data format used for push
[0071] This refers to a standardized and packaged data file designed to adapt to the receiving specifications of IT systems (IT management platforms). Its format follows IT protocols (such as HTTP / HTTPS, REST, JSON Schema), differing from the original data structure of industrial protocols, to ensure cross-system parsing.
[0072] Data push module
[0073] This refers to a communication component responsible for sending the packaged target runtime data to an IT system or other remote system. It supports synchronous / asynchronous transmission and has basic transmission control capabilities such as retry, acknowledgment, and logging.
[0074] Device
[0075] This refers to a hardware and software integrated unit that implements the data push function of this invention in an industrial system. It includes multiple logical modules (such as query, encapsulation, and push) and can be deployed on an edge gateway, industrial control computer, or local server. It can run independently without relying on external cloud services.
[0076] According to one aspect of this application, a method for data push in an industrial system is proposed. Figure 1 This is a flowchart of a method for data push in an industrial system according to an embodiment of this application. Figure 1 As shown, the method includes the following steps.
[0077] Step 101: Obtain business rule data. This business rule data represents the selection conditions that the target operating data to be obtained from the operating data of the equipment in the industrial system should meet. This operating data is data that represents the operating status of the equipment.
[0078] Specifically, in step 101, the system first acquires "business rule data." According to an exemplary implementation, this data is pre-configured filtering logic that defines "which operational data needs to be extracted," such as "the real-time value of the temperature sensor exceeds 100°C and lasts for more than 5 seconds" or "the device type is an actuator and its status is faulty." Here, "operational data" refers to data reflecting the working status of various field devices in an industrial system, collected and stored in real time during operation, such as temperature, pressure, switch status, diagnostic codes, and corresponding timestamps. This data is typically stored at the device edge in the form of a local database. According to an exemplary implementation, the business rule data is not raw data, but a semantic filtering rule set by maintenance personnel or the upper-level management system according to actual business needs, such as focusing only on abnormal operating conditions or alarms of critical equipment. According to an exemplary implementation, this step may not directly read the data, but rather provide "filtering criteria" for subsequent query operations. It is the starting control point of the entire data push process, ensuring that subsequent operations only process meaningful subsets of data that conform to business intent, avoiding redundant transmission and processing of invalid data.
[0079] According to an exemplary embodiment of this application, the operational data conforms to the industrial protocol of the industrial system and is acquired through sensors on-site at the equipment. According to an exemplary embodiment of this application, the operational data includes at least one of equipment metadata, data point values, and timestamp data, and is stored in a local database on the equipment. In this way, the technical solution stores operational data containing at least one of equipment metadata, data point values, and timestamps in the local database of the equipment, achieving structured local aggregation of industrial field data, ensuring the integrity, timeliness, and traceability of the data source, and providing reliable basic data support for subsequent accurate data delivery.
[0080] Next, step 103 is executed, generating a structured query instruction based on the business rule data. This structured query instruction is used to query the target running data that meets the selection criteria from the running data.
[0081] Specifically, in step 103, a "structured query instruction" is dynamically generated based on the "business rule data" obtained in the previous step. This instruction, for example, can be an instruction conforming to standard SQL syntax, used to accurately retrieve "target operating data" that meets the aforementioned filtering conditions from the local database of the industrial system. For example, if the business rule data is "device type = sensor and point_value > 95 and last_updated > '2024-06-01T08:00:00Z'", this step will convert it into an SQL statement similar to SELECT * FROM sensor_data WHERE device_type = 'sensor' AND point_value > 95 AND last_updated > '2024-06-01T08:00:00Z'. This process is automatically completed by the system's internal "structured query instruction generation module" without manual intervention. Its core logic is to map human-readable business conditions (such as thresholds, time windows, and device types) into database-executable query instructions. This statement directly operates on the "operational data" database stored locally on the device, as mentioned above. It performs data filtering through the database engine to accurately locate the "target operational data" that matches the business intent—that is, the real-time or historical operation records that truly need to be pushed and have business value.
[0082] Next, step 105 is executed, which uses the structured query command to query the target running data in the running data.
[0083] Specifically, in step 105, the system sends the "structured query command" generated in the previous step (such as SELECT *FROM sensor_data WHERE point_value > 95 AND last_updated > '2024-06-01T08:00:00Z') to the local database engine of the industrial system. This engine then performs the actual data retrieval operation, filtering specific data records from the stored "operational data" that meet the conditions defined by the business rules. These successfully matched data are the "target operational data." Here, "operational data" refers to the raw operational status information continuously collected by sensors near the field equipment and written to the local database, including structured fields such as point values, timestamps, and equipment identifiers. The "structured query command," as an executable database command, can efficiently utilize indexing and query optimization mechanisms to accurately filter massive amounts of time-series data within milliseconds. This step does not involve data transmission or format conversion; it focuses solely on reading and matching local data sources. The result is a collection containing all eligible running data, providing clear and non-redundant data input for subsequent "target running data acquisition" and "packaging and pushing," thus ensuring the accuracy and efficiency of data processing.
[0084] Next, proceed to step 107 to obtain the target's running data.
[0085] Specifically, in step 107, after the system filters the local operating data using structured query instructions in step 105, it extracts all "target operating data" that meet the conditions from the database query results. These are the specific data records that truly satisfy the conditions defined by the business rules, such as multiple timestamped point value records of a temperature sensor exceeding a threshold within a specified time window. Essentially, this step provides the query result set returned by the database (such as row records returned by an SQL query) for direct use by subsequent modules. This step relies on the query statements and database access mechanisms established in the preceding steps, and its output serves as the input to the "data encapsulation module."
[0086] Next, proceed to step 109, pushing at least a portion of the target's running data.
[0087] Specifically, in step 109, the system sends at least a portion (such as all data, a subset of key fields, or records that meet priority conditions) of the "target running data" acquired in the previous step to an external system (such as an IT system or cloud analytics service) through a preset communication channel. For example, this push behavior is based on an established transmission protocol (such as HTTPS, ESB), transmitting only necessary data to reduce bandwidth consumption and processing overhead. The pushed content can be raw data, some fields, or pre-processed aggregated values, depending on the configuration strategy.
[0088] In this way, the technical solution dynamically generates structured query instructions at the edge of the industrial system, driven by business rules. It then accurately filters out equipment operation data that meets the criteria from a local embedded database, encapsulates the query results, and pushes them. This solution achieves on-demand extraction, structured encapsulation, and reliable delivery of target data from massive amounts of industrial operation data in a low-overhead, high-real-time manner, significantly improving the accuracy, efficiency, and consistency of data delivery from OT (Operational Technology) systems to IT systems.
[0089] According to an exemplary embodiment of this application, the method further includes: after obtaining the queried target operational data and before pushing at least a portion of the target operational data, encapsulating the target operational data into a file conforming to a data format for pushing. For example, the file conforming to the data format for pushing conforms to an IT protocol, and the encapsulated target operational data is pushed to an IT system using the IT protocol. In this way, the technical solution converts operational data originating from field sensors in industrial systems and based on industrial protocols into a key-value pair format file conforming to the IT protocol and pushes it to the IT system, achieving seamless protocol conversion and semantic alignment between the raw data of the OT layer and the IT layer system, ensuring the understandability of industrial data in a cross-domain environment.
[0090] Specifically, after obtaining the queried "target running data" and before executing the push operation, this embodiment further introduces a data encapsulation step: the system uniformly converts the original running data (such as device ID, timestamp, location value, unit and other structured fields) extracted from the local database and conforming to business rules into a predefined "file conforming to the data format for push" that conforms to the target IT system's receiving specifications, such as a JSON or Protocol Buffer key-value pair mapping file (.map).
[0091] According to an exemplary embodiment of this application, the key-value pair mapping file includes at least data representing keys and their corresponding values. In this way, the technical solution encapsulates the data to be pushed into a key-value pair mapping file that at least contains keys and their corresponding values, achieving standardized and lightweight expression of data structures and improving the efficiency and compatibility of data serialization and parsing.
[0092] In one exemplary implementation, the encapsulation process is automatically completed by the "data encapsulation module" inside the system. Its logic includes unit standardization (such as converting °F to °C), timestamp format unification, data compression, etc., to ensure that the output file has a clear structure, clear semantics, and can be directly parsed by the target platform, thereby eliminating transmission failures or parsing errors caused by inconsistent data formats.
[0093] In this way, the technical solution achieves unified formatting and structured encapsulation of data before transmission, ensuring that the data to be pushed has a standardized organizational form, thereby guaranteeing the parsability and consistency of the subsequent push process, avoiding the need for additional parsing at the receiving end due to mixed data formats, and improving data processing efficiency.
[0094] According to an exemplary embodiment of this application, generating a structured query instruction based on the business rule data includes: obtaining structured standard data, which represents the structured standards that the structured query instruction should meet; and constructing the selection condition into a structured query instruction that satisfies the structured standards based on the structured standard data. In an exemplary embodiment, the selection condition is constructed into a structured query instruction that satisfies the structured standards using C language.
[0095] Specifically, in the exemplary embodiments of this application, the process of generating a "structured query instruction" can be to directly concatenate business rule data into an SQL statement. Alternatively, a set of predefined "structured standard data" can be obtained first—this data is a template or rule set embedded in the system used to standardize the syntax structure of SQL statements, ensuring that the generated SQL statement fully complies with the access standards of industrial databases in terms of syntax, field naming, data type, and security specifications. Subsequently, the system uses a parsing engine written in C language to take the aforementioned "business rule data" (such as "temperature > 100 and device type is sensor") as input, and dynamically concatenates and constructs a compliant and executable "structured query instruction" based on the semantic rules in the structured standard data. This achieves a reliable and automated conversion from unstructured business intent to highly standardized SQL instructions, improving the robustness and maintainability of the system in heterogeneous industrial environments.
[0096] In this way, by using the C language to dynamically construct the selection conditions in business rules into structured query instructions that conform to the syntax specifications based on predefined structured standard data, this technical solution ensures the executability of query statements and improves the accuracy of data filtering in an embedded environment without an external interpreter or script engine.
[0097] According to an exemplary embodiment of this application, pushing at least a portion of the target operating data includes: performing a check on the data status of the equipment in the industrial system and generating a data status check result; selecting at least a portion of the target operating data to be pushed from the target operating data based on the data status check result; and pushing the selected target operating data.
[0098] Specifically, the exemplary embodiments of this application introduce a dynamic data status check mechanism during the process of pushing "target runtime data": after the acquisition and encapsulation of the target runtime data are completed, a push-ready status check is first performed. Based on the device data status in the system, only the necessary subset of data is pushed to the IT system, for example, via HTTPS or ESB channels.
[0099] In this way, the technical solution checks the data status of the device before pushing data and filters the target operating data subset to be pushed based on the check results. This ensures that only valid data that meets the expected status is transmitted, reducing the redundant push of invalid or abnormal data and improving the accuracy of data transmission and network efficiency.
[0100] Figure 2 This is a flowchart of a method for data push according to an exemplary embodiment of this application. Figure 2 As shown, in step S201, a data status check is initiated. If the data status check result indicates that the industrial system should perform full data synchronization, then all of the target operating data is selected as the target operating data to be pushed.
[0101] Specifically, for example, when the industrial system is to perform its first synchronization, in step S211, the data status check of the devices in the industrial system will generate a data status check result indicating that the industrial system should perform a full data synchronization. In step S221, the full dataset (including device metadata and real-time location values) is synchronized to the IT system using C++. In an exemplary embodiment, batch compressed transmission is used during the first synchronization.
[0102] In this way, the technical solution automatically triggers the generation of data status check results indicating that a full data synchronization is required when the industrial system is synchronized for the first time. This achieves automated identification and forced full-scale triggering of the first data synchronization, ensuring the integrity and consistency of the initial data of the IT system and avoiding synchronization failures caused by missing basic data.
[0103] According to an exemplary embodiment of this application, if the data status check result indicates that the queried target running data has changed, then the target running data that has changed is selected as the target running data to be pushed.
[0104] Specifically, for example, in step S213, the data status check result indicates that the queried target running data has changed. This change includes both numerical changes and changes in the data type. Specifically, the "data type" here can refer to the type or attribute definition of a data field. In step S223, based on the Change Data Capture (CDC) mechanism, incremental change records (including add / update / delete operations) are synchronized to the IT system via HTTPS. In an exemplary implementation, incremental updates are achieved through a difference comparison algorithm.
[0105] In this way, when the data status check results identify changes in the target running data, the technical solution selects only the changed data portion as the content to be pushed, realizing incremental push based on change awareness, significantly reducing data transmission volume, and improving synchronization efficiency and system response speed.
[0106] According to an exemplary embodiment of this application, if the data status check result indicates that the data contained in the target running data is abnormal, then the target running data in which the data is abnormal is selected as the target running data to be pushed.
[0107] Specifically, in step S215, the data status check result indicates that the data contained in the target operating data has become abnormal. In step S225, the abnormal target operating data is pushed through a separate C++ thread pool. In an exemplary embodiment, the C++ thread pool handles the push of high-priority alarm data. For example, based on an alarm event trigger, critical equipment abnormal data (including diagnostic codes and timestamps) is automatically compressed into a JSON format message and routed to the IT system via the Enterprise Service Bus (ESB) for alarm purposes. Furthermore, an acknowledgment receipt can be received from the IT system to ensure that the abnormal data used for alarms is successfully received.
[0108] In this way, when the data status check results identify anomalies in the target operating data, this technical solution selects only the data items with the anomalies as the push content, achieving targeted capture of abnormal data and accurate alarm push, thus improving the timeliness of fault response and the pertinence of operation and maintenance. The technical solution uses a dedicated C++ thread pool to handle the push of abnormal target operating data, achieving isolated transmission and low-latency response of high-priority abnormal data, ensuring that alarm information is not affected by regular data flow, and improving the system's real-time handling capability for critical faults.
[0109] According to another aspect of this application, an apparatus 30 for data push in an industrial system is provided. Figure 3 This is a block diagram of a data push device in an industrial system according to an embodiment of this application. Figure 3As shown, the device includes 30: a business rule data acquisition module 301, a structured query instruction generation module 303, a target operation data query module 305, a target operation data acquisition module 307, and a data push module 309.
[0110] The business rule data acquisition module 301 acquires business rule data, which represents the selection conditions that the target operating data to be obtained from the operating data of the equipment in the industrial system must meet. This operating data represents the operating status of the equipment. The structured query instruction generation module 303 generates a structured query instruction based on the business rule data. This instruction is used to query the target operating data from the operating data that meets the selection conditions. In other words, standardized data modeling is performed, establishing a unified data specification and interface protocol across subsystems (different equipment). The target operating data query module 305 queries the target operating data from the operating data using the structured query instruction. The target operating data acquisition module 307 acquires the queried target operating data. In other words, heterogeneous data acquisition is performed, using, for example, C language combined with embedded SQL to implement data querying and aggregation across multiple subsystems (different equipment). The data push module 309 pushes at least a portion of the target operating data. For example, the data push module 309 performs the following based on the hierarchical push mechanism described above: full data push: batch compression transmission is used during the initial synchronization; incremental data push: incremental updates are achieved through a difference comparison algorithm; and real-time alarm push: an independent C++ thread pool is established to handle high-priority alarm data pushes. Thus, the device executes a C / C++ hybrid architecture data push method.
[0111] In this way, the technical solution achieves automated and precise data filtering and push based on dynamic business rules through the collaborative work of five modules: business rule data acquisition, structured query instruction generation, target operation data query, and data acquisition and push. This improves the efficiency and controllability of on-demand extraction and targeted distribution of operation data in industrial systems.
[0112] Figure 4 This is a block diagram of an apparatus for data push according to an exemplary embodiment of this application. Figure 4 As shown, according to an exemplary embodiment of this application, the device 30 further includes a data encapsulation module 311. After acquiring the queried target running data and before pushing at least a portion of the target running data, the data encapsulation module 311 encapsulates the target running data into a file conforming to a data format for pushing. In other words, the data encapsulation module 311 performs data encapsulation processing, implementing data serialization based on C++, for example, packaging structured data into a binary file format.
[0113] In this way, the technical solution achieves pre-adaptation of data structure and transmission protocol, ensuring the consistency of data format during cross-system push.
[0114] The method for data push in an industrial system according to another aspect of this application has been described above and will not be repeated here.
[0115] Figure 5 This is a block diagram of an industrial system according to an embodiment of this application. For example... Figure 5 As shown, the device 30 for data push executes a C / C++ hybrid architecture data push method, obtains industrial protocol operation data from device 50 (or subsystem), converts it into IT protocol data, and sends it to IT system 10.
[0116] According to another aspect of this application, a computer program product is provided, which includes a computer program that executes the method according to the above-described technical solution when the computer program product is executed on a computer.
[0117] In the above embodiments of this application, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0118] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. The device embodiments described above are merely illustrative; for example, the division of units or modules is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units, modules, or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual coupling, direct coupling, or communication connection may be through some interfaces; the indirect coupling or communication connection of modules or units may be electrical or other forms.
[0119] The units or modules described as separate components may or may not be physically separate. The components shown as units or modules may or may not be physical units or modules; that is, they may be located in one place or distributed across multiple network units or modules. Some or all of the units or modules can be selected to achieve the purpose of this embodiment according to actual needs.
[0120] Furthermore, the functional units or modules in the various embodiments of this application can be integrated into one processing unit or module, or each unit or module can exist physically separately, or two or more units or modules can be integrated into one unit or module. The integrated units or modules described above can be implemented in hardware or in the form of software functional units or modules.
[0121] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard drive, magnetic disk, or optical disk.
[0122] The above description is only a preferred embodiment of this application. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of this application, and these improvements and modifications should also be considered within the scope of protection of this application.
Claims
1. A method for data push in an industrial system, characterized in that, The method includes: Obtain business rule data, which represents the selection conditions that the target operating data to be obtained from the operating data of the equipment in the industrial system should meet. The operating data is data representing the operating status of the equipment, and the operating data is stored in the local database or edge database of the equipment. Generate structured query instructions based on the business rule data; The target running data is queried from the running data using the structured query command; Obtain the target runtime data obtained from the query; and Push at least a portion of the target operational data to the IT system.
2. The method according to claim 1, characterized in that, The method further includes: Before pushing at least a portion of the target running data, the target running data is encapsulated into a file that conforms to the data format used for pushing.
3. The method according to claim 1 or 2, characterized in that, Generating structured query instructions based on the aforementioned business rule data includes: Obtain structured standard data, wherein the structured standard data represents the structured standards that the structured query instruction should satisfy; and Based on the structured standard data, the selection criteria are constructed into a structured query instruction that satisfies the structured standard.
4. The method according to claim 1 or 2, characterized in that, At least a portion of the target runtime data being pushed includes: Perform a data status check on the equipment in the industrial system and generate data status check results; Based on the data status check results, at least a portion of the target running data to be pushed is selected from the target running data; and Push the selected target running data.
5. The method according to claim 4, characterized in that: If the data status check result indicates that the industrial system should perform full data synchronization, then all the target operating data is selected as the target operating data to be pushed.
6. The method according to claim 4, characterized in that: If the data status check result indicates that the queried target running data has changed, then the target running data that has changed is selected as the target running data to be pushed.
7. The method according to claim 6, characterized in that: The changes in the target operating data include both numerical changes and changes in the data type.
8. The method according to claim 4, characterized in that: If the data status check result indicates that the data contained in the target running data is abnormal, then the target running data in which the data is abnormal is selected as the target running data to be pushed.
9. The method according to claim 8, characterized in that, The method further includes: The target runtime data that caused the exception is pushed through a separate thread pool.
10. The method according to claim 2, characterized in that: The operational data conforms to the industrial protocol of the industrial system; and The file conforming to the data format used for pushing conforms to the IT protocol, and the encapsulated target runtime data is pushed to the IT system using the IT protocol.
11. A device (30) for data push in an industrial system, characterized in that, The device (30) includes: The business rule data acquisition module (301) acquires business rule data, which represents the selection conditions that the target operating data to be acquired from the operating data of the equipment in the industrial system should meet, and the operating data is data representing the operating status of the equipment. The structured query instruction generation module (303) generates a structured query instruction based on the business rule data. The structured query instruction is used to query the target running data that meets the selection conditions from the running data. The target running data query module (305) queries the target running data in the running data through the structured query instruction; The target running data acquisition module (307) acquires the queried target running data; and The data push module (309) pushes at least a portion of the target running data.
12. The apparatus (30) according to claim 11, characterized in that, The device (30) further includes: The data encapsulation module (311) encapsulates the target running data into a file conforming to the data format for pushing after obtaining the queried target running data and before pushing at least a portion of the target running data.
13. A computer program product, characterized in that: The computer program product includes a computer program that, when run on a computer including the computer program product, performs the method according to any one of claims 1 to 10.