搜索数据记录的电子设备和方法与流程

文档序号:11519573阅读:304来源:国知局
搜索数据记录的电子设备和方法与流程

本公开涉及控制电子设备以搜索数据记录和提供搜索结果。



背景技术:

便携式电子设备已经获得广泛的使用并且提供各种功能,例如包括电话、电子消息传送、日历和其它个人信息管理器(pim)应用功能、数字摄像以及数字照片储存等等。

应用被存储在便携式电子设备上并且被便携式电子设备的处理器执行以提供上面提到的功能。与每个应用相关联的数据记录与应用相关联。数据记录的结构因每个应用而异。

在搜遍各种应用的数据记录方面的改进是值得期望的。

附图说明

现在将仅通过示例的方式参考附图来描述本公开的实施例,在附图中:

图1是根据本公开的便携式电子设备的框图;

图2是根据本公开示出在搜索客户端和与应用关联存储的数据源之间的关系的简化的功能框图;

图3根据本公开示出将数据记录中的字段映射到统一格式中的搜索字段的一个示例;

图4是根据本公开示出针对便携式电子设备上的数据记录的搜索的序列图。

具体实施方式

下文总体上描述了便携式电子设备,所述便携式电子设备包括:显示器,用于显示针对数据记录的搜索的结果;以及存储器,用于存储多个应用,以及针对多个应用中的每个应用,存储各自的标识与该应用相关联的数据记录的位置的关联的元数据、将数据记录中的数据与搜索客户端利用的统一格式相关联的映射、以及可过滤字段和过滤方法的标识。便携式电子设备还包括处理器,所述处理器耦合到显示器和存储器,以便:利用与多个应用关联存储的元数据来执行对数据记录的搜索并识别符合该搜索查询的多个数据记录以提供搜索结果;以及在便携式电子设备上提供统一格式中的搜索结果。

为了说明的简单和清楚,在附图中附图标记可能被重复以指示对应的或类似的要素。阐述了众多细节以提供对本文描述的示例的理解。示例可以在没有这些细节的情况下被实施。在其它实例中,没有详细描述公知的方法、程序和组件以避免模糊描述的示例。所述描述不应被认为是对本文描述的示例的范围的限制。

本公开总体上涉及诸如便携式电子设备之类的电子设备。便携式电子设备的示例包括移动或手持的无线通信设备,诸如蜂窝智能电话、无线整理器、个人数字助理、平板计算机等等。

在图1中示出了便携式电子设备100的示例的框图。便携式电子设备100包括多个组件,如控制便携式电子设备100的整体操作的处理器102。包括数据通信和语音通信在内的通信功能通过通信子系统104来执行。电子设备100接收的数据由解码器106进行解压缩和解密。通信子系统104从无线网络150接收消息并且向无线网络150发送消息。无线网络150可以是任何类型的无线网络,包括数据无线网络、语音无线网络和支持语音通信和数据通信两者的网络。电池142(其可以包括一个或多个可充电电池)为便携式电子设备100供电。

处理器102与其它组件(例如随机访问存储器(ram)108、存储器110、触敏显示器118、键盘120、摄像机122、辅助输入/输出(i/o)子系统124、数据端口126、扬声器128、麦克风130、短距离通信132以及其它设备子系统134)进行交互。扬声器128(也被称为耳机扬声器)被用于输出当用户的耳朵非常靠近扬声器128时可听的信号。尽管未示出,处理器还可以与扩音器进行交互(例如用于免提使用)。键盘120可被用于字符的输入,所述字符如字母字符、数字字符、标点符号或符号。

触敏显示器118包括显示器112和耦合到至少一个控制器116的触摸传感器114,控制器116被用于与处理器102进行交互。经由图形用户接口的输入是经由触敏显示器118和键盘120来提供的。信息(诸如文本、字符、符号、图像、图标和可被显示或渲染在便携式电子设备上的其它项目)经由处理器102显示在触敏显示器118上。处理器102还可以与加速度计136进行交互,加速度计136可被用于检测重力或重力引起的反作用力的方向。

为了识别进行网络访问的订户,电子设备100可以利用订户识别模块或可移动用户识别模块(sim/ruim)卡138来与诸如无线网络150之类的网络进行通信。备选地,用户识别信息可被编程到存储器110中。

便携式电子设备100包括由处理器102执行并且通常存储在持久的可更新的储存库(例如存储器110)中的操作系统146和软件程序、应用或组件148。可以通过无线网络150、辅助i/o子系统124、数据端口126、短距离通信子系统132或任何其它合适的子系统134将附加的应用或程序加载到便携式电子设备100上。

