Method and apparatus for generating data flow model, electronic device, and storage medium

EP4758851A1Pending Publication Date: 2026-06-17SIEMENS AG

Patent Information

Authority / Receiving Office
EP · EP
Patent Type
Applications
Current Assignee / Owner
SIEMENS AG
Filing Date
2023-09-25
Publication Date
2026-06-17

Smart Images

  • Figure CN2023121219_03042025_PF_FP_ABST
    Figure CN2023121219_03042025_PF_FP_ABST
Patent Text Reader

Abstract

The present disclosure relates to a method and apparatus for generating a data flow model, an electronic device, and a storage medium. The method for generating a data flow model includes: collecting, based on a communication protocol used between communication nodes that perform communication, information data of the communication nodes by using a pre-configured model collection configuration file to obtain a data model corresponding to the communication protocol, and converting the data model into an entity instance, where the data model is described by using an entity model; converting the entity instance into a data flow instance by using a pre-configured model binding configuration file; and generating a data flow model instance in a pre-determined format based on the entity instance and the data flow instance.
Need to check novelty before this filing date? Find Prior Art

Description

METHOD AND APPARATUS FOR GENERATING DATA FLOW MODEL, ELECTRONIC DEVICE, AND STORAGE MEDIUMTECHNICAL FIELD

[0001] The present disclosure generally relates to the field of automation technologies, and more specifically, to a method and apparatus for generating a data flow model, an electronic device, and a storage medium.BACKGROUND

[0002] To adapt to the fast changing economic environment and customer requirements, an automation system has become more modular, decentralized, and flexible. Components, applications (Apps) , and devices are interconnected to construct a complete automation system solution.

[0003] In this case, observability is very important for users to get a complete view of the system, thereby supporting continuous monitoring and maintenance of the system.

[0004] However, there are also some problems:

[0005] No single communication protocol can meet all requirements for connections, such as connections between Apps, devices, edges, and clouds. Therefore, in one solution, there may be a plurality of communication protocols, such as OPC UA, data distribution service (DDS) , and message queuing telemetry transport (MQTT) (refer to FIG. 1) .

[0006] Even if one communication protocol is used, as the system is constructed based on different data models, such as MQTT with a custom data model or MQTT with a SparkPlug standard, it is still difficult to get a complete view of data flows of the system.

[0007] The automation system changes dynamically (such as addition of new Apps or devices) , and common methods for static model integration are not suitable.SUMMARY

[0008] A brief overview of the present disclosure is given below to provide a basic understanding of certain aspects of the present disclosure. It should be understood that this summary is not an exhaustive overview of the present disclosure. It is not intended to determine key or important parts of the present disclosure, nor is it intended to limit the scope of the present disclosure. The purpose is merely to present some concepts in a simplified  form as a prelude to the more detailed description that is discussed later.

[0009] In view of this, for a distributed automation system including a plurality of communication nodes (components, Apps, and devices) that perform communication by using different communication protocols, the present disclosure proposes a method that can provide a unified data flow model. First, a unified data flow model is defined, data flow model instances in a unified format may be generated respectively for different communication protocols, and the data flow model instances in the unified format are integrated into a model memory. Then, after visualization through a user interface, a user may obtain an overall view of data flows of the entire system, thereby implementing continuous monitoring and maintenance of the system.

[0010] According to one aspect of the present disclosure, a method for generating a data flow model is provided, including:

[0011] collecting, based on a communication protocol used between communication nodes that perform communication, information data of the communication nodes by using a pre-configured model collection configuration file to obtain a data model corresponding to the communication protocol, and converting the data model into an entity instance, where the data model is described by using an entity model;

[0012] converting the entity instance into a data flow instance by using a pre-configured model binding configuration file; and

[0013] generating a data flow model instance in a pre-determined format based on the entity instance and the data flow instance.

[0014] In this manner, data flow model instances in a unified format can be generated respectively for different communication protocols.

[0015] Optionally, in an example of the aspect, the entity model is a pre-defined metamodel including a basic attribute of an entity, and the basic attribute includes an ID, a name, and a type of the entity.

