一種分布式集群配置管理方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明涉及電子技術(shù)領(lǐng)域,尤其涉及一種分布式集群配置管理方法及裝置。
【背景技術(shù)】
[0002]隨著分布式集群的廣泛使用,對(duì)于分布式集群的配置管理也越來(lái)越重要。分布式集群及其應(yīng)用的搭建往往都需要各種各樣的配置文件,也需要在各個(gè)服務(wù)器節(jié)點(diǎn)上執(zhí)行相關(guān)管理控制命令。
[0003]由于隨著業(yè)務(wù)的增加,會(huì)產(chǎn)生大量新的業(yè)務(wù)配置管理,分布式集群節(jié)點(diǎn)的配置是需要不斷變化的,有著新業(yè)務(wù)進(jìn)來(lái),也有著舊的業(yè)務(wù)下線,然而現(xiàn)有技術(shù)中的分布式集群配置管理系統(tǒng)都是為了解決特定業(yè)務(wù)的配置管理問(wèn)題,系統(tǒng)的各個(gè)模塊耦合性高,業(yè)務(wù)擴(kuò)展難,面對(duì)個(gè)性化的新增業(yè)務(wù)的配置管理,就需求對(duì)系統(tǒng)進(jìn)行大量的修改。
[0004]因此,現(xiàn)有技術(shù)中并沒有更為合理的分布式集群狀態(tài)管理系統(tǒng)。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提供一種分布式集群配置管理方法及裝置,用以提供一種通用的分布式集群配置管理裝置及應(yīng)用于該裝置的配置管理方法。
[0006]第一方面,本發(fā)明通過(guò)本申請(qǐng)的一個(gè)實(shí)施例,提供一種分布式集群配置管理裝置,包括=REST請(qǐng)求轉(zhuǎn)發(fā)模塊,執(zhí)行節(jié)點(diǎn)數(shù)據(jù)處理模塊,API數(shù)據(jù)處理模塊,狀態(tài)管理模塊;所述REST請(qǐng)求轉(zhuǎn)發(fā)模塊,用于接收到執(zhí)行節(jié)點(diǎn)的第一類REST請(qǐng)求后進(jìn)行合法性驗(yàn)證,并將驗(yàn)證通過(guò)的所述第一類REST請(qǐng)求發(fā)送給所述執(zhí)行節(jié)點(diǎn)數(shù)據(jù)處理模塊;接收到外部業(yè)務(wù)服務(wù)器發(fā)送的第二類REST請(qǐng)求后進(jìn)行合法性驗(yàn)證,并將驗(yàn)證通過(guò)的所述第二類REST請(qǐng)求發(fā)送給所述API數(shù)據(jù)處理模塊;所述執(zhí)行節(jié)點(diǎn)數(shù)據(jù)處理模塊,用于根據(jù)所述第一類REST請(qǐng)求,生成執(zhí)行節(jié)點(diǎn)事件,并將所述執(zhí)行節(jié)點(diǎn)事件發(fā)送給所述狀態(tài)管理模塊;所述API數(shù)據(jù)處理模塊,用于根據(jù)所述第二類REST請(qǐng)求,生成狀態(tài)結(jié)果查詢指令,并將所述狀態(tài)結(jié)果查詢指令發(fā)給所述狀態(tài)管理模塊,并對(duì)所述狀態(tài)管理模塊根據(jù)所述狀態(tài)結(jié)果查詢指令返回的狀態(tài)信息進(jìn)行處理;所述狀態(tài)管理模塊,用于在接收到所述執(zhí)行節(jié)點(diǎn)事件后,對(duì)所述執(zhí)行節(jié)點(diǎn)事件對(duì)應(yīng)的執(zhí)行節(jié)點(diǎn)進(jìn)行節(jié)點(diǎn)狀態(tài)的調(diào)整,并將所述執(zhí)行節(jié)點(diǎn)事件對(duì)應(yīng)的執(zhí)行節(jié)點(diǎn)的當(dāng)前狀態(tài)寫入數(shù)據(jù)庫(kù);在接收到所述狀態(tài)結(jié)果查詢指令后,根據(jù)所述狀態(tài)結(jié)果查詢指令查找對(duì)應(yīng)的服務(wù)的狀態(tài)信息,并將所述狀態(tài)信息反饋給所述API數(shù)據(jù)處理模塊。
[0007]由上述可以看出,本發(fā)明提供一種通用的分布式集群配置管理裝置及應(yīng)用于該裝置的配置管理方法,無(wú)論是來(lái)自執(zhí)行節(jié)點(diǎn)還是外部業(yè)務(wù)服務(wù)器的請(qǐng)求,均可以通過(guò)統(tǒng)一接口,即REST請(qǐng)求轉(zhuǎn)發(fā)模塊分發(fā)到相應(yīng)的處理模塊,即執(zhí)行節(jié)點(diǎn)數(shù)據(jù)處理模塊和API數(shù)據(jù)處理模塊,進(jìn)而由處理模塊將狀態(tài)管理的相應(yīng)指令發(fā)送給狀態(tài)管理模塊,由其在數(shù)據(jù)庫(kù)中對(duì)執(zhí)行節(jié)點(diǎn)或者服務(wù)的狀態(tài)進(jìn)行讀取、修改等操作,以此實(shí)現(xiàn)對(duì)所有服務(wù)以及執(zhí)行節(jié)點(diǎn)的狀態(tài)管理,節(jié)約系統(tǒng)資源。
[0008]可選的,所述裝置,還包括:節(jié)點(diǎn)注冊(cè)模塊;所述執(zhí)行節(jié)點(diǎn)數(shù)據(jù)處理模塊,用于根據(jù)所述第一類REST請(qǐng)求,生成節(jié)點(diǎn)注冊(cè)指令,并將所述節(jié)點(diǎn)注冊(cè)指令發(fā)送給所述節(jié)點(diǎn)注冊(cè)模塊;所述節(jié)點(diǎn)注冊(cè)模塊,用于在接收到所述節(jié)點(diǎn)注冊(cè)指令之后,生成節(jié)點(diǎn)注冊(cè)事件,并將所述節(jié)點(diǎn)注冊(cè)事件發(fā)送給所述狀態(tài)管理模塊;所述狀態(tài)管理模塊,還用于根據(jù)所述節(jié)點(diǎn)注冊(cè)事件,對(duì)所述節(jié)點(diǎn)注冊(cè)事件對(duì)應(yīng)的執(zhí)行節(jié)點(diǎn)的狀態(tài)信息寫入所述數(shù)據(jù)庫(kù)。
[0009]在本實(shí)施例中,如果有執(zhí)行節(jié)點(diǎn)新加入時(shí),只需要通過(guò)節(jié)點(diǎn)注冊(cè)模塊進(jìn)行注冊(cè),就可以對(duì)于該新加入的執(zhí)行節(jié)點(diǎn)進(jìn)行配置管理了。
[0010]可選的,所述裝置,還包括:操作管理模塊;所述執(zhí)行節(jié)點(diǎn)數(shù)據(jù)處理模塊,還用于當(dāng)所述第一類REST請(qǐng)求為操作結(jié)果反饋請(qǐng)求時(shí),根據(jù)所述操作結(jié)果反饋請(qǐng)求獲得操作返回結(jié)果,并將所述操作返回結(jié)果發(fā)送給所述操作管理模塊;還用于通過(guò)所述REST請(qǐng)求轉(zhuǎn)發(fā)模塊將所述操作管理模塊根據(jù)所述操作返回結(jié)果返回的操作隊(duì)列發(fā)送給所述執(zhí)行節(jié)點(diǎn);所述操作管理模塊,用于在接收到所述操作返回結(jié)果之后,根據(jù)所述操作返回結(jié)果生成所述操作隊(duì)列,并將所述操作隊(duì)列發(fā)送給所述執(zhí)行節(jié)點(diǎn)數(shù)據(jù)處理模塊。
[0011]在本實(shí)施例中,通過(guò)操作管理模塊,能夠統(tǒng)一向執(zhí)行節(jié)點(diǎn)發(fā)送操作列表,實(shí)現(xiàn)對(duì)其的配置管理。
[0012]可選的,所述裝置,還包括:服務(wù)注冊(cè)模塊,用于當(dāng)所述第二類REST請(qǐng)求為服務(wù)注冊(cè)請(qǐng)求時(shí),接收所述API數(shù)據(jù)處理模塊發(fā)送的服務(wù)注冊(cè)指令,對(duì)服務(wù)提供的配置模板進(jìn)行版本管理,并將所述服務(wù)注冊(cè)的相關(guān)信息存入所述數(shù)據(jù)庫(kù)中;還用于驗(yàn)證所述配置模板。
[0013]在本實(shí)施例中,通過(guò)服務(wù)注冊(cè)模塊,對(duì)新加入的業(yè)務(wù)進(jìn)行注冊(cè),實(shí)現(xiàn)對(duì)其的配置管理。
[0014]可選的,所述裝置,還包括:執(zhí)行計(jì)劃生成模塊和操作管理模塊;所述API數(shù)據(jù)處理模塊,還用于當(dāng)所述第二 REST請(qǐng)求為節(jié)點(diǎn)狀態(tài)更改請(qǐng)求時(shí),根據(jù)所述狀態(tài)結(jié)果查詢指令返回的狀態(tài)信息,生成節(jié)點(diǎn)狀態(tài)更改指令;所述執(zhí)行計(jì)劃生成模塊,用于接收由所述API數(shù)據(jù)處理模塊發(fā)送的所述節(jié)點(diǎn)狀態(tài)更改指令,并將所述節(jié)點(diǎn)狀態(tài)更改指令轉(zhuǎn)換為節(jié)點(diǎn)狀態(tài)更改操作列表;將所述節(jié)點(diǎn)狀態(tài)更改操作列表發(fā)送給所述API數(shù)據(jù)處理模塊;所述操作管理模塊,用于在接收到所述API數(shù)據(jù)處理模塊發(fā)送的所述節(jié)點(diǎn)狀態(tài)更改操作列表之后,根據(jù)所述節(jié)點(diǎn)狀態(tài)更改操作列表生成節(jié)點(diǎn)狀態(tài)更改操作隊(duì)列,并將所述節(jié)點(diǎn)狀態(tài)更改操作隊(duì)列發(fā)送給所述執(zhí)行節(jié)點(diǎn)數(shù)據(jù)處理模塊;所述執(zhí)行節(jié)點(diǎn)數(shù)據(jù)處理模塊,還用于通過(guò)所述REST請(qǐng)求轉(zhuǎn)發(fā)模塊將所述節(jié)點(diǎn)狀態(tài)更改操作隊(duì)列發(fā)送給所述執(zhí)行節(jié)點(diǎn)。
[0015]在本實(shí)施例中,通過(guò)執(zhí)行計(jì)劃生成模塊,對(duì)將API請(qǐng)求轉(zhuǎn)變成執(zhí)行計(jì)劃,即操作列表,并由操作管理模塊生成并下發(fā)具體的操作指令,實(shí)現(xiàn)對(duì)執(zhí)行節(jié)點(diǎn)的配置管理。
[0016]第二方面,本發(fā)明通過(guò)本申請(qǐng)的一個(gè)實(shí)施例,提供一種分布式集群配置管理的方法,應(yīng)用于分布式集群配置管理裝置中,所述方法包括:所述REST請(qǐng)求轉(zhuǎn)發(fā)模塊接收到執(zhí)行節(jié)點(diǎn)的第一類REST請(qǐng)求后進(jìn)行合法性驗(yàn)證,并將驗(yàn)證通過(guò)的所述第一類REST請(qǐng)求發(fā)送給所述執(zhí)行節(jié)點(diǎn)數(shù)據(jù)處理模塊;或者接收到外部業(yè)務(wù)服務(wù)器發(fā)送的第二類REST請(qǐng)求后進(jìn)行合法性驗(yàn)證,并將驗(yàn)證通過(guò)的所述第二類REST請(qǐng)求發(fā)送給所述API數(shù)據(jù)處理模塊;所述執(zhí)行節(jié)點(diǎn)數(shù)據(jù)處理模塊根據(jù)所述第一類REST請(qǐng)求,生成執(zhí)行節(jié)點(diǎn)事件,并將所述執(zhí)行節(jié)點(diǎn)事件發(fā)送給所述狀態(tài)管理模塊;所述API數(shù)據(jù)處理模塊根據(jù)所述第二類REST請(qǐng)求,生成狀態(tài)結(jié)果查詢指令,并將所述狀態(tài)結(jié)果查詢指令發(fā)給所述狀態(tài)管理模塊;所述狀態(tài)管理模塊在接收到所述執(zhí)行節(jié)點(diǎn)事件后,對(duì)所述執(zhí)行節(jié)點(diǎn)事件對(duì)應(yīng)的執(zhí)行節(jié)點(diǎn)進(jìn)行節(jié)點(diǎn)狀態(tài)的調(diào)整,并將所述執(zhí)行節(jié)點(diǎn)事件對(duì)應(yīng)的執(zhí)行節(jié)點(diǎn)的當(dāng)前狀態(tài)寫入數(shù)據(jù)庫(kù);在接收到所述狀態(tài)結(jié)果查詢指令后,根據(jù)所述狀態(tài)結(jié)果查詢指令查找對(duì)應(yīng)的服務(wù)的狀態(tài)信息,并將所述狀態(tài)信息反饋給所述API數(shù)據(jù)處理模塊;所述API數(shù)據(jù)處理模塊對(duì)所述狀態(tài)管理模塊根據(jù)所述狀態(tài)結(jié)果查詢指令返回的狀態(tài)信息進(jìn)行處理。
[0017]由上述可以看出,本發(fā)明提供一種通用的分布式集群配置管理裝置及應(yīng)用于該裝置的配置管理方法,無(wú)論是來(lái)自執(zhí)行節(jié)點(diǎn)還是外部業(yè)務(wù)服務(wù)器的請(qǐng)求,均可以通過(guò)統(tǒng)一接口,即REST請(qǐng)求轉(zhuǎn)發(fā)模塊分發(fā)到相應(yīng)的處理模塊,即執(zhí)行節(jié)點(diǎn)數(shù)據(jù)處理模塊和API數(shù)據(jù)處理模塊,進(jìn)而由處理模塊將狀態(tài)管理的相應(yīng)指令發(fā)送給狀態(tài)管理模塊,由其在數(shù)據(jù)庫(kù)中對(duì)執(zhí)行節(jié)點(diǎn)或者服務(wù)的狀態(tài)進(jìn)行讀取、修改等操作,以此實(shí)現(xiàn)對(duì)所有服務(wù)以及執(zhí)行節(jié)點(diǎn)的狀態(tài)管理,節(jié)約系統(tǒng)資源。
[0018]可選的,所述方法還包括:所述執(zhí)行節(jié)點(diǎn)數(shù)據(jù)處理模塊根據(jù)所述第一類REST請(qǐng)求,生成節(jié)點(diǎn)注冊(cè)指令,并將所述節(jié)點(diǎn)注冊(cè)指令發(fā)送給所述節(jié)點(diǎn)注冊(cè)模塊;所述節(jié)點(diǎn)注冊(cè)模塊在接收到所述節(jié)點(diǎn)注冊(cè)指令之后,生成節(jié)點(diǎn)注冊(cè)事件