一種集群管理系統(tǒng)的狀態(tài)轉(zhuǎn)換的處理方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)集群技術(shù)領(lǐng)域,尤其涉及一種集群管理系統(tǒng)的狀態(tài)轉(zhuǎn)換的處理方法和裝置。
【背景技術(shù)】
[0002]計(jì)算機(jī)集群技術(shù)的優(yōu)勢在于能夠集中管理集群中節(jié)點(diǎn)的配置信息、狀態(tài)信息和資源f目息等等。
[0003]在現(xiàn)有的集群管理系統(tǒng)中,在接收到狀態(tài)轉(zhuǎn)換命令后,通常會(huì)直接執(zhí)行狀態(tài)轉(zhuǎn)換命令,并在集群管理系統(tǒng)中將狀態(tài)直接更新為命令執(zhí)行后的狀態(tài)。然而,當(dāng)網(wǎng)絡(luò)通訊出現(xiàn)故障后,節(jié)點(diǎn)不能順利地執(zhí)行狀態(tài)轉(zhuǎn)換對應(yīng)的操作命令,導(dǎo)致節(jié)點(diǎn)的實(shí)際狀態(tài)仍然保持原有的狀態(tài)。然而,此時(shí)集群管理系統(tǒng)認(rèn)為節(jié)點(diǎn)已完成狀態(tài)轉(zhuǎn)換,并將轉(zhuǎn)換后的狀態(tài)顯示給用戶。此時(shí),當(dāng)用戶根據(jù)系統(tǒng)顯示的狀態(tài)發(fā)出操作命令時(shí),由于此時(shí)顯示狀態(tài)與實(shí)際狀態(tài)不符,導(dǎo)致用戶發(fā)出的操作命令為錯(cuò)誤命令,從而出現(xiàn)系統(tǒng)無法正常地執(zhí)行用戶發(fā)出的操作命令的現(xiàn)象。
【發(fā)明內(nèi)容】
[0004]有鑒于此,本發(fā)明提供了一種集群管理系統(tǒng)的狀態(tài)轉(zhuǎn)換的處理方法和裝置,以提高集群管理系統(tǒng)顯示的節(jié)點(diǎn)狀態(tài)及節(jié)點(diǎn)組件狀態(tài)的正確性,進(jìn)而提高其可用性。
[0005]為了達(dá)到上述發(fā)明目的,本發(fā)明采用了如下技術(shù)方案:
[0006]一種集群管理系統(tǒng)狀態(tài)轉(zhuǎn)換的處理方法,所述方法包括:
[0007]當(dāng)系統(tǒng)控制單元接收到用戶發(fā)送的狀態(tài)轉(zhuǎn)換命令后,向節(jié)點(diǎn)代理單元發(fā)送反饋節(jié)點(diǎn)及組件的狀態(tài)數(shù)據(jù)的請求;
[0008]待節(jié)點(diǎn)代理單元返回節(jié)點(diǎn)及組件的狀態(tài)數(shù)據(jù)后,系統(tǒng)控制單元判斷返回的節(jié)點(diǎn)及組件的狀態(tài)數(shù)據(jù)是否符合執(zhí)行該狀態(tài)轉(zhuǎn)換命令的條件;如果是,系統(tǒng)控制單元將該狀態(tài)轉(zhuǎn)換命令發(fā)送至狀態(tài)機(jī)單元進(jìn)行狀態(tài)轉(zhuǎn)換的處理,并將存儲(chǔ)單元中對應(yīng)的狀態(tài)數(shù)據(jù)更新為處理后的狀態(tài)數(shù)據(jù)。
[0009]本發(fā)明實(shí)施例還提供了另外一種集群管理系統(tǒng)的節(jié)點(diǎn)及組件狀態(tài)的處理方法,所述方法包括:
[0010]當(dāng)在集群管理系統(tǒng)中新增加節(jié)點(diǎn)時(shí),安裝在新增加節(jié)點(diǎn)上的節(jié)點(diǎn)代理單元將該節(jié)點(diǎn)的注冊數(shù)據(jù)推送至節(jié)點(diǎn)注冊單元進(jìn)行代理注冊,待代理注冊成功后,節(jié)點(diǎn)注冊單元向節(jié)點(diǎn)代理單元返回注冊成功信息;
[0011]節(jié)點(diǎn)代理單元每隔第三時(shí)長向系統(tǒng)控制單元發(fā)送注冊成功的節(jié)點(diǎn)上的節(jié)點(diǎn)及組件狀態(tài)數(shù)據(jù);
[0012]系統(tǒng)控制單元將接收到的節(jié)點(diǎn)及組件狀態(tài)數(shù)據(jù)發(fā)送至狀態(tài)機(jī)單元;
[0013]狀態(tài)機(jī)單元進(jìn)行狀態(tài)轉(zhuǎn)換處理得到處理后的狀態(tài)數(shù)據(jù),并將處理后的狀態(tài)數(shù)據(jù)反饋給系統(tǒng)控制單元;
[0014]系統(tǒng)控制單元比較由狀態(tài)機(jī)單元反饋回的處理后的狀態(tài)數(shù)據(jù)與從存儲(chǔ)單元中讀取到的狀態(tài)數(shù)據(jù)是否一致,如果否,系統(tǒng)控制單元將存儲(chǔ)單元中的狀態(tài)數(shù)據(jù)更新為狀態(tài)機(jī)單元處理后的狀態(tài)數(shù)據(jù);
[0015]系統(tǒng)控制單元每隔第四時(shí)長掃描一次存儲(chǔ)單元,以獲取存儲(chǔ)單元內(nèi)的所有節(jié)點(diǎn)上的最新的節(jié)點(diǎn)及組件狀態(tài)信息以及節(jié)點(diǎn)的最近一次的心跳時(shí)間;
[0016]系統(tǒng)控制單元判斷節(jié)點(diǎn)的最近一次的心跳時(shí)間距離當(dāng)前時(shí)刻是否大于第一時(shí)長,如果是,確定該節(jié)點(diǎn)已經(jīng)掉線;
[0017]系統(tǒng)控制單元從任務(wù)命令隊(duì)列中清除已經(jīng)掉線的節(jié)點(diǎn)和處于無法執(zhí)行的命令組件的任務(wù)命令。
[0018]基于本發(fā)明提供的第一種集群管理系統(tǒng)狀態(tài)轉(zhuǎn)換的處理方法,本發(fā)明還提供了一種集群管理系統(tǒng)狀態(tài)轉(zhuǎn)換的處理裝置,包括:
[0019]節(jié)點(diǎn)代理單元、狀態(tài)機(jī)單元、系統(tǒng)控制單元和存儲(chǔ)單元,其中,集群中的每一節(jié)點(diǎn)上均安裝有節(jié)點(diǎn)代理單元;
[0020]所述系統(tǒng)控制單元用于當(dāng)接收到用戶發(fā)送的狀態(tài)轉(zhuǎn)換命令后,向節(jié)點(diǎn)代理單元發(fā)送反饋節(jié)點(diǎn)及組件的狀態(tài)數(shù)據(jù)的請求;用于判斷節(jié)點(diǎn)代理單元返回的節(jié)點(diǎn)及組件的狀態(tài)數(shù)據(jù)是否符合執(zhí)行該狀態(tài)轉(zhuǎn)換命令的條件;如果是,將該狀態(tài)轉(zhuǎn)換命令發(fā)送至狀態(tài)機(jī)單元進(jìn)行狀態(tài)轉(zhuǎn)換的處理,并將存儲(chǔ)單元中對應(yīng)的狀態(tài)數(shù)據(jù)更新為處理后的狀態(tài)數(shù)據(jù);
[0021]所述節(jié)點(diǎn)代理單元用于獲取所在節(jié)點(diǎn)的節(jié)點(diǎn)及組件的狀態(tài)數(shù)據(jù);根據(jù)系統(tǒng)控制單元發(fā)送的反饋節(jié)點(diǎn)及組件的狀態(tài)數(shù)據(jù)的請求向系統(tǒng)控制單元返回節(jié)點(diǎn)及組件的狀態(tài)數(shù)據(jù);
[0022]所述狀態(tài)機(jī)單元用于執(zhí)行系統(tǒng)控制單元發(fā)送的狀態(tài)轉(zhuǎn)換命令,以得到節(jié)點(diǎn)及組件的當(dāng)前狀態(tài)的下一狀態(tài);
[0023]所述存儲(chǔ)單元用于存儲(chǔ)節(jié)點(diǎn)及組件的狀態(tài)數(shù)據(jù)。
[0024]基于本發(fā)明實(shí)施例提供的第二種集群管理系統(tǒng)的狀態(tài)轉(zhuǎn)換的處理方法,本發(fā)明實(shí)施例還提供了集群管理系統(tǒng)的狀態(tài)轉(zhuǎn)換的另外一種處理裝置,包括:節(jié)點(diǎn)代理單元、節(jié)點(diǎn)注冊單元、狀態(tài)機(jī)單元、系統(tǒng)控制單元和存儲(chǔ)單元,其中,集群中的每一節(jié)點(diǎn)上安裝有節(jié)點(diǎn)代理單元;
[0025]所述節(jié)點(diǎn)代理單元用于獲取其所在節(jié)點(diǎn)的節(jié)點(diǎn)及組件的狀態(tài)數(shù)據(jù)和節(jié)點(diǎn)的注冊數(shù)據(jù),當(dāng)節(jié)點(diǎn)新增加在集群管理系統(tǒng)中時(shí),節(jié)點(diǎn)代理單元將該節(jié)點(diǎn)的注冊數(shù)據(jù)推送至節(jié)點(diǎn)注冊單元進(jìn)行代理注冊;還用于每隔第三時(shí)長向系統(tǒng)控制單元發(fā)送注冊成功的節(jié)點(diǎn)上的節(jié)點(diǎn)及組件狀態(tài)數(shù)據(jù);用于將其所在節(jié)點(diǎn)的節(jié)點(diǎn)及組件的狀態(tài)數(shù)據(jù)發(fā)送至系統(tǒng)控制單元;
[0026]節(jié)點(diǎn)注冊單元用于根據(jù)節(jié)點(diǎn)代理單元推送來的注冊數(shù)據(jù)進(jìn)行注冊處理,待代理注冊成功后,向節(jié)點(diǎn)代理單元返回注冊成功信息;
[0027]系統(tǒng)控制單元用于將接收到的節(jié)點(diǎn)及組件狀態(tài)數(shù)據(jù)發(fā)送至狀態(tài)機(jī)單元;比較由狀態(tài)機(jī)單元反饋回的處理后的狀態(tài)數(shù)據(jù)與從存儲(chǔ)單元中讀取到的狀態(tài)數(shù)據(jù)是否一致,如果否,將存儲(chǔ)單元中的狀態(tài)數(shù)據(jù)更新為狀態(tài)機(jī)單元處理后的狀態(tài)數(shù)據(jù);每隔第四時(shí)長掃描一次存儲(chǔ)單元,以獲取存儲(chǔ)單元內(nèi)的所有節(jié)點(diǎn)上的最新的節(jié)點(diǎn)及組件狀態(tài)信息以及節(jié)點(diǎn)的最近一次的心跳時(shí)間;判斷節(jié)點(diǎn)的最近一次的心跳時(shí)間距離當(dāng)前時(shí)刻是否大于第一時(shí)長,如果是,確定該節(jié)點(diǎn)已經(jīng)掉線;從任務(wù)命令隊(duì)列中清除已經(jīng)掉線的節(jié)點(diǎn)和處于無法執(zhí)行的命令組件的任務(wù)命令;
[0028]狀態(tài)機(jī)單元用于根據(jù)節(jié)點(diǎn)及組件的狀態(tài)數(shù)據(jù)進(jìn)行狀態(tài)轉(zhuǎn)換處理,并將處理后的狀態(tài)數(shù)據(jù)反饋給系統(tǒng)控制單元;
[0029]所述存儲(chǔ)單元用于存儲(chǔ)節(jié)點(diǎn)及組件的狀態(tài)數(shù)據(jù)。
[0030]相較于現(xiàn)有技術(shù),本發(fā)明具有以下有益效果:
[0031]本發(fā)明提供的集群管理系統(tǒng)狀態(tài)轉(zhuǎn)換的處理方法中,在系統(tǒng)控制單元接收到用戶發(fā)送的狀態(tài)轉(zhuǎn)換命令后,不會(huì)直接執(zhí)行該狀態(tài)轉(zhuǎn)換命令,而是會(huì)先向節(jié)點(diǎn)代理單元發(fā)送反饋節(jié)點(diǎn)的節(jié)點(diǎn)及組件的狀態(tài)數(shù)據(jù)的請求,待節(jié)點(diǎn)代理單元返回節(jié)點(diǎn)及組件的狀態(tài)數(shù)據(jù)后,再判斷返回的節(jié)點(diǎn)及組件的狀態(tài)數(shù)據(jù)是否符合執(zhí)行該狀態(tài)轉(zhuǎn)換命令的條件,只有當(dāng)判斷結(jié)果為“是”時(shí),才會(huì)將該狀態(tài)轉(zhuǎn)換命令發(fā)送至狀態(tài)機(jī)單元執(zhí)行該狀態(tài)轉(zhuǎn)換命令進(jìn)行狀態(tài)轉(zhuǎn)換的處理,并將存儲(chǔ)單元中對應(yīng)的狀態(tài)數(shù)據(jù)更新為處理后的狀態(tài)數(shù)據(jù)。因此,通過本發(fā)明提供的狀態(tài)轉(zhuǎn)換的處理方法,能夠保證集群管理系統(tǒng)中的節(jié)點(diǎn)及組件狀態(tài)與節(jié)點(diǎn)的實(shí)際狀態(tài)的一致性,進(jìn)而提高了集群管理系統(tǒng)中的節(jié)點(diǎn)及組件狀態(tài)的正確性,由于集群管理系統(tǒng)中的節(jié)點(diǎn)及組件的狀態(tài)數(shù)據(jù)會(huì)顯示給用戶,所以,用戶根據(jù)本發(fā)明提供的狀態(tài)轉(zhuǎn)換的處理方法得到的狀態(tài)數(shù)據(jù)下達(dá)的操作命令的準(zhǔn)確性較高,因而本發(fā)明提供的方法提高了集群管理系統(tǒng)中的節(jié)點(diǎn)及組件的狀態(tài)數(shù)據(jù)的可用性。
【附圖說明】
[0032]為了清楚地理解本發(fā)明的技術(shù)方案,下面對描述本發(fā)明【具體實(shí)施方式】時(shí)用到的附圖做一簡要說明。顯而易見地,這些附圖僅是本發(fā)明的部分實(shí)施例,本領(lǐng)域技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的前提下,還可以獲得其它的附圖。
[0033]圖1是本發(fā)明實(shí)施例提供的集群管理系統(tǒng)的狀態(tài)轉(zhuǎn)換的處理裝置的結(jié)構(gòu)示意圖;
[0034]圖2是本發(fā)明實(shí)施例提供的集群管理系統(tǒng)中的狀態(tài)轉(zhuǎn)換流程示意圖;
[0035]圖3是本發(fā)明實(shí)施例一提供的集群管理系統(tǒng)的狀態(tài)轉(zhuǎn)換的處理方法流程示意圖;
[0036]圖4是本發(fā)明實(shí)施例二提供的新加入集群中的節(jié)點(diǎn)申請注冊加入被監(jiān)控隊(duì)列的方法流程示意圖;
[0037]圖5是本發(fā)明實(shí)施例二提供的集群管理系統(tǒng)的狀態(tài)轉(zhuǎn)換的處理方法流程示意圖。
【具體實(shí)施方式】
[0038]為使本發(fā)明的發(fā)明目的、技術(shù)手段和達(dá)到的技術(shù)效果更加清楚、完整,下面結(jié)合附圖對本發(fā)明的【具體實(shí)施方式】進(jìn)行描述。
當(dāng)前第1頁
1 
2 
3 
4 
5