本發(fā)明涉及分布式文件存儲(chǔ)回收站領(lǐng)域,具體為一種靈活恢復(fù)清理分布式回收站方法。
背景技術(shù):
1、隨著信息技術(shù)的飛速發(fā)展,分布式文件存儲(chǔ)系統(tǒng)因其高可用性、可擴(kuò)展性和容錯(cuò)性等特點(diǎn),在云計(jì)算、大數(shù)據(jù)處理、企業(yè)文件共享等領(lǐng)域得到了廣泛應(yīng)用,然而,在享受分布式存儲(chǔ)帶來(lái)的便利的同時(shí),文件誤刪、意外損壞等問(wèn)題也隨之而來(lái),這些問(wèn)題給企業(yè)和個(gè)人用戶帶來(lái)了巨大的損失。
2、在傳統(tǒng)的文件存儲(chǔ)系統(tǒng)中,回收站機(jī)制是防止文件誤刪的主要手段,當(dāng)用戶刪除文件時(shí),系統(tǒng)會(huì)將文件移動(dòng)到一個(gè)特定的回收站區(qū)域,而不是立即從物理存儲(chǔ)中刪除,用戶可以在一定時(shí)間內(nèi)從回收站中恢復(fù)這些文件。然而,這種傳統(tǒng)的回收站機(jī)制在分布式文件存儲(chǔ)系統(tǒng)中面臨諸多挑戰(zhàn)。
3、首先,分布式文件存儲(chǔ)系統(tǒng)通常涉及多個(gè)節(jié)點(diǎn)和復(fù)雜的網(wǎng)絡(luò)環(huán)境,文件可能隨機(jī)分布在不同的節(jié)點(diǎn)上,傳統(tǒng)的本地回收站機(jī)制無(wú)法跨節(jié)點(diǎn)統(tǒng)一管理刪除的文件,導(dǎo)致在分布式環(huán)境下難以有效保障數(shù)據(jù)的安全性和可恢復(fù)性,其次,分布式系統(tǒng)中的文件數(shù)量龐大,用戶數(shù)量眾多,傳統(tǒng)的回收站機(jī)制在處理大量刪除和恢復(fù)請(qǐng)求時(shí)往往效率低下,無(wú)法滿足大規(guī)模分布式存儲(chǔ)系統(tǒng)的需求,此外,跨節(jié)點(diǎn)移動(dòng)文件在分布式系統(tǒng)中是非常消耗資源的操作,會(huì)嚴(yán)重影響系統(tǒng)的整體性能,再次,傳統(tǒng)的回收站機(jī)制通常缺乏有效的索引和查詢機(jī)制,導(dǎo)致在回收站中查找特定文件時(shí)效率低下,無(wú)法滿足企業(yè)級(jí)文件管理的需求,同時(shí),傳統(tǒng)的回收站機(jī)制也無(wú)法支持不同用戶目錄設(shè)置獨(dú)立的回收站空間,容易造成資源混亂和管理困難。
技術(shù)實(shí)現(xiàn)思路
1、基于此,本發(fā)明的目的是提供一種靈活恢復(fù)清理分布式回收站方法,以解決傳統(tǒng)的本地回收站機(jī)制無(wú)法跨節(jié)點(diǎn)統(tǒng)一管理刪除的文件,在處理大量刪除和恢復(fù)請(qǐng)求時(shí)往往效率低下,缺乏有效的索引和查詢機(jī)制,導(dǎo)致在回收站中查找特定文件時(shí)效率低下,也無(wú)法支持不同用戶目錄設(shè)置獨(dú)立的回收站空間,容易造成資源混亂和管理困難的技術(shù)問(wèn)題。
2、鑒于上述問(wèn)題,本申請(qǐng)?zhí)峁┝艘环N靈活恢復(fù)清理分布式回收站方法。
3、本申請(qǐng)的第一個(gè)方面,提供了一種靈活恢復(fù)清理分布式回收站方法,在分布式文件存儲(chǔ)系統(tǒng)中,采用鍵值(key-value,kv)存儲(chǔ)方式,具體通過(guò)rocksdb數(shù)據(jù)庫(kù),實(shí)現(xiàn)文件刪除后的靈活恢復(fù)與清理,該方法包括:文件刪除時(shí),將文件的元數(shù)據(jù)信息(inode)和文件名信息(dentry)以鍵值對(duì)的形式存儲(chǔ)至當(dāng)前元數(shù)據(jù)節(jié)點(diǎn)的rocksdb數(shù)據(jù)庫(kù)中,并根據(jù)一定規(guī)則建立索引,以支持后續(xù)的文件恢復(fù)和清理操作;恢復(fù)文件時(shí),根據(jù)用戶請(qǐng)求,從rocksdb數(shù)據(jù)庫(kù)中檢索對(duì)應(yīng)的元數(shù)據(jù)信息,將其還原至指定位置,并在完成后從rocksdb中刪除相應(yīng)的鍵值對(duì);徹底刪除文件時(shí),將文件元數(shù)據(jù)加入后臺(tái)垃圾回收(garbage?collection,gc)任務(wù)隊(duì)列,由gc線程異步清理文件數(shù)據(jù)及rocksdb中的回收站信息。
4、還包括以下步驟:在rocksdb數(shù)據(jù)庫(kù)中設(shè)置兩個(gè)表,分別用于支持基于文件刪除時(shí)間和文件路徑的快速查詢與過(guò)濾,以提高恢復(fù)和清理操作的效率;為每個(gè)用戶目錄設(shè)置獨(dú)立的回收站空間,確?;厥照举Y源之間的隔離,避免資源混亂。
5、還包括文件刪除時(shí)的占用判斷步驟:在文件被刪除時(shí),首先檢查該文件是否被占用;若文件被占用,則標(biāo)記為占用中,并更新rocksdb數(shù)據(jù)庫(kù)中的相應(yīng)條目;待文件解除占用后,再次更新rocksdb數(shù)據(jù)庫(kù)中的條目狀態(tài)為未占用,以供后續(xù)恢復(fù)或清理。
6、還包括文件恢復(fù)時(shí)的目錄判斷步驟:在恢復(fù)文件前,檢查目標(biāo)目錄是否存在;若目標(biāo)目錄不存在,則在文件所在節(jié)點(diǎn)上創(chuàng)建相應(yīng)目錄,并獲取目標(biāo)路徑的目錄信息;利用目標(biāo)路徑的目錄信息和文件的inode信息,在目標(biāo)位置重建文件的dentry和新的inode數(shù)據(jù)。
7、徹底刪除文件步驟中,若文件在刪除時(shí)仍被占用,則將該文件信息放入預(yù)刪除隊(duì)列,待文件占用解除后,再將文件信息放入gc任務(wù)隊(duì)列進(jìn)行清理。
8、還包括對(duì)rocksdb數(shù)據(jù)庫(kù)中存儲(chǔ)的元數(shù)據(jù)進(jìn)行定期排序和清理,以確?;厥照究臻g的有效利用和系統(tǒng)的穩(wěn)定運(yùn)行。
9、本申請(qǐng)的第二個(gè)方面,提供了一種分布式文件存儲(chǔ)系統(tǒng),該系統(tǒng)包括:存儲(chǔ)單元,用于存儲(chǔ)rocksdb數(shù)據(jù)庫(kù)及其中文件的元數(shù)據(jù)信息;處理單元,用于執(zhí)行以下操作:在文件刪除時(shí),將文件元數(shù)據(jù)信息存入rocksdb數(shù)據(jù)庫(kù),并建立索引;接收文件恢復(fù)請(qǐng)求,從rocksdb數(shù)據(jù)庫(kù)中檢索并恢復(fù)文件;接收文件徹底刪除請(qǐng)求,將文件元數(shù)據(jù)加入gc任務(wù)隊(duì)列,由gc線程異步清理;索引管理單元,用于維護(hù)rocksdb數(shù)據(jù)庫(kù)中的索引,支持快速查詢與過(guò)濾;回收站空間管理單元,用于為每個(gè)用戶目錄分配獨(dú)立的回收站空間,并確保資源隔離;gc任務(wù)管理單元,用于管理gc任務(wù)隊(duì)列,執(zhí)行文件的異步刪除操作,用戶接口,用于接收用戶的文件恢復(fù)和刪除請(qǐng)求,并顯示操作結(jié)果,。
10、本申請(qǐng)的第三個(gè)方面,提供了一種電子設(shè)備,包括存儲(chǔ)器、處理器以及存儲(chǔ)在存儲(chǔ)器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)靈活恢復(fù)清理分布式回收站方法。
11、本申請(qǐng)的第四個(gè)方面,提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)靈活恢復(fù)清理分布式回收站方法的步驟。
12、綜上所述,本發(fā)明主要具有以下有益效果:
13、本發(fā)明針對(duì)分布式文件存儲(chǔ)系統(tǒng)的特性,本方法能夠跨節(jié)點(diǎn)統(tǒng)一管理刪除文件,確保數(shù)據(jù)在復(fù)雜環(huán)境下的安全性和可恢復(fù)性,用戶可以在一定時(shí)間內(nèi)從回收站中恢復(fù)誤刪文件,減少數(shù)據(jù)丟失風(fēng)險(xiǎn),通過(guò)將文件的元數(shù)據(jù)信息(inode)和文件名信息(dentry)以鍵值對(duì)形式存儲(chǔ)在高性能的rocksdb數(shù)據(jù)庫(kù)中,并建立索引,避免了跨節(jié)點(diǎn)移動(dòng)文件的開(kāi)銷,極大提升了回收站處理的速度和效率,在分布式環(huán)境下,能夠有效應(yīng)對(duì)海量數(shù)據(jù)的刪除與恢復(fù)需求,在rocksdb數(shù)據(jù)庫(kù)中設(shè)置支持基于文件刪除時(shí)間和文件路徑的快速查詢與過(guò)濾功能,使得查找特定文件變得更加高效,這不僅節(jié)省了管理員的時(shí)間和精力,也提高了企業(yè)級(jí)文件管理的便捷性,為每個(gè)用戶目錄設(shè)置獨(dú)立的回收站空間,實(shí)現(xiàn)了回收站資源之間的嚴(yán)格隔離,避免了資源混亂和管理困難,在多用戶協(xié)作平臺(tái)上,每個(gè)用戶都能擁有獨(dú)立、有序的回收站空間,增強(qiáng)了用戶體驗(yàn)和系統(tǒng)靈活性,通過(guò)實(shí)現(xiàn)后臺(tái)gc任務(wù)隊(duì)列,將回收站相關(guān)的任務(wù)安排在后臺(tái)執(zhí)行,避免了回收站操作對(duì)正常i/o請(qǐng)求的干擾,保障了系統(tǒng)的穩(wěn)定運(yùn)行和高效響應(yīng),在文件刪除和恢復(fù)過(guò)程中加入文件占用判斷步驟,若文件被占用則暫不執(zhí)行刪除或恢復(fù)操作,避免了數(shù)據(jù)沖突和損壞,同時(shí),預(yù)刪除隊(duì)列的引入也為徹底刪除文件提供了靈活的處理方式,定期對(duì)rocksdb數(shù)據(jù)庫(kù)中存儲(chǔ)的元數(shù)據(jù)進(jìn)行排序和清理,確保了回收站空間的有效利用和系統(tǒng)的穩(wěn)定運(yùn)行。
1.一種靈活恢復(fù)清理分布式回收站方法,適用于分布式文件存儲(chǔ)系統(tǒng),其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的一種靈活恢復(fù)清理分布式回收站方法,其特征在于:還包括以下步驟:
3.根據(jù)權(quán)利要求1所述的一種靈活恢復(fù)清理分布式回收站方法,其特征在于:還包括文件刪除時(shí)的占用判斷步驟:
4.根據(jù)權(quán)利要求1所述的一種靈活恢復(fù)清理分布式回收站方法,其特征在于:還包括文件恢復(fù)時(shí)的目錄判斷步驟:
5.根據(jù)權(quán)利要求1所述的一種靈活恢復(fù)清理分布式回收站方法,其特征在于:所述徹底刪除文件步驟中,若文件在刪除時(shí)仍被占用,則將該文件信息放入預(yù)刪除隊(duì)列,待文件占用解除后,再將文件信息放入gc任務(wù)隊(duì)列進(jìn)行清理。
6.根據(jù)權(quán)利要求1所述的一種靈活恢復(fù)清理分布式回收站方法,其特征在于:還包括對(duì)rocksdb數(shù)據(jù)庫(kù)中存儲(chǔ)的元數(shù)據(jù)進(jìn)行定期排序和清理,以確?;厥照究臻g的有效利用和系統(tǒng)的穩(wěn)定運(yùn)行。
7.一種實(shí)現(xiàn)權(quán)利要求1-6中任一項(xiàng)所述方法的分布式文件存儲(chǔ)系統(tǒng),其特征在于,該系統(tǒng)包括:
8.一種電子設(shè)備,包括存儲(chǔ)器、處理器以及存儲(chǔ)在存儲(chǔ)器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,其特征在于,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)權(quán)利要求1至6中任一項(xiàng)所述的靈活恢復(fù)清理分布式回收站方法。
9.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,其上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1-6中任一項(xiàng)所述的靈活恢復(fù)清理分布式回收站方法的步驟。