一种基于人工免疫的云服务异常检测方法技术

技术编号:11309112 阅读:109 留言:0更新日期:2015-04-16 05:13
本发明专利技术公开了一种基于人工免疫的云服务异常检测方法,包括以下步骤:为系统中的每一个服务分配一个监控器(淋巴细胞)Si,读取该服务的服务起源日志;根据服务起源日志9元组,计算3个危险信号源随时间变化曲线,所述危险信号源包括调用次数,耗时和异常率,每个监控器实时监控服务的运行状态,进行危险信号表达;根据危险信号的表达和触发条件,进行危险信号的触发;针对发出危险信号的服务,计算危险程度,进行危险信号的判定。本发明专利技术借鉴人工免疫识别异常的生物学过程,设计云服务危险信号的产生、危险区域划分以及危险的判定、计算和演化,实现云服务的行为的异常检测,为云服务的安全管理、入侵检测、资源优化提供依据。

【技术实现步骤摘要】
一种基于人工免疫的云服务异常检测方法
本专利技术涉及云服务
,尤其涉及一种基于人工免疫的云服务异常检测方法。
技术介绍
由于用户需求的多样性,导致云服务的多样性。云服务通过动态组合满足不同用户的需要,这就导致云服务调用频率、资源占用、耗时等出现不同的形态特征,难以用单一、静态的指标去检测异常。以调用频率为例,热门服务的调用频率可以达到成百上千次每秒,而冷门服务可能几个小时也没有1次调用,可以说每个服务存在不同的运行模式。云服务行为特征不是固定不变的,而是伴随用户行为演化。从服务的个体视角看,服务的运行频率、耗时等特征模式随着用户行为特征演化,从服务流程上看,服务的动态组合网络、服务执行路径及其相关特征也随着用户群体特征演化。专利《一种云服务起源数据的捕获方法和装置》(公开号:104092755A)公开了云服务行为数据的捕获方法,但如何从捕获海量的云服务行为数据发现异常是一个挑战,由于服务行为的不确定性,不能通过一个简单的静态模型去描述,需要设计一个动态、自适应的方法去发现异常。另外,服务行为数据庞大,以1000个热门服务为例,如果平均每秒钟调用1次,则每天将产生近亿条行为记录数据。本专利技术通过引入人工免疫识别异常的生物学方法,设计云服务危险信号的产生、危险区域划分以及危险的判定、计算和演化,实现云服务的行为的异常检测,为云服务的安全管理、入侵检测、资源优化提供依据。
技术实现思路
本专利技术要解决的技术问题在于针对现有技术中的缺陷,提供一种基于人工免疫的云服务异常检测方法。本专利技术解决其技术问题所采用的技术方案是:一种基于人工免疫的云服务异常检测方法,包括以下步骤:1)对捕获的云服务行为数据进行危险信号表达,具体包括:1.1)为系统中的每一个服务分配一个监控器(淋巴细胞)Si,读取该服务的服务起源日志;1.2)根据服务起源日志9元组,即BasicProv(token,InvokingService,ServiceInvoked,location,elapsedtime,timestamp,input,output,status),计算3个危险信号源随时间变化曲线,所述危险信号源包括调用次数,耗时和异常率,其中调用次数-时间曲线通过(invokingService,time)计算,耗时时间曲线通过(invokingService,elapsedtime,time)计算得到,异常率通过(invokingService,status,time)计算得到;1.3)每个监控器实时监控服务的运行状态,进行危险信号表达;1.4)根据危险信号的表达和触发条件,进行危险信号的触发;所述危险信号的触发条件具体为:若为单个服务,触发有两个条件,一是如果调用次数、耗时和异常率任一数值大于阈值,则触发危险信号Di(type:count,elapsedtime,exception),其中i为服务编号,type描述了危险型号的类型;所述危险型号的类型为:频率异常、耗时异常和状态异常;所述阈值根据系统正常时,调用次数、耗时和异常率的平均值动态设置;二是计算调用次数、耗时和异常率3个指标的变化率,若超过设定变化阈值则触发危险信号;具体如下:记录每一个服务在某一时刻点T的耗时为t,频率f以及异常率w,再记录在下一时刻点T’时这三个变量的变化记为t’,f’,w’;通过变化率对危险信号进行计算;那么记△F(t)=F(t’)-F(t),△F(f)=F(f’)-F(f),△F(w)=F(w’)-F(w),以及时刻的变化△T=T’-T,进而求出在这短暂的时刻这三个变量的变化率分别为△F(t)/△T,△F(f)/△T,△F(w)/△T;对计算后的值与上一步骤中获取的阈值进行比较,如果大于此阈值则判断为危险信号,那么在第一步中为每个服务分配的监控器(淋巴细胞)Si将会报警并对这个异常进行处理。危险信号的阈值分为两个部分,一个是为对应每个服务的调用次数、耗时和异常率的阈值,该阈值通过一个4元组进行存储,(serviceName,threshold_count,threshold_elapsed,threshold_exception)分别表示(服务名,调用次数阈值,耗时阈值,异常率阈值)该阈值不是全局统一值,而是针对每个服务进行设定,初始值来源于单位时间的平均值。危险信号另外一个阈值为变化率阈值,体现服务瞬时变化情况,变化率阈值的初始值可以根据实际需要由人工进行设定。(1.5)危险信号的判定:针对发出危险信号的服务以及危险区域,计算危险程度,进行危险信号的判定,详细的步骤如下:1.5.1借鉴细胞克隆增殖的过程,针对发出危险信号的服务及其区域,分配更多的计算资源,查询近期的所有服务起源日志,计算服务的特征变化;1.5.2在具体计算服务的特征的时候,构建调用次数-时间Count-time,耗时-时间特征elapse-time曲线,通过夹角余弦的方式进行计算,小于设定的阈值时候,判断服务行为发生了较大的改变;1.5.3当调用次数-时间Count-time,耗时-时间特征elapse-time曲线的行为特征都发生较大改变时候,判定产生了异常。按上述方案,所述危险信号触发还包括危险区域的信号触发:若当发现某个服务异常,可以通过查询服务依赖路径,获得危险区域;如果该服务有多个依赖路径,可以根据耗时参数,采用贪心算法对执行路径的耗时进行排序,获得一个或多个危险区域。按上述方案,所述查询服务依赖路径是以该服务为起点,通过遍历算法查询服务依赖路径。按上述方案,为了有效的限制危险区域的范围,在查询过程中,可以定义依赖服务的路径的长度,可以设置路径的长度为数值3-5,或者根据实际情况进行调整。本专利技术产生的有益效果是:本专利技术借鉴人工免疫识别异常的生物学过程,设计云服务危险信号的产生、危险区域划分以及危险的判定、计算和演化,实现云服务的行为的异常检测,为云服务的安全管理、入侵检测、资源优化提供依据。附图说明下面将结合附图及实施例对本专利技术作进一步说明,附图中:图1是本专利技术实施例的方法流程图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。如图1所示,一种基于人工免疫的云服务异常检测方法,包括以下步骤:1)对捕获的云服务行为数据进行危险信号表达,具体包括:1.1)为系统中的每一个服务分配一个监控器(淋巴细胞)Si,读取该服务的服务起源日志;1.2)根据服务起源日志9元组,即BasicProv(token,InvokingService,ServiceInvoked,location,elapsedtime,timestamp,input,output,status),计算3个危险信号源随时间变化曲线,所述危险信号源包括调用次数,耗时和异常率,其中调用次数-时间曲线通过(invokingService,time)计算,耗时时间曲线通过(invokingService,elapsedtime,time)计算得到,异常率通过(invokingService,status,time)计算得到;1.3)每个监控器实时监控服务的运行状态,进行危险信号表达;2)根据危本文档来自技高网...
一种基于人工免疫的云服务异常检测方法

