用于资源约束和其它设备的统一可搜索存储的制作方法

文档序号:9355191阅读:163来源:国知局
用于资源约束和其它设备的统一可搜索存储的制作方法
【专利说明】
[0001] 相关申请的夺叉引用
[0002] 本申请要求2013年1月16日提交的美国临时申请序列号61/753, 152和2013年 8月20日提交的美国申请序列号13/971,240的权益,它们通过引用方式并入。
技术领域
[0003] 本公开涉及用于资源约束设备的统一可搜索存储。
【背景技术】
[0004] 搜索程序可以允许用户执行例如用户的电子邮件、计算机文件、音乐、照片、聊天 和查看的Web页面的文本搜索。当最初安装在设备(例如,台式个人计算机)上时,软件程 序可以为计算机中的文件编索引。在初始索引完成之后,软件可以继续按需为文件编索引。 然后,编索引的文件可以由用户搜索,并且结果可以例如在web浏览器中返回。
[0005] 在设备可以具有例如相对慢的中央处理单(CPU)、有限的随机存取存储器(RAM) 和/或有限的盘存储的意义上,其存储各种类型的用户可能希望搜索的文件的一些设备是 资源约束的。在这样的资源约束环境中,更新存储和索引可能是低效的,从而导致高后台 CHJ使用和太多盘活动。因此,一些解决方案并不容易伸缩到要存储和搜索的期望数据量。 缺乏可伸缩性可能使得难以(如果不是不可能的)包括诸如横跨多个应用和数据库的快速 统一搜索和统一关键字和实体建议之类的特征。

【发明内容】

