[發(fā)明專利]一種基于windows服務控制器的系統(tǒng)自動運行方法有效
| 申請?zhí)枺?/td> | 201110309732.5 | 申請日: | 2011-10-13 |
| 公開(公告)號: | CN102436397A | 公開(公告)日: | 2012-05-02 |
| 發(fā)明(設計)人: | 許曉曉;張國祥 | 申請(專利權(quán))人: | 上海洲信信息技術(shù)有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48 |
| 代理公司: | 上海新天專利代理有限公司 31213 | 代理人: | 周濤 |
| 地址: | 上海市浦東新區(qū)共*** | 國省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 windows 服務 控制器 系統(tǒng) 自動 運行 方法 | ||
技術(shù)領域
本發(fā)明涉及計算機技術(shù),特別是提供了一種基于WINDOWS服務控制器的自動運行系統(tǒng)的實現(xiàn)方法。
背景技術(shù)
在IT系統(tǒng)中,對于實時性要求很高的關(guān)鍵系統(tǒng),如數(shù)據(jù)庫、信號控制系統(tǒng)等,一般都會通過雙機熱備的方式,以保證系統(tǒng)的不間斷運行,還有在很多IT系統(tǒng)中,存在一些準實時后臺業(yè)務,一方面程序不需要立刻對輸入進行反饋,另一方面,若用戶在指定時間間隔內(nèi)尚沒有反饋信息,則會造成業(yè)務中斷。
現(xiàn)有技術(shù)的雙機熱備如圖1所示,圖1是現(xiàn)有技術(shù)保證程序不間斷運行示意圖。主服務器2和備服務器3的一端均連接至存儲數(shù)據(jù)的磁盤陣列4上,主服務器2和備服務器3的另一端均連接在交換機1上,任何一個服務器工作都能實現(xiàn)系統(tǒng)的正常運行。而主服務器2和備服務器3之間通過心跳線來監(jiān)測對應服務器是否正常活動。若備服務器3監(jiān)測到主服務器2宕機,則自動啟動備服務器系統(tǒng)。對于此類采用雙機熱備的方式系統(tǒng),采用此種方式,由于采用了兩個相同的服務器,會導致軟硬件成本的成倍增加,也就成倍增加了實施成本。
發(fā)明內(nèi)容
本發(fā)明目的為了克服上述現(xiàn)有技術(shù)存在的不足,提供一種基于windows服務控制器的系統(tǒng)自動運行方法。本發(fā)明的方法可以做到對現(xiàn)有程序進行很小的改造,通過守護進程和被監(jiān)控程序的有機結(jié)合,在不增加任何硬件情形下,保證程序不間斷運行。
為了實現(xiàn)上述發(fā)明目的,本發(fā)明提供的技術(shù)方案如下:
一種基于windows服務控制器的系統(tǒng)自動運行方法,其特征在于,該方法將后臺程序改造為windows服務程序,并在windows服務程序中創(chuàng)建標識程序模塊運行正常的種子文件和標識程序失敗的標志文件;同時創(chuàng)建一個監(jiān)控程序模塊以定時監(jiān)控種子文件和標志文件;監(jiān)控程序模塊根據(jù)種子文件和標志文件,向windows服務控制器發(fā)送停止及運行信息,由windows服務控制程序器重新啟動相應的服務程序。
在本發(fā)明的基于windows服務控制器的系統(tǒng)自動運行方法中,其詳細運行步驟如下:
①?將需要自動運行的目標程序模塊修改為windows服務程序,創(chuàng)建一個監(jiān)控程序模塊以監(jiān)控該windows服務程序;
②?在windows服務程序的關(guān)鍵流程中創(chuàng)建種子文件,該種子文件表示需要自動運行的目標程序模塊運行正常,種子文件在設定的時間內(nèi)定期生成;在windows服務程序的失敗關(guān)鍵點中創(chuàng)建標志文件,該標志文件表示需要自動運行的目標程序模塊運行異常,需要重新運行;
③?所述的監(jiān)控程序模塊在監(jiān)控windows服務程序時,要定期檢查種子文件:(1)若存在種子文件,則表明被監(jiān)控的需要自動運行的目標程序模塊運行正常,立即刪除該種子文件;(2)若不存在種子文件且不存在的標志文件,表明windows服務程序未運行且未自行發(fā)現(xiàn)故障,監(jiān)控程序模塊則向windows服務控制器發(fā)送停止該種子文件所對應的windows服務程序運行的指令,以關(guān)閉該windows服務程序,隨后立即發(fā)送啟動該windows服務程序的指令,以重新啟動該服務程序;
④?若監(jiān)控程序模塊發(fā)現(xiàn)不存在種子文件但存在有標志文件,表明目標程序模塊出現(xiàn)故障主動要求重新啟動,則監(jiān)控程序模塊立即向windows服務控制器發(fā)送啟動該windows服務程序的指令,以重新啟動該服務程序。
在本發(fā)明的基于windows服務控制器的系統(tǒng)自動運行方法中,所述的windows服務程序為自定義windows服務程序。
在本發(fā)明的基于windows服務控制器的系統(tǒng)自動運行方法中,將需要自動運行的后臺程序模塊改造為windows服務程序過程如下:(1)將原后臺程序主程序部分封裝成1個函數(shù),如ServiceStart;(2)增加1個函數(shù),如ServiceStop,處理服務中止信號時,修改對應全局變量,如程序退出標志;(3)在Windows服務框架service_main中調(diào)用ServiceStart,在service_ctrl中若為SERVICE_CONTROL_STOP消息碼,調(diào)用ServiceStop。
在本發(fā)明的基于windows服務控制器的系統(tǒng)自動運行方法中,所述的自定義windows服務為至少一項程序模塊。
在本發(fā)明的基于windows服務控制器的系統(tǒng)自動運行方法中,所述的監(jiān)控程序,可同時監(jiān)控多個windows服務程序。
基于上述技術(shù)方案,本發(fā)明基于windows服務控制器的系統(tǒng)自動運行方法與現(xiàn)有技術(shù)相比具有如下技術(shù)優(yōu)點:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于上海洲信信息技術(shù)有限公司,未經(jīng)上海洲信信息技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110309732.5/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 檢測Windows系統(tǒng)已知漏洞的方法和系統(tǒng)
- 一種對主機進行管控的方法及系統(tǒng)
- 一種基于windows服務控制器的系統(tǒng)自動運行方法
- 處理windows update彈窗出現(xiàn)的方法和系統(tǒng)
- 檢測系統(tǒng)中已安裝應用的方法和客戶端
- 一種Windows Phone手機數(shù)據(jù)的鏡像方法
- 在Windows下對Linux系統(tǒng)中無線通訊模塊調(diào)試數(shù)據(jù)抓取方法和系統(tǒng)
- 一種實現(xiàn)Windows系統(tǒng)自動化安裝的系統(tǒng)及方法
- 一種基于Windows To Go的增強方法及系統(tǒng)
- 一種批量控制windows快速部署的工具及方法





