anycast隧道_一种以anycast方式部署的CDN监控可用性的方法与流程

anycast隧道_一种以anycast方式部署的CDN监控可用性的方法与流程本发明涉及一种CDN节点监控可用性的方法,具体涉及一种以anycast方式部署的CDN监控可用性的方法。背景技术:现有CDN可用性的检测方法,一般通过一些探测点检测目的CDN的可用性,在探测到失败时,认为目的CDN不可用;对于以anycast方式部署的CDN监控,得到的结果是不准确的;因为多个探测点发出的探测数据不一定到达了所有的目的CDN;导致探测数据未到达的CDN实际上没有被监控到。技术实现要…

大家好,又见面了,我是你们的朋友全栈君。

anycast隧道_一种以anycast方式部署的CDN监控可用性的方法与流程

本发明涉及一种CDN节点监控可用性的方法,具体涉及一种以anycast方式部署的CDN监控可用性的方法。

背景技术:

现有CDN可用性的检测方法,一般通过一些探测点检测目的CDN的可用性,在探测到失败时,认为目的CDN不可用;对于以anycast方式部署的CDN监控,得到的结果是不准确的;因为多个探测点发出的探测数据不一定到达了所有的目的CDN;导致探测数据未到达的CDN实际上没有被监控到。

技术实现要素:

本发明提供一种通过双向分析,提高了监控准确性的以anycast方式部署的CDN监控可用性的方法。

本发明采用的技术方案是:一种以anycast方式部署的CDN监控可用性的方法,包括以下步骤:

步骤1:选取探测节点探测目的CDN节点的可用性,每个目的CDN节点至少有两个探测点的探测数据可以到达,将探测结果储存;

步骤2:在目的CDN节点上根据探测日志,得到到达此CDN节点的探测节点,将探测结果储存;

步骤3:根据步骤1和步骤2得到的探测数据,判断一定时间内目的CDN节点到达的探测节点数量N,是否满足N<1,若是则判断此目的CDN不可用;若否则转入步骤4;

步骤4:判断N是否满足N≥2,若是则转入步骤5,若否则输出告警;

步骤5:根据步骤1和步骤2得到的结果,判断一定时间内到达目的CDN节点的探测节点判断该目的CDN节点为不可用的概率n。

步骤6:若n满足设定阈值则判断此目的CDN节点为可用,若否则判断此目的CDN节点不可用,完成CDN节点的监控。

进一步的,包括以下步骤:在假设目的CDN节点可用的情况下,根据步骤1和步骤2得到的探测数据得到目的CDN节点和探测节点的映射关系。

进一步的,所述步骤1中探测节点探测目的CDN节点可用性的方法如下:

S1:获取目的CDN节点的IP信息;

S2:对IP信息进行http探测,判断目的CDN是否可用。

进一步的,所述S2中对IP信息进行http探测过程如下:

设置超时时间,若探测超时或返回报错,则此目的CDN节点不可用;经过多次探测,若大于50%的概率探测结果为不可用,则判定此目的CDN节点不可用。

(1)本发明通过双向分析,保证每个目的节点都有探测点到达,大大提高了监控的准确性;

(2)本发明能够得到目的CDN节点和探测点的网络影射,增加了对网络路径的直观了解。

附图说明

图1为本发明流程示意图。

具体实施方式

下面结合附图和具体实施例对本发明做进一步说明。

如图1所示:一种以anycast方式部署的CDN监控可用性的方法,包括以下步骤:

步骤1:选取探测节点探测目的CDN节点的可用性,每个目的CDN节点至少有两个探测点的探测数据可以到达,将探测结果储存。

根据现有资源在国内各主要城市、不同运营商部署探测程序(尽量选取多个主要城市,覆盖到多个运营商即可),每隔一分钟探测一次目的CDN节点的可用性;选取时保证每个目的CDN节点必须有至少两个探测点的探测数据可以到达(通过在目的CDN查看日志判断是否有探测点到达);探测到的数据是各个单点检测的结果,将探测数据存入数据库,供分析程序把各个节点汇总的数据统一分析。

探测目的CDN节点可用性的过程如下:

获取目的CDN节点的所有IP信息,然后对每个IP进行http探测,可以使用http的head方法进行探测,根据经验值设置超时时间,如果探测超时或返回报错,则认为此次目的CDN节点不可用;通常需要进行多次探测,如果大于50%的概率探测都不可用,则认为此目的CDN节点不可用。

步骤2:在目的CDN节点上根据探测日志,得到到达此CDN节点的探测节点,将探测结果储存。

在所有的目的CDN节点上部署用户访问日志分析的程序,分析目的CDN节点有哪些探测点的探测日志;从日志中分析出到达此目的CDN节点的探测节点,将探测数据存入到数据库中。

步骤3:根据步骤1和步骤2得到的探测数据,判断一定时间内目的CDN节点到达的探测节点数量N,是否满足N<1,若是则判断此目的CDN不可用;若否则转入步骤4。

以分钟为单位分析每分钟各个目的CDN节点到达的探测节点的数目,如果探测节点的数量N小于1则告警此目的CDN不可用;若否则转入步骤4。

