最新的毛片基地免费,国产国语一级毛片,免费国产成人高清在线电影,中天堂国产日韩欧美,中国国产aa一级毛片,国产va欧美va在线观看,成人不卡在线

集群負載預測方法及分布式集群管理系統(tǒng)的制作方法

文檔序號:7886840閱讀:282來源:國知局
專利名稱:集群負載預測方法及分布式集群管理系統(tǒng)的制作方法
技術領域
本發(fā)明涉及分布式集群系統(tǒng),特別涉及一種集群負載預測方法及其對應的分布式集群管理系統(tǒng)
背景技術
隨著當今社會計算機技術的不斷發(fā)展,分布式集群愈來愈廣泛地應用于不同領域。然而,隨著集群的規(guī)模的不斷增大,傳統(tǒng)的集群管理方法已不能滿足規(guī)模集群的需求,因此,分布式大規(guī)模集群管理調度技術應用而生,即分布式集群管理系統(tǒng)。根據(jù)該系統(tǒng)是否對集群負載進行預測,其工作流程可分為兩種類型第一種類型,系統(tǒng)對集群負載未進行預測集群調度模塊直接從負載監(jiān)控模塊讀取負載數(shù)據(jù),然后對數(shù)據(jù)進行解析,做出調度決策,再將調度決策發(fā)送到?jīng)Q策實施模塊,決策實施模塊根據(jù)其所處的實際物理環(huán)境對決策進行實施執(zhí)行;第二種類型,系統(tǒng)對集群負載進行預測集群調度模塊根據(jù)實際情況向負載預測模塊發(fā)送用戶預測需求信息,這種需求信息可以是人為配置的,也可以是系統(tǒng)根據(jù)集群當前的負載情況做出的實時需求,負載預測模塊根據(jù)預測需求使用預測算法對負載進行預測,給出預測后的負載數(shù)據(jù),發(fā)送到集群調度模塊,集群調度模塊分析負載數(shù)據(jù),做出調度決策,發(fā)送到?jīng)Q策實施模塊進行實際的實施執(zhí)行。在大規(guī)模分布式虛擬化集群資源調度領域中,由于業(yè)務的差異性造成對集群資源的使用不均衡,所以必須在間隔一定的時間內對集群整體的資源做一次調度,使集群中物理資源的使用達到一個均衡的狀態(tài);或通過調度決策使集群中的物理資源利用率提高,同時減少一些不必要的物理資源,以達到節(jié)能減排的目的。在調度的過程中,若采用如前所述的不對負載進行預測的系統(tǒng)時,由于集群規(guī)模大,做一次調度決策以及決策實施的時間會比較長,使得監(jiān)控系統(tǒng)監(jiān)控到的集群的實際負載數(shù)據(jù)相對滯后,系統(tǒng)做出的調度決策也會出現(xiàn)滯后的情況,不能體現(xiàn)實時的負載特性。據(jù)此,調度決策不能用當前的負載作為決策依據(jù)?,F(xiàn)有技術一種能夠對集群負載進行預測分布式集群管理系統(tǒng)主要分為四個模塊數(shù)據(jù)監(jiān)控模塊、負載預測模塊、集群調度模塊以及決策實施模塊。負載預測模塊內的負載預測過程基本分為預測模型的訓練階段和預測階段。在預測模型的訓練階段,通過對集群負載監(jiān)控模塊獲得的歷史數(shù)據(jù)進行分析,使用滿足需求的預測算法建立學習模型,來挖掘資源數(shù)據(jù)變化的規(guī)律性,訓練出一種預測模型;在預測階段,在給定單位時間粒度獲取監(jiān)測數(shù)據(jù),利用學習到的預測模型預測出下一時間段的性能資源數(shù)據(jù),為資源調度決策提供基本依據(jù)。目前的集群負載預測模型根據(jù)不同的原理主要有基于時間序列的指數(shù)加權移動平均EWMA算法和基于集群負載規(guī)律性的神經(jīng)網(wǎng)絡算法BP-NN,以及一些其他的預測算法。這些算法都是針對不同的負載規(guī)律進行預測,且各自具有不同優(yōu)缺點。由于同一集群環(huán)境在不同的應用場景下,業(yè)務對集群的資源需求有很大差異,會呈現(xiàn)出不同的業(yè)務規(guī)律性,而預測這些不同規(guī) 律性的集群負載需要采用不同的預測算法?,F(xiàn)有技術對上述不同算法的建立是針對每一種不同的規(guī)律都開發(fā)出不同的接口以滿足集群負載預測的需求。這種做法雖然可以暫時解決問題,但缺乏自適應性和靈活性。針對不同的業(yè)務規(guī)律需要選擇不同的預測算法來滿足負載預測需求,按當前的做法不能自適應的去選擇相應的算法,需要手動修改代碼完成相關需求;當有新的負載規(guī)律出現(xiàn)時,需要重新開發(fā)獨立的接口以滿足需求,而開發(fā)過程中需要重新考慮集群環(huán)境及負載類型等問題,做了很多不必要的重復工作。

