本申請(qǐng)?zhí)峁┝艘环N數(shù)據(jù)存儲(chǔ)方法及裝置,包括:接收用戶的數(shù)據(jù)寫入請(qǐng)求;所述請(qǐng)求中包括用戶的數(shù)據(jù)存儲(chǔ)需求以及寫入數(shù)據(jù)的大小;所述數(shù)據(jù)存儲(chǔ)需求包括數(shù)據(jù)可靠性參數(shù)和/或讀寫性能參數(shù);根據(jù)所述數(shù)據(jù)存儲(chǔ)需求和寫入數(shù)據(jù)的大小標(biāo)記所述數(shù)據(jù);根據(jù)所述數(shù)據(jù)的標(biāo)記確定數(shù)據(jù)保護(hù)方式;將所述數(shù)據(jù)按照所述數(shù)據(jù)保護(hù)方式存儲(chǔ)至數(shù)據(jù)節(jié)點(diǎn)。由于本申請(qǐng)?jiān)诮邮盏接脩舻臄?shù)據(jù)寫入請(qǐng)求時(shí),客戶端可以根據(jù)業(yè)務(wù)需要增加數(shù)據(jù)標(biāo)簽,根據(jù)用戶對(duì)數(shù)據(jù)的存儲(chǔ)需求以及寫入數(shù)據(jù)的大小等標(biāo)簽,決定使用哪種保護(hù)方式,為用戶的不同存儲(chǔ)數(shù)據(jù)特點(diǎn)提供差異化的數(shù)據(jù)保護(hù)方式,在確保滿足數(shù)據(jù)可靠性和讀寫性能要求的前提下,減輕運(yùn)維的人力成本,降低由人為失誤造成的數(shù)據(jù)風(fēng)險(xiǎn)。
【技術(shù)實(shí)現(xiàn)步驟摘要】
本申請(qǐng)涉及計(jì)算機(jī)存儲(chǔ)
,尤其涉及一種數(shù)據(jù)存儲(chǔ)方法及裝置。
技術(shù)介紹
分布式文件存儲(chǔ)系統(tǒng)是指將網(wǎng)絡(luò)中大量的存儲(chǔ)設(shè)備通過上層軟件集群調(diào)度起來進(jìn)行協(xié)同工作,對(duì)外提供統(tǒng)一的數(shù)據(jù)存儲(chǔ)和訪問功能的一個(gè)系統(tǒng)。分布式文件存儲(chǔ)系統(tǒng)有效地解決了數(shù)據(jù)存儲(chǔ)和管理的難題,能夠?qū)Υ鎯?chǔ)節(jié)點(diǎn)進(jìn)行按需在線擴(kuò)容,對(duì)分布在各個(gè)地點(diǎn)的存儲(chǔ)節(jié)點(diǎn)中的數(shù)據(jù)進(jìn)行統(tǒng)一管理。由于數(shù)據(jù)分散在不同的節(jié)點(diǎn),且這些節(jié)點(diǎn)都是比較普通的存儲(chǔ)服務(wù)器,必須考慮它們故障的情況。因此,數(shù)據(jù)的可靠性是分布式文件存儲(chǔ)系統(tǒng)研究的重點(diǎn)問題。當(dāng)今社會(huì)是大數(shù)據(jù)的時(shí)代,數(shù)據(jù)量成爆炸式增長(zhǎng),這就對(duì)存儲(chǔ)的容量提出了很高的要求。與此同時(shí),數(shù)據(jù)的安全性也不容小覷,需要提供數(shù)據(jù)的冗余和備份。然而,存儲(chǔ)容量和高可靠性是相對(duì)的,難以平衡。一方面,高可靠性可以通過增加數(shù)據(jù)的副本數(shù)提高,但是存單位數(shù)據(jù)的冗余數(shù)據(jù)也隨之成倍地增加;另一方面,若想節(jié)約成本,不對(duì)數(shù)據(jù)進(jìn)行備份,一旦數(shù)據(jù)的部分存儲(chǔ)設(shè)備故障時(shí),整個(gè)文件將不能訪問,造成數(shù)據(jù)的丟失。現(xiàn)有技術(shù)分布式文件系統(tǒng)中,HDFS(Hadoop分布式文件系統(tǒng),HadoopDistributedFileSystem)和GFS(谷歌文件系統(tǒng),GoogleFileSystem),一般把數(shù)據(jù)文件分為若干64MB大小的塊,每個(gè)塊至少有3份相同冗余,且副本盡量分布在不同機(jī)架上來以提高可靠性。該技術(shù)最大的缺點(diǎn)是比較浪費(fèi)空間。因?yàn)榇鎯?chǔ)一份數(shù)據(jù)需要備份2倍的額外存儲(chǔ)空間,從而提高了成本。基于編碼技術(shù),一種基于糾刪碼技術(shù)的數(shù)據(jù)存儲(chǔ)方法誕生了。通過把原始數(shù)據(jù)分成N個(gè)原始數(shù)據(jù)塊,然后再計(jì)算出M個(gè)冗余數(shù)據(jù)塊。N+M個(gè)數(shù)據(jù)塊優(yōu)先選擇不同節(jié)點(diǎn)的不同磁盤進(jìn)行存儲(chǔ)。在N+M個(gè)數(shù)據(jù)塊中,任意M個(gè)磁盤故障,原始數(shù)據(jù)可以從任意N個(gè)數(shù)據(jù)塊中恢復(fù)。該技術(shù)大大提升了存儲(chǔ)空間的利用效率。然而,其缺點(diǎn)是系統(tǒng)開銷巨大,讀寫性能下降。在既能提供副本和糾刪碼策略的分布式存儲(chǔ)系統(tǒng)中,需要人工手動(dòng)設(shè)置存儲(chǔ)目錄的保護(hù)方式,無法智能切換,常常導(dǎo)致所設(shè)置的存儲(chǔ)目錄無法達(dá)到用戶對(duì)于數(shù)據(jù)可靠性的要求或者無法達(dá)到用戶對(duì)于存儲(chǔ)讀寫性能的要求。現(xiàn)有技術(shù)不足在于:在既能提供副本和糾刪碼策略的分布式存儲(chǔ)系統(tǒng)中,需要人工手動(dòng)設(shè)置存儲(chǔ)目錄的保護(hù)方式,可能存在由于人為失誤導(dǎo)致無法滿足數(shù)據(jù)可靠性和讀寫性能的要求。
技術(shù)實(shí)現(xiàn)思路
本申請(qǐng)實(shí)施例提出了一種數(shù)據(jù)存儲(chǔ)方法及裝置,以解決現(xiàn)有技術(shù)中在既能提供副本和糾刪碼策略的分布式存儲(chǔ)系統(tǒng)中,需要人工手動(dòng)設(shè)置存儲(chǔ)目錄的保護(hù)方式,可能存在由于人為失誤導(dǎo)致無法滿足數(shù)據(jù)可靠性和讀寫性能的要求的技術(shù)問題。本申請(qǐng)實(shí)施例提供了一種數(shù)據(jù)存儲(chǔ)方法,包括如下步驟:接收用戶的數(shù)據(jù)寫入請(qǐng)求;所述請(qǐng)求中包括用戶的數(shù)據(jù)存儲(chǔ)需求以及寫入數(shù)據(jù)的大小;所述數(shù)據(jù)存儲(chǔ)需求包括數(shù)據(jù)可靠性參數(shù)和/或讀寫性能參數(shù);根據(jù)所述數(shù)據(jù)存儲(chǔ)需求和寫入數(shù)據(jù)的大小標(biāo)記所述數(shù)據(jù);根據(jù)所述數(shù)據(jù)的標(biāo)記確定數(shù)據(jù)保護(hù)方式;將所述數(shù)據(jù)按照所述數(shù)據(jù)保護(hù)方式存儲(chǔ)至數(shù)據(jù)節(jié)點(diǎn)。本申請(qǐng)實(shí)施例提供了一種數(shù)據(jù)存儲(chǔ)裝置,包括:接收模塊,用于接收用戶的數(shù)據(jù)寫入請(qǐng)求;所述請(qǐng)求中包括用戶的數(shù)據(jù)存儲(chǔ)需求以及寫入數(shù)據(jù)的大小;所述數(shù)據(jù)存儲(chǔ)需求包括數(shù)據(jù)可靠性參數(shù)和/或讀寫性能參數(shù);標(biāo)記模塊,用于根據(jù)所述數(shù)據(jù)存儲(chǔ)需求和寫入數(shù)據(jù)的大小標(biāo)記所述數(shù)據(jù);確定模塊,用于根據(jù)所述數(shù)據(jù)的標(biāo)記確定數(shù)據(jù)保護(hù)方式;存儲(chǔ)模塊,用于將所述數(shù)據(jù)按照所述數(shù)據(jù)保護(hù)方式存儲(chǔ)至數(shù)據(jù)節(jié)點(diǎn)。有益效果如下:由于本申請(qǐng)實(shí)施例所提供的數(shù)據(jù)存儲(chǔ)方法及裝置,在接收到用戶的數(shù)據(jù)寫入請(qǐng)求時(shí),客戶端可以根據(jù)業(yè)務(wù)需要增加數(shù)據(jù)標(biāo)簽,從而根據(jù)用戶對(duì)數(shù)據(jù)的存儲(chǔ)需求以及寫入數(shù)據(jù)的大小等數(shù)據(jù)標(biāo)簽,決定使用哪種保護(hù)方式,為用戶的不同存儲(chǔ)數(shù)據(jù)特點(diǎn)提供差異化的數(shù)據(jù)保護(hù)方式,在確保滿足數(shù)據(jù)可靠性和讀寫性能要求的前提下,這種自適應(yīng)數(shù)據(jù)存儲(chǔ)方案既可以減輕運(yùn)維的人力成本,又可以降低由人為失誤造成的數(shù)據(jù)風(fēng)險(xiǎn)。附圖說明下面將參照附圖描述本申請(qǐng)的具體實(shí)施例,其中:圖1示出了現(xiàn)有技術(shù)中數(shù)據(jù)寫入流程示意圖;圖2示出了本申請(qǐng)實(shí)施例中數(shù)據(jù)存儲(chǔ)方法實(shí)施的流程示意圖;圖3示出了本申請(qǐng)實(shí)施例中數(shù)據(jù)寫入流程示意圖;圖4示出了本申請(qǐng)實(shí)施例中數(shù)據(jù)存儲(chǔ)過程的示意圖;圖5示出了本申請(qǐng)實(shí)施例中數(shù)據(jù)存儲(chǔ)裝置的結(jié)構(gòu)示意圖。具體實(shí)施方式為了使本申請(qǐng)的技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖對(duì)本申請(qǐng)的示例性實(shí)施例進(jìn)行進(jìn)一步詳細(xì)的說明,顯然,所描述的實(shí)施例僅是本申請(qǐng)的一部分實(shí)施例,而不是所有實(shí)施例的窮舉。并且在不沖突的情況下,本說明中的實(shí)施例及實(shí)施例中的特征可以互相結(jié)合。專利技術(shù)人在專利技術(shù)過程中注意到:圖1中示出了現(xiàn)有技術(shù)中數(shù)據(jù)寫入流程示意圖,如圖所示,傳統(tǒng)的數(shù)據(jù)存儲(chǔ)保護(hù)策略中數(shù)據(jù)寫入流程可以如下所示:用戶可以通過應(yīng)用程序發(fā)送數(shù)據(jù)寫入請(qǐng)求;客戶端收到上層應(yīng)用的寫入請(qǐng)求后,可以將數(shù)據(jù)塊寫入集群系統(tǒng);接口模塊根據(jù)管理員預(yù)先設(shè)置的數(shù)據(jù)存儲(chǔ)保護(hù)策略(如雙副本、糾刪碼等策略),讀取元數(shù)據(jù)以及所要分配的磁盤布局,并計(jì)算出數(shù)據(jù)的存放方式;經(jīng)過數(shù)據(jù)一致性檢查和緩存同步之后,最終將數(shù)據(jù)寫入數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)中。針對(duì)現(xiàn)有技術(shù)的不足,本申請(qǐng)實(shí)施例提出了一種數(shù)據(jù)存儲(chǔ)方法及裝置,下面進(jìn)行說明。圖2示出了本申請(qǐng)實(shí)施例中數(shù)據(jù)存儲(chǔ)方法實(shí)施的流程示意圖,如圖所示,所述數(shù)據(jù)存儲(chǔ)方法可以包括如下步驟:步驟201、接收用戶的數(shù)據(jù)寫入請(qǐng)求;所述請(qǐng)求中包括用戶的數(shù)據(jù)存儲(chǔ)需求以及寫入數(shù)據(jù)的大小;所述數(shù)據(jù)存儲(chǔ)需求包括數(shù)據(jù)可靠性參數(shù)和/或讀寫性能參數(shù);步驟202、根據(jù)所述數(shù)據(jù)存儲(chǔ)需求和寫入數(shù)據(jù)的大小標(biāo)記所述數(shù)據(jù);步驟203、根據(jù)所述數(shù)據(jù)的標(biāo)記確定數(shù)據(jù)保護(hù)方式;步驟204、將所述數(shù)據(jù)按照所述數(shù)據(jù)保護(hù)方式存儲(chǔ)至數(shù)據(jù)節(jié)點(diǎn)。客戶可以通過應(yīng)用程序發(fā)出數(shù)據(jù)寫入請(qǐng)求,客戶端接收到上層應(yīng)用發(fā)送的數(shù)據(jù)寫入請(qǐng)求后,根據(jù)所述數(shù)據(jù)寫入請(qǐng)求中包括的數(shù)據(jù)存儲(chǔ)需求和寫入數(shù)據(jù)的大小標(biāo)記所述數(shù)據(jù),并將標(biāo)記后的數(shù)據(jù)寫入分布式文件系統(tǒng);在從元數(shù)據(jù)節(jié)點(diǎn)讀取元數(shù)據(jù)和分配磁盤布局之后,可以根據(jù)所述數(shù)據(jù)的標(biāo)記自適應(yīng)確定數(shù)據(jù)保護(hù)方式;最終,可以經(jīng)過數(shù)據(jù)一致性檢查、緩存同步等操作后,將所述數(shù)據(jù)按照所確定的數(shù)據(jù)保護(hù)方式進(jìn)行存儲(chǔ)。其中,數(shù)據(jù)存儲(chǔ)需求可以包括數(shù)據(jù)可靠性參數(shù)、讀寫性能參數(shù)等。數(shù)據(jù)可靠性參數(shù)可以包括允許故障節(jié)點(diǎn)數(shù)、允許故障磁盤數(shù)等,讀寫性能參數(shù)可以包括讀寫速度。本申請(qǐng)實(shí)施例中,客戶端可以對(duì)接收數(shù)據(jù)的特點(diǎn)進(jìn)行數(shù)據(jù)貼標(biāo),通過識(shí)別數(shù)據(jù)標(biāo)識(shí)自動(dòng)本文檔來自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
一種數(shù)據(jù)存儲(chǔ)方法,其特征在于,包括如下步驟:接收用戶的數(shù)據(jù)寫入請(qǐng)求;所述請(qǐng)求中包括用戶的數(shù)據(jù)存儲(chǔ)需求以及寫入數(shù)據(jù)的大小;所述數(shù)據(jù)存儲(chǔ)需求包括數(shù)據(jù)可靠性參數(shù)和/或讀寫性能參數(shù);根據(jù)所述數(shù)據(jù)存儲(chǔ)需求和寫入數(shù)據(jù)的大小標(biāo)記所述數(shù)據(jù);根據(jù)所述數(shù)據(jù)的標(biāo)記確定數(shù)據(jù)保護(hù)方式;將所述數(shù)據(jù)按照所述數(shù)據(jù)保護(hù)方式存儲(chǔ)至數(shù)據(jù)節(jié)點(diǎn)。
【技術(shù)特征摘要】
1.一種數(shù)據(jù)存儲(chǔ)方法,其特征在于,包括如下步驟:
接收用戶的數(shù)據(jù)寫入請(qǐng)求;所述請(qǐng)求中包括用戶的數(shù)據(jù)存儲(chǔ)需求以及寫入
數(shù)據(jù)的大小;所述數(shù)據(jù)存儲(chǔ)需求包括數(shù)據(jù)可靠性參數(shù)和/或讀寫性能參數(shù);
根據(jù)所述數(shù)據(jù)存儲(chǔ)需求和寫入數(shù)據(jù)的大小標(biāo)記所述數(shù)據(jù);
根據(jù)所述數(shù)據(jù)的標(biāo)記確定數(shù)據(jù)保護(hù)方式;
將所述數(shù)據(jù)按照所述數(shù)據(jù)保護(hù)方式存儲(chǔ)至數(shù)據(jù)節(jié)點(diǎn)。
2.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述數(shù)據(jù)的標(biāo)記確定
數(shù)據(jù)保護(hù)方式,具體為:
如果所述數(shù)據(jù)的標(biāo)記為要求系統(tǒng)抵御任意多塊盤故障,確定數(shù)據(jù)保護(hù)方式
為糾刪碼模式,其中糾刪碼原始數(shù)據(jù)塊為N個(gè)、冗余數(shù)據(jù)塊為M個(gè);
如果所述數(shù)據(jù)的標(biāo)記為要求任意故障1個(gè)數(shù)據(jù)節(jié)點(diǎn)且所述寫入數(shù)據(jù)的大小
不大于1MB,確定數(shù)據(jù)保護(hù)方式為雙副本模式。
3.如權(quán)利要求1所述的方法,其特征在于,在所述根據(jù)所述數(shù)據(jù)的標(biāo)記確
定數(shù)據(jù)保護(hù)方式之前,進(jìn)一步包括:讀取存儲(chǔ)系統(tǒng)的剩余空間;
所述根據(jù)所述數(shù)據(jù)的標(biāo)記確定數(shù)據(jù)保護(hù)方式,具體為:根據(jù)所述數(shù)據(jù)的標(biāo)
記以及所述存儲(chǔ)系統(tǒng)的剩余空間確定數(shù)據(jù)保護(hù)方式。
4.如權(quán)利要求3所述的方法,其特征在于,所述根據(jù)所述數(shù)據(jù)的標(biāo)記以及
所述存儲(chǔ)系統(tǒng)的剩余空間確定數(shù)據(jù)保護(hù)方式,具體為:
如果存儲(chǔ)占用率大于80%且所述存儲(chǔ)系統(tǒng)不能及時(shí)擴(kuò)容,確定所述數(shù)據(jù)保
護(hù)方式為糾刪碼模式。
5.如權(quán)利要求1所述的方法,其特征在于,進(jìn)一步包括:
檢測(cè)數(shù)據(jù)大小大于預(yù)設(shè)閾值的數(shù)據(jù)在預(yù)設(shè)時(shí)間內(nèi)的訪問頻次;
根據(jù)所述訪問頻次,修改所述數(shù)據(jù)保護(hù)方式。
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:羅廣駿,劉冠川,龔超,李國(guó)君,王燈殿,
申請(qǐng)(專利權(quán))人:曙光信息產(chǎn)業(yè)北京有限公司,
類型:發(fā)明
國(guó)別省市:北京;11
還沒有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。