[0016] In this manner, a metamodel of an entity may be defined as required, to describe data models corresponding to different communication protocols.

[0017] Optionally, in an example of the aspect, the entity instance includes a list of different types of entities, and includes a basic attribute and an additional attribute for each entity.

[0018] Optionally, in an example of the aspect, the model collection configuration file describes information required for collecting the information data of the communication nodes, including: a communication protocol type, a connection attribute, and a mapping relationship between a data model and an entity model.

[0019] Optionally, in an example of the aspect, the model binding configuration file defines a data flow model and a mapping relationship between an entity instance and a data flow model.

[0020] Optionally, in an example of the aspect, the data flow model is a pre-defined information model for describing communication nodes, a connection between communication nodes and a data transmission direction, including at least one of the following: an entity, a node, a group, a bridge, and a data point.

[0021] In this manner, collected data models may be converted into data flow model instances in a unified format by using a pre-defined model collection configuration file and model binding configuration file.

[0022] Optionally, in an example of the aspect, the method further includes: updating the generated data flow model instance.

[0023] In this manner, when a new App or device is added to a system, the data flow model instance may be updated dynamically.

[0024] According to another aspect of the present disclosure, a method for generating a unified data flow model is provided, applied to a distributed automation system, including:

[0025] performing the method described above respectively for different communication protocols in the distributed automation system, to obtain corresponding data flow model instances;

[0026] integrating the obtained data flow model instances; and

[0027] visualizing the integrated data flow model instances for presentation to a user.

[0028] According to another aspect of the present disclosure, an apparatus for generating a data flow model is provided, including:

[0029] an entity instance conversion unit, configured to collect, based on a communication protocol used between communication nodes that perform communication, information data of the communication nodes by using a pre-configured model collection configuration file to obtain a data model corresponding to the communication protocol, and convert the data model into an entity instance, where the data model is described by using an entity model;

[0030] a data flow instance conversion unit, configured to generate a data flow instance based on the entity instance and configuration information in a pre-configured model binding configuration file; and

[0031] a data flow model instance generation unit, configured to generate a data flow model instance in a pre-determined format based on the entity instance and the data flow instance.

[0032] According to another aspect of the present disclosure, an electronic device is provided,  including: at least one processor; and a memory coupled to the at least one processor. The memory is configured to store an instruction, and the instruction, when executed by the at least one processor, causes the processor to perform the method described above.

[0033] According to another aspect of the present disclosure, a non-transitory machine-readable storage medium is provided, storing an executable instruction. The instruction, when executed, causes the machine to perform the method described above.

[0034] According to another aspect of the present disclosure, a computer program product is provided. The computer program product is tangibly stored in a computer-readable medium, and includes a computer-executable instruction, and the computer-executable instruction, when executed, causes at least one processor to perform the method described above.

[0035] According to the technical solutions of the present disclosure, a unified data flow model may be generated automatically, and data flow model instances obtained for different protocols based on the unified data flow model may be integrated and provided to a user. In this manner, the user may obtain an overall view of data flows of an entire system, thereby implementing continuous monitoring and maintenance of the system. In addition, a new flow data model may be conveniently extended by adding information to a model binding configuration file, without additional development effort.BRIEF DESCRIPTION OF THE DRAWINGS

[0036] Referring to the following descriptions of the embodiments of the present disclosure in combination with the accompanying drawings, the foregoing and other objectives, features, and advantages of the present disclosure may be more easily understood. Components in the accompanying drawings are merely shown for demonstrating the principle of the present disclosure. In the accompanying drawings, the same or similar technical features or components may be represented by using the same or similar reference numerals. In the accompanying drawings:

[0037] FIG. 1 is a schematic architectural diagram of a distributed automation system;

[0038] FIG. 2 is a flowchart of an exemplary process of a method for generating a data flow model according to an embodiment of the present disclosure;

[0039] FIG. 3 is a schematic diagram of a specific example of a unified data flow model;

[0040] FIG. 4 is a flowchart of an exemplary process of a method for generating a unified data flow model in a distributed automation system according to another embodiment of the present disclosure;

[0041] FIG. 5 is a block diagram of an exemplary configuration of an apparatus for generating a data flow model according to another embodiment of the present disclosure; and

