一种基于定时任务调度的设备实时监测系统的制作方法

文档序号:12471102阅读:244来源:国知局
一种基于定时任务调度的设备实时监测系统的制作方法与工艺

本发明属于核电站设备可靠性系统定时调度任务技术领域,具体涉及一种基于定时任务调度的设备实时监测系统。



背景技术:

在电厂的监测数据展示方面,由于需要处理的是实时的数据流,并且有时数据量比较大。需要实时展示设备参数的状态,而参数状态的判断以及渲染处理需要消耗大量的系统资源,导致页面在展示的时候经常卡顿,导致用户体验不佳。

如果使用调度服务在后台处理数据,将参数的状态以及相关的运算,在后台进行预处理,直接在前台展示结果,会提高页面的展示速度。但是,在集团级层面上,将会涉及多个电站的计算机系统。在多个计算机系统中,不同软件供应商的产品差异巨大,导致数据的汇集处理复杂。需要使用多个调度程序,分别处理汇总、统一到一个地方,然后再进行处理。整个处理过程环节比较多,处理复杂,数据结果延时较长,不适用于实时性要求比较高的数据处理。



技术实现要素:

本发明目的在于提出一种基于定时任务调度的设备实时监测系统,可以实现多个多源数据访问、定时处理任务和处理过程定制化,建立多台服务器集群化运行。

本发明是这样实现的:

一种基于定时任务调度的设备实时监测系统,包括定时任务调度引擎、业务逻辑处理器和数据采集器;数据采集器将不同的数据源上的实时数据采集过来,将采集过来的数据进行数据清洗和格式转换,最终转化成可以处理的格式统一的数据,将处理好的数据传递给业务逻辑处理器;业务逻辑处理器接收到数据之后,根据配置的或者固化到代码中的业务逻辑处理这些数据;数据处理完成之后,再将数据发送给数据采集器,由数据采集器将这些数据写入到指定的数据库中。

如上所述的定时任务调度引擎采用terracotta的quartz来处理定时任务的调度。

如上所述的数据采集器为专门和数据库交互的组件,用于将从不同数据库中读取的数据归集到一起,然后进行数据清洗。

如上所述的数据清洗的步骤为:

步骤1:将不同类型的数据转换成相同类型的数据;

步骤2:筛选需要的数据;

步骤3:数据去重。

如上所述的数据采集器还用于将处理完成的数据归集到一起,然后写入到数据库中。

如上所述的业务逻辑处理器用于处理业务逻辑。

如上所述的业务逻辑是固化到代码中的,或使用简单的代码表述业务逻辑处理过程。

本发明的有益效果是:

本发明可以降低后台处理程序的复杂程度,减轻运维工作量。同时,提高页面的展示速度,提升数据处理的能力。具体如下:

1.便于集团化大型项目的数据处理,支持多数据源、海量实时数据处理。特别是多个数据源格式不一致,可以是存储方式不一致也可以是数据格式本身就不一致。

2.提升预处理的能力,降低页面操作后台处理的复杂程度,提升页面的展示效率,以助于提升用户体验。

3.集群化使得多进程与多线程同时生效,充分利用多核心多计算机的计算能力,使得后台计算量更大,计算速度更快。

附图说明

图1是本发明的一种基于定时任务调度的设备实时监测系统的结构原理图;

图2是本发明的一种基于定时任务调度的设备实时监测系统的定时任务调度引擎配置后的系统架构图。

具体实施方式

下面结合附图和实施例对本发明进行进一步描述。

本发明使用的基于调度任务的设备实时状态检测系统可以分成三个部分,包括:1.定时任务调度引擎采用quartz-scheduler实现;2.业务逻辑处理器——处理特殊的业务逻辑;3.数据采集器——数据采集、清洗以及持久化。各个部分的逻辑组成关系是,首先需要使用数据采集器,将不同的数据源上的实时数据采集过来,然后,将采集过来的数据进行数据清洗,格式转换,最终转化成可以处理的格式统一的数据,将处理好的数据传递给下一个环节业务逻辑处理器。业务逻辑处理器拿到数据之后,根据配置的(或者固化到代码中的)业务逻辑处理这些数据。数据处理完成之后,再将数据交给数据采集器,由数据采集器将这些数据写入到指定的数据库中去,如图1所示。

定时任务调度引擎:

采用terracotta的quartz来处理定时任务的调度。首先,需要将quartz嵌入你的应用,这个可以参考官方的文档(http://www.quartz-scheduler.org/documentation/quartz-2.2.x/quick-start.html#quartz-quick-start-guide)。如果需要处理的数据量比较大,调度任务分配的很多,一个调度程序单机完全无法处理,那么,可以考虑使用其提供的集群功能。只需要在配置文件中配置一个使用集群的参数,然后,将集群内的机器时间同步在误差1s以内就可以直接运行相同配置的quartz实例了。配置后的实例架构参考图2。

数据采集器:

数据采集器是专门和数据库交互的组件,主要负责从不同数据库中的数据读取归集到一起,然后,进行数据清洗。数据清洗的步骤:1、将不同类型的数据转换成相同类型的,比如,将字符型、浮点型、整数型统一转化成字符型数据处理。具体需要怎样转换,需要根据具体的业务需求来确定,以方便后面的数据处理。2、筛选需要的数据。将读取过来的数据进行分析,判断甄选保留需要的数据,将不需要的数据以及质量不好的数据过滤掉,以免其对后面数据处理的精度造成不良影响。3、数据去重。将重复的数据删除,防止重复处理同一条数据。在采集数据的时候,可能会在不同的地方存在同样的一条数据,经过前面的两步之后就可以判断这两条数据是否一致,一旦发现存在相同的数据,则将这样的数据忽略(删除)。

数据采集器的另外一个功能就是将处理完成的数据归集到一起,然后写入到数据中心数据库中去,以便于后续使用。

业务逻辑处理器:

业务逻辑处理器主要用于处理业务逻辑,这个业务逻辑可以是固化到代码中的,也可以使用简单的代码表述业务逻辑处理过程,即通过配置少量的代码,来完成比较复杂的逻辑,这样可以比较灵活的配置业务逻辑。

本发明的数据处理流程如下:1.业务逻辑处理器接受在数据采集器传递过来的数据,根据数据特征获取对应的业务逻辑处理配置。2.获取到对应的特殊配置或者使用默认配置,并将对应的配置加载到内存中。3.解析这些业务逻辑(可能是配置的简单的规则,也可以是配置的简单的js代码),可以使用对应的解析器去解析。如果是简单的规则配置可以直接使用代码解析,如果是使用javascript语言表述的比较复杂的逻辑则需要使用javascript的解析器来解析这些规则。4.执行业务逻辑规则配置的代码,来对数据进行处理。5.将这些处理完成的数据回写到数据采集器,通过数据采集器回写到数据中心数据库。完整的数据处理流程参见图2。

上面结合实施例对本发明的实施方法作了详细说明,但是本发明并不限于上述实施例,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。本发明说明书中未作详细描述的内容均可以采用现有技术。

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