信号和事件处理引擎的制作方法

文档序号:22438946发布日期:2020-10-02 10:36阅读:235来源:国知局
信号和事件处理引擎的制作方法

本发明涉及信号和事件处理引擎,其可以在工业系统的目标设备上部署和执行。

工业系统可以包括可以在信号或事件数据流的基础上进行监控的多个机器和/或机器组件。工业系统可以包括多个不同的工业资产。例如,对于石油和天然气平台,工业系统可以包括:燃气轮机和其他组件,诸如轴承设备、齿轮设备或泵,其中传感器信号源生成传感器数据流,该传感器数据流可以由分布式应用收集以生成观察事件的时间序列。传感器或现场仪器(诸如可编程逻辑控制器)可以生成数据,所述数据可以以在线模式(即,近实时处理)或以离线模式(即,批处理)进行处理和分析。

在plc编程领域中,通常使用例如功能框图fbd、梯形逻辑图ld、结构化文本st、指令列表il或顺序功能图sfc在个人计算机上的特殊应用中编写程序。最熟悉工业系统的工业资产的现场工程师、操作员和维护工程师可能具有一些plc编程语言的知识。然而,plc编程语言不适合经由流处理来解决大多数状况监控任务,因为它们不包括在分析领域中可用的特征。数据分析领域的数据处理工具更适合于数据流的分析。数据分析领域由各种各样的技术组成,并且可以采用通用编程和查询语言(诸如结构化查询语言(sql)、scala、python、java、c++)被实现为应用编程接口api。由于应用编程接口api是为解决标准流处理任务而设计的,因此它们提供了通用事件、基本事件运算、时间事件运算和/或事件处理网络。

为了对工业系统进行基于状况的维护和状况监控,并且为了实行诊断任务,有必要检测工业系统内的信号源所提供的数据流或事件流内的模式。常规模式制定工具或匹配程序是使用数据分析领域的专家熟悉的、但是拥有工业系统的特定资产知识的现场工程师、操作员或维护工程师不熟悉的工具编写的。例如,现场工程师通常对诸如python、scala和java之类的处理语言或结构化查询语言sql不熟悉。另一方面,数据分析专家通常对相应工业系统的工业资产知之甚少。因此,模式识别程序的制定非常繁琐、复杂且耗时,这需要现场工程师、操作员和数据分析专家之间进行密集互动。此外,可以被用于数据和/或事件模式匹配的所得分析程序包括大的占用空间,并且不能容易地部署在具有有限资源的目标设备上。由于数据分析专家关于工业系统的资产的相对差的认知,所得数据分析程序不包括最佳性能。

因此,本发明的目的是提供一种用于处理信号和/或事件数据流的装置和方法,其简化了模式匹配并提高了工业系统的信号和/或事件数据流内的模式匹配的性能。

此目的是根据本发明的第一方面、由包括权利要求1的特征的信号和事件处理sep引擎实现的。

根据第一方面,本发明提供了部署在工业系统的目标设备上的一种信号和事件处理sep引擎,

所述sep引擎包括:

订户节点,其被适配成从所述工业系统的源接收信号和/或事件se数据流,

处理节点,其被适配成根据所述sep引擎的sepl脚本对接收到的se数据流实行信号和事件处理语言sepl函数运算,其中,sepl脚本包括预定义的有状态事件或数据模式匹配运算,以生成结果se数据流;以及

发布者节点,其被适配成将生成的结果se数据流转发到所述工业系统的宿(sink)。

在根据本发明的第一方面的信号和事件处理sep引擎的可能实施例中,部署在所述目标设备上的sep引擎的每个节点被适配成实行形成sepl脚本的一部分的相关联的函数运算,其中,函数运算包括无状态函数sepl运算或有状态函数sepl运算。

在根据本发明的第一方面的信号和事件处理sep引擎的另外可能的实施例中,部署的sep引擎的每个处理节点被适配成对由至少一个订户节点接收到的、或由至少一个先前的处理节点输出的se数据流应用预定义的sepl函数运算,并且将所得se数据流递送到部署的sep引擎的后续处理节点和/或发布者节点。

在根据本发明的第一方面的信号和事件处理sep引擎的仍另外可能的实施例中,se数据流包括由工业系统的信号生成源生成的信号数据流,和/或由工业系统的事件生成源生成的事件数据流。

在根据本发明的第一方面的信号和事件处理sep引擎的另外可能的实施例中,事件数据流包括事件的时间序列,该事件的时间序列包含被表示为键值对的特征。

在根据本发明的第一方面的信号和事件处理sep引擎的仍另外可能的实施例中,信号数据流包括由形成工业系统的源的传感器提供的传感器数据流。

在根据本发明的第一方面的信号和事件处理sep引擎的仍另外可能的实施例中,部署的sep引擎的节点形成sep网络,该sep网络包括有向无环图dag。

在根据本发明的第一方面的信号和事件处理sep引擎的另外可能的实施例中,部署的sep引擎被实现为软件组件或被实现为硬件组件,并且被部署在形成所述工业系统的一部分或连接到所述工业系统的目标设备上。

