專利名稱:基于組件的服務狀態(tài)在線檢測方法及系統(tǒng)的制作方法
技術領域:
本發(fā)明屬于計算機領域,涉及一種檢測方法及系統(tǒng),具體的說是一種基于組件的 服務狀態(tài)在線檢測方法及系統(tǒng)。
背景技術:
現(xiàn)有技術中,在大型的服務器機房中,服務器對外提供各種不同的服務,但是缺乏 對這些服務運行狀態(tài)進行實時檢測的有效手段。一般來說,服務的運行狀態(tài)在使用過程中 可以得以探測,或者通過人工維護的方式對服務的運行狀態(tài)進行檢測,這些手段都存在效 率低,實時性不好等缺陷,并且對服務使用者和維護人員的技術要求很高。
發(fā)明內容
本發(fā)明所要解決的技術問題是針對以上現(xiàn)有技術通過人工進行檢測服務狀態(tài)的 管理手段存在的缺陷,提出一種基于組件的服務狀態(tài)在線檢測方法及系統(tǒng),采用組件機制, 可以自動高效實時的提供服務狀態(tài)檢測功能,并支持動態(tài)擴展。本發(fā)明解決以上技術問題的技術方案是基于組件的服務狀態(tài)在線檢測方法,包括以下步驟(1)系統(tǒng)初始化組件管理模塊啟動后,訪問系統(tǒng)數(shù)據(jù)庫,從數(shù)據(jù)庫下載用戶定義 的需要運行的組件信息,以及這些組件的運行配置參數(shù);(2)啟動組件組件管理模塊逐個調用各組件的Createlnstance接口,創(chuàng)建組件 的實例對象,并通過Configure Instance接口設置組件的配置參數(shù),最后調用Stat接口啟 動組件;(3)組件的執(zhí)行組件啟動后,根據(jù)各自的業(yè)務邏輯進行服務狀態(tài)檢測;(4)組件配置變更在系統(tǒng)運行過程中,用戶若要修改組件的運行參數(shù),則通過組 件配置模塊提供的界面查詢所有組件當前的運行參數(shù),并修改這些參數(shù),組件配置模塊把 修改后的運行參數(shù)保存到數(shù)據(jù)庫,并通知組件管理模塊,組件管理模塊接收到配置參數(shù)修 改的消息后,執(zhí)行組件配置變更;(5)組件升級若戶要獲得新版本的組件,則通過組建升級模塊將新版本的組件 注冊到系統(tǒng),其中,組件的配置信息和組件包保存到數(shù)據(jù)庫,用戶通過組建升級模塊將指定 的組件升級到指定的版本,組件升級模塊把升級消息發(fā)送到組件管理模塊,由組件管理模 塊實現(xiàn)組件文件的升級;(6)系統(tǒng)退出組件管理模塊逐個調用各組件的stop接口,在停止所有的組件之 后,銷毀相關的對象,最后恢復系統(tǒng)環(huán)境,完成系統(tǒng)退出?;诮M件的服務狀態(tài)在線檢測方法的系統(tǒng),包括以下模塊組件自動生成模塊根據(jù)系統(tǒng)定義的接口,自動生成組件的框架,包括自動創(chuàng)建與 系統(tǒng)的接口、業(yè)務線程、可執(zhí)行文件和配置文件;組件管理模塊用于完成組件的加載、卸載、和更新配置;
組件升級模塊用于完成組件的注冊、更新和升級;
組件配置模塊調用組件的配置接口,對指定的組件進行運行參數(shù)配置,并把配置 信息記錄到數(shù)據(jù)庫,修改后通知組件管理服務;服務狀態(tài)檢測模塊組件加載后,根據(jù)系統(tǒng)的配置對指定的服務器的服務狀態(tài)進 行檢測,并實時上報檢測結果;統(tǒng)計分析服務模塊根據(jù)數(shù)據(jù)庫中記錄的服務狀態(tài)檢測數(shù)據(jù),為用戶提供各種條 件的統(tǒng)計查詢;組件對外輸出接口 通過這些接口同組件內的對象打交道。作為本發(fā)明進一步限定的技術方案,步驟(3)中,服務狀態(tài)檢測按以下步驟進行① 初始化系統(tǒng)環(huán)境各組件根據(jù)自身的業(yè)務邏輯初始化系統(tǒng)環(huán)境,如果初始化失敗將不再進行以 下服務狀態(tài)檢測流程;②解析配置信息根據(jù)組件管理模塊傳入的配置數(shù)據(jù),解析出自身的運 行參數(shù),如果解析過程失敗,組件將加載缺省的服務狀態(tài)檢測參數(shù)運行;③執(zhí)行服務狀態(tài)檢測 執(zhí)行服務狀態(tài)檢測,組件采用定時循環(huán)的機制執(zhí)行服務狀態(tài)檢測,定時的時長從配置參數(shù)中獲 取,狀態(tài)的檢測方法根據(jù)自身的業(yè)務具體而定,當檢測到服務狀態(tài)異常時,組件記錄異常狀態(tài) 的報警信息,并保存到數(shù)據(jù)庫中;④組件的退出組件的退出由組件管理模塊調用Stop接口觸 發(fā),組件在這個過程中中斷服務狀態(tài)檢測,銷毀系統(tǒng)中相關的對象并還原系統(tǒng)環(huán)境。步驟(4)中,組件管理模塊按以下步驟執(zhí)行組件配置變更①從數(shù)據(jù)庫下載該組 件最新的配置;②停止正在運行的組件,如果停止失敗,將不會執(zhí)行后續(xù)的配置變更的操 作;③調用CreateInstance接口,創(chuàng)建組件的實例;④調用Configurelnstance接口,設置 最新的配置參數(shù);⑤調用Start接口,啟動組件。步驟(5)中,組件管理模塊按以下步驟進行組件文件的升級①比較組件版本, 如果已經(jīng)運行的組件版本與要求升級的組件版本一致,則不執(zhí)行升級操作;②停止正 在運行的組件,如果停止失敗,將不會執(zhí)行后續(xù)的文件替換的操作;③從數(shù)據(jù)庫獲取新 版本的組件包,并替換原文件;④調用Createlnstance接口,創(chuàng)建組件的實例;⑤調用 Configurelnstance接口,設置組件的配置參數(shù);⑥調用Start接口,啟動組件。組件對外輸出接口包括創(chuàng)建組件實例的Create Instance接口、配置組件的 ConfigureInstance接口、啟動組件的Stat接口、停止組件的Stop接口和銷毀組件實例的 DestroyInstance 接 口。本發(fā)明的優(yōu)點是(1)效率高,一個服務狀態(tài)檢測系統(tǒng)可以對多臺服務器上的多 個不同類型的服務進行檢測;(2)實時性好,根據(jù)管理人員的配置,服務狀態(tài)檢測系統(tǒng)可以 全天候不間斷地進行服務狀態(tài)檢測;(3)管理統(tǒng)計方便,服務狀態(tài)檢測系統(tǒng)記錄檢測過程 中發(fā)現(xiàn)的各種狀況,根據(jù)配置,可以及時地給管理人員發(fā)送郵件、短信進行提示,并且可以 對歷史數(shù)據(jù)進行分析和統(tǒng)計;(4)基于件機制,可以快速地構建出滿足不同用戶需求的服 務檢測系統(tǒng);(5)與普通平臺相比,可以根據(jù)用戶的要求,動態(tài)添加、移除相關的組件;(6) 單獨對組件進行升級,不影響系統(tǒng);(7)可以形成支持多種服務狀態(tài)檢測的組件庫,有效地 實現(xiàn)技術復用和積累。
圖1是本發(fā)明的系統(tǒng)連接框圖。
圖2是組件啟動的流程圖。圖3是服務狀態(tài)檢測的流程圖。
具體實施例方式實施例一本實施的基于組件的服務狀態(tài)在線檢測方法的系統(tǒng)支持Windows平臺,后臺使用MySQL數(shù)據(jù)庫,采用C/S模式,組件管理模塊運行在服務端,負責組件運行相關的管理,組件 配置模塊、組件升級模塊、統(tǒng)計分析模塊運行在客戶端,為客戶提用組件注冊、升級、配置、 統(tǒng)計等界面。本系統(tǒng)如圖1所示,的組成部分包括組件自動生成模塊該模塊在系統(tǒng)啟動后,從數(shù)據(jù)庫下載組件配置信息,根據(jù)配置 信息啟動所有需要運行的組件。在系統(tǒng)運行過程中,該模塊根據(jù)用戶的操作來動態(tài)加載或 者停止指定的組件。當接收到組件的配置變化消息時,該模塊從數(shù)據(jù)庫獲取最新的配置,調 用組件的配置變更接口,實現(xiàn)組件運行參數(shù)的修改。當接收到組件升級消息時,該模塊負責 獲取新版本的組件文件,替換原來的組件文件,實現(xiàn)組件的升級。組件升級模塊用戶可以通過該模塊查詢當前系統(tǒng)中已經(jīng)注冊的組件版本,也可 以通過該模塊注冊新的組件。在注冊組件時,該模塊將組件配置信息和組件包保存到數(shù)據(jù) 庫中。如果組件需要升級,用戶通過該模塊對指定的組件進行升級,該模塊通知后臺的組件 管理模塊執(zhí)行組件的升級動作。組件配置模塊該模塊為用戶提供組件的配置界面。通過該模塊提供的界面,用戶 可以查詢當前系統(tǒng)中組件的配置信息,并可修改這些配置。組件的配置信息發(fā)生變化時,該 模塊將最新的配置信息保存到數(shù)據(jù)庫,并通知后臺的組件管理模塊,由組件管理模塊更新 組件的配置。服務狀態(tài)檢測組件服務狀態(tài)檢測組件是各個檢測業(yè)務邏輯的執(zhí)行單元,系統(tǒng)中 包含很多針對不同服務狀態(tài)進行檢測的組件。組件加載后,根據(jù)系統(tǒng)的配置對指定的服務 器的服務狀態(tài)進行檢測,并實時上報檢測結果。在組件的運行過程中,由組件管理模塊動態(tài) 地根據(jù)用戶的配置執(zhí)行組件的啟動、停止、配置變更、升級等操作。統(tǒng)計分析模塊該模塊從數(shù)據(jù)庫中獲取服務狀態(tài)檢測數(shù)據(jù),為用戶提供按時間、目 標服務器、服務類型等條件的統(tǒng)計查詢。組件對外輸出的接口 主要包括CreateInstance 創(chuàng)建組件實例CCom^CreateInstance (const char氺IpszObjectName);其中,參數(shù)dpszObjectName表示要創(chuàng)建的組件名稱。函數(shù)執(zhí)行成功后,返回創(chuàng)建 組件對象的指針,否則返回NULL。Configure Instance 配置組件BOOL ConfigureInstance (const char^lpszConfigure);其中,參數(shù)dpszConfigure是組件的配置信息,組件將根據(jù)該配置的定義進行服 務狀態(tài)的檢測。Stat啟動組件
BOOL StartO ;該函數(shù)啟動組件,開始進行服務狀態(tài)檢測。Stop停止組件該函數(shù)停止組件的檢測。DestroyInstance 銷毀組件實例BOOL DestroyInstance(CCom^pComObj);該接口用于銷毀一個已經(jīng)創(chuàng)建的組件對象。參數(shù)pComObj是調用Createlnstance 時返回的對象指針。基于組件的服務狀態(tài)在線檢測方法,包括以下步驟系統(tǒng)初始化組件管理模塊啟動后,訪問系統(tǒng)數(shù)據(jù)庫,從數(shù)據(jù)庫下載用戶定義的需 要運行的組件信息,以及這些組件的運行配置參數(shù)。啟動組件組件管理模塊逐個調用各組件的Createlnstance接口,創(chuàng)建組件的實 例對象,并通過Configurelnstance接口設置組件的配置參數(shù),最后調用Stat接口啟動組 件開始運行。組件的執(zhí)行組件啟動后,根據(jù)各自的業(yè)務邏輯進行服務的狀態(tài)檢測,執(zhí)行過程如 下①初始化系統(tǒng)環(huán)境各組件根據(jù)自身的業(yè)務邏輯初始化系統(tǒng)環(huán)境,比如加載相關 的動態(tài)庫、創(chuàng)建網(wǎng)絡連接等。如果初始化失敗將不再進行以下的服務狀態(tài)檢測等流程。②解析配置信息根據(jù)組件管理模塊傳入的配置數(shù)據(jù),解析出自身的運行參數(shù),比 如目標服務器的IP地址、服務端口、用戶名、口令等數(shù)據(jù),如果解析過程失敗,組件將加載 缺省的參數(shù)運行。③執(zhí)行服務狀態(tài)檢測組件一般都采用定時循環(huán)的機制執(zhí)行服務狀態(tài)檢測,定時 的時長從配置參數(shù)中獲取,狀態(tài)的檢測方法則根據(jù)自身的業(yè)務具體而定。當檢測到服務狀 態(tài)異常時,組件記錄異常狀態(tài)報警的信息,并保存到數(shù)據(jù)庫中。④組件的退出組件的退出由組件管理模塊調用Stop接口觸發(fā),組件在這個過程 中中斷服務狀態(tài)檢測,銷毀系統(tǒng)中相關的對象并還原系統(tǒng)環(huán)境。組件配置變更在系統(tǒng)運行過程中,用戶可能需要修改組件的運行參數(shù),用戶可以 通過組件配置模塊提供的界面查詢所有組件當前的運行參數(shù),并修改這些參數(shù)。組件配置 模塊把修改后的運行參數(shù)保存到數(shù)據(jù)庫,并通知組件管理模塊。組件管理模塊接收到配置 參數(shù)修改的消息后,執(zhí)行以下的過程①從數(shù)據(jù)庫下載該組件最新的配置。②停止正在運行的組件,如果停止失敗,將不會執(zhí)行后續(xù)的配置變更的操作。③調用Createlnstance接口,創(chuàng)建組件的實例。④調用Configurelnstance接口,設置最新的配置參數(shù)。⑤調用Start接口,啟動組件。組件升級當用戶獲得新版本的組件時,可以通過組建升級模塊將新版本的組件 注冊到系統(tǒng),其中,組件的配置信息和組件包保存到數(shù)據(jù)庫。用戶可以通過組建升級模塊將 指定的組件升級到指定的版本,組件升級模塊把升級消息發(fā)送到組件管理模塊,由組件管 理模塊實現(xiàn)組件文件的升級,升級的過程如下
①比較組件版本,如果已經(jīng)運行的組件版本與要求升級的組件版本一致,則不執(zhí)行升級操作。②停止正在運行的組件,如果停止失敗,將不會執(zhí)行后續(xù)的文件替換的操作。③從數(shù)據(jù)庫獲取新版本的組件包,并替換原文件。④調用CreateInstance接口,創(chuàng)建組件的實例。⑤調用Conf igurelnstance接口,設置組件的配置參數(shù)。⑥調用Start接口,啟動組件。系統(tǒng)退出在系統(tǒng)退出過程中,組件管理模塊逐個調用各組件的Stop接口,在停 止所有的組件之后,銷毀相關的對象,最后恢復系統(tǒng)環(huán)境,完成系統(tǒng)退出操作。本發(fā)明還可以有其它實施方式,凡采用同等替換或等效變換形成的技術方案,均 落在本發(fā)明要求保護的范圍之內。
權利要求
基于組件的服務狀態(tài)在線檢測方法,其特征在于包括以下步驟(1)系統(tǒng)初始化組件管理模塊啟動后,訪問系統(tǒng)數(shù)據(jù)庫,從數(shù)據(jù)庫下載用戶定義的需要運行的組件信息,以及這些組件的運行配置參數(shù);(2)啟動組件組件管理模塊逐個調用各組件的CreateInstance接口,創(chuàng)建組件的實例對象,并通過ConfigureInstance接口設置組件的配置參數(shù),最后調用Stat接口啟動組件;(3)組件的執(zhí)行組件啟動后,根據(jù)各自的業(yè)務邏輯進行服務狀態(tài)檢測;(4)組件配置變更在系統(tǒng)運行過程中,用戶若要修改組件的運行參數(shù),則通過組件配置模塊提供的界面查詢所有組件當前的運行參數(shù),并修改這些參數(shù),組件配置模塊把修改后的運行參數(shù)保存到數(shù)據(jù)庫,并通知組件管理模塊,組件管理模塊接收到配置參數(shù)修改的消息后,執(zhí)行組件配置變更;(5)組件升級若戶要獲得新版本的組件,則通過組建升級模塊將新版本的組件注冊到系統(tǒng),其中,組件的配置信息和組件包保存到數(shù)據(jù)庫,用戶通過組建升級模塊將指定的組件升級到指定的版本,組件升級模塊把升級消息發(fā)送到組件管理模塊,由組件管理模塊實現(xiàn)組件文件的升級;(6)系統(tǒng)退出組件管理模塊逐個調用各組件的Stop接口,在停止所有的組件之后,銷毀相關的對象,最后恢復系統(tǒng)環(huán)境,完成系統(tǒng)退出。
2.如權利要求1所述的基于組件的服務狀態(tài)在線檢測方法,其特征在于所述步驟(3) 中,服務狀態(tài)檢測按以下步驟進行①初始化系統(tǒng)環(huán)境各組件根據(jù)自身的業(yè)務邏輯初始化系統(tǒng)環(huán)境,如果初始化失敗將 不再進行以下服務狀態(tài)檢測流程;②解析配置信息根據(jù)組件管理模塊傳入的配置數(shù)據(jù),解析出自身的運行參數(shù),如果解 析過程失敗,組件將加載缺省的服務狀態(tài)檢測參數(shù)運行;③執(zhí)行服務狀態(tài)檢測執(zhí)行服務狀態(tài)檢測,組件采用定時循環(huán)的機制執(zhí)行服務狀態(tài)檢 測,定時的時長從配置參數(shù)中獲取,狀態(tài)的檢測方法根據(jù)自身的業(yè)務具體而定,當檢測到服 務狀態(tài)異常時,組件記錄異常狀態(tài)的報警信息,并保存到數(shù)據(jù)庫中;④組件的退出組件的退出由組件管理模塊調用Stop接口觸發(fā),組件在這個過程中中 斷服務狀態(tài)檢測,銷毀系統(tǒng)中相關的對象并還原系統(tǒng)環(huán)境。
3.如權利要求1所述的基于組件的服務狀態(tài)在線檢測方法,其特征在于所述步驟(4) 中,組件管理模塊按以下步驟執(zhí)行組件配置變更①從數(shù)據(jù)庫下載該組件最新的配置;②停止正在運行的組件,如果停止失敗,將不會執(zhí)行后續(xù)的配置變更的操作;③調用Createlnstance接口,創(chuàng)建組件的實例;④調用Configurelnstance接口,設置最新的配置參數(shù);⑤調用Start接口,啟動組件。
4.如權利要求1所述的基于組件的服務狀態(tài)在線檢測方法,其特征在于所述步驟(5) 中,組件管理模塊按以下步驟進行組件文件的升級①比較組件版本,如果已經(jīng)運行的組件版本與要求升級的組件版本一致,則不執(zhí)行升 級操作;②停止正在運行的組件,如果停止失敗,將不會執(zhí)行后續(xù)的文件替換的操作;③從數(shù)據(jù)庫獲取新版本的組件包,并替換原文件;④調用CreateInstance接口,創(chuàng)建組件的實例;⑤調用Configurelnstance接口,設置組件的配置參數(shù);⑥調用Start接口,啟動組件。
5.用于權利要求1所述基于組件的服務狀態(tài)在線檢測方法的系統(tǒng),其特征在于包括 以下模塊組件自動生成模塊根據(jù)系統(tǒng)定義的接口,自動生成組件的框架,包括自動創(chuàng)建與系統(tǒng) 的接口、業(yè)務線程、可執(zhí)行文件和配置文件;組件管理模塊用于完成組件的加載、卸載、和更新配置;組件升級模塊用于完成組件的注冊、更新和升級;組件配置模塊調用組件的配置接口,對指定的組件進行運行參數(shù)配置,并把配置信息 記錄到數(shù)據(jù)庫,修改后通知組件管理服務;服務狀態(tài)檢測模塊組件加載后,根據(jù)系統(tǒng)的配置對指定的服務器的服務狀態(tài)進行檢 測,并實時上報檢測結果;統(tǒng)計分析服務模塊根據(jù)數(shù)據(jù)庫中記錄的服務狀態(tài)檢測數(shù)據(jù),為用戶提供各種條件的 統(tǒng)計查詢;組件對外輸出接口 通過這些接口同組件內的對象打交道。
6.如權利要求5所述的基于組件的服務狀態(tài)在線檢測方法的系統(tǒng),其特征在 于所述組件對外輸出接口包括創(chuàng)建組件實例的Create Instance接口、配置組件的 Configurelnstance接口、啟動組件的Stat接口、停止組件的Stop接口和銷毀組件實例的 DestroyInstance 接 口。
全文摘要
本發(fā)明屬于計算機領域,是一種基于組件的服務狀態(tài)在線檢測方法及系統(tǒng),系統(tǒng)包括組件自動生成模塊、組件管理模塊、組件升級模塊、組件配置模塊、服務狀態(tài)檢測模塊、統(tǒng)計分析服務模塊、組件對外輸出接口;檢測方法包括以下步驟系統(tǒng)初始化、啟動組件、組件的執(zhí)行、組件配置變更、組件升級和系統(tǒng)退出。本發(fā)明采用組件機制,可以自動高效實時的提供服務狀態(tài)檢測功能,并支持動態(tài)擴展,可單獨對組件進行升級,不影響系統(tǒng),可以形成支持多種服務狀態(tài)檢測的組件庫,有效地實現(xiàn)技術復用和積累。
文檔編號G06F11/30GK101840370SQ201010160369
公開日2010年9月22日 申請日期2010年4月30日 優(yōu)先權日2010年4月30日
發(fā)明者張湘 申請人:南京德訊信息系統(tǒng)有限公司