一種實現互聯網緩存系統資源回源的方法和系統的制作方法
【技術領域】
[0001]本發明涉及互聯網領域,尤其涉及一種實現互聯網緩存系統資源回源的方法和系統。
【背景技術】
[0002]隨著互聯網的蓬勃發展,網絡流量快速增長,給網絡運營商帶來了巨大的挑戰。網絡基礎設施擴容投資巨大,難以匹配用戶流量的增長速度。互聯網緩存系統(即Web Cache系統)是解決這一問題的有效方式之一。現網流量中約八成來自HTTP,主要包括視頻、文件下載、網頁瀏覽等,由于HTTP是基于客戶端/服務器(Client/Server)的模式,用戶訪問資源時都需要到資源所在的源站服務器獲取同樣的數據,這樣訪問同一資源的人數越多,產生的重復數據流量越大。
[0003]Web Cache系統是部署在客戶端和Web服務器之間的裝置,對客戶端上行請求進行監控,將服務器的響應保存到本地,包擴HTML網頁、圖片和文件下載等。后續收到訪問相同資源的請求時,使用已保存的響應副本返回給用戶,代替到源站Web服務器請求。
[0004]Web Cache系統基于存儲換帶寬、流量本地化的思路,將熱門資源緩存到本地,直接從本地為客戶端提供服務,大量減少了到上級網絡的流量,節省了網絡運營商的投資,同時還降低了客戶端訪問時延,提高了用戶體驗。
[0005]Web Cache系統的基本工作流程是:系統根據客戶端的上行請求進行實時分析和統計,選取最熱門的資源進行回源(即從原始網站獲取資源在本地緩存);當系統收到客戶端請求時,判斷目標資源在本地是否已經緩存;如果是,Web Cache系統從本地讀取資源數據并返回給客戶端,避免了客戶端到原始網站獲取資源。
[0006]Web Cache系統一般部署在核心路由器側,為該區域內的客戶端提供緩存加速服務。以中國移動網絡運營商為例,一般在各個省的網絡出口處分別部署獨立的Web Cache系統,由于各套Web Cache系統之間是彼此獨立的,對于相同的資源,每套Web Cache系統都需要單獨從原始網站獲取資源,整個網絡的出口回源流量中仍有不少的重復數據。
【發明內容】
[0007]有鑒于此,有必要提供一種實現Web Cache系統資源回源的方法和系統,可以減少同一網絡運營商的多套Web Cache系統與原始網站之間的出口流量,減少重復數據的發送,降低運營商的出口流量結算費用。
[0008]第一方面,本發明實施例提供了一種實現Web Cache系統資源回源的方法,適用于至少包括第一 Web Cache系統和第二 Web Cache系統的應用場景,包括:
[0009]第一 Web Cache系統配置有第二 Web Cache系統的地址信息;
[0010]第一 Web Cache系統需要對目標資源進行回源時,根據配置的第二 WebCache系統的地址信息,向第二Web Cache系統發送獲取資源請求,所述獲取資源請求中攜帶目標資源的信息;
[0011]第二 Web Cache系統確認本地存儲有目標資源,向第一 Web Cache系統發送所述目標資源。
[0012]引用第一方面的第一種可能的實施方式中,第二 Web Cache系統還可以配置有第一 Web Cache系統的地址信息;第二 Web Cache系統在收到第一 Web Cache系統發送的請求時,根據配置的地址信息對第一 Web Cache系統進行校驗。
[0013]引用第一方面的第二種可能的實施方式中,第一 Web Cache系統在向第二 WebCache系統發送獲取資源請求前,向第二 Web Cache系統發送資源查詢請求,所述資源查詢請求中攜帶目標資源的信息;
[0014]第二Web Cache系統根據所述目標資源的信息,在本次存儲的資源中進行查詢,確定本地存儲有目標資源后,向第一Web Cache系統返回響應消息,所述響應消息中包括第二Web Cache系統存儲所述目標資源的地址。
[0015]進一步的,在引用第一方面的第二種可能的實施方式中,第一Web Cache系統還配置有除第二 Web Cache系統以外的其他一個或多個Web Cache系統的地址;
[0016]第一 Web Cache系統并行或串行向第二 Web Cache系統以及至少一個其他WebCache系統發送資源查詢請求,所述資源查詢請求中攜帶目標資源的信息;
[0017]第二 Web Cache系統或至少一個其他Web Cache系統根據所述目標資源的信息,在本地存儲的資源中進行查詢,確定本地存儲有目標資源后,向第一 WebCache系統返回響應消息,所述響應中包括Web Cache系統自身的負載信息或處理能力信息;
[0018]第一 Web Cache系統根據所述響應消息中的Web Cache系統的負載信息或處理能力信息,確定目標回源系統。
[0019]引用第一方面的可能的實施方式中,第二Web Cache系統確認本地存儲有目標資源,向第一 Web Cache系統發送所述目標資源具體為:
[0020]第二 Web Cache系統確認本地存儲有目標資源,向第一 Web Cache系統發送所述目標資源在第二 Web Cache系統中存儲地址信息;
[0021]第一 Web Cache系統根據所述存儲地址信息,向第二 Web Cache發送第二獲取資源請求,所述第二獲取資源請求中包括目標資源的信息;
[0022]第二 Web Cache系統根據所述目標資源的信息,向第一 Web Cache系統發送自身存儲的目標資源。
[0023]引用第一方面的可能的實施方式中,第一 Web Cache系統還可以通過與第二 WebCache系統的交互,獲得第二 Web Cache系統支持的資源能力信息;
[0024]第一 Web Cache系統需要對目標資源進行回源時,根據所述第二 Web Cache系統支持的資源能力信息,確定所述第二 Web Cache系統支持所述目標資源時,向第二 WebCache系統發送第一資源請求。
[0025]引用第一方面的可能的實施方式中,第一Web Cache系統還可以配置有除第二WebCache系統以外的其他一個或多個Web Cache系統的地址,則第二 WebCache系統確認本地沒有存儲有目標資源,可以向第一Web Cache系統返回失敗響應;第一Web Cache系統繼續向所述其他Web Cache系統或者向目標資源的源網站發送資源請求,以獲取所述目標資源。
[0026]第二方面,本發明實施例提供了一種實現Web Cache資源回源的系統,該系統包括第一 Web Cache系統和第二 Web Cache系統,
[0027]第一 Web Cache系統,配置有第二 Web Cache系統的地址信息,當需要對目標資源進行回源時,用于根據配置的第二 Web Cache系統的地址信息,向第二 Web Cache系統發送獲取資源請求,所述第一資源請求中攜帶目標資源的信息;
[0028]第二 Web Cache系統,用于接收第一 Web Cache系統發送的獲取資源請求,確認本地存儲有目標資源,向第一 Web Cache系統發送所述目標資源。
[0029]引用第二方面的可能的實施方式中,第二 Web Cache系統可以配置有第一 WebCache系統的地址信息,用于在收到第一 Web Cache系統發送的請求時,根據配置的地址信息對第一 Web Cache系統進行校驗。
[0030]引用第二方面的可能的實施方式中,第一 Web Cache系統在向第二 WebCache系統發送獲取資源請求前,還用于向第二Web Cache系統發送資源查詢請求,所述資源查詢請求中攜帶目標資源的信息;
[0031]第二Web Cache系統用于接收所述資源查詢請求,根據所述目標資源的信息,在本地存儲的資源中進行查詢,確定本地存儲有目標資源后,向第一 WebCache系統返回響應消息,所述響應消息中包括第二 Web Cache系統存儲所述目標資源的地址。
[0032]引用第二方面的可能的實施方式中,第二 Web Cache系統進一步可以包括請求調度單元和緩存服務單元;
[0033]第一 Web Cache系統,配置有第二 Web Cache系統的請求調度單元的地址信息,當需要對目標資源進行回源時,用于根據配置的第二 Web Cache系統的請求調度單元的地址信息,向第二Web Cache系統的請求調度單元發送獲取資源請求,所述獲取資源請求中攜帶目標資源的信息;
[0034]第二 Web Cache系統的請求調度單元,用于接收第一 Web Cache系統發送的獲取資源請求,確認本地的緩存服務單元中存儲有目標資源,向第一 WebCache系統發送第二Web Cache系統的緩存服務單元的地址;
[0035]第一 Web Cache系統用于接收到第二 Web Cache系統的緩存服務單元的地址后,向第二 Web Cache系統的緩存服務單元發送第二獲取資源請求,所述第二獲取資源請求中攜帶有目標資源的信息;
[0036]第二 Web Cache系統的緩存服務單元,用于接收第一 Web Cache系統發送的第二獲取資源請求,根據第二獲取資源請求中攜帶的目標資源的信息,向第一Web Cache系統發送自身存儲的目標資源。
[0037]引用第二方面的可能的實施方式中,第一 Web Cache系統,還用于與第二 WebCache系統交互,獲得第二 Web Cache系統支持的資源能力信息,當需要對目標資源進行回源時,用于根據所述第二 Web Cache系統支持的資源能力信息,確定所述第二 Web Cache系統支持所述目標資源時,向第二 Web Cache系統發送第一資源請求。
[0038]第三方面,本發