在根据本发明的第一方面的信号和事件处理sep引擎的仍另外可能的实施例中,sep引擎部署在上面的目标设备包括所述工业系统的可编程逻辑控制器plc、计算机、计算机集群、客户端、服务器、控制单元,或连接到所述工业系统的网络云的云单元。

在根据本发明的第一方面的信号和事件处理sep引擎的另外可能的实施例中,被适配成将se数据流提供给部署的sep引擎的订户节点的源和/或被适配成接收来自所述sep引擎的发布者节点的所生成的结果se数据流的宿包括含有工业系统的其他sep引擎、服务器、客户端、计算机和/或数据库的实体。

在根据本发明的第一方面的信号和事件处理sep引擎的仍另外可能的实施例中,部署在目标设备上的sep引擎被配置成借助于事件消息代理、与部署在所述工业系统的其他目标实体或设备上的其他sep引擎进行通信。

在根据本发明的第一方面的信号和事件处理sep引擎的另外可能的实施例中,所述sep引擎的sepl脚本是从存储在领域特定或跨领域知识数据库中的sepl脚本库加载的,并且针对所述工业系统的相应目标设备被实例化。

在根据本发明的第一方面的信号和事件处理sep引擎的仍另外可能的实施例中,部署的sep引擎的sepl脚本包括:一个或多个预定义的有状态函数sepl窗口事件模式匹配运算,每个运算被适配成验证事件模式,该事件模式是针对具有可配置时间窗口长度的滑动时间窗口、从由批处理sep引擎的订户节点接收到的se数据流内的记录和存储的se数据流的历史数据中挖掘的,以生成匹配结果,从而形成由部署的批处理sep引擎的发布者节点输出的结果se数据流。

在根据本发明的第一方面的信号和事件处理sep引擎的另外可能的实施例中,部署的sep引擎的sepl脚本包括:一个或多个预定义的有状态函数sepl延迟运算,每个运算被适配成以可配置的延迟时间段来延迟由所述sep引擎的订户节点接收到的se数据流,以提供延迟的se数据流,其由所述部署的sep引擎的发布者节点作为结果se数据流输出。

在根据本发明的第一方面的信号和事件处理sep引擎的另外可能的实施例中,sepl脚本除了有状态函数事件或数据模式匹配或延迟sepl运算之外,还包括无状态函数sepl运算,所述无状态函数sepl运算包括:订户sepl运算、常量定义sepl运算、转换sepl运算、se数据流合并sepl运算、具有一个或多个变元的算术函数运算、从se数据流中选择特征的选择sepl运算、字符串处理sepl运算、数据时间sepl运算、以及发布sepl运算。

在根据本发明的第一方面的信号和事件处理sep引擎的另外可能的实施例中,为包括c++、c#、java的不同语言类型提供的预定义sep引擎与相关联的sepl脚本库一起存储在知识数据库中,其中,合适的sepl引擎被加载、实例化和部署在工业系统的目标设备上。

根据另外第二方面,本发明进一步提供了一种系统状况监控scm和/或基于状况的维护cbm平台,该平台包括:根据本发明的第一方面的一个或多个sep引擎,其中,所述平台的scm/cbm规则被编写为部署在工业系统的目标设备上的sep引擎的sepl脚本。

根据第三方面,本发明进一步提供了一种包括权利要求18的特征的目标系统。

根据第三方面,本发明提供了一种工业系统的目标设备,其包括:根据本发明的第一方面的至少一个sep引擎,其被实例化并部署在所述目标设备上,其中,部署的sep引擎可执行以实行从所述工业系统的源接收到的se数据流的在线和/或离线处理以生成结果se数据流,其被转发到工业系统的宿。

根据第四方面,本发明进一步提供了一种用于处理工业系统的信号和/或事件se数据流的方法,该方法包括权利要求19的特征。

根据第四方面,本发明提供了一种用于在线和/或离线处理工业系统的信号和/或事件se数据流的方法,

该方法包括下述步骤:

从工业系统的源接收se数据流,

根据部署在所述工业系统的至少一个目标设备上的信号和事件sep引擎的sepl脚本,对接收到的se数据流实行信号和事件处理语言sepl函数运算,

其中,sepl脚本包括预定义的有状态事件或数据模式匹配运算以生成结果se数据流,以及

将生成的结果se数据流转发到所述工业系统的宿。

在下文中,参照附图更加详细地描述本发明的不同方面的可能实施例。

图1示出了示例性工业系统,其中可以部署根据本发明的一个或多个sep引擎;

图2示出了根据本发明的一方面的信号和事件处理sep引擎的可能示例性实施例的示意图;

图3示出了根据本发明的另外的方面的用于处理工业系统的信号和事件数据流的方法的可能的示例性实施例的流程图;

图4示出了用于图示可以由根据本发明的一方面的信号和事件处理sep引擎实行的可能的示例性窗口运算的示意图;

图5示出了用于图示可以由根据本发明的一方面的信号和事件处理sep引擎实行的可能的示例性窗口运算的另外的示意图;