[0042] FIG. 6 is a block diagram of an electronic device according to an embodiment of the present disclosure.

[0043] Reference numerals are as follows: DETAILED DESCRIPTION

[0044] A subject described in this specification is discussed now with reference to exemplary implementations. It should be understood that these embodiments are discussed only to enable persons skilled in the art to better understand and implement the subject described herein, rather than limit the protection scope set forth in the claims, applicability, or examples. Changes may be made to the functions and arrangements of the discussed elements without departing from the protection scope of the content of the present disclosure. Various processes or components may be omitted, replaced, or added in each example as required. For example, the described method may be performed in an order different from that  described, and steps may be added, omitted, or combined. In addition, features described in some examples may also be combined in other examples.

[0045] As used in this specification, the term "include" and variants thereof represent open terms, and mean "include but not limited to" . The term "based on" represents "at least partially based on" . The terms "one embodiment" and "an embodiment" represent "at least one embodiment" . The term "another embodiment" represents "at least one another embodiment" . The terms "first" , "second" , and the like may refer to different objects or a same object. Other explicit and implicit definitions may be included below. Unless otherwise clearly specified, the definition of one term is consistent in the entire specification.

[0046] FIG. 1 is a schematic architectural diagram of a distributed automation system.

[0047] It can be seen that, the distributed automation system in FIG. 1 includes three Apps 102-1, 102-2, and 102-3 that perform communication by using a DDS protocol 102, three Apps 104-1, 104-2, and 104-3 that perform communication by using a ROS2 protocol 104 on DDS, and two Apps 106-1 and 106-2 that perform communication by using an MQTT protocol 106. A DDS-ROS2 bridge App 103 is used for communication between DDS and ROS2, and a DDS-MQTT bridge App 105 is used for communication between DDS and the MQTT protocol.

[0048] The Apps may be collectively referred to as a communication node. In the distributed automation system shown in FIG. 1, all communication nodes are Apps. It may be understood that, the communication node may alternatively be another element such as a component or a device.

[0049] As described above, a solution is expected to be capable of learning data flows between the communication nodes that perform communication by using different communication protocols.

[0050] In view of this, for a distributed automation system including a plurality of communication nodes (components, Apps, and devices) that perform communication by using different communication protocols, the present disclosure proposes a method that can provide a unified data flow model. First, a unified data flow model is defined, a data flow model instance in a unified format may be generated for each communication protocol, and data flow model instances in the unified format are integrated into a model memory. Then, after visualization through a user interface, a user may obtain an overall view of data flows of the entire system, thereby implementing continuous monitoring and maintenance of the system.

[0051] The following describes a method and apparatus for generating a data flow model  according to embodiments of the present disclosure with reference to accompanying drawings.

[0052] FIG. 2 is a flowchart of an exemplary process of a method 200 for generating a data flow model according to an embodiment of the present disclosure.

[0053] The method 200 is performed for communication nodes that perform communication by using a specific communication protocol in a distributed automation system.

[0054] First, in step S202, based on the communication protocol used between the communication nodes that perform communication, information data of the communication nodes is collected by using a pre-configured model collection configuration file to obtain a data model corresponding to the communication protocol, and the data model is converted into an entity instance. The data model is described by using an entity model.

[0055] The used communication protocol may be, for example, an OPC UA protocol, a DDS protocol, or an MQTT protocol.

[0056] The entity is a metamodel concept, including only a most basic attribute, for example, an ID, a name, and a type. The entity model is a pre-defined metamodel, and may be used to describe various data models from different communication protocols. The entity model includes a most basic attribute, for example, an ID, a name, and a type, of an entity. Extended types of the entity share the attribute of the entity, and respectively have different attributes.

[0057] The entity instance includes a list of a plurality of different types of entities, and includes a basic attribute of each entity and an additional attribute obtained in the information data collection process. Different entities have different additional attributes. For example, a node has node state information, and a data point has information such as a data type.

