首页> 中国专利> 关系数据库上的即时搜索

关系数据库上的即时搜索

摘要

一种与关系数据库分开的搜索系统生成所述关系数据库中的信息的索引,该索引可被用来查找业务记录(或实体)。一种也与关系数据库分开的搜索系统,接收搜索用户输入机制中的键入或其他字符输入,以及基于接收到的所述键入输入或其他字符输入生成针对所述索引的查询。在接收到附加键入输入或字符时,所述搜索系统返回结果并修改这些结果。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-03-13

    授权

    授权

  • 2017-11-03

    专利申请权的转移 IPC(主分类):G06F17/30 登记生效日:20171017 变更前: 变更后: 申请日:20131018

    专利申请权、专利权的转移

  • 2015-07-29

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20131018

    实质审查的生效

  • 2015-07-01

    公开

    公开

说明书

背景

在当前计算机系统中使用了各种各样的不同类型的搜索引擎和搜索技术。 一些这样的引擎或技术包括web搜索引擎以及在其他应用(如操作系统、web 浏览器、以及数据协作应用(诸如笔记应用))中实现的搜索功能。

这些搜索引擎和技术中的一些实现了“即时搜索”功能。在这一功能中, 在最终用户将字符键入搜索域中时,搜索引擎对数据存储或索引执行重复搜 索。在一种系统中,每次用户暂停其输入达给定时间(诸如约300ms或不同的 时间),搜索就被执行,以减少或控制查询的次数。在另一种系统中,对于用 户的每一击键或字符输入,都执行一个搜索(或查询)。在定位匹配结果时, 搜索引擎可以执行前缀搜索,其中搜索引擎估计整个查询(基于迄今接收到的 字符)并启动所估计的查询。在另一实施例中,搜索引擎搜索与迄今已被输入 的字符相匹配的结果,并返回那些匹配的结果。在用户继续键入附加字符到搜 索域中时,搜索引擎基于该附加字符来细化搜索并基于经细化的搜索来返回结 果。可以看到,即时搜索功能针对要被搜索的数据存储或数据语料库生成大量 查询。

当前使用了各种各样的不同类型的业务数据系统。这样的系统包括客户关 系管理(CRM)系统、企业资源规划(ERP)系统、业务线(LOB)应用,等 等。这些业务数据系统中的许多被构建在关系数据库上。通常,为了查找关系 数据库中的信息,用户生成针对数据库内索引启动的数据库查询。这一类型的 数据库索引通常必须符合所有关系数据库属性(诸如原子性、一致性、隔离性、 以及持久性)。因此,生成关系数据库中的数据库内索引在性能开销方面可能 是耗时的且昂贵的。

另外,在给定时间,许多业务数据系统被大量用户访问。因此,以及时的 方式服务由用户针对关系数据库发起的所有各种查询可能是困难的。极大地增 加针对业务数据系统中的关系数据库发起的查询的数量可能不利地影响性能。

提供以上讨论仅用作一般的背景信息,并不旨在帮助确定所要求保护的主 题的范围。

概述

一种与关系数据库分开的搜索系统生成所述关系数据库中的信息的索引, 该索引可被用来查找业务记录(或实体)。一种也与所述关系数据库分开的搜 索系统,接收搜索用户输入机制中的键入或其他字符输入,以及基于接收到的 所述键入输入或其他字符输入生成针对所述索引的查询。所述搜索系统返回结 果并在接收到附加键入输入或字符时修改这些结果。

提供本概述以便以简化的形式介绍将在以下详细描述中进一步描述的一 些概念。本概述并非旨在标识所要求保护的主题的关键特征或必要特征,也不 旨在用于帮助确定所要求保护的主题的范围。所要求保护的主题不限于解决在 背景中提及的任何或所有缺点的实现。

附图说明

图1是包括搜索系统连同关系数据库系统的业务数据系统的一个说明性实 施例的框图。

图2是示出在生成索引时图1所示的系统的操作的一个实施例的流程图。

图2A示出索引的一部分的一个简化实施例。

图3是示出在针对关系数据库执行即时搜索功能时图1所示的系统的操作 的一个实施例的流程图。

图3A-3E示出说明性用户界面显示。

图4示出包括云计算体系结构在内的各体系结构中的图1所示的系统的一 个实施例。

图5-9示出了移动设备的各种实施例。

图10示出了计算环境的框图的一个实施例。

详细描述

