异常流量的检测方法、装置、计算机设备及存储介质与流程

文档序号:18329004发布日期:2019-08-03 11:48阅读:155来源:国知局
异常流量的检测方法、装置、计算机设备及存储介质与流程
本发明涉及软件监控
技术领域
,尤其涉及一种异常流量的检测方法、装置、计算机设备及存储介质。
背景技术
:在应对数量巨大的用户群体时,为了保证网站的服务端的服务器能够正常运行,为用户提供正常的访问服务,则需要对服务端的网络流量的异常情况进行监控,以便及时发现并解决服务端的异常问题,以免异常问题的扩大化,造成更大的损失,因此,对于服务端的网络流量状态的监控是必不可少的运维项目。目前,针对服务端的网络流量数据,主要是通过在监控系统中设置告警阈值进行预警的方式进行监控,例如,在监测点设置采集端,定期将流量数据收集并反馈至监控系统,若收集的网络流量数据超过该告警阈值,监控系统则发送告警提示给相关的运维人员。但是,监控系统的告警阈值一般是根据历史经验进行设置,根据历史经验设置的告警阈值的准确度不高,并且在到达告警阈值时,亦不能说明目前已影响到服务器正常运行,容易造成误判,因此,现有的网络流量监控方法中异常流量的检测准确率不高,导致不必要的告警邮件的发送,给工作人员增加工作负担。技术实现要素:本发明实施例中提供一种异常流量的检测方法、装置、计算机设备及存储介质,以解决目前服务器的网络流量异常检测的准确率低的问题。一种异常流量的检测方法,包括:从预设的流量信息库中获取监控对象的历史流量数据,并对所述历史流量数据进行筛选处理,获取目标流量数据;对所述目标流量数据进行回归分析,建立流量预测模型;使用所述流量预测模型对所述监控对象的流量数据进行预测,获取在预设时间段内所述监控对象的流量数据的预测结果;按照预设的统计方式对所述预测结果进行统计分析,得到所述监控对象的流量告警阈值;获取所述监控对象的实时流量数据;若所述实时流量数据大于所述流量告警阈值,则从预设的日志库中,获取所述监控对象的实时访问日志,其中,所述实时访问日志包括访问请求和所述访问请求的响应时间;若所述实时访问日志的所述响应时间大于预设的响应时间阈值,则进行异常流量告警。一种异常流量的检测装置,包括:样本筛选模块,用于从预设的流量信息库中获取监控对象的历史流量数据,并对所述历史流量数据进行筛选处理,获取目标流量数据;模型构建模块,用于对所述目标流量数据进行回归分析,建立流量预测模型;流量预测模块,用于使用所述流量预测模型对所述监控对象的流量数据进行预测,获取在预设时间段内所述监控对象的流量数据的预测结果;阈值设置模块,用于按照预设的统计方式对所述预测结果进行统计分析,得到所述监控对象的流量告警阈值;流量采集模块,用于获取所述监控对象的实时流量数据;日志查询模块,用于若所述实时流量数据大于所述流量告警阈值,则从预设的日志库中,获取所述监控对象的实时访问日志,其中,所述实时访问日志包括访问请求和所述访问请求的响应时间;异常告警模块,用于若所述实时访问日志的所述响应时间大于预设的响应时间阈值,则进行异常流量告警。一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述异常流量的检测方法的步骤。一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述异常流量的检测方法的步骤。上述异常流量的检测方法、装置、计算机设备及存储介质,通过对监控对象的历史流量数据进行筛选处理,获取目标流量数据,将异常的流量数据删除,得到监控对象在正常状态下的历史流量数据,并对目标流量数据进行回归分析,建立流量预测模型,使用流量预测模型对监控对象的流量数据进行预测,获取在预设时间段内监控对象的流量数据的预测结果,使得工作人员掌握能够掌握监控对象在未来的时间段内的流量数据的变化趋势,按照预设的统计方式对预测结果进行统计分析,得到监控对象的流量告警阈值,使得告警阈值的设置规范化,提高告警阈值的准确度,从而能够提高异常流量检测的准确率,同时,当监控对象的实时流量数据大于流量告警阈值时,进一步获取监控对象的实时访问日志,使用实时访问日志中的响应时间与预设的响应时间阈值进行进一步地对比,当响应时间大于预设的响应时间阈值时,进行异常流量告警,从而通过使用实时响应时间与响应时间阈值对比分析,排除因瞬时流量突变而出现的误告警情况,进一步提高异常流量检测的准确率。附图说明为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本发明一实施例中异常流量的检测方法的一应用环境示意图;图2是本发明一实施例中异常流量的检测方法的一流程图;图3是本发明实施例中异常流量的检测方法中对实时流量数据和预测流量数据进行对比的一具体流程图;图4是本发明实施例中异常流量的检测方法中对历史流量数据进行筛选的一具体流程图;图5是本发明实施例中异常流量的检测方法中确定响应时间阈值的一具体流程图;图6是本发明实施例中异常流量的检测方法中计算响应时间阈值的一具体流程图;图7是本发明一实施例中异常流量的检测装置的一原理框图;图8是本发明一实施例中计算机设备的一示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本申请实施例提供的异常流量的检测方法,可应用在如图1的应用环境中,该应用环境包括监控对象、监控端和服务端,其中,监控端和监控对象之间通过网络进行连接,服务端和监控端之间通过网络进行连接。监控端对监控对象进行监控,服务端从监控端获取历史流量数据进行统计分析,设置流量告警阈值,并根据监控端监控到的实时流量数据和监控对象的请求响应时间进行异常流量告警检测。该监控对象具体可以是独立的服务器或者多个服务器组成的服务器集群,监控端具体可以但不限于是各种个人计算机、笔记本电脑、智能手机和平板电脑,服务端具体可以用独立的服务器或者多个服务器组成的服务器集群实现。本发明实施例提供异常流量的检测方法应用于服务端。在一实施例中,图2示出本实施例中异常流量的检测方法的一流程图,该方法应用在图1中的服务端,用于对监控对象的异常流量进行检测和告警。如图2所示,该异常流量的检测方法包括步骤s10至步骤s70,详述如下:s10:从预设的流量信息库中获取监控对象的历史流量数据,并对历史流量数据进行筛选处理,获取目标流量数据。在本实施例中,监控对象是网站用于提供访问服务的服务器或者服务器集群,服务器集群是指服务商使用多个服务器集中进行同一种服务的方式,预设的流量信息库是服务端预先设置用于存储监控到的网络流量数据的数据库,网络流量是单位时间内服务器被请求访问的次数。具体地,服务端可以使用ganglia或者zabbix等监控工具对监控对象进行监控,服务端预先使用监控工具对监控对象的网络流量进行监控,并将监控得到的网络流量数据存储到预设的流量信息库中,得到历史流量数据,该历史流量数据包括服务器标识、监控时间和测量值,服务端可以从预设的流量信息库中获取监控对象的历史流量数据。其中,ganglia是一个开源的集群监视项目,可以用于监测大量监控节点的工作状态,zabbix是一个基于web界面的提供分布式系统监视以及网络监视功能的企业级的开源项目。可选地,服务端可以通过查询监控对象已出现的异常流量问题,并确定该异常流量问题对应的历史流量数据,对历史流量数据进行筛选处理,过滤掉出现异常流量问题的历史流量数据,获取监控对象在正常状态下的提供的访问服务对应的历史流量数据作为目标流量数据。s20:对目标流量数据进行回归分析,建立流量预测模型。在本实施例中,服务端使用回归算法对目标流量数据进行回归分析,该回归算法是对数据样本进行回归分析,获取样本数据中的变量之间的相互依赖的定量关系的一种统计分析方法,回归算法包括线性回归算法和非线性回归算法。优选地,服务端根据目标流量数据的分布特征,将目标流量数据的监控时间作为自变量,测量值作为因变量,使用线性回归算法对目标流量数据进行回归分析,确定目标流量数据中的监控时间和测量值之间的依赖关系,得到自变量与因变量之间的变量关系系数k,以及调节因子b,从而拟合得到网络流量数据的曲线符合线性关系函数yt≈kt+b,将拟合得到的线性关系函数作为流量预测模型,即流量预测模型为:yt=kt+b,其中,yt为时间t的网络流量数据,t为时间,k为变量关系系数,b为调节因子,k和b均为常数。s30:使用流量预测模型对监控对象的流量数据进行预测,获取在预设时间段内监控对象的流量数据的预测结果。其中,预设时间段是在服务端预先设置的一个时间范围,该预设时间段可以设置为一天,也可以设置为一个星期,具体可以根据实际应用的需要进行设置,此处不做限制。具体地,使用流量预测模型对监控对象的网络流量数据进行预测,能够得到时间与网络流量数据对应的预测结果,该预测结果包括在预设时间段内的预测流量数据。可选地,预设时间段可以设置为过去的时间段,流量预测模型可以预测出在预设时间段内监控对象的流量数据的预测结果,使用历史流量数据与预测结果进行对比分析,从而可以对流量预测模型的模型参数进行调节,提高流量预测模型对监控对象的网络流量数据的预测准确度。可选地,预设时间段可以设置为未来的时间段,流量预测模型可以预测出未来的时间段内监控对象的网络流量数据的变化趋势,使得相关工作人员能够清楚地了解到,在未来时间段内,监控对象在正常状态下提供的访问服务对应的网络流量数据,若监控到的实时网络流量数据与预测结果中的偏差较大,则表示监控对象的网络流量数据可能出现异常问题。s40:按照预设的统计方式对预测结果进行统计分析,得到监控对象的流量告警阈值。在本实施例中,预设的统计方式是预先设置的一种数学统计方法,用于对流量预测模型的预测结果进行统计分析,从而计算得到告警阈值,使得告警阈值设置的准确性更高。可选地,服务端可以采用泊松分布的统计方法对预测结果进行统计分析,得到监控对象的流量告警阈值。具体地,泊松分布的统计方法是用于描述单位时间内监控对象的网络流量数据的离散概率分布,该单位时间具体可以是一秒钟,也可以是一分钟,但并不限于此,此处不做限制。根据步骤s30得到的预测结果中的预测流量数据,按照公式(1)计算网络流量数据的泊松分布的概率:其中,p(yt)为网络流量数据的概率,yt为预测结果中的时间t的网络流量数据,λ为预测结果中的预测流量数据,λ=yt。同时,按照公式(2)计算网络流量数据小于流量告警阈值的概率:其中,p(yt≤c)为网络流量数据小于流量告警阈值的概率,c为流量告警阈值,v为网络流量数据,p(v,λ)是预测流量数据λ中网络流量数据为v的概率,v≤λ。值得注意的是,当网络流量数据较大时,泊松分布服从正态分布,正态分布是指网络流量数据的离散分布曲线属于两边低,并且中间高的钟形曲线,正态分布的表达式为:n(μ,σ^2),其中,μ为网络流量数据的数学期望,σ^2为网络流量数据的方差。优选地,当μ=σ^2=λ时,将μ=σ^2=λ输入公式(1)中,计算得到p(yt)的值,将p(yt)的值赋予p(yt≤c)输入公式(2)中,求出c的值,并将计算得到的c值作为监控对象的流量告警阈值。s50:获取监控对象的实时流量数据。具体地,实时流量数据是指监控对象的实时访问流量的数据,服务端可以通过监控工具对监控对象的实时流量数据进行采集,得到包括服务器标识、监控时间和测量值的实时流量数据。s60:若实时流量数据大于流量告警阈值,则从预设的日志库中,获取监控对象的实时访问日志,其中,该实时访问日志包括访问请求和访问请求的响应时间。在本实施例中,预设的日志库是用于存储监控对象的访问日志的数据库,访问日志包括但不限于访问请求和访问请求的响应时间,访问请求是指用户向监控对象提交的请求内容,响应时间是指监控对象从接收访问请求到完成请求内容的响应所消耗的时长。具体地,服务端若检测到实时流量数据大于流量告警阈值,则表示监控对象可能存在网络流量出现异常的情况,服务端从预设的日志库中检索监控对象的实时访问日志,获取与实时流量数据处于同一时间点的实时访问日志,对监控对象的服务状态进行进一步地分析,以便确认在实时流量数据超过告警阈值的情况下,监控对象是否还能够提供正常的访问服务。s70:若实时访问日志的响应时间大于预设的响应时间阈值,则进行异常流量告警。具体地,若实时访问日志的响应时间大于预设的响应时间阈值,则确认监控对象的网络流量出现异常情况,根据实时流量数据生成告警信息,将告警信息发送到相关工作人员的信息接收地址中,发出异常流量告警信息,以使工作人员根据实时流量数据中的服务器标识,确定监控对象中出现异常流量的服务器,并且能够根据实时流量数据中的测量值进行问题定位,其中,该信息接收地址可以是邮件接收地址,也可以是短信接收地址,具体可以根据实际情况的需要进行设置,此处不做限制。需要说明的是,若实时访问日志的响应时间不大于预设的响应时间阈值,则表示监控对象仍能为用户的访问请求提供正常的访问服务,此时可能是由于瞬时流量突变而出现的误告警情况,并且不做异常流量告警处理,减少告警信息的误告率。在图2对应的实施例中,通过对监控对象的历史流量数据进行筛选处理,获取目标流量数据,将异常的流量数据删除,得到监控对象在正常状态下的历史流量数据,并对目标流量数据进行回归分析,建立流量预测模型,使用流量预测模型对监控对象的流量数据进行预测,获取在预设时间段内监控对象的流量数据的预测结果,使得工作人员掌握能够掌握监控对象在未来的时间段内的流量数据的变化趋势,按照预设的统计方式对预测结果进行统计分析,得到监控对象的流量告警阈值,使得告警阈值的设置规范化,提高告警阈值的准确度,从而能够提高异常流量检测的准确率,同时,当监控对象的实时流量数据大于流量告警阈值时,进一步获取监控对象的实时访问日志,使用实时访问日志中的响应时间与预设的响应时间阈值进行进一步地对比,当响应时间大于预设的响应时间阈值时,进行异常流量告警,从而通过使用实时响应时间与响应时间阈值对比分析,排除因瞬时流量突变而出现的误告警情况,进一步提高异常流量检测的准确率。在一实施例中,如图3所示,在步骤s50之后,即在获取监控对象的实时流量数据之后,异常流量的检测方法还包括:s51:根据实时流量数据的获取时间,从预测结果中,获取与实时流量数据对应的预测流量数据。在本实施例中,实时流量数据包括服务器标识、监控时间和测量值,服务端实时通过监控工具获取监控对象的实时流量数据,因此,实时流量数据的获取时间即为实时流量数据中的监控时间。具体地,预测结果是预先使用流量预测模型对监控对象的未来时间段的网络流量进行预测得到的结果,根据实时流量数据的获取时间,从预测结果中,获取与实时流量数据处于同一时间点的预测流量数据。s52:计算实时流量数据与预测流量数据之间的偏差值。具体地,偏差值是指实时流量数据与预测流量数据之间的差值的绝对值,例如,在预测结果中,5月1号8:00到8:10对应的预测流量数据为5000次访问量,而在在5月1号8:00到8:10分这个时间段内,使用监控工具监控得到的实时流量数据为5800次访问量,通过使用实时流量数据和预测流量数据进行对比,可以确定在5月1号8:00到8:10分这个时间段内,监控得到的实时流量数据超出预测得到的预测流量数据800次访问量,也即,实时流量数据与预测流量数据之间的偏差值为800次访问量。s53:根据偏差值在预设的异常等级定义表中进行查询,确认监控对象的流量数据的异常等级,并根据异常等级对应的预设告警策略进行告警处理。其中,预设的异常等级定义表,用于区分异常流量的异常问题严重程度,异常流量的异常等级越高,异常问题越严重,预设的异常等级定义表可以根据实际应用的需要进行设置,此处不做限制。具体地,服务端根据偏差值,在预设的异常等级定义表中,确定监控对象的流量数据异常等级,并根据异常等级对应的预设告警策略进行告警处理,该预设告警策略是针对每个异常等级预先设置的告警处理方案,异常等级越高,告警处理的优先级也越高,具体的告警处理方案可以根据异常问题的严重性进行设置,此处不做限制。为了更好的理解本步骤,下面以一个具体的异常流量的异常等级分类为例加以说明,如表一所示,表一示出了异常等级分为普通异常、严重异常和骤变异常等三个异常等级的定义标准,普通异常为异常等级的最低级别,骤变异常为异常问题的最高级别。表一.异常等级定义表等级异常等级定义普通异常偏差值小于800严重异常偏差值大于800但小于2000骤变异常偏差值大于2000其中,普通异常是指,实时流量数据与预测流量数据存在较小的偏差值,可能是少量用户突发访问,或者由爬虫工具对网站爬取引起的差值,会出现短暂的流量异常,但是监控对象仍能够提供正常的访问服务,针对异常等级为普通异常的异常问题,可以将告警策略设置为:若连续10次检测到普通异常,则发送预警信息。严重异常是指,实时流量数据与预测流量数据存在较大的偏差值,可能是由于网络故障或者流量推广活动等引起较大的流量数据变化,从而导致的异常问题,监控对象提供的访问服务存在拥塞的情况,需要排查流量数据变化的原因,针对异常等级为严重异常的异常问题,可以将告警策略设置为:向工作人员发送预警信息,以便人工介入对监控对象出现的异常进行维护。骤变异常是指,流量突然出现大幅度的增长或者下跌,可能是监控对象受到突发的网络流量攻击,或者监控对象的软硬件系统出现严重问题,针对异常等级为骤变异常的异常问题,可以将告警策略设置为:发送灾难级别的告警信息给相关单位,使得相关工作人员能够立刻以最高优先级的方案进行排查和解决异常问题。在图3对应的实施例中,通过获取与实时流量数据对应的预测流量数据,计算实时流量数据与预测流量数据之间的偏差值,并根据偏差值在预设的异常等级定义表中进行查询,确认监控对象的流量数据的异常等级,按照异常等级对应的预设告警策略进行告警处理,能够检测到监控对象的网络流量的异常状况,提高异常流量检测的准确率。在一实施例中,本实施例对步骤s10中所提及的从预设的流量信息库中获取监控对象的历史流量数据,并对历史流量数据进行筛选处理,获取目标流量数据的具体实现方法进行详细说明。请参阅图4,图4示出了步骤s10的一具体流程图,详述如下:s101:从预设的流量信息库中获取监控对象的历史流量数据,其中,该监控对象包括n台服务器,n为正整数,历史流量数据包括服务器标识和监控时间。其中,预设的流量信息库是服务端预先设置用于存储监控到的网络流量数据的数据库,监控对象是网站用于提供访问服务的服务器或者服务器集群,监控对象包括n台服务器,n可以等于1,也可以等于2,但并不限于此,具体可以根据实际情况进行确定。具体地,服务端可以从预设的流量信息库中获取监控对象的历史流量数据,该历史流量数据包括服务器标识、监控时间和测量值,每台服务器对应一个服务器标识,服务器标识能够唯一标识监控对象中的服务器。s102:将包含相同的服务器标识的历史流量数据保存到同一流量数据集中,得到n个流量数据集。具体地,服务端根据历史流量数据的服务器标识,对获取到的历史流量数据进行分组,将包含相同服务器标识信息的历史流量数据保存到同一流量数据集中,得到n个流量数据集,n的数值等于监控对象中服务器的个数。s103:针对每个流量数据集,按照历史流量数据的监控时间的时间顺序,对每个流量数据集中的历史流量数据进行排序,构建每台服务器的流量时序数据。具体地,针对每个流量数据集,根据历史流量数据中监控时间的时间先后顺序,对每组历史流量数据进行排序,建立每台服务器的流量时序数据,共得到n台服务器的流量时序数据,例如,服务器1的时序流量数据为,服务器1={(时间1,测量值1)、(时间2,测量值2)、…、(时间n,测量值n)}。s104:根据n台服务器的流量时序数据,计算在同一时间下监控对象的流量特征数据,其中,该流量特征数据包括最大流量值、最小流量值和平均流量值。具体地,根据n台服务器的流量时序数据,在监控对象的历史流量数据中,获取每个时间点的最大流量值和最小流量值,同时,计算在每个时间点监控对象的平均流量值,得到在每个时间点下的最大流量值、最小流量值和平均流量值,并将最大流量值、最小流量值和平均流量值作为监控对象的流量特征数据。例如,服务端经过计算可以得到监控对象的最大流量值、最小流量值和平均流量值分别为,最大流量值={(时间1,最大流量值1)、(时间2,最大流量值2)、…、(时间n,最大流量值n)},最小流量值={(时间1,最小流量值1)、(时间2,最小流量值2)、…、(时间n,最小流量值n)},平均流量值={(时间1,平均流量值1)、(时间2,平均流量值2)、…、(时间n,平均流量值n)}。s105:获取满足预设的样本要求的流量特征数据作为目标流量数据。具体地,预设的样本要求,是用于区分流量特征数据的值是否存在异常的判断条件,若满足预设的样本要求,则表示该流量特征数据是监控对象在正常状态下产生的流量特征数据,若不满足预设的样本要求,则表示该流量特征数据可能存在异常,获取满足预设的样本要求的流量特征数据作为目标流量数据,使用目标流量数据进行分析建模,能够提高用于模型训练的训练样本的样本质量,从而提高模型的准确度。其中,该预设的样本要求可以根据流量预测模型构建的需要进行设置,此处不做限制,例如,样本要求可以设置为:获取每天8:00-18:00的流量特征数据,获取网络流量数据为每分钟访问次数不大于1000次的流量特征数据等。在图4对应的实施例中,通过获取监控对象的历史流量数据,将包含相同的服务器标识的历史流量数据保存到同一流量数据集中,按照历史流量数据对应的监控时间的顺序,对每个流量数据集中的历史流量数据进行排序,构建每台服务器的流量时序数据,再计算在同一时间下监控对象的流量特征数据,获取满足预设的样本要求的流量特征数据作为目标流量数据,从而能够提高用于模型训练的训练样本的样本质量,从而提高模型的准确度。在一实施例中,如图5所示,在步骤s60之后,并且在步骤s70之前,即在若实时流量数据大于流量告警阈值,则从预设的日志库中,获取监控对象的实时访问日志之后,并且在若实时访问日志的响应时间大于预设的响应时间阈值,则进行异常流量告警之前,异常流量的检测方法还包括:s61:获取实时访问日志中访问请求的访问类型,其中,该访问类型包括静态资源请求和动态资源请求。在本实施例中,静态资源请求是指,客户端向监控对象发送静态资源请求的访问请求,监控对象从内存中获取设计好的html(hypertextmarkuplanguage,超文本标记语言)页面返回给客户端。动态资源请求是指,客户端向监控对象发送动态资源请求的访问请求,监控对象需要连接数据库,通过数据库运行处理数据后,将处理得到的内容提交给监控对象,监控对象再将内容转换为html页面返回给客户端。具体地,实时访问日志包括访问请求和访问请求的响应时间,服务端可以对实时访问日志中访问请求的访问类型进行检测,以便确定实时访问日志的访问类型。s62:若访问类型为静态资源请求,则将静态资源请求对应的响应时间阈值作为预设的响应时间阈值。具体地,服务端可以根据监控对象的硬件配置信息,设置静态资源请求对应的响应时间阈值,监控对象的硬件配置越高,静态资源请求对应的响应时间阈值可以设置得越小,该静态资源请求对应的响应时间阈值,是用于区分监控对象能否为静态资源请求提供正常的访问服务,若实时访问日志中的访问请求的访问类型为静态资源请求,则将静态资源请求对应的响应时间阈值作为预设的响应时间阈值,用于与实时访问日志中的实时响应时间进行比对。s63:若访问类型为动态资源请求,则将动态资源请求对应的响应时间阈值作为预设的响应时间阈值。具体地,服务端可以根据监控对象中监控对象的硬件配置信息,设置动态资源请求对应的响应时间阈值,监控对象的硬件配置越高,动态资源请求对应的响应时间阈值可以设置得越小,该动态资源请求对应的响应时间阈值,是用于区分监控对象能否为动态资源请求提供正常的访问服务,若实时访问日志中的访问请求的访问类型为动态资源请求,则将动态资源请求对应的响应时间阈值作为预设的响应时间阈值,用于与实时访问日志中的实时响应时间进行比对。在图5对应的实施例中,通过获取实时访问日志中访问请求的访问类型,并根据实时访问日志的访问类型进行获取响应时间阈值,使用获取到的响应时间阈值与实时访问日志中的实时响应时间进行比对,使得对监控对象的实时响应时间进行分析的精确度更高,从而提高异常流量监测的准确性。在一实施例中,如图6所示,在步骤s70之前,即在若实时访问日志的响应时间大于预设的响应时间阈值,则进行异常流量告警之前,异常流量的检测方法还包括:s64:从预设的日志库中,获取历史访问日志,其中,该历史访问日志包括访问请求和访问请求的响应时间。在本实施例中,预设的日志库是用于存储监控对象的访问日志的数据库,服务端可以从预设的日志库中获取历史访问日志,其中,该历史访问日志包括但不限于访问请求和访问请求的响应时间,访问请求是指用户向监控对象提交的请求内容,响应时间是指监控对象从接收访问请求到完成请求内容的响应所消耗的时长。s65:检测历史访问日志中访问请求的访问类型,将访问类型为静态资源请求的历史访问日志存储到第一日志集中,以及将访问类型为动态资源请求的历史访问日志存储到第二日志集中。具体地,服务端对历史访问日志中访问请求的访问类型进行检测,将访问类型为静态资源请求的历史访问日志存储到第一日志集中,以及将访问类型为动态资源请求的历史访问日志存储到第二日志集中,其中,第一日志集和第二日志集均为文件的存储空间。s66:计算第一日志集中的历史访问日志的响应时间的平均值,并将该计算得到的平均值作为静态资源请求对应的响应时间阈值。具体地,服务端通过计算第一日志集中的历史访问日志的响应时间的平均值,并将该计算得到的平均值作为静态资源请求对应的响应时间阈值,用于区分监控对象能否为静态资源请求提供正常的访问服务。s67:计算第二日志集中的历史访问日志的响应时间的平均值,并将该计算得到的平均值作为动态资源请求对应的响应时间阈值。具体地,服务端通过计算第二日志集中的历史访问日志的响应时间的平均值,并将该计算得到的平均值作为动态资源请求对应的响应时间阈值,用于区分监控对象能否为动态资源请求提供正常的访问服务。例如,第二日志集中有三个历史访问日志,三个历史访问日志对应的响应时间分别为10s、12s和17s,通过计算得到第二日志集中的历史访问日志的响应时间的平均值为:(10s+12s+17s)÷3=13s,则动态资源请求对应的响应时间阈值为13s。需要说明的是,步骤s66和步骤s67之间没有必然的先后执行顺序,其也可以是并列执行的关系,此处不做限制。在图6对应的实施例中,通过获取历史访问日志,检测历史访问日志中访问请求的访问类型,将访问类型为静态资源请求的历史访问日志存储到第一日志集中,以及将访问类型为动态资源请求的历史访问日志存储到第二日志集中,计算第一日志集中的历史访问日志的响应时间的平均值,并将该计算得到的平均值作为静态资源请求对应的响应时间阈值,计算第二日志集中的历史访问日志的响应时间的平均值,并将该计算得到的平均值作为动态资源请求对应的响应时间阈值。应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。在一实施例中,提供一种异常流量的检测装置,该异常流量的检测装置与上述实施例中异常流量的检测方法一一对应。如图7所示,该异常流量的检测装置包括:样本筛选模块71、模型构建模块72、流量预测模块73、阈值设置模块74、流量采集模块75、日志查询模块76和异常告警模块77。各功能模块详细说明如下:样本筛选模块71,用于从预设的流量信息库中获取监控对象的历史流量数据,并对历史流量数据进行筛选处理,获取目标流量数据;模型构建模块72,用于对目标流量数据进行回归分析,建立流量预测模型;流量预测模块73,用于使用流量预测模型对监控对象的流量数据进行预测,获取在预设时间段内监控对象的流量数据的预测结果;阈值设置模块74,用于按照预设的统计方式对预测结果进行统计分析,得到监控对象的流量告警阈值;流量采集模块75,用于获取监控对象的实时流量数据;日志查询模块76,用于若实时流量数据大于流量告警阈值,则从预设的日志库中,获取监控对象的实时访问日志,其中,该实时访问日志包括访问请求和访问请求的响应时间;异常告警模块77,用于若实时访问日志的响应时间大于预设的响应时间阈值,则进行异常流量告警。进一步地,该异常流量的检测装置还包括:预测值获取模块751,用于根据实时流量数据的获取时间,从预测结果中,获取与实时流量数据对应的预测流量数据;偏差值计算模块752,用于计算实时流量数据与预测流量数据之间的偏差值;异常等级确定模块753,用于根据偏差值在预设的异常等级定义表中进行查询,确认监控对象的流量数据的异常等级,并根据异常等级对应的预设告警策略进行告警处理。进一步地,样本筛选模块71包括:数据获取子模块7101,用于从预设的流量信息库中获取监控对象的历史流量数据,其中,该监控对象包括n台服务器,n为正整数,历史流量数据包括服务器标识和监控时间;数据分类子模块7102,用于将包含相同的服务器标识的历史流量数据保存到同一流量数据集中,得到n个流量数据集;数据排序子模块7103,用于针对每个流量数据集,按照历史流量数据的监控时间的时间顺序,对每个流量数据集中的历史流量数据进行排序,构建每台服务器的流量时序数据;数据统计子模块7104,用于根据n台服务器的流量时序数据,计算在同一时间下监控对象的流量特征数据,其中,该流量特征数据包括最大流量值、最小流量值和平均流量值;样本确定子模块7105,用于获取满足预设的样本要求的流量特征数据作为目标流量数据。进一步地,该异常流量的检测装置还包括:类型查询模块761,用于获取实时访问日志中访问请求的访问类型,其中,该访问类型包括静态资源请求和动态资源请求;第一设置模块762,用于若访问类型为静态资源请求,则将静态资源请求对应的响应时间阈值作为预设的响应时间阈值;第二设置模块763,用于若访问类型为动态资源请求,则将动态资源请求对应的响应时间阈值作为预设的响应时间阈值。进一步地,该异常流量的检测装置还包括:日志获取模块764,用于从预设的日志库中,获取历史访问日志,其中,该历史访问日志包括访问请求和访问请求的响应时间;日志分类模块765,用于检测历史访问日志中访问请求的访问类型,将访问类型为静态资源请求的历史访问日志存储到第一日志集中,以及将访问类型为动态资源请求的历史访问日志存储到第二日志集中;第一计算模块766,用于计算第一日志集中的历史访问日志的响应时间的平均值,并将该计算得到的平均值作为静态资源请求对应的响应时间阈值;第二计算模块767,用于计算第二日志集中的历史访问日志的响应时间的平均值,并将该计算得到的平均值作为动态资源请求对应的响应时间阈值。关于异常流量的检测装置的具体限定可以参见上文中对于异常流量的检测方法的限定,在此不再赘述。上述异常流量的检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种异常流量的检测方法。在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例异常流量的检测方法中的步骤,例如图2所示的步骤s10至步骤s70,或者,处理器执行计算机程序时实现上述实施例中异常流量的检测装置的各模块的功能,例如图7所示模块71至模块77的功能。为避免重复,这里不再赘述。在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例异常流量的检测方法中的步骤,例如图2所示的步骤s10至步骤s70,或者,处理器执行计算机程序时实现上述实施例中异常流量的检测装置的各模块的功能,例如图7所示模块71至模块77的功能。为避免重复,这里不再赘述。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1