專利名稱:集群負(fù)載預(yù)測方法及分布式集群管理系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及分布式集群系統(tǒng),特別涉及一種集群負(fù)載預(yù)測方法及其對應(yīng)的分布式集群管理系統(tǒng)
背景技術(shù):
隨著當(dāng)今社會計算機(jī)技術(shù)的不斷發(fā)展,分布式集群愈來愈廣泛地應(yīng)用于不同領(lǐng)域。然而,隨著集群的規(guī)模的不斷增大,傳統(tǒng)的集群管理方法已不能滿足規(guī)模集群的需求,因此,分布式大規(guī)模集群管理調(diào)度技術(shù)應(yīng)用而生,即分布式集群管理系統(tǒng)。根據(jù)該系統(tǒng)是否對集群負(fù)載進(jìn)行預(yù)測,其工作流程可分為兩種類型第一種類型,系統(tǒng)對集群負(fù)載未進(jìn)行預(yù)測集群調(diào)度模塊直接從負(fù)載監(jiān)控模塊讀取負(fù)載數(shù)據(jù),然后對數(shù)據(jù)進(jìn)行解析,做出調(diào)度決策,再將調(diào)度決策發(fā)送到?jīng)Q策實(shí)施模塊,決策實(shí)施模塊根據(jù)其所處的實(shí)際物理環(huán)境對決策進(jìn)行實(shí)施執(zhí)行;第二種類型,系統(tǒng)對集群負(fù)載進(jìn)行預(yù)測集群調(diào)度模塊根據(jù)實(shí)際情況向負(fù)載預(yù)測模塊發(fā)送用戶預(yù)測需求信息,這種需求信息可以是人為配置的,也可以是系統(tǒng)根據(jù)集群當(dāng)前的負(fù)載情況做出的實(shí)時需求,負(fù)載預(yù)測模塊根據(jù)預(yù)測需求使用預(yù)測算法對負(fù)載進(jìn)行預(yù)測,給出預(yù)測后的負(fù)載數(shù)據(jù),發(fā)送到集群調(diào)度模塊,集群調(diào)度模塊分析負(fù)載數(shù)據(jù),做出調(diào)度決策,發(fā)送到?jīng)Q策實(shí)施模塊進(jìn)行實(shí)際的實(shí)施執(zhí)行。在大規(guī)模分布式虛擬化集群資源調(diào)度領(lǐng)域中,由于業(yè)務(wù)的差異性造成對集群資源的使用不均衡,所以必須在間隔一定的時間內(nèi)對集群整體的資源做一次調(diào)度,使集群中物理資源的使用達(dá)到一個均衡的狀態(tài);或通過調(diào)度決策使集群中的物理資源利用率提高,同時減少一些不必要的物理資源,以達(dá)到節(jié)能減排的目的。在調(diào)度的過程中,若采用如前所述的不對負(fù)載進(jìn)行預(yù)測的系統(tǒng)時,由于集群規(guī)模大,做一次調(diào)度決策以及決策實(shí)施的時間會比較長,使得監(jiān)控系統(tǒng)監(jiān)控到的集群的實(shí)際負(fù)載數(shù)據(jù)相對滯后,系統(tǒng)做出的調(diào)度決策也會出現(xiàn)滯后的情況,不能體現(xiàn)實(shí)時的負(fù)載特性。據(jù)此,調(diào)度決策不能用當(dāng)前的負(fù)載作為決策依據(jù)。現(xiàn)有技術(shù)一種能夠?qū)贺?fù)載進(jìn)行預(yù)測分布式集群管理系統(tǒng)主要分為四個模塊數(shù)據(jù)監(jiān)控模塊、負(fù)載預(yù)測模塊、集群調(diào)度模塊以及決策實(shí)施模塊。負(fù)載預(yù)測模塊內(nèi)的負(fù)載預(yù)測過程基本分為預(yù)測模型的訓(xùn)練階段和預(yù)測階段。在預(yù)測模型的訓(xùn)練階段,通過對集群負(fù)載監(jiān)控模塊獲得的歷史數(shù)據(jù)進(jìn)行分析,使用滿足需求的預(yù)測算法建立學(xué)習(xí)模型,來挖掘資源數(shù)據(jù)變化的規(guī)律性,訓(xùn)練出一種預(yù)測模型;在預(yù)測階段,在給定單位時間粒度獲取監(jiān)測數(shù)據(jù),利用學(xué)習(xí)到的預(yù)測模型預(yù)測出下一時間段的性能資源數(shù)據(jù),為資源調(diào)度決策提供基本依據(jù)。目前的集群負(fù)載預(yù)測模型根據(jù)不同的原理主要有基于時間序列的指數(shù)加權(quán)移動平均EWMA算法和基于集群負(fù)載規(guī)律性的神經(jīng)網(wǎng)絡(luò)算法BP-NN,以及一些其他的預(yù)測算法。這些算法都是針對不同的負(fù)載規(guī)律進(jìn)行預(yù)測,且各自具有不同優(yōu)缺點(diǎn)。由于同一集群環(huán)境在不同的應(yīng)用場景下,業(yè)務(wù)對集群的資源需求有很大差異,會呈現(xiàn)出不同的業(yè)務(wù)規(guī)律性,而預(yù)測這些不同規(guī) 律性的集群負(fù)載需要采用不同的預(yù)測算法。現(xiàn)有技術(shù)對上述不同算法的建立是針對每一種不同的規(guī)律都開發(fā)出不同的接口以滿足集群負(fù)載預(yù)測的需求。這種做法雖然可以暫時解決問題,但缺乏自適應(yīng)性和靈活性。針對不同的業(yè)務(wù)規(guī)律需要選擇不同的預(yù)測算法來滿足負(fù)載預(yù)測需求,按當(dāng)前的做法不能自適應(yīng)的去選擇相應(yīng)的算法,需要手動修改代碼完成相關(guān)需求;當(dāng)有新的負(fù)載規(guī)律出現(xiàn)時,需要重新開發(fā)獨(dú)立的接口以滿足需求,而開發(fā)過程中需要重新考慮集群環(huán)境及負(fù)載類型等問題,做了很多不必要的重復(fù)工作。
發(fā)明內(nèi)容
本發(fā)明要解決上述技術(shù)所存在的缺陷,提供一種自適應(yīng)的算法可插拔的分布式集群負(fù)載預(yù)測方法,彌補(bǔ)了現(xiàn)有預(yù)測方法所存在的不能自適應(yīng)選擇算法和缺乏靈活性的問題;相應(yīng)地,提供了一種分布式集群管理系統(tǒng)。一種集群負(fù)載預(yù)測方法,應(yīng)用于分布式集群系統(tǒng),包括步驟在系統(tǒng)中設(shè)置預(yù)測算法存儲單元與算法池;預(yù)先在算法池內(nèi)儲存能夠?qū)贺?fù)載進(jìn)行預(yù)測的預(yù)測算法及其相關(guān)參數(shù)信息,并對算法池內(nèi)的預(yù)測算法及其相關(guān)參數(shù)信息實(shí)時更新;接收外部寫入的用戶預(yù)測需求信息,解析該用戶預(yù)測需求信息并將該信息存儲于系統(tǒng)中;將已解析的用戶預(yù)測需求信息逐一地與算法池內(nèi)存儲的預(yù)測算法進(jìn)行匹配,選擇出匹配程度最大的預(yù)測算法并將該預(yù)測算法及其相關(guān)參數(shù)信息更新至預(yù)測算法存儲單元;獲取系統(tǒng)提供的負(fù)載數(shù)據(jù);基于預(yù)測算法存儲單元內(nèi)的預(yù)測算法及其相關(guān)參數(shù)信息建立負(fù)載預(yù)測模型,利用負(fù)載數(shù)據(jù)訓(xùn)練負(fù)載預(yù)測模型;使用訓(xùn)練好的負(fù)載預(yù)測模型對集群負(fù)載進(jìn)行預(yù)測,得到預(yù)測結(jié)果。所述的用戶預(yù)測需求信息包括用戶所需的預(yù)測精度信息、預(yù)測規(guī)律類型信息、預(yù)測周期信息以及預(yù)測算法特性信息。進(jìn)一步地,所述的接收外部寫入的用戶預(yù)測需求信息中,接收到的用戶預(yù)測需求信息是以鍵-值對的方式或以XML格式存儲于系統(tǒng)的配置文件中。進(jìn)一步地,所述的解析該用戶預(yù)測需求信息并將該信息存儲于系統(tǒng)中,包括對以鍵-值對的方式存儲于配置文件中的用戶預(yù)測需求信息,從配置文件中逐條讀取所有的用戶預(yù)測需求信息并判斷讀取的信息是否合法若讀取的信息為合法輸入,則按鍵-值分隔符對該信息進(jìn)行分割并將分割后的鍵信息和值信息分別存儲于系統(tǒng)中;若讀入的信息為非法輸入則系統(tǒng)報錯;如此反復(fù),直到配置文件的末尾;對以XML格式存儲于配置文件中的用戶預(yù)測需求信息,首先解析用戶預(yù)測需求信息的數(shù)據(jù)根節(jié)點(diǎn),并將根節(jié)點(diǎn)及其屬性信息存儲于系統(tǒng)中,再以循環(huán)遍歷的方式解析用戶預(yù)測需求信息的子節(jié)點(diǎn)及其屬性信息,并存儲至系統(tǒng)中;以此類推,直到所有的用戶預(yù)測需求信息的節(jié)點(diǎn)信息都已解析完畢。
進(jìn)一步地,將已解析的用戶預(yù)測需求信息逐一地與算法池內(nèi)存儲的預(yù)測算法進(jìn)行匹配,選擇出匹配程度最大的預(yù)測算法并將該預(yù)測算法及其相關(guān)參數(shù)信息更新至預(yù)測算法存儲單元,包括步驟讀取第一條用戶預(yù)測需求信息,并以此為關(guān)鍵詞搜尋算法池內(nèi)匹配該信息的預(yù)測算法;當(dāng)遇到第一個與該信息適配的預(yù)測算法時,停止搜索;
針對該預(yù)測算法匹配下一條用戶預(yù)測需求信息;若該預(yù)測算法對所有的用戶預(yù)測需求信息逐一適配,將該預(yù)測算法及其相關(guān)參數(shù)信息更新至預(yù)測算法儲存單元;若該預(yù)測算法對所有的用戶預(yù)測需求信息不能逐一適配,則將該預(yù)測算法及其相關(guān)參數(shù)信息備份于系統(tǒng)中,并對算法池內(nèi)未經(jīng)搜索的預(yù)測算法重復(fù)上述步驟;若算法池內(nèi)所有的預(yù)測算法均不能對所有的用戶預(yù)測需求逐一適配,選擇備份于系統(tǒng)中的預(yù)測算法中與所有的用戶預(yù)測需求信息最大匹配者,并將該預(yù)測算法及其相關(guān)參數(shù)信息更新至預(yù)測算法儲存單元。本發(fā)明的集群負(fù)載預(yù)測方法具有以下技術(shù)效果一、支持用戶預(yù)測需求可配置,通過在系統(tǒng)中寫入用戶的預(yù)測需求,且可以根據(jù)該用戶的預(yù)測需求,例如用戶對于負(fù)載預(yù)測的預(yù)測精度以及預(yù)測特性等預(yù)測需求完成對于負(fù)載的預(yù)測;二、支持預(yù)測算法的自適應(yīng)選擇,根據(jù)已解析的用戶預(yù)測需求信息對算法池中的預(yù)測算法進(jìn)行匹配,實(shí)現(xiàn)系統(tǒng)自適應(yīng)地選擇與用戶預(yù)測需求信息最大匹配的預(yù)測算法;三、支持預(yù)測算法的可插拔,本發(fā)明的方法能夠?qū)λ惴ǔ貎?nèi)的預(yù)測算法及其相關(guān)參數(shù)信息實(shí)時更新,即對系統(tǒng)不必要的預(yù)測算法進(jìn)行注銷及刪除,對新增的預(yù)測算法進(jìn)行注冊及增加,簡單有效;除上述三個有益的技術(shù)效果外,本發(fā)明的方法還具有算法可控性強(qiáng)和可擴(kuò)展性強(qiáng)的特性;除了分布式集群管理系統(tǒng)中的負(fù)載預(yù)測應(yīng)用場景,本發(fā)明的方法可以應(yīng)用到其他有類似需求的場景中。一種分布式集群管理系統(tǒng),包括集群調(diào)度模塊、負(fù)載監(jiān)控模塊、負(fù)載預(yù)測模塊以及決策實(shí)施模塊,其特征在于,所述的負(fù)載預(yù)測模塊包括配置文件、算法控制器以及算法執(zhí)行器;所述的集群調(diào)度模塊,將外部輸入的用戶預(yù)測需求信息存儲于配置文件;所述的算法控制器,包括存儲能夠?qū)贺?fù)載進(jìn)行預(yù)測的預(yù)測算法及其相關(guān)參數(shù)信息的算法池;所述的算法控制器對算法池內(nèi)的預(yù)測算法及其相關(guān)參數(shù)信息實(shí)時更新,并解析配置文件中的用戶預(yù)測需求信息;將已解析的用戶預(yù)測需求信息逐一地與算法池內(nèi)儲存的預(yù)測算法進(jìn)行匹配,選擇匹配程度最大的預(yù)測算法,并將該預(yù)測算法及其相關(guān)參數(shù)信息發(fā)送至算法執(zhí)行器;所述的算法執(zhí)行器,接收預(yù)測算法及其相關(guān)參數(shù)信息,并請求負(fù)載監(jiān)控模塊或外部設(shè)備監(jiān)測到的負(fù)載數(shù)據(jù);根據(jù)該預(yù)測算法及其相關(guān)參數(shù)信息建立負(fù)載預(yù)測模型,利用請求到的負(fù)載數(shù)據(jù)訓(xùn)練負(fù)載預(yù)測模型;使用訓(xùn)練好的負(fù)載預(yù)測模型對集群負(fù)載進(jìn)行預(yù)測,并將得到預(yù)測結(jié)果返回至集群調(diào)度模塊;所述的集群調(diào)度模塊,接收該預(yù)測結(jié)果并將該預(yù)測結(jié)果作為調(diào)度決策的參考,輸出調(diào)度決策至決策實(shí)施模塊;所述的決策實(shí)施模塊,接收該調(diào)度決策,根據(jù)系統(tǒng)所處的實(shí)際物理環(huán)境執(zhí)行調(diào)度決策。所述的用戶預(yù)測需求信息包括用戶所需的預(yù)測精度信息、預(yù)測規(guī)律類型信息、預(yù)測周期信息以及預(yù)測算法特性信息。進(jìn)一步地,所述的用戶預(yù)測需求信息以鍵-值對的方式或以XML格式存儲于配置文件中。進(jìn)一步地,所述的算法控制器包括信息需求存儲單元;對以鍵-值對的方式存儲于配置文件中的用戶預(yù)測需求信息,所述的算法控制器從配置文件中逐條讀取所有的用戶預(yù)測需求信息并判斷讀取的信息是否合法若讀取的信息為合法輸入,則按鍵-值分隔符對該信息進(jìn)行分割并將分割后的鍵信息和值信息分別存儲于所述的信息存儲單元中;若讀入的信息為非法輸入則算法控制器報錯;如此反復(fù),直到配置文件的末尾;對以XML格式存儲于配置文件中的用戶預(yù)測需求信息,所述的算法控制器首先解析用戶預(yù)測需求信息的數(shù)據(jù)根節(jié)點(diǎn),并將根節(jié)點(diǎn)及其屬性信息存儲于所述的信息存儲單元中,再以循環(huán)遍歷的方式解析用戶預(yù)測需求信息的子節(jié)點(diǎn)及其屬性信息,并存儲至信息存儲單元中;以此類推,直到所有的用戶預(yù)測需求信息的節(jié)點(diǎn)信息都已解析完畢。進(jìn)一步地,所述的算法控制器包括預(yù)測算法儲存單元,所述的算法控制器實(shí)現(xiàn)以下步驟讀取第一條用戶預(yù)測需求信息,并以此為關(guān)鍵詞搜尋算法池內(nèi)匹配該信息的預(yù)測算法;當(dāng)遇到第一個與該信息適配的預(yù)測算法時,停止搜索;針對該預(yù)測算法匹配下一條用戶預(yù)測需求信息;若該預(yù)測算法對所有的用戶預(yù)測需求信息逐一適配,將該預(yù)測算法及其相關(guān)參數(shù)信息更新至預(yù)測算法儲存單元;若該預(yù)測算法對所有的用戶預(yù)測需求信息不能逐一適配,則將該預(yù)測算法及其相關(guān)參數(shù)信息備份于系統(tǒng)中,并對算法池內(nèi)未經(jīng)搜索的預(yù)測算法重復(fù)上述步驟;若算法池內(nèi)所有的預(yù)測算法均不能對所有的用戶預(yù)測需求逐一適配,選擇備份于系統(tǒng)中的預(yù)測算法中與所有的用戶預(yù)測需求信息最大匹配者,并將該預(yù)測算法及其相關(guān)參數(shù)信息更新至預(yù)測算法儲存單元。在算法控制器中需完成對配置文件進(jìn)行解析,以獲取配置文件中寫入的用戶預(yù)測需求信息,所以算法控制器中所能解析的文件的格式必須和配置文件的格式一致;算法控制器根據(jù)解析的配置文件的需求信息選擇滿足條件的預(yù)測算法,并將與所選算法相關(guān)的參數(shù)信息一并發(fā)送到算法執(zhí)行器,實(shí)現(xiàn)了本發(fā)明系統(tǒng)中預(yù)測算法的自適應(yīng)選擇;另外,算法控制器還負(fù)責(zé)新的預(yù)測算法的注冊/和注銷,當(dāng)有新的滿足需求的預(yù)測算法被實(shí)現(xiàn)時,可以通過算法控制器進(jìn)行注冊,算法控制器將其信息添加到可供選擇的預(yù)測算法池中,以供選擇;當(dāng)有的算法已不能滿足當(dāng)前選擇或?yàn)榱颂嵘惴ㄟx擇效率時,可以通過算法控制器將其在算法池中進(jìn)行注銷,則系統(tǒng)在進(jìn)行下一次預(yù)測算法選擇時將會屏蔽此算法的信息,即對算法池內(nèi)的預(yù)測算法及其相關(guān)參數(shù)信息實(shí)時更新,實(shí)現(xiàn)了本發(fā)明系統(tǒng)中算法池內(nèi)預(yù)測算法的可插拔。算法執(zhí)行器根據(jù)算法控制器提供的預(yù)測算法及相關(guān)的參數(shù)信息,使用歷史的負(fù)載數(shù)據(jù)對預(yù)測模型進(jìn)行學(xué)習(xí)和訓(xùn)練,當(dāng)訓(xùn)練完成后,可以將監(jiān)測到的負(fù)載數(shù)據(jù)輸入到預(yù)測模型,得到預(yù)測后的負(fù)載數(shù)據(jù)輸出值,輸出數(shù)據(jù)可用做集群資源調(diào)度決策的參考依據(jù)或做其他處理;另外,可以先將針對某一預(yù)測算法的預(yù)測模型存儲起來,等需要用到這種預(yù)測模型時可以直接使用存儲的預(yù)測模型,這樣可以節(jié)省預(yù)測模型學(xué)習(xí)和訓(xùn)練所帶來的消耗,提高效率。綜上,本發(fā)明的技術(shù)方案應(yīng)用于集群系統(tǒng)中,支持預(yù)測需求可配置、支持預(yù)測算法的自適應(yīng)選擇以及支持預(yù)測算法的可插拔;同時本發(fā)明的技術(shù)方案具有預(yù)測算法可控性強(qiáng)和可擴(kuò)展性強(qiáng)的特性。
圖I為本發(fā)明實(shí)施例I的集群負(fù)載預(yù)測方法的流程示意圖;圖2為本發(fā)明實(shí)施例3的分布式集群管理系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施例方式下面結(jié)合附圖對本發(fā)明的具體實(shí)施過程作具體闡述。實(shí)施例I如圖I所示的一種集群負(fù)載預(yù)測方法,包括步驟SI在系統(tǒng)中設(shè)置預(yù)測算法存儲單元與算法池。S2預(yù)先在算法池內(nèi)儲存能夠?qū)贺?fù)載進(jìn)行預(yù)測的預(yù)測算法及其相關(guān)參數(shù)信息,并對算法池內(nèi)的預(yù)測算法及其相關(guān)參數(shù)信息實(shí)時更新。S3接收外部寫入的用戶預(yù)測需求信息,所述的用戶預(yù)測需求信息包括用戶所需的預(yù)測精度信息、預(yù)測規(guī)律類型信息、預(yù)測周期信息以及預(yù)測算法特性信息;接收到的用戶預(yù)測需求信息是以鍵-值對的方式存儲于系統(tǒng)的配置文件中的;接收到的用戶預(yù)測需求信息進(jìn)行解析并儲存,具體包括步驟S301從配置文件中逐條讀取所有的用戶預(yù)測需求信息并判斷讀取的信息是否合法若讀取的信息為合法輸入,則按鍵-值分隔符對該信息進(jìn)行分割并將分割后的鍵信息和值信息分別存儲于系統(tǒng)中;S302重復(fù)S301,直到配置文件的末尾;若S301中讀入的信息為非法輸入則系統(tǒng)報錯,并可以跳出系統(tǒng)的步驟,等待外部重新寫入用戶預(yù)測需求信息;S4將已解析的用戶預(yù)測需求信息逐一地與算法池內(nèi)存儲的預(yù)測算法進(jìn)行匹配,選擇出匹配程度最大的預(yù)測算法并將該預(yù)測算法及其相關(guān)參數(shù)信息更新至預(yù)測算法存儲單元;具體包括步驟S401讀取第一條用戶預(yù)測需求信息,并以此為關(guān)鍵詞搜尋算法池內(nèi)匹配該信息的預(yù)測算法;當(dāng)遇到第一個與該信息適配的預(yù)測算法時,停止搜索;S402針對該預(yù)測算法匹配下一條用戶預(yù)測需求信息;
S403若該預(yù)測算法對所有的用戶預(yù)測需求信息逐一適配,將該預(yù)測算法及其相關(guān)參數(shù)信息更新至預(yù)測算法儲存單元;S404若該預(yù)測算法對所有的用戶預(yù)測需求信息不能逐一適配,則將該預(yù)測算法及其相關(guān)參數(shù)信息備份于系統(tǒng)中,并對算法池內(nèi)未經(jīng)搜索的預(yù)測算法重復(fù)S401以及S402 ;S405若算法池內(nèi)所有的預(yù)測算法均不能對所有的用戶預(yù)測需求逐一適配,選擇備份于系統(tǒng)中的預(yù)測算法中與所有的用戶預(yù)測需求信息最大匹配者,并將該預(yù)測算法及其相關(guān)參數(shù)信息更新至預(yù)測算法儲存單元。
S5獲取系統(tǒng)提供的負(fù)載數(shù)據(jù)。S6基于預(yù)測算法存儲單元內(nèi)的預(yù)測算法及其相關(guān)參數(shù)信息建立負(fù)載預(yù)測模型,利用負(fù)載數(shù)據(jù)訓(xùn)練負(fù)載預(yù)測模型。S7使用訓(xùn)練好的負(fù)載預(yù)測模型對集群負(fù)載進(jìn)行預(yù)測,得到預(yù)測結(jié)果。實(shí)施例2本實(shí)施例的具體步驟與實(shí)施例I 一致,但在步驟S3中,接收到的用戶預(yù)測需求信息是以XML格式存儲于系統(tǒng)的配置文件中的,因此在對接收到的用戶預(yù)測需求信息進(jìn)行解析并儲存時,具體包括步驟解析用戶預(yù)測需求信息的數(shù)據(jù)根節(jié)點(diǎn),并將根節(jié)點(diǎn)及其屬性信息存儲于系統(tǒng)中,再以循環(huán)遍歷的方式解析用戶預(yù)測需求信息的子節(jié)點(diǎn)及其屬性信息,并存儲至系統(tǒng)中;以此類推,直到所有的用戶預(yù)測需求信息的節(jié)點(diǎn)信息都已解析完畢。在實(shí)施例I和實(shí)施例2中,算法池可以具體為指定的系統(tǒng)目錄下的文件或在算法信息量比較大的情況下選擇的數(shù)據(jù)庫,即預(yù)測算法及相關(guān)參數(shù)信息以一定格式存儲于指定系統(tǒng)目錄下的文件或者在算法信息量比較大的情況下存儲于數(shù)據(jù)庫。預(yù)測算法的種類很多,能夠應(yīng)用到分布式集群系統(tǒng)負(fù)載的預(yù)測算法主要包括基于模擬人腦訓(xùn)練活動的神經(jīng)網(wǎng)絡(luò)算法BP-NN (Back Propagation Neural Network)和基于時間序列的指數(shù)加權(quán)移動平均算法 EWMA(Exponentially Weighted Moving-Average) 寫入系統(tǒng)的用戶預(yù)測需求信息可以以鍵-值對的方式或以XML格式存儲在配置文件中。在對配置文件中的用戶預(yù)測需求信息進(jìn)行解析時,首先需要判斷配置文件的格式類型如果需求信息是以鍵-值對的方式存儲(本發(fā)明的實(shí)施例I采用此種存儲方式),則從配置文件中逐條讀入數(shù)據(jù)信息并對其進(jìn)行解析若讀取的信息為合法輸入,則按鍵-值分隔符對信息進(jìn)行分割并將分割后的鍵信息和值信息分別存儲在預(yù)先設(shè)計好的數(shù)據(jù)結(jié)構(gòu)中;若讀入的信息為非法輸入則系統(tǒng)報錯;如此反復(fù),直到文件末尾;如果需求信息是以XML格式存儲(本發(fā)明的實(shí)施例2采用此種存儲方式),則首先解析數(shù)據(jù)根節(jié)點(diǎn),并將根節(jié)點(diǎn)及其屬性信息存儲到預(yù)先設(shè)計好的數(shù)據(jù)結(jié)構(gòu)中,再以循環(huán)遍歷的方式解析子節(jié)點(diǎn)及其屬性信息,并存儲到相應(yīng)的數(shù)據(jù)結(jié)構(gòu)中。依次類推,直到所有的節(jié)點(diǎn)信息都已解析完。配置文件準(zhǔn)確的解析完后,預(yù)測需求信息便存儲在預(yù)先設(shè)計好的數(shù)據(jù)結(jié)構(gòu)中,當(dāng)需要用到預(yù)測需求信息時可以直接通過相應(yīng)的數(shù)據(jù)結(jié)構(gòu)索引訪問到所需的預(yù)測需求信息。
根據(jù)已解析的用戶預(yù)測需求信息逐一地從算法池中匹配預(yù)測算法,直到選擇出與用戶預(yù)測需求信息最為匹配的預(yù)測算法。基于實(shí)施例I以及實(shí)施例2的相關(guān)步驟,在具體的實(shí)施過程中可進(jìn)一步遵循如下步驟a算法控制器讀取第一條預(yù)測需求信息,并以此為關(guān)鍵詞從預(yù)測算法文件或數(shù)據(jù)庫中匹配;b當(dāng)遇到第一個匹配到的算法時,存儲到相應(yīng)的預(yù)測算法存儲數(shù)據(jù)結(jié)構(gòu)中(此數(shù)據(jù)結(jié)構(gòu)只存儲最大匹配的預(yù)測算法信息),并針對此算法匹配下一條預(yù)測需求信息,若能繼續(xù)匹配,則依次類推,直到所有的預(yù)測信息完全匹配或存在某一條預(yù)測需求信息不能匹配;若所有的預(yù)測信息都已完全匹配,則將匹配后的算法信息更新到預(yù)測算法存儲數(shù)據(jù)結(jié)構(gòu)中,提示匹配成功,退出算法選擇流程; 若存在某條預(yù)測需求信息不能匹配,則先將預(yù)測算法數(shù)據(jù)結(jié)構(gòu)中的已匹配的算法信息進(jìn)行備份,并清空預(yù)測算法存儲數(shù)據(jù)結(jié)構(gòu),再在未進(jìn)行匹配的算法信息中,繼續(xù)從步驟b開始執(zhí)行;c若預(yù)測算法存儲文件或數(shù)據(jù)庫中的所有算法都不能完全匹配預(yù)測需求信息時,算法控制器根據(jù)用戶需求的強(qiáng)烈程度提供三種選擇i在用戶對預(yù)測算法不做要求的情況下(使用默認(rèn)的配置文件),算法控制器選擇默認(rèn)的預(yù)測算法并將其信息更新到預(yù)測算法存儲數(shù)據(jù)結(jié)構(gòu)中,提示使用默認(rèn)預(yù)測算法,退出預(yù)測算法選擇流程;i i在用戶對預(yù)測算法需求比較溫和的情況下,算法控制器比較預(yù)測算法存儲數(shù)據(jù)結(jié)構(gòu)和備份數(shù)據(jù)結(jié)構(gòu)中最大匹配的預(yù)測算法信息并更新到預(yù)測算法存儲數(shù)據(jù)結(jié)構(gòu)中,提示使用溫和選擇模式,退出預(yù)測算法選擇流程;iii在用戶對預(yù)測算法需求強(qiáng)烈的情況下,由于預(yù)測算法存儲文件或數(shù)據(jù)庫中沒有能夠滿足要求的算法,則清空預(yù)測算法存儲數(shù)據(jù)結(jié)構(gòu)和備份數(shù)據(jù)結(jié)構(gòu),提示算法選擇失敗,退出預(yù)測算法選擇流程;d對預(yù)測算法的選擇返回結(jié)果,進(jìn)行相應(yīng)處理。實(shí)施例3如圖2所示的一種分布式集群管理系統(tǒng),包括集群調(diào)度模塊I、負(fù)載監(jiān)控模塊2、負(fù)載預(yù)測模塊3以及決策實(shí)施模塊4,負(fù)載預(yù)測模塊3進(jìn)一步包括配置文件301、算法控制器302以及算法執(zhí)行器303。集群調(diào)度模塊1,將外部輸入的用戶預(yù)測需求信息存儲于配置文件301,具體儲存的形式在具體實(shí)施過程中可以為鍵-值對的方式或以XML格式。算法控制器302,包括存儲能夠?qū)贺?fù)載進(jìn)行預(yù)測的預(yù)測算法及其相關(guān)參數(shù)信息的算法池320 ;算法控制器302對算法池320內(nèi)的預(yù)測算法及其相關(guān)參數(shù)信息實(shí)時更新,并解析配置文件301中的用戶預(yù)測需求信息;將已解析的用戶預(yù)測需求信息逐一地與算法池320內(nèi)儲存的預(yù)測算法進(jìn)行匹配,選擇匹配程度最大的預(yù)測算法,并將該預(yù)測算法及其相關(guān)參數(shù)信息發(fā)送至算法執(zhí)行器303。算法執(zhí)行器303,接收預(yù)測算法及其相關(guān)參數(shù)信息,并請求負(fù)載監(jiān)控模塊2監(jiān)測到的負(fù)載數(shù)據(jù),該負(fù)載數(shù)據(jù)也可以由外部設(shè)備提供;算法控制器302得到負(fù)載數(shù)據(jù)后,根據(jù)該預(yù)測算法及其相關(guān)參數(shù)信息建立負(fù)載預(yù)測模型,并利用該負(fù)載數(shù)據(jù)訓(xùn)練負(fù)載預(yù)測模型;使用訓(xùn)練好的負(fù)載預(yù)測模型對集群負(fù)載進(jìn)行預(yù)測,并將得到預(yù)測結(jié)果返回至集群調(diào)度模塊I。集群調(diào)度模塊1,接收該預(yù)測結(jié)果并將該預(yù)測結(jié)果作為調(diào)度決策的參考,輸出調(diào)度決策至決策實(shí)施模塊4。決策實(shí)施模塊4,接收該調(diào)度決策,根據(jù)系統(tǒng)所處的實(shí)際物理環(huán)境執(zhí)行調(diào)度決策。本實(shí)施例輸入的用戶預(yù)測需求信息包括用戶所需的預(yù)測精度信息、預(yù)測規(guī)律類型信息、預(yù)測周期信息以及預(yù)測算法特性信息。算法控制器302內(nèi)設(shè)有信息需求存儲單元321,用以儲存已解析的用戶預(yù)測需求信息;因配置文件301中寫入的用戶預(yù)測需求信息的儲存方式有所不同,算法控制器302的具體解析過程包括如下兩種方式對以鍵-值對的方式存儲于配置文件301中的用戶預(yù)測需求信息,算法控制器302從配置文件301中逐條讀取所有的用戶預(yù)測需求信息并判斷讀取的信息是否合法若讀取的信息為合法輸入,則算法控制器302按鍵-值分隔符對該信息進(jìn)行分割并將分割后的鍵信息和值信息分別存儲于信息存儲單元321中;若讀入的信息為非法輸入則算法控制器302報錯;如此反復(fù),直到配置文件301的末尾。對以XML格式存儲于配置文件301中的用戶預(yù)測需求信息,算法控制器302首先解析用戶預(yù)測需求信息的數(shù)據(jù)根節(jié)點(diǎn),并將根節(jié)點(diǎn)及其屬性信息存儲于信息存儲單元321中,再以循環(huán)遍歷的方式解析用戶預(yù)測需求信息的子節(jié)點(diǎn)及其屬性信息,并存儲至信息存儲單元321中;以此類推,直到所有的用戶預(yù)測需求信息的節(jié)點(diǎn)信息都已解析完畢。算法控制器302還包括預(yù)測算法儲存單元322,用以儲存最大匹配的預(yù)測算法及其相關(guān)參數(shù)信息。算法控制器302具體的匹配流程包括以下步驟讀取第一條用戶預(yù)測需求信息,并以此為關(guān)鍵詞搜尋算法池內(nèi)匹配該信息的預(yù)測算法;當(dāng)遇到第一個與該信息適配的預(yù)測算法時,停止搜索;針對該預(yù)測算法匹配下一條用戶預(yù)測需求信息若該預(yù)測算法對所有的用戶預(yù)測需求信息逐一適配,將該預(yù)測算法及其相關(guān)參數(shù)信息更新至預(yù)測算法儲存單元322 ;若該預(yù)測算法對所有的用戶預(yù)測需求信息不能逐一適配,則將該預(yù)測算法及其相關(guān)參數(shù)信息備份于系統(tǒng)中,并對算法池320內(nèi)未經(jīng)搜索的預(yù)測算法重復(fù)上述步驟;若算法池內(nèi)所有的預(yù)測算法均不能對所有的用戶預(yù)測需求逐一適配,選擇備份于系統(tǒng)中的預(yù)測算法中與所有的用戶預(yù)測需求信息最大匹配者,并將該預(yù)測算法及其相關(guān)參數(shù)信息更新至預(yù)測算法儲存單元322。 在本實(shí)施例中,算法池可以具體為指定的系統(tǒng)目錄下的文件或在算法信息量比較大的情況下選擇的數(shù)據(jù)庫,即預(yù)測算法及相關(guān)參數(shù)信息以一定格式存儲于指定系統(tǒng)目錄下的文件或者在算法信息量比較大的情況下存儲于數(shù)據(jù)庫。預(yù)測算法的種類很多,能夠應(yīng)用到分布式集群系統(tǒng)負(fù)載的預(yù)測算法主要包括基于模擬人腦訓(xùn)練活動的神經(jīng)網(wǎng)絡(luò)算法BP-NN(Back Propagation Neural Network)和基于時間序列的指數(shù)加權(quán)移動平均算法EWMA(Exponentially Weighted Moving-Average)將本實(shí)施例的分布式集群管理系統(tǒng)用于具體物理機(jī)調(diào)度的部分關(guān)鍵實(shí)驗(yàn)過程如下用戶預(yù)測需求信息為預(yù)測周期為3、精度為0. 001 ;具體將該系統(tǒng)應(yīng)用于2臺物理機(jī),負(fù)載監(jiān)測模塊2提供該2臺物理機(jī)的負(fù)載數(shù)據(jù);集群調(diào)度模塊I將用戶預(yù)測需求信息輸入到xml格式的配置文件301中
< xm1 version=" 1.0" encoding="UTF-8" >
〈PREDICT VERSION=mO.I">
〈CYCLELENGTH VALUE="3M/>
〈PRECISION VALUE=mO.001"/>
〈/PREDICT〉算法控制器302根據(jù)用戶預(yù)測需求信息選擇出滿足需求的預(yù)測算法,即神經(jīng)網(wǎng)絡(luò)算法BP-NN,選擇后的預(yù)測算法及其相關(guān)參數(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將該預(yù)測算法及其相關(guān)參數(shù)信息發(fā)送到算法執(zhí)行器303,算法執(zhí)行器303根據(jù)該預(yù)測算法及其相關(guān)參數(shù)信息建立預(yù)測模型,并基于輸入的負(fù)載數(shù)據(jù)對該預(yù)測模型進(jìn)行訓(xùn)練,將訓(xùn)練好的預(yù)測模型用于負(fù)載預(yù)測,并將預(yù)測結(jié)果輸出。輸入的負(fù)載信息用xml格式表示如下(時間間隙為15秒)第一組訓(xùn)練數(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>第二組訓(xùn)練數(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>第三組訓(xùn)練數(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>負(fù)載預(yù)測輸入數(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>負(fù)載預(yù)測輸出數(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í)行器輸出預(yù)測結(jié)果由上述實(shí)施例可以看出,在預(yù)測需求為精度為0.001,預(yù)測周期為3的情況下,算法控制器自適應(yīng)的選擇了滿足需求的神經(jīng)網(wǎng)絡(luò)算法BP-NN作為預(yù)測算法,并在負(fù)載趨勢為上升的情況下,給出了預(yù)測結(jié)果。從預(yù)測結(jié)果可以看出,預(yù)測算法給出的預(yù)測結(jié)果符合負(fù)載上升的趨勢,滿足了預(yù)測需求。本實(shí)施系統(tǒng)的另一特性是支持算法池320內(nèi)預(yù)測算法的插拔,即算法控制器302對算法池320內(nèi)的預(yù)測算法及其相關(guān)參數(shù)信息實(shí)時更新,具體可通過下述步驟實(shí)現(xiàn)算法池 320內(nèi)預(yù)測算法的可插拔當(dāng)有滿足新的用戶預(yù)測需求的預(yù)測算法及其相關(guān)參數(shù)信息需要加入到算法池320內(nèi)時,將預(yù)測算法以相應(yīng)的數(shù)據(jù)結(jié)構(gòu)存儲到算法控制器302中;同時,將新的預(yù)測算法及其實(shí)現(xiàn)過程加入到算法控制器302中,并在算法控制器302內(nèi)注冊相應(yīng)接口 ;算法控制器302將 新的預(yù)測算法及其相關(guān)參數(shù)信息添加到算法池320中,實(shí)現(xiàn)對算法池320內(nèi)的預(yù)測算法及其相關(guān)參數(shù)信息的添加。當(dāng)需要將不能滿足當(dāng)前用戶預(yù)測需求信息或很少使用的預(yù)測算法從算法池320中刪除時,只需在算法控制器302中將要刪除預(yù)測算法的相應(yīng)接口進(jìn)行注銷即可,如此則實(shí)現(xiàn)了對算法池320內(nèi)的預(yù)測算法及其相關(guān)參數(shù)信息的刪除。算法控制器302對算法池320內(nèi)的預(yù)測算法及其相關(guān)參數(shù)信息的添加以及刪除構(gòu)成了對算法池320內(nèi)預(yù)測算法的實(shí)時更新。
權(quán)利要求
1.一種集群負(fù)載預(yù)測方法,應(yīng)用于分布式集群系統(tǒng),包括步驟 在系統(tǒng)中設(shè)置預(yù)測算法存儲單元與算法池; 預(yù)先在算法池內(nèi)儲存能夠?qū)贺?fù)載進(jìn)行預(yù)測的預(yù)測算法及其相關(guān)參數(shù)信息,并對算法池內(nèi)的預(yù)測算法及其相關(guān)參數(shù)信息實(shí)時更新; 接收外部寫入的用戶預(yù)測需求信息,解析該用戶預(yù)測需求信息并將該信息存儲于系統(tǒng)中; 將已解析的用戶預(yù)測需求信息逐一地與算法池內(nèi)存儲的預(yù)測算法進(jìn)行匹配,選擇出匹配程度最大的預(yù)測算法并將該預(yù)測算法及其相關(guān)參數(shù)信息更新至預(yù)測算法存儲單元; 獲取系統(tǒng)提供的負(fù)載數(shù)據(jù); 基于預(yù)測算法存儲單元內(nèi)的預(yù)測算法及其相關(guān)參數(shù)信息建立負(fù)載預(yù)測模型,利用負(fù)載數(shù)據(jù)訓(xùn)練負(fù)載預(yù)測模型; 使用訓(xùn)練好的負(fù)載預(yù)測模型對集群負(fù)載進(jìn)行預(yù)測,得到預(yù)測結(jié)果。
2.根據(jù)權(quán)利要求I所述的集群負(fù)載預(yù)測方法,其特征在于,所述的用戶預(yù)測需求信息包括用戶所需的預(yù)測精度信息、預(yù)測規(guī)律類型信息、預(yù)測周期信息以及預(yù)測算法特性信息。
3.根據(jù)權(quán)利要求I所述的集群負(fù)載預(yù)測方法,其特征在于,所述的接收外部寫入的用戶預(yù)測需求信息中,接收到的用戶預(yù)測需求信息是以鍵-值對的方式或以XML格式存儲于系統(tǒng)的配置文件中。
4.根據(jù)權(quán)利要求3所述的集群負(fù)載預(yù)測方法,其特征在于,所述的解析該用戶預(yù)測需求信息并將該信息存儲于系統(tǒng)中,包括 對以鍵-值對的方式存儲于配置文件中的用戶預(yù)測需求信息,從配置文件中逐條讀取所有的用戶預(yù)測需求信息并判斷讀取的信息是否合法 若讀取的信息為合法輸入,則按鍵-值分隔符對該信息進(jìn)行分割并將分割后的鍵信息和值信息分別存儲于系統(tǒng)中; 若讀入的信息為非法輸入則系統(tǒng)報錯; 如此反復(fù),直到配置文件的末尾; 對以XML格式存儲于配置文件中的用戶預(yù)測需求信息,首先解析用戶預(yù)測需求信息的數(shù)據(jù)根節(jié)點(diǎn),并將根節(jié)點(diǎn)及其屬性信息存儲于系統(tǒng)中,再以循環(huán)遍歷的方式解析用戶預(yù)測需求信息的子節(jié)點(diǎn)及其屬性信息,并存儲至系統(tǒng)中;以此類推,直到所有的用戶預(yù)測需求信息的節(jié)點(diǎn)信息都已解析完畢。
5.根據(jù)權(quán)利要求I所述的集群負(fù)載預(yù)測方法,其特征在于,將已解析的用戶預(yù)測需求信息逐一地與算法池內(nèi)存儲的預(yù)測算法進(jìn)行匹配,選擇出匹配程度最大的預(yù)測算法并將該預(yù)測算法及其相關(guān)參數(shù)信息更新至預(yù)測算法存儲單元,包括步驟 讀取第一條用戶預(yù)測需求信息,并以此為關(guān)鍵詞搜尋算法池內(nèi)匹配該信息的預(yù)測算法;當(dāng)遇到第一個與該信息適配的預(yù)測算法時,停止搜索; 針對該預(yù)測算法匹配下一條用戶預(yù)測需求信息; 若該預(yù)測算法對所有的用戶預(yù)測需求信息逐一適配,將該預(yù)測算法及其相關(guān)參數(shù)信息更新至預(yù)測算法儲存單元; 若該預(yù)測算法對所有的用戶預(yù)測需求信息不能逐一適配,則將該預(yù)測算法及其相關(guān)參數(shù)信息備份于系統(tǒng)中,并對算法池內(nèi)未經(jīng)搜索的預(yù)測算法重復(fù)上述步驟;若算法池內(nèi)所有的預(yù)測算法均不能對所有的用戶預(yù)測需求逐一適配,選擇備份于系統(tǒng)中的預(yù)測算法中與所有的用戶預(yù)測需求信息最大匹配者,并將該預(yù)測算法及其相關(guān)參數(shù)信息更新至預(yù)測算法儲存單元。
6.一種分布式集群管理系統(tǒng),包括集群調(diào)度模塊、負(fù)載監(jiān)控模塊、負(fù)載預(yù)測模塊以及決策實(shí)施模塊,其特征在于,所述的負(fù)載預(yù)測模塊包括配置文件、算法控制器以及算法執(zhí)行器; 所述的集群調(diào)度模塊,將外部輸入的用戶預(yù)測需求信息存儲于配置文件; 所述的算法控制器,包括存儲能夠?qū)贺?fù)載進(jìn)行預(yù)測的預(yù)測算法及其相關(guān)參數(shù)信息的算法池;所述的算法控制器對算法池內(nèi)的預(yù)測算法及其相關(guān)參數(shù)信息實(shí)時更新,并解析配置文件中的用戶預(yù)測需求信息;將已解析的用戶預(yù)測需求信息逐一地與算法池內(nèi)儲存的預(yù)測算法進(jìn)行匹配,選擇匹配程度最大的預(yù)測算法,并將該預(yù)測算法及其相關(guān)參數(shù)信息發(fā)送至算法執(zhí)行器; 所述的算法執(zhí)行器,接收預(yù)測算法及其相關(guān)參數(shù)信息,并請求負(fù)載監(jiān)控模塊或外部設(shè)備監(jiān)測到的負(fù)載數(shù)據(jù);根據(jù)該預(yù)測算法及其相關(guān)參數(shù)信息建立負(fù)載預(yù)測模型,利用請求到的負(fù)載數(shù)據(jù)訓(xùn)練負(fù)載預(yù)測模型;使用訓(xùn)練好的負(fù)載預(yù)測模型對集群負(fù)載進(jìn)行預(yù)測,并將得到預(yù)測結(jié)果返回至集群調(diào)度模塊; 所述的集群調(diào)度模塊,接收該預(yù)測結(jié)果并將該預(yù)測結(jié)果作為調(diào)度決策的參考,輸出調(diào)度決策至決策實(shí)施模塊; 所述的決策實(shí)施模塊,接收該調(diào)度決策,根據(jù)系統(tǒng)所處的實(shí)際物理環(huán)境執(zhí)行調(diào)度決策。
7.根據(jù)權(quán)利要求6所述的分布式集群管理系統(tǒng),其特征在于,所述的用戶預(yù)測需求信息包括用戶所需的預(yù)測精度信息、預(yù)測規(guī)律類型信息、預(yù)測周期信息以及預(yù)測算法特性信肩、O
8.根據(jù)權(quán)利要求6所述的分布式集群管理系統(tǒng),其特征在于,所述的用戶預(yù)測需求信息以鍵-值對的方式或以XML格式存儲于配置文件中。
9.根據(jù)權(quán)利要求8所述的分布式集群管理系統(tǒng),其特征在于,所述的算法控制器包括/[目息需求存儲單兀; 對以鍵-值對的方式存儲于配置文件中的用戶預(yù)測需求信息,所述的算法控制器從配置文件中逐條讀取所有的用戶預(yù)測需求信息并判斷讀取的信息是否合法 若讀取的信息為合法輸入,則按鍵-值分隔符對該信息進(jìn)行分割并將分割后的鍵信息和值信息分別存儲于所述的信息存儲單元中; 若讀入的信息為非法輸入則算法控制器報錯; 如此反復(fù),直到配置文件的末尾; 對以XML格式存儲于配置文件中的用戶預(yù)測需求信息,所述的算法控制器首先解析用戶預(yù)測需求信息的數(shù)據(jù)根節(jié)點(diǎn),并將根節(jié)點(diǎn)及其屬性信息存儲于所述的信息存儲單元中,再以循環(huán)遍歷的方式解析用戶預(yù)測需求信息的子節(jié)點(diǎn)及其屬性信息,并存儲至信息存儲單元中;以此類推,直到所有的用戶預(yù)測需求信息的節(jié)點(diǎn)信息都已解析完畢。
10.根據(jù)權(quán)利要求7所述的分布式集群管理系統(tǒng),其特征在于, 所述的算法控制器包括預(yù)測算法儲存單元,所述的算法控制器實(shí)現(xiàn)以下步驟 讀取第一條用戶預(yù)測需求信息,并以此為關(guān)鍵詞搜尋算法池內(nèi)匹配該信息的預(yù)測算法;當(dāng)遇到第一個與該信息適配的預(yù)測算法時,停止搜索; 針對該預(yù)測算法匹配下一條用戶預(yù)測需求信息; 若該預(yù)測算法對所有的用戶預(yù)測需求信息逐一適配,將該預(yù)測算法及其相關(guān)參數(shù)信息更新至預(yù)測算法儲存單元; 若該預(yù)測算法對所有的用戶預(yù)測需求信息不能逐一適配,則將該預(yù)測算法及其相關(guān)參數(shù)信息備份于系統(tǒng)中,并對算法池內(nèi)未經(jīng)搜索的預(yù)測算法重復(fù)上述步驟; 若算法池內(nèi)所有的預(yù)測算法均不能對所有的用戶預(yù)測需求逐一適配,選擇備份于系統(tǒng)中的預(yù)測算法中與所有的用戶預(yù)測需求信息最大匹配者,并將該預(yù)測算法及其相關(guān)參數(shù)信息更新至預(yù)測算法儲存單元。
全文摘要
本發(fā)明涉及一種集群負(fù)載預(yù)測方法及分布式集群管理系統(tǒng)。本發(fā)明的方法包括步驟接收用戶預(yù)測需求信息并解析,并將已解析的用戶預(yù)測需求信息與算法池內(nèi)存儲的預(yù)測算法進(jìn)行匹配;對算法池內(nèi)的預(yù)測算法進(jìn)行更新;選擇匹配程度最大的預(yù)測算法及其相關(guān)參數(shù)信息建立負(fù)載預(yù)測模型,并用獲取的負(fù)載數(shù)據(jù)訓(xùn)練該負(fù)載預(yù)測模型;使用訓(xùn)練好的負(fù)載預(yù)測模型對集群負(fù)載進(jìn)行預(yù)測,得到預(yù)測結(jié)果。本發(fā)明的系統(tǒng)包括集群調(diào)度模塊、負(fù)載監(jiān)控模塊、負(fù)載預(yù)測模塊以及決策實(shí)施模塊;所述的負(fù)載預(yù)測模塊包括配置文件、算法控制器以及算法執(zhí)行器。本發(fā)明的技術(shù)方案應(yīng)用于集群系統(tǒng)中,支持預(yù)測需求可配置、支持預(yù)測算法的自適應(yīng)選擇以及支持預(yù)測算法的可插拔。
文檔編號H04L29/08GK102624865SQ20121000540
公開日2012年8月1日 申請日期2012年1月9日 優(yōu)先權(quán)日2012年1月9日
發(fā)明者張濤, 王云霄, 王總輝, 陳建海, 陳文智 申請人:浙江大學(xué)