一种云数据库的资源管理方法、装置及系统转让专利

申请号 : CN202110562990.8

文献号 : CN113032107B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 余邵在

申请人 : 北京金山云网络技术有限公司

摘要 :

本公开关于一种云数据库的资源管理方法、装置及系统,涉及云计算技术领域,执行主体为云服务器,该方法包括:接收第一虚拟机发送的资源请求信息;根据所述资源请求信息,从多个所述物理机集群中确定所述第一虚拟机专属的第一物理机集群;将所述资源请求信息发送给所述第一物理机集群,以使所述第一物理机集群根据所述资源请求信息为应用程序调度资源。本公开能够基于独享式的资源分配方式,保证了云数据库的资源的隔离性以及数据的安全性,提高了云数据库的资源管理过程中的可靠性。

权利要求 :

1.一种云数据库的资源管理方法,其特征在于,执行主体为云服务器,所述方法包括以下步骤:

接收第一虚拟机发送的资源请求信息,其中,第一虚拟机为任一租户对应的虚拟机,所述资源请求信息为所述租户为应用程序进行调度资源时,向所述第一虚拟机发送的资源请求信息;

根据所述资源请求信息,从多个物理机集群中确定所述第一虚拟机专属的第一物理机集群,其中,每个租户均配置有专属的物理机集群;

将所述资源请求信息发送给所述第一物理机集群,以使所述第一物理机集群根据所述资源请求信息为应用程序调度资源;

其中,所述根据所述资源请求信息,从多个物理机集群中确定所述第一虚拟机专属的第一物理机集群,包括:

根据第一虚拟机与物理机集群之间的对应关系,从多个物理机集群中确定所述第一虚拟机专属的第一物理机集群;

所述方法还包括:

接收资源调度请求,其中,所述资源调度请求包括第二虚拟机的标识信息;

根据所述第二虚拟机的标识信息确定所述第二虚拟机专属的第二物理机集群;

获取所述资源调度请求的请求类型,并根据所述资源调度请求的请求类型,对所述第二物理机集群进行资源调度;

所述资源调度请求为虚拟机容量更改请求,所述根据所述请求类型,对所述第二物理机集群进行资源调度,包括:

根据所述虚拟机容量更改请求,获取所述第二物理机集群对应的所述第二虚拟机的当前容量以及更改容量;

根据所述当前容量和所述更改容量,确定所述第二虚拟机的待分配容量;

获取所述第二物理机集群的可用容量;

响应于所述可用容量小于所述待分配容量,获取所述可用容量与所述待分配容量之间的容量差值,以根据所述容量差值在所述第二物理机集群中添加物理机;

所述方法还包括:

获取所述第二物理机集群中每个所述物理机对应的资源利用率和流量负载的比值;响应于存在所述资源利用率和流量负载的比值大于或者等于预设阈值的第一物理机,在所述第二物理机集群中添加物理机和/或对所述第一物理机上的部分数据库实例进行迁移。

2.根据权利要求1所述的方法,其特征在于,所述资源调度请求为数据库实例部署请求,所述根据所述请求类型,对所述第二物理机集群进行资源调度,包括:根据所述数据库实例部署请求,确定所述数据库实例部署请求的请求类型;

获取所述第二物理机集群中的每个所述物理机的单台可用容量,并根据所述单台可用容量大小对多个所述物理机进行排序;

响应于所述数据库实例部署请求的请求类型为第一类型,从所述单台可用容量最大的所述物理机起,依次部署数据库实例,其中,每个所述物理机上仅部署一个所述数据库实例;

响应于所述数据库实例部署请求的请求类型为第二类型,从所述单台可用容量最小的所述物理机起,依次部署所述数据库实例,其中,每个所述物理机上部署至少一个所述数据库实例。

3.根据权利要求2所述的方法,其特征在于,所述物理机集群包括至少一个主用物理机和至少一个备用物理机,所述数据库实例包括至少一个所述主用物理机对应的主用数据库实例和至少一个所述备用物理机对应的备用数据库实例,所述方法,还包括:同时部署所述主用数据库实例和所述备用数据库实例;

响应于所述主用数据库实例和所述备用数据库实例部署完成,对所述主用物理机和所述备用物理机进行数据库实例同步操作。

4.根据权利要求1所述的方法,其特征在于,所述资源调度请求为物理机集群资源配置更改请求,所述根据所述请求类型,对所述第二物理机集群进行资源调度,包括:根据所述物理机集群资源配置更改请求,确定硬盘容量与内存容量的比值;

根据所述硬盘容量与内存容量的比值,调整所述第二物理机集群的资源配置。

5.根据权利要求3所述的方法,其特征在于,还包括:检测所述主用物理机是否发生故障;

响应于所述主用物理机发生故障,切换至所述备用物理机执行对应的所述资源调度操作;

响应于所述切换至所述备用物理机执行对应的所述资源管理操作步骤完成,恢复发生故障的所述主用物理机对应的所述主用数据库实例。

6.根据权利要求1所述的方法,其特征在于,所述资源调度请求为访问请求,所述根据所述请求类型,对所述第二物理机集群进行资源调度,包括:将所述访问请求发送至堡垒机,以使所述堡垒机对用户权限等级进行鉴权操作,其中,所述访问请求包括用户权限等级信息;

响应于所述用户权限等级通过鉴权,通过所述堡垒机对所述第二物理机集群进行访问。

7.根据权利要求6所述的方法,其特征在于,所述响应于所述用户权限等级通过鉴权,通过所述堡垒机对所述第二物理机集群进行访问之后,还包括:响应于通过所述堡垒机对所述第二物理机集群进行访问完成,将访问操作结果发送至所述堡垒机。

8.根据权利要求1所述的方法,其特征在于,还包括:获取所述第二物理机集群的运行状态,并判断所述运行状态是否满足预设条件;

响应于所述运行状态未满足预设条件,调整所述第二物理机集群的运行参数。

9.根据权利要求1所述的方法,其特征在于,还包括:接收数据回滚请求;

根据所述数据回滚请求,确定待回滚数据信息;

根据所述待回滚数据信息,从备份数据中选取并还原所述待回滚数据。

10.一种云数据库的资源管理装置,其特征在于,所述装置包括:接收模块,用于接收第一虚拟机发送的资源请求信息,其中,第一虚拟机为任一租户对应的虚拟机,所述资源请求信息为所述租户为应用程序进行调度资源时,向所述第一虚拟机发送的资源请求信息;

确定模块,用于根据所述资源请求信息,从多个物理机集群中确定所述第一虚拟机专属的第一物理机集群,其中,每个租户均配置有专属的物理机集群;

发送模块,用于将所述资源请求信息发送给所述第一物理机集群,以使所述第一物理机集群根据所述资源请求信息为应用程序调度资源;

资源调度模块,用于接收资源调度请求,其中,所述资源调度请求包括第二虚拟机的标识信息;根据所述第二虚拟机的标识信息确定所述第二虚拟机专属的第二物理机集群;获取所述资源调度请求的请求类型,并根据所述资源调度请求的请求类型,对所述第二物理机集群进行资源调度;

其中,所述确定模块,包括:

根据第一虚拟机与物理机集群之间的对应关系,从多个物理机集群中确定所述第一虚拟机专属的第一物理机集群;

所述资源调度请求为虚拟机容量更改请求,资源调度模块,还用于:根据所述虚拟机容量更改请求,获取所述第二物理机集群对应的所述第二虚拟机的当前容量以及更改容量;根据所述当前容量和所述更改容量,确定所述第二虚拟机的待分配容量;获取所述第二物理机集群的可用容量;响应于所述可用容量小于所述待分配容量,获取所述可用容量与所述待分配容量之间的容量差值,以根据所述容量差值在所述第二物理机集群中添加物理机;

资源调度模块,还用于:

获取所述第二物理机集群中每个所述物理机对应的资源利用率和流量负载的比值;响应于存在所述资源利用率和流量负载的比值大于或者等于预设阈值的第一物理机,在所述第二物理机集群中添加物理机和/或对所述第一物理机上的部分数据库实例进行迁移。

