一种基于storm故障码分析方法与流程

文档序号:14713535发布日期:2018-06-16 00:53阅读:115来源:国知局

本发明涉及工程机械行业中分布式故障报警解析及分析方法,具体涉及一种基于storm故障码分析方法。



背景技术:

随着工业互联网技术的发展,工业化进行的加速,工程机械行业的设备联网已经广泛应用到实际生产中。现有技术中,硬件终端连接不同设备,不同设备故障码所表达的意义各不相同,硬件程序中无法实现统一编码,只能上传最新一次的故障信息,导致上位机接收到数据就很难判断每个故障的结束时间,这样,给设备自检及异常问题的排查带来不便。

目前,针对工程机械行业中故障信息处理,一般情况下都是通过通信协议上规定好固定的状态位存储故障码信息,硬件采集终端从设备中读取故障码信息,组装成协议规定的报文格式,以状态位的形式发送到上位机平台,平台根据协议进行判断状态位是0或1,这样很容易判断故障信息的开始时间和结束时间。

现有技术对平台来说,很容易判断故障的开始和结束时间,但对于工程行业中不同类型,不同规格的设备,传输的故障码所表达的意义大不相同,而且种类繁多,各厂家的定义也不相同,很难形成一个统一的规范,这就导致终端采集到的数据无法进行组包编码。



技术实现要素:

本发明提供一种基于storm故障码分析方法,以解决现有技术中的不足。

本发明按以下技术方案实现:

一种基于storm故障码分析方法,该方法为:

步骤一、平台接收到故障码报文并解析报文;

步骤二、判断是否含有故障码信息;

如果没有,表示所有故障消除,则清除Redis中所有信息,并进行步骤三;

如果有,表示这些故障码中含有新的故障信息或者含有上次没有结束的故障信息,这时就要利用Redis和数据集进行双向判断;

步骤三、判断数据库中是否含有故障码,如果有则更新该故障码这条记录的结束时间。

优选的是,在步骤一中,平台接收到故障码报文,根据协议利用storm的第一个tuple对报文进行解析,并且封装成数据集。

优选的是,在步骤中,利用storm的第二个tuple对数据集进行判断,判断数据集是否含有故障码信息。

优选的是,双向判断的过程为:

首先需要判断Redis中是否含有该故障码,如果含有,表示该故障信息仍然存在,此时不需要更新数据库信息,故障信息仍然在持续中;

如果不含有,表示为新的故障信息,此时需要在Redis中插入该故障码,同时向数据库插入一条记录,记录故障的开始时间。

优选的是,还要判断当前Redis中的故障信息,遍历每一条信息,判断是否存在于当前终端上传的故障集合中,如果存在,表示该故障未消除,故障仍在持续;如果不存在,表示该故障已经消除,则需要更新数据库中该故障信息的结束时间为当前时间,并删除Redis中对应的该故障信息。

本发明有益效果:

本发明故障解析和逻辑判断都是基于storm的框架,分布式计算,处理速度快,容错性强。Redis的使用,增强了数据交互的低延迟性,防止大量的io操作,使得平台的性能大大提高。更重要的是本发明解决了硬件程序无法统一对故障码码组包编码的问题,这样,硬件终端只需要采集设备最新一条故障码信息,发送给上位机平台,其他的判断交由平台处理。对不同的设备,厂家可自定义各家的故障信息,无需进行统一。

附图说明

图1为本发明的基于storm故障码分析方法的原理图。

具体实施方式

以下结合附图,通过具体实施例对本发明作进一步的说明。

如图1所示,一种基于storm故障码分析方法,平台接收到故障码报文,根据协议利用storm的第一个tuple对报文进行解析,并且封装成数据集。

利用storm的第二个tuple,对该数据集进行判断,首先判断该数据集是否含有故障码信息,如果没有,表示所有故障消除,则清除Redis中所有信息,此时要还要判断数据库中是否含有故障码,如果有则更新该故障码这条记录的结束时间。

如果数据集中含有故障码信息,则表示这些故障码中可能含有新的故障信息,也有可能含有上次没有结束的故障信息,这时就要利用Redis和数据集进行双向判断。

首先需要判断Redis中是否含有该故障码,如果含有,表示该故障信息仍然存在,此时不需要更新数据库信息,故障信息仍然在持续中;如果不含有,表示为新的故障信息,此时需要在Redis中插入该故障码,同时向数据库插入一条记录,记录故障的开始时间。

同时,还要判断当前Redis中的故障信息,遍历每一条信息,判断是否存在于当前终端上传的故障集合中,如果存在,表示该故障未消除,故障仍在持续;如果不存在,表示该故障已经消除,则需要更新数据库中该故障信息的结束时间为当前时间,并删除Redis中对应的该故障信息。

其中,Storm为一个开源的实时计算系统;Tuple为storm的最小处理单元;Redis为一个高性能的“键值对”存储系统。

本发明故障解析和逻辑判断都是基于storm的框架,分布式计算,处理速度快,容错性强。Redis的使用,增强了数据交互的低延迟性,防止大量的io操作,使得平台的性能大大提高。更重要的是本发明解决了硬件程序无法统一对故障码码组包编码的问题,这样,硬件终端只需要采集设备最新一条故障码信息,发送给上位机平台,其他的判断交由平台处理。对不同的设备,厂家可自定义各家的故障信息,无需进行统一。

以上所述,仅是本发明的设计方案,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何的简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

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