臺服務(wù)模塊和一個內(nèi)存模塊,后臺服務(wù)模塊包含一個瀏覽器頁面服務(wù)單元、一個Zookeeper客戶端服務(wù)單元、一個Zookeeper watch服務(wù)單元和一個Cometd服務(wù)單元。瀏覽器頁面服務(wù)單元書寫importCheck.js腳本庫,檢測針對“SAG_GR0UP_***”的處理操作數(shù)據(jù)的合法性,驗證通過后將數(shù)據(jù)封裝成ZK節(jié)點使用的格式;Zookeeper客戶端服務(wù)單元用于將NKCLI注冊為ZK客戶端;Zookeeper watch服務(wù)單元用于通過ratch實時獲取最新的ZK數(shù)據(jù)并存儲在內(nèi)存模塊,本實施例的SAG_GR0UP_***的腳本是可導(dǎo)入和可導(dǎo)出的,這樣集群的移植就變得非常的簡單;Cometd服務(wù)單元用于向前臺推送內(nèi)存模塊的ZK數(shù)據(jù)。
[0036]為了適應(yīng)SAG3000的云化場景,對于不同字段類型的ZK節(jié)點數(shù)據(jù),NKCLI的內(nèi)存模塊構(gòu)建不同的對象進(jìn)行存儲;對于不同字段類型的處理操作數(shù)據(jù),瀏覽器頁面服務(wù)單元進(jìn)行差異性封裝,以保證ZK節(jié)點能夠使用封裝后的數(shù)據(jù)。
[0037]實施例二:處理云化Zookeeper集群數(shù)據(jù)的方法
[0038]本實施例具體說明SAG3000云化ZK節(jié)點的處理過程。需要注意的是,在首次加載ZK數(shù)據(jù)時要給ZK節(jié)點掛上Watch,以后每次處理完節(jié)點后都要給節(jié)點重新掛上Watch,這樣才能保證可以實時感知ZK數(shù)據(jù)的變化,從而保證本地內(nèi)存數(shù)據(jù)與實際Zookeeper集群數(shù)據(jù)實時同步。
[0039]本實施例以實施例一為基礎(chǔ),詳細(xì)描述SAG3000云化場景下添加一個SAG并啟動該SAG的處理過程,其步驟流程如圖5所示,包括以下步驟:
[0040](1)用戶通過瀏覽器訪問NKCLI的主頁面,在操作頁面進(jìn)行新增SAG的處理操作,相應(yīng)的SAG數(shù)據(jù)從前臺傳遞到后臺;
[0041](2)NKCLI在后臺驗證SAG節(jié)點名稱的合法性;
[0042](3) NKCLI在后臺將SAG數(shù)據(jù)封裝成ZK使用的格式;
[0043](4)檢測ZK連接是否正常;
[0044](5)NKCLI指示Zookeeper集群添加SAG節(jié)點和相應(yīng)數(shù)據(jù),通過回調(diào)接口判斷成功則進(jìn)入下一步;
[0045](6) watch感知SAG_INF0數(shù)據(jù)發(fā)生變化;
[0046](7)NKCLI的后臺利用watch獲取最新的Zookeeper集群數(shù)據(jù),更新內(nèi)存數(shù)據(jù);
[0047](8)為新增的SAG節(jié)點重新注冊watch ;
[0048](9)NKCLI的后臺通過cometd把最新的ZK數(shù)據(jù)推送到瀏覽器,主頁面顯示新增的SAG節(jié)點;
[0049](10)用戶在主頁面點擊啟動該SAG的菜單;
[0050](ll)NKCLI修改該SAG的狀態(tài)為1 (即啟動狀態(tài));
[0051](12)NKCLI指示Zookeeper集群修改該SAG的數(shù)據(jù),通過回調(diào)接口判斷成功則進(jìn)入下一步;
[0052](13) watch感知SAG節(jié)點數(shù)據(jù)發(fā)生變化;
[0053](14)NKCLI的后臺利用watch獲取最新的Zookeeper集群數(shù)據(jù),更新內(nèi)存數(shù)據(jù);
[0054](15)為該SAG節(jié)點重新注冊watch ;
[0055](16) NKCLI的后臺通過cometd把最新的ZK數(shù)據(jù)推送到瀏覽器,主頁面該SAG節(jié)點狀態(tài)發(fā)生變化。
[0056]本領(lǐng)域普通技術(shù)人員可以理解:實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲于一計算機(jī)可讀取存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括:R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
[0057]最后應(yīng)說明的是:以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精神和范圍。
【主權(quán)項】
1.處理Zookeeper集群數(shù)據(jù)的客戶端,其特征在于: 所述客戶端的前臺包含一個通過瀏覽器訪問的主頁面,該主頁面包括導(dǎo)航樹和操作頁面,所述導(dǎo)航樹采用樹形結(jié)構(gòu)展示后臺推送的Zookeeper集群數(shù)據(jù),所述操作頁面用于用戶對導(dǎo)航樹展示的Zookeeper集群數(shù)據(jù)進(jìn)行處理操作; 所述客戶端的后臺包含一個后臺服務(wù)模塊和一個內(nèi)存模塊,后臺服務(wù)模塊包含一個瀏覽器頁面服務(wù)單元、一個Zookeeper客戶端服務(wù)單元、一個Zookeeper watch服務(wù)單元和一個Cometd服務(wù)單元; 所述瀏覽器頁面服務(wù)單元用于接收所述操作頁面的處理操作數(shù)據(jù)并進(jìn)行合法性驗證,驗證通過后將數(shù)據(jù)封裝成Zookeeper集群節(jié)點使用的格式;所述Zookeeper客戶端服務(wù)單元用于將所述客戶端注冊為Zookeeper集群客戶端;所述Zookeeper watch服務(wù)單元用于通過watch實時獲取最新的Zookeeper集群數(shù)據(jù)并存儲在所述內(nèi)存模塊;所述Cometd服務(wù)單元用于向前臺推送所述內(nèi)存模塊的Zookeeper集群數(shù)據(jù)。2.根據(jù)權(quán)利要求1所述的客戶端,其特征在于: 對于不同字段類型的Zookeeper集群節(jié)點數(shù)據(jù),所述內(nèi)存模塊構(gòu)建不同的對象進(jìn)行存儲;對于不同字段類型的處理操作數(shù)據(jù),所述瀏覽器頁面服務(wù)單元進(jìn)行差異性封裝,以保證Zookeeper集群節(jié)點能夠使用封裝后的數(shù)據(jù)。3.根據(jù)權(quán)利要求1或2所述的客戶端,其特征在于:所述樹形結(jié)構(gòu)使用JqueryZtreeJS庫,前臺與后臺之間通過Struts2串聯(lián);前臺與后臺之間的數(shù)據(jù)異步交互通過JqueryAjax框架實現(xiàn)。4.根據(jù)權(quán)利要求3所述的客戶端,其特征在于:所述內(nèi)存模塊中的Zookeeper集群數(shù)據(jù)的腳本是可導(dǎo)入和可導(dǎo)出的。5.根據(jù)權(quán)利要求3所述的客戶端,其特征在于:所述樹形結(jié)構(gòu)以字體和圖標(biāo)的顏色來區(qū)分Zookeeper集群節(jié)點的狀態(tài)。6.根據(jù)權(quán)利要求3所述的客戶端,其特征在于:所述Zookeeper集群為云化Zookeeper集群。7.—種通過權(quán)利要求1所述客戶端處理Zooke印er集群數(shù)據(jù)的方法,其特征在于,首次加載Zookeeper集群數(shù)據(jù)時給Zookeeper集群節(jié)點掛上Watch,處理Zookeeper集群數(shù)據(jù)包括以下步驟: a,用戶通過瀏覽器訪問所述Zookeeper客戶端的主頁面,對Zookeeper集群節(jié)點的數(shù)據(jù)進(jìn)行處理操作; b,用戶的處理操作數(shù)據(jù)從前臺傳遞到后臺,后臺驗證合法性后封裝成Zookeeper集群使用的格式; c,通過Zookeeper集群的回調(diào)接口判斷本次處理操作是否成功,如果成功則繼續(xù)下一[K少; d,后臺利用watch獲取最新的Zookeeper集群數(shù)據(jù); e,后臺通過cometd把最新的Zookeeper集群數(shù)據(jù)推送到瀏覽器,并為進(jìn)行處理操作的Zookeeper集群節(jié)點重新掛上watch ; f,導(dǎo)航樹采用樹形結(jié)構(gòu)展示最新的Zookeeper集群數(shù)據(jù)。8.根據(jù)權(quán)利要求7所述的方法,其特征在于: 對于不同字段類型的Zookeeper集群節(jié)點數(shù)據(jù),所述內(nèi)存模塊構(gòu)建不同的對象進(jìn)行存儲;對于不同字段類型的處理操作數(shù)據(jù),后臺進(jìn)行差異性封裝,以保證Zookeeper集群節(jié)點能夠使用封裝后的數(shù)據(jù)。9.根據(jù)權(quán)利要求7或8所述的方法,其特征在于:所述樹形結(jié)構(gòu)使用JqueryZtreeJS庫,前臺與后臺之間通過Struts2串聯(lián);前臺與后臺之間的數(shù)據(jù)異步交互通過Jquery Ajax框架實現(xiàn)。10.根據(jù)權(quán)利要求9所述的方法,其特征在于:所述內(nèi)存模塊中的Zookeeper集群數(shù)據(jù)的腳本是可導(dǎo)入和可導(dǎo)出的。11.根據(jù)權(quán)利要求9所述的方法,其特征在于:所述樹形結(jié)構(gòu)以字體和圖標(biāo)的顏色來區(qū)分Zookeeper集群節(jié)點的狀態(tài)。12.根據(jù)權(quán)利要求9所述的方法,其特征在于:所述Zookeeper集群為云化Zookeeper集群。
【專利摘要】本發(fā)明提出處理Zookeeper集群數(shù)據(jù)的客戶端及方法,客戶端的后臺包含后臺服務(wù)模塊和內(nèi)存模塊,后臺服務(wù)模塊包含瀏覽器頁面服務(wù)單元、Zookeeper客戶端服務(wù)單元、Zookeeper?watch服務(wù)單元和Cometd服務(wù)單元;瀏覽器頁面服務(wù)單元用于接收處理操作數(shù)據(jù)并進(jìn)行合法性驗證,然后將數(shù)據(jù)封裝成Zookeeper集群節(jié)點使用的格式;Zookeeper客戶端服務(wù)單元用于將客戶端注冊為Zookeeper集群客戶端;Zookeeper?watch服務(wù)單元用于實時獲取最新的Zookeeper集群數(shù)據(jù)并存儲在內(nèi)存模塊;Cometd服務(wù)單元用于向前臺推送內(nèi)存模塊的Zookeeper集群數(shù)據(jù)。
【IPC分類】H04L29/08
【公開號】CN105407114
【申請?zhí)枴緾N201410437960
【發(fā)明人】尹海龍
【申請人】北京信威通信技術(shù)股份有限公司
【公開日】2016年3月16日
【申請日】2014年8月29日