生成搜索树的方法和导航装置制造方法

文档序号:6496581阅读:204来源:国知局
生成搜索树的方法和导航装置制造方法
【专利摘要】一种生成指示用于导航装置的输入接口的后续有效字符的搜索树(25、27)的方法,所述方法包括确定搜索子树(29),所述搜索子树指示用于第一组字符串和不同的第二组字符串的子集两者的后续有效字符。第一搜索树(25)是基于关于第一组字符串的信息来生成,并且第二搜索树(27)是基于关于第二组字符串的信息来生成。生成第一搜索树(25)以使得第一搜索树(25)的节点(26)引用所述搜索子树(29)。生成第二搜索树(27)以使得第二搜索树(27)的另一节点(28)引用所述搜索子树(29)。
【专利说明】生成搜索树的方法和导航装置
【技术领域】
[0001]本发明的实施方案涉及用于导航装置中的数据库搜索。本发明的实施方案尤其涉及生成搜索树的方法,所述搜索树指示用于在导航装置的输入接口处输入名称的后续有效字符,并且涉及使用这类搜索树的导航装置。
【背景技术】
[0002]执行像两个位置之间的路线搜索这样的功能的导航装置是已知的。现代导航装置还可提供另外的功能,如用作根据要求来输出关于兴趣点(POI)的信息的旅行向导。这类信息可包括街道或POI的名称,但是还可包括另外的文本或多媒体信息。为了便于说明,一些导航装置可包括旅行向导功能以响应于接收名称输入来以文本和/或多媒体形式输出关于对象的详细说明。
[0003]为了帮助用户输入名称,导航装置可被配置成提供关于所有潜在后续有效字符的信息。这减少或消除用户输入不被导航装置视为有效的名称的风险。为了便于说明,如果导航装置未存储关于目的地城市或目的地街道的位置的信息,那么通过提供关于后续有效字符的信息和/或基于关于后续有效字符的信息来限制可能的字符输入,可防止输入相应城市或街道。
[0004]关于后续有效字符的信息应合意地在没有实质性延迟的情况下,S卩,在用户仍然处于输入名称的过程中的情况下来提供。为了允许快速地检索关于后续有效字符的信息,可使用专门搜索结构。这类搜索结构可为特定搜索树,也称为后续有效字符(NVC)树。NVC树可用于不同搜索路径。为了便于说明,对于一个国家如德国中的有效城市名称可存在一个NVC树,并且对于另一个国家中的有效城市名称可存在另一个NVC树。对于一个城市中的有效道路名称可存在一个NVC树,并且对于其它城市中的有效道路名称可存在另一个NVC树。举例来说,NVC树的叶可指向例如数据库对象。或者,NVC树的叶也可仅仅指示不存在包括更多字符的有效名称,或可指向其它数据结构。为了便于说明,指示国家名称的后续有效字符的NVC树的叶可指向存储相应国家中的所有城市的后续有效字符的另一个NVC树的根节点,或指向类似对象。
[0005]当必须考虑很多可能名称时,用于存储各种NVC树的存储空间需求可能是相当大的。添加更多的也可能需要在输入字符期间验证名称输入的有效性的功能如旅行向导功能可进一步增加这类存储空间需求。

【发明内容】

