博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【总结】HDFS源码之INode相关类
阅读量:6334 次
发布时间:2019-06-22

本文共 1062 字,大约阅读时间需要 3 分钟。

spacer.gif

快照:

第一部分主要有五个类INode,INodeAttributes,INodeFile,INodeDirectory,INodeReference,INodeSymlink

(符号链接,可以将分布式缓存DistributedCache的文件连接到当前工作路径)

1、INode实现类类图

INodeFile继承INodeWithAdditionalFileds类, INodeDirectory继承INodeWithAdditionalFileds实现INode类

(1).INode类方法

    实现INodeAttributes

spacer.gif

    INode元信息get set,其他基本的判断方法

spacer.gif

INode类采用设计模式中的模板模式,模板方法是final类型,不可以继承,供接口调用

spacer.gif

(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处理这个问题

属性:

    


     本文转自巧克力黒 51CTO博客,原文链接:http://blog.51cto.com/10120275/1792600,如需转载请自行联系原作者

你可能感兴趣的文章
Atitit 记录方法调用参数上下文arguments
查看>>
webstorm常用功能FTP,及常用快捷键
查看>>
eclipse html 打开方式
查看>>
[求助] win7 x64 封装 出现 Administrator.xxxxx 的问题
查看>>
人类投资经理再也无法击败电脑的时代终将到来了...
查看>>
一个最小手势库的实现
查看>>
HoloLens开发手记 - Vuforia开发概述 Vuforia development overview
查看>>
Android支付之支付宝封装类
查看>>
<亲测>CentOS中yum安装ffmpeg
查看>>
【分享】马化腾:产品设计与用户体验
查看>>
【机器学习PAI实践十】深度学习Caffe框架实现图像分类的模型训练
查看>>
全智慧的网络:思科十年来最具颠覆性的创新
查看>>
怎样将现有应用迁移到 VMware NSX
查看>>
赛门铁克收购以色列移动安全初创公司Skycure 旨在构建网络安全防御平台
查看>>
《Photoshop蒙版与合成(第2版)》目录—导读
查看>>
《团队软件过程(修订版)》—第1章1.3节TSPi的设计
查看>>
“最佳人气奖”出炉!4月27号,谁能拿到阿里聚安全算法挑战赛的桂冠?
查看>>
《网页美工设计Photoshop+Flash+Dreamweaver从入门到精通》——2.6 图层与图层样式...
查看>>
《iOS组件与框架——iOS SDK高级特性剖析》——第2章,第2.7节获取线路
查看>>
Spring中 @Autowired标签与 @Resource标签 的区别
查看>>