路由查询结果的制作方法

文档序号:11515029阅读:213来源:国知局
路由查询结果的制造方法与工艺

本申请是申请日为2012年11月01日、申请号为201210429730.4、发明名称为“路由查询结果”的中国专利申请的分案申请。

本发明涉及通信技术,尤其涉及搜索查询技术。

背景

web部件是实现使终端用户能够直接从浏览器查看并修改网页的内容、外观和行为的一个或多个控件的可重用软件组件。一般而言,web部件可具有与其相关联的查询,并且给定查询的结果可由特定web部件来呈现。然而,这样的查询通常是硬编码的,且因此可能阻止使用条件逻辑来驱动相关联的web部件。



技术实现要素:

在一个方面,公开了一种用于在联网计算环境中路由搜索查询结果的计算机实现的方法。该方法包括:在第一计算设备上执行的应用处,接收包括至少一个关键项的搜索串;基于该至少一个关键项生成多个查询,其中该多个查询中的每一个查询包括至少一个查询表达式;将该多个查询中的每一个查询发送给至少一个信息源以供针对该至少一个信息源能访问的信息来评估对应的至少一个查询表达式;接收多个查询结果,其中该多个查询结果中的每一个查询结果包括标识对应的查询结果的类型的结果分类;基于对该多个查询结果中的至少两个中的每一个的结果分类,将该多个查询结果中的该至少两个组合成经组合的查询结果;以及至少将该经组合的查询结果发送到联网计算环境中的第二计算设备,以供呈现在其上执行的界面内。

在另一方面,公开了一种计算设备,该计算设备包括处理单元和连接到该处理单元的系统存储器。该系统存储器包括指令,该指令在由该处理单元执行时使得该处理单元实现映射模块、结果模块、和web部件模块,每一模块被配置成在联网计算环境中路由搜索查询结果。该映射模块被配置成:基于至少一个关键项来生成多个查询,其中该多个查询中的每一个查询包括至少一个查询表达式;以及将该多个查询中的每一个查询路由到至少一个信息源,以供针对该至少一个信息源能访问的信息来评估对应的至少一个查询表达式。该结果模块被配置成:接收多个查询结果,其中该多个查询结果中的每一个查询结果包括标识对应的查询结果的类型的结果分类。该web部件模块被配置成:基于对该多个查询结果中的至少两个中的每一个的结果分类,将该多个查询结果中的至少两个组合成经组合的查询结果;以及至少将该经组合的查询结果发送到其中的第二计算设备,以供呈现在其上执行的界面内。在又一个方面,公开了具有计算机可执行指令的计算机可读存储介质,当由第一计算设备执行所述指令时,使得该第一计算设备执行步骤,包括:在第一计算设备上执行的应用处,接收包括至少一个关键项的搜索串;基于该至少一个关键项生成多个查询,其中该多个查询中的每一个查询包括至少一个查询表达式;将该多个查询中的每一个查询发送给至少一个信息源以供针对该至少一个信息源能访问的信息来评估对应的至少一个查询表达式;接收各自包括结果表的多个查询结果,该结果表包括以有序结果集合和无序结果集合之一所定义的列和行格式排列的信息集合,其中该多个查询结果中的每一个包括结果分类和优先级分类,该结果分类标识对应的查询结果的类型,而该优先级分类标识对应的查询结果的显著性;基于对该多个查询结果中的至少两个中的每一个的结果分类和优先级分类,将该多个查询结果中的至少两个组合成经组合的查询结果,其中对该多个查询结果中的至少两个进行交错和堆叠之一以形成经组合的查询结果;以及至少将该经组合的查询结果发送给第二计算设备,以供呈现在其上执行的界面内。

提供本发明内容是为了以简化的形式介绍将在以下具体实施方式中进一步描述的一些概念。本发明内容不旨在用于以任何方式限制所要求保护的主题的范围。相反,要求保护的主题由本发明的权利要求中阐明的语言定义。

附图说明

图1示出了示例联网计算环境。

图2详细示出图1的示例服务器设备。

图3示出图1的客户机设备的示例逻辑模块。

图4示出用于路由和组合搜索查询结果的示例计算设备之间的示例通信。

图5示出用于路由搜索查询结果的示例方法的流程图。

图6示出用于配置用于路由搜索查询结果的参数的示例配置。

具体实施方式

本发明涉及在联网计算环境中路由搜索查询结果。在一个示例实施例中,根据一个或多个可配置规则将初始搜索查询重新制定成至少一个子查询。随后将子查询发送给至少一个信息系统或源,并且与其相关联的任何潜在的命中可任选地被组合且随后被呈现以供查看。尽管没有进行如此限制,但是对本公开的各个方面的理解通过讨论以下给出的示例来达成。

