亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

數據存儲業(yè)務控制方法及系統(tǒng)的制作方法

文檔序號:6597457閱讀:179來源:國知局
專利名稱:數據存儲業(yè)務控制方法及系統(tǒng)的制作方法
技術領域
本發(fā)明涉及數據存儲領域,具體涉及一種數據存儲業(yè)務控制方法及系統(tǒng)。
背景技術
在互聯(lián)網應用中,用戶的文章、評論、相片等都可稱為對象。隨著互聯(lián)網的發(fā)展,對 海量對象存儲的需求日漸迫切。這類對象存儲的特點有大小通常為幾十k到若干兆;隨機 訪問;一次寫多次讀;并發(fā)讀寫量大;數量巨大;針對這些特點,鑒于Linux文件系統(tǒng)對于 海量文件存儲支持不夠,目前普遍采用日志文件結構方式存儲對象,有效的減少存儲文件 規(guī)模。在日志文件中,新加入的對象追加到文件尾。通過修改對象有效標識,將對象標識為 無效,并不立即回收磁盤空間。系統(tǒng)磁盤空間緊張且日志文件空間利用率較低時,建立新的 日志文件,將有效數據寫入新日志文件,取代舊文件提供服務。針對日志文件的相關操作,需要實時了解文件磁盤配額上限、文件尾指示和有效 空間大小。作用有三其一,方便追加新對象到文件尾;其二,控制對象的并發(fā)寫入;其三, 方便計算磁盤空間利用率,進行磁盤空間回收。現有的解決方案為,將對象的索引按照日志 文件的形式寫入磁盤。系統(tǒng)啟動時,將對象索引文件全部加載到內存。對于重復的對象,僅 保留最新版本。通過加載過程,計算磁盤空間的利用情況。運行過程中,實時修改相應的變 量,并持久化存儲新對象索引?,F有數據存儲的技術在對象數量巨大時有如下不足(1)由于對象索引文件較多,索引加載速度慢,影響系統(tǒng)啟動速度。(2)磁盤操作較多,影響系統(tǒng)性能。

發(fā)明內容
本發(fā)明的第一目的是提出一種高效的數據存儲業(yè)務控制方法。本發(fā)明的第二目的是提出一種高效的數據存儲業(yè)務控制系統(tǒng)。為實現上述第一目的,本發(fā)明提供了一種數據存儲業(yè)務控制方法,包括在數據存 儲業(yè)務啟動時,磁盤將日志索引文件加載至內存,日志索引文件包括多個用于表征日志文 件屬性的日志索引;內存在根據日志索引文件判定磁盤配額未滿時,將接收的數據添加至 日志文件中,并修改或新增對應于添加數據的日志文件的日志索引;內存將修改或新增的 日志索引同步至磁盤。為實現上述第二目的,本發(fā)明提供了一種數據存儲業(yè)務控制系統(tǒng)包括加載模塊, 用于在數據存儲業(yè)務啟動時,將磁盤中的日志索引文件加載至內存,其中,日志索引文件包 括多個用于表征日志文件屬性的日志索引;添加處理模塊,用于在根據日志索引文件判定 磁盤配額未滿時,將接收的數據添加至內存中的日志文件,并修改或新增對應于添加數據 的日志文件的日志索引;同步模塊,用于將修改或新增的日志索引同步至磁盤。本發(fā)明各個實施例中,通過建立日志索引文件并將該日志索引文件加載至內存使 得內存根據該日志索引文件即可判斷磁盤的使用狀況進而進行數據操作,避免了利用現有技術中的對象索引文件進行磁盤使用狀況的判定,從而避免了因對象索引文件加載速度慢而影響系統(tǒng)啟動速度的缺陷。


