数据实时监测系统及方法与流程

文档序号:12785675阅读:369来源:国知局
数据实时监测系统及方法与流程

本发明涉及数据处理技术领域,具体而言,涉及一种数据实时监测系统及方法。



背景技术:

现有软件架构如Spark、Phoenix、Disco、Mars将大型计算任务分解为并行分布式计算片段,并整合分解计算结果。其适用于海量数据的分布式计算,其计算具备普适性,但是无法满足监测数据实时处理的特殊性以及应用数据实时处理的系统可靠性不高。



技术实现要素:

有鉴于此,本发明实施例的目的在于提供一种数据实时监测系统及方法,以改善上述问题。为了实现上述目的,本发明实施例采取的技术方案如下:

第一方面,本发明实施例提供了一种数据实时监测系统,所述系统包括采集模块、实时缓存队列模块、实时分布存储模块以及统计分析模块。所述实时分布存储模块分别与所述采集模块、所述统计分析模块采用松耦合联系并交互通讯。所述实时缓存队列模块分别与所述采集模块、所述统计分析模块采用松耦合联系并交互通讯。所述采集模块用于实时采集多个待测点的数据并同时发送给所述实时缓存队列模块和所述实时分布存储模块。所述实时缓存队列模块用于缓存所述采集模块发送的多个待测点的数据。所述统计分析模块用于提取并计算所述缓存队列模块缓存的数据,以得到数据实时监测信息并进行实时统计分析。所述实时分布存储模块用于存储所述采集模块发送的多个待测点的数据。所述统计分析模块还用于基于提取的所述实时分布存储模块存储的数据,验证告警规则并发布告警信息。

在本发明较佳的实施例中,上述实时缓存队列模块用于基于内存关系数据库的二维表,按照预设规则将所述采集模块发送的多个待测点的数据缓存到表中。

在本发明较佳的实施例中,上述采集模块包括多个监测设备,每个所述监测设备分别与所述实时缓存队列模块、所述实时分布存储模块采用松耦合联系并交互通讯;每个监测设备用于采集每个待测点的数据并同时发送给所述实时缓存队列模块和所述实时分布存储模块。

在本发明较佳的实施例中,上述统计分析模块包括层次森林模块。所述层次森林模块基于实际业务层次关系,建立多个层次树,并通过所述层次树上的叶子节点配置为设备实现业务数据的实时汇总。。

在本发明较佳的实施例中,上述统计分析模块还包括设备层次映射表模块。所述设备层次映射表模块与所述层次森林模块采用松耦合联系并交互通讯。所述设备层次映射表模块用于预存每一个监测设备与所述层次森林模块中层次树计算依赖关系并生成设备层次映射表。

在本发明较佳的实施例中,上述实时缓存队列模块包括多个缓存队列子模块,所述系统还包括分布式统计模块,所述分布式统计模块包括与所述多个缓存队列子模块一一对应耦合的多个分布式统计子模块,每个所述分布式统计子模块用于根据与该分布式统计子模块对应的缓存队列子模块中的设备数生成多个线程,使得一个线程来计算一个设备。

在本发明较佳的实施例中,上述系统还包括组态式报警模块,所述组态式报警模块与所述统计分析模块采用松耦合联系并交互通讯,所述组态式报警模块用于监听并验证所述统计分析模块得到的数据实时监测信息,若所述统计分析模块得到的数据实时监测信息满足告警规则触发条件,则发布报警通知。

在本发明较佳的实施例中,上述组态式报警模块包括数据监控子模块和与所述数据监控子模块耦合的报警提醒子模块,数据监控子模块包括监听组件和与所述监听组件耦合的数据验证组件,所述监听组件与所述统计分析模块耦合,所述报警提醒子模块包括报警组件;所述监听组件用于实时或定时监听所述统计分析模块得到的数据实时监测信息,所述数据验证组件用于验证所述统计分析模块得到的数据实时监测信息是否满足告警规则触发条件,所述报警组件用于通过预设的通信方式发布报警信息。在本发明较佳的实施例中,上述实时分布存储模块采用HBase集群存储所述采集模块发送的多个待测点的数据。

