存储系统实现-数据文件格式
2013-05-19 17:21
351 查看
在第一篇中讲到了整个索引文件的实现方式与检索方式的实现,这一篇中讲到我实现的各个文件的结构。
存储管理文件:这个文件的作用主要是对数据文件进行分块管理,管理数据文件块是否使用,还有相应的偏移位置,申请数据文件块都需要从这里进行申请。对于文件的回收也相应的改这个文件的状态。下面画的是该文件的结构
索引文件:存储数据文件的偏移位置,搜索索引文件的从而定位到数据文件进行相应的操作,里面有数据文件下面这张图是索引文件的存储结构:
数据文件:存储数据文件,采用的方式是定额分配的方式,也就是从存储管理文件中申请的文件块进行操作,每个存储文件块的最后一位保存结束位,如果数据大于一个文件块则需要申请多个文件块进行存储,采用链式的存储方式,下面是该文件的存储结构:
结语:这一篇主要讲了下文件的具体格式,目前所涉及的主要是以上三个文件,在写的过程中需要考虑很多问题,比如说涉及到多个文件的写的时候最重要的问题就是数据一致性问题,在数据库操作里就会有事务的概念,其保证的也是事务一致性问题。目前这个问题在我的实现里并未做考虑。下一篇会讲一下索引文件的读,这里会引出"跳跃表"的方式进行读取,在第一篇中也有所提及,下一篇中主要是从代码层面剖析具体的实现方式。
存储管理文件:这个文件的作用主要是对数据文件进行分块管理,管理数据文件块是否使用,还有相应的偏移位置,申请数据文件块都需要从这里进行申请。对于文件的回收也相应的改这个文件的状态。下面画的是该文件的结构
索引文件:存储数据文件的偏移位置,搜索索引文件的从而定位到数据文件进行相应的操作,里面有数据文件下面这张图是索引文件的存储结构:
数据文件:存储数据文件,采用的方式是定额分配的方式,也就是从存储管理文件中申请的文件块进行操作,每个存储文件块的最后一位保存结束位,如果数据大于一个文件块则需要申请多个文件块进行存储,采用链式的存储方式,下面是该文件的存储结构:
结语:这一篇主要讲了下文件的具体格式,目前所涉及的主要是以上三个文件,在写的过程中需要考虑很多问题,比如说涉及到多个文件的写的时候最重要的问题就是数据一致性问题,在数据库操作里就会有事务的概念,其保证的也是事务一致性问题。目前这个问题在我的实现里并未做考虑。下一篇会讲一下索引文件的读,这里会引出"跳跃表"的方式进行读取,在第一篇中也有所提及,下一篇中主要是从代码层面剖析具体的实现方式。
相关文章推荐
- [置顶] 存储系统实现-数据文件格式
- 以XML文件存储配置数据的技术实现,c++
- (原创)基于关系数据库系统链式存储的树型结构数据,求某结点下的子树所有结点算法(t-sql语言实现)
- 利用Python进行数据分析--数据加载、存储与文件格式
- 5.Flume实时监控读取日志数据,存储hdfs文件系统
- 2015-03-09数据加载、存储与文件格式(2)
- swift 快速奔跑的兔几 本节的内容是:使用文件系统存储数据
- 利用存储过程实现交叉表格式数据查询的一种通用方法
- iPhone开发之UITableView的小试牛刀 利用MVC模式从plist文件读取数据并字典转模型的格式实现
- [置顶] Hadoop文件存储系统-HDFS详解以及java编程实现
- Android-数据存储(Content Provider ,调用系统 联系人 ContentProvider实现查询和增加联系人)
- Android本地数据的存储和读取(文件格式)
- 第六章:数据加载、存储于文件格式Day12-14
- 利用python进行数据分析-数据加载、存储与文件格式1
- ch06-数据加载、存储与文件格式
- 存储系统实现-如何删除数据
- JAVA实现简易的文件存储系统
- Fat32文件系统存储原理及数据恢复
- 动手改造Ibatis,使其支持文件系统存储数据列 预览
- 【Python数据分析与展示】(七)数据加载存储和文件格式