沈 剛,陳 斌,毛明榮
(1. 三江學院,江蘇 南京 210012;2. 南京師范大學,江蘇 南京 210023 )
傳統的云計算網絡采取的是集中式框架,在當前網絡數據量與網絡終端大爆發的情況下,表現出明顯的傳輸過載和延遲增長。針對該問題,近年來提出了邊緣計算,它是利用邊緣網絡與云核心網絡協同工作,將云核心網絡的功能進行遷移[1-3]。由于邊緣網絡更接近用戶設備側,將部分功能遷移至邊緣網絡,使邊緣網絡具有數據存儲和計算能力,對于用戶側常用的一些資源信息,就可以存儲在邊緣網絡,能夠均衡網絡任務,降低網絡延遲,更好的根據用戶需求提供相應的服務質量。但是,在邊緣云協同網絡數據存儲的過程中,面臨著存儲節點的選擇、存儲數據的選擇、目標數據的提取等問題[4-5]。這些問題的存在,也對其存儲策略和應用效果產生嚴重影響。另外,由于云計算網絡業務繁雜,網絡數據對于用戶的重要程度也越來越大,因此邊緣云協同網絡必須保證數據安全性和可靠性。當網絡局部節點發生斷電、宕機或者其它故障時,為避免數據丟失、業務中斷等情況出現,需要對數據存儲進行容災備份處理。而容災備份需要考慮請求響應效率,如何從備份中快速恢復數據,如何確保數據的可靠與完整性[6-7]。針對這些問題,本文提出并設計了一種邊緣云協同網絡數據存儲容災備份方案。為了改善邊緣網絡與云核心網絡的協同性,在邊緣網絡中實現用戶端興趣數據的預測存儲,不僅能夠降低云核心網絡的業務壓力,同時能夠降低網絡中傳輸鏈路負載,以及用戶請求的時間延遲。為了改善數據存儲的容災性,設計了容災備份策略,利用粒子群算法搜索數據恢復成本與恢復時間的聯合最優解,從而提高數據的可靠性與恢復響應。
邊緣云協同網絡從拓撲結構上可以看做由云服務中心、云核心網絡、邊緣網絡、以及用戶設備組成,傳統的云計算網絡采取以服務中心向外擴散的框架,在數據增加、傳輸延遲等壓力下,顯露出明顯的應用缺陷。將云核心網絡的部分功能推向邊緣網絡,使其協同完成用戶端的任務需求,是當前應對云環境復雜數據快速的主要趨勢。在邊緣網絡中增加智能節點,由它完成邊緣網絡與云核心網絡的數據交換,同時該節點具有存儲功能,用于存儲用戶端經常訪問、快速訪問的數據。當用戶將請求發送至邊緣網絡后,邊緣網絡通過智能節點判斷請求數據的流行度、熱度等信息,并據此來選擇從邊緣網絡的存儲中返回響應,還是繼續向云核心網絡轉發請求。對于流行度、熱度、頻次較高的請求數據,邊緣網絡存儲將會快速響應給用戶,避免回傳鏈路的占用。
對邊緣網絡采取離散分析,假定用于數據存儲計算的智能節點s存儲空間大小為Ms,則任意時間點上,s都需要判斷用戶請求、數據流行度等信息,并對其中存儲的數據進行相應的調整,調整策略描述為

(1)
這里最終目的是搜索出最為合理的存儲調整方案,從而確保邊緣網絡的數據存儲效果。根據調整策略,由數據庫中所有數據構成向量m(s,[tk,tk+1))=[m1(s,[tk,tk+1)),…,mi(sD,[tk,tk+1))]T,利用該向量就可以控制存儲的命中率。假定[tk,tk+1)時間段內節點s處理用戶請求的總數量是J(s,[tk,tk+1)),對應第j次請求的數據表示為l(j),則存儲命中率計算公式如下