图1是具有与关系数据库系统102通信的即时搜索系统(此后称为搜索系 统)100的业务数据系统98的一个说明性实施例的框图。图1还示出了索引组 件104和具有为用户110生成用户界面显示108的用户界面组件109的客户端 106。在一个实施例中,客户端106说明性地是浏览器或客户端设备上的另一 应用或组件。

业务数据系统98可以是各种各样的不同类型的业务数据系统中的任一种。 例如,它可以是企业资源规划(ERP)系统、客户关系管理(CRM)系统、业 务线(LOB)系统或各种各样的其他业务系统。在任何情况下,关系数据库系 统102被提供在业务数据系统98中以用于访问业务数据记录118。业务数据组 件103说明性地实现了特定系统(诸如ERP系统、CRM系统、LOB系统,等 等)并且执行允许用户110访问并操纵关系数据库系统的功能。

处理器129也说明性地是具有相关联的存储器和时序电路(未分开示出) 的计算机处理器。它说明性地是业务数据系统98的功能部分,且由业务数据 系统98内的各组件和系统来激活,并且促进这些组件和系统的功能。

图1示出关系数据库系统102包括数据库服务器112、处理器114、以及 本身包括业务数据记录118的关系数据库116。将注意到,尽管本系统可参考 存储在关系数据库中的任何类型的数据来描述,但出于示例的目的,在此参考 包括业务数据记录118的业务数据库系统来描述。业务数据记录118可以是各 种各样的不同类型的业务数据记录,诸如产品记录、客户记录、联系人记录、 财务记录、销售记录、人员记录、或各种各样的其他业务记录。

在该示例中,业务数据记录118包括实体120、查找元数据122(即,允 许查找或通过搜索检索各单独实体120的元数据)、表达各实体120之间的关 系的关系元数据124、以及许多其他元数据126。

处理器114说明性地是具有相关联的存储器和时序电路(未分开示出)的 计算机处理器。处理器114说明性地由数据库服务器组件112和关系数据库系 统102中的其他项来激活并促进它们的功能。当然,将明白,处理器114实际 上可包括多个处理器或单个处理器,且它也可被集成到数据库服务器组件112 或其他项。仅出于示例目的,它被分开示为处理器114。

在业务数据系统的正常操作期间,关系数据库系统102的用户110说明性 地输入针对关系数据库116的查询以查找业务数据记录118。该查询说明性地 是通过UI显示108上的用户输入机制来输入的,并且被提供给数据库服务器 组件112,数据库服务器组件112针对关系数据库执行该查询并基于该查询返 回结果。

系统98还包括搜索系统100,搜索系统100说明性地包括处理器128、搜 索组件130以及即时搜索索引(此后称为搜索索引)132。在操作中,搜索系 统100实现针对关系数据库116的即时搜索功能,而没有显著地增加关系数据 库系统102的索引开销或查询开销。这在以下参考图3更详细地描述。然而, 出于示例的目的,现在提供简要概览。

索引组件104说明性地对关系数据库116中的业务数据记录118间歇地进 行索引。索引组件104这样做以生成搜索索引132。在用户110输入搜索时(诸 如在UI显示108或另一合适的用户输入机制之一上生成的搜索域中键入字 符),客户端106将该输入134提供给搜索组件130,搜索组件130基于接收 到的每一单独的字符针对搜索索引132执行查询。在一个实施例中,可针对用 户输入的每一字符输入执行一个查询。这只是一个示例,且该系统在此以此方 式来描述。在另一实施例中,查询的数量可通过等待执行查询直至用户暂停提 供输入达预定义时间段来降低。例如,如果用户暂停键入达例如300ms,则执 行查询。当然,该预定义时间段可以更短或更长,且可通过经验或其他方式来 确定。在任何情况下,组件130基于针对索引132执行的查询来返回搜索结果 136。在用户110向搜索域继续键入字符时,搜索组件130基于这些附加输入 来细化针对索引132的搜索并向客户端106返回经修订的结果136。客户端106 说明性地在UI显示108上的用户110正用来进行搜索的搜索域附近显示结果 136。

在更详细地描述即时搜索功能之前,将参考图2描述索引组件104的操作 的一个实施例。图2是示出生成搜索系统100的搜索索引132的索引组件104 的操作的一个实施例的流程图。

索引组件104首先确定是否到了对关系数据库116中的业务数据记录118 进行索引的时刻(或更新其索引的时刻)。这在图2由框140指示。索引组件 104可通过间歇地或周期性地对业务数据记录118进行索引来做到这一点。索 引操作之间的周期或间歇时间可说明性地由管理员或用户按需预定义或定义。 索引操作之间的时间可说明性地基于应用以及基于被索引数据在关系数据库 116中被修改的频率而变化。频繁修改的数据可被更频繁地索引,而较不频繁 修改的数据可被较不频繁地索引,或者所有数据可按同一速率来被索引。在一 个实施例中,例如,索引组件104每两天更新索引132。这只是示例且也可以 使用其他时间段。

在任何情况下,在索引组件104确定到了对数据进行索引的时刻时,它访 问关系数据库116。这由图2中的框142指示。索引组件104随后基于关系数 据库116中的信息来创建或更新搜索索引132。创建和更新搜索索引由图2中 的框144指示。在这样做时,索引组件104可以对各种不同类型的信息进行索 引。在一个实施例中,索引组件104对业务数据记录118中的被用户选择的字 段进行索引。当然,被索引的字段也可被预定义。对字段进行索引由框146指 示。

索引组件104还说明性地基于查找元数据122对业务数据进行索引。即, 关系数据库116中的各单独实体120说明性地包括被用来定位关系数据库116 中的对应实体120的元数据。对于每一实体120,一组属性说明性地被标记为 元数据122(例如,执行查找操作来定位对应实体120所必需的)。在一个实 施例中,索引组件104将这一查找元数据122复制出关系数据库116并将其置 于搜索索引132中。基于查找元数据的索引由图2中的框148指示。另外,索 引组件104也可以基于其他信息来生成或更新索引132,并且那些字段可包括 名称字段、描述字段、备注字段、客户账户字段、菜单字段、菜单项的标记, 等等。这一其他信息在图2中由框150指示。

在一个实施例中,还将注意到,要被索引组件104用来生成搜索索引132 的字段可以是不同的类型。例如,在一个实施例中,被索引的字段只是搜索字 段。即,它们只被用来执行搜索以实现搜索组件130的即时搜索功能。其他字 段可被用来执行该类型的搜索功能,但也可被标记为在结果136被返回给用户 110时显示的显示字段。在一个实施例中,其他字段可被显示,但不被用于搜 索。因此,在一个实施例中,被索引的字段可被标记为只被用于搜索的字段、 只被用于显示的字段、或用于搜索和显示的组合的字段。这由图2的框152指 示。

图2A示出由索引组件104生成的说明性索引132的一个实施例。可以看 到,该索引具有位置ID字段、描述字段、是邮政地址字段以及父位置字段。 表153进一步假定索引组件104对存储位置ID字段进行索引,但这一字段是 不可搜索的(它被标记为只用于显示)。假定该索引还存储记录ID(图2A中 未示出)。此外,“描述”字段被索引以用于搜索和显示的目的。在这种情况 下,该索引将包括记录ID、位置ID(它被标记为只用于显示且不用于搜索)、 以及描述字段(它被标记为用于显示和搜索两者)。

一旦创建了搜索索引132,它就可被搜索组件130用来执行即时搜索功能。 图3是示出搜索系统100执行这一点时的操作的一个实施例的流程图。搜索组 件130说明性地生成由客户端106提供给用户110来作为UI显示108之一的 用户界面显示。用户界面显示是允许用户110(诸如通过键入或其他方式)输 入字符以搜索关系数据库116中的实体的搜索用户界面。显示搜索UI以接收 输入来搜索关系数据由图3中的框160指示。

搜索组件130随后接收通过搜索UI录入的键入(或其他字符)输入。这 由图3中的框162指示。

搜索组件130随后基于键入输入来搜索索引132以寻找搜索索引132中表 示的实体。这由图3的框164指示。当然,搜索组件130可以使用各种各样的 不同搜索技术来执行各种各样的不同搜索。那些技术中的一些在图3中只是作 为示例被示出。例如,组件130可以执行短语前缀搜索166、简单前缀搜索168、 或其他类型的搜索170。

基于该查询,组件130通过客户端106返回结果136给用户110。在返回 结果时,组件130说明性地实现可由业务数据系统98使用的任何基于角色的 访问或基于角色的安全性(或其他安全性)。这由图3的框172指示。类似地, 搜索组件130可以考虑用户110提交的先前查询。例如,如果用户110先前访 问了给定实体,则所进行的前缀搜索(或其他搜索)可以优先选择该实体超过 其他实体。也构想了以其他方式考虑先前查询。这由图3的框174指示。

