首页> 中国专利> 用于数据库索引的多个可变覆盖率存储器

用于数据库索引的多个可变覆盖率存储器

摘要

通常描述了涉及用于数据库索引的多个可变覆盖率存储器的技术。可以执行所述方法以当数字服务提供者构建了用于数据库的优化索引时实施对于数字服务提供者客户数据的高速数据库访问。初始地,数字服务提供者可以通过在相对高性能第一存储器中保持相对低性能基本索引而维持合适的服务水平。当数字服务提供者构建优化索引时,数字服务提供者可以通过从第一存储器的使用逐渐转移至相对低性能第二存储器的使用而维持合适的服务水平。

著录项

  • 公开/公告号CN104246728A

    专利类型发明专利

  • 公开/公告日2014-12-24

    原文格式PDF

  • 申请/专利权人 英派尔科技开发有限公司;

    申请/专利号CN201280072711.9

  • 发明设计人 E·J·J·克鲁格里克;

    申请日2012-04-27

  • 分类号G06F13/00(20060101);

  • 代理机构11313 北京市铸成律师事务所;

  • 代理人孟锐

  • 地址 美国特拉华州

  • 入库时间 2023-12-18 08:15:34

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-04-17

    授权

    授权

  • 2015-01-14

    实质审查的生效 IPC(主分类):G06F13/00 申请日:20120427

    实质审查的生效

  • 2014-12-24

    公开

    公开

说明书

发明背景

除非在此另外指出,在该部分中所述的材料并非是对于本申请权 利要求的现有技术,并且并非承认作为包含在该部分中的现有技术。

主流计算机使用由单独管理的独立计算装置演化至经由网络连 接访问软件和/或数据的互连装置。“云计算”涉及其中计算可以经 由网络连接访问并且从网络可获得的资源可以称作“在云端”的计算 模型。

在网络连接背后,“云”可以通常包括在数据中心内专业管理的 硬件和软件。在数据中心内提供硬件和/或软件以由其客户使用的公 司在此称作“数字服务提供者”。

包括例如商业和/或个人的一个或多个客户可以在包括由一个或 多个数字服务提供者所提供的硬件和/或软件的平台上存储软件和数 据。示例性的客户可以包括例如从事于电子商务的商行。另一示例性 客户可以包括例如“软件即服务”(SaaS)提供者。SaaS提供者可 以供应用户可以在云端获取的应用软件。

访问“在云端”客户的软件/数据的用户可以称作“云客户端” 或“用户”。因此,在示例性实施例中,数字服务提供者可以向客户 售卖或者另外提供云基础结构,并且客户可以向访问云的用户售卖或 者另外提供他们的商品/服务。

发明概要

本公开通常描述了包括关于用于数据库索引的多个可变覆盖率 存储器的装置、方法和计算机可读媒介的技术。一些示例性方法可以 包括由第二数字服务提供者从第一数字服务提供者接收客户数据。可 以执行所述方法以当第二数字服务商为客户数据构建了优化的高速 数据库索引、在此称作优化索引时实施对客户数据的高速数据库访 问。开始,第二数字服务提供者可以通过将基本的相对低性能的索引、 在此称作基本索引保持在相对高性能第一存储器中而维持合适的服 务水平。当第二数字服务提供者构建了优化索引时,第二数字服务提 供者可以通过从使用在第一存储器中的基本索引转换为使用在相对 较低性能第二存储器中优化索引而维持合适的服务水平。在一些实施 例中,当第二数字服务提供者构建了优化索引并且逐渐转移至使用第 二存储器时,用于响应于接收到的查询而取回所请求的客户数据记录 的响应时间可以维持近似恒定。在一些实施例中,方法可以包括最终 中止使用第一存储器中的基本索引。

一些示例性方法可以包括例如由第二数字服务提供者存储数据 库,并且进一步在与第一性能水平相关联的第一存储器中存储基本索 引;接收数据库查询并且修改基本索引的部分以用于更快数据取回, 例如使用数据库索引优化工具和技术;在与第二性能水平相关联的第 二存储器中存储基本索引的已修改部分的一些或全部以作为优化索 引;以及当修改了基本索引时,增大作为优化索引存储在第二存储器 中的基本索引的部分。在基本索引的修改期间,可以使用基本和优化 索引执行数据取回,并且数据取回可以增多使用优化索引。第一存储 器可以包括例如具有相对高性能水平的高速缓存,而第二存储器可以 包括例如较低成本的相对较低性能的存储器,诸如磁盘型存储器。

在一些实施例中,方法可以包括测量关于使用部分基本索引取回 被请求数据记录的时间或者查表的数目;比较时间或者查表数目与性 能需求;以及当时间或者查表数目满足性能需求时,将与取回被请求 数据记录相关的基本索引的部分转移至第二存储器。存储在第二存储 器中的优化索引的部分可以包括配置用于以比存储在第一存储器中 基本索引的部分更少的查表或者更短时间而定位数据记录的基本索 引的部分。在一些实施例中,优化索引的部分可以包括配置用于向所 接收到的查询提供更快响应的基本索引的已修改部分。

一些示例性方法可以包括在第一存储器中存储第一(基本)数据 库索引;接收查询并且构建第二(优化)数据库索引以比基本索引提 供对于所接收到的查询更快的响应;在第二存储器中存储优化索引; 以及在优化索引的构建期间,使用基本索引和优化索引对所接收到的 查询进行响应,并且当优化索引尺寸增大时增多使用优化索引。

也公开了计算装置和具有实施了在此所述各个技术的指令的计 算机可读媒介。示例性计算机可读媒介可以包括具有可由处理器执行 的计算机可执行指令的非暂态计算机可读存储媒介,当由处理器执行 时指令使得处理器执行在此提供的各种方法的任意组合。示例性计算 装置可以包括服务器,包含处理器、存储器和配置用于执行在此所述 方法的数据库性能平衡工具。

前述发明概要仅是示意性的并且并非意在以任何方式限定。除了 如上所述的示意性特征方面、实施例和特征之外,通过参考附图和以 下详细说明书将使得其他特征方面、实施例和特征变得明显。

附图简述

结合附图从以下说明书和附图将使得本公开的前述和其他特征 变得更完全明显。应该理解的是这些附图仅示出了根据本公开的数个 实施例并且因此并非视作限定其范围,将通过使用附图采用额外的具 体和细节描述本公开,其中:

图1是示出了客户数据从第一数字服务提供者向第二数字服务 提供者示例性传送的示意图;

图2A是示出了由第二数字服务提供者使用以在时间T2处服务 来自云客户端的查询的数据库、第一存储器、第二存储器和基本索引 的示意图;

图2B是示出了由第二数字服务提供者使用以在时间T3处服务 来自云客户端查询的数据库、第一存储器、第二存储器和基本以及优 化索引的示意图;

图2C是示出了由第二数字服务提供者使用以在时间T4处服务 来自云客户端查询的数据库、第一存储器、第二存储器和基本以及优 化索引的示意图;

