用于搜索图像的计算机实现方法、装置及数据处理系统与流程

文档序号:11774559阅读:189来源:国知局
用于搜索图像的计算机实现方法、装置及数据处理系统与流程

本发明的实施方式大体涉及搜索内容。更具体地,本发明的实施方式涉及既用于在线内容搜索又用于离线内容分析的统一存储系统。



背景技术:

通常,大多数搜索引擎在其操作期间通过在客户端装置上运行的浏览器来执行网页搜索。搜索引擎接收由用户输入的搜索词,并检索与所述搜索词相关联的网页搜索结果列表。搜索引擎基于某些标准将搜索结果显示为搜索列表的一系列子集合。在搜索操作期间使用的一般标准为:搜索词是完整地还是部分地出现在给定网页上、搜索字串出现在搜索结果中的次数、字母顺序等。此外,用户可以通过点击鼠标按钮来决定打开链接以打开并浏览。可由搜索引擎来监控和采集用户与搜索结果的一些交互和/或采集用户信息,以随后提供更好的搜索。

通常,由搜索引擎在线提供的内容还可被分析系统离线分析。图1是示出用于在线搜索和离线数据分析的常规网络配置的框图。参照图1,客户端装置101至102通过网络103(例如,因特网)通信地联接至网页服务器104和分析服务器105。网页服务器104包括搜索引擎130,以如本示例中基于内容存储系统或服务器110中所存储的内容116向客户端101(例如,浏览用户)提供在线内容搜索。由于必须在非常短的时间内响应于搜索查询搜索并返回内容,因此在线搜索系统(例如,网页服务器104和存储系统110)需要低延迟能力。客户端102(例如,分析用户)访问分析系统或服务器105以通过分析引擎140对存储在分析系统或服务器112上的内容118执行离线数据分析。由于将访问大量的数据,因此离线分析系统(例如,分析服务器105和存储系统112)需要高吞吐能力。可分别通过etl(提取、转换和加载)管线121至122从数据采集系统或数据源150接收内容116和内容118。

在该配置中,必须将相同的内容加载至单独的存储系统110和112中,这可能导致不必要的冗余并需要更多存储空间,而且难以令数据同步或管理数据。此外,数据采集系统150或其他数据源不得不维护至少两个单独的etl管线以将数据供给至两个存储系统110和112,这需要更多网络带宽及其他处理资源。



技术实现要素:

本申请的目的在于提供用于搜索图像的计算机实现方法、用于搜索图像的装置以及操作为主存储节点的数据处理系统。

根据一个方面,提供了用于搜索图像的计算机实现方法,该方法可包括:在主存储节点处从客户端接收对于搜索图像的搜索查询,主存储节点通过存储网络联接至多个工作者存储节点;在主存储节点处利用第一预定哈希函数对搜索查询的一个或多个关键字执行哈希操作从而生成第一哈希值;基于第一哈希值识别工作者存储节点中的第一工作者存储节点;以及将搜索查询重定向至第一工作者存储节点以允许第一工作者存储节点为搜索查询服务,其中第一工作者存储节点根据搜索查询从第一工作者存储节点的第一系统存储器识别一个或多个图像并且将一个或多个图像传输至客户端。

根据另一个方面,提供了用于搜索图像的装置,该装置可包括:在主存储节点处从客户端接收对于搜索图像的搜索查询的装置,主存储节点通过存储网络联接至多个工作者存储节点;在主存储节点处利用第一预定哈希函数对搜索查询的一个或多个关键字执行哈希操作从而生成第一哈希值的装置;基于第一哈希值识别工作者存储节点中的第一工作者存储节点的装置;以及将搜索查询重定向至第一工作者存储节点以允许第一工作者存储节点为搜索查询服务的装置,其中第一工作者存储节点用于根据搜索查询从第一工作者存储节点的第一系统存储器识别一个或多个图像并且将一个或多个图像传输至客户端。

根据又一个方面,提供了操作为主存储节点的数据处理系统,该数据处理系统可包括根据本申请实施方式的用于搜索图像的装置。

附图说明

本发明的实施方式在附图的各图中以举例而非限制的方式示出,在附图中,相同的参考数字指示相同的元件。

图1是示出用于在线搜索和离线数据分析的常规网络配置的框图。

图2是示出可用作本发明实施方式的网络架构的框图。

图3a至图3b是示出根据本发明某些实施方式的内存中存储系统的示例的框图。

图4是示出根据本发明一实施方式的节点映射函数的示例的框图。