图6示出了用于图示可以由根据本发明的一方面的信号和事件处理sep引擎实行的窗口运算的可能的示例性实施例的另外的示意图;

图7示出了用于图示可以由根据本发明的一方面的信号和事件处理sep引擎实行的可能的示例性窗口运算的另外的示意图;

图8示出了用于图示可以由根据本发明的一方面的信号和事件处理sep引擎实行的可能的示例性窗口运算的另外的示意图;

图9示出了用于图示可以由根据本发明的一方面的信号和事件处理sep引擎实行的可能的示例性延迟运算的另外的示意图;

图10示出了用于图示可以由根据本发明的一方面的信号和时间处理sep引擎实行的可能的示例性延迟运算的另外的示意图;

图11、12图示了可以由根据本发明的sep引擎实现的sepl脚本的简单示例。

如在图1的示意图中可以看到的,图1中示出的所图示的示例性工业系统1可以包括多个组件,这些组件包括硬件组件和/或软件组件。工业系统1可以包括彼此相互作用的机器和机器组件。在图示的示例性工业系统1中,提供了传动系,该传动系包括驱动器1-1、齿轮组件1-2、轴承1-3和泵1-4。工业系统1的每个组件(诸如图示的传动系)可以包括一个或几个信号源。信号源可以包括在工业系统1的操作期间生成系统的传感器数据的传感器。如图1中图示的,不同的传感器可以将模拟信号或数字传感器数据提供给工业系统1的控制单元。在图1所示的示例中,设置在工业系统1的驱动单元1-1处的两个传感器信号源2a-1、2b-1将传感器信号提供给控制器3,诸如simatics7控制单元。另外,在工业系统1的齿轮单元1-2处提供的信号源2a-2、2b-2将数据流提供给工业系统1的控制器3。在图示的示例中,工业系统1的本地控制器3进一步从设置在工业系统1的泵单元1-4处的传感器2-4接收传感器信号。传感器或信号源的类型可以取决于用例而变化。例如,传感器可以包括振动传感器、温度或压力传感器,它们提供模拟传感器信号,其被模拟数字转换器adc转换成信号数据流。另外,可以提供本地可编程逻辑控制器plc,其将观察结果聚合成事件,所述事件被提供给工业系统1的本地控制器3。诸如simatics7之类的本地控制器3可以经由总线4连接到平台5,该平台5包括用于实行数据分析的cms工具。另外,计算机或scada实体6可以连接到工业系统1的公共总线4。scada实体6可以有权访问数据库。另外,如图1中图示的,工业系统1的本地总线4可以例如经由互联网提供对背景云7的远程访问。工业系统1的总线4可以包括例如profinet总线或以太网总线。工业系统1的本地控制器或plc3可以从工业系统1的事件数据源(例如,从其他分布式可编程逻辑控制单元plc)接收事件数据流。另外,事件可以从云7内、scada单元6内或分析处理单元5内的实体或单元提供给本地控制器3。工业系统1可以包括根据本发明的第一方面的一个或多个信号和事件处理sep引擎。在可能的实施例中,根据本发明的第一方面的几个信号事件处理sep引擎被分配在工业系统1中,以实行不同的任务。在可能的实施例中,信号和事件处理sep引擎部署在工业系统1的目标设备上,特别是部署在靠近机器组件1-i定位的可编程逻辑控制器plc上,以处理本地传感器数据,其可以被聚合成事件数据流,该事件数据流被提供给工业系统1的子系统的其他plc。另外,如图1所示,可以在工业系统1的控制器3中实现根据本发明的第一方面的一个或多个信号和事件处理sep引擎。其他信号和事件处理sep引擎可以进一步部署在分析处理单元5、scada设备6上和/或部署在系统云7的实体上。部署在工业系统1的相同或不同目标设备上的不同sep引擎被配置成与彼此通信。在可能的实施例中,sep引擎借助于事件消息代理与彼此通信。

