一种在混合云上的应用分配方法及装置与流程

文档序号:11590363阅读:143来源:国知局
一种在混合云上的应用分配方法及装置与流程

本发明涉及云计算技术领域,特别是涉及一种在混合云上的应用分配方法及装置。



背景技术:

随着云计算技术的发展和企业业务复杂度的提升,越来越多的企业选择按照自身的实际需求,将私有云和公有云共同使用起来,把企业应用部署在公有云、私有云兼具的混合云环境中,构建混合云的使用模式。

私有云是企业出资购置服务器、存储、网络设备等it基础设施构成的云计算环境,具有安全可控、便于运维管理等优势。然而扩展资源需要重新购置设备,扩建效率低,且应用运行性能有限。

公有云是第三方供应商通过互联网提供的云计算环境,具有标准化、自动化、快速响应、按需创建、弹性扩展、性能高等优势。然而公有云具有运营性质,企业占用过多的公有云资源,会耗费较多的租赁资金。

公有云和私有云各有利弊,如何在有限的资金下,最优的将各个应用分配在混合云上,最大化的提高企业应用的运行效率是本领域技术人员亟待解决的问题。



技术实现要素:

本发明的目的是提供一种在混合云上的应用分配方法及装置,用于在有限的资金下,最优的将各个应用分配在混合云上,最大化的提高企业应用的运行效率。

为解决上述技术问题,本发明提供一种在混合云上的应用分配方法,包括:

根据应用分配到公有云和私有云的情况以及应用在公有云上的运行资费将各应用的总处理时间转换为0-1背包问题对应的数学模型;

按照0-1背包问题的计算方法计算所述0-1背包问题对应的数学模型以得到各应用分配到公有云和私有云的最优分配解。

优选地,所述0-1背包问题的计算方法具体为穷举法、递归法、贪心法、动态规划法、回溯法或限界分支法。

优选地,所述根据应用分配到公有云和私有云的取值情况以及应用在公有云上的运行资费将各应用的总处理时间转换为0-1背包问题对应的数学模型具体包括:

定义x=(x1,x2,x3,……xn)为各应用分配到公有云和私有云的最优分配解;其中xi=1表示将第i个应用分配到公有云,xi=0表示将第i个应用分配到私有云,0≤i≤n,i和n均为正整数;

定义tig为第i个应用在公有云上处理请求所需的时间,tis为第i个应用在私有云上处理相同请求所需的时间,则n个应用的总处理时间t(x)为如下公式:

定义wi为第i个应用在公有云上的运行资费,企业资金为c,则分配至公有云上的各应用满足如下公式:

定义分配权值k,并求解所述分配权值k的最大值;

其中,vi=tis-tig表示第i个应用在私有云与公有云处理相同请求的时间差。

优选地,所述0-1背包问题的计算方法为动态规划法,则对应的动态规划函数为:

(1)k(i,0)=k(0,j)=0;

(2)j≥wi,k(i,j)=max{k(i-1,j),k(i-1,j-wi)+vi};

(3)0<j<wi,k(i,j)=k(i-1,j);

其中,k(i,j)表示企业资金为j时,前i个应用分配到公有云的分配权值。

为解决上述技术问题,本发明还提供一种在混合云上的应用分配装置,包括:

模型建立单元,用于根据应用分配到公有云和私有云的情况以及应用在公有云上的运行资费将各应用的总处理时间转换为0-1背包问题对应的数学模型;

模型求解单元,用于按照0-1背包问题的计算方法计算所述0-1背包问题对应的数学模型以得到各应用分配到公有云和私有云的最优分配解。

优选地,所述模型求解单元具体通过穷举法、递归法、贪心法、动态规划法、回溯法或限界分支法计算所述0-1背包问题对应的数学模型以得到各应用分配到公有云和私有云的最优分配解。

优选地,所述模型建立单元具体用于:

定义x=(x1,x2,x3,……xn)为各应用分配到公有云和私有云的最优分配解;其中xi=1表示将第i个应用分配到公有云,xi=0表示将第i个应用分配到私有云,0≤i≤n,i和n均为正整数;

定义tig为第i个应用在公有云上处理请求所需的时间,tis为第i个应用在私有云上处理相同请求所需的时间,则n个应用的总处理时间t(x)为如下公式:

定义wi为第i个应用在公有云上的运行资费,企业资金为c,则分配至公有云上的各应用满足如下公式:

定义分配权值k,并求解所述分配权值k的最大值;

其中,vi=tis-tig表示第i个应用在私有云与公有云处理相同请求的时间差。

优选地,模型求解单元具体通过动态规划法计算最优分配解,则对应的动态规划函数为:

(1)k(i,0)=k(0,j)=0;

