本机应用程序搜索结果的制作方法

文档序号:13727160阅读:175来源:国知局


背景技术:
互联网提供对各种各样的信息的访问。例如,用于特定主题或特定新闻标题的数字图像文件、视频和/或音频文件以及网页资源可通过互联网访问。关于网页资源,这些资源的很多被设计为易于特定功能的执行,诸如银行业务、预约宾馆预订、购物等等,或提供信息,诸如在线百科全书、电影数据库、新闻等等。多种搜索引擎可用于识别可通过互联网访问的特定资源。这些搜索引擎爬行并索引多个网页资源。搜索引擎接着使用索引确定哪些资源最响应于搜索查询并响应于该查询而提供链接至该资源的搜索结果。随着平板电脑和智能手机的出现,目前大量地提供本机应用程序,其促进了通过网页资源的使用促进的相同功能的表现或通过网页的使用对相同内容的提供。

技术实现要素:
本说明书描述了涉及用于本机应用程序的搜索结果的技术。一般地,本说明书中所描述的主题的一个创新的方面可以被具体在包括以下动作的方法中:接收对用户设备的搜索请求,所述搜索请求包括:包括一个或多个项的查询,以及用于识别安装在所述用户设备上的本机应用程序的识别数据,所述本机应用程序中的每一个是在所述用户设备上独立于浏览器应用程序操作的应用程序;接收识别响应于所述查询的web资源的数据;根据所述识别数据,确定安装在所述用户设备上的本机应用程序;确定响应于所述查询的所述web资源中的第一web资源包括内容,针对所述内容可通过安装在所述用户设备上的所述本机应用程序访问同步内容,并且响应于所述确定而生成包括本机应用程序请求数据的本机应用程序搜索结果,所述本机应用程序请求数据使得安装在所述用户设备上的所述本机应用程序请求所述同步内容;以及提供web资源搜索结果和所述本机应用程序搜索结果至所述用户设备,每个相应的web搜索结果引用相应的web资源。这方面的其他实施例包括对应的系统、装置和计算机程序,其被配置为执行编码在计算机存储设备上的方法的动作。本说明书中所描述的主题的特定实施例可被实现,从而实现一个或多个下列好处。搜索引擎只需要通过网站并通过本机应用程序索引以同步方式被提供的内容的一个语料库,其相对于索引本机应用程序的内容的单独的语料库减少了索引资源。进一步地,因为特定于本机应用程序的发布者的后端基础设施不需要通过搜索引擎被爬取和索引,不需要开发特定于本机应用程序内容的专门的搜索算法。此外,当搜索查询从安装了本机应用程序的用户设备被接收时,搜索引擎可以提供本机应用程序搜索结果,其当在用户设备处被选择时,调用该本机应用程序。因为本机应用程序被设计有用户交互模块,所述用户交互模块促进了其被安装在的设备的易用性,内容以促进轻松消费的方式被提供给用户。本机应用程序因此可以提供更好的用户体验,诸如,比基于web的资源更快地下载、更少的带宽成本以及优化的用户界面。此外,因为本机应用程序通过用户被安装,用户倾向于优选与本机应用程序交互而不是基于web的资源。最后,本机应用程序不易受恶意软件、病毒和其他第三方攻击的影响,因为这种软件通常指向在比特定本机应用程序更宽范围上使用的平台。本说明书中所描述的主题的一个或多个实施例的细节在附图和以下描述中被阐述。主题的其他特征、方面和优势将通过描述、附图和权利要求变得显而易见。附图说明图1是示例环境的框图,其中响应于查询本机应用程序搜索结果与web资源搜索结果一起被提供。图2是用于生成和提供本机应用程序搜索结果的示例过程的流程图。图3是包括本机应用程序搜索结果的搜索结果页面的图示说明。图4是启动本机应用程序并在本机应用程序中显示同步内容的示例过程的流程图。不同附图中的相同的参考数字和命名指示相同元素。具体实施方式系统提供本机应用程序搜索结果。如本文中使用的,本机应用程序在用户设备上独立于浏览器应用程序操作。本机应用程序是被特别设计用来在特定用户设备操作系统和机器固件上而不在浏览器内运行的应用程序。本机应用程序因此区别于浏览器、基于浏览器的应用程序和浏览器呈现的资源。后者在每次它们被实例化或被呈现时,要求所有的或至少一些从web服务器下载的元素或指令。进一步地,基于浏览器的应用程序和浏览器呈现的资源可在浏览器内通过所有支持web的移动设备被处理并因此不是如本机应用程序一样的操作系统特定的。此外,如本文中使用的,本机应用程序搜索结果是对应于特定本机应用程序的搜索结果,并且当该本机应用程序搜索结果被选择时,调用特定的本机应用程序。系统接收对用户设备的搜索请求。该搜索请求包括用于识别安装在用户设备上的本机应用程序的查询和数据。系统还接收识别响应于该查询的web资源的数据。系统接着确定响应于该查询的web资源中的任意web资源是否包括同步内容可通过安装在用户设备上的本机应用程序访问的内容。响应于肯定确定,系统生成本机应用程序搜索结果,其当本机应用程序搜索结果在用户设备上被选择时,使得安装在该用户设备上的本机应用程序请求同步内容。web资源搜索结果和本机应用程序搜索结果接着被提供给用户设备。索引应用程序页面数据的系统的操作和对应用页面的搜索结果的处理在下面被更加详细地描述。图1是示例环境100的框图,其中响应于查询本机应用程序搜索结果与web资源搜索结果一起被提供。诸如因特网的计算机网络102连接资源发布者网站104、应用程序发布者106、用户设备108和搜索引擎110。资源发布者网站104包括与域相关联的一个或多个web资源105并且由在一个或多个地点的一个或多个服务器托管。一般地,资源发布者网站是可以包含文本、图像、多媒体内容和编程元素的以超文本标记语言(HTML)为格式的网页的集合。每个网站104被内容发布者维护,所述内容发布者是控制、管理和/或拥有网站104的实体。网页资源105是可被发布者网站104通过网络102提供并且具有资源地址例如统一资源定位符(URL)的任意数据。web资源可以是HTML页面、图像文件、视频文件、音频文件和馈送资源,仅举几例。资源可包括嵌入式信息,例如元信息和超链接,和/或嵌入式指令,例如客户端侧脚本。发布者105还可以提供本机应用程序107。如上面描述的,本机应用程序107是被特别设计用来在特定用户设备操作系统和机器固件上运行的应用程序。许多发布者104在web资源和本机应用程序中提供相同内容。对这样的内容递送的管理由发布者后端120处理。发布者后端120包括存储了发布者提供的内容的发布者存储122,提供来自发布者存储的内容作为web资源(例如,网页)的web服务器124,以及处理来自本机应用程序的请求的本机应用程序数据交换126。发布者存储122可访问以用于在web资源和本机应用程序上展示。因此,这样的内容被称为“同步”内容。这样的发布者的示例是新闻发布者,其可具有用于在移动设备上阅读新闻内容的“移动新闻应用”。在web资源105上被提供的新闻内容(例如,新闻故事的文本)是与本机应用程序107提供的相同的内容。用户设备108是在用户控制下的电子设备。用户设备108通常能够通过网络102请求和接收网页资源104和本机应用程序107。示例用户设备108包括个人计算机、移动通信设备以及平板电脑。web索引112是发布者内容的索引,例如,其已经从爬取发布者网站104、通过接收来自发布者网站104的数据馈送或通过收集和索引数据的其他合适的方法而被构建。本机应用程序索引114存储与本机应用程序107相关的数据。例如,本机应用程序索引114存储由发布者104提供的本机应用程序的列表以及标识了本机应用程序的标识符。此外,在一些实现中,发布者104可指定特定的本机应用程序107被用于访问并显示同步数据,并且该信息可被存储在应用程序索引中。例如,新闻发布者可指定其提供的新闻阅读应用显示在新闻发布者的网站上显示的同步内容。指定该关系的数据可以是,例如,将本机应用程序标识符与发布者的域名(或其他标识符或资源定位符)配对的元组。在一些实现中,发布者可以指定本机应用程序需要什么数据以访问web资源上提供的内容。例如,发布者可指定本机应用程序只需要web资源的URL以访问并显示web资源中显示的内容。取决于实现,并且如下面更详细描述的,应用程序索引114还可以存储附加信息。用户设备108提交搜索查询至搜索引擎110。响应于每个查询,搜索引擎110访问web索引112和应用程序索引114以识别关于该查询的内容。例如,搜索引擎110可以识别分别以web资源搜索结果和本机应用程序搜索结果的形式的资源和应用程序。搜索结果一旦被生成,就被提供至从其接收查询的用户设备108。web资源搜索结果是由搜索引擎110生成的、基于资源内容识别满足特定搜索查询的web资源的数据。对于资源的web资源搜索结果可包括网页标题、从资源中提取的文本片段以及资源的统一资源标识符(URI),例如网页的统一资源定位符(URL)。当在用户设备处被选择时,web资源搜索结果使得用户设备生成对位于URL处的资源的请求。被接收的web资源接着会被显示在浏览器应用程序中。本机应用程序搜索结果指定本机应用程序并响应于应用程序索引114和web索引112的搜索而被生成,如下面更详细描述的。当在用户设备处被选择时,本机应用程序搜索结果使得安装在用户设备上的本机应用程序请求同步内容。一旦本机应用程序接收了所请求的内容,本机应用程序在本机应用程序的用户界面中显示该内容。参照图1描述的本机应用程序的识别和本机应用程序搜索结果的生成参考图2被更加详细地描述,该图2是用于生成和提供本机应用程序搜索结果的示例过程200的流程图。过程200可在数据通信中在一个或多个计算机的数据处理装置中被实现。过程200接收对用户设备的搜索请求(202)。该搜索请求包括查询,所述查询包括一个或多个项和用于识别安装在用户设备上的本机应用程序的识别数据。如图1中示出的,流程元素1描绘了从用户设备被传输至搜索引擎110的搜索请求。在一些实现中,识别数据是识别安装在用户设备上的本机应用程序的本机应用程序标识符。例如,浏览器应用程序可以被配置为访问注册数据或包括安装的本机应用程序的列表的用户设备的其他配置数据。可替代地,在另一个实现中,用于识别安装在用户设备上的本机应用程序的识别数据是唯一识别该用户设备的用户设备标识符。搜索引擎110(或者与搜索引擎数据通信的另一系统)可以访问设备标识符的账户数据,其中该账户数据指定了安装在该设备上的本机应用程序。例如,账户可以是用户账户,用户可通过所述用户账户购买用于在用户设备上安装的本机应用程序。如果账户被关联至多于一个用户设备,其中每个设备可使不同的本机应用程序被安装,则识别数据可以是设备标识符和不同于设备标识符的账户标识符的组合。由于两种标识符都被关联至账户,账户数据指定安装在关联至该账户的每个用户设备上的本机应用程序。账户数据可以被存储在本机应用程序数据114中,或可通过本机应用程序搜索结果生成器116访问。过程200接收识别响应于查询的web资源的数据(204)。例如,本机应用程序搜索结果生成器116接收识别被确定为响应于查询的资源的数据。这样的数据的示例是URL(或其他资源标识符)的列表,以及对于每个资源来说,指示资源的内容与该查询的相关性的分数。搜索引擎110可确定响应的web资源并提供数据至本机应用程序搜索结果生成器116。过程200确定安装在用户设备上的本机应用程序(206)。例如,本机应用程序搜索结果生成器116处理在搜索请求中被提供的识别数据以确定本机应用程序。如果该识别数据是本机应用程序标识符的列表,则本机应用程序搜索结果生成器116使用本机应用程序标识符访问本机应用程序数据114。可替代地,如果用于识别安装在用户设备上的本机应用程序的识别数据是唯一识别用户设备的用户设备标识符(和/或账户标识符),则本机应用程序搜索结果生成器116访问本机应用程序数据以搜索账户数据(或,如果账户数据没有被存储在本机应用程序数据114中,则访问账户数据)来确定安装在用户设备上的本机应用程序。过程200确定响应于查询的web资源中的第一web资源包括内容,针对该内容可通过安装在用户设备上的本机应用程序访问同步内容(208)。例如,第一web资源可被具有第一域名的资源发布者发布。发布者104可能已经指定了在步骤206中被识别的特定的本机应用程序被用于访问和显示将被显示在第一web资源中的同步数据。因此,第一web资源被确定为包括内容,针对该内容可通过安装在用户设备上的本机应用程序访问同步内容。过程200生成包括本机应用程序请求数据的本机应用程序搜索结果,所述本机应用程序请求数据使得安装在用户设备上的本机应用程序请求同步内容(210)。本机应用程序搜索结果包括使得本机应用程序请求将被显示在第一web资源中的内容的请求数据。被提供的请求数据的类型取决于本机应用程序。例如,一些本机应用程序可以接受网页的URL作为输入并接着将网页的URL传输至发布者后端120中的本机应用程序数据交换126。本机应用程序数据交换126接着使用URL访问发布者存储122并识别内容以提供给本机应用程序。例如,本机应用程序数据交换126可被配置为提取与每个网页资源的对应的内容并提供内容至本机应用程序。在这种实现中,本机应用程序搜索结果可包括带有URL的命令行,作为当响应于对本机应用程序搜索结果的选择而启动本机应用程序时被传递给发布者后端120的命令行参数。过程200提供web资源搜索结果以及本机应用程序搜索结果至用户设备(212)。例如,web资源搜索结果以及本机应用程序搜索结果的提供通过流程元素2被描绘在图1中。一旦接收,用户设备108呈现搜索结果用于显示。图3是包括本机应用程序搜索结果的搜索结果页面300的图示说明。被显示在搜索结果页面300中的是响应于显示在搜索输入栏304中的查询“时事”的搜索结果320、330和340。搜索结果320和340是响应于资源的web索引112的搜索被生成的web搜索结果。每个搜索结果320和340引用可被呈现在用户设备上的浏览器应用程序中的资源,并包括指向该资源的URL链接以及其他数据322和342,诸如为所引用的资源提取的文本片段。搜索结果330是响应于本机应用程序搜索结果生成器116确定web资源包括内容而生成的本机应用程序搜索结果,针对所述内容可通过安装在用户设备上的本机应用程序访问同步内容。例如,本机应用程序搜索结果330可包括文本的片段332和本机应用程序显示的图像334。片段332可从web资源中被提取。在一些示例中,片段332是新闻故事的标题和文本。例如,图像334可以是本机应用程序的用户界面的图像。图像334帮助将本机应用程序搜索结果330在视觉上与web资源搜索结果区分开。嵌入在本机应用程序中的是本机应用程序用来在启动时请求内容的请求数据。例如,该请求数据可以是包含同步内容的资源的URL。然而,该URL未被示出以避免误以为本机应用程序搜索结果330是web资源搜索结果。在一些实现中,在用户设备处对图像334或本机应用程序搜索结果332的任何其他部分选择使得本机应用程序启动并请求与搜索查询相关的内容。注意,如果本机应用程序没有被安装在用户设备108上,则搜索结果330将是替代了本机应用程序搜索结果的web资源搜索结果。同样地,如果“新闻来源三”的本机应用程序被安装在用户设备108上,则web搜索结果340会是本机应用程序搜索结果,其会为“新闻来源三”调用本机应用程序。图4是用于在用户设备处启动处理搜索结果并启动本机应用程序并在该本机应用程序中显示同步内容的示例过程400的流程图。过程400可以在用户设备中被实现。过程400显示响应于搜索查询的第一搜索结果,所述第一搜索结果中的每一个引用可在用户设备上的浏览器应用程序中呈现的资源并包括指向该资源的链接(402)。例如,如上面描述的,用于搜索引擎的web服务器可接收响应于查询的web搜索结果320和340。过程400显示响应于查询的第二搜索结果,所述第二搜索结果指定本机应用程序和同步内容的位置(404)。同样,如上面描述的,用于搜索引擎的web服务器可接收响应于查询的本机应用程序搜索结果330。过程400响应于对第二搜索结果的选择,启动本机应用程序并请求同步内容(406)。例如,如图1中通过流程线3描绘的,用户设备响应于本机应用程序的启动而从发布者后端请求内容。过程400接收同步内容并在本机应用程序中显示该内容(408)。例如,如图1中通过流程线4描绘的,用户设备接收内容,并且用户设备接着将该内容显示在本机应用程序中。本说明书中描述的主题和操作的实施例可以被实现在数字电子电路中,或者在计算机软件、固件或硬件中,包括本说明书中公开的结构和它们的结构的同等物,或它们中的一个或多个的组合。本说明书中描述的主题的实施例可被实现为一个或多个计算机程序,即,计算机程序指令的一个或多个模块,编码在计算机存储介质上用于通过数据处理装置执行,或控制数据处理装置的操作。可替代地或附加地,程序指令可以被编码在人工生成的被传播的信号上,例如,机器生成的电子、光或电磁信号,其被生成以编码用于传输至合适的接收器装置的信息,用于由数据处理装置执行。计算机存储介质可以是计算机可读存储设备、计算机可读存储基板、随机或连续存取存储器阵列或设备,或它们中的一个或多个的组合,或被包括在上述计算机存储介质之中。此外,当计算机存储介质不是传播信号时,计算机存储介质可以是被编码在人工生成的被传播的信号中的计算机程序指令的源或目的地。计算机存储介质还可以是,一个或多个独立的物理组件或媒体(例如,多种CD、盘或其他存储设备),或被包括在所述一个或多个独立的物理组件或媒体之中。本说明书中描述的操作可以被实现为通过数据处理装置执行的作用于存储在一个或多个计算机可读存储设备上或从其它源接收的数据的操作。术语“数据处理装置”包含用于处理数据的所有类型的装置、设备以及机器,例如,包括可编程处理器、计算机、芯片上的系统,或前述的多个或其结合。除了硬件以外,装置还可以包括,创建用于讨论中的计算机程序的执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台执行期环境、虚拟机或它们中一个或多个的组合的代码。装置和执行环境可实现多种不同的计算模型基础设施,诸如,web服务、分布式计算和网格计算基础设施。计算机程序(也被成为程序、软件、软件应用程序、脚本或代码)可被用任意形式的编程语言编写,包括编译或解释性语言、声明性语言或过程语言,并且其可以任何形式被部署,包括作为独立程序或作为模块、组件、子例程、对象或适合用在计算环境中的其他单元。计算机程序可以,但不是必须,对应于文件系统中的文件。程序可以被存储在保留其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中,在专用于正在讨论的程序的单个文件中,或在多个协调文件(例如,存储了一个或多个模块、子程序,或部分代码的文件)中。计算机程序可被部署以在一个计算机上或位于一个地点或分布于多个地点且通过通信网络相互连接的多个计算机上被执行。本说明书中描述的过程和逻辑流程可通过执行一个或多个计算机程序的一个或多个可编程处理器被执行,以通过对输入数据进行操作并生成输出来执行动作。适合用于计算机程序的执行的处理器包括,例如,通用和专用微处理器,以及任意类型的数字计算机的任意一个或多个处理器。一般地,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于根据指令执行动作的处理器和用于存储指令和数据的一个或多个存储器设备。一般地,计算机也将包括或被操作耦接,以从用于存储数据的一个或多个大容量储存设备(例如,磁、磁光盘或光盘)接收数据,或向其传送数据,或两者。然而,计算机不需要具有这样的设备。此外,计算机可以被嵌入进另一设备中,例如,移动手机、个人数字助理(PDA)、移动音频或视频播放器、游戏机、全球定位系统(GPS)接收器或便携式存储设备(例如,通用串行总线(USB)闪存驱动),仅举几个例子。适合于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、媒体和存储器设备,通过示例的形式包括半导体存储器设备,例如,EPROM、EEPROM和闪速存储器设备;磁盘,例如,内部硬盘或可拆卸盘;磁光盘;和CD-ROM以及DVD-ROM盘。处理器和存储器可以通过专用逻辑电路被补充,或被合并在专用逻辑电路中。为了提供与用户的交互,本说明书中描述的主题的实施例可以在具有以下的计算机上被实现:用于向用户显示信的显示设备,例如,CRT(阴极射线管)或LCD(液晶显示器)监视器;和键盘,以及定点设备,例如,鼠标或轨迹球,用户可以通过其向计算机提供输入。其他类型的设备还可被用于提供与用户的交互;例如,提供给用户的反馈可以是任意形式的感觉反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且来自用户的输入可以以任意形式被接收,包括声学的、语音的、或触觉输入。此外,计算机可以通过发送文档至用户使用的设备并从用户使用的设备接收数据与用户交互;例如,通过响应于从用户的用户设备上的web浏览器接收的请求而将网页发送至该web浏览器。本说明书中描述的主题的实施例可以被实现在计算系统中,所述计算系统包括后端组件,例如,作为数据服务器,或其包括中间件组件,例如应用服务器,或其包括前端组件,例如,具有用户可通过其与本说明书中描述的主题的实现交互的图形用户界面或web浏览器的用户计算机,或者一个或多个这样的后端、中间件或前端组件的任意组合。系统的组件可以通过任意形式或介质的数字数据通信例如通信网络被相互连接。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”)、互联网络(例如,互联网)以及对等网络(例如,专设对等网络)。计算系统可以包括用户和服务器。用户和服务器一般远离彼此并典型地通过通信网络交互。用户和服务器的关系通过在相应的计算机上运行并相互具有用户-服务器关系的计算机程序发生。在一些实施例中,服务器将数据(例如,HTML页面)传输给用户设备(例如,为了显示数据至与用户设备交互的用户或从所述用户接收用户的目的)。用户设备处生成的数据(例如,用户交互的结果)可以在服务器处从用户设备被接收。虽然本说明书包括很多特定的实现细节,这些不应该被解释为对任意发明或可以要求保护的内容的范围的限制,但可作为对特定发明的特定实施例特定的特征的描述。在单独的实施例的上下文中在本说明书中被描述的某些特征也可在单一实施例中结合的被实现。相反地,在单一实施例的上下文中描述的多种特征还可以单独在多个实施例中或在任意合适的子组合中被实现。此外,尽管特征可在上面被描述为在某些组合中起作用并且即使开始就照此声明,来自所要求保护的组合的一个或多个特征可以在某些情况下从组合中被去除,并且所要求保护的组合可以指向子组合或子组合的变化。类似地,虽然操作在附图中以特定的顺序被描绘,这不应被理解为要求这样的操作以示出的特定顺序或序列顺序被执行,或者所有图示说明的操作被执行,以获得期望的结果。在某些情况下,多任务和并行处理可以是有益的。此外,以上描述的实施例中的多个系统组件的分离不应该被理解为在所有实施例中都要求这种分离,并且应理解所描述的程序组件和系统通常可以在单一软件产品中被整合在一起或打包进多个软件产品。因此,主题的特定实施例已经被描述。其他实施例在所附权利要求的范围内。在一些情况下,权利要求中记载的动作可以以不同顺序被执行且仍可以获得期望的结果。此外,附图中描绘的过程不是必要地要求所示的特定顺序或序列顺序,以获得期望的结果。在某些实现中,多任务和并行处理可以是有益的。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1