图5是示出根据本发明一实施方式的对象存储库(objectstore)的示例的框图。

图6是示出根据本发明一实施方式用于搜索内容的过程的流程图。

图7是示出根据本发明一实施方式用于搜索内容的过程的流程图。

图8是示出根据一实施方式的数据处理系统的框图。

具体实施方式

将参考以下所讨论的细节来描述本发明的各实施方式和方面,附图将示出各种实施方式。以下描述和附图是对本发明的说明,而不解释为限制本发明。描述诸多具体细节以全面理解本发明各实施方式。然而,在某些示例中,为了使对本发明实施方式的讨论简洁,没有描述公知或常规的细节。

本说明书中对“一个实施方式”或“实施方式”的参考意味着结合该实施方式所描述的具体特征、结构或特性可包括在本发明的至少一个实施方式中。在本说明书中各处,短语“在一个实施方式中”的出现不必全部是指同一实施方式。

根据一些实施方式,使用单个内存中存储系统为用于在线内容搜索的网页服务器和用于离线数据分析的分析服务器两者供应内容。术语“内存中(in-memory)”表示这样的存储配置,在该存储配置中,在存储系统的操作期间待在线和/或离线供应的内容中的大多数内容或全部内容被加载并保存在系统存储器(例如,随机存取存储器或ram)中的。由于大多数或全部数据保存在系统存储器中,因此能够从系统存储器直接检索数据以为来自网页服务器的搜索引擎和分析服务器的分析引擎二者的搜索请求服务,而不必为检索相同的数据而访问存储系统的永久性存储装置(例如,硬盘)。其结果是,例如能够基本上同时满足针对在线内容搜索和离线数据分析的低延迟和高吞吐量两个要求。此外,不需要维护用于在线内容搜索和离线数据分析的单独的存储系统,并且能够极大地提高数据管理的效率。另外,由于仅使用单个存储系统,因此数据源与存储系统之间仅需要一个etl管线。

在一实施方式中,为了适应高吞吐量的要求,存储系统包括分布式内存中存储节点群或池,以联合存储内容并且为网页服务器和分析服务器提供内容服务。分布式存储节点的池,在本文中被称为工作者存储节点或从属存储节点,可由主存储节点或主要存储节点管理。池中的工作者存储节点的数量可根据可能按比例增加和减少的待供应数据的量和工作者存储节点之间的负载均衡来配置。

在一实施方式中,主存储节点从客户端接收用于搜索内容的搜索查询。客户端可以是为浏览用户提供内容搜索服务的网页服务器或者是为分析用户提供数据分析服务的分析服务器。主存储节点通过网络(例如,高速以太网或存储网络)管理工作者存储节点的数量。主存储节点响应于搜索查询、利用预定的哈希(hash)函数对搜索查询的一个或多个关键字执行哈希操作以生成哈希值。主存储节点基于哈希值识别工作者存储节点中的一个。主存储节点将搜索查询重定向至所识别的工作者存储节点或者向所识别的工作者存储节点发送另一请求,以允许该工作者存储节点例如利用保存在所述工作者存储节点的系统存储器中的数据来为搜索查询服务,而不必访问所述工作者存储节点的对应永久性存储装置。

图2是示出可用作本发明实施方式的网络架构的框图。参照图2,类似于图1的系统100,客户端装置101至102通过网络103通信地联接至网页服务器104和分析服务器105。在本示例中,网页服务器104包括搜索引擎130以基于存储在内容存储系统或服务器201中的内容203向客户端101(例如,浏览用户)提供在线内容搜索。客户端102(例如,分析用户)访问分析系统或服务器105以通过分析引擎140对存储在内容存储系统或服务器201上的内容203执行离线数据分析。

客户端装置101-102可以是任何类型的客户端装置,诸如,个人计算机(例如,台式计算机、膝上型计算机和平板)、“薄”客户端、个人数字助理(pda)、支持网络的装置、智能手表或移动电话(例如,智能手机)等。网络103可以是任何类型的网络,诸如有线或无线的局域网(lan)、广域网(wan)(诸如因特网)或其组合。服务器104至105可以是任何种类的服务器或服务器集群,诸如,网页服务器或云服务器、应用服务器、后端服务器或其组合。服务器104至105可各自进一步包括允许客户端(诸如客户端装置101至102)访问由服务器104至105提供的资源或服务的接口(未示出)。接口可包括网页(web)接口、应用编程接口(api)和/或命令行接口(cli)。