图2D是示出了由第二数字服务提供者使用以用于在时间T5处 服务来自云客户端查询的数据库、第一存储器、第二存储器和优化索 引的示意图;

图3是示出了作为数字服务提供者服务器的一个示例的计算装 置的示意图;

图4是示出了配置用于实施性能平衡的示例性方法的流程图;

图5是示出了配置用于在与性能平衡相关的第二存储器中存储 基本索引的已修改部分和/或第二索引的示例性方法的流程图;

图6是示出了配置用于在数据库优化工具的操作期间实施性能 平衡的示例性方法的流程图;

图7是示出了资源过度供应与随时间变化的索引性能的示意图;

图8是示出了用于从数据库取回数据记录的多个索引表的示意 图,所有这些均根据本公开的至少一些实施例设置。

具体实施方式

在以下详细说明书中,参考了构成其一部分的附图。在附图中, 类似的符号通常标识类似的部件,除非上下文明确给出相反指示。在 详细说明书、附图和权利要求中所述的示意性实施例并非意味着限 定。可以采用其他实施例,并且可以做出其他改变,而不脱离在此展 示的主题的精神或范围。将易于理解的是,可以以大量不同配置结构 管理、替换、组合和设计如通常在此所述并且示出在附图中的本公开 的特征方面,所有这些明确地预期并且构成了本公开的一部分。

本公开通常与其他一起涉及包括了在此采用的关于用于数据库 索引的多个可变覆盖率存储器的方法、装置、系统和/或计算机可读 媒介的技术。当数字服务提供者构建了用于数据库的优化索引时,可 以执行所述方法以实施对数字服务提供者客户数据的高速数据库访 问。开始,数字服务提供者可以通过在相对高性能第一存储器中保存 相对低性能的基本索引而维持合适的服务水平。当数字服务提供者构 建了优化索引时,数字服务提供者可以通过从使用第一存储器逐渐转 变至使用相对较低性能的第二存储器而维持合适的服务水平。

图1是示出了根据本公开至少一些实施例设置的、客户数据从第 一数字服务提供者传送至第二数字服务提供者的示意图。图1包括配 置用以在时间T1处与客户150和云客户端160交互的第一数字服务 提供者101,以及配置用于在时间T2处与客户150和云客户端160 交互的第二数字服务提供者102。第一数字服务提供者101在时间T1 处包括数据库152和索引151。第二数字服务提供者102在时间T2 包括数据库152和基本索引153。

在图1中,客户150可以开始在时间T1处维持在第一数字服务 提供者101处的账户,并且客户150可以例如经由任意多种账户管理 交互动作而与第一数字服务提供者101交互,包括例如为了使用云基 础结构和服务而向第一数字服务提供者101付费。云客户端160可以 包括例如存储在数据库152中的客户150的数据的使用者。云客户端 160可以配置用以经由向第一数字服务提供者101查询而访问数据库 152。在一些实施例中,客户150和云客户端160可以是相同实体, 诸如相同的个人、商户或其他组织。

第一数字服务提供者101可以配置用以使用索引151,例如可以 由数字服务提供者101拥有的索引,以响应于云客户端160查询而从 数据库152取回数据。第一数字服务提供者101可以配置用以提供对 云客户端160的响应,包括从数据库152取回到的数据记录。

为了任何原因,客户150可以最终决定切换或者添加数字服务提 供者,例如通过开通在第二数字服务提供者102处的账户,实现客户 数据传送以将数据库152迁移至第二数字服务提供者102,以及任选 地关闭客户150的在第一数字服务提供者101处的账户。任意各种技 术可以用于执行客户数据传送,例如可以配置第一数字服务提供者 101以加密数据库152和第二数据库152经由网络连接至第二数字服 务提供者102,并且可以配置第二数字服务提供者102以接收并且解 密数据库152。客户数据传送可以有效的从第一数字服务提供者101 传送或者复制数据库152至第二数字服务提供者102,然而,客户数 据传送可以对于传送索引151是无效的。例如,索引151可以由第一 数字服务提供者101所拥有,或者另外不可由第二数字服务提供者 102操作。

在时间T2处,客户150可以维持在第二数字服务提供者102处 的账户,其中客户150可以例如经由账户管理交互动作而与第二数字 服务提供者102交互。云客户端160向数据库152的查询可以引导至 第二数字服务提供者102。

可以配置第二数字服务提供者102以初始地使用基本索引153以 响应于运客户端160查询而从数据库152取回数据。可以配置第二数 字服务提供者102以向云客户端160提供包括从数据库152取回到的 数据记录的响应。基本索引153可以例如包括可以由第二数字服务提 供者102从数据库152构建的任何索引而不受到云客户端160查询历 史的影响。因为查询数据可以用于优化索引以使其更快速响应于类似 查询,以及因为初始地第二数字服务提供者102无法访问有效的查询 历史以用于索引优化,与例如索引151和/或可以随时间变化由第二 数字服务提供者102构建的索引相比,例如与参照图2所述的优化索 引154相比,基本索引153可以是相对低性能的索引。

通常,数据库索引以增加存储空间和可能当更新索引时较慢的写 入时间的代价而改进了数据取回速度。诸如数据中心的数字服务提供 者无需招致较慢的写入时间,因为可以由专用服务执行索引更新,然 而构建索引耗费时间以及需要做出查询的类型的知识。

有时数字服务提供者102可以不具有关于在数据库152中与迁移 客户150一起交付的数据的海量信息。例如,之前的数字服务提供者 101可以与客户数据传送不合作,或者可能之前的数字服务提供者 101与客户数据传送合作但是与由第二数字服务提供者102所提供的 系统不兼容。例如,当前数据中心倾向于拒绝复杂所有权的系统,即 便是最兼容的关键数值前端访问应用程序编程接口(API),并且关 注于仅对于面向接口的云客户端160兼容。通常使用这些复杂系统, 因为它们允许数据中心使用可以优选用于历史或者合作原因的特定 硬件配置结构。在任何情形下,有时优化的索引在用于诸如数据库 152的传送数据的第二数字服务提供者102处不可用。

取决于特定索引的环境,形成并且优化索引可以不是琐碎的。可 以需要信息以选择当形成索引基数时哪个对于混合可变,以及选择产 生哪个索引。甚至在当今数据中心中使用的适度的“大数据”索引可 以具有每个所有者约150-200吉字节(GB)的索引空间,而不采用 多重交互。采用多重交互,这种索引可以填充太字节或者甚至拍字节 的存储空间。为了增大索引的效率,熟知数据的支持员工可以参加手 动索引选择,和/或可以使用数据库优化工具。手动索引设计方法不 与数据中心操作成比例,尤其是当客户150不希望其数据由数据中心 员工读取时。

数据库优化工具可以包括配置用于观察云客户端160查询并且 基于观测到的查询构建索引的软件。例如,由IBM公司制造的DB2 数据库管理系统(DBMS)包括称作“设计顾问”的数据库优化工具。 配置设计顾问以基于对提交查询的贝叶斯学习法而自动索引。由微软 公司制造的SQL服务器DBMS包括称作“索引微调向导”的数据库 优化工具。TERADATA和NETEZZA DBMS具有类似功能。

