?

一種基于3 階段實現的高性能云存儲計算*

2019-11-19 09:05李敬偉海本齋
火力與指揮控制 2019年10期
關鍵詞:副本可用性數據中心

張 皓,李敬偉,海本齋

(1.河南工學院計算機科學與技術系,河南 新鄉 453000;2.河南師范大學計算機與信息工程學院,河南 新鄉 453007)

0 引言

云計算是一種利用互連網和中央遠程服務器來為用戶提供適應性服務的技術。在云中,服務通過具有“XaaS”的高速互聯網按需求發送給外部用戶,其中的“X”作為服務是一種計算結構,被分解為3 部分:“基礎設施”、“平臺”和“應用”。它以最便宜的價格、最強大的處理器給客戶提供最適合的服務,以滿足其業務功能,并提供良好的服務質量如可用性、可擴展性和性能。如果能夠滿足全部業務需求但卻不能滿足性能質量,則將導致軟件應用終端用戶的更大不滿。在引入云之后,客戶選擇基于云的基礎設施,以提供高性能軟件應用的基礎設施需求。

數據復制是在地理分布的站點上創建數據(文件、數據庫等)的相同復制品的一種技術,每一份復制品稱為一個副本[1]。數據復制已廣泛應用于許多領域,如互聯網、對等系統和分布式數據庫等[2-4]。關于復制策略,副本優化是軟件系統的性能增強技術之一。為了設計高效的動態數據復制方案,關鍵步驟是對數據訪問模式的分析[5-6]。在云計算中,復制是通過在不同節點上提供給用戶一個特定服務的多個副本,用于減少用戶等待時間、增加數據可用性和最小化云帶寬消耗;在復制環境中,文件或片段的副本被托管在多個系統或站點中。當副本數量增加時,它通過改進局部性來提高系統性能;然而,它還包括額外的數據傳輸,以保持副本更新來獲得數據的一致性。文獻[7]討論了P2P 復制系統,提出了動態副本分布方法,給出了副本目錄的設計和副本信息的獲取方法,能夠獲得某一邏輯資源的所有副本信息,然后根據邏輯資源的全局副本信息,對訪問頻率高且平均響應時間長的數據資源進行復制,并給出副本數量的計算方法;文獻[8]提出了稱為最新訪問最大權值的動態數據復制策略,以減少作業執行時間,找到受歡迎的文件并復制到合適的站點,以實現系統負載平衡;在文獻[9]中,作者提出了動態片段分配的新框架。通過采用這種技術,在框架內找到最優分配方案,為碎片分配問題提供了有效的解決方案;文獻[10]提出了一種改進的最新訪問最大權值算法,與現有的8 種算法進行了比較,并改進了平均作業時間和在全部訪問模式下有效的網絡,特別是在不同隨機文件訪問模式下;文獻[11-12]提出了2 種動態集中數據復制算法。算法通過創建和擴展超級數據中心到主要數據中心的副本,使得數據訪問時間和網絡負載最小化;文獻[13]研究了云計算數據中心的數據復制技術,以使能量消耗、網絡帶寬和通信延遲最小化,該技術可以應用于地理上分布的數據中心,以及每個單獨的數據中心內部。

為了提高云存儲計算環境中軟件系統的性能,本文提出了一種動態數據復制和放置算法。動態數據復制采用受歡迎程度(Popularity Degree,PD)來找到需要復制的文件,采用復制因子(Replica Factor,RF)來創建副本,最后采用一種基于可用性的放置算法將副本放置在合適的位置,即算法包括3 個階段:1)采用PD 選擇需要創建副本的文件;2)采用RF 創建副本;3)放置副本。

1 系統模型

在云計算中,云存儲被認為是一個非常重要的因素,它是一種數據遠程維護、管理和備份的服務,允許用戶在線存儲文件,將上傳的文件保存在外部服務器上,以便用戶可以通過互聯網從任何位置訪問文件??捎眯跃褪强刹僮餍曰蚩商峤坏倪\行狀態。為了提高系統性能,應當增加可用性。一個系統的可用性定義為A=MTTF/(MTTF+MTTR), 其中MTTF 是業務系統的平均無故障時間(Mean Time Too Failure,MTTF),MTTR 是平均修復時間(Mean Time To Repair,MTTR)。對于云數據服務中心來說,它的架構如圖1 所示,包括:1)副本管理器;2)副本選擇;3)副本目錄;4)調度和副本代理。

圖1 云數據中心體系結構

1.1 副本管理器

副本管理器控制復制管理系統的整個操作。它有助于根據用戶需求創建和管理副本,增加存儲空間和目錄,以跟蹤全部副本及其位置;副本管理器保存了區域內關于數據中心和副本位置的一般信息,提供副本服務,并管理副本訪問、一致性、核心副本創建、刪除和身份驗證;副本管理器支持云之間的數據管理和數據傳輸,還跟蹤用戶訪問模式,監測數據的受歡迎程度,并根據其可用性確定是否需要本地創建;副本管理器和目錄彼此同步通信,以維持成功的復制過程。

