掌桥专利:专业的专利平台
掌桥专利
首页

一种资源分配方法以及装置

文献发布时间:2024-04-18 19:53:33


一种资源分配方法以及装置

本申请要求于2022年6月22日提交中国专利局、申请号为202210713905.8、发明名称为“一种数据处理方法和计算机”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。

技术领域

本申请实施例涉及云计算领域,尤其涉及一种资源分配方法以及装置。

背景技术

云计算服务对大量计算资源进行统一管理和调度,构成资源池并通过网络向用户侧按需提供服务。在云计算服务场景中,用户侧可以按需购买云服务商提供的实例。然而用户侧在购买实例时,用户侧往往会对实例放置提出放置上的约束和倾向。例如,用户侧要求购买的实例放置在不同的主机上,从而避免其中一台主机故障导致购买的实例无法使用。

目前云服务提供通过创建放置组来控制实例和主机之间的关系。用户侧在创建放置组的过程中可以自主设置分区数量,其中每个分区对应多台主机。用户在创建放置组之后,用户侧进一步可以在不同的分区中创建实例。

由于用户侧在进行放置组创建时无法确定应用需要创建多少个分区,有些用户为了保证自己应用的可用性,在放置组创建时会选择设置较多的分区数量,使得应用的可用性超出实际需要,造成了云服务器资源的浪费,导致资源池的整体利用率低。

发明内容

本申请实施例提供了一种资源分配方法以及装置,用于提升云服务器资源池的整体利用率。

本申请实施例第一方面提供了一种资源分配方法,该方法可以由云服务器执行,也可以由云服务器的部件,例如云服务器的处理器、芯片或芯片系统等执行,还可以由能实现全部或部分云服务器功能的逻辑模块或软件实现。以云服务器执行为例,本申请实施例提供的资源分配方法包括:云服务器侧接收放置组创建请求,放置组创建请求用于向云服务器提供放置组创建的需求信息,放置组创建请求包括:目标应用类型和目标服务等级协议SLA。云服务器侧基于放置组创建请求生成放置组创建指导信息,放置组创建指导信息包括放置组的分区数量和放置组的实例规格。云服务器侧根据放置组创建指导信息创建放置组。

本申请实施例中云服务器侧能够基于放置组创建请求生成放置组创建指导信息,放置组指导信息能够向用户侧推荐分区数量和实例规格,用户侧根据云服务器推荐的分区数量和实例规格创建放置组。由于云服务器能够根据用户侧的需求信息推荐放置组分区数量和实例规格,相较于用户侧自行设置分区数和选择实例规格的方式,提升了云服务器资源的整体利用率。

一种可能的实施方式中,目标应用类型为放置组所承载的目标应用的应用类型,目标SLA为所述放置组的目标SLA。目标应用类型例如远程字典服务和负载均衡服务,目标SLA例如服务可用性概率指标。

本申请实施实例中的云服务器能够对多种目标应用类型的放置组创建请求,并提供放置创建指导信息,从而丰富了提供放置组创建指导的应用场景。

一种可能的实施方式中,放置组创建请求包括:放置组的分区需求数量、实例需求规格和实例需求数量,云服务器接收放置组创建请求之后,根据放置组创建请求进行放置组状态测算,得到放置组测算结果,放置组测算结果包括SLA指标和放置组的实例容量状态。云服务器提供放置组测算结果。

本申请实施例中用户侧可以提供多种放置组创建的需求信息,云服务器侧可以根据放置组创建的需求信息进行放置组状态测算,当放置组状态测算的结果不满足用户侧的需求时,用户侧可以重新调整放置组创建的需求信息,由云服务器重新进行放置组状态测算直到放置状组态测算结果满足用户需求。因此,云服务器侧根据放置组创建请求进行放置组状态测算,用户侧根据测算结果修改放置组创建请求,从而降低了用户侧创建放置组的成本。

一种可能的实施方式中,云服务器侧根据放置组创建请求进行放置组状态测算的过程中,云服务器侧根据放置组的分区需求数量、实例需求数量和故障率计算SLA指标,其中SLA指标包括服务可用性的概率,故障率包括实例所分布一个或多个故障域中的每个故障域的故障率,故障域为放置组所对应的主机的物理故障率。

本申请实施例中云服务器侧能够根据放置组的分区需求数量、实例需求数量和故障率计算SLA指标,从而提升放置组状态测算的可实现性。

一种可能的实施方式中,云服务器根据放置组创建请求进行放置组状态测算包括的过程中,云服务器根据实例需求数量和放置组中的可创建实例数量,确定放置组实例容量状态,实例容量状态用于指示实例创建失败概率,实例的容量状态包括告警状态、普通状态和健康状态。

本申请实施例中云服务器根据实例需求数量和放置组中的可创建实例数量的差值确定放置组实例容量状态,从而提升了放置组状态测算的可实现性。

