一种面向数据交换的云迁移优化评估方法转让专利

申请号 : CN201510707903.8

文献号 : CN105245405B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 尹可挺才振功刘二腾寿晨

申请人 : 浙江大学软件学院(宁波)管理中心(宁波软件教育中心)

摘要 :

本发明涉及一种面向数据交换的云迁移优化评估方法,属于云计算和软件工程领域。该方法包括以下步骤:建立集群间面向数据交换的评估函数;向评估系统输入相关集群信息,利用评估函数和输入的信息计算出集群在本地的评估值,作为系统默认初始的最佳评估值fbest;系统随机生成迁移集群,分别计算集群间数据交换评估量Cost和集群间网络延时评估量Mtime,并与用户设定的可接受值比较,满足条件时将Cost和Mtime归一化处理,代入评估函数计算得出评估函数值fcloud,并与最佳评估值fbest比较,满足要求时将其作为最佳评估值;系统输出最佳评估值以及相对应的云迁移方案。本发明能优化企业数据交换成本,并能有效评估企业将数据迁移到云平台的可行性。

权利要求 :

1.一种面向数据交换的云迁移优化评估方法,该方法在评估系统中运行,其特征在于包括以下步骤:(1)建立集群间面向数据交换的评估函数,其包括集群间数据交换评估量Cost和集群间网络延时评估量Mtime两部分,将两评估量通过归一化函数归一化处理后分别得到 和 进而得到评估函数 其中α、β为

权重,α+β=1;

(2)进行系统初始化,向评估系统输入相关集群信息,包括集群间数据交换流量、集群间网络延迟时间信息、系统最大迭代次数以及用户可接受数据交换评估值和用户可接受网络延时评估值;

(3)利用步骤(1)所建的评估函数和步骤(2)输入的信息,计算出集群在本地的评估值,并将其设为系统默认初始的最佳评估值fbest;

(4)系统随机生成迁移集群,根据迁移到云端的集群与未迁移的本地集群间的数据交换量,分别计算集群间数据交换评估量Cost和集群间网络延时评估量Mtime,并与步骤(2)中用户设定的可接受数据交换评估值和网络延时评估值比较,若两者均小于相应可接受评估值,则进行下一步操作,否则循环本步骤;

(5)将步骤(4)得到的集群间数据交换评估量Cost和集群间网络延时评估量Mtime按步骤(1)归一化处理,代入评估函数计算得出评估函数值fcloud,并与步骤(3)的最佳评估值fbest比较,当其小于最佳评估值时,用该值替换最佳评估值,否则返回步骤(4);在设定的系统最大迭代次数的范围内,循环执行步骤(4)、(5)直至找到最佳评估值;

(6)系统输出最佳评估值以及相对应的云迁移方案。

2.根据权利要求1所述的面向数据交换的云迁移优化评估方法,其特征在于:步骤(4)中集群间数据交换评估量Cost由云端集群的数据交换评估量Costcloud和未迁移集群的数据交换评估量Costothers两部分相加得出;

云端集群的数据交换评估量Costcloud的计算公式为

其中, 表示所有集群之间交互的数据总流量,T(i,j)代表集

群Ci和Cj之间的流量,其中,i=1,2,3,…,n,j=1,2,3,…,n; 表示云端集群之间数据交互的总流量,K(i,j)代表迁移到云端的集群Bi和Bj之间的流量,其中,i=1,2,3,…,m,j=1,2,3,…,m; 表示未迁移的本地集群之间数据交互的总流量,P(i,j)代表未迁移的本地集群Bi和Bj之间的流量,其中,i=1,2,3,…,n-m,j=1,2,3,…,n-m;

为本地集群和云端集群之间数据交互的总流量,price为

云计算服务提供商给出的流量单价;

未迁移集群的数据交换评估量Costothers的计算公式为

其中,P(i,j)代表未迁移的本地集群Bi和Bj之间的流量, 为未迁移的本地集群Bi和Bj之间的流量单价;集群间网络延时评估量Mtime由云端集群与本地集群间数据交换网络延时Mtimecloud和未迁移集群间数据交换网络延时Mtimeothers两部分相加得出;未迁移集群间数据交换网络延时Mtimeothers的计算公式为 其中 为未迁移的本地集群Bi和Bj之间的网络单位延迟时间;云端集群与本地集群间数据交换网络延时Mtimecloud的计算公式为 其中,R(i)表示未迁移本地集群Bi与迁移至云端的所有集群之间的总数据流量,S(i)表示本地集群与云端的网络单位延迟时间,R(i)*S(i)表示未迁移本地集群Bi与云端所有集群的数据交换网络延时。

