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

多硬盤下基于裸文件系統(tǒng)實現(xiàn)文件級鏡像的方法及裝置的制作方法

文檔序號:6613939閱讀:138來源:國知局
專利名稱:多硬盤下基于裸文件系統(tǒng)實現(xiàn)文件級鏡像的方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種適用于多硬盤環(huán)境下提高存取用戶數(shù)據(jù)可靠性的方法,尤
其涉及的是一種基于裸文件系統(tǒng)(RawFs)實現(xiàn)特定用戶數(shù)據(jù)可靠存取的方法 及裝置。
背景技術(shù)
當今信息技術(shù)飛速發(fā)展,使得我們處在一個信息爆炸的年代,對數(shù)據(jù)可靠 性的要求也越來越高。數(shù)據(jù)是企業(yè)最重要的資產(chǎn),如果企業(yè)數(shù)據(jù)丟失,業(yè)務的 開展將變得及其困難,更為重要的是,企業(yè)將失去客戶的信任以及一系列的企 業(yè)賴以生存發(fā)展的市場。
目前,從軟件和硬件上提出了多種方法來盡可能實現(xiàn)數(shù)據(jù)可靠的存取。 從軟件上提出了可靠文件系統(tǒng)的概念。這些文件系統(tǒng)能夠保證在斷電或者 機器異常重啟的情況下文件系統(tǒng)的系統(tǒng)數(shù)據(jù)不受破壞,用戶數(shù)據(jù)恢復到機器異 常重啟前的最后一個有效狀態(tài)。并且可靠文件系統(tǒng)對硬件沒有特殊要求,節(jié)省 硬件成本。但可靠文件系統(tǒng)是依賴于硬盤可靠性的,如果硬盤發(fā)生故障,則硬 盤中的用戶數(shù)據(jù)無法再恢復。對于話單等重要數(shù)據(jù),這種無硬件備份導致的后 果是無法接受的。
從硬件上保證數(shù)據(jù)可靠存取并且使用比較廣泛的是獨立磁盤冗余陣列 (RAID)技術(shù)。RAID 1提供了硬盤鏡像技術(shù),是RAID技術(shù)中最傳統(tǒng)的一種形 式,它最重要的優(yōu)點是百分之百的數(shù)據(jù)冗余。RAID l通過簡單地將一個盤上 的所有數(shù)據(jù)拷貝到第二個盤上來保證數(shù)據(jù)的可靠性。還有RAID3、 RAID 4和 RAID 5技術(shù)通過保存校驗信息的方法也可以保證數(shù)據(jù)的可靠存儲,達到了在 某個硬盤損壞的情況下恢復其數(shù)據(jù)的效果。但使用硬件RAID技術(shù)需要專門的 RAID控制器,這種方式無疑會大大增加產(chǎn)品的硬件成本,降低產(chǎn)品的競爭力。
因此需要一種方法,在對硬件設備沒有特殊要求的情況下,從軟件上保證 用戶數(shù)據(jù)的可靠存取。Linux操作系統(tǒng)中提出了軟RAID的方法,從軟件上來
管理多個硬盤,對上層用戶提供硬RAID相同的功能。但這種方式實現(xiàn)復雜, 不適用于在嵌入式操作系統(tǒng)中使用。
在嵌入式系統(tǒng)長期工作中,硬盤可能由于長時間處于通電狀態(tài)導致短暫的 故障,在沒有人工干預的情況下可以自動恢復正常工作狀態(tài),這就需要在硬盤
恢復正常后能夠繼續(xù)使用該硬盤作為鏡像硬盤。但上面所述的軟RAID方式,
每次在硬盤故障后都要人工干預來恢復其工作。
在嵌入式操作系統(tǒng)中,并不會存在大量使用磁盤的操作,只有一些特殊的 數(shù)據(jù)在某段時間內(nèi)需要大量讀寫磁盤,并且對存儲設備的可靠性要求很高,比 如話單文件。因此可以針對這種特殊數(shù)據(jù)提供一種實現(xiàn)簡單并且可靠的存取方 法。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種在多硬盤環(huán)境下基于RawFs實現(xiàn)文件級鏡像 的方法及在裝置。適用于不需要復雜的文件系統(tǒng)來維護的特殊數(shù)據(jù),在硬盤故 障恢復后能夠重新同步多個硬盤的系統(tǒng)區(qū),不需要用戶干預自動進入正常的文 件級鏡像的工作狀態(tài)。
為達到上述目的,本發(fā)明提供的多硬盤環(huán)境下基于RawFs實現(xiàn)文件級鏡
像的方法,包括
初始化步驟,用于格式化多個硬盤,使所述多個硬盤滿足文件級鏡像所需
的硬盤布局要求,并同步所述多個硬盤的系統(tǒng)區(qū)信息;
寫操作步驟,用于在執(zhí)行寫操作時,同時將用戶數(shù)據(jù)在所述多個硬盤上發(fā) 起寫操作,并在寫操作完成后更新所述系統(tǒng)區(qū)中的寫指針;
讀操作步驟,用于在執(zhí)行讀操作時,根據(jù)所述系統(tǒng)區(qū)中記錄的信息確定數(shù) 據(jù)有效的硬盤并返回該數(shù)據(jù)有效的硬盤上的數(shù)據(jù),并在讀操作完成后更新所述 系統(tǒng)區(qū)中的讀指針。
上述實現(xiàn)文件級鏡像的方法,所述初始化步驟進一步包括選定主盤的步 驟,用于在所述多個硬盤中選定一個硬盤作為主盤,其他硬盤作為從盤;在所 述讀操作步驟中,如果確定多個硬盤中的數(shù)據(jù)都有效,優(yōu)先返回所述主盤上的 數(shù)據(jù)。
上述實現(xiàn)文件級鏡像的方法,所述初始化步驟中格式化后的硬盤布局包括
系統(tǒng)區(qū)和數(shù)據(jù)區(qū);所述系統(tǒng)區(qū)在所述硬盤首部和尾部各一個,且所述首尾兩個 系統(tǒng)區(qū)互為備份,在更新時要同時更新;所述數(shù)據(jù)區(qū)用于保存用戶數(shù)據(jù),該數(shù)
據(jù)區(qū)被劃分為多個固定大小的記錄區(qū),每個記錄區(qū)對應一次讀寫的空間。 上述實現(xiàn)文件級鏡像的方法,所述系統(tǒng)區(qū)保存讀寫操作使用的控制結(jié)構(gòu),
所述控制結(jié)構(gòu)的布局包括幻數(shù)、標志符、記錄大小、時間戳、讀指針、寫指 針、同步區(qū)域控制結(jié)構(gòu)和無法使用的數(shù)據(jù)空間;所述幻數(shù)保存固定的數(shù)值,用 于表示該硬盤已經(jīng)格式化;所述標志符用于表示當前使用的多個硬盤是否互為 備份;所述記錄大小表示每次用戶讀寫數(shù)據(jù)的基本單位;所述時間戳表示最后 一次讀寫硬盤的時間;同步區(qū)域控制結(jié)構(gòu)表示本硬盤上一段數(shù)據(jù)無效的用戶區(qū) 域;所述無法使用的數(shù)據(jù)空間表示硬盤上由于存在壞扇區(qū)而導致無法讀寫的 用戶區(qū)域。
上述實現(xiàn)文件級鏡像的方法,所述標志符相等的硬盤作為鏡像硬盤互為備 份,該標志符的值在硬盤格式化時固定;當互為鏡像的硬盤中的一個硬盤發(fā)生 故障重新初始化該故障硬盤時,需要自動同步該故障硬盤與互為鏡像的硬盤上 系統(tǒng)區(qū)的信息。
上述實現(xiàn)文件級鏡像的方法,所述讀指針指向一個寫入時間最早但還沒有 被用戶讀取的記錄,每次讀完之后向后移動一個記錄,所述寫指針指向最后一 次寫的記錄;當所述讀指針追上所述寫指針時表示硬盤上沒有用戶數(shù)據(jù),當所 述寫指針追上所述讀指針時表示硬盤上沒有剩余空間保存用戶數(shù)據(jù)。
上述實現(xiàn)文件級鏡像的方法,所述同步區(qū)域控制結(jié)構(gòu)由多個 (SynBgn,SynEnd)結(jié)構(gòu)組成,所述(SynBgn,SynEnd)結(jié)構(gòu)表示記錄號SynBgn到 記錄號SynEnd這段空間中是無效的用戶數(shù)據(jù),當用戶讀取數(shù)據(jù)時,如果所述 讀指針指向的位置在所述同步區(qū)域內(nèi),則會從另一塊硬盤上獲取有效數(shù)據(jù),如 果所述讀指針在另一塊硬盤上也處于同步區(qū)域,則讀指針會后移直至找到一個 有效的數(shù)據(jù)區(qū)。
上述實現(xiàn)文件級鏡像的方法,所述無法使用的數(shù)據(jù)空間由多個 (InvBgn,InvEnd)結(jié)構(gòu)組成,所述(InvBgn,InvEnd)結(jié)構(gòu)表示記錄號InvBgn到記 錄號SynEnd這段空間的扇區(qū)不可使用,當讀寫到這段區(qū)域時讀寫指針會自動 跳過該區(qū)域。
進一步的,本發(fā)明還提供了一種采用上述多硬盤環(huán)境下基于裸文件系統(tǒng)實
現(xiàn)文件級鏡像方法的裝置,包括
初始化模塊,用于格式化多個硬盤,使所述多個硬盤滿足文件級鏡像所需 的硬盤布局要求,并同步所述多個硬盤系統(tǒng)區(qū)的信息;
寫操作執(zhí)行模塊,用于在執(zhí)行寫操作時,同時將用戶數(shù)據(jù)在所述多個硬盤 上發(fā)起寫操作,并在寫操作完成后更新所述系統(tǒng)區(qū)中的寫指針;
讀操作執(zhí)行模塊,用于在執(zhí)行讀操作時,根據(jù)所述系統(tǒng)區(qū)中記錄的信息確 定數(shù)據(jù)有效的硬盤并返回有效硬盤上的數(shù)據(jù),并在讀操作完成后更行所述系統(tǒng) 區(qū)中的讀指針。
上述文件級鏡像管理裝置,所述格式化后的硬盤布局包括系統(tǒng)區(qū)和數(shù)據(jù) 區(qū);所述系統(tǒng)區(qū)在所述硬盤首部和尾部各一個,該兩個系統(tǒng)區(qū)互為備份使用, 所述系統(tǒng)區(qū)保存讀寫操作使用的控制結(jié)構(gòu),該控制結(jié)構(gòu)的布局包括幻數(shù)、標
志符、記錄大小、時間戳、讀指針、寫指針、同步區(qū)域控制結(jié)構(gòu)和無法使用的
數(shù)據(jù)空間;所述數(shù)據(jù)區(qū)用于保存用戶數(shù)據(jù),該數(shù)據(jù)區(qū)被劃分為多個固定大小的
記錄區(qū),每個記錄區(qū)對應一次讀寫的空間。
與現(xiàn)有技術(shù)相比,本發(fā)明使用純軟件的方式實現(xiàn)用戶數(shù)據(jù)的可靠存取,在 用戶寫數(shù)據(jù)的時候可以在多個可用硬盤上保存數(shù)據(jù),在用戶讀數(shù)據(jù)的時候可以 在多個可用硬盤中選擇讀取一塊有效數(shù)據(jù)返回給用戶,在硬盤故障恢復后能夠 重新同步多個硬盤的系統(tǒng)區(qū),不需要用戶干預。
本發(fā)明提供的基于RawFs的文件級鏡像方法,適用于話單等特殊數(shù)據(jù), 這類數(shù)據(jù)不需要復雜的文件系統(tǒng)來維護,對于上層用戶來說只要把寫入的數(shù)據(jù) 都能可靠的取出;并且這類數(shù)據(jù)每次讀寫的大小固定,不需要文件系統(tǒng)使用文 件分配表(FAT)之類的控制信息來維護硬盤空間,可以在系統(tǒng)初始化的時候為 每個數(shù)據(jù)單元劃分好存儲區(qū)由于假定每次讀寫的單元大小是固定的,因此實現(xiàn) 簡單,并且管理有效,比較適合在嵌入式系統(tǒng)中對數(shù)據(jù)可靠性要求高的某類數(shù) 據(jù)的存取。


