亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

對應(yīng)用程序產(chǎn)生的日志數(shù)據(jù)進(jìn)行遠(yuǎn)程監(jiān)視的方法和設(shè)備的制作方法

文檔序號:6569613閱讀:236來源:國知局
專利名稱:對應(yīng)用程序產(chǎn)生的日志數(shù)據(jù)進(jìn)行遠(yuǎn)程監(jiān)視的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及遠(yuǎn)程數(shù)據(jù)監(jiān)視,例如監(jiān)視設(shè)備參數(shù)或是在遠(yuǎn)程數(shù)據(jù)處 理設(shè)備上運(yùn)行的應(yīng)用程序的輸出。
背景技術(shù)
在需要對應(yīng)用程序輸出的數(shù)據(jù)進(jìn)行監(jiān)視時,有時可以將應(yīng)用程序 的輸出存入非易失存儲器中的文件。所存儲的數(shù)據(jù)可以包括代表選定 事件和輸出的日志記錄。如果應(yīng)用程序出現(xiàn)故障,那么可以通過查看 所存儲的日志文件內(nèi)部的數(shù)據(jù)來幫助確定發(fā)生故障的事物,以及幫助 執(zhí)行恢復(fù)處理。在實踐中,日志文件的最后幾行往往會給出關(guān)于應(yīng)用 故障原因的有用線索。因此,如果運(yùn)行應(yīng)用的設(shè)備具有足夠的非易失 存儲空間來存儲日志記錄,那么可以通過分析存入本地日志文件的數(shù) 據(jù)來診斷問題。近年來,普適性嵌入式數(shù)據(jù)處理設(shè)備迅速增加-例如移動電話和PDA,用于監(jiān)視設(shè)備參數(shù)和氣候條件的設(shè)備,以及處于輸油管內(nèi)部和其他荒涼邊遠(yuǎn)環(huán)境的流量監(jiān)視器;此外,嵌入到車輛、冰箱、報警系 統(tǒng)以及用于人造環(huán)境的氣候控制系統(tǒng)中的數(shù)據(jù)處理組件也在迅速增 加。許多這種普適性嵌入式設(shè)備只具有很有限的存儲空間,并且只具 有少量或者不具有非易失存儲器,由此只能保持少量信息用于后續(xù)差 錯分析。對某些普適性設(shè)備來說,由于保持足夠日志文件所需要的存儲空 間有可能達(dá)到數(shù)兆字節(jié),并且可用存儲器有可能會被快速填滿,因此, 在此類普適設(shè)備上是無法保持足夠的日志文件的。其次,當(dāng)設(shè)備或應(yīng)用發(fā)生故障時,保存在易失RAM中的任何數(shù)據(jù)都不會幸存——只有 那些存入非易失存儲器的日志記錄才可用于故障分析。某些應(yīng)用設(shè)想存在一個用于輸出診斷消息的本地控制臺顯示器。 此類應(yīng)用通常是在只進(jìn)行最低限度的變更的情況下在沒有控制臺顯 示器的嵌入式設(shè)備上運(yùn)行的。由于很多嵌入式設(shè)備和遠(yuǎn)程監(jiān)視設(shè)備都 不具有控制臺顯示器,并且其存儲器不足以寫入日志記錄,因此,診 斷信息往往會被丟棄,而產(chǎn)生該信息的潛在益處也會喪失。發(fā)明內(nèi)容本發(fā)明的第一個方面提供的是一種用于對應(yīng)用程序產(chǎn)生的日志數(shù)據(jù)進(jìn)行遠(yuǎn)程監(jiān)視的方法,該方法包括以下步驟將應(yīng)用程序產(chǎn)生的日志數(shù)據(jù)存入第一數(shù)據(jù)處理系統(tǒng)的存儲器,其 中第一數(shù)據(jù)處理系統(tǒng)位于應(yīng)用程序的本地;以及由在第一數(shù)據(jù)處理系統(tǒng)上運(yùn)行的發(fā)布者程序執(zhí)行以下步驟從存 儲器中獲取新存儲的日志數(shù)據(jù);以及反復(fù)將所獲取的日志數(shù)據(jù)作為出 版物序列傳送到第二數(shù)據(jù)處理系統(tǒng),其中該第二數(shù)據(jù)處理系統(tǒng)包括發(fā) 布/預(yù)訂消息代理。該應(yīng)用程序可以在存儲受限的數(shù)據(jù)處理設(shè)備上運(yùn)行——即該數(shù) 據(jù)處理系統(tǒng)是不具有可寫入非易失存儲器(也就是只具有易失RAM ) 或者只具有有限的可寫入易失存儲器和非易失存儲器的數(shù)據(jù)處理系 統(tǒng),由此有必要控制在任何時間保存在該設(shè)備上的輸出數(shù)據(jù)量。本發(fā)明獲取應(yīng)用程序產(chǎn)生的數(shù)據(jù),以便將其存入日志文件或是作 為控制臺輸出來顯示,其中舉例來說,控制臺輸出可以是診斷信息、 系統(tǒng)警報或是其他那些與應(yīng)用程序操作相關(guān)聯(lián)的特定事件輸出。在這 里可以將此類數(shù)據(jù)稱為日志數(shù)據(jù)。該應(yīng)用可以是一個數(shù)據(jù)日志記錄 器,其用途是在本地收集有效時段上的數(shù)據(jù),以便能在以后進(jìn)行分析。 對某些應(yīng)用程序來說,這些程序是在無法顯示日志數(shù)據(jù)的無頭 (headless)系統(tǒng)或是在存儲容量不足以在本地存儲足夠日志數(shù)據(jù)的 系統(tǒng)上產(chǎn)生此類日志數(shù)據(jù)的。通過獲取和反復(fù)發(fā)布日志數(shù)據(jù),本發(fā)明消除了在存儲受限的設(shè)備 上保留大型日志數(shù)據(jù)文件的需要,并且可以消除將此類數(shù)據(jù)存入存儲受限的設(shè)備上的磁盤存儲器的需要。對于那些已經(jīng)被存入存儲器、從 存儲器中獲取和發(fā)布的數(shù)據(jù)來說,這些數(shù)據(jù)可以在存儲器中被改寫。 此外,本發(fā)明還能比正在寫入日志數(shù)據(jù)的應(yīng)用程序所預(yù)期的頻率快的 頻率來將日志數(shù)據(jù)傳送到的遠(yuǎn)程系統(tǒng)。應(yīng)用程序既可以監(jiān)視傳感器或儀表輸出,也可以監(jiān)視其他那些在 本地產(chǎn)生的數(shù)據(jù),并且由此產(chǎn)生那些不能在本地控制臺顯示器上顯示 或是存入本地非易失磁盤存儲器的日志數(shù)據(jù)。作為替換,應(yīng)用程序可 以是專用的日志記錄器應(yīng)用。該日志數(shù)據(jù)不會被丟棄,而是被傳送到 在遠(yuǎn)程系統(tǒng)上運(yùn)行的發(fā)布/預(yù)訂消息代理,這一 點(diǎn)可以在不對應(yīng)用程序 重新編碼的情況下實現(xiàn)。該數(shù)據(jù)是作為關(guān)于某個主題(或是多于一個 的主題)的出版物序列傳送的,并且將會轉(zhuǎn)發(fā)給已經(jīng)預(yù)訂接收關(guān)于該 主題的出版物的訂戶,其中所述主題可以由代理內(nèi)部的發(fā)布/預(yù)定匹配 引擎識別。這些出版物可被傳遞到多于一個的注冊訂戶,以便分析和 /或存儲這些出版物(這與僅僅是將其數(shù)據(jù)提供給單個應(yīng)用的大多數(shù)遙 測系統(tǒng)相反)。在本發(fā)明的一個實施例中,在存儲受限的設(shè)備上運(yùn)行的應(yīng)用程序 會將其日志數(shù)據(jù)存入該存儲受限設(shè)備的易失存儲器中的某個"循環(huán)" 數(shù)據(jù)文件。對這個"循環(huán)"數(shù)據(jù)文件來說,當(dāng)該文件使用了為其分配的 所有存儲器空間之后,在將任何新數(shù)據(jù)寫入該文件時,首先改寫最早 的數(shù)據(jù),并且由此開始改寫這個文件。該處理是一種用于管理日志文 件大小的可行機(jī)制。然后,在這里將會執(zhí)行一個新日志數(shù)據(jù)的反復(fù)提 取處理,其中舉例來說,該處理是通過截取循環(huán)日志文件尾部來進(jìn)行 的。這種尾部截取處理由反復(fù)產(chǎn)生出版物的發(fā)布者程序執(zhí)行,由此可 以將新的日志數(shù)據(jù)發(fā)送到遠(yuǎn)程系統(tǒng)。數(shù)據(jù)提取和發(fā)布頻率將會受到控制,以便確保在發(fā)行所需要的數(shù) 據(jù)之前不會改寫該數(shù)據(jù)。出版物的產(chǎn)生頻率可以與所產(chǎn)生的日志數(shù)據(jù) 量相關(guān)聯(lián)。該處理可以使用多個選項來實現(xiàn)——例如,從產(chǎn)生和發(fā)送 最近的出版物時開始,在將所需行或字節(jié)數(shù)量的數(shù)據(jù)存入日志文件之 后,發(fā)布者產(chǎn)生一個出版物。此外,出版物生成處理還可以通過添加關(guān)于日志的某些關(guān)鍵字標(biāo)識來觸發(fā),或者可以在發(fā)送最近出版物時開 始的時段終止的時候觸發(fā)。在一個替換實施例中,與發(fā)布者截取存儲器內(nèi)部文件尾部不同, 對在存儲受限的設(shè)備上運(yùn)行的第 一應(yīng)用程序來說,該程序輸出的新日 志數(shù)據(jù)將會"用管道傳輸"到發(fā)布者應(yīng)用。由此,發(fā)布者程序可以通過 截取日志文件尾部來主動獲取新存儲的日志數(shù)據(jù),或者如果應(yīng)用輸出 的日志數(shù)據(jù)直接通過管道傳輸?shù)桨l(fā)布者程序的輸入端,或者如果可以 將日志數(shù)據(jù)存入應(yīng)用程序與發(fā)布者之間的指定管道,那么發(fā)布者程序 可以采用更被動的方式來獲取數(shù)據(jù)。在一個實施例中,發(fā)布者應(yīng)用產(chǎn)生新出版物,并且將其經(jīng)由同樣 在存儲受限設(shè)備上運(yùn)行的消息傳遞客戶機(jī)(或其他通信處理器組件) 傳遞到遠(yuǎn)程系統(tǒng)。這樣做有助于使用發(fā)布/預(yù)訂消息傳遞網(wǎng)絡(luò)內(nèi)部的簡 單發(fā)布者應(yīng)用來整合眾多的數(shù)據(jù)收集設(shè)備的輸出。該消息傳遞客戶機(jī) 負(fù)責(zé)把出版物傳送到遠(yuǎn)程系統(tǒng)上的發(fā)布/預(yù)訂消息代理(借助來自網(wǎng)絡(luò) 內(nèi)部的中間網(wǎng)絡(luò)節(jié)點(diǎn)之上的消息管理器的支持)。然后,代理內(nèi)部的 發(fā)行/預(yù)訂匹配引擎可以將接收到的出版物的主題名稱(或其他內(nèi)容) 與一組預(yù)訂相比較,其中該預(yù)訂將主題(或其他內(nèi)容)與訂戶相關(guān)聯(lián), 由此識別出版物所要送抵的一個或多個訂戶。本發(fā)明提高了日志數(shù)據(jù)和那些為控制臺顯示器而產(chǎn)生的數(shù)據(jù)的 可用性。如果在存儲受限的設(shè)備上出現(xiàn)故障,那么該處理將是非常有 益的,特別地,如果本地設(shè)備沒有存儲足夠日志記錄的容量,或者沒 有非易失存儲器,那么該處理將是非常有利的。通過使用發(fā)布/預(yù)訂通 信,可以在由哪一個(以及有多少個)應(yīng)用來處理日志數(shù)據(jù)的方面提 供靈活性,此外還有助于遠(yuǎn)程分析問題。發(fā)布步驟可以在規(guī)則或不規(guī)則的時間間隔上執(zhí)行。后者的 一個實 例是在所獲取的新數(shù)據(jù)達(dá)到預(yù)定大小限度時發(fā)送一個出版物或一批 出版物,別的實例則響應(yīng)于添加到存儲器內(nèi)部的數(shù)據(jù)文件的每一個新 條目來發(fā)送出版物。在本發(fā)明的 一個實施例中,所獲取的日志數(shù)據(jù)將被傳送到 一 個消8息代理,其中該消息代理包含"保留機(jī)制",并且提供了有保證的消息傳遞——例如,這種有保證的消息傳遞是用IBM WebSphere MQ遙 測傳輸協(xié)議中的"retain (保留),,標(biāo)記提供的,該協(xié)議是在IBM公司 的WebSphere消息代理中實施的。WebSphere和IBM都是國際商用 機(jī)器公司在美國和其他國家的注冊商標(biāo)。當(dāng)發(fā)布者選擇"retain,,選項 時,在消息代理中將會保留為每一個主題發(fā)布的最后的消息。在典型的消息傳遞環(huán)境中,如果有能力在代理上保留最后發(fā)布的 消息,那么將被認(rèn)為是非常理想的,這是因為該能力能使相關(guān)消息主 題的新訂戶直接獲取最新的可用數(shù)據(jù)——而不用等待新出版物。由 此,所保留的最后消息將被假設(shè)成是最后的已知"良好數(shù)據(jù)"。但是, 當(dāng)在將診斷信息包含于已發(fā)布數(shù)據(jù)的本發(fā)明的實施例中使用保留機(jī) 制時,如果存儲受限的設(shè)備遭遇故障,那么該保留機(jī)制可以提供有用 信息。換言之,成功傳送的最后的出版物可以提供與發(fā)生故障前的設(shè) 備有關(guān)的有用信息——這些信息不僅僅是最近的數(shù)據(jù),而且還有可能 是用于診斷故障的至關(guān)重要的數(shù)據(jù)。本發(fā)明的第二個方面提供了一種數(shù)據(jù)處理系統(tǒng),包括系統(tǒng)存儲器;被配置成將日志數(shù)據(jù)存入系統(tǒng)存儲器的第一應(yīng)用程序; 發(fā)布者程序,被配置成從系統(tǒng)存儲器中獲取新存儲的日志數(shù)據(jù),以及反復(fù)將新獲取的日志數(shù)據(jù)作為出版物序列傳送到發(fā)布/預(yù)訂消息代理。通常,發(fā)布/預(yù)訂消息代理包含計算機(jī)程序,該計算機(jī)程序不但 實施消息通信協(xié)議和消息路由功能,而且還執(zhí)行發(fā)布/預(yù)訂匹配引擎, 并且是在獨(dú)立的數(shù)據(jù)處理設(shè)備上運(yùn)行的。本發(fā)明的第三個方面提供了一種在根據(jù)本發(fā)明的監(jiān)視方法中使 用的如上所述的發(fā)布者計算機(jī)程序。該發(fā)布者計算機(jī)程序可以作為在 記錄介質(zhì)上記錄的程序代碼來得到,或者可以經(jīng)由通信網(wǎng)絡(luò)而被下載 得到。


