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

一種實現(xiàn)一寫多讀的方法

文檔序號:6585542閱讀:278來源:國知局
專利名稱:一種實現(xiàn)一寫多讀的方法
技術(shù)領(lǐng)域
本發(fā)明涉及計算機信息存儲技術(shù)領(lǐng)域,特別涉及一種基于Linux系統(tǒng)實現(xiàn)一寫多 讀的方法。
背景技術(shù)
一寫多讀(Write Once Read Many, WORM),是指在介質(zhì)上保留的文件內(nèi)容在一段時間內(nèi)或永久只能讀不能修改和刪除,可用于保存重要數(shù)據(jù)、法規(guī)遵從或內(nèi)部審計數(shù)據(jù)。比如2002年頒布的《薩班斯_奧克斯利法案(SOA)》,對于信息安全性的防護變得 越來越重要,規(guī)定要求企業(yè)將電子郵件、文檔、患者記錄、設(shè)計文件、審計信息以及其他數(shù)據(jù) 存檔數(shù)年,這就帶來了對注重法規(guī)符合性的內(nèi)容不可篡改的存儲系統(tǒng)的需求。光盤從存儲原理上說是最合適WORM的,但是因為容量、速率較差的原因,存儲介 質(zhì)廠商都推出了支持WORM的磁帶產(chǎn)品。磁帶是傳統(tǒng)的可多次讀寫的備份和歸檔介質(zhì),從物 理上講是不支持WORM的,隨著近年來WORM技術(shù)使用的深入,磁帶的WORM功能實現(xiàn)方式有 主要是是通過磁帶機管理軟件將磁帶介質(zhì)設(shè)置為WORM帶或非WORM帶,WORM帶只能追加寫 入數(shù)據(jù),不能刪除或修改數(shù)據(jù)。隨著信息技術(shù)的不斷發(fā)展,信息容量越來越龐大,無論信息檢索還是數(shù)據(jù)讀寫,都 需要嚴格的響應時間。但當前基于光盤和磁帶的WORM技術(shù)無法充分滿足訪問快速訪問的 要求。隨著磁盤容量的提高和成本的下降,具備高響應速度的磁盤成為實現(xiàn)WORM功能 的首選介質(zhì)?,F(xiàn)有技術(shù)中基于磁盤的WORM功能的實現(xiàn),是通過磁盤陣列柜管理軟件創(chuàng)建 WORM存儲卷,數(shù)據(jù)一旦存入WORM存儲卷,在磁盤柜管理軟件的控制之下,即使是文件的創(chuàng) 建者或者系統(tǒng)管理員都不可以更改、刪除甚至改名存檔數(shù)據(jù)。只有蓄意破壞行為(例如 將磁盤從磁盤柜中取出),才能導致數(shù)據(jù)的刪除或是更改??梢允褂锚毩⑷哂啻疟P陣列 (Redundant Array of Independent Disks, RAID)實現(xiàn)基于磁盤的 WORM 技術(shù),NetApp 公司 的磁盤式數(shù)據(jù)保持方案SnapLock可以在聯(lián)機存檔解決方案NetApp NearStore和光纖接入 存儲(Fabric-Attached Storage, FAS)存儲系統(tǒng)上創(chuàng)建不可擦除、不可重寫的WORM卷?,F(xiàn)有技術(shù)中的基于磁盤實現(xiàn)的WORM技術(shù),都必須通過在指定產(chǎn)品中運行專用操 作系統(tǒng)才能實現(xiàn),不能在通用的操作系統(tǒng)實現(xiàn),并且不能實現(xiàn)同時支持多種文件系統(tǒng)。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的在于,提出一種實現(xiàn)一寫多讀的方法,可以在通用的 Linux操作系統(tǒng)中實現(xiàn)一寫多讀。本發(fā)明實施例提出的實現(xiàn)一寫多讀的方法,包括如下步驟A、在創(chuàng)建文件系統(tǒng)時,在文件系統(tǒng)超級塊中創(chuàng)建一寫多讀標識;B、虛擬文件系統(tǒng)層收到對文件系統(tǒng)中文件的讀寫操作請求,虛擬文件系統(tǒng)層檢查 所述文件系統(tǒng)超級塊信息中是否有一寫多讀標識,若是,則執(zhí)行步驟C ;
C、判斷該讀寫操作的屬性,如果為創(chuàng)建新文件或讀取文件,則執(zhí)行相應操作;若該 讀寫操作為修改文件內(nèi)容、修改文件屬性或刪除文件,則拒絕該讀寫操作。所述文件系統(tǒng)為第三代擴展文件系統(tǒng)ext3,高級日志文件系統(tǒng)XFS,ReiserFS文 件系統(tǒng)或JFS文件系統(tǒng)。所述WORM標識為文件系統(tǒng)超級塊中的一個特定字段。步驟C所述判斷該讀寫操作的屬性,如果為創(chuàng)建新文件,則執(zhí)行相應操作中的相 應操作包括虛擬文件系統(tǒng)層創(chuàng)建所述新文件,在關(guān)閉所述新文件時,虛擬文件系統(tǒng)層檢測文 件系統(tǒng)中有一寫多讀標識,則將該新文件的權(quán)限設(shè)置為只讀權(quán)限。步驟C所述拒絕該讀寫操作之后,進一步包括發(fā)出用戶沒有相應操作權(quán)限的提 /J^fn 息。從以上技術(shù)方案可以看出,通過在文件系統(tǒng)超級塊中設(shè)置一寫多讀WORM標識,在 執(zhí)行讀寫操作前,虛擬文件系統(tǒng)層檢查是否存在WORM標識,若是,則只允許在對應的文件 系統(tǒng)中創(chuàng)建新文件以及讀操作,禁止其他操作,從而實現(xiàn)WORM功能。本發(fā)明方案可以在通 用的Linux操作系統(tǒng)中完全由軟件實現(xiàn)WORM功能,而且可以很方便支持多種不同文件系統(tǒng) 實現(xiàn)WORM功能。


