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

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

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

Posted on 2013-10-23 01:36 whspecial 閱讀(1271) 評論(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_FATTRfid來構成,可以通過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是根據fidMetaChunkInfo是根據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>
            极品少妇一区二区| 亚洲夫妻自拍| 亚洲在线播放| 99精品免费视频| 欧美午夜电影在线| 西西裸体人体做爰大胆久久久| 亚洲精品美女在线| 欧美精品自拍| 亚洲男人影院| 欧美伊人久久久久久久久影院| 极品av少妇一区二区| 欧美成人精品不卡视频在线观看 | 欧美一区二区| 西瓜成人精品人成网站| 在线播放日韩专区| 亚洲人永久免费| 国产精品视频免费一区| 久久视频一区二区| 欧美伦理视频网站| 久久99在线观看| 久久琪琪电影院| 亚洲欧美日本日韩| 久久网站热最新地址| 在线视频欧美日韩精品| 欧美一级淫片aaaaaaa视频| 亚洲二区在线观看| 一区二区三区回区在观看免费视频| 国产一区二区成人| 亚洲欧洲在线播放| 国产性色一区二区| 亚洲精品久久久久久下一站| 国产农村妇女毛片精品久久麻豆 | 久久精品欧美日韩| 欧美电影在线播放| 久久国产精品久久久久久电车| 久久中文字幕一区| 欧美一区二区日韩| 欧美激情中文字幕乱码免费| 久久激情五月丁香伊人| 欧美黄色aa电影| 久久男人av资源网站| 国产精品实拍| 亚洲作爱视频| 亚洲日本在线观看| 久久精品亚洲一区| 午夜视黄欧洲亚洲| 国产精品久久久久久久久免费桃花| 免费在线日韩av| 国产最新精品精品你懂的| 一区二区三区视频在线看| 亚洲国产精品视频| 久久精品国亚洲| 久久久精品日韩| 国产精品视频福利| 一区二区黄色| 亚洲午夜国产一区99re久久 | 欧美影院一区| 香蕉久久夜色精品国产使用方法| 欧美精品成人一区二区在线观看| 欧美成年人网| 伊人久久噜噜噜躁狠狠躁| 新狼窝色av性久久久久久| 先锋影音国产精品| 国产免费成人| 欧美在线视频一区二区三区| 香蕉乱码成人久久天堂爱免费| 欧美日韩在线播放三区四区| 亚洲九九精品| 亚洲网站在线播放| 欧美体内谢she精2性欧美| av不卡在线观看| 亚洲欧美久久| 国产日产精品一区二区三区四区的观看方式| 日韩午夜精品| 香蕉久久久久久久av网站| 国产精品乱码久久久久久| 亚洲在线免费观看| 久久99伊人| 亚洲第一成人在线| 欧美gay视频激情| 91久久夜色精品国产网站| 一区二区久久久久久| 欧美午夜不卡在线观看免费 | 亚洲免费在线电影| 久久久人成影片一区二区三区| 国外成人在线视频网站| 久久久久久黄| 亚洲经典在线| 亚洲一区中文字幕在线观看| 国产三区二区一区久久| 久久免费视频网站| 91久久精品国产91性色tv| 亚洲免费一区二区| 黄色精品免费| 欧美日韩国产va另类| 亚洲免费一在线| 亚洲电影在线看| 亚洲在线1234| 亚洲国产精品一区二区第四页av | 国产日韩亚洲欧美| 欧美1区2区| 亚洲综合精品自拍| 欧美成人午夜77777| 亚洲欧美精品在线观看| 亚洲成色www8888| 欧美视频中文一区二区三区在线观看 | 亚洲成人自拍视频| 亚洲尤物在线| 亚洲黄色在线| 国产精品一区亚洲| 欧美激情国产日韩精品一区18| 亚洲一区二三| 亚洲人成在线免费观看| 久久激情综合| 亚洲一区二区三区四区在线观看| 国产中文一区二区| 欧美午夜激情在线| 免费亚洲电影| 久久精品国产91精品亚洲| 日韩一区二区精品在线观看| 欧美激情视频一区二区三区在线播放| 亚洲午夜一级| 亚洲精品免费网站| 亚洲国产精品日韩| 国产一区二区欧美| 国产精品一区二区久久久| 欧美激情精品久久久久久大尺度| 久久精品电影| 欧美一区=区| 日韩天堂av| 亚洲精品日本| 亚洲精品乱码久久久久久| 蜜臀av国产精品久久久久| 久久久综合香蕉尹人综合网| 欧美主播一区二区三区美女 久久精品人| 亚洲精品乱码久久久久久久久 | 亚洲精品国精品久久99热一| 伊人蜜桃色噜噜激情综合| 国产日本欧美一区二区| 国产美女一区| 国产日韩欧美三区| 国产欧美在线观看一区| 国产精品视频免费观看www| 国产精品va在线播放| 欧美偷拍另类| 国产精品成人在线| 国产精品久久久久久亚洲毛片| 欧美日韩精品综合在线| 欧美日韩中文| 国产精品久久久久久久久婷婷 | 亚洲欧洲在线一区| 亚洲激情一区二区| 亚洲精品一区中文| 亚洲精品综合精品自拍| av成人动漫| 亚洲欧美精品伊人久久| 欧美亚洲三区| 久久美女性网| 欧美高清视频在线播放| 91久久精品久久国产性色也91| 亚洲区欧美区| 中文精品视频| 久久九九精品| 农村妇女精品| 欧美日韩综合一区| 国产精品日韩欧美大师| 国产综合久久久久久鬼色| 91久久中文| 亚洲欧美国产制服动漫| 久久网站免费| 亚洲激情自拍| 亚洲尤物视频网| 久久免费少妇高潮久久精品99| 欧美搞黄网站| 国产精品免费aⅴ片在线观看| 国产午夜精品理论片a级大结局| 有码中文亚洲精品| 一区二区三区高清不卡| 久久久久久久久久久一区| 亚洲国产二区| 欧美一区二区三区在线观看| 六月婷婷久久| 国产精品视频福利| 亚洲精品乱码久久久久久| 亚洲欧美日韩另类| 欧美国产极速在线| 午夜一级久久| 欧美精品激情blacked18| 国产婷婷成人久久av免费高清 | 国内精品国产成人| 一本久道久久综合狠狠爱| 久久九九99视频| 中文欧美在线视频| 蜜桃av一区| 国产亚洲午夜| 亚洲欧美日韩爽爽影院| 欧美激情一区三区| 久久国产99| 国产欧美日本| 亚洲欧美日韩国产中文|