一种可能的实施方式中,云服务器根据资源容量和单个实例所需的资源容量确定放置组中的可创建实例数量,云服务器根据分区数量对应的修正系数对可创建实例数量进行修正,得到修正后的可创建实例数量。

本申请实施例中云服务器能够根据资源容量和单个实例所需的资源容量确定放置组中的可创建实例数量,并基于修正系数对可创建实例数量,提升了可创建实例数量以及放置组实例容量状态的准确性。

一种可能的实施方式中,云服务器根据实例需求数量和修正后的放置组中的可创建实例数量的差值确定放置组实例容量状态。具体的,云服务器计算实例需求数量和修正后的放置组中的可创建实例数量的差值,根据该差值确定实例创建失败的概率,根绝实例创建失败的概率确定放置组实例容量状态。

本申请实施例中云服务器能够根据资源容量和实例需求数量和修正后的放置组中的可创建实例数量的差值确定放置组实例容量状态,提升了放置组状态测算的可实现性。

一种可能的实施方式中,云服务器基于放置组创建请求生成放置组创建指导信息的过程中,云服务器基于历史创建信息确定放置组创建指导信息,历史创建信息包括满足目标SLA的历史分区数量和历史实例规格。具体的,云服务器侧基于目标应用类型确定历史实例规格,以及历史实例规格对应的历史分区数量,之后云服务器侧再根据历史分区数量和历史实例规格计算SLA和放置组的实例容量状态。当计算得到的SLA满足目标SLA时,云服务器将该历史分区数量和历史实例规格确定为放置组创建指导信息。

本申请实施例中云服务器基于满足目标SLA的历史分区数量和历史实例确定放置组创建指导信息,从而提升了生成放置组创建指导信息的效率。

一种可能的实施方式中,云服务器基于放置组创建请求生成放置组创建指导信息的过程中,云服务器根据第一分区数量和第一实例数量计算当前SLA和当前实例容量状态,第一分区数量包括一个或多个预置分区数量,第一实例数量包括一个或多个预置实例数量。当当前SLA满足目标SLA且实例容量状态满足阈值时,根据第一分区数量确定放置组的分区数量。

本申请实施例中云服务器侧基于所有可能的分区数量和实例规格计算当前SLA和实例指标,从而云服务器能够从所有满足需求的分区数量和实例规格中选择最优的配置,从而提升了放置组创建指导信息的准确性,进一步提升了云服务器资源的整体利用率。

一种可能实施方式中,云服务器接收实例创建请求,实例创建请求包括请求创建的实例数量。云服务器基于实例创建请求生成实例创建指导信息,实例创建指导信息包括放置组中每个分区的实例容量状态。云服务器基于实例创建指导信息在放置组中创建实例。

本申请实施例中云服务器侧能够根据实例创建请求生成实例创建指导信息,用户侧可以根据实例创建指导信息修改每个分区要创建的实例数量,从而降低用户侧在放置组中实例创建失败的概率。

一种可能的实施方式中,云服务器基于放置组创建请求生成实例创建指导信息,放置组创建请求包括请求创建的实例数量,实例创建指导信息包括放置组中每个分区的实例容量状态,基于实例创建指导信息在放置组中创建实例。

本申请实施例中当放置组创建请求中包括首次创建的实例数量时,云服务器能够基于放置组创建请求生成实例创建指导信息,从而降低用户侧在放置组中实例创建失败的概率。

一种可能的实施方式中,云服务器根据资源池状态计算放置组内每个分区的实例容量状态,资源池状态包括放置组内每个分区所对应的主机容量。云服务器根据放置组中每个分区的实例容量状态调整实例在放置组所对应的主机中的分布。

本申请实施例中云服务器侧能够根据放置组中每个分区的实例容量状态调整实例在放置组所对应的主机中的分布,减少了主机的碎片空间,腾挪出更多的主机容量可以创建实例,从而提升了放置组中的实例可创建数量。

一种可能的实施方式中,云服务器根据资源池状态计算放置组内每个分区的实例容量状态,资源池状态包括放置组内每个分区所对应的主机容量。云服务器提供放置组内每个分区的实例容量状态。具体的,云服务器通过显示界面显示放置组内每个分区的实例容量状态。

本申请实施例中云服务器能够根据资源池状态计算放置组内每个分区的实例容量状态,并通过显示界面显示放置组内每个分区的实例容量状态,从而指示用户进行实例创建,提升用户实例创建成功的概率。

一种可能实施方式中,云服务器在调整实例在放置组所对应的主机中的分布的过程中,云服务器侧可以接收用户侧手动调整实例分布,云服务器侧也基于预置策略一键调整实例分布。预置策略包括主机资源碎片最小策略。

本申请实施例中云服务器能够基于多种方式调整实例在放置组所对应的主机中的分布,从而提升了放置组中的实例可创建数量。

本申请实施例第二方面提供了一种资源分配装置,该资源分配装置包括收发单元和处理单元。其中,收发单元用于接收放置组创建请求,放置组创建请求用于向云服务器提供放置组创建的需求信息,放置组创建请求包括:目标应用类型和目标服务等级协议SLA;处理单元用于基于放置组创建请求生成放置组创建指导信息,放置组创建指导信息包括放置组的分区数量和放置组的实例规格;处理单元还用于根据放置组创建指导信息创建放置组。

一种可能的实施方式中,目标应用类型为放置组所承载的目标应用的应用类型,目标SLA为放置组的目标SLA;

一种可能的实施方式中,放置组创建请求包括:放置组的分区需求数量、实例需求规格和实例需求数量,处理单元还用于根据放置组创建请求进行放置组状态测算,得到放置组测算结果,放置组测算结果包括SLA指标和放置组的实例容量状态;提供放置组测算结果。

一种可能的实施方式中,处理单元具体用于根据放置组的分区需求数量、实例需求数量和故障率计算SLA指标,故障率包括实例所分布一个或多个故障域中的每个故障域的故障率,故障域为放置组所对应的主机的物理故障域。

一种可能的实施方式中,处理单元具体用于根据实例需求数量和放置组中的可创建实例数量,确定放置组的实例容量状态,实例容量状态用于指示实例创建失败的概率。

一种可能的实施方式中,处理单元具体用于基于历史创建信息确定放置组创建指导信息,历史创建信息包括满足目标SLA的历史分区数量和历史实例规格。

一种可能的实施方式中,处理单元具体用于根据第一分区数量和第一实例数量计算放置组的当前SLA和当前实例容量状态,第一分区数量包括一个或多个预置分区数量,第一实例数量包括一个或多个预置ECS数量;当当前SLA满足目标SLA、当前实例容量状态满足阈值时,根据第一分区数量确定放置组的分区数量。

一种可能的实施方式中,收发单元还用于接收实例创建请求,实例创建请求包括请求创建的实例数量;处理单元还用于基于实例创建请求生成实例创建指导信息,实例创建指导信息包括放置组中每个分区的实例容量状态;处理单元还用于基于实例创建指导信息在放置组中创建实例。

一种可能的实施方式中,处理单元还用于包括基于放置组创建请求生成实例创建指导信息,放置组创建请求包括请求创建的实例数量,实例创建指导信息包括放置组中每个分区的实例容量状态;基于实例创建指导信息在放置组中创建实例。

一种可能的实施方式中,处理单元还用于根据资源池状态计算放置组内每个分区的实例容量状态,资源池状态包括放置组内每个分区所对应的主机容量;根据放置组中每个分区的实例容量状态,调整实例在放置组所对应的主机中的分布。

一种可能的实施方式中,处理单元还用于根据资源池状态计算放置组内每个分区的实例容量状态,资源池状态包括放置组内每个分区所对应的主机容量;提供放置组内每个分区的实例容量状态。

本申请实施例第三方面提供了一种云服务器,包括处理器,处理器与存储器耦合,处理器用于存储指令,当指令被处理器执行时,以使得云服务器执行第一方面或第一方面任意一种可能的实施方式所述的方法。

本申请实施例第四方面提供了一种资源分配系统,包括用户设备和云服务器,其中,所述云服务器用于执行上述第一方面或第一方面任意一种可能的实施方式所述的方法。

本申请实施例第五方面提供了一种计算机可读存储介质,其上存储有指令,指令被执行时,以使得计算机执行上述第一方面或第一方面任意一种可能的实施方式所述的方法。

本申请实施例第六方面提供了一种计算机程序产品,计算机程序产品中包括指令,其特征在于,指令被执行时,以使得计算机实现上述第一方面或第一方面任意一种可能的实施方式所述的方法。

可以理解,上述提供的任意一种云服务器、资源分配系统、计算机可读介质或计算机程序产品等所能达到的有益效果可参考对应的方法中的有益效果,此处不再赘述。

附图说明

图1为本申请实施例提供的一种资源分配系统的系统架构示意图;

图2为本申请实施例提供的一种资源分配方法的流程示意图;

图3为本申请实施例提供的另一种资源分配方法的流程示意图;

图4为本申请实施例提供的一种放置组创建界面示意图;

图5为本申请实施例提供的一种实例创建界面示意图;

图6为本申请实施例提供的一种实例容量状态健康助手的界面示意图;

图7为本申请实施例提供的一种资源分配装置的结构示意图;

图8为本申请实施例提供的一种云服务器结构示意图。

具体实施方式

本申请实施例提供了一种直播转码方法以及装置,用于提升直播转码服务的灵活性。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。

首先,介绍对本申请中的部分用于进行解释说明,方便本领域技术人员理解。

资源是指云服务中的虚拟计算资源,例如线程、进程或数据流,也可以指硬件资源,例如处理器、网络连接或扩展卡。

