国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

云存儲中小文件元數(shù)據(jù)管理研究與優(yōu)化

2016-07-22 20:06林媛
電腦知識與技術(shù) 2016年16期
關(guān)鍵詞:云存儲

林媛

摘要:為了提高系統(tǒng)的可擴(kuò)展性及整體查詢速度,云存儲中通常將元數(shù)據(jù)與數(shù)據(jù)進(jìn)行分開管理。在小文件存儲系統(tǒng)中,集群規(guī)模的增大會導(dǎo)致存儲元數(shù)據(jù)的主節(jié)點性能瓶頸。該文針對此問題,在小文件合成大文件技術(shù)的基礎(chǔ)上,應(yīng)用基于Vandermonde矩陣的RS算法改進(jìn)了其冗余機(jī)制,減少了系統(tǒng)存儲的元數(shù)據(jù)。引入group概念,對主節(jié)點應(yīng)用元數(shù)據(jù)形成集群進(jìn)行管理,并借鑒樹型數(shù)據(jù)結(jié)構(gòu),設(shè)計了基于group的樹型元數(shù)據(jù)結(jié)構(gòu),同時采用主、從節(jié)點共同存儲元數(shù)據(jù)的方式,分散單一主節(jié)點存儲元數(shù)據(jù)的壓力。

結(jié)論表明,該文提出的方案有效地提高了云存儲主從架構(gòu)主節(jié)點及系統(tǒng)整體的性能。

關(guān)鍵詞:云存儲;元數(shù)據(jù)結(jié)構(gòu);元數(shù)據(jù)存儲策略;樹型數(shù)據(jù)結(jié)構(gòu)

中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)16-0118-04

Abstract: To improve system scalability and the overall query speed , cloud storage is typically metadata and data are managed separately. In a small file storage system , increasing the cluster size can cause performance bottlenecks master node storing metadata. Aiming at this problem , on the basis of small files into a large file technology, application -based RS algorithm Vandermonde matrix to improve its redundancy mechanisms to reduce the metadata stored in the system . The introduction of group concept , the main application metadata form a cluster node management, and draw a tree data structure, a group of tree -based metadata structures , while using the main way from the common node storing metadata, decentralized single master node pressure storage of metadata.

Conclusions show that the proposed scheme effectively improves the cloud storage from the main structure master and overall system performance.

Key words: cloud storage; metadata structure; metadata storage strategy; tree data structur

1 概述

云存儲由于其便捷性,數(shù)據(jù)存儲空間大且收費合理被廣大用戶所歡迎。因此,廣大互聯(lián)網(wǎng)行業(yè)紛紛推出自己的云存儲產(chǎn)品。并且為了更加提高其體驗性,研發(fā)者不遺余力的優(yōu)化其技術(shù)。

當(dāng)前云存儲中主要有兩種架構(gòu)方式:主從架構(gòu)及對等架構(gòu),主從架構(gòu)即系統(tǒng)中有一個主節(jié)點,文件所有元數(shù)據(jù)存儲于主節(jié)點中,剩余的為數(shù)據(jù)節(jié)點集群,主要用于存儲文件數(shù)據(jù)[1]。對等架構(gòu)是無主從之分,所有節(jié)點地位平等[1],但有一個元數(shù)據(jù)邏輯層,即系統(tǒng)元數(shù)據(jù)單層存儲。主從架構(gòu)由于其易擴(kuò)展性及系統(tǒng)穩(wěn)定性更高而更廣泛地應(yīng)用于云存儲中。但主從架構(gòu)有一個明顯的缺點,就是當(dāng)系統(tǒng)存儲的是小文件,且小文件數(shù)量過多時,存儲元數(shù)據(jù)的主節(jié)點會成為整個系統(tǒng)的性能瓶頸[2]。并且在云存儲中,一般是采取多副本的形式進(jìn)行數(shù)據(jù)備份,對于云存儲來說,是很消耗資源的,且主節(jié)點存儲的元數(shù)據(jù)還包括副本的元數(shù)據(jù),當(dāng)面對海量小文件,對主節(jié)點來說,壓力還是很大的。目前對于主節(jié)點性能的解決方式,大多是多用幾臺機(jī)器存儲,但這樣的做法會減少查詢效率,且浪費資源[2]

2 云存儲小文件系統(tǒng)元數(shù)據(jù)相關(guān)技術(shù)研究

典型的集中式架構(gòu)的分布式存儲系統(tǒng)有Google的GFS[2],淘寶的TFS[2],F(xiàn)acebook的Haystack[2]。

在集中式架構(gòu)中,元數(shù)據(jù)分為應(yīng)用元數(shù)據(jù)及文件系統(tǒng)元數(shù)據(jù)。應(yīng)用元數(shù)據(jù)全部存放于主節(jié)點中,用于定位文件在分布式集群中的機(jī)器、磁盤位置。文件系統(tǒng)存在于每個磁盤當(dāng)中,文件系統(tǒng)的元數(shù)據(jù)存放于相應(yīng)磁盤中,以inode形式存在。存儲在主節(jié)點的應(yīng)用元數(shù)據(jù)為文件與集群的映射關(guān)系,應(yīng)用元數(shù)據(jù)包括文件key到集群機(jī)器的映射關(guān)系,及到磁盤的映射關(guān)系等,也包括每一個文件key對應(yīng)的三個副本到集群的映射關(guān)系。

文件的讀取如圖1所示,WebSever首先向主節(jié)點請求文件的應(yīng)用元數(shù)據(jù),查詢出文件在集群的位置,然后向數(shù)據(jù)節(jié)點查詢文件的具體位置信息,取得數(shù)據(jù)。

每個小文件存儲為一個文件會導(dǎo)致元數(shù)據(jù)太多難以被全部緩存,且過多的i/o操作會限制系統(tǒng)的吞吐量,為了減少小文件在文件系統(tǒng)的元數(shù)據(jù)i/o操作,主要是減少其系統(tǒng)存儲的查詢小文件所需的元數(shù)據(jù),目前針對小文件元數(shù)據(jù)減少的方法是將多個小文件存儲在單個大文件中,控制文件個數(shù),維護(hù)大型文件,則文件系統(tǒng)只需維護(hù)其合成的大文件的元數(shù)據(jù),大大減少了系統(tǒng)存儲的查詢所需元數(shù)據(jù)。

小文件合成大文件的方法減少了文件系統(tǒng)元數(shù)據(jù)數(shù)量,但是,由于每個小文件維護(hù)三個副本,文件系統(tǒng)同樣需要維護(hù)對應(yīng)三個副本的元數(shù)據(jù),其并不利于內(nèi)存的利用。且主節(jié)點維護(hù)的文件應(yīng)用元數(shù)據(jù)數(shù)量為源文件元數(shù)據(jù)x,加上副本元數(shù)據(jù)數(shù)量3x,即4x,副本元數(shù)據(jù)量占源文件元數(shù)據(jù)量的三倍,當(dāng)數(shù)據(jù)量大時,很容易造成主節(jié)點性能瓶頸。

3 云存儲小文件系統(tǒng)元數(shù)據(jù)管理方式優(yōu)化方案

針對集中式架構(gòu)主節(jié)點性能瓶頸問題,本文應(yīng)用基于Vandermonde矩陣的RS算法減少主節(jié)點應(yīng)用元數(shù)據(jù),然后引入group概念,對主節(jié)點應(yīng)用元數(shù)據(jù)應(yīng)用group進(jìn)行管理,使其形成基于group的樹型結(jié)構(gòu),改變了主節(jié)點應(yīng)用元數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu),然后采用主節(jié)點與數(shù)據(jù)節(jié)點相結(jié)合的方式,改變其存儲策略,從這三個角度,減少主節(jié)點的元數(shù)據(jù)數(shù)據(jù)量及信息量。

3.1云存儲分布式小文件系統(tǒng)元數(shù)據(jù)數(shù)量方案改進(jìn)設(shè)計

通過前面分析知,小文件合成大文件方式減少了文件系統(tǒng)所需的查詢數(shù)據(jù)的元數(shù)據(jù)量,但是其3個副本的冗余方式也導(dǎo)致主節(jié)點存儲的應(yīng)用元數(shù)據(jù)量過多。即數(shù)據(jù)節(jié)點文件的冗余方式影響著系統(tǒng)所需存儲的元數(shù)據(jù)數(shù)量。

基于Vandermonde矩陣的RS算法是起源于通信領(lǐng)域的前向編碼方式[2],由于其能夠在接收方做到自動檢測錯誤,并且能夠運用傳輸方傳輸過來的恢復(fù)策略進(jìn)行數(shù)據(jù)自動恢復(fù),使其能夠運用到數(shù)據(jù)存儲領(lǐng)域,即對要存儲的文件產(chǎn)生一定的編碼算法,產(chǎn)生出一定的校驗塊,當(dāng)有數(shù)據(jù)丟失時,運用一定的機(jī)制進(jìn)行恢復(fù)。如圖2所示,基于Vandermonde矩陣的RS算法利用n塊數(shù)據(jù)塊,生成m塊校驗塊,且m

