專利名稱:數(shù)據(jù)搜尋方法與相關(guān)裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明是有關(guān)數(shù)據(jù)搜尋的方法與相關(guān)裝置,尤指為每一筆待搜尋數(shù)據(jù)建立對應(yīng)的索引值,并依據(jù)這些索引值來進(jìn)行數(shù)據(jù)搜尋的方法與相關(guān)裝置。
背景技術(shù):
由于技術(shù)的進(jìn)步,許多電子產(chǎn)品或通訊裝置變得越來越輕巧,讓使用者可以方便地隨身攜帶。舉例而言,手機(jī)或個人數(shù)字助理(PDA)等可攜式消費性電子產(chǎn)品(digital consumer electronics),在許多人的日常生活或工作中扮演了相當(dāng)重要的角色。
使用者通常會在其手機(jī)或PDA中儲存許多的數(shù)據(jù),例如朋友、家人或客戶的姓名、地址、電子郵件地址、電話號碼、或是經(jīng)常瀏覽的網(wǎng)址等等。因此,如何讓使用者能從眾多的數(shù)據(jù)當(dāng)中迅速、方便地搜尋到其想要的數(shù)據(jù),是設(shè)計這些產(chǎn)品時所需考慮的一項重要議題。
當(dāng)使用者要從手機(jī)或PDA所儲存的許多筆數(shù)據(jù)中找尋一筆或數(shù)筆數(shù)據(jù)時,已知的方法之一是利用選擇鍵(selection key)來逐步篩選數(shù)據(jù)。眾所周知,這種搜尋方法的效率并不理想,尤其是數(shù)據(jù)量為數(shù)可觀的時候。
另一種已知方法是由使用者依序輸入欲搜尋數(shù)據(jù)的前幾個字符,而系統(tǒng)則會按照使用者所輸入的字符序列依序篩選出符合條件的數(shù)據(jù)。例如,當(dāng)使用者輸入字符「a」時,系統(tǒng)會自數(shù)據(jù)庫或記憶單元中篩選出所有以字符「a」開頭的數(shù)據(jù)。若使用者接著輸入字符「s」,則系統(tǒng)會進(jìn)一步自以字符「a」開頭的數(shù)據(jù)中篩選出第二個字符為「s」的數(shù)據(jù)。依此類推,若使用者輸入字符「u」,則系統(tǒng)會自所有以字符串「as」開頭的數(shù)據(jù)中選取第三個字符為「u」的數(shù)據(jù),隨著使用者所輸入的字符數(shù)的增加,符合條件的數(shù)據(jù)會逐漸減少。最后,使用者便能利用選擇鍵從少數(shù)符合條件的數(shù)據(jù)中選取其想要的數(shù)據(jù)。
然而,相較于計算機(jī)的鍵盤而言,手機(jī)或PDA等電子產(chǎn)品上的按鍵數(shù)量有限,故使用者輸入搜尋字符時的便利性與效率會受到影響。例如,假設(shè)手機(jī)上的按鍵“2”代表英文字母的「a」、「b」和「c」,則一般的設(shè)計是使用者需要連按三次按鍵“2”才能輸入一個英文字母「c」。同理,使用者需連按四次按鍵“7”才能輸入一個英文字母「s」。此外,若欲輸入的搜尋字符是除了數(shù)字及英文字母以外的其它文字,例如中文字或日文字,則使用者通常亦需要按好幾個按鍵才能完成一個字符的輸入操作。由上述可知,已知的數(shù)據(jù)搜尋方法在使用便利性與數(shù)據(jù)搜尋效率等方面實有待改善。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的之一在于提供具有更佳的使用便利性與數(shù)據(jù)搜尋效率的數(shù)據(jù)搜尋方法與相關(guān)裝置。
在本發(fā)明的實施例中,揭露了一種用于電子裝置的數(shù)據(jù)搜尋方法,該電子裝置儲存有多筆字符串?dāng)?shù)據(jù),該數(shù)據(jù)搜尋方法包含有產(chǎn)生分別對應(yīng)于該多筆字符串?dāng)?shù)據(jù)的多個索引值(index value);接收輸入值序列;以及自該多筆字符串?dāng)?shù)據(jù)中搜尋出索引值的局部符合該輸入值序列的至少一筆目標(biāo)數(shù)據(jù);其中每一索引值與該輸入值序列具有相同的數(shù)據(jù)類型。
本發(fā)明的實施例中另揭露一種用于電子裝置的數(shù)據(jù)搜尋電路,其包含有儲存介質(zhì),用來儲存多筆字符串?dāng)?shù)據(jù);索引值產(chǎn)生單元,電連接于該儲存介質(zhì),用來產(chǎn)生分別對應(yīng)于該多筆字符串?dāng)?shù)據(jù)的多個索引值;以及搜尋模塊,電連接于該儲存介質(zhì),用來接收輸入值序列,并自該多筆字符串?dāng)?shù)據(jù)中搜尋出索引值的局部符合該輸入值序列的至少一筆目標(biāo)數(shù)據(jù);其中每一索引值與該輸入值序列具有相同的數(shù)據(jù)類型。
在本發(fā)明的實施例中,還揭露了一種用于電子裝置的數(shù)據(jù)搜尋方法,該電子裝置儲存有多筆字符串?dāng)?shù)據(jù),該數(shù)據(jù)搜尋方法包含有產(chǎn)生分別對應(yīng)于該多筆字符串?dāng)?shù)據(jù)的多個索引值;接收輸入值序列;依據(jù)該輸入值序列界定出目標(biāo)范圍;以及自該多筆字符串?dāng)?shù)據(jù)中搜尋出索引值位于該目標(biāo)范圍內(nèi)的至少一筆目標(biāo)數(shù)據(jù);其中每一索引值與該輸入值序列具有相同的數(shù)據(jù)類型。
第1圖為本發(fā)明用于電子裝置中的數(shù)據(jù)搜尋電路的第一實施例的方塊圖。
第2圖為本發(fā)明的數(shù)據(jù)搜尋方法的第一實施例的流程圖。
第3圖為本發(fā)明的數(shù)據(jù)搜尋電路的第二實施例的方塊圖。
第4圖為本發(fā)明的數(shù)據(jù)搜尋方法的第二實施例的流程圖。
100、300數(shù)據(jù)搜尋電路110 儲存介質(zhì)120 索引值產(chǎn)生單元130、330搜尋模塊140 緩沖器332 決定單元334 搜尋單元具體實施方式
本發(fā)明所提出的數(shù)據(jù)搜尋方法與相關(guān)裝置,在實作上可應(yīng)用于許多可攜式通訊裝置(如手機(jī))、PDA、或其它數(shù)字信息產(chǎn)品等電子裝置中。一般而言,使用者在這些電子裝置中所儲存的數(shù)據(jù),有許多是由字母(letter)、雙位字(double-byte character)、數(shù)字(number)、或標(biāo)點符號(punctuation mark)等字符(character)所組成的字符串?dāng)?shù)據(jù)(string)。例如,朋友、家人或客戶的姓名、地址、電子郵件地址、電話號碼、或是經(jīng)常瀏覽的網(wǎng)址等等。這些字符串?dāng)?shù)據(jù)中可能會包含有至少一個區(qū)隔符號(delimiter)。為方便說明,在此系將除了字母、雙位字及數(shù)字以外的所有字符皆歸類為區(qū)隔符號,例如空格、標(biāo)點符號、_、-、 /、\、或其它特殊符號等等。以下將進(jìn)一步說明本發(fā)明搜尋這些字符串?dāng)?shù)據(jù)的操作方式。
請參考第1圖及第2圖。第1圖是依據(jù)本發(fā)明第一實施例所繪示用于電子裝置中的數(shù)據(jù)搜尋電路100的方塊圖。第2圖為本發(fā)明的數(shù)據(jù)搜尋方法的第一實施例的流程圖200。如第1圖所示,數(shù)據(jù)搜尋電路100包含有儲存介質(zhì)110,用來儲存多筆字符串?dāng)?shù)據(jù);以及電連接于儲存介質(zhì)110的索引值產(chǎn)生單元(index generator)120與搜尋模塊(searching module)130。實作上,儲存介質(zhì)110可用單一儲存元件來實現(xiàn),如該電子裝置上內(nèi)建的存儲器、外加的記憶卡或是其它光學(xué)或磁性儲存裝置等,亦可以是組合不同類型儲存元件的儲存模塊。為方便說明,以下假設(shè)數(shù)據(jù)搜尋電路100是應(yīng)用于手機(jī),并配合第2圖來說明數(shù)據(jù)搜尋電路100的操作方式。
在步驟210中,索引值產(chǎn)生單元120會產(chǎn)生分別對應(yīng)儲存介質(zhì)110中所儲存的該多筆字符串?dāng)?shù)據(jù)的多個索引值(index value)。實作上,索引值產(chǎn)生單元120可依據(jù)預(yù)設(shè)規(guī)則產(chǎn)生每一筆字符串?dāng)?shù)據(jù)所對應(yīng)的索引值。在本實施例中,索引值產(chǎn)生單元120所產(chǎn)生的該多個索引值均為數(shù)字(number)。以字符串?dāng)?shù)據(jù)中的字母或數(shù)字類型的字符為例,索引值產(chǎn)生單元120可依據(jù)這些字符與手機(jī)按鍵模塊(key pad)上的按鍵號碼的對映關(guān)系(map ping),將這些字符轉(zhuǎn)換成相對應(yīng)的數(shù)字。例如,假設(shè)該手機(jī)的按鍵模塊(key pad)上的按鍵號碼與英文字母及數(shù)字的對映關(guān)系如下按鍵“0”數(shù)字「0」;按鍵“1”數(shù)字「1」;按鍵“2”數(shù)字「2」、字母「a」、「b」、「c」;按鍵“3”數(shù)字「3」、字母「d」、「e」、「f」;按鍵“4”數(shù)字「4」、字母「g」、「h」、「i」;按鍵“5”數(shù)字「5」、字母「j」、「k」、「l」;按鍵“6”數(shù)字「6」、字母「m」、「n」、「o」;按鍵“7”數(shù)字「7」、字母「p」、「q」、「r」、「s」;按鍵“8”數(shù)字「8」、字母「t」、「u」、「v」;以及按鍵“9”數(shù)字「9」、字母「w」、「x」、「y」、「z」。
依據(jù)上述對映關(guān)系,索引值產(chǎn)生單元120可將字符串?dāng)?shù)據(jù)中的字母「a」、「b」或「c」轉(zhuǎn)換成一數(shù)字「2」,將字母「d」、「e」或「f」轉(zhuǎn)換成一數(shù)字「3」,以此類推。舉例而言,假設(shè)儲存介質(zhì)110中儲存了兩筆字符串?dāng)?shù)據(jù)「Randy」及「Alex316」,則索引值產(chǎn)生單元120可依據(jù)前述字符與按鍵號碼的對映關(guān)系將字符串「Randy」轉(zhuǎn)換成一索引值「72639」,而將字符串「Alex316」轉(zhuǎn)換成另一索引值「2539316」。同樣地,索引值產(chǎn)生單元120可利用類似的概念將其它語言中的字母轉(zhuǎn)換成對應(yīng)的數(shù)字。實作上,按鍵模塊的按鍵號碼與字母及數(shù)字的對映關(guān)系亦可采用其它的設(shè)計選擇(design choice)來實現(xiàn)。
如前所述,儲存介質(zhì)110所儲存的每一筆字符串?dāng)?shù)據(jù)當(dāng)中,可能會包含有字母及數(shù)字以外的其它類型字符,例如雙位字(中文字、日文字、韓文字等)、標(biāo)點符號(punctuation mark)、或其它如前所述的區(qū)隔字符(delimiter)等等。針對非字母及數(shù)字的每一字符,索引值產(chǎn)生單元120可依據(jù)該字符于預(yù)定輸入法下的輸入規(guī)則來將該字符轉(zhuǎn)換為相對應(yīng)的數(shù)字。以下將以中文字符串「張發(fā)明」為例,來說明雙位字字符串的索引值產(chǎn)生方法。
「張」、「發(fā)」、「明」這三個漢字字符的注音(phonetic notation)分別是「ㄓㄤ」、「ㄈ丫」及「ㄇㄧㄥ/」。在步驟210中,索引值產(chǎn)生單元120可依據(jù)注音輸入法(phonetic input method)的輸入規(guī)則,將這三個漢字字符分別轉(zhuǎn)換成與其第一個注音符號相對應(yīng)的按鍵號碼。例如,假設(shè)注音「ㄓ」對應(yīng)按鍵模塊上的按鍵號碼“3”、注音「ㄈ」對應(yīng)于按鍵號碼“1”、而注音「ㄇ」系對應(yīng)于按鍵號碼“7”,則索引值產(chǎn)生單元120可將中文字符串「張發(fā)明」轉(zhuǎn)換成索引值「317」。
請注意,前述中文字符串「張發(fā)明」所對應(yīng)的索引值,可能會隨著索引值產(chǎn)生單元120所參考的中文輸入法類型而有所不同。例如,在漢語拼音輸入法(Hanyu Pinyin input method)中,「張」、「發(fā)」、「明」這三個漢字字符的拼音方式分別是「zhang」、「fa」及「ming」。在步驟210中,索引值產(chǎn)生單元120可將這些漢字字符轉(zhuǎn)換成與其拼音的第一個字母相對應(yīng)的按鍵號碼。舉例來說,依據(jù)前述字母與按鍵號碼的對映關(guān)系,以及漢語拼音輸入法下的輸入規(guī)則,可將中文字符串「張發(fā)明」發(fā)音字母中第一字符「zfm」轉(zhuǎn)換成索引值「936」。實作上,索引值產(chǎn)生單元120產(chǎn)生雙位字的索引值時所參考的輸入法類型,亦可設(shè)計成由使用者來設(shè)定或選擇。
同理,對一筆字符串?dāng)?shù)據(jù)中的每一區(qū)隔字符(包含所有的標(biāo)點符號在內(nèi))而言,索引值產(chǎn)生單元120可依據(jù)該區(qū)隔字符于預(yù)定輸入法下的輸入規(guī)則,將該區(qū)隔元字轉(zhuǎn)換為相對應(yīng)的數(shù)字。舉例而言,在某些手機(jī)中,使用者需通過按鍵“0”來輸入?yún)^(qū)隔字符。在此情況下,索引值產(chǎn)生單元120可將字符串?dāng)?shù)據(jù)中的每一區(qū)隔字符均轉(zhuǎn)換成數(shù)字「0」。例如,索引值產(chǎn)生單元120可將字符串「Randy_Change」轉(zhuǎn)換成索引值「726390242643」。在另一些手機(jī)中,使用者需通過按鍵“*”來輸入?yún)^(qū)隔字符。此時,索引值產(chǎn)生單元120可將字符串?dāng)?shù)據(jù)中的每一區(qū)隔字符均轉(zhuǎn)換成預(yù)設(shè)數(shù)字,例如可為數(shù)字「0」或「1」的其中之一。
實作上,索引值產(chǎn)生單元120于進(jìn)行步驟210的索引值產(chǎn)生操作時,亦可單純地忽略掉字符串?dāng)?shù)據(jù)中的所有區(qū)隔字符,只依據(jù)字符串?dāng)?shù)據(jù)中的字母、雙位字或數(shù)字來產(chǎn)生對應(yīng)的索引值。例如,索引值產(chǎn)生單元120可依據(jù)前述字符與按鍵號碼的對映關(guān)系將字符串「Randy_Change」轉(zhuǎn)換成索引值「72639242643」,其中,因底線「_」為一區(qū)隔字符,故不會被轉(zhuǎn)換為任何數(shù)字。
請注意,索引值產(chǎn)生單元120可將步驟210中所產(chǎn)生的多個索引值儲存于儲存介質(zhì)110或是其它的儲存元件中。
在步驟220中,搜尋模塊130會接收由輸入模塊(未顯示)所傳來的輸入值序列。該輸入模塊可能會隨著應(yīng)用數(shù)據(jù)搜尋電路100的該電子裝置的類型而有所不同。舉例而言,若該電子裝置為手機(jī),則該輸入模塊通常是該手機(jī)上的按鍵模塊(key pad)。倘若該電子裝置為PDA,則該輸入模塊可能是該PDA上的觸控面板(touch panel)。此外,該輸入模塊亦可能是其它可供使用者輸入數(shù)據(jù)的接口,例如,鍵盤、手寫輸入板、或是讓使用者能通過聲音來操控該電子裝置的聲控模塊等等。搜尋模塊130會將該輸入值序列轉(zhuǎn)換成與步驟210中所產(chǎn)生的索引值相同的數(shù)據(jù)類型,以前述例子而言即數(shù)字序列。但當(dāng)應(yīng)用數(shù)據(jù)搜尋電路100的該電子裝置為手機(jī)時,由于手機(jī)的按鍵模塊所傳來的該輸入值序列即為數(shù)字序列,故不需進(jìn)行前述的轉(zhuǎn)換操作。如第1圖所示,數(shù)據(jù)搜尋電路100還可于搜尋模塊130之前設(shè)置緩沖器140,用來緩沖自該輸入模塊所傳來的該輸入值序列。
接著,在步驟230中,搜尋模塊130會自儲存介質(zhì)110所儲存的該多筆字符串?dāng)?shù)據(jù)中,搜尋出索引值的局部符合該輸入值序列的至少一筆目標(biāo)數(shù)據(jù)。為方便說明,假設(shè)儲存介質(zhì)110儲存有以下多筆字符串?dāng)?shù)據(jù)及相對應(yīng)的索引值字符串?dāng)?shù)據(jù)索引值A(chǔ)lex316 2539316張發(fā)明 317David-S 328437Randy_Change72639242643Paul G. 72854Sara W. 72729Smith-428 76484428Ryan7926當(dāng)該輸入值序列為「72」時,搜尋模塊130可自儲存介質(zhì)110中搜尋索引值的開頭部分為「72」的字符串?dāng)?shù)據(jù)來作為目標(biāo)數(shù)據(jù)。在本例中,搜尋模塊130搜尋的結(jié)果會得到三筆字符串?dāng)?shù)據(jù)「Randy_Change」、「Paul G.」及「Sara W.」。搜尋模塊130可將搜尋所得的結(jié)果暫存于緩沖器或存儲器堆棧中,并顯示于該電子裝置的顯示屏(未顯示)上,讓使用者可利用選擇鍵從中選取想要的數(shù)據(jù)。若使用者繼續(xù)按下按鍵模塊上的按鍵“6”,則該輸入值序列會變成「726」。此時搜尋模塊130便可從索引值開頭部分為「72」的字符串?dāng)?shù)據(jù)中搜尋索引值開頭部分為「726」的字符串?dāng)?shù)據(jù)。最后,搜尋模塊130會找到唯一一筆符合條件的字符串?dāng)?shù)據(jù)「Randy_Change」。
換言之,使用者只要按下所欲尋找的字符串?dāng)?shù)據(jù)的前幾個字符所對應(yīng)的按鍵,搜尋模塊130便能將按鍵模塊所傳來的數(shù)字序列與每一筆字符串?dāng)?shù)據(jù)的索引值的開頭部分作比對,以找出索引值符合條件的字符串?dāng)?shù)據(jù)。如此一來,將可大幅提升使用者使用上的便利性。此外,由于搜尋模塊130在步驟230中無需將該數(shù)字序列轉(zhuǎn)換成所有可能的字符組合,或是將該多筆字符串?dāng)?shù)據(jù)轉(zhuǎn)換成對應(yīng)的數(shù)字字符串,故可有效提升數(shù)據(jù)搜尋的速度。
實作上,在前述的步驟210中,索引值產(chǎn)生單元120可設(shè)限每一個索引值的最大字符長度,以減少儲存這些索引值所需的存儲器空間,或是將每一個索引值的字符長度均設(shè)定相同的整數(shù)。
例如,索引值產(chǎn)生單元120可將每一個索引值的字符長度均設(shè)為M。在一較佳實施例中,若一筆字符串?dāng)?shù)據(jù)不包括區(qū)隔符號(delimiter)在內(nèi)的總字符數(shù)為小于M的整數(shù)值N,則索引值產(chǎn)生單元120于步驟210中會將該筆字符串?dāng)?shù)據(jù)中不包括區(qū)隔符號在內(nèi)的N個字符轉(zhuǎn)換成N個數(shù)字,并依據(jù)該N個數(shù)字產(chǎn)生對應(yīng)該筆字符串?dāng)?shù)據(jù)的索引值。例如,索引值產(chǎn)生單元120可于該N個數(shù)字之后補上P個“0”,其中P=M-N,以使該索引值的字符長度成為M。以前述之字符串?dāng)?shù)據(jù)「Ryan」為例,若M=6,則該筆字符串?dāng)?shù)據(jù)「Ryan」的索引值會變成「792600」。
倘若該筆字符串?dāng)?shù)據(jù)不包括區(qū)隔符號(delimiter)在內(nèi)的總字符數(shù)不小于M,則索引值產(chǎn)生單元120會將該筆字符串?dāng)?shù)據(jù)中不包括區(qū)隔符號在內(nèi)的前M個字符轉(zhuǎn)換成M個數(shù)字,以作為該索引值。以前述的字符串?dāng)?shù)據(jù)「Randy_Change」為例,當(dāng)M=6時,則字符串?dāng)?shù)據(jù)「Randy_Change」的索引值會被截短為「726392」。
請參考第3圖及第4圖。第3圖是依據(jù)本發(fā)明的第二實施例所繪示的數(shù)據(jù)搜尋電路300的方塊圖。第4圖為本發(fā)明的數(shù)據(jù)搜尋方法的第二實施例的流程圖400。數(shù)據(jù)搜尋電路300與前述的數(shù)據(jù)搜尋電路100很類似,故以相同的編號來標(biāo)示操作與實施方式相類似的元件。數(shù)據(jù)搜尋電路300與數(shù)據(jù)搜尋電路100的差異,在于數(shù)據(jù)搜尋電路300中的搜尋模塊330還包含有決定單元332以及搜尋單元334。以下同樣假設(shè)數(shù)據(jù)搜尋電路300是應(yīng)用于手機(jī),并配合第4圖來說明數(shù)據(jù)搜尋電路300的操作方式。
在本實施例中,數(shù)據(jù)搜尋電路300的索引值產(chǎn)生單元120于步驟410中,會為儲存介質(zhì)110所儲存的每一筆字符串?dāng)?shù)據(jù)建立字符長度為M的索引值,并將所得到的索引值儲存于儲存介質(zhì)110中。索引值產(chǎn)生單元120于步驟410的操作方式與前揭說明是實質(zhì)上相同,故在此不多加贅述。假設(shè)M=6,則前述的多筆字符串?dāng)?shù)據(jù)相對應(yīng)的索引值是如下所示字符串?dāng)?shù)據(jù) 索引值A(chǔ)lex316 253931張發(fā)明 317000David-S 328437Randy_Change 726392Paul G. 728540Sara W. 727290Smith-428764844Ryan 792600在步驟420中,搜尋模塊330中的決定單元332會接收到輸入值序列。接著,決定單元332會于步驟430中依據(jù)該輸入值序列界定出目標(biāo)范圍,并將該目標(biāo)范圍的設(shè)定結(jié)果傳送給搜尋單元334。例如,若決定單元332所收到的輸入值序列為「72」,則決定單元332會將目標(biāo)范圍設(shè)定為索引值「720000」至索引值「729999」之區(qū)間。倘若該輸入值序列為「726」,則決定單元332會將目標(biāo)范圍設(shè)定為索引值「726000」至索引值「726999」的區(qū)間。
在步驟440中,搜尋模塊330中的搜尋單元334會自儲存介質(zhì)110中搜尋出索引值位于該目標(biāo)范圍內(nèi)的至少一筆目標(biāo)數(shù)據(jù)。舉例而言,當(dāng)該目標(biāo)范圍為索引值「720000」至索引值「729999」時,搜尋單元334會自儲存介質(zhì)110中找出索引值位于此區(qū)間內(nèi)的字符串?dāng)?shù)據(jù)來作為目標(biāo)數(shù)據(jù)。在本例中,搜尋的結(jié)果會得到三筆字符串?dāng)?shù)據(jù)「Randy_Change」、「Paul G.」及「SaraW.」。
若使用者繼續(xù)按下按鍵模塊上的按鍵“6”,則該輸入值序列會變成「726」,故決定單元332會將該目標(biāo)范圍縮小為索引值「726000」至「726999」的區(qū)間。此時,搜尋單元334可直接由前次搜尋的結(jié)果中,進(jìn)一步搜尋索引值位于「726000」至「726999」的區(qū)間內(nèi)的字符串?dāng)?shù)據(jù)。由于搜尋的范圍會逐次縮小,故搜尋單元334可迅速地找到符合條件的字符串?dāng)?shù)據(jù)。在本實施例中,索引值位于該目標(biāo)范圍內(nèi)的字符串?dāng)?shù)據(jù)僅有「Randy_Change」。值得注意的是,在此實施例中會逐次縮小范圍,然在此并不限制,由于本發(fā)明的搜尋速度快速,如重新再搜尋整個數(shù)據(jù)也是可行,不須限制于前次搜尋的結(jié)果中。
與前述的實施例相同,在本實施例中使用者亦只需按下所欲尋找的字符串?dāng)?shù)據(jù)的前幾個字符所對應(yīng)的按鍵,決定單元332便會依據(jù)手機(jī)的按鍵模塊所傳來的數(shù)字序列決定出目標(biāo)范圍,而搜尋單元334則會將索引值位于該目標(biāo)范圍中的字符串?dāng)?shù)據(jù)篩選出來。這樣的設(shè)計方式同樣可大幅地提升使用者使用上的便利性。
以上所述僅為本發(fā)明的較佳實施例,凡依本發(fā)明權(quán)利要求范圍所做的均等變化與修飾,皆應(yīng)屬本發(fā)明的涵蓋范圍。
權(quán)利要求
1.一種用于電子裝置的數(shù)據(jù)搜尋方法,該電子裝置儲存有多筆字符串?dāng)?shù)據(jù),該數(shù)據(jù)搜尋方法包含有產(chǎn)生分別對應(yīng)于該多筆字符串?dāng)?shù)據(jù)的多個索引值;接收輸入值序列;以及自該多筆字符串?dāng)?shù)據(jù)中搜尋出索引值的局部符合該輸入值序列的至少一筆目標(biāo)數(shù)據(jù),其中每一該些索引值與該輸入值序列具有相同的數(shù)據(jù)類型。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)搜尋方法,其中產(chǎn)生該多個索引值的步驟還包含有針對每一筆該些字符串?dāng)?shù)據(jù),依據(jù)預(yù)設(shè)規(guī)則將該筆字符串?dāng)?shù)據(jù)中的字符轉(zhuǎn)換成數(shù)字序列,以作為對應(yīng)該筆字符串?dāng)?shù)據(jù)的該索引值。
3.根據(jù)權(quán)利要求2所述的數(shù)據(jù)搜尋方法,其中該預(yù)設(shè)規(guī)則是對應(yīng)該電子裝置所采用的字符輸入法的輸入規(guī)則。
4.根據(jù)權(quán)利要求1所述的數(shù)據(jù)搜尋方法,其中產(chǎn)生該多個索引值的步驟還包含有針對每一筆字符串?dāng)?shù)據(jù),依據(jù)預(yù)設(shè)規(guī)則將該筆字符串?dāng)?shù)據(jù)中不屬于區(qū)隔符號的字符轉(zhuǎn)換成數(shù)字序列,以作為對應(yīng)該筆字符串?dāng)?shù)據(jù)的該索引值。
5.根據(jù)權(quán)利要求4所述的數(shù)據(jù)搜尋方法,其中該預(yù)設(shè)規(guī)則是對應(yīng)該電子裝置所采用的字符輸入法的輸入規(guī)則。
6.一種用于電子裝置的數(shù)據(jù)搜尋電路,其包含有儲存介質(zhì),用來儲存多筆字符串?dāng)?shù)據(jù);索引值產(chǎn)生單元,電連接于該儲存介質(zhì),用來產(chǎn)生分別對應(yīng)于該多筆字符串?dāng)?shù)據(jù)的多個索引值;以及搜尋模塊,電連接于該儲存介質(zhì),用來接收輸入值序列,并自該多筆字符串?dāng)?shù)據(jù)中搜尋出索引值的局部符合該輸入值序列的至少一筆目標(biāo)數(shù)據(jù),其中每一該些索引值與該輸入值序列具有相同的數(shù)據(jù)類型。
7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)搜尋電路,其中該輸入值序列為數(shù)字序列。
8.根據(jù)權(quán)利要求6所述的數(shù)據(jù)搜尋電路,其中該多個索引值具有相同的字符長度。
9.根據(jù)權(quán)利要求6所述的數(shù)據(jù)搜尋電路,其中該搜尋模塊包含有決定單元,用來依據(jù)該輸入值序列界定出目標(biāo)范圍;以及搜尋單元,電連接于該決定單元及該儲存介質(zhì),用來自該儲存介質(zhì)中搜尋出索引值位于該目標(biāo)范圍內(nèi)的數(shù)據(jù),以作為該目標(biāo)數(shù)據(jù)。
10.一種用于電子裝置的數(shù)據(jù)搜尋方法,該電子裝置儲存有多筆字符串?dāng)?shù)據(jù),該數(shù)據(jù)搜尋方法包含有產(chǎn)生分別對應(yīng)于該多筆字符串?dāng)?shù)據(jù)的多個索引值;接收輸入值序列;依據(jù)該輸入值序列界定出目標(biāo)范圍;以及自該多筆字符串?dāng)?shù)據(jù)中搜尋出索引值位于該目標(biāo)范圍內(nèi)的至少一筆目標(biāo)數(shù)據(jù),其中每一索引值與該輸入值序列具有相同的數(shù)據(jù)類型。
11.根據(jù)權(quán)利要求10所述的數(shù)據(jù)搜尋方法,其中產(chǎn)生該多個索引值的步驟還包含有針對每一筆字符串?dāng)?shù)據(jù),依據(jù)預(yù)設(shè)規(guī)則將該筆字符串?dāng)?shù)據(jù)中的字符轉(zhuǎn)換成數(shù)字序列,以作為對應(yīng)該筆字符串?dāng)?shù)據(jù)的索引值。
12.根據(jù)權(quán)利要求11所述的數(shù)據(jù)搜尋方法,其中該預(yù)設(shè)規(guī)則是對應(yīng)該電子裝置所采用的字符輸入法的輸入規(guī)則。
13.根據(jù)權(quán)利要求10所述的數(shù)據(jù)搜尋方法,其中產(chǎn)生該多個索引值的步驟還包含有針對每一筆字符串?dāng)?shù)據(jù),依據(jù)預(yù)設(shè)規(guī)則將該筆字符串?dāng)?shù)據(jù)中不屬于區(qū)隔符號的字符轉(zhuǎn)換成數(shù)字序列,以作為對應(yīng)該筆字符串?dāng)?shù)據(jù)的索引值。
全文摘要
一種用于電子裝置的數(shù)據(jù)搜尋方法,該電子裝置儲存有多筆字符串?dāng)?shù)據(jù),該數(shù)據(jù)搜尋方法包含有產(chǎn)生分別對應(yīng)于該多筆字符串?dāng)?shù)據(jù)的多個索引值(index value);接收輸入值序列;以及自該多筆字符串?dāng)?shù)據(jù)中搜尋出索引值的局部符合該輸入值序列的至少一筆目標(biāo)數(shù)據(jù)。
文檔編號H04M1/23GK1900884SQ200510084800
公開日2007年1月24日 申請日期2005年7月21日 優(yōu)先權(quán)日2005年7月21日
發(fā)明者詹子平, 楊劍雄 申請人:華碩電腦股份有限公司