资源池是指云计算数据中心所涉及到的各种硬件和软件的集合,按其类型可分为计算资源、存储资源和网络资源。

弹性计算云服务器(elastic compute service,ECS)是一种处理能力可弹性伸缩的计算服务,也是一种云服务器提供商主要售卖的云服务。

调度是指云服务中分配实例所需资源的过程。

资源碎片是指当物理资源完成分配后,存在剩余资源但是无法继续分配实例的小部分资源。

放置组是指一组实例的集合,放置组内的实例之间可以指定特定关系。

故障域是指根据可能发生的故障对不同的物理资源进行一定程度的隔离,处于同一故障域的物理资源会因为同一故障导致调用失败。

服务等级协议(service level agreement,SLA)为了保障服务的性能和可靠性,服务提供商与用户间或者服务提供商之间定义的一种协定。

下面结合附图介绍本申请实施例提供的一种资源分配方法以及装置。

请参阅图1,图1为本申请实施例提供的一种资源分配方法所应用的系统架构示意图。如图1所示,资源分配系统100包括用户侧101和云服务器侧102,其中,服务器侧102包括放置组状态测算模块1021、放置组推荐模块1022、实例创建测算模块1023、容量健康度检测模块1024和资源池1025。下面具体介绍资源分配系统100中各个部分的功能。

用户侧101用于向云服务器侧102请求创建放置组和实例。用户侧101能够基于创建的实例实现用户侧的各种目标应用,目标应用例如网站数据库建设、图形渲染和大容量数据分析等。

云服务器侧102用于根据用户侧101发送的放置组创建请求提供放置组创建指导信息,以及根据用户侧101发送的实例创建请求提供实例创建指导信息,使得用户侧101根据基于放置组创建指导信息创建放置组,以及根据实例创建指导信息创建实例。下面具体介绍云服务器侧102各个模块的功能。

放置组状态测算模块1021用于测算放置组所能够满足的服务等级协议SLA。放置组状态测算模块1021能够根据用户侧101发送的放置组创建请求中携带的信息进行放置组状态测算,得到放置组状态的测算结果。放置组状态的测算结果包括放置组创建后预估能够满足的SLA指标。放置组状态测算模块1021向用户侧101发送测算结果,以使得用户侧101参考测算结果修改放置组创建请求。本申请实施例中SLA指标包括服务可用性的概率。

放置组推荐模块1022用于生成放置组创建指导信息。放置组推荐模块1022根据放置组创建请求中携带的信息,生成放置组创建指导信息。放置组创建指导信息包括放置组的分区数量和实例规格,该分区数量和实例规格即云服务侧102向用户侧101推荐的分区数和推荐的实例规格。

实例创建测算模块1023用于生成实例创建指导信息。实例创建测算模块1023根据实例创建请求中携带的信息,生成实例创建指导信息。实例创建指导信息包括放置组中每个分区的实例容量状态。实例创建测算模块1023还能够基于用户侧101发送的实例创建请求向用户侧101反馈预测的创建结果。

容量健康度检测模块1024用于监测放置组中每个分区的实例数量。容量健康度检测模块1024还用于整理实例在放置组所对应的主机中的分布,从而减少放置组中对应主机中的资源碎片。

资源池1025用于为用户侧101提供实例,从而实现用户侧101的各种目标应用。资源池1025中包括提供实例的物理主机,资源池1025能够实时监控并记录资源池状态,资源池状态包括物理主机的已使用容量以及剩余容量。资源池1025还能够向放置组状态测算模块1021、放置组推荐模块1022、实例创建测算模块1023和容量健康度检测模块1024同步资源池内资源的使用及剩余情况。

以上介绍了本申请实施例提供的资源分配系统,下面介绍本申请实施例提供的资源分配方法。

请参阅图2,图2为本申请实施例提供一种资源分配方法的流程示意图。该资源分配方法包括以下步骤:

201.云服务器侧接收放置组创建请求,放置组创建请求包括目标应用类型和目标服务等级协议SLA。

云服务器侧接收放置组创建请求,该放置组创建请求用于向云服务器侧提供放置组创建的需求信息。放置组创建请求包括目标应用类型和目标服务等级协议SLA,目标应用类型例如远程字典服务(remote dictionary server,Redis)和负载均衡服务(Nginx)。

一种可能的实施方式中,用户通过云服务器提供的显示界面输入放置组创建的需求信息,生成放置组创建请求。云服务器侧通过该显示界面接收放置组创建请求。

本申请实施例中放置组创建请求也可以直接包含目标应用类型所对应实例规格,即用户侧无需提供目标应用类型,直接在放置组创建请求中指定创建放置组的实例规格。本申请实施例中的实例包括弹性云服务器(elastic compute service,ECS)、虚拟机和容器。

