本发明涉及一种多点组合监测分析方法及系统,尤其涉及一种基于流数据多点组合监测分析方法及系统。
背景技术:
目前网上业务运营实时监测主要从app业务运营和在线客服现场管控两大模块进行综合监测分析,根据不同监测分析需求设计各业务模块的监测场景,随着业务的不断推广及深化,监测场景覆盖的监测点不断增加,现有的监测运营体系未能完全支撑新增的监测点扩展范围,并且对自动识别预警和可是视化展示完成度尚不够成熟,未达到针对监测数据实时处理等效果,无法有效支撑业务运营工作的开展。
在现有运行的网上业务指标监测技术架构主要采用的是传统关系型数据库、消息队列集群等技术形式的架构体系。系统的监测计算的数据来源是网上app用户的运行数据,如用户行为日志、用户办电工单等数据。但是,随着网上app的推广,使用客户数量的激增,监测系统在数据处理能力及维分析上缺乏手段,无法自主识别,自助处理异常监测点数据。
技术实现要素:
发明目的:本发明的第一目的为提供一种缩减了数据获取链路,提高监测数据计算性能、减短计算时间、减轻对oracle数据库的压力的基于流数据多点组合监测分析方法,本发明的第二目的为提供一种基于流数据多点组合监测分析系统。
技术方案:本发明的基于流数据多点组合监测分析方法,包括如下步骤:
(1)使用朴素贝叶斯模型得出的单点监测预警结果;
(2)将单点监测预警结果作为已知的当前状态xt,对metropolis-hasting算法进行迭代,得到多层级联合监测预警计算出的业务系统停顿概率;
(3)通过计算得出的多层级联合监测预警计算出的核心业务异常概率,与业务监测系统中设定的阈值进行比较来决定是否进行预警。
进一步地,步骤(1)具体包括如下步骤:
(a)根据贝叶斯定理确定核心业务异常和某监测对象异常之间的关系;
(b)对单点或人员在异常时的对该单点或人员对应的核心业务异常进行分类;
(c)使用最大后验概率估计单点或人员在异常时的对该单点或人员对应的核心业务异常概率,得到单点监测预警结果。
步骤(a)中,核心业务异常和某监测对象异常之间的关系表达式如下:
其中,y为核心业务异常集合,从x1到xn为某监测对象集合,n为监测对象故障变量,p(y|x1,…xn)为监测对象故障发生后核心业务异常发生的概率,p(y)为核心业务异常发生的概率,p(xi|y)为核心业务异常发生后监测对象故障的发生概率,p(xi,...,xn)为一个已知的常量集合。
步骤(b)中,分类规则如下:
步骤(c)中,使用最大后验概率来估计p(y)和p(xi|y),得到单点或人员在异常时的对该单点或人员对应的核心业务异常概率,从而得到单点监测预警结果。
步骤(2)中,在metropolis-hasting算法中,使用非对称函数。
非对称函数t满足t(x,y)>0的充要条件是t(y,x)>0,其中,x为监测对象,y为核心业务异常集合。
充要条件为业务停顿的发生存在一种情况,并且业务停顿的前提是某一it基础设施、业务系统、服务、人员调配发生了故障或异常预警。
步骤(2)中,迭代具体包括如下步骤:
(a)从历史数据中抽取已知的业务停顿和某一业务异常关系的非对称函数t(xt,y),抽取核心业务异常事件作为“1”,然后进行迭代:
(b)在[0,1]的均匀分布中抽取一个随机数ut,同时获取一个新的业务异常关系xt+1=y;
(c)如果ut满足下面公式:
那么就得到了一个基准值ut,然后在[ut,1]之间继续抽取一个随机数重复上述计算过程,最终不满足
如果第一次ut的取值不满足
本发明的基于流数据多点组合监测分析系统,包括单点监测模块、多层级联合监测模块和预警模块,单点监测模块用于使用朴素贝叶斯模型得出的单点监测预警结果,多层级联合监测模块用于将单点监测预警结果作为已知的当前状态xt,对metropolis-hasting算法进行迭代,得到多层级联合监测预警计算出的业务系统停顿概率,预警模块通过计算得出的多层级联合监测预警计算出的核心业务异常概率,与业务监测系统中设定的阈值进行比较来决定是否进行预警。
业务运营数据实时监测系统架构设计引入大数据的生态圈,形成以分布式流式处理技术、分布式缓存、分布式消息队列为核心的架构形态,在保证数据实时处理的同时,提供以多事件组合形式处理的总体架构,具体见图1。
按照“流计算流处理”设计思路,构建稳定的基于事件触发处理的架构,实现“网上”业务运营数据实时监测分析,实时流处理在保证数据处理的时效性、顺序性的前提下,保持全流程数据触发事件处理的唯一性,实现实时的问题精准定位,具体见图2。
有益效果:与现有技术相比,本发明具有如下显著优点:基于流数据多点组合监测分析方法及系统不仅在数据实时处理能力上有很好的体现,对监测场景设置上体现了很好的扩展性,该架构下目前实时处理指标3441项,测点740万余,处理频率5秒/次,在目前实时监测系统架构体系中实现了数据在线处理、监测对象多点自定义组合监测模式,提高的数据处理分析能力,提升了后台数据运营能力,进一步提高的数据管理水平。
附图说明
图1为本发明的总体技术架构图;
图2为本发明的数据流向技术实现图;
图3为本发明的业务实时监测全景图;
图4为本发明的业务实时监测预警图。
具体实施方式
下面结合实施例对本发明的技术方案作进一步说明。
如图3-图4所示,业务运营数据实时监测系统采用j2ee框架设计和开发,监测预警的算法采用python语言实现,系统采用jython包调用python的.py文件。监测信息的获取都由java程序实现,监测指标及人员等的异常概率由python进行计算,并将计算结果返回给java程序,由java程序进行概率和阈值的比较,进而给出预警信息。
本发明的基于流数据多点组合监测分析方法,包括如下步骤:
(1)使用朴素贝叶斯模型得出的单点监测预警结果;
(2)将单点监测预警结果作为已知的当前状态xt,对metropolis-hasting算法进行迭代,得到多层级联合监测预警计算出的业务系统停顿概率;
(3)通过计算得出的多层级联合监测预警计算出的核心业务异常概率,与业务监测系统中设定的阈值进行比较来决定是否进行预警。
进一步地,步骤(1)具体包括如下步骤:
(a)根据贝叶斯定理确定核心业务异常和某监测对象异常之间的关系;
(b)对单点或人员在异常时的对该单点或人员对应的核心业务异常进行分类;
(c)使用最大后验概率估计单点或人员在异常时的对该单点或人员对应的核心业务异常概率,得到单点监测预警结果。
步骤(a)中,核心业务异常和某监测对象异常之间的关系表达式如下:
其中,y为核心业务异常集合,从x1到xn为某监测对象集合,n为监测对象故障变量,p(y|x1,...,xn)为监测对象故障发生后核心业务异常发生的概率,p(y)为核心业务异常发生的概率,p(xi|y)为核心业务异常发生后监测对象故障的发生概率,p(xi,...,xn)为一个已知的常量集合。
步骤(b)中,分类规则如下:
步骤(c)中,使用最大后验概率来估计p(y)和p(xi|y),得到单点或人员在异常时的对该单点或人员对应的核心业务异常概率,从而得到单点监测预警结果。
步骤(2)中,在metropolis-hasting算法中,存在一个非对称函数t。
t满足t(x,y)>0的充要条件是t(y,x)>0,其中,x为监测对象,y为核心业务异常集合。
充要条件为业务停顿的发生存在一种情况,并且业务停顿的前提是某一it基础设施、业务系统、服务、人员调配发生了故障或异常预警。
步骤(2)中,迭代具体包括如下步骤:
(a)从历史数据中抽取已知的业务停顿和某一异常的关系t(xt,y),抽取核心业务异常事件作为“1”,然后进行迭代:
(b)在[0,1]的均匀分布中抽取一个随机数ut,同时获取一个新的业务异常关系xt+1=y;
(c)如果ut满足下面公式:
那么就得到了一个基准值ut,然后在[ut,1]之间继续抽取一个随机数重复上述计算过程,最终不满足
如果第一次ut的取值不满足
本发明的基于流数据多点组合监测分析系统,包括单点监测模块、多层级联合监测模块和预警模块,单点监测模块用于使用朴素贝叶斯模型得出的单点监测预警结果,多层级联合监测模块用于将单点监测预警结果作为已知的当前状态xt,对metropolis-hasting算法进行迭代,得到多层级联合监测预警计算出的业务系统停顿概率,预警模块通过计算得出的多层级联合监测预警计算出的核心业务异常概率,与业务监测系统中设定的阈值进行比较来决定是否进行预警。