亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種基于位置變動的聯(lián)合LRU與LFU的緩存更新方法及網(wǎng)絡與流程

文檔序號:11693217閱讀:412來源:國知局
一種基于位置變動的聯(lián)合LRU與LFU的緩存更新方法及網(wǎng)絡與流程

本發(fā)明涉及內(nèi)容緩存與分發(fā)技術,尤其,涉及一種適用于蜂窩網(wǎng)絡的緩存內(nèi)容更新方法及網(wǎng)絡。



背景技術:

近年來,移動數(shù)據(jù)業(yè)務呈井噴式地增長,業(yè)內(nèi)提出了基于d2d通信(device-to-device,設備到設備)的內(nèi)容緩存與分發(fā)技術。該技術將一些十分流行的內(nèi)容緩存在移動節(jié)點處,而當移動節(jié)點需要某一內(nèi)容的時候,就可以與其周圍已緩存該內(nèi)容的用戶節(jié)點建立d2d鏈路,復用合法蜂窩用戶的信道,直接獲取該內(nèi)容。這樣,相較傳統(tǒng)的內(nèi)容下載方法而言,第一,不需要經(jīng)過基站的轉(zhuǎn)發(fā),降低了時延;第二,直傳鏈路信道狀況通常更好,可以提高下載速率;第三,復用合法蜂窩用戶的信道,提高了頻譜利用率。

然而,基于d2d通信的內(nèi)容緩存與分發(fā)技術也帶來了很多新問題。首先,任意緩存節(jié)點的緩存空間均是有限的,不可能緩存下所有的內(nèi)容,因此,緩存哪些內(nèi)容對緩存的效果有很大影響。如果所緩存的內(nèi)容并不是周圍節(jié)點所需要的,那么緩存工作反而會造成網(wǎng)絡資源的浪費。第二,內(nèi)容的受歡迎程度是不斷變化的:隨著時間的推移,新的內(nèi)容會不斷的出現(xiàn),也不斷會有舊的內(nèi)容不再受到關注;而且,移動節(jié)點由于用戶的個人偏好,通常具有一定社會屬性,緩存節(jié)點的移動會導致周圍網(wǎng)絡拓撲實時變化。因此,及時對緩存內(nèi)容進行更新,稱為本領域的研究重點。

現(xiàn)有的研究主要集中在上述的第一個問題上,即對緩存內(nèi)容的布設與選擇。而相較而言,緩存內(nèi)容更新方法的研究則十分有限。目前,對緩存內(nèi)容更新方法的研究主要集中在對lru(leastrecentused)與lfu(leastfrequencyused)兩類記錄的研究使用上。其中,lru記錄主要包括接收到的請求內(nèi)容id(identification)以及接收到各請求內(nèi)容id的時間。lru中,這些數(shù)據(jù)被按照接收時間由近及遠的順序排序。lfu記錄主要包括接收到的請求的內(nèi)容id(identification)以及接收到各接收到的請求的內(nèi)容id(identification)的次數(shù)。lru中,這些數(shù)據(jù)被按照接收次數(shù)由多到少的順序排序。這兩種記錄方式的聯(lián)合使用已經(jīng)在計算機內(nèi)容緩存研究中取得了不少進展:1970年,mattson、gecsei、slutz和traiger等人在《ibmsystemsjournal》上發(fā)表的論文evaluationtechniquesforstoragehierarchies中,設計了min算法。該算法被證明是最優(yōu)的離線緩存更新算法。但是,在引入d2d通信技術的蜂窩網(wǎng)絡中,由于移動節(jié)點具有了個人偏好以及社會屬性,其移動性會對緩存方案產(chǎn)生很大的影響。隨著網(wǎng)絡中的移動節(jié)點時刻產(chǎn)生移動行為,整個網(wǎng)絡的拓撲時刻發(fā)生改變,用戶之前所收集的信息在使用時的參考價值大為降低。(本發(fā)明中所考慮的用戶移動性主要指用戶位置的變化。)因此,在設計內(nèi)容緩存更新方法時,將用戶的移動性納入考量顯得尤為必要。



技術實現(xiàn)要素:

為了解決現(xiàn)有技術存在的不足,本發(fā)明的目的在于提供一種基于位置變化的聯(lián)合lru與lfu的緩存更新方法、應用所述緩存更新方法的通信裝置及移動蜂窩網(wǎng)絡。

所述緩存更新方法,包括以下步驟:

第一步,確定緩存更新周期為t,確定本節(jié)點緩存空間容量為s,并根據(jù)所述緩存空間容量s確定本節(jié)點lru記錄與lfu記錄數(shù)目為m,確定更新概率閾值γ;按照固定周期獲取本節(jié)點坐標,當本節(jié)點位置坐標發(fā)生變化時記為一次移動,記錄本節(jié)點所有移動次數(shù)及每次移動的位置坐標;獲取本節(jié)點坐標的周期可由本節(jié)點自行確定,也可由本節(jié)點所在網(wǎng)絡確定,該周期應小于緩存更新周期t。

第二步,接收內(nèi)容下載請求,記錄本節(jié)點當前位置坐標,并合并本節(jié)點接收到的內(nèi)容重復的所述下載請求,然后根據(jù)合并后的內(nèi)容下載請求更新所述lru記錄與所述lfu記錄;

第三步,在所述緩存更新周期t內(nèi)重復第二步,每記滿一個緩存更新周期t則跳轉(zhuǎn)至第四步;

第四步,計算本節(jié)點接收的所述內(nèi)容下載請求中,每一個內(nèi)容cm的更新概率pm,然后跳轉(zhuǎn)至第五步;

所述更新概率pm=α(μ×v_lrum+(1-μ)×v_lfum)l;

其中,m表示所述內(nèi)容下載請求中所述內(nèi)容cm的編號,m≤m;

