基于zookeeper分布式搜索引擎的配置文件更新方法、裝置及系統(tǒng)的制作方法
【技術領域】
[0001]本發(fā)明涉及通信領域的配置文件更新技術,尤其涉及一種基于zookeeper分布式搜索引擎系統(tǒng)的配置文件更新方法、裝置及系統(tǒng)。
【背景技術】
[0002]圖1所示的為一種分布時搜搜引擎系統(tǒng),分布式搜索引擎系統(tǒng)通常是通過zookeeper進行系統(tǒng)管理的。分布式搜索引擎系統(tǒng)包括主master節(jié)點和從slave節(jié)點,master節(jié)點和slave節(jié)點上正常運行情況下都會有多個搜索任務,可以根據(jù)上層應用的業(yè)務場景來定制搜索任務。圖1中的所述的slave節(jié)點包括slave節(jié)點1和slave節(jié)點2。
[0003]master節(jié)點的搜索任務有采集數(shù)據(jù)需求的配置文件,搜索任務通過更改這些配置文件采集上層應用需求的數(shù)據(jù),然后進行索引處理,生成索引文件,通過檢索接口對外提供搜索服務。
[0004]slave節(jié)點的搜索任務沒有上述配置文件,slave節(jié)點獲取上述配置文件的方法為:
[0005]master節(jié)點上的配置文件需要先上傳到zookeeper上;
[0006]slave節(jié)點從zookeeper上獲取配置文件并加載到內(nèi)存中。
[0007]在成功加載配置文件后,所述slave節(jié)點與所述master節(jié)點一樣,通過上層應用相應的搜索任務進行索引處理,同樣生成索引文件,通過檢索接口對外提供搜索服務;從而實現(xiàn)搜索任務的分布式處理。
[0008]隨著上層應用業(yè)務場景的需求變更,搜索引擎系統(tǒng)master節(jié)點的搜索任務下的配置文件需要對應更新。當master節(jié)點內(nèi)的配置文件更新后,為了實現(xiàn)slave節(jié)點與master節(jié)點的配置文件的同步,管理人員將手動的重啟master節(jié)點,使master節(jié)點將配置文件上傳到zookeeper中。
[0009]圖2所示為現(xiàn)有技術中master節(jié)點和slave節(jié)點之間配置文件同步的方法,
[0010]包括:
[0011]步驟SI:master節(jié)點在重啟時開始上傳配置文件到zookeeper ;
[0012]步驟S2:slave節(jié)點在重啟時開始讀取存儲在zookeeper中的配置文件。
[0013]由圖2可知,master節(jié)點更新完成后,需要在管理人員手動觸發(fā)下重啟,才能把更新后的配置文件上傳到zooke印er ;slave節(jié)點同樣需要在管理人員的手動觸發(fā)重啟,才會去zookeeper獲取一次最新的配置文件并加載到內(nèi)存;不管是master節(jié)點還是slave節(jié)點重啟均要等待數(shù)分鐘才能恢復到正常工作,比較影響效率。
【發(fā)明內(nèi)容】
[0014]有鑒于此,本發(fā)明實施例期望提供一種基于zookeeper分布式搜索引擎系統(tǒng)的配置文件更新方法、裝置及系統(tǒng),以自動實現(xiàn)實slave節(jié)點的配置文件與master節(jié)點之間配置文件的同步并提高master節(jié)點與slave節(jié)點之間配置文件同步的效率。
[0015]為達到上述目的,本發(fā)明的技術方案是這樣實現(xiàn)的:
[0016]本發(fā)明提供一種基于zookeeper分布式搜索引擎系統(tǒng)的配置文件更新方法,所述方法包括:
[0017]檢測master節(jié)點是否形成了新的配置文件;
[0018]當確定形成了新的配置文件時,將所述新的配置文件發(fā)送到zooke印er ;
[0019]所述新的配置文件用于通過所述zookeeper發(fā)送到slave節(jié)點。
[0020]上述方案中,所述檢測master節(jié)點是否形成了新的配置文件為:
[0021]獲取前一次配置文件的更新時間;
[0022]檢測所述master節(jié)點的配置文件的更新時間;
[0023]當檢測結(jié)果表明所述更新時間發(fā)生了變化時,確定是否形成了新的配置文件。
[0024]上述方案中,所述檢測所述master節(jié)點的配置文件的更新時間為:
[0025]通過運行在所述master節(jié)點中的腳本進程定時或?qū)崟r檢測所述master節(jié)點的配置文件的更新時間。
[0026]本發(fā)明提供的一種基于zookeeper分布式搜索引擎系統(tǒng)的配置文件更新方法,所述方法包括:
[0027]接收并存儲master節(jié)點發(fā)送的新的配置文件;
[0028]將所述新的配置文件發(fā)送給slave節(jié)點;
[0029]所述新的配置文件用于替換所述slave節(jié)點中的舊的配置文件,加載到所述slave節(jié)點內(nèi)存中用于搜索任務的處理。
[0030]上述方案中,所述方法還包括:
[0031]向所述slave節(jié)點發(fā)送加載通知;
[0032]所述加載通知用于觸發(fā)所述slave節(jié)點在接收到所述新的配置文件之后,加載到所述slave節(jié)點的內(nèi)存中。
[0033]本發(fā)明提供一種基于zookeeper分布式搜索引擎系統(tǒng)的配置文件更新方法,所述方法包括:
[0034]接收zookeeper發(fā)送的新的配置文件;
[0035]將所述新的配置文件替換舊的配置文件加載到內(nèi)存中。
[0036]上述方案中,所述方法還包括:
[0037]接收zookeeper發(fā)送的加載通知;
[0038]所述將所述新的配置文件替換舊的配置文件加載到內(nèi)存中為:
[0039]在所述加載通知的觸發(fā)下,將所述新的配置文件替換舊的替換文件加載到內(nèi)存中。
[0040]本發(fā)明提供一種基于zookeeper分布式搜索引擎系統(tǒng)的配置文件更新方法,所述方法包括:
[0041]master節(jié)點檢測master節(jié)點是否形成了新的配置文件;
[0042]當確定形成了新的配置文件時,master節(jié)點將所述新的配置文件發(fā)送到zookeeper ;
[0043]zookeeper接收并存儲所述新的配置文件;
[0044]zookeeper向slave節(jié)點發(fā)送所述新的配置文件;
[0045]slave節(jié)點接收所述新的配置文件;
[0046]slave節(jié)點將所述新的配置文件替換舊的替換文件加載到內(nèi)存中。
[0047]上述方案中,所述方法還包括:
[0048]所述zookeeper還向所述slave節(jié)點發(fā)送加載通知;
[0049]所述slave節(jié)點接收所述加載通知;
[0050]所述slave節(jié)點加載所述新的配置文件為:
[0051]所述slave節(jié)點在所述加載通知的觸發(fā)下,將所述新的配置文件替換舊的替換文件加載到內(nèi)存中。
[0052]本發(fā)明提供一種基于zookeeper分布式搜索引擎系統(tǒng)的配置文件更新裝置,所述裝置為master節(jié)點;其特征在于,所述master節(jié)點包括:
[0053]檢測單元,用于檢測master節(jié)點是否形成了新的配置文件;
[0054]第一發(fā)送單元,用于當確定形成了新的配置文件時,將所述新的配置文件發(fā)送到zookeeper ;
[0055]所述新的配置文件用于通過所述zookeeper發(fā)送到slave節(jié)點。
[0056]上述方案中,所述檢測單元包括:
[0057]記錄模塊,用于獲取前一次配置文件的更新時間;
[0058]檢測模塊,用于檢測所述master節(jié)點的配置文件的更新時間;
[0059]確定模塊,用于當檢測結(jié)果表明所述更新時間發(fā)生了變化時,確定是否形成了新的配置文件。
[0060]上述方案中,所述檢測模塊,用于通過運行在所述master節(jié)點中的腳本進程定時或?qū)崟r檢測所述master節(jié)點的配置文件的更新時間。
[0061]本發(fā)明提供一種基于zookeeper分布式搜索引擎系統(tǒng)的配置文件更新裝置,所述裝置為zookeeper ;所述zookeeper包括:
[0062]第一接收單元,用于接收master節(jié)點發(fā)送的新的配置文件;
[0063]存儲單元,用于存儲所述新的配置文件;
[0064]第二發(fā)送單元,用于將所述新的配置文件發(fā)送給slave節(jié)點;
[0065]所述新的配置文件用于替換所述slave節(jié)點中的舊的配置文件,加載到所述slave節(jié)點內(nèi)存中用于搜索任務的處理。
[0066]上述方案中,所述zookeeper還包括:
[0067]所述第二發(fā)送單元,還用于向所述slave節(jié)點發(fā)送加載通知;
[0068]所述加載通知用于觸發(fā)所述slave節(jié)點在接收到所述新的配置文件之后,加載到所述slave節(jié)點的內(nèi)存中。
[0069]本發(fā)明提供一種基于zookeeper分布式搜索引擎系統(tǒng)的配置文件更新裝置,所述裝置為slave節(jié)點,所述slave節(jié)點包括:
[0070]第二接收單元,用于接收zookeeper發(fā)送的新的配置文件;
[0071]加載單元,用于將所述新的配置文件替換舊的配置文件加載到內(nèi)存中。
[0072]上述方案中,所述第二接收單元,還用于接收zookeeper發(fā)送的加載通知;
[0073]所述加載單元,具體用于在所述加載通知的觸發(fā)下,將所述新的配置文件替換舊的替換文件加載到內(nèi)存中。
[0074