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

一種存儲和檢索數(shù)據(jù)的方法和一種存儲器配置的制作方法

文檔序號:7567551閱讀:417來源:國知局
專利名稱:一種存儲和檢索數(shù)據(jù)的方法和一種存儲器配置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及根據(jù)后附權(quán)利要求1,6,18和20的前序的一種數(shù)據(jù)存儲方法,以及根據(jù)后附權(quán)利要求11,15,22和24的前序的一種數(shù)據(jù)檢索方法。本發(fā)明也涉及根據(jù)后附權(quán)利要求25和26的前序的相聯(lián)存儲器配置。
本發(fā)明的實現(xiàn)方法主要用于集中存儲數(shù)據(jù)庫的連接。一種合適的應(yīng)用是在電話交換機(jī)中用戶數(shù)據(jù)庫的維護(hù)。
現(xiàn)有技術(shù)的單維目錄結(jié)構(gòu),稱為數(shù)字檢索(Digitaltrie)(單詞“trie”是從英語單詞“retrieval”中派生的),是本發(fā)明基本原則的潛在基礎(chǔ)。數(shù)字檢索是一個樹狀結(jié)構(gòu),由兩類節(jié)點組成葉節(jié)點,包括一個記錄,和引導(dǎo)搜索的內(nèi)部節(jié)點。一個內(nèi)部節(jié)點是一個有2的k次冪(2k)個元素的數(shù)組。如果一個元素被使用,它或者指向目錄樹下一層的內(nèi)部節(jié)點,或者指向包含一個記錄的葉節(jié)點。在其它情況下,該元素是空的(空)。對數(shù)據(jù)庫的搜索是通過一次檢查搜索關(guān)鍵字(例如,在電話交換機(jī)用戶數(shù)據(jù)庫的情況下,一般是對應(yīng)于該用戶電話號碼的二進(jìn)制數(shù)字)的k個比特進(jìn)行的。需要搜索的比特以下述方式選出在樹形結(jié)構(gòu)的根層次(在第一個內(nèi)部節(jié)點),搜索最左的k個比特;在結(jié)構(gòu)的第二層次,搜索這些最左比特的下一組k個比特,以此類推。需要搜索的比特被解釋成無符號二進(jìn)制整數(shù),直接用作元素數(shù)組的索引(該索引指示了數(shù)組中的一個給定元素)。如果該索引指示的元素是空的,搜索以不成功結(jié)束。如果該元素指向下一層的一個內(nèi)部節(jié)點,從搜索關(guān)鍵字中抽取下一組k個比特在該層按上述方式進(jìn)行搜索。經(jīng)過比較之后,尋徑或者向下一層的一個內(nèi)部節(jié)點分支,或者指向通常包含一個關(guān)鍵字—指針對的葉節(jié)點。如果該元素指向一個包含記錄的葉節(jié)點,則比較搜索關(guān)鍵字和該記錄中存儲的關(guān)鍵字。這樣,僅在搜索發(fā)現(xiàn)一個葉節(jié)點之后才比較整個搜索關(guān)鍵字。當(dāng)關(guān)鍵字相等時,搜索成功,所需的數(shù)據(jù)單元從該葉節(jié)點的指針?biāo)甘镜拇鎯Φ刂分蝎@取。當(dāng)關(guān)鍵字不等時,搜索以不成功終止。


圖1說明了一個數(shù)字檢索結(jié)構(gòu)的示例,其中關(guān)鍵字長4比特, k=2,這樣每一個內(nèi)部節(jié)點有22=4個元素,在每一層搜索從關(guān)鍵字中抽取出的2個比特。包含記錄的葉節(jié)點以參數(shù)A,B,C,D…H…M,N,O和P標(biāo)明。這樣,一個葉節(jié)點是一個不指向樹中低層的節(jié)點。圖1中內(nèi)部節(jié)點以參數(shù)V1…V5標(biāo)明,內(nèi)部節(jié)點元素由參數(shù)VA標(biāo)明。
在圖1所示的例示性例子中,葉節(jié)點的搜索關(guān)鍵字按下述方式示出A=0000,B=0001,C=0010,…,H=0111,…和P=1111。在這種情況下,每一個葉節(jié)點中存儲的指針指向數(shù)據(jù)庫SD的某個存儲單元,在該存儲單元中可以查找到實際數(shù)據(jù),例如,有關(guān)用戶的電話號碼,以及該用戶的其他相關(guān)信息。實際用戶數(shù)據(jù)可以是,例如圖1示出的順序文件類型,存儲在數(shù)據(jù)庫中。搜索基于記錄H的關(guān)鍵字進(jìn)行,例如,首先抽取關(guān)鍵字最左的兩位比特(01),并予以解釋,向節(jié)點V1的第二個元素傳送,該元素含有指向下一層節(jié)點V3的指針。在這一層上,抽取搜索關(guān)鍵字緊接著的兩位比特(11),然后得出該節(jié)點的第四個元素,指向記錄H。
除了指針,葉節(jié)點也可以包含(除搜索關(guān)鍵字之外)一個實際的數(shù)據(jù)文件。例如,與用戶A(圖1)的相關(guān)數(shù)據(jù)可以放置于葉節(jié)點A,與用戶B的相關(guān)數(shù)據(jù)可以放置于葉節(jié)點B,等等。這樣,在第一種實施例(其中葉節(jié)點存儲了一個關(guān)鍵字-指針對)中,數(shù)字檢索結(jié)構(gòu)僅作為一個目錄結(jié)構(gòu),在第二種實施例(其中葉節(jié)點存儲了關(guān)鍵字和實際數(shù)據(jù))中,數(shù)字檢索結(jié)構(gòu)作為一塊相聯(lián)存儲器。(在相聯(lián)存儲器中,存儲單元基于它們的內(nèi)容標(biāo)識。)在本發(fā)明的實現(xiàn)中,與上述情況不同,搜索關(guān)鍵字是多維的,也就是說,搜索關(guān)鍵字包括許多屬性(例如,用戶的姓氏和一個或多個家族名),這樣在每一個屬性中,可以一次搜索一個屬性的Ki個搜索關(guān)鍵字比特。(i是對應(yīng)于一個屬性的索引)。
以前,上述的單維檢索結(jié)構(gòu)被擴(kuò)展成一個多維“EXCELL”結(jié)構(gòu)(英語詞匯“ extendible cell”的縮寫),以支持與幾何應(yīng)用相關(guān)搜索的最大效率。EXCELL結(jié)構(gòu)包括單元劃分搜索空間,和一個獨立目錄部分。單元劃分在搜索空間的任一個軸線方向上將搜索空間遞歸劃分成兩個相等的部分。單元劃分的結(jié)果是多維檢索結(jié)構(gòu)。目錄部分是表格形式的柵格,其中每一個柵格等于搜索空間中的最小單元。柵格元素指向搜索空間中的一個單元,并且多于一個柵格元素可以指向同一個單元。(EXCELL結(jié)構(gòu)在Tamminen,M.The EXCELL method for efficient geometric access todata,Helsinki 1981,Acta Polytechnica Scandinavica,Mathematics andCompute Science Series#34中描述,感興趣的讀者可以參考該資料以獲取更詳盡的說明。)這樣一種多維檢索結(jié)構(gòu),其中單元大小是動態(tài)的(當(dāng)數(shù)據(jù)進(jìn)入該結(jié)構(gòu)時目錄部分加倍),伴隨著由特定類型(不統(tǒng)一的)關(guān)鍵字分布導(dǎo)致的目錄部分快速(指數(shù)級)增長。其結(jié)果是,存儲占有率(存儲器電路要求)將過度增長,存儲管理效率(速度)將受到影響。
本發(fā)明的目標(biāo)是消除上述問題,并提供一種存儲器,其中目錄部分可以容納在比現(xiàn)有技術(shù)要小的存儲空間,而且比以前更容易管理。這個目標(biāo)由本發(fā)明的存儲和檢索方法實現(xiàn),存儲方法的基本特征在于,(a)從對應(yīng)于每一維的搜索關(guān)鍵字中選擇預(yù)定數(shù)量(ki)的比特,組成一個搜索關(guān)鍵字,基于該搜索關(guān)鍵字從樹狀層次結(jié)構(gòu)的根層次的內(nèi)部節(jié)點查找下一個節(jié)點的地址,進(jìn)行到所述節(jié)點,(b)從對應(yīng)于每一維的搜索關(guān)鍵字未被選中的比特中選擇預(yù)定數(shù)量(ki)的比特,組成一個搜索關(guān)鍵字,通過該搜索關(guān)鍵字從已被訪問的節(jié)點數(shù)組中查找低層次進(jìn)一步新節(jié)點的地址,(c)重復(fù)步驟(b)直到遇到了一個空元素或直到低層次新節(jié)點的地址是一個葉節(jié)點的地址,和(d)在葉節(jié)點中存儲一個指針,將所述數(shù)據(jù)單元存儲在該指針指示的存儲單元或者將所述數(shù)據(jù)單元存儲在該葉節(jié)點。根據(jù)本發(fā)明的檢索方法的基本形式,其特征在后附權(quán)利要求11和15的特征部分提出。對上述基本形式而言,目錄結(jié)構(gòu)僅包括一個節(jié)點的特定例子也適用。根據(jù)該實施例的存儲方法,其特征在后附權(quán)利要求18和20的特征部分提出,其檢索方法的特征相應(yīng)在后附權(quán)利要求22和24的特征部分提出。本發(fā)明的相聯(lián)存儲器配置相應(yīng)地在后附權(quán)利要求25和26的特征部分提出。
本發(fā)明的想法是在多維檢索結(jié)構(gòu)中以下述方式執(zhí)行地址運(yùn)算在每一維中獨立于其它維選擇預(yù)定數(shù)量的比特,一種典型實現(xiàn)是為了計算一個元素數(shù)組的索引,從不同維的搜索關(guān)鍵字中選擇不等數(shù)量的比特。因此,通過預(yù)先給定在每一維中需要搜索的搜索關(guān)鍵字比特數(shù)量,檢索結(jié)構(gòu)中的單個內(nèi)部節(jié)點的每一維都設(shè)置一個獨立于其它維的固定限制。這樣,在每一維中的選擇獨立于其它維中的選擇。這種方式一方面避免了橫向上結(jié)構(gòu)的過分增長,另一方面避免了在任意維深度方向上結(jié)構(gòu)的過分增長(深度,也就是說,每一維上的層次數(shù)量,等于搜索關(guān)鍵字總長度的比特數(shù)除以一次搜索的比特數(shù)量,也就是說,深度受決定內(nèi)部節(jié)點多少的參數(shù)影響)。這樣,通過在寬度和深度方向上預(yù)先給目錄加以特定限制,存儲要求得到控制。
通過本發(fā)明的實現(xiàn),硬件中存儲器電路的要求將比以前更小,存儲管理將是高效的,尤其在預(yù)先得知搜索關(guān)鍵字值分布的情況下(例如,電話交換機(jī)通常是這種情況)。
本發(fā)明的另一個優(yōu)點在于,可以設(shè)計一種結(jié)構(gòu)(通過選擇參數(shù))以使完全關(guān)鍵字檢索和部分關(guān)鍵字檢索在所有方向上都是相等的。這種方法也允許僅在特定維上進(jìn)行的檢索,也就是說,部分關(guān)鍵字檢索,具有最大效率。這些特性是非常重要的,尤其在需要高速的實時數(shù)據(jù)庫中。在速度方面的一個進(jìn)一步優(yōu)點在于,這種實現(xiàn)允許高效地并行處理(換句話說,如果例如查找分支成兩個子樹,每一個可以在獨立處理器中進(jìn)行處理)。
以下參照圖2到6,通過相應(yīng)圖片的例子,解釋本發(fā)明和它的優(yōu)選實施例,其中圖1說明了在電話交換機(jī)中用以維護(hù)用戶數(shù)據(jù)的一種單維數(shù)字檢索結(jié)構(gòu),圖2說明了一種多維數(shù)字檢索結(jié)構(gòu),圖3說明了根據(jù)本發(fā)明的檢索結(jié)構(gòu)的內(nèi)部節(jié)點中元素的結(jié)構(gòu),圖4說明了根據(jù)本發(fā)明的存儲器所使用的目錄結(jié)構(gòu)的節(jié)點,圖5說明了判定內(nèi)部節(jié)點的元素(元素數(shù)組的索引)的方法,內(nèi)部節(jié)點與圖4一致,以及圖6在框圖層次上說明了根據(jù)本發(fā)明的一種存儲器配置。
如前面所述,在本發(fā)明中檢索結(jié)構(gòu)有多維實現(xiàn)(一般n維)。這樣一種多維結(jié)構(gòu)在最初時與所描述的單維結(jié)構(gòu)完全類似,只是在內(nèi)部節(jié)點中包括的數(shù)組元素是多維的。圖2示例給出了一種二維22*21結(jié)構(gòu),其中數(shù)組元素的一維包括四個元素,另一維包括2個元素。內(nèi)部節(jié)點元素指向的葉節(jié)點在圖中以圓示出。
在多維情況下的地址運(yùn)算的原則與單維情況下相同。然而,基本的差別在于,對元素數(shù)組(n索引)中的每一維計算索引,而不再是一個元素數(shù)組索引。這樣,每一維有它自己的搜索關(guān)鍵字空間{0,1,…,2vi-1}(vi是每一維數(shù)上搜索關(guān)鍵字長度的比特數(shù),i∈{1,…,n})。
為了表示內(nèi)部節(jié)點中單個元素VA的狀態(tài),首先定義術(shù)語溢出元素的意義。當(dāng)向目錄樹增加一個新指針時(作為數(shù)據(jù)插入存儲器的結(jié)果),可能在該內(nèi)部節(jié)點的位置上已經(jīng)有一個指向某個葉節(jié)點的指針。這種情況稱為沖突。有許多方法可以解決沖突。從控制存儲器管理的角度來看,在目錄樹的下一層為沖突指針創(chuàng)建一個新的內(nèi)部節(jié)點是沒有用的,但是如果該節(jié)點含有空元素,該指針可置于發(fā)生沖突的內(nèi)部節(jié)點的元素中。這樣的元素稱為溢出元素,這樣它們包括根據(jù)上述直接地址運(yùn)算機(jī)制所無法放置的指針。為了能檢索到這樣的記錄,內(nèi)部節(jié)點的元素必須具有一個獨立的標(biāo)識符,以指示在所述元素中包含的指針類型,換句話說,說明它是指向下一層次的內(nèi)部節(jié)點還是一個溢出元素(在同一個內(nèi)部節(jié)點中)。
圖3例示了根據(jù)本發(fā)明的存儲器中目錄結(jié)構(gòu)中內(nèi)部節(jié)點元素的結(jié)構(gòu)。內(nèi)部節(jié)點可以是目錄節(jié)點或溢出節(jié)點類型。如果內(nèi)部節(jié)點沒有包含溢出元素,則該內(nèi)部節(jié)點類型是目錄節(jié)點,如果包含即使一個溢出元素,則該內(nèi)部節(jié)點類型是溢出節(jié)點。相應(yīng)地,一個元素可以是一個目錄元素,一個溢出元素或一個空元素(未使用)。一個目錄元素可以指向一個目錄節(jié)點,溢出節(jié)點或葉節(jié)點。另一方面,一個溢出節(jié)點僅指向一個溢出節(jié)點或一個葉節(jié)點。
在這個例子中的每一個元素長度為40比特(5字節(jié)),包括下列字段(括號中為字段長度)指針字段31(32比特),指針類型字段32(2比特),和元素類型字段33(2比特)。進(jìn)一步,元素中保留了一個空閑字段34。指針類型可以通過指針類型字段32的兩位比特進(jìn)行編碼,例如以下述方式進(jìn)行00指針未用,01指針指向一個目錄節(jié)點,
10指針指向一個溢出節(jié)點,和11指針指向一個葉節(jié)點。
元素類型可以通過元素類型字段的兩位比特進(jìn)行編碼,例如以下述方式進(jìn)行00空元素,01目錄元素,10溢出元素,和11未用。
在根據(jù)本發(fā)明的多維檢索存儲器結(jié)構(gòu)中,基于每一維方向上單個內(nèi)部節(jié)點所需大小,另一方面,基于該維方向上結(jié)構(gòu)的所需深度,通過固定每一維的參數(shù),ki(該維數(shù)需要搜索的搜索關(guān)鍵字比特數(shù)量),從而預(yù)先決定了每一個內(nèi)部節(jié)點的大小(元素數(shù)量)。這樣,在每一維數(shù)方向上內(nèi)部節(jié)點的大小是2ki個元素,內(nèi)部節(jié)點元素總數(shù)S也是2的冪S=∏2Ki=2K1×2K2×2K3×...=2N(1)可以用n個(n≥2)整數(shù)指向有n個維內(nèi)部節(jié)點中的所有元素,每一個整數(shù)值可以在{0,1…2Ki-1}之間。這樣,預(yù)定參數(shù)包括每一維搜索關(guān)鍵字的總長度和每一維搜索的比特數(shù)量。例如,如果在某一維上的搜索關(guān)鍵字最多有256個屬性(例如姓氏),搜索關(guān)鍵字的總長度有8比特。如果選擇這些比特用于實例1進(jìn)行一次搜索,在該維方向上結(jié)構(gòu)的深度為8/1=8。通過恰當(dāng)?shù)剡x取每一維上的搜索比特數(shù)量,可以將例如所有維上的深度設(shè)成相等。
因此,根據(jù)本發(fā)明,搜索比特的數(shù)量在每一維上可以不同,這樣,每一維也可以單獨控制所需的存儲空間。
圖4示出了根據(jù)本發(fā)明的存儲器目錄結(jié)構(gòu)中所使用的內(nèi)部節(jié)點V10的例子,該例使用了三維搜索關(guān)鍵字。在第一維方向上(x),內(nèi)部節(jié)點有22=4個元素,在第二維方向上(y),內(nèi)部節(jié)點有21=2個元素,在第三維方向上(z),內(nèi)部節(jié)點有23=8個元素,總共給出了26=64個元素,編號為0…63。
因為實際硬件實現(xiàn)的存儲器空間(例如計算機(jī)設(shè)備)是單維的,在地址運(yùn)算操作中(也就是說,在搜索樹中處理時),多維數(shù)組被線性化,也就是說轉(zhuǎn)換成單維的。線性化是一個可以在各種不同大小數(shù)組上執(zhí)行的算法操作。
在線性化過程中,數(shù)組中的元素從0(如圖4所示)開始排序,最后一個元素的編號比所有維大小小一。元素的編號是每一個坐標(biāo)的乘積(例如在三維情況下,x,y和z坐標(biāo))加上它所處維中的編號。計算出的這個編號直接用于單維數(shù)組的索引。
在圖4所示的內(nèi)部節(jié)點的情況下,元素編號VAn根據(jù)上述公式進(jìn)行計算,VAn=x+y×4+z×4×2 (2)其中x∈{0,1,2,3},y∈{0,1},z∈{0,1,2,3,4,5,6,7}。這樣,例如對元素54來說,我們從坐標(biāo){2,1,6}中獲取該值2+1×4+6×4×2=2+4+48=54。
當(dāng)對n維檢索結(jié)構(gòu)內(nèi)部節(jié)點的(n維)元素數(shù)組進(jìn)行線性化時,根據(jù)以上描述,每一維的大小是2Ki,其中ki是在所述維上一次需要搜索的比特數(shù)量。如果根據(jù)該維的坐標(biāo)由參數(shù)aj表示,(j∈{0,1,2,…n}),線性化可以以下述方法給出 可以根據(jù)公式(3)相乘進(jìn)行線性化;但是通過從搜索關(guān)鍵字比特中組成一個比特串更為有利,對應(yīng)數(shù)字指示的元素的內(nèi)容使搜索可以在目錄樹中繼續(xù)。相繼設(shè)置從每一維搜索關(guān)鍵字中抽取的比特組成比特串,并且這樣獲取的最終比特串作為二進(jìn)制數(shù)字來解釋。其結(jié)果與公式(3)相同。
圖5示出了通過相乘進(jìn)行線性化和通過比特串格式連接圖4中示出的內(nèi)部節(jié)點的線性化方式。如上所述,在每一維中解釋的搜索關(guān)鍵字比特的數(shù)量可以按以下方式選取k1=2,k2=1,k3=3。每一維方向上的搜索關(guān)鍵字如下a1=1001,a2=10,a3=110001。在格式化比特串過程中,第一維(在第一維方向上開始對元素的編號,從零開始)中搜索關(guān)鍵字a1的兩位最左比特(10)首先被抽取,作為需要組成的比特串中最無關(guān)緊要的比特。這由線51標(biāo)出。其次,從第二維的搜索關(guān)鍵字中抽取最左比特(線52),該比特后綴在需要組成的比特串中最重要的比特(左邊)旁。最后,從第三維的搜索關(guān)鍵字中抽取三個最左比特(110,線53),這些比特作為最左比特插入到比特串中。結(jié)果比特串(110110)作為二進(jìn)制數(shù)字解釋,可以獲取元素54。根據(jù)公式(3)的乘法,也可以獲取相同元素,但是在那種情況下,被選的搜索關(guān)鍵字比特首先解釋成二進(jìn)制數(shù)字,公式(3)的系數(shù)由通過圖5所示方式獲取的數(shù)字形成。在元素54所含指針的基礎(chǔ)上,可以獲取下一個內(nèi)部節(jié)點,對未用過的搜索關(guān)鍵字比特重復(fù)相同的操作。(在例示性示例中,從該內(nèi)部節(jié)點中選取元素9=(001001)2)。該內(nèi)部節(jié)點的每一個元素可以進(jìn)一步指向另一個內(nèi)部節(jié)點(如元素3指向內(nèi)部節(jié)點V11)或指向包含記錄的葉節(jié)點(如元素43指向記錄R)。其他情況下,元素未被使用(空)。
通過比特串格式化,乘法操作可以轉(zhuǎn)換成加法操作和比特移位(或加法操作和比特相關(guān)OR操作)。在數(shù)字2Ki上的互乘操作被替換成在成分ki上的加法操作。通過比特串格式化,剩余的坐標(biāo)ai乘2的冪可以轉(zhuǎn)換成一個比特移位操作(乘以2k對應(yīng)于向左移位k比特)。因為乘法總是占用至少13個時鐘周期(例如,使用Intel i486處理器),而當(dāng)操作數(shù)存儲在處理器寄存器中時,比特移位可以在三個時鐘周期中執(zhí)行完畢,當(dāng)操作數(shù)存儲需要在處理器高速緩存中查找時,比特移位可以在四個時鐘周期中執(zhí)行完畢,甚至在操作數(shù)需要在存儲器中檢索時,也只用十個時鐘周期。另外,另一方面,如果操作數(shù)在寄存器中,則僅占用一個時鐘周期,否則2-3或8-9時鐘周期,這取決于該操作數(shù)是否需要在處理器高速緩存中查尋。
通過上述方法形成比特串,其優(yōu)點在于,它是有序的(換句話說,記錄按照它們搜索關(guān)鍵字值的結(jié)構(gòu)組織)。這是因為每次從搜索關(guān)鍵字抽取ki個最重要(最左)比特。然而,原則上,從搜索關(guān)鍵字中抽取ki個最無關(guān)緊要(最右)比特,以形成比特串也是可能的。
也可以通過不同于上述的順序處理該維來形成比特串,但是在上述方法中,從左邊增加需要形成的比特串最為簡單,因為在這種情況下不需知道比特串中需要為每一維的比特分配多少位。
根據(jù)公式(3)的乘法可以用于線性化(也就是說,計算元素數(shù)組索引),而與每一維的大小無關(guān)。另一方面,比特串格式化僅用于內(nèi)部節(jié)點大小(元素數(shù)量)在每一維方向上都是2的冪的情況。因為根據(jù)本發(fā)明的目錄的內(nèi)部節(jié)點滿足這個要求,在根據(jù)本發(fā)明的檢索和存儲方法中應(yīng)用比特串格式化方法是優(yōu)選的,它比根據(jù)公式(3)的乘法更有效(快速)。它的快速是因為比特串格式化將乘法轉(zhuǎn)換成更易于執(zhí)行的加法和比特移位。
以上提出的一種目錄結(jié)構(gòu)可以有所變化,例如在該結(jié)構(gòu)中的葉節(jié)點包括多于一個關(guān)鍵字-指針對。其不同點在于葉節(jié)點中比較多個搜索關(guān)鍵字,而不是僅比較一個。
除了指針,葉節(jié)點中的記錄可以包括(除必不可少的搜索關(guān)鍵字之外)實際數(shù)據(jù)。在這種實施例中,檢索結(jié)構(gòu)可以作為一種相關(guān)聯(lián)存儲器。
原則上,存儲維護(hù)包括三種不同操作檢索,增加(存儲)和刪除。當(dāng)向?qū)嶋H數(shù)據(jù)增加一個記錄(例如,電話交換機(jī)上的用戶數(shù)據(jù))時,增加操作或者作用在一個葉節(jié)點上,或者作用在存儲器中其它地方。在后一種情況中,葉節(jié)點中存儲一個指針,該指針指向數(shù)據(jù)記錄所在的存儲地址。
因此搜索以下述方式進(jìn)行從對應(yīng)于每一維的搜索關(guān)鍵字中選擇預(yù)定數(shù)量(Ki)的比特,按上述方式形成搜索關(guān)鍵詞,基于該搜索關(guān)鍵詞,可以找到根層次上的內(nèi)部節(jié)點的元素數(shù)組索引。對應(yīng)于該索引的元素將指明下一個節(jié)點的地址,因而可以進(jìn)行訪問。在下一個節(jié)點中,從對應(yīng)于每一維的搜索關(guān)鍵字未被選中的比特中,選出預(yù)定數(shù)量的比特(ki)形成搜索關(guān)鍵詞,用以尋找內(nèi)部節(jié)點元素。搜索關(guān)鍵字比特的選取一直進(jìn)行到該搜索關(guān)鍵字的所有比特都被選取,或者下一個低層次節(jié)點的地址是一個葉節(jié)點的地址,然后,或者(a)從該葉節(jié)點中讀取指針,從該指針?biāo)甘镜膯卧x取記錄,或者(b)從該葉節(jié)點中讀取一個或多個包含的記錄。如果在目錄結(jié)構(gòu)中遇到一個空元素,搜索不成功終止(換句話說,在存儲器中沒有與關(guān)鍵字相關(guān)的數(shù)據(jù))。
因此,根據(jù)本發(fā)明,從對應(yīng)于每一維的搜索關(guān)鍵字未被選中的比特中,選出預(yù)定數(shù)量的比特(ki)。在每一維中,選出的比特數(shù)量獨立于其它維中所選取的比特數(shù)量,在同一維中,選擇的比特數(shù)量保持不變。
當(dāng)插入數(shù)據(jù)時,基于搜索關(guān)鍵字,在目錄結(jié)構(gòu)中以類似方式進(jìn)行搜索,直到遇到一個空元素或者直到低層次的新節(jié)點的地址是一個葉節(jié)點的地址。
在前一種情況下,創(chuàng)建一個葉節(jié)點,空元素被設(shè)置成指向這個葉節(jié)點。然后,數(shù)據(jù)或者直接插入到葉節(jié)點,或者放置在存儲器某處;在第二種情況下,在葉節(jié)點中存儲一個指針,該指針指向增加的記錄所在的存儲單元。
在后一種情況下,葉節(jié)點已經(jīng)存在,處理取決于該葉節(jié)點是否包含插入的空間(換句話說,處理取決于葉節(jié)點的大小)。如果,例如僅有一個記錄適合插入到葉節(jié)點(或者葉節(jié)點滿),目錄結(jié)構(gòu)的深度將增加。在這種情況下,發(fā)生沖突的元素被設(shè)置指向一個新節(jié)點,其中元素數(shù)組索引根據(jù)關(guān)鍵字計算。如果索引仍然相等,重復(fù)進(jìn)行增加新節(jié)點操作。這樣,重復(fù)增加新節(jié)點直至索引不相等。通過識別搜索關(guān)鍵字,在最壞情況下,搜索關(guān)鍵字的所有比特都已經(jīng)用到,也就是說,該結(jié)構(gòu)的深度已達(dá)到最大值,完成增加新節(jié)點。如果一個指針存儲在溢出元素中,它將再次指向存儲實際數(shù)據(jù)記錄的存儲地址。僅在目錄結(jié)構(gòu)的葉節(jié)點中可能出現(xiàn)溢出。
刪除數(shù)據(jù)通過一種所眾所周知的基于搜索關(guān)鍵字的查找方式進(jìn)行,如上所述,包含某個指針和記錄的節(jié)點將被刪除。如果可能,該節(jié)點將被釋放以保證所占用的存儲空間始終保持最小。例如,在節(jié)點含有一個指向葉節(jié)點的指針,和節(jié)點不含指向節(jié)點的指針時,釋放是可能的。
在每一種特定情況下選擇的沖突防止策略通常不僅對插入操作有影響,而且對檢索和刪除操作如何進(jìn)行有影響。這樣,甚至在它們都采納本發(fā)明的地址計算方法時,實現(xiàn)這些操作的細(xì)節(jié)仍可能不同。因為,這樣的變化已與實際的發(fā)明思路無關(guān),并且這種變化所采用的形式是本領(lǐng)域技術(shù)人員所熟知的,本文中不再對它進(jìn)一步解釋。
圖6在框圖層次上示出了根據(jù)本發(fā)明的一種存儲器。每一維有一個專用的寄存器,因此有n個輸入寄存器。每一維的搜索關(guān)鍵字存儲在這些輸入寄存器中,每一個關(guān)鍵字都存儲在它自己的寄存器中。輸入寄存器連接寄存器TR,在TR中形成上述的關(guān)鍵詞。寄存器TR通過加法器61連接到存儲器MEM的地址輸入。存儲器輸出則連接地址寄存器AR,地址寄存器AR的輸出相應(yīng)連接到加法器61。最初,從每一個寄存器中選取的比特以正確的順序讀入到通用寄存器TR。第一個內(nèi)部節(jié)點的初始地址存儲在地址寄存器AR內(nèi),從寄存器TR獲取的偏移地址加入到加法器61中的初始地址中。結(jié)果地址提供給存儲器MEM的地址輸入,存儲器的數(shù)據(jù)輸出提供了下一個內(nèi)部節(jié)點的初始地址,該地址寫入到地址寄存器AR,覆蓋前一個存儲的地址。然后,下一次選出的比特又以正確的順序從輸入寄存器裝入通用寄存器TR,獲取的數(shù)組地址加入到從地址寄存器AR中獲取的相關(guān)數(shù)組(也就是說,內(nèi)部節(jié)點)的初始地址中。該地址提供給存儲器MEM的地址輸入,存儲器的數(shù)據(jù)輸出隨后提供下一個內(nèi)部節(jié)點的初始地址。重復(fù)上述過程直到獲取所需的節(jié)點和記錄,或者讀到了所需的寄存器。
因為本發(fā)明的處理是通過上述比特操作,通過一次從每一維的搜索關(guān)鍵字中選擇給定數(shù)量比特,所以本發(fā)明的快速性能受硬件配置選擇的影響。可以通過將單處理器環(huán)境轉(zhuǎn)換到多處理器環(huán)境以加速地址計算,多處理器環(huán)境可以同時進(jìn)行多個并行處理。
以上存儲器的結(jié)構(gòu)的描述,是假定在典型實現(xiàn)的情況下給出的。然而,實際上首先從所有節(jié)點中創(chuàng)建一個葉節(jié)點,僅在第一個葉節(jié)點溢出之后,創(chuàng)建第一個內(nèi)部節(jié)點,上述的目錄結(jié)構(gòu)才開始成型。這樣,原則上,甚至可能在一個非常大的葉節(jié)點(永不會溢出)中實現(xiàn)上述類型的地址計算,該葉節(jié)點包括一個多維數(shù)組,該數(shù)組中每一個元素包含—如果該元素被使用—一個數(shù)據(jù)單元或一個指向數(shù)據(jù)單元的指針。因此,在這種情況下,每一維的搜索關(guān)鍵字中只有第一組ki比特被選出。如果通過這些比特查找的元素是空的,那么在該元素中或者存儲一個實際數(shù)據(jù)記錄,或者存儲一個指向存儲數(shù)據(jù)記錄的存儲地址的指針。如果沖突情況在存儲時發(fā)生了,可以通過眾所周知的方法加以解決。如果對存儲的數(shù)據(jù)進(jìn)行適當(dāng)?shù)姆植?,這樣一種單葉節(jié)點實際上是可行的。然而,相對于所公開的多維目錄結(jié)構(gòu)的基本實施例而言,其存儲空間利用效率較差。
上述額外的單葉節(jié)點實施例,在某種意義上,是一種可能的特定實施例,它也具有多維目錄結(jié)構(gòu),并且如前所述(只用仍存在未搜索的比特),地址運(yùn)算也在葉節(jié)點繼續(xù)。在這種情況下,一個葉節(jié)點的結(jié)構(gòu)類似于一個內(nèi)部節(jié)點。盡管以上參照實施例,根據(jù)相關(guān)圖片對本發(fā)明進(jìn)行解釋,但顯然不是非常嚴(yán)格的,在上面所公開的和后附權(quán)利要求書的發(fā)明思路范圍內(nèi)可以有所改動。
權(quán)利要求
1.一種在存儲器中存儲由搜索關(guān)鍵字標(biāo)識的數(shù)據(jù)的方法,數(shù)據(jù)作為數(shù)據(jù)單元存儲在為每一個數(shù)據(jù)單元分配的專用存儲空間內(nèi),其中基于需要存儲的數(shù)據(jù)單元的相關(guān)的搜索關(guān)鍵字,在一個目錄結(jié)構(gòu)中進(jìn)行存儲,該目錄結(jié)構(gòu)包括一個具有不同層次節(jié)點的樹形層次結(jié)構(gòu),其中單個節(jié)點可以是-一個內(nèi)部節(jié)點,包括一個多維數(shù)組,其中單個元素可以包含樹形層次結(jié)構(gòu)的低層次節(jié)點的地址,和其中單個元素可以是空的,或-一個葉節(jié)點,包括至少一個指向存儲數(shù)據(jù)單元的指針,其特征在于以下步驟(a)從對應(yīng)于每一維的搜索關(guān)鍵字中選擇預(yù)定特定維數(shù)(ki)的比特并形成搜索字,基于該搜索字,從樹形層次結(jié)構(gòu)的根層次上的內(nèi)部節(jié)點搜索下一個節(jié)點的地址,并進(jìn)行到所述的節(jié)點,(b)從對應(yīng)于每一維的搜索關(guān)鍵字未被選中的比特中,選出預(yù)定特定維數(shù)(ki)比特并形成搜索字,基于該搜索字,從該已訪問節(jié)點的數(shù)組搜索低層次上進(jìn)一步的新節(jié)點的地址,(c)重復(fù)步驟(b)直到遇到一個空元素或直到低層次新節(jié)點的地址是一個葉節(jié)點的地址,(d)在葉節(jié)點中存儲一個指針,該指針指向所述數(shù)據(jù)單元的存儲單元。
2.權(quán)利要求1中的方法,其特征在于如果需要,執(zhí)行存儲的新的葉節(jié)點在步驟(c)后以一種眾所周知的方式創(chuàng)建。
3.權(quán)利要求1中的方法,其特征在于所述特定維數(shù)(ki)以下述方式選出該結(jié)構(gòu)在所有維的方向上具有相同深度,因而在所有方向上部分關(guān)鍵字檢索具有同樣效果。
4.權(quán)利要求1中的方法,其特征在于所述特定維數(shù)(ki)以下述方式選出該結(jié)構(gòu)在給定維的方向上具有較大的深度,因而在該方向上部分關(guān)鍵字檢索具有同樣效果。
5.權(quán)利要求1中的方法,其特征在于搜索字由從每一維的搜索關(guān)鍵字中相繼選出的比特組成,將獲取的比特串解釋成指示內(nèi)部節(jié)點數(shù)組的數(shù)字,從該內(nèi)部節(jié)點的元素繼續(xù)搜索低層次節(jié)點的地址。
6.一種在存儲器中存儲由搜索關(guān)鍵字標(biāo)識的數(shù)據(jù)的方法,數(shù)據(jù)作為數(shù)據(jù)單元存儲在為每一個數(shù)據(jù)單元分配的專用存儲空間內(nèi),其中基于需要存儲的數(shù)據(jù)單元的相關(guān)的搜索關(guān)鍵字,在一個目錄結(jié)構(gòu)中進(jìn)行存儲,該目錄結(jié)構(gòu)包括一個具有不同層次節(jié)點的樹形層次結(jié)構(gòu),其中單個節(jié)點可以是-一個內(nèi)部節(jié)點,包括一個多維數(shù)組,其中單個元素可以包含樹形層次結(jié)構(gòu)的低層次節(jié)點的地址,和其中單個元素可以是空的,或-一個葉節(jié)點,其中至少存儲一個數(shù)據(jù)單元,其特征在于以下步驟(a)從對應(yīng)于每一維的搜索關(guān)鍵字中選擇預(yù)定特定維數(shù)(ki)的比特并形成搜索字,基于該搜索字,從樹形分級結(jié)構(gòu)的根層次上的內(nèi)部節(jié)點搜索下一個節(jié)點的地址,并進(jìn)行到所述的節(jié)點,(b)從對應(yīng)于每一維的搜索關(guān)鍵字未被選中的比特中,選出預(yù)定特定維數(shù)的(ki)比特并形成搜索字,基于該搜索字,從該已訪問節(jié)點的數(shù)組開始搜索低層次上進(jìn)一步的新節(jié)點的地址,(c)重復(fù)步驟(b)直到遇到一個空元素或直到低層次新節(jié)點的地址是一個葉節(jié)點的地址,(d)在葉節(jié)點中存儲所述數(shù)據(jù)單元。
7.權(quán)利要求6中的方法,其特征在于如果需要,執(zhí)行存儲的新的葉節(jié)點在步驟(c)后以一種眾所周知的方式創(chuàng)建。
8.權(quán)利要求6中的方法,其特征在于所述特定維數(shù)(Ki)以下述方式選出該結(jié)構(gòu)在所有維的方向上具有相同深度,因而在所有方向上部分關(guān)鍵字檢索具有同樣效果。
9.權(quán)利要求6中的方法,其特征在于所述特定維數(shù)(ki)以下述方式選出該結(jié)構(gòu)在給定維的方向上具有較大的深度,因而在該方向上部分關(guān)鍵字檢索具有同樣效果。
10.權(quán)利要求6中的方法,其特征在于搜索字由從每一維的搜索關(guān)鍵字中相繼選出的比特組成,將獲取的比特串解釋成指示內(nèi)部節(jié)點數(shù)組的數(shù)字,從該內(nèi)部節(jié)點的元素繼續(xù)搜索低層次節(jié)點的地址。
11.一種在存儲器中檢索由搜索關(guān)鍵字標(biāo)識的數(shù)據(jù)的方法,數(shù)據(jù)作為數(shù)據(jù)單元存儲在為每一個數(shù)據(jù)單元分配的專用存儲空間內(nèi),其中基于搜索關(guān)鍵字,在一個目錄結(jié)構(gòu)中進(jìn)行檢索,該目錄結(jié)構(gòu)包括一個具有不同層次節(jié)點的樹形層次結(jié)構(gòu),其中單個節(jié)點可以是-一個內(nèi)部節(jié)點,包括一個多維數(shù)組,其中單個元素可以包含樹形層次結(jié)構(gòu)的低層次節(jié)點的地址,和其中單個元素可以是空的,或-一個葉節(jié)點,包括至少一個指向存儲數(shù)據(jù)單元的指針,其特征在于以下步驟(a)從對應(yīng)于每一維的搜索關(guān)鍵字中選擇預(yù)定特定數(shù)(ki)的比特并形成搜索字,基于該搜索字,從樹形層次結(jié)構(gòu)的根層次上的內(nèi)部節(jié)點搜索下一個節(jié)點的地址,并進(jìn)行到所述的節(jié)點,(b)從對應(yīng)于每一維的搜索關(guān)鍵字未被選中的比特中,選出預(yù)定特定維數(shù)(Ki)比特并形成搜索字,基于該搜索字,從該已訪問節(jié)點的數(shù)組開始搜索低層次上進(jìn)一步的新節(jié)點的地址,(c)重復(fù)步驟(b)直到遇到一個空元素或直至低層次新節(jié)點的地址是一個葉節(jié)點的地址,或直至已經(jīng)選出搜索關(guān)鍵字的所有比特;以及如果在步驟(c)中沒有碰到一個空元素,(d)從葉節(jié)點讀出包含的指針,從該指針?biāo)赶虻膯卧凶x取數(shù)據(jù)單元。
12.權(quán)利要求11中的方法,其特征在于所述特定維數(shù)(ki)以下述方式選出該結(jié)構(gòu)在所有維的方向上具有相同深度,因而在所有方向上部分關(guān)鍵字檢索具有同樣效果。
13.權(quán)利要求11中的方法,其特征在于所述特定維數(shù)(Ki)以下述方式選出該結(jié)構(gòu)在給定維的方向上具有較大的深度,因而在該方向上部分關(guān)鍵字檢索具有同樣效果。
14.權(quán)利要求11中的方法,其特征在于搜索字由從每一維的搜索關(guān)鍵字中相繼選出的比特組成,將獲取的比特串解釋成指示內(nèi)部節(jié)點數(shù)組的數(shù)字,從該內(nèi)部節(jié)點的元素繼續(xù)搜索低層次節(jié)點的地址。
15.一種在存儲器中檢索由搜索關(guān)鍵字標(biāo)識的數(shù)據(jù)的方法,數(shù)據(jù)作為數(shù)據(jù)單元存儲在為每一個數(shù)據(jù)單元分配的專用存儲空間內(nèi),其中基于搜索關(guān)鍵字,在一個目錄結(jié)構(gòu)中進(jìn)行檢索,該目錄結(jié)構(gòu)包括一個具有不同層次節(jié)點的樹形層次結(jié)構(gòu),其中單個節(jié)點可以是-一個內(nèi)部節(jié)點,包括一個多維數(shù)組,其中單個元素可以包含樹形層次結(jié)構(gòu)的低層次節(jié)點的地址,和其中單個元素可以是空的,或-一個葉節(jié)點,其中至少存儲一個數(shù)據(jù)單元,其特征在于以下步驟(a)從對應(yīng)于每一維的搜索關(guān)鍵字中選擇預(yù)定特定維數(shù)(ki)的比特并形成搜索字,基于該搜索字,從樹形層次結(jié)構(gòu)的根層次上的內(nèi)部節(jié)點搜索下一個節(jié)點的地址,并進(jìn)行到所述的節(jié)點,(b)從對應(yīng)于每一維的搜索關(guān)鍵字未被選中的比特中,選出預(yù)定特定維數(shù)(ki)比特并形成搜索字,基于該搜索字,從該已訪問節(jié)點的數(shù)組開始搜索低層次上進(jìn)一步的新節(jié)點的地址,(c)重復(fù)步驟(b)直到遇到一個空元素或直至低層次新節(jié)點的地址是一個葉節(jié)點的地址,或直至還經(jīng)選出搜索關(guān)鍵字的所有比特;以及如果在步驟(c)中沒有碰到一個空元素,(d)從葉節(jié)點讀出一個或多個數(shù)據(jù)單元。
16.權(quán)利要求15中的方法,其特征在于所述特定維數(shù)(ki)以下述方式選出該結(jié)構(gòu)在所有方向上具有相同深度,因而在所有方向上部分關(guān)鍵字檢索具有同樣效果。
17.權(quán)利要求15中的方法,其特征在于所述特定維數(shù)(Ki)以下述方式選出該結(jié)構(gòu)在給定維方向上具有較大的深度,因而在該方向上部分關(guān)鍵字檢索具有同樣效果。
18.一種在存儲器中存儲由搜索關(guān)鍵字標(biāo)識的數(shù)據(jù)的方法,數(shù)據(jù)作為數(shù)據(jù)單元存儲在為每一個數(shù)據(jù)單元分配的專用存儲空間內(nèi),其中基于需要存儲的數(shù)據(jù)單元的相關(guān)的搜索關(guān)鍵字,在一個目錄結(jié)構(gòu)中進(jìn)行存儲,該目錄結(jié)構(gòu)具有一個包括多維數(shù)組的節(jié)點,該多維數(shù)組的單個元素可以包含指向數(shù)據(jù)單元的指針,或該多維數(shù)組的單個元素也可以是空的,其特征在于從對應(yīng)于每一維的搜索關(guān)鍵字中選擇預(yù)定特定維數(shù)(ki)的比特并形成搜索字,基于該搜索字,在該節(jié)點的數(shù)組中搜索一個元素,如果所述元素是空的,在該元素中存儲一個指針,該指針指向所述元素的存儲地址。
19.權(quán)利要求18中的方法,其特征在于搜索字由從每一維的搜索關(guān)鍵字中相繼選出的比特組成,將獲取的比特串解釋成指示所述元素的數(shù)字。
20.一種在存儲器中存儲由搜索關(guān)鍵字標(biāo)識的數(shù)據(jù)的方法,數(shù)據(jù)作為數(shù)據(jù)單元存儲在為每一個數(shù)據(jù)單元分配的專用存儲空間內(nèi),其中基于需要存儲的數(shù)據(jù)單元的相關(guān)的搜索關(guān)鍵字,在一個目錄結(jié)構(gòu)中進(jìn)行存儲,該目錄結(jié)構(gòu)具有一個包括多維數(shù)組的節(jié)點,該多維數(shù)組的單個元素可以包含一個數(shù)據(jù)單元,或該多維數(shù)組的單個元素也可以是空的,其特征在于從對應(yīng)于每一維的搜索關(guān)鍵字中選擇預(yù)定特定維數(shù)(ki)的比特并形成搜索字,基于該搜索字,在該節(jié)點的數(shù)組中搜索一個元素,如果所述元素是空的,在所述元素中存儲該數(shù)據(jù)單元。
21.權(quán)利要求20中的方法,其特征在于搜索字由從每一維的搜索關(guān)鍵字中相繼選出的比特組成,將獲取的比特串解釋成指示所述元素的數(shù)字。
22.一種在存儲器中檢索由搜索關(guān)鍵字標(biāo)識的數(shù)據(jù)的方法,數(shù)據(jù)作為數(shù)據(jù)單元存儲在為每一個數(shù)據(jù)單元分配的專用存儲空間內(nèi),其中基于需要存儲的數(shù)據(jù)單元的相關(guān)的搜索關(guān)鍵字,在一個目錄結(jié)構(gòu)中進(jìn)行檢索,該目錄結(jié)構(gòu)具有一個包括多維數(shù)組的節(jié)點,該多維數(shù)組的單個元素可以包含指向所述數(shù)據(jù)單元的指針,或該多維數(shù)組的單個元素也可以是空的,其特征在于從對應(yīng)于每一維的搜索關(guān)鍵字中選擇預(yù)定特定維數(shù)(ki)的比特并形成搜索字,基于該搜索字,在該節(jié)點的數(shù)組中搜索一個元素,如果所述元素是空的,在所述元素中存儲一個指針,該指針指向數(shù)據(jù)單元的存儲地址。
23.權(quán)利要求22中的方法,其特征在于搜索字由從每一維的搜索關(guān)鍵字中相繼選出的比特組成,將獲取的比特串解釋成指示所述元素的數(shù)字。
24.一種在存儲器中檢索由搜索關(guān)鍵字標(biāo)識的數(shù)據(jù)的方法,數(shù)據(jù)作為數(shù)據(jù)單元存儲在為每一個數(shù)據(jù)單元分配的專用存儲空間內(nèi),其中基于需要存儲的數(shù)據(jù)單元的相關(guān)的搜索關(guān)鍵字,在一個目錄結(jié)構(gòu)中進(jìn)行存儲,該目錄結(jié)構(gòu)具有一個包括多維數(shù)組的節(jié)點,其中單個元素可以包含一個數(shù)據(jù)單元,或單個元素也可以是空的,其特征在于從對應(yīng)于每一維的搜索關(guān)鍵字中選擇預(yù)定特定維數(shù)(ki)的比特并形成搜索字,基于該搜索字,在該節(jié)點的數(shù)組中搜索一個元素,如果所述元素是空的,在所述元素中存儲該數(shù)據(jù)單元。
25.一種以電氣形式存儲數(shù)據(jù)的相關(guān)聯(lián)存儲器配置,數(shù)據(jù)作為數(shù)據(jù)單元存儲在存儲器中為每一個數(shù)據(jù)單元分配的專用存儲空間內(nèi),存儲器配置包括一個目錄結(jié)構(gòu),該目錄結(jié)構(gòu)是一個多維數(shù)字檢索結(jié)構(gòu),包括一個具有不同層次節(jié)點的樹形層次結(jié)構(gòu),其中一個節(jié)點可以是-一個內(nèi)部節(jié)點,包括一個多維數(shù)組,其中單個非空元素包含一個指針(31)引導(dǎo)在目錄結(jié)構(gòu)中的處理,或-一個葉節(jié)點,包括一個或多個指向存儲器中存儲數(shù)據(jù)單元的指針,每一個需要在存儲器中存儲的數(shù)據(jù)單元與一個多維搜索關(guān)鍵字相關(guān)聯(lián),該搜索關(guān)鍵字包括每一維上的一個搜索關(guān)鍵字,在此基礎(chǔ)上,在目錄結(jié)構(gòu)上進(jìn)行關(guān)鍵字處理,在每一種情況下,目錄結(jié)構(gòu)返回與所用的多維搜索關(guān)鍵字相關(guān)聯(lián)的數(shù)據(jù)單元,其特征在于,通過在獨立于其它維的每一維中,預(yù)定需要搜索的搜索關(guān)鍵字比特的數(shù)量ki,固定該目錄結(jié)構(gòu)中單個多維內(nèi)部節(jié)點的數(shù)量,每一維上內(nèi)部節(jié)點的數(shù)量是2ki。
26.一種以電氣形式存儲數(shù)據(jù)的相關(guān)聯(lián)存儲器配置,在存儲器中,數(shù)據(jù)作為數(shù)據(jù)單元存儲為每一個數(shù)據(jù)單元分配的專用存儲空間內(nèi),存儲器配置包括一個目錄結(jié)構(gòu),該目錄結(jié)構(gòu)是一個多維數(shù)字檢索結(jié)構(gòu),包括一個具有不同層次節(jié)點的樹形層次結(jié)構(gòu),其中一個節(jié)點可以是-一個內(nèi)部節(jié)點,包括一個多維數(shù)組,其中單個非空元素包含一個指針(31),引導(dǎo)在目錄結(jié)構(gòu)中的處理,或-一個葉節(jié)點,至少包含一個數(shù)據(jù)單元,每一個需要在存儲器中存儲的數(shù)據(jù)單元與一個多維搜索關(guān)鍵字相關(guān)聯(lián),該搜索關(guān)鍵字包括每一維上的一個搜索關(guān)鍵字,在此基礎(chǔ)上在目錄結(jié)構(gòu)上進(jìn)行關(guān)鍵字處理,在每一種情況下,目錄結(jié)構(gòu)返回與所用的多維搜索關(guān)鍵字相關(guān)聯(lián)的數(shù)據(jù)單元,其特征在于,通過在獨立于其它維的每一維中,預(yù)定需要搜索的搜索關(guān)鍵字比特的數(shù)量ki,固定該目錄結(jié)構(gòu)中單個多維內(nèi)部節(jié)點的數(shù)量,每一維上內(nèi)部節(jié)點的數(shù)量是2Ki。
全文摘要
本發(fā)明涉及一種存儲和檢索方法以及一種存儲器配置。通過在具有不同層次節(jié)點的目錄結(jié)構(gòu)上進(jìn)行關(guān)鍵字搜索來執(zhí)行存儲。單個節(jié)點可以是(i)一個包括多維數(shù)組的內(nèi)部節(jié)點,或者(ii)一個包含數(shù)據(jù)單元或數(shù)據(jù)存儲單元的指針的葉節(jié)點。為了最小化所需的存儲空間,存儲通過下述方式實現(xiàn)(a)選擇預(yù)定數(shù)量(k
文檔編號H04Q3/545GK1152365SQ95194055
公開日1997年6月18日 申請日期1995年6月5日 優(yōu)先權(quán)日1994年6月6日
發(fā)明者馬蒂·迪卡南 申請人:諾基亞電信公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
赤水市| 达孜县| 南丰县| 新平| 蛟河市| 濮阳县| 枝江市| 黔西县| 大荔县| 乐至县| 广元市| 休宁县| 沂水县| 资溪县| 天峻县| 河南省| 襄城县| 阳山县| 根河市| 工布江达县| 云和县| 宣汉县| 高清| 斗六市| 抚宁县| 教育| 东方市| 长寿区| 明光市| 浠水县| 灵武市| 梅河口市| 通化县| 徐汇区| 巴塘县| 墨脱县| 佳木斯市| 沅江市| 罗山县| 江陵县| 东至县|