連接示意圖;
[0048]圖2為本發(fā)明實施例提供的一種應(yīng)用服務(wù)管理方法的流程圖;
[0049]圖3為本發(fā)明實施例提供的另一種應(yīng)用服務(wù)管理方法的流程圖;
[0050]圖4為本發(fā)明實施例提供的另一種應(yīng)用服務(wù)管理方法的流程圖;
[0051]圖5為本發(fā)明實施例提供的一種應(yīng)用服務(wù)管理系統(tǒng)的結(jié)構(gòu)示意圖;
[0052]圖6為本發(fā)明實施例提供的另一種應(yīng)用服務(wù)管理系統(tǒng)的結(jié)構(gòu)示意圖;
[0053]圖7為本發(fā)明實施例提供的另一種應(yīng)用服務(wù)管理系統(tǒng)的結(jié)構(gòu)示意圖;
[0054]圖8為本發(fā)明實施例提供的一種應(yīng)用服務(wù)發(fā)現(xiàn)方法的流程圖;
[0055]圖9為本發(fā)明實施例提供的另一種應(yīng)用服務(wù)發(fā)現(xiàn)方法的流程圖;
[0056]圖10為本發(fā)明實施例提供的一種應(yīng)用服務(wù)發(fā)現(xiàn)系統(tǒng)的結(jié)構(gòu)示意圖;
[0057]圖11為本發(fā)明實施例提供的另一種應(yīng)用服務(wù)發(fā)現(xiàn)系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實施方式】
[0058]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
[0059]圖1為本發(fā)明實施例提供的一種應(yīng)用服務(wù)相關(guān)設(shè)備的連接示意圖,在該應(yīng)用服務(wù)管理架構(gòu)中,可以包括:注冊服務(wù)器1、應(yīng)用服務(wù)提供方設(shè)備2和應(yīng)用服務(wù)使用方設(shè)備3,其中,注冊服務(wù)器1分別與應(yīng)用服務(wù)提供方設(shè)備2和應(yīng)用服務(wù)使用方設(shè)備3相連接;
[0060]具體的,注冊服務(wù)器1與應(yīng)用服務(wù)提供方設(shè)備2和應(yīng)用服務(wù)使用方設(shè)備3可以是通過通訊協(xié)議無線連接也可以是有線連接;
[0061]具體的,注冊服務(wù)器1,可以用于接收應(yīng)用服務(wù)提供方設(shè)備2發(fā)送的應(yīng)用服務(wù)變更內(nèi)容、并寫入存儲在注冊服務(wù)器中的應(yīng)用服務(wù)注冊表中;也可以用于監(jiān)控應(yīng)用服務(wù)注冊表的變更,并在應(yīng)用服務(wù)注冊表發(fā)生變更后向應(yīng)用服務(wù)使用方設(shè)備3發(fā)送變更通知;還可以用于給應(yīng)用服務(wù)使用方設(shè)備查找最佳的應(yīng)用服務(wù)。優(yōu)選的,注冊服務(wù)器1可以是單個服務(wù)器,也可以是由多個服務(wù)器組成的集群;當(dāng)注冊服務(wù)器1為由多個服務(wù)器組成的集群時,可以包括:一個主服務(wù)器和多個從屬服務(wù)器,每個從屬服務(wù)器均與主服務(wù)器連接,且每一臺服務(wù)器上存儲的數(shù)據(jù)完全相同,主服務(wù)器負(fù)責(zé)寫服務(wù)和數(shù)據(jù)同步,主服務(wù)器失效后會在從屬服務(wù)器中重新選舉新的主服務(wù)器。應(yīng)用服務(wù)提供方設(shè)備2或應(yīng)用服務(wù)使用方設(shè)備3可以連接到任意一個從屬服務(wù)器。
[0062]具體的,應(yīng)用服務(wù)提供方設(shè)備2,可以用于向注冊服務(wù)器發(fā)送攜帶變更內(nèi)容的變更請求;也可以用于直接向注冊服務(wù)器中注冊應(yīng)用服務(wù)。
[0063]具體的,應(yīng)用服務(wù)使用方設(shè)備3,可以用于接收注冊服務(wù)器發(fā)送的應(yīng)用服務(wù)注冊表發(fā)生變更的變更通知,并根據(jù)變更通知的內(nèi)容采取相應(yīng)的措施;也可以用于向注冊服務(wù)器發(fā)送發(fā)現(xiàn)最佳應(yīng)用服務(wù)的請求,以使注冊服務(wù)器為其查找最佳應(yīng)用服務(wù),并接收注冊服務(wù)發(fā)現(xiàn)的最佳應(yīng)用服務(wù)的描述信息;還可以用于主動發(fā)現(xiàn)應(yīng)用服務(wù)注冊表存儲的最佳應(yīng)用服務(wù)。
[0064]在實際應(yīng)用中,應(yīng)用服務(wù)提供方設(shè)備2和應(yīng)用服務(wù)使用方設(shè)備3均可以通過客戶端連接到注冊服務(wù)器1,當(dāng)應(yīng)用服務(wù)提供方設(shè)備2和應(yīng)用服務(wù)使用方設(shè)備3需要訪問注冊服務(wù)器1時,均通過在客戶端的登錄界面輸入用戶名和密碼進(jìn)行訪問,當(dāng)輸入的用戶名和密碼為注冊服務(wù)器管理員分配的密碼時,則訪問成功,否則不成功。當(dāng)然,在用戶名為注冊服務(wù)器管理員分配的用戶名時,密碼也可以是經(jīng)注冊服務(wù)器管理員同意由應(yīng)用服務(wù)提供方設(shè)備2或者應(yīng)用服務(wù)使用方設(shè)備3修改后的密碼。
[0065]本發(fā)明實施例提供了一種應(yīng)用服務(wù)管理方法及系統(tǒng),應(yīng)用于注冊服務(wù)器中,本發(fā)明實施例還提供了一種應(yīng)用服務(wù)發(fā)現(xiàn)方法及系統(tǒng),應(yīng)用于應(yīng)用服務(wù)使用方設(shè)備中。下面分別進(jìn)行說明,首先對應(yīng)用于注冊服務(wù)器中的方案進(jìn)行說明。
[0066]如圖2所示,本發(fā)明實施例提供的一種應(yīng)用服務(wù)管理方法,應(yīng)用于注冊服務(wù)器中,所述注冊服務(wù)器與應(yīng)用服務(wù)提供方設(shè)備和應(yīng)用服務(wù)使用方設(shè)備相連接,該方法可以包括:
[0067]S100、接收所述應(yīng)用服務(wù)提供方設(shè)備上傳的應(yīng)用服務(wù)注冊表變更請求,所述變更請求攜帶有對所述應(yīng)用服務(wù)注冊表進(jìn)行變更的變更內(nèi)容;
[0068]應(yīng)用服務(wù)注冊表是由注冊服務(wù)器事先建立的用于存儲應(yīng)用服務(wù)信息的注冊表,應(yīng)用服務(wù)注冊表可以為樹狀結(jié)構(gòu),所述應(yīng)用服務(wù)注冊表包括根節(jié)點及至少一個子樹;每個子樹的根節(jié)點均為應(yīng)用服務(wù)注冊表的根節(jié)點的子節(jié)點,每個子樹的深度均可以為3,每個子樹中:
[0069]階度為1的節(jié)點為與應(yīng)用服務(wù)提供方對應(yīng)的節(jié)點,階度為2的節(jié)點為應(yīng)用服務(wù)實現(xiàn)系統(tǒng)對應(yīng)的節(jié)點,階度為3的節(jié)點為應(yīng)用服務(wù)對應(yīng)的節(jié)點;任一應(yīng)用服務(wù)提供方提供的應(yīng)用服務(wù)實現(xiàn)系統(tǒng)對應(yīng)的節(jié)點均為該應(yīng)用服務(wù)提供方對應(yīng)的節(jié)點的子節(jié)點,任一應(yīng)用服務(wù)實現(xiàn)系統(tǒng)提供的應(yīng)用服務(wù)對應(yīng)的節(jié)點均為該應(yīng)用服務(wù)實現(xiàn)系統(tǒng)對應(yīng)的節(jié)點的子節(jié)點。
[0070]具體的,在該樹狀應(yīng)用服務(wù)注冊表中,對于每一子樹的每一節(jié)點都有一個唯一的標(biāo)識該節(jié)點的存儲路徑。
[0071]具體的,在應(yīng)用服務(wù)注冊表中,應(yīng)用服務(wù)提供方可以為運維或開發(fā)應(yīng)用服務(wù)的組織,也可以按該組織在公司中的層級結(jié)構(gòu)進(jìn)一步細(xì)化。一個應(yīng)用服務(wù)提供方可以提供多套應(yīng)用服務(wù)實現(xiàn)系統(tǒng),應(yīng)用服務(wù)實現(xiàn)系統(tǒng)是指提供某一應(yīng)用服務(wù)的具體系統(tǒng),一個應(yīng)用服務(wù)系統(tǒng)可以提供多種應(yīng)用服務(wù)。具體的,當(dāng)應(yīng)用服務(wù)注冊表中某一應(yīng)用服務(wù)實現(xiàn)系統(tǒng)啟動或關(guān)閉時,該應(yīng)用服務(wù)實現(xiàn)系統(tǒng)所屬的應(yīng)用服務(wù)也可以相應(yīng)地被添加或移除。
[0072]其中,階度為1的節(jié)點上可以存儲有該節(jié)點對應(yīng)的應(yīng)用服務(wù)提供方的描述信息,應(yīng)用服務(wù)提供方的描述信息可以包括:應(yīng)用服提供方的名稱、地址、所提供的應(yīng)用服務(wù)實現(xiàn)系統(tǒng)的目錄等。
[0073]其中,階度為2的節(jié)點上可以存儲有該節(jié)點對應(yīng)的應(yīng)用服務(wù)實現(xiàn)系統(tǒng)的描述信息,可以包括:應(yīng)用服務(wù)實現(xiàn)系統(tǒng)的名稱、所提供的應(yīng)用服務(wù)的目錄等。
[0074]其中,階度為3的節(jié)點上可以存有該節(jié)點對應(yīng)的應(yīng)用服務(wù)的描述信息,可以包括:
[0075]應(yīng)用服務(wù)的基本信息:應(yīng)用服務(wù)的名稱、應(yīng)用服務(wù)的地址、應(yīng)用服務(wù)的端口號、應(yīng)用服務(wù)的通訊協(xié)議、應(yīng)用服務(wù)的類型;
[0076]應(yīng)用服務(wù)輸入?yún)?shù)列表,包括參數(shù)類型、名稱和說明;
[0077]應(yīng)用服務(wù)輸出參數(shù)列表,包括參數(shù)類型、名稱和說明;
[0078]應(yīng)用服務(wù)質(zhì)量:包括支持的最大每秒查詢率(Query Per Second,QPS)、可用時間;
[0079]優(yōu)選的,應(yīng)用服務(wù)的描述信息還可以包括:應(yīng)用服務(wù)測試數(shù)據(jù),包括輸入值和輸出值。
[0080]可以理解的是,當(dāng)按公司的層級結(jié)構(gòu)對應(yīng)用服務(wù)注冊表進(jìn)一步細(xì)化時,應(yīng)用服務(wù)注冊表中的子樹可以為深度為4的子樹,其中階度為1的節(jié)點為應(yīng)用服務(wù)提供方總公司,階度為2的節(jié)點為應(yīng)用服務(wù)提供方事業(yè)群,階度為3的節(jié)點為應(yīng)用服務(wù)實現(xiàn)系統(tǒng),階度為4的節(jié)點為應(yīng)用服務(wù)。例如:
[0081]階度為1的節(jié)點為:愛奇藝公司;階度為2的節(jié)點為:愛奇藝北京分公司;階度為3的節(jié)點為:搜索廣告部;階度為4的節(jié)點為:數(shù)據(jù)檢索服務(wù)、數(shù)據(jù)更新服務(wù)、數(shù)據(jù)查詢服務(wù)。
[0082]具體的,應(yīng)用服務(wù)提供方設(shè)備上傳的應(yīng)用服務(wù)注冊表變更請求可以是身份驗證請求,也可以是在身份驗證通過后發(fā)送的變更請求,變更請求攜帶的對應(yīng)用服務(wù)注冊表的變更內(nèi)容可以是在樹狀應(yīng)用服務(wù)注冊表中刪除或者增加一個節(jié)點,或者是對樹狀應(yīng)用服務(wù)注冊表中的某一節(jié)點所存儲的信息進(jìn)行修改。
[0083]具體的,注冊服務(wù)器可以為阿帕奇管理員系統(tǒng)(Apache Zookeeper)。
[0084]S200、在所述應(yīng)用服務(wù)提供方設(shè)備有對所述應(yīng)用服務(wù)注冊表進(jìn)行變更的權(quán)限的情況下,根據(jù)所述變更內(nèi)容對所述應(yīng)用服務(wù)注冊表進(jìn)行變更處理,并向所述應(yīng)用服務(wù)提供方設(shè)備發(fā)送變更回執(zhí);
[0085]注冊服務(wù)器在判斷某一應(yīng)用服務(wù)提供方設(shè)備是否有對應(yīng)用服務(wù)注冊表進(jìn)行變更的權(quán)限時,一方面可以通過身份驗證進(jìn)行,即通過驗證該應(yīng)用服務(wù)提供方訪問注冊服務(wù)器的用戶名是否為注冊服務(wù)器管理員分配的用戶名和密碼來確定;另一方面也可以在身份驗證通過后,在應(yīng)用服務(wù)提供方發(fā)送變更請求的情況下,進(jìn)一步通過向應(yīng)用服務(wù)提供方設(shè)備郵箱發(fā)送驗證碼進(jìn)行驗證。
[0086]當(dāng)然,進(jìn)行身份驗證時,在用戶名是注冊服務(wù)器管理員分配的情況下,密碼可以為管理員分配的初始密碼也可以是經(jīng)注冊服務(wù)器管理員同意由應(yīng)用服務(wù)提供方設(shè)備修改后的密碼。
[0087]進(jìn)一步,當(dāng)應(yīng)用服務(wù)提供方訪問注冊服務(wù)器時的用戶名和密碼驗證通過時,和/或郵箱驗證碼驗證通過后,即可以認(rèn)為該應(yīng)用服務(wù)提供方有權(quán)限對應(yīng)用服務(wù)注冊表進(jìn)行變更處理。
[0088]具體的,步驟S200中“根據(jù)所述變更內(nèi)容對所述應(yīng)用服務(wù)注冊表進(jìn)行變更處理”,包括:
[0089]根據(jù)變更內(nèi)容對應(yīng)用服務(wù)注冊表中的至少一個所述子樹中的至少一個節(jié)點進(jìn)行變更處理。
[0090]具體的,根據(jù)變更內(nèi)容對應(yīng)用服務(wù)注冊表中的至少一個所述子樹中的至少一個節(jié)點進(jìn)行變更處理,包括:
[0091]從所述變更內(nèi)容中獲得變更類型及變更對象,所述變更對象為節(jié)點;
[0092]在變更類型為刪除時,判斷該變更對象是否存在子孫節(jié)點,如果存在,則將該變更對象及該變更對象的所有子孫節(jié)點刪除,并根據(jù)刪除結(jié)果對該變更對象的父祖節(jié)點進(jìn)行更新;
[0093]在變更類型為增加時,根據(jù)該變更內(nèi)容中的增加位置及與增加位置對應(yīng)的節(jié)點信息,在增加位置處建立新的具有節(jié)點描述信息的節(jié)點,根據(jù)增加的節(jié)點的描述信息對該節(jié)點的父祖節(jié)點進(jìn)行更新;
[0094]在變更類型為修改時,根據(jù)變更內(nèi)容中的修改信息對所述變更對象進(jìn)行修改,并根據(jù)修改結(jié)果對該變更對象的子孫節(jié)點及父祖節(jié)點進(jìn)行更新。變更內(nèi)容