本發(fā)明屬于移動(dòng)網(wǎng)絡(luò)技術(shù)領(lǐng)域,尤其涉及一種面向移動(dòng)網(wǎng)絡(luò)的內(nèi)容緩存及網(wǎng)絡(luò)協(xié)同方法。
背景技術(shù):
近年來,隨著大數(shù)據(jù)、云計(jì)算、人工智能及移動(dòng)互聯(lián)等新興技術(shù)的大量涌現(xiàn)及不斷在移動(dòng)網(wǎng)絡(luò)領(lǐng)域應(yīng)用,當(dāng)前的移動(dòng)網(wǎng)絡(luò)已經(jīng)很難滿足未來多樣化服務(wù)的需求。面向2020年及未來,移動(dòng)通信技術(shù)和產(chǎn)業(yè)將邁入第五代移動(dòng)通信(5G)的發(fā)展階段。5G將滿足人們和超高流量密度、超高連接密度、超高移動(dòng)性的需求,能夠?yàn)橛脩籼峁└咔逡曨l、虛擬現(xiàn)實(shí)(VR)、增強(qiáng)現(xiàn)實(shí)(AR)、云桌面、遠(yuǎn)程游戲等極致業(yè)務(wù)體驗(yàn)。5G將滲透到物聯(lián)網(wǎng)等領(lǐng)域,與工業(yè)設(shè)施、醫(yī)療器械、交通工具等深度融合,全面實(shí)現(xiàn)“萬物互聯(lián)”,有效滿足工業(yè)、醫(yī)療、交通等垂直行業(yè)的信息化服務(wù)需要。5G還將大幅改善網(wǎng)絡(luò)建設(shè)運(yùn)營(yíng)的能耗與成本效率,全面提升服務(wù)創(chuàng)新能力,拓展移動(dòng)網(wǎng)絡(luò)產(chǎn)業(yè)空間[2]。未來移動(dòng)網(wǎng)絡(luò)將不再以技術(shù)為中心,而是采用了以體驗(yàn)為中心的方式,通過集成多種無線接入技術(shù)提供極限體驗(yàn)來滿足用戶不同的需求。以5G技術(shù)為代表的未來移動(dòng)網(wǎng)絡(luò)主要有連續(xù)廣域覆蓋、熱點(diǎn)高容量、低功耗大連接和低時(shí)延高可靠四個(gè)應(yīng)用場(chǎng)景;同時(shí)還將具有自適應(yīng)性、有效性、可擴(kuò)展性和簡(jiǎn)潔性這四個(gè)最主要的特點(diǎn)。
同時(shí),在傳統(tǒng)的移動(dòng)網(wǎng)絡(luò)流量方面,隨著以智能手機(jī)、平板電腦為首的便攜智能設(shè)備的快速發(fā)展,視頻、直播、音樂等多媒體服務(wù)大量向移動(dòng)網(wǎng)絡(luò)傾斜;同時(shí)移動(dòng)APP的迅速發(fā)展使得用戶對(duì)高清圖片,高清視頻和高品質(zhì)音樂的需求不斷上升,從而使移動(dòng)網(wǎng)絡(luò)的流量呈現(xiàn)出爆炸增長(zhǎng)趨勢(shì)。
但與此相對(duì)應(yīng)的是,目前的商用移動(dòng)網(wǎng)絡(luò),即使是LTE網(wǎng)絡(luò),采用的仍是高度分化的,基于硬件設(shè)計(jì)的網(wǎng)絡(luò)架構(gòu)。這樣的架構(gòu)在設(shè)計(jì)之初就已經(jīng)考慮好了網(wǎng)絡(luò)中每一個(gè)部分的職能,尤其是同時(shí)支持?jǐn)?shù)據(jù)平面和控制平面的設(shè)備,例如服務(wù)網(wǎng)關(guān)(SGW)和PDN網(wǎng)關(guān)(PGW),而且各個(gè)設(shè)備之間的交互必須基于一個(gè)標(biāo)準(zhǔn)化的接口。所以網(wǎng)絡(luò)的開放性和靈活性受到了極大的限制,整個(gè)系統(tǒng)的開放性和可擴(kuò)展性十分有限。另外,基于硬件設(shè)計(jì)的系統(tǒng)設(shè)計(jì)周期很長(zhǎng),一般以十年為周期,很難使新出現(xiàn)的無線網(wǎng)絡(luò)技術(shù)應(yīng)用于其中。為了實(shí)現(xiàn)未來移動(dòng)網(wǎng)絡(luò)的嚴(yán)格要求、滿足日益增長(zhǎng)的流量需求,要求網(wǎng)絡(luò)具有快速內(nèi)容分發(fā)能力,因此對(duì)現(xiàn)有的移動(dòng)網(wǎng)絡(luò)架構(gòu)進(jìn)行必要的改進(jìn)是必不可少的。
為了提高網(wǎng)絡(luò)的開放性和靈活性,將SDN技術(shù)引入5G網(wǎng)絡(luò)架構(gòu)是一個(gè)趨勢(shì)。基于SDN技術(shù)的5G網(wǎng)絡(luò)架構(gòu)已成為一個(gè)熱點(diǎn),在眾多的文獻(xiàn)中,一個(gè)典型代表是文獻(xiàn)[1],其設(shè)計(jì)的基于SDN技術(shù)的5G網(wǎng)絡(luò)架構(gòu)的基本思路為把傳統(tǒng)網(wǎng)絡(luò)中的數(shù)據(jù)層和控制層分離,數(shù)據(jù)層為開放、可編程、虛擬化的架構(gòu);控制層主要包含控制工具和為服務(wù)商和用戶定制的應(yīng)用。
與此同時(shí),文獻(xiàn)[3]通過對(duì)移動(dòng)網(wǎng)絡(luò)流量的長(zhǎng)期觀察和分析,發(fā)現(xiàn)網(wǎng)絡(luò)流量中很大的一部分是由少數(shù)受歡迎內(nèi)容的重復(fù)下載(如受歡迎的音樂和視頻等)引起的。而內(nèi)容緩存就是減少這種重復(fù)傳輸?shù)闹匾椒ㄖ弧Mㄟ^在網(wǎng)絡(luò)節(jié)點(diǎn)中設(shè)置緩存,可以將受歡迎的內(nèi)容存儲(chǔ)在其中,用戶在重復(fù)訪問這些內(nèi)容時(shí)就可以直接訪問緩存,而不必向遠(yuǎn)端的服務(wù)器發(fā)出請(qǐng)求,再下載所需的內(nèi)容,從而減少了整個(gè)網(wǎng)絡(luò)的負(fù)載,同時(shí)降低了時(shí)延,提高用戶的使用體驗(yàn)。
與本發(fā)明相關(guān)的現(xiàn)有技術(shù)一:
現(xiàn)有技術(shù)一的技術(shù)方案參考文獻(xiàn)[2]對(duì)現(xiàn)有的LTE網(wǎng)絡(luò)進(jìn)行改進(jìn),提出了在RAN的基站處及因特網(wǎng)的路由器處同時(shí)進(jìn)行緩存,并將兩種緩存相結(jié)合的方案。在該方案中,RAN緩存利用路由器緩存提供的信息優(yōu)化自己的緩存內(nèi)容。針對(duì)以下兩點(diǎn):①移動(dòng)網(wǎng)絡(luò)及互聯(lián)網(wǎng)屬于不同的運(yùn)營(yíng)商,出于技術(shù)、商業(yè)、隱私及安全的考慮很難實(shí)現(xiàn)基站與路由器緩存的完全合作;②互聯(lián)網(wǎng)的巨大性及復(fù)雜性,完全合作是不現(xiàn)實(shí)的。提出了一種松散的緩存合作策略,推導(dǎo)了其實(shí)現(xiàn)的復(fù)雜度并與完全合作及完全不合作的實(shí)現(xiàn)方式相對(duì)比。得出了如下三個(gè)結(jié)論:①求出最優(yōu)解是NP完全問題;②完全合作能夠?qū)崿F(xiàn)2-competitive解;③缺乏路由器緩存信息時(shí)解很難求出。最后作者提出了利用部分路由器信息的緩存合作方案(InCan),并給出了具體的算法實(shí)現(xiàn)及時(shí)間與空間復(fù)雜度,最后對(duì)InCan的性能進(jìn)行了仿真。
現(xiàn)有技術(shù)一的缺點(diǎn)如下:
1.現(xiàn)有技術(shù)一的緩存節(jié)點(diǎn)位于無線接入網(wǎng)及因特網(wǎng)中,并沒有考慮移動(dòng)核心網(wǎng)中的節(jié)點(diǎn)。此外,目前大多數(shù)運(yùn)營(yíng)商均擁有移動(dòng)網(wǎng)絡(luò)和有線網(wǎng)絡(luò),因此技術(shù)一的論文中提到的緩存節(jié)點(diǎn)分屬不同擁有者導(dǎo)致協(xié)作緩存較為困難的問題在現(xiàn)實(shí)環(huán)境中可以得到一定程度的緩解,因此可以考慮將位于無線接入網(wǎng)和移動(dòng)核心網(wǎng)的緩存進(jìn)行協(xié)作,甚至可以與有線網(wǎng)絡(luò)中的緩存進(jìn)行協(xié)作。
2.技術(shù)一僅僅在目前的LTE網(wǎng)絡(luò)基礎(chǔ)上增加了緩存,其根本上依托的還是現(xiàn)有的網(wǎng)絡(luò)架構(gòu),對(duì)網(wǎng)絡(luò)性能的改善治標(biāo)不治本。
與本發(fā)明相關(guān)的現(xiàn)有技術(shù)二:
現(xiàn)有技術(shù)二的技術(shù)方案參考文獻(xiàn)[4]利用SDN技術(shù)對(duì)現(xiàn)有的LTE網(wǎng)絡(luò)進(jìn)行改進(jìn)。系統(tǒng)主要包括SDN節(jié)點(diǎn)和三種其他的組成部分。SDN節(jié)點(diǎn)包括SDN控制器和SDN交換機(jī)。其他的三種組成部分是用來分析路由路徑的web代理,緩存及緩存控制器。緩存控制器通過接口與SDN控制器相連,為SDN交換機(jī)設(shè)置規(guī)則。
用戶終端發(fā)送的請(qǐng)求被首先接收到的交換機(jī)送至代理處,代理會(huì)得到請(qǐng)求的源、目的服務(wù)器地址,之后把它發(fā)送至緩存控制器。緩存控制器解析出從代理處得到的主機(jī)名,一個(gè)主機(jī)名或許與多個(gè)IP地址相關(guān)聯(lián)。緩存控制器根據(jù)源IP地址確定一個(gè)緩存節(jié)點(diǎn)為其提供服務(wù),之后由SDN控制器設(shè)置新的路由規(guī)則并廣播至所有交換機(jī),使得之后的同樣請(qǐng)求直接訪問該緩存節(jié)點(diǎn)即可。
現(xiàn)有技術(shù)二的缺點(diǎn)如下:
1.技術(shù)二設(shè)置了代理、緩存控制器和SDN控制器三種控制設(shè)備,考慮到將控制功能分散會(huì)造成傳輸?shù)臅r(shí)延、增大管理的難度,因此技術(shù)二的分散控制是不可取的。
2.技術(shù)二對(duì)已緩存內(nèi)容請(qǐng)求的重定向是廣播的,也就是更改所有交換節(jié)點(diǎn)的路由規(guī)則,這種方式靈活性較差,容易出現(xiàn)緩存節(jié)點(diǎn)的負(fù)載不均衡情況。舉例來說,如果用戶對(duì)于某一個(gè)內(nèi)容的請(qǐng)求量過大,這種廣播的方式會(huì)將所有的請(qǐng)求都集中到某個(gè)緩存節(jié)點(diǎn),這很容易導(dǎo)致單點(diǎn)故障。
參考文獻(xiàn)為:
[1]Ian F.Akyildiz,Pu Wang,Shih-Chun Lin,“SoftAir:A Software defined networking architecture for 5G wireless systems”Computer Networks 85(2015),1-18.
[2]Zhongxing Ming,Mingwei Xu,Dan Wang,“InCan:In-network cache assisted eNodeB caching mechanism in 4G LTE networks”Computer Networks 75(2014),367-380.
[3]Xiaofei Wang,Tarik Taleb,Adlen Ksentini,Victor C.M.Leung,“Cache in the Air:Exploiting Content Caching and Delivery Techniques for 5G Systems”IEEE Communications Magazine,February 2014,131-139.
[4]M.Kimmerlin,J.Costa-Requena and J.Manner,"Caching using software-defined networking in LTE networks,"2014IEEE International Conference on Advanced Networks and Telecommuncations Systems(ANTS),New Delhi,2014,pp.1-6.
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是,提供一種面向移動(dòng)網(wǎng)絡(luò)的內(nèi)容緩存及網(wǎng)絡(luò)協(xié)同方法。
為實(shí)現(xiàn)上述目的,本發(fā)明采用如下的技術(shù)方案:
一種面向移動(dòng)網(wǎng)絡(luò)的內(nèi)容緩存及網(wǎng)絡(luò)協(xié)同方法,所述網(wǎng)絡(luò)架構(gòu)由SD-RAN、SD-CN和控制器controller三部分組成,由多個(gè)軟件定義的基站SD-BS共同構(gòu)成無線接入網(wǎng)SD-RAN,SD-BS與終端通過無線鏈路連接,每個(gè)SD-BS都具有自己的緩存空間,由多個(gè)SD-switcher軟件定義的路由構(gòu)成移動(dòng)核心網(wǎng)SD-CN,SD-CN與因特網(wǎng)相連,每個(gè)SD-switcher都具有自己的緩存空間;無線接入網(wǎng)SD-RAN和移動(dòng)核心網(wǎng)SD-CN通過SD-BS緩存策略和SD-switcher緩存策略的二級(jí)緩存方式相互協(xié)作;其中,基于二級(jí)緩存的用戶請(qǐng)求處理流程如下:
①緩存存儲(chǔ)于接收請(qǐng)求的SD-BS緩存中:SD-BS首先利用深度報(bào)文檢測(cè)功能,截獲終端對(duì)內(nèi)容x的請(qǐng)求報(bào)文并分析出內(nèi)容x的URL,之后暫停向SD-CN傳輸該請(qǐng)求;SD-BS遍歷自己的緩存URL表,如果找到URLx,證明緩存空間中存儲(chǔ)有內(nèi)容x,這樣直接把緩存中的內(nèi)容傳送給請(qǐng)求終端即可,同時(shí)利用統(tǒng)計(jì)功能對(duì)x的請(qǐng)求次數(shù)Rx加1;
②緩存存儲(chǔ)于網(wǎng)絡(luò)中的其他節(jié)點(diǎn)中:SD-BS截獲請(qǐng)求并利用DPI功能分析出URLx之后,開始遍歷自己的緩URL表;如果沒有找到URLx,那么表示在SD-BSa的緩存中沒有存儲(chǔ)內(nèi)容x;之后SD-BS發(fā)送一個(gè)帶有URLx的請(qǐng)求報(bào)文至網(wǎng)絡(luò)控制器處,控制器接收到請(qǐng)求報(bào)文之后得到URLx,并與自己的全網(wǎng)所有節(jié)點(diǎn)緩存內(nèi)容URL表相對(duì)照;如果發(fā)現(xiàn)URL表中存在URLx,即表明在網(wǎng)絡(luò)中的某個(gè)節(jié)點(diǎn)緩存有內(nèi)容x,控制器把x的大小Sx通過報(bào)文發(fā)送給SD-BS,SD-BS使用前文提到的緩存策略,若緩存空間足夠則只需等待x即可,若緩存空間不足就要按照緩存策略的計(jì)算結(jié)果刪除Rs最小的內(nèi)容,直至空間足夠存入x;如果網(wǎng)絡(luò)中只有一個(gè)節(jié)點(diǎn)緩存有內(nèi)容x,控制器利用自己緩存中的網(wǎng)絡(luò)拓?fù)鋱D和每條鏈路的度量計(jì)算出該節(jié)點(diǎn)S5到SD-BS的最佳路由路徑,并通過OpenFlow協(xié)議在SD-BSa與S5之間建立內(nèi)容轉(zhuǎn)發(fā)路徑,之后控制器通知節(jié)點(diǎn)S5把內(nèi)容x發(fā)送給SD-BS,再由SD-BS發(fā)送至請(qǐng)求終端;如果網(wǎng)絡(luò)中同時(shí)有多個(gè)節(jié)點(diǎn)緩存有內(nèi)容x,控制器分別計(jì)算各節(jié)點(diǎn)至SD-BS的最佳路由路徑,選擇一條代價(jià)最小的路徑發(fā)送控制報(bào)文給該節(jié)點(diǎn);
③網(wǎng)絡(luò)中所有節(jié)點(diǎn)都沒有該緩存:如果SD-BS在自己的緩存URL表中沒有查找到URLx,發(fā)送請(qǐng)求報(bào)文至網(wǎng)絡(luò)控制器,控制器遍歷自己的緩存URL表之后同樣沒有查找到URLx,這就表明整個(gè)網(wǎng)絡(luò)中的所有節(jié)點(diǎn)都沒有緩存內(nèi)容x;此時(shí)仍有兩種情況:①內(nèi)容x曾經(jīng)在整個(gè)網(wǎng)絡(luò)中被緩存過,那么控制器中是存儲(chǔ)有x的大小Sx的;控制器把帶有Sx的報(bào)文發(fā)送至SD-BS,SD-BS執(zhí)行緩存策略,對(duì)緩存空間進(jìn)行清理;②內(nèi)容x對(duì)于整個(gè)網(wǎng)絡(luò)來說從未出現(xiàn)過,那么控制器的緩存中不存在x的大小Sx;此時(shí)控制器需要根據(jù)URLx向內(nèi)容x的CP發(fā)送請(qǐng)求大小Sx的請(qǐng)求報(bào)文,收到Sx之后控制器會(huì)存儲(chǔ)該信息,同時(shí)把Sx發(fā)送至SD-BS,SD-BS執(zhí)行緩存策略,對(duì)緩存空間進(jìn)行清理;之后網(wǎng)絡(luò)控制器會(huì)在SD-BSa與內(nèi)容x的CP之間建立轉(zhuǎn)發(fā)路徑路徑建立完畢后,控制器會(huì)通知SD-BSa向內(nèi)容x的CP發(fā)送請(qǐng)求內(nèi)容x的請(qǐng)求報(bào)文,CP接收?qǐng)?bào)文之后通過因特網(wǎng),SD-CN,SD-RAN把內(nèi)容x發(fā)送至請(qǐng)求終端。
作為優(yōu)選,SD-RAN中的SD-BS緩存策略采用基于請(qǐng)求數(shù)和內(nèi)容大小兩個(gè)參數(shù)的緩存策略,即,SD-BS的緩存中存儲(chǔ)某個(gè)內(nèi)容的數(shù)據(jù)、與該內(nèi)容對(duì)應(yīng)的URL和每種內(nèi)容的訪問次數(shù)Rx;當(dāng)一個(gè)SD-BS緩存中沒有緩存的內(nèi)容請(qǐng)求到達(dá)時(shí),SD-BS會(huì)默認(rèn)把該內(nèi)容下載到緩存中;SD-BS首先向controller發(fā)送請(qǐng)求得到內(nèi)容大小,如果緩存空間足夠,則直接寫入緩存;如果緩存空間不夠,就要對(duì)緩存中已經(jīng)存儲(chǔ)的內(nèi)容進(jìn)行刪除;
SD-switcher處的緩存策略采用LRU緩存策略,即,當(dāng)新的內(nèi)容到來時(shí),如果該內(nèi)容不存在于緩存空間中,把該內(nèi)容置于隊(duì)列首位,其余內(nèi)容依次后移一位,如果隊(duì)列已滿,則刪除隊(duì)尾的內(nèi)容;如果該內(nèi)容已經(jīng)存儲(chǔ)在緩存空間中,同樣把該內(nèi)容置于隊(duì)列首位,之前的內(nèi)容依次后移一位,之后的內(nèi)容不變。
本發(fā)明的有益效果如下:
(1)本發(fā)明的緩存策略是基于SDN技術(shù)的5G新型網(wǎng)絡(luò)架構(gòu),這種網(wǎng)絡(luò)架構(gòu)大大增強(qiáng)了網(wǎng)絡(luò)的適應(yīng)性和可擴(kuò)展性,能夠適應(yīng)未來更加復(fù)雜多樣性的網(wǎng)絡(luò)需求。
(2)全網(wǎng)使用統(tǒng)一的網(wǎng)絡(luò)控制器,提高了控制的有效性,同時(shí)使得網(wǎng)絡(luò)節(jié)點(diǎn)的設(shè)計(jì)得到簡(jiǎn)化。
(3)本發(fā)明的無線接入網(wǎng)緩存與移動(dòng)核心網(wǎng)緩存相協(xié)作的方式,相比于無線接入網(wǎng)緩存與有線網(wǎng)絡(luò)緩存協(xié)作的方式更容易實(shí)現(xiàn),同時(shí)效率更高。
附圖說明
圖1為面向移動(dòng)網(wǎng)絡(luò)的內(nèi)容緩存及網(wǎng)絡(luò)協(xié)同方案的網(wǎng)絡(luò)架構(gòu)圖;
圖2為網(wǎng)絡(luò)控制器功能圖;
圖3為SD-BS緩存策略流程圖;
圖4為L(zhǎng)RU緩存策略流程圖;
圖5為緩存存儲(chǔ)于接收請(qǐng)求的SD-BS緩存中的處理流程圖;
圖6為緩存存儲(chǔ)于網(wǎng)絡(luò)中的其他節(jié)點(diǎn)中的處理流程圖;
圖7為網(wǎng)絡(luò)中所有節(jié)點(diǎn)都沒有該緩存的處理流程圖。
具體實(shí)施方式
本發(fā)明實(shí)施例提供一種面向移動(dòng)網(wǎng)絡(luò)的內(nèi)容緩存及網(wǎng)絡(luò)協(xié)同方法,該方法適用的網(wǎng)絡(luò)架構(gòu)如圖1所示,在橫向上,網(wǎng)絡(luò)架構(gòu)主要由SD-RAN,SD-CN和controller三部分組成;而在縱向上,網(wǎng)絡(luò)架構(gòu)由網(wǎng)絡(luò)的數(shù)據(jù)平面和控制平面組成,數(shù)據(jù)平面為SD-RAN和SD-CN,控制平面為controller。圖中SD-BS代表由軟件定義的基站,與終端通過無線鏈路連接,每個(gè)SD-BS都具有自己的緩存空間,所有的SD-BS共同構(gòu)成了架構(gòu)的無線接入網(wǎng)部分,稱為SD-RAN。位于架構(gòu)中心的是由眾多SD-switcher構(gòu)成的核心網(wǎng)部分(SD-CN),其中SD-switcher代表由軟件定義的路由,同SD-BS一樣,每個(gè)SD-switcher都具有自己的緩存空間。SD-CN與因特網(wǎng)相連,CP表示內(nèi)容提供商。
控制器是上述架構(gòu)的核心,為了能夠提升內(nèi)容緩存和分發(fā)的效率,控制器主要收集維護(hù)以下四種信息:
1、全局內(nèi)容緩存信息(URL):移動(dòng)網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn),在緩存的內(nèi)容發(fā)生改變時(shí),都及時(shí)將緩存狀態(tài)變更信息發(fā)送給控制器,通過這種方式,在控制器中得到了一張全網(wǎng)所有節(jié)點(diǎn)緩存內(nèi)容的動(dòng)態(tài)“目錄”。
2、內(nèi)容大小(Size)信息表:在制定節(jié)點(diǎn)中的緩存策略時(shí),考慮到內(nèi)容的大小是十分必要的。因此在本文提出的面相移動(dòng)網(wǎng)絡(luò)的內(nèi)容緩存及網(wǎng)絡(luò)協(xié)同方案中,設(shè)計(jì)緩存策略時(shí)引入了內(nèi)容大小這一參數(shù),從而對(duì)緩存的存入和刪除進(jìn)行平衡,使較大的內(nèi)容獲得更大的權(quán)重,較小的內(nèi)容獲得更小的權(quán)重。
3、網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)(Topology)信息:SDN技術(shù)的一個(gè)重要的特性,就是通過數(shù)據(jù)平面和控制平面分離,把控制平面的功能整合在一起,從而可以利用全網(wǎng)拓?fù)鋵?duì)網(wǎng)絡(luò)進(jìn)行更有效的控制。對(duì)于SDN網(wǎng)絡(luò),網(wǎng)絡(luò)拓?fù)鋱D只存在于網(wǎng)絡(luò)控制器中,同時(shí)對(duì)于本方案的網(wǎng)絡(luò)架構(gòu),在一個(gè)自治系統(tǒng)中只需要一個(gè)邏輯集中的網(wǎng)絡(luò)控制器即可。
4、鏈路的度量(Metric)信息:網(wǎng)絡(luò)控制器為了在調(diào)度緩存時(shí)計(jì)算出最佳路由,不僅僅需要知道網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),還需要了解整個(gè)網(wǎng)絡(luò)中每條鏈路的狀態(tài)。在這里,鏈路的狀態(tài)稱為度量(Metric)。在本方案中,鏈路的度量考慮得較為簡(jiǎn)單,目前僅僅使用兩個(gè)參數(shù),時(shí)延和帶寬。這樣,當(dāng)控制器調(diào)度節(jié)點(diǎn)間的緩存時(shí),就能根據(jù)度量這個(gè)參數(shù),使用路由選擇算法計(jì)算出最佳路由。
(2)緩存策略
①SD-BS緩存策略:在面向移動(dòng)網(wǎng)絡(luò)的內(nèi)容緩存及網(wǎng)絡(luò)協(xié)同方案中,SD-RAN中的SD-BS緩存策略采用了一種全新的、基于請(qǐng)求數(shù)和內(nèi)容大小兩個(gè)參數(shù)的緩存策略。傳統(tǒng)的緩存策略,如FIFO,LRU,LFU等,都是僅僅根據(jù)請(qǐng)求數(shù)這一個(gè)參數(shù),即在對(duì)某種內(nèi)容的請(qǐng)求到來之后對(duì)緩存隊(duì)列進(jìn)行調(diào)整。在設(shè)計(jì)緩存策略時(shí)應(yīng)該把內(nèi)容大小這一參數(shù)考慮進(jìn)去,利用內(nèi)容大小這一參數(shù)使緩存偏向尺寸較大的受歡迎內(nèi)容,使其在緩存中存儲(chǔ)更長(zhǎng)的時(shí)間。具體的實(shí)現(xiàn)方法如下:
SD-BS的緩存中可以存儲(chǔ)某個(gè)內(nèi)容的數(shù)據(jù)、與該內(nèi)容對(duì)應(yīng)的URL和每種內(nèi)容的訪問次數(shù)Rx。當(dāng)一個(gè)SD-BS緩存中沒有緩存的內(nèi)容請(qǐng)求到達(dá)時(shí),SD-BS會(huì)默認(rèn)把該內(nèi)容下載到緩存中。SD-BS首先向controller發(fā)送請(qǐng)求得到內(nèi)容大小,考慮到緩存空間的有限性,如果緩存空間足夠,則直接寫入緩存;如果緩存空間不夠,那么就要對(duì)緩存中已經(jīng)存儲(chǔ)的內(nèi)容進(jìn)行刪除。對(duì)已緩存的所有內(nèi)容計(jì)算下式:
Rs=Rx*ln(Sx)
其中Rx為單位時(shí)間內(nèi)對(duì)內(nèi)容x的請(qǐng)求數(shù);Sx為內(nèi)容x的大小。之后對(duì)Rs按由大到小的順序排序,并將最小Rs值所對(duì)應(yīng)的內(nèi)容從緩存中刪除,如果緩存空間仍然不夠則把第二小Rs值所對(duì)應(yīng)的內(nèi)容刪除,直到緩存空間足夠存儲(chǔ)新請(qǐng)求的內(nèi)容為止。
由計(jì)算Rs的公式可以看出,當(dāng)兩種內(nèi)容的請(qǐng)求數(shù)量相同時(shí),尺寸較大內(nèi)容的Rs值比尺寸較小內(nèi)容的Rs值大,在排序中的位置更靠前,這樣就能夠?qū)崿F(xiàn)在緩存中存儲(chǔ)的時(shí)間更長(zhǎng),從而提高緩存的性能。SD-BS緩存策略的流程圖如圖3所示。
②SD-switcher緩存策略:考慮到核心網(wǎng)內(nèi)的交換機(jī)(路由器)要處理巨大的數(shù)據(jù)吞吐量,路由器中的緩存策略不宜設(shè)計(jì)的過于復(fù)雜;同時(shí)由于SDN應(yīng)用于網(wǎng)絡(luò)架構(gòu)中,SD-switcher的結(jié)構(gòu)十分簡(jiǎn)單,也無法實(shí)現(xiàn)過于復(fù)雜的計(jì)算。故在本方案中SD-switcher處的緩存策略采用傳統(tǒng)的LRU緩存策略。
LRU的工作過程如下:當(dāng)新的內(nèi)容到來時(shí),如果該內(nèi)容不存在于緩存空間中,把該內(nèi)容置于隊(duì)列首位,其余內(nèi)容依次后移一位,如果隊(duì)列已滿,則刪除隊(duì)尾的內(nèi)容;如果該內(nèi)容已經(jīng)存儲(chǔ)在緩存空間中,同樣把該內(nèi)容置于隊(duì)列首位,之前的內(nèi)容依次后移一位,之后的內(nèi)容不變。需要注意的是,后一種情況不存在緩存內(nèi)容的刪除,只存在緩存的排序變化。
由于使用傳統(tǒng)的LRU緩存算法,SD-switcher中的緩存空間只存儲(chǔ)內(nèi)容數(shù)據(jù)與URL,而不會(huì)存儲(chǔ)內(nèi)容的請(qǐng)求數(shù)量。LRU緩存策略的流程圖如圖4所示。
(3)基于二級(jí)緩存的用戶請(qǐng)求處理流程
①緩存存儲(chǔ)于接收請(qǐng)求的SD-BS緩存中:SD-BS首先利用深度報(bào)文檢測(cè)(DPI)功能,截獲終端對(duì)內(nèi)容x的請(qǐng)求報(bào)文并分析出內(nèi)容x的URL(即URLx),之后暫停向SD-CN傳輸該請(qǐng)求。SD-BS遍歷自己的緩存URL表,如果找到URLx,就證明緩存空間中存儲(chǔ)有內(nèi)容x,這樣直接把緩存中的內(nèi)容傳送給請(qǐng)求終端即可,同時(shí)利用統(tǒng)計(jì)功能對(duì)x的請(qǐng)求次數(shù)Rx加1。該種工作方式是最理想的一種情況,效率最高,時(shí)延最低。此種工作方式的流程圖如圖5所示。
②緩存存儲(chǔ)于網(wǎng)絡(luò)中的其他節(jié)點(diǎn)中
如圖6所示,SD-BS截獲請(qǐng)求并利用DPI功能分析出URLx之后,開始遍歷自己的緩URL表。如果沒有找到URLx,那么表示在SD-BSa的緩存中沒有存儲(chǔ)內(nèi)容x。之后SD-BS發(fā)送一個(gè)帶有URLx的請(qǐng)求報(bào)文至網(wǎng)絡(luò)控制器處,控制器接收到請(qǐng)求報(bào)文之后得到URLx,并與自己的全網(wǎng)所有節(jié)點(diǎn)緩存內(nèi)容URL表相對(duì)照。如果發(fā)現(xiàn)URL表中存在URLx,即表明在網(wǎng)絡(luò)中的某個(gè)節(jié)點(diǎn)緩存有內(nèi)容x,控制器把x的大小Sx通過報(bào)文發(fā)送給SD-BS,SD-BS使用前文提到的緩存策略,若緩存空間足夠則只需等待x即可,若緩存空間不足就要按照緩存策略的計(jì)算結(jié)果刪除Rs最小的內(nèi)容,直至空間足夠存入x。
如果網(wǎng)絡(luò)中只有一個(gè)節(jié)點(diǎn)緩存有內(nèi)容x,控制器利用自己緩存中的網(wǎng)絡(luò)拓?fù)鋱D和每條鏈路的度量計(jì)算出該節(jié)點(diǎn)(圖中的S5)到SD-BS的最佳路由路徑,并通過OpenFlow協(xié)議在SD-BSa與S5之間建立內(nèi)容轉(zhuǎn)發(fā)路徑,之后控制器通知S5把內(nèi)容x發(fā)送給SD-BS,再由SD-BS發(fā)送至請(qǐng)求終端。如果網(wǎng)絡(luò)中同時(shí)有多個(gè)節(jié)點(diǎn)緩存有內(nèi)容x,控制器分別計(jì)算各節(jié)點(diǎn)至SD-BS的最佳路由路徑,選擇一條代價(jià)最小的路徑發(fā)送控制報(bào)文給該節(jié)點(diǎn)。③網(wǎng)絡(luò)中所有節(jié)點(diǎn)都沒有該緩存
如圖7所示,如果SD-BS在自己的緩存URL表中沒有查找到URLx,發(fā)送請(qǐng)求報(bào)文至網(wǎng)絡(luò)控制器,控制器遍歷自己的緩存URL表之后同樣沒有查找到URLx,這就表明整個(gè)網(wǎng)絡(luò)中的所有節(jié)點(diǎn)都沒有緩存內(nèi)容x。此時(shí)仍有兩種情況:①內(nèi)容x曾經(jīng)在整個(gè)網(wǎng)絡(luò)中被緩存過,那么控制器中是存儲(chǔ)有x的大小Sx的。控制器把帶有Sx的報(bào)文發(fā)送至SD-BS,SD-BS執(zhí)行緩存策略,對(duì)緩存空間進(jìn)行清理。②內(nèi)容x對(duì)于整個(gè)網(wǎng)絡(luò)來說從未出現(xiàn)過,是一種全新的內(nèi)容,那么控制器的緩存中不存在x的大小Sx。此時(shí)控制器需要根據(jù)URLx向內(nèi)容x的CP發(fā)送請(qǐng)求大小Sx的請(qǐng)求報(bào)文,收到Sx之后控制器會(huì)存儲(chǔ)該信息,同時(shí)把Sx發(fā)送至SD-BS,SD-BS執(zhí)行緩存策略,對(duì)緩存空間進(jìn)行清理。
之后網(wǎng)絡(luò)控制器會(huì)在SD-BSa與內(nèi)容x的CP之間建立轉(zhuǎn)發(fā)路徑(通過OpenFlow協(xié)議),路徑建立完畢后,控制器會(huì)通知SD-BSa向內(nèi)容x的CP發(fā)送請(qǐng)求內(nèi)容x的請(qǐng)求報(bào)文,CP接收?qǐng)?bào)文之后通過因特網(wǎng),SD-CN,SD-RAN把內(nèi)容x發(fā)送至請(qǐng)求終端。
本發(fā)明的具有如下特點(diǎn):
(1)包含無線接入網(wǎng)和移動(dòng)核心網(wǎng)的兩級(jí)緩存設(shè)計(jì)方案,通過兩級(jí)緩存的相互協(xié)作,有效減少了網(wǎng)絡(luò)中冗余內(nèi)容的傳輸,提高了網(wǎng)絡(luò)的性能。
(2)通過網(wǎng)絡(luò)控制器對(duì)全網(wǎng)所有節(jié)點(diǎn)進(jìn)行統(tǒng)一的管理,利用SDN技術(shù)分離數(shù)據(jù)層和控制層,集中控制層對(duì)內(nèi)容分發(fā)進(jìn)行統(tǒng)一管理,同時(shí)網(wǎng)絡(luò)控制器還具有網(wǎng)絡(luò)管理和路由選擇的功能。
(3)基于請(qǐng)求數(shù)和內(nèi)容大小的緩存替換策略,通過引入內(nèi)容大小這一參數(shù),賦予尺寸較大的數(shù)據(jù)較大的權(quán)重,延長(zhǎng)其在緩存中的存活時(shí)間。