執(zhí)行節(jié)點(diǎn)加入分布式集群,該新加入的執(zhí)行節(jié)點(diǎn)采用REST協(xié)議向所述分布式集群配置管理裝置發(fā)送節(jié)點(diǎn)注冊請求。REST請求轉(zhuǎn)發(fā)模塊11接收的該REST請求并在通過合法性驗(yàn)證之后,確定該REST請求來自執(zhí)行節(jié)點(diǎn),為第一類REST請求,因此REST請求轉(zhuǎn)發(fā)模塊11將其轉(zhuǎn)發(fā)給執(zhí)行節(jié)點(diǎn)數(shù)據(jù)處理模塊12。
[0050]執(zhí)行節(jié)點(diǎn)數(shù)據(jù)處理模塊12根據(jù)該請求,生成節(jié)點(diǎn)注冊指令,并將節(jié)點(diǎn)注冊指令發(fā)送給節(jié)點(diǎn)注冊模塊21。
[0051]節(jié)點(diǎn)注冊模塊21在接收到上述節(jié)點(diǎn)注冊指令之后,生成節(jié)點(diǎn)注冊事件,并將節(jié)點(diǎn)注冊事件發(fā)送給狀態(tài)管理模塊14,由狀態(tài)管理模塊14將與節(jié)點(diǎn)注冊事件對應(yīng)的執(zhí)行節(jié)點(diǎn)信息和狀態(tài)信息接入數(shù)據(jù)庫,這樣就完成了對新加入的執(zhí)行節(jié)點(diǎn)進(jìn)行注冊的流程。
[0052]可選的,各執(zhí)行節(jié)點(diǎn)根據(jù)設(shè)定的上報周期向分布式集群配置管理裝置上報節(jié)點(diǎn)信息和/或服務(wù)狀態(tài)信息。若已注冊的執(zhí)行節(jié)點(diǎn)長時間(至少大于一個上報周期)沒有給分布式集群配置管理裝置上報節(jié)點(diǎn)信息和狀態(tài)信息時,分布式集群配置管理裝置在接收到該舊的執(zhí)行節(jié)點(diǎn)上報的節(jié)點(diǎn)信息和狀態(tài)信息之后,會重新對該執(zhí)行節(jié)點(diǎn)進(jìn)行注冊。
[0053]三、操作反饋流程
[0054]請參考圖3C,圖3C為分布式集群操作反饋流程的流程圖。
[0055]由于很多時候改變執(zhí)行節(jié)點(diǎn)的某個服務(wù)的狀態(tài)的操作需要分為多個步驟進(jìn)行,當(dāng)執(zhí)行節(jié)點(diǎn)完成一個步驟之后,會將操作結(jié)果通過REST請求消息反饋給分布式集群配置管理裝置。REST請求轉(zhuǎn)發(fā)模塊11識別出該操作結(jié)果反饋請求為第一類REST請求,則將該REST請求消息轉(zhuǎn)發(fā)給執(zhí)行節(jié)點(diǎn)數(shù)據(jù)處理模塊12。執(zhí)行節(jié)點(diǎn)數(shù)據(jù)處理模塊12根據(jù)操作結(jié)果反饋請求獲得操作返回結(jié)果,并將操作返回結(jié)果發(fā)送給操作管理模塊22。
[0056]操作管理模塊22在接收到操作返回結(jié)果之后,根據(jù)操作返回結(jié)果生成操作隊列,并將操作隊列發(fā)送給執(zhí)行節(jié)點(diǎn)數(shù)據(jù)處理模塊12。
[0057]可選的,操作管理模塊22根據(jù)操作返回結(jié)果,還可以將執(zhí)行節(jié)點(diǎn)當(dāng)前的操作臨時狀態(tài)寫入數(shù)據(jù)庫。
[0058]節(jié)點(diǎn)數(shù)據(jù)處理模塊12接收到操作管理模塊22發(fā)送來的操作隊列后,通過REST請求轉(zhuǎn)發(fā)模塊將操作隊列發(fā)送給執(zhí)行節(jié)點(diǎn),以供執(zhí)行節(jié)點(diǎn)執(zhí)行操作隊列中的操作指令,完成分布式集群配置管理裝置對于執(zhí)行節(jié)點(diǎn)的配置管理。
[0059]四、服務(wù)注冊流程
[0060]請參考圖3D,圖3D為分布式集群服務(wù)注冊流程的流程圖。
[0061]當(dāng)新的服務(wù)加入時,外部業(yè)務(wù)服務(wù)器向分布式集群配置管理裝置發(fā)起服務(wù)注冊請求,REST請求轉(zhuǎn)發(fā)模塊11驗(yàn)證并轉(zhuǎn)發(fā)該請求之后,API數(shù)據(jù)處理模塊13根據(jù)第二類REST請求,即服務(wù)注冊請求,生成服務(wù)注冊指令,并將其發(fā)送給服務(wù)注冊模塊23,由于每一次服務(wù)注冊操作都會給該次服務(wù)分配一個版本號,并由服務(wù)注冊模塊23寫入數(shù)據(jù)庫中,那么,服務(wù)注冊模塊23在接收到該指令后,對該新加入的服務(wù)提供的配置模板進(jìn)行版本管理,并將服務(wù)注冊的相關(guān)信息,如服務(wù)類別、服務(wù)版本號、實(shí)現(xiàn)配置管理接口的服務(wù)包、安裝機(jī)器列表、通配符或者服務(wù)注冊配置信息等存入所述數(shù)據(jù)庫中。
[0062]在另一實(shí)施例中,服務(wù)注冊模塊23還用于驗(yàn)證配置模板,以此來保障用戶提供的相關(guān)配置數(shù)據(jù)是正確的。
[0063]五、節(jié)點(diǎn)狀態(tài)更改流程
[0064]請參考圖3E,圖3E為分布式集群節(jié)點(diǎn)狀態(tài)更改流程的流程圖。
[0065]當(dāng)用戶通過Webserver請求改變某執(zhí)行節(jié)點(diǎn)的狀態(tài)時,第二 REST請求為節(jié)點(diǎn)狀態(tài)更改請求,在REST請求轉(zhuǎn)發(fā)模塊11驗(yàn)證并轉(zhuǎn)發(fā)該請求之后,API數(shù)據(jù)處理模塊13根據(jù)第二類REST請求,生成狀態(tài)結(jié)果查詢指令,并將狀態(tài)結(jié)果查詢指令發(fā)給狀態(tài)管理模塊14,狀態(tài)管理模塊14在接收到狀態(tài)結(jié)果查詢指令后,根據(jù)狀態(tài)結(jié)果查詢指令查找對應(yīng)的服務(wù)的狀態(tài)信息,并將狀態(tài)信息反饋給API數(shù)據(jù)處理模塊13,API數(shù)據(jù)處理模塊13根據(jù)狀態(tài)結(jié)果查詢指令返回的狀態(tài)信息,生成節(jié)點(diǎn)狀態(tài)更改指令,并發(fā)送給執(zhí)行計劃生成模塊24。
[0066]執(zhí)行計劃生成模塊24在接收由API數(shù)據(jù)處理模塊發(fā)送的節(jié)點(diǎn)狀態(tài)更改指令之后,將節(jié)點(diǎn)狀態(tài)更改指令轉(zhuǎn)換為節(jié)點(diǎn)狀態(tài)更改操作列表并返回給API數(shù)據(jù)處理模塊13,再由API數(shù)據(jù)處理模塊13轉(zhuǎn)發(fā)給操作管理模塊22。
[0067]操作管理模塊22在用于在接收到API數(shù)據(jù)處理模塊13發(fā)送的節(jié)點(diǎn)狀態(tài)更改操作列表之后,根據(jù)節(jié)點(diǎn)狀態(tài)更改操作列表生成節(jié)點(diǎn)狀態(tài)更改操作隊列,并將節(jié)點(diǎn)狀態(tài)更改操作隊列發(fā)送給執(zhí)行節(jié)點(diǎn)數(shù)據(jù)處理模塊12,由執(zhí)行節(jié)點(diǎn)數(shù)據(jù)處理模塊12通過REST請求轉(zhuǎn)發(fā)模塊11將節(jié)點(diǎn)狀態(tài)更改操作隊列發(fā)送給執(zhí)行節(jié)點(diǎn),以供執(zhí)行節(jié)點(diǎn)執(zhí)行,并更改其節(jié)點(diǎn)狀態(tài)。
[0068]上述本申請實(shí)施例中的技術(shù)方案,至少具有如下的技術(shù)效果或優(yōu)點(diǎn):
[0069]本發(fā)明實(shí)施例提供一種通用的分布式集群配置管理裝置及應(yīng)用于該裝置的配置管理方法,無論是來自執(zhí)行節(jié)點(diǎn)還是外部業(yè)務(wù)服務(wù)器的請求,均可以通過統(tǒng)一接口,即REST請求轉(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ù)庫中對執(zhí)行節(jié)點(diǎn)或者服務(wù)的狀態(tài)進(jìn)行讀取、修改等操作,以此實(shí)現(xiàn)對所有服務(wù)以及執(zhí)行節(jié)點(diǎn)的狀態(tài)管理,節(jié)約系統(tǒng)資源。
[0070]本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機(jī)可用程序代碼的計算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實(shí)施的計算機(jī)程序產(chǎn)品的形式。
[0071]本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機(jī)程序指令到通用計算機(jī)、專用計算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機(jī)器,使得通過計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
[0072]這些計算機(jī)程序指令也可存儲在能引導(dǎo)計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機(jī)可讀存儲器中,使得存儲在該計算機(jī)可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
[0073]這些計算機(jī)程序指令也可裝載到計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機(jī)實(shí)現(xiàn)的處理,從而在計算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
[0074]顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
【主權(quán)項(xiàng)】
1.一種分布式集群配置管理裝置,其特征在于,包括=REST請求轉(zhuǎn)發(fā)模塊,執(zhí)行節(jié)點(diǎn)數(shù)據(jù)處理模塊,API數(shù)據(jù)處理模塊,狀態(tài)管理模塊; 所述REST請求轉(zhuǎn)發(fā)模塊,用于接收到執(zhí)行節(jié)點(diǎn)的第一類REST請求后進(jìn)行合法性驗(yàn)證,并將驗(yàn)證通過的所述第一類REST請求發(fā)送給所述執(zhí)行節(jié)點(diǎn)數(shù)據(jù)處理模塊;接收到外部業(yè)務(wù)服務(wù)器發(fā)送的第二類REST請求