在任何情况下,一旦搜索组件130启动针对索引132的查询,它就获得搜 索结果136,并通过客户端106和用户界面显示108返回结果136给用户110。 这由图3的框176指示。将注意,在一个实施例中,UI显示108可由用户界面 组件109以各种不同的方式来生成。结果可被显示在显示与查询相匹配的所有 结果的用户界面显示上。这由框178指示。当然,用户界面显示也可以显示结 果的子集,如框180所指示的,并且“查看全部”选项也可被提供给用户110, 使得用户可以提供合适的用户输入以查看所有结果。查看全部选项由图3中的 框182指示。

图3A示出了可以使用的一个示例性搜索用户界面显示164。用户界面显 示164包括搜索域166和显示结果136的下拉菜单168。可以看到,在图3A 中,用户在搜索域166中键入了字母J。作为响应,搜索组件130对索引132 进行搜索,并且使用上述图2A中示出的示例索引找到两个条目。第一条目是 JJ Field Trip Service Ltd.,且第二条目是JJ Pollen Counting Investments Limited。

图3A示出了在搜索组件130执行简单前缀搜索时,它对索引的要被搜索 的各字段(在这一情况下是“描述”字段)中的单词进行搜索。因为用户已经 将“j”键入到搜索框166,所以结果菜单168中的这两个结果被返回,因为它 们在描述字段中的单词或文本片段之一的开头处具有“j”。在一个实施例中, 这可以如图所示地完成,或通过使用句法,如“j*”。这仅是示例性的。在另 一实施例中,搜索组件130定位在串中任何位置处包含字母“j”的任何记录。

图3B是搜索用户界面显示170的另一实施例。搜索用户界面显示170类 似于搜索用户界面显示164,除了用户将字母“l”键入搜索框166之外。同样, 所返回的结果与图3A所示的相同,因为搜索组件130在索引中的相同两个条 目中的单词或文本片段之一的开头处找到字母“l”。

图3C示出了用户界面显示184的另一实施例。用户界面显示184示出了 其中搜索组件130对短语执行前缀搜索的示例。可以看到,用户将字符串“jj f” 输入到搜索框166。因为搜索组件130对索引记录中的短语执行前缀搜索,所 以它在下拉显示168中只返回了““JJ Field Trip Service Ltd.”的记录。这一类 型的搜索帮助用户110从以上参考图3A和3B描述的简单的前缀搜索缩窄了结 果。

还将注意,如果搜索索引132中的多个字段可由搜索组件130搜索,则用 户输入的文本被跨索引132中的所有可搜索字段进行搜索。在一个实施例中, 这是自动完成的,无需用户110输入要被搜索的特定字段。它们被标记为索引 中的可搜索字段且它们被搜索组件130自动搜索,以基于用户输入生成结果。

图3D示出了索引条目133的示例性集合的另一实施例。可以看到,索引 组件104已经索引了六个字段,包括国家或区域ID、邮政编码、州、县、城市、 以及街道。在用户键入(或以其他方式输入)字符134时,搜索组件130对图 3D所示的搜索条目133中的所有字段进行搜索并返回结果。下表1列出了输入 集合,其中所有输入将匹配图3D中所示的第一行。表1还示出了哪些列将被 匹配。

表1

1.fry(街道列上的匹配)

2.ved(城市列上的匹配)

3.ad(街道列上的匹配)

4.all(街道列上的匹配)

下表2列出了输入集合,其中所有输入将匹配图3D中所示的第二行。表 2还示出了将被匹配的特定列。

表2

1.Du(邮政编码和城市列上的匹配)

2.FO(街道列上的匹配)

当然,这些只是示例性的,并且它们提供将匹配各行的字符输入的示例, 因为在这些即时搜索功能时多个不同字段被搜索组件130搜索。

在一个实施例中,用户110还可对返回的搜索结果136执行进一步结构化 的搜索。这由图3的框184示出。将注意到,框184以幻影示出,因为它是可 任选的。图3E示出了允许用户这样做的一个说明性用户界面显示186。在所示 实施例中,结果136被返回且显示在结果窗格188中。用户可简单地通过点击 或以其他方式致动所显示的结果之一来说明性地选择它。或者,用户可以执行 附加搜索。例如,在图3E所示的实施例中,用户指示了结果要基于“别名” 字段被进一步过滤,因为它被录入到过滤域190中。用户已指示结果要被过滤, 使得别名字段不包含字母串“amikul”,如在域192中所示,但它的确包含字 母串“ab”,如在框194中所示。在录入了这些进一步搜索参数之后,用户可 简单地致动“确认”按钮196并且显示在结果窗格188中的结果被搜索组件130 基于用户110在域190、192以及194中提供的进一步输入来进一步过滤或排 序。

