一種非文件系統的可靠存儲方法,它包括數據的寫入過程、數據的讀取過程、數據的刪除過程,在所述數據的寫入過程中,操作者打開本地數據庫,獲取當前寫入磁盤的偏移地址;然后打開硬盤設備,將文件指針偏移到寫入位置;當有數據寫入時,在本地數據庫建立寫入標志并開始寫入數據;在所述數據的讀取過程中,根據應用層傳入的檢索條件,檢索出文件的本地數據庫記錄,從記錄中獲取文件在硬盤記錄中的偏移地址,從該偏移地址中將數據讀出,以回調形式返回給應用層;在所述數據的刪除過程中,操作者在本地數據庫中對該文件標識為刪除。
【技術實現步驟摘要】
本專利技術涉及一種數據高效、可靠存儲技術,應用于視頻監控行業、IPTV等需要大量數據存儲的行業。
技術介紹
目前,基于硬盤的數據存儲大多都基于文件系統。從windows的FAT文件系統到NTFS,都是基于操作系統提供的硬盤管理功能進行的數據非易失存儲,包括Linux的ext2/3等也是如此。基于文件系統的數據存儲給我們的開發帶來了極大的簡便,但是其效率和可靠性一直稱為人們爭執的焦點。這個焦點也催生了更多、更好的文件系統。然而文件系統再怎么升級,也只是一個通用的基于人們一般應用習慣的產物。對于一些 特殊行業,如視頻監控、IPTV。這些行業的數據的第一個特點就是龐大,一個監控攝像頭、一個電影影片其大小動輒幾百兆。第二個特點就是文件大小基本固定,也就是說這些行業中不會在存儲數據的時候摻雜著存儲一些較小的文件,比如不會摻雜臨時保存的一個網頁等。第三個特點就是希望文件有序排列,也就是文件存儲能夠按照日期或者某種固定的排列方式在硬盤中進行記錄。第四個特點就是文件的讀取和寫入非常頻繁,這樣對通用文件寫碎片管理就帶來的極大的挑戰。
技術實現思路
本專利技術的目的在于A :實現基于非文件系統的數據存儲方法;B :實現文件存儲和文件信息索引的獨立存儲;C :實現文件和文件索引信息的基本同步。為實現上述目的,本專利技術采用以下技術方案 本專利技術包括數據的寫入過程、數據的讀取過程、數據的刪除過程, 在所述數據的寫入過程中,操作者打開本地數據庫,獲取當前寫入磁盤的偏移地址;然后打開硬盤設備,將文件指針偏移到寫入位置;當有數據寫入時,在本地數據庫建立寫入標志并開始寫入數據; 在所述數據的讀取過程中,根據應用層傳入的檢索條件,檢索出文件的本地數據庫記錄,從記錄中獲取文件在硬盤記錄中的偏移地址,從該偏移地址中將數據讀出,以回調形式返回給應用層; 在所述數據的刪除過程中,操作者在本地數據庫中對該文件標識為刪除。所述的本地數據庫采用Berkeley DB作為原型數據庫。在數據的讀取過程中,本地數據庫記錄該數據的讀取次數。采用上述技術方案的本專利技術,很好地將文件存儲和文件信息索引獨立開來,提高了存儲的效率。另外,有信息需要刪除時只是在本地數據庫中對相應的記錄進行標記,而不是物理的文件刪除。這個保證了過程中最小的對磁盤進行操作,延長了磁盤的工作壽命。方法中將數據進行獨立存儲,對應的數據信息則進入數據庫進行記錄。當需要讀數據進行訪問時,首先對數據庫進行查詢獲取數據的磁盤地址直接進行讀取。最大限度的減少對目錄的遍歷與搜索,提供了數據讀取的效率減少對硬盤不必要的操作。數據寫入時,直接從磁頭當前位置寫入。數據寫入完成后將信息寫入數據庫。完成數據的同步寫入,即數據存儲完成后同步寫入記錄來對數據進行描述。附圖說明圖I為本專利技術中硬盤獲取的流程圖。圖2為本專利技術中視頻數據獲取的流程圖。圖3為本專利技術中視頻數據寫入的流程圖。具體實施例方式一般來說,非文件系統的存儲過程包括數據的寫入過程、數據的讀取過程、數據的·刪除過程。在對數據進行各種操作之前,首先對本地數據庫進行操作因為系統中,存在大量的需要實時存儲的記錄信息。本專利技術采用了 Berkeley DB為原型數據庫,對系統中的信息進行存儲。涉及數據庫的打開、關閉、讀取、寫入、檢索。由于該數據庫沒有采用類SQL數據庫,而是為了性能拋棄了 SQL語句支持,進而提升了數據庫性能。Berkeley DB是一個開放的數據庫,其接口是開放的、公開的。其次,進行硬盤的打開和指針定位硬盤在操作系統看來只是一個物理設備,以Linux為例內核將其表現為/dev/sd**。這個就是我們要操作的設備,如果系統中只有一塊硬盤則為sda。依次類推為sdb、sdc、sdd、sde......,而在每個硬盤的分區則為sdal、sda2、sda3 (以第一塊兒硬盤的不同分區為例)等。我們需要打開的設備為硬盤設備、而不是具體的某個分區。也就是我們應該打開sdb、sdc、sdd、sde……設備,設備打開后根據數據庫中記錄的該硬盤的偏移地址,對硬盤的操作文件指針進行偏移。數據寫入接入就緒狀態,等待應用數據到達。如圖I、圖3所示,數據的寫入有數據寫入業務時,首先打開本地數據庫,獲取當前應寫入磁盤偏移地址。然后打開硬盤設備,將文件指針偏移到應該寫入位置。當有數據寫入時,在本地數據庫建立寫入標志并開始寫入數據。當一段數據寫入完畢后,將完整的信息存入數據庫。過程中只要一方存在問題就認為該記錄或者文件,存在異常應進行回滾。如圖2所示,數據的讀取根據應用層傳入的檢索條件。檢索出文件的數據庫記錄,從記錄中獲取文件在硬盤記錄中的偏移地址。從該地址依次將數據讀出,以回調形式返回給應用層。并記錄該數據讀取計數,以便統計文件讀取概率。為后續提高文件命中率提供依據。數據的刪除該過程和讀取時,數據庫獲取基本一致。不同的是,該功能是從數據庫中將文件標識為刪除。并非直接將物理文件刪除,以此減少對硬盤的操作概率,延長了磁盤的工作壽命。權利要求1.一種,它包括數據的寫入過程、數據的讀取過程、數據的刪除過程,其特征在于 在所述數據的寫入過程中,操作者打開本地數據庫,獲取當前寫入磁盤的偏移地址;然后打開硬盤設備,將文件指針偏移到寫入位置;當有數據寫入時,在本地數據庫建立寫入標志并開始寫入數據; 在所述數據的讀取過程中,根據應用層傳入的檢索條件,檢索出文件的本地數據庫記錄,從記錄中獲取文件在硬盤記錄中的偏移地址,從該偏移地址中將數據讀出,以回調形式返回給應用層; 在所述數據的刪除過程中,操作者在本地數據庫中對該文件標識為刪除。2.根據權利要求I所述的,其特征在于所述的本地數據庫采用Berkeley DB作為原型數據庫。3.根據權利要求I所述的,其特征在于在數據的讀取過程中,本地數據庫記錄該數據的讀取次數。全文摘要一種,它包括數據的寫入過程、數據的讀取過程、數據的刪除過程,在所述數據的寫入過程中,操作者打開本地數據庫,獲取當前寫入磁盤的偏移地址;然后打開硬盤設備,將文件指針偏移到寫入位置;當有數據寫入時,在本地數據庫建立寫入標志并開始寫入數據;在所述數據的讀取過程中,根據應用層傳入的檢索條件,檢索出文件的本地數據庫記錄,從記錄中獲取文件在硬盤記錄中的偏移地址,從該偏移地址中將數據讀出,以回調形式返回給應用層;在所述數據的刪除過程中,操作者在本地數據庫中對該文件標識為刪除。文檔編號G06F17/30GK102890677SQ20111020270公開日2013年1月23日 申請日期2011年7月20日 優先權日2011年7月20日專利技術者賈小波, 李偉, 高磊, 王鵬麗, 陳啟航, 于文華 申請人:鄭州威科姆科技股份有限公司本文檔來自技高網...
【技術保護點】
一種非文件系統的可靠存儲方法,它包括數據的寫入過程、數據的讀取過程、數據的刪除過程,其特征在于:在所述數據的寫入過程中,操作者打開本地數據庫,獲取當前寫入磁盤的偏移地址;然后打開硬盤設備,將文件指針偏移到寫入位置;當有數據寫入時,在本地數據庫建立寫入標志并開始寫入數據;在所述數據的讀取過程中,根據應用層傳入的檢索條件,檢索出文件的本地數據庫記錄,從記錄中獲取文件在硬盤記錄中的偏移地址,從該偏移地址中將數據讀出,以回調形式返回給應用層;在所述數據的刪除過程中,操作者在本地數據庫中對該文件標識為刪除。
【技術特征摘要】
【專利技術屬性】
技術研發人員:賈小波,李偉,高磊,王鵬麗,陳啟航,于文華,
申請(專利權)人:鄭州威科姆科技股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。