基于危险理论的分布式服务的异常检测模型与方法技术

技术编号:12671632 阅读:67 留言:0更新日期:2016-01-07 16:41
本发明专利技术公开了一种基于危险理论的分布式服务的异常检测模型与方法,模型包括:危险信号表征模块,用于实时监测每一个分布式服务的变化情况,将变化情况绘制成变化曲线;危险信号提取模块,用于根据特征点将这些点作为基础点构造特征三元组实时监测每个服务的运行状态,若实时数据所构造的特征三元组超出了历史数据所构造的特征三元组,则认为该服务有可能存在潜在的危险,即为异常源;所述特征点是变化曲线趋势发生变化的关键点;危险区域计算模块,用于当发现某个服务S出现异常后,计算该服务的危险区域。本发明专利技术提出的基于危险理论的分布式服务异常检测模型能够有效的发现异常源并能检测出与异常源相关的依赖路径,提高服务异常检测的效率。

【技术实现步骤摘要】

本专利技术涉及计算机技术,尤其涉及一种基于危险理论的分布式服务的异常检测模 型与方法。
技术介绍
随着移动互联网、020(online to offline)的兴起,越来越多的移动应用、互联 网应用聚集了海量的用户,为了响应大量用户的请求,以腾讯、Twitter为代表的互联网公 司采用分布式服务提高服务能力、提升并发处理性能。以Twitter为例,Twitter部署了约 2000个分布式服务,这些服务符合SOA (service-oriented architecture)规范,通过动态 组合满足不同用户的需要。与此同时,这样就形成了复杂的组合及引用关系,给分布式环境 下的服务异常检测带来了困难。 不同于传统的服务异常检测即关注单个服务的行为,分布式服务的异常检测需要 根据服务的组合关系发现整体的异常。由于大量用户请求导致的服务海量行为数据,以及 服务组合本身的不确定性给服务异常检测带来了挑战: 1.服务与服务之间的行为时时刻刻都在变化,存在着不确定性,因此难以用简单 的静态模型去描述; 2.服务与服务之间的行为是动态组合的、相互连接的,它们之间存在着依赖关系, 因此很难通过单一的服务状态来检测整个分布式服务的异常状态; 3.海量的服务行为数据,给分布式服务的异常检测的效率带来极大的挑战。 分布式服务是解决海量用户服务的有效方法,但同时由于服务的动态组合导致 了服务的不确定性,因此增加了服务异常检测的难度。本文提出了基于危险理论的一 种动态的方法去检测分布式服务异常。在专利"基于服务起源的云服务监控方法和装 置"(【申请号】2014105550671)中详细的阐述了分布式服务的行为捕获方法,该专利通过 一个服务起源日志9元组描述服务的动态行为,即(token, Invoking Service, Service Invoked, location, elapsed time, times tamp, input, output, status) 〇 本文使用专利中 的服务行为采集方法,并将该9元组作为模型的输入数据,重点是通过引入危险理论,建立 分布式服务的异常检测模型。
技术实现思路
本专利技术要解决的技术问题在于针对现有技术中的缺陷,提供一种基于危险理论的 分布式服务的异常检测模型与方法。 本专利技术解决其技术问题所采用的技术方案是:一种基于危险理论的分布式服务的 异常检测模型,包括: 危险信号表征模块,用于实时监测每一个分布式服务的变化情况,将变化情况绘 制成变化曲线;所述实时监测的监测指标来自服务起源日志九元组,所述变化情况包括调 用次数的变化和耗时的变化; 危险信号提取模块,用于根据特征点将这些点作为基础点构造特征三元组实时监 测每个服务的运行状态,若实时数据所构造的特征三元组超出了历史数据所构造的特征三 元组,则认为该服务有可能存在潜在的危险,即为异常源;所述特征点是变化曲线趋势发生 变化的关键点; 所述特征三元组定义为W (xj left, f (xj,f (x^right},其中f(Xi)表示特 征点;f' (Xi)left表示了特征点左边曲线的趋势,f (x^right表示特征点右边曲线的 趋势; 危险区域计算模块,用于当发现某个服务S出现异常后,计算该服务的危险区域。 按上述方案,所述危险信号表征模块中为分布式服务中每一个服务分配一个监控 器实时监测每一个分布式服务的变化情况。 按上述方案,所述危险区域计算模块中计算该服务的危险区域采用以下方法,首 先判断与服务S相连的服务的个数t ; 若该数值t小于阈值,那么选用基于DCA的信号融合的方法输出危险区域,具体步 骤如下: (i)假设在某个时间点T,发现异常源S,首先建立与服务S相连的服务Si之间的 人工APC,并在人工APC上装载多个TRLs受体,捕捉它们之间的调用次数和平均耗时并进行 融合; (ii)采集T时间点所有服务S与服务Si之间的IS和ES(i = 1,2, 3..)以及服务S的调用总次数SIS和总耗时SES,将IS和ES进行融合,并计算浓度值 _同 9 理,将SIS和SES也进行融合得到总浓度值C,其中a和b分别为这两个输入信号的权重; (iii)通过计算异常系数u来确定两个服务之间的依赖路径是否会产生危险,其 中 (iv)重复步骤⑴~(iii),再次对与服务Si相连的服务Sj进行融合,进行剪枝 操作(j = 1,2, 3..); 其中,人工APC :即人工抗原提呈细胞,该细胞的功能是接收信号的独立单元; 人工TRLs受体:该受体的主要功能是捕捉并融合信号,信号由服务的调用次数和 平均耗时共同组成; Invoking signal :记作IS,假设在某个时间段T内发现异常源S,在此时间段内服 务S调用服务Si的次数就称为IS ; Elapsed time signal :记作ES,假设在某个时间段T内发现异常源S,在此时间段 内,服务S调用服务Si的次数除以时间T即为平均耗时ES ; 若该数值t大于阈值,采用云模型的方法输出危险区域,具体步骤如下: (1)构造服务S的状态云以及与该服务相连的服务的状态云; (2)计算S的状态云:假设与服务S相连的服务有η个,把每个相连的服务看成 一个云滴,即有η个云滴,S与每个云滴的调用次数看作是该云滴的确定度,记作Ni(i = 1,2, 3. ... η),首先通过Ni计算调用次数的均值Ex,然后通过均值可得熵En和超熵He,三 个数字特征值即可确定一个状态云,记状态云S (Ex,En,He); (3)通过步骤2的方法计算出与S相连的η个服务的状态云Si (Ex;, Erii, He;) (i = 1,2,3. ... n); (4)计算Si相对于S的隶属度:通过云模型构造 S与Si的状态云并计算它们之 间的隶属度μ, 若隶属度越大,说明两个服务的变化越相似,那么这两个服务之间越不容易出现 异常,反之如果隶属度小于设定阈值则说明这两个服务存在着较大的差异,那么越容易出 现异常,则将此路径作为危险路径并入危险区域; (5)重复步骤2和3,构造与Si相连的服务的状态云,计算它们之间的隶属度,直 到没有危险路径; (6)将所有的危险路径汇总构造出危险区域。 一种基于危险理论的分布式服务的异常检测方法,包括以下步骤: 1)危险信号表征:实时监测每一个分布式服务的变化情况,将变化情况绘制成变 化曲线;所述实时监测的监测指标来自服务起源日志九元组,所述变化情况包括调用次数 的变化和耗时的变化; 2)危险信号提取:根据特征点将这些点作为基础点构造特征三元组实时监测每 个服务的运行状态,若实时数据所构造的特征三元组超出了历史数据所构造的特征三元 组,则认为该服务有可能存在潜在的危险,即为异常源;所述特征点是变化曲线趋势发生变 化的关键点; 所述特征三元组定义为W (xj left, f (xj,f (xjright},其中f(Xi)表示特 征点;f' (Xi)left表示了特征点左边曲线的趋势,f (x^right表示特征点右边曲线的 趋势; 3)危险区域计算:当发现某个服务S出现异常后,计算该服务的危险区域。 按上述方案,所述步骤1)中为分布式服务中每一个服务分配一个监控器实时监当本文档来自技高网
...

【技术保护点】
一种基于危险理论的分布式服务的异常检测模型,其特征在于,包括:危险信号表征模块,用于实时监测每一个分布式服务的变化情况,将变化情况绘制成变化曲线;所述实时监测的监测指标来自服务起源日志九元组,所述变化情况包括调用次数的变化和耗时的变化;危险信号提取模块,用于根据特征点将这些点作为基础点构造特征三元组实时监测每个服务的运行状态,若实时数据所构造的特征三元组超出了历史数据所构造的特征三元组,则认为该服务有可能存在潜在的危险,即为异常源;所述特征点是变化曲线趋势发生变化的关键点;所述特征三元组定义为{f′(xi)left,f(xi),f′(xi)right},其中f(xi)表示特征点;f′(xi)left表示了特征点左边曲线的趋势,f′(xi)right表示特征点右边曲线的趋势;危险区域计算模块,用于当发现某个服务S出现异常后,计算该服务的危险区域。

【技术特征摘要】

【专利技术属性】
技术研发人员:李涛李锦民
申请(专利权)人:武汉科技大学
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1