一旦搜索结果136已在UI显示108上被显示给用户110,用户可说明性地 从所显示的结果集中选择搜索结果之一,或者用户可以提供附加键入(或其他 字符)输入,使得搜索组件130可以继续执行即时搜索功能并进一步缩窄显示 给用户110的返回结果136。确定用户是否已选择结果之一由图3中的框200 指示。基于进一步键入输入来更新搜索结果由框202指示,且处理随后返回框 176,在此经更新的搜索结果被显示给用户。

然而,如果在框200,确定用户已选择搜索结果之一,则搜索组件130返 回并显示与所选搜索结果相对应的记录。这由框204指示。在一个实施例中, 在用户选择搜索结果之一时,所选结果与来自业务数据记录118的实体120之 一相对应。因此,搜索组件130返回所选实体并将它显示给用户。

业务数据组件103还说明性地生成所选实体与关系数据库116中的目标实 体之间的正确关系。作为示例,假定用户创建了项目且需要将该项目分派给目 标实体。用户使用搜索系统100来标识目标实体(如与给定客户相对应的实体)。 在用户从返回结果136中选择与给定客户相对应的搜索结果时,业务数据组件 103说明性地分派该刚创建的项目与关系数据库116中的给定客户实体之间的 适当关系。作为示例,这可包括定义与给定客户相对应的实体同表示该项目的 实体之间的关联。当然,用户110输入的项与关系数据库116中的目标记录之 间的其他关系也可被创建。创建所选实体与目标实体之间的所需关系由图3中 的框206指示。

因而,可以看到,系统100可被用在各种各样的不同上下文中。一个示例 性上下文是在用户110搜索已知值的情况下。假定例如用户110具有大量纸质 订单要录入到业务数据系统98。每一纸质订单包含该订单要被录入到的客户的 名称。用户110打开业务数据系统98中的销售订单表单。要录入的信息段是 与该销售订单相关的客户的名称。用户110可简单地将纸质订单的客户的名称 的前几个字符(或甚至单个字符)键入销售订单表单上的客户域并且基于录入 到系统100的该前几个(或单个)字符被呈现了返回结果136的下拉菜单(或 其他用户界面显示108)。搜索组件130标识要作为结果136被显示给用户110 相关字段,并且结果136可被显示,使得该列表中的第一结果被默认地选择。 当然,如果用户110改变该列表中的焦点,则其他结果也可被选择。在用户继 续键入字符而没有选择结果之一时,搜索组件130针对索引132启动附加搜索 并更新所显示的结果136。

在另一示例中,用户110可以使用系统100来搜索部分已知的值。假定例 如用户110在将销售订单录入到业务数据系统98的任务中被打断,但决定继 续该任务。进一步假定用户110在当天早些时候在同销售人员打电话,其中该 销售人员向用户110给出了销售订单的细节以录入到系统98。情况可能是用户 110将销售订单的细节写在一张纸上,但不能完全回忆起客户的名称(它可能 在纸张上以杂乱的方式被潦草地写下)在系统98中是“Sunflaw Wholesales” 还是“Sunglyph Wholesales”。用户110因而打开系统98中的销售订单表单并 导航到客户域且开始键入。在键入每一字符后(或在用户键入暂停后),用户 110被呈现了与迄今为止在查询中录入的字符相匹配的客户结果。搜索组件130 可以跨多个不同字段执行搜索,如客户名称、描述、备注、客户账户,等等。 在用户110开始键入“su”字符时,可能存在与该查询相匹配的许多客户。这 些的子集可被呈现给用户110作为用户界面显示108的一部分,并且用户110 可被提供通过致动合适的用户输入机制来查看全部结果的选项。现在,用户110 决定通过键入附加字母来缩窄结果,并且录入字母“n”,使得录入的串是“sun”。 这可显著缩窄结果,用户110现在可以解读当天早些时候记录的手写笔记。

系统100也可被用来查找未知值。假定在另一示例中,用户110同样将销 售订单录入到系统98且注意到一个特定订单提到了联系人信息。用户110可 导航到该实体内的“联系人”框并请求联系人列表。用户110随后注意到联系 人列表包含先前已被各销售人员录入到系统98的数百联系人。然而,用户110 可将地区和国家录入到一个或多个搜索域。在用户110开始键入地区和国家的 字符时,搜索系统130开始将联系人列表缩窄到与录入在适当的用户输入域中 的地区和国家字符串相对应的那些。

