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

?

互聯(lián)網(wǎng)模式式下分布式對象存儲系統(tǒng)的設(shè)計(jì)

2017-07-12 06:22韓盛中王沖何抗洪
電腦知識與技術(shù) 2017年13期
關(guān)鍵詞:海量互聯(lián)網(wǎng)

韓盛中 王沖 何抗洪

摘要:在互聯(lián)網(wǎng)日益發(fā)展的當(dāng)下,每天都產(chǎn)生大量的數(shù)據(jù)。據(jù)IDC統(tǒng)計(jì)預(yù)測,到2020年,全球的數(shù)據(jù)總量將達(dá)到44ZB,其中75%是非結(jié)構(gòu)化數(shù)據(jù)。各個(gè)產(chǎn)業(yè)都面臨著大規(guī)模的數(shù)字化轉(zhuǎn)型,產(chǎn)生的數(shù)據(jù)量非常巨大。因此對于海量數(shù)據(jù)的管理、治理、移動、分析有迫切的需求,因此分布式對象存儲系統(tǒng)孕育而生。對于文檔、圖片、視頻以及備份歸檔文件,都可以統(tǒng)一存放在對象存儲系統(tǒng)中。對象存儲系統(tǒng)保證了數(shù)據(jù)可靠性、高可用性、安全性,提供了高并發(fā)低時(shí)延的訪問。與傳統(tǒng)的NAS存儲相比,對象存儲提供了RESTOVERHTTP(s)的接口,方便用戶在互聯(lián)網(wǎng)環(huán)境下訪問。

關(guān)鍵詞:互聯(lián)網(wǎng);海量;對象存儲;REST

中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2017)13-0034-02

當(dāng)前各類企業(yè)特別是中小企業(yè)面臨的數(shù)據(jù)存儲的痛點(diǎn)有哪些?首先老的存儲框架,無論是本地磁盤、SAN還是NAS都面臨擴(kuò)容難的問題,日益龐大的數(shù)據(jù)量越來越得不到滿足;其次老的存儲環(huán)境中,數(shù)據(jù)是死的,不能方便地移動,靈活性比較差;還有各個(gè)業(yè)務(wù)需要獨(dú)立的申請存儲環(huán)境,如果公用存儲環(huán)境,又很難做到相互間的隔離;最后,傳統(tǒng)的存儲基于的文件系統(tǒng)由于元數(shù)據(jù)和目錄樹管理比較復(fù)雜,不適合處理海量的數(shù)據(jù)的存取。

分布式對象存儲針對現(xiàn)有的痛點(diǎn),基于軟件定義的存儲,重新設(shè)計(jì)了存儲的架構(gòu),對于海量小文件進(jìn)行了聚合處理,對于大文件進(jìn)行了分塊處理,在系統(tǒng)設(shè)計(jì)時(shí)主要著眼于、數(shù)據(jù)可靠性、安全性、易用性、擴(kuò)展性以及高可用性進(jìn)行了設(shè)計(jì)。

業(yè)界很多流行的分布式存儲,比如Ceph、GlusterFS、HDFS,處理小文件的性能都差強(qiáng)人意,而TFS在處理大文件方面做的又有欠缺。因此需要設(shè)計(jì)一種統(tǒng)一存儲,滿足各種文件類型。

1整體架構(gòu)設(shè)計(jì)

如圖1所示,對象存儲系統(tǒng)可以由主控集群、數(shù)據(jù)存儲集群、賬號管理集群、桶資源管理集群、元數(shù)據(jù)管理集群、反向代理、緩存、回收、災(zāi)備幾個(gè)模塊組成。

其中主控集群負(fù)責(zé)所有其他模塊的在線狀態(tài)管理,其他模塊各個(gè)節(jié)點(diǎn)會定期地給主控集群上報(bào)狀態(tài)。主控集群通過zab或者raft選舉leader節(jié)點(diǎn),主控集群中非leader節(jié)點(diǎn)作為代理,可以轉(zhuǎn)發(fā)其他模塊的請求給leader節(jié)點(diǎn)。

數(shù)據(jù)存儲集群負(fù)責(zé)數(shù)據(jù)的到磁盤的讀寫,可以基于XFS或者EXT4文件系統(tǒng)。節(jié)點(diǎn)和磁盤的選擇由主控節(jié)點(diǎn)隨機(jī)分配。存儲集群通過多副本或者糾刪碼的方式保證數(shù)據(jù)的可靠性。通常對小文件或者讀性能要求較高的業(yè)務(wù)適用于多副本,對長期歸檔并且很少去訪問的冷數(shù)據(jù)適用于糾刪碼。

元數(shù)據(jù)管理集群,負(fù)責(zé)將元數(shù)據(jù)保存到數(shù)據(jù)庫。由于單個(gè)數(shù)據(jù)庫的容量和新能存在瓶頸,因此對象存儲中的元數(shù)據(jù)必須設(shè)計(jì)成分庫分表分節(jié)點(diǎn)的方式存儲管理元數(shù)據(jù),每個(gè)數(shù)據(jù)庫都成對出現(xiàn),保證元數(shù)據(jù)的高可靠性。

