动态

详情 返回 返回

一種CDN動態加速回源白名單選路及降低源站探測量的方法 - 动态 详情

本文分享自天翼雲開發者社區《一種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配置,執行分頻道動態加載即可。

 

Add a new 评论

Some HTML is okay.