图4是以各种体系结构示出的包括云计算体系结构500的系统98的框图。 云计算提供了不要求最终用户知晓交付服务的系统的物理位置或配置的计算、 软件、数据访问和存储服务。在各个实施例中,云计算通过诸如因特网之类的 广域网使用合适的协议来交付服务。例如,云计算提供者通过广域网交付应用, 并且它们可以通过web浏览器或任何其他计算组件被访问。系统98的软件或 组件以及相对应的数据可被存储在远程位置处的服务器上。云计算环境中的计 算资源可以被整合在远程数据中心位置处或者它们可以是分散的。云计算基础 架构可以通过共享数据中心来交付服务,即使在用户看来它们是单个访问点。 因此,在此所述的组件和功能可以从远程位置处的服务提供者使用云计算体系 结构来提供。可替代地,它们可以从常规的服务器中提供,或者它们可以直接 地或以其他方式安装在客户端设备上。

本说明书旨在包括公共云计算和私有云计算两者。云计算(公共和私有两 者)提供了基本无缝的资源联营以及对管理和配置底层硬件基础结构的降低的 需求。

公共云由供应商管理,并且通常支持使用同一基础结构的多个消费者。此 外,与私有云相反,公共云能够将终端用户从管理硬件中释放出来。私有云可 由组织本身管理,并且基础结构通常不与其他组织共享。该组织在某种程度上 仍然维护着硬件,诸如安装和维修等。

图4中示出的实施例具体地示出了业务系统98位于云502(可以是公共的、 私有的、或者其中某些部分是公共的而某些部分是私有的组合)中。因此,用 户110使用用户设备504(它可以是具有客户端106的客户端设备)来通过云 502访问那些系统。

图4还描绘了云体系结构的另一实施例。图4示出还构想了业务系统98 的某些元素被置于云502中而某些元素没有被置于云502中。作为示例,数据 库系统102可被置于云502的外部,并且通过云502来访问。在另一实施例中, 系统98的部分或全部组件同样位于云502的外部。无论它们位于哪里,它们 都可直接由设备504通过网络(广域网或局域网)访问,它们可由服务主存在 远程站点处,或者它们可作为服务通过云来提供或通过驻留在云中的连接服务 来访问。图4还示出系统98的某些或所有部分可位于设备504上。本文构想 了所有这些体系结构。

还要注意,系统98或其部分可被置于各种不同的设备上。这些设备中的 某些包括:服务器、台式计算机、膝上型计算机、平板计算机、或其他移动设 备,诸如掌上计算机、蜂窝电话、智能电话、多媒体播放器、个人数字助理等。

图5是可被用作其中可部署本系统(或其部分)的用户或客户机的手持式 设备16的手持式或移动计算设备的一个说明性实施例的简化框图。图6-9是手 持式或移动设备的示例。

图5提供了客户端设备16的组件的大体框图,该客户端设备16可以运行 系统98的组件或者与系统98交互、或二者。在设备16中,提供了通信链路 13,该通信链路允许手持设备与其它计算设备通信,并且在一些实施例中提供 用于诸如通过扫描来自动接收信息的信道。通信链路13的示例包括:红外端 口、串行/USB端口、诸如以太网端口之类的电缆网络端口、以及允许通过一个 或多个通信协议的通信的无线网络端口,所述通信协议包括作为用于提供对网 络的蜂窝接入的无线服务的通用分组无线服务(GPRS)、LTE、HSPA、HSPA+、 以及其他3G和4G无线电协议、1Xrtt和短消息服务,并包括提供对网络的无 线连接的802.11和802.11b(WiFi)协议、和蓝牙协议。

根据其他实施例,应用或系统(如系统98)在连接到SD卡接口15的可 移动安全数字(SD)卡上被接收。SD卡接口15和通信链路13沿总线19与处 理器17(也可实现来自图1的处理器114、128或129)进行通信,该总线19 还连接到存储器21和输入/输出(I/O)组件23、以及时钟25和位置系统27。

在一个实施例中,提供了I/O组件23以促进输入和输出操作。针对设备 16的各个实施例的I/O组件23可以包括:输入组件,比如按钮、触摸传感器、 多点触摸传感器、光学或视频传感器、语音传感器、触摸屏、邻近传感器、话 筒、倾斜传感器以及重力开关;以及输出组件,比如显示设备、扬声器和或打 印机端口。也可以使用其他I/O组件23。

时钟25说明性地包括输出时间和日期的真实时间时钟组件。时钟还可以 说明性地为处理器17提供定时功能。

位置系统27说明性地包括输出设备16的当前地理位置的组件。这例如可 以包括全球定位系统(GPS)接收机、LORAN系统、航位推算系统、蜂窝三角 测量系统、或者其他定位系统。这例如还可以包括生成所期望的地图、导航线 路和其它地理功能的测绘软件或导航软件。