賬戶管理集群負(fù)責(zé)管理對象存儲所有的賬戶信息,每個(gè)業(yè)務(wù)系統(tǒng)接入對象存儲,都會申請對應(yīng)的賬號,每個(gè)賬號都會分配對應(yīng)的公鑰和私鑰。

桶資源管理集群負(fù)責(zé)管理每個(gè)賬號的桶資源,用戶的每個(gè)桶相當(dāng)于一個(gè)資源池,會有單獨(dú)的流量和統(tǒng)計(jì),每個(gè)桶之間是隔離的。如果桶設(shè)置為私有的,每個(gè)賬號必須有公鑰/秘鑰產(chǎn)生簽名后在能上傳/下載桶內(nèi)的文件資源。

緩存模塊也是一組分布式緩存集群,用來保存一些臨時(shí)文件和緩存信息。

回收模塊用來掃描系統(tǒng)中的過期文件,如果過期則會逐一清理。

災(zāi)備模塊負(fù)責(zé)主機(jī)房向備用機(jī)房的準(zhǔn)實(shí)時(shí)災(zāi)備。

圖片處理模塊可以將存儲在對象存儲中各種格式的圖片進(jìn)行處理,包括JPEG、PNG、bmp、webp、gif和tiff等格式圖片的格式轉(zhuǎn)換、縮放、裁剪、水印、拼圖、銳化等操作。

視頻處理模塊可以協(xié)助用戶進(jìn)行視頻文件的處理,比如視頻轉(zhuǎn)碼、截圖等功能。目前支持H.264和H.265格式的轉(zhuǎn)碼。

2小文件聚合方案

傳統(tǒng)的文件系統(tǒng)由于需要維護(hù)大量的元數(shù)據(jù)信息,導(dǎo)致對磁盤的10利用率不高,從而讀取小文件性能較差。SDOSS針對海量小文件的應(yīng)用場景做了優(yōu)化。

傳統(tǒng)文件系統(tǒng)讀文件分成3個(gè)步驟:1)讀取目錄元數(shù)據(jù)dentry到內(nèi)存;21讀取文件inode到內(nèi)存;3)讀取文件實(shí)際內(nèi)容。

其中,1、2兩步需要對磁盤進(jìn)行元數(shù)據(jù)操作,由于文件數(shù)太多的情況下,無法將所有元數(shù)據(jù)信息緩存到內(nèi)存。

對象存儲系統(tǒng)在小文件存儲方面做了優(yōu)化,借鑒Facebook的Haystack的系統(tǒng),設(shè)計(jì)了小文件聚合方案,元數(shù)據(jù)的訪問頻次減少了2/3,有效的提高的磁盤的訪問效率,從而提升了小文件的讀性能。

如圖2所示,對象存儲采用小文件聚合的方案,將每個(gè)文件的元數(shù)據(jù)信息提取處理順序存放在索引文件,并且加載到內(nèi)存中。文件讀取時(shí),通過info信息可以找到對應(yīng)的file數(shù)據(jù)信息。

在上傳一個(gè)新文件時(shí),對于數(shù)據(jù)文件和索引是一個(gè)追加寫的過程。刪文件時(shí),刪除索引文件中的記錄,并置空數(shù)據(jù)文件,追加寫入卷數(shù)據(jù)文件與卷索引文件(寫一段相同fileid且大小為0的needle數(shù)據(jù)),由之后垃圾回收線程回收。存儲服務(wù)重啟,索引文件全部加載到內(nèi)存。

3大文件分塊方案

本系統(tǒng)的目標(biāo)是一個(gè)通用的統(tǒng)一存儲,大文件和小文件的區(qū)別是:大文件對帶寬有更高的要求,大量的數(shù)據(jù)傳輸往往會造成網(wǎng)絡(luò)流量大,往往讀寫一個(gè)大文件就能造成某個(gè)服務(wù)器節(jié)點(diǎn)的網(wǎng)口爆滿,造成網(wǎng)絡(luò)擁塞。對于大文件,通常的設(shè)計(jì)思路是分塊上傳。

使用大文件分塊,提高了磁盤和節(jié)點(diǎn)的并發(fā)性(防止某一個(gè)文件的讀寫集中在一個(gè)節(jié)點(diǎn)或者一塊磁盤上),從而提升了整體的讀寫性能。用戶上傳一個(gè)10GB文件,可以按照一定的大小將文件分塊(一般可以設(shè)置1MB-64MB),每個(gè)chunk文件均勻的散列在各個(gè)服務(wù)器的磁盤上,讀寫改文件網(wǎng)絡(luò)和磁盤10都可以均勻散列開。每個(gè)chunk文件都是多副本,保證數(shù)據(jù)可靠性。

4元數(shù)據(jù)管理策略

