專利名稱:一種組件管理系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及組件應用技術(shù),尤其涉及一種組件管理系統(tǒng)及方法。
背景技術(shù):
目前,基于電信業(yè)務的應用一般都是比較大型的應用,隨著技術(shù)不斷創(chuàng)新和業(yè)務 不斷變化,系統(tǒng)的業(yè)務和功能也在不斷的增加,同時,隨著技術(shù)不斷發(fā)展和團隊的不斷變 化,很容易造成的現(xiàn)象是各個子系統(tǒng)、模塊實現(xiàn)的技術(shù)五花八門,部署時各子系統(tǒng)的方式 和要求各不相同,各個子系統(tǒng)之間的交互方式和方法無法統(tǒng)一,從而使整個系統(tǒng)很混亂,缺 少統(tǒng)一的規(guī)劃、部署和通信。 基于組件構(gòu)成的應用系統(tǒng),有效的將系統(tǒng)組件化,組件對外的暴露的服務采用相 同的標準;組件之間的通信采用統(tǒng)一的交互機制;組件的部署采用相同的規(guī)范。從而不管 系統(tǒng)規(guī)模如何擴展,組件作為構(gòu)成系統(tǒng)的基本因子,由于其遵循同一種規(guī)范,可以使整個系 統(tǒng)架構(gòu)更為靈活,擴展性更高,更能夠適應業(yè)務不斷變化的大型系統(tǒng)。 基于組件開發(fā)(CBD)是一種廣泛的體系結(jié)構(gòu),具有高度的重用性和互用性,CBD的 前身是面向?qū)ο?00)的開發(fā),但是OO開發(fā)環(huán)境本質(zhì)上不夠完善,缺乏解決對象互用性的公 共基礎設施,CBD按編制和裝配應用程序的互用性架構(gòu),以及描述組件基礎設施和架構(gòu)的預 制組件的標準化基礎設施的上下關(guān)系重新定義了對象,從而CBD架構(gòu)能實現(xiàn)組件的設計、 編制和裝配。但是,現(xiàn)有組件應用系統(tǒng)中,服務應用端一般按照一定的服務協(xié)議對根據(jù)組件 生成的服務實例進行調(diào)用,所以,對于服務協(xié)議不同的服務應用端,現(xiàn)有組件應用系統(tǒng)的擴 展性較差;并且,現(xiàn)有技術(shù)需要重新啟動應用服務器以更新組件,從而操作繁瑣,且影響系 統(tǒng)效率。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種組件管理系統(tǒng)及方法,能夠提高組件
應用系統(tǒng)的擴展性,且能夠方便、快速地更新組件。 為達到上述目的,本發(fā)明的技術(shù)方案是這樣實現(xiàn)的 —種組件管理系統(tǒng),包括服務中心、管理中心和發(fā)布中心,其中, 所述服務中心,用于對組件進行注冊,以及在組件注冊成功后,通知管理中心;以
及存儲相關(guān)服務信息; 所述管理中心,用于在收到服務中心注冊成功通知后,激活組件服務,并通知發(fā)布 中心服務已激活;以及對服務中心的服務的狀態(tài)進行管理; 所述發(fā)布中心,用于根據(jù)管理中心的服務已激活的通知,向服務應用端發(fā)布所述 已激活的服務;以及在收到服務應用端的服務調(diào)用請求且服務中心存在服務應用端需要調(diào) 用的服務時,對服務進行協(xié)議封裝并發(fā)送給服務應用端。 該系統(tǒng)還包括監(jiān)控中心,用于通過與服務中心、管理中心及發(fā)布中心交互,對服務 的狀態(tài)、調(diào)用及被調(diào)用情況進行監(jiān)控。
所述服務中心,還用于接收組件注冊請求,以及在根據(jù)組件注冊請求判斷需要注 冊組件的相關(guān)服務不存在,且所述需要注冊的組件合法時,注冊組件。
所述管理中心,還用于通知服務中心需要進行服務激活; 所述服務中心,還用于判斷需要激活的服務是否為遠程服務,以及需要激活的服 務是遠程服務時,通知遠程調(diào)用生成代理對象實例,并修改所述需要激活的服務的狀態(tài)為 激活狀態(tài);或者在需要激活的服務不是遠程服務時,生成本地對象實例,并修改所述需要激 活的服務的狀態(tài)為激活狀態(tài)。 所述管理中心,還用于判斷是否有服務引用需要鈍化的服務,以及在有服務引用
需要鈍化的服務時進一步判斷引用此需要鈍化的服務的服務是否為激活狀態(tài),并在沒有服
務引用需要鈍化的服務,或者有服務引用需要鈍化的服務且引用此需要鈍化的服務的服務
不是激活狀態(tài)時,通知服務中心修改所述需要鈍化的服務的狀態(tài)為鈍化。 所述管理中心,還用于判斷需要注銷的服務是否為激活狀態(tài),以及在有服務引用
所述需要注銷的服務時進一步判斷引用所述需要注銷的服務的服務是否為激活狀態(tài),并
在所述需要注銷的服務不為激活狀態(tài),或者引用所述需要注銷的服務的服務不為激活狀態(tài)
時,通知服務中心刪除所述需要注銷的服務的相關(guān)實例。 —種組件管理方法,包括 服務中心對組件進行注冊,并在組件注冊成功后,通知管理中心;
管理中心激活組件服務,并通知發(fā)布中心;
發(fā)布中心向服務應用端發(fā)布所述已激活的服務; 發(fā)布中心收到服務應用端的服務調(diào)用請求且服務中心存在服務應用端需要調(diào)用 的服務時,對服務進行協(xié)議封裝并發(fā)送給服務應用端。 該方法還包括監(jiān)控中心通過與服務中心、管理中心及發(fā)布中心交互,對服務的狀
態(tài)、調(diào)用及被調(diào)用情況進行監(jiān)控。
所述服務中心對組件進行注冊具體包括 服務中心接收組件注冊請求; 服務中心根據(jù)組件注冊請求判斷需要注冊組件相關(guān)的服務不存在,且所述需要注 冊的組件合法,則注冊組件。
所述管理中心激活組件服務具體包括 管理中心通知服務中心需要進行服務激活;服務中心判斷需要激活的服務是遠程 服務,則通知遠程調(diào)用生成代理對象實例,并修改所述需要激活的服務的狀態(tài)為激活狀態(tài); 服務中心判斷需要激活的服務不是遠程服務,則生成本地對象實例,并修改所述需要激活 的服務的狀態(tài)為激活狀態(tài)。
該方法還包括對服務進行鈍化,具體為 需要進行服務鈍化時,管理中心判斷沒有服務引用需要鈍化的服務,或者有服務
引用需要鈍化的服務且引用此需要鈍化的服務的服務不是激活狀態(tài),則通知服務中心修改
所述需要鈍化的服務的狀態(tài)為鈍化。 該方法還包括對服務進行注銷,具體為 需要進行服務注銷時,管理中心判斷所述需要注銷的服務不為激活狀態(tài),或者引 用所述需要注銷的服務的服務不為激活狀態(tài),則通知服務中心刪除所述需要注銷的服務的相關(guān)實例。 本發(fā)明組件管理系統(tǒng)及方法,組件管理系統(tǒng)具體包括服務中心、管理中心、監(jiān)控中 心和發(fā)布中心。系統(tǒng)中的每個組件都可以獨立部署、拆卸和維護,組件服務的生命周期分為 注冊、激活、鈍化和注銷四個狀態(tài),四個狀態(tài)之間可以按照一定規(guī)則進行轉(zhuǎn)化。由于本發(fā)明 中由發(fā)布中心負責統(tǒng)一的服務對外機能,可以適應不同的服務應用端訪問請求對服務進行 協(xié)議封裝,所以,能夠提高組件應用系統(tǒng)的擴展性;另外,由于本發(fā)明對組件的狀態(tài)進行區(qū) 分,注冊及鈍化狀態(tài)下的組件不能被調(diào)用,從而不需要重新啟動應用服務器便可實現(xiàn)對組 件的更新,即本發(fā)明能夠方便、快速地更新組件。
圖1為本發(fā)明組件管理系統(tǒng)結(jié)構(gòu)示意圖; 圖2為本發(fā)明服務狀態(tài)轉(zhuǎn)換示意圖; 圖3為本發(fā)明組件管理方法流程示 圖4為本發(fā)明一種組件注冊流程示 圖5為本發(fā)明一種服務激活流程示意圖 圖6為本發(fā)明一種服務鈍化流程示意圖 圖7為本發(fā)明一種服務注銷流程示意圖
具體實施例方式本發(fā)明的基本思想是組件管理系統(tǒng)具體包括服務中心、管理中心、監(jiān)控中心和發(fā) 布中心。系統(tǒng)中的每個組件都可以獨立部署、拆卸和維護,組件服務的生命周期分為注冊、 激活、鈍化和注銷四個狀態(tài),四個狀態(tài)之間可以按照一定規(guī)則進行轉(zhuǎn)化。
下面結(jié)合附圖對技術(shù)方案的實施作進一步的詳細描述。 圖1為本發(fā)明組件管理系統(tǒng)結(jié)構(gòu)示意圖,如圖1所示,本發(fā)明組件管理系統(tǒng)包括 服務中心11、管理中心12、發(fā)布中心13和監(jiān)控中心14,其中, 服務中心ll,用于對組件進行注冊,以及在組件注冊成功后,通知管理中心12。
具體的,所有的組件都需要向服務中心11注冊,服務中心11統(tǒng)一管理組件服務, 可以通過遠程過程調(diào)用(RPC)或者消息機制與其他單元進行通訊。服務中心ll存儲相關(guān) 服務信息,即本地服務元數(shù)據(jù)對象和服務實例,還可以使用JINI技術(shù)提供服務查詢功能。
管理中心12,用于在收到服務中心11注冊成功通知后,激活組件服務,并通知發(fā) 布中心13服務已激活;以及對服務中心11的服務的狀態(tài)進行管理。 具體的,管理中心12激活服務即為安裝服務,服務安裝時,必須先在服務中心11 注冊,然后由管理中心12加載組件物理文件,并創(chuàng)建組件實例。 管理中心12還可以用于執(zhí)行組件升級及服務卸載,組件升級時,管理中心12會先 停止組件運行,替換組件物理文件后,啟動組件重新生成組件實例;而組件卸載時,管理中 心12通知服務中心11刪除該組件實例,以及修改組件狀態(tài)。 組件服務生命周期的狀態(tài)轉(zhuǎn)變,全部由管理中心12完成。組件狀態(tài)靈活轉(zhuǎn)變,保 證了組件的安裝、卸載、升級和熱部署、熱替換特性。 發(fā)布中心13,用于根據(jù)管理中心12的服務已激活的通知,向服務應用端發(fā)布所述已激活的服務;以及在收到服務應用端的服務調(diào)用請求且服務中心11存在服務應用端需要調(diào)用的服務時,對服務進行協(xié)議封裝并發(fā)送給服務應用端; 即發(fā)布中心13提供統(tǒng)一的服務對外機能,其管理所有激活的服務實例句柄,以及對服務進行協(xié)議封裝,以適應不同的服務應用端訪問請求。 服務應用端調(diào)用服務時,向發(fā)布中心13發(fā)出調(diào)用請求,發(fā)布中心13通過查詢服務中心11判斷該服務存在,則服務會順利被調(diào)用,發(fā)布中心的協(xié)議封裝機制,可以保證不同的服務協(xié)議調(diào)用,從而保證分布式組件模型的可能。 監(jiān)控中心14,用于通過與服務中心11、管理中心12及發(fā)布中心13的交互,對服務的狀態(tài)、調(diào)用及被調(diào)用情況等進行監(jiān)控。 本發(fā)明中,組件一般由組件實體包、組件描述文件、組件服務清單三部分組成。其中,組件實體包以jar的形式存在;組件描述文件以XML形式存在,其主要描述組件的依賴關(guān)系、組件的功能和該組件能夠提供的服務。組件在服務中心注冊時,服務中心會檢測該組件描述文件的合法性;組件服務清單主要描述組件對外暴露的服務詳細信息,服務以接口的形式存在,所以,組件服務清單提供了 一份詳細的接口列表。 本發(fā)明中,組件服務的生命周期分為四個狀態(tài)注冊、激活、鈍化和注銷。下面對這四種狀態(tài)進行詳細說明 注冊系統(tǒng)的每一個組件都需要在服務中心注冊。組件注冊時,系統(tǒng)首先登記組件的描述文件,檢查該組件描述信息是否合法,以及檢測該組件是否已經(jīng)注冊。對于已經(jīng)存在的組件,服務中心不再加載該組件。如果組件未注冊且合法,則服務中心會登記該組件的相關(guān)信息,記錄組件對外提供的接口信息和組件依賴信息,與組件相關(guān)的服務的狀態(tài)為"注冊"。注冊狀態(tài)的服務,不能被調(diào)用,只能激活以后,才能被發(fā)布中心發(fā)布,供服務調(diào)用端調(diào)用。 激活注冊后的組件,其相應的服務必須激活以后才能正常運行。服務一旦激活,系統(tǒng)會監(jiān)控其運行狀況,用戶還可以查詢服務的狀態(tài)。服務激活時,會判斷該服務調(diào)用是遠程調(diào)用還是本地調(diào)用,如果是遠程調(diào)用,則通知服務應用端在遠程生成一個服務代理實例;如果是本地調(diào)用,則生成一個本地對象實例。 鈍化在特殊的條件下,如需要更新組件或服務長時間沒有被調(diào)用等情況,服務由激活狀態(tài)轉(zhuǎn)換成鈍化狀體。鈍化狀態(tài)的服務不能夠被調(diào)用,鈍化后的服務的實例仍存在,但是不能夠被繼續(xù)調(diào)用,只有轉(zhuǎn)換成激活狀態(tài)后,才能被調(diào)用。當然,在人為注銷、長時間未被調(diào)用等情況下,鈍化狀態(tài)的組件還可以轉(zhuǎn)換成注銷狀態(tài)。 注銷服務注銷后不能被使用,本發(fā)明中只能注銷非激活狀態(tài)的服務。服務注銷指刪除服務中心的相關(guān)注冊信息,同時刪除遠程代理實例或者本地實例。注銷后的服務,如果還需要被使用,則需要重新注冊和激活。 根據(jù)上述描述,注冊狀態(tài)的組件,只是在服務中心進行了組件的基本信息登記,這個狀態(tài)的組件,其相關(guān)的服務是不能被調(diào)用的;激活狀態(tài)的服務,已經(jīng)在產(chǎn)生了本地對象實例或者在遠端服務代理對象實例,只有激活狀態(tài)的服務才能夠被調(diào)用;鈍化狀態(tài)的服務,其激活時創(chuàng)建的實例全部重置,這個狀態(tài)的服務也是不能被調(diào)用的;注銷狀態(tài)的服務,其創(chuàng)建的對象實例被資源回收,而服務被注銷以后,是不可再恢復的。 需要說明的是,在特定的條件下,服務的狀態(tài)可以互相轉(zhuǎn)換,圖2為本發(fā)明服務狀態(tài)轉(zhuǎn)換示意圖,如圖2所示,本發(fā)明服務的四種狀態(tài)之間的轉(zhuǎn)換包括如下五種情況
第一種情況從注冊狀態(tài)轉(zhuǎn)換為激活狀態(tài)(Active),這種情況下,注冊中心加載組件描述文件、組件服務清單文件和組件實體包,生成本地對象實例或者生成遠程服務代理實例,即完成服務從注冊狀態(tài)到激活狀態(tài)的轉(zhuǎn)換。 第二種情況從激活狀態(tài)轉(zhuǎn)換為注冊狀態(tài)(DeActive),這種情況下,組件管理系統(tǒng)卸載服務的實例,但是保留組件的描述信息和組件提供的服務信息。 第三種情況從激活狀態(tài)轉(zhuǎn)換為鈍化狀態(tài)(Passvied),這種情況下,服務的實例釋放,其他組件不能調(diào)用所述服務。 第四種情況從鈍化狀態(tài)轉(zhuǎn)換為激活狀態(tài)(Active),這種情況下,服務重新實例化,其他服務可以繼續(xù)調(diào)用所述服務。 第五種情況從鈍化狀態(tài)轉(zhuǎn)換為注銷狀態(tài)(Delete),這種情況下,組件管理系統(tǒng)清除服務的對象實例,并從服務中心清除該服務的相關(guān)注冊信息。 需要說明的是,服務中心ll,還用于接收組件注冊請求,以及在根據(jù)組件注冊請求判斷需要注冊組件的相關(guān)服務不存在,且所述需要注冊的組件合法時,注冊組件。
管理中心12,還用于通知服務中心11需要進行服務激活; 服務中心ll,還用于判斷需要激活的服務是否為遠程服務,以及需要激活的服務是遠程服務時,通知遠程調(diào)用生成代理對象實例,并修改所述需要激活的服務的狀態(tài)為激活狀態(tài);或者在需要激活的服務不是遠程服務時,生成本地對象實例,并修改所述需要激活的服務的狀態(tài)為激活狀態(tài)。 管理中心12,還用于判斷是否有服務引用需要鈍化的服務,以及在有服務引用需
要鈍化的服務時進一步判斷引用此需要鈍化的服務的服務是否為激活狀態(tài),并在沒有服務
引用需要鈍化的服務,或者有服務引用需要鈍化的服務且引用此需要鈍化的服務的服務不
是激活狀態(tài)時,通知服務中心11修改所述需要鈍化的服務的狀態(tài)為鈍化。 管理中心12,還用于判斷需要注銷的服務是否為激活狀態(tài),以及在有服務引用所
述需要注銷的服務時進一步判斷引用所述需要注銷的服務的服務是否為激活狀態(tài),并在所
述需要注銷的服務不為激活狀態(tài),或者引用所述需要注銷的服務的服務不為激活狀態(tài)時,
通知服務中心11刪除所述需要注銷的服務的相關(guān)實例。 另外,服務調(diào)用端一般包括 服務接收單元,用于統(tǒng)一接收來自服務端的服務調(diào)用; 服務解析單元,用于對接收到的數(shù)據(jù),進行統(tǒng)一的解析。屏蔽業(yè)務直接調(diào)用服務端服務。 服務代理單元,在分布式調(diào)用時,遠程服務會在本地生成一個服務代理的對象實例。服務代理負責生成本地服務所引用服務的Proxy對象。
服務監(jiān)控單元,用于監(jiān)控本地服務調(diào)用情況。 圖3為本發(fā)明組件管理方法流程示意圖,如圖3所示,本發(fā)明組件管理方法一般包括 步驟31 :服務中心對組件進行注冊,并在組件注冊成功后,通知管理中心。 圖4為本發(fā)明一種組件注冊流程示意圖,如圖4所示,本發(fā)明組件注冊一般包括以
下步驟
步驟311 :服務中心接收組件注冊請求。 組件注冊請求一般由組件提供端發(fā)起,所述組件注冊請求攜帶組件描述文件。
步驟312 :服務中心根據(jù)組件注冊請求判斷該組件相關(guān)的服務是否已經(jīng)存在,如果存在,則不能注冊,流程結(jié)束;如果不存在,執(zhí)行步驟313。 服務中心根據(jù)組件注冊請求攜帶的組件描述文件判斷該組件相關(guān)的服務是否已經(jīng)存在。 步驟313 :服務中心判斷該組件是否合法,如果是,執(zhí)行步驟314 ;否則,不能注冊,
流程結(jié)束。 判斷組件是否合法一般指根據(jù)組件注冊請求攜帶的組件描述文件判斷需要注冊
的組件的格式是否正確以及內(nèi)容是否完整。 步驟314 :服務中心注冊組件。 服務中心注冊組件包括服務中心根據(jù)組件服務清單形成服務列表供服務查詢和調(diào)用,以及加載組件實體包。
步驟315 :組件注冊成功,服務中心記錄與所述組件相關(guān)的服務的狀態(tài)。
步驟32 :管理中心激活組件服務,并通知發(fā)布中心。 圖5為本發(fā)明一種服務激活流程示意圖,如圖5所示,本發(fā)明服務激活流程一般包括以下步驟 步驟321 :管理中心通知服務中心需要進行服務激活。 需要進行服務激活的情況有多種,例如,當服務應用端需要調(diào)用的服務未激活時、系統(tǒng)管理員人為發(fā)起激活指令時等,具體可以根據(jù)實際需要進行設置。 步驟322 :服務中心判斷需要激活的服務是否是遠程服務,如果是遠程服務,執(zhí)行步驟323 ;如果不是遠程服務,執(zhí)行步驟324。 步驟323 :服務中心針對遠程調(diào)用,通知遠程調(diào)用生成代理對象實例,轉(zhuǎn)到步驟325。 步驟324 :服務中心生成本地對象實例。 步驟325 :服務中心修改所述需要激活的服務的狀態(tài)為激活狀態(tài),服務激活成功。
步驟33 :發(fā)布中心向服務應用端發(fā)布所述已激活的服務。
步驟34 :發(fā)布中心向服務應用端提供其需要調(diào)用的服務。 具體的,發(fā)布中心收到服務應用端的服務調(diào)用請求后,如果服務中心存在服務應
用端需要調(diào)用的服務,則對所述服務進行協(xié)議封裝并發(fā)送給服務應用端。 另外,本發(fā)明還可以實現(xiàn)服務的鈍化及注銷操作,圖6為本發(fā)明一種服務鈍化流
程示意圖,如圖6所示,本發(fā)明服務鈍化流程一般包括以下步驟 步驟601 :需要進行服務鈍化時,管理中心判斷是否有服務引用需要鈍化的服務,如果是,執(zhí)行步驟602 ;否則,轉(zhuǎn)到步驟603。 這里,需要進行服務鈍化的情況有多種,例如服務在設置的一段時長內(nèi)沒有被調(diào)用、系統(tǒng)管理員人為發(fā)起鈍化指令等,具體可以根據(jù)實際需要設置。 管理中心需要通過向服務中心進行查詢,以判斷是否有服務引用此需要鈍化的服務。 步驟602 :管理中心判斷引用此需要鈍化的服務的服務是否是激活狀態(tài),如果是激活狀態(tài),則不能鈍化,流程結(jié)束;如果不是激活狀態(tài),則執(zhí)行步驟603。 這里,管理中心也需要通過向服務中心進行查詢,以判斷引用此需要鈍化的服務
的服務是否是激活狀態(tài)。 步驟603 :管理中心通知服務中心修改所述需要鈍化的服務的狀態(tài)為鈍化,鈍化完畢。 圖7為本發(fā)明一種服務注銷流程示意圖,如圖7所示,本發(fā)明服務注銷流程一般包括以下步驟 步驟701 :需要進行服務注銷時,管理中心判斷需要注銷的服務是否處于激活狀態(tài),如果是,則不能注銷,流程結(jié)束;否則,執(zhí)行步驟702。 這里,需要進行服務注銷的情況有多種,例如服務在設置的一段時長內(nèi)沒有被調(diào)用、系統(tǒng)管理員人為發(fā)起注銷指令等,具體可以根據(jù)實際需要設置。 步驟702 :管理中心判斷是否有服務引用此需要注銷的服務,如果是,執(zhí)行步驟703 ;否則,轉(zhuǎn)到步驟704。 這里,管理中心需要通過向服務中心進行查詢,以判斷是否有服務引用此需要注
銷的服務。 步驟703 :管理中心判斷引用此需要注銷的服務的服務是否是激活狀態(tài),如果是
激活狀態(tài),則不能注銷,流程結(jié)束;如果不是激活狀態(tài),則執(zhí)行步驟704。 這里,管理中心也需要通過向服務中心進行查詢,以判斷引用此需要注銷的服務
的服務是否是激活狀態(tài)。 步驟704:管理中心通知服務中心刪除所述需要注銷的服務的相關(guān)實例,注銷完畢。 以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。
權(quán)利要求
一種組件管理系統(tǒng),其特征在于,該系統(tǒng)包括服務中心、管理中心和發(fā)布中心,其中,所述服務中心,用于對組件進行注冊,以及在組件注冊成功后,通知管理中心;以及存儲相關(guān)服務信息;所述管理中心,用于在收到服務中心注冊成功通知后,激活組件服務,并通知發(fā)布中心服務已激活;以及對服務中心的服務的狀態(tài)進行管理;所述發(fā)布中心,用于根據(jù)管理中心的服務已激活的通知,向服務應用端發(fā)布所述已激活的服務;以及在收到服務應用端的服務調(diào)用請求且服務中心存在服務應用端需要調(diào)用的服務時,對服務進行協(xié)議封裝并發(fā)送給服務應用端。
2. 根據(jù)權(quán)利要求1所述的組件管理系統(tǒng),其特征在于,該系統(tǒng)還包括監(jiān)控中心,用于通 過與服務中心、管理中心及發(fā)布中心交互,對服務的狀態(tài)、調(diào)用及被調(diào)用情況進行監(jiān)控。
3. 根據(jù)權(quán)利要求1或2所述的組件管理系統(tǒng),其特征在于,所述服務中心,還用于接收組件注冊請求,以及在根據(jù)組件注冊請求判斷需要注冊組 件的相關(guān)服務不存在,且所述需要注冊的組件合法時,注冊組件。
4. 根據(jù)權(quán)利要求1或2所述的組件管理系統(tǒng),其特征在于, 所述管理中心,還用于通知服務中心需要進行服務激活;所述服務中心,還用于判斷需要激活的服務是否為遠程服務,以及需要激活的服務是 遠程服務時,通知遠程調(diào)用生成代理對象實例,并修改所述需要激活的服務的狀態(tài)為激活 狀態(tài);或者在需要激活的服務不是遠程服務時,生成本地對象實例,并修改所述需要激活的 服務的狀態(tài)為激活狀態(tài)。
5. 根據(jù)權(quán)利要求1或2所述的組件管理系統(tǒng),其特征在于,所述管理中心,還用于判斷是否有服務引用需要鈍化的服務,以及在有服務引用需要 鈍化的服務時進一步判斷引用此需要鈍化的服務的服務是否為激活狀態(tài),并在沒有服務引 用需要鈍化的服務,或者有服務引用需要鈍化的服務且引用此需要鈍化的服務的服務不是 激活狀態(tài)時,通知服務中心修改所述需要鈍化的服務的狀態(tài)為鈍化。
6. 根據(jù)權(quán)利要求1或2所述的組件管理系統(tǒng),其特征在于,所述管理中心,還用于判斷需要注銷的服務是否為激活狀態(tài),以及在有服務引用所述 需要注銷的服務時進一步判斷引用所述需要注銷的服務的服務是否為激活狀態(tài),并在所述 需要注銷的服務不為激活狀態(tài),或者引用所述需要注銷的服務的服務不為激活狀態(tài)時,通 知服務中心刪除所述需要注銷的服務的相關(guān)實例。
7. —種組件管理方法,其特征在于,該方法包括 服務中心對組件進行注冊,并在組件注冊成功后,通知管理中心; 管理中心激活組件服務,并通知發(fā)布中心; 發(fā)布中心向服務應用端發(fā)布所述已激活的服務;發(fā)布中心收到服務應用端的服務調(diào)用請求且服務中心存在服務應用端需要調(diào)用的服 務時,對服務進行協(xié)議封裝并發(fā)送給服務應用端。
8. 根據(jù)權(quán)利要求7所述的組件管理方法,其特征在于,該方法還包括監(jiān)控中心通過與 服務中心、管理中心及發(fā)布中心交互,對服務的狀態(tài)、調(diào)用及被調(diào)用情況進行監(jiān)控。
9. 根據(jù)權(quán)利要求7或8所述的組件管理方法,其特征在于,所述服務中心對組件進行注冊具體包括服務中心接收組件注冊請求;服務中心根據(jù)組件注冊請求判斷需要注冊組件相關(guān)的服務不存在,且所述需要注冊的 組件合法,則注冊組件。
10. 根據(jù)權(quán)利要求7或8所述的組件管理方法,其特征在于,所述管理中心激活組件服 務具體包括管理中心通知服務中心需要進行服務激活;服務中心判斷需要激活的服務是遠程服 務,則通知遠程調(diào)用生成代理對象實例,并修改所述需要激活的服務的狀態(tài)為激活狀態(tài);服 務中心判斷需要激活的服務不是遠程服務,則生成本地對象實例,并修改所述需要激活的 服務的狀態(tài)為激活狀態(tài)。
11. 根據(jù)權(quán)利要求7或8所述的組件管理方法,其特征在于,該方法還包括對服務進行 鈍化,具體為需要進行服務鈍化時,管理中心判斷沒有服務引用需要鈍化的服務,或者有服務引用 需要鈍化的服務且引用此需要鈍化的服務的服務不是激活狀態(tài),則通知服務中心修改所述 需要鈍化的服務的狀態(tài)為鈍化。
12. 根據(jù)權(quán)利要求7或8所述的組件管理方法,其特征在于,該方法還包括對服務進行 注銷,具體為需要進行服務注銷時,管理中心判斷所述需要注銷的服務不為激活狀態(tài),或者引用所 述需要注銷的服務的服務不為激活狀態(tài),則通知服務中心刪除所述需要注銷的服務的相關(guān) 實例。
全文摘要
本發(fā)明公開一種組件管理系統(tǒng),包括服務中心、管理中心和發(fā)布中心,服務中心對組件進行注冊,以及存儲相關(guān)服務信息;管理中心激活組件服務,以及對服務中心的服務的狀態(tài)進行管理;發(fā)布中心向服務應用端發(fā)布已激活的服務;以及向服務應用端提供其需要調(diào)用的服務。本發(fā)明還相應地公開一種組件管理方法。由于本發(fā)明中由發(fā)布中心負責統(tǒng)一的服務對外機能,可以適應不同的服務應用端訪問請求對服務進行協(xié)議封裝,所以,能夠提高組件應用系統(tǒng)的擴展性;另外,由于本發(fā)明對組件的狀態(tài)進行區(qū)分,注冊及鈍化狀態(tài)下的組件不能被調(diào)用,從而不需要重新啟動應用服務器便可實現(xiàn)對組件的更新,即本發(fā)明能夠方便、快速地更新組件。
文檔編號H04L29/06GK101699814SQ20091018018
公開日2010年4月28日 申請日期2009年11月16日 優(yōu)先權(quán)日2009年11月16日
發(fā)明者蔡求喜 申請人:中興通訊股份有限公司