如有n個源文件,應(yīng)用一個文件三個副本的方式,主節(jié)點需要存儲4n個應(yīng)用元數(shù)據(jù),應(yīng)用基于Vandermonde矩陣的RS算法對源文件進(jìn)行冗余,生成m個校驗塊, 且m

這樣做的好處是明顯的,校驗塊生成的數(shù)量往往比源數(shù)據(jù)塊的數(shù)量少,存儲開銷小于源文件三個副本的存儲開銷,由此,應(yīng)用元數(shù)據(jù)的存儲開銷也變少,且文件數(shù)據(jù)能夠達(dá)到高可靠性。

因此,本文將一定數(shù)量的小文件合成的大文件作為一個數(shù)據(jù)塊,用n個數(shù)據(jù)塊(n個大文件)生成其冗余的m個校驗塊,由此減少主節(jié)點存儲的副本應(yīng)用元數(shù)據(jù)數(shù)量。主節(jié)點存儲的應(yīng)用元數(shù)據(jù)化簡為圖3.6右,圖左邊為小文件合成大文件后主節(jié)點應(yīng)用元數(shù)據(jù)的存儲,但是因為文件的冗余方式是3副本形式,則其i個文件(n個大文件)有3i個副本,應(yīng)用元數(shù)據(jù)也為3i個,圖右邊i個文件(n個大文件)有m個校驗塊,但m的數(shù)量遠(yuǎn)遠(yuǎn)小于3i個副本量的元數(shù)據(jù)。

3.2云存儲分布式小文件系統(tǒng)應(yīng)用元數(shù)據(jù)結(jié)構(gòu)及存儲策略改進(jìn)

造成主節(jié)點性能瓶頸的原因主要是存儲的元數(shù)據(jù)數(shù)量及元數(shù)據(jù)信息量,上一節(jié)運用基于Vandermonde矩陣的RS算法對小文件合成的大文件進(jìn)行冗余,減少了應(yīng)用元數(shù)據(jù),為了進(jìn)一步減少主節(jié)點存儲的應(yīng)用元數(shù)據(jù)數(shù)量及信息量,本文引入group概念,如圖4所示,對i個小文件(n個大文件)及其所形成的m個校驗塊形成一個group,即這i個小文件的應(yīng)用元數(shù)據(jù)及m個校驗塊的應(yīng)用元數(shù)據(jù)形成一個group,然后將應(yīng)用元數(shù)據(jù)信息交由group管理,使文件名與group形成映射關(guān)系。

為了實現(xiàn)邏輯上增大RAM-to-disk比率[3],邏輯上擴(kuò)充存儲應(yīng)用元數(shù)據(jù)的內(nèi)存空間,本文采取主節(jié)點與數(shù)據(jù)節(jié)點共同存儲應(yīng)用元數(shù)據(jù),由此可擴(kuò)展應(yīng)用元數(shù)據(jù)的存儲空間。且為了實現(xiàn)既使主節(jié)點管控整個系統(tǒng)的應(yīng)用元數(shù)據(jù),又減少其存儲元數(shù)據(jù)數(shù)量及信息量,分散其一部分信息到數(shù)據(jù)節(jié)點,本文引入樹型索引的概念,將應(yīng)用元數(shù)據(jù)形成以group為根的樹型元數(shù)據(jù)結(jié)構(gòu),使主節(jié)點只存儲文件名與group的映射關(guān)系,并不再存儲校驗塊的應(yīng)用元數(shù)據(jù)信息(校驗塊應(yīng)用元數(shù)據(jù)信息交由group管理),而數(shù)據(jù)節(jié)點存儲大文件數(shù)據(jù)塊的地方存儲自己相應(yīng)的group管理的元數(shù)據(jù)信息。

形成的應(yīng)用元數(shù)據(jù)結(jié)構(gòu)及存儲方式如圖5所示,主節(jié)點存放文件與group的映射關(guān)系,即以group的樹型元數(shù)據(jù)結(jié)構(gòu)的根節(jié)點,主節(jié)點在應(yīng)用元數(shù)據(jù)管控中只管理最重要的,而將group管理的應(yīng)用元數(shù)據(jù)的具體信息分發(fā)到各個文件塊對應(yīng)的節(jié)點中,即每個文件塊存儲自己對應(yīng)的應(yīng)用元數(shù)據(jù),并加載到內(nèi)存。由此減輕了主節(jié)點的壓力。

