本發(fā)明涉及計算機(jī)網(wǎng)絡(luò)技術(shù)領(lǐng)域,具體涉及一種利用配置中心管理動態(tài)腳本的方法和系統(tǒng)。
背景技術(shù):
隨著網(wǎng)絡(luò)的蓬勃發(fā)展,大型應(yīng)用系統(tǒng)都是采用分布式方式來部署。每個應(yīng)用系統(tǒng)都是多實例部署,即部署到許多個服務(wù)器上,每個服務(wù)器提供相同的服務(wù)。在這些服務(wù)器前都會設(shè)置代理服務(wù)器作為請求的入口。每個請求都會通過代理服務(wù)器轉(zhuǎn)發(fā)給后面的應(yīng)用服務(wù)器。部署在代理服務(wù)器上的代理系統(tǒng)起著至關(guān)重要的作用。在代理系統(tǒng)上的路由配置等信息可能需要時時動態(tài)修改,且不能停掉代理系統(tǒng)以避免影響代理服務(wù)。
現(xiàn)在,代理系統(tǒng)的配置腳本都是需要管理員手動修改,之后通過手動輸入代理系統(tǒng)命令通知代理系統(tǒng)重新加載配置腳本,如圖1所示。
現(xiàn)有技術(shù)方案是人工操作配置文件信息,存在誤操作、修改錯誤的風(fēng)險,而且這種操作一般是服務(wù)器的運維人員來操作,故在有這種修改需求時,操作會有延遲性,影響系統(tǒng)的使用效果。
技術(shù)實現(xiàn)要素:
有鑒于此,本發(fā)明針對現(xiàn)有操作過程中存在的缺陷,采用遠(yuǎn)程控制的方法實現(xiàn)代理系統(tǒng)的遠(yuǎn)程控制。同時,還可以對配置腳本進(jìn)行版本管理,隨時可以切換到任意版本,動態(tài)的管理代理系統(tǒng)的執(zhí)行。
為實現(xiàn)上述目的,根據(jù)本發(fā)明的一個方面,提供了一種利用配置 中心管理動態(tài)腳本的方法,包括:選擇要更新的代理服務(wù)器;從所述配置中心關(guān)聯(lián)的數(shù)據(jù)庫存儲的該代理服務(wù)器對應(yīng)的配置腳本列表中選擇更新配置腳本;通過所述配置中心發(fā)送所述更新配置腳本到選擇的代理服務(wù)器,使得該代理服務(wù)器加載該更新配置腳本。
可選地,所述的選擇更新配腳本包括:修改所述代理服務(wù)器的當(dāng)前配置腳本,把修改的配置腳本存儲到該代理服務(wù)器對應(yīng)的配置腳本列表中,并確定該修改的配置腳本作為所述更新配置腳本。
可選地,所發(fā)布的所述更新配置腳本通過所述代理服務(wù)器的守護(hù)線程接收,并且所述守護(hù)線程執(zhí)行如下步驟:接收所述配置中心發(fā)來的所述更新配置腳本;把該代理服務(wù)器上的當(dāng)前配置腳本替換為所述更新配置腳本;指示代理服務(wù)器加載所述更新配置腳本以使得所述代理服務(wù)器加載所述更新配置腳本。
可選地,所述配置中心通過所述代理服務(wù)器的IP和PORT連接到該代理服務(wù)器的守護(hù)線程。
根據(jù)本發(fā)明的另一個方面,提供了一種管理動態(tài)腳本的系統(tǒng),包括:一個或多個應(yīng)用服務(wù)器;一個或多個代理服務(wù)器,所述代理服務(wù)器把用戶請求轉(zhuǎn)發(fā)給相應(yīng)的應(yīng)用服務(wù)器;配置中心,所述配置中心與所述代理服務(wù)器通訊連接;其中,
所述配置中心與數(shù)據(jù)庫相關(guān)聯(lián),所述數(shù)據(jù)庫保存管理員針對代理服務(wù)器配置的配置腳本,并且所述配置中心把管理員選擇的更新配置腳本發(fā)送給相應(yīng)代理服務(wù)器,使得相應(yīng)代理服務(wù)器加載該更新配置腳本。
根據(jù)本發(fā)明的技術(shù)方案,能夠采用遠(yuǎn)程控制的方式高效地管理代理系統(tǒng)重啟、停止、熱啟動等操作;多版本的配置腳本信息,讓代理系統(tǒng)可以快速、高效的進(jìn)行配置腳本的切換,滿足不同場景、不同環(huán) 境下的系統(tǒng)運行。同時,又能夠避免人工操作中存在的誤操作、修改錯誤、操作具有延遲性等問題。
附圖說明
附圖用于更好地理解本發(fā)明,不構(gòu)成對本發(fā)明的不當(dāng)限定。其中:
圖1是現(xiàn)有技術(shù)中手動修改配置腳本的流程圖;
圖2是本發(fā)明的系統(tǒng)組成和應(yīng)用流程的示意圖;
圖3是利用配置中心管理動態(tài)腳本的方法的流程圖;
圖4是守護(hù)線程接收配置腳本的流程圖;
圖5是本發(fā)明的例子一的配置腳本修改的流程圖;
圖6是本發(fā)明的例子二的配置腳本回滾的流程圖。
具體實施方式
以下結(jié)合附圖對本發(fā)明的示范性實施例做出說明,其中包括本發(fā)明實施例的各種細(xì)節(jié)以助于理解,應(yīng)當(dāng)將它們認(rèn)為僅僅是示范性的。因此,本領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)認(rèn)識到,可以對這里描述的實施例做出各種改變和修改,而不會背離本發(fā)明的范圍和精神。同樣,為了清楚和簡明,以下的描述中省略了對公知功能和結(jié)構(gòu)的描述。
圖2示出本發(fā)明的系統(tǒng)組成和應(yīng)用流程。
本發(fā)明的系統(tǒng)包括多個應(yīng)用實例組成的應(yīng)用服務(wù)器、與應(yīng)用服務(wù)器對應(yīng)的代理服務(wù)器以及用于管理代理服務(wù)器的配置腳本的配置中心,其中數(shù)據(jù)庫與所述配置中心關(guān)聯(lián),該數(shù)據(jù)庫中存儲代理服務(wù)器記錄表和配置腳本列表,所述配置腳本列表包括與每個代理服務(wù)器相關(guān)聯(lián)的配置腳本。
公共用戶發(fā)送請求給代理服務(wù)器,然后代理服務(wù)器把該請求轉(zhuǎn)發(fā)給相應(yīng)的應(yīng)用實例。
后臺管理員可以通過配置中心系統(tǒng)對代理服務(wù)器進(jìn)行管理。通常,管理員預(yù)先配置每個代理服務(wù)器的配置腳本,并保存到數(shù)據(jù)庫中的配置腳本列表中。在后續(xù)的運行中,管理員針對具體代理服務(wù)器修改配置腳本,并選擇某一個配置腳本進(jìn)行發(fā)布。
根據(jù)管理員對代理服務(wù)器選擇的配置腳本,配置中心遠(yuǎn)程發(fā)送該配置腳本給相應(yīng)代理服務(wù)器上的守護(hù)線程。
該代理服務(wù)器的守護(hù)線程接收到配置腳本之后,將該配置腳本保存到該代理服務(wù)器上,然后該守護(hù)線程觸發(fā)該代理服務(wù)器的加載配置腳本命令,使該代理服務(wù)器加載該配置腳本,從而完成動態(tài)修改代理系統(tǒng)的過程。
代理服務(wù)器的守護(hù)線程負(fù)責(zé)接收配置中心發(fā)送的配置腳本、通知代理服務(wù)器加載新的配置腳本等。
守護(hù)線程接收配置腳本的具體流程如圖4所示:
代理服務(wù)器的守護(hù)線程接收配置中心發(fā)來的配置腳本;
把該代理服務(wù)器上的當(dāng)前配置腳本替換為所接收的配置腳本,并且存儲所接收的配置腳本;
指示代理服務(wù)器加載配置腳本,使得代理服務(wù)器根據(jù)所述指示加載配置腳本,從而代理服務(wù)器按照新的配置腳本轉(zhuǎn)發(fā)用戶的請求。
例子一:根據(jù)本發(fā)明的實施例,配置腳本修改的流程如圖5所示:
管理員選擇要修改的代理服務(wù)器;
對該代理服務(wù)器的當(dāng)前配置腳本做修改;
把修改完的配置腳本保存到配置中心相關(guān)聯(lián)的數(shù)據(jù)庫的配置腳本列表中;
把修改好的配置腳本發(fā)布到選擇的代理服務(wù)器,即配置中心通過該代理服務(wù)器的IP和PORT連接到該代理服務(wù)器的守護(hù)線程,并將該 修改好的配置腳本發(fā)送給該守護(hù)線程。
管理員可以對一個代理服務(wù)器的配置腳本做修改,并且每次修改產(chǎn)生一個新版本。在配置中心的數(shù)據(jù)庫中記錄了配置腳本之前所有的修改版本。所以管理員可以對代理服務(wù)器的配置進(jìn)行歷史版本回滾,回滾到之前的任何版本。
例子二:根據(jù)本發(fā)明的實施例,配置腳本回滾的流程如圖6所示:
管理員選擇要回滾的代理服務(wù)器;
從數(shù)據(jù)庫中查詢該代理服務(wù)器對應(yīng)的配置腳本列表;
選擇該對應(yīng)的配置腳本列表中要回滾到的配置腳本;
通過配置中心把該配置腳本發(fā)送到所選擇的代理服務(wù)器上的守護(hù)線程。
上述具體實施方式,并不構(gòu)成對本發(fā)明保護(hù)范圍的限制。本領(lǐng)域技術(shù)人員應(yīng)該明白的是,取決于設(shè)計要求和其他因素,可以發(fā)生各種各樣的修改、組合、子組合和替代。任何在本發(fā)明的精神和原則之內(nèi)所作的修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)范圍之內(nèi)。