处理器21存储操作系统29、网络设置31、应用33、应用配置设置35、 数据存储37、通信驱动程序39以及通信配置设置41。存储器21可以包括所 有类型的有形易失性和非易失性计算机可读存储器设备。其还可以包括计算机 存储介质(下面描述)。存储器21存储计算机可读指令,所述指令在被处理 器17执行时致使处理器根据所述指令执行计算机实现的步骤或功能。系统98 或数据库系统102中的项例如可驻留在存储器21中。类似地,设备16可具有 客户端业务系统24,该客户端业务系统可运行各种业务应用或实现系统98的 部分或全部。处理器17可以也被其他组件激活以促进它们的功能。

网络设置31的示例包括诸如代理信息、因特网连接信息以及测绘之类的 事物。应用配置设置35包括为特定企业或用户定制应用的设置。通信配置设 置41提供了用于与其他计算机进行通信的参数,并且包括诸如GPRS参数、 SMS参数、连接用户名和口令之类的项目。

应用33可以是之前已经存储在设备16上的应用或是在使用期间安装的应 用,但是这些应用可以是操作系统29的一部分,或者也可以在设备16之外被 托管。

图6和7示出其中设备16是平板计算机600的一个实施例。在图6中, 计算机600被示为具有在显示屏602上显示的来自图3C的用户界面显示184。 图7示出计算机600具有显示在屏幕602上的来自图3D的用户界面显示186。 屏幕602可以是触摸屏(使得来自用户手指604的触摸姿势可以用于与应用交 互)或者启用笔的界面,其接收来自笔或指示笔的输入。其还可以使用屏幕上 虚拟键盘。当然,其还例如可以通过诸如无线链路或USB端口之类的合适的附 连机制附连到键盘或其他用户输入设备。计算机600还可以说明性地接收语音 输入。

图8和图9提供了可使用的设备16的附加示例,尽管也可以使用其他设 备。在图8,提供智能电话或移动电话45作为设备16。电话45包括:一组小 键盘47,其用于拨打电话号码;显示器49,其能够显示包括应用图像、图标、 网页、照片和视频在内的图像;以及控制按钮51,其用于选择在显示器上示出 的项目。电话包括天线53,该天线53用于接收诸如通用分组无线服务(GPRS) 和1Xrtt之类的蜂窝电话信号以及短消息服务(SMS)信号。在一些实施例中, 电话45还包括容纳安全数字(SD)卡57的SD卡槽55。

图9的移动设备是个人数字助理(PDA)59或多媒体播放器或平板计算设 备等等(在此称为PDA 59)。PDA 59包括电感屏61,所述电感屏感测指示笔 63(或其他指示器,诸如用户的手指)在该指示笔被置于屏幕之上时的位置。 这允许用户在屏幕上选择、突出显示和移动项目以及绘图和书写。PDA 59还 包括多个用户输入键或按钮(比如按钮65),其允许用户将显示器61上所显 示的菜单选项或其他显示选项滚屏,并且允许用户在没有接触显示器61的情 况下改变应用或选择用户输入功能。尽管未被示出,但是PDA 59可以包括允 许与其他计算机进行无线通信的内置天线和红外发射机/接收机、以及允许对其 他计算设备的硬件连接的连接端口。这样的硬件连接通常是通过经由串行或 USB端口连接到其他计算机的支架来进行的。因此,这些连接是非网络连接。 在一个实施例中,移动设备59还包括容纳SD卡69的SD卡槽67。

注意,设备16的其他形式是可能的。

图10是其中可采用(例如)系统98的计算环境的一个实施例。参考图10, 用于实现一些实施例的示例性系统包括计算机810形式的通用计算设备。计算 机810的组件可以包括,但不限于,处理单元820(可以包括处理器114、128 和129)、系统存储器830和将包括系统存储器在内的各种系统组件耦合至处 理单元820的系统总线821。系统总线821可以是若干类型的总线结构中的任 一种,包括使用各种总线体系结构中的任一种的存储器总线或存储器控制器、 外围总线、以及局部总线。作为示例而非限制,这样的体系结构包括工业标准 体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA) 总线、视频电子技术标准协会(VESA)局部总线和外围部件互连(PCI)总线 (也称为夹层(Mezzanine)总线)。参考先前附图描述的存储器和程序可被部 署在图10的对应部分中。

