一种业务数据监控警告装置及方法与流程

文档序号:20838353发布日期:2020-05-22 17:10阅读:294来源:国知局
一种业务数据监控警告装置及方法与流程

本发明涉及大数据技术领域,特别涉及一种业务数据监控警告装置及方法。



背景技术:

随着业务的不断丰富,为了提高系统的性能,大量的采用异步处理的形式,使得产生了较多的待处理数据,准确而又及时的监控这些庞大复杂业务场景产生的业务数据便成了重要的任务。

针对每个业务场景或者异步待处理表,都需要使用job定时去监控并及时告警通知到相关人员处理,而这种任务需要有开发工作量并且不同表之间只有少量的区别,重复而又繁杂的监控流程,导致监控告警效率低,系统代码量和代码重复度上升,而大量job又增加了调度平台任务的维护成本。



技术实现要素:

为了解决现有技术的问题,本发明实施例提供了业务数据监控警告装置及方法,通过对不同业务场景的任务进行监控和集中调度,并采用可配置化的告警方式根据不同业务监控要求灵活调整告警规则的配置参数,既保障了不同业务场景的高效监控警告需求,又降低了代码开发量及后期维护成本。所述技术方案如下:

一方面,提供了一种业务数据监控警告装置,所述装置包括:

任务调度模块,用于任务调度以及对任务运行情况进行监控,生成任务队列;队列管理模块,用于所述任务队列的加载及并发控制;执行管理模块,用于根据预置的告警规则返回告警任务及告警信息,所述执行管理模块包括执行确定子模块和执行子模块,所述执行确定子模块用于通过bean方法获取spring容器,并从spring容器中确定代理对象,获取代理对象的相应执行子模块;所述执行子模块用于根据任务执行情况和告警规则获取告警任务及其告警所需信息;告警规则管理模块,用于所述告警任务触发的所述告警规则配置及管理;消息管理模块,用于接收所述告警任务及告警信息,并对所述告警信息进行数据处理之后下发。

进一步地,所述告警规则至少包括告警执行频率策略、告警阈值策略、告警频率策略、模板动态配置策略、人员配置策略构成的组中的至少一个或多个。

进一步地,通过bean方法进行所述告警规则配置及管理;和/或,所述告警执行频率策略采用cron表达式;和/或,所述告警阈值策略包括异常告警阈值和积压告警阈值。

进一步地,所述任务调度模块包括调度控制子模块、任务监控子模块、异常机制配置子模块和异常机制执行子模块,所述调度控制子模块用于对集群环境下任务并发执行进行调度和控制;所述任务监控子模块用于对任务调度情况及任务运行情况进行监控,对所述任务进行分组并生成任务队列;所述异常机制配置子模块用于包括错误重试机制和异常提醒机制在内的异常机制进行配置,所述异常机制执行子模块用于根据任务调度执行情况进行相应异常机制执行。

进一步地,所述调度控制子模块还用于跨业务系统的后继任务调度和控制。

进一步地,所述队列管理模块包括任务数据查询子模块、任务分组规则管理子模块和任务状态管理子模块,所述任务数据查询子模块用于从存储业务数据的数据库查询任务数据;所述任务分组规则管理子模块用于对任务分组规则进行配置和管理;所述任务状态管理子模块用于对任务状态进行记录和管理。

进一步地,所述数据库包括redis数据库和/或mysql数据库。

进一步地,所述消息管理模块,用于根据所述告警任务及其告警所需信息进行包括信息内容拼接、告警事件聚合的数据处理,以及包括告警信息下发方式的告警信息分派规则管理。

进一步地,所述执行子模块用于根据任务执行情况和告警规则获取告警任务及其告警所需信息,所述消息管理模块用于根据所述告警任务及其告警所需信息进行包括信息内容拼接、告警事件聚合的数据处理,以及包括告警信息下发方式的告警信息分派规则管理,包括:

