專利名稱:雙機(jī)熱備模式下節(jié)點(diǎn)內(nèi)存資源處理系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種計(jì)算機(jī)內(nèi)存處理技術(shù)領(lǐng)域,特別是涉及一種計(jì)算機(jī)雙機(jī)熱備模式下節(jié)點(diǎn)內(nèi)存資源處理系統(tǒng)和方法。
背景技術(shù):
目前,基于數(shù)據(jù)庫(kù)/應(yīng)用服務(wù)器的應(yīng)用,通常采用雙機(jī)熱備應(yīng)用模式,一般情況下數(shù)據(jù)庫(kù)運(yùn)行在一個(gè)節(jié)點(diǎn),另一個(gè)節(jié)點(diǎn)運(yùn)行應(yīng)用程序(如ERP應(yīng)用程序)?,F(xiàn)有技術(shù)中,一種對(duì)于數(shù)據(jù)庫(kù)/應(yīng)用服務(wù)器的雙機(jī)熱備應(yīng)用模式的內(nèi)存資源處理方法是,不對(duì)數(shù)據(jù)庫(kù)/應(yīng)用服務(wù)器的分配內(nèi)存資源做動(dòng)態(tài)調(diào)整,僅對(duì)數(shù)據(jù)庫(kù)/應(yīng)用服務(wù)器做啟動(dòng)/停止處理,而不調(diào)整內(nèi)存資源進(jìn)行動(dòng)態(tài)分配,最終結(jié)果使得整個(gè)系統(tǒng)的性能下降。即當(dāng)應(yīng)用程序(如ERP應(yīng)用程序)和數(shù)據(jù)庫(kù)各在不同節(jié)點(diǎn)時(shí),為確保單一故障系統(tǒng)能夠正常運(yùn)行,數(shù)據(jù)庫(kù)/應(yīng)用服務(wù)器節(jié)點(diǎn)的內(nèi)存資源設(shè)置如果是按照全內(nèi)存分配給數(shù)據(jù)庫(kù)/應(yīng)用程序時(shí),當(dāng)數(shù)據(jù)庫(kù)/應(yīng)用服務(wù)器中的一個(gè)節(jié)點(diǎn)出現(xiàn)故障時(shí),此時(shí)由于內(nèi)存資源最大限度分配給數(shù)據(jù)庫(kù)/應(yīng)用程序,可能導(dǎo)致數(shù)據(jù)庫(kù)/應(yīng)用程序無(wú)法在另一個(gè)節(jié)點(diǎn)啟動(dòng),即使啟動(dòng)了,速度也非常慢。另一種對(duì)于數(shù)據(jù)庫(kù)/應(yīng)用服務(wù)器的雙機(jī)熱備應(yīng)用模式的內(nèi)存資源處理方法是,為確保雙機(jī)熱備故障轉(zhuǎn)移能夠正常實(shí)現(xiàn),分配給數(shù)據(jù)庫(kù)/應(yīng)用服務(wù)器的內(nèi)存資源僅僅為全部?jī)?nèi)存的50%,而另外50%預(yù)留給數(shù)據(jù)庫(kù)/應(yīng)用服務(wù)器熱備使用,也就是說(shuō),節(jié)點(diǎn)1/2均正常的情況下,數(shù)據(jù)庫(kù)/應(yīng)用服務(wù)器每節(jié)點(diǎn)的內(nèi)存資源使用率只有50%,從而導(dǎo)致資源閑置沒(méi)有有效利用起來(lái)。即當(dāng)應(yīng)用程序(如ERP應(yīng)用程序)和數(shù)據(jù)庫(kù)各在不同節(jié)點(diǎn)時(shí),為確保單一故障時(shí)系統(tǒng)能夠正常運(yùn)行,數(shù)據(jù)庫(kù)/應(yīng)用服務(wù)器節(jié)點(diǎn)的內(nèi)存資源設(shè)置是按照半內(nèi)存分配給數(shù)據(jù)庫(kù)/應(yīng)用程序時(shí),此時(shí)當(dāng)兩節(jié)點(diǎn)都正常時(shí),由于內(nèi)存資源只有50%左右(即半內(nèi)存) 分配給數(shù)據(jù)庫(kù)/應(yīng)用程序,此時(shí)數(shù)據(jù)庫(kù)/應(yīng)用服務(wù)器內(nèi)存資源只有50%得到利用,而剩余 50%就沒(méi)有得到有效使用,最終導(dǎo)致由于資源沒(méi)有得到最大合理使用導(dǎo)致系統(tǒng)應(yīng)用性能不
王困相
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種雙機(jī)熱備模式下節(jié)點(diǎn)內(nèi)存資源處理系統(tǒng)和方法,其確保雙機(jī)熱備下正?;騿喂?jié)點(diǎn)故障時(shí),內(nèi)存資源得到最優(yōu)分配利用。為實(shí)現(xiàn)本發(fā)明目的而提供的一種雙機(jī)熱備模式下節(jié)點(diǎn)內(nèi)存資源處理系統(tǒng),包括雙機(jī)熱備模式下至少一數(shù)據(jù)庫(kù)節(jié)點(diǎn)和至少一應(yīng)用服務(wù)器節(jié)點(diǎn),所述節(jié)點(diǎn)中,包括檢測(cè)模塊和調(diào)配模塊,其中所述檢測(cè)模塊,用于檢測(cè)雙機(jī)熱備模式下數(shù)據(jù)庫(kù)/應(yīng)用服務(wù)器節(jié)點(diǎn)的數(shù)據(jù)庫(kù)服務(wù) /應(yīng)用程序服務(wù)的狀態(tài),判斷出數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)是否處于正常狀態(tài);所述調(diào)配模塊,用于當(dāng)數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)處于正常狀態(tài)時(shí),判斷當(dāng)前節(jié)點(diǎn)是否存在應(yīng)用程序/數(shù)據(jù)庫(kù)關(guān)鍵進(jìn)程以及當(dāng)前節(jié)點(diǎn)的內(nèi)存分配模式,并根據(jù)判斷結(jié)果對(duì)當(dāng)前節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配。較優(yōu)地,所述檢測(cè)模塊包括第一判斷子模塊和第二判斷子模塊;所述第一判斷子模塊,用于檢查節(jié)點(diǎn)的數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)啟動(dòng)關(guān)鍵進(jìn)程標(biāo)志是否為真;所述第二判斷子模塊,用于在第一判斷子模塊判斷所述數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)啟動(dòng)關(guān)鍵進(jìn)程標(biāo)志為真時(shí),檢查數(shù)據(jù)庫(kù)/應(yīng)用程序的實(shí)例進(jìn)程的狀態(tài)是否正常;所述調(diào)配模塊,包括第三判斷子模塊,第四判斷子模塊和調(diào)節(jié)子模塊,其中所述第三判斷子模塊,用于檢測(cè)模塊檢測(cè)出數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)處于正常狀態(tài)時(shí),判斷當(dāng)前節(jié)點(diǎn)是否存在應(yīng)用程序/數(shù)據(jù)庫(kù)關(guān)鍵進(jìn)程;所述第四判斷子模塊,用于檢測(cè)模塊檢測(cè)出數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)處于正常狀態(tài)時(shí),判斷當(dāng)前節(jié)點(diǎn)的內(nèi)存分配模式;所述調(diào)節(jié)子模塊,用于根據(jù)第三判斷子模塊和第四判斷子模塊的判斷結(jié)果,對(duì)當(dāng)前節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配。較優(yōu)地,當(dāng)所述當(dāng)前節(jié)點(diǎn)為數(shù)據(jù)庫(kù)節(jié)點(diǎn)時(shí),所述調(diào)節(jié)子模塊,用于在數(shù)據(jù)庫(kù)服務(wù)處于正常狀態(tài)時(shí),根據(jù)第三判斷子模塊和第四判斷子模塊的判斷結(jié)果,按照數(shù)據(jù)庫(kù)節(jié)點(diǎn)內(nèi)存大小和當(dāng)前節(jié)點(diǎn)內(nèi)存模式要求,調(diào)用內(nèi)存資源自調(diào)節(jié)程序,調(diào)整數(shù)據(jù)庫(kù)全局?jǐn)?shù)據(jù)區(qū)內(nèi)存參數(shù)大小,對(duì)數(shù)據(jù)庫(kù)節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配;當(dāng)所述節(jié)點(diǎn)為應(yīng)用服務(wù)器節(jié)點(diǎn)時(shí),所述調(diào)節(jié)子模塊,在應(yīng)用程序服務(wù)處于正常狀態(tài)時(shí),根據(jù)第三判斷子模塊和第四判斷子模塊的判斷結(jié)果,調(diào)用內(nèi)存資源自調(diào)節(jié)程序,調(diào)整啟動(dòng)應(yīng)用程序進(jìn)程的數(shù)量,對(duì)應(yīng)用服務(wù)器節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配。較優(yōu)地,當(dāng)所述當(dāng)前節(jié)點(diǎn)為數(shù)據(jù)庫(kù)節(jié)點(diǎn)時(shí),本發(fā)明實(shí)施例的內(nèi)存資源自調(diào)節(jié)程序?yàn)閁nix/Linux系統(tǒng)中的db. sh程序;當(dāng)所述節(jié)點(diǎn)為應(yīng)用服務(wù)器節(jié)點(diǎn)時(shí),所述內(nèi)存資源自調(diào)節(jié)程序,為Unix/Linux系統(tǒng)中的app. sh程序。為實(shí)現(xiàn)本發(fā)明目的還提供一種雙機(jī)熱備模式下節(jié)點(diǎn)內(nèi)存資源處理方法,包括雙機(jī)熱備模式下至少一數(shù)據(jù)庫(kù)節(jié)點(diǎn)和至少一應(yīng)用服務(wù)器節(jié)點(diǎn),所述方法包括如下步驟步驟S100,檢測(cè)雙機(jī)熱備模式下數(shù)據(jù)庫(kù)/應(yīng)用服務(wù)器節(jié)點(diǎn)的數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)的狀態(tài),判斷出數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)是否處于正常狀態(tài);步驟S200,當(dāng)數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)處于正常狀態(tài)時(shí),判斷當(dāng)前節(jié)點(diǎn)是否存在應(yīng)用程序/數(shù)據(jù)庫(kù)關(guān)鍵進(jìn)程以及當(dāng)前節(jié)點(diǎn)的內(nèi)存分配模式,并根據(jù)判斷結(jié)果對(duì)當(dāng)前節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配。較優(yōu)地,所述步驟SlOO包括下列步驟步驟S110,檢查節(jié)點(diǎn)的數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)啟動(dòng)關(guān)鍵進(jìn)程標(biāo)志是否為真;步驟S120,如果數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)啟動(dòng)關(guān)鍵進(jìn)程標(biāo)志為假,則結(jié)束返回; 否則,所述數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)啟動(dòng)關(guān)鍵進(jìn)程標(biāo)志為真,檢查數(shù)據(jù)庫(kù)/應(yīng)用程序的實(shí)例進(jìn)程的狀態(tài)是否正常;步驟S130,如果實(shí)例進(jìn)程不正常,則結(jié)束返回;否則,判斷出數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)處于正常狀態(tài),進(jìn)入步驟S200。較優(yōu)地,所述步驟S200包括下列步驟
步驟S210,當(dāng)數(shù)據(jù)庫(kù)程序服務(wù)/應(yīng)用程序服務(wù)狀態(tài)正常且存在應(yīng)用程序/數(shù)據(jù)庫(kù)關(guān)鍵進(jìn)程時(shí),判斷當(dāng)前節(jié)點(diǎn)的內(nèi)存分配模式;步驟S220,如果當(dāng)前節(jié)點(diǎn)的內(nèi)存分配模式為半內(nèi)存模式,則結(jié)束返回;否則,調(diào)用內(nèi)存資源自調(diào)節(jié)程序,按照當(dāng)前節(jié)點(diǎn)內(nèi)存大小和當(dāng)前節(jié)點(diǎn)半內(nèi)存模式要求,對(duì)節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配;步驟S230,當(dāng)數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)狀態(tài)正常且不存在應(yīng)用程序/數(shù)據(jù)庫(kù)關(guān)鍵進(jìn)程,判斷當(dāng)前節(jié)點(diǎn)的內(nèi)存分配模式;步驟S240,如果當(dāng)前節(jié)點(diǎn)的內(nèi)存分配模式為全內(nèi)存模式,則結(jié)束返回;否則,調(diào)用內(nèi)存資源自調(diào)節(jié)程序,按照當(dāng)前節(jié)點(diǎn)內(nèi)存大小和當(dāng)前節(jié)點(diǎn)全內(nèi)存模式要求,對(duì)節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配。較優(yōu)地,在步驟S220和步驟S240中當(dāng)所述節(jié)點(diǎn)為數(shù)據(jù)庫(kù)節(jié)點(diǎn)時(shí),在數(shù)據(jù)庫(kù)服務(wù)處于正常狀態(tài)時(shí),根據(jù)步驟S220的判斷結(jié)果,按照數(shù)據(jù)庫(kù)節(jié)點(diǎn)內(nèi)存大小和當(dāng)前節(jié)點(diǎn)內(nèi)存模式要求,調(diào)用內(nèi)存資源自調(diào)節(jié)程序,調(diào)整數(shù)據(jù)庫(kù)全局?jǐn)?shù)據(jù)區(qū)內(nèi)存參數(shù)大小,對(duì)數(shù)據(jù)庫(kù)節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配;當(dāng)所述節(jié)點(diǎn)為應(yīng)用服務(wù)器節(jié)點(diǎn)時(shí),在應(yīng)用程序服務(wù)處于正常狀態(tài)時(shí),根據(jù)步驟 S240的判斷結(jié)果,調(diào)用內(nèi)存資源自調(diào)節(jié)程序,調(diào)整啟動(dòng)應(yīng)用程序的數(shù)量,對(duì)應(yīng)用服務(wù)器節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配。本發(fā)明的有益效果是本發(fā)明的雙機(jī)熱備模式下節(jié)點(diǎn)內(nèi)存資源處理系統(tǒng)和方法, 確保雙機(jī)熱備(應(yīng)用程序、數(shù)據(jù)庫(kù))下雙機(jī)正常和/或應(yīng)用程序節(jié)點(diǎn)故障時(shí),內(nèi)存資源得到最優(yōu)分配利用。其避免在雙機(jī)正常時(shí),僅分配節(jié)點(diǎn)一半內(nèi)存使用,而使得內(nèi)存資源原本緊張而沒(méi)有得到有效使用,使得應(yīng)用系統(tǒng)性能無(wú)法得到提升;同時(shí)避免雙機(jī)節(jié)點(diǎn)故障轉(zhuǎn)換時(shí),可能由于應(yīng)用程序和數(shù)據(jù)庫(kù)服務(wù)均采用全內(nèi)存使用,導(dǎo)致故障轉(zhuǎn)移失敗的問(wèn)題。其是保障在雙機(jī)熱備模式下數(shù)據(jù)庫(kù)/應(yīng)用服務(wù)器的內(nèi)存分配自動(dòng)優(yōu)化的高效手段,大大緩解由于沒(méi)有優(yōu)化或者手工調(diào)整帶來(lái)的性能下降或者瓶頸。
圖1是本發(fā)明雙機(jī)熱備模式下節(jié)點(diǎn)內(nèi)存資源處理系統(tǒng)結(jié)構(gòu)示意圖;圖2是本發(fā)明實(shí)施例一數(shù)據(jù)庫(kù)節(jié)點(diǎn)內(nèi)存資源處理方法流程圖;圖3是本發(fā)明實(shí)施例二 ERP應(yīng)用服務(wù)器內(nèi)存資源處理方法流程圖。
具體實(shí)施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明的雙機(jī)熱備模式下節(jié)點(diǎn)內(nèi)存資源處理系統(tǒng)和方法進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解, 此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。下面以雙機(jī)熱備模式下,數(shù)據(jù)庫(kù)/ERP應(yīng)用服務(wù)器節(jié)點(diǎn)內(nèi)存資源處理為例,對(duì)本發(fā)明的雙機(jī)熱備模式下節(jié)點(diǎn)內(nèi)存資源處理系統(tǒng)和方法進(jìn)行詳細(xì)說(shuō)明,但應(yīng)用說(shuō)明的是,本發(fā)明的應(yīng)用程序并不限于ERP應(yīng)用程序,本發(fā)明也可適用于雙機(jī)熱備模式下數(shù)據(jù)庫(kù)/其他應(yīng)用程序節(jié)點(diǎn)內(nèi)存資源處理。如圖1所示,作為一種可實(shí)施方式,本發(fā)明實(shí)施例的雙機(jī)熱備模式下節(jié)點(diǎn)內(nèi)存資源處理系統(tǒng),包括雙機(jī)熱備模式下至少一數(shù)據(jù)庫(kù)節(jié)點(diǎn)1和至少一應(yīng)用服務(wù)器節(jié)點(diǎn)2。本發(fā)明實(shí)施例中,所述節(jié)點(diǎn)中,包括檢測(cè)模塊3和調(diào)配模塊4,其中所述檢測(cè)模塊3,用于檢測(cè)雙機(jī)熱備模式下數(shù)據(jù)庫(kù)/應(yīng)用服務(wù)器節(jié)點(diǎn)的數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)的狀態(tài),判斷出數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)是否處于正常狀態(tài);所述調(diào)配模塊4,用于當(dāng)數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)處于正常狀態(tài)時(shí),判斷當(dāng)前節(jié)點(diǎn)是否存在應(yīng)用程序/數(shù)據(jù)庫(kù)關(guān)鍵進(jìn)程以及當(dāng)前節(jié)點(diǎn)的內(nèi)存分配模式,并根據(jù)判斷結(jié)果對(duì)當(dāng)前節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配。本發(fā)明實(shí)施例中,檢測(cè)模塊檢測(cè)雙機(jī)熱備中的節(jié)點(diǎn)的數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)的狀態(tài)是否正常;當(dāng)數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)處于正常狀態(tài)時(shí),調(diào)配模塊判斷當(dāng)前節(jié)點(diǎn)是否存在應(yīng)用程序/數(shù)據(jù)庫(kù)關(guān)鍵進(jìn)程以及當(dāng)前節(jié)點(diǎn)的內(nèi)存分配模式,并根據(jù)判斷結(jié)果對(duì)當(dāng)前節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配。作為一種可實(shí)施方式,較佳地,所述檢測(cè)模塊3包括第一判斷子模塊31和第二判斷子模塊32 ;所述第一判斷子模塊31,用于檢查節(jié)點(diǎn)的數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)啟動(dòng)關(guān)鍵進(jìn)程標(biāo)志是否為真(True);所述第二判斷子模塊32,用于在第一判斷子模塊31判斷所述數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)啟動(dòng)關(guān)鍵進(jìn)程標(biāo)志為真(True)時(shí),檢查數(shù)據(jù)庫(kù)/應(yīng)用程序的實(shí)例進(jìn)程(或稱實(shí)例服務(wù))的狀態(tài)是否正常。所述調(diào)配模塊4,包括第三判斷子模塊41,第四判斷子模塊42和調(diào)節(jié)子模塊43,其中所述第三判斷子模塊41,用于檢測(cè)模塊3檢測(cè)出數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)處于正常狀態(tài)時(shí),判斷當(dāng)前節(jié)點(diǎn)是否存在應(yīng)用程序/數(shù)據(jù)庫(kù)關(guān)鍵進(jìn)程;所述第四判斷子模塊42,用于檢測(cè)模塊3檢測(cè)出數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)處于正常狀態(tài)時(shí),判斷當(dāng)前節(jié)點(diǎn)的內(nèi)存分配模式;所述調(diào)節(jié)子模塊43,用于根據(jù)第三判斷子模塊41和第四判斷子模塊42的判斷結(jié)果,對(duì)當(dāng)前節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配。具體地,作為一種可實(shí)施方式,當(dāng)所述當(dāng)前節(jié)點(diǎn)為數(shù)據(jù)庫(kù)節(jié)點(diǎn)1時(shí),所述調(diào)節(jié)子模塊43,用于在數(shù)據(jù)庫(kù)服務(wù)處于正常狀態(tài)時(shí),根據(jù)第三判斷子模塊41和第四判斷子模塊42的判斷結(jié)果,按照數(shù)據(jù)庫(kù)節(jié)點(diǎn)內(nèi)存大小和當(dāng)前節(jié)點(diǎn)內(nèi)存模式要求,調(diào)用內(nèi)存資源自調(diào)節(jié)程序, 調(diào)整數(shù)據(jù)庫(kù)全局?jǐn)?shù)據(jù)區(qū)內(nèi)存參數(shù)大小,對(duì)數(shù)據(jù)庫(kù)節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配;作為一種可實(shí)施方式,當(dāng)所述當(dāng)前節(jié)點(diǎn)為數(shù)據(jù)庫(kù)節(jié)點(diǎn)1時(shí),本發(fā)明實(shí)施例的內(nèi)存資源自調(diào)節(jié)程序?yàn)閁nix/Linux系統(tǒng)中的db. sh程序。所述db. sh程序可以是Unix/Linux系統(tǒng)或者Windows系統(tǒng)中雙機(jī)熱備模式下數(shù)據(jù)庫(kù)內(nèi)存資源的自調(diào)節(jié)程序,其用于根據(jù)數(shù)據(jù)庫(kù)全局?jǐn)?shù)據(jù)區(qū)內(nèi)存參數(shù)大小,對(duì)節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配。具體地,作為另一種可實(shí)施方式,當(dāng)所述節(jié)點(diǎn)為應(yīng)用服務(wù)器節(jié)點(diǎn)2時(shí),所述調(diào)節(jié)子模塊43,在應(yīng)用程序服務(wù)處于正常狀態(tài)時(shí),根據(jù)第三判斷子模塊41和第四判斷子模塊42的判斷結(jié)果,調(diào)用內(nèi)存資源自調(diào)節(jié)程序,調(diào)整啟動(dòng)應(yīng)用程序進(jìn)程的數(shù)量,對(duì)應(yīng)用服務(wù)器節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配。
作為另一種可實(shí)施方式,當(dāng)所述節(jié)點(diǎn)為應(yīng)用服務(wù)器節(jié)點(diǎn)2時(shí),所述內(nèi)存資源自調(diào)節(jié)程序,為Unix/Linux系統(tǒng)中的app. sh程序。所述app. sh程序可以是Unix/Linux系統(tǒng)中雙機(jī)熱備模式下ERP應(yīng)用程序內(nèi)存資源的自調(diào)節(jié)程序,其用于根據(jù)啟動(dòng)應(yīng)用程序的數(shù)量這一參數(shù)量,對(duì)節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配。相應(yīng)地,本發(fā)明還提供一種雙機(jī)熱備模式下節(jié)點(diǎn)內(nèi)存資源處理方法,包括雙機(jī)熱備模式下至少一數(shù)據(jù)庫(kù)節(jié)點(diǎn)和至少一應(yīng)用服務(wù)器節(jié)點(diǎn)。該節(jié)點(diǎn)內(nèi)存資源處理方法包括如下步驟步驟S100,檢測(cè)雙機(jī)熱備模式下數(shù)據(jù)庫(kù)/應(yīng)用服務(wù)器節(jié)點(diǎn)的數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)的狀態(tài),判斷出數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)是否處于正常狀態(tài);較佳地,所述步驟SlOO包括下列步驟步驟S110,檢查節(jié)點(diǎn)的數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)啟動(dòng)關(guān)鍵進(jìn)程標(biāo)志是否為真;檢查數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)啟動(dòng)關(guān)鍵進(jìn)程標(biāo)志,例如Oracle是“omon” 是否為真(True)。步驟S120,如果數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)啟動(dòng)關(guān)鍵進(jìn)程標(biāo)志為假(False),則結(jié)束返回;否則,所述數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)啟動(dòng)關(guān)鍵進(jìn)程標(biāo)志為真(True),檢查數(shù)據(jù)庫(kù) /應(yīng)用程序的實(shí)例進(jìn)程(或稱實(shí)例服務(wù))的狀態(tài)是否正常;步驟S130,如果實(shí)例進(jìn)程不正常,則結(jié)束返回;否則,判斷出數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)處于正常狀態(tài),進(jìn)入步驟S200。步驟S200,當(dāng)數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)處于正常狀態(tài)時(shí),判斷當(dāng)前節(jié)點(diǎn)是否存在應(yīng)用程序/數(shù)據(jù)庫(kù)關(guān)鍵進(jìn)程以及當(dāng)前節(jié)點(diǎn)的內(nèi)存分配模式,并根據(jù)判斷結(jié)果對(duì)當(dāng)前節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配。較佳地,所述步驟S200包括下列步驟步驟S210,當(dāng)數(shù)據(jù)庫(kù)程序服務(wù)/應(yīng)用程序服務(wù)狀態(tài)正常且存在應(yīng)用程序/數(shù)據(jù)庫(kù)關(guān)鍵進(jìn)程時(shí),判斷當(dāng)前節(jié)點(diǎn)的內(nèi)存分配模式;步驟S220,如果當(dāng)前節(jié)點(diǎn)的內(nèi)存分配模式為半內(nèi)存模式,則結(jié)束返回;否則,調(diào)用內(nèi)存資源自調(diào)節(jié)程序,按照當(dāng)前節(jié)點(diǎn)內(nèi)存大小和當(dāng)前節(jié)點(diǎn)半內(nèi)存模式要求,對(duì)節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配;步驟S230,當(dāng)數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)狀態(tài)正常且不存在應(yīng)用程序/數(shù)據(jù)庫(kù)關(guān)鍵進(jìn)程,判斷當(dāng)前節(jié)點(diǎn)的內(nèi)存分配模式;步驟S240,如果當(dāng)前節(jié)點(diǎn)的內(nèi)存分配模式為全內(nèi)存模式,則結(jié)束返回;否則,調(diào)用內(nèi)存資源自調(diào)節(jié)程序,按照當(dāng)前節(jié)點(diǎn)內(nèi)存大小和當(dāng)前節(jié)點(diǎn)全內(nèi)存模式要求,對(duì)節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配。更佳地,在步驟S220和步驟S240中當(dāng)所述節(jié)點(diǎn)為數(shù)據(jù)庫(kù)節(jié)點(diǎn)時(shí),在數(shù)據(jù)庫(kù)服務(wù)處于正常狀態(tài)時(shí),根據(jù)步驟S220的判斷結(jié)果,按照數(shù)據(jù)庫(kù)節(jié)點(diǎn)內(nèi)存大小和當(dāng)前節(jié)點(diǎn)內(nèi)存模式要求,調(diào)用內(nèi)存資源自調(diào)節(jié)程序,調(diào)整數(shù)據(jù)庫(kù)全局?jǐn)?shù)據(jù)區(qū)內(nèi)存參數(shù)大小,對(duì)數(shù)據(jù)庫(kù)節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配;當(dāng)所述節(jié)點(diǎn)為應(yīng)用服務(wù)器節(jié)點(diǎn)時(shí),在應(yīng)用程序服務(wù)處于正常狀態(tài)時(shí),根據(jù)步驟 S240的判斷結(jié)果,調(diào)用內(nèi)存資源自調(diào)節(jié)程序,調(diào)整啟動(dòng)應(yīng)用程序的數(shù)量,對(duì)應(yīng)用服務(wù)器節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配。下面分別以一數(shù)據(jù)庫(kù)節(jié)點(diǎn)的內(nèi)存資源處理方法和一 ERP應(yīng)用程序節(jié)點(diǎn)的內(nèi)存資源處理方法為例,進(jìn)一步詳細(xì)說(shuō)明本發(fā)明實(shí)施例的雙機(jī)熱備模式下節(jié)點(diǎn)內(nèi)存資源處理系統(tǒng)和方法。實(shí)施例一,數(shù)據(jù)庫(kù)節(jié)點(diǎn)的內(nèi)存資源處理方法在實(shí)施例一的雙機(jī)熱備模式下節(jié)點(diǎn)內(nèi)存資源處理系統(tǒng)中,包括雙機(jī)熱備模式下一數(shù)據(jù)庫(kù)節(jié)點(diǎn)和一應(yīng)用服務(wù)器節(jié)點(diǎn),其中,在正常運(yùn)行情況下,數(shù)據(jù)庫(kù)程序運(yùn)行在一個(gè)數(shù)據(jù)庫(kù)節(jié)點(diǎn),ERP應(yīng)用程序運(yùn)行在應(yīng)用服務(wù)器節(jié)點(diǎn)。節(jié)點(diǎn)1為數(shù)據(jù)庫(kù)節(jié)點(diǎn),運(yùn)行數(shù)據(jù)庫(kù)(例如,0raCle/DB2);節(jié)點(diǎn)2為ERP應(yīng)用服務(wù)器,運(yùn)行ERP應(yīng)用程序(例如EAS)。數(shù)據(jù)庫(kù)節(jié)點(diǎn)運(yùn)行的數(shù)據(jù)庫(kù)實(shí)例為oracle單一實(shí)例,或者DB2ERP應(yīng)用程序?qū)嵗?+Toolsdb編目實(shí)例等。本實(shí)施例一中,數(shù)據(jù)庫(kù)節(jié)點(diǎn)的內(nèi)存資源處理方法包括如下步驟步驟Al,在雙機(jī)熱備模式下,節(jié)點(diǎn)1數(shù)據(jù)庫(kù)節(jié)點(diǎn)判斷數(shù)據(jù)庫(kù)服務(wù)是否正常;較佳地,所述步驟Al包括下列步驟步驟All,在雙機(jī)熱備模式下,檢查節(jié)點(diǎn)1數(shù)據(jù)庫(kù)節(jié)點(diǎn)的數(shù)據(jù)庫(kù)服務(wù)啟動(dòng)關(guān)鍵進(jìn)程標(biāo)志,即數(shù)據(jù)庫(kù)服務(wù)啟動(dòng)關(guān)鍵進(jìn)程標(biāo)志是否存在,例如Oracle的“0ra_Sm0n”標(biāo)志是否存在 (True);如果不存在,則結(jié)束返回;否則,進(jìn)入下一步驟;步驟A12,檢查數(shù)據(jù)庫(kù)服務(wù)中的數(shù)據(jù)庫(kù)實(shí)例進(jìn)程(或稱實(shí)例服務(wù))狀態(tài)是否正常;其中,檢查數(shù)據(jù)庫(kù)服務(wù)狀態(tài)是否正常是一種現(xiàn)有技術(shù),現(xiàn)有技術(shù)中有多種方法可實(shí)現(xiàn),例如檢測(cè)端口是否暢通、監(jiān)聽(tīng)運(yùn)行狀態(tài)、檢測(cè)進(jìn)程名稱是否存在等實(shí)現(xiàn),因此在本發(fā)明實(shí)施例中不再一一列舉。步驟A13,如果數(shù)據(jù)庫(kù)服務(wù)中的數(shù)據(jù)庫(kù)實(shí)例進(jìn)程不正常,則結(jié)束返回;否則,進(jìn)行下一步驟;當(dāng)數(shù)據(jù)庫(kù)服務(wù)啟動(dòng)關(guān)鍵進(jìn)程標(biāo)志存在而且數(shù)據(jù)庫(kù)實(shí)例進(jìn)程狀態(tài)正常時(shí),數(shù)據(jù)庫(kù)服務(wù)標(biāo)志DBSTART_TAG_1為“True”狀態(tài),也就是數(shù)據(jù)庫(kù)服務(wù)處于正常狀態(tài),進(jìn)入步驟A2 ;否則數(shù)據(jù)庫(kù)服務(wù)標(biāo)志DBSTART_TAG_1為“i^alse”狀態(tài),結(jié)束返回。步驟A2,當(dāng)數(shù)據(jù)庫(kù)服務(wù)處于正常狀態(tài),即DBSTART_TAG_1標(biāo)志為“True”時(shí),判斷當(dāng)前節(jié)點(diǎn)是否存在ERP應(yīng)用程序關(guān)鍵進(jìn)程以及當(dāng)前節(jié)點(diǎn)的內(nèi)存分配模式,并根據(jù)判斷結(jié)果對(duì)節(jié)點(diǎn)1數(shù)據(jù)庫(kù)節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配。作為一種可實(shí)施方式,利用ERP應(yīng)用程序服務(wù)標(biāo)志符EASSTART_TAG_1,判斷當(dāng)前節(jié)點(diǎn)是否存在ERP應(yīng)用程序關(guān)鍵進(jìn)程,即當(dāng)ERP應(yīng)用程序關(guān)鍵進(jìn)程存在時(shí),則標(biāo)志符 EASSTART_TAG_1為“True”,表示節(jié)點(diǎn)2ERP應(yīng)用服務(wù)器出現(xiàn)故障,ERP應(yīng)用程序在節(jié)點(diǎn)1數(shù)據(jù)庫(kù)節(jié)點(diǎn)上運(yùn)行;否則標(biāo)志符EASSTART_TAG_1為“False”,表示節(jié)點(diǎn)1和節(jié)點(diǎn)2正常運(yùn)行;設(shè)當(dāng)節(jié)點(diǎn)2出現(xiàn)故障,節(jié)點(diǎn)1正常且數(shù)據(jù)庫(kù)服務(wù)和ERP應(yīng)用程序在同一節(jié)點(diǎn)時(shí),數(shù)據(jù)庫(kù)服務(wù)占內(nèi)存資源百分比為K,則ERP應(yīng)用程序?yàn)镮-K ;在數(shù)據(jù)庫(kù)半/全內(nèi)存調(diào)節(jié)進(jìn)程中,調(diào)用數(shù)據(jù)庫(kù)內(nèi)存資源自調(diào)節(jié)程序db. sh,按照當(dāng)前節(jié)點(diǎn)內(nèi)存大小,調(diào)整數(shù)據(jù)庫(kù)全局?jǐn)?shù)據(jù)區(qū)相關(guān)參數(shù)K大小,并重新啟動(dòng)數(shù)據(jù)庫(kù),對(duì)節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配。較佳地,所述步驟A2包括下列步驟步驟A21,判斷當(dāng)前節(jié)點(diǎn)是否存在ERP應(yīng)用程序關(guān)鍵進(jìn)程;步驟A22,當(dāng)數(shù)據(jù)庫(kù)服務(wù)處于正常狀態(tài)且當(dāng)前節(jié)點(diǎn)存在ERP應(yīng)用程序關(guān)鍵進(jìn)程,即 DBSTART_TAG_1標(biāo)志為“True”且標(biāo)志符EASSTART_TAG_1為“True”時(shí),判斷節(jié)點(diǎn)1數(shù)據(jù)庫(kù)節(jié)點(diǎn)的內(nèi)存分配模式;步驟A23,如果節(jié)點(diǎn)1數(shù)據(jù)庫(kù)節(jié)點(diǎn)的內(nèi)存分配模式為半內(nèi)存模式,則結(jié)束返回;否貝U,調(diào)用數(shù)據(jù)庫(kù)內(nèi)存資源自調(diào)節(jié)程序db. sh,按照當(dāng)前節(jié)點(diǎn)內(nèi)存大小和當(dāng)前節(jié)點(diǎn)半內(nèi)存模式要求,調(diào)整數(shù)據(jù)庫(kù)全局?jǐn)?shù)據(jù)區(qū)相關(guān)參數(shù)K大小,然后重新啟動(dòng)數(shù)據(jù)庫(kù),對(duì)節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配。具體地,設(shè)數(shù)據(jù)庫(kù)節(jié)點(diǎn)半內(nèi)存分配模式下,當(dāng)前節(jié)點(diǎn)內(nèi)存=“物理內(nèi)存大小” “操作系統(tǒng),其他ERP應(yīng)用程序占用內(nèi)存”。在半內(nèi)存調(diào)節(jié)進(jìn)程中,調(diào)用數(shù)據(jù)庫(kù)內(nèi)存資源自調(diào)節(jié)程序db.sh,按照當(dāng)前節(jié)點(diǎn)內(nèi)存大小,調(diào)整數(shù)據(jù)庫(kù)全局?jǐn)?shù)據(jù)區(qū)相關(guān)參數(shù)K大小,對(duì)節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配。其中,參數(shù)K 為 30% 80%, Bp K 大于 0. 30,小于 0. 80 ;較佳地,參數(shù)K為50 %。在步驟A23中,在出現(xiàn)節(jié)點(diǎn)故障情形時(shí),當(dāng)前節(jié)點(diǎn)已經(jīng)存在ERP應(yīng)用程序關(guān)鍵進(jìn)程的情況下,進(jìn)行數(shù)據(jù)庫(kù)半內(nèi)存自調(diào)節(jié),避免啟動(dòng)數(shù)據(jù)庫(kù)服務(wù)失敗或系統(tǒng)內(nèi)存耗光導(dǎo)致系統(tǒng)整體性能急劇下降。步驟A24,當(dāng)數(shù)據(jù)庫(kù)服務(wù)處于正常狀態(tài)且當(dāng)前節(jié)點(diǎn)不存在ERP應(yīng)用程序關(guān)鍵進(jìn)程, 即DBSTART_TAG_1標(biāo)志為“True”且標(biāo)志符EASSTART_TAG_1為lalse”時(shí),判斷節(jié)點(diǎn)1數(shù)據(jù)庫(kù)節(jié)點(diǎn)的內(nèi)存分配模式;步驟A25,如果節(jié)點(diǎn)1數(shù)據(jù)庫(kù)節(jié)點(diǎn)的內(nèi)存分配模式為全內(nèi)存模式,則結(jié)束返回;否貝U,調(diào)用數(shù)據(jù)庫(kù)內(nèi)存資源自調(diào)節(jié)程序db. sh,按照當(dāng)前節(jié)點(diǎn)內(nèi)存大小和當(dāng)前節(jié)點(diǎn)全內(nèi)存模式要求,調(diào)整數(shù)據(jù)庫(kù)全局?jǐn)?shù)據(jù)區(qū)相關(guān)參數(shù)K大小,然后重新啟動(dòng)數(shù)據(jù)庫(kù),對(duì)節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配。具體地,設(shè)數(shù)據(jù)庫(kù)節(jié)點(diǎn)全內(nèi)存分配模式下,當(dāng)前節(jié)點(diǎn)內(nèi)存=“物理內(nèi)存大小” “操作系統(tǒng),其他ERP應(yīng)用程序占用內(nèi)存”;則調(diào)整參數(shù)K = 100%,然后重新啟動(dòng)數(shù)據(jù)庫(kù),對(duì)節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配。在步驟Α25中,在雙節(jié)點(diǎn)正常情形時(shí),在數(shù)據(jù)庫(kù)當(dāng)前節(jié)點(diǎn)不存在ERP應(yīng)用程序關(guān)鍵進(jìn)程的情況下,進(jìn)行數(shù)據(jù)庫(kù)全內(nèi)存調(diào)節(jié),避免分配給數(shù)據(jù)庫(kù)服務(wù)內(nèi)存為半內(nèi)存而沒(méi)有發(fā)揮整個(gè)系統(tǒng)資源內(nèi)存最優(yōu)利用。較佳地,本實(shí)施例中的數(shù)據(jù)庫(kù)節(jié)點(diǎn)的內(nèi)存資源處理方法,采用crontab命令,以 10-15分鐘檢測(cè)重復(fù)循環(huán)一次,執(zhí)行本發(fā)明實(shí)施例一數(shù)據(jù)庫(kù)節(jié)點(diǎn)的內(nèi)存資源處理方法,即重復(fù)步驟Al A2,對(duì)節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配。crontab命令Unix和類Unix的操作系統(tǒng)之中,用于設(shè)置周期性被執(zhí)行的指令。該命令從標(biāo)準(zhǔn)輸入設(shè)備讀取指令,并將其存放于“crontab”文件中,以供之后讀取和執(zhí)行。作為一種可實(shí)施方式,在Unix/Linux操作系統(tǒng)中,采用0,10,20,30,40, 50氺氺氺氺sh/opt/glc/ora/txt/db· sh > /dev/null 指令完成,其中 sh/opt/glc/ora/txt/db. sh是雙機(jī)熱備模式下數(shù)據(jù)庫(kù)內(nèi)存資源自調(diào)節(jié)程序(即數(shù)據(jù)庫(kù)半/全內(nèi)存調(diào)節(jié)進(jìn)程)。作為另一種可實(shí)施方式,在Windows操作系統(tǒng),則采用任務(wù)計(jì)劃自動(dòng)周期性(每10 分鐘)調(diào)用雙機(jī)熱備數(shù)據(jù)庫(kù)內(nèi)存資源自調(diào)節(jié)程序(即數(shù)據(jù)庫(kù)半/全內(nèi)存功能進(jìn)程)db. bat。所述db. sh程序可以是Unix/Linux系統(tǒng)或者Windows系統(tǒng)中雙機(jī)熱備模式下數(shù)據(jù)庫(kù)內(nèi)存資源的自調(diào)節(jié)程序,其用于根據(jù)數(shù)據(jù)庫(kù)全局?jǐn)?shù)據(jù)區(qū)內(nèi)存參數(shù)大小,對(duì)節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配,是一種現(xiàn)有技術(shù)。作為一種可實(shí)施方式,本發(fā)明實(shí)施例中,所述db. sh程序根據(jù)數(shù)據(jù)庫(kù)全局?jǐn)?shù)據(jù)區(qū)內(nèi)存參數(shù)大小,對(duì)節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配實(shí)現(xiàn)如下//#讀取當(dāng)前節(jié)點(diǎn)內(nèi)存并賦值給變量SGA_P,PGA-P ;//#獲取物理內(nèi)存大小;PLATFORM = $ (uname-s|cut-cl-3)if [[" $ {PLATFORM} “ =" AIX “ ]] ; thenMEMORY = ‘ prtconf-m|awk{‘ print$3' }//#半內(nèi)存賦值;SGA_P = $((${MEMORY}*8*8*65/100/100))PGA_A = $(($ {MEMORY}*淋2*65/100/100))DB_CACHE = $(($ {SGA_P}*70/100))SHARE_P00L = $(($ {SGA_P}*20/100))//#全內(nèi)存賦值;SGA_P = $(($ {MEMORY}*8*8/100))PGA_A = $(($ {MEMORY}*淋2/100))DB_CACHE = $(($ {SGA_P}*70/100))SHARE_P00L = $(($ {SGA_P}*20/100))實(shí)施例二,ERP應(yīng)用程序節(jié)點(diǎn)的內(nèi)存資源處理方法在這一實(shí)施例二的雙機(jī)熱備模式下節(jié)點(diǎn)內(nèi)存資源處理系統(tǒng)中,包括雙機(jī)熱備模式下一數(shù)據(jù)庫(kù)節(jié)點(diǎn)和一應(yīng)用服務(wù)器節(jié)點(diǎn),其中,在正常運(yùn)行情況下,數(shù)據(jù)庫(kù)程序運(yùn)行在一個(gè)數(shù)據(jù)庫(kù)節(jié)點(diǎn),ERP應(yīng)用程序運(yùn)行在應(yīng)用服務(wù)器節(jié)點(diǎn)。節(jié)點(diǎn)1為數(shù)據(jù)庫(kù)節(jié)點(diǎn),運(yùn)行數(shù)據(jù)庫(kù)(例如,0raCle/DB2);節(jié)點(diǎn)2為ERP應(yīng)用服務(wù)器,運(yùn)行ERP應(yīng)用程序(例如EAS)。步驟Bi,在雙機(jī)熱備模式下,節(jié)點(diǎn)2ERP應(yīng)用服務(wù)器節(jié)點(diǎn)首先判斷當(dāng)前節(jié)點(diǎn)是否存在ERP應(yīng)用程序服務(wù);較佳地,所述步驟Bl包括下列步驟步驟B11,檢查ERP應(yīng)用程序服務(wù)啟動(dòng)關(guān)鍵進(jìn)程標(biāo)志是否存在,即ERP應(yīng)用程序服務(wù)啟動(dòng)關(guān)鍵進(jìn)程標(biāo)志是否存在,例如Oracle的“0ra_Sm0n”標(biāo)志是否存在(True);如果不存在,則結(jié)束返回;否則,進(jìn)入下一步驟;步驟B12,檢查ERP應(yīng)用程序服務(wù)的實(shí)例進(jìn)程(或稱實(shí)例服務(wù))狀態(tài)是否正常;其中,檢查ERP應(yīng)用程序服務(wù)狀態(tài)是否正常是一種現(xiàn)有技術(shù),現(xiàn)有技術(shù)中有多種方法可實(shí)現(xiàn),例如檢測(cè)端口是否暢通、監(jiān)聽(tīng)運(yùn)行狀態(tài)、檢測(cè)進(jìn)程名稱是否存在等實(shí)現(xiàn),因此在本發(fā)明實(shí)施例中不再一一列舉。步驟B13,如果ERP應(yīng)用程序服務(wù)的實(shí)例進(jìn)程不正常,則結(jié)束返回;否則,進(jìn)行下一步驟;當(dāng)ERP應(yīng)用程序服務(wù)的服務(wù)啟動(dòng)關(guān)鍵進(jìn)程標(biāo)志為“True”而且ERP應(yīng)用程序服務(wù)的實(shí)例進(jìn)程狀態(tài)正常時(shí),ERP應(yīng)用程序服務(wù)標(biāo)志EASSTART_TAG_2為“True”狀態(tài),也就是ERP 應(yīng)用程序服務(wù)處于正常狀態(tài),進(jìn)入步驟A2 ;否則ERP應(yīng)用程序服務(wù)標(biāo)志EASSTART_TAG_2為 lalse”狀態(tài),結(jié)束返回。步驟B2,當(dāng)ERP應(yīng)用程序服務(wù)處于正常狀態(tài),即EASSTART_TAG_2標(biāo)志為“True” 時(shí),判斷當(dāng)前節(jié)點(diǎn)是否存在數(shù)據(jù)庫(kù)服務(wù)關(guān)鍵進(jìn)程以及當(dāng)前節(jié)點(diǎn)的內(nèi)存分配模式,并根據(jù)判斷結(jié)果對(duì)節(jié)點(diǎn)2ERP應(yīng)用服務(wù)器節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配。作為一種可實(shí)施方式,利用數(shù)據(jù)庫(kù)服務(wù)標(biāo)志DBSTART_TAG_2,判斷當(dāng)前節(jié)點(diǎn)是否存在數(shù)據(jù)庫(kù)服務(wù)關(guān)鍵進(jìn)程,即當(dāng)數(shù)據(jù)庫(kù)服務(wù)關(guān)鍵進(jìn)程存在時(shí),則數(shù)據(jù)庫(kù)服務(wù)標(biāo)志DBSTART_ TAG_2為“True”,表示節(jié)點(diǎn)1數(shù)據(jù)庫(kù)節(jié)點(diǎn)出現(xiàn)故障,數(shù)據(jù)庫(kù)服務(wù)在節(jié)點(diǎn)2ERP應(yīng)用服務(wù)器節(jié)點(diǎn)上運(yùn)行;否則為“False”,表示節(jié)點(diǎn)1和節(jié)點(diǎn)2正常運(yùn)行。在ERP應(yīng)用程序半/全內(nèi)存調(diào)節(jié)進(jìn)程中,調(diào)用ERP應(yīng)用程序內(nèi)存資源自調(diào)節(jié)程序 app. sh,按照當(dāng)前節(jié)點(diǎn)內(nèi)存大小和ERP應(yīng)用服務(wù)內(nèi)存(Dbh)的要求,調(diào)整啟動(dòng)的ERP應(yīng)用程序?qū)嵗龜?shù),對(duì)節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配。較佳地,所述步驟B2包括下列步驟步驟B21,判斷當(dāng)前節(jié)點(diǎn)是否存在數(shù)據(jù)庫(kù)服務(wù)關(guān)鍵進(jìn)程;步驟B22,當(dāng)ERP應(yīng)用程序服務(wù)處于正常狀態(tài)且當(dāng)前節(jié)點(diǎn)存在數(shù)據(jù)庫(kù)服務(wù)關(guān)鍵進(jìn)程,即EASSTART_TAG_2標(biāo)志為“!"rue”且標(biāo)志符DBSTART_TAG_2為“True”時(shí),判斷節(jié)點(diǎn)2 數(shù)據(jù)庫(kù)節(jié)點(diǎn)的內(nèi)存分配模式;步驟B23,如果節(jié)點(diǎn)2ERP應(yīng)用服務(wù)器節(jié)點(diǎn)的內(nèi)存分配模式為半內(nèi)存模式,則結(jié)束返回;否則,調(diào)用ERP應(yīng)用程序內(nèi)存資源自調(diào)節(jié)程序app. sh,按照當(dāng)前節(jié)點(diǎn)內(nèi)存大小和當(dāng)前節(jié)點(diǎn)的半內(nèi)存模式要求,調(diào)整啟動(dòng)的ERP應(yīng)用程序?qū)嵗M(jìn)程數(shù)Ni,對(duì)節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配,使得當(dāng)前ERP應(yīng)用程序?qū)嵗M(jìn)程占用內(nèi)存大小總和,接近或者等于半內(nèi)存模式下分配給ERP應(yīng)用程序內(nèi)存大小。具體地,設(shè)ERP應(yīng)用服務(wù)器半內(nèi)存分配模式下,當(dāng)前節(jié)點(diǎn)內(nèi)存=當(dāng)前節(jié)點(diǎn)“物理內(nèi)存”-“數(shù)據(jù)庫(kù)半內(nèi)存(DW0”- “操作系統(tǒng)及其他ERP應(yīng)用程序內(nèi)存”;則在ERP應(yīng)用程序半內(nèi)存調(diào)節(jié)程序中,所述調(diào)整啟動(dòng)的ERP應(yīng)用程序?qū)嵗M(jìn)程數(shù)為Ni*單個(gè)ERP應(yīng)用程序占用內(nèi)存大小< 內(nèi)存大小* (1_K)其中,m為ERP應(yīng)用程序半內(nèi)存(Aph)調(diào)節(jié)過(guò)程中能啟動(dòng)的ERP應(yīng)用程序?qū)嵗淖畲髷?shù)量;K為數(shù)據(jù)庫(kù)服務(wù)占內(nèi)存資源百分比。步驟B24,當(dāng)ERP應(yīng)用程序服務(wù)處于正常狀態(tài)且當(dāng)前節(jié)點(diǎn)不存在數(shù)據(jù)庫(kù)服務(wù)關(guān)鍵進(jìn)程,即EASSTART_TAG_2標(biāo)志為“True”且標(biāo)志符DBSTART_TAG_2為lalse”時(shí),判斷節(jié)點(diǎn) 2ERP應(yīng)用服務(wù)器節(jié)點(diǎn)的內(nèi)存分配模式;步驟B25,如果節(jié)點(diǎn)2ERP應(yīng)用服務(wù)器節(jié)點(diǎn)的內(nèi)存分配模式為全內(nèi)存模式,則結(jié)束返回;否則,調(diào)用ERP應(yīng)用程序內(nèi)存資源自調(diào)節(jié)程序db. sh,按照當(dāng)前節(jié)點(diǎn)內(nèi)存大小和當(dāng)前節(jié)點(diǎn)的全內(nèi)存模式要求,調(diào)整啟動(dòng)的ERP應(yīng)用程序?qū)嵗M(jìn)程數(shù)N0,對(duì)節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配。使得當(dāng)前ERP應(yīng)用程序?qū)嵗M(jìn)程占用內(nèi)存大小總和,接近或者等于全內(nèi)存模式下分配給ERP應(yīng)用程序內(nèi)存大小。具體地,設(shè)ERP應(yīng)用服務(wù)器全內(nèi)存分配模式下,當(dāng)前節(jié)點(diǎn)內(nèi)存=當(dāng)前節(jié)點(diǎn)“物理內(nèi)存”-“操作系統(tǒng)及其他ERP應(yīng)用程序內(nèi)存”;則在ERP應(yīng)用程序全內(nèi)存調(diào)節(jié)進(jìn)程中,所述調(diào)整啟動(dòng)的ERP應(yīng)用程序?qū)嵗M(jìn)程數(shù)為NO*單個(gè)ERP應(yīng)用程序占用內(nèi)存大小 < 內(nèi)存大小其中,NO為ERP應(yīng)用程序全內(nèi)存(Apf)調(diào)節(jié)過(guò)程中能啟動(dòng)的ERP應(yīng)用程序?qū)嵗M(jìn)程的最大數(shù)量。較佳地,本實(shí)施例中的ERP應(yīng)用服務(wù)器節(jié)點(diǎn)的內(nèi)存資源處理方法,采用crontab命令,以10-15分鐘檢測(cè)重復(fù)循環(huán)一次,執(zhí)行本發(fā)明實(shí)施例二的ERP應(yīng)用程序內(nèi)存資源處理方法,即重復(fù)步驟Bl B2,對(duì)節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配。作為一種可實(shí)施方式,在Unix/Linux操作系統(tǒng)中,采用1,11,21,31,41, 51 氺氺氺氺sh/opt/glc/ora/txt/app· sh > /dev/null 指令完成,其中 sh/opt/glc/ora/txt/ app. sh是雙機(jī)熱備ERP應(yīng)用程序內(nèi)存資源自調(diào)節(jié)程序(即ERP應(yīng)用程序半/全內(nèi)存調(diào)節(jié)進(jìn)程)。所述app. sh程序可以是Unix/Linux系統(tǒng)中雙機(jī)熱備模式下ERP應(yīng)用程序內(nèi)存資源的自調(diào)節(jié)程序,其用于根據(jù)啟動(dòng)應(yīng)用程序的數(shù)量這一參數(shù)量,對(duì)節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配,是一種現(xiàn)有技術(shù)。作為一種可實(shí)施方式,本發(fā)明實(shí)施例中app. sh根據(jù)啟動(dòng)應(yīng)用程序的數(shù)量這一參數(shù)量,對(duì)節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配邏輯實(shí)現(xiàn)過(guò)程如下//#讀取當(dāng)前節(jié)點(diǎn)內(nèi)存并賦值給變量SGA_P,PGA-P ;//#獲取物理內(nèi)存大小PLATFORM = $ (uname-s|cut-cl-3)if [[" $ {PLATFORM} " =〃 AIX" ]] ;thenMEMORY = ' prtconf-m|awk{' print$3' }//#ERP全內(nèi)存關(guān)鍵參數(shù)Apf = $((1500*$ {NO}))判斷$ (($ {MEMORY} *90/100_800-$ {Apf}))絕對(duì)值是否小于50.如果符合,需手工變更NO至合理值;//#ERP半內(nèi)存關(guān)鍵參數(shù)Aph = $((1500*$ {Ni}))判斷$ (($ {MEMORY} *90/100_800-$ {SGA-P} -$ {PGA-P} -$ {Aph}))絕對(duì)值是否小于 50,如果符合,需手工變更m至合理值;判斷當(dāng)前是否存在數(shù)據(jù)庫(kù)服務(wù)和進(jìn)程,如果存在,則啟動(dòng)ERP半內(nèi)存過(guò)程調(diào)用,否貝U,啟用ERP全內(nèi)存過(guò)程調(diào)用.如果“當(dāng)前實(shí)例啟動(dòng)數(shù)量” = “No”,則退出,否則逐一啟動(dòng)剩余未啟動(dòng)實(shí)例,但總數(shù)量不得超過(guò)N0.如果“當(dāng)前實(shí)例啟動(dòng)數(shù)量” = “m”,則退出,否則逐一停止已經(jīng)啟動(dòng)實(shí)例,但啟動(dòng)實(shí)例總數(shù)量不得小于m。
//#其中,參數(shù)MEMORY為物理內(nèi)存,800為操作系統(tǒng)占用內(nèi)存,一般在500-800M之間,NO為ERP全內(nèi)存使用的最大實(shí)例數(shù);1500是每個(gè)實(shí)例啟動(dòng)后占用的內(nèi)存大小,一般在 1000-1500之間,超過(guò)這個(gè)值可視情形而定,一般最大不超過(guò)3G,在具體實(shí)施過(guò)程中,可將 1500修改成當(dāng)前實(shí)際ERP單一實(shí)例設(shè)置的內(nèi)存占用數(shù)值。本發(fā)明實(shí)施例的雙機(jī)熱備模式下節(jié)點(diǎn)內(nèi)存資源處理系統(tǒng)和方法,確保雙機(jī)熱備 (應(yīng)用程序、數(shù)據(jù)庫(kù))下雙機(jī)正常和/或應(yīng)用程序節(jié)點(diǎn)故障時(shí),內(nèi)存資源得到最優(yōu)分配利用。 其避免在雙機(jī)正常時(shí),僅分配節(jié)點(diǎn)一半內(nèi)存使用,而使得內(nèi)存資源原本緊張而沒(méi)有得到有效使用,使得應(yīng)用系統(tǒng)性能無(wú)法得到提升;同時(shí)避免雙機(jī)節(jié)點(diǎn)故障轉(zhuǎn)換時(shí),可能由于應(yīng)用程序和數(shù)據(jù)庫(kù)服務(wù)均采用全內(nèi)存使用,導(dǎo)致故障轉(zhuǎn)移失敗的問(wèn)題。其是保障在雙機(jī)熱備模式下數(shù)據(jù)庫(kù)/應(yīng)用服務(wù)器的內(nèi)存分配自動(dòng)優(yōu)化的高效手段,大大緩解由于沒(méi)有優(yōu)化或者手工調(diào)整帶來(lái)的性能下降或者瓶頸。最后應(yīng)當(dāng)說(shuō)明的是,很顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型。
權(quán)利要求
1.一種雙機(jī)熱備模式下節(jié)點(diǎn)內(nèi)存資源處理系統(tǒng),包括雙機(jī)熱備模式下至少一數(shù)據(jù)庫(kù)節(jié)點(diǎn)和至少一應(yīng)用服務(wù)器節(jié)點(diǎn),其特征在于,所述節(jié)點(diǎn)中,包括檢測(cè)模塊和調(diào)配模塊,其中所述檢測(cè)模塊,用于檢測(cè)雙機(jī)熱備模式下數(shù)據(jù)庫(kù)/應(yīng)用服務(wù)器節(jié)點(diǎn)的數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)的狀態(tài),判斷出數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)是否處于正常狀態(tài);所述調(diào)配模塊,用于當(dāng)數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)處于正常狀態(tài)時(shí),判斷當(dāng)前節(jié)點(diǎn)是否存在應(yīng)用程序/數(shù)據(jù)庫(kù)關(guān)鍵進(jìn)程以及當(dāng)前節(jié)點(diǎn)的內(nèi)存分配模式,并根據(jù)判斷結(jié)果對(duì)當(dāng)前節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配。
2.根據(jù)權(quán)利要求1所述的雙機(jī)熱備模式下節(jié)點(diǎn)內(nèi)存資源處理系統(tǒng),其特征在于,所述檢測(cè)模塊包括第一判斷子模塊和第二判斷子模塊;所述第一判斷子模塊,用于檢查節(jié)點(diǎn)的數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)啟動(dòng)關(guān)鍵進(jìn)程標(biāo)志是否為真;所述第二判斷子模塊,用于在第一判斷子模塊判斷所述數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)啟動(dòng)關(guān)鍵進(jìn)程標(biāo)志為真時(shí),檢查數(shù)據(jù)庫(kù)/應(yīng)用程序的實(shí)例進(jìn)程的狀態(tài)是否正常;所述調(diào)配模塊,包括第三判斷子模塊,第四判斷子模塊和調(diào)節(jié)子模塊,其中所述第三判斷子模塊,用于檢測(cè)模塊檢測(cè)出數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)處于正常狀態(tài)時(shí),判斷當(dāng)前節(jié)點(diǎn)是否存在應(yīng)用程序/數(shù)據(jù)庫(kù)關(guān)鍵進(jìn)程;所述第四判斷子模塊,用于檢測(cè)模塊檢測(cè)出數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)處于正常狀態(tài)時(shí),判斷當(dāng)前節(jié)點(diǎn)的內(nèi)存分配模式;所述調(diào)節(jié)子模塊,用于根據(jù)第三判斷子模塊和第四判斷子模塊的判斷結(jié)果,對(duì)當(dāng)前節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配。
3.根據(jù)權(quán)利要求2所述的雙機(jī)熱備模式下節(jié)點(diǎn)內(nèi)存資源處理系統(tǒng),其特征在于,當(dāng)所述當(dāng)前節(jié)點(diǎn)為數(shù)據(jù)庫(kù)節(jié)點(diǎn)時(shí),所述調(diào)節(jié)子模塊,用于在數(shù)據(jù)庫(kù)服務(wù)處于正常狀態(tài)時(shí),根據(jù)第三判斷子模塊和第四判斷子模塊的判斷結(jié)果,按照數(shù)據(jù)庫(kù)節(jié)點(diǎn)內(nèi)存大小和當(dāng)前節(jié)點(diǎn)內(nèi)存模式要求,調(diào)用內(nèi)存資源自調(diào)節(jié)程序,調(diào)整數(shù)據(jù)庫(kù)全局?jǐn)?shù)據(jù)區(qū)內(nèi)存參數(shù)大小,對(duì)數(shù)據(jù)庫(kù)節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配;當(dāng)所述節(jié)點(diǎn)為應(yīng)用服務(wù)器節(jié)點(diǎn)時(shí),所述調(diào)節(jié)子模塊,在應(yīng)用程序服務(wù)處于正常狀態(tài)時(shí), 根據(jù)第三判斷子模塊和第四判斷子模塊的判斷結(jié)果,調(diào)用內(nèi)存資源自調(diào)節(jié)程序,調(diào)整啟動(dòng)應(yīng)用程序進(jìn)程的數(shù)量,對(duì)應(yīng)用服務(wù)器節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配。
4.根據(jù)權(quán)利要求3所述的雙機(jī)熱備模式下節(jié)點(diǎn)內(nèi)存資源處理系統(tǒng),其特征在于,當(dāng)所述當(dāng)前節(jié)點(diǎn)為數(shù)據(jù)庫(kù)節(jié)點(diǎn)時(shí),本發(fā)明實(shí)施例的內(nèi)存資源自調(diào)節(jié)程序?yàn)閁nix/Linux系統(tǒng)中的db. sh程序;當(dāng)所述節(jié)點(diǎn)為應(yīng)用服務(wù)器節(jié)點(diǎn)時(shí),所述內(nèi)存資源自調(diào)節(jié)程序,為Unix/Linux系統(tǒng)中的 app. sh 程序。
5.一種雙機(jī)熱備模式下節(jié)點(diǎn)內(nèi)存資源處理方法,包括雙機(jī)熱備模式下至少一數(shù)據(jù)庫(kù)節(jié)點(diǎn)和至少一應(yīng)用服務(wù)器節(jié)點(diǎn),其特征在于,所述方法包括如下步驟步驟S100,檢測(cè)雙機(jī)熱備模式下數(shù)據(jù)庫(kù)/應(yīng)用服務(wù)器節(jié)點(diǎn)的數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)的狀態(tài),判斷出數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)是否處于正常狀態(tài);步驟S200,當(dāng)數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)處于正常狀態(tài)時(shí),判斷當(dāng)前節(jié)點(diǎn)是否存在應(yīng)用程序/數(shù)據(jù)庫(kù)關(guān)鍵進(jìn)程以及當(dāng)前節(jié)點(diǎn)的內(nèi)存分配模式,并根據(jù)判斷結(jié)果對(duì)當(dāng)前節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配。
6.根據(jù)權(quán)利要求5所述的雙機(jī)熱備模式下節(jié)點(diǎn)內(nèi)存資源處理方法,其特征在于,所述步驟SlOO包括下列步驟步驟S110,檢查節(jié)點(diǎn)的數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)啟動(dòng)關(guān)鍵進(jìn)程標(biāo)志是否為真;步驟S120,如果數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)啟動(dòng)關(guān)鍵進(jìn)程標(biāo)志為假,則結(jié)束返回;否貝1J,所述數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)啟動(dòng)關(guān)鍵進(jìn)程標(biāo)志為真,檢查數(shù)據(jù)庫(kù)/應(yīng)用程序的實(shí)例進(jìn)程的狀態(tài)是否正常;步驟S130,如果實(shí)例進(jìn)程不正常,則結(jié)束返回;否則,判斷出數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)處于正常狀態(tài),進(jìn)入步驟S200。
7.根據(jù)權(quán)利要求5或6所述的雙機(jī)熱備模式下節(jié)點(diǎn)內(nèi)存資源處理方法,其特征在于,所述步驟S200包括下列步驟步驟S210,當(dāng)數(shù)據(jù)庫(kù)程序服務(wù)/應(yīng)用程序服務(wù)狀態(tài)正常且存在應(yīng)用程序/數(shù)據(jù)庫(kù)關(guān)鍵進(jìn)程時(shí),判斷當(dāng)前節(jié)點(diǎn)的內(nèi)存分配模式;步驟S220,如果當(dāng)前節(jié)點(diǎn)的內(nèi)存分配模式為半內(nèi)存模式,則結(jié)束返回;否則,調(diào)用內(nèi)存資源自調(diào)節(jié)程序,按照當(dāng)前節(jié)點(diǎn)內(nèi)存大小和當(dāng)前節(jié)點(diǎn)半內(nèi)存模式要求,對(duì)節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配;步驟S230,當(dāng)數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)狀態(tài)正常且不存在應(yīng)用程序/數(shù)據(jù)庫(kù)關(guān)鍵進(jìn)程,判斷當(dāng)前節(jié)點(diǎn)的內(nèi)存分配模式;步驟S240,如果當(dāng)前節(jié)點(diǎn)的內(nèi)存分配模式為全內(nèi)存模式,則結(jié)束返回;否則,調(diào)用內(nèi)存資源自調(diào)節(jié)程序,按照當(dāng)前節(jié)點(diǎn)內(nèi)存大小和當(dāng)前節(jié)點(diǎn)全內(nèi)存模式要求,對(duì)節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配。
8.根據(jù)權(quán)利要求7所述的雙機(jī)熱備模式下節(jié)點(diǎn)內(nèi)存資源處理方法,其特征在于,在步驟S220和步驟S240中當(dāng)所述節(jié)點(diǎn)為數(shù)據(jù)庫(kù)節(jié)點(diǎn)時(shí),在數(shù)據(jù)庫(kù)服務(wù)處于正常狀態(tài)時(shí),根據(jù)步驟S220的判斷結(jié)果,按照數(shù)據(jù)庫(kù)節(jié)點(diǎn)內(nèi)存大小和當(dāng)前節(jié)點(diǎn)內(nèi)存模式要求,調(diào)用內(nèi)存資源自調(diào)節(jié)程序,調(diào)整數(shù)據(jù)庫(kù)全局?jǐn)?shù)據(jù)區(qū)內(nèi)存參數(shù)大小,對(duì)數(shù)據(jù)庫(kù)節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配;當(dāng)所述節(jié)點(diǎn)為應(yīng)用服務(wù)器節(jié)點(diǎn)時(shí),在應(yīng)用程序服務(wù)處于正常狀態(tài)時(shí),根據(jù)步驟S240的判斷結(jié)果,調(diào)用內(nèi)存資源自調(diào)節(jié)程序,調(diào)整啟動(dòng)應(yīng)用程序的數(shù)量,對(duì)應(yīng)用服務(wù)器節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配。
全文摘要
本發(fā)明公開(kāi)一種雙機(jī)熱備模式下節(jié)點(diǎn)內(nèi)存資源處理系統(tǒng)和方法。該系統(tǒng)包括雙機(jī)熱備模式下至少一數(shù)據(jù)庫(kù)節(jié)點(diǎn)和至少一應(yīng)用服務(wù)器節(jié)點(diǎn),所述節(jié)點(diǎn)中,包括檢測(cè)模塊和調(diào)配模塊,其中所述檢測(cè)模塊,用于檢測(cè)雙機(jī)熱備模式下數(shù)據(jù)庫(kù)/應(yīng)用服務(wù)器節(jié)點(diǎn)的數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)的狀態(tài),判斷出數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)是否處于正常狀態(tài);所述調(diào)配模塊,用于當(dāng)數(shù)據(jù)庫(kù)服務(wù)/應(yīng)用程序服務(wù)處于正常狀態(tài)時(shí),判斷當(dāng)前節(jié)點(diǎn)是否存在應(yīng)用程序/數(shù)據(jù)庫(kù)關(guān)鍵進(jìn)程以及當(dāng)前節(jié)點(diǎn)的內(nèi)存分配模式,并根據(jù)判斷結(jié)果對(duì)當(dāng)前節(jié)點(diǎn)的內(nèi)存資源進(jìn)行調(diào)配。其確保雙機(jī)熱備下正?;騿喂?jié)點(diǎn)故障時(shí),內(nèi)存資源得到最優(yōu)分配利用。
文檔編號(hào)G06F11/16GK102467451SQ201010536458
公開(kāi)日2012年5月23日 申請(qǐng)日期2010年11月9日 優(yōu)先權(quán)日2010年11月9日
發(fā)明者郭立春 申請(qǐng)人:金蝶軟件(中國(guó))有限公司