11.一种云数据库的资源管理系统,包括:多个虚拟机、多个物理机集群和云服务器,其中,每个所述虚拟机对应配置有一个专属的所述物理机集群,每个所述物理机集群包括一个或多个物理机,且多个所述虚拟机之间不共用所述物理机集群;

第一虚拟机,用于接收应用程序发送的资源请求信息,并将所述资源请求信息发送至所述云服务器;其中,所述第一虚拟机为所述多个虚拟机中的任意一个虚拟机,所述资源请求信息为租户为应用程序进行调度资源时,向所述第一虚拟机发送的资源请求信息;

所述云服务器,用于确定所述第一虚拟机专属的第一物理机集群,并将所述资源管理请求发送给所述第一物理机集群;其中,确定所述第一虚拟机专属的第一物理机集群,包括:根据第一虚拟机与物理机集群之间的对应关系,从多个物理机集群中确定所述第一虚拟机专属的第一物理机集群;

所述第一物理机集群,用于根据所述资源请求信息,为所述应用程序调度资源;

其中,所述云服务器,还用于:

对所述物理机集群进行资源监控,接收资源调度请求,并根据所述资源调度请求,从所述多个物理机集群中确定需要资源调度的第二物理机集群,以对所述第二物理机集群进行资源调度,其中,所述第二物理机集群为所述多个物理机集群中的任意一个物理机集群;

所述资源调度请求为虚拟机容量更改请求,所述对所述第二物理机集群进行资源调度,包括:根据所述虚拟机容量更改请求,获取所述第二物理机集群对应的第二虚拟机的当前容量以及更改容量;根据所述当前容量和所述更改容量,确定所述第二虚拟机的待分配容量;获取所述第二物理机集群的可用容量;响应于所述可用容量小于所述待分配容量,获取所述可用容量与所述待分配容量之间的容量差值,以根据所述容量差值在所述第二物理机集群中添加物理机;

获取所述第二物理机集群中每个所述物理机对应的资源利用率和流量负载的比值;响应于存在所述资源利用率和流量负载的比值大于或者等于预设阈值的第一物理机,在所述第二物理机集群中添加物理机和/或对所述第一物理机上的部分数据库实例进行迁移。

12.根据权利要求11所述的系统,其特征在于,所述资源调度请求为访问请求,还包括:堡垒机,所述堡垒机分别与所述虚拟机和所述物理机集群连接,用于接收所述云服务器发送的所述访问请求,并对用户权限等级进行鉴权操作,其中,所述访问请求包括用户权限等级信息;响应于所述用户权限等级通过鉴权,对所述第二物理机集群进行访问;接收所述云服务器发送的访问操作结果;

所述云服务器,还用于将所述访问请求发送至所述堡垒机;响应于通过所述堡垒机对所述第二物理机集群进行访问完成,将所述访问操作结果发送至所述堡垒机。

13.一种电子设备,包括:

至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1‑9中任一项所述的方法。

14.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1‑9中任一项所述的方法。

15.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1‑9中任一项所述的方法。

说明书 :

一种云数据库的资源管理方法、装置及系统

技术领域

[0001] 本公开涉及云计算技术领域,尤其涉及一种云数据库的资源管理方法、装置及系统。

背景技术

[0002] 相关技术中,云数据库的资源管理方式主要包括以下两种形态:云上自建和业务托管。通常情况下,针对具有一定业务规模的租户,可以采用云上多种基础资源,例如物理
机、虚拟机、分布式存储、网络等,并在前述基础设施上自建数据库服务;针对业务规模较小
的租户,可以采用云上提供的托管数据库服务。
[0003] 然而,前述两种资源管理方式均存在明显的技术问题。针对云上自建方式,通常存在运维成本高、资源扩展能力差、业务服务稳定性低等技术问题;针对业务托管方式,通常
存在可控性低、资源抢占现象严重、运维成本高较高等技术问题。
[0004] 因此,如何确保云数据库的资源管理过程中的高可控性、安全性、扩展性并降低成本,已成为亟待解决的问题。

发明内容

