| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
jopen
10年前发布

.NET的存储引擎(虚拟文件系统):TmStorage

TmStorage 是一个用 .NET 开发的虚拟文件系统,用来存储流数据。使用扁平结构进行数据存储,通过类型为 GUID 的流 id 来引用数据。

TmStorage支持完整的事务。在未来它还将支持高速缓存和快照

TmStorage 使用一个主文件用来存储所有流数据。主文件被分成多个可变长度的段,每个段只由一个流来占用。每个流由 0 到多个段组成。

.NET的存储引擎(虚拟文件系统):TmStorage

每个段包含一个段的元数据,这些元数据存放在段的起始位置,包含如下信息:

  • 段大小 (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();  }

项目主页:http://www.open-open.com/lib/view/home/1416634112305

 本文由用户 jopen 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
 转载本站原创文章,请注明出处,并保留原始链接、图片水印。
 本站是一个以用户分享为主的开源技术平台,欢迎各类分享!
 本文地址:https://www.open-open.com/lib/view/open1416634112305.html
TmStorage 存储系统 分布式/云计算/大数据