生成搜索樹的方法和導(dǎo)航裝置制造方法
【專利摘要】一種生成指示用于導(dǎo)航裝置的輸入接口的后續(xù)有效字符的搜索樹(25、27)的方法,所述方法包括確定搜索子樹(29),所述搜索子樹指示用于第一組字符串和不同的第二組字符串的子集兩者的后續(xù)有效字符。第一搜索樹(25)是基于關(guān)于第一組字符串的信息來生成,并且第二搜索樹(27)是基于關(guān)于第二組字符串的信息來生成。生成第一搜索樹(25)以使得第一搜索樹(25)的節(jié)點(26)引用所述搜索子樹(29)。生成第二搜索樹(27)以使得第二搜索樹(27)的另一節(jié)點(28)引用所述搜索子樹(29)。
【專利說明】生成搜索樹的方法和導(dǎo)航裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明的實施方案涉及用于導(dǎo)航裝置中的數(shù)據(jù)庫搜索。本發(fā)明的實施方案尤其涉及生成搜索樹的方法,所述搜索樹指示用于在導(dǎo)航裝置的輸入接口處輸入名稱的后續(xù)有效字符,并且涉及使用這類搜索樹的導(dǎo)航裝置。
【背景技術(shù)】
[0002]執(zhí)行像兩個位置之間的路線搜索這樣的功能的導(dǎo)航裝置是已知的。現(xiàn)代導(dǎo)航裝置還可提供另外的功能,如用作根據(jù)要求來輸出關(guān)于興趣點(POI)的信息的旅行向?qū)?。這類信息可包括街道或POI的名稱,但是還可包括另外的文本或多媒體信息。為了便于說明,一些導(dǎo)航裝置可包括旅行向?qū)Чδ芤皂憫?yīng)于接收名稱輸入來以文本和/或多媒體形式輸出關(guān)于對象的詳細說明。
[0003]為了幫助用戶輸入名稱,導(dǎo)航裝置可被配置成提供關(guān)于所有潛在后續(xù)有效字符的信息。這減少或消除用戶輸入不被導(dǎo)航裝置視為有效的名稱的風險。為了便于說明,如果導(dǎo)航裝置未存儲關(guān)于目的地城市或目的地街道的位置的信息,那么通過提供關(guān)于后續(xù)有效字符的信息和/或基于關(guān)于后續(xù)有效字符的信息來限制可能的字符輸入,可防止輸入相應(yīng)城市或街道。
[0004]關(guān)于后續(xù)有效字符的信息應(yīng)合意地在沒有實質(zhì)性延遲的情況下,S卩,在用戶仍然處于輸入名稱的過程中的情況下來提供。為了允許快速地檢索關(guān)于后續(xù)有效字符的信息,可使用專門搜索結(jié)構(gòu)。這類搜索結(jié)構(gòu)可為特定搜索樹,也稱為后續(xù)有效字符(NVC)樹。NVC樹可用于不同搜索路徑。為了便于說明,對于一個國家如德國中的有效城市名稱可存在一個NVC樹,并且對于另一個國家中的有效城市名稱可存在另一個NVC樹。對于一個城市中的有效道路名稱可存在一個NVC樹,并且對于其它城市中的有效道路名稱可存在另一個NVC樹。舉例來說,NVC樹的葉可指向例如數(shù)據(jù)庫對象。或者,NVC樹的葉也可僅僅指示不存在包括更多字符的有效名稱,或可指向其它數(shù)據(jù)結(jié)構(gòu)。為了便于說明,指示國家名稱的后續(xù)有效字符的NVC樹的葉可指向存儲相應(yīng)國家中的所有城市的后續(xù)有效字符的另一個NVC樹的根節(jié)點,或指向類似對象。
[0005]當必須考慮很多可能名稱時,用于存儲各種NVC樹的存儲空間需求可能是相當大的。添加更多的也可能需要在輸入字符期間驗證名稱輸入的有效性的功能如旅行向?qū)Чδ芸蛇M一步增加這類存儲空間需求。
【發(fā)明內(nèi)容】
[0006]因此,存在對于允許減少后續(xù)有效字符(NVC)樹的存儲空間需求的方法和導(dǎo)航裝
置的需要。
[0007]根據(jù)示例性實施方案,提供如在獨立權(quán)利要求中列舉的方法和導(dǎo)航裝置以解決這些需要。附屬權(quán)利要求限定進一步的實施方案。
[0008]根據(jù)一個實施方案,提供生成指示用于導(dǎo)航裝置的輸入接口的后續(xù)有效字符的搜索樹的方法。檢索關(guān)于第一組字符串的信息和關(guān)于第二組字符串的信息。第一組和第二組彼此不同,但是不一定為不相交的?;陉P(guān)于第一組的信息和關(guān)于第二組的信息來確定搜索子樹,其指示第一組字符串的子集和第二組字符串的另一個子集的后續(xù)有效字符?;陉P(guān)于第一組的信息來生成第一搜索樹?;陉P(guān)于第二組的信息來生成第二搜索樹。生成第一搜索樹和第二搜索樹并且存儲于數(shù)據(jù)庫中以使得第一搜索樹的節(jié)點引用搜索子樹,并且第二搜索樹的另一個節(jié)點引用搜索子樹。
[0009]通過識別指示第一組字符串的子集和第二組字符串的另一個子集的后續(xù)有效字符的搜索子樹,可減少冗余度。相同的NVC樹部分不需要存儲多次。實際上,同一個子樹可由第一搜索樹的節(jié)點和第二搜索樹的節(jié)點同時引用。
[0010]搜索子樹指示后續(xù)有效字符并且由第一搜索樹的節(jié)點和第二搜索樹的節(jié)點同時引用。這允許搜索樹以在存儲空間方面更有效的方式來存儲。搜索子樹可包括多個節(jié)點,其中至少一個節(jié)點引用搜索子樹的另一個節(jié)點,以指示后續(xù)有效字符。搜索子樹可包括多個節(jié)點,其中多個節(jié)點分別引用搜索子樹的至少兩個其它節(jié)點,以指示后續(xù)有效字符。搜索子樹可指示后續(xù)有效字符并且可由城市或道路名稱的后續(xù)有效字符的搜索樹以及興趣點的后續(xù)有效字符的另一個搜索樹同時引用。
[0011]為了確定搜索子樹,可基于關(guān)于第一組的信息來生成第一臨時搜索樹,其中第一臨時搜索樹具有用于第一組中包括的每個字符串的葉節(jié)點。可基于關(guān)于第二組的信息來生成第二臨時搜索樹,其中第二臨時搜索樹具有用于第二組中包括的每個字符串的葉節(jié)點。第一臨時搜索樹和第二臨時搜索樹可彼此比較以確定搜索子樹。第一臨時搜索樹可為用于第一組字符串的常規(guī)NVC樹。第二臨時搜索樹可為用于第二組字符串的常規(guī)NVC樹。通過將這類完整NVC搜索樹彼此比較,可容易地并且可靠地識別不同搜索樹的相同部分。
[0012]為了確定搜索子樹,可識別與第二臨時搜索樹的一部分相同的第一臨時搜索樹的一部分。由此,可有效地減少或消除冗余信息。
[0013]可基于第一臨時搜索樹來生成第一搜索樹。為此目的,第一臨時搜索樹可通過將包括在搜索子樹中的搜索路徑從第一臨時搜索樹中移除來截短。可在截短的第一臨時搜索樹的節(jié)點處添加對搜索子樹的引用。通過這類結(jié)構(gòu),對應(yīng)于例如名稱詞尾(如“...street”、'..strasse”、'..platz”)的搜索路徑部分可從第一臨時搜索樹中移除以生成第一搜索樹。通過添加對搜索子樹的引用,在第一搜索樹中開始的NVC搜索路徑可在不同于第一搜索樹的搜索子樹中繼續(xù)。
[0014]第二搜索樹可包括搜索子樹。第一搜索樹的節(jié)點可引用第二搜索樹中包括在搜索子樹中的節(jié)點。由此,第二搜索樹本身仍可代表完整NVC搜索樹。代表包括在第一組字符串中的一些字符串的子字符串的第二搜索樹的一部分可由第一搜索樹引用以減少冗余度。
[0015]或者,搜索子樹可與第一搜索樹和第二搜索樹分開。在這種情況下,生成第二搜索樹可包括截短第二臨時搜索樹,方法是將包括在搜索子樹中的搜索路徑從第二臨時搜索樹中移除??稍诮囟痰牡诙R時搜索樹的節(jié)點處添加對搜索子樹的引用。
[0016]第一搜索樹、第二搜索樹和搜索子樹可分開地存儲于數(shù)據(jù)庫中?;蛘撸诙阉鳂淇勺鳛榈谝凰阉鳂浜偷诙阉鳂渲坏囊徊糠謥泶鎯?。數(shù)據(jù)庫可為關(guān)系數(shù)據(jù)庫。第一搜索樹、第二搜索樹以及如適用時搜索子樹可作為二進制大對象(BLOB)來存儲。
[0017]第一組字符串和第二組字符串可選自國家名稱、城市名稱、街道名稱或興趣點(POI)名稱。為了便于說明,不同組字符串可對應(yīng)于一個國家中的不同城市或市區(qū)的有效街道名稱。
[0018]所述方法由電子計算裝置自動執(zhí)行。關(guān)于第一組字符串的信息可為這一組字符串本身。關(guān)于第二組字符串的信息可為這一組字符串本身?;蛘撸畔⒖赡芤呀?jīng)經(jīng)歷某種處理。為了便于說明,為了生成具有減少的冗余度的一組搜索樹,用于第一組字符串和第二組字符串的常規(guī)NVC樹可作為輸入來加以檢索,并且可經(jīng)過處理以識別同樣包括在至少兩個常規(guī)NVC樹搜索樹中的搜索路徑部分。
[0019]所述方法可應(yīng)用于兩組以上字符串。為了便于說明,搜索子樹可由兩個以上搜索樹的節(jié)點引用。也可存在一個以上搜索子樹。為了便于說明,可存在由一對搜索樹的節(jié)點引用的搜索子樹,以及由另一對搜索樹的節(jié)點引用的另一個搜索子樹。搜索樹還可引用多個不同搜索子樹。
[0020]根據(jù)另一個實施方案,提供導(dǎo)航裝置數(shù)據(jù)庫。所述數(shù)據(jù)庫存儲多個搜索樹,這些搜索樹相應(yīng)地指示用于在導(dǎo)航裝置的輸入接口處接收的名稱輸入的后續(xù)有效字符,其中第一搜索樹具有引用搜索子樹的第一節(jié)點并且第二搜索樹具有引用同一搜索子樹的第二節(jié)點。搜索子樹可指示同時用于在第一搜索樹的根節(jié)點處開始的名稱搜索以及在第二搜索樹的根節(jié)點處開始的名稱搜索的后續(xù)有效字符。數(shù)據(jù)庫可為以本文描述的任何一個方面或?qū)嵤┓桨傅姆椒▉砩傻臄?shù)據(jù)庫。
[0021]根據(jù)另一個實施方案,提供導(dǎo)航裝置。導(dǎo)航裝置包括被配置來以連續(xù)方式接收字符輸入的輸入接口。所述導(dǎo)航裝置包括數(shù)據(jù)庫,所述數(shù)據(jù)庫存儲多個搜索樹,這些搜索樹相應(yīng)地指示用于在輸入接口處接收的名稱輸入的后續(xù)有效字符,其中第一搜索樹具有引用搜索子樹的第一節(jié)點并且第二搜索樹具有引用同一搜索子樹的第二節(jié)點。導(dǎo)航裝置包括處理裝置,其耦合至輸入接口和數(shù)據(jù)庫以執(zhí)行后續(xù)有效字符搜索。處理裝置被配置成在輸入接口處接收至少一個字符輸入時使用存儲于數(shù)據(jù)庫中的多個搜索樹中的至少一個搜索樹來確定后續(xù)有效字符。所述處理裝置還被配置成在到達第一搜索樹的第一節(jié)點或第二搜索樹的第二節(jié)點時在搜索子樹中選擇性地繼續(xù)后續(xù)有效字符搜索。
[0022]通過配置處理裝置以使得它可在搜索子樹中繼續(xù)NVC搜索,可使用具有減少的冗余度的搜索樹。
[0023]搜索子樹指示后續(xù)有效字符并且由第一搜索樹的節(jié)點和第二搜索樹的節(jié)點兩者引用。這允許搜索樹以在存儲空間方面更有效的方式來存儲。搜索子樹可包括多個節(jié)點,其中至少一個節(jié)點引用搜索子樹的另一個節(jié)點,以指示后續(xù)有效字符。搜索子樹可包括多個節(jié)點,其中多個節(jié)點分別引用搜索子樹的至少兩個其它節(jié)點,以指示后續(xù)有效字符。搜索子樹可指示后續(xù)有效字符并且可由用于城市或道路名稱的后續(xù)有效字符的搜索樹以及用于興趣點的后續(xù)有效字符的另一個搜索樹兩者引用。
[0024]數(shù)據(jù)庫可存儲多個搜索子樹,其各自相應(yīng)地由至少兩個不同搜索樹的節(jié)點引用。由此,可進一步減少存儲空間需求。
[0025]處理裝置可被配置成在后續(xù)有效字符搜索中在到達第一節(jié)點或第二節(jié)點之前預(yù)加載搜索子樹。處理裝置可被配置成當執(zhí)行在第一搜索樹和第二搜索樹之一的根節(jié)點處開始的NVC搜索時預(yù)加載搜索子樹,并且當隨后執(zhí)行在第一搜索樹和第二搜索樹中的另一個搜索樹的根節(jié)點處開始的NVC搜索時利用預(yù)加載的搜索子樹。[0026]搜索子樹可包括在第一搜索樹和第二搜索樹之一中。搜索子樹可與第一搜索樹和第二搜索樹分開地存儲于數(shù)據(jù)庫中。由此相應(yīng)實現(xiàn)的效果對應(yīng)于在實施方案的方法的上下文中描述的效果。
[0027]第一搜索樹和第二搜索樹中的每一個可指示用于國家名稱、城市名稱、街道名稱或POI名稱的后續(xù)有效字符。
[0028]導(dǎo)航裝置可為用于車輛導(dǎo)航的導(dǎo)航裝置。導(dǎo)航裝置可固定安裝于車輛中。導(dǎo)航裝置可為便攜式導(dǎo)航裝置。
[0029]應(yīng)了解以上提到的特征和將在以下說明的那些特征不僅可在所指示的相應(yīng)組合中使用,而且可在其它組合中或單獨使用。
【專利附圖】
【附圖說明】
[0030]實施方案的前述和其它特征將通過結(jié)合附圖閱讀的實施方案的以下詳細說明變得更明顯。在附圖中,相同參考數(shù)字是指相同元件。
[0031]圖1是導(dǎo)航裝置的示意性方框圖。
[0032]圖2是用于執(zhí)行后續(xù)有效字符搜索的搜索樹的示意圖。
[0033]圖3是用于執(zhí)行NVC搜索的搜索樹的數(shù)據(jù)條目的示意圖。
[0034]圖4示出根據(jù)一個實施方案的圖3的搜索樹結(jié)構(gòu)的變化。
[0035]圖5是一個實施方案的方法的流程圖。
[0036]圖6是說明圖5的方法中的數(shù)據(jù)處理的示意圖。
[0037]圖7至圖10分別是根據(jù)實施方案的用于執(zhí)行后續(xù)有效字符搜索的搜索樹的示意圖。
【具體實施方式】
[0038]雖然本發(fā)明的實施方案將在下文在具體情形中參照附圖來描述,但是應(yīng)了解可對這些實施方案進行各種變化和變更。
[0039]圖1示意性地示出根據(jù)一個實施方案的車輛導(dǎo)航裝置I。導(dǎo)航裝置I包括處理裝置2,其例如根據(jù)存儲于存儲器中的控制指令來控制導(dǎo)航裝置I的操作。處理裝置2可包括例如呈一個或多個處理器、數(shù)字信號處理裝置或?qū)S眉呻娐沸问降闹醒胩幚韱卧?dǎo)航裝置I進一步包括數(shù)據(jù)庫3。數(shù)據(jù)庫3可包括各種類型存儲器或存儲介質(zhì)中的任何一個或任何組合,如隨機存取存儲器、閃速存儲器或硬盤,以及可移動存儲器如光盤(CD)、DVD、存儲卡或類似存儲器。導(dǎo)航裝置I還包括用于向用戶輸出信息的輸出接口 4。輸出接口 4可包括光學輸出裝置、音頻輸出裝置或其組合。導(dǎo)航裝置I還包括輸入接口 5,其允許用戶以連續(xù)方式輸入字符。輸入接口 5可允許用戶輸入文本信息或語音信息。
[0040]導(dǎo)航裝置可包括另外的組件,如位置傳感器和/或無線接收器和/或車輛接口。位置傳感器可適于確定導(dǎo)航裝置I安裝于其中的車輛的當前位置。位置傳感器可包括GPS(全球定位系統(tǒng))傳感器、伽利略傳感器、基于移動電信網(wǎng)絡(luò)的位置傳感器等等。無線接收器可被配置來接收用于更新存儲于存儲裝置3中的數(shù)據(jù)庫的信息。車輛接口可允許處理裝置2經(jīng)由車輛接口來獲得來自其它車輛系統(tǒng)的信息或車輛狀態(tài)信息。車輛接口可例如包括CAN(控制器區(qū)域網(wǎng)絡(luò))或MOST(面向介質(zhì)的裝置傳輸)接口。[0041]數(shù)據(jù)庫3包括數(shù)據(jù)10,其代表用于執(zhí)行后續(xù)有效字符(NVC)搜索的搜索樹。用于NVC搜索的一些或所有搜索樹可對應(yīng)于各種對象的名稱。實例包括有效目的地,如目的地國家、目的地城市或目的地街道的名稱。用于執(zhí)行NVC搜索的一些搜索樹還可對應(yīng)于其它名稱,如POI名稱或電子旅行向?qū)е写嬖诘臈l目的名稱。
[0042]當用戶開始輸入名稱時,處理裝置2可訪問并且利用數(shù)據(jù)10。為了便于說明,處理裝置2可響應(yīng)于已經(jīng)由用戶在輸入接口 5處輸入的子字符串來確定可能的后續(xù)有效字符。處理裝置2可控制光學輸出裝置4來輸出后續(xù)有效字符?;蛘呋蛄硗猓幚硌b置2可控制輸入接口 5以防止或以其它方式阻止輸入不對應(yīng)于后續(xù)有效字符的字符。在執(zhí)行NVC搜索時,處理裝置2可在搜索樹的根節(jié)點處開始。搜索樹可基于將要輸入的名稱的類型,如國家或城市或道路來選擇。如以下更詳細地描述,導(dǎo)航裝置I使用搜索樹來執(zhí)行NVC搜索,與常規(guī)NVC樹相比,這些搜索樹具有減少的冗余度。這通過允許多個搜索樹弓丨用,即指向同一個搜索子樹來實現(xiàn)。因此,可考慮在不同組的字符串中同樣遇到的子字符串,而不需要總是將相應(yīng)搜索路徑存儲多次。
[0043]圖2是包括用于執(zhí)行NVC搜索的多個搜索樹的數(shù)據(jù)10的示意圖。數(shù)據(jù)10可包括在數(shù)據(jù)庫3的不同部分中。為了便于說明,如果數(shù)據(jù)庫3包括用于名稱或POI的單獨部分或?qū)樱敲磾?shù)據(jù)10可包括在相應(yīng)部分或?qū)又小?br>
[0044]數(shù)據(jù)10包括第一搜索樹11和第二搜索樹12。具體地說并且不加任何限制,搜索樹11可代表一個地理區(qū)域中的街道的名稱并且搜索樹12可代表不同于所述一個地理區(qū)域的另一個地理區(qū)域中的街道的名稱。第一搜索樹11和第二搜索樹12均代表用于導(dǎo)航裝置的輸入接口 5處的名稱輸入的后續(xù)有效字符。為了便于說明,取決于以前輸入的國家和城市,選擇搜索樹11、12中的一個來執(zhí)行NVC搜索。當連續(xù)地輸入名稱,例如街道名稱的更多字符時,在相應(yīng)搜索樹11、12中通過搜索路徑。搜索樹11、12可分別組織成使得當前節(jié)點的子節(jié)點代表后續(xù)有效字符。處理裝置2可容易地檢索這些后續(xù)有效字符并且可將其經(jīng)由光學輸出裝置4輸出和/或可基于從相應(yīng)搜索樹11、12檢索的后續(xù)有效字符來控制輸入接口 5。不同搜索樹可與不同地理區(qū)域相關(guān)聯(lián),以使得可沿著搜索樹獲取的不同路徑代表為導(dǎo)航裝置已知并且位于相應(yīng)區(qū)域中的所有對象的名稱。
[0045]與常規(guī)NVC樹相反,第一搜索樹11的節(jié)點14指向搜索子樹13。如圖2中示出,搜索子樹13可包括在第二搜索樹12中。搜索子樹13可包括名稱詞尾,這些名稱詞尾是同時用于由第一個樹11所代表的一組名稱的一些名稱以及由第二個樹12所代表的一組名稱的一些字符串的有效名稱詞尾。為了便于說明,當用戶輸入由搜索樹11所代表的一組名稱中包括的初始字符“Schill...”時,以及當用戶輸入由搜索樹12所代表的一組名稱中包括的初始字符“Bruckn...”時,名稱詞尾“...erplatz”或“...erstrasse”都可為有效詞尾。第一搜索樹11的節(jié)點14引用搜索子樹13,而不是將與此名稱詞尾對應(yīng)的搜索路徑的相關(guān)部分同時存儲于第一個樹和第二個樹中。
[0046]在操作中,當處理裝置訪問第一搜索樹11的不同節(jié)點時,搜索可通過終止于節(jié)點14的路徑16。然后,在節(jié)點14處存儲的搜索子樹的引用導(dǎo)致處理裝置2在搜索子樹13的節(jié)點處繼續(xù)搜索,以識別用于尚未輸入的名稱的其余部分的有效字符。
[0047]單獨搜索子樹的引用可只沿著第一搜索樹11的一些路徑來提供??纱嬖诳稍诘谝凰阉鳂?1中通過而沒有引用任何單獨搜索子樹的搜索路徑15。[0048]搜索子樹13不但由第一搜索樹11的節(jié)點14引用,而且還由第二搜索樹12中的父節(jié)點19引用。這反映搜索子樹13代表用于以由第一搜索樹11的節(jié)點14所代表的字符串起始的名稱的可能的子字符串,而且還代表用于以由第二搜索樹12的節(jié)點19所代表的字符串起始的名稱的可能的子字符串。當用戶輸入字符串的初始字符,同時處理裝置使用第二搜索樹12來識別后續(xù)有效字符時,可通過搜索路徑18。當?shù)竭_節(jié)點19時,NVC搜索在搜索子樹13中繼續(xù)。
[0049]應(yīng)認識到由多個搜索樹11、12的節(jié)點引用的搜索子樹13可具有許多分支節(jié)點和/或?qū)蛹墶>唧w地說,搜索子樹13可包括多個分支節(jié)點,其為分別至少兩個子節(jié)點的父節(jié)點。為T便于說明,當?shù)谝唤M字符串包括名稱“Schillerstrasse”、“Schillerplatz”、“Schillerallee” 和 “Schillermuseum”,并且第二組字符串包括名稱 “Brucknerstrasse”、“Brucknerplatz”、“Brucknerallee” 和 “Brucknermuseum” 時,搜索子樹 13 可具有對應(yīng)于不同名稱詞尾“...erstrasse”、“...erplatz”、“...erallee” 和 “...ermuseum” 的分支節(jié)點,當在一個搜索樹中開始搜索,用戶通過輸入“Schill...”來開始時或當在另一個搜索樹中開始搜索,用戶通過輸入“Bruckn...”來開始時,所有這些分支節(jié)點都是有效的。
[0050]如果搜索樹11、12的葉節(jié)點指向數(shù)據(jù)庫3中的對象,那么多個指針可存儲于共同搜索子樹13的每個葉節(jié)點中。為了便于說明,在路徑17中到達的葉節(jié)點可含有兩個不同指針。當在第一搜索樹11中開始NVC搜索,到達路徑17的葉節(jié)點時,可使用指針中的一個。當在另一個搜索樹如搜索樹12中開始NVC搜索,到達路徑17的葉節(jié)點時,可使用指針中的另一個。處理裝置2可跟蹤搜索歷史??苫谒阉鳉v史來執(zhí)行在共同搜索子樹13的一個葉節(jié)點處存儲的不同指針之間的消歧。如果搜索樹的葉節(jié)點僅僅指示不存在包括另外的字符的名稱,但是不指向數(shù)據(jù)庫3中的其它對象,那么可能不需要這個消歧。
[0051]圖3更詳細地示出用于執(zhí)行NVC搜索的搜索樹20。搜索樹20的節(jié)點可對應(yīng)于不同字符。字符可為字母數(shù)字字符。每個節(jié)點代表在輸入接口5處輸入的一系列字符。一旦到達相應(yīng)節(jié)點,則節(jié)點的子節(jié)點代表可能的后續(xù)有效字符。通常包括在多個不同搜索樹中的搜索子樹21可只存儲一次??纱嬖诙鄠€父節(jié)點,所述多個父節(jié)點引用,即指向搜索子樹21。
[0052]圖4示出用于執(zhí)行NVC搜索的搜索樹。搜索樹包括第一搜索樹25、第二搜索樹27和搜索子樹29。搜索子樹29可與第一搜索樹25和第二搜索樹27分開存儲。搜索子樹29代表具有由第一搜索樹25識別的初始字符的名稱的有效子字符串,以及具有由第二搜索樹27識別的初始字符的名稱的有效子字符串。相應(yīng)地,第一搜索樹25具有含有指向搜索子樹29的指針的節(jié)點26。第二搜索樹27具有含有指向搜索子樹29的指針的另一個節(jié)點28。通過允許搜索子樹29由多個不同搜索樹25、27中的父節(jié)點引用,可減少冗余度。多個不同搜索樹25、27可對應(yīng)于不同地理區(qū)域,如不同國家、不同城市或不同市區(qū)。
[0053]參看圖5和6,描述根據(jù)實施方案的生成用于執(zhí)行NVC搜索的搜索樹的方法??傮w上,確定搜索子樹,所述搜索子樹代表用于不同組的字符串的后續(xù)有效字符的子字符串。為了便于說明,一組字符串可對應(yīng)于一個國家中的城市的名稱,并且另一組字符串可對應(yīng)于另一個國家中的城市的名稱。為了便于進一步說明,一組字符串可對應(yīng)于給定國家中的一個城市中的街道的名稱,并且另一組字符串可對應(yīng)于同一國家中的另一個城市中的城市的名稱。為了便于進一步說明,一組字符串可對應(yīng)于一個城市中的POI,并且另一組字符串可對應(yīng)于另一個城市中的POI。
[0054]一個或多個搜索子樹可以不同的方式來確定。為了便于說明,如參照圖5和6所說明,可生成常規(guī)NVC樹并且進行比較以識別相同部分。其它實行方案是可能的,其可基于例如直接分析不同組字符的字符串以識別共同組的可能子字符串。
[0055]圖5是一個實施方案的方法30的流程圖。所述方法可在準備數(shù)據(jù)庫以便在導(dǎo)航裝置中使用時由電子計算裝置自動執(zhí)行。方法30可在車輛外部執(zhí)行。
[0056]在31處,檢索多組字符串。這些組可從電子地圖數(shù)據(jù)、電子地籍地圖或用戶輸入中檢索。
[0057]在32處,生成每個組的常規(guī)、完整NVC樹。這可通過針對每個組來分析一組字符串,以識別具有共同初始子字符串的字符串來完成。完整NVC樹用作臨時搜索樹,其經(jīng)過進一步處理以生成具有減少冗余度的搜索樹。
[0058]在33處,將完整NVC樹彼此比較以識別同樣地包括在至少兩個不同完整NVC樹中的一個或多個子樹。并非包含于至少兩個完整NVC樹中的所有子樹都可在減少存儲空間需求方面值得關(guān)注的。為了便于說明,可只考慮具有一定大小的子樹。為了便于說明,在33處,可執(zhí)行搜索以識別具有大于閾值的分支節(jié)點數(shù)量,和/或具有大于閾值的子節(jié)點總數(shù),和/或具有大于閾值的節(jié)點總數(shù)的子樹。
[0059]在34處,由完整NVC樹生成多個搜索樹。為此目的,將至少一些完整NVC樹截短,方法是通過從其中移除在33處所識別的子樹中的一個子樹中所包括的搜索路徑。在相應(yīng)截短NVC樹的節(jié)點處添加指向子樹的指針。
[0060]多個搜索樹可存儲于數(shù)據(jù)庫中。如果搜索子樹與搜索樹分開存儲,那么它也存儲于數(shù)據(jù)庫中。數(shù)據(jù)庫可隨后部署至導(dǎo)航系統(tǒng)。
[0061]多個搜索樹和一個或多個搜索子樹可以不同的方式生成。為了便于說明,如果在32處生成的兩個或更多個常規(guī)、完整NVC樹共用子樹,那么這些完整NVC樹中的僅一個樹可截短。搜索子樹可仍為其它完整NVC樹的一部分,因而這些樹充當搜索樹。搜索子樹的葉節(jié)點處的條目可加以調(diào)適以考慮到如下事實:可在不同搜索樹處起始的NVC搜索中到達這類葉節(jié)點。為了便于說明,搜索子樹的每個葉節(jié)點可存儲多個指針或其它數(shù)據(jù),其中每個指針或數(shù)據(jù)與不同搜索歷史相關(guān)。
[0062]為了便于進一步說明,如果在32處生成的兩個或更多個常規(guī)、完整NVC樹共用子樹,那么這些完整NVC樹全部可截短。所識別的子樹可分開存儲。這樣生成的搜索子樹的葉節(jié)點處的條目可加以調(diào)適以考慮到如下事實:可在不同搜索樹處起始的NVC搜索中到達這類葉節(jié)點。指向搜索子樹的指針添加于不同截短NVC樹中的每一個樹的節(jié)點處。
[0063]參看圖6,進一步說明圖5的方法。第一組字符串41和第二組字符串51經(jīng)過處理以生成用于NVC搜索的搜索樹。兩個組41、51是不同的。兩個組41、51甚至可為不相交的,因為沒有組41的字符串包括在字符組51中,并且反之亦然。然而,兩個組41、51不一定為不相交的。
[0064]生成常規(guī)完整NVC樹42、52。NVC樹42、52可通過分析相應(yīng)組的字符串來生成。
[0065]字符串可根據(jù)相應(yīng)字符串的開始處存在的子字符串來分組。在其它實行方案中,所述方法可使用NVC樹42、52作為輸入來開始。
[0066]將兩個完整NVC樹42、52彼此比較。識別同樣包括在兩個NVC樹42、52中的相同子樹部分43。
[0067]NVC樹42可通過移除子樹部分43來截短。完整NVC樹42中的子樹部分43的父節(jié)點可以置換成節(jié)點14,所述節(jié)點14存儲保持包括在第二 NVC樹中的搜索子樹13的指針,或以其它方式對所述搜索子樹13進行引用。搜索子樹43的父節(jié)點同時由第一搜索樹11的節(jié)點14和第二搜索樹12中的搜索子樹43的父節(jié)點引用。在一些實行方案中,第二完整NVC樹52可用作沒有任何進一步更改的第二搜索樹。在其它實行方案中,第二搜索樹12可從第二完整NVC樹52中生成,方法是通過調(diào)適葉節(jié)點,以考慮到如下事實:當在第一搜索樹11中開始以及在第二搜索樹12中開始時均可到達搜索子樹13的葉節(jié)點。
[0068]在其它實施方案中,可截短NVC樹42、52以生成第一搜索樹11和第二搜索樹12,并且可基于子樹部分43來生成搜索子樹13并且可與第一搜索樹11和第二搜索樹12分開存儲。
[0069]在其它實施方案中,不需要生成常規(guī)、完整NVC樹42、52。為了便于說明,搜索子樹以及引用搜索子樹的第一搜索樹和第二搜索樹可通過分析第一組41和第二組51的字符串來確定。
[0070]在其它實行方案中,所述方法可使用完整NVC樹42、52作為輸入來開始。這類完整NVC樹42、52可由例如電子地圖的供應(yīng)商來提供。
[0071]搜索樹和搜索子樹可具有各種配置中的任何一個,如參照圖7至圖10所進一步說明。搜索樹的每一個不同配置可替代地或另外用于數(shù)據(jù)10中以存儲用于NVC搜索的搜索樹。
[0072]圖7是代表搜索樹11、62的數(shù)據(jù)60和用于執(zhí)行NVC搜索的搜索子樹13的示意圖。在數(shù)據(jù)60中,搜索子樹13與第一搜索樹11和第二搜索樹62兩者分開存儲。為了便于說明,第一搜索樹11、第二搜索樹62和搜索子樹13可作為單獨二進制大對象(BLOB)來存儲。
[0073]第一搜索樹11具有引用搜索子樹13的節(jié)點14。第二搜索樹62具有引用搜索子樹13的節(jié)點64。在用戶輸入子字符串時,當沿著搜索路徑16到達節(jié)點14時,在搜索子樹13中繼續(xù)搜索以識別接下來的后續(xù)有效字符。類似地,在用戶輸入子字符串時,當沿著搜索路徑18到達節(jié)點64時,在搜索子樹13中繼續(xù)搜索以識別名稱輸入的以后的后續(xù)有效字符。
[0074]當數(shù)據(jù)60用于NVC搜索中時,搜索子樹13可緩沖以供隨后使用。為了便于說明,當執(zhí)行在第二搜索樹62處開始的NVC搜索時,導(dǎo)航裝置I的處理裝置2可加載搜索子樹
13。當隨后執(zhí)行在第一搜索樹11處開始的另一個NVC搜索時,可使用此緩沖數(shù)據(jù)。這可有助于加速NVC搜索。
[0075]搜索子樹可由兩個以上搜索樹弓丨用。為了便于說明,可存在三個或甚至更多個搜索樹,其分別具有節(jié)點,所述節(jié)點具有指向同一個搜索子樹的指針,如參照圖8所說明。
[0076]圖8是代表搜索樹11、62、66的數(shù)據(jù)65和用于執(zhí)行NVC搜索的搜索子樹13的示意圖。第一搜索樹11具有引用搜索子樹13的節(jié)點14。第二搜索樹62具有引用搜索子樹13的節(jié)點64。第三搜索樹66具有引用搜索子樹13的節(jié)點67。當在第一搜索樹11處開始的NVC搜索中到達節(jié)點14時或當在第二搜索樹62處開始的NVC搜索中到達節(jié)點64時,或當在第三搜索樹64處開始的NVC搜索中到達節(jié)點67時,NVC搜索在搜索子樹13中繼續(xù)以識別接下來的后續(xù)有效字符。[0077]雖然數(shù)據(jù)65將搜索子樹13展示為與第一搜索樹11、第二搜索樹62和第三搜索樹分開存儲,但是搜索子樹13可包括在這些樹中的任何一個中。
[0078]數(shù)據(jù)庫3可包括多個搜索子樹。搜索樹可具有各自引用不同搜索子樹的不同節(jié)點,如圖9中所示出。
[0079]圖9是代表搜索樹71、72、73的數(shù)據(jù)70和用于執(zhí)行NVC搜索的第一搜索子樹74和第二搜索子樹75的示意圖。第一搜索樹71具有引用第一搜索子樹74的節(jié)點76。第二搜索樹72具有也引用第一搜索子樹74的節(jié)點77。第一搜索子樹74代表同時用于在第一搜索樹71處開始并且到達節(jié)點76的NVC搜索,以及在第二搜索樹72處開始并且到達節(jié)點77的NVC搜索的后續(xù)有效字符。
[0080]第二搜索樹72具有引用第二搜索子樹75的另一個節(jié)點78。第三搜索樹73具有也引用第二搜索子樹75的節(jié)點79。第二搜索子樹75代表同時用于在第二搜索樹72處開始并且到達節(jié)點78的NVC搜索,以及在第三搜索樹73處開始并且到達節(jié)點79的NVC搜索的后續(xù)有效字符。
[0081]雖然搜索子樹可對應(yīng)于名稱詞尾,S卩,位于相應(yīng)字符串末尾的字符串的子字符串,但是情況不一定如此。實際上,例如,當相關(guān)子字符串存在于名稱中央時,也可使用識別代表一系列字符的搜索子樹的原則,這一系列字符是用于不同組字符串的后續(xù)有效字符。這在圖10中示出。
[0082]圖10是代表第一搜索樹81和第二搜索樹82的數(shù)據(jù)80的示意圖。第二搜索樹82包括搜索子樹13。
[0083]搜索子樹13對應(yīng)于位于由第一搜索樹81所代表的名稱中間或由第二搜索樹82所代表的名稱末尾的后續(xù)有效字符的子字符串。第一搜索樹81具有引用搜索子樹13的節(jié)點84。搜索子樹13的葉節(jié)點可具有兩個數(shù)據(jù),其中一個引用回到第一搜索樹81。當在第一搜索樹81中開始來執(zhí)行搜索時,隨著用戶輸入名稱的前幾個字符,可沿著搜索路徑86到達節(jié)點84。從節(jié)點84,處理裝置2訪問搜索子樹13。當用戶繼續(xù)輸入名稱字符時,搜索可沿著穿過搜索子樹13的搜索路徑87來繼續(xù)。在搜索子樹13的葉節(jié)點處,可進行消歧以確定是在第一搜索樹81還是第二搜索樹82中開始的搜索中到達此葉節(jié)點。當在第一搜索樹81中開始的搜索中到達搜索子樹13的葉節(jié)點時,葉節(jié)點可引用回到第一搜索樹81的節(jié)點,或另一個搜索子樹。當用戶繼續(xù)輸入名稱字符時,用于后續(xù)有效字符的搜索可沿著第一搜索樹81中的路徑89繼續(xù)。
[0084]類似地,當在第二搜索樹82中開始搜索時,處理裝置2也可到達共同搜索子樹13的葉節(jié)點。當例如因為第二搜索樹82對應(yīng)于以前由用戶選擇的城市而在第二搜索樹82中開始搜索時,隨著用戶輸入名稱的前幾個字符,可通過搜索路徑88。從搜索子樹13的根節(jié)點的父節(jié)點,在搜索子樹13中繼續(xù)搜索。當?shù)竭_搜索子樹13的葉節(jié)點時,可執(zhí)行基于搜索歷史的消歧。
[0085]在各種實施方案的裝置和方法中,由用于執(zhí)行后續(xù)有效字符搜索的搜索樹所代表的字符串可為字母數(shù)字字符串。在各種實施方案的裝置和方法中,可生成搜索子樹和引用同一個搜索子樹的多個搜索樹以使得其對應(yīng)于具有一定長度的名稱的子字符串。為了便于說明,搜索子樹中的每個路徑可對應(yīng)于具有兩個、三個或三個以上字符的長度的名稱子字符串。搜索樹中的引用搜索子樹的節(jié)點可對應(yīng)于具有至少兩個字符的長度的名稱子字符串。換句話說,搜索子樹可尤其對應(yīng)于代表同時用于第一名稱組的一些名稱和第二名稱組的一些名稱的后續(xù)有效字符的子字符串。
[0086]雖然根據(jù)實施方案的裝置和方法已經(jīng)詳細描述,但是可在其它實施方案中實施變化。為了便于說明,雖然搜索樹已經(jīng)在街道名稱、城市名稱或國家名稱的情形下進行了描述,但是搜索樹可代表各種不同的名稱中的任何一個,如POI的名稱。
[0087]為了便于進一步說明,雖然已經(jīng)說明了索引樹和其節(jié)點的示例性結(jié)構(gòu),但是可使用任何合適數(shù)據(jù)結(jié)構(gòu)來實施索引樹。為了便于說明,索引樹可為關(guān)系數(shù)據(jù)庫。
[0088]本發(fā)明的實施方案可用于車輛導(dǎo)航裝置,其可為便攜式裝置或固定安裝于車輛中的裝置。本發(fā)明的實施方案不限于在此特定領(lǐng)域中使用。
【權(quán)利要求】
1.一種生成指示用于導(dǎo)航裝置(2)的輸入接口(5)的后續(xù)有效字符的搜索樹(11、12 ;25,27 ;11、62 ;11、62、66 ;71、72 ;81、82)的方法,所述方法包括: 檢索關(guān)于第一組(41)字符串的信息和關(guān)于第二組(51)字符串的信息,所述第一組和第二組(41、51)彼此不同; 基于關(guān)于所述第一組(41)的所述信息和關(guān)于所述第二組(51)的所述信息來確定搜索子樹(13 ;29 ;74、75),所述搜索子樹(13 ;29 ;74、75)指示用于所述第一組(41)字符串的子集和所述第二組(51)字符串的另一子集兩者的后續(xù)有效字符; 基于關(guān)于所述第一組(41)的所述信息來生成第一搜索樹(11 ;25 ;71 ;81)并且基于關(guān)于所述第二組(51)的所述信息來生成第二搜索樹(12 ;27 ;72、73 ;82),其中生成所述第一搜索樹(11 ;25 ;71 ;81)和所述第二搜索樹(12 ;27 ;72、73 ;82)以使得所述第一搜索樹(11 ;25 ;71 ;81)的節(jié)點(14 ;26 ;76 ;84)引用所述搜索子樹(13 ;29 ;74、75)并且所述第二搜索樹(12 ;27 ;72、73 ;82)的另一節(jié)點(19 ;28 ;64 ;64、67 ;77)引用所述搜索子樹(13 ;29 ;74、75),并且將所述第一搜索樹(11 ;25 ;71 ;81)和所述第二搜索樹(12 ;27 ;72、73 ;82)存儲于數(shù)據(jù)庫(3)中。
2.如權(quán)利要求1所述的方法, 其中所述確定包括: 基于關(guān)于所述第一組(41)的所述信息來生成第一臨時搜索樹(42),其中所述第一臨時搜索樹(42)具有用于包括在所述第一組中的每個字符串的葉節(jié)點; 基于關(guān)于所述第二組(51)的所述信息來生成第二臨時搜索樹(52),其中所述第二臨時搜索樹(52)具有用于包·括在所述第二組(51)中的每個字符串的葉節(jié)點; 將所述第一臨時搜索樹(42)與所述第二臨時搜索樹(52)相比較以確定所述搜索子樹(13 ;29 ;74、75)。
3.如權(quán)利要求2所述的方法, 其中所述確定包括: 識別與所述第二臨時搜索樹(52)的部分(43)相同的所述第一臨時搜索樹(42)的部分(43)ο
4.如權(quán)利要求3所述的方法, 其中所述生成所述第一搜索樹(11 ;25 ;71 ;81)包括: 基于所述識別的部分(43)來截短所述第一臨時搜索樹(42);以及在所述截短的第一臨時搜索樹的節(jié)點(14)處添加對所述搜索子樹(13 ;29 ;74、75)的引用。
5.如權(quán)利要求4所述的方法, 其中所述第二搜索樹(12 ;82)包括所述搜索子樹(13), 其中所述第一搜索樹(11 ;81)的所述節(jié)點(14 ;84)引用所述第二搜索樹(12 ;82)中包括在所述搜索子樹(13)中的節(jié)點。
6.如權(quán)利要求3或4所述的方法, 其中所述生成所述第二搜索樹(12 ;27 ;72、73 ;82)包括: 基于所述識別的部分(43)來截短所述第二臨時搜索樹(52);以及 在所述截短的第二臨時搜索樹的節(jié)點處添加對所述搜索子樹(13 ;29 ;74、75)的引用。
7.如權(quán)利要求6所述的方法, 其中所述第一搜索樹(25 ;71)、所述第二搜索樹(27 ;82)和所述搜索子樹(29 ;74)作為獨立的二進制大對象進行存儲。
8.如前述權(quán)利要求中任一項所述的方法, 其中所述第一組(41)字符串和所述第二組(51)字符串是選自國家名稱、城市名稱、街道名稱或興趣點(POI)名稱。
9.如前述權(quán)利要求中任一項所述的方法,其還包括: 檢索關(guān)于不同于所述第一組(41)和所述第二組(51)的至少另一組字符串的信息; 其中所述搜索子樹(13)是基于關(guān)于所述第一組(41)的所述信息、關(guān)于所述第二組(51)的所述信息和關(guān)于所述至少另一組的所述信息來確定,以使得所述搜索子樹(13)指示用于所述第一組(41)的子集、所述第二組(51)的子集以及所述至少另一組的子集的后續(xù)有效字符;以及 基于關(guān)于所述至少另一組的所述信息來生成至少另一個搜索樹(65),以使得所述至少另一個搜索樹(65)的節(jié)點(67)引用所述搜索子樹(13)。
10.一種導(dǎo)航裝置,其包括: 輸入接口(5),其被配置成以連續(xù)方式接收字符輸入;
數(shù)據(jù)庫(3),其存儲多個搜索樹(11、12 ;25、27 ;11、62 ;11、62、66 ;71、72 ;81、82),這些搜索樹相應(yīng)地指示用于在所述輸入接口(5)處接收的名稱輸入的后續(xù)有效字符,其中第一搜索樹(11 ;25 ;71 ;81)具有引用搜索子樹(13 ;29 ;74、75)的第一節(jié)點(14 ;26 ;76 ;84)并且第二搜索樹(12 ;27 ;72、73 ;82)具有引用同一搜索子樹(13 ;29 ;74、75)的第二節(jié)點(19 ;28 ;64 ;64、67 ;77);以及 處理裝置(2),其耦合至所述輸入接口(5)和所述數(shù)據(jù)庫(3)以執(zhí)行后續(xù)有效字符搜索,所述處理裝置(2)被配置成 -在所述輸入接口(5)處接收字符輸入時,使用存儲于所述數(shù)據(jù)庫(3)中的所述多個搜索樹(11、12 ;25、27 ;11、62 ;11、62、66 ;71、72 ;81、82)中的至少一個搜索樹來確定后續(xù)有效字符;并且 -在到達所述第一搜索樹(11 ;25 ;71 ;81)的所述第一節(jié)點(14 ;26 ;76 ;84)或所述第二搜索樹(12 ;27 ;72、73 ;82)的所述第二節(jié)點(19 ;28 ;64 ;64、67 ;77)中的任一個時,在所述搜索子樹(13 ;29 ;74、75)中選擇性地繼續(xù)所述后續(xù)有效字符搜索。
11.如權(quán)利要求10所述的導(dǎo)航裝置(1), 其中所述數(shù)據(jù)庫(3)存儲多個搜索子樹(74、75),所述多個搜索子樹(74、75)中的每個分別由至少兩個不同搜索樹(71-73)的節(jié)點(76-79)引用。
12.如權(quán)利要求10或11所述的導(dǎo)航裝置(I), 其中所述處理裝置(2)被配置成在所述后續(xù)有效字符搜索中在到達所述第一節(jié)點(14 ;26 ;76 ;84)或所述第二節(jié)點(19 ;28 ;64 ;64、67 ;77)之前預(yù)加載所述搜索子樹(13 ;29 ;74、75)。
13.如權(quán)利要求10至12中任一項所述的導(dǎo)航裝置(I), 其中所述搜索子樹(13 ;29 ;74、75)被包括在所述第一搜索樹(11 ;25 ;71 ;81)和所述第二搜索樹(12 ;27 ;72、73 ;82)中的一個搜索樹中。
14.如權(quán)利要求10至12中任一項所述的導(dǎo)航裝置(I), 其中所述搜索子樹(29 ;74、75)與所述第一搜索樹(25 ;71)和所述第二搜索樹(27 ;72,73)分開地存儲于所述數(shù)據(jù)庫(3)中。
15.如權(quán)利要求10至14中任一項所述的導(dǎo)航裝置(I), 其中所述第一和第二搜索樹(11、12 ;25,27 ;11、62 ;11、62、66 ;71、72 ;81、82)中的每一個搜索樹指示用于國家名稱、城市名稱、街道名稱或興趣點(POI)名稱的后續(xù)有效字符。
【文檔編號】G06F17/30GK103827867SQ201280046596
【公開日】2014年5月28日 申請日期:2012年9月28日 優(yōu)先權(quán)日:2011年9月30日
【發(fā)明者】Cc.斯平德勒, M.希特曼, S.巴普蒂斯特, J.維爾舍 申請人:哈曼貝克自動系統(tǒng)股份有限公司