所述执行子模块根据任务执行情况和告警规则获取告警任务的历史执行时间和告警时间,根据执行频率和告警频率判断本次告警是否需要执行,如果根据告警任务的配置表和过滤条件统计的符合数据量大于告警阈值,则触发相应告警指令;所述消息管理模块根据告警指令对告警信息进行信息内容拼接,并通过短信和/或邮箱下发。

另一方面,提供了上述方案所述业务数据监控警告装置的业务数据告警方法,所述方法包括:

所述任务调度模块将调度任务生成任务队列;

所述队列管理模块将同一时间内单个调度任务全量加载到redis队列,并根据所述告警规则管理模块,从所述redis队列中获取告警任务组;

所述执行管理模块根据beanname获取spring容器,并从spring容器中确定代理对象,获取代理对象的执行器,并把执行参数等代入执行,并根据所述告警规则判断告警任务是否到达告警门槛,并把满足告警门槛的告警任务及告警消息返回给所述消息管理模块;

所述消息管理模块进行告警信息内容拼接、告警事件聚合,并通过邮件、短信或微信的告警信息分派规则下发。

本发明实施例提供的技术方案带来的有益效果是:

1、首先,通过任务调度模块进行任务调度以及对任务运行情况进行监控,生成任务队列;通过队列管理模块进行任务队列的加载及并发控制;通过执行管理模块根据预置的告警规则返回告警任务及告警信息;通过消息管理模块接收告警任务及告警信息,并对告警信息进行数据处理之后下发,通过对不同业务场景的任务进行监控和集中调度,并采用可配置化的告警方式根据不同业务监控要求灵活调整告警规则的配置参数,既保障了不同业务场景的高效监控警告需求,又降低了代码开发量及后期维护成本,通用的功能代码实现可配置化,能降低每次新增业务带来的监控相关工作量,实现快速告警配置;

2、其次,由于告警采用可配置化方式,并且告警配置支持告警执行频率(cron表达式)、告警阈值(异常、积压)、告警频率(防止频繁告警)、模板动态配置、人员配置等灵活的告警策略配置,用户可以根据业务监控要求,灵活调整执行参数、告警阀值、执行频率、告警频率、模板、告警方式等,也可以自定义告警实现,从而满足不同业务监控需求;

3、并且,支持多种告警方式和途径,告警配置支持手机、邮件、豆芽、微信等即时通讯工具,灵活选择告警方式,根据业务的重要性使用不同告警方式,保障了相关人员能够及时的收到告警通知;

4、再者,由于采用灵活配置多种告警途径和频率,一方面告警可配置不同的执行bean(代码开发简单),支持多种业务告警,同时可定制bean方法,明显增加了告警灵活性;另一方面可以提高告警实时性,让告警人员可以及时处理告警问题,保障业务功能,并通过弹性调节告警阀值和积压告警人员等,降低短信等费用。

5、另外,配置简单,不需要使用大数据等相关技术,针对特定类型业务的代码可复用性强,适用于不同业务系统。

附图说明

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

图1是本发明实施例提供的业务数据监控警告装置结构示意图;

图2是本发明实施例提供的业务数据监控警告装置的业务数据监控告警方法流程图;

图3是装置组件工作示意图;

图4是业务架构示意图;

图5是系统基础工作流示意图;

图6是redis队列示意图;

图7是告警规则各项配置参数页面示意图;

图8是具体的业务数据监控警告的工作流程图;

图9是应用场景示例一告警规则各项配置参数页面示意图;

图10是业务模板样例;

图11是业务处理流程框图;

图12是应用场景示例二告警规则各项配置参数页面示意图;

图13是业务模板样例;

图14是业务处理流程框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。在本发明的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。

