專利名稱:用于處理大量字符的高效排序元素結(jié)構(gòu)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及對(duì)數(shù)據(jù)庫(kù)系統(tǒng)中的數(shù)據(jù)進(jìn)行索引和分類的處理。更具體地說(shuō),本發(fā)明涉及一種可提供一種高效排序元素結(jié)構(gòu)從而對(duì)大量字符的分類權(quán)值進(jìn)行編碼的方法和設(shè)備。
背景技術(shù):
在開(kāi)發(fā)數(shù)據(jù)庫(kù)系統(tǒng)的過(guò)程中所面臨的一個(gè)挑戰(zhàn)就是要支持不同語(yǔ)言的分類。例如,一些數(shù)據(jù)庫(kù)允許日本客戶將分類方法指定為“日語(yǔ)”,而法國(guó)客戶將分類方法指定為“法語(yǔ)”。然而,隨著互聯(lián)網(wǎng)技術(shù)的全球應(yīng)用,對(duì)于公司而言,為其軟件提供多種語(yǔ)言能力以便拓展其全球性的業(yè)務(wù)變得越來(lái)越重要。
因?yàn)榇鎯?chǔ)在數(shù)據(jù)庫(kù)中的數(shù)據(jù)越來(lái)越多語(yǔ)言化,因此數(shù)據(jù)庫(kù)用戶對(duì)使用一種適用于大多數(shù)語(yǔ)言的分類法越來(lái)越感興趣。
不幸的是,在多種語(yǔ)言的分類中存在成千上萬(wàn)的不同字符,這導(dǎo)致了在執(zhí)行多種語(yǔ)言的分類過(guò)程中所涉及的數(shù)據(jù)結(jié)構(gòu)耗用大量的內(nèi)存。此外,在不降低性能的情況下很難壓縮這些數(shù)據(jù)結(jié)構(gòu)。
通常通過(guò)將字符串轉(zhuǎn)換成相應(yīng)的排序元素串(這些串也被稱為分類關(guān)鍵字)、然后比較這些排序元素串以執(zhí)行分類操作從而實(shí)現(xiàn)了多種語(yǔ)言的分類。該轉(zhuǎn)換處理通常是通過(guò)查找排序加權(quán)表中的字符而完成的,該排序加權(quán)表包含有每個(gè)字符的相應(yīng)排序加權(quán)值。
統(tǒng)一碼學(xué)術(shù)學(xué)會(huì)(Unicode Consortium)發(fā)布的第10號(hào)統(tǒng)一碼技術(shù)報(bào)告(Unicode Technical Report No.10)規(guī)定了排序元素結(jié)構(gòu),該結(jié)構(gòu)包括16位第一加權(quán)值以及其后的8位第二加權(quán)值及8位第三加權(quán)值。第一加權(quán)值標(biāo)識(shí)一字符,同時(shí)第二加權(quán)值規(guī)定了該字符的重音,而第三加權(quán)值規(guī)定了該字符的格信息(并且可能與標(biāo)點(diǎn)有關(guān))。例如,第一加權(quán)值可能規(guī)定一字符是“a”,同時(shí)第二加權(quán)值規(guī)定該字符具有一重音“”,而第三加權(quán)值規(guī)定該字符是大寫(xiě)字母“”。
值得注意的是比較功能通常是首先對(duì)第一加權(quán)值進(jìn)行比較。如果第一加權(quán)值匹配,那么比較功能比較第二加權(quán)值。如果第一和第二加權(quán)值均匹配,則比較功能比較第三加權(quán)值。
值得注意的是第10號(hào)統(tǒng)一碼技術(shù)報(bào)告所規(guī)定的16位第一加權(quán)值僅可編碼65,536個(gè)不同字符。然而,提供65,536個(gè)以上字符已變得必要。這可以通過(guò)將第一加權(quán)值的大小增加到32位(4字節(jié))而實(shí)現(xiàn)。然而,將第一加權(quán)值的大小從16位增加到32位有下述幾個(gè)缺點(diǎn)(1)需要更多的內(nèi)存來(lái)建立語(yǔ)言索引以支持32位的第一加權(quán)值;(2)對(duì)語(yǔ)言索引的訪問(wèn)時(shí)間增加了;(3)需要更多的內(nèi)存來(lái)存儲(chǔ)排序元素串;以及(4)需要更多的計(jì)算操作來(lái)對(duì)分類關(guān)鍵字進(jìn)行比較。
需要有這樣一種方法和設(shè)備,其運(yùn)用可對(duì)大量字符進(jìn)行處理的高效排序元素結(jié)構(gòu),而不會(huì)存在上述問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明的一個(gè)實(shí)施例提出了一個(gè)便于運(yùn)用可支持大量字符的排序元素的系統(tǒng)。該系統(tǒng)通過(guò)接收排序元素并從排序元素內(nèi)的第一加權(quán)字段中讀取第一加權(quán)值而工作。如果第一加權(quán)值屬于一組預(yù)定值,則該系統(tǒng)從排序元素內(nèi)的第二加權(quán)字段和第三加權(quán)字段中讀取第一加權(quán)值的附加部分。另一方面,如果第一加權(quán)值不在該組預(yù)定值內(nèi),那么該系統(tǒng)從第二加權(quán)字段中讀取第二加權(quán)值,并且從第三加權(quán)字段內(nèi)讀取第三加權(quán)值。
在本發(fā)明的一個(gè)實(shí)施例中,如果第一加權(quán)值屬于一組預(yù)定值,那么系統(tǒng)將第二加權(quán)值設(shè)置為第二缺省值,并且將第三加權(quán)值設(shè)置為第三缺省值。
在本發(fā)明的一個(gè)實(shí)施例中,排序元素遵守統(tǒng)一的字符編碼標(biāo)準(zhǔn)。
在本發(fā)明的一個(gè)實(shí)施例中,第一加權(quán)值標(biāo)識(shí)一字符。另外,第二加權(quán)值規(guī)定該字符的重音,并且第三加權(quán)值規(guī)定該字符的格信息。
在本發(fā)明的一個(gè)實(shí)施例中,除非第一加權(quán)字段內(nèi)的值屬于預(yù)定的一組值,在此情況下第一加權(quán)字段占據(jù)了排序元素的所有4個(gè)字節(jié),否則的話,排序元素的大小是4個(gè)字節(jié),其中第一加權(quán)字段是2個(gè)字節(jié),第二加權(quán)字段是1個(gè)字節(jié)且第三加權(quán)字段是1個(gè)字節(jié)。
在本發(fā)明的一個(gè)實(shí)施例中,第一加權(quán)值的該組預(yù)定值包括16進(jìn)制值0xFFF0-0xFFFF。
在本發(fā)明的一個(gè)實(shí)施例中,排序元素取自一排序加權(quán)表,該表用于將字符映射到排序加權(quán)值以便建立字符串間的次序。
在該實(shí)施例的一種變化形式中,所述系統(tǒng)通過(guò)讀取字符串中的每個(gè)字符并從排序加權(quán)表中查找每個(gè)字符的相應(yīng)排序元素而為一字符串另外構(gòu)造了一分類關(guān)鍵字。該系統(tǒng)隨后將每個(gè)字符的相應(yīng)排序元素添加到該分類關(guān)鍵字上。值得注意的是如果該分類關(guān)鍵字與一個(gè)數(shù)據(jù)庫(kù)中的某一記錄相關(guān),那么該分類關(guān)鍵字可以用于構(gòu)造該數(shù)據(jù)庫(kù)的語(yǔ)言索引。
圖1給出了根據(jù)本發(fā)明一實(shí)施例的具有一數(shù)據(jù)庫(kù)的計(jì)算機(jī)系統(tǒng);圖2給出了根據(jù)本發(fā)明一實(shí)施例的排序元素的可選結(jié)構(gòu);圖3A說(shuō)明如何根據(jù)本發(fā)明一實(shí)施例來(lái)生成分類關(guān)鍵字;圖3B是一個(gè)流程圖,說(shuō)明根據(jù)本發(fā)明一實(shí)施例來(lái)生成分類關(guān)鍵字的過(guò)程;圖4是一個(gè)流程圖,說(shuō)明根據(jù)本發(fā)明一實(shí)施例來(lái)讀取一排序元素的過(guò)程。
具體實(shí)施例方式
下述說(shuō)明可使任何本領(lǐng)域技術(shù)人員制作并使用本發(fā)明,并在這方面提供了一種特定應(yīng)用及其要求。對(duì)于本領(lǐng)域技術(shù)人員來(lái)說(shuō)對(duì)于所公開(kāi)的實(shí)施例做出各種修改將顯而易見(jiàn),并且在不脫離本發(fā)明精神和范圍的情況下,這里所說(shuō)明的一般原理適用于其他實(shí)施例和應(yīng)用。因此,本發(fā)明將并不局限于所示實(shí)施例,而是適合與這里所公開(kāi)的原理及特征相一致的最寬范圍。
在下述說(shuō)明中所描述的數(shù)據(jù)結(jié)構(gòu)和代碼通常存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中,該計(jì)算機(jī)可讀介質(zhì)可以是任一種計(jì)算機(jī)系統(tǒng)所使用的可存儲(chǔ)代碼和/或數(shù)據(jù)的設(shè)備或介質(zhì)。這包括但是并不局限于諸如磁盤驅(qū)動(dòng)器、磁帶、CDs(高密度磁盤)及DVDs(數(shù)字化視頻光盤)以及包含在傳輸介質(zhì)中的計(jì)算機(jī)指令信號(hào)(利用或未利用載波來(lái)對(duì)信號(hào)進(jìn)行調(diào)制)。例如,傳輸介質(zhì)可以包括諸如互聯(lián)網(wǎng)這樣的通信網(wǎng)。
計(jì)算機(jī)系統(tǒng)圖1給出了根據(jù)本發(fā)明一實(shí)施例的計(jì)算機(jī)系統(tǒng)102,其具有數(shù)據(jù)庫(kù)104。計(jì)算機(jī)系統(tǒng)102通??砂ㄈ我活愋偷挠?jì)算機(jī)系統(tǒng),此任一類型的計(jì)算機(jī)系統(tǒng)包括但是并不局限于基于微處理器的計(jì)算機(jī)系統(tǒng)、大型機(jī)、數(shù)字信號(hào)處理器、便攜式計(jì)算機(jī)、個(gè)人管理器、設(shè)備控制器、以及設(shè)備內(nèi)的計(jì)算引擎。
數(shù)據(jù)庫(kù)104可包括將數(shù)據(jù)存儲(chǔ)在非易失性存儲(chǔ)器中的任一類系統(tǒng)。這又包括但不局限于基于磁、光、及磁光存儲(chǔ)裝置的系統(tǒng)以及基于閃速存儲(chǔ)器和/或后備電池存儲(chǔ)器的存儲(chǔ)裝置。數(shù)據(jù)庫(kù)104包括一個(gè)由記錄集的集合所組成的數(shù)據(jù)文件106,該記錄集是按照插入順序存儲(chǔ)的。數(shù)據(jù)文件106可通過(guò)諸如索引108的一個(gè)或多個(gè)索引加以引用,該索引108規(guī)定了記錄在數(shù)據(jù)文件106中的順序。這種順序通常是通過(guò)對(duì)數(shù)據(jù)文件106中的相關(guān)目標(biāo)欄進(jìn)行分類而確定的。為使該分類滿足某一特定的語(yǔ)言分類次序,首先通過(guò)查找排序加權(quán)表110中的字符而將該目標(biāo)欄中的每個(gè)字符串轉(zhuǎn)換成分類關(guān)鍵字。值得注意的是,排序加權(quán)表110僅僅是包含有每個(gè)可能字符的排序元素的一個(gè)數(shù)組。
排序元素的結(jié)構(gòu)圖2給出了根據(jù)本發(fā)明一實(shí)施例的排序元素204的可選結(jié)構(gòu)。如圖2所示,排序元素204通過(guò)查找排序加權(quán)表110而產(chǎn)生。
在所示的實(shí)施例中,排序元素204占用了數(shù)據(jù)的4個(gè)字節(jié),并且可具有兩種格式中的一種。在第一種格式中,排序元素204的頭兩個(gè)字節(jié)包含第一加權(quán)字段206,同時(shí)第三字節(jié)包含第二加權(quán)字段208并且第四字節(jié)包含第三加權(quán)字段210。
在第二種格式中,排序元素204的頭兩個(gè)字節(jié)包含范圍為0xFFF0-0xFFFF的預(yù)定值。該預(yù)定值表明排序元素204的第三和第四字節(jié)包含第一加權(quán)字段的擴(kuò)展部分而不是第二和第三加權(quán)值。在這種情況下,將第二和第三加權(quán)值設(shè)置為缺省值。
值得注意的是第二種格式支持超過(guò)1,000,000個(gè)不同的字符,這是因?yàn)樵谂判蛟?04的第一和第二字節(jié)中,16個(gè)可能的數(shù)值0xFFF0-0xFFF中的每一個(gè)均與排序元素204的第三和第四字節(jié)中的16位或者說(shuō)65,536個(gè)可能數(shù)值相對(duì)應(yīng)。
還應(yīng)該注意的是可將第二和第三加權(quán)值設(shè)置為缺省值,這是因?yàn)闃?biāo)識(shí)符大于65,536的新字符是中日韓(CJK)字符,主要是Han和HangulJamo字符,而在Han/Hangul Jamo字符之間不存在重音和格的差異。此外,即使在亞洲遠(yuǎn)東地區(qū),人們也總是將基于拉丁語(yǔ)系的字母和數(shù)字符號(hào)排列在CJK字符之前。
生成分類關(guān)鍵字圖3A圖示了怎樣根據(jù)本發(fā)明一實(shí)施例來(lái)生成分類關(guān)鍵字。在圖3A中,通過(guò)在排序加權(quán)表110中查找單個(gè)字符而逐字符地將字符串302轉(zhuǎn)換成包括由分類關(guān)鍵字304構(gòu)成的排序元素(加權(quán))串。
圖3B給出了根據(jù)本發(fā)明一實(shí)施例來(lái)生成分類關(guān)鍵字304的處理流程圖。對(duì)于字符串302中的每個(gè)字符202而言,系統(tǒng)讀取字符202(步驟306),并在排序加權(quán)表中查找字符202的排序元素204(步驟308)。此后系統(tǒng)將排序元素204添加到分類關(guān)鍵字304上(步驟310)。
讀取排序元素圖4給出了根據(jù)本發(fā)明一實(shí)施例來(lái)讀取一排序元素的處理流程圖。在分類處理或需要在分類關(guān)鍵字之間進(jìn)行比較的某種其他操作過(guò)程中,該系統(tǒng)開(kāi)始接收排序元素204(步驟402)。接下來(lái),系統(tǒng)確定排序元素204的頭兩個(gè)(較高序位)字節(jié)是否包含一個(gè)大于或等于0xFFF0的預(yù)定值(步驟404)。如果是,系統(tǒng)即使第一加權(quán)值占用排序元素204的所有四個(gè)字節(jié),并且將第二和第三加權(quán)值設(shè)置為缺省值(步驟406)。
如果排序元素204的頭兩個(gè)字節(jié)不包含預(yù)定值,則系統(tǒng)將第一加權(quán)值設(shè)定為排序元素204的第一和第二字節(jié)。這是通過(guò)將排序元素204向右移動(dòng)16位并隨后將留存的兩個(gè)字節(jié)作為第一加權(quán)值而實(shí)現(xiàn)的。接下來(lái),將排序元素204的第三字節(jié)(次于最低序位)取作第二加權(quán)值。這是通過(guò)將排序元素204向右移動(dòng)8位并將留存字的最低序位字節(jié)作為第二加權(quán)值而實(shí)現(xiàn)的。最后,將排序元素204的第四字節(jié)(最低序位)取作第三加權(quán)值(步驟408)。
對(duì)本發(fā)明實(shí)施例的以上描述僅僅是為了說(shuō)明和描述的目的。它們并不是詳盡的或是要將本發(fā)明局限于這里所公開(kāi)的形式。因此,本領(lǐng)域熟練技術(shù)人員很顯然可做出多種修改和變化。此外,上述所公開(kāi)的內(nèi)容并不僅限于本發(fā)明。本發(fā)明的范圍是由所附權(quán)利要求來(lái)確定的。
權(quán)利要求
1.一種便于使用而支持大量字符的排序元素的方法,所述方法包括接收所述排序元素;從所述排序元素內(nèi)的第一加權(quán)字段中讀取第一加權(quán)值;如果第一加權(quán)值屬于預(yù)定的一組值,那么從所述排序元素內(nèi)的第二加權(quán)字段和第三加權(quán)字段中讀取第一加權(quán)值的附加部分;并且如果第一加權(quán)值不在所述預(yù)定的一組值內(nèi),那么從所述排序元素內(nèi)的第二加權(quán)字段中讀取第二加權(quán)值,并且從所述排序元素內(nèi)的第三加權(quán)字段中讀取第三加權(quán)值。
2.根據(jù)權(quán)利要求1的方法,其中如果第一加權(quán)值屬于預(yù)定的一組值,那么所述方法還包括將第二加權(quán)值設(shè)置為第二缺省值;并且將第三加權(quán)值設(shè)置為第三缺省值。
3.根據(jù)權(quán)利要求1的方法,其中所述排序元素遵守第10號(hào)統(tǒng)一碼技術(shù)報(bào)告中所規(guī)定的一種結(jié)構(gòu)。
4.根據(jù)權(quán)利要求1的方法,其中第一加權(quán)值標(biāo)識(shí)一字符;其中第二加權(quán)值可規(guī)定該字符的重音;而且其中第三加權(quán)值可規(guī)定該字符的格信息。
5.根據(jù)權(quán)利要求1的方法,其中除非第一加權(quán)字段內(nèi)的值屬于所述預(yù)定的一組值,在此情況下第一加權(quán)字段占據(jù)所述排序元素的所有4個(gè)字節(jié),否則的話,所述排序元素的大小是4個(gè)字節(jié),其中第一加權(quán)字段是2個(gè)字節(jié),第二加權(quán)字段是1個(gè)字節(jié)而且第三加權(quán)字段是1個(gè)字節(jié)。
6.根據(jù)權(quán)利要求5的方法,其中對(duì)于第一加權(quán)值,所述預(yù)定的一組值包括16進(jìn)位數(shù)值0xFFF0-0xFFFF。
7.根據(jù)權(quán)利要求1的方法,其中所述排序元素取自一排序加權(quán)表,該表用于將字符映射到排序加權(quán)值以便建立字符串間的次序。
8.根據(jù)權(quán)利要求7的方法,其進(jìn)一步包括通過(guò)下列步驟來(lái)為一字符串構(gòu)造一分類關(guān)鍵字讀取該字符串中的每個(gè)字符;從所述排序加權(quán)表中查找每個(gè)字符的相應(yīng)排序元素;并且將所述每個(gè)字符的相應(yīng)排序元素添加到所述分類關(guān)鍵字上。
9.根據(jù)權(quán)利要求8的方法,其中所述分類關(guān)鍵字與一數(shù)據(jù)庫(kù)中的記錄相關(guān);并且其中所述分類關(guān)鍵字被用于構(gòu)造所述數(shù)據(jù)庫(kù)的語(yǔ)言索引。
10.一種存儲(chǔ)指令的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),當(dāng)一計(jì)算機(jī)執(zhí)行上述指令時(shí)使得該計(jì)算機(jī)執(zhí)行一種便于使用而支持大量字符的排序元素的方法,所述方法包括接收所述排序元素;從所述排序元素內(nèi)的第一加權(quán)字段中讀取第一加權(quán)值;如果第一加權(quán)值屬于預(yù)定的一組值,那么從所述排序元素內(nèi)的第二加權(quán)字段和第三加權(quán)字段中讀取第一加權(quán)值的附加部分;并且如果第一加權(quán)值不在所述預(yù)定的一組值內(nèi),那么從所述排序元素內(nèi)的第二加權(quán)字段中讀取第二加權(quán)值,并且從所述排序元素內(nèi)的第三加權(quán)字段中讀取第三加權(quán)值。
11.根據(jù)權(quán)利要求10的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中如果第一加權(quán)值屬于預(yù)定的一組值,那么所述方法還包括將第二加權(quán)值設(shè)置為第二缺省值;并且將第三加權(quán)值設(shè)置為第三缺省值。
12.根據(jù)權(quán)利要求10的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中所述排序元素遵守第10號(hào)統(tǒng)一碼編碼標(biāo)準(zhǔn)報(bào)告中所規(guī)定的一種結(jié)構(gòu)。
13.根據(jù)權(quán)利要求10的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中第一加權(quán)值標(biāo)識(shí)一字符;其中第二加權(quán)值可規(guī)定該字符的重音;其中第三加權(quán)值可規(guī)定該字符的格信息。
14.根據(jù)權(quán)利要求10的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中除非第一加權(quán)字段內(nèi)的值屬于所述預(yù)定的一組值,在此情況下第一加權(quán)字段占據(jù)所述排序元素的所有4個(gè)字節(jié),否則的話,所述排序元素的大小是4個(gè)字節(jié),其中第一加權(quán)字段是2個(gè)字節(jié),第二加權(quán)字段是1個(gè)字節(jié)而且第三加權(quán)字段是1個(gè)字節(jié)。
15.根據(jù)權(quán)利要求14的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中對(duì)于第一加權(quán)值,所述預(yù)定的一組值包括16進(jìn)位數(shù)值0xFFF0-0xFFFF。
16.根據(jù)權(quán)利要求10的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中所述排序元素取自一排序加權(quán)表,該表用于將字符映射到排序加權(quán)值以便建立字符串間的次序。
17.根據(jù)權(quán)利要求16的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其進(jìn)一步包括通過(guò)下列步驟來(lái)為一字符串構(gòu)造一分類關(guān)鍵字讀取該字符串中的每個(gè)字符;從所述排序加權(quán)表中查找每個(gè)字符的相應(yīng)排序元素;并且將所述每個(gè)字符的相應(yīng)排序元素添加到所述分類關(guān)鍵字上。
18.根據(jù)權(quán)利要求17的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中所述分類關(guān)鍵字與一數(shù)據(jù)庫(kù)中的記錄相關(guān);并且其中所述分類關(guān)鍵字被用于構(gòu)造所述數(shù)據(jù)庫(kù)的語(yǔ)言索引。
19.一種便于使用而支持大量字符的排序元素的設(shè)備,所述設(shè)備包括一分配裝置,用于從所述排序元素內(nèi)的第一加權(quán)字段中讀取第一加權(quán)值;其中如果第一加權(quán)值屬于預(yù)定的一組值,那么所述分配裝置被設(shè)定為從所述排序元素內(nèi)的第二加權(quán)字段和第三加權(quán)字段中讀取第一加權(quán)值的附加部分;并且其中如果第一加權(quán)值不在所述預(yù)定的一組值內(nèi),那么所述分配裝置被設(shè)定為從所述排序元素內(nèi)的第二加權(quán)字段中讀取第二加權(quán)值,并且從所述排序元素內(nèi)的第三加權(quán)字段中讀取第三加權(quán)值。
20.根據(jù)權(quán)利要求19的設(shè)備,其中如果第一加權(quán)值屬于所述預(yù)定的一組值,那么所述分配裝置被設(shè)定為將第二加權(quán)值設(shè)置為第二缺省值;并且將第三加權(quán)值設(shè)置為第三缺省值。
21.根據(jù)權(quán)利要求19的設(shè)備,其中所述排序元素遵守第10號(hào)統(tǒng)一碼技術(shù)報(bào)告中所規(guī)定的一種結(jié)構(gòu)。
22.根據(jù)權(quán)利要求19的設(shè)備,其中第一加權(quán)值標(biāo)識(shí)一字符;其中第二加權(quán)值可規(guī)定該字符的重音;其中第三加權(quán)值可規(guī)定該字符的格信息。
23.根據(jù)權(quán)利要求19的設(shè)備,其中除非第一加權(quán)字段內(nèi)的值屬于所述預(yù)定的一組值,在此情況下第一加權(quán)字段占據(jù)所述排序元素的所有4個(gè)字節(jié),否則的話,所述排序元素的大小是4個(gè)字節(jié),其中第一加權(quán)字段是2個(gè)字節(jié),第二加權(quán)字段是1個(gè)字節(jié)而且第三加權(quán)字段是1個(gè)字節(jié)。
24.根據(jù)權(quán)利要求23的設(shè)備,其中對(duì)于第一加權(quán)值,所述一組預(yù)定值包括16進(jìn)位數(shù)值0xFFF0-0xFFFF。
25.根據(jù)權(quán)利要求24的設(shè)備,其中所述排序元素取自一排序加權(quán)表,該表用于將字符映射到排序加權(quán)值以便建立字符串間的順序。
26.根據(jù)權(quán)利要求25的設(shè)備,其進(jìn)一步包括一關(guān)鍵字構(gòu)造裝置,用以為一字符串構(gòu)造一分類關(guān)鍵字,其中該關(guān)鍵字構(gòu)造裝置被設(shè)定為讀取該字符串中的每個(gè)字符;從所述排序加權(quán)表中查找每個(gè)字符的相應(yīng)排序元素;并且將所述每個(gè)字符的相應(yīng)排序元素添加到所述分類關(guān)鍵字上。
27.根據(jù)權(quán)利要求26的設(shè)備,其中所述分類關(guān)鍵字與一數(shù)據(jù)庫(kù)中的記錄相關(guān);并且其中所述分類關(guān)鍵字被用于構(gòu)造所述數(shù)據(jù)庫(kù)的語(yǔ)言索引。
全文摘要
本發(fā)明的一個(gè)實(shí)施例提供了一個(gè)便于使用可支持大量字符的排序元素的系統(tǒng)。該系統(tǒng)接收排序元素并且從排序元素內(nèi)的第一加權(quán)字段中讀取第一加權(quán)值。如果第一加權(quán)值屬于預(yù)定的一組值,那么系統(tǒng)從排序元素內(nèi)的第二加權(quán)字段和第三加權(quán)字段中讀取第一加權(quán)值的附加部分。另一方面,如果第一加權(quán)值不在預(yù)定的一組值內(nèi),那么系統(tǒng)從第二加權(quán)字段中讀取第二加權(quán)值,并且從第三加權(quán)字段中讀取第三加權(quán)值。
文檔編號(hào)G06F17/22GK1531692SQ02809865
公開(kāi)日2004年9月22日 申請(qǐng)日期2002年5月22日 優(yōu)先權(quán)日2001年5月31日
發(fā)明者C-L·何, C-L 何, J·楊 申請(qǐng)人:歐里科國(guó)際公司