1.2 副本選擇

副本選擇需要關于存儲系統的容量和性能特征信息,副本選擇是采用副本選擇器來完成,它基于用戶需求和在訪問時間內出現的故障。通過選擇合理的副本,可以改善服務響應時間,并降低服務成本;副本選擇器中的緩存功能用于創建相應的服務終結點和請求副本的復制。

1.3 副本目錄

每個新創建的副本都登記在副本目錄表中。副本目錄還負責查找請求的數據,并維護區域中的用戶基數、數據中心、副本的數量,以及在某時刻的請求數量和可用性。當站點每次存儲一個新副本時,它就發送一個文件注冊請求給副本目錄,副本目錄將該站點添加到站點列表并保存副本。然后由應用查詢目錄,以找到每個數據中心中一個特定副本位置的可用副本的位置;副本目錄包含關于副本和相關副本的位置以及與這些復制的數據相關聯的元數據信息。

1.4 調度和副本代理

調度代理是中央管理代理。調度器讀取服務列表,并采用服務描述文件作為輸入來部署每個新服務;副本代理用于管理副本文件的活動,控件將首先從用戶移動到調度代理,在那里調度用戶請求并將控制權傳遞給副本代理,指示要創建的副本文件,并將其發送給副本管理器,決定將這些副本放置在何處。

2 基于3 階段的云存儲計算系統

在本文提出的算法中,采用動態數據復制和放置算法來實現云存儲軟件系統。為了實現動態數據復制,需要解決3 個重要問題。1)哪些數據應當復制、何時復制,以減少等待時間或加快數據訪問速度;2)應當創建多少合適的新副本。隨著新副本數量的增加,系統維護成本將顯著增加;3)新副本應當放在哪里,以滿足系統任務的成功執行率和帶寬消耗要求。為此,分3 個階段實現:

1)根據PD 選擇需要創建副本的文件;

2)根據RF 創建副本;

3)放置副本。

2.1 根據PD 選擇需要創建副本的文件

為了選擇需要創建副本的文件即選擇副本,通過分析訪問歷史確定一個受歡迎的數據文件,并對不同的訪問數據設置不同的權值?;旧?,越是最近被訪問得多的數據,就越適合于分析,因此,就要通過給予高權值設置一個最高優先級,這可以通過計算PD 來找到它。PD 計算如下:

式中,Q1表示第1 因子,Q2表示第2 因子。Q1的計算公式如下:

式中,FA 表示在時間ti和ti+1之間的訪問頻率,nu表示在ti和ti+1之間唯一用戶的數量,nr表示在ti和ti+1之間重復的用戶數量,ts表示開始時間,tp表示當前時間。第1 個因子是通過采用訪問頻率和反向訪問頻率乘積來計算的。第2 個因子的計算公式如下:

式中,Wt是一個文件中表的總權值。第2 個因子是通過采用一個時間間隔中的訪問頻率和一個文件中每個表的總權值的乘積來計算的,然后求出每個間隔上得到的值的和來計算第2 個因子的值。在每個文件中有許多表,而且每個表都有權值??偟臋嘀凳且粋€文件中每個表的權值相加。

2.2 根據RF 創建副本

RF 的計算用于查找數據文件是否應當復制或創建副本。通過計算正因子(Positive Factor,PF)和負因子(Negative Factor,NF)來計算復制因子。正因子就是確定復制一個文件的重要性,計算公式如下:

式中,PDcurrent表示當前文件的受歡迎程度,PDmin表示最小受歡迎程度,PDmax表示最大受歡迎程度。計算正因子以找到復制文件的重要性,此后,必須計算每個文件的負度(Negative Degree,ND)。負度的計算是用來得到負因子(Negative Factor,NF)。一個文件的NF 表明是否一個文件不應當被復制。每個文件的ND 計算如下:

式中,M 表示一個文件的存儲大小,R 表示副本的存在數量,QRT 表示查詢響應時間。ND 用于計算一個文件的負因子NF。負因子的計算公式如下:

式中,NDcurrent表示當前文件的負度值,NDmin表示最小負度值,NDmax表示最大負度值。

然后就可以用下面的公式計算復制因子:

式中,γ 和α 是常數值,它們是通過檢查不同值的性能而指定為1。

隨后通過下列條件生成副本數量Nr:式中,RFt表示在一個時間間隔t 的復制因子,RFt-1表示在前一個時間間隔t-1 的復制因子。它把復制因子和閾值進行比較來決定是否為特定文件創建副本。如果副本大于閾值,則將創建副本,在分配節點時將考慮這些副本。

2.3 放置副本

