欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

分布式文件系統(tǒng)用戶配額數(shù)據(jù)保存方法、系統(tǒng)及服務(wù)器與流程

文檔序號(hào):12177272閱讀:300來源:國知局
分布式文件系統(tǒng)用戶配額數(shù)據(jù)保存方法、系統(tǒng)及服務(wù)器與流程

本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,特別涉及一種分布式文件系統(tǒng)用戶配額數(shù)據(jù)保存方法、系統(tǒng)及服務(wù)器。



背景技術(shù):

用戶配額可以幫助管理員實(shí)現(xiàn)管理用戶使用空間大小的目的,當(dāng)達(dá)到配額限度或接近配額限度時(shí)可以及時(shí)郵件、短信等方式進(jìn)行提醒,實(shí)現(xiàn)對(duì)用戶可使用空間的合理控制,提高數(shù)據(jù)訪問的效率,也更易于管理和維護(hù)數(shù)據(jù)。

用戶配額功能為了不過多影響性能,配額變化數(shù)據(jù)不會(huì)實(shí)時(shí)落盤,數(shù)據(jù)落盤是無序的,所以效率很差;分布式文件系統(tǒng)在使用的過程中,因?yàn)閿U(kuò)容、更換硬盤或其他操作可能會(huì)涉及重啟服務(wù)、停止服務(wù)之后啟動(dòng)操作。因?yàn)橛脩襞漕~變化數(shù)據(jù)不是實(shí)時(shí)落盤,在重啟、停止服務(wù)時(shí),用戶配額部分變化數(shù)據(jù)可能還沒有落盤,那分布式文件系統(tǒng)重新啟動(dòng)后如何保證用戶配額數(shù)據(jù)的安全性即恢復(fù)到重啟、啟動(dòng)之前的數(shù)據(jù),這就需要實(shí)現(xiàn)一種保證數(shù)據(jù)安全性的方法。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的目的是提供一種分布式文件系統(tǒng)用戶配額數(shù)據(jù)保存方法、系統(tǒng)及服務(wù)器,能夠保證用戶配額數(shù)據(jù)安全性,可以滿足用戶對(duì)用戶配額數(shù)據(jù)安全性要求較高的應(yīng)用場景。

為解決上述技術(shù)問題,本發(fā)明提供一種分布式文件系統(tǒng)用戶配額數(shù)據(jù)保存方法,包括:

當(dāng)檢測到用戶配額數(shù)據(jù)變化時(shí),記錄一條Journal事件保存用戶配額數(shù)據(jù)變化的增量數(shù)據(jù);

當(dāng)系統(tǒng)啟動(dòng)或重啟時(shí),讀取所述Journal事件,并利用replay方法恢復(fù)用戶配額數(shù)據(jù);其中,所述replay方法包括利用所述增量數(shù)據(jù)恢復(fù)用戶配額數(shù)據(jù)的程序。

其中,當(dāng)檢測到用戶配額數(shù)據(jù)變化時(shí),記錄一條Journal事件保存用戶配額數(shù)據(jù)變化的增量數(shù)據(jù),包括:

接受客戶端上報(bào)的用戶配額數(shù)據(jù)變化數(shù)據(jù),記錄一條Journal事件,當(dāng)Journal事件寫入磁盤后,更新緩存中用戶配額數(shù)據(jù)變化的增量數(shù)據(jù)。

其中,更新緩存中用戶配額數(shù)據(jù)變化的增量數(shù)據(jù)之后,還包括:

返回客戶端處理成功消息。

其中,讀取Journal事件之前,還包括:

判斷磁盤中記錄落盤的用戶配額數(shù)據(jù)的時(shí)間是否早于記錄落盤的最新Journal事件的時(shí)間;

若是,則讀取最新Journal事件,并利用replay方法恢復(fù)用戶配額數(shù)據(jù);

若否,則直接讀取磁盤中的用戶配額數(shù)據(jù)。

本發(fā)明還提供一種服務(wù)器,包括:

Journal事件記錄模塊,用于當(dāng)檢測到用戶配額數(shù)據(jù)變化時(shí),記錄一條Journal事件保存用戶配額數(shù)據(jù)變化的增量數(shù)據(jù);

恢復(fù)模塊,用于當(dāng)系統(tǒng)啟動(dòng)或重啟時(shí),讀取所述Journal事件,并利用replay方法恢復(fù)用戶配額數(shù)據(jù);其中,所述replay方法包括利用所述增量數(shù)據(jù)恢復(fù)用戶配額數(shù)據(jù)的程序。