相對位置波動因子其中,j表示本節(jié)點第j次移動,(xj,yj)表示本節(jié)點第j次移動后所處位置的坐標,xj表示本節(jié)點第j次移動后所處位置的橫坐標,yj表示本節(jié)點第j次移動后所處位置的縱坐標,k表示本節(jié)點移動總次數(shù),表示本節(jié)點k次移動的中心位置坐標,為本節(jié)點k次移動的中心位置橫坐標,為本節(jié)點k次移動的中心位置縱坐標。相對位置波動因子α考量的主要是節(jié)點所移動的各個位置與本節(jié)點移動位置中心之間的距離關系。當移動蜂窩網(wǎng)絡用戶移動到一個相對陌生的環(huán)境時(即節(jié)點位置與本節(jié)點移動位置中心之間的距離較大,α較小時),其接收到的內(nèi)容下載請求具有較小的參考價值,此時內(nèi)容更新概率較小,不對內(nèi)容進行更新。

μ為權重因子,所述權重因子μ代表lru記錄與lfu記錄的相對重要程度,其取值范圍是(0,1);

為lru記錄中所述內(nèi)容cm的lru價值;其中,tm為lru記錄中收到所述內(nèi)容cm的下載請求的時間;

為lfu記錄中所述內(nèi)容cm的lfu價值;其中,fm為lfu記錄中收到所述內(nèi)容cm的下載請求的次數(shù);

相對最大位置波動因子其中,常數(shù)β表示映射后各位置分布坐標的分布密集程度,β越小,分布越稀疏,β取值范圍為(1,+∞)。相對最大位置波動因子l考量的主要是節(jié)點的最大位移情況。如果僅僅通過相對位置波動因子α考量節(jié)點的位移,很有可能出現(xiàn)節(jié)點位移坐標分布的形狀相似,但位移坐標變化的范圍不同的情況。在考慮節(jié)點位移范圍時,β值越小,通過相對最大位置波動因子l映射后,節(jié)點各個坐標所對應的更新概率pm就會分布的越松散。通常,如果用戶的移動范圍更大,其緩存內(nèi)容在新的移動蜂窩網(wǎng)絡環(huán)境中被請求的概率會越小。通過相對最大位置波動因子l,就能夠有效區(qū)分移動路徑類似但移動范圍不同的各個用戶,可以針對移動范圍更大的用戶(相對最大位置波動因子l更大的用戶)設置讓其更新更多緩存內(nèi)容,以保證這些用戶緩存內(nèi)容的命中率。

第五步,更新緩存內(nèi)容:依次判斷所述每一個內(nèi)容cm的更新概率pm,若所述內(nèi)容cm的更新概率pm小于所述更新概率閾值γ,則不進行緩存更新;否則,進行緩存更新。

其中,所述節(jié)點中,每一個內(nèi)容cm,均對應一個id號,一條lru記錄(和/或一條lfu記錄),以及一個更新概率數(shù)值pm。所述lru記錄中的內(nèi)容與lfu記錄中的內(nèi)容各自按照各自的規(guī)則進行更新與記錄,并不要求兩個記錄中記載的內(nèi)容保持完全的一致。并且,為保證能夠及時針對節(jié)點位置的變換情況進行內(nèi)容的更新,本方法中,每個節(jié)點lru記錄或lfu記錄的數(shù)目m大于該節(jié)點緩存空間所能夠存儲的內(nèi)容的條數(shù),即s≤m。

進一步,所述緩存更新方法,第二步中,更新所述lru記錄的步驟如下:

步驟211,每接收到一個所述內(nèi)容下載請求后,先檢索當前l(fā)ru記錄,若當前l(fā)ru記錄中已記載有所述內(nèi)容下載請求所對應的內(nèi)容cm的id號,則更新所述lru記錄中所述內(nèi)容cm所對應的請求時間tm;否則,跳轉(zhuǎn)至步驟212;

步驟212,刪除所述lru記錄中請求時間最早的內(nèi)容,然后將所述內(nèi)容cm的id號及其所對應的請求時間tm記入所述lru記錄。

同時,所述緩存更新方法,第二步中,更新所述lfu記錄的步驟如下:

步驟221,每接收到一個所述內(nèi)容下載請求后,先檢索當前l(fā)fu記錄,若當前l(fā)fu記錄中已記載有所述內(nèi)容下載請求所對應的內(nèi)容cm的id號,則更新所述lru記錄中所述內(nèi)容cm所對應的請求次數(shù)fm;否則,跳轉(zhuǎn)至步驟222;

步驟222,刪除所述lfu記錄中請求次數(shù)最少的內(nèi)容,然后將所述內(nèi)容cm的id號及其所對應的請求次數(shù)fm記入所述lru記錄。

進一步,所述緩存更新方法,第五步中,進行緩存更新的步驟如下:

步驟501,判斷本節(jié)點緩存空間容量是否足夠存放所述內(nèi)容cm,若容量足夠則跳轉(zhuǎn)至步驟502;否則跳轉(zhuǎn)至步驟503;

步驟502,在本節(jié)點緩存空間內(nèi)緩存所述內(nèi)容cm,更新緩存列表;

步驟503,按照緩存時間從舊到新的順序依次刪除本節(jié)點緩存空間內(nèi)的內(nèi)容,直至剩余的緩存空間足夠存放所述內(nèi)容cm,然后在本節(jié)點緩存空間內(nèi)緩存所述內(nèi)容cm,更新緩存列表。

其中,所述緩存更新方法,所述緩存列表包括每一個所述內(nèi)容cm的id號、每一個所述內(nèi)容cm的緩存地址以及每一個所述內(nèi)容cm的緩存時間中的一個或多個。

