[发明专利]一种基于windows服务控制器的系统自动运行方法有效
| 申请号: | 201110309732.5 | 申请日: | 2011-10-13 |
| 公开(公告)号: | CN102436397A | 公开(公告)日: | 2012-05-02 |
| 发明(设计)人: | 许晓晓;张国祥 | 申请(专利权)人: | 上海洲信信息技术有限公司 |
| 主分类号: | G06F9/48 | 分类号: | G06F9/48 |
| 代理公司: | 上海新天专利代理有限公司 31213 | 代理人: | 周涛 |
| 地址: | 上海市浦东新区共*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 windows 服务 控制器 系统 自动 运行 方法 | ||
技术领域
本发明涉及计算机技术,特别是提供了一种基于WINDOWS服务控制器的自动运行系统的实现方法。
背景技术
在IT系统中,对于实时性要求很高的关键系统,如数据库、信号控制系统等,一般都会通过双机热备的方式,以保证系统的不间断运行,还有在很多IT系统中,存在一些准实时后台业务,一方面程序不需要立刻对输入进行反馈,另一方面,若用户在指定时间间隔内尚没有反馈信息,则会造成业务中断。
现有技术的双机热备如图1所示,图1是现有技术保证程序不间断运行示意图。主服务器2和备服务器3的一端均连接至存储数据的磁盘阵列4上,主服务器2和备服务器3的另一端均连接在交换机1上,任何一个服务器工作都能实现系统的正常运行。而主服务器2和备服务器3之间通过心跳线来监测对应服务器是否正常活动。若备服务器3监测到主服务器2宕机,则自动启动备服务器系统。对于此类采用双机热备的方式系统,采用此种方式,由于采用了两个相同的服务器,会导致软硬件成本的成倍增加,也就成倍增加了实施成本。
发明内容
本发明目的为了克服上述现有技术存在的不足,提供一种基于windows服务控制器的系统自动运行方法。本发明的方法可以做到对现有程序进行很小的改造,通过守护进程和被监控程序的有机结合,在不增加任何硬件情形下,保证程序不间断运行。
为了实现上述发明目的,本发明提供的技术方案如下:
一种基于windows服务控制器的系统自动运行方法,其特征在于,该方法将后台程序改造为windows服务程序,并在windows服务程序中创建标识程序模块运行正常的种子文件和标识程序失败的标志文件;同时创建一个监控程序模块以定时监控种子文件和标志文件;监控程序模块根据种子文件和标志文件,向windows服务控制器发送停止及运行信息,由windows服务控制程序器重新启动相应的服务程序。
在本发明的基于windows服务控制器的系统自动运行方法中,其详细运行步骤如下:
① 将需要自动运行的目标程序模块修改为windows服务程序,创建一个监控程序模块以监控该windows服务程序;
② 在windows服务程序的关键流程中创建种子文件,该种子文件表示需要自动运行的目标程序模块运行正常,种子文件在设定的时间内定期生成;在windows服务程序的失败关键点中创建标志文件,该标志文件表示需要自动运行的目标程序模块运行异常,需要重新运行;
③ 所述的监控程序模块在监控windows服务程序时,要定期检查种子文件:(1)若存在种子文件,则表明被监控的需要自动运行的目标程序模块运行正常,立即删除该种子文件;(2)若不存在种子文件且不存在的标志文件,表明windows服务程序未运行且未自行发现故障,监控程序模块则向windows服务控制器发送停止该种子文件所对应的windows服务程序运行的指令,以关闭该windows服务程序,随后立即发送启动该windows服务程序的指令,以重新启动该服务程序;
④ 若监控程序模块发现不存在种子文件但存在有标志文件,表明目标程序模块出现故障主动要求重新启动,则监控程序模块立即向windows服务控制器发送启动该windows服务程序的指令,以重新启动该服务程序。
在本发明的基于windows服务控制器的系统自动运行方法中,所述的windows服务程序为自定义windows服务程序。
在本发明的基于windows服务控制器的系统自动运行方法中,将需要自动运行的后台程序模块改造为windows服务程序过程如下:(1)将原后台程序主程序部分封装成1个函数,如ServiceStart;(2)增加1个函数,如ServiceStop,处理服务中止信号时,修改对应全局变量,如程序退出标志;(3)在Windows服务框架service_main中调用ServiceStart,在service_ctrl中若为SERVICE_CONTROL_STOP消息码,调用ServiceStop。
在本发明的基于windows服务控制器的系统自动运行方法中,所述的自定义windows服务为至少一项程序模块。
在本发明的基于windows服务控制器的系统自动运行方法中,所述的监控程序,可同时监控多个windows服务程序。
基于上述技术方案,本发明基于windows服务控制器的系统自动运行方法与现有技术相比具有如下技术优点:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海洲信信息技术有限公司,未经上海洲信信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110309732.5/2.html,转载请声明来源钻瓜专利网。





