一種分級(jí)存儲(chǔ)的方法
【專(zhuān)利摘要】本發(fā)明提供一種實(shí)現(xiàn)分級(jí)存儲(chǔ)的方法,該方法包括策略分析模塊和客戶(hù)端模塊分析系統(tǒng)內(nèi)的所有分級(jí)策略,查看策略對(duì)應(yīng)的文件是否滿(mǎn)足策略要求,將不滿(mǎn)足策略要求的文件發(fā)送到遷移控制模塊;元數(shù)據(jù)服務(wù)模塊向策略分析模塊提供文件信息;遷移控制模塊接收策略分析模塊發(fā)送的待遷移文件,根據(jù)策略要求需要選擇新的介質(zhì),發(fā)送給遷移模塊進(jìn)行遷移,遷移模塊完成遷移工作;管理模塊實(shí)現(xiàn)分級(jí)策略維護(hù);圖形模塊以圖形界面的形式向用戶(hù)展示分級(jí)功能,在界面進(jìn)行策略的添加、刪除和修改,并將命令發(fā)送給管理模塊進(jìn)行而通知到策略分析模塊。
【專(zhuān)利說(shuō)明】一種分級(jí)存儲(chǔ)的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種計(jì)算機(jī)文件存儲(chǔ)技術(shù),具體講涉及一種分級(jí)存儲(chǔ)實(shí)現(xiàn)方法。
【背景技術(shù)】
[0002]分布式文件系統(tǒng)有多種介質(zhì)類(lèi)型,在存取速度及價(jià)格方面都有很大差別;在同一分布式文件系統(tǒng)中存儲(chǔ)的用戶(hù)數(shù)據(jù),存儲(chǔ)需求也不相同,對(duì)于需要經(jīng)常訪問(wèn)的且對(duì)訪問(wèn)速度比較敏感的數(shù)據(jù)需要存放在快設(shè)備上,而對(duì)于數(shù)據(jù)量巨大,對(duì)速度要求不高的場(chǎng)景則需要選擇價(jià)格相對(duì)低廉的慢設(shè)備來(lái)存放。
[0003]這就對(duì)分布式文件系統(tǒng)提出了以下需求:即在系統(tǒng)內(nèi)支持一種以上存儲(chǔ)介質(zhì),并且能夠根據(jù)需要將數(shù)據(jù)存放到不同的介質(zhì)類(lèi)型上。
[0004]由于元數(shù)據(jù)服務(wù)器上的輔助文件記錄了各個(gè)磁盤(pán)上存放的對(duì)象,原來(lái)實(shí)現(xiàn)方式是首先獲取系統(tǒng)內(nèi)所有磁盤(pán),然后讀取每個(gè)磁盤(pán)上的對(duì)象記錄并根據(jù)記錄讀取inode (索引節(jié)點(diǎn)),獲取訪問(wèn)時(shí)間及修改時(shí)間。如果在規(guī)定時(shí)間內(nèi)有修改則遷移到快速設(shè)備;如果在規(guī)定的時(shí)間內(nèi)沒(méi)有修改則遷移到慢速設(shè)備(規(guī)定時(shí)間可以通過(guò)配置參數(shù)進(jìn)行修改)。
[0005]現(xiàn)有的實(shí)現(xiàn)方式具有以下缺點(diǎn):首先,策略單一,可擴(kuò)展性很差,只能根據(jù)訪問(wèn)及修改時(shí)間分級(jí),如果想在原來(lái)框架上增加其他策略,非常困難;其次,靈活性非常差,雖然規(guī)定時(shí)間可以通過(guò)配置參數(shù)修改,但是這一時(shí)間是對(duì)所有對(duì)象生效的,對(duì)象之間不能設(shè)置不同時(shí)間區(qū)間,此外系統(tǒng)內(nèi)所有對(duì)象要么都根據(jù)設(shè)定時(shí)間進(jìn)行遷移,要么關(guān)閉分級(jí)功能,都不進(jìn)行遷移。
[0006]這些缺點(diǎn)導(dǎo)致分級(jí)功能不能滿(mǎn)足很多應(yīng)用場(chǎng)景:如根據(jù)文件名特點(diǎn)分級(jí);系統(tǒng)內(nèi)部有的目錄需要根據(jù)時(shí)間策略分級(jí)存儲(chǔ),有的目錄則不需要等等。
【發(fā)明內(nèi)容】
[0007]為了克服上述現(xiàn)有技術(shù)的不足,本發(fā)明提供一種實(shí)現(xiàn)分級(jí)存儲(chǔ)的方法,該方法利用策略分析工具在客戶(hù)端之上,獲取文件所有信息。其中每個(gè)策略都包含所有策略單元,利用valid字段表示是否有效,方便實(shí)現(xiàn)單一或者組合條件的分級(jí)需求;具有非常好的擴(kuò)展性。
[0008]為了實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明采取如下技術(shù)方案:
[0009]一種實(shí)現(xiàn)分級(jí)存儲(chǔ)的方法,該方法包括如下步驟:
[0010](I)元數(shù)據(jù)服務(wù)模塊向策略分析模塊提供文件信息;
[0011](2)策略分析模塊分析存儲(chǔ)系統(tǒng)內(nèi)的所有分級(jí)策略,查看策略對(duì)應(yīng)的文件是否滿(mǎn)足策略要求,將不滿(mǎn)足策略要求的待遷移文件發(fā)送到遷移控制模塊;
[0012](3)遷移控制模塊根據(jù)分級(jí)策略要求需要選擇新的存儲(chǔ)介質(zhì),并將所接收到的待遷移文件發(fā)送給遷移模塊遷移至新的存儲(chǔ)介質(zhì);
[0013](4)通過(guò)管理模塊進(jìn)行分級(jí)策略維護(hù)后,在人機(jī)交互界面上顯示維護(hù)結(jié)果。
[0014]本發(fā)明提供的優(yōu)選技術(shù)方案中,該方法進(jìn)一步包括如下步驟:
[0015](5)當(dāng)用戶(hù)需要對(duì)分級(jí)策略進(jìn)行更新時(shí),則通過(guò)人機(jī)交互界面設(shè)置存儲(chǔ)系統(tǒng)內(nèi)的分級(jí)策略,并跳轉(zhuǎn)至步驟(2)由策略分析模塊重新分析存儲(chǔ)系統(tǒng)內(nèi)更新后的分級(jí)策略。
[0016]本發(fā)明提供的第二優(yōu)選技術(shù)方案中,對(duì)分級(jí)策略進(jìn)行更新的方法包括:增加、刪除、修改分級(jí)策略。
[0017]本發(fā)明提供的第三優(yōu)選技術(shù)方案中,所述分級(jí)策略包括策略適用的目錄、策略要求的目標(biāo)存儲(chǔ)介質(zhì)類(lèi)型和策略組;若所述目標(biāo)介質(zhì)類(lèi)型為多個(gè),按介質(zhì)類(lèi)型的排列順序遷移;所述策略組包括的策略單元中的每一策略單元對(duì)應(yīng)一種分級(jí)要求,策略單元包括一個(gè)valid字段和該單元的具體內(nèi)容,若val id字段為1表示該策略單元對(duì)該策略有效,為0表示無(wú)效。
[0018]本發(fā)明提供的第四優(yōu)選技術(shù)方案中,所述策略分析模塊包括三類(lèi)線(xiàn)程:dispatch、scan和worker,采用多線(xiàn)程流水方式實(shí)現(xiàn)策略分級(jí)。
[0019]本發(fā)明提供的第五優(yōu)選技術(shù)方案中,多線(xiàn)程流水方式的具體步驟如下:
[0020](1)所述dispatch獲取當(dāng)前系統(tǒng)所有分級(jí)的策略,合并策略涉及到的目錄,并將目錄投遞到scan全局隊(duì)列;
[0021](2)所述scan線(xiàn)程從scan隊(duì)列獲取一個(gè)目錄后開(kāi)始調(diào)用函數(shù)readdir進(jìn)行掃描,若是子目錄則將子目錄投遞到scan線(xiàn)程的隊(duì)列,若是文件則將其投遞到隊(duì)列最短的worker線(xiàn)程隊(duì)列;
[0022](3)所述worker線(xiàn)程從隊(duì)列獲取文件后通過(guò)函數(shù)1ctl獲取文件的訪問(wèn)時(shí)間、大小和當(dāng)前所在磁盤(pán)的信息,與當(dāng)前系統(tǒng)策略進(jìn)行匹配,找到匹配策略后,若發(fā)現(xiàn)當(dāng)前文件的介質(zhì)類(lèi)型與策略不符,則將文件及策略要求的目標(biāo)介質(zhì)類(lèi)型存放到一個(gè)buf,若buf達(dá)到768byte的緩存或者緩存超過(guò)5秒鐘沒(méi)有發(fā)送,則將buf中的文件發(fā)送給遷移控制模塊;
[0023](4)所述遷移控制模塊根據(jù)策略要求的介質(zhì)類(lèi)型選擇磁盤(pán),發(fā)送給遷移模塊;
[0024](5)所述遷移模塊遷移完成后通知元數(shù)據(jù)模塊修改文件信息。
[0025]本發(fā)明提供的第六優(yōu)選技術(shù)方案中,所述步驟(4)中,對(duì)所述分級(jí)策略進(jìn)行維護(hù)的方法包括:增加、刪除、修改分級(jí)策略。
[0026]與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果在于:
[0027]本發(fā)明提供的技術(shù)方案可以滿(mǎn)足多種分級(jí)存儲(chǔ)需要,具有非常好的可擴(kuò)展性。分級(jí)策略針對(duì)目錄設(shè)置,具有非常好的靈活性,可以滿(mǎn)足不同目錄的不同分級(jí)需求。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0028]圖1是分級(jí)存儲(chǔ)模塊流程圖
[0029]圖2是分級(jí)存儲(chǔ)策略結(jié)構(gòu)圖
【具體實(shí)施方式】
[0030]下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)說(shuō)明。
[0031]如圖1所示,實(shí)現(xiàn)分級(jí)存儲(chǔ)的方法,具體步驟如下:
[0032](1)元數(shù)據(jù)服務(wù)模塊向策略分析模塊提供文件信息;
[0033](2)策略分析模塊分析存儲(chǔ)系統(tǒng)內(nèi)的所有分級(jí)策略,查看策略對(duì)應(yīng)的文件是否滿(mǎn)足策略要求,將不滿(mǎn)足策略要求的待遷移文件發(fā)送到遷移控制模塊;
[0034](3)遷移控制模塊根據(jù)策略要求需要選擇新的存儲(chǔ)介質(zhì),并將所接收到的待遷移文件發(fā)送給遷移模塊遷移至新的存儲(chǔ)介質(zhì);
[0035](4)通過(guò)管理模塊進(jìn)行分級(jí)策略維護(hù)后,在人機(jī)交互界面上顯示維護(hù)結(jié)果。
[0036]如圖2所示,分級(jí)策略包括策略適用的目錄、策略要求的目標(biāo)介質(zhì)類(lèi)型和策略組;若所述目標(biāo)介質(zhì)類(lèi)型為多個(gè),則遷移時(shí)優(yōu)先選擇排在前面的介質(zhì)類(lèi)型;所述策略組包括若干個(gè)策略單元,每個(gè)策略單元對(duì)應(yīng)一種分級(jí)要求,策略單元包括一個(gè)valid字段和該單元的具體內(nèi)容(閾值),若valid字段為I表示該策略單元對(duì)該策略有效,為O表示無(wú)效。如果一個(gè)策略的多個(gè)策略單元valid字段為I則表示該策略是一個(gè)組合策略。
[0037]策略分析模塊包括三類(lèi)線(xiàn)程:dispatch、scan和worker,采用多線(xiàn)程流水方式實(shí)現(xiàn)策略分級(jí)。
[0038]多線(xiàn)程流水方式的具體步驟如下:
[0039](I)所述dispatch獲取當(dāng)前系統(tǒng)所有分級(jí)的策略,合并策略涉及到的目錄,并將目錄投遞到scan全局隊(duì)列;
[0040](2)所述scan線(xiàn)程從scan隊(duì)列獲取一個(gè)目錄后開(kāi)始調(diào)用函數(shù)readdir進(jìn)行掃描,若是子目錄則將子目錄投遞到scan隊(duì)列的隊(duì)頭,若是文件則將其投遞到隊(duì)列最短的worker線(xiàn)程隊(duì)列;
[0041](3)所述worker線(xiàn)程從隊(duì)列獲取文件后通過(guò)函數(shù)1ctl獲取文件的訪問(wèn)時(shí)間、大小和當(dāng)前所在磁盤(pán)的信息,與當(dāng)前系統(tǒng)策略進(jìn)行匹配,找到匹配策略后,若發(fā)現(xiàn)當(dāng)前文件的介質(zhì)類(lèi)型與策略不符則將文件及策略要求的目標(biāo)介質(zhì)類(lèi)型存放到一個(gè)buf,若buf達(dá)到768byte的緩存或者緩存超過(guò)5秒鐘沒(méi)有發(fā)送,則將buf中的文件發(fā)送給遷移控制模塊;
[0042](4)所述遷移控制模塊根據(jù)策略要求的介質(zhì)類(lèi)型選擇磁盤(pán),發(fā)送給遷移模塊;
[0043](5)所述遷移模塊遷移完成后通知元數(shù)據(jù)模塊修改文件信息。
[0044]為了防止上次任務(wù)沒(méi)有完成前dispatch線(xiàn)程就再次投遞目錄,scan隊(duì)列即worker隊(duì)列的在任務(wù)產(chǎn)生時(shí)抓一個(gè)全局引用計(jì)數(shù),任務(wù)處理完成后釋放計(jì)數(shù),dispatch線(xiàn)程等計(jì)數(shù)為O時(shí)才可開(kāi)始下一次投遞。
[0045]假設(shè)目錄/mnt/parastor/example下大小在0_1024byte并且訪問(wèn)修改時(shí)間在0-60s之間(即最近一分鐘有訪問(wèn)或修改)的文件則遷移到ssd介質(zhì)上。這種策略組織方式具有很好的可擴(kuò)展性,若有新的分級(jí)需求,則增加一個(gè)策略單元即可。
[0046]最后應(yīng)當(dāng)說(shuō)明的是:以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案而非對(duì)其限制,盡管參照上述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,所屬領(lǐng)域的普通技術(shù)人員在其啟發(fā)下依然可以對(duì)本發(fā)明的【具體實(shí)施方式】進(jìn)行修改或者等同替換,這些未脫離本發(fā)明精神和范圍的任何修改或者等同替換,均在申請(qǐng)待批的本發(fā)明的權(quán)利要求保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種分級(jí)存儲(chǔ)方法,該方法包括如下步驟: (1)元數(shù)據(jù)服務(wù)模塊向策略分析模塊提供文件信息; (2)策略分析模塊分析存儲(chǔ)系統(tǒng)內(nèi)的所有分級(jí)策略,查看策略對(duì)應(yīng)的文件是否滿(mǎn)足策略要求,將不滿(mǎn)足策略要求的待遷移文件發(fā)送到遷移控制模塊; (3)遷移控制模塊根據(jù)分級(jí)策略要求需要選擇新的存儲(chǔ)介質(zhì),并將所接收到的待遷移文件發(fā)送給遷移模塊遷移至新的存儲(chǔ)介質(zhì); (4)通過(guò)管理模塊進(jìn)行分級(jí)策略維護(hù)后,在人機(jī)交互界面上顯示維護(hù)結(jié)果。
2.根據(jù)權(quán)利要求1所述分級(jí)存儲(chǔ)方法,其特征在于,該方法進(jìn)一步包括如下步驟: (5)當(dāng)用戶(hù)需要對(duì)分級(jí)策略進(jìn)行更新時(shí),則通過(guò)人機(jī)交互界面更新存儲(chǔ)系統(tǒng)內(nèi)的分級(jí)策略,并跳轉(zhuǎn)至步驟(2)由策略分析模塊重新分析存儲(chǔ)系統(tǒng)內(nèi)更新后的分級(jí)策略。
3.根據(jù)權(quán)利要求2所述分級(jí)存儲(chǔ)方法,其特征在于,對(duì)分級(jí)策略進(jìn)行更新的方法包括:增加、刪除、修改分級(jí)策略。
4.根據(jù)權(quán)利要求1所述分級(jí)存儲(chǔ)方法,其特征在于,所述分級(jí)策略包括策略適用的目錄、策略要求的目標(biāo)存儲(chǔ)介質(zhì)類(lèi)型和策略組;若所述目標(biāo)介質(zhì)類(lèi)型為多個(gè),按介質(zhì)類(lèi)型的排列順序遷移;所述策略組包括的策略單元中的每一策略單元對(duì)應(yīng)一種分級(jí)要求,策略單元包括一個(gè)valid字段和該單元的具體內(nèi)容,若valid字段為I表示該策略單元對(duì)該策略有效,為O表示無(wú)效。
5.根據(jù)權(quán)利要求1所述分級(jí)存儲(chǔ)方法,其特征在于,所述策略分析模塊包括三類(lèi)線(xiàn)程:dispatch、scan和worker,采用多線(xiàn)程流水方式實(shí)現(xiàn)策略分級(jí)。
6.根據(jù)權(quán)利要求5所述分級(jí)存儲(chǔ)方法,其特征在于,多線(xiàn)程流水方式的具體步驟如下: (1)所述dispatch獲取當(dāng)前系統(tǒng)所有分級(jí)的策略,合并策略涉及到的目錄,并將目錄投遞到scan全局隊(duì)列; (2)所述scan線(xiàn)程從scan隊(duì)列獲取一個(gè)目錄后開(kāi)始調(diào)用函數(shù)readdir進(jìn)行掃描,若是子目錄則將子目錄投遞到scan線(xiàn)程的隊(duì)列,若是文件則將其投遞到隊(duì)列最短的worker線(xiàn)程隊(duì)列; (3)所述worker線(xiàn)程從隊(duì)列獲取文件后通過(guò)函數(shù)1ctl獲取文件的訪問(wèn)時(shí)間、大小和當(dāng)前所在磁盤(pán)的信息,與當(dāng)前系統(tǒng)策略進(jìn)行匹配,找到匹配策略后,若發(fā)現(xiàn)當(dāng)前文件的介質(zhì)類(lèi)型與策略不符,則將文件及策略要求的目標(biāo)介質(zhì)類(lèi)型存放到一個(gè)buf,若buf達(dá)到768byte的緩存或者緩存超過(guò)5秒鐘沒(méi)有發(fā)送,則將buf中的文件發(fā)送給遷移控制模塊; (4)所述遷移控制模塊根據(jù)策略要求的介質(zhì)類(lèi)型選擇磁盤(pán),發(fā)送給遷移模塊; (5)所述遷移模塊遷移完成后通知元數(shù)據(jù)模塊修改文件信息。
7.根據(jù)權(quán)利要求1所述分級(jí)存儲(chǔ)方法,其特征在于,所述步驟(4)中,對(duì)所述分級(jí)策略進(jìn)行維護(hù)的方法包括:增加、刪除、修改分級(jí)策略。
【文檔編號(hào)】G06F12/08GK104407987SQ201410603327
【公開(kāi)日】2015年3月11日 申請(qǐng)日期:2014年10月30日 優(yōu)先權(quán)日:2014年10月30日
【發(fā)明者】馬照云, 付根希, 喻燕軍, 楊浩 申請(qǐng)人:曙光信息產(chǎn)業(yè)股份有限公司