System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術(shù)實(shí)現(xiàn)步驟摘要】
本申請(qǐng)實(shí)施例涉及計(jì)算機(jī)領(lǐng)域,具體而言,涉及一種存儲(chǔ)空間的管理方法及裝置、存儲(chǔ)介質(zhì)及電子設(shè)備。
技術(shù)介紹
1、在分布式存儲(chǔ)系統(tǒng)中,分布式存儲(chǔ)服務(wù)器的硬盤成本在分布式存儲(chǔ)系統(tǒng)成本中占有重要部分。硬盤出現(xiàn)壞塊(被標(biāo)記的異常存儲(chǔ)空間)是該存儲(chǔ)系統(tǒng)中較為常見的問題。
2、其中,壞塊的存在可能導(dǎo)致數(shù)據(jù)讀寫失敗,影響數(shù)據(jù)的完整性和可靠性。現(xiàn)有技術(shù)中,一旦檢測到壞塊,靜默校驗(yàn)機(jī)制會(huì)釋放整個(gè)已分配的空間,導(dǎo)致新的寫請(qǐng)求可能再次分配到壞塊區(qū)域,引發(fā)寫失敗。此外,管理人員缺乏有效的工具來評(píng)估硬盤損壞程度,因此,可能在發(fā)現(xiàn)硬盤出現(xiàn)滑塊時(shí),就會(huì)及時(shí)更換新的硬盤,但實(shí)際上有少量壞塊的硬盤仍然可以使用,不僅浪費(fèi)了空間資源,而且增加了分布式存儲(chǔ)的使用成本,從而造成了分布式存儲(chǔ)系統(tǒng)的存儲(chǔ)成本過高的問題。
3、針對(duì)相關(guān)技術(shù)中,在分布式存儲(chǔ)系統(tǒng)中由于頻繁更換硬盤造成的存儲(chǔ)成本過高的問題,目前尚未提出有效的解決方案。
技術(shù)實(shí)現(xiàn)思路
1、本申請(qǐng)實(shí)施例提供了一種存儲(chǔ)空間的管理方法及裝置、存儲(chǔ)介質(zhì)及電子設(shè)備,以至少解決分布式存儲(chǔ)系統(tǒng)中由于頻繁更換硬盤造成的存儲(chǔ)成本過高的問題。
2、根據(jù)本申請(qǐng)的一個(gè)實(shí)施例,提供了一種存儲(chǔ)空間的管理方法,包括:獲取待處理的對(duì)象數(shù)據(jù);響應(yīng)于客戶端發(fā)送的業(yè)務(wù)請(qǐng)求,從分布式存儲(chǔ)系統(tǒng)的存儲(chǔ)硬盤中確定出所述對(duì)象數(shù)據(jù)對(duì)應(yīng)的第一存儲(chǔ)空間;在檢測到所述第一存儲(chǔ)空間中包含異常存儲(chǔ)空間的情況下,對(duì)所述異常存儲(chǔ)空間進(jìn)行隔離,并記錄所述異常存儲(chǔ)空間的第一空間位置和第一時(shí)間信息;從所述存
3、在一個(gè)示例性的實(shí)施例中,上述響應(yīng)于客戶端發(fā)送的業(yè)務(wù)請(qǐng)求,從分布式存儲(chǔ)系統(tǒng)的存儲(chǔ)硬盤中確定出所述對(duì)象數(shù)據(jù)對(duì)應(yīng)的第一存儲(chǔ)空間,包括:在所述業(yè)務(wù)請(qǐng)求為將所述對(duì)象數(shù)據(jù)寫入所述存儲(chǔ)硬盤的情況下,通過空間分配器分配存儲(chǔ)所述對(duì)象數(shù)據(jù)時(shí)所需占用的存儲(chǔ)空間的第一地址信息,其中,所述空間分配器用于對(duì)所述存儲(chǔ)硬盤的存儲(chǔ)空間進(jìn)行統(tǒng)計(jì)和分配;基于所述第一地址信息,從所述存儲(chǔ)硬盤中確定出所述第一存儲(chǔ)空間。
4、在一個(gè)示例性的實(shí)施例中,在所述基于所述第一地址信息,從所述存儲(chǔ)硬盤中確定出所述第一存儲(chǔ)空間之后,上述方法還包括:將所述對(duì)象數(shù)據(jù)寫入到所述第一存儲(chǔ)空間,得到第一處理結(jié)果;在所述第一處理結(jié)果表示數(shù)據(jù)寫入失敗的情況下,對(duì)所述第一存儲(chǔ)空間進(jìn)行檢測,并對(duì)檢測到的異常存儲(chǔ)空間進(jìn)行標(biāo)記和隔離。
5、在一個(gè)示例性的實(shí)施例中,上述從所述存儲(chǔ)硬盤中確定出執(zhí)行所述業(yè)務(wù)請(qǐng)求所需要的第二存儲(chǔ)空間,并通過所述第二存儲(chǔ)空間完成所述客戶端與所述分布式存儲(chǔ)系統(tǒng)之間的數(shù)據(jù)交互,包括:在所述業(yè)務(wù)請(qǐng)求為將所述對(duì)象數(shù)據(jù)寫入所述存儲(chǔ)硬盤的情況下,通過空間分配器為所述對(duì)象數(shù)據(jù)重新分配所述第二存儲(chǔ)空間,其中,所述第二存儲(chǔ)空間不包含所述異常存儲(chǔ)空間;將所述對(duì)象數(shù)據(jù)寫入到所述第二存儲(chǔ)空間中。
6、在一個(gè)示例性的實(shí)施例中,在所述業(yè)務(wù)請(qǐng)求為從所述存儲(chǔ)硬盤中讀取所述對(duì)象數(shù)據(jù)的情況下,上述方法還包括:響應(yīng)于所述客戶端發(fā)送的所述業(yè)務(wù)請(qǐng)求,從所述第一存儲(chǔ)空間中讀取所述對(duì)象數(shù)據(jù),并返回讀取結(jié)果;在所述讀取結(jié)果表示讀取失敗的情況下,對(duì)所述第一存儲(chǔ)空間進(jìn)行檢測,確定所述第一存儲(chǔ)空間包含所述異常存儲(chǔ)空間,并記錄所述第一空間位置和所述第一時(shí)間信息;對(duì)所述異常存儲(chǔ)空間進(jìn)行隔離,并釋放所述第一存儲(chǔ)空間中除所述異常存儲(chǔ)空間之外的剩余存儲(chǔ)空間。
7、在一個(gè)示例性的實(shí)施例中,在所述對(duì)所述異常存儲(chǔ)空間進(jìn)行隔離,并釋放所述第一存儲(chǔ)空間中除所述異常存儲(chǔ)空間之外的剩余存儲(chǔ)空間之后,上述方法還包括:從目標(biāo)存儲(chǔ)節(jié)點(diǎn)上分布的副本中讀取所述對(duì)象數(shù)據(jù)的備份數(shù)據(jù),其中,所述副本中包含的所述備份數(shù)據(jù)與所述對(duì)象數(shù)據(jù)相同;通過空間分配器為所述備份數(shù)據(jù)分配所述第二存儲(chǔ)空間,并將所述備份數(shù)據(jù)寫入所述第二存儲(chǔ)空間;響應(yīng)于所述客戶端發(fā)送的數(shù)據(jù)讀取請(qǐng)求,將所述備份數(shù)據(jù)返回至所述客戶端。
8、在一個(gè)示例性的實(shí)施例中,上述方法還包括:基于所述第一空間位置信息,確定歷史周期內(nèi)記錄過的一組異常存儲(chǔ)空間的異常存儲(chǔ)空間之和;在所述異常存儲(chǔ)空間之和與所述存儲(chǔ)硬盤的總存儲(chǔ)空間之間的占比大于或等于預(yù)設(shè)閾值的情況下,確定將所述存儲(chǔ)硬盤更換為目標(biāo)存儲(chǔ)硬盤;或者基于所述第一時(shí)間信息,確定所述歷史周期內(nèi)檢測出所述一組異常存儲(chǔ)空間的一組時(shí)間信息;基于所述一組時(shí)間信息,確定所述異常存儲(chǔ)空間的出現(xiàn)頻次;在所述出現(xiàn)頻次滿足預(yù)設(shè)增長規(guī)律的情況下,確定將所述存儲(chǔ)硬盤更換為所述目標(biāo)存儲(chǔ)硬盤,其中,所述預(yù)設(shè)增長規(guī)律包括在相鄰時(shí)間間隔內(nèi),時(shí)間點(diǎn)靠后的時(shí)間間隔內(nèi)出現(xiàn)所述異常存儲(chǔ)空間的次數(shù)大于時(shí)間點(diǎn)靠前的所述時(shí)間間隔內(nèi)出現(xiàn)異常存儲(chǔ)空間的次數(shù);或者基于所述第一空間位置信息,確定歷史周期內(nèi)記錄過的一組異常存儲(chǔ)空間的異常存儲(chǔ)空間之和;確定所述異常存儲(chǔ)空間之和與所述存儲(chǔ)硬盤的總存儲(chǔ)空間之間的占比;基于所述一組時(shí)間信息,確定所述異常存儲(chǔ)空間的出現(xiàn)頻次;在所述占比大于或等于所述預(yù)設(shè)閾值、且所述異常存儲(chǔ)空間的出現(xiàn)頻次滿足所述預(yù)設(shè)增長規(guī)律的情況下,確定將所述存儲(chǔ)硬盤更換為所述目標(biāo)存儲(chǔ)硬盤。
9、根據(jù)本申請(qǐng)實(shí)施例的另一個(gè)實(shí)施例,還提供一種存儲(chǔ)空間的管理裝置,包括:獲取單元,用于獲取待處理的對(duì)象數(shù)據(jù);第一處理單元,用于響應(yīng)于客戶端發(fā)送的業(yè)務(wù)請(qǐng)求,從分布式存儲(chǔ)系統(tǒng)的存儲(chǔ)硬盤中確定出所述對(duì)象數(shù)據(jù)對(duì)應(yīng)的第一存儲(chǔ)空間;第二處理單元,用于在檢測到所述第一存儲(chǔ)空間中包含異常存儲(chǔ)空間的情況下,對(duì)所述異常存儲(chǔ)空間進(jìn)行隔離,并記錄所述異常存儲(chǔ)空間的第一空間位置和第一時(shí)間信息;第三處理單元,用于從所述存儲(chǔ)硬盤中確定出執(zhí)行所述業(yè)務(wù)請(qǐng)求所需要的第二存儲(chǔ)空間,并通過所述第二存儲(chǔ)空間完成所述客戶端與所述分布式存儲(chǔ)系統(tǒng)之間的數(shù)據(jù)交互。
10、根據(jù)本申請(qǐng)的又一個(gè)實(shí)施例,還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中存儲(chǔ)有計(jì)算機(jī)程序,其中,所述計(jì)算機(jī)程序被設(shè)置為運(yùn)行時(shí)執(zhí)行上述任一項(xiàng)方法實(shí)施例中的步驟。
11、根據(jù)本申請(qǐng)的又一個(gè)實(shí)施例,還提供了一種電子設(shè)備,包括存儲(chǔ)器和處理器,所述存儲(chǔ)器中存儲(chǔ)有計(jì)算機(jī)程序,所述處理器被設(shè)置為運(yùn)行所述計(jì)算機(jī)程序以執(zhí)行上述任一項(xiàng)方法實(shí)施例中的步驟。
12、根據(jù)本申請(qǐng)的又一個(gè)實(shí)施例,還提供了一種計(jì)算機(jī)程序產(chǎn)品,上述計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述任一項(xiàng)方法實(shí)施例中的步驟。
13、通過本申請(qǐng)?zhí)峁┑纳鲜鰧?shí)施例,在對(duì)分布式存儲(chǔ)服務(wù)器的硬盤執(zhí)行客戶端發(fā)送的業(yè)務(wù)請(qǐng)求時(shí),例如,對(duì)硬盤執(zhí)行讀寫操作時(shí),如果讀寫失敗,則對(duì)硬盤進(jìn)行檢測,并將檢測到的異常存儲(chǔ)空間進(jìn)行隔離,然后利用重新分配的第二存儲(chǔ)空間完成業(yè)務(wù)請(qǐng)求對(duì)應(yīng)的處理流程,避免了對(duì)象數(shù)據(jù)再次寫入到被標(biāo)記的異常存儲(chǔ)空間中,同時(shí)有效提高了存儲(chǔ)空間的利用率,降低了更換硬盤的概率,解決了分布式存儲(chǔ)系統(tǒng)中由于頻繁更換硬盤造成的存儲(chǔ)成本過高的問題,實(shí)現(xiàn)了降低分布式存儲(chǔ)系統(tǒng)的存儲(chǔ)成本的技術(shù)效果。
本文檔來自技高網(wǎng)...【技術(shù)保護(hù)點(diǎn)】
1.一種存儲(chǔ)空間的管理方法,其特征在于,
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,在所述基于所述第一地址信息,從所述存儲(chǔ)硬盤中確定出所述第一存儲(chǔ)空間之后,所述方法還包括:
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,
7.根據(jù)權(quán)利要求1至6中任一項(xiàng)所述的方法,其特征在于,
8.一種存儲(chǔ)空間的管理裝置,其特征在于,包括:
9.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,
10.一種電子設(shè)備,包括存儲(chǔ)器、處理器以及存儲(chǔ)在所述存儲(chǔ)器上并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,其特征在于,
【技術(shù)特征摘要】
1.一種存儲(chǔ)空間的管理方法,其特征在于,
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,在所述基于所述第一地址信息,從所述存儲(chǔ)硬盤中確定出所述第一存儲(chǔ)空間之后,所述方法還包括:
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:張新亮,李文鵬,
申請(qǐng)(專利權(quán))人:濟(jì)南浪潮數(shù)據(jù)技術(shù)有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。