首页> 中国专利> 一种基于历史报警分布式聚类的报警抑制方法

一种基于历史报警分布式聚类的报警抑制方法

摘要

本发明公开了一种基于历史报警分布式聚类的报警抑制方法,包括:将海量历史报警数据按报警点进行集群分布式存储,并根据报警数据的结构特点设计相应的索引主键;选择预定数量的聚类中心报警点,分别并行计算存储在本地的每个报警点的综合相似度,进而确定该报警点的聚类分组;分别计算本地聚类分组的聚类评分,并将聚类评分进行结果汇总;采用聚类效果最好的分组作为聚类的最终结果;在报警列表中选择不同报警点分组的优先级最高的报警进行显示。本发明通过分布式实现并行计算,能够显著的降低报警聚类分析过程的耗时,提高报警分析的效率。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-09-18

    授权

    授权

  • 2015-12-16

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20150811

    实质审查的生效

  • 2015-11-18

    公开

    公开

说明书

技术领域

本发明涉及流程工业报警管理技术领域,尤其涉及一种基于历史报警分 布式聚类的报警抑制方法。

背景技术

流程工业中“报警泛滥”状态下实时产生并显示在报警列表中的大量报 警很可能淹没真正重要、紧迫的报警,且操作员没有足够时间和精力对每一 项报警进行完善处理,此时将可能导致生产事故发生。

减少操作员站报警列表中所显示的报警数量的重要技术之一是报警抑 制,而报警抑制的规则生成主要通过操作经验或基于历史数据的机器学习过 程获得。在报警分析领域主要的机器学习技术之一是报警聚类分析,通过聚 类方法来归并关联报警,从而减少报警数量,达到报警抑制的目的。

由于企业生产规模增大,历史报警数量急剧增加,使得报警聚类分析过 程的耗时显著增长,基于单机的报警分析已无法满足应用需求,迫切需要相 应的技术来提升报警分析的效率。

发明内容

本发明提供了一种基于历史报警分布式聚类的报警抑制方法,通过分布 式实现并行计算,能够显著的降低报警聚类分析过程的耗时,提高报警分析 的效率。

本发明提供了一种基于历史报警分布式聚类的报警抑制方法,包括:

将海量历史报警数据按报警点进行集群分布式存储,并根据报警数据的 结构特点设计相应的索引主键;

通过聚类过程主控节点选择预定数量的聚类中心报警点,并将所述聚类 中心报警点分发到集群的每个聚类过程任务节点;

通过聚类过程任务节点分别并行计算存储在本地的每个报警点的综合相 似度,进而确定该报警点的聚类分组;

通过聚类过程任务节点分别计算本地聚类分组的聚类评分,并将聚类评 分提交到聚类过程归并节点进行结果汇总;

采用聚类效果最好的分组作为聚类的最终结果;

在报警列表中选择不同报警点分组的优先级最高的报警进行显示。

优选地,所述根据报警数据的结构特点设计相应的索引主键具体为:

系统报警的索引主键由报警域名、报警子域名、发生时间、测点ID组成, 其中发生时间与测点ID保证了主键的唯一性;

过程报警的索引主键由报警域名、报警子域名、发生时间、测点ID和报 警类型组成,其中发生时间、测点ID与报警类型共同保证了主键的唯一性。

优选地,所述通过聚类过程主控节点选择预定数量的聚类中心报警点包 括:

从所有非聚类中心报警点中随机抽取一个报警点;

计算该报警点与已有的每个聚类中心报警点之间的综合相似度;

判断所述综合相似度是否大于预设阈值,若是,则抛弃该报警点;若否, 则:

保留该报警点作为聚类中心报警点。

优选地,所述通过聚类过程任务节点分别并行计算存储在本地的每个报 警点的综合相似度,进而确定该报警点的聚类分组具体为:

通过聚类过程任务节点分别并行计算存储在本地的每个报警点与各聚类 中心报警点的时延相似度与属性相似度,得到综合相似度,选取综合相似度 数值最大的聚类中心报警点作为该报警点所属的聚类分组。

优选地,所述报警点与聚类中心报警点的时延相似度由报警点之间的协 相关度和报警点各自的自相关度构成。

优选地,所述报警点与聚类中心报警点的属性相似度通过对各个报警点 的标称属性进行比较获取,所述报警点的标称属性包括报警点的报警域、报 警子域和报警类型。

优选地,所述通过聚类过程任务节点分别计算本地聚类分组的聚类评分, 并将聚类评分提交到聚类过程归并节点进行结果汇总具体为:

聚类过程任务节点并行计算各聚类中心报警点在本地的聚类评分,将本 地每个报警点的聚类分组信息和每个聚类中心报警点在本地的聚类评分信息 发送给聚类过程归并节点,聚类过程归并节点计算得到每个聚类中心报警点 的全局聚类评分,并汇总得到所有报警点的聚类分组信息。

优选地,所述在报警列表中选择不同报警点分组的优先级最高的报警进 行显示包括:

将报警列表的单页最大显示长度设置为报警队列的长度;

挑选出优先级最高的一批报警;

判断所述优先级最高的一批报警的数量是否超过报警队列的长度,若否, 则将所述优先级最高的一批报警填充到报警队列中;若是,则:

将其中的每个报警按其所属的报警点的聚类结果进行分组,同一聚类分 组中的所有报警点的报警归为同一组;

轮流从每个分组的所有报警中随机地选取一个报警,直到填满报警队列 为止。

由上述方案可知,本发明提供的一种基于历史报警分布式聚类的报警抑 制方法,通过聚类过程任务节点分别并行计算存储在本地的每个报警点的综 合相似度,能够使得聚类分组的结果更加准确,有效避免了来自同一故障的 大量报警对操作员判断与处理过程的干扰,达到了报警抑制的效果;同时, 本发明充分利用分布式存储计算平台的并行处理优势,将海量历史报警按索 引主键进行分布式存储,有利于存储的弹性扩展;将历史报警数据的聚类分 析流程中最为耗时的综合相似度计算任务进行分布式并行处理,提升了报警 聚类分析的效率,使得聚类分析过程可以常态化,显著增强了报警管理系统 的处理能力。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实 施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面 描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲, 在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明公开的一种基于历史报警分布式聚类的报警抑制方法的流 程图;

图2为本发明公开的系统报警和过程报警的存储索引主键设计示意图;

图3为本发明公开的预定数量的聚类中心报警点的选择方法流程图;

图4为本发明公开的报警点时间序列构造过程示意图;

图5为本发明公开的基于报警聚类结果的报警列表显示流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行 清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而 不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做 出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,为本发明公开的一种基于历史报警分布式聚类的报警抑制 方法,包括:

S101、将海量历史报警数据按报警点进行集群分布式存储,并根据报警 数据的结构特点设计相应的索引主键;

