專利名稱:數(shù)據(jù)塊的查找方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)塊的查找方法和裝置。
背景技術(shù):
文件存儲(chǔ)在磁盤上的,在對(duì)文件進(jìn)行讀寫等操作時(shí),首先需要將文件從磁盤上定位并讀到內(nèi)存中,然后才能進(jìn)行相關(guān)處理。當(dāng)目標(biāo)文件很大且僅需要對(duì)該目標(biāo)文件中的一部分?jǐn)?shù)據(jù)進(jìn)行隨機(jī)讀寫時(shí),查找目標(biāo)文件中特定數(shù)據(jù)的過(guò)程會(huì)耗費(fèi)相當(dāng)多的時(shí)間。而且在一些應(yīng)用中,往往也只是對(duì)文件中的某一部分?jǐn)?shù)據(jù)進(jìn)行處理,一般處理的速度很快,但查找待處理數(shù)據(jù)的過(guò)程會(huì)消耗掉大量的時(shí)間,如何快速地找到待處理數(shù)據(jù),對(duì)提高文件系統(tǒng)的整體性能至關(guān)重要?,F(xiàn)有技術(shù)提供的一種查找數(shù)據(jù)的方法是以數(shù)據(jù)塊為單位管理數(shù)據(jù),在查找數(shù)據(jù)時(shí)以數(shù)據(jù)塊為單位進(jìn)行查找;另一種查找數(shù)據(jù)的方法是以盤區(qū)(extent)為單位管理數(shù)據(jù),在查找數(shù)據(jù)時(shí)根據(jù)extent查找數(shù)據(jù)塊。但是,現(xiàn)有技術(shù)提供的上述查找數(shù)據(jù)的方法均無(wú)法直接查找到待查找數(shù)據(jù)塊,存在查找次數(shù)較多、查找效率較低和查找速度較慢的問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種數(shù)據(jù)塊的查找方法和裝置,以提高在文件中查找數(shù)據(jù)塊的
查找效率。本發(fā)明實(shí)施例提供一種數(shù)據(jù)塊的查找方法,包括獲得待查找數(shù)據(jù)塊所在路徑樹的高度值和所述待查找數(shù)據(jù)塊對(duì)應(yīng)的數(shù)據(jù)管理結(jié)構(gòu)號(hào);根據(jù)所述路徑樹的高度值和所述數(shù)據(jù)管理結(jié)構(gòu)號(hào)查找所述數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的指針,并根據(jù)查找到的指針定位所述待查找數(shù)據(jù)塊。本發(fā)明實(shí)施例還提供一種數(shù)據(jù)塊的查找裝置,包括獲得模塊,用于獲得待查找數(shù)據(jù)塊所在路徑樹的高度值和所述待查找數(shù)據(jù)塊對(duì)應(yīng)的數(shù)據(jù)管理結(jié)構(gòu)號(hào);查找模塊,用于根據(jù)所述獲得模塊獲得的路徑樹的高度值和數(shù)據(jù)管理結(jié)構(gòu)號(hào)查找所述數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的指針;定位模塊,用于根據(jù)所述查找模塊查找到的指針定位所述待查找數(shù)據(jù)塊。本發(fā)明實(shí)施例中,根據(jù)待查找數(shù)據(jù)塊所在路徑樹的高度值和該待查找數(shù)據(jù)塊對(duì)應(yīng)的數(shù)據(jù)管理結(jié)構(gòu)號(hào),查找該數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的指針,然后根據(jù)查找到的指針定位上述待查找數(shù)據(jù)塊;從而實(shí)現(xiàn)了根據(jù)待查找數(shù)據(jù)塊對(duì)應(yīng)的數(shù)據(jù)管理結(jié)構(gòu)號(hào),通過(guò)路徑樹直接查找到待查找數(shù)據(jù)塊,減少了查找次數(shù),提高了待查找數(shù)據(jù)塊的查找效率。
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明數(shù)據(jù)塊的查找方法一個(gè)實(shí)施例的流程圖;圖2為本發(fā)明路徑樹一個(gè)實(shí)施例的示意圖;圖3為本發(fā)明路徑樹另一個(gè)實(shí)施例的示意圖;圖4為本發(fā)明定位待查找數(shù)據(jù)塊一個(gè)實(shí)施例的流程圖;圖5為本發(fā)明數(shù)據(jù)塊的查找裝置一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;圖6為本發(fā)明數(shù)據(jù)塊的查找裝置另一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。
具體實(shí)施例方式為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。圖1為本發(fā)明數(shù)據(jù)塊的查找方法一個(gè)實(shí)施例的流程圖,如圖1所示,該數(shù)據(jù)塊的查找方法可以包括步驟101,獲得待查找數(shù)據(jù)塊所在路徑樹的高度值和該待查找數(shù)據(jù)塊對(duì)應(yīng)的數(shù)據(jù)
管理結(jié)構(gòu)號(hào)。步驟102,根據(jù)該路徑樹的高度值和該數(shù)據(jù)管理結(jié)構(gòu)號(hào)查找上述數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的指針,并根據(jù)查找到的指針定位待查找數(shù)據(jù)塊。上述實(shí)施例中,根據(jù)待查找數(shù)據(jù)塊所在路徑樹的高度值和該待查找數(shù)據(jù)塊對(duì)應(yīng)的數(shù)據(jù)管理結(jié)構(gòu)號(hào),查找該數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的指針,然后根據(jù)查找到的指針定位上述待查找數(shù)據(jù)塊;從而實(shí)現(xiàn)了根據(jù)待查找數(shù)據(jù)塊對(duì)應(yīng)的數(shù)據(jù)管理結(jié)構(gòu)號(hào),通過(guò)路徑樹直接查找到待查找數(shù)據(jù)塊,減少了查找次數(shù),提高了待查找數(shù)據(jù)塊的查找效率。本發(fā)明實(shí)施例通過(guò)一種路徑樹的數(shù)據(jù)結(jié)構(gòu)來(lái)管理數(shù)據(jù),初始建立路徑樹時(shí),該路徑樹包括根節(jié)點(diǎn)和第一子節(jié)點(diǎn),在該根節(jié)點(diǎn)中記錄該路徑樹的第一高度值和根節(jié)點(diǎn)指向第一子節(jié)點(diǎn)的指針;這時(shí),該路徑樹的第一高度值為該高度值的初始值,該第一高度值可以為 1或其他正整數(shù),本發(fā)明實(shí)施例對(duì)第一高度值的大小不作限定,但本發(fā)明實(shí)施例以第一高度值為1為例進(jìn)行說(shuō)明。當(dāng)有數(shù)據(jù)需要寫入時(shí),在第一子節(jié)點(diǎn)的數(shù)據(jù)管理結(jié)構(gòu)所管理的數(shù)據(jù)塊中寫入數(shù)據(jù),并在第一子節(jié)點(diǎn)中記錄該數(shù)據(jù)管理結(jié)構(gòu)對(duì)應(yīng)的數(shù)據(jù)管理結(jié)構(gòu)號(hào)和該數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的指針,該數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的指針指向上述數(shù)據(jù)管理結(jié)構(gòu)所管理的數(shù)據(jù)塊;本發(fā)明實(shí)施例中,可以依次在第一子節(jié)點(diǎn)的數(shù)據(jù)管理結(jié)構(gòu)所管理的數(shù)據(jù)塊中寫入數(shù)據(jù),即將第一子節(jié)點(diǎn)的第一個(gè)數(shù)據(jù)管理結(jié)構(gòu)所管理的數(shù)據(jù)塊寫滿之后,再在第一子節(jié)點(diǎn)的第二個(gè)數(shù)據(jù)管理結(jié)構(gòu)所管理的數(shù)據(jù)塊中寫入數(shù)據(jù),依次類推。圖2為本發(fā)明路徑樹一個(gè)實(shí)施例的示意圖,如圖2所示,該路徑樹包括根節(jié)點(diǎn)和第一子節(jié)點(diǎn),根節(jié)點(diǎn)中記錄有路徑樹的高度值和指向第一子節(jié)點(diǎn)的指針,圖2所示路徑樹的高度值為1。圖2中所示的第一子節(jié)點(diǎn)包括100個(gè)數(shù)據(jù)管理結(jié)構(gòu),這100個(gè)數(shù)據(jù)管理結(jié)構(gòu)的數(shù)據(jù)管理結(jié)構(gòu)號(hào)分別為0 99 ;每個(gè)數(shù)據(jù)結(jié)構(gòu)管理邏輯上連續(xù)的4個(gè)數(shù)據(jù)塊,每個(gè)數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的指針指向該數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的數(shù)據(jù)管理結(jié)構(gòu)所管理的數(shù)據(jù)塊。如圖2 所示,數(shù)據(jù)管理結(jié)構(gòu)號(hào)0對(duì)應(yīng)的指針指向第一子節(jié)點(diǎn)的第一個(gè)數(shù)據(jù)管理結(jié)構(gòu)所管理的0、1、 2和3這4個(gè)數(shù)據(jù)塊,數(shù)據(jù)管理結(jié)構(gòu)號(hào)1對(duì)應(yīng)的指針指向第一子節(jié)點(diǎn)的第二個(gè)數(shù)據(jù)管理結(jié)構(gòu)所管理的4、5、6和7這4個(gè)數(shù)據(jù)塊,數(shù)據(jù)管理結(jié)構(gòu)號(hào)2對(duì)應(yīng)的指針指向第一子節(jié)點(diǎn)的第二個(gè)數(shù)據(jù)管理結(jié)構(gòu)所管理的8、9、10和11這4個(gè)數(shù)據(jù)塊。圖2僅是路徑樹的一個(gè)示例,本發(fā)明實(shí)施例并不僅限于此,本發(fā)明實(shí)施例對(duì)第一子節(jié)點(diǎn)所包括的數(shù)據(jù)管理結(jié)構(gòu)的總數(shù)和每個(gè)數(shù)據(jù)管理結(jié)構(gòu)管理的邏輯上連續(xù)的數(shù)據(jù)塊的塊數(shù)不作限定。但本發(fā)明實(shí)施例以下的描述中均以第一子節(jié)點(diǎn)包括100個(gè)數(shù)據(jù)管理結(jié)構(gòu), 每個(gè)數(shù)據(jù)管理結(jié)構(gòu)管理邏輯上連續(xù)的4個(gè)數(shù)據(jù)塊為例進(jìn)行說(shuō)明。本發(fā)明實(shí)施例中,在將第一子節(jié)點(diǎn)的數(shù)據(jù)管理結(jié)構(gòu)所管理的數(shù)據(jù)塊寫滿數(shù)據(jù)之后,如果還有數(shù)據(jù)需要寫入,則在該路徑樹中插入第二子節(jié)點(diǎn)和第三子節(jié)點(diǎn),將根節(jié)點(diǎn)指向第一子節(jié)點(diǎn)的指針修改為指向第二子節(jié)點(diǎn),并將該路徑樹的第一高度值加上預(yù)定數(shù)值,獲得該路徑樹的第二高度值,該預(yù)定數(shù)值可以為1或其他正整數(shù),本發(fā)明實(shí)施例對(duì)預(yù)定數(shù)值的大小不作限定,但本發(fā)明實(shí)施例以該預(yù)定數(shù)值為1為例進(jìn)行說(shuō)明;該第二子節(jié)點(diǎn)的第一個(gè)指針指向第一子節(jié)點(diǎn),第二子節(jié)點(diǎn)的第二個(gè)指針指向第三子節(jié)點(diǎn)。然后,在第三子節(jié)點(diǎn)的數(shù)據(jù)管理結(jié)構(gòu)所管理的數(shù)據(jù)塊中寫入數(shù)據(jù),并在第三子節(jié)點(diǎn)中記錄數(shù)據(jù)管理結(jié)構(gòu)對(duì)應(yīng)的數(shù)據(jù)管理結(jié)構(gòu)號(hào)和數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的指針,該數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的指針指向該數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的數(shù)據(jù)管理結(jié)構(gòu)所管理的數(shù)據(jù)塊。其中,在第三子節(jié)點(diǎn)中寫入數(shù)據(jù)的過(guò)程與在第一子節(jié)點(diǎn)中寫入數(shù)據(jù)的過(guò)程相同,在此不再贅述。同理,在將第三子節(jié)點(diǎn)的數(shù)據(jù)管理結(jié)構(gòu)所管理的數(shù)據(jù)塊寫滿數(shù)據(jù)之后,如果還有數(shù)據(jù)需要寫入,則可以繼續(xù)在該路徑樹中插入第四子節(jié)點(diǎn)和第五子節(jié)點(diǎn),后續(xù)的處理過(guò)程與在該路徑樹中插入第二子節(jié)點(diǎn)和第三子節(jié)點(diǎn)之后的處理過(guò)程相同,在此不再贅述。以此類推,還可以繼續(xù)在該路徑樹中插入第六子節(jié)點(diǎn),...,第N子節(jié)點(diǎn),其中N為正整數(shù),具體的實(shí)現(xiàn)方式均與在該路徑樹中插入第二子節(jié)點(diǎn)和第三子節(jié)點(diǎn)的實(shí)現(xiàn)方式相同,在此不再贅述。圖3為本發(fā)明路徑樹另一個(gè)實(shí)施例的示意圖,與圖2所示路徑樹相比,不同的是, 圖3所示的路徑樹還包括第二子節(jié)點(diǎn)和第三子節(jié)點(diǎn),根節(jié)點(diǎn)的指針指向第二子節(jié)點(diǎn),第二子節(jié)點(diǎn)同樣包括100個(gè)數(shù)據(jù)管理結(jié)構(gòu),這100個(gè)數(shù)據(jù)管理結(jié)構(gòu)的數(shù)據(jù)管理結(jié)構(gòu)號(hào)分別為 0 99 ;第二子節(jié)點(diǎn)數(shù)據(jù)管理結(jié)構(gòu)號(hào)0對(duì)應(yīng)的指針,即第二子節(jié)點(diǎn)的第一個(gè)指針指向第一子節(jié)點(diǎn);第二子節(jié)點(diǎn)數(shù)據(jù)管理結(jié)構(gòu)號(hào)1對(duì)應(yīng)的指針,即第二子節(jié)點(diǎn)的第二個(gè)指針指向第三子節(jié)點(diǎn)。第三子節(jié)點(diǎn)同樣包括100個(gè)數(shù)據(jù)管理結(jié)構(gòu),這100個(gè)數(shù)據(jù)管理結(jié)構(gòu)對(duì)應(yīng)的數(shù)據(jù)管理結(jié)構(gòu)號(hào)分別為O 99,每個(gè)數(shù)據(jù)結(jié)構(gòu)管理邏輯上連續(xù)的4個(gè)數(shù)據(jù)塊,每個(gè)數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的指針指向該數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的數(shù)據(jù)管理結(jié)構(gòu)所管理的數(shù)據(jù)塊。如圖3所示,第三子節(jié)點(diǎn)中數(shù)據(jù)管理結(jié)構(gòu)號(hào)0對(duì)應(yīng)的指針指向第三子節(jié)點(diǎn)的第一個(gè)數(shù)據(jù)管理結(jié)構(gòu)所管理的 400、401、402和403這4個(gè)數(shù)據(jù)塊。圖3也僅為路徑樹的一個(gè)示例,本發(fā)明實(shí)施例并不僅限于此,本發(fā)明實(shí)施例對(duì)第一子節(jié)點(diǎn)、第二子節(jié)點(diǎn)和第三子節(jié)點(diǎn)所包括的數(shù)據(jù)管理結(jié)構(gòu)的總數(shù),以及每個(gè)數(shù)據(jù)管理結(jié)構(gòu)管理的邏輯上連續(xù)的數(shù)據(jù)塊的塊數(shù)不作限定。但本發(fā)明實(shí)施例以下的描述中均以每個(gè)子節(jié)點(diǎn)包括100個(gè)數(shù)據(jù)管理結(jié)構(gòu),每個(gè)數(shù)據(jù)管理結(jié)構(gòu)管理邏輯上連續(xù)的4個(gè)數(shù)據(jù)塊為例進(jìn)行說(shuō)明。結(jié)合圖2和圖3可以看出,本發(fā)明實(shí)施例提供的路徑樹最底層的子節(jié)點(diǎn)(例如第一子節(jié)點(diǎn)或第三子節(jié)點(diǎn))的數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的指針指向數(shù)據(jù)管理結(jié)構(gòu)所管理的邏輯上連續(xù)的數(shù)據(jù)塊;除路徑樹最底層子節(jié)點(diǎn)之外的子節(jié)點(diǎn)(例如第二子節(jié)點(diǎn))的數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的指針指向下一級(jí)子節(jié)點(diǎn)。本發(fā)明實(shí)施例中,在獲得待查找數(shù)據(jù)塊所在路徑樹的高度值和該待查找數(shù)據(jù)塊對(duì)應(yīng)的數(shù)據(jù)管理結(jié)構(gòu)號(hào)之后,即可根據(jù)該路徑樹的高度值和該數(shù)據(jù)管理結(jié)構(gòu)號(hào)查找上述數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的指針,進(jìn)而可以根據(jù)查找到的指針定位該待查找數(shù)據(jù)塊。具體地,如果該路徑樹的高度值為第一高度值,即該路徑樹僅包括根節(jié)點(diǎn)和第一子節(jié)點(diǎn),則可以根據(jù)該數(shù)據(jù)管理結(jié)構(gòu)號(hào)在路徑樹的第一子節(jié)點(diǎn)中查找上述數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的指針;或者,如果該路徑樹的高度值為第二高度值,則可以先計(jì)算該數(shù)據(jù)管理結(jié)構(gòu)號(hào)與該路徑樹最底層的每個(gè)子節(jié)點(diǎn)中數(shù)據(jù)管理結(jié)構(gòu)的總數(shù)的商和余數(shù);然后,在第二子節(jié)點(diǎn)中查找上述商對(duì)應(yīng)的指針,并將該路徑樹的第二高度值減去預(yù)定數(shù)值,獲得第三高度值;如果第三高度值等于第一高度值,則在上述商對(duì)應(yīng)的指針?biāo)赶虻淖庸?jié)點(diǎn)中查找余數(shù)對(duì)應(yīng)的指針,該余數(shù)對(duì)應(yīng)的指針為該數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的指針;如果第三高度值大于第一高度值,則重復(fù)執(zhí)行計(jì)算該數(shù)據(jù)管理結(jié)構(gòu)號(hào)與該路徑樹最底層的每個(gè)子節(jié)點(diǎn)中數(shù)據(jù)管理結(jié)構(gòu)的總數(shù)的商和余數(shù),在第二子節(jié)點(diǎn)中查找上述商對(duì)應(yīng)的指針,并將第三高度值減去預(yù)定數(shù)值的步驟, 直至減去該預(yù)定數(shù)值之后,獲得的高度值等于第一高度值。下面結(jié)合圖4,對(duì)本發(fā)明實(shí)施例中定位待查找數(shù)據(jù)塊的過(guò)程進(jìn)行詳細(xì)說(shuō)明。圖4為本發(fā)明定位待查找數(shù)據(jù)塊一個(gè)實(shí)施例的流程圖,如圖4所示,定位待查找數(shù)據(jù)塊的過(guò)程可以包括步驟401,判斷路徑樹的高度值是否等于該高度值的初始值。如果該路徑樹的高度值等于該高度值的初始值,則執(zhí)行步驟402 ;如果該路徑樹的高度值大于該高度值的初始值,則執(zhí)行步驟403。步驟402,根據(jù)數(shù)據(jù)管理結(jié)構(gòu)號(hào)在路徑樹的子節(jié)點(diǎn)中查找該數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的指針,執(zhí)行步驟407。以圖2所示的路徑樹為例,圖2所示路徑樹的高度值等于該高度值的初始值,圖2 所示路徑樹的高度值為1。假設(shè)待查找數(shù)據(jù)塊對(duì)應(yīng)的數(shù)據(jù)管理結(jié)構(gòu)號(hào)為12,則可以直接根據(jù)該數(shù)據(jù)管理結(jié)構(gòu)號(hào)在第一子節(jié)點(diǎn)中查找數(shù)據(jù)管理結(jié)構(gòu)號(hào)12對(duì)應(yīng)的指針。步驟403,計(jì)算數(shù)據(jù)管理結(jié)構(gòu)號(hào)與路徑樹最底層的每個(gè)子節(jié)點(diǎn)中數(shù)據(jù)管理結(jié)構(gòu)的總數(shù)的商和余數(shù),執(zhí)行步驟404。本發(fā)明實(shí)施例中,每個(gè)子節(jié)點(diǎn)中數(shù)據(jù)管理結(jié)構(gòu)的總數(shù)相同,本發(fā)明實(shí)施例以每個(gè)子節(jié)點(diǎn)中數(shù)據(jù)管理結(jié)構(gòu)的總數(shù)為100為例進(jìn)行說(shuō)明。步驟404,在第二子節(jié)點(diǎn)中查找上述商對(duì)應(yīng)的指針,并將該路徑樹的高度值減去預(yù)定數(shù)值,執(zhí)行步驟405。其中,該預(yù)定數(shù)值可以為1或其他正整數(shù),本發(fā)明實(shí)施例對(duì)該預(yù)定數(shù)值的大小不作限定,但該預(yù)定數(shù)值與本發(fā)明圖1所示實(shí)施例步驟101中預(yù)定數(shù)值的大小相等,本發(fā)明實(shí)施例以該預(yù)定數(shù)值為1為例進(jìn)行說(shuō)明。步驟405,判斷減去該預(yù)定數(shù)值之后,獲得的高度值是否等于該高度值的初始值。 如果減去該預(yù)定數(shù)值之后,獲得的高度值等于該高度值的初始值,則執(zhí)行步驟406 ;如果減去該預(yù)定數(shù)值之后,獲得的高度值大于該高度值的初始值,則返回執(zhí)行步驟403。步驟406,在上述商對(duì)應(yīng)的指針?biāo)赶虻淖庸?jié)點(diǎn)中查找余數(shù)對(duì)應(yīng)的指針,該余數(shù)對(duì)應(yīng)的指針為該數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的指針,執(zhí)行步驟407。以圖3所示路徑樹為例,圖3所示路徑樹的高度值為2,大于該高度值的初始值, 圖3所示路徑樹最底層的每個(gè)子節(jié)點(diǎn)中數(shù)據(jù)管理結(jié)構(gòu)的總數(shù)為100。假設(shè)待查找數(shù)據(jù)塊對(duì)應(yīng)的數(shù)據(jù)管理結(jié)構(gòu)號(hào)為101,先計(jì)算101與100的商和余數(shù),其中,101/100的商為1,余數(shù)為 1 ;然后,在第二子節(jié)點(diǎn)中查找101/100的商對(duì)應(yīng)的指針,101/100的商對(duì)應(yīng)的指針即為第二子節(jié)點(diǎn)中數(shù)據(jù)管理結(jié)構(gòu)號(hào)1對(duì)應(yīng)的指針;并將路徑樹的高度值減去1 ;減去1之后,該路徑樹的高度值為1,等于該高度值的初始值,因此,接下來(lái)可以在101/100的商對(duì)應(yīng)的指針?biāo)赶虻淖庸?jié)點(diǎn)中查找101/100的余數(shù)對(duì)應(yīng)的指針。其中,該101/100的商對(duì)應(yīng)的指針?biāo)赶虻淖庸?jié)點(diǎn)即為第三子節(jié)點(diǎn),101/100的余數(shù)對(duì)應(yīng)的指針即為第三子節(jié)點(diǎn)中數(shù)據(jù)管理結(jié)構(gòu)號(hào)1對(duì)應(yīng)的指針,因此第三子節(jié)點(diǎn)中數(shù)據(jù)管理結(jié)構(gòu)號(hào)1對(duì)應(yīng)的指針即為待查找數(shù)據(jù)塊對(duì)應(yīng)的數(shù)據(jù)管理結(jié)構(gòu)號(hào)所對(duì)應(yīng)的指針。步驟407,根據(jù)查找到的指針定位上述待查找數(shù)據(jù)塊。具體地,首先可以根據(jù)查找到的指針定位待查找數(shù)據(jù)塊對(duì)應(yīng)的數(shù)據(jù)管理結(jié)構(gòu),然后從定位到的數(shù)據(jù)管理結(jié)構(gòu)中獲得待查找數(shù)據(jù)塊的存儲(chǔ)位置;最后,根據(jù)該存儲(chǔ)位置定位該待查找數(shù)據(jù)塊。上述實(shí)施例實(shí)現(xiàn)了根據(jù)待查找數(shù)據(jù)塊的數(shù)據(jù)管理結(jié)構(gòu)號(hào),通過(guò)路徑樹直接查找到待查找數(shù)據(jù)塊,減少了查找次數(shù),提高了待查找數(shù)據(jù)塊的查找效率。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過(guò)程序指令相關(guān)的硬件來(lái)完成,前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括R0M、RAM、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。圖5為本發(fā)明數(shù)據(jù)塊的查找裝置一個(gè)實(shí)施例的結(jié)構(gòu)示意圖,本實(shí)施例提供的數(shù)據(jù)塊的查找裝置可以實(shí)現(xiàn)本發(fā)明圖1所示實(shí)施例的流程。如圖5所示,該數(shù)據(jù)塊的查找裝置可以包括獲得模塊51、查找模塊52和定位模塊53。其中,獲得模塊51,用于獲得待查找數(shù)據(jù)塊所在路徑樹的高度值和該待查找數(shù)據(jù)塊對(duì)應(yīng)的數(shù)據(jù)管理結(jié)構(gòu)號(hào)。查找模塊52,用于根據(jù)獲得模塊51獲得的路徑樹的高度值和數(shù)據(jù)管理結(jié)構(gòu)號(hào)查找該數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的指針;具體地,查找模塊52可以根據(jù)本發(fā)明圖4所示實(shí)施例提供的方法查找該數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的指針。定位模塊53,用于根據(jù)查找模塊52查找到的指針定位上述待查找數(shù)據(jù)塊。上述實(shí)施例中,查找模塊52根據(jù)待查找數(shù)據(jù)塊所在路徑樹的高度值和該待查找數(shù)據(jù)塊對(duì)應(yīng)的數(shù)據(jù)管理結(jié)構(gòu)號(hào),查找該數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的指針,然后定位模塊53根據(jù)查找到的指針定位上述待查找數(shù)據(jù)塊;從而實(shí)現(xiàn)了根據(jù)待查找數(shù)據(jù)塊對(duì)應(yīng)的數(shù)據(jù)管理結(jié)構(gòu)號(hào),通過(guò)路徑樹直接查找到待查找數(shù)據(jù)塊,減少了查找次數(shù),提高了待查找數(shù)據(jù)塊的查找效率。圖6為本發(fā)明數(shù)據(jù)塊的查找裝置另一個(gè)實(shí)施例的結(jié)構(gòu)示意圖,本實(shí)施例提供的數(shù)據(jù)塊的查找裝置可以實(shí)現(xiàn)本發(fā)明圖1所示實(shí)施例的流程。與圖5所示的數(shù)據(jù)塊的查找裝置相比,不同的是,圖6所示的數(shù)據(jù)塊的查找裝置還可以包括建立模塊54、寫入模塊55和插入模塊56。其中,建立模塊M,用于建立路徑樹,該路徑樹包括根節(jié)點(diǎn)和第一子節(jié)點(diǎn),該根節(jié)點(diǎn)中記錄該路徑樹的第一高度值和該根節(jié)點(diǎn)指向第一子節(jié)點(diǎn)的指針;寫入模塊55,用于在第一子節(jié)點(diǎn)的數(shù)據(jù)管理結(jié)構(gòu)所管理的數(shù)據(jù)塊中寫入數(shù)據(jù),并在該第一子節(jié)點(diǎn)中記錄數(shù)據(jù)管理結(jié)構(gòu)對(duì)應(yīng)的數(shù)據(jù)管理結(jié)構(gòu)號(hào)和數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的指針,該數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的指針指向該數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的數(shù)據(jù)管理結(jié)構(gòu)所管理的數(shù)據(jù)塊;插入模塊56,用于在寫入模塊55將第一子節(jié)點(diǎn)的數(shù)據(jù)管理結(jié)構(gòu)所管理的數(shù)據(jù)塊寫滿數(shù)據(jù)之后,在路徑樹中插入第二子節(jié)點(diǎn)和第三子節(jié)點(diǎn),將根節(jié)點(diǎn)指向第一子節(jié)點(diǎn)的指針修改為指向第二子節(jié)點(diǎn),并將該路徑樹的第一高度值加上預(yù)定數(shù)值,獲得該路徑樹的第二高度值;上述第二子節(jié)點(diǎn)的第一個(gè)指針指向第一子節(jié)點(diǎn),第二子節(jié)點(diǎn)的第二個(gè)指針指向第三子節(jié)點(diǎn);寫入模塊55,還可以在第三子節(jié)點(diǎn)的數(shù)據(jù)管理結(jié)構(gòu)所管理的數(shù)據(jù)塊中寫入數(shù)據(jù), 并在第三子節(jié)點(diǎn)中記錄數(shù)據(jù)管理結(jié)構(gòu)對(duì)應(yīng)的數(shù)據(jù)管理結(jié)構(gòu)號(hào)和數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的指針,該數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的指針指向該數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的數(shù)據(jù)管理結(jié)構(gòu)所管理的數(shù)據(jù)塊。本實(shí)施例中,查找模塊52可以包括第一查找子模塊521 ;或者,查找模塊52可以包括計(jì)算子模塊522和第二查找子模塊523 ;或者,查找模塊52可以包括第一查找子模塊 521、計(jì)算子模塊522和第二查找子模塊523。其中,第一查找子模塊521,用于當(dāng)路徑樹的高度值為第一高度值時(shí),根據(jù)數(shù)據(jù)管理結(jié)構(gòu)號(hào)在路徑樹的第一子節(jié)點(diǎn)中查找該數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的指針。計(jì)算子模塊522,用于當(dāng)路徑樹的高度值為第二高度值時(shí),計(jì)算該數(shù)據(jù)管理結(jié)構(gòu)號(hào)與路徑樹最底層的每個(gè)子節(jié)點(diǎn)中數(shù)據(jù)管理結(jié)構(gòu)的總數(shù)的商和余數(shù);第二查找子模塊523,用于在第二子節(jié)點(diǎn)中查找上述商對(duì)應(yīng)的指針,并將該路徑樹的第二高度值減去上述預(yù)定數(shù)值,獲得第三高度值;當(dāng)?shù)谌叨戎档扔诘谝桓叨戎禃r(shí),在上述商對(duì)應(yīng)的指針?biāo)赶虻淖庸?jié)點(diǎn)中查找上述余數(shù)對(duì)應(yīng)的指針,該余數(shù)對(duì)應(yīng)的指針為該數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的指針。如果第三高度值大于第一高度值,則計(jì)算子模塊522重復(fù)執(zhí)行計(jì)算該數(shù)據(jù)管理結(jié)構(gòu)號(hào)與路徑樹最底層的每個(gè)子節(jié)點(diǎn)中數(shù)據(jù)管理結(jié)構(gòu)的總數(shù)的商和余數(shù)的步驟,并且第二查找子模塊523重復(fù)執(zhí)行在第二子節(jié)點(diǎn)中查找上述商對(duì)應(yīng)的指針,并將第三高度值減去上述預(yù)定數(shù)值的步驟,直至減去上述預(yù)定數(shù)值之后,獲得的高度值等于第一高度值。本實(shí)施例中,定位模塊53可以包括第一定位子模塊531和位置獲得子模塊532。其中,第一定位子模塊531,用于根據(jù)查找到的指針定位待查找數(shù)據(jù)塊對(duì)應(yīng)的數(shù)據(jù)管理結(jié)構(gòu);位置獲得子模塊532,用于從第一定位子模塊531定位到的數(shù)據(jù)管理結(jié)構(gòu)中獲得待查找數(shù)據(jù)塊的存儲(chǔ)位置;第一定位子模塊531,還用于根據(jù)位置獲得子模塊532獲得的存儲(chǔ)位置定位該待查找數(shù)據(jù)塊。上述實(shí)施例實(shí)現(xiàn)了根據(jù)待查找數(shù)據(jù)塊對(duì)應(yīng)的數(shù)據(jù)管理結(jié)構(gòu)號(hào),通過(guò)路徑樹直接查找到待查找數(shù)據(jù)塊,減少了查找次數(shù),提高了待查找數(shù)據(jù)塊的查找效率。本領(lǐng)域技術(shù)人員可以理解附圖只是一個(gè)優(yōu)選實(shí)施例的示意圖,附圖中的模塊或流程并不一定是實(shí)施本發(fā)明所必須的。本領(lǐng)域技術(shù)人員可以理解實(shí)施例中的裝置中的模塊可以按照實(shí)施例描述進(jìn)行分布于實(shí)施例的裝置中,也可以進(jìn)行相應(yīng)變化位于不同于本實(shí)施例的一個(gè)或多個(gè)裝置中。上述實(shí)施例的模塊可以合并為一個(gè)模塊,也可以進(jìn)一步拆分成多個(gè)子模塊。最后應(yīng)說(shuō)明的是以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。
1權(quán)利要求
1.一種數(shù)據(jù)塊的查找方法,其特征在于,包括獲得待查找數(shù)據(jù)塊所在路徑樹的高度值和所述待查找數(shù)據(jù)塊對(duì)應(yīng)的數(shù)據(jù)管理結(jié)構(gòu)號(hào);根據(jù)所述路徑樹的高度值和所述數(shù)據(jù)管理結(jié)構(gòu)號(hào)查找所述數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的指針,并根據(jù)查找到的指針定位所述待查找數(shù)據(jù)塊。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲得待查找數(shù)據(jù)塊所在路徑樹的高度值和所述待查找數(shù)據(jù)塊對(duì)應(yīng)的數(shù)據(jù)管理結(jié)構(gòu)號(hào)之前,還包括建立所述路徑樹,所述路徑樹包括根節(jié)點(diǎn)和第一子節(jié)點(diǎn),在所述根節(jié)點(diǎn)中記錄所述路徑樹的第一高度值和所述根節(jié)點(diǎn)指向所述第一子節(jié)點(diǎn)的指針;在所述第一子節(jié)點(diǎn)的數(shù)據(jù)管理結(jié)構(gòu)所管理的數(shù)據(jù)塊中寫入數(shù)據(jù),并在所述第一子節(jié)點(diǎn)中記錄所述數(shù)據(jù)管理結(jié)構(gòu)對(duì)應(yīng)的數(shù)據(jù)管理結(jié)構(gòu)號(hào)和所述數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的指針,所述數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的指針指向所述數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的數(shù)據(jù)管理結(jié)構(gòu)所管理的數(shù)據(jù)塊。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,還包括將所述第一子節(jié)點(diǎn)的數(shù)據(jù)管理結(jié)構(gòu)所管理的數(shù)據(jù)塊寫滿數(shù)據(jù)之后,在所述路徑樹中插入第二子節(jié)點(diǎn)和第三子節(jié)點(diǎn),將所述根節(jié)點(diǎn)指向所述第一子節(jié)點(diǎn)的指針修改為指向所述第二子節(jié)點(diǎn),并將所述路徑樹的第一高度值加上預(yù)定數(shù)值,獲得所述路徑樹的第二高度值;所述第二子節(jié)點(diǎn)的第一個(gè)指針指向所述第一子節(jié)點(diǎn),所述第二子節(jié)點(diǎn)的第二個(gè)指針指向所述第三子節(jié)點(diǎn);在所述第三子節(jié)點(diǎn)的數(shù)據(jù)管理結(jié)構(gòu)所管理的數(shù)據(jù)塊中寫入數(shù)據(jù),在所述第三子節(jié)點(diǎn)中記錄所述數(shù)據(jù)管理結(jié)構(gòu)對(duì)應(yīng)的數(shù)據(jù)管理結(jié)構(gòu)號(hào)和所述數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的指針,所述數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的指針指向所述數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的數(shù)據(jù)管理結(jié)構(gòu)所管理的數(shù)據(jù)塊。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)所述路徑樹的高度值和所述數(shù)據(jù)管理結(jié)構(gòu)號(hào)查找所述數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的指針包括當(dāng)所述路徑樹的高度值為所述第一高度值時(shí),根據(jù)所述數(shù)據(jù)管理結(jié)構(gòu)號(hào)在所述路徑樹的第一子節(jié)點(diǎn)中查找所述數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的指針。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述根據(jù)所述路徑樹的高度值和所述數(shù)據(jù)管理結(jié)構(gòu)號(hào)查找所述數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的指針包括當(dāng)所述路徑樹的高度值為所述第二高度值時(shí),計(jì)算所述數(shù)據(jù)管理結(jié)構(gòu)號(hào)與所述路徑樹最底層的每個(gè)子節(jié)點(diǎn)中數(shù)據(jù)管理結(jié)構(gòu)的總數(shù)的商和余數(shù);在所述第二子節(jié)點(diǎn)中查找所述商對(duì)應(yīng)的指針,并將所述路徑樹的第二高度值減去所述預(yù)定數(shù)值,獲得第三高度值;如果所述第三高度值等于所述第一高度值,則在所述商對(duì)應(yīng)的指針?biāo)赶虻淖庸?jié)點(diǎn)中查找所述余數(shù)對(duì)應(yīng)的指針,所述余數(shù)對(duì)應(yīng)的指針為所述數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的指針;否則重復(fù)執(zhí)行計(jì)算所述數(shù)據(jù)管理結(jié)構(gòu)號(hào)與所述路徑樹最底層的每個(gè)子節(jié)點(diǎn)中數(shù)據(jù)管理結(jié)構(gòu)的總數(shù)的商和余數(shù),在所述第二子節(jié)點(diǎn)中查找所述商對(duì)應(yīng)的指針,并將所述第三高度值減去所述預(yù)定數(shù)值的步驟,直至減去所述預(yù)定數(shù)值之后,獲得的高度值等于所述第一高度值。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)查找到的指針定位所述待查找數(shù)據(jù)塊包括根據(jù)所述查找到的指針定位所述待查找數(shù)據(jù)塊對(duì)應(yīng)的數(shù)據(jù)管理結(jié)構(gòu);從定位到的所述數(shù)據(jù)管理結(jié)構(gòu)中獲得所述待查找數(shù)據(jù)塊的存儲(chǔ)位置;根據(jù)所述存儲(chǔ)位置定位所述待查找數(shù)據(jù)塊。
7.一種數(shù)據(jù)塊的查找裝置,其特征在于,包括獲得模塊,用于獲得待查找數(shù)據(jù)塊所在路徑樹的高度值和所述待查找數(shù)據(jù)塊對(duì)應(yīng)的數(shù)據(jù)管理結(jié)構(gòu)號(hào);查找模塊,用于根據(jù)所述獲得模塊獲得的路徑樹的高度值和數(shù)據(jù)管理結(jié)構(gòu)號(hào)查找所述數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的指針;定位模塊,用于根據(jù)所述查找模塊查找到的指針定位所述待查找數(shù)據(jù)塊。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,還包括建立模塊,用于建立所述路徑樹,所述路徑樹包括根節(jié)點(diǎn)和第一子節(jié)點(diǎn),所述根節(jié)點(diǎn)中記錄所述路徑樹的第一高度值和所述根節(jié)點(diǎn)指向所述第一子節(jié)點(diǎn)的指針;寫入模塊,用于在所述第一子節(jié)點(diǎn)的數(shù)據(jù)管理結(jié)構(gòu)所管理的數(shù)據(jù)塊中寫入數(shù)據(jù),并在所述第一子節(jié)點(diǎn)中記錄所述數(shù)據(jù)管理結(jié)構(gòu)對(duì)應(yīng)的數(shù)據(jù)管理結(jié)構(gòu)號(hào)和所述數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的指針,所述數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的指針指向所述數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的數(shù)據(jù)管理結(jié)構(gòu)所管理的數(shù)據(jù)塊。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,還包括插入模塊,用于在所述寫入模塊將所述第一子節(jié)點(diǎn)的數(shù)據(jù)管理結(jié)構(gòu)所管理的數(shù)據(jù)塊寫滿數(shù)據(jù)之后,在所述路徑樹中插入第二子節(jié)點(diǎn)和第三子節(jié)點(diǎn),將所述根節(jié)點(diǎn)指向所述第一子節(jié)點(diǎn)的指針修改為指向所述第二子節(jié)點(diǎn),并將所述路徑樹的第一高度值加上預(yù)定數(shù)值, 獲得所述路徑樹的第二高度值;所述第二子節(jié)點(diǎn)的第一個(gè)指針指向所述第一子節(jié)點(diǎn),所述第二子節(jié)點(diǎn)的第二個(gè)指針指向所述第三子節(jié)點(diǎn);所述寫入模塊,還用于在所述第三子節(jié)點(diǎn)的數(shù)據(jù)管理結(jié)構(gòu)所管理的數(shù)據(jù)塊中寫入數(shù)據(jù),并在所述第三子節(jié)點(diǎn)中記錄所述數(shù)據(jù)管理結(jié)構(gòu)對(duì)應(yīng)的數(shù)據(jù)管理結(jié)構(gòu)號(hào)和所述數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的指針,所述數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的指針指向所述數(shù)據(jù)管理結(jié)構(gòu)所管理的數(shù)據(jù)塊。
10.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述查找模塊包括第一查找子模塊,用于當(dāng)所述路徑樹的高度值為所述第一高度值時(shí),根據(jù)所述數(shù)據(jù)管理結(jié)構(gòu)號(hào)在所述路徑樹的第一子節(jié)點(diǎn)中查找所述數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的指針。
11.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述查找模塊包括計(jì)算子模塊,用于當(dāng)所述路徑樹的高度值為所述第二高度值時(shí),計(jì)算所述數(shù)據(jù)管理結(jié)構(gòu)號(hào)與所述路徑樹最底層的每個(gè)子節(jié)點(diǎn)中數(shù)據(jù)管理結(jié)構(gòu)的總數(shù)的商和余數(shù);第二查找子模塊,用于在所述第二子節(jié)點(diǎn)中查找所述商對(duì)應(yīng)的指針,并將所述路徑樹的第二高度值減去所述預(yù)定數(shù)值,獲得第三高度值;當(dāng)所述第三高度值等于所述第一高度值時(shí),在所述商對(duì)應(yīng)的指針?biāo)赶虻淖庸?jié)點(diǎn)中查找所述余數(shù)對(duì)應(yīng)的指針,所述余數(shù)對(duì)應(yīng)的指針為所述數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的指針。
12.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述定位模塊包括第一定位子模塊,用于根據(jù)所述查找到的指針定位所述待查找數(shù)據(jù)塊對(duì)應(yīng)的數(shù)據(jù)管理結(jié)構(gòu);位置獲得子模塊,用于從所述第一定位子模塊定位到的數(shù)據(jù)管理結(jié)構(gòu)中獲得所述待查找數(shù)據(jù)塊的存儲(chǔ)位置;所述第一定位子模塊,還用于根據(jù)所述位置獲得子模塊獲得的存儲(chǔ)位置定位所述待查找數(shù)據(jù)塊。
全文摘要
本發(fā)明實(shí)施例提供一種數(shù)據(jù)塊的查找方法和裝置,所述數(shù)據(jù)塊的查找方法包括獲得待查找數(shù)據(jù)塊所在路徑樹的高度值和所述待查找數(shù)據(jù)塊對(duì)應(yīng)的數(shù)據(jù)管理結(jié)構(gòu)號(hào);根據(jù)所述路徑樹的高度值和所述數(shù)據(jù)管理結(jié)構(gòu)號(hào)查找所述數(shù)據(jù)管理結(jié)構(gòu)號(hào)對(duì)應(yīng)的指針,并根據(jù)查找到的指針定位所述待查找數(shù)據(jù)塊。本發(fā)明實(shí)施例實(shí)現(xiàn)了通過(guò)路徑樹快速定位待查找數(shù)據(jù)塊,提高了待查找數(shù)據(jù)塊的查找效率。
文檔編號(hào)G06F17/30GK102193942SQ20101012492
公開日2011年9月21日 申請(qǐng)日期2010年3月12日 優(yōu)先權(quán)日2010年3月12日
發(fā)明者牛海根 申請(qǐng)人:成都市華為賽門鐵克科技有限公司