3.根据权利要求2所述的面向数据交换的云迁移优化评估方法,其特征在于:T(i,j)代表集群Ci和Cj之间的流量,其中,i=1,2,3,…,n,j=1,2,3,…,n,使用n维矩阵T表示各集群之间数据流量,

4.根据权利要求2所述的面向数据交换的云迁移优化评估方法,其特征在于:D(i,j)代表集群Ci和Cj之间的流量单价,其中,i=1,2,3,…,n,j=1,2,3,…,n,使用n维矩阵D表示各集群之间的流量单价, 集群内部的流量发生在局域网内,成本可忽略不计; 是一个(n-m)*(n-m)的矩阵,该矩阵是矩阵D的一个子集, 的值根据未迁移本地集群Bi和Bj从矩阵D中抽取而来。

5.根据权利要求2所述的面向数据交换的云迁移优化评估方法,其特征在于:M(i,j)代表集群Ci和Cj之间的网络单位延迟时间,其中,i=1,2,3,…,n,j=1,2,3,…,n,使用n维矩阵M表示各集群之间的网络单位延迟时间, 集群内部的延迟时间忽略不计; 是一个(n-m)*(n-m)的矩阵,该矩阵是矩阵M的一个子集, 的值根据未迁移本地集群Bi和Bj从矩阵M中抽取而来。

6.根据权利要求2所述的面向数据交换的云迁移优化评估方法,其特征在于:K(i,j)代表迁移到云端的集群Bi和Bj之间的流量,其中,i=1,2,3,…,m,j=1,2,3,…,m,使用m维矩阵K表示迁移到云端各集群之间的流量,

7.根据权利要求2所述的面向数据交换的云迁移优化评估方法,其特征在于:P(i,j)代表未迁移的本地集群Bi和Bj之间的流量,其中,i=1,2,3,…,n-m,j=1,2,3,…,n-m,使用n-m维矩阵P表示未迁移各集群之间的流量,

说明书 :

一种面向数据交换的云迁移优化评估方法

技术领域

[0001] 本发明涉及一种面向数据交换的云迁移优化评估方法,属于云计算和软件工程领域。

背景技术

[0002] 随着存储技术的发展以及Web 2.0技术和虚拟化技术的出现,云计算的应用程序变得越来越受欢迎。云计算并非虚无缥缈的东西,它是为了实际需求而诞生的一种新模式,可以解决很多明确的企业问题,让各种网络服务获得更好的运作架构。越来越多的企业准备将自身的数据和服务迁移至云平台上。由于历史原因、业务的可持续性及安全、成本等方面原因,企业不可能一次性将所有应用迁移到云平台中,通常会采用逐批迁移的方式进行。因此在较长的一段时间内,会存在部分应用部署在本地环境、部分应用部署在云端的现象,数据交换随之也将会发生在本地应用与本地应用、云端应用与云端应用以及本地应用与云端应用之间。
[0003] 因此,企业在云迁移之前应先评估数据交换成本和收益,然后制定符合自身需求的迁移策略。而迁移策略是根据数据交换成本和网络延时综合评估的。具体包括哪些应用应该迁移到云平台,应该以何种次序迁移才能使企业数据交换成本最小化;同时还要考虑网络延时的问题,要在企业可接受的网络延时范围内,最小化数据交换成本。
[0004] 由于本地应用与云端应用的数据交换要通过互联网进行传输,并且商业云平台通常会对进出的流量进行收费,所以在制定迁移策略时,应该充分考虑应用之间的数据交换情况,尽量降低本地应用与云端应用之间的数据交换,以达到降低成本和延时的目的。由此可见应用间的数据交换流量对应用迁移至云平台有着较大影响。具体来说,就是在进行云迁移时,应考虑将互相之间存在较多数据交换的应用同时迁移或不迁移。但是现有的云迁移评估方法都没有充分考虑应用之间的数据交换流量对迁移成本的影响,导致最终生成的迁移方案成本较高。

发明内容

[0005] 针对上述问题,本发明在充分考虑应用之间数据交换情况的基础上,提供了一种侧重数据交换成本分析的云迁移策略设计方法。
[0006] 对本发明中涉及的概念说明如下:
[0007] 数据交换成本,主要和集群之间的数据交互流量相关。当用户发送一个请求时,为了完成该请求,后台计算机之间会以一定的顺序发生各种数据交换。基于用户访问请求量的统计数据,可以构建出集群之间的流量交互总量。
[0008] 网络延迟时间,是指用户请求在集群之间所产生的网络延迟时间。当用户发生请求时,该请求会在集群之间搜寻相应的响应,这部分就会产生所对应的信息传输时长延时。然而集群在处理请求时也需要一定的时间,这部分延时称为服务执行延时。两部分之和就是本文所说的网络延迟时间。
[0009] 集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。
[0010] 本发明的具体技术方案为:
[0011] 一种面向数据交换的云迁移优化评估方法,该方法在评估系统中运行,包括以下步骤:
[0012] (1)建立集群间面向数据交换的评估函数,其包括集群间数据交换评估量Cost和集群间网络延时评估量Mtime两部分,将两评估量通过归一化函数归一化处理后分别得到 和 ,进而得到评估函数 其中α、β为
权重,α+β=1;
[0013] (2)进行系统初始化,向评估系统输入相关集群信息,包括集群间数据交换流量、集群间网络延迟时间信息、系统最大迭代次数以及用户可接受数据交换评估值和用户可接受网络延时评估值;
[0014] (3)利用步骤(1)所建的评估函数和步骤(2)输入的信息,计算出集群在本地的评估值,并将其设为系统默认初始的最佳评估值fbest;
[0015] (4)系统随机生成迁移集群,根据迁移到云端的集群与未迁移的本地集群间的数据交换量,分别计算集群间数据交换评估量Cost和集群间网络延时评估量Mtime,并与步骤(2)中用户设定的可接受数据交换评估值和网络延时评估值比较,若两者均小于相应可接受评估值,则进行下一步操作,否则循环本步骤;(5)将步骤(4)得到的集群间数据交换评估量Cost和集群间网络延时评估量Mtime按步骤(1)归一化处理,代入评估函数计算得出评估函数值fcloud,并与步骤(3)的最佳评估值fbest比较,当其小于最佳评估值时,用该值替换最佳评估值,否则返回步骤(4);在设定的系统最大迭代次数的范围内,循环执行步骤(4)、(5)直至找到最佳评估值;
[0016] (6)系统输出最佳评估值以及相对应的云迁移方案。
[0017] 步骤(4)中集群间数据交换评估量Cost由云端集群的数据交换评估量Costcloud和未迁移集群的数据交换评估量Costothers两部分相加得出。
[0018] 云端集群的数据交换评估量Costcloud的计算公式为其中, 表示所有集群之间交互的数据总流量, 表
示云端集群之间数据交互的总流量, 表示未迁移的本地集群之间数据交互的总
流量, 为本地集群和云端集群之间数据交互的总流量,
price为云计算服务提供商给出的流量单价。
[0019] 未迁移集群的数据交换评估量Costothers的计算公式为其中,P(i,j)代表未迁移的本地集群Bi和Bj之间的流量, 为未迁移的本地集群Bi和Bj之间的流量单价。
[0020] 集群间网络延时评估量Mtime由云端集群与本地集群间数据交换网络延时Mtimecloud和未迁移集群间数据交换网络延时Mtimeothers两部分相加得出;未迁移集群间数据交换网络延时Mtimeothers的计算公式为 其中 为
未迁移的本地集群Bi和Bj之间的网络单位延迟时间。
[0021] 云端集群与本地集群间数据交换网络延时Mtimecloud的计算公式为其中,R(i)表示未迁移本地集群Bi与迁移至云端的所有集群之
间的总数据流量,S(i)表示本地集群与云端的网络单位延迟时间,R(i)*S(i)表示未迁移本地集群Bi与云端所有集群的数据交换网络延时。
[0022] 上文中,T(i,j)代表集群Ci和Cj之间的流量,其中,i=1,2,3,…,n,j=1,2,3,…,n,使用n维矩阵T表示各集群之间数据流量,
[0023] D(i,j)代表集群Ci和Cj之间的流量单价,其中,i=1,2,3,…,n,j=1,2,3,…,n,使用n维矩阵D表示各集群之间的流量单价,
[0024] 集群内部的流量发生在局域网内,成本可忽略不计; 是一个(n-m)*(n-m)的矩阵,该矩阵是矩阵D的一个子集, 的值根据未迁移
本地集群Bi和Bj从矩阵D中抽取而来。
[0025] M(i,j)代表集群Ci和Cj之间的网络单位延迟时间,其中,i=1,2,3,…,n,j=1,2,3,…,n,使用n维矩阵M表示各集群之间的网络单位延迟时间,
[0026] 集群内部的延迟时间忽略不计; 是一个(n-m)*(n-m)的矩阵,该矩阵是矩阵M的一个子集, 的值根据未迁移本地集群Bi和Bj从矩阵M中抽取而来。
[0027] K(i,j)代表迁移到云端的集群Bi和Bj之间的流量,其中,i=1,2,3,…,m,j=1,2,3,…,m,使用m维矩阵K表示迁移到云端各集群之间的流量,
[0028]
[0029] P(i,j)代表未迁移的本地集群Bi和Bj之间的流量,其中,i=1,2,3,…,n-m,j=1,2,3,…,n-m,使用n-m维矩阵P表示未迁移各集群之间的流量,
[0030]
[0031] 本发明在综合考虑了数据交换成本和网络延时的基础上,为企业建立了面向云平台迁移的数据交换综合分析方法,以此来最优化企业数据交换成本,并且根据数据中心规模、地理分布、提供的服务量等各方面,来评估企业将数据迁移到云平台的可行性。

附图说明

[0032] 图1是本地集群B1、B2、B3、B4、B5之间数据交换示意图;
[0033] 图2是集群B2、B3、B5迁移到云平台后各集群间数据交换示意图;
[0034] 图3是面向数据交换的评估函数构成图;
[0035] 图4是本发明实施方式流程图。

具体实施方式

[0036] 下面结合附图对本发明的实施方式进行详细说明:
[0037] 首先,本发明方法需要用到面向数据交换的评估函数,该评估函数主要和集群之间的数据交换流量和请求网络延时相关。当用户发送一个请求时,可能会在各集群之间搜索之后找到资源然后返回给用户。通过用户访问请求量,可以得到集群间数据交换流量值。如图1所示,本地集群B1、B2、B3、B4、B5之间都存在数据交换,它们之间的数据交换流量大小根据集群具体所处环境及集群的功能不同而有所差异。当本地集群迁移至云平台后,其数据交换情况如图2所示。图中,本地集群B2、B3、B5迁移至云平台上,对外数据交换流量作为一个整体,它们之间数据交换流量的成本由云服务提供商提供。未迁移部分的数据交换流量和本地数据交换流量相关。
[0038] 图3表示了面向数据交换的评估函数的构成。
[0039] 为了更好的理解本发明所采用的评估方法,我们先定义几个矩阵。
[0040] 各集群之间流量交互数据可基于历史数据、代码分析方法获得,使用矩阵T表示。
[0041]
[0042] T是一个n维矩阵,T(i,j)代表集群Ci和Cj之间的流量,其中,i=1,2,3,…,n,j=1,2,3,…,n。
[0043] 两个集群之间流量的单价也是一个关键因素,单价也被描述成一个矩阵D。
[0044]
[0045] D也是一个n维矩阵,D(i,j)代表集群Ci和Cj之间的流量单价,其中,i=1,2,3,…,n,j=1,2,3,…,n,集群内部的流量发生在局域网内,成本可忽略不计。
[0046] 各集群之间的网络单位延迟时间也用一个矩阵M来表示。
[0047]
[0048] M是一个n维矩阵,M(i,j)代表集群Ci和Cj之间的网络单位延迟时间,其中,i=1,2,3,…,n,j=1,2,3,…,n,集群内部的延迟时间忽略不计。
[0049] 迁移至云端各集群之间流量可以用一个矩阵K来表示。
[0050]
[0051] K是一个m维矩阵,K(i,j)代表迁移到云端的集群Bi和Bj之间的流量,其中,i=1,2,3,…,m,j=1,2,3,…,m。
[0052] 未迁移各集群之间的流量也可以用一个矩阵P来表示。
[0053]
[0054] P(i,j)代表未迁移的本地集群Bi和Bj之间的流量,其中,i=1,2,3,…,n-m,j=1,2,3,…,n-m。
[0055] 然后,建立集群间面向数据交换的评估函数,该评估函数包括集群间数据交换评估量Cost和集群间网络延时评估量Mtime两部分,这两部分评估量所表示的评估值单位有所不同,所以需要进行归一化后才能相加得到最终的评估函数。将两评估量通过归一化函数 归一化处理后分别得到 和 进而得到评估函数 其中α、β为权重,α+β=1。式子中的α和β是用户对于两个
评估量权值的设置,可设置不同的权值以满足不同的项目需求。集群间数据交换评估值又可以用云迁移数据交换成本和云平台运营成本来具体计算。
[0056] 部分集群迁移到云平台后,集群间数据交换评估量Cost和集群间网络延时评估量Mtime都要分为云端集群和未迁移的本地集群两部分来计算。具体计算过程和公式如下:
[0057] 集群间数据交换评估量Cost由云端集群的数据交换评估量Costcloud和未迁移集群的数据交换评估量Costothers两部分相加得出。
[0058] 云端集群的数据交换评估量Costcloud的计算公式为其中, 表示所有集群之间交互的数据总流量, 表示
云端集群之间数据交互的总流量, 表示未迁移的本地集群之间数据交互的总流
量, 为本地集群和云端集群之间数据交互的总流量,
price为云计算服务提供商给出的流量单价。
[0059] 未迁移集群的数据交换评估量Costothers的计算公式为其中,P(i,j)代表未迁移的本地集群Bi和Bj之间的流量, 为未迁移的本地集群Bi和Bj之间的流量单价 是一个(n-m)*(n-m)的矩阵,该矩阵是矩阵D的一个子集, 的值
根据未迁移本地集群Bi和Bj从矩阵D中抽取而来。
[0060] 集群间网络延时评估量Mtime由云端集群与本地集群间数据交换网络延时Mtimecloud和未迁移集群间数据交换网络延时Mtimeothers两部分相加得出;未迁移集群间数据交换网络延时Mtimeothers的计算公式为 其中 为
未迁移的本地集群Bi和Bj之间的网络单位延迟时间; 是一个(n-m)*(n-m)的矩阵,该矩阵是矩阵M的一个子集, 的值根据未迁移本地集群Bi和Bj从矩阵M中抽取而来。
[0061] 云端集群与本地集群间数据交换网络延时Mtimecloud的计算公式为
[0062] 其中,R(i)表示未迁移本地集群Bi与迁移至云端的所有集群之间的总数据流量,S(i)表示本地集群与云端的网络单位延迟时间,R(i)*S(i)表示未迁移本地集群Bi与云端所有集群的数据交换网络延时。在此,把云端所有集群看成一个整体,计算每个本地集群与该整体的数据交换流量和网络延时,根据本地未迁移集群的数量,R(i)、S(i)可以用一维矩阵表示,R=[r1 r2 r3 … rn-m],S=[s1 s2 s3 … sn-m]。
[0063] 将集群间数据交换评估量Cost和集群间网络延时评估量Mtime按上文所述归一化处理得到评估函数
[0064] 图4为面向数据交换的云迁移评估系统的流程图,具体描述如下:
[0065] 1.用户首先需要向评估系统输入相关集群信息,包括集群间数据交换流量、集群间网络延迟时间信息、系统最大迭代次数以及用户可接受数据交换评估值和用户可接受网络延时评估值,对系统初始化。
[0066] 2.评估系统根据输入的信息,利用所建立的评估函数计算出集群在本地的评估值flocal,并将其设为系统默认初始的最佳评估值fbest。
[0067] 3.为了找到最佳的面向数据交换的云迁移方案,系统会随机生成迁移集群,根据迁移到云端的集群与未迁移的本地集群间的数据交换量,分别计算集群间数据交换评估量Cost和集群间网络延时评估量Mtime,并与用户设定的可接受数据交换评估值和网络延时评估值比较,若两者均小于相应可接受评估值,则进行下一步操作,否则循环本步骤;
[0068] 4.将步骤3得到的集群间数据交换评估量Cost和集群间网络延时评估量Mtime进行归一化处理,代入评估函数计算得出评估函数值fcloud,并与最佳评估值fbest比较,当其小于最佳评估值时,用该值替换最佳评估值(fbest=fcloud),否则返回步骤3;在设定的系统最大迭代次数的范围内,循环执行步骤3、4直至找到最佳评估值.
[0069] 5.系统输出最佳评估值以及取得该最佳评估值所对应的云迁移方案。