本發(fā)明涉及移動(dòng)網(wǎng)絡(luò)領(lǐng)域,尤其涉及一種服務(wù)動(dòng)態(tài)管理的方法及裝置。
背景技術(shù):
目前,操作維護(hù)中心(Operation Maintenance Center,OMC)系統(tǒng)僅能通過北向代理服務(wù)器將網(wǎng)絡(luò)中的各類數(shù)據(jù),如性能計(jì)數(shù)器、網(wǎng)元配置數(shù)據(jù)等,在根據(jù)一定的規(guī)則計(jì)算、匯總后上報(bào)上級(jí)網(wǎng)管,用于網(wǎng)絡(luò)的監(jiān)控、優(yōu)化及管理。其中,北向代理服務(wù)器是OMC系統(tǒng)中負(fù)責(zé)采集網(wǎng)絡(luò)數(shù)據(jù)并上報(bào)上級(jí)網(wǎng)管的軟件服務(wù)。
但是,北向代理服務(wù)器是使用java語言編寫的一種統(tǒng)一的實(shí)現(xiàn),無法靈活添加或卸載組件(服務(wù)),也不能對(duì)運(yùn)行中的服務(wù)器進(jìn)行動(dòng)態(tài)的控制及管理,因此,北向代理服務(wù)器將從OMC的數(shù)據(jù)庫查詢的數(shù)據(jù),經(jīng)過計(jì)算、匯總,按照規(guī)范格式生成固定類型的文件,通過FTP服務(wù)器上報(bào)給上級(jí)網(wǎng)管,這樣,文件的上報(bào)周期也是固定的,所有的上報(bào)數(shù)據(jù)、文件類型、文件個(gè)數(shù)及上報(bào)周期都是嚴(yán)格按照北向規(guī)范執(zhí)行,無法擴(kuò)充和更改,也就是說,只要服務(wù)器安裝啟動(dòng),所有的報(bào)表內(nèi)容、上報(bào)周期都是配置好的,無法人為干預(yù)和動(dòng)態(tài)調(diào)整。
現(xiàn)有技術(shù)中,北向代理服務(wù)器的實(shí)現(xiàn)包括:任務(wù)調(diào)度模塊、性能管理模塊、配置管理模塊、數(shù)據(jù)采集模塊和文件處理模塊,OMC系統(tǒng)通過北向代理服務(wù)器的實(shí)現(xiàn)方法如下:
首先,任務(wù)調(diào)度模塊創(chuàng)建周期性數(shù)據(jù)采集、上報(bào)任務(wù),定時(shí)任務(wù)觸發(fā)后,配置管理模塊和性能管理模塊從線程池中申請(qǐng)一定數(shù)量的線程,向數(shù)據(jù)采集模塊下發(fā)同步采集任務(wù);
然后,數(shù)據(jù)采集模塊將從OMC的數(shù)據(jù)庫中查詢的配置、性能數(shù)據(jù)返回給對(duì)應(yīng)的配置管理模塊和性能管理模塊;
最后,配置管理模塊和性能管理模塊通知文件處理模塊生成對(duì)應(yīng)報(bào)表文件并上報(bào)上級(jí)網(wǎng)管。
由此可見,現(xiàn)有技術(shù)下,所有功能作為一個(gè)整體發(fā)布,不可人為干預(yù)及調(diào)整,這樣,當(dāng)出現(xiàn)個(gè)性化需求時(shí),如增加新的性能指標(biāo),或只上報(bào)部分預(yù)定義性能指標(biāo),就沒有辦法在線調(diào)整,只能通過升級(jí)專項(xiàng)版本解決,無法滿足客戶的不同需求。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種服務(wù)動(dòng)態(tài)管理的方法及裝置,以解決現(xiàn)有技術(shù)中不能進(jìn)行動(dòng)態(tài)管理、無法滿足用戶個(gè)性化需求的問題。
本發(fā)明實(shí)施例提供的具體技術(shù)方案如下:
一種服務(wù)動(dòng)態(tài)管理的方法,包括:
從數(shù)據(jù)庫中獲取報(bào)表服務(wù)配置信息,并通過查詢接口呈現(xiàn)給用戶;其中,上述報(bào)表服務(wù)配置信息中至少包括報(bào)表服務(wù)名稱、報(bào)表服務(wù)的描述信息、報(bào)表服務(wù)類型及報(bào)表服務(wù)的執(zhí)行狀態(tài);
通過管理接口獲取用戶選擇的報(bào)表服務(wù)名稱,并根據(jù)上述用戶選擇的報(bào)表服務(wù)名稱、所選擇的報(bào)表服務(wù)的類型及所選擇的報(bào)表服務(wù)的執(zhí)行狀態(tài),創(chuàng)建相應(yīng)的報(bào)表服務(wù)對(duì)象;
通過調(diào)度接口接收用戶預(yù)設(shè)的調(diào)度參數(shù),并根據(jù)上述調(diào)度參數(shù),對(duì)上述創(chuàng)建的服務(wù)對(duì)象進(jìn)行調(diào)度,生成相應(yīng)的報(bào)表;其中,上述調(diào)度參數(shù),至少包括執(zhí)行調(diào)度任務(wù)的起止時(shí)間和執(zhí)行周期。
本發(fā)明實(shí)施例中,從數(shù)據(jù)庫中獲取報(bào)表服務(wù)配置信息,并通過查詢接口呈現(xiàn)給用戶;其中,上述報(bào)表服務(wù)配置信息中至少包括報(bào)表服務(wù)名稱、報(bào)表服務(wù)的描述信息、報(bào)表服務(wù)類型及報(bào)表服務(wù)的執(zhí)行狀態(tài);通過管理接口獲取用戶選擇的報(bào)表服務(wù)名稱,并根據(jù)上述用戶選擇的報(bào)表服務(wù)名稱、所選擇的報(bào)表服務(wù)的類型及所選擇的報(bào)表服務(wù)的執(zhí)行狀態(tài),創(chuàng)建相應(yīng)的報(bào)表服務(wù)對(duì)象;通過調(diào)度接口接收用戶預(yù)設(shè)的調(diào)度參數(shù),并根據(jù)上述調(diào)度參數(shù),對(duì)上述創(chuàng)建的服務(wù)對(duì)象 進(jìn)行調(diào)度,生成相應(yīng)的報(bào)表;其中,上述調(diào)度參數(shù),至少包括執(zhí)行調(diào)度任務(wù)的起止時(shí)間和執(zhí)行周期,這樣,通過不同的接口,可以遠(yuǎn)程管理報(bào)表服務(wù),使得系統(tǒng)可以動(dòng)態(tài)調(diào)整其功能,從而滿足用戶的個(gè)性化需求。
較佳的,從數(shù)據(jù)庫中獲取報(bào)表服務(wù)配置信息之前,進(jìn)一步包括:
通過數(shù)據(jù)庫終端,向數(shù)據(jù)庫中導(dǎo)入報(bào)表腳本和報(bào)表服務(wù)配置信息。
這樣,通過數(shù)據(jù)庫的存儲(chǔ)過程來代替java代碼,更加實(shí)現(xiàn)對(duì)報(bào)表服務(wù)的靈活管理。
較佳的,根據(jù)上述用戶選擇的報(bào)表服務(wù)名稱、所選擇的報(bào)表服務(wù)的類型及上述報(bào)表服務(wù)的執(zhí)行狀態(tài),創(chuàng)建相應(yīng)的報(bào)表服務(wù)對(duì)象,具體包括:
確定用戶選擇的報(bào)表服務(wù)名稱所對(duì)應(yīng)的報(bào)表服務(wù)的任務(wù)要求;
確定用戶選擇的報(bào)表服務(wù)名稱所對(duì)應(yīng)的報(bào)表服務(wù)的執(zhí)行狀態(tài);
在確定上述對(duì)應(yīng)的報(bào)表服務(wù)的任務(wù)要求為注冊(cè)時(shí),則判斷上述對(duì)應(yīng)的報(bào)表服務(wù)的執(zhí)行狀態(tài),如果對(duì)應(yīng)的報(bào)表服務(wù)的執(zhí)行狀態(tài)為激活狀態(tài),則將已有的對(duì)應(yīng)的報(bào)表服務(wù)對(duì)象,作為創(chuàng)建的報(bào)表服務(wù)對(duì)象,如果對(duì)應(yīng)的報(bào)表服務(wù)的任務(wù)狀態(tài)為停止?fàn)顟B(tài),則根據(jù)所選擇的報(bào)表服務(wù)的類型,創(chuàng)建相應(yīng)的報(bào)表服務(wù)對(duì)象。
較佳的,在創(chuàng)建相應(yīng)的報(bào)表服務(wù)對(duì)象之后,接收調(diào)度參數(shù)之前,進(jìn)一步包括:
根據(jù)上述獲取的用戶選擇的服務(wù)名稱,更新數(shù)據(jù)庫中相應(yīng)的報(bào)表服務(wù)的執(zhí)行狀態(tài),并在更新結(jié)束后,刪除已有的報(bào)表服務(wù)的執(zhí)行狀態(tài)為停止?fàn)顟B(tài)所對(duì)應(yīng)的報(bào)表服務(wù)對(duì)象。
較佳的,更新數(shù)據(jù)庫中相應(yīng)的報(bào)表服務(wù)的執(zhí)行狀態(tài),具體包括:
將上述用戶選擇的任務(wù)要求為注冊(cè)的報(bào)表服務(wù)名稱對(duì)應(yīng)的報(bào)表服務(wù)的執(zhí)行狀態(tài),更新為激活狀態(tài),以及將用戶未選擇或用戶選擇的任務(wù)要求為注銷的報(bào)表服務(wù)名稱的執(zhí)行狀態(tài),更新為停止?fàn)顟B(tài)。
較佳的,通過管理接口獲取用戶選擇的報(bào)表服務(wù)名稱之后,在創(chuàng)建相應(yīng)的報(bào)表服務(wù)對(duì)象之前,進(jìn)一步包括:
根據(jù)上述所選擇的報(bào)表服務(wù)的類型,從報(bào)表工具模板集中獲取相應(yīng)的用于創(chuàng)建相應(yīng)的報(bào)表服務(wù)對(duì)象的報(bào)表工具。
一種服務(wù)動(dòng)態(tài)管理的裝置,包括:
服務(wù)目錄查詢單元,用于從數(shù)據(jù)庫中獲取報(bào)表服務(wù)配置信息,并通過查詢接口呈現(xiàn)給用戶;其中,上述報(bào)表服務(wù)配置信息中至少包括報(bào)表服務(wù)名稱、報(bào)表服務(wù)的描述信息、報(bào)表服務(wù)類型及報(bào)表服務(wù)的執(zhí)行狀態(tài);
報(bào)表服務(wù)管理單元,用于通過管理接口獲取用戶選擇的報(bào)表服務(wù)名稱,并根據(jù)上述用戶選擇的報(bào)表服務(wù)名稱、所選擇的報(bào)表服務(wù)的類型及所選擇的報(bào)表服務(wù)的執(zhí)行狀態(tài),創(chuàng)建相應(yīng)的報(bào)表服務(wù)對(duì)象;
任務(wù)調(diào)度設(shè)置單元,用于通過調(diào)度接口接收用戶預(yù)設(shè)的調(diào)度參數(shù),并根據(jù)上述調(diào)度參數(shù),對(duì)上述創(chuàng)建的服務(wù)對(duì)象進(jìn)行調(diào)度,生成相應(yīng)的報(bào)表;其中,上述調(diào)度參數(shù),至少包括執(zhí)行調(diào)度任務(wù)的起止時(shí)間和執(zhí)行周期。
本發(fā)明實(shí)施例中,從數(shù)據(jù)庫中獲取報(bào)表服務(wù)配置信息,并通過查詢接口呈現(xiàn)給用戶;其中,上述報(bào)表服務(wù)配置信息中至少包括報(bào)表服務(wù)名稱、報(bào)表服務(wù)的描述信息、報(bào)表服務(wù)類型及報(bào)表服務(wù)的執(zhí)行狀態(tài);通過管理接口獲取用戶選擇的報(bào)表服務(wù)名稱,并根據(jù)上述用戶選擇的報(bào)表服務(wù)名稱、所選擇的報(bào)表服務(wù)的類型及所選擇的報(bào)表服務(wù)的執(zhí)行狀態(tài),創(chuàng)建相應(yīng)的報(bào)表服務(wù)對(duì)象;通過調(diào)度接口接收用戶預(yù)設(shè)的調(diào)度參數(shù),并根據(jù)上述調(diào)度參數(shù),對(duì)上述創(chuàng)建的服務(wù)對(duì)象進(jìn)行調(diào)度,生成相應(yīng)的報(bào)表;其中,上述調(diào)度參數(shù),至少包括執(zhí)行調(diào)度任務(wù)的起止時(shí)間和執(zhí)行周期,這樣,通過不同的接口,可以遠(yuǎn)程管理報(bào)表服務(wù),使得系統(tǒng)可以動(dòng)態(tài)調(diào)整其功能,從而滿足用戶的個(gè)性化需求。
較佳的,從數(shù)據(jù)庫中獲取報(bào)表服務(wù)配置信息之前,進(jìn)一步包括:
獲取單元,用于通過數(shù)據(jù)庫終端,向數(shù)據(jù)庫中導(dǎo)入報(bào)表腳本和報(bào)表服務(wù)配置信息。
較佳的,根據(jù)上述用戶選擇的報(bào)表服務(wù)名稱、所選擇的報(bào)表服務(wù)的類型及上述報(bào)表服務(wù)的執(zhí)行狀態(tài),創(chuàng)建相應(yīng)的報(bào)表服務(wù)對(duì)象時(shí),報(bào)表服務(wù)管理單元具 體用于:
確定用戶選擇的報(bào)表服務(wù)名稱所對(duì)應(yīng)的報(bào)表服務(wù)的任務(wù)要求;
確定用戶選擇的報(bào)表服務(wù)名稱所對(duì)應(yīng)的報(bào)表服務(wù)的執(zhí)行狀態(tài);
在確定上述對(duì)應(yīng)的報(bào)表服務(wù)的任務(wù)要求為注冊(cè)時(shí),則判斷上述對(duì)應(yīng)的報(bào)表服務(wù)的執(zhí)行狀態(tài),如果對(duì)應(yīng)的報(bào)表服務(wù)的執(zhí)行狀態(tài)為激活狀態(tài),則將已有的對(duì)應(yīng)的報(bào)表服務(wù)對(duì)象,作為創(chuàng)建的報(bào)表服務(wù)對(duì)象,如果對(duì)應(yīng)的報(bào)表服務(wù)的任務(wù)狀態(tài)為停止?fàn)顟B(tài),則根據(jù)所選擇的報(bào)表服務(wù)的類型,創(chuàng)建相應(yīng)的報(bào)表服務(wù)對(duì)象。
較佳的,在創(chuàng)建相應(yīng)的報(bào)表服務(wù)對(duì)象之后,接收調(diào)度參數(shù)之前,報(bào)表服務(wù)管理單元進(jìn)一步用于:
根據(jù)上述獲取的用戶選擇的服務(wù)名稱,更新數(shù)據(jù)庫中相應(yīng)的報(bào)表服務(wù)的執(zhí)行狀態(tài),并在更新結(jié)束后,刪除已有的報(bào)表服務(wù)的執(zhí)行狀態(tài)為停止?fàn)顟B(tài)所對(duì)應(yīng)的報(bào)表服務(wù)對(duì)象。
較佳的,更新數(shù)據(jù)庫中相應(yīng)的報(bào)表服務(wù)的執(zhí)行狀態(tài)時(shí),報(bào)表服務(wù)管理單元具體用于:
將上述用戶選擇的任務(wù)要求為注冊(cè)的報(bào)表服務(wù)名稱對(duì)應(yīng)的報(bào)表服務(wù)的執(zhí)行狀態(tài),更新為激活狀態(tài),以及將用戶未選擇或用戶選擇的任務(wù)要求為注銷的報(bào)表服務(wù)名稱的執(zhí)行狀態(tài),更新為停止?fàn)顟B(tài)。
較佳的,通過管理接口獲取用戶選擇的報(bào)表服務(wù)名稱之后,在創(chuàng)建相應(yīng)的報(bào)表服務(wù)對(duì)象之前,報(bào)表服務(wù)管理單元進(jìn)一步用于:
根據(jù)上述所選擇的報(bào)表服務(wù)的類型,從報(bào)表工具模板集中獲取相應(yīng)的用于創(chuàng)建相應(yīng)的報(bào)表服務(wù)對(duì)象的報(bào)表工具。
附圖說明
圖1為本發(fā)明實(shí)施例中服務(wù)管理控制器的原理示意圖;
圖2為本發(fā)明實(shí)施例中服務(wù)動(dòng)態(tài)管理方法的流程示意圖;
圖3為本發(fā)明實(shí)施例中服務(wù)動(dòng)態(tài)管理裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,并不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
為了滿足用戶的個(gè)性化需要,實(shí)現(xiàn)動(dòng)態(tài)管理,本發(fā)明實(shí)施例中,將查詢接口、管理接口、調(diào)度接口注冊(cè)到管理構(gòu)建服務(wù)器(Managed Bean Server,MBeanServer)中,提供對(duì)外的管理構(gòu)件(MBean)接口,用于遠(yuǎn)程管理;通過查詢接口,將從數(shù)據(jù)庫中獲取的服務(wù)配置信息呈現(xiàn)給用戶;通過管理接口,獲取用戶選擇的報(bào)表服務(wù)名稱,并創(chuàng)建相應(yīng)的報(bào)表服務(wù)對(duì)象;最后,通過調(diào)度接口,接收調(diào)度參數(shù),對(duì)創(chuàng)建的報(bào)表服務(wù)對(duì)象進(jìn)行調(diào)度,生成相應(yīng)的報(bào)表。
下面通過具體實(shí)施例對(duì)本發(fā)明方案進(jìn)行詳細(xì)描述,當(dāng)然,本發(fā)明并不限于以下實(shí)施例。
本發(fā)明實(shí)施例中,根據(jù)實(shí)現(xiàn)的功能,劃分了不同的模塊,這些模塊可以封裝為一個(gè)服務(wù)管理控制器模塊,用于實(shí)現(xiàn)服務(wù)管理,下面先簡(jiǎn)單介紹一下該服務(wù)管理控制器。
參閱圖1所示,本發(fā)明實(shí)施例中,服務(wù)管理控制器模塊的原理圖。
服務(wù)管理控制器模塊,包括管理裝置、服務(wù)目錄查詢、報(bào)表服務(wù)管理、任務(wù)調(diào)度設(shè)置和報(bào)表工具模板集五個(gè)模塊。
管理裝置,在實(shí)際使用時(shí),實(shí)例化管理裝置為MBeanServer,對(duì)外提供了用于遠(yuǎn)程管理的MBean接口,它是服務(wù)控制管理器模塊“可調(diào)控、可管理”的具體體現(xiàn),與JAVA管理擴(kuò)展(Java Management Extension,JMX)管理控制臺(tái)(類似于終端)建立遠(yuǎn)程連接,并包含了三個(gè)接口,分別為查詢接口、管理接口和調(diào)度接口,這樣,JMX管理控制臺(tái)就可以通過MBean接口調(diào)用這三個(gè)接口實(shí)現(xiàn)對(duì)相應(yīng)模塊的遠(yuǎn)程管理。
服務(wù)目錄查詢模塊,對(duì)應(yīng)于查詢接口,用于從數(shù)據(jù)庫中獲取服務(wù)配置信 息,且將獲取的服務(wù)配置信息通過查詢接口返回給JMX管理控制臺(tái)。
報(bào)表服務(wù)管理模塊,對(duì)應(yīng)于管理接口,負(fù)責(zé)創(chuàng)建、銷毀報(bào)表服務(wù)對(duì)象,根據(jù)管理裝置下發(fā)的服務(wù)配置信息,從報(bào)表工具模板集模塊中申請(qǐng)適用于該服務(wù)的工具對(duì)象,創(chuàng)建對(duì)應(yīng)的報(bào)表服務(wù)對(duì)象,同時(shí)通過數(shù)據(jù)訪問對(duì)象(Data Access Objects,DAO)層將報(bào)表服務(wù)對(duì)象及狀態(tài)更新到數(shù)據(jù)庫中,報(bào)表服務(wù)管理模塊是報(bào)表服務(wù)的主要控制者。
報(bào)表工具模板集模塊,用于生產(chǎn)各種類型的報(bào)表工具,為報(bào)表服務(wù)管理模塊提供組件。
任務(wù)調(diào)度設(shè)置模塊,對(duì)應(yīng)于調(diào)度接口,用于從報(bào)表服務(wù)管理模塊中獲取報(bào)表服務(wù)對(duì)象,對(duì)其進(jìn)行進(jìn)一步的組裝后,創(chuàng)建調(diào)度任務(wù)并注冊(cè)到任務(wù)調(diào)度器中,當(dāng)開始執(zhí)行調(diào)度任務(wù)時(shí),就會(huì)通知業(yè)務(wù)處理層執(zhí)行相關(guān)業(yè)務(wù),生成報(bào)表;且用于調(diào)用任務(wù)調(diào)度器的接口,修改或注銷調(diào)度任務(wù),它是報(bào)表任務(wù)啟動(dòng)、停止的執(zhí)行者,是唯一與業(yè)務(wù)處理層交換的模塊。
其中,DAO層提供了上述模塊與數(shù)據(jù)庫交互的抽象接口,用于實(shí)現(xiàn)報(bào)表服務(wù)的持久化功能。
基于以上實(shí)施例,參閱圖2所示,本發(fā)明實(shí)施例中,服務(wù)動(dòng)態(tài)管理方法的具體流程如下:
實(shí)際中,查詢接口、管理接口和調(diào)度接口都注冊(cè)在MBeanServer中,MBeanServer與JMX管理控制臺(tái)建立遠(yuǎn)程連接。
步驟200:從數(shù)據(jù)庫中獲取報(bào)表服務(wù)配置信息,并通過查詢接口呈現(xiàn)給用戶;其中,上述報(bào)表服務(wù)配置信息中至少包括報(bào)表服務(wù)名稱、報(bào)表服務(wù)的描述信息、報(bào)表服務(wù)類型及報(bào)表服務(wù)的執(zhí)行狀態(tài)。
數(shù)據(jù)庫操作終端會(huì)不斷地將所有的報(bào)表服務(wù)使用的數(shù)據(jù)庫報(bào)表腳本和服務(wù)配置信息導(dǎo)入數(shù)據(jù)庫中,當(dāng)用戶需要調(diào)整報(bào)表服務(wù)時(shí),就需要得知當(dāng)前所能提供的所有報(bào)表服務(wù)。
首先,調(diào)用查詢接口對(duì)應(yīng)的服務(wù)目錄查詢模塊,則服務(wù)目錄查詢模塊從數(shù) 據(jù)庫中獲取報(bào)表服務(wù)配置信息,并返回結(jié)果,JMX管理控制臺(tái)就會(huì)向用戶展示其返回結(jié)果。
然后,用戶根據(jù)報(bào)表服務(wù)配置信息中的報(bào)表服務(wù)名稱、報(bào)表服務(wù)的描述信息以及報(bào)表服務(wù)的執(zhí)行狀態(tài),選擇報(bào)表服務(wù)名稱,并調(diào)用管理接口下發(fā)給報(bào)表服務(wù)管理模塊。
并且,本發(fā)明實(shí)施例中,使用數(shù)據(jù)庫存儲(chǔ)過程代替java代碼來實(shí)現(xiàn)統(tǒng)計(jì)分析業(yè)務(wù)的功能,這樣可以更加方便實(shí)現(xiàn)對(duì)報(bào)表服務(wù)的動(dòng)態(tài)管理。
步驟210:通過管理接口獲取用戶選擇的報(bào)表服務(wù)名稱,并根據(jù)上述用戶選擇的報(bào)表服務(wù)名稱、所選擇的報(bào)表服務(wù)的類型及所選擇的報(bào)表服務(wù)的執(zhí)行狀態(tài),創(chuàng)建相應(yīng)的報(bào)表服務(wù)對(duì)象。
執(zhí)行步驟210時(shí),具體包括:
首先,報(bào)表服務(wù)管理模塊通過管理接口獲取用戶選擇的報(bào)表服務(wù)名稱。
然后,確定用戶選擇的報(bào)表服務(wù)名稱所對(duì)應(yīng)的報(bào)表服務(wù)的任務(wù)要求以及執(zhí)行狀態(tài);
然后,如果任務(wù)要求為注冊(cè),則判斷上述對(duì)應(yīng)的報(bào)表服務(wù)的執(zhí)行狀態(tài),如果對(duì)應(yīng)的報(bào)表服務(wù)的執(zhí)行狀態(tài)為激活狀態(tài),則將已有的對(duì)應(yīng)的報(bào)表服務(wù)對(duì)象,作為創(chuàng)建的報(bào)表服務(wù)對(duì)象,如果對(duì)應(yīng)的報(bào)表服務(wù)的任務(wù)狀態(tài)為停止?fàn)顟B(tài),則根據(jù)所選擇的報(bào)表服務(wù)的類型,創(chuàng)建相應(yīng)的報(bào)表服務(wù)對(duì)象;
如果任務(wù)要求為注銷,則判斷上述對(duì)應(yīng)的報(bào)表服務(wù)的執(zhí)行狀態(tài),如果對(duì)應(yīng)的報(bào)表服務(wù)的執(zhí)行狀態(tài)為激活狀態(tài),則停止已有的對(duì)應(yīng)的報(bào)表服務(wù)對(duì)象,如果對(duì)應(yīng)的報(bào)表服務(wù)的執(zhí)行狀態(tài)為停止?fàn)顟B(tài),則不處理。
然后,更新數(shù)據(jù)庫中相應(yīng)的報(bào)表服務(wù)的執(zhí)行狀態(tài),具體為:將上述用戶選擇的任務(wù)要求為注冊(cè)的報(bào)表服務(wù)名稱對(duì)應(yīng)的報(bào)表服務(wù)的執(zhí)行狀態(tài),更新為激活狀態(tài),以及將用戶未選擇或用戶選擇的任務(wù)要求為注銷的報(bào)表服務(wù)名稱的執(zhí)行狀態(tài),更新為停止?fàn)顟B(tài)。
最后,刪除已有的報(bào)表服務(wù)的執(zhí)行狀態(tài)為停止?fàn)顟B(tài)所對(duì)應(yīng)的報(bào)表服務(wù)對(duì) 象,也就是說,如果存在已經(jīng)創(chuàng)建的報(bào)表服務(wù)對(duì)象,但并不是用戶現(xiàn)在所需要的,那么就可以刪除該報(bào)表服務(wù)對(duì)象。
其中,如果任務(wù)要求為注冊(cè),在創(chuàng)建報(bào)表服務(wù)對(duì)象時(shí),需先確定對(duì)應(yīng)的報(bào)表服務(wù)的執(zhí)行狀態(tài),在確定對(duì)應(yīng)的報(bào)表服務(wù)的執(zhí)行狀態(tài)為停止?fàn)顟B(tài)時(shí),再創(chuàng)建相應(yīng)的報(bào)表服務(wù)對(duì)象,這是因?yàn)?,如果?duì)應(yīng)的報(bào)表服務(wù)的執(zhí)行狀態(tài)為激活狀態(tài),說明該報(bào)表服務(wù)已經(jīng)在使用,且存在對(duì)應(yīng)的報(bào)表服務(wù)對(duì)象,這時(shí),就不需要再創(chuàng)建相應(yīng)的報(bào)表服務(wù)對(duì)象,可以直接使用已有的報(bào)表服務(wù)對(duì)象。
進(jìn)一步地,在創(chuàng)建相應(yīng)的報(bào)表服務(wù)對(duì)象之前,報(bào)表服務(wù)管理模塊會(huì)根據(jù)相應(yīng)的報(bào)表服務(wù)類型,從報(bào)表工具模板集中獲取與其相匹配的報(bào)表工具對(duì)象,如沒有匹配成功,則使用一種默認(rèn)通用的報(bào)表工具對(duì)象。
其中,報(bào)表工具對(duì)象是用來創(chuàng)建相應(yīng)的報(bào)表服務(wù)對(duì)象的,報(bào)表服務(wù)對(duì)象將報(bào)表工具對(duì)象和數(shù)據(jù)庫腳本名稱進(jìn)行關(guān)聯(lián),在后續(xù)步驟220中,對(duì)報(bào)表服務(wù)對(duì)象進(jìn)行調(diào)度時(shí),報(bào)表服務(wù)對(duì)象就使用相應(yīng)的報(bào)表工具對(duì)象和數(shù)據(jù)庫報(bào)表腳本生成報(bào)表。
這樣,創(chuàng)建或注銷報(bào)表服務(wù)對(duì)象,將用戶不需要的報(bào)表服務(wù)刪除,并創(chuàng)建用戶所需的報(bào)表服務(wù),可以實(shí)現(xiàn)動(dòng)態(tài)管理報(bào)表服務(wù)。
步驟220:通過調(diào)度接口接收用戶預(yù)設(shè)的調(diào)度參數(shù),并根據(jù)上述調(diào)度參數(shù),對(duì)上述創(chuàng)建的服務(wù)對(duì)象進(jìn)行調(diào)度,生成相應(yīng)的報(bào)表;其中,上述調(diào)度參數(shù),至少包括執(zhí)行調(diào)度任務(wù)的起止時(shí)間和執(zhí)行周期。
用戶可以預(yù)定義調(diào)度參數(shù),至少包括執(zhí)行調(diào)度任務(wù)的起止時(shí)間和執(zhí)行周期,并通過調(diào)度接口下發(fā)給任務(wù)調(diào)度設(shè)置模塊。
這樣,當(dāng)調(diào)用調(diào)度接口時(shí),任務(wù)調(diào)度設(shè)置模塊從報(bào)表服務(wù)管理模塊中獲取報(bào)表服務(wù)對(duì)象,將報(bào)表服務(wù)對(duì)象進(jìn)行進(jìn)一步處理后,創(chuàng)建調(diào)度任務(wù)并注冊(cè)到任務(wù)調(diào)度器中,進(jìn)而執(zhí)行調(diào)度任務(wù)。例如,用戶預(yù)定義的執(zhí)行調(diào)度任務(wù)的開始時(shí)間為8:00,終止時(shí)間為12:00,執(zhí)行周期為1小時(shí),那么當(dāng)?shù)?:00時(shí),開始執(zhí)行注冊(cè)到任務(wù)調(diào)度器中的調(diào)度任務(wù),生成相應(yīng)的報(bào)表,并每隔1小時(shí),執(zhí)行一 次調(diào)度任務(wù),生成一次報(bào)表,直到12:00。
值得說明的是,本發(fā)明實(shí)施例中的服務(wù)管理控制器模塊是基于Java虛擬機(jī)(Java Virtual Machine,JVM)開發(fā)的,因?yàn)樵摲?wù)管理控制器模塊是與業(yè)務(wù)層分離的,可以作為與一個(gè)業(yè)務(wù)層分離的功能模塊嵌入平臺(tái)層,所以不僅可以適用于本發(fā)明實(shí)施例中的以報(bào)表為主要業(yè)務(wù)的軟件中,也可以應(yīng)用到其他的軟件中。將服務(wù)管理控制器中的所有接口注冊(cè)進(jìn)JVM的MBeanServer中,這樣就可以方便任何第三方工具,例如JVM自帶的java監(jiān)控和管理控制臺(tái)(Java Monitoring and Management Console,Jconsole),采用JMX協(xié)議與服務(wù)管理控制器建立連接,實(shí)現(xiàn)動(dòng)態(tài)管理軟件服務(wù)。
基于以上實(shí)施例,參閱圖3所示,本發(fā)明實(shí)施例中,服務(wù)動(dòng)態(tài)管理裝置包括:
服務(wù)目錄查詢單元40,用于從數(shù)據(jù)庫中獲取報(bào)表服務(wù)配置信息,并通過查詢接口呈現(xiàn)給用戶;其中,上述報(bào)表服務(wù)配置信息中至少包括報(bào)表服務(wù)名稱、報(bào)表服務(wù)的描述信息、報(bào)表服務(wù)類型及報(bào)表服務(wù)的執(zhí)行狀態(tài);
報(bào)表服務(wù)管理單元41,用于通過管理接口獲取用戶選擇的報(bào)表服務(wù)名稱,并根據(jù)上述用戶選擇的報(bào)表服務(wù)名稱、所選擇的報(bào)表服務(wù)的類型及所選擇的報(bào)表服務(wù)的執(zhí)行狀態(tài),創(chuàng)建相應(yīng)的報(bào)表服務(wù)對(duì)象;
任務(wù)調(diào)度設(shè)置單元42,用于通過調(diào)度接口接收用戶預(yù)設(shè)的調(diào)度參數(shù),并根據(jù)上述調(diào)度參數(shù),對(duì)上述創(chuàng)建的服務(wù)對(duì)象進(jìn)行調(diào)度,生成相應(yīng)的報(bào)表;其中,上述調(diào)度參數(shù),至少包括執(zhí)行調(diào)度任務(wù)的起止時(shí)間和執(zhí)行周期。
較佳的,從數(shù)據(jù)庫中獲取報(bào)表服務(wù)配置信息之前,進(jìn)一步包括:
獲取單元43,用于通過數(shù)據(jù)庫終端,向數(shù)據(jù)庫中導(dǎo)入報(bào)表腳本和報(bào)表服務(wù)配置信息。
較佳的,根據(jù)上述用戶選擇的報(bào)表服務(wù)名稱、所選擇的報(bào)表服務(wù)的類型及上述報(bào)表服務(wù)的執(zhí)行狀態(tài),創(chuàng)建相應(yīng)的報(bào)表服務(wù)對(duì)象時(shí),報(bào)表服務(wù)管理單元41具體用于:
確定用戶選擇的報(bào)表服務(wù)名稱所對(duì)應(yīng)的報(bào)表服務(wù)的任務(wù)要求;
確定用戶選擇的報(bào)表服務(wù)名稱所對(duì)應(yīng)的報(bào)表服務(wù)的執(zhí)行狀態(tài);
在確定上述對(duì)應(yīng)的報(bào)表服務(wù)的任務(wù)要求為注冊(cè)時(shí),則判斷上述對(duì)應(yīng)的報(bào)表服務(wù)的執(zhí)行狀態(tài),如果對(duì)應(yīng)的報(bào)表服務(wù)的執(zhí)行狀態(tài)為激活狀態(tài),則將已有的對(duì)應(yīng)的報(bào)表服務(wù)對(duì)象,作為創(chuàng)建的報(bào)表服務(wù)對(duì)象,如果對(duì)應(yīng)的報(bào)表服務(wù)的任務(wù)狀態(tài)為停止?fàn)顟B(tài),則根據(jù)所選擇的報(bào)表服務(wù)的類型,創(chuàng)建相應(yīng)的報(bào)表服務(wù)對(duì)象。
較佳的,在創(chuàng)建相應(yīng)的報(bào)表服務(wù)對(duì)象之后,接收調(diào)度參數(shù)之前,報(bào)表服務(wù)管理單元41進(jìn)一步用于:
根據(jù)上述獲取的用戶選擇的服務(wù)名稱,更新數(shù)據(jù)庫中相應(yīng)的報(bào)表服務(wù)的執(zhí)行狀態(tài),并在更新結(jié)束后,刪除已有的報(bào)表服務(wù)的執(zhí)行狀態(tài)為停止?fàn)顟B(tài)所對(duì)應(yīng)的報(bào)表服務(wù)對(duì)象。
較佳的,更新數(shù)據(jù)庫中相應(yīng)的報(bào)表服務(wù)的執(zhí)行狀態(tài)時(shí),報(bào)表服務(wù)管理單元41具體用于:
將上述用戶選擇的任務(wù)要求為注冊(cè)的報(bào)表服務(wù)名稱對(duì)應(yīng)的報(bào)表服務(wù)的執(zhí)行狀態(tài),更新為激活狀態(tài),以及將用戶未選擇或用戶選擇的任務(wù)要求為注銷的報(bào)表服務(wù)名稱的執(zhí)行狀態(tài),更新為停止?fàn)顟B(tài)。
較佳的,通過管理接口獲取用戶選擇的報(bào)表服務(wù)名稱之后,在創(chuàng)建相應(yīng)的報(bào)表服務(wù)對(duì)象之前,報(bào)表服務(wù)管理單元41進(jìn)一步用于:
根據(jù)上述所選擇的報(bào)表服務(wù)的類型,從報(bào)表工具模板集中獲取相應(yīng)的用于創(chuàng)建相應(yīng)的報(bào)表服務(wù)對(duì)象的報(bào)表工具。
綜上所述,本發(fā)明實(shí)施例中,從數(shù)據(jù)庫中獲取報(bào)表服務(wù)配置信息,并通過查詢接口呈現(xiàn)給用戶;其中,上述報(bào)表服務(wù)配置信息中至少包括報(bào)表服務(wù)名稱、報(bào)表服務(wù)的描述信息、報(bào)表服務(wù)類型及報(bào)表服務(wù)的執(zhí)行狀態(tài);通過管理接口獲取用戶選擇的報(bào)表服務(wù)名稱,并根據(jù)上述用戶選擇的報(bào)表服務(wù)名稱、所選擇的報(bào)表服務(wù)的類型及所選擇的報(bào)表服務(wù)的執(zhí)行狀態(tài),創(chuàng)建相應(yīng)的報(bào)表服務(wù)對(duì)象;通過調(diào)度接口接收用戶預(yù)設(shè)的調(diào)度參數(shù),并根據(jù)上述調(diào)度參數(shù),對(duì)上述創(chuàng)建的 服務(wù)對(duì)象進(jìn)行調(diào)度,生成相應(yīng)的報(bào)表;其中,上述調(diào)度參數(shù),至少包括執(zhí)行調(diào)度任務(wù)的起止時(shí)間和執(zhí)行周期,這樣,通過不同的接口,可以遠(yuǎn)程管理報(bào)表服務(wù),使得系統(tǒng)可以動(dòng)態(tài)調(diào)整其功能,從而滿足用戶的個(gè)性化需求;
并且,使用數(shù)據(jù)庫存儲(chǔ)過程代替java代碼來實(shí)現(xiàn)統(tǒng)計(jì)分析業(yè)務(wù)的功能,這樣可以更加方便實(shí)現(xiàn)對(duì)報(bào)表服務(wù)的動(dòng)態(tài)管理;本發(fā)明實(shí)施例提供的服務(wù)管理裝置可以作為一個(gè)獨(dú)立模塊應(yīng)用到軟件中,提高軟件的可維護(hù)性和適應(yīng)能力,降低軟件的維護(hù)成本。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè) 流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
盡管已描述了本發(fā)明的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明范圍的所有變更和修改。
顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明實(shí)施例進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明實(shí)施例的精神和范圍。這樣,倘若本發(fā)明實(shí)施例的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。