(2)
其中,pm(s,[tk,tk+1))(l(j))是標記函數,在處理請求過程中,當某次請求數據已經存儲于節點時標記為1,未存儲于節點時標記為0。為防止節點存儲溢出,對其采取如下約束:
≤Ms
(3)
其中,z=[z1,z2,…,zi]T為數據庫D中的所有數據大小;存儲向量m(s,[tk,tk+1))為約束變量。邊緣網絡存儲空間有限,這里引入數據請求頻率,在[tk,tk+1)時間段內,將節點s上發生數據i被請求的總數量記做ci(s,[tk,tk+1)),此時邊緣網絡的最優存儲描述如下
ci(s,[tk,tk+1))s.t.zT·m(s,[tk,tk+1))≤Ms
(4)
經過優化后的邊緣網絡存儲,可以看做離散時間段與節點關系的求解。當網絡數據不斷刷新,需要對邊緣網絡存儲更新時,由于請求頻次與最近最少請求指標[8-9]都難以提高請求效率,并且無法保證存儲數據的準確性,因此,這里采取熱度數據生命期與流行度兩種指標判斷數據的更替。節點在接收用戶請求時,實時記錄用戶端的熱點數據,將其請求的數據標記時間戳,當數據庫中某些數據需要更新時,將對應時刻與請求時間戳做差值計算,得到熱度生命期。將存儲更新時間記做tu,請求時間戳記做te,于是熱度生命期公式如下
T(i)=tu-te
(5)
熱度生命期T(i)越大越好,其值越大,說明數據i的熱度越高。邊緣網絡距離用戶端最近,利用熱度生命期的觀測能夠更加準確的體現用戶端數據傾向,請求數據存在于節點本地,顯然數據預測被命中的概率更大。
數據流行度指標根據統計數據獲取。假定此前某段時間,統計得到節點s中的數據i被請求的數量是ci(s),于是節點s中的數據i流行度計算如下

(6)
為了綜合衡量存儲數據的更新策略,將熱度生命期與數據流行度進行加權融合,公式表示如下
L(i)=λ/T(i)+(1-λ)pi(s)
(7)
其中,λ是加權因子,可以調節兩種指標的控制權重。在存儲更新時,將L(i)值較小的數據采取替換操作。
在網絡節點出現故障時,為防止數據損壞丟失,保證用戶請求能夠被正常且及時響應,對數據采取容災備份,原理如圖1所示。容災備份涉及數據遷移與數據恢復,在未發生故障時,各備份數據庫進行同步的數據遷移,在發生故障時,從備份數據庫中復制數據,最終目標是快速恢復網絡業務。

圖1 數據存儲容災原理
容災備份根據網絡數據更新采取動態備份機制,當節點設備初始化時,進行完整數據備份;當網絡存儲數據增加時,進行增量數據備份;當網絡存儲數據替換時,進行差別數據備份。圖2描述了容災備份的處理過程。

圖2 容災備份流程
在容災備份框架的基礎上,設計具體的數據調度方法,該過程應該衡量數據恢復帶來的成本消耗。對于邊緣網絡而言,主要有數據存儲與數據通信消耗。假定網絡中任意節點j對應的存儲成本表示為um,j,數據傳輸成本表示為ut,j,據此,將數據恢復成本描述如下:

(8)
其中,N代表節點中存儲的文件數量;Di表示文件i包含的數據大小;Ni,j表示節點j中包含的文件i的備份數量。假定節點j傳輸鏈路帶寬是Bj,則恢復時間計算公式描述如下:

(9)
其中,Tret表示需要恢復數據的查詢時間。
為了對恢復成本與恢復時間聯合求解,將其看做為多目標尋優問題,于是,本文引入粒子群算法構建數據恢復模型。對于一個q維度空間而言,初始化部署K個粒子,其中任意粒子位置描述為wi(wi1,wi2,…,wiq),粒子速度描述為vi(vi1,vi2,…,vik)。在進行最優解搜索的過程中,粒子需要不斷的調整速度與位置,調整方式表示如下

