亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種基于分布式彈性塊存儲的方法和系統(tǒng)的制作方法

文檔序號:9436129閱讀:584來源:國知局
一種基于分布式彈性塊存儲的方法和系統(tǒng)的制作方法
【技術領域】
[0001]本發(fā)明涉及云計算和網(wǎng)絡領域,尤其涉及一種基于分布式彈性塊存儲的方法和系統(tǒng)。
【背景技術】
[0002]隨著云時代的到來和信息化技術的不斷發(fā)展,近年來諸如圖片、視頻、音樂和文檔等靜態(tài)數(shù)據(jù)不斷激增,企業(yè)對存儲容量的需求越來越大,當務之急是實現(xiàn)存儲的不斷擴容,并保證對數(shù)據(jù)的快速訪問。
[0003]電信行業(yè)因其自身的發(fā)展歷程和時間的延續(xù),數(shù)據(jù)環(huán)境比較復雜,在不同時期的不同應用導致了多種存儲方式并存的現(xiàn)象,規(guī)模較大的電信行業(yè)可能同時具有從DAS (Direct Attached Storage,即直連式存儲)、NAS (Network Attached Storage,即網(wǎng)絡接入存儲)到SAN(Storage Area Network,即存儲區(qū)域網(wǎng)絡)的各種存儲結(jié)構。
[0004]DAS是指將存儲設備通過SCSI接口或光纖通道直接連接到一臺計算機上,操作格式化成文件系統(tǒng)再提供給應用程序使用的本地存儲架構。DAS是一種應用較早的存儲技術,簡單易用,但磁盤利用率很低,不易擴容。用通常用在單一網(wǎng)絡環(huán)境下且數(shù)據(jù)交換量不大,性能要求不高的環(huán)境下。對大容量的數(shù)據(jù)存儲以及共享并不適合。
[0005]SAN采用光纖通道(Fibre Channel,簡稱FC)技術,通過光纖通道交換機連接存儲陣列和服務器主機,建立專用于數(shù)據(jù)存儲的區(qū)域網(wǎng)絡。SAN應用在對網(wǎng)絡速度要求高、對數(shù)據(jù)的可靠性和安全性要求高、對數(shù)據(jù)共享的性能要求高的應用環(huán)境中,例如電信、銀行的大數(shù)據(jù)量關鍵業(yè)務應用。它采用塊存儲結(jié)構通過在磁盤或FC級的數(shù)據(jù)訪問提供高性能的隨機1/0和數(shù)據(jù)吞吐率,它具有高帶寬、低延遲的優(yōu)勢,但是SAN系統(tǒng)的價格較高,且可擴展性較差,已不能滿足存儲規(guī)模的不斷擴大。
[0006]NAS即將存儲設備通過標準的網(wǎng)絡拓撲結(jié)構(例如以太網(wǎng)),連接到一群計算機上。NAS是部件級的存儲方法,它的重點在于幫助工作組和部門級機構解決迅速增加存儲容量的需求。NAS是文件級存儲,它以文件為傳輸協(xié)議,通過TCP/IP實現(xiàn)網(wǎng)絡化存儲,可擴展性好、價格便宜、用戶易管理,但由于NAS的協(xié)議開銷高、帶寬低、延遲大,不利于在高性能集群中應用。
[0007]綜上所述,三種技術的不同優(yōu)勢使電信運營商在構建不同存儲系統(tǒng)時可各取所長,但傳統(tǒng)NAS和SAN存儲陣列的復雜性和高成本都注定這些方案對于非結(jié)構化數(shù)據(jù)來說不是長久之計,需要對當前的存儲結(jié)構加以改進。

【發(fā)明內(nèi)容】