图2示意性地图示了部署在工业系统1的目标设备td上的信号和事件处理sep引擎sepe的可能的示例性实施例。sep引擎可以部署在工业系统1的不同种类的目标设备td上,包括工业系统1的可编程逻辑控制器、plc、计算机、计算机集群、客户端设备、服务器设备、控制单元,或连接到工业系统1的系统网络云的云单元。在工业系统1的每个目标设备td上,可以部署一个或多个sep引擎来实行不同的任务。如可以在图2的示意图中看到的,部署在工业系统1的目标设备td上的信号和事件处理sep引擎sepe在图示的实施例中包括一个或多个订户节点subn、处理节点pn和一个或多个发布者节点pubn。节点的数量可以取决于用例而变化。如图2中图示的,信号和事件处理sep引擎sepe包括:几个订户节点subn,其被适配成从工业系统1的源接收信号和/或事件se数据流。接收到的信号和/或事件se数据流包括由工业系统1的信号生成源(特别是信号传感器)生成的信号数据流,和/或由工业系统1的事件生成源生成的事件数据流。每个se数据流包括应用于信号和事件处理sep引擎的订户节点subn的时间序列数据。sep引擎进一步包括:处理节点pn,其被适配成根据sep引擎的sepl脚本对接收到的se数据流实行信号和事件处理语言sepl函数运算。sepl脚本包括预定义的有状态事件或数据模式匹配运算,以生成结果se数据流。信号和事件处理sep引擎进一步包括:发布者节点pubn,其被适配成将生成的结果se数据流转发到工业系统1的宿。部署在相应目标设备td上的sep引擎sepe的每个节点被适配成实行形成sepl脚本的一部分的相关联的函数运算。该函数运算是无状态函数sep运算或有状态函数sep运算,特别是事件或数据模式匹配函数运算。部署的sep引擎的每个处理节点pn被适配成对由至少一个订户节点subn接收到的、或由至少一个先前的处理节点pn输出的se数据流应用预定义的sepl函数运算,并且将所得se数据流递送到部署的sep引擎sepe的后续处理节点pn和/或发布者节点pubn,如也在图2的示例性实施例中图示的。订户节点subn解释并验证来自外部源的数据,并且经由发布者节点pubn将结果递送到外部宿。节点的sep网络sep-net的每个节点都对来自先前或在先sepl节点或订户节点subn的接收到的输入数据应用sep运算。处理的结果被递送到sepl网络的以下sepl节点或发布者节点pubn。每个节点可以实现一个且只有一个函数sepl运算。部署的sep引擎的节点形成sep网络sep-net,该sep网络sep-net包括有向无环图dag,如也图2的示例中所示。图2中图示的sep引擎sepe可以被实现为软件组件或被实现为硬件组件,并且被部署在工业系统1的目标设备td上。目标设备td可以形成工业系统1的一部分,或者可以连接到工业系统1。被适配成将se数据流提供给如图2所示的部署的sep引擎的订户节点subn的源,和/或被适配成接收来自sep引擎的发布者节点pubn的所生成的结果se数据流的宿可以包括不同的实体或设备,这些实体或设备包括工业系统1的部署在其他目标设备上的其他sep引擎、服务器、客户端、计算机和/或数据库。在可能的实施例中,sep引擎的sepl脚本可以从存储在领域特定或跨领域知识库中的sepl脚本库加载,并且针对工业系统1的相应目标设备td被实例化。sep引擎被适配成执行sepl脚本。该sep引擎解析sepl脚本并且由此创建sep网络。然后,可以启动sep引擎以对输入的se数据流进行操作。

部署的sep引擎的sepl脚本可以包括一个或多个预定义的有状态函数sepl窗口事件模式匹配运算,每个运算被适配成验证事件模式,该事件模式是针对滑动时间窗口、从由批处理sep引擎的一个或多个订户节点subn接收到的接收到的se数据流内的记录和存储的se数据流的历史数据中挖掘的。滑动时间窗口可以包括可配置时间窗口长度twl。实行匹配以生成匹配结果,该匹配结果形成由部署的批处理sep引擎的发布者节点pubn输出的结果se数据流。从历史数据中得出一些特性模式,即,进行挖掘。这些模式被制定为sepl脚本,并且使用批处理sep引擎进行验证。然后可以部署sepl脚本用于在目标设备上以在线模式执行。

部署的sep引擎的sepl脚本还可以包括一个或多个预定义的有状态函数sepl延迟运算。sepl延迟运算被适配成以可配置的延迟时间段延迟由sep引擎的订户节点subn接收到的se数据流,以生成延迟的se数据流,其由部署的sep引擎的发布者节点pubn作为结果se数据流输出。

除了有状态函数事件或数据模式匹配或延迟sepl运算之外,部署的sep引擎sepe的sepl脚本还可以包括无状态函数sepl运算。这些无状态函数sepl运算可以包括订户sepl运算、常量确定sepl运算、转换sepl运算、se数据流合并sepl运算、具有一个或多个变元的算术函数运算、从se数据流中选择特征的选择sepl运算、字符串处理sepl运算、数据时间sepl运算、过滤sepl运算和/或发布sepl运算。sepl运算对于实行接收到的se数据流的分析是有用的。具有plc编程语言的工作知识的操作员和现场工程师容易理解它们。sep引擎sepe可以部署在不同硬件平台类别(例如包括智能电话、服务器或集群)上正在运行的sep网络上。sep网络sep-net可以包含多个处理节点。sep网络的每个节点都可以对来自先前的输入节点的数据应用单一运算,并且将结果递送到输出节点。在可能的实施例中,为包括c++、c#、java的不同语言类型提供的预定义的sep引擎可以被存储在系统1的知识数据库中的相关联的sepl脚本库中,其中,合适的sep引擎被加载、实例化和部署在工业系统1的目标设备td上。为了支持跨不同硬件平台的sep运算,可以提供不同版本的sep引擎,即,c++、c#.net、javaee和基于apacheflink的集群sep引擎。apacheflink是一个处理平台,它揭露了用java编写的专用api,以用于实现流处理任务。可以使用flink平台上的api来实现sep引擎。每个特定的引擎都可以作为专用库递送,该专用库实现了标准化的api,其中具有集成在任何软件开发项目中所需的基本函数的集合。另外,每个sep引擎都可以附带所谓的sep工作者应用,该应用被适配成将库api包装到rest服务的集合中。为sep工作者应用使用rest服务只是一种可能的实现。其他可能性包括使用套接字、通信总线或任何其他协议。后一个特征可以为sep工作应用的所有版本形成标准化的restapi。提供库、引擎和工作者允许在几乎任何状况监控应用中进行快速集成。

该系统可以包括图形用户接口,以用于创建在如图2中图示的sep引擎中实现的不同种类的sep网络。另外,该接口可以被用于配置由所创建的sep网络的节点实行的sepl运算。该接口还可以被用于测试和部署所创建的sep网络。实现该接口的sep实验室应用便于sep引擎内的sep网络的快速开发、测试和部署。在可能的实施例中,可以通过逐个添加sepl运算来配置每个sep网络。对于每个添加的sepl运算,有可能为先前的运算定义输入流。可以实行此运算以避免sep网络中的循环,从而确保它始终包括有向无环图dag。一旦工作的sep网络准备就绪,用户就可以加载具有事件信息的.csv文件的集合。可以使用任何类型的历史数据源,而不必使用.csv文件。要开始测试过程,有可能选择可用的sep工作者应用之一,并且从相应的.csv文件开始事件流的模拟。在可能的实施例中,sep实验室应用可以经由所提供的rest服务在sep工作者应用上部署所创建的sep网络,并且然后可以将所有输入数据流转发给它。在可能的实施例中,sep实验室应用可以分别收集和可视化从工作者应用返回的所有数据流。使用sep实验室应用开发、测试和部署sep网络的过程相当直观和无缝。有可能形成sep网络的集合,其解决最常见的状况监控任务,例如,用于工业系统1中实现的换能器、阀门、叶片、压力管、电动机等。具有已实现的sep网络的信号和事件处理sep引擎的应用不需要现场工程师的任何特定编程知识,而只需要了解工业系统1的不足资产。

图3示出了根据本发明的另外的方面的用于处理工业系统1的信号和/或事件se数据流的方法的可能的示例性实施例的流程图。图示的方法被适配成实行工业系统1的se数据流的在线和/或离线处理。在图示的示例性实施例中,该方法包括三个主要步骤。

在第一步s1中,sepe从工业系统1的源接收se数据流。

在另外的步骤s2中,根据部署在工业系统1的至少一个目标设备td上的信号和事件sep引擎sepe的sepl脚本,对接收到的se数据流实行信号和事件处理语言sepl函数运算。在可能的实施例中,sepl脚本包括预定义的有状态事件和/或模式匹配运算,特别是窗口事件模式匹配运算,以生成结果se数据流。

在另外的步骤s3中,所生成的结果se数据流被sepe转发到工业系统1的宿。

根据另外的方面,本发明提供一种系统状况监控scm和/或基于状况的维护cbm平台,该平台包括根据本发明的第一方面的一个或多个sep引擎,并且被适配成实行图3中图示的方法。在scm和/或cbm系统中,平台的scm/cbm规则是作为部署在工业系统1的目标设备td上的sep引擎的sepl脚本编写的。改善系统性能并降低系统维护成本始终是重要的。因此,工业iot用例关注状况监控scm和基于状况的维护sbm,其中需要深入的领域特定的知识。根据本发明的信号和事件处理sep引擎的使用允许提供强大的scm/cbm平台,其可以在几乎任何工业环境中配置和运行。例如,有可能容易地改造和增强任何现有的scm/cbm解决方案。另外,通过使用根据本发明的信号和事件处理sep引擎所提供的sepl工具可以提供舒适的环境,以用于开发和传播被编写为sepl脚本的scm/cbm规则。这些sepl脚本可以消耗工业iot数据流,特别是传感器信号和系统日志,并且可以推断出关于工业系统1的系统状态的结论流,特别是状态指示、故障指示和/或故障模式、估计的故障概率、可能的根案例、所需的操作动作和维护活动。可以对这样的scm/cbm脚本进行分类,并将其存储在领域特定或跨领域知识数据库中。本发明提供跨平台部署的可能性。例如,c++sep引擎可以被主要用于受限制的设备,而java/c#sep引擎可以被用于商品计算机和服务器以及分布式环境中的相应sep集群引擎。根据本发明的sep引擎可以被现场工程师容易地使用。在可能的实施例中,根据本发明的sep引擎可以提供用于创建、测试和部署在sep引擎中实现的sep网络的图形用户接口应用。有可能在sep网络执行环境中使用sep工作者应用。sep库的提供便于与现有系统的集成。包括信号和事件处理语言sepl函数运算的sepl语言适用于数字和分类时间序列处理。sepl函数运算的集合可以包含现场工程师在工业系统中开发大多数状况监控任务所需的所有运算。包括sepl函数运算和sep工具的sepl语言可以被用于在任何种类的工业系统1(诸如石油和天然气平台、燃气轮机或生产线)中快速开发状况监测应用。