然而在自动索引优化中,数据库优化工具的性能可以与可用的查 询数据相关。例如,可以配置数据库优化工具以使用大比例查询以优 化索引,以及减小索引尺寸。诸如153的基本索引的性能与诸如154 的优化索引相比可以是差的,然而第二数字服务提供者102可以不具 有对于基本索引153的备选直至发生索引优化。此外,第二数字服务 提供者102可以希望一旦客户迁移则立即向客户150提供良好的第一 印象,因此第二数字服务提供者102可以寻找以在当构建了更快速索 引和/或索引优化时的过渡时间期间提供快速性能。

图2A、图2B、图2C和图2D是根据本公开至少一些实施例设 置的、分别示出了由第二数字服务提供者102使用的用以在时间T2、 T3。T4和T5处服务来自云客户端160查询的数据库152、第一存储 器201、第二存储器202和索引153、154的示意图。图2A、图2B、 图2C和图2D可以共同称作图2。

在图2A中,在对应于初始从数据库152传送至第二数字服务提 供者102的时间T2处,可以配置第二数字服务提供者102以在第一 存储器201中存储基本索引153。可以配置第二数字服务提供者102 以通过使用基本索引153而向来自云客户端160的查询进行服务以在 数据库152中找到所请求的数据记录,以及采用包括所请求数据记录 的响应而向云客户端160做出响应。

在一些实施例中,可以配置第二数字服务提供者102以在时间 T2处通过采用用于存储和/或计算的强大资源过度提供数据库152和/ 或基本索引153而在第二数字服务提供者102处从初始运行数据库 152而提供优化的数据库性能。例如,基本索引153可以提供多级最 初索引,并且第一存储器201可以包括快速但是昂贵的存储器缓存型 存储器。在一些实施例中,存储器缓存型存储器可以提供150-180 微秒(非毫秒)的响应时间。在存储器缓存中十级元数据索引取回可 以耗费少至约1.7毫秒(ms)的时间。在一些实施例中,第一存储器 201可以包括弹性缓存型存储器,当前可用于AMAZON网络服务。

本公开不限于用作第一存储器201的任何特定类型存储器,并且 当前已知的或者可以未来开发的任何存储器类型可以用于第一存储 器201,只要第一存储器201配置具有比第二存储器201相当更快的 性能。例如,在一些实施例中,用作第一存储器201的第一性能水平、 “高性能”或“快速”存储器可以包括配置用以工作在作为第二存储 器202的平均查询响应时间的一半或更少的平均查询响应时间下的 任何存储器。相反地,用作第二存储器202的第二性能水平、“低性 能”或“缓慢”存储器可以包括配置用于工作在两倍于第一存储器 201的平均查询响应时间或更多的平均查询响应时间下的任何存储 器。在一些实施例中,当第二存储器202可以具有优化索引154时, 用作第一存储器201的第一性能、“高性能”或“快速”存储器可以 包括配置用于提供与基本索引153基本上相同或者更好的平均查询 响应时间,反之亦然。

在一些实施例中,第二存储器202可以包括固态驱动器(SSD) 或磁盘型存储器。第二存储器202不限于任何具体存储器类型,并且 如上所述的提供慢于由第一存储器201提供的第一性能水平的第二 性能水平的任何存储器类型对于在本公开实施例中使用而言是可接 受的。

将要知晓的是在一些实施例中,第一存储器201可以补充或者与 配置用以允许更快速索引操作的任何第一硬件交换,并且同样地,第 二存储器202可以补充或者与配置用于允许相对较慢索引操作的任 何第二硬件交换。例如,在一些实施例中,第一存储器201可以补充 或者与相对强大的计算/处理资源交换,包括例如专用硬件,诸如一 个或多个现场可编程门阵列(FPGA)或者配置用于访问基本索引153 的其他专用硬件。第二存储器202可以补充或者与相对较低性能计算 /处理资源交换,包括例如非专用硬件,诸如独立的中央处理单元 (CPU),用于在配置用于访问优化索引154的第二服务提供者102 内。此外,本公开使用第一存储器201和第二存储器202作为示例性 实施例,然而需要知晓的是通过扩展,可以使用任意数目的不同存储 器或者其他资源性能水平。例如,第三存储器、第四存储器等等可以 包括在图2的第二服务提供者102中。

在图2B中,在对应于时间T2之后时间间隔的时间T3处,可以 配置第二数字服务提供者102以在第二存储器202中存储优化索引 154。可以配置第二数字服务提供者102以通过使用索引153和154 以服务来自云客户端160的查询以在数据库152中找到所请求的数据 记录,以及采用包括所请求数据记录的响应而对云客户端160做出响 应。

在一些实施例中,数据库优化工具可以修改基本索引153以产生 优化索引154。当优化了基本索引153的一部分时,那些部分可以移 动或者复制至第二存储器202,并且可以用作优化索引154。在一些 实施例中,移动至第二存储器202的基本索引153的一部分可以由它 们的响应速度而标识,根据时间和/或查表数目,与这些部分是否由 数据库优化工具修改相组合或者独立于该情形。在其他实施例中,数 据库优化工具可以构建优化索引154作为第二索引,独立于基本索引 153,以及当第二索引尺寸增大并且改进时可以配置第二数字服务提 供者102以引导增多数目的查询至优化索引154。

在一些实施例中,可以配置第二数字服务提供者102以使用优化 索引154以使得使用在第二存储器202中优化索引154的平均总体响 应时间基本上等于使用在第一存储器201中基本索引153的平均总体 响应时间。例如,在该上下文中,“基本上相等”的响应时间可以包 括使用基本索引153的平均总体响应时间可以比使用优化索引154的 平均总体响应时间更快或者更慢50%(或更少)。

在一些实施例中,第二数字服务提供者102无需采用基本索引 153和优化索引154而提供基本上相同的总响应时间。使用比基本索 引153更快或者更慢的优化索引154的响应时间是可以接受的。例如, 在一些情形下,第一存储器201中基本索引153可以用于防止不可接 收的缓慢初始性能,并且第二存储器202中的优化索引154可以大大 慢于第一存储器201中的基本索引153,但是仍然是可接受的。在一 些情形下,第一存储器201中的基本索引153可以用于提供缓慢但是 可接受的初始性能,并且第二存储器202中的优化索引154可以远远 快于第一存储器201中的基本索引153。

在图2C中,在对应于时间T3之后时间间隔的时间T4处,可以 配置第二数字服务提供者102以存储基本索引153的额外部分,作为 第二存储器202中的优化索引154。可以配置第二数字服务提供者102 以通过使用索引153和154以对于来自云客户端160的查询进行服 务,并且采用包括所请求数据记录的响应而对于云客户端160进行响 应。