其次,為實現(xiàn)上述目的,還提出一種基于位置變化的聯(lián)合lru與lfu的緩存更新方法的通信裝置,包括蜂窩網(wǎng)絡通信模塊、lru記錄存儲模塊、lfu記錄存儲模塊以及緩存單元,其特征在于,所述通信裝置還包括緩存更新計算模塊;

所述蜂窩網(wǎng)絡通信模塊的信號接收端構成所述通信裝置的輸入端,所述蜂窩網(wǎng)絡通信模塊的數(shù)據(jù)端同時連接所述lru記錄存儲模塊的輸入端、所述lfu記錄存儲模塊的輸入端、以及所述緩存單元的輸入端,所述lru記錄存儲模塊的輸出端以及所述lfu記錄存儲模塊的輸出端同時連接所述緩存更新計算模塊的輸入端,所述緩存更新計算模塊的輸出端連接所述緩存單元的控制端,所述緩存單元的輸出端連接所述蜂窩網(wǎng)絡通信模塊的數(shù)據(jù)端,所述蜂窩網(wǎng)絡通信模塊的信號發(fā)送端構成所述通信裝置的輸出端;

所述蜂窩網(wǎng)絡通信模塊用于將信號接收端接收到的信號轉(zhuǎn)化為所述通信裝置能夠處理的數(shù)據(jù)內(nèi)容cm,同時將所述緩存單元輸出的所述數(shù)據(jù)內(nèi)容cm轉(zhuǎn)化為蜂窩網(wǎng)絡信號并發(fā)送;

所述lfu記錄存儲模塊用于記錄所述緩存單元內(nèi)每一個數(shù)據(jù)內(nèi)容cm的id號及其請求次數(shù)fm;

所述lru記錄存儲模塊用于記錄所述緩存單元內(nèi)每一個數(shù)據(jù)內(nèi)容cm的id號及其請求時間tm;

所述緩存單元用于根據(jù)所述緩存更新計算模塊的控制指令,緩存所述蜂窩網(wǎng)絡通信模塊接收到的所述數(shù)據(jù)內(nèi)容cm;并根據(jù)所述緩存更新計算模塊的控制指令,向所述蜂窩網(wǎng)絡通信模塊輸出其緩存的相應數(shù)據(jù)內(nèi)容;所述緩存更新計算模塊用于響應所述蜂窩網(wǎng)絡中的數(shù)據(jù)內(nèi)容請求,控制所述緩存單元輸出相應的數(shù)據(jù)內(nèi)容;所述緩存更新計算模塊同時用于讀取所述lfu記錄存儲模塊以及所述lru記錄存儲模塊中的記錄,結合所述蜂窩網(wǎng)絡中記錄的所述通信裝置的位置信息,控制所述緩存單元緩存相應的數(shù)據(jù)內(nèi)容cm。

同時,為實現(xiàn)上述目的,還提出一種基于位置變化的聯(lián)合lru與lfu的緩存更新方法的移動蜂窩網(wǎng)絡,包括至少一個具有緩存功能的移動節(jié)點,其特征在于,所述移動蜂窩網(wǎng)絡中的每個移動節(jié)點進行緩存更新的步驟如下:

步驟d-1,計算本移動節(jié)點的相對位置波動因子然后跳轉(zhuǎn)至步驟d-2;其中,j表示本移動節(jié)點第j次移動,(xj,yj)表示本移動節(jié)點第j次移動后所處位置的坐標,xj表示本移動節(jié)點第j次移動后所處位置的橫坐標,yj表示本移動節(jié)點第j次移動后所處位置的縱坐標,k表示本移動節(jié)點移動總次數(shù),表示本移動節(jié)點k次移動的中心位置坐標,為本移動節(jié)點k次移動的中心位置橫坐標,為本移動節(jié)點k次移動的中心位置縱坐標;

步驟d-2,計算本移動節(jié)點接收的所述內(nèi)容下載請求中,每一個內(nèi)容cm的lru價值以及每一個內(nèi)容cm的lfu價值然后跳轉(zhuǎn)至步驟d-3;其中,tm為lru記錄中收到所述內(nèi)容cm的下載請求的時間,fm為lfu記錄中收到所述內(nèi)容cm的下載請求的次數(shù),m為本移動節(jié)點lru記錄與lfu記錄的數(shù)目;

步驟d-3,計算本移動節(jié)點的相對最大位置波動因子然后跳轉(zhuǎn)至步驟d-4;其中,常數(shù)β取值范圍為(1,+∞);

步驟d-4,計算本移動節(jié)點接收的所述內(nèi)容下載請求中,每一個內(nèi)容cm的更新概率pm=α(μ×v_lrum+(1-μ)×v_lfum)l,然后跳轉(zhuǎn)至步驟d-5;其中,所述權重因子μ的取值范圍是(0,1);

步驟d-5,依次判斷本移動節(jié)點接收的所述每一個內(nèi)容cm的更新概率pm,若所述內(nèi)容cm的更新概率pm小于更新概率閾值γ,則不進行緩存更新;否則,進跳轉(zhuǎn)至步驟d-6;

步驟d-6,判斷本移動節(jié)點緩存空間容量是否足夠存放所述內(nèi)容cm,若容量足夠增在本移動節(jié)點緩存空間內(nèi)緩存所述內(nèi)容cm,更新緩存列表;否則,先按照緩存時間從舊到新的順序依次刪除本移動節(jié)點緩存空間內(nèi)的內(nèi)容,直至剩余的緩存空間足夠存放所述內(nèi)容cm,然后在本移動節(jié)點緩存空間內(nèi)緩存所述內(nèi)容cm,更新緩存列表。

其中,步驟d-1至步驟d-3之間的運算順序可以互換,也可并列執(zhí)行。

進一步,上述移動蜂窩網(wǎng)絡,所述每個移動節(jié)點在接收到內(nèi)容下載請求后,響應步驟如下:

步驟a,記錄本移動節(jié)點ni當前位置坐標,并合并本移動節(jié)點接收到的內(nèi)容重復的所述下載請求,然后根據(jù)合并后的內(nèi)容下載請求更新所述lru記錄與所述lfu記錄,跳轉(zhuǎn)至步驟b;

步驟b,查詢本移動節(jié)點內(nèi)緩存的內(nèi)容,根據(jù)所述下載請求,向依次向所述移動蜂窩網(wǎng)絡中的移動節(jié)點發(fā)送該移動節(jié)點所請求的內(nèi)容,跳轉(zhuǎn)至步驟c;

步驟c,判斷是否到達緩存更新時刻,若到達緩存更新時刻,則跳轉(zhuǎn)至步驟d;否則,回到步驟a;

步驟d,按照所述步驟d-1至所述步驟d-6的順序更新緩存,跳轉(zhuǎn)至步驟e;

步驟e,判斷是否接收到新的內(nèi)容下載請求,若是,則跳轉(zhuǎn)至步驟a;否則,結束。

進一步,上述移動蜂窩網(wǎng)絡,所述緩存更新時刻由所述移動蜂窩網(wǎng)絡統(tǒng)一設定,或由每一個所述移動節(jié)點自行設定。所述移動節(jié)點的位置坐標由所述移動蜂窩網(wǎng)絡提供,或由所述移動節(jié)點自行計算確定。所述各移動節(jié)點或所述移動蜂窩網(wǎng)絡按照固定周期監(jiān)測所述移動節(jié)點的坐標,確定所述各移動節(jié)點的移動次數(shù)、所述各移動節(jié)點每次移動的坐標。

有益效果

本發(fā)明,針對移動蜂窩網(wǎng)絡的特點,根據(jù)節(jié)點位置關系,結合lru與lfu兩種緩存記錄,綜合考慮節(jié)點緩存內(nèi)容的lru價值v_lrum、lfu價值v_lfum以及節(jié)點位置移動而給該節(jié)點緩存內(nèi)容帶來的需求關系變化(即相對位置波動因子α以及相對最大位置波動因子l),從而計算出緩存中每一個內(nèi)容cm的更新概率pm。根據(jù)所述每一個內(nèi)容cm的更新概率pm,有針對性地篩選出當前緩存中價值較低的內(nèi)容,將這些價值較低的內(nèi)容進行更新。

進一步的,考慮到節(jié)點夠獲取信息的能力以及計算能力有限,本方法僅僅利用節(jié)點自身所擁有的(或從移動蜂窩網(wǎng)絡積攢中所獲得的)節(jié)點位置坐標、接收到的內(nèi)容請求、時間等信息,即可根據(jù)所述內(nèi)容價值模型(即更新概率pm計算公式pm=α(μ×v_lrum+(1-μ)×v_lfum)l),對本節(jié)點緩存中的每一個內(nèi)容進行價值評估。由于計算參數(shù)簡單易得,且運算量小,因此,本發(fā)明在保證緩存內(nèi)容命中率的同時不會占用過多資源。而且,本方法還可根據(jù)實際需求由用戶設定緩存更新周期以及更新概率閾值γ等參數(shù),能夠針對不同用戶的需求和使用習慣對緩存內(nèi)容進行相應更新。本發(fā)明在一定程度上實現(xiàn)了計算開銷與緩存命中率之間的平衡。

與傳統(tǒng)的只考慮內(nèi)容緩存方案設計的方法不同,本發(fā)明考慮的重點是對已緩存的內(nèi)容進行篩選,從而進行有限的更新(而不是像傳統(tǒng)的方法一樣,對整個緩存空間進行重新緩存)。傳統(tǒng)的清空緩存空間進行重新緩存的方法,盡管可能有著較高的緩存命中率,但是其所需要付出的計算開銷極大:不僅需要收集大量的信息,還需要下載大量流行內(nèi)容填滿整個緩存空間。而本發(fā)明,每次只篩選一部分內(nèi)容進行更新,可以大大減少內(nèi)容緩存更新的工作量。

而且,區(qū)別于現(xiàn)有的利用請求分布函數(shù),根據(jù)緩存內(nèi)容的排序情況進行更新的方法,本方法并不需要對緩存內(nèi)容進行排序。本發(fā)明僅通過數(shù)值計算即可得到每一個內(nèi)容的更新概率pm,通過更新概率pm決定是否針對每一項內(nèi)容進行針對性的更新。由于排序過程常常需要占用大量的運算資源,本發(fā)明可以在保證更新準確性的同時,有效避免由于排序而造成的資源消耗,更新過程更加高效。

本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。

附圖說明

附圖用來提供對本發(fā)明的進一步理解,并且構成說明書的一部分,并與本發(fā)明的實施例一起,用于解釋本發(fā)明,并不構成對本發(fā)明的限制。在附圖中:

圖1為根據(jù)本發(fā)明實施例的于位置變動的聯(lián)合lru與lfu的緩存更新步驟流程圖。

圖2為應用本發(fā)明的通信場景示意圖。圖示所述典型的引入d2d通信技術的移動蜂窩網(wǎng)絡中,隨著用戶的移動,本節(jié)點周圍節(jié)點分布時刻變化,此外,考慮到用戶特殊的社會屬性,本節(jié)點通信范圍內(nèi)的部分節(jié)點之間也可能無法形成d2d通信鏈路。

圖3為實施例中l(wèi)ru記錄的結構示意圖。

圖4為實施例中l(wèi)fu記錄的結構示意圖。

圖5為實施例中考慮位置變化的緩存更新方法與不考慮位置變化的緩存更新方法的命中率統(tǒng)計圖。方案1是指本方案中αi=li=1的特殊情況,即不考慮緩存節(jié)點的位置變化。

圖6為實施例中移動蜂窩網(wǎng)絡內(nèi)各移動節(jié)點的內(nèi)部結構示意圖。

具體實施方式

