查询建议的制作方法

文档序号:12142107阅读:260来源:国知局
查询建议的制作方法与工艺

当创建与外部数据源的连接(例如,配置电子表格以实现到数据库的连接)时,用户可能很难构建引入用户想要取回的信息的查询。为了获得用户想要取回的信息,构建连接的用户可能需要理解在数据源中可供使用的数据。例如,用户可能需要理解字段名、表格组织和/或表格之间的关系从而有效地构造查询。在不理解数据源的组织的情况下,用户经常被迫搜寻非常大的数据源来定位感兴趣的字段。考虑到该任务的复杂度和所要求的数据源的详细知识,许多用户放弃构建它们自己的查询。

正是针对这些以及其它考虑呈现了本文所做的公开。



技术实现要素:

本文描述了用于提供查询建议的技术。为了提供查询建议,可以检测在数据源处的访问。随后,可以至少部分地基于非查询数据(即,查询中不包含的数据)来确定对于数据源的搜索查询的建议。然后,该建议可以返回到客户端以便显示在适合用户接口(“UI”)元件中。

应当理解上述主题还可以实现为计算机控制的装置、计算机实现的过程、计算系统或实现为如计算机可读介质的制品。虽然本文呈现的技术主要公开在基于非查询数据至少初始地提供查询建议的上下文中,但是本文公开的构思和技术同样还可能用于基于查询数据来提供附加的建议。这些以及其它各特征将通过对以下详细说明的理解和相关联的附图的阅览而显而易见。

提供该发明内容以便以简化的形式来引入下面的具体实施方式中进一步描述的概念的选择。该发明内容不旨在确定所要求保护的主题的关键特征或主要特征,也不旨在该发明内容用于限定所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开的任意部分所提到的任意或全部缺点的实现方式。

附图说明

图1是示出本文所公开的示例性的操作环境和多个软件组件的方面的网络图;

图2是示出用于处理用户查询的一个示例性的例程的方面的流程图;

图3是示出用于提供查询建议的一个示例性的例程的方面的流程图;

图4A-4D是示出根据本文所呈现的多个配置的用于提供查询建议的多个示例性的UI的方面的UI图;

图5是示出示例性的计算机硬件和软件架构的计算机架构图;

图6是示出能够实现本文所呈现的技术的方面的分布式计算环境的图;以及

图7是示出能够实现本文所呈现的技术的方面的计算设备架构的计算机架构图。

具体实施方式

以下的详细说明涉及用于提供查询建议的技术。查询建议可以通过图形UI或其元件来提供。查询建议可以至少初始地基于非查询数据,诸如例如身份数据、简档数据、上下文信息或其它非查询数据。附加查询建议还可以基于查询数据,诸如例如部分查询陈述、完全查询陈述或其任意组合,它们与所要创建和/或操纵的查询有关。

如上文简述,数据库和数据处理系统的新手用户可能在汇编数据库查询方面有难度。然而,使用本文所公开的技术的实现方式,可以向新手用户(以及更高级的用户)提供查询建议,使得至少初始地基于非查询数据来创建完整的且适当的数据查询。通过使用非查询数据,初始查询建议可以生成且提供给用户,以便显示查询结果的部分集合。随后,还可以基于查询结果和非查询数据的部分集合来提供附加的查询建议,附加的部分结果基于所选定的建议来显示。因此,新手用户能够通过建议选择性创建/构建查询来查看结果的进展,并且进一步地,能够更容易地确定如何构造未来的查询。

因此,对于希望创建数据库查询的新手用户,本文所公开的技术的实现方式可能不那么费力。另外,使用本文所公开的技术,用户能够创建更完整的初始数据库查询。当创建未来的查询时,也可能对用户不那么费力。还可能基于所存储的或先前的查询使用来提供逐渐精确的查询建议。虽然单独地列出,但是应当意识到上文所描述的益处可以根据本文所公开的技术的任何期望的实现方式而单独地、独立地或者部分/完全组合来实现。而且,通过本文所描述的技术的实现方式,附加的益处会变得显而易见。

虽然本文所描述的主题是在与计算机系统上的操作系统和应用程序的执行相结合而执行的程序模块的一般上下文中呈现的,但是本领域技术人员将认识到可以与其它类型的程序模块相结合来实施其它的实现方式。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其它类型的结构。而且,本领域技术人员将意识到,本文所描述的主题可以利用其它计算机系统配置来实现,包括手持式设备、多处理器系统、基于微处理器的或可编程的消费电子设备、微型计算机、主机型计算机等等。

在下面的详细说明中,参考了附图,附图构成其部分,并且其中通过示例说明示出具体的配置或示例。现在参考附图,将描述用于提供查询建议的计算系统和方法的方面,在附图中相似的标记在多幅图中表示相似的元件。

现在转到图1,将提供关于本文所公开的示例性的操作环境和多个软件组件的细节。特别地,图1示出了用于提供查询建议的系统100的方面。系统100包括与数据处理系统140可操作通信的一个或多个客户端计算机101A和101B(其在本文中可以单数形式称为“客户端101”和/或以复数形式称为“多个客户端101”)。客户端101可以是任何适合的计算机系统,包括但不限于,台式或膝上型个人计算机、平板计算设备、智能手机、其它类型的移动设备,或类似设备。

客户端101可以被配置成执行软件产品,诸如提供用于访问数据处理系统140中所存储的信息的查询的创建、编辑和提交的用户接口102的应用103。在这方面,客户端101可以提供一个或多个查询120A且响应于查询而接收查询结果121A。在一些配置中,查询120A可以被提交以经由网络(图1中未示出)传输。网络可以包括计算机通信网络,诸如因特网、局域网(“LAN”)、广域网(“WAN”)或任何其它类型的网络,并且可用于提交查询120A到数据处理系统140以便进行查询处理,并且随后,返回查询结果121A。查询120A的提交以及查询结果121A的返回将在下文参考图2进行更全面地说明。

如图1所示,查询120B和非查询数据124可以由一个或多个客户端101提交以便传输到数据处理系统140。查询120B可以包括部分查询陈述、完整查询陈述或其任意组合。查询120B还可以包括与当前通过本文所公开的机制提供的建议来处理或构建的部分的或新的查询有关的信息。

非查询数据124可以包括上下文信息、标识信息、用户简档数据或查询120B中没有包含的任何其它适合的信息。在一些实现方式中,非查询数据124还可以包括与客户端101处的活动有关的元数据。例如,非查询数据124可以描述与数据处理系统140或数据源141处的访问有关的活动、与其它用户或客户端的联系或通信有关的活动或者能够进而用来更精确地确定查询建议125的其它类似的活动。

根据至少一个配置,非查询数据124包括描述客户端101的用户的数据,诸如雇佣数据、雇员标识数据、雇员群/委员会数据以及其它类似的数据。在另一配置中,非查询数据124包括描述客户端101的用户的当前或预测的活动的数据,诸如例如描述用户或类似用户的典型的数据源利用的数据、描述用户或类似用户的典型的查询结构的数据以及其它类似的数据。另外,在一些实现方式中非查询数据124可包括企业或公司信息。非查询数据124还可以包括在查询120B中没有包含的其它数据形式,而不背离本公开的范围。