诸如文本消息、电子邮件消息或网页下载之类的接收的信号由通信子系统104进行处理并且被输入到处理器102。处理器102处理接收的信号以输出到显示器112和/或输出到辅助i/o子系统124。订户可以产生数据记录(例如电子邮件消息),所述数据记录可以通过通信子系统104经由无线网络150进行传输。对于语音通信,电子设备100的整体操作是类似的。扬声器128输出从电信号转换来的可听信息,并且麦克风130将可听信息转换为电信号以供处理。

触敏显示器118可以是任何合适的触敏显示器(例如包括多个电容式触摸传感器114的电容式触敏显示器)。电容式触摸传感器114包括驱动电极(也被称为发射电极)和感测电极(也被称为接收电极)。驱动电极通常在一个方向上延伸并且在感测电极(感测电极通常在另一方向上延伸,通常与驱动电极延伸的方向成直角)的上方或下方与之交叉以形成网格图案。驱动电极通过电介质材料与感测电极隔开。驱动电极和感测电极彼此交叉的点被称为节点。驱动电极和感测电极可以包括任何合适的材料,如氧化铟锡(ito)。

通过触敏显示器118可以检测到一个或多个触摸(也被称为触摸接触或触摸事件)。处理器102可以确定触摸的属性(包括触摸的位置)。触摸位置数据可以包括针对接触区域的数据或针对接触的单个点(例如处于或靠近接触区域的中心的点)的数据。检测的触摸的位置可以包括相对于触敏显示器118的视野而言的x分量和y分量,例如分别是水平分量和垂直分量。可以检测到来自任何合适的输入件(例如手指、拇指、附肢或其它物体)的触摸。可能检测到多个同时触摸。

通过重复扫描触敏显示器118的电极来检测触摸,可以检测到触摸相对于触敏显示器118的移动。触敏显示器118还可以检测一个或多个手势。手势(例如扫动(也被称为轻弹))是在触敏显示器118上的一种特定类型的触摸,并且可以开始于起点且继续到终点(例如,手势的结束端)。可以通过手势的属性(包括例如起点、终点、行进的距离、持续时间、速度和方向)来识别手势。手势在距离和/或持续时间上可以是长的也可以是短的。手势的两个点可被用于确定手势的方向。手势还可以包括悬停。悬停可以是在一段时间内通常未改变的或在一段时间内与相同的选择项相关联的位置上的触摸。

如上所述,便携式电子设备100包括被存储在存储器110中且可被处理器102执行以在便携式电子设备上提供各种功能的应用。应用可以包括例如电子邮件消息应用、日历应用、联系人应用、数字照片应用、音乐播放器或音频应用以及其它合适的应用。

用于便携式电子设备的安卓(android)操作系统例如针对每个应用的数据记录使用相应的内容提供商。每个内容提供商充当接口并且管理对例如存储器110中的与该应用相关联的数据记录的访问。因此,例如,在存储器110中的电子邮件消息经由电子邮件内容提供商公开(expose),在存储器110中的日历数据记录经由日历内容提供商公开,在存储器110中的联系人数据记录经由联系人内容提供商公开,在存储器110中的数字照片和数字音频文件经由媒体内容提供商公开。类似地,在存储器110中的与其它应用相关联的数据记录可以经由其它内容提供商公开。

此外,其它应用可以利用内容提供商来暴露存储在便携式电子设备100外部的数据记录。例如,社交媒体应用可以驻留在便携式电子设备100上并且可被用于在便携式电子设备100可访问的社交媒体网站上存储数据记录。

这些应用中的每一个提供被存储的且可由便携式电子设备100的处理器访问的内容。搜索各种类型的数据记录是值得期望的。

查询特定于每个应用的数据记录的结构,并且不同应用的结构有所不同。在没有关于数据的结构的具体信息的情况下,查询以及对查询结果的存储和过滤不能被通用或一般搜索客户端(其是出于一般搜索目的而访问遍及所有的或多个内容提供商的数据记录的应用)执行。执行遍及所有的这样的数据的搜索还导致不一致,这是与在每个应用内完成的搜索相比而言的。

为了提供遍及多个应用的统一的搜索结果,针对应用中的每个应用存储元数据。所述元数据包括标识与该应用相关联的内容提供商的位置的信息,其可以在便携式电子没备100上,也可以远离便携式电子设备100。元数据还包括:用于将数据记录中的数据与搜索客户端所使用的统一格式相关联的映射,以及可过滤字段和过滤方法的标识。

