将用于本机应用的数据编索引
2020-01-11

将用于本机应用的数据编索引

为本机应用确定所述本机应用的环境实例集合的方法、系统和装置,所述本机应用在该本机应用内生成应用环境以用于在用户设备上显示并且独立于能在所述用户设备上操作的浏览器应用而操作,所述本机应用的每一个环境实例为彼此不同的所述本机应用的环境实例;对于每一个环境实例:确定描述对应的环境实例的特征的文本数据,所述文本数据是当所述本机应用在用户设备显示器上渲染该环境实例时不被渲染为可见的数据,从所述文本数据生成描述该环境实例的内容的本机应用环境实例数据;并且将用于所述本机应用的所述本机应用环境实例数据编成能被搜索引擎搜索的索引。

过程300在虚拟机内实例化本机应用的环境实例(306)。在某些实现方式中,虚拟机130通过探索在每个环境实例以及每个随后的环境实例中可用的各种菜单和选项的自动过程实例化环境实例。可以通过根据导致对由本机应用107提供的每个环境实例的选择的确定性例程顺序选择菜单选项和链接完成这种自动过程。

用户设备108将搜索查询提交至搜索引擎110。响应于每个查询,搜索引擎110访问web索引112和应用索引114以分别识别与所述查询相关的资源和应用。例如,搜索引擎110可以分别识别以web资源搜索结果和本机应用搜索结果的形式的资源和应用。搜索结果一旦生成,将其提供至从其接收到查询的用户设备108。

过程200确定本机应用的环境实例集合(202)。存在过程200能确定环境实例集合的各种合适的方法。在某些实现方式中,发布者为本机应用提供统一资源标识符集合。在集合中的每个统一资源标识符对应于发布者期望被编索引的环境实例。在其它实现方式中,过程能利用虚拟机来探索本机应用。以下参考图1B和2B更详细地描述后者的实现方式。

系统将本机应用的环境实例编索引。如在本文中使用的,本机应用在本机应用的环境内生成环境实例以用于在用户设备上显示,并且独立于用户设备上的浏览器应用操作。本机应用是特别设计为在特定用户设备操作系统和机器固件上并且不在浏览器内运行的应用。因此本机应用与浏览器和基于浏览器的应用和浏览器渲染的资源不同。后者在每次它们被实例化或渲染的时候需要全部或至少一些从web服务器下载的要素或指令。此外,基于浏览器的应用和浏览器渲染的资源能被所有具有web能力的移动设备在浏览器内处理,并且因此不是像本机应用那样特定于操作系统。

为了将用于本机应用的数据编索引,系统确定本机应用的环境实例集合。对于这些环境实例中的每个,系统确定描述对应的环境实例的特征的文本数据。所述文本数据是当本机应用在用户设备显示器上渲染环境实例时不被渲染为可见的数据。例如,本机应用的发布者能将文本数据作为不可见文本嵌入环境中,或者可选地可以与标识(或否则促进其实例化)在本机应用中的环境实例的统一资源标识符一起提供文本数据。所述系统然后从文本数据中生成描述环境实例的内容的本机应用环境实例数据,并且将用于本机应用的本机应用环境实例数据编成能被搜索引擎搜索的索引。所述搜索引擎转而能访问被编索引的数据以确定可以响应于查询的本机应用的环境实例。

用户设备108将搜索查询提交至搜索引擎110。响应于每个查询,搜索引擎110访问web索引112和应用索引114以分别识别与所述查询相关的资源和应用。例如,搜索引擎110可以分别识别以web资源搜索结果和本机应用搜索结果的形式的资源和应用。搜索结果一旦生成,将其提供至从其接收到查询的用户设备108。

对于每个环境实例,过程200确定描述对应的环境实例的特征的文本数据(204)。所述文本数据是当本机应用在用户设备上渲染环境实例时不被渲染为可见的数据。在某些实现方式中,所述文本数据由本机应用的发布者提供。在一些实现方式中,用于每个环境实例的文本数据被键接(bekeyedto)至对应于环境实例的统一资源标识符。例如,对于模拟对各种汽车的驾驶体验的本机应用,本机应用的发布者可以提供对应于在应用中模拟汽车的三维表示的统一资源标识符,和作为模拟驾驶体验的开始的“在方向盘后”视图。对于这些环境实例中的每个,文本数据描述对应于统一资源标识符的环境实例的特征。在某些实现方式中,文本数据可以嵌入本机应用并且作为不可见文本重叠在被渲染的环境实例上,或者可以被提供有统一资源标识符,或者同时嵌入有并且提供有统一资源标识符。

图1A是其中本机应用的应用页面被编索引并且搜索的示例环境100的方框图。诸如因特网的计算机网络102连接资源发布者网站104、应用发布者106、用户设备108和搜索引擎110。

可以将在本说明书中描述的主题和操作的实施例在数字电子电路中或在包括在本说明书中公开的结构和其结构等同物的计算机软件、固件或硬件中或在它们的一个或多个的组合中实现。在本说明书中描述的主题的实施例可以实现为一个或多个计算机程序,即,编码在计算机存储介质上用于数据处理装置的执行或控制其的操作的计算机程序指令的一个或多个模块。可替代地或另外的,程序指令可以编码在人工生成的传播信号上,例如机器生成的电的、光学的或电磁的信号,将其生成以编码用于传输至合适的接收机装置用于由数据处理装置执行的信息。计算机存储介质可以为或包括在以下中:计算机可读存储设备、计算机可读存储基板、随机或串行存取存储器阵列或设备,或它们的一个或多个的组合。此外,虽然计算机存储介质不是传播信号,但是计算机存储介质可以是编码在人工生成的传播信号中的计算机程序指令的源或目的地。环境计算机存储介质也可以为或被包括在以下中:一个或多个分开的物理组件或介质(例如,多个CD、盘或其它存储设备)。

附图说明

类似地,虽然在附图中以特定顺序描绘操作,但是这不应被理解为要求这种操作以所示特定顺序或以先后顺序执行,或执行全部示出的操作以达到期望的结果。在某些环境中,多任务和并行处理可以是有利的。此外,在上述实施例中各种系统组件的分离不应被理解为在全部实施例中要求这种分离,并且应该理解描述的程序组件和系统一般可以在单个软件产品中整合在一起或封装成多个软件产品。