为了优化针对状况监控任务的未来工业iot应用的数据流量,可以通过本地边缘设备处的信号和事件处理sep引擎来处理se数据流,而不向系统云发送任何不需要的信息或数据。例如,经处理的数据流可以包括来自工业系统1的加速度计的高频数据。为了提供对关键状况监控和监控任务的及时的反应,sep工作者应用可以以流式方式并且非常接近工业系统的流式源来处理事件。因此,操作员不必等待来自系统云中的分析仪的反应。这对于其中可能限制互联网带宽的某些现实生活用例(例如,对于离岸平台)是重要的。

在每个信号和事件处理sep引擎上,可以提供一个或几个sepl脚本,每个脚本都包括一系列sepl运算。这些sepl运算包括:有状态函数事件或数据模式匹配sepl运算,以及无状态函数sepl运算。sepl脚本包括:预定义的有状态函数sepl模式匹配运算,其被适配成在历史现有模式与来自工业系统1的源的接收到的se数据流内的模式之间实行模式匹配。模式匹配sepl运算可以包括可配置的时间窗口,特别是具有可配置的时间窗口长度的滑动时间窗口。观察窗口可以被用来收集连续的观察结果序列。每个函数或运算可以被用来聚合来自观察结果的一个所选特征。可以使用不同类型的窗口,特别是时间窗口、时间批处理窗口、长度窗口、长度批处理窗口或自定义窗口。可以将聚合器应用于观察结果的所选特征。sepl窗口事件模式匹配运算可以类似于sepl窗口聚合运算来实现。sepl窗口事件模式匹配运算的示例是来实行以下模式的匹配,其中在5分钟的窗口内发生事件a(例如,“关闭”)和另一事件b(例如,“油温过高”)。事件或特征a、b可以位于不同的流中。

时间窗口可以包括其时间窗口长度twl作为主要参数。当在数据流中接收到新的观察结果或事件时,可以使用在上一个时间窗口长度twl间隔中接收到的所有观察结果来应用指定的聚合器。在图4中图示了时间窗口的可能运算模式。如图4中图示的,对包括事件a、b、c、d、h的输入se流进行处理以生成输出se流。

被适配成提供时间窗口运算的sepl节点可以包括以下结构:

其中必须填写以下参数:

•_input_stream_name:必须被用作输入的流的名称;

•_output_stream_name:表示输出流的名称的字符串值;

•_operation:表示运算名称的字符串值。对于时间窗口运算符,应为“timewindow”;

•_comment:包含运算符的字符串描述。注明(mented)要由现场工程师使用,并且其不影响处理。该字段是可选的;

•_time_window_length_in_seconds:时间窗口的长度;

•_feature_1_name,_feature_2_name,...,“:”_feature_n_name:将要被聚合的输入流的特征;

•_aggregator_1,_aggregator_2,...,_aggregator_n:必须对所选特征应用的聚合器(参见表25);

•_result_feature_name_1,_result_feature_name_2,...,_result_feature_name_n:在窗口输出流上发布的观察结果将包含这些特征。

时间批处理窗口运算的主要配置参数是:时间窗口长度twl,其表示在其期间将事件收集到窗口中的时间段;以及时间窗口步长tws,其表示两个连续时间窗口的开始之间的时间距离。

图5图示了时间批处理窗口sepl运算。

在可能的实施例中,被适配成实行时间窗口sepl运算的sepl处理节点可以包括以下结构:

其中必须填写以下参数:

•_input_stream_name:必须被用作输入的流的名称;

•_output_stream_name:表示输出流的名称的字符串值;

•_operation:表示运算名称的字符串值。对于时间窗口运算符,应为“timewindow”;

•_comment:包含运算符的字符串描述。注明要由现场工程师使用,并且其不影响处理。该字段是可选的;

•_time_window_length_in_seconds:时间窗口的长度;

•_feature_1_name,_feature_2_name,...,“:”_feature_n_name:将要被聚合的输入流的特征;

•_aggregator_1,_aggregator_2,...,_aggregator_n:必须对所选特征应用的聚合器(参见表25);

•_result_feature_name_1,_result_feature_name_2,...,_result_feature_name_n:在窗口输出流上发布的观察结果将包含这些特征。

点窗口将聚合器应用于从数据流接收到的最后观察结果,而不管其接收到数据流的时刻如何。可以通过点窗口长度参数来限定所考虑的观察结果的数量。如果点窗口是严格的,则它仅在精确包含点窗口长度观察结果时才生成值。

图6图示了点窗口sepl运算。对于严格的点窗口,图6中图示的前两个聚合结果未被递送。图6示意性地示出了可以由根据本发明的sep引擎实行的点窗口sepl运算。如图6中图示的,对包含一系列事件a至f的输入se流进行处理以生成输出se流。被适配成实行sepl点窗口运算的sepl节点可以包括以下结构:

其中必须填写以下参数:

•_input_stream_name:必须被用作输入的流的名称;

•_output_stream_name:表示输出流的名称的字符串值;

•_operation:表示运算名称的字符串值。对于点窗口运算符,应为“pointswindow”;

