消息队列数据预警方法、装置和系统、存储介质
技术领域
本公开涉及数据监控预警领域,特别涉及一种消息队列数据预警方法、装置和系统、存储介质。
背景技术
相关技术针对风控反欺诈引擎系统的监控,都是基于风控处置的日志数据,而这些数据都是通过离线T+1加工的方式保存在Hadoop集群中,如需对风控策略等进行监控预警,需要严重依赖Hadoop集群,且存在时间延迟问题。
发明内容
鉴于以上技术问题中的至少一项,本公开提供了一种消息队列数据预警方法、装置和系统、存储介质,可以对消息队列数据进行实时监控。
根据本公开的一个方面,提供一种消息队列数据预警方法,包括:
接收实时消息队列数据;
查询与所述实时消息队列数据对应的监控预警规则信息;
根据监控预警规则信息判断实时消息队列数据是否满足预警条件;
在实时消息队列数据满足预警条件的情况下,向预警订阅用户发送预警消息。
在本公开的一些实施例中,所述消息队列数据预警方法还包括:
根据业务监控需求,为实时消息队列数据配置对应的监控预警规则信息。
在本公开的一些实施例中,所述监控预警规则信息包括预警策略配置信息、数据源配置信息、指标配置信息和预警订阅配置信息中的至少一项。
在本公开的一些实施例中,所述预警策略配置信息为周期性预警配置信息或环路预警配置信息。
在本公开的一些实施例中,所述数据源配置信息包括:实时消息队列数据和数据源信息的对应关系,消息队列数据主题、消息队列数据存储位置信息和数据源下对应字段信息的对应关系。
在本公开的一些实施例中,所述预警订阅信息包括:实时消息队列数据、预警订阅用户及预警通知方式的对应关系。
在本公开的一些实施例中,所述指标配置信息包括至少一个预警指标。
在本公开的一些实施例中,所述周期性预警配置信息包括预警周期、统计周期、预警等级和预警条件中的至少一个,其中,预警条件为:根据当前统计周期下的预警指标值与预定阈值的比较结果判断是否预警;
所述环路预警配置信息包括业务指标、业务名称、预警周期、超过时间、生效时间、环路节点、监控主键、过滤条件、数据源和判断时间字段中的至少一个。
在本公开的一些实施例中,所述消息队列数据预警方法还包括:
从监控预警规则信息中,获取所述实时消息队列数据对应的消息队列数据存储位置信息;
将实时消息队列数据存储在对应的消息队列数据存储位置信息。
在本公开的一些实施例中,所述根据监控预警规则信息判断实时消息队列数据是否满足预警条件包括:
按照周期性预警配置信息或环路预警配置信息,判断实时消息队列数据是否满足预警条件。
在本公开的一些实施例中,所述按照周期性预警配置信息判断实时消息队列数据是否满足预警条件包括:
判断当前时间是否满足预警周期时间;
在当前时间满足预警周期时间的情况下,根据周期性预警配置信息,从实时消息队列数据中提取出对应预警指标值;
根据当前统计周期下的预警指标值与预定阈值的比较结果判断是否预警。
在本公开的一些实施例中,所述按照环路预警配置信息判断实时消息队列数据是否满足预警条件包括:
判断实时消息队列数据是否配置有环路预警配置信息;
在实时消息队列数据配置有环路预警配置信息的情况下,遍历每个环路节点的配置信息;
对于每一个环路节点,判断当前实时消息队列数据的过滤条件是否满足环路节点的过滤条件;
在当前标识实时消息队列数据的过滤条件是否满足环路节点的过滤条件的情况下,判断当前标识实时消息队列数据的审核状态是否为审核完成;
在当前标识实时消息队列数据的审核状态为审核未完成的情况下,将当前标识的实时消息队列数据存储在预警数据库中。
在本公开的一些实施例中,所述按照环路预警配置信息判断实时消息队列数据是否满足预警条件还包括:
判断当前时间是否满足预警周期时间;
在当前时间满足预警周期时间的情况下,根据环路预警配置信息,从预警数据库中提取出对应预警指标值;
根据当前统计周期下的预警指标值与预定阈值的比较结果判断是否预警。
根据本公开的另一方面,提供一种消息队列数据预警装置,包括:
消息队列数据库,用于接收实时消息队列数据;
调度中心,用于查询与所述实时消息队列数据对应的监控预警规则信息;根据监控预警规则信息判断实时消息队列数据是否满足预警条件;
预警通知模块,用于在实时消息队列数据满足预警条件的情况下,向预警订阅用户发送预警消息;
其中,所述消息队列数据预警装置用于执行实现如上述任一实施例所述的消息队列数据预警方法的操作。
根据本公开的另一方面,提供一种消息队列数据预警装置,包括:
存储器,用于存储指令;
处理器,用于执行所述指令,使得所述消息队列数据预警装置执行实现如上述任一实施例所述的消息队列数据预警方法的操作。
根据本公开的另一方面,提供一种消息队列数据预警系统,包括外部消息队列系统和如上述任一实施例所述的消息队列数据预警装置。
根据本公开的另一方面,提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机指令,所述指令被处理器执行时实现如上述任一实施例所述的消息队列数据预警方法。
本公开可以通过接收消息形式实现对消息队列数据进行实时监控。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本公开消息队列数据预警方法一些实施例的示意图。
图2为本公开消息队列数据预警装置一些实施例的示意图。
图3为本公开消息队列数据预警装置另一些实施例的示意图。
图4为本公开消息队列数据预警装置又一些实施例的示意图。
图5为本公开一些实施例中预警配置页面的示意图。
图6为本公开消息队列数据预警装置又一些实施例的示意图。
图7为本公开一些实施例中环路监控配置页面的示意图。
图8实施例为本公开环路预警准备执行器对数据进行相应处理的示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
发明人通过研究发现:相关技术系统存在对Hadoop集群依赖程度大,而且数据延时性较长,无法满足分钟级的监控预警需求,而且监控的配置多为通过ETL任务加工得到数据,且无法进行有效的预警通知,主要依靠人工进行数据查看分析;并且只能实现业务单环节的预警,无法进行全流程的环路监控预警。
图1为本公开消息队列数据预警方法一些实施例的示意图。优选的,本实施例可由本公开消息队列数据预警装置执行。该方法包括以下步骤:
步骤11,接收实时MQ(message queue,消息队列)数据。
在本公开的一些实施例中,消息队列为外部系统,主要用于消息数据的传输。
在本公开的一些实施例中,消息队列为应用程序对应用程序的通信方法,应用程序通过写和检索出入列队的针对应用程序的数据来通信,而无需专用连接来链接两个应用程序。
在本公开的一些实施例中,所述消息队列数据预警方法还可以包括:根据业务监控需求,为实时消息队列数据配置对应的监控预警规则信息。
在本公开的一些实施例中,所述根据业务监控需求,为实时消息队列数据配置对应的监控预警规则信息步骤可以在步骤11之前进行预先配置,也可以在步骤11之后进行配置。
在本公开的一些实施例中,所述监控预警规则信息可以包括预警策略配置信息、数据源配置信息、指标配置信息和预警订阅配置信息等信息中的至少一项。
在本公开的一些实施例中,所述预警策略配置信息可以为周期性预警配置信息或环路预警配置信息。
在本公开的一些实施例中,所述周期性预警配置信息可以包括预警周期、统计周期、预警等级和预警条件等信息中的至少一个,其中,预警条件为:根据当前统计周期下的预警指标值与预定阈值的比较结果判断是否预警。
所述环路预警配置信息可以包括业务指标、业务名称、预警周期、超过时间、生效时间、环路节点、监控主键、过滤条件、数据源和判断时间字段等信息中的至少一个。
在本公开的一些实施例中,所述数据源配置信息可以包括:实时消息队列数据和数据源信息的对应关系,消息队列数据主题、消息队列数据存储位置信息和数据源下对应字段信息的对应关系。
在本公开的一些实施例中,所述预警订阅信息可以包括:实时消息队列数据、预警订阅用户及预警通知方式的对应关系。
在本公开的一些实施例中,所述指标配置信息可以包括至少一个预警指标。
步骤12,查询与所述实时消息队列数据对应的监控预警规则信息。
在本公开的一些实施例中,步骤12之后,所述消息队列数据预警方法还可以包括:从监控预警规则信息中,获取所述实时消息队列数据对应的消息队列数据存储位置信息;将实时消息队列数据存储在对应的消息队列数据存储位置信息。
在本公开的一些实施例中,步骤12之后,所述消息队列数据预警方法还可以包括:将监控预警规则信息存储在规则信息数据库中;从规则信息数据库的监控预警规则信息中,获取所述实时消息队列数据对应的消息队列数据存储位置信息;将实时消息队列数据存储在消息队列数据库中对应的消息队列数据存储位置。
步骤13,根据监控预警规则信息判断实时消息队列数据是否满足预警条件。
在本公开的一些实施例中,步骤13可以包括:按照周期性预警配置信息或环路预警配置信息,判断实时消息队列数据是否满足预警条件。
在本公开的一些实施例中,步骤13中,所述按照周期性预警配置信息判断实时消息队列数据是否满足预警条件的步骤可以包括:
步骤13a,判断当前时间是否满足预警周期时间。
步骤13b,在当前时间满足预警周期时间的情况下,根据周期性预警配置信息,从实时消息队列数据中提取出对应预警指标值。
步骤13c,根据当前统计周期下的预警指标值与预定阈值的比较结果判断是否预警。
在本公开的一些实施例中,步骤13中,所述按照环路预警配置信息判断实时消息队列数据是否满足预警条件的步骤可以包括:
步骤131,判断实时消息队列数据是否配置有环路预警配置信息。
步骤132,在实时消息队列数据配置有环路预警配置信息的情况下,遍历每个环路节点的配置信息。
步骤133,对于每一个环路节点,判断当前实时消息队列数据的过滤条件是否满足环路节点的过滤条件。
步骤134,在当前标识实时消息队列数据的过滤条件是否满足环路节点的过滤条件的情况下,判断当前标识实时消息队列数据的审核状态是否为审核完成。
步骤135,在当前标识实时消息队列数据的审核状态为审核未完成的情况下,将当前标识的实时消息队列数据存储在预警数据库中。
步骤136,判断当前时间是否满足预警周期时间。
步骤137,在当前时间满足预警周期时间的情况下,根据环路预警配置信息,从预警数据库中提取出对应预警指标值。
步骤138,根据当前统计周期下的预警指标值与预定阈值的比较结果判断是否预警。
步骤14,在实时消息队列数据满足预警条件的情况下,向预警订阅用户发送预警消息。
基于本公开上述实施例提供的消息队列数据预警方法,可以通过可视化配置的方式完成数据源接入、指标配置、预警配置及预警订阅,根据预警时间设置及调度中心自动完成周期性预警条件判断,并将满足预警信息通过预警通知模块发送用户。本公开上述实施例通过接收消息形式实现基于实时数据的周期性监控预警;本公开上述实施例可以通过可视化配置方式完成预警指标、预计逻辑及订阅配置。本公开上述实施例支持多种预警策略,周期性预警和环路监控预警。
本公开上述实施例可以通过接收消息形式实现对消息队列数据进行实时监控,可以满足分钟级的监控预警需求;本公开上述实施例可以进行有效的预警通知;本公开上述实施例不仅可以实现业务单环节的预警,还可以进行全流程的环路监控预警。
图2为本公开消息队列数据预警装置一些实施例的示意图。如图2所示,本公开消息队列数据预警装置可以包括消息队列数据库21、调度中心22和预警通知模块23,其中:
消息队列数据库21,用于接收实时消息队列数据。
在本公开的一些实施例中,本公开消息队列数据预警装置还可以用于根据业务监控需求,为实时消息队列数据配置对应的监控预警规则信息。
在本公开的一些实施例中,所述监控预警规则信息可以包括预警策略配置信息、数据源配置信息、指标配置信息和预警订阅配置信息等信息中的至少一项。
在本公开的一些实施例中,所述预警策略配置信息可以为周期性预警配置信息或环路预警配置信息。
在本公开的一些实施例中,所述周期性预警配置信息可以包括预警周期、统计周期、预警等级和预警条件等信息中的至少一个,其中,预警条件为:根据当前统计周期下的预警指标值与预定阈值的比较结果判断是否预警。
所述环路预警配置信息可以包括业务指标、业务名称、预警周期、超过时间、生效时间、环路节点、监控主键、过滤条件、数据源和判断时间字段等信息中的至少一个。
在本公开的一些实施例中,所述数据源配置信息可以包括:实时消息队列数据和数据源信息的对应关系,消息队列数据主题、消息队列数据存储位置信息和数据源下对应字段信息的对应关系。
在本公开的一些实施例中,所述预警订阅信息可以包括:实时消息队列数据、预警订阅用户及预警通知方式的对应关系。
在本公开的一些实施例中,所述指标配置信息可以包括至少一个预警指标。
调度中心22,用于查询与所述实时消息队列数据对应的监控预警规则信息;根据监控预警规则信息判断实时消息队列数据是否满足预警条件。
在本公开的一些实施例中,调度中心22还可以用于从监控预警规则信息中,获取所述实时消息队列数据对应的消息队列数据存储位置信息;将实时消息队列数据存储在对应的消息队列数据存储位置信息。
在本公开的一些实施例中,调度中心22可以用于按照周期性预警配置信息或环路预警配置信息,判断实时消息队列数据是否满足预警条件。
在本公开的一些实施例中,调度中心22在按照周期性预警配置信息判断实时消息队列数据是否满足预警条件的情况下,可以用于判断当前时间是否满足预警周期时间;在当前时间满足预警周期时间的情况下,根据周期性预警配置信息,从实时消息队列数据中提取出对应预警指标值;根据当前统计周期下的预警指标值与预定阈值的比较结果判断是否预警。
在本公开的一些实施例中,调度中心22在按照环路预警配置信息判断实时消息队列数据是否满足预警条件的情况下,可以用于判断实时消息队列数据是否配置有环路预警配置信息;在实时消息队列数据配置有环路预警配置信息的情况下,遍历每个环路节点的配置信息;对于每一个环路节点,判断当前实时消息队列数据的过滤条件是否满足环路节点的过滤条件;在当前标识实时消息队列数据的过滤条件是否满足环路节点的过滤条件的情况下,判断当前标识实时消息队列数据的审核状态是否为审核完成;在当前标识实时消息队列数据的审核状态为审核未完成的情况下,将当前标识的实时消息队列数据存储在预警数据库中。
在本公开的一些实施例中,调度中心22在按照环路预警配置信息判断实时消息队列数据是否满足预警条件的情况下,还可以用于判断当前时间是否满足预警周期时间;在当前时间满足预警周期时间的情况下,根据环路预警配置信息,从预警数据库中提取出对应预警指标值;根据当前统计周期下的预警指标值与预定阈值的比较结果判断是否预警。
预警通知模块23,用于在实时消息队列数据满足预警条件的情况下,向预警订阅用户发送预警消息。
在本公开的一些实施例中,所述消息队列数据预警装置用于执行实现如上述任一实施例(例如图1实施例)所述的消息队列数据预警方法的操作。
基于本公开上述实施例提供的消息队列数据预警方法,可以通过可视化配置的方式完成数据源接入、指标配置、预警配置及预警订阅,根据预警时间设置及调度中心自动完成周期性预警条件判断,并将满足预警信息通过预警通知模块发送用户。本公开上述实施例通过接收消息形式实现基于实时数据的周期性监控预警;本公开上述实施例可以通过可视化配置方式完成预警指标、预计逻辑及订阅配置。本公开上述实施例支持多种预警策略,周期性预警和环路监控预警。
图3为本公开消息队列数据预警装置另一些实施例的示意图。如图3所示,本公开消息队列数据预警装置可以包括存储器31和处理器32,其中:
存储器31,用于存储指令。
处理器32,用于执行所述指令,使得所述消息队列数据预警装置执行实现如上述任一实施例(例如图1实施例)所述的消息队列数据预警方法的操作。
本公开上述实施例可以通过接收消息形式实现对消息队列数据进行实时监控,可以满足分钟级的监控预警需求;本公开上述实施例可以进行有效的预警通知;本公开上述实施例不仅可以实现业务单环节的预警,还可以进行全流程的环路监控预警。
下面通过具体实施例对本公开上述实施例的周期性预警和环路监控预警的消息队列数据预警装置和方法进行说明。
图4为本公开消息队列数据预警装置又一些实施例的示意图。图4实施例除了包含如图2实施例的消息队列数据库21、调度中心22和预警通知模块23外,还可以包括规则信息数据库24、数据源管理模块25、指标管理模块26、预警配置模块27、预警订阅模块28和交互模块29,其中:
外部消息队列(MQ)系统,主要用于消息数据的传输。
在本公开的一些实施例中,消息队列数据库21可以实现为ES(Elastic Search的简写)数据库,ES用于存储MQ消息数据,ES是一种分布式多用户能力的全文搜索引擎。
在本公开的一些实施例中,规则信息数据库24可以实现为Mysql数据库,Mysql数据库是一种关系型数据库管理系统,用于存储外部消息队列(MQ)系统发送来的业务数据。
在本公开的一些实施例中,交互模块29可以实现为web交互层。
图4还给出了本公开消息队列数据预警方法又一些实施例的示意图。图4实施例的本公开消息队列数据预警方法为一种周期性预警方法。如图4所示,本公开消息队列数据预警方法可以包括步骤A到步骤K,其中:
步骤A的数据流方向为数据源模块→交互模块。步骤A可以包括:根据业务监控需求,维护业务消息(消息队列数据)对应的数据源信息。数据源管理模块25可以用于指定对应消息的topic主题、对应消息的存储ES配置信息及该数据源下对应的字段信息。
步骤E的数据流方向为指标管理模块→交互模块。步骤E可以包括:根据业务系统的监控需求完成预警指标的配置。例如:统计某风控数据源下的数据量,即为一个指标。
步骤F的数据流方向为预警配置模块→交互模块。步骤F可以包括:根据业务系统的监控需求完成预警配置,预警配置可以包括预警基础信息配置、预警条件配置等。
图5为本公开一些实施例中预警配置页面的示意图。如图5所示,预警配置可以包括预警ID、预警名称、预警描述、预警负责人、预警周期、统计周期、预警等级、预警条件和统计类型,其中:
预警周期为:多长时间进行预警判断,支持5分钟、10分钟、半小时、1小时、3小时、6小时、12小时及24小时等多个时间维度。
统计周期为:当前预警周期下统计多长时间范围的指标值。
预警等级:可以包括常规、紧急、特急三种,根据业务需求而定。
预警条件支持多个,同时满足才会预警。
预警条件中的统计类型值得是:指标值表示根据当前统计周期下的指标值与阈值的比较结果判断是否预警。
步骤G的数据流方向为预警订阅模块→交互模块。步骤G可以包括:根据业务预警通知需求,配置对应的预警订阅人及预警通知方式,即订阅人在预警触发时将接收到预警通知,预警通知方式支持短信、邮件及语音预警等方式。
步骤B的数据流方向为交互模块→规则信息数据库。步骤B可以包括:将数据源管理配置信息、指标配置信息、预警配置信息、预警订阅配置信息保存到本系统的规则信息数据库中,其中所述规则信息数据库可以为Mysql数据库。
步骤C的数据流方向为外部队列消息系统→消息队列数据库(例如ES数据库),步骤D的数据流方向为规则信息数据库→消息队列数据库。步骤C和D可以包括:将外部队列消息系统的实时消息数据接入本系统,通过获取规则信息数据库中对应的消息队列数据存储位置信息(例如消息存储ES配置信息),将实时消息数据存储到对应的消息队列数据存储位置(例如对应ES数据库)。
步骤H的数据流方向为调度中心→规则信息数据库,步骤H可以包括:在满足预警周期时间的情况下,调度中心从规则信息数据库(例如Mysql数据库)中获取相关预警配置信息,根据这些预警配置信息,组装消息队列数据(例如ES数据)的查询语句。
步骤I的数据流方向为调度中心→消息队列数据库,步骤I可以包括:调度中心通过组装好的消息队列数据查询语句(例如ES查询语句)查询消息队列数据库(例如ES数据库)。
步骤J的数据流方向为消息队列数据库→调度中心,步骤J可以包括:将查询好的消息队列数据返回给调度中心,调度中心判断是否满足预警条件,即判断对应的指标值与阈值的情况。
步骤K的数据流方向为调度中心→预警通知模块,步骤K可以包括:调度中心将满足预警条件的信息、预警订阅人及预警通知方式配置信息,发送给预警通知模块,预警通知根据所得信息将预警信息发送至订阅人。
基于本公开上述实施例提供的消息队列数据预警方法,可以通过可视化配置的方式完成数据源接入、指标配置、预警配置及预警订阅,根据预警时间设置及调度中心自动完成周期性预警条件判断,并将满足预警信息通过预警通知模块发送用户。本公开上述实施例通过接收消息形式实现基于实时数据的周期性监控预警;本公开上述实施例可以通过可视化配置方式完成预警指标、预计逻辑及订阅配置。
图6为本公开消息队列数据预警装置又一些实施例的示意图。图4实施例除了包含如图4实施例的消息队列数据库21、调度中心22、预警通知模块23、规则信息数据库24、数据源管理模块25、预警订阅模块28和交互模块29外,还可以包括环路预警配置模块61、环路数据准备执行器62和预警数据库63,其中:
外部消息队列(MQ)系统,主要用于消息数据的传输。
在本公开的一些实施例中,消息队列数据库21可以实现为ES(Elastic Search的简写)数据库,ES用于存储MQ消息数据,ES是一种分布式多用户能力的全文搜索引擎。
在本公开的一些实施例中,规则信息数据库24可以实现为Mysql数据库,Mysql数据库是一种关系型数据库管理系统,用于存储外部消息队列(MQ)系统发送来的业务数据。
在本公开的一些实施例中,交互模块29可以实现为web交互层。
图6还给出了本公开消息队列数据预警方法又一些实施例的示意图。图6实施例的本公开消息队列数据预警方法为一种环路监控预警方法。如图6所示,本公开消息队列数据预警方法可以包括步骤1到步骤14,其中:
步骤1的数据流方向为数据源管理模块→交互模块,步骤1可以包括:根据业务监控需求,维护消息对应的数据源信息,会指定对应消息的topic、对应消息的存储ES配置信息及该数据源下对应的字段信息。
步骤2的数据流方向为环路预警配置模块61→交互模块,步骤2可以包括:根据业务系统的监控需求完成环路监控配置。
图7为本公开一些实施例中环路监控配置页面的示意图。如图7所示,预警配置可以包括预警ID、预警名称、预警类型、预警描述、预警负责人、预警周期、业务指标、超过时间、预警生效日期、预警生效起始时间、预警生效截止时间、预警等级、环路节点信息、环路节点名称、数据源、过滤条件、状态标识和判断时间字段,其中:
业务指标key是:为了区分不同的环路预警配置,针对不同的业务流程配置唯一的标识。
业务名称为:不同业务的名称描述。
预警周期为:多长时间进行预警判断,预警周期可以为5分钟、10分钟、半小时、1小时、3小时、6小时、12小时及24小时等多个时间维度。如选择5分钟,则每5分钟进行一次预警判断,统一将近5分钟内需要预警的数据进行整合,发送预警信息。
超时时间:设置环路处理的超时时间,即人工审核各个环节需要在多长时间内处理完成,否则触发预警。
生效时间:只当前环路监控预警的生效时间,分为永久和按周日期预警;其中永久即当前预警全天时段都生效;按周日期预警支持选择生效日期及每天的生效时间范围;最常见的是工作日工作时间范围内预警。
环路节点:业务可以根据实际的人工审核作业流程进行各个节点的配置,例如人工审核分为3个环节:初审、复审、终审三个环节。
环路节点名称:即为需要监控的各个环路节点,比如初审、复审节点等。
监控主键:即为环路监控的主键设置,针对人工审核系统一般为审核的唯一流水号。
数据源为:当前环节数据的来源,选择系统已经配置好的各个MQ数据源。
过滤条件为:针对业务系统的特殊需求,可以设置过滤条件,即只有当满足过滤条件的数据会进行后续的环路监控。
判断时间字段为:用于进行环路预警判断的时间字段,如果业务消息中没有相关时间字段,则会以本系统接收的时间准。
在本公开的一些具体实施例中,人工审核的示例数据可以为:
Tipoc:manual_audit_data
{requestNo:111111,//审核的流水号,对应同一个单子的多个审核步骤使用唯一的流水号
Step:1,//审核步骤,1表示初审,2表示复审,3表示终审
Status:0,//审核状态,0表示进入审核状态,1表示该步审核结束(包括通过和驳回)
time:2019-08-21 09:00:00,//时间字段,标识进入审核状态时间或该步审核结束时间
其他字段…….
}
在本公开的一些具体实施例中,人工审核分为3个环节:初审、复审、终审三个环节;那么在环路节点中需要配置如表1所示的三条信息。
表1
步骤3的数据流方向为预警订阅模块→交互模块,步骤3可以包括:根据业务预警通知需求,配置对应的预警订阅人及预警通知方式,即订阅人在预警触发时将接收到预警通知,预警通知方式支持短信、邮件及语音预警。
步骤4的数据流方向为为交互模块→规则信息数据库,步骤4可以包括:将数据源管理配置信息、环路预警配置信息、预警订阅配置信息保存到本系统的规则信息数据库中,其中所述规则信息数据库可以为Mysql数据库。
步骤5的数据流方向为外部队列消息系统→消息队列数据库(例如ES数据库),步骤D的数据流方向为规则信息数据库→消息队列数据库。步骤5和6可以包括:将外部队列消息系统的实时消息数据接入本系统,通过获取规则信息数据库中对应的消息队列数据存储位置信息(例如消息存储ES配置信息),将实时消息数据存储到对应的消息队列数据存储位置(例如对应ES数据库)。
步骤7的数据流方向为消息队列数据库→环路数据准备执行器,步骤8的数据流方向为规则信息数据库→环路数据准备执行器,步骤4可以包括:当消息队列数据源(例如ES数据源)接收到MQ消息后,该消息会通过步骤7的数据流进入环路数据准备执行器,环路数据准备执行器获取规则信息数据库(例如Mysql)中已配置好的环路预警配置信息,进行环路预警数据准备工作,
步骤9,环路预警准备执行器对数据进行相应处理。
图8实施例为本公开环路预警准备执行器对数据进行相应处理的示意图。如图8所示,环路预警准备执行器对数据的处理(例如图6实施例的步骤9)可以包括:
步骤91:接收MQ数据。
步骤92:根据MQ的topic信息,获取规则信息数据库(例如Mysql)中存储的环路预警配置信息。
步骤93,判断是否有环路预警配置,如果没有配置环路预警则执行器结束,如果有配置则进入步骤94。
步骤94:遍历各个环路节点的预警配置。例如:上面示例中的三个环路节点信息配置。
步骤95:判断当前MQ数据的过滤条件是否满足环路节点的过滤条件。不满足则回到步骤94判断是否满足下一个环路节点的过滤条件;满足则进入下一个判断节点,执行步骤96,判断审核状态。
步骤96:判断审核状态:如果状态为审核完成,则进入判断97,否正拼装监控信息进入步骤99。
判断97:当前流水号的审核时间与进入该审核环节的时间差是否在超时时间范围内,如果则进入步骤98;否则表示该流水号审核时间已经超时,系统已经预警过了。
步骤98:清除预警数据库(例如一种key-value分布式存储系统Redis)中该流水号在当前环节的存储信息。
步骤99:拼装该流水号在当前环节的存储信息,存储在预警数据库(例如Redis)中,用于后面调度中心预警查询使用。
步骤10的数据流方向为环路数据准备执行器→预警数据库,步骤10可以包括:环路预警执行器将需要进行预警判断的数据同步到预警数据库(例如Redis)进行存储,将不需要预警的数据从预警数据库(例如Redis)中清除。
步骤11的数据流方向为调度中心→规则信息数据库,步骤12的数据流方向为调度中心→预警数据库,步骤13的数据流方向为预警数据库→调度中心。
在本公开的一些实施例中,步骤11-步骤13可以包括:调度中心按照每5分钟时间粒度,获取规则信息数据库(例如Mysql)中环路预警配置信息及预警订阅信息,同时获取预警数据库(例如Redis)中当前调度周期下需要预警的缓存数据,进行组装。
例如:当前调度中心启动时间为17:00,则获取Redis中配置预警到期时间为16:55~17:00的数据集合,再进行数据重新组装,即实现每5分钟的批量预警。
步骤14的数据流方向为调度中心→预警通知模块。步骤1可以包括:调度中心将满足预警条件的信息、预警订阅人及预警通知方式配置信息,发送给预警通知模块,预警通知根据所得信息将预警信息发送至订阅人。
本公开上述实施例支持多种预警策略,周期性预警和环路监控预警。
本公开上述实施例可以通过接收消息形式实现对消息队列数据进行实时监控,可以满足分钟级的监控预警需求;本公开上述实施例可以进行有效的预警通知;本公开上述实施例不仅可以实现业务单环节的预警,还可以进行全流程的环路监控预警。
根据本公开的另一方面,提供一种消息队列数据预警系统,可以包括如图4或图6所示的外部消息队列系统和如上述任一实施例(例如图2-4、图6中任一实施例)所述的消息队列数据预警装置。
基于本公开上述实施例提供的消息队列数据预警系统,可以通过接收消息形式实现对消息队列数据进行实时监控,可以满足分钟级的监控预警需求;本公开上述实施例可以进行有效的预警通知;本公开上述实施例不仅可以实现业务单环节的预警,还可以进行全流程的环路监控预警。
根据本公开的另一方面,提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机指令,所述指令被处理器执行时实现如上述任一实施例(例如图2-4、图6中任一实施例)所述的消息队列数据预警方法。
基于本公开上述实施例提供的计算机可读存储介质,可以通过可视化配置的方式完成数据源接入、指标配置、预警配置及预警订阅,根据预警时间设置及调度中心自动完成周期性预警条件判断,并将满足预警信息通过预警通知模块发送用户。本公开上述实施例通过接收消息形式实现基于实时数据的周期性监控预警;本公开上述实施例可以通过可视化配置方式完成预警指标、预计逻辑及订阅配置。本公开上述实施例支持多种预警策略,周期性预警和环路监控预警。
在上面所描述的消息队列数据预警装置可以实现为用于执行本申请所描述功能的通用处理器、可编程逻辑控制器(PLC)、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件或者其任意适当组合。
至此,已经详细描述了本公开。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指示相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
本公开的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本公开限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本公开的原理和实际应用,并且使本领域的普通技术人员能够理解本公开从而设计适于特定用途的带有各种修改的各种实施例。