[0058] For different communication protocols, corresponding model collection configuration files are pre-configured. The model collection configuration file describes information required when the information data of the communication nodes is collected, for example, information such as a communication protocol type, a connection attribute (such as an IP port) , and a mapping relationship between a data model and an entity model.

[0059] With different model collection configuration files, data models may be collected for different communication protocols.

[0060] Next, in step S204, the entity instance is converted into a data flow instance by using a pre-configured model binding configuration file.

[0061] The model binding configuration file defines how to use a pre-defined data flow model to map an entity instance to a data flow instance.

[0062] The data flow model is a pre-defined information model for describing communication  nodes, a connection between communication nodes and a data transmission direction. FIG. 3 is a schematic diagram of a specific example of a unified data flow model. As shown in FIG. 3, the data flow model first includes an entity. All extended models in the data flow model are based on an entity model. Therefore, data models collected from different protocols may all be described by using a metamodel of the entity.

[0063] The data flow model further includes a node. The node may be a program, an App, or a device, which may be pre-configured in the model binding configuration file. One node may include a plurality of input data points or a plurality of output data points.

[0064] The node is linked to an entity of a type (which is defined in the model binding configuration file) , and an attribute of the node may include entityId, entityName, parentId, and the like. In this way, a node may be automatically generated from an entity instance.

[0065] The data point is a concept in data flows that represents data input to a node or output from a node. A connection relationship between data points may be implemented by defining a connection point, and the connection point may also be configured in the model binding configuration file.

[0066] Optionally, the data flow model may further include a group. The group is a combination of a plurality of nodes. For example, one device includes a plurality of Apps, and the plurality of Apps are a group. If one node is a group, the node does not have a data point.

[0067] The bridge is a node between two protocols, and the bridge is defined for the two protocols, which are finally combined into one bridge node.

[0068] In other words, the group and the bridge are also nodes.

[0069] It may be understood that, elements included in the data flow model shown in FIG. 3 are merely examples for description, persons skilled in the art may define another data flow model as required, and details are not described herein.

[0070] Next, in step S206, a data flow model instance in a pre-determined format is generated based on the entity instance and the data flow instance that are obtained in the foregoing steps.

[0071] Specifically, a pre-stored data structure may be used to generate a data flow model instance in a graph data format such as RDF.

[0072] Optionally, the method for generating a data flow model may further include step S208: Update the generated data flow model instance.

[0073] For example, when a new App or device is added to the system, the data flow model instance may be updated dynamically. For example, a newly added member may be found based on an automatic discovery system "discovery" .

[0074] FIG. 4 is a flowchart of an exemplary process of a method 400 for generating a unified data flow model in a distributed automation system according to another embodiment of the present disclosure.

[0075] As shown in FIG. 4, in step S402, the method described above is performed respectively for different communication protocols in the distributed automation system, to obtain data flow model instances corresponding to the communication protocols.

[0076] In step S404, the obtained data flow model instances are integrated.

[0077] In step S406, the integrated data flow model instances are visualized for presentation to a user.

[0078] Steps of the method for generating a data flow model are performed respectively for different communication protocols used in the distributed automation system, so that data flow model instances in a unified format may be obtained respectively. The data flow model instances are integrated for use by another service, for example, visualized in a user interface, so that a user may obtain an overall view of data flows of the entire distributed automation system, thereby implementing continuous monitoring and maintenance of the distributed automation system.

[0079] According to the technical solutions of the present disclosure, a unified data flow model may be generated automatically (for example, based on "discovery" and model binding) , and data flow model instances obtained for different protocols based on the unified data flow model may be integrated and provided to a user. In this manner, the user may obtain an overall view of data flows of an entire system, thereby implementing continuous monitoring and maintenance of the system.

[0080] In addition, a new data flow model may be conveniently extended by adding information to a model binding configuration file, without additional development effort.

[0081] FIG. 5 is a block diagram of an exemplary configuration of an apparatus 500 for generating a data flow model according to another embodiment of the present disclosure.

[0082] The apparatus 500 for generating a data flow model according to this embodiment of the present disclosure includes: an entity instance conversion unit 502, a data flow instance conversion unit 504, and a data flow model instance generation unit 506.