本发明实施例提供的业务数据监控警告装置及方法,通过任务调度模块进行任务调度以及对任务运行情况进行监控,生成任务队列;通过队列管理模块进行任务队列的加载及并发控制;通过执行管理模块根据预置的告警规则返回告警任务及告警信息;通过消息管理模块接收告警任务及告警信息,并对告警信息进行数据处理之后下发,通过对不同业务场景的任务进行监控和集中调度,并采用可配置化的告警方式根据不同业务监控要求灵活调整告警规则的配置参数,既保障了不同业务场景的快速监控警告需求,又降低了代码开发量及后期维护成本。

下面结合具体实施及附图,对本发明实施例提供的业务数据监控警告装置及方法详细说明。

图1是本发明实施例提供的业务数据监控警告装置结构示意图,如图1所示,本发明实施例提供的业务数据监控警告装置1包括任务调度模块11、队列管理模块12、执行管理模块13、告警规则管理模块14及消息管理模块15。

其中,任务调度模块11,用于任务调度以及对任务运行情况进行监控,生成任务队列。具体地,任务调度模块11包括调度控制子模块111、任务监控子模块112、异常机制配置子模块113和异常机制执行子模块114,调度控制子模块111用于对集群环境下任务并发执行进行调度和控制,优选地,还用于跨业务系统的后继任务调度和控制;任务监控子模块112用于对任务调度情况及任务运行情况进行监控,对任务进行分组并生成任务队列;异常机制配置子模块113用于包括错误重试机制和异常提醒机制在内的异常机制进行配置;异常机制执行子模块114用于根据任务调度执行情况进行相应异常机制执行。

队列管理模块12,用于任务队列的加载及并发控制。具体地,队列管理模块12包括任务数据查询子模块121、任务分组规则管理子模块122和任务状态管理子模块123,任务数据查询子模块121用于从存储业务数据的数据库查询任务数据;任务分组规则管理子模块122用于对任务分组规则进行配置和管理;任务状态管理子模块123用于对任务状态进行记录和管理。优选地,上述数据库包括redis数据库和/或mysql数据库。

执行管理模块13,用于根据预置的告警规则返回告警任务及告警信息。具体地,执行管理模块13包括执行确定子模块131和执行子模块132,执行确定子模块131用于通过bean方法(即通过beanname)获取spring容器,并从spring容器中确定代理对象,获取代理对象的相应执行子模块132;执行子模块132用于根据任务执行情况和告警规则获取告警任务及其告警所需信息。优选地,执行子模块132根据任务执行情况和告警规则获取告警任务的历史执行时间和告警时间,根据执行频率和告警频率判断本次告警是否需要执行,如果根据告警任务的配置表和过滤条件统计的符合数据量大于告警阈值,则触发相应告警指令。这里,告警任务是通过监控确定的后续需要进行告警的任务。

告警规则管理模块14,告警规则管理模块14用于告警任务触发的告警规则配置及管理,告警规则至少包括告警执行频率策略、告警阈值策略、告警频率策略、模板动态配置策略、人员配置策略构成的组中的至少一个或多个。进一步优选地,通过bean方法进行告警规则配置及管理;和/或,告警执行频率策略采用cron表达式;和/或,告警阈值策略包括异常告警阈值和积压告警阈值。

消息管理模块15,用于接收所述告警任务及告警信息,并对所述告警信息进行数据处理之后下发。具体地,消息管理模块15,用于根据告警任务及其告警所需信息进行包括信息内容拼接、告警事件聚合的数据处理,以及包括告警信息下发方式的告警信息分派规则管理。优选地,消息管理模块15根据告警指令对告警信息进行信息内容拼接,并通过短信和/或邮箱下发。

图2是本发明实施例提供的业务数据监控警告装置的业务数据监控告警方法流程图,示出了上述业务数据监控警告装置进行业务数据监控警告操作的优选实施方式。如图2所示,该业务数据监控告警方法包括以下步骤:

201、任务调度模块将调度任务生成任务队列;

202、队列管理模块将同一时间内单个调度任务全量加载到redis队列,并根据告警规则管理模块,从redis队列中获取告警任务组;

