青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 15, comments - 10, trackbacks - 0, articles - 0

KFS代碼分析1(meta內存結構)

Posted on 2013-10-23 01:36 whspecial 閱讀(1268) 評論(0)  編輯 收藏 引用 所屬分類: KFS分析

此處的KFS是指Kosmos distributed file system,代碼位于http://sourceforge.net/projects/kosmosfs/,之后會寫幾篇相關的文章,以供后來者參考。

KFS里Meta的內存結構主要是一棵B+樹,保存在內存里,具體分析如下:

B-樹,B+樹的定義

關于這些樹的定義,最好還是參考算法導論等經典書,網路上的信息有些不是很準確,為了方便大家還是貼一個鏈接:

http://www.cnblogs.com/oldhorse/archive/2009/11/16/1604009.html

KFS為何選用B+樹而非B樹?

這是我個人的理解:

雖然B樹可以在非葉子節點命中,會縮短一些平均查找長度,但是B+樹在這種應用一個優勢就是每個節點都有指向next節點的指針,對于范圍查詢或者遍歷操作很適合。對于文件系統的一個ls某個子目錄的需求,用B+樹可以較高效的解決。

KFSB+樹的類圖


MetaNode
base class for both internal and leaf nodes

Metabase class for data objects (leaf nodes)

Nodean internal node in the KFS search tree

MetaChunkInfochunk information for a given file offset

MetaDentry Directory entry, mapping a file name to a file id

MetaFattrFile or directory attributes

各節點的介紹

1Meta類是子節點的父類,其最主要的成員變量是fid

有三個葉子節點:MetaChunkInfoMetaDentryMetaFattr

2MetaDentry實現從文件名到fid的映射,對于每個文件(目錄)都擁有1MetaDentry

成員變量包括:

dir:文件父目錄的fid

namedentry的名稱,實際就是文件名

3MetaFattr實現從fid到文件屬性的映射,對于每個文件(目錄)都擁有一個MetaFattr。

成員變量包括:

Type:文件還是目錄

numReplicas:文件有幾份副本

mtime:修改時間

ctime:屬性修改時間

crtime:文件創建時間

chunkcount:連續的chunk數目

filesize:文件大小

nextChunkOffset:最后一個chunk在文件的所處的offset

mode_t mode:文件屬性(rwx位)

key:由KFS_FATTR,fid來構成,可以通過fid直接找到保存文件屬性的節點。

4MetaChunkInfo標志某個文件對應的chunk信息,如果一個文件包含多個chunk,那么需要有多個MetaChunkInfo。

成員變量包括:

offsetchunk在文件中的偏移量,因為一個文件可能由多個chunk組成

chunkIdchunkid

chunkVersionchunkversion

5Node實現的是B+樹的內部節點,這種節點僅僅作為索引用途,存儲實際元數據信息的節點位于最底部的葉子節點。

成員變量包括:

NKEY = 32:每個節點最多擁有的關鍵字數目,實際上也就是最多擁有的子節點數目,如果多余這個值節點進行分裂

NSPLIT = NKEY / 2:分裂之后每個節點的關鍵字數目

NFEWEST = NKEY - NSPLIT:每個節點最少擁有的關鍵字數目,如果少于這個值兩個節點進行合并

count:節點實際擁有的關鍵字數目

Key childKey[NKEY]:節點存儲的關鍵字列表

MetaNode *childNode[NKEY]:節點指向子節點的指針列表

Node *next:指向下一個同級節點的指針

實際上每個內部節點的階數為32,可以有32個子節點,而每個葉子節點只保存一個key值。

三類子節點在B+樹中如何分布?

可以想象,必定是將同一類的節點聚集在一起。因此對于排序函數就是先比較節點類型,然后再對節點內部的成員變量進行比較。MetaDentry是根據dir(父目錄的id),MetaFattr是根據fid,MetaChunkInfo是根據idchunkId來排序。

一個不太相關的思考

看上面的三類子節點,我們可以發現chunk的位置信息并沒有保存在B+樹里,它是單獨保存在一個Map數據結構里的,也不會在meta server里進行持久化,而是每次chunk啟動時向meta server來報告。之所以不做持久化,可以這樣來理解:

只有Chunk服務器才能最終確定一個Chunk是否在它的硬盤上。Chunk服務器的錯誤可能會導致Chunk自動消失(比如,硬盤損壞了或者無法訪問了),亦或者操作人員可能會重命名一個Chunk服務器,還是由chunk server來報告比較靠譜。


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久久夜夜夜| 欧美一区二区精品| 欧美视频在线观看视频极品 | 久久蜜臀精品av| 久久久99爱| 久久综合九色综合久99| 久久综合久久久| 亚洲国产高清一区二区三区| 久久婷婷人人澡人人喊人人爽| 久久国产精品网站| 麻豆精品视频在线观看| 亚洲国产日韩欧美一区二区三区| 亚洲黄色有码视频| 亚洲一区二区高清视频| 小黄鸭精品密入口导航| 麻豆精品网站| 欧美日韩在线直播| 国产一区欧美日韩| 日韩一级二级三级| 亚洲精品1区| 久久爱www久久做| 99视频在线观看一区三区| 亚洲女同精品视频| 久久夜精品va视频免费观看| 欧美日本亚洲视频| 国产亚洲欧美激情| 亚洲精选成人| 久色成人在线| 一区二区高清在线| 久久综合五月| 国产日韩欧美视频在线| 日韩视频一区二区三区在线播放| 国产一区二区三区四区hd| 宅男噜噜噜66一区二区| 久久蜜臀精品av| 亚洲一区二区三区免费视频| 狼人天天伊人久久| 国产伦精品一区二区三区在线观看| 91久久精品美女| 久久久999国产| 亚洲一区二区欧美日韩| 欧美精品手机在线| 亚洲大胆人体视频| 欧美一区二区三区四区在线| 亚洲三级观看| 老司机成人在线视频| 国产一区二区三区免费不卡| 一区二区精品在线| 欧美激情精品久久久六区热门 | 欧美成年人视频| 激情文学一区| 性高湖久久久久久久久| 一区二区三区鲁丝不卡| 欧美精品一区二区三区很污很色的 | 亚洲成人在线网站| 久久精品青青大伊人av| 亚洲在线观看免费| 欧美亚男人的天堂| 在线亚洲高清视频| 日韩视频免费看| 欧美大秀在线观看| 亚洲国产电影| 亚洲大胆av| 欧美成人免费一级人片100| 在线观看精品视频| 免费一级欧美片在线观看| 欧美在线播放视频| 狠狠88综合久久久久综合网| 久久精品一区二区三区不卡牛牛| 一本大道久久精品懂色aⅴ| 欧美伦理a级免费电影| 99re热这里只有精品免费视频| 美脚丝袜一区二区三区在线观看| 欧美aⅴ一区二区三区视频| 国产精品日韩专区| 午夜精品视频一区| 性伦欧美刺激片在线观看| 国产欧美日韩亚洲| 麻豆精品在线视频| 免费毛片一区二区三区久久久| 亚洲黄色精品| 亚洲激情成人| 国产精品地址| 久久久激情视频| 免费人成精品欧美精品| 亚洲精品综合在线| 亚洲一级在线| 一区在线视频| 91久久综合| 国产精品综合网站| 欧美激情一区三区| 国产精品vip| 久久夜色精品国产| 欧美—级高清免费播放| 亚洲永久免费| 久久精品视频免费播放| 99国产精品久久久久久久成人热 | 欧美淫片网站| 最新日韩在线视频| 亚洲在线播放| 亚洲国产成人久久综合一区| 亚洲人体1000| 国产亚洲精品一区二555| 亚洲国产99| 国产亚洲欧美日韩日本| 亚洲乱码日产精品bd| 国内一区二区在线视频观看| 亚洲激情欧美| 好吊妞这里只有精品| 亚洲日本中文| 影音先锋另类| 亚洲免费视频一区二区| 亚洲开发第一视频在线播放| 亚欧成人在线| 亚洲影院在线观看| 欧美国产一区在线| 日韩亚洲精品在线| 久久精品国产成人| 亚洲免费网站| 欧美成年人网| 免费av成人在线| 国产午夜精品福利| 亚洲深夜福利视频| 亚洲午夜视频| 欧美激情第10页| 欧美阿v一级看视频| 国产自产2019最新不卡| 中文一区二区| 一区二区三区|亚洲午夜| 蜜桃av一区| 久久综合九色综合欧美狠狠| 国产麻豆精品theporn| 一区二区精品在线| 99国产欧美久久久精品| 男人的天堂成人在线| 久久一二三国产| 亚洲制服欧美中文字幕中文字幕| 99国产精品视频免费观看一公开| 狠狠色2019综合网| 欧美一区二区三区成人| 亚洲一区二区免费视频| 欧美日韩国产三区| 亚洲毛片在线观看| 中国成人在线视频| 欧美日韩伦理在线免费| 亚洲永久在线观看| 欧美性色综合| 亚洲婷婷综合久久一本伊一区| 一区二区三区精品视频| 欧美日韩亚洲综合一区| 99这里只有精品| 亚洲午夜久久久| 国产精品五区| 欧美在线观看日本一区| 久久综合福利| 亚洲第一网站免费视频| 麻豆国产精品va在线观看不卡| 欧美成人综合| 日韩亚洲国产精品| 国产精品久久久久久五月尺| 亚洲一区在线播放| 久久久久国产精品午夜一区| 激情伊人五月天久久综合| 久久久久久一区| 亚洲日本欧美| 欧美一级视频一区二区| 一区在线免费| 欧美日韩国产一区| 亚洲欧美国产va在线影院| 久久久久这里只有精品| 亚洲精品少妇网址| 国产精品久久国产三级国电话系列| 亚洲一级二级| 女主播福利一区| 亚洲一区二区三区久久| 韩日视频一区| 欧美久久久久久久| 午夜欧美电影在线观看| 免费成人网www| 亚洲一区二区三区精品在线观看| 国内自拍亚洲| 欧美日韩精品国产| 久久久国产成人精品| av成人激情| 欧美不卡在线视频| 性欧美xxxx视频在线观看| 美女91精品| 欧美一区二区三区免费视频 | 亚洲精品五月天| 久久综合九色九九| 亚洲一区免费| 亚洲精品国产精品久久清纯直播 | 欧美顶级少妇做爰| 欧美影视一区| 99综合精品| 国产精品乱码人人做人人爱| 欧美成人在线免费观看| 久久精品视频播放| 午夜视频在线观看一区二区| 亚洲日韩中文字幕在线播放|