在一些实施例中,可以配置第二数字服务提供者102以逐渐的减 小提供用于数据库152和/或基本索引153的第一存储器201的资源, 例如在每个时间T3、T4和T5处减小由基本索引153使用的第一存 储器201的资源。可以配置第二数字服务提供者102以使用前进查询 数据构建优化索引154,以及在第二存储器202中存储优化索引154。 第二存储器202可以包括可以以虽然比第一存储器201较低性能但是 较低成本提供的存储器。在第二存储器202中存储优化索引154无需 影响总性能,因为由优化索引154提供的性能增益可以补偿与转换至 第二存储器202相关联的性能损耗。可以配置第二数字服务提供者 102以逐渐增加提供用于数据库152和/或优化索引154的第二存储器 202的资源,例如在时间T3、T4和T5处,当收集了允许构建优化索 引154的查询数据时。

在图2D中,在对应于时间T4之后时间间隔的时间T5处,可以 配置第二数字服务提供者102以在第二存储器202中存储完成的优化 索引154。可以配置第二数字服务提供者102以通过使用优化索引154 对于来自云客户端160的查询进行服务以在数据库152中找到所请求 的数据记录,并且采用包括了所请求数据记录的响应而对于云客户端 160做出响应。可以任选的配置第二数字服务提供者102以中止基本 索引153,诸如通过删除或者另外废除基本索引153,或者从第一存 储器201逐出基本索引153。在一些实施例中,可以配置第二数字服 务提供者102以管理对使用优化索引154的转变以便于维持从时间 T2至时间T5处完全优化的稳定状态操作的恒定性能,具有对于过度 提供的最少代价。

在图2中,可以配置第二数字服务提供者102以采用诸如第一存 储器201中提供的补充的高性能相对昂贵资源而临时加速对数据库 152的访问,而同时构建了有效的数据库优化索引154,以使得当构 造优化索引154时可以满足第二数字服务提供者102和/或客户150 的性能需求。当构建了优化索引154时,可以逐渐增多的由使用优选 索引154的第二存储器202的相对较便宜资源而服务来自云客户端 160的查询。可以配置第二数字服务提供者102以连续地调整加速经 由第一存储器201对于数据库152的访问,以从时间T2处的初始传 送提供所需的数据库访问服务速度。

在一些实施例中,可以配置基本索引153以服务任何查询。然而, 当对于数据库152中数据记录执行取回时,基本索引153的使用可以 通过基本索引153而承担多达8-10次不同的索引查表,或者更多。 基本索引153中这些高数目的索引查表在许多情形下可以视作不可接 受的。例如,对于基于磁盘的查询的每个检查可以占用约10毫秒,对 于8-10个索引检查加上对于数据记录的最终磁盘访问、加上通信和 算法时间,导致100-200ms的总查询服务时间。这与从有效索引的 预期作比较,对于1-2个索引检查加上最终磁盘访问、通信和算法 时间,诸如约3-50ms的优化索引154。

为了避免与基本索引153中额外索引查表相关联的延迟,当减小 操作成本时,可以配置第二数字服务提供者102以将基本索引153的 使用与初始少量但是逐渐增多的优化索引154的使用相组合,而此时 基本索引153运行在高性能第一存储器201中。

在一些实施例中,优化索引154尺寸可以增大,并且较低质量的 基本索引153可以尺寸减小,例如通过将数据库152内的数据区域的 覆盖率从基本索引153转移至忧患索引154。因此在时间T2、T3、 T4和T5处,当收集查询使用数据以优化基本索引153的一部分时, 对于数据库152的索引覆盖率由T2处基本索引153所控制,转变至 在T5处由优化索引154所控制。可以配置优化索引154以比基本索 引153相比采用较少不同的索引表以返回数据库152中所请求数据记 录的最终位置,因此优化索引154可以位于与第二存储器202相关联 的较慢存储媒介上,诸如SSD或自旋磁盘,而不必减小对数据库152 的访问速度。在一些实施例中,可以配置第二数字服务提供者102以 当第二数字服务提供者102从昂贵的第一存储器201中基本索引153 转变至较便宜第二存储器202中优化索引154时维持随时间而粗略恒 定的数据库性能。

在一些实施例中,可以配置第二数字服务提供者102以根据第一 存储器201与第二存储器202的相对成本而管理第一存储器201中基 本索引153以及第二存储器202中优化索引154的使用。为了计算成 本,可以配置第二数字服务提供者102以确定基本索引153的尺寸, 以及将索引尺寸乘以单位时间单位存储器的成本,例如每小时每GB 的成本。得到的成本数字可以应用于函数以确定例如对于优化索引 154的性能需求。存储器201的高成本可以调整降低对于优化索引154 的性能需求,以使得在较低成本存储器202中优化索引154的使用更 快速增多。相反地,存储器201的低成本可以调整增大对于优化索引 154的性能需求,以使得在较低成本存储器202中优化索引154的使 用更慢地增多。

在示例性的存储器成本计算中,第二数字服务提供者102可以例 如确定基本索引153的尺寸约为170GB。这是对于包含了约十亿数据 记录的数据库的合理预期的索引尺寸,尽管索引尺寸可以随着所包括 数据的变量和丰富度的数目而大范围改变。当前对于弹性型存储器的 第一存储器201的每GB成本约为$0.03每小时。因此对于十亿记录 数据库在高性能第一存储器201中放置基本索引153的成本可以估算 为大致$5.00/小时或者$100/日。同时,当前典型的索引优化技术可以 任意采取从日至月以产生优化索引154,取决于查询频率和查询同质 性。因此与使用用于基本索引153的第一存储器201相关的成本可以 对于十亿记录数据库大致为$100至$3000。可以通过如上所述调整性 能需求而调整这些成本。

图3是根据本公开至少一些实施例设置的、作为数字服务提供者 服务器的一个示例的计算装置300的结构图。在非常基本的配置结构 301中,计算装置300可以包括一个或多个处理器310和系统存储器 320。存储器总线330可以用于在处理器310与系统存储器320之间 通信。

取决于所需配置结构,处理器310可以是任何类型,包括但不限 于微处理器(μP)、微控制器(μC)、数字信号处理器(DSP),或 者其任意组合。处理器310可以包括一级或多级高速缓存,诸如一级 高速缓存311和可以例如实施了第一存储器201的二级高速缓存312, 处理器核心313,以及寄存器314。处理器核心313可以包括运算逻 辑单元(ALU)、浮点单元(FPU)、数字信号处理核心(DSP核心), 或者其任意组合。存储器控制器315也可以用于处理器310,或者在 一些实施方式中存储器控制器315可以是处理器310的内部部件。

取决于所需配置结构,系统存储器310可以是任何类型,包括但 不限于易失性存储器(诸如RAM),非易失性存储器(诸如ROM、 闪存等等),或者其任意组合。系统存储器320通常包括操作系统 321,一个或多个应用程序322,以及程序数据325。在一些实施例中, 操作系统321可以包括由虚拟机管理器(VMM)管理的虚拟机。应 用程序322-324可以包括例如性能平衡工具模块323和数据库优化 工具模块324。程序数据326-327可以包括可以分别由应用程序323 -324使用的数据326和数据327。