其中,所述Journal事件記錄模塊具體為接受客戶端上報(bào)的用戶配額數(shù)據(jù)變化數(shù)據(jù),記錄一條Journal事件,當(dāng)Journal事件寫入磁盤后,更新緩存中用戶配額數(shù)據(jù)變化的增量數(shù)據(jù)的模塊。

其中,該服務(wù)器還包括:

反饋模塊,用于返回客戶端處理成功消息。

其中,該服務(wù)器還包括:

判斷模塊,用于判斷磁盤中記錄落盤的用戶配額數(shù)據(jù)的時(shí)間是否早于記錄落盤的最新Journal事件的時(shí)間;

若是,則執(zhí)行所述恢復(fù)模塊;

讀取模塊,用于若磁盤中記錄落盤的用戶配額數(shù)據(jù)的時(shí)間是不早于記錄落盤的最新Journal事件的時(shí)間,則直接讀取磁盤中的用戶配額數(shù)據(jù)。

本發(fā)明還提供一種分布式文件系統(tǒng)用戶配額數(shù)據(jù)保存系統(tǒng),包括:根據(jù)上述任一項(xiàng)所述的服務(wù)器,客戶端及磁盤;其中,

所述客戶端,用于設(shè)置用戶配額數(shù)據(jù),并向所述服務(wù)器發(fā)送;

所述磁盤,用于記錄Journal事件及用戶配額數(shù)據(jù)。

本發(fā)明所提供的一種分布式文件系統(tǒng)用戶配額數(shù)據(jù)保存方法,包括:當(dāng)檢測到用戶配額數(shù)據(jù)變化時(shí),記錄一條Journal事件保存用戶配額數(shù)據(jù)變化的增量數(shù)據(jù);當(dāng)系統(tǒng)啟動(dòng)或重啟時(shí),讀取所述Journal事件,并利用replay方法恢復(fù)用戶配額數(shù)據(jù);其中,所述replay方法包括利用所述增量數(shù)據(jù)恢復(fù)用戶配額數(shù)據(jù)的程序;可見,該方法保證用戶配額數(shù)據(jù)安全性,可以滿足用戶對(duì)用戶配額數(shù)據(jù)安全性要求較高的應(yīng)用場景;本發(fā)明還提供了一種分布式文件系統(tǒng)用戶配額數(shù)據(jù)保存系統(tǒng)及服務(wù)器,具有上述有益效果,在此不再贅述。

附圖說明

為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。

圖1為本發(fā)明實(shí)施例所提供的分布式文件系統(tǒng)用戶配額數(shù)據(jù)保存方法的流程圖;

圖2為本發(fā)明實(shí)施例所提供的分布式文件系統(tǒng)用戶配額數(shù)據(jù)保存方法的數(shù)據(jù)流向示意圖;

圖3為本發(fā)明實(shí)施例所提供的服務(wù)器的結(jié)構(gòu)框圖。

具體實(shí)施方式

本發(fā)明的核心是提供一種分布式文件系統(tǒng)用戶配額數(shù)據(jù)保存方法、系統(tǒng)及服務(wù)器,能夠保證用戶配額數(shù)據(jù)安全性,可以滿足用戶對(duì)用戶配額數(shù)據(jù)安全性要求較高的應(yīng)用場景。

為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

請(qǐng)參考圖1,圖1為本發(fā)明實(shí)施例所提供的分布式文件系統(tǒng)用戶配額數(shù)據(jù)保存方法的流程圖;該方法還可以包括:

S100、當(dāng)檢測到用戶配額數(shù)據(jù)變化時(shí),記錄一條Journal事件保存用戶配額數(shù)據(jù)變化的增量數(shù)據(jù);

其中,為了保證準(zhǔn)確的記錄用戶配額增量數(shù)據(jù),在確認(rèn)當(dāng)Journal事件寫入磁盤后再更新緩存中對(duì)應(yīng)的數(shù)據(jù),該步驟具體為接受客戶端上報(bào)的用戶配額數(shù)據(jù)變化數(shù)據(jù),記錄一條Journal事件,當(dāng)Journal事件寫入磁盤后,更新緩存中用戶配額數(shù)據(jù)變化的增量數(shù)據(jù)。

例如客戶端將用戶配額數(shù)據(jù)上報(bào)給服務(wù)器(例如MDS)后,服務(wù)器首先記錄一條Journal事件,Journal事件落盤后,再更新緩存中的用戶配額數(shù)據(jù)即客戶端上報(bào)用戶配額數(shù)據(jù)變化量,元數(shù)據(jù)服務(wù)器收到上報(bào)消息后,首先記錄一條Journal事件,里面保存用戶配額變化的增量數(shù)據(jù),Journal事件落盤后,再更新緩存中的用戶配額數(shù)據(jù)。