计算机810通常包括各种计算机可读介质。计算机可读介质可以是能由计 算机810访问的任何可用介质,而且包含易失性和非易失性介质、可移动和不 可移动介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通 信介质。计算机存储介质不同于且不包括已调制数据信号或载波。计算机存储 介质包括硬件存储介质,该硬件存储介质包括以用于存储诸如计算机可读指 令、数据结构、程序模块或其他数据的信息的任何方法和技术实现的易失性和 非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、 ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD) 或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或能用于存 储所需信息且可以由计算机810访问的任何其它介质。通信介质通常具体化计 算机可读指令、数据结构、程序模块或传输机制中的其他数据,并包括任何信 息递送介质。术语“已调制数据信号”是指使得以在信号中编码信息的方式来 设置或改变其一个或多个特性的信号。作为示例而非限制,通信介质包括诸如 有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线 介质之类的无线介质。上述任何组合也应该包括在计算机可读的介质范围内。

系统存储器830包括易失性和/或非易失性存储器形式的计算机存储介质, 如只读存储器(ROM)831和随机存取存储器(RAM)832。包含诸如在启动 期间帮助在计算机810内的元件之间传输信息的基本例程的基本输入/输出系 统833(BIOS)通常存储在ROM 831中。RAM 832通常包含处理单元820可 立即访问和/或当前正在操作的数据和/或程序模块。作为示例而非限制,图10 示出了操作系统834、应用程序835、其他程序模块836和程序数据837。

计算机810还可以包括其它可移动/不可移动、易失性/非易失性计算机存 储介质。仅作为示例,图10示出了从不可移动、非易失性磁介质中读取或向 其写入的硬盘驱动器841,从可移动、非易失性磁盘852中读取或向其写入的 磁盘驱动器851,以及从诸如CD ROM或其他光学介质等可移动、非易失性光 盘856中读取或向其写入的光盘驱动器855。可在示例性操作环境中使用的其 它可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、 闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等。硬盘驱动器 841通常通过诸如接口840之类的不可移动存储器接口连接到系统总线821, 并且磁盘驱动器851和光盘驱动器855通常通过诸如接口850之类的可移动存 储器接口连接到系统总线821。

以上讨论并在图10中示出的驱动器及其相关联的计算机存储介质为计算 机810提供了对计算机可读指令、数据结构、程序模块和其他数据的存储。在 图10中,例如,硬盘驱动器841被示为存储操作系统844、应用程序845、其 他程序模块846和程序数据847。注意,这些组件可与操作系统834、应用程 序835、其它程序模块836和程序数据837相同,也可与它们不同。在此操作 系统844、应用程序845、其它程序模块846以及程序数据847被给予了不同 的编号,以说明至少它们是不同的副本。

用户可以通过诸如键盘862、话筒863以及诸如鼠标、跟踪球或触摸垫等 定点设备861等输入设备来将命令和信息输入至计算机810中。其它输入设备 (未示出)可以包括操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等。这些以 及其它输入设备通常通过耦合到系统总线的用户输入接口860连接到处理单元 820,但也可通过诸如并行端口、游戏端口或通用串行总线(USB)之类的其它 接口和总线结构来连接。视觉显示器891或其他类型的显示设备也经由诸如视 频接口890之类的接口连接至系统总线821。除了监视器以外,计算机还可包 括诸如扬声器897和打印机896之类的其它外围输出设备,它们可通过输出外 围接口895来连接。

计算机810使用到诸如远程计算机880等一个或多个远程计算机的逻辑连 接在网络化环境中操作。远程计算机880可以是个人计算机、手持设备、服务 器、路由器、网络PC、对等设备或其它常见的网络节点,且一般包括以上关于 计算机810描述的多个或所有的元件。图8中所描绘的逻辑连接包括局域网 (LAN)871和广域网(WAN)873,但还可包括其他网络。此类联网环境在 办公室、企业范围的计算机网络、内联网和因特网中是常见的。

当在LAN联网环境中使用时,计算机810通过网络接口或适配器870连 接到LAN 871。当在WAN联网环境中使用时,计算机810通常包括调制解调 器872或用于通过诸如因特网等WAN 873建立通信的其它手段。调制解调器 872可以是内置的或外置的,可经由用户输入接口860或其它适当的机制连接 到系统总线821。在联网环境中,相关于计算机810所示的程序模块或其部分 可被存储在远程存储器存储设备中。作为示例,而非限制,图10示出了远程 应用程序885驻留在远程计算机880上。应当理解,所示的网络连接是示例性 的,并且可使用在计算机之间建立通信链路的其它手段。

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

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号