[0083] The entity instance conversion unit 502 is configured to collect, based on a communication protocol used between communication nodes that perform communication, information data of the communication nodes by using a pre-configured model collection configuration file to obtain a data model corresponding to the communication protocol, and convert the data model into an entity instance. The data model is described by using an entity  model.

[0084] The data flow instance conversion unit 504 is configured to generate a data flow instance based on the entity instance and configuration information in a pre-configured model binding configuration file.

[0085] The data flow model instance generation unit 506 is configured to generate a data flow model instance in a pre-determined format based on the entity instance and the data flow instance.

[0086] Optionally, the apparatus 500 for generating a data flow model may further include an update unit 508, configured to update the generated data flow model instance.

[0087] Details of the operations and functions of various parts of the apparatus 500 for generating a data flow model may be the same or similar to, for example, related parts of the embodiment of the method 200 for generating a data flow model of the present disclosure described with reference to FIG. 1 to FIG. 4, and are not repeated herein.

[0088] It should be noted that, the structure of the apparatus 500 for generating a data flow model and its component units shown in FIG. 5 are merely exemplary, and persons skilled in the art may modify the structural block diagram shown in FIG. 5 as required.

[0089] The foregoing describes the method and apparatus according to embodiments of the present disclosure with reference to FIG. 1 to FIG. 5. Each unit of the apparatus for generating a data flow model may be implemented by hardware, software, or a combination of hardware and software.

[0090] FIG. 6 is a block diagram of an electronic device 600 according to an embodiment of the present disclosure. According to an embodiment, the electronic device 600 may include at least one processor 602, and the processor 602 executes at least one computer-readable instruction stored or programmed in a computer-readable storage medium (that is, a memory 604) .

[0091] It should be understood that, the computer-executable instruction stored in memory 604, when executed, causes at least one processor 602 to perform various operations and functions described above with reference to FIG. 1 to FIG. 5 in the embodiments of the present disclosure.

[0092] According to an embodiment, a non-transitory machine-readable medium is provided. It should be understood that, the non-transitory machine-readable medium may have a machine-executable instruction, and the instruction, when executed by the machine, causes the machine to perform various operations and functions described above with reference to FIG. 1 to FIG. 5 in the embodiments of the present disclosure.

[0093] According to an embodiment, a computer program is provided, including a computer-executable instruction. The computer-executable instruction, when executed, causes at least one processor to perform various operations and functions described above with reference to FIG. 1 to FIG. 5 in the embodiments of the present disclosure.

[0094] According to an embodiment, a computer program product is provided, including a computer-executable instruction. The computer-executable instruction, when executed, causes at least one processor to perform various operations and functions described above with reference to FIG. 1 to FIG. 5 in the embodiments of the present disclosure.

[0095] It should be understood that the embodiments in this specification are all described in a progressive manner. For same or similar parts in the embodiments, refer to these embodiments. Each embodiment focuses on a difference from other embodiments. For example, the embodiment about the apparatus, the embodiment about the electronic device, and the embodiment about the machine-readable storage medium are basically similar to the method embodiment, and therefore are described briefly. For related parts, refer to partial descriptions in the method embodiment.

[0096] The foregoing describes specific embodiments of this specification. Other embodiments fall within the scope of the appended claims. In some embodiments, the actions or steps recorded in the claims may be performed in sequences different from those in the embodiments and an expected result may still be achieved. In addition, the processes depicted in the accompanying drawings do not necessarily require the specific sequences or consecutive sequences shown to achieve an expected result. In some implementations, multitasking and parallel processing may be feasible or beneficial.

[0097] Not all steps and units in the procedures and the diagrams of the system structures are necessary, and some steps or units may be omitted according to an actual requirement. The apparatus structure described in the embodiments may be a physical structure or a logical structure. That is, some units may be implemented by the same physical entity, or some units may be implemented by a plurality of physical entities, or may be implemented by some components in a plurality of independent devices together.

