一種面向雲存儲的數據副本放置方法與流程
2023-05-24 02:00:31
本發明涉及雲存儲技術領域,具體是一種面向雲存儲的數據副本放置方法。
背景技術:
隨著信息技術的不斷提升,信息化程度的不斷提高,全球數據量呈現出爆炸式增長態勢。面對當前對海量數據的存儲需求,傳統的文件系統在容量和性能的擴展上存在瓶頸。為此,雲存儲應運而生。
雲存儲是在雲計算(cloudcomputing)概念上延伸和發展出來的一個新的概念,是一種新興的網絡存儲技術,其通過多種雲存儲技術的融合,將存儲設備虛擬化為易擴展、彈性、透明、具有伸縮性的存儲資源池,並將存儲資源池按需分配給授權用戶。雲存儲以其擴展性強、性價比高、容錯性好等優勢得到了業界的廣泛認同。
分布式文件系統是雲存儲環境下各種應用的基礎平臺。副本技術是將一個數據項複製多份分別存放在分布式系統的多個節點上,用以提高系統的可靠性、負載均衡以及訪問速率,它是一種最為常用和重要的數據管理機制。然而,副本的引入也帶來了存儲帶寬開銷、數據一致性、負載均衡等諸多問題。現有的雲存儲分布式文件系統中的副本策略通常以負載均衡為目標,很少考慮到放置代價問題,此為現有技術的不足之處。
技術實現要素:
本發明所要解決的技術問題是,針對現有技術的不足,提供一種面向雲存儲的數據副本放置方法,用於降低數據副本的放置代價。
為解決上述技術問題,本發明提供了一種面向雲存儲的數據副本放置方法,用於分布式文件系統中數據副本的放置,所述分布式文件系統中數據副本的數量至少為兩個,包括步驟:
a、採集分布式文件系統中各數據節點的地址;
b、計算並獲取所述分布式文件系統中各數據節點間當前傳輸數據的數據傳輸代價;
c、以步驟a中所獲取的各地址為頂點、以步驟b中當前所得的各數據傳輸代價為相應的邊權重,建立最小割模型;
d、獲取步驟c中所建立的最小割模型的最小割集;
e、獲取步驟d中當前所獲取的最小割集中所包含的各數據節點,並將其作為所述分布式文件系統中當前用於放置數據副本的數據節點。
其中,上述步驟b中用於計算所述分布式文件系統中各數據節點間當前傳輸數據的數據傳輸代價的方法為:
步驟p1、採集所述分布式文件系統中各數據節點間的通信延時時間ti(j),其中i表示發送數據副本的數據節點,j表示接收數據節點i所發送的數據副本的數據節點,i∈n,j∈n;
步驟p2、基於步驟p1中所採集的通信延時時間ti(j),通過以下計算公式①,對應計算上述數據節點j接收上述數據節點i所發送的數據副本的數據傳輸代價fi(j):
其中,且λmax表示預先設定的該分布式文件系統的延時量化等級的最大值,λmin表示上述預先設定的該分布式文件系統的延時量化等級的最小值,tmax表示步驟p1中所採集的各通信延遲時間中的最大的通信延遲時間、tmin表示步驟p1中所採集的各通信延遲時間中最小的通信延遲時間,其中λmax>λmin、tmax>tmin。
其中,在上述步驟p1中,通過在所述分布式文件系統中各數據節點間發送icmp報文的形式,對應獲取所述分布式文件系統中各數據節點間的通信延時時間ti(j)。
與現有技術相比,本發明的優點在於:
(1)本發明基於分布式文件系統中各數據節點間當前傳輸數據的傳輸代價,構建最小割模型,並通過獲取該建立的最小割模型的最小割集,且基於該獲取的最小割集,提供一種多數據塊副本的放置策略,這在一定程度上可降低數據塊副本的放置代價,實用性強;
(2)本發明還提供了一種用於計算分布式文件系統中數據節點間發送數據副本的數據傳輸代價fi(j)計算公式,該公式給出了一種計算數據副本的數據傳輸代價的計算方法,該計算方法簡單、實用,且便於實現,較為實用。
由此可見,本發明與現有技術相比,具有突出的實質性特點和顯著的進步,其實施的有益效果也是顯而易見的。
附圖說明
圖1為本發明所述面向雲存儲的數據副本放置方法的方法流程圖。
具體實施方式
為使本發明的技術方案和優點更加清楚,下面將結合附圖,對本發明的技術方案進行清楚、完整地描述。
具體實施方式1:
如圖1所示,本發明的一種面向雲存儲的數據副本放置方法,用於分布式文件系統中數據副本的放置,所述分布式文件系統中數據副本的數量至少為兩個,包括步驟:
a、採集分布式文件系統中各數據節點的地址;
b、計算並獲取所述分布式文件系統中各數據節點間當前傳輸數據的數據傳輸代價;
c、以步驟a中所獲取的各地址為頂點、以步驟b中當前所得的各數據傳輸代價為相應的邊權重,建立最小割模型;
d、獲取步驟c中所建立的最小割模型的最小割集;
e、獲取步驟d中當前所獲取的最小割集中所包含的各數據節點,並將其作為所述分布式文件系統中當前用於放置數據副本的數據節點。
其中,在本實施方式中,所述步驟b中用於計算所述分布式文件系統中各數據節點間當前傳輸數據的數據傳輸代價的方法為:
步驟p1、採集所述分布式文件系統中各數據節點間的通信延時時間ti(j),其中i表示用於發送數據副本的數據節點,j表示用於接收上述數據節點i所發送的數據副本的數據節點,i∈n,j∈n;
步驟p2、基於步驟p1中所採集的通信延時時間ti(j),通過以下計算公式①,對應計算上述數據節點j接收上述數據節點i所發送的數據副本的數據傳輸代價fi(j):
其中,且λmax表示預先設定的該分布式文件系統的延時量化等級的最大值,λmin表示上述預先設定的該分布式文件系統的延時量化等級的最小值,tmax表示步驟p1中所採集的各通信延遲時間中的最大的通信延遲時間、tmin表示步驟p1中所採集的各通信延遲時間中最小的通信延遲時間,其中λmax>λmin、tmax>tmin。其中,上述公式①給出了一種計算分布式文件系統中數據節點間數據傳輸代價的方法,該方法既簡單又實用,還便於實現。較為實用。
其中,在上述步驟p1中,通過在所述分布式文件系統中各數據節點間發送icmp報文的形式,對應獲取所述分布式文件系統中各數據節點間的通信延時時間ti(j)。
使用時,獲取分布式文件系統中各數據節點的地址;並實時採集所述分布式文件系統中各數據節點間的通信延時時間ti(j),之後基於預先設定的該分布式文件系統的延時量化等級中的最大值λmax(即最大延時量化等級)和最小值λmin(即最小延時量化等級)、以及所採集的當前分布式文件系統中各數據節點間的通信延遲時間中的最大的通信延遲時間tmax和最小的通信延遲時間tmin,通過上述數據傳輸代價fi(j)的計算公式①,對應計算出所述分布式文件系統中各數據節點間傳輸數據的各數據傳輸代價;之後以上述所採集的各地址為頂點、以上述當前所得的各數據傳輸代價為相應的邊權重,建立最小割模型;之後計算該最小割模型的最小割集,該計算出的最小割集中所包含的各數據節點即為所述分布式文件系統中當前用於放置數據副本的數據節點。這既確保了數據塊信息的完整性,又降低了數據副本的放置代價,實用性強。
以上實施方式僅用以說明本發明的技術方案,而非對其限制;儘管參照前述實施方式對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施方式所記載的技術方案進行修改,或者對其中部分技術特徵進行等同替換;而這些修改或者替換,並不使相應技術方案的本質脫離本發明各實施方式技術方案的範圍。