一种可能的实施方式中,放置组创建请求还包括以下一项或多项信息:放置组的分区需求数量、实例需求规格和实例需求数量。云服务器侧接收到用户侧的放置组创建请求之后,根据放置组创建请求进行放置组状态测算,得到放置组测算结果。放置组测算结果包括SLA指标和放置组的实例容量状态。

云服务器侧提供放置组测算结果,用户侧在获取到放置组测算结果之后,用户侧可以根据放置组测算结果修改放置组创建请求。例如,用户侧可以修改放置组创建请求中的放置组的分区需求数量、实例需求规格和实例需求数量。下面具体介绍云服务器侧基于放置组创建请求进行放置状态测算的过程。

首先,介绍云服务器基于放置组创建请求计算SLA指标,其中SLA指标包括服务可用可用性的概率。当放置组创建请求中包含分区需求数量和实例需求数量时,云服务器基于放置组创建请求计算对应SLA指标。具体的,根据放置组的分区需求数量、实例需求数量、抗故障率和故障率计算SLA指标,该故障率包括实例所分布一个或多个故障域中的每个故障域的故障率,该故障域为放置组对应主机的物理故障域,抗故障率包括不影响目标应用的服务所允许的实例故障比例。

例如,放置组创建请求中分区需求数量为10,实例需求数量为100,其中,因此每个分区对应一个顶式(top of rack,TOR)机架,每个机架对应5台主机。即用户侧预计创建的100个实例分布在放置组对应的50台主机中,其中,假设机架的故障率为p,主机的故障率为q,抗故障率为1/5,即不影响目标应用服务的允许实例故障比例为1/5。放置组的服务可用性概率P满足如下公式:

其次,介绍云服务器基于放置组创建请求计算放置组实例容量状态。实例容量状态用于指示实例创建失败的概率。当放置组创建请求中包含实例需求规格和实例需求数量时,云服务器基于放置组创建请求确定放置组的实例容量状态。

具体的,云服务器侧计算实例需求数量和放置组中的可创建实例数量之间的差值,根据该差值确定对应的实例创建失败的概率,并根据实例创建失败概率X确定放置组实例容量状态,实例的容量状态包括告警状态、普通状态和健康状态。例如,当X<10%时,实例容量状态为健康,10%≤X≤90%实例容量状态为普通,X>90%时,ESC容量状态为告警。

上述可创建实例数量S满足如下公式:

其中,a

一种可能的实施方式中,云服务器侧计算实例需求数量和放置组中的可创建实例数量之间的差值之前,在确定可创建实例数量时,还需考虑分区数量对应的修正系数α,其中每个分区数量都对应一个修正系数。云服务器侧根据修正系数对可创建实例数量进行修正,再根据修正后的可创建实例数量计算差值。

请参阅图3,图3为本申请实施例提供的另一种资源方法的流程示意图。在图3所示的示例中,在放置组创建的过程中,云服务器侧的放置组状态测算模块根据用户侧输入的目标应用类型、需求分区数量、实例需求规格和实例需求数量确定预估的SLA和放置组的实例容量状态。用户侧可以根据预估的SLA和实例容量状态重信息修改放置组创建请求中的需求信息,需求包括目标应用类型、需求分区数量、实例需求规格和实例需求数量。

请参阅图4,图4为本申请实施例提供的一种用户侧创建放置组的创建界面示意图。在图4所示的示例中,当用户侧输入或者在创建界面选择放置组创建需求信息之后,云服务器侧根据用户侧输入放置组创建需求信息进行放置组状态测算,得到放置组创建需求信息对应的预计SLA和实例容量状态。用户侧可以根据云服务器侧的测算结果调整放置组创建需求信息。

在图4所示的示例中,用户输入的放置组创建需求信息为“目标应用类型:Nginx;分区数:5;实例规格:c7.4xlarge.2;目标SLA:95%;本次创建实例数量:100;后续每次新增实例数量:20。”云服务器侧测算得到放置组状态信息为“预计SLA:99.5%;实例容量状态:普通。”由于云服务器侧测算得到的SLA为99.5%,超出用户侧输入的目标SLA。因此,用户侧可以调整放置组创建需求信息,例如调低实例的规格,从而降低放置组创建的成本。

202.云服务器侧基于放置组创建请求生成放置组创建指导信息,放置组创建指导信息包括放置组的分区数量和实例规格。

云服务器侧基于放置组创建请求生成放置组创建指导信息,放置组创建指导信息包括所述放置组的分区数量和放置组的实例规格。具体的,云服务器侧基于多种方式生成放置组创建指导信息,下面具体介绍:

1、基于历史创建信息确定放置组创建指导信息。

云服务器侧基于历史创建信息确定放置组创建指导信息,历史创建信息包括满足目标SLA的历史分区数量和历史实例规格。具体的,云服务器侧基于目标应用类型确定历史实例规格,以及历史实例规格对应的历史分区数量,之后云服务器侧再根据历史分区数量和历史实例规格计算SLA和放置组的实例容量状态。当计算得到的SLA满足目标SLA时,云服务器将该历史分区数量和历史实例规格确定为放置组创建指导信息。