發(fā)明內容
本發(fā)明要解決上述技術所存在的缺陷,提供一種自適應的算法可插拔的分布式集群負載預測方法,彌補了現(xiàn)有預測方法所存在的不能自適應選擇算法和缺乏靈活性的問題;相應地,提供了一種分布式集群管理系統(tǒng)。一種集群負載預測方法,應用于分布式集群系統(tǒng),包括步驟在系統(tǒng)中設置預測算法存儲單元與算法池;預先在算法池內儲存能夠對集群負載進行預測的預測算法及其相關參數(shù)信息,并對算法池內的預測算法及其相關參數(shù)信息實時更新;接收外部寫入的用戶預測需求信息,解析該用戶預測需求信息并將該信息存儲于系統(tǒng)中;將已解析的用戶預測需求信息逐一地與算法池內存儲的預測算法進行匹配,選擇出匹配程度最大的預測算法并將該預測算法及其相關參數(shù)信息更新至預測算法存儲單元;獲取系統(tǒng)提供的負載數(shù)據(jù);基于預測算法存儲單元內的預測算法及其相關參數(shù)信息建立負載預測模型,利用負載數(shù)據(jù)訓練負載預測模型;使用訓練好的負載預測模型對集群負載進行預測,得到預測結果。所述的用戶預測需求信息包括用戶所需的預測精度信息、預測規(guī)律類型信息、預測周期信息以及預測算法特性信息。進一步地,所述的接收外部寫入的用戶預測需求信息中,接收到的用戶預測需求信息是以鍵-值對的方式或以XML格式存儲于系統(tǒng)的配置文件中。進一步地,所述的解析該用戶預測需求信息并將該信息存儲于系統(tǒng)中,包括對以鍵-值對的方式存儲于配置文件中的用戶預測需求信息,從配置文件中逐條讀取所有的用戶預測需求信息并判斷讀取的信息是否合法若讀取的信息為合法輸入,則按鍵-值分隔符對該信息進行分割并將分割后的鍵信息和值信息分別存儲于系統(tǒng)中;若讀入的信息為非法輸入則系統(tǒng)報錯;如此反復,直到配置文件的末尾;對以XML格式存儲于配置文件中的用戶預測需求信息,首先解析用戶預測需求信息的數(shù)據(jù)根節(jié)點,并將根節(jié)點及其屬性信息存儲于系統(tǒng)中,再以循環(huán)遍歷的方式解析用戶預測需求信息的子節(jié)點及其屬性信息,并存儲至系統(tǒng)中;以此類推,直到所有的用戶預測需求信息的節(jié)點信息都已解析完畢。
進一步地,將已解析的用戶預測需求信息逐一地與算法池內存儲的預測算法進行匹配,選擇出匹配程度最大的預測算法并將該預測算法及其相關參數(shù)信息更新至預測算法存儲單元,包括步驟讀取第一條用戶預測需求信息,并以此為關鍵詞搜尋算法池內匹配該信息的預測算法;當遇到第一個與該信息適配的預測算法時,停止搜索;
針對該預測算法匹配下一條用戶預測需求信息;若該預測算法對所有的用戶預測需求信息逐一適配,將該預測算法及其相關參數(shù)信息更新至預測算法儲存單元;若該預測算法對所有的用戶預測需求信息不能逐一適配,則將該預測算法及其相關參數(shù)信息備份于系統(tǒng)中,并對算法池內未經(jīng)搜索的預測算法重復上述步驟;若算法池內所有的預測算法均不能對所有的用戶預測需求逐一適配,選擇備份于系統(tǒng)中的預測算法中與所有的用戶預測需求信息最大匹配者,并將該預測算法及其相關參數(shù)信息更新至預測算法儲存單元。本發(fā)明的集群負載預測方法具有以下技術效果一、支持用戶預測需求可配置,通過在系統(tǒng)中寫入用戶的預測需求,且可以根據(jù)該用戶的預測需求,例如用戶對于負載預測的預測精度以及預測特性等預測需求完成對于負載的預測;二、支持預測算法的自適應選擇,根據(jù)已解析的用戶預測需求信息對算法池中的預測算法進行匹配,實現(xiàn)系統(tǒng)自適應地選擇與用戶預測需求信息最大匹配的預測算法;三、支持預測算法的可插拔,本發(fā)明的方法能夠對算法池內的預測算法及其相關參數(shù)信息實時更新,即對系統(tǒng)不必要的預測算法進行注銷及刪除,對新增的預測算法進行注冊及增加,簡單有效;除上述三個有益的技術效果外,本發(fā)明的方法還具有算法可控性強和可擴展性強的特性;除了分布式集群管理系統(tǒng)中的負載預測應用場景,本發(fā)明的方法可以應用到其他有類似需求的場景中。一種分布式集群管理系統(tǒng),包括集群調度模塊、負載監(jiān)控模塊、負載預測模塊以及決策實施模塊,其特征在于,所述的負載預測模塊包括配置文件、算法控制器以及算法執(zhí)行器;所述的集群調度模塊,將外部輸入的用戶預測需求信息存儲于配置文件;所述的算法控制器,包括存儲能夠對集群負載進行預測的預測算法及其相關參數(shù)信息的算法池;所述的算法控制器對算法池內的預測算法及其相關參數(shù)信息實時更新,并解析配置文件中的用戶預測需求信息;將已解析的用戶預測需求信息逐一地與算法池內儲存的預測算法進行匹配,選擇匹配程度最大的預測算法,并將該預測算法及其相關參數(shù)信息發(fā)送至算法執(zhí)行器;所述的算法執(zhí)行器,接收預測算法及其相關參數(shù)信息,并請求負載監(jiān)控模塊或外部設備監(jiān)測到的負載數(shù)據(jù);根據(jù)該預測算法及其相關參數(shù)信息建立負載預測模型,利用請求到的負載數(shù)據(jù)訓練負載預測模型;使用訓練好的負載預測模型對集群負載進行預測,并將得到預測結果返回至集群調度模塊;所述的集群調度模塊,接收該預測結果并將該預測結果作為調度決策的參考,輸出調度決策至決策實施模塊;所述的決策實施模塊,接收該調度決策,根據(jù)系統(tǒng)所處的實際物理環(huán)境執(zhí)行調度決策。所述的用戶預測需求信息包括用戶所需的預測精度信息、預測規(guī)律類型信息、預測周期信息以及預測算法特性信息。進一步地,所述的用戶預測需求信息以鍵-值對的方式或以XML格式存儲于配置文件中。進一步地,所述的算法控制器包括信息需求存儲單元;對以鍵-值對的方式存儲于配置文件中的用戶預測需求信息,所述的算法控制器從配置文件中逐條讀取所有的用戶預測需求信息并判斷讀取的信息是否合法若讀取的信息為合法輸入,則按鍵-值分隔符對該信息進行分割并將分割后的鍵信息和值信息分別存儲于所述的信息存儲單元中;若讀入的信息為非法輸入則算法控制器報錯;如此反復,直到配置文件的末尾;對以XML格式存儲于配置文件中的用戶預測需求信息,所述的算法控制器首先解析用戶預測需求信息的數(shù)據(jù)根節(jié)點,并將根節(jié)點及其屬性信息存儲于所述的信息存儲單元中,再以循環(huán)遍歷的方式解析用戶預測需求信息的子節(jié)點及其屬性信息,并存儲至信息存儲單元中;以此類推,直到所有的用戶預測需求信息的節(jié)點信息都已解析完畢。進一步地,所述的算法控制器包括預測算法儲存單元,所述的算法控制器實現(xiàn)以下步驟讀取第一條用戶預測需求信息,并以此為關鍵詞搜尋算法池內匹配該信息的預測算法;當遇到第一個與該信息適配的預測算法時,停止搜索;針對該預測算法匹配下一條用戶預測需求信息;若該預測算法對所有的用戶預測需求信息逐一適配,將該預測算法及其相關參數(shù)信息更新至預測算法儲存單元;若該預測算法對所有的用戶預測需求信息不能逐一適配,則將該預測算法及其相關參數(shù)信息備份于系統(tǒng)中,并對算法池內未經(jīng)搜索的預測算法重復上述步驟;若算法池內所有的預測算法均不能對所有的用戶預測需求逐一適配,選擇備份于系統(tǒng)中的預測算法中與所有的用戶預測需求信息最大匹配者,并將該預測算法及其相關參數(shù)信息更新至預測算法儲存單元。在算法控制器中需完成對配置文件進行解析,以獲取配置文件中寫入的用戶預測需求信息,所以算法控制器中所能解析的文件的格式必須和配置文件的格式一致;算法控制器根據(jù)解析的配置文件的需求信息選擇滿足條件的預測算法,并將與所選算法相關的參數(shù)信息一并發(fā)送到算法執(zhí)行器,實現(xiàn)了本發(fā)明系統(tǒng)中預測算法的自適應選擇;另外,算法控制器還負責新的預測算法的注冊/和注銷,當有新的滿足需求的預測算法被實現(xiàn)時,可以通過算法控制器進行注冊,算法控制器將其信息添加到可供選擇的預測算法池中,以供選擇;當有的算法已不能滿足當前選擇或為了提升算法選擇效率時,可以通過算法控制器將其在算法池中進行注銷,則系統(tǒng)在進行下一次預測算法選擇時將會屏蔽此算法的信息,即對算法池內的預測算法及其相關參數(shù)信息實時更新,實現(xiàn)了本發(fā)明系統(tǒng)中算法池內預測算法的可插拔。算法執(zhí)行器根據(jù)算法控制器提供的預測算法及相關的參數(shù)信息,使用歷史的負載數(shù)據(jù)對預測模型進行學習和訓練,當訓練完成后,可以將監(jiān)測到的負載數(shù)據(jù)輸入到預測模型,得到預測后的負載數(shù)據(jù)輸出值,輸出數(shù)據(jù)可用做集群資源調度決策的參考依據(jù)或做其他處理;另外,可以先將針對某一預測算法的預測模型存儲起來,等需要用到這種預測模型時可以直接使用存儲的預測模型,這樣可以節(jié)省預測模型學習和訓練所帶來的消耗,提高效率。綜上,本發(fā)明的技術方案應用于集群系統(tǒng)中,支持預測需求可配置、支持預測算法的自適應選擇以及支持預測算法的可插拔;同時本發(fā)明的技術方案具有預測算法可控性強和可擴展性強的特性。


