数据库弹性调度方法及装置制造方法及图纸

技术编号:14458109 阅读:63 留言:0更新日期:2017-01-19 15:10
本申请公开了一种数据库弹性调度方法,包括:获取参与弹性调度的数据库服务器以及数据库实例的性能参数值;选择性能参数值超出预设能力上限的数据库服务器;从所述数据库服务器中选择数据库实例,并迁移到有能力接纳的数据库服务器中;判断是否满足预先设定的调度终止条件,若否,转到所述选择性能参数值超出预设能力上限的数据库服务器的步骤执行。本申请同时提供一种数据库弹性调度装置。采用本申请提供的数据库弹性调度方法,一方面避免了因为数据库实例的性能实时变化造成的抖动性,另一方面可以减少迁移数据库实例的数目、降低迁移成本,而且采用启发式方法避免了复杂的计算过程,有效提高执行效率。

【技术实现步骤摘要】

本申请涉及数据库
,具体涉及一种数据库弹性调度方法。本申请同时涉及一种数据库弹性调度装置。
技术介绍
随着云计算技术如火如荼的推进,数据库技术同样面临着从传统单机服务到集群服务,甚至数据中心级服务化的变革。在数据库服务化过程中,为了实现对海量级数据库实例的自动化运维与管理,数据库弹性调度成为解决和支撑数据库云化的必备技术手段。所述数据库弹性调度通常是指,根据一定的触发条件和约束条件、基于预先设定的调度目标,计算数据库实例如何分布到各数据库服务器中、即数据库实例的组合方式,并根据计算得到的调度策略进行数据库实例的迁移。现有技术通常采用最优化弹性计算方案,并根据计算结果进行数据库实例的迁移。最优化弹性计算方案根据目标函数的不同,分为不同形式:例如成本最优化弹性计算方案,或者代价最优化弹性计算方案。无论采用哪种最优化弹性计算方案,都是根据数据库实例的性能数据求解调度策略,通常先生成目标函数,然后在约束条件下,通过计算、搜索得到最优化的调度策略。在具体实现时,根据目标函数求解最优化调度策略可以采用多种实现方法,例如:基于动态规划、神经网络、模拟退火算法、支持向量机等方法。基于上述最优化弹性计算方案的调度方式,在技术上比较成熟,但是在具体应用中存在以下缺陷:1)计算过程复杂、效率低。最优化方案的众多计算方法通常都比较复杂,并且随着参与弹性调度的数据库实例数的增加,计算代价呈指数级增长。2)迁移代价大。最优化方案以最优化为求解目标,采用理性的计算方式来评估数据库实例的组合方式,导致依据最优解进行调度可能导致大多数的数据实例发生迁移,迁移代价较大。3)计算抖动大、导致数据库服务稳定性差。由于数据库实例的性能会发生改变,而这些改变通常会触发对目标函数最优解的重新计算、以及相应的弹性调度,产生局部甚至全局的抖动,导致数据库无法向用户提供稳定的服务。
技术实现思路
本申请实施例提供一种数据库弹性调度方法和装置,以解决现有弹性调度方案存在的计算过程复杂、迁移代价大、以及抖动导致数据库服务稳定性差的问题。本申请提供一种数据库弹性调度方法,包括:获取参与弹性调度的数据库服务器以及数据库实例的性能参数值;选择性能参数值超出预设能力上限的数据库服务器;从所述数据库服务器中选择数据库实例,并迁移到有能力接纳的数据库服务器中;判断是否满足预先设定的调度终止条件,若否,转到所述选择性能参数值超出预设能力上限的数据库服务器的步骤执行;其中,所述有能力接纳是指,数据库服务器的性能参数值累加被迁入数据库实例的性能参数值后,不超出所述预设能力上限。可选的,所述性能参数是维度数大于等于2的多维度性能参数,所述预设能力上限的数目与所述多维度性能参数的维度数一致,并且一一对应;所述性能参数值超出预设能力上限是指,其中至少一个维度的性能参数值大于对应的预设能力上限。可选的,所述多维度性能参数的维度数小于等于5,所述多维度性能参数包括与维度数相对应的、以下元素的任意组合:CPU使用率、磁盘IO速率、内存使用率、网络传输速率、磁盘使用率。可选的,所述选择性能参数值超出预设能力上限的数据库服务器,包括:将数据库服务器按照性能参数值表征的工作负荷从大到小排序;从中选择序位处于高位的、且性能参数值超出所述预设能力上限的数据库服务器。可选的,所述从所述数据库服务器中选择数据库实例包括:从所述数据库服务器中选择满足以下迁出条件的单个数据库实例:迁出该数据库实例后,所述数据库服务器的性能参数值不超出所述预设能力上限。可选的,当所述数据库服务器中不存在满足所述迁出条件的单个数据库实例时,执行下述操作:将所述数据库服务器中的数据库实例按照性能参数值表征的工作负荷从大到小排序;从中选择序位处于高位的单个数据库实例,作为所选数据库实例。可选的,将所选数据库实例迁移到有能力接纳的数据库服务器中,包括:将性能参数值未超出预设能力上限的数据库服务器,按照性能参数值表征的工作负荷从大到小排序;从中选择序位处于高位的、且有能力接纳所选数据库实例的数据库服务器;将所选数据库实例迁移到所选的数据库服务器中。可选的,在将所选数据库实例迁移到有能力接纳的数据库服务器中之后,在所述判断是否满足预先设定的调度终止条件之前,执行下述操作:更新所述迁移操作涉及的数据库服务器的性能参数值。可选的,所述预先设定的调度终止条件包括:不存在性能参数值超出所述预设能力上限的数据库服务器;或者,不存在有能力接纳调度过程中迁出的数据库实例的数据库服务器。可选的,当所述判断是否满足预先设定的终止条件的结果为是时,针对每一个性能参数值未超出预设能力上限的数据库服务器,执行下述合并处理:判断对于所述数据库服务器中的每个数据库实例,是否都存在有能力接纳其迁入的数据库服务器;若是,相应迁移所述数据库服务器上的所有数据库实例,并将所述数据库服务器从参与弹性调度的数据库服务器中剔除。可选的,在所述针对每一个性能参数值未超出预设能力上限的数据库服务器执行合并处理的过程中,按照如下方式选择被处理的数据库服务器:将所有性能参数值未超出预设能力上限的数据库服务器按照其性能参数值表征的工作负荷从小到大排序;从中选择序位处于高位的、且尚未执行合并处理的数据库服务器作为所述被处理的数据库服务器。可选的,在所述选择性能参数值超出预设能力上限的数据库服务器之前,执行下述操作:从参与弹性调度的数据库服务器和数据库实例中,剔除不能通过弹性调度进行优化的数据库服务器和/或数据库实例。可选的,所述剔除不能通过弹性调度进行优化的数据库服务器和/或数据库实例,包括:判断是否存在性能参数值超出所述预设能力上限的数据库实例;若存在,将所述数据库实例及其所在的数据库服务器从参与弹性调度的服务器和数据库实例中剔除。可选的,所述剔除不能通过弹性调度进行优化的数据库服务器和/或数据库实例,包括:将预设需要下线的数据库服务器上的数据库实例迁移到有能力接纳的数据库服务器中;将所述需要下线的数据库服务器从参与弹性调度的数据库服务器和数据库实例中剔除。相应的,本申请还提供一种数据库弹性调度装置,包括:性能参数值获取单元,用于获取参与弹性调度的数据库服务器以及数据库实例的性能参数值;数据库服务器选择单元,用于选择性能参数值超出预设能力上限的数据库服务器;数据库实例迁移单元,用于从所述数据库服务器选择单元所选的数据库服务器中选择数据库实例,并迁移到有能力接纳的数据库服务器中;调度终止判断单元,用于判断是否满足预先设定的调度终止条件,并在不满足时触发所述数据库服务器选择单元工作。可选的,所述数据库实例迁移单元包括实例选择子单元和实例迁移子单元;所述实例选择子单元,用于从所述数据库服务器选择单元所选的数据库服务器中选择数据库实例;所述实例迁移子单元用于将所述实例选择子单元所选的数据库实例迁移到有能力接纳的数据库服务器中;所述实例选择子单元包括:判断子单元,用于判断所述数据库服务器中是否存在满足以下迁出条件的单个数据库实例:迁出该数据库实例后,所述数据库服务器的性能参数值不超出所述预设能力上限;优选实例选择子单元,用于当所述判断子单元的输出为是时,将所述满足迁出条件的单个数据库实例,作为所选数据库实例。可选的,所述实例选择子单元还包本文档来自技高网
...