[0008]本發(fā)明所要解決的技術問題是提供一種基于分布式彈性塊存儲的方法和系統(tǒng)。
[0009]本發(fā)明解決上述技術問題的技術方案如下:一種基于分布式彈性塊存儲的方法,包括以下步驟:
[0010]步驟SI,將待操作文件根據(jù)預設映射算法一映射為目標對象;
[0011]步驟S2,將所述目標對象根據(jù)預設映射算法二映射到安置組中;
[0012]步驟S3,將所述安置組根據(jù)預設映射算法三映射到對象存儲集群中。
[0013]在上述技術方案的基礎上,本發(fā)明還可以做如下改進。
[0014]進一步地,步驟SI中所述預設映射算法一包括:預設所述目標對象的最大容量值,根據(jù)所述目標對象的最大容量值對所述待操作文件進行切分生成一個或多個所述目標對象。
[0015]進一步地,每一個切分后生成的所述目標對象有唯一的目標對象識別碼,所述目標對象識別碼的生成方法包括:設置待操作文件的待操作文件識別碼,將所述目標文件進行編號使每個所述目標文件有唯一的序號,所述目標對象識別碼由所述目標對象的序號連綴在所述待操作文件識別碼之后得到。
[0016]進一步地,步驟S2中所述預設映射算法二包括以下步驟:
[0017]步驟S21,使用靜態(tài)哈希函數(shù)計算所述目標對象識別碼的哈希值,將所述目標對象識別碼映射成為一個偽隨機值;
[0018]步驟S22,將所述偽隨機值和掩碼按位相與,得到所述目標對象所要映射的安置組序號;所述掩碼為所述安置組的總數(shù)減一。
[0019]進一步地,步驟S3中所述預設映射算法三包括:為每一個所述安置組配置多個所述對象存儲集群,即該多個所述對象存儲集群共同負責存儲和維護一個安置組中的所有目標對象。
[0020]本發(fā)明解決上述技術問題的另一種技術方案如下:一種基于分布式彈性塊存儲的系統(tǒng),包括第一映射模塊、第二映射模塊和第三映射模塊;
[0021]第一映射模塊用于將待操作文件根據(jù)預設映射算法一映射為目標對象;
[0022]第二映射模塊用于將目標對象根據(jù)預設映射算法二映射到安置組中;
[0023]第三映射模塊用于將安置組根據(jù)預設映射算法三映射到對象存儲集群中。
[0024]在上述技術方案的基礎上,本發(fā)明還可以做如下改進。
[0025]進一步地,第一映射模塊包括預設映射算法一單元,其中所述預設映射算法一包括:預設所述目標對象的最大容量值,根據(jù)所述目標對象的最大容量值對所述待操作文件進行切分生成一個或多個所述目標對象。
[0026]進一步地,每一個切分后生成的所述目標對象有唯一的目標對象識別碼,所述目標對象識別碼的生成方法包括:設置待操作文件的待操作文件識別碼,將所述目標文件進行編號使每個所述目標文件有唯一的序號,所述目標對象識別碼由所述目標對象的序號連綴在所述待操作文件識別碼之后得到。
[0027]進一步地,第二映射模塊包括預設映射算法二單元,所述預設映射算法二單元包括哈希函數(shù)計算單元和按位相與計算單元;
[0028]哈希函數(shù)計算單元用于使用靜態(tài)哈希函數(shù)計算所述目標對象識別碼的哈希值,將所述目標對象識別碼映射成為一個偽隨機值;
[0029]按位相與計算單元用于將所述偽隨機值和掩碼按位相與,得到所述目標對象所要映射的安置組序號;所述掩碼為所述安置組的總數(shù)減一。
[0030]進一步地,第三映射模塊包括預設映射算法三單元,其中所述預設映射算法三包括:為每一個所述安置組配置多個所述對象存儲集群,即該多個所述對象存儲集群共同負責存儲和維護一個安置組中的所有目標對象。
[0031]本發(fā)明的有益效果是:
[0032]1、解決單服務器瓶頸和故障點:使用分布式技術,可以輕松滿足I/O密集型應用場景;彈性塊存儲使用多重副本技術,把數(shù)據(jù)實時復制到多臺服務器上,即使我們無法避免硬盤故障,依然可以保證數(shù)據(jù)持久性。
[0033]2、采用普通服務器替代磁盤陣列:傳統(tǒng)的磁盤陣列具有昂貴、不靈活的特點,彈性塊存儲不存在這個問題。存儲容量可以通過添加存儲節(jié)點輕松實現(xiàn)擴張。
[0034]3、提供更強大的高可用、錯誤檢測和修復功能:磁盤陣列一旦壞兩塊硬盤數(shù)據(jù)就會丟失,彈性塊的數(shù)據(jù)分布式在不同的服務器的不同硬盤上,可靠性更強。
[0035]4、所述彈性塊存儲系統(tǒng)的性能可隨存儲容量的擴展線性提升。
【附圖說明】
[0036]圖1為本發(fā)明所述基于分布式彈性塊存儲的方法總體流程圖;
[0037]圖2為本發(fā)明所述基于分布式彈性塊存儲的方法具體流程圖;
[0038]圖3為本發(fā)明所述基于分布式彈性塊存儲的方法數(shù)據(jù)寫入流程圖;
[0039]圖4為本發(fā)明所述基于分布式彈性塊存儲的系統(tǒng)結(jié)構圖;
[0040]圖5為本發(fā)明所述基于分布式彈性塊存儲的結(jié)構構架圖。
【具體實施方式】
[0041]以下結(jié)合附圖對本發(fā)明的原理和特征進行描述,所舉實例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。
[0042]圖1為本發(fā)明所述基于分布式彈性塊存儲的方法總體流程圖。
[0043]如圖1所示,一種基于分布式彈性塊存儲的方法,包括以下步驟:
[0044]步驟SI,將待操作文件根據(jù)預設映射算法一映射為一個或多個目標對象;
[0045]步驟S2,將目標對象根據(jù)預設映射算法二映射到安置組中;
[0046]步驟S3,將安置組根據(jù)預設映射算法三映射到對象存儲集群中。
[0047]圖2為本發(fā)明所述基于分布式彈性塊存儲的方法具體流程圖。
[0048]如圖2所示,步驟SI是從File即待操作文件-object即目標對象的映射,這次映射的目的是將用戶要操作的file,映射為可處理的object。
[0049]預設映射算法一包括:預設object的最大容量值,然后按照object的最大容量值對file進行切分,這一步驟相當于RAID中的條帶化過程。步驟Sll的有益效果包括:首先可以讓大小不限的file變成最大容量一致、便于高效管理的多個object ;其次是對單一file實施的串行處理變?yōu)閷Χ鄠€object實施的并行化處理。
[0050]每一個切分后產(chǎn)生的object將獲得唯一的目標對象識別碼(oid,即object id)。Oid的產(chǎn)生方式為線性映射。具體為:設置ino為待操作文件識別碼,即為file的唯一識別碼;將由file切分產(chǎn)生的object進行編號,假設ono是由file切分產(chǎn)生的某個object的序號,那么該object的oid就是將ono簡單連綴在ino之后得到的。
[0051]步驟S2是從Object-安置組即PG(Placement Group)的映射;在file被映射為一個或多個object之后,將每個object獨立地映射到一個PG中去。
[0052]預設映射算法二包括以下步驟:
[0053]步驟S21,使用靜態(tài)哈希函數(shù)計算oid的哈希值,將oid映射成為一個近似均勾分布的偽隨機值。
[0054]步驟S22,將偽隨機值和mask按位相與,得到安置組序號即pgid。
[0055]上述步驟S21和步驟S22用計算公式表示即為:hash (oid)&mask_pgid ;其中PG的總數(shù)為m(m為2的整數(shù)冪),則mask的值為m_l。因此,哈希值計算和按位與操作的整體結(jié)果事實上是從所有m個PG中近似均勾地隨機選擇一個。基于這一機制,當有大量object和大量PG時,能夠保證object和PG之間的近似均勻映射。并且因為object是由file切分而來,大部分object的size相同,因而,這一映射可以保證各個PG中存儲的object的總數(shù)據(jù)量近似均勻分布。
[0056]步驟S3是從PG-0SD (object storage d
當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1