[0006]因此,存在对于允许减少后续有效字符(NVC)树的存储空间需求的方法和导航装
置的需要。
[0007]根据示例性实施方案,提供如在独立权利要求中列举的方法和导航装置以解决这些需要。附属权利要求限定进一步的实施方案。
[0008]根据一个实施方案,提供生成指示用于导航装置的输入接口的后续有效字符的搜索树的方法。检索关于第一组字符串的信息和关于第二组字符串的信息。第一组和第二组彼此不同,但是不一定为不相交的。基于关于第一组的信息和关于第二组的信息来确定搜索子树,其指示第一组字符串的子集和第二组字符串的另一个子集的后续有效字符。基于关于第一组的信息来生成第一搜索树。基于关于第二组的信息来生成第二搜索树。生成第一搜索树和第二搜索树并且存储于数据库中以使得第一搜索树的节点引用搜索子树,并且第二搜索树的另一个节点引用搜索子树。
[0009]通过识别指示第一组字符串的子集和第二组字符串的另一个子集的后续有效字符的搜索子树,可减少冗余度。相同的NVC树部分不需要存储多次。实际上,同一个子树可由第一搜索树的节点和第二搜索树的节点同时引用。
[0010]搜索子树指示后续有效字符并且由第一搜索树的节点和第二搜索树的节点同时引用。这允许搜索树以在存储空间方面更有效的方式来存储。搜索子树可包括多个节点,其中至少一个节点引用搜索子树的另一个节点,以指示后续有效字符。搜索子树可包括多个节点,其中多个节点分别引用搜索子树的至少两个其它节点,以指示后续有效字符。搜索子树可指示后续有效字符并且可由城市或道路名称的后续有效字符的搜索树以及兴趣点的后续有效字符的另一个搜索树同时引用。
[0011]为了确定搜索子树,可基于关于第一组的信息来生成第一临时搜索树,其中第一临时搜索树具有用于第一组中包括的每个字符串的叶节点。可基于关于第二组的信息来生成第二临时搜索树,其中第二临时搜索树具有用于第二组中包括的每个字符串的叶节点。第一临时搜索树和第二临时搜索树可彼此比较以确定搜索子树。第一临时搜索树可为用于第一组字符串的常规NVC树。第二临时搜索树可为用于第二组字符串的常规NVC树。通过将这类完整NVC搜索树彼此比较,可容易地并且可靠地识别不同搜索树的相同部分。
[0012]为了确定搜索子树,可识别与第二临时搜索树的一部分相同的第一临时搜索树的一部分。由此,可有效地减少或消除冗余信息。
[0013]可基于第一临时搜索树来生成第一搜索树。为此目的,第一临时搜索树可通过将包括在搜索子树中的搜索路径从第一临时搜索树中移除来截短。可在截短的第一临时搜索树的节点处添加对搜索子树的引用。通过这类结构,对应于例如名称词尾(如“...street”、'..strasse”、'..platz”)的搜索路径部分可从第一临时搜索树中移除以生成第一搜索树。通过添加对搜索子树的引用,在第一搜索树中开始的NVC搜索路径可在不同于第一搜索树的搜索子树中继续。
[0014]第二搜索树可包括搜索子树。第一搜索树的节点可引用第二搜索树中包括在搜索子树中的节点。由此,第二搜索树本身仍可代表完整NVC搜索树。代表包括在第一组字符串中的一些字符串的子字符串的第二搜索树的一部分可由第一搜索树引用以减少冗余度。
[0015]或者,搜索子树可与第一搜索树和第二搜索树分开。在这种情况下,生成第二搜索树可包括截短第二临时搜索树,方法是将包括在搜索子树中的搜索路径从第二临时搜索树中移除。可在截短的第二临时搜索树的节点处添加对搜索子树的引用。
[0016]第一搜索树、第二搜索树和搜索子树可分开地存储于数据库中。或者,第二搜索树可作为第一搜索树和第二搜索树之一的一部分来存储。数据库可为关系数据库。第一搜索树、第二搜索树以及如适用时搜索子树可作为二进制大对象(BLOB)来存储。
[0017]第一组字符串和第二组字符串可选自国家名称、城市名称、街道名称或兴趣点(POI)名称。为了便于说明,不同组字符串可对应于一个国家中的不同城市或市区的有效街道名称。
[0018]所述方法由电子计算装置自动执行。关于第一组字符串的信息可为这一组字符串本身。关于第二组字符串的信息可为这一组字符串本身。或者,信息可能已经经历某种处理。为了便于说明,为了生成具有减少的冗余度的一组搜索树,用于第一组字符串和第二组字符串的常规NVC树可作为输入来加以检索,并且可经过处理以识别同样包括在至少两个常规NVC树搜索树中的搜索路径部分。
[0019]所述方法可应用于两组以上字符串。为了便于说明,搜索子树可由两个以上搜索树的节点引用。也可存在一个以上搜索子树。为了便于说明,可存在由一对搜索树的节点引用的搜索子树,以及由另一对搜索树的节点引用的另一个搜索子树。搜索树还可引用多个不同搜索子树。
[0020]根据另一个实施方案,提供导航装置数据库。所述数据库存储多个搜索树,这些搜索树相应地指示用于在导航装置的输入接口处接收的名称输入的后续有效字符,其中第一搜索树具有引用搜索子树的第一节点并且第二搜索树具有引用同一搜索子树的第二节点。搜索子树可指示同时用于在第一搜索树的根节点处开始的名称搜索以及在第二搜索树的根节点处开始的名称搜索的后续有效字符。数据库可为以本文描述的任何一个方面或实施方案的方法来生成的数据库。
[0021]根据另一个实施方案,提供导航装置。导航装置包括被配置来以连续方式接收字符输入的输入接口。所述导航装置包括数据库,所述数据库存储多个搜索树,这些搜索树相应地指示用于在输入接口处接收的名称输入的后续有效字符,其中第一搜索树具有引用搜索子树的第一节点并且第二搜索树具有引用同一搜索子树的第二节点。导航装置包括处理装置,其耦合至输入接口和数据库以执行后续有效字符搜索。处理装置被配置成在输入接口处接收至少一个字符输入时使用存储于数据库中的多个搜索树中的至少一个搜索树来确定后续有效字符。所述处理装置还被配置成在到达第一搜索树的第一节点或第二搜索树的第二节点时在搜索子树中选择性地继续后续有效字符搜索。
[0022]通过配置处理装置以使得它可在搜索子树中继续NVC搜索,可使用具有减少的冗余度的搜索树。
[0023]搜索子树指示后续有效字符并且由第一搜索树的节点和第二搜索树的节点两者引用。这允许搜索树以在存储空间方面更有效的方式来存储。搜索子树可包括多个节点,其中至少一个节点引用搜索子树的另一个节点,以指示后续有效字符。搜索子树可包括多个节点,其中多个节点分别引用搜索子树的至少两个其它节点,以指示后续有效字符。搜索子树可指示后续有效字符并且可由用于城市或道路名称的后续有效字符的搜索树以及用于兴趣点的后续有效字符的另一个搜索树两者引用。
[0024]数据库可存储多个搜索子树,其各自相应地由至少两个不同搜索树的节点引用。由此,可进一步减少存储空间需求。
[0025]处理装置可被配置成在后续有效字符搜索中在到达第一节点或第二节点之前预加载搜索子树。处理装置可被配置成当执行在第一搜索树和第二搜索树之一的根节点处开始的NVC搜索时预加载搜索子树,并且当随后执行在第一搜索树和第二搜索树中的另一个搜索树的根节点处开始的NVC搜索时利用预加载的搜索子树。[0026]搜索子树可包括在第一搜索树和第二搜索树之一中。搜索子树可与第一搜索树和第二搜索树分开地存储于数据库中。由此相应实现的效果对应于在实施方案的方法的上下文中描述的效果。
[0027]第一搜索树和第二搜索树中的每一个可指示用于国家名称、城市名称、街道名称或POI名称的后续有效字符。
[0028]导航装置可为用于车辆导航的导航装置。导航装置可固定安装于车辆中。导航装置可为便携式导航装置。
[0029]应了解以上提到的特征和将在以下说明的那些特征不仅可在所指示的相应组合中使用,而且可在其它组合中或单独使用。
【专利附图】

【附图说明】
[0030]实施方案的前述和其它特征将通过结合附图阅读的实施方案的以下详细说明变得更明显。在附图中,相同参考数字是指相同元件。
[0031]图1是导航装置的示意性方框图。
[0032]图2是用于执行后续有效字符搜索的搜索树的示意图。
[0033]图3是用于执行NVC搜索的搜索树的数据条目的示意图。
[0034]图4示出根据一个实施方案的图3的搜索树结构的变化。
[0035]图5是一个实施方案的方法的流程图。
[0036]图6是说明图5的方法中的数据处理的示意图。
[0037]图7至图10分别是根据实施方案的用于执行后续有效字符搜索的搜索树的示意图。
【具体实施方式】
[0038]虽然本发明的实施方案将在下文在具体情形中参照附图来描述,但是应了解可对这些实施方案进行各种变化和变更。
[0039]图1示意性地示出根据一个实施方案的车辆导航装置I。导航装置I包括处理装置2,其例如根据存储于存储器中的控制指令来控制导航装置I的操作。处理装置2可包括例如呈一个或多个处理器、数字信号处理装置或专用集成电路形式的中央处理单元。导航装置I进一步包括数据库3。数据库3可包括各种类型存储器或存储介质中的任何一个或任何组合,如随机存取存储器、闪速存储器或硬盘,以及可移动存储器如光盘(CD)、DVD、存储卡或类似存储器。导航装置I还包括用于向用户输出信息的输出接口 4。输出接口 4可包括光学输出装置、音频输出装置或其组合。导航装置I还包括输入接口 5,其允许用户以连续方式输入字符。输入接口 5可允许用户输入文本信息或语音信息。
[0040]导航装置可包括另外的组件,如位置传感器和/或无线接收器和/或车辆接口。位置传感器可适于确定导航装置I安装于其中的车辆的当前位置。位置传感器可包括GPS(全球定位系统)传感器、伽利略传感器、基于移动电信网络的位置传感器等等。无线接收器可被配置来接收用于更新存储于存储装置3中的数据库的信息。车辆接口可允许处理装置2经由车辆接口来获得来自其它车辆系统的信息或车辆状态信息。车辆接口可例如包括CAN(控制器区域网络)或MOST(面向介质的装置传输)接口。[0041]数据库3包括数据10,其代表用于执行后续有效字符(NVC)搜索的搜索树。用于NVC搜索的一些或所有搜索树可对应于各种对象的名称。实例包括有效目的地,如目的地国家、目的地城市或目的地街道的名称。用于执行NVC搜索的一些搜索树还可对应于其它名称,如POI名称或电子旅行向导中存在的条目的名称。
[0042]当用户开始输入名称时,处理装置2可访问并且利用数据10。为了便于说明,处理装置2可响应于已经由用户在输入接口 5处输入的子字符串来确定可能的后续有效字符。处理装置2可控制光学输出装置4来输出后续有效字符。或者或另外,处理装置2可控制输入接口 5以防止或以其它方式阻止输入不对应于后续有效字符的字符。在执行NVC搜索时,处理装置2可在搜索树的根节点处开始。搜索树可基于将要输入的名称的类型,如国家或城市或道路来选择。如以下更详细地描述,导航装置I使用搜索树来执行NVC搜索,与常规NVC树相比,这些搜索树具有减少的冗余度。这通过允许多个搜索树弓丨用,即指向同一个搜索子树来实现。因此,可考虑在不同组的字符串中同样遇到的子字符串,而不需要总是将相应搜索路径存储多次。
[0043]图2是包括用于执行NVC搜索的多个搜索树的数据10的示意图。数据10可包括在数据库3的不同部分中。为了便于说明,如果数据库3包括用于名称或POI的单独部分或层,那么数据10可包括在相应部分或层中。
[0044]数据10包括第一搜索树11和第二搜索树12。具体地说并且不加任何限制,搜索树11可代表一个地理区域中的街道的名称并且搜索树12可代表不同于所述一个地理区域的另一个地理区域中的街道的名称。第一搜索树11和第二搜索树12均代表用于导航装置的输入接口 5处的名称输入的后续有效字符。为了便于说明,取决于以前输入的国家和城市,选择搜索树11、12中的一个来执行NVC搜索。当连续地输入名称,例如街道名称的更多字符时,在相应搜索树11、12中通过搜索路径。搜索树11、12可分别组织成使得当前节点的子节点代表后续有效字符。处理装置2可容易地检索这些后续有效字符并且可将其经由光学输出装置4输出和/或可基于从相应搜索树11、12检索的后续有效字符来控制输入接口 5。不同搜索树可与不同地理区域相关联,以使得可沿着搜索树获取的不同路径代表为导航装置已知并且位于相应区域中的所有对象的名称。
[0045]与常规NVC树相反,第一搜索树11的节点14指向搜索子树13。如图2中示出,搜索子树13可包括在第二搜索树12中。搜索子树13可包括名称词尾,这些名称词尾是同时用于由第一个树11所代表的一组名称的一些名称以及由第二个树12所代表的一组名称的一些字符串的有效名称词尾。为了便于说明,当用户输入由搜索树11所代表的一组名称中包括的初始字符“Schill...”时,以及当用户输入由搜索树12所代表的一组名称中包括的初始字符“Bruckn...”时,名称词尾“...erplatz”或“...erstrasse”都可为有效词尾。第一搜索树11的节点14引用搜索子树13,而不是将与此名称词尾对应的搜索路径的相关部分同时存储于第一个树和第二个树中。
[0046]在操作中,当处理装置访问第一搜索树11的不同节点时,搜索可通过终止于节点14的路径16。然后,在节点14处存储的搜索子树的引用导致处理装置2在搜索子树13的节点处继续搜索,以识别用于尚未输入的名称的其余部分的有效字符。
[0047]单独搜索子树的引用可只沿着第一搜索树11的一些路径来提供。可存在可在第一搜索树11中通过而没有引用任何单独搜索子树的搜索路径15。[0048]搜索子树13不但由第一搜索树11的节点14引用,而且还由第二搜索树12中的父节点19引用。这反映搜索子树13代表用于以由第一搜索树11的节点14所代表的字符串起始的名称的可能的子字符串,而且还代表用于以由第二搜索树12的节点19所代表的字符串起始的名称的可能的子字符串。当用户输入字符串的初始字符,同时处理装置使用第二搜索树12来识别后续有效字符时,可通过搜索路径18。当到达节点19时,NVC搜索在搜索子树13中继续。
[0049]应认识到由多个搜索树11、12的节点引用的搜索子树13可具有许多分支节点和/或层级。具体地说,搜索子树13可包括多个分支节点,其为分别至少两个子节点的父节点。为T便于说明,当第一组字符串包括名称“Schillerstrasse”、“Schillerplatz”、“Schillerallee” 和 “Schillermuseum”,并且第二组字符串包括名称 “Brucknerstrasse”、“Brucknerplatz”、“Brucknerallee” 和 “Brucknermuseum” 时,搜索子树 13 可具有对应于不同名称词尾“...erstrasse”、“...erplatz”、“...erallee” 和 “...ermuseum” 的分支节点,当在一个搜索树中开始搜索,用户通过输入“Schill...”来开始时或当在另一个搜索树中开始搜索,用户通过输入“Bruckn...”来开始时,所有这些分支节点都是有效的。
[0050]如果搜索树11、12的叶节点指向数据库3中的对象,那么多个指针可存储于共同搜索子树13的每个叶节点中。为了便于说明,在路径17中到达的叶节点可含有两个不同指针。当在第一搜索树11中开始NVC搜索,到达路径17的叶节点时,可使用指针中的一个。当在另一个搜索树如搜索树12中开始NVC搜索,到达路径17的叶节点时,可使用指针中的另一个。处理装置2可跟踪搜索历史。可基于搜索历史来执行在共同搜索子树13的一个叶节点处存储的不同指针之间的消歧。如果搜索树的叶节点仅仅指示不存在包括另外的字符的名称,但是不指向数据库3中的其它对象,那么可能不需要这个消歧。
[0051]图3更详细地示出用于执行NVC搜索的搜索树20。搜索树20的节点可对应于不同字符。字符可为字母数字字符。每个节点代表在输入接口5处输入的一系列字符。一旦到达相应节点,则节点的子节点代表可能的后续有效字符。通常包括在多个不同搜索树中的搜索子树21可只存储一次。可存在多个父节点,所述多个父节点引用,即指向搜索子树21。
[0052]图4示出用于执行NVC搜索的搜索树。搜索树包括第一搜索树25、第二搜索树27和搜索子树29。搜索子树29可与第一搜索树25和第二搜索树27分开存储。搜索子树29代表具有由第一搜索树25识别的初始字符的名称的有效子字符串,以及具有由第二搜索树27识别的初始字符的名称的有效子字符串。相应地,第一搜索树25具有含有指向搜索子树29的指针的节点26。第二搜索树27具有含有指向搜索子树29的指针的另一个节点28。通过允许搜索子树29由多个不同搜索树25、27中的父节点引用,可减少冗余度。多个不同搜索树25、27可对应于不同地理区域,如不同国家、不同城市或不同市区。
[0053]参看图5和6,描述根据实施方案的生成用于执行NVC搜索的搜索树的方法。总体上,确定搜索子树,所述搜索子树代表用于不同组的字符串的后续有效字符的子字符串。为了便于说明,一组字符串可对应于一个国家中的城市的名称,并且另一组字符串可对应于另一个国家中的城市的名称。为了便于进一步说明,一组字符串可对应于给定国家中的一个城市中的街道的名称,并且另一组字符串可对应于同一国家中的另一个城市中的城市的名称。为了便于进一步说明,一组字符串可对应于一个城市中的POI,并且另一组字符串可对应于另一个城市中的POI。
[0054]一个或多个搜索子树可以不同的方式来确定。为了便于说明,如参照图5和6所说明,可生成常规NVC树并且进行比较以识别相同部分。其它实行方案是可能的,其可基于例如直接分析不同组字符的字符串以识别共同组的可能子字符串。
[0055]图5是一个实施方案的方法30的流程图。所述方法可在准备数据库以便在导航装置中使用时由电子计算装置自动执行。方法30可在车辆外部执行。
[0056]在31处,检索多组字符串。这些组可从电子地图数据、电子地籍地图或用户输入中检索。
[0057]在32处,生成每个组的常规、完整NVC树。这可通过针对每个组来分析一组字符串,以识别具有共同初始子字符串的字符串来完成。完整NVC树用作临时搜索树,其经过进一步处理以生成具有减少冗余度的搜索树。
[0058]在33处,将完整NVC树彼此比较以识别同样地包括在至少两个不同完整NVC树中的一个或多个子树。并非包含于至少两个完整NVC树中的所有子树都可在减少存储空间需求方面值得关注的。为了便于说明,可只考虑具有一定大小的子树。为了便于说明,在33处,可执行搜索以识别具有大于阈值的分支节点数量,和/或具有大于阈值的子节点总数,和/或具有大于阈值的节点总数的子树。
[0059]在34处,由完整NVC树生成多个搜索树。为此目的,将至少一些完整NVC树截短,方法是通过从其中移除在33处所识别的子树中的一个子树中所包括的搜索路径。在相应截短NVC树的节点处添加指向子树的指针。
[0060]多个搜索树可存储于数据库中。如果搜索子树与搜索树分开存储,那么它也存储于数据库中。数据库可随后部署至导航系统。
[0061]多个搜索树和一个或多个搜索子树可以不同的方式生成。为了便于说明,如果在32处生成的两个或更多个常规、完整NVC树共用子树,那么这些完整NVC树中的仅一个树可截短。搜索子树可仍为其它完整NVC树的一部分,因而这些树充当搜索树。搜索子树的叶节点处的条目可加以调适以考虑到如下事实:可在不同搜索树处起始的NVC搜索中到达这类叶节点。为了便于说明,搜索子树的每个叶节点可存储多个指针或其它数据,其中每个指针或数据与不同搜索历史相关。
[0062]为了便于进一步说明,如果在32处生成的两个或更多个常规、完整NVC树共用子树,那么这些完整NVC树全部可截短。所识别的子树可分开存储。这样生成的搜索子树的叶节点处的条目可加以调适以考虑到如下事实:可在不同搜索树处起始的NVC搜索中到达这类叶节点。指向搜索子树的指针添加于不同截短NVC树中的每一个树的节点处。
[0063]参看图6,进一步说明图5的方法。第一组字符串41和第二组字符串51经过处理以生成用于NVC搜索的搜索树。两个组41、51是不同的。两个组41、51甚至可为不相交的,因为没有组41的字符串包括在字符组51中,并且反之亦然。然而,两个组41、51不一定为不相交的。
[0064]生成常规完整NVC树42、52。NVC树42、52可通过分析相应组的字符串来生成。
[0065]字符串可根据相应字符串的开始处存在的子字符串来分组。在其它实行方案中,所述方法可使用NVC树42、52作为输入来开始。
[0066]将两个完整NVC树42、52彼此比较。识别同样包括在两个NVC树42、52中的相同子树部分43。
[0067]NVC树42可通过移除子树部分43来截短。完整NVC树42中的子树部分43的父节点可以置换成节点14,所述节点14存储保持包括在第二 NVC树中的搜索子树13的指针,或以其它方式对所述搜索子树13进行引用。搜索子树43的父节点同时由第一搜索树11的节点14和第二搜索树12中的搜索子树43的父节点引用。在一些实行方案中,第二完整NVC树52可用作没有任何进一步更改的第二搜索树。在其它实行方案中,第二搜索树12可从第二完整NVC树52中生成,方法是通过调适叶节点,以考虑到如下事实:当在第一搜索树11中开始以及在第二搜索树12中开始时均可到达搜索子树13的叶节点。
[0068]在其它实施方案中,可截短NVC树42、52以生成第一搜索树11和第二搜索树12,并且可基于子树部分43来生成搜索子树13并且可与第一搜索树11和第二搜索树12分开存储。
[0069]在其它实施方案中,不需要生成常规、完整NVC树42、52。为了便于说明,搜索子树以及引用搜索子树的第一搜索树和第二搜索树可通过分析第一组41和第二组51的字符串来确定。
[0070]在其它实行方案中,所述方法可使用完整NVC树42、52作为输入来开始。这类完整NVC树42、52可由例如电子地图的供应商来提供。
[0071]搜索树和搜索子树可具有各种配置中的任何一个,如参照图7至图10所进一步说明。搜索树的每一个不同配置可替代地或另外用于数据10中以存储用于NVC搜索的搜索树。
[0072]图7是代表搜索树11、62的数据60和用于执行NVC搜索的搜索子树13的示意图。在数据60中,搜索子树13与第一搜索树11和第二搜索树62两者分开存储。为了便于说明,第一搜索树11、第二搜索树62和搜索子树13可作为单独二进制大对象(BLOB)来存储。
[0073]第一搜索树11具有引用搜索子树13的节点14。第二搜索树62具有引用搜索子树13的节点64。在用户输入子字符串时,当沿着搜索路径16到达节点14时,在搜索子树13中继续搜索以识别接下来的后续有效字符。类似地,在用户输入子字符串时,当沿着搜索路径18到达节点64时,在搜索子树13中继续搜索以识别名称输入的以后的后续有效字符。
[0074]当数据60用于NVC搜索中时,搜索子树13可缓冲以供随后使用。为了便于说明,当执行在第二搜索树62处开始的NVC搜索时,导航装置I的处理装置2可加载搜索子树
13。当随后执行在第一搜索树11处开始的另一个NVC搜索时,可使用此缓冲数据。这可有助于加速NVC搜索。
[0075]搜索子树可由两个以上搜索树弓丨用。为了便于说明,可存在三个或甚至更多个搜索树,其分别具有节点,所述节点具有指向同一个搜索子树的指针,如参照图8所说明。
[0076]图8是代表搜索树11、62、66的数据65和用于执行NVC搜索的搜索子树13的示意图。第一搜索树11具有引用搜索子树13的节点14。第二搜索树62具有引用搜索子树13的节点64。第三搜索树66具有引用搜索子树13的节点67。当在第一搜索树11处开始的NVC搜索中到达节点14时或当在第二搜索树62处开始的NVC搜索中到达节点64时,或当在第三搜索树64处开始的NVC搜索中到达节点67时,NVC搜索在搜索子树13中继续以识别接下来的后续有效字符。[0077]虽然数据65将搜索子树13展示为与第一搜索树11、第二搜索树62和第三搜索树分开存储,但是搜索子树13可包括在这些树中的任何一个中。
[0078]数据库3可包括多个搜索子树。搜索树可具有各自引用不同搜索子树的不同节点,如图9中所示出。
[0079]图9是代表搜索树71、72、73的数据70和用于执行NVC搜索的第一搜索子树74和第二搜索子树75的示意图。第一搜索树71具有引用第一搜索子树74的节点76。第二搜索树72具有也引用第一搜索子树74的节点77。第一搜索子树74代表同时用于在第一搜索树71处开始并且到达节点76的NVC搜索,以及在第二搜索树72处开始并且到达节点77的NVC搜索的后续有效字符。
[0080]第二搜索树72具有引用第二搜索子树75的另一个节点78。第三搜索树73具有也引用第二搜索子树75的节点79。第二搜索子树75代表同时用于在第二搜索树72处开始并且到达节点78的NVC搜索,以及在第三搜索树73处开始并且到达节点79的NVC搜索的后续有效字符。
[0081]虽然搜索子树可对应于名称词尾,S卩,位于相应字符串末尾的字符串的子字符串,但是情况不一定如此。实际上,例如,当相关子字符串存在于名称中央时,也可使用识别代表一系列字符的搜索子树的原则,这一系列字符是用于不同组字符串的后续有效字符。这在图10中示出。
[0082]图10是代表第一搜索树81和第二搜索树82的数据80的示意图。第二搜索树82包括搜索子树13。
[0083]搜索子树13对应于位于由第一搜索树81所代表的名称中间或由第二搜索树82所代表的名称末尾的后续有效字符的子字符串。第一搜索树81具有引用搜索子树13的节点84。搜索子树13的叶节点可具有两个数据,其中一个引用回到第一搜索树81。当在第一搜索树81中开始来执行搜索时,随着用户输入名称的前几个字符,可沿着搜索路径86到达节点84。从节点84,处理装置2访问搜索子树13。当用户继续输入名称字符时,搜索可沿着穿过搜索子树13的搜索路径87来继续。在搜索子树13的叶节点处,可进行消歧以确定是在第一搜索树81还是第二搜索树82中开始的搜索中到达此叶节点。当在第一搜索树81中开始的搜索中到达搜索子树13的叶节点时,叶节点可引用回到第一搜索树81的节点,或另一个搜索子树。当用户继续输入名称字符时,用于后续有效字符的搜索可沿着第一搜索树81中的路径89继续。
[0084]类似地,当在第二搜索树82中开始搜索时,处理装置2也可到达共同搜索子树13的叶节点。当例如因为第二搜索树82对应于以前由用户选择的城市而在第二搜索树82中开始搜索时,随着用户输入名称的前几个字符,可通过搜索路径88。从搜索子树13的根节点的父节点,在搜索子树13中继续搜索。当到达搜索子树13的叶节点时,可执行基于搜索历史的消歧。
[0085]在各种实施方案的装置和方法中,由用于执行后续有效字符搜索的搜索树所代表的字符串可为字母数字字符串。在各种实施方案的装置和方法中,可生成搜索子树和引用同一个搜索子树的多个搜索树以使得其对应于具有一定长度的名称的子字符串。为了便于说明,搜索子树中的每个路径可对应于具有两个、三个或三个以上字符的长度的名称子字符串。搜索树中的引用搜索子树的节点可对应于具有至少两个字符的长度的名称子字符串。换句话说,搜索子树可尤其对应于代表同时用于第一名称组的一些名称和第二名称组的一些名称的后续有效字符的子字符串。
[0086]虽然根据实施方案的装置和方法已经详细描述,但是可在其它实施方案中实施变化。为了便于说明,虽然搜索树已经在街道名称、城市名称或国家名称的情形下进行了描述,但是搜索树可代表各种不同的名称中的任何一个,如POI的名称。
[0087]为了便于进一步说明,虽然已经说明了索引树和其节点的示例性结构,但是可使用任何合适数据结构来实施索引树。为了便于说明,索引树可为关系数据库。
[0088]本发明的实施方案可用于车辆导航装置,其可为便携式装置或固定安装于车辆中的装置。本发明的实施方案不限于在此特定领域中使用。
【权利要求】
1.一种生成指示用于导航装置(2)的输入接口(5)的后续有效字符的搜索树(11、12 ;25,27 ;11、62 ;11、62、66 ;71、72 ;81、82)的方法,所述方法包括: 检索关于第一组(41)字符串的信息和关于第二组(51)字符串的信息,所述第一组和第二组(41、51)彼此不同; 基于关于所述第一组(41)的所述信息和关于所述第二组(51)的所述信息来确定搜索子树(13 ;29 ;74、75),所述搜索子树(13 ;29 ;74、75)指示用于所述第一组(41)字符串的子集和所述第二组(51)字符串的另一子集两者的后续有效字符; 基于关于所述第一组(41)的所述信息来生成第一搜索树(11 ;25 ;71 ;81)并且基于关于所述第二组(51)的所述信息来生成第二搜索树(12 ;27 ;72、73 ;82),其中生成所述第一搜索树(11 ;25 ;71 ;81)和所述第二搜索树(12 ;27 ;72、73 ;82)以使得所述第一搜索树(11 ;25 ;71 ;81)的节点(14 ;26 ;76 ;84)引用所述搜索子树(13 ;29 ;74、75)并且所述第二搜索树(12 ;27 ;72、73 ;82)的另一节点(19 ;28 ;64 ;64、67 ;77)引用所述搜索子树(13 ;29 ;74、75),并且将所述第一搜索树(11 ;25 ;71 ;81)和所述第二搜索树(12 ;27 ;72、73 ;82)存储于数据库(3)中。
2.如权利要求1所述的方法, 其中所述确定包括: 基于关于所述第一组(41)的所述信息来生成第一临时搜索树(42),其中所述第一临时搜索树(42)具有用于包括在所述第一组中的每个字符串的叶节点; 基于关于所述第二组(51)的所述信息来生成第二临时搜索树(52),其中所述第二临时搜索树(52)具有用于包·括在所述第二组(51)中的每个字符串的叶节点; 将所述第一临时搜索树(42)与所述第二临时搜索树(52)相比较以确定所述搜索子树(13 ;29 ;74、75)。
3.如权利要求2所述的方法, 其中所述确定包括: 识别与所述第二临时搜索树(52)的部分(43)相同的所述第一临时搜索树(42)的部分(43)ο
4.如权利要求3所述的方法, 其中所述生成所述第一搜索树(11 ;25 ;71 ;81)包括: 基于所述识别的部分(43)来截短所述第一临时搜索树(42);以及在所述截短的第一临时搜索树的节点(14)处添加对所述搜索子树(13 ;29 ;74、75)的引用。
5.如权利要求4所述的方法, 其中所述第二搜索树(12 ;82)包括所述搜索子树(13), 其中所述第一搜索树(11 ;81)的所述节点(14 ;84)引用所述第二搜索树(12 ;82)中包括在所述搜索子树(13)中的节点。
6.如权利要求3或4所述的方法, 其中所述生成所述第二搜索树(12 ;27 ;72、73 ;82)包括: 基于所述识别的部分(43)来截短所述第二临时搜索树(52);以及 在所述截短的第二临时搜索树的节点处添加对所述搜索子树(13 ;29 ;74、75)的引用。
7.如权利要求6所述的方法, 其中所述第一搜索树(25 ;71)、所述第二搜索树(27 ;82)和所述搜索子树(29 ;74)作为独立的二进制大对象进行存储。
8.如前述权利要求中任一项所述的方法, 其中所述第一组(41)字符串和所述第二组(51)字符串是选自国家名称、城市名称、街道名称或兴趣点(POI)名称。
9.如前述权利要求中任一项所述的方法,其还包括: 检索关于不同于所述第一组(41)和所述第二组(51)的至少另一组字符串的信息; 其中所述搜索子树(13)是基于关于所述第一组(41)的所述信息、关于所述第二组(51)的所述信息和关于所述至少另一组的所述信息来确定,以使得所述搜索子树(13)指示用于所述第一组(41)的子集、所述第二组(51)的子集以及所述至少另一组的子集的后续有效字符;以及 基于关于所述至少另一组的所述信息来生成至少另一个搜索树(65),以使得所述至少另一个搜索树(65)的节点(67)引用所述搜索子树(13)。
10.一种导航装置,其包括: 输入接口(5),其被配置成以连续方式接收字符输入;
数据库(3),其存储多个搜索树(11、12 ;25、27 ;11、62 ;11、62、66 ;71、72 ;81、82),这些搜索树相应地指示用于在所述输入接口(5)处接收的名称输入的后续有效字符,其中第一搜索树(11 ;25 ;71 ;81)具有引用搜索子树(13 ;29 ;74、75)的第一节点(14 ;26 ;76 ;84)并且第二搜索树(12 ;27 ;72、73 ;82)具有引用同一搜索子树(13 ;29 ;74、75)的第二节点(19 ;28 ;64 ;64、67 ;77);以及 处理装置(2),其耦合至所述输入接口(5)和所述数据库(3)以执行后续有效字符搜索,所述处理装置(2)被配置成 -在所述输入接口(5)处接收字符输入时,使用存储于所述数据库(3)中的所述多个搜索树(11、12 ;25、27 ;11、62 ;11、62、66 ;71、72 ;81、82)中的至少一个搜索树来确定后续有效字符;并且 -在到达所述第一搜索树(11 ;25 ;71 ;81)的所述第一节点(14 ;26 ;76 ;84)或所述第二搜索树(12 ;27 ;72、73 ;82)的所述第二节点(19 ;28 ;64 ;64、67 ;77)中的任一个时,在所述搜索子树(13 ;29 ;74、75)中选择性地继续所述后续有效字符搜索。
11.如权利要求10所述的导航装置(1), 其中所述数据库(3)存储多个搜索子树(74、75),所述多个搜索子树(74、75)中的每个分别由至少两个不同搜索树(71-73)的节点(76-79)引用。
12.如权利要求10或11所述的导航装置(I), 其中所述处理装置(2)被配置成在所述后续有效字符搜索中在到达所述第一节点(14 ;26 ;76 ;84)或所述第二节点(19 ;28 ;64 ;64、67 ;77)之前预加载所述搜索子树(13 ;29 ;74、75)。
13.如权利要求10至12中任一项所述的导航装置(I), 其中所述搜索子树(13 ;29 ;74、75)被包括在所述第一搜索树(11 ;25 ;71 ;81)和所述第二搜索树(12 ;27 ;72、73 ;82)中的一个搜索树中。
14.如权利要求10至12中任一项所述的导航装置(I), 其中所述搜索子树(29 ;74、75)与所述第一搜索树(25 ;71)和所述第二搜索树(27 ;72,73)分开地存储于所述数据库(3)中。
15.如权利要求10至14中任一项所述的导航装置(I), 其中所述第一和第二搜索树(11、12 ;25,27 ;11、62 ;11、62、66 ;71、72 ;81、82)中的每一个搜索树指示用于国家名称、城市名称、街道名称或兴趣点(POI)名称的后续有效字符。
【文档编号】G06F17/30GK103827867SQ201280046596
【公开日】2014年5月28日 申请日期:2012年9月28日 优先权日:2011年9月30日
【发明者】Cc.斯平德勒, M.希特曼, S.巴普蒂斯特, J.维尔舍 申请人:哈曼贝克自动系统股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1