一種郵件高效處理方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及郵件存儲,特別涉及一種郵件高效處理方法。
【背景技術(shù)】
[0002] 郵件數(shù)據(jù)的快速增長,使郵件存儲系統(tǒng)的能耗急劇增加,在郵件數(shù)據(jù)存儲應用中, 在滿足性能需求及單盤容錯條件下,存儲陣列的并行訪問數(shù)據(jù)排列會導致存儲陣列基本執(zhí) 行讀寫操作:寫新數(shù)據(jù)時,需要先讀取對應的舊數(shù)據(jù)、舊誤差校驗數(shù)據(jù),與新數(shù)據(jù)一起生成 新的誤差校驗數(shù)據(jù)后再寫入新的誤差校驗數(shù)據(jù),嚴重影響了性能。為了提供額定的寫入性 能,存儲陣列必須運行更多磁盤以彌補局部寫入帶來的性能損失,從而會消耗更多能量。因 此,存儲陣列的節(jié)能效率亟待提高。
【發(fā)明內(nèi)容】
[0003] 為解決上述現(xiàn)有技術(shù)所存在的問題,本發(fā)明提出了一種郵件高效處理方法,包 括:
[0004] 將郵件存儲系統(tǒng)的存儲陣列中的一個存儲區(qū)作為邏輯存儲區(qū),在更新源存儲空間 時,將郵件數(shù)據(jù)寫入邏輯存儲區(qū)。
[0005] 優(yōu)選地,所述郵件存儲系統(tǒng)由N塊磁盤組成,將每個磁盤平均分成N+1個存儲區(qū),N 個相同偏移量的存儲區(qū)組成一個庫,共組成N+1個庫,選擇其中一個作為邏輯庫,其余為物 理庫,每個物理庫包含1個誤差校驗區(qū)、N-I個數(shù)據(jù)區(qū);在物理庫i中,誤差校驗區(qū)記為PB i,位于磁盤N-1-i ;第V個數(shù)據(jù)區(qū)記為DB(i,V),當i+v〈N-l時,DB(i,V)位于磁盤V,否則 位于磁盤v+1 ;其中,0 < i〈N,0 < v〈N-l ;PB i的值由通過以下運算求得:
[0007] 每個存儲區(qū)包含M個大小相等的塊,每個庫中,相同偏移量的塊集成一個條塊;所 述郵件存儲系統(tǒng)采用如下并行訪問數(shù)據(jù)來排列:將每個物理庫中的N-I個數(shù)據(jù)區(qū)平均分成 P組,每組包含Q個塊;每組中偏移量相同的塊能夠被并行訪問,每個條塊中僅部分塊提供 并行性;
[0008] 所述郵件存儲系統(tǒng)僅對物理庫進行分組,邏輯庫不參與分組,也不參與編址,對郵 件存儲系統(tǒng)的上層應用是透明的;在組地址分配上,郵件存儲系統(tǒng)采用以下策略,在每個物 理庫中,序號相鄰的組的邏輯地址相鄰;即庫i中組P的存儲區(qū)q中第m個塊的邏輯地址 為:NumB (M · Q · P · i+M · Q · p+Q · m+q);
[0009] 其中NumB為塊包含的數(shù)據(jù)塊數(shù),0彡p〈P,0彡i〈N,0彡q〈Q,0彡m〈M。
[0010] 優(yōu)選地,該方法還包括,在邏輯存儲區(qū)寫滿后,修改映射表使所述邏輯存儲區(qū)取代 源存儲空間,具體包括:
[0011] 步驟(1).向某源存儲庫寫數(shù)據(jù)時,數(shù)據(jù)寫入對應的邏輯庫;
[0012] 步驟(2).根據(jù)寫入數(shù)據(jù)、本次循環(huán)中邏輯庫中已寫數(shù)據(jù)的誤差校驗數(shù)據(jù),生成邏 輯庫的新的誤差校驗數(shù)據(jù);
[0013] 步驟(3).如果邏輯庫未寫滿,轉(zhuǎn)到步驟⑴;
[0014] 步驟(4).如果邏輯庫寫滿,修改地址映射關(guān)系,令邏輯庫取代源存儲庫,本次循 環(huán)結(jié)束;
[0015] 步驟(5).被取代的源存儲庫此時無映射關(guān)系,在下一循環(huán)中作為邏輯庫。
[0016] 本發(fā)明相比現(xiàn)有技術(shù),具有以下優(yōu)點:
[0017] 本發(fā)明提出了一種郵件高效處理方法,保持了并行訪問的低能耗,又解決了并行 訪問帶來的局部寫入問題,具有突出的寫入性能和節(jié)能效率。
【附圖說明】
[0018] 圖1是根據(jù)本發(fā)明實施例的郵件高效處理方法的流程圖。
【具體實施方式】
[0019] 下文與圖示本發(fā)明原理的附圖一起提供對本發(fā)明一個或者多個實施例的詳細描 述。結(jié)合這樣的實施例描述本發(fā)明,但是本發(fā)明不限于任何實施例。本發(fā)明的范圍僅由權(quán) 利要求書限定,并且本發(fā)明涵蓋諸多替代、修改和等同物。在下文描述中闡述諸多具體細節(jié) 以便提供對本發(fā)明的透徹理解。出于示例的目的而提供這些細節(jié),并且無這些具體細節(jié)中 的一些或者所有細節(jié)也可以根據(jù)權(quán)利要求書實現(xiàn)本發(fā)明。
[0020] 本發(fā)明的一方面提供了一種郵件高效處理方法。圖1是根據(jù)本發(fā)明實施例的郵件 高效處理方法流程圖。
[0021] 本發(fā)明采用面向郵件數(shù)據(jù)存儲的高效能存儲陣列,采用了新的并行訪問數(shù)據(jù)排 列,并綜合運用了以下策略,以實現(xiàn)高性能和高節(jié)能效率。在地址映射中將隨機寫入轉(zhuǎn)化為 順序?qū)懭?;將存儲空間劃分成多個相等的存儲區(qū),其中之一作為邏輯存儲區(qū),更新源存儲空 間時,數(shù)據(jù)寫入邏輯存儲區(qū);邏輯存儲區(qū)寫滿后,修改映射表使它取代源存儲空間;下一個 循環(huán)中,源存儲空間作為邏輯存儲區(qū),緩存其他存儲區(qū)的寫數(shù)據(jù):寫數(shù)據(jù)與邏輯存儲區(qū)已有 誤差校驗數(shù)據(jù)一起生成新的誤差校驗數(shù)據(jù),隨著邏輯存儲區(qū)中數(shù)據(jù)的增加,誤差校驗數(shù)據(jù) 的誤差校驗范圍也逐漸擴大。生成新的誤差校驗數(shù)據(jù)時無需讀取舊數(shù)據(jù),當采用流水方式 讀取邏輯存儲區(qū)已有誤差校驗數(shù)據(jù)、寫入新的誤差校驗數(shù)據(jù)時,可消除讀誤差校驗數(shù)據(jù)對 性能的影響;利用分段數(shù)據(jù)容錯:聯(lián)合邏輯存儲區(qū)、源存儲空間實現(xiàn)數(shù)據(jù)恢復。本發(fā)明的郵 件存儲系統(tǒng)保持了并行訪問的低能耗,又解決了并行訪問帶來的局部寫入問題,具有突出 的寫入性能和節(jié)能效率。
[0022] 郵件存儲系統(tǒng)實現(xiàn)方法主要包括數(shù)據(jù)排列、寫操作過程、數(shù)據(jù)恢復3方面內(nèi)容。其 中,寫操作過程又包括地址映射、遠程數(shù)據(jù)更新、擴展誤差校驗。郵件存儲系統(tǒng)由N塊磁盤 組成,每個磁盤平均分成N+1個存儲區(qū)。N個相同偏移量的存儲區(qū)組成一個庫,共組成N+1 個庫,選擇其中一個作為邏輯庫,其余為物理庫。每個物理庫包含1個誤差校驗區(qū)、N-I個 數(shù)據(jù)區(qū)。在物理庫i中,誤差校驗區(qū)記為PB i,位于磁盤N-1-i;第V個數(shù)據(jù)區(qū)記為DB(i, v),當i+v〈N-l時,DB(i,v)位于磁盤v,否則位于磁盤v+1。其中,0彡i〈N,0彡v〈N-l。PB i的值由通過異或運算求得:
[0024] 令每個存儲區(qū)包含M個大小相等的塊,每個庫中,相同偏移量的塊集成一個條塊。
[0025] 為了提供合適的性能,郵件存儲系統(tǒng)采用如下并行訪問數(shù)據(jù)來排列:將每個物理 庫中的N-I個數(shù)據(jù)區(qū)平均分成P組,每組包含Q個塊。每組中偏移量相同的塊能夠被并行 訪問,每個條塊中僅部分塊提供并行性。
[0026] 郵件存儲系統(tǒng)僅對物理庫進行分組,邏輯庫不參與分組,也不參與編址,對郵件存 儲系統(tǒng)的上層應用是透明的。在組地址分配上,郵件存儲系統(tǒng)采用了以下策略:在每個物理 庫中,序號相鄰的組的邏輯地址相鄰。設NumB為塊包含的數(shù)據(jù)塊數(shù),則庫i,組p,存儲區(qū)q 中第m個塊的邏輯地址為:NumB (Μ · Q · P · i+M · Q · p+Q · m+q);
[0027] 這里,0 彡 p〈P,0 彡 i〈N,0 彡 q〈Q,0 彡 m〈M。
[0028] 郵件存儲系統(tǒng)的數(shù)據(jù)排列和編址方式能夠提供足夠的并行度,并且對于郵件數(shù)據(jù) 存儲應用,可保證I/O請求在很長的時間內(nèi)集中在一個或幾個組中,其他多數(shù)磁盤有足夠 長的待機時間,可調(diào)度到待機模式以節(jié)約能耗。
[0029] 郵件存儲系統(tǒng)的寫操作過程綜合運用了地址映射、遠程數(shù)據(jù)更新、擴展誤差校驗 等策略,生成誤差校驗數(shù)據(jù)時無需讀取舊數(shù)據(jù),當采用流水方式讀取已有誤差校驗數(shù)據(jù)、寫 入新的誤差校驗數(shù)據(jù)時,可有效解決并行訪問帶來的局部寫入問題。此外,地址映射將隨機 寫入轉(zhuǎn)換成順序?qū)懭?,又進一步提升了郵件存儲系統(tǒng)的寫入性能。
[0030] 郵件存儲系統(tǒng)以寫新數(shù)據(jù)為主,較少進行改寫操作,適合采用塊集映射。地址映射 信息為存儲容量的8Λ?024Χχ),其中,8個字節(jié)(64位)記錄一個塊集地址,X為塊集大小 以KB為單位。當郵件存儲系統(tǒng)的存儲容量為30ΤΒ、塊集大小為64ΚΒ時,地址映射信息僅 為3. 67GB,適合采用固態(tài)硬盤進行存儲,運行時甚至可以完全調(diào)入內(nèi)存,以加快讀、寫操作 中的地址轉(zhuǎn)換速度。
[0031] 將隨機寫入轉(zhuǎn)換為