一种可能实施方式中,云服务器侧根据历史数据中目标应用类型在75分位数的负载情况所需的实例规格,云服务器根据所有满足实例规格对应的实例数量计算SLA和放置组的实例容量状态。

请继续参阅图4,在图4所示的示例中,云服务器基于Nginx应用的历史创建信息生成多条放置组创建指导信息,供用户侧选择。例如,云服务器侧历史创建信息生成2条放置组创建指导信息,其中两条放置组创建指导信息中的SLA都≥95%,满足目标SLA。其中,第一条放置组创建指导信息为“分区数:3;实例规格:c7.4xlarge.2;对应SLA:99%;实例容量状态:普通。”第二条放置组创建指导信息为“分区数:3;实例规格:c7.2xlarge.2;对应SLA:96%;实例容量状态:健康。”

2、基于目标SLA和目标应用类型确定放置组创建指导信息。

云服务器侧根据第一分区数量和第一实例数量计算SLA和实例容量状态,第一分区数量包括一个或多个预置分区数量,第一实例数量包括一个或多个预置实例数量。云服务器侧根据不同的分区数量和实例数量计算SLA和实例容量状态,当SLA满足所述目标SLA且实例容量状态满足预设阈值时,云服务器侧根据第一分区数量确定放置组的分区数量,云服务器侧根据第一实例数量确定放置组的实例数量和实例规格。

例如,例如第一分区数量可以是3至5个分区数量,第一实例数量可以是100至80个,云服务器侧根据第一分区数量和第一实例数量计算SLA和实例容量状态,当SLA满足所述目标SLA且实例容量状态满足预设阈值时,例如,分区数量为3,实例数量为90时,计算得到的SLA满足所述目标SLA且实例容量状态满足预设阈值,则云服务器侧的推荐分区数量为3,推荐实例数量为90。

可以理解的是,当存在多个第一分区数量和多个第一实例数量对应的方案满足上述目标SLA和实例容量状态时,则云服务器侧可以为用户侧推荐成本更低分区数量、实例数量和实例规格。

请继续参阅图3,在图3所示的示例中,在放置组创建的过程中,云服务器侧的放置组创建模块根据用户侧输入的目标应用类型、目标SLA和实例需求数量确定分区数量和实例规格。用户侧可以根据云服务器侧推荐的分区数量和实例规格修改放置组创建请求中的需求分区数量和需求实例规格。

3、用户侧基于放置组状态测算结果确定放置组创建指导信息。

用户侧也可以基于放置组状态测算结果选择创建放置组的分区数量和实例规格。此时,放置组创建指导信息中的推荐分区数量和推荐实例规格即为用户侧放置组创建请求中的需求分区数量和实例需求规格。

具体的,当放置组创建请求中的需求分区数量和需求实例规格,对应计算出的SLA满足目标SLA,且对应计算的放置组容量状态满足预设阈值,则用户侧将放置组创建请求中需求分区数量和需求实例规格作为放置组创建指导信息,并进行放置组创建。

203.云服务器侧根据放置组创建指导信息创建放置组。

云服务器侧根据放置组创建指导信息创建放置组。具体的,用户侧基于创建指导信息修改放置组创建的需求信息之后,云服务器侧根据创建指导信息推荐的分区数量和实例规格创建放置组。

一种可能的实施方式中,云服务器侧根据放置组创建指导信息创建放置组之后,云服务器侧接收实例创建请求,实例创建请求包括请求创建的实例数量。云服务器侧基于实例创建请求生成实例创建指导信息,实例创建指导信息包括放置组中每个分区的实例容量状态和预估的实例创建结果。用户侧根据实例创建指导信息确认实例创建请求之后,云服务侧基于实例创建指导信息在放置组中创建实例。

一种可能的实施方式中,放置组创建请求中包括用户请求创建的实例数量,云服务器基于放置组创建请求生成实例创建指导信息,实例创建指导信息包括所述放置组中每个分区的实例容量状态,基于所述实例创建指导信息在放置组中创建实例。

一种可能的实施方式中,云服务器根据资源池状态计算放置组内每个分区的实例容量状态,资源池状态包括所述放置组内每个分区所对应的主机容量,云服务器提供放置组内每个分区的实例容量状态。

请继续参阅图3,在图3所示的示例中,在实例创建过程中,云服务器侧的实例创建测算模块根据用户侧输入的每个分区的需求实例数量确定每个分区的实例容量状态。用户侧可以根据每个分区的实例容量状态修改实例创建请求中每个分区的实例数量。

请参阅图5,图5为本申请实施例提供的一种实例创建界面的示意图。在图5所示的示例中,用户侧在输入或者选择每个分区的实例创建数量之后,云服务器侧根据每个分区的实例创建数量和每个分区实例可创建数量之间的差值计算每个分区的实例容量状态,并在实例创建界面显示每个分区的实例状态。