[0005] 本公开提供一种云数据库的资源管理方法、装置及系统,以至少解决相关技术中存在的可控性差、安全性差、扩展性差以及成本高的技术问题。本公开的技术方案如下:
[0006] 根据本公开实施例的第一方面,提供一种云数据库的资源管理方法,所述云数据库的资源管理方法包括:接收第一虚拟机发送的资源请求信息;根据所述资源请求信息,从
多个物理机集群中确定所述第一虚拟机专属的第一物理机集群;将所述资源请求信息发送
给所述第一物理机集群,以使所述第一物理机集群根据所述资源请求信息为应用程序调度
资源。
[0007] 根据本公开的一个实施例,还包括:接收资源调度请求,其中,所述资源调度请求包括第二虚拟机的标识信息;根据所述第二虚拟机的标识信息确定所述第二虚拟机专属的
第二物理机集群;获取所述资源调度请求的请求类型,并根据所述资源调度请求的请求类
型,对所述第二物理机集群进行资源调度。
[0008] 根据本公开的一个实施例,所述资源调度请求为虚拟机容量更改请求,所述根据所述请求类型,对所述第二物理机集群进行资源调度,包括:根据所述虚拟机容量更改请
求,获取所述第二物理机集群对应的所述第二虚拟机的当前容量以及更改容量;根据所述
当前容量和所述更改容量,确定所述第二虚拟机的待分配容量;获取所述第二物理机集群
的可用容量;响应于所述可用容量小于所述待分配容量,获取所述可用容量与所述待分配
容量之间的容量差值,以根据所述容量差值在所述第二物理机集群中添加物理机。
[0009] 根据本公开的一个实施例,所述资源调度请求为数据库实例部署请求,所述根据所述请求类型,对所述第二物理机集群进行资源调度,包括:根据所述数据库实例部署请
求,确定所述数据库实例部署请求的请求类型;获取所述第二物理机集群中的每个所述物
理机的单台可用容量,并根据所述单台可用容量大小对多个所述物理机进行排序;响应于
所述数据库实例部署请求的请求类型为第一类型,从所述单台可用容量最大的所述物理机
起,依次部署数据库实例,其中,每个所述物理机上仅部署一个所述数据库实例;响应于所
述数据库实例部署请求的请求类型为第二类型,从所述单台可用容量最小的所述物理机
起,依次部署所述数据库实例,其中,每个所述物理机上部署至少一个所述数据库实例。
[0010] 根据本公开的一个实施例,所述物理机集群包括至少一个主用物理机和至少一个备用物理机,所述数据库实例包括至少一个所述主用物理机对应的主用数据库实例和至少
一个所述备用物理机对应的备用数据库实例,所述方法,还包括:同时部署所述主用数据库
实例和所述备用数据库实例;响应于所述主用数据库实例和所述备用数据库实例部署完
成,对所述主用物理机和所述备用物理机进行数据库实例同步操作。
[0011] 根据本公开的一个实施例,所述资源调度请求为物理机集群资源配置更改请求,所述根据所述请求类型,对所述第二物理机集群进行资源调度,包括:根据所述物理机集群
资源配置更改请求,确定硬盘容量与内存容量的比值;根据所述硬盘容量与内存容量的比
值,调整所述第二物理机集群的资源配置。
[0012] 根据本公开的一个实施例,还包括:获取所述第二物理机集群中每个所述物理机对应的资源利用率和流量负载的比值;响应于存在所述资源利用率和流量负载的比值大于
或者等于预设阈值的第一物理机,在所述第二物理机集群中添加物理机和/或对所述第一
物理机上的部分所述数据库实例进行迁移。
[0013] 根据本公开的一个实施例,还包括:检测所述主用物理机是否发生故障;响应于所述主用物理机发生故障,切换至所述备用物理机执行对应的所述资源调度操作;响应于所
述切换至所述备用物理机执行对应的所述资源管理操作步骤完成,恢复发生故障的所述主
用物理机对应的所述主用数据库实例。
[0014] 根据本公开的一个实施例,所述资源调度请求为访问请求,所述根据所述请求类型,对所述第二物理机集群进行资源调度,包括:将所述访问请求发送至堡垒机,以使所述
堡垒机对用户权限等级进行鉴权操作,其中,所述访问请求包括用户权限等级信息;响应于
所述用户权限等级通过鉴权,通过所述堡垒机对所述第二物理机集群进行访问。
[0015] 根据本公开的一个实施例,所述响应于所述用户权限等级通过鉴权,通过所述堡垒机对所述第二物理机集群进行访问之后,还包括:响应于通过所述堡垒机对所述第二物
理机集群进行访问完成,将访问操作结果发送至所述堡垒机。
[0016] 根据本公开的一个实施例,还包括:获取所述第二物理机集群的运行状态,并判断所述运行状态是否满足预设条件;响应于所述运行状态未满足预设条件,调整所述第二物
理机集群的运行参数。
[0017] 根据本公开的一个实施例,还包括:接收数据回滚请求;根据所述数据回滚请求,确定待回滚数据信息;根据所述待回滚数据信息,从备份数据中选取并还原所述待回滚数
据。
[0018] 本公开的实施例提供的技术方案至少带来以下有益效果:
[0019] 本公开通过接收第一虚拟机发送的资源请求信息,并根据资源请求信息,从多个物理机集群中确定第一虚拟机专属的第一物理机集群,进而将资源请求信息发送给第一物
理机集群,以使第一物理机集群根据资源请求信息为应用程序调度资源。由此,本公开能够
基于独享式的资源分配方式,保证了云数据库的资源的隔离性以及数据的安全性,提高了
云数据库的资源管理过程中的可靠性。
[0020] 根据本公开实施例的第二方面,提供一种云数据库的资源管理装置,所述云数据库的资源管理装置包括:接收模块,用于接收第一虚拟机发送的资源请求信息;确定模块,
用于根据所述资源请求信息,从多个物理机集群中确定所述第一虚拟机专属的第一物理机
集群;发送模块,用于将所述资源请求信息发送给所述第一物理机集群,以使所述第一物理
机集群根据所述资源请求信息为应用程序调度资源。
[0021] 根据本公开的一个实施例,还包括:资源调度模块,用于接收资源调度请求,其中,所述资源调度请求包括第二虚拟机的标识信息;根据所述第二虚拟机的标识信息确定所述
第二虚拟机专属的第二物理机集群;获取所述资源调度请求的请求类型,并根据所述资源
调度请求的请求类型,对所述第二物理机集群进行资源调度。
[0022] 根据本公开的一个实施例,所述资源调度请求为虚拟机容量更改请求,所述资源调度模块,还用于:根据所述虚拟机容量更改请求,获取所述第二物理机集群对应的所述第
二虚拟机的当前容量以及更改容量;根据所述当前容量和所述更改容量,确定所述第二虚
拟机的待分配容量;获取所述第二物理机集群的可用容量;响应于所述可用容量小于所述
待分配容量,获取所述可用容量与所述待分配容量之间的容量差值,以根据所述容量差值
在所述第二物理机集群中添加物理机。
[0023] 根据本公开的一个实施例,所述资源调度请求为数据库实例部署请求,所述资源调度模块,还用于:根据所述数据库实例部署请求,确定所述数据库实例部署请求的请求类
型;获取所述第二物理机集群中的每个所述物理机的单台可用容量,并根据所述单台可用
容量大小对多个所述物理机进行排序;响应于所述数据库实例部署请求的请求类型为第一
类型,从所述单台可用容量最大的所述物理机起,依次部署数据库实例,其中,每个所述物
理机上仅部署一个所述数据库实例;响应于所述数据库实例部署请求的请求类型为第二类
型,从所述单台可用容量最小的所述物理机起,依次部署所述数据库实例,其中,每个所述
物理机上部署至少一个所述数据库实例。
[0024] 根据本公开的一个实施例,所述物理机集群包括至少一个主用物理机和至少一个备用物理机,所述数据库实例包括至少一个所述主用物理机对应的主用数据库实例和至少
一个所述备用物理机对应的备用数据库实例,所述资源调度模块,还用于:同时部署所述主
用数据库实例和所述备用数据库实例;响应于所述主用数据库实例和所述备用数据库实例
部署完成,对所述主用物理机和所述备用物理机进行数据库实例同步操作。
[0025] 根据本公开的一个实施例,所述资源调度请求为物理机集群资源配置更改请求,所述资源调度模块,还用于:根据所述物理机集群资源配置更改请求,确定硬盘容量与内存
容量的比值;根据所述硬盘容量与内存容量的比值,调整所述第二物理机集群的资源配置。
[0026] 根据本公开的一个实施例,所述资源调度模块,还用于:获取所述第二物理机集群中每个所述物理机对应的资源利用率和流量负载的比值;响应于存在所述资源利用率和流
量负载的比值大于或者等于预设阈值的第一物理机,在所述第二物理机集群中添加物理机
和/或对所述第一物理机上的部分所述数据库实例进行迁移。
[0027] 根据本公开的一个实施例,所述资源调度模块,还用于:检测所述主用物理机是否发生故障;响应于所述主用物理机发生故障,切换至所述备用物理机执行对应的所述资源
调度操作;响应于所述切换至所述备用物理机执行对应的所述资源管理操作步骤完成,恢
复发生故障的所述主用物理机对应的所述主用数据库实例。
[0028] 根据本公开的一个实施例,所述资源调度请求为访问请求,所述资源调度模块,还用于:将所述访问请求发送至堡垒机,以使所述堡垒机对用户权限等级进行鉴权操作,其
中,所述访问请求包括用户权限等级信息;响应于所述用户权限等级通过鉴权,通过所述堡
垒机对所述第二物理机集群进行访问。
[0029] 根据本公开的一个实施例,所述资源调度模块,还用于:响应于通过所述堡垒机对所述第二物理机集群进行访问完成,将访问操作结果发送至所述堡垒机。
[0030] 根据本公开的一个实施例,所述资源调度模块,还用于:获取所述第二物理机集群的运行状态,并判断所述运行状态是否满足预设条件;响应于所述运行状态未满足预设条
件,调整所述第二物理机集群的运行参数。
[0031] 根据本公开的一个实施例,所述资源调度模块,还用于:接收数据回滚请求;根据所述数据回滚请求,确定待回滚数据信息;根据所述待回滚数据信息,从备份数据中选取并
还原所述待回滚数据。
[0032] 根据本公开实施例的第三方面,提供一种云数据库的资源管理系统,所述系统包括:多个虚拟机、多个物理机集群和云服务器,其中,每个所述虚拟机对应配置有一个专属
的所述物理机集群,每个所述物理机集群包括一个或多个物理机,且多个所述虚拟机之间
不共用所述物理机集群;第一虚拟机,用于接收应用程序发送的资源请求信息,并将所述资
源请求信息发送至所述云服务器;其中,所述第一虚拟机为所述多个虚拟机中的任意一个
虚拟机;所述云服务器,用于确定所述第一虚拟机专属的第一物理机集群,并将所述资源管
理请求发送给所述第一物理机集群;所述第一物理机集群,用于根据所述资源请求信息,为
所述应用程序调度资源。
[0033] 根据本公开的一个实施例,所述云服务器,还用于:对所述物理机集群进行资源监控,接收资源调度请求,并根据所述资源调度请求,从所述多个物理机集群中确定需要资源
调度的第二物理机集群,以对所述第二物理机集群进行资源调度,其中,所述第二物理机集
群为所述多个物理机集群中的任意一个物理机集群。
[0034] 根据本公开的一个实施例,所述资源调度请求为访问请求,还包括:堡垒机,所述堡垒机分别与所述虚拟机和所述物理机集群连接,用于接收所述云服务器发送的所述访问
请求,并对用户权限等级进行鉴权操作,其中,所述访问请求包括用户权限等级信息;响应
于所述用户权限等级通过鉴权,对所述第二物理机集群进行访问;接收所述云服务器发送
的访问操作结果;所述云服务器,还用于将所述访问请求发送至所述堡垒机;响应于通过所
述堡垒机对所述第二物理机集群进行访问完成,将所述访问操作结果发送至所述堡垒机。
[0035] 根据本公开实施例的第四方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如本公开第
一方面实施例提供的云数据库的资源管理方法。
[0036] 根据本公开实施例的第五方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如本公开第
一方面实施例提供的云数据库的资源管理方法。
[0037] 根据本公开实施例的第六方面,提供一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如本公开第一方面提供的云数据库的资源管
理方法。
[0038] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