如下文详述的,非查询数据124可用于标识由用户或客户端101所创建的、与用户或客户端101希望创建新查询有关的查询。响应于非查询数据124的传输,一个或多个查询建议125可以返回到客户端101。另外,在选择了任意查询建议125时,查询120B可被更新以反映选择和/或变化,并且传输到数据处理系统140。此后,可以将附加查询建议125连同查询结果121B一起提供给客户端101。非查询数据124的提交、查询120B以及查询建议125的返回将在下文参考图3-4更全面地说明。

如图1所示,数据处理系统140包括多个组件,所述多个组件被配置成实施如本文所描述的与处理和存储查询120、处理非查询数据124、返回查询结果121和查询建议125有关的处理功能,以及其它功能。例如,数据处理系统140可被配置成接收并处理在多个数据源141(其在本文中以单数形式称为“数据源141”和/或以复数形式称为“多个数据源141”)中的一个或多个数据源处的查询120。

一般地,数据源141接收查询120A,基于本文所包含的查询陈述来执行查询,并且返回查询结果121A。此外,根据本文所呈现的技术的方面,在先查询信息142可以被扩增描述与先前的查询相关联的非查询数据124的先前查询和/或元数据。因此,查询120A的至少一部分可以连同与客户端101及其用户相关联的非查询数据124一起被存储为在先查询信息142。虽然描述为“在先”查询信息,但是应当理解的是,在先查询信息142还可以包括一组基本查询陈述、反映一些非查询数据124的一组预扩增查询陈述、一组缺省查询陈述和/或不直接地基于先前提交的或完成的查询120A的任何其它查询信息。

值得注意的是,能够根据一些配置来持续地执行上述与数据源141和在先查询信息142有关的动作。因此,随着新的查询120被接收到,除了上述基本信息之外,所提交的查询的一个或多个部分可以被存储为在先查询信息142,用于提供如下文所描述的查询建议125。

如图1所示,数据处理系统140包括在一个配置中执行于其中的查询建议服务层143。查询建议服务层143是软件服务或应用,并且在一些实现方式中可以单独地集成在每个数据源141(未示出)内。然而,在一些实现方式中查询建议服务层143还可以作为独立的查询建议服务层(如图所示)来执行。

查询建议服务层143被配置成处理接收到的非查询数据124,以及基于查询120B、非查询数据124和所存储的在先查询信息142来生成查询建议125。查询建议服务层143将非查询数据124中的信息进行比较以返回初始查询建议125。初始查询建议125可以是部分或完整的查询陈述、分类陈述、过滤陈述或查询的另一部分。在一些实现方式中,初始查询建议125可以被提供作为用户接口(UI)元件。

查询建议服务层143可以持续地处理非查询数据124、查询120和所存储的在先查询信息142以主动地对潜在查询建议进行评分或排序。排序可以基于如下置信度量:特定查询建议基于非查询数据124、查询120和在先查询信息142而与用户相关。因此,一个或多个查询建议125可以生成,被排序,并且其部分(或其中至少一个)可以作为初始查询建议125而呈现。可替代地,多个排序后的查询建议可以被提供作为一组初始查询建议125。

在接受、选择了初始建议或者对初始建议采取其它措施时,查询建议服务层143能够提供附加查询建议125,使得由单独的建议、用户所提供的新的查询陈述部分120B或其任意组合来构建查询。一般地,初始查询建议125和附加查询建议125可以通过将元数据或查询120与在先查询信息142和/或在先元数据信息进行比较和/或匹配来确定。因此,随着新的建议125被选择且查询120B被操纵,基于所应用的建议来生成附加建议。参考图4A-4D来更完整地描述通过上述的建议125构建查询120B。

现在参考图2,将提供关于数据处理系统140进行的查询处理以及采集和存储在先查询信息142的另外的细节。特别地,图2是示出了在本文呈现的一个配置中用于数据查询120的处理的一个示例性的方法200的各方面的流程图。

如图所示,方法200包括:在框202处,接收来自客户端计算机101的查询120A。例如,在图1所示的示例中,接收到的查询120A涉及到至少一个数据源141。因此,在该示例中,数据源141接收并处理查询120A以产生查询结果121A。

另外地,响应于查询120A的接收,方法200还包括:在框204处,采集与客户端计算机101有关的非查询数据124。非查询数据124可以呈上述任意形式,并且可由目标数据源141采集来存储作为在先查询信息142。在框206处,在采集非查询数据124时,接收到的和/或处理的查询120A的至少一部分和所采集的非查询数据124可以被存储作为在先查询信息142。如上文关于框202-206所描述的,可以接收并处理附加的查询120。如上所述,与客户端101和查询120A有关的非查询数据124的至少一部分被存储为在先查询信息142。所存储的数据能够如下所述使用来基于新采集的非查询数据124和/或查询120B生成查询建议125。

现在转到图3,将提供关于本文呈现的用于提供一个或多个查询建议125的技术的附加细节。特别地,图3是示出了用于通过查询建议服务层143处理非查询数据124的一个示例性的方法300的方面的流程图。

方法300包括:在框302处,接收来自客户端101的查询120B。虽然被描述为接收实际的查询120B,应当理解的是,方法300以及框302可以适于通过文件的打开、先前查询的打开、对缺省查询的动作、对数据文件的动作或通过客户端101、应用102和/或用户接口102的任何其它适合的动作而开始执行。因此,框302还可以包括:检测数据源141处的访问、客户端101的初始化、应用103的初始化或通过用户接口102的另一类型的动作。在数据源141处的访问可以涵盖:通过例如用户接口102请求访问存储在数据源141处的数据、在查询陈述的部分中输入变元(argument)、或其它适合方式的数据访问。

方法300还包括:在框304处,采集非查询数据124和/或处理查询120B。例如,可以在查询建议服务层143处接收与客户端101和/或其用户有关的非查询数据124。此后,在框306处,查询建议服务层143能够分析非查询数据124、查询120B和/或在先查询信息142来确定初始查询建议125。在框308处,初始查询建议125提供给客户端101。

在客户端101对初始查询建议125动作时,查询建议服务层143可以基于非查询数据124、查询120B和/或在先查询信息142来提供附加查询建议125。例如,在框310中,查询建议服务层143或数据源141可以确定,在提供查询建议125之后,查询变化是明显的。当已经检测到查询变化时,在框312中变化应用于查询120B,并且在框304中处理查询120B。可替代地,在框310可能没有检测到查询变化,方法可以继续接收用于确定新的查询建议125的信息。来自处理后的查询120B和非查询数据124的信息随后可用于通过框306-312的迭代来确定新的查询建议125。

注意的是,根据一些实现方式,可以仅提供基于非查询数据124的初始查询建议125。根据其它的实现方式,还可以提供查询建议125的附加迭代。另外地,在客户端101处所作用于的查询建议125可以由用户操纵,从而创建新的查询120B以便用于新的查询建议125。通过这种方式,与客户端101处的动作有关的许多不同的查询建议125、查询120B和/或非查询数据124可以由查询建议服务层143来提供,并且可以构建许多不同的查询。