(10)

(11)

ω=ωmax-n(ωmax-ωmin)/nmax
(12)


(13)


(14)
在每一輪的迭代進化過程中,需要對粒子進行相應的評價和約束,評價的依據就是獲得最小的恢復成本和恢復時間,即對(8)與(9)計算最小值。而約束是為了獲得更好的容災效果,約束條件描述如下

(15)
在容災備份時,利用式(15)對備份容量和備份數量進行了限制,避免產生存儲資源溢出和冗余備份情況。通過迭代進化,最終計算得到粒子群最佳位置,即獲得最佳成本與恢復時間。
仿真利用Matlab模擬邊緣云協同網絡,用戶任務請求次數采取Zipf分布,任務計算采取正態分布,其它參數設置如表1所示。

表1 仿真實驗參數設置
仿真通過任務數據預測準確度、存儲命中率,以及恢復時間指標,依次對本文提出的數據存儲容災備份方案進行性能驗證。同時,采用文獻[2]和文獻[6]方案在相同的實驗環境中得到各自性能指標,與本文方案進行對比。
本文在網絡任務數據預測準確度時,分別將任務數據采取流行度排序,并以10為單位進行分組劃分,得到每組的平均預測準確度,結果如圖3所示。根據準確度結果曲線,經過縱向比較可以發現,隨著分組的靠后,各方法的數據預測準確度都有所降低,而本文方案的準確度顯然降低幅度更小,從第一組到最后一組,數據預測準確度僅降低了18.60%。經過橫向比較可以發現,對于每種方案的相同分組,本文方案的數據預測準確度都高于對比方案。該結果表明,采用熱度數據生命期與流行度兩種指標能夠更加準確判斷出用戶端的數據需求傾向,從而確保存儲數據的準確性與請求效率。

圖3 任務數據預測準確度
存儲命中率體現了存儲效率的優劣,實驗過程中,為了對各方法采取統一衡量標準,計算公式表示如下

(16)
式中,hi表示網絡節點i任務數據命中次數;Crequest表示網絡中的用戶任務累計請求次數。
通過仿真,得到相對存儲增加時,存儲命中率的變化情況,結果如圖4所示。通過結果對比可知,在相對存儲增長的過程中,各方案的存儲命中率均表現出不同程度的增加。其中文獻[2]和文獻[6]方案由于數據預測與緩存策略的缺陷,產生較多的冗余數據存儲,使得存儲命中率明顯低于本文方案。該結果表明本文方案有效提高了邊緣云協同網絡的存儲命中率,有利于數據多樣性與存儲利用率,避免用戶請求向云核心網絡的轉發,能夠從自身存儲文件中直接向用戶提供請求數據,提高請求處理效率。

圖4 存儲命中率結果
仿真模擬網絡故障情況下的數據恢復時間,結果如圖5所示。根據結果對比,對于任何大小的數據,本文方案的恢復時間都是最快的,且在數據量增長過程中,該方案的恢復時間增速也最慢。這是由于本文方案基于準確的數據存儲,設計了容災備份策略,利用粒子群算法對預測數據采取合理高效的備份,當網絡節點出現故障時,能夠根據備份數據,為用戶請求快速及時的提供恢復數據,防止數據損壞和丟失。

圖5 恢復時間曲線
針對邊緣云協同網絡的數據存儲問題,本文將邊緣網絡采取離散分析,設計了帶有存儲命中率與存儲容量約束的最優存儲策略,并在每次迭代時進行動態調整。同時在網絡存儲更新時,采取熱度數據生命期與流行度兩種指標判斷數據的更替。此外,設計了數據存儲容災備份模型,并引入粒子群算法搜索最優備份策略。通過仿真實驗,驗證了本文提出的邊緣云協同網絡數據存儲容災備份方案能夠更加準確判斷出用戶端的數據需求傾向,對其采取準確有效存儲,從而提高請求效率與容災效果。