放置策略要考慮所需的可用性、系統中節點的穩定性和故障,需要一個位置來放置從前面步驟得到的副本。對此,首先必須考慮數據中心中的節點列表,然后采用下面所述的分類標準把這些節點按降序安排。實踐表明,在同一節點放置同一數據的多個副本并不能提高可用性或容錯性??紤]一些節點列表并計算這些節點的可用性因子(AF),計算可用性因子以找到特定節點是否可以放置數據。節點Ni的可用性因子計算如下:

如果一個節點Ni具有好的AF,則它就具有好的穩定性STAB(Ni)和低故障率FR(Ni),穩定性的范圍為在0≤STAB(Ni)≤1,節點Ni的故障率計算如下:

式中,k 是在節點Ni中數據的數量,Dij是存儲在節點Ni中的數據j。為了加大相同副本之間的距離,即非相似性函數,定義為:

式中,n 是一個節點,LDn是節點n 中本地數據的列表,DNn是數據中心中節點n 的全部鄰居的數據列表。這里(n)就是節點n 的數據列表和它的鄰居數據列表之間的數據差的大小。例如,如果(n)=0,則節點n 中的全部數據存在于鄰域中。為了避免(n)=0 這種不確定的情況,根據下列標準對節點進行分類。

算法1 副本放置算法偽代碼

創建一個節點的列表N_List

對列表采用式(12)按降序排列

存儲數據副本在節點n 中

存儲副本到列表N_List 中的第1 個節點n 中

3 算法實驗結果

3.1 實驗設置

為了對本文提出的云存儲計算系統性能進行驗證,采用Java(jdk1.6)來實現,安裝的系統配置為:酷睿i5 處理器,3.2 GHz 時鐘速率,4GB RAM。采用下頁表1 所示的某醫院部分病人的樣本數據集,數據集包括身份識別號(ID)、性別(SEX)、生日(Birthday)、描述(Description)、第1 次時間(First Date)、入院(Admission)和診斷結論(Diagnosis)。

表1 樣本數據庫

3.2 實驗結果

為了對本文提出的算法性能進行評價,將本文提出的算法和目前比較先進的技術[11-12]在系統字節有效率(SBER)和執行時間兩方面性能進行比較。

首先執行本文提出的算法,生成的查詢流程如圖2 所示。生成的查詢在數據庫中進行搜索,并把查詢相關結果在短時間內提供給用戶。圖3 和圖4分別為可用性與查詢數量、副本數量和可用性因子之間的關系??梢?,當查詢數量增加時,可用性增加,而且可用性增加時,可以增加副本數量的創建。因此,相關數據可以放在云中,而且訪問查詢相關數據所需的時間可以快速而有效地完成。

圖2 查詢生成流程

圖3 可用性與查詢數量的關系

圖4 副本數量與可用性的關系

圖5 SBER 性能比較

圖6 執行時間性能比較

圖5 所示為本文提出的算法與現有技術[11-12]在SBER 性能方面得到的比較結果。從圖5 可見,在每個時間間隔,本文提出策略得到的SBER 值要高于現有技術[11-12],而且基本不隨時間間隔的增加而改變,有很好的穩定性。這主要是由于本文的算法是采用可用性因子和分類標準計算并找到被創建的副本數量,然后把副本放置在相應的節點,節點基于又節點的可用性來安排,從而減少了網絡中的過載,提高了帶寬利用率。

圖6 所示為本文提出的算法與現有技術[11-12]在查詢性能方面得到的比較結果。從圖6 可見,當查詢數量增加時,不同技術的執行時間都會增加,但相比于現有技術[11-12]來說,本文算法的執行時間隨查詢數量增加要低得多,執行每個查詢量所需的時間更少,分別比文獻[11]和文獻[12]平均低43%和49%,提高了系統性能。這主要是由于在本文提出的算法中,找到需要復制的數據,然后采用受歡迎程度和復制因子來創建副本,這有助于減少等待時間,加快進程,減少由查詢執行過程所花費的時間。

4 結論

為了提高云計算存儲系統的性能,本文提出了一種基于3 階段的動態數據復制策略和放置算法。在該技術中,使用受歡迎程度和復制因子來識別要復制的文件和復制文件的數量,并通過向用戶提供相同服務的不同副本來增加數據可用性;然后采用一種放置算法,將副本放置在相應的節點或標識的系統中,提高了系統的性能而沒有系統過載節點的副本放置,從而改善云系統任務的成功執行率,并最大限度地減少云系統帶寬消耗。

猜你喜歡
副本可用性數據中心
關于間接蒸發冷機組在數據中心中應用的節能分析
面向移動應用的軟件可用性研究綜述
淺析數據中心空調節能發展趨勢
機構知識庫網站可用性評價指標的計量學分析
面向流媒體基于蟻群的副本選擇算法①
國家知識產權局公告:專利證書改版
2017第十屆中國數據中心大會榜單
三大MOOC平臺Coursera、EdX和Udacity的可用性比較研究
《口袋西游—藍龍》新副本“幽冥界”五大萌點
走出孤獨囧境
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合