本申請涉及數據處理,具體涉及一種內容刷新方法、裝置、電子設備和存儲介質。
背景技術:
1、內容分發網絡(content?delivery?network,cdn)內容刷新是一個復雜且關鍵的任務,大規模的刷新請求可能會對cdn本身的業務造成壓力,影響其他用戶的正常訪問體驗。
2、現有技術給出的cdn內容刷新方案是:通過建立不同優先級別的隊列,將刷新任務發布至發布訂閱消息系統中與cdn用戶的優先級相對應的主題隊列中,優先級別高的用戶刷新效率更高,但是當優先級別高的用戶存在大量刷新需求時,無法提高刷新效率;或者,利用分發網絡節點間的拓撲關系,但是并未提升url的刷新效率,刷新量也并未減少;或者,通過將源站內容和待刷新的內容進行比較,不一致時完成刷新,但是由于內容比較需要對源站進行內容的拉取,提高了源站的訪問壓力。
3、上述cdn內容刷新方案存在資源刷新效率低的問題。
技術實現思路
1、本申請實施例提供一種內容刷新方法、裝置、電子設備和存儲介質,用以解決現有技術中資源刷新效率低的問題。
2、第一方面,本申請實施例提供一種內容刷新方法,包括:
3、在接收到刷新請求后,從所述刷新請求中提取所請求的資源對應的域名;
4、基于所述域名,獲取域名分發的節點集群和緩存失效時間;所述緩存失效時間表征緩存中保存的資源的過期時間;
5、獲取在緩存生效時間內的流量節點集群;所述緩存生效時間是基于所述緩存失效時間確定的;
6、基于域名分發的節點集群和所述流量節點集群,確定待刷新節點集群,并刷新所述待刷新節點集群;所述待刷新節點集群表征在所述緩存生效時間內存在流量的節點集群。
7、根據本申請提供的一種內容刷新方法,所述刷新所述待刷新節點集群,包括:
8、從待處理消息隊列中讀取至少一個所述刷新請求;
9、對所述刷新請求中的統一資源定位符url進行拆解,以提取所述url中的資源路徑;
10、基于所述資源路徑,構建路徑層級樹;
11、基于所述路徑層級樹,合并所述刷新請求;
12、基于合并后的刷新請求,刷新所述待刷新節點集群。
13、根據本申請提供的一種內容刷新方法,所述基于所述路徑層級樹,合并所述刷新請求,包括:
14、基于待刷新節點集群中各待刷新節點的性能指標及其權重,確定各待刷新節點的服務負載指數得分;
15、獲取與所述服務負載指數得分關聯的合并路徑層級和升級閾值;所述升級閾值表征url的處理量;
16、若所述路徑層級樹的任一父節點所在的層級大于或等于所述合并路徑層級,且所述父節點的葉子節點數量大于或等于所述升級閾值,則合并所述父節點對應的所有刷新請求。
17、根據本申請提供的一種內容刷新方法,所述基于合并后的刷新請求,刷新所述待刷新節點集群,包括:
18、從刷新消息隊列中讀取至少一個合并后的刷新請求;所述刷新消息隊列存儲有合并后的刷新請求;
19、向所述待刷新節點集群中的待刷新節點發送刷新請求;其中,所述待刷新節點基于接收到的刷新請求刷新緩存的內容。
20、根據本申請提供的一種內容刷新方法,所述從待處理消息隊列中讀取至少一個所述刷新請求之前,還包括:
21、若所述域名在升級白名單中,則將所述刷新請求和所述待刷新節點集群寫入所述待處理消息隊列。
22、根據本申請提供的一種內容刷新方法,所述基于域名分發的節點集群和所述流量節點集群,確定待刷新節點集群,包括:
23、提取域名分發的節點集群和所述流量節點集群的交集,以去除未分發且存在流量的節點,得到所述待刷新節點集群。
24、根據本申請提供的一種內容刷新方法,確定所述緩存生效時間,包括:
25、確定當前時間與所述緩存失效時間之間的時間差;
26、基于所述時間差和所述當前時間,確定所述緩存生效時間。
27、第二方面,本申請實施例提供一種內容刷新裝置,包括:
28、域名確定模塊,用于在接收到刷新請求后,從所述刷新請求中提取所請求的資源對應的域名;
29、獲取模塊,用于基于所述域名,獲取域名分發的節點集群和緩存失效時間;所述緩存失效時間表征緩存中保存的資源的過期時間;
30、流量節點集群確定模塊,用于獲取在緩存生效時間內的流量節點集群;所述緩存生效時間是基于所述緩存失效時間確定的;
31、刷新模塊,用于基于域名分發的節點集群和所述流量節點集群,確定待刷新節點集群,并刷新所述待刷新節點集群;所述待刷新節點集群表征在所述緩存生效時間內存在流量的節點集群。
32、第三方面,本申請實施例提供一種電子設備,包括處理器和存儲有計算機程序的存儲器,所述處理器執行所述程序時實現第一方面所述的內容刷新方法的步驟。
33、第四方面,本申請實施例提供一種非暫態計算機可讀存儲介質,其上存儲有計算機程序,所述計算機程序被處理器執行時實現第一方面所述的內容刷新方法的步驟。
34、本申請實施例提供的內容刷新方法、裝置、電子設備和存儲介質,通過在接收到刷新請求后,從刷新請求中提取所請求的資源對應的域名;基于域名獲取域名分發的節點集群和緩存失效時間;緩存失效時間表征緩存中保存的資源的過期時間;獲取在緩存生效時間內的流量節點集群;緩存生效時間是基于緩存失效時間確定的;基于域名分發的節點集群和流量節點集群,確定待刷新節點集群,并刷新待刷新節點集群,待刷新節點集群表征在緩存生效時間內存在流量的節點集群。本申請將域名業務流量和刷新任務結合起來,對緩存生效時間范圍內存在流量的節點進行刷新處理,提高刷新任務的有效性,減少了無效刷新的量,減輕了邊緣節點的壓力。
1.一種內容刷新方法,其特征在于,包括:
2.根據權利要求1所述的內容刷新方法,其特征在于,所述刷新所述待刷新節點集群,包括:
3.根據權利要求2所述的內容刷新方法,其特征在于,所述基于所述路徑層級樹,合并所述刷新請求,包括:
4.根據權利要求2所述的內容刷新方法,其特征在于,所述基于合并后的刷新請求,刷新所述待刷新節點集群,包括:
5.根據權利要求2所述的內容刷新方法,其特征在于,所述從待處理消息隊列中讀取至少一個所述刷新請求之前,還包括:
6.根據權利要求1所述的內容刷新方法,其特征在于,所述基于域名分發的節點集群和所述流量節點集群,確定待刷新節點集群,包括:
7.根據權利要求1所述的內容刷新方法,其特征在于,確定所述緩存生效時間,包括:
8.一種內容刷新裝置,其特征在于,包括:
9.一種電子設備,包括處理器和存儲有計算機程序的存儲器,其特征在于,所述處理器執行所述計算機程序時實現權利要求1至7任一項所述的內容刷新方法的步驟。
10.一種非暫態計算機可讀存儲介質,其上存儲有計算機程序,其特征在于,所述計算機程序被處理器執行時實現權利要求1至7任一項所述的內容刷新方法的步驟。