.NET的存儲引擎(虛擬文件系統):TmStorage
TmStorage 是一個用 .NET 開發的虛擬文件系統,用來存儲流數據。使用扁平結構進行數據存儲,通過類型為 GUID 的流 id 來引用數據。
TmStorage支持完整的事務。在未來它還將支持高速緩存和快照TmStorage 使用一個主文件用來存儲所有流數據。主文件被分成多個可變長度的段,每個段只由一個流來占用。每個流由 0 到多個段組成。
每個段包含一個段的元數據,這些元數據存放在段的起始位置,包含如下信息:
-
段大小 (Int64)
-
下一個段的位置,如果是最后一個段則為 null(Int64)
-
元數據的校驗和 (Int)
為了防止碎片化嚴重,段大小固定為 512 字節的整數倍。
使用實例:
Image image = Image.FromFile("c:\\image.png"); Storage storage = new Storage("c:\\images.storage", "c:\\images.storagelog"); Guid streamId = Guid.NewGuid(); storage.StartTransaction(); try{ Stream stream = storage.CreateStream(streamId); image.Save(stream, ImageFormat.Png); stream.Close(); storage.CommitTransaction(); }finally{ storage.RollbackTransaction(); }
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!