例如,客户端(在本示例中为客户端装置101的用户应用(例如,网页浏览器、移动应用))可向服务器104发送搜索查询,并且搜索引擎130通过网络103接收该搜索查询。响应于该搜索查询,搜索引擎130从搜索查询中提取一个或多个关键字(也称为搜索词)。搜索引擎130在由内容系统或服务器201托管的内容数据库(例如,数据对象203)中执行搜索。内容数据库可包括主要内容数据库和/或辅助内容数据库,以识别与关键字有关的内容项目(例如,图像)的列表。主要内容数据库可以是一般内容数据库,而辅助内容数据库(也称为次级内容数据库)可以是特殊内容或赞助内容数据库。搜索引擎130向客户端返回具有列表中的至少一些内容项目的搜索结果页面,以呈现在客户端中。搜索引擎130可以是能够从百度公司获得的搜索引擎,或者可替代地,搜索引擎130可表示搜索引擎、microsoftbingtm搜索引擎、搜索引擎或一些其他搜索引擎。

搜索引擎(诸如,网页搜索引擎)是设计成在万维网上搜索信息的软件系统。搜索结果通常被呈现在一系列结果(常称为搜索引擎结果页面)中。信息可以是网页、图像和其他类型文件的混合。一些搜索引擎还挖掘数据库或开放式目录中可用的数据。不同于仅通过人工编辑来维持的网页目录,搜索引擎还通过在网页爬虫上运行算法来维护实时信息。

网页搜索引擎通过存储与诸多网页有关的信息来运行,所述网页搜索引擎从页面的超文本标记语言(html)标记检索所述网页。通过网页爬虫来检索这些页面,所述网页爬虫是遵循网站上的每个链接的自动化网页爬虫。搜索引擎接着分析每个页面的内容以确定其应如何被索引(例如,可以从标题、页面内容、标头或称为元标签的特殊字段来提取字)。在图像搜索领域中,基于内容与可能的搜索词相关联的方式来索引图像文件。与网页或图像有关的数据存储在索引数据库中,以供在随后的查询中使用。索引有助于尽可能快地找到与查询有关的信息。

当用户在搜索引擎中输入查询时(通常是通过使用关键字),引擎检查查询的索引并根据其标准提供最匹配网页或图像的列表,所提供的最匹配网页或图像的列表通常具有包含文档标题且有时包括部分文本的简短概述。可替代地,所提供的列表包含图像内容以及其缩写形式的原始统一资源定位器(url)。索引是由与数据一起存储的信息及信息被索引方法建构而成。搜索引擎查找与输入时完全一致的字或短语。一些搜索引擎提供允许用户定义关键字之间的距离的高级特征(称为接近搜索)。还存在涉及对包含你所搜索的字或短语的页面使用统计分析的基于概念的搜索。此外,自然语言查询允许用户以与将向人询问问题的形式相同的形式来键入问题。

搜索引擎的有用性取决于其所回馈的结果集合的相关性。虽然包括特定字或短语的网页可能有数百万个,但一些页面可能比其他页面更相关、更流行或更有权威。大多数搜索引擎采用多种方法来对结果进行排序以首先提供“最佳”结果。搜索引擎如何决定哪些页面是最佳匹配者以及应按什么次序来示出结果随引擎的不同而广泛改变。

内容(例如,诸如图像的数据对象203)可由数据采集系统或服务器150提供,在该数据采集系统或服务器150中,例如可利用诸多网络爬虫(未示出)从一个或多个内容提供者(例如,网站)采集内容。网络爬虫或网页爬虫是自动遍历网络的超文本结构的程序。在实践中,网络爬虫可在独立的计算机或服务器上运行,所述计算机或服务器中的每一个被配置成执行从url下载文档的一个或多个进程或线程。网络爬虫接收所指派的url,并在那些url处下载文档。网络爬虫还可检索被已检索的文档引用的文档,以由内容处理系统(未示出)和/或搜索引擎130处理。网络爬虫可以使用各种协议来下载与url相关联的页面,所述协议诸如为超文本传输协议(http)和文件传输协议(ftp)。

此外,根据一实施方式,还可通过分析系统或服务器105的分析引擎140对数据对象203(例如,图像)进行分析。例如,分析用户(由客户端102表示)可通过网络103访问分析服务器105以调用分析引擎140对数据对象203执行分析。出于说明的目的,将服务器104和内容存储系统/服务器201统称为在线搜索系统,并且将服务器105和内容存储系统/服务器201统称为离线分析系统。如上所述,由于必须在非常短的时间内响应于搜索查询搜索内容并返回内容,因此在线搜索系统需要低延迟能力。由于将访问大量的数据,因此离线分析系统需要高吞吐能力。