203、执行管理模块根据beanname获取spring容器,并从spring容器中确定代理对象,获取代理对象的执行器,并把执行参数等代入执行,并根据告警规则判断告警任务是否到达告警门槛,并把满足告警门槛的告警任务及其告警所需消息返回给消息管理模块;

204、消息管理模块进行告警信息内容拼接、告警事件聚合,并通过邮件、短信或微信的告警信息分派规则下发。

需要说明的是:上述实施例提供的业务数据监控警告装置在触发业务数据监控警告业务时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的业务数据监控告警方法与业务数据监控告警装置实施例属于同一构思,其具体实现过程详见装置实施例,这里不再赘述。

下面结合一应用实例对本发明实施例提供的业务数据监控警告装置及方法,进一步说明。需要说明的是,该应用实例仅仅示例性地示出了一种实现方式,本发明实施例提供的业务数据监控警告装置及方法中各个功能模块及方法流程的实现,在不脱离本发明发明构思的情况下,也可以采用现有技术中任何可能的实现方式。

图3是装置组件工作示意图。图4是业务架构示意图。图5是系统基础工作流示意图。图6是redis队列示意图。图7是告警规则各项配置参数页面示意图。图8是具体的业务数据监控警告的工作流程图。系统中业务风险告警、数据异常及积压告警等,需要统一的菜单配置管理,类似监控功能直接配置就可以支持新增业务场景告警,减少维护成本,可以支持告警消息通知到手机、邮件、微信、工作群组等常用通讯工具。

如图3至图8所示,本发明实施例提供的业务数据监控警告方案可以以下硬件来实现:

调度平台:承担定时任务集中进行管理和调度,集中解决了集群环境下任务并发执行的控制,对任务调度执行情况的监控和异常短信告警、重试机制,同时也提供跨业务系统的后继任务调度;

队列管理器:提供告警任务队列的加载,并发控制,其中队列加载包含任务分组规则、任务状态的管理;

调度规则管理器:告警任务触发的规则管理,包含执行频率、告警频率等规则;

执行管理器:根据beanname获取spring容器,并从spring容器中确定代理对象,获取代理对象的执行器;

执行器:根据告警任务配置的阈值、业务规则等,返回需要告警的任务、和拼装告警所需的信息;

消息管理器:告警信息的内容拼接、告警事件聚合、分派规则管理(如个人、群组、公众号等)。

以下介绍具体的业务数据监控警告的工作流程,并区分首次加载与非首次加载,过程如下:

1、调度开始,从任务队列获取要执行的任务组,如果任务队列为空(队列长度=0),代表是首次全量加载任务或者新一轮调度任务。

首次加载场景:

2、先加共享锁(setnx),保证同一时间只有一个调度任务全量加载到redis队列中,防止并发导致redis队列中有重复数据。

3、加锁失败,代表有其他调度正在加载(并发),结束流程,等待下次调度。

4、加锁成功,全量加载任务到redis队列中,全量的任务可以存储在ehcache(ehcache全量任务数据可以从db加载,同时配置失效时间),避免透库增加db压力。

5、全量加载的规则:根据任务组号分组,封装任务list,push到redis队列中,这么做的原因是避免多次重复查询db。例如一种业务数据,根据监控维度可能有多种阈值、告警类型、执行频率等,但是都是查询一种数据,这种场景避免多次透库查询,可以分组,只查询一次。

6、加载成功后,需要释放共享锁,并从redis队列pop一组告警任务,继续处理。

非首次加载场景:

7、从redis队列获取告警任务组(list),根据分组号加共享锁(setnx),防止并发。

8、根据beanname获取spring容器,并从spring容器中确定代理对象,获取代理对象的执行器,并把执行参数等代入执行器执行。

9、执行器根据积压阀值、执行频率、告警频率等规则判断是否达到告警门槛,把满足告警门槛的告警任务返回给消息管理器。

