一種基于塊級的分級存儲方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供一種基于塊級的分級存儲方法及系統(tǒng)。應用在數(shù)據(jù)智能管理領域,包括以下步驟:塊數(shù)據(jù)特征收集器獲取塊數(shù)據(jù)的特征值;遷移管理器獲取所述塊數(shù)據(jù)的特征值,同時,根據(jù)從策略配置管理器獲取的管理參數(shù),依據(jù)預設策略,進行塊數(shù)據(jù)遷移。通過實施本發(fā)明的技術方案,實現(xiàn)了對于擴展塊級的數(shù)據(jù)進行自動分級管理,能夠解決數(shù)據(jù)分級存儲管理過程中存在熱點數(shù)據(jù)定位不準確的問題并能夠有效提高存儲資源的利用率。
【專利說明】一種基于塊級的分級存儲方法及系統(tǒng)
【技術領域】
[0001]本發(fā)明涉及數(shù)據(jù)智能管理領域,尤其涉及一種基于塊級的分級存儲方法及系統(tǒng)?!颈尘凹夹g】
[0002]數(shù)據(jù)分級存儲技術主要是根據(jù)數(shù)據(jù)訪問特征在存儲虛擬層對存儲設備組成的存儲資源進行合理組織,形成多級的存儲層次(如根據(jù)設備傳輸速率分為高速、中速和慢速存儲設備,并可根據(jù)存儲需求擴展到更多設備級別),并對上層應用需求進行特征提取和聚類處理,基于數(shù)據(jù)訪問的局部性原理,構(gòu)建應用數(shù)據(jù)與存儲空間映射的數(shù)據(jù)特征模型,將不經(jīng)常訪問的數(shù)據(jù)自動遷移到存儲成本層次中較低的設備,釋放出較高成本的存儲空間給更頻繁訪問或更高優(yōu)先級的數(shù)據(jù),從而大大減少非重要性數(shù)據(jù)在一級本地磁盤所占用的空間,加快整個系統(tǒng)的存儲性能,降低整個存儲系統(tǒng)的擁有成本,進而獲得更好的性價比。
[0003]在現(xiàn)有的分級存儲技術中主要是利用文件對象包括的多種數(shù)據(jù)特征屬性,如文件大小,類型等進行數(shù)據(jù)特征的映射,將具有不同特征的數(shù)據(jù)進行分類管理。但是,基于文件級的分級存儲以文件作為數(shù)據(jù)特征統(tǒng)計的基本單位,如果文件比較大,并且當只有局部信息經(jīng)常被訪問時,那么就存在對于熱點數(shù)據(jù)定位不準確的問題,從而導致不能夠?qū)⒄嬲枰环旨壍臄?shù)據(jù)放置于高效且昂貴的存儲資源上,不利于提高存儲管理效率。
[0004]基于塊級的分級存儲是一種細粒度的數(shù)據(jù)分級管理方案,能夠?qū)?shù)據(jù)管理的粒度細化到以根據(jù)應用需求所定義的擴展塊級,但是現(xiàn)有工作中缺乏對于基于塊數(shù)據(jù)的分級存儲系統(tǒng)架構(gòu)的深入研究。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提供一種基于塊級的分級存儲方法及系統(tǒng),以解決上述問題。
[0006]本發(fā)明提供一種基于塊級的分級存儲方法。上述方法包括以下步驟:
[0007]塊數(shù)據(jù)特征收集器獲取塊數(shù)據(jù)的特征值;
[0008]遷移管理器獲取所述塊數(shù)據(jù)的特征值,同時,根據(jù)從策略配置管理器獲取的管理參數(shù),依據(jù)預設策略,進行塊數(shù)據(jù)遷移。
[0009]本發(fā)明還提供一種基于塊級的分級存儲系統(tǒng),包括:
[0010]遷移管理器、塊數(shù)據(jù)特征收集器、策略配置管理器、存儲資源管理器;遷移管理器分別與塊數(shù)據(jù)特征收集器、策略配置管理器相連;存儲資源管理器分別與塊數(shù)據(jù)特征收集器、策略配置管理器相連;
[0011]所述塊數(shù)據(jù)特征收集器,用于獲取塊數(shù)據(jù)的特征值;
[0012]所述遷移管理器,用于獲取所述塊數(shù)據(jù)的特征值及從策略配置管理器獲取的管理參數(shù),依據(jù)預設策略,進行塊數(shù)據(jù)遷移;
[0013]所述策略配置管理器,用于設置管理參數(shù);
[0014]所述存儲資源管理模塊,用于按照性能由高到低的順序組織磁盤并構(gòu)建多級設備鏈表,將設備進行統(tǒng)一管理。[0015]通過實施本發(fā)明的技術方案,實現(xiàn)了對于擴展塊級的數(shù)據(jù)進行自動分級管理,能夠解決數(shù)據(jù)分級存儲管理過程中存在熱點數(shù)據(jù)定位不準確的問題并能夠有效提高存儲資源的利用率。
【專利附圖】
【附圖說明】
[0016]此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當限定。在附圖中:
[0017]圖1所示為本發(fā)明實施例1的分級存儲系統(tǒng)架構(gòu)示意圖;
[0018]圖2所示為本發(fā)明實施例2的數(shù)據(jù)遷移結(jié)構(gòu)示意圖;
[0019]圖3所示為本發(fā)明實施例3的數(shù)據(jù)遷移窗口示意圖。
【具體實施方式】
[0020]下文中將參考附圖并結(jié)合實施例來詳細說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。
[0021]本發(fā)明提供了一種基于塊級的分級存儲方法,包括以下步驟:
[0022]塊數(shù)據(jù)特征收集器獲取塊數(shù)據(jù)的特征值;
[0023]遷移管理器獲取所述塊數(shù)據(jù)的特征值,同時,根據(jù)從策略配置管理器獲取的管理參數(shù),依據(jù)預設策略,進行塊數(shù)據(jù)遷移。
[0024]其中,遷移管理器獲取塊數(shù)據(jù)的特征值的途徑為:塊數(shù)據(jù)特征收集器獲取塊數(shù)據(jù)的特征值后,發(fā)送至遷移管理器。
[0025]其中,所述管理參數(shù)包括:塊數(shù)據(jù)的掃描周期、不同層級設備上最大未使用時間。
[0026]其中,塊數(shù)據(jù)特征收集器獲取塊數(shù)據(jù)的特征值的具體過程為:塊數(shù)據(jù)特征收集器根據(jù)獲取的讀/寫的引用次數(shù)的統(tǒng)計值,周期地計算每一個塊數(shù)據(jù)的引用頻率。
[0027]其中,所述預設策略為:
[0028]當遷移管理器到達掃描周期時,觸發(fā)遷移工作開始,遷移工作遍歷整個存儲設備中的所有數(shù)據(jù)塊,根據(jù)設備的最大未使用時間、數(shù)據(jù)塊的最大未使用時間、塊的訪問引用計數(shù)的統(tǒng)計、設備的訪問引用計數(shù)的統(tǒng)計,判斷數(shù)據(jù)塊是否向上級或者向下級進行遷移操作;預設某一閥值,若監(jiān)控的塊數(shù)據(jù)的特征值超過該閥值,則觸發(fā)分級系統(tǒng),開始基于塊數(shù)據(jù)遷移。
[0029]其中,塊數(shù)據(jù)特征收集器獲取塊數(shù)據(jù)的特征值之前,還包括:存儲資源管理模塊按照性能由高到低的順序組織磁盤并構(gòu)建多級設備鏈表,將設備進行統(tǒng)一管理。
[0030]其中,塊數(shù)據(jù)特征收集器獲取塊數(shù)據(jù)的特征值之前,還包括:策略配置管理器對塊數(shù)據(jù)的掃描周期,不同層級設備上最大未使用時間進行設置。
[0031]如圖1所示,在基于塊級的分級存儲系統(tǒng)中主要包括了遷移管理器、塊數(shù)據(jù)特征收集器、策略配置管理器以及存儲資源管理模塊四個組件。
[0032]I)塊數(shù)據(jù)特征收集器獲取塊數(shù)據(jù)的特征值(例如:塊數(shù)據(jù)的引用頻率),同時,能夠完成對于I/o隊列的掃描以及I/O統(tǒng)計工作;
[0033]2)遷移管理器獲取塊數(shù)據(jù)的特征值,同時,根據(jù)從策略配置管理器獲取的管理參數(shù),依據(jù)預設策略,進行塊數(shù)據(jù)遷移;[0034]其中,遷移管理器獲取塊數(shù)據(jù)的特征值的途徑為:塊數(shù)據(jù)特征收集器獲取塊數(shù)據(jù)的特征值后,發(fā)送至遷移管理器。
[0035]其中,管理參數(shù)包括:塊數(shù)據(jù)的掃描周期、不同層級設備上最大未使用時間。
[0036]其中,塊數(shù)據(jù)特征收集器獲取塊數(shù)據(jù)的特征值的具體過程為:
[0037]塊數(shù)據(jù)特征收集器,能夠?qū)ν暾鸌/O事件進行管理,其中I/O事件包括傳輸大小、響應時間、邏輯塊地址LBA以及發(fā)生I/O事件的磁盤ID,還包括執(zhí)行I/O的隊列。塊數(shù)據(jù)特征收集器將每一個I/O 二元組(LBA,磁盤ID)映射給唯一的塊,并且統(tǒng)計每一個塊的I/O數(shù)。然后,根據(jù)獲取的讀/寫的引用次數(shù)的統(tǒng)計值,周期地計算每一個塊數(shù)據(jù)的引用頻率。
[0038]其中,預設策略為:
[0039]當遷移管理器到達掃描周期時,觸發(fā)遷移工作開始,遷移工作遍歷整個存儲設備中的所有數(shù)據(jù)塊,根據(jù)設備的最大未使用時間、數(shù)據(jù)塊的最大未使用時間、塊的訪問引用計數(shù)的統(tǒng)計、設備的訪問引用計數(shù)的統(tǒng)計,判斷數(shù)據(jù)塊是否向上級或者向下級進行遷移操作;預設某一閥值,若監(jiān)控的塊數(shù)據(jù)的特征值超過該閥值,則觸發(fā)分級系統(tǒng),開始基于塊數(shù)據(jù)遷移。
[0040]3)策略配置管理器負責用戶對于分級存儲系統(tǒng)中所需要的管理參數(shù)進行設置,這些管理參數(shù)將被遷移管理器所使用。
[0041]4)存儲資源管理模塊是位于內(nèi)核當中的驅(qū)動模塊,其主要功能是對不同類型的物理存儲資源進行整合,從而形成包括不同讀寫性能存儲設備的存儲資源池。
[0042]在如圖1所示的分級存儲系統(tǒng)架構(gòu)中,首先需要將存儲資源進行整合,形成具備分級存儲能力的存儲資源池,利用存儲資源管理模塊按照性能由高到低的順序組織磁盤,并且構(gòu)建多級設備鏈表,將設備進行統(tǒng)一管理。其次,開始對分級存儲系統(tǒng)的管理參數(shù)進行設置,利用策略配置管理器對塊數(shù)據(jù)的掃描周期,不同層級設備上最大未使用時間等管理參數(shù)進行設置。
[0043]在分級存儲系統(tǒng)啟動后,開始對塊數(shù)據(jù)的特征信息進行統(tǒng)計,為了能夠統(tǒng)計塊數(shù)據(jù)特征信息,需要對I/o事件進行定義,以便能夠?qū)ζ溥M行監(jiān)控。對于讀、寫I/o的處理,塊數(shù)據(jù)特征收集器的請求隊列接收來自通用塊設備模塊的I/o請求,當I/O入隊列后,通知分級系統(tǒng)工作線程運轉(zhuǎn),工作線程根據(jù)I/o的不同類型劃分不同的設備塊給I/O請求存儲寫數(shù)據(jù),數(shù)據(jù)寫入分配的塊設備之后,I/o結(jié)束,在處理寫請求時,記錄數(shù)據(jù)塊的寫信息,包括設備的寫請求數(shù)量、塊的寫請求數(shù)量;對于讀I/o請求統(tǒng)計設備以及塊的訪問引用計數(shù)和訪問時間信息,之后將I/o進行轉(zhuǎn)發(fā)。然后,計算整個隊列的引用頻率信息,并且根據(jù)給定的閥值進行度量。當然,對于海量存儲而言,數(shù)據(jù)的收集將是非常巨大的,因此,適時地通過調(diào)整數(shù)據(jù)塊的大小來降低統(tǒng)計信息的數(shù)據(jù)量。
[0044]當遷移管理器到達掃描周期時,觸發(fā)遷移工作開始,遷移工作遍歷整個存儲設備中的所有數(shù)據(jù)塊,根據(jù)設備的最大未使用時間、數(shù)據(jù)塊的最大未使用時間、塊的訪問引用計數(shù)的統(tǒng)計、設備的訪問引用計數(shù)的統(tǒng)計等,以便判斷數(shù)據(jù)塊是否向上級或者向下級進行遷移操作;對于數(shù)據(jù)的向上級遷移參考上層級設備的訪問引用計數(shù)信息,減少數(shù)據(jù)塊的遷移抖動;基于擴展塊等級的統(tǒng)計分析,根據(jù)該分級結(jié)果來將擴展塊匹配到合適的層級。若監(jiān)控的塊特征值超過閥值,那么將觸發(fā)分級系統(tǒng),開始基于塊的數(shù)據(jù)遷移。
[0045]分級存儲系統(tǒng)在執(zhí)行過程中將數(shù)據(jù)時間軸和訪問頻度等熱點數(shù)據(jù)訪問特征作為數(shù)據(jù)資源的分級依據(jù),存儲資源特征將作為存儲設備分級的憑據(jù),然后根據(jù)這些數(shù)據(jù)特征和存儲設備的分級情況,確定數(shù)據(jù)的分級標準及數(shù)據(jù)分級變化的觸發(fā)條件,整個數(shù)據(jù)遷移系統(tǒng)結(jié)構(gòu)如圖2所示。
[0046]基于擴展塊級的統(tǒng)計分析,根據(jù)該分級結(jié)果來將擴展塊匹配到合適的層級。在此基礎上,預設某一閥值,如果監(jiān)控的塊特征值超過閥值,那么將觸發(fā)分級系統(tǒng),開始基于塊的數(shù)據(jù)遷移。
[0047]在系統(tǒng)中引入塊數(shù)據(jù)特征收集器,它能夠?qū)ν暾鸌/O事件進行管理,其中I/O事件包括傳輸大小、響應時間、邏輯塊地址LBA以及發(fā)生I/O事件的磁盤ID,還包括執(zhí)行I/O的隊列。塊數(shù)據(jù)特征收集器將每一個I/O 二元組(LBA,磁盤ID)映射給唯一的塊,并且統(tǒng)計每一個塊的I/O數(shù)。然后,周期地計算每一個塊的引用頻率,分別統(tǒng)計讀引用數(shù)與寫引用數(shù)。
[0048]當數(shù)據(jù)信息達到遷移觸發(fā)條件時,進行自動數(shù)據(jù)遷移,實現(xiàn)數(shù)據(jù)信息的降級或升級存儲。遷移時,設置了一個數(shù)據(jù)遷移窗口,其大小與遷移的粒度有關。
[0049]如圖3所示,它是一個邏輯視圖上的區(qū)間,與磁盤上數(shù)據(jù)的物理分布無關,遷移前和遷移后數(shù)據(jù)的邏輯視圖都是不變的,每次處理遷移進程為當前數(shù)據(jù)遷移窗口申請讀寫鎖,以保證遷移進程與寫操作進程之間的數(shù)據(jù)一致性。
[0050]當需要遷移時,首先根據(jù)數(shù)據(jù)分級策略來制定數(shù)據(jù)遷移計劃,數(shù)據(jù)遷移時就是依次將該計劃中的數(shù)據(jù)進行移動,具體到每個操作而言,就是將遷移窗口內(nèi)的數(shù)據(jù)重新分布到其它存儲空間中,考慮到底層存儲設備的并行性,將遷移窗口設置為底層存儲設備條帶大小的整數(shù)倍。
[0051]另外,在分級存儲系統(tǒng)中設計塊遷移器,它負責管理塊的特征統(tǒng)計信息,以及數(shù)據(jù)移動請求,它通過比較所統(tǒng)計的特征信息與閥值,進而標記需要遷移的擴展塊,并且負責安排和優(yōu)化遷移過程。另外,也需要特別小心遷移所引起額外的I/o傳輸量,從而避免對主要的I/o性能產(chǎn)生影響。
[0052]當塊的引用數(shù)超過閥值后,將引發(fā)分級管理系統(tǒng)對于數(shù)據(jù)塊的遷移操作;當設備不停止時,開始循環(huán)等待事件中斷信號,該中斷信號應該是進行遷移的中斷指令wait_event_interruptible。當觸發(fā)遷移指令后,首先需要對被遷移的設備進行加鎖處理,為的是能夠確保數(shù)據(jù)的一致性。
[0053]然后,開始對塊列表開始遍歷walk_blocklist,在遍歷塊鏈表的時候,首先需要獲取塊信息,塊信息當中包含了讀/寫的引用次數(shù)的統(tǒng)計值,在獲取統(tǒng)計值后,開始計算塊的數(shù)據(jù)特征值,然后與閥值進行比對,從而確定是升級操作還是降級操作;利用f_op->read操作函數(shù)將從文件中讀取數(shù)據(jù),并且利用f_op->write操作函數(shù)將數(shù)據(jù)寫入到新的設備當中,并且要完成對于塊列表的更新操作,包括該塊最近訪問的時間,以及該塊最新的存儲設備等信息;當一個塊被遷移到不同的層,那么將讀寫計數(shù)器置零。
[0054]本發(fā)明還提供了一種基于塊級的分級存儲方法,包括:遷移管理器、塊數(shù)據(jù)特征收集器、策略配置管理器、存儲資源管理器;遷移管理器分別與塊數(shù)據(jù)特征收集器、策略配置管理器相連;存儲資源管理器分別與塊數(shù)據(jù)特征收集器、策略配置管理器相連;
[0055]所述塊數(shù)據(jù)特征收集器,用于獲取塊數(shù)據(jù)的特征值;
[0056]所述遷移管理器,用于獲取所述塊數(shù)據(jù)的特征值及從策略配置管理器獲取的管理參數(shù),依據(jù)預設策略,進行塊數(shù)據(jù)遷移;[0057]所述策略配置管理器,用于設置管理參數(shù);
[0058]所述存儲資源管理模塊,用于按照性能由高到低的順序組織磁盤并構(gòu)建多級設備鏈表,將設備進行統(tǒng)一管理。
[0059]本發(fā)明所涉及的基于塊級的分級存儲系統(tǒng)架構(gòu)能夠?qū)崿F(xiàn)對于邏輯卷中一部分固定大小的塊數(shù)據(jù)進行監(jiān)控以及數(shù)據(jù)熱度的統(tǒng)計分析,繼而完成對于塊數(shù)據(jù)的分級管理操作;由于所管理的塊數(shù)據(jù)粒度細,并且在邏輯卷中需要管理的數(shù)據(jù)量值比較少,因此,能夠獲得更高的數(shù)據(jù)分配效率,在進行遷移等操作時損耗較少,有利于提高存儲資源的利用率
與管理效率。
[0060]通過實施本發(fā)明的技術方案,實現(xiàn)了對于擴展塊級的數(shù)據(jù)進行自動分級管理,能夠解決數(shù)據(jù)分級存儲管理過程中存在熱點數(shù)據(jù)定位不準確的問題并能夠有效提高存儲資源的利用率。
[0061]以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領域的技術人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
【權利要求】
1.一種基于塊級的分級存儲方法,其特征在于,包括以下步驟: 塊數(shù)據(jù)特征收集器獲取塊數(shù)據(jù)的特征值; 遷移管理器獲取所述塊數(shù)據(jù)的特征值,同時,根據(jù)從策略配置管理器獲取的管理參數(shù),依據(jù)預設策略,進行塊數(shù)據(jù)遷移。
2.根據(jù)權利要求1所述的方法,其特征在于:遷移管理器獲取塊數(shù)據(jù)的特征值的途徑為:塊數(shù)據(jù)特征收集器獲取塊數(shù)據(jù)的特征值后,發(fā)送至遷移管理器。
3.根據(jù)權利要求1所述的方法,其特征在于:所述管理參數(shù)包括:塊數(shù)據(jù)的掃描周期、不同層級設備上最大未使用時間。
4.根據(jù)權利要求1所述的方法,其特征在于:塊數(shù)據(jù)特征收集器獲取塊數(shù)據(jù)的特征值的具體過程為:塊數(shù)據(jù)特征收集器根據(jù)獲取的讀/寫的引用次數(shù)的統(tǒng)計值,周期地計算每一個塊數(shù)據(jù)的引用頻率。
5.根據(jù)權利要求1所述的方法,其特征在于:所述預設策略為: 當遷移管理器到達掃描周期時,觸發(fā)遷移工作開始,遷移工作遍歷整個存儲設備中的所有數(shù)據(jù)塊,根據(jù)設備的最大未使用時間、數(shù)據(jù)塊的最大未使用時間、塊的訪問引用計數(shù)的統(tǒng)計、設備的訪問引用計數(shù)的統(tǒng)計,判斷數(shù)據(jù)塊是否向上級或者向下級進行遷移操作;預設某一閥值,若監(jiān)控的塊數(shù)據(jù)的特征值超過該閥值,則觸發(fā)分級系統(tǒng),開始基于塊數(shù)據(jù)遷移。
6.根據(jù)權利要求1所述的方法,其特征在于:塊數(shù)據(jù)特征收集器獲取塊數(shù)據(jù)的特征值之前,還包括:存儲資源管理模塊按照性能由高到低的順序組織磁盤并構(gòu)建多級設備鏈表,將設備進行統(tǒng)一管理。
7.根據(jù)權利要求1所述的方法,其特征在于:塊數(shù)據(jù)特征收集器獲取塊數(shù)據(jù)的特征值之前,還包括:策略配置管理器對塊數(shù)據(jù)的掃描周期,不同層級設備上最大未使用時間進行設置。
8.一種基于塊級的分級存儲方法,其特征在于,包括:遷移管理器、塊數(shù)據(jù)特征收集器、策略配置管理器、存儲資源管理器;遷移管理器分別與塊數(shù)據(jù)特征收集器、策略配置管理器相連;存儲資源管理器分別與塊數(shù)據(jù)特征收集器、策略配置管理器相連; 所述塊數(shù)據(jù)特征收集器,用于獲取塊數(shù)據(jù)的特征值; 所述遷移管理器,用于獲取所述塊數(shù)據(jù)的特征值及從策略配置管理器獲取的管理參數(shù),依據(jù)預設策略,進行塊數(shù)據(jù)遷移; 所述策略配置管理器,用于設置管理參數(shù); 所述存儲資源管理模塊,用于按照性能由高到低的順序組織磁盤并構(gòu)建多級設備鏈表,將設備進行統(tǒng)一管理。
【文檔編號】G06F12/08GK103631729SQ201310658837
【公開日】2014年3月12日 申請日期:2013年12月6日 優(yōu)先權日:2013年12月6日
【發(fā)明者】施光源, 張宇, 梁志誠, 張延楓 申請人:浪潮(北京)電子信息產(chǎn)業(yè)有限公司