•_comment:包含运算符的字符串描述。注明要由现场工程师使用,并且其不影响处理。该字段是可选的;

•_points_window_length:要包括在点窗口中的观察结果的数量;

•_strict_points_window:指定点窗口是否严格的布尔参数;

•_feature_1_name,_feature_2_name,...,“:”_feature_n_name:将要被聚合的输入流的特征;

•_aggregator_1,_aggregator_2,...,_aggregator_n:必须对所选特征应用的聚合器(参见表25);

•_result_feature_name_1,_result_feature_name_2,...,_result_feature_name_n:在窗口输出流上发布的观察结果将包含这些特征。

对于点窗口运算,可以使用以下参数。参数可以包括:点窗口长度,其表示该窗口必须存储的观察结果的数量;以及点窗口步长,其指定在两个窗口开始之间必须跳过的观察结果的数量。

图7示意性地图示了可以由根据本发明的sep引擎实行的点窗口sepl运算模式。被适配成实行点窗口运算的sepl处理节点可以包括以下结构:

其中必须填写以下参数:

•_input_stream_name:必须被用作输入的流的名称;

•_output_stream_name:表示输出流的名称的字符串值;

•_operation:表示运算名称的字符串值。对于点窗口运算符,应为“pointswindow”;

•_comment:包含运算符的字符串描述。注明要由现场工程师使用,并且其不影响处理。该字段是可选的;

•_points_window_length:要包括在点窗口中的观察结果的数量;

•_points_window_step:在两个窗口开始之间必须跳过的观察结果的数量;

•_feature_1_name,_feature_2_name,...,“:”_feature_n_name:将要被聚合的输入流的特征;

•_aggregator_1,_aggregator_2,...,_aggregator_n:必须对所选特征应用的聚合器;

•_result_feature_name_1,_result_feature_name_2,...,_result_feature_name_n:在窗口输出流上发布的观察结果将包含这些特征。

自定义窗口运算消耗两个输入se流。输入的se流可以包含必须聚合的观察结果。输入触发流可以包含至少一个布尔特征(由用户选择的),其可以被用来触发自定义窗口的开始和停止。布尔值从假到真的改变可以触发自定义窗口的开始,或者相应地从真到假的改变可以停止自定义窗口运算。自定义窗口停止之后,可以计算聚合结果并且将其发布在输出se流上。

图8示意性地示出了根据本发明的可以由sep引擎实行的自定义窗口sepl运算。在可能的实现方式中,被适配成对输入信号和事件数据流se和输入触发se实行自定义窗口sepl运算的sepl处理节点可以包括以下结构:

其中必须填写以下参数:

•_input_stream_name:必须被用作输入的流的名称;

•_input_trigger_stream_name:必须被用作窗口触发的流的名称;

•_trigger_feature:来自_input_trigger_stream_name的布尔值,其被用来开始和停止窗口;

•_output_stream_name:表示输出流的名称的字符串值;

•_operation:表示运算名称的字符串值。对于点窗口运算符,应为“pointswindow”;

•_comment:包含运算符的字符串描述。注明要由现场工程师使用,并且其不影响处理。该字段是可选的;

•_feature_1_name,_feature_2_name,...,“:”_feature_n_name:将要被聚合的输入流的特征;

•_aggregator_1,_aggregator_2,...,_aggregator_n:必须对所选特征应用的聚合器;

•_result_feature_name_1,_result_feature_name_2,...,_result_feature_name_n:在窗口输出流上发布的观察结果将包含这些特征。

在可能的实施例中,部署的sep引擎的sepl脚本可以包括:一个或多个预定义的有状态函数sepl延迟运算,其被用于以可配置的延迟时间段来延迟由sep引擎的订户节点接收到的se数据流。sepl延迟运算对在se流上发送的事件实行延迟运算。运算产生新的流,其中来自输入流的事件以给定的时间延迟发布,而不改变其有效负载。sepl脚本或sep网络的处理节点可以基于延迟的定义以两种模式进行操作。

如果延迟基于给定的事件的数量,则只有在输入流上接收到定义的事件的数量之后,才将输入事件转发到输出流。例如,如果延迟事件的数量在输入流中是一,并且已在输入流中接收到事件,则将在输入流中接收到另一个事件之后转发此事件,如也在图9中图示的。事件的数量可以包含任何整数值。图9图示了基于所定义的事件的数量的延迟运算。

在替换的模式中,延迟的定义可以基于给定的时间段。在此模式下,仅在输入事件经过为运算指定的延迟时间段dtp之后,才将输入事件转发到输出se流,如也在图10中图示的。图10图示了基于时间段的延迟。

被适配成实行延迟运算的sepl处理节点可以包括以下结构:

其中必须填写以下参数:

•_input_stream_name:必须被用作输入的流的名称;

•_output_stream_name:表示输出流的名称的字符串值;

•_operation:表示运算名称的字符串值。对于延迟运算符,应为“delay”;

•_comment:包含运算符的字符串描述。注明要由现场工程师使用,并且其不影响处理。该字段是可选的;

