CN105203121A - 在地理应用程序中动态地整合离线和在线建议 - Google Patents
在地理应用程序中动态地整合离线和在线建议 Download PDFInfo
- Publication number
- CN105203121A CN105203121A CN201510350228.8A CN201510350228A CN105203121A CN 105203121 A CN105203121 A CN 105203121A CN 201510350228 A CN201510350228 A CN 201510350228A CN 105203121 A CN105203121 A CN 105203121A
- Authority
- CN
- China
- Prior art keywords
- suggestion
- line
- online
- request
- initiation sequence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000004044 response Effects 0.000 claims abstract description 23
- 238000004891 communication Methods 0.000 claims abstract description 8
- 238000000034 method Methods 0.000 claims description 75
- 230000000977 initiatory effect Effects 0.000 claims description 35
- 230000002452 interceptive effect Effects 0.000 claims description 15
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000013507 mapping Methods 0.000 claims description 3
- 230000003213 activating effect Effects 0.000 claims 2
- 230000008569 process Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 230000003321 amplification Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000003199 nucleic acid amplification method Methods 0.000 description 3
- 230000002085 persistent effect Effects 0.000 description 3
- 108010022579 ATP dependent 26S protease Proteins 0.000 description 2
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 239000004615 ingredient Substances 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000002045 lasting effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000013011 mating Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000006386 neutralization reaction Methods 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001568 sexual effect Effects 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9537—Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3407—Route searching; Route guidance specially adapted for specific applications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24578—Query processing with adaptation to user needs using ranking
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Computational Linguistics (AREA)
- Automation & Control Theory (AREA)
- Telephonic Communication Services (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及在地理应用程序中动态地整合离线和在线建议。经由用户接口接收一个或多个符号的初始序列。尝试经由通信网络将对在线建议的请求发送到网络服务器,所述请求包括所述初始序列中的至少一个符号。当所述初始序列小于n个符号的长度时,且如果未接收到对所述请求的响应,那么显示所述初始序列,而不产生离线建议。当所述初始序列具有至少n个符号的长度时,且如果在预定时间段内未接收到对所述请求的响应,那么使用存储在所述计算装置中的离线地理空间数据来产生与所述初始序列一致的离线建议,且经由所述用户接口提供所述离线建议。
Description
技术领域
本公开涉及交互式数字地图,且更明确地说,涉及管理客户端装置中的离线地图数据。
背景
本文所提供的背景描述是用于一般地呈现本公开的上下文的目的。目前提名的发明人在本背景部分中所描述的程度上的工作,以及所述描述的在提交时可能原本没有资格作为现有技术的方面并不明确地或隐含地被承认作为本公开的现有技术。
提供交互式数字地图、驾驶方向和各种地理功能的软件应用程序(“地理应用程序”)可在通常具有永久网络连接的计算装置上以及在通常依靠网络连接的便携式装置(例如智能电话、平板计算机、汽车导航系统等)上操作。除提供交互式数字地图之外,一些地理应用程序提供其它类型的地理空间数据,例如关于各种地理位置处的商业、关注点的描述、导航方向等的信息。举例来说,在便携式装置上操作的地理应用程序可接收地理查询,例如“附近的加油站”,将搜索查询发射到网络服务器,且经由便携式装置的用户接口显示搜索结果。
概述
当例如智能电话等便携式装置无法足够快地到达网络服务器或完全无法到达网络服务器时,在所述便携式装置中操作的数字地理应用程序使用存储在便携式装置的存储器中的离线数据来提供离线地理空间建议。便携式装置可响应于完整的用户输入,例如串“加油站”后接例如“返回”或“提交”键的致动,以及响应于部分用户输入,来提供离线地理空间建议。组成部分完成的用户输入的一个或多个符号的初始序列在下文称为“搜索前缀”。举例来说,在用户已输入“Chi”之后,便携式装置可提供地理空间建议,且在用户已输入“Chic”之后,提供新的地理空间建议,等等。当便携式装置具有到网络服务器的充分可靠的连接时,地理应用程序接收来自网络服务器的在线地理空间建议。另外,当在线建议在离线建议被显示之后的某一时间段内到达,那么地理应用程序动态地合并在线建议与离线建议。并且,为了平衡离线建议的较低品质和与检索在线建议相关联的等待时间,地理应用程序可仅在搜索前缀的长度超过某一数字n时显示离线建议,其中n为三、四或任何其它合适数字。
更明确地说,这些技术的一种实施方式是计算装置中用动态地整合离线和在线建议的方法。所述方法包括:经由用户接口接收一个或多个符号的初始序列;以及尝试经由通信网络将对在线建议的请求发送到网络服务器,所述请求包括初始序列中的至少一个符号。当初始序列小于n个符号的长度时,如果没有接收到对所述请求的响应,那么所述方法包括显示初始序列,而不产生离线建议。当初始序列为至少n个符号长时,所述方法包括(i)通过一个或多个处理器,至少部分地基于离线地理空间数据产生一致的离线建议,以及(ii)如果在某一时间段内未接收到对所述请求的响应,那么经由用户接口提供离线建议。
另一实施方式是便携式计算装置中用于整合离线和在线建议的方法。所述方法包括:经由用户接口接收包括一个或多个符号的初始序列的搜索前缀;尝试将对建议的请求发送到网络服务器,所述请求包括搜索前缀;以及在尝试发送对建议的请求后,激活第一定时器。如果第一定时器在接收到对所述请求的响应之前到期,那么所述方法包括(i)至少部分地基于初始序列,使用存储在计算装置中的离线数据产生离线建议;以及(ii)激活第二定时器。所述方法还包括在第二定时器到期之前,所请求的建议从网络服务器到达的情况下,合并所请求的在线建议与离线建议。
又一实施方式是一种便携式计算装置,其包括一个或多个处理器;用户接口;网络接口,用以在在线模式下,经由通信网络将便携式计算装置通信地耦合到网络服务器;以及非暂时性计算机可读存储器,其耦合到所述一个或多个处理器。所述存储器存储地理应用程序,其被配置来(i)经由用户接口接收一个或多个符号的初始序列,(ii)尝试将对建议的请求发送到网络服务器,所述请求包括所述初始序列中的至少一个符号,(iii)在尝试发送对建议的请求后,激活第一定时器,且如果第一定时器在接收到对所述请求的响应之前到期,那么(a)使用存储在计算装置中的离线数据,至少部分地基于初始序列来产生离线建议,以及(b)激活第二定时器。地理应用程序还被配置来(iv)在第二定时器到期之前所请求的建议从网络服务器到达的情况下,合并所请求的在线建议与离线建议。
附图简述
图1是根据本公开的技术的示例性系统的框图,在所述示例性系统中,客户端装置动态地整合在线和离线建议;
图2是可在图1的系统中操作的示例性客户端装置的框图;
图3是可在图2的客户端装置中实施的用于整合在线和离线建议的示例性方法的流程图;
图4是在搜索前缀的长度的视图中产生离线建议的示例性方法的流程图;
图5A是当用户输入短搜索前缀,且客户端装置无法足够快地检索在线搜索建议时,本公开的地理应用程序可产生的示例性屏幕截图;
图5B是当搜索前缀仍相对较短,且客户端装置无法足够快地检索在线搜索建议时,本公开的地理应用程序可产生的示例性屏幕截图;以及
图5C是说明当搜索前缀足够长,且客户端装置无法足够快地检索在线搜索建议时,本公开的地理应用程序可产生的离线建议的示例性屏幕截图;以及
图5D是说明当在线搜索结果在地理应用程序显示离线建议之后不久到达时,本公开的地理应用程序可产生的经合并的在线和离线建议的示例性屏幕截图。
附图详述
概述
当用户使用便携式装置来输入地理查询时,本公开的地理应用程序尝试提供大体上实时的自动地理空间建议。所述地理空间建议可包括例如地理搜索项、地名或驾驶方向的终点。在一些情况下,地理应用程序可使用存储在便携式装置的存储器中的地理空间数据来提供离线地理空间建议,且在其它情况下,提供网络服务器处所产生的在线地理空间建议。
更明确地说,例如,当地理应用程序通过查询便携式装置的操作系统确定无网络连接或仅有限的网络连接可用时,地理应用程序使用存储在便携式装置的存储器中的离线地理空间数据来产生离线自动建议。在一些实施方式中,为了避免提供具有与用户意向的低匹配可能性的建议,地理应用程序可仅在用户已输入的符号的初始序列的长度大于某一数字n(例如,3)时,才可提供离线建议。
当基于查询操作系统和/或其它指示器的结果,网络连接看来可用时,地理应用程序尝试从网络服务器检索自动建议。地理应用程序可激活相对较短的定时器(例如,100ms)来划分期间地理应用程序等待来自网络服务器的建议且不显示离线建议的预定时间段。如果在定时器到期后,未从网络服务器接收到建议,那么地理应用程序产生并显示离线建议。如果建议在之后不久从网络服务器到达,那么地理应用程序将这些在线建议与已经在显示的离线建议合并。在一些实施方式中,地理应用程序激活另一较长定时器(例如,3秒),持续预定时间段,在此期间,在线建议可与离线建议合并。
当地理应用程序合并在线和离线建议时,地理应用程序可同时显示在线建议中的一些以及离线建议。另外,当同一项目包括在离线建议和在线建议中时,因为在线建议提供所述项目的其他细节,因此地理应用程序可扩充所述项目的已经显示的指示,以包括所述其他细节。
当正显示离线建议时,地理应用程序可向用户提供适当的指示器。地理应用程序还提供交互式控制,用户可使用所述交互式控制来激活较长定时器,且致使地理应用程序再次尝试检索在线建议。
以此方式,数字地理模块实施平衡基于网络的建议的高品质与向用户提供这些建议时的等待时间的方法。
示例性系统和便携式装置的概述
图1说明示例性系统10,其中便携式装置14产生离线建议,并动态地合并离线建议与在线建议。客户端装置14经由通信网络16通信地耦合到网络服务器12,通信网络16可为包括有线和/或无线链路的任何合适网络。为了简单,图1仅说明网络服务器12的一个例子。然而,在其它实施方式中,网络服务器12可包括根据任何合适的拓扑学布置的能够彼此通信的多个服务器。类似地,系统10一般可包括任何数目的便携式和非便携式装置,类似于便携式装置14。
服务器12可包括一个或多个处理器30,其耦合到存储器32,存储器32可为包括持久和/或非持久组件的非暂时性计算机可读存储器。地图请求处理器40和自动建议模块42可实施为存储在存储器32中并在一个或多个处理器30上执行的指令集。在操作中,地图请求处理器40和自动建议模块42可分别向客户端装置14提供用于渲染地理区域的数字地图的地图数据以及地理空间建议。
服务器12耦合到地图数据库20,其可在一个或若干服务器中实施(或如果需要,实施为网络服务器12的组件)。地图数据库20可存储对各种自然地理特征(例如,河流、山脉、森林)以及人造地理特征(例如,道路、建筑物、公园)的几何形状和位置指示的描述。地图数据可包括向量图形数据、光栅图像数据和文本数据以及其它数据。在示例性实施方式中,地图数据库20将地图数据组织成地图瓦片,其通常对应于地理空间数据到四叉树(其中每一节点具有至多四个子节点的树数据结构)的二维组织。在其它实施方式中,可使用其它树和/或非树数据结构来组织地图瓦片。每一地图瓦片可对应于一正方形地理区域,所述正方形的大小取决于放大等级或缩放等级。因此,将处于给定缩放等级的每一地图瓦片分成下一等级处的四个瓦片,至多达最高缩放等级。地图请求处理器40可从客户端装置14接收对某一位置或区域的请求以及所要缩放等级的指示,识别对以指定缩放等级来渲染对应区域的数字地图来说必要的一组地图瓦片,且将所述地图瓦片发射到客户端装置14。
另外,服务器12耦合到地理空间数据库22,其存储地理空间数据,或具有地理或地理空间特性的数据。这些地理或地理空间特性可包括任何合适全球定位方案中的位置的指示,例如全球定位服务(GPS)坐标系和/或位置定位方案,例如相对于某一点界定的局部坐标系。地理空间特性另外或替代地可包括街道地址信息、地标接近指示以及位置的其它合适指示。
地理空间数据库22中的信息可描述关注点、实体商业、用户评论等。举例来说,地理空间数据库22可包括电影院的描述,所述描述包括电影院的名称(例如,“音乐箱”)、位置的指示(例如,建筑物的形心或主入口的GPS坐标)、价格范围的指示(例如,“$12”、“学生折扣”、“日场折扣”)、到电影院网站的链接,以及潜在对用户有帮助的其它数据。自动建议模块42在向便携式装置14提供地理空间建议时,可使用地理空间数据库22。并且,当用户提交完整的查询时,网络服务器12可使用地理空间数据库22来产生响应。
继续参考图1,服务器12也可存取用户数据库24,其存储专用于各种客户端装置(例如客户端装置14)的用户的用户数据。对于某一用户,用户数据可指示最近的地理空间查询、频繁地理查询和/或频繁主题、用户家的位置、她的工作位置等。自动建议模块42可鉴于存储在用户数据库24中的用户特定信息来为用户产生准确且相关的地理空间建议。在一些实施方式中,用户操作某些控件和/或安装某些应用程序来允许服务器12和/或客户端装置14以此方式利用用户的数据。
图2是说明客户端装置100的示例性实施方式的框图,客户端装置100在一些实施方式中,对应于例如图1的客户端装置14。客户端装置100可为依靠网络连接来检索地图数据以产生交互式数字地图的任何合适的便携式装置。客户端装置100可为例如膝上型计算机、智能电话或平板计算机。另外,客户端装置100可为具有间歇因特网存取权的桌上型计算机。更进一步,客户端装置100可为汽车环境中使用的导航装置,其实施为物理上分开的装置或嵌入车辆的头部单元中。客户端装置100包括一个或多个处理器102、一计算机可读存储器104、一网络接口105和一用户接口106。在一些实施方式中,一个或多个处理器102包括中央处理单元(CPU),以及图形处理单元(GPU),用于高效地渲染图形内容。用户接口106可包括例如屏幕、触摸屏、键盘、麦克风、一个或多个扬声器等组件。存储器104可为包括持久(例如,快闪驱动器)和/或非持久(例如,RAM)组件的非暂时性存储器。
存储器模块104存储实施地理应用程序110的指令,地理应用程序110可为专用映射/导航应用或通用应用,例如包括映射应用编程接口(API)的网络浏览器。存储器模块104还实施高速缓冲存储器120,用于例如以瓦片形式存储地图数据122以及离线地理空间数据126,其可使用任何合适的数据结构(例如,树或一组表格)来组织,且使用任何合适技术来编索引。
地理应用程序110包括离线建议模块130(例如,作为一或若干软件例程),其可确定地理应用程序110何时应尝试使用离线地理空间数据126产生离线地理空间建议,产生离线建议,激活并监视与检索在线地理空间建议的尝试有关的定时器,且合并在线建议与在线建议。
在一些情况下,地理应用程序110可基于网络服务器处所选择且发射到客户端装置100的数据来产生在线建议。换句话说,在一些情况下,地理应用程序110可从网络服务器接收“原始”数据,并使用接收到的数据来本地产生在线地理空间建议。另外,在一些情况下,地理应用程序110可从网络服务器接收数据,并使用接收到的数据以及离线数据来产生建议,其在本申请中也称为在线地理空间建议。更一般地说,在客户端装置100处输入某一搜索前缀之后,至少部分地基于针对所述搜索前缀从网络服务器接收到的数据的地理空间建议在本文中称为在线地理空间建议。
用于合并在线和离线地理空间建议的示例性方法
接下来论述地理应用程序110和离线建议模块130的示例性操作。明确地说,参考图3论述用于确定何时应产生离线建议且在线建议何时应与离线建议合并的一般方法,且参考图4论述用于鉴于搜索前缀的长度动态地确定何时应产生离线建议的方法。
首先参考图3,方法200可在地理应用程序110中实施为可在例如处理器102上执行的一组软件指令。举例来说,图3中说明的框中的至少一些可在离线建议模块130中实施。举例来说,离线建议模块130可执行框204、206、220和226的功能性,且其它框可由地理应用程序110的其它组件执行。在另一实施方式中,离线建议模块130可实施图3中所说明的所有框。然而,更一般地说,方法200可在任何合适便携式装置中的一个或若干软件组件中实施。
方法200在框202处开始,确定网络连接是否可用。为此,方法200可调用便携式装置的操作系统所暴露的API。注意,在一些情况下,便携式装置(例如图1的便携式装置14或图2的便携式装置100)可以较高的准确度确定无网络连接当前可用。另一方面,当便携式装置确定网络连接可用时,便携式装置难以预测某一消息将多快到达网络节点,以及响应将多快到达便携式装置。
根据方法200,如果确定无网络连接可用,那么流程进行到框204,其中提供离线建议。如下文更详细地论述,在一些实施方式中,是否产生离线建议进一步取决于搜索前缀的长度。除提供离线建议之外,方法200可包括提供离线指示器来通知用户未从网络服务器接收到地理空间建议(框206)。离线指示器可例如为图标或文本消息。另外,方法200可包括提供交互式控件,用于请求地理应用程序进行另一尝试来接收在线地理建议(框206)。所述交互式控件可为以特定方式激活(例如,通过双击)的交互式图标、专用键,或通常服务另一目的键,例如搜索键。在执行框206之后,方法200完成。然而,注意,每当用户输入新符号时,可调用方法200。
如果在框202处确定网络连接可能可用,那么流程进行到框210,其中进行发送对在线建议的请求的尝试。所述请求可为包括搜索前缀(例如,消息的第一例子中的“S”、消息的第二例子中的“Sa”、第三例子中的“San”等)的消息,以及当前环境(例如,导航或搜索)的指示。在替代实施方式或情形中,所述请求仅包括用户添加到搜索前缀的最后一个符号,使得在第一例子中,所述消息包括“S”,在第二例子中,所述消息仅包括对应于搜索前缀“Sa”的“a”,等等。在一些情况下,归因于缺乏连接性,地理应用程序将无法发送所述请求。然而,在其它情况下,地理应用程序最初可成功将消息发送到网络服务器,但所述消息将不及时到达网络服务器或完全无法到达网络服务器。因此,在框212处激活定时器T1。
定时器T1可对应于相对较短的时间段,例如100ms。如果在定时器T1到期之前接收到在线建议(框214),那么流程进行到框216,其中经由用户接口提供在线建议。网络服务器可例如以有序列表的形式提供在线建议,在所述列表中,各种搜索项以概率次序列出。为了继续上面的实例,针对对应于搜索前缀“San”的某一用户的建议可包括“旧金山”,概率为0.9;“圣何塞”,概率为0.8,等等。网络服务器可使用信号的任何合适组合来产生这些建议,例如所建议项目的普及性、所建议项目与用户的当前位置的接近性、用户的先前搜索和/或评论等,在这些实施方式的一些实施方式中,用户操作某些控件和/或安装某些应用程序,来允许网络服务器以此方式利用用户的数据。一旦已提供了在线建议,方法200就完成。
如果在定时器T1到期之前未接收到建议(框214),那么流程进行到框220,其中经由用户接口提供离线建议。在一些情况下,也激活离线指示器。类似于上文所论述的框204,离线建议的产生可进一步取决于搜索前缀的当前长度。
在框222处,可激活定时器T2来监视“迟到”在线建议的到达。定时器T2可实质上比定时器T1长。举例来说,定时器T2的长度可为两秒或三秒。当定时器T2到期时,方法200确定是否已接收到在线建议(框224)。如果在对应于定时器T2的定时器间隔期间,没有迟到的在线建议到达,那么方法200完成。否则,在线建议与离线建议合并(框226)。更明确地说,可将离线建议与在线建议比较,以检测重叠。
作为一个实例,当离线建议中和在线建议中出现同一所建议项时,可将在线建议中所包括的其他细节无缝添加到已经显示的项目。举例来说,针对搜索前缀“Tok”的离线建议“Tokyo(东京)”可使用针对同一项目的在线建议来扩充,以便还包括“Tokyo”的日文字符。作为另一实例,可将与在线建议匹配的两个离线建议之间的在线建议评级插入正经由用户接口显示的列表中。作为又一实例,可用离线建议中不存在的一个或多个在线建议来扩增离线建议列表。
在一些实施方式中,可存储对所述离线建议中的一些的相应指示,以指示这些离线建议被视为充分可靠,且不需要更新。
将理解,可使用任何合适的应答来在客户端装置与网络服务器之间交换数据。在一些实施方式中,例如,只有在预定时间段内未接收到对请求的应答的情况下,定时器T1和/或定时器T2才到期。如果接收到应答,那么定时器可延长,或可激活另一定时器。然而,在另一实施方式中,如果未接收到建议,那么定时器T1和/或定时器T2到期,不管所述请求是否被应答。
现在参考图4,可在地理应用程序110中,连同方法200一起或独立于方法200实施示例性方法300。类似于方法200,方法300可实施为可在一个或多个处理器上执行的一组软件指令。
方法300在框302处开始,其中确定用户输入是否已完成。举例来说,可确定用户是否已致动“搜索”按钮。输入可为包括地理查询在内的查询的部分。如果输入尚未完成,那么在框304处接收新的符号,并根据当前输入语言,将其添加到搜索前缀。一般来说,符号可为字母、数字、音节字符、空格或另一分隔符、单词字符、单词字符的组成部分等。用户可通过键入字符、说话或另外经由音频(例如,语音)输入引用符号或以任何其它合适方式来提供所述符号。.如果输入已完成,那么方法300结束。
作为音频输入的更具体实例,在客户端装置中操作的语音辨别系统可产生单词、符号、个别字母或其它话音单元的音译。举例来说,可以分段方式将这些单元发送到网络服务器,例如逐字母或逐字,或可将音频数据发射到网络服务器以供处理。
接下来,在框306处,确定搜索前缀的当前长度是否小于某一数字n。数字n可相对较小,例如1、2或3,但一般来说,地理应用程序可配置有n的任何所要值。如果确定搜索前缀含有少于n个符号,那么流程进行到框308。否则,流程进行到框310。
在框308和310处,以大体上类似于上文参考框210到226所论述的方法的方式来进行提供在线建议的尝试。随着前缀长度增加,离线建议可较准确,且因此如果不满足框306的搜索前缀准则,那么在框308处不提供离线建议。如上文所论述,虽然网络服务器可利用一组稳健的信号、较大的地理空间数据库,且在必要时执行复杂的算法,但在离线模式下,便携式装置仅具有对资源的受限存取权,且通常具有与网络服务器相比降低的计算能力。与框308对比,在框310处提供离线建议,其中较长的搜索前缀可更容易且准确地与地理空间项匹配。
大体参考图3和图4,在示例性情形中,用户调用智能电话上的地理应用程序来搜索附近的玩具店。用户激活地理应用程序的地理搜索模式,并开始键入搜索前缀。在用户键入第一字母“t”之后,地理应用程序检查网络连接的可用性,且基于来自智能电话的操作系统的一个或多个信号,确定网络连接可用。地理应用程序尝试经由智能电话的通信栈将消息发送到网络服务器。所述消息包括当前搜索前缀“t”,以及在一些实施方式中,其它信息,例如用户的位置。智能电话发送消息,其在对应于定时器的时间段内未到达网络服务器。归因于前缀的短长度,地理应用程序不提供离线建议。用户继续键入字符“o”来将搜索前缀扩增为“to”,键入“y”来将搜索前缀扩增为“toy(玩具)”,等等,且地理应用程序可继续尝试获得在线地理空间建议,或至少查询操作系统来检查网络连接是否已变得可用。当搜索前缀已达到例如三个字符时,地理应用程序产生针对项“toy(玩具)”的离线地理空间建议。地理应用程序还激活较长定时器来允许在线地理空间建议将在稍迟时间到达的可能性。当若干地理空间建议最终到达时,地理应用程序合并在线和离线建议。
示例性屏幕截图
为了更清楚,图5A到图5D中说明地理应用程序的若干示例性屏幕截图。地理应用程序可为例如实施一种或两种方法200和300的地理应用程序110。在这些实例中,n的值为3。
图5A中的屏幕截图402说明当用户开始输入搜索前缀且输入字母“r”时的情形。在此实例中,无在线搜索建议可足够快地(例如,在对应于定时器T1的时间间隔内)检索到。此处,搜索前缀的长度为一,其小于此实例中所使用的n=3的值,且因此不产生离线建议。
图5B描绘屏幕截图404,其中用户输入另一字母来使搜索前缀变为“re”。因为2<3,且因为在此情形中无法及时检索到在线建议,所以不产生离线建议。
当用户输入另一字母来使搜索前缀为“res”,但没有足够快地接收到在线建议时,产生并显示若干离线建议,如图5C的屏幕截图406中所说明。
图5D中的屏幕截图408说明在线建议与离线建议的合并。此处,在较短超时到期之后但在较长超时(例如,对应于上文所述的定时器T2的超时)到期之前,在线建议到达。因此,虽然搜索前缀保持相同(“res”),但将若干在线建议添加到离线建议的列表。
其他考虑因素
以下其他考虑因素适用于前面的论述。在此说明书中,复数例子始终可实施描述为单个例子的组件、操作或结构。尽管将一种或多种方法的个别操作说明并描述为单独的操作,但可同时执行个别操作中的一个或多个,且不要求以所说明的次序来执行所述操作。在示例性配置中呈现为单独组件的结构和功能性可实施为组合式结构或组件。类似地,呈现为单个组件的结构和功能性可实施为单独的组件。这些和其它变化、修改、添加和改进均属于本文标的物的范围内。
本文将某些实施方式描述为包括逻辑或若干组件、模块或机构。模块可构成软件模块(例如,体现在机器可读介质上或发射信号中的代码)或硬件模块。硬件模块是能够执行某些操作且可以某一方式配置或布置的有形单元。在示例性实施方式中,一个或多个计算机系统(例如,独立、客户端或服务器计算机系统)或计算机系统的一个或多个硬件模块(例如,一处理器或一组处理器)可由软件(例如,应用程序或应用程序部分)配置为硬件模块,其操作以执行如本文所述的某些操作。
除非另有明确陈述,否则本文使用例如“处理”、“计算”、“估算”、“确定”、“呈现”、“显示”等词语的论述可涉及机器(例如,计算机)的动作或进程,所述机器操纵或变换表示为一个或多个存储器(例如,易失性存储器、非易失性存储器或其组合);寄存器或接收、存储、发射或显示信息的其它机器组件内的物理(例如,电子、磁性或光学)量的数据。
如本文所使用,对“一个实施方式”或“一实施方式”的任何参考意味着结合所述实施方式所描述的特定元件、特征、结构或特性包括在至少一个实施方式中。短语“在一个实施方式中”在说明书中各处的出现不一定全部指代同一实施方式。
一些实施方式可使用表达“耦合”或“连接”以及其衍生词来描述。举例来说,一些实施方式可使用术语“耦合”来描述,以指示两个或多个元件处于直接物理或电接触。然而,术语“耦合”也可表示两个或多个元件不彼此直接接触,但仍彼此共同操作或交互。在此上下文中,实施方式不受限制。
如本文所使用,术语“包含”、“包括”、“具有”或其任何其它变化意在涵盖非排它性包括。举例来说,包括元素列表的进程、方法、物品或设备不一定仅限于那些元件,而是可包括未明确列出或此类进程、方法、物品或设备固有的其它元素。另外,除非明确地相反陈述,否则“或”指代包括性或,而不是排它性或。举例来说,以下各项中的任何一个满足条件A或B:A为真(或存在)且B为假(或不存在),A为假(或不存在)且B为真(或存在),以及A和B两者均为真(或存在)。
另外,“一”的使用是用来描述本文的实施方式的元件或组件。仅仅是为了方便且为了给出各种实施方式的一般含义而这样做。此描述应被解读为包括一个或至少一个,且单数还包括复数,除非其明显表示单数。
在阅读本公开后,本领域的一般技术人员将了解用于通过本文所公开的原理来合并在线地理空间建议与离线地理空间建议的其他替代结构和功能设计。因此,虽然已说明并描述了特定实施方式和应用,但将理解,所公开的实施方式不限于本文所公开的精确构造和组件。本领域的技术人员将明白,在不脱离所附权利要求书中所界定的精神和范围的情况下,可在本文所公开的方法和设备的布置、操作和细节中进行各种修改、改变和变化。
Claims (20)
1.一种在计算装置中用于整合离线和在线建议的方法,所述方法包括:
通过一个或多个处理器,经由用户接口接收一个或多个符号的初始序列;
通过所述一个或多个处理器,尝试经由通信网络将对在线建议的请求发送到网络服务器,所述请求包括所述初始序列中的至少一个符号;
当搜索前缀小于n个符号的长度时:
如果未从所述网络服务器接收到对所述请求的响应,那么显示所述初始序列,而不产生离线建议,
当所述初始序列具有至少n个符号的长度时:
如果在预定时间段内未从所述网络服务器接收到对所述请求的响应,那么(i)通过所述一个或多个处理器,使用离线地理空间数据至少部分地基于所述初始序列产生离线建议,以及(ii)经由所述用户接口提供所述离线建议。
2.如权利要求1所述的方法,其还包括:
通过所述一个或多个处理器,接收所述在线建议;
通过所述一个或多个处理器,合并所述在线建议与所述离线建议;以及
通过所述一个或多个处理器,基于所述合并来更新所述用户接口。
3.如权利要求1所述的方法,其中所述预定时间段为对应于第一定时器的第一时间段,所述方法还包括:
当搜索初始序列具有至少n个符号的长度时:
在产生所述离线建议后,即刻激活第二定时器,以及
如果在对应于所述第二定时器的第二时间段内接收到所述在线建议,那么通过所述一个或多个处理器,合并所述在线建议与所述离线建议。
4.如权利要求3所述的方法,其中合并所述在线建议与所述离线建议包括:
通过所述一个或多个处理器,识别所述在线建议中对应于所述离线建议中的一个离线建议的一个在线建议,以及
至少部分地基于所述合并的结果来更新所述用户接口。
5.如权利要求3所述的方法,其中所述第二时间段比所述第一时间段长。
6.如权利要求3所述的方法,其中经由所述用户接口提供所述离线建议包括经由所述用户接口提供交互式控件,所述方法还包括:
响应于所述交互式控件被致动,(i)重新激活所述第二定时器,以及(ii)重新尝试将所述对在线建议的请求发送到所述网络服务器。
7.如权利要求1所述的方法,其还包括:
当所述搜索初始序列小于n个符号的长度时:
通过所述一个或多个处理器,确定所述便携式计算装置当前是否具有网络连接性,
响应于确定所述便携式计算装置当前具有网络连接性,激活用于所述预定时间段的定时器,其中如果确定所述便携式计算装置当前不具有网络连接性,那么不激活所述定时器。
8.如权利要求1所述的方法,其中尝试发送所述对建议的请求包括每当用新的接收到的符号来扩增所述初始序列时,就尝试发送所述请求的新例子。
9.一种在便携式计算装置中用于整合离线和在线建议的方法,所述方法包括:
通过一个或多个处理器,经由用户接口接收一个或多个符号的初始序列;
通过所述一个或多个处理器,尝试将对建议的请求发送到网络服务器,所述请求包括所述初始序列;
在尝试发送所述对建议的请求后,即刻通过所述一个或多个处理器来激活第一定时器;
如果所述第一定时器在接收到对所述请求的响应之前到期,那么:
(i)通过所述一个或多个处理器,使用存储在所述计算装置中的离线数据,至少部分地基于所述初始序列产生离线建议,以及
(ii)激活第二定时器;所述方法还包括:
如果在所述第二定时器到期之前,所述所请求的建议从所述网络服务器到达,那么通过所述一个或多个处理器,合并所述所请求的在线建议与所述离线建议。
10.如权利要求9所述的方法,其还包括:
通过所述一个或多个处理器,确定所述初始序列的当前长度;
其中至少部分地基于所述初始序列产生所述离线建议是进一步响应于确定所述初始序列的所述当前长度为至少n个符号,所述方法还包括在所述初始序列的所述当前长度小于n个符号时,不产生所述离线建议。
11.如权利要求9所述的方法,其中合并所述在线建议与所述离线建议包括:
通过所述一个或多个处理器识别所述在线建议中对应于所述离线建议中的一个离线建议的一个在线建议,且所述方法还包括:
通过所述一个或多个处理器,基于所述合并来更新所述用户接口。
12.如权利要求9所述的方法,其中所述第二时间段比所述第一时间段长。
13.如权利要求9所述的方法,其中经由所述用户接口提供所述离线建议包括经由所述用户接口提供交互式控件,所述方法还包括:
响应于所述交互式控件被致动,(i)重新激活所述第二定时器,以及(ii)重新尝试将所述对在线建议的请求发送到所述网络服务器。
14.如权利要求9所述的方法,其中尝试发送所述对建议的请求包括每当用新的接收到的符号来扩增所述初始序列时,就尝试发送所述请求的新例子。
15.一种便携式计算装置,其包括:
一个或多个处理器;
用户接口;
网络接口,其用于以在线模式,经由通信网络将所述便携式计算装置通信地耦合到网络服务器;
非暂时性计算机可读存储器,其耦合到所述一个或多个处理器,且在其上存储地理应用程序,所述地理应用程序被配置来:
经由所述用户接口接收一个或多个符号的初始序列,其包括一序列一个或多个符号,
尝试将对建议的请求发送到所述网络服务器,所述请求包括所述初始序列,
在尝试发送所述对建议的请求后,即刻激活第一定时器,
如果所述第一定时器在接收到对所述请求的响应之前到期,那么(i)使用存储在所述计算装置中的离线数据,产生与所述初始序列一致的离线建议,以及(ii)激活第二定时器,以及
如果在第二定时器到期之前,所述所请求的建议从所述网络服务器到达,那么合并所述所请求的在线建议与所述离线建议。
16.如权利要求15所述的便携式计算装置,其中所述映射还被配置来:
确定所述初始序列的当前长度,以及
响应于确定所述初始序列的所述当前长度为至少n个符号,产生所述离线建议,且当所述初始序列的所述当前长度小于n个符号时,不产生所述离线建议。
17.如权利要求15所述的便携式计算装置,其中为了合并所述在线建议与所述离线建议,所述地理应用程序被配置来:
识别所述在线建议中对应于所述离线建议中的一个离线建议的一个在线建议,且其中所述地理应用程序还被配置来
基于所述合并来更新所述用户接口。
18.如权利要求15所述的便携式计算装置,其中所述第二时间段比所述第一时间段长。
19.如权利要求15所述的便携式计算装置,其中为了经由所述用户接口提供所述离线建议,所述地理应用程序还被配置来:
经由所述用户接口提供交互式控件,
响应于所述交互式控件被致动,(i)重新激活所述第二定时器,以及(ii)重新尝试将所述对在线建议的请求发送到所述网络服务器。
20.如权利要求15所述的便携式计算装置,其中所述地理应用程序被配置来每当用新的接收到的符号扩增所述初始序列时,就尝试发送所述请求的新例子。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462015427P | 2014-06-21 | 2014-06-21 | |
US62/015,427 | 2014-06-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105203121A true CN105203121A (zh) | 2015-12-30 |
Family
ID=53496431
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510350228.8A Pending CN105203121A (zh) | 2014-06-21 | 2015-06-23 | 在地理应用程序中动态地整合离线和在线建议 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10127324B2 (zh) |
EP (1) | EP2958032A1 (zh) |
CN (1) | CN105203121A (zh) |
DE (1) | DE202015009118U1 (zh) |
WO (1) | WO2015195926A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110567466A (zh) * | 2019-08-20 | 2019-12-13 | 广州力挚网络科技有限公司 | 一种地图生成方法、装置、电子设备以及可读存储介质 |
CN110609843A (zh) * | 2019-09-24 | 2019-12-24 | 上海依图网络科技有限公司 | 一种通过合并不同数据来源提升检索召回率的方法及系统 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200389495A1 (en) * | 2015-10-28 | 2020-12-10 | Qomplx, Inc. | Secure policy-controlled processing and auditing on regulated data sets |
US12081594B2 (en) | 2015-10-28 | 2024-09-03 | Qomplx Llc | Highly scalable four-dimensional geospatial data system for simulated worlds |
US10963450B2 (en) * | 2017-01-25 | 2021-03-30 | Apple Inc. | Optimizing offline map data updates |
US10713286B2 (en) * | 2017-06-27 | 2020-07-14 | Microsoft Technology Licensing, Llc | Storage of point of interest data on a user device for offline use |
CN109672508A (zh) * | 2018-12-31 | 2019-04-23 | 叶春林 | 智能型防止车辆导航断网系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2053526A1 (en) * | 2007-07-25 | 2009-04-29 | MasterObjects Inc. | System and method for asynchronous retrieval of information based on incremental user input |
CN100543732C (zh) * | 2004-03-19 | 2009-09-23 | 微软公司 | 用于同步软件应用程序和web网站之间用户界面语言的方法和系统 |
US20130326325A1 (en) * | 2012-05-29 | 2013-12-05 | International Business Machines Corporation | Annotating Entities Using Cross-Document Signals |
US8645825B1 (en) * | 2011-08-31 | 2014-02-04 | Google Inc. | Providing autocomplete suggestions |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8037168B2 (en) * | 1999-07-15 | 2011-10-11 | Esdr Network Solutions Llc | Method, product, and apparatus for enhancing resolution services, registration services, and search services |
JP4036012B2 (ja) * | 2001-04-26 | 2008-01-23 | トヨタ自動車株式会社 | 経路案内システム、経路案内を行うクライアント端末、同クライアント端末と通信を行うサーバ、経路案内方法及び経路一致判定方法 |
DE10345051B4 (de) * | 2003-09-26 | 2009-04-09 | Siemens Ag | Verfahren zum Aufbau einer Kommunikationsverbindung in einem direkt kommunizierenden Kommunikationsnetzwerk |
GB0418411D0 (en) * | 2004-08-18 | 2004-09-22 | King S College London | A method of discovering contact means for network access devices |
US8126895B2 (en) | 2004-10-07 | 2012-02-28 | Computer Associates Think, Inc. | Method, apparatus, and computer program product for indexing, synchronizing and searching digital data |
US20080242343A1 (en) * | 2007-03-26 | 2008-10-02 | Helio, Llc | Modeless electronic systems, methods, and devices |
TW201118789A (en) * | 2009-09-09 | 2011-06-01 | Univ Trobe | Method and system for energy management |
CA2773781A1 (en) * | 2009-09-24 | 2011-03-31 | Getthere L.P. | Collaboration and travel ecosystem |
US20120143900A1 (en) | 2010-12-06 | 2012-06-07 | Google Inc. | Instant Search For Settings |
US9424357B1 (en) * | 2011-03-01 | 2016-08-23 | Amazon Technologies, Inc. | Predictive page loading based on text entry and search term suggestions |
US9358460B2 (en) * | 2011-04-28 | 2016-06-07 | Numecent Holdings, Inc. | Adaptive cloud-based application streaming |
US9378283B2 (en) | 2012-04-23 | 2016-06-28 | Excalibur Ip, Llc | Instant search results with page previews |
US9529924B2 (en) * | 2012-07-31 | 2016-12-27 | Apple Inc. | User interface providing localized search capabilities |
US9116940B1 (en) * | 2013-04-15 | 2015-08-25 | Google Inc. | Searching for join candidates |
US9626081B2 (en) * | 2014-05-19 | 2017-04-18 | The Travelers Indemnity Company | System for classification code selection |
-
2015
- 2015-06-18 WO PCT/US2015/036446 patent/WO2015195926A1/en active Application Filing
- 2015-06-18 US US14/743,477 patent/US10127324B2/en active Active
- 2015-06-19 EP EP15173013.2A patent/EP2958032A1/en not_active Ceased
- 2015-06-19 DE DE202015009118.0U patent/DE202015009118U1/de active Active
- 2015-06-23 CN CN201510350228.8A patent/CN105203121A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100543732C (zh) * | 2004-03-19 | 2009-09-23 | 微软公司 | 用于同步软件应用程序和web网站之间用户界面语言的方法和系统 |
EP2053526A1 (en) * | 2007-07-25 | 2009-04-29 | MasterObjects Inc. | System and method for asynchronous retrieval of information based on incremental user input |
US8645825B1 (en) * | 2011-08-31 | 2014-02-04 | Google Inc. | Providing autocomplete suggestions |
US20130326325A1 (en) * | 2012-05-29 | 2013-12-05 | International Business Machines Corporation | Annotating Entities Using Cross-Document Signals |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110567466A (zh) * | 2019-08-20 | 2019-12-13 | 广州力挚网络科技有限公司 | 一种地图生成方法、装置、电子设备以及可读存储介质 |
CN110567466B (zh) * | 2019-08-20 | 2022-11-25 | 广州力挚网络科技有限公司 | 一种地图生成方法、装置、电子设备以及可读存储介质 |
CN110609843A (zh) * | 2019-09-24 | 2019-12-24 | 上海依图网络科技有限公司 | 一种通过合并不同数据来源提升检索召回率的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
DE202015009118U1 (de) | 2016-11-22 |
EP2958032A1 (en) | 2015-12-23 |
WO2015195926A1 (en) | 2015-12-23 |
US20150370811A1 (en) | 2015-12-24 |
US10127324B2 (en) | 2018-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105203121A (zh) | 在地理应用程序中动态地整合离线和在线建议 | |
US9769634B2 (en) | Providing personalized content based on historical interaction with a mobile device | |
CN101636935B (zh) | 搜索查询中的位置 | |
JP6063965B2 (ja) | 個人情報のジオコーディング | |
US20150370828A1 (en) | Tile-Based Distribution of Searchable Geospatial Data to Client Devices | |
US11425525B2 (en) | Privacy preservation platform | |
CN108701121B (zh) | 将用户输入分派到用户界面中的多个输入域 | |
CN104731917A (zh) | 一种推荐方法及装置 | |
CN102939604A (zh) | 用于上下文索引的网络资源的方法和装置 | |
CN103714112A (zh) | 定制的事件和景点建议 | |
CN105009070A (zh) | 计算机应用促进 | |
US8977642B2 (en) | Recommending relevant and personalized content accessing keywords for users of a text messaging service based global textsite platform | |
US11283740B2 (en) | Name label display method and apparatus | |
WO2020186824A1 (zh) | 应用程序唤醒控制方法、装置、计算机设备及存储介质 | |
CN107220374B (zh) | 搜索方法、客户端、服务器和搜索装置 | |
US9418351B2 (en) | Automated network inventory using a user device | |
CN106682146B (zh) | 一种根据关键词检索景区评价的方法及系统 | |
CN103155604B (zh) | 用于在使用全球文本站点平台来访问内容之时提供有状态体验的方法和系统 | |
CN108491502B (zh) | 一种新闻追踪的方法、终端、服务器及存储介质 | |
JP5587281B2 (ja) | 注記表記変換装置、注記表記変換方法および注記表記変換プログラム | |
CN110519373B (zh) | 用于推送信息的方法和装置 | |
US20220139011A1 (en) | Integer-Based Graphical Representations of Words and Texts | |
JPWO2008149408A1 (ja) | 情報検索システム、それに用いられる移動頻度管理装置およびエリア情報検索装置、移動頻度管理装置におけるプログラム、エリア情報検索装置におけるプログラム、およびそのプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
CN112104571B (zh) | 一种业务分流方法、装置、计算机设备和计算机存储介质 | |
JP2015138500A (ja) | 情報提示システムおよび情報提示方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: California, USA Applicant after: Google Inc. Address before: California, USA Applicant before: Google Inc. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151230 |