THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
- 文件名以存储组名(full path)命名
- MTreeFile内部以该存储组节点为根节点
对于存储组层往上的前缀树,也使用一个MTreeFile进行管理。
- 该MTreeFile内部以全局MTree的root节点为根节点
- 该MTreeFile的存储StorageGroupMNode父节点以上的MNode
- StorageGroupMNode父节点在该文件中指向StorageGroupMNode的地址指针值为-1,标志子节点需至具体的存储组文件进行查询
2. 文件格式设计
2.1. 文件整体设计
文件整体采用定长记录的组织方式,即一个定长的Header+定长Node序列。Header中存储文件的描述性信息,Node中存储MNode的序列化信息。
...
- 将目标地址刷入磁盘buffer,并将其设置为正在使用且未完成数据准备状态
- 将所有已修改的MNode的数据写入磁盘buffer
- 将磁盘buffer更新为正在使用且数据准备完成状态
- 将磁盘buffer的数据写入MNode在MTreeFile的指定位置(覆盖原有数据)
- 将磁盘buffer更新为未使用状态
3.6.3. 重启恢复
重启时检查磁盘buffer状态单个MTreeFile重启时检查磁盘buffer状态
- 数据未准备好,则清空磁盘buffer,结束恢复
- 数据已准备好,重新将数据更新至文件中指定地址,清空buffer,结束恢复