一種日志映射的塊設(shè)備精簡(jiǎn)配置方法
【專利摘要】本發(fā)明公開了一種日志映射的塊設(shè)備精簡(jiǎn)配置方法,該方法包括:硬盤數(shù)據(jù)布局步驟用于將存儲(chǔ)資源格式化,將硬盤數(shù)據(jù)布局進(jìn)行資源池化管理,以支持精簡(jiǎn)配置的資源分配及日志映射信息的存儲(chǔ)和管理;精簡(jiǎn)配置資源管理步驟用于基于資源池化的硬盤,將數(shù)據(jù)按照存儲(chǔ)資源寫時(shí)按需分配方式順序?qū)懭胗脖P的下一空閑資源,并生成寫操作相應(yīng)的映射信息;映射信息日志化步驟用于將寫操作映射信息按照追加分配方式進(jìn)行日志化存儲(chǔ),并基于異步更新方式進(jìn)行映射信息的修改操作,以實(shí)現(xiàn)多用戶多虛擬卷并發(fā)順序的數(shù)據(jù)寫入。
【專利說明】 一種日志映射的塊設(shè)備精簡(jiǎn)配置方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)存儲(chǔ)領(lǐng)域,特別涉及一種精簡(jiǎn)配置方法。
【背景技術(shù)】
[0002]隨著現(xiàn)代社會(huì)信息數(shù)據(jù)增多,大數(shù)據(jù)挑戰(zhàn)存儲(chǔ)系統(tǒng)的容量、性能和可維護(hù)性。隨著存儲(chǔ)的數(shù)據(jù)量持續(xù)快速增長(zhǎng),在不影響服務(wù)的情況下,存儲(chǔ)系統(tǒng)需要增加新的硬盤進(jìn)行容量擴(kuò)容。然而,在傳統(tǒng)的存儲(chǔ)系統(tǒng)中,當(dāng)某個(gè)應(yīng)用需要一部分存儲(chǔ)空間的時(shí)候,系統(tǒng)劃分出一部分足夠大的空間預(yù)先分配給該應(yīng)用。此時(shí),這個(gè)應(yīng)用暫時(shí)沒有足夠的數(shù)據(jù)來填充分配給它的存儲(chǔ)空間。由于這部分存儲(chǔ)空間已經(jīng)被預(yù)留出來,因此系統(tǒng)無法將空余的空間提供給其他的應(yīng)用使用。另外,該應(yīng)用程序產(chǎn)生的數(shù)據(jù)增長(zhǎng)將來有可能超出前述分配的容量空間。
[0003]精簡(jiǎn)配置(Thin-Provis1ning)存儲(chǔ)系統(tǒng)可實(shí)現(xiàn)存儲(chǔ)資源的動(dòng)態(tài)分配和增長(zhǎng)。精簡(jiǎn)配置技術(shù)也稱為“自動(dòng)精簡(jiǎn)配置”。物理存儲(chǔ)資源只有當(dāng)數(shù)據(jù)寫操作發(fā)生的時(shí)候才被分配,這種分配空間的方法也被稱為“按需分配” (On-DemandAllocat1n)或“寫時(shí)分配”。精簡(jiǎn)配置將所有的存儲(chǔ)空間匯集到一個(gè)統(tǒng)一的存儲(chǔ)池(Storage Pool)中,并使用同樣大小的“段”(Segment)將空間分塊,按需分配存儲(chǔ)池中的“段”。精簡(jiǎn)配置存儲(chǔ)系統(tǒng)提供給用戶虛擬卷(Volume)。虛擬卷的可視容量由存儲(chǔ)管理員設(shè)定,其虛擬地址空間被劃分以同樣大小的“段”。根據(jù)應(yīng)用對(duì)“卷”的寫操作請(qǐng)求,系統(tǒng)按需建立映射信息,在此之后對(duì)該“段”進(jìn)行所有讀寫操作時(shí),根據(jù)映射信息重定向?qū)懖僮髦翆?duì)應(yīng)硬盤地址。精簡(jiǎn)配置通過存儲(chǔ)虛擬化提供了比實(shí)際物理存儲(chǔ)容量更大的虛擬存儲(chǔ)容量。當(dāng)系統(tǒng)中剩余的存儲(chǔ)容量較少時(shí),通過添加新的硬盤,精簡(jiǎn)配置存儲(chǔ)系統(tǒng)會(huì)再次擴(kuò)充存儲(chǔ)空間??偵纤觯?jiǎn)配置技術(shù)具有很高的存儲(chǔ)空間利用率,并能動(dòng)態(tài)實(shí)現(xiàn)存儲(chǔ)空間擴(kuò)容。
[0004]現(xiàn)有技術(shù)中存在以下問題:
[0005]I)存儲(chǔ)的性能主要被寫性能限制,90%的讀操作將命中主存(RAM),硬盤上1/0請(qǐng)求的多數(shù)是寫操作,因此優(yōu)化存儲(chǔ)的寫性能非常關(guān)鍵。
[0006]然而,多個(gè)虛擬卷順序并發(fā)寫入同一個(gè)硬盤時(shí)將會(huì)導(dǎo)致精簡(jiǎn)配置存儲(chǔ)的性能下降。一個(gè)硬盤的存儲(chǔ)資源可能分配給多個(gè)虛擬卷,在這些虛擬卷同時(shí)寫入時(shí)(例如多攝像頭的視頻監(jiān)控環(huán)境,電影后期制作的非線性編輯環(huán)境),多個(gè)并發(fā)順序?qū)懭脒^程在硬盤上表現(xiàn)為并發(fā)的離散寫入,這種寫入模式延遲較高,從而導(dǎo)致硬盤帶寬很低,硬盤寫入帶寬可能大幅下降到順序?qū)懭霂挼?0%。
[0007]2)另外,現(xiàn)有的日志方法(數(shù)據(jù)塊日志文件,日志文件系統(tǒng))適合“文件系統(tǒng)層”,而精簡(jiǎn)配置存儲(chǔ)在文件系統(tǒng)層下層的“塊設(shè)備層”。因此,現(xiàn)有日志方法并不適用。
【發(fā)明內(nèi)容】
[0008]本發(fā)明提出了結(jié)合日志和精簡(jiǎn)配置資源管理的技術(shù),將數(shù)據(jù)和映射信息都按寫時(shí)分配方式寫入順序的下一個(gè)空閑資源。本發(fā)明的優(yōu)勢(shì)在于提高硬盤帶寬利用率,減少并發(fā)順序?qū)戦_銷,實(shí)現(xiàn)資源按需分配的精簡(jiǎn)配置存儲(chǔ)。本發(fā)明的目的是克服現(xiàn)有精簡(jiǎn)配置存儲(chǔ)系統(tǒng)在多卷順序?qū)懭胗脖P時(shí)帶寬下降的缺陷,結(jié)合日志技術(shù)和精簡(jiǎn)配置資源管理,提出了數(shù)據(jù)和映射信息都按存儲(chǔ)資源寫時(shí)分配方式寫入下一個(gè)空閑資源的方法,從而提供一種適用于多用戶多虛擬卷并發(fā)順序?qū)懭氲摹⒏咝阅艿奶摂M塊設(shè)備層的精簡(jiǎn)配置存儲(chǔ)方法。
[0009]為達(dá)上述目的,本發(fā)明提供了一種日志映射的塊設(shè)備精簡(jiǎn)配置方法,其特征在于,所述方法包括:
[0010]硬盤數(shù)據(jù)布局步驟:將存儲(chǔ)資源格式化,將硬盤數(shù)據(jù)布局進(jìn)行資源池化管理,以支持精簡(jiǎn)配置的資源分配及日志映射信息的存儲(chǔ)和管理;
[0011]精簡(jiǎn)配置資源管理步驟:基于所述資源池化的硬盤,采用將數(shù)據(jù)按照存儲(chǔ)資源寫時(shí)按需分配方式順序?qū)懭胨鲇脖P的下一空閑資源,并生成相應(yīng)的寫操作映射信息;
[0012]映射信息日志化步驟:將所述寫操作映射信息按照追加分配方式進(jìn)行日志化存儲(chǔ),并基于異步更新方式進(jìn)行所述映射信息的修改操作,以實(shí)現(xiàn)多用戶多虛擬卷并發(fā)順序的數(shù)據(jù)寫入。
[0013]上述日志映射的塊設(shè)備精簡(jiǎn)配置方法,其特征在于,所述方法還包括:
[0014]系統(tǒng)自舉和恢復(fù)步驟:基于兩級(jí)檢查點(diǎn)方法和動(dòng)態(tài)日志區(qū)管理方法,實(shí)現(xiàn)所述存儲(chǔ)資源的寫時(shí)分配加速,及系統(tǒng)自舉快速恢復(fù)和崩潰快速恢復(fù)。
[0015]上述日志映射的塊設(shè)備精簡(jiǎn)配置方法,其特征在于,所述單位包括:
[0016]粒:用于存儲(chǔ)資源管理的最小單位;
[0017]段:由固定數(shù)量的多個(gè)連續(xù)的所述粒組成的定長(zhǎng)資源,包含:數(shù)據(jù)和反向映射表。所述反向映射表用于持久存儲(chǔ)所述段中用于數(shù)據(jù)的所述粒的反向映射信息,所述反向映射信息用于從硬盤地址查詢獲得虛擬地址;
[0018]簇:由固定數(shù)量的多個(gè)連續(xù)的所述段組成的定長(zhǎng)資源,存儲(chǔ)池向動(dòng)態(tài)日志區(qū)分配資源的單位,包括:簇編號(hào)、空閑粒數(shù)量、可分配粒數(shù)量、空閑粒位圖和時(shí)間戳;
[0019]硬盤元數(shù)據(jù)信息:用于所述系統(tǒng)自舉和恢復(fù)步驟中讀取的數(shù)據(jù)信息,包括:物理硬盤信息、存儲(chǔ)池信息、虛擬卷信息、映射檢索信息和空閑資源信息;
[0020]元數(shù)據(jù)卷:用于將正向映射表中的正向映射信息及其修改操作寫入日志,所述元數(shù)據(jù)卷與虛擬卷--對(duì)應(yīng)。
[0021]上述日志映射的塊設(shè)備精簡(jiǎn)配置方法,其特征在于,所述反向映射表包含:虛擬粒號(hào)、校驗(yàn)信息、虛擬卷標(biāo)識(shí)、釋放的硬盤粒號(hào)和時(shí)間戳,所述校驗(yàn)信息用于檢查存儲(chǔ)數(shù)據(jù)的所述粒與所述粒的反向映射表是否完成,所述時(shí)間戳用于記錄一個(gè)所述反向映射信息的生成時(shí)間,所述反向映射信息與數(shù)據(jù)采取異步寫入方式。
[0022]上述日志映射的塊設(shè)備精簡(jiǎn)配置方法,其特征在于,所述正向映射表存儲(chǔ)于主存中,用于存儲(chǔ)從虛擬地址查詢獲得硬盤地址的正向映射信息,所述正向映射表包含區(qū)映射,所述區(qū)映射為連續(xù)的虛擬粒和連續(xù)的硬盤粒之間的映射,所述區(qū)映射包括:物理存儲(chǔ)資源設(shè)備標(biāo)志、物理起始粒編號(hào)、虛擬卷標(biāo)志、虛擬起始粒編號(hào)和連續(xù)粒的數(shù)量。
[0023]上述日志映射的塊設(shè)備精簡(jiǎn)配置方法,其特征在于,所述精簡(jiǎn)配置資源管理步驟包括:
[0024]寫操作步驟: 基于資源寫時(shí)分配和日志式分配策略,將數(shù)據(jù)按順序追加寫入硬盤,并生成映射信息;[0025]讀操作步驟:通過查找所述正向映射表的映射信息,進(jìn)行數(shù)據(jù)讀取。
[0026]上述日志映射的塊設(shè)備精簡(jiǎn)配置方法,其特征在于,所述映射記錄日志化步驟包括:
[0027]映射信息寫步驟:將所述寫操作步驟生成的新的映射信息寫入硬盤的所述反向映射表,成功后更新存儲(chǔ)于主存中的所述正向映射表,并將所述正向映射表的映射信息異步寫入日志;
[0028]映射信息延遲寫入步驟:所述正向映射信息分組打包為所述粒大小的正向映射記錄,所述正向映射記錄的時(shí)間戳為打包時(shí)刻組中所有所述正向映射信息時(shí)間戳最小值;
[0029]映射信息修改步驟:通過解除映射和重新映射的所述映射記錄,釋放虛擬卷的存儲(chǔ)資源或在所述虛擬卷之間進(jìn)行映射關(guān)系轉(zhuǎn)換;
[0030]映射信息回收步驟:正向映射記錄寫入日志結(jié)束后,回收舊的映射記錄的存儲(chǔ)資源,所述映射記錄包含:所述正向映射記錄、解除映射記錄和重新映射記錄。
[0031]上述日志映射的塊設(shè)備精簡(jiǎn)配置方法,其特征在于,所述基于資源寫時(shí)分配和日志式分配策略包括:
[0032]將所述寫操作劃分為對(duì)齊寫和非對(duì)齊寫,所述對(duì)齊寫為寫入日志末尾下一個(gè)空閑塊,所述非對(duì)齊寫為寫入上一次寫入的日志位置,作為所述對(duì)齊寫的補(bǔ)充。
[0033]上述日志映射的塊設(shè)備精簡(jiǎn)配置方法,其特征在于,所述系統(tǒng)自舉和恢復(fù)步驟包括:
[0034]兩級(jí)檢查點(diǎn)步驟:通過一級(jí)檢查點(diǎn)存儲(chǔ)虛擬卷的正向映射信息,并通過二級(jí)檢查點(diǎn)存儲(chǔ)所述正向映射信息的檢索信息;
[0035]動(dòng)態(tài)日志區(qū)管理步驟:動(dòng)態(tài)移動(dòng)和增減寫入時(shí)分配資源的區(qū)域,以實(shí)現(xiàn)資源的動(dòng)態(tài)分配,并實(shí)現(xiàn)在動(dòng)態(tài)日志區(qū)中的檢索;
[0036]系統(tǒng)恢復(fù)步驟:通過讀取正向映射信息、動(dòng)態(tài)日志區(qū)信息和映射修改記錄,完成系統(tǒng)恢復(fù)。
[0037]上述日志映射的塊設(shè)備精簡(jiǎn)配置方法,其特征在于,所述寫操作步驟還包括:
[0038]接收寫操作步驟:將寫入的數(shù)據(jù)按照所述粒劃分為多個(gè)寫操作數(shù)據(jù)塊,對(duì)于所述數(shù)據(jù)塊長(zhǎng)度為所述粒長(zhǎng)度的數(shù)據(jù),采取所述對(duì)齊寫方式,對(duì)于所述數(shù)據(jù)塊長(zhǎng)度小于所述粒長(zhǎng)度的數(shù)據(jù),采取所述非對(duì)齊寫方式;
[0039]查找正向映射表步驟:在主存中的所述正向映射表中查找所述數(shù)據(jù)塊的映射信息,如果查找所述映射信息成功,則判斷是否采取所述對(duì)齊寫方式,如果查找所述映射信息失敗,則按照所述追加寫方式分配新的存儲(chǔ)資源;
[0040]對(duì)齊寫步驟:對(duì)于需要采取所述對(duì)齊寫方式的所述數(shù)據(jù)塊,將所述數(shù)據(jù)塊寫入日志,即上次寫入位置后的第一塊空閑塊,并異步的在日志當(dāng)前段的末尾記錄虛擬卷地址信息,更新主存中所述正向映射表信息和時(shí)間戳;
[0041]非對(duì)齊寫步驟:對(duì)于需要采取所述非對(duì)齊寫方式的所述數(shù)據(jù)塊,將所述數(shù)據(jù)塊寫入所述粒在日志的上次的物理位置,并且所述正向映射表中的映射信息保持不變;
[0042]回收步驟:回收失效的存儲(chǔ)資源,虛擬卷寫操作成功。
[0043]上述日志映射的塊設(shè)備精簡(jiǎn)配置方法,其特征在于,所述映射信息修改步驟還包括:[0044]解除映射步驟:用于釋放所述虛擬卷的存儲(chǔ)資源;
[0045]重新映射步驟:用于在所述虛擬卷之間進(jìn)行映射關(guān)系的轉(zhuǎn)換。
[0046]上述日志映射的塊設(shè)備精簡(jiǎn)配置方法,其特征在于,所述解除映射步驟還包括:
[0047]接收解除請(qǐng)求步驟:虛擬卷接收到解除映射請(qǐng)求,根據(jù)所述解除映射請(qǐng)求獲取待解除映射的映射區(qū)間,并按照所述映射區(qū)間長(zhǎng)度分配長(zhǎng)度為所述粒整數(shù)倍的寫緩存;
[0048]查找解除步驟:針對(duì)所述映射區(qū)間內(nèi)每個(gè)待解除映射數(shù)據(jù)塊的虛擬地址在主存中查找所述正向映射表,查找命中所述正向映射表的相應(yīng)表項(xiàng),并將解除映射信息記錄在所述寫緩存,并將所述寫緩存下刷寫入日志;
[0049]刪除映射步驟:對(duì)所述映射區(qū)間內(nèi)所述待解除映射數(shù)據(jù)塊的虛擬地址進(jìn)行刪除操作,刪除主存中所述正向映射表中的對(duì)應(yīng)表項(xiàng),更新所述正向映射表中對(duì)應(yīng)映射區(qū)間的時(shí)間戳為當(dāng)前時(shí)間,并將所述待解除映射數(shù)據(jù)塊標(biāo)記為空閑資源。
[0050]上述日志映射的塊設(shè)備精簡(jiǎn)配置方法,其特征在于,所述重新映射步驟還包括:
[0051]接收重新映射請(qǐng)求步驟:虛擬卷接收重新映射請(qǐng)求,根據(jù)所述重新映射請(qǐng)求獲取重新映射的映射區(qū)間,并按照所述映射區(qū)間長(zhǎng)度分配長(zhǎng)度為所述粒整數(shù)倍的寫緩存;
[0052]查找映射步驟:根據(jù)所述映射區(qū)間內(nèi)每個(gè)待重新映射的虛擬地址在主存中查找待映射的源虛擬卷,在所述源虛擬卷中查找命中所述正向映射表的相應(yīng)表項(xiàng),并根據(jù)同一虛擬地址進(jìn)行待映射的目標(biāo)虛擬卷查找,在所述目標(biāo)虛擬卷中查找命中所述正向映射表的表項(xiàng),將重新映射的操作記錄在所述寫緩存中,并下刷寫入日志;
[0053]更新步驟:刪除主存中所述源虛擬卷的正向映射表中查找成功的表項(xiàng),更新所述源虛擬卷中映射區(qū)間的時(shí)間戳為當(dāng)前時(shí)間,并更新所述目標(biāo)虛擬卷的查找成功表項(xiàng),更新所述目標(biāo)虛擬卷中映射區(qū)間的時(shí)間戳為當(dāng)前時(shí)間,并將所述目標(biāo)虛擬卷中解除映射的數(shù)據(jù)塊標(biāo)記為空閑資源。
[0054]上述日志映射的塊設(shè)備精簡(jiǎn)配置方法,其特征在于,所述兩級(jí)檢查點(diǎn)步驟還包括:
[0055]掃描步驟:將主存中所述正向映射表的信息按組進(jìn)行分配,所述組為所述簇中的所有映射,對(duì)所述組進(jìn)行掃描;
[0056]分裂步驟:如果所述組占用空間大于所述粒的指定尺寸,則將所述組分裂為多個(gè)組,對(duì)分裂后的所述組進(jìn)行掃描;
[0057]合并步驟:如果所述組占用空間小于所述粒的指定尺寸,則將所述組進(jìn)行合并,對(duì)合并后的所述組進(jìn)行掃描;
[0058]記錄步驟:如果所述組的占用空間在所述粒的指定尺寸內(nèi),則分配一個(gè)所述粒尺寸的緩存區(qū),將所述組中的映射區(qū)間及當(dāng)前時(shí)間戳記錄到所述緩存區(qū);
[0059]釋放回收步驟:如果所述正向映射表屬于所述元數(shù)據(jù)卷,則將所述緩存區(qū)下刷到所述硬盤頭部的映射檢索區(qū),并回收失效的映射記錄的存儲(chǔ)資源,如果所述正向映射表屬于所述虛擬卷,則將所述緩存區(qū)下刷到所述元數(shù)據(jù)卷,并釋放反向映射資源。
[0060]上述日志映射的塊設(shè)備精簡(jiǎn)配置方法,其特征在于,所述動(dòng)態(tài)日志區(qū)管理步驟還包括:
[0061]寫時(shí)資源分配步驟:用于在寫時(shí)分配時(shí),從動(dòng)態(tài)日志區(qū)分配資源;
[0062]動(dòng)態(tài)日志管理步驟:用于系統(tǒng)恢復(fù)時(shí),讀取相關(guān)映射信息,進(jìn)行時(shí)間戳比較,將最新時(shí)間戳的映射信息恢復(fù)到主存中。
[0063]上述日志映射的塊設(shè)備精簡(jiǎn)配置方法,其特征在于,所述系統(tǒng)恢復(fù)步驟還包括:
[0064]讀取檢索信息步驟:讀取硬盤上的正向映射表,加載所述正向映射表到主存,讀取所述硬盤上的動(dòng)態(tài)日志區(qū)檢索信息,進(jìn)行動(dòng)態(tài)日志區(qū)定位;
[0065]掃描步驟:順序掃描所述動(dòng)態(tài)日志區(qū),讀取映射修改記錄,并根據(jù)所述映射修改記錄查詢正向映射表,如果所述映射修改記錄的時(shí)間戳小于所述正向映射表的時(shí)間戳,則丟棄所述映射修改記錄,如果所述映射修改記錄的時(shí)間戳大于所述正向映射表的時(shí)間戳,則將所述映射修改記錄更新到所述正向映射表,并回收所述映射修改記錄的存儲(chǔ)資源。
[0066]上述日志映射的塊設(shè)備精簡(jiǎn)配置方法,其特征在于,所述寫時(shí)資源分配步驟還包括:
[0067]查詢資源步驟:查詢當(dāng)前簇的存儲(chǔ)資源,如果所述簇沒有空閑資源,則查詢下一個(gè)所述簇;
[0068]分配資源步驟:如果所述查詢資源步驟中,查詢所述當(dāng)前簇中有空閑資源,則從所述當(dāng)前簇中分配存儲(chǔ)資源;
[0069]檢查動(dòng)態(tài)資源步驟:檢查當(dāng)前動(dòng)態(tài)日志區(qū)的總空閑資源數(shù)量,如果所述空閑資源小于一定閾值,則執(zhí)行所述動(dòng)態(tài)日志管理步驟。
[0070]上述日志映射的塊設(shè)備精簡(jiǎn)配置方法,其特征在于,所述動(dòng)態(tài)日志管理步驟還包括:
[0071]查找空閑資源步驟:在存儲(chǔ)資源池中順序查找有空閑的所述簇,如果查找成功,則將所述簇的位置信息更新到主存中的動(dòng)態(tài)日志檢索,分配動(dòng)態(tài)日志檢索區(qū)長(zhǎng)度的緩存區(qū);
[0072]更新簇步驟:在所述緩存區(qū)中填入時(shí)間戳和所述動(dòng)態(tài)日志區(qū)的簇的相關(guān)信息,將緩存區(qū)下刷到存儲(chǔ)池中所有硬盤的動(dòng)態(tài)日志檢索區(qū),并更新主存中的動(dòng)態(tài)日志區(qū)信息;
[0073]通知步驟:所述查找空閑資源步驟中,如果查找空閑的所述簇失敗,則輸出通知用戶信息。
[0074]與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果在于:
[0075]I)結(jié)合了日志資源追加分配和精簡(jiǎn)配置資源按需分配,將來自多個(gè)虛擬卷的并發(fā)順序?qū)懭氲臄?shù)據(jù)和新映射信息都按寫時(shí)分配方式寫入硬盤,一般分配策略為追加寫,開銷小。因此在多用戶多流并發(fā)順序?qū)憰r(shí),本發(fā)明的硬盤帶寬利用率高(>85%);
[0076]2)映射信息的日志化寫入,實(shí)現(xiàn)了映射信息的動(dòng)態(tài)分散存儲(chǔ),簡(jiǎn)化了映射信息的存儲(chǔ)管理復(fù)雜性;
[0077]3)映射修改記錄先順序?qū)懭胱陨淼娜罩?,而后異步更新到正向映射的日志,?shí)現(xiàn)了快速地映射修改;
[0078]4)系統(tǒng)自舉速度快,本發(fā)明通過正向映射檢索加載映射信息,然后僅需要掃描動(dòng)態(tài)日志區(qū)加載最新映射信息。
【專利附圖】
【附圖說明】
[0079]圖1為本發(fā)明方法流程示意圖;
[0080]圖2A?圖2E為本發(fā)明方法詳細(xì)流程示意圖;
[0081]圖3為本發(fā)明物理硬盤布局示意圖;[0082]圖4為本發(fā)明簇的布局示意圖;
[0083]圖5為本發(fā)明段的布局示意圖;
[0084]圖6為本發(fā)明實(shí)施例寫操作步驟流程示意圖;
[0085]圖7為本發(fā)明實(shí)施例解除映射步驟流程示意圖;
[0086]圖8為本發(fā)明實(shí)施例重新映射步驟流程示意圖;
[0087]圖9為本發(fā)明實(shí)施例更新映射信息步驟流程示意圖;
[0088]圖10為本發(fā)明實(shí)施例映射追加與和兩級(jí)檢查點(diǎn)步驟流程不意圖;
[0089]圖11為本發(fā)明實(shí)施例兩級(jí)檢查點(diǎn)步驟流程示意圖;
[0090]圖12為本發(fā)明實(shí)施例寫時(shí)資源分配流程示意圖;
[0091]圖13為本發(fā)明實(shí)施例動(dòng)態(tài)日志區(qū)管理步驟流程示意圖;
[0092]圖14為本發(fā)明實(shí)施例系統(tǒng)恢復(fù)流程示意圖。
[0093]其中,附圖標(biāo)記:
[0094]SI ?S4、S21 ?S22、S31 ?S34、S41 ?S43、S211 ?S215、S411 ?S415、S3311 ?S3313、S3321?S3323、S4211?S4213、S4221?S4223:本發(fā)明各實(shí)施例的施行步驟
【具體實(shí)施方式】
[0095]下面給出本發(fā)明的【具體實(shí)施方式】,結(jié)合圖示對(duì)本發(fā)明做出了詳細(xì)描述。
[0096]本發(fā)明提出的“追加寫”能最大化硬盤(包括固態(tài)硬盤SSD)的寫帶寬,然而存儲(chǔ)資源的映射信息管理復(fù)雜。追加寫來源于數(shù)據(jù)庫使用的日志和日志結(jié)構(gòu)文件系統(tǒng)(Log-structured File System, LFS),能夠保持連續(xù)的順序?qū)懭搿FS使用一個(gè)順序的、只能追加寫(Append)的結(jié)構(gòu),將一系列對(duì)文件的改變記錄到一個(gè)大的日志項(xiàng)中,并將這個(gè)日志項(xiàng)一次寫入硬盤。因此,LFS每次寫入硬盤一個(gè)大的連續(xù)數(shù)據(jù)塊,從而提高硬盤帶寬的利用率。在系統(tǒng)崩潰后,只需查看日志文件的尾部就能快速的恢復(fù)文件系統(tǒng)。由于日志寫入,系統(tǒng)需要維護(hù)存儲(chǔ)資源的映射信息來實(shí)現(xiàn)資源的按需分配和空閑資源管理。同時(shí),映射信息寫時(shí)分配存儲(chǔ),這使得存儲(chǔ)資源的管理比較復(fù)雜。
[0097]本發(fā)明的技術(shù)關(guān)鍵點(diǎn)在于:
[0098]I)資源寫時(shí)分配和面向優(yōu)化寫性能的日志式分配策略,能維持較低的寫入開銷。
[0099]a)將寫操作劃分為“對(duì)齊寫”和“非對(duì)齊寫”分別處理。
[0100]b)對(duì)齊寫:寫入日志末尾下一個(gè)空閑塊。
[0101]c)非對(duì)齊寫:寫入該地址的上一次寫入的日志位置,作為“對(duì)齊寫”的補(bǔ)充。
[0102]2)資源池化管理的硬盤數(shù)據(jù)布局(也稱為“格式化”),能支持精簡(jiǎn)配置的資源分配和管理、日志映射信息的存儲(chǔ)和管理。
[0103]a)粒:存儲(chǔ)資源管理的最小單位,其大小在配置資源池時(shí)指定。
[0104]b)段:由多個(gè)連續(xù)的粒組成的定長(zhǎng)資源,包括數(shù)據(jù)和反向映射。關(guān)鍵特征:
[0105]i)反向映射表(反向映射記錄)。反向映射表持久存儲(chǔ)段中所有粒的反向映射。反向映射可從硬盤地址(硬盤數(shù)據(jù)塊的LBA地址)查詢獲得虛擬地址。寫入硬盤的反向映射信息包括:虛擬粒號(hào)、校驗(yàn)、虛擬卷標(biāo)識(shí)、釋放的硬盤粒號(hào)、時(shí)間戳。其中,硬盤粒號(hào)可由所在硬盤地址通過硬盤布局計(jì)算獲得,也可存儲(chǔ)在反向映射信息中。時(shí)間戳用于記錄一個(gè)反向映射的生成時(shí)間。[0106]?)校驗(yàn)信息。用于檢查存儲(chǔ)上層數(shù)據(jù)的粒和它的反向映射信息是否都完成。在系統(tǒng)崩潰恢復(fù)時(shí),如果硬盤上的校驗(yàn)跟重新計(jì)算的校驗(yàn)一致,那么認(rèn)為存儲(chǔ)上層數(shù)據(jù)的粒和它的反向映射信息都有效,否則認(rèn)為這二者都無效。校驗(yàn)通過計(jì)算對(duì)應(yīng)粒中的部分內(nèi)容獲得,使校驗(yàn)出錯(cuò)的概率小于等于硬盤不可恢復(fù)讀錯(cuò)誤的概率。
[0107]iii)反向映射信息和數(shù)據(jù)的異步寫入。寫入“段尾”反向映射信息的1和寫入“段”內(nèi)空閑“?!钡?需要滿足如下的順序約定:即直到數(shù)據(jù)寫入和反向映射信息寫入都完成后,虛擬卷才向上層返回?cái)?shù)據(jù)寫入成功。
[0108]c)簇:有多個(gè)連續(xù)的段組成的定長(zhǎng)資源,存儲(chǔ)池向動(dòng)態(tài)日志區(qū)分配資源的單位。關(guān)鍵信息包括:簇編號(hào)、空閑粒數(shù)量、可分配粒數(shù)量、空閑粒位圖、時(shí)間戳。
[0109]d)硬盤元數(shù)據(jù)信息:在系統(tǒng)自舉過程讀取。關(guān)鍵信息包括:物理硬盤信息、存儲(chǔ)池信息、虛擬卷信息、映射檢索信息、空閑資源信息。
[0110]3)映射信息的日志化存儲(chǔ)。在日志中存儲(chǔ)正向映射表,減少正向映射信息(從虛擬地址獲得硬盤地址,以區(qū)別反向映射)的寫入開銷和管理復(fù)雜度。
[0111]a)寫操作生成新的映射記錄,先將映射記錄寫入硬盤上的反向映射表,成功后更新主存中的正向映射表,然后返回寫操作成功。由檢查點(diǎn)線程在后臺(tái)異步地將正向映射記錄寫入日志。
[0112]b)正向映射表的基本構(gòu)成是區(qū)映射(extent mapping),反映連續(xù)整數(shù)個(gè)“粒”的映射,即連續(xù)的虛擬粒和連續(xù)的硬盤粒之間的映射。這里“連續(xù)”指粒的編號(hào)連續(xù),連續(xù)的虛擬地址編號(hào)和連續(xù)的硬盤 地址編號(hào)。區(qū)映射包括5個(gè)核心數(shù)據(jù):物理存儲(chǔ)資源的設(shè)備標(biāo)志、物理起始“?!本幪?hào)、虛擬卷標(biāo)志、虛擬起始“?!本幪?hào)、連續(xù)“?!钡臄?shù)量。
[0113]c)正向映射信息延遲(Lazy)寫入日志(對(duì)齊寫)。
[0114]i)正向映射信息打包為一個(gè)粒度大小的“映射記錄”。將主存中映射信息分組,一個(gè)組中的所有區(qū)映射占用的空間需要滿足一定的比例,即不超過一個(gè)“粒”,也不非常少,加上包頭部能按一個(gè)“?!毕滤?。包頭部信息包括:Magic、包標(biāo)識(shí)、所屬虛擬卷標(biāo)識(shí)、校驗(yàn)。
[0115]ii)正向“映射記錄”中時(shí)間戳的值:取打包時(shí)刻,該組中所有尚未完成的修改正向映射表操作的時(shí)間戳的最小值,代表該組中小于該時(shí)間戳的映射信息已持久存儲(chǔ)到日
O
[0116]iii)正向“映射記錄”寫入日志結(jié)束后,回收舊的“映射記錄”的存儲(chǔ)資源。映射記錄包括:正向映射記錄、解除映射記錄、重新映射記錄。
[0117]4)兩級(jí)檢查點(diǎn)方法,能加快本發(fā)明的系統(tǒng)自舉的速度和崩潰恢復(fù)的速度。
[0118]a) 一級(jí)檢查點(diǎn)存儲(chǔ)虛擬卷的正向映射信息。
[0119]b) 二級(jí)檢查點(diǎn)存儲(chǔ)正向映射信息的檢索信息(也可稱為間接索引塊或二級(jí)索引)。
[0120]5)動(dòng)態(tài)日志區(qū)及其管理方法,能加快本發(fā)明的資源分配、系統(tǒng)自舉的速度和崩潰恢復(fù)的速度。
[0121]a)寫入時(shí)分配資源的區(qū)域,動(dòng)態(tài)移動(dòng)和增減。隨著資源分配,從動(dòng)態(tài)日志區(qū)摘除沒有空閑資源的簇。其空閑資源減少到一定比例后,從存儲(chǔ)資源池按策略添加有空閑資源的簇。
[0122]b)動(dòng)態(tài)日志區(qū)的檢索。在向動(dòng)態(tài)日志區(qū)添加空閑簇時(shí),動(dòng)態(tài)日志區(qū)的組成信息由一個(gè)檢查點(diǎn)線程持久持久存儲(chǔ)到硬盤元數(shù)據(jù)區(qū)。
[0123]6)映射修改操作(如,解除映射unmap和重新映射remap)的日志化存儲(chǔ),能實(shí)現(xiàn)快速修改資源映射和快速恢復(fù)。
[0124]a)從映射修改操作構(gòu)造“映射記錄”,將“映射記錄”寫入日志(對(duì)齊寫),成功后更新主存中的正向映射表,最后返回映射修改成功。
[0125]b)解除映射的“映射記錄”包含如下關(guān)鍵信息:操作類型(表示um-map)、虛擬卷標(biāo)識(shí)、被解除映射的虛擬粒號(hào)、存儲(chǔ)資源所在硬盤標(biāo)識(shí)、硬盤粒號(hào)、時(shí)間戳。時(shí)間戳用于記錄一個(gè)“映射記錄”的生成時(shí)間。
[0126]c)重新映射的“映射記錄”包含如下關(guān)鍵信息:操作類型(表示re-map)、源虛擬卷標(biāo)識(shí)、源虛擬卷的虛擬粒號(hào)、目標(biāo)虛擬卷標(biāo)識(shí)、目標(biāo)虛擬卷的虛擬粒號(hào)、存儲(chǔ)資源所在硬盤標(biāo)識(shí)、硬盤粒號(hào)、時(shí)間戳。時(shí)間戳用于記錄一個(gè)“映射記錄”的生成時(shí)間。
[0127]7)映射信息恢復(fù)時(shí)比較映射記錄的時(shí)間戳。這些可能參與比較的映射記錄包括:正向映射、反向映射、解除映射、重新映射。系統(tǒng)恢復(fù)時(shí),通過比較時(shí)間戳確定動(dòng)態(tài)日志區(qū)的映射記錄的有效性,其時(shí)間戳的比較對(duì)象是正向映射表的時(shí)間戳。
[0128]本發(fā)明的相關(guān)概念
[0129]在對(duì)本發(fā)明具體實(shí)施做詳細(xì)說明前,首先對(duì)本發(fā)明中的相關(guān)概念進(jìn)行說明。
[0130]I)邏輯塊尋址(Logical block addressing, LBA),本文也稱為硬盤地址,用于表示計(jì)算機(jī)存儲(chǔ)設(shè)備上數(shù)據(jù)塊的位置,通常用于第二級(jí)存儲(chǔ),例如硬盤。LBA采用簡(jiǎn)單的線性尋址方案,數(shù)據(jù)塊使用整數(shù)索引,第一個(gè)塊表示為L(zhǎng)BA0,第二個(gè)塊表示為L(zhǎng)BA1,以此類推。
[0131]2)扇區(qū)(Sector),讀寫硬盤或“塊設(shè)備”的基本單位,固定大小512B(512個(gè)字節(jié)),起始地址按512B對(duì)齊。
[0132]3)粒(Granule),固定大小的寫時(shí)分配單位和映射單元。
[0133]4)虛擬粒,粒在虛擬卷上的虛擬地址空間的表示。
[0134]5)硬盤粒,粒在硬盤上的硬盤地址空間的表示。
[0135]6)粒度(Granularity),粒的大小。一般為64KB,取值范圍從4KB到512KB,為4KB大小整數(shù)倍且起始地址按4KB對(duì)齊。
[0136]7)段(Segment),包括一個(gè)“數(shù)據(jù)段”和一個(gè)“段尾”,用于批量成組地更新映射信息的單位,將時(shí)間緊鄰寫入的一些數(shù)據(jù)一起更新映射信息?!岸挝病笔窍鄬?duì)于數(shù)據(jù)最佳性能的寫入順序而言。
[0137]8)數(shù)據(jù)段(Data Segment),固定大小的資源分配單元,包括256個(gè)“?!?一般大小為16MB),段內(nèi)地址空間按“粒度”劃分為等大的塊,且“段”的起始地址按“粒度”對(duì)齊。
[0138]9)映射(Map),指從虛擬卷上“?!钡钠鹗嫉奶摂M地址到日志上“?!钡钠鹗嫉挠脖P地址(LBA)的映射,也稱為正向映射。用于從虛擬地址查詢獲得硬盤地址。
[0139]10)映射區(qū)間,表示一個(gè)物理和邏輯上都連續(xù)的存儲(chǔ)資源的映射信息,包括5個(gè)核心數(shù)據(jù):硬盤標(biāo)志、起始“硬盤?!本幪?hào)、虛擬卷標(biāo)志、起始“虛擬?!本幪?hào)、連續(xù)“?!钡臄?shù)量。
[0140]11)反向映射(Reverse Map),指從日志上“?!钡钠鹗嫉挠脖P地址(LBA)到虛擬卷上“粒”的起始的虛擬地址的映射。用于從硬盤地址查詢獲得虛擬地址。
[0141]12)段尾(Segment Tail),也稱為元數(shù)據(jù)粒(Meta Granule),記錄“數(shù)據(jù)段”中每個(gè)“粒”的反向映射,即每個(gè)“?!钡挠脖P地址(LBA)到虛擬地址的映射,段尾的大小為“粒度”的正整數(shù)倍,一般大小為一個(gè)“粒度”。
[0142]13)解除映射(Un-map),也稱為trim或discard。對(duì)虛擬卷上“?!边M(jìn)行解映射,將使對(duì)應(yīng)的存儲(chǔ)資源(既日志上“粒”)空閑。
[0143]14)重新映射(Re-map),由Un_map和Map組成的原子操作序列,實(shí)現(xiàn)不同虛擬卷上存儲(chǔ)資源的“零拷貝”(Zero Copy)遷移。重映射將使一個(gè)存儲(chǔ)資源從一個(gè)虛擬卷A映射到另外一個(gè)虛擬卷B。
[0144]15)存儲(chǔ)池(Pool),集中管理所有硬盤上未分配的存儲(chǔ)資源。新加入硬盤的存儲(chǔ)資源首先添加到存儲(chǔ)池中,然后由存儲(chǔ)池按需分配??臻e存儲(chǔ)資源由存儲(chǔ)池統(tǒng)一管理和分配。
[0145]16)簇(Cluster),從存儲(chǔ)池分配存儲(chǔ)資源給日志使用的單位,包括256個(gè)段。當(dāng)日志上已分配的存儲(chǔ)資源快要寫滿時(shí),本發(fā)明從存儲(chǔ)池中分配一個(gè)新的“簇”或者空閑資源較多的“簇”給日志使用。簇中的空閑資源按“粒”記錄。
[0146]17)動(dòng)態(tài)日志區(qū)(Dynamic Logging Area),寫時(shí)資源分配的日志區(qū)域,該區(qū)域由多個(gè)具有空閑存儲(chǔ)資源的簇組成。隨著資源分配,從動(dòng)態(tài)日志區(qū)摘除沒有空閑資源的簇。其空閑資源減少到一定比例后,從存儲(chǔ)資源池按策略添加有空閑資源的簇。
[0147]18)虛擬卷(Volume),由系統(tǒng)管理員指定容量的塊設(shè)備,可從存儲(chǔ)池動(dòng)態(tài)按需分配存儲(chǔ)資源,分配的存儲(chǔ)資源可能來自不同物理硬盤,是提供給用戶的存儲(chǔ)設(shè)備。
[0148]19)元數(shù)據(jù)卷(Meta Volume),用于將“正向映射”及其修改作為數(shù)據(jù)寫入日志。本發(fā)明中元數(shù)據(jù)卷與虛擬卷一一對(duì)應(yīng),每個(gè)虛擬卷都有一個(gè)元數(shù)據(jù)卷,每個(gè)元數(shù)據(jù)卷都有一個(gè)虛擬卷。
[0149]本發(fā)明提供了一種日志映射的塊設(shè)備精簡(jiǎn)配置方法,圖1為本發(fā)明方法流程示意圖,如圖1所示,該方法包括:
[0150]硬盤數(shù)據(jù)布局步驟S1:將存儲(chǔ)資源格式化,將硬盤數(shù)據(jù)布局進(jìn)行資源池化管理,以支持精簡(jiǎn)配置的資源分配及日志映射信息的存儲(chǔ)和管理;
[0151]精簡(jiǎn)配置資源管理步驟S2:基于資源池化的硬盤,將數(shù)據(jù)按照存儲(chǔ)資源寫時(shí)按需分配方式順序?qū)懭胗脖P的下一空閑資源,并生成相應(yīng)的寫操作映射信息;
[0152]映射信息日志化步驟S3:將寫操作映射信息按照追加分配方式進(jìn)行日志化存儲(chǔ),并基于異步更新方式進(jìn)行映射信息的修改操作,以實(shí)現(xiàn)多用戶多虛擬卷并發(fā)順序的數(shù)據(jù)寫入。
[0153]系統(tǒng)自舉和恢復(fù)步驟S4:基于兩級(jí)檢查點(diǎn)方法和動(dòng)態(tài)日志區(qū)管理方法,實(shí)現(xiàn)存儲(chǔ)資源的寫時(shí)分配加速,及系統(tǒng)自舉和崩潰恢復(fù)的加速。
[0154]其中,反向映射表包含:虛擬粒號(hào)、校驗(yàn)信息、虛擬卷標(biāo)識(shí)、釋放的硬盤粒號(hào)和時(shí)間戳,所述校驗(yàn)信息用于檢查存儲(chǔ)數(shù)據(jù)的所述粒與所述粒的反向映射表是否完成,所述時(shí)間戳用于記錄一個(gè)所述反向映射信息的生成時(shí)間,所述反向映射信息與數(shù)據(jù)采取異步寫入方式。
[0155]其中,正向映射表存儲(chǔ)于主存中,用于存儲(chǔ)從虛擬地址查詢獲得硬盤地址的正向映射信息,所述正向映射表包含區(qū)映射,所述區(qū)映射為連續(xù)的虛擬粒和連續(xù)的硬盤粒之間的映射,所述區(qū)映射包括:物理存儲(chǔ)資源設(shè)備標(biāo)志、物理起始粒編號(hào)、虛擬卷標(biāo)志、虛擬起始粒編號(hào)和連續(xù)粒的數(shù)量。[0156]其中,圖2A?圖2E為本發(fā)明方法詳細(xì)流程示意圖,如圖2A所示,精簡(jiǎn)配置資源管理步驟S2包括:
[0157]寫操作步驟S21:基于資源寫時(shí)分配和日志式分配策略,將數(shù)據(jù)按順序追加寫入虛擬卷,并生成映射信息;
[0158]讀操作步驟S22:通過查找正向映射表的映射信息,進(jìn)行數(shù)據(jù)讀取。
[0159]其中,基于資源寫時(shí)分配和日志式分配策略包括:
[0160]將所述寫操作劃分為對(duì)齊寫和非對(duì)齊寫,所述對(duì)齊寫為寫入日志末尾下一個(gè)空閑塊,所述非對(duì)齊寫為寫入上一次寫入的日志位置,作為所述對(duì)齊寫的補(bǔ)充。
[0161]其中,如圖2A所示,寫操作步驟S21還包括:
[0162]接收寫操作步驟S211:將寫入的數(shù)據(jù)按照粒劃分為多個(gè)寫操作數(shù)據(jù)塊,對(duì)于數(shù)據(jù)塊長(zhǎng)度為粒長(zhǎng)度的數(shù)據(jù),采取對(duì)齊寫方式,對(duì)于數(shù)據(jù)塊長(zhǎng)度小于粒長(zhǎng)度的數(shù)據(jù),采取非對(duì)齊寫方式;
[0163]查找正向映射表步驟S212:在主存中的正向映射表中查找數(shù)據(jù)塊的映射信息,如果查找映射信息成功,則判斷是否采取對(duì)齊寫方式,如果查找映射信息失敗,則按照追加寫方式分配新的存儲(chǔ)資源;
[0164]對(duì)齊寫步驟S213:對(duì)于需要采取對(duì)齊寫方式的數(shù)據(jù)塊,將數(shù)據(jù)塊寫入日志,并異步的在日志當(dāng)前段的末尾記錄虛擬卷地址信息,更新主存中正向映射表信息和時(shí)間戳;
[0165]非對(duì)齊寫步驟S214:對(duì)于需要采取非對(duì)齊寫方式的所述數(shù)據(jù)塊,將數(shù)據(jù)塊寫入粒在日志的上次的物理位置,并且正向映射表中的映射信息保持不變;
[0166]回收步驟S215:回收失效的存儲(chǔ)資源,虛擬卷寫操作成功。
[0167]其中,如圖2A所示,映射記錄日志化步驟S3包括:
[0168]映射信息寫步驟S31:將寫操作步驟生成的新的映射信息寫入硬盤的反向映射表,成功后更新存儲(chǔ)于主存中的正向映射表,并將正向映射表的映射信息異步寫入日志;
[0169]映射信息延遲寫入步驟S32:正向映射信息分組打包為粒大小的正向映射記錄,正向映射記錄的時(shí)間戳為打包時(shí)刻組中所有正向映射信息時(shí)間戳最小值;
[0170]映射信息修改步驟S33:通過解除映射和重新映射的映射記錄,釋放虛擬卷的存儲(chǔ)資源或在虛擬卷之間進(jìn)行映射關(guān)系轉(zhuǎn)換;
[0171 ] 映射信息回收步驟S34:正向映射記錄寫入日志結(jié)束后,回收舊的映射記錄的存儲(chǔ)資源,映射記錄包含:正向映射記錄、解除映射記錄和重新映射記錄。
[0172]其中,映射信息修改步驟S33還包括:
[0173]解除映射步驟S331:用于釋放虛擬卷的存儲(chǔ)資源;
[0174]重新映射步驟S332:用于在虛擬卷之間進(jìn)行映射關(guān)系的轉(zhuǎn)換。
[0175]其中,如圖2C所示,解除映射步驟S331還包括:
[0176]接收解除請(qǐng)求步驟S3311:虛擬卷接收到解除映射請(qǐng)求,根據(jù)解除映射請(qǐng)求獲取待解除映射的映射區(qū)間,并按照映射區(qū)間長(zhǎng)度計(jì)算所需映射記錄的存儲(chǔ)空間,根據(jù)映射記錄的存儲(chǔ)空間大小分配長(zhǎng)度為粒整數(shù)倍的寫緩存;
[0177]查找解除步驟S3312:針對(duì)映射區(qū)間內(nèi)每個(gè)待解除映射數(shù)據(jù)塊的虛擬地址在主存中查找正向映射表,查找命中正向映射表的相應(yīng)表項(xiàng),并將解除映射信息記錄在寫緩存,并將寫緩存下刷寫入日志;[0178]刪除映射步驟S3313:對(duì)映射區(qū)間內(nèi)待解除映射數(shù)據(jù)塊的虛擬地址進(jìn)行刪除操作,刪除主存中正向映射表中的對(duì)應(yīng)表項(xiàng),更新正向映射表中對(duì)應(yīng)映射區(qū)間的時(shí)間戳為當(dāng)前時(shí)間,并將待解除映射數(shù)據(jù)塊標(biāo)記為空閑資源。
[0179]其中,重新映射步驟S332還包括:
[0180]接收重新映射請(qǐng)求步驟S3321:虛擬卷接收重新映射請(qǐng)求,根據(jù)重新映射請(qǐng)求獲取重新映射的映射區(qū)間,并按照映射區(qū)間長(zhǎng)度計(jì)算所需映射記錄的存儲(chǔ)空間,根據(jù)映射記錄的存儲(chǔ)空間大小分配長(zhǎng)度為粒整數(shù)倍的寫緩存;
[0181]查找映射步驟S3322:根據(jù)映射區(qū)間內(nèi)每個(gè)待重新映射的虛擬地址在主存中查找待映射的源虛擬卷,在源虛擬卷中查找命中正向映射表的相應(yīng)表項(xiàng),并根據(jù)同一虛擬地址進(jìn)行待映射的目標(biāo)虛擬卷查找,在目標(biāo)虛擬卷中查找命中正向映射表的表項(xiàng),將重新映射的操作記錄在寫緩存中,并下刷寫入日志;
[0182]更新步驟S3323:刪除主存中源虛擬卷的正向映射表中查找成功的表項(xiàng),更新源虛擬卷中映射區(qū)間的時(shí)間戳為當(dāng)前時(shí)間,并更新目標(biāo)虛擬卷的查找成功表項(xiàng),更新目標(biāo)虛擬卷中映射區(qū)間的時(shí)間戳為當(dāng)前時(shí)間,并將目標(biāo)虛擬卷中解除映射的數(shù)據(jù)塊標(biāo)記為空閑資源。
[0183]其中,如圖2A所示,系統(tǒng)自舉和恢復(fù)步驟S4包括:
[0184]兩級(jí)檢查點(diǎn)步驟S41:通過一級(jí)檢查點(diǎn)存儲(chǔ)虛擬卷的正向映射信息,并通過二級(jí)檢查點(diǎn)存儲(chǔ)正向映射信息的檢索信息;
[0185]動(dòng)態(tài)日志區(qū)管理步驟S42:動(dòng)態(tài)移動(dòng)和增減寫入時(shí)分配資源的區(qū)域,以實(shí)現(xiàn)資源的動(dòng)態(tài)分配,并實(shí)現(xiàn)在動(dòng)態(tài)日志區(qū)中的檢索;
[0186]系統(tǒng)恢復(fù)步驟S43:通過讀取正向映射信息、動(dòng)態(tài)日志區(qū)信息和映射修改記錄,完成系統(tǒng)恢復(fù)。
[0187]其中,如圖2D所示,兩級(jí)檢查點(diǎn)步驟S41:
[0188]掃描步驟S411:將主存中正向映射表的信息按組進(jìn)行分配,組為簇中的所有映射,對(duì)組進(jìn)行掃描;
[0189]分裂步驟S412:如果組占用空間大于粒的指定尺寸,則將組分裂為多個(gè)組,對(duì)分裂后的組進(jìn)行掃描;
[0190]合并步驟S413:如果組占用空間小于粒的指定尺寸,則將組進(jìn)行合并,對(duì)合并后的組進(jìn)行掃描;
[0191]記錄步驟S414:如果組的占用空間在粒的指定尺寸內(nèi),則分配一個(gè)粒尺寸的緩存區(qū),將組中的映射區(qū)間及當(dāng)前時(shí)間戳記錄到緩存區(qū);
[0192]釋放回收步驟S415:如果正向映射表屬于元數(shù)據(jù)卷,則將緩存區(qū)下刷到硬盤頭部的映射檢索區(qū),并回收失效的映射記錄的存儲(chǔ)資源,如果正向映射表屬于虛擬卷,則將緩存區(qū)下刷到元數(shù)據(jù)卷,并釋放反向映射資源。
[0193]其中,動(dòng)態(tài)日志區(qū)管理步驟S42還包括:
[0194]寫時(shí)資源分配步驟S421:用于在寫時(shí)分配時(shí),從動(dòng)態(tài)日志區(qū)分配資源;
[0195]動(dòng)態(tài)日志管理步驟S422:用于系統(tǒng)讀取相關(guān)映射信息,進(jìn)行時(shí)間戳比較,將最新時(shí)間戳的映射信息恢復(fù)到主存中。
[0196]其中,系統(tǒng)恢復(fù)步驟S43還包括:[0197]讀取檢索信息步驟S431:讀取硬盤上的正向映射表,加載正向映射表到主存,讀取硬盤上的動(dòng)態(tài)日志區(qū)檢索信息,進(jìn)行動(dòng)態(tài)日志區(qū)定位;
[0198]掃描步驟S432:順序掃描動(dòng)態(tài)日志區(qū),讀取映射修改記錄,并根據(jù)映射修改記錄查詢正向映射表,如果映射修改記錄的時(shí)間戳小于正向映射表的時(shí)間戳,則丟棄映射修改記錄,如果映射修改記錄的時(shí)間戳大于正向映射表的時(shí)間戳,則將映射修改記錄更新到正向映射表,并回收映射修改記錄的存儲(chǔ)資源。
[0199]其中,如圖2E所示,寫時(shí)資源分配步驟S421還包括:
[0200]查詢資源步驟S4211:查詢當(dāng)前簇的存儲(chǔ)資源,如果簇沒有空閑資源,則查詢下一個(gè)簇;
[0201]分配資源步驟S4212:如果查詢資源步驟中,查詢當(dāng)前簇中有空閑資源,則從當(dāng)前簇中分配存儲(chǔ)資源;
[0202]檢查動(dòng)態(tài)資源步驟S4213:檢查當(dāng)前動(dòng)態(tài)日志區(qū)的總空閑資源數(shù)量,如果空閑資源小于一定閾值,則執(zhí)行動(dòng)態(tài)日志管理步驟。
[0203]其中,動(dòng)態(tài)日志管理步驟S422還包括:
[0204]查找空閑資源步驟S4221:在存儲(chǔ)資源池中順序查找有空閑的簇,如果查找成功,則將簇的位置信息更新到主存中的動(dòng)態(tài)日志檢索,分配動(dòng)態(tài)日志檢索區(qū)長(zhǎng)度的緩存區(qū);
[0205]更新簇步驟S4222:在緩存區(qū)中填入時(shí)間戳和動(dòng)態(tài)日志區(qū)的簇的相關(guān)信息,將緩存區(qū)下刷到存儲(chǔ)池中所有硬盤的動(dòng)態(tài)日志檢索區(qū),并更新主存中的動(dòng)態(tài)日志區(qū)信息;
[0206]通知步驟S4223:查找空閑資源步驟中,如果查找空閑的簇失敗,則輸出通知用戶信息。
[0207]以下結(jié)合圖示說明本發(fā)明具體實(shí)施例的步驟,詳細(xì)說明塊設(shè)備精簡(jiǎn)配置過程。
[0208]I)硬盤上的數(shù)據(jù)布局
[0209]硬盤布局(Layout)用于將存儲(chǔ)資源添加到存儲(chǔ)資源池中進(jìn)行管理,包括一個(gè)頭部和后續(xù)線性排列的多個(gè)簇,圖2為本發(fā)明物理硬盤布局示意圖,如圖2所示。簇的大小固定,一般大小為4GB+16MB,其中4GB為存儲(chǔ)來著上層的數(shù)據(jù)的空間,16MB為反向映射表的空間。如果硬盤末尾有不足一個(gè)簇的空間,那么最后末尾的空間作為一個(gè)簇分配,末尾空間減反向映射表的空間等于簇的空閑資源量。簇的空閑資源由位圖表示。
[0210]頭部存儲(chǔ)的硬盤元數(shù)據(jù)信息主要用于系統(tǒng)啟動(dòng)時(shí)自舉,快速加載本發(fā)明的精簡(jiǎn)配置存儲(chǔ)系統(tǒng)。這些頭部的元數(shù)據(jù)信息的更新頻率很低。頭部一般大小為32MB,簇的數(shù)據(jù)布局如圖3所示,圖3為本發(fā)明物理硬盤布局示意圖,包括這些元數(shù)據(jù)信息:物理硬盤信息、存儲(chǔ)池信息、虛擬卷信息、映射檢索信息、空閑資源信息。物理硬盤信息包括:物理硬盤標(biāo)識(shí)、物理硬盤存儲(chǔ)資源數(shù)量、所屬存儲(chǔ)池的標(biāo)識(shí)、本硬盤的空閑資源信息的起始地址、本硬盤的空閑資源信息的長(zhǎng)度。存儲(chǔ)池信息包括:存儲(chǔ)池標(biāo)識(shí)、粒度、存儲(chǔ)池名稱、物理硬盤數(shù)量。虛擬卷信息包括:虛擬卷標(biāo)識(shí)、虛擬卷名稱、所屬存儲(chǔ)池標(biāo)識(shí)、虛擬卷容量、虛擬卷類型、元數(shù)據(jù)卷標(biāo)識(shí)。映射檢索信息:間接映射。空閑資源信息索引本硬盤上的可用空閑資源的位置。
[0211]
【權(quán)利要求】
1.一種日志映射的塊設(shè)備精簡(jiǎn)配置方法,其特征在于,所述方法包括: 硬盤數(shù)據(jù)布局步驟:將存儲(chǔ)資源格式化,將硬盤數(shù)據(jù)布局進(jìn)行資源池化管理,以支持精簡(jiǎn)配置的資源分配及日志映射信息的存儲(chǔ)和管理; 精簡(jiǎn)配置資源管理步驟:基于所述資源池化的硬盤,將數(shù)據(jù)按照存儲(chǔ)資源寫時(shí)按需分配方式順序?qū)懭胨鲇脖P的下一空閑資源,并生成寫操作相應(yīng)的映射信息; 映射信息日志化步驟:將所述寫操作映射信息按照 追加分配方式進(jìn)行日志化存儲(chǔ),并基于異步更新方式進(jìn)行所述映射信息的修改操作,以實(shí)現(xiàn)多用戶多虛擬卷并發(fā)順序的數(shù)據(jù)寫入。
2.根據(jù)權(quán)利要求1所述日志映射的塊設(shè)備精簡(jiǎn)配置方法,其特征在于,所述方法還包括: 系統(tǒng)自舉和恢復(fù)步驟:基于兩級(jí)檢查點(diǎn)方法和動(dòng)態(tài)日志區(qū)管理方法,實(shí)現(xiàn)所述存儲(chǔ)資源的寫時(shí)分配加速,及系統(tǒng)自舉快速恢復(fù)和系統(tǒng)崩潰快速恢復(fù)。
3.根據(jù)權(quán)利要求1所述日志映射的塊設(shè)備精簡(jiǎn)配置方法,其特征在于,所述單位包括: 粒:用于存儲(chǔ)資源管理的最小單位; 段:由固定數(shù)量的多個(gè)連續(xù)的所述粒組成的定長(zhǎng)資源,包含:數(shù)據(jù)和反向映射表。所述反向映射表用于持久存儲(chǔ)所述段中用于數(shù)據(jù)的所述粒的反向映射信息,所述反向映射信息用于從硬盤地址查詢獲得虛擬地址; 簇:由固定數(shù)量的多個(gè)連續(xù)的所述段組成的定長(zhǎng)資源,存儲(chǔ)池向動(dòng)態(tài)日志區(qū)分配資源的單位,包括:簇編號(hào)、空閑粒數(shù)量、可分配粒數(shù)量、空閑粒位圖和時(shí)間戳; 硬盤元數(shù)據(jù)信息:用于所述系統(tǒng)自舉和恢復(fù)步驟中讀取的數(shù)據(jù)信息,包括:物理硬盤信息、存儲(chǔ)池信息、虛擬卷信息、映射檢索信息和空閑資源信息; 元數(shù)據(jù)卷:用于將正向映射表中的正向映射信息及其修改操作寫入日志,所述元數(shù)據(jù)卷與虛擬卷--對(duì)應(yīng)。
4.根據(jù)權(quán)利要求3所述日志映射的塊設(shè)備精簡(jiǎn)配置方法,其特征在于,所述反向映射表包含:虛擬粒號(hào)、校驗(yàn)信息、虛擬卷標(biāo)識(shí)、釋放的硬盤粒號(hào)和時(shí)間戳,所述校驗(yàn)信息用于檢查存儲(chǔ)數(shù)據(jù)的所述粒與所述粒的反向映射表是否完成,所述時(shí)間戳用于記錄一個(gè)所述反向映射信息的生成時(shí)間,所述反向映射信息與數(shù)據(jù)采取異步寫入方式。
5.根據(jù)權(quán)利要求3所述日志映射的塊設(shè)備精簡(jiǎn)配置方法,其特征在于,所述正向映射表存儲(chǔ)于主存中,用于存儲(chǔ)從虛擬地址查詢獲得硬盤地址的正向映射信息,所述正向映射表包含區(qū)映射,所述區(qū)映射為連續(xù)的虛擬粒和連續(xù)的硬盤粒之間的映射,所述區(qū)映射包括:物理存儲(chǔ)資源設(shè)備標(biāo)志、物理起始粒編號(hào)、虛擬卷標(biāo)志、虛擬起始粒編號(hào)和連續(xù)粒的數(shù)量。
6.根據(jù)權(quán)利要求1所述日志映射的塊設(shè)備精簡(jiǎn)配置方法,其特征在于,所述精簡(jiǎn)配置資源管理步驟包括: 寫操作步驟:基于資源寫時(shí)分配和日志式分配策略,將數(shù)據(jù)按順序追加寫入硬盤,并生成映射信息; 讀操作步驟:通過查找所述正向映射表的映射信息,進(jìn)行數(shù)據(jù)讀取。
7.根據(jù)權(quán)利要求1所述日志映射的塊設(shè)備精簡(jiǎn)配置方法,其特征在于,所述映射記錄日志化步驟包括: 映射信息寫步驟:將所述寫操作步驟生成的新的映射信息寫入硬盤的所述反向映射表,成功后更新存儲(chǔ)于主存中的所述正向映射表,并將所述正向映射表的映射信息異步寫入日志; 映射信息延遲寫入步驟:所述正向映射信息分組打包為所述粒大小的正向映射記錄,所述正向映射記錄的時(shí)間戳為打包時(shí)刻組中所有所述正向映射信息時(shí)間戳最小值; 映射信息修改步驟:通過解除映射和重新映射的所述映射記錄,釋放虛擬卷的存儲(chǔ)資源或在所述虛擬卷之間進(jìn)行映射關(guān)系轉(zhuǎn)換; 映射信息回收步驟:正向映射記錄寫入日志結(jié)束后,回收舊的映射記錄的存儲(chǔ)資源,所述映射記錄包含:所述正向映射記錄、解除映射記錄和重新映射記錄。
8.根據(jù)權(quán)利要求6所述日志映射的塊設(shè)備精簡(jiǎn)配置方法,其特征在于,所述基于資源寫時(shí)分配和日志式分配策略包括: 將所述寫操作劃分為對(duì)齊寫和非對(duì)齊寫,所述對(duì)齊寫為寫入日志末尾下一個(gè)空閑塊,所述非對(duì)齊寫為寫入上一次寫入的日志位置,作為所述對(duì)齊寫的補(bǔ)充。
9.根據(jù)權(quán)利要求2所述日志映射的塊設(shè)備精簡(jiǎn)配置方法,其特征在于,所述系統(tǒng)自舉和恢復(fù)步驟包括: 兩級(jí)檢查點(diǎn)步驟:通過一級(jí)檢查點(diǎn)存儲(chǔ)虛擬卷的正向映射信息,并通過二級(jí)檢查點(diǎn)存儲(chǔ)所述正向映射信息的檢索信息; 動(dòng)態(tài)日志區(qū)管理步驟:動(dòng)態(tài)移動(dòng)和增減寫入時(shí)分配資源的區(qū)域,以實(shí)現(xiàn)資源的動(dòng)態(tài)分配,并實(shí)現(xiàn)在動(dòng)態(tài)日志區(qū) 中的檢索; 系統(tǒng)恢復(fù)步驟:通過讀取正向映射信息、動(dòng)態(tài)日志區(qū)信息和映射修改記錄,完成系統(tǒng)恢復(fù)。
10.根據(jù)權(quán)利要求6所述日志映射的塊設(shè)備精簡(jiǎn)配置方法,其特征在于,所述寫操作步驟還包括: 接收寫操作步驟:將寫入的數(shù)據(jù)按照所述粒劃分為多個(gè)寫操作數(shù)據(jù)塊,對(duì)于所述數(shù)據(jù)塊長(zhǎng)度為所述粒長(zhǎng)度的數(shù)據(jù),采取所述對(duì)齊寫方式,對(duì)于所述數(shù)據(jù)塊長(zhǎng)度小于所述粒長(zhǎng)度的數(shù)據(jù),采取所述非對(duì)齊寫方式; 查找正向映射表步驟:在主存中的所述正向映射表中查找所述數(shù)據(jù)塊的映射信息,如果查找所述映射信息成功,則判斷是否采取所述對(duì)齊寫方式,如果查找所述映射信息失敗,則按照所述追加寫方式分配新的存儲(chǔ)資源; 對(duì)齊寫步驟:對(duì)于需要采取所述對(duì)齊寫方式的所述數(shù)據(jù)塊,將所述數(shù)據(jù)塊寫入日志中上次寫入位置后的第一塊空閑塊,并異步的在日志當(dāng)前段的末尾記錄虛擬卷地址信息,更新主存中所述正向映射表信息和時(shí)間戳; 非對(duì)齊寫步驟:對(duì)于需要采取所述非對(duì)齊寫方式的所述數(shù)據(jù)塊,將所述數(shù)據(jù)塊寫入所述粒在日志的上次的物理位置,并且所述正向映射表中的映射信息保持不變; 回收步驟:回收失效的存儲(chǔ)資源,虛擬卷寫操作成功。
11.根據(jù)權(quán)利要求7所述日志映射的塊設(shè)備精簡(jiǎn)配置方法,其特征在于,所述映射信息修改步驟還包括: 解除映射步驟:用于釋放所述虛擬卷的存儲(chǔ)資源; 重新映射步驟:用于在所述虛擬卷之間進(jìn)行映射關(guān)系的轉(zhuǎn)換。
12.根據(jù)權(quán)利要求11所述日志映射的塊設(shè)備精簡(jiǎn)配置方法,其特征在于,所述解除映射步驟還包括: 接收解除請(qǐng)求步驟:虛擬卷接收到解除映射請(qǐng)求,根據(jù)所述解除映射請(qǐng)求獲取待解除映射的映射區(qū)間,并按照所述映射區(qū)間長(zhǎng)度計(jì)算所需映射記錄的存儲(chǔ)空間,根據(jù)所述映射記錄的存儲(chǔ)空間分配長(zhǎng)度為所述粒整數(shù)倍的寫緩存; 查找解除步驟:針對(duì)所述映射區(qū)間內(nèi)每個(gè)待解除映射數(shù)據(jù)塊的虛擬地址在主存中查找所述正向映射表,查找命中所述正向映射表的相應(yīng)表項(xiàng),并將解除映射信息記錄在所述寫緩存,并將所述寫緩存下刷寫入日志; 刪除映射步驟:對(duì)所述映射區(qū)間內(nèi)所述待解除映射數(shù)據(jù)塊的虛擬地址進(jìn)行刪除操作,刪除主存中所述正向映射表中的對(duì)應(yīng)表項(xiàng),更新所述正向映射表中對(duì)應(yīng)映射區(qū)間的時(shí)間戳為當(dāng)前時(shí)間,并將所述待解除映射數(shù)據(jù)塊標(biāo)記為空閑資源。
13.根據(jù)權(quán)利要求11所述日志映射的塊設(shè)備精簡(jiǎn)配置方法,其特征在于,所述重新映射步驟還包括: 接收重新映射請(qǐng)求步驟:虛擬卷接收重新映射請(qǐng)求,根據(jù)所述重新映射請(qǐng)求獲取重新映射的映射區(qū)間,并按照所述映射區(qū)間長(zhǎng)度計(jì)算所需映射記錄的存儲(chǔ)空間,根據(jù)所述映射記錄的存儲(chǔ)空間分配長(zhǎng)度為所述粒整數(shù)倍的寫緩存; 查找映射步驟:根 據(jù)所述映射區(qū)間內(nèi)每個(gè)待重新映射的虛擬地址在主存中查找待映射的源虛擬卷,在所述源虛擬卷中查找命中所述正向映射表的相應(yīng)表項(xiàng),并根據(jù)同一虛擬地址進(jìn)行待映射的目標(biāo)虛擬卷查找,在所述目標(biāo)虛擬卷中查找命中所述正向映射表的表項(xiàng),將重新映射的操作記錄在所述寫緩存中,并下刷寫入日志; 更新步驟:刪除主存中所述源虛擬卷的正向映射表中查找成功的表項(xiàng),更新所述源虛擬卷中映射區(qū)間的時(shí)間戳為當(dāng)前時(shí)間,并更新所述目標(biāo)虛擬卷的查找成功表項(xiàng),更新所述目標(biāo)虛擬卷中映射區(qū)間的時(shí)間戳為當(dāng)前時(shí)間,并將所述目標(biāo)虛擬卷中解除映射的數(shù)據(jù)塊標(biāo)記為空閑資源。
14.根據(jù)權(quán)利要求9所述日志映射的塊設(shè)備精簡(jiǎn)配置方法,其特征在于,所述兩級(jí)檢查點(diǎn)步驟還包括: 掃描步驟:將主存中所述正向映射表的信息按組進(jìn)行分配,所述組為所述簇中的所有映射,對(duì)所述組進(jìn)行掃描; 分裂步驟:如果所述組占用空間大于所述粒的指定尺寸,則將所述組分裂為多個(gè)組,對(duì)分裂后的所述組進(jìn)行掃描; 合并步驟:如果所述組占用空間小于所述粒的指定尺寸,則將所述組進(jìn)行合并,對(duì)合并后的所述組進(jìn)行掃描; 記錄步驟:如果所述組的占用空間在所述粒的指定尺寸內(nèi),則分配一個(gè)所述粒尺寸的緩存區(qū),將所述組中的映射區(qū)間及當(dāng)前時(shí)間戳記錄到所述緩存區(qū); 釋放回收步驟:如果所述正向映射表屬于所述元數(shù)據(jù)卷,則將所述緩存區(qū)下刷到所述硬盤頭部的映射檢索區(qū),并回收失效的映射記錄的存儲(chǔ)資源,如果所述正向映射表屬于所述虛擬卷,則將所述緩存區(qū)下刷到所述元數(shù)據(jù)卷,并釋放反向映射資源。
15.根據(jù)權(quán)利要求9所述日志映射的塊設(shè)備精簡(jiǎn)配置方法,其特征在于,所述動(dòng)態(tài)日志區(qū)管理步驟還包括: 寫時(shí)資源分配步驟:用于在寫時(shí)分配時(shí),從動(dòng)態(tài)日志區(qū)分配資源;動(dòng)態(tài)日志管理步驟:用于系統(tǒng)恢復(fù)時(shí),讀取相關(guān)映射信息,進(jìn)行時(shí)間戳比較,將最新時(shí)間戳的映射信息恢復(fù)到主存中。
16.根據(jù)權(quán)利要求9所述日志映射的塊設(shè)備精簡(jiǎn)配置方法,其特征在于,所述系統(tǒng)恢復(fù)步驟還包括: 讀取檢索信息步驟:讀取硬盤上的正向映射表,加載所述正向映射表到主存,讀取所述硬盤上的動(dòng)態(tài)日志區(qū)檢索信息,進(jìn)行動(dòng)態(tài)日志區(qū)定位; 掃描步驟:順序掃描所述動(dòng)態(tài)日志區(qū),讀取映射修改記錄,并根據(jù)所述映射修改記錄查詢正向映射表,如果所述映射修改記錄的時(shí)間戳小于所述正向映射表的時(shí)間戳,則丟棄所述映射修改記錄,如果所述映射修改記錄的時(shí)間戳大于所述正向映射表的時(shí)間戳,則將所述映射修改記錄更新到所述正向映射表,并回收所述映射修改記錄的存儲(chǔ)資源。
17.根據(jù)權(quán)利要求15所述日志映射的塊設(shè)備精簡(jiǎn)配置方法,其特征在于,所述寫時(shí)資源分配步驟還包括: 查詢資源步驟:查詢當(dāng)前簇的存儲(chǔ)資源,如果所述簇沒有空閑資源,則查詢下一個(gè)所述簇; 分配資源步驟:如果所述查詢資源步驟中,查詢所述當(dāng)前簇中有空閑資源,則從所述當(dāng)前簇中分配存儲(chǔ)資源; 檢查動(dòng)態(tài)資源步驟:檢 查當(dāng)前動(dòng)態(tài)日志區(qū)的總空閑資源數(shù)量,如果所述空閑資源小于一定閾值,則執(zhí)行所述動(dòng)態(tài)日志管理步驟。
18.根據(jù)權(quán)利要求15所述日志映射的塊設(shè)備精簡(jiǎn)配置方法,其特征在于,所述動(dòng)態(tài)日志管理步驟還包括: 查找空閑資源步驟:在存儲(chǔ)資源池中順序查找有空閑的所述簇,如果查找成功,則將所述簇的位置信息更新到主存中的動(dòng)態(tài)日志檢索,分配動(dòng)態(tài)日志檢索區(qū)長(zhǎng)度的緩存區(qū); 更新簇步驟:在所述緩存區(qū)中填入時(shí)間戳和所述動(dòng)態(tài)日志區(qū)的簇的相關(guān)信息,將緩存區(qū)下刷到存儲(chǔ)池中所有硬盤的動(dòng)態(tài)日志檢索區(qū),并更新主存中的動(dòng)態(tài)日志區(qū)信息; 通知步驟:所述查找空閑資源步驟中,如果查找空閑的所述簇失敗,則輸出通知用戶信肩、O
【文檔編號(hào)】G06F3/06GK104035729SQ201410218798
【公開日】2014年9月10日 申請(qǐng)日期:2014年5月22日 優(yōu)先權(quán)日:2014年5月22日
【發(fā)明者】卜慶忠, 董歡慶, 許魯, 孫振元 申請(qǐng)人:中國科學(xué)院計(jì)算技術(shù)研究所, 天津中科藍(lán)鯨信息技術(shù)有限公司