根据一实施方式,为了满足低延迟和高吞吐量要求,内容存储系统/服务器201实施为内存中存储系统,在所述内存中存储系统中,基本上所有待供应的内容在存储系统201的操作期间始终被加载至系统存储器中。因此,响应于来自在线搜索服务器104或离线分析服务器105的请求,可直接从保存在存储器202中的内容203中识别并检索所请求的内容以服务该请求,而不必访问内容存储系统201的永久性存储装置(未示出),其中访问永久性存储装置可能需要较长时间(例如,寻道时间)。这种内存中配置既能满足低延迟要求也能满足高吞吐量要求。另外,由于内容存储系统201由两个服务器104至105共享,因此数据采集系统或数据源150仅需要建立单个etl管线205以提供待存储至内容存储系统201中的数据,而图1所示的常规系统则需要至少两个etl管线。

etl表示数据库使用中、尤其是数据仓储中的过程,即:从同类的或不同种类的数据源提取数据、出于查询和分析的目的转换数据从而以适当的格式或结构对其进行存储、以及将数据加载至最终目标(数据库,更具体为操作性数据储存器、数据集市或数据仓库)中。通常由于数据提取耗费时间所以三个阶段全部并行地执行,因此当数据被拉取时,另一转换过程对已接收的数据执行处理并准备用于加载的数据,一旦存在一些准备好被加载至目标中的数据,则启动数据加载而不等待先前阶段的完成。

图3a是示出根据本发明一实施方式的内存中存储系统的一示例的框图。系统300可实现为图2的系统200的一部分。参照图3a,在本示例中,内存中存储系统/服务器301可实现为图2的存储系统201的一部分。在一实施方式中,存储系统301包括存储器303和永久性存储系统302,以及诸如处理器、网页接口等的其他处理资源(未示出)。存储器303可以是任何种类的易失性或非易失性随机存取存储器(ram)装置。永久性存储装置302可以是任何种类的非易失性存储装置,诸如硬盘。永久性存储装置302存储表示待服务于客户端(诸如,网页服务器104的搜索引擎130和/或分析服务器105的分析引擎140)的内容(例如,图像)的所有数据对象305。

在一实施方式中,在存储系统301的操作期间基本上所有的数据对象305均作为数据对象311-313的一部分被加载至存储器303中并且始终保存在存储器303中。在存储系统301的初始化期间(例如,启动时间),在存储系统301的整个操作期间基本上所有的数据对象305均被加载至存储器303中并且保持在存储器303中。在一实施方式中,当新的图像变得可用并且其图像存储也被更新时,也可在初始化之后将附加的图像加载至存储器中。存储服务模块304用于利用多种访问方法或文件系统协议通过网络310向客户端提供存储服务。网络310可以是诸如高速以太网或存储网络的高速网络。此外,存储系统301还将对象存储库315作为索引进行维护以高速搜索数据对象311至313。

在一实施方式中,响应于来自客户端(在该示例中为服务器104至105)的搜索请求,存储服务模块304基于该请求在对象存储库315中执行查找操作以识别一个或多个数据对象311至313的列表。在一实施方式中,对象存储库315是关键字-值(kv)存储库,其中对象存储库315包括各自将特定关键字映射至表示一个或多个数据对象的列表的值或者标识数据对象的对象id的若干条目。本文中的关键字可指代表示搜索查询的某些特性(例如,一个或多个关键字)的哈希值。当接收到搜索查询时,存储服务模块304利用预定的哈希函数对搜索查询的至少一部分(例如,搜索查询的一个或多个关键字)执行哈希操作以生成哈希值。然后,使用哈希值作为在对象存储库315中进行查找的关键字以识别数据对象的列表。

然后,可从存储器303直接检索所识别的数据对象并将其返回至客户端,而不必针对所识别的数据对象对永久性存储装置302进行存取,其中针对所识别的数据对象存取永久性存储装置302耗费较长时间(例如,较长的寻道时间)。通过在操作期间将基本上所有的数据对象保存在存储器303中,既可满足低延迟又可满足高吞吐量。为了进一步提供满足更高吞吐量要求的服务,存储系统301可以以图3b所示的分布式存储系统来实现。