為了保證用戶可以及時(shí)了解用戶配額數(shù)據(jù)的更新情況,可選的,在更新緩存中用戶配額數(shù)據(jù)變化的增量數(shù)據(jù)之后,還包括:

返回客戶端處理成功消息。

S100、當(dāng)系統(tǒng)啟動(dòng)或重啟時(shí),讀取所述Journal事件,并利用replay方法恢復(fù)用戶配額數(shù)據(jù);其中,所述replay方法包括利用所述增量數(shù)據(jù)恢復(fù)用戶配額數(shù)據(jù)的程序。

具體的,當(dāng)系統(tǒng)啟動(dòng)/重啟服務(wù)器時(shí)從磁盤中讀取Journal事件,并通過replay方法恢復(fù)用戶配額數(shù)據(jù)。即replay方法是Journal事件基類的虛函數(shù)方法,所有Journal事件都要實(shí)現(xiàn)此方法,此方法在系統(tǒng)啟動(dòng)時(shí),Journal事件恢復(fù)時(shí)會(huì)被Journal機(jī)制自動(dòng)調(diào)用,只需要在方法中實(shí)現(xiàn)如何根據(jù)事件中的數(shù)據(jù)來恢復(fù)用戶配額數(shù)據(jù)即可。

為了防止出現(xiàn)不必要的恢復(fù)操作可以通過用戶配額數(shù)據(jù)和用戶配額Journal事件之間的版本控制機(jī)制來判斷是否執(zhí)行恢復(fù)操作,即基于上述步驟在讀取Journal事件之前,還包括:

判斷磁盤中記錄落盤的用戶配額數(shù)據(jù)的時(shí)間是否早于記錄落盤的最新Journal事件的時(shí)間;

若是,則讀取最新Journal事件,并利用replay方法恢復(fù)用戶配額數(shù)據(jù);

若否,則直接讀取磁盤中的用戶配額數(shù)據(jù)。

具體的,用戶配額數(shù)據(jù)雖然不是實(shí)時(shí)落盤,但這些數(shù)據(jù)也會(huì)定時(shí)落盤,因?yàn)镴ournal事件數(shù)據(jù)可能會(huì)被定期清理,Journal事件不會(huì)一直保存,所以用戶配額數(shù)據(jù)和Journal數(shù)據(jù)就需要一種版本控制機(jī)制,來確定哪些Journal事件需要恢復(fù),哪些不需要;如果磁盤中的用戶配額數(shù)據(jù)比Journal事件新就不用恢復(fù)。

因?yàn)橛脩襞漕~數(shù)據(jù)也會(huì)定時(shí)落盤,即在進(jìn)行恢復(fù)操作之前,需要判斷是否有必要進(jìn)行恢復(fù)操作,這時(shí)需要將最后一次(在執(zhí)行恢復(fù)操作之前的最近一次)系統(tǒng)用戶配額數(shù)據(jù)落盤的時(shí)間與系統(tǒng)最后一次記錄的Journal事件的時(shí)間進(jìn)行比較,當(dāng)用戶配額數(shù)據(jù)落盤的時(shí)間晚于記錄的Journal事件的時(shí)間即相比之下用戶配額數(shù)據(jù)落盤的時(shí)間更接近于判斷時(shí)間,則直接讀取磁盤中的用戶配額數(shù)據(jù),反之再進(jìn)行replay方法恢復(fù)用戶配額數(shù)據(jù)。

下面對(duì)本發(fā)明的內(nèi)容以一個(gè)具體實(shí)例來描述實(shí)現(xiàn)這一設(shè)計(jì)方法的實(shí)現(xiàn)過程。具體過程可以參考圖2,圖2中的服務(wù)端即上述服務(wù)器。開啟用戶配額開關(guān),給某個(gè)需要用戶配額功能的用戶設(shè)置用戶配額。客戶端使用這個(gè)用戶登錄分布式文件系統(tǒng),并寫入數(shù)據(jù)。寫入一段時(shí)間數(shù)據(jù)后,重啟分布式文件系統(tǒng)。使用相關(guān)命令查看用戶配額數(shù)據(jù)是否安全準(zhǔn)確。

