專利名稱:提取數(shù)據(jù)字段以提供查找的系統(tǒng)及其方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)據(jù)查找系統(tǒng)及其方法,特別涉及一種提取數(shù)據(jù)字段以 提供查找的系統(tǒng)及其方法。
背景技術(shù):
數(shù)據(jù)庫是各式各樣具有相關(guān)性資源的集中地,若要對(duì)數(shù)據(jù)庫進(jìn)行存取, 則必須遵守?cái)?shù)據(jù)庫制定的規(guī)則與方法,使用數(shù)據(jù)庫可以達(dá)到最少重復(fù)、最佳 利用且能讓多數(shù)人共同使用的目的。為了讓執(zhí)行中的服務(wù)可以持續(xù)的使用數(shù)據(jù)庫,因此原先為服務(wù)所規(guī)劃的 數(shù)據(jù)庫的結(jié)構(gòu)不能夠改變,不過隨著網(wǎng)路的發(fā)達(dá),信息的傳遞更為快速,許 多的信息需要使用數(shù)據(jù)庫來儲(chǔ)存,因此,數(shù)據(jù)庫中的數(shù)據(jù)表也隨著要被儲(chǔ)存 的數(shù)據(jù)的內(nèi)容而逐漸增加。如此一來,理論上應(yīng)該放在同一個(gè)數(shù)據(jù)表中的數(shù) 據(jù)可能會(huì)分散在各個(gè)不同的數(shù)據(jù)表中,也因此產(chǎn)生原先規(guī)劃的數(shù)據(jù)庫結(jié)構(gòu)無 法適用的問題,最明顯的狀況莫過于每次進(jìn)行數(shù)據(jù)查找時(shí)需要先將各個(gè)數(shù)據(jù) 表交集起來,但這樣的過程往往會(huì)產(chǎn)生較高的負(fù)載以及需要大量的內(nèi)存空 間。若要解決上述的問題,最基本的方法是重新規(guī)劃數(shù)據(jù)庫的結(jié)構(gòu),把所有 該存放在同一數(shù)據(jù)表的數(shù)據(jù)存放至同一數(shù)據(jù)表中,但這種解決方案會(huì)耗費(fèi)大 量開發(fā)時(shí)間與開發(fā)成本。綜上所述,可知現(xiàn)有技術(shù)中長期以來一直存在查詢不同數(shù)據(jù)表中的數(shù)據(jù) 時(shí),需要消耗較高的硬件資源的問題,因此有必要提出改進(jìn)的技術(shù)手段,來 解決此問題。發(fā)明內(nèi)容有鑒于現(xiàn)有技術(shù)存在的查詢不同數(shù)據(jù)表中的數(shù)據(jù)時(shí),需要消耗較高的硬 件資源的問題,本發(fā)明揭露一種提取數(shù)據(jù)字段以提供查找的系統(tǒng)及其方法, 其中本發(fā)明所揭露的提取數(shù)據(jù)字段以提供查找的系統(tǒng),其包括有儲(chǔ)存模塊、索引模塊、接收模塊、檢索模塊,其通過索引模塊至儲(chǔ)存模塊所儲(chǔ)存的數(shù)據(jù) 表中選定多個(gè)字段,并建立包含被選定字段的虛擬表,使得檢索模塊可以通 過虛擬表至數(shù)據(jù)表中查找接收模塊所接收的查詢字詞所對(duì)應(yīng)的索引值,并由 索引值查找出存在于數(shù)據(jù)表中的查詢結(jié)果,以此解決現(xiàn)有技術(shù)所存在的問題。本發(fā)明所揭露的提取數(shù)據(jù)字段以提供查找的方法,其包括有下列步驟 由至少一數(shù)據(jù)表中選定多個(gè)字段;建立包含該些字段的虛擬表;接收查詢字 詞;通過虛擬表查找對(duì)應(yīng)查詢字詞的至少一索引值;至數(shù)據(jù)表中查找索引值 對(duì)應(yīng)的查詢結(jié)果,其通過將要被查找的字段建立為虛擬表的方式來解決現(xiàn)有 技術(shù)所存在的問題。本發(fā)明所揭露的系統(tǒng)與方法如上,其與現(xiàn)有技術(shù)之間的差異在于本發(fā)明 建立包含被查找的字段的虛擬表。通過上述的技術(shù)手段,本發(fā)明可以達(dá)到加 快查找速度的技術(shù)功效。
圖l是本發(fā)明提取數(shù)據(jù)字段以提供查找的系統(tǒng)結(jié)構(gòu)圖。 圖2是本發(fā)明提取數(shù)據(jù)字段以提供查找的方法流程圖。 圖3是本發(fā)明實(shí)施例第一數(shù)據(jù)表的結(jié)構(gòu)示意圖。 圖4A是本發(fā)明實(shí)施例第二數(shù)據(jù)表的結(jié)構(gòu)示意圖。 圖4B是本發(fā)明實(shí)施例第三數(shù)據(jù)表的結(jié)構(gòu)示意圖。 圖5是本發(fā)明實(shí)施例虛擬表的結(jié)構(gòu)示意圖。
具體實(shí)施方式
以下將配合附圖及實(shí)施例來詳細(xì)說明本發(fā)明的詳細(xì)特征與實(shí)施方式,內(nèi)容足以使任何本領(lǐng)域技術(shù)人員輕易地理解本發(fā)明解決技術(shù)問題所應(yīng)用的技 術(shù)手段并據(jù)以實(shí)施,及理解實(shí)現(xiàn)本發(fā)明可達(dá)到的功效。以下先以圖1 一 一本發(fā)明所提的提取數(shù)據(jù)字段以提供查找的系統(tǒng)結(jié)構(gòu)圖 來說明本發(fā)明的系統(tǒng)操作。如圖1所示,本發(fā)明的系統(tǒng)主要含有儲(chǔ)存模塊110、索引模塊120、接收模塊130及檢索模塊150。 儲(chǔ)存模塊110負(fù)責(zé)儲(chǔ)存一個(gè)以上的數(shù)據(jù)表。索引模塊120負(fù)責(zé)由儲(chǔ)存在儲(chǔ)存模塊IIO的數(shù)據(jù)表中選定多個(gè)字段,以 此建立包含被選定的字段的虛擬表。其中,并非所有儲(chǔ)存在儲(chǔ)存模塊IIO的 數(shù)據(jù)表都有一個(gè)以上的字段被選定,也就是說,索引模塊120也可以選擇部 分的數(shù)據(jù)表來建立虛擬表。 一般而言,用來建立虛擬表的字段是預(yù)先定義在 索引模塊120中,如此索引模塊120在建立虛擬表時(shí),便會(huì)選定已預(yù)先定義 的字段來建立虛擬表。上述的虛擬表不會(huì)實(shí)際儲(chǔ)存任何數(shù)據(jù)表中的數(shù)據(jù),而是以虛擬連接的方 式,例如鏈接(link)或索引(index)等方式,使得在檢索模塊150查找虛 擬表的各字段的數(shù)據(jù)時(shí),會(huì)通過虛擬連接的方式去讀取與虛擬表相對(duì)應(yīng)的數(shù) 據(jù)表中的字段的數(shù)據(jù)。接收模塊130負(fù)責(zé)接收由使用者所輸入的查詢字詞。檢索模塊150負(fù)責(zé)從接收模塊130取得查詢字詞后,通過索引模塊120 所建立的虛擬表查找與查詢字詞相對(duì)應(yīng)的索引值,其中,依據(jù)虛擬表所連接 的內(nèi)容,檢索模塊150檢索得出的索引值可能不只一個(gè)。檢索模塊150還負(fù)責(zé)依據(jù)被檢索出來的索引值,至儲(chǔ)存模塊110所儲(chǔ)存 的數(shù)據(jù)表中,查找出與索引值所對(duì)應(yīng)的查詢結(jié)果。接著以一個(gè)實(shí)施例來解說本發(fā)明的操作系統(tǒng)與方法,并請(qǐng)參照?qǐng)D2本發(fā) 明所提的提取數(shù)據(jù)字段以提供查找的方法流程圖。在使用者使用本發(fā)明之前,本發(fā)明的索引模塊120會(huì)先至儲(chǔ)存模塊110 所儲(chǔ)存的第一數(shù)據(jù)表300 (如圖3所示)中選定字段,并根據(jù)所選定的字段 建立如圖5所示的虛擬表500,在本實(shí)施例中,假設(shè)第一數(shù)據(jù)表300包含有 "識(shí)別碼"字段310、"單詞"字段320、"音標(biāo)"字段330、"解釋"字段340、"例句"字段350以及"字典類型"字段360,則索引模塊120會(huì) 從第一數(shù)據(jù)表300中選定"識(shí)別碼"字段310、"單詞,,字段320、"解釋" 字段340以及"字典類型,,字段360 (步驟210)來建立虛擬表500 (步驟 220)。而若要從兩個(gè)以上的數(shù)據(jù)表中挑選字段,則被挑選的字段所在的數(shù)據(jù)表 中,必須要有可以對(duì)應(yīng)的字l殳,如圖4A以及圖4B所示,第二數(shù)據(jù)表401 中包含"識(shí)別碼"字段410、"單詞"字段420、"音標(biāo)"字段430以及"字 典類型,,字段450,第三數(shù)據(jù)表402中包含"識(shí)別碼,,字段410以及"解釋,, 字段440,由于第二數(shù)據(jù)表401與第三數(shù)據(jù)表403都有相同的"識(shí)別碼,,字 段410,因此索引模塊120可以由第二數(shù)據(jù)表402與第三數(shù)據(jù)表選定"識(shí)別 碼"字段410、"單詞,,字段420、"解釋,,字段440以及"字典類型"字 段460 (步驟210 )來建立虛擬表500 (步驟220 )。值得一提的是,各數(shù)據(jù)表相對(duì)應(yīng)的字段并不一定要是"識(shí)別碼"字段 410,凡兩數(shù)據(jù)表兼具有相同含意的字段即可作為對(duì)應(yīng)的字段來建立虛擬表 500,而在以三個(gè)以上的數(shù)據(jù)表中的字段來建立虛擬表500時(shí),任意的兩數(shù) 據(jù)表間可以不同的字段來建立對(duì)應(yīng)關(guān)系,例如有第四數(shù)據(jù)表、第五數(shù)據(jù)表及 第六數(shù)據(jù)表,則第四數(shù)據(jù)表與第五數(shù)據(jù)表可以某一字段建立對(duì)應(yīng)關(guān)系,第五 數(shù)據(jù)表與定六數(shù)據(jù)表則以另 一字段建立對(duì)應(yīng)關(guān)系,如此仍然可以由第四數(shù)據(jù) 表、第五數(shù)據(jù)表及第六數(shù)據(jù)表建立虛擬表。經(jīng)由建立虛擬表500的過程(步驟210、步驟220),檢索模塊150所 要檢索的字段被索引模塊120以虛擬連接的方式提取出來,檢索模塊150不 再需要至各數(shù)據(jù)表中查找數(shù)據(jù),使得檢索模塊150進(jìn)行數(shù)據(jù)檢索時(shí)的速度加 快。在索引模塊120建立虛擬表400后,接收模塊130接收使用者所輸入的 查詢字詞(步驟230),假設(shè)使用者要輸入查詢"go"的例句,接收模塊130 便接收到查詢字詞"go"。接著,檢索模塊150會(huì)在虛擬表500連接的所有字段中,檢索包含查詢 字詞"go"的數(shù)據(jù),由于虛擬表500的"單詞"字段520所連接的"單詞" 字段320中,只有一筆儲(chǔ)存有"go"的數(shù)據(jù),而其他字段所連接的字段的數(shù)據(jù)中都沒有儲(chǔ)存"go"的數(shù)據(jù),因此,檢索模塊150將包含查詢字詞"go"
的該筆數(shù)據(jù)中的"識(shí)別碼"字段510所連接的字段的數(shù)據(jù)讀取出來,作為索 引值,也就是說,檢索模塊150所檢索出的索引值為"5"(步驟250)。
事實(shí)上,索引模塊120在建立虛擬表500 (步驟220)時(shí),還可以先行 定義提供給檢索模塊150查找數(shù)據(jù)的第一特定字段,在本實(shí)施例中,由于查 找的數(shù)據(jù)必定為文字,因此索引模塊120定義第一特定字段為"單詞"字段 520以及"解釋"字段540,如此,檢索模塊150通過虛擬表500查找與查 詢字詞相對(duì)應(yīng)的索引值(步驟250 )時(shí),索引模塊150不需要比對(duì)虛擬表500 所連接的所有字段的數(shù)據(jù),而只需比對(duì)"單詞,,字段520以及"解釋"字段 540所連接的"單詞"字段320以及"解釋,,字段340字段的數(shù)據(jù)即可。
另外,由于第一數(shù)據(jù)表300中的各字段的數(shù)據(jù)類型不一定相同,為了避 免因?yàn)椴幌嗤臄?shù)據(jù)類型而造成的檢索模塊150無法正確的查找出與查詢 字詞相對(duì)應(yīng)于索引值,本發(fā)明還包含了一個(gè)類型轉(zhuǎn)換模塊180,負(fù)責(zé)在檢索 模塊150要查找的字段與要進(jìn)行查找的查詢字詞的數(shù)據(jù)類型不同時(shí),將接收 模塊130所接收的查詢字詞轉(zhuǎn)換為與檢索模塊150要查找的字段相同的數(shù)據(jù) 類型,以此提供檢索模塊150查找出索引值。
在檢索模塊150檢索出索引值(步驟250)后,檢索模塊150會(huì)依據(jù)索 引值"5"至儲(chǔ)存模塊U0所儲(chǔ)存的數(shù)據(jù)表300中查找相對(duì)應(yīng)的例句(步驟 260),實(shí)際上也就是查找包含查詢字詞"go"的例句"Where did she go ", 如此,使用者便可以獲得其所要查詢的例句。
事實(shí)上,索引模塊120建立虛擬表500 (步驟220),必須在檢索模塊 150開始檢索索引值(步驟250)之前,因此,索引模塊120可以在第一數(shù) 據(jù)表300建立時(shí), 一并建立虛擬表500,并在第一數(shù)據(jù)表300經(jīng)過變動(dòng)之后 就相應(yīng)的更新虛擬表500來使虛擬表中的數(shù)據(jù)與第 一數(shù)據(jù)表300相對(duì)應(yīng),也 可以在接收模塊130接收到使用者所輸入的查詢字詞(步驟230)之后,再 動(dòng)態(tài)的建立虛擬表500。
綜上所述,可知本發(fā)明與現(xiàn)有技術(shù)之間的差異在于具有建立包含要被查 找的字段的虛擬表的技術(shù)手段,通過此技術(shù)手段可以解決現(xiàn)有技術(shù)所存在的 查詢不同數(shù)據(jù)表中的數(shù)據(jù)時(shí)需要消耗較高的硬件資源的問題,進(jìn)而達(dá)到加快查找速度的技術(shù)功效。
若使用者輸入的查找字詞有詞性上的變化,例如名詞的單復(fù)數(shù)、動(dòng)詞的 時(shí)態(tài)等等,則為了維持使用者希望查詢的本意,本發(fā)明還包含一個(gè)詞性查找
模塊190,負(fù)責(zé)在接收模塊130接收到查詢字詞后,至儲(chǔ)存模塊110中查找
所輸入的查詢字詞在各種詞性上的變化,并將查找出來的各個(gè)單詞定義為新
的查詢字詞,使得檢索模塊150可以依據(jù)新的查詢字詞并通過虛擬表500查 找索引值,在上述的實(shí)施例中,詞性查找模塊l卯將查找出查詢字詞"go" 的詞形變化有"goes" 、 "went" 、 "gone"以及"going",因此詞性查找 模塊l卯會(huì)定義"go" 、 "goes" 、 "went" 、 "gone"以及"going"為新 的查找字詞,分別至虛擬表500所連接的字段中查找對(duì)應(yīng)的索引值。
上述實(shí)施例的檢索模塊150除了精準(zhǔn)比對(duì)之外,也提供^f莫糊比對(duì)的功 能,也就是說,使用者可以只輸入查詢字詞的一部分來進(jìn)行數(shù)據(jù)的查找,并 在要進(jìn)行模糊比對(duì)的部分加上包含但不限于星號(hào)(* )、問號(hào)(?)等特殊 字符,例如,使用者可以輸入"*go,,作為查詢字詞,在接收模塊130接收 到查詢字詞之后,檢索模塊150會(huì)通過虛擬表500中查找最后兩個(gè)字母為 "go"的所有數(shù)據(jù)的索引值;而若接收模塊130接收到的查詢字詞為"go ", 則檢索模塊150會(huì)通過虛擬表500中查找起始字母為"go" , "go"之后僅 有一個(gè)字符的數(shù)據(jù)的索引值。
若在上述檢索模塊150通過虛擬表500查找索引值的過程(步驟250 ) 中,若檢索模塊150所查找出的索引值非常的多,則可以進(jìn)一步以第二特定 字段過濾索引值。 一般而言,用來過濾索引值的第二特定字段通常為虛擬表 500中未被檢索模塊150進(jìn)行數(shù)據(jù)比對(duì)的字段,例如上述的實(shí)施例中的"字 典類型"字段560,也就是說,為了避免查找出來的索引值過多,檢索模塊 150可以"字典類型,,字段560進(jìn)行篩選,例如當(dāng)使用者所輸入的查詢字詞 為"win",檢索模塊150查找對(duì)應(yīng)于"win"的索引值時(shí),會(huì)查找出兩個(gè)索 引值"8"以及"9",而當(dāng)檢索模塊150—并查找字段值為"5"的數(shù)據(jù)后, 將只查找出一個(gè)索引值"8"。
再者,本發(fā)明的提取數(shù)據(jù)字段以提供查找的方法,可實(shí)現(xiàn)于硬件、軟件 或硬件與軟件的組合中,也可在電腦系統(tǒng)中以集中方式實(shí)現(xiàn)或以不同元件散布于若干互連的電腦系統(tǒng)的分散方式實(shí)現(xiàn)。
雖然本發(fā)明所揭露的實(shí)施方式如上,但所述的內(nèi)容并非用以直接限定本 發(fā)明的專利保護(hù)范圍。任何本發(fā)明所屬技術(shù)領(lǐng)域技術(shù)人員,在不脫離本發(fā)明 所揭露的精神和范圍之內(nèi),在實(shí)施的形式上及細(xì)節(jié)上所作的改變和變形,均 屬本發(fā)明的專利保護(hù)范圍 因此本發(fā)明的專利保護(hù)范圍仍須以本說明書所附 的權(quán)利要求書為準(zhǔn)。
權(quán)利要求
1、一種提取數(shù)據(jù)字段以提供查找的系統(tǒng),其特征在于,該系統(tǒng)包含一儲(chǔ)存模塊,用于儲(chǔ)存至少一數(shù)據(jù)表;一索引模塊,用于從該數(shù)據(jù)表中選定多個(gè)字段,并建立包含該些字段的一虛擬表;一接收模塊,用于接收一查詢字詞;及一檢索模塊,用于通過該虛擬表查找查詢字詞對(duì)應(yīng)的至少一索引值,并用于至數(shù)據(jù)表中查找該索引值對(duì)應(yīng)的查詢結(jié)果。
2、 如權(quán)利要求1所述的提取數(shù)據(jù)字段以提供查找的系統(tǒng),其特征在于, 該索引模塊還用于定義一第一特定字段,使該檢索模塊至第一特定字段查找 查詢字詞對(duì)應(yīng)的索引值。
3、 如權(quán)利要求1所述的提取數(shù)據(jù)字段以提供查找的系統(tǒng),其特征在于, 該檢索模塊是依據(jù)該虛擬表中的第二特定字段過濾被查找出的該些索引值。
4、 如權(quán)利要求1所述的提取數(shù)據(jù)字段以提供查找的系統(tǒng),其特征在于, 該系統(tǒng)還包含一詞性查找模塊,用于查找查詢字詞的詞形變化,以提供該檢 索^f莫塊依據(jù)該些查詢字詞的詞形變化查找索引值。
5、 如權(quán)利要求1所述的提取數(shù)據(jù)字段以提供查找的系統(tǒng),其特征在于, 該檢索模塊還用于使用模糊比對(duì)查找查詢字詞對(duì)應(yīng)的索引值。
6、 如權(quán)利要求1所述的提取數(shù)據(jù)字段以提供查找的系統(tǒng),其特征在于, 該系統(tǒng)還包含一類型轉(zhuǎn)換^t塊,用于轉(zhuǎn)換該查詢字詞的數(shù)據(jù)類型,以提供該 檢索模塊至該虛擬表中查找該索引值。
7、 一種提取數(shù)據(jù)字段以提供查找的方法,其特征在于,該方法包含下 列步驟由至少一數(shù)據(jù)表中選定多個(gè)字段; 建立包含該些字段的一虛擬表;4妻收一查詢字詞;通過該虛擬表查找對(duì)應(yīng)該查詢字詞的至少 一 索引值;及至該些數(shù)據(jù)表中查找該些索引值對(duì)應(yīng)的查詢結(jié)果。
8、 如權(quán)利要求7所述的提取數(shù)據(jù)字段以提供查找的方法,其特征在于, 該查找該索引值的步驟還包含通過該虛擬表的第一特定字段查找該查詢字 詞的步驟。
9、 如權(quán)利要求7所述的提取數(shù)據(jù)字段以提供查找的方法,其特征在于, 該查找該索引值的步驟還包含依據(jù)該虛擬表中的第二特定字段過濾被查找 出的該些索引值的步驟。
10、 如權(quán)利要求7所述的提取數(shù)據(jù)字段以提供查找的方法,其特征在 于,該方法還包含在接收到查詢字詞之后,查找該查詢字詞的詞形變化,并 定義該查詢字詞的詞形變化為新的查詢字詞的步驟。
11、 如權(quán)利要求7所述的提取數(shù)據(jù)字段以提供查找的方法,其特征在 于,該查找該索引值的步驟還包含以模糊比對(duì)查找該查詢字詞對(duì)應(yīng)的該索引 值的步驟。
12、 如權(quán)利要求7所述的提取數(shù)據(jù)字段以提供查找的方法,其特征在 于,該查找該索引值的步驟還包含一轉(zhuǎn)換該查詢字詞的數(shù)據(jù)類型的步驟。
全文摘要
一種提取數(shù)據(jù)字段以提供查找的系統(tǒng)及其方法,其在建立包含要被查找的字段的虛擬表后,通過虛擬表中查找到查詢字詞所對(duì)應(yīng)的索引值,再依據(jù)索引值至數(shù)據(jù)表中查找查詢結(jié)果,可以解決現(xiàn)有技術(shù)中所存在的查詢不同數(shù)據(jù)表中的數(shù)據(jù)時(shí),需要消耗較高的硬件資源的問題,以此可以達(dá)到加快查找速度的技術(shù)功效。
文檔編號(hào)G06F17/30GK101533397SQ20081008475
公開日2009年9月16日 申請(qǐng)日期2008年3月14日 優(yōu)先權(quán)日2008年3月14日
發(fā)明者瑋 馮, 邱全成 申請(qǐng)人:英業(yè)達(dá)股份有限公司