鉴于历史报警数据的海量性,根据报警数据结构的特点对索引主键进行 专门设计,并按索引主键将海量数据分散存储在分布式平台中。其中,分布 式平台可以是Hadoop((HadoopDistributedFileSystem,分布式文件系统) 等通用大数据平台,也可以是流程工业分布式实时数据库,或者类似的分布 式数据管理平台。

S102、通过聚类过程主控节点选择预定数量的聚类中心报警点,并将聚 类中心报警点分发到集群的每个聚类过程任务节点;

所述聚类过程主控节点用于选择聚类中心报警点,发起并管理分布式聚 类任务。所述聚类过程任务节点,系统中存在一个或多个,与报警存储节点 是同一节点,用于并行执行聚类子任务,比如本地报警点的综合相似度计算、 本地聚类分组的聚类评分计算等。其中,每个聚类中心报警点均是一个独立 报警聚类分组的初始点。

S103、通过聚类过程任务节点分别并行计算存储在本地的每个报警点的 综合相似度,进而确定该报警点的聚类分组;

S104、通过聚类过程任务节点分别计算本地聚类分组的聚类评分,并将 聚类评分提交到聚类过程归并节点进行结果汇总;

所述聚类过程归并节点用于对各个聚类过程任务节点提交的聚类子任务 的执行结果进行归并汇总,得到最终的聚类分组结果和全局聚类评分。

S105、采用聚类效果最好的分组作为聚类的最终结果;

S106、在报警列表中选择不同报警点分组的优先级最高的报警进行显示。

综上所述,本发明提供的一种基于历史报警分布式聚类的报警抑制方法, 通过聚类过程任务节点分别并行计算存储在本地的每个报警点的综合相似 度,能够使得聚类分组的结果更加准确,有效避免了来自同一故障的大量报 警对操作员判断与处理过程的干扰,达到了报警抑制的效果;同时,本发明 充分利用分布式存储计算平台的并行处理优势,将海量历史报警按索引主键 进行分布式存储,有利于存储的弹性扩展;将历史报警数据的聚类分析流程 中最为耗时的综合相似度计算任务进行分布式并行处理,提升了报警聚类分 析的效率,使得聚类分析过程可以常态化,显著增强了报警管理系统的处理 能力。

具体的,如图2所示,上述实施例中,步骤101中的根据报警数据的结 构特点设计相应的索引主键的其中一种实现方式为:系统报警的索引主键由 报警域名、报警子域名、发生时间、测点ID组成,其中发生时间与测点ID 保证了主键的唯一性;过程报警的索引主键由报警域名、报警子域名、发生 时间、测点ID和报警类型组成,其中发生时间、测点ID与报警类型共同保 证了主键的唯一性。

具体的,如图3所示,上述实施例中,步骤102中的通过聚类过程主控 节点选择预定数量的聚类中心报警点的其中一种实现方法包括以下步骤:

S301、从所有非聚类中心报警点中随机抽取一个报警点;

S302、计算该报警点与已有的每个聚类中心报警点之间的综合相似度;

每当完成一次随机抽取,利用综合相似度算法计算该报警点与已有的每 个聚类中心报警点之间的综合相似度。

S303、判断所述综合相似度是否大于预设阈值,若是,则进入步骤S304, 若否,则进入步骤S305:

S304、抛弃该报警点;

给定一个预设阈值,当计算得到的任一综合相似度大于该预设阈值时, 表明所抽取的报警点与某一聚类中心报警点之间相似度过高,不利于聚类, 因此抛弃该报警点。

S305、保留该报警点作为聚类中心报警点。

如果计算得到的任一综合相似度没有大于该预设阈值时,则保留该报警 点作为聚类中心报警点。

重复上述过程,直至完成预定数量的聚类中心报警点的选择。

具体的,上述实施例中,步骤103通过聚类过程任务节点分别并行计算 存储在本地的每个报警点的综合相似度,进而确定该报警点的聚类分组的其 中一种实现方式为:定义各报警点之间的时延相似度、属性相似度与综合相 似度。集群中的各个聚类过程任务节点分别并行计算存储在本地的每个报警 点与各聚类中心报警点的时延相似度与属性相似度,从而得到综合相似度, 然后选取综合相似度数值最大的聚类中心报警点作为该报警点所属的聚类分 组。

为了计算两个报警点之间的时延相似度,需要先获取每个报警点的时间 序列。时间序列由一系列连续的比特位构成,它将一个报警点的时间轴以Tmin(例如10分钟)为时长间隔等量划分为多个时间段,每个时间段对应于时间 序列中的一个比特位;各时间段的发生先后顺序与各比特位的排列先后顺序 相同,相邻时间段对应于相邻比特位;如果该报警点在此时间段内发生了报 警(无论是一个报警还是多个报警),则该时间序列的这一比特位记为1,否 则记为0,如图4所示。

两个报警点之间的时延相似度由报警点之间的协相关度和报警点各自的 自相关度构成。

协相关度定义如下:

simTime(a,b)=0ifi-jTmaxOR>j-iTmax1ifSai=1AND>Sbi=1Tmax/Tmin-|j-i|Tmax/Tminif|j-i|<Tmax

其中:simTime(a,b)是报警点a的第i个时间段与报警点b的第j个时间段 的协相关度;Sai是报警点a的第i个时间段在时间序列中对应比特位的值,Sbi是报警点b的第i个时间段在时间序列中对应比特位的值;Tmax是时间段差异 的最大许可值,当分别来自报警点a和b的两个时间段的时间差值大于Tmax, 则不计算它们这两个时间段的协相关度,从而避免了无效计算。最终的协相 关度为报警点a和b所有时间段两两之间的协相关度数值之和。

自相关度的计算方法与协相关度完全相同,仅需将其中的报警点b替换为 报警点a即可。

基于协相关度和自相关度的两个报警点的时延相似度定义如下:

ρa,b=simTime(a,b)simTime(a,a)·simTime(b,b)

其中:ρa,b表示报警点a和b之间的时延相似度;simTime(a,b)是报警点a 和b之间的协相关度;simTime(a,a)和simTime(b,b)分别是报警点a和b的自相 关度。

如果某个报警点从未产生过报警,按照以上计算规则,该报警点与其他 报警点之间的时延相似度为0,这是不恰当的,因为并不能依此判定该报警点 与其他所有报警点没有任何相似度。因此,当某个报警点与其他报警点之间 的时延相似度为0时,记时延相似度为-1,以便于与正常情况做出区别。

两个报警点之间的属性相似度通过对各个报警点的标称属性进行比较来 获取。用于属性相似度计算的报警点标称属性包括报警点的报警域、报警子 域和报警类型。定义如下:

simAttr(a,b)=Nsame/Ntotal

其中:simTime(a,b)表示报警点a和b之间的属性相似度;Nsame是报警点 a和b中属性值完全相同的标称属性的个数;Ntotal是报警点中所有标称属性的 个数。

两个报警点a和b之间的综合相似度由时延相似度和属性相似度组合而 成,其定义如下:

simTag(a,b)=simAtti(a,b)ifρa,b=-1simAtti(a,b)+ρa,bifρa,b-1

其中:simTag(a,b)表示报警点a和b之间的综合相似度;ρa,b表示它们之 间的时延相似度;simAtti(a,b)表示它们之间的属性相似度。

集群中的各个聚类过程任务节点在获取到聚类过程主控节点发送的聚类 中心报警点信息和任务开始的命令后,分别并行计算存储在本地的每个报警 点与各聚类中心报警点之间的综合相似度,然后选取综合相似度数值最大的 聚类中心报警点作为该报警点所属的聚类分组。同时,将数值最大的综合相 似度作为该报警点的聚类评分,与该报警点的名称、聚类分组信息一起进行 记录。

具体的,上述实施例中,步骤104通过聚类过程任务节点分别计算本地 聚类分组的聚类评分,并将聚类评分提交到聚类过程归并节点进行结果汇总 的其中一种实现方式为:集群中的各个聚类过程任务节点在完成本地每个报 警点的聚类分组后,继续并行计算各聚类中心报警点在本地的聚类评分,然 后将本地每个报警点的聚类分组信息和每个聚类中心报警点在本地的聚类评 分信息发送给聚类过程归并节点,聚类过程归并节点再计算得到每个聚类中 心报警点的全局聚类评分,并汇总得到系统中所有报警点的聚类分组信息。

每个聚类中心报警点在本地的聚类评分,由它所属的聚类分组中所有本 地报警点的聚类评分进行加和得到。而每个本地报警点的聚类评分即它与它 的聚类分组中心报警点之间的综合相似度数值。

每个聚类中心报警点的全局聚类评分,由集群中各个聚类过程任务节点 发送的该聚类中心报警点在本地的聚类评分进行加和得到。

具体的,上述实施例中,步骤105采用聚类效果最好的分组作为聚类的 最终结果具体为:由聚类过程主控节点按上述步骤进行多次聚类,其中,聚 类次数预先给定,并采用聚类效果最好的分组作为聚类的最终结果进行输出。 其中,聚类效果定义如下:

引入类内距与类间距的概念。类内距即各聚类中心报警点的全局聚类评 分之和,它衡量了各聚类分组的内聚性;类间距即各聚类中心报警点两两之 间的综合相似度之和,它衡量了各聚类分组的耦合性。聚类效果计算公式如 下:

mcluster=dwithin/dbetween

其中:mcluster是一次聚类过程完成后的聚类效果评价;dwithin表示类内距; dbetween表示类间距。

具体的,如图5所示,上述实施例中,步骤106中的在报警列表中选择 不同报警点分组的优先级最高的报警进行显示的其中一种实现方法包括以下 步骤:

S501、将报警列表的单页最大显示长度设置为报警队列的长度;

S502、挑选出优先级最高的一批报警;

S503、判断优先级最高的一批报警的数量是否超过报警队列的长度,若 否,则进入步骤S504,若是,则进入步骤S505:

S504、将所述优先级最高的一批报警填充到报警队列中;

如果优先级最高的一批报警的数量不足以填满报警队列,则将它们全部 放入队列,并从剩下的报警中挑选出优先级最高的报警,重复以上过程,直 到填满队列或待处理报警数量为零。

S505、将其中的每个报警按其所属的报警点的聚类结果进行分组,同一 聚类分组中的所有报警点的报警归为同一组;

S506、轮流从每个分组的所有报警中随机地选取一个报警,直到填满报 警队列为止。

在上述过程中,对于在报警队列中的报警,优先高亮显示在报警列表中, 作为当前报警抑制后的显示结果。

本实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的 产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样 的理解,本发明实施例对现有技术做出贡献的部分或者该技术方案的部分可 以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若 干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备 或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前 述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、 随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可 以存储程序代码的介质。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都 是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用 本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易 见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下, 在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例, 而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号