第二方面,本发明实施例提供了一种数据实时监测方法,应用于上述的系统,所述方法包括:实时采集多个待测点的数据并同时发送给所述实时缓存队列模块和所述实时分布存储模块;缓存所述采集模块发送的多个待测点的数据;提取并计算所述缓存队列模块缓存的数据,以得到数据实时监测信息并进行实时统计分析;存储所述采集模块发送的多个待测点的数据;基于提取的所述实时分布存储模块存储的数据,验证告警规则并发布告警信息。

本发明实施例提供的一种数据实时监测系统及方法,所述系统包括采集模块、实时缓存队列模块、实时分布存储模块以及统计分析模块。所述实时分布存储模块分别与所述采集模块、所述统计分析模块采用松耦合联系并交互通讯。所述实时缓存队列模块分别与所述采集模块、所述统计分析模块采用松耦合联系并交互通讯。所述采集模块用于实时采集多个待测点的数据并同时发送给所述实时缓存队列模块和所述实时分布存储模块。所述实时缓存队列模块用于缓存所述采集模块发送的多个待测点的数据。所述统计分析模块用于提取并计算所述缓存队列模块缓存的数据,以得到数据实时监测信息并进行实时统计分析。所述实时分布存储模块用于存储所述采集模块发送的多个待测点的数据。所述统计分析模块还用于基于提取的所述实时分布存储模块存储的数据,验证告警规则并发布告警信息。通过缓存队列和统计分析,满足了个性化实时统计分析,也提高了系统的可靠性和执行效率。

本发明的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明第一实施例提供的一种数据实时监测系统的结构框图;

图2为本发明第一实施例提供的另一种数据实时监测系统的结构框图;

图3为本发明第一实施例提供的数据实时监测系统的采集模块与实时缓存队列模块的关系示意图;

图4为本发明第一实施例提供的数据实时监测系统的层次森林模块的层次树结构示意图;

图5为本发明第一实施例提供的层次森林的一颗树的示意图;

图6为本发明第一实施例提供的数据实时监测系统的实时缓存队列模块和分布式统计模块的关系示意图;

图7为本发明第二实施例提供的数据实时监测方法的流程图。

图中:100-系统;110-采集模块;112-第一监测设备;114-第二监测设备;116-第M监测设备;120-实时缓存队列模块;130-实时分布存储模块;140-统计分析模块;142-层次森林模块;144-设备层次映射表模块;150-组态式报警模块;151-数据监控子模块;152-监听组件;153-数据验证组件;154-报警提醒子模块;155-报警组件;160-分布式统计模块。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

第一实施例

请参阅图1,本发明实施例提供了一种数据实时监测系统100,其包括采集模块110、实时缓存队列模块120、实时分布存储模块130以及统计分析模块140。所述实时分布存储模块130分别与所述采集模块110、所述统计分析模块140采用松耦合联系并交互通讯。所述实时缓存队列模块120分别与所述采集模块110、所述统计分析模块140采用松耦合联系并交互通讯。所述采集模块110用于实时采集多个待测点的数据并同时发送给所述实时缓存队列模块120和所述实时分布存储模块130。所述实时缓存队列模块120用于缓存所述采集模块110发送的多个待测点的数据,即用于待计算数据的实时冗余存储,以满足实时计算要求。所述统计分析模块140用于提取并计算所述实时缓存队列模块120缓存的数据,以得到数据实时监测信息并进行实时统计分析。所述实时分布存储模块130用于存储所述采集模块110发送的多个待测点的数据,即用于监测数据的集群存储。所述统计分析模块140还用于基于提取的所述实时分布存储模块130存储的数据,验证告警规则并发布告警信息。

请参阅图2,采集模块110包括多个监测设备,每个所述监测设备分别与所述实时缓存队列模块120、所述实时分布存储模块130采用松耦合联系并交互通讯;每个监测设备用于采集每个待测点的数据并同时发送给所述实时缓存队列模块120和所述实时分布存储模块130。作为一种实施方式,多个监测设备为M个监测设备;多个监测设备可以包括第一监测设备112、第二监测设备114、第M监测设备116。第一监测设备112、第二监测设备114、第M监测设备116可以为温度传感器、湿度传感器等。