基于上述技術(shù)方案,本發(fā)明實(shí)施例提的分布式文件系統(tǒng)用戶配額數(shù)據(jù)保存方法,采用Journal機(jī)制來實(shí)現(xiàn),Journal數(shù)據(jù)順序落盤,效率高,保證用戶配額數(shù)據(jù)安全性,可以滿足用戶對(duì)用戶配額數(shù)據(jù)安全性要求較高的應(yīng)用場景保證分布式文件系統(tǒng)中用戶配額數(shù)據(jù)的安全性。

下面對(duì)本發(fā)明實(shí)施例提供的分布式文件系統(tǒng)用戶配額數(shù)據(jù)保存系統(tǒng)及服務(wù)器進(jìn)行介紹,下文描述的分布式文件系統(tǒng)用戶配額數(shù)據(jù)保存系統(tǒng)及服務(wù)器與上文描述的分布式文件系統(tǒng)用戶配額數(shù)據(jù)保存方法可相互對(duì)應(yīng)參照。

請(qǐng)參考圖3,圖3為本發(fā)明實(shí)施例所提供的服務(wù)器的結(jié)構(gòu)框圖;該服務(wù)器可以包括:

Journal事件記錄模塊100,用于當(dāng)檢測到用戶配額數(shù)據(jù)變化時(shí),記錄一條Journal事件保存用戶配額數(shù)據(jù)變化的增量數(shù)據(jù);

恢復(fù)模塊200,用于當(dāng)系統(tǒng)啟動(dòng)或重啟時(shí),讀取所述Journal事件,并利用replay方法恢復(fù)用戶配額數(shù)據(jù);其中,所述replay方法包括利用所述增量數(shù)據(jù)恢復(fù)用戶配額數(shù)據(jù)的程序。

基于上述實(shí)施例,所述Journal事件記錄模塊100具體為接受客戶端上報(bào)的用戶配額數(shù)據(jù)變化數(shù)據(jù),記錄一條Journal事件,當(dāng)Journal事件寫入磁盤后,更新緩存中用戶配額數(shù)據(jù)變化的增量數(shù)據(jù)的模塊。

基于上述實(shí)施例,服務(wù)器還包括:

反饋模塊,用于返回客戶端處理成功消息。

基于上述任意實(shí)施例,服務(wù)器還包括:

判斷模塊,用于判斷磁盤中記錄落盤的用戶配額數(shù)據(jù)的時(shí)間是否早于記錄落盤的最新Journal事件的時(shí)間;

若是,則執(zhí)行所述恢復(fù)模塊;

讀取模塊,用于若磁盤中記錄落盤的用戶配額數(shù)據(jù)的時(shí)間是不早于記錄落盤的最新Journal事件的時(shí)間,則直接讀取磁盤中的用戶配額數(shù)據(jù)。

本發(fā)明實(shí)施例還提供一種分布式文件系統(tǒng)用戶配額數(shù)據(jù)保存系統(tǒng),包括:根據(jù)上述任意實(shí)施例所述的服務(wù)器,客戶端及磁盤;其中,

所述客戶端,用于設(shè)置用戶配額數(shù)據(jù),并向所述服務(wù)器發(fā)送;

所述磁盤,用于記錄Journal事件及用戶配額數(shù)據(jù)。

說明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見即可。對(duì)于實(shí)施例公開的裝置而言,由于其與實(shí)施例公開的方法相對(duì)應(yīng),所以描述的比較簡單,相關(guān)之處參見方法部分說明即可。

專業(yè)人員還可以進(jìn)一步意識(shí)到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來實(shí)現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。

結(jié)合本文中所公開的實(shí)施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實(shí)施。軟件模塊可以置于隨機(jī)存儲(chǔ)器(RAM)、內(nèi)存、只讀存儲(chǔ)器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動(dòng)磁盤、CD-ROM、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲(chǔ)介質(zhì)中。

以上對(duì)本發(fā)明所提供的分布式文件系統(tǒng)用戶配額數(shù)據(jù)保存方法、系統(tǒng)及服務(wù)器進(jìn)行了詳細(xì)介紹。本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想。應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以對(duì)本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
湟中县| 宜春市| 金川县| 宣威市| 金华市| 富阳市| 上林县| 崇信县| 开阳县| 全州县| 石泉县| 济南市| 繁昌县| 丽江市| 宁南县| 兴海县| 墨玉县| 高碑店市| 罗源县| 铅山县| 洞口县| 襄城县| 拜泉县| 肥西县| 海伦市| 山阴县| 格尔木市| 丰都县| 宿迁市| 潼南县| 贵州省| 美姑县| 通化县| 贞丰县| 屏东县| 库车县| 漠河县| 阳东县| 铁岭县| 名山县| 晋中市|