在下文中將會參考附圖來對本發(fā)明的實施例進(jìn)行更詳細(xì)的描述,其中所述描述僅僅是作為實例給出的,并且其中圖1是一個分布式網(wǎng)絡(luò)的示意圖,在該網(wǎng)絡(luò)中,發(fā)布者應(yīng)用和訂 戶應(yīng)用運(yùn)行在遠(yuǎn)程系統(tǒng)上,并且相互通過如在本領(lǐng)域中已知的中間發(fā) 布/預(yù)訂代理來進(jìn)行通信;圖2是根據(jù)本發(fā)明實施例并且顯示了一組計算機(jī)程序和存儲組 件的兩個遠(yuǎn)程數(shù)據(jù)處理系統(tǒng)的示意圖;圖3顯示的是根據(jù)本發(fā)明第二實施例的系統(tǒng);圖4是顯示由圖2的數(shù)據(jù)處理系統(tǒng)執(zhí)行的操作順序的流程圖;以及圖5是處理和發(fā)布來自互聯(lián)網(wǎng)日志的數(shù)據(jù)的結(jié)果的例示性顯示。
具體實施方式
很多應(yīng)用程序都會輸出用于在控制臺顯示器上顯示的信息——該顯示器是運(yùn)行應(yīng)用的設(shè)備的顯示單元(或是應(yīng)用運(yùn)行時所在的窗口 )。在添加新數(shù)據(jù)時,該信息通常會向上巻動,由此最早的數(shù)據(jù)將會從視圖中消失——但是最后的"屏幕,,信息仍舊是可以查看的。這樣做有兩個優(yōu)點(diǎn)。首先,在報告事件或系統(tǒng)參數(shù)時,用戶可以查看最新的事件或系統(tǒng)參數(shù)。其次,如果應(yīng)用因為故障而停止運(yùn)行,那么可以通過查看最后的屏幕信息來幫助確定問題。但是,對很多計算機(jī)、例如嵌入在其他設(shè)備中的計算機(jī)來說,這 些計算機(jī)不具有與之附著的顯示單元(此類系統(tǒng)被稱為是"無頭的,,)。此外還存在另 一個問題,那就是個人用戶并不是始終都能在需要時查 看所顯示的信息。通常,能夠?qū)⒖刂婆_輸出重定向到非易失存儲器中 可以被存儲以及在以后查看的日志文件。但是,很多普適性設(shè)備只具 有少量或者根本沒有可用于存儲此類日志文件的存儲器。由此需要一種用于存儲受限的無頭系統(tǒng)以及用于不易被用戶訪 問的存儲受限系統(tǒng)的監(jiān)視方案。本發(fā)明則通過一種基于專家發(fā)布/預(yù)訂技術(shù)的解決方案解決了這個問題。在圖1中顯示了一個常規(guī)的分布式發(fā)布/預(yù)訂通信網(wǎng)絡(luò)。在一個或多個發(fā)布者應(yīng)用程序10、 20中,每一個發(fā)布者應(yīng)用程序都在相應(yīng) 的數(shù)據(jù)處理設(shè)備30、 40上運(yùn)行,并且向包含預(yù)訂匹配引擎50的消息 代理發(fā)送出版物。 一個或多個訂戶60、 70、 80在相應(yīng)的數(shù)據(jù)處理系 統(tǒng)卯、100、 110上運(yùn)行,并且已經(jīng)注冊到預(yù)訂匹配引擎60——由此 提供其網(wǎng)絡(luò)地址信息以及任何其他通信需求。在基于主題的發(fā)布/預(yù)訂 網(wǎng)絡(luò)中,訂戶將會規(guī)定其希望接收的出版物的主題。發(fā)布者10、 20 (或是與發(fā)布者相關(guān)聯(lián)的消息傳遞中間件120)知道如何與預(yù)訂匹配 引擎取得聯(lián)系,并且在其出版物中(例如在消息報頭中)包含主題標(biāo) 識符。這些發(fā)布者不需要知道訂戶的網(wǎng)絡(luò)尋址信息——甚至不需要知 道其身份。通常,預(yù)訂匹配引擎50包含了同樣處理網(wǎng)絡(luò)路由的消息 代理程序300的一部分。在數(shù)據(jù)處理系統(tǒng)130上,消息代理在與發(fā)布 者和訂戶分離的中間網(wǎng)絡(luò)位置上運(yùn)行,并且極大簡化了發(fā)布者和訂戶 的通信。預(yù)訂匹配組件將接收到的每個出版物中的主題名稱與同樣規(guī) 定主題名稱的已存儲預(yù)訂列表140相比較,并且將出版物轉(zhuǎn)發(fā)給那些 表明希望接收關(guān)于該主題的出版物的訂戶。在其他環(huán)境中,預(yù)訂匹配組件的實例可以在每一個訂戶系統(tǒng)上運(yùn) 行,并且用于向本地訂戶標(biāo)識所關(guān)注的出版物。圖2包含的是根據(jù)本發(fā)明實施例的監(jiān)視設(shè)備200的示意圖。在本 實例中,監(jiān)視設(shè)備是一個數(shù)據(jù)存儲容量有限的無頭數(shù)據(jù)處理系統(tǒng)。該 監(jiān)視設(shè)備200包括發(fā)布能力,用于將監(jiān)視和控制應(yīng)用輸出的日志數(shù)據(jù) 傳送給遠(yuǎn)程數(shù)據(jù)處理系統(tǒng)130上的發(fā)布/預(yù)訂消息代理300。發(fā)送給代 理系統(tǒng)130的出版物包含從在系統(tǒng)200上運(yùn)行的監(jiān)視應(yīng)用程序210獲 取的日志數(shù)據(jù)。例如,發(fā)布者系統(tǒng)200可以是與油管或氣管內(nèi)部用于 監(jiān)視管道內(nèi)部流體的流率和其他參數(shù)的特定目的的傳感器150相連的 數(shù)據(jù)處理設(shè)備。其他的例示發(fā)布者系統(tǒng)包括自動儀表讀數(shù)系統(tǒng)和天氣 監(jiān)視系統(tǒng),其中該天氣監(jiān)視系統(tǒng)包含用于提供與風(fēng)速和風(fēng)向、降雨量、 溫度、濕度以及大氣壓力有關(guān)的數(shù)據(jù)的傳感器。在后一個實例中,每一個傳感器都有可能具有一個獨(dú)立監(jiān)視應(yīng)用程序。此外,在家庭自動 化系統(tǒng)中也可以具有若千個用于產(chǎn)生輸出數(shù)據(jù)的應(yīng)用,并且該系統(tǒng)會 將監(jiān)視和控制與智能電器集成處理以及報警/警告生成處理結(jié)合在一 起。正如在本領(lǐng)域中已知的那樣,應(yīng)用程序?qū)漭敵鰯?shù)據(jù)的消息 發(fā)送到消息代理,消息代理將這些消息轉(zhuǎn)發(fā)到遠(yuǎn)程系統(tǒng)(例如使用發(fā) 布/預(yù)訂匹配機(jī)制來識別訂戶,其中該訂戶需要那些與特定出版物內(nèi)部 規(guī)定的主題有關(guān)的消息)。但是,本發(fā)明使用了發(fā)布/預(yù)訂機(jī)制來提供 針對那些通常將被存入本地日志文件的應(yīng)用日志數(shù)據(jù)的訪問,并且為 非易失存儲容量不足以在本地存儲大型日志文件的遠(yuǎn)程無頭設(shè)備實 現(xiàn)該處理。本發(fā)明可以應(yīng)用于專用日志記錄器應(yīng)用所產(chǎn)生的數(shù)據(jù)——該應(yīng) 用通常會在本地存儲大量日志數(shù)據(jù),以便在以后進(jìn)行分析。通過以遠(yuǎn) 遠(yuǎn)高于日志記錄器應(yīng)用所預(yù)期的頻率來獲取和反復(fù)發(fā)布數(shù)據(jù),本發(fā)明 可以消除在始發(fā)系統(tǒng)上存儲大型日志文件的需要。在第一實施例中,監(jiān)視應(yīng)用210將其產(chǎn)生的日志數(shù)據(jù)存入處于監(jiān) 視設(shè)備200的本地易失RAM 190內(nèi)部的"循環(huán)"數(shù)據(jù)文件220。眾所周 知,某些應(yīng)用使用了固定大小的文件作為日志文件,然后則以"循環(huán),, 方式使用該日志文件——當(dāng)文件已經(jīng)達(dá)到其固定大小限度時,該文件 將從開端開始被改寫。這樣做的優(yōu)點(diǎn)是文件不會增至規(guī)定大小以上, 由此不會填滿文件系統(tǒng)。其次,如果應(yīng)用異常終止,那么可以觀察最 近寫入的數(shù)據(jù)。在已知的系統(tǒng)中,這種可用性是通過在非易失盤存儲 器中創(chuàng)建日志文件來實現(xiàn)的。但是,根據(jù)本發(fā)明的實施例,循環(huán)日志 文件220將被保持在易失存儲器而不是盤存儲器中,并且其自身將會 受到發(fā)布程序320 (為了方便起見,在下文中將其稱為"Pubtail")的 監(jiān)視。對監(jiān)視應(yīng)用210來說,其循環(huán)日志文件的文件名被指定給Pub tail 230,然后,Pubtail可以使用恰當(dāng)?shù)奈募L問命令("seek"(查找)) 而使Pubtail在未遭遇EndOfFile (文件結(jié)束)條件的情況下一直監(jiān)視文件中最后寫入的部分。作為替換,如果日志文件220是一個不斷擴(kuò)充的文件,那么可以 通過使用如下命令來截取文件尾部,從而實時獲取最近寫入的數(shù)據(jù) tail -f log.file | pubtail作為替換,日志條目可以在其標(biāo)準(zhǔn)輸入流上通過使用下式而被提 供給Pubtail (直接從應(yīng)用用管道傳送到Pubtail): application | pubtail然后,Pubtail可以處理如下所述的出版物數(shù)據(jù)。在本領(lǐng)域中,用于截取文件尾部的眾多實用程序(使用似,7-/) 都是已知的。例如,當(dāng)可以直接訪問存儲了每一個日志文件的文件系 統(tǒng)時,這時可以使用諸如JLogTailer ( JavaTM日志尾部截取工具)之 類的工具。該實例是與網(wǎng)站www.jibble.org上的其他因特網(wǎng)/文件工具 一起被描述的。此外,與已知尾部截取工具相類似的功能同樣可以用 于與本發(fā)明的發(fā)布者特征相結(jié)合的數(shù)據(jù)獲取步驟。對本發(fā)明的Pubtail程序來說,除了與已知的尾部截取程序相類 似的數(shù)據(jù)獲取能力之外,其實施方式還包括用于反復(fù)發(fā)布所提取的輸 出數(shù)據(jù)組塊的發(fā)布功能。在這個解決方案中,Pubtail程序的數(shù)據(jù)獲取 組件230與輕型消息傳遞客戶機(jī)組件240相對接,以便向發(fā)布/預(yù)訂消 息代理的預(yù)訂匹配組件傳送近期獲取的數(shù)據(jù)和主題名稱。該P(yáng)ubtail 的數(shù)據(jù)獲取組件230和消息傳遞組件240既可以包括單個計算機(jī)程序 的兩個集成組件,也可以包括兩個獨(dú)立程序。在本實施例中,消息傳遞客戶機(jī)240實施的是由IBM公司開發(fā) 的WebSphere MQ遙測傳輸(MQTT )協(xié)議。MQTT協(xié)i義為通過 TCP/IP的發(fā)布/預(yù)訂消息傳遞提供了用于傳遞確保等級的不同選項, 并且被設(shè)計用于在遙測集成應(yīng)用中發(fā)現(xiàn)的專用客戶機(jī)設(shè)備和網(wǎng)絡(luò)類 型。MQTT會將網(wǎng)絡(luò)帶寬最小化,由此只需要兩字節(jié)數(shù)據(jù)作為與消息 數(shù)據(jù)內(nèi)容相關(guān)聯(lián)的報頭開銷。根據(jù)應(yīng)用程序的輸出特性,Pubtail的發(fā)布者功能可以工作在兩 種不同模式中,以便確保在數(shù)據(jù)從始發(fā)系統(tǒng)中丟失之前發(fā)布該數(shù)據(jù)1) 發(fā)布每N行的輸出(例如每一行)。在這種情況下,Pubtail 230將會等待到其從監(jiān)視應(yīng)用210獲取了指定數(shù)量的新行分隔線的控 制臺輸出。然后,Pubtail 230將會發(fā)布包含這些行信息以及包含預(yù)先 指派的主題標(biāo)識符的消息。并且該消息將被發(fā)送到消息代理系統(tǒng)130。2) 發(fā)布每M字節(jié)的輸出。在這種情況下,Pubtail吸收來自監(jiān) 視應(yīng)用程序輸出端的數(shù)據(jù),并且忽略換行符,直至其具有M字節(jié)(例 如lkB)數(shù)據(jù),然后則向包含該數(shù)據(jù)的代理發(fā)布消息。這兩種模式都具有一個可選超時。如果沒有設(shè)置超時,那么 Pubtail將會等待到其獲取了規(guī)定數(shù)量的字節(jié)或行為止。如果設(shè)置了超 時,并且Pubtail沒有在指定時間以前獲取規(guī)定數(shù)量的字節(jié)或行,那 么Pubtail會向發(fā)布/預(yù)訂代理系統(tǒng)發(fā)送消息,其中該消息包含了 Pubtail從最后一次發(fā)布消息時起已經(jīng)獲取的數(shù)據(jù)。這樣做可以避免 Pubtail在系統(tǒng)中引入不恰當(dāng)?shù)难舆t。此外,Pubtail還可以被配置成 對出現(xiàn)在日志中的特定關(guān)鍵字或短語做出響應(yīng)。上述解決方案包括將監(jiān)視應(yīng)用輸出的日志數(shù)據(jù)寫入存儲器中的 日志文件,然后截取這個文件的尾部,除了這些解決方案之外,其他 實施例同樣處于本發(fā)明的范圍以內(nèi)。在UNIXTM系統(tǒng)中(例如 LINUXTM系統(tǒng)),來自一個應(yīng)用的輸出可以直接用管道傳送到另一個 應(yīng)用的輸入端——也就是將第一應(yīng)用的標(biāo)準(zhǔn)輸出流拷貝給發(fā)布者程 序的標(biāo)準(zhǔn)輸入流。作為替換,日志數(shù)據(jù)也可被存入"指定管道",其中 該管道是基于存儲器的隊列,并且會在文件系統(tǒng)中以帶有文件名的形 式出現(xiàn)。如果該隊列是用于第一應(yīng)用程序的指定輸出文件,那么該第 一應(yīng)用寫入到隊列的任何數(shù)據(jù)都可以由其他的應(yīng)用程序檢索,其中所 述其他的應(yīng)用程序通過開放用于輸入的指定管道來從隊列中進(jìn)行讀 取。通過在存儲器中為發(fā)布者應(yīng)用創(chuàng)建輸入隊列,以及將該輸入隊列 指定為將被監(jiān)視應(yīng)用輸出數(shù)據(jù)的指定輸出文件,監(jiān)視應(yīng)用輸出的數(shù)據(jù) 將被"用管道傳送到"發(fā)布者應(yīng)用。該發(fā)布者應(yīng)用通過數(shù)據(jù)處理系統(tǒng)的 網(wǎng)絡(luò)將數(shù)據(jù)轉(zhuǎn)發(fā)給發(fā)布/預(yù)訂代理,其中該代理會將數(shù)據(jù)異步轉(zhuǎn)發(fā)給一個或多個訂戶應(yīng)用。由此,監(jiān)視應(yīng)用可以在具有少量或者沒有盤存儲 器的設(shè)備上使用——從而避免出現(xiàn)監(jiān)視應(yīng)用的輸出數(shù)據(jù)填滿文件系 統(tǒng)的潛在問題。圖3是一個系統(tǒng)的示意圖,在該系統(tǒng)中,監(jiān)視應(yīng)用210將數(shù)據(jù)輸 出到指定管道320。發(fā)布者應(yīng)用的數(shù)據(jù)獲取組件330獲取該數(shù)據(jù),并 且這些數(shù)據(jù)是通過發(fā)布者應(yīng)用的消息傳遞客戶機(jī)230發(fā)布的。在產(chǎn)生 輸出數(shù)據(jù)時,發(fā)布者應(yīng)用逐行接收來自監(jiān)視應(yīng)用210的輸入。以此方 式,發(fā)布者應(yīng)用將會接收到這樣的數(shù)據(jù),其中如果個人用戶可以觀察 控制臺監(jiān)視器,并且監(jiān)視應(yīng)用將其輸出發(fā)送到控制臺監(jiān)視器,那么接 收到的數(shù)據(jù)與用戶在上述情況下看到的數(shù)據(jù)相同。為了便于參考,并 且由于以下描述適用于上述發(fā)布者實現(xiàn)方式的任一實施方式,因此,在下文中會再次將發(fā)布者應(yīng)用310稱為Pubtail。Pubtail包括一個可用于問題診斷的附加特征。如果被監(jiān)視的應(yīng) 用因為某些原因退出(通常是因為故障導(dǎo)致異常退出),那么Pubtail 會向發(fā)布/預(yù)訂代理系統(tǒng)發(fā)布一個消息。該消息將會包含應(yīng)用輸出的最 終消息,對問題診斷來說,該消息有可能是至關(guān)重要的數(shù)據(jù)。舉例來 說,如果將Pubtail設(shè)置成發(fā)布每100行,并且應(yīng)用未能將50行輸入 到新的批次中,那么當(dāng)應(yīng)用退出時,Pubtail將會發(fā)送這50行。Pubtail 會在其輸入流上接收EndOfFile消息,并且由此識別應(yīng)用退出,然后 它會發(fā)布其最后緩存的數(shù)據(jù)。當(dāng)應(yīng)用退出時,該EndOfFile標(biāo)記將會 由操作系統(tǒng)置于輸入流中。Pubtail可以被配置成在此時(也就是響應(yīng) 于EndOfFile所識別的應(yīng)用退出事件)將其自身退出,由此自動產(chǎn)生 發(fā)送給發(fā)布/預(yù)訂代理系統(tǒng)的狀態(tài)消息。該狀態(tài)消息可以充當(dāng)針對遠(yuǎn)程 系統(tǒng)操作者或管理員的警報。此外,該狀態(tài)消息可以簡單到由Pubtail 發(fā)送涉及狀態(tài)主題的l或O (有效或已退出)。由此,發(fā)布/預(yù)訂代理 不但接收到應(yīng)用在其退出之前最后輸出的數(shù)據(jù),而且還會接收到狀態(tài) 警報。然后,接到警報的操作者/管理員可以查看保留在代理上的輸出 日志中的出版物(參見下文),以便分析最后輸出的數(shù)據(jù)。在這里可以設(shè)置兩個附加標(biāo)記來控制Pubtail的操作。這些附加標(biāo)記是"保留"和用于指示"Assured (有保證的),,遞送需求的服務(wù)質(zhì) 量標(biāo)記,并且這些標(biāo)記可以與上述操作模式中的任何一種結(jié)合使用。"保留"標(biāo)志是已知的WebSphere MQ遙測傳輸(MQTT)協(xié)議 的特征,并且WebSphere MQ發(fā)布/預(yù)訂消息代理將其解釋成是指應(yīng) 該將發(fā)送到代理的關(guān)于特定主題的最近消息保存在代理上。由此,當(dāng) Pubtail的獲取組件與MQTT消息傳遞客戶機(jī)對接時,為了向 WebSphere MQ消息代理發(fā)送出版物,Pubtail發(fā)布的最近消息將被 保存在代理中。新近保留的消息將會改寫先前保留的關(guān)于該主題的消 息。該特征的一個優(yōu)點(diǎn)是對通常不與消息代理相連的訂戶來說,他 們可以借助代理而從Pubtail那里預(yù)訂專用日志主題,并且將會立即 接收到為該主題發(fā)布的最近消息。如果被監(jiān)視的應(yīng)用發(fā)生故障,那么 對診斷處理來說,最近保留的消息往往是至關(guān)重要的消息——該消息 包含應(yīng)用在其發(fā)生故障之前最后幾行的應(yīng)用輸出。Assured(有保證)標(biāo)記規(guī)定的是由Pubtail發(fā)布并且使用MQTT 而被發(fā)送到消息代理的消息的端到端消息遞送所需要的"服務(wù)質(zhì)量" 選項。當(dāng)從MQTT提供的下列選項中選擇了適當(dāng)?shù)姆?wù)質(zhì)量(QoS2 ) 時,Assured標(biāo)記是4艮有益處的 QOSO——"發(fā)送并遺忘"——這意味著雖然大多數(shù)消息會被 成功遞送一次,但是某些消息有可能會丟失; qoS1——"至少執(zhí)行一次遞送"——它使用了簡單應(yīng)答來確保即使發(fā)生網(wǎng)絡(luò)故障,也能最終遞送每一個消息,但是應(yīng)答消息丟 失將會導(dǎo)致客戶機(jī)應(yīng)用將所述消息發(fā)送一次以上;以及 QoS2——"確保只執(zhí)行一次遞送"——在客戶機(jī)與消息代理 之間具有更多的消息流,以便提供有保證的有且僅有一次的消息遞 送。當(dāng)在設(shè)置了 QoS2 ("Assured")標(biāo)記的情況下經(jīng)由Pubtail和 MQTT發(fā)送消息時,這相當(dāng)于一個要求代理在連接一個或多個訂戶 (如果訂戶在發(fā)布時沒有連接)之前保持消息的指令。這種方法將會 確保即使訂戶不能始終連接,恰當(dāng)?shù)挠啈舫绦蛞材芙邮盏剿腥罩鞠?。這種處理有效地將日志從存儲受限的普適性設(shè)備移動到能夠更 好存儲所需數(shù)量的數(shù)據(jù)的數(shù)據(jù)處理系統(tǒng)(在本范例中是發(fā)布/預(yù)訂代理 系統(tǒng))。消息傳遞程序240借助MQTT通信協(xié)議而將所識別的新數(shù)據(jù)傳 送到位于網(wǎng)絡(luò)中其他位置的消息代理系統(tǒng)130。在消息代理系統(tǒng)130 上運(yùn)行并具有MQTT能力的消息傳遞程序250則將出版物傳遞到發(fā) 布/預(yù)訂消息代理300。消息代理300的發(fā)布/預(yù)訂匹配引擎50將接收 到的出版物內(nèi)部的主題標(biāo)識符與將主題關(guān)聯(lián)于特定訂戶的已存儲預(yù) 訂列表140相比較。這樣將會為每一個出版物識別零個、 一個或多個 訂戶。而消息代理300則將出版物經(jīng)由網(wǎng)絡(luò)傳送到所識別的相應(yīng)訂戶。圖4顯示的是根據(jù)本發(fā)明實施例而在監(jiān)視設(shè)備200上執(zhí)行的步驟 序列。如上所述,在監(jiān)視設(shè)備上運(yùn)行的應(yīng)用程序210將其日志數(shù)據(jù)存 入400存儲器內(nèi)部的數(shù)據(jù)文件220。發(fā)布者程序同樣在監(jiān)視設(shè)備230 上運(yùn)行,并且通過確定命令行標(biāo)記來發(fā)現(xiàn)所需要的是怎樣的工作模 式。如果使用的是與代理的永久性連接,那么發(fā)布者程序?qū){(diào)用 MQTT消息傳遞客戶機(jī)240的CONNECT (連接)方法來進(jìn)行連接。 然后,該發(fā)布者應(yīng)用將會啟動其主處理循環(huán)。當(dāng)被監(jiān)視應(yīng)用運(yùn)行時,發(fā)布者將會等待經(jīng)由其輸入流接收410 的日志記錄。接收到的日志數(shù)據(jù)是被已經(jīng)存入存儲器內(nèi)部的日志文件 220的日志數(shù)據(jù),其中舉例來說,該日志數(shù)據(jù)是通過截取日志文件尾 部來提取的。在一個替換實施方式中,存儲器內(nèi)部的數(shù)據(jù)文件是應(yīng)用 程序210與發(fā)布者程序230之間的"指定管道"——它起到了作為應(yīng)用 程序210的輸出隊列以及作為發(fā)布者程序230的輸入隊列的雙重作 用。發(fā)布者程序230將會收集那些用管道傳送給它或者從存儲器內(nèi) 部日志文件220中的尾部截取的數(shù)據(jù),直至發(fā)布者確定430其已經(jīng)累 積了滿足發(fā)布大小判據(jù)所需數(shù)量字節(jié)的輸出數(shù)據(jù)或所需行的輸出數(shù) 據(jù)為止。這時,如上所述,如果尚未與消息代理相連,那么發(fā)布者程 序調(diào)用CONNECT方法來與消息代理進(jìn)行連接,以及然后調(diào)用通過現(xiàn)的PUBLISH (發(fā)布)方法來產(chǎn)生440發(fā) 布消息。所產(chǎn)生的這個消息包含了 (作為消息凈荷)發(fā)布者從最后一 次產(chǎn)生和發(fā)送發(fā)布消息時起獲取的新數(shù)據(jù),并且包含了預(yù)定主題(如 果命令行標(biāo)記規(guī)定的操作模式需要保留和/或服務(wù)質(zhì)量標(biāo)記,那么該消 息還包含作為參數(shù)的保留和/或服務(wù)質(zhì)量標(biāo)記)。如果發(fā)布者并未工作 在永久性連接模式中,那么發(fā)布者將會調(diào)用DISCONNECT (斷開連 接)方法,以便與遠(yuǎn)程消息代理斷開連接。如果在發(fā)布者應(yīng)用230已經(jīng)累積到閾值數(shù)量的數(shù)據(jù)之前發(fā)生超 時450,那么發(fā)布者230將會使用當(dāng)前處于其輸入緩存器中的數(shù)據(jù)來 產(chǎn)生440出版物。如果應(yīng)用終止,那么發(fā)布者230會在其輸入流上接 收到EndOfFile消息,并且確定420應(yīng)該發(fā)布其輸入緩存器中的內(nèi)容。 新的出版物是由與發(fā)布者程序的數(shù)據(jù)獲取組件相集成的本地消息傳 遞客戶機(jī)240發(fā)送的。該消息傳遞客戶機(jī)實施MQTT協(xié)議,并且將 該消息發(fā)送到在發(fā)布/預(yù)訂消息代理系統(tǒng)上運(yùn)行的、啟用了 MQTT的 消息傳遞程序250。隨后,消息代理系統(tǒng)會在出版物內(nèi)部的主題與將主題映射到單個 訂戶的預(yù)訂列表之間進(jìn)行比較。該發(fā)布/預(yù)訂匹配處理會為每一個出版 物識別零個、 一個或多個訂戶,并且對出版物執(zhí)行相應(yīng)的轉(zhuǎn)發(fā)。諸如開放服務(wù)網(wǎng)關(guān)協(xié)議(OSGi)之類的某些應(yīng)用運(yùn)行時環(huán)境允 許多個應(yīng)用在其環(huán)境中運(yùn)行,并且共享在其他方式中必須為每一個應(yīng) 用重復(fù)實施的公共設(shè)施。日志記錄和追蹤處理是此類服務(wù)的一般實 例。這些環(huán)境通常為用戶提供了將默認(rèn)日志記錄和追蹤能力替換為定 制模塊的能力。通常,這些默認(rèn)能力是針對日志文件的控制臺輸出或 重定向處理(如先前所述)。在本發(fā)明的一個實施例中,上述Pubtail 的功能可以作為定制日志或是追蹤能力而在此類環(huán)境中實施。然后, 在該環(huán)境中運(yùn)行的所有應(yīng)用都自動地能夠與用于遠(yuǎn)程監(jiān)視的Pubtail 相結(jié)合。對指定管道來說,它的一個特定的例示用途是輸出來自萬維網(wǎng)日 志的數(shù)據(jù),其中該日志記錄的是相應(yīng)網(wǎng)站上的每次"點(diǎn)擊"。發(fā)送到萬18維網(wǎng)日志的所有數(shù)據(jù)都可以使用Pubtail來進(jìn)行識別和發(fā)布,此外, Pubtail也可以添加附加過濾處理,例如對某個時段的點(diǎn)擊進(jìn)行計數(shù), 或是識別網(wǎng)站的單一訪問者,或是對"頁面瀏覽,,而不是點(diǎn)擊進(jìn)行計 數(shù)。在一個例示實施方式中,Pubtail能夠針對若干個主題來執(zhí)行發(fā)布 處理,其中不同統(tǒng)計信息將會轉(zhuǎn)到不同主題(同樣是可選保留或有保 證的)。這樣做在監(jiān)視處理方面提供了極大的靈活性(盡管在本領(lǐng)域 中,萬維網(wǎng)日志分析器是眾所周知的,但是,即便不夠新穎,"活動 的"萬維網(wǎng)日志分析器也是不尋常的)。在本發(fā)明的一個實施例中,Pubtail程序通過解析輸入流來識別 單獨(dú)的日志條目。這種處理是特定于應(yīng)用的,但對HTTP服務(wù)器日志 來說,每一個條目是通過換行字符來確定的,并且通常采用了標(biāo)準(zhǔn)的 "公共日志格式"。其他定界符和固定長度的條目同樣是已知的。然后, Pubtail可以在發(fā)布日志條目之前對其執(zhí)行定制邏輯。例如,Pubtail 可以從輸入數(shù)據(jù)中提取某些字段,并且將其重新格式化,以便采用不 同的方式來表示數(shù)據(jù)。Pubtail還可以執(zhí)行"異常報告(report-by-exception),,處理,由此只在參數(shù)變化超出閾值量時發(fā)布 消息。Pubtail可以實施聚合——例如HTTP服務(wù)器每分鐘將多少次 萬維網(wǎng)點(diǎn)擊記入日志,或者響應(yīng)于需要特定事件發(fā)布的特定觸發(fā)。所 有這些用于Pubtail處理的定制選項的結(jié)果是發(fā)布了關(guān)于一個或多個 主題的一個或多個消息(每一個日志條目可以對應(yīng)于一次發(fā)布,但這 并不是必需的)。然后,消息流將被發(fā)送到消息代理。這些消息響應(yīng) 于應(yīng)用程序所經(jīng)歷的某些事件或事件序列,其中該事件僅僅由應(yīng)用通 過其日志文件或是與Pubtail相連的指定管道而被具體化(externalised)。在下文中更詳細(xì)地描述了關(guān)于日志文件尾部截取以 及過濾和發(fā)布數(shù)據(jù)的實例。Pubtail程序是用代理地址/端口配置的,并且通常是一個"根"主 題(因為不同事件有可能產(chǎn)生若干個主題,但是必須為這些主題給出 具有主題前綴的"上下文,,)。來自日志文件尾部的輸入日志數(shù)據(jù)將被 解析,以便創(chuàng)建單獨(dú)的日志記錄,然后則執(zhí)行附加的特定應(yīng)用處理,以便產(chǎn)生所需要的信息。隨后,所產(chǎn)生的這個數(shù)據(jù)將會被發(fā)布給恰當(dāng) 的主題。不同的事件可以發(fā)布給不同的主題,并且單個日志記錄可以產(chǎn)生涉及一個或多個主題的0、 l或幾個發(fā)布。舉個例子,通過實施用于萬維網(wǎng)服務(wù)器日志的日志監(jiān)視器,可以識別導(dǎo)致產(chǎn)生404-not found error ( 404-無法發(fā)現(xiàn)的差錯)之類的 差錯消息的萬維網(wǎng)點(diǎn)擊。依照主題樹,這些點(diǎn)擊將被作為消息發(fā)布給 代理。舉例來說,原始數(shù)據(jù)可以是127.0.0.1 --24/Jun/2004:22: 09: 15 +0100] "GET /callerlD/blank. jpg HTTP/1.1" 404 2卯 127.0.0.1 - - |24/Jun/2004:22: 09: 15 +0100"GET /callerlD/urlapplet . html HTTP/1.1" 200 552 127.0.0.1 --24/Jun/2004:22: 09: 15 +0100! "GET /callerlD/blank. html HTTP/1.1" 404 291對Pubtail的日志監(jiān)視器實施方式來說,其發(fā)布的數(shù)據(jù)具有如下形式weblog/ { response code}/{the path of the requested URL} 在上述實例中,所發(fā)布的數(shù)據(jù)可以是 weblog/404/callerID/blank.jpg weblog/200/callerID/urlapplet.html weblog/404/callerID/blank.html如果要求確保的主題空間是以一種如圖5所示的恰當(dāng)方式顯現(xiàn) 的,那么站點(diǎn)問題區(qū)域的.圖示視圖可以快速顯現(xiàn)。此外,通過識別出 版物中的"參考物",也就是識別出錯鏈接所在網(wǎng)頁,還可以進(jìn)一步增 強(qiáng)該處理。該處理可以提供有價值的診斷工具。對來自日志文件的選 定事件來說,處理和產(chǎn)生該事件的表示的過程適用于很多其他應(yīng)用 ——其中包括正常輸出數(shù)據(jù)的日志文件,以及僅限于輸出差錯信息之 類的觸發(fā)警報的日志。來自單個應(yīng)用的多個不同輸出可以在不同主題 上發(fā)布,然后則可以由發(fā)布/預(yù)訂代理轉(zhuǎn)發(fā)給預(yù)訂了不同主題的相應(yīng)訂 戶。所存儲的日志數(shù)據(jù)可以被獲取,并且可以在生成日志數(shù)據(jù)的時候 反復(fù)發(fā)布——也就是沒有"像以往那樣,,使用日志分析工具時通常出 現(xiàn)的顯著延遲。由此,包括上述實施例在內(nèi)的本發(fā)明的不同實施方式可以提供將 日志文件與應(yīng)用程序相關(guān)聯(lián)的益處。盡管生成日志數(shù)據(jù)的設(shè)備的存儲 容量有限,但是本發(fā)明仍舊可以提供這種益處。此外,盡管本地系統(tǒng) 是無頭的,本發(fā)明仍舊可以提供用于應(yīng)用的可視診斷信息的益處,無 論有關(guān)當(dāng)事人是否在發(fā)送傳輸時與網(wǎng)絡(luò)相連,本發(fā)明都可以提供有保 證地遞送設(shè)備的最后一次傳輸(或所有傳輸)的益處。雖然在上文中詳細(xì)描述了本發(fā)明的不同實施例,但是本領(lǐng)域技術(shù) 人員應(yīng)該理解,本發(fā)明并不局限于所描述的這些實施例。在后續(xù)權(quán)利 要求闡述的本發(fā)明的范圍以內(nèi),針對實施例的不同修改和增強(qiáng)都是可 行的。權(quán)利要求
1.一種用于對應(yīng)用程序產(chǎn)生的日志數(shù)據(jù)進(jìn)行遠(yuǎn)程監(jiān)視的方法,所述方法包括以下步驟將應(yīng)用程序產(chǎn)生的日志數(shù)據(jù)存入第一數(shù)據(jù)處理系統(tǒng)的存儲器,其中第一數(shù)據(jù)處理系統(tǒng)位于應(yīng)用程序的本地;以及由在第一數(shù)據(jù)處理系統(tǒng)上運(yùn)行的發(fā)布者程序執(zhí)行以下步驟從存儲器中獲取新存儲的日志數(shù)據(jù);以及反復(fù)將所獲取的日志數(shù)據(jù)作為出版物序列傳送到第二數(shù)據(jù)處理系統(tǒng),其中該第二數(shù)據(jù)處理系統(tǒng)包括發(fā)布/預(yù)訂匹配引擎。
2. 根據(jù)權(quán)利要求1的所述方法,其中反復(fù)傳送所獲取的日志數(shù) 據(jù)的步驟包括收集從產(chǎn)生前一個出版物時起獲取的數(shù)據(jù);識別所獲取的數(shù)據(jù)集合何時已達(dá)到閾值大小,其中該集合包括從 產(chǎn)生前一個出版物時起獲取的數(shù)據(jù);產(chǎn)生新的出版物,其中該新的出版物包括主題標(biāo)識符以及從產(chǎn)生 前一個出版物時起獲取的數(shù)據(jù);以及將新的出版物傳送到第二數(shù)據(jù)處理系統(tǒng)。
3. 根據(jù)權(quán)利要求2所述的方法,其中閾值大小包括預(yù)定字節(jié)數(shù) 量的數(shù)據(jù)。
4. 根據(jù)權(quán)利要求2所述的方法,其中閾值大小包括預(yù)定行數(shù)量 的日志數(shù)據(jù),其中該日志數(shù)據(jù)是作為控制臺輸出而為顯示產(chǎn)生的數(shù) 據(jù)。
5. 根據(jù)權(quán)利要求2~4中任一權(quán)利要求所述的方法,還包括 識別從產(chǎn)生前一個出版物時起的預(yù)定時段的屆滿;以及產(chǎn)生包含主題標(biāo)識符以及從產(chǎn)生前一個出版物時起獲取的數(shù)據(jù) 的新的出版物;以及將新的出版物傳送到第二數(shù)據(jù)處理系統(tǒng)。
6. 根據(jù)權(quán)利要求2 5中任一權(quán)利要求所述的方法,還包括識別一個已被寫入日志文件的關(guān)鍵字;產(chǎn)生包含主題標(biāo)識符和與該關(guān)鍵字所代表的事件有關(guān)的警報的 新的出版物;以及將新的出版物傳送到第二數(shù)據(jù)處理系統(tǒng)。
7. 根據(jù)前述任一權(quán)利要求所述的方法,其中將應(yīng)用程序的日志 數(shù)據(jù)存入存儲器的步驟包括將日志數(shù)據(jù)存入包含發(fā)布者應(yīng)用的存儲 器內(nèi)部輸入隊列的指定管道。
8. 根據(jù)權(quán)利要求1 6中任一權(quán)利要求所述的方法,其中將應(yīng)用 程序的日志數(shù)據(jù)存入存儲器的步驟還包括將日志數(shù)據(jù)以循環(huán)方式存 入存儲器中的大小受限的文件,由此在改寫最近存儲的日志數(shù)據(jù)之前 改寫最早存儲的日志數(shù)據(jù)。
9. 根據(jù)權(quán)利要求7所述的方法,其中發(fā)布者程序被配置成截取 大小受限的文件的尾部,以便接收新存儲的日志數(shù)據(jù)。
10. 根據(jù)前述任一權(quán)利要求所述的方法,其中被存入數(shù)據(jù)處理系 統(tǒng)存儲器的數(shù)據(jù)以及被獲取和發(fā)布的數(shù)據(jù)包括控制臺輸出數(shù)據(jù),該控 制臺輸出數(shù)據(jù)是應(yīng)用程序為了經(jīng)由直接連接的顯示單元或用戶控制 臺來進(jìn)行顯示的目的而產(chǎn)生的,由此無論本地數(shù)據(jù)處理系統(tǒng)是否具有 直接連接的顯示單元或用戶控制臺,該方法都適合獲取和發(fā)布由此類 應(yīng)用程序產(chǎn)生的此類控制臺輸出數(shù)據(jù)。
11. 根據(jù)前述任一權(quán)利要求所迷的方法,還包括以下步驟 使用發(fā)送給第二數(shù)據(jù)處理系統(tǒng)的出版物序列來發(fā)送要求至少將關(guān)于每一個主題的最近發(fā)布的出版物保留在第二數(shù)據(jù)處理系統(tǒng)上的指令。
12. 根據(jù)前述任一權(quán)利要求所述的方法,還包括以下步驟 使用發(fā)送給第二數(shù)據(jù)處理系統(tǒng)的出版物序列來發(fā)送要求實施從發(fā)布者到訂戶的有保證的遞送的指令。
13. —種數(shù)據(jù)處理系統(tǒng),包括 系統(tǒng)存儲器;被配置成將日志數(shù)據(jù)存入系統(tǒng)存儲器的第一應(yīng)用程序;發(fā)布者程序,被配置成從系統(tǒng)存儲器中獲取新存儲的日志數(shù)據(jù), 以及反復(fù)將新獲取的日志數(shù)據(jù)作為出版物序列傳送到包括發(fā)布/預(yù)訂 匹配引擎的第二數(shù)據(jù)處理系統(tǒng)。
全文摘要
本發(fā)明涉及遠(yuǎn)程監(jiān)視數(shù)據(jù)的方法、設(shè)備和計算機(jī)程序。在存儲受限的設(shè)備(200)上運(yùn)行的應(yīng)用程序(210)輸出日志數(shù)據(jù),該日志數(shù)據(jù)作為存儲器內(nèi)部數(shù)據(jù)文件(220)、來自與另一個應(yīng)用的輸入端管道連接的一個應(yīng)用的輸出、或是將數(shù)據(jù)傳遞到本地發(fā)布者程序(230)的指定管道而被存入本地系統(tǒng)存儲器(190),然后被本地發(fā)布者程序獲取。本地發(fā)布者程序(230)將數(shù)據(jù)發(fā)送到在不同數(shù)據(jù)處理系統(tǒng)(130)上運(yùn)行的發(fā)布/預(yù)訂代理(300)。該代理保留最近的出版物,以供一個或多個訂戶進(jìn)行分析。這樣避免了在存儲受限的設(shè)備上將大量數(shù)據(jù)存入盤存儲器的需要并且確保可以將通常被無頭的存儲受限系統(tǒng)丟棄的控制臺輸出數(shù)據(jù)和日志數(shù)據(jù)用于分析。通過將保留特征以及響應(yīng)于監(jiān)視應(yīng)用故障而發(fā)布輸出數(shù)據(jù)的處理相結(jié)合,可以確保故障前輸出數(shù)據(jù)的可用性,對問題診斷來說這些數(shù)據(jù)往往是最有用的。
文檔編號G06F11/30GK101331459SQ200680042169
公開日2008年12月24日 申請日期2006年12月1日 優(yōu)先權(quán)日2005年12月3日
發(fā)明者A·J·斯坦福-克拉克, B·V·貝蒂, D·勞克, D·康威-瓊斯 申請人:國際商業(yè)機(jī)器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1