欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種樹(shù)狀結(jié)構(gòu)文件系統(tǒng)及其管理方法

文檔序號(hào):6613158閱讀:299來(lái)源:國(guó)知局
專利名稱:一種樹(shù)狀結(jié)構(gòu)文件系統(tǒng)及其管理方法
技術(shù)領(lǐng)域
本發(fā)明涉及文件系統(tǒng)的技術(shù)領(lǐng)域,尤其涉及一種樹(shù)狀結(jié)構(gòu)文件系統(tǒng)及其 管理方法。
背景技術(shù)
在剩余空間的管理中,依據(jù)理論使用首次命中(FirstHit)的線性算法,可 以獲得最佳的管理效率。所以在實(shí)際文件系統(tǒng)中,如FAT、 Ext2、 Ext3等知 名文件系統(tǒng)均使用FirstHit的線性算法,來(lái)搜尋存儲(chǔ)媒體上的剩余空間。該 文件系統(tǒng)是先將存儲(chǔ)媒體上的空間分割成若干的簇(Cluster)或是區(qū)塊 (Block),并對(duì)該簇或區(qū)塊采用線性的管理。例如,Ext2、 Ext3文件系統(tǒng)使用 位向量(Bit Vector)記錄簇是否已經(jīng)被使用,F(xiàn)AT文件系統(tǒng)使用文件配置表 (File Alloction Table)記錄簇使用情形。
然而,使用First Hit的線性算法的缺點(diǎn)主要會(huì)在存儲(chǔ)媒體上產(chǎn)生斷離 (Fragement)情形 由于First Hit的線性算法使用每一次遍歷(Traverse)到的第 一塊剩余空間,而不考慮該空間的大小,故每新增一筆文件記錄可能需要執(zhí) 行多次剩余空間遍歷,而該文件記錄可能存儲(chǔ)在不連續(xù)的空間。而經(jīng)過(guò)多次 的新增文件、刪除文件的動(dòng)作后,文件系統(tǒng)中的文件常以斷離程度不一的情 況在存儲(chǔ)媒體上進(jìn)行存儲(chǔ)。
由于文件的斷離,在讀取文件時(shí),無(wú)法一次即獲得所需的數(shù)據(jù),而往往 需執(zhí)行多次的傳輸才能獲得所需的數(shù)據(jù)。同時(shí)亦由于文件的斷離,在寫入文 件時(shí),亦需執(zhí)行多次的傳輸才能完成一次寫入文件的動(dòng)作。
在具有讀寫頭的存儲(chǔ)媒體(例如硬盤機(jī)、光驅(qū))中,文件的斷離的情形 會(huì)造成讀寫頭的搜尋時(shí)間(Seek Time)及旋轉(zhuǎn)時(shí)間(Rotating Time)大增,而使 得文件讀寫效率大幅下滑。而在實(shí)時(shí)系統(tǒng)中,由于First Hit線性算法的線性 搜尋時(shí)間難以預(yù)估,故使用First Hit線性算法的文件系統(tǒng)難以在實(shí)時(shí)系統(tǒng)中
使用。由此可知,已知文件系統(tǒng)及其管理方法仍有改善的空間。

