專利名稱:一種觸發(fā)雙機切換的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機和通信領(lǐng)域,特別時涉及觸發(fā)雙機切換的方法及裝置。 背景技水
為了保證應(yīng)用系統(tǒng)的持續(xù)運行,以便連續(xù)穩(wěn)定的為用戶提供服務(wù),通常采 用主備雙機方案。當(dāng)前運行的應(yīng)用系統(tǒng)所在的主機出現(xiàn)軟硬件故障后,監(jiān)控系 統(tǒng)會及時的監(jiān)控到異常,并會在很短的時間內(nèi)觸發(fā)雙機切換的動作,把當(dāng)前主 機上運行的應(yīng)用系統(tǒng)快速的切換到備機上運行,保證關(guān)鍵的應(yīng)用系統(tǒng)運行的不 間斷性。
現(xiàn)有的監(jiān)控系統(tǒng)是對應(yīng)用系統(tǒng)的關(guān)鍵進(jìn)程的狀態(tài)進(jìn)行監(jiān)控,當(dāng)關(guān)鍵進(jìn)程退 出或掛起時,確定應(yīng)用系統(tǒng)發(fā)生故障,觸發(fā)主備雙機切換?;蛘?,監(jiān)控系統(tǒng)判 斷多個關(guān)聯(lián)進(jìn)程滿足異常判斷條件時,也會確定應(yīng)用系統(tǒng)發(fā)生故障,并觸發(fā)主 備雙機切換。總之,現(xiàn)有技術(shù)中監(jiān)控系統(tǒng)是對關(guān)鍵進(jìn)程的監(jiān)控。這種方式易于 實現(xiàn),并且實現(xiàn)簡單。
然而,有些異常是在進(jìn)程退出或掛起前便已發(fā)生,或者有些異常會使某些 業(yè)務(wù)無法實現(xiàn),但不會引起進(jìn)程退出或掛起?,F(xiàn)有技術(shù)中的監(jiān)控系統(tǒng)無法及時 發(fā)現(xiàn)上述異常,以及時進(jìn)行雙機切換,從而影響了業(yè)務(wù)的連續(xù)性。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種觸發(fā)雙機切換的方法及裝置,用于及時發(fā)現(xiàn)故障, 并保證業(yè)務(wù)的正常運行。
一種觸發(fā)雙機切換的方法,包括以下步驟
第一設(shè)備上的應(yīng)用系統(tǒng)收到操作系統(tǒng)發(fā)送的內(nèi)存溢出指示,并通知監(jiān)控系 統(tǒng)有故障出現(xiàn);監(jiān)控系統(tǒng)獲知出現(xiàn)故障后,觸發(fā)第 一設(shè)備到第二設(shè)備的切換。
一種設(shè)備,包括
操作系統(tǒng)模塊,用于管理設(shè)備資源;
應(yīng)用系統(tǒng)模塊,用于收到操作系統(tǒng)模塊發(fā)送的內(nèi)存溢出指示,并通知監(jiān)控
系統(tǒng)模塊有故障出現(xiàn);
監(jiān)控系統(tǒng)模塊,用于獲知出現(xiàn)故障后,觸發(fā)設(shè)備到第二設(shè)備的切換。 本發(fā)明實施例通過內(nèi)存溢出來確定出現(xiàn)故障,即在有進(jìn)程退出或掛起之前
便發(fā)現(xiàn)故障,做到發(fā)現(xiàn)及時,并及時觸發(fā)雙機切換,保證了應(yīng)用系統(tǒng)的連續(xù)運
行,持續(xù)為用戶提供業(yè)務(wù)服務(wù)。
圖1為本發(fā)明實施例中觸發(fā)雙機切換的主要方法流程圖; 圖2為本發(fā)明實施例中通過內(nèi)存檢測系統(tǒng)觸發(fā)雙機切換的方法流程圖; 圖3為本發(fā)明實施例中通過內(nèi)存檢測系統(tǒng)發(fā)送告警消息來觸發(fā)雙機切換的 方法流程圖4為本發(fā)明實施例中內(nèi)存檢測系統(tǒng)直接發(fā)現(xiàn)內(nèi)存溢出時觸發(fā)雙機切換的 方法流程圖5為本發(fā)明實施例中設(shè)備的主要結(jié)構(gòu)圖; 圖6為本發(fā)明實施例中設(shè)備的詳細(xì)結(jié)構(gòu)圖。
具體實施例方式
本發(fā)明實施例通過監(jiān)控內(nèi)存是否溢出來確定是否發(fā)生故障。通常在發(fā)生內(nèi) 存溢出時,應(yīng)用系統(tǒng)的運行狀態(tài)還是正常,但此時已經(jīng)出現(xiàn)專"硬件問題,直到 內(nèi)存溢出較為嚴(yán)重時,才會導(dǎo)致應(yīng)用進(jìn)程的退出或掛起,這時已經(jīng)影響了業(yè)務(wù) 的正常運行。本發(fā)明實施例在應(yīng)用進(jìn)程退出或掛起之前,便發(fā)現(xiàn)故障,及時的 觸發(fā)雙機切換,保證了業(yè)務(wù)的正常運行。
本發(fā)明實施例中應(yīng)用系統(tǒng)用于提供各種業(yè)務(wù),CPU通過運行應(yīng)用進(jìn)程來實現(xiàn)應(yīng)用系統(tǒng)的功能。
參見圖1,本實施例中觸發(fā)雙機切換的主要方法流程如下
步驟101:第一設(shè)備上的應(yīng)用系統(tǒng)收到操作系統(tǒng)發(fā)送的內(nèi)存溢出指示,并
通知監(jiān)控系統(tǒng)出現(xiàn)故障。
步驟102:監(jiān)控系統(tǒng)獲知出現(xiàn)故障后,觸發(fā)第一設(shè)備到第二設(shè)備的切換。 本實施例中應(yīng)用系統(tǒng)收到內(nèi)存溢出指示后,可以直接通知監(jiān)控系統(tǒng)出現(xiàn)故
障,如向監(jiān)控系統(tǒng)發(fā)送故障消息?;蛘撸瑧?yīng)用系統(tǒng)通過在日志中記錄內(nèi)存溢出
來通知監(jiān)控系統(tǒng),監(jiān)控系統(tǒng)通過查詢?nèi)罩景l(fā)現(xiàn)內(nèi)存溢出,從而獲知出現(xiàn)故障。 為了減少對現(xiàn)有的應(yīng)用系統(tǒng)和監(jiān)控系統(tǒng)的改動,本實施例增加一內(nèi)存檢測
系統(tǒng),通過內(nèi)存檢測系統(tǒng)通知監(jiān)控系統(tǒng)出現(xiàn)故障,下面通過實施例來詳細(xì)介紹
實現(xiàn)過程。
參見圖2,本實施例中通過內(nèi)存檢測系統(tǒng)觸發(fā)雙才幾切換的方法流程如下
步驟201:第一設(shè)備上的應(yīng)用系統(tǒng)收到操作系統(tǒng)發(fā)送的內(nèi)存溢出指示。應(yīng) 用系統(tǒng)在運行過程中可能需要向操作系統(tǒng)申請內(nèi)存,操作系統(tǒng)發(fā)現(xiàn)沒有足夠的 內(nèi)存分配給應(yīng)用系統(tǒng),此時操作系統(tǒng)會向應(yīng)用系統(tǒng)發(fā)送內(nèi)存溢出指示。
步驟202:應(yīng)用系統(tǒng)將內(nèi)存溢出的故障寫入日志文件。
步驟203:內(nèi)存^r測系統(tǒng)查詢?nèi)罩疚募.?dāng)應(yīng)用系統(tǒng)啟動時,內(nèi)存4企測系 統(tǒng)隨之啟動,并開始查詢?nèi)罩疚募?br>
步驟204:內(nèi)存檢測系統(tǒng)判斷是否記錄了內(nèi)存溢出,若是,繼續(xù)步驟205, 否則繼續(xù)步驟203。內(nèi)存檢測系統(tǒng)可周期性查詢?nèi)罩疚募?br>
步驟205:內(nèi)存^^測系統(tǒng)終止運行,內(nèi)存檢測系統(tǒng)的進(jìn)考呈退出。
步驟206:監(jiān)控系統(tǒng)對內(nèi)存檢測系統(tǒng)的進(jìn)程進(jìn)行監(jiān)控,在發(fā)現(xiàn)內(nèi)存檢測系 統(tǒng)的進(jìn)程退出時,觸發(fā)第一設(shè)備到第二設(shè)備的切換,即觸發(fā)雙機匆換。
本實施例中內(nèi)存檢測系統(tǒng)是通過退出自身進(jìn)程的發(fā)式通知監(jiān)控系統(tǒng)出現(xiàn) 故障,內(nèi)存檢測系統(tǒng)還可以通過發(fā)送告警消息的方式通知監(jiān)控系統(tǒng),下面通過 一個實施例來詳細(xì)介紹。參見圖3,本實施例中通過內(nèi)存檢測系統(tǒng)發(fā)送告警消息來觸發(fā)雙機切換的 方法流程如下
步驟301:第一設(shè)備上的應(yīng)用系統(tǒng)收到操作系統(tǒng)發(fā)送的內(nèi)存溢出指示。
步驟302:應(yīng)用系統(tǒng)將內(nèi)存溢出的故障寫入日志文件。
步驟303:內(nèi)存^:測系統(tǒng)查詢?nèi)罩疚募?。?dāng)應(yīng)用系統(tǒng)啟動時,內(nèi)存4企測系 統(tǒng)隨之啟動,并開始查詢?nèi)罩疚募?br>
步驟304:內(nèi)存檢測系統(tǒng)判斷是否記錄了內(nèi)存溢出,若是,繼續(xù)步驟305, 否則繼續(xù)步驟303。內(nèi)存沖企測系統(tǒng)可周期性查詢?nèi)罩疚募?br>
步驟305:內(nèi)存檢測系統(tǒng)生成告警消息并發(fā)送給監(jiān)控系統(tǒng)。所述告警消息 包括出現(xiàn)故障的原因,如內(nèi)存溢出。
步驟306:監(jiān)控系統(tǒng)收到告警消息并解析,獲知出現(xiàn)故障,觸發(fā)第一設(shè)備 到第二設(shè)備的切換。
本實施例中內(nèi)存檢測系統(tǒng)運行過程中也需要占用內(nèi)存,所以內(nèi)存檢測系統(tǒng) 可能直接發(fā)現(xiàn)內(nèi)存溢出,而不需要通過應(yīng)用系統(tǒng)寫日志文件的方式來發(fā)現(xiàn),下 面對這種情況進(jìn)行詳細(xì)介紹。
參見圖4,本實施例中內(nèi)存檢測系統(tǒng)直接發(fā)現(xiàn)內(nèi)存溢出時觸發(fā)雙機切換的 方法《^呈如下
步驟401:內(nèi)存檢測系統(tǒng)向操作系統(tǒng)申請內(nèi)存。
步驟402:操作系統(tǒng)發(fā)現(xiàn)沒有足夠的內(nèi)存分配給內(nèi)存檢測系統(tǒng)。
步驟403:操作系統(tǒng)向內(nèi)存檢測系統(tǒng)發(fā)送內(nèi)存溢出指示。
步驟404:內(nèi)存檢測系統(tǒng)收到內(nèi)存溢出指示并退出自身進(jìn)程。
步驟405:監(jiān)控系統(tǒng)對內(nèi)存檢測系統(tǒng)的進(jìn)程進(jìn)行監(jiān)控,在發(fā)現(xiàn)內(nèi)存檢測系 統(tǒng)的進(jìn)程退出時,觸發(fā)第一設(shè)備到第二設(shè)備的切換。
在步驟404中,內(nèi)存檢測系統(tǒng)也可以通過發(fā)送告警消息的方式通知監(jiān)控系 統(tǒng)出現(xiàn)故障。則在步驟405中,監(jiān)控系統(tǒng)收到告警消息并解析,獲知出現(xiàn)故障, 觸發(fā)第 一設(shè)備到第二設(shè)備的切換。第二設(shè)備還可以切換到第 一設(shè)備。 以上描述了觸發(fā)雙機切換的方法實現(xiàn)過程,該過程可以由設(shè)備實現(xiàn),下面 對設(shè)備的內(nèi)部結(jié)構(gòu)和功能進(jìn)行詳細(xì)介紹。
參見圖5,本實施例中的設(shè)備包括操作系統(tǒng)模塊501、應(yīng)用系統(tǒng)模塊502 和監(jiān)控系統(tǒng)模塊503。該設(shè)備就是一計算機設(shè)備,若位于網(wǎng)絡(luò)中,則為網(wǎng)絡(luò)設(shè)備。
操作系統(tǒng)模塊501,包括操作系統(tǒng),用于管理設(shè)備資源,包括硬件資源和 軟件資源。
應(yīng)用系統(tǒng)模塊502,包括應(yīng)用系統(tǒng),用于收到操作系統(tǒng)模塊發(fā)送的內(nèi)存溢 出指示,并通知監(jiān)控系統(tǒng)模塊出現(xiàn)故障。
監(jiān)控系統(tǒng)模塊503,包括監(jiān)控系統(tǒng),用于獲知出現(xiàn)故障后,觸發(fā)設(shè)備到第
二設(shè)備的切換。
應(yīng)用系統(tǒng)模塊502收到操作系統(tǒng)發(fā)送的內(nèi)存溢出指示,并在日志文件中記 錄內(nèi)存溢出。監(jiān)控系統(tǒng)模塊503可通過查詢?nèi)罩疚募@知出現(xiàn)故障,并觸發(fā)設(shè) 備到第二設(shè)備的切換?;蛘?,所述設(shè)備還包括內(nèi)存檢測系統(tǒng)模塊504,參見圖 6所示。內(nèi)存檢測系統(tǒng)模塊504,包括內(nèi)存檢測系統(tǒng),用于通過查詢?nèi)罩疚募?獲知內(nèi)存溢出,并通知監(jiān)控系統(tǒng)模塊503出現(xiàn)故障。具體的,內(nèi)存檢測系統(tǒng)模 塊504的進(jìn)程退出,以通知監(jiān)控系統(tǒng)模塊503出現(xiàn)故障;監(jiān)控系統(tǒng)模塊503監(jiān) 控內(nèi)存檢測系統(tǒng)模塊的進(jìn)程,并在發(fā)現(xiàn)內(nèi)存檢測系統(tǒng)模塊的進(jìn)程退出時獲知出 現(xiàn)故障?;蛘?,內(nèi)存檢測系統(tǒng)模塊504向監(jiān)控系統(tǒng)模塊503發(fā)送告警消息,以 通知監(jiān)控系統(tǒng)出現(xiàn)故障。
內(nèi)存檢測系統(tǒng)模塊504還用于收到操作系統(tǒng)模塊發(fā)送的內(nèi)存溢出指示,并 通知監(jiān)控系統(tǒng)模塊503出現(xiàn)故障。
用于實現(xiàn)本發(fā)明實施例的軟件可以存儲于軟盤、硬盤、光盤和閃存等存儲 介質(zhì)。
本發(fā)明實施例通過內(nèi)存溢出來確定出現(xiàn)故障,即在有進(jìn)程退出或桂起之前便發(fā)現(xiàn)故障,做到發(fā)現(xiàn)及時,并及時觸發(fā)雙機切換,保證了應(yīng)用系統(tǒng)的連續(xù)運 行,持續(xù)為用戶提供業(yè)務(wù)服務(wù)。本發(fā)明實施例中,應(yīng)用系統(tǒng)在收到內(nèi)存溢出指 示后可直接通知監(jiān)控系統(tǒng)出現(xiàn)故障,該方法可直接解決問題,但需要對所有的 應(yīng)用系統(tǒng)進(jìn)行改進(jìn)。為了減少對應(yīng)用系統(tǒng)和監(jiān)控系統(tǒng)的改進(jìn),本發(fā)明實施例中 應(yīng)用系統(tǒng)在收到內(nèi)存溢出指示后將故障寫入日志文件,由內(nèi)存檢測系統(tǒng)查詢?nèi)?志文件,并通知監(jiān)控系統(tǒng)出現(xiàn)故障。并且,內(nèi)存檢測系統(tǒng)可以通過退出進(jìn)程的 方式來通知監(jiān)控系統(tǒng),或者通過發(fā)送告警消息的方式來通知監(jiān)控系統(tǒng)。通過發(fā) 送告警消息的方式還可以通知監(jiān)控系統(tǒng)出現(xiàn)故障的原因,即內(nèi)存溢出。
顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動和變型而不脫離本發(fā) 明的精神和范圍。這樣,倘若對本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求 及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
權(quán)利要求
1、一種觸發(fā)雙機切換的方法,其特征在于,包括以下步驟第一設(shè)備上的應(yīng)用系統(tǒng)收到操作系統(tǒng)發(fā)送的內(nèi)存溢出指示,并通知監(jiān)控系統(tǒng)有故障出現(xiàn);監(jiān)控系統(tǒng)獲知出現(xiàn)故障后,觸發(fā)第一設(shè)備到第二設(shè)備的切換。
2、 如權(quán)利要求1所述的方法,其特征在于,第一設(shè)備上的應(yīng)用系統(tǒng)收到 操作系統(tǒng)發(fā)送的內(nèi)存溢出指示并通知監(jiān)控系統(tǒng)出現(xiàn)故障的步驟包括第一設(shè)備上的應(yīng)用系統(tǒng)收到操作系統(tǒng)發(fā)送的內(nèi)存溢出指示,并在日志文件 中記錄內(nèi)存溢出;第 一設(shè)備上的內(nèi)存檢測系統(tǒng)通過查詢?nèi)罩疚募@知內(nèi)存溢出,并通知監(jiān)控 系統(tǒng)出現(xiàn)故障。
3、 如權(quán)利要求2所迷的方法,其特征在于,監(jiān)控系統(tǒng)獲知出現(xiàn)故障的步 驟包括監(jiān)控系統(tǒng)監(jiān)控內(nèi)存檢測系統(tǒng)的進(jìn)程,并在發(fā)現(xiàn)內(nèi)存檢測系統(tǒng)的進(jìn)程退 出時獲知出現(xiàn)故障。
4、 如權(quán)利要求2所述的方法,其特征在于,內(nèi)存檢測系統(tǒng)通知監(jiān)控系統(tǒng) 出現(xiàn)故障的步驟包括內(nèi)存檢測系統(tǒng)向監(jiān)控系統(tǒng)發(fā)送告警消息,以通知監(jiān)控系 統(tǒng)出現(xiàn)故障。
5、 如權(quán)利要求4所述的方法,其特征在于,所述告警消息包括出現(xiàn)故障 的原因為內(nèi)存溢出。
6、 如權(quán)利要求1所述的方法,其特征在于,還包括步驟第一設(shè)備上的 內(nèi)存檢測系統(tǒng)收到操作系統(tǒng)發(fā)送的內(nèi)存溢出指示,并通知監(jiān)控系統(tǒng)出現(xiàn)故障。
7、 一種設(shè)備,其特征在于,包括 操作系統(tǒng)模塊,用于管理設(shè)備資源;應(yīng)用系統(tǒng)模塊,用于收到操作系統(tǒng)模塊發(fā)送的內(nèi)存溢出指示,并通知監(jiān)控 系統(tǒng)模塊有故障出現(xiàn);監(jiān)控系統(tǒng)模塊,用于獲知出現(xiàn)故障后,觸發(fā)設(shè)備到第二設(shè)備的切換。
8、 如權(quán)利要求7所述的設(shè)備,其特征在于,應(yīng)用系統(tǒng);漠塊收到搮:作系統(tǒng) 發(fā)送的內(nèi)存溢出指示,并在日志文件中記錄內(nèi)存溢出;所述設(shè)備還包括內(nèi)存檢測系統(tǒng)模塊,用于通過查詢?nèi)罩疚募@知內(nèi)存溢 出,并通知監(jiān)控系統(tǒng)模塊出現(xiàn)故障。
9、 如權(quán)利要求8所述的設(shè)備,其特征在于,監(jiān)控系統(tǒng)模塊監(jiān)控內(nèi)存檢測 系統(tǒng)模塊的進(jìn)程,并在發(fā)現(xiàn)內(nèi)存檢測系統(tǒng)模塊的進(jìn)程退出時獲知出現(xiàn)故障。
10、 如權(quán)利要求7所述的設(shè)備,其特征在于,還包括內(nèi)存檢測系統(tǒng)模塊 用于收到操作系統(tǒng)模塊發(fā)送的內(nèi)存溢出指示,并通知監(jiān)控系統(tǒng)模塊出現(xiàn)故障。
全文摘要
本發(fā)明公開了一種觸發(fā)雙機切換的方法,用于及時發(fā)現(xiàn)故障,并保證業(yè)務(wù)的正常運行。所述方法包括第一設(shè)備上的應(yīng)用系統(tǒng)收到操作系統(tǒng)發(fā)送的內(nèi)存溢出指示,并通知監(jiān)控系統(tǒng)有故障出現(xiàn);監(jiān)控系統(tǒng)獲知出現(xiàn)故障后,觸發(fā)第一設(shè)備到第二設(shè)備的切換。本發(fā)明還公開了用于實現(xiàn)所述方法的裝置。
文檔編號H04L12/26GK101651580SQ20091016953
公開日2010年2月17日 申請日期2009年9月8日 優(yōu)先權(quán)日2009年9月8日
發(fā)明者沈愛華 申請人:中興通訊股份有限公司