欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種存在數(shù)據(jù)依賴關(guān)系時降低云存儲整體開銷的方法與流程

文檔序號:11843360閱讀:553來源:國知局
一種存在數(shù)據(jù)依賴關(guān)系時降低云存儲整體開銷的方法與流程
本發(fā)明涉及云存儲領(lǐng)域,具體涉及一種存在數(shù)據(jù)依賴關(guān)系時降低云存儲整體開銷的方法。
背景技術(shù)
:隨著云存儲的迅速發(fā)展,越來越多的應(yīng)用將數(shù)據(jù)存儲在云端,如何降低數(shù)據(jù)中心海量數(shù)據(jù)的存儲開銷成為一個重要的問題。在云存儲中,數(shù)據(jù)之間可能存在依賴關(guān)系。比如不同清晰度的視頻文件可以通過原視頻文件轉(zhuǎn)碼生成,此時原文件和轉(zhuǎn)碼后的文件之間就存在依賴關(guān)系。目前,存在數(shù)據(jù)依賴關(guān)系時降低云存儲整體開銷的方案是:通過算法決策數(shù)據(jù)是否需要存儲,此時數(shù)據(jù)要么不存儲,要么以副本數(shù)固定的多副本存儲。對于不存儲的數(shù)據(jù),當(dāng)其收到訪問請求時,先利用依賴關(guān)系生成數(shù)據(jù),再提供訪問服務(wù)。此時,系統(tǒng)的整體開銷包含存儲數(shù)據(jù)產(chǎn)生的存儲開銷和生成數(shù)據(jù)產(chǎn)生的計算開銷。然而,現(xiàn)有方案還存在兩方面不足:(1)在存儲數(shù)據(jù)時,數(shù)據(jù)的存儲策略固定。沒有進(jìn)一步考慮數(shù)據(jù)存儲策略可變的情況。(2)沒有考慮當(dāng)數(shù)據(jù)的生成時間超出用戶允許的響應(yīng)延遲時間時,數(shù)據(jù)不可用的問題。技術(shù)實(shí)現(xiàn)要素:針對現(xiàn)有技術(shù)存在的問題,本發(fā)明的主要目的在于提供一種當(dāng)數(shù)據(jù)存在依賴關(guān)系時,在保證數(shù)據(jù)可用性指標(biāo)的前提下降低系統(tǒng)整體開銷的方法。為簡化表述,下文中的“數(shù)據(jù)”指云存儲中存在依賴關(guān)系的數(shù)據(jù)。數(shù)據(jù)副本可以指副本方式的一個副本或糾刪碼方式的一個編碼碎片。數(shù)據(jù)的存儲策略指數(shù)據(jù)的存儲方式,包括不存儲、多副本存儲和糾刪碼存儲。本發(fā)明的特征在于包含以下內(nèi)容:1.數(shù)據(jù)存儲決策模型現(xiàn)有方案在保存數(shù)據(jù)時,使用副本數(shù)固定的多副本存儲策略。存儲模型的決策變量為N個數(shù)據(jù)是否需要存儲,單個數(shù)據(jù)只有存儲開銷或者計算開銷,且沒有考慮數(shù)據(jù)可用性的問題。與現(xiàn)有方案不同,本發(fā)明中數(shù)據(jù)的存儲策略可變,其特征在于:1)模型的決策變量為N個數(shù)據(jù)的存儲策略,如公式(2)所示;2)數(shù)據(jù)的整體開銷同時包括現(xiàn)有副本的存儲開銷和當(dāng)所有副本失效時生成數(shù)據(jù)的計算開銷,其計算方法由公式(3)給出;3)模型的目標(biāo)函數(shù)為最小化系統(tǒng)整體開銷,由公式(1a)給出;4)模型的約束條件為數(shù)據(jù)的可用性需要滿足給定的可用性指標(biāo),由公式(1b)給出。2.數(shù)據(jù)生成時間期望的計算方法在計算數(shù)據(jù)的整體開銷時,其中計算開銷與數(shù)據(jù)的生成時間有關(guān)。在本發(fā)明中,數(shù)據(jù)的生成時間Ti是一個隨機(jī)變量,與數(shù)據(jù)直接或者間接依賴的數(shù)據(jù)的故障狀態(tài)有關(guān)。本發(fā)明提供了數(shù)據(jù)生成時間的期望E(Ti)的計算方法,由公式(8)給出。3.數(shù)據(jù)可用性的計算方法當(dāng)數(shù)據(jù)不存儲或者發(fā)生故障時,如果不能在用戶允許的響應(yīng)延遲時間內(nèi)生成數(shù)據(jù),會導(dǎo)致數(shù)據(jù)不可用,影響數(shù)據(jù)的可用性。本發(fā)明提供了數(shù)據(jù)可用性的計算方法,由公式(10)給出。4.數(shù)據(jù)存儲策略決策算法本發(fā)明給出了在保證數(shù)據(jù)可用性的前提下,降低系統(tǒng)整體開銷的數(shù)據(jù)存儲策略決策算法,算法的執(zhí)行步驟由流程圖3給出。附圖說明圖1是本發(fā)明提出的存儲模型結(jié)構(gòu)示意圖。圖2是數(shù)據(jù)依賴關(guān)系示意圖。圖3是數(shù)據(jù)存儲策略決策算法的整體流程圖。圖4是圖3中數(shù)據(jù)存儲策略更新過程的流程圖。圖5是圖4中步驟S2.2.2的流程圖。圖6是圖4中步驟S2.2.3的流程圖。具體實(shí)施方式本發(fā)明所述的一種存在數(shù)據(jù)依賴關(guān)系時降低云存儲整體開銷的方法主要包括兩個部分:S1、數(shù)據(jù)存儲決策模型:模型主要包括系統(tǒng)的結(jié)構(gòu)模型和系統(tǒng)的整體開銷模型;S2、數(shù)據(jù)存儲策略決策算法:算法給出了在保證數(shù)據(jù)可用性的前提下,降低系統(tǒng)整體開銷的數(shù)據(jù)存儲策略決策算法。下面結(jié)合附圖,對本發(fā)明的具體實(shí)施方式做詳細(xì)說明。S1、數(shù)據(jù)存儲決策模型,主要包含以下部分:S1.1、存儲系統(tǒng)的結(jié)構(gòu)該存儲系統(tǒng)在云存儲系統(tǒng)的數(shù)據(jù)訪問接口層和數(shù)據(jù)存儲層之間添加了數(shù)據(jù)依賴關(guān)系管理層,如圖1所示。當(dāng)數(shù)據(jù)依賴關(guān)系管理層收到數(shù)據(jù)訪問請求時,存在以下情況:情況1:如果數(shù)據(jù)不存在依賴關(guān)系,則將數(shù)據(jù)訪問請求轉(zhuǎn)發(fā)給數(shù)據(jù)存儲層;情況2:如果數(shù)據(jù)存在依賴關(guān)系且有可用數(shù)據(jù)副本時,則將數(shù)據(jù)訪問請求轉(zhuǎn)發(fā)給數(shù)據(jù)存儲層;如圖2中,數(shù)據(jù)d5為雙副本存儲。當(dāng)兩個副本至少有一個可用時,系統(tǒng)使用可用副本提供訪問服務(wù)。情況3:如果數(shù)據(jù)存在依賴關(guān)系且所有副本均不可用時,先利用依賴關(guān)系生成數(shù)據(jù),再轉(zhuǎn)發(fā)數(shù)據(jù)訪問請求;如圖2中,當(dāng)數(shù)據(jù)d5兩個副本的存儲節(jié)點(diǎn)發(fā)生故障使得副本均不可用時,先利用依賴關(guān)系生成數(shù)據(jù)d5。如果在生成d5過程中,數(shù)據(jù)d5副本所在節(jié)點(diǎn)恢復(fù)正常,則停止生成過程,使用原副本繼續(xù)提供訪問服務(wù)。否則,刪除原副本,使用新生成的副本提供訪問服務(wù)。S1.2、數(shù)據(jù)依賴關(guān)系管理層結(jié)構(gòu)在S1.1中,數(shù)據(jù)依賴關(guān)系管理層的功能主要包括:數(shù)據(jù)依賴關(guān)系圖建立和故障數(shù)據(jù)重新生成。數(shù)據(jù)依賴關(guān)系圖的建立方式如下:基于數(shù)據(jù)的依賴關(guān)系,將系統(tǒng)中的N個存在依賴關(guān)系的數(shù)據(jù)建模為有向無環(huán)圖的拓?fù)浣Y(jié)構(gòu),即數(shù)據(jù)依賴關(guān)系圖。圖中的節(jié)點(diǎn)表示數(shù)據(jù),有向邊表示數(shù)據(jù)di的生成依賴于數(shù)據(jù)dj。數(shù)據(jù)di包含屬性:si,(1≤i≤N)分別表示di單個副本所占的存儲空間、di依賴的數(shù)據(jù)集、di的生成時間、di的生成算子和di的存儲策略。其中,si的取值空間為{0,1,2,3,4},分別表示數(shù)據(jù)di不存儲、單副本存儲、雙副本存儲、三副本存儲和(10,14)糾刪碼存儲。故障數(shù)據(jù)生成過程如下:當(dāng)數(shù)據(jù)di不可用時,對di依賴的數(shù)據(jù)集執(zhí)行生成算子經(jīng)過時間后重新生成di。當(dāng)依賴的數(shù)據(jù)集中有數(shù)據(jù)不可用時,需要先遞歸生成該數(shù)據(jù),再生成數(shù)據(jù)di。S1.3、系統(tǒng)整體開銷建模系統(tǒng)的整體開銷等于N個數(shù)據(jù)的整體開銷之和,系統(tǒng)的優(yōu)化目標(biāo)是在保證數(shù)據(jù)滿足給定的可用性指標(biāo)AE的同時,降低系統(tǒng)整體開銷。系統(tǒng)整體開銷的優(yōu)化目標(biāo)函數(shù):minF(s1,s2,...,sN)=minΣi=1NCi(si)---(1a)]]>目標(biāo)函數(shù)的約束條件為:AiD≥AE,(i=1,2,...,N)---(1b)]]>其中,F(xiàn)表示在決策周期內(nèi)系統(tǒng)的整體開銷。Ci和分別表示在該周期內(nèi)數(shù)據(jù)di的整體開銷和數(shù)據(jù)的可用性,分別使用公式(3)(10)進(jìn)行計算;AE表示給定的數(shù)據(jù)可用性指標(biāo),比如Amazon需要保證的數(shù)據(jù)可用性指標(biāo)為99.9%。由此,目標(biāo)函數(shù)的決策變量為N個數(shù)據(jù)對應(yīng)的存儲策略,用(2)式表示:V=(s1,s2,…,sN)(2)S1.4、數(shù)據(jù)整體開銷的計算方法與現(xiàn)有方案中數(shù)據(jù)只有存儲開銷或者只有計算開銷不同,本發(fā)明中數(shù)據(jù)的整體開銷包括現(xiàn)有副本的存儲開銷和當(dāng)所有副本失效時生成數(shù)據(jù)的計算開銷。如圖2中,數(shù)據(jù)d5的整體開銷包含兩個副本的存儲開銷和兩個副本均失效時,生成d5的計算開銷。此時,數(shù)據(jù)di的整體開銷Ci計算公式如(3)式所示:Ci(t)=Cis(t)+(1-AiH)·diα·[Cis(dit)+Ciw(dit)]---(3)]]>其中,分別表示數(shù)據(jù)di在時間t內(nèi)的存儲開銷和計算開銷,分別用公式(4)(5)計算。表示不考慮數(shù)據(jù)重新生成時,數(shù)據(jù)di自身的可用性,使用公式(6)計算。表示時間t內(nèi),節(jié)點(diǎn)故障造成的額外開銷的因子,使用公式(7)計算。Cis(t)=rs·r(si)·disize·t---(4)]]>其中,rs表示單位時間存儲單位數(shù)據(jù)需要支付的存儲費(fèi)用,r(si)表示存儲策略si對應(yīng)的數(shù)據(jù)副本冗余度,當(dāng)si=0,1,2,3,4時,r(si)=0,1,2,3,1.4。Ciw(t)=rw·E(Ti)---(5)]]>其中,rw表示計算單位時間需要支付的計算費(fèi)用,Ti表示數(shù)據(jù)di的生成時間,E(Ti)表示Ti的期望值,用(8)式計算。AiH=Σi=mnni·pli·(1-pl)n-i---(6)]]>其中,n表示數(shù)據(jù)di的副本數(shù)量,m表示數(shù)據(jù)正常時需要的最少副本數(shù)量。當(dāng)數(shù)據(jù)以多副本方式存儲時,m取1;當(dāng)數(shù)據(jù)以糾刪碼的方式存儲時,m為該糾刪碼恢復(fù)數(shù)據(jù)需要的最少副本數(shù)。比如數(shù)據(jù)以(10,14)糾刪碼方式存儲時,m取10。diα=1dit·Σi=1Kmin(ti,dit)---(7)]]>其中,K,ti分別表示時間t內(nèi)數(shù)據(jù)di的故障次數(shù)和第i次故障的時間。S1.5、數(shù)據(jù)生成時間期望的計算方法數(shù)據(jù)di的生成時間與數(shù)據(jù)本身及其依賴(直接依賴或間接依賴)數(shù)據(jù)的故障狀態(tài)有關(guān)。如圖2所示,當(dāng)數(shù)據(jù)d5有可用副本時,數(shù)據(jù)d5的生成時間為0;當(dāng)數(shù)據(jù)d5的兩個副本均不可用且d4可用時,數(shù)據(jù)d5的生成時間為當(dāng)數(shù)據(jù)d5,d4所有副本均不可用時,需要先生成d4,因此d5的生成時間大于本發(fā)明用隨機(jī)變量Ti表示數(shù)據(jù)di的生成時間,E(Ti)表示Ti的數(shù)學(xué)期望。生成時間期望用(8)式計算。E(Ti)=0ifsi≥3(1-AiH)(dit+Σdj∈dipSetE(Tj))ifsi<3---(8)]]>同時,當(dāng)?shù)嬎愕纳疃瘸^c時,設(shè)置E(Ti)=0,終止迭代。其中c滿足plc≤1-AE(9)其中,pl表示數(shù)據(jù)存儲節(jié)點(diǎn)的故障概率。S1.6、數(shù)據(jù)可用性的計算方法當(dāng)用戶對數(shù)據(jù)di允許的響應(yīng)延遲時間為時,只有數(shù)據(jù)的生成時間小于時,才能利用依賴關(guān)系生成數(shù)據(jù)來提高數(shù)據(jù)的可用性。此時,考慮數(shù)據(jù)重新生成和用戶允許的響應(yīng)延遲兩個因素時,數(shù)據(jù)di的可用性等于使用公式(10)進(jìn)行計算。S2、數(shù)據(jù)存儲策略決策算法本發(fā)明提供的數(shù)據(jù)存儲策略決策算法整體流程如圖3所示:當(dāng)有新數(shù)據(jù)(包括新上傳的數(shù)據(jù)和新生成的中間數(shù)據(jù))生成時,使用新數(shù)據(jù)存儲策略決策算法(S2.1)決策數(shù)據(jù)的存儲策略;在每個決策周期(本發(fā)明為1個小時)結(jié)束時,以依賴關(guān)系圖中的每個連通分支為單位,更新其中數(shù)據(jù)的存儲策略(S2.2)。具體過程如圖4所示:先執(zhí)行初始化過程(S2.2.1),再根據(jù)連通分支的節(jié)點(diǎn)數(shù)是否小于等于H,分別使用遍歷剪枝算法(S2.2.2)和遺傳算法(S2.2.3)更新分支內(nèi)數(shù)據(jù)的存儲策略。算法的主要步驟詳細(xì)描述如下:S2.1、新數(shù)據(jù)存儲策略決策算法該步驟對應(yīng)圖3中的步驟S2.1,具體步驟如下:(1-1)當(dāng)數(shù)據(jù)di是新上傳的數(shù)據(jù)時,設(shè)置si=3。(1-2)當(dāng)數(shù)據(jù)di是新生成的中間數(shù)據(jù)時,分別計算si=j(luò)(j=0,1,2,3)對應(yīng)的數(shù)據(jù)整體開銷設(shè)置si=k,滿足且滿足S2.2、數(shù)據(jù)存儲策略更新過程該步驟對應(yīng)圖3中的步驟S2.2,具體流程圖如圖4所示。其中的三個主要步驟詳細(xì)描述如下:S2.2.1、初始化該步驟對應(yīng)圖4中的步驟S2.2.1,具體步驟如下:(2-1)初始化最小開銷minV=∞,最小開銷對應(yīng)的存儲策略H=5。(2-2)遍歷連通分支獲取對應(yīng)的節(jié)點(diǎn)序列。首先,復(fù)制連通分支拓?fù)浣Y(jié)構(gòu),得到圖G,創(chuàng)建一個空隊(duì)列Q。其次,將圖G中入度為0的節(jié)點(diǎn)加入隊(duì)列Q,并在圖G中刪除該節(jié)點(diǎn)以及相關(guān)聯(lián)的邊。由于圖G是有向無環(huán)圖,反復(fù)執(zhí)行該步驟,當(dāng)圖G為空時,隊(duì)列Q為相應(yīng)的節(jié)點(diǎn)序列。S2.3、遍歷剪枝算法該步驟對應(yīng)圖4中的步驟S2.2.2,具體流程如圖5所示。當(dāng)隊(duì)列Q長度小于等于H時,使用遍歷剪枝算法更新當(dāng)前連通分支內(nèi)數(shù)據(jù)的存儲策略,具體步驟如下:(3-1)初始化。首先,新建一棵只有根節(jié)點(diǎn)的樹T。其次,將Q中元素出隊(duì),如果該元素在依賴關(guān)系圖中入度為0,則為T中每個葉子節(jié)點(diǎn)添加兩個子節(jié)點(diǎn),節(jié)點(diǎn)的值分別為3,4。否則,對T中每個葉子節(jié)點(diǎn)添加4個子節(jié)點(diǎn),節(jié)點(diǎn)值分別為0,1,2,3。反復(fù)執(zhí)行,直到隊(duì)列Q為空。最后,設(shè)置當(dāng)前節(jié)點(diǎn)為樹T根節(jié)點(diǎn)的最左孩子節(jié)點(diǎn)。(3-2)計算當(dāng)前節(jié)點(diǎn)的可用性。使用公式(10)計算當(dāng)前節(jié)點(diǎn)對應(yīng)數(shù)據(jù)的可用性當(dāng)時,跳轉(zhuǎn)步驟(3-3)。否則,跳轉(zhuǎn)步驟(3-4)。(3-3)剪枝。終止對當(dāng)前節(jié)點(diǎn)子孫節(jié)點(diǎn)的遍歷,將當(dāng)前節(jié)點(diǎn)更新為當(dāng)前節(jié)點(diǎn)的父節(jié)點(diǎn),跳轉(zhuǎn)步驟(3-5)。(3-4)更新minV,minS。如果當(dāng)前節(jié)點(diǎn)為樹T的葉子節(jié)點(diǎn),將根節(jié)點(diǎn)到該葉子節(jié)點(diǎn)路徑中節(jié)點(diǎn)值作為一個解V。使用公式(1a)(3)計算V對應(yīng)的系統(tǒng)整體開銷C,如果C<minV,則更新minV=C,minS=V。如果當(dāng)前節(jié)點(diǎn)不是樹T的葉子節(jié)點(diǎn),則跳轉(zhuǎn)步驟(3-5)。(3-5)更新當(dāng)前節(jié)點(diǎn)。對樹T按深度優(yōu)先遍歷的方式將當(dāng)前節(jié)點(diǎn)更新為下一個節(jié)點(diǎn)后,跳轉(zhuǎn)步驟(3-6)。(3-6)遍歷結(jié)束判斷。如果樹T遍歷結(jié)束,跳轉(zhuǎn)步驟(3-7),否則跳轉(zhuǎn)步驟(3-2)。(3-7)更新該連通分支內(nèi)數(shù)據(jù)的存儲策略為minS。S2.4、遺傳算法該步驟對應(yīng)圖4中的步驟S2.2.3,具體流程如圖6所示。當(dāng)隊(duì)列Q長度大于H時,使用遺傳算法更新當(dāng)前連通分支內(nèi)數(shù)據(jù)的存儲策略,具體步驟如下:(4-1)初始化M=50,L=300,Pc=0.95,Pm=0.1。其中,M表示種群規(guī)模,L表示遺傳算法的迭代次數(shù),Pc表示交叉概率,Pm表示變異概率。(4-2)編碼。對種群進(jìn)行編碼后得到對應(yīng)長度為M的向量V:V=(v1,v2,...,vM)其中,vi表示種群中的第i(1≤i≤M)個個體,個體vi由n個基因組成:vi=(vi1,vi2,...,vim,...,vin)其中,vij表示個體vi的第j個基因,m表示隊(duì)列Q中入度為0的節(jié)點(diǎn)個數(shù),n表示隊(duì)列Q的長度,即連通分支的節(jié)點(diǎn)個數(shù)。每個基因?yàn)橐粋€取值空間內(nèi)的值,當(dāng)1≤j≤m時,vij∈{0,1},0、1分別表示si取值為3,4。當(dāng)m<j≤n時,vi∈{00,01,10,11},00、01、10、11分別表示si取值為0,1,2,3。(4-3)初始化種群V。隨機(jī)產(chǎn)生種群中M個個體,每個個體對應(yīng)編碼如下:當(dāng)1≤j≤m時,vij在取值空間{0,1}內(nèi)隨機(jī)選擇。當(dāng)m<j≤n時,vij在取值空間{00,01,10,11}內(nèi)隨機(jī)選擇。(4-4)選擇得到中間代S。首先,計算種群中每個個體的適應(yīng)度Pi,如(11)式所示:Pi=(1-Fi·AiDΣi=1i=MFi·AiD)---(11)]]>其中,F(xiàn)i表示種群中第i個個體對應(yīng)的整體開銷,用公式(3)計算。其次,根據(jù)Pi將(0,1)劃分為M個區(qū)間。最后,進(jìn)行M次選擇。每次產(chǎn)生一個(0,1)內(nèi)的隨機(jī)數(shù),根據(jù)隨機(jī)數(shù)所處區(qū)間選擇對應(yīng)的個體,最后得到中間代S。跳轉(zhuǎn)步驟(4-5)。(4-5)交叉得到中間代D。將選擇得到的中間代S中的個體配對,對每對個體(vi,vj)進(jìn)行交叉操作得到vi′,vj′,生成中間代D。首先,產(chǎn)生一個(0,1)內(nèi)的隨機(jī)數(shù)k。其次,當(dāng)k>Pc時,vi′=vi,vj′=vj。當(dāng)k≤Pc時,對個體的前m個和后(n-m)個基因分別進(jìn)行單點(diǎn)交叉。跳轉(zhuǎn)步驟(4-6)。(4-6)變異得到子代。將中間代D中的每個個體vi以概率Pm進(jìn)行變異,生成子代中的個體。首先,產(chǎn)生一個(0,1)內(nèi)的隨機(jī)數(shù)k。其次,當(dāng)k>Pm時,將個體vi直接放到子代中。否則,將個體vi的第j個基因隨機(jī)改變?yōu)榻饪臻g的其他值。跳轉(zhuǎn)步驟(4-7)。(4-7)更新。計算子代中最優(yōu)個體對應(yīng)的系統(tǒng)整體開銷C,當(dāng)C<minV時,更新minV=C,將minS更新為最優(yōu)個體對應(yīng)的存儲策略。跳轉(zhuǎn)步驟(4-8)。(4-8)結(jié)束條件測試。如果遺傳算法的迭代次數(shù)>L時,結(jié)束遺傳算法,更新該連通分支內(nèi)數(shù)據(jù)的存儲策略為minS。否則,跳轉(zhuǎn)步驟(4-4)繼續(xù)進(jìn)行迭代。當(dāng)前第1頁1 2 3 
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
永修县| 黄龙县| 乐亭县| 西畴县| 多伦县| 砚山县| 洛阳市| 司法| 承德市| 博爱县| 滕州市| 禹州市| 西宁市| 永安市| 巩留县| 威远县| 浙江省| 嘉定区| 宜城市| 深州市| 永平县| 涿州市| 镇宁| 清流县| 舒城县| 贺州市| 吴旗县| 博罗县| 丰原市| 房产| 陆丰市| 库车县| 桦甸市| 兰坪| 石台县| 确山县| 常熟市| 红桥区| 互助| 乌拉特中旗| 云南省|