现在参看图1,示出了其中可实现本公开的各方面的示例联网计算环境100。联网计算环境100包括客户机设备102、服务器设备104、存储设备106和网络108。其他实施例是可能的。例如,联网计算环境100通常可按需包括更多或更少设备、网络和/或其他组件。

客户机设备102和服务器设备104是以下结合图2更详细描述的计算设备。在示例实施例中,客户设备102被配置成访问由服务器设备104实现的商业过程并与之进行交互。示例业务过程包括消息接发和通信过程、协作过程、数据管理过程等。来自华盛顿州雷蒙德市的微软公司的协作服务器是实现支持协作过程、以及文件共享和web发布的业务过程的业务服务器的示例。其他实施例是可能的。

在一些实施例中,服务器设备104包括多个以“场(farm)”配置一起操作的多个互连的、联网设备。在此类情景中,网络设备提供“云”计算平台,其中为连接到云计算平台的一个或多个客户机主存一个或多个应用和数据。还有其它实施例也是可能的。

存储设备106是诸如关系数据库或任何其他类型的永久数据存储设备之类的电子数据存储设备。存储设备106按预定义格式来存储数据,以使得服务器设备104可查询、修改、和管理其上存储的数据。示例数据包括与目录服务、认证服务、管理服务、以及诸如由微软公司的active目录服务管理的其他服务相关的信息。其他实施例是可能的。

网络108是用于一个或多个设备之间的数据转移的双向数据通信路径。在所示的示例中,网络108建立用于客户机设备102与服务器设备104之间的数据转移的通信路径。网络108可以是多种无线或硬线连接的wan、lan、因特网、内联网或其他基于分组的通信网络中的任一种,以使得数据可在示例联网计算环境100的元件之间被转移。

现在参看图2,图1的服务器设备104被更详细地示出。如以上所提及的,服务器设备104是计算设备。示例计算设备包括服务器计算机、台式计算机、膝上型计算机、个人数据助理、智能电话、游戏控制台等。

服务器设备104包括至少一个处理单元202和系统存储器204。系统存储器204存储用于控制服务器设备104或另一计算设备的操作的操作系统206。一个示例操作系统是微软公司的操作系统。其他实施例是可能的。

系统存储器204包括一个或多个软件应用208并且可以包括程序数据。软件应用208可包括许多不同类型的单个且多个功能程序,诸如服务器程序、电子邮件程序、日历程序、因特网浏览程序、电子数据表程序、用于跟踪和报告信息的程序、文字处理程序、以及许多其他程序。一个示例程序是微软公司的商业应用的office套件。另一示例程序包括也来自华盛顿雷蒙德的微软公司的协作服务器。还有其它程序也是可能的。

系统存储器204是计算机可读介质。计算机可读介质的示例包括计算机可读存储介质和通信介质。计算机可读存储介质是与通信介质不同的物理介质。

短语“计算机可读”一般是指可由计算机或计算设备解释并在其上动作的信息。短语“存储介质”或者等效地,“存储介质”是指在其上写入或存储电子数据比特的各种类型的物理或有形材料。由于不可能以瞬时信号的方式存储信息,因此在本公开的上下文内定义的“计算机可读存储介质”将瞬时信号排除在外。

计算机可读存储介质包括以用于储存诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任一方法或技术实现的物理易失性和非易失性,可移动和不可移动介质。计算机存储介质还包括,但不仅限于,ram、rom、eeprom、闪存或其他存储器技术,cd-rom、数字多功能盘(dvd)或其他光学存储,磁带盒、磁带、磁盘存储或其他磁存储设备,或可以用来存储所需要的信息并可以被服务器设备104访问的任何其他介质。任何这样的计算机存储介质都可以是服务器设备104的一部分或外置于该服务器设备104。这样存储在图2中由可移动存储210和不可移动存储212示出。

通信介质通常具体化为诸如载波或其它传输机制等瞬时已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。术语“已调制数据信号”是指具有以在信号中编码信息的方式被设定或改变其一个或多个特征的信号。作为示例,通信介质包括有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声学、rf、红外线和其他无线介质。

服务器设备104还包括任何数目或类型的输入设备214和输出设备216。示例输入设备214包括键盘、鼠标、笔、语音输入设备、触摸输入设备、运动输入设备等。例如,输入设备214可以是操作用于捕捉和记录由用户作出的运动和/或姿势的相机。输入设备214还可操作用于捕捉由用户(诸如通过话筒)口述的词语和/或来自用户的诸如通过键盘和/或鼠标的其他输入。根据本公开的实施例,输入设备214可包括能够检测用户的移动的任何运行检测设备。例如,输入设备214可包括微软公司的运动捕捉设备。其他实施例是可能的。

示例输出设备216包括显示器、扬声器、打印机等。服务器设备104还包括配置成实现在分布式计算系统环境中通过网络(例如,图1的网络108)与其他计算设备通信的通信连接218。

图1的客户机设备102也是按类似于以上所描述的服务器设备104的方式的方式来配置。现在参考图3,客户机设备102还被配置为包括到服务器设备104的一个或多个不同类型的接口。在所示示例中,客户机设备102包括本地客户机302、web接入客户机304、移动接入客户机306以及语音接入客户机308。

本地客户机302被配置为专用消息收发和协作客户机,其用作到服务器设备104的接口,并且是在客户机设备102上执行的应用套件的一部分。在一个实施例中,本地客户机302包括消息收发和协作客户机,它是作为微软公司的商业应用的office套件的一部分的电子邮件应用。用户可通过消息收发和协作客户机编写电子邮件、与电子邮件交互、发送和接收电子邮件。本地客户机302的其他实施例是可能的。例如,在一个实施例中,本地客户机302包括来自微软公司的office通信器客户机、与office通信服务器一起使用的即时消息收发客户机。还有其它实施例也是可能的。

web接入客户机304被配置成经由诸如因特网之类的网络连接远程地访问服务器设备104。在一个实施例中,web接入客户机304是exchange服务器的outlookwebaccess(owa)web邮件服务。在示例实施例中,客户机设备102使用web浏览器来经由outlookwebaccess连接到exchange服务器。这提供类似于消息收发和协作客户机中的接口的用户接口,其中用户可编写电子邮件、与电子邮件交互、发送和接收电子邮件。web接入客户机304的其他实施例是可能的。例如,web接入客户机304可被配置成连接到协作服务器以访问相对应的协作、文件共享和web发布服务。还有其它实施例也是可能的。

移动接入客户机306是另一种类型的到服务器设备104的客户机接口。在一个实施例中,移动接入客户机306包括带有同步技术的移动接入,或者windows操作系统或windows7操作系统的windows移动设备中心,其全部来自微软公司。示例移动设备包括蜂窝电话、智能电话、个人数字助理等等。移动接入客户机306的其他实施例是可能的。

语音接入客户机308是又一种类型的到服务器设备104的客户机接口。在一些实施例中,语音接入客户机308包括exchange服务器中支持的exchange统一消息收发。通过统一消息收发,用户具有用于电子邮件和语音邮件的一个收件箱。语音邮件被直接递送到消息收发和协作客户机收件箱中。包含语音邮件的消息还可以包括附件。语音接入客户机308的其他实施例是可能的。

现在参考图4,示例框图400示出根据本发明的用于路由和组合搜索查询结果的计算设备之间的示例通信。

框图400包括客户机设备402、应用服务器设备404、web搜索设备406、以及存储设备408。其他实施例是可能的。例如,框图400通常可按需包括更多或更少的设备和其他组件。

客户机设备402类似于以上描述的客户机设备102,且包括接口410,接口410被配置成访问在应用服务器设备404上执行的应用412所实现的商业过程以及与其交互。应用服务器设备404类似于以上描述的服务器设备104。

接口410包括查询模块414和结果显示模块416,而应用412包括映射模块、本地索引420、配置模块422、web部件模块424、和结果返回模块426。接口410和应用412的相应示例模块的功能性在下文中进一步描述。

web搜索设备406是计算设备且包括搜索应用428,搜索应用428一般被配置成在万维网上搜索、爬行和/或索引信息。这样的搜索应用的示例包括来自微软公司的web搜索引擎。存储设备408也是计算设备且包括数据库应用430,数据库应用430一般被配置成存储、访问和/或修改电子数据集合。这样的数据库应用的示例包括来自微软公司的active服务。搜索应用428和数据库应用430的其他实施例是可能的。

在一个示例通信序列中,界面410的查询模块414从用户接收示例串s=“skiingvacation(滑雪假期)”,并将串s发送给应用412的映射模块412。在一个实施例中,用户将串s输入查询模块414(例如,文本字段内),并且随后通过使用查询模块414内的可选控件(例如,按钮)针对串s执行搜索查询。其他实施例是可能的。

映射模块418从查询模块414接收串s,将串s重新制定成多个搜索查询t1-tm,其中m是任意的整数值,并且将多个搜索查询t1-tm中的每一个发送给至少一个信息源。例如,搜索查询t1=“skiequipment(滑雪装备)”可由映射模块418来生成并且接着可被发送给搜索应用428,搜索查询t2=“skiresortreviews(滑雪胜地评论)”可被形成并且随后传送到搜索应用428和数据库应用430,而搜索查询tm=“skitravelpromotions(滑雪旅游促销)”可被构建并且随后定向到本地索引420,本地索引包含根据与应用412相关联的模式来结构化的数据。一般而言,多个搜索查询t1-tm是根据用户(例如管理员)经由配置模块422预定义的至少一个映射规则来形成的,这将在下文参考图5更详细地讨论。

应用412的结果返回模块426鉴于先前向搜索应用428、数据库应用430、和/或本地索引420发送的多个搜索查询t1-tm,从这些应用和/或索引接收多个查询结果u1-un(其中n是任意的整数值)。

在当前示例中,查询结果u1和u2可能比查询结果u3、u4和un彼此更紧密地相关,因为这些相应的结果可包括与示例搜索查询的t1的短语“滑雪装备”相关联的至少一个潜在“命中”。例如,查询结果u1可包括“skijackets(滑雪服)”的结果表,这些滑雪服是“装备”类型,且查询结果u2可包括“skigoggles(滑雪镜)”的结果表,滑雪镜也是“装备”类型;而查询结果u3和un可包括“滑雪胜地”的结果表,滑雪胜地是“评论”类型,且查询结果u4可包括“营销信息”的结果表,营销信息是“促销”类型。其他实施例是可能的。

应用412的web部件模块424访问结果返回模块426内的多个查询结果u1-un,并且通常对这些结果进行操作。具体地,web部件模块424包括多个web部件w1-wo,其中o是任意的整数值。web部件是实现使终端用户能够直接从浏览器查看并修改网页的内容、外观和行为的一个或多个控件的可重用软件组件。

在示例实施例中,多个web部件w1-wo中的每一个访问并评估结果返回模块426内的多个查询结果u1-un中的每一个。在给定的web部件被兼容地配置成显示与相应多个查询结果u1-un中的每一个相关联的至少一个具体“类型”的结果时,接着该特定web部件在界面410的结果显示模块416内在多个结果区域r1-rp(p是任意的整数值)中的至少一个内呈现相关联的结果。

例如,假设web部件w1被配置成呈现“促销”类型的查询结果,在该web部件访问并评估结果返回模块426内的多个查询结果u1-un时,查询结果u4被web部件w1拾取并被呈现在结果显示模块426内的多个结果区域r1-rp中的至少一个内。类似地,在相应web部件w2-wo访问并评估查询返回模块426中的多个查询结果u1-un中的每一个时,多个查询结果u1-un中的一个或多个被拾取并被呈现在多个结果区域r1-rp中的至少一个内。

例如,假设web部件w2被配置成呈现“评论”类型的结果,在该web部件访问并评估结果返回模块426内的多个结果u1-un时,查询结果u3和un被拾取并被呈现在多个结果区域r1-rp中的至少一个内。在该示例中,web部件w2可串接或根据经由配置模块422预定义的至少一个组合规则以其他方式组合查询结果u3和un,如下文参考图5和6更详细地讨论的。

现在参考图5,示出了用于路由和组合搜索查询结果的示例方法500。在该示例实施例中,方法500由应用服务器设备404上执行的应用412来实现,如上文参考图4所描述的。其他实施例是可能的。例如,在“云”计算实现中,应用412的一个或多个模块可完全地或部分地位于联网计算环境中的一个或多个不同的计算设备上。

方法500在第一模块502处开始。第一模块502被配置成接收搜索串,该搜索串包括至少一个关键项用于针对至少一个信息源(例如,本地索引420、搜索应用428、数据库应用430等)可访问的内容进行比较。在示例实施例中,“关键项”可以是以下各项中的任一个:用户输入的查询项、web部件配置的查询项、以及站点导航上下文或用户上下文。根据本发明的原理,以此方式,“关键项”可以是在开始确定召回和/或分类/排序时所考虑的任何类型的输入(即,通过用户和/或通过配置web部件和/或通过该web部件的上下文来输入)。其他实施例是可能的。

操作流程随后前进到第二模块504。第二模块504被配置成根据一个或多个查询映射规则,将第一模块502接收到的搜索串映射成至少一个搜索查询(例如“作者:johndoe”和“文档:.ppt”)。在一个实施例中,特定查询映射规则附加地将至少一个“类型”分配给搜索查询的一个或多个表达式。例如,搜索查询表达式“johndoe”可能被分配成“用户”类型和“作者”类型,而搜索查询表达式“.ppt”可能被分配成“文档”类型。其他实施例是可能的。

操作流程随后前进至第三模块506。第三模块506被配置成将第二模块504所生成的或第二模块504处的搜索查询发送给至少一个信息源。一般而言,该信息源可通过联网计算环境(例如环境100)内的网络(例如网络108)来访问。其他实施例是可能的。

操作流程随后前进至第四模块508。第四模块508被配置成鉴于第三模块506所发送的至少一个搜索查询来接收多个查询结果。在一个实施例中,多个结果中的每一个一般被格式化成结果表集合,该集合是一组结果表。一般而言,结果表可包括以行/列格式以有序排列(诸如根据预定义排序模式(例如优先级、重要性、置信度等)列出的结果)、或以无序排列(例如原始数据)来排列的结果或信息的集合。结果表可附加地包括与该结果表相关联的至少一个“类型”。例如,包括“.ppt”结果的集合的结果表可能被分配成“文档”类型,而包括个人名称的集合的结果表可能被分配成“用户”类型和/或“作者”类型。其他实施例是可能的。

操作流程随后前进至第五模块510。第五模块510被配置成可任选地(在图5中用虚线示出)组合第四模块508接收到的多个查询结果中的两个或更多个。在一个实施例中,用于组合查询结果的示例方法包括交错、层叠以及其他。一般而言,用于组合查询结果的规则是经由图4的配置模块422来定义的,下文将参考图6更详细地描述。其他实施例是可能的。

操作流程随后前进至第六模块512。第六模块512被配置成在图4的客户机设备402的界面410的结果显示模块416内,将多个查询结果中的一个或多个呈现在多个结果区域r1-rp中的至少一个内。

在序列号为__/___,___的美国专利申请中描述了可用于实现查询映射规则以及在客户机界面内呈现查询结果的示例逻辑,如上所述其整体通过引用结合于此。其他实施例是可能的。

现在参考图6,根据本发明示出了用于配置web部件和搜索结果以便路由和组合搜索查询结果的示例配置窗口600。在该示例实施例中,配置窗口600包括web部件配置区域604和搜索结果配置区域604。一般而言,配置窗口600经由图4的应用412的配置模块422来实现和/或访问。其他实施例是可能的。

web部件配置区域602包括web部件选择606和结果分类选择608。web部件选择606至少出于将至少一个查询结果分类分配给特定web部件(例如web部件w1)以指示该web部件将被配置成呈现的至少一个“类型”的查询结果的目的,使用户能够选择该特定web部件。特定web部件将被配置成呈现的该“类型”的查询结果(例如“促销”)经由结果分类选择608来分配。在该示例实施例中,多个其他web部件和多个其他结果分类(在图6中由字符“….”来标识)可分别通过用户操纵web部件选择606和结果分类选择608来访问。

搜索结果配置区域604包括搜索源选择610和排序模型选择612。搜索源选择610使用户能够至少标识特定web部件(例如web部件w1)可从中预期潜在地评估查询结果的信息源(例如搜索应用428)。排序模型选择612使用户能够定义用于组合查询结果的一个或多个规则或方法,诸如交错、层叠以及其他。在该示例实施例中,多个其他搜索源和多个其他排序模型(在图6中由字符“….”来标识)可分别通过用户操纵搜索源选择610和排序模型选择612来访问。

示例规则包括在对应的表具有相似类型(诸如,“组合具有“用户”类型和“作者”类型的结果表”)或具有不相似类型(诸如,“组合具有“文档”类型和“作者”类型的结果表”)的情况下组合结果表的定义。另外,结果表可优选地根据预定义排序模式或模型来组合,诸如,根据优先级因素或分类来组合结果表。优先级因素的示例包括,相比于根据第二映射规则返回的结果,在结果表的优选位置中提供根据第一映射规则返回的结果,第二映射规则在时间上是在第一映射规则之后定义的。还有其它实施例也是可能的。

本文中描述的示例实施例可被实现为联网计算系统环境中的计算设备内的逻辑操作。该逻辑操作可被实现为:(i)在计算设备上运行的计算机执行的指令、步骤或程序模块的序列;以及(ii)在计算设备内运行的内连逻辑或硬件模块。

例如,可以通过片上系统(soc)来实施本发明的各实施例,其中,可以将图2中示出的每个或许多组件集成到单个集成电路上。这样的soc设备可包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元以及应用功能,所有这些都被集成到芯片基板上作为单个集成电路。

另外,逻辑操作可用软件、固件、模拟/数字电路、和/或其任何组合来实现为算法,而不背离本公开的范围。软件、固件、或类似的计算机指令序列可被编码并存储在计算机可读介质上,并且还可被编码在载波信号内,以便在计算设备之间进行传输。

尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。

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