关系数据管理的控制服务的制作方法

文档序号:9417980阅读:171来源:国知局
关系数据管理的控制服务的制作方法
【专利说明】关系数据管理的控制服务
[0001] 本申请是国际申请号为PCT/US2010/029476,国际申请日为2010年3月31日,进 入中国国家阶段的申请号为201080015811. 9,发明名称为"关系数据管理的控制服务"的发 明专利申请的分案申请。
[0002] 版权通知
[0003] 本专利公开的部分文件包含受版权保护的内容。版权所有者不反对专利及商标局 的专利文件或记录中出现的对任一专利文件或专利公开的传真复制,但除此之外任何情况 均保留所有的版权。
【背景技术】
[0004] 因为越来越多的应用和服务在网络(例如互联网)上正变得可用,越来越多的内 容、应用和/或服务提供商正致力于诸如云计算的技术。云计算通常是通过服务(例如Web 服务)提供对电子资源的访问的一种方法,其中硬件和/或软件用于支持动态地扩展以在 任何给定的时间满足服务要求的那些服务。用户或客户一般将租借、出租和/或以其它方 式支付通过云对资源的访问,因此不必购买和维持硬件和/或软件来提供对这些资源的访 问。
[0005] 开发了使客户能够随着时间的推移在云中调节应用或服务的计算容量的各种服 务,使Web扩展计算对开发人员更容易。在一些情况下,提供了一种Web服务接口,其使客 户能够管理计算能力,例如来获得或启用新的服务器实例,以便在计算要求变化时快速向 上和向下扩展容量。
[0006] 容量的调节对可用在整个网络上或来自远程位置的应用是有利的。常常,这些应 用将依赖于或利用由相应的应用使用的托管数据的至少一个数据存储器或其它这样的存 储库。虽然应用或服务的处理容量可通过这些Web服务接口动态地调节,这些应用所依赖 的数据存储库并不是同样地可调节。通常,执行任务例如供应和扩展数据存储器是冗长的 手工程序,其中客户必须给数据库管理员(DBA)或类似的专家用户提供配置信息和要求, 使得DBA可确定配置是否是有效的。于是DBA通常必须实现、调整并优化数据存储库。没 有客户动态地调节数据存储容量或管理数据存储库的其它这样的方面的容易的方法。
【附图说明】
[0007] 将参考附图来描述根据本公开的各种实施方式,其中:
[0008] 图1示出各种实施方式可被实现的环境;
[0009] 图2示出可根据各种实施方式使用的控制平面和数据平面的示例性分离;
[0010] 图3示出根据一个实施方式的用于通过控制平面来请求将在数据平面中执行的 行动的示例性过程;
[0011] 图4示出根据一个实施方式的用于监控并自动执行在数据平面中的行动的示例 性过程;
[0012] 图5示出根据一个实施方式的在数据平面中的主机和控制平面中的工作流服务 之间的示例性通信流;以及
[0013] 图6示出根据一个实施方式的用于产生对数据平面中的行动的请求的显示器的 例子,该请求将被提交到控制平面的用户接口。
[0014] 详细描述
[0015] 根据本公开的各种实施方式的系统和方法可以克服在常规方法中管理电子环境 中数据存储的方面所经历的前述和其它缺陷的一个或多个。特别是,各种实施方式提供了 可用于控制数据环境或数据平面的单独的控制环境或控制平面。控制平面的功能可被提供 为一组Web服务,使控制平面能够充当虚拟数据库管理员(DBA)。用户或客户可通过外部可 见的应用编程接口(API)将请求提交到控制平面,例如请求可被分析以确定将在数据平面 中执行的行动,例如创建、删除、更改、扩展或以其它方式修改数据存储器或数据存储实例 的行动。也可提供控制平面的监控部件,其可在数据平面中监控部件的健康或状态,并可自 动确定在数据平面中将采取的行动。状态信息可为了执行行动所必需的每个任务而被传递 到数据平面的部件,使得控制平面可管理任务的执行而不直接访问数据平面的数据存储器 或其它这样的部件。一旦被供应,用户就可本地访问数据平面中的数据实例,并可简单地使 现有的应用(例如MySQL应用)指向DNS (域名系统)地址或特定实例的其它位置信息。不 存在查询模型或其它这样的功能的限制或更改,因为用户可继续使用建立于MySQUOracle 或其它这样的数据库技术上的应用。
[0016] 图1示出用于实现根据各种实施方式的方面的环境100的实例。将理解,虽然为了 解释之目的而使用基于Web的环境,但可适当地使用不同的环境来实现各种实施方式。所 不环境100包括测试或开发部分(或侧)和制作部分。制作部分包括电子客户端设备102, 其可包括可操作来通过适当的网络104发送和接收请求、消息或信息并将信息传送回设备 的用户的任何适当的设备。这样的客户端设备的例子包括个人计算机、移动电话、手持式消 息发送设备、便携计算机、机顶盒、个人数据助理、电子图书阅读器等。网络可包括任何适当 的网络,包括内联网、互联网、蜂窝网络、局域网或任何其它这样的网络或其组合。用于这样 的系统的部件可至少部分地取决于网络的类型和/或所选择的环境。用于通过这样的网络 进行通信的协议和部件是公知的,且将不在本文详细讨论。通过网络的通信可通过有线或 无线连接和其组合来启用。在本例中,网络包括互联网,因为环境包括用于接收请求并响应 于其服务于内容的Web服务器106,虽然对于其它网络可使用服务于类似之目的的可选设 备,这对本领域的技术人员而言将是明显的。
[0017] 例证性环境包括至少一个应用服务器108和数据存储器110。应理解,可能有几个 应用服务器、层或其它元件、过程或部件,其可被链接或以其它方式配置,可互相作用来执 行任务,例如从适当的数据存储器获得数据。如本文使用的,术语"数据存储器"指能够存 储、访问并取回数据的任何设备或设备的组合,其可包括在任何标准的分布式或群集环境 中的任何组合和数量的数据服务器、数据库、数据存储设备和数据存储介质。应用服务器可 包括用于根据需要与数据存储器合并以执行客户端设备的一个或多个应用的方面、处理大 部分数据访问和应用的商业逻辑的任何适当的硬件和软件。应用服务器根据数据存储器提 供访问控制服务,并能够产生待传送到用户的内容,例如文本、图形、音频和/或视频,其在 本例中可通过Web服务器以HTML、XML或另一适当的结构语言的形式服务于用户。所有请 求和响应的处理以及在客户端设备102和应用服务器108之间的内容的输送可由Web服务 器处理。应理解,Web和应用服务器是不需要的,且仅仅是示例性部件,因为本文讨论的结 构代码可在任何适当的设备或主机机器上执行,如在本文的其它地方讨论的。此外,环境可 被构造成使得测试自动化框架可被提供为用户或应用可预订的服务。测试自动化框架可被 提供为本文讨论的各种测试模式的任何一个的实现,虽然也可使用各种其它实现,如本文 讨论或建议的。
[0018] 环境还包括开发和/或测试侧,其包括允许诸如开发人员、数据管理员或测试者 的用户访问系统的用户设备118。用户设备118可以是诸如上述关于客户端设备102的任 何适当的设备或机器。环境还包括开发服务器120,其与应用服务器108类似地起作用,但 例如,在代码在制作侧上被配置并执行且对外部用户是可访问的之前一般在开发和测试期 间运行代码。在一些实施方式中,应用服务器可起开发服务器的作用,且可不使用单独的制 作和测试存储器。
[0019] 数据存储器110可包括几个单独的数据表、数据库或用于存储与特定的方面有关 的数据的其它数据存储机构和介质。例如,所示数据存储器包括用于存储制作数据112和 用户信息116的机构,其可用于服务于制作侧的内容。数据存储器还被示为包括用于存储 测试数据114的机构,其可与测试侧的用户信息一起使用。应理解,可以有可能需要被存储 在数据存储器中的很多其它方面,诸如页图像信息和访问权利信息,其可适当地存储在上 面列出的机构的任一个中或数据存储器110中的其它机构中。数据存储器110通过与其相 关的逻辑可操作来从应用服务器108或开发服务器120接收指令,并响应于获得、更新或以 其它方式处理数据。在一个实例中,用户可提交对特定类型的项目的搜索请求。在这种情 况下,数据存储器可访问用户信息以验证用户的身份,并可访问目录细节信息以获得关于 该类型的项目的信息。该信息接着可返回到用户,诸如用户能够在用户设备102上通过浏 览器观看的网页上列出的结果。在浏览器的专有页面或窗口中可观看所关注的特定项目的 信息。
[0020] 每个服务器一般将包括提供用于该服务器的一般管理和操作的可执行程序指令, 并一般将包括存储当被服务器的处理器执行时允许服务器执行其预期功能的指令的计算 机可读介质。操作系统的适当实现和服务器的一般功能是已知的或市场上可买到的,且容 易由具有本领域普通技能的人特别根据本文的公开来实现。
[0021] 在一个实施方式中环境是利用几个计算机系统和部件的分布式计算环境,这些系 统和部件使用一个或多个计算机网络或直接连接通过通信链路互连。然而,本领域的技术 人员将认识到,这样的系统可同样好地在具有比图1所示的更少或更多数量的部件的系统 中操作。因此,图1中的系统100的描述应被理解为在本质上是例证性的,而不限于本公开 的范围。
[0022] 诸如图1所示的环境可能对提供商诸如电子商场是有用的,其中多个主机可用于 执行任务,诸如服务内容、认证用户、执行支付交易或执行很多其它这样的任务的任一个。 这些主机中的一些可被配置来提供相同的功能,而其它服务器可被配置来执行至少一些不 同的功能。在这样的情况下,电子环境可包括其它部件和/或其它布置,诸如在图2的配置 200中示出,下面将进行详细讨论。
[0023] 根据一个实施方式的系统和方法提供了关系数据库服务("RDS"),其使开发人员、 客户或其它授权用户能够容易和成本有效地获得并配置关系数据库,以便用户可执行任 务,诸如存储、处理和查询在云中的关系数据集。虽然关于互联网、Web服务和基于互联网 的技术讨论了本例,但应理解,各种实施方式的方面可与在电子环境中通过网络可用或提 供的任何适当的服务一起使用。此外,虽然服务在本文被称为"关系数据库服务",但应理 解,这样的服务可在电子环境中与任何适当类型的数据存储库或数据存储器一起使用。在 本例中RDS包括至少一个Web服务,其使用户或客户能够容易管理关系数据集,而不用担心 配置、升级、补丁管理、备份、复制、失效转移、容量管理、扩展和数据管理的其它这样的方面 的管理复杂性。开发人员因此自由地开发复杂的云应用,而不用担心管理数据库基础架构 的复杂性。
[0024] 在一个实施方式中,RDS提供单独的"控制平面",其包括对管理数据存储的方面 有用的部件(例如,硬件和软件)。在一个实施方式中,提供了一组数据管理应用编程接口 (API)或其它这样的接口,其允许用户或客户进行进入RDS的调用以执行与数据存储有关 的某些任务。用户还可使用API的直接接口来与数据存储库进行通信,然而,只可在必须管 理数据存储或执行类似的任务时使用控制平面的RDS特定的API。
[0025] 图2示出可根据一个实施方式使用的RDS实现200的例子。在本例中,最终用户 的计算设备202被示为能够通过网络206进行进入控制平面208的调用以执行任务,例如 供应数据平面210的数据存储库。用户或应用204可通过数据平面210的接口来直接访问 所供应的存储库。虽然最终用户计算设备和应用用于解释之目的,但应理解,在各种实施方 式中,任何适当的用户、应用、服务、设备、部件或资源可在适当时访问控制平面和/或数据 平面的接口。此外,虽然部件被分成控制和数据"平面",但应理解,这可指用于提供相应的 功能的至少一些资源(例如,硬件和/或软件)的实际或虚拟分离。
[0026] 在本例中,控制平面208本质上是处理控制和管理行动(诸如供应、扩展、复制等) 的硬件和软件部件的虚拟层。在本实施方式中,控制平面包括Web服务层212或层(tier), 其可包括至少一个Web服务器,例如,连同计算机可执行的软件、应用服务器或其它这样 的部件。Web服务层还可包括用于从整个网络206接收Web服务调用或请求的一组API 232(或其它这样的接口),Web服务层可解析或以其它方式分析这些调用或请求以确定按 调用行动或处理调用所需的步骤或行动。例如,可接收包括创建数据存储库的请求的Web 服务调用。在本例中,Web服务层可解析该请求以确定待创建的数据存储库的类型、所请求 的存储卷、所请求的硬件(如果有的话)的类型或其它这样的方面。该请求的信息可被写 到管理(Admin)数据存储器222或其它适当的存储位置或作业队列中,用于随后的处理。
[0027] 在一个实施方式中,Web服务层包括可扩展的一组面向客户的服务器,其可提供各 种控制平面API并根据API规范返回适当的响应。Web服务层还可包括至少一个API服务 层,其在一个实施方式中由处理客户API的无状态复制服务器组成。Web服务层可负责Web 服务前端特征,诸如基于证书认证客户、向客户授权、压制对API服务器的客户请求、使用 户输入有效以及列集或散集请求和响应。API层还可负责响应于API调用从管理数据库读 取数据库配置数据/将数据库配置数据写到管理数据存储器。在很多实施方式中,Web服务 层将是仅在外部可见的部件,或仅对控制服务的客户可见,且由控制服务的客户可访问的 部件。Web服务层的服务器可以是无状态的,并被水平地扩展,如本领域中已知的。API服 务器以及持久性数据存储器可散布在区域中的多个数据中心,例如使得服务器对单个数据 中心故障是能恢复的。
[0028] 在本实施方式中,控制平面包括在本文被称为"清理器"的部件214。清理器部件 可以是可操作来轮询控制平面的各个部件或以其它方式响应于正在等待的请求而确定待 执行的任何任务的任何适当的部件。在本
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1