本發(fā)明涉及云計算技術領域,特別涉及一種計算環(huán)境下基于基線分析的資源調(diào)度策略。
背景技術:
“云”的本質(zhì)在于系統(tǒng)本身的非實體化,可以認為云計算是為用戶量身定制一臺虛擬計算系統(tǒng),虛擬化技術因此成為云計算實現(xiàn)的底層基石。虛擬化是表示計算機資源的抽象方法,通過虛擬化技術可以用與訪問抽象前資源一致的方法訪問抽象后的資源,這種資源的抽象方法不受實現(xiàn)、地理位置和底層資源的物理配置的限制。
隨著虛擬化技術的成熟和互聯(lián)網(wǎng)的迅速發(fā)展,各大企業(yè)信息系統(tǒng)更多的轉(zhuǎn)向各種私有云或者公有云,產(chǎn)生的數(shù)據(jù)也迅速增長。人們認識到數(shù)據(jù)對企業(yè)的重要性,對數(shù)據(jù)進行分析挖掘能為企業(yè)的決策提供目的和資訊。通常創(chuàng)造和產(chǎn)生的數(shù)據(jù)是非結(jié)構(gòu)化或者半結(jié)構(gòu)化的數(shù)據(jù),若將這些數(shù)據(jù)下載到關系型數(shù)據(jù)庫進行分析,會發(fā)費大量的時間和金錢。在此時產(chǎn)生了如Map/Reduce分布式計算框架,從而進行大型數(shù)據(jù)集的分析和挖掘。
云計算,利用系統(tǒng)架構(gòu)技術把成千上萬臺服務器整合起來,為用戶提供靈活的資源分配和任務調(diào)度能力。虛擬化技術作為云計算中的關鍵技術之一,它可以將一臺物理計算機變?yōu)槎嗯_的虛擬計算機系統(tǒng)。虛擬化技術將物理資源等底層架構(gòu)進行抽象,使硬件設備之間的差異和兼容性對上層應用透明,從而實現(xiàn)對底層各類資源的統(tǒng)一管理。虛擬化技術是一種調(diào)配計算資源的方法,它能將應用系統(tǒng)的不同層次(硬件、軟件、數(shù)據(jù)、網(wǎng)絡、存儲等)進行隔離,從而打破數(shù)據(jù)中心、網(wǎng)絡、服務器、數(shù)據(jù)、應用和存儲中的物理設備之間的劃分,實現(xiàn)統(tǒng)一管理和動態(tài)使用物理資源和虛擬資源,提高了系統(tǒng)結(jié)構(gòu)的靈活性和彈性。
附圖1是虛擬化的系統(tǒng)架構(gòu)示意圖。附圖中,虛擬化技術中的虛擬機監(jiān)控軟件VMM(Virtual Machine Monitor),或稱為Hypervisor,它可以訪問服務器上的所有硬件設備。當服務器啟動并調(diào)用Hypervisor時,它會加載所有虛擬機客戶端上的操作系統(tǒng),同時給每個虛擬機分配適量的網(wǎng)絡、CPU、磁盤和內(nèi)存等物理資源。Hypervisor 負責協(xié)調(diào)這些硬件資源的訪問,同時也在每個虛擬機之間施加安全防護。
在大規(guī)模的云計算環(huán)境中,物理主機數(shù)以萬計,所消耗的資源是非常巨大的。虛擬化技術為云計算提供虛擬主機,虛擬主機是云計算環(huán)境下的主要對象,需要消耗主機的cpu、內(nèi)存、磁盤和網(wǎng)卡等資源。但是虛擬機受虛擬機的配置所占用的物理資源不同,同時虛擬機受用途的不同對資源的消耗也不盡相同。基于上述情況,本發(fā)明提出了一種計算環(huán)境下基于基線分析的資源調(diào)度策略。
技術實現(xiàn)要素:
本發(fā)明為了彌補現(xiàn)有技術的缺陷,提供了一種簡單高效的計算環(huán)境下基于基線分析的資源調(diào)度策略。
本發(fā)明是通過如下技術方案實現(xiàn)的:
一種計算環(huán)境下基于基線分析的資源調(diào)度策略,其特征在于:建立調(diào)度分析系統(tǒng),所述調(diào)度分析系統(tǒng)包括日志解析模塊,數(shù)據(jù)分析模塊和資源調(diào)度模塊;所述日志解析模塊包括日志上傳單元和日志解析單元,所述數(shù)據(jù)分析模塊包括數(shù)據(jù)整合與分析單元和查看分析結(jié)果單元,所述資源調(diào)度模塊包括資源調(diào)度策略生成單元和資源調(diào)度策略執(zhí)行單元。
所述日志解析模塊采用Map/Reduce編程模型,Mapper負責讀取日志并解析,生成易于讀取的日志對象交給Reducer處理,Reducer負責將所有日志數(shù)據(jù)合并,并輸出到HDFS存儲。
所述數(shù)據(jù)分析模塊先通過對數(shù)據(jù)進行整合,按照要求的格式進行合并;然后利用K-means對數(shù)據(jù)實現(xiàn)聚類分析,提高計算負載量和效率,利用Map/Reduce編程框架對K-means實現(xiàn)并行化。
所述資源調(diào)度模塊根據(jù)數(shù)據(jù)整合結(jié)果,把虛擬機相關信息進行整理,通過生成相關的調(diào)度策略,提高節(jié)點的利用率,同時在調(diào)度策略生成之后,資源調(diào)度策略執(zhí)行單元會執(zhí)行相關虛擬機的調(diào)度任務,從而在整體上提高效能。
本發(fā)明的有益效果是:該計算環(huán)境下基于基線分析的資源調(diào)度策略,提出了一個調(diào)度分析系統(tǒng),調(diào)度分析系統(tǒng)通過日志數(shù)據(jù)的采集,對數(shù)據(jù)進行分析,從而生成有利于提高整體效能的調(diào)度策略,通過調(diào)度策略的執(zhí)行,提高了節(jié)點的有效利用率,從而實現(xiàn)了整體效能的提升。
附圖說明
附圖1為虛擬化的系統(tǒng)架構(gòu)示意圖。
附圖2為Hadoop的簡單架構(gòu)示意圖。
附圖3為本發(fā)明調(diào)度分析系統(tǒng)架構(gòu)示意圖。
具體實施方式
為了使本發(fā)明所要解決的技術問題、技術方案及有益效果更加清楚明白,以下結(jié)合附圖和實施例,對本發(fā)明進行詳細的說明。應當說明的是,此處所描述的具體實施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
該計算環(huán)境下基于基線分析的資源調(diào)度策略,建立調(diào)度分析系統(tǒng),所述調(diào)度分析系統(tǒng)包括日志解析模塊,數(shù)據(jù)分析模塊和資源調(diào)度模塊;所述日志解析模塊包括日志上傳單元和日志解析單元,所述數(shù)據(jù)分析模塊包括數(shù)據(jù)整合與分析單元和查看分析結(jié)果單元,所述資源調(diào)度模塊包括資源調(diào)度策略生成單元和資源調(diào)度策略執(zhí)行單元。
所述日志解析模塊采用Hadoop架構(gòu),用于實現(xiàn)對非格式化日志數(shù)據(jù)進行解析并格式化存儲,利用Map/Reduce編程框架進行并行化解析日志,在日志中提取出虛擬機性能數(shù)據(jù)(CPU、內(nèi)存使用量)和虛擬機進程使用數(shù)據(jù),經(jīng)過統(tǒng)計后按照一定的格式存儲。具體地說,所述日志解析模塊采用Map/Reduce編程模型,Mapper負責讀取日志并解析,生成易于讀取的日志對象交給Reducer處理,Reducer負責將所有日志數(shù)據(jù)合并,并輸出到HDFS存儲。
所述數(shù)據(jù)分析模塊先通過對數(shù)據(jù)進行整合,按照要求的格式進行合并;然后利用K-means算法對數(shù)據(jù)實現(xiàn)聚類分析,提高計算負載量和效率,利用Map/Reduce編程框架對K-means實現(xiàn)并行化。
所述資源調(diào)度模塊根據(jù)數(shù)據(jù)整合結(jié)果,把虛擬機相關信息進行整理,通過生成相關的調(diào)度策略,提高節(jié)點的利用率,同時在調(diào)度策略生成之后,資源調(diào)度策略執(zhí)行單元會執(zhí)行相關虛擬機的調(diào)度任務,從而在整體上提高效能。
1、關于Hadoop架構(gòu)
Hadoop的核心由Map/Reduce和Hadoop Distributed File System組成。最底層是HDFS,它存儲著Hadoop所有節(jié)點上的文件,由NameNode和DataNode組成。Map/Reduce是位于HDFS的上一層,由JobTracker和TaskTracker組成。
2、關于K-means算法
K-means算法作為是最為經(jīng)典的基于劃分的聚類算法。該算法最大的有點是在于簡潔快速,并且能夠通過簡單的修改便可以應用在分布式計算框架上,成為大規(guī)模數(shù)據(jù)分析的工具。
K-means算法輸入數(shù)值為K和N個數(shù)據(jù)對象,然后對N個數(shù)據(jù)對象分成K個聚類,使獲得的聚類滿足以下條件:
(1)同一聚類中,數(shù)據(jù)對象相似度較高;
(2)不同聚類中,數(shù)據(jù)對象相似度較低。
每個聚類都有一個聚類中心,即每個聚類的質(zhì)心,一般以各聚類中的數(shù)據(jù)對象均值來計算聚類中心體現(xiàn)該聚類的特征。
K-means算法的基本思想是:設立K個中心點,計算對象與中心點的相似性,把與中心點相似性高的對象劃為相應的類別,更新中心點直到得到較好的聚類結(jié)果。