圖1是本發(fā)明實施例雙硬盤下基于裸文件系統(tǒng)實現(xiàn)文件級鏡像的方法流 程圖2是硬盤上劃分的所有區(qū)域分布的實例圖3是硬盤上系統(tǒng)區(qū)結(jié)構(gòu)的示意圖4是文件級鏡像初始化流程圖5是兩個硬盤系統(tǒng)區(qū)同步前的狀態(tài)示意圖6是兩個硬盤系統(tǒng)區(qū)同步后的狀態(tài)示意圖7是本發(fā)明多硬盤下基于裸文件系統(tǒng)實現(xiàn)文件級鏡像的裝置示意框圖。
具體實施例方式
下面結(jié)合附圖和具體實施例對本發(fā)明的技術(shù)方案作進一步的詳細描述,以 更進一步了解本發(fā)明之目的、方案及功效,但并非作為本發(fā)明所附權(quán)利要求保 護范圍的限制。
圖1為本發(fā)明實施例雙硬盤下基于裸文件系統(tǒng)實現(xiàn)文件級鏡像的方法流 程圖;如圖1所示,包括以下步驟
步驟S10:對兩個硬盤進行格式化,同步兩個硬盤的系統(tǒng)區(qū)信息并設置主
步驟S20:在執(zhí)行寫操作的時,同時將用戶數(shù)據(jù)在兩個硬盤上發(fā)起寫操作, 在寫操作完成后更新系統(tǒng)區(qū)中的寫指針;
步驟S30:在執(zhí)行讀操作的時,根據(jù)系統(tǒng)區(qū)中記錄的信息確定數(shù)據(jù)有效的 硬盤,并返回數(shù)據(jù)有效的硬盤上的數(shù)據(jù);如果兩個硬盤上的數(shù)據(jù)都有效則返回 主盤上的數(shù)據(jù),在讀操作完成后更新系統(tǒng)區(qū)中的讀指針。
參考圖2 圖6,以雙硬盤環(huán)境為例進一步說明本發(fā)明的
具體實施例方式
本發(fā)明多硬盤環(huán)境下基于裸文件系統(tǒng)實現(xiàn)文件級鏡像的方法,包括以下基 本處理流程格式化硬盤流程,文件級鏡像的初始化流程,讀寫用戶數(shù)據(jù)流程。
其中,格式化硬盤流程,用于格式化硬盤以滿足文件級鏡像方法所需的硬
盤布局要求。硬盤格式化之后布局如圖2所示,分為系統(tǒng)區(qū)和數(shù)據(jù)區(qū)兩部分。
其中系統(tǒng)區(qū)在硬盤首部和尾部各有一個,可以互為備份,在更新的時候要同時 更新。數(shù)據(jù)區(qū)用于保存用戶數(shù)據(jù),由于格式化時就可以確定每次讀寫的用戶數(shù) 據(jù)大小,因此可以在格式化的時把用戶數(shù)據(jù)區(qū)劃分成一個一個記錄區(qū),每個記 錄就對應一次讀寫的空間。系統(tǒng)區(qū)保存了讀寫操作使用的控制結(jié)構(gòu),其布局如
圖3所示。其中,MagicNumber(幻數(shù))保存了固定的數(shù)值,表示該硬盤己經(jīng)格 式化過,可以被文件級鏡像方法使用。標志符用來表示當前使用的兩個硬盤是
否互為備份的,每次格式化硬盤的時候該值就被固定,只有標志符相等的兩個 硬盤才能作為鏡像硬盤使用,如果不一致則要用戶選擇其中的一塊作為從盤使 用,并重新格式化該從盤。記錄大小表示每次用戶讀寫數(shù)據(jù)的基本單位。時間 戳表示最后一次讀寫硬盤的時間,可以通過時間戳在兩個硬盤中選擇一個作為 主盤。讀指針指向一個寫入時間最早的但還沒有被用戶讀取的記錄,每次讀完 之后就向后移動一個記錄大小的距離。寫指針指向最后一次寫的記錄的后面一 個位置。當讀指針追上寫指針時表示硬盤上沒有用戶數(shù)據(jù)了,當寫指針追上讀 指針時表示硬盤上沒有剩余空間來保存用戶數(shù)據(jù)了。同步區(qū)域控制結(jié)構(gòu)是用來
表示本硬盤上一段數(shù)據(jù)無效的用戶區(qū)域,由多個(SynBgn,SynEnd)結(jié)構(gòu)組成, (SynBgn,SynEnd)結(jié)構(gòu)表示記錄號SynBgn到記錄號SynEnd這段空間中是無效 的用戶數(shù)據(jù)。當用戶讀取數(shù)據(jù)時,如果讀指針指向的位置在同步區(qū)域內(nèi),則會 從另一塊硬盤上獲取有效數(shù)據(jù),如果讀指針在另一塊硬盤上也處于同步區(qū)域的 話,則讀指針會后移直到找到一個有效的數(shù)據(jù)區(qū)。無法使用的數(shù)據(jù)空間是用來 表示硬盤上由于存在壞扇區(qū)而導致無法讀寫的用戶區(qū)域,其結(jié)構(gòu)與同步區(qū)域控 制結(jié)構(gòu)類似,也是由多個(InvBgn,InvEnd)結(jié)構(gòu)組成,(InvBgn,InvEnd)結(jié)構(gòu)表 示記錄號InvBgn到記錄號SynEnd這段空間的扇區(qū)不可使用,當讀寫到這段 區(qū)域時讀寫指針會自動跳過該區(qū)域。
經(jīng)過硬盤格式化之后,文件級鏡像方法就可以在格式化的硬盤上使用。 在嵌入式系統(tǒng)初始化時,需要執(zhí)行文件級鏡像初始化流程。如圖4所示, 包括以下步驟
步驟S401:檢査兩個硬盤上的Magic Number和標志符,確認這兩個硬盤 己經(jīng)格式化過,并且這兩個硬盤是互為鏡像使用的。
步驟S402:需要選定一個硬盤作為主盤,以便在讀取數(shù)據(jù)的時候決定優(yōu) 先從哪個硬盤中讀取。時間戳中記錄了硬盤最后一次訪問的時間,時間戳大的 硬盤表示其數(shù)據(jù)是最新讀寫過的,可以選擇該硬盤作為主盤。
步驟S403:同步兩個硬盤中系統(tǒng)區(qū)內(nèi)容。由于系統(tǒng)在前一次運行過程中, 硬盤可能發(fā)生故障導致兩個硬盤上系統(tǒng)區(qū)的狀態(tài)不一致,當系統(tǒng)重新初始化 時,硬盤有可能恢復正常運行,為了重新把兩個硬盤作為鏡像使用,需要自動 同步兩塊硬盤上系統(tǒng)區(qū)的信息。
圖5和圖6分別表示同步前和同步后兩個硬盤數(shù)據(jù)區(qū)的示意圖,其中硬盤
2在初始化時被選擇作為主盤。如圖5所示,由于硬盤1在上次運行過程中發(fā)
生故障,導致其讀寫指針和硬盤2的不一致。圖5中R1和R2之間范圍內(nèi)的 數(shù)據(jù)用戶己經(jīng)讀取過,簡單情況下只要把硬盤1中的Rl指針移動到硬盤2中 的R2位置。但由于硬盤2中有一個同步區(qū)域,表示其中的數(shù)據(jù)是無效的,在 上次用戶發(fā)起讀取操作的時候由于硬盤l已損壞,其中的數(shù)據(jù)無法讀出,所以 直接跳過這段區(qū)域把記錄b中的數(shù)據(jù)返回給用戶?,F(xiàn)在硬盤l己經(jīng)恢復正常, 其中的重要數(shù)據(jù)應該盡量返回給用戶,因此把硬盤1中的R1和硬盤2中的R2 指針都移動到硬盤2的同步區(qū)域前,這樣下次用戶發(fā)起讀取操作的時候就可以 把硬盤1中的有效數(shù)據(jù)返回。圖5中記錄b是已經(jīng)讀取過的數(shù)據(jù),如果僅僅把 讀指針放在硬盤2的同步區(qū)域前,則會把記錄b中的數(shù)據(jù)重新返回給上層用戶, 這對于話單數(shù)據(jù)來說就等于計算了兩次費用,應該杜絕這種情況,因此需要把 硬盤1和硬盤2中記錄b設為同步區(qū)域,表示這兩個硬盤中這段區(qū)域都是無效 的,在讀取數(shù)據(jù)的時候就會直接越過這段區(qū)域。讀指針修改后的位置如圖6 所示,保證沒有讀取過的數(shù)據(jù)不丟棄,已經(jīng)讀取過的數(shù)據(jù)不會多次讀取。寫指 針同步相對簡單,只要把硬盤1中的Wl指針移動到硬盤2中的W2位置,并 且把硬盤1上Wl和W2之間的區(qū)域設為同步區(qū)域,因為硬盤1中這段區(qū)域沒 有寫上層用戶數(shù)據(jù),寫指針同步后如圖6所示。這個同步過程只需要修改系統(tǒng) 區(qū)中的幾個數(shù)據(jù),比起軟RAID方式中同步所有硬盤上的數(shù)據(jù)來同步量少,適 合于嵌入式系統(tǒng)中使用。
文件級鏡像初始化流程之后就進入讀寫用戶數(shù)據(jù)流程。 寫數(shù)據(jù)流程相對簡單,在用戶發(fā)起寫操作時同時在兩塊硬盤上寫入用戶數(shù) 據(jù),寫完之后在系統(tǒng)區(qū)中更新寫指針。如果由于扇區(qū)損壞導致寫盤失敗,則把 這段區(qū)域標志為無法使用的數(shù)據(jù)空間,在系統(tǒng)區(qū)記錄下來,把寫指針跳過這段 區(qū)域后繼續(xù)寫用戶數(shù)據(jù)。以后發(fā)起讀寫操作的時候就會自動跳過這段區(qū)域,避 免由于存在一兩個壞扇區(qū)影響整塊硬盤使用的情況。每次寫操作結(jié)束之后需要 更新時間戳。
讀數(shù)據(jù)時不會同時從多個硬盤中讀取,而是優(yōu)先讀取主盤上的有效數(shù)據(jù)。 如果主盤上讀指針指向的是一個同步區(qū)域,則從從盤中讀取數(shù)據(jù)。如果主盤和 從盤上都是同步區(qū)域,則把讀指針向后移動,只到找到最近一個有效區(qū)域位置。 讀取成功之后更新主盤和從盤的讀指針,使其指向下一個記錄。讀操作之后也
ii
需要更新時間戳,表示該硬盤最后一次被操作的時間。
參考圖7,本發(fā)明還提供了一種采用上述方法的裝置70,包括初始化模塊 701,用于格式化多個硬盤,使所述多個硬盤滿足文件級鏡像所需的硬盤布局
要求,并同步所述多個硬盤系統(tǒng)區(qū)的信息;寫操作執(zhí)行模塊702,用于在執(zhí)行 寫操作時,同時在所述多個硬盤上發(fā)起寫操作,并在寫操作完成后更新所述系 統(tǒng)區(qū)中的寫指針;讀操作執(zhí)行模塊703,用于在執(zhí)行讀操作時,根據(jù)所述系統(tǒng) 區(qū)中記錄的信息確定數(shù)據(jù)有效的硬盤并返回有效硬盤上的數(shù)據(jù),并在讀操作完 成后更行所述系統(tǒng)區(qū)中的讀指針。
綜上看出,只要不是所有的鏡像盤都發(fā)生故障,用戶發(fā)起的讀寫操作都能 夠成功執(zhí)行。并且在硬盤故障恢復后,能夠自動同步系統(tǒng)區(qū),恢復系統(tǒng)的文件 級鏡像功能。本發(fā)明使用了基于裸文件系統(tǒng)實現(xiàn)文件級鏡像的方法,不需要增 加硬件成本,實現(xiàn)簡單,并且當硬盤故障恢復后能夠在沒有人為干預的情況下 自動恢復硬盤鏡像功能,適合于在嵌入式系統(tǒng)中對某類數(shù)據(jù)存儲可靠性要求高 的場合使用。
雖然本發(fā)明已以較佳實施例揭露如上,然其并非用以限定本發(fā)明,在不 背離本發(fā)明精神及其實質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當可根據(jù)本發(fā)明作 出各種相應的改變和變形,但這些相應的改變和變形都應屬于本發(fā)明所附的權(quán) 利要求的保護范圍。
權(quán)利要求
1、一種多硬盤環(huán)境下基于裸文件系統(tǒng)實現(xiàn)文件級鏡像的方法,其特征在于,包括初始化步驟,用于格式化多個硬盤,使所述多個硬盤滿足文件級鏡像所需的硬盤布局要求,并同步所述多個硬盤的系統(tǒng)區(qū)信息;寫操作步驟,用于在執(zhí)行寫操作時,同時將用戶數(shù)據(jù)在所述多個硬盤上發(fā)起寫操作,并在寫操作完成后更新所述系統(tǒng)區(qū)中的寫指針;讀操作步驟,用于在執(zhí)行讀操作時,根據(jù)所述系統(tǒng)區(qū)中記錄的信息確定數(shù)據(jù)有效的硬盤并返回該數(shù)據(jù)有效的硬盤上的數(shù)據(jù),并在讀操作完成后更新所述系統(tǒng)區(qū)中的讀指針。
2、 根據(jù)權(quán)利要求1所述的實現(xiàn)文件級鏡像的方法,其特征在于,所述初 始化步驟進一步包括選定主盤的步驟,用于在所述多個硬盤中選定一個硬盤 作為主盤,其他硬盤作為從盤;在所述讀操作步驟中,如果確定多個硬盤中的 數(shù)據(jù)都有效,優(yōu)先返回所述主盤上的數(shù)據(jù)。
3、 根據(jù)權(quán)利要求1所述的實現(xiàn)文件級鏡像的方法,其特征在于,所述初 始化步驟中格式化后的硬盤布局包括系統(tǒng)區(qū)和數(shù)據(jù)區(qū);所述系統(tǒng)區(qū)在所述硬盤 首部和尾部各一個,所述首尾兩個系統(tǒng)區(qū)互為備份,且在更新時要同時更新; 所述數(shù)據(jù)區(qū)用于保存用戶數(shù)據(jù),該數(shù)據(jù)區(qū)被劃分為多個固定大小的記錄區(qū),每 個記錄區(qū)對應一次讀寫的空間。
4、 根據(jù)權(quán)利要求3所述的實現(xiàn)文件級鏡像的方法,其特征在于,所述系 統(tǒng)區(qū)保存讀寫操作使用的控制結(jié)構(gòu),所述控制結(jié)構(gòu)的布局包括幻數(shù)、標志符、 記錄大小、時間戳、讀指針、寫指針、同步區(qū)域控制結(jié)構(gòu)和無法使用的數(shù)據(jù)空 間;所述幻數(shù)保存固定的數(shù)值,用于表示該硬盤已經(jīng)格式化;所述標志符用于 表示當前使用的多個硬盤是否互為備份;所述記錄大小表示每次用戶讀寫數(shù)據(jù) 的基本單位;所述時間戳表示最后一次讀寫硬盤的時間;同步區(qū)域控制結(jié)構(gòu)表示本硬盤上一段數(shù)據(jù)無效的用戶區(qū)域;所述無法使用的數(shù)據(jù)空間表示硬盤上 由于存在壞扇區(qū)而導致無法讀寫的用戶區(qū)域。
5、 根據(jù)權(quán)利要求4所述的實現(xiàn)文件級鏡像的方法,其特征在于,所述標 志符相等的硬盤作為鏡像硬盤互為備份,該標志符的值在硬盤格式化時固定; 當互為鏡像的硬盤中的一個硬盤發(fā)生故障重新初始化該故障硬盤時,需要自動 同步該故障硬盤與互為鏡像的硬盤上系統(tǒng)區(qū)的信息。
6、 根據(jù)權(quán)利要求4所述的實現(xiàn)文件級鏡像的方法,其特征在于,所述讀指針指向一個寫入時間最早但還沒有被用戶讀取的記錄,每次讀完之后向后移 動一個記錄,所述寫指針指向最后一次寫的記錄;當所述讀指針追上所述寫指 針時表示硬盤上沒有用戶數(shù)據(jù),當所述寫指針追上所述讀指針時表示硬盤上沒 有剩余空間保存用戶數(shù)據(jù)。
7、 根據(jù)權(quán)利要求4所述的實現(xiàn)文件級鏡像的方法,其特征在于,所述同 步區(qū)域控制結(jié)構(gòu)由多個(SynBgn,SynEnd)結(jié)構(gòu)組成,所述(SynBgn,SynEnd)結(jié)構(gòu) 表示記錄號SynBgn到記錄號SynEnd這段空間中是無效的用戶數(shù)據(jù),當用戶 讀取數(shù)據(jù)時,如果所述讀指針指向的位置在所述同步區(qū)域內(nèi),則會從另一塊硬 盤上獲取有效數(shù)據(jù),如果所述讀指針在另一塊硬盤上也處于同步區(qū)域,則讀指 針會后移直至找到一個有效的數(shù)據(jù)區(qū)。
8、 根據(jù)權(quán)利要求4所述的實現(xiàn)文件級鏡像的方法,其特征在于,所述無 法使用的數(shù)據(jù)空間由多個(InvBgn,InvEnd)結(jié)構(gòu)組成,所述(InvBgn,InvEnd)結(jié)構(gòu) 表示記錄號IrwBgn到記錄號SynEnd這段空間的扇區(qū)不可使用,當讀寫到這 段區(qū)域時讀寫指針會自動跳過該區(qū)域。
9、 一種采用上述權(quán)利要求1 8中任一項所述的多硬盤環(huán)境下基于裸文件 系統(tǒng)實現(xiàn)文件級鏡像方法的裝置,其特征在于,包括初始化模塊,用于格式化多個硬盤,使所述多個硬盤滿足文件級鏡像所需 的硬盤布局要求,并同步所述多個硬盤系統(tǒng)區(qū)的信息;寫操作執(zhí)行模塊,用于在執(zhí)行寫操作時,同時將用戶數(shù)據(jù)在所述多個硬盤 上發(fā)起寫操作,并在寫操作完成后更新所述系統(tǒng)區(qū)中的寫指針;讀操作執(zhí)行模塊,用于在執(zhí)行讀操作時,根據(jù)所述系統(tǒng)區(qū)中記錄的信息確 定數(shù)據(jù)有效的硬盤并返回有效硬盤上的數(shù)據(jù),并在讀操作完成后更行所述系統(tǒng) 區(qū)中的讀指針。
10、 根據(jù)權(quán)利要求9所述的文件級鏡像管理裝置,其特征在于,所述格式 化后的硬盤布局包括系統(tǒng)區(qū)和數(shù)據(jù)區(qū);所述系統(tǒng)區(qū)在所述硬盤首部和尾部各一 個,該兩個系統(tǒng)區(qū)互為備份使用,所述系統(tǒng)區(qū)保存讀寫操作使用的控制結(jié)構(gòu), 該控制結(jié)構(gòu)的布局包括幻數(shù)、標志符、記錄大小、時間戳、讀指針、寫指針、 同步區(qū)域控制結(jié)構(gòu)和無法使用的數(shù)據(jù)空間;所述數(shù)據(jù)區(qū)用于保存用戶數(shù)據(jù),該 數(shù)據(jù)區(qū)被劃分為多個固定大小的記錄區(qū),每個記錄區(qū)對應一次讀寫的空間。
全文摘要
本發(fā)明公開了一種多硬盤環(huán)境下基于裸文件系統(tǒng)實現(xiàn)文件級鏡像的方法及裝置,該方法包括初始化步驟,用于格式化多個硬盤,使所述多個硬盤滿足文件級鏡像所需的硬盤布局要求,并同步所述多個硬盤的系統(tǒng)區(qū)信息;寫操作步驟,用于在執(zhí)行寫操作時,同時將用戶數(shù)據(jù)在所述多個硬盤上發(fā)起寫操作,并在寫操作完成后更新所述系統(tǒng)區(qū)中的寫指針;讀操作步驟,用于在執(zhí)行讀操作時,根據(jù)所述系統(tǒng)區(qū)中記錄的信息確定數(shù)據(jù)有效的硬盤并返回該數(shù)據(jù)有效的硬盤上的數(shù)據(jù),并在讀操作完成后更新所述系統(tǒng)區(qū)中的讀指針。本發(fā)明實現(xiàn)簡單管理有效,適合在嵌入式系統(tǒng)中對數(shù)據(jù)可靠性要求高的某類數(shù)據(jù)的存取。
文檔編號G06F3/06GK101169705SQ20071017854
公開日2008年4月30日 申請日期2007年11月30日 優(yōu)先權(quán)日2007年11月30日
發(fā)明者周海山, 童小九, 黃文偉 申請人:中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1