專利名稱:一種應用進程的監(jiān)控方法和系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及信息交互技術領域,尤其涉及一種應用進程的監(jiān)控方法和系統(tǒng)。
背景技術:
目前,在信息交互系統(tǒng)中,監(jiān)控模塊對其他應用模塊,例如廣播模塊,存在兩種監(jiān)控模式,一種是在系統(tǒng)層面的,一種是在應用層面的。系統(tǒng)層面上,監(jiān)控模塊通過掃描系統(tǒng)的進程表,來判斷相應的應用進程是否存在,如果不存在,則重啟該應用。但這里存在一種情況,即應用進程在進程表中仍然存在,但是實際上該應用已經(jīng)不能正常工作,從而無法達到監(jiān)控的目的。也就是說只監(jiān)控系統(tǒng)中的應用模塊在不在,如果不在的話就會重啟,但好多時候是應用模塊存在,而其內(nèi)部已經(jīng)出現(xiàn)問題,不能正常完成工作,這時候監(jiān)控模塊是不能監(jiān)控到的。應用層面上,在信息交互系統(tǒng)中,某個業(yè)務網(wǎng)絡端口會被多個應用搶用,當業(yè)務網(wǎng)絡端口與應用綁定后,通過TCP/IP協(xié)議發(fā)送信息,會導致中央控制裝置中的監(jiān)控模塊無法通過該業(yè)務網(wǎng)絡端口發(fā)送信息來獲取其他應用(廣播模塊)的運行狀態(tài)。也就是說,目前很多監(jiān)控模塊的軟件是基于TCP/IP協(xié)議,通過向應用模塊發(fā)送心跳包來偵測應用模塊運行狀態(tài),這種方式容易對系統(tǒng)中別的應用模塊產(chǎn)生影響,比如,當系統(tǒng)中運行的另一個應用模塊也綁定同一個的端口來收發(fā)消息時,這時候兩個應用模塊就會產(chǎn)生沖突,從而達不到監(jiān)控的目的。而且目前很多的監(jiān)控模塊僅針對特定的程序,可擴展性很差,當系統(tǒng)中出現(xiàn)新的需要監(jiān)控的應用模塊時,就要做很大的修改。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服現(xiàn)有技術的缺點和不足,提供一種應用進程的監(jiān)控方法和系統(tǒng),能夠分別從業(yè)務層級和系統(tǒng)層級對應用模塊進行監(jiān)控,增加了系統(tǒng)的穩(wěn)定性。本發(fā)明的一個實施例提供了一種應用進程的監(jiān)控方法,適用于信息交互系統(tǒng),包括以下步驟:監(jiān)控模塊設定過濾器;過濾器選定待監(jiān)控應用對應的端口 ;監(jiān)控模塊在網(wǎng)卡處抓取所述端口發(fā)出的信息包;如果監(jiān)控模塊收到所述端口發(fā)出的信息包,則監(jiān)控模塊判斷所述應用運行正常,如果監(jiān)控模塊沒有收到所述端口發(fā)出的信息包,則監(jiān)控模塊判斷所述應用運行不正常。優(yōu)選地,監(jiān)控模塊采用WinPcap工具設定過濾器。優(yōu)選地,所述待監(jiān)控應用是廣播模塊。優(yōu)選地,還包括以下步驟:在系統(tǒng)層,監(jiān)控模塊掃描應用進程表;如果所述應用進程表中有待監(jiān)控應用,則監(jiān)控模塊判斷所述應用運行正常,如果所述應用進程表中沒有待監(jiān)控應用,則監(jiān)控模塊判斷所述應用運行不正常。優(yōu)選地,還包括以下步驟:如果監(jiān)控模塊判斷所述應用運行不正常,監(jiān)控模塊向啟動模塊發(fā)出指令,啟動模塊重新啟動所述應用。本發(fā)明的另一個實施例提供了一種應用進程的監(jiān)控系統(tǒng),適用于信息交互系統(tǒng),包括監(jiān)控模塊和應用模塊,其中,監(jiān)控模塊進一步包括過濾器,監(jiān)控模塊用于設定過濾器,過濾器選定待監(jiān)控應用模塊對應的端口,在網(wǎng)卡處抓取所述端口發(fā)出的信息包,如果監(jiān)控模塊收到所述端口發(fā)出的信息包,則監(jiān)控模塊判斷所述應用模塊運行正常,如果監(jiān)控模塊沒有收到所述端口發(fā)出的信息包,則監(jiān)控模塊判斷所述應用模塊運行不正常; 應用模塊用于發(fā)送信息包。優(yōu)選地,所述監(jiān)控模塊采用WinPcap工具設定過濾器。優(yōu)選地,所述待監(jiān)控應用是廣播模塊。優(yōu)選地,監(jiān)控模塊還用于在系統(tǒng)層,掃描應用進程表;如果所述應用進程表中有待監(jiān)控應用模塊,則監(jiān)控模塊判斷所述應用模塊運行正常,如果所述應用進程表中沒有待監(jiān)控應用模塊,則監(jiān)控模塊判斷所述應用模塊運行不正常。優(yōu)選地,還包括啟動器,監(jiān)控模塊還用于如果監(jiān)控模塊判斷所述應用模塊運行不正常,向啟動模塊發(fā)出指令;啟動器用于重新啟動所述應用t吳塊。本發(fā)明由于采用了特有的兩層結(jié)構(gòu),分別從業(yè)務層級及系統(tǒng)層級對目標程序進行監(jiān)控,更增加了系統(tǒng)的穩(wěn)定性;同時操作采用特定的命令,便于擴展,任何第三方軟件想控制應用模塊都可以通過向啟動器發(fā)送特定指令來完成。此外如果增加要監(jiān)控的應用模塊,也比較容易擴展,監(jiān)控模塊只負責處理監(jiān)控,啟動、重啟等操作都通過向啟動器發(fā)送指令來實現(xiàn)。
圖1為本發(fā)明實施例提供的應用進程監(jiān)控流程圖;圖2為本發(fā)明實施例提供的應用進程監(jiān)控系統(tǒng)結(jié)構(gòu)示意圖。
具體實施例方式下面結(jié)合附圖對本發(fā)明的具體實施方式
進行詳細描述。但本發(fā)明的實施方式不限于此。圖1為本發(fā)明實施例提供的應用進程監(jiān)控流程圖。如圖1所示,該流程適用于信息交互系統(tǒng),包括以下步驟:步驟101、監(jiān)控模塊對廣播模塊開始進行監(jiān)控。步驟102、監(jiān)控模塊采用WinPcap工具設定過濾器。其中WinPcap工具是用于網(wǎng)絡封包抓取的一套工具,可適用于32位的操作平臺上解析網(wǎng)絡封包,包含了核心的封包過濾、一個底層動態(tài)鏈接庫、一個高層系統(tǒng)函數(shù)庫,及可用來直接存取封包的應用程序界面。
步驟103、過濾器選定廣播模塊對應的端口,例如端口 8883。步驟104、監(jiān)控模塊在網(wǎng)卡處抓取該端口發(fā)出的信息包。步驟105、如果監(jiān)控模塊收到該端口發(fā)出的信息包,則監(jiān)控模塊判斷廣播模塊運行正常,并轉(zhuǎn)至步驟106、如果監(jiān)控模塊沒有收到該端口發(fā)出的信息包,則監(jiān)控模塊判斷廣播模塊運行不正常,并轉(zhuǎn)至步驟108。步驟106、在系統(tǒng)層,監(jiān)控模塊掃描應用進程表。步驟107、如果應用進程表中有廣播模塊應用,則監(jiān)控模塊判斷廣播模塊運行正常,如果應用進程表中沒有廣播模塊應用,則監(jiān)控模塊判斷廣播模塊運行不正常,并轉(zhuǎn)至步驟 108。步驟108、監(jiān)控模塊向啟動模塊發(fā)出指令,啟動模塊重新啟動廣播模塊。為了實現(xiàn)上述流程,本發(fā)明的一個實施例提供了一種應用進程監(jiān)控系統(tǒng)。圖2為本發(fā)明實施例提供的應用進程監(jiān)控系統(tǒng)結(jié)構(gòu)示意圖。如圖2所示,該系統(tǒng)適用于信息交互系統(tǒng),包括監(jiān)控模塊20、廣播模塊30和啟動器40,其中,監(jiān)控模塊進一步包括過濾器201。監(jiān)控模塊采用WinPcap工具設定過濾器,過濾器選定廣播模塊對應的端口,在網(wǎng)卡處抓取該端口發(fā)出的信息包,如果監(jiān)控模塊收到該端口發(fā)出的信息包,則監(jiān)控模塊判斷廣播模塊運行正常,如果監(jiān)控模塊沒有收到該端口發(fā)出的信息包,則監(jiān)控模塊判斷廣播模塊運行不正常。監(jiān)控模塊還在系統(tǒng)層掃描應用進程表,如果應用進程表中有廣播模塊應用,則監(jiān)控模塊判斷廣播模塊運行正常,如果應用進程表中沒有廣播模塊應用,則監(jiān)控模塊判斷廣播模塊運行不正常。監(jiān)控模塊還用于如果監(jiān)控模塊判斷廣播模塊運行不正常,向啟動模塊發(fā)出指令。應用模塊用于發(fā)送信息包。啟動器用于重新啟動廣播模塊。本發(fā)明技術方案中,監(jiān)控模塊從業(yè)務層級監(jiān)控目標程序廣播模塊。通過程序中WinPcap工具設定過濾器,繞過TCP/IP協(xié)議,直接在網(wǎng)卡處抓取廣播模塊發(fā)出的信息包,避免了系統(tǒng)中偵聽相同端口軟件之間的沖突。監(jiān)控模塊并從系統(tǒng)層級監(jiān)控啟動器,通過掃描進程表監(jiān)測啟動器的運行狀態(tài)。當發(fā)現(xiàn)目標程序廣播模塊運行不正常時,向啟動器發(fā)送特定指令已啟動目標程序。啟動器則從系統(tǒng)層級監(jiān)測目標程序廣播模塊,通過掃描進程表判斷目標程序廣播模塊的運行狀態(tài)。同時啟動器接收第三方(包括監(jiān)控模塊及系統(tǒng)中的其他部分)發(fā)來的指令,啟動、重啟、停止目標程序。由于采用了特有的兩層結(jié)構(gòu),分別從業(yè)務層級及系統(tǒng)層級對目標程序進行監(jiān)控,更增加了系統(tǒng)的穩(wěn)定性;同時操作采用特定的命令,便于擴展,任何第三方軟件想控制應用模塊都可以通過向啟動器發(fā)送特定指令來完成。此外如果增加要監(jiān)控的應用模塊,也比較容易擴展,監(jiān)控模塊只負責處理監(jiān)控,啟動、重啟等操作都通過向啟動器發(fā)送指令來實現(xiàn)。上述實施例為本發(fā)明較佳的實施方式,但本發(fā)明的實施方式并不受上述實施例的限制,其他的任何未背離本發(fā)明的精神實質(zhì)與原理下所作的改變、修飾、替代、組合、簡化,均應為等效的置換方式,都包含在本發(fā)明的保護范圍之內(nèi)。
權利要求
1.一種應用進程的監(jiān)控方法,適用于信息交互系統(tǒng),其特征在于,包括以下步驟: 監(jiān)控模塊設定過濾器; 過濾器選定待監(jiān)控應用對應的端口; 監(jiān)控模塊在網(wǎng)卡處抓取所述端口發(fā)出的信息包; 如果監(jiān)控模塊收到所述端口發(fā)出的信息包,則監(jiān)控模塊判斷所述應用運行正常,如果監(jiān)控模塊沒有收到所述端口發(fā)出的信息包,則監(jiān)控模塊判斷所述應用運行不正常。
2.根據(jù)權利要求1所述的一種應用進程的監(jiān)控方法,其特征在于,監(jiān)控模塊采用WinPcap工具設定過濾器。
3.根據(jù)權利要求1所述的一種應用進程的監(jiān)控方法,其特征在于,所述待監(jiān)控應用是廣播模塊。
4.根據(jù)權利要求1所述的一種應用進程的監(jiān)控方法,其特征在于,還包括以下步驟: 在系統(tǒng)層,監(jiān)控模塊掃描應用進程表; 如果所述應用進程表中有待監(jiān)控應用,則監(jiān)控模塊判斷所述應用運行正常,如果所述應用進程表中沒有待監(jiān)控應用,則監(jiān)控模塊判斷所述應用運行不正常。
5.根據(jù)權利要求1或者4所述的一種應用進程的監(jiān)控方法,其特征在于,還包括以下步驟: 如果監(jiān)控模塊判斷所述應用運行不正常,監(jiān)控模塊向啟動模塊發(fā)出指令,啟動模塊重新啟動所述應用。
6.一種應用進程的監(jiān)控系統(tǒng),適用于信息交互系統(tǒng),其特征在于,包括監(jiān)控模塊和應用模塊,其中,監(jiān)控模塊進一步包括過濾器, 監(jiān)控模塊用于設定過濾器,過濾器選定待監(jiān)控應用模塊對應的端口,在網(wǎng)卡處抓取所述端口發(fā)出的信息包,如果監(jiān)控模塊收到所述端口發(fā)出的信息包,則監(jiān)控模塊判斷所述應用模塊運行正常,如果監(jiān)控模塊沒有收到所述端口發(fā)出的信息包,則監(jiān)控模塊判斷所述應用模塊運行不正常; 應用模塊用于發(fā)送信息包。
7.根據(jù)權利要求6所述的一種應用進程的監(jiān)控系統(tǒng),其特征在于,所述監(jiān)控模塊采用WinPcap工具設定過濾器。
8.根據(jù)權利要求6所述的一種應用進程的監(jiān)控系統(tǒng),其特征在于,所述待監(jiān)控應用是廣播模塊。
9.根據(jù)權利要求6所述的一種應用進程的監(jiān)控系統(tǒng),其特征在于,監(jiān)控模塊還用于在系統(tǒng)層,掃描應用進程表;如果所述應用進程表中有待監(jiān)控應用模塊,則監(jiān)控模塊判斷所述應用模塊運行正常,如果所述應用進程表中沒有待監(jiān)控應用模塊,則監(jiān)控模塊判斷所述應用模塊運行不正常。
10.根據(jù)權利要求6或者9所述的一種應用進程的監(jiān)控系統(tǒng),其特征在于,還包括啟動器,監(jiān)控模塊還用于如果監(jiān)控模塊判斷所述應用模塊運行不正常,向啟動模塊發(fā)出指令; 啟動器用于重新啟動所述應用模塊。
全文摘要
本發(fā)明公開了一種應用進程的監(jiān)控方法和系統(tǒng),適用于信息交互系統(tǒng),該方法包括監(jiān)控模塊設定過濾器;過濾器選定待監(jiān)控應用對應的端口;監(jiān)控模塊在網(wǎng)卡處抓取所述端口發(fā)出的信息包;如果監(jiān)控模塊收到所述端口發(fā)出的信息包,則監(jiān)控模塊判斷所述應用運行正常,如果監(jiān)控模塊沒有收到所述端口發(fā)出的信息包,則監(jiān)控模塊判斷所述應用運行不正常。本發(fā)明由于采用了特有的兩層結(jié)構(gòu),分別從業(yè)務層級及系統(tǒng)層級對目標程序進行監(jiān)控,更增加了系統(tǒng)的穩(wěn)定性;同時操作采用特定的命令,便于擴展,任何第三方軟件想控制應用模塊都可以通過向啟動器發(fā)送特定指令來完成。
文檔編號G06F11/30GK103150240SQ201310088589
公開日2013年6月12日 申請日期2013年3月19日 優(yōu)先權日2013年3月19日
發(fā)明者周彥其 申請人:天脈聚源(北京)傳媒科技有限公司