一种虚拟机部署位置的调整方法、装置及系统的制作方法_4

文档序号:8322349阅读:来源:国知局
ij是C。在网络中的出现概率:
[0162]通信代价为I的节点对,通信代价的修正值为:
[0163]l*l/4+CE*(l_l/4) = 2.875
[0164]通信代价为3的节点对,通信代价的修正值为:
[0165]3*l/4+CE*(l-l/4) = 3.375
[0166]通信代价为5的节点对,通信代价的修正值为:
[0167]5*l/2+CE* (1-1/2) = 4.25
[0168]进而可以得到如图5所示的修正后的通信代价矩阵。
[0169]流量统计值获得模块130,用于获得两个虚拟机节点i和j之间在预设历史时段的流量统计值Dij;
[0170]Dij为节点i和节点j之间的数据流量,该数据是通过监测网络运行状况得到的,在实际应用中,一般是对系统在某一历史阶段节点间流量进行统计,并将统计结果作为下一阶段虚拟机部署方案的调整依据,典型的应用场景例如:在每天的O点,统计前I天的系统内节点流量情况,然后根据前I天的流量情况确定当天的虚拟机部署方案。
[0171]假设监测到在某段历史时期内,图1所示的初始部署方案的流量情况如下:
[0172]节点I与节点2之间流量:D12= 2G ;
[0173]节点I与节点3之间流量:D13= 2G ;
[0174]节点I与节点4之间流量-D14= 2G ;
[0175]节点I与节点5之间流量:D15= IG ;
[0176]节点I与节点13之间流量:D113= 1G。
[0177]修正邻接度计算模块140,用于根据数据平滑模块120得到的Ci/和流量统计值获得模块130获得的Dij,计算两个虚拟机节点i和j之间的修正邻接度Ai/ ;
[0178]根据数据平滑模块120得到的Ci/和流量统计值获得模块130获得的Dij,利用Ai/ = Ci/和^可以计算得到,图1所示的系统节点间修正邻接度分别为:
[0179]节点I与节点2之间的修正邻接度:A12’ = 2*2.875 = 5.75 ;
[0180]节点I与节点3之间的修正邻接度:A13’ = 2*2.875 = 5.75 ;
[0181]节点I与节点4之间的修正邻接度:A14’ = 2*2.875 = 5.75 ;
[0182]节点I与节点5之间的修正邻接度:A15’ = 1*3.375 = 3.375 ;
[0183]节点I与节点13之间的修正邻接度:A113’ = 1*4.25 = 4.25。
[0184]最小割计算模块150,用于对网络中的虚拟机节点构成的修正邻接度图采用最小割算法,得到至少两个集合,
[0185]这里的修正邻接度图是根据网络中的虚拟机节点生成,对于任一修正邻接度图而言,图中的不同的顶点分别对应一个不同的虚拟机节点、且两个虚拟机节点i和j所对应的两个顶点之间存在一条以Ai/为权重值的边。
[0186]参见图8所示,在本发明的一种【具体实施方式】中,最小割计算模块150具体可以包括:
[0187]聚类子模块151,用于根据预设的聚类规则,对N个虚拟机节点进行聚类,得到至少一个类簇,在同一个类簇中,对于任意一个节点P,存在至少另一个节点P’,使得P’与P之间的修正邻接度不小于预设的阈值;
[0188]分割子模块152,用于根据预定义的物理邻接域划分规则,确定网络中每个物理邻接域所能容纳的虚拟机节点数量M,对聚类子单元得到的各个类簇对应的修正邻接度图分别迭代使用2阶最小割算法,得到对应于聚类子单元得到的各个类簇的分割结果;其中,每组分割结果中包含至少一个集合。
[0189]上述实施方式中,对虚拟机节点进行聚类的目的是:将交互关系比较密切的虚拟机节点划分到相同的类簇中,使得同一类簇中的节点能够优先被分配到物理连接较为紧密的位置。
[0190]相应地,“物理邻接域”可以按照实际需求灵活定义,例如,可以定义每台物理服务器为一个物理邻接域,也可以定义通信代价较小的多台服务器为一个物理邻接域。物理邻接域划分规则以预设信息的形式存储,该预设信息可以被在最小割计算过程中被读取,从而确定最小割算法中需要使用的参数M。
[0191]根据修正邻接度计算模块140的计算结果,假设预设的修正邻接度阈值为3,由于计算得到的6个修正邻接度均大于该阈值,因此,确定节点1、2、3、4、5、13属于同一类簇。进而以节点1、2、3、4、5、13为顶点、修正邻接度为边权重值,生成节点一张修正邻接度图。
[0192]在本实施例中,定义每台物理服务器为一个物理邻接域,即:每个物理邻接域所能容纳的虚拟机数量为2 ;
[0193]对修正邻接度图迭代使用2阶最小割算法,直至各个子集合中的节点个数不大于2,最后得到包含5个虚拟机节点子集合的分割结果:5,13,4,3,(1,2)。可见,每个子集合中的节点数量均小于物理服务器所能容纳的虚拟机数量2。另外,分割结果实际是一个子集合序列,各个子集合在序列中的相对位置,体现了在最小割迭代算法中分割子集合的先后顺序:
[0194]第一次分割,根据修正邻接度最小的A15’,将节点5分割为一个子集,
[0195]第二次分割,根据修正邻接度次小的A113'将节点13分割为一个子集,
[0196]......
[0197]以此类推,得到最终的分割结果5,13,4,3,(I, 2)。
[0198]可以理解的是,最小割算法的目的是:从图的所有割中,确定边权值之和最小的害J,因此,划分结果可能并不唯一,例如在上例的划分结果中,节点2、3、4是可以彼此调换的。另外为描述方便,在本实施例中仅涉及了节点I与其他节点间的流量,并未涉及其他节点间(例如节点2和3之间)的流量,而最小割算法本身能够适应各种可能出现的情况,并不仅限于处理上述简化情况。
[0199]在本发明的另一种【具体实施方式】中,最小割计算模块150还可以对包含N个虚拟机节点的修正邻接度图使用K阶最小割算法,得到K个虚拟机节点子集合。这里的K为预设的数值,K值可以根据实际需求设置,例如根据网络中物理邻接域数量设置,或者根据系统业务的逻辑分组数量设置,等等。
[0200]预先设置K值的目的是:按照实际需求,直接把虚拟机节点划分到K个组中。例如,对于图1所示系统,假设预设的数值K = 5,则直接对节点1-16构成的修正邻接度图进行5阶最小割运算,得到5个虚拟机节点子集合。
[0201]调整模块160,用于根据最小割计算模块150得到的至少两个集合,对网络中的虚拟机节点的部署位置进行调整。
[0202]可以理解的是,最小割算法仅是从数学的角度上,给出了对虚拟机部署方案的建议,但是该建议并不一定与系统的实际情况完全符合。因此在实际应用中,可能需要进一步结合系统的实际情况,对最小割算法的结果进行优化,总的优化原则是:在调整后的虚拟机部署方案中,对于任意虚拟机节点X,若存在虚拟机节点y与X属于相同的集合、虚拟机节点z与X属于不同的集合,则X与y之间的通信代价不大于X与z之间的通信代价。具体的优化策略可参考现有技术的实现方式,本发明实施例对此不做详细介绍。
[0203]例如,在迭代使用最小割算法的情况下,根据迭代原理,各个子集合在序列中的相对位置,体现了迭代分割子集合的先后顺序,而最先分割出的节点集,应该部署到通信代价较小的位置。
[0204]调整模块160根据最小割计算模块150的分割结果5,13,4,3,(I, 2),确定最终的虚拟机部署方案,由控制器对虚拟机的部署位置进行迀移,调整后的虚拟机部署方案如图6所示。可见,数据交互量较大的虚拟机I和2、虚拟机I和3或虚拟机I和4被调整到通信代价较小的位置,而数据交互量较小的虚拟机I和13、虚拟机I和5则被调整到通信代价较大的位置,该调整结果与实际期望的调整结果相符。
[0205]可见,本发明实施例所采用的方案,通过对节点间通信代价Cij进行修正,使得修正后的节点间通信代价既能体现对虚拟机部署位置调整结果的影响,又使得通信流量在调整结果中起到主导影响作用,从而可以得到更为合理的虚拟机部署位置调整结果。
[0206]图9是本发明实施例的虚拟机部署位置调整装置的硬件结构示意图。如图9所示,虚拟机部署位置调整装置900包括处理器902、存储器904、输入/输出接口 906、收发器908和总线910。其中,处理器902、存储器904、输入/输出接口 906和收发器908通过总线910实现彼此之间的通信连接。
[0207]处理器902可以采用通用的中央处理器(Central Processing Unit,CPU),微处理器,应用专用集成电路(Applicat1n Specific Integrated Circuit,ASIC),或者一个或多个集成电路,用于执行相关程序,以实现本发明实施例所提供的技术方案。
[0208]存储器904可以是只读存储器(Read Only Memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(Random Access Memory,RAM)。存储器904可以存储操作系统和其他应用程序。在通过软件或者固件来实现本发明实施例提供的技术方案时,用于实现本发明实施例提供的技术方案的程序代码保存在存储器904中,并由处理器902来执行。
[0209]输入/输出接口 906用于接收输入的数据和信息,输出操作结果等数据。
[0210]收发器908使用例如但不限于收发器一类的收发装置,来实现虚拟机部署位置调整装置与其他设备或通信网络之间的通信。
[0211]总线910可包括一通路,在虚拟机部署位置调整装置各个部件(例如处理器902、存储器904、输入/输出接口 906和收发器908之间传送信息。
[0212]应注意,尽管图9所示的虚拟机部署位置调整装置仅仅示出了处理器902、存储器904、输入/输出接口 906、收发器908以及总线910,但是在具体实现过程中,本领域的技术人员应当明白,虚拟机部署位置调整装置还包含实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当明白,虚拟机部署位置调整装置还可包含实现其他附加功能的硬件器件。此外,本领域的技术人员应当明白,虚拟机部署位置调整装置也
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1