例如,在图5所示的示例中,用户侧输入的实例创建信息中,实例创建数量为100,其中,分区1创建实例数量为30,分区2中创建实例数量为50,分区3中创建的实例数量为20。云服务器侧根据每个分区的实例数量和每个分区的可创建实例数量生成实例创建指导信息。在实例创建指导信息中,分区1的容量状态告警,不建议创建实例。分区2的容量状态健康,建议创建实例。分区3容量状态普通,建议创建实例。

本申请实施例中云服务器能够根据用户侧的需求信息推荐放置组分区数量和实例规格,相较于用户自行设置放置组分区数和选择实例规格的方式,提升了云服务器资源的整体利用率。同时,云服务器侧能够根据实例创建请求生成实例创建指导信息,用户侧可以根据实例创建指导信息修改实例创建请求中每个分区要创建的实例数量,从而降低用户侧在放置组中实例创建失败的概率。

一种可能的实施方式中,云服务器侧监测放置组对应的资源池状态,云服务器侧根据资源池状态计算放置组内每个分区的可创建实例数量,以及每个分区的实例容量状态,资源池状态包括放置组内每个分区所对应的主机容量。云服务器侧根据放置组中每个分区的实例容量状态调整实例在放置组所对应的主机中的分布。具体的,云服务器侧可以接收用户侧手动调整实例分布,云服务器侧也基于预置策略一键调整实例分布。其中预置策略例如,放置组对应的主机资源碎片最小准则。请继续参阅图3,在图3所示的示例中,在放置组实例分布监控的过程中,云服务器侧的容量健康度检测模块根据用户侧的实例分布调整请求整理放置组中实例在放置组所对应的主机中的分布,调整后放置组的中每个分区的可创建实例数量会发生变化。实例分布调整请求包括用户侧触发的一键整理请求和用户侧触发的手动调整请求。

请参阅图6,图6为本申请实施例提供的一种放置组实例容量状态健康助手的界面示意图。在图6所示的示例中,云服务器侧监测放置组中每个分区的可创建实例数量以及放置组的实例容量状态。例如,云服务器侧监测放置组整理之前的每个分区的可创建实例数量,其中,分区1的可创建实例数量为30,分区2中的可创建实例数量为25,分区3中的可创建实例数量为40。云服务器侧监测得到放置组的实例容量状态为普通。

在图6所示的示例中,用户侧可以手动调整放置组中实例在主机中分布,即用户侧可以手动将实例从主机A移动到主机B,从而避免主机B的容量造成浪费。用户侧也可以通过显示界面的中的“一键整理”按钮调整放置组中实例在主机中的分布,从而提升放置组中的实例容量状态。例如,图6所示的示例中,整理后的放置组中,分区1的可创建实例数量为40,分区2中的可创建实例数量为50,分区3中的可创建实例数量为45。整理后的放置组的实例容量状态为健康。

本申请实施例中云服务器能够监测放置组中每个分区的实例容量状态,并根据放置组中每个分区的实例容量状态调整实例在放置组所对应的主机中的分布,减少了主机的碎片空间,从而提升了放置组中的实例可创建数量。

以上介绍了本申请实施例提供的资源分配方法,下面结合附图介绍本申请实施例提供的装置。

请参阅图7,图7为本申请实施例提供的一种资源分配装置的结构示意图。该装置用于实现上述各实施例中云服务器所执行的各个步骤,如图7所示,该资源分配装置700包括该收发单元701和处理单元702。

其中,收发单元701用于接收放置组创建请求,放置组创建请求用于向云服务器提供放置组创建的需求信息,放置组创建请求包括:目标应用类型和目标服务等级协议SLA;处理单元702用于基于放置组创建请求生成放置组创建指导信息,放置组创建指导信息包括放置组的分区数量和放置组的实例规格;处理单元702还用于根据放置组创建指导信息创建放置组。

一种可能的实施方式中,目标应用类型为放置组所承载的目标应用的应用类型,目标SLA为放置组的目标SLA;

一种可能的实施方式中,放置组创建请求包括:放置组的分区需求数量、实例需求规格和实例需求数量,处理单元702还用于根据放置组创建请求进行放置组状态测算,得到放置组测算结果,放置组测算结果包括SLA指标和放置组的实例容量状态;提供放置组测算结果。

一种可能的实施方式中,处理单元702具体用于根据放置组的分区需求数量、实例需求数量和故障率计算SLA指标,故障率包括实例所分布一个或多个故障域中的每个故障域的故障率,故障域为放置组所对应的主机的物理故障域。

一种可能的实施方式中,处理单元702具体用于根据实例需求数量和放置组中的可创建实例数量,确定放置组的实例容量状态,实例容量状态用于指示实例创建失败的概率。