(2)j≥wi,k(i,j)=max{k(i-1,j),k(i-1,j-wi)+vi};

(3)0<j<wi,k(i,j)=k(i-1,j);

其中,k(i,j)表示企业资金为j时,前i个应用分配到公有云的分配权值。

本发明所提供的在混合云上的应用分配方法及装置,该方法包括根据应用分配到公有云和私有云的情况以及应用在公有云上的运行资费将各应用的总处理时间转换为0-1背包问题对应的数学模型;按照0-1背包问题的计算方法计算0-1背包问题对应的数学模型以得到各应用分配到公有云和私有云的最优分配解。由此可见,本方法将复杂的混合云划分问题抽象成数学模型,并通过分析,将其规约为0-1背包问题。因此,本方法具有较强的普适性、扩展性、科学性。

附图说明

为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种在混合云上的应用分配方法的流程图;

图2为本发明实施例提供的一种在混合云上的应用分配装置的结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。

本发明的核心是提供一种在混合云上的应用分配方法及装置,用于在有限的资金下,最优的将各个应用分配在混合云上,最大化的提高企业应用的运行效率。

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。

图1为本发明实施例提供的一种在混合云上的应用分配方法的流程图。如图1所示,在混合云上的应用分配方法包括:

s10:根据应用分配到公有云和私有云的情况以及应用在公有云上的运行资费将各应用的总处理时间转换为0-1背包问题对应的数学模型。

0-1背包问题的具体思想是:有n件物品和一个容量为v的背包。第i件物品的重量是w[i],价值是v[i]。求解将哪些物品装入背包可使这些物品的重量总和不超过背包容量,且价值总和最大。本实施例中,考虑到有n个应用,这n个应用可以放在私有云和公有云上,但是这个n个应用,放几个在私有云上,放几个在公有云上才能不超过当前企业的资金,且达到最佳的运行状态。

可以理解的是,本方案解决的应用场景是,企业前期已经具备一套相对成熟的私有云环境,后续投入资金购置公有云资源、部署混合云时,在算法的层面上,帮助企业最优选择合适的分配方式。

作为优选的实施方式,本步骤中具体的数学模型建立过程如下:

定义x=(x1,x2,x3,……xn)为各应用分配到公有云和私有云的最优分配解。其中xi=1表示将第i个应用分配到公有云,xi=0表示将第i个应用分配到私有云,0≤i≤n,i和n均为正整数。

之所以能够按照上述方式定义是因为,对于一个应用来说,只有两种分配方式,一种是放在私有云上,一种是放在公有云上,因此,这里我们将xi=的取值设定为0或1(符合0-1背包问题的形式,即可以放在背包,也可以不放在背包)。x=(0,0,1,0,1)表示,n=5,即由5个应用,第一个应用、第二个应用以及第四个应用放在私有云上,第三个应用和第五个应用放在公有云上。对于n个应用来说,我们的目的就是要求解,这个n个应用有几个放在私有云上,有几个放在公有云上。

2)定义tig为第i个应用在公有云上处理请求所需的时间,tis为第i个应用在私有云上处理相同请求所需的时间,则n个应用的总处理时间t(x)为如下公式:

那么x=(x1,x2,x3,……xn)的最优解就是另t(x)最小,即我们的目标转换为求解t(x)的最小值。

3)定义wi为第i个应用在公有云上的运行资费,企业资金为c,则分配至公有云上的各应用满足如下公式:

4)定义分配权值k,并求解分配权值k的最大值。

其中,vi=tis-tig表示第i个应用在私有云与公有云处理相同请求的时间差。

相比于租赁形式的公有云服务,应用部署在原有私有云环境上的开支资费可忽略不记。又由于每个应用在私有云上的运行时间是固定的,即为常量。

设vi=tis-tig,表示第i个应用在私有云与公有云处理相同请求的时间差。因此上述使总处理时间t(x)尽量小的问题,可归结为,在满足公式(2)的前提下,如何使分配权值k最大化的问题。

s11:按照0-1背包问题的计算方法计算0-1背包问题对应的数学模型以得到各应用分配到公有云和私有云的最优分配解。

作为优选的实施方式,0-1背包问题的计算方法具体为穷举法、递归法、贪心法、动态规划法、回溯法或限界分支法。本发明实施例中以动态规划法进行计算,过程如下:

0-1背包问题的计算方法为动态规划法,则对应的动态规划函数为:

(1)k(i,0)=k(0,j)=0公式(4)

(2)j≥wi,k(i,j)=max{k(i-1,j),k(i-1,j-wi)+vi}公式(5)

(3)0<j<wi,k(i,j)=k(i-1,j)公式(6)

其中,k(i,j)表示企业资金为j时,前i个应用分配到公有云的分配权值。