查询建议125可以呈现为各种形式。例如,查询建议125可以包括文本提示,诸如用于通过用户接口102所创建的文本查询陈述的一部分的自动文本填充建议。查询建议125可能包括通过用户接口102渲染的UI元件。UI元件可以包括任何期望的图形元件,并且可以完全地或者部分地描述查询建议125。

在客户端101对查询建议125动作时,用户接口102可以基于该动作至少部分地渲染查询建议125的结果。例如,如果选定了特定的查询建议125,则选择的结果可以至少部分地通过用户接口102来渲染。此外,例如通过用户接口102的操纵或其中所渲染的单个元件的操纵,全部或部分结果的操纵也是可能的。下面参考图4A-4D来描述示例性的用户接口和单独的UI元件。

图4A-4D是示出了根据本文所呈现的多个配置的由示例性的应用103提供的示例性的用户接口的方面的用户接口图。关于图4A-4D所描述的用户接口可以类似于对一个或多个数据源和/或数据处理系统具有访问权的、用于电子表格应用的电子表格接口来布置。其它用户接口也是能应用的,并且因此,本公开不限于所图示的特定形式的接口,而是任何可用的用户接口。

转到图4A,将描述用于呈现查询建议的示例性的用户接口102。如图所示,用户接口102包括表示数据目标141处通过查询120所访问的数据字段的多个列401。在该示例中,查询120包括“ID信息+姓名”。查询的数据在图4A中以行显示。然而,应当理解的是,可以实现任何期望形式的数据显示,而不偏离本公开的范围。例如,透视表、图表、绘图或任何其它能通过接口102显示的适合的查询结构或元件是可应用的。因此,本文所呈现的技术的一些实现方式可以偏离所图示的那些特定形式,而不偏离本公开的范围。此外,虽然图示为包括通过查询的至少部分处理所访问的数据字段,但是这些可以变化而使得初始地不呈现数据字段,例如,如果打开新的文档或空白文档。

用户接口102还包括其中所渲染的查询建议UI元件403。查询建议UI元件403可以针对如上所述的对数据源141的访问或访问请求发信号。另外地,或者以替代的形式,查询建议UI元件403可以针对查询建议125的请求发信号。此外,查询建议UI元件403可以指示,新的查询建议125可通过元件403的选定而供用户使用。例如,查询建议服务层143可能已经持续地对一个或多个查询建议125进行计算、排序和确定以便用户消费。在用户选定了查询建议UI元件403时,查询建议服务层143可以提供一个或多个查询建议125,如图4B所示。

图4B的用户接口102A包括其中所渲染的两个查询建议125A和125B。应当理解的是,还能够实现查询建议125的可替代的加标签,诸如例如包括表示查询建议125的实际内容的标记的加标签。例如,查询建议125A可以包括访问加标签为“任务信息(Job Info)”的数据字段。另外,查询建议125B可以包括访问加标签为“地址(Address)”的数据字段。

一般地,查询建议125A和125B以及本文所描述的其它查询建议125可以至少部分地基于非查询数据124。如上所述,非查询数据可以呈现为各种形式,包括雇佣数据。在该特定的示例中,非查询数据124可以指示接口102A的用户属于特定组的雇员。此外,特定组的雇员可以定期地生成包括“地址”和“任务信息”的查询。因此,如该示例所示的,查询建议125A和125B至少部分地基于特定组的雇员的成员将通常在查询中包含“地址”和/或“任务信息”的可能性。易于理解的是,考虑到非查询数据124的其它形式和方式也是可应用的。此后,如果查询建议125A被选定,则名称为“任务信息”的数据字段可以附到查询上且呈现在用户接口102B中,如图4C所示。

如图4C所示,用户接口102B包括其中所渲染的、邻近列401A和列401B的先前数据域的查询建议125A。因此,已经构建了具有在列401A-401C中显示的结果的新查询120。另外形式的查询建议125是可能的。例如,查询建议125C和125D可以包括作用于查询和所显示的数据字段的过滤和/或分类。在该特定的示例中,查询建议125C表示基于列401B的特定姓名(例如,J.Doe)对显示数据的过滤。例如,查询建议125C可以表示按“姓名=J.Doe”过滤、或者另一类似的建议。其它过滤建议可以包括隐藏过滤选项和组合的过滤器变元。例如,虽然列“状态(Status)”没有图示为渲染于用户接口102B中,但是查询建议125C可能表示按“状态=活跃”过滤或者其它取决于非查询数据124、选定的查询建议125和/或在先查询信息142的类似的过滤选项和变元。

如进一步图示出的,查询建议125D表示基于“任务信息”中的信息对所显示数据的分类。取决于非查询数据124、选定的查询建议125和/或在先查询信息142,其它分类变元也是可应用的。因此,如果查询建议125D被选定,则通过分类操作422基于“任务信息”对用户接口102B处所显示的数据进行分类,如图4D所示。

图4D所示的用户接口102C显示出数据分类操作422和分类结果。另外,可以渲染更多的查询建议UI元件403以指示新的查询建议,用于新的查询建议的请求,用于附加查询建议的请求,或者其它适合的动作或指示。

应当意识到,上文所描述以及本文其它地方所描述的逻辑操作可以实现为(1)运行于计算系统上的计算机实现的动作或程序模块的序列,和/或(2)在计算系统内的互连的机器逻辑电路或电路模块。实现方式是取决于计算系统的性能和其它要求的选择问题。因此,本文所描述的逻辑操作多样地称为状态操作、结构设备、动作或模块。这些操作、结构设备、动作和模块可以用软件、用固件、用专用数字逻辑及其任意组合来实现。还应当意识到,可以执行比图中所示和本文所描述的更多或更少的操作。这些操作还可以按不同于本文所描述的顺序来执行。

图5示出了能够执行本文所描述的用于提供查询建议的软件组件的设备的示例性的计算机架构500。因此,图5所示的计算机架构500示出了用于服务器计算机、移动电话、PDA、智能手机、台式计算机、上网本计算机、平板计算机和/或膝上型计算机的架构。计算机架构500可用于执行本文所呈现的软件组件的任意方面。

图5所示的计算机架构500包括中央处理器502(“CPU”)、包括随机存取存储器506(“RAM”)和只读存储器(“ROM”)508的系统存储器504以及将存储器504与CPU 502耦合的系统总线510。包含了例如在启动期间帮助在计算机架构500内的元件之间传输信息的基本例程的基本输入/输出系统存储在ROM 508中。计算机架构500还包括大容量存储设备512,其用于存储操作518以及包括但不限于查询建议服务层143和在先查询信息142的一个或多个应用程序。

大容量存储设备512通过与总线510连接的大容量存储控制器(未示出)来与CPU 502连接。大容量存储设备512及其相关联的计算机可读介质提供了用于计算机架构500的非易失性存储。虽然在本文所包含的计算机可读介质的描述是指大容量存储设备,如硬盘或CD-ROM驱动器,本领域技术人员应当意识到计算机可读介质可以是能够由计算机架构500访问的任何可用的计算机存储介质或通信介质。