实时缓存队列模块120用于基于内存关系数据库的二维表,按照预设规则将所述采集模块110发送的多个待测点的数据缓存到表中。

在本实施例中,实时缓存队列模块120是采集模块110与统计分析模块140之间的一个高效的、稳定的数据缓冲区。该数据缓冲区能有效的减轻统计分析模块140的压力,例如统计分析模块140定时从实时缓存队列模块120中读取和计算数据,防止出现过于频繁的计算操作。实时缓存队列模块120采用单独的服务器集群,并做了数据的持久化,其他任何组件服务器出现故障均不会导致数据的丢失,以此在一定程度上规避由于服务器故障等原因导致的数据丢失问题。实时缓存队列模块120中采用内存关系数据库的二维表做实现,按照预设规则将所述采集模块110发送的多个待测点的数据缓存到表中。该表可以根据需要建立任意多个,以此实现了实时缓存队列模块120的可水平扩展性,理论上讲,实时缓存队列模块120可以无限扩展,缓存足够多的数据。

请参阅图3,采集模块110包括监测设备1、监测设备2……监测设备M;监测设备1、监测设备2……监测设备M可以为温度传感器、湿度传感器等。实时缓存队列模块120包括缓存队列1、缓存队列2……缓存队列N。作为一种实施方式,缓存队列1缓存监测设备1到监测设备10000的数据;缓存队列2缓存监测设备10001到监测设备20000的数据;依次递推,缓存队列N缓存监测设备(N-1)*10000+1到监测设备N*10000的数据。在本实施例中,系统100将最终接入221家用能企业,每家企业根据需求可按秒、按时、按天发送数据到系统100,因此数据量以及接口调用的频繁度都是比较大的。实时缓存队列模块120的多个缓存队列,大幅降低了中心服务器的压力,并保证了数据的安全性。

实时分布存储模块130采用HBase集群存储所述采集模块110发送的多个待测点的数据。具体地,实时分布存储模块130可以包括主服务器和与所述主服务器通讯连接的多个区域服务器。在本实施例中,实时分布存储模块130使用HBase集群对企业实时上报的原始数据进行存储,满足系统100连续20年的生产数据,具有足够的容量和计算速度。

请参阅图2,统计分析模块140包括层次森林模块142。所述层次森林模块142基于实际业务层次关系,建立多个层次树,并通过所述层次树上的叶子节点配置为设备实现业务数据的实时汇总。所述实际业务层次关系可以为各个时间、各个行业或各个区域的层次关系等。例如,所述层次森林模块142可以包括时间维度建立子模块、行业维度建立子模块以及区域维度建立子模块。所述时间维度建立子模块用于按照时间维度,统计得到数据实时监测信息。所述行业维度建立子模块用于基于树结构和多个行业,建立行业树结构并统计得到数据实时监测信息。所述区域维度建立子模块用于基于树结构和多个区域,建立区域树结构并统计得到数据实时监测信息。在本实施例中,行业结构、区县结构、用能单位等采用层次结构模型实现,可以按照用户的需求而设置,最大程度的实现了统计维度的灵活定制性,目前仅需通过区县、行业、用能单位三个空间维度以及时间维度进行统计。

基于树结构的概念,多棵树构成层次森林,即层次森林由多个层次树构成。一个企业的组织架构可以看成一个层次树,企业下面存在若干部门,部门内部又可划分若干小组;行业类别也是一个层次树,例如顶层有采矿业、制造业等,采矿业下面又分为石油开采、天然气开采等;行政区域也是一个层次树,例如重庆市下面有各个区县,区县下面又分了乡镇街道等。将这些概念统一抽象为层次树,然后多个层次树就形成了层次森林。系统100中任何一个能耗监测设备都必须也确实存在于每个层次树的某个叶子节点上,当某个能耗监测设备产生数据时,可以获得某个区域的某个行业产生了多少能耗消费。