【技术保护点】
一种基于人工免疫的云服务异常检测方法,包括以下步骤:1)对捕获的云服务行为数据进行危险信号表达,具体包括:1.1)为系统中的每一个服务分配一个监控器(淋巴细胞)Si,读取该服务的服务起源日志;1.2)根据服务起源日志9元组,即BasicProv(token,InvokingService,ServiceInvoked,location,elapsed time,timestamp,input,output,status),计算3个危险信号源随时间变化曲线,所述危险信号源包括调用次数,耗时和异常率,其中调用次数‑时间曲线通过(invokingService,time)计算,耗时时间曲线通过(invokingService,elapsed time,time)计算得到,异常率通过(invokingService,status,time)计算得到;1.3)每个监控器实时监控服务的运行状态,进行危险信号表达;2)根据危险信号的表达和触发条件,进行危险信号的触发;所述危险信号的触发条件具体为:若为单个服务,触发有两个条件:一是如果调用次数、耗时和异常率任一数值大于阈值,则触发危险信号Di(type:count,elapsed time,exception),其中i为服务编号,type描述了危险型号的类型;所述危险型号的类型为:频率异常、耗时异常和状态异常;所述阈值根据系统正常时,调用次数、耗时和异常率的平均值动态设置;二是计算调用次数、耗时和异常率3个指标的变化率,若超过设定变化阈值则触发危险信号;具体如下:记录每一个服务在某一时刻点T的耗时为t,频率f以及异常率w,再记录在下一时刻点T’时这三个变量的变化记为t’,f’,w’;通过变化率对危险信号进行计算;那么记△F(t)=F(t’)‑F(t),△F(f)=F(f’)‑F(f),△F(w)=F(w’)‑F(w),以及时刻的变化△T=T’‑T,进而求出在这短暂的时刻这三个变量的变化率分别为△F(t)/△T,△F(f)/△T,△F(w)/△T;对计算后的值与上一步骤中获取的阈值进行比较,如果大于此阈值则判断为危险信号,那么在第一步中为每个服务分配的监控器(淋巴细胞)Si将会报警并对这个异常进行处理。3)危险信号的判定:针对发出危险信号的服务,计算危险程度,进行危险信号的判定,详细的步骤如下:3.1)借鉴细胞克隆增殖的过程,针对发出危险信号的服务及其区域,分配更多的计算资源,查询近期的所有服务起源日志,计算服务的特征变化;3.2)在具体计算服务的特征的时候,构建调用次数‑时间Count‑time,耗时‑时间特征elapse‑time曲线,通过夹角余弦的方式进行计算,小于设定的阈值时候,判断服务行为发生了较大的改变;3.3)当调用次数‑时间Count‑time,耗时‑时间特征elapse‑time曲线的行为特征都发生较大改变时候,判定产生了异常。...