计算装置300可以具有额外的特征或功能,以及额外的接口以促 进在基本配置结构301与任何所需装置和接口之间的通信。例如,总 线/接口控制器340可以用于促进基本配置结构301与一个或多个数 据存储装置350之间经由存储接口总线341的通信。数据存储装置 350可以是可移除存储装置351,可以例如实施了第二存储器202的 非可移除存储装置,或者其组合。仅列举少数,可移除存储和非可移 除存储装置的示例包括诸如软盘驱动器和硬盘驱动器(HDD)的磁 盘装置,诸如小型盘(CD)驱动器或数字通用盘(DVD)驱动器的 光盘驱动器,固态驱动器(SSD),以及磁带驱动器。示例性的计算 机存储媒介可以包括以用于存储信息的任何方法或技术而实施的易 失性和非易失性、可移除和非可移除媒介,诸如计算机可读指令、数 据结构、程序模块、或者其他数据。

一级高速缓存311、第一存储器201、系统存储器320、可移除 存储装置351、以及第二存储器202是计算机存储媒介的所有示例。 计算机存储媒介包括但不限于RAM、ROM、EEPROM、闪存或其他 存储技术,CD-ROM、数字通用盘(DVD)或其他光学存储,磁带 盒、磁带、磁盘存储或其他磁性存储装置,或者可以用于存储所需信 息并且可以由计算装置300访问的任何其他媒介。任何这些计算机存 储媒介可以是装置300的一部分。

计算装置300也可以包括接口总线342以用于促进从各个接口装 置(例如输出接口、外围接口和通信接口)经由总线/接口控制器340 至基本配置结构301的通信。示例性的输出装置360包括图像处理单 元361和音频处理单元362,其可以配置用以经由一个或多个A/V端 口363而通信至诸如显示器或话筒的各种外部装置。示例性的外围接 口370可以包括串行接口控制器371或并行接口控制器372,其可以 配置用以通过有线或者无线连接经由一个或多个I/O端口373而与诸 如输入装置(例如键盘、鼠标、手写笔、语音输入装置、触摸输入装 置等)或其他外围装置(例如打印机、扫描仪等)的外部装置通信。 其他传统的I/O装置也可以连接诸如鼠标、键盘等等。示例性通信装 置380包括网络控制器381,其可以设置以促进经由一个或多个通信 端口382而与在网络通信之上的一个或多个其他计算装置390通信。

计算机存储媒介可以是通信媒介的一个示例。通信媒介可以通常 实现为计算机可读指令、数据结构、程序模块或诸如载波或其他传输 机制的已调制数据信号中其他数据,并且包括任何信息传送媒介。“已 调制数据信号”可以是具有以在信号中编码信息的方式设置或者改变 其一个或多个特性的信号。借由示例但是并非限定的方式,通信媒介 可以包括诸如有线网络或直接有线连接的有线媒介,以及诸如声、射 频(RF)、红外(IR)的无线媒介以及其他无线媒介。

计算装置300可以实施作为由第二数字服务提供者102提供的数 据中心中的服务器。计算装置300也可以实施作为在任何数目其他上 下文中取代了数据库的任何服务器。计算装置300也可以实施作为包 括膝上型计算机和非膝上型计算机配置结构的个人或者商用计算机。

图4是示出了根据本公开至少一些实施例设置的、配置用以实施 性能平衡的示例性方法的流程图。示例性流程图可以包括由步骤323、 400-402以及410-413所示的一个或多个操作/模块,其表示了可以 在计算装置300中执行的方法、功能模块和/或可以记录在计算机可 读媒介450上指令。所示步骤323、400-402以及410-413可以设 置以提供性能平衡工具323的功能操作,包括在步骤400处“查询 处理”以及在步骤410处的“索引管理”的一个或多个。步骤400可 以包括在步骤401处的“接收查询”以及在步骤402处的“使用第一 和第二存储器中索引取回所请求数据记录”。步骤410可以包括在步 骤411处“在第一存储器中存储索引”,在步骤412处“激活数据库 优化工具”,和/或在步骤413处“在第二存储器中存储索引的一部 分/第二索引”。

在图4中,步骤323、400-402和410-413示出作为包括顺序 执行的步骤,例如首先步骤400以及最后步骤410。然而应该知晓的 是,这些步骤可以为了方便重新设置以适应特定实施例,并且这些步 骤或其一部分可以在一些实施例中同时执行。也应该知晓的是在一些 示例中,各个步骤可以消除、划分为额外步骤、和/或与其他步骤组 合。

图4示出了示例性方法,由第二服务提供者102操作的计算装置 300可以由此逐渐的产生优化索引154,而同时从使用第一存储器201 中基本索引153转移至使用第二存储器202中优化索引。在一些实施 例中,根据图4的方法除了其他之外可以包括由步骤411将配置用于 定位数据库152中数据记录的基本索引153存储在与第一性能水平相 关的第一存储器201中;由步骤401,接收包括了对于一个或多个数 据库152中数据记录的请求的查询;由步骤412激活的数据优化工具 324使用对应于接收到的查询修改了基本索引153以配置基本索引 153以提供对于接收到查询更快的响应;由步骤413,在与第二性能 水平相关的第二存储器202中存储基本索引153的一个或多个部分作 为优化索引154,其中第二性能水平低于第一性能水平;由步骤413, 当修改基本索引153时,增大了存储作为第二存储器202中优化索引 154的基本索引153的一部分;以及由步骤402,响应于所接收的查 询取回所请求的数据记录,其中在基本索引153的修改期间,分别使 用第一和第二存储器201和202中的基本索引153、154而执行取回, 以及其中当第二存储器202中优化索引的部分增大时取回逐渐增多 使用第二存储器202中优化索引的部分。

在一些实施例中,根据图4的方法除了其他之外可以包括,由步 骤411,在与第一性能水平相关联的第一存储器201中存储配置用于 定位数据库152中数据记录的基本索引153;由步骤401,接收包括 对于数据库152中一个或多个数据记录请求的查询;由步骤412激活 的数据库优化工具构建配置用于定位数据库152中数据记录的第二 优化索引154,其中构建优化索引154包括使用对应于已接收查询的 查询数据以配置优化索引154以比基本索引153提供对于接收到查询 的更快的响应,以及其中优化索引154依照构建而增大尺寸;由步骤 413,在与第二性能水平相关联的第二存储器202中存储优化索引 154,其中第二性能水平低于第一性能水平;以及由步骤402,响应 于接收到的查询取回所请求的数据记录,其中在优化索引154的构建 期间,使用基本索引153和优化索引154执行取回,以及其中当优化 索引154尺寸增大时取回增多使用优化索引154。

在“性能平衡工具”步骤323中,计算装置300可以配置用以根 据导引至数据库152的服务查询而执行所有操作,而此时产生了作为 优化索引154的数据库152的性能平衡。步骤323可以包括步骤400 和410。

在“查询处理”步骤400中,计算装置300可以配置用以从云客 户端接收查询并且做出响应,而同时提供了用于索引优化的查询数 据。步骤400可以包括步骤401和402。