通信介质可包括计算机可读指令、数据结构、程序模块、或调制数据信号中的其它数据如载波或其他传输机制并且包括任何输送介质。术语“调制数据信号”是指其一个或多个特性以将信息编码到信号中的方式进行设定或改变的信号。通过示例而不是限制的方式,通信介质包括诸如有线网或直接连线连接的有线介质以及诸如声波、RF、红外和其他无线介质的无线介质。上述任意的组合也应当包含在计算机可读介质的范围内。

通过举例而不是限制的方式,计算机存储介质可以包括以用于诸如计算机可读指令、数据结构、程序模块或其它数据的信息的存储的任何方法或技术实现的易失性和非易失性的、可移除和非可移除的介质。例如,计算机介质包括但不限于RAM、ROM、EPROM、EEPROM、闪速存储器或其它固态存储器技术、CD-ROM、数字多功能盘(“DVD”)、HD-DVD、BLU-RAY或其它光存储、磁盒、磁带、磁盘存储或其它磁存储设备、或者能够用于存储所需的信息且能够由计算机架构500访问的任何其它介质。为了权利要求的目的,措辞“计算机存储介质”及其变化不包含波或信号本身和/或通信介质。

根据各个实施例,计算机架构500可以使用通过诸如网络104的网络到远程计算机的逻辑连接而操作于网络环境中。计算机架构500可以通过与总线510连接的网络接口单元516而连接到网络104。应当意识到,网络接口单元516可以用来连接到其它类型的网络以及例如数据处理系统140和/或客户端101的远程计算机系统。计算机架构500还包括用于接收和处理来自包括键盘、鼠标或电子指示笔(图5中未示出)的多个其它设备的输入的输入/输出控制器518。类似地,输入/输出控制器518可以提供输出给显示屏、打印机或其它类型的输出设备(图5中也未示出)。

应当意识到,本文所描述的软件组件在装载到CPU 502中且执行时可以将CPU 502和整个计算机架构500从通用计算系统变换成经定制而促进本文呈现的功能的专用计算系统。CPU 502可以由任意数量的晶体管或其它离散电路元件构成,这些晶体管和离散电路元件可以单独地或者统一地呈现任意数量的状态。更具体地,CPU 502可以响应于包含在本文公开的软件模块内的可执行指令而作为有限状态机来操作。这些计算机可执行指令可以通过规定CPU 502如何在状态之间转变而变换CPU 502,从而变换构成CPU 502的晶体管或其它离散硬件元件。

对本文呈现的软件模块编码也可以变换本文呈现的计算机可读介质的物理结构。在本说明书的不同的实现方式中,物理结构的具体的变换可以取决于各种因素。这些因素的示例可以包括但不限于用来实现计算机可读介质的技术,计算机可读介质是否表征为主存储或辅存储,等等。例如,如果计算机可读介质实现为基于半导体的存储器,则本文公开的软件可以通过变换半导体存储器的物理状态而编码到计算机可读介质上。例如,软件可以变换构成半导体存储器的晶体管、电容器、或其它离散电路元件的状态。软件还可以变换这些组件的物理状态从而在其中存储数据。

作为另一示例,本文所公开的计算机可读介质可以利用磁或光技术来实现。在这些实现方式中,当软件编码到其中时,本文所呈现的软件可以变换磁或光介质的物理状态。这些变换可以包括改变在给定磁介质内的特定位置的磁特性。这些变换还可以包括改变在给定的光介质内的特定位置的物理特征或特性,以改变那些位置的光学特性。物理介质的其它变换是可能的,不偏离本说明书的范围和主旨,提供了上述示例仅为了利于该论述。

根据上述,应当意识到,许多类型的物理变换发生在计算机架构500内从而存储和执行本文呈现的软件组件。还应当意识到,计算机架构500可以包括其它类型的计算设备,包括手持式计算机、嵌入式计算机系统、个人数字助理以及本领域技术人员所知的其它类型的计算设备。还可想到,计算机架构500可以不包括图5所示的全部组件,可以包括图5中未明确示出的其它组件,或者可以使用完全不同于图5所示的架构。

图6示出了能够执行本文所述的用于提供查询建议的软件组件的示例性的分布式计算环境600。因此,图6所示的分布式计算环境600能够用于提供本文关于系统100所描述的功能。因此,分布式计算环境600可用于执行本文呈现的软件组件的任意方面。

根据各个实现方式,分布式计算环境600包括操作于网络604上、与网络604通信或者作为网络604的部分而操作的计算环境602。网络604还可以包括各种访问网络。一个或多个客户端设备606A-606N(下文统一地和/或一般地称为“客户端606”)能够经由网络604和/或其它连接(图6中未示出)与计算环境602通信。在图示的实施例中,客户端606包括计算设备606A,诸如膝上型计算机、台式计算机或其它计算设备;片式或平板式计算设备(“平板计算设备”)606B;移动计算设备606C,如移动电话、智能手机或其它移动计算设备;服务器计算机606D;和/或其它设备606N。应当理解的是,任意数量的客户端606能够与计算环境602通信。本文参考图5和图7描述了和图示出客户端606的两个示例的计算架构。应当理解的是,图示的客户端606和本文所图示和描述的计算架构是示例性的,而不应解释为以任何方式限制。

在图示的实施例中,计算环境602包括应用服务器608、数据存储610以及一个或多个网络接口612。根据各个实现方式,应用服务器608的功能可以由作为网络604的部分执行或者与网络604通信的一个或多个服务器计算机来提供。应用服务器608能够托管各种服务、虚拟机、门户和/或其它资源。在图示的实施例中,应用服务器608托管了用于托管应用或其它功能的一个或多个虚拟机614。根据各个实现方式,虚拟机614托管了用于提供本文所描述的用于提供查询建议的功能的一个或多个应用和/或软件模块。应当理解的是,该实施例是示例性的,而不应解释为以任何方式限制。应用服务器608还托管或提供对一个或多个Web门户、链接页面、Web站点和/或其它信息(“Web门户”)616的访问。

根据各个实现方式,应用服务器608还包括一个或多个邮箱服务618和一个或多个消息传递服务620。邮箱服务618可以包括电子邮件(“email”)服务。邮箱服务618还可以包括各种个人信息管理(“PIM”)服务,包括但不限于日历服务、通讯录管理服务、协作服务和/或其它服务。消息传递服务620可以包括但不限于即时消息传递服务、聊天服务、论坛服务和/或其它通信服务。

应用服务器608还可以包括一个或多个社交联网服务622。社交联网服务622可以包括各种社交联网服务,包含但不限于,用于共享或张贴状态更新、即时消息、链接、照片、视频和/或其它信息的服务;用于评论或显示对文章、产品、博客或其它资源的兴趣的服务;和/或其它服务。在一些实施例中,社交联网服务622由如下提供或包含如下:FACEBOOK社交联网服务,LINKEDIN专业联网服务,MYSPACE社交联网服务,FOURSQUARE地理联网服务,YAMMER办公同事联网服务,等等。在其它实施例中,社交联网服务622由其它可能或可能没有明确地表明为社交联网提供商的服务、站点和/或提供商来提供。例如,一些网站允许用户在例如阅读出版物,评论商品或服务,发布,协作,游戏等各种活动和/或背景下经由电子邮件、聊天服务和/或其它手段彼此交互。这些服务的示例包括但不限于来自华盛顿埃德蒙顿的微软公司的WINDOWS LIVE服务和XBOX LIVE服务。其它服务是可能的且可想到。