以下結合附圖對本發(fā)明的優(yōu)選實施例進行說明,應當理解,此處所描述的優(yōu)選實施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。在如圖2所示的通信場景中:以用戶1為例,前一時刻,用戶1與周圍四個用戶2、3、4、7由于距離較近可以建立d2d鏈路直接共享內(nèi)容,后一時刻,由于用戶的移動,用戶1能夠與四個用戶3、5、7、9建立d2d鏈路直接共享內(nèi)容。但是由于用戶1與用戶5和用戶9之間不存在社交關系或者相互間關系較差,用戶1不愿意與用戶5和用戶9之間建立d2d鏈路共享內(nèi)容,因此,用戶1與用戶5和用戶9之間不存在通信鏈路,此外,由于用戶2與用戶4不在用戶1可直接通信的范圍內(nèi),用戶1與用戶2和用戶4之間的通信鏈路也不再存在。顯然,用戶的移動性會使得其周圍的網(wǎng)絡拓撲產(chǎn)生很大的變化,直接影響到其緩存方案的效率。一般,在節(jié)點位置發(fā)生很大變化的情況下,節(jié)點內(nèi)部現(xiàn)有的緩存內(nèi)容并不一定能夠為新環(huán)境中的其他節(jié)點所需要。因此,在設計緩存內(nèi)容更新策略時考慮用戶移動性是十分有必要的。

本發(fā)明能夠充分考慮移動用戶的位置變化,聯(lián)合用戶本身所儲存的lru與lfu兩類請求記錄的緩存內(nèi)容更新策略設計方案,實現(xiàn)引入d2d通信技術的移動蜂窩網(wǎng)絡中快速有效更新所緩存內(nèi)容的目標,所提方案能夠在較少內(nèi)容更新工作量的前提下,有效提高緩存內(nèi)容命中率。

本發(fā)明是通過類似圖1的技術方案實現(xiàn)的:

圖1為根據(jù)本發(fā)明的基于大數(shù)據(jù)的實時風險控制方法的流程圖,包括以下步驟:

第一步,初始化:確定緩存更新周期為t,確定本節(jié)點緩存空間容量為s,并根據(jù)所述緩存空間容量s確定本節(jié)點lru記錄與lfu記錄數(shù)目為m,確定更新概率閾值γ,更新概率閾值γ∈[0,1];然后,按照固定周期(如,每小時)獲取本節(jié)點坐標,當本節(jié)點位置坐標發(fā)生變化時記為一次移動,記錄本節(jié)點所有移動次數(shù)及每次移動的位置坐標;

第二步,接收內(nèi)容下載請求,記錄本節(jié)點當前位置坐標,并合并本節(jié)點接收到的內(nèi)容重復的所述下載請求,然后根據(jù)合并后的內(nèi)容下載請求更新所述lru記錄與所述lfu記錄;

第三步,在所述緩存更新周期t內(nèi)重復第二步,每記滿一個緩存更新周期t則跳轉(zhuǎn)至第四步;

第四步,計算本節(jié)點接收的所述內(nèi)容下載請求中,每一個內(nèi)容cm的更新概率pm,然后跳轉(zhuǎn)至第五步;

所述更新概率pm=α(μ×v_lrum+(1-μ)×v_lfum)l;

其中,m表示所述內(nèi)容下載請求中所述內(nèi)容cm的編號,m≤m;

相對位置波動因子其中,j表示本節(jié)點第j次移動,(xj,yj)表示本節(jié)點第j次移動后所處位置的坐標,xj表示本節(jié)點第j次移動后所處位置的橫坐標,yj表示本節(jié)點第j次移動后所處位置的縱坐標,k表示本節(jié)點移動總次數(shù),表示本節(jié)點k次移動的中心位置坐標,為本節(jié)點k次移動的中心位置橫坐標,為本節(jié)點k次移動的中心位置縱坐標。相對位置波動因子α考量的主要是節(jié)點所移動的各個位置與本節(jié)點移動位置中心之間的距離關系。當移動蜂窩網(wǎng)絡用戶移動到一個相對陌生的環(huán)境時(即節(jié)點位置與本節(jié)點移動位置中心之間的距離較大,α較小時),其接收到的內(nèi)容下載請求具有較小的參考價值,此時內(nèi)容更新概率較小,不對內(nèi)容進行更新。

μ為權重因子,所述權重因子μ代表lru記錄與lfu記錄的相對重要程度,其取值范圍是(0,1);

為lru記錄中所述內(nèi)容cm的lru價值;其中,tm為lru記錄中收到所述內(nèi)容cm的下載請求的時間;

為lfu記錄中所述內(nèi)容cm的lfu價值;其中,fm為lfu記錄中收到所述內(nèi)容cm的下載請求的次數(shù);

相對最大位置波動因子其中,常數(shù)β表示映射后各位置分布坐標的分布密集程度,β越小,分布越稀疏,β取值范圍為(1,+∞)。相對最大位置波動因子l考量的主要是節(jié)點的最大位移情況。如果僅僅通過相對位置波動因子α考量節(jié)點的位移,很有可能出現(xiàn)節(jié)點位移坐標分布的形狀相似,但位移坐標變化的范圍不同的情況。在考慮節(jié)點位移范圍時,β值越小,通過相對最大位置波動因子l映射后,節(jié)點各個坐標所對應的更新概率pm就會分布的越松散。通常,如果用戶的移動范圍更大,其緩存內(nèi)容在新的移動蜂窩網(wǎng)絡環(huán)境中被請求的概率會越小。通過相對最大位置波動因子l,就能夠有效區(qū)分移動路徑類似但移動范圍不同的各個用戶,可以針對移動范圍更大的用戶(相對最大位置波動因子l更大的用戶)設置讓其更新更多緩存內(nèi)容,以保證這些用戶緩存內(nèi)容的命中率。