附圖用來提供對本發(fā)明的進一步理解,并且構成說明書的一部分,與本發(fā)明的實 施例一并用于解釋本發(fā)明,并不構成對本發(fā)明的限制。在附圖中圖1為本發(fā)明的數據存儲業(yè)務控制方法的實施例一流程圖;圖2為本發(fā)明的數據存儲業(yè)務控制方法的實施例二流程圖;圖3為本發(fā)明的數據存儲業(yè)務控制方法中日志文件、日志索引及日志索引文件的 示意圖;圖4為本發(fā)明的數據存儲業(yè)務控制方法中磁盤與內存間日志索引映射關系示意 圖;圖5為本發(fā)明的數據存儲業(yè)務控制方法的實施例三流程圖;圖6為本發(fā)明的數據存儲業(yè)務控制系統(tǒng)的實施例結構圖。
具體實施例方式以下結合附圖對本發(fā)明的優(yōu)選實施例進行說明,應當理解,此處所描述的優(yōu)選實 施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。方法實施例圖1為本發(fā)明的數據存儲業(yè)務控制方法的實施例一流程圖。如圖1所示,本實施 例包括步驟S102 在系統(tǒng)(該系統(tǒng)包含數據存儲業(yè)務)啟動時,磁盤將日志索引文件加 載至內存,其中,日志索引文件包括多個用于表征日志文件屬性的日志索引;具體操作過程 參見圖2中步驟S201的解釋說明;步驟S104:內存在根據日志索引文件判定磁盤配額未滿時,將接收的數據添加至 日志文件中,并修改或新增對應于添加數據的日志文件的日志索引;具體操作過程參見圖 5的解釋說明;步驟S106 內存將修改或新增的日志索引同步至磁盤;具體操作過程參見圖2中 步驟S203及步驟S204以及圖3的解釋說明;本實施例通過建立日志索引文件并將該日志索引文件加載至內存使得內存根據 該日志索引文件即可判斷磁盤的使用狀況進而進行數據操作,避免了利用現有技術中的對 象索引文件進行磁盤使用狀況的判定,從而避免了因對象索引文件加載速度慢而影響系統(tǒng) 啟動速度的缺陷。圖2為本發(fā)明的數據存儲業(yè)務控制方法的實施例二流程圖。圖3及圖4分別為本 發(fā)明的數據存儲業(yè)務控制方法中日志文件、日志索引及日志索引文件的示意圖,以及磁盤 與內存間日志索引映射關系示意圖。以下結合圖2至圖4進行解釋說明。如圖2所示,本 實施例包括步驟S201 在系統(tǒng)啟動時,磁盤將每一日志索引文件中的日志索引分別加載到內 存中預設對應的多個緩存頁中;
其中,日志索引(即為日志文件的索引信息)在磁盤中的示意圖如圖3所示,其記 錄日志文件的基本元數據信息(即屬性信息),包括磁盤配額(即Max-space)、對象數目 (即total-objs)、已用磁盤空間(即Used-space)、有效對象數目(valid objs)、有效對象 占用磁盤空間(即valid-space)以及其他信息(如,日志文件尾指示(即tail)、日志文件 版本(即vesion)、用來區(qū)分不同的日志文件的id),故,日志索引與日志文件(如圖3所示, 包括文件頭File Header及多個對象obj) —一對應;具體操作時,由于每個日志索引占用 的空間較小,且動態(tài)性較大,為了方便該動態(tài)數據的加載和持久化,采用結構化方式存儲在 一個索引文件中,形成日志索引文件,即如圖3所示,日志索引文件中的每個LogFilelndex 對應一個日志索引;日志索引文件大小隨著日志文件數目線性增長;如圖4所示, 磁盤中的每個日志索引文件對應內存中一個索引文件頭(即 IndexFile hdr),索引文件頭之間組成雙向循環(huán)鏈表,鏈表頭為哨兵指針,作為訪問的入 口 ;索引文件頭指向由索引緩存頁面(即Index Page)組成的單向鏈表,該鏈表中的每個節(jié) 點為一個索引頁,每一個索引頁中緩存了若干個日志索引,并且設置有一個頁面臟標記,即 每個日志索引文件,由內存中的若干索引緩存頁面緩存,按照訪問需要,將索引文件分批緩 存到內存,而不是一次全部加載;索引文件頭中有指向該緩存頁面鏈表頭的指針,每個緩存 頁面保存了指向索引文件頭的指針,方便訪問;其中,索引文件頭及索引緩存頁面所包括的 內容如表1所示索弓丨文件頭及索弓丨緩存頁面的內容
索引文件頭索引緩存頁面
索引文件頭前驅指針(即Prev Ptr)指向日志索引文件頭指針(即
IndexFile hdr Ptr)
索引文件后繼指針(即Next Ptr)索引緩存頁面后繼指針(即Next Ptr)^
日志索引文件名(即Index File Name 本頁面緩存的日志索引條目(即Index~
Num)
日志索引文件中索引條目(即Index當前緩存的頁面在日志索引文件中的
Num)起始偏移值(即Offset)
最大緩存頁面數(即Max Page Num)日志索引修改標志(即Dirty flag)
緩存頁面數(即Page Num)H
指向緩存頁面鏈表頭(即IndexPageLogFileIndex
Ptr)
..............
LogFileIndex
步驟S202 內存在根據日志索引文件判定磁盤配額未滿時,將接收的數據添加至 日志文件,并修改或新增對應于添加數據的日志文件的日志索引;具體操作過程參見圖5 的解釋說明;步驟S203 內存在接收到數據刪除信息時,修改包含刪除數據的日志文件對應的 日志索引,并將修改的日志索引對應的緩存頁標識為臟頁;即,在對象刪除時,首先從分布 式數據庫中刪除對象索引,然后修改內存中該數據對應的日志索引,以及將相應的緩存頁 標識為臟頁;步驟S204 內存在根據日志索引文件判定磁盤空間達到配額上限或/和磁盤空間 利用率低于預設閾值時,根據內存中的日志文件建立新的日志文件;并建立新的日志文件 的日志索引,以及將建立的日志索引對應的緩存頁標識為臟頁;即,當日志文件磁盤空間達 到配額上限或/和空間有效利用率較低時,對日志文件進行壓縮,即,剔除無效對象的實體 數據,將有效對象的實體數據寫入到的新的日志文件,并用新的日志文件的索引替代舊文 件的索引,且將緩存頁標識為臟頁,即該緩存頁進行標識;

步驟S205 將標識為臟頁的緩存頁中的日志索引同步至磁盤中對應的日志索引 文件中;即,緩存頁為臟頁則表示緩存頁中的日志索引發(fā)生了修改,需要同步到磁盤中;具 體操作如下首先,在內存中拷貝該緩存頁的副本,清除原緩存頁臟頁標志;然后,將副本放入需要同步的緩存頁隊列(即在同步隊列中每個緩存頁僅保留一 份最新的副本),同步策略可以有如下兩種(1)即時寫入,其具體含義為發(fā)生修改時,立 即將緩存頁副本寫入索引文件對應的位置;(2)延時寫入,其具體含義為通過定時觸發(fā)或 者待寫入的緩存頁達到一定數量,批量的更新索引文;需要說明的是,索引頁中的偏移量標識了該部分索引在索引文件中的位置,方便 索引信息寫入磁盤,即在上述兩種方式寫入時,均根據偏移量找到其在索引文件中的起始 位置,然后將整頁數據寫入索引文件;即時寫入能保證數據一致性,保證數據不丟失;延時 寫入能實現批量寫入,可以避免同一緩存頁的反復寫入,當采用延時寫入時可以聯(lián)合增加 操作日志的方式共同完成數據的寫入,即日志索引數據修改時,操作日志記載修改的緩存 頁標識以及修改的數據;系統(tǒng)異常重啟后,重放操作日志中的操作,完成數據的同步。本實施例通過建立日志索引文件并將該日志索引文件加載至內存使得內存根據 該日志索引文件即可判斷磁盤的使用狀況進而進行數據操作,提高系統(tǒng)啟動速度;日志文 件保存對象的實體數據、對象索引使用分布式數據庫存儲、日志索引存儲在本地結構化文 件中;日志索引文件獨立于現有技術中的對象索引文件獨立設置,二者分布式存儲,使得對 象索引文件不再用于分析日志文件存儲情況,對象索引文件功能單一,實現業(yè)務分離,提高 系統(tǒng)的健壯性;此外,分布式的特性也提升了系統(tǒng)的擴展性及對象索引并發(fā)訪問效率;日 志索引結構化聚集存儲,即采用日志索引文件的形式,方便了索引文件的加載和同步;索引 文件的分頁緩存機制,方便了索引的快速訪問和動態(tài)修改,降低了磁盤訪問次數,加快了索 引同步效率。圖5為本發(fā)明的數據存儲業(yè)務控制方法的實施例三流程圖。如圖5所示,本實施 例包括步驟S301 根據日志索引文件判斷磁盤配額是否已滿;若是,則結束,若否,則執(zhí)行步驟S302 ; 步驟S302 將對象索引存入分布式數據庫;步驟S303 是否可以查找到可存放實體數據的日志文件;若是,則執(zhí)行步驟S306, 若否,則執(zhí)行步驟S304;步驟S304 創(chuàng)建新日志文件;步驟S305 添加新日志索引到相應的緩存頁;步驟S306 修改緩存頁中日志索引;步驟S307 置位緩存頁臟標志,即將緩存頁標識為臟頁;步驟S308 將實體數據添加到日志文件,具體操作時,可以將對象實體數據追加 到日志文件尾部。本實施例通過建立日志索引文件并將該日志索引文件加載至內存使得內存根據 該日志索引文件即可判斷磁盤的使用狀況進而進行數據操作,避免了利用現有技術中的對 象索引文件進行磁盤使用狀況的判定,從而避免了因對象索引文件加載速度慢而影響系統(tǒng) 啟動速度的缺陷。系統(tǒng)實施例圖6為本發(fā)明的數據存儲業(yè)務控制系統(tǒng)的實施例結構圖。上述圖1-5方法發(fā)明的 各個實施例均可以在圖6結構圖所示結構的系統(tǒng)中實現。如圖6所示,該數據存儲業(yè)務控 制系統(tǒng)包括加載模塊642,用于在數據存儲業(yè)務啟動時,將磁盤中的日志索引文件加載至 內存,其中,所述日志索引文件包括多個用于表征日志文件屬性的日志索引;添加處理模塊 621,用于在根據所述日志索引文件判定所述磁盤配額未滿時,將接收的數據添加至所述內 存中的日志文件,并修改或新增對應于添加數據的日志文件的日志索引;同步模塊625,用 于將所述修改或新增的日志索引同步至所述磁盤。該數據存儲業(yè)務控制系統(tǒng)還可以包括映射控制模塊644,用于控制所述加載模塊在數據存儲業(yè)務啟動時將每一日志索 引文件中的日志索引分別加載到所述內存中預設對應的多個緩存頁中,其中每一日志索引 文件的預設對應的多個緩存頁組成單向鏈表以及每一日志索引文件預設對應一索引文件 頭;標識模塊624,用于將所述修改或新增的日志索引對應的緩存頁標識為臟頁;清除模塊626,用于在同步模塊將標識為臟頁的緩存頁中的日志索引同步至所述 磁盤后清除所述標識為臟頁的緩存頁的臟頁標識;刪除處理模塊622,用于在接收到數據刪除信息時,修改包含所述刪除數據的日志 文件對應的日志索引,并將修改的日志索引對應的緩存頁標識為臟頁;壓縮處理模塊623,用于在根據所述日志索引文件判定所述磁盤空間達到配額上 限或/和所述磁盤空間利用率低于預設閾值時,根據所述內存中的日志文件建立新的日志 文件,并建立所述新的日志文件的日志索引,以及將所述建立的日志索引對應的緩存頁標 識為臟頁。本實施例通過加載模塊642將該日志索引文件加載至內存使得內存中的添加處 理模塊621及壓縮處理模塊623根據該日志索引文件即可判斷磁盤的使用狀況進而進行數 據操作,提高系統(tǒng)啟動速度;日志文件僅保存對象的實體數據,對象索引使用分布式數據庫存儲,而日志索引存儲在本地結構化文件中,日志索引文件獨立于現有技術中的對象索引 文件獨立設置,二者分布式存儲,使得對象索引文件不再用于分析日志文件存儲情況,對象 索引文件功能單一,實現業(yè)務分離,提高系統(tǒng)的健壯性;此外分布式的特性也提升了系統(tǒng)的 擴展性及對象索引并發(fā)訪問效率;日志索引結構化聚集存儲,即采用日志索引文件的形式, 方便 了索引文件的加載和同步;索引文件的分頁緩存機制,方便了索引的快速訪問和動態(tài) 修改,降低了磁盤訪問次數,加快了索引同步效率。 最后應說明的是以上僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,盡管 參照前述實施例對本發(fā)明進行了詳細的說明,對于本領域的技術人員來說,其依然可以對 前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換。凡在 本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護 范圍之內。
權利要求
1.一種數據存儲業(yè)務控制方法,其特征在于,包括以下步驟在數據存儲業(yè)務啟動時,磁盤將日志索引文件加載至內存,其中,所述日志索引文件包 括多個用于表征日志文件屬性的日志索引;所述內存在根據所述日志索引文件判定所述磁盤配額未滿時,將接收的數據添加至日 志文件中,并修改或新增對應于添加數據的日志文件的日志索引; 所述內存將所述修改或新增的日志索引同步至所述磁盤。
2.根據權利要求1所述的數據存儲業(yè)務控制方法,其特征在于,所述在數據存儲業(yè)務 啟動時,磁盤將日志索引文件加載至內存的步驟包括在數據存儲業(yè)務啟動時,所述磁盤將每一日志索引文件中的日志索引分別加載到所述 內存中預設對應的多個緩存頁中,其中每一日志索引文件的預設對應的多個緩存頁組成單 向鏈表;所述單向鏈表中的緩存頁與其預設對應的索引文件頭進行信息交互。
3.根據權利要求2所述的數據存儲業(yè)務控制方法,其特征在于,在所述修改或新增對 應于添加數據的日志文件的日志索引的步驟之后包括對所述修改或新增的日志索引對應的緩存頁進行標識。
4.根據權利要求3所述的數據存儲業(yè)務控制方法,其特征在于,所述內存將所述修改 或新增的日志索引同步至所述磁盤的步驟包括所述內存將被標識的緩存頁中的日志索引同步至所述磁盤; 刪除所述被標識的緩存頁中的標識。
5.根據權利要求4所述的數據存儲業(yè)務控制方法,其特征在于,所述內存將被標識的 緩存頁中的日志索引同步至所述磁盤的步驟包括在任一緩存頁被標識時,所述內存將被標識的緩存頁中的日志索引同步至所述磁盤; 在達到預設的觸發(fā)時間或者被標識的緩存頁達到預設數量時,所述內存將被標識的緩 存頁中的日志索引同步至所述磁盤。
6.根據上述權利要求2至4中任一項所述的數據存儲業(yè)務控制方法,其特征在于,還包括所述內存在接收到數據刪除信息時,修改包含所述刪除數據的日志文件對應的日志索 引,并對所述修改的日志索引對應的緩存頁進行標識。
7.根據上述權利要求2至4中任一項所述的數據存儲業(yè)務控制方法,其特征在于,還包括所述內存在根據所述日志索引文件判定所述磁盤空間達到配額上限或/和所述磁盤 空間利用率低于預設閾值時,建立新的日志文件;所述內存建立所述新的日志文件的日志索引,并對所述建立的日志索引對應的緩存頁 進行標識。
8.一種數據存儲業(yè)務控制系統(tǒng),其特征在于,該系統(tǒng)包括加載模塊,用于在數據存儲業(yè)務啟動時,將磁盤中的日志索引文件加載至內存,其中, 所述日志索引文件包括多個用于表征日志文件屬性的日志索引;添加處理模塊,用于在根據所述日志索引文件判定所述磁盤配額未滿時,將接收的數 據添加至所述內存中的日志文件,并修改或新增對應于添加數據的日志文件的日志索引;同步模塊,用于將所述修改或新增的日志索引同步至所述磁盤。
9.根據權利要求8所述的數據存儲業(yè)務控制系統(tǒng),其特征在于,還包括映射控制模塊,用于控制所述加載模塊在數據存儲業(yè)務啟動時將每一日志索引文件中 的日志索引分別加載到所述內存中預設對應的多個緩存頁中,其中,每一日志索引文件的 預設對應的多個緩存頁組成單向鏈表以及每一日志索引文件預設對應于一索引文件頭。
10.根據權利要求9所述的數據存儲業(yè)務控制系統(tǒng),其特征在于,還包括標識模塊,用于對所述修改或新增的日志索引對應的緩存頁進行標識;清除模塊,用于在所述同步模塊將被標識的緩存頁中的日志索引同步至所述磁盤后清 除所述被標識的緩存頁中的標識;刪除處理模塊,用于在接收到數據刪除信息時,修改包含所述刪除數據的日志文件對 應的日志索引,并對所述修改的日志索引對應的緩存頁進行標識;壓縮處理模塊,用于在根據所述日志索引文件判定所述磁盤空間達到配額上限或/和 所述磁盤空間利用率低于預設閾值時,根據所述內存中的日志文件建立新的日志文件,并 建立所述新的日志文件的日志索引,以及對所述建立的日志索引對應的緩存頁進行標識。
全文摘要
本發(fā)明提供了一種數據存儲業(yè)務控制方法及系統(tǒng),其中,該方法包括在數據存儲業(yè)務啟動時,磁盤將日志索引文件加載至內存,日志索引文件包括多個用于表征日志文件屬性的日志索引;內存在根據日志索引文件判定磁盤配額未滿時,將接收的數據添加至日志文件中,并修改或新增對應于添加數據的日志文件的日志索引;內存將修改或新增的日志索引同步至磁盤。本發(fā)明通過建立日志索引文件并將該日志索引文件加載至內存使得內存根據該日志索引文件即可判斷磁盤的使用狀況進而進行數據操作,避免了現有技術中對象索引文件加載速度慢而影響系統(tǒng)啟動速度的缺陷。
文檔編號G06F17/30GK102129435SQ20101003415
公開日2011年7月20日 申請日期2010年1月13日 優(yōu)先權日2010年1月13日
發(fā)明者孫少陵, 徐承杰, 羅治國, 韓金宇, 黃曉慶 申請人:中國移動通信集團公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1