[0098] Exemplary embodiments are described above in combination with specific implementations illustrated in the accompanying drawings, but this does not represent all embodiments that may be implemented or fall within the protection scope of the claims. The term "exemplary" used in the entire specification means "used as an example, an instance, or an illustration" , and does not mean "preferred" or "superior" over other embodiments. To provide an understanding of the described technologies, the specific implementations include  specific details. However, these technologies may be implemented without these specific details. In some embodiments, to avoid confusing the concept of the described embodiments, a well-known structure and apparatus are shown in a block diagram form.

[0099] The descriptions of the content of the present disclosure are provided to allow any person of ordinary skill in the art to implement or use the content of the present disclosure. For persons of ordinary skill in the art, various modifications on the content of the present disclosure are obvious. In addition, a general principle defined in this specification may be applied to other variants without departing from the protection scope of the content of the present disclosure. Therefore, the content of the present disclosure is not limited to the examples and designs described in this specification, but is consistent with the widest range conforming to the principle and novelty disclosed in this specification.

[0100] The foregoing descriptions are merely exemplary embodiments of the present disclosure, but are not intended to limit the present disclosure. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present disclosure shall fall within the protection scope of the present disclosure.

[0101] Nouns and pronouns referring to people in this patent application are not limited to specific genders.

Claims

1.A method (200) for generating a data flow model, comprising:collecting, based on a communication protocol used between communication nodes that perform communication, information data of the communication nodes by using a pre-configured model collection configuration file to obtain a data model corresponding to the communication protocol, and converting the data model into an entity instance (S202) , wherein the data model is described by using an entity model;converting the entity instance into a data flow instance by using a pre-configured model binding configuration file (S204) ; andgenerating a data flow model instance in a pre-determined format based on the entity instance and the data flow instance (S206) .2.The method (200) according to claim 1, wherein the entity model is a pre-defined metamodel comprising a basic attribute of an entity, and the basic attribute comprises an ID, a name, and a type of the entity.3.The method (200) according to claim 1, wherein the entity instance comprises a list of different types of entities, and comprises a basic attribute and an additional attribute for each entity.4.The method (200) according to claim 1, wherein the model collection configuration file describes information required for collecting the information data of the communication nodes, comprising: a communication protocol type, a connection attribute, and a mapping relationship between a data model and an entity model.5.The method (200) according to claim 1, wherein the model binding configuration file defines a data flow model and a mapping relationship between an entity instance and a data flow model.6.The method (200) according to claim 5, wherein the data flow model is a pre-defined information model for describing communication nodes, a connection between communication nodes and a data transmission direction, comprising at least one of the following: an entity, a node, a group, a bridge, and a data point.7.The method (200) according to any one of claims 1 to 6, further comprising: updating the generated data flow model instance (S208) .8.A method (300) for generating a unified data flow model, applied to a distributed automation system, comprising:performing the method according to any one of claims 1 to 7 respectively for different communication protocols in the distributed automation system, to obtain corresponding data flow model instances (S302) ;integrating the obtained data flow model instances (S304) ; andvisualizing the integrated data flow model instances for presentation to a user (S306) .9.An apparatus (500) for generating a data flow model, comprises:an entity instance conversion unit (502) , configured to collect, based on a communication protocol used between communication nodes that perform communication, information data of the communication nodes by using a pre-configured model collection configuration file to obtain a data model corresponding to the communication protocol, and convert the data model into an entity instance, wherein the data model is described by using an entity model;a data flow instance conversion unit (504) , configured to generate a data flow instance based on the entity instance and configuration information in a pre-configured model binding configuration file; anda data flow model instance generation unit (506) , configured to generate a data flow model instance in a pre-determined format based on the entity instance and the data flow instance.10.An electronic device (600) , comprising:at least one processor (602) ; anda memory (604) coupled to the at least one processor (602) , wherein the memory is configured to store an instruction, and the instruction, when executed by the at least one processor (602) , causes the processor (602) to perform the method according to any one of claims 1 to 7.11.A non-transitory machine-readable storage medium, storing an executable instruction, wherein the instruction, when executed, causes the machine to perform the method according to any one of claims 1 to 7.12.A computer program product, wherein the computer program product is tangibly stored in a computer-readable medium, and comprises a computer-executable instruction, and the computer-executable instruction, when executed, causes at least one processor to perform the method according to any one of claims 1 to 7.