本发明涉及工业设备检测技术领域,尤其涉及一种基于实时获取传感数据进行设备异常分析的方法及装置。
背景技术:
工业物联网是将具有感知、监控能力的各类采集、控制传感器或控制器,以及移动通信、智能分析等技术不断融入到工业生产过程各个环节,从而大幅提高制造效率,改善产品质量,降低产品成本和资源消耗,最终实现将传统工业提升到智能化的新阶段,从应用形式上,工业物联网的应用具有实时性、自动化、嵌入式(软件)、安全性、和信息互通互联性等特点。
目前,边缘计算被广泛地应用到工业物联网,边缘计算主要指在靠近物或数据源头的一侧,就近提供计算服务,以产生更快的网络服务响应,满足应用的实时性和数据保护等方面的需求。比如:对于连续性生产流水线,边缘设备会从生产线设备的传感器上实时地收集到大量传感数据,以用于对设备温度、湿度、压力、流量等等。
现有在边缘计算应用场景进行实时分析的方法往往是:当实时地获取到设备的传感数据,就立即判断是否达到预警阈值,从而确保及时地判定设备是否存在异常问题。然而,随着工作负荷的加重,设备的温度、湿度、压力、流量等等会突然增高,但是设备也会有自适应能力,可能会存在虽然达到预警阈值但真实情况是并未出现设备异常工作,所以如果当检测达到预警阈值时就立即触发报警,难免会出现误报情况,导致检测设备是否存在异常的实时分析结果并不够准确。
技术实现要素:
有鉴于此,本发明提供一种基于实时获取传感数据进行设备异常分析的方法及装置,主要目的在于利用流计算引擎的滑动窗口分析实时接收到的传感数据是否存在达到预警的重复事件,从而优化了实时分析过程,既确保检测设备是否存在异常的及时性,也避免误报警,提高检测准确性。
为了达到上述目的,本发明主要提供如下技术方案:
一方面,本发明提供了一种基于实时获取传感数据进行设备异常分析的方法,该方法包括:
接收传感数据,所述传感数据是边缘设备从生产线设备的传感器上实时获取到的流数据;
利用流计算引擎的滑动窗口缓存所述传感数据;
判断所述滑动窗口内缓存的所述传感数据是否满足预设重复条件;
若是,则确定所述设备存在异常,触发报警。
可选的,所述判断所述滑动窗口内缓存的所述传感数据是否满足预设重复条件,包括:
获取所述滑动窗口内缓存的多个传感数据;
将所述多个传感数据分别与预设报警阈值进行比较;
若检测到一个所述传感数据达到所述预设报警阈值,则执行计数加一操作;
通过累计所述执行计数加一操作,获取对应的重复事件发生次数,判断所述重复事件发生次数是否达到预设次数,所述重复事件是检测到一个所述传感数据达到所述预设报警阈值;
若是,则判定所述多个传感数据是满足预设重复条件的。
可选的,所述利用流计算引擎的滑动窗口缓存所述传感数据,包括:
将接收的传感数据按照时间先后顺序缓存至流计算引擎的滑动窗口内,组成数据队列;
判断是否满足滑动所述滑动窗口的触发条件;
若满足,从所述数据队列的首位起删除预设个数的所述传感数据并接收新的预设个数的传感数据,将新接收的所述传感数据自所述数据队列的末位起按照时间先后顺序缓存至所述数据队列,形成新的数据队列。
可选的,判断是否满足滑动所述滑动窗口的触发条件,包括:
判断所述滑动窗口内缓存的传感数据的个数是否达到预设缓存上限,若达到,判断满足滑动所述滑动窗口的触发条件;或
自所述滑动窗口被创建或首次滑动起开始计时,判断是否达到预设时间间隔,若达到,判断满足滑动所述滑动窗口的触发条件。
可选的,在所述利用流计算引擎的滑动窗口缓存所述传感数据之后,所述方法还包括:
监控所述流计算引擎的滑动窗口的生命周期;
当检测到所述滑动窗口的生命周期结束时,执行判断所述滑动窗口内缓存的所述传感数据是否满足预设重复条件操作;
重新创建流计算引擎的滑动窗口,用于继续缓存实时接收到的传感数据。
可选的,所述方法还包括:
预先设定所述流计算引擎的滑动窗口的窗口长度和滑动步长;
按照所述窗口步长缓存实时接收到的传感数据;
当接收到触发滑动所述滑动窗口指令时,按照所述滑动步长,在所述滑动窗口内删除所述滑动步长对应的传感数据个数,用于预留缓存空间接收新的传感数据。
另一方面,本发明还提供了一种基于实时获取传感数据进行设备异常分析的装置,该装置包括:
接收单元,用于接收传感数据,所述传感数据是边缘设备从生产线设备的传感器上实时获取到的流数据;
缓存单元,用于利用流计算引擎的滑动窗口缓存所述接收单元接收到的传感数据;
判断单元,用于判断所述滑动窗口内所述缓存单元缓存的所述传感数据是否满足预设重复条件;
确定单元,用于当所述判断单元判断所述滑动窗口内缓存的所述传感数据满足预设重复条件时,确定所述设备存在异常;
触发单元,用于当所述确定单元确定所述设备存在异常时触发报警。
可选的,所述判断单元包括:
获取模块,用于获取所述滑动窗口内缓存的多个传感数据;
比较模块,用于将所述获取模块获取到的多个传感数据分别与预设报警阈值进行比较;
执行模块,用于若检测到一个所述传感数据达到所述预设报警阈值,则执行计数加一操作;
判断模块,用于通过累计所述执行模块执行的计数加一操作,获取对应的重复事件发生次数,判断所述重复事件发生次数是否达到预设次数,所述重复事件是检测到一个所述传感数据达到所述预设报警阈值;
判定模块,用于当所述判断模块判断所述重复事件发生次数达到预设次数时,判定所述多个传感数据是满足预设重复条件的。
可选的,所述缓存单元包括:
组成模块,用于将接收的传感数据按照时间先后顺序缓存至流计算引擎的滑动窗口内,组成数据队列;
判断模块,用于判断是否满足滑动所述滑动窗口的触发条件;
删除模块,用于当所述判断模块判断满足滑动所述滑动窗口的触发条件时,从所述数据队列的首位起删除预设个数的所述传感数据;
接收模块,用于接收新的预设个数的传感数据;
缓存模块,用于将所述接收模块新接收的所述传感数据自所述数据队列的末位起按照时间先后顺序缓存至所述数据队列,形成新的数据队列。
可选的,所述判断模块包括:
第一判断子模块,用于判断所述滑动窗口内缓存的传感数据的个数是否达到预设缓存上限,若达到,判断满足滑动所述滑动窗口的触发条件;
第二判断子模块,用于自所述滑动窗口被创建或首次滑动起开始计时,判断是否达到预设时间间隔,若达到,判断满足滑动所述滑动窗口的触发条件。
可选的,所述装置还包括:
监控单元,用于在所述利用流计算引擎的滑动窗口缓存所述传感数据之后,监控所述流计算引擎的滑动窗口的生命周期;
所述判断单元,具体用于当检测到所述滑动窗口的生命周期结束时,执行判断所述滑动窗口内缓存的所述传感数据是否满足预设重复条件操作;
创建单元,用于重新创建流计算引擎的滑动窗口,用于继续缓存实时接收到的传感数据。
可选的,所述装置还包括:
设定单元,用于预先设定所述流计算引擎的滑动窗口的窗口长度和滑动步长;
执行单元,用于当接收到触发滑动所述滑动窗口指令时,按照所述滑动步长,在所述滑动窗口内删除所述滑动步长对应的传感数据个数,用于预留缓存空间接收新的传感数据。
再一方面,本发明还提供一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行如上述的基于实时获取传感数据进行设备异常分析的方法。
又一方面,本发明还提供一种电子设备,所述设备包括至少一个处理器、以及与所述处理器连接的至少一个存储器、总线;
其中,所述处理器、所述存储器通过所述总线完成相互间的通信;
所述处理器用于调用所述存储器中的程序指令,以执行如上述的基于实时获取传感数据进行设备异常分析的方法。
借由上述技术方案,本发明提供的技术方案至少具有下列优点:
本发明提供一种基于实时获取传感数据进行设备异常分析的方法及装置,本发明是利用流计算引擎的滑动窗口缓存实时接收到的传感数据,判断缓存的传感数据是否存在达到预警的重复事件,若存在则触发报警。相较于现有技术,避免对检测设备是否存在异常的误判,优化了实时分析过程,既确保检测设备是否存在异常的及时性,也避免误报警,提高检测准确性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例提供的一种基于实时获取传感数据进行设备异常分析的方法流程图;
图2为本发明实施例提供的流计算引擎的滑动窗口缓存传感数据的效果图;
图3为本发明实施例提供的另一种基于实时获取传感数据进行设备异常分析的方法流程图;
图4为本发明实施例提供的一种基于实时获取传感数据进行设备异常分析的装置的组成框图;
图5为本发明实施例提供的另一种基于实时获取传感数据进行设备异常分析的装置的组成框图;
图6为本发明实施例提供的基于实时获取传感数据进行设备异常分析的电子设备。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种基于实时获取传感数据进行设备异常分析的方法,如图1所示,该方法是利用流计算引擎的滑动窗口分析实时接收到的传感数据是否存在达到预警的重复事件,若存在则触发报警,从而避免误报警,对此本发明实施例提供以下具体步骤:
101、接收传感数据,传感数据是边缘设备从生产线设备的传感器上实时获取到的流数据。
需要说明的是,在本发明实施例中,结合边缘计算和工业物联网得到的应用场景是:边缘设备(比如:边缘网关)实时地从连续性生产流水线设备上的传感器获取传感数据,比如:温度、湿度、压力、流量等等,从而通过对传感数据的实时分析实现对生产设备运行状态进行实时地监测,以便及时地检测设备异常情况并触发报警。
对于本发明实施例,接收到的传感数据相当于是流数据,从而通过对流数据的实时性分析,以确保检测设备是否存在异常的及时性。
102、利用流计算引擎的滑动窗口缓存传感数据。
其中,流计算有助于对大规模流动数据在不断变化的运动过程中实时地进行分析,在本发明实施例中是利用引擎辅助流计算的功能需求。
在本发明实施例中是利用滑动窗口对不断实时地接收到的传感数据进行缓存处理,如图2所示的利用滑动窗口缓存传感数据的效果图,对该图2进行描述,具体如下:
边缘设备实时地从生产设备上的传感器获取压力值,也就是传感数据为:77、78、80、81、83、84、87、90、88、89、91、93、95、94、95...,压力单位是帕斯卡,简称帕,字母表示“pa”。
例如,一个流引擎的滑动窗口缓存数据个数的上限是7个数据,当边缘设备实时地接收到一个压力值“70”pa,就将该压力值缓存到流计算引擎的滑动窗口内,接着陆续缓存接收到“78、80、81、83、84、87”。
进一步的,当移动滑动窗口时,是按照数据被缓存的时间选后顺序,将先缓存的数据删除,并且删除几个数据,就预留出多少缓存空间,用于缓存接收到的其他传感数据,例如图2所示,由于窗口的滑动删除压力值“77、78”,那么就将后续接收到的“90、88”进行缓存。
需要说明的是,一个流计算引擎的滑动窗口缓存的是同类型的数据,所以,如果需要从温度、湿度、压力等多个维度对设备进行检测,相应地需要为每个检测维度创建滑动窗口,以完成检测任务。
103、判断滑动窗口内缓存的传感数据是否满足预设重复条件。
其中,预设重复事件是达到预警的重复事件,比如:检测到一段时间内压力值达到90pa的次数是5次,如果预先设定90pa是预警阈值且重复条件是5次,那么就应该及时触发报警。
在本发明实施例中,可以预先设定预警阈值和达到预警阈值的重复条件上限次数,对滑动窗口内缓存的多个传感数据进行重复事件分析,结合图2,进行详细说明,具体的如下:
例如,滑动窗口内缓存“77、78、80、81、83、84、87”压力值传感数据,将这些传感数据分别与预先设定的预警阈值进行比较,比如:预先设定90pa,则经比较得到7个压力值都未达到预警阈值,所以不会触发报警。滑动窗口在经过滑动之后,得到缓存传感数据是“88、89、91、93、95、94、95”时,经比较得到有5个压力值是达到90pa的,从而确定发生达到预警阈值的事件,所以进一步地将事件发生次数与预先设定的重复条件进行比较,假设预设重复条件是5次,而以上有5个压力值是达到90pa就相当于是发生5次达到预警阈值事件,所以是满足预设重复条件的,那么就需要及时地触发报警。
需要说明的是,对于分析滑动窗口内缓存传感数据是否满足预设重复条件的时机,以及对间隔多久实时地接收到传感数据以及时地缓存至滑动窗口,以上可以根据监测需求进行预先设定,所以本发明实施例不做限定。
104、若判断滑动窗口内缓存的传感数据满足预设重复条件,则确定设备存在异常,触发报警。
当判断滑动窗口内缓存的传感数据满足预设重复条件就确定设备存在异常,在本发明实施例中相当于是利用流计算引擎的滑动窗口动态地对接收到的流数据进行实时性的分析,结合因滑动窗口的滑动缓存和分析缓存的流数据是否存在达到预警的重复事件,从而不仅达到对流数据的实时性分析要求,还确保分析的准确性。
本发明实施例提供一种基于实时获取传感数据进行设备异常分析的方法,本发明实施例是利用流计算引擎的滑动窗口缓存实时接收到的传感数据,判断缓存的传感数据是否存在达到预警的重复事件,若存在则触发报警。相较于现有技术,避免对检测设备是否存在异常的误判,优化了实时分析过程,既确保检测设备是否存在异常的及时性,也避免误报警,提高检测准确性。
为了对上述实施例做出更加详细的说明,本发明实施例还提供了另一种基于实时获取传感数据进行设备异常分析的方法,如图3所示,该方法限定了执行判断缓存内传感数据是否满足预设重复条件操作的时机,即是在滑动窗口生命周期结束时刻,从而减少判断缓存的传感数据是否存在达到预警的重复事件的次数,避免过度判断、频繁分析,耗费过多处理资源,影响对实时接收到传感数据的检测进度,对此本发明实施例提供以下具体步骤:
201、接收传感数据,传感数据是边缘设备从生产线设备的传感器上实时获取到的流数据。
在本发明实施例中,对于本步骤,请参见步骤101,此处不再赘述。
202、利用流计算引擎的滑动窗口缓存传感数据。
其中,滑动窗口可以是时间滑动窗口或者数量滑动窗口,所以本发明实施例可以以这两种滑动创空分别实现两种滑动缓存实时接收到的传感数据。
对于本步骤利用流计算引擎的滑动窗口缓存传感数据进行细化,具体可以如下:
首先,将接收的传感数据按照时间先后顺序缓存至流计算引擎的滑动窗口内,组成数据队列。
在本发明实施例中,当接收到一个传感数据时,就将传感数据缓存在流计算引擎的滑动窗口内,按照接收到传感数据的时间先后顺序,陆续缓存多个传感数据直至达到滑动窗口的数据缓存上限,结合图2所示的滑动窗口内缓存传感数据的效果图,对于这个滑动窗口内缓存的多个传感数据,是按照被缓存的时间先后顺序而组成了数据队列。
其次,判断是否满足滑动滑动窗口的触发条件,具体的,滑动滑动窗口需要满足的触发条件,细化为可以但不限于是以下两种条件:
一种是:判断滑动窗口内缓存的传感数据的个数是否达到预设缓存上限,若达到,判断满足滑动所述滑动窗口的触发条件。
另一种是:自滑动窗口被创建或首次滑动起开始计时,判断是否达到预设时间间隔,若达到,判断满足滑动所述滑动窗口的触发条件。
进一步的,当满足滑动滑动窗口的触发条件时,从数据队列的首位起删除预设个数的传感数据并接收新的预设个数的传感数据,将新接收的传感数据自数据队列的末位起按照时间先后顺序缓存至数据队列,形成新的数据队列。
在本发明实施例中,可以预先设定滑动窗口的窗口长度和滑动步长,窗口长度用于确定窗口内允许被缓存的数据个数,也就是滑动窗口可以缓存数据个数的上限,滑动步长用于确定当滑动窗口滑动时滑动的距离,也就是从以上数据队列的队列首位删除的数据个数。
例如:对于时间滑动窗口,可以预设窗口长度是3秒,滑动步长是1秒,3秒内允许缓存的数据个数,就是滑动窗口可以缓存数据个数的上限,这1秒中滑过的数据个数就是滑动距离;对于数量滑动窗口,可以预设窗口长度是7个数据,滑动步长是两个数据。所以不管是哪种类型的滑动窗口,它的属性都是窗口长度和滑动步长,但是因滑动窗口的类型不同,相应的,衡量窗口步长属性和滑动步长属性的大小的单位不一样。
具体,结合图2,本发明实施例仅以数量滑动窗口为例,解释说明窗口滑动过程,具体如下:
根据预先设定窗口长度是7个数据,假设此刻滑动窗口内缓存7个压力值为“77、78、80、81、83、84、87”,窗口滑动,根据预设窗口步长是两个数据,所以从数据队列首位删除两个数据,以便接收新的传感数据进行缓存,得到缓存的数据是“80、81、83、84、87、90、88”。
203、监控流计算引擎的滑动窗口的生命周期。
在本发明实施例中,还可以预先设定滑动窗口的生命周期,以便于控制在滑动窗口生命周期结束时刻执行判断滑动窗口内缓存的传感数据是否满足预设重复条件操作,如此控制是避免执行判断滑动窗口内缓存的传感数据是否满足预设重复条件操作次数过于频繁,导致增添过多无意义的操作。
例如:假设滑动窗口每次滑动后都执行判断滑动窗口内缓存的传感数据是否满足预设重复条件操作,相邻两次操作距离时间太近,检测出设备存在异常的概率是非常低的,所以类似这样的操作作用不大、无意义。此外,如果过多地、频繁地执行判断滑动窗口内缓存的传感数据是否满足预设重复条件操作,会过多的耗费处理资源,由于滑动窗口内缓存的传感数据是流数据,所以假设在每个滑动窗口内都执行上述判断操作,必然也会影响滑动窗口对后续接收到的流数据的处理进度。
因此,对于本发明实施例,是限定了执行分析缓存内传感数据是否满足预设重复条件操作的时机,即是在滑动窗口生命周期结束时刻,使得执行判断操作更加有针对性,也增加了判断操作的有效性,提高滑动窗口对流数据的处理效率。
需要说明的是,可以建立一个监控进程,用于对滑动窗口生命周期进行监控,该监控进程是一类在后台运行的特殊进程,用于执行特定的系统任务,可以设定在系统引导的时候启动,并且一直运行直到系统关闭。
204、当检测到滑动窗口的生命周期结束时,判断滑动窗口内缓存的传感数据是否满足预设重复条件。
在本发明实施例中,对判断滑动窗口内缓存的传感数据是否满足预设重复条件的时机,给出具体的操作方法是:编辑程序命令,控制在检测到滑动窗口生命周期结束时,执行计算函数,该计算函数就是实现判断滑动窗口内缓存的传感数据是否满足预设重复条件操作,包括:两个存在先后顺序的判断子操作,具体可以如下:
首先是判断滑动窗口内缓存的传感数据是否达到预警阈值,步骤包括:获取滑动窗口内缓存的多个传感数据,将多个传感数据分别与预设报警阈值进行比较,若检测到一个传感数据达到所述预设报警阈值,则执行计数加一操作,对于该执行计数操作,可以但不限于是借助计数器完成。
其次是判断达到预警阈值的重复事件次数是否满足预设重复条件,步骤包括:通过累计执行计数加一操作对应的重复事件发生次数,判断重复事件发生次数是否达到预设次数,重复事件是检测到一个传感数据达到预设报警阈值,若是,则判定多个传感数据是满足预设重复条件的。
例如,图2所示,当滑动窗口内缓存传感数据为“88、89、91、93、95、94、95”时,首先判断存在达到预警阈值“90”pa的压力值,然后再判断达到预警阈值的重复事件发生次数是5次,假设是满足达到预设次数的,那么最终判断该滑动窗口内缓存的传感数据是满足预设重复条件。
205、若判断滑动窗口内缓存的传感数据满足预设重复条件,则确定设备存在异常,触发报警。
当判断滑动窗口内缓存的传感数据满足预设重复条件就确定设备存在异常,在本发明实施例中相当于是利用流计算引擎的滑动窗口动态地对接收到的流数据进行实时性的分析,结合因滑动窗口的滑动缓存和分析缓存的流数据是否存在达到预警的重复事件,从而不仅达到对流数据的实时性分析要求,还确保分析的准确性。
进一步的,在触发报警的同时,还会保存下满足预设重复条件的滑动窗口内缓存的传感数据,以反馈给预先连接的报警处理中心,并也作为之后检测设备异常的可参考数据。
206、重新创建流计算引擎的滑动窗口,用于继续缓存实时接收到的传感数据。
在本发明实施例中,由于已经限定限定分析缓存内传感数据否满足预设重复条件的时机是在滑动窗口生命周期结束时刻,所以在执行完毕一次这个判断操作之后,重新创建流计算引擎的滑动窗口,由于本发明实施例接收到的传感数据是流数据,所以利用重新创建的滑动窗口就可以及时地对这个流数据继续进行分析。
进一步的,上述步骤203,已经提及了建立一个监控进程,用于对滑动窗口生命周期进行监控,同样也可以用于触发重新创建滑动窗口,以确保继续保持对接收到传感数据的实时性分析。
进一步的,作为对上述图1、图3所示方法的实现,本发明实施例提供了一种基于实时获取传感数据进行设备异常分析的装置。该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。该装置应用于在结合边缘计算和工业物联网的应用场景中利用接收到的传感数据检测设备是否存在异常,具体如图4所示,该装置包括:
接收单元31,用于接收传感数据,所述传感数据是边缘设备从生产线设备的传感器上实时获取到的流数据;
缓存单元32,用于利用流计算引擎的滑动窗口缓存所述接收单元31接收到的传感数据;
判断单元33,用于判断所述滑动窗口内所述缓存单元32缓存的所述传感数据是否满足预设重复条件;
确定单元34,用于当所述判断单33判断所述滑动窗口内缓存的所述传感数据满足预设重复条件时,确定所述设备存在异常;
触发单元35,用于当所述确定单元34确定所述设备存在异常时触发报警。
进一步的,如图5所示,所述判断单元33包括:
获取模块331,用于获取所述滑动窗口内缓存的多个传感数据;
比较模块332,用于将所述获取模块331获取到的多个传感数据分别与预设报警阈值进行比较;
执行模块333,用于若检测到一个所述传感数据达到所述预设报警阈值,则执行计数加一操作;
判断模块334,用于通过累计所述执行模块333执行的计数加一操作,获取对应的重复事件发生次数,判断所述重复事件发生次数是否达到预设次数,所述重复事件是检测到一个所述传感数据达到所述预设报警阈值;
判定模块335,用于当所述判断模块334判断所述重复事件发生次数达到预设次数时,判定所述多个传感数据是满足预设重复条件的。
进一步的,如图5所示,所述缓存单元32包括:
组成模块321,用于将接收的传感数据按照时间先后顺序缓存至流计算引擎的滑动窗口内,组成数据队列;
判断模块322,用于判断是否满足滑动所述滑动窗口的触发条件;
删除模块323,用于当所述判断模块322判断满足滑动所述滑动窗口的触发条件时,从所述数据队列的首位起删除预设个数的所述传感数据;
接收模块324,用于接收新的预设个数的传感数据;
缓存模块325,用于将所述接收模块324新接收的所述传感数据自所述数据队列的末位起按照时间先后顺序缓存至所述数据队列,形成新的数据队列
进一步的,所述判断模块322包括:
第一判断子模块3221,用于判断所述滑动窗口内缓存的传感数据的个数是否达到预设缓存上限,若达到,判断满足滑动所述滑动窗口的触发条件;
第二判断子模块3222,用于自所述滑动窗口被创建或首次滑动起开始计时,判断是否达到预设时间间隔,若达到,判断满足滑动所述滑动窗口的触发条件。
进一步的,如图5所示,所述装置还包括:
监控单元36,用于在所述利用流计算引擎的滑动窗口缓存所述传感数据之后,监控所述流计算引擎的滑动窗口的生命周期;
所述判断单元33,具体用于当检测到所述滑动窗口的生命周期结束时,执行判断所述滑动窗口内缓存的所述传感数据是否满足预设重复条件操作;
创建单元37,用于重新创建流计算引擎的滑动窗口,用于继续缓存实时接收到的传感数据。
进一步的,如图5所示,所述装置还包括:
设定单元38,用于预先设定所述流计算引擎的滑动窗口的窗口长度和滑动步长;
执行单元39,用于当接收到触发滑动所述滑动窗口指令时,按照所述滑动步长,在所述滑动窗口内删除所述滑动步长对应的传感数据个数,用于预留缓存空间接收新的传感数据。
综上所述,本发明实施例提供一种基于实时获取传感数据进行设备异常分析的方法及装置,本发明实施例是利用流计算引擎的滑动窗口缓存实时接收到的传感数据,判断缓存的传感数据是否存在达到预警的重复事件,若存在则触发报警。相较于现有技术,避免对检测设备是否存在异常的误判,优化了实时分析过程,既确保检测设备是否存在异常的及时性,也避免误报警,提高检测准确性。此外,本发明实施例还限定分析缓存内传感数据否满足预设重复条件的时机是在滑动窗口生命周期结束时刻,从而减少执行判断是否满足预设重复条件操作的次数,避免过度操作或操作频繁,耗费过多处理资源,影响对实时接收到传感数据的进度。
所述基于实时获取传感数据进行设备异常分析的装置包括处理器和存储器,上述接收单元、缓存单元、判断单元、确定单元和触发单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来既确保检测设备是否存在异常的及时性,也避免误报警,提高检测准确性。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述基于实时获取传感数据进行设备异常分析的方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述基于实时获取传感数据进行设备异常分析的方法。
本发明实施例提供了一种电子设备40,如图6所示,设备包括至少一个处理器401、以及与处理器401连接的至少一个存储器402、总线403;其中,处理器401、存储器402通过总线403完成相互间的通信;处理器401用于调用存储器402中的程序指令,以执行上述的基于实时获取传感数据进行设备异常分析的方法。
本文中的设备可以是服务器、pc、pad、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:
一种基于实时获取传感数据进行设备异常分析的方法,所述方法包括:
接收传感数据,所述传感数据是边缘设备从生产线设备的传感器上实时获取到的流数据;利用流计算引擎的滑动窗口缓存所述传感数据;判断所述滑动窗口内缓存的所述传感数据是否满足预设重复条件;若是,则确定所述设备存在异常,触发报警。
进一步的,所述判断所述滑动窗口内缓存的所述传感数据是否满足预设重复条件,包括:获取所述滑动窗口内缓存的多个传感数据;将所述多个传感数据分别与预设报警阈值进行比较;若检测到一个所述传感数据达到所述预设报警阈值,则执行计数加一操作;通过累计所述执行计数加一操作,获取对应的重复事件发生次数,判断所述重复事件发生次数是否达到预设次数,所述重复事件是检测到一个所述传感数据达到所述预设报警阈值;若是,则判定所述多个传感数据是满足预设重复条件的。
进一步的,所述利用流计算引擎的滑动窗口缓存所述传感数据,包括:将接收的传感数据按照时间先后顺序缓存至流计算引擎的滑动窗口内,组成数据队列;判断是否满足滑动所述滑动窗口的触发条件;若满足,从所述数据队列的首位起删除预设个数的所述传感数据并接收新的预设个数的传感数据,将新接收的所述传感数据自所述数据队列的末位起按照时间先后顺序缓存至所述数据队列,形成新的数据队列。
进一步的,判断是否满足滑动所述滑动窗口的触发条件,包括:判断所述滑动窗口内缓存的传感数据的个数是否达到预设缓存上限,若达到,判断满足滑动所述滑动窗口的触发条件;或,自所述滑动窗口被创建或首次滑动起开始计时,判断是否达到预设时间间隔,若达到,判断满足滑动所述滑动窗口的触发条件。
进一步的,在所述利用流计算引擎的滑动窗口缓存所述传感数据之后,所述方法还包括:监控所述流计算引擎的滑动窗口的生命周期;当检测到所述滑动窗口的生命周期结束时,执行判断所述滑动窗口内缓存的所述传感数据是否满足预设重复条件操作;重新创建流计算引擎的滑动窗口,用于继续缓存实时接收到的传感数据。
进一步的,所述方法还包括:预先设定所述流计算引擎的滑动窗口的窗口长度和滑动步长;按照所述窗口步长缓存实时接收到的传感数据;当接收到触发滑动所述滑动窗口指令时,按照所述滑动步长,在所述滑动窗口内删除所述滑动步长对应的传感数据个数,用于预留缓存空间接收新的传感数据。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
在一个典型的配置中,设备包括一个或多个处理器(cpu)、存储器和总线。设备还可以包括输入/输出接口、网络接口等。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
1.一种基于实时获取传感数据进行设备异常分析的方法,其特征在于,所述方法包括:
接收传感数据,所述传感数据是边缘设备从生产线设备的传感器上实时获取到的流数据;
利用流计算引擎的滑动窗口缓存所述传感数据;
判断所述滑动窗口内缓存的所述传感数据是否满足预设重复条件;
若是,则确定所述设备存在异常,触发报警。
2.根据权利要求1所述的方法,其特征在于,所述判断所述滑动窗口内缓存的所述传感数据是否满足预设重复条件,包括:
获取所述滑动窗口内缓存的多个传感数据;
将所述多个传感数据分别与预设报警阈值进行比较;
若检测到一个所述传感数据达到所述预设报警阈值,则执行计数加一操作;
通过累计所述执行计数加一操作,获取对应的重复事件发生次数,判断所述重复事件发生次数是否达到预设次数,所述重复事件是检测到一个所述传感数据达到所述预设报警阈值;
若是,则判定所述多个传感数据是满足预设重复条件的。
3.根据权利要求1所述的方法,其特征在于,所述利用流计算引擎的滑动窗口缓存所述传感数据,包括:
将接收的传感数据按照时间先后顺序缓存至流计算引擎的滑动窗口内,组成数据队列;
判断是否满足滑动所述滑动窗口的触发条件;
若满足,从所述数据队列的首位起删除预设个数的所述传感数据并接收新的预设个数的传感数据,将新接收的所述传感数据自所述数据队列的末位起按照时间先后顺序缓存至所述数据队列,形成新的数据队列。
4.根据权利要求3所述的方法,其特征在于,判断是否满足滑动所述滑动窗口的触发条件,包括:
判断所述滑动窗口内缓存的传感数据的个数是否达到预设缓存上限,若达到,判断满足滑动所述滑动窗口的触发条件;或
自所述滑动窗口被创建或首次滑动起开始计时,判断是否达到预设时间间隔,若达到,判断满足滑动所述滑动窗口的触发条件。
5.根据权利要求1所述的方法,其特征在于,在所述利用流计算引擎的滑动窗口缓存所述传感数据之后,所述方法还包括:
监控所述流计算引擎的滑动窗口的生命周期;
当检测到所述滑动窗口的生命周期结束时,执行判断所述滑动窗口内缓存的所述传感数据是否满足预设重复条件操作;
重新创建流计算引擎的滑动窗口,用于继续缓存实时接收到的传感数据。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:
预先设定所述流计算引擎的滑动窗口的窗口长度和滑动步长;
按照所述窗口步长缓存实时接收到的传感数据;
当接收到触发滑动所述滑动窗口指令时,按照所述滑动步长,在所述滑动窗口内删除所述滑动步长对应的传感数据个数,用于预留缓存空间接收新的传感数据。
7.一种基于实时获取传感数据进行设备异常分析的装置,其特征在于,所述装置包括:
接收单元,用于接收传感数据,所述传感数据是边缘设备从生产线设备的传感器上实时获取到的流数据;
缓存单元,用于利用流计算引擎的滑动窗口缓存所述接收单元接收到的传感数据;
判断单元,用于判断所述滑动窗口内所述缓存单元缓存的所述传感数据是否满足预设重复条件;
确定单元,用于当所述判断单元判断所述滑动窗口内缓存的所述传感数据满足预设重复条件时,确定所述设备存在异常;
触发单元,用于当所述确定单元确定所述设备存在异常时触发报警。
8.根据权利要求7所述的装置,其特征在于,所述判断单元包括:
获取模块,用于获取所述滑动窗口内缓存的多个传感数据;
比较模块,用于将所述获取模块获取到的多个传感数据分别与预设报警阈值进行比较;
执行模块,用于若检测到一个所述传感数据达到所述预设报警阈值,则执行计数加一操作;
判断模块,用于通过累计所述执行模块执行的计数加一操作,获取对应的重复事件发生次数,判断所述重复事件发生次数是否达到预设次数,所述重复事件是检测到一个所述传感数据达到所述预设报警阈值;
判定模块,用于当所述判断模块判断所述重复事件发生次数达到预设次数时,判定所述多个传感数据是满足预设重复条件的。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行如权利要求1-6中任一项所述的基于实时获取传感数据进行设备异常分析的方法。
10.一种电子设备,其特征在于,所述设备包括至少一个处理器、以及与所述处理器连接的至少一个存储器、总线;
其中,所述处理器、所述存储器通过所述总线完成相互间的通信;
所述处理器用于调用所述存储器中的程序指令,以执行如权利要求1-6中任一项所述的基于实时获取传感数据进行设备异常分析的方法。
技术总结