•_mode:表示运算符的运算模式的字符串值。该参数可以是“numberevents”或“timeperiod”;

•_delayevents:表示延迟事件的数量的数值。它是可选的;

•_delaylnseconds:表示秒的数量的数值。它是可选的。

除了有状态函数事件或数据模式匹配和/或延迟sepl运算之外,sepl运算的集合可以包括无状态函数sepl运算。

无状态函数sepl运算的集合可以包括:订户sepl运算,其中sep网络的订户节点被用来将观察结果推入要处理的sep引擎中。在运行时间时,订户节点subn可以根据特征集描述来转换接收到的每个观察结果或事件。经转换的观察结果可以发布在内部sepl引擎流上。

sepl运算集可以进一步包括:空处理sepl运算,其中,节点被用来处理包含空值的特征。

sepl运算集可以进一步包括:合并sepl运算,其可以被用来将两个se数据流合并成一个新的se流。输出流包含来自输入流的特征加上时间戳字段的并集,这取决于合并运算模式。

sepl运算集可以进一步包括:转换sepl运算,其被适配成使用数据流的一个特征来实行转换运算。转换sepl运算产生新的流,其中计算的结果可以替换经转换的特征的值。

在可能的实施例中,sepl运算集可以进一步包括算术函数,特别是使用数据流的一个或两个特征的算术运算。算术运算可以例如包括加、减、乘、除、比较或逻辑运算。

也可以提供一元算术sepl运算,以仅使用数据流的一个特征来实行算术运算。这些运算例如可以包括生成数值的绝对值的运算、或生成数值的对数的运算。其他函数包括例如提供数值的余弦或正弦值的余弦或正弦函数。sepl运算可以进一步包括算术函数和具有多于一个变元的运算,例如提供多个数值的最小值或最大值。另外,具有多于一个变元的sepl运算可以包括生成多个数值的平均值或中间值或总和值的运算。

由根据本发明的sep引擎使用的sepl运算集可以进一步包括:选择sepl运算,其被适配成选择数据流的特征列表。该运算产生新的数据流,在其中发布所选特征。

sepl运算集可以进一步包括:一元字符串处理运算,其产生新的流,其中计算的结果可以扩展特征列表或可以替换现有特征的值。

sepl运算集可以进一步包括:一元数据时间处理运算。该运算产生新的流,其中计算的结果可以扩展特征列表、或可以替换现有特征的值。例如,运算可以将当前日期时间对象的值转换为本地时间。另外,它可以例如检查日期时间是在周末还是工作日。

sepl运算集可以进一步包括:具有多于一个变元的数据时间处理。该运算例如可以返回新的日期时间,该新的日期时间将指定数量的年、月、日或小时、分钟、秒或毫秒添加到数据流的接收到的值中。

sepl运算集可以进一步包括:过滤运算,其可以基于所选布尔特征来过滤在se流中接收到的事件。该运算将产生新的se流,其中仅发布具有等于“真”的所选布尔值的事件。

由根据本发明的sep引擎使用的sepl脚本可以包括:一系列不同的sepl运算,这些sepl运算可以从存储在系统的数据库中的sepl脚本库中加载。可以针对相应的目标设备td和/或工业系统1来容易地实例化已加载的sepl脚本。具有相应工业系统1的不同资产的专业知识的现场工程师可以很容易地做到这一点。

图11示出了可以在根据本发明的第一方面的sep引擎中实现的sepl脚本的简单示例。在图11的图示的简单示例中,sepl脚本包括五个不同的sepl运算,它们可以属于存储在存储器中或数据库中的sepl运算的预确定集合。可以从sep库中加载不同的sepl运算,并且可以针对相应用例进行自定义。图12图示了两个接收到的数据流a、b,它们由根据图11中图示的sepl脚本的sep引擎进行处理。将第一信号和事件数据流sea与阈值tha进行比较,并且将第二信号和事件数据流seb与第二阈值thb进行比较。然后,信号数据流和事件数据流二者都通过sepl过滤运算进行过滤,并且然后通过sepl窗口和模式匹配运算进行处理,以生成输出信号和事件数据流以供进一步处理。例如,输出信号和事件数据流可以包括警报事件流。如果在工业系统1或机器中,如图12中图示的信号和事件模式出现在时间窗口长度twl的时间窗口内,则sep引擎自动生成警报事件或警报观察结果。该事件可以以流的形式发送到另一实体或目标设备,该实体或目标设备在可能的实现方式中可以包括另一sep引擎,该另一sep引擎被适配成处理接收到的信号和事件数据流,包括由图11中图示的sepl脚本生成的警报事件。在可能的实施例中,如图11中图示的sepl脚本可以以编辑模式对用户可视化。如图11中图示的sepl脚本可以由现场工程师生成,而无需任何特定的编程技能,但具有对工业系统1的工业资产的了解。例如,现场工程师可以根据其关于机器或工业系统1的专业知识来设置阈值和比较sepl运算。而且,时间窗口长度twl可以由现场工程师设置,从而创建简单sepl脚本,如图11所示。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1