確定云平臺中通信代理節(jié)點和虛擬機的映射關系的方法
【專利摘要】本發(fā)明公開一種確定云平臺中通信代理節(jié)點和虛擬機的映射關系的方法,基于OpenStackHavana版搭建云平臺。在所述云平臺的通信代理節(jié)點與虛擬機的映射關系通過以下步驟確定:1)測試云平臺中所有虛擬機的數據處理性能大小,將云平臺中所有虛擬機按數據處理性能大小排序。2)找出當前未分配給通信代理節(jié)點的虛擬機中,數據處理性能最大的虛擬機作為待分配虛擬機。3)測試云平臺中所有通信代理節(jié)點的負載百分比大小,找出負載百分比最小的通信代理節(jié)點,并將步驟2)找出的待分配虛擬機分配給該通信代理節(jié)點。4)重復步驟2?3),直到步驟1)測試過的虛擬機全部分配給通信代理節(jié)點。
【專利說明】確定云平臺中通信代理節(jié)點和虛擬機的映射關系的方法
【技術領域】
[0001] 本發(fā)明涉及云平臺大數據處理。
【背景技術】
[0002] 基于云平臺的大數據處理集群由于其彈性可伸縮的計算框架以及"按需獲取"的 新型業(yè)務模式正逐漸的被工業(yè)界采納。
[0003] 從OpenStack Grizzly版開始,為了改善虛擬網絡的性能和可靠性,可以允許租戶 在多主機上部署通信代理節(jié)點。但是,虛擬網絡組件Neutron只實現了虛擬網絡的通信功 能,并沒有進一步關注虛擬網絡通信性能的提升。也就是說,沒有提供有效的通信代理節(jié)點 部署分配策略。而針對基于OpenStack的Hadoop集群,我們需要如何去設計通信代理分配 策略來優(yōu)化虛擬網絡的性能以提升集群大數據處理的能力是我們亟需解決的問題。具體來 說,就是為基于OpenStack的虛擬網絡優(yōu)化部署提供解決方案,而其中一個關鍵問題就是 要確定云平臺中通信代理節(jié)點和虛擬機的映射關系。
【發(fā)明內容】
[0004] 本發(fā)明的目的是解決現有技術沒有確定云平臺中通信代理節(jié)點和虛擬機的映射 關系的問題。
[0005] 為實現本發(fā)明目的而采用的技術方案是這樣的,一種確定云平臺中通信代理節(jié)點 和虛擬機的映射關系的方法,構建一個包括一臺控制節(jié)點服務器和X臺計算節(jié)點服務器的 云平臺,X為大于或等于1的自然數。每一臺所述的計算節(jié)點服務器上構建若干臺虛擬機。 所述云平臺基于OpenStack Havana版搭建。在所述云平臺的部分或全部計算節(jié)點服務器 上一共構建有Y個通信代理節(jié)點,1 <Y<X。所述通信代理節(jié)點用于管理虛擬機,每一個 通信代理節(jié)點映射若干虛擬機。通信代理節(jié)點與虛擬機的映射關系通過以下步驟確定:
[0006] 1)測試云平臺中所有虛擬機的數據處理性能大小,將云平臺中所有虛擬機按數據 處理性能大小排序。
[0007] 2)找出當前未分配給通信代理節(jié)點的虛擬機中,數據處理性能最大的虛擬機作為 待分配虛擬機。
[0008] 3)測試云平臺中所有通信代理節(jié)點的負載百分比大小,找出負載百分比最小的通 信代理節(jié)點,并將步驟2)找出的待分配虛擬機分配給該通信代理節(jié)點。
[0009] 4)重復步驟2?3),直到步驟1)測試過的虛擬機全部分配給通信代理節(jié)點。
[0010] 本發(fā)明的技術效果是毋庸置疑的?;谏鲜龇椒?,為基于OpenStack的虛擬網絡 優(yōu)化部署提供了解決方案,解決了其中一個關鍵問題一一確定云平臺中最優(yōu)通信代理節(jié)點 與虛擬機的映射關系。
【專利附圖】
【附圖說明】
[0011] 圖1為本發(fā)明的流程圖;
[0012] 圖2為實施例3的小效果圖;
[0013] 圖3為實施例4的小效果圖。
【具體實施方式】
[0014] 下面結合附圖和實施例對本發(fā)明作進一步說明,但不應該理解為本發(fā)明上述主題 范圍僅限于下述實施例。在不脫離本發(fā)明上述技術思想的情況下,根據本領域普通技術知 識和慣用手段,做出各種替換和變更,均應包括在本發(fā)明的保護范圍內。
[0015] 實施例1 :
[0016] 一種確定云平臺中通信代理節(jié)點和虛擬機的映射關系的方法,構建一個包括一臺 控制節(jié)點服務器和X臺計算節(jié)點服務器的云平臺,X為大于或等于1的自然數。每一臺所述 的計算節(jié)點服務器上構建若干臺虛擬機。所述云平臺基于OpenStack Havana版搭建。在 所述云平臺的部分或全部計算節(jié)點服務器上一共構建有Y個通信代理節(jié)點,1 < Y < X。所 述通信代理節(jié)點用于管理虛擬機,每一個通信代理節(jié)點映射若干虛擬機。通信代理節(jié)點與 虛擬機的映射關系通過以下步驟確定:
[0017] 1)測試云平臺中所有虛擬機的數據處理性能大小,將云平臺中所有虛擬機按數據 處理性能大小排序。云平臺中所有虛擬機將要通過以下步驟逐個分配給通信代理節(jié)點,即 確定通信代理節(jié)點與虛擬機的映射關系。
[0018] 2)找出當前未分配給通信代理節(jié)點的虛擬機中,數據處理性能最大的虛擬機作為 待分配虛擬機。
[0019] 值得說明的是,步驟2)?3)需要循環(huán)運行多次,首次運行步驟2)時,步驟1)中 測試的所有虛擬機均未分配給通信代理節(jié)點,所以,云平臺中所有的虛擬機均為"未分配給 通信代理節(jié)點的虛擬機"。
[0020] 3)測試云平臺中所有通信代理節(jié)點的負載百分比大小,找出負載百分比最小的通 信代理節(jié)點,并將步驟2)找出的待分配虛擬機分配給該通信代理節(jié)點。
[0021] 4)重復步驟2?3),直到步驟1)測試過的虛擬機全部分配給通信代理節(jié)點,即確 定了通信代理節(jié)點與虛擬機的映射關系。
[0022] 值得說明的是,步驟2)?3)需要循環(huán)運行多次,每一次步驟3)結束后,還沒有被 分配給通信代理節(jié)點的云平臺中的虛擬機即為下一次運行步驟2)時的"未分配給通信代 理節(jié)點的虛擬機"。
[0023] 實施例2 :
[0024] 本實施例的各個步驟與實施例1對應。首先,構建一個包括一臺控制節(jié)點服務器 和X臺計算節(jié)點服務器的云平臺,X為大于或等于1的自然數。每一臺所述的計算節(jié)點服務 器上構建若干臺虛擬機,即第i臺計算節(jié)點服務器上構建有rii臺虛擬機,其中,i = 1、2...... X,叫為大于或等于1的自然數。所述云平臺基于OpenStack Havana版搭建。在所述云平 臺的部分或全部計算節(jié)點服務器上一共構建有Y個通信代理節(jié)點,1 < Y < X。所述通信代 理節(jié)點用于管理虛擬機,每一個通信代理節(jié)點映射若干虛擬機。
[0025] 通信代理節(jié)點與虛擬機的映射關系通過以下步驟確定:1)測試云平臺中所有虛 擬機的數據處理性能大小,第i臺服務器上的第j臺虛擬機的數據處理性能表示為A#」= 1、2……叫,得到云平臺中所有虛擬機的數據處理性能大小集合S= {An,……,A21,…… Ajj ? ......Ajj? ......} 〇
[0026] 2)云平臺中,所有未分配給通信代理節(jié)點的虛擬機的數據處理性能大小集合為 S,,S' cS。
[0027] 求得集合S'中的最大值。即選出所有未分配的虛擬機中,數據處理性能最大的虛 擬機作為待分配虛擬機。
[0028] 3)測試云平臺中所有通信代理節(jié)點的負載百分比大小,第k個通信代理節(jié)點的負 載百分比大小表示為B k,得到云平臺中,所有通信代理節(jié)點負載百分比大小集合F= {Bp B2,……,Bk,……,By}。將待分配虛擬機分配給負載百分比最小的通信代理節(jié)點。
[0029] 4)重復步驟2?3)
[0030] 實施例3 :
[0031] 本實施例通過一個具體的例子來說明實施例1和2。即一種確定云平臺中通信代 理節(jié)點和虛擬機的映射關系的方法,構建一個包括一臺控制節(jié)點服務器和3臺計算節(jié)點服 務器的云平臺,即X = 3。每一臺所述的計算節(jié)點服務器上構建若干臺虛擬機,即第1臺計 算節(jié)點服務器上構建有2臺虛擬機,第2臺計算節(jié)點服務器上構建有1臺虛擬機,第3臺計 算節(jié)點服務器上構建有1臺虛擬機。所述云平臺基于OpenStack Havana版搭建。在所述 云平臺的部分計算節(jié)點服務器上一共構建有2個通信代理節(jié)點,即第1臺和第3臺計算節(jié) 點服務器上各有1個通信代理節(jié)點,第2臺計算節(jié)點服務器上沒有通信代理節(jié)點。所述通 信代理節(jié)點用于管理虛擬機,每一個通信代理節(jié)點映射若干虛擬機,但具體哪個通信代理 節(jié)點映射哪個虛擬機是通過以下步驟確定:
[0032] 1)使用vSphere測試云平臺中所有虛擬機的數據處理性能大小,第1臺服務器上 的第1臺虛擬機的數據處理性能表示為A n = 2. 46GHz,A12 = 2. 72GHz,A21 = 2. 55GHz,A31 =2. 50GHz ;
[0033] 得到云平臺中所有虛擬機的數據處理性能大小集合S = {An = 2. 46GHz,A12 = 2. 72GHz, A21 = 2. 55GHz, A31 = 2. 50GHz};
[0034] 2)云平臺中,所有未分配的虛擬機的數據處理性能大小集合為S',本步驟中:S' =S ;
[0035] 求得集合S'中的最大值A = A12 = 2. 72GHz。即選出所有未分配的虛擬機中,數 據處理性能最大的虛擬機為第1臺計算節(jié)點服務器上的第2個虛擬機,將其作為待分配虛 擬機。
[0036] 3)使用vSphere測試云平臺中所有通信代理節(jié)點的負載百分比大小,第k個通信 代理節(jié)點的負載百分比大小表示為B k,得到云平臺中,所有通信代理節(jié)點負載百分比大小 集合 F =取=2 %,B2 = 6 % };
[0037] 4)將待分配虛擬機分配給負載百分比最小的通信代理節(jié)點;S卩,將第1臺計算節(jié) 點服務器上的第2個虛擬機分配給第1臺計算節(jié)點服務器上的通信代理節(jié)點;
[0038] 5)云平臺中,所有未分配的虛擬機的數據處理性能大小集合為S',本步驟中:S' ={A n = 2. 46GHz, A21 = 2. 55GHz, A31 = 2. 50GHz};
[0039] 求得集合S'中的最大值A21 = 2. 55GHz。即選出所有未分配的虛擬機中,數據處 理性能最大的虛擬機為第2臺計算節(jié)點服務器上的第1個虛擬機,將其作為待分配虛擬機。
[0040] 6)使用vSphere測試云平臺中所有通信代理節(jié)點的負載百分比大小,第k個通信 代理節(jié)點的負載百分比大小表示為Bk,得到云平臺中,所有通信代理節(jié)點負載百分比大小 集合 F =取=21 %,B2 = 6 % };
[0041] 7)將待分配虛擬機分配給負載百分比最小的通信代理節(jié)點;S卩,將第2臺計算節(jié) 點服務器上的第1個虛擬機分配給第3臺計算節(jié)點服務器上的通信代理節(jié)點;
[0042] 8)云平臺中,所有未分配的虛擬機的數據處理性能大小集合為S',本步驟中:S' ={A n = 2. 46GHz, A31 = 2. 50GHz};
[0043] 求得集合S'中的最大值A31 = 2. 50GHz。即選出所有未分配的虛擬機中,數據處 理性能最大的虛擬機為第3臺計算節(jié)點服務器上的第1個虛擬機,將其作為待分配虛擬機。
[0044] 9)使用vSphere測試云平臺中所有通信代理節(jié)點的負載百分比大小,第k個通信 代理節(jié)點的負載百分比大小表示為B k,得到云平臺中,所有通信代理節(jié)點負載百分比大小 集合 F =取=21%,B2 = 29% };
[0045] 10)將待分配虛擬機分配給負載百分比最小的通信代理節(jié)點;S卩,將第3臺計算節(jié) 點服務器上的第1個虛擬機分配給第1臺計算節(jié)點服務器上的通信代理節(jié)點;
[0046] 11)云平臺中,只有第1臺計算節(jié)點服務器上的第1個虛擬機未分配,即S'= {An =2. 46GHz};
[0047] 12)使用vSphere測試云平臺中所有通信代理節(jié)點的負載百分比大小,第k個通信 代理節(jié)點的負載百分比大小表示為B k,得到云平臺中,所有通信代理節(jié)點負載百分比大小 集合 F =取=38%,B2 = 29% };
[0048] 13)將待分配虛擬機分配給負載百分比最小的通信代理節(jié)點;S卩,將第1臺計算節(jié) 點服務器上的第1個虛擬機分配給第3臺計算節(jié)點服務器上的通信代理節(jié)點。
[0049] 選用經典的MapReduce程序:WordCount,測試數據通過網絡爬蟲在Wikipedia上 爬取21G的文本數據。在WordCount程序運行完之后,得出整個MapReduce階段的總時間。 如圖2所示。從圖中可以看到采用本方法進行通信代理節(jié)點與虛擬機的映射耗時明顯低于 隨機映射方法。
[0050] 實施例4 :
[0051] 本實施例采用實施例1的方法,基于OpenStack Havana版搭建云平臺。構建了一 個包含21臺服務器的云計算IaaS平臺,其中包括1臺控制節(jié)點,20臺計算節(jié)點。具體服 務器配置和每臺服務器上的虛擬機如表1所示。該平臺以虛擬資源的方式為用戶提供虛擬 資源的使用,提供的虛擬資源的模板種類如表2所示。選用統一的微型主機模板。然后在 IaaS平臺中分配了 246臺虛擬機,搭建了基于云計算的并行計算集群。其中配置一臺虛擬 機作為Hadoop的master節(jié)點,其他245臺作為Hadoop的slave節(jié)點。為了對本方法進 行評估,以計算機程序設計語言對方法進行了實現,并整合到OpenStack平臺中,在實際的 IaaS應用場景中,對本方法進行詳細的評估。
[0052] 表1云計算IaaS平臺服務器配置
[0053]
【權利要求】
1. 一種確定云平臺中通信代理節(jié)點和虛擬機的映射關系的方法,構建一個包括一臺控 制節(jié)點服務器和X臺計算節(jié)點服務器的云平臺,X為大于或等于1的自然數;每一臺所述的 計算節(jié)點服務器上構建若干臺虛擬機;所述云平臺基于OpenStack Havana版搭建;在所述 云平臺的部分或全部計算節(jié)點服務器上一共構建有Y個通信代理節(jié)點,1彡Y彡X ;所述通 信代理節(jié)點用于管理虛擬機,每一個通信代理節(jié)點映射若干虛擬機; 其特征在于:通信代理節(jié)點與虛擬機的映射關系通過以下步驟確定: 1) 測試云平臺中所有虛擬機的數據處理性能大小,將云平臺中所有虛擬機按數據處理 性能大小排序; 2) 找出當前未分配給通信代理節(jié)點的虛擬機中,數據處理性能最大的虛擬機作為待分 配虛擬機; 3) 測試云平臺中所有通信代理節(jié)點的負載百分比大小,找出負載百分比最小的通信代 理節(jié)點,并將步驟2)找出的待分配虛擬機分配給該通信代理節(jié)點; 4) 重復步驟2?3),直到步驟1)測試過的虛擬機全部分配給通信代理節(jié)點。
【文檔編號】H04L29/08GK104219285SQ201410394360
【公開日】2014年12月17日 申請日期:2014年8月12日 優(yōu)先權日:2014年8月12日
【發(fā)明者】任海軍, 龍瀾, 潘璐璐, 吳良俊, 郭曉東, 吳海燕, 王博 申請人:重慶大學