【技术特征摘要】
1.一种基于人工免疫的云服务异常检测方法,包括以下步骤:1)对捕获的云服务行为数据进行危险信号表达,具体包括:1.1)为系统中的每一个服务分配一个监控器Si,读取该服务的服务起源日志;1.2)根据服务起源日志9元组,即BasicProv(token,InvokingService,ServiceInvoked,location,elapsedtime,timestamp,input,output,status),计算3个危险信号源随时间变化曲线,所述危险信号源包括调用次数,耗时和异常率,其中调用次数-时间曲线通过(invokingService,time)计算,耗时时间曲线通过(invokingService,elapsedtime,time)计算得到,异常率通过(invokingService,status,time)计算得到;1.3)每个监控器实时监控服务的运行状态,进行危险信号表达;2)根据危险信号的表达和触发条件,进行危险信号的触发;所述危险信号的触发条件具体为:若为单个服务,触发有两个条件:一是如果调用次数、耗时和异常率任一数值大于阈值,则触发危险信号Di(type:count,elapsedtime,exception),其中i为服务编号,type描述了危险型号的类型;所述危险型号的类型为:频率异常、耗时异常和状态异常;所述阈值根据系统正常时,调用次数、耗时和异常率的平均值动态设置;二是计算调用次数、耗时和异常率3个指标的变化率,若超过设定变化阈值则触发危险信号;具体如下:记录每一个服务在某一时刻点T的耗时为t,频率f以及异常率w,再记录在下一时刻点T’时这三个变量的变化记为t’,f’,w’;通过变化率对危险信号进行计算;那么记△F(t)=F(t’)-F(...

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

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

1