件通知接口接收掉電事件通知;
[0052] S224、服務(wù)模塊根據(jù)掉電事件通知執(zhí)行服務(wù)模塊內(nèi)設(shè)的服務(wù)保護(hù)策略。
[0053] 從上述描述可知,服務(wù)模塊可以通過服務(wù)保護(hù)策略注冊接口注冊服務(wù)保護(hù)策略, 也可以自身即設(shè)有服務(wù)保護(hù)策略。
[0054] 請參照圖4,
[0055] 一種掉電后服務(wù)保護(hù)系統(tǒng),包括:
[0056] 備用電源1 ;
[0057] 電源切換模塊2,用于監(jiān)測掉電事件并根據(jù)掉電事件的產(chǎn)生啟動所述備用電源,還 用于發(fā)送掉電事件通知;
[0058] 服務(wù)管理模塊3,用于提供服務(wù)保護(hù)策略注冊接口 32、掉電事件通知接口 31以及 服務(wù)保護(hù)策略,并根據(jù)接收到的掉電事件通知執(zhí)行服務(wù)保護(hù)策略,服務(wù)保護(hù)策略完成后向 服務(wù)發(fā)送關(guān)閉指令;
[0059] 服務(wù)模塊4,用于根據(jù)掉電事件通知執(zhí)行內(nèi)設(shè)的服務(wù)保護(hù)策略,根據(jù)關(guān)閉指令關(guān)閉 服務(wù)。
[0060] 上述掉電后服務(wù)保護(hù)系統(tǒng)的有益效果在于:電源切換模塊2監(jiān)測到掉電事件后立 即啟動備用電源1給計算機供電,并發(fā)送掉電事件通知,防止因為掉電導(dǎo)致計算機內(nèi)的服 務(wù)異常關(guān)閉,服務(wù)管理模塊3提供服務(wù)保護(hù)策略注冊接口 32供服務(wù)模塊4注冊服務(wù)保護(hù) 策略,通過掉電事件注冊接口 31發(fā)送掉電事件通知,服務(wù)管理模塊3在掉電事件通知到達(dá) 時執(zhí)行服務(wù)保護(hù)策略,服務(wù)模塊4根據(jù)掉電事件通知執(zhí)行內(nèi)設(shè)的自定義的服務(wù)保護(hù)策略內(nèi) 容,從而避免因為掉電導(dǎo)致服務(wù)異常關(guān)閉的重要信息丟失問題。
[0061] 進(jìn)一步的,服務(wù)模塊4還用于通過服務(wù)保護(hù)策略注冊接口 32注冊服務(wù)保護(hù)策略。
[0062] 進(jìn)一步的,服務(wù)模塊4還用于通過掉電事件通知接口 31接收掉電事件通知,所述 掉電事件通知接口 31為服務(wù)模塊4向服務(wù)管理模塊3注冊后的掉電事件通知接口 31。
[0063] 進(jìn)一步的,所述服務(wù)模塊4內(nèi)置有服務(wù)保護(hù)策略單元。
[0064] 從上述描述可知,服務(wù)模塊4可以通過服務(wù)保護(hù)策略注冊接口 32注冊服務(wù)保護(hù)策 略,也可以自身即設(shè)有服務(wù)保護(hù)策略,方便靈活。
[0065] 進(jìn)一步的,所述服務(wù)管理模塊3,還包括接收單元33,所述接收單元33用于異步接 收掉電事件通知。
[0066] 從上述描述可知,服務(wù)管理模塊3通過接收單元33實時接收掉電事件通知。
[0067] 請參照圖1至圖3,本發(fā)明的實施例一為:
[0068] -種掉電后服務(wù)保護(hù)方法,包括:
[0069] S1、監(jiān)測掉電事件,根據(jù)掉電事件的產(chǎn)生啟動備用電源,并發(fā)送掉電事件通知;
[0070] S2、根據(jù)掉電事件通知執(zhí)行服務(wù)保護(hù)策略;
[0071] S3、執(zhí)行完成服務(wù)保護(hù)策略后發(fā)送關(guān)閉指令。
[0072] 所述"服務(wù)保護(hù)策略"包括:
[0073] 停止、關(guān)閉或終止服務(wù)內(nèi)部的遠(yuǎn)程通信入口部件;
[0074] 關(guān)閉計算機系統(tǒng)的TCP/IP網(wǎng)絡(luò)或串口的通信入口;
[0075] 保存服務(wù)產(chǎn)生的臨時信息或配置信息;
[0076] 執(zhí)行已經(jīng)接收但未被處理或未處理完成的服務(wù)請求;
[0077] 刷新緩存在內(nèi)存中的數(shù)據(jù)并存儲至持久性存儲介質(zhì)中;
[0078] 根據(jù)服務(wù)的依賴關(guān)系關(guān)閉一個或者一組服務(wù)。
[0079] 優(yōu)選的,服務(wù)保護(hù)策略為:第一步停止、關(guān)閉或終止服務(wù)內(nèi)部的遠(yuǎn)程通信入口部 件,第二步關(guān)閉計算機系統(tǒng)的TCP/IP網(wǎng)絡(luò)或串口的通信入口,第三步保存服務(wù)產(chǎn)生的臨時 信息或配置信息;第四步刷新緩存在內(nèi)存中的數(shù)據(jù)并存儲至持久性存儲介質(zhì)中;第五步根 據(jù)服務(wù)的依賴關(guān)系關(guān)閉一個或者一組服務(wù);優(yōu)選的,所述持久性存儲介質(zhì)為磁盤;
[0080] 由于目前兩臺彼此獨立的計算機相互傳遞信息的通信方式通常是TCP/IP網(wǎng)絡(luò)或 者串口等,從而本發(fā)明所述的服務(wù)指的就是以TCP/IP網(wǎng)絡(luò)或者串口等通信方式為遠(yuǎn)程計 算機提供一個或者一組功能的服務(wù);因此這里的服務(wù)必然包括(但不限于)遠(yuǎn)程通信入口 和功能兩大部件;由于服務(wù)必然包括(但不限于)遠(yuǎn)程通信入口和功能兩大部件;而關(guān)閉 遠(yuǎn)程通信入口部件意味著在掉電事件發(fā)生時服務(wù)及時停止接收遠(yuǎn)程計算機的服務(wù)請求,避 免服務(wù)耗費更多的電源電力在接收新的服務(wù)請求上;進(jìn)一步保存保存服務(wù)產(chǎn)生的臨時信息 或配置信息,防止臨時信息丟失,且再次開啟服務(wù)時不需要再次進(jìn)行配置,減少了工作量; 再進(jìn)一步刷新緩存并將緩存數(shù)據(jù)存儲至持久性存儲介質(zhì)中,從而再次開啟服務(wù)時能夠在持 久性存儲介質(zhì)中找到緩存內(nèi)容,而不是關(guān)閉服務(wù)后緩存即消失;最后根據(jù)服務(wù)的依賴關(guān)系 關(guān)閉一個或者一組服務(wù),比如一個word中插入有visio圖片,從word服務(wù)中打開visio服 務(wù)編輯圖片時遇到掉電事件,則關(guān)閉Visio服務(wù)后緊接著關(guān)閉word服務(wù);從而有序的關(guān)閉 不同的服務(wù)。
[0081] 優(yōu)選的,服務(wù)保護(hù)策略為:第一步停止、關(guān)閉或終止服務(wù)內(nèi)部的遠(yuǎn)程通信入口部 件,第二步執(zhí)行已經(jīng)接收但未被處理或未處理完成的服務(wù)請求,第三步保存服務(wù)產(chǎn)生的臨 時信息或配置信息;第四步刷新緩存在內(nèi)存中的數(shù)據(jù)并存儲至持久性存儲介質(zhì)中;第五步 根據(jù)服務(wù)的依賴關(guān)系關(guān)閉一個或者一組服務(wù);
[0082] 功能部件是服務(wù)的重要組成成分,遠(yuǎn)程計算機發(fā)送到本服務(wù)的請求最終都會被服 務(wù)的功能部件處理。以數(shù)據(jù)庫為例,有些功能內(nèi)部的多個操作具有事務(wù)性,我們稱這樣的功 能是一個事務(wù),這個功能就必須滿足數(shù)據(jù)庫事務(wù)的原子性、一致性、隔離性和持久性四個特 性,一旦發(fā)生掉電如果立即關(guān)閉功能部件可能導(dǎo)致的結(jié)果是事務(wù)的四個特性沒能得到完整 的執(zhí)行就被中斷了;通常的做法是在開機重新啟動后執(zhí)行數(shù)據(jù)庫的恢復(fù)功能使數(shù)據(jù)恢復(fù)到 中斷發(fā)生前的狀態(tài),但是數(shù)據(jù)庫恢復(fù)是個耗時耗計算機資源的操作,它會延遲數(shù)據(jù)庫服務(wù) 的正常啟動。本事例將這樣的功能部件視為重要部件,我們要盡可能地保證這些功能部件 在掉電發(fā)生后將所有的事務(wù)全部處理完成;因此一些重要的服務(wù)請求,要盡可能地保證其 在掉電事件發(fā)生后繼續(xù)處理完成。
[0083] 優(yōu)選的,所述"服務(wù)保護(hù)策略"包括:立即激活服務(wù)的高可用功能;例如,主從熱備 的高可用功能:一個服務(wù)最開始正常運行在主計算機上,當(dāng)主計算機發(fā)生異常后從計算機 通過偵測線路(TCP/IP網(wǎng)絡(luò)或者串口等)和共享數(shù)據(jù)等方式接管服務(wù),使得服務(wù)可以在從 計算機上繼續(xù)提供服務(wù),由此減少服務(wù)的中斷時間;但是,由于主計算機掉電導(dǎo)致關(guān)機的情 況下從計算機判斷主計算機已經(jīng)關(guān)閉是通過偵測線路獲知的,但獲知的方法通常是從計算 機間歇性地向主計算機發(fā)送偵測請求包,如果請求包超出時間限制還沒有接收到主計算機 的回復(fù)那么從計算機將認(rèn)定主計算上的服務(wù)已經(jīng)異常關(guān)閉;從計算機間歇性偵測的缺點就 是延遲了服務(wù)被從計算機接管的時間;本發(fā)明所述的"立即激活"指的是在掉電事件發(fā)生 后,對具有高可用功能的服務(wù)提供保護(hù)策略,使得它們在主計算機關(guān)閉前主動激活從計算 機接管服務(wù)的命令。
[0084] 優(yōu)選的,所述"根據(jù)掉電事件通知執(zhí)行服務(wù)保護(hù)策略"具體為:
[0085] S211、提供服務(wù)模塊和服務(wù)管理模塊;
[0086] S212、服務(wù)模塊用于通過服務(wù)管理模塊的服務(wù)保護(hù)策略注冊接口注冊;
[0087] S213、服務(wù)管理模塊用于通過服務(wù)保護(hù)策略注冊接口向服務(wù)模塊提供服務(wù)保護(hù)策 略;
[0088] S214、服務(wù)管理模塊根據(jù)掉電事件通知執(zhí)行向服務(wù)模塊提供的服務(wù)保護(hù)策略向服 務(wù)模塊。
[0089] 服務(wù)管理模塊為服務(wù)模塊提供服務(wù)保護(hù)策略注冊接口,使用該接口注冊需要提供 所注冊的服務(wù)保護(hù)策略和服務(wù)模塊,服務(wù)保護(hù)策略的數(shù)量可以多于一個;一旦注冊完成服 務(wù)管理模塊接收掉電事件