用于将数据记录中的数据与统一格式相关联的映射包括:通过将数据记录中的数据的列与统一格式列相关联实现的数据记录中的字段到统一格式的搜索字段的映射。

所述元数据可被存储在便携式电子设备100上的存储器110中的单个文件中,使得文件包括与多个应用相关联的元数据。因此,与两个或多于两个应用相关联的元数据位于存储器110中的相同的文件或位置中。可替代地,与应用相关联的元数据可以与相关联的应用一起存储,使得针对各种应用的元数据不全部存储在同一文件或同一数据位置中。

在开始利用元数据的搜索之前,由便携式电子设备100的处理器102识别元数据。例如当应用被下载到便携式电子设备100上时,可以识别元数据。元数据可以伴随应用,使得元数据与该应用一起下载。因此,处理器102被配置为在利用元数据之前搜索存储器110中的元数据。

元数据可以例如被包括在可扩展标记语言(xml)元数据文件中。

与日历应用相关联的元数据的部分的一个简化示例被包括在下文中。

在该示例中,mime_type=″vnd.ped.calendar″将与该应用相关联的可搜索数据记录的类型标识为日历事件。resource_package=″com.device.infrastructure″和uri_authority=″com.device.universalsearch.adapter.calendar″一起标识与该应用相关联的内容提供商的位置,所述内容提供商充当接口并且管理对日历数据记录的访问。因此,元数据与内容提供商相关联。用于将数据记录中的数据与统一格式相关联的映射被包含在<list_item_mapping>下,并且在该示例中,将日历数据记录的列(包括“title(标题)”、“description(描述)”、“eventlocation(事件位置)”和“dtstart”)分别映射到统一格式列“primary_text(主文本)”、“secondary_text(次要文本)”、“tertiary_text(第三级文本)”和“timestamp(时间戳)。

尽管未被包括在以上示例中,但是元数据还包括可过滤字段和过滤方法的标识。与消息传送应用相关联的元数据的部分的一个示例被包括在下文中。

在该示例中,mime_type=″vnd.ped.message″将与该应用相关联的可搜索数据记录的类型标识为消息。resource_package=″com.device.infrastructure″和uri_authority=″com.device.universalsearch.adapter.message″一起标识与该应用相关联的内容提供商的位置,所述内容提供商充当接口并且管理对存储的消息的访问。在该示例中,包括两个过滤器。仅仅一个列映射被示出,其中消息的“from(发送自)”列被映射到统一格式列“primary_text”。其它列映射可以存在,然而,仅仅一个列映射被示出以简化本示例。

由android内容提供商提供的查询api在(http://developer.android.com/reference/android/content/contentresolver.html#query(android.net.uri,java.lang.string[],java.lang.string,java.lang.string[],java.lang.string))

query(uriuri,string[]projection,string,selection,string[]selectionargs,stringsortorder)中进行了阐述。

使用android内容提供商查询api,存在两种方法将查询过滤器传递给内容提供商。

1)过滤器可被应用为uri参数。在这种情况下,过滤器被传递到查询(quey)功能作为uri的一部分,例如query(“content://content/provider/uri?column1=value1&column2=value2”,projection,null,null,sortorder)。

2)过滤器还可以被应用为选择参数。在这种情况下,selection(选择)和selectionargs参数被使用,例如query(“content://content/provider/uri”,projection,“column1=?andcolumn2=?”,[“value1”,“value2”],sortorder)。

取决于内容提供商的实现,查询过滤器可以按方法1)或方法2)或方法1)和方法2)的任何组合被接受。为了适应不同内容提供商的不同实现,与那些内容提供商交互的搜索客户端可以针对每个内容提供商实现特定的逻辑以在不同的方法中往下传递查询过滤器。这造成了搜索客户端实现的复杂性。

通过在元数据中指定过滤器信息,它使得客户端方面不需要实现针对内容提供商特定的逻辑,相反,客户端可以使用通用api来传递过滤器,并且转而,通用api利用在元数据中指定的过滤器定义来以它接受的方式将过滤器传递到每个内容提供商。

过滤器包括用于按账户来过滤消息的过滤器。例如,用于过滤与多个账户中的一个账户相关联的消息,其中,针对账户,消息被存储在便携式电子设备上或被存储在便携式电子设备外部。元数据还标识过滤方法或过滤器的应用。在按账户过滤消息的示例中,当查询消息传送内容提供商时,过滤器被应用为统一资源标识符(uri)参数,如通过apply_as=″uri_param″指示的。