社交联网服务622还可以包括评论、发博客和/或微博服务。这些服务的示例包括但不限于,YELP评论服务、KUDZU审阅服务、OFFICETALK企业微博服务、TWITTER消息传递服务、GOOGLE BUZZ服务和/或其它服务。应当意识到,上述服务列表不是穷尽的,而且为了简要起见在此没有提到若干的附加的和/或可替代的社交联网服务622。因此,上述实施例是示例性的,而不应解释为以任何方式进行限制。

如图6所示,应用服务器608还能够托管其它服务、应用、门户和/或其它资源(“其它资源”)624。其它资源624可以包括但不限于,数据源141、在先查询信息142和/或查询建议服务层143。因此,应当意识到计算环境602能够提供本文所提供的用于提供查询建议的本文公开的构思和技术与各种邮箱、消息传递、社交联网和/或其它服务或资源的整合。例如,本文所公开的构思和技术可以使用社交联网或其它信息作为非查询数据124的部分而使得至少初始查询建议125可以基于用来匹配在先查询信息142的个人信息。此外,虽然通过措辞“查询”来描述,应当意识到,其它形式的搜索是可应用的而使得查询建议125可以具体体现为用于搜索引擎的搜索项、用于学校项目的数据字段以及其它形式的查询建议。

如上所述,计算环境602可以包括数据存储610。根据各个实现方式,数据存储610的功能由操作于网络604上或者与网络604通信的一个或多个数据库来提供。数据存储610的功能还能够由被配置成托管用于计算环境602的数据的一个或多个服务器计算机来提供。数据存储610可以包括、托管或提供一个或多个真实的或虚拟的数据仓库626A-626N(下文统一地和/或一般地称为“数据仓库626”)。数据仓库626被配置成托管由应用服务器608所使用或创建的数据和/或其它数据。

计算环境602能够与网络接口612通信或者由网络接口612访问。网络接口612可以包括用于支持包括但不限于客户端606和应用服务器608的两个或更多个计算设备之间的通信的各种类型的网络硬件和软件。应当意识到,网络接口612还可以用来连接到其它类型的网络和/或计算机系统。

应当理解的是,本文所描述的分布式计算环境600能够向本文所描述的软件元件的任意方面提供能够被配置成执行本文公开的软件组件的任意方面的任意数量的虚拟计算资源和/或其它分布式计算功能。根据本文公开的构思和技术的各个实现方式,分布式计算环境600提供了在本文描述为对客户端606的服务的软件功能。应当理解的是,客户端606可以包括真实的或虚拟的机器,包括但不限于服务器计算机、web服务器、个人计算机、移动计算设备、智能手机和/或其它设备。因此,本文所公开的构思和技术的各种实施例使得被配置成访问分布式计算环境600的任何设备能够使用本文所描述的用于提供查询建议的功能。

现在转到图7,能够执行本文所描述的用于提供查询建议的各种软件组件的计算设备的示例性的计算设备架构700。计算设备架构700能应用于部分地由于形状因数、无线连接能力和/或电池供电操作而促进移动计算的计算设备。在一些实施例中,计算设备包括但不限于移动电话、平板式设备、片式设备、便携式视频游戏设备等。而且,计算设备架构700能应用于图6所示的任意客户端706。此外,计算设备架构700的方面可以能应用于传统的台式计算机、便携式计算机(例如,膝上型设备、笔记本设备、超级便携式设备和上网本)、服务器计算机和其它计算机系统,如本文参考图5所描述的。例如,下文所公开的单触摸和多触摸方面可应用于使用触摸屏的台式计算机或某种其它触摸使能设备,诸如触摸使能跟踪垫或触摸使能鼠标。

图7所示的计算设备架构700包括处理器702、存储器组件704、网络连接组件706、传感器组件708、输入/输出组件710和电力组件712。在图示的实施例中,处理器702与存储器组件704、网络连接组件706、传感器组件708、输入/输出(“I/O”)组件710和电力组件712通信。虽然没有示出图7所示的各个组件之间的连接,该组件能够交互而实施设备功能。在一些实施例中,组件被配置成经由一个或多个总线(未示出)通信。

处理器702包括中央处理单元(“CPU”),其被配置成处理数据,执行一个或多个应用程序的计算机可执行指令,并且与计算设备架构700的其它组件通信从而实施本文所描述的各种功能。处理器702可以用来执行本文所呈现的软件组件的方面,尤其是那些至少部分地使用触摸使能输入的方面。

在一些实施例中,处理器702包括图形处理单元(“GPU”),其被配置成加速CPU所执行的操作,包括但不限于,通过执行通用科学与工程计算应用所实施的操作,以及诸如高分辨率视频(例如,720P,1080P和更大)、视频游戏、三维(“3D”)建模应用等的图形密集计算应用。在一些实施例中,处理器702被配置成与分立的GPU(未示出)通信。在任何情况下,CPU和GPU可以依照协处理CPU/GPU计算模型来配置,其中应用的顺序的部分在CPU上执行,计算密集部分由GPU来加速。

在一些实施例中,连同下文所描述的其它一个或多个组件一起,处理器702是片上系统(“SoC”)或者包含在SoC中。例如,SoC可以包括处理器702、GPU、一个或多个网络连接组件706以及一个或多个传感器组件708。在一些实施例中,处理器702部分地利用封装上封装“PoP”集成电路封装技术来制作。而且,处理器702可以是单核或多核处理器。

处理器702可以依照来自英国剑桥的ARM HOLDINGS的可供认证的ARM架构来产生。可替代地,处理器702可依照x86架构来产生,例如可从加利福尼亚山景城的INTEL CORPORATION及其它获得。在一些实施例中,处理器702是可从加利福尼亚的圣地亚哥的QUALCOMM得到的SNAPDRAGON SoC、可从加利福尼亚的圣塔克拉拉的NVIDIA得到的TEGRA SoC、可从韩国首尔的SAMSUNG得到的HUMMINGBIRD SoC、可从德克萨斯达拉斯的TEXAS INSTRUMENTS得到的Open Multimedia Application Platform("OMAP")SoC、上述SoC中的任一个的定制版本或专有SoC。

存储器组件704包括随机存取存储器(“RAM”)714、只读存储器(“ROM”)716、集成存储存储器(“集成存储”)718和可移除存储存储器(“可移除存储”)720。在一些实施例中,RAM 714或其部分、ROM 716或其部分和/或RAM 714和ROM 716的某种组合集成到处理器702中。在一些实施例中,ROM 716被配置成存储固件、操作系统或其部分(例如,操作系统内核)和/或从集成存储718或可移除存储720装载操作系统内核的引导加载程序。