發(fā)明內(nèi)容
本發(fā)明的目的是提供一種文件系統(tǒng)及其管理方法,以減少文件系統(tǒng)中斷 離的現(xiàn)象,避免剩余空間維護(hù)困難的問(wèn)題,大幅提升文件系統(tǒng)存取效能。
依據(jù)本發(fā)明的特點(diǎn),本發(fā)明提出一種樹(shù)狀結(jié)構(gòu)文件系統(tǒng)的管理方法,該
文件系統(tǒng)具有n個(gè)簇及(K+1)個(gè)二叉查找樹(shù),其中n為大于2的整數(shù),K為
正整數(shù),該(K+1)個(gè)二叉查找樹(shù)編號(hào)為0、 1、 2.....K,每一個(gè)上述二叉查
找樹(shù)的節(jié)點(diǎn)包含一邏輯區(qū)塊地址字段及一大小字段,該邏輯區(qū)塊地址用以記 載該節(jié)點(diǎn)相對(duì)應(yīng)的連續(xù)可用簇的起始邏輯區(qū)塊地址,該大小字段用以記載該 節(jié)點(diǎn)相對(duì)應(yīng)的連續(xù)可用簇的簇?cái)?shù)目,該方法包含下列步驟(A)輸入一儲(chǔ)存 空間需求,該儲(chǔ)存空間需求包含一需求邏輯區(qū)塊地址及一需求簇?cái)?shù)目;(B) 依據(jù)該需求簇?cái)?shù)目,用以計(jì)算相對(duì)應(yīng)的一編號(hào)為m的二叉查找樹(shù),0Sm^K; (C)判斷該編號(hào)為m的二叉查找樹(shù)中是否有節(jié)點(diǎn);(D)若步驟(C)中判定該編 號(hào)為m的二叉查找樹(shù)中有節(jié)點(diǎn),由該編號(hào)為m的二叉查找樹(shù)中找尋距離該 需求邏輯區(qū)塊地址最近的節(jié)點(diǎn),并將距離該需求邏輯區(qū)塊地址最近的節(jié)點(diǎn)從 該編號(hào)為m的二叉查找樹(shù)中移除;(E)若步驟(D)中找尋到的節(jié)點(diǎn)記錄的連續(xù) 可用簇大小大于所需要的簇?cái)?shù)目,扣除所需的簇?cái)?shù)目之后剩余的連續(xù)可用 簇,形成一新的節(jié)點(diǎn),并加入適當(dāng)?shù)亩娌檎覙?shù)中;(F)若步驟(D)中在編號(hào) m的二叉查找樹(shù)中找尋不到節(jié)點(diǎn),可以找尋編號(hào)m+l或是m-l的二叉查找 樹(shù)并重復(fù)步驟(C)。
依據(jù)本發(fā)明的另一特點(diǎn),本發(fā)明提出一種樹(shù)狀結(jié)構(gòu)文件系統(tǒng),包括n個(gè) 簇及(K+1)個(gè)二叉查找樹(shù)。該n個(gè)簇用以儲(chǔ)存數(shù)據(jù),其中n為大于2的正整 數(shù);該(K+1)個(gè)二叉查找樹(shù)的每一個(gè)節(jié)點(diǎn)紀(jì)錄對(duì)應(yīng)的連續(xù)可用的蔟;其中, 每一個(gè)二叉查找樹(shù)的節(jié)點(diǎn)是按照邏輯區(qū)塊地址的大小而排列。
采用本發(fā)明的樹(shù)狀結(jié)構(gòu)文件系統(tǒng)及其管理方法,采用樹(shù)狀結(jié)構(gòu)、以及混 合了最佳命中(Best Hit)及first hit,可減少文件系統(tǒng)中斷離的現(xiàn)象,也可 避免剩余空間維護(hù)困難的問(wèn)題,同時(shí)大幅提升文件系統(tǒng)存取效能,其時(shí)間復(fù) 雜度亦大大降低,適合于實(shí)時(shí)系統(tǒng)中。


