專利名稱:一種集群系統(tǒng)實現(xiàn)及任務(wù)動態(tài)分配方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機集群技術(shù)領(lǐng)域,具體涉及ー種集群系統(tǒng)實現(xiàn)及任務(wù)動態(tài)分配方法。
背景技術(shù):
目前較為流行的集群服務(wù)器、集群存儲監(jiān)控軟件如ganglia等大多需要在配置文件中指明需要監(jiān)控的具體設(shè)備及具體服務(wù),以硬盤為例,需要在配置文件中填寫被監(jiān)控硬盤在系統(tǒng)中的設(shè)備名。在大規(guī)模集群監(jiān)控中,需要監(jiān)控的硬件設(shè)備及服務(wù)數(shù)量極大,需要大規(guī)模填寫監(jiān)控配置文件,并且當(dāng)今服務(wù)器、存儲設(shè)備多實現(xiàn)了硬件設(shè)備熱插拔方式,集群存儲也多采用高可用方法實現(xiàn)在線遷移服務(wù),因此硬件設(shè)備及服務(wù)常常動態(tài)變化,采用原有方式在熱插拔硬件,人工修改監(jiān)控配置文件,會對整個集群系統(tǒng)的實時監(jiān)控不利,同時高可 用軟件自動遷移服務(wù)后,在人工修改監(jiān)控配置文件之前,遷移的服務(wù)在目標(biāo)節(jié)點上無法監(jiān)控。高性能計算技術(shù)的發(fā)展是伴隨著計算機技術(shù)的發(fā)展而發(fā)展的,也就是說,從計算機技術(shù)誕生之日起,人們就在為追求更高計算能力的計算機系統(tǒng)而努力。在過去幾十年間,可以說是高性能計算機體系結(jié)構(gòu)和通信技術(shù)不斷創(chuàng)新的年代,出現(xiàn)了包括MPP (MassiveParallel Processing,海量并行處理結(jié)構(gòu))、SMP (Symmetric Multi-Processor,對稱多處理器結(jié)構(gòu))、集群等各種各樣的體系結(jié)構(gòu)及網(wǎng)絡(luò)互聯(lián)技木。尤其是最近幾年,集群技術(shù)發(fā)展迅速,已經(jīng)成為構(gòu)建超級計算機系統(tǒng)的主流架構(gòu)之一。在最新發(fā)布的T0P500 (T0P500是世界最強超級計算機排名的簡稱,這個排行榜自1993年設(shè)立,毎年6月、11月兩次統(tǒng)計發(fā)布世界上最強大的500個計算機系統(tǒng)。)中,超過80%的入選系統(tǒng)都采用了集群架構(gòu),并在數(shù)量上仍有不斷増加的趨勢,可見集群技術(shù)在高性能計算領(lǐng)域有著旺盛的生命力和廣闊的發(fā)展前景。隨著商業(yè)應(yīng)用的不斷發(fā)展,高性能集群技術(shù)在商業(yè)應(yīng)用領(lǐng)域也得到了廣泛的應(yīng)用,由于商業(yè)用戶希望自己的業(yè)務(wù)程序能夠?qū)ν馓峁┎婚g斷的服務(wù),把因軟件、硬件,以及人為等原因造成的故障對業(yè)務(wù)的影響降低到最低程度,因此,要求如果某個節(jié)點失效,它的備用節(jié)點能夠在幾秒鐘時間內(nèi)接管它的職責(zé)。傳統(tǒng)的集群服務(wù)高可用靜態(tài)配置方法雖然能夠?qū)崿F(xiàn)服務(wù)的接管,但是卻無法在剰余集群節(jié)點間實現(xiàn)接管服務(wù)的均衡分配,同時傳統(tǒng)的方法不能根據(jù)負載監(jiān)控狀況進行服務(wù)的動態(tài)優(yōu)化調(diào)整。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種集群系統(tǒng)實現(xiàn)及任務(wù)動態(tài)分配方法。本發(fā)明的目的是按以下方式實現(xiàn)的,將各類硬件設(shè)備及各類軟件服務(wù)按預(yù)定義的 模式分類,動態(tài)監(jiān)控指定模式的具體硬件設(shè)備及服務(wù)信息,以此來實現(xiàn)服務(wù)器、存儲設(shè)備的大規(guī)模動態(tài)實時監(jiān)控,利用模式方法來實現(xiàn)對硬件設(shè)備及服務(wù)的監(jiān)控,用戶需要監(jiān)控某類硬件設(shè)備或服務(wù)時,僅需要在模式監(jiān)控配置文件中填寫該類硬件設(shè)備或服務(wù)的模式,模式分析模塊分析該文件并即時檢測系統(tǒng)中符合該模式的所有硬件設(shè)備或服務(wù),生成系統(tǒng)中相應(yīng)設(shè)備的設(shè)備文件名或服務(wù)名并寫入具體設(shè)備及服務(wù)監(jiān)控配置文件,當(dāng)發(fā)生硬件熱插拔或服務(wù)在線遷移操作包括數(shù)據(jù)卷在線遷移時,設(shè)備及服務(wù)檢測模塊被觸發(fā)獲取被熱插拔的設(shè)備或自動遷移的服務(wù),并自動修改配置文件,系統(tǒng)包括模式分析模塊、設(shè)備及服務(wù)檢測模塊,其中
模式分析模塊是已有監(jiān)控方式的改進,目前的監(jiān)控方式需要用戶寫入具體的需要被監(jiān)控的設(shè)備及服務(wù)在系統(tǒng)中的名字,改進后,用戶只需要寫入希望被監(jiān)控的某類或某幾類設(shè)備及服務(wù)在系統(tǒng)中的定義,模式分析模塊分析該模式監(jiān)控配置文件,并依據(jù)此在系統(tǒng)中搜索具體的滿足模式監(jiān)控配置文件內(nèi)的模式的硬件設(shè)備及服務(wù),并寫入具體設(shè)備及服務(wù)監(jiān)控配置文件,以備監(jiān)控模塊使用;
設(shè)備及服務(wù)檢測模塊是對硬件設(shè)備熱插拔及服務(wù)遷移的檢測及報告模塊,在如今服務(wù)器及存儲設(shè)備中,部分硬件設(shè)備如硬盤都實現(xiàn)了熱插拔,當(dāng)熱插拔操作發(fā)生時,該模塊檢測到熱插拔操作,得到熱插拔設(shè)備的具體信息,然后按照用戶配置或者通知模式分析模塊重 新分析,生成具體設(shè)備及服務(wù)監(jiān)控配置文件或?qū)χ苯有薷木唧w設(shè)備及服務(wù)監(jiān)控配置文件,并通知監(jiān)控模塊,集群環(huán)境中發(fā)生故障時實現(xiàn)服務(wù)的在線遷移,當(dāng)服務(wù)遷移時,設(shè)備及服務(wù)檢測模塊檢測到被遷移走或遷入的服務(wù),然后按照用戶配置或者通知模式分析模塊重新分祈,生成具體設(shè)備及服務(wù)監(jiān)控配置文件或?qū)χ苯有薷木唧w設(shè)備及服務(wù)監(jiān)控配置文件,并通知監(jiān)控模塊;
模式分析模塊分析用戶填寫的模式監(jiān)控配置文件,并依據(jù)分析的結(jié)果即時檢測系統(tǒng)中存在的屬于用戶指定模式的具體硬件設(shè)備及服務(wù),并將具體硬件設(shè)備及服務(wù)信息填入具體設(shè)備及服務(wù)監(jiān)控配置文件,實現(xiàn)了監(jiān)控的動態(tài)性、實時性、可靠性、更好的擴展能力和可管理性;
設(shè)備及服務(wù)檢測模塊動態(tài)方式監(jiān)控,不依賴已寫好的具體設(shè)備監(jiān)控配置文件,而是動態(tài)監(jiān)測硬件設(shè)備熱插拔及服務(wù)遷移,并將已經(jīng)改變的硬件及服務(wù)環(huán)境信息反映到具體設(shè)備監(jiān)控配置文件中去,在用戶改變系統(tǒng)硬件配置或服務(wù)遷移吋,不需要自己修改配置文件,實現(xiàn)了監(jiān)控的動態(tài)性、實時性、可靠性、更好的擴展能力和可管理性?!N集群服務(wù)動態(tài)配置裝置,包括負載監(jiān)控模塊、性能優(yōu)化規(guī)則引擎、集群服務(wù)管理模塊以及集群信息庫,其中
負載監(jiān)控模塊,用以監(jiān)控集群中各節(jié)點的負載情況,并將其存儲至集群信息庫,節(jié)點的負載情況包括節(jié)點資源利用率和節(jié)點的性能負載情況,其中,節(jié)點資源利用率,包括CPU的利用率、內(nèi)存的利用率;節(jié)點的性能負載情況包括數(shù)據(jù)流量;
性能優(yōu)化規(guī)則引擎,根據(jù)集群信息庫中各節(jié)點的歷史監(jiān)控數(shù)據(jù)及當(dāng)前監(jiān)控數(shù)據(jù),預(yù)測各節(jié)點未來的負載情況,以及根據(jù)預(yù)測結(jié)果和ー預(yù)設(shè)的服務(wù)均衡策略制定集群中各節(jié)點上的服務(wù)分配方案;
性能優(yōu)化規(guī)則引擎,是通過將集群中各節(jié)點當(dāng)前監(jiān)控數(shù)據(jù)以及若干歷史監(jiān)控數(shù)據(jù)與一預(yù)設(shè)的預(yù)測模型進行匹配,從而預(yù)測該各節(jié)點未來的負載情況,所述預(yù)測模型包括自回歸模型AR(p)、滑動平均模型MA(q)、自回歸滑動平均模型ARMA(p,q),在進行預(yù)測模型匹配之前,性能優(yōu)化規(guī)則引擎還對所述負載監(jiān)控模塊采集到的負載樣本進行預(yù)處理及平穩(wěn)化處理。
考慮到預(yù)測的歩數(shù)越多,預(yù)測的結(jié)果與實際值相差的越大,越久遠的歷史信息對預(yù)測結(jié)果的影響越小,因此,選擇離當(dāng)前觀測值近的幾個歷史觀測值和當(dāng)前觀測值,利用預(yù)測模型預(yù)測下一歩的結(jié)果,主節(jié)點會根據(jù)各個節(jié)點的預(yù)測值進行判斷,并進行服務(wù)的重新分配;
預(yù)設(shè)的服務(wù)均衡策略包括配置集群中各節(jié)點的資源承載能力,分別判斷預(yù)測出的各節(jié)點未來的負載是否超出其承載能力,如果超出,則在各節(jié)點間進行服務(wù)均衡,以確保各節(jié)點未來的負載不超出其承載能力;
集群服務(wù)管理模塊,負責(zé)集群服務(wù)分配的相關(guān)操作,負責(zé)維護所述集群信息庫,包括節(jié)點、服務(wù)、利用率、性能負載監(jiān)控的信息,根據(jù)性能優(yōu)化規(guī)則引擎制定的集群中各節(jié)點上的服務(wù)分配方案,調(diào)整集群中各節(jié)點的服務(wù)分配,它是唯一一個決定在整個集群進行服務(wù)更改的實體;
集群信息庫,用以存儲所述負載監(jiān)控模塊監(jiān)控得到的集群中各節(jié)點的負載數(shù)據(jù),所述節(jié)點的負載數(shù)據(jù)包括節(jié)點資源的利用率、節(jié)點的性能負載,所述節(jié)點資源的利用率包括CPU的利用率、內(nèi)存的利用率;所述節(jié)點的性能負載包括數(shù)據(jù)流量;
進ー步地,負載監(jiān)控模塊在監(jiān)控到集群中的某節(jié)點宕機時,實時通知性能優(yōu)化規(guī)則引擎,性能優(yōu)化規(guī)則引擎在獲知某節(jié)點宕機吋,從所述集群信息庫中獲取該節(jié)點上的服務(wù)數(shù)據(jù),井根據(jù)預(yù)測出的集群中其他節(jié)點未來的負載情況,將該節(jié)點上的服務(wù)數(shù)據(jù)分配給集群中其他節(jié)點,且確保集群中所述其他各節(jié)點未來的負載不超出其承載能力。一種集群系統(tǒng)實現(xiàn)方式,包括一主節(jié)點和至少ー從屬節(jié)點,主節(jié)點和從屬節(jié)點上均包括負載監(jiān)控模塊、性能優(yōu)化規(guī)則引擎、集群服務(wù)管理模塊、集群信息庫、集群通信及成員關(guān)系模塊、本地服務(wù)管理模塊、集群信息庫、服務(wù)代理模塊以及隔離設(shè)備,其中
主節(jié)點上和從屬節(jié)點上的負載監(jiān)控模塊,用以監(jiān)控其所在節(jié)點的負載情況,并將其存儲至其所在節(jié)點的所述集群信息庫;
主節(jié)點上和從屬節(jié)點上的性能優(yōu)化規(guī)則引擎,用以根據(jù)其所在節(jié)點上的集群信息庫中存儲的歷史監(jiān)控數(shù)據(jù)及當(dāng)前監(jiān)控數(shù)據(jù),預(yù)測其所在節(jié)點未來的負載情況,并將其存儲至其所在節(jié)點的集群信息庫;主節(jié)點上的性能優(yōu)化規(guī)則引擎,還用以根據(jù)其所在節(jié)點的集群信息庫中存儲的集群系統(tǒng)中各節(jié)點未來的負載情況的預(yù)測結(jié)果和ー預(yù)設(shè)的服務(wù)均衡策略制定集群中各節(jié)點上的服務(wù)分配方案,并將其分別發(fā)送至所述從屬節(jié)點的所述集群服務(wù)管理模塊中;
主節(jié)點上和從屬節(jié)點上的集群服務(wù)管理模塊,用以將其所在節(jié)點上的集群信息庫中的數(shù)據(jù)同步為集群系統(tǒng)中所有節(jié)點上的集群信息庫中的數(shù)據(jù)的并集,以及根據(jù)主節(jié)點上的性能優(yōu)化規(guī)則引擎制定的集群中各節(jié)點上的服務(wù)分配方案調(diào)整其所在節(jié)點上的服務(wù)分配情況;
集群通信及成員關(guān)系模塊,用以構(gòu)建高可用集群成員關(guān)系,以及負責(zé)集群中各節(jié)點之間的消息通訊,消息通訊是指集群節(jié)點間的信息交互,包括節(jié)點、服務(wù)配置、監(jiān)控信息等的交互及同步,構(gòu)建高可用集群成員關(guān)系是,在高可用集群中的節(jié)點之間建立高可用關(guān)系,使得失效節(jié)點的服務(wù)能夠被集群中其他節(jié)點接管;
本地服務(wù)管理模塊,用以與服務(wù)代理模塊交互,通過服務(wù)代理模塊管理本節(jié)點服務(wù); 服務(wù)代理模塊,負責(zé)直接管理服務(wù);隔離設(shè)備,用以將失效節(jié)點隔離,防止其對集群造成不利影響;
進一步地,所述預(yù)設(shè)的服務(wù)均衡策略包括配置集群中各節(jié)點的資源承載能力,分別判斷預(yù)測出的各節(jié)點未來的負載是否超出其承載能力,如果超出,則在各節(jié)點間進行服務(wù)均衡,以確保各節(jié)點未來的負載不超出其承載能力;
進一步地,當(dāng)從屬節(jié)點宕機時,所述主節(jié)點的所述性能優(yōu)化規(guī)則引擎根據(jù)所述主節(jié)點的所述集群信息庫中存儲的所述宕機的從屬節(jié)點上的服務(wù)數(shù)據(jù),以及預(yù)測出的集群中節(jié)點未來的負載情況,將所述宕機的從屬節(jié)點上的服務(wù)數(shù)據(jù)分配給集群中節(jié)點,且確保集群中節(jié)點未來的負載不超出其承載能力;
進一步地,當(dāng)主節(jié)點宕機時,其中一個從屬節(jié)點替代該主節(jié)點成為集群系統(tǒng)中新的主節(jié)點;
新的主節(jié)點的所述性能優(yōu)化規(guī)則引擎,根據(jù)新的主節(jié)點的集群信息庫中存儲的宕機的節(jié)點上的服務(wù)數(shù)據(jù),以及預(yù)測出的新的主節(jié)點和集群中其他從屬節(jié)點未來的負載情況,將 宕機的節(jié)點上的服務(wù)數(shù)據(jù)分配給集群中節(jié)點,且確保集群中的節(jié)點未來的負載不超出其承載能力。本發(fā)明的有益效果是通過對節(jié)點負載進行監(jiān)控,并據(jù)以對服務(wù)預(yù)先優(yōu)化分配,可以平衡負載,提高并發(fā)服務(wù),提高了整個集群系統(tǒng)的效能,降低因節(jié)點負載過重導(dǎo)致宕機的概率,可以防止單一節(jié)點接管宕機節(jié)點的所有服務(wù)可能造成的多米諾骨牌效應(yīng)。
圖I是集群服務(wù)動態(tài)分配裝置組成示意 圖2是集群服務(wù)動態(tài)分配方法流程示意 圖3是模式分析及實時檢測策略 圖4是集群模式監(jiān)控框圖。
具體實施例方式參照說明書附圖對本發(fā)明的方法及裝置作以下詳細地說明。將各類硬件設(shè)備及各類軟件服務(wù)按預(yù)定義的模式分類,動態(tài)監(jiān)控指定模式的具體硬件設(shè)備及服務(wù)信息,以此來實現(xiàn)服務(wù)器、存儲設(shè)備的大規(guī)模動態(tài)實時監(jiān)控,利用模式方法來實現(xiàn)對硬件設(shè)備及服務(wù)的監(jiān)控,用戶需要監(jiān)控某類硬件設(shè)備或服務(wù)時,僅需要在模式監(jiān)控配置文件中填寫該類硬件設(shè)備或服務(wù)的模式,模式分析模塊分析該文件并即時檢測系統(tǒng)中符合該模式的所有硬件設(shè)備或服務(wù),生成系統(tǒng)中相應(yīng)設(shè)備的設(shè)備文件名或服務(wù)名并寫入具體設(shè)備及服務(wù)監(jiān)控配置文件,當(dāng)發(fā)生硬件熱插拔或服務(wù)在線遷移操作包括數(shù)據(jù)卷在線遷移時,設(shè)備及服務(wù)檢測模塊被觸發(fā)獲取被熱插拔的設(shè)備或自動遷移的服務(wù),并自動修改配置文件,系統(tǒng)包括模式分析模塊、設(shè)備及服務(wù)檢測模塊,其中
模式分析模塊是已有監(jiān)控方式的改進,目前的監(jiān)控方式需要用戶寫入具體的需要被監(jiān)控的設(shè)備及服務(wù)在系統(tǒng)中的名字,改進后,用戶只需要寫入希望被監(jiān)控的某類或某幾類設(shè)備及服務(wù)在系統(tǒng)中的定義,模式分析模塊分析該模式監(jiān)控配置文件,并依據(jù)此在系統(tǒng)中搜索具體的滿足模式監(jiān)控配置文件內(nèi)的模式的硬件設(shè)備及服務(wù),并寫入具體設(shè)備及服務(wù)監(jiān)控配置文件,以備監(jiān)控模塊使用;設(shè)備及服務(wù)檢測模塊是對硬件設(shè)備熱插拔及服務(wù)遷移的檢測及報告模塊,在如今服務(wù)器及存儲設(shè)備中,部分硬件設(shè)備如硬盤都實現(xiàn)了熱插拔,當(dāng)熱插拔操作發(fā)生時,該模塊檢測到熱插拔操作,得到熱插拔設(shè)備的具體信息,然后按照用戶配置或者通知模式分析模塊重新分析,生成具體設(shè)備及服務(wù)監(jiān)控配置文件或?qū)χ苯有薷木唧w設(shè)備及服務(wù)監(jiān)控配置文件,并通知監(jiān)控模塊,集群環(huán)境中發(fā)生故障時實現(xiàn)服務(wù)的在線遷移,當(dāng)服務(wù)遷移時,設(shè)備及服務(wù)檢測模塊檢測到被遷移走或遷入的服務(wù),然后按照用戶配置或者通知模式分析模塊重新分析,生成具體設(shè)備及服務(wù)監(jiān)控配置文件或?qū)χ苯有薷木唧w設(shè)備及服務(wù)監(jiān)控配置文件,并通知監(jiān)控模塊;
模式分析模塊分析用戶填寫的模式監(jiān)控配置文件,并依據(jù)分析的結(jié)果即時檢測系統(tǒng)中存在的屬于用戶指定模式的具體硬件設(shè)備及服務(wù),并將具體硬件設(shè)備及服務(wù)信息填入具體設(shè)備及服務(wù)監(jiān)控配置文件,實現(xiàn)了監(jiān)控的動態(tài)性、實時性、可靠性、更好的擴展能力和可管理性;
設(shè)備及服務(wù)檢測模塊動態(tài)方式監(jiān)控,不依賴已寫好的具體設(shè)備監(jiān)控配置文件,而是動態(tài)監(jiān)測硬件設(shè)備熱插拔及服務(wù)遷移,并將已經(jīng)改變的硬件及服務(wù)環(huán)境信息反映到具體設(shè)備監(jiān)控配置文件中去,在用戶改變系統(tǒng)硬件配置或服務(wù)遷移時,不需要自己修改配置文件,實現(xiàn)了監(jiān)控的動態(tài)性、實時性、可靠性、更好的擴展能力和可管理性。通過深入研究注意到,節(jié)點的負載變化是一種時間序列,具有高度的自相似性,因此提出一種集群服務(wù)動態(tài)分配方法及裝置,巧妙地利用時間序列對節(jié)點的負載進行預(yù)測,監(jiān)控集群中各節(jié)點的負載情況,根據(jù)歷史監(jiān)測數(shù)據(jù)及當(dāng)前的監(jiān)控數(shù)據(jù),預(yù)測各節(jié)點的未來負載情況,根據(jù)預(yù)測結(jié)果及時地協(xié)調(diào)服務(wù)分配,從而實現(xiàn)自適應(yīng)的負載均衡。參見圖1,該圖示出了集群服務(wù)動態(tài)配置裝置,包括負載監(jiān)控模塊、性能優(yōu)化規(guī)則引擎、集群服務(wù)管理模塊以及集群信息庫,其中
負載監(jiān)控模塊,用以監(jiān)控集群中各節(jié)點的負載情況,并將其存儲至集群信息庫。節(jié)點的負載情況可以包括節(jié)點資源的利用率、節(jié)點的性能負載情況等。節(jié)點資源的利用率可以是,例如CPU的利用率、內(nèi)存的利用率等;節(jié)點的性能負載情況可以是,例如流量等。性能優(yōu)化規(guī)則引擎,用以根據(jù)所述集群信息庫中各節(jié)點的歷史監(jiān)控數(shù)據(jù)及當(dāng)前監(jiān)控數(shù)據(jù),預(yù)測各節(jié)點未來的負載情況,以及根據(jù)預(yù)測結(jié)果和一預(yù)設(shè)的服務(wù)均衡策略制定集群中各節(jié)點上的服務(wù)分配方案。性能優(yōu)化規(guī)則引擎,是通過將集群中各節(jié)點當(dāng)前監(jiān)控數(shù)據(jù)以及若干歷史監(jiān)控數(shù)據(jù)與一預(yù)設(shè)的預(yù)測模型進行匹配,從而預(yù)測該各節(jié)點未來的負載情況。所述預(yù)測模型可以是,例如自回歸模型AR(p)、滑動平均模型MA (q)、自回歸滑動平均模型ARMA (p,q)等等。在進行預(yù)測模型匹配之前,性能優(yōu)化規(guī)則引擎還對所述負載監(jiān)控模塊采集到的負載樣本進行預(yù)處理及平穩(wěn)化處理??紤]到預(yù)測的步數(shù)越多,預(yù)測的結(jié)果與實際值相差的越大,越久遠的歷史信息對預(yù)測結(jié)果的影響越小,因此,應(yīng)盡量選擇離當(dāng)前觀測值近的幾個歷史觀測值和當(dāng)前觀測值,利用預(yù)測模型預(yù)測下一步的結(jié)果。主節(jié)點會根據(jù)各個節(jié)點的預(yù)測值進行判斷,并進行服務(wù)的重新分配。預(yù)設(shè)的服務(wù)均衡策略可以包括配置集群中各節(jié)點的資源承載能力,分別判斷預(yù)測出的各節(jié)點未來的負載是否超出其承載能力,如果超出,則在各節(jié)點間進行服務(wù)均衡,以確保各節(jié)點未來的負載不超出其承載能力。集群服務(wù)管理模塊,負責(zé)集群服務(wù)分配的相關(guān)操作,負責(zé)維護所述集群信息庫,包括節(jié)點、服務(wù)、利用率、性能負載監(jiān)控等信息,根據(jù)性能優(yōu)化規(guī)則引擎制定的集群中各節(jié)點上的服務(wù)分配方案,調(diào)整集群中各節(jié)點的服務(wù)分配,它是唯一一個可以決定在整個集群進行服務(wù)更改的實體。集群信息庫,用以存儲所述負載監(jiān)控模塊監(jiān)控得到的集群中各節(jié)點的負載數(shù)據(jù)。所述節(jié)點的負載數(shù)據(jù)可以包括節(jié)點資源的利用率、節(jié)點的性能負載等。所述節(jié)點資源的利用率可以是,例如CPU的利用率、內(nèi)存的利用率等;所述節(jié)點的性能負載可以是,例如流量
坐寸O進ー步地,負載監(jiān)控模塊在監(jiān)控到集群中的某節(jié)點宕機時,通知性能優(yōu)化規(guī)則引擎。性能優(yōu)化規(guī)則引擎在獲知某節(jié)點宕機吋,從所述集群信息庫中獲取該節(jié)點上的服務(wù)數(shù) 據(jù),井根據(jù)預(yù)測出的集群中其他節(jié)點未來的負載情況,將該節(jié)點上的服務(wù)數(shù)據(jù)分配給集群中其他節(jié)點,且確保集群中所述其他各節(jié)點未來的負載不超出其承載能力。本發(fā)明還提供了一種集群系統(tǒng)實現(xiàn)方式,包括一主節(jié)點和至少ー從屬節(jié)點,主節(jié)點和從屬節(jié)點上均包括負載監(jiān)控模塊、性能優(yōu)化規(guī)則引擎、集群服務(wù)管理模塊、集群信息庫、集群通信及成員關(guān)系模塊、本地服務(wù)管理模塊、集群信息庫、服務(wù)代理模塊,以及隔離設(shè)備,如圖2所示,其中
主節(jié)點上和從屬節(jié)點上的負載監(jiān)控模塊,用以監(jiān)控其所在節(jié)點的負載情況,并將其存儲至其所在節(jié)點的所述集群信息庫。主節(jié)點上和從屬節(jié)點上的性能優(yōu)化規(guī)則引擎,用以根據(jù)其所在節(jié)點上的集群信息庫中存儲的歷史監(jiān)控數(shù)據(jù)及當(dāng)前監(jiān)控數(shù)據(jù),預(yù)測其所在節(jié)點未來的負載情況,并將其存儲至其所在節(jié)點的集群信息庫;主節(jié)點上的性能優(yōu)化規(guī)則引擎,還用以根據(jù)其所在節(jié)點的集群信息庫中存儲的集群系統(tǒng)中各節(jié)點未來的負載情況的預(yù)測結(jié)果和ー預(yù)設(shè)的服務(wù)均衡策略制定集群中各節(jié)點上的服務(wù)分配方案,并將其分別發(fā)送至所述從屬節(jié)點的所述集群服務(wù)管理模塊中。主節(jié)點上和從屬節(jié)點上的集群服務(wù)管理模塊,用以將其所在節(jié)點上的集群信息庫中的數(shù)據(jù)同步為集群系統(tǒng)中所有節(jié)點上的集群信息庫中的數(shù)據(jù)的并集,以及根據(jù)主節(jié)點上的性能優(yōu)化規(guī)則引擎制定的集群中各節(jié)點上的服務(wù)分配方案調(diào)整其所在節(jié)點上的服務(wù)分配情況。集群通信及成員關(guān)系模塊,用以構(gòu)建高可用集群成員關(guān)系,以及負責(zé)集群中各節(jié)點之間的消息通訊。消息通訊是指集群節(jié)點間的信息交互,包括節(jié)點、服務(wù)配置、監(jiān)控信息等的交互及同歩。構(gòu)建高可用集群成員關(guān)系是,在高可用集群中的節(jié)點之間建立高可用關(guān)系,使得失效節(jié)點的服務(wù)能夠被集群中其他節(jié)點接管。本地服務(wù)管理模塊,用以與服務(wù)代理模塊交互,通過服務(wù)代理模塊管理本節(jié)點服務(wù)。服務(wù)代理模塊,負責(zé)直接管理服務(wù)。隔離設(shè)備,用以將失效節(jié)點隔離,防止其對集群造成不利影響。進ー步地,所述預(yù)設(shè)的服務(wù)均衡策略包括配置集群中各節(jié)點的資源承載能力,分別判斷預(yù)測出的各節(jié)點未來的負載是否超出其承載能力,如果超出,則在各節(jié)點間進行服務(wù)均衡,以確保各節(jié)點未來的負載不超出其承載能力;
進ー步地,當(dāng)從屬節(jié)點宕機時,所述主節(jié)點的所述性能優(yōu)化規(guī)則引擎根據(jù)所述主節(jié)點的所述集群信息庫中存儲的所述宕機的從屬節(jié)點上的服務(wù)數(shù)據(jù),以及預(yù)測出的集群中節(jié)點未來的負載情況,將所述宕機的從屬節(jié)點上的服務(wù)數(shù)據(jù)分配給集群中節(jié)點,且確保集群中節(jié)點未來的負載不超出其承載能力;
進ー步地,當(dāng)主節(jié)點宕機時,其中一個從屬節(jié)點替代該主節(jié)點成為集群系統(tǒng)中新的主節(jié)點; 新的主節(jié)點的所述性能優(yōu)化規(guī)則引擎根據(jù)新的主節(jié)點的集群信息庫中存儲的宕機的節(jié)點上的服務(wù)數(shù)據(jù),以及預(yù)測出的新的主節(jié)點和集群中其他從屬節(jié)點未來的負載情況,將宕機的節(jié)點上的服務(wù)數(shù)據(jù)分配給集群中節(jié)點,且確保集群中的節(jié)點未來的負載不超出其承載能力。除說明書所述的技術(shù)特征外,均為本專業(yè)技術(shù)人員的已知技術(shù)。
權(quán)利要求
1.一種集群任務(wù)動態(tài)分配方法,包括集群服務(wù)動態(tài)配置裝置和集群系統(tǒng)的實現(xiàn)方式,其特征在于將各類硬件設(shè)備及各類軟件服務(wù)按預(yù)定義的模式分類,動態(tài)監(jiān)控指定模式的具體硬件設(shè)備及服務(wù)信息,以此來實現(xiàn)服務(wù)器、存儲設(shè)備的大規(guī)模動態(tài)實時監(jiān)控,利用模式方法來實現(xiàn)對硬件設(shè)備及服務(wù)的監(jiān)控,用戶需要監(jiān)控某類硬件設(shè)備或服務(wù)時,僅需要在模式監(jiān)控配置文件中填寫該類硬件設(shè)備或服務(wù)的模式,模式分析模塊分析該文件并即時檢測系統(tǒng)中符合該模式的所有硬件設(shè)備或服務(wù),生成系統(tǒng)中相應(yīng)設(shè)備的設(shè)備文件名或服務(wù)名并寫入具體設(shè)備及服務(wù)監(jiān)控配置文件,當(dāng)發(fā)生硬件熱插拔或服務(wù)在線遷移操作包括數(shù)據(jù)卷在線遷移時,設(shè)備及服務(wù)檢測模塊被觸發(fā)獲取被熱插拔的設(shè)備或自動遷移的服務(wù),并自動修改配置文件,系統(tǒng)包括模式分析模塊、設(shè)備及服務(wù)檢測模塊,其中 模式分析模塊是已有監(jiān)控方式的改進,目前的監(jiān)控方式需要用戶寫入具體的需要被監(jiān)控的設(shè)備及服務(wù)在系統(tǒng)中的名字,改進后,用戶只需要寫入希望被監(jiān)控的某類或某幾類設(shè)備及服務(wù)在系統(tǒng)中的定義,模式分析模塊分析該模式監(jiān)控配置文件,并依據(jù)此在系統(tǒng)中搜索具體的滿足模式監(jiān)控配置文件內(nèi)的模式的硬件設(shè)備及服務(wù),并寫入具體設(shè)備及服務(wù)監(jiān)控配置文件,以備監(jiān)控模塊使用; 設(shè)備及服務(wù)檢測模塊是對硬件設(shè)備熱插拔及服務(wù)遷移的檢測及報告模塊,在如今服務(wù)器及存儲設(shè)備中,部分硬件設(shè)備如硬盤都實現(xiàn)了熱插拔,當(dāng)熱插拔操作發(fā)生時,該模塊檢測到熱插拔操作,得到熱插拔設(shè)備的具體信息,然后按照用戶配置或者通知模式分析模塊重新分析,生成具體設(shè)備及服務(wù)監(jiān)控配置文件或?qū)χ苯有薷木唧w設(shè)備及服務(wù)監(jiān)控配置文件,并通知監(jiān)控模塊,集群環(huán)境中發(fā)生故障時實現(xiàn)服務(wù)的在線遷移,當(dāng)服務(wù)遷移時,設(shè)備及服務(wù)檢測模塊檢測到被遷移走或遷入的服務(wù),然后按照用戶配置或者通知模式分析模塊重新分祈,生成具體設(shè)備及服務(wù)監(jiān)控配置文件或?qū)χ苯有薷木唧w設(shè)備及服務(wù)監(jiān)控配置文件,并通知監(jiān)控模塊; 模式分析模塊分析用戶填寫的模式監(jiān)控配置文件,并依據(jù)分析的結(jié)果即時檢測系統(tǒng)中存在的屬于用戶指定模式的具體硬件設(shè)備及服務(wù),并將具體硬件設(shè)備及服務(wù)信息填入具體設(shè)備及服務(wù)監(jiān)控配置文件,實現(xiàn)了監(jiān)控的動態(tài)性、實時性、可靠性、更好的擴展能力和可管理性; 設(shè)備及服務(wù)檢測模塊動態(tài)方式監(jiān)控,不依賴已寫好的具體設(shè)備監(jiān)控配置文件,而是動態(tài)監(jiān)測硬件設(shè)備熱插拔及服務(wù)遷移,并將已經(jīng)改變的硬件及服務(wù)環(huán)境信息反映到具體設(shè)備監(jiān)控配置文件中去,在用戶改變系統(tǒng)硬件配置或服務(wù)遷移吋,不需要自己修改配置文件,實現(xiàn)了監(jiān)控的動態(tài)性、實時性、可靠性、更好的擴展能力和可管理性。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于集群服務(wù)動態(tài)配置裝置,包括負載監(jiān)控模塊、性能優(yōu)化規(guī)則引擎、集群服務(wù)管理模塊以及集群信息庫,其中 負載監(jiān)控模塊,用以監(jiān)控集群中各節(jié)點的負載情況,并將其存儲至集群信息庫,節(jié)點的負載情況包括節(jié)點資源利用率和節(jié)點的性能負載情況,其中,節(jié)點資源利用率,包括CPU的利用率、內(nèi)存的利用率;節(jié)點的性能負載情況包括數(shù)據(jù)流量; 性能優(yōu)化規(guī)則引擎,根據(jù)集群信息庫中各節(jié)點的歷史監(jiān)控數(shù)據(jù)及當(dāng)前監(jiān)控數(shù)據(jù),預(yù)測各節(jié)點未來的負載情況,以及根據(jù)預(yù)測結(jié)果和ー預(yù)設(shè)的服務(wù)均衡策略制定集群中各節(jié)點上的服務(wù)分配方案; 性能優(yōu)化規(guī)則引擎,是通過將集群中各節(jié)點當(dāng)前監(jiān)控數(shù)據(jù)以及若干歷史監(jiān)控數(shù)據(jù)與一預(yù)設(shè)的預(yù)測模型進行匹配,從而預(yù)測該各節(jié)點未來的負載情況,所述預(yù)測模型包括自回歸模型AR(p)、滑動平均模型MA (q)、自回歸滑動平均模型ARMA (p,q),在進行預(yù)測模型匹配之前,性能優(yōu)化規(guī)則引擎還對所述負載監(jiān)控模塊采集到的負載樣本進行預(yù)處理及平穩(wěn)化處理; 考慮到預(yù)測的歩數(shù)越多,預(yù)測的結(jié)果與實際值相差的越大,越久遠的歷史信息對預(yù)測結(jié)果的影響越小,因此,選擇離當(dāng)前觀測值近的幾個歷史觀測值和當(dāng)前觀測值,利用預(yù)測模型預(yù)測下一歩的結(jié)果,主節(jié)點會根據(jù)各個節(jié)點的預(yù)測值進行判斷,并進行服務(wù)的重新分配; 預(yù)設(shè)的服務(wù)均衡策略包括配置集群中各節(jié)點的資源承載能力,分別判斷預(yù)測出的各節(jié)點未來的負載是否超出其承載能力,如果超出,則在各節(jié)點間進行服務(wù)均衡,以確保各節(jié)點未來的負載不超出其承載能力; 集群服務(wù)管理模塊,負責(zé)集群服務(wù)分配的相關(guān)操作,負責(zé)維護所述集群信息庫,包括節(jié)點、服務(wù)、利用率、性能負載監(jiān)控的信息,根據(jù)性能優(yōu)化規(guī)則引擎制定的集群中各節(jié)點上的服務(wù)分配方案,調(diào)整集群中各節(jié)點的服務(wù)分配,它是唯一一個決定在整個集群進行服務(wù)更改的實體; 集群信息庫,用以存儲所述負載監(jiān)控模塊監(jiān)控得到的集群中各節(jié)點的負載數(shù)據(jù),所述節(jié)點的負載數(shù)據(jù)包括節(jié)點資源的利用率、節(jié)點的性能負載,所述節(jié)點資源的利用率包括CPU的利用率、內(nèi)存的利用率;所述節(jié)點的性能負載包括數(shù)據(jù)流量; 進ー步地,負載監(jiān)控模塊在監(jiān)控到集群中的某節(jié)點宕機時,實時通知性能優(yōu)化規(guī)則引擎,性能優(yōu)化規(guī)則引擎在獲知某節(jié)點宕機吋,從所述集群信息庫中獲取該節(jié)點上的服務(wù)數(shù)據(jù),井根據(jù)預(yù)測出的集群中其他節(jié)點未來的負載情況,將該節(jié)點上的服務(wù)數(shù)據(jù)分配給集群中其他節(jié)點,且確保集群中所述其他各節(jié)點未來的負載不超出其承載能力。
3.根據(jù)權(quán)利要求I所述的方法,其特征在于集群系統(tǒng)的實現(xiàn)方式,包括一主節(jié)點和至少ー從屬節(jié)點,主節(jié)點和從屬節(jié)點上均包括負載監(jiān)控模塊、性能優(yōu)化規(guī)則引擎、集群服務(wù)管理模塊、集群信息庫、集群通信及成員關(guān)系模塊、本地服務(wù)管理模塊、集群信息庫、服務(wù)代理模塊以及隔離設(shè)備,其中 主節(jié)點上和從屬節(jié)點上的負載監(jiān)控模塊,用以監(jiān)控其所在節(jié)點的負載情況,并將其存儲至其所在節(jié)點的所述集群信息庫; 主節(jié)點上和從屬節(jié)點上的性能優(yōu)化規(guī)則引擎,用以根據(jù)其所在節(jié)點上的集群信息庫中存儲的歷史監(jiān)控數(shù)據(jù)及當(dāng)前監(jiān)控數(shù)據(jù),預(yù)測其所在節(jié)點未來的負載情況,并將其存儲至其所在節(jié)點的集群信息庫;主節(jié)點上的性能優(yōu)化規(guī)則引擎,還用以根據(jù)其所在節(jié)點的集群信息庫中存儲的集群系統(tǒng)中各節(jié)點未來的負載情況的預(yù)測結(jié)果和ー預(yù)設(shè)的服務(wù)均衡策略制定集群中各節(jié)點上的服務(wù)分配方案,并將其分別發(fā)送至所述從屬節(jié)點的所述集群服務(wù)管理模塊中; 主節(jié)點上和從屬節(jié)點上的集群服務(wù)管理模塊,用以將其所在節(jié)點上的集群信息庫中的數(shù)據(jù)同步為集群系統(tǒng)中所有節(jié)點上的集群信息庫中的數(shù)據(jù)的并集,以及根據(jù)主節(jié)點上的性能優(yōu)化規(guī)則引擎制定的集群中各節(jié)點上的服務(wù)分配方案調(diào)整其所在節(jié)點上的服務(wù)分配情況; 集群通信及成員關(guān)系模塊,用以構(gòu)建高可用集群成員關(guān)系,以及負責(zé)集群中各節(jié)點之間的消息通訊,消息通訊是指集群節(jié)點間的信息交互,包括節(jié)點、服務(wù)配置、監(jiān)控信息等的交互及同步,構(gòu)建高可用集群成員關(guān)系是,在高可用集群中的節(jié)點之間建立高可用關(guān)系,使得失效節(jié)點的服務(wù)能夠被集群中其他節(jié)點接管; 本地服務(wù)管理模塊,用以與服務(wù)代理模塊交互,通過服務(wù)代理模塊管理本節(jié)點服務(wù); 服務(wù)代理模塊,負責(zé)直接管理服務(wù); 隔離設(shè)備,用以將失效節(jié)點隔離,防止其對集群造成不利影響; 進ー步地,所述預(yù)設(shè)的服務(wù)均衡策略包括配置集群中各節(jié)點的資源承載能力,分別判斷預(yù)測出的各節(jié)點未來的負載是否超出其承載能力,如果超出,則在各節(jié)點間進行服務(wù)均衡,以確保各節(jié)點未來的負載不超出其承載能力; 進ー步地,當(dāng)從屬節(jié)點宕機時,所述主節(jié)點的所述性能優(yōu)化規(guī)則引擎根據(jù)所述主節(jié)點的所述集群信息庫中存儲的所述宕機的從屬節(jié)點上的服務(wù)數(shù)據(jù),以及預(yù)測出的集群中節(jié)點未來的負載情況,將所述宕機的從屬節(jié)點上的服務(wù)數(shù)據(jù)分配給集群中節(jié)點,且確保集群中節(jié)點未來的負載不超出其承載能力; 進ー步地,當(dāng)主節(jié)點宕機時,其中一個從屬節(jié)點替代該主節(jié)點成為集群系統(tǒng)中新的主節(jié)點; 新的主節(jié)點的所述性能優(yōu)化規(guī)則引擎,根據(jù)新的主節(jié)點的集群信息庫中存儲的宕機的節(jié)點上的服務(wù)數(shù)據(jù),以及預(yù)測出的新的主節(jié)點和集群中其他從屬節(jié)點未來的負載情況,將宕機的節(jié)點上的服務(wù)數(shù)據(jù)分配給集群中節(jié)點,且確保集群中的節(jié)點未來的負載不超出其承載能力。
全文摘要
本發(fā)明提供一種集群系統(tǒng)實現(xiàn)及任務(wù)動態(tài)分配方法,利用模式方法來實現(xiàn)對硬件設(shè)備及服務(wù)的監(jiān)控,用戶需要監(jiān)控某類硬件設(shè)備或服務(wù)時,僅需要在模式監(jiān)控配置文件中填寫該類硬件設(shè)備或服務(wù)的模式,模式分析模塊分析該文件并即時檢測系統(tǒng)中符合該模式的所有硬件設(shè)備或服務(wù),生成系統(tǒng)中相應(yīng)設(shè)備的設(shè)備文件名或服務(wù)名并寫入具體設(shè)備及服務(wù)監(jiān)控配置文件,當(dāng)發(fā)生硬件熱插拔或服務(wù)在線遷移操作包括數(shù)據(jù)卷在線遷移時,設(shè)備及服務(wù)檢測模塊被觸發(fā)獲取被熱插拔的設(shè)備或自動遷移的服務(wù),并自動修改配置文件,系統(tǒng)包括模式分析模塊、設(shè)備及服務(wù)檢測模塊。
文檔編號H04L29/06GK102694868SQ201210184950
公開日2012年9月26日 申請日期2012年6月7日 優(yōu)先權(quán)日2012年6月7日
發(fā)明者王通 申請人:浪潮電子信息產(chǎn)業(yè)股份有限公司