CN109521943B - 云数据库实例的分配方法及相关产品 - Google Patents
云数据库实例的分配方法及相关产品 Download PDFInfo
- Publication number
- CN109521943B CN109521943B CN201710852580.0A CN201710852580A CN109521943B CN 109521943 B CN109521943 B CN 109521943B CN 201710852580 A CN201710852580 A CN 201710852580A CN 109521943 B CN109521943 B CN 109521943B
- Authority
- CN
- China
- Prior art keywords
- physical machine
- target
- instance
- alternative
- capacity expansion
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0626—Reducing size or complexity of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例公开了一种云数据库实例的分配方法及相关产品,可在实例分配之前评估数据库集群系统的整体情况,对可能需要进行垂直扩容的物理机进行预估,可避免将实例分配至那些可能会执行垂直扩容任务的物理机,这样既可以提升实例分配的合理性,同时又使得实例分配不影响扩容的实现,提升垂直扩容的成功率。
Description
技术领域
本发明涉及互联网技术领域,具体涉及数据库处理技术领域,尤其涉及一种云数据库实例的分配方法、一种云数据库实例的分配装置、一种计算机存储介质、一种管理服务器以及一种数据库集群系统。
背景技术
扩容是针对云数据库实例的一个常见行为,当云数据库实例的整体服务能力出现明显下降时可以根据实际需要进行扩容,以提高云数据库实例的整体服务能力。扩容包括水平扩容和垂直扩容;所谓水平扩容是指将云数据库实例水平拆分或迁移至其他物理机上,水平扩容的过程需要搬迁数据,扩容效率较低会在一定程度上影响云数据库实例的升级速度。所谓垂直扩容是指将云数据库实例直接在该云数据库实例所在的物理机上进行扩容,由于垂直扩容的过程不需要搬迁数据,扩容效率较高使得云数据库实例的升级速度较快,因此,针对云数据库实例进行扩容时优先选用垂直扩容方案。云数据库实例的分配是指选取剩余存储空间足够容纳新实例的物理机,并采用所选取的物理机存储新实例的过程。现有技术中,在针对云数据库进行新实例分配时,首选剩余存储空间恰好与新实例所申请的磁盘空间相匹配的物理机来分配新实例;如果数据库集群系统内存在多个相匹配的物理机,且这些相匹配的物理机具备相同的剩余存储空间,这时就从这些相匹配的物理机中随机选取一个物理机作为目标物理机,并采用所选取的目标物理机来进行新实例的分配。经使用发现上述现有技术存在一个问题,由于目标物理机是从多个相匹配的物理机中随机选取的,那么如果采用该目标物理机进行新实例分配后,恰好该目标物理机需要执行垂直扩容任务,那么由于已分配的新实例占据了目标物理机的剩余存储空间,这就使得目标物理机可能由于剩余存储空间不足而无法成功执行垂直扩容任务,从而降低了垂直扩容的成功率。
发明内容
本发明实施例提供一种云数据库实例的分配方法及相关产品,能够提升实例分配的合理性,使得实例分配的过程不影响垂直扩容任务的实现,提升垂直扩容的成功率。
一方面,本发明实施例提供一种云数据库实例的分配方法,应用于数据库集群系统中,所述数据库集群系统包括管理服务器及多个物理机,所述方法包括:
按照目标实例的申请资源从所述数据库集群系统中筛选出至少两个备选物理机;
计算每个备选物理机的扩容概率;
选取扩容概率最小的备选物理机确定为目标物理机;
将所述目标实例分配至所述目标物理机。
在上述技术方案中,若需要针对云数据库实例进行分配,首先从数据库集群系统中筛选出相匹配的两个及两个以上的备选物理机,再对各个备选物理机的需要进行垂直扩容的可能性进行预估,挑选最不可能执行垂直扩容的备选物理机确定为目标物理机,并将目标实例分配至该目标物理机;由于目标实例被分配至最不可能进行垂直扩容的备选物理机,那么此实例分配过程并不影响其他备选物理机执行垂直扩容任务,从而提升了实例分配的合理性,同时又使得实例分配不影响垂直扩容任务的实现,提升了垂直扩容的成功率。
一种可能的实施方式中,所述按照目标实例的申请资源从所述数据库集群系统中筛选出至少两个备选物理机,包括:
获取所述目标实例的申请资源,所述申请资源包括所申请的磁盘空间;
遍历所述数据库集群系统中每个物理机的空闲资源,所述空闲资源包括剩余存储空间;
选取空闲资源大于或等于申请资源的至少两个备选物理机。
在上述实施方式中,通过遍历方式可获得数据库集群系统中各个物理机的剩余存储空间,那么,将那些剩余存储空间大于目标实例所磁盘空间的物理机筛选出来作为相匹配的备选物理机;这样的筛选过程匹配全面且准确度高。
另一种可能的实施方式中,所述获取所述目标实例的申请资源,包括:
接收所述目标实例的分配请求,所述分配请求中携带申请资源;
解析所述分配请求获得所述目标实例的申请资源。
在上述实施方式中,分配请求可以是根据用户的实际需求生成的,其携带申请资源,且该申请资源包括用户所申请的存储空间;那么,通过解析分配请求能够知悉目标实例实际所要占用的存储空间,有利于从数据库集群系统中筛选相匹配的目标物理机来进行分配。
再一种可能的实施方式中,所述选取空闲资源大于或等于申请资源的至少两个备选物理机,包括:
判断在所述数据库集群系统中是否查询到空闲资源大于或等于申请资源的物理机;
若查询到,确定所查询到的物理机的数量;
若数量大于或等于两个,将所查询到的至少两个物理机确定为备选物理机。
在上述实施方式中,如果筛选得到两个及以上的备选物理机,那么就需要采用本发明实施例的算法对各个备选物理机执行垂直扩容任务的可能性进行预估;以保证实例分配的成功性,提升实例分配的合理性,同时降低实例分配对垂直扩容任务的影响。
再一种可能的实施方式中,所述方法还包括:
若所查询到的物理机的数量仅为一个,将所查询到的物理机确定为目标物理机。
在上述实施方式中,如果仅筛选得到一个备选物理机,可直接确定为目标物理机以进行目标实施例的分配,这样保证实例分配的成功进行。
再一种可能的实施方式中,所述计算每个备选物理机的扩容概率,包括:
采集每个备选物理机的详情参数,所述详情参数包括以下至少一项:读写比例、磁盘使用率、CPU在预设时间内的平均使用率、CPU在预设时间内的最高使用率、已存储实例的所属行业数据、已存储实例的历史增长数据;
将所述详情参数应用于机器学习算法中计算得到每个备选物理机的扩容概率,所述机器学习算法包括以下任一种:BP神经网络算法、支持向量机、贝叶斯分类器。
在上述实施方式中,详情参数体现了每个备选物理机已存储的现有实例的整体情况,通过合理选取机器学习算法对每个备选物理机的现有实例情况进行学习训练,能够训练得到每个备选物理机已存储的现有实例进行升级的可能性,当然就计算得到了每个备选物理机的扩容概率,该扩容概率反映了每个备选物理机执行垂直扩容的可能性,从而实现了针对每个备选物理机的垂直扩容可能性的预估。
再一种可能的实施方式中,所述选取扩容概率最小的备选物理机确定为目标物理机,包括:
按照扩容概率从小至大的顺序对所述至少两个备选物理机进行排序,并选取顺序最前的备选物理机确定为目标物理机;或者,
按照扩容概率从大至小的顺序对所述至少两个备选物理机进行排序,并选取顺序最末的备选物理机确定为目标物理机。
在上述实施方式中,由于目标物理机的扩容概率在所有备选物理机中最小,也就是说目标物理机是所有备选物理机中最不可能进行垂直扩容的物理机,因此,若将目标实例分配至该目标物理机,既完成了针对目标实例的分配,又使得其他备选物理机能够正常执行垂直扩容任务,从而最大限度的减小了实例分配对垂直扩容的影响,提升了垂直扩容的成功率,提升了实例分配的合理性。
再一种可能的实施方式中,所述将所述目标实例分配至所述目标物理机,包括:
在所述目标物理机的剩余存储空间中为所述目标实例分配所述申请资源包括的所申请的磁盘空间;
采用所分配的磁盘空间容纳所述目标实例。
在上述实施方式中,对目标实例的分配过程即是采用目标物理机来存储目标实例的过程。分配后目标实例即存储在目标物理机中。
另一方面,本发明实施例提供了一种云数据库实例的分配装置,应用于数据库集群系统中,所述数据库集群系统包括管理服务器及多个物理机,所述装置包括:
筛选单元,用于按照目标实例的申请资源从所述数据库集群系统中筛选出至少两个备选物理机;
计算单元,用于计算每个备选物理机的扩容概率;
选取单元,用于选取扩容概率最小的备选物理机确定为目标物理机;
分配单元,用于将所述目标实例分配至所述目标物理机。
在上述技术方案中,若需要针对云数据库实例进行分配,首先从数据库集群系统中筛选出相匹配的两个及两个以上的备选物理机,再对各个备选物理机的需要进行垂直扩容的可能性进行预估,挑选最不可能执行垂直扩容的备选物理机确定为目标物理机,并将目标实例分配至该目标物理机;由于目标实例被分配至最不可能进行垂直扩容的备选物理机,那么此实例分配过程并不影响其他备选物理机执行垂直扩容任务,从而提升了实例分配的合理性,同时又使得实例分配不影响垂直扩容任务的实现,提升了垂直扩容的成功率。
一种可能的实施方式中,所述筛选单元具体用于:
获取所述目标实例的申请资源,所述申请资源包括所申请的磁盘空间;
遍历所述数据库集群系统中每个物理机的空闲资源,所述空闲资源包括剩余存储空间;以及,
选取空闲资源大于或等于申请资源的至少两个备选物理机。
在上述实施方式中,通过遍历方式可获得数据库集群系统中各个物理机的剩余存储空间,那么,将那些剩余存储空间大于目标实例所磁盘空间的物理机筛选出来作为相匹配的备选物理机;这样的筛选过程匹配全面且准确度高。
另一种可能的实施方式中,所述筛选单元具体用于:
接收所述目标实例的分配请求,所述分配请求中携带申请资源;以及,
解析所述分配请求获得所述目标实例的申请资源。
在上述实施方式中,分配请求可以是根据用户的实际需求生成的,其携带申请资源,且该申请资源包括用户所申请的存储空间;那么,通过解析分配请求能够知悉目标实例实际所要占用的存储空间,有利于从数据库集群系统中筛选相匹配的目标物理机来进行分配。
再一种可能的实施方式中,所述筛选单元具体用于:
判断在所述数据库集群系统中是否查询到空闲资源大于或等于申请资源的物理机;
若查询到,确定所查询到的物理机的数量;以及,
若数量大于或等于两个,将所查询到的至少两个物理机确定为备选物理机。
在上述实施方式中,如果筛选得到两个及以上的备选物理机,那么就需要采用本发明实施例的算法对各个备选物理机执行垂直扩容任务的可能性进行预估;以保证实例分配的成功性,提升实例分配的合理性,同时降低实例分配对垂直扩容任务的影响。
再一种可能的实施方式中,所述筛选单元还用于:若所查询到的物理机的数量仅为一个,将所查询到的物理机确定为目标物理机。
在上述实施方式中,如果仅筛选得到一个备选物理机,则可直接确定为目标物理机以进行目标实施例的分配,这样保证实例分配的成功进行。
再一种可能的实施方式中,所述计算单元具体用于:
采集每个备选物理机的详情参数,所述详情参数包括以下至少一项:读写比例、磁盘使用率、CPU在预设时间内的平均使用率、CPU在预设时间内的最高使用率、已存储实例的所属行业数据、已存储实例的历史增长数据;以及,
将所述详情参数应用于机器学习算法中计算得到每个备选物理机的扩容概率,所述机器学习算法包括以下任一种:BP神经网络算法、支持向量机、贝叶斯分类器。
在上述实施方式中,详情参数体现了每个备选物理机已存储的现有实例的整体情况,通过合理选取机器学习算法对每个备选物理机的现有实例情况进行学习训练,能够训练得到每个备选物理机已存储的现有实例进行升级的可能性,当然就计算得到了每个备选物理机的扩容概率,该扩容概率反映了每个备选物理机执行垂直扩容的可能性,从而实现了针对每个备选物理机的垂直扩容可能性的预估。
再一种可能的实施方式中,所述选取单元具体用于:
按照扩容概率从小至大的顺序对所述至少两个备选物理机进行排序,并选取顺序最前的备选物理机确定为目标物理机;或者,
按照扩容概率从大至小的顺序对所述至少两个备选物理机进行排序,并选取顺序最末的备选物理机确定为目标物理机。
在上述实施方式中,由于目标物理机的扩容概率在所有备选物理机中最小,也就是说目标物理机是所有备选物理机中最不可能进行垂直扩容的物理机,因此,若将目标实例分配至该目标物理机,既完成了针对目标实例的分配,又使得其他备选物理机能够正常执行垂直扩容任务,从而最大限度的减小了实例分配对垂直扩容的影响,提升了垂直扩容的成功率,提升了实例分配的合理性。
再一种可能的实施方式中,所述分配单元具体用于:
在所述目标物理机的剩余存储空间中为所述目标实例分配所述申请资源包括的所申请的磁盘空间;以及,
采用所分配的磁盘空间容纳所述目标实例。
在上述实施方式中,对目标实例的分配过程即是采用目标物理机来存储目标实例的过程。分配后目标实例即存储在目标物理机中。
再一方面,本发明实施例提供了一种计算机存储介质,所述计算机存储介质存储有一条或一条以上指令,所述一条或一条以上指令适于由处理器加载并执行如下方法步骤:
按照目标实例的申请资源从所述数据库集群系统中筛选出至少两个备选物理机;
计算每个备选物理机的扩容概率;
选取扩容概率最小的备选物理机确定为目标物理机;
将所述目标实例分配至所述目标物理机。
在上述技术方案中,若需要针对云数据库实例进行分配,首先从数据库集群系统中筛选出相匹配的两个及两个以上的备选物理机,再对各个备选物理机的需要进行垂直扩容的可能性进行预估,挑选最不可能执行垂直扩容的备选物理机确定为目标物理机,并将目标实例分配至该目标物理机;由于目标实例被分配至最不可能进行垂直扩容的备选物理机,那么此实例分配过程并不影响其他备选物理机执行垂直扩容任务,从而提升了实例分配的合理性,同时又使得实例分配不影响垂直扩容任务的实现,提升了垂直扩容的成功率。
一种可能的实施方式中,所述一条或一条以上指令适于由处理器加载并执行所述按照目标实例的申请资源从所述数据库集群系统中筛选出至少两个备选物理机的步骤时,具体执行如下步骤:
获取所述目标实例的申请资源,所述申请资源包括所申请的磁盘空间;
遍历所述数据库集群系统中每个物理机的空闲资源,所述空闲资源包括剩余存储空间;
选取空闲资源大于或等于申请资源的至少两个备选物理机。
在上述实施方式中,通过遍历方式可获得数据库集群系统中各个物理机的剩余存储空间,那么,将那些剩余存储空间大于目标实例所磁盘空间的物理机筛选出来作为相匹配的备选物理机;这样的筛选过程匹配全面且准确度高。
另一种可能的实施方式中,所述一条或一条以上指令适于由处理器加载并执行所述获取所述目标实例的申请资源的步骤时,具体执行如下步骤:
接收所述目标实例的分配请求,所述分配请求中携带申请资源;
解析所述分配请求获得所述目标实例的申请资源。
在上述实施方式中,分配请求可以是根据用户的实际需求生成的,其携带申请资源,且该申请资源包括用户所申请的存储空间;那么,通过解析分配请求能够知悉目标实例实际所要占用的存储空间,有利于从数据库集群系统中筛选相匹配的目标物理机来进行分配。
再一种可能的实施方式中,所述一条或一条以上指令适于由处理器加载并执行所述选取空闲资源大于或等于申请资源的至少两个备选物理机的步骤时,具体执行如下步骤:
判断在所述数据库集群系统中是否查询到空闲资源大于或等于申请资源的物理机;
若查询到,确定所查询到的物理机的数量;
若数量大于或等于两个,将所查询到的至少两个物理机确定为备选物理机。
在上述实施方式中,如果筛选得到两个及以上的备选物理机,那么就需要采用本发明实施例的算法对各个备选物理机执行垂直扩容任务的可能性进行预估;以保证实例分配的成功性,提升实例分配的合理性,同时降低实例分配对垂直扩容任务的影响。
再一种可能的实施方式中,所述一条或一条以上指令适于由处理器加载并且还执行如下步骤:
若所查询到的物理机的数量仅为一个,将所查询到的物理机确定为目标物理机。
在上述实施方式中,如果仅筛选得到一个备选物理机,则可直接确定为目标物理机以进行目标实施例的分配,这样保证实例分配的成功进行。
再一种可能的实施方式中,所述一条或一条以上指令适于由处理器加载并执行所述计算每个备选物理机的扩容概率的步骤时,具体执行如下步骤:
采集每个备选物理机的详情参数,所述详情参数包括以下至少一项:读写比例、磁盘使用率、CPU在预设时间内的平均使用率、CPU在预设时间内的最高使用率、已存储实例的所属行业数据、已存储实例的历史增长数据;
将所述详情参数应用于机器学习算法中计算得到每个备选物理机的扩容概率,所述机器学习算法包括以下任一种:BP神经网络算法、支持向量机、贝叶斯分类器。
在上述实施方式中,详情参数体现了每个备选物理机已存储的现有实例的整体情况,通过合理选取机器学习算法对每个备选物理机的现有实例情况进行学习训练,能够训练得到每个备选物理机已存储的现有实例进行升级的可能性,当然就计算得到了每个备选物理机的扩容概率,该扩容概率反映了每个备选物理机执行垂直扩容的可能性,从而实现了针对每个备选物理机的垂直扩容可能性的预估。
再一种可能的实施方式中,所述一条或一条以上指令适于由处理器加载并执行所述选取扩容概率最小的备选物理机确定为目标物理机的步骤时,具体执行如下步骤:
按照扩容概率从小至大的顺序对所述至少两个备选物理机进行排序,并选取顺序最前的备选物理机确定为目标物理机;或者,
按照扩容概率从大至小的顺序对所述至少两个备选物理机进行排序,并选取顺序最末的备选物理机确定为目标物理机。
在上述实施方式中,由于目标物理机的扩容概率在所有备选物理机中最小,也就是说目标物理机是所有备选物理机中最不可能进行垂直扩容的物理机,因此,若将目标实例分配至该目标物理机,既完成了针对目标实例的分配,又使得其他备选物理机能够正常执行垂直扩容任务,从而最大限度的减小了实例分配对垂直扩容的影响,提升了垂直扩容的成功率,提升了实例分配的合理性。
再一种可能的实施方式中,所述一条或一条以上指令适于由处理器加载并执行所述将所述目标实例分配至所述目标物理机的步骤时,具体执行如下步骤:
在所述目标物理机的剩余存储空间中为所述目标实例分配所述申请资源包括的所申请的磁盘空间;
采用所分配的磁盘空间容纳所述目标实例。
在上述实施方式中,对目标实例的分配过程即是采用目标物理机来存储目标实例的过程。分配后目标实例即存储在目标物理机中。
再一方面,本发明实施例还提供了一种管理服务器,应用于数据库集群系统中,所述数据库集群系统还包括多个物理机,所述管理服务器包括:
处理器,适于实现一条或一条以上指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或一条以上指令,所述一条或一条以上指令适于由所述处理器加载并执行如下方法步骤:
按照目标实例的申请资源从所述数据库集群系统中筛选出至少两个备选物理机;
计算每个备选物理机的扩容概率;
选取扩容概率最小的备选物理机确定为目标物理机;
将所述目标实例分配至所述目标物理机。
在上述技术方案中,若需要针对云数据库实例进行分配,首先从数据库集群系统中筛选出相匹配的两个及两个以上的备选物理机,再对各个备选物理机的需要进行垂直扩容的可能性进行预估,挑选最不可能执行垂直扩容的备选物理机确定为目标物理机,并将目标实例分配至该目标物理机;由于目标实例被分配至最不可能进行垂直扩容的备选物理机,那么此实例分配过程并不影响其他备选物理机执行垂直扩容任务,从而提升了实例分配的合理性,同时又使得实例分配不影响垂直扩容任务的实现,提升了垂直扩容的成功率。
一种可能的实施方式中,所述一条或一条以上指令适于由处理器加载并执行所述按照目标实例的申请资源从所述数据库集群系统中筛选出至少两个备选物理机的步骤时,具体执行如下步骤:
获取所述目标实例的申请资源,所述申请资源包括所申请的磁盘空间;
遍历所述数据库集群系统中每个物理机的空闲资源,所述空闲资源包括剩余存储空间;
选取空闲资源大于或等于申请资源的至少两个备选物理机。
在上述实施方式中,通过遍历方式可获得数据库集群系统中各个物理机的剩余存储空间,那么,将那些剩余存储空间大于目标实例所磁盘空间的物理机筛选出来作为相匹配的备选物理机;这样的筛选过程匹配全面且准确度高。
另一种可能的实施方式中,所述一条或一条以上指令适于由处理器加载并执行所述获取所述目标实例的申请资源的步骤时,具体执行如下步骤:
接收所述目标实例的分配请求,所述分配请求中携带申请资源;
解析所述分配请求获得所述目标实例的申请资源。
在上述实施方式中,分配请求可以是根据用户的实际需求生成的,其携带申请资源,且该申请资源包括用户所申请的存储空间;那么,通过解析分配请求能够知悉目标实例实际所要占用的存储空间,有利于从数据库集群系统中筛选相匹配的目标物理机来进行分配。
再一种可能的实施方式中,所述一条或一条以上指令适于由处理器加载并执行所述选取空闲资源大于或等于申请资源的至少两个备选物理机的步骤时,具体执行如下步骤:
判断在所述数据库集群系统中是否查询到空闲资源大于或等于申请资源的物理机;
若查询到,确定所查询到的物理机的数量;
若数量大于或等于两个,将所查询到的至少两个物理机确定为备选物理机。
在上述实施方式中,如果筛选得到两个及以上的备选物理机,那么就需要采用本发明实施例的算法对各个备选物理机执行垂直扩容任务的可能性进行预估;以保证实例分配的成功性,提升实例分配的合理性,同时降低实例分配对垂直扩容任务的影响。
再一种可能的实施方式中,所述一条或一条以上指令适于由处理器加载并且还执行如下步骤:
若所查询到的物理机的数量仅为一个,将所查询到的物理机确定为目标物理机。
在上述实施方式中,如果仅筛选得到一个备选物理机,则可直接确定为目标物理机以进行目标实施例的分配,这样保证实例分配的成功进行。
再一种可能的实施方式中,所述一条或一条以上指令适于由处理器加载并执行所述计算每个备选物理机的扩容概率的步骤时,具体执行如下步骤:
采集每个备选物理机的详情参数,所述详情参数包括以下至少一项:读写比例、磁盘使用率、CPU在预设时间内的平均使用率、CPU在预设时间内的最高使用率、已存储实例的所属行业数据、已存储实例的历史增长数据;
将所述详情参数应用于机器学习算法中计算得到每个备选物理机的扩容概率,所述机器学习算法包括以下任一种:BP神经网络算法、支持向量机、贝叶斯分类器。
在上述实施方式中,详情参数体现了每个备选物理机已存储的现有实例的整体情况,通过合理选取机器学习算法对每个备选物理机的现有实例情况进行学习训练,能够训练得到每个备选物理机已存储的现有实例进行升级的可能性,当然就计算得到了每个备选物理机的扩容概率,该扩容概率反映了每个备选物理机执行垂直扩容的可能性,从而实现了针对每个备选物理机的垂直扩容可能性的预估。
再一种可能的实施方式中,所述一条或一条以上指令适于由处理器加载并执行所述选取扩容概率最小的备选物理机确定为目标物理机的步骤时,具体执行如下步骤:
按照扩容概率从小至大的顺序对所述至少两个备选物理机进行排序,并选取顺序最前的备选物理机确定为目标物理机;或者,
按照扩容概率从大至小的顺序对所述至少两个备选物理机进行排序,并选取顺序最末的备选物理机确定为目标物理机。
在上述实施方式中,由于目标物理机的扩容概率在所有备选物理机中最小,也就是说目标物理机是所有备选物理机中最不可能进行垂直扩容的物理机,因此,若将目标实例分配至该目标物理机,既完成了针对目标实例的分配,又使得其他备选物理机能够正常执行垂直扩容任务,从而最大限度的减小了实例分配对垂直扩容的影响,提升了垂直扩容的成功率,提升了实例分配的合理性。
再一种可能的实施方式中,所述一条或一条以上指令适于由处理器加载并执行所述将所述目标实例分配至所述目标物理机的步骤时,具体执行如下步骤:
在所述目标物理机的剩余存储空间中为所述目标实例分配所述申请资源包括的所申请的磁盘空间;
采用所分配的磁盘空间容纳所述目标实例。
在上述实施方式中,对目标实例的分配过程即是采用目标物理机来存储目标实例的过程。分配后目标实例即存储在目标物理机中。
再一方面,本发明实施例还提供了一种数据库集群系统,包括管理服务器及多个物理机,所述管理服务器包括:
处理器,适于实现一条或一条以上指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或一条以上指令,所述一条或一条以上指令适于由所述处理器加载并执行如下方法步骤:
按照目标实例的申请资源从所述数据库集群系统中筛选出至少两个备选物理机;
计算每个备选物理机的扩容概率;
选取扩容概率最小的备选物理机确定为目标物理机;
将所述目标实例分配至所述目标物理机。
在上述技术方案中,若需要针对云数据库实例进行分配,首先从数据库集群系统中筛选出相匹配的两个及两个以上的备选物理机,再对各个备选物理机的需要进行垂直扩容的可能性进行预估,挑选最不可能执行垂直扩容的备选物理机确定为目标物理机,并将目标实例分配至该目标物理机;由于目标实例被分配至最不可能进行垂直扩容的备选物理机,那么此实例分配过程并不影响其他备选物理机执行垂直扩容任务,从而提升了实例分配的合理性,同时又使得实例分配不影响垂直扩容任务的实现,提升了垂直扩容的成功率。
一种可能的实施方式中,所述一条或一条以上指令适于由处理器加载并执行所述按照目标实例的申请资源从所述数据库集群系统中筛选出至少两个备选物理机的步骤时,具体执行如下步骤:
获取所述目标实例的申请资源,所述申请资源包括所申请的磁盘空间;
遍历所述数据库集群系统中每个物理机的空闲资源,所述空闲资源包括剩余存储空间;
选取空闲资源大于或等于申请资源的至少两个备选物理机。
在上述实施方式中,通过遍历方式可获得数据库集群系统中各个物理机的剩余存储空间,那么,将那些剩余存储空间大于目标实例所磁盘空间的物理机筛选出来作为相匹配的备选物理机;这样的筛选过程匹配全面且准确度高。
另一种可能的实施方式中,所述一条或一条以上指令适于由处理器加载并执行所述获取所述目标实例的申请资源的步骤时,具体执行如下步骤:
接收所述目标实例的分配请求,所述分配请求中携带申请资源;
解析所述分配请求获得所述目标实例的申请资源。
在上述实施方式中,分配请求可以是根据用户的实际需求生成的,其携带申请资源,且该申请资源包括用户所申请的存储空间;那么,通过解析分配请求能够知悉目标实例实际所要占用的存储空间,有利于从数据库集群系统中筛选相匹配的目标物理机来进行分配。
再一种可能的实施方式中,所述一条或一条以上指令适于由处理器加载并执行所述选取空闲资源大于或等于申请资源的至少两个备选物理机的步骤时,具体执行如下步骤:
判断在所述数据库集群系统中是否查询到空闲资源大于或等于申请资源的物理机;
若查询到,确定所查询到的物理机的数量;
若数量大于或等于两个,将所查询到的至少两个物理机确定为备选物理机。
在上述实施方式中,如果筛选得到两个及以上的备选物理机,那么就需要采用本发明实施例的算法对各个备选物理机执行垂直扩容任务的可能性进行预估;以保证实例分配的成功性,提升实例分配的合理性,同时降低实例分配对垂直扩容任务的影响。
再一种可能的实施方式中,所述一条或一条以上指令适于由处理器加载并且还执行如下步骤:
若所查询到的物理机的数量仅为一个,将所查询到的物理机确定为目标物理机。
在上述实施方式中,如果仅筛选得到一个备选物理机,则可直接确定为目标物理机以进行目标实施例的分配,这样保证实例分配的成功进行。
再一种可能的实施方式中,所述一条或一条以上指令适于由处理器加载并执行所述计算每个备选物理机的扩容概率的步骤时,具体执行如下步骤:
采集每个备选物理机的详情参数,所述详情参数包括以下至少一项:读写比例、磁盘使用率、CPU在预设时间内的平均使用率、CPU在预设时间内的最高使用率、已存储实例的所属行业数据、已存储实例的历史增长数据;
将所述详情参数应用于机器学习算法中计算得到每个备选物理机的扩容概率,所述机器学习算法包括以下任一种:BP神经网络算法、支持向量机、贝叶斯分类器。
在上述实施方式中,详情参数体现了每个备选物理机已存储的现有实例的整体情况,通过合理选取机器学习算法对每个备选物理机的现有实例情况进行学习训练,能够训练得到每个备选物理机已存储的现有实例进行升级的可能性,当然就计算得到了每个备选物理机的扩容概率,该扩容概率反映了每个备选物理机执行垂直扩容的可能性,从而实现了针对每个备选物理机的垂直扩容可能性的预估。
再一种可能的实施方式中,所述一条或一条以上指令适于由处理器加载并执行所述选取扩容概率最小的备选物理机确定为目标物理机的步骤时,具体执行如下步骤:
按照扩容概率从小至大的顺序对所述至少两个备选物理机进行排序,并选取顺序最前的备选物理机确定为目标物理机;或者,
按照扩容概率从大至小的顺序对所述至少两个备选物理机进行排序,并选取顺序最末的备选物理机确定为目标物理机。
在上述实施方式中,由于目标物理机的扩容概率在所有备选物理机中最小,也就是说目标物理机是所有备选物理机中最不可能进行垂直扩容的物理机,因此,若将目标实例分配至该目标物理机,既完成了针对目标实例的分配,又使得其他备选物理机能够正常执行垂直扩容任务,从而最大限度的减小了实例分配对垂直扩容的影响,提升了垂直扩容的成功率,提升了实例分配的合理性。
再一种可能的实施方式中,所述一条或一条以上指令适于由处理器加载并执行所述将所述目标实例分配至所述目标物理机的步骤时,具体执行如下步骤:
在所述目标物理机的剩余存储空间中为所述目标实例分配所述申请资源包括的所申请的磁盘空间;
采用所分配的磁盘空间容纳所述目标实例。
在上述实施方式中,对目标实例的分配过程即是采用目标物理机来存储目标实例的过程。分配后目标实例即存储在目标物理机中。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据库集群系统的架构示意图;
图2为本发明实施例提供的一种云数据库实例的分配示意图;
图3为本发明实施例提供的一种云数据库实例的分配方法的流程图;
图4为本发明实施例提供的一种服务页面的示意图;
图5为本发明实施例提供的另一种云数据库实例的分配方法的流程图;
图6为本发明实施例提供的BP神经网络的一个示意图;
图7为本发明实施例提供的BP神经网络的另一个示意图;
图8为本发明实施例提供的一种云数据库实例的分配装置的结构示意图;
图9为本发明实施例提供的一种管理服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
数据库严格来说是指存储在计算机内、有组织的、可共享的数据集合。数据库中的数据指的是以一定的数据结构来组织、描述和存储在一起的数据,具有尽可能小的冗余度、较高的数据独立性和易扩展性的特点并可以一定范围内为多个用户共享。实例由各种高速缓冲池以及后台进程组成,负责给用户提供网络连接、读写数据文件等各种服务;数据库包括多个实例,每个实例有各自的ID(Identity,身份标识),并且占据一定的磁盘存储空间。将一个数据库优化至云环境中可形成云数据库,也就是说,云数据库是指被优化或部署到一个虚拟计算环境中的数据库,可以实现按需付费、按需扩展、高可用性以及存储整合等优势。云数据库的特性可包括但不限于:快速创建实例、支持只读实例、故障自动切换、数据备份、访问白名单、监控与消息通知等等。实际应用中,可以通过搭建一个数据库集群系统来对传统的数据库进行优化形成云数据库。
请一并参见图1所示的数据库集群系统的架构示意图;该数据库集群系统可包括一个管理服务器及至少两个物理机。其中,管理服务器用于对整个数据库集群系统进行调度和管理,其职能可包括但不限于:接收用户的实例分配请求,管理每个物理机的状态(如查询每个物理机的已用存储空间、剩余存储空间等等),按照需求进行制定并执行扩容策略,以及调度合适的物理机进行实例分配等等。物理机是指用于存储实例的计算机,其职能可包括但不限于:按照管理服务器的调度执行扩容任务或执行实例分配任务等等。需要说明的是,数据库集群系统利用该至少两个物理机构成一个虚拟的单一数据库逻辑映像,从而使云数据库能够像传统的单数据库一样向用户提供透明的数据服务。
扩容是针对云数据库实例的一个常见行为,若云数据库实例的整体服务能力出现明显下降,例如:当前存储空间不足,或者数据读写服务的速率明显下降;此时可以根据实际需要进行扩容,因此,扩容的目的就在于提高云数据库实例的整体服务能力。通常地,扩容包括垂直扩容和水平扩容;所谓垂直扩容是指针对云数据库中的任一个现有实例,将该实例在其所在物理机上进行扩容,其扩容大小的上限不超过该物理机的上限,例如:若要将云数据库中的某一实例的存储空间从1.0TB升级至1.5TB,那么垂直扩容即是在该实例所在物理机上再重新分配0.5TB来存储该实例,从而实现该实例的升级。由于垂直扩容是在实例所在物理机本身进行的,不需要搬迁数据,是扩容的优选方案。所谓水平扩容是指将云数据库中的现有实例水平拆分或迁移至其他物理机上,由于水平扩容需要搬迁数据,相对于垂直扩容而言其进行实例升级的速度较慢,效率较低。
相关的现有技术中提到,若数据库集群系统内的管理服务器接收到实例分配请求,首选剩余存储空间恰好与待分配的实例所申请的磁盘空间相匹配的物理机来分配该实例;而如果数据库集群系统内存在多个相匹配的物理机,且这些物理机具备相同剩余存储空间,这时就从这些相匹配的物理机中随机选取一个物理机作为目标物理机,并采用所选取的目标物理机来进行实例分配。上述的现有技术方案存在一个问题,由于目标物理机是从多个相匹配的物理机中随机选取的,那么如果采用该目标物理机进行新实例分配后,恰好该目标物理机需要执行垂直扩容任务,那么由于已分配的新实例占据了目标物理机的剩余存储空间,这就使得目标物理机可能由于剩余存储空间不足而无法成功执行垂直扩容任务,从而降低了垂直扩容的成功率。这种情况下可能只能通过水平扩容的方式将需要扩容的实例的数据搬迁至其他物理机,这样就会影响扩容效率,进而影响实例升级速度。基于此,为了解决实例分配任务与垂直扩容任务之间可能出现的冲突,本发明实施例提出一种实例分配方案,能够在实例分配之前,评估数据库集群系统的整体情况,对可能需要执行垂直扩容任务的物理机进行预估,避免将实例分配至那些可能会执行垂直扩容任务的物理机,这样既可以提升实例分配的合理性,同时又使得实例分配不影响垂直扩容的实现,提升垂直扩容的成功率。
请一并参见图2所示的本发明实施例所提供的云数据库实例的分配示意图;如图2所示,假设在接收到实例分配请求时,刚好在数据库集群系统查询到两个剩余存储空间恰好与待分配的实例所申请的磁盘空间相匹配的物理机,分别为图2所示的物理机2和物理机3;该物理机2和物理机3具备相同剩余存储空间。那么,若按照现有技术,在此情况下则无法判断到底应当将实例分配至哪个物理机更好,只好从物理机2和物理机3中随机选择一个来进行实例分配。但是,若按照本发明实施例的实例分配方案,可分别对估算物理机2和物理机3的扩容概率,以预估判断物理机2和物理机3执行垂直扩容任务的可能性。假设估算得到物理机2的扩容概率大于物理机3的扩容概率,如图2所示,物理机2的虚线框所示的存储空间很可能被扩容占据,则优先选择将实例分配至物理机3,以使得实例分配不影响物理机2的扩容,从而提升物理机2中现有实例的垂直扩容的成功率,提升物理机2中现有实例的升级速率。
基于上述描述,本发明实施例提供一种云数据库实例的分配方法,该方法可以应用于图1所示的数据库集群系统中,具体地该云数据库实例的分配方法的流程可以由图1所示的管理服务器来执行。请参见图3,该方法可包括以下步骤S101-S104。
S101,按照目标实例的申请资源从所述数据库集群系统中筛选出至少两个备选物理机。
如前述,云数据库是可以实现按需付费的,因此云数据库的运营商可以提供服务页面,在服务页面显示各种类型的实例及对应的付费价格,具体请一并参见图4所示服务页面的示意图;可以理解的是,图4仅为举例及示意,实际应用中服务页面还可以展示各种实例适用的范围及对象等详情信息。用户可使用终端进入至图4所示的服务页面,并按需在该服务页面中购买目标实例,购买成功后管理服务器则会接收到目标实例的分配请求,该分配请求中携带申请资源。此处,目标实例是指请求分配的实例;目标实例的申请资源包括为目标实例所申请的磁盘空间;例如:目标实例的申请资源包括1.5TB的描述,表明目标实例申请获得1.5TB的磁盘空间;再如:目标实例的申请资源包括1.0TB的描述,表明目标实例申请获得1.0TB的磁盘空间。步骤S101中,筛选过程主要为:从数据库集群系统中筛选出剩余存储空间大于或等于所申请的磁盘空间的物理机,把筛选得到的这些物理机作为备选物理机。需要说明的是,如果某物理机的剩余存储空间大于或等于所申请的磁盘空间,表明该物理机有足够的空间来存储目标实例,可以将目标实例分配至该物理机;而反之,如果某物理机的剩余存储空间小于所申请的磁盘空间,表明该物理机已没有足够的空间来存储目标实例,不能将目标实例分配至该物理机。可以理解的是,如果筛选得到的物理机有且只有一个,那么将该仅有的一个物理机直接确定为目标物理机并转入执行S104进行目标实例的分配。如果筛选得到的物理机大于或等于两个,那么就需要转入执行步骤S102进行扩容概率的估算。
S102,计算每个备选物理机的扩容概率。
扩容概率表明备选物理机即将进行垂直扩容的可能性,扩容概率越大,表明越有可能进行垂直扩容;而扩容概率越小,表明越不可能进行垂直扩容。这个计算的过程可基于每个备选物理机已存储的现有实例的整体情况进行学习训练得到,因此,可以采用一些机器学习算法来计算每个备选物理机的扩容概率,此处的机器学习算法可包括但不限于:BP(Back Propagation,误差逆传)神经网络算法、支持向量机、贝叶斯分类器等等。
S103,选取扩容概率最小的备选物理机确定为目标物理机。
可以按照扩容概率对所有备选物理机进行排序,选取扩容概率最小的备选物理机确定为目标物理机,由于目标物理机的扩容概率在所有备选物理机中最小,也就是说目标物理机是所有备选物理机中最不可能进行垂直扩容的物理机,因此,若将目标实例分配至该目标物理机,能够最大限度的减小实例分配对垂直扩容的影响,从而提升垂直扩容的成功率,提升实例分配的合理性。需要说明的是,步骤S103中,如果扩容概率最小的备选物理机的数量有且仅有一个,那么可直接将该仅有的一个最小扩容概率的备选物理机确定为目标物理机,并转入步骤S104进行目标实例的分配;而如果存在两个或两个以上的备选物理机的扩容概率相同,那么可以从这些扩容概率也相同的备选物理机中随机选择一个作为目标物理机,并转入步骤S104进行目标实例的分配。
S104,将所述目标实例分配至所述目标物理机。
实例分配的过程是采用合适的物理机来存储实例的过程,步骤S104中,可在目标物理机的剩余存储空间内分配目标实例所申请的磁盘空间,并将目标实例存储至目标物理机中为目标实例所分配的存储空间中。
本发明实施例的云数据库实例的分配方法中,若需要针对云数据库实例进行分配,首先从数据库集群系统中筛选出相匹配的两个及两个以上的备选物理机,再对各个备选物理机的需要进行垂直扩容的可能性进行预估,挑选最不可能执行垂直扩容的备选物理机确定为目标物理机,并将目标实例分配至该目标物理机;由于目标实例被分配至最不可能进行垂直扩容的备选物理机,那么此实例分配过程并不影响其他备选物理机执行垂直扩容任务,从而提升了实例分配的合理性,同时又使得实例分配不影响垂直扩容任务的实现,提升了垂直扩容的成功率。
本发明实施例提供另一种云数据库实例的分配方法,该方法可以应用于图1所示的数据库集群系统中,具体地该实例分配方法流程可以由图1所示的管理服务器来执行。请参见图5,该方法可包括以下步骤S201-S204。
S201,获取所述目标实例的申请资源,所述申请资源包括所申请的磁盘空间。
目标实例是指请求分配的实例;目标实例的申请资源包括为目标实例所申请的磁盘空间。具体实现中,步骤S201具体可包括以下步骤s11-s12:
s11,接收所述目标实例的分配请求,所述分配请求中携带申请资源。
s12,解析所述分配请求获得所述目标实例的申请资源。
步骤s11-s12中,如前述,云数据库是可以实现按需付费的,因此云数据库的运营商可以提供服务页面,在服务页面显示各种类型的实例及对应的付费价格,具体请一并参见图4。用户可使用终端进入至图4所示的服务页面,并按需在该服务页面中购买目标实例,购买成功后管理服务器则会接收到目标实例的分配请求,该分配请求中携带申请资源,解析该分配请求则可获得目标实例的申请资源。此处,目标实例是指请求分配的实例;目标实例的申请资源包括为目标实例所申请的磁盘空间;例如:目标实例的申请资源包括1.5TB的描述,表明目标实例申请获得1.5TB的磁盘空间;再如:目标实例的申请资源包括1.0TB的描述,表明目标实例申请获得1.0TB的磁盘空间。
S202,遍历所述数据库集群系统中每个物理机的空闲资源。
空闲资源包括剩余存储空间,即物理机的总存储空间减去已存储现有实例之后的剩余存储空间。管理服务器可维护已分配的所有实例情况,也就是说,管理服务器能够遍历数据库集群系统中每个物理机已存储的实例情况,同时也可以获得每个物理机剩余存储空间。具体实现中,可以通过编译并调用脚本来遍历每个物理机的剩余存储空间,遍历的方式可以根据实际需要进行设定,例如:可以在有实例分配需求时对每个物理机进行实时遍历得到剩余存储空间,也可以按照特定频率对每个物理机进行遍历得到剩余存储空间,此处的特定频率可以为如1分钟、5分钟等等。
S203,选取空闲资源大于或等于申请资源的至少两个备选物理机。
选取过程主要为:从数据库集群系统中选取出剩余存储空间大于或等于所申请的磁盘空间的物理机作为备选物理机。需要说明的是,如果某物理机的剩余存储空间大于或等于所申请的磁盘空间,表明该物理机有足够的空间来存储目标实例,可以将目标实例分配至该物理机;而反之,如果某物理机的剩余存储空间小于所申请的磁盘空间,表明该物理机已没有足够的空间来存储目标实例,不能将目标实例分配至该物理机。具体实现中,步骤S203可包括以下步骤s21-s25:
s21,判断在所述数据库集群系统中是否查询到空闲资源大于或等于申请资源的物理机。
s22,若查询到,确定所查询到的物理机的数量。
s23,若数量大于或等于两个,将所查询到的至少两个物理机确定为备选物理机。
s24,若所查询到的物理机的数量仅为一个,将所查询到的物理机确定为目标物理机。
步骤s21-s24中,如果查询到的满足判断条件的物理机有且只有一个,那么将该仅有的一个物理机直接确定为目标物理机并转入执行S207。如果查询到的满足判断条件的物理机大于或等于两个,那么就需要转入执行步骤S204。
S204,采集每个备选物理机的详情参数,所述详情参数包括以下至少一项:读写比例、磁盘使用率、CPU在预设时间内的平均使用率、CPU在预设时间内的最高使用率、已存储实例的所属行业数据、已存储实例的历史增长数据。
本步骤中,可以通过编译并调用脚本遍历每个备选物理机获得详情参数。其中:读写比例是反映物理机性能的一个指标,一般是指单位时间(如1s)内的读操作数量和写操作数量的比例;此处,读操作可以包括:随机读数据操作、顺序读数据操作、查找数据操作等等;写操作可以包括:随机写数据操作、顺序写数据操作、修改数据操作等等。磁盘使用率是指磁盘被占用的空间在磁盘总空间的占比,其取值在0-100%之间。CPU使用率是指运行过程中所占用的CPU资源在CPU总资源的占比。CPU在预设时间内的平均使用率是统计预设时间内的CPU使用率的平均值。CPU在预设时间内的最高使用率是指预设时间内所出现的最高的CPU使用率。此处,预设时间可以根据实际情况设定,例如:预设时间可以为一天、12小时等等。已存储实例的所属行业数据:用于描述物理机中已存储的实例被应用在哪些行业中,例如:某实例被应用于电子商务行业中,那么其所属行业数据为电子商务;再如:某实例被应用于学籍管理行业中,那么其所属行业数据为学籍管理。已存储实例的历史增长数据:用于描述物理机中已存储的实例的历史增长情况,例如:用于描述物理机在哪个时间段增加存储了哪种类型的实例等等。
S205,将所述详情参数应用于机器学习算法中计算得到每个备选物理机的扩容概率。
扩容概率表明备选物理机进行垂直扩容的可能性,扩容概率越大,表明越有可能进行垂直扩容;而扩容概率越小,表明越不可能进行垂直扩容。步骤S204所获得的详情参数体现了每个备选物理机已存储的现有实例的整体情况,那么步骤S205可以采用一些机器学习算法对每个备选物理机的现有实例情况进行学习训练,从而计算得到每个备选物理机的扩容概率,此处的机器学习算法可包括但不限于:BP(Back Propagation,误差逆传)神经网络算法、支持向量机、贝叶斯分类器等等。
下面以BP神经网络算法为例进行说明。一般地,BP神经网络至少包括三层,分别是:第一层为输入层,中间层为隐藏层,第三层为输出层。本发明实施例中,假设针对任一个备选物理机采集到的详情参数包括:读写比例、磁盘使用率、CPU在预设时间内的平均使用率及CPU在预设时间内的最高使用率。那么,本实施例所构建的BP神经网络如下:
输入层:共包括4个神经元,分别为:读写比例,磁盘使用率,CPU在预设时间内的平均使用率,CPU在预设时间内的最高使用率。
输出层:共包括1个神经元,即扩容概率。需要说明的是,输出层输出的扩容概率是一个0~1之间的数值,用于表示进行扩容的可能性。
隐藏层:包括的神经元个数可采用下述公式(1)进行确定:
上述公式(1)中,n为输入层包括的神经元个数,本实施例中n=4;m为输出层包括的神经元个数,本实施例中m=1;a为1~10之间的常数,在本实施例中假设a=3;那么,按照上述公式(1)可知隐藏层包括的神经元个数范围为3~12,本实施例中隐藏层包括的神经元个数为5。
为了提升计算准确度,需要在BP神经网络中引入激活函数。激活函数是神经网络中常用的函数,其目的在于加入非线性因素,使得神经网络的表达更合理准确。激活函数的类型有很多,可包括但不限于:Sigmoid函数(又称为S形函数或S曲线函数)、Tanh函数、ReLU函数、softmax函数。本发明实施例以S形函数为例进行说明,S形函数的表达式可表达如下式:
上述公式(2)中,y即为神经网络输出层的输出值。
综上,针对任一备选物理机,采用BP神经网络算法计算其扩容概率的过程如下:
首先,如前述输入层共包括4个神经元,设读写比例表示为X1、磁盘使用率表示为X2、CPU在预设时间内的平均使用率表示为X3、CPU在预设时间内的最高使用率表示为X4;也就是说,输入层的任一个神经元可记为Xi,下标i表示输入层的神经元的排序。隐藏层的权重记为上标(1)代表第一个有输出的层即隐藏层,下标i表示输入层的神经元的排序,下标j表示隐藏层的神经元的排序。输出层的权重记为上标(2)代表第二个有输出的层即输出层,下标j表示隐藏层的神经元的排序,下标k表示输出层的神经元的排序;具体示意图可参见图6。
其次,采用BP神经网络算法计算得到隐藏层的表达式如下:
对公式(4)进行转换可得到输出层输出的扩容概率表示如下:
设E为误差并表示如下:
其中,Ok为期望的输出值。记Yk-Ok=ek,那么上述公式(6)可变换为如下:
希望得到一个更小的E值,可以对上述的公式(7)求偏导,得到如下公式(8):
对公式(8)进行数学推导可得到修正后的权值序列公式为:
举例来说,采集数据库集群系统内各物理机一天内的详情参数具体如下表一所示:
表一:详情参数表(一)
采用数据集表示上述表一如下:
P=[[2.3333,0.9,0.2,0.75],
[9,0.6,0.8,1],
[2.3333,0.8,0.7,0.1],
[0.4285,0.6,0.1,0.7],
[19,0.6.0.2,0.7],
[9,0.5,0.2,0.8],
[4,0.4,0.5,0.8],
[2.3333,0.1,0.1,0.2]]
把上述数据集作为输入数据代入公式(9)进行训练,在满足最小误差的情况下,会得到一组权值序列组合如下:
最后,再根据上述公式(5)计算得到输出层输出的较为准确的扩容概率。
S206,选取扩容概率最小的备选物理机确定为目标物理机。
本步骤可包括以下两种可行的实施方式,在一种实施方式中,可以按照扩容概率从小至大的顺序对所述至少两个备选物理机进行排序,并选取顺序最前的备选物理机确定为目标物理机。在另一种实施方式中,可按照扩容概率从大至小的顺序对所述至少两个备选物理机进行排序,并选取顺序最末的备选物理机确定为目标物理机。由于目标物理机的扩容概率在所有备选物理机中最小,也就是说目标物理机是所有备选物理机中最不可能进行垂直扩容的物理机,因此,若将目标实例分配至该目标物理机,能够最大限度的减小实例分配对垂直扩容的影响,从而提升垂直扩容的成功率,提升实例分配的合理性。需要说明的是,如果扩容概率最小的备选物理机的数量有且仅有一个,那么可直接将该仅有的一个最小扩容概率的备选物理机确定为目标物理机,并转入执行步骤S207;而如果存在两个或两个以上的备选物理机的扩容概率相同,那么可以从这些扩容概率也相同的备选物理机中随机选择一个作为目标物理机,并转入执行步骤S207。
S207,在所述目标物理机的剩余存储空间中为所述目标实例分配所述申请资源包括的所申请的磁盘空间。
S208,采用所分配的磁盘空间容纳所述目标实例。
步骤S207-S208阐述了对目标实例的分配过程,该过程是采用目标物理机来存储目标实例的过程。
下面以一个具体实例来详细说明本发明实施例的云数据库实例的分配方法的流程。假设数据库集群系统中总共有5台物理机,且每台物理机配置的磁盘的总存储空间均为6TB。管理服务器通过遍历每台物理机得到的详情参数如下表一所示:
表二:详情参数表(二)
假设接收到目标实例的分配请求,该分配请求携带的申请资源要求申请1.5TB的磁盘空间。那么,通过上述表二可知2号物理机和3号物理机的剩余存储空间的大小均满足所申请的磁盘空间的大小,因此将2号物理机和3号物理机确定为备选物理机。将上述表二中2号物理机的详情参数代入公式(9),可以得到如下加权公式(12):
同理:将上述表二中3号物理机的详情参数代入公式(9),可以得到如下加权公式(13):
设3号物理机的数据集表示为λ,那么结合上述的公式(13)及公式(5)可得到隐藏层的输出数值表示为输出层输出的扩容概率表示为最终比较Y22与Y32的大小,若Y22的值更大,表示2号物理机进行垂直扩容的可能性较大,于是选取3号物理机来分配这1.5TB的目标实例。若Y32的值更大,表示3号物理机进行垂直扩容的可能性较大,于是选取2号物理机来分配这1.5TB的目标实例。
本发明实施例的云数据库实例的分配方法,若需要针对云数据库实例进行分配,首先从数据库集群系统中筛选出相匹配的两个及两个以上的备选物理机,再对各个备选物理机的需要进行垂直扩容的可能性进行预估,挑选最不可能执行垂直扩容的备选物理机确定为目标物理机,并将目标实例分配至该目标物理机;由于目标实例被分配至最不可能进行垂直扩容的备选物理机,那么此实例分配过程并不影响其他备选物理机执行垂直扩容任务,从而提升了实例分配的合理性,同时又使得实例分配不影响垂直扩容任务的实现,提升了垂直扩容的成功率。
基于上述数据库集群系统及云数据库实例的分配方法实施例的描述,本发明实施例还公开了一种云数据库实例的分配装置,该云数据库实例的分配装置可以是一个计算机程序(包括程序代码),且该计算机程序可以运行于图1所示的管理服务器中,其可以执行图3或图5任一实施例所示的云数据库实例的分配方法。请参见图8,该云数据库实例的分配装置运行如下单元:
筛选单元101,用于按照目标实例的申请资源从所述数据库集群系统中筛选出至少两个备选物理机;
计算单元102,用于计算每个备选物理机的扩容概率;
选取单元103,用于选取扩容概率最小的备选物理机确定为目标物理机;
分配单元104,用于将所述目标实例分配至所述目标物理机。
在上述技术方案中,若需要针对云数据库实例进行分配,首先从数据库集群系统中筛选出相匹配的两个及两个以上的备选物理机,再对各个备选物理机的需要进行垂直扩容的可能性进行预估,挑选最不可能执行垂直扩容的备选物理机确定为目标物理机,并将目标实例分配至该目标物理机;由于目标实例被分配至最不可能进行垂直扩容的备选物理机,那么此实例分配过程并不影响其他备选物理机执行垂直扩容任务,从而提升了实例分配的合理性,同时又使得实例分配不影响垂直扩容任务的实现,提升了垂直扩容的成功率。
一种可能的实施方式中,所述筛选单元101具体用于:
获取所述目标实例的申请资源,所述申请资源包括所申请的磁盘空间;
遍历所述数据库集群系统中每个物理机的空闲资源,所述空闲资源包括剩余存储空间;以及,
选取空闲资源大于或等于申请资源的至少两个备选物理机。
在上述实施方式中,通过遍历方式可获得数据库集群系统中各个物理机的剩余存储空间,那么,将那些剩余存储空间大于目标实例所磁盘空间的物理机筛选出来作为相匹配的备选物理机;这样的筛选过程匹配全面且准确度高。
另一种可能的实施方式中,所述筛选单元101具体用于:
接收所述目标实例的分配请求,所述分配请求中携带申请资源;以及,
解析所述分配请求获得所述目标实例的申请资源。
在上述实施方式中,分配请求可以是根据用户的实际需求生成的,其携带申请资源,且该申请资源包括用户所申请的存储空间;那么,通过解析分配请求能够知悉目标实例实际所要占用的存储空间,有利于从数据库集群系统中筛选相匹配的目标物理机来进行分配。
再一种可能的实施方式中,所述筛选单元101具体用于:
判断在所述数据库集群系统中是否查询到空闲资源大于或等于申请资源的物理机;
若查询到,确定所查询到的物理机的数量;以及,
若数量大于或等于两个,将所查询到的至少两个物理机确定为备选物理机。
在上述实施方式中,如果筛选得到两个及以上的备选物理机,那么就需要采用本发明实施例的算法对各个备选物理机执行垂直扩容任务的可能性进行预估;以保证实例分配的成功性,提升实例分配的合理性,同时降低实例分配对垂直扩容任务的影响。
再一种可能的实施方式中,所述筛选单元还用于:若所查询到的物理机的数量仅为一个,将所查询到的物理机确定为目标物理机。
在上述实施方式中,如果仅筛选得到一个备选物理机,则可直接确定为目标物理机以进行目标实施例的分配,这样保证实例分配的成功进行。
再一种可能的实施方式中,所述计算单元102具体用于:
采集每个备选物理机的详情参数,所述详情参数包括以下至少一项:读写比例、磁盘使用率、CPU在预设时间内的平均使用率、CPU在预设时间内的最高使用率、已存储实例的所属行业数据、已存储实例的历史增长数据;以及,
将所述详情参数应用于机器学习算法中计算得到每个备选物理机的扩容概率,所述机器学习算法包括以下任一种:BP神经网络算法、支持向量机、贝叶斯分类器。
在上述实施方式中,详情参数体现了每个备选物理机已存储的现有实例的整体情况,通过合理选取机器学习算法对每个备选物理机的现有实例情况进行学习训练,能够训练得到每个备选物理机已存储的现有实例进行升级的可能性,当然就计算得到了每个备选物理机的扩容概率,该扩容概率反映了每个备选物理机执行垂直扩容的可能性,从而实现了针对每个备选物理机的垂直扩容可能性的预估。
再一种可能的实施方式中,所述选取单元103具体用于:
按照扩容概率从小至大的顺序对所述至少两个备选物理机进行排序,并选取顺序最前的备选物理机确定为目标物理机;或者,
按照扩容概率从大至小的顺序对所述至少两个备选物理机进行排序,并选取顺序最末的备选物理机确定为目标物理机。
在上述实施方式中,由于目标物理机的扩容概率在所有备选物理机中最小,也就是说目标物理机是所有备选物理机中最不可能进行垂直扩容的物理机,因此,若将目标实例分配至该目标物理机,既完成了针对目标实例的分配,又使得其他备选物理机能够正常执行垂直扩容任务,从而最大限度的减小了实例分配对垂直扩容的影响,提升了垂直扩容的成功率,提升了实例分配的合理性。
再一种可能的实施方式中,所述分配单元104具体用于:
在所述目标物理机的剩余存储空间中为所述目标实例分配所述申请资源包括的所申请的磁盘空间;以及,
采用所分配的磁盘空间容纳所述目标实例。
在上述实施方式中,对目标实例的分配过程即是采用目标物理机来存储目标实例的过程。分配后目标实例即存储在目标物理机中。
根据本发明的一个实施例,图3所示的云数据库实例的分配方法涉及的步骤S101-S104可以是由图8所示的云数据库实例的分配装置中的各个单元来执行的。例如,图3中所示的步骤S101-S104可以分别由图8中所示的筛选单元101、计算单元102、选取单元103和分配单元104来执行。
根据本发明的另一个实施例,图5所示的云数据库实例分配的方法涉及的步骤S201-S208可以是由图8所示的云数据库实例的分配装置中的各个单元来执行的。例如,图6中所示的步骤S201-S203、S204-S205、S206、S207-S2081可以分别由图8中所示的筛选单元101、计算单元102、选取单元103和分配单元104来执行。
根据本发明的另一个实施例,图8所示的云数据库实例的分配装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本发明的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本发明的其它实施例中,云数据库实例的分配装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本发明的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图3或图5中所示的云数据库实例的分配方法涉及的各步骤的计算机程序(包括程序代码),来构造如图8中所示的云数据库实例的分配装置设备,以及来实现本发明实施例的云数据库实例的分配方法。所述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
本发明实施例的云数据库实例的分配装置,能够在实例分配之前评估数据库集群系统的整体情况,对可能需要进行垂直扩容的物理机进行预估,避免将实例分配至那些可能会执行垂直扩容任务的物理机,这样既可以提升实例分配的合理性,同时又使得实例分配不影响垂直扩容任务的实现,提升垂直扩容的成功率。
基于上述实施例所示的数据库集群系统、云数据库实例的分配方法及云数据库实例的分配装置,本发明实施例还提供了一种管理服务器,该管理服务器可以是图1所示系统中的管理服务器,该管理服务器可以用来执行图3或图5所示的方法。请参见图9,该管理服务器的内部结构至少包括处理器、通信接口及计算机存储介质。其中,管理服务器内的处理器、通信接口及计算机存储介质可通过总线或其他方式连接,在本发明实施例所示图9中以通过总线连接为例。
通信接口是实现管理服务器与用户之间进行交互和信息交换的媒介。处理器(或称CPU(Central Processing Unit,中央处理器))是管理服务器的计算核心以及控制核心,其适于实现一条或一条以上指令,具体适于加载并执行一条或一条以上指令从而实现相应方法流程或相应功能。计算机存储介质(Memory)是管理服务器中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质既可以包括管理服务器的内置存储介质,当然也可以包括管理服务器所支持的扩展存储介质。计算机存储介质提供存储空间,该存储空间存储了管理服务器的操作系统。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或一条以上的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机存储介质。
在本发明实施例中,处理器加载并执行计算机存储介质中存放的一条或一条以上指令,以实现上述图3或图5所示方法流程的相应步骤;具体实现中,计算机存储介质中的一条或一条以上指令由处理器加载并执行如下步骤:
按照目标实例的申请资源从所述数据库集群系统中筛选出至少两个备选物理机;
计算每个备选物理机的扩容概率;
选取扩容概率最小的备选物理机确定为目标物理机;
将所述目标实例分配至所述目标物理机。
在上述技术方案中,若需要针对云数据库实例进行分配,首先从数据库集群系统中筛选出相匹配的两个及两个以上的备选物理机,再对各个备选物理机的需要进行垂直扩容的可能性进行预估,挑选最不可能执行垂直扩容的备选物理机确定为目标物理机,并将目标实例分配至该目标物理机;由于目标实例被分配至最不可能进行垂直扩容的备选物理机,那么此实例分配过程并不影响其他备选物理机执行垂直扩容任务,从而提升了实例分配的合理性,同时又使得实例分配不影响垂直扩容任务的实现,提升了垂直扩容的成功率。
一种可能的实施方式中,所述一条或一条以上指令适于由处理器加载并执行所述按照目标实例的申请资源从所述数据库集群系统中筛选出至少两个备选物理机的步骤时,具体执行如下步骤:
获取所述目标实例的申请资源,所述申请资源包括所申请的磁盘空间;
遍历所述数据库集群系统中每个物理机的空闲资源,所述空闲资源包括剩余存储空间;
选取空闲资源大于或等于申请资源的至少两个备选物理机。
在上述实施方式中,通过遍历方式可获得数据库集群系统中各个物理机的剩余存储空间,那么,将那些剩余存储空间大于目标实例所磁盘空间的物理机筛选出来作为相匹配的备选物理机;这样的筛选过程匹配全面且准确度高。
另一种可能的实施方式中,所述一条或一条以上指令适于由处理器加载并执行所述获取所述目标实例的申请资源的步骤时,具体执行如下步骤:
接收所述目标实例的分配请求,所述分配请求中携带申请资源;
解析所述分配请求获得所述目标实例的申请资源。
在上述实施方式中,分配请求可以是根据用户的实际需求生成的,其携带申请资源,且该申请资源包括用户所申请的存储空间;那么,通过解析分配请求能够知悉目标实例实际所要占用的存储空间,有利于从数据库集群系统中筛选相匹配的目标物理机来进行分配。
再一种可能的实施方式中,所述一条或一条以上指令适于由处理器加载并执行所述选取空闲资源大于或等于申请资源的至少两个备选物理机的步骤时,具体执行如下步骤:
判断在所述数据库集群系统中是否查询到空闲资源大于或等于申请资源的物理机;
若查询到,确定所查询到的物理机的数量;
若数量大于或等于两个,将所查询到的至少两个物理机确定为备选物理机。
在上述实施方式中,如果筛选得到两个及以上的备选物理机,那么就需要采用本发明实施例的算法对各个备选物理机执行垂直扩容任务的可能性进行预估;以保证实例分配的成功性,提升实例分配的合理性,同时降低实例分配对垂直扩容任务的影响。
再一种可能的实施方式中,所述一条或一条以上指令适于由处理器加载并且还执行如下步骤:
若所查询到的物理机的数量仅为一个,将所查询到的物理机确定为目标物理机。
在上述实施方式中,如果仅筛选得到一个备选物理机,则可直接确定为目标物理机以进行目标实施例的分配,这样保证实例分配的成功进行。
再一种可能的实施方式中,所述一条或一条以上指令适于由处理器加载并执行所述计算每个备选物理机的扩容概率的步骤时,具体执行如下步骤:
采集每个备选物理机的详情参数,所述详情参数包括以下至少一项:读写比例、磁盘使用率、CPU在预设时间内的平均使用率、CPU在预设时间内的最高使用率、已存储实例的所属行业数据、已存储实例的历史增长数据;
将所述详情参数应用于机器学习算法中计算得到每个备选物理机的扩容概率,所述机器学习算法包括以下任一种:BP神经网络算法、支持向量机、贝叶斯分类器。
在上述实施方式中,详情参数体现了每个备选物理机已存储的现有实例的整体情况,通过合理选取机器学习算法对每个备选物理机的现有实例情况进行学习训练,能够训练得到每个备选物理机已存储的现有实例进行升级的可能性,当然就计算得到了每个备选物理机的扩容概率,该扩容概率反映了每个备选物理机执行垂直扩容的可能性,从而实现了针对每个备选物理机的垂直扩容可能性的预估。
再一种可能的实施方式中,所述一条或一条以上指令适于由处理器加载并执行所述选取扩容概率最小的备选物理机确定为目标物理机的步骤时,具体执行如下步骤:
按照扩容概率从小至大的顺序对所述至少两个备选物理机进行排序,并选取顺序最前的备选物理机确定为目标物理机;或者,
按照扩容概率从大至小的顺序对所述至少两个备选物理机进行排序,并选取顺序最末的备选物理机确定为目标物理机。
在上述实施方式中,由于目标物理机的扩容概率在所有备选物理机中最小,也就是说目标物理机是所有备选物理机中最不可能进行垂直扩容的物理机,因此,若将目标实例分配至该目标物理机,既完成了针对目标实例的分配,又使得其他备选物理机能够正常执行垂直扩容任务,从而最大限度的减小了实例分配对垂直扩容的影响,提升了垂直扩容的成功率,提升了实例分配的合理性。
再一种可能的实施方式中,所述一条或一条以上指令适于由处理器加载并执行所述将所述目标实例分配至所述目标物理机的步骤时,具体执行如下步骤:
在所述目标物理机的剩余存储空间中为所述目标实例分配所述申请资源包括的所申请的磁盘空间;
采用所分配的磁盘空间容纳所述目标实例。
在上述实施方式中,对目标实例的分配过程即是采用目标物理机来存储目标实例的过程。分配后目标实例即存储在目标物理机中。
本发明实施例的管理服务器,能够在实例分配之前评估数据库集群系统的整体情况,对可能需要进行垂直扩容的物理机进行预估,避免将实例分配至那些可能会执行垂直扩容任务的物理机,这样既可以提升实例分配的合理性,同时又使得实例分配不影响垂直扩容任务的实现,提升垂直扩容的成功率。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到【所描述条件或事件】”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到【所描述条件或事件】”或“响应于检测到【所描述条件或事件】”。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限度本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (14)
1.一种云数据库实例的分配方法,应用于数据库集群系统中,所述数据库集群系统包括管理服务器及多个物理机,其特征在于,所述方法包括:
按照目标实例的申请资源从所述数据库集群系统中筛选出至少两个备选物理机;
计算每个备选物理机的扩容概率;
选取扩容概率最小的备选物理机确定为目标物理机;
将所述目标实例分配至所述目标物理机。
2.如权利要求1所述的云数据库实例的分配方法,其特征在于,所述按照目标实例的申请资源从所述数据库集群系统中筛选出至少两个备选物理机,包括:
获取所述目标实例的申请资源,所述申请资源包括所申请的磁盘空间;
遍历所述数据库集群系统中每个物理机的空闲资源,所述空闲资源包括剩余存储空间;
选取空闲资源大于或等于申请资源的至少两个备选物理机。
3.如权利要求2所述的云数据库实例的分配方法,其特征在于,所述获取所述目标实例的申请资源,包括:
接收所述目标实例的分配请求,所述分配请求中携带申请资源;
解析所述分配请求获得所述目标实例的申请资源。
4.如权利要求2所述的云数据库实例的分配方法,其特征在于,所述选取空闲资源大于或等于申请资源的至少两个备选物理机,包括:
判断在所述数据库集群系统中是否查询到空闲资源大于或等于申请资源的物理机;
若查询到,确定所查询到的物理机的数量;
若数量大于或等于两个,将所查询到的至少两个物理机确定为备选物理机。
5.如权利要求4所述的云数据库实例的分配方法,其特征在于,还包括:
若所查询到的物理机的数量仅为一个,将所查询到的物理机确定为目标物理机。
6.如权利要求1-5任一项所述的云数据库实例的分配方法,其特征在于,所述计算每个备选物理机的扩容概率,包括:
采集每个备选物理机的详情参数,所述详情参数包括以下至少一项:读写比例、磁盘使用率、CPU在预设时间内的平均使用率、CPU在预设时间内的最高使用率、已存储实例的所属行业数据、已存储实例的历史增长数据;
将所述详情参数应用于机器学习算法中计算得到每个备选物理机的扩容概率,所述机器学习算法包括以下任一种:BP神经网络算法、支持向量机、贝叶斯分类器。
7.如权利要求6所述的云数据库实例的分配方法,其特征在于,所述选取扩容概率最小的备选物理机确定为目标物理机,包括:
按照扩容概率从小至大的顺序对所述至少两个备选物理机进行排序,并选取顺序最前的备选物理机确定为目标物理机;或者,
按照扩容概率从大至小的顺序对所述至少两个备选物理机进行排序,并选取顺序最末的备选物理机确定为目标物理机。
8.如权利要求6所述的云数据库实例的分配方法,其特征在于,所述将所述目标实例分配至所述目标物理机,包括:
在所述目标物理机的剩余存储空间中为所述目标实例分配所述申请资源包括的所申请的磁盘空间;
采用所分配的磁盘空间容纳所述目标实例。
9.一种云数据库实例的分配装置,应用于数据库集群系统,所述数据库集群系统包括管理服务器及多个物理机,其特征在于,包括:
筛选单元,用于按照目标实例的申请资源从所述数据库集群系统中筛选出至少两个备选物理机;
计算单元,用于计算每个备选物理机的扩容概率;
选取单元,用于选取扩容概率最小的备选物理机确定为目标物理机;
分配单元,用于将所述目标实例分配至所述目标物理机。
10.如权利要求9所述的云数据库实例的分配装置,其特征在于,所述计算单元具体用于:
采集每个备选物理机的详情参数,所述详情参数包括以下至少一项:读写比例、磁盘使用率、CPU在预设时间内的平均使用率、CPU在预设时间内的最高使用率、已存储实例的所属行业数据、已存储实例的历史增长数据;以及,
将所述详情参数应用于机器学习算法中计算得到每个备选物理机的扩容概率,所述机器学习算法包括以下任一种:BP神经网络算法、支持向量机、贝叶斯分类器。
11.如权利要求10所述的云数据库实例的分配装置,其特征在于,所述选取单元具体用于:
按照扩容概率从小至大的顺序对所述至少两个备选物理机进行排序,并选取顺序最前的备选物理机确定为目标物理机;或者,
按照扩容概率从大至小的顺序对所述至少两个备选物理机进行排序,并选取顺序最末的备选物理机确定为目标物理机。
12.一种计算机存储介质,其特征在于,所述计算机存储介质存储有一条或一条以上指令,所述一条或一条以上指令适于由处理器加载并执行如权利要求1-8任一项所述的云数据库实例的分配方法。
13.一种管理服务器,应用于数据库集群系统中,所述数据库集群系统还包括多个物理机,其特征在于,所述管理服务器包括:
处理器,适于实现一条或一条以上指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或一条以上指令,所述一条或一条以上指令适于由所述处理器加载并执行如权利要求1-8任一项所述的云数据库实例的分配方法。
14.一种数据库集群系统,包括管理服务器及多个物理机,其特征在于,所述管理服务器包括:
处理器,适于实现一条或一条以上指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或一条以上指令,所述一条或一条以上指令适于由所述处理器加载并执行如权利要求1-8任一项所述的云数据库实例的分配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710852580.0A CN109521943B (zh) | 2017-09-19 | 2017-09-19 | 云数据库实例的分配方法及相关产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710852580.0A CN109521943B (zh) | 2017-09-19 | 2017-09-19 | 云数据库实例的分配方法及相关产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109521943A CN109521943A (zh) | 2019-03-26 |
CN109521943B true CN109521943B (zh) | 2022-09-20 |
Family
ID=65769298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710852580.0A Active CN109521943B (zh) | 2017-09-19 | 2017-09-19 | 云数据库实例的分配方法及相关产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109521943B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111400273B (zh) * | 2019-11-19 | 2024-02-02 | 杭州海康威视系统技术有限公司 | 数据库扩容方法、装置、电子设备及机器可读存储介质 |
CN113485645A (zh) * | 2021-07-07 | 2021-10-08 | 北京汇钧科技有限公司 | 云硬盘资源池的管理方法及装置、存储介质及电子设备 |
CN113487201B (zh) * | 2021-07-14 | 2022-11-11 | 海南马良师傅网络科技有限公司 | 仪器搬迁任务分配系统 |
CN114996351A (zh) * | 2022-05-18 | 2022-09-02 | 聚好看科技股份有限公司 | 数据库弹性方法、数据库弹性装置及数据库弹性服务系统 |
CN116700997B (zh) * | 2023-08-04 | 2024-05-07 | 腾讯科技(深圳)有限公司 | 边缘云设备的扩容方法、装置、设备及可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101226457A (zh) * | 2008-01-25 | 2008-07-23 | 中兴通讯股份有限公司 | 一种磁盘阵列的在线扩容系统及方法 |
CN103810244A (zh) * | 2013-12-09 | 2014-05-21 | 北京理工大学 | 一种基于数据分布的分布式数据存储系统的扩容方法 |
CN104539708A (zh) * | 2014-12-29 | 2015-04-22 | 杭州华为数字技术有限公司 | 一种云平台资源的缩容方法、装置与系统 |
CN106126338A (zh) * | 2016-06-21 | 2016-11-16 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟机集群伸缩配置的方法及装置 |
CN106897345A (zh) * | 2016-07-22 | 2017-06-27 | 阿里巴巴集团控股有限公司 | 一种数据存储的方法及装置 |
CN107133331A (zh) * | 2017-05-11 | 2017-09-05 | 郑州云海信息技术有限公司 | 基于shell脚本实现的数据库自动扩容方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8966218B2 (en) * | 2010-07-01 | 2015-02-24 | International Business Machines Corporation | On-access predictive data allocation and reallocation system and method |
-
2017
- 2017-09-19 CN CN201710852580.0A patent/CN109521943B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101226457A (zh) * | 2008-01-25 | 2008-07-23 | 中兴通讯股份有限公司 | 一种磁盘阵列的在线扩容系统及方法 |
CN103810244A (zh) * | 2013-12-09 | 2014-05-21 | 北京理工大学 | 一种基于数据分布的分布式数据存储系统的扩容方法 |
CN104539708A (zh) * | 2014-12-29 | 2015-04-22 | 杭州华为数字技术有限公司 | 一种云平台资源的缩容方法、装置与系统 |
CN106126338A (zh) * | 2016-06-21 | 2016-11-16 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟机集群伸缩配置的方法及装置 |
CN106897345A (zh) * | 2016-07-22 | 2017-06-27 | 阿里巴巴集团控股有限公司 | 一种数据存储的方法及装置 |
CN107133331A (zh) * | 2017-05-11 | 2017-09-05 | 郑州云海信息技术有限公司 | 基于shell脚本实现的数据库自动扩容方法及装置 |
Non-Patent Citations (1)
Title |
---|
基于BP神经网络的信息系统故障自动恢复技术;闫龙川等;《中国电力》;20170805(第08期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109521943A (zh) | 2019-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109521943B (zh) | 云数据库实例的分配方法及相关产品 | |
US11656911B2 (en) | Systems, methods, and apparatuses for implementing a scheduler with preemptive termination of existing workloads to free resources for high priority items | |
JP5932043B2 (ja) | 不揮発性記憶装置セットの揮発メモリ表現 | |
US20180321971A1 (en) | Systems, methods, and apparatuses for implementing a scalable scheduler with heterogeneous resource allocation of large competing workloads types using qos | |
US20220083389A1 (en) | Ai inference hardware resource scheduling | |
US20130290957A1 (en) | Efficient execution of jobs in a shared pool of resources | |
US20140325151A1 (en) | Method and system for dynamically managing big data in hierarchical cloud storage classes to improve data storing and processing cost efficiency | |
CN104272244A (zh) | 用于对处理进行调度以实现空间节省的系统、方法和计算机程序产品 | |
US20210157644A1 (en) | Selecting an optimal combination of cloud resources within budget constraints | |
Caviglione et al. | Deep reinforcement learning for multi-objective placement of virtual machines in cloud datacenters | |
CN103703450A (zh) | Ssd存储访问的方法和装置 | |
JP2021524100A (ja) | グラフデータに基づくタスクスケジューリング方法、装置、プログラム及び機器 | |
CN109684074A (zh) | 物理机资源分配方法及终端设备 | |
CN111143039B (zh) | 一种虚拟机的调度方法、装置及计算机存储介质 | |
JP2021504780A (ja) | 分散コンピューティング環境における自動対角スケーリングためのアプリケーションの優先順位付け | |
CN112948279A (zh) | 管理存储系统中的访问请求的方法、设备和程序产品 | |
CN113723443A (zh) | 一种视觉大模型分布式训练方法及系统 | |
Jiang et al. | Effective data management strategy and RDD weight cache replacement strategy in Spark | |
CN116737370A (zh) | 一种多资源调度方法、系统、存储介质及终端 | |
CN115129466B (zh) | 云计算资源分层调度方法、系统、设备及介质 | |
US11720269B1 (en) | Predictive block storage size provisioning for cloud storage volumes | |
US20220292001A1 (en) | Predictive optimal queue length management for backup sessions using distributed proxies | |
CN113918098A (zh) | 一种数据处理方法、装置、设备及介质 | |
Ghazali et al. | CLQLMRS: improving cache locality in MapReduce job scheduling using Q-learning | |
US11379145B2 (en) | Systems and methods for selecting devices for backup and restore operations for virtual machines |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |