Providing data streams to clients
Through the routing component obtaining data from the origin information database and message data database and exporting related data streams, the problems of different semantics of individual topics and difficulty in query construction in data streaming are solved, and more effective data stream provision and query construction are achieved.
Patent Information
- Application Number
- CN201980103339.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2019-10-28
- Publication Date
- 2025-02-14
- Estimated Expiration
- 2039-10-28
AI Technical Summary
Existing data streaming has the problem that individual topics differ semantically and it is difficult to construct queries for generating data streams.
In one way, a routing component is used to receive query requests from the client, based on these requests, obtain relevant data from the origin information database and the message data database, and derive the relevant data as an origin view in the message data stream to provide it to the client.
Effectively handling semantic differences between individual topics and making queries easier to construct data streams, providing an alternative way to provide data streams to clients through network interfaces.
Smart Images

Figure CN114930791B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure generally relates to the field of data streams. More specifically, the present disclosure relates to providing data streams to clients through a network interface. Background Art
[0002] Data is increasingly consumed via streaming and / or in real-time in order to allow processing as quickly as possible to derive, for example, knowledge.
[0003] Such data may be arranged in streams, each of which may have multiple producers and / or consumers of individual topics.
[0004] The first drawback of known data streaming is that the semantics between individual topics differ and cannot be processed efficiently.
[0005] A second drawback of known data streaming is the difficulty in constructing queries for generating data streams.
[0006] Therefore, there is a need for alternative methods for providing data streams to clients over a network interface. Summary of the invention
[0007] It should be emphasized that when used in this specification, the term "comprises / comprising" is regarded as specifying the presence of stated features, integers, steps or components, but does not exclude the presence or addition of one or more other features, integers, steps, components or combinations thereof. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise.
[0008] Generally, when an arrangement is referred to herein, this is to be understood as a physical product; for example, a device. The physical product may include one or more components, such as control circuitry in the form of one or more controllers, one or more processors, and the like.
[0009] It is an object of some embodiments to address or mitigate, alleviate or eliminate at least some of the above mentioned or other disadvantages.
[0010] According to a first aspect, this is achieved by a method for providing a data stream to a client via a network interface, wherein the data stream comprises a message data stream forming a provenance view based on provenance information.
[0011] The method includes steps performed by a routing component.
[0012] The method includes: receiving a submitted request including a query for an origin view from a client; obtaining origin information from an origin information database based on the query of the received request, wherein the origin information database includes origin relationships between origin entities; and obtaining message data from a message data database based on the query of the received request, wherein the message data database includes data corresponding to the origin entity.
[0013] The method further includes: deriving relevant data based on the obtained provenance information and the obtained message data; and providing the derived relevant data to the client as a provenance view in the message data stream.
[0014] In some embodiments, the query indicates one or more view topic identifiers for the provenance information and the message data, the view topic identifiers being used to identify which provenance entities and / or relationships are to be included in the provenance view and according to which provenance entities and / or relationships the message data stream should be grouped in the provenance view.
[0015] In some embodiments, the query further indicates a message data identifier for a message or data segment in the message data stream for which the message data stream should be provided.
[0016] In some embodiments, the query further indicates a time interval criterion for identifying a time interval for which the message data stream should be provided.
[0017] In some embodiments, the query further indicates continuation criteria for determining whether to continue obtaining provenance information and message data, deriving related data, and providing a message data stream as long as there is new data corresponding to the provenance entity in the message data database.
[0018] In some embodiments, the provenance view comprises a scope view.
[0019] In some embodiments, the provenance information database and the message data database are relational databases and / or graph databases.
[0020] In some embodiments, exporting related data includes copying the message data or referencing individual message data or ranges of message data for later lookup.
[0021] In some embodiments, the method further includes, by the routing component: adding the exported related data to the message data flow to form the provenance view.
[0022] In some embodiments, the method further comprises, by the routing component: notifying the client that the requested origin view is available for provision.
[0023] In some embodiments, the method further includes, by the routing component: generating a request identifier for the received request; and providing the generated request identifier to the client for use in identifying the requested origin view when the requested origin view is provided to the client.
[0024] In some embodiments, the method includes, by the routing component: receiving a plurality of requests from a plurality of clients; and providing corresponding origin views, wherein each of the plurality of requests and the corresponding origin view can be identified by a request identifier generated per request.
[0025] In some embodiments, the routing component is a message broker.
[0026] In some embodiments, depending on the type of data and the collection environment, the provenance information includes any of the following: information about where the data was collected, information about the purpose for which the data was collected, information about the context for which the data was collected, information about for whom the data was collected, information about who has accessed the collected data, attributes of the collected data, updates to the collected data, creation of the collected data, and the lineage of the collected data.
[0027] In some embodiments, the data stream provided to the client via the network interface relates to any of: an industrial robot, a sensor in a building, and a production machine.
[0028] A second aspect is a computer program product comprising a non-transitory computer readable medium storing a computer program comprising program instructions. The computer program can be loaded into a data processing unit and is configured to cause the method according to the first aspect to be performed when the computer program is run by the data processing unit.
[0029] A third aspect is an apparatus for a routing component, wherein the routing component is configured to provide a data stream to a client through a network interface, wherein the data stream includes a message data stream forming a provenance view based on provenance information.
[0030] The device includes a controller, which is configured to: receive a submitted request including a query for an origin view from a client; obtain origin information from an origin information database based on the query of the received request, wherein the origin information database includes origin relationships between origin entities; and obtain message data from a message data database based on the query of the received request, wherein the message data database includes data corresponding to the origin entity.
[0031] The controller is further configured to: derive relevant data based on the obtained provenance information and the obtained message data; and provide the derived relevant data to the client as a provenance view in the message data stream.
[0032] In some embodiments, the query indicates one or more view topic identifiers for the provenance information and the message data, the view topic identifiers being used to identify which provenance entities and / or relationships are to be included in the provenance view and according to which provenance entities and / or relationships the message data stream should be grouped in the provenance view.
[0033] In some embodiments, the query further indicates a message data identifier for a message or data segment in the message data stream for which the message data stream should be provided.
[0034] In some embodiments, the query further indicates a time interval criterion for identifying a time interval for which the message data stream should be provided.
[0035] In some embodiments, the query further indicates continuation criteria for determining whether to continue obtaining provenance information and message data, deriving related data, and providing a message data stream as long as there is new data corresponding to the provenance entity in the message data database.
[0036] In some embodiments, the provenance view comprises a scope view.
[0037] In some embodiments, the provenance information database and the message data database are relational databases and / or graph databases.
[0038] In some embodiments, exporting related data includes copying the message data or referencing individual message data or ranges of message data for later lookup.
[0039] In some embodiments, the controller is further configured to cause: adding the exported related data to the message data stream to form the provenance view.
[0040] In some embodiments, the controller is further configured to cause: notifying the client that the requested origin view is available for provision.
[0041] In some embodiments, the controller is further configured to: generate a request identifier for the received request; and provide the generated request identifier to the client for identifying the requested origin view when the requested origin view is provided to the client.
[0042] In some embodiments, the controller is further configured to: receive multiple requests from multiple clients; and provide corresponding origin views, wherein each of the multiple requests and the corresponding origin view can be identified by a request identifier generated per request.
[0043] In some embodiments, the routing component is a message broker.
[0044] In some embodiments, depending on the type of data and the collection environment, the provenance information includes any of the following: information about where the data was collected, information about the purpose for which the data was collected, information about the context for which the data was collected, information about for whom the data was collected, information about who has accessed the collected data, attributes of the collected data, updates to the collected data, creation of the collected data, and the lineage of the collected data.
[0045] In some embodiments, the data stream provided to the client via the network interface relates to any of: an industrial robot, a sensor in a building, and a production machine.
[0046] A fourth aspect is a routing component, comprising the device according to the third aspect.
[0047] The fifth aspect is a system, comprising the apparatus according to the third aspect and / or the routing component according to the fourth aspect.
[0048] In some embodiments, the system further comprises: at least one client, a provenance information database, and a message data database.
[0049] An advantage of some embodiments is that an alternative method for providing data streams to clients through a network node is provided.
[0050] Another advantage of some embodiments is that semantics between individual topics can be efficiently handled by the routing component.
[0051] Yet another advantage of some embodiments is that queries for generating data streams can be more easily constructed.
[0052] Any of the above aspects may additionally have features that are the same as or corresponding to any of the various features as described above for any other aspect. BRIEF DESCRIPTION OF THE DRAWINGS
[0053] Other objects, features and advantages will be apparent from the following detailed description of embodiments with reference to the accompanying drawings, which are not necessarily to scale, emphasis instead being placed upon illustrating example embodiments.
[0054] Figure 1is a flow chart illustrating example method steps according to some embodiments;
[0055] Figure 2 is a sequence diagram illustrating example sequence steps according to some embodiments;
[0056] Figure 3a is a schematic diagram illustrating example sensors of an example environment according to some embodiments;
[0057] Figure 3b is a schematic diagram illustrating example sensors of an example environment according to some embodiments;
[0058] Figure 4 is a schematic block diagram illustrating an example apparatus according to some embodiments; and
[0059] Figure 5 is a schematic diagram illustrating an example computer-readable medium in accordance with some embodiments. DETAILED DESCRIPTION
[0060] As already mentioned above, it should be emphasized that when used in this specification, the term "comprises / comprising" is regarded as specifying the presence of stated features, integers, steps or components, but does not exclude the presence or addition of one or more other features, integers, steps, components or combinations thereof. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise.
[0061] Embodiments of the present disclosure will be described and illustrated more fully below with reference to the accompanying drawings. However, the solutions disclosed herein may be implemented in many different forms and should not be construed as being limited to the embodiments set forth herein.
[0062] As described above, data is increasingly consumed via streaming and / or in real time to allow for processing as quickly as possible to derive, for example, knowledge, and such data may be arranged in streams, each of which may have multiple producers and / or consumers of individual topics.
[0063] When there are many data sources for using data, it may be beneficial to retain (i.e., obtain, store, maintain, and update) provenance information for the data; for example, where the data was collected, for what purpose, in what context, for whom, etc. Such provenance information or metadata additionally includes information about the relationships between data sources (i.e., provenance entities).
[0064] Provenance information may be created as provenance type schemas and their relationships, for example in a provenance graph data type. For example, for a context containing products made of items, examples of relationships may include items that relate to tasks performed on such items. Thus, individual data messages in a stream may be related to such a context.
[0065] Provenance information may be continually published as it is obtained, stored, maintained, and updated (eg, as new provenance information is generated (new context for the machine) or new data messages on a particular topic become available).
[0066] Embodiments are provided below in which alternative methods for providing a data stream to a client via a network interface are described.
[0067] Figure 1 1 is a flow chart showing method steps of an example data providing method 100 according to some embodiments. The data providing method 100 is used to provide a data stream to a client through a network interface, wherein the data stream includes a message data stream forming a provenance view based on provenance information. Therefore, the data providing method 100 may be, for example, Figure 4 The device 400 and / or Figure 5 ; both of which will be described later.
[0068] The data providing method 100 includes the following steps performed by the routing component.
[0069] In step 101 , a request submitted from a client including a query for an origin view is received.
[0070] For example, the client may include a consuming client that requests a provenance view (ie, streams a provenance view).
[0071] Alternatively or additionally, in addition to the query, the submitted request may also include information related to the client submitting the request for identification purposes.
[0072] In some embodiments, the query indicates one or more view topic identifiers for provenance information and message data, the one or more view topic identifiers being used to identify which provenance entities and / or relationships are to be included in the provenance view and according to which provenance entities and / or relationships the message data flows should be grouped in the provenance view.
[0073] For example, provenance entities may include data sources and are represented as edges in graph nodes and relationships of graph nodes.
[0074] For example, the grouping of data flows in a provenance view can be based on a provenance entity, such as a product serial number.
[0075] In some embodiments, the provenance view includes a scope view.
[0076] For example, a scope view may include a scope of data messages.
[0077] In some embodiments, the query also indicates a message data identifier for a message or data segment in the message data stream for which the message data stream should be provided.
[0078] In some embodiments, the query also indicates a time interval criterion for identifying time intervals for which the message data stream should be provided.
[0079] In some embodiments, the query also indicates continuation criteria for determining whether to continue obtaining provenance information and message data, deriving related data, and providing a message data stream as long as there is new data corresponding to the provenance entity in the message data database.
[0080] In optional step 102, in some embodiments, a request identifier is generated for the received request.
[0081] For example, the routing component can generate an identifier (eg, a job identification event), and build a table with all job identifications and corresponding data.
[0082] In optional step 103, in some embodiments, the generated request identifier is provided to the client for use in identifying the requested origin view when the requested origin view is provided to the client.
[0083] In step 104, based on the query of the received request, provenance information is obtained from a provenance information database, wherein the provenance information database includes provenance relationships between provenance entities.
[0084] In some embodiments, the provenance information database and the message data database are relational databases and / or graph databases.
[0085] In step 105, based on the query of the received request, message data is obtained from a message data database, wherein the message data database includes data corresponding to the originating entity.
[0086] In some embodiments, the provenance information database and the message data database are relational databases and / or graph databases.
[0087] In step 106, relevant data is derived based on the obtained origin information and the obtained message data.
[0088] In some embodiments, exporting related data includes copying the message data or referencing individual message data or ranges of message data for later lookup.
[0089] For example, a data stream is derived for a view by copying data messages from the actual data stream. Alternatively or additionally, this may first be performed on an actual request for data from the view stream.
[0090] For example, a data stream is derived for a view by referencing individual data messages from the actual data stream. Alternatively or additionally, this may first be performed on an actual request for data from the view stream.
[0091] For example, a data stream is derived for a view by referencing a data message range from an actual data stream. Alternatively or additionally, this may first be performed on an actual request for data from the view stream.
[0092] For example, by only accepting connections and when using a client to subscribe / read data messages, the data stream is exported for the view, where a lookup is performed in the actual data message stream.
[0093] For example, for originating entities in or related to the requested view, time intervals may be identified for one or more data streams during which data messages related to such originating entities are provided.
[0094] Alternatively or additionally, similar associations based on logical information (eg, individual message identifiers in a data stream, data segment identifiers, etc.) rather than temporal information may be performed.
[0095] Alternatively or additionally, provenance relationships are used to the extent possible to derive relevant data, since, for example, an item may pass through multiple machines in a manufacturing line or conveyor belt.
[0096] In optional step 107, in some embodiments, the derived related data is added to the message data stream to form a provenance view.
[0097] This therefore allows joining tables and / or filtering data streams.
[0098] In optional step 108, in some embodiments, the client is notified that the requested origin view is available for provision.
[0099] For example, the routing component may publish such information in a data message associated with an agreed-upon data stream topic, or as a streaming Hypertext Transfer Protocol (HTTP) response, or the like.
[0100] In step 109 , the exported relevant data is provided to the client as a provenance view in the message data flow.
[0101] In some embodiments, steps 104, 105, 106, and 109 are repeated for each submitted request such that a stream of message data is provided to the client.
[0102] In some embodiments, the method further comprises: receiving a plurality of requests from a plurality of clients; and providing corresponding origin views, wherein each of the plurality of requests and the corresponding origin view can be identified by a request identifier generated per request.
[0103] In some embodiments, the routing component is a message broker.
[0104] Thus, in view of the above method steps, providing a data stream based on provenance information is facilitated.
[0105] An advantage of some embodiments is that an alternative method for providing data streams to clients over a network interface is provided.
[0106] Another advantage of some embodiments is that semantics between individual topics can be efficiently handled by the routing component.
[0107] Yet another advantage of some embodiments is that queries for generating data streams can be more easily constructed.
[0108] Figure 2 2 is a sequence diagram showing sequence steps of an example data providing sequence 200 according to some embodiments. The data providing sequence 200 is used to provide a data stream to a client through a network interface, wherein the data stream includes a message data stream forming a provenance view based on provenance information. Therefore, the data providing sequence 200 may be composed of, for example Figure 4 The device 400 and / or Figure 5 ; both of which will be described later.
[0109] The data provision sequence 200 includes the following steps performed by a client 201 and a routing component 202 .
[0110] In step 1 (corresponding to Figure 1 In step 101), a request including a query for an origin view is submitted from client 201 to routing component 202.
[0111] In optional step 2 (corresponding to Figure 1 In step 102), in some embodiments, a request identifier ID is generated by the routing component 202 for the submitted and received requests.
[0112] In optional step 3 (corresponding to Figure 1In step 103), in some embodiments, the generated request identifier ID is provided by routing component 202 to client 201 for identifying the requested origin view when the requested origin view is provided to client 201.
[0113] In step 4 (corresponding to Figure 1 In step 104), the routing component 202 obtains the provenance information from the provenance information database 203 based on the query of the received request, wherein the provenance information database includes the provenance relationship between the provenance entities.
[0114] In step 5 (corresponding to Figure 1 In step 105), the routing component 202 obtains message data from the message data database 204 based on the query of the received request, wherein the message data database includes data corresponding to the origin entity.
[0115] In step 6 (corresponding to Figure 1 In step 106), the routing component 202 derives the relevant data based on the obtained origin information and the obtained message data.
[0116] In optional step 7 (corresponding to Figure 1 In step 107), in some embodiments, the routing component 202 adds the exported related data to the message data flow to form a provenance view.
[0117] In optional step 8 (corresponding to Figure 1 In step 108), in some embodiments, routing component 202 notifies client 201 that the requested origin view is available for provision.
[0118] In step 9 (corresponding to Figure 1 In step 109), the routing component 202 provides the exported related data to the client 201 as the origin view in the message data flow.
[0119] In some embodiments, steps 4 , 5 , 6 , and 9 are repeated for each submitted request from client 201 , such that a stream of message data is provided to client 201 .
[0120] Thus, in view of the above sequence of steps, providing a data stream based on provenance information is facilitated.
[0121] Figure 3ais a schematic diagram of an example sensor of an example data providing environment 300a according to some embodiments. The sensor and data providing environment 300a are used to provide a data stream to a client through a network interface, wherein the data stream includes a message data stream that forms a provenance view based on provenance information. Thus, the sensor and data providing environment 300a may be included in a system, for example, including Figure 4 The device 400 and / or Figure 5 and a computer program product 500; both of which will be described later.
[0122] Alternatively or additionally, the system may include a routing component and / or Figure 4 Device 400.
[0123] For example, the routing component (corresponding to Figure 2 202) may include Figure 4 Device 400.
[0124] In some embodiments, the system may further include at least one client (corresponding to Figure 2 201), Origin Information Database (corresponding to Figure 2 203) and the message data database (corresponding to Figure 2 204).
[0125] Figure 3a A building including at least one sensor is shown. The at least one sensor may include any one of a sensor for airflow AF, a sensor for temperature T, and a sensor for access control AD. The at least one sensor is configured to collect and store data according to the purpose of the sensor, and to wirelessly communicate with a cloud service for storing the collected data. The collected and stored data includes message data for storage in a message data database, and may be associated with an origin entity and / or relationship stored in an origin information database.
[0126] In some embodiments, the provenance information database and the message data database are relational databases and / or graph databases.
[0127] Thus, because the origination information and message data are stored in a distributed system (eg, a cloud service), the routing component does not need to include the origination information or the message data, and a more efficient routing component is provided.
[0128] For example, a building may include at least one sensor on each floor (e.g., building / floor / sensor), or at least one sensor on each room on each floor (e.g., building / floor / room / sensor). Therefore, a subject identifier may identify a specific type of data (airflow, temperature, access control) at a specific location (room or floor) in a building according to one or more sensors, such as the temperature of a specific room in a building, wherein the one or more sensors are configured to collect the specific type of data arranged in the specific location based on an origin entity and / or a relationship, wherein the origin entity may include any one of a building, a floor, a room, and a sensor, and the relationship includes any relationship between origin entities.
[0129] Thus, in view of the above, providing a data stream based on provenance information is facilitated.
[0130] Figure 3b is a schematic diagram of an example sensor of an example data providing environment 300b according to some embodiments. The sensor and data providing environment 300b are used to provide a data stream to a client through a network interface, wherein the data stream includes a message data stream that forms a provenance view based on provenance information. Thus, the sensor and data providing environment 300b may be included in a system, for example, including Figure 4 The device 400 and / or Figure 5 and a computer program product 500; both of which will be described later.
[0131] Alternatively or additionally, the system may include a routing component and / or Figure 4 Device 400.
[0132] For example, the routing component (corresponding to Figure 2 202) may include Figure 4 Device 400.
[0133] In some embodiments, the system may further include at least one client (corresponding to Figure 2 201), Origin Information Database (corresponding to Figure 2 203) and the message data database (corresponding to Figure 2 204).
[0134] Figure 3bA factory (or industrial plant) including at least one sensor arranged on a machine and / or equipment (e.g., production machine A) is shown. The at least one sensor may include any of a sensor for indicating a machine state, a sensor for an internal temperature of the machine, a pressure sensor, a proximity sensor, an optical sensor, and a position sensor. The at least one sensor is configured to collect and store data according to the purpose of the sensor, and to wirelessly communicate with a cloud service for storing the collected data. The collected and stored data includes message data for storage in a message data database, and may be associated with a provenance entity and / or relationship stored in a provenance information database.
[0135] In some embodiments, the provenance information database and the message data database are relational databases and / or graph databases.
[0136] Thus, because the origination information and message data are stored in a distributed system (eg, a cloud service), the routing component does not need to include the origination information or the message data, and a more efficient routing component is provided.
[0137] For example, a factory may include at least one sensor for each machine in each area (e.g., factory / area / machine / sensor), or at least one sensor for each machine component of each machine in each area (e.g., factory / area / machine / component / sensor). Therefore, a subject identifier may identify a specific type of data (status, internal temperature, etc.) of a specific machine in a specific area (production area) in a factory based on one or more sensors, such as the status of machine A in a specific area in a factory, wherein the one or more sensors are configured to collect the specific type of data arranged on the specific machine based on an origin entity and / or a relationship, wherein the origin entity may include any one of a factory, an area, a machine, a component, and a sensor, and the relationship includes any relationship between origin entities.
[0138] For example, a product assembled in a factory may have a product serial number, and any task in a machine that produces items for that product has a task number, and each item has an item number, which can be considered provenance information.
[0139] The machine that produces the product in the process generates data in the form of streams during different operations for each subject, such as arm position or vibration measurements. The data stream for the product is then transmitted as a product view stream on the subject.
[0140] For example, if the topic identifier is / machine1 / vibrationA, the view topic identifier becomes / product12 / item99 / machine1 / vibrationA. Thus, such an identifier is continuously updated when the product with serial number 13 begins to be processed.
[0141] When data for a complete product needs to be analyzed, different coverage of individual items on different topics may be required. These items may pass through multiple machines and may not be processed in any particular order and with no other operations in between.
[0142] Thus, the data stream can be decomposed into separate views for individual item ranges to enable efficient processing.Alternatively or additionally, such processing can also be triggered first when all included data stream views are available.
[0143] For example, when a machine produces an item identified by an item number, the provenance graph nodes for such machine and item are related, and further the provenance graph node for the machine is related to the data stream involving sensor measurements on the machine. Time intervals can be related to time intervals on the sensor data topic across the machine and item number provenance information to identify the relevant data range for the item.
[0144] Thus, in view of the above, providing a data stream based on provenance information is facilitated.
[0145] Figure 4 4 is a schematic block diagram showing an example data providing apparatus 400 according to some embodiments. The data providing apparatus 400 is used for a routing component, wherein the routing component is configured to provide a data stream to a client through a network interface, wherein the data stream includes a message data stream that forms a provenance view based on provenance information. Therefore, the data providing apparatus 400 may be configured to perform, for example Figure 1 Method steps and / or Figure 2 One or more of the sequence steps.
[0146] The data providing apparatus 400 includes a controller (e.g., a device control circuit) configured to: receive a submitted request including a query for an origin view from a client; obtain origin information from an origin information database based on the query of the received request, wherein the origin information database includes origin relationships between origin entities; and obtain message data from a message data database based on the query of the received request, wherein the message data database includes data corresponding to the origin entity.
[0147] The controller is further configured to: derive relevant data based on the obtained provenance information and the obtained message data; and provide the derived relevant data to the client as a provenance view in the message data stream.
[0148] As described above, the data providing apparatus 400 for routing components includes a controller (CNTR; such as a control circuit or a control module) 410, which in turn may include (or be otherwise associated with; such as being connected to or connectable to): a receiver 401 (such as a receiving circuit or a receiving module), which is configured to receive a submitted request including a query for an origin view from a client (with Figure 1 Step 101 and Figure 2 1 ); an obtainer 404 (e.g., an obtaining circuit or an obtaining module), which is configured to obtain the provenance information from a provenance information database based on the query of the received request, wherein the provenance information database includes provenance relationships between provenance entities (with Figure 1 Step 104 and Figure 2 and an acquirer 405 (e.g., an acquisition circuit or an acquisition module) configured to acquire message data from a message data database based on the query of the received request, wherein the message data database includes data corresponding to the originating entity (compared to Figure 1 Step 105 and Figure 2 compared to step 5).
[0149] The CNTR 410 also includes (or is otherwise associated with; e.g., is connected to or can be connected to): an exporter 406 (e.g., an export circuit or an export module) configured to export relevant data (related to the obtained origin information and the obtained message data) based on the obtained origin information and the obtained message data. Figure 1 Step 106 and Figure 2 6); and a provider 409 (eg, a circuit or a module), which is configured to provide the derived related data to the client as a provenance view in the message data stream (with Figure 1 Step 109 and Figure 2 compared to step 9).
[0150] In some embodiments, CNTR 410 further includes (or is otherwise associated with; e.g., connected to or connectable to): a generator 402 (e.g., a generating circuit or generating module) configured to generate a request identifier (with Figure 1 Step 102 and Figure 2 2); and a provider 403 (e.g., a circuit or a module) configured to provide the generated request identifier to the client for identifying the requested origin view (with the requested origin view) when the requested origin view is provided to the client. Figure 1Step 103 and Figure 2 compared to step 3).
[0151] In some embodiments, CNTR 410 further comprises (or is otherwise associated with; e.g., connected to or connectable to): a joiner 407 (e.g., a join circuit or a join module) configured to join the derived related data to the message data stream to form a provenance view (with Figure 1 Step 107 and Figure 2 7); and a notifier 408 (e.g., a notification circuit or a notification module) configured to notify the client that the requested origin view is available for provision (with Figure 1 Step 108 and Figure 2 compared to step 8).
[0152] In some embodiments, the apparatus 400 may also include (or be otherwise associated with; for example, be connected to or connectable to): a transceiver module TX / RX 420 (e.g., a transceiver circuit) configured to send and receive radio signals, for example, for receiving a submitted request including a query for an origin view from a client and / or for providing the derived relevant data to the client as an origin view in a message data stream.
[0153] Thus, in view of the above-described apparatus, providing a data stream based on provenance information is facilitated.
[0154] An advantage of some embodiments is that an alternative method for providing data streams to clients through a network node is provided.
[0155] Another advantage of some embodiments is that semantics between individual topics can be efficiently handled by the routing component.
[0156] Yet another advantage of some embodiments is that queries for generating data streams can be more easily constructed.
[0157] Generally, when an arrangement is referred to herein, this is to be understood as a physical product; for example, a device. The physical product may include one or more components, such as control circuitry in the form of one or more controllers, one or more processors, and the like.
[0158] The described embodiments and their equivalents may be implemented in software or hardware or a combination thereof. The embodiments may be performed by general purpose circuits. Examples of general purpose circuits include digital signal processors (DSPs), central processing units (CPUs), coprocessor units, field programmable gate arrays (FPGAs), and other programmable hardware. Alternatively or additionally, the embodiments may be performed by dedicated circuits (e.g., application specific integrated circuits (ASICs)). General purpose circuits and / or dedicated circuits may, for example, be associated with or included in an apparatus (e.g., a wireless communication device).
[0159] The embodiments may occur in an electronic device (e.g., a wireless communication device) including an arrangement, circuitry, and / or logic according to any embodiment described herein. Alternatively or additionally, an electronic device (e.g., a wireless communication device) may be configured to perform a method according to any embodiment described herein.
[0160] According to some embodiments, a computer program product comprises a computer readable medium, such as a Universal Serial Bus (USB) memory, a plug-in card, an embedded drive or a read-only memory (ROM).
[0161] Figure 5 An example computer readable medium is shown in the form of a compact disc (CD) ROM 500. The computer readable medium stores a computer program including program instructions. The computer program may be loaded into a data processor (PROC) 520, which may be included in a wireless communication device 510, for example. When loaded into the data processing unit, the computer program may be stored in a memory (MEM) 530 associated with or included in the data processing unit.
[0162] In some embodiments, when loaded into and run by a data processing unit, the computer program may cause execution of operations according to, for example, Figure 1 The method steps described and / or according to e.g. Figure 2 Or sequence steps otherwise described herein.
[0163] Generally, all terms used herein are to be interpreted according to their ordinary meaning in the relevant technical field, unless a different meaning is clearly given and / or implied from the context in which the term is used.
[0164] Reference has been made herein to various embodiments. However, those skilled in the art will recognize numerous variations to the described embodiments that will still fall within the scope of the claims.
[0165] For example, the method embodiments described herein disclose example methods by steps performed in a particular order. However, it will be appreciated that these sequences of events may occur in another order without departing from the scope of the claims. In addition, some method steps may be performed in parallel even if they have been described as being performed sequentially. Therefore, unless a step is explicitly described as being after or before another step and / or a step is implicitly required to be after or before another step, the steps of any method disclosed herein do not have to be performed in the exact order disclosed.
[0166] In the same way, it should be noted that in the description of the embodiment, the functional block is divided into specific units and is not intended to be limiting. On the contrary, these divisions are only examples. The functional block described herein as a unit can be divided into two or more units. In addition, the functional block described herein as being implemented as two or more units can be merged into fewer (e.g., single) units.
[0167] Where appropriate, any feature of any embodiment disclosed herein may be applied to any other embodiment. Likewise, any advantage of any embodiment may be applicable to any other embodiment, and vice versa.
[0168] Therefore, it should be understood that the details of the described embodiments are merely examples set forth for illustrative purposes and that all variations coming within the scope of the claims are intended to be embraced therein.
Claims
1. A method for providing a data stream to a client via a network interface, wherein: The data flow includes a message data flow that forms a provenance view based on provenance information, and the method includes the following steps performed by a routing component: receiving (101) a submitted request from a client including a query for a provenance view, wherein the query indicates a continuation criterion for determining whether to continue obtaining provenance information and message data, exporting related data, and providing a message data stream as long as there is new data corresponding to a provenance entity in the message data database, obtaining (104) provenance information from a provenance information database based on the query of the received request, wherein the provenance information database includes provenance relationships between the provenance entities, obtaining (105) message data from a message data database based on the query of the received request, wherein the message data database includes data corresponding to the originating entity, deriving (106) relevant data based on the obtained provenance information and the obtained message data, and The derived correlation data is provided (109) to the client as a provenance view in a message data stream.
2. The method according to claim 1, wherein: The query also indicates one or more view topic identifiers for the provenance information and the message data, wherein the view topic identifiers are used to identify which provenance entities and / or relationships are to be included in the provenance view and according to which provenance entities and / or relationships the message data stream should be grouped in the provenance view.
3. The method according to claim 1 or 2, wherein: The query also indicates a message data identifier for a message or data segment in the message data stream for which the message data stream should be provided.
4. The method according to claim 1 or 2, wherein: The query also indicates a time interval criterion for identifying time intervals for which the message data stream should be provided.
5. The method according to claim 1 or 2, wherein: The provenance view includes a scope view.
6. The method according to claim 1 or 2, wherein: The provenance information database and the message data database are relational databases and / or graph databases.
7. The method according to claim 1 or 2, wherein: Exporting related data includes copying message data or referencing individual message data or ranges of message data for later lookup.
8. The method according to claim 1 or 2, further comprising the following steps performed by the routing component: The derived correlation data is added (107) to the message data stream to form the provenance view.
9. The method according to claim 1 or 2, further comprising the following steps performed by the routing component: The client is notified (108) that the requested origin view is available for provision.
10. The method according to claim 1 or 2, further comprising the following steps performed by the routing component: generating (102) a request identifier for the received request, and The generated request identifier is provided (103) to the client for use in identifying the requested origin view when the requested origin view is provided to the client.
11. The method according to claim 1 or 2, further comprising the following steps performed by the routing component: Receive multiple requests from multiple clients, and Provides the corresponding provenance view, where Each of the plurality of requests and the corresponding origin view can be identified by a request identifier generated per request.
12. The method according to claim 1 or 2, wherein: The routing component is a message broker.
13. The method according to claim 1 or 2, wherein: Depending on the type of data and the circumstances of collection, the provenance information includes any of: information about where the data was collected, information about the purpose for which the data was collected, information about the context for which the data was collected, information about for whom the data was collected, information about who has accessed the collected data, attributes of the collected data, updates to the collected data, creation of the collected data, and the lineage of the collected data.
14. The method according to claim 1 or 2, wherein: The data stream provided to the client via the network interface relates to any one of: an industrial robot, a sensor in a building, and a production machine.
15. A computer program product comprising a non-transitory computer-readable medium storing a computer program comprising program instructions, the computer program being loadable into a data processing unit and being configured to cause the method according to claim 1 or 2 to be performed when the computer program is run by the data processing unit.
16. An apparatus for routing a component, wherein: The routing component is configured to provide a data stream to a client through a network interface, wherein the data stream includes a message data stream that forms a provenance view based on provenance information, and the apparatus includes a controller configured to: receiving a submitted request including a query for a provenance view from a client, wherein the query indicates a continuation criterion for determining whether to continue obtaining provenance information and message data, deriving related data, and providing a message data stream as long as there is new data corresponding to a provenance entity in the message data database, obtaining provenance information from a provenance information database based on the query of the received request, wherein the provenance information database includes provenance relationships between the provenance entities, obtaining message data from a message data database based on the query of the received request, wherein the message data database includes data corresponding to the originating entity, deriving relevant data based on the obtained provenance information and the obtained message data, and The exported relevant data is provided to the client as a provenance view in a message data stream.
17. The device according to claim 16, wherein: The query also indicates one or more view topic identifiers for the provenance information and the message data, wherein the view topic identifiers are used to identify which provenance entities and / or relationships are to be included in the provenance view and according to which provenance entities and / or relationships the message data stream should be grouped in the provenance view.
18. The device according to claim 16 or 17, wherein: The query also indicates a message data identifier for a message or data segment in the message data stream for which the message data stream should be provided.
19. The device according to claim 16 or 17, wherein: The query also indicates a time interval criterion for identifying time intervals for which the message data stream should be provided.
20. The device according to claim 16 or 17, wherein: The provenance view includes a scope view.
21. The device according to claim 16 or 17, wherein: The provenance information database and the message data database are relational databases and / or graph databases.
22. The device according to claim 16 or 17, wherein: Exporting related data includes copying message data or referencing individual message data or ranges of message data for later lookup.
23. The device according to claim 16 or 17, wherein: The controller is also configured such that: The derived relevant data is added to the message data stream to form the provenance view.
24. The device according to claim 16 or 17, wherein: The controller is also configured such that: The client is notified that the requested origin view is available for provision.
25. The device according to claim 16 or 17, wherein: The controller is also configured such that: generating a request identifier for the received request, and The generated request identifier is provided to the client for use in identifying the requested origin view when the requested origin view is provided to the client.
26. The device according to claim 16 or 17, wherein: The controller is further configured to receive a plurality of requests from a plurality of clients and provide corresponding origin views, wherein each of the plurality of requests and the corresponding origin view can be identified by a request identifier generated per request.
27. The device according to claim 16 or 17, wherein: The routing component is a message broker.
28. The device according to claim 16 or 17, wherein: Depending on the type of data and the circumstances of collection, the provenance information includes any of: information about where the data was collected, information about the purpose for which the data was collected, information about the context for which the data was collected, information about for whom the data was collected, information about who has accessed the collected data, attributes of the collected data, updates to the collected data, creation of the collected data, and the lineage of the collected data.
29. The device according to claim 16 or 17, wherein: The data stream provided to the client via the network interface relates to any one of: an industrial robot, a sensor in a building, and a production machine.
30. A routing component comprising the apparatus according to claim 16 or 17.
31. A system for data provision, comprising the apparatus according to claim 16 or 17 and / or the routing component according to claim 30.
32. The system of claim 31 , further comprising: At least one client, a provenance information database, and a message data database.
Citation Information
Patent Citations
Data consolidation mechanisms for internet of things integration platform
US20150019553A1