儲存系統實現-資料檔案格式

iteye_21202發表於2013-05-19

在第一篇中講到了整個索引檔案的實現方式與檢索方式的實現,這一篇中講到我實現的各個檔案的結構。

儲存管理檔案:這個檔案的作用主要是對資料檔案進行分塊管理,管理資料檔案塊是否使用,還有相應的偏移位置,申請資料檔案塊都需要從這裡進行申請。對於檔案的回收也相應的改這個檔案的狀態。下面畫的是該檔案的結構

索引檔案:儲存資料檔案的偏移位置,搜尋索引檔案的從而定位到資料檔案進行相應的操作,裡面有資料檔案下面這張圖是索引檔案的儲存結構:

資料檔案:儲存資料檔案,採用的方式是定額分配的方式,也就是從儲存管理檔案中申請的檔案塊進行操作,每個儲存檔案塊的最後一位儲存結束位,如果資料大於一個檔案塊則需要申請多個檔案塊進行儲存,採用鏈式的儲存方式,下面是該檔案的儲存結構:


結語:這一篇主要講了下檔案的具體格式,目前所涉及的主要是以上三個檔案,在寫的過程中需要考慮很多問題,比如說涉及到多個檔案的寫的時候最重要的問題就是資料一致性問題,在資料庫操作裡就會有事務的概念,其保證的也是事務一致性問題。目前這個問題在我的實現裡並未做考慮。下一篇會講一下索引檔案的讀,這裡會引出"跳躍表"的方式進行讀取,在第一篇中也有所提及,下一篇中主要是從程式碼層面剖析具體的實現方式。



相關文章