两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

用于監(jiān)控面向?qū)ο蟮膽?yīng)用的方法、系統(tǒng)和自監(jiān)控系統(tǒng)的制作方法

文檔序號:6355189閱讀:150來源:國知局
專利名稱:用于監(jiān)控面向?qū)ο蟮膽?yīng)用的方法、系統(tǒng)和自監(jiān)控系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明總體上涉及計算機(jī)技術(shù),特別地,本發(fā)明涉及用于監(jiān)控面向?qū)ο蟮膽?yīng)用的方法、系統(tǒng)和自監(jiān)控系統(tǒng)。
背景技術(shù)
在計算機(jī)軟件領(lǐng)域 ,監(jiān)控計算機(jī)軟件的運行狀態(tài),一直是ー項重要的任務(wù)。尤其在現(xiàn)代云計算的環(huán)境中,實時監(jiān)控云計算環(huán)境中每個節(jié)點的軟件運行狀態(tài),對于了解整個云計算系統(tǒng)的健康狀況、維護(hù)整個云計算系統(tǒng)的正常運行尤為重要。圖I是現(xiàn)有技術(shù)中的對于面向?qū)ο蟮膽?yīng)用的ー個代表事務(wù)的有向圖。事務(wù)是單個邏輯工作單元執(zhí)行的一系列操作,這些操作組合為一個要么全部成功、要么全部失敗的單元。例如,取錢是ー個事務(wù)。要么取錢成功,要么取錢失敗。類是具有相同或相似性質(zhì)的對象的抽象。例如,圖I中的ATM機(jī)取錢、密碼認(rèn)證取錢、指紋認(rèn)證取錢、瞳孔認(rèn)證取錢、認(rèn)證卡取錢就是五個類。這個取錢的事務(wù)統(tǒng)ー用一個接ロ來表示。這個接ロ聲明了取錢這個事務(wù),但沒有實現(xiàn),等著每個類分別去實現(xiàn)。在實現(xiàn)吋,ATM機(jī)取錢、密碼認(rèn)證取錢、指紋認(rèn)證取錢、瞳孔認(rèn)證取錢、認(rèn)證卡取錢這五個類分別實現(xiàn)了取錢這個接ロ,但實現(xiàn)的方式不一樣。這些具體的實現(xiàn)方式中調(diào)用的每個過程就是圖I中的節(jié)點(即方法)。例如,當(dāng)執(zhí)行ATM機(jī)取錢時,節(jié)點10開始工作,即接受ATM機(jī)取錢。在該過程中,需要進(jìn)行密碼認(rèn)證,因此節(jié)點10調(diào)用節(jié)點2。節(jié)點2在進(jìn)行密碼認(rèn)證吋,需要與密碼庫或身份數(shù)據(jù)庫進(jìn)行對比,因此可以調(diào)用節(jié)點11或8。節(jié)點11在與密碼庫進(jìn)行對比時,需要調(diào)用密碼庫,因此調(diào)用節(jié)點12。節(jié)點8在與身份密碼庫進(jìn)行對比吋,需要調(diào)用身份密碼庫,因此調(diào)用節(jié)點9。圖I代表了取錢這個完整的事務(wù)。在現(xiàn)有技術(shù)中,當(dāng)需要監(jiān)控面向?qū)ο蟮膽?yīng)用時,先監(jiān)控應(yīng)用的實時運行,然后根據(jù)應(yīng)用的實時運行,建立如圖I所示的代表事務(wù)的有向圖,此后在圖中每個節(jié)點的前后都插入監(jiān)控程序,如圖2所示。在圖2中共插入了 15個監(jiān)控程序。由于需要在每個節(jié)點的前后都插入監(jiān)控程序,監(jiān)控開銷變得不可接受地大。

發(fā)明內(nèi)容
本發(fā)明的ー個方面解決的ー個問題是減小監(jiān)控面向?qū)ο蟮膽?yīng)用的監(jiān)控開銷。根據(jù)本發(fā)明的一方面,提供了一種用于監(jiān)控面向?qū)ο蟮膽?yīng)用的方法,包括根據(jù)應(yīng)用的實時運行,建立代表事務(wù)的有向圖,所述有向圖中包含有多個可替換類的節(jié)點;根據(jù)有向圖中多個可替換類的節(jié)點之間的調(diào)用關(guān)系選擇關(guān)鍵節(jié)點;在選出的關(guān)鍵節(jié)點處插入監(jiān)控程序。根據(jù)本發(fā)明的一方面,提供了一種用于監(jiān)控面向?qū)ο蟮膽?yīng)用的系統(tǒng),包括事務(wù)圖建立器,被配置為根據(jù)應(yīng)用的實時運行,建立代表事務(wù)的有向圖,所述有向圖中包含有多個可替換類的節(jié)點;關(guān)鍵節(jié)點選擇器,被配置為根據(jù)有向圖中多個可替換類的節(jié)點之間的調(diào)用關(guān)系選擇關(guān)鍵節(jié)點;監(jiān)控程序插入器,被配置為在選出的關(guān)鍵節(jié)點處插入監(jiān)控程序。
根據(jù)本發(fā)明的一方面,提供了一種自監(jiān)控系統(tǒng),包括面向?qū)ο蟮膽?yīng)用和根據(jù)本發(fā)明的上述方面的用于監(jiān)控面向?qū)ο蟮膽?yīng)用的系統(tǒng)。本發(fā)明的ー個方面帶來的ー個有益效果是使監(jiān)控面向?qū)ο蟮膽?yīng)用的監(jiān)控開銷大大減小。