包括的第二过滤器用于按发送者或“from”来过滤消息。在该示例中,当查询消息内容提供商时,过滤器被应用为选择参数,如通过apply_as=″selection_param″/>指示的。

在图2中示出了说明搜索客户端和与应用关联存储的数据源之间的关系的简化功能框图。示出的和描述的单元可以被实现为(例如由处理器102)执行的软件。考虑到本描述,软件的编码在本领域普通技术人员的能力范围之内。可以利用另外的单元或者比示出的和/或描述的更少的单元。

搜索客户端202被示出。搜索客户端202被用于执行对数据记录(例如电子邮件消息、日历数据记录、数字照片等等)的搜索。搜索客户端202使用通用应用编程接口(api)204,api204访问针对每个相关联的应用的元数据。元数据标识针对关联的应用的内容提供商,并且内容提供商被用于访问针对该应用的数据记录。在图2中示出的示例中,通用api204使用第一元数据206,第一元数据206标识用于访问与第一应用相关联的第一数据记录210的第一内容提供商208。第二元数据212标识用于访问与第二应用相关联的第二数据记录216的第二内容提供商214。类似地,第三元数据218标识用于访问第三数据记录222的第三内容提供商220。搜索客户端202,通过通用api204,利用通过使用第一元数据206、第二元数据212和第三元数据218的映射提供的统一数据格式(在本文也被称为统一格式),经由相应的内容提供商208、214、22,来搜索相应的数据记录210、216、222。

在图3中示出了数据记录中的字段到统一格式中的搜索字段的映射的示例。数据记录中的字段到统一格式中的搜索字段的映射是由便携式电子设备100的处理器102通过通用api利用与应用中的每个应用关联的元数据来执行的。在该示例中,通过表格302示出统一格式中的数据,其包括“primarytext(主文本)”列304、“secondarytext(次要文本)”列306和“timestamp(时间戳)”列308。统一格式可以包括任何其它合适的字段和任何数量的合适的字段或列。此外,数据记录中的字段到统一格式中的列或字段的映射仅仅作为一个示例示出。统一格式可以包括其它列,并且字段的映射可以不同于本示例中的映射。

数据记录(其例如包括来自消息传送应用的消息、来自数字照片应用的数字照片和来自日历应用的日历记录)包括映射到统一格式中的“primarytext(主文本)”列304、“secondarytext(次要文本)”列306和“timestamp(时间戳)”列308的列。

与消息传送应用相关联的元数据310提供映射,并且内容提供商312管理对来自消息传送应用的消息的访问。为了本示例的目的,两个消息被示出。利用元数据310,“sender(发送者)”列314被映射到统一格式中的“secondarytext(次要文本)”列306,“subject(主题)”列314被映射到统一格式中的“primarytext(主文本)”列304,并且“received(接收的)”列318被映射到统一格式中的“timestamp(时间戳)”列308。

与数字照片应用相关联的元数据320提供映射,并且内容提供商322管理对来自数字照片应用的数字照片的访问。为了本示例的目的,两个数字照片被示出。利用元数据320,“filename(文件名)”列324被映射到统一格式中的“primarytext(主文本)”列304,并且“uri”列326被映射到“secondarytext(次要文本)”列306。在本示例中,在数字照片中没有被映射到统一格式中的“timestamp”列308的列。因此,统一格式中的列可以保持为空。

与日历应用相关联的元数据330提供映射,并且内容提供商332管理对来自日历应用的日历数据记录的访问。为了本示例的目的,一个日历数据记录被示出。利用元数据330,“title(标题)”列334被映射到统一格式中的“primarytext(主文本)”列304,“location(位置)”列336被映射到统一格式中的“secondarytext(次要文本)”列306,并且“starttime(开始时间)”列338被映射到统一格式中的“timestamp(时间戳)”列308。

在图3的示例中,响应于在便携式电子设备100上的搜索客户端中接收到搜索查询,搜索客户端利用通用api来执行对消息、数字照片和日历数据记录的搜索,并且结果被返回并被映射到统一数据格式(例如图3中示出的数据格式)。可以由客户端使用通用渲染逻辑将具有统一数据格式的结果显示在便携式电子设备100的显示器上。

在图4中示出了说明在便携式电子设备上的针对数据记录的搜索过程的序列图。考虑到本描述,用于执行这样的过程的软件的编码在本领域的普通技术人员的能力范围之内。可以执行附加的过程或比示出的和/或描述的更少的过程,并且过程可以按照不同的顺序来执行。

