一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种CDN异常检测方法及装置与流程

2022-11-12 00:16:02 来源:中国专利 TAG:

一种cdn异常检测方法及装置
技术领域
1.本技术涉及通讯技术领域,尤其涉及一种cdn异常检测方法及装置。


背景技术:

2.近年来随着互联网业务的发展,短视频行业快速兴起,网络客户端群体和数据传输量也随之大规模增加。为了减少因客户端群体以及海量数据的传输带来的网络压力,内容分发网络(content delivery network,cdn)应运而生。cdn服务通过部署边缘节点服务器和中心节点服务器的方式,提高了客户端访问速度、消除了不同运营商之间网络通信慢的瓶颈、实现了跨运营商的网络加速、大大减少了地区客户端直接访问网络源站的压力。
3.然而,cdn进行服务的同时,也带来了自身特性的新问题;例如,节点流量过高、节点请求数过高、节点请求命中率过低、节点状态码(hypertext transfer protocol 10xx,http 10xx) 过高、节点中央处理器(central processing unit,cpu)使用率过高、节点重传率过高、回源异常、客户端http_10xx错误率过高以及客户端请求时延过高等异常问题。针对海量的cdn数据,如何对其进行异常分析,加快异常响应速度,提高异常解决效率,保障cdn服务正常、稳定运行,是目前整个cdn服务急需要解决的问题。
4.针对目前cdn带来的新特性问题,现有技术通过全局负载均衡(global server load balance, gslb),对cdn数据进行异常检测告警。在该方案中,进行异常检测时,需要gslb服务器向各个节点发出探测消息;然后,各个节点根据各自获取的数据和预置的检测规则判断是否异常,并回传判断信息给gslb。该方案需要对cdn中各个节点预先配置检测规则,而 cdn中有上万个边缘节点,每个节点的作用也不同,同时,每个节点都会接收多个客户端的不同访问请求,导致每个节点上检测指标和检测阈值也不相同,所以需要对每个节点配置不同的检测规则。当访问客户端变化或者节点状态变化时,需要在各个节点上更新检测规则。然而,由于各个节点的客户端访问请求的变化频繁,对节点频繁更新检测规则,存在极大的风险。而且,该方法没有实现对cdn多维度的数据进行检测,覆盖的检测指标范围较少,检测的准确度较低。


技术实现要素:

5.本技术实施例提供了一种cdn异常检测方法及装置,通过cdn节点上传数据到数据库中,然后根据用户创建的告警策略对数据库中的数据进行多个维度的异常检测,从而实现对cdn的异常检测和告警,解决现有技术在节点上更新检测规则存在风险,以及准确性低的问题。
6.第一方面,本技术实施例提供了一种cdn异常检测方法,该方法包括:获取内容分发网络cdn的检测数据,检测数据包括节点维度的业务数据和/或域名维度的业务数据;基于检测数据,确定cdn是否存在异常。
7.本技术实施例中,从节点维度的和域名维度两个角度的业务数据进行异常检测,可以准确地发现cdn在为客户端进行服务的异常数据,从而及时的发现cdn存在异常。
8.在一种可能的实施方式中,获取节点维度的业务数据和/或域名维度的业务数据包括:获取cdn的各个节点上传的业务数据;其中,一个节点的业务数据包括对多个域名进行访问的业务数据;基于各个节点上传的业务数据中相同域名的业务数据,获得域名维度的业务数据;基于各个节点上传的业务数据中相同节点的业务数据,获得节点维度的业务数据。
9.在一种可能的实施方式中,在获取检测数据之前,方法还包括:获取用户自定义的告警策略;告警策略包括以下至少一项:检测周期和告警规则。
10.本技术实施例中,告警规则由用户自定义获得,不需要在节点上进行规则的更新,减少了对节点操作的风险,提高了cdn的稳定性。
11.在一种可能的实施方式中,当告警规则为阈值告警规则时,基于检测数据,确定cdn是否存在异常包括:计算检测数据在当前检测周期的平均值;根据当前检测周期的平均值和阈值告警规则,确定cdn在当前检测周期存在异常。
12.在一种可能的实施方式中,当告警规则为变化率告警规则时;基于检测数据,确定cdn 是否存在异常包括:计算检测数据在当前检测周期的平均值;根据当前检测周期的平均值和上一个检测周期的平均值,获得检测数据在当前检测周期的变化率;基于当前检测周期的变化率和变化率告警规则,确定cdn在当前检测周期存在异常。
13.本技术实施例中,将阈值和/或变化率检测方法和检测周期相结合,可以适应cdn数据瞬时多变的情况,可以及时发现异常数据,提高检测的准确性。
14.在一种可能的实施方式中,告警策略还包括:过滤条件;在基于检测数据,确定cdn存在异常之前,方法还包括:基于过滤条件,对检测数据进行过滤。
15.本技术实施例中,对检测数据设置过滤条件,过滤到一些特殊情况下的数据,比如:对流量小和访问需求量高的源站对应的数据进行过滤,可以提高异常检测的准确性。
16.在一种可能的实施方式中,方法还包括:当cdn存在异常时,生成cdn的异常告警信息并发送给用户。
17.在一种可能的实施方式中,告警策略还包括:告警抑制时段,生成cdn的异常告警信息并发送给用户包括:当前检测周期介于告警抑制时段时,按照预设告警信息数量生成cdn在当前检测周期的异常告警信息并发送给用户。
18.本技术实施例中,设置告警抑制时段,可减小告警信息对用户的干扰。
19.在一种可能的实施方式中,检测数据还包括cdn中各个节点的系统数据和带宽使用比率数据。
20.第二方面,本技术实施还提供一种cdn异常检测装置,该装置包括:数据模块,用于获取内容分发网络cdn的检测数据,检测数据包括节点维度的业务数据和/或域名维度的业务数据;检测模块,用于基于检测数据,确定cdn是否存在异常。
21.在一种可能的实施方式中,数据模块具体用于:获取cdn的各个节点上传的业务数据;其中,一个节点的业务数据包括对多个域名进行访问的业务数据;基于各个节点上传的业务数据中相同域名的业务数据,获得域名维度的业务数据;基于各个节点上传的业务数据中相同节点的业务数据,获得节点维度的业务数据。
22.在一种可能的实施方式中,设备还包括:
23.策略模块,用于获取用户自定义的告警策略;告警策略包括以下至少一项:检测周
期和告警规则。
24.在一种可能的实施方式中,当告警规则为阈值告警规则时,检测模块具体用于:计算检测数据在当前检测周期的平均值;根据当前检测周期的平均值和阈值告警规则,确定cdn在当前检测周期存在异常。
25.在一种可能的实施方式中,当告警规则为变化率告警规则时;检测模块具体用于:计算检测数据在当前检测周期的平均值;根据当前检测周期的平均值和上一个检测周期的平均值,获得检测数据在当前检测周期的变化率;基于当前检测周期的变化率和变化率告警规则,确定cdn在当前检测周期存在异常。
26.在一种可能的实施方式中,告警策略还包括:过滤条件;在基于检测数据,确定cdn存在异常之前,方法还包括:基于过滤条件,对检测数据进行过滤。
27.在一种可能的实施方式中,设备还包括:告警模块,用于当cdn存在异常时,生成cdn 的异常告警信息并发送给用户。
28.在一种可能的实施方式中,告警策略还包括:告警抑制时段,告警模块具体用于:当当前检测周期介于告警抑制时段时,按照预设告警信息数量生成cdn在当前检测周期的异常告警信息并发送给用户。
29.在一种可能的实施方式中,检测数据还包括cdn中各个节点的系统数据和带宽使用比率数据。
30.第三方面,本技术实施例还提供一种计算设备,该计算设备包括存储器和处理器,存储器存储有计算机指令,处理器执行计算机指令时,实现上述第一方面中任一项实施方式中的方法。
31.第四方面,本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序代码,当计算机程序代码被执行时,实现上述第一方面中任一项实施方式中的方法。
32.第五方面,本技术实施例还提供一种计算机程序产品,当计算机程序产品在计算设备上运行时,使得计算设备执行上述第一方面中任一项实施方式中的方法。
附图说明
33.图1是本技术提供的一种内容分发网络cdn的结构示意图;
34.图2是本技术提供的cdn向客户端发送访问内容的流程图;
35.图3是本技术提供的一种通过gslb进行cdn异常检测的方法示意图;
36.图4是本技术提供的一种节点依据检测规则获得检测结果的方法流程图;
37.图5是本技术实施例提供的一种cdn异常检测装置的结构示意图;
38.图6是本技术实施例提供的一种告警策略的创建界面示意图;
39.图7是本技术实施例提供的节点上传数据到数据库的流程图;
40.图8是本技术实施例提供的一种电子设备的策略创建界面示意图;
41.图9是本技术实施例提供的一种cdn异常检测方法的流程图;
42.图10a是本技术实施例提供的一种阈值检测方法流程图;
43.图10b是本技术实施例提供的一种变化率检测方法流程图。
具体实施方式
44.为了使本技术实施例的目的、技术方案和优点更加清楚,下面将结合附图,对本技术实施例中的技术方案进行描述。
45.在本技术实施例的描述中,“示例性的”、“例如”或者“举例来说”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示例性的”、“例如”或者“举例来说”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”、“例如”或者“举例来说”等词旨在以具体方式呈现相关概念。
46.在本技术实施例的描述中,术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,单独存在b,同时存在a和b 这三种情况。另外,除非另有说明,术语“多个”的含义是指两个或两个以上。例如,多个系统是指两个或两个以上的系统,多个屏幕终端是指两个或两个以上的屏幕终端。
47.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
48.为了便于理解本技术实施例中的方案,下面对本技术实施例中出现的超文本传输协议 (hyper text transfer protocol,http)、cpu、gslb、opentsdb、mysql和cdn等概念进行解释说明。
49.http,是一个常用的请求-响应协议,它通常运行在传输控制协议(transmission controlprotocol,tcp)之上,在具体的客户端访问服务器的场景中,它指定了客户端的访问请求及其对应的访问内容响应之间的对应关系。其中,tcp是一种面向连接的、可靠的、基于字节流的传输层通信协议。
50.cpu,计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。
51.opentsdb是一个时间序列数据库。它支持秒级数据采集,支持永久存储,可以做容量规划,并很容易地接入到现有的报警系统里。opentsdb可以从大规模的集群(包括集群中的网络设备、操作系统、应用程序)中获取相应的指标的数据并进行存储、索引以及服务,从而使得这些数据更容易让人理解,如web化,图形化等。
52.mysql是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了数据的读取速度,以及提高了读取的灵活性。
53.gslb,用于在整个网络范围内将客户端的访问请求定向到最近的节点。它基于dns实现、基于重定向实现和基于路由协议实现。gslb能通过判断节点服务器的负载,包括cpu 占用、带宽占用等数据,确定节点服务器的可用性,还可以能判断客户端(访问者)与服务器间的链路状况,选择链路状况最好的服务器。因此gslb是对服务器和链路进行综合判断来决定由哪个地点的节点服务器来提供服务,实现异地服务器群服务质量的保证。
54.cdn,是构建在现有网络基础之上的智能虚拟网络,如图1所示cdn的拓扑示意图, cdn包括位于中心的源站服务器、在部分区域布置的中心节点服务器以及部署末端且面向 cdn客户端的边缘节点服务器。其中,中心节点可以与源站和边缘节点传输数据,且源站、中心节点和边缘节点的个数不定。cdn依靠部署在各地的边缘节点服务器,通过中心平台的负
载均衡、内容分发、调度等功能模块,使客户端可以就近获取所需的访问内容,可降低网络的拥塞,提高客户端的访问质量。可以理解的,图1仅是本技术提供的一种cdn的结构示意,并不对cdn的具体结构做强限定;在一些场景中,cdn可以根据实际的需要,可以是更加复杂的网络结构。具体地,cdn客户端访问网络的相关内容的具体过程可以是如图2所示的方法步骤。参照图2,首先,客户端访问边缘节点,边缘节点接收客户端的访问请求,边缘节点判断是否缓存有客户端想要的访问内容,如果有,则直接返回该访问内容给客户端,否则,边缘节点向中心节点获取该访问内容;然后,中心节点判断是否缓存有该访问内容,如果有,则将该访问内容返回给边缘节点,边缘节点进行内容缓存并发送给客户端;如果中心节点也没有缓存该访问内容,则进一步向源站获取该访问内容;接着,源站将该访问内容返回给中心节点,中心节点缓存该内容并将一份数据返回给边缘节点,边缘节点缓存并返回内容给客户端。其中,一个源站对应的一个域名。
55.现有技术采用gslb服务器对cdn进行异常检测的方法如图3所示,大致可分为如下步骤s301~步骤s303。
56.在步骤s301中,gslb服务器向cdn中的一个节点发送异常检测消息。该节点可以是图1中的中心节点或边缘节点。
57.在步骤s302中,节点接收到异常检测消息之后,按照预先设定的检测规则,获得数据并进行判断,得到检测结果,将检测结果反馈给gslb服务器。下面以检测节点的状态是否异常为例,解释次步骤。
58.可选地,节点接收到检测消息后,获取该节点的一个或多个状态变化信息,并确定该节点的状态变化数量信息。将状态变化数量信息代入设定的检测规则中,得到当前的检测结果。其中,检测规则可以是阈值类的检测规则,即判断状态变化数量信息是否超过设定的阈值,若超过阈值,则确定该节点的状态为异常状态。
59.在步骤s303中,gslb接收节点反馈的检测结果,确定该节点出现异常时,将异常消息发送给故障接收模块,并向下一个节点发送异常检测消息,直至所有节点检测完毕。
60.为了解决现有技术在cdn的节点上更新检测规则存在风险的问题,本技术提供一种cdn 异常检测装置。该检测装置100用于从策略库中,获得用户创建的告警策略,然后根据告警策略从数据库中获得cdn的检测数据,并根据检测数据进行检测,从而确定cdn是否存在异常。
61.当检测装置100为软件装置时,如图5所示,该检测装置100包括:策略模块101、数据模块102和检测模块103。应理解,图5只是示例性地展示了检测装置100的一种结构化示意图,本技术并不限定对检测装置100中模块的划分。下面介绍检测装置100各模块的功能。
62.策略模块101用于从策略库中读取cdn的告警策略,该告警策略可由cdn的用户创建,即cdn的运维人员创建。
63.在本技术的实施例中,告警策略可以包括:检测指标、检测时段(包括检测开始时间和检测结束时间)、检测周期、告警抑制时段和告警总规则(包括告警规则和过滤条件)。
64.数据模块102用于从数据库中获取告警策略中的检测指标在检测时段内的检测数据。
65.在本技术的实施例中,数据模块102在检测时段内,按照告警策略中的检测周期,周期性从数据库中获取检测指标的一个周期的检测数据。数据库中各检测指标的检测数据
根据 cdn中各个节点上传的数据监测报告获得,其中,数据监测报告中包括了检测指标在一定时段的检测数据、或者可以计算检测指标的相关数据。cdn中的节点需被配置成实时上传数据监测报告。
66.本技术实施例中,数据库中检测指标包括分为:节点维度的业务指标、域名维度的业务指标、节点域名维度的业务指标、节点系统指标和节点水位指标。
67.其中,节点维度的业务指标能够直接反映cdn节点的服务状况;域名维度的业务指标能够直接反应客户源站的服务情况;节点域名维度的业务指标能够快速分析域名在节点上的服务情况,在出现异常时,能够及时将访问该节点的访问请求调度到备用节点。示例性的,业务指标均可以包括:带宽、每秒请求数、http10xx状态码、请求命中率、请求成功率、平均下载时间、平均下载速度、回源带宽、回源10xx状态码等100多个指标。
68.节点系统指标能够直接反映节点自身的物理状态;节点系统指标可以包括:cpu使用率、 cpu系统进程使用率、cpu硬中断时间占比、内存使用率、网卡出入流量、网卡出入包数、系统重传率、主被动打开的tcp连接数等50多个节点自身的物理指标。节点水位指标能够直接反应cdn节点的水位情况,当cdn节点水位值过高时,能够及时将部分请求调离该节点。节点水位指标可以根据实时带宽和设计带宽计算获得,即水位值=实时带宽/设计带宽,可以理解的,节点的水位值也就是节点的带宽使用比率。其中,设计带宽是在最开始建设节点时,根据节点自身的物理大小设定的节点的最大带宽。
69.可以理解的,数据库中存储的是各种指标的检测数据。与上述列出的检测指标对应的,数据库中存储的检测数据包括:节点域名维度的业务数据、节点维度的业务数据、域名维度的业务数据、节点系统数据和和节点宽带使用比率。
70.示例性的,节点域名维度的业务数据可以在节点上传的数据监测报告中提取或者计算获得。其中,节点域名维度的业务数据是客户端访问cdn节点产生的一些服务数据,或者可以理解为,cdn节点为客户端提供访问内容产生的一些服务数据。根据前述cdn的介绍可以知晓,cdn节点为客户端提供的访问内容是从源站缓存的,客户端访问特定内容的访问请求包括了该访问内容的域名。因此,节点域名维度的业务数据包括了多个域名对应的业务数据。在实际场景中,可根据节点的配置情况而定。例如,节点可以被配置为直接采集多个业务指标的检测数据,或者节点可以被配置为采集计算多个业务指标的检测数据的相关数据。可选的,客户端可以是智能手机、平板电脑、智能电视、可穿戴设备和车载设备等设备中任意一种。
71.示例性的,节点维度的业务数据和域名维度的业务数据可以根据节点域名维度的业务数据进行统计获得。比如,可以将节点域名维度的业务数据中相同域名的业务数据相加,获得域名维度的业务数据,可以将节点域名维度的业务数据中相同节点的业务数据相加,获得节点维度的业务数据。
72.检测模块103用于对根据告警策略对各个检测周期内的检测数据进行异常检测,从而确定cdn是否存在异常标。可选地,在确定cdn存在异常时,可以生成告警信息,并将告警信息推送给用户。
73.在本技术的实施例中,检测装置100还可以包括策略构建模块104。该模块用于向用户提供如图6所示的策略创建界面600,用户可以通过触摸的方式或者按键操作的方式,在策略创建界面600示出的各个选项中选择和输入相应的内容,以组成告警策略。策略构建
模块 104根据用户设置的内容,生成cdn的告警策略并传入策略库。可选地,策略库可以采用 mysql。
74.如图6所示,策略创建界面600中的选项包括:告警类型、告警规则、过滤条件、检测时段、检测周期和告警抑制时段。下面结合图6,示例性的介绍策略创建界面600中不同选项的具体内容和功能。
75.其中,告警类型选项向用户提供可选择的检测指标;可以理解的,可供选择的指标可以包括前述的节点维度的业务指标、域名维度的业务指标、节点域名维度的业务指标、节点系统指标和节点水位指标。
76.告警规则选项,向用户提供创建检测指标的告警规则的功能。告警规则是判断一个指标是否需要异常的条件,告警规则可以是一个指标的阈值告警规则,也可以是一个指标的变化率告警规则。示例性的,用户可以选择内置的各个指标的告警规则,或者在界面中输入自己创建的检测指标的告警规则。
77.过滤条件选项,向用户提供设置各个指标的过滤条件的功能,其中,过滤条件用来判断一个指标是否需要进行异常检测。由于cdn网络中各个源站对应的访问量和流量不同,通过设置过滤条件,将访问请求多和流量小的源站对应的一些数据过滤掉,提高检测的准确性。当然,用户也可以选择不设置指标的过滤条件。
78.检测时段选项,向用户提供设置检测时段的功能,其中,检测时段是检测装置100进行异常检测的时间依据,用户可以在内置的时段中选择出当前告警策略的检测时段。示例性的,用户不选时,当前策略的检测时段为默认的检测时段。默认检测时段可设置为一天或者小于一天的任意时间段。
79.检测周期选项,向用户提供设置检测时段内的检测周期的功能,其中,检测周期用于将检测时段分为多个小的周期,对周期的数据进行异常检测可以提高检测的准确性,也满足 cdn多变化的实际情况。可选地,用户可以在内置的检测周期中选择,也可以输入自己想要的检测周期,其中,内置的检测周期可以是1分钟、5分钟和10分钟等。
80.告警抑制时段选项可为用户提供告警抑制的功能,当用户设置了告警抑制时段时,在时段内减少告警信息的生成量,或者减少向用户发送告警信息的数量,使得用户在该时段内接收到告警信息减少。例如,可将告警抑制时段设置为22点至7点(210小时制),在此期间,只想用户发送一个指标的一条告警信息,以减少对用户的干扰。
81.在本技术的实施例中,如图7所示,检测装置100还可以包括数据上报模块105、上报通道模块106和数据存储模块107。
82.其中,数据上报模块105用于接收cdn中各个节点上传的数据监测报告,并将其上传给上报通道模块106。可选地,具体包括:收集单元1051和采集单元1052,收集单元1051用于收集cdn节点上报的由于客户端访问产生的数据监测报告,可以包含由于客户端访问产生的业务数据;采集单元1052用于采集cdn各节点的物理的数据监测报告,可以包含节点自身的数据,如系统数据和水文值。
83.上报通道模块106包括kafka存储和cs计算两个环节。其中,kafka用于短期存储上传的数据监测报告,即超过kafka的存储时间,这些被存储的数据监测报告将被自动抹掉。
84.cs通过对kafka存储的数据监测报告进行实时流计算和/或提取,从而获得前述节点维度的业务指标、域名维度的业务指标、节点域名维度的业务指标、节点系统指标和节点
水位指标在不同时刻的检测数据。
85.数据存储模块107用于将上报通道模块106获得的各个检测指标的检测数据存入数据库进行保存。可选地,数据库可以采用opentsdb构建。
86.当检测装置100为硬件设备时,检测装置100可以是服务器、智能手机、笔记本电脑、平板电脑、个人台式电脑、智能摄相机等计算设备中的一种。图8是本技术实施例提供的一种计算设备800的结构示意图。如图8所示,该计算设备800可以包括:存储器801、处理器802、通信接口803以及总线804。其中,存储器801、处理器802、通信接口803通过总线804实现彼此之间的通信连接。
87.存储器801可以是只读存储器(read only memory,rom),随机存取存储器(random accessmemory,ram),硬盘,快闪存储器或其任意组合。存储器801可以存储程序,当存储器 801中存储的程序被处理器802执行时,处理器802和通信接口803用于执行检测装置100 实现cdn数据检测。
88.处理器802可以采用中央处理器(central processing unit,cpu),应用专用集成电路 (application specific integrated circuit,asic),gpu或其任意组合。处理器802可以包括一个或多个芯片。处理器802可以包括ai加速器,例如神经网络处理器(neural processing unit, npu)。
89.通信接口803使用例如收发器一类的收发模块,来实现计算设备100与其他设备或通信网络之间的通信。例如,可以通过通信接口803获取数据。
90.总线804可包括在检测装置100各个部件(例如,存储器801、处理器802、通信接口 803)之间传送信息的通路。
91.当检测装置100为服务器时,可以将其分别部署在边缘环境或云环境中的装置中。边缘环境为包括距离终端计算设备较近的边缘计算设备集合的环境,边缘计算设备包括:边缘服务器、拥有计算能力的边缘小站等。每个环境中的装置分别实现上述检测装置100的部分功能。
92.基于本技术实施例提供的检测装置100,本技术实施例还提供一种cdn异常检测方法,该方法应用于检测装置100中。如图9所示,该方法包括:如下的步骤s901~s904。
93.在步骤s901中,定时读取策略库中的告警策略。
94.本实施例中,在检测装置100的后台设定一个定时任务,定时地从策略库中获得告警策略。当检测装置100为硬件设备时,将获得的告警策略存入缓存;若当前时刻从策略库中获得告警策略与前一时刻获得告警策略相比,存在新增、更新和/或删除操作时,将当前时刻从策略库中获得告警策略更新至缓存,否则,不更新缓存。可选地,数据库可以采用opentsdb 构建。
95.告警策略可由用户创建,告警策略可以包括前述图6所示的不同选项中的内容,即包括:检测时段、检测周期、检测指标、告警规则、过滤条件和告警抑制时段。其中,告警规则包括:阈值告警规则和变化率告警规则。具体地,一个指标对应一个规则,每个指标对应的规则类别可以不同,也可以相同。
96.在步骤s902中,按照检测周期,在检测时段内周期性地从数据库中获取检测指标在一个检测周期的检测数据。
97.本实施例中,在获取检测指标在当前检测周期的检测数据时,以当前时刻为当前
检测周期的起始时刻,起始时刻减去检测周期,得到当前检测周期的结束时刻;然后,在数据库中,获得各个检测指标在起始时刻至结束时刻之间的检测数据。
98.在步骤s903中,利用异常检测方法对当前检测周期的检测数据进行异常检测,确定出 cdn在当前检测周期是否存在异常。
99.本实施例中,异常检测方法包括阈值类检测方法和变化率类检测方法,分别对不同类别的告警规则。根据前面的介绍,告警规则可以包括:阈值告警规则和变化率类告警规则两大类,具体地,可以为每个检测指标设置相同类别或不同类别的告警规则,本技术不做限定。下面结合图10a和图10b对两类检测方法进行详细说明。
100.示例性的,如图10a所示的告警规则是阈值告警规则的检测指标的检测流程图。在根据检测数据确定cdn是否存在异常时,先计算每个检测指标在当前检测周期的检测数据的平均值,然后将当前检测周期的检测数据的平均值分别与该检测指标的阈值告警规则中的阈值进行比较,若当前检测周期的检测数据的平均值超出了阈值,则该检测数据对应的检测指标在该周期为异常指标,且可以说明cdn网络在当前检测周期存在异常。
101.示例性的,如图10b所示的告警规则是变化率告警规则的检测指标的检测流程图。在根据检测数据确定cdn是否存在异常时,同样先计算每个检测指标在当前检测周期的检测数据的平均值;接着,根据当前检测周期的检测数据的平均值,计算该周期的检测数据的变化率,具体可以根据上一个周期的平均值(avg2)和当前检测周期的平均值(avg1),计算当前检测周期的变化率l,具体计算可按公式进行;最后,分别将该周期的变化率与变化率告警规则中的变化率进行比较,若某一检测指标在某一周期的检测数据的变化率超过了变化率告警规则中的变化率,则该检测指标在该周期为异常指标,同样可以说明cdn网络在当前检测周期存在异常。
102.可选地,在求解当前检测周期的检测数据的平均值之前,可将该周期的检测数据从小到大进行排列,获得数据的总个数num,然后对num个数据进行去突刺处理,即在首尾去掉相同个数(可以是0.2*num)的数据,再将剩下的数据进行平均,即可获得一个周期的平均值。
103.在步骤s904中,生成cdn在当前检测周期的告警信息。
104.本实施例中,如果在步骤s3中确定cdn存在异常,则生成cdn的告警信息并发送给用户,用户可以根据告警信息进行cdn的维护。其中,告警信息中包括一个检测周期中存在异常的检测指标及其对应的在异常时刻的检测数据。
105.可选地,如果用户在告警策略中设定了告警抑制时段,则判断当前检测周期是否在告警抑制时段内。当确定当前检测周期在告警抑制时段内时,则发送当前检测周期的一个指标的一条告警信息给用户。在一个可能的实施例中,可将告警信息通过运维平台或无线消息的形式发送给cdn的用户。
106.基于上述检测装置100,本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序代码,当计算机程序代码被执行时,实现上述方法实施例中的方法步骤。
107.基于上述检测装置100本技术实施例还提供一种计算机程序产品,当计算机程序产品在检测装置上运行时,使得检测装置执行上述方法实施例中的方法步骤。
108.可以理解的是,本技术的实施例中的处理器可以是中央处理单元(central processing unit, cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field programmablegate array,fpga)或者其他可编程逻辑器件、晶体管逻辑器件,硬件部件或者其任意组合。通用处理器可以是微处理器,也可以是任何常规的处理器。
109.本技术的实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,ram)、闪存、只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom, eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)、寄存器、硬盘、移动硬盘、cd-rom或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于asic中。
110.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字客户端线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
111.可以理解的是,在本技术的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本技术的实施例的范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献