标签:inode 源码
快照:http://f.dataguru.cn/thread-574962-1-1.html
第一部分主要有五个类INode,INodeAttributes,INodeFile,INodeDirectory,INodeReference,INodeSymlink
(符号链接,可以将分布式缓存DistributedCache的文件连接到当前工作路径)
1、INode实现类类图
INodeFile继承INodeWithAdditionalFileds类, INodeDirectory继承INodeWithAdditionalFileds实现INode类
(1).INode类方法
实现INodeAttributes
INode元信息get set,其他基本的判断方法
INode类采用设计模式中的模板模式,模板方法是final类型,不可以继承,供接口调用
(2).INode类字段
只有一个字段parent,表示当前INode的父目录,父目录只能是INodeDirectory或INodeReference
2、INodeWithAdditionalFields类
(1).INodeWithAdditionalFields继承INode抽象类,重写INode的抽象方法,例如getId(), getUserName()等
特殊字段permission features
3、INodeDirectory类
属性:
children: List<Node> 把保存一组文件和其他目录
方法:
子目录相关方法 children字段的CRUD方法
特性feature相关方法
快照 SnapShot相关方法
4、INodeFile类
属性:
long header 文件头信息,保存当前文件有多少副本,文件数据块大小(内部类HeaderFormat类处理,类似INodeWithAdditionalFields的permissions处理方法)
BlockInfo [] blocks 数据块信息,保存数据块与文件,数据块与数据节点的对应关系
方法:(类图查看)
UnderConstruction特性相关方法
SnapShot相关方法
其他:header修改,获取方法;blocks数组字段的操作
5、INodeReference类
INode引用类,文件/目录被重命名或者移动其他目录的时候,会存在多条访问路径,INodeReference处理这个问题
属性:
本文出自 “巧克力黑” 博客,请务必保留此出处http://10120275.blog.51cto.com/10110275/1792600
标签:inode 源码
原文地址:http://10120275.blog.51cto.com/10110275/1792600