在“接收查询”步骤401中,可以配置计算装置300以从云客户 端接收查询。接收到的查询可以采取各种形式。在一些实施例中,接 收到的查询可以是经由连接了第二服务提供者102与云客户端160的 网络而接收的对于数据152的调用请求。在一些实施例中,数据库 152可以支持网站,例如电子商务网站,并且查询可以产生作为网站 上用户会话的一部分。包括在网站中的服务可以通常调用数据库152。 在这些实施例中,步骤401可以包括接收在计算机300或者由第二服 务提供者102所提供的另一计算机内产生的查询。步骤401之后可以 是步骤402。

在“使用第一和第二存储器中索引取回请求的数据记录”步骤 402中,可以配置计算装置300以分别使用第一存储器201和第二存 储器202中的基本索引153和优化索引154以从步骤401中接收的查 询中所请求的数据库取回数据记录。

在一些实施例中,可以配置步骤410以维持建立了哪个查询引导 至基本索引153以及哪个查询引导至优化索引154的索引路由表,如 下所述。可以配置步骤402以确定接受到查询的查询类型,以及涉及 索引路由表以确定所使用的合适的索引。在一些实施例中,查询类型 可以对应于由索引153和154所覆盖的数据库152的一部分。可以配 置步骤402以使用合适的索引以从数据库152取回所请求的数据记 录,以及响应于例如云客户端160或者另一请求进程,通过提供取回 到的数据记录。当优化索引154尺寸增大时,可以更新索引路由表以 引导更多查询至优化索引154。

在一些实施例中,可以配置步骤402以不论查询类型而引导所有 查询的一些部分至基本索引153,以及不论查询类型而引导所有查询 的一些部分至优化索引154。当优化索引154尺寸增大时,可以配置 步骤402以引导所有查询的较大比例至优化索引154。

在一些实施例中,可以配置步骤400以测量在步骤401中接收查 询与步骤402中取回所请求数据记录之间查询响应时间和/或索引查 表的数目(也在此称作索引调用)。步骤400可以进一步配置以采用 查询类型校正测得的查询响应时间/索引调用的数目。特别地,步骤 400可以采用优化索引154或基本索引153是否用于服务查询而校正 测得的查询响应时间/查询调用数目。查询处理性能数据可以提供由 如下所述索引管理410使用。步骤410可以跟随步骤400。

在“索引管理”步骤410,可以配置计算装置300以管理分别存 储在第一和第二存储器201、202中的索引153、154。步骤410可以 包括步骤411-413。

在“在第一存储器中存储索引”步骤411中,一旦初始接收了数 据库152,可以配置计算装置300以在第一存储器201中存储基本索 引153。步骤412可以跟随步骤411。

在“激活数据库优化工具”步骤412中,可以配置计算装置300 以激活数据库优化工具324以使用接收到的查询以优化查询响应时 间而开始优化基本索引153和/或从零开始形成第二索引。在一些实 施例中,可以配置步骤412以修改步骤402以向数据库优化工具324 提供查询数据。步骤413可以跟随步骤412。

在“在第二存储器中存储索引的一部分/第二索引”步骤413中, 在一些实施例中,可以配置计算装置300以在第二存储器202中存储 基本索引153的一部分作为优化索引154。在一些实施例中,可以配 置步骤413以例如通过数据库优化工具324的操作而确定基本索引 153的哪个部分优化。可以配置步骤413以与数据库优化工具324通 信以确定已经优化了基本索引153的哪些部分。可以配置步骤413以 在第二存储器202中存储基本索引153的优化部分作为优化索引154, 以使得优化索引154包括了配置用于提供对于接收到查询的更快速 响应的基本索引153的修改部分。

在一些实施例中,可以配置步骤413以比基本索引153的剩余部 分采用较少索引调用或者较短时间确定配置基本索引153的哪些部 分以定位数据记录,以及移动那些部分至第二存储器202中的优化索 引154。例如,在一些实施例中,可以配置步骤413以当配置基本索 引153的这些部分以采用5个或更少索引调用而定位数据记录时、或 者当这些部分另外满足包括索引调用的可允许数目的性能需求时在 第二存储器202中存储了基本索引153的一部分作为优化索引154。 在一些实施例中,可以配置步骤413以当基本索引153的这些部分配 置用以在50毫秒或更短时间内定位数据记录时、或者当这些部分另 外满足了包括可允许取回时间的性能需求时在第二存储器202中存 储了基本索引153的一部分作为优化索引154。

在步骤413的一些实施例中,可以配置计算装置300以在第二存 储器202中存储优化索引154作为独立的第二索引,而不是从基本索 引153的一部分构建优化索引154。可以配置第二优化索引154以采 用比第一基本索引153更少索引调用和/或更短时间而定位数据记录。 例如,可以配置优化索引154以采用5或者更少查表以定位数据记录, 或者另外以满足查表性能需求的查表数目。可以配置第二索引以在 50毫秒或更短时间内在数据库152中定位数据记录,或者另外在满 足速度性能需求的时间内。以下结合图5描述步骤413的其他特征方 面。

图5是示出了根据本公开至少一些实施例设置的、在与性能平衡 相关的第二存储器中存储了索引的一部分和/或第二索引的示例性方 法的流程图。示例性流程图可以包括由步骤413和501-504所示的 一个或多个操作/模块,其表示可以在计算装置300中执行的方法、 功能模块的操作,和/或可以记录在计算机可读媒介450上的指令, 如图4所示。可以设置所示步骤413和501-504以提供在第二存储 器中存储索引的一部分和/或第二索引的功能性操作413,包括在步骤 501处“收集查询处理性能数据”、在步骤502处“比较性能数据与 性能需求”、在步骤503处“性能数据满足或者超出性能需求:移动 索引一部分至第二存储器/引导额外查询至第二存储器”、以及在步 骤504处“性能数据未满足性能需求:移动索引一部分至第一存储器 /引导额外的查询至第一存储器”的一个或多个。

在图5中,步骤413和501-504示出为包括顺序执行的步骤, 例如首先步骤501并且最后步骤503或504。然而需要知晓的是,这 些步骤为了方便重新设置以适用于特定实施例,并且这些步骤或其一 部分可以在一些实施例中同时执行。也应该知晓的是,在一些示例中, 各个步骤可以消除、划分为额外步骤、和/或与其他步骤组合。

图5示出了示例性方法,由此可以配置计算装置300以实施根据 图4步骤413的在第二存储器202中存储基本索引153的一部分和/ 或第二索引。

在“收集查询处理性能数据”步骤501中,可以配置计算装置 300以收集查询处理性能数据,例如哪些数据可以由如上所述步骤 400提供。查询处理性能数据可以包括查询响应时间,以及在查询响 应时间与优化索引154或基本索引153的使用之间的相互关系。在一 些实施例中,查询处理性能数据可以进一步包括识别了用于对查询响 应的索引的特定部分的信息。步骤502可以跟随步骤501。