下面参照图3b,分布式存储系统包括包若干分布式存储节点301a至301n,其中分布式存储节点301a至301n中的每一个是由主节点350(也称为主要存储节点)管理的内存中存储节点(在本文中称为工作者存储节点或从属存储节点)。类似于图3a的存储系统301,存储节点301a至301n中的每一个在其系统存储器中维护存储在其中的基本上所有数据对象(例如,分别存储在存储器303a至303n中的数据对象305a至305n)中。存储节点301a至301n中的每一个还包括分别在上文中结合图3a的存储系统301而描述的存储服务模块或逻辑以及对象存储库(例如,存储服务模块304a至304n以及对象存储库315a至315n)。每个存储节点的对象存储库存储用于识别存储在其中的数据对象的信息,其可以是如上所述的kv对象存储库。

主节点350可具有与存储节点301a至301n相似的架构,但是被选为主存储节点。在一实施方式中,主节点350包括存储控制器360以基于存储在节点映射函数365中的节点信息管理存储节点301a至301n。节点映射函数365可实现为诸如例如哈希函数、节点映射表等的多种函数和/或数据结构。节点映射函数365可称为用于对存储节点301a至301n中的每一个进行注册的节点注册表,其中使用节点映射函数365来确定以存储节点301a至301n中的哪个来为从服务器104至105接收的特定请求服务。

在一实施方式中,当从客户端(例如,服务器104至105)接收到对于搜索内容(例如,图像)的请求时,存储控制器360检查该请求并且调用节点映射函数365以基于该请求确定存储节点301a至301n中的一个或多个。然后,存储控制器360向所确定的存储节点转发该请求或者发送另一请求,以允许存储节点基于该请求识别一个或多个数据对象、从其存储器中检索所识别的数据对象、以及将数据对象作为搜索结果返回至客户端,以上所有操作均不必针对相同的数据对象对存储节点的永久性存储装置进行存取。在一实施方式中,横跨存储节点存储的数据对象可以是非重复的数据对象。

注意,分布式存储节点301a至301n能够根据工作负荷(例如,存储空间要求)和带宽(例如,负载平衡)容易地按比例增加或减小。管理员可通过将新的存储节点注册至节点映射函数365而将附加的存储节点添加到池中。类似地,也可通过将其从节点映射函数365注销来将存储节点从池中移除。另外注意,主节点350还可维护其自身的表示存储在其存储器中的数据对象的对象存储库。因此,主节点350可为数据对象提供存储服务以及管理其他存储节点。当接收到搜索请求时,节点映射函数可将该请求映射至主节点350。

图4是示出根据本发明一实施方式的节点映射函数的示例的框图。参照图4,在一实施方式中,节点映射函数365(在本示例中仅出于说明的目的将其示出为映射表)包括若干映射条目。每个映射条目将特定哈希值401映射至标识与分布式存储系统相关联的存储节点(例如,存储节点301a至301n)中的一个存储节点的存储节点id402。当接收到搜索查询或请求403时,主节点的存储控制器(例如,图3b的主节点350的控制器360)利用预定的哈希函数对请求403的至少一部分(例如,一个或多个关键字)执行哈希操作以生成哈希值。基于该哈希值,在节点映射表365中执行查找操作以推导出存储节点id404。然后,基于存储节点id404从池中选择一个存储节点来为上述请求服务。注意,预定的哈希函数可实现为节点映射函数365的一部分,该节点映射函数365可基于搜索请求403直接生成存储节点id404。

图5是示出根据本发明一实施方式的对象存储库的示例的框图。对象存储库315可实现为图3a至图3b中的上述对象存储库的一部分。参照图5,在一实施方式中,仅出于说明的目的将对象存储库315实现为kv存储库。具体地,对象存储库315包括若干条目,每个条目将关键字映射至表示一个或多个数据对象的列表的值。在该示例中,每个映射条目将哈希值511映射至标识一个或多个数据对象的一个或多个数据对象id512。当例如从服务器104至105接收到搜索请求501时,存储服务模块304利用预定哈希函数502对搜索请求501的至少一部分(例如,该请求的一个或多个关键字)执行哈希操作以生成哈希值。例如通过查找模块基于哈希值在对象存储库315中执行查找操作以确定数据对象id503的列表。然后,直接从对应存储节点的存储器识别、检索数据对象并将数据对象返回至客户端,而不必对永久性存储装置进行存取。