圖I為本發(fā)明實施例I的集群負載預測方法的流程示意圖;圖2為本發(fā)明實施例3的分布式集群管理系統(tǒng)的結構示意圖。
具體實施例方式下面結合附圖對本發(fā)明的具體實施過程作具體闡述。實施例I如圖I所示的一種集群負載預測方法,包括步驟SI在系統(tǒng)中設置預測算法存儲單元與算法池。S2預先在算法池內儲存能夠對集群負載進行預測的預測算法及其相關參數(shù)信息,并對算法池內的預測算法及其相關參數(shù)信息實時更新。S3接收外部寫入的用戶預測需求信息,所述的用戶預測需求信息包括用戶所需的預測精度信息、預測規(guī)律類型信息、預測周期信息以及預測算法特性信息;接收到的用戶預測需求信息是以鍵-值對的方式存儲于系統(tǒng)的配置文件中的;接收到的用戶預測需求信息進行解析并儲存,具體包括步驟S301從配置文件中逐條讀取所有的用戶預測需求信息并判斷讀取的信息是否合法若讀取的信息為合法輸入,則按鍵-值分隔符對該信息進行分割并將分割后的鍵信息和值信息分別存儲于系統(tǒng)中;S302重復S301,直到配置文件的末尾;若S301中讀入的信息為非法輸入則系統(tǒng)報錯,并可以跳出系統(tǒng)的步驟,等待外部重新寫入用戶預測需求信息;S4將已解析的用戶預測需求信息逐一地與算法池內存儲的預測算法進行匹配,選擇出匹配程度最大的預測算法并將該預測算法及其相關參數(shù)信息更新至預測算法存儲單元;具體包括步驟S401讀取第一條用戶預測需求信息,并以此為關鍵詞搜尋算法池內匹配該信息的預測算法;當遇到第一個與該信息適配的預測算法時,停止搜索;S402針對該預測算法匹配下一條用戶預測需求信息;
S403若該預測算法對所有的用戶預測需求信息逐一適配,將該預測算法及其相關參數(shù)信息更新至預測算法儲存單元;S404若該預測算法對所有的用戶預測需求信息不能逐一適配,則將該預測算法及其相關參數(shù)信息備份于系統(tǒng)中,并對算法池內未經(jīng)搜索的預測算法重復S401以及S402 ;S405若算法池內所有的預測算法均不能對所有的用戶預測需求逐一適配,選擇備份于系統(tǒng)中的預測算法中與所有的用戶預測需求信息最大匹配者,并將該預測算法及其相關參數(shù)信息更新至預測算法儲存單元。
S5獲取系統(tǒng)提供的負載數(shù)據(jù)。S6基于預測算法存儲單元內的預測算法及其相關參數(shù)信息建立負載預測模型,利用負載數(shù)據(jù)訓練負載預測模型。S7使用訓練好的負載預測模型對集群負載進行預測,得到預測結果。實施例2本實施例的具體步驟與實施例I 一致,但在步驟S3中,接收到的用戶預測需求信息是以XML格式存儲于系統(tǒng)的配置文件中的,因此在對接收到的用戶預測需求信息進行解析并儲存時,具體包括步驟解析用戶預測需求信息的數(shù)據(jù)根節(jié)點,并將根節(jié)點及其屬性信息存儲于系統(tǒng)中,再以循環(huán)遍歷的方式解析用戶預測需求信息的子節(jié)點及其屬性信息,并存儲至系統(tǒng)中;以此類推,直到所有的用戶預測需求信息的節(jié)點信息都已解析完畢。在實施例I和實施例2中,算法池可以具體為指定的系統(tǒng)目錄下的文件或在算法信息量比較大的情況下選擇的數(shù)據(jù)庫,即預測算法及相關參數(shù)信息以一定格式存儲于指定系統(tǒng)目錄下的文件或者在算法信息量比較大的情況下存儲于數(shù)據(jù)庫。預測算法的種類很多,能夠應用到分布式集群系統(tǒng)負載的預測算法主要包括基于模擬人腦訓練活動的神經(jīng)網(wǎng)絡算法BP-NN (Back Propagation Neural Network)和基于時間序列的指數(shù)加權移動平均算法 EWMA(Exponentially Weighted Moving-Average) 寫入系統(tǒng)的用戶預測需求信息可以以鍵-值對的方式或以XML格式存儲在配置文件中。在對配置文件中的用戶預測需求信息進行解析時,首先需要判斷配置文件的格式類型如果需求信息是以鍵-值對的方式存儲(本發(fā)明的實施例I采用此種存儲方式),則從配置文件中逐條讀入數(shù)據(jù)信息并對其進行解析若讀取的信息為合法輸入,則按鍵-值分隔符對信息進行分割并將分割后的鍵信息和值信息分別存儲在預先設計好的數(shù)據(jù)結構中;若讀入的信息為非法輸入則系統(tǒng)報錯;如此反復,直到文件末尾;如果需求信息是以XML格式存儲(本發(fā)明的實施例2采用此種存儲方式),則首先解析數(shù)據(jù)根節(jié)點,并將根節(jié)點及其屬性信息存儲到預先設計好的數(shù)據(jù)結構中,再以循環(huán)遍歷的方式解析子節(jié)點及其屬性信息,并存儲到相應的數(shù)據(jù)結構中。依次類推,直到所有的節(jié)點信息都已解析完。配置文件準確的解析完后,預測需求信息便存儲在預先設計好的數(shù)據(jù)結構中,當需要用到預測需求信息時可以直接通過相應的數(shù)據(jù)結構索引訪問到所需的預測需求信息。
根據(jù)已解析的用戶預測需求信息逐一地從算法池中匹配預測算法,直到選擇出與用戶預測需求信息最為匹配的預測算法?;趯嵤├齀以及實施例2的相關步驟,在具體的實施過程中可進一步遵循如下步驟a算法控制器讀取第一條預測需求信息,并以此為關鍵詞從預測算法文件或數(shù)據(jù)庫中匹配;b當遇到第一個匹配到的算法時,存儲到相應的預測算法存儲數(shù)據(jù)結構中(此數(shù)據(jù)結構只存儲最大匹配的預測算法信息),并針對此算法匹配下一條預測需求信息,若能繼續(xù)匹配,則依次類推,直到所有的預測信息完全匹配或存在某一條預測需求信息不能匹配;若所有的預測信息都已完全匹配,則將匹配后的算法信息更新到預測算法存儲數(shù)據(jù)結構中,提示匹配成功,退出算法選擇流程; 若存在某條預測需求信息不能匹配,則先將預測算法數(shù)據(jù)結構中的已匹配的算法信息進行備份,并清空預測算法存儲數(shù)據(jù)結構,再在未進行匹配的算法信息中,繼續(xù)從步驟b開始執(zhí)行;c若預測算法存儲文件或數(shù)據(jù)庫中的所有算法都不能完全匹配預測需求信息時,算法控制器根據(jù)用戶需求的強烈程度提供三種選擇i在用戶對預測算法不做要求的情況下(使用默認的配置文件),算法控制器選擇默認的預測算法并將其信息更新到預測算法存儲數(shù)據(jù)結構中,提示使用默認預測算法,退出預測算法選擇流程;i i在用戶對預測算法需求比較溫和的情況下,算法控制器比較預測算法存儲數(shù)據(jù)結構和備份數(shù)據(jù)結構中最大匹配的預測算法信息并更新到預測算法存儲數(shù)據(jù)結構中,提示使用溫和選擇模式,退出預測算法選擇流程;iii在用戶對預測算法需求強烈的情況下,由于預測算法存儲文件或數(shù)據(jù)庫中沒有能夠滿足要求的算法,則清空預測算法存儲數(shù)據(jù)結構和備份數(shù)據(jù)結構,提示算法選擇失敗,退出預測算法選擇流程;d對預測算法的選擇返回結果,進行相應處理。實施例3如圖2所示的一種分布式集群管理系統(tǒng),包括集群調度模塊I、負載監(jiān)控模塊2、負載預測模塊3以及決策實施模塊4,負載預測模塊3進一步包括配置文件301、算法控制器302以及算法執(zhí)行器303。集群調度模塊1,將外部輸入的用戶預測需求信息存儲于配置文件301,具體儲存的形式在具體實施過程中可以為鍵-值對的方式或以XML格式。算法控制器302,包括存儲能夠對集群負載進行預測的預測算法及其相關參數(shù)信息的算法池320 ;算法控制器302對算法池320內的預測算法及其相關參數(shù)信息實時更新,并解析配置文件301中的用戶預測需求信息;將已解析的用戶預測需求信息逐一地與算法池320內儲存的預測算法進行匹配,選擇匹配程度最大的預測算法,并將該預測算法及其相關參數(shù)信息發(fā)送至算法執(zhí)行器303。算法執(zhí)行器303,接收預測算法及其相關參數(shù)信息,并請求負載監(jiān)控模塊2監(jiān)測到的負載數(shù)據(jù),該負載數(shù)據(jù)也可以由外部設備提供;算法控制器302得到負載數(shù)據(jù)后,根據(jù)該預測算法及其相關參數(shù)信息建立負載預測模型,并利用該負載數(shù)據(jù)訓練負載預測模型;使用訓練好的負載預測模型對集群負載進行預測,并將得到預測結果返回至集群調度模塊I。集群調度模塊1,接收該預測結果并將該預測結果作為調度決策的參考,輸出調度決策至決策實施模塊4。決策實施模塊4,接收該調度決策,根據(jù)系統(tǒng)所處的實際物理環(huán)境執(zhí)行調度決策。本實施例輸入的用戶預測需求信息包括用戶所需的預測精度信息、預測規(guī)律類型信息、預測周期信息以及預測算法特性信息。算法控制器302內設有信息需求存儲單元321,用以儲存已解析的用戶預測需求信息;因配置文件301中寫入的用戶預測需求信息的儲存方式有所不同,算法控制器302的具體解析過程包括如下兩種方式對以鍵-值對的方式存儲于配置文件301中的用戶預測需求信息,算法控制器302從配置文件301中逐條讀取所有的用戶預測需求信息并判斷讀取的信息是否合法若讀取的信息為合法輸入,則算法控制器302按鍵-值分隔符對該信息進行分割并將分割后的鍵信息和值信息分別存儲于信息存儲單元321中;若讀入的信息為非法輸入則算法控制器302報錯;如此反復,直到配置文件301的末尾。對以XML格式存儲于配置文件301中的用戶預測需求信息,算法控制器302首先解析用戶預測需求信息的數(shù)據(jù)根節(jié)點,并將根節(jié)點及其屬性信息存儲于信息存儲單元321中,再以循環(huán)遍歷的方式解析用戶預測需求信息的子節(jié)點及其屬性信息,并存儲至信息存儲單元321中;以此類推,直到所有的用戶預測需求信息的節(jié)點信息都已解析完畢。算法控制器302還包括預測算法儲存單元322,用以儲存最大匹配的預測算法及其相關參數(shù)信息。算法控制器302具體的匹配流程包括以下步驟讀取第一條用戶預測需求信息,并以此為關鍵詞搜尋算法池內匹配該信息的預測算法;當遇到第一個與該信息適配的預測算法時,停止搜索;針對該預測算法匹配下一條用戶預測需求信息若該預測算法對所有的用戶預測需求信息逐一適配,將該預測算法及其相關參數(shù)信息更新至預測算法儲存單元322 ;若該預測算法對所有的用戶預測需求信息不能逐一適配,則將該預測算法及其相關參數(shù)信息備份于系統(tǒng)中,并對算法池320內未經(jīng)搜索的預測算法重復上述步驟;若算法池內所有的預測算法均不能對所有的用戶預測需求逐一適配,選擇備份于系統(tǒng)中的預測算法中與所有的用戶預測需求信息最大匹配者,并將該預測算法及其相關參數(shù)信息更新至預測算法儲存單元322。 在本實施例中,算法池可以具體為指定的系統(tǒng)目錄下的文件或在算法信息量比較大的情況下選擇的數(shù)據(jù)庫,即預測算法及相關參數(shù)信息以一定格式存儲于指定系統(tǒng)目錄下的文件或者在算法信息量比較大的情況下存儲于數(shù)據(jù)庫。預測算法的種類很多,能夠應用到分布式集群系統(tǒng)負載的預測算法主要包括基于模擬人腦訓練活動的神經(jīng)網(wǎng)絡算法BP-NN(Back Propagation Neural Network)和基于時間序列的指數(shù)加權移動平均算法EWMA(Exponentially Weighted Moving-Average)將本實施例的分布式集群管理系統(tǒng)用于具體物理機調度的部分關鍵實驗過程如下用戶預測需求信息為預測周期為3、精度為0. 001 ;具體將該系統(tǒng)應用于2臺物理機,負載監(jiān)測模塊2提供該2臺物理機的負載數(shù)據(jù);集群調度模塊I將用戶預測需求信息輸入到xml格式的配置文件301中
< xm1 version=" 1.0" encoding="UTF-8" >
〈PREDICT VERSION=mO.I">
〈CYCLELENGTH VALUE="3M/>
〈PRECISION VALUE=mO.001"/>
〈/PREDICT〉算法控制器302根據(jù)用戶預測需求信息選擇出滿足需求的預測算法,即神經(jīng)網(wǎng)絡算法BP-NN,選擇后的預測算法及其相關參數(shù)信息用xml格式表示如下
< xm1 version=" 1.0" encoding="UTF-8" >
〈CONTROLOR PREDICT=mIm VERSION=mO.I"> 〈ALGORITHM NAME="Predict_BP-NN7>
〈PARAMETERNAME=nLength"VALUE=" 1000"
TYPE="D0UBLE7>
〈/ALGORITHM〉
〈CYCLELENGTH VALUE="3M/>
〈PRECISION VALUE=mO.001"/>
〈/CONTROLOR〉算法控制器302將該預測算法及其相關參數(shù)信息發(fā)送到算法執(zhí)行器303,算法執(zhí)行器303根據(jù)該預測算法及其相關參數(shù)信息建立預測模型,并基于輸入的負載數(shù)據(jù)對該預測模型進行訓練,將訓練好的預測模型用于負載預測,并將預測結果輸出。輸入的負載信息用xml格式表示如下(時間間隙為15秒)第一組訓練數(shù)據(jù)
< xm1 version=" 1.0" encoding="UTF-8" >
〈DATA VERSION=mO.I" TIMEINTEVAL=" 15">
〈PMID="pm0" CPU=mO.I" MEM=Mn I0="100"/PM>
〈PM ID="pml" CPU="0.05" MEM=Mn IO="1007PM>
</DATA>第二組訓練數(shù)據(jù)< xm1 version=" 1.0" encoding="UTF-8" >
〈DATA VERSION=mO.I" TIMEINTEVAL=" 15">
〈PM ID="pmO" CPU=mO.105" MEM="5" I0="100"/PM>
〈PM ID="pml" CPU="0.055" MEM="5" I0="100"/PM>
</DATA>第三組訓練數(shù)據(jù)
< xm1 version=" 1.0" encoding="UTF-8" >
〈DATA VERSION=mO.I" TIMEINTEVAL=" 15">
〈PM ID="pmO" CPU="0.11" MEM="6" I0="100"/PM>
〈PM ID="pml" CPU="0.06" MEM="6" IO="1007PM>
</DATA>負載預測輸入數(shù)據(jù)
< xm1 version=" 1.0" encoding="UTF-8" >
〈DATA VERSION=mO.I" TIMEINTEVAL=" 15">
〈PM ID="pmO" CPU=mO. 115" MEM="7" IO="100M/PM>
〈PM ID="pml" CPU="0.065" MEM="7" I0="100"/PM>
</DATA>負載預測輸出數(shù)據(jù)
< xm1 version=" 1.0" encoding="UTF-8" >
〈DATA VERSION=mO.I" TIMEINTEVAL=" 15">
<PM ID="pmO" CPU=mO.123" MEM="7.200" I0="100"/PM> <PMID="pml" CPU="0.071" MEM="7.200" I0="100"/PM>
</DATA>算法執(zhí)行器輸出預測結果由上述實施例可以看出,在預測需求為精度為0.001,預測周期為3的情況下,算法控制器自適應的選擇了滿足需求的神經(jīng)網(wǎng)絡算法BP-NN作為預測算法,并在負載趨勢為上升的情況下,給出了預測結果。從預測結果可以看出,預測算法給出的預測結果符合負載上升的趨勢,滿足了預測需求。本實施系統(tǒng)的另一特性是支持算法池320內預測算法的插拔,即算法控制器302對算法池320內的預測算法及其相關參數(shù)信息實時更新,具體可通過下述步驟實現(xiàn)算法池 320內預測算法的可插拔當有滿足新的用戶預測需求的預測算法及其相關參數(shù)信息需要加入到算法池320內時,將預測算法以相應的數(shù)據(jù)結構存儲到算法控制器302中;同時,將新的預測算法及其實現(xiàn)過程加入到算法控制器302中,并在算法控制器302內注冊相應接口 ;算法控制器302將 新的預測算法及其相關參數(shù)信息添加到算法池320中,實現(xiàn)對算法池320內的預測算法及其相關參數(shù)信息的添加。當需要將不能滿足當前用戶預測需求信息或很少使用的預測算法從算法池320中刪除時,只需在算法控制器302中將要刪除預測算法的相應接口進行注銷即可,如此則實現(xiàn)了對算法池320內的預測算法及其相關參數(shù)信息的刪除。算法控制器302對算法池320內的預測算法及其相關參數(shù)信息的添加以及刪除構成了對算法池320內預測算法的實時更新。
權利要求
1.一種集群負載預測方法,應用于分布式集群系統(tǒng),包括步驟 在系統(tǒng)中設置預測算法存儲單元與算法池; 預先在算法池內儲存能夠對集群負載進行預測的預測算法及其相關參數(shù)信息,并對算法池內的預測算法及其相關參數(shù)信息實時更新; 接收外部寫入的用戶預測需求信息,解析該用戶預測需求信息并將該信息存儲于系統(tǒng)中; 將已解析的用戶預測需求信息逐一地與算法池內存儲的預測算法進行匹配,選擇出匹配程度最大的預測算法并將該預測算法及其相關參數(shù)信息更新至預測算法存儲單元; 獲取系統(tǒng)提供的負載數(shù)據(jù); 基于預測算法存儲單元內的預測算法及其相關參數(shù)信息建立負載預測模型,利用負載數(shù)據(jù)訓練負載預測模型; 使用訓練好的負載預測模型對集群負載進行預測,得到預測結果。
2.根據(jù)權利要求I所述的集群負載預測方法,其特征在于,所述的用戶預測需求信息包括用戶所需的預測精度信息、預測規(guī)律類型信息、預測周期信息以及預測算法特性信息。
3.根據(jù)權利要求I所述的集群負載預測方法,其特征在于,所述的接收外部寫入的用戶預測需求信息中,接收到的用戶預測需求信息是以鍵-值對的方式或以XML格式存儲于系統(tǒng)的配置文件中。
4.根據(jù)權利要求3所述的集群負載預測方法,其特征在于,所述的解析該用戶預測需求信息并將該信息存儲于系統(tǒng)中,包括 對以鍵-值對的方式存儲于配置文件中的用戶預測需求信息,從配置文件中逐條讀取所有的用戶預測需求信息并判斷讀取的信息是否合法 若讀取的信息為合法輸入,則按鍵-值分隔符對該信息進行分割并將分割后的鍵信息和值信息分別存儲于系統(tǒng)中; 若讀入的信息為非法輸入則系統(tǒng)報錯; 如此反復,直到配置文件的末尾; 對以XML格式存儲于配置文件中的用戶預測需求信息,首先解析用戶預測需求信息的數(shù)據(jù)根節(jié)點,并將根節(jié)點及其屬性信息存儲于系統(tǒng)中,再以循環(huán)遍歷的方式解析用戶預測需求信息的子節(jié)點及其屬性信息,并存儲至系統(tǒng)中;以此類推,直到所有的用戶預測需求信息的節(jié)點信息都已解析完畢。
5.根據(jù)權利要求I所述的集群負載預測方法,其特征在于,將已解析的用戶預測需求信息逐一地與算法池內存儲的預測算法進行匹配,選擇出匹配程度最大的預測算法并將該預測算法及其相關參數(shù)信息更新至預測算法存儲單元,包括步驟 讀取第一條用戶預測需求信息,并以此為關鍵詞搜尋算法池內匹配該信息的預測算法;當遇到第一個與該信息適配的預測算法時,停止搜索; 針對該預測算法匹配下一條用戶預測需求信息; 若該預測算法對所有的用戶預測需求信息逐一適配,將該預測算法及其相關參數(shù)信息更新至預測算法儲存單元; 若該預測算法對所有的用戶預測需求信息不能逐一適配,則將該預測算法及其相關參數(shù)信息備份于系統(tǒng)中,并對算法池內未經(jīng)搜索的預測算法重復上述步驟;若算法池內所有的預測算法均不能對所有的用戶預測需求逐一適配,選擇備份于系統(tǒng)中的預測算法中與所有的用戶預測需求信息最大匹配者,并將該預測算法及其相關參數(shù)信息更新至預測算法儲存單元。
6.一種分布式集群管理系統(tǒng),包括集群調度模塊、負載監(jiān)控模塊、負載預測模塊以及決策實施模塊,其特征在于,所述的負載預測模塊包括配置文件、算法控制器以及算法執(zhí)行器; 所述的集群調度模塊,將外部輸入的用戶預測需求信息存儲于配置文件; 所述的算法控制器,包括存儲能夠對集群負載進行預測的預測算法及其相關參數(shù)信息的算法池;所述的算法控制器對算法池內的預測算法及其相關參數(shù)信息實時更新,并解析配置文件中的用戶預測需求信息;將已解析的用戶預測需求信息逐一地與算法池內儲存的預測算法進行匹配,選擇匹配程度最大的預測算法,并將該預測算法及其相關參數(shù)信息發(fā)送至算法執(zhí)行器; 所述的算法執(zhí)行器,接收預測算法及其相關參數(shù)信息,并請求負載監(jiān)控模塊或外部設備監(jiān)測到的負載數(shù)據(jù);根據(jù)該預測算法及其相關參數(shù)信息建立負載預測模型,利用請求到的負載數(shù)據(jù)訓練負載預測模型;使用訓練好的負載預測模型對集群負載進行預測,并將得到預測結果返回至集群調度模塊; 所述的集群調度模塊,接收該預測結果并將該預測結果作為調度決策的參考,輸出調度決策至決策實施模塊; 所述的決策實施模塊,接收該調度決策,根據(jù)系統(tǒng)所處的實際物理環(huán)境執(zhí)行調度決策。
7.根據(jù)權利要求6所述的分布式集群管理系統(tǒng),其特征在于,所述的用戶預測需求信息包括用戶所需的預測精度信息、預測規(guī)律類型信息、預測周期信息以及預測算法特性信肩、O
8.根據(jù)權利要求6所述的分布式集群管理系統(tǒng),其特征在于,所述的用戶預測需求信息以鍵-值對的方式或以XML格式存儲于配置文件中。
9.根據(jù)權利要求8所述的分布式集群管理系統(tǒng),其特征在于,所述的算法控制器包括/[目息需求存儲單兀; 對以鍵-值對的方式存儲于配置文件中的用戶預測需求信息,所述的算法控制器從配置文件中逐條讀取所有的用戶預測需求信息并判斷讀取的信息是否合法 若讀取的信息為合法輸入,則按鍵-值分隔符對該信息進行分割并將分割后的鍵信息和值信息分別存儲于所述的信息存儲單元中; 若讀入的信息為非法輸入則算法控制器報錯; 如此反復,直到配置文件的末尾; 對以XML格式存儲于配置文件中的用戶預測需求信息,所述的算法控制器首先解析用戶預測需求信息的數(shù)據(jù)根節(jié)點,并將根節(jié)點及其屬性信息存儲于所述的信息存儲單元中,再以循環(huán)遍歷的方式解析用戶預測需求信息的子節(jié)點及其屬性信息,并存儲至信息存儲單元中;以此類推,直到所有的用戶預測需求信息的節(jié)點信息都已解析完畢。
10.根據(jù)權利要求7所述的分布式集群管理系統(tǒng),其特征在于, 所述的算法控制器包括預測算法儲存單元,所述的算法控制器實現(xiàn)以下步驟 讀取第一條用戶預測需求信息,并以此為關鍵詞搜尋算法池內匹配該信息的預測算法;當遇到第一個與該信息適配的預測算法時,停止搜索; 針對該預測算法匹配下一條用戶預測需求信息; 若該預測算法對所有的用戶預測需求信息逐一適配,將該預測算法及其相關參數(shù)信息更新至預測算法儲存單元; 若該預測算法對所有的用戶預測需求信息不能逐一適配,則將該預測算法及其相關參數(shù)信息備份于系統(tǒng)中,并對算法池內未經(jīng)搜索的預測算法重復上述步驟; 若算法池內所有的預測算法均不能對所有的用戶預測需求逐一適配,選擇備份于系統(tǒng)中的預測算法中與所有的用戶預測需求信息最大匹配者,并將該預測算法及其相關參數(shù)信息更新至預測算法儲存單元。
全文摘要
本發(fā)明涉及一種集群負載預測方法及分布式集群管理系統(tǒng)。本發(fā)明的方法包括步驟接收用戶預測需求信息并解析,并將已解析的用戶預測需求信息與算法池內存儲的預測算法進行匹配;對算法池內的預測算法進行更新;選擇匹配程度最大的預測算法及其相關參數(shù)信息建立負載預測模型,并用獲取的負載數(shù)據(jù)訓練該負載預測模型;使用訓練好的負載預測模型對集群負載進行預測,得到預測結果。本發(fā)明的系統(tǒng)包括集群調度模塊、負載監(jiān)控模塊、負載預測模塊以及決策實施模塊;所述的負載預測模塊包括配置文件、算法控制器以及算法執(zhí)行器。本發(fā)明的技術方案應用于集群系統(tǒng)中,支持預測需求可配置、支持預測算法的自適應選擇以及支持預測算法的可插拔。
文檔編號H04L29/08GK102624865SQ20121000540
公開日2012年8月1日 申請日期2012年1月9日 優(yōu)先權日2012年1月9日
發(fā)明者張濤, 王云霄, 王總輝, 陳建海, 陳文智 申請人:浙江大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1