圖1為Linux系統(tǒng)實現(xiàn)數(shù)據(jù)寫入過程的示意圖;圖2為本發(fā)明實施例的實現(xiàn)流程圖。
具體實施例方式本發(fā)明技術(shù)方案基于Linux系統(tǒng)實現(xiàn),為使本發(fā)明方案表述地更加清楚,有必要 先對Linux系統(tǒng)實現(xiàn)數(shù)據(jù)寫入的過程進行介紹。圖1為Linux系統(tǒng)實現(xiàn)數(shù)據(jù)寫入過程的示意圖。其中,虛擬文件系統(tǒng)(Virtual File System,VFS) 101是一個異構(gòu)文件系統(tǒng)之上的軟件粘合層(有時也把VFS稱為可堆疊 的文件系統(tǒng)(Stackable Filesystem)),使系統(tǒng)調(diào)用函數(shù)(例如 open ()、read()、write () 等)不用關(guān)心底層的存儲介質(zhì)和文件系統(tǒng)類型就可以工作。在Linux系統(tǒng)中,虛擬文件系 統(tǒng)101的作用是通過一個抽象的通用訪問接口屏蔽底層文件系統(tǒng)和物理介質(zhì)的差異性。文件系統(tǒng)是操作系統(tǒng)用于明確磁盤或分區(qū)上的文件的方法和數(shù)據(jù)結(jié)構(gòu);即在磁盤 上組織文件的方法。Linux操作系統(tǒng)下可以使用多種文件系統(tǒng),比如第三代擴展文件系統(tǒng) (Third extended file system, ext3),SGI 開發(fā)的高級日志文件系統(tǒng)(XFS),ReiserFS 文
件系統(tǒng)以及JFS文件系統(tǒng)等。在圖1中將其籠統(tǒng)地稱為文件系統(tǒng)A、文件系統(tǒng)B......文件
系統(tǒng)η。數(shù)據(jù)存儲層106是存儲設(shè)備,通常為磁盤。設(shè)備驅(qū)動層105是存儲設(shè)備的驅(qū)動程 序。超級塊是用于存儲文件系統(tǒng)的控制 信息的數(shù)據(jù)結(jié)構(gòu)。描述文件系統(tǒng)的狀態(tài)、文件 系統(tǒng)類型、大小、區(qū)塊數(shù)、索引節(jié)點數(shù)等,存放于磁盤的特定扇區(qū)中。一般一個文件系統(tǒng)都 是對應一個超級塊。存儲設(shè)備(硬盤、軟盤、Flash盤、磁帶、網(wǎng)絡(luò)存儲設(shè)備等)建立文件系 統(tǒng)的過程,一般也被稱為格式化或初始化,一般情況下,在Linux操作系統(tǒng)下可以用相應的格式化系列工具創(chuàng)建各種文件系統(tǒng)(比如XFS文件系統(tǒng)有mkfs. xfs, ext3系統(tǒng)有相應的 mkfs. ext3) 0進行寫操作時,寫操作請求首先由虛擬文件系統(tǒng)層101進行處理,虛擬文件系統(tǒng) 層101再根據(jù)文件所在設(shè)備所使用的文件系統(tǒng)類型(比如XFS,EXT3等),把操作任務(wù)和數(shù) 據(jù)傳送給對應文件系統(tǒng)(例如文件系統(tǒng)A 102)處理,文件系統(tǒng)再把任務(wù)請求和數(shù)據(jù)做適當 處理后,通過設(shè)備驅(qū)動層105把數(shù)據(jù)寫到數(shù)據(jù)存儲層106中。本發(fā)明技術(shù)方案如圖2所示,主要包括如下步驟步驟201 在創(chuàng)建文件系統(tǒng)時,在文件系統(tǒng)超級塊中創(chuàng)建一個WORM標識,表示該文件系統(tǒng)需要實現(xiàn)WORM功能。創(chuàng)建文件系統(tǒng)時,在超級塊中設(shè)置WORM標識,可以利用超級塊中不需要使用到的 字段做標識,也可以在文件系統(tǒng)超級塊結(jié)構(gòu)中新增一個用作給WORM做標識的字段,表示該 文件系統(tǒng)中需要具有WORM功能。步驟202 虛擬文件系統(tǒng)收到對文件系統(tǒng)中文件的讀寫操作請求,虛擬文件系統(tǒng) 層檢查所述文件系統(tǒng)超級塊信息中是否有WORM標識,如果有WORM標識,則執(zhí)行步驟203,否 則執(zhí)行步驟204 ;步驟203 判斷該讀寫操作的屬性,如果為寫入新文件或讀取文件,則執(zhí)行相應操 作,若該讀寫操作為修改文件內(nèi)容、修改文件屬性或刪除文件,則拒絕該讀寫操作,并返回 步驟202。這樣就實現(xiàn)了該文件系統(tǒng)中文件只能寫一次,以后再也不能修改文件內(nèi)容,文件 屬性,也無法刪除該文件,但依然可以做任意讀操作。步驟204 執(zhí)行該讀寫操作,并返回步驟202。以下對本發(fā)明實施例方案進行具體描述。設(shè)一個運行Linux操作系統(tǒng)的存儲系統(tǒng)創(chuàng)建了兩個文件系統(tǒng)文件系統(tǒng)A和文件 系統(tǒng)B。在創(chuàng)建文件系統(tǒng)A時,在文件系統(tǒng)A的超級塊中設(shè)置一個字段sb_W0RM作為WORM 標識,在創(chuàng)建文件系統(tǒng)B時,未設(shè)置字段sb_W0RM。當用戶要求在文件系統(tǒng)A中創(chuàng)建(create操作)一個新文件al時,虛擬文件系統(tǒng) 層按照正常的流程執(zhí)行創(chuàng)建處理。當文件al寫完,關(guān)閉文件時(close操作),虛擬文件系 統(tǒng)層會在做close處理過程中檢測文件al所在的文件系統(tǒng)A是否帶有WORM標識,檢測結(jié) 果是發(fā)現(xiàn)了 sb_W0RM字段,則虛擬文件系統(tǒng)層會相應的把文件al的權(quán)限設(shè)置為只讀權(quán)限。
以后查看文件系統(tǒng)A中的文件屬性時會發(fā)現(xiàn),所有文件(al、a2、a3......)的屬性都為只讀屬性。當用戶以寫或者讀寫方式打開(open操作)已創(chuàng)建的文件al時,虛擬文件系統(tǒng)層 在做open操作時如果檢測到該文件所在的文件系統(tǒng)A的超級塊中具有字段sb_W0RM,則直 接在打開的時候就關(guān)閉用戶對該文件的寫權(quán)限。當用戶對文件進行寫操作時,Linux操作 系統(tǒng)發(fā)出用戶沒有寫操作權(quán)限的提示信息。當用戶修改文件al的屬性(比如修改只讀文件為可讀寫文件等)時,虛擬文件系 統(tǒng)層在對應操作中如果檢測到該文件所在的文件系統(tǒng)A帶有WORM標志,則限制用戶修改該 文件的任何屬性,Linux操作系統(tǒng)發(fā)出用戶沒有修改操作權(quán)限的提示信息。當用戶做刪除文件al操作時,虛擬文件系統(tǒng)層如果檢測到該文件所在的文件系統(tǒng)A帶有WORM標志,則限制刪除文件操作,Linux操作系統(tǒng)發(fā)出用戶沒有刪除操作權(quán)限的
提示信息。當用戶要求在文件系統(tǒng)B中創(chuàng)建(create) —個新文件bl時,虛擬文件系統(tǒng)層按 照正常的流程執(zhí)行創(chuàng)建處理。當文件bl寫完,關(guān)閉文件時(close操作),虛擬文件系統(tǒng)層 會在做close處理過程中檢測文件bl所在的文件系統(tǒng)B是否帶有WORM標識,檢測結(jié)果是 未發(fā)現(xiàn)sb_W0RM字段,則虛擬文件系統(tǒng)層不做任何處理,則文件bl的權(quán)限是默認的正常權(quán) 限。按照同樣的方式創(chuàng)建文件系統(tǒng)B上的文件b2、b3等。用戶對文件系統(tǒng)B上的任何文件
(bl、b2、b3......)進行修改、刪除操作時,虛擬文件系統(tǒng)檢查這些文件的權(quán)限都是正常權(quán)
限,則正常執(zhí)行相應地操作。用戶可以將文件系統(tǒng)B上的任一文件(例如文件bl)的權(quán)限修改為只讀權(quán)限。修 改后,用戶直接對文件bl進行修改、刪除操作時,Linux操作系統(tǒng)也會提示拒絕該操作,但 用戶仍然可以將文件bl的權(quán)限再修改為正常權(quán)限,這樣就可以對其進行修改、刪除了。但 是,由于用戶無法修改文件系統(tǒng)A中文件的權(quán)限,因此始終無法對文件系統(tǒng)A中的文件進行 修改、刪除等操作。也就是說,文件系統(tǒng)A中的文件具有WORM功能。本發(fā)明方案在很大程度減少了需要實現(xiàn)WORM功能的條件,可以在通用的Linux操 作系統(tǒng)中完全由軟件實現(xiàn)WORM功能,而且可以很方便支持多種不同文件系統(tǒng)實現(xiàn)WORM功 能。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精 神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
一種實現(xiàn)一寫多讀的方法,其特征在于,包括如下步驟A、在創(chuàng)建文件系統(tǒng)時,在文件系統(tǒng)超級塊中創(chuàng)建一寫多讀標識;B、虛擬文件系統(tǒng)層收到對文件系統(tǒng)中文件的讀寫操作請求,虛擬文件系統(tǒng)層檢查所述文件系統(tǒng)超級塊信息中是否有一寫多讀標識,若是,則執(zhí)行步驟C;C、判斷該讀寫操作的屬性,如果為創(chuàng)建新文件或讀取文件,則執(zhí)行相應操作;若該讀寫操作為修改文件內(nèi)容、修改文件屬性或刪除文件,則拒絕該讀寫操作。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述文件系統(tǒng)為第三代擴展文件系統(tǒng) ext3,高級日志文件系統(tǒng)XFS,ReiserFS文件系統(tǒng)或JFS文件系統(tǒng)。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述WORM標識為文件系統(tǒng)超級塊中的一 個特定字段。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟C所述判斷該讀寫操作的屬性,如果 為創(chuàng)建新文件,則執(zhí)行相應操作中的相應操作包括虛擬文件系統(tǒng)層創(chuàng)建所述新文件,在關(guān)閉所述新文件時,虛擬文件系統(tǒng)層檢測文件系 統(tǒng)中有一寫多讀標識,則將該新文件的權(quán)限設(shè)置為只讀權(quán)限。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟C所述拒絕該讀寫操作之后,進一步 包括發(fā)出用戶沒有相應操作權(quán)限的提示信息。
全文摘要
本發(fā)明公開了一種實現(xiàn)一寫多讀的方法,包括如下步驟A、在創(chuàng)建文件系統(tǒng)時,在文件系統(tǒng)超級塊中創(chuàng)建一寫多讀(WORM)標識;B、虛擬文件系統(tǒng)層收到對文件系統(tǒng)中文件的讀寫操作請求,虛擬文件系統(tǒng)層檢查所述文件系統(tǒng)超級塊信息中是否有WORM標識,若是,則執(zhí)行步驟C;C、判斷該讀寫操作的屬性,如果為創(chuàng)建新文件或讀取文件,則執(zhí)行相應操作;若該讀寫操作為修改文件內(nèi)容、修改文件屬性或刪除文件,則拒絕該讀寫操作。本發(fā)明方案可以在通用的Linux操作系統(tǒng)中完全由軟件實現(xiàn)WORM功能,而且可以很方便支持多種不同文件系統(tǒng)實現(xiàn)WORM功能。
文檔編號G06F17/30GK101840408SQ200910244569
公開日2010年9月22日 申請日期2009年12月31日 優(yōu)先權(quán)日2009年12月31日
發(fā)明者金振成 申請人:創(chuàng)新科存儲技術(shù)有限公司;創(chuàng)新科軟件技術(shù)(深圳)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1