專利名稱:一種應(yīng)用程序監(jiān)控裝置及方法
一種應(yīng)用程序監(jiān)控裝置及方法技術(shù)領(lǐng)域
本申請涉及程序監(jiān)控領(lǐng)域,特別涉及一種應(yīng)用程序監(jiān)控裝置及方法。
技術(shù)背景
系統(tǒng)能夠持續(xù)穩(wěn)定運(yùn)行除了構(gòu)造高質(zhì)量的軟件以外,在系統(tǒng)運(yùn)行過程中進(jìn)行實(shí)時(shí)監(jiān)控,以便及時(shí)發(fā)現(xiàn)故障,適時(shí)采取措施也是必不可少的。任何一個(gè)高可靠的軟件系統(tǒng)都具有很強(qiáng)的監(jiān)控能力,監(jiān)控是現(xiàn)代企業(yè)的IT基礎(chǔ)設(shè)施的核心部件。
目前,對軟件系統(tǒng)的監(jiān)測為整體監(jiān)控方式,即對運(yùn)行的軟件系統(tǒng)中的全部應(yīng)用程序進(jìn)行監(jiān)控,其中包括對一些不需要進(jìn)行監(jiān)控的應(yīng)用程序的監(jiān)控過程,浪費(fèi)了過多的人力物力,并且監(jiān)控的精確度及效率很低。發(fā)明內(nèi)容
本申請所要解決的技術(shù)問題是提供一種應(yīng)用程序監(jiān)控裝置,用以解決現(xiàn)有技術(shù)中對運(yùn)行的軟件系統(tǒng)進(jìn)行監(jiān)控時(shí),監(jiān)控的精確度及效率很低的問題,有效的提高了對運(yùn)行的軟件系統(tǒng)的監(jiān)控的精確度及效率。
本申請還提供了一種應(yīng)用程序監(jiān)控方法,用以保證上述裝置在實(shí)際中的實(shí)現(xiàn)及應(yīng)用。
為了解決上述問題,本申請公開了一種應(yīng)用程序監(jiān)控裝置,包括
需求定制模塊、注解注入模塊、注解引擎模塊及背板裝置模塊。
其中
所述需求定制模塊用于分析所述應(yīng)用程序的元素結(jié)構(gòu);并獲取所述元素結(jié)構(gòu)中需要進(jìn)行監(jiān)控的元素的元素需求;
所述注解注入模塊用于將所述元素需求注入至所述應(yīng)用程序中;
所述注解引擎模塊用于在所述應(yīng)用程序運(yùn)行時(shí),依據(jù)所述元素需求獲取所述應(yīng)用程序的運(yùn)行狀態(tài)信息;
所述背板裝置模塊用于對所述運(yùn)行狀態(tài)信息進(jìn)行邏輯處理,實(shí)現(xiàn)對所述應(yīng)用程序的監(jiān)控。
上述的裝置,優(yōu)選的,還包括
監(jiān)控平臺模塊;
所述監(jiān)控平臺模塊用于發(fā)送連接請求至所述背板裝置模塊,獲取所述背板裝置模塊對所述應(yīng)用程序的監(jiān)控信息,并對所述監(jiān)控信息進(jìn)行顯示。
一種應(yīng)用程序監(jiān)控方法,包括
分析需要進(jìn)行監(jiān)控的應(yīng)用程序的元素結(jié)構(gòu),并獲取所述元素結(jié)構(gòu)中需要進(jìn)行監(jiān)控的元素的元素需求;
將所述元素需求注入至所述需要進(jìn)行監(jiān)控的應(yīng)用程序中;
當(dāng)所述應(yīng)用程序運(yùn)行時(shí),依據(jù)所述元素需求獲取所述應(yīng)用程序的運(yùn)行狀態(tài)信息;
對所述運(yùn)行狀態(tài)信息進(jìn)行邏輯處理,實(shí)現(xiàn)對所述應(yīng)用程序的監(jiān)控。
上述的方法,優(yōu)選的,還包括
將對所述應(yīng)用程序進(jìn)行監(jiān)控的監(jiān)控信息進(jìn)行顯示。所述JMeter系統(tǒng)的控制器上設(shè)置有一種服務(wù)器性能測試裝置。
與現(xiàn)有技術(shù)相比,本申請包括以下優(yōu)點(diǎn)
在本申請中,對應(yīng)用程序進(jìn)行監(jiān)控時(shí),需求定制模塊分析所述應(yīng)用程序的元素結(jié)構(gòu);并獲取所述元素結(jié)構(gòu)中需要進(jìn)行監(jiān)控的元素的元素需求;注解注入模塊將所述元素需求注入至應(yīng)用程序中;當(dāng)所述應(yīng)用程序運(yùn)行時(shí),依據(jù)所述元素需求獲取所述應(yīng)用程序的運(yùn)行狀態(tài)信息;背板裝置對所述運(yùn)行狀態(tài)信息進(jìn)行邏輯處理,實(shí)現(xiàn)對所述應(yīng)用程序的監(jiān)控。
本申請?zhí)峁┑谋O(jiān)控裝置能夠在本地同時(shí)監(jiān)控其它地點(diǎn)部署的軟件,通過在配置監(jiān)控參數(shù),能夠快速對監(jiān)控軟件進(jìn)行定位,提高了監(jiān)控的準(zhǔn)確性及監(jiān)控效率。
當(dāng)然,實(shí)施本申請的任一產(chǎn)品并不一定需要同時(shí)達(dá)到以上所述的所有優(yōu)點(diǎn)。
為了更清楚地說明本申請實(shí)施例中的技術(shù)方案,下面將對實(shí)施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本申請的一種應(yīng)用程序監(jiān)控裝置實(shí)施例1的結(jié)構(gòu)框圖2是本申請的一種應(yīng)用程序監(jiān)控裝置實(shí)施例1中的一具體結(jié)構(gòu)框圖3是本申請的一種應(yīng)用程序監(jiān)控方法實(shí)施例1的流程圖4是本申請的一種應(yīng)用程序監(jiān)控方法實(shí)施例1的一具體流程圖5是本申請的一種基于注解方式實(shí)現(xiàn)應(yīng)用程序監(jiān)控的裝置的時(shí)序圖。
具體實(shí)施方式
下面將結(jié)合本申請實(shí)施例中的附圖,對本申請實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本申請一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾堉械膶?shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本申請保護(hù)的范圍。
本申請可用于眾多通用或?qū)S玫挠?jì)算裝置環(huán)境或配置中。例如個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持設(shè)備或便攜式設(shè)備、平板型設(shè)備、多處理器裝置、包括以上任何裝置或設(shè)備的分布式計(jì)算環(huán)境等等。
本申請可以在由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計(jì)算環(huán)境中實(shí)踐本申請,在這些分布式計(jì)算環(huán)境中,由通過通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來執(zhí)行任務(wù)。在分布式計(jì)算環(huán)境中,程序模塊可以位于包括存儲設(shè)備在內(nèi)的本地和遠(yuǎn)程計(jì)算機(jī)存儲介質(zhì)中。
參考圖1,示出了本申請一種應(yīng)用程序監(jiān)控裝置實(shí)施例1的結(jié)構(gòu)框圖,如圖1所示, 包括
需求定制模塊101、注解注入模塊102、注解引擎模塊103和背板裝置模塊104 ;
其中
所述需求定制模塊101用于分析所述應(yīng)用程序的元素結(jié)構(gòu);并獲取所述元素結(jié)構(gòu)中需要進(jìn)行監(jiān)控的元素的元素需求;
需求定制模塊101主要用于定制需要監(jiān)控的需求,可以對源代碼中的線程、函數(shù)和變量進(jìn)行一次過濾。
所述注解注入模塊102用于將所述元素需求注入至所述應(yīng)用程序中;
將需要定制的結(jié)果轉(zhuǎn)換為注解的方式,直接注入到源代碼中。
所述注解引擎模塊103用于在所述應(yīng)用程序運(yùn)行時(shí),依據(jù)所述元素需求獲取所述應(yīng)用程序的運(yùn)行狀態(tài)信息;
注解引擎模塊會在相應(yīng)的進(jìn)程、線程、函數(shù)以及變量運(yùn)行前自動啟動,然后把運(yùn)行的狀態(tài)信息發(fā)給背板裝置104。
所述背板裝置模塊104用于對所述運(yùn)行狀態(tài)信息進(jìn)行邏輯處理,實(shí)現(xiàn)對所述應(yīng)用程序的監(jiān)控。
背板裝置一方面會處理注解引擎發(fā)送來的數(shù)據(jù),進(jìn)行存儲和管理;另一方面將監(jiān)控需要的數(shù)據(jù)通過訂閱性的方式發(fā)送給監(jiān)控平臺。
本申請實(shí)施例提供的應(yīng)用程序監(jiān)控裝置中,在圖1的基礎(chǔ)上還包括,監(jiān)控平臺模塊105,如圖2所示
所述監(jiān)控平臺模塊105用于發(fā)送連接請求至所述背板裝置模塊,獲取所述背板裝置模塊對所述應(yīng)用程序的監(jiān)控信息,并對所述監(jiān)控信息進(jìn)行顯示。
監(jiān)控平臺模塊進(jìn)行展示監(jiān)控的狀態(tài)信息,監(jiān)控平臺可以對本地的監(jiān)控信息進(jìn)行監(jiān)控,也可以對異地監(jiān)控信息進(jìn)行監(jiān)控,從而起到統(tǒng)一監(jiān)控的作用。
本申請實(shí)施例提供的一種應(yīng)用程序監(jiān)控裝置,其監(jiān)控時(shí)序圖如本申請實(shí)施例圖5 所示,其監(jiān)控的原理如下
首先定制出用戶需要監(jiān)控的元素,通過需求定制模塊直接展示目標(biāo)代碼的分析結(jié)果,根據(jù)分析結(jié)果采用拖拽性的方式對目標(biāo)代碼的分析結(jié)果進(jìn)行定制需求;注解注入模塊會自動分析定制的需求,根據(jù)需求生成相應(yīng)的注解代碼并注入到目標(biāo)程序中;當(dāng)程序運(yùn)行時(shí),會自動啟動注解引擎模塊,當(dāng)運(yùn)行到進(jìn)程、線程、函數(shù)以及變量的時(shí)候,引擎會自動跟蹤并把進(jìn)行、線程、函數(shù)以及變量的狀態(tài)發(fā)送給背板裝置模塊進(jìn)行處理;背板裝置模塊根據(jù)注解引擎模塊發(fā)送的數(shù)據(jù)進(jìn)行邏輯處理,同時(shí)把數(shù)據(jù)進(jìn)行存儲在內(nèi)存中,當(dāng)接收到監(jiān)控平臺的訂閱信息時(shí),依據(jù)刷新時(shí)間將處理后的監(jiān)控信息根據(jù)所述訂閱信息的設(shè)置發(fā)送給監(jiān)控平臺模塊。
監(jiān)控平臺模塊向背板裝置模塊發(fā)出連接申請,包括要監(jiān)控的IP,相關(guān)訂閱信息以及該監(jiān)控中心所在的機(jī)構(gòu),背板裝置模塊經(jīng)過審批后,以訂閱的模式將數(shù)據(jù)發(fā)送給監(jiān)控平臺模塊,監(jiān)控平臺模塊可以對數(shù)據(jù)進(jìn)行二次過濾,對監(jiān)控?cái)?shù)據(jù)定義自定義顯示。
對于前述的各方法實(shí)施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本申請并不受所描述的動作順序的限制,因?yàn)橐罁?jù)本申請,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動作和模塊并不一定是本申請所必須的。
與上述本申請一種應(yīng)用程序監(jiān)控裝置實(shí)施例1所提供的裝置相對應(yīng),參見圖3,本申請還提供了一種應(yīng)用程序監(jiān)控方法實(shí)施例1,在本實(shí)施例中,該方法可以包括
步驟S201 分析需要進(jìn)行監(jiān)控的應(yīng)用程序的元素結(jié)構(gòu),并獲取所述元素結(jié)構(gòu)中需要進(jìn)行監(jiān)控的元素的元素需求;
步驟S202 將所述勻速需求注入至所述需要進(jìn)行監(jiān)控的應(yīng)用程序中;
步驟S203 當(dāng)所述應(yīng)用程序運(yùn)行時(shí),依據(jù)所述元素需求獲取所述應(yīng)用程序的運(yùn)行狀態(tài)信息;
步驟S204 對所述運(yùn)行狀態(tài)信息進(jìn)行邏輯處理,實(shí)現(xiàn)對所述應(yīng)用程序的監(jiān)控。
本申請實(shí)施例提供的應(yīng)用程序監(jiān)控方法,在圖3的基礎(chǔ)上,還包括步驟S205,如圖 4所示,包括
將對所述應(yīng)用程序進(jìn)行監(jiān)控的監(jiān)控信息進(jìn)行顯示。
經(jīng)過上述描述,可知,基于注解方式實(shí)現(xiàn)java監(jiān)控的背板裝置的原理是通過需求定制模塊分析出源代碼的元素結(jié)構(gòu),用戶選擇需要監(jiān)控的元素,也就是定義元素需求,通過注解注入模塊,將元素需求注入到源代碼中,元素需求以注解的方式存在,當(dāng)源代碼運(yùn)行時(shí),啟動注解引擎模塊和背板裝置模塊,注解引擎模塊會在運(yùn)行進(jìn)程、線程、函數(shù)以及變量的時(shí)候,先運(yùn)行注入的注解需求,然后把運(yùn)行的注解需求發(fā)送給背板裝置模塊進(jìn)行處理,背板裝置模塊會存儲處理后的監(jiān)控信息,當(dāng)監(jiān)控平臺模塊需要展示監(jiān)控信息時(shí),背板會把監(jiān)控信息發(fā)送給監(jiān)控平臺模塊進(jìn)行顯示。
需要說明的是,本說明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見即可。 對于裝置類實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實(shí)施例的部分說明即可。
最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)......”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
為了描述的方便,描述以上裝置時(shí)以功能分為各種單元分別描述。當(dāng)然,在實(shí)施本申請時(shí)可以把各單元的功能在同一個(gè)或多個(gè)軟件和/或硬件中實(shí)現(xiàn)。
通過以上的實(shí)施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本申請可借助軟件加必需的通用硬件平臺的方式來實(shí)現(xiàn)?;谶@樣的理解,本申請的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品可以存儲在存儲介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計(jì)算機(jī)設(shè)備 (可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本申請各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。
以上對本申請所提供的一種檢索方法、裝置及系統(tǒng)進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對本申請的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本申請的方法及其核心思想;同時(shí),對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本申請的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本申請的限制。
權(quán)利要求
1.一種應(yīng)用程序監(jiān)控裝置,其特征在于,包括需求定制模塊、注解注入模塊、注解引擎模塊及背板裝置模塊; 其中所述需求定制模塊用于分析所述應(yīng)用程序的元素結(jié)構(gòu);并獲取所述元素結(jié)構(gòu)中需要進(jìn)行監(jiān)控的元素的元素需求;所述注解注入模塊用于將所述元素需求注入至所述應(yīng)用程序中; 所述注解引擎模塊用于在所述應(yīng)用程序運(yùn)行時(shí),依據(jù)所述元素需求獲取所述應(yīng)用程序的運(yùn)行狀態(tài)信息;所述背板裝置模塊用于對所述運(yùn)行狀態(tài)信息進(jìn)行邏輯處理,實(shí)現(xiàn)對所述應(yīng)用程序的監(jiān)控。
2.根據(jù)權(quán)利要求1所述的裝置,其特征在于,還包括 監(jiān)控平臺模塊;所述監(jiān)控平臺模塊用于發(fā)送連接請求至所述背板裝置模塊,獲取所述背板裝置模塊對所述應(yīng)用程序的監(jiān)控信息,并對所述監(jiān)控信息進(jìn)行顯示。
3.一種應(yīng)用程序監(jiān)控方法,其特征在于,包括分析需要進(jìn)行監(jiān)控的應(yīng)用程序的元素結(jié)構(gòu),并獲取所述元素結(jié)構(gòu)中需要進(jìn)行監(jiān)控的元素的元素需求;將所述元素需求注入至所述需要進(jìn)行監(jiān)控的應(yīng)用程序中;當(dāng)所述應(yīng)用程序運(yùn)行時(shí),依據(jù)所述元素需求獲取所述應(yīng)用程序的運(yùn)行狀態(tài)信息;對所述運(yùn)行狀態(tài)信息進(jìn)行邏輯處理,實(shí)現(xiàn)對所述應(yīng)用程序的監(jiān)控。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,還包括 將對所述應(yīng)用程序進(jìn)行監(jiān)控的監(jiān)控信息進(jìn)行顯示。
全文摘要
本發(fā)明提供了一種應(yīng)用程序監(jiān)控裝置,包括需求定制模塊、注解注入模塊、注解引擎模塊及背板裝置模塊。其中所述需求定制模塊用于分析所述應(yīng)用程序的元素結(jié)構(gòu);并獲取所述元素結(jié)構(gòu)中需要進(jìn)行監(jiān)控的元素的元素需求;所述注解注入模塊用于將所述元素需求注入至所述應(yīng)用程序中;所述注解引擎模塊用于在所述應(yīng)用程序運(yùn)行時(shí),依據(jù)所述元素需求獲取所述應(yīng)用程序的運(yùn)行狀態(tài)信息;所述背板裝置模塊用于對所述運(yùn)行狀態(tài)信息進(jìn)行邏輯處理,實(shí)現(xiàn)對所述應(yīng)用程序的監(jiān)控。本發(fā)明提供的監(jiān)控裝置能夠在本地同時(shí)監(jiān)控其它地點(diǎn)部署的軟件,通過在配置監(jiān)控參數(shù),能夠快速對監(jiān)控軟件進(jìn)行定位,提高了監(jiān)控的準(zhǔn)確性及監(jiān)控效率。
文檔編號G06F11/36GK102521136SQ20111046011
公開日2012年6月27日 申請日期2011年12月31日 優(yōu)先權(quán)日2011年12月31日
發(fā)明者張瑩瑩, 段文良 申請人:山東中創(chuàng)軟件商用中間件股份有限公司