在“比较性能数据与性能需求”步骤502中,可以配置计算装置 300以将步骤501中收集的数据与性能需求作比较。在一些实施例中, 可以不论索引而对于所有查询建立例如50ms或更短的单个查询响应 时间性能需求。在一些实施例中,可以对于不同索引建立不同新年功 能需求,并且可以配置步骤502以将步骤501中收集的数据与用于服 务对应查询的索引的性能需求作比较。步骤503或504可以跟随步骤 502。

在“性能数据满足或超过性能需求:移动部分索引至第二存储器 /引导额外查询至第二存储器”步骤503中,在一些实施例中,可以 配置计算装置300以当在步骤502中确定了查询处理性能数据满足或 者超过性能需求时将基本索引153的一部分移动至第二存储器202。 例如,当查询处理性能数据指示在30ms内服务查询并且用于查询的 性能需求为50ms或更短时,查询处理性能数据超过了性能需求而比 性能需求更快,以及对应于查询的基本索引153的一部分可以移动至 第二存储器202。在一些实施例中,可以配置计算装置300以当步骤 502中确定了查询处理性能数据满足或者超过性能需求时引导额外的 查询至第二存储器202。例如,当查询处理性能数据指示了用于优化 索引154的平均总查询响应时间满足或者超过性能需求时,可以配置 步骤503以引导额外的查询至第二存储器202中优化索引154。例如, 如果用于优化索引154的平均总查询响应时间为49ms并且对于平均 总查询响应时间的性能需求为50ms或更短,查询处理性能数据超过 了性能需求而快于性能需求,并且可以配置步骤503以引导额外查询 至第二存储器202中的优化索引154。

在“性能数据并未满足性能需求:移动一部分索引至第一存储器 /引导额外查询至第一存储器”步骤504中,在一些实施例中,可以 配置计算装置300以当在步骤502中确定了查询处理性能数据并未满 足性能需求时将优化索引154的一部分移动返回至第一存储器201。 例如,当查询处理性能数据指示了在60ms内服务查询并且对于查询 的性能需求是50ms或更少时,查询处理性能数据并未满足性能需求 而是慢于性能需求,并且对应于查询的优化索引154的一部分可以移 动至第二存储器202。在一些实施例中,可以配置计算装置300以当 在步骤502中确定了查询处理性能数据并未满足性能需求时引导额 外的查询至第一存储器201。例如,当查询处理性能数据指示了对于 优化索引154的平均总查询响应时间并未满足性能需求时,可以配置 步骤503以引导额外的查询至第一存储器201中的基本索引153。例 如,如果对于优化索引154的平均总查询响应时间为51ms,并且对 于平均总查询响应时间的性能需求是50ms或更少,查询处理性能数 据并未满足性能需求而是慢于性能需求,并且可以配置步骤503以引 导额外的查询至第一存储器201中的基本索引153。

步骤501-504可以在任何时间间隔下执行。在一些实施例中, 可以根据例如每隔10秒的时间间隔而执行步骤501-504。在一些实 施例中,可以根据例如每个100,000个查询的查询间隔而执行步骤501 -504。在一些实施例中,可以每次由数据库优化工具324修改优化 索引154时执行步骤501-504。

在一些实施例中,可以配置步骤413以维持建立了哪些查询引导 至基本索引153以及哪些查询引导至优化索引154的索引路由表,以 由如上所述查询处理步骤400所使用。例如,可以配置步骤413以每 次移动基本索引153的一部分至优化索引154时更新索引路由表。在 一些实施例中,索引路由表可以使得查询类型与索引153或154相关。 在一些实施例中,查询路由表可以使得数据库152的查询部分与索引 153或154相关。

图6是示出了根据本公开的至少一些实施例设置的、配置用于在 数据库优化工具324操作期间实施性能平衡的示例性方法的流程图。 示例性流程图可以包括由步骤323、401、402、413和324所示的一 个或多个操作/模块,其表示了如在计算装置300中方法、功能模块 中执行的操作,和/或如可以记录在计算机可读媒介450上的指令, 如图4所示。可以设置所示步骤323、401、402、413和324以在数 据库优化工具324的操作期间根据步骤323提供性能平衡的功能操 作。步骤323可以包括在步骤401处“接收查询”、在步骤402处“使 用第一和第二存储器中索引接收所请求数据记录”、和/或在步骤413 处“在第二存储器中存储索引的一部分/第二索引”的一个或多个。

在图6中,步骤401、402和413示出作为包括了顺序执行的步 骤,例如具有开始的步骤401和最后的步骤413。然而应该知晓的是, 这些步骤为了方便可以重新设置以适应于特定实施例,并且这些步骤 或其一部分可以在一些实施例中同时执行。也应该知晓的是,在一些 示例中,多个步骤可以消除、划分为额外步骤、和/或与其他步骤组 合。

图6示出了示例性方法,由此可以配置计算装置300以在根据步 骤411在第一存储器201中存储基本索引153之后、以及在根据步骤 412激活了数据库优化工具324之后执行性能平衡。在一些实施例中, 在数据库优化工具324的连续操作期间,步骤401、402和413可以 重复在基本上连续循环中,例如步骤413可以评估性能并且确定是否 移动基本索引153的一部分,或者在服务了每个查询之后更换查询路 由。在一些实施例中,在数据库优化工具324的连续操作期间,步骤 401和402可以操作以服务所有引入的查询,并且步骤413可以以如 上所述间隔操作。图6中所示每个步骤如上所述。

图7是示出了根据本公开至少一些实施例设置的示例性的资源 过度提供与时间性能随时间变化的示意图。图7示出了初始具有低索 引性能的高过度供应。随着时间变化,随着使用优化索引154而改进 了索引性能,并且因此可以减小过度供应。

图7中索引性能曲线也可以视作查询取样曲线,因为索引性能随 着用于索引优化的查询取样的数目而改进。当第二数字服务提供者 102构建了查询取样的历史时,可以配置第二数字服务提供者102以 降低资源过度供应以提供基本上恒定的性能水平。可以使用如在此所 述的拆分媒介索引存储方案实施过度供应,以使得使用了高性能存储 器资源的相对低质量索引的性能基本上匹配了使用低性能存储器的 相对高质量索引的性能,高质量、低成本索引作为更高质量索引在构 建中,由此当发生图7中转变时归一化了性能随时间的变化。

图8是示出了根据本公开至少一些实施例设置的用于从数据库 取回数据记录的多个索引查表/索引调用的示意图。图8示出了具有 多个索引表的示例性关键数值存储。第三表803可以包括一个或多个 关键数值的真实位置;然而可以访问形式为第二表802和第一表801 的、在第三表803之上的多层元数据树以便于正确地访问第三表803。 较低的优化索引通常表明了更大的元数据表具有树中的多层,导致更 多的索引读取以找到数据库中目标数据记录的最后地址。例如,对于 完全原始索引而言普通的是具有8-10个表深度,而良好设计的索引 可以组织为首先具有最独特的关系式,并且采用聪明的多种覆盖率可 以通常能够使用1-2个表格/索引调用而定位记录(至少在其中剩余 的可以算法排列的组块级别下)。