第五步,更新緩存內(nèi)容:依次判斷所述每一個內(nèi)容cm的更新概率pm,若所述內(nèi)容cm的更新概率pm小于所述更新概率閾值γ,則不進行緩存更新;否則,進行緩存更新。

其中,所述節(jié)點中,每一個內(nèi)容cm,均對應一個id編號,一條lru記錄(和/或一條lfu記錄),以及一個更新概率數(shù)值pm。所述lru記錄中的內(nèi)容與lfu記錄中的內(nèi)容各自按照各自的規(guī)則進行更新與記錄,并不要求兩個記錄中記載的內(nèi)容保持完全的一致。并且,為保證能夠及時針對節(jié)點位置的變換情況進行內(nèi)容的更新,本方法中,每個節(jié)點lru記錄或lfu記錄的數(shù)目m大于該節(jié)點緩存空間所能夠存儲的內(nèi)容的條數(shù)。

具體而言,

第一步:在一個引入d2d通信技術的移動蜂窩網(wǎng)絡中,存在n個具有緩存功能的移動節(jié)點,分別表示為n1,…,ni,…nn,例如,n=300,移動節(jié)點n1,…,ni,…n300的緩存空間容量為si=15,其中,i表示第i個移動節(jié)點,n表示移動節(jié)點,ni表示第i個移動節(jié)點的名稱,s表示緩存空間,si表示第i個移動節(jié)點的緩存空間容量。此外,每個移動節(jié)點均保存兩個列表,分別按照圖3和圖4提供的結構儲存兩個記錄lru和lfu(對于兩個列表中存在的相同的內(nèi)容記錄,不做進一步處理)。其中,lru主要包括接收到的請求的內(nèi)容id以及接收到的時間,按照接收時間由近及遠排序;lfu主要包括接收到的請求的內(nèi)容id(現(xiàn)有的移動蜂窩網(wǎng)絡中,在傳輸請求內(nèi)容時通常會附帶有該內(nèi)容的id編號)以及接收到的次數(shù),按照接收次數(shù)由多到少排序。兩個記錄中所記載的內(nèi)容數(shù)量通常需大于節(jié)點所能夠緩存的內(nèi)容數(shù)量,這樣可以在節(jié)點位置變化巨大的情況下有效地對整個緩存進行及時更新。任意時刻t,移動節(jié)點ni接收到的請求為request_rcvi。具體步驟如下:

①需要內(nèi)容下載的用戶發(fā)出內(nèi)容下載請求;

②移動節(jié)點ni接收到其周圍范圍內(nèi)請求用戶發(fā)出的請求,得到內(nèi)容請求的集合request_rciv,同時記錄自己當前時刻所處的位置;

③移動節(jié)點ni將內(nèi)容請求的集合request_rcvi做進一步處理:將重復的請求合并,并記錄次數(shù)。

第二步:移動節(jié)點ni根據(jù)接收到的請求request_rciv對記錄lru和lfu進行更新。

具體更新規(guī)則如下(本步驟中,①和②的順序可以更換):

①lru記錄更新:收到請求后,將最新收到的請求進行記錄,同時將距離當前時刻最遠的相應數(shù)量的請求記錄刪除,最多保留m個請求記錄,并記錄收到請求內(nèi)容cm的時間tm;

②lfu記錄更新:收到請求后,更新之前已收到的請求記錄的次數(shù),第一次收到的請求則隨機排序記錄在最后,次數(shù)為一次,保留次數(shù)最多的m=30個請求記錄,其余刪除,并記錄收到請求內(nèi)容cm的次數(shù)fm。

第三步:重復第一步和第二步直到時刻t,(t的數(shù)值對緩存更新的次數(shù)有著直接的影響,t越大,則更新次數(shù)越少,整個內(nèi)容更新的工作量越少。在本專利中,t取值為1天,即每天對緩存的內(nèi)容進行一次更新。)這里,t=86400秒,即每天更新緩存空間一次,計算如下參數(shù):

①計算第i個移動節(jié)點的相對位置波動因子αi,該因子反映緩存節(jié)點在不同時刻所處位置相對的波動程度。其計算公式如下:

其中,i表示第i個移動節(jié)點,j表示移動節(jié)點第j次移動,(xij,yij)表示第i個移動節(jié)點第j次移動后所處位置的坐標,xij表示第i個移動節(jié)點第j次移動后所處位置的橫坐標,yij表示第i個移動節(jié)點第j次移動后所處位置的縱坐標,k表示移動k次,表示第i個移動節(jié)點k次位置變動的中心位置的坐標,為橫坐標,為縱坐標,

②計算lru記錄中第m個內(nèi)容cm的價值v_lrum,其意味著最新接收到的內(nèi)容下載請求對內(nèi)容更新影響最大,計算公式為:

③計算lfu記錄中第m個內(nèi)容cm的價值v_lfum,其意味著接收次數(shù)越多的內(nèi)容下載請求對內(nèi)容更新影響越大,計算公式為:

④計算第i個移動節(jié)點的相對最大位置波動因子li,其表征不同節(jié)點之間位置波動的差異,計算公式為:其中,β為一常數(shù),表示映射后像的分布密集程度,其取值范圍是(1,+∞),β越小,分布越稀疏。

⑤對第i個移動節(jié)點而言,內(nèi)容cm的可更新概率計算公式為:

其中,μ為權重因子,代表lru和lfu兩類記錄的相對重要程度,取值范圍是(0,1)。表示內(nèi)容cm需要通過更新緩存空間進而被緩存的概率大小,越大表示進行內(nèi)容更新操作概率越大。

第四步:緩存內(nèi)容更新,具體更新規(guī)則為:如果則第i個移動節(jié)點緩存內(nèi)容cm,γ表示更新概率閾值,取值范圍是(0,1)。當緩存空間有剩余時,直接緩存內(nèi)容cm;當緩存空間已滿時,刪除緩存空間中最早緩存的內(nèi)容c′,然后緩存內(nèi)容cm。這里,更新概率閾值取值為:γ=0.001。

如圖5所示,本方法有著較高的緩存命中率,而方案1由于不考慮緩存節(jié)點的位置移動,過多依賴于偏離自己較遠的位置處收到的內(nèi)容下載請求,以致對緩存內(nèi)容更新產(chǎn)生負面影響,最終效果極差。

進一步地,上述基于位置變化的聯(lián)合lru與lfu的緩存更新方法,其特征在于,所述緩存列表包括每一個所述內(nèi)容cm的id編號、每一個所述內(nèi)容cm的緩存地址以及每一個所述內(nèi)容cm的緩存時間中的一個或多個。

同時,本申請還提供一種基于位置變化的聯(lián)合lru與lfu的緩存更新方法的通信裝置,包括蜂窩網(wǎng)絡通信模塊、lru記錄存儲模塊、lfu記錄存儲模塊以及緩存單元,其特征在于,所述通信裝置還包括緩存更新計算模塊;

所述蜂窩網(wǎng)絡通信模塊的信號接收端構成所述通信裝置的輸入端,所述蜂窩網(wǎng)絡通信模塊的數(shù)據(jù)端同時連接所述lru記錄存儲模塊的輸入端、所述lfu記錄存儲模塊的輸入端、以及所述緩存單元的輸入端,所述lru記錄存儲模塊的輸出端以及所述lfu記錄存儲模塊的輸出端同時連接所述緩存更新計算模塊的輸入端,所述緩存更新計算模塊的輸出端連接所述緩存單元的控制端,所述緩存單元的輸出端連接所述蜂窩網(wǎng)絡通信模塊的數(shù)據(jù)端,所述蜂窩網(wǎng)絡通信模塊的信號發(fā)送端構成所述通信裝置的輸出端;

所述蜂窩網(wǎng)絡通信模塊用于將信號接收端接收到的信號轉(zhuǎn)化為所述通信裝置能夠處理的數(shù)據(jù)內(nèi)容cm,同時將所述緩存單元輸出的所述數(shù)據(jù)內(nèi)容cm轉(zhuǎn)化為蜂窩網(wǎng)絡信號并發(fā)送;

所述lfu記錄存儲模塊用于記錄所述緩存單元內(nèi)每一個數(shù)據(jù)內(nèi)容cm的id號及其請求次數(shù)fm;

所述lru記錄存儲模塊用于記錄所述緩存單元內(nèi)每一個數(shù)據(jù)內(nèi)容cm的id號及其請求時間tm;

所述緩存單元用于根據(jù)所述緩存更新計算模塊的控制指令,緩存所述蜂窩網(wǎng)絡通信模塊接收到的所述數(shù)據(jù)內(nèi)容cm;并根據(jù)所述緩存更新計算模塊的控制指令,向所述蜂窩網(wǎng)絡通信模塊輸出其緩存的相應數(shù)據(jù)內(nèi)容;

所述緩存更新計算模塊用于響應所述蜂窩網(wǎng)絡中的數(shù)據(jù)內(nèi)容請求,控制所述緩存單元輸出相應的數(shù)據(jù)內(nèi)容;所述緩存更新計算模塊同時用于讀取所述lfu記錄存儲模塊以及所述lru記錄存儲模塊中的記錄,結合所述蜂窩網(wǎng)絡中記錄的所述通信裝置的位置信息,控制所述緩存單元緩存相應的數(shù)據(jù)內(nèi)容cm。

同時,基于上述的通信裝置以及緩存更新方法,還可構造一種緩存內(nèi)容請求命中率更高的移動蜂窩網(wǎng)絡。所述移動蜂窩網(wǎng)絡,包括至少一個具有緩存功能的移動節(jié)點,其特征在于,所述移動蜂窩網(wǎng)絡中的每個移動節(jié)點進行緩存更新的步驟如下:

步驟d-1,計算本移動節(jié)點的相對位置波動因子然后跳轉(zhuǎn)至步驟d-2;其中,j表示本移動節(jié)點第j次移動,(xj,yj)表示本移動節(jié)點第j次移動后所處位置的坐標,xj表示本移動節(jié)點第j次移動后所處位置的橫坐標,yj表示本移動節(jié)點第j次移動后所處位置的縱坐標,k表示本移動節(jié)點移動總次數(shù),表示本移動節(jié)點k次移動的中心位置坐標,為本移動節(jié)點k次移動的中心位置橫坐標,為本移動節(jié)點k次移動的中心位置縱坐標;

步驟d-2,計算本移動節(jié)點接收的所述內(nèi)容下載請求中,每一個內(nèi)容cm的lru價值以及每一個內(nèi)容cm的lfu價值然后跳轉(zhuǎn)至步驟d-3;其中,tm為lru記錄中收到所述內(nèi)容cm的下載請求的時間,fm為lfu記錄中收到所述內(nèi)容cm的下載請求的次數(shù),m為本移動節(jié)點lru記錄與lfu記錄的數(shù)目;

步驟d-3,計算本移動節(jié)點的相對最大位置波動因子然后跳轉(zhuǎn)至步驟d-4;其中,常數(shù)β取值范圍為(1,+∞);

步驟d-4,計算本移動節(jié)點接收的所述內(nèi)容下載請求中,每一個內(nèi)容cm的更新概率pm=α(μ×v_lrum+(1-μ)×v_lfum)l,然后跳轉(zhuǎn)至步驟d-5;其中,所述權重因子μ的取值范圍是(0,1);

步驟d-5,依次判斷本移動節(jié)點接收的所述每一個內(nèi)容cm的更新概率pm,若所述內(nèi)容cm的更新概率pm小于更新概率閾值γ,則不進行緩存更新;否則,進跳轉(zhuǎn)至步驟d-6;