本申請中所參考的附圖只用于示例本發(fā)明的典型實施例,不應(yīng)該認(rèn)為是對本發(fā)明范圍的限制。圖I是現(xiàn)有技術(shù)中的對于面向?qū)ο蟮膽?yīng)用的ー個代表事務(wù)的有向圖。圖2是現(xiàn)有技術(shù)中的插入了監(jiān)控程序的代表事務(wù)的有向圖。
圖3是根據(jù)本發(fā)明的一個實施例的流程圖。圖4是根據(jù)本發(fā)明的一個實施例的増加了開始節(jié)點和結(jié)束節(jié)點的代表事務(wù)的有向圖。圖5是根據(jù)本發(fā)明的一個實施例的插入了監(jiān)控程序的代表事務(wù)的有向圖。圖6是根據(jù)本發(fā)明的另ー個實施例的插入了監(jiān)控程序的代表事務(wù)的有向圖。圖7是根據(jù)本發(fā)明的另ー個實施例的插入了監(jiān)控程序的代表事務(wù)的有向圖。圖8是根據(jù)本發(fā)明的另ー個實施例的插入了監(jiān)控程序的代表事務(wù)的有向圖。圖9示出了根據(jù)本發(fā)明的另ー個實施例最后留下的關(guān)鍵節(jié)點。圖10是根據(jù)本發(fā)明的另ー個實施例的插入了監(jiān)控程序的代表事務(wù)的有向圖。圖11是根據(jù)本發(fā)明的另ー個實施例的插入了監(jiān)控程序的代表事務(wù)的有向圖。圖12A分別不出了利用本發(fā)明和不利用本發(fā)明時的CPU開銷。圖12B分別不出了利用本發(fā)明和不利用本發(fā)明時的Java Heap開銷。圖12C分別示出了若干事務(wù)類型在利用本發(fā)明和不利用本發(fā)明的情況下的插入了監(jiān)控程序的類的數(shù)量和插入的監(jiān)控程序函數(shù)的數(shù)量。圖13示出了根據(jù)本發(fā)明的一個實施例的自監(jiān)控系統(tǒng)。
具體實施例方式下列討論中,提供大量具體的細(xì)節(jié)以幫助徹底了解本發(fā)明。然而,很顯然對于本領(lǐng)域技術(shù)人員來說,即使沒有這些具體細(xì)節(jié),并不影響對本發(fā)明的理解。并且應(yīng)該認(rèn)識到,使用如下的任何具體術(shù)語僅僅是為了方便描述,因此,本發(fā)明不應(yīng)當(dāng)局限于只用在這樣的術(shù)語所表示和/或暗示的任何特定應(yīng)用中。先來介紹ー下本發(fā)明的原理。由于面向?qū)ο蟮某绦蛟O(shè)計中廣泛使用適配器和代理。這些適配器和代理并不是特別需要監(jiān)控的節(jié)點。因此,可以考慮避免在這些適配器和代理的前后插入監(jiān)控程序。這些適配器和代理一般不會有很高的入度(入度為某節(jié)點被其它節(jié)點調(diào)用的數(shù)量)。另外,不同的可替換類的節(jié)點之間往往具有可替換性。因此,根據(jù)可替換類的節(jié)點之間的調(diào)用關(guān)系從所有節(jié)點中選出若干關(guān)鍵節(jié)點,并對關(guān)鍵節(jié)點插入監(jiān)控程序,就可以大大減小監(jiān)控面向?qū)ο蟮膽?yīng)用的開銷。圖3是根據(jù)本發(fā)明的一個實施例的流程圖。根據(jù)本發(fā)明的一個實施例的用于監(jiān)控面向?qū)ο蟮膽?yīng)用的方法包括在步驟SI中,根據(jù)應(yīng)用的實時運行,建立代表事務(wù)的有向圖,該有向圖中包含有多個可替換類的節(jié)點;在步驟S2中,根據(jù)有向圖中多個可替換類的節(jié)點之間的調(diào)用關(guān)系選擇關(guān)鍵節(jié)點;在步驟S3中,在選出的關(guān)鍵節(jié)點處插入監(jiān)控程序。優(yōu)選地,根據(jù)本發(fā)明的一個實施例,在頂端節(jié)點之前増加調(diào)用該頂端節(jié)點的開始節(jié)點,在底端節(jié)點之后増加被該底端節(jié)點所調(diào)用的結(jié)束節(jié)點。頂端節(jié)點為不被其它節(jié)點調(diào)用而僅調(diào)用其它節(jié)點的節(jié)點,底端節(jié)點為僅被其它節(jié)點調(diào)用而不調(diào)用其它節(jié)點的節(jié)點。圖4是根據(jù)本發(fā)明的一個實施例的増加了開始節(jié)點和結(jié)束節(jié)點的代表事務(wù)的有向圖。圖4中,節(jié)點10、1、3、5、7是頂端節(jié)點,節(jié)點12、9是底端節(jié)點。下面舉例描述選擇關(guān)鍵節(jié)點并插入監(jiān)控程序的方式。實施例I
將圖中的所有節(jié)點按照入度排序,選取排序中的前n名作為關(guān)鍵節(jié)點,其中n為自然數(shù),入度為節(jié)點在圖中被其它節(jié)點調(diào)用的數(shù)量。在一個例子中,設(shè)n = 3,但實際上n可以為任意自然數(shù)。下面是計算出的圖4中每個節(jié)點的入度節(jié)點1:1節(jié)點2 :2節(jié)點3:1節(jié)點4:1節(jié)點5:1節(jié)點6:1節(jié)點7:1節(jié)點8 :4節(jié)點9:1節(jié)點10:1節(jié)點11:1節(jié)點12:1所有開始節(jié)點0所有結(jié)束節(jié)點I當(dāng)多個節(jié)點具有同樣的入度時,一般選擇最靠近開始節(jié)點的節(jié)點。當(dāng)具有同樣的入度、最靠近開始節(jié)點的節(jié)點也有多個時,可從中任意選擇。在本例中,入度最高的節(jié)點是節(jié)點8,入度第二高的節(jié)點是節(jié)點2。由于存在多個入度第三高、且最靠近開始節(jié)點的節(jié)點10、1、3、5、7,任意選擇其中的節(jié)點I。因此,在選出的三個關(guān)鍵節(jié)點8、2、1的前和后插入監(jiān)控程序。由于在給節(jié)點I的后面插入監(jiān)控程序時,監(jiān)控程序已存在,則不再重復(fù)插入。插入的結(jié)果如圖5所示??蛇x地,也可以只在選出的三個關(guān)鍵節(jié)點8、2、1的前面插入監(jiān)控程序??蛇x地,也可以只在選出的三個關(guān)鍵節(jié)點8、2、1的后面插入監(jiān)控程序。由于入度較大的節(jié)點往往是可替換性較差的節(jié)點,只針對它們插入監(jiān)控程序,可以大大減小監(jiān)控面向?qū)ο蟮膽?yīng)用的開銷。實施例2選取圖中所有入度達(dá)到某ー閾值的節(jié)點作為關(guān)鍵節(jié)點。在本例中,設(shè)閾值=2,但顯然閾值也可以為其它值。
在本例中,入度達(dá)到2的節(jié)點只有節(jié)點8、2。因此,只在節(jié)點8、2的前和后插入監(jiān)控程序,如圖6所示。當(dāng)然,也可以只在節(jié)點8、2的前或后插入監(jiān)控程序。由于入度較大的節(jié)點往往是可替換性較差的節(jié)點,只針對它們插入監(jiān)控程序,可以大大減小監(jiān)控面向?qū)ο蟮膽?yīng)用的開銷。
實施例3將圖中所有節(jié)點按照入度出度之差排序,選取排序中的前n名作為關(guān)鍵節(jié)點,其中n為自然數(shù),出度為節(jié)點在圖中調(diào)用其它節(jié)點的數(shù)量。在本例中,設(shè)n = 3,但實際上n可以為任意自然數(shù)。下面是計算出的圖4中每個節(jié)點的入度與出度之差節(jié)點I :0節(jié)點2 :0節(jié)點3 :0節(jié)點4 :0節(jié)點5 0節(jié)點6 :0節(jié)點7 :0節(jié)點8 :3節(jié)點9 :0節(jié)點10 :0節(jié)點11 0節(jié)點12 :0所有開始節(jié)點_1所有結(jié)束節(jié)點I因此,在選出的節(jié)點8和兩個結(jié)束節(jié)點的前和后插入監(jiān)控程序。由于結(jié)束節(jié)點的后面無法插入監(jiān)控程序,因此只在結(jié)束節(jié)點的前面插入監(jiān)控程序。插入的結(jié)果如圖7所示。當(dāng)然,也可以只在選出的節(jié)點的前面或后面插入監(jiān)控程序。由于入度與出度之差較大的節(jié)點往往是可替換性較差的節(jié)點,只針對它們插入監(jiān)控程序,可以大大減小監(jiān)控面向?qū)ο蟮膽?yīng)用的開銷。實施例4選取圖中所有入度出度之差達(dá)到某一閾值的所有節(jié)點作為關(guān)鍵節(jié)點。在本例中,設(shè)閾值為2,但實際上閾值可以為任意自然數(shù)。在本例中,入度出度之差達(dá)到2的節(jié)點只有節(jié)點8。因此,只在節(jié)點8的前和后插入監(jiān)控程序,如圖8所示。當(dāng)然,也可以只在節(jié)點8的前或后插入監(jiān)控程序。由于入度與出度之差較大的節(jié)點往往是可替換性較差的節(jié)點,只針對它們插入監(jiān)控程序,可以大大減小監(jiān)控面向?qū)ο蟮膽?yīng)用的開銷。實施例5在實施例5中,通過以下方式選擇關(guān)鍵節(jié)點a.選擇有向圖中具有最大入度的節(jié)點作為基準(zhǔn)節(jié)點,入度為節(jié)點在有向圖中被其它節(jié)點調(diào)用的數(shù)量;b.對有向圖中與所述基準(zhǔn)節(jié)點有調(diào)用關(guān)系的相鄰節(jié)點進(jìn)行判斷,其中如果所述相鄰節(jié)點是調(diào)用所述基準(zhǔn)節(jié)點的節(jié)點且除了調(diào)用所述基準(zhǔn)節(jié)點之外不再調(diào)用其它節(jié)點,則從有向圖中刪除該相鄰節(jié)點;如果所述相鄰節(jié)點是被所述基準(zhǔn)節(jié)點調(diào)用的節(jié)點且除了被所述基準(zhǔn)節(jié)點調(diào)用之外不再被其它節(jié)點調(diào)用,則從有向圖中刪除該相鄰節(jié)點;c.對于每一個未刪除的相鄰節(jié)點,重復(fù)過程b,直至所有節(jié)點都被遍歷。在本例中,具有最大入度的節(jié)點是節(jié)點8。與節(jié)點8有調(diào)用關(guān)系的相鄰節(jié)點是節(jié)點
2、4、6、7、9,其中只有節(jié)點2除了調(diào)用節(jié)點8之外還調(diào)用節(jié)點11,因此只保留節(jié)點2,刪除其它相鄰節(jié)點。與節(jié)點2有調(diào)用關(guān)系的相鄰節(jié)點是節(jié)點10、1、11。經(jīng)判斷,這三個節(jié)點都不符合保留在圖中的條件,因此從圖中刪除。從圖9中可以看出,只剩下節(jié)點2和節(jié)點8作為關(guān)鍵節(jié)點。因此,在關(guān)鍵節(jié)點2和8的如和后摘入監(jiān)控程序,如圖10所不。 可選地,也可以只在關(guān)鍵節(jié)點2、8的前面或后面插入監(jiān)控程序。由于上面的過程刪除的都是與其它節(jié)點的調(diào)用關(guān)系比較單ー的節(jié)點,保留的是與其它節(jié)點的調(diào)用關(guān)系比較復(fù)雜的節(jié)點,因此只針對保留的節(jié)點插入監(jiān)控程序,可以大大減小監(jiān)控面向?qū)ο蟮膽?yīng)用的開銷。實施例6將圖中所有頂端節(jié)點作為關(guān)鍵節(jié)點。圖4中的頂端節(jié)點為節(jié)點10、1、3、5、7,因此在這些節(jié)點的前后插入監(jiān)控程序,如圖11所示。這種做法的好處是確保每ー個類都能被監(jiān)控到,同時又減小了部分監(jiān)控開銷。當(dāng)然,也可以采用實施例1-6之外的其它選擇關(guān)鍵節(jié)點并插入監(jiān)控程序的方式。本領(lǐng)域技術(shù)人員閱讀到這里,受益于本發(fā)明的以上教導(dǎo),會作出根據(jù)圖中多個可替換類的節(jié)點之間的調(diào)用關(guān)系選擇關(guān)鍵節(jié)點、并在選出的關(guān)鍵節(jié)點處插入監(jiān)控程序的任何其它替代方式。圖12A、B分別示出了利用本發(fā)明和不利用本發(fā)明時的CPU開銷、Java Heap開銷。圖12C分別示出了若干事務(wù)類型在利用本發(fā)明和不利用本發(fā)明的情況下的插入了監(jiān)控程序的類的數(shù)量和插入的監(jiān)控程序函數(shù)的數(shù)量。從圖中可以看出,利用了本發(fā)明時無論是插入了監(jiān)控程序的類的數(shù)量還是插入的監(jiān)控程序函數(shù)的數(shù)量都大大減小。本發(fā)明大大減小了監(jiān)控面向?qū)ο蟮膽?yīng)用的開銷。圖13示出了根據(jù)本發(fā)明的一個實施例的自監(jiān)控系統(tǒng)1300。自監(jiān)控系統(tǒng)1300包括面向?qū)ο蟮膽?yīng)用1301和用于監(jiān)控面向?qū)ο蟮膽?yīng)用的系統(tǒng)1302。用于監(jiān)控面向?qū)ο蟮膽?yīng)用的系統(tǒng)1302包括事務(wù)圖建立器1303,被配置為根據(jù)應(yīng)用的實時運行,建立代表事務(wù)的有向圖,所述有向圖中包含有多個可替換類的節(jié)點;關(guān)鍵節(jié)點選擇器1304,被配置為根據(jù)有向圖中多個可替換類的節(jié)點之間的調(diào)用關(guān)系選擇關(guān)鍵節(jié)點;監(jiān)控程序插入器1305,被配置為在選出的關(guān)鍵節(jié)點處插入監(jiān)控程序。所屬技術(shù)領(lǐng)域的技術(shù)人員知道,本發(fā)明可以體現(xiàn)為系統(tǒng)、方法或計算機(jī)程序產(chǎn)品。因此,本發(fā)明可以具體實現(xiàn)為以下形式,即,可以是完全的硬件、完全的軟件(包括固件、駐留軟件、微代碼等)、或者本文一般稱為“電路”、“模塊”或“系統(tǒng)”的軟件部分與硬件部分的組合。此外,本發(fā)明還可以采取體現(xiàn)在任何有形的表達(dá)介質(zhì)(medium ofexpression)中的計算機(jī)程序產(chǎn)品的形式,該介質(zhì)中包含計算機(jī)可用的程序碼??梢允褂靡粋€或多個計算機(jī)可用的或計算機(jī)可讀的介質(zhì)的任何組合。計算機(jī)可用的或計算機(jī)可讀的介質(zhì)例如可以是——但不限于——電的、磁的、光的、電磁的、紅外線的、或半導(dǎo)體的系統(tǒng)、裝置、器件或傳播介質(zhì)。計算機(jī)可讀介質(zhì)的更具體的例子(非窮舉的列表)包括以下有一個或多個導(dǎo)線的電連接、便攜式計算機(jī)磁盤、硬盤、隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPR0M或閃存)、光纖、便攜式緊湊磁盤只讀存儲器(CD-ROM)、光存儲器件、諸如支持因特網(wǎng)或內(nèi)部網(wǎng)的傳輸介質(zhì)、或者磁存儲器件。注意計算機(jī)可用的或計算機(jī)可讀的介質(zhì)甚至可以是上面印有程序的紙張或者其它合適的介質(zhì),這是因為,例如可以通過電掃描這種紙張或其它介質(zhì),以電子方式獲得程序,然后以適當(dāng)?shù)姆绞郊右跃幾g、解釋或處理,并且必要的話在計算機(jī)存儲器中存儲。在本文件的語境中,計算機(jī)可用的或計算機(jī)可讀的介質(zhì)可以是任何含有、存儲、傳達(dá)、傳播、或傳輸供指令執(zhí)行系統(tǒng)、裝置或器件使用的或與指令執(zhí)行系統(tǒng)、裝置或器件相聯(lián)系的程序的介質(zhì)。計算機(jī)可用的介質(zhì)可包括在基帶中或者作為載波一部分傳播的、由其體現(xiàn)計算機(jī)可用的程序碼的數(shù)據(jù)信號。計算機(jī)可用的程序碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括-但不限干-無線、電線、光纜、RF等等。
用于執(zhí)行本發(fā)明的操作的計算機(jī)程序碼,可以以ー種或多種程序設(shè)計語言的任何組合來編寫,所述程序設(shè)計語言包括面向?qū)ο蟮某绦蛟O(shè)計語言-諸如Java、Smalltalk、C++之類,還包括常規(guī)的過程式程序設(shè)計語言-諸如” C”程序設(shè)計語言或類似的程序設(shè)計語言。程序碼可以完全地在用戶的計算上執(zhí)行、部分地在用戶的計算機(jī)上執(zhí)行、作為ー個獨立的軟件包執(zhí)行、部分在用戶的計算機(jī)上部分在遠(yuǎn)程計算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計算機(jī)或服務(wù)器上執(zhí)行。在后一種情形中,遠(yuǎn)程計算機(jī)可以通過任何種類的網(wǎng)絡(luò)——包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)-連接到用戶的計算機(jī),或者,可以(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng))連接到外部計算機(jī)。以下參照按照本發(fā)明實施例的方法、裝置(系統(tǒng))和計算機(jī)程序產(chǎn)品的流程圖和/或框圖描述本發(fā)明。要明白的是,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合,都可以由計算機(jī)程序指令實現(xiàn)。這些計算機(jī)程序指令可以提供給通用計算機(jī)、專用計算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出ー種機(jī)器,使得通過計算機(jī)或其它可編程數(shù)據(jù)處理裝置執(zhí)行的這些指令,產(chǎn)生實現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的裝置。也可以把這些計算機(jī)程序指令存儲在能指令計算機(jī)或其它可編程數(shù)據(jù)處理裝置以特定方式工作的計算機(jī)可讀介質(zhì)中,這樣,存儲在計算機(jī)可讀介質(zhì)中的指令產(chǎn)生ー個包括實現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的指令裝置(instruction means)的制造品。也可以把計算機(jī)程序指令加載到計算機(jī)或其它可編程數(shù)據(jù)處理裝置上,使得在計算機(jī)或其它可編程數(shù)據(jù)處理裝置上執(zhí)行一系列操作步驟,以產(chǎn)生計算機(jī)實現(xiàn)的過程,從而在計算機(jī)或其它可編程裝置上執(zhí)行的指令就提供實現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的過程。附圖中的流程圖和框圖,圖示了按照本發(fā)明各種實施例的系統(tǒng)、方法和計算機(jī)程序產(chǎn)品的可能實現(xiàn)的體系架構(gòu)、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段、或代碼的一部分,所述模塊、程序段、或代碼的一部分包含ー個或多個用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實現(xiàn)中,方框中所標(biāo)注的功能也可以以不 同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個接連地表示的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機(jī)指令的組合來實現(xiàn)。本文中所用的術(shù)語,僅僅是為了描述特定的實施例,而不意圖限定本發(fā)明。本文中所用的単數(shù)形式的“一”和“該”,_在也包括復(fù)數(shù)形式,除非上下文中明確地另外指出。還要知道,“包含” 一詞在本說明書中使用時,說明存在所指出的特征、整體、步驟、操作、単元和/或組件,但是并不排除存在或増加ー個或多個其它特征、整體、步驟、操作、単元和/或組件,以及/或者它們的組合。權(quán)利要求中的對應(yīng)結(jié)構(gòu)、材料、操作以及所有功能性限定的裝置(means)或步驟的等同替換,g在包括任何用干與在權(quán)利要求中具體指出的其它單元相組合地執(zhí)行該功能的結(jié)構(gòu)、材料或操作。所給出的對本發(fā)明的描述其目的在于示意和描述,并非是窮盡性的,也并非是要把本發(fā)明限定到所表述的形式。對于所屬技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不偏離本發(fā)明范圍和精神的情況下,顯然可以作出許多修改和變型。對實施例的選擇和說明,是為了最好地解釋本發(fā)明的原理和實際應(yīng)用,使所屬技術(shù)領(lǐng)域的普通技術(shù)人員能夠明了,本發(fā)明可以有適合所要的特定用途的具有各種改變的各種實施方式。
權(quán)利要求
1.一種用于監(jiān)控面向?qū)ο蟮膽?yīng)用的方法,包括 根據(jù)應(yīng)用的實時運行,建立代表事務(wù)的有向圖,所述有向圖中包含有多個可替換類的節(jié)點; 根據(jù)有向圖中多個可替換類的節(jié)點之間的調(diào)用關(guān)系選擇關(guān)鍵節(jié)點; 在選出的關(guān)鍵節(jié)點處插入監(jiān)控程序。
2.根據(jù)權(quán)利要求I的方法,還包括在頂端節(jié)點之前増加調(diào)用該頂端節(jié)點的開始節(jié)點,在底端節(jié)點之后増加被該底端節(jié)點所調(diào)用的結(jié)束節(jié)點,其中頂端節(jié)點為不被其它節(jié)點調(diào)用而僅調(diào)用其它節(jié)點的節(jié)點,底端節(jié)點為僅被其它節(jié)點調(diào)用而不調(diào)用其它節(jié)點的節(jié)點。
3.根據(jù)權(quán)利要求2的方法,其中根據(jù)有向圖中多個可替換類的節(jié)點之間的調(diào)用關(guān)系選擇關(guān)鍵節(jié)點包括將所述有向圖中的所有節(jié)點按照入度排序,選取排序中的前n名作為關(guān)鍵節(jié)點,其中n為自然數(shù),入度為節(jié)點在有向圖中被其它節(jié)點調(diào)用的數(shù)量。
4.根據(jù)權(quán)利要求2的方法,其中根據(jù)有向圖中多個可替換類的節(jié)點之間的調(diào)用關(guān)系選擇關(guān)鍵節(jié)點包括選取有向圖中所有入度達(dá)到某ー閾值的節(jié)點作為關(guān)鍵節(jié)點,其中入度為節(jié)點在有向圖中被其它節(jié)點調(diào)用的數(shù)量。
5.根據(jù)權(quán)利要求2的方法,其中根據(jù)有向圖中多個可替換類的節(jié)點之間的調(diào)用關(guān)系選擇關(guān)鍵節(jié)點包括將所述有向圖中所有節(jié)點按照入度出度之差排序,選取排序中的前n名作為關(guān)鍵節(jié)點,其中n為自然數(shù),入度為節(jié)點在有向圖中被其它節(jié)點調(diào)用的數(shù)量,出度為節(jié)點在有向圖中調(diào)用其它節(jié)點的數(shù)量。
6.根據(jù)權(quán)利要求2的方法,其中根據(jù)有向圖中多個可替換類的節(jié)點之間的調(diào)用關(guān)系選擇關(guān)鍵節(jié)點包括選取有向圖中所有入度出度之差達(dá)到某一閾值的所有節(jié)點作為關(guān)鍵節(jié)點,其中入度為節(jié)點在有向圖中被其它節(jié)點調(diào)用的數(shù)量,出度為節(jié)點在有向圖中調(diào)用其它節(jié)點的數(shù)量。
7.根據(jù)權(quán)利要求2的方法,其中根據(jù)有向圖中多個可替換類的節(jié)點之間的調(diào)用關(guān)系選擇關(guān)鍵節(jié)點包括 a.選擇有向圖中具有最大入度的節(jié)點作為基準(zhǔn)節(jié)點,入度為節(jié)點在有向圖中被其它節(jié)點調(diào)用的數(shù)量; b.對有向圖中與所述基準(zhǔn)節(jié)點有調(diào)用關(guān)系的相鄰節(jié)點進(jìn)行判斷,其中如果所述相鄰節(jié)點是調(diào)用所述基準(zhǔn)節(jié)點的節(jié)點且除了調(diào)用所述基準(zhǔn)節(jié)點之外不再調(diào)用其它節(jié)點,則從有向圖中刪除該相鄰節(jié)點;如果所述相鄰節(jié)點是被所述基準(zhǔn)節(jié)點調(diào)用的節(jié)點且除了被所述基準(zhǔn)節(jié)點調(diào)用之外不再被其它節(jié)點調(diào)用,則從有向圖中刪除該相鄰節(jié)點; c.對于每一個未刪除的相鄰節(jié)點,重復(fù)過程b,直至所有節(jié)點都被遍歷。
8.根據(jù)權(quán)利要求2的方法,其中根據(jù)有向圖中多個可替換類的節(jié)點之間的調(diào)用關(guān)系選擇關(guān)鍵節(jié)點包括將有向圖中所有頂端節(jié)點作為關(guān)鍵節(jié)點。
9.根據(jù)權(quán)利要求1-8中任ー個的方法,其中在選出的關(guān)鍵節(jié)點處插入監(jiān)控程序包括在選出的關(guān)鍵節(jié)點的前和/或后插入監(jiān)控程序,若已插入檢測程序,則不再重復(fù)插入。
10.一種用于監(jiān)控面向?qū)ο蟮膽?yīng)用的系統(tǒng),包括 事務(wù)圖建立器,被配置為根據(jù)應(yīng)用的實時運行,建立代表事務(wù)的有向圖,所述有向圖中包含有多個可替換類的節(jié)點; 關(guān)鍵節(jié)點選擇器,被配置為根據(jù)有向圖中多個可替換類的節(jié)點之間的調(diào)用關(guān)系選擇關(guān)鍵節(jié)點; 監(jiān)控程序插入器,被配置為在選出的關(guān)鍵節(jié)點處插入監(jiān)控程序。
11.根據(jù)權(quán)利要求10的系統(tǒng),其中事務(wù)圖建立器被配置為在頂端節(jié)點之前増加調(diào)用該頂端節(jié)點的開始節(jié)點,在底端節(jié)點之后増加被該底端節(jié)點調(diào)用的結(jié)束節(jié)點,其中頂端節(jié)點為不被其它節(jié)點調(diào)用而僅調(diào)用其它節(jié)點的節(jié)點,底端節(jié)點為僅被其它節(jié)點調(diào)用而不調(diào)用其它節(jié)點的節(jié)點。
12.根據(jù)權(quán)利要求11的系統(tǒng),其中關(guān)鍵節(jié)點選擇器被配置為將所述有向圖中的所有節(jié)點按照入度排序,選取排序中的前n名作為關(guān)鍵節(jié)點,其中n為自然數(shù),入度為節(jié)點在有向圖中被其它節(jié)點調(diào)用的數(shù)量。
13.根據(jù)權(quán)利要求11的系統(tǒng),其中關(guān)鍵節(jié)點選擇器被配置為選取有向圖中所有入度達(dá)到某ー閾值的節(jié)點作為關(guān)鍵節(jié)點,其中入度為節(jié)點在有向圖中被其它節(jié)點調(diào)用的數(shù)量。
14.根據(jù)權(quán)利要求11的系統(tǒng),其中關(guān)鍵節(jié)點選擇器被配置為將所述有向圖中所有節(jié)點按照入度出度之差排序,選取排序中的前n名作為關(guān)鍵節(jié)點,其中n為自然數(shù),入度為節(jié)點在有向圖中被其它節(jié)點調(diào)用的數(shù)量,出度為節(jié)點在有向圖中調(diào)用其它節(jié)點的數(shù)量。
15.根據(jù)權(quán)利要求11的系統(tǒng),其中關(guān)鍵節(jié)點選擇器被配置為選取有向圖中所有入度出度之差達(dá)到某一閾值的所有節(jié)點作為關(guān)鍵節(jié)點,其中入度為節(jié)點在有向圖中被其它節(jié)點調(diào)用的數(shù)量,出度為節(jié)點在有向圖中調(diào)用其它節(jié)點的數(shù)量。
16.根據(jù)權(quán)利要求11的系統(tǒng),其中關(guān)鍵節(jié)點選擇器被配置為 a.選擇有向圖中具有最大入度的節(jié)點作為基準(zhǔn)節(jié)點,入度為節(jié)點在有向圖中被其它節(jié)點調(diào)用的數(shù)量; b.對有向圖中與所述基準(zhǔn)節(jié)點有調(diào)用關(guān)系的相鄰節(jié)點進(jìn)行判斷,其中如果所述相鄰節(jié)點是調(diào)用所述基準(zhǔn)節(jié)點的節(jié)點且除了調(diào)用所述基準(zhǔn)節(jié)點之外不再調(diào)用其它節(jié)點,則從有向圖中刪除該相鄰節(jié)點;如果所述相鄰節(jié)點是被所述基準(zhǔn)節(jié)點調(diào)用的節(jié)點且除了被所述基準(zhǔn)節(jié)點調(diào)用之外不再被其它節(jié)點調(diào)用,則從有向圖中刪除該相鄰節(jié)點; c.對于每一個未刪除的相鄰節(jié)點,重復(fù)過程b,直至所有節(jié)點都被遍歷。
17.根據(jù)權(quán)利要求11的系統(tǒng),其中關(guān)鍵節(jié)點選擇器被配置為將有向圖中所有頂端節(jié)點作為關(guān)鍵節(jié)點。
18.根據(jù)權(quán)利要求10-17中任ー個的系統(tǒng),其中檢測程序插入器被配置為在選出的關(guān)鍵節(jié)點的前和/或后插入監(jiān)控程序,若已插入檢測程序,則不再重復(fù)插入。
19.一種自監(jiān)控系統(tǒng),包括面向?qū)ο蟮膽?yīng)用和根據(jù)權(quán)利要求10-17中任ー個的用于監(jiān)控面向?qū)ο蟮膽?yīng)用的系統(tǒng)。
全文摘要
本發(fā)明提供了用于監(jiān)控面向?qū)ο蟮膽?yīng)用的方法、系統(tǒng)和自監(jiān)控系統(tǒng)。用于監(jiān)控面向?qū)ο蟮膽?yīng)用的方法包括根據(jù)應(yīng)用的實時運行,建立代表事務(wù)的有向圖,所述有向圖中包含有多個可替換類的節(jié)點;根據(jù)有向圖中多個可替換類的節(jié)點之間的調(diào)用關(guān)系選擇關(guān)鍵節(jié)點;在選出的關(guān)鍵節(jié)點處插入監(jiān)控程序。本發(fā)明的一個方面使監(jiān)控面向?qū)ο蟮膽?yīng)用的監(jiān)控開銷大大減小。
文檔編號G06F11/30GK102650964SQ20111004797
公開日2012年8月29日 申請日期2011年2月28日 優(yōu)先權(quán)日2011年2月28日
發(fā)明者潘志華, 牧黎婧, 羅志達(dá), 車漾 申請人:國際商業(yè)機(jī)器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
车险| 竹北市| 兴业县| 铜川市| 寻甸| 始兴县| 大同县| 和林格尔县| 青岛市| 西乌珠穆沁旗| 定南县| 大冶市| 贵定县| 乌苏市| 北辰区| 安徽省| 赤壁市| 巩留县| 赫章县| 通海县| 驻马店市| 梅州市| 岑溪市| 全南县| 东阿县| 西丰县| 互助| 昆明市| 长海县| 鲜城| 囊谦县| 班戈县| 兴化市| 东港市| 图们市| 北安市| 历史| 彰化县| 江北区| 正定县| 苏尼特右旗|