10、消息管理器结合任务优先级、告警事件聚合、分派规则等,发送邮件、短信、微信等消息。

接下来介绍两个具体应用场景示例,以便对本发明实施例提供的业务数据监控警告装置及方法进一步说明。

应用场景示例一:异步方案待处理表积压、异常告警。

图9是应用场景示例一告警规则各项配置参数页面示意图。图10是业务模板样例。图11是业务处理流程框图。

参照图9至图11,对该应用场景进行详细说明。

1、系统中对于一些场景,设计了异步处理方案,例如:不影响实时链路的复杂处理逻辑、发送短信、推送外围系统的一些数据等。设计异步方案目的是和实时链路解耦,减少链路耗时,提升用户体验;使用待处理表,并增加错误重试和告警机制,并减少和外围的依赖,在外围系统宕机,可以暂停job,待外围恢复后,重新执行。

2、异步待处理表一般包含通用的一些字段(处理状态、处理次数、失败原因等),对于每个待处理记录处理状态和次数需要有监控,及时能监控异常并分配人员处理,这部分待处理数据积压告警、失败告警等也都是类似的。

应用场景示例2:周期权益实际发放差异告警

图12是应用场景示例二告警规则各项配置参数页面示意图。图13是业务模板样例。图14是业务处理流程框图。

参照图12至图14,对该应用场景进行详细说明。

1、告警还可以针对数据的统计或者业务差异对比,例如某系统是权益执行和发放的系统,有周期发运费券的业务,运费券每天凌晨定时发放,发放完成后,要核对发放结果,对于这种周期形式的发放设计了多个维度的监控机制,其中一种监控机制就是要对比要发放的总量和实际发放的明细总数是否对应上。通用告警设计方案可以运用到该场景中,新增bean实现,该系统中多种权益发放都类似运费券的发放形式,在后台新增配置就可以快速支持。

上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。

综上所述,本发明实施例提供的业务数据监控警告装置及方法,相比现有技术具有以下有益效果:

1、首先,通过任务调度模块进行任务调度以及对任务运行情况进行监控,生成任务队列;通过队列管理模块进行任务队列的加载及并发控制;通过执行管理模块根据预置的告警规则返回告警任务及告警信息;通过消息管理模块接收告警任务及告警信息,并对告警信息进行数据处理之后下发,通过对不同业务场景的任务进行监控和集中调度,并采用可配置化的告警方式根据不同业务监控要求灵活调整告警规则的配置参数,既保障了不同业务场景的高效监控警告需求,又降低了代码开发量及后期维护成本,通用的功能代码实现可配置化,能降低每次新增业务带来的监控相关工作量,实现快速告警配置;

2、其次,由于告警采用可配置化方式,并且告警配置支持告警执行频率(cron表达式)、告警阈值(异常、积压)、告警频率(防止频繁告警)、模板动态配置、人员配置等灵活的告警策略配置,用户可以根据业务监控要求,灵活调整执行参数、告警阀值、执行频率、告警频率、模板、告警方式等,也可以自定义告警实现,从而满足不同业务监控需求;

3、并且,支持多种告警方式和途径,告警配置支持手机、邮件、豆芽、微信等即时通讯工具,灵活选择告警方式,根据业务的重要性使用不同告警方式,保障了相关人员能够及时的收到告警通知;

4、再者,由于采用灵活配置多种告警途径和频率,一方面告警可配置不同的执行bean(代码开发简单),支持多种业务告警,同时可定制bean方法,明显增加了告警灵活性;另一方面可以提高告警实时性,让告警人员可以及时处理告警问题,保障业务功能,并通过弹性调节告警阀值和积压告警人员等,降低短信等费用。

5、另外,配置简单,不需要使用大数据等相关技术,针对特定类型业务的代码可复用性强,适用于不同业务系统。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

本申请实施例中是参照根据本申请实施例中实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请实施例中的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例中范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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