基于cdn和數(shù)據(jù)中心動態(tài)選擇的互聯(lián)網(wǎng)內容分發(fā)方法
【專利摘要】本發(fā)明提供給的基于CDN和數(shù)據(jù)中心動態(tài)選擇的互聯(lián)網(wǎng)內容分發(fā)方法,包括步驟:入口服務器對用戶動態(tài)數(shù)據(jù)請求,通過動態(tài)選擇的互聯(lián)網(wǎng)內容分發(fā)方法,執(zhí)行選擇過程,選擇由哪一個內容分發(fā)網(wǎng)絡CDN來接受用戶服務請求、以及由哪一個數(shù)據(jù)中心提供數(shù)據(jù)。用戶的請求被重定向到被選擇的內容分發(fā)網(wǎng)絡的一個副本服務器上,通過選擇過程,選擇一個分布式的數(shù)據(jù)中心,用來返回動態(tài)數(shù)據(jù)到被選擇的內容分發(fā)網(wǎng)絡上離用戶最近的副本服務器上,被選擇的副本服務器返回靜態(tài)數(shù)據(jù)和動態(tài)數(shù)據(jù)給用戶。本發(fā)明通過綜合網(wǎng)絡、CDN、數(shù)據(jù)中心的約束條件,求解混合整數(shù)線性規(guī)劃,用以得到這三者間費用最優(yōu)的數(shù)據(jù)流。動態(tài)數(shù)據(jù)處理的費用較傳統(tǒng)方法平均降低10%以上。
【專利說明】基于CDN和數(shù)據(jù)中心動態(tài)選擇的互聯(lián)網(wǎng)內容分發(fā)方法
【技術領域】
[0001]本發(fā)明涉及內容分發(fā)網(wǎng)絡,具體地,涉及基于⑶N和數(shù)據(jù)中心動態(tài)選擇的互聯(lián)網(wǎng)內容分發(fā)方法。
【背景技術】
[0002]內容分發(fā)網(wǎng)絡(Content Distributed Network, Q)N),是通過在網(wǎng)絡各處放置副本服務器,作為用戶和源服務器之間增加的Cache層,將用戶的請求引導到Cache上獲得源服務器的數(shù)據(jù),從而使用戶可就近取得所需內容,解決Internet網(wǎng)絡擁擠的狀況,提高用戶訪問網(wǎng)站的響應速度。其中,源服務器中數(shù)據(jù)存放在分布式的數(shù)據(jù)中心中,同時,用戶訪問的數(shù)據(jù)可能在不同服務器或數(shù)據(jù)中心中有多份拷貝。
[0003]用戶訪問的數(shù)據(jù)主要涉及動態(tài)數(shù)據(jù)和靜態(tài)數(shù)據(jù),其中,CDN中進行緩存的主要為靜態(tài)數(shù)據(jù),用戶在進行靜態(tài)數(shù)據(jù)訪問時,在數(shù)據(jù)不過期時CDN可以直接通過副本服務器向用戶返回緩存的內容。而動態(tài)數(shù)據(jù)的獲得仍然需要CDN向源服務器進行請求,通過可以獲得該數(shù)據(jù)的數(shù)據(jù)中心,向用戶返回該數(shù)據(jù)。
[0004]當前,各個⑶N提供商有著不同的計價標準。同時,每個⑶N會將自己用戶組按照不同的地理范圍劃分為不同的區(qū)域,不同區(qū)域間實行不同的計價標準,一般是按照使用的流量收費,也有個別CDN是按照網(wǎng)絡訪問次數(shù)收費或兩者兼用。另外,用戶較多使用CDN也會有費用上的優(yōu)惠,即用戶使用流量較多時,CDN提供商將會降低用戶每單位流量的費用。
[0005]對于在內容分發(fā)網(wǎng)絡中產生的費用,主要包含兩個方面:
[0006]I)用戶使用⑶N的費用。
[0007]2)數(shù)據(jù)中心的電價。
[0008]在當前的研究中,學者們一直非常關心如何降低數(shù)據(jù)中心的電價,以及如何降低用戶使用CDN的費用
[0009]在降低數(shù)據(jù)中心的電價方面,主要有以下幾種方法:
[0010]I)數(shù)據(jù)中心內部
[0011]數(shù)據(jù)中心內部降低電價的方式有:動態(tài)地關閉暫時不使用的服務器;合理使用數(shù)據(jù)中心內的降溫系統(tǒng)等。
[0012]2)多數(shù)據(jù)中心間
[0013]由于數(shù)據(jù)中心是分布式的,在不同地區(qū),單位電能的電價可能不一樣。同時,由于在一部分國家地區(qū)由于智能電網(wǎng)的作用,產生了實時電價,即同一地區(qū)不同時間的電價也可能不同。由于電價的差別,將數(shù)據(jù)分配給不同數(shù)據(jù)中心處理,將會使總電價降低。
[0014]目前的⑶N分配策略,主要是將用戶的請求數(shù)據(jù)分配到距離最近的⑶N中。對用戶使用CDN費用降低的方法主要為:在滿足用戶延時和負載限制的情況下,將用戶的請求數(shù)據(jù)分配到用戶可以訪問的⑶N中費用最低的⑶N上。
[0015]雖然當前有各種各樣的方法來降低數(shù)據(jù)中心中的電價或用戶使用CDN的費用,但并沒有一種方法將其綜合考慮。即在當前的方法中,數(shù)據(jù)中心電價降低的方法有可能導致CDN費用的上漲,CDN費用降低的方法也可能導致數(shù)據(jù)中心電價的上漲,使在內容分發(fā)網(wǎng)絡中產生的總費用增加或降低較少。因此,需要提供一種綜合降低數(shù)據(jù)中心中電價及用戶使用CDN費用的方法,以優(yōu)化內容分發(fā)網(wǎng)絡中產生的總費用。
【發(fā)明內容】
[0016]針對現(xiàn)有技術中的缺陷,本發(fā)明的目的是提供一種基于CDN和數(shù)據(jù)中心動態(tài)選擇的互聯(lián)網(wǎng)內容分發(fā)方法。本發(fā)明主要涉及三個發(fā)明點=COMIC框架,基于費用的cost-aware算法,cost-aware算法的輔助算法。其中COMIC框架主要用以描述用戶向⑶N請求數(shù)據(jù)時用戶、CDN、數(shù)據(jù)中心間的相互聯(lián)系及數(shù)據(jù)傳輸,是一種新型的用戶、CDN、數(shù)據(jù)中心間的數(shù)據(jù)傳輸架構,用以支持我們設計的基于費用的cost-aware算法。基于費用的cost-aware算法,主要用以降低數(shù)據(jù)中心中電價及用戶使用⑶N的費用的總費用。cost-aware算法的輔助算法,用以減少在cost-aware算法中涉及到的變量個數(shù),提高算法效率。
[0017]根據(jù)本發(fā)明提供的基于⑶N和數(shù)據(jù)中心動態(tài)選擇的互聯(lián)網(wǎng)內容分發(fā)方法,包括如下步驟:
[0018]步驟1:入口服務器接收用戶對于數(shù)據(jù)的請求;
[0019]步驟2:入口服務器對用戶對于數(shù)據(jù)的請求進行辨識,辨識為動態(tài)數(shù)據(jù)請求或者靜態(tài)數(shù)據(jù)請求;對于動態(tài)數(shù)據(jù)請求,由入口服務器執(zhí)行選擇過程,其中,所述選擇過程為:選擇由哪一個內容分發(fā)網(wǎng)絡CDN來接受用戶服務請求、以及由哪一個數(shù)據(jù)中心提供數(shù)據(jù);
[0020]步驟3:入口服務器返回基本的索引頁給用戶;
[0021]步驟4:通過選擇 過程,選擇一個合適的內容分發(fā)網(wǎng)絡CDN作為被選擇的內容分發(fā)網(wǎng)絡;
[0022]步驟5:用戶的請求被重定向到所述被選擇的內容分發(fā)網(wǎng)絡上;
[0023]步驟6:用戶的請求被重定向到被選擇的內容分發(fā)網(wǎng)絡的一個副本服務器上;
[0024]步驟7:通過選擇過程,選擇一個分布式的數(shù)據(jù)中心,用來返回動態(tài)數(shù)據(jù)到被選擇的內容分發(fā)網(wǎng)絡上離用戶最近的副本服務器上;
[0025]步驟8:被選擇的所述最近的副本服務器返回靜態(tài)數(shù)據(jù)和動態(tài)數(shù)據(jù)給用戶。
[0026]優(yōu)選地,所述選擇過程具體包括如下步驟:
[0027]步驟Al:利用輸入的網(wǎng)絡拓撲結構中集合CNj、和集合NDk,計算出待求集合⑶」,其中:
[0028]集合CNj為內容分發(fā)網(wǎng)絡Cj能夠相連的數(shù)據(jù)中心nk的集合,Cj表示編號為j的內容分發(fā)網(wǎng)絡,nk表示編號為k的數(shù)據(jù)中心;
[0029]集合NDk為數(shù)據(jù)中心nk能夠處理的數(shù)據(jù)類型(I111的集合,dm表示編號為m的數(shù)據(jù)類型;
[0030]集合⑶」為內容分發(fā)網(wǎng)絡Cj能夠處理的數(shù)據(jù)類型Clni的集合;
[0031]步驟A2,利用用戶組集合Us、集合UC1'集合⑶P求出對任意U1 e Us, Cj e UC1, dm e CDj的組合,作為^u1, Cj, dm)的非零變量,其中,集合UC1為所在地理位置為I的用戶組^能夠相連的內容分發(fā)網(wǎng)絡Cj的集合,fu。(U1, Cj, dm)為用戶U1向內容分發(fā)網(wǎng)絡Cj對數(shù)據(jù)類型Cl111的請求數(shù);
[0032]步驟A3,利用內容分發(fā)網(wǎng)絡的集合Cs、集合CNj、集合⑶」,求出對任意Cj e Cs, nk e CNj, dm e NDk 的組合,作為 fcd(Cj, nk, dm)的非零變量,其中,fcd(Cj,nk, dm)為內容分發(fā)網(wǎng)絡h向數(shù)據(jù)中心nk對數(shù)據(jù)類型Clni的請求數(shù)。
[0033]優(yōu)選地,所述選擇過程具體還包括如下步驟:
[0034]步驟B1:根據(jù)數(shù)據(jù)中心所在位置的實時電價、數(shù)據(jù)類型的特性、內容分發(fā)網(wǎng)絡的計費函數(shù),使用MATLAB的工具箱YALMIP進行混合整數(shù)線性規(guī)劃求解,得到相應的fuc (?, Cj, dm)和 fcd (Cj, nk, dm);
[0035]步驟B2:利用得到的fu。(U1, Cj, dm)和fed (Cj, nk, dm),判斷來自地理位置為I的用戶組U1關于數(shù)據(jù)類型Cl111的請求由哪個內容分發(fā)網(wǎng)絡Cj處理和哪個數(shù)據(jù)中心nk處理。
[0036]優(yōu)選地,所述數(shù)據(jù)類型的特性,包括:一個處理器可以同時處理數(shù)據(jù)的個數(shù)、處理一個數(shù)據(jù)類型的數(shù)據(jù)的平均耗電量、每種數(shù)據(jù)類型的平均大小。
[0037]優(yōu)選地,在步驟BI中,所述混合整數(shù)線性規(guī)劃求解,在待求的線性規(guī)劃中,解向量中的參數(shù)中被約束全為整數(shù),或部分為整數(shù),以滿足具體情況下的需求。
[0038]優(yōu)選地,在步驟B2中,所述的判斷來自地理位置為I的用戶組!^關于數(shù)據(jù)類型dm的請求由哪個內容分發(fā)網(wǎng)絡Cj處理和哪個數(shù)據(jù)中心nk處理,具體為:
[0039](I)對任意的U1,根據(jù)相應的fue(Ul,Cj, dm),判斷出該用戶U1關于數(shù)據(jù)類型dm向內容分發(fā)網(wǎng)絡Cj發(fā)送了多少請求;通過遍歷所有的內容分發(fā)網(wǎng)絡Cj,確定對于用戶組!^關于數(shù)據(jù)類型dm的請求由哪個或哪些內容分發(fā)網(wǎng)絡Cj處理;
[0040](2)對任意的Cj,根據(jù)相應的f;d (Cj, nk, dm),判斷出該內容分發(fā)網(wǎng)絡Cj關于數(shù)據(jù)類型dm向相應的數(shù)據(jù)中心nk發(fā)送了多少請求;對相應的用戶U1,計算
【權利要求】
1.一種基于CDN和數(shù)據(jù)中心動態(tài)選擇的互聯(lián)網(wǎng)內容分發(fā)方法,其特征在于,包括如下步驟: 步驟1:入口服務器接收用戶對于數(shù)據(jù)的請求; 步驟2:入口服務器對用戶對于數(shù)據(jù)的請求進行辨識,辨識為動態(tài)數(shù)據(jù)請求或者靜態(tài)數(shù)據(jù)請求;對于動態(tài)數(shù)據(jù)請求,由入口服務器執(zhí)行選擇過程,其中,所述選擇過程為:選擇由哪一個內容分發(fā)網(wǎng)絡CDN來接受用戶服務請求、以及由哪一個數(shù)據(jù)中心提供數(shù)據(jù); 步驟3:入口服務器返回基本的索引頁給用戶; 步驟4:通過選擇過程,選擇一個合適的內容分發(fā)網(wǎng)絡CDN作為被選擇的內容分發(fā)網(wǎng)絡; 步驟5:用戶的請求被重定向到所述被選擇的內容分發(fā)網(wǎng)絡上; 步驟6:用戶的請求被重定向到被選擇的內容分發(fā)網(wǎng)絡的一個副本服務器上; 步驟7:通過選擇過程,選擇一個分布式的數(shù)據(jù)中心,用來返回動態(tài)數(shù)據(jù)到被選擇的內容分發(fā)網(wǎng)絡上離用戶最近的副本服務器上; 步驟8:被選擇的所述最 近的副本服務器返回靜態(tài)數(shù)據(jù)和動態(tài)數(shù)據(jù)給用戶。
2.根據(jù)權利要求1所述的基于CDN和數(shù)據(jù)中心動態(tài)選擇的互聯(lián)網(wǎng)內容分發(fā)方法,其特征在于,所述選擇過程具體包括如下步驟: 步驟Al:利用輸入的網(wǎng)絡拓撲結構中集合CNj、和集合NDk,計算出待求集合CD」,其中:集合為內容分發(fā)網(wǎng)絡&能夠相連的數(shù)據(jù)中心nk的集合,(^表示編號為j的內容分發(fā)網(wǎng)絡,nk表示編號為k的數(shù)據(jù)中心; 集合NDk為數(shù)據(jù)中心nk能夠處理的數(shù)據(jù)類型Clni的集合,dm表示編號為m的數(shù)據(jù)類型; 集合CDj為內容分發(fā)網(wǎng)絡Cj能夠處理的數(shù)據(jù)類型Clni的集合; 步驟A2,利用用戶組集合Us、集合UC1、集合⑶P求出對任意U1 e Us, Cj e UC1, dm e⑶』的組合,作為TuJii1, Cj, dm)的非零變量,其中,集合UC1為所在地理位置為I的用戶組U1能夠相連的內容分發(fā)網(wǎng)絡Cj的集合,fuc (U1, Cj, dm)為用戶U1向內容分發(fā)網(wǎng)絡Cj對數(shù)據(jù)類型dm的請求數(shù); 步驟A3,利用內容分發(fā)網(wǎng)絡的集合Cs、集合CNj、集合⑶」,求出對任意Cj e Cs, nk e CNj, dm e NDk 的組合,作為 fcd(Cj, nk, dm)的非零變量,其中,fcd(Cj,nk, dm)為內容分發(fā)網(wǎng)絡h向數(shù)據(jù)中心nk對數(shù)據(jù)類型Clni的請求數(shù)。
3.根據(jù)權利要求2所述的基于CDN和數(shù)據(jù)中心動態(tài)選擇的互聯(lián)網(wǎng)內容分發(fā)方法,其特征在于,所述選擇過程具體還包括如下步驟: 步驟B1:根據(jù)數(shù)據(jù)中心所在位置的實時電價、數(shù)據(jù)類型的特性、內容分發(fā)網(wǎng)絡的計費函數(shù),使用MATLAB的工具箱YALMIP進行混合整數(shù)線性規(guī)劃求解,得到相應的fue(Ul,Cj, dm)和 fcd(Cj,nk,dj ; 步驟B2:利用得到的Cj, dm)和f;d(Cj,nk, dm),判斷來自地理位置為I的用戶組U1關于數(shù)據(jù)類型Clni的請求由哪個內容分發(fā)網(wǎng)絡Cj處理和哪個數(shù)據(jù)中心nk處理。
4.根據(jù)權利要求3所述的基于CDN和數(shù)據(jù)中心動態(tài)選擇的互聯(lián)網(wǎng)內容分發(fā)方法,其特征在于,所述數(shù)據(jù)類型的特性,包括:一個處理器可以同時處理數(shù)據(jù)的個數(shù)、處理一個數(shù)據(jù)類型的數(shù)據(jù)的平均耗電量、每種數(shù)據(jù)類型的平均大小。
5.根據(jù)權利要求3所述的基于CDN和數(shù)據(jù)中心動態(tài)選擇的互聯(lián)網(wǎng)內容分發(fā)方法,其特征在于,在步驟BI中,所述混合整數(shù)線性規(guī)劃求解,在待求的線性規(guī)劃中,解向量中的參數(shù)中被約束全為整數(shù),或部分為整數(shù),以滿足具體情況下的需求。
6.根據(jù)權利要求3所述的基于CDN和數(shù)據(jù)中心動態(tài)選擇的互聯(lián)網(wǎng)內容分發(fā)方法,其特征在于,在步驟B2中,所述的判斷來自地理位置為I的用戶組U1關于數(shù)據(jù)類型dm的請求由哪個內容分發(fā)網(wǎng)絡Cj處理和哪個數(shù)據(jù)中心nk處理,具體為: (1)對任意的U1,根據(jù)相應的fuc;(Ul,Cj,dm),判斷出該用戶U1關于數(shù)據(jù)類型dm向內容分發(fā)網(wǎng)絡Cj發(fā)送了多少請求;通過遍歷所有的內容分發(fā)網(wǎng)絡Cj,確定對于用戶組!^關于數(shù)據(jù)類型dm的請求由哪個或哪些內容分發(fā)網(wǎng)絡Cj處理; (2)對任意的Cj,根據(jù)相應的f;d(Cj,nk,dm),判斷出該內容分發(fā)網(wǎng)絡Cj關于數(shù)據(jù)類型dm向相應的數(shù)據(jù)中心nk發(fā)送了多少請求;對相應的用戶U1,計算
【文檔編號】H04L12/14GK103701619SQ201310501145
【公開日】2014年4月2日 申請日期:2013年10月22日 優(yōu)先權日:2013年10月22日
【發(fā)明者】姚建國, 周海航 申請人:上海交通大學