著录项信息
专利名称 | 兴趣点检索方法、装置和带有该装置的设备 |
申请号 | CN201210588046.0 | 申请日期 | 2012-12-30 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2014-07-02 | 公开/公告号 | CN103902626A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F17/30 | IPC分类号 | G;0;6;F;1;7;/;3;0查看分类表>
|
申请人 | 上海易罗信息科技有限公司 | 申请人地址 | 上海市闵行区浦江镇万芳路651号4单元三楼
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 上海合众思壮科技有限公司 | 当前权利人 | 上海合众思壮科技有限公司 |
发明人 | 曹红杰;强晓春;邓洪波;丁亚芬 |
代理机构 | 北京志霖恒远知识产权代理事务所(普通合伙) | 代理人 | 孟阿妮 |
摘要
本发明涉及一种兴趣点检索方法、装置和带有该装置的设备。该方法包括:接收用户输入的第m个字符,m为大于0的整数,且m的初始值为1;在索引文件块的第m级节点层中查找用户输入的第m个字符所在的节点,并读取该节点的子节点中的字符作为联想字符,以供用户选择输入;检测用户是否输入新的字符,若是,则使m=m+1,重复执行S1和S2;若用户没有输入新的字符,并接收到查询指令,则根据接收到的最后一个字符检索兴趣点。本发明提升了兴趣点检索效率,且节省资源。
1.一种兴趣点检索方法,其特征在于,包括:
S1:接收用户输入的第m个字符,m为大于0的整数,且m的初始值为1;
S2:在索引文件块的第m级节点层中查找用户输入的第m个字符所在的节点,并读取该节点的子节点中的字符作为联想字符,以供用户选择输入;
S3:检测用户是否输入新的字符,若是,则使m=m+1,重复执行S1和S2;
S4:若用户没有输入新的字符,并接收到查询指令,则在索引文件块的第m级节点层中查找用户输入的第m个字符所在的节点,读取该节点中存储的对应的地址信息,检索兴趣点。
2.根据权利要求1所述的兴趣点检索方法,其特征在于,
所述索引文件块用于存储兴趣点名称,所述索引文件块依次包括第一级节点层至第n级节点层,n为大于0的整数;每级节点层包括至少一个存储有一个字符及与该字符对应的地址信息的节点,第二级节点层至第n级节点层中的至少一个节点在其前一级节点层中具有父节点,每个父节点及其一个子节点中所存储的字符为一个兴趣点名称的其中两个连续的字符,各所述兴趣点名称对应至少一个兴趣点信息;
各所述兴趣点信息存储在实体数据文件块中,各所述字符对应的地址信息用于确定该字符所在节点对应的兴趣点名称所对应的兴趣点信息在所述实体数据文件块中的存储位置。
3.根据权利要求2所述的兴趣点检索方法,其特征在于,接收用户输入的第1个字符之前还包括:
读取第一级节点层中的字符供用户选择输入。
4.根据权利要求2所述的兴趣点检索方法,其特征在于,根据接收到的最后一个字符检索兴趣点具体为:
根据接收的最后一个字符所在节点存储的地址信息,在倒排索引数据块中获取各所述兴趣点信息在所述实体数据文件块中的偏移量信息,根据所述偏移量信息在所述实体数据文件块中获取该节点对应的兴趣点名称所对应的兴趣点信息,所述地址信息为该节点对应的兴趣点名称在倒排索引数据块中指向的第一个偏移量信息;或
根据接收的最后一个字符所在节点存储的地址信息,在所述实体数据文件块中获取该节点对应的兴趣点名称所对应的兴趣点信息,所述地址信息为该节点对应的兴趣点名称所对应的兴趣点信息在所述实体数据文件块中存储的起始地址。
5.根据权利要求2所述的兴趣点检索方法,其特征在于,所述第一级节点层存储有所有所述兴趣点名称中的字符。
6.根据权利要求2所述的兴趣点检索方法,其特征在于,所述索引文件块中存储的兴趣点名称互不相同,同一兴趣点名称对应的多个兴趣点信息连续存储在所述实体数据文件块中。
7.一种兴趣点检索装置,其特征在于,包括:
存储模块,包括:索引文件块,包括至少一级节点层,每级节点层的各节点存储有一个字符;
字符接收模块,接收用户输入的第m个字符,m的初始值为1;
联想模块,在所述索引文件块的第m级节点层查找用户输入的第m个字符所在的节点,并读取该节点的子节点中的字符作为联想字符,以供用户选择输入;
检测模块,检测用户是否输入新的字符,若是,则使m=m+1;
检索模块:在用户没有输入新的字符、并接收到查询指令的情况下,根据接收到的最后一个字符检索兴趣点。
8.根据权利要求7所述的兴趣点检索装置,其特征在于,
所述存储模块还包括实体数据文件块,用于存储兴趣点信息;
所述索引文件块用于存储兴趣点名称,所述索引文件块依次包括第一级节点层至第n级节点层,n为大于0的整数;每级节点层包括至少一个存储有一个字符及与该字符对应的地址信息的节点,第二级节点层至第n级节点层中的至少一个节点在其前一级节点层中具有父节点,每个父节点及其一个子节点中所存储的字符为一个兴趣点名称的其中两个连续的字符;
各所述字符对应的地址信息用于确定该字符所在节点对应的兴趣点名称所对应的兴趣点信息在所述实体数据文件块中的存储位置。
9.根据权利要求8所述的兴趣点检索装置,其特征在于,所述第一级节点层存储有所有所述兴趣点名称中的字符。
10.根据权利要求8所述的兴趣点检索装置,其特征在于,所述索引文件块中存储的兴趣点名称互不相同,同一兴趣点名称对应的多个兴趣点信息连续存储在所述实体数据文件块中。
11.根据权利要求8所述的兴趣点检索装置,其特征在于,所述存储模块还包括倒排索引数据块,用于存储各兴趣点信息在所述实体数据文件块中的偏移量信息,各字符对应的地址信息为其所在节点对应的兴趣点名称在所述倒排索引数据块中指向的第一个偏移量信息。
12.根据权利要求8所述的兴趣点检索装置,其特征在于,各字符对应的地址信息为其所在节点对应的兴趣点名称所对应的兴趣点信息在所述实体数据文件块中存储的起始地址。
13.一种设备,其特征在于,包括权利要求7-12任一项所述的兴趣点检索装置。
兴趣点检索方法、装置和带有该装置的设备\n技术领域\n[0001] 本发明涉及检索系统,尤其涉及一种兴趣点检索方法、兴趣点检索装置以及带有该兴趣点检索装置的设备。\n背景技术\n[0002] 随着导航技术的普及,人们可借助手机、电脑等便携式设备快速检索感兴趣的兴趣点(Point of Interest,POI),例如,可快速检索餐厅、酒店、公司、道路等在城市中的位置等。\n[0003] 现有技术中具有两种兴趣点检索方法,一种是基于树的索引方法,另一种是倒排索引方法。基于树的索引方法在数据量大(例如千万量级)时,若检索系统需要支持POI名称中任意一个字开始的查找,则索引数据文件过于庞大,降低了检索效率,已经无法用于目前PND(Portable Navigation Devices,便携式自动导航设备)的硬件平台。倒排索引无法支持字符联想功能,无法实现检索目标的快速定位,且由于其需要存储的数据量大,对内存需求较高。\n发明内容\n[0004] 在下文中给出关于本发明的简要概述,以便提供关于本发明的某些方面的基本理解。应当理解,这个概述并不是关于本发明的穷举性概述。它并不是意图确定本发明的关键或重要部分,也不是意图限定本发明的范围。其目的仅仅是以简化的形式给出某些概念,以此作为稍后论述的更详细描述的前序。\n[0005] 本发明的一个主要目的在于克服现有技术的缺陷,提供一种可提高兴趣点检索效率的兴趣点检索方法及兴趣点检索装置。\n[0006] 本发明的另一个主要目的在于克服现有技术的缺陷,提供一种具有该兴趣点检索装置的设备。\n[0007] 为实现上述目的,本发明提供了一种兴趣点检索方法,包括:\n[0008] S1:接收用户输入的第m个字符,m为大于0的整数,且m的初始值为1;\n[0009] S2:在索引文件块的第m级节点层中查找用户输入的第m个字符所在的节点,并读取该节点的子节点中的字符作为联想字符,以供用户选择输入;\n[0010] S3:检测用户是否输入新的字符,若是,则使m=m+1,重复执行S1和S2;\n[0011] S4:若用户没有输入新的字符,并接收到查询指令,则根据接收到的最后一个字符检索兴趣点。\n[0012] 为实现上述目的,本发明还提供了一种兴趣点检索装置,包括:\n[0013] 存储模块,包括:索引文件块,包括至少一级节点层,每级节点层的各节点存储有一个字符;\n[0014] 字符接收模块,接收用户输入的第m个字符,m的初始值为1;\n[0015] 联想模块,在索引文件块的第m级节点层查找用户输入的第m个字符所在的节点,并读取该节点的子节点中的字符作为联想字符,以供用户选择输入;\n[0016] 检测模块,检测用户是否输入新的字符,若是,则使m=m+1;\n[0017] 检索模块:在用户没有输入新的字符、并接收到查询指令的情况下,根据接收到的最后一个字符检索兴趣点。\n[0018] 为实现上述目的,本发明还提供了一种设备包括上述兴趣点检索装置。\n[0019] 本发明的兴趣点检索方法、兴趣点检索装置以及带有该装置的设备以节点层的形式将字符存储在索引文件块中,通过读取各字符所在节点的子节点中的字符可实现输入联想功能,并且根据接收到的最后一个字符检索兴趣点,便于快速检索到兴趣点信息,且无需过于庞大的数据量,因此,提升了兴趣点检索的效率。\n附图说明\n[0020] 参照下面结合附图对本发明实施例的说明,会更加容易地理解本发明的以上和其它目的、特点和优点。附图中的部件只是为了示出本发明的原理。在附图中,相同的或类似的技术特征或部件将采用相同或类似的附图标记来表示。\n[0021] 图1为本发明兴趣点检索方法一种实施例的流程图。\n[0022] 图2为本发明兴趣点检索方法另一种实施例的流程图。\n[0023] 图3为存储模块的一种实施例的数据存储结构示意图。\n[0024] 图4为本发明兴趣点检索装置的一种实施例的方框图。\n[0025] 图5示出了兴趣点名称在索引文件块中的一种存储方式的示例图。\n具体实施方式\n[0026] 下面参照附图来说明本发明的实施例。在本发明的一个附图或一种实施方式中描述的元素和特征可以与一个或更多个其它附图或实施方式中示出的元素和特征相结合。应当注意,为了清楚的目的,附图和说明中省略了与本发明无关的、本领域普通技术人员已知的部件和处理的表示和描述。\n[0027] 本发明提供了一种兴趣点检索方法,包括:\n[0028] S1:接收用户输入的第m个字符,m为大于0的整数,且m的初始值为1;\n[0029] S2:在索引文件块的第m级节点层中查找用户输入的第m个字符所在的节点,并读取该节点的子节点中的字符作为联想字符,以供用户选择输入;\n[0030] S3:检测用户是否输入新的字符,若是,则使m=m+1,重复执行S1和S2;\n[0031] S4:若用户没有输入新的字符,并接收到查询指令,则根据接收到的最后一个字符检索兴趣点。\n[0032] 可选地,索引文件块用于存储兴趣点名称,索引文件块依次包括第一级节点层至第n级节点层,n为大于0的整数;每级节点层包括至少一个存储有一个字符及与该字符对应的地址信息的节点,第二级节点层至第n级节点层中的至少一个节点在其前一级节点层中具有父节点,每个父节点及其一个子节点中所存储的字符为一个兴趣点名称的其中两个连续的字符,各兴趣点名称对应至少一个兴趣点信息;\n[0033] 各兴趣点信息存储在实体数据文件块中,各字符对应的地址信息用于确定该字符所在节点对应的兴趣点名称所对应的兴趣点信息在实体数据文件块中的存储位置。\n[0034] 可选地,接收用户输入的第1个字符之前还包括:\n[0035] 读取第一级节点层中的字符供用户选择输入。\n[0036] 可选地,根据接收到的最后一个字符检索兴趣点具体为:\n[0037] 根据接收的最后一个字符所在节点存储的地址信息,在倒排索引数据块中获取各兴趣点信息在实体数据文件块中的偏移量信息,根据偏移量信息在实体数据文件块中获取该节点对应的兴趣点名称所对应的兴趣点信息,地址信息为该节点对应的兴趣点名称在倒排索引数据块中指向的第一个偏移量信息;或\n[0038] 根据接收的最后一个字符所在节点存储的地址信息,在实体数据文件块中获取该节点对应的兴趣点名称所对应的兴趣点信息,地址信息为该节点对应的兴趣点名称所对应的兴趣点信息在实体数据文件块中存储的起始地址。\n[0039] 可选地,第一级节点层存储有所有兴趣点名称中的字符。\n[0040] 可选地,索引文件块中存储的兴趣点名称互不相同,同一兴趣点名称对应的多个兴趣点信息连续存储在实体数据文件块中。\n[0041] 本发明兴趣点检索装置可应用于各种支持导航功能的硬件设备,例如,可应用于手机、电脑、车载导航仪等进行POI(Point of Interest,兴趣点)检索、定位。\n[0042] 参考图1,本发明兴趣点检索方法的一种实施例包括以下步骤:\n[0043] S1:接收用户输入的第m个字符,m为大于0的整数,且m的初始值为1。\n[0044] S2:在索引文件块的第m级节点层中查找用户输入的第m个字符所在的节点,并读取该节点的子节点中的字符作为联想字符,以供用户选择输入;\n[0045] S3:检测用户是否输入新的字符,若是,则使m=m+1,重复执行S1和S2;\n[0046] S4:若用户没有输入新的字符,并接收到查询指令,则根据接收到的最后一个字符检索兴趣点。\n[0047] 参考图2,可选地,在步骤S1之前还包括:\n[0048] S0:读取第一级节点层中的字符作为联想字符供用户选择输入。例如,在用户开启兴趣点检索功能后,兴趣点检索装置接收到开启信号,即读取第一级节点层中的所有节点中的字符,并将读取的字符发送至该装置或设备的显示器进行显示,用户可在显示的字符中选择一个输入至字符接收模块。通过本步骤,可在开启兴趣点检索装置之后读取联想字符供用户选择要输入的第一个字符,无需手动书写,使得兴趣点检索的使用更友好,也提升了检索效率。\n[0049] 当用户需要检索例如兴趣点“天安门”,并获取“天安门”的兴趣点信息时,可首先输入字符““天”,再输入字符“安”,则步骤S1接收的第一个字符为““天”,第二个字符为“安”,如果用户继续输入字符“门”,则步骤S1中接收的第三个字符为“门”;用户也可首先输入字符“安”,再输入字符“门”,则步骤S1接收的第一个字符为“安”,第二个字符为“门”。\n[0050] 步骤S2中,当接收到第一个字符例如“天”时,在如图3所示的索引文件块14中查找字符“天”所在的节点,并读取该节点的子节点中的字符作为联想字符,以供用户选择输入。\n例如,当字符“天”所在节点的子节点中的联想字符分别包括“下”、“安”时,用户可选择输入字符“安”。\n[0051] 查找到用户输入的第一个字符“天”后,通过执行步骤S3检测是否有新的字符输入,当检索到输入新的字符,例如“安”时,使得m的值加1,并执行步骤S1和S2,以接收该新的字符(第二个字符)“安”,并在索引文件块14中查找字符“安”所在的节点,并读取该节点的子节点中的字符作为联想字符,以供用户选择输入。\n[0052] 如果用户认为根据输入的字符“天”和“安”已经足够查找到兴趣点“天安门”,则可不继续输入字符并启动查询,则在步骤S3中检测到没有新的字符输入,如果此时查询功能被启动,则执行步骤S4以根据接收的最后一个字符“安”查找兴趣点”天安门”。\n[0053] 下面对图3所示的存储模块10的一种实施例的数据存储结构进行详细描述,该存储模块10包括如图3所示的索引文件块14,还包括实体数据文件块12。\n[0054] 实体数据文件块12用于存储兴趣点的实体信息,即兴趣点信息,该兴趣点信息可包括,例如兴趣点名称、兴趣点在某座城市中的具体位置,距离用户当前所在位置的距离、行走路线和/或该兴趣点的类别等信息,当该兴趣点信息被读取供用户查看时,用户可根据其中的内容快速定位兴趣点。\n[0055] 各兴趣点信息在实体数据文件块12中具有预设的存储地址,即具有预设的偏移量。具体地,多个兴趣点信息对应的兴趣点名称相同时,该多个兴趣点信息连续存储,只要查找到连续存储该多个兴趣点信息的起始位置,即可快速读取该多个兴趣点信息中的任何一个。\n[0056] 如图3所示,索引文件块14用于以“树”的结构形式存储兴趣点名称中的字符。\n[0057] 该“树”可包括第一级节点层至第n级节点层C1-Cn,n为大于0的整数,n的值(或树的深度)可由存储的最长的兴趣点名称确定,例如,当某一兴趣点具有最长的字符长度(例如具有最多的汉字)时,该长度即为n的值。\n[0058] 每级节点层包括一个或多个节点,每个节点中存储有一个包含在一个兴趣点名称中的字符。步骤S1中接收的第m个字符为存储在第m级节点层中的字符,m大于0并小于或等于n。因此,在步骤S2中,用户可在第一级节点层中查找字符“天”所在的节点,在第二级节点层中查找字符“安”所在的节点,以此类推。\n[0059] 各兴趣点名称中的字符按照顺序在“树”中竖向存储,即,第二级节点层至第n级节点层中的部分或全部节点在其前一级节点层中具有相应的父节点,每个父节点及其一个子节点中所存储的字符为一个兴趣点的其中两个连续的字符。例如,当步骤S1中接收的字符“天”时,步骤S2中在字符“天”所在节点的子节点中读取的联想字符既可包括“安”,也可包括“下”(天下)、“天”(天天)等。\n[0060] 在上述“天安门”的示例中,如果用户在输入字符“安”之后继续输入“门”,由于“门”是该兴趣点的最后一个字符,则没有联想字符供读取,则在步骤S3中,将默认为没有新的字符输入,自动启动查询功能,并在步骤S4中根据该最后一个字符“门”检索兴趣点。\n[0061] 其中第一级节点层C1中存储有所有兴趣点名称中出现的字符。因此,当查找例如兴趣点“天安门”时,既可以字符“天”开始可进行查找,也可以字符“安”开始进行查找。\n[0062] 每个节点中还存储有与其中的字符所对应的地址信息,该地址信息可为对应的字符所在节点对应的兴趣点名称所对应的兴趣点信息在实体数据文件块中的起始地址,或者为倒排信息,下面分别对这两种情况进行描述:\n[0063] 如图3所示,当地址信息为倒排信息时,存储模块10还包括倒排索引数据块16,用于存储各兴趣点信息在实体数据文件块中的偏移量信息,根据该偏移量信息,可在实体数据文件中快速查找到存储该目标兴趣点的实体信息的存储地址。\n[0064] 索引文件块14中各节点对应的每个兴趣点名称都指向倒排索引数据块16中的一个对应的偏移量信息。各字符对应的倒排信息为:该字符所在节点对应的兴趣点名称在倒排索引数据块16中指向的起始位置,即指向的第一个偏移量信息。例如,字符“安”对应的倒排信息可包括兴趣点“天安门”在倒排索引数据块16中指向的起始位置以及兴趣点“天安广场”在倒排索引数据块16中指向的起始位置,当“天安广场”具有多个,即多个兴趣点具有相同的名称时,对应的多个偏移量信息连续存放,则该兴趣点名称“天安广场”在倒排索引数据块16中指向其中的第一个偏移量信息。\n[0065] 因此,在字符对应的地址信息为倒排信息时,执行步骤S4时,根据接收的最后一个字符对应的倒排信息,获取对应的兴趣点信息在实体数据文件块12中的地址。\n[0066] 作为一种可选的实施方式,也可直接将各字符所在节点对应的兴趣点名称所对应的兴趣点信息在实体数据文件块12中的起始地址存储在对应的节点中,例如,可在存储字符“安”的节点中同时存储“天安门”的兴趣点信息在实体数据文件块12中的起始地址,以及“天安广场”的兴趣点信息在实体数据文件块12中的起始地址。\n[0067] 在这种可选的实施方式中,执行步骤S4时,可直接根据输入的最后一个字符所在节点中存储的起始地址,在实体数据文件块12中获取兴趣点信息。\n[0068] 同一兴趣点名称对应的多个兴趣点信息连续存储在实体数据文件块12中。因此,各字符所在节点中存储的地址信息为该节点对应的兴趣点名称所对应的兴趣点信息在实体数据文件块12中的起始地址;或者,具有相同兴趣点名称的多个兴趣点信息在实体数据文件块12中的偏移量信息连续存储在倒排索引数据块16中。并且该兴趣点名称可以在索引文件块14中只存储一次,而具有相同兴趣点名称的该多个兴趣点信息的偏移量信息在倒排索引数据块16中连续存放,存储该兴趣点名称中的各字符的节点中的地址信息为该兴趣点名称在倒排索引数据块16所指向的是连续存放的多个偏移量信息中的第一个。例如,当兴趣点A、B、C、D具有相同的兴趣点名称,兴趣点A、B、C、D在实体数据文件块12中的偏移量信息连续存储在倒排索引数据块16中,如果该连续存储的偏移量信息分别为d、(d+1)、(d+2)、(d+3),则该兴趣点名称指向偏移量信息d。根据该偏移量信息d,即可在实体数据文件块12中快速定位兴趣点A、B、C、D的实体信息进行读取。\n[0069] 本发明还提供了一种兴趣点检索装置,包括:\n[0070] 存储模块,包括:索引文件块,包括至少一级节点层,每级节点层的各节点存储有一个字符;\n[0071] 字符接收模块,接收用户输入的第m个字符,m的初始值为1;\n[0072] 联想模块,在索引文件块的第m级节点层查找用户输入的第m个字符所在的节点,并读取该节点的子节点中的字符作为联想字符,以供用户选择输入;\n[0073] 检测模块,检测用户是否输入新的字符,若是,则使m=m+1;\n[0074] 检索模块:在用户没有输入新的字符、并接收到查询指令的情况下,根据接收到的最后一个字符检索兴趣点。\n[0075] 可选地,存储模块还包括实体数据文件块,用于存储兴趣点信息;\n[0076] 索引文件块用于存储兴趣点名称,索引文件块依次包括第一级节点层至第n级节点层,n为大于0的整数;每级节点层包括至少一个存储有一个字符及与该字符对应的地址信息的节点,第二级节点层至第n级节点层中的至少一个节点在其前一级节点层中具有父节点,每个父节点及其一个子节点中所存储的字符为一个兴趣点名称的其中两个连续的字符;\n[0077] 各字符对应的地址信息用于确定该字符所在节点对应的兴趣点名称所对应的兴趣点信息在实体数据文件块中的存储位置。\n[0078] 可选地,第一级节点层存储有所有兴趣点名称中的字符。\n[0079] 可选地,索引文件块中存储的兴趣点名称互不相同,同一兴趣点名称对应的多个兴趣点信息连续存储在所述实体数据文件块中。\n[0080] 可选地,存储模块还包括倒排索引数据块,用于存储各兴趣点信息在所述实体数据文件块中的偏移量信息,各字符对应的地址信息为其所在节点对应的兴趣点名称在所述倒排索引数据块中指向的第一个偏移量信息。\n[0081] 可选地,各字符对应的地址信息为其所在节点对应的兴趣点名称所对应的兴趣点信息在实体数据文件块中存储的起始地址。\n[0082] 参考图4,本发明兴趣点检索装置的第一实施例包括该存储模块10、字符接收模块\n20、联想模块30、检测模块40以及检索模块50。\n[0083] 本实施例中,存储模块10可为设于应用该兴趣点检索装置的设备中的存储器,其包括实体数据文件块12、索引文件块14,可选地,还可包括倒排索引数据块16。\n[0084] 实体数据文件块12用于存储兴趣点的实体信息,即兴趣点信息,该兴趣点信息可包括,例如兴趣点名称、兴趣点在某座城市中的具体位置,距离用户当前所在位置的距离、行走路线和/或该兴趣点的类别等信息,当该兴趣点信息被读取供用户查看时,用户可根据其中的内容快速定位兴趣点。\n[0085] 各兴趣点信息在实体数据文件块12中具有预设的存储地址,即具有预设的偏移量。具体地,多个兴趣点信息对应的兴趣点名称相同时,该多个兴趣点信息连续存储,只要查找到连续存储该多个兴趣点信息的起始地址,即可快速读取该多个兴趣点信息中的任何一个。\n[0086] 索引文件块14用于以“树”的结构形式存储兴趣点名称。\n[0087] 倒排索引数据块16用于存储各兴趣点信息在实体数据文件块中的偏移量信息,根据该偏移量信息,可在实体数据文件中快速查找到存储该目标兴趣点的实体信息的地址。\n索引文件块14中所存储的每个兴趣点名称都指向倒排索引数据块16中的一个对应的偏移量信息,即,每个字符所在节点对应的兴趣点名称都指向一个偏移量信息。在其它实施例中,也可直接将该兴趣点信息的存储地址存储在对应的字符所在的节点中,而无需采用倒排索引的方式。\n[0088] 各兴趣点名称在索引文件块14中的存储方式已在上文做了详细介绍,下面结合图\n5给出的示例对其进一步进行描述:\n[0089] 如图5所示,以兴趣点名称“东方明珠”、“东来顺”、“东亚大酒店”、“东方航空”为例,由于最长的兴趣点名称为5,则“树”的深度可为5,当具有根节点时,“树”的深度可为6。\n[0090] 第一级节点层C1中,存储字符“东”的节点在第二级节点层C2中具有三个子节点,分别用于存储字符“方”、“来”和“亚”。其中字符“方”所对应的地址信息可为其所在节点对应的兴趣点名称“东方明珠”和“东方航空”的兴趣点信息在实体数据文件块16中的起始地址,也可为其所在节点对应的兴趣点名称“东方明珠”和“东方航空”分别在倒排索引数据块\n16中指向的起始位置,即兴趣点名称“东方明珠”和“东方航空”在倒排索引数据块16中指向的第一个偏移量信息。字符“亚”所对应的地址信息可为“东亚大酒店”在倒排索引数据块16中指向的第一个偏移量信息,或者“东亚大酒店”的兴趣点信息在实体数据文件块中的起始地址。\n[0091] 第二级节点层C2中,存储字符“方”的节点在第三级节点层C3中具有两个子节点,分别用于存储字符“明”和“航”,存储字符“来”的节点在第三级节点层C3中具有一个子节点,用于存储字符“顺”,存储字符“亚”的节点在第三级节点层C3中具有一个子节点,用于存储字符“大”。\n[0092] 第三级节点层C3中,存储字符“大”的节点在第四级节点层C4中具有一个子节点,用于存储字符“酒”;存储字符“明”的节点在第四级节点层C4中具有一个子节点,用于存储字符“珠”,存储字符“顺”的节点在第四级节点层C4中没有子节点或子节点为空。\n[0093] 第四级节点层C4中,存储字符“酒”的节点在第五级节点层C5中具有一个子节点,用于存储字符“店”;存储字符“珠”的节点在第五级节点层C5中没有子节点或子节点为空。\n[0094] 可选地,在上述各级节点层中,任一个节点的子节点中的字符可按照其所在的兴趣点名称的字符长度递增或递减的顺序排序,第一级节点层中存储字符“东”的节点为例,其子节点中存储的字符“方”、“来”“亚”,由于字符“亚”所在的兴趣点名称“东亚大酒店”字符长度最长,字符“方”所在的兴趣点名称“东方明珠”和“东方航空”长度次之,字符“来”所在的兴趣点名称“东来顺”长度最短,因此字符“东”所在节点的子节点中的字符依次为“亚”、“方”“来”。当字符长度相同时,对应节点的子节点中的字符可按照拼写字母顺序排序,例如,在第二级几点层中,字符“方”所在节点的子节点中存储字符“明”和“航”,由于字符“航”的拼写字母在字符“明”之前,则字符“航”所在节点在字符“航”之前。\n[0095] 可选地,在上述各级节点层中,任一个节点的子节点中的字符可按照其拼写字母的顺序排序,拼写字母相同的字符可按照其所在的兴趣点名称的字符长度递增或递减的顺序排序。\n[0096] 字符接收模块20用于接收用户输入的第m个字符,m的初始值为1。具体地,用户可通过承载该兴趣点检索装置的硬件设备的输入设备向字符接收模块20输入字符。该硬件设备的输入设备可为键盘、触摸屏、鼠标等。\n[0097] 联想模块30用于查找用户输入的第m个字符所在的节点,并读取该节点的子节点中的字符作为联想字符,以供用户选择输入。具体地,联想模块30用于在第m剂节点中查找用户输入的第m个字符。\n[0098] 检测模块40用于检测用户是否输入新的字符,若是,则使m=m+1。\n[0099] 具体地,当联想模块30读取用户输入的第一个字符后,m为1,在第一级节点层中查找该第一个字符所在的节点,并读取该节点的子节点中的字符作为联想字符;当用户在联想字符中选择或输入第二个字符至字符接收模块10后,检测模块40使得m加1,联想模块30在第二级节点层中查找第二个字符所在的节点,并读取该节点的子节点中的字符作为联想字符,以此循环,直至检测模块40检测到没有新的字符输入,并启动查询功能。本实施例中,当联想模块30不再读取字符时,检测模块40默认没有新的字符输入,触发检索模块50工作,以启动检索功能。检索模块50也可直接接收用户的查询指令以触发检索模块50工作,具体地,用户可通过承载该兴趣点检索装置的硬件设备的输入设备向检索模块50输入查询指令。\n[0100] 对于部分字符,其所在的兴趣点名称为多个,则该字符对应的地址信息表示多个偏移量;而对于另一部分字符,其所在的兴趣点名称只有一个,则该字符对应的地址信息指向一个偏移量。对于父子两个节点来说,子节点中的倒排信息对应的兴趣点名称较少,指向的偏移量信息也较少,因此,检索模块50根据同一兴趣点名称中较后面的字符所对应的地址信息获取对应的兴趣点信息在实体数据文件块12中的地址,相较前面的字符,运算量小且可获得与检索目标最接近的信息。\n[0101] 例如,当用户依次输入字符“东”、“方”、“明”、“珠”,该字符“珠”对应的地址信息可为:“东方明珠”的兴趣点信息在实体数据文件块12中的起始地址;而字符“方”对应的地址信息为:其所在的兴趣点名称“东方明珠”和“东方航空”的兴趣点信息分别在实体数据文件块12中的起始地址;可见,检索模块50可根据字符“珠”对应的地址信息获取兴趣点信息,可更快速、准确地找到“东方明珠”信息,供用户参考。\n[0102] 因此,检索模块50工作时,根据字符接收模块20接收的最后一个字符对应的地址信息,获取对应的兴趣点信息在实体数据文件块12中的地址,并读取该地址下的兴趣点信息。\n[0103] 可选地,为了提升用户使用的友好度,联想模块30可在启动本发明的兴趣点检索装置之后,在用户输入字符之前即读取第一级节点层中的字符用作联想字符供用户选择。\n[0104] 本发明还提供了一种设备,包括上述兴趣点检索装置。\n[0105] 可选地,上述设备为便携式自动导航设备、CPND(Connectable Portable Navigation Devices,可通讯的便携式自动导航设备)、手持导航设备、GIS(Geographic Information System)数据采集设备。\n[0106] 本发明的兴趣点检索方法、装置和带有该装置的设备以节点层的形式将字符存储在索引文件块中,通过读取各字符所在节点的子节点中的字符可实现输入联想功能,并且根据接收到的最后一个字符检索兴趣点,便于快速检索到兴趣点信息,且无需过于庞大的数据量,因此,提升了兴趣点检索的效率。\n[0107] 在本发明的系统和方法中,显然,各部件或各步骤是可以分解、组合和/或分解后重新组合的。这些分解和/或重新组合应视为本发明的等效方案。同时,在上面对本发明具体实施例的描述中,针对一种实施方式描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施方式中使用,与其它实施方式中的特征相组合,或替代其它实施方式中的特征。\n[0108] 应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。\n[0109] 虽然已经详细说明了本发明及其优点,但是应当理解在不超出由所附的权利要求所限定的本发明的精神和范围的情况下可以进行各种改变、替代和变换。而且,本发明的范围不仅限于说明书所描述的过程、设备、手段、方法和步骤的具体实施例。本领域内的普通技术人员从本发明的公开内容将容易理解,根据本发明可以使用执行与在此的相应实施例基本相同的功能或者获得与其基本相同的结果的、现有和将来要被开发的过程、设备、手段、方法或者步骤。因此,所附的权利要求旨在在它们的范围内包括这样的过程、设备、手段、方法或者步骤。
法律信息
- 2018-04-06
- 2018-02-16
专利申请权的转移
登记生效日: 2018.01.29
申请人由上海易罗信息科技有限公司变更为上海合众思壮科技有限公司
地址由200233 上海市徐汇区田州路159号12-13单元1-3楼变更为201112 上海市闵行区浦江镇万芳路651号4单元三楼
- 2015-01-07
实质审查的生效
IPC(主分类): G06F 17/30
专利申请号: 201210588046.0
申请日: 2012.12.30
- 2014-07-02
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2011-06-29
|
2009-12-29
| | |
2
| |
2006-06-07
|
2004-11-29
| | |
3
| |
2011-08-10
|
2010-02-05
| | |
4
| |
2012-10-31
|
2011-04-27
| | |
5
| |
2012-07-18
|
2012-01-10
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |