,并將所述節(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ù)庫。
[0019]在本實(shí)施例中,如果有執(zhí)行節(jié)點(diǎn)新加入時(shí),只需要通過節(jié)點(diǎn)注冊(cè)模塊進(jìn)行注冊(cè),就可以對(duì)于該新加入的執(zhí)行節(jié)點(diǎn)進(jìn)行配置管理了。
[0020]可選的,所述方法還包括:當(dāng)所述第一類REST請(qǐng)求為操作結(jié)果反饋請(qǐng)求時(shí),所述執(zhí)行節(jié)點(diǎn)數(shù)據(jù)處理模塊根據(jù)所述操作結(jié)果反饋請(qǐng)求獲得操作返回結(jié)果,并將所述操作返回結(jié)果發(fā)送給所述操作管理模塊;所述操作管理模塊在接收到所述操作返回結(jié)果之后,根據(jù)所述操作返回結(jié)果生成所述操作隊(duì)列,并將所述操作隊(duì)列發(fā)送給所述執(zhí)行節(jié)點(diǎn)數(shù)據(jù)處理模塊;所述執(zhí)行節(jié)點(diǎn)數(shù)據(jù)處理模塊通過所述REST請(qǐng)求轉(zhuǎn)發(fā)模塊將所述操作管理模塊根據(jù)所述操作返回結(jié)果返回的操作隊(duì)列發(fā)送給所述執(zhí)行節(jié)點(diǎn)。
[0021]在本實(shí)施例中,通過操作管理模塊,能夠統(tǒng)一向執(zhí)行節(jié)點(diǎn)發(fā)送操作列表,實(shí)現(xiàn)對(duì)其的配置管理。
[0022]可選的,所述方法還包括:當(dāng)所述第二類REST請(qǐng)求為服務(wù)注冊(cè)請(qǐng)求時(shí),所述服務(wù)注冊(cè)模塊接收所述API數(shù)據(jù)處理模塊發(fā)送的服務(wù)注冊(cè)指令,對(duì)服務(wù)提供的配置模板進(jìn)行版本管理,并將所述服務(wù)注冊(cè)的相關(guān)信息存入所述數(shù)據(jù)庫中。
[0023]在本實(shí)施例中,通過服務(wù)注冊(cè)模塊,對(duì)新加入的業(yè)務(wù)進(jìn)行注冊(cè),實(shí)現(xiàn)對(duì)其的配置管理。
[0024]可選的,所述方法還包括:當(dāng)所述第二 REST請(qǐng)求為節(jié)點(diǎn)狀態(tài)更改請(qǐng)求時(shí),所述API數(shù)據(jù)處理模塊根據(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ù)處理模塊將所述節(jié)點(diǎn)狀態(tài)更改操作列表發(fā)送給所述操作管理模塊;所述操作管理模塊,用于在接收到所述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ù)處理模塊通過所述REST請(qǐng)求轉(zhuǎn)發(fā)模塊將所述節(jié)點(diǎn)狀態(tài)更改操作隊(duì)列發(fā)送給所述執(zhí)行節(jié)點(diǎn)。
[0025]在本實(shí)施例中,通過執(zhí)行計(jì)劃生成模塊,對(duì)將API請(qǐng)求轉(zhuǎn)變成執(zhí)行計(jì)劃,即操作列表,并由操作管理模塊生成并下發(fā)具體的操作指令,實(shí)現(xiàn)對(duì)執(zhí)行節(jié)點(diǎn)的配置管理。
【附圖說明】
[0026]圖1為本發(fā)明一實(shí)施例中的分布式集群配置管理裝置的功能框圖;
[0027]圖2為本發(fā)明另一實(shí)施例中的分布式集群配置管理裝置的功能框圖;
[0028]圖3A-圖3E為本發(fā)明一實(shí)施例中的分布式集群配置管理方法的流程圖。
【具體實(shí)施方式】
[0029]下面通過附圖以及具體實(shí)施例對(duì)本發(fā)明技術(shù)方案做詳細(xì)的說明,應(yīng)當(dāng)理解本發(fā)明實(shí)施例以及實(shí)施例中的具體特征是對(duì)本發(fā)明技術(shù)方案的詳細(xì)的說明,而不是對(duì)本發(fā)明技術(shù)方案的限定,在不沖突的情況下,本發(fā)明實(shí)施例以及實(shí)施例中的技術(shù)特征可以相互組合。
[0030]本發(fā)明一實(shí)施例提供一種分布式集群配置管理裝置,可以設(shè)置在分布式集群的中心節(jié)點(diǎn)設(shè)備上,主要用于實(shí)現(xiàn)對(duì)執(zhí)行節(jié)點(diǎn)的管理。執(zhí)行節(jié)點(diǎn)可以是各種類型的網(wǎng)絡(luò)設(shè)備,是所述分布式及其配置管理裝置所管理的節(jié)點(diǎn)。
[0031]如圖1所示,該裝置可包括:REST請(qǐng)求轉(zhuǎn)發(fā)模塊11,執(zhí)行節(jié)點(diǎn)數(shù)據(jù)處理模塊12,API數(shù)據(jù)處理模塊13,狀態(tài)管理模塊14。
[0032]REST請(qǐng)求轉(zhuǎn)發(fā)模塊11是用于接收和分發(fā)REST (Representat1nal StateTransfer,表征狀態(tài)轉(zhuǎn)移)請(qǐng)求的。
[0033]為描述清楚起見,這里將執(zhí)行節(jié)點(diǎn)發(fā)送的REST請(qǐng)求成為第一類REST請(qǐng)求,將外部業(yè)務(wù)服務(wù)器發(fā)送的REST請(qǐng)求成為第二類REST請(qǐng)求。REST請(qǐng)求轉(zhuǎn)發(fā)模塊11可將接收到的第一類REST請(qǐng)求分發(fā)到執(zhí)行節(jié)點(diǎn)數(shù)據(jù)處理模塊12,將接收到的第二類REST請(qǐng)求分發(fā)到API數(shù)據(jù)處理模塊13。優(yōu)選的,在進(jìn)行REST請(qǐng)求分發(fā)之前,首先對(duì)接收到的REST請(qǐng)求進(jìn)行驗(yàn)證,在驗(yàn)證為合法后再進(jìn)行分發(fā)。
[0034]執(zhí)行節(jié)點(diǎn)數(shù)據(jù)處理模塊12可第一類REST請(qǐng)求,生成執(zhí)行節(jié)點(diǎn)事件,并將所述執(zhí)行節(jié)點(diǎn)事件發(fā)送給狀態(tài)管理模塊14。
[0035]API數(shù)據(jù)處理模塊13可根據(jù)第二類REST請(qǐng)求,生成狀態(tài)結(jié)果查詢指令,并將所述狀態(tài)結(jié)果查詢指令發(fā)給狀態(tài)管理模塊14,并對(duì)狀態(tài)管理模塊14根據(jù)所述狀態(tài)結(jié)果查詢指令返回的狀態(tài)信息進(jìn)行處理。
[0036]狀態(tài)管理模塊14可在接收到所述執(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ù)庫;在接收到所述狀態(tài)結(jié)果查詢指令后,根據(jù)所述狀態(tài)結(jié)果查詢指令查找對(duì)應(yīng)的服務(wù)的狀態(tài)信息,并將所述狀態(tài)信息反饋給所述API數(shù)據(jù)處理模塊。
[0037]可選的,該分布式集群配置管理裝置還可包括以下功能模塊之一或任意組合:節(jié)點(diǎn)注冊(cè)模塊,操作管理模塊,服務(wù)注冊(cè)模塊,執(zhí)行計(jì)劃生成模塊。圖2示出了在圖1的基礎(chǔ)上還設(shè)置有節(jié)點(diǎn)注冊(cè)模塊21,操作管理模塊22,服務(wù)注冊(cè)模塊23,執(zhí)行計(jì)劃生成模塊24的分布式集群配置管理裝置示意圖。
[0038]當(dāng)然,該裝置還可以包括數(shù)據(jù)庫。在實(shí)際應(yīng)用中,數(shù)據(jù)庫還可以單獨(dú)存儲(chǔ)在一電子設(shè)備中,本申請(qǐng)不做具體限定。
[0039]下面結(jié)合具體的業(yè)務(wù)流程對(duì)上述各個(gè)模塊的功能進(jìn)行說明。
[0040]一、狀態(tài)管理流程
[0041]請(qǐng)參考圖3A,圖3A為分布式集群狀態(tài)管理流程的流程圖。
[0042]REST請(qǐng)求轉(zhuǎn)發(fā)模塊11接收來自外部設(shè)備的REST請(qǐng)求,并對(duì)這些請(qǐng)求進(jìn)行合法性驗(yàn)證。
[0043]具體來說,上述REST請(qǐng)求根據(jù)來源的不同分為??第一類REST請(qǐng)求和第二類REST請(qǐng)求,其中,第一類REST請(qǐng)求是由執(zhí)行節(jié)點(diǎn)向分布式集群配置管理裝置發(fā)送的,第二類REST請(qǐng)求則是由外部業(yè)務(wù)服務(wù)器發(fā)送的。
[0044]在合法性驗(yàn)證之后,如果REST請(qǐng)求轉(zhuǎn)發(fā)模塊11當(dāng)前接收到的REST請(qǐng)求為第一類REST請(qǐng)求,則將驗(yàn)證通過的第一類REST請(qǐng)求發(fā)送給執(zhí)行節(jié)點(diǎn)數(shù)據(jù)處理模塊。如果REST請(qǐng)求轉(zhuǎn)發(fā)模塊11當(dāng)前接收到的REST請(qǐng)求為第二類REST請(qǐng)求,則將驗(yàn)證通過的第二類REST請(qǐng)求發(fā)送給API數(shù)據(jù)處理模塊。
[0045]執(zhí)行節(jié)點(diǎn)數(shù)據(jù)處理模塊12接收到REST請(qǐng)求轉(zhuǎn)發(fā)模塊11轉(zhuǎn)發(fā)來的第一類REST請(qǐng)求后,根據(jù)第一類REST請(qǐng)求,生成執(zhí)行節(jié)點(diǎn)事件,并將執(zhí)行節(jié)點(diǎn)事件發(fā)送給狀態(tài)管理模塊14。第一類REST請(qǐng)求可以為執(zhí)行節(jié)點(diǎn)周期性的向分布式集群配置管理裝置上報(bào)的節(jié)點(diǎn)信息和其狀態(tài)信息。執(zhí)行節(jié)點(diǎn)數(shù)據(jù)處理模塊12將其轉(zhuǎn)換為執(zhí)行節(jié)點(diǎn)事件,并發(fā)送給狀態(tài)管理模塊14。狀態(tài)管理模塊14在接收到執(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ù)庫。
[0046]API數(shù)據(jù)處理模塊13接收到REST請(qǐng)求轉(zhuǎn)發(fā)模塊11轉(zhuǎn)發(fā)來的第二類REST請(qǐng)求后,根據(jù)第二類REST請(qǐng)求,生成狀態(tài)結(jié)果查詢指令,并將狀態(tài)結(jié)果查詢指令發(fā)給狀態(tài)管理模塊14。狀態(tài)管理模塊14在接收到狀態(tài)結(jié)果查詢指令后,根據(jù)狀態(tài)結(jié)果查詢指令查找對(duì)應(yīng)的服務(wù)的狀態(tài)信息,并將狀態(tài)信息反饋給API數(shù)據(jù)處理模塊13。API數(shù)據(jù)處理模塊13對(duì)該狀態(tài)信息進(jìn)行處理。
[0047]二、節(jié)點(diǎn)注冊(cè)流程
[0048]請(qǐng)參考圖3B,圖3B為分布式集群節(jié)點(diǎn)注冊(cè)流程的流程圖。
[0049]當(dāng)有新的