[0006] 本公开描述了数据索引和搜索服务,其本地驻留在设备(例如,移动电话)上,并 且可以托管用于设备上的多个应用的数据。通过集中数据的存储以及搜索和查询功能,可 以通过服务执行统一搜索查询,而不需要在一些情况下启动多个应用和打开多个数据库。
[0007] 例如,根据一个方面,计算设备包括用户界面和驻留在计算设备中的应用,用户界 面包括搜索框,其中每个应用包括相应内容提供者。计算设备包括索引管理器、数据索引和 搜索服务和盘支持的存储装置(例如,快闪存储装置),数据索引和搜索服务驻留在计算设 备中并且提供到索引管理器的进入点。数据索引和搜索服务可操作为获得来自与应用中的 相应应用相关联的内容提供者的数据。索引管理器为来自内容提供者的数据编索引,并且 将编索引的数据存储在盘支持的存储装置中。数据索引管理器包括查询处理器以处理从搜 索框接收和从应用中的任何应用接收的搜索查询的执行。查询处理器通过搜索盘支持的存 储装置中存储的编索引的数据并且返回基于搜索的结果来处理搜索查询的执行。
[0008] 各种实施方式包括以下特征中的一个或多个。例如,在一些实施方式中,响应于接 收来自应用中的特定应用的搜索查询,数据索引和搜索服务返回仅关于与应用中的特定应 用相关联的语料库的结果。另一方面,响应于接收来自搜索框的搜索查询,数据索引和搜索 服务可以返回关于与应用相关联的所有语料库或者关于语料库的子集的结果。
[0009] 在一些实施方式中,盘支持的存储装置存储第一索引和第二索引,第一索引具有 将来自特定应用的文档中包含的项映射到项标识符的字典,第二索引具有将项映射到项标 识符的字典和到索引文件中的偏移。数据的编索引可以发生例如在所述第一索引中,第一 索引可以周期性地合并到第二索引中。字典可以被实现为例如文件支持的字典树。
[0010] 在一些情况下,响应于来自应用中的特定应用的向索引和搜索服务注册的请求, 索引和搜索服务执行来自特定应用的数据的编索引。索引和搜索服务还可以响应于由应用 中的特定应用索引的请求,执行来自特定应用的数据的编索引。
[0011] 在另一方面中,描述了在计算设备上索引和搜索数据的方法。例如,在一些实施方 式中,方法包括:将驻留在计算设备上的第一应用绑定到驻留在计算设备上的索引和搜索 服务,以及向索引和搜索服务注册与第一应用相关联的语料库和内容提供者。由索引和搜 索服务为来自与第一应用相关联的文件的数据编索引,并且编索引的数据被存储在设备上 的盘支持的存储装置中。然后索引和搜索服务可以用于执行来自第一应用的搜索查询。关 于驻留在计算设备上的其它应用,可以执行相似的处理。
[0012] -些实施方式包括以下优点中的一个或多个优点。例如,将所有应用索引存储在 一个地方(即,在同一盘支持的快闪存储装置中)可以便于更快的通用搜索。此外,盘支持 的存储装置可以是可伸缩的,并且可以提供例如用于预测应用的统计。数据索引和搜索服 务可以相对快地执行搜索,并且可以使用具有相对小足迹的压缩存储。服务可以减少所要 求的快闪写入的数目,并且可以允许写操作包括更大量的数据(例如,通过使用批处理)。
[0013] 其它方面、特征和优点将从以下详细描述、附图和权利要求中变得容易理解。
【附图说明】
[0014] 图1图示其包括设备上数据索引和搜索服务的计算设备的示例。
[0015] 图2是图示使用数据索引和搜索服务的示例的流程图。
[0016] 图3是图示使用数据索引和搜索服务的另一示例的流程图。
【具体实施方式】
[0017] 本公开描述数据索引和搜索服务,其本地驻留在设备(例如,移动电话)上并且托 管用于设备上的多个应用的数据。数据索引和服务可以提供高效的、集中式设备上(离线) 搜索和文档存储服务,并且可以向设备上的其它应用提供开放式应用编程接口(API)。技术 可以便于搜索设备中的所有语料库(或语料库的子集),并且可以便于跨所有语料库(或语 料库的子集)的关键字建议。此外,隐私模型被描述为确保来自一个语料库的数据(例如, 建议和搜索结果)不会出现在旨在于另一语料库的搜索中。
[0018] 例如,本文中描述的技术可以实现在各种类型的资源约束设备上,包括诸如移动 电话、平板和个人数字助理(PDA)之类的手持式计算设备。技术还可以实现在诸如台式个 人计算机、膝上型计算机之类的其它计算设备上。
[0019] 如图1所示,计算设备(例如,移动电话)具有图形用户界面,图形用户界面包括 其中设备的用户可以输入搜索项的搜索框12。设备还存储其可以在设备上执行的一个或多 个应用(例如,应用A、应用B和应用C)。这样的应用的示例是驻留在设备上的电子邮件应 用。数据索引和搜索服务14从与每个应用A、B、C相关联的相应客户端内容提供者15拉取 数据(例如,文档),将数据存储在相应语料库18中,并且为其编索引。例如,语料库18可 以存储在计算设备上的快闪存储20中的文件中。
[0020] 索引和搜索服务14担任到索引管理器22的进入点,其实现绑定器API38、处理 来自客户端应用的内容同步、以及封装其中后台处理发生的线程。索引管理器22包括其管 理语料库18的文档存储管理器26以及其处理从搜索框12或者从客户端应用A、客户端应 用B、客户端应用C之一接收的搜索查询的执行的查询处理器32。当应用需要获得搜索查 询的结果时,应用向服务14委派搜索,而不是它自己执行搜索。
[0021] 快闪存储20还存储简化索引28和主索引30。简化索引28可以在持续的基础上 更新,并且具有将文档中包含的项映射到项标识符的字典(lexicon) 34。主索引30担任其 存储索引的其余部分的永久索引。简化索引28可以周期性地合并到永久索引30中,永久 索引30具有将项映射到项标识符的字典36和到索引文件中的偏移。字典34、字典36、索 引28、索引30和语料库18可以存储在盘支持的存储20中的单独文件中。例如,字典可以 实现为由盘读取初始化的文件支持的字典树。
[0022] 为了与服务14通过接口接合,应用A、应用B、应用C绑定到并且调用服务的接口 定义语言应用编程接口("IDLAPI")38。然后,服务14使用应用A、应用B、应用C中的内 容提供者15将应用的数据同步到它自己的存储20。文档可以通过其可以是客户端应用确 定的任意字符串的统一资源标识符(URI)来引用。图2图示根据以下段落中讨论的特定实 施方式的进一步细节。
[0023] 最初,客户端应用A、客户端应用B、客户端应用C绑定到服务14(块102)
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1