图6是示出根据本发明一实施方式用于搜索内容的过程的流程图。过程600可由处理逻辑执行,上述处理逻辑可包括软件、硬件或其组合。例如,过程600可由图3a的主节点350执行。参照图6,在框601处,处理逻辑从客户端(例如,网页服务器、分析服务器)接收用于搜索数据对象的搜索查询。在框602处,响应于该搜索查询,处理逻辑利用预定的哈希函数或哈希算法对搜索查询的至少一部分执行哈希操作从而生成哈希值。在框603处,处理逻辑基于哈希值确定池中的一个存储节点(例如,工作者存储节点或从属存储节点)。例如,处理逻辑可基于该哈希值在节点映射表中执行查找操作以识别存储节点。在框604处,处理逻辑将搜索查询重定向至所确定的存储节点或者向所确定的存储节点发送另一请求,以允许存储节点为该搜索查询服务。然后,存储节点通过直接从其存储器识别、检索数据对象并且将数据对象返回至客户端来为客户端提供存储服务,而不必对该存储节点的永久性存储装置进行存取。

图7是示出根据本发明一实施方式用于搜索内容的过程的流程图。过程700可由处理逻辑执行,所述处理逻辑可包括软件、硬件或其组合。例如,过程700可由存储节点(例如,主节点或工作者存储节点之一)执行。参照图7,在框701处,处理逻辑在初始化(例如,启动)期间将基本上所有的数据对象(例如,图像)以及表示该数据对象或对该数据对象进行索引的对象存储库从永久性存储装置加载至存储节点的系统存储器中。在一实施方式中,可在初始化之后将附加的图像加载至系统存储器中。一旦加载一次,则主节点具有关于新的数据的信息,使得查询能够被路由至这些新的内容。在框702处,处理逻辑接收由客户端(例如,网页服务器、分析服务器)发起的搜索查询。在框703处,响应于该搜索查询,处理逻辑利用预定的哈希函数对搜索查询的至少一部分执行哈希操作从而生成哈希值。在框704处,处理逻辑基于该哈希值在对象存储库中进行查找以识别标识一个或多个数据对象的一个或多个数据对象id。在框705处,处理逻辑直接从系统存储器检索数据对象,而不必针对数据对象对永久性存储装置进行存取。在框706处,将数据对象作为搜索结果的一部分返回至客户端。

注意,如以上示出和描述的组件中的一些或全部(例如,存储控制器、存储服务模块等)可实现为软件、硬件或其组合。例如,这些组件可实现为安装并存储在永久性存储装置中的软件,所述软件可通过处理器(未示出)加载至存储器中并在存储器中执行以实现本申请通篇所描述的过程或操作。可替代地,这些组件可实现为编程或嵌入到诸如集成电路(例如,专用集成电路或asic)、数字信号处理器(dsp)或现场可编程门阵列(fpga)的专用硬件中的可执行代码,所述可执行代码可从应用通过对应的驱动器和/或操作系统来访问。另外,这些组件可实现为处于处理器或处理器内核中的特定硬件逻辑,作为可通过一个或多个特定指令被软件组件访问的指令集的一部分。

图8是示出可以与本发明的一个实施方式一起使用的数据处理系统的示例的框图。例如,系统1500可表示以上所述的执行上述过程或方法中的任一个的任意数据处理系统,例如像如上所述的主节点、工作者存储节点。

系统1500可包括诸多不同的组件。这些组件可以实现为集合成电路(ic)、集合成电路的一部分、离散电子装置或适于电路板的其他模块(诸如计算机系统的主板或插入卡),或者实现为以其他方式并入计算机系统的底盘内的组件。

另外注意,系统1500旨在示出计算机系统的诸多组件的高级视图。然而,应当理解的是,某些实现方式中可具有附加的组件,此外,其他实现方式中可具有所示组件的不同布置。系统1500可以表示台式计算机、膝上型计算机、平板计算机、服务器、移动电话、媒体播放器、个人数字助理(pda)、智能手表、个人通信器、游戏装置、网络路由器或集线器、无线接入点(ap)或中继器、机顶盒或其组合。此外,虽然仅示出单个机器或系统,但是术语“机器”或“系统”还应当被理解为包括单独地或共同地执行一个(或多个)指令集合以执行本文所讨论的任意一种或多种方法的机器或系统的任何集合。

在一个实施方式中,系统1500包括通过总线或互连件1510连接的处理器1501、存储器1503以及装置1505-1508。处理器1501可表示其中包括单个处理器内核或多个处理器内核的单处理器或多处理器。处理器1501可表示一个或多个通用处理器,诸如微处理器、中央处理单元(cpu)等。更具体地,处理器1501可以是复杂指令集合计算(cisc)微处理器、精简指令集合计算(risc)微处理器、超长指令字(vliw)微处理器、图形处理单元(gpu)或实现其他指令集合的处理器、或实现指令集合组合的处理器。处理器1501还可以是一个或多个专用处理器,诸如专用集合成电路(asic)、蜂窝或基带处理器、现场可编程门阵列(fpga)、数字信号处理器(dsp)、图形处理器、网络处理器、通信处理器、加密处理器、协同处理器、嵌入式处理器或能够处理指令的任何其他类型的逻辑。