4 實驗與分析

4.1實驗設(shè)計

本文針對改進(jìn)后的元數(shù)據(jù)管理方式,形成分布式小文件系統(tǒng)SFS,對SFS設(shè)計測試內(nèi)容如下:

1)由于上傳操作是當(dāng)數(shù)據(jù)上傳后,未做任何處理之前,主節(jié)點收到數(shù)據(jù)后就會給客戶端返回OK,因此,采用單線程在外網(wǎng)的情況下上傳1萬、3萬、5萬文件,并與NFS文件系統(tǒng)作對比,分析SFS的上傳性能。

2)下載操作,為了分析SFS優(yōu)化過的元數(shù)據(jù)管理,對系統(tǒng)采取多線程下載,在不同多線程下載的情況下,與傳統(tǒng)云存儲的下載情況進(jìn)行對比,分析本本文改進(jìn)的元數(shù)據(jù)管理方式是否對系統(tǒng)性能發(fā)生了提高。下載操作分為順序下載及隨機(jī)下載操作。

測試環(huán)境:集群共配置19臺機(jī)器,一臺測試客戶端,1臺名字節(jié)點(Namenode),用于存儲一級元數(shù)據(jù),1臺名字節(jié)點的備機(jī),16臺數(shù)據(jù)節(jié)點(Datanode),用于存儲數(shù)據(jù)及相應(yīng)的元數(shù)據(jù)。機(jī)器采用Intel(R) Xeon(R) CPU E5620 × 2的CPU,12G內(nèi)存,操作系統(tǒng)centos 6.5 。

4.2文件系統(tǒng)上傳測試

上傳測試中,本文選用分布式文件系統(tǒng)HDFS進(jìn)行對比測試,測試數(shù)據(jù)選取如表5.3,通過對SFS的整體性能測試及HDFS的性能測試進(jìn)行對比,來分析SFS改進(jìn)的元數(shù)據(jù)管理方式的性能。

從表2看出,隨著小文件數(shù)量的逐漸增加,SFS上傳文件的吞吐量隨著文件數(shù)量的增加而增大,并且當(dāng)小文件數(shù)量達(dá)到14萬個時,系統(tǒng)吞吐量依然在增加,說明系統(tǒng)工作良好。HDFS一開始的時候吞吐量比SFS的吞吐量大,但是隨著小文件數(shù)量的增加,系統(tǒng)吞吐量增長緩慢,這是由于HDFS主要是處理大文件所引起的,小文件會導(dǎo)致過多的I/O消耗。圖5.2清晰的表現(xiàn)了兩者的對比。

從圖7中看出,在小文件數(shù)量逐漸增多的情況下,SFS的吞吐量持續(xù)增加,而HDFS的吞吐量變化不大,這是由于HDFS里面可以存儲大文件及小文件,系統(tǒng)對于文件的處理是進(jìn)行分塊處理,當(dāng)小文件數(shù)量增加,會導(dǎo)致HDFS的I/O消耗增加,所以系統(tǒng)性能吞吐量增加并不明顯,說明SFS對于小文件系統(tǒng)性能良好,改進(jìn)的元數(shù)據(jù)管理方式提高了系統(tǒng)性能,適合于小文件系統(tǒng)存儲。

4.3文件系統(tǒng)下載性能測試

本節(jié)主要測試實現(xiàn)的主從架構(gòu)中存儲元數(shù)據(jù)主服務(wù)器的性能,為了對比改進(jìn)的元數(shù)據(jù)管理方式是否對分布式小文件系統(tǒng)元數(shù)據(jù)主服務(wù)器性能及整體性能提高,本節(jié)采取將元數(shù)據(jù)全部放置在主節(jié)點與改進(jìn)的元數(shù)據(jù)管理方式進(jìn)行對比,由于系統(tǒng)整體配置一樣,環(huán)境一樣,只是元數(shù)據(jù)管理方式不一樣,因此,對系統(tǒng)整體性能測試也即表現(xiàn)了元數(shù)據(jù)管理方式的性能。

在所述測試環(huán)境及測試目標(biāo)的情況下,對SFS及傳統(tǒng)云存儲進(jìn)行順序下載測試,采取50個線程進(jìn)行下載,測試數(shù)據(jù)分為5組,最小從10000個文件開始,然后線性遞增,由于本文針對的是云存儲小文件系統(tǒng),因此提出的文件大小不超過64K,具體選取的測試數(shù)據(jù)描述如表3:

從圖8看出,SFS設(shè)計的元數(shù)據(jù)管理方案對比傳統(tǒng)云存儲元數(shù)據(jù)管理方案使系統(tǒng)整體的下載時間降低了。由于SFS只將分布式文件的一部分元數(shù)據(jù)存儲于主從架構(gòu)的主節(jié)點,即將基于group的樹型元數(shù)據(jù)的group信息存儲于主元數(shù)據(jù)服務(wù)器節(jié)點,剩余的精簡過的元數(shù)據(jù)分布于響應(yīng)數(shù)據(jù)節(jié)點的內(nèi)存中,查詢一個數(shù)據(jù)的方式是先在主節(jié)點查詢其位置信息,再到數(shù)據(jù)節(jié)點查詢數(shù)據(jù),本文設(shè)計的數(shù)據(jù)節(jié)點的元數(shù)據(jù)是分布于查詢數(shù)據(jù)對應(yīng)的節(jié)點內(nèi)存中,并沒有多余的通信開銷,且元數(shù)據(jù)主服務(wù)器節(jié)點由于只存儲文件對應(yīng)的group信息,存儲壓力小,性能必會得到提高,而傳統(tǒng)的云存儲是將分布式文件系統(tǒng)所有元數(shù)據(jù)都存儲于主節(jié)點,且主節(jié)點元數(shù)據(jù)一般存儲于數(shù)據(jù)庫中,所有元數(shù)據(jù)存儲于主節(jié)點會導(dǎo)致執(zhí)行查詢多個表的操作,且主節(jié)點的壓力是比較大的,性能也會受到一定的影響。就是說,就算系統(tǒng)高負(fù)載情況下,SFS的響應(yīng)時間會比傳統(tǒng)的快,一樣能夠提供更好的服務(wù)。

5 結(jié)論

本文分析了云存儲小文件系統(tǒng)元數(shù)據(jù)管理存在的問題,該問題導(dǎo)致了小文件系統(tǒng)主從架構(gòu)主節(jié)點性能瓶頸,即系統(tǒng)元數(shù)據(jù)結(jié)構(gòu)、元數(shù)據(jù)放置策略及系統(tǒng)存儲的查詢所需的元數(shù)據(jù)數(shù)量問題, 針對此問題,改進(jìn)了主從架構(gòu)小文件系統(tǒng)元數(shù)據(jù)管理方式,利用基于Vandermonde矩陣的RS算法改變?nèi)哂喾绞綔p少其元數(shù)據(jù)數(shù)量,引入group概念,對元數(shù)據(jù)形成集群管理,設(shè)計了基于group的樹型元數(shù)據(jù)結(jié)構(gòu),并在此基礎(chǔ)上采取主從節(jié)點相結(jié)合共同存儲元數(shù)據(jù)的方式分散主節(jié)點壓力。本文改進(jìn)的元數(shù)據(jù)管理方式提高了主節(jié)點及系統(tǒng)性能,但之后主節(jié)點單點故障問題還需進(jìn)一步研究。

參考文獻(xiàn):

[1] 趙黎斌. 面向云存儲的分布式文件系統(tǒng)關(guān)鍵技術(shù)研究[D]. 西安: 西安電子科技大學(xué), 2011.

[2] Reed-Solomon Codes[J/OL]. School of computer Science.

猜你喜歡
云存儲
基于橢圓曲線的云存儲數(shù)據(jù)完整性的驗證研究
高校檔案云存儲模式探究
地鐵高清視頻存儲技術(shù)的應(yīng)用分析
云數(shù)據(jù)存儲安全關(guān)鍵技術(shù)研究
淺析龍巖煙草業(yè)務(wù)數(shù)據(jù)與監(jiān)控數(shù)據(jù)中的云存儲與大數(shù)據(jù)
望江县| 阳东县| 疏勒县| 沈阳市| 且末县| 裕民县| 新宁县| 新巴尔虎右旗| 济宁市| 福安市| 中宁县| 龙口市| 乌恰县| 龙岩市| 石棉县| 定南县| 富源县| 磐安县| 渭南市| 西藏| 克东县| 东至县| 东乌珠穆沁旗| 老河口市| 个旧市| 阿图什市| 古浪县| 富蕴县| 晴隆县| 花垣县| 绥化市| 司法| 遂溪县| 芷江| 云阳县| 梅州市| 北京市| 信丰县| 大新县| 长寿区| 浑源县|