用于数据环境的自服务配置的制作方法_3

文档序号:9547244阅读:来源:国知局
37] 根据各种实施方案的系统和方法通过提供使得客户能够呼入控制面的一个或多 个暴露客户的接口以调节、更新或定制数据实例、数据存储器等的参数,来解决这些以及其 它这种问题的至少某些问题。例如,在MySQL被用作数据库引擎的一个实施方案中,用户可 具有通过提交包括调节的参数的更新或修改的参数组来调节MySQL配置参数的能力。在使 用多个数据库引擎的实施方案中,用户可提供引擎指定的呼叫和/或更新,或可提供可由 用于与实例相应的特定引擎的控制面转换或处理的普通更新或呼叫。使用这种方法,用户 可根据客户工作量、应用类型等来定制或调整数据实例或数据实例组的参数。例如,在默认 参数组被应用于一组或一类实例的情况下,用户可提交能够被自动应用于多个相应实例的 每一个的更新参数组。例如,在最大负荷的周期期间,客户可能期望调节缓冲区缓存设定、 查询超时设定或连接超时设定。在各种实施方案中,客户可仅指定新参数值、包括新值的整 组值等。也可定制各种其它参数,并且定制的值可根据需求随时间更新。
[0038] 各种实施方案提供一个或多个这种接口,例如一组应用编程接口(API),其使用户 能够配置各种RDS数据库的数据库参数。在一个实施方案中,利用适当的一组抽象,提供 "引擎不可知"的一个或多个配置API,或一个或多个配置API可用于任意支持的数据引擎。 例如,客户可使用同一 API来调节MySQL数据库或Oracle数据库的连接超时设定。在各种 实施方案中,用户可将Web服务呼叫提交到多个API之一,并且例如将使用与上述讨论的用 于处理到控制面Web接口层的Web服务呼叫的方法类似的方法来处理呼叫中的信息。
[0039] 如上文所述,控制面中的工作流可响应于请求被例示以创建数据库,其中在数据 面中建立实例存储空间并且应用适当的包管理器(例如PRM)或主机管理器。在创建期间, 工作流可使用来自在控制面中或可接入控制面的配置文件、管理数据存储器或其他适当存 储位置的信息执行任务以推动和/或生成默认配置设定,并且可使用这些设定来生成可被 应用于数据环境中的每个各种实例的默认参数组。在某些实施方案中,使用来自Web服务 呼叫的信息、为用户存储的信息、生成的实例的类型的信息等来动态地生成或确定参数。在 其它实施方案中,一组或多组被高度调节的数据库设定可存储到控制面中的适当位置,并 且工作流可引导被应用于当前任务的适当组的选择。在某些实施方案中,配置文件存储在 由数据库引擎使用以启动数据库的数据面中。如上文所述,配置文件可包括例如待被分配 给查询结果的缓存的量、待被分配的缓冲器缓存的量、待被使用的连接超时值等的参数。然 而,如上文所讨论的,这些参数可不是最佳的,或至少不是在任意给定时间由客户优选的。 在云计算或传统RDS系统中,编辑配置文件和重新启动数据库的能力一般对于用户是不能 达到的。用户不能简单地使用控制面的接口以登入数据面中的数据实例并修改数据面中的 数据实例的方面。
[0040] 根据各种实施方案的系统和方法提供了使用户能够使任意数量的呼叫进入控制 面的基于API的内部框架(或其它内部框架),以经由Web服务API或其它这种接口来修 改任意适当数据参数。例如,用户可使Web服务呼叫(例如"ModifyMyDBParams")到达适 当API以修改各种实例的任意可修改配置参数。在一个实施方案中,客户可创建容器(在 本发明中被称为"DB参数组"),以存储当生成用于特定客户、组、类、应用等的数据实例时待 被使用的特定参数值或参数组。客户可选择或指定当创建数据库实例时待被使用的这些参 数组的一个或多个,例如可包括用于数据库引擎的某些或所有参数的值,或至少那些特定 值被用于取代由RDS(例如default.mysql)所分配的默认值的参数。如同所讨论的,可由 RDS系统、或RDS系统的授权用户、用于客户的最佳和/或适当默认设定、应用、引擎等来确 定由RDS提供的默认值。然而,如果对客户存在配置文件或小区域(bucket),则RDS可被配 置为当创建用于该客户的实例时取代(或额外)使用来自配置文件的值。
[0041] 除了能够指定待用于生成数据库实例的指定配置参数之外,客户可能还希望调节 用于存在的实例的参数的能力。例如,客户可基于例如工作量或性能的因素来确定应用可 高度地缓存,从而对各种查询缓存分配大量内存可能是有利的。为了增加查询缓存尺寸,用 户可做出例如为可接收到控制面的Web服务层的适当API的"ModifyDBParameterGroup" 的呼叫,并且Web服务层可处理呼叫以将适当任务信息放到管理数据存储器或另一适当作 业序列。当将任务放到作业序列中时,清扫部件可确定待执行的适当任务,例如提交请求、 呼叫或其它这种命令到可操作为例示用于请求的至少一个工作流的工作流部件。工作流管 理器接着可与适当部件(例如数据面中的数据实例的主机管理器)一起工作,以更新参数 组中的值并将更新或修改的参数值应用于相应实例。在某些实施方案中,客户可指定多个 参数组,例如可包括"峰"和"离峰"设定,并且用户可通过执行使得多个参数组之一在特定 时间应用的呼叫来改变设定。在其它实施方案中,客户可在指定时间周期做出改变,但是之 后可能希望返回初始或默认设定。各种实施方案对API提供了呼叫,例如可将与一个参数 组相关的一个或多个参数调节回RDS默认(或其它默认值)的"ResetDBParameterGroup"。 例如,当数据库实例的性能降低时也可使用这种重置值,并且客户期望尝试将实例返回到 适当性能水平。
[0042] 当客户提交请求(例如 ModifyMyDBParams 或 ModifyDBParameterGroup 呼叫)到 适当API时,修改的参数组可将新版本数分配到控制面中。工作流可使得这种新版通过应 用了新版本的适当实例的主机管理器。例如,当新版本被传递到主机管理器时,新版本数可 随着例如"更新"(Updating)或"不同步"(Not_In_Sync)的状态值被存储到管理数据存储 器,从而询问具有更新的参数组的实例的状态的用户能够接收可包括信息(例如当前版本 数、应用的新版数以及表示新版被应用的信息)的响应。当用于实例的主机管理器成功应 用新参数组时,主机管理器可更新数据环境中的当前版本信息。周期性地检查主机管理器 的状态的监控部件可取得新版本数,并且可更新存储在主机数据存储器中的信息以示出参 数组的新版现在为当前版本,并且可将该状态更新到例如" IN_SYNC"的状态。询问状态的 客户接着可确定新版已经被应用并且被激活。在某些实施方案中,当新参数组被成功应用 时,通知可经由控制面被提交到客户。
[0043] 客户使用参数组、小区域、配置文件或其它这种组件的优点在于客户不需要分别 调试每个实例。抽象的水平可被提供为使得客户可简单应用参数组或变为整队、类等,并且 所有适当实例可自动接收更新的参数值。例如,在多个数据库用于运行应用时,这种处理可 以是有利的,并且期望对于应用以相同方式同时调节所有这些数据库。在某些情况下,不同 种类的数据库可用于应用,因此由于客户不需要分别地调节用于应用的每个数据库引擎, 并且由于引擎之间的差可被控制面自动处理,从而抽象水平可以进一步有利。此外,可使用 与引擎独立的单组工具,这是由于控制面处理依赖引擎的转换。
[0044] 使用部件,诸如上面讨论的那些,图3示出根据一个实施方案的示例性过程300, 客户可通过该过程使用控制面或类似的数据控制服务来请求指定和/或修改在创建数据 库、数据实例、数据存储库或数据环境(在此是数据面)中的其它这种数据源中使用的参数 值。虽然术语"客户"在本文用于指RDS系统所托管的数据或数据存储器或实例的"所有 者",应理解,术语"客户"只是一个例子,且在各种实施方案中任何适当的用户或开发人员 可被允许访问控制面和数据面。此外,尽管描述了与数据环境的控制相关的实施方案,然而 应理解类似的方法可用于控制和/或管理各种其它部件、装置、设施、服务或与控制环境独 立的环境中的其它这种资源。
[0045] 在示例过程中,客户被授权了在数据面中创建数据实例的能力(302)。这可关联 客户执行或与客户独立执行,例如响应于来自客户的请求执行。作为部分初始客户配置过 程,为客户创建包括一列默认参数值的参数组或"虚拟容器"(304),并且容器被存储在控制 面数据存储器中用于之后的存取,并关联(例如通过数据记录或键)到特定客户、客户组、 客户类型等。默认值被RDS部件选择,这是由于被确定为对于使用类型、数据库引擎、应用 等是适当的。
[0046] 客户可呼入控制面以确定默认参数值设定。客户可确定多个值的至少一个应为对 于该客户生成的任意数据实例而改变。因此,可通过多个控制面API之一或其它这种面向 客户的控制面接口部件来从客户接收请求(306),诸如Web服务呼叫。在一个实施方案中, 客户可呼入"ModifyDBParameterGroup"API以表示值的变化。该请求被分析以确定处理 请求所需的任意行动308。如所讨论的,这可采取Web服务层的部件的形式,该Web服务层 解析请求以确定正被请求的行动。在接收请求的API与待执行的特定行动相应的实施方案 中,Web服务层可从在确定待被执行的行动的方面或参数中所使用的请求中提取信息。在一 个实施方案中,控制面数据存储器中的参数信息可被直接更新,而待被更新到控制面数据 存储器(或例如配置文件)的其它实施方案信息被写到作业队列(310),例如可位于管理数 据存储或其它这种存储位置中。作业队列可诸如由清理器部件监控,以确定作业信息的存 在(312),且当作业信息被检测到时,请求可被提交以启动所请求的行动的工作流(314)。 这可包括由清理器部件提交到工作流部件和/或服务的请求以例示工作流。在其它实施方 案中,工作流部件可监控作业的作业队列,或Web服务层的部件可将作业信息直接提交到 工作流部件。当接收到作业信息时,该信息被分析以确定和/或集合所请求的行动的适当 工作流(316)。在本实例中,工作流可包括单个任务,例如更新为控制面数据存储器等中的 用户所存储的参数值信息。在其它实施方案中,工作流可包括附加和/或替代任务,例如创 建最终将为配置文件所应用的数据面中所创建的数据实例安装的配置文件。各种其它任务 可被包括和执行以执行与其它实施方案中类似的功能。
[0047] 图4示出使用根据一个实施方案的更新的(或其它)配置信息创建数据面中的数 据实例的示例性过程400的步骤。在本示例中,可通过多个控制面API之一或其它这种面向 客户的控制面接口部件来接收请求(402),诸如Web服务呼叫,以创建数据实例。在一个实 施方案中,客户或应用可呼入"CreteDBInstance"API以表示值被创建。该请求被分析以确 定处理请求(404)所需的任意行动,并且用于创建的信息被写入作业队列(406)。监控作业 队列的清理器部件可确定存在作业信息(408)提交请求以启动用于所请求的行动的工作 流(410)。作业信息被分析以确定和/或集合所请求的行动的适当工作流(412),其可包括 例如提供RDS数据库实例、生成任意需要的存储量、安装数据库、接触用于实例的主机管理 器以指定设定参数组用于实例、坚持数据面中的磁盘上的配置信息等的任务。如所讨论的, 可基于例如所请求的行动的类型、请求的参数以及所使用的数据库引擎的类型等的因素来 为工作流选择不同任务。本实例中的平面可经由工作流引导在生成配置文件(414)、为数据 面中的实例安装配置文件(416)、以及使用来自安装的配置文件的参数值来开始数据库实 例(418)中所使用的参数列。
[0048] 如所讨论的,任务可以被部分管理,以工作流的第一任务开始,通过将状态信息在 数据环境中提交到主机管理器,其可操作来使用状态信息以确定待执行的任务,执行关于 数据存储库和/或数据实例的任务,并在任务完成时返回响应。当接收到响应时,工作流部 件可确定是否有待执行的另一任务。如果有,则下一任务的状态信息被提交到主机管理器, 且当该任务完成时,主机管理器将响应提交到工作流部件。在最后的任务完成之后,消息被 提交到所请求的行动已被完成的请求客户(或另一适当的用户、应用或位置)。在行动被执 行之后,客户能够直接访问数据实例,而不访问或经过控制面,使用数据环境的数据接口基 于该数据实例来执行行动。
[0049] 然而,即使在增加并运行一个或多个实例之后,客户仍可能希望调节一个或多个 配置参数。例如,客户可能希望基于当前工作量水平来调节队列超时设定。图5示出用于 更新可根据各种实施方案使用的运行实例的参数的过程500的实例。在本实例中,可通过 例如"ModifyDBParameterGroup"API的控制面API接收请求,以表
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1