集成存储718可以包括固态存储器、硬盘或固态存储器和硬盘的组合。集成存储718可以是钎焊到或以其它方式连接到逻辑板上,处理器702以及本文所描述的其它组件也可以连接到该逻辑板上。因此,集成存储718集成到计算设备中。集成存储718被配置成存储本文所描述的操作系统或其部分、应用程序、数据和其它软件组件。

可移除存储720可以包括固态存储器、硬盘或固态存储器和硬盘的组合。在一些实施例中,可移除存储720被提供以取代集成存储718。在其它实施例中,可移除存储720被提供作为附加的可选存储。在一些实施例中,可移除存储720与集成存储718逻辑地组合而使得总可用存储可用且作为集成存储718和可移除存储720的总组合容量显示给用户。

可移除存储720被配置成插入可移除存储存储器槽(未示出)或其它机构,可移除存储720插入可移除存储存储器槽或其它机构且紧固到其上以利于可移除存储720能够借以与诸如处理器702的计算设备的其它组件通信的连接。可移除存储720可以嵌入各种存储器卡形式中,包括但不限于,PC卡、CompactFlash卡、记忆棒、安全数字(“SD”)、miniSD、microSD、通用集成电路板(“UICC”)(例如,订阅者身份模块(“SIM”)或通用SIM(“USIM”))、专有形式等等。

可以理解的是,一个或多个存储器组件704能够存储操作系统。根据各个实施例,操作系统包括但不限于来自SYMBIAN LIMITED的SYMBIAN OS、来自华盛顿雷德蒙顿的微软公司的WINDOWS MOBILE OS、来自微软公司的WINDOWS PHONE OS、来自微软公司的WINDOWS操作系统、来自加利福尼亚帕罗奥图的惠普公司的PALM WEBOS、来自加拿大安大略的滑铁卢的Research in Motion Limited的BLACKBERRY OS、来自加利福尼亚的库比蒂诺的苹果公司的IOS以及来自加利福尼亚的山景城的谷歌公司的ANDROID OS。可想到其它操作系统。

网络连接组件706包括无线广域网组件(“WWAN组件”)722、无线局域网组件(“WLAN组件”)724以及无线个域网组件(“WPAN组件”)726。网络连接组件706利于与网络728之间的通信,网络可以是WWAN、WLAN或WPAN。虽然示出了单个网络728,但是网络连接组件706可促进与多个网络的同时通信。例如,网络连接组件706可以促进经由WWAN、WLAN或WPAN中的一个或多个与多个网络同时通信。

网络728可以是WWAN,诸如使用一个或多个移动远程通信技术来经由WWAN组件722提供语音和/或数据服务给使用计算设备架构700的计算设备的移动远程通信网络。移动远程通信技术可以包括但不限于全球移动通信系统(“GSM”)、码分多址(“CDMA”)ONE、CDMA2000、通用移动远程通信系统(“UMTS”)、长期演进(“LTE”)和世界微波接入互操作(“WiMAX”)。而且,网络728可以使用各种信道接入方法(其可以或者可以不由上述标准来使用),包括但不限于,时分多址(“TDMA”)、频分多址(“FDMA”)、CDMA、宽带CDMA(“W-CDMA”)、正交频分复用(“OFDM”)、空间分多址(“SDMA”)和类似方法。数据通信可以利用如下来提供:通用分组无线电服务(“GPRS”)、全局演进增强数据率(“EDGE”)、高速分组接入(“HSPA”)协议系列,包括高速下行链路分组接入(“HSDPA”)、增强上行链路(“EUL”)或另外称谓的高速上行链路分组接入(“HSUPA”)、演进的HSPA(“HSPA+”)、LTE、以及其它各种当前和未来的无线数据访问标准。网络728可被配置成利用上述技术的任意组合来提供语音和/或数据通信。网络728可被配置成或适于依照未来代的技术来提供语音和/或数据通信。

在一些配置中,WWAN组件722被配置成提供双重多模式连接给网络728。例如,WWAN组件722可以被配置成提供连接给网络728,其中网络728经由GSM和UMTS技术来提供服务,或者经由技术的某种其它组合。可替代地,多个WWAN组件722可用来实施该功能,和/或提供附加功能来支持其它非兼容技术(即,不能被单个WWAN组件支持)。WWAN组件722可促进到多个网络(例如,UMTS网络和LTE网络)的类似的连接。

网络728可以是依照一个或多个电气与电子工程师协会(“IEEE”)802.11标准而操作的WLAN,诸如IEEE 802.11a、802.11b、802.11g、802.11n和/或未来的802.11标准(在本文统称为WI-FI)。还可以想到起草的802.11标准。在一些实施例中,WLAN利用一个或多个无线WI-FI接入点来实现。在一些实施例中,一个或多个无线WI-FI接入点是能够与WWAN连接的充当WI-FI热点的另一计算设备。WLAN组件724被配置成经由WI-FI接入点与网络728连接。这些连接可经由各种加密技术来确保,加密技术包括但不限于WI-FI保护接入(“WPA”)、WPA2、有线等价隐私(“WEP”)和类似物。

网络728可以是依照红外数据联盟(“IrDA”)、BLUETOOTH、无线通用串行总线(“USB”)、Z-Wave、ZIGBEE或某其它短程无线技术来操作的WPAN。在一些配置中,WPAN组件726被配置成促进与诸如外围设备、计算机或其它计算设备的其它设备经由WPAN的通信。

传感器组件708包括磁力计730、环境光传感器732、接近传感器734、加速度计736、陀螺仪738和全球定位系统传感器(“GPS传感器”)740。可想到,诸如但不限于温度传感器或震动检测传感器的其它传感器也可以包含在计算设备架构700中。

磁力计730可以被配置成测量磁场的强度和方向。在一些实施例中,磁力计730提供测量给存储在一个存储器组件704内的罗盘应用程序从而为用户提供参考系内的精确的方向,包括主要方向,北、南、东和西。可以对包括罗盘组件的导航应用程序提供类似的测量。可想到通过磁力计730所获得的测量的其它用途。

环境光传感器732被配置成测量环境光。在一些配置中,环境光传感器732提供测量给存储在一个存储器组件704内的应用程序从而自动地调节显示器(下面所述)的亮度从而补偿低光照环境和高光照环境。可想到通过环境光传感器732所获得的测量的其它用途。

接近传感器734被配置成在不直接接触的情况下检测靠近计算设备的物体或事物的存在。在一些实施例中,接近传感器734检测用户的身体(例如,用户的面部)的存在且提供该信息给存储在存储器组件704中之一内的、使用接近信息来启用或禁止计算设备的某功能的应用程序。例如,电话应用程序可以响应于接收到接近信息而自动禁止触摸屏(下面说明),使得用户的面部不会在通话期间非故意地结束通话或启用/禁止电话应用程序内的其它功能。接近传感器734所检测到的接近的其它用途可被想到。

加速度计736被配置成测量正确的加速度。在一些实施例中,来自加速度计736的输出由应用程序用作控制应用程序的某功能的输入机制。例如,应用程序可以是视频游戏,其中字符、其部分或对象响应于经由加速度计736接收到的输入而移动或以其它方式操纵。在一些实施例中,来自加速度计736的输出提供给应用程序以便用于在风景模式与肖像模式之间切换,计算坐标加速度,或者检测下落。可以想到加速度计736的其它用途。