[0039] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
[0040] 图1是根据一示例性实施例示出的一种云数据库资源管理方式的示意图。
[0041] 图2是根据一示例性实施例示出的另一种云数据库资源管理方式的示意图。
[0042] 图3是根据一示例性实施例示出的一种云数据库的资源管理方法的流程图。
[0043] 图4是根据一示例性实施例示出的另一种云数据库资源管理方式的示意图。
[0044] 图5是根据一示例性实施例示出的另一种云数据库的资源管理方法的流程图。
[0045] 图6是根据一示例性实施例示出的另一种云数据库的资源管理方法的流程图。
[0046] 图7是根据一示例性实施例示出的另一种云数据库的资源管理方法的流程图。
[0047] 图8是根据一示例性实施例示出的另一种云数据库的资源管理方法的流程图。
[0048] 图9是根据一示例性实施例示出的另一种云数据库的资源管理方法的流程图。
[0049] 图10是根据一示例性实施例示出的另一种云数据库资源管理方式的示意图。
[0050] 图11是根据一示例性实施例示出的另一种云数据库的资源管理方法的流程图。
[0051] 图12是根据一示例性实施例示出的另一种云数据库的资源管理方法的流程图。
[0052] 图13是根据一示例性实施例示出的另一种云数据库的资源管理方法的流程图。
[0053] 图14是根据一示例性实施例示出的另一种云数据库的资源管理方法的流程图。
[0054] 图15是根据一示例性实施例示出的另一种云数据库的资源管理方法的流程图。
[0055] 图16是根据一示例性实施例示出的一种云数据库的资源管理装置的框图。
[0056] 图17是根据一示例性实施例示出的另一种云数据库的资源管理装置的框图。
[0057] 图18是根据一示例性实施例示出的一种云数据库的资源管理系统的框图。
[0058] 图19是根据一示例性实施例示出的另一种云数据库的资源管理系统的框图。
[0059] 图20是根据一示例性实施例示出的一种电子设备的框图。

具体实施方式

[0060] 为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
[0061] 需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用
的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或
描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相
一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面
相一致的装置和方法的例子。
[0062] 需要说明的是,相关技术中,云数据库的资源管理方式主要包括以下两种形态:云上自建和业务托管。
[0063] 下面分别针对云上自建和业务托管,对相关技术中的云数据库的资源管理方式进行介绍。
[0064] 针对云上自建资源管理方式,如图1所示,针对具有一定业务规模的租户,基于云上自建的资源管理方式,能够对于云数据库服务有更多的管理权限和控制能力。进一步地,
可以根据自有的业务特征,选择合适的资源分配模式,例如可以选择同类型的数据库部署
在一类资源上,也可以把不同类型的数据库部署在一类资源上。
[0065] 此种情况下,基于云上自建的资源管理方式,租户往往需要组建专业的DBA团队,以负责数据库的安装部署、备份监控、数据迁移等,同时需要工作人员全天候值守,以保障
数据库服务的稳定性和数据的可靠性,这样一来势必导致运维成本极高。
[0066] 进一步地,当已有物理机集群的资源不足时,需要人工购买资源,并手动进行服务的扩容和数据的迁移,难以满足对于热点事件的快速扩展需求,从而导致资源扩展能力不
足。
[0067] 进一步地,当数据库服务运行出现异常时,由于缺少专业的技术团队进行排障和调优,往往会影响业务服务的稳定性。
[0068] 针对业务托管资源管理方式,如图2所示,针对业务规模较小的租户,基于云上自建的资源管理方式,能够在降低人力、物力成本的同时,仅需关注自有的业务系统,无需考
虑数据库服务的性能和稳定性。同时,可以根据业务的波峰波谷,进行对数据库资源的弹性
伸缩控制,从而实现最大化的成本降低。其中,云数据库服务由云服务厂商提供,并保证数
据库服务的稳定性和数据的正确性。
[0069] 此种情况下,基于业务托管的资源管理方式,由于托管的数据库服务是由云厂商提供的,因此只会提供常用的增删改查和部分管理接口,对于数据库所在的虚拟机或物理
机,租户无法进行访问,这样一来,势必无法满足用户的特定业务的定制化需求,例如无数
据同步权限实现混合云的高可用架构、无虚拟机权限进行业务监控的部署等需求。
[0070] 进一步地,业务托管的数据库服务通常是所有租户共享一个资源池,往往存在CPU(Central Processing Unit,中央处理器)或I/O(Input/Output,输入/输出)接口抢占情
况。同时,共享资源也会带来安全上的隐患,对于监管要求高的业务,难以满足相应的安全
合规要求。
[0071] 进一步地,业务托管的数据库服务的费用较高,特别地,增加了专业的运维服务。此外,不同类型的数据库部署在不同的机器资源上,不能将资源利用价值最大化,例如会将
I/O密集型的MySQL和CPU密集型的Redis部署在不同型号的机器上。
[0072] 由此,本申请提出一种云数据库的资源管理方法,能够基于独享式的资源分配方式,保证了云数据库的资源的隔离性以及数据的安全性,提高了云数据库的资源管理过程
中的可靠性
[0073] 图3是根据一示例性实施例示出的一种云数据库的资源管理方法的流程图。其中,需要说明的是,本公开的云数据库的资源管理方法的执行主体为云服务器。
[0074] 如图3所示,本实施例提出的云数据库的资源管理方法,包括以下步骤:
[0075] 在步骤301中,接收第一虚拟机发送的资源请求信息。
[0076] 其中,第一虚拟机,可以为任一租户对应的虚拟机。
[0077] 在本公开实施例中,在租户试图为应用程序进行调度资源时,可以向对应的虚拟机(第一虚拟机)发送资源请求信息,例如,租户可以通过客户端显示界面上的相应控件向
对应的虚拟机发送资源请求信息。进一步地,对应的虚拟机可以接收资源请求信息,并将资
源请求信息发送至云服务器。
[0078] 相应地,云服务器可以接收资源请求信息。
[0079] 在步骤302中,根据资源请求信息,从多个物理机集群中确定第一虚拟机专属的第一物理机集群。
[0080] 需要说明的是,本公开中,每个租户均配置有专属的物理机集群,租户可以通过云服务器与专属的物理机集群进行通信。
[0081] 在本公开实施例中,云服务器在接收到资源请求信息后,可以根据第一虚拟机与物理机集群之间的对应关系,从多个物理机集群中确定第一虚拟机专属的第一物理机集
群。
[0082] 举例而言,共有5个第一物理机集群,分别为第一物理机集群甲 戊,且第一虚拟机~
甲的专属第一物理机集群为第一物理机集群甲,此种情况下,云服务器在接收到资源请求
信息后,可以从第一物理机集群甲 戊中确定第一虚拟机甲专属的第一物理机集群甲。
~
[0083] 在步骤303中,将资源请求信息发送给第一物理机集群,以使第一物理机集群根据资源请求信息为应用程序调度资源。
[0084] 在本公开实施例中,云服务器在确定第一虚拟机专属的第一物理机集群后,可以将接收到的资源请求信息发送给第一物理机集群。相应地,第一物理机集群在接收到云服
务器发送的资源请求信息后,可以根据资源请求信息为应用程序调度资源。
[0085] 本公开通过接收第一虚拟机发送的资源请求信息,并根据资源请求信息,从多个物理机集群中确定第一虚拟机专属的第一物理机集群,进而将资源请求信息发送给第一物
理机集群,以使第一物理机集群根据资源请求信息为应用程序调度资源。由此,本公开能够
基于独享式的资源分配方式,保证了云数据库的资源的隔离性以及数据的安全性,提高了
云数据库的资源管理过程中的可靠性。
[0086] 需要说明的是,如图4所示,本公开中,租户可以基于自身实际情况,自定义资源调度需求,并通过API(Application Programming Interface,应用程序接口)控制台等设备
与云服务器进行通信,以实现对第二物理机集群的资源调度。
[0087] 作为一种可能的实现方式,如图5所示,在上述实施例的基础上,本公开提出的云数据库的资源管理方法,还包括以下步骤:
[0088] 在步骤501中,接收资源调度请求,其中,资源调度请求包括第二虚拟机的标识信息。
[0089] 其中,第二虚拟机,可以为任一租户对应的虚拟机;可以与第一虚拟机为同一虚拟机,也可以与第一虚拟机为不同虚拟机。
[0090] 其中,资源调度请求,至少包括以下之一:虚拟机容量更改请求、数据库实例部署请求、物理机集群资源配置更改请求、访问请求。
[0091] 在本公开实施例中,租户可以通过向云服务器发送资源调度请求,对第二物理机集群的资源进行调度,例如,租户可以通过控制台显示界面上的相应控件向云服务器发送
资源调度请求。
[0092] 相应地,云服务器可以接收资源调度请求。
[0093] 在步骤502中,根据第二虚拟机的标识信息确定第二虚拟机专属的第二物理机集群。
[0094] 在本公开实施例中,云服务器在接收到资源调度请求后,可以根据资源调度请求获取第二虚拟机的标识信息。进一步地,可以根据第二虚拟机的标识信息,确定第二虚拟机
专属的第二物理机集群。
[0095] 在步骤503中,获取资源调度请求的请求类型,并根据资源调度请求的请求类型,对第二物理机集群进行资源调度。
[0096] 在本公开实施例中,云服务器在确定第二虚拟机专属的第二物理机集群后,可以获取资源调度请求的请求类型,并根据资源调度请求的请求类型,对第二物理机集群进行
资源调度。
[0097] 下面分别针对资源调度请求为虚拟机容量更改请求、数据库实例部署请求、物理机集群资源配置更改请求、访问请求,对云服务器根据请求类型,对第二物理机集群进行资
源调度的过程进行解释说明。
[0098] 针对资源调度请求为虚拟机容量更改请求,作为一种可能的实现方式,如图6所示,在上述实施例的基础上,上述步骤中根据请求类型,对第二物理机集群进行资源调度的
过具体过程,包括以下步骤:
[0099] 在步骤601中,根据虚拟机容量更改请求,获取第二物理机集群对应的第二虚拟机的当前容量以及更改容量。
[0100] 可选地,可以根据虚拟机容量更改请求,获取更改容量,并从配置文件中查找出第二虚拟机的当前容量。
[0101] 其中,第二虚拟机的当前容量,可以包括第二虚拟机的当前CPU容量和当前内存容量。
[0102] 其中,更改容量,可以为租户输入的任一容量,也就是说,更改容量即租户预期通过更新得到的第二虚拟机容量。举例而言,第二虚拟机的当前容量为60T,更改容量为100T,
此种情况下,表示租户试图将第二虚拟机的容量由60T更改为100T。
[0103] 在步骤602中,根据当前容量和更改容量,确定第二虚拟机的待分配容量。
[0104] 举例而言,第二虚拟机的当前容量为60T,更改容量为100T,此种情况下,可知第二虚拟机的待分配容量为40T。
[0105] 在步骤603中,获取第二物理机集群的可用容量。
[0106] 可选地,可以通过Hypervisor等监视器,获取第二物理机集群的可用容量以及第二物理机集群的总容量、当前容量等。
[0107] 其中,可用容量,指的是第二物理机集群中未使用的容量。
[0108] 在步骤604中,响应于可用容量小于待分配容量,获取可用容量与待分配容量之间的容量差值,以根据容量差值在第二物理机集群中添加物理机。
[0109] 在本公开实施例中,云服务器在获取到第二虚拟机的待分配容量和第二物理机集群的可用容量后,可以将待分配容量与可用容量进行比较。
[0110] 可选地,响应于可用容量小于待分配容量,此种情况下,可知第二物理机集群的机器资源不足,则可以获取可用容量与待分配容量之间的容量差值,以根据容量差值在第二
物理机集群中添加物理机。
[0111] 举例而言,可用容量为20T、待分配容量为40T,此种情况下,可用容量小于待分配容量,则可以根据可用容量与待分配容量之间的容量差值20T,在第二物理机集群中添加物
理机。
[0112] 需要说明的是,本公开中,对于在第二物理机集群中添加物理机的具体方式不作限定,可以根据实际情况进行选取。可选地,为了节省成本,可以添加一台容量等于容量差
值的物理机;可选地,为了为后期进一步进行扩容提供便利,可以添加一台容量大于容量差
值的物理机;可选地,可以根据租户的自定义需求,可以添加多台容量小于容量差值的物理
机,其中,多台物理机的总容量大于容量差值。
[0113] 本公开通过根据虚拟机容量更改请求,获取第二物理机集群对应的第二虚拟机的当前容量以及更改容量,并根据当前容量和更改容量,确定第二虚拟机的待分配容量,然后
获取第二物理机集群的可用容量,进而响应于可用容量小于待分配容量,获取可用容量与
待分配容量之间的容量差值,以根据容量差值在第二物理机集群中添加物理机,使得在第
二虚拟机专属的第二物理机集群内机器资源不足时,可以于对应的第二物理机集群中通过
添加物理机实现扩容,提高了云数据库的资源管理过程中的适应性。
[0114] 针对资源调度请求为数据库实例部署请求,作为一种可能的实现方式,如图7所示,在上述实施例的基础上,上述步骤中根据请求类型,对第二物理机集群进行资源调度的
过具体过程,包括以下步骤:
[0115] 在步骤701中,根据数据库实例部署请求,确定数据库实例部署请求的请求类型。
[0116] 在本公开实施例中,可以预先定义多种数据库实例部署请求的请求类型,租户可以根据自身需求选取匹配的请求类型,从而实现不同的数据库实例部署方式。
[0117] 需要说明的是,本公开中对于数据库实例部署请求的请求类型的具体设置方式不作限定,可以根据实际情况进行设置。举例而言,可以预先定义两种请求类型,包括:性能优
先型和利用率优先型。
[0118] 在步骤702中,获取第二物理机集群中的每个物理机的单台可用容量,并根据单台可用容量大小对多个物理机进行排序。
[0119] 在本公开实施例中,云服务器可以获取第二物理机集群中的每个物理机的单台可用容量,并将第二物理机集群中的所有物理机对应的容量,按照从大到小的顺序进行排序。
[0120] 举例而言,第二物理机集群中共有5台物理机,分别为物理机甲 戊,且每个物理机~
的单台可用容量分别为10T、20T、30T、40T和50T。此种情况下,根据单台可用容量大小对多
个物理机进行排序,排序结果为物理机戊、物理机丁、物理机丙、物理机乙、物理机甲。
[0121] 在步骤703中,响应于数据库实例部署请求的请求类型为第一类型,从单台可用容量最大的物理机起,依次部署数据库实例,其中,每个物理机上仅部署一个数据库实例。
[0122] 其中,第一类型,可以为优先选择最空闲物理机进行实施例部署的性能优先型。
[0123] 在本公开实施例中,响应于数据库实例部署请求的请求类型为第一类型,则可以从单台可用容量最大的物理机起,依次部署数据库实例。同时,在每个物理机上仅部署一个
数据库实例。
[0124] 举例而言,第二物理机集群中共有5台物理机,分别为物理机甲 戊,且根据单台可~
用容量大小对多个物理机进行排序的排序结果为物理机戊、物理机丁、物理机丙、物理机
乙、物理机甲,此种情况下,可以优先从最空闲的物理机戊开始进行实施例的部署。
[0125] 需要说明的是,在试图部署多个数据库实施例时,响应于数据库实例部署请求的请求类型为第一类型,则可以在于任一物理机上完成第一数据库实施例的部署后,无需考
虑当前物理机上的剩余容量,直接将第二数据库实施例布置于容量次多的物理机上。
[0126] 举例而言,第二物理机集群中共有5台物理机,分别为物理机甲 戊,且根据单台可~
用容量大小对多个物理机进行排序的排序结果为物理机戊、物理机丁、物理机丙、物理机
乙、物理机甲,此种情况下,可以优先从最空闲的物理机戊开始进行数据库实施例1的部署,
在完成数据库实施例1的部署后,即使数据库实施例2的容量小于物理机戊的剩余容量,也
需直接将数据库实施例2部署于物理机丁上。
[0127] 在步骤704中,响应于数据库实例部署请求的请求类型为第二类型,从单台可用容量最小的物理机起,依次部署数据库实例,其中,每个物理机上部署至少一个数据库实例。
[0128] 其中,第二类型,可以为优先选择最空闲物理机进行实施例部署的利用率优先型。
[0129] 在本公开实施例中,响应于数据库实例部署请求的请求类型为第二类型,则可以从单台可用容量最小的物理机起,依次部署数据库实例。同时,可以在每个物理机上一个或
多个数据库实例。
[0130] 举例而言,第二物理机集群中共有5台物理机,分别为物理机甲 戊,且根据单台可~
用容量大小对多个物理机进行排序的排序结果为物理机戊、物理机丁、物理机丙、物理机
乙、物理机甲,此种情况下,可以用满一台物理机的资源后再选择下一台空闲的物理机进行
数据库实施例的部署。
[0131] 需要说明的是,从单台可用容量最小的物理机部署起进行数据库实施例的部署时,若当前物理机的可用容量小于数据库实施例的大小,则可以仅将部分数据库实施例部
署于当前物理机上,进一步地,于可用容量次小的物理机上继续部署剩余部分的数据库实
施例。依次类推,直至全部数据库实施例部署完毕。
[0132] 需要说明的是,响应于数据库实例部署请求的请求类型为第二类型,单台物理机上可以实现不同类型数据库的混合部署,例如,单台物理机上可以同时部署数据库实例
MySQL和Redis。
[0133] 本公开通过根据数据库实例部署请求,确定数据库实例部署请求的请求类型,进而获取第二物理机集群中的每个物理机的单台可用容量,并根据单台可用容量大小对多个
物理机进行排序,使得能够通过为租户提供多种自定义的数据库实例部署策略,达到同时
满足租户对于高性能和低成本的需求的目的。
[0134] 针对资源调度请求为物理机集群资源配置更改请求,作为一种可能的实现方式,如图8所示,在上述实施例的基础上,上述步骤中根据请求类型,对第二物理机集群进行资
源调度的过具体过程,包括以下步骤:
[0135] 在步骤801中,根据物理机集群资源配置更改请求,确定硬盘容量与内存容量的比值。
[0136] 在本公开实施例中,租户可以通过发送资源调度请求的方式更改超配比例。其中,超配比例,指的是CPU容量和内存容量的超配比例。
[0137] 在步骤802中,根据硬盘容量与内存容量的比值,调整第二物理机集群的资源配置。
[0138] 需要说明的是,不同的超配比例设置对于云数据库服务的性能会有不同的影响。例如,当超配比例大于1时,系统会最大化地利用物理机的资源,然而服务的稳定性会有所
降低。
[0139] 本公开通过根据物理机集群资源配置更改请求,确定硬盘容量与内存容量的比值,进而根据硬盘容量与内存容量的比值,调整第二物理机集群的资源配置,使得能够满足
租户不同情况下对于物理机资源利用率以及服务稳定性的不同需求。
[0140] 需要说明的是,由于数据库实例部署策略和超配比例的设置,在云数据库运行一段时间后,不同的物理机资源利用率和流量负载可能会存在不均衡的情况。由此,本公开
中,云服务器可以通过实时监控及调整操作,确保第二物理机集群的整体负载均衡。
[0141] 作为一种可能的实现方式,如图9所示,在上述实施例的基础上,本公开提出的云数据库的资源管理方法,还包括以下步骤:
[0142] 在步骤901中,获取第二物理机集群中每个物理机对应的资源利用率和流量负载的比值。
[0143] 在步骤902中,响应于存在资源利用率和流量负载的比值大于或者等于预设阈值的第一物理机,在第二物理机集群中添加物理机和/或述第一物理机上的部分数据库实例
进行迁移。
[0144] 在本公开实施例中,在获取到第二物理机集群中每个物理机对应的资源利用率和流量负载的比值后,可以将比值分别与预先设置的预设阈值进行比较,若存在资源利用率
和流量负载的比值大于或者等于预设阈值的第一物理机,说明该物理机存在资源利用率和
流量负载不均衡的情况,则可以进行扩容或者迁移操作。
[0145] 可选地,可以在第二物理机集群中添加物理机;可选地,可以将负载较高的物理机上的至少部分数据库实施例迁移至负载较低的较为空闲的物理机上。
[0146] 本公开通过获取第二物理机集群中每个物理机对应的资源利用率和流量负载的比值,进而响应于存在资源利用率和流量负载的比值大于或者等于预设阈值的第一物理
机,在第二物理机集群中添加物理机和/或述第一物理机上的部分数据库实例进行迁移。由
此,本公开中能够基于动态扩容方式,确保了整个第二物理机集群的负载均衡,进一步提高
了服务稳定性等性能。
[0147] 需要说明的是,本公开中,为了能够使租户可以既可以保留原有的运维模式,又可以享受到云数据库提供的专家和管控服务、充分发挥DBA(Database Administrator,数据
库管理员)的价值,例如可以部署自研发的监控服务,以满足自有业务的特殊需求,本公开
中,可以向租户开放物理机和数据库访问权限。
[0148] 可选地,针对物理机,至少可以开放以下权限之一:以数据库实例的空间目录为例,具备对错误日志、慢日志、变更日志等常用日志的查看权限;以部分系统目录为例,具备
对物理机日志,内核配置等常用目录和文件的查看权限。
[0149] 可选地,针对数据库,至少可以开放以下权限之一:用户授权、数据操作、数据同步、状态监控等常用的操作权限。
[0150] 综上所述,操作审计可以全方位记录运维人员的操作行为,作为追溯事故原因的依据,包括运维操作记录,操作系统命令审计,文件传输审计等。进一步地,安全认证使用双
因子认证机制,可以防止运维人员身份冒用和复制。通过短信认证,RAM子账号MFA等技术,
控制账号密码泄露风险。同时,权限管控使用权组管理,能够按照人员、服务器、服务器组,
建立人员职责与资源分配的授权管理。
[0151] 进一步地,如图10所示,为了防止租户随意操作,本公开中设置有堡垒机,以基于堡垒机机制,实现操作审计、安全认证和权限管控。
[0152] 针对资源调度请求为访问请求,作为一种可能的实现方式,如图11所示,在上述实施例的基础上,上述步骤中根据请求类型,对第二物理机集群进行资源调度的具体过程,包
括以下步骤:
[0153] 在步骤1101中,将访问请求发送至堡垒机,以使堡垒机对用户权限等级进行鉴权操作,其中,访问请求包括用户权限等级信息。
[0154] 需要说明的是,本公开中,采用堡垒机机制,即通过堡垒机实现租户与专属的物理机集群之间的通信,能够避免租户直接对物理机集群进行控制。其中,堡垒机可以进行鉴权
并与物理机集群之间进行数据传输。
[0155] 其中,鉴权(Authentication),指的是验证租户是否拥有访问系统的权利的过程。
[0156] 在步骤1102中,响应于用户权限等级通过鉴权,通过堡垒机对第二物理机集群进行访问。
[0157] 需要说明的是,由于租户与物理机集群之间无权直接进行通信,因此,在响应于用户权限等级通过鉴权,通过堡垒机对第二物理机集群进行访问之后,云服务器可以响应于
通过堡垒机对第二物理机集群进行访问完成,将访问操作结果发送至堡垒机。相应地,堡垒
机接收访问操作结果,并反馈至租户对应的控制台,以供租户查看访问操作结果。
[0158] 本公开通过将访问请求发送至堡垒机,以使堡垒机对用户权限等级进行鉴权操作,其中,访问请求包括用户权限等级信息,进而响应于用户权限等级通过鉴权,通过堡垒
机对第二物理机集群进行访问,使得针对最大化开放物理机和数据库权限,以为租户提供
可控、灵活的操作方式时,能够基于堡垒机机制,避免租户的恶意操作或误操作,进一步提
升了可控性和安全性。
[0159] 需要说明的是,为了确保云数据库运行的稳定性,本公开中,针对每个物理机集群,均部署至少一个主用物理机和至少一个备用物理机。相应地,数据库实例包括至少一个
主用物理机对应的主用数据库实例和至少一个备用物理机对应的备用数据库实例。
[0160] 作为一种可能的实现方式,如图12所示,在上述实施例的基础上,上述步骤中部署数据库实例的具体过程,包括以下步骤:
[0161] 在步骤1201中,同时部署主用数据库实例和备用数据库实例。
[0162] 在本公开实施例中,针对主用数据库实例和备用数据库实例的部署,可以采用并行处理的方式。也就是说,可以同时部署主用数据库实例和备用数据库实例。
[0163] 在步骤1202中,响应于主用数据库实例和备用数据库实例部署完成,对主用物理机和备用物理机进行数据库实例同步操作。
[0164] 在本公开实施例中,在主用数据库实例和备用数据库实例均部署完成后,建立同步关系的建立,即对主用物理机和备用物理机进行数据库实例同步操作。
[0165] 本公开通过同时部署主用数据库实例和备用数据库实例,进而响应于主用数据库实例和备用数据库实例部署完成,对主用物理机和备用物理机进行数据库实例同步操作,
使得能够基于并行部署的方式,提高数据库实施例的部署效率。
[0166] 进一步地,实际应用中,可能出现服务不可访问等故障,本公开中,通过实时探测云数据库服务的可用性,可以及时发现故障并进行自愈。
[0167] 作为一种可能的实现方式,如图13所示,在上述实施例的基础上,本公开提出的云数据库的资源管理方法,还包括以下步骤:
[0168] 在步骤1301中,检测主用物理机是否发生故障。
[0169] 举例而言,可以通过检测主用物理机对应的服务是否可访问。
[0170] 在步骤1302中,响应于主用物理机发生故障,切换至备用物理机执行对应的资源调度操作。
[0171] 在本公开实施例中,响应于主用物理机发生故障,即当出现服务不可访问时,会自动进行主备切换,即言,切换至备用物理机执行对应的资源调度操作。
[0172] 在步骤1303中,响应于切换至备用物理机执行对应的资源管理操作步骤完成,恢复发生故障的主用物理机对应的主用数据库实例。
[0173] 在本公开实施例中,响应于切换至备用物理机执行对应的资源管理操作步骤完成后,再异步恢复发生故障的主用物理机对应的主用数据库实例。
[0174] 本公开通过检测主用物理机是否发生故障,响应于主用物理机发生故障,切换至备用物理机执行对应的资源调度操作,响应于切换至备用物理机执行对应的资源管理操作
步骤完成,恢复发生故障的主用物理机对应的主用数据库实例,使得能够基于自动切换并
异步恢复的方式,确保数据库服务的高可用性。
[0175] 进一步地,实际应用中,可能出现云数据库运行状态非良好的情况,本公开中,通过实时监控并进行性能诊断,可以进一步提高数据库服务的高可用性。
[0176] 作为一种可能的实现方式,如图14所示,在上述实施例的基础上,本公开提出的云数据库的资源管理方法,还包括以下步骤:
[0177] 在步骤1401中,获取第二物理机集群的运行状态,并判断运行状态是否满足预设条件。
[0178] 需要说明的是,本公开中对于预设条件的具体设定方式不作限定,可以根据实际情况进行设定。例如,可以设定预设条件为业务表结构合理;也可以设定预设条件为数据库
配置合理。
[0179] 在步骤1402中,响应于运行状态未满足预设条件,调整第二物理机集群的运行参数。
[0180] 在本公开实施例中,响应于运行状态未满足预设条件,则可以自动地对表结构和配置参数进行优化,调整第二物理机集群的运行参数。
[0181] 本公开通过获取第二物理机集群的运行状态,并判断运行状态是否满足预设条件,响应于运行状态未满足预设条件,调整第二物理机集群的运行参数,使得能够在云数据
库运行状态非良好的情况,通过实时监控并进行性能诊断,进一步提高数据库服务的高可
用性。
[0182] 进一步地,本公开中,租户可以通过发送数据回滚请求,还原云数据库备份的数据。
[0183] 作为一种可能的实现方式,如图15所示,在上述实施例的基础上,本公开提出的云数据库的资源管理方法,还包括以下步骤:
[0184] 在步骤1501中,接收数据回滚请求。
[0185] 需要说明的是,本公开中,当服务出现异常或者租户因业务需求需要进行数据回滚(Rollback)时,可以发送数据回滚请求。相应地,云服务器可以接收数据回滚请求。
[0186] 其中,回滚,指的是程序或数据处理错误,将程序或数据恢复到上一次正确状态的行为。
[0187] 在步骤1502中,根据数据回滚请求,确定待回滚数据信息。
[0188] 其中,待回滚数据信息,可以为全部备份数据,也可以为部分备份数据。
[0189] 需要说明的是,本公开中支持历史指定时间得到还原。
[0190] 举例而言,在试图还原历史时刻A B时间段内的数据时,可以根据数据回滚请求,~
确定待回滚数据信息为历史时刻A B时间段内所备份的数据。
~
[0191] 在步骤1503中,根据待回滚数据信息,从备份数据中选取并还原待回滚数据。
[0192] 在本公开实施例中,在确定待回滚数据信息后,可以从日志的备份中的备份数据中选取并还原待回滚数据。
[0193] 本公开通过接收数据回滚请求,根据数据回滚请求,确定待回滚数据信息,进而根据待回滚数据信息,从备份数据中选取并还原待回滚数据,使得支持数据回滚,特别是历史
指定时间的数据回滚,进一步提高数据库服务的高可用性。
[0194] 综上所述,本公开提出的云数据库的资源管理方法,为用户提供了完备的数据库访问权限和物理机访问权限,既能满足业务的定制化需求,又不影响服务的稳定性,具有极
高的可控性。
[0195] 进一步地,通过独享物理机集群,进行物理上隔离,保证不同租户的资源和服务不会互相干扰,也避免数据上的安全问题。
[0196] 进一步地,通过提供快速扩缩容的能力,能够应对不同场景的业务流量的波峰和波谷,提供灵活的资源调度策略和超配比例,使得物理机利用率最大化。
[0197] 进一步地,为租户提供专业的专家服务和深度优化的数据库引擎版本,保证租户获取到最佳性价比的数据库服务,同时租户仅需对物理机资源付费,不需要对数据库软件
和运维服务付费,极大地降低了成本。
[0198] 图16 17是根据一示例性实施例示出的一种云数据库的资源管理装置框图。~
[0199] 如图16所示,云数据库的资源管理装置1000,该装置1000包括接收模块110、确定模块120和发送模块130。其中,
[0200] 接收模块110,用于接收第一虚拟机发送的资源请求信息;
[0201] 确定模块120用于根据所述资源请求信息,从多个物理机集群中确定所述第一虚拟机专属的第一物理机集群;
[0202] 发送模块130,用于将所述资源请求信息发送给所述第一物理机集群,以使所述第一物理机集群根据所述资源请求信息为应用程序调度资源。
[0203] 在本公开的实施例中,如图17所示,图16中的云数据库的资源管理装置1000,还包括:资源调度模块140,用于:
[0204] 接收资源调度请求,其中,所述资源调度请求包括第二虚拟机的标识信息;根据所述第二虚拟机的标识信息确定所述第二虚拟机专属的第二物理机集群;获取所述资源调度
请求的请求类型,并根据所述资源调度请求的请求类型,对所述第二物理机集群进行资源
调度。
[0205] 在本公开的实施例中,所述资源调度请求为虚拟机容量更改请求,资源调度模块140,还用于:
[0206] 根据所述虚拟机容量更改请求,获取所述第二物理机集群对应的所述第二虚拟机的当前容量以及更改容量;根据所述当前容量和所述更改容量,确定所述第二虚拟机的待
分配容量;获取所述第二物理机集群的可用容量;响应于所述可用容量小于所述待分配容
量,获取所述可用容量与所述待分配容量之间的容量差值,以根据所述容量差值在所述第
二物理机集群中添加物理机。
[0207] 在本公开的实施例中,所述资源调度请求为数据库实例部署请求,所述资源调度模块140,还用于:
[0208] 根据所述数据库实例部署请求,确定所述数据库实例部署请求的请求类型;获取所述第二物理机集群中的每个所述物理机的单台可用容量,并根据所述单台可用容量大小
对多个所述物理机进行排序;响应于所述数据库实例部署请求的请求类型为第一类型,从
所述单台可用容量最大的所述物理机起,依次部署数据库实例,其中,每个所述物理机上仅
部署一个所述数据库实例;响应于所述数据库实例部署请求的请求类型为第二类型,从所
述单台可用容量最小的所述物理机起,依次部署所述数据库实例,其中,每个所述物理机上
部署至少一个所述数据库实例。
[0209] 在本公开的实施例中,所述物理机集群包括至少一个主用物理机和至少一个备用物理机,所述数据库实例包括至少一个所述主用物理机对应的主用数据库实例和至少一个
所述备用物理机对应的备用数据库实例,资源调度模块140,还用于:
[0210] 同时部署所述主用数据库实例和所述备用数据库实例;响应于所述主用数据库实例和所述备用数据库实例部署完成,对所述主用物理机和所述备用物理机进行数据库实例
同步操作。
[0211] 在本公开的实施例中,所述资源调度请求为物理机集群资源配置更改请求,资源调度模块140,还用于:
[0212] 根据所述物理机集群资源配置更改请求,确定硬盘容量与内存容量的比值;根据所述硬盘容量与内存容量的比值,调整所述第二物理机集群的资源配置。
[0213] 在本公开的实施例中,资源调度模块140,还用于:
[0214] 获取所述第二物理机集群中每个所述物理机对应的资源利用率和流量负载的比值;响应于存在所述资源利用率和流量负载的比值大于或者等于预设阈值的第一物理机,
在所述第二物理机集群中添加物理机和/或对所述第一物理机上的部分所述数据库实例进
行迁移。
[0215] 在本公开的实施例中,资源调度模块140,还用于:
[0216] 检测所述主用物理机是否发生故障;响应于所述主用物理机发生故障,切换至所述备用物理机执行对应的所述资源调度操作;响应于所述切换至所述备用物理机执行对应
的所述资源管理操作步骤完成,恢复发生故障的所述主用物理机对应的所述主用数据库实
例。
[0217] 在本公开的实施例中,所述资源调度请求为访问请求,资源调度模块140,还用于:
[0218] 将所述访问请求发送至堡垒机,以使所述堡垒机对用户权限等级进行鉴权操作,其中,所述访问请求包括用户权限等级信息;响应于所述用户权限等级通过鉴权,通过所述
堡垒机对所述第二物理机集群进行访问。
[0219] 在本公开的实施例中,资源调度模块140,还用于:
[0220] 响应于通过所述堡垒机对所述第二物理机集群进行访问完成,将访问操作结果发送至所述堡垒机。
[0221] 在本公开的实施例中,资源调度模块140,还用于:
[0222] 获取所述第二物理机集群的运行状态,并判断所述运行状态是否满足预设条件;响应于所述运行状态未满足预设条件,调整所述第二物理机集群的运行参数。
[0223] 在本公开的实施例中,资源调度模块140,还用于:
[0224] 接收数据回滚请求;根据所述数据回滚请求,确定待回滚数据信息;根据所述待回滚数据信息,从备份数据中选取并还原所述待回滚数据。
[0225] 本公开通过接收第一虚拟机发送的资源请求信息,并根据资源请求信息,从多个物理机集群中确定第一虚拟机专属的第一物理机集群,进而将资源请求信息发送给第一物
理机集群,以使第一物理机集群根据资源请求信息为应用程序调度资源。由此,本公开能够
基于独享式的资源分配方式,保证了云数据库的资源的隔离性以及数据的安全性,提高了
云数据库的资源管理过程中的可靠性。
[0226] 下面参考附图描述本申请实施例的一种云数据库的资源管理系统。
[0227] 图18是本申请公开的一个实施例的一种云数据库的资源管理系统的结构示意图。
[0228] 如图18所示,本申请实施例提出的云数据库的资源管理系统2000,包括:多个虚拟机210、多个物理机集群220和云服务器230。
[0229] 其中,每个虚拟机210对应配置有一个专属的物理机集群220,每个物理机集群220包括一个或多个物理机221,且多个虚拟机210之间不共用物理机集群220。
[0230] 第一虚拟机,用于接收应用程序发送的资源请求信息,并将资源请求信息发送至云服务器230;其中,第一虚拟机为多个虚拟机210中的任意一个虚拟机;
[0231] 云服务器230,用于确定第一虚拟机专属的第一物理机集群,并将资源管理请求发送给第一物理机集群;
[0232] 第一物理机集群,用于根据资源请求信息,为应用程序调度资源。
[0233] 本公开基于独享式的资源分配方式,保证了云数据库的资源的隔离性,从而确保不同租户的资源和服务不会互相干扰,也避免了针对数据的安全问题,提高了云数据库的
资源管理过程中的可靠性。
[0234] 需要说明的是,本公开中,租户可以基于自身实际情况,自定义资源调度需求,并通过API控制台等设备与云服务器进行通信,以实现对第二物理机集群的资源调度。
[0235] 此种情况下,本公开中,云服务器230,还用于对物理机集群220进行资源监控,接收资源调度请求,并根据资源调度请求,从多个物理机集群220中确定需要资源调度的第二
物理机集群,以对第二物理机集群进行资源调度,其中,第二物理机集群为多个物理机集群
中的任意一个物理机集群。
[0236] 其中,第二虚拟机,可以为任一租户对应的虚拟机;可以与第一虚拟机为同一虚拟机,也可以与第一虚拟机为不同虚拟机。
[0237] 其中,资源调度请求,至少包括以下之一:虚拟机容量更改请求、数据库实例部署请求、物理机集群资源配置更改请求、访问请求。
[0238] 需要说明的是,本公开中,为了能够使租户可以既可以保留原有的运维模式,又可以享受到云数据库提供的专家和管控服务、充分发挥DBA(Database Administrator,数据
库管理员)的价值,例如可以部署自研发的监控服务,以满足自有业务的特殊需求,本公开
中,可以向租户开放物理机和数据库访问权限。
[0239] 由此,为了防止租户随意操作,如图19所示,本公开中设置有堡垒机240,以基于堡垒机机制,实现操作审计、安全认证和权限管控。
[0240] 其中,堡垒机240,分别与虚拟机和物理机集群连接,用于接收云服务器230发送的访问请求,并对用户权限等级进行鉴权操作,其中,访问请求包括用户权限等级信息;响应
于用户权限等级通过鉴权,对第二物理机集群进行访问;接收云服务器发送的访问操作结
果。
[0241] 相应地,云服务器,还用于将访问请求发送至堡垒机;响应于通过堡垒机对第二物理机集群进行访问完成,将访问操作结果发送至堡垒机240。
[0242] 本公开通过将访问请求发送至堡垒机,以使堡垒机对用户权限等级进行鉴权操作,其中,访问请求包括用户权限等级信息,进而响应于用户权限等级通过鉴权,通过堡垒
机对第二物理机集群进行访问,使得针对最大化开放物理机和数据库权限,以为租户提供
可控、灵活的操作方式时,能够基于堡垒机机制,避免租户的恶意操作或误操作,进一步提
升了可控性和安全性。
[0243] 为了实现上述实施例,本公开还提供了一种电子设备,如图20所示,所述电子设备8000包括:处理器801;用于存储所述处理器801可执行指令的一个或多个存储器802;其中,
所述处理器801被配置为执行上述实施例所述的云数据库的资源管理方法。处理器801和存
储器802通过通信总线连接。
[0244] 为了实现上述实施例,本公开还提供了一种计算机可读存储介质,当计算机可读存储介质中的指令由电子设备8000的处理器801执行时,使得电子设备8000能够执行以完
成上述实施例所述的云数据库的资源管理方法。可选地,存储介质可以是非临时性计算机
可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器
(RAM)、CD‑ROM、磁带、软盘和光数据存储设备等。
[0245] 为了实现上述实施例,本公开还提供一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述实施例所述的云数据库的资源管理方
法。
[0246] 本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或
者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识
或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的
权利要求指出。
[0247] 应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。