为了本描述的目的,如先前参考图2中示出的简化的功能框图是使用的一样,在此处可能使用相同的参考标号。然而,在本示例中出于简化和清楚的目的,仅仅两个应用数据源存在于便携式电子设备100上并且被搜索,因此仅仅示出与两个数据源相关联的元数据206、212。相应地,仅仅示出与两个应用数据源相关联的两个内容提供商208、214。然而,可以使用其它合适数量的数据源、内容提供商和元数据。

元数据206、212与各自的应用相关联地存储在便携式电子设备100上。

搜索客户端202通过利用包管理器402来搜索或识别搜索源。例如包管理器402可以android包管理器,所述android包管理器用于管理例如用于查询和操纵安装包以及相关许可的方法。搜索客户端202可以响应于搜索客户端的发起而在搜索客户端处开始识别搜索源的过程。搜索客户端可以在执行搜索之前的任何时间(例如,在搜索客户端启动时)开始发现搜索源的过程。搜索客户端还可以利用包管理器的通知机制来主动侦听设备100上的应用安装/卸载通知并且更新搜索源信息。

在步骤412处,包管理器402搜索和识别所有与相应的应用相关联的元数据206、212。包管理器402因此识别出元数据206、212,所述元数据包括:标识与应用相关联的数据记录的位置的信息、用于将数据记录中的数据与搜索客户端所使用的统一格式相关联的映射、以及可过滤字段和过滤方法的标识。

在步骤414处,包管理器402向所述客户端202返回搜索源(其是元数据源)列表,以提供对元数据206、212、214的访问。在步骤416处,基于搜索配置来选择搜索源,其是用户可基于搜索源列表中返回的可用搜索源进行选择的。因此,响应于接收到在客户端针对其发起了查询的数据源的指示,在步骤416处选择搜索源,并且在步骤418处将搜索查询从搜索客户端202发送到通用api。通用api204因此执行搜索。

在步骤420处,api204使用并分析元数据206、212以确定相应的内容提供商位置、列映射、过滤器和过滤方法。

在步骤422处,通用api204构造用于搜索每个相应的数据源的查询,并且基于元数据206、212来应用过滤器。在步骤424处,于是将查询从通用api204发送给针对被搜索的相应的应用数据记录的内容提供商208、214。可以使用多线程在同一时间查询多个内容提供商。

在步骤426处和步骤432处,从相应的内容提供商208、214向通用api204回送查询结果。在步骤428处和434处,于是由通用api204使用来自元数据206、212的列映射将通用api204接收到的查询结果转换为统一格式。

在转换到统一格式之后,在步骤430处和步骤436处,通用api204将搜索结果通知给搜索客户端202。于是,通过在搜索客户端中使用通用逻辑按照统一数据格式显示搜索结果来提供所述搜索结果。

有利地,利用元数据(其包括标识与应用相关联的数据记录的位置的信息、用于将数据记录中的数据与搜索客户端所使用的统一格式相关联的映射、以及可过滤字段和过滤方法的标识,可以提供遍及多个应用的统一搜索结果。因此,可以针对提供的内容的结构随不同应用数据源而不同的每个应用进行一致的搜索、过滤和显示。

根据一个方面,提供了一种在便携式电子设备上搜索数据记录的方法。所述方法包括:针对便携式电子设备可执行的多个应用中的每个应用,存储相应的关联的元数据,所述元数据标识与该应用关联的数据记录的位置、用于将数据记录中的数据与搜索客户端所使用的统一格式相关联的映射、以及可过滤字段和过滤方法的标识。所述方法还包括:响应于在搜索客户端处接收到搜索查询,使用与多个应用关联存储的元数据来执行对数据记录的搜索并识别符合搜索查询的多个数据记录以提供搜索结果,以及在便携式电子设备上按照统一格式提供搜索结果。

根据一个方面,提供了一种便携式电子设备。所述便携式电子设备包括:显示器,用于显示针对数据记录的搜索的结果;以及存储器,用于存储多个应用,以及针对多个应用中的每个应用,存储相应的关联的元数据,所述元数据标识与该应用相关联的数据记录的位置、用于将数据记录中的数据与搜索客户端所使用的统一格式相关联的映射、以及可过滤字段和过滤方法的标识。所述便携式电子设备还包括处理器,所述处理器耦合到显示器和存储器,以利用与多个应用关联存储的元数据来执行对数据记录的搜索并识别符合搜索查询的多个数据记录以提供搜索结果,并且在便携式电子设备上按照统一格式提供搜索结果。

权利要求的范围不应受示例中阐述的优选实施例的限制,而应被给予与作为整体的本说明书描述相一致的最广泛的解释。

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