陀螺仪738被配置成测量和维持方向。在一些实施例中,来自陀螺仪738的输出由应用程序用作控制应用程序的某功能的输入机制。例如,陀螺仪738能够用于视频游戏应用或某其它应用的3D环境内的移动的精确识别。在一些实施例中,应用程序使用来自陀螺仪738和加速度计736的输出来增强应用程序的某种功能的控制。可想到陀螺仪738的其它用途。

GPS传感器740被配置成接收来自GPS卫星的信号以用于计算位置。通过GPS传感器740计算的位置可由需要或受益于位置信息的任何应用程序使用。例如,通过GPS传感器740计算的位置可用于导航应用程序以提供从该位置到目的地的方向或者从目的地到该位置的方向。而且,GPS传感器740可以用于将位置信息提供给的基于外部位置的服务,诸如E911服务。GPS传感器740可以使用一个或多个网络连接组件706获得经由WI-FI、WIMAX和/或蜂窝三角测量技术所生成的位置信息以辅助GPS传感器740获得位置固定。GPS传感器740还可用于辅助GPS(“A-GPS”)系统。

I/O组件710包括显示器742、触摸屏744、数据I/O接口组件(“数据I/O”)746、音频I/O接口组件(“音频I/O”)748、视频I/O接口组件(“视频I/O”)750和照相机752。在一些实施例中,显示器742和触摸屏744组合。在一些实施例中,数据I/O组件746、音频I/O组件748和视频I/O组件750中的两个或更多个被组合。I/O组件710可以包括被配置为支持下面所描述的各种接口的分立的处理器,或者可以包括内置于处理器702中的处理功能。

显示器742是被配置成以视觉形式呈现信息的输出设备。特别地,显示器742可以呈现图形用户接口(“GUI”)元件、文本、图像、视频、通知、虚拟按钮、虚拟键盘、消息传递数据、因特网内容、设备状况、时间、日期、日历数据、偏好、地图信息、位置信息以及任何其它能够以视觉形式呈现的信息。在一些实施例中,显示器742是使用了任何有源或无源矩阵技术以及任何背光技术(如果使用)的液晶显示器(“LCD”)。在一些实施例中,显示器742是有机发光二极管(“OLED”)显示器。可想到其它显示器类型。

触摸屏744是被配置成检测触摸的存在和位置的输入设备。触摸屏744可以是电阻触摸屏、电容触摸屏、表面声波触摸屏、红外触摸屏、光学成像触摸屏、分散信号触摸屏、声脉冲识别触摸屏,或者可以使用任何其它触摸屏技术。在一些实施例中,触摸屏744作为透明层而包含到显示器742之上以使用户能够使用一个或多个触摸来与呈现在显示器742上的对象或其它信息交互。在其它实施例中,触摸屏744是并入未包含显示器742的计算设备的表面上的触摸板。例如,计算设备可以具有并入显示器742上的触摸屏和与显示器742相对的表面上的触摸板。

在一些配置中,触摸屏744是单触摸式触摸屏。在其它配置中,触摸屏744是多触摸式触摸屏。在一些配置中,触摸屏744被配置成检测离散的触摸、单触摸手势和/或多触摸手势。为方便,这些在本文统称为手势。现在将描述多个手势。应当理解的是,这些手势是示例性的,而不旨在限制随附权利要求的范围。而且,所描述的手势、附加手势和/或可替代手势可以软件来实现而与触摸屏744一起使用。因此,开发者可以创建特定于特定的应用程序的手势。

在一些配置中,触摸屏744支持轻敲手势,其中用户对呈现在显示器742上的项轻敲触摸屏744一次。轻敲手势可由于各种原因而使用,包括但不限于,打开或启动用户所轻敲的无论何物。在一些实施例中,触摸屏744支持双轻敲手势,其中用户对呈现在显示器742上的项轻敲触摸屏744两次。双轻敲手势可由于各种原因而使用,包括但不限于在阶段中缩小或放大。在一些配置中,触摸屏744支持轻敲且保持手势,其中用户轻敲触摸屏744且保持接触至少预定的时间。轻敲且保持手势可由于各种原因而使用,包括但不限于,打开上下文特定菜单。

在一些实施例中,触摸屏744支持平移手势,其中用户将手指放在触摸屏744上且在触摸屏744上移动手指的同时保持与触摸屏744接触。平移手势可由于各种原因而使用,包括但不限于,在受控速率下移过屏幕、图像或菜单。可以设想多手指平移手势。在一些实施例中,触摸屏744支持轻弹手势,其中用户沿用户想要屏幕移动的方向划动手指。轻弹手势可由于各种原因而使用,包括但不限于,水平地或者垂直地滚动通过菜单或页。在一些实施例中,触摸屏744支持捏合与伸展手势,其中用户在触摸屏744上用两个手指(例如,拇指和食指)做出捏合运动或者移动使两个手指分开。捏合与伸展手势可由于各种原因而使用,包括但不限于,逐渐地缩小或放大网站、地图或图片。

虽然已经参考用于执行手势的一个或多个手指的使用描述了上述手势,诸如足趾或诸如指示笔的对象的其它附件也可用于与触摸屏744交互。因此,上述手势应当理解为示例性的,而不应解释为以任何方式限制。

数据I/O接口组件746被配置成利于向计算设备输入数据以及从计算设备输出数据。在一些实施例中,数据I/O接口组件746包括连接器,该连接器被配置成提供计算设备与计算机系统之间的有线连接,例如用于同步操作的目的。连接器可以是专用连接器或标准化的连接器,如USB、微型USB、迷你型USB或类似物。在一些实施例中,连接器是用于将计算设备与诸如对接站的另一设备、音频设备(例如,数字音乐播放器)或视频设备对接的对接连接器。

音频I/O接口组件748被配置成提供音频输入和/或输出能力给计算设备。在一些实施例中,音频I/O接口组件746包括被配置成采集音频信号的麦克风。在一些实施例中,音频I/O接口组件746包括被配置成提供用于耳机或其它外部扬声器的连接的耳机插口。在一些实施例中,音频接口组件748包括用于音频信号的输出的扬声器。在一些实施例中,音频I/O接口组件746包括光缆音频线出口。

视频I/O接口组件750被配置成提供视频输入和/或输出能力给计算设备。在一些实施例中,视频I/O接口组件750包括视频连接器,该视频连接器被配置成接收来自另一设备(例如,诸如DVD或BLURAY播放器的视频媒体播放器)的视频作为输入)或者将视频作为输出发送到另一设备(例如,监控器、电视机或某其它外部显示器)。在一些实施例中,视频I/O接口组件750包括高清多媒体接口(“HDMI”)、迷你型HDMI、微型HDMI、DisplayPort或到输入/输出视频内容的专用连接器。在一些实施例中,视频I/O接口组件750或其部分与音频I/O接口组件748或其部分组合。

