專(zhuān)利名稱::用于在數(shù)據(jù)結(jié)構(gòu)層級(jí)中定位資源的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及資源的多個(gè)實(shí)例(instance)的存儲(chǔ)。更具體地,本發(fā)明關(guān)于消除對(duì)數(shù)據(jù)結(jié)構(gòu)中的數(shù)據(jù)的多余實(shí)例的存儲(chǔ)。
背景技術(shù):
:存儲(chǔ)設(shè)備是用于記錄數(shù)據(jù)的設(shè)備。計(jì)算機(jī)數(shù)據(jù)存儲(chǔ)利用一個(gè)或多個(gè)存儲(chǔ)設(shè)備來(lái)記錄數(shù)據(jù)。存儲(chǔ)設(shè)備可以包括磁盤(pán)(disk)、磁帶、磁盤(pán)陣列、磁帶陣列、快閃驅(qū)動(dòng)器等、以及任何其它可實(shí)現(xiàn)非易失性數(shù)據(jù)存儲(chǔ)的機(jī)制。在本領(lǐng)域中可以認(rèn)識(shí)到,存儲(chǔ)設(shè)備具有有限量的空間用于記錄數(shù)據(jù)。從而,對(duì)存儲(chǔ)設(shè)備的管理對(duì)于確保空間對(duì)計(jì)劃要被記錄在其上的數(shù)據(jù)的可用性來(lái)說(shuō)是關(guān)鍵的。在本領(lǐng)域中認(rèn)識(shí)到,軟件產(chǎn)品處理數(shù)字和整數(shù)形式的數(shù)據(jù)、以及資源,諸如字符串變量。在本領(lǐng)域中,將字符串變量認(rèn)作為一連串的字符。一些軟件產(chǎn)品包含同一資源的多個(gè)實(shí)例,包括在相關(guān)聯(lián)的程序的執(zhí)行期間、或在相關(guān)聯(lián)的程序執(zhí)行之后對(duì)用戶的文本或圖像顯示。每個(gè)字符串實(shí)例占用相關(guān)聯(lián)的存儲(chǔ)設(shè)備上的空間。因此,同一資源的多個(gè)拷貝提供了在存儲(chǔ)設(shè)備的有限空間中的數(shù)據(jù)的不必要的冗余。以類(lèi)似的方式,在本領(lǐng)域中已知將字符串和其它資源翻譯為不同的語(yǔ)言。這提供了程序的多功能性,這是因?yàn)槠涫沟貌煌瑖?guó)家中的用戶能夠利用同一程序。經(jīng)常采用翻譯記憶工具來(lái)減少與翻譯字符串相關(guān)聯(lián)的成本。然而,當(dāng)存在不相同的字符串的多個(gè)實(shí)例時(shí),翻譯記憶工具相異。字符串使用的差異與對(duì)相關(guān)聯(lián)的字符串的翻譯相混合。因此,存在對(duì)于減輕關(guān)于資源的多個(gè)拷貝的問(wèn)題的工具的需要。該工具處理對(duì)資源的存儲(chǔ)和訪問(wèn),并且提供了與資源使用相關(guān)聯(lián)的不一致引起的問(wèn)題的會(huì)聚。
發(fā)明內(nèi)容本發(fā)明包括用于在具有多維資源反饋算法的層級(jí)(諸如,用在面向?qū)ο蟮木幊讨械膶蛹?jí))中存儲(chǔ)并定位關(guān)于資源的數(shù)據(jù)的方法、系統(tǒng)和產(chǎn)品。在本發(fā)明的一個(gè)方面,提供了一種用于在數(shù)據(jù)結(jié)構(gòu)層級(jí)中定位資源的方法。將數(shù)據(jù)存儲(chǔ)在層級(jí)中,并且該層級(jí)是至少二維層級(jí),包括多個(gè)等級(jí),并且在每個(gè)類(lèi)等級(jí)(classlevel)中具有多個(gè)位置(locale)。在一個(gè)實(shí)施例(諸如面向?qū)ο蟮膶蛹?jí))中,所述等級(jí)可以采取類(lèi)等級(jí)的形式。為該資源提取等級(jí)信息和標(biāo)識(shí)符。隨后通過(guò)對(duì)該層級(jí)應(yīng)用所提取的確定的資源等級(jí)信息和標(biāo)識(shí)符來(lái)遍歷(traverse)該層級(jí),以在該層級(jí)中定位該資源的相應(yīng)數(shù)據(jù)項(xiàng)。響應(yīng)于該資源的等級(jí)和標(biāo)識(shí)符兩者與存儲(chǔ)在該層級(jí)中的數(shù)據(jù)項(xiàng)的匹配,從該層級(jí)返回該資源的數(shù)據(jù)匹配。在本發(fā)明的另一方面,提供具有與數(shù)據(jù)存儲(chǔ)器和分級(jí)存儲(chǔ)的數(shù)據(jù)通信的處理器單元的計(jì)算機(jī)系統(tǒng)。該層級(jí)是至少二維層級(jí),包括多個(gè)等級(jí),在每個(gè)類(lèi)等級(jí)中具有多個(gè)位置。提供資源管理器與該層級(jí)通信。資源管理器為資源提取標(biāo)識(shí)符和等級(jí)信息。另外,提供數(shù)據(jù)位置管理器與資源管理器通信。通過(guò)對(duì)該層級(jí)應(yīng)用所提取的資源等級(jí)信息和標(biāo)識(shí)符,數(shù)據(jù)位置管理器遍歷該層級(jí),以在該層級(jí)中定位該資源的相應(yīng)數(shù)據(jù)項(xiàng)。響應(yīng)于該資源的等級(jí)和標(biāo)識(shí)符兩者與存儲(chǔ)在該層級(jí)中的數(shù)據(jù)項(xiàng)的匹配,從該層級(jí)返回資源的數(shù)據(jù)匹配。在本發(fā)明的再一個(gè)方面,提供具有計(jì)算機(jī)可讀載體的產(chǎn)品,該計(jì)算機(jī)可讀載體包括配置為遍歷該層級(jí)的計(jì)算機(jī)程序指令。提供指令以在層級(jí)中定位數(shù)據(jù)。該層級(jí)是至少二維層級(jí),包括多個(gè)等級(jí),在每個(gè)等級(jí)中具有多個(gè)位置。還提供指令以提取資源的標(biāo)識(shí)符和等級(jí)信息,并且遍歷該層級(jí)。遍歷指令對(duì)該層級(jí)應(yīng)用所提取的資源等級(jí)信息和標(biāo)識(shí)符,以在該層級(jí)中定位該資源的相應(yīng)數(shù)據(jù)項(xiàng)。響應(yīng)于該資源的類(lèi)等級(jí)和標(biāo)識(shí)符兩者與存儲(chǔ)在該層級(jí)中的數(shù)據(jù)項(xiàng)的匹配,從該層級(jí)返回資源的數(shù)據(jù)匹配。根據(jù)下面結(jié)合附圖對(duì)本發(fā)明的當(dāng)前優(yōu)選實(shí)施例的詳細(xì)描述,本發(fā)明的其它特征和優(yōu)點(diǎn)將變得明顯。這里參照的附圖形成說(shuō)明書(shū)的一部分。附圖中所示的特征意味著僅對(duì)本發(fā)明的一些實(shí)施例的說(shuō)明、而并非對(duì)本發(fā)明的全部實(shí)施例的說(shuō)明,除非另外明確地表示。否則,不產(chǎn)生相反的暗示。圖1是用于存儲(chǔ)數(shù)據(jù)的現(xiàn)有技術(shù)對(duì)象層級(jí)的框圖。圖2是面向?qū)ο蟮膶蛹?jí)的形式的示例數(shù)據(jù)結(jié)構(gòu)的框圖,面向?qū)ο蟮膶蛹?jí)被構(gòu)造為符合(accommodate)英語(yǔ)與法語(yǔ)之間的字符串翻譯。圖3是說(shuō)明用于遍歷節(jié)點(diǎn)的二維層級(jí)結(jié)構(gòu)以顯示字符串的處理的流程圖。圖4是圖示根據(jù)本發(fā)明的優(yōu)選實(shí)施例、在計(jì)算機(jī)系統(tǒng)中布置管理器以便于識(shí)別并定位層級(jí)數(shù)據(jù)結(jié)構(gòu)中的資源的框圖,并且建議將圖4打印在所授權(quán)的專(zhuān)利的首頁(yè)上。具體實(shí)施例方式將容易理解,如這里在圖中一般描述和說(shuō)明的,可以以多種不同結(jié)構(gòu)來(lái)布置和設(shè)計(jì)本發(fā)明的組件。因此,如在圖中給出的,下面對(duì)本發(fā)明的裝置、系統(tǒng)和方法的實(shí)施例的詳細(xì)描述并非意在限制所主張的本發(fā)明的范圍,而僅僅代表本發(fā)明的所選擇的實(shí)施例。已經(jīng)將此說(shuō)明書(shū)中描述的功能單元標(biāo)注為管理器,包括資源管理器和數(shù)據(jù)位置管理器??梢砸灾T如現(xiàn)場(chǎng)可編程門(mén)陣列、可編程陣列邏輯、可編程邏輯器件等的可編程硬件設(shè)備來(lái)實(shí)現(xiàn)管理器。還可以以用于由各種類(lèi)型的處理器執(zhí)行的軟件來(lái)實(shí)現(xiàn)管理器。例如,可執(zhí)行代碼的被識(shí)別(identified)管理器可以包括計(jì)算機(jī)指令的一個(gè)或多個(gè)物理或邏輯塊,其例如可以被組織作為對(duì)象、進(jìn)程、函數(shù)(function)或其它構(gòu)造。然而,被識(shí)別的管理器的可執(zhí)行代碼(executables)不需要在物理上放置在一起,而是可以包括存儲(chǔ)在不同位置中的完全不同的指令,當(dāng)在邏輯上結(jié)合在一起時(shí),這些指令包括管理器,并且實(shí)現(xiàn)管理器的所聲明的目的。實(shí)際上,可執(zhí)行代碼的管理器可以是單個(gè)指令、或者多個(gè)指令,并且可以甚至分布在幾個(gè)不同的代碼段上、在不同的應(yīng)用之中、以及跨越幾個(gè)存儲(chǔ)設(shè)備。類(lèi)似地,這里在管理器內(nèi)可以識(shí)別和說(shuō)明操作(operational)數(shù)據(jù),并且可以將操作數(shù)據(jù)實(shí)現(xiàn)為任何合適的格式,并組織在任何合適類(lèi)型的數(shù)據(jù)結(jié)構(gòu)內(nèi)??梢詫⒉僮鲾?shù)據(jù)收集作為單個(gè)數(shù)據(jù)集,或者可以將操作數(shù)據(jù)分布在不同的位置(包括在不同的存儲(chǔ)設(shè)備上),并且所述操作數(shù)據(jù)可以(至少部分地)作為系統(tǒng)或網(wǎng)絡(luò)上的電子信號(hào)而存在。在此整個(gè)說(shuō)明書(shū)中對(duì)“選擇(select)實(shí)施例”、“一個(gè)實(shí)施例”或“實(shí)施例”的引用意味著結(jié)合該實(shí)施例而描述的特定特征、結(jié)構(gòu)或特性包括在本發(fā)明的至少一個(gè)實(shí)施例中。因此,出現(xiàn)在貫穿本說(shuō)明書(shū)的不同地方的短語(yǔ)“選擇實(shí)施例”、“在一個(gè)實(shí)施例中”或“在實(shí)施例中”不必是指同一實(shí)施例。此外,在一個(gè)或多個(gè)實(shí)施例中,可以以任何合適的方式結(jié)合所描述的特征、結(jié)構(gòu)或特性。在下面的描述中,提供許多具體細(xì)節(jié)(諸如通過(guò)應(yīng)用所提取的資源信息而遍歷數(shù)據(jù)結(jié)構(gòu)的示例)以提供對(duì)本發(fā)明的實(shí)施例的全面理解。然而,相關(guān)領(lǐng)域中的技術(shù)人員將認(rèn)識(shí)至IJ,在沒(méi)有所述具體細(xì)節(jié)中的一個(gè)或多個(gè)的情況下,或者利用其它方法、組件、材料等,也可以實(shí)踐本發(fā)明。在其它實(shí)例中,未詳細(xì)示出或描述眾所周知的結(jié)構(gòu)、材料或操作,以避免模糊本發(fā)明的各方面。參考附圖,本發(fā)明的所說(shuō)明的實(shí)施例將得到最佳理解,其中始終由相同的數(shù)字指定相同的部分。下面的描述僅意在舉例,并且簡(jiǎn)單地說(shuō)明與這里主張的本發(fā)明一致的設(shè)備、系統(tǒng)和處理的某些所選擇的實(shí)施例。鍵本發(fā)明的方法、裝置和產(chǎn)品提供了相對(duì)于現(xiàn)有技術(shù)的有價(jià)值的優(yōu)點(diǎn)。根據(jù)本發(fā)明,不存在存儲(chǔ)于數(shù)據(jù)結(jié)構(gòu)中的數(shù)據(jù)項(xiàng)的冗余。這提供了與從數(shù)據(jù)結(jié)構(gòu)查詢到的數(shù)據(jù)項(xiàng)相關(guān)聯(lián)的一致性。類(lèi)似地,采用一組規(guī)則在邏輯上遍歷數(shù)據(jù)結(jié)構(gòu)。當(dāng)遇到資源時(shí),從該資源提取等級(jí)和相關(guān)聯(lián)的標(biāo)識(shí)符。隨后利用規(guī)則而采用所提取的數(shù)據(jù),以在數(shù)據(jù)結(jié)構(gòu)中遍歷尋找相關(guān)聯(lián)的數(shù)據(jù)項(xiàng)。在一個(gè)實(shí)施例中,從資源提取本地信息,并且與所提取的類(lèi)等級(jí)(classlevel)和/或標(biāo)識(shí)符一起采用本地信息來(lái)遍歷數(shù)據(jù)結(jié)構(gòu)。技術(shù)細(xì)節(jié)在對(duì)實(shí)施例的下列描述中,參考形成其一部分的附圖,并且其通過(guò)說(shuō)明而示出可以實(shí)踐本發(fā)明的具體實(shí)施例。本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,“層級(jí)”是將類(lèi)(class)組織為層級(jí)或樹(shù)的計(jì)算機(jī)科學(xué)的“樹(shù)”概念的實(shí)施例。在概念上,可以將類(lèi)看作為樹(shù)中的節(jié)點(diǎn),并且將“類(lèi)等級(jí)”識(shí)別為樹(shù)內(nèi)的節(jié)點(diǎn)高度。要理解,可以利用其它實(shí)施例,因?yàn)樵诓幻撾x本發(fā)明的范圍的情況下,可以進(jìn)行結(jié)構(gòu)改變。采用數(shù)據(jù)結(jié)構(gòu)層級(jí)來(lái)組織數(shù)據(jù)的收集。圖1是用于存儲(chǔ)數(shù)據(jù)的現(xiàn)有技術(shù)層級(jí)的框圖(100)。如圖中所示,存在三個(gè)等級(jí)的層級(jí)。第一等級(jí)已知作為子級(jí)(110);第二等級(jí)已知作為父級(jí)(120);以及第三等級(jí)已知作為祖父級(jí)(130)。雖然這里僅示出層級(jí)的三個(gè)等級(jí),但是本發(fā)明不應(yīng)當(dāng)限于層級(jí)中的此等級(jí)數(shù)量。在一個(gè)實(shí)施例中,層級(jí)可以包括更大或更小數(shù)量的等級(jí)。這里示出的層級(jí)中的每個(gè)等級(jí)包括兩個(gè)節(jié)點(diǎn)。雖然在層級(jí)的每個(gè)等級(jí)中僅示出兩個(gè)節(jié)點(diǎn),但是本發(fā)明不應(yīng)當(dāng)限于此節(jié)點(diǎn)數(shù)量。在一個(gè)實(shí)施例中,層級(jí)中的一個(gè)或多個(gè)等級(jí)可以包括更少或更多數(shù)量的節(jié)點(diǎn)。如通過(guò)舉例而示出的,子級(jí)(Iio)具有節(jié)Atl(Node。)(112)和節(jié)點(diǎn)JNode1)(114);父級(jí)(120)具有節(jié)A2(Node2)(122)和節(jié)點(diǎn)3(Node3)(124);并且祖父級(jí)(130)具有節(jié)點(diǎn)4(Node4)(132)和節(jié)點(diǎn)5(Node5)(134)。因此,該層級(jí)包括多個(gè)層(tier),其中在層級(jí)的每個(gè)層中具有多個(gè)節(jié)點(diǎn)。在一個(gè)實(shí)施例中,層級(jí)中的數(shù)據(jù)可以是字符串的形式。為了說(shuō)明的目的,將關(guān)于兩種語(yǔ)言(英語(yǔ)和法語(yǔ))的字符串而描述這里所示的數(shù)據(jù)示例,其中,法語(yǔ)具有一些比利時(shí)法語(yǔ)的派生詞。然而,本發(fā)明不應(yīng)當(dāng)限于在兩種語(yǔ)言之間、或在這里描述的語(yǔ)言之間翻譯。在一個(gè)實(shí)施例中,可替換的語(yǔ)言可以代替這里描述語(yǔ)言,并且擴(kuò)展該層級(jí)以符合附加的語(yǔ)言。圖2是以被構(gòu)造為符合英語(yǔ)與法語(yǔ)之間的字符串翻譯的層級(jí)形式的示例數(shù)據(jù)結(jié)構(gòu)的框圖(200)。如所示的,在該層級(jí)中存在三個(gè)等級(jí)(還已知作為層)等級(jí)C1(Levelci)(210)、等級(jí)!(Level1)(220)以及等級(jí)2(Level2)(230)。每個(gè)等級(jí)包括兩個(gè)或三個(gè)節(jié)點(diǎn)。更具體地,子等級(jí)Level。(210)包括節(jié)點(diǎn)(212)、(214)和(216);父等級(jí)Level1(220)包括節(jié)點(diǎn)(224)和(226);以及祖父等級(jí)Level2(230)包括節(jié)點(diǎn)(232)、(234)和(236)。該層級(jí)的每個(gè)等級(jí)中的每個(gè)節(jié)點(diǎn)是關(guān)于可用于字符串翻譯的語(yǔ)言中的一種。更具體地,子節(jié)點(diǎn)(212)被示出存儲(chǔ)一個(gè)英語(yǔ)詞到比利時(shí)法語(yǔ)的翻譯;子節(jié)點(diǎn)(214)被示出存儲(chǔ)一個(gè)英語(yǔ)詞到法語(yǔ)的翻譯;父節(jié)點(diǎn)(224)被示出存儲(chǔ)英語(yǔ)詞到法語(yǔ)的翻譯;祖父節(jié)點(diǎn)(232)被示出存儲(chǔ)英語(yǔ)詞到比利時(shí)法語(yǔ)的翻譯;并且祖父節(jié)點(diǎn)(234)被示出存儲(chǔ)兩個(gè)英語(yǔ)詞到法語(yǔ)的翻譯。在該層級(jí)中僅存儲(chǔ)每個(gè)翻譯一次。不存在翻譯的重復(fù)。在這里所示的示例中,子節(jié)點(diǎn)(212)存儲(chǔ)以比利時(shí)法語(yǔ)對(duì)在子節(jié)點(diǎn)(216)中發(fā)現(xiàn)的英語(yǔ)詞的翻譯,并且子節(jié)點(diǎn)(214)存儲(chǔ)以法語(yǔ)對(duì)同一英語(yǔ)詞的翻譯;父節(jié)點(diǎn)(224)存儲(chǔ)對(duì)在父節(jié)點(diǎn)(226)中發(fā)現(xiàn)的同一英語(yǔ)詞的法語(yǔ)翻譯;以及祖父節(jié)點(diǎn)(232)存儲(chǔ)以比利時(shí)法語(yǔ)對(duì)一個(gè)祖父節(jié)點(diǎn)(236)英語(yǔ)詞的翻譯,并且在祖父節(jié)點(diǎn)(234)中發(fā)現(xiàn)兩個(gè)法語(yǔ)翻譯。雖然可以在層級(jí)中表現(xiàn)不同的術(shù)語(yǔ),但是層級(jí)中表現(xiàn)的每個(gè)唯一的詞僅具有單個(gè)翻譯。因此,層級(jí)的組織支持層級(jí)中每個(gè)唯一的數(shù)據(jù)項(xiàng)的單個(gè)條目。以類(lèi)似的方式,如圖2中所示,在層級(jí)的每個(gè)等級(jí)中存在英語(yǔ)節(jié)點(diǎn),即,子節(jié)點(diǎn)(216)、父節(jié)點(diǎn)(226)和祖父節(jié)點(diǎn)(236)。如所示的,子節(jié)點(diǎn)(216)具有兩個(gè)可翻譯的字符串。類(lèi)似地,父節(jié)點(diǎn)(226)和祖父節(jié)點(diǎn)(236)也包括兩個(gè)可翻譯的字符串。如所示的,節(jié)點(diǎn)(236)中的兩個(gè)可翻譯的字符串之一與父節(jié)點(diǎn)(226)和子節(jié)點(diǎn)(216)中所示的可翻譯的字符串相同,但是具有不同的值。因此,在數(shù)據(jù)結(jié)構(gòu)的層級(jí)表示中不存在可翻譯的字符串的重Μ.ο如圖2中所示,存在互聯(lián)層級(jí)中的不同節(jié)點(diǎn)的線。對(duì)于這些線,存在兩種格式,第一格式是實(shí)線表示,第二格式是點(diǎn)線表示。實(shí)線(252)和(254)示出該層級(jí)的英語(yǔ)遍歷。相反,點(diǎn)線(262)、(264)、(266)、(268)、(270)、(272)和(274)示出層級(jí)的比利時(shí)法語(yǔ)遍歷。通過(guò)層級(jí)的箭頭的行進(jìn)(procession)還被已知作為回退(fallback)。這里所示的箭頭的行進(jìn)僅僅是可以如何遍歷數(shù)據(jù)結(jié)構(gòu)的層級(jí)的一個(gè)實(shí)施例。可以基于應(yīng)用于數(shù)據(jù)結(jié)構(gòu)的規(guī)則而修改行進(jìn)的順序。在一個(gè)實(shí)施例中,這些規(guī)則被已知作為回退規(guī)則。因此,這里所示的數(shù)據(jù)結(jié)構(gòu)的處理是如何遍歷節(jié)點(diǎn)和相關(guān)聯(lián)的層級(jí)的一個(gè)實(shí)施例。圖3是展示用于遍歷節(jié)點(diǎn)的二維層級(jí)結(jié)構(gòu)而用于顯示字符串的處理的流程圖(300)。在一個(gè)實(shí)施例中,可以將顯示字符串的方面延伸(extrapolate)以包括對(duì)遇到的字符串翻譯,如上面圖2中展示的。如所示的,源代碼遇到需要顯示字符串的資源(302)。響應(yīng)于所述遇到情況,提取所遇到的資源的標(biāo)識(shí)符(304),以及該資源的類(lèi)等級(jí)信息(306)。將變量N分配給所提取的類(lèi)等級(jí)(308)。該資源的類(lèi)等級(jí)表示數(shù)據(jù)結(jié)構(gòu)的層級(jí)中的等級(jí)。在層級(jí)中存在有限數(shù)量的類(lèi)等級(jí),并且將變量NT。tal分配給數(shù)據(jù)結(jié)構(gòu)的層級(jí)中的等級(jí)的最大數(shù)量的值(310),每個(gè)等級(jí)在其中具有至少一個(gè)位置。將變量PT。tal分配給層級(jí)中的每個(gè)類(lèi)等級(jí)中的位置的最大數(shù)量。在遍歷層級(jí)以找到對(duì)于所遇到的資源的相應(yīng)數(shù)據(jù)項(xiàng)之前,將對(duì)于所遇到的資源的位置的計(jì)數(shù)變量P設(shè)置為零(314)。在步驟(314)之后,確定在數(shù)據(jù)結(jié)構(gòu)的層級(jí)中是否存在處于類(lèi)等級(jí)(N)和位置(P)的所遇到的資源(316)。如果該確定是肯定的,則返回處于類(lèi)(N)和位置(P)的所遇到的資源的數(shù)據(jù)項(xiàng)(318)。然而,響應(yīng)于在步驟(318)的否定確定,增加變量P(320),然后確定P的增加后的值是否超過(guò)類(lèi)等級(jí)中的位置的最小數(shù)量(322)。對(duì)步驟(332)的確定的肯定回答后是返回至步驟(316)。因此,這里展示的步驟說(shuō)明了對(duì)層級(jí)數(shù)據(jù)結(jié)構(gòu)中的一個(gè)類(lèi)等級(jí)中的每個(gè)位置的遍歷。如果在后面的步驟(322)確定所遇到的資源未出現(xiàn)在層級(jí)等級(jí)N中,那么將變量P復(fù)位(324),并且增加與類(lèi)等級(jí)相關(guān)聯(lián)的變量N(326)。變量N的增量使得搜索能夠進(jìn)行至數(shù)據(jù)結(jié)構(gòu)層級(jí)的下一個(gè)類(lèi)等級(jí)和其中的每個(gè)位置,如通過(guò)將變量P復(fù)位而表現(xiàn)的。其后,確定在層級(jí)中是否存在下一個(gè)類(lèi)等級(jí)(328)。換言之,遍歷是否已經(jīng)完成數(shù)據(jù)結(jié)構(gòu)的每個(gè)層級(jí)類(lèi)等級(jí)。對(duì)步驟(328)的確定的肯定回答后面是數(shù)據(jù)結(jié)構(gòu)搜索的結(jié)論,不返回所遇到的資源的數(shù)據(jù)匹配(330)。相反,對(duì)于步驟(328)的確定的肯定回答后面是返回至步驟(314)。因此,如這里展示的,在層級(jí)內(nèi)的每個(gè)類(lèi)等級(jí)中搜索所遇到的資源的數(shù)據(jù)匹配。如圖3中所展示的,層級(jí)數(shù)據(jù)結(jié)構(gòu)僅需要將每個(gè)數(shù)據(jù)項(xiàng)存儲(chǔ)在層級(jí)中的一個(gè)位置中。關(guān)于處理字符串翻譯的實(shí)施例,每個(gè)字符串僅必須將單個(gè)翻譯存儲(chǔ)在數(shù)據(jù)結(jié)構(gòu)中的一個(gè)位置中。層級(jí)中的每個(gè)位置可以具有多個(gè)字符串,或者不具有字符串。此外,圖3是對(duì)遍歷數(shù)據(jù)結(jié)構(gòu)的層級(jí)的一個(gè)方面的展示。然而,本發(fā)明不應(yīng)當(dāng)限于此遍歷。在一個(gè)實(shí)施例中,由編程者設(shè)置用于遍歷數(shù)據(jù)結(jié)構(gòu)的指令。類(lèi)似地,在一個(gè)實(shí)施例中,用于遍歷數(shù)據(jù)結(jié)構(gòu)的指令可以動(dòng)態(tài)地改變。遍歷指令提供用于在數(shù)據(jù)結(jié)構(gòu)中搜索數(shù)據(jù)項(xiàng)的對(duì)應(yīng)關(guān)系(map)??梢蕴峁┍闅v指令的不同集合,其中,潛在共性是數(shù)據(jù)結(jié)構(gòu)不存儲(chǔ)同一字符串的多個(gè)拷貝。如這里所示的,從所遇到的資源提取類(lèi)等級(jí)信息。在一個(gè)實(shí)施例中,提取與所遇到的資源相關(guān)聯(lián)的標(biāo)識(shí)符,并且與所提取的類(lèi)等級(jí)和位置一起使用該標(biāo)識(shí)符,來(lái)定位層級(jí)中的相應(yīng)數(shù)據(jù)項(xiàng)。因此,這里展示的用于搜索數(shù)據(jù)結(jié)構(gòu)的指令不應(yīng)當(dāng)限于圖3中所示的具體實(shí)施例,因?yàn)橹噶羁梢宰兓?。在一個(gè)實(shí)施例中,本發(fā)明被實(shí)現(xiàn)為軟件,其包括但不限于固件、常駐軟件、微代碼等。本發(fā)明可以采取可從計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)訪問(wèn)的計(jì)算機(jī)程序產(chǎn)品的形式,其中所述計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)提供由或結(jié)合計(jì)算機(jī)或任何指令執(zhí)行系統(tǒng)來(lái)使用的程序代碼。為了此說(shuō)明的目的,計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)可以是任何能夠含有、存儲(chǔ)、通信、傳播或傳輸由或結(jié)合指令執(zhí)行系統(tǒng)、裝置或設(shè)備來(lái)使用的程序的裝置。圖4是圖示將管理器布置在計(jì)算機(jī)系統(tǒng)中以便于識(shí)別和定位層級(jí)數(shù)據(jù)結(jié)構(gòu)中的資源的框圖(400)。所述圖示示出服務(wù)器(402),其具有通過(guò)總線結(jié)構(gòu)(410)與存儲(chǔ)器(406)耦接的處理器單元(404)。雖然僅示出一個(gè)處理器單元(404),但是在一個(gè)實(shí)施例中,服務(wù)器(402)可以在擴(kuò)展的設(shè)計(jì)中包括多個(gè)處理器單元。如圖4中所示,服務(wù)器(402)與數(shù)據(jù)存儲(chǔ)器(420)通信,該數(shù)據(jù)存儲(chǔ)器(420)可以包括多個(gè)存儲(chǔ)設(shè)備。雖然這里僅示出兩個(gè)存儲(chǔ)設(shè)備(420),但是本發(fā)明不應(yīng)當(dāng)限于所圖示的存儲(chǔ)設(shè)備的數(shù)量。采用數(shù)據(jù)存儲(chǔ)器(420)來(lái)將數(shù)據(jù)存儲(chǔ)在面向?qū)ο蟮膶蛹?jí)中。在一個(gè)實(shí)施例中,將數(shù)據(jù)結(jié)構(gòu)(422)維持在數(shù)據(jù)存儲(chǔ)器(420)上。該數(shù)據(jù)結(jié)構(gòu)是至少二維層級(jí),其包括多個(gè)類(lèi)等級(jí),在每個(gè)類(lèi)等級(jí)中具有多個(gè)位置。為了有效地遍歷數(shù)據(jù)結(jié)構(gòu)以定位其中的資源,提供一組管理器與數(shù)據(jù)存儲(chǔ)器通信。資源管理器(430)和數(shù)據(jù)位置管理器(432)兩者均被示出駐留于服務(wù)器(402)的存儲(chǔ)器(406)中。采用資源管理(430)來(lái)提取所遇到的資源的標(biāo)識(shí)符和類(lèi)等級(jí)信息。采用數(shù)據(jù)位置管理器(432)來(lái)遍歷數(shù)據(jù)結(jié)構(gòu),以定位所遇到的資源的相應(yīng)數(shù)據(jù)項(xiàng)。在一個(gè)實(shí)施例中,數(shù)據(jù)位置管理器采用所提取的類(lèi)等級(jí)信息和所提取的標(biāo)識(shí)符兩者,用以定位數(shù)據(jù)項(xiàng)。雖然管理器(430)和(432)被示出駐留于存儲(chǔ)器(406)中,但是本發(fā)明不應(yīng)當(dāng)限于此實(shí)施例。在一個(gè)實(shí)施例中,管理器(430)和(432)可以分別地或相結(jié)合地駐留為存儲(chǔ)器(406)外部的硬件工具,或者它們可以被實(shí)現(xiàn)為硬件和軟件工具的組合。因此,管理器(430)和(432)可以被實(shí)現(xiàn)為軟件或硬件工具,以便于提取資源識(shí)別信息和遍歷數(shù)據(jù)結(jié)構(gòu)。本發(fā)明范圍內(nèi)的實(shí)施例還包括產(chǎn)品,其包括將程序代碼在其中編碼的程序存儲(chǔ)部件。這樣的程序存儲(chǔ)部件可以是可由通用或?qū)S糜?jì)算機(jī)訪問(wèn)的任何可用介質(zhì)。通過(guò)舉例而并非限制,這樣的程序存儲(chǔ)部件可以包括RAM、ROM、EEPROM、CD-ROM或其它光盤(pán)存儲(chǔ)器、磁盤(pán)存儲(chǔ)器或其它磁性存儲(chǔ)設(shè)備、或可用于存儲(chǔ)所期望的程序代碼部件并且能夠被通用或?qū)S糜?jì)算機(jī)訪問(wèn)的任何其它介質(zhì)。上述的組合也應(yīng)當(dāng)包括在程序存儲(chǔ)部件的范圍中。所述介質(zhì)可以是電、磁、光、電磁、紅外線或半導(dǎo)體系統(tǒng)(或裝置或設(shè)備)或傳播介質(zhì)。計(jì)算機(jī)可讀介質(zhì)的示例包括半導(dǎo)體或固態(tài)存儲(chǔ)器、磁帶、可移除計(jì)算機(jī)磁盤(pán)、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、硬磁盤(pán)和光盤(pán)。光盤(pán)的當(dāng)前示例包括壓縮盤(pán)(compactdisk)、只讀(CD-ROM)、壓縮盤(pán)讀/寫(xiě)(CD-R/W)和DVD。適用于存儲(chǔ)和/或執(zhí)行程序代碼的數(shù)據(jù)處理系統(tǒng)將包括至少一個(gè)直接耦接至、或通過(guò)系統(tǒng)總線間接耦接至存儲(chǔ)器單元的處理器。存儲(chǔ)器單元可以包括在程序代碼的實(shí)際執(zhí)行期間采用的本地存儲(chǔ)器、大容量存儲(chǔ)器、以及高速緩沖存儲(chǔ)器,其提供對(duì)至少一些程序代碼的臨時(shí)存儲(chǔ),以減少在執(zhí)行期間必須從大容量存儲(chǔ)器取回代碼的次數(shù)。輸入/輸出或1/0設(shè)備(包括但不限于鍵盤(pán)、顯示器、指向設(shè)備等)可以直接地或通過(guò)介入1/0控制器而耦接至系統(tǒng)。網(wǎng)絡(luò)適配器還可以耦接至系統(tǒng),以使得數(shù)據(jù)處理系統(tǒng)能夠通過(guò)介入私有或公共網(wǎng)絡(luò)而變?yōu)轳罱又疗渌鼣?shù)據(jù)處理系統(tǒng)或遠(yuǎn)程打印機(jī)或存儲(chǔ)設(shè)備。軟件實(shí)現(xiàn)可以采取可從計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)訪問(wèn)的計(jì)算機(jī)程序產(chǎn)品的形式,所述計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)提供由或結(jié)合計(jì)算機(jī)或任何指令執(zhí)行系統(tǒng)使用的程序代碼。相對(duì)于現(xiàn)有技術(shù)的優(yōu)點(diǎn)與限制數(shù)據(jù)結(jié)構(gòu)中保留的數(shù)據(jù)項(xiàng)的數(shù)量的一組資源回退規(guī)則一起,將數(shù)據(jù)組織在層級(jí)中。將每個(gè)資源的單個(gè)版本保留在數(shù)據(jù)結(jié)構(gòu)中。當(dāng)對(duì)層級(jí)中的資源應(yīng)用字符串翻譯時(shí),產(chǎn)品大小和翻譯成本均減小了。另外,通過(guò)為資源提供單個(gè)翻譯的一致性,使得資源同步。不存在復(fù)制數(shù)據(jù)項(xiàng)的要求。這消除了與多個(gè)沖突或混淆的數(shù)據(jù)項(xiàng)相關(guān)聯(lián)的不一致??商鎿Q的實(shí)施例將理解,雖然這里已經(jīng)為了說(shuō)明的目的而描述了本發(fā)明的具體實(shí)施例,但是在不脫離本發(fā)明的精神和范圍的情況下,可以進(jìn)行各種修改。具體地,基于所定義的規(guī)則組,如圖3中所展示的遍歷數(shù)據(jù)結(jié)構(gòu)的方面還被已知作為資源回退。在一個(gè)實(shí)施例中,可以將規(guī)則修改為采用可替換的資源回退機(jī)制??梢栽诓煌瑫r(shí)間定義或確定這些規(guī)則,包括在編碼、編譯代碼的時(shí)間、運(yùn)行時(shí)間、或任何這些時(shí)間的組合。此外,這里所示的層級(jí)采用二維層級(jí)。在一個(gè)實(shí)施例中,可以將該層級(jí)擴(kuò)展為三維層級(jí)、或具有更多維數(shù)的層級(jí)。所采用的數(shù)據(jù)結(jié)構(gòu)層級(jí)可以是面向?qū)ο蟮膶蛹?jí),但是不限于此具體層級(jí)結(jié)構(gòu)。因此,本發(fā)明的保護(hù)范圍僅由下面的權(quán)利要求和它們的等效物限定。權(quán)利要求一種用于在數(shù)據(jù)結(jié)構(gòu)層級(jí)中定位資源的方法,包括將數(shù)據(jù)存儲(chǔ)在層級(jí)中,其中該層級(jí)是至少二維層級(jí),包括多個(gè)等級(jí),在每個(gè)等級(jí)中具有多個(gè)位置;提取該資源的標(biāo)識(shí)符和類(lèi)等級(jí)信息;通過(guò)對(duì)該層級(jí)應(yīng)用所提取的確定的資源等級(jí)信息和標(biāo)識(shí)符來(lái)遍歷該層級(jí),以在該層級(jí)中定位該資源的相應(yīng)數(shù)據(jù)項(xiàng);響應(yīng)于該資源的等級(jí)和標(biāo)識(shí)符兩者與存儲(chǔ)在該層級(jí)中的數(shù)據(jù)項(xiàng)的匹配,從該層級(jí)返回該資源的數(shù)據(jù)匹配。2.如權(quán)利要求1所述的方法,還包括提取該資源的位置信息;以及與所提取的等級(jí)和標(biāo)識(shí)符信息相結(jié)合地應(yīng)用該位置信息,以在該層級(jí)中定位該相應(yīng)數(shù)據(jù)項(xiàng)。3.如權(quán)利要求2所述的方法,其中,在該資源的外部進(jìn)行提取位置信息的所述步驟。4.如權(quán)利要求3所述的方法,還包括從與該資源通信的操作系統(tǒng)確定位置信息。5.如權(quán)利要求1所述的方法,其中,存儲(chǔ)在該層級(jí)中的每個(gè)唯一的數(shù)據(jù)項(xiàng)限于該層級(jí)中的單個(gè)等級(jí)和位置中的單個(gè)表示。6.如權(quán)利要求1所述的方法,其中,提取該資源的類(lèi)信息的所述步驟包括對(duì)該資源應(yīng)用代碼自測(cè)。7.如權(quán)利要求1所述的方法,其中,從由下列項(xiàng)組成的組中選擇數(shù)據(jù)項(xiàng)對(duì)字符串的翻譯、聲音、圖標(biāo)、圖形、動(dòng)畫(huà)、日歷、視頻、對(duì)象、元數(shù)據(jù)、以及它們的組合。8.一種計(jì)算機(jī)系統(tǒng),包括與數(shù)據(jù)存儲(chǔ)器通信的處理器單元;存儲(chǔ)在所述數(shù)據(jù)存儲(chǔ)器中的層級(jí)中的數(shù)據(jù),其中,該層級(jí)是至少二維層級(jí),包括多個(gè)等級(jí),在每個(gè)等級(jí)中具有多個(gè)位置;與該層級(jí)通信的資源管理器,該資源管理器提取該資源的標(biāo)識(shí)符和類(lèi)等級(jí)信息;與該資源管理器通信的數(shù)據(jù)位置管理器,該數(shù)據(jù)位置管理器通過(guò)對(duì)該層級(jí)應(yīng)用所提取的資源等級(jí)信息和標(biāo)識(shí)符,遍歷該層級(jí),以在該層級(jí)中定位該資源的相應(yīng)數(shù)據(jù)項(xiàng);該資源的數(shù)據(jù)匹配,其響應(yīng)于該資源的等級(jí)和標(biāo)識(shí)符兩者與存儲(chǔ)在該層級(jí)中的數(shù)據(jù)項(xiàng)的匹配而從該層級(jí)被返回。9.如權(quán)利要求8所述的系統(tǒng),還包括該資源管理器提取該資源的位置信息,并且與所提取的等級(jí)和標(biāo)識(shí)符信息相結(jié)合地應(yīng)用該位置信息,以在該層級(jí)中定位該相應(yīng)數(shù)據(jù)項(xiàng)。10.如權(quán)利要求9所述的系統(tǒng),其中,在該資源的外部進(jìn)行由該資源管理器對(duì)該位置信息的提取。11.如權(quán)利要求10所述的系統(tǒng),還包括該資源管理器從與該資源通信的操作系統(tǒng)確定位置信息。12.如權(quán)利要求8所述的系統(tǒng),其中,存儲(chǔ)在該層級(jí)中的每個(gè)唯一的數(shù)據(jù)項(xiàng)限于該層級(jí)結(jié)構(gòu)中的單個(gè)等級(jí)和位置中的單個(gè)表示。13.如權(quán)利要求8所述的系統(tǒng),其中,該資源管理器對(duì)該資源應(yīng)用代碼自測(cè)以提取類(lèi)信肩、ο14.如權(quán)利要求8所述的系統(tǒng),其中,從由下列項(xiàng)組成的組中選擇數(shù)據(jù)項(xiàng)對(duì)字符串的翻譯、聲音、圖標(biāo)、圖形、動(dòng)畫(huà)、日歷、視頻、對(duì)象、元數(shù)據(jù)、以及它們的組合。全文摘要提供用于在數(shù)據(jù)結(jié)構(gòu)層級(jí)中定位資源的方法、系統(tǒng)和產(chǎn)品。將數(shù)據(jù)存儲(chǔ)在諸如面向?qū)ο髮蛹?jí)的層級(jí)中。對(duì)于需要來(lái)自該層級(jí)的數(shù)據(jù)的每個(gè)遇到的資源,為該資源提取標(biāo)識(shí)符和等級(jí)信息。遵循一組資源回退規(guī)則來(lái)遍歷該層級(jí),并且在該層級(jí)中定位該主題資源的相應(yīng)數(shù)據(jù)項(xiàng)。文檔編號(hào)G06F17/30GK101807194SQ201010000718公開(kāi)日2010年8月18日申請(qǐng)日期2010年1月15日優(yōu)先權(quán)日2009年1月16日發(fā)明者埃里克·B·芒森,帕特里夏·A·高根,拉馬錢(qián)德拉·N·佩,格里特·休伊曾加,納森·V·巴克,蒂莫西·C·佩珀申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司