專利名稱:云操作系統(tǒng)分布式存儲中文件存儲方法
技術(shù)領(lǐng)域:
本發(fā)明涉及云計算存儲技術(shù)領(lǐng)域,特別是云操作系統(tǒng)分布式存儲中文件存儲方法。
背景技術(shù):
云操作系統(tǒng)能對包括處理器、存儲、網(wǎng)絡在內(nèi)的硬件資源進行統(tǒng)一管理。在當前的云操作系統(tǒng)應用部署中,數(shù)據(jù)存儲主要有兩種用途(I)用戶接口存儲,即提供給用戶所使用的存儲;(2)系統(tǒng)所需存儲,例如虛擬機鏡像存儲。由于數(shù)據(jù)存儲是關(guān)鍵性能點,通常會采用分布式存儲架構(gòu)。在云操作系統(tǒng)管理的分布式存儲中,通常會將文件分成多個塊,然后將每個分塊生成多個副本,并分散存放在數(shù)據(jù)節(jié)點上。在定位到存儲副本的數(shù)據(jù)節(jié)點時,通常會依賴元數(shù)據(jù)服務器進行分塊布局的管理,即在元數(shù)據(jù)服務器產(chǎn)生并存儲分塊與該分塊對應到的數(shù) 據(jù)節(jié)點的映射關(guān)系。當讀寫文件時,訪問流程通常首先會訪問元數(shù)據(jù)服務器,獲取該文件的布局,然后再從相應的數(shù)據(jù)節(jié)點獲取各分塊,最后“組裝”成整個文件。使用文件布局使文件讀寫效率低,文件讀寫都需要經(jīng)過元數(shù)據(jù)服務器產(chǎn)生或獲取文件布局;再根據(jù)文件布局,進行數(shù)據(jù)塊的讀寫。
發(fā)明內(nèi)容
本發(fā)明解決的技術(shù)問題在于克服文件布局的缺陷,使文件讀寫流程無需涉及文件布局的云操作系統(tǒng)分布式存儲中文件存儲方法。本發(fā)明解決上述技術(shù)問題的技術(shù)方案是包括以下步驟,對基礎(chǔ)設(shè)施記性分層編號,基于一個典型的IDC機房,對存儲基礎(chǔ)設(shè)施進行分層次的編號設(shè)置;第一層是行,行與機房中一排機柜相對應,一行對應多個機柜,同時一個機房可有多行;第二層是行中的機柜,每個機柜在特定的行中進行編號;第三層是機柜中硬盤,每個硬盤都在特定的機柜中,硬盤編號的方式可采用順序編號的方式;將文件分塊;基于副本放置策略,形成文件塊的副本放置規(guī)則;按照副本放置規(guī)則,對副本進行函數(shù)映射。讀取函數(shù)映射的具體流程第I步,確定需要進行函數(shù)映射的分塊,然后進行后續(xù)的分層次的函數(shù)映射;第2步,第一層進行行的映射,即確定分塊將要存放到的行,在進行第一層函數(shù)映射時,可能遇到?jīng)_突,即映射到的行已經(jīng)占滿或失效,此時,需要進行重新映射以避免沖
關(guān);第3步,第二層進行行中機柜的映射,即確定分塊將要存放到的機柜號,在進行第二層函數(shù)映射時,可能遇到?jīng)_突,即映射到的機柜已經(jīng)占滿或失效,此時,需要進行重新映射以避免沖突;
第4步,第三層進行機柜中硬盤號的映射,即確定分塊將要存放到的硬盤號。在進行函數(shù)映射時,可能遇到?jīng)_突,即映射到的硬盤已經(jīng)占滿或失效,此時,需要進行重新映射以避免沖關(guān)。本發(fā)明面向云操作系統(tǒng)的分布式存儲,針對文件布局所引發(fā)的數(shù)據(jù)讀寫效率低的問題,提出一種用函數(shù)映射代替文件布局的方法;使文件讀寫流程無需涉及文件布局,可通過函數(shù)映射的方式直接獲取數(shù)據(jù)分塊的物理位置,從而提高文件讀寫效率。本發(fā)明有效解決了文件布局中數(shù)據(jù)讀寫流程過于復雜、讀寫效率低的問題。
圖I是本發(fā)明分布式存儲文件讀取函數(shù)映射系統(tǒng)架構(gòu)示意圖;圖2是本發(fā)明分布式存儲文件讀取函數(shù)映射流程示意圖。
具體實施例方式如圖I所示,本發(fā)明引入用函數(shù)映射代替文件布局的系統(tǒng)架構(gòu),通過對存儲基礎(chǔ)設(shè)施進行分層次的編號設(shè)置,利用函數(shù)映射來去掉文件布局的元數(shù)據(jù),從而提升文件讀寫效率。分布式存儲采用廉價硬盤進行搭建,基于一個典型的IDC機房,對存儲基礎(chǔ)設(shè)施進行分層次的編號設(shè)置。第一層是行,行與機房中一排機柜相對應,一行對應多個機柜,同時一個機房可有多行。第二層是行中的機柜,每個機柜在特定的行中進行編號,例如機柜22表示是第二行的第二個機柜。第三層是機柜中硬盤,每個硬盤都在特定的機柜中,硬盤編號的方式可采用順序編號的方式。在將文件進行分塊后,需要將各個分塊的多個副本存儲到硬盤中,如圖2所示,執(zhí) 行如下流程第I步,確定需要進行函數(shù)映射的分塊,然后進行后續(xù)的分層次的函數(shù)映射;第2步,第一層進行行的映射,即確定分塊將要存放到的行,在進行第一層函數(shù)映射時,可能遇到?jīng)_突,即映射到的行已經(jīng)占滿或失效,此時,需要進行重新映射以避免沖
關(guān);第3步,第二層進行行中機柜的映射,即確定分塊將要存放到的機柜號,在進行第二層函數(shù)映射時,可能遇到?jīng)_突,即映射到的機柜已經(jīng)占滿或失效,此時,需要進行重新映射以避免沖突;第4步,第三層進行機柜中硬盤號的映射,即確定分塊將要存放到的硬盤號。在進行函數(shù)映射時,可能遇到?jīng)_突,即映射到的硬盤已經(jīng)占滿或失效,此時,需要進行重新映射以避免沖關(guān)。本發(fā)明是根據(jù)負載均衡原則制定副本放置規(guī)則,進而根據(jù)放置規(guī)則形成映射函數(shù)。一般而言,副本放置應使分塊以及副本在層次設(shè)備的底層設(shè)備硬盤上盡量均勻分布,即使是剛插入的新硬盤,也應該在新老硬盤上將數(shù)據(jù)盡量均勻分布。定義選擇η個類型為t的設(shè)備的映射函數(shù)select (n, t)如下procedure select (n, t)for i=l to nrepeat
根據(jù)映射函數(shù)確定第i個設(shè)備;until不出現(xiàn)沖突end forend procedure例如,如果要進行I個分塊的3個副本的函數(shù)映射,可參照圖2所示的函數(shù)映射流程圖,進行如下步驟的文件分塊的函數(shù)映射。第I步,確定副本放置規(guī)則,在此,提出副本放置規(guī)則在同一行中放置同一分塊的所有副本能更快地讀寫;第2步,進行第一層函數(shù)映射,根據(jù)第I步中設(shè)定的副本放置規(guī)則,可確定調(diào)用映射函數(shù)select (1,行),確定副本待要放置的行號; 第3步,進行第二層函數(shù)映射,調(diào)用映射函數(shù)select (3,機柜),確定副本待要放置的3個機柜號;第4步,進行第三層函數(shù)映射,調(diào)用映射函數(shù)select (I,硬盤)3次,確定在副本將要放置的在每個機柜中的硬盤號。
權(quán)利要求
1.云操作系統(tǒng)分布式存儲中文件存儲方法,其特征在于包括以下步驟, 對基礎(chǔ)設(shè)施記性分層編號,基于一個典型的IDC機房,對存儲基礎(chǔ)設(shè)施進行分層次的編號設(shè)置;第一層是行,行與機房中一排機柜相對應,一行對應多個機柜,同時一個機房可有多行;第二層是行中的機柜,每個機柜在特定的行中進行編號;第三層是機柜中硬盤,每個硬盤都在特定的機柜中,硬盤編號的方式可采用順序編號的方式; 將文件分塊;基于副本放置策略,形成文件塊的副本放置規(guī)則; 按照副本放置規(guī)則,對副本進行函數(shù)映射。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于讀取函數(shù)映射的具體流程 第I步,確定需要進行函數(shù)映射的分塊,然后進行后續(xù)的分層次的函數(shù)映射; 第2步,第一層進行行的映射,即確定分塊將要存放到的行,在進行第一層函數(shù)映射時,可能遇到?jīng)_突,即映射到的行已經(jīng)占滿或失效,此時,需要進行重新映射以避免沖突; 第3步,第二層進行行中機柜的映射,即確定分塊將要存放到的機柜號,在進行第二層函數(shù)映射時,可能遇到?jīng)_突,即映射到的機柜已經(jīng)占滿或失效,此時,需要進行重新映射以避免沖突; 第4步,第三層進行機柜中硬盤號的映射,即確定分塊將要存放到的硬盤號。在進行函數(shù)映射時,可能遇到?jīng)_突,即映射到的硬盤已經(jīng)占滿或失效,此時,需要進行重新映射以避免沖突。
全文摘要
本發(fā)明涉及云計算存儲技術(shù)領(lǐng)域,特別是云操作系統(tǒng)分布式存儲中文件存儲方法。本發(fā)明首先提出對存儲基礎(chǔ)設(shè)施進行分層次管理的系統(tǒng)架構(gòu),然后基于副本放置策略,形成副本放置規(guī)則,進而提出針對副本的函數(shù)映射的流程方法。通過本專利提出的函數(shù)映射方法,可簡化讀寫流程,并提升文件讀寫效率。可應用于云操作系統(tǒng)分布式存儲中。
文檔編號H04L29/08GK102868725SQ201210303290
公開日2013年1月9日 申請日期2012年8月23日 優(yōu)先權(quán)日2012年8月23日
發(fā)明者劉祥濤, 陳桂華, 岳強, 季統(tǒng)凱 申請人:廣東電子工業(yè)研究院有限公司