步骤4:判断N是否满足N≥2,若是则转入步骤5,若否则输出告警;

如果探测节点的数量N小于2,则告警通知需要增加探测节点的数目,若否则转入步骤5。

步骤5:根据步骤1和步骤2得到的结果,判断一定时间内到达目的CDN节点的探测节点判断该目的CDN节点为不可用的概率n;若n满足设定阈值则判断此目的CDN节点为可用,若否则判断此目的CDN节点不可用,完成CDN节点的监控。

以分钟为单位分析到达每个目的CDN节点的探测节点是否有50%以上判断此目的CDN节点为不可用;如果超过50%则告警此目的CDN不可用;报警的阈值即分析的时间段可以根据实际情况进行修改。

在假设目的CDN节点可用的情况下,根据步骤1和步骤2探测得到的数据,可以得到目的CDN和探测节点的网络映射关系;通过网络映射关系可以对网络路径有直观的了解。

本发明中提到的术语如下:

CDN:内容分发网络,提高用户访问网站的响应速度。

anycast:利用多个as号码在不同的地区广播相同的一个IP段,即不同服务器用相同的IP地址。

本发明首先选择M个不同位置的探测点,保证每个目的CDN节点有至少两个探测点可以到达(防止只有一个探测节点时,如果这个探测节点链路出问题,导致探测不到目的CDN节点);探测到的数据汇总到中心服务器进行分析;同时在目的CDN节点上通过日志分析,得到到达的探测节点信息,发送到中心服务器;中心服务器根据探测节点的探测数据和目的CDN节点的日志分析数据,通过双向分析判断以anycast方式部署的目的CDN是否可用;根据可以实现对目的CDN的实时监控;并且可以给出探测节点和目的CDN节点的网络映射关系。

本发明解决了由于传统的CDN监控方式可能造成探测节点并没有到达的anycast方式部署的目的CDN节点,导致监控的结果不准确的问题;通过双向分析的方法,保证每个目的CDN节点都有探测节点到达,大大提高了监控的准确性;并且可以根据探测数据得到目的CDN节点和探测接待之间的网络映射关系,增加了对网络路径的直观了解。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/142365.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Vue子组件调用父组件的方法及传值「建议收藏」

    Vue子组件调用父组件的方法及传值「建议收藏」//父组件<template><divclass=”home”><HelloWorldref=”mychild”></HelloWorld><div@click=”clickParent”>clickme</div></div></template><script>importHelloWorldfrom’@/components/HelloW

    2022年10月2日
    3
  • 2021pycharm最新激活码【2021免费激活】「建议收藏」

    (2021pycharm最新激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~00OE5RWT28-eyJsaWNlbnNlSWQiOi…

    2022年3月30日
    1.3K
  • 国内cdn加速免备案_免备案解析

    国内cdn加速免备案_免备案解析踩坑记录,初次尝试免备案使用国内CDN,当然结局是以失败告终,还受到了“惨痛”的教训,希望大家引以为戒,千万不要学我!!但是我现在备案了,所以可以正常使用!实现方案接入阿里云海外CDN首先通过“全球(不包含中国大陆)”的方式接入阿里云CDN,不需要检查域名备案情况,但是会在阿里云CDN留有记录了。接入阿里云海外CDN修改域名解析到国内节点虽然我们接入的是海外CDN,但是这时候将域名解析修改…

    2025年10月23日
    2
  • void loop在c语言中什么意思,C语言中的loop是什么意思,在C语言中loop是什么意思?…[通俗易懂]

    void loop在c语言中什么意思,C语言中的loop是什么意思,在C语言中loop是什么意思?…[通俗易懂]loop是一个在编程中习惯用的语句标号。且长配合goto语句使用。由于现在编程不提倡使用goto语句,c中的语句标号也好少用到。另附上goto,break,continue和return用法:===========================================程序中的语句通常总是按顺序方向,或按语句功能所定义的方向执行的。假如需要改变程序的正常流向,可以使用本小节介绍的转…

    2022年5月19日
    51
  • 服务自启动设置_服务器设置启动项

    服务自启动设置_服务器设置启动项一、linux下的服务分类RPM包默认安装的服务这些服务是通过RPM包安装的,可以被服务管理命令识别。又分为两种子分类:1)独立的服务:就是独立启动的意思,这类型的服务可以自行启动,而不

    2022年8月3日
    5
  • 大数据平台数据权限管理设计

    大数据平台数据权限管理设计背景和范围当前大数据团队没有一个统一的操作权限控制和管理平台,对于分析师在服务器上的权限,目前都是给予对应分析节点的EC2机器账号,且为了方便操作和管理都是给予的管理员权限,因此安全性风险较大;对于数据开发者,主要通过分配IAM控制AWS的操作权限;对于team的所有人都是通过分配aws的ak,sk在本地进行操作赋权;随着数据平台的不断的丰富和完善,需要在各组件之上做认证,鉴权和审计等管理,数…

    2022年5月31日
    34

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号