一种基于动态规划的云实例类型组合优化选择方法与流程

文档序号:14774014发布日期:2018-06-23 02:31阅读:425来源:国知局
一种基于动态规划的云实例类型组合优化选择方法与流程

本发明涉及云实例选择技术领域,特别是涉及一种基于动态规划的云实例类型组合优化选择方法。



背景技术:

随着互联网行业的外部环境不断变化以及云计算的快速发展,为了更好的适应环境的变换,敏捷地抓住最新的发展态势,提高企业在众多同类企业中的竞争力,国内企业纷纷将自己的应用或平台部署在“云”端。但是面对公有云市场上众多的云供应商推出的众多实例类型和实例体系以及不同的云实例价格体系,企业想要从中选出符合自己需求的云服务实例类型或其组合,并达到性能、价格等指标的最优化是一个问题和挑战。

企业选择的云实例类型会直接影响到公司的成本,为了节省成本,获取更大的利润,选择最适合的云实例类型或其组合对企业具有重大意义。现在针对单云环境下云实例类型的选择和优化问题的研究只是考虑了单一云供应商的一种或少数几种云服务实例类型,并且考虑的优化目标比较单一;针对多云环境下云服务实例类型的选择与优化问题的研究也只是考虑了少数的云服务实例类型。



技术实现要素:

本发明所要解决的技术问题是提供一种基于动态规划的云实例类型组合优化选择方法,能够为用户推荐不同价格体系下的最佳的云实例类型或其组合。

本发明解决其技术问题所采用的技术方案是:提供一种基于动态规划的云实例类型组合优化选择方法,包括以下步骤:

(1)获取云实例类型的相关数据;

(2)通过服务描述模板指定需求;

(3)调度器读取服务描述模板和云实例类型的相关数据;

(4)调度器调用性能模型求解单个云实例类型的性能;

(5)调度器根据单个云实例的性能和其他数据调用完全背包算法为用户推荐最佳的云实例类型。

所述步骤(1)具体包括:爬取云供应商推出的云实例类型及其相关信息,并存入数据库;对存入数据库的数据进行处理,将云实例类型按照不同的价格体系分别存储到不同的数据表中。

所述步骤(3)包括以下子步骤:

(31)分别读取不同价格体系对应的数据表,将数据表中ECU列为空值的实例删除;

(32)将剩余的云实例类型按照价格进行排序,每种云实例只取价格最低的前N个,忽略其中价格为0的云实例类型,其中,N≥2。

所述步骤(4)具体包括以下子步骤:

(41)根据ECU对云实例类型进行选择,选出符合条件的云实例类型;

(42)将之前选出的云实例组合放入性能模型,计算每个云实例类型的性能。

所述步骤(42)中的性能模型是根据云实例的cpu核数、时钟速度、内存和存储四项指标,使用加权求和的方法计算出单个云实例的配置分,并根据配置分求解单个云实例的性能。

所述步骤(5)包括以下子步骤:

(51)获取云实例类型的价格的小数位数,遍历查询出最小的云实例价格,以此价格作为放大的倍数,对用户输入的成本约束以及每个云实例类型的价格进行同步放大;

(52)使用动态优化算法中的完全背包方法来进行云实例的选择,完全背包中的重量为用户指定的成本,价值为云实例的性能;

(53)当调度器选出满足用户需求的云实例类型及其组合时,将不同价格体系下的云实例组合推荐给用户,供用户选择。

有益效果

由于采用了上述的技术方案,本发明与现有技术相比,具有以下的优点和积极效果:本发明利用动态规划中完全背包算法进行云实例类型的选择和优化组合,以满足用户要求为目标,能够为用户推荐最佳的云实例类型组合方案。本发明具有快速高效,贴合需求等优点。该发明对于想要将服务部署在“云”端的用户具有普遍适用性。可在企业中进行推广和应用,具有较强的社会及商业价值。

附图说明

图1是本发明的整体框架图;

图2是本发明中完全背包算法的流程图。

具体实施方式

下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。

本发明的实施方式涉及一种基于动态规划的云实例类型组合优化选择方法,如图1所示,包括以下步骤:A获取云实例类型的相关数据;B用户通过服务描述模板指定需求,其中,服务描述模板中包括请求资源(计算、存储、网络)、优化目标和约束条件;C调度器读取服务描述模板和云实例类型的相关数据;D调度器调用性能模型求解单个云实例类型的性能;E调度器根据单个云实例的性能和其他数据调用完全背包算法为用户推荐最佳的云实例类型。

其中,步骤A具体包括:

A1.爬取云供应商推出的云实例类型及其相关信息,存入数据库。

A2.对存入数据库的数据进行处理,将云实例类型按照不同的价格体系分别存储到不同的数据表中。

步骤C具体包括:

C1.分别读取不同价格体系对应的数据表,将数据表中ECU(全称是EC2Compute Unit,即EC2计算单元,是由Amazon推出的用来衡量其云计算性能的计算单元)列为空值的实例删除。

C2.将剩余的云实例类型,按照价格进行排序,每种云实例只取价格最低的前5个,忽略其中价格为0的云实例类型。

步骤D具体包括:

D1.根据步骤C中读取的数据,根据ECU对云实例类型进行选择,选出符合条件的云实例类型。

D2.将之前选出的云实例组合放入性能模型,计算每个云实例类型的性能。

其中,所述步骤D2具体包括:

D21.性能模型根据云实例的cpu核数、时钟速度、内存和存储这几项指标,使用加权求和的方法先计算出单个云实例的配置分,具体公式如下:

配置分=cpu核数*时钟速度*权重+内存*权重+存储*权重

D22.根据配置分使用如下公式求解单个云实例的性能。

单个云实例性能=配置分*(1+IO性能权重)

步骤E具体包括:

E1.获取云实例类型的价格的小数位数,遍历查询出最小的云实例价格,以此价格作为放大的倍数,对用户输入的成本约束以及每个云实例类型的价格进行同步放大。

E2.使用动态优化算法中的完全背包方法来进行云实例的选择,完全背包中的重量为用户指定的成本,价值为云实例的性能,因为完全背包中重量为整数,因此先采用上一步将数据处理成整数,性能不需要进行放大,因为性能是否为整数,对云实例类型的选择没有影响,所以没有必要放大。之后,直接使用完全背包算法就可以直接进行云实例的挑选。具体流程如图2所示。

E3.当调度器选出满足用户需求的云实例类型及其组合时,将不同价格体系下的云实例组合推荐给用户,供用户选择。

不难发现,本发明利用动态规划中完全背包算法进行云实例类型的选择和优化组合,以满足用户要求为目标,能够为用户推荐最佳的云实例类型组合方案。本发明具有快速高效,贴合需求等优点。该发明对于想要将服务部署在“云”端的用户具有普遍适用性。可在企业中进行推广和应用,具有较强的社会及商业价值。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1