例如,请参阅图4,T1表示层次森林模块142的行业维度建立子模块结构示意图,行业维度建立子模块以所有行业为根节点,下一层有采矿业以及制造业,再下一层有采矿业下的石油开采和天然气开采;T2表示区域维度建立子模块的一个树结构示意图,区域维度建立子模块以重庆市为根节点,下一层为渝中区、九龙坡区,再下一层有九龙坡下的渝州路街道和杨家坪街道。在树结构的示意图上,天然气开采节点以及渝州路街道节点设置有监测设备1。当系统100收到了来自监测设备1的数据时,系统100就可以计算出渝州路街道的天然气开采行业消费了多少某种特定能源。相应的,所有天然气开采的上级节点以及渝州路街道的上级节点也可以计算出增加的消费值。

此外,系统100不限制层次森林中层次树的个数,用户可以根据自己的需求进行增加,当有新的监测设备加入到系统100中时,用户只需要根据实际情况与层次树的叶子节点进行关联即可,这样系统100就达到了可以任意定制统计元模型,从而实现满足各个业务领域数据统计要求。

上述的层次森林为实现满足各个业务领域数据统计要求提供了基础的数据关联依据,但是如果层次树的层级结构足够多,而又需要根据中间的某一层级或者顶层来做统计元模型进行数据统计,那么此时系统将变得十分缓慢。

如图5所示,示出了层次森林的一颗树的示意图,由根节点(0)开始,还有1-10共10个节点,如果以节点1为统计元模型进行数据统计,那么不论是监测设备1或监测设备2的数据达到系统时,程序都需要向上迭代循环来判断数据是否满足统计模型,这种循环是十分耗费时间资源和硬件资源的;并且在实际的情况中,监测设备数据可能非常多,数据发送频率可能非常快,层次树的层次结构也可能非常深。

为了解决上述耗时的问题,统计分析模块140还可以包括设备层次映射表模块144。所述设备层次映射表模块144与所述层次森林模块142采用松耦合联系并交互通讯。所述设备层次映射表模块144用于预存每一个监测设备与所述层次森林模块142中层次树计算依赖关系并生成设备层次映射表。设备层次映射表可以包括基于行业维度建立子模块、区域维度建立子模块的树结构,生成采集模块110中的每个监测设备到树结构上的每个节点的路径。具体地,监测设备存在于所述层次森林模块142上的每个树上的某个叶子节点上,监测设备与所述层次森林模块142上的每个节点之间直接建立映射关系,当设备数据达到系统100时,则不再进行循环判断,而是根据所述设备层次映射表获得设备与所述层次森林模块142之间的映射关系,直接加入到统计结果中去。设备层次映射表模块144会在用户建立统计模型的时候自动生成,并且也会根据用户对所述层次森林模块142中层次树的修改自动做相应的修改。以此实现实时高效统计计算。

在本实施例中,系统100接入的部分企业需要对煤电油气单个能源品种的消耗量进行实时统计,系统100利用设备层次映射表模块144中的设备层次映射表,保证了统计的速度和稳定性。

系统100还包括组态式报警模块150。所述组态式报警模块150与所述统计分析模块140采用松耦合联系并交互通讯。所述组态式报警模块150用于监听并验证所述统计分析模块140得到的数据实时监测信息,若所述统计分析模块140得到的数据实时监测信息满足告警规则触发条件,则发布报警通知。

组态式报警模块150包括数据监控子模块151和与所述数据监控子模块151耦合的报警提醒子模块154。数据监控子模块151包括监听组件152和与所述监听组件152耦合的数据验证组件153。所述监听组件152与所述统计分析模块140耦合。所述报警提醒子模块154包括报警组件155。所述监听组件152用于实时或定时监听所述统计分析模块140得到的数据实时监测信息,所述数据验证组件153用于验证所述统计分析模块140得到的数据实时监测信息是否满足告警规则触发条件。所述报警组件155用于通过预设的通信方式发布报警信息。所述预设的通信方式可以为短信、邮件、微信等形式。所述报警组件155还可以包括报警扩展接口。如果短信和邮件不满足用户的提醒需求,那么可以通过报警扩展接口进行扩展,以满足更加切合实际环境的需要。监测数据计算,其特殊性在于仅仅关注离散数据的告警与连续数据的按时间统计,其中告警比统计对实时性的需求更为强烈。以此实现统计提醒功能,还可以十分方便的修改报警状态以及报警阀值。

此外,请参阅图2,实时缓存队列模块120包括多个缓存队列子模块。所述系统100还包括分布式统计模块160。所述分布式统计模块160包括与所述多个缓存队列子模块一一对应耦合的多个分布式统计子模块,每个所述分布式统计子模块用于根据与该分布式统计子模块对应的缓存队列子模块中的设备数生成多个线程,使得一个线程来计算一个设备。

请参阅图6,实时缓存队列模块120可以包括缓存队列1、缓存队列2……缓存队列N,所述分布式统计模块160可以包括与缓存队列1对应的统计组件1、与缓存队列1对应的统计组件2……与缓存队列N对应的统计组件N。通过这种方式,系统100可以最大化的利用其硬件资源,以最快的速度计算出结果,并且能够有效防止多线程对资源的竞争导致的死锁问题,理论上讲,也可以跟随缓存队列实现水平方向的无限扩展。

本发明实施例提供的数据实时监测系统100的工作原理如下:

所述采集模块110实时采集多个待测点的数据并同时发送给所述实时缓存队列模块120和所述实时分布存储模块130。所述实时缓存队列模块120缓存所述采集模块110发送的多个待测点的数据。所述统计分析模块140提取并计算所述实时缓存队列模块120缓存的数据,以得到数据实时监测信息并进行实时统计分析。所述实时分布存储模块130存储所述采集模块110发送的多个待测点的数据。所述统计分析模块140还基于提取的所述实时分布存储模块130存储的数据,验证告警规则并发布告警信息。所述统计分析模块140包括层次森林模块142,所述层次森林模块142基于实际业务层次关系,建立多个层次树,并通过所述层次树上的叶子节点配置为设备实现业务数据的实时汇总。通过缓存队列和层次森林技术,满足了个性化实时统计分析需求,也提高了系统100的可靠性和执行效率。

本发明实施例提供的数据实时监测系统,包括采集模块、实时缓存队列模块、实时分布存储模块以及统计分析模块。所述实时分布存储模块分别与所述采集模块、所述统计分析模块采用松耦合联系并交互通讯。所述实时缓存队列模块分别与所述采集模块、所述统计分析模块采用松耦合联系并交互通讯。所述采集模块用于实时采集多个待测点的数据并同时发送给所述实时缓存队列模块和所述实时分布存储模块。所述实时缓存队列模块用于缓存所述采集模块发送的多个待测点的数据。所述统计分析模块用于提取并计算所述缓存队列模块缓存的数据,以得到数据实时监测信息并进行实时统计分析,所述实时分布存储模块用于存储所述采集模块发送的多个待测点的数据。所述统计分析模块还用于基于提取的所述实时分布存储模块存储的数据,验证告警规则并发布告警信息。通过缓存队列和统计分析,满足了个性化实时统计分析需求,也提高了系统的可靠性和执行效率。

第二实施例

请参阅图7,本发明实施例提供了一种数据实时监测方法,应用于上述的系统100,所述方法包括:

步骤S300:实时采集多个待测点的数据并同时发送给所述实时缓存队列模块和所述实时分布存储模块;

步骤S310:缓存所述采集模块发送的多个待测点的数据;

步骤S320:提取并计算所述缓存队列模块缓存的数据,以得到数据实时监测信息并进行实时统计分析;

步骤S330:存储所述采集模块发送的多个待测点的数据;

步骤S340:基于提取的所述实时分布存储模块存储的数据,验证告警规则并发布告警信息。

本发明实施例提供的数据实时监测方法,应用于上述的系统100,所述方法包括:实时采集多个待测点的数据并同时发送给所述实时缓存队列模块和所述实时分布存储模块;缓存所述采集模块发送的多个待测点的数据;提取并计算所述缓存队列模块缓存的数据,以得到数据实时监测信息并进行实时统计分析;存储所述采集模块发送的多个待测点的数据;基于提取的所述实时分布存储模块存储的数据,验证告警规则并发布告警信息。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的数据实时监测方法的具体工作过程,可以参考前述系统实施例中的对应过程,在此不再赘述。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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