本發(fā)明涉及一種基于SDN的CDN網(wǎng)絡(luò)的用戶請求分配方法,屬于網(wǎng)絡(luò)通信領(lǐng)域。
背景技術(shù):
隨著研究的展開,傳統(tǒng)的CDN網(wǎng)絡(luò)存在以下缺陷:
1、無法了解網(wǎng)絡(luò)全局拓?fù)浜透兄W(wǎng)絡(luò)狀態(tài)信息,缺乏控制[路由的手段與能力,沒法保障用戶QoE;
2、一般采用DNS重定向,對長時間、大體積的流很難進(jìn)行管理,而且如何將用戶請求分配到合理的代理服務(wù)器以提高服務(wù)質(zhì)量仍是一個問題。
基于此,將軟件定義網(wǎng)絡(luò)(Software defined network,SDN)技術(shù)應(yīng)用在CDN網(wǎng)絡(luò)中開始引起人們的注意。SDN是一種基于軟件可編程思想的新型網(wǎng)絡(luò)架構(gòu),通過將網(wǎng)絡(luò)設(shè)備控制平面和數(shù)據(jù)轉(zhuǎn)發(fā)平面分離,控制平面可以做到集中式統(tǒng)一調(diào)度,網(wǎng)絡(luò)提供者可以根據(jù)需求,為用戶實時動態(tài)分配資源實現(xiàn)網(wǎng)絡(luò)的靈活智能控制。同時,利用SDN的可編程性,能更有效的解決復(fù)雜的網(wǎng)絡(luò)管理與控制問題。將SDN和CDN網(wǎng)絡(luò)結(jié)合的核心優(yōu)勢在于:
1、SDN能使CDN提供商更好的管理和升級底層網(wǎng)絡(luò)設(shè)備。
2、SDN提供了接口來收集實時的網(wǎng)絡(luò)信息,包括網(wǎng)絡(luò)全局拓?fù)湫畔?、鏈路的時延、流量監(jiān)測信息等,這些信息能被用來形成請求分配的決策。
3、SDN控制器通過OpenFlow協(xié)議,通過直接改寫流表項實現(xiàn)將用戶請求實時重定向到合適的服務(wù)器。
現(xiàn)有SDN與CDN結(jié)合的系統(tǒng)架構(gòu)中,SDN控制器根據(jù)收集到的網(wǎng)絡(luò)信息,采用動態(tài)分配算法,選擇出合適的代理服務(wù)器和路徑,但單個SDN控制器的處理能力有限,且無法支持跨控制域決策。
現(xiàn)在由于用戶對獲取資源的質(zhì)量要求越來越高,而服務(wù)器選擇和路徑選擇是決定CDN網(wǎng)絡(luò)性能好壞的關(guān)鍵?,F(xiàn)有CDN研究中,幾乎沒有針對服務(wù)器選擇和路徑選擇進(jìn)行聯(lián)合優(yōu)化。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是提供一種基于SDN的CDN網(wǎng)絡(luò)的用戶請求分配方法,該方法能夠支持CDN網(wǎng)絡(luò)的跨控制域決策。
為實現(xiàn)上述目的,本發(fā)明所采用的技術(shù)方案是:
本發(fā)明基于SDN的CDN網(wǎng)絡(luò)的用戶請求分配方法包括以下步驟:
步驟一、各SDN控制器通過OpenFlow接口實時收集CDN網(wǎng)絡(luò)信息,所述CDN網(wǎng)絡(luò)信息包括網(wǎng)絡(luò)全局拓?fù)洹㈡溌窌r延和流量,并將收集到的所述CDN網(wǎng)絡(luò)信息上傳到智能中心的數(shù)據(jù)庫中;
步驟二、智能中心的決策模塊根據(jù)數(shù)據(jù)庫所接收的所述CDN網(wǎng)絡(luò)信息,采用動態(tài)分配算法計算CDN網(wǎng)絡(luò)的各代理服務(wù)器被分配到用戶的內(nèi)容請求的比例,并計算CDN網(wǎng)絡(luò)的入口交換機(jī)到各代理服務(wù)器的路徑被分配到用戶的內(nèi)容請求的比例,并將各代理服務(wù)器的IP地址、CDN網(wǎng)絡(luò)的各代理服務(wù)器被分配到用戶的內(nèi)容請求的比例和CDN網(wǎng)絡(luò)的入口交換機(jī)到各代理服務(wù)器的路徑被分配到用戶的內(nèi)容請求的比例下發(fā)到SDN控制器;
步驟三、SDN控制器根據(jù)所接收到的代理服務(wù)器的IP地址、CDN網(wǎng)絡(luò)的各代理服務(wù)器被分配到用戶的內(nèi)容請求的比例、以及CDN網(wǎng)絡(luò)的入口交換機(jī)到各代理服務(wù)器的路徑被分配到用戶的內(nèi)容請求的比例修改所述入口交換機(jī)的流表項;
步驟四、用戶發(fā)送內(nèi)容請求到所述入口交換機(jī),入口交換機(jī)將內(nèi)容請求與所述流表項進(jìn)行匹配并將匹配后的內(nèi)容請求轉(zhuǎn)發(fā)到目標(biāo)代理服務(wù)器,用戶從目標(biāo)代理服務(wù)器中獲取所請求的內(nèi)容,所述目標(biāo)代理服務(wù)器被分配到用戶的內(nèi)容請求的比例不為0。
進(jìn)一步地,本發(fā)明利用公式(1)計算CDN網(wǎng)絡(luò)的各代理服務(wù)器被分配到用戶的內(nèi)容請求的比例、以及CDN網(wǎng)絡(luò)的入口交換機(jī)到各代理服務(wù)器的路徑被分配到用戶的內(nèi)容請求的比例:
其中,
公式(1)—(6)中,Jd表示用戶平均響應(yīng)時間優(yōu)化參數(shù),Jb表示用戶帶寬滿足度偏移度優(yōu)化參數(shù),Jp表示穩(wěn)定性優(yōu)化參數(shù),ωb表示用戶帶寬滿足度偏移度優(yōu)化參數(shù)Jb相對于用戶平均響應(yīng)時間優(yōu)化參數(shù)Jd的權(quán)重值,ωp表示穩(wěn)定性優(yōu)化參數(shù)Jp相對于用戶平均響應(yīng)時間優(yōu)化參數(shù)Jd的權(quán)重值,ps(t)表示t時間內(nèi)CDN網(wǎng)絡(luò)的各代理服務(wù)器被分配到用戶的內(nèi)容請求的比例,i表示CDN網(wǎng)絡(luò)的入口交換機(jī)到目標(biāo)代理服務(wù)器s的路徑,pi,s(t)表示在t時間內(nèi)路徑i被分配到目標(biāo)代理服務(wù)器s的用戶的內(nèi)容請求的比例,s表示單個目標(biāo)代理服務(wù)器;S表示目標(biāo)代理服務(wù)器的集合,Is表示從CDN網(wǎng)絡(luò)的入口交換機(jī)到各目標(biāo)代理服務(wù)器s的路徑的集合,d(t)表示t時間內(nèi)用戶平均響應(yīng)時間,H表示預(yù)測時域,T表示當(dāng)前時刻,s表示單個目標(biāo)代理服務(wù)器,e表示CDN網(wǎng)絡(luò)的入口交換機(jī)到目標(biāo)代理服務(wù)器s的路徑i中的鏈路;BLe(t)表示在t時間內(nèi)CDN網(wǎng)絡(luò)的入口交換機(jī)到目標(biāo)代理服務(wù)器s的路徑i中的鏈路e的用戶帶寬滿足度偏移度;V表示用戶的內(nèi)容請求的數(shù)學(xué)平均值;Rt表示在t時間內(nèi)CDN網(wǎng)絡(luò)中的用戶的內(nèi)容請求的總數(shù);Ce表示鏈路e的容量,BPi(t)表示在t時間內(nèi)CDN網(wǎng)絡(luò)的入口交換機(jī)到各目標(biāo)代理服務(wù)器的路徑的用戶帶寬滿足度偏移度。
進(jìn)一步地,本發(fā)明所述t時間內(nèi)用戶平均響應(yīng)時間為:
其中,
公式(7)和(8)中,d(t)表示t時間內(nèi)用戶平均響應(yīng)時間,ds(t)表示CDN網(wǎng)絡(luò)中的各代理服務(wù)器的處理時間,de表示SDN控制器收集到的CDN網(wǎng)絡(luò)的入口交換機(jī)到目標(biāo)代理服務(wù)器s的路徑i中的鏈路e的鏈路時延,λt表示在t時間內(nèi)用戶的內(nèi)容請求到達(dá)目標(biāo)代理服務(wù)器s的平均速率,λs表示目標(biāo)代理服務(wù)器s的處理速率,ps(t)表示在時間內(nèi),CDN網(wǎng)絡(luò)的各代理服務(wù)器被分配到用戶的內(nèi)容請求的比例。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
(1)智能中心作為全局大腦,不受單個SDN控制器處理能力有限的約束,一些計算量較大、運(yùn)算復(fù)雜的決策轉(zhuǎn)移到部署在的智能中心的決策模塊進(jìn)行,減輕SDN控制器的壓力。
(2)由于SDN控制器通過OpenFlow接口實時收集CDN網(wǎng)絡(luò)的信息,并將收集到的信息上傳到智能中心的數(shù)據(jù)庫中,由此智能中心的決策模塊根據(jù)數(shù)據(jù)庫接收到的信息進(jìn)行決策,從而可以支持CDN網(wǎng)絡(luò)的跨控制域決策。
(3)智能中心的決策模塊進(jìn)一步采用基于MPC的用戶請求分配算法,能有效降低用戶平均響應(yīng)時間,提高用戶帶寬滿足度,同時保證系統(tǒng)的穩(wěn)定性。
附圖說明
圖1是本發(fā)明的基于SDN的CDN網(wǎng)絡(luò)的一種架構(gòu)示意圖。
具體實施方式
以下結(jié)合附圖具體說明本發(fā)明的基于SDN的CDN網(wǎng)絡(luò)的用戶請求分配方法。
在本發(fā)明中,基于SDN的CDN網(wǎng)絡(luò)架構(gòu)可如圖1所示。在圖1中,基于SDN的CDN網(wǎng)絡(luò)架構(gòu)主要包括底層網(wǎng)絡(luò)轉(zhuǎn)發(fā)設(shè)備、SDN控制器、智能中心三部分。
1、底層網(wǎng)絡(luò)轉(zhuǎn)發(fā)設(shè)備
底層網(wǎng)絡(luò)轉(zhuǎn)發(fā)設(shè)備一般為OpenFlow交換機(jī)。OpenFlow交換機(jī)通過OpenFlow協(xié)議與SDN控制器進(jìn)行交互。
2、SDN控制器
SDN控制器主要負(fù)責(zé)實時收集CDN網(wǎng)絡(luò)信息,并將收集到的CDN網(wǎng)絡(luò)信息上傳到智能中心的數(shù)據(jù)庫中,并通過修改OpenFlow交換機(jī)中的流表項控制底層轉(zhuǎn)發(fā)設(shè)備進(jìn)行轉(zhuǎn)發(fā)。CDN網(wǎng)絡(luò)信息包括網(wǎng)絡(luò)全局拓?fù)?、鏈路時延和流量等。
3、智能中心
智能中心包括決策模塊和數(shù)據(jù)庫。數(shù)據(jù)庫負(fù)責(zé)CDN網(wǎng)絡(luò)信息的存儲,決策模塊負(fù)責(zé)根據(jù)網(wǎng)絡(luò)信息形成智能決策。
本發(fā)明基于SDN的CDN網(wǎng)絡(luò)的用戶請求分配方法工作過程下所示:
步驟一:各SDN控制器通過OpenFlow接口實時收集CDN網(wǎng)絡(luò)信息,所述CDN網(wǎng)絡(luò)信息包括網(wǎng)絡(luò)全局拓?fù)?、鏈路時延和流量,并將收集到的所述CDN網(wǎng)絡(luò)信息上傳到智能中心的數(shù)據(jù)庫中。
步驟二:智能中心的決策模塊根據(jù)數(shù)據(jù)庫所接收的所述CDN網(wǎng)絡(luò)信息,采用動態(tài)分配算法計算CDN網(wǎng)絡(luò)的各代理服務(wù)器被分配到用戶的內(nèi)容請求的比例ps(t),并計算CDN網(wǎng)絡(luò)的入口交換機(jī)到各代理服務(wù)器的路徑被分配到用戶的內(nèi)容請求的比例,并將各代理服務(wù)器的IP地址、CDN網(wǎng)絡(luò)的各代理服務(wù)器被分配到用戶的內(nèi)容請求的比例pi,s(t)和CDN網(wǎng)絡(luò)的入口交換機(jī)到各代理服務(wù)器的路徑被分配到用戶的內(nèi)容請求的比例下發(fā)到SDN控制器。
步驟三:SDN控制器根據(jù)所接收到的代理服務(wù)器的IP地址、CDN網(wǎng)絡(luò)的各代理服務(wù)器被分配到用戶的內(nèi)容請求的比例ps(t)、以及CDN網(wǎng)絡(luò)的入口交換機(jī)到各代理服務(wù)器的路徑被分配到用戶的內(nèi)容請求的比例pi,s(t)修改所述入口交換機(jī)的流表項。
步驟四:用戶發(fā)送內(nèi)容請求到所述入口交換機(jī),入口交換機(jī)將內(nèi)容請求與所述流表項進(jìn)行匹配并將匹配后的內(nèi)容請求轉(zhuǎn)發(fā)到目標(biāo)代理服務(wù)器,用戶從目標(biāo)代理服務(wù)器中獲取所請求的內(nèi)容,所述目標(biāo)代理服務(wù)器被分配到用戶的內(nèi)容請求的比例ps(t)不為0。
進(jìn)一步地,本發(fā)明可以采用對單個入口交換設(shè)備發(fā)出的用戶請求進(jìn)行動態(tài)分配的方法進(jìn)行優(yōu)化,考慮用戶感知QoE(Quality of Experience,體驗質(zhì)量)的兩個核心指標(biāo):用戶平均響應(yīng)時間和用戶帶寬滿足度偏移度,同時考慮穩(wěn)定性,應(yīng)用MPC(Model Predictive Control,模型預(yù)測控制)算法進(jìn)行內(nèi)容請求分配(基于MPC的用戶請求分配算法),分配結(jié)果以比例形式呈現(xiàn)。具體方法如下:
利用以下公式(1)求解非線性規(guī)劃問題,計算CDN網(wǎng)絡(luò)的各代理服務(wù)器被分配到用戶的內(nèi)容請求的比例、以及CDN網(wǎng)絡(luò)的入口交換機(jī)到各代理服務(wù)器的路徑被分配到用戶的內(nèi)容請求的比例:
其中,
公式(1)中,Jd表示用戶平均相應(yīng)時間優(yōu)化參數(shù),Jb表示用戶帶寬滿足度偏移度優(yōu)化參數(shù),Jp表示穩(wěn)定性優(yōu)化參數(shù),ps(t)表示t時間內(nèi)CDN網(wǎng)絡(luò)的各代理服務(wù)器被分配到用戶的內(nèi)容請求的比例;pi,s(t)表示在t時間內(nèi),CDN網(wǎng)絡(luò)的入口交換機(jī)到目標(biāo)代理服務(wù)器s的路徑i被分配到目標(biāo)代理服務(wù)器s的用戶的內(nèi)容請求的比例;s表示單個目標(biāo)代理服務(wù)器;S表示目標(biāo)代理服務(wù)器的集合,Is表示從CDN網(wǎng)絡(luò)的入口交換機(jī)到各目標(biāo)代理服務(wù)器s的路徑的集合。ωb表示用戶帶寬滿足度偏移度優(yōu)化參數(shù)Jb相對于用戶平均響應(yīng)時間優(yōu)化參數(shù)Jd的權(quán)重值,ωp表示穩(wěn)定性優(yōu)化參數(shù)Jp相對于用戶平均響應(yīng)時間優(yōu)化參數(shù)Jd的權(quán)重值。
公式(2)定義了用戶平均響應(yīng)時間優(yōu)化參數(shù),d(t)表示t時間內(nèi)用戶平均響應(yīng)時間,H表示預(yù)測時域,T表示當(dāng)前時刻。其中,用戶平均響應(yīng)時間包括往返的鏈路時延和服務(wù)器的處理時間。公式(2)中所述t時間內(nèi)的用戶平均響應(yīng)時間d(t)滿足公式(7)所述關(guān)系:
公式(7)中,de表示SDN控制器收集到的CDN網(wǎng)絡(luò)的入口交換機(jī)到目標(biāo)代理服務(wù)器s的路徑i中的鏈路e的鏈路時延。
其中,可將所有代理服務(wù)器抽象成M/M/1排隊模型,由此CDN中各代理服務(wù)器處理時間ds(t)滿足如公式(8)所述關(guān)系:
公式(8)中,λt表示在t時間內(nèi)用戶的內(nèi)容請求到達(dá)目標(biāo)代理服務(wù)器s的平均速率,λs表示目標(biāo)代理服務(wù)器s的處理速率,ps(t)表示在t時間內(nèi),CDN網(wǎng)絡(luò)的各代理服務(wù)器被分配到用戶的內(nèi)容請求的比例。
用戶帶寬滿足度是指網(wǎng)絡(luò)實際能提供的帶寬和用戶請求的帶寬大小的比值,鏈路e上的用戶帶寬滿足度偏移度BLe(t)滿足如公式(3)所述關(guān)系:
公式(3)中,BLe(t)表示t時間內(nèi)CDN網(wǎng)絡(luò)的入口交換機(jī)到目標(biāo)代理服務(wù)器的路徑i中的鏈路e的用戶帶寬滿足度偏移度,pi,s(t)表示t時間內(nèi)選擇路徑i到服務(wù)器s的用戶請求比例,V表示平均用戶請求大小,Rt表示t時間內(nèi)CDN網(wǎng)絡(luò)中的總用戶請求數(shù),Ce表示所述鏈路e的容量。[x]+表示當(dāng)x>0時,值為x本身,當(dāng)x≤0時,值取0。
考慮到一條路徑中包含多條鏈路,由于“木桶效應(yīng)”,路徑i的帶寬滿意度偏移度取其中最大那條鏈路的值,即:
公式(4)中,BPi(t)表示t時間內(nèi)CDN網(wǎng)絡(luò)的入口交換機(jī)到目標(biāo)代理服務(wù)器的路徑i的用戶帶寬滿足度偏移度。
由此用戶帶寬滿足度偏移度的優(yōu)化參數(shù)Jb滿足如公式(5)所述關(guān)系:
最后,由于相鄰輸入變化過大,容易導(dǎo)致系統(tǒng)不穩(wěn)定,所以考慮減小系統(tǒng)輸入pi,s(t)的變化值以保持系統(tǒng)的穩(wěn)定性,在此定義穩(wěn)定性優(yōu)化參數(shù)Jp為:
公式(6)中,Jp表示穩(wěn)定性優(yōu)化參數(shù),Is表示從CDN網(wǎng)絡(luò)的入口交換機(jī)到各目標(biāo)代理服務(wù)器s的路徑的集合。
利用公式(1)求解非線性規(guī)劃問題可以計算得到t時間內(nèi)CDN網(wǎng)絡(luò)的各代理服務(wù)器被分配到用戶的內(nèi)容請求的比例ps(t)和t時間內(nèi)路徑i被分配到目標(biāo)代理服務(wù)器s的用戶的內(nèi)容請求的比例pi,s(t),由此有效降低了用戶平均響應(yīng)時間,提高了用戶帶寬滿足度,并保證了系統(tǒng)穩(wěn)定性。
同時,可以根據(jù)網(wǎng)絡(luò)的實際需求,通過調(diào)節(jié)用戶帶寬滿足度偏移度優(yōu)化參數(shù)Jb相對于用戶平均響應(yīng)時間優(yōu)化參數(shù)Jd的權(quán)重值ωb和穩(wěn)定性優(yōu)化參數(shù)Jp相對于用戶平均響應(yīng)時間優(yōu)化參數(shù)Jd的權(quán)重值ωp,來平衡用戶平均響應(yīng)時間、用戶帶寬滿足度偏移度和系統(tǒng)穩(wěn)定性三個優(yōu)化參數(shù)之間的重要性。
在本發(fā)明基于SDN的CDN網(wǎng)絡(luò)的用戶請求分配方法中,將智能中心作為全局大腦,可以不受單個SDN控制器處理能力有限的約束,一些計算量較大、運(yùn)算復(fù)雜的決策轉(zhuǎn)移到部署在的智能中心的決策模塊進(jìn)行,減輕SDN控制器的壓力。同時,由于SDN控制器通過OpenFlow接口實時收集CDN網(wǎng)絡(luò)的信息,并將收集到的信息上傳到智能中心的數(shù)據(jù)庫中,由此智能中心的決策模塊根據(jù)數(shù)據(jù)庫接收到的信息進(jìn)行決策,從而可以支持CDN網(wǎng)絡(luò)的跨控制域決策。
此外,智能中心的決策模塊進(jìn)一步采用基于MPC的用戶請求分配算法,能有效降低用戶平均響應(yīng)時間,提高用戶帶寬滿足度,同時保證系統(tǒng)的穩(wěn)定性。