【技术保护点】
一种数据库弹性调度方法,其特征在于,包括:获取参与弹性调度的数据库服务器以及数据库实例的性能参数值;选择性能参数值超出预设能力上限的数据库服务器;从所述数据库服务器中选择数据库实例,并迁移到有能力接纳的数据库服务器中;判断是否满足预先设定的调度终止条件,若否,转到所述选择性能参数值超出预设能力上限的数据库服务器的步骤执行;其中,所述有能力接纳是指,数据库服务器的性能参数值累加被迁入数据库实例的性能参数值后,不超出所述预设能力上限。

【技术特征摘要】
1.一种数据库弹性调度方法,其特征在于,包括:获取参与弹性调度的数据库服务器以及数据库实例的性能参数值;选择性能参数值超出预设能力上限的数据库服务器;从所述数据库服务器中选择数据库实例,并迁移到有能力接纳的数据库服务器中;判断是否满足预先设定的调度终止条件,若否,转到所述选择性能参数值超出预设能力上限的数据库服务器的步骤执行;其中,所述有能力接纳是指,数据库服务器的性能参数值累加被迁入数据库实例的性能参数值后,不超出所述预设能力上限。2.根据权利要求1所述的数据库弹性调度方法,其特征在于,所述性能参数是维度数大于等于2的多维度性能参数,所述预设能力上限的数目与所述多维度性能参数的维度数一致,并且一一对应;所述性能参数值超出预设能力上限是指,其中至少一个维度的性能参数值大于对应的预设能力上限。3.根据权利要求2所述的数据库弹性调度方法,其特征在于,所述多维度性能参数的维度数小于等于5,所述多维度性能参数包括与维度数相对应的、以下元素的任意组合:CPU使用率、磁盘IO速率、内存使用率、网络传输速率、磁盘使用率。4.根据权利要求1所述的数据库弹性调度方法,其特征在于,所述选择性能参数值超出预设能力上限的数据库服务器,包括:将数据库服务器按照性能参数值表征的工作负荷从大到小排序;从中选择序位处于高位的、且性能参数值超出所述预设能力上限的数据库服务器。5.根据权利要求1所述的数据库弹性调度方法,其特征在于,所述从所述数据库服务器中选择数据库实例包括:从所述数据库服务器中选择满足以下迁出条件的单个数据库实例:迁出该数据库实例后,所述数据库服务器的性能参数值不超出所述预设能力上限。6.根据权利要求5所述的数据库弹性调度方法,其特征在于,当所述数据库服务器中不存在满足所述迁出条件的单个数据库实例时,执行下述操作:将所述数据库服务器中的数据库实例按照性能参数值表征的工作负荷从大到小排序;从中选择序位处于高位的单个数据库实例,作为所选数据库实例。7.根据权利要求5所述的数据库弹性调度方法,其特征在于,将所选数据库实例迁移到有能力接纳的数据库服务器中,包括:将性能参数值未超出预设能力上限的数据库服务器,按照性能参数值表征的工作负荷从大到小排序;从中选择序位处于高位的、且有能力接纳所选数据库实例的数据库服务器;将所选数据库实例迁移到所选的数据库服务器中。8.根据权利要求1-7任一项所述的数据库弹性调度方法,其特征在于,在将所选数据库实例迁移到有能力接纳的数据库服务器中之后,在所述判断是否满足预先设定的调度终止条件之前,执行下述操作:更新所述迁移操作涉及的数据库服务器的性能参数值。9.根据权利要求1所述的数据库弹性调度方法,其特征在于,所述预先设定的调度终止条件包括:不存在性能参数值超出所述预设能力上限的数据库服务器;或者,不存在有能力接纳调度过程中迁出的数据库实例的数据库服务器。10.根据权利要求1所述的数据库弹性调度方法,其特征在于,当所述判断是否满足预先设定的终止条件的结果为是时,针对每一个性能参数值未超出预设能力上限的数据库服务器,执行下述合并处理:判断对于所述数据库服务器中的每个数据库实例,是否都存在有能力接纳其迁入的数据库服务器;若是,相应迁移所述数据库服务器上的所有数据库实例,并将所述数据库服务器从参与弹性调度的数据库服务器中剔除。11.根据权利要求10所述的数据库弹性调度方法,其特征在于,在所述针对每一个性能参数值未超出预设能力上限的数据库服务器执行合并处理的过程中,按照如下方式选择被处理的数据库服务器:将所有性能参数值未超出预设能力上限的数据库服务器按照其性能参数值表征的工作负荷从小到大排序;从中选择序位处于高位的、且尚未执行合并处理的数据库服务器作为所述被处理的数据库服务器。12.根据权利要求1...

【专利技术属性】
技术研发人员:王恒陈旭
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1