圖l是本發(fā)明樹(shù)狀結(jié)構(gòu)文件系統(tǒng)的示意圖2是本發(fā)明的二叉查找樹(shù)的示意圖3是本發(fā)明樹(shù)狀結(jié)構(gòu)文件系統(tǒng)的管理方法的流程圖4是本發(fā)明的實(shí)施例的示意圖。
具體實(shí)施例方式
圖1是本發(fā)明樹(shù)狀結(jié)構(gòu)文件系統(tǒng)的示意圖,該樹(shù)狀結(jié)構(gòu)文件系統(tǒng)運(yùn)用于 一磁盤驅(qū)動(dòng)器或一閃存中,以在該磁盤驅(qū)動(dòng)器或閃存中提供文件的操作方法 (File Operation)。
該樹(shù)狀結(jié)構(gòu)文件系統(tǒng)包括n個(gè)簇(Cluster)及(K+l)個(gè)二叉查找樹(shù)(Binary Search Tree)。該n個(gè)簇用以儲(chǔ)存數(shù)據(jù),其中n為大于2的正整數(shù)。每一個(gè) 上述二叉查找樹(shù)的節(jié)點(diǎn)記錄其相對(duì)應(yīng)的簇,K為正整數(shù)。其中,每一個(gè)二叉 查找樹(shù)的節(jié)點(diǎn)(Node)是按照邏輯區(qū)塊地址(Logical Block Address, LBA)的大
小而排列。
該(K+1)個(gè)二叉查找樹(shù)與簇?cái)?shù)目n相關(guān)。即K值為Ce"/"g[log2(M)],其中, n為該樹(shù)狀結(jié)構(gòu)文件系統(tǒng)的簇?cái)?shù)目,Ceiling為天花板函數(shù)。
圖2是本發(fā)明的二叉查找樹(shù)的示意圖。該(K+1)個(gè)二叉查找樹(shù)編號(hào)為0、 1、 2.....K, —編號(hào)j的二叉查找樹(shù)最多具有^個(gè)節(jié)點(diǎn)。該編號(hào)j的二叉
查找樹(shù)的每一個(gè)節(jié)點(diǎn)對(duì)應(yīng)的簇?cái)?shù)目為i ^r, j=l、 2、 ...、 (K-l)。該編號(hào)0
的二叉查找樹(shù)的節(jié)點(diǎn)對(duì)應(yīng)的蔟數(shù)目為n。該編號(hào)K的二叉查找樹(shù)的節(jié)點(diǎn)對(duì)應(yīng) 的簇?cái)?shù)目為1。
以一個(gè)容量為lG字節(jié)(byte)的閃存文件系統(tǒng)為例,簇單位為4K字節(jié), 故該文件系統(tǒng)有262144(=2'8)個(gè)簇。K為18 (即C^"g(log2(218》),故共有
19個(gè)二叉查找樹(shù)編號(hào)為0、 1、 2..... 18。編號(hào)O的二叉查找樹(shù)最多具有1
個(gè)節(jié)點(diǎn),該編號(hào)0的二叉查找樹(shù)的節(jié)點(diǎn)對(duì)應(yīng)的簇?cái)?shù)目為262144。編號(hào)1的 二叉查找樹(shù)最多具有2個(gè)節(jié)點(diǎn),該編號(hào)1的二叉查找樹(shù)的節(jié)點(diǎn)對(duì)應(yīng)的簇?cái)?shù)目
為131072(=262144/2)~262143。依序類推,編號(hào)18的二叉查找樹(shù)具最多有 262144個(gè)節(jié)點(diǎn),該編號(hào)18的二叉查找樹(shù)的節(jié)點(diǎn)對(duì)應(yīng)的簇?cái)?shù)目為1。
每一個(gè)二叉查找樹(shù)的節(jié)點(diǎn)包含一邏輯區(qū)塊地址(Logical Block Address、 LBA)字段及一大小字段。該邏輯區(qū)塊地址(LBA)字段用以記載該節(jié)點(diǎn)相對(duì)應(yīng) 的連續(xù)可用的簇的起始邏輯區(qū)塊地址。該大小字段用以記載該節(jié)點(diǎn)相對(duì)應(yīng)的 連續(xù)可用的簇的簇?cái)?shù)目。
圖3是本發(fā)明樹(shù)狀結(jié)構(gòu)文件系統(tǒng)的管理方法的流程圖。該文件系統(tǒng)具有 n個(gè)簇及(K+1)個(gè)二叉查找樹(shù),其中n為大于2的正整數(shù),K為正整數(shù),該(K+1)
個(gè)二叉查找樹(shù)編號(hào)為0、 1、 2.....K。每一個(gè)二叉查找樹(shù)的節(jié)點(diǎn)包含一邏
輯區(qū)塊地址(LBA)字段及一大小字段,該邏輯區(qū)塊地址(LBA)用以記載該節(jié) 點(diǎn)對(duì)應(yīng)的連續(xù)可用的簇的起始邏輯區(qū)塊地址,該大小字段用以記載該節(jié)點(diǎn)對(duì) 應(yīng)的連續(xù)可用的簇的簇?cái)?shù)目。標(biāo)號(hào)i的二叉查找樹(shù)中的節(jié)點(diǎn)記錄的是連續(xù)可 用的大小為11/(2、)到n/(2八(i-l))個(gè)簇。
首先,在步驟S205中,輸入一儲(chǔ)存空間需求,該儲(chǔ)存空間需求包含一 需求邏輯區(qū)塊地址(LBA)及一需求簇?cái)?shù)目s。
在步驟S210中,初始化一指標(biāo)(index) i,并將其初始化為0。
在步驟S215中,依據(jù)該需求簇?cái)?shù)目s以計(jì)算對(duì)應(yīng)的一編號(hào)m的二叉查 找樹(shù),0Sm^K。 m是依據(jù)公式log2(n)-floor(log2(s)) + i計(jì)算,其中n為該文件 系統(tǒng)的簇?cái)?shù)目,s為需求簇?cái)?shù)目,floor為地板函數(shù)。
在步驟S220中,判斷該編號(hào)m的二叉查找樹(shù)中是否有節(jié)點(diǎn),該編號(hào)m 的二叉查找樹(shù)中的節(jié)點(diǎn)即代表連續(xù)可用的簇的邏輯區(qū)塊。
在步驟S225中,若步驟S220中判定該編號(hào)m的二叉查找樹(shù)中有節(jié)點(diǎn), 表示在該編號(hào)m的二叉查找樹(shù)中有適合該儲(chǔ)存空間需求的節(jié)點(diǎn)。故在該編 號(hào)m的二叉查找樹(shù)中找尋距離該需求邏輯區(qū)塊地址(LBA)最近的節(jié)點(diǎn),并將 該距離該需求邏輯區(qū)塊地址最近的節(jié)點(diǎn)由該編號(hào)m的二叉查找樹(shù)中移除。
由于m是依據(jù)公式log2(n) - floor(log2(s)) + i計(jì)算,故該編號(hào)m的二叉查找 樹(shù)中的節(jié)點(diǎn)所記錄的連續(xù)可用簇的大小大于或等于該需求簇?cái)?shù)目s。當(dāng)步驟 S225中找尋到的節(jié)點(diǎn)記錄的連續(xù)可用簇大小大于所需要的蔟數(shù)目時(shí),扣除
所需的簇?cái)?shù)目之后剩余的連續(xù)可用簇,形成一新的節(jié)點(diǎn),加入適當(dāng)?shù)亩娌?找樹(shù)中。
在步驟S230中,對(duì)該編號(hào)m的二叉查找樹(shù)執(zhí)行平衡運(yùn)算。由于步驟S225 中移去節(jié)點(diǎn),故需對(duì)該二叉查找樹(shù)執(zhí)行平衡(Balance)運(yùn)算,以讓該二叉查找 樹(shù)的左右兩邊節(jié)點(diǎn)數(shù)目盡量相等,以保持二叉查找樹(shù)的搜尋速度。
若步驟S220中判定該編號(hào)m的二叉查找樹(shù)中沒(méi)有節(jié)點(diǎn),表示在該編號(hào) m的二叉查找樹(shù)中沒(méi)有適合該儲(chǔ)存空間需求的節(jié)點(diǎn)。故在該編號(hào)m的二叉 查找樹(shù)的上層二叉查找樹(shù)中找尋未使用的節(jié)點(diǎn)。此處所指的上層二叉查找樹(shù) 是指編號(hào)較m小的二叉查找樹(shù)。先搜尋編號(hào)(m-l)的二叉查找樹(shù)中是否有節(jié) 點(diǎn),若有,再在該編號(hào)(m-l)的二叉查找樹(shù)中找尋距離該需求邏輯區(qū)塊地址 (LBA)最近的節(jié)點(diǎn);若沒(méi)有,則依序搜尋編號(hào)(m-2)的二叉查找樹(shù)中是否有節(jié) 點(diǎn),直至編號(hào)O的二叉查找樹(shù)。
此處,在該編號(hào)m的二叉查找樹(shù)中沒(méi)有適合該儲(chǔ)存空間需求的節(jié)點(diǎn), 先從該編號(hào)m的二叉查找樹(shù)的上層二叉查找樹(shù)中找尋未使用的節(jié)點(diǎn),而不 是從該編號(hào)m的二叉查找樹(shù)的下層二叉查找樹(shù)中找尋,是為了避免先從下 層找起時(shí)可能會(huì)發(fā)生將存儲(chǔ)空間需求分割成子需求的情況。
若編號(hào)0的二叉查找樹(shù)中仍沒(méi)有未使用的節(jié)點(diǎn),則由該編號(hào)m的二叉 查找樹(shù)的下層二叉查找樹(shù)中找尋未使用的節(jié)點(diǎn)。此處所指的下層二叉查找樹(shù) 系指編號(hào)較m大的二叉查找樹(shù)。先搜尋編號(hào)(m+l)的二叉查找樹(shù)中是否有未 使用的節(jié)點(diǎn),若有,再在該編號(hào)(m+l)的二叉查找樹(shù)中找尋距離該需求邏輯 區(qū)塊地址(LBA)最近的節(jié)點(diǎn);若沒(méi)有,則依序搜尋編號(hào)(m+2)的二叉查找樹(shù)中 是否有未使用的節(jié)點(diǎn),直至編號(hào)K的二叉查找樹(shù)。
在步驟S235中,判斷指標(biāo)i是否小于或等于0,若是執(zhí)行步驟S240, 若否,執(zhí)行步驟S255。
執(zhí)行步驟S240是表示由該編號(hào)m的二叉查找樹(shù)的上層二叉查找樹(shù)中找 尋未使用的節(jié)點(diǎn)。故于步驟S240中,將該指標(biāo)i減1。執(zhí)行步驟S255是表 示由該編號(hào)m的二叉查找樹(shù)的下層二叉查找樹(shù)中找尋未使用的節(jié)點(diǎn)。
在步驟SM5中,判斷此二叉查找樹(shù)編號(hào)是否大于或等于0,若大于或
等于O,重新執(zhí)行步驟S220,若小于O,則執(zhí)行步驟S250。 二叉查找樹(shù)編號(hào) 若小于O,表示已執(zhí)行完上層二叉查找樹(shù)的搜尋。故執(zhí)行步驟S250,以由該 編號(hào)m的二叉查找樹(shù)的下層二叉查找樹(shù)中找尋未使用的節(jié)點(diǎn)。在步驟S245 中,二叉查找樹(shù)編號(hào)為一更新編號(hào)m,=log2(n)-floor(log2(s)) + i 。
在步驟S250中,將該指標(biāo)i設(shè)定為0。
在步驟S255中,將該指標(biāo)i加1。
在步驟S260中,判斷二叉查找樹(shù)編號(hào)是否大于K,若是,表示已執(zhí)行 完由該編號(hào)m的二叉查找樹(shù)的下層二叉查找樹(shù)中找尋未使用的節(jié)點(diǎn),故結(jié) 束搜尋程序。若否,則執(zhí)行步驟S220,以找尋未使用的節(jié)點(diǎn)。在步驟S260 中,二叉查找樹(shù)編號(hào)為一更新編號(hào)m"= log2(n)-floor(log2(s》+ i,判斷二叉 查找樹(shù)編號(hào)是否大于K是執(zhí)行下列公式
log2 (n) _ floor(log2 (s)) + i > Ceiling(log2 (n))
其中,其中n為該文件系統(tǒng)的簇?cái)?shù)目,s為需求簇?cái)?shù)目,floor為地板函 數(shù),Ceiling為天花板函數(shù)。
在搜尋下層二叉查找樹(shù)未使用的節(jié)點(diǎn)時(shí),其所找到的節(jié)點(diǎn)的簇比需求簇 數(shù)目s小,此時(shí)需將該儲(chǔ)存空間需求分割成子需求,即使用分散的節(jié)點(diǎn)以滿 足該儲(chǔ)存空間需求。
圖4是本發(fā)明一實(shí)施例的示意圖。在該實(shí)施例中, 一磁盤驅(qū)動(dòng)器的容量 為lG字節(jié)(byte),簇單位為4K字節(jié),故該磁盤驅(qū)動(dòng)器共有262144(=218)個(gè)
簇。K為18(=C4'"g(log2(218))),故共有19個(gè)二叉查找樹(shù)編號(hào)為0、 1、 2.....
18。如圖3所示,在本實(shí)施例中最多同時(shí)存在節(jié)點(diǎn)數(shù)量為上述19個(gè)二叉查 找樹(shù)的節(jié)點(diǎn)總和,亦即為524287個(gè)節(jié)點(diǎn)。 一個(gè)節(jié)點(diǎn)代表一段連續(xù)的簇。假 設(shè)尋址長(zhǎng)度為32位,則 一個(gè)節(jié)點(diǎn)需要8個(gè)字節(jié),故共需4096( — 524287*8/512) 個(gè)扇區(qū)儲(chǔ)存上述節(jié)點(diǎn)。故需千分之四的存儲(chǔ)空間以存儲(chǔ)節(jié)點(diǎn)。
在本發(fā)明中,如果文件系統(tǒng)要找尋一塊靠近位置a、大小為s個(gè)簇的剩 余空間。最好的狀況是第Floor(s/2)樹(shù)狀結(jié)構(gòu)就有節(jié)點(diǎn),由于這個(gè)樹(shù)狀結(jié)構(gòu) 的最大高度是Floor(s/2),所以最多只需進(jìn)行Floor(s/2)次比較即可找到適當(dāng) 的節(jié)點(diǎn)。最壞的狀況是只有Ce"!'"g(log2(n))樹(shù)狀結(jié)構(gòu)內(nèi)部存有節(jié)點(diǎn),由于會(huì)先才企視其它Ce/" g(log2 (")) -1個(gè)樹(shù)狀結(jié)構(gòu)內(nèi)部有無(wú)節(jié)點(diǎn),然后在最大高度為 Ce//z'"g(log2("))的第Cez'/z'"g(log2("))個(gè)樹(shù)狀結(jié)構(gòu)作S次的遍歷,所以最壞的狀況 時(shí)一共會(huì)有[Ce///"g(log2 (")) -1] + [C"7/"g(log2 (")) x ;y]次的遍歷。
由上述說(shuō)明可知,當(dāng)一存儲(chǔ)媒體具有x個(gè)簇,要找尋一塊靠近位置a、 大小為s個(gè)簇的剩余空間時(shí),已知技術(shù)由于使用線性的first hit方式搜尋, 所以無(wú)法了解空間斷離的程度,斷離的情形也必然的不斷的增加,故已知技 術(shù)的時(shí)間復(fù)雜度是O(xfs)。本發(fā)明由于采用樹(shù)狀結(jié)構(gòu)、以及混合了 best hit 及first hit,即使經(jīng)過(guò)長(zhǎng)時(shí)的操作,空間斷離的程度仍然能透過(guò)簡(jiǎn)單的方式 掌握,故本發(fā)明的時(shí)間復(fù)雜度是O ( l。g2(x)*s)。相比已知技術(shù)中first hit 技術(shù)搜尋時(shí)間長(zhǎng)、時(shí)間復(fù)雜度高、不適用于實(shí)時(shí)系統(tǒng)的缺陷,本發(fā)明更適用 于實(shí)時(shí)系統(tǒng)。本發(fā)明可減少文件系統(tǒng)中斷離的現(xiàn)像,也可避免剩余空間維護(hù) 困難的問(wèn)題,同時(shí)大幅提升文件系統(tǒng)存取效能。
當(dāng)然,本發(fā)明還可有其他多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的 形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1、一種樹(shù)狀結(jié)構(gòu)文件系統(tǒng)的管理方法,該文件系統(tǒng)具有n個(gè)簇及(K+1)個(gè)二叉查找樹(shù),其中n為大于2的整數(shù),K為正整數(shù),該(K+1)個(gè)二叉查找樹(shù)編號(hào)為0、1、2、...、K,每一個(gè)所述二叉查找樹(shù)的節(jié)點(diǎn)包含一邏輯區(qū)塊地址字段及一大小字段,所述邏輯區(qū)塊地址用以記載該節(jié)點(diǎn)相對(duì)應(yīng)的連續(xù)可用的簇的起始邏輯區(qū)塊地址,所述大小字段用以記載該節(jié)點(diǎn)相對(duì)應(yīng)的連續(xù)可用的簇的簇?cái)?shù)目,該方法包含下列步驟(A)輸入一儲(chǔ)存空間需求,該儲(chǔ)存空間需求包含一需求邏輯區(qū)塊地址及一需求簇?cái)?shù)目;(B)依據(jù)該需求簇?cái)?shù)目,用以計(jì)算相對(duì)應(yīng)的一編號(hào)為m的二叉查找樹(shù),0≤m≤K;(C)判斷該編號(hào)為m的二叉查找樹(shù)中是否有節(jié)點(diǎn);以及(D)若步驟(C)中判定該編號(hào)為m的二叉查找樹(shù)中有節(jié)點(diǎn),由該編號(hào)為m的二叉查找樹(shù)中找尋距離該需求邏輯區(qū)塊地址最近的節(jié)點(diǎn),并將距離該需求邏輯區(qū)塊地址最近的節(jié)點(diǎn)從該編號(hào)為m的二叉查找樹(shù)中移除;(E)若步驟(D)中的編號(hào)為m的二叉查找樹(shù)中找到的節(jié)點(diǎn)代表的連續(xù)可用的簇大小大于所需的簇?cái)?shù)目,扣除所需的簇?cái)?shù)目之后剩余的連續(xù)可用的簇形成另一節(jié)點(diǎn),新形成的節(jié)點(diǎn)加入對(duì)應(yīng)的二叉查找樹(shù)。
2、 如權(quán)利要求1所述的管理方法,其特征在于,在所述步驟(E)中,在新形成的節(jié)點(diǎn)加入對(duì)應(yīng)的二叉查找樹(shù)后,對(duì)所 述編號(hào)為m的二叉查找樹(shù)執(zhí)行平衡運(yùn)算。
3、 如權(quán)利要求1所述的管理方法,其特征在于,若步驟(C)中判定該編號(hào)為m的二叉查找樹(shù)中沒(méi)有未使用的節(jié)點(diǎn),執(zhí)行 下列步驟(F) 將該編號(hào)為m減l,以獲得一更新編號(hào)m,;以及(G) 判斷該更新編號(hào)m,是否大于或等于O,若是,執(zhí)行步驟(C)。
4、 如權(quán)利要求3所迷的管理方法,其特征在于, 若步驟(G)中判定該更新編號(hào)m,非大于或等于0,執(zhí)行下列步驟(H)將編號(hào)m加1,以獲得一增量更新編號(hào)m",且當(dāng)該增量更新編號(hào)m" 不大于K時(shí),執(zhí)行步驟(C)。
5、 如權(quán)利要求1所述的管理方法,其特征在于,K值為Ceiling[log2(n)],其中,n為該樹(shù)狀結(jié)構(gòu)文件系統(tǒng)的簇?cái)?shù)目,Ceiling 為天花4反函凄史。
6、 如權(quán)利要求1所述的管理方法,其特征在于,該編號(hào)為j的二叉查找樹(shù)的每一個(gè)節(jié)點(diǎn)相對(duì)應(yīng)的簇?cái)?shù)目為* ~ + , j=l 、2、 ...、 (K-l),該編號(hào)為0的二叉查找樹(shù)的節(jié)點(diǎn)相對(duì)應(yīng)的簇?cái)?shù)目為n,該編 號(hào)為K的二叉查找樹(shù)的節(jié)點(diǎn)相對(duì)應(yīng)的簇?cái)?shù)目為1。
7、 如權(quán)利要求1所述的管理方法,其特征在于,在所述步驟(B)中,所述編號(hào)m為log2(")-y ooKlog20)),其中n為該樹(shù)狀 結(jié)構(gòu)文件系統(tǒng)的簇?cái)?shù)目,s為需求簇?cái)?shù)目。
8、 一種樹(shù)狀結(jié)構(gòu)文件系統(tǒng),包括n個(gè)簇,用以儲(chǔ)存數(shù)據(jù),其中n為大于2的整數(shù);以及(K+l)個(gè)二叉查找樹(shù),K為正整數(shù),每一個(gè)所述二叉查找樹(shù)的節(jié)點(diǎn),用 以記錄相對(duì)應(yīng)的連續(xù)可用的蔟;其中,每一個(gè)所述二叉查找樹(shù)的節(jié)點(diǎn)是按照邏輯區(qū)塊地址的大小而排列。
9、 如權(quán)利要求8所述的樹(shù)狀結(jié)構(gòu)文件系統(tǒng),其特征在于,所述K值為Ceiling[logJn)],當(dāng)中,n為該樹(shù)狀結(jié)構(gòu)文件系統(tǒng)的簇?cái)?shù)目, Ceiling為天花板函數(shù)。
10、 如權(quán)利要求9所述的樹(shù)狀結(jié)構(gòu)文件系統(tǒng),其特征在于,所述(K+1)個(gè)二叉查找樹(shù)編號(hào)為0、 1、 2.....K,以及該編號(hào)為j的二叉查找樹(shù)具有最多2J個(gè)節(jié)點(diǎn),j=0、 1、 2.....K。
11、 如權(quán)利要求10所述的樹(shù)狀結(jié)構(gòu)文件系統(tǒng),其特征在于, 該編號(hào)為j的二叉查找樹(shù)中的每一個(gè)節(jié)點(diǎn)對(duì)應(yīng)的簇?cái)?shù)目為^ ,j=l、2.....(K-l),該編號(hào)為0的二叉查找樹(shù)的節(jié)點(diǎn)相對(duì)應(yīng)的簇^L目為n,該編號(hào)為K的二叉查找樹(shù)的節(jié)點(diǎn)相對(duì)應(yīng)的簇?cái)?shù)目為1。
12、 如權(quán)利要求IO所述的樹(shù)狀結(jié)構(gòu)文件系統(tǒng),其特征在于, 每一個(gè)所述二叉查找樹(shù)的節(jié)點(diǎn)更包含一邏輯區(qū)塊地址字段,用以記載該節(jié)點(diǎn)相對(duì)應(yīng)的簇的起始邏輯區(qū)塊地 址;以及一大小字段,用以記載該節(jié)點(diǎn)相對(duì)應(yīng)的簇的簇?cái)?shù)目。
13、 如權(quán)利要求12所述的樹(shù)狀結(jié)構(gòu)文件系統(tǒng),其特征在于, 所述樹(shù)狀結(jié)構(gòu)文件系統(tǒng)適用于一磁盤驅(qū)動(dòng)器或一閃存中。
全文摘要
本發(fā)明公開(kāi)了一種樹(shù)狀結(jié)構(gòu)文件系統(tǒng)及其管理方法,該文件系統(tǒng)具有(K+1)個(gè)二叉查找樹(shù),每一個(gè)二叉查找樹(shù)的節(jié)點(diǎn)包含一邏輯區(qū)塊地址字段及一大小字段,首先,輸入一儲(chǔ)存空間需求,儲(chǔ)存空間需求包含一需求邏輯區(qū)塊地址及一需求簇?cái)?shù)目。依據(jù)需求簇?cái)?shù)目,用以計(jì)算相對(duì)應(yīng)的一編號(hào)為m的二叉查找樹(shù)。再判斷編號(hào)m的二叉查找樹(shù)中是否有未使用的節(jié)點(diǎn),若判定編號(hào)m的二叉查找樹(shù)中具有未使用的節(jié)點(diǎn),由該編號(hào)m的二叉查找樹(shù)中找尋距離該需求邏輯區(qū)塊地址最近的節(jié)點(diǎn),并將距離該需求邏輯區(qū)塊地址最近的節(jié)點(diǎn)由編號(hào)m的二叉查找樹(shù)中移除。
文檔編號(hào)G06F3/048GK101169699SQ20071016734
公開(kāi)日2008年4月30日 申請(qǐng)日期2007年10月25日 優(yōu)先權(quán)日2007年10月25日
發(fā)明者喬夢(mèng)麟 申請(qǐng)人:凌陽(yáng)科技股份有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
琼中| 惠东县| 桓台县| 金溪县| 滨海县| 讷河市| 昌平区| 米易县| 永安市| 衡水市| 眉山市| 平和县| 合肥市| 深水埗区| 克什克腾旗| 甘泉县| 宁阳县| 左权县| 辽阳县| 平湖市| 永胜县| 宜宾县| 阳城县| 台南县| 安义县| 江北区| 寿光市| 永城市| 资阳市| 枝江市| 桐城市| 盐城市| 右玉县| 宁远县| 旌德县| 亳州市| 灵寿县| 嘉禾县| 眉山市| 郯城县| 观塘区|