本申請(qǐng)涉及計(jì)算機(jī),尤其涉及一種硬盤垃圾回收方法、裝置、電子設(shè)備和存儲(chǔ)介質(zhì)。
背景技術(shù):
1、為了更好發(fā)揮硬盤的寫入性能,業(yè)界常用的做法是將寫入硬盤池對(duì)象的數(shù)據(jù)重定向(row)到一起,并聚合,而后再順序?qū)懭胗脖P池分配的對(duì)象上。在分布式存儲(chǔ)領(lǐng)域,通過(guò)采用追加寫的方式,可以較大提升數(shù)據(jù)的寫入性能。row也沿用了此技術(shù),但是追加寫同一塊數(shù)據(jù)時(shí)就會(huì)產(chǎn)生相應(yīng)的垃圾數(shù)據(jù),因此業(yè)界通常采用垃圾回收算法將垃圾空間回收掉。由于row一般采用大對(duì)象(如一個(gè)對(duì)象128m)的技術(shù),通用的做法就是掃描這些對(duì)象,并對(duì)滿足垃圾量達(dá)到一定閾值的對(duì)象做垃圾回收,以此達(dá)到釋放空間的目的。
2、但此種方案一般做垃圾回收的參數(shù)是固定的,不能感知到前臺(tái)寫入的變化,導(dǎo)致空間釋放不理想,有效率較低。
技術(shù)實(shí)現(xiàn)思路
1、本公開的實(shí)施例提供了一種硬盤垃圾回收方法、裝置、電子設(shè)備和存儲(chǔ)介質(zhì)。
2、第一方面,本公開的實(shí)施例提供了一種硬盤垃圾回收方法,包括:獲取硬盤各個(gè)存儲(chǔ)單位中各對(duì)象在當(dāng)前周期及上一周期的數(shù)據(jù)寫入量和垃圾釋放量;根據(jù)各對(duì)象的冗余數(shù)量、當(dāng)前周期及上一周期的數(shù)據(jù)寫入量和垃圾釋放量,確定當(dāng)前周期的寫入帶寬、當(dāng)前周期的釋放帶寬、上一周期的寫入帶寬以及上一周期的釋放帶寬;根據(jù)當(dāng)前周期的寫入帶寬、當(dāng)前周期的釋放帶寬、上一周期的寫入帶寬以及上一周期的釋放帶寬,對(duì)垃圾回收參數(shù)進(jìn)行動(dòng)態(tài)調(diào)整;根據(jù)垃圾回收參數(shù),對(duì)硬盤的各個(gè)存儲(chǔ)單位進(jìn)行垃圾回收。
3、第二方面,本公開的實(shí)施例提供了一種硬盤垃圾回收裝置,包括:獲取單元,被配置成獲取硬盤各個(gè)存儲(chǔ)單位中各對(duì)象在當(dāng)前周期及上一周期的數(shù)據(jù)寫入量和垃圾釋放量;確定單元,被配置成根據(jù)各對(duì)象的冗余數(shù)量、當(dāng)前周期及上一周期的數(shù)據(jù)寫入量和垃圾釋放量,確定當(dāng)前周期的寫入帶寬、當(dāng)前周期的釋放帶寬、上一周期的寫入帶寬以及上一周期的釋放帶寬;調(diào)整單元,被配置成根據(jù)當(dāng)前周期的寫入帶寬、當(dāng)前周期的釋放帶寬、上一周期的寫入帶寬以及上一周期的釋放帶寬,對(duì)垃圾回收參數(shù)進(jìn)行動(dòng)態(tài)調(diào)整;回收單元,被配置成根據(jù)垃圾回收參數(shù),對(duì)硬盤的各個(gè)存儲(chǔ)單位進(jìn)行垃圾回收。
4、第三方面,本公開的實(shí)施例提供了一種電子設(shè)備,包括存儲(chǔ)器、處理器、總線及存儲(chǔ)在存儲(chǔ)器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)如第一方面所描述的硬盤垃圾回收方法。
5、第四方面,本公開的實(shí)施例提供了一種非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如第一方面所描述的硬盤垃圾回收方法。
6、應(yīng)用本公開的技術(shù)方案,可以根據(jù)硬盤各個(gè)存儲(chǔ)單位中各對(duì)象在當(dāng)前周期及上一周期的數(shù)據(jù)寫入量和垃圾釋放量,確定出對(duì)應(yīng)的寫入帶寬和釋放帶寬,并根據(jù)對(duì)應(yīng)的寫入帶寬和釋放帶寬對(duì)垃圾回收參數(shù)進(jìn)行動(dòng)態(tài)調(diào)整,進(jìn)一步根據(jù)垃圾回收參數(shù)對(duì)硬盤進(jìn)行垃圾回收,從而能夠應(yīng)對(duì)前臺(tái)讀寫帶寬的波動(dòng)和變化,提高了系統(tǒng)的魯棒性。
7、應(yīng)當(dāng)理解,本部分所描述的內(nèi)容并非旨在標(biāo)識(shí)本公開的實(shí)施例的關(guān)鍵或重要特征,也不用于限制本公開的范圍。本公開的其它特征將通過(guò)以下的說(shuō)明書而變得容易理解。
1.一種硬盤垃圾回收方法,包括:
2.根據(jù)權(quán)利要求1所述的方法,其中,根據(jù)各對(duì)象的冗余數(shù)量、當(dāng)前周期及上一周期的數(shù)據(jù)寫入量和垃圾釋放量,確定當(dāng)前周期的寫入帶寬、當(dāng)前周期的釋放帶寬、上一周期的寫入帶寬以及上一周期的釋放帶寬,包括:
3.根據(jù)權(quán)利要求1所述的方法,其中,所述根據(jù)所述當(dāng)前周期的寫入帶寬、所述當(dāng)前周期的釋放帶寬、所述上一周期的寫入帶寬以及所述上一周期的釋放帶寬,對(duì)垃圾回收參數(shù)進(jìn)行動(dòng)態(tài)調(diào)整,包括:
4.根據(jù)權(quán)利要求3所述的方法,其中,所述根據(jù)所述第一差值以及所述第二差值,對(duì)所述垃圾回收參數(shù)進(jìn)行動(dòng)態(tài)調(diào)整,包括:
5.根據(jù)權(quán)利要求4所述的方法,其中,所述根據(jù)所述第一差值以及所述第二差值,對(duì)所述垃圾回收參數(shù)進(jìn)行動(dòng)態(tài)調(diào)整,包括:
6.根據(jù)權(quán)利要求1所述的方法,其中,所述根據(jù)所述垃圾回收參數(shù),對(duì)所述硬盤的各個(gè)存儲(chǔ)單位進(jìn)行垃圾回收,包括:
7.根據(jù)權(quán)利要求1所述的方法,其中,所述方法還包括:
8.一種硬盤垃圾回收裝置,包括:
9.一種電子設(shè)備,包括存儲(chǔ)器、處理器、總線及存儲(chǔ)在存儲(chǔ)器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,其中,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)如權(quán)利要求1至7任一項(xiàng)所述的硬盤垃圾回收方法。
10.一種非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1至7任一項(xiàng)所述的硬盤垃圾回收方法。