处理器1501,可以是低功率多核处理器插座(诸如超低电压处理器),可充当用于与系统各组件通信的主处理单元和中央集线器。这种处理器可以实现为片上系统(soc)。处理器1501配置成执行用于执行本文所讨论的操作和步骤的指令。系统1500还可包括与可选的图形子系统1504通信的图形接口,图形子系统1504可包括显示控制器、图形处理器和/或显示装置。

处理器1501可以与存储器1503通信,存储器1503在一个实施方式中可以通过多个存储器装置来实现以提供给定量的系统存储器。存储器1503可包括一个或多个易失性存储(或存储器)装置,诸如随机存取存储器(ram)、动态随机存取存储器(dram)、同步动态随机存取存储器(sdram)、静态随机存取存储器(sram)或其他类型的存储装置。存储器1503可以存储包括由处理器1501或任何其他装置执行的指令序列的信息。例如,多种操作系统、装置驱动程序、固件(例如,输入输出基本系统或bios)和/或应用的可执行代码和/或数据可以加载到存储器1503中并由处理器1501执行。操作系统可以是任何类型的操作系统,例如像来自公司的操作系统、来自苹果公司的mac来自公司的或其他实时或嵌入式操作系统(诸如vxworks)。

系统1500还可包括io装置,诸如装置1505-1508:包括网络接口装置1505、可选的输入装置1506、其他可选的io装置1507以及存储装置1508。网络接口装置1505可包括无线收发器和/或网络接口卡(nic)。所述无线收发器可以是wifi收发器、红外收发器、蓝牙收发器、wimax收发器、无线蜂窝电话收发器、卫星收发器(例如,全球定位系统(gps)收发器)或其他射频(rf)收发器或其组合。nic可以是以太网卡。

输入装置1506可包括鼠标、触摸板、触敏屏幕(其可以与显示装置1504整合在一起)、指示装置(诸如指示笔)和/或键盘(例如,物理键盘或作为触敏屏幕的一部分显示的虚拟键盘)。例如,输入装置1506可包括联接到触摸屏的触摸屏控制器。触摸屏和触摸屏控制器例如可以使用多种触摸灵敏度技术(包括但不限于电容、电阻、红外和表面声波技术)中的任一种、以及使用用于确定与触摸屏的一个或多个接触点的其他接近传感器阵列或其他元件来检测其接触和移动或间断。

io装置1507可包括音频装置。音频装置可包括扬声器和/或麦克风,以促进支持语音的功能,诸如语音标识、语音复制、数字记录和/或电话功能。其他io装置1507还可包括通用串行总线(usb)端口、并行端口、串行端口、打印机、网络接口、总线桥(例如,pci-pci桥)、传感器(例如,运动传感器,诸如加速度计、陀螺仪、磁强计、光传感器、罗盘、接近传感器等)或其组合。装置1507还可包括成像处理子系统(例如,相机),所述成像处理子系统可包括用来促进相机功能(诸如记录照片和视频片段)的光学传感器,诸如电荷耦合装置(ccd)或互补金属氧化物半导体(cmos)光学传感器。某些传感器可以通过传感器集线器(未示出)联接到互连件1510,而其他装置诸如键盘或热传感器可以由嵌入式控制器(未示出)控制,这取决于系统1500的特定配置或设计。

为了永久性地存储诸如数据、应用、一个或多个操作系统等的信息,还可将大容量存储装置(未示出)联接到处理器1501。在各实施方式中,为了实现更薄且更轻的系统设计并且改进系统响应能力,这种大容量存储装置可以通过固态装置(ssd)来实现。然而,在其他实施方式中,大容量存储装置可以主要使用硬盘驱动(hdd)来实现,其中较小量的ssd存储装置充当ssd高速缓存以在断电事件期间能够非易失性地存储上下文状态以及其他此类信息,从而使得能够在系统活动重新启动时快速通电。另外,闪存装置可以例如通过串行外围接口(spi)联接到处理器1501。这种闪存装置可非易失性地存储系统软件,所述系统软件包括基本输入/输出软件(bios)以及系统的其他固件。

