用于分级架构内的结果优化的生成性分布的制作方法

文档序号:6349953阅读:186来源:国知局
专利名称:用于分级架构内的结果优化的生成性分布的制作方法
技术领域
此说明涉及计算机网络的分级架构内的工作分布。
背景技术
用于数据检索及处理的常规系统尝试优化特征(例如,结果生成的准确性及及时性、计算资源的使用),且进一步尝试最小化对系统的用户知识及与系统的相互作用。存在与此些尝试相关联的各种挑战。举例来说,在数据检索中,理论上可能将所有必要数据存储于靠近于所述数据的可能用户的位置处,使得所述可能用户将能够接近地(且因此及时地)存取最准确的数据。 然而,在许多系统中,可出现以下情况用户为分布式的,且数据的大小(与用户的分布组合)阻碍其存储于任何单个位置中。此外,某一大小的数据变得难以以准确且及时的方式来搜索,且计算资源可在数据被过度统一的情况下经历瓶颈。因此,在许多系统中,可以反映以上困难的方式来分布数据(及其处理)。举例来说,通过将数据的某些类型或子集分布到不同地理位置,可促进分布式用户的存取,且可更高效地分配计算资源。特定来说,此些分布系统可依赖于以结构化及组织化的方式提供数据分布的分级或基于树的架构。然而,此些分布式系统通常具有其自己的相关联困难。举例来说,此些分布式系统通常引入额外等待时间,因为(例如)必须跨越网络传送查询及结果。此外,此些分布式系统可将数据的分布结构化,使得在更多/不同位置中复制较快的数据库,且因此比较大、较慢的数据库更快且更规则地存取所述较快数据库。更通常来说,此些分布式系统可具有与其它资源相比存取起来成本相对更高的一些资源。在此意义上,此些成本可指时间、金钱、 计算资源或讨论中的系统内(或与其相关联)的任何有限资源方面的成本。因此,可难以在优化从所述系统获得的结果的较大背景内管理此些成本。

发明内容
根据一个一般方面,生成器节点可包括在分级树形处理架构中,所述架构包括经配置以在所述架构内分布查询的至少一个分布器节点,包括分布到所述生成器节点及预界定生成器节点子集内的至少一个其它生成器节点。所述分布器节点可进一步经配置以接收来自所述生成器节点的结果及来自所述至少一个其它生成器节点的结果且从其输出经汇编结果。所述生成器节点可包括查询预处理器,其经配置以处理从所述分布器节点接收的查询以使用与搜索与所述生成器节点相关联的生成器索引兼容的查询特征来获得查询表示,从而获得来自所述生成器节点的所述结果;及查询分类器,其经配置以输入所述查询表示且基于其来输出关于由所述预界定生成器节点子集内的所述至少一个其它生成器节点对所述查询的处理是否将致使所述至少一个其它生成器节点的结果包括在所述经汇编结果内的预测。实施方案可包括以下特征中的一者或一者以上。举例来说,查询分类器可经配置以结合获得所述查询表示且在生成来自所述生成器节点的所述结果之前将所述预测提供到所述分布器节点,使得所述生成器节点及所述至少一个其它生成器节点并行地将其相应结果提供到所述分布器节点。所述查询分类器可经配置以从所述架构内的多个其它生成器节点确定所述至少一个其它生成器节点,且将所述至少一个其它生成器节点识别为应将所述查询转发到的目标节点。所述查询分类器可经配置以输入与所述查询表示相关联的至少两个查询特征且基于其来计算所述预测。在此情况下,所述查询分类器可经配置以从与所述查询表示相关联的查询特征集合选择所述至少两个查询特征,且/或所述至少两个查询特征中的至少一者可包括所述查询内的项的项计数。所述查询分类器可经配置以提供所述预测,所述预测包括在表示所述至少一个其它生成器节点可能包括在所述经汇编结果内的程度的范围内的值。所述查询分类器可经配置以提供所述预测,所述预测包括在表示所述至少一个其它生成器应处理所述查询以供在提供来自所述至少一个其它生成器节点的所述结果中使用的程度的范围内的值。所述生成器节点可包括分类管理器,所述分类管理器经配置以输入包括与所述查询表示相关联的查询特征、来自所述至少一个其它生成器节点的结果及多个机器学习算法中的一者的分类数据,且经配置以基于其来构造用于输出到所述查询分类器的分类模型以供在输出所述预测中使用。所述分类管理器可经配置以追踪来自所述至少一个其它节点的所述结果且用其来更新所述分类数据及所述分类模型。另外,或或者,所述生成器节点可包括监视器,所述监视器经配置以不管是否由所述查询分类器指示而触发所述分布器节点以周期性地将所述查询的子集发送到所述至少一个其它生成器节点,且基于其来更新所述分类数据。来自所述生成器节点的所述结果可从与使用所述生成器索引的所述生成器节点相关联的数据源来获得,且来自所述至少一个其它生成器节点的所述结果从与使用对应索引的所述至少一个其它生成器节点相关联的数据源来获得,且其中所述至少一个其它生成器节点在与所述生成器节点相比时存取起来成本效率较差。根据另一一般方面,其中至少一个处理器实施至少以下操作的计算机实施方法可包括在生成器节点处从分级树形处理架构内的至少一个分布器节点接收查询,所述架构包括经配置以在所述架构内分布查询的所述至少一个分布器节点,包括分布到所述生成器节点及至少一个其它生成器节点,所述分布器节点进一步经配置以接收来自所述生成器节点的结果及来自所述至少一个其它生成器节点的结果且从其输出经汇编结果。所述方法可包括预处理从所述分布器节点接收的所述查询以使用与搜索与所述生成器节点相关联的生成器索引兼容的查询特征来获得查询表示,从而获得来自所述生成器节点的所述结果; 及使用所述查询表示将所述查询分类,从而基于其来输出关于由所述至少一个其它生成器节点对所述查询的处理是否将致使所述至少一个其它生成器节点的结果包括在所述经汇编结果内的预测。实施方案可包括以下特征中的一者或一者以上。举例来说,将所述查询分类可包括结合获得所述查询表示且在生成来自所述生成器节点的所述结果之前将所述预测提供到所述分布器节点,使得所述生成器节点及所述至少一个其它生成器节点并行地将其相应结果提供到所述分布器节点。另外,或或者,所述将所述查询分类可包括输入包括与所述查询表示相关联的查询特征、来自所述至少一个其它生成器节点的结果及多个机器学习算法中的一者的分类数据;及基于其来构造分类模型以供在输出所述预测中使用。另外,所述将所述查询分类可包括不管是否由所述预测指示而触发所述分布器节点以周期性地将所述查询的子集发送到所述至少一个其它生成器节点,且基于其来更新所述分类数据。根据另一一般方面,计算机程序产品可有形地体现于计算机可读媒体上且可包括在被执行时经配置以致使数据处理设备进行以下操作的可执行代码在生成器节点处从分级树形处理架构内的至少一个分布器节点接收查询,所述架构包括经配置以在所述架构内分布查询的所述至少一个分布器节点,包括分布到所述生成器节点及至少一个其它生成器节点,所述分布器节点进一步经配置以接收来自所述生成器节点的结果及来自所述至少一个其它生成器节点的结果且从其输出经汇编结果;预处理从所述分布器节点接收的所述查询以使用与搜索与所述生成器节点相关联的生成器索引兼容的查询特征来获得查询表示, 从而获得来自所述生成器节点的所述结果;及使用所述查询表示将所述查询分类,从而基于其来输出关于由所述至少一个其它生成器节点对所述查询的处理是否将致使所述至少一个其它生成器节点的结果包括在所述经汇编结果内的预测。实施方案可包括以下特征中的一者或一者以上。举例来说,在将所述查询分类时, 所述经执行指令可致使所述数据处理设备结合获得所述查询表示且在生成来自所述生成器节点的所述结果之前将所述预测提供到所述分布器节点,使得所述生成器节点及所述至少一个其它生成器节点并行地将其相应结果提供到所述分布器节点。在将所述查询分类时,所述经执行指令可致使所述数据处理设备输入包括与所述查询表示相关联的查询特征、来自所述至少一个其它生成器节点的结果及多个机器学习算法中的一者的分类数据;及基于其来构造分类模型以供在输出所述预测中使用。在将所述查询分类时,所述经执行指令可致使所述数据处理设备不管是否由所述预测指示而触发所述分布器节点以周期性地将所述查询的子集发送到所述至少一个其它生成器节点,且基于其来更新所述分类数据。在附图及下文说明中阐述一个或一个以上实施方案的细节。从所述说明及图式且从权利要求书将明了其它特征。


图IA是用于分级架构内的结果优化的生成性分布的系统的框图。
图IB是图解说明图IA的系统的实例性操作的流程图。图2是图解说明图IA的生成器节点的实例性操作的流程图。图3是图解说明图IA的系统的分类管理器的额外实例性操作的流程图。图4A到图4C是图解说明用以构造分类模型的分类数据的表格。图5是图IA的系统可在其中操作的实例性计算环境的框图。
具体实施例方式图IA是用于分级架构内的结果优化的生成性分布的系统100的框图。在图IA中, 图解说明分级树形架构促进用户104所要的搜索及其它操作。更具体来说,架构102可接受查询106且将经汇编结果108返回给所述用户,且可以优化经汇编结果108的有用性/ 准确性的方式这样做,同时有效地管理架构102的操作的资源及与架构102的操作相关联的成本。在图IA的实例中,可观察到,用户104可操作合适的图形用户接口(GUI)或其它接口可在上面实施的显示器109,使得所述用户可提交查询106且通过其来接收经汇编结果108。举例来说,显示器109可表示任何常规监视器、投影仪或其它视觉显示器,且对应接口可包括因特网浏览器或其它⑶I。当然,显示器109可与合适的计算资源(例如,膝上型计算机、个人计算机或手持式计算机)相关联,为清晰及简洁起见其未具体图解说明于图 IA中。在实例性实施方案中,用户104及显示器109可由生成查询106且预期经汇编结果 108的另一计算系统取代。如上文所提及,通常来说,架构102可包括若干个可能数据源,如下文详细地描述。因此,经汇编结果108可包括来自这些数据源中的不同者的结果。特定来说,如所展示, 经汇编结果110、112、116与一个数据源(“S”)相关联,而经汇编结果114与另一数据源 (“T”)相关联。可了解,通过架构102内的所述多个可用数据源,用户104及架构102的操作者均可能在存取架构102之前不具有关于哪一数据源含有各种经汇编结果110到116 及所述可用结果是否具有足以出现在经汇编结果108中的质量的具体知识。在架构102中,图解说明分布器节点118及分布器节点120,其经配置以处理查询及其它工作请求以转发到适当生成器节点,例如,生成器节点122(与数据源“S”124相关联)、生成器节点126 (与数据源“T” 128相关联)及生成器节点129 (与数据源“U” 130相关联)中的一者。分布器节点118、120还可经配置以从生成器节点122、126、129中的一者或一者以上接收经返回结果以将其汇编成经汇编结果108。因此,架构102表示较一般情况的简化实例,其中分级树形架构包括多个内部分布器节点,所述多个内部分布器节点在作为所述查询的结果的生成器的多个叶节点内及当中分布及收集查询。在图IA中且贯穿此说明,主要关于用于搜索数据源124、128、130的查询来论述架构102。然而,可了解,在此背景下的术语查询具有更宽广的含义,且更通常来说可被视为表示可适于在所描述架构102的特定实例或标的物内的分布的几乎任何工作或任务。举例来说,此些工作可包括报告产生、将执行的计算、将完成的任务或生成器节点122、126、129可针对其生成结果的几乎任何工作。出于本说明的目的,那么,假设生成器122、126、129可包括索引或与所述索引相关联,所述索引与对应数据源124、128、130相关且减轻或防止在数据源124、128、130的文档的实际内容内进行搜索的需要。在此方面,应理解术语文档是指可存储于数据源124、 128,130内且在本发明实例中可与对应生成器节点122、126、129相关联地索引以促进对所述文档的搜索的任何离散数据段或数据结构。也就是说,例如,每一此种索引可含有关于对应数据源内的文档的内容(例如,包括所述文档内的字或短语)或表征所述内容(包括音频、视频或图形内容)的元数据的结构化信息。此些索引技术的实例在此项技术中是众所周知的且除非对促进对本说明的理解是必要的否则此处不予以进一步描述。如上文所提及,通常可为以下情况数据源124、128、130包括在架构102内且因此与架构102的其它元件兼容。也就是说,例如,贯穿架构102分布的查询可由各种分布节点 118及生成器节点122、126、128使用以获得将最终汇编成经汇编结果108的结果。然而,在这样做时,将了解(如已描述),不同生成器节点122、126、128及相关联数据源124、128、130可在与其存取相关联的成本方面具有显著差异。举例来说,可出现以下情况生成器节点126在地理上远离分布器节点120及/或生成器节点122,从而引入与遍历介入网络以存取生成器节点126相关联的存取等待时间。在另一实例中,生成器节点128 可具有有限的容量对查询做出响应,且/或可如此大而使得搜索时间因此可令人无法接受地变长(在响应时引入计算等待时间)。作为又一实例,在一些情况下,可存在与存取特定数据源相关联的真实的财务成本。为减轻与存取架构102的某些生成器节点的存取成本相关联的这些及相关困难, 架构102的操作者可具有一些数据(及相关联数据源)可含有较广泛存取且需要的数据且因此应比其它数据源放置得更高(且因此,可更容易且更频繁地存取)(例如,在图IA的实例中,数据源124可被视为表示此种数据源)的一般知识。此外,可将可较广泛存取且具有较频繁需要的结果的此些数据源结构化以含有较少可能总结果,以便相对快速且容易地更新、存取及搜索。相反,可在架构102内将可大得多、较遥远或另外存取起来成本较高的其它数据源放置得较低且因此较不频繁地存取。举例来说,在图IA中,可出现以下情况生成器节点126及数据源128在地理上遥远,而生成器节点129及数据源130具有有限的容量对查询做出响应。在此种架构中,应明了,可首先将查询106分布到生成器节点122,其为最可能含有所要的查询结果且/或最能够以及时、成本高效的方式提供此些结果的源。当然,生成器节点122及数据源124实际上可能不含有针对查询106的完整或最好的结果集合。在此情景中,一种选项是等待判断从数据源124获得的结果的数量或质量,且接着在认为必要的情况下继续存取剩余生成器节点126、129中的一者或一者以上。然而,在此选项中,难以知道查询结果的此数量或质量是否值得与对生成器节点 126、129的此存取相关联的成本及努力。特定来说,在分布器节点118、120负责在架构102 内分布(例如,路由)查询的情况下,此(些)分布器节点可难以具有信息或计算资源来做出关于选择生成器节点122、126、129中的哪一者来将查询106转发给其的智能决策。此信息可对于生成器节点122、126、129中的一者或一者以上为本地的,且对于(例如)分布器节点120来说不容易获得。因此,分布器节点120可难以确定将查询106分布到(例如) 生成器节点126对查询106及经汇编结果108是否将有用。在此方面且通过术语,当架构102的数据源返回经汇编结果108内所含有的查询结果时可称其为生成性。举例来说,在图IA中,可了解,所呈现的经汇编结果110到116表示针对查询106的最好可用查询结果。如所展示及描述,从数据源128获得结果114,使得可称生成器节点126对查询106及经汇编结果108为生成性。如果(假设)在提供经汇编结果108时存取生成器节点129,那么将观察到数据源130不提供当相对于来自数据源 124、128的结果评定等级时被认为值得包括在经汇编结果内的任何结果,使得生成器节点 129将被视为对查询106及经汇编结果108为非生成性。使用此术语,很明显,不返回针对查询106的生成性结果的对生成器节点126、129 的任何存取可被视为资源的浪费及对于用户104的可能不便(例如,由于计算及或存取等待时间),因为所述用户从此种存取得不到换取进行所述存取所需要的努力的益处。举例来说,可出现以下情况数据源124最初生成大量结果,且可难以知道通过存取生成器126、 129是否可改善此些结果;即,将显著地、微小地还是根本不改善所述结果。在微小改善或无改善的后两种情况下,如所描述,存取生成器126、129中的一者或两者可通常形成对资源的不良使用。此外,在此些情景中,甚至在对生成器节点122的存取提供对辅助生成器节点126、129的存取为必要(例如,例如当生成器节点122提供非常少的结果或不提供任何结果时)的强烈指示的情形中,且甚至当此存取的结果为生成性时,仍可观察到当做出/提供所述指示的时间与当实际存取辅助生成器节点126、129且从其获得结果的时间之间的不利等待时间。因此,在图IA的系统100中,生成器节点122具备抢先预测何时可值得对生成器节点126、129进行存取(例如,当此存取可能为生产性且从其获得的生产性结果中的结果包括在经汇编结果108中时)的能力。此外,在图IA中,可在对数据源124的存取之前(及 /或结合对数据源124的存取)由生成器节点122自己做出此些预测。以此方式,生成器节点122、126及/或129进行的查询处理可本质上并行地进行,且此外可更可能从生成器节点126、129提供生成性结果及对架构102内的资源的高效使用。具体来说,如所展示,可使用计算装置132或与计算装置132相关联地执行生成器 122。可了解,计算装置132可为适于执行本文中所描述(例如下文关于图5更详细地描述)的任务的几乎任何计算装置。在图IA中,图解说明查询预处理器134,其经配置以接收查询106且准备查询106 与生成器节点122的对应索引一同使用,从而从数据源124获得结果。换句话说,查询预处理器134输入查询且输出为所述查询的更完全且/或更兼容再现(关于生成器节点122(及相关联索引)及数据源124)的查询表示。此种查询预处理的实例通常在此项技术中为已知且除非对促进对本说明的理解是需要的否则此处不予以详细描述。但一般来说,可了解此种查询预处理可包括对查询106 的分析以获得与其相关联的查询特征集合。仅以非限制性实例的方式,一些此类查询特征可包括(例如)查询的长度(即,字符的数目)、查询中的项的数目、查询的布尔(Boolean) 结构、查询的一个或一个以上项的同义字、具有与查询中的项的语义含义类似的语义含义的字、具有与查询中的项类似的拼写(或误拼写)的字及/或对查询的短语分析。在最后一方面中,此种短语分析可包括(例如)每一短语的长度、在查询内哪些字彼此靠近的分析,且/或可包括在查询106内靠近的两个或两个以上字在其它环境中(例如,一般在因特网上)往往以何种频率呈现为彼此靠近的分析。此种分析可计及可被认为与查询相关的特定主题或标的物(例如,语料库特定知识,尤其是含有可往往包括某些短语或其它字关系的特定类型的结果文档的专门化的语料库)。在其它实例中,此种分析可故意避免对此种语料库特定知识的考虑,且可一般地关于所有可用/合格标的物考虑所述项及其彼此的关系。一般来说,此种查询预处理可产生用户104将获得来自数据源124的所要结果的增加的可能性。举例来说,通过包括查询106的同义字及可能误拼写,生成器节点122可从数据源124获得相对更大的结果集合。接着,当对这些结果进行排序/过滤/评定等级或以其它方式进行处理时,所述结果可比在不包括同义字及误拼写的情况下更可能提供所要的结果。一般来说,在处理时间及/或计算资源有限的情况下,可难以或另外不期望考虑所有这些查询特征或甚至大多数,且(类似地)可期望限制考虑/实施查询特征的程序(例如,可期望限制所包括的同义字的数目)。如所描述,存在关于数据源124的索引以各种方式且以各种程度利用此查询预处理的一般概念的常规系统。在图IA的实例中,生成器节点122不仅使用此种查询预处理的一些或所有结果来存取数据源124的索引,而且进行对查询106的分类,此从而提供(结合存取数据源124)关于是否可有必要或期望存取生成器节点126、129 (此存取对经汇编结果 108将为生成性还是可能为生成性)的预测。接着,使用此种预测,分布器节点120可被更好地通知是否及何时关于查询106存取生成器节点126、129。因此,举例来说,此种存取在发生时更可能为生成性,且当其将不为生成性(且因此将浪费系统资源及/或用户时间)时较不可能发生。此外,对生成器节点126、129的此种存取在开始之前不需要等待对生成器节点122的存取完成,而是可本质上并行地进行, 使得可以高效且时间高效的方式提供经汇编结果108。具体来说,在图IA的实例中,包括分类管理器140,其存取分类数据138以构造模型,查询分类器142可用所述模型来做出关于对生成器节点126、129的存取对查询106的经汇编结果是否将为生成性的上文所提及的预测。举例来说,如下文关于图3及图4详细地描述,分类管理器140可实施机器学习技术,以便构造将由查询分类器142实施的分类模型。一般来说,分类管理器140可通过将在生成器节点122处接收的相对大数目个查询发送到其它生成器节点126、129中的一者或一者以上而操作。接着,监视器136可用以观察并追踪此些查询的结果,且将这些结果报告给分类管理器140。因此,分类数据138可包括(例如)由查询预处理器使用的各种查询特征的类型或性质、在生成器节点122处接收的查询的此些查询特征的实际值及由监视器136关于所存储查询及查询特征(及其值) 从生成器节点126、129中的一者或一者以上追踪的结果。分类管理器140可接着构造将输出到查询分类器142且由查询分类器142使用的分类模型(如下文关于图3及图4所描述)。接着,在查询106实际由生成器节点122接收的稍后时间,查询分类器142可输入来自查询预处理器134的对查询106的预处理以及来自分类管理器140的分类模型,且可使用此信息来做出关于应将查询106发送到生成器节点126、129 (对经汇编结果108可能为生成性)还是不应将查询106发送到生成器节点 126、129(可能为非生成性且因此可能浪费计算资源及用户时间)的预测。在此方面,可了解,如已描述,查询预处理器考虑预界定的查询特征中的一些或全部且相应地处理查询106以通过其来存取数据源124的索引。关于查询分类器142及分类管理器140 (其也使用查询预处理器134的结果),可称查询预处理器134提供查询106的查询表示。也就是说,此种查询表示可被视为查询106的经扩展(或在一些情况下经收缩) 及/或经分析版本(其含有与其相关的数据及元数据),且与所述预界定的查询特征相关。 在一些情况下,由分类管理器140/查询分类器142使用的此种查询表示可为由生成器节点 122的索引用来存取数据源124的相同查询表示。在其它实例中,由分类管理器140/查询分类器142使用的查询表示可为由生成器节点122的索引用来存取数据源124的不同查询表示(例如,可使用查询特征的不同子集及其值来构造分类模型)。特定来说,可随时间更新分类模型以反映架构102及其内容的动态性质,且因此在分类模型的不同实施例中可需要或使用查询特征的不同子集。另一方面,由生成器节点122用来存取数据源124的查询表示可相对静止或改变较慢,且可使用更恒定的查询特征集合。因此,基于来自查询预处理器134的查询表示及来自分类管理器140的分类模型 (及来自监视器136的相关联数据及/或分类数据138),查询分类器142可进行对查询106 的分类,其本质上提供关于将查询106分布到(例如)生成器节点126对经汇编结果108 是否将为生成性的预测。更具体来说,查询分类器142可将此种分类/预测转发到分布器节点120,分布器节点120可接着相应地转发(或不转发)所述查询。在一些实例性实施例中,分布器节点 120可经配置以只是接收所述预测且使用(例如)查询转发器168相应地转发查询106 (或不转发)。在其它实例性实施例中,分布器节点120可经配置以做出关于是否、何时及如何将查询106分布到其它生成器节点的更高级决策。在后一方面中,举例来说,分布器节点120可包括查询解析器166,其经配置以处理来自查询分类器142的预测且做出关于由查询转发器168对查询106的转发的智能决策。举例来说,在一些实例性实施例中,查询分类器142可将对查询的分类提供为关于将查询106转发到生成器节点126是否将为生成性的简单是/否决策。在其它实施例中,查询分类器142可将所述决策提供为一范围内的值,所述范围指示所识别生成器节点是否可能含有生成性结果的相对可能性(其中在一些情况下,所述生成性结果可能性可进一步细分成指示所预测生成性的程度的种类,例如被预测将在经汇编结果108的第一页或其它最高集合内的“高度生成性”查询)。接着,查询解析器166可输入此种信息以及是否、何时及如何分布查询106。举例来说,查询解析器166可对例如网络当前是否拥挤或通过特定查询对特定生成器节点的特定存取成本可如何等因子进行加权。因此,查询解析器166可(例如)本质上使用存取给定生成器节点(与从其获得的结果的有用性的所预测可能性及程度比较)的已知/所预测成本执行成本效益分析。在图IA中,各种组件被图解说明为离散/单独位置(例如,不同地理位置及/或不同网络位置)处的离散元件。举例来说,如刚刚所论述,查询解析器166被图解说明为与分布器节点120共同定位,因为分布器节点120可相对好地定位以被通知当前网络条件或与架构102相关的其它状态信息,且/或可被通知关于在架构102的分级内在其下面的所有生成器节点122、126、129。因此,查询解析器166可处于一位置中以做出关于是否、何时及如何转发查询106的所描述决策。类似地,查询预处理器134及查询分类器142被图解说明为包含于生成器节点122的单个计算装置132内。然而,在各种实际实施方案中,图IA的许多变化形式是可能的。特定来说,例如当查询预处理器134在单独的(例如,上游)装置中执行一些或全部预处理功能时,各种所描述功能性可每一者在单个组件/装置中执行,或可以分布式方式(例如,使用多个装置)来执行。相反,被图解说明为位于多个装置/元件上的功能性可实际上在单个装置(例如,查询解析器166)上执行,或其至少一些功能可在被图解说明为与生成器节点122相关联的计算装置132上执行。然而,为清晰及简洁起见,本身在此项技术中为已知的某些元件(例如, 例如分布器节点120的用于将来自两个或两个以上生成器节点122、126、128的结果汇编成经汇编结果108的汇编器)未在图IA中明确图解说明。因此,所属领域的技术人员将显而易见使用此些已知组件连同所图解说明组件中的一些或全部(及其变化形式)的系统100 的另外其它实施方案。图IB是图解说明图IA的系统的实例性操作的流程图100。如所展示,出于清晰及理解的目的,用图IA中的对应参考编号来相同地图解说明及标记流程图100的操作。因此,在图IA及图IB中,(例如)在分布器节点118处从用户104接收查询 106(144)。分布器节点118将查询106转发到分布器120(146),分布器120又将查询106 转发到生成器节点122(148)。特定来说,如上文所描述,针对本文中的实例假设在架构102 内分布器120知道生成器节点122被视为含有针对查询106的最多存取、最期望、最容易存取、最小且/或最新鲜的结果。因此,可首先且立即将所有此些查询传递到生成器节点122。在接收到其后,生成器节点122可即刻开始(例如)使用查询预处理器134对查询106进行预处理(149、150)。也就是说,如所描述,查询预处理器134可分析与查询106 及查询预处理器134相关联的查询特征以获得供在存取数据源124的索引中使用的查询表示(149)。同时及/或作为同一处理的部分,查询预处理器134可分析查询特征且输出相同或不同查询表示,所述查询表示由查询分类器142结合分类数据138及分类管理器140的分类模型使用以提供查询分类(150)。接着,生成器节点122将所述查询分类转发到分布器节点120 (151),从而提供关于存取其它生成器节点126、129中的一者或一者以上的生成性的可能性的预测。从此说明可观察到,生成器节点122(例如,查询分类器142)经配置以在对查询 106的预处理(以存取数据源124的索引)之前及/或结合对查询106的预处理且在关于数据源124实际解析查询106(152)之前将对查询分类的预测发送到分布器节点120。换句话说,如所展示,此查询解析(152)可本质上与分布器节点120将查询106转发到生成器节点126、129的操作并行地进行。因此,可观察到,分布器节点120不需要等待从数据源124 获得的实际结果而关于查询106做出转发决策,使得(例如)可针对查询106改善架构102 的响应时间连同经汇编结果108的质量。此外在图IB中,接着,生成器节点122可根据数据源124完成对查询106的解析 (152)且将其结果提供到分布器节点120(154)。如刚刚所描述,这些操作可与查询106到生成器节点126的转发(156)及生成器节点126根据数据源128对查询106的随后解析 (158)(自然地后跟生成器126将数据源128的结果转发到分布器120(160))并行(例如,
可重叠)。
一旦从图IB的实例的至少两个生成器节点122、126接收到结果,那么分布器 120可将所述结果合并成经汇编结果108以转发到分布器118(162)且最终转发到用户 104(164)。在图IB中,给出其中查询分类器142关于生成器节点126的生成性输出肯定预测 (如查询106到生成器节点126的随后转发所示)的实例。展示所述预测为正确的,因为经汇编结果108实际上确实在来自数据源124的结果110、112、116内包括来自数据源128的结果114。在其它实例中,当然,所述预测可为否定的(例如,其它生成器节点可不提供任何生成性结果的强烈预期)。在此些情况下,分布器节点120可配置有不将查询106转发到生成器节点122以外的默认行为,除非肯定地被提供以关于至少一个其它生成器节点的预期生成性的至少一名义上肯定的预测,在此情况下,查询分类器142可不需要将任何分类/预测转发到分布器节点120。在其它实例中,可如在图IA中出现以下情况存在可将查询106转发到的若干个可能的其它生成器节点126、129。在此情形中,查询分类器142可将查询106分类为被预测为仅可用生成器节点中的一些可用生成器节点产出生成性结果(例如,被预测为从生成器节点126但不从生成器节点129产出生成性结果)。在此情况下及类似情形中,生成器节点 122可将查询分类连同对至少一个其它生成器节点作为将查询106转发到的目标节点的识别一起转发。换句话说,例如,分类管理器140及监视器136且因此查询分类器142可基于对不同可用、相关生成器节点126、129的独立分析来执行相应功能,使得所得分类/预测可关于不同可用生成器节点对于相同查询106而不同。图2是图解说明图IA的生成器节点122的实例性操作的流程图200。在图2中, 图解说明将实例性操作提供为一系列离散线性操作的操作202、204、206。然而,可了解,所述实例性操作实际上可重叠及/或部分并行地进行,或可以不同于图2中所图解说明的次序而发生(在本文中不另外需要特定次序的情况下)。此外,可包括图2中未明确图解说明的额外或替代操作。在图2中,那么,所述操作包括在生成器节点处从分级树形处理架构内的至少一个分布器节点接收(202)查询,所述架构包括经配置以在所述架构内分布查询的所述至少一个分布器节点,包括分布到所述生成器节点及至少一个其它生成器节点,所述分布器节点进一步经配置以接收来自所述生成器节点的结果及来自所述至少一个其它生成器节点的结果且从其输出经汇编结果。举例来说,如关于图IA及图IB详细地描述,可在生成器节点122处从架构102的分布器节点120接收查询106,其中分布器节点120经配置以在架构102内分布查询(包括分布到生成器节点122、126、129,如所展示),且接收来自这些生成器节点中的至少两者的结果且从其提供经汇编结果108。所述操作可进一步包括预处理(204)从所述分布器节点接收的查询以使用与搜索与所述生成器节点相关联的生成器索引兼容的查询特征来获得查询表示,从而获得来自所述生成器节点的结果。举例来说,查询预处理器134可相对于特定查询106内的此些特征的实际值使用如上文所描述的某些查询特征,以准备查询106用于根据数据源124的索引进行处理。同时,查询预处理器134可使用相同查询特征(例如,其相同或不同子集)来构造查询表示,其因此可为用以存取数据源124的索引的相同或不同查询表示。
最后在图2中,操作可包括使用所述查询表示将所述查询分类(206),从而基于其输出关于由所述至少一个其它生成器节点对所述查询的处理是否将致使所述至少一个其它生成器节点的结果包括在所述经汇编结果内的预测。举例来说,所述查询分类器142可经配置以输入所述查询表示连同查询106的特定相关联值,且输入来自分类管理器140及监视器136的分类模型以及对应分类数据138,且从而输出充当到分布器节点120的预测的查询106的分类。如所描述,所述预测提供关于查询106在被转发到至少一个其它生成器节点126的情况下将提供生成性结果的可能性及/或程度的指示。因此,图2图解说明生成器节点122的一些实例性基本操作。如已描述,许多额外或替代变化形式是可能的。举例来说,可了解,架构102可比图IA中所示显著更大且/或更复杂。举例来说,额外生成器节点可与分布器节点118、120连通,且/或可包括比此(些) 实例中所图解说明更多的分布器节点。此外,在图IA中,仅生成器节点122被图解说明为包括本文中所描述的查询分类 /预测功能性。然而,可出现以下情况架构102的生成器节点中的两者或两者以上可包括此功能性的部分或全部或其变化形式。此些特征可提供益处,因为(举例来说)每一生成器节点可具有讨论中的生成器节点可容易地获得但架构102的其它元件(分布器节点或生成器节点)将较难以获得或获得成本较高的本地可用的信息。在其它实例中,可在架构102 的不同部分内实施不同分类模型,以便提供最为定制且优化的预测。图3是图解说明图IA的系统的分类管理器140的额外实例性操作的流程图300。 更具体来说,在图3中,分类管理器140被图解说明为执行监督机器学习(SML)技术,其通常表示根据外部实例推理以生成一般假设的方式,例如,从查询到生成器节点126、129的过去分布推理以获得关于分布到生成器节点126、129的当前或未来查询对经汇编结果108 是否将为生成性的一般预测。在图3中,确定查询特征(302)。举例来说,分类管理器140可与查询预处理器且 /或与分类数据138连通以识别由查询预处理器134使用的所有可能查询特征(其可对构造分类模型有用)。接着,针对这些查询特征,可确定值(304)。举例来说,监视器136可将查询集合 (例如,1000个查询)发送(或触发其被发送)到生成器节点126 (及/或生成器节点129)。 接着,可通过监视器136追踪并测量这些查询的来自数据源128(及/或数据源130)的结果,且可将所述查询特征的值存储(例如)于分类数据138中。举例来说,如果查询特征包括查询中的若干个项,那么监视器136可确定查询的项的实际计数作为所述查询特征的值。类似地,如果查询特征包括被指派给某些短语或其它查询结构的得分,那么可获得并存储每一查询的此些得分的实际值。接着,可界定训练数据集合(306)。举例来说,分类管理器140可选择查询特征及对应值的子集以及针对查询/查询特征的从生成器节点126、129获得的对应查询结果。可了解,可在操作300的不同迭代期间选择查询特征及查询值的不同子集,以与对应查询结果相关。在一些情况下,可使用相对少数目个查询特征/值,此具有计算及追踪起来轻量且容易的优点。在其它情况下,可使用较大数目,且其可提供更准确或全面的分类结果。可选择分类算法(308)。存在若干个此类分类算法且此处可视需要进行选择。如所描述,分类算法(及所得分类模型)的成功或效用的准则是此种算法/模型是否实际上成功地预测将查询106传递到生成器节点126、129对经汇编结果108是否将为生成性。然而,可存在额外或替代准则。举例来说,如下文更详细地描述,将了解,分类管理器140且最终查询分类器142 能够犯错,例如,预测不准确。也就是说,查询分类器142可(举例来说)在将查询106发送到生成器节点126实际上对经汇编结果108并非为生成性时预测应将查询106发送到生成器节点126。另一方面,查询分类器142可(举例来说)在将查询106发送到生成器节点 126将对经汇编结果108为生成性时预测不应将查询106发送到生成器节点126。在前一种情况下,发送查询106而仅获得非生成性结果的错误的成本为徒劳地用来不必要地与生成器节点126通信的网络资源的损失,此类似于现有系统(除延迟较少以外,因为在生成器节点122、126处并行地处理查询106,如所描述)。另一方面,在将获得生成性结果时不发送查询106的错误可能问题更大。此种错误在本文中称作损失,且导致用户丧失原本已提供给用户的有用结果。因此,可选择尝试最大化生成性查询的发送同时最小化损失的查询/结果的分类算法。同样,此些分类算法的实例通常为众所周知的且因此此处不予以详细论述。此些实例可包括(例如)决策树算法,其中基于查询特征值对查询结果进行排序的,使得决策树的节点表示正在分类的查询结果中的特征,且树的分支表示所述节点可假设的值。接着,可通过从根节点开始穿过所述决策树而遍历所述树且使用其相应值对节点进行排序来将结果分类。可接着(例如)通过针对从根节点到对应叶节点的每一路径形成规则来将决策树转变成分类规则集合(其可最终形成分类模型)。存在其它分类算法,且知道用于从其产生结果的其它技术。举例来说,可使用单层或多层感知技术以及神经网络、统计学习算法(例如,贝叶斯(Bayesian)网络)、基于实例的学习及/或支持向量机。同样,可选择并测试这些或其它算法中的一者或一者以上,且最终基于其成功地预测生成性结果及/或其成功地避免损失的结果来实施。一旦选择了分类算法,可评估对应的训练数据集合(310)。举例来说,分类管理器 140可经配置以使用查询特征、查询值及对应的查询结果的选定训练数据集合(子集)来实施分类算法。举例来说,第一训练数据集合可对应于查询关于生成器节点1226的结果且第二训练数据集合可对应于查询关于生成器节点129的结果。此外,可在过程300的不同迭代中针对每一生成器节点测试不同的训练集合。如果结果令人满意(312),那么其可公式化为分类模型且传递到查询分类器142, 如所展示,以供在评估当前及未来查询中使用。否则,如所展示,可选择并变化操作302到 310中的任一者,以便重新运行流程图300的操作,从而获得令人满意的结果(312)。如上文所提及,可在初始时间点处执行操作300以公式化初始分类模型。接着,查询分类器142可相应地在一时间周期内实施所述分类模型。然而,随着时间可出现以下情况所述分类模型变得过时且对分类传入查询较不有效。为避免此情形,监视器136可周期性地触发生成器节点126、129且接着测试来自其的结果且/或相应地更新所述分类模型。也就是说,举例来说,监视器136可将查询发送到生成器节点126,而不管查询分类器是否预测来自其的生成性结果。接着,分类管理器 140可将所述结果与所预测结果进行比较以确定所述分类模型仍是令人满意的还是需要更新。
图4A到图4C是图解说明用以构造分类模型的分类数据的表格。在图4A中,假设考虑两个特征(例如,如查询预处理器134所确定)查询特征I 402及查询特征2 404。 图解说明存在第三查询特征(查询特征3 406),但不针对正在测试的特定训练数据集合进行考虑。如所展示,查询特征402可具有值A或B,而查询特征404可具有值C或D。接着,可将总共1000个查询发送到(例如)生成器节点126。在此情况下,列408、 410追踪这样做的结果。举例来说,可将所述1000个查询中的第一查询发送到生成器节点 126且如果获得生成性结果那么在列408内将所述结果计数一次,从而指示应(应已)发送所述查询。另一方面,如果发送具有查询特征AC的第二查询且得到非生成性结果,那么在列410内将所述结果计数一次,从而指示应(应已)丢弃所述查询。所述1000个查询的发送因此可继续且可相应地追踪结果直到填满列408、410。接着,可进行关于将对新接收的查询采取的未来动作的决策。举例来说,对于查询特征组合(查询表示)AC,观察到87个结果指示发送,而45个结果指示丢弃。因此,可做出应发送具有特征AC的未来查询的决策,如列412中所示。类似地,对于查询特征BD,92个“应发送”结果及28个“应丢弃”结果指示应发送此些查询的未来实例。相反,对于查询特征AD,20个“应发送”结果及198个“应丢弃”结果指示应丢弃此些查询的未来实例。在具有特征BC的查询的情况下,224个查询被指示为“应发送”,而307个被指示为“应丢弃”。因此,可不明了应针对未来查询采取哪一动作。在图4B中的进一步分析中,发送具有特征BC的1000个查询,且在列414中观察到如果全部发送此些查询,那么实际上应已发送403个(因为获得生成性结果),而在列416 中观察到当发送此些查询时,实际上应已丢弃380个。相反,当被丢弃时,列414指示应已发送的20个查询及应已丢弃的198个查询。因此,应已发送但未发送的20个查询表示不给用户104生成性结果的损失的查询。另一方面,198个查询表示被丢弃且应已丢弃(即,无论如何将不产出生成性结果)的查询,且因此表示网络业务及资源的节省。因此,损失2%的生成性查询,以便节省19.8% 的网络业务类似分析应用于图4C,其中设想丢弃具有查询特征BC的1000个查询的影响的结果。在那里,可从列418、420观察到丢弃且因此损失为生成性的244个结果(24.4%),而正确地丢弃505个结果(50. 5% )(且节约对应量的网络业务)。图5是图IA的系统可在其中操作的实例性计算环境的框图。更具体来说,图5是展示可用以实施图IA的系统的实例性或代表性计算装置及相关联元件的框图。具体来说,图5展示一般计算机装置500及一般移动计算机装置550的实例,其可与此处所描述的技术一同使用。计算装置500既定表示各种形式的数字计算机,例如膝上型计算机、桌上型计算机、工作站、个人数字助理、服务器、刀片服务器、主机及其它适当计算机。计算装置550既定表示各种形式的移动装置,例如个人数字助理、蜂窝式电话、智能电话及其它类似计算装置。此处展示的组件、其连接及关系以及其功能打算仅作为示范性, 且不打算限制本文档中所描述及/或请求的本发明实施方案。计算装置500包括处理器502、存储器504、存储装置506、连接到存储器504及高速扩充端口 510的高速接口 508以及连接到低速总线514及存储装置506的低速接口 512。组件502、504、506、508、510及512中的每一者使用各种总线互连,且可安装在共用母板上或以其它适当方式安装。处理器502可处理用于在计算装置500内执行的指令,包括存储于存储器504中或存储装置506上的指令以针对外部输入/输出装置(例如,耦合到高速接口 508的显示器516)上的⑶I显示图形信息。在其它实施方案中,如果适当,可使用多个处理器及/或多个总线连同多个存储器及存储器类型。同样,可连接多个计算装置500, 其中每一装置提供必要操作的部分(例如,作为服务器库、刀片服务器群组或多处理器系统)。存储器504在计算装置500内存储信息。在一个实施方案中,存储器504为一或多个易失性存储器单元。在另一实施方案中,存储器504为一或多个非易失性存储器单元。 存储器504也可为另一形式的计算机可读媒体,例如磁盘或光盘。存储装置506能够为计算装置500提供大容量存储。在一个实施方案中,存储装置506可为或含有计算机可读媒体,例如软磁盘装置、硬磁盘装置、光盘装置或磁带装置、 快闪存储器或其它类似固态存储器装置或装置阵列,包括存储区域网络或其它配置中的装置。计算机程序产品可有形地体现于信息载体中。所述计算机程序产品还可含有在被执行时执行一个或一个以上方法(例如上文所描述的那些方法)的指令。所述信息载体为计算机可读媒体或机器可读媒体,例如存储器504、存储装置506或处理器502上的存储器。高速控制器508管理计算装置500的带宽密集型操作,而低速控制器512管理较低带宽密集型操作。此种功能分配仅为示范性。在一个实施方案中,高速控制器508耦合到存储器504、显示器516 (例如,经由图形处理器或加速器)且耦合到可接受各种扩充卡 (未展示)的高速扩充端口 510。在所述实施方案中,低速控制器512耦合到存储装置506 及低速扩充端口 514。可包括各种通信端口(例如,USB、蓝牙、乙太网、无线乙太网)的低速扩充端口可(例如,经由网络适配器)耦合到一个或一个以上输入/输出装置,例如键盘、 指向装置、扫描仪或联网装置,例如交换机或路由器。如图中所示,可以若干种不同形式来实施计算装置500。举例来说,可将其实施为标准服务器520或在此类服务器的群组中多次实施。也可将其实施为机架式服务器系统 524的部分。另外,可将其实施于个人计算器中,例如膝上型计算机522。或者,可将来自计算装置500的组件与移动装置(未展示)(例如,装置550)中的其它组件组合。此类装置中的每一者可含有计算装置500、550中的一者或一者以上,且整个系统可由彼此通信的多个计算装置500、550组成。计算装置550包括处理器552、存储器564、例如显示器554等输入/输出装置、通信接口 566及收发器568以及其它组件。装置550还可具备用以提供额外存储的存储装置, 例如微驱动器或其它装置。组件550、552、564、554、566及568中的每一者使用各种总线互连,且所述组件中的数个组件可安装在共用母板上或以其它适当方式安装。处理器552可在计算装置550内执行指令,包括存储器564中所存储的指令。可将所述处理器实施为包括单独及多个模拟与数字处理器的芯片的芯片集。所述处理器可提供(举例来说)对装置550的其它组件的协调,例如对用户接口、装置550所运行的应用程序及装置550所进行的无线通信的控制。处理器552可经由耦合到显示器554的控制接口 558及显示器接口 556与用户通信。显示器554可以是(举例来说)TFT IXD (薄膜晶体管液晶显示器)或OLED (有机发光二极管)显示器或其它适当显示器技术。显示器接口 556可包含用于驱动显示器554以向用户呈现图形及其它信息的适当电路。控制接口 558可从用户接收命令且对其进行转换以用于提交给处理器552。另外,可提供与处理器552通信的外部接口 562,以便实现装置550 与其它装置的邻近区域通信。外部接口 562在一些实施方案中可提供(举例来说)有线通信,或在其它实施方案中提供无线通信,且也可使用多个接口。存储器564在计算装置550内存储信息。存储器564可实施为一或多个计算机可读媒体、一或多个易失性存储器单元或一或多个非易失性存储器单元中的一者或一者以上。还可提供扩充存储器574并经由扩充接口 572 (举例来说,其可包括SIMM(单列直插式存储器模块)卡接口)将其连接到装置550。此种扩充存储器574可提供用于装置550的额外存储空间,或也可存储装置550的应用程序或其它信息。具体来说,扩充存储器574可包括用以实施或补充上文所描述的过程的指令,且还可包括安全信息。因此,举例来说,扩充存储器574可提供为装置550的安全模块,且可以准许安全使用装置550的指令编程。另外,可经由SIMM卡提供安全应用程序连同额外信息,例如以不可篡改的方式将识别信息置于SMM卡上。举例来说,所述存储器可包括(举例来说)快闪存储器及/或NVRAM存储器,如下文所论述。在一个实施方案中,计算机程序产品有形地体现于信息载体中。所述计算机程序产品含有在被执行时执行一个或一个以上方法(例如上文所描述的那些方法)的指令。 所述信息载体为计算机可读媒体或机器可读媒体,例如存储器564、扩充存储器574或处理器552上的存储器,其可(举例来说)经由收发器568或外部接口 562接纳。装置550可经由通信接口 566以无线方式通信,所述通信接口必要时可包括数字信号处理电路。通信接口 566可提供各种模式或协议下的通信,例如GSM话音呼叫、SMS、 EMS或MMS消息收发、CDMA、TDMA, PDC、WCDMA, CDMA2000或GPRS以及其它模式或协议。此种通信可(举例来说)经由射频收发器568发生。另外,短程通信可(例如)使用蓝牙、 WiFi或其它此种收发器(未展示)发生。另外,GPS (全球定位系统)接收器模块570可向装置550提供额外导航相关及位置相关无线数据,所述数据可由在装置550上运行的应用程序适当地使用。装置550还可使用音频编解码器560以可听方式通信,所述音频编解码器可接收来自用户的口说信息并将其转换为可用数字信息。音频编解码器560同样可(例如)经由 (例如)装置550的听筒中的扬声器产生用户可听的声音。此种声音可包括来自话音电话呼叫的声音,可包括所记录的声音(例如,话音消息、音乐文件等)且还可包括在装置550 上操作的应用程序所产生的声音。如图中所示,可以若干种不同形式来实施计算装置550。举例来说,可将其实施为蜂窝式电话580。也可将其实施为智能电话582、个人数字助理或其它类似移动装置的部分。此处所描述的系统及技术的各种实施方案可在数字电子电路、集成电路、特别设计的ASIC(专用集成电路)、计算机硬件、固件、软件及/或其组合中实现。这些各种实施方案可包括呈一个或一个以上计算机程序形式的实施方案,所述计算机程序可在可编程系统上执行及/或翻译,所述可编程系统包括至少一个可编程处理器、至少一个输入装置及至少一个输出装置,所述可编程处理器可以是专用或通用处理器,其经耦合以从存储系统接收数据及指令及将数据及指令传输到存储系统。这些计算机程序(也称作程序、软件、软件应用程序或代码)包括用于可编程处理器的机器指令,且可以高级程序及/或面向对象的编程语言及/或以汇编/机器语言来实施。如本文中所使用,术语“机器可读媒体”、“计算机可读媒体”是指用以向可编程处理器提供机器指令及/或数据的任何计算机程序产品、设备及/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括接收作为机器可读信号的机器指令的机器可读媒体。术语 “机器可读信号”是指用以向可编程处理器提供机器指令及/或数据的任何信号。为提供与用户的交互,可在以下计算机上实施此处所描述的系统及技术具有用于向用户显示信息的显示器装置(例如,CRT (阴极射线管)或LCD (液晶显示器)监视器) 及用户可通过其向计算机提供输入的键盘及指向装置(例如,鼠标或轨迹球)。其它种类的装置也可用以提供与用户的交互;举例来说,提供给用户的反馈可为任何形式的传感反馈(例如,视觉反馈、听觉反馈或触觉反馈);且可以任何形式接收来自用户的输入,包括声音、语音或触觉输入。可在计算系统中实施此处所描述的系统及技术,所述计算系统包括后端组件(例如,作为数据服务器)或包括中间件组件(例如,应用服务器)或包括前端组件(例如,具有图形用户接口的客户端计算机或用户可经由其来与此处所描述的系统及技术的实施方案交互的Web浏览器)或此类后端、中间件或前端组件的任一组合。系统的组件可通过任何数字数据通信形式或媒体(例如,通信网络)互连。通信网络的实例包括局域网(“LAN”)、 广域网(“WAN”)及因特网。所述计算系统可包括客户端及服务器。客户端与服务器通常彼此远离且通常经由通信网络来交互。客户端与服务器之间的关系借助于在相应计算机上运行且彼此之间具有客户端-服务器关系的计算机程序而产生。另外,图中所描绘的任何逻辑流程不要求所展示的特定次序或顺序次序来实现所期望结果。另外,可提供其它步骤,或可从所描述的流程中消除步骤,且可向所描述的系统添加其它组件或从所描述的系统移除其它组件。因此,其它实施例归属于以上权利要求书的范围内。将了解,以特定细节描述的以上实施例仅为实例性或可能实施例,且存在可包括在内的许多其它组合、添加或替代形式。同样,组件的特定命名、术语的大写、属性、数据结构或任何其它编程或结构方面均不是强制性或具有特殊意义的,且实施本发明或其特征的机构可具有不同的名称、格式或协议。此外,系统可如所描述经由硬件与软件的组合来实施,或完全在硬件元件中实施。 同样,本文中所描述的各种系统组件之间的功能性的特定划分仅仅为示范性,且并非为强制性;由单个系统组件执行的功能可改为由多个组件来执行,且由多个组件执行的功能可改为由单个组件来执行。以上说明的一些部分呈现关于信息的操作的算法及符号表示方面的特征。这些算法说明及表示可由数据处理领域的技术人员用来向所属领域的其它技术人员最有效地传达其工作实质。尽管这些操作是从功能上或逻辑上进行描述的,但应将所述操作理解为由计算机程序来实施。此外,还已证明有时将操作的这些布置称作模块或通过功能名称指代这些布置比较便利,不会丧失通用性。
除非根据上文论述显而易见地另有具体规定,否则应了解,在本说明的通篇中,利用例如“处理”或“计算(computing) ”或“计算(calculating) ”或“确定”或“显示”或“提供”等术语的论述是指计算机系统或类似电子计算装置的动作及过程,所述计算机系统或类似电子计算装置操纵并变换表示为计算机系统存储器或寄存器或其它此种信息存储装置、传输或显示器装置内的物理(电子)量的数据。本文中以算法的形式描述某些方面的操作及指令。应注意,所述过程操作及指令可体现于软件、固件或硬件中,且当体现于软件中时,可下载以驻存于由实时网络操作系统使用的不同平台上且从由实时网络操作系统使用的不同平台操作。用于执行本文中的操作的设备可特别针对所需目的进行构造,或其可包含通用计算机,其由可由计算机存取且将所述通用计算机再现为经设计以执行所描述的操作或类似操作的专用计算机的存储于计算机可读媒体上的计算机程序选择性地激活或重新配置。 此种计算机程序可存储于计算机可读存储媒体中,例如但不限于任何类型的磁盘,包括软磁盘、光学盘、CD-ROM、磁性-光学盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、 EEPR0M、磁性或光学卡、专用集成电路(ASIC)或适于存储电子指令的任何类型的媒体,且每一者耦合到计算机系统总线。此外,在本说明书中所提及的计算机可包括单个处理器或可为采用多个处理器设计以获得增加的计算能力的架构。实施方案可实施于计算系统中,所述计算系统包括后端组件(例如,作为数据服务器)或包括中间件组件(例如,应用服务器)或包括前端组件(例如,具有用户可经由其来与实施方案交互的图形用户接口或Web浏览器的客户端计算机)或此类后端、中间件或前端组件的任一组合。组件可通过任何数字数据通信形式或媒体(例如,通信网络)互连。 通信网络的实例包括局域网(LAN)及广域网(WAN)(例如,因特网)。本文中所呈现的算法及操作并非固有地与任何特定计算机或其它设备相关。各种通用系统也可与根据本文中的教示的程序一同使用,或可证明构造更专门化的设备来执行所描述的操作或类似操作是便利的。所属领域的技术人员将明了各种各样的这些系统的结构以及等效变化形式。另外,不参考任何特定编程语言来描述本说明。应了解,各种编程语言可用以实施本说明的教示,且提供对特定语言的任何明确或含蓄参考作为实例。虽然已如本文中所描述图解说明了所描述实施方案的某些特征,但所属领域的技术人员现在将能想出许多修改、替代、改变及等效形式。因此,应理解,所附权利要求书既定涵盖归属于所述实施例的范围内的所有此类修改及改变。
权利要求
1.一种计算机系统(100),其包括存储于计算机可读媒体上的指令,所述计算机系统包含分级树形处理架构(10 的生成器节点(122),所述架构包括经配置以在所述架构内分布查询(106)的至少一个分布器节点(120),包括分布到所述生成器节点(12 及预界定生成器节点(122、126、129)子集内的至少一个其它生成器节点(1沈、1 ),所述分布器节点(120)进一步经配置以接收来自所述生成器节点(122)的结果及来自所述至少一个其它生成器节点(126、129)的结果且从其输出经汇编结果(108),所述生成器节点(12 包括查询预处理器(134),其经配置以处理从所述分布器节点(120)接收的查询(106)以使用与搜索与所述生成器节点(12 相关联的生成器索引兼容的查询特征002到406)来获得查询表示,从而获得来自所述生成器节点(12 的所述结果;及查询分类器(142),其经配置以输入所述查询表示且基于其来输出关于由所述预界定生成器节点(122、126、129)子集内的所述至少一个其它生成器节点(126、129)对所述查询的处理是否将致使所述至少一个其它生成器节点(126、129)的结果包括在所述经汇编结果(108)内的预测。
2.根据权利要求1所述的系统(100),其中所述查询分类器(142)经配置以结合获得所述查询表示且在生成来自所述生成器节点(12 的所述结果之前将所述预测提供到所述分布器节点(120),使得所述生成器节点(12 及所述至少一个其它生成器节点(126、 129)并行地将其相应结果提供到所述分布器节点(120)。
3.根据前述权利要求中任一权利要求所述的系统(100),其中所述查询分类器(142) 经配置以从所述架构内的多个其它生成器节点(126、129)确定所述至少一个其它生成器节点(1 ),且将所述至少一个其它生成器节点(126)识别为应将所述查询转发到的目标节点。
4.根据前述权利要求中任一权利要求所述的系统(100),其中所述查询分类器(142) 经配置以输入与所述查询表示相关联的至少两个查询特征G02到406)且基于其来计算所述预测。
5.根据权利要求4所述的系统(100),其中所述查询分类器(14 经配置以从与所述查询表示相关联的查询特征G02到406)集合选择所述至少两个查询特征002到406)。
6.根据权利要求4所述的系统(100),其中所述至少两个查询特征002到406)中的至少一者包括所述查询(106)内的项的项计数。
7.根据前述权利要求中任一权利要求所述的系统(100),其中所述查询分类器(142) 经配置以提供所述预测,所述预测包括在表示所述至少一个其它生成器节点(126、129)可能包括在所述经汇编结果内的程度的范围内的值。
8.根据前述权利要求中任一权利要求所述的系统(100),其中所述查询分类器(142) 经配置以提供所述预测,所述预测包括在表示所述至少一个其它生成器(126)应处理所述查询以供在提供来自所述至少一个其它生成器节点(126)的所述结果时使用的程度的范围内的值。
9.根据前述权利要求中任一权利要求所述的系统(100),其中所述生成器节点(122) 包含分类管理器(140),所述分类管理器(140)经配置以输入包括与所述查询表示相关联的查询特征、来自所述至少一个其它生成器节点(126)的结果及多个机器学习算法中的一者的分类数据(138),且经配置以基于其来构造用于输出到所述查询分类器(142)的分类模型以供在输出所述预测时使用。
10.根据权利要求9所述的系统(100),其中所述分类管理器(140)经配置以追踪来自所述至少一个其它节点(126)的所述结果且用其来更新所述分类数据及所述分类模型。
11.根据权利要求9所述的系统(100),其中所述生成器节点(12 包含监视器(136), 所述监视器(136)经配置以不管是否由所述查询分类器(14 指示而触发所述分布器节点 (120)以周期性地将所述查询的子集发送到所述至少一个其它生成器节点(1 ),且基于其来更新所述分类数据。
12.根据前述权利要求中任一权利要求所述的系统(100),其中来自所述生成器节点 (122)的所述结果是从与使用所述生成器索引的所述生成器节点(12 相关联的数据源 (124)获得的,且来自所述至少一个其它生成器节点(126)的所述结果是从与使用对应索引的所述至少一个其它生成器节点(126)相关联的数据源(128)获得的,且其中所述至少一个其它生成器节点(126)在与所述生成器节点(124)相比时存取成本效率较差。
13.一种计算机实施的方法000),其中至少一个处理器实施至少以下操作,所述方法包含在生成器节点(12 处从分级树形处理架构(10 内的至少一个分布器节点(120)接收(20 查询(106),所述架构包括经配置以在所述架构(10 内分布查询的所述至少一个分布器节点(120),包括分布到所述生成器节点(12 及至少一个其它生成器节点(1 ), 所述分布器节点(120)进一步经配置以接收来自所述生成器节点(12 的结果及来自所述至少一个其它生成器节点(126)的结果且从其输出经汇编结果(108);预处理(204)从所述分布器节点(120)接收的所述查询(106)以使用与搜索与所述生成器节点(12 相关联的生成器索引兼容的查询特征G02到406)来获得查询表示,从而获得来自所述生成器节点(12 的所述结果;及使用所述查询表示将所述查询分类006),从而基于其来输出关于由所述至少一个其它生成器节点(126)对所述查询的处理是否将致使所述至少一个其它生成器节点的结果包括在所述经汇编结果(108)内的预测。
14.根据权利要求13所述的方法000),其中所述将所述查询分类(206)包含 结合获得所述查询表示且在生成来自所述生成器节点(12 的所述结果之前将所述预测提供到所述分布器节点(120),使得所述生成器节点(12 及所述至少一个其它生成器节点(126)并行地将其相应结果提供到所述分布器节点(120)。
15.根据权利要求13或14所述的方法O00),其中所述将所述查询分类(206)包含 输入包括与所述查询表示相关联的查询特征、来自所述至少一个其它生成器节点(126)的结果及多个机器学习算法中的一者的分类数据(138);及基于其来构造分类模型以供在输出所述预测时使用。
16.根据权利要求15所述的方法O00),其中所述将所述查询分类(206)包含 不管是否由所述预测指示而触发所述分布器节点(120)以周期性地将所述查询的子集发送到所述至少一个其它生成器节点(1 ),且基于其来更新所述分类数据。
17.一种计算机程序产品,所述计算机程序产品有形地体现于计算机可读媒体上且包括在被执行时经配置以致使数据处理设备进行以下操作的可执行代码在生成器节点(12 处从分级树形处理架构(10 内的至少一个分布器节点(120)接收(20 查询(106),所述架构包括经配置以在所述架构(10 内分布查询的所述至少一个分布器节点(120),包括分布到所述生成器节点(12 及至少一个其它生成器节点(1 ), 所述分布器节点(120)进一步经配置以接收来自所述生成器节点(12 的结果及来自所述至少一个其它生成器节点(126)的结果且从其输出经汇编结果(108);预处理(204)从所述分布器节点(120)接收的所述查询(106)以使用与搜索与所述生成器节点(12 相关联的生成器索引兼容的查询特征G02到406)来获得查询表示,从而获得来自所述生成器节点(12 的所述结果;及使用所述查询表示将所述查询分类006),从而基于其来输出关于由所述至少一个其它生成器节点(126)对所述查询的处理是否将致使所述至少一个其它生成器节点的结果包括在所述经汇编结果(108)内的预测。
18.根据权利要求17所述的计算机程序产品,其中在将所述查询分类(206)时,经执行指令致使所述数据处理设备结合获得所述查询表示且在生成来自所述生成器节点(12 的所述结果之前将所述预测提供到所述分布器节点(120),使得所述生成器节点(12 及所述至少一个其它生成器节点(126)并行地将其相应结果提供到所述分布器节点(120)。
19.根据权利要求17或18所述的计算机程序产品,其中在将所述查询分类Q06)时, 所述经执行指令致使所述数据处理设备输入包括与所述查询表示相关联的查询特征、来自所述至少一个其它生成器节点 (126)的结果及多个机器学习算法中的一者的分类数据(138);且基于其来构造分类模型以供在输出所述预测时使用。
20.根据权利要求19所述的计算机程序产品,其中在将所述查询分类时,所述经执行指令致使所述数据处理设备不管是否由所述预测指示而触发所述分布器节点(120)以周期性地将所述查询的子集发送到所述至少一个其它生成器节点;且基于其来更新所述分类数据(138)。
全文摘要
生成器节点(122)可包括在分级树形处理架构(102)中,所述架构包括经配置以在所述架构(102)内分布查询(106)的至少一个分布器节点(120),包括分布到所述生成器节点(122)及预界定生成器节点(122、126、129)子集内的至少一个其它生成器节点(126)。所述分布器节点(120)可进一步经配置以接收来自所述生成器节点(122)的结果及来自所述至少一个其它生成器节点(126)的结果且从其输出经汇编结果(108)。所述生成器节点(122)可包括查询预处理器(134),其经配置以处理从所述分布器节点(120)接收的查询(106)以使用与搜索与所述生成器节点(122)相关联的生成器索引兼容的查询特征(402到406)来获得查询表示,从而获得来自所述生成器节点(122)的所述结果;及查询分类器(142),其经配置以输入所述查询表示且基于其来输出关于由所述预界定生成器节点(122、126、129)子集内的所述至少一个其它生成器节点(126)对所述查询(106)的处理是否将致使所述至少一个其它生成器节点的结果包括在所述经汇编结果(108)内的预测。
文档编号G06F15/00GK102597979SQ201080032365
公开日2012年7月18日 申请日期2010年6月10日 优先权日2009年6月10日
发明者卡茨普尔·诺维茨基, 威廉姆·奈维特, 科斯·尼科拉乌, 约翰·科伦, 纳达夫·艾龙, 维克托·普热班达 申请人:谷歌公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1