在系统的特征方面的硬件和软件实施方式之间几乎没有差别;硬 件或软件的使用通常(但并非总是,其中在某些上下文中硬件和软件 之间的选择可以变得重要)是表示了成本与效率权衡的设计选择。有 在此所述的处理器和/或系统和/或其他技术(例如硬件、软件和/或固 件)可以影响的各种手段,以及优选的手段将随着其中配置了处理器 和/或系统和/或其他技术的上下文而变化。例如,如果实施者确定速 度和精度是极为重要的,实施者可以主要选取硬件和/或固件手段; 如果灵活性是极为重要的,实施者可以主要选择软件实施方式;或者 再次备选地,实施者可以选取硬件、软件和/或固件的一些组合。

之前详述说明书经由使用结构图、流程图和/或示例列举了装置 和/或工序的各个实施例。在包含一个或多个功能和/或操作的这些结 构图、流程图和/或示例的范围内,本领域技术人员应该理解的是这 些结构图、流程图或示例内的每个功能和/或操作可以由大量硬件、 软件、固件或其任何虚拟组合而单独地和/或共同地实施。在一些实 施例中,在此所述的主题的多个部分可以经由专用集成电路(ASIC)、 现场可编程门阵列(FPGA)、数字信号处理器(DSP)或其他集成 形式来实施。然而,本领域技术人员将认识的是,在此所述实施例的 一些特征方面全部或者部分地可以等价地实施在集成电路中,作为在 一个或多个计算机上运行的一个或多个计算机程序(例如作为在一个 或多个计算机系统上运行的一个或多个程序),作为在一个或多个处 理器上运行的一个或多个程序(例如作为在一个或多个微处理器上运 行的一个或多个程序),作为固件,或者作为其虚拟的任意组合,并 且设计电路和/或对于软件和或固件编写代码将恰好在受到本公开教 导的本领域技术人员的能力范围内。此外,本领域技术人员将知晓的 是在此所述的主题的机制能够以大量各种形式发布作为程序产品,并 且应用在此所述的主题的示例性实施例而不论用于实际执行发布的 信号承载媒介的特定类型。信号承载媒介的示例包括但不限于以下: 诸如软盘、硬盘驱动(HDD)、小型盘(CD)、数字通用盘(DVD)、 数字磁带、计算机存储器等等的可记录类型媒介;以及诸如数字和/ 或模拟通信媒介的传输类型媒介(例如光纤电缆、波导、有线通信链 路、无线通信链路等等)。

本领域技术人员将知晓的是在本领域内通常以在此列出的方式 描述装置和/或方法,并且此后使用工程设计实践以将这些所述装置 和/或方法集成至数据处理系统中。也即,在此所述的装置和/或方法 的至少一部分可以经由合理量的试验而集成至数据处理系统中。本领 域技术人员将知晓的是典型的数据处理系统通常包括系统单元外壳、 视频显示装置、诸如易失性和非易失性存储器的存储器、诸如微处理 器和数字信号处理器的处理器、诸如操作系统的计算实体、驱动器、 图形用户界面、以及应用程序、诸如触摸垫或触摸屏的一个或多个交 互装置、和/或包括反馈回路以及控制电动机的控制系统(例如用于 感测位置和/或速率的反馈;用于移动和/或调整部件和/或数量的电动 机)的一个或多个。典型的数据处理系统可以采用任何合适的商业可 获得部件实施,诸如在数据计算/通信和/或网络计算/通信系统中找到 的那些。在此所述主题有时示出了包含在不同其他部件内或者与其连 接的不同部件。应该理解的是,这些所示体系架构仅仅是示例并且实 际上可以实施实现了相同功能的许多其他体系架构。在概念意义上, 用以实现相同功能任何部件设置是有效地“关联的”,以使得实现所 需功能。因此,在此组合以实现特定功能的任何两个部件可以视作相 互“关联”以使得实现所需功能,而不论体系架构或中间部件。同样 地,如此关联的任何两个部件也可以视作相互“可操作地连接”或者 “可操作地耦合”以实现所需功能,并且能够如此关联的任何两个部 件也可以视作相互“可操作地可耦合”以实现所需功能。可操作地可 耦合的具体示例包括但不限于物理配对和/或物理交互作用的部件, 和/或无线可交互的和/或无线交互作用的部件,和/或逻辑交互和/或逻 辑可交互的部件。

关于在此基本上任何复数和/或单数术语的使用,当对于语境和/ 或申请合适时,本领域技术人员可以从复数转换至单数和/或从单数 转换至复数。为了简明起见在此仅仅列出了各个单数/复数的排列。

本领域技术人员应该理解的是通常在此、特别是在所附权利要求 (例如所附权利要求的实体)中使用的术语通常意在作为“开放式” 术语(例如术语“包括”应该解释为“包括但是不限于”,术语“具 有”应该解释为“至少具有”,术语“包含”应该解释为“包含但是 不限于”等等)。本领域技术人员应该进一步理解的是如果引入的权 利要求陈述的具体数目是有意的,这种意图将明确地陈述在权利要求 中,并且在没有这种陈述的情形下不存在这种意图。例如,作为对理 解的帮助,以下所附权利要求可以包含引入性短语“至少一个”和“一 个或多个”的使用以引入权利要求陈述。然而,这些短语的使用不应 构造为暗示通过不定冠词“一”而对权利要求陈述的引入将包含这些 引入的权利要求陈述的任何特定权利要求限定为仅包含一个这种陈 述的实施例,即便当相同权利要求包括引入性短语“一个或多个”或 “至少一个”以及诸如“一”的不定冠词时(例如“一”应该解释为 意味着“至少一个”或“一个或多个”);同理适用于对用于引入权 利要求陈述项的定冠词的使用。此外,即便明确地陈述了引入的权利 要求陈述项的具体数目,本领域技术人员将认识到的是这些陈述应该 解释为意味着至少具有所述数目(例如仅陈述了“两个陈述项”而没 有其他修饰,意味着至少两个陈述项,或者两个或更多陈述项)。此 外,在那些其中使用了惯用类比“A、B和C等等的至少一个”的情 形中,通常这种构造意在使得本领域技术人员将理解这种习惯使用 (例如“具有A、B和C的至少一个的系统”将包括但不限于具有单 独A、单独B、单独C、A和B一起、A和C一起、B和C一起、 和/或A、B和C一起等等的系统)。本领域技术人员将进一步理解 的是不论在说明书、权利要求书或附图中,事实上表示两个或多个备 选性项目的任何分离性词语和/或短语应该理解为预期了包括一个项 目、任何项目、或者所有项目的可能性。例如,短语“A或B”应该 理解为包括“A”或“B”或“A和B”的可能性。

尽管在此使用各个方法和系统已经描述并且示出了某些示例性 技术,本领域技术人员应该理解的是可以不脱离请求保护的主题而可 以做出多个其他修改例并且可以替换等价形式。此外,可以不脱离在 此所述的中心概念而做出许多修改例以适用在请求保护主题教导下 的特定情形。因此,请求保护的主题意在并非限定于所述特定示例, 而是这些请求保护的主题也可以包括落入所附权利要求范围内的所 有实施方式及其等价形式。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号