可以理解的是k(i,j)中的i和j只是一种公式的表现形式而已,j为一种通用的表示方式,当企业资金固定后,则j就是固定的,例如当企业的资金为c时,则本公式中的资金j就是企业的扩建资金c。

上述第(4)个公式表示,当资金为0或者部署0个应用到公有云时,k为0;

第(5)和第(6)个公式表示,如果第i个应用部署到公有云耗费的资金少于企业的扩建资金c时,则会出现两种情况:

(1)如果第i个应用部署到公有云,则k值等与把前i-1个应用部署到资金为j-wi时的分配权值加第i个应用对应的时间差vi。

(2)如果第i个应用部署到私有云,则k值等于在资金j时,前i-1个应用部署到公有云的k值。显然,取两者中k值较大者作为在资金为j时,把前i个应用部署到公有云的最优解。

基于此,可以一步步的解出所需要的解,。

第一步,只部署第1个应用,确定在各种情况下的最大k值;第二步,只部署前2个应用,确定在各种情况下k能够得到的最大值;依此类推,到了第n步即可得到我们所需要的最优解。最后,k(n,c)便是在资金为c时,部署n个应用时取得的最大分配权值。为了确定部署到公有云的应用,从k(n,c)的值向前寻找,如果k(n,c)>k(n-1,c),则说明第n个应用被部署到公有云中,前n-1个应用被部署在资金为c-wi的环境中;否则,第n个应用没有部署到公有云,前n-1个应用被部署在资金为c的环境中。依此类推,直到确定第一个应用是否部署到公有云为止,具体算法对应的代码如下所示。

本实施例提供的在混合云上的应用分配方法,根据应用分配到公有云和私有云的情况以及应用在公有云上的运行资费将各应用的总处理时间转换为0-1背包问题对应的数学模型;按照0-1背包问题的计算方法计算0-1背包问题对应的数学模型以得到各应用分配到公有云和私有云的最优分配解。由此可见,本方法将复杂的混合云划分问题抽象成数学模型,并通过分析,将其规约为0-1背包问题。因此,本方法具有较强的普适性、扩展性、科学性。

需要说明的是,动态规划算法只是其中的一种具体解决方式,并不代表只有这一种解决方式,只是其他解决方式在本实施例中没有赘述。在问题求解时,采用动态规划算法,主要考虑到易于编程。

相应地本发明还提供一种与上述方法对应的装置。图2为本发明实施例提供的一种在混合云上的应用分配装置的结构图。如图2所示,在混合云上的应用分配方法包括:

模型建立单元10,用于根据应用分配到公有云和私有云的情况以及应用在公有云上的运行资费将各应用的总处理时间转换为0-1背包问题对应的数学模型;

模型求解单元11,用于按照0-1背包问题的计算方法计算0-1背包问题对应的数学模型以得到各应用分配到公有云和私有云的最优分配解。

作为优选的实施方式,模型求解单元具体通过穷举法、递归法、贪心法、动态规划法、回溯法或限界分支法计算0-1背包问题对应的数学模型以得到各应用分配到公有云和私有云的最优分配解。

本实施例提供的在混合云上的应用分配装置,根据应用分配到公有云和私有云的情况以及应用在公有云上的运行资费将各应用的总处理时间转换为0-1背包问题对应的数学模型;按照0-1背包问题的计算方法计算0-1背包问题对应的数学模型以得到各应用分配到公有云和私有云的最优分配解。由此可见,本装置将复杂的混合云划分问题抽象成数学模型,并通过分析,将其规约为0-1背包问题。因此,本方法具有较强的普适性、扩展性、科学性。

作为优选的实施方式,模型建立单元具体用于:

定义x=(x1,x2,x3,……xn)为各应用分配到公有云和私有云的最优分配解;其中xi=1表示将第i个应用分配到公有云,xi=0表示将第i个应用分配到私有云,0≤i≤n,i和n均为正整数;

定义tig为第i个应用在公有云上处理请求所需的时间,tis为第i个应用在私有云上处理相同请求所需的时间,则n个应用的总处理时间t(x)为如下公式:

定义wi为第i个应用在公有云上的运行资费,企业资金为c,则分配至公有云上的各应用满足如下公式:

定义分配权值k,并求解分配权值k的最大值;

其中,vi=tis-tig表示第i个应用在私有云与公有云处理相同请求的时间差。

作为优选的实施方式,模型求解单元具体通过动态规划法计算最优分配解,则对应的动态规划函数为:

(1)k(i,0)=k(0,j)=0;

(2)j≥wi,k(i,j)=max{k(i-1,j),k(i-1,j-wi)+vi};

(3)0<j<wi,k(i,j)=k(i-1,j);

由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。

以上对本发明所提供的在混合云上的应用分配方法及装置进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

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