海量數(shù)據(jù)的元數(shù)據(jù)信息管理成本極高,如果采用GFS的方式,勢必造成元數(shù)據(jù)服務(wù)器的單點(diǎn)問題;如果使用GlusterFs的無元數(shù)據(jù)管理的方式,無法滿足對象存儲豐富元數(shù)據(jù)的訴求。本系統(tǒng)元數(shù)據(jù)信息包括文件元數(shù)據(jù)、桶資源元數(shù)據(jù)、賬號元數(shù)據(jù)。各類元數(shù)據(jù)信息以分庫分表的形式散列在各模塊的數(shù)據(jù)庫中。

元數(shù)據(jù)管理可以用數(shù)據(jù)庫管理,分散在不同的元數(shù)據(jù)服務(wù)器上,避免了單點(diǎn)造成的性能瓶頸。隨著全行業(yè)的數(shù)字化轉(zhuǎn)型,對象存儲對于用戶而言,不僅僅是提供了一個(gè)存儲的環(huán)境,更是為用戶提供了一個(gè)數(shù)據(jù)管理的平臺,其中包括數(shù)據(jù)的治理和分析。用戶在上傳文件的過程中可以帶上自己業(yè)務(wù)的標(biāo)簽,即用戶自定義的元數(shù)據(jù)信息。對象存儲可以通過這些元數(shù)據(jù)信息,協(xié)助業(yè)務(wù)進(jìn)行系統(tǒng)行為和用戶行為的分析。

5跨機(jī)房災(zāi)備

容災(zāi)備份是指通過技術(shù)和管理的途徑,確保在災(zāi)難發(fā)生后,用戶關(guān)鍵數(shù)據(jù)、數(shù)據(jù)處理系統(tǒng)和業(yè)務(wù)在短時(shí)間內(nèi)能夠恢復(fù)。存儲系統(tǒng)在高可靠高可用的基礎(chǔ)上,設(shè)計(jì)異地災(zāi)備滿足更高級別的數(shù)據(jù)安全性。

本系統(tǒng)支持兩個(gè)異地機(jī)房之間的數(shù)據(jù)同步備份,主機(jī)房準(zhǔn)實(shí)時(shí)的向備用機(jī)房進(jìn)行數(shù)據(jù)同步。當(dāng)主用機(jī)房發(fā)生災(zāi)難時(shí),備用機(jī)房可以在短時(shí)間內(nèi)完成接管。

6數(shù)據(jù)處理

數(shù)據(jù)處理是對象存儲給用戶提供的增值服務(wù),包括圖片處理、視頻處理、數(shù)據(jù)分析。

其中圖片處理模塊可以基于ImageMagick等開源軟件開發(fā),視頻處理可以基于FFmepeg等開源軟件開發(fā)。圖片處理和視頻處理都是獨(dú)立的高可用模塊,將下載的文件流按照用戶指定的參數(shù)進(jìn)行圖像和視頻處理。

數(shù)據(jù)分析模塊可以基于Pentaho等開源數(shù)據(jù)分析軟件開發(fā),數(shù)據(jù)本身的價(jià)值是有限的,只有充分利用數(shù)據(jù),挖掘數(shù)據(jù)的潛在價(jià)值,才能真正地為互聯(lián)網(wǎng)商業(yè)模式提供基礎(chǔ)支撐,才能為數(shù)字化轉(zhuǎn)型提供有效的保障。

7總結(jié)

分布式對象存儲有效地解決了互聯(lián)網(wǎng)模式下的用戶需求:在保證高效可靠存儲的同時(shí),提供豐富的數(shù)據(jù)處理和分析能力。隨著全球數(shù)據(jù)量的日益增大,對于對象存儲技術(shù)本身來說也將面臨巨大的挑戰(zhàn),只有牢牢地把握用戶的需求,從專業(yè)的角度去分析和解決問題,才能設(shè)計(jì)出優(yōu)秀的存儲系統(tǒng)。

猜你喜歡
海量互聯(lián)網(wǎng)
一種傅里葉域海量數(shù)據(jù)高速譜聚類方法
海量快遞垃圾正在“圍城”——“綠色快遞”勢在必行
一個(gè)圖形所蘊(yùn)含的“海量”巧題
“互聯(lián)網(wǎng)+”環(huán)境之下的著作權(quán)保護(hù)
“互聯(lián)網(wǎng)+”對傳統(tǒng)圖書出版的影響和推動作用
從“數(shù)據(jù)新聞”看當(dāng)前互聯(lián)網(wǎng)新聞信息傳播生態(tài)
互聯(lián)網(wǎng)背景下大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練項(xiàng)目的實(shí)施
多通道海量數(shù)據(jù)記錄系統(tǒng)設(shè)計(jì)
一種海量衛(wèi)星導(dǎo)航軌跡點(diǎn)地圖匹配方法
基于文件系統(tǒng)的分布式海量空間數(shù)據(jù)高效存儲與組織研究