存储装置1508可包括计算机可访问的存储介质1509(也称为机器可读存储介质或计算机可读介质),所述存储介质1509上存储有实现本文所述的任何一种或多种方法或功能的一个或多个指令集合或软件(例如,模块、单元和/或逻辑1528)。模块/单元/逻辑1528可以表示任意上述组件,例如像以上所述的搜索引擎、编码器、交互记录模块、存储服务模块、存储控制器。模块/单元/逻辑1528还可以在其由数据处理系统1500、存储器1503和处理器1501执行期间完全地或至少部分地驻留在存储器1503内和/或处理器1501内,另外构成机器可访问的存储介质。模块/单元/逻辑1528还可以通过网络经由网络接口装置1505被发送或接收。

计算机可读存储介质1509也可以用来永久性地存储以上描述的一些软件功能。虽然计算机可读存储介质1509在示例性实施方式中被示为单个介质,但是术语“计算机可读存储介质”应当被认为包括存储一个或多个指令集合的单个介质或多个介质(例如,集合中式或分布式数据库和/或相关联的高速缓存和服务器)。术语“计算机可读存储介质”还应当被认为包括能够存储或编码指令集合的任何介质,所述指令集合用于由机器执行并且导致所述机器执行本发明的任何一种或多种方法。因此,术语“计算机可读存储介质”应当被认为包括但不限于固态存储器以及光学介质和磁性介质或者任何其他非暂时性机器可读介质。

本文所述的模块/单元/逻辑1528、组件以及其他特征可以实现为离散硬件组件或整合在硬件组件(诸如asics、fpga、dsp或类似装置)的功能中。另外,模块/单元/逻辑1528可以实现为硬件装置内的固件或功能电路。此外,模块/单元/逻辑1528可以以硬件装置和软件组件的任何组合来实现。

注意,虽然系统1500被示出为具有数据处理系统的各组件,但是这不旨在表示任何具体的架构或互连组件的方式;因为此类细节和本发明的实施方式没有密切关系。还将理解,具有更少组件或可能具有更多组件的网络计算机、手持计算机、移动电话、服务器和/或其他数据处理系统也可与本发明的实施方式一起使用。

前述详细描述中的一些部分已经依据在计算机存储器内对数据位的运算的算法和符号表示而呈现。这些算法描述和表示是数据处理领域中的技术人员所使用的方法,以最有效地将它们的工作实质传达给本领域中的其他技术人员。这里,算法通常被认为是导致所期望结果的前后一致的操作序列。这些操作是需要对物理量进行物理操控的操作。

然而,应当牢记,所有这些和类似的术语均意图与适当的物理量关联,并且仅仅是应用于这些量的适宜标记。除非在以上讨论中另外明确地说明清楚,否则应当了解,在本说明书通篇利用术语(诸如以下权利要求书中所阐述的术语)的讨论是指计算机系统或类似电子计算装置的动作和处理,所述计算机系统或电子计算装置操控计算机系统的寄存器和存储器内的表示为物理(例如,电子)量的数据,并将所述数据变换成计算机系统存储器或寄存器或其他此类信息存储器、传输或显示装置内类似地表示为物理量的其他数据。

各图中所示的技术可以使用存储在一个或多个电子装置上并在所述一个或多个电子装置上执行的代码及数据来实施。此类电子装置使用计算机可读介质来存储和传送(在内部和/或通过网络与其他电子装置进行传送)代码及数据,所述计算机可读介质诸如为非暂时性计算机可读存储介质(例如,磁盘、光盘、随机存取存储器、只读存储器、闪存装置、相变存储器)和暂时性计算机可读传输介质(例如,电子、光学、声学或其他形式的传播信号—诸如载波、红外信号、数字信号)。

前述附图中所描绘的过程或方法可由处理逻辑来执行,所述处理逻辑包括硬件(例如,电路、专用逻辑等)、固件、软件(例如,在非暂时性计算机可读介质上实现)或两者的组合。虽然所述过程或方法在上文中依据一些顺序操作来描述,但是应当了解,所描述操作中的一些可以按不同的次序执行。此外,一些操作可以并行地而不是顺序地执行。

在以上说明书中,已经参考本发明的具体示例性实施方式对本发明的实施方式进行了描述。将显而易见的是:在不脱离如以下权利要求书中阐述的本发明的更宽泛精神和范围的情况下,可以对这些实施方式做出各种修改。因此,应当在说明性意义而不是限制性意义上来理解说明书和附图。

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