写点什么

一种 CDN 动态加速回源白名单选路及降低源站探测量的方法

  • 2025-10-10
    北京
  • 本文字数:1848 字

    阅读完需:约 6 分钟

本文分享自天翼云开发者社区《一种CDN动态加速回源白名单选路及降低源站探测量的方法》.作者:蒋辉

本方案主要包括以下几个方面:

1)本发明提出了一种减少跨运营商探测源站及回源的方法,技术方案流程图见附图 1,具体实现步骤如下:

a)加载 ip 库文件到共享内存哈希表;

b)软件管理平台下发允许对源站发起探测的运营商规则配置文件,文件名为:cross_isp_detect_rule.conf,内容如下所示:

CN_dianxin: CN_dianxin,CN_liantong #仅允许运营商属性为电信/联通的 CDN 节点对运营商属性为电信的源站发起探测 CN_liantong: CN_liantong  #仅允许运营商属性为联通的 CDN 节点对运营商属性为联通的源站发起探测 CN_yidong: all     #忽略 CDN 节点的运营商属性,即允许所有 CDN 节点对运营商属性为移动的源站发起探测 CN_tietong: CN_tietong  #仅允许运营商属性为铁通的 CDN 节点对运营商属性为铁通的源站发起探测 haiwai: haiwai  #仅允许地理区域为海外(即国家简写为非 CN)的 CDN 节点对地理位置为海外的源站发起探测

c)软件启动时,会进行 cross_isp_detect_rule.conf 配置文件的解析,建立源站运营商属性与允许探测源站的 CDN 节点运营商属性的映射表 CrossISPDetectRuleMap;

d) 软件启动后,如果想更改或删除 cross_isp_detect_rule.conf 配置文件内容,可执行命令脚本./exec_cross_isp_detect_rule.sh add(更新/添加) | del(删除),此时脚本会通过 http 请求的方式通知进程重新加载更新/删除 cross_isp_detect_rule.conf 文件,从而更新/删除 CrossISPDetectRuleMap 映射表;

e)软件在发起探测前,获取 CDN 节点主机与源站 ip,通过共享内存 AB 区热更新机制从共享内存哈希表中查询 CDN 节点主机与源站的运营商及地理区域信息;

f)以源站 ip 的运营商属性为 key 从映射表 CrossISPDetectRuleMap 中查找允许探测该源站的 CDN 节点运营商属性,判断其是否与 CDN 节点主机运营商属性存在交集或者 CrossISPDetectRuleMap 中对应的 value 为 all。若是,才触发对源站的探测;否则,不触发对源站的探测。

2)此外,本发明针对政企客户源站存在白名单限制的场景,提出来一种回源白名单选路方法,技术方案流程图见附图 2,具体实现步骤如下:

a)软件配置平台下发回源白名单方案配置列表配置 back_origin_white_list,可配置包含多个回源白名单方案,例如:针对源站在华北地区规划一个华北回源白名单列表,针对源站在华东地区规划一个华东回源白名单列表,针对源站在华南地区规划一个华南回源白名单列表。并且对不同的回源白名单方案进行不同的命名。配置格式为:回源白名单方案名称:回源白名单节点 vip 列表,内容如下所示:

back_origin_white_list:  NorthChinaWhiteList: "1.1.1.1,2.2.2.2,3.3.3.3"  EastChinaWhiteList: "4.4.4.4,5.5.5.5,6.6.6.6,7.7.7.7"  SouthChinaWhiteList: "8.8.8.8,9.9.9.9"

上述格式中:NorthChinaWhiteList 表示回源白名单方案,1.1.1.1,2.2.2.2,3.3.3.3 为 NorthChinaWhiteList 回源白名单方案的回源白名单节点 vip 列表,多个 vip 以逗号分隔。

b)全局配置加载时,建立回源白名单方案与回源白名单节点 vip 列表之间的映射关系到映射表 BackOriginWhiteListMap 中;

c)支持不同客户分频道选择不同的回源白名单方案配置,如:分频道配置下发定制化的回源白名单方案配置 back_origin_white_list_name: NorthChinaWhiteList,表示分频道配置的回源白名单方案为 NorthChinaWhiteList;

d)根据分频道配置的回源白名单方案,在映射表 BackOriginWhiteListMap 中获取对应的回源白名单节点 vip 列表,根据主机角色来触发不同的探测逻辑关系,具体内容如下:

  • 若本机角色为边缘,则边缘探测一层区域父及回源白名单节点 vip 列表,判断本机节点 vip 是否在回源白名单节点 vip 列表中,若是,则说明其属于回源白名单列表里的节点,此时触发对源站的探测;否则,不触发源站的探测。

  • 如果本机角色为一层父,探测其他一层父、二层父及回源白名单节点 vip 列表,判断本机节点 vip 是否在回源白名单节点 vip 列表中,若是,则说明其属于回源白名单列表里的节点,此时触发对源站的探测;否则,不触发源站的探测。

  • 如果本机角色为二层父,探测其他二层父、一层父及回源白名单节点 vip 列表,判断本机节点 vip 是否在回源白名单节点 vip 列表中,若是,则说明其属于回源白名单列表里的节点,此时触发对源站的探测;否则,不触发源站的探测。

e)若想调整回源白名单节点 vip 列表,只需更新软件全局 back_origin_white_list 配置,执行 reload 热更新即可;若想调整客户定制化的回源白名单方案,只需更改分频道 back_origin_white_list_name 配置,执行分频道动态加载即可。

 

用户头像

还未添加个人签名 2022-02-22 加入

天翼云是中国电信倾力打造的云服务品牌,致力于成为领先的云计算服务提供商。提供云主机、CDN、云电脑、大数据及AI等全线产品和场景化解决方案。

评论

发布
暂无评论
一种CDN动态加速回源白名单选路及降低源站探测量的方法_CDN_天翼云开发者社区_InfoQ写作社区