技术领域
[0001] 本发明涉及内容分发网络领域,尤其涉及一种内容分发网络的告警管理系统。
相关背景技术
[0002] 内容分发网络(Content Delivery Network,简称CDN)是一种分布式网络系统,旨在通过在多个地理位置部署服务器节点,将内容(如网页、图片、视频、脚本等)更快速、更可靠地传递给最终用户。
[0003] CDN的核心思想是将内容从原始服务器复制到多个分布广泛的缓存服务器上。当用户请求某个内容时,CDN会将请求重定向到离用户最近的缓存服务器上,从而减少数据传输的延迟和带宽消耗,提高用户访问速度和体验。
[0004] CDN在运行过程中,通常需要对其进行监控,以确保服务质量和性能,当检测到符合告警规则的事件发生时,告警系统便会进行相应的告警。现有技术中,对CDN进行告警管理时,通常一种类型的告警事件至少包含一种类型的运行参数,而一种类型的运行参数都是长时间地对应着一个固定的告警处理优先处理值,当同一时间内接收到多种类型的运行参数时,优先处理值越高则越优先对该类型的运行参数进行分析。但是,由于CDN网络的使用情况一直处于变化状态,固定的处理优先处理值容易导致未能够及时发现的告警事件以进行处理,从而影响CDN网络的服务质量,影响用户的使用体验。
具体实施方式
[0048] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0049] 如图1所示的一种实施例,本发明提供了一种内容分发网络的告警管理系统,包括数据采集模块、数据分析模块和告警模块;
[0050] 数据采集模块用于采集内容分发网络的运行参数;
[0051] 数据分析模块包括计算单元、分析单元和更新单元;
[0052] 计算单元用于基于运行参数与告警事件之间的关联值计算运行参数的优先处理值;
[0053] 分析单元用于基于优先系数对运行参数进行分析,包括:
[0054] 若在设定的分析周期内,接收到的运行参数的类型的数量大于等于2,则按照运行参数的优先处理值从高到低的顺序对运行参数进行分析,判断是否发生预设类型的告警事件;
[0055] 若在设定的分析周期内,仅接收到一种类型的运行参数,则对运行参数进行分析,判断是否发生预设类型的告警事件;
[0056] 更新单元用于对运行参数与告警事件之间的关联值进行更新;
[0057] 告警模块用于在发生预设类型的告警事件时,根据预先设定的告警策略进行告警。
[0058] 本发明的方案与现有技术有非常大的区别,首先,优先处理值并不是固定的数值,这就使得优先处理值能够随着内容分发网络中的运行情况的变化而变化,使得优先处理值可以更加准确地表示出不同类型的运行参数的优先处理程度,其次,由于不同类型的运行参数的获取频率并不同,因此,在同一个分析周期内,可能同时接收到多种类型的运行参数,本发明能够依据优先处理值对同一个分析周期中接收到的不同类型的运行参数进行计算,判断是否有预设类型的告警时间的发生,从而提高了及时发现内容分发网络中异常情况的概率,最后是本发明用于计算优先处理值的关联值是会更新的,这就使得计算出的优先处理值能够更加贴合最新的内容分发网络的运行情况,为及时发现内容分发网络中异常情况提供了有效的参考数据。
[0059] 优选地,设定的分析周期为1分钟。
[0060] 具体的,分析周期的数值可以根据内容分发网络的通信繁忙程度来进行设置,通信越繁忙,则数值可以设置得越小,从而有利于及时发现内容分发网络中的异常情况。
[0061] 在本发明中,分析周期是连续的,即前一个分析周期结束之后,便立刻进入下一个分析周期。
[0062] 优选地,采集内容分发网络的运行参数,包括:
[0063] 对于最新采集到的运行参数z,使用如下公式计算的运行参数z的正确性校验系数:
[0064]
[0065] corveriz表示z的正确性校验系数,Ub表示在时间段[tz‑δ,tz]内,采集到的b类型的运行参数的集合,δ表示设定的正确性校验时长,valuez和valueh分别表示z和h的值,h为Ub中的运行参数,valuemx表示Ub中的运行参数的最大值,timz,h表示z和h的采集时刻之间的所相隔的时间长度,timz,max表示Ub中的运行参数的采集时刻与z的采集时刻之间的所相隔的时间长度的最大值;
[0066] 计算z的异常程度值:
[0067]
[0068] unnrlz表示z的异常程度值;
[0069] 若异常程度值大于预先设定的异常程度阈值,则不将z发送至数据分析模块,否则,将z发送至数据分析模块。
[0070] 本发明在获取运行参数的过程中,并不是直接将所有的运行参数作为保存的对象。因为内容分发网络中可能存在干扰事件造成网络参数数值异常,由于干扰事件所造成的影响并不是持续的,因此,若基于这样的事件类触发告警,容易增加工作量。因此,本发明先对z进行正确性校验系数的计算,然后基于正确性校验系数来计算异常程度值,当异常程度值超宇对应的阈值时,则表示该类型的运行参数为干扰事件造成的变化,属于非常态下的数值,本发明不将z发送至数据分析模块来进行分析,从而能够有效地降低误触发告警的概率。
[0071] 在计算正确性校验系数时,若z和h之间的数值差距越小,采集时刻之间的所相隔的时间长度越小,则h对正确性校验系数的计算结果的贡献程度越大,从而能够增大了不同的运行参数对计算结果的贡献程度的差距,提高了计算出的正确性校验系数的有效性。
[0072] 优选地,预先设定的异常程度阈值为0.05。
[0073] 优选地,运行参数包括CDN节点的使用带宽、总流量、回源流量、接收到的请求次数等。
[0074] 运行参数是CDN节点在运行过程中会发生变化的与CDN节点的状态有关的数值。
[0075] 优选地,采集内容分发网络的运行参数,包括:
[0076] 分别采集内容分发网络中的每个CDN节点的运行参数。
[0077] 具体的,在一个内容分发网络中,通常存在多个CDN节点。CDN节点通常部署在全球各地的数据中心,这些节点可以是物理服务器、虚拟服务器或云服务器。CDN节点的主要功能是通过缓存内容和使用全局负载均衡技术,将用户的请求转发到离用户最近的节点,从而加快内容传输速度和提高用户体验。简而言之,CDN节点充当缓存服务器的角色,存储了广泛的内容副本,使得用户能够更快速地访问这些内容,而不是从原始服务器获取。
[0078] 优选地,基于运行参数与告警事件之间的关联值计算运行参数的优先处理值,包括:
[0079] 采用预设的计算周期,基于运行参数与告警事件之间的关联值计算运行参数的优先处理值。
[0080] 在本发明中,预设的计算周期是连续的,当前一个计算周期结束之后,便立刻进入下一个计算周期。当前一个计算周期结束之后,便基于前一个计算周期的内容分发网络的运行参数来更新优先处理值。
[0081] 通过周期性地对优先处理值进行更新,能够使得优先处理值能够更加贴合最新的内容分发网络的运行情况。
[0082] 优选地,预设的计算周期为30分钟。
[0083] 优选地,优先处理值的计算过程包括:
[0084] 用b表示运行参数的类型,用assvalb表示b类型的运行参数与预设的各种类型的告警事件之间的关联值的最大值;
[0085] b类型的运行参数的优先处理值的计算公式为:
[0086]
[0087] priprob表示b类型的运行参数的优先处理值,α1和α2分别表示预设的第一权重和第二权重,cycb表示在时间段[coltimb‑H,coltimb]内,数据采集模块采集到的b类型的运行参数的集合,coltimb表示上一个计算周期的结束时刻,H为预设的计算周期,i表示cycb中的元素的值,numi表示cycb中的元素的数量,mai表示b类型的运行参数的最大值。
[0088] 由于每种类型的运行参数可能并不仅仅与一种类型的告警事件相关,因此,本发明关联值的最大值,关联值的最大值表示了当前类型的运行参数的重要程度,关联值的最大值越大,则表示当前类型的运行参数在对告警事件的是否发生的判断过程中越重要。
[0089] 但是,由于内容分发网络的状态一直都是处于变化之中,而由于关联值的计算过程比较复杂,关联值的更新周期又比较大,因为若设置过小的更新周期,会导致频繁地对关联值进行计算,会占用告警管理系统中较多的计算资源,这样便会对告警事件的监测性能造成影响。因此,本发明的优先处理值是在关联值的基础上,再结合上一个计算周期中的运行参数的来计算得到的,当运行参数在上一个计算周期中的波动变化程度越大时,则相应地,优先处理值也会越大,反之,则越小,从而使得优先处理值与关联值相比,能够更加准确地对当前的网络运行情况进行表示,从而更加及时地识别出告警事件。
[0090] 优选地,预设的第一权重和第二权重分别为0.7和0.3。
[0091] 在本发明中,预设的第一权重的数值是大于第二权重的数值的,因为需要以关联值作为主要的参考,以上一个计算周期中的波动变化情况在作为辅助参考。
[0092] 每种类型的运行参数都有一个提前设置的最大值,一般是每种类型的运行参数的性能上限,例如,对于使用带宽这个运行参数来说,对应的就是CDN节点的最大可用带宽。
[0093] 优选地,对运行参数进行分析,判断是否发生预设类型的告警事件,包括:
[0094] 将运行参数与输入到预设的各种类型的告警事件的告警规则中进行计算,判断运行参数符合的告警规则的数量是否大于等于1,若是,则表示发生预设类型的告警事件,若否,则表示没有发生预设类型的告警事件。
[0095] 由于一种类型的运行参数可能对应着不同类型的告警事件,例如,对于使用带宽这种类型的运行参数来说,其可能对应着类型使用带宽过大、网络拥堵等多种类型的告警事件,因此,通过分别将运行参数与每种类型的告警事件的告警规则进行对比,从而能够确定出所有存在的告警事件。
[0096] 预设的告警规则可以是对运行参数的数值进行判断,例如,对于使用带宽过大这种类型的告警事件来说,使用带宽大于CDN节点的最大可用带宽的90%便表示符合使用带宽过大这个告警事件的告警规则,而对于网络拥堵这种类型的告警事件来说,使用带宽大于CDN节点的最大可用带宽的97%便表示符合使用带宽过大这个告警事件的告警规则。
[0097] 优选地,对运行参数与告警事件之间的关联值进行更新,包括:
[0098] 采用自适应的更新周期对运行参数与告警事件之间的关联值进行更新。
[0099] 在本发明中,更新周期是连续的,前一个更新周期结束之后便进入后一个更新周期,且开始计算新的关联值,在新的关联值计算出来之前,都是使用旧的关联值来计算优先处理值。
[0100] 由于关联值的计算量过大,因此,本发明并不是采用固定的更新周期来计算关联值,因为这样影响对运行参数的判断效率。因此,本发明基于自适应的更新周期来计算关联值,使得关联值的更新周期可以随着通信环境的变化而自适应得变化,提高关联值的有效性。
[0101] 优选地,自适应的更新周期的计算过程包括:
[0102] 用cycupdb,c+1表示b类型的运行参数对应的第c+1个更新周期,在第c个更新周期结束之后,若numtrigc大于numtrigc‑1,则cycupdb,c+1的计算公式为:
[0103]
[0104] 若numtrigc小于等于numtrigc‑1,则cycupdb,c+1的计算公式为:
[0105]
[0106] cycupdb,c表示b类型的运行参数对应的第c个更新周期,numtrigc和numtrigc‑1分别表示在第c个和第c‑1个更新周期内,由b类型的运行参数触发的告警事件的数量,numbc表示在第c个更新周期内数据采集模块获得b类型的运行参数的总数,bascy为更新周期的基础变化时长,cycupdmi和cycupdma分别表示预设的更新周期的最小值和最大值。
[0107] 具体的,c的值大于等于2。在本发明中,更新周期能够随着前两个更新周期中,运行参数的变化情况而自适应地变化,从而能够在运行参数触发告警时间的数量呈现增加趋势时,缩小更新周期,以使得可以获得与实际的网络运行环境更加贴合的关联值,能够更加及时的监测到告警事件,在运行参数触发告警时间的数量呈现减少趋势时,增大更新周期,以使得可以降低对运行参数的判断效率的影响程度。另外,本发明的更新周期的变化程度还与亲一个更新周期内由b类型的运行参数触发的告警事件的数量相关,数量越大,则更新周期的变化程度越大。因此,本发明的更新周期实现了保证关联值与实际的网络运行环境的贴合程度与对运行参数的判断效率的影响程度之间的均衡,从而为客户提供了告警性能更好的告警管理系统。
[0108] 当符合告警规则时,则表示触发告警事件。
[0109] 优选地,更新周期的基础变化时长为2小时。
[0110] 优选地,预设的更新周期的最小值和最大值分别为12小时和36小时。
[0111] 更新周期的最小值和最大值可以根据CDN节点的数据更新频率来进行设定,更新频率越高,则最小值和最大值都相应地减少,以使得关联值能够更加贴合实际的网络运行情况。
[0112] 优选地,第一个更新周期和第二个更新周期由于缺少能够进行计算的数据,因此,第一个更新周期和第二个更新周期为cycupdmi。
[0113] 优选地,对运行参数与告警事件之间的关联值进行更新,包括:
[0114] 对于d类型的告警事件,将d类型的告警事件所对应的基准运行参数的类型表示为typed;
[0115] 在第c个更新周期结束之后,分别用Ub,c和 表示在第c个更新周期中得到的b类型的运行参数与typed类型的运行参数的集合;
[0116] 将Ub,c和 之间的相关系数作为b类型的运行参数与d类型的告警事件之间的关联值。
[0117] 具体的,每种类型的告警事件都有对应的基准运行参数,基准运行参数对所有类型的运行参数中的一种,基准运行参数为与告警事件之间的关联程度最大的运行参数。通过对一种类型的告警事件发生时,不同的类型的运行参数的数据特征进行分析,能够确定该种类型的事件的基准运行参数。
[0118] 优选地,对不同的类型的运行参数的数据特征进行分析,分析过程包括:
[0119] 数据预处理:首先,对运行参数进行预处理,包括数据清洗、格式化和归一化等,以确保后续分析的准确性。
[0120] 特征提取:从运行参数中提取数据特征,如流量变化斜率、请求错误率、用户访问模式等。
[0121] 统计识别:利用机器学习算法,如聚类分析、分类算法、异常检测模型等,对提取的特征进行统计识别。例如,通过聚类分析,可以发现使用带宽过大这种类型的告警事件出现时,各种类型的数据特征的出现概率,将出现概率最高的数据特征所对应的类型的运行参数作为使用带宽过大这种类型的告警事件的基准运行参数。
[0122] 另外,还可以根据行业经验来手动地设置告警事件的基准运行参数。例如对于,使用带宽过大这种类型的告警事件,将基准运行参数设置为使用带宽。
[0123] 优选地,如图2所示,告警模块包括告警等级获取单元和告警单元;
[0124] 告警等级获取单元用于获取发生的预设类型的告警事件所对的告警等级;
[0125] 告警单元用于基于告警等级对应的告警策略进行告警。
[0126] 具体的,不同类型的告警事件对应着不同的告警等级。一种设置方式是,对CDN的性能的影响程度越大,则告警事件的告警等级越高。
[0127] 例如,对缓存命中率的影响程度越大的告警事件的告警等级越高。
[0128] 可以将告警等级分为10级,然后对不同类型的告警事件对缓存命中率的影响程度进行量化,例如用造成缓存命中率的降低的百分比的最大值来进行量化,每隔10%设置一个告警等级,造成缓存命中率的降低的百分比的降低幅度处于区间[0,10%]时,则为1级告警等级。以此类推,获得每种告警等级对应的缓存命中率的降低的百分比区间。
[0129] 另一种设置方式是,造成的经济损失越大,则告警事件的告警等级越高。
[0130] 优选地,基于告警等级对应的告警策略进行告警,包括:
[0131] 在本发明中,告警等级越高,表示告警事件对CDN的性能的影响程度越大,每种告警等级对应着不同的告警策略。
[0132] 优选地,告警策略包括告警方式和告警内容。
[0133] 告警方式包括邮件告警、电话告警、弹窗告警、推送告警等。在告警时,告警等级越低,则采用的不同类型的告警手段越少。告警内容为在设定的分析周期内,发生的告警事件的所有类型。
[0134] 例如,当告警等级为10级时,告警方式包括所有类型的告警手段。
[0135] 与现有的内容分发网络告警管理方式相比,本发明通过不定期对运行参数与告警事件之间的关联值进行更新,然后再定期计算优先处理值,这样,当数据分析模块在设定的分析周期内接收到多种类型的运行参数时,便能够优先对优先处理值高的运行参数进行分析计算,从而提高了对告警事件进行发现的及时性。
[0136] 应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0137] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。