步驟d-6,判斷本移動節(jié)點緩存空間容量是否足夠存放所述內(nèi)容cm,若容量足夠增在本移動節(jié)點緩存空間內(nèi)緩存所述內(nèi)容cm,更新緩存列表;否則,先按照緩存時間從舊到新的順序依次刪除本移動節(jié)點緩存空間內(nèi)的內(nèi)容,直至剩余的緩存空間足夠存放所述內(nèi)容cm,然后在本移動節(jié)點緩存空間內(nèi)緩存所述內(nèi)容cm,更新緩存列表。

其中,步驟d-1至步驟d-3之間的運算順序可以互換。

進一步,上述移動蜂窩網(wǎng)絡,所述每個移動節(jié)點在接收到內(nèi)容下載請求后,響應步驟如下:

步驟a,記錄本移動節(jié)點ni當前位置坐標,并合并本移動節(jié)點接收到的內(nèi)容重復的所述下載請求,然后根據(jù)合并后的內(nèi)容下載請求更新所述lru記錄與所述lfu記錄,跳轉(zhuǎn)至步驟b;

步驟b,查詢本移動節(jié)點內(nèi)緩存的內(nèi)容,根據(jù)所述下載請求,向依次向所述移動蜂窩網(wǎng)絡中的移動節(jié)點發(fā)送該移動節(jié)點所請求的內(nèi)容,跳轉(zhuǎn)至步驟c;

步驟c,判斷是否到達緩存更新時刻,若到達緩存更新時刻,則跳轉(zhuǎn)至步驟d;否則,回到步驟a;

步驟d,按照所述步驟d-1至所述步驟d-6更新緩存(其中步驟d-1至步驟d-3也可同時并行處理),跳轉(zhuǎn)至步驟e;

步驟e,判斷是否接收到新的內(nèi)容下載請求,若是,則跳轉(zhuǎn)至步驟a;否則,結束。

進一步,上述移動蜂窩網(wǎng)絡,所述緩存更新時刻由所述移動蜂窩網(wǎng)絡統(tǒng)一設定,或由每一個所述移動節(jié)點自行設定。所述移動節(jié)點的位置坐標由所述移動蜂窩網(wǎng)絡提供,或由所述移動節(jié)點自行計算確定。

本發(fā)明的適用范圍是引入d2d通信的移動節(jié)點具有緩存流行文件能力的移動蜂窩網(wǎng)絡,以提高網(wǎng)絡提供內(nèi)容下載服務的能力,提高用戶服務質(zhì)量為目的,通過構建基于位置變動的聯(lián)合lru與lfu的內(nèi)容價值模型來實現(xiàn)更加有效的內(nèi)容緩存。與傳統(tǒng)方法中只考慮內(nèi)容緩存方案設計的研究場景不同,本發(fā)明主要考慮對已緩存的內(nèi)容進行有限的更新,而不是對整個緩存空間進行重新緩存。每隔一段時間便將緩存空間清空并根據(jù)新的緩存方案緩存內(nèi)容,盡管可能有著較高的緩存命中率,但是其所需要付出的計算開銷極大,不僅需要收集大量的信息,還因為重新緩存而需要下載大量流行內(nèi)容填滿整個緩存空間,因此,考慮每次只是更新一部分內(nèi)容,從而大大減少了內(nèi)容緩存的工作量。在這一目的下,為了能夠盡可能增大緩存命中率,大量的文獻考慮了聯(lián)合lru與lfu的緩存內(nèi)容更新策略設計方案,而本發(fā)明在此基礎上進一步考慮了用戶移動的情形,這將更具有實際意義。特別地,考慮到節(jié)點所能夠獲取信息的能力有限以及集中式計算所帶來的巨大計算開銷,本發(fā)明僅僅采用了節(jié)點自身所擁有的信息,例如節(jié)點位置變化、所接收到的內(nèi)容請求、時間等信息,節(jié)點利用有限信息及基于位置變動的聯(lián)合lru與lfu的內(nèi)容價值模型,實時更新緩存的內(nèi)容,在一定程度上實現(xiàn)計算開銷與緩存命中率之間的平衡。

本發(fā)明技術方案的優(yōu)點主要體現(xiàn)在:移動蜂窩網(wǎng)絡引入d2d通信方式后,可以在移動節(jié)點處緩存流行文件,當周圍有用戶發(fā)出相應文件的請求時,兩者可以直接建立d2d鏈路,從而網(wǎng)絡可以以較快的速率、較低的時延完成對用戶的服務。與傳統(tǒng)方法中只考慮內(nèi)容緩存方案設計的研究場景不同,基于位置變動的聯(lián)合lru與lfu的緩存更新策略設計方法主要考慮對已緩存的內(nèi)容進行有限的更新,而不是對整個緩存空間進行重新緩存,從而大大減少了內(nèi)容緩存的工作量。此外,在已有的考慮lru與lfu的緩存內(nèi)容更新策略設計方案基礎上,進一步考慮了用戶移動的情形,更具有實際意義。特別地,考慮到節(jié)點所能夠獲取信息的能力有限以及集中式計算所帶來的巨大計算開銷,本發(fā)明僅僅采用了節(jié)點自身所擁有的信息,例如節(jié)點位置變化、所接收到的內(nèi)容請求、時間等信息,節(jié)點利用有限信息及基于位置變動的聯(lián)合lru與lfu的內(nèi)容價值模型,實時更新緩存的內(nèi)容,在保證緩存命中率的同時,不會進一步增加計算開銷。

本領域普通技術人員可以理解:以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,盡管參照前述實施例對本發(fā)明進行了詳細的說明,對于本領域的技術人員來說,其依然可以對前述各實施例記載的技術方案進行修改,或者對其中部分技術特征進行等同替換。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1