一种可能的实施方式中,处理单元702具体用于基于历史创建信息确定放置组创建指导信息,历史创建信息包括满足目标SLA的历史分区数量和历史实例规格。

一种可能的实施方式中,处理单元702具体用于根据第一分区数量和第一实例数量计算放置组的当前SLA和当前实例容量状态,第一分区数量包括一个或多个预置分区数量,第一实例数量包括一个或多个预置ECS数量;当当前SLA满足目标SLA、当前实例容量状态满足阈值时,根据第一分区数量确定放置组的分区数量。

一种可能的实施方式中,收发单元701还用于接收实例创建请求,实例创建请求包括请求创建的实例数量;处理单元702还用于基于实例创建请求生成实例创建指导信息,实例创建指导信息包括放置组中每个分区的实例容量状态;处理单元702还用于基于实例创建指导信息在放置组中创建实例。

一种可能的实施方式中,处理单元702还用于包括基于放置组创建请求生成实例创建指导信息,放置组创建请求包括请求创建的实例数量,实例创建指导信息包括放置组中每个分区的实例容量状态;基于实例创建指导信息在放置组中创建实例。

一种可能的实施方式中,处理单元702还用于根据资源池状态计算放置组内每个分区的实例容量状态,资源池状态包括放置组内每个分区所对应的主机容量;根据放置组中每个分区的实例容量状态,调整实例在放置组所对应的主机中的分布。

一种可能的实施方式中,处理单元702还用于根据资源池状态计算放置组内每个分区的实例容量状态,资源池状态包括放置组内每个分区所对应的主机容量;提供放置组内每个分区的实例容量状态。

应理解以上装置中单元的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且装置中的单元可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分单元以软件通过处理元件调用的形式实现,部分单元以硬件的形式实现。例如,各个单元可以为单独设立的处理元件,也可以集成在装置的某一个芯片中实现,此外,也可以以程序的形式存储于存储器中,由装置的某一个处理元件调用并执行该单元的功能。此外这些单元全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件又可以成为处理器,可以是一种具有信号的处理能力的集成电路。在实现过程中,上述方法的各步骤或以上各个单元可以通过处理器元件中的硬件的集成逻辑电路实现或者以软件通过处理元件调用的形式实现。

值得说明的是,对于上述方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请所必须的。

本领域的技术人员根据以上描述的内容,能够想到的其他合理的步骤组合,也属于本申请的保护范围内。其次,本领域技术人员也应该熟悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请所必须的。

请参阅图8,图8为本申请实施例提供的一种云服务器示意图。如图8所示,该云服务器800包括:处理器810、存储器820和接口830,处理器810、存储器820与接口830通过总线(图中未标注)耦合。存储器820存储有指令,当存储器820中的执行指令被执行时,云服务器800执行上述方法实施例中云服务器所执行的方法。

云服务器800可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(application specific integrated circuit,ASIC),或,一个或多个微处理器(digital signal processor,DSP),或,一个或者多个现场可编程门阵列(fieldprogrammable gate array,FPGA),或这些集成电路形式中至少两种的组合。再如,当装置中的单元可以通过处理元件调度程序的形式实现时,该处理元件可以是通用处理器,例如中央处理器(central processing unit,CPU)或其它可以调用程序的处理器。再如,这些单元可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。

处理器810可以是中央处理单元(central processing unit,CPU),还可以是其它通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(fieldprogrammable gate array,FPGA)或者其它可编程逻辑器件、晶体管逻辑器件,硬件部件或者其任意组合。通用处理器可以是微处理器,也可以是任何常规的处理器。

存储器820可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data date SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。

总线除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。总线可以是快捷外围部件互连标准(peripheral component interconnect express,PCIe)总线,或扩展工业标准结构(extended industry standard architecture,EISA)总线、统一总线(unified bus,Ubus或UB)、计算机快速链接(compute express link,CXL)、缓存一致互联协议(cache coherent interconnect for accelerators,CCIX)等。总线可以分为地址总线、数据总线、控制总线等。

在本申请的另一个实施例中,还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当设备的处理器执行该计算机执行指令时,设备执行上述方法实施例中云服务器所执行的方法。

在本申请的另一个实施例中,还提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中。当设备的处理器执行该计算机执行指令时,设备执行上述方法实施例中云服务器所执行的方法。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-onlymemory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。

相关技术
  • 一种具有高粘接力钢带增强聚乙烯螺旋波纹管专用粘接树脂材料及其制备方法
  • 一种耐高温高粘高强高韧层间粘结材料及制备方法
  • 一种高粘高弹改性沥青及其制备方法
  • 一种抗中毒高粘接有机硅导热密封胶及制备方法
  • 一种基于SBS/聚氨酯复合的高粘改性沥青及其制备方法
  • 一种高粘电工胶带及其制备方法
  • 水性PVC电工胶带专用增粘树脂及其制备方法
技术分类

06120116337356