照相机752可以被配置成捕获静像和/或视频。照相机752可以使用电荷耦合器件(“CCD”)或互补金属氧化物半导体(“CMOS”)图像传感器来捕获图像。在一些实施例中,照相机752包括辅助在低光照环境下拍摄图片的闪光灯。用于照相机752的设置可实现为硬件或软件按钮。

虽然没有示出,一个或多个硬件按钮也可以包含在计算设备架构700中。硬件按钮可用于控制计算设备的某操作方面。硬件按钮可以是专用按钮或多用途按钮。硬件按钮可以是机械或基于传感器的。

图示的电力组件712包括一个或多个电池754,电池能够连接到电池计量仪756。电池754可以是可再充电的或一次性的。可再充电电池类型包括但不限于锂聚合物,锂离子,镍镉和镍金属氢化物。各个电池754可以由一个或多个单元制成。

电池计量仪756可以被配置成测量诸如电流、电压和温度的电池参数。在一些配置中,电池计量仪756被配置成测量电池的放电速率、温度、寿命和在一定误差百分比内预测剩余寿命的其它因素的效果。在一些实施例中,电池计量仪756提供测量给应用程序,应用程序被配置成使用测量来向用户呈现有用的电力管理数据。电力管理数据可以包括所使用的电池百分比、电池剩余的百分比、电池状态、剩余时间、剩余容量(例如,以瓦特小时数计)、消耗的电流和电压的中的一项或多项。

电力组件712还可以包括电力连接器,其可以与上述I/O组件710中的一个或多个组合。电力组件712可以经由电力I/O组件744与外部电力系统或充电装置相接。

基于上述,应当意识到在本文已经公开了用于提供查询建议的以及用于基于查询建议来构建查询的技术。虽然本文所呈现的主题是以特定于计算机结构特征、方法和变换动作、具体的计算机器和计算机可读介质的语言来描述,但是应当理解,在随附的权利要求中限定的本发明不必局限于本文所描述的具体的特征、动作或介质。相反,具体的特征、动作和媒介被公开作为实现权利要求的示例形式。

本文公开的技术可如以下条款中所阐述的来描述:

条款1.一种用于提供查询建议的计算机实现的方法,所述方法包括:

检测数据源处的访问;

基于所检测到的访问来采集非查询数据;

基于所述非查询数据来确定对所述数据源的查询的初始查询建议;以及

返回所述初始查询建议。

条款2.根据条款1所述的计算机实现的方法,其中所述非查询数据包括描述身份数据、简档数据或上下文信息的元数据。

条款3.根据条款1-2中任一项所述的计算机实现的方法,其中确定所述初始查询建议包括:

比较所述元数据与在先查询或元数据信息;

确定所述元数据的至少一部分与所述在先查询信息的部分相关联;以及

基于所述在先查询信息的所述部分来生成所述初始查询建议。

条款4.根据条款1-3中任一项所述的计算机实现的方法,其中所述在先查询信息包括缺省查询陈述、基本查询陈述或先前提交的查询中的至少一个。

条款5.根据条款1-4中任一项所述的计算机实现的方法,其中确定所述初始查询建议包括:

比较所述非查询数据与一组缺省查询陈述;

确定所述非查询数据的至少一部分与所述一组缺省查询陈述中的至少一个缺省查询陈述相关联;以及

基于所述至少一个缺省查询陈述来生成所述初始查询建议。

条款6.根据条款1-5中任一项所述的计算机实现的方法,其中检测数据源处的访问包括:

接收访问所述数据源处的数据的请求;

接收接收所述初始查询建议的请求;或者

确定文件已经打开。

条款7.根据条款1-6中任一项所述的计算机实现的方法,还包括:通过用户接口(UI)元件来返回所述初始查询建议。

条款8.根据条款1-7中任一项所述的计算机实现的方法,其中UI元件是代表所述初始查询建议的内容的可选的图形渲染,或者其中所述UI元件包括表示来自查询陈述的文本的至少一部分的自动填充文本的部分。

条款9.根据条款1-8中任一项所述的计算机实现的方法,还包括:

接收对所述初始查询建议的动作的指示;

基于查询或非查询数据来确定对所述数据源的查询的附加查询建议;以及

返回所述附加查询建议。

条款10.根据条款1-9中任一项所述的计算机实现的方法,其中所述查询包括指示查询陈述的至少一部分的数据。

条款11.被配置成提供查询建议的数据处理系统,所述系统包括:

执行查询建议服务层的至少一个计算机,被配置成

检测来自客户端的在数据源处的访问,

采集非查询数据,

接收来自所述客户端的对所述数据源的查询,

基于所述非查询数据和所述查询来确定查询的查询建议,以及

将所述查询建议返回所述客户端。

条款12.根据条款11所述的数据处理系统,其中非查询数据包括描述身份数据、简档数据或上下文信息的元数据。

条款13.根据条款11-12中任一项所述的数据处理系统,其中确定所述查询建议包括:

比较所述元数据和查询与在先查询或元数据信息;

确定所述元数据或查询的至少一部分与所述在先查询信息的部分相关联;以及

基于所述在先查询信息的所述部分来生成查询建议。

条款14.根据条款11-13中任一项所述的数据处理系统,其中所述在先查询信息包括缺省查询陈述、基本查询陈述或先前提交的查询中的至少一个。

条款15.根据条款11-14中任一项所述的数据处理系统,其中检测数据源处的访问包括:

接收访问所述数据源处的数据的请求;

接收接收所述初始查询建议的请求;或者

确定在所述客户端处文件已经打开。

条款16.根据条款11-15中任一项所述的数据处理系统,其中查询建议服务层被进一步配置成:

响应于提供所述查询建议而确定所述查询包含变化;

将所述变化应用于所述查询;

基于所应用的变化来确定对所述数据源的查询的附加查询建议;以及

将所述附加查询建议返回给客户端。

条款17.根据条款11-16中任一项所述的数据处理系统,其中所述附加查询建议包括基于在先查询信息来过滤或分类查询结果的建议。

条款18.一种通过查询建议来构建数据查询的计算机实现的方法,所述方法包括:

确定数据源处的访问;

基于非查询数据和查询数据来确定数据源处的搜索查询的查询建议,其中所述查询建议是用于附到所述搜索查询的可选的查询建议,并且其中所述查询数据基于查询建议的选择;以及

使查询建议通过图形用户接口(UI)来显示,所述UI被配置成接收所述查询建议的单独的查询建议的选择。

条款19.根据条款18所述的计算机实现的方法,其中所述非查询数据包括描述身份数据、简档数据或用于访问所述数据源的客户端计算机的上下文信息的元数据。

条款20.根据条款18和19中任一项所述的计算机实现的方法,其中确定所述查询建议包括:

比较查询数据与在先查询信息;

确定查询数据的至少一部分与所述在先查询信息的部分相关联;以及

基于在先查询信息的所述部分来生成所述查询建议。

上述的主题仅以示例说明的方式来提供,而不应当解释为限制。可以在不遵照所图示和描述的示例的实施例和应用且不背离本发明的真正的主旨和范围的情况下对本文所描述的主题做出各种修改和改动,本发明真正的主旨和范围在下面的权利要求中进行了阐述。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1