一种基于windows服务控制器的系统自动运行方法技术方案

技术编号:7308553 阅读:253 留言:0更新日期:2012-05-03 00:28
本发明专利技术涉及一种基于windows服务控制器的系统自动运行方法,该方法是基于windows服务控制器,通过监控程序和windows后台服务程序文件接口,(1)windows后台服务程序定时生成标识程序运行正常的种子文件;(2)监控程序定时删除对应种子文件,若在指定时间内未发现种子文件时,(3)通过向windows服务控制器发送停止、启动消息,保证windows后台服务程序持续运行,被监控服务程序也可以主动生成程序异常标志文件,监控程序监测到异常标志文件,向windows服务控制器发送停止、启动消息,重新运行windows后台服务程序。本发明专利技术的方法以较少的改动,保证被监控的windows后台服务程序7×24小时运行。

【技术实现步骤摘要】

本专利技术涉及计算机技术,特别是提供了一种基于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服务程序时,要定期检查种子文件(1)若存在种子文件,则表明被监控的需要自动运行的目标程序模块运行正常,立即删除该种子文件;(2)若不存在种子文件且不存在的标志文件,表明windows服务程序未运行且未自行发现故障,监控程序模块则向windows服务控制器发送停止该种子文件所对应的windows服务程序运行的指令,以关闭该windows服务程序,随后立即发送启动该windows服务程序的指令,以重新启动该服务程序;④若监控程序模块发现不存在种子文件但存在有标志文件,表明目标程序模块出现故障主动要求重新启动,则监控程序模块立即向windows服务控制器发送启动该windows 服务程序的指令,以重新启动该服务程序。在本专利技术的基于windows服务控制器的系统自动运行方法中,所述的windows服务程序为自定义windows服务程序。在本专利技术的基于windows服务控制器的系统自动运行方法中,将需要自动运行的后台程序模块改造为windows服务程序过程如下(1)将原后台程序主程序部分封装成1个函数,如ServiceStart ;(2)增加1个函数,如ServiceStop,处理服务中止信号时,修改对应全局变量,如程序退出标志;(3)在Windows服务框架servicejiiain中调用 krviceMart,在 service_ctrl 中若为 SERVICE_C0NTR0L_ST0P 消息码,调用 krviceStop。在本专利技术的基于windows服务控制器的系统自动运行方法中,所述的自定义 windows服务为至少一项程序模块。在本专利技术的基于windows服务控制器的系统自动运行方法中,所述的监控程序, 可同时监控多个windows服务程序。基于上述技术方案,本专利技术基于windows服务控制器的系统自动运行方法与现有技术相比具有如下技术优点1.本专利技术的实现方法只需要将现有程序改造为服务程序,并在程序关键点中增加创建种子文件或者异常文件的代码,并不需要对原有软件做任何其它改造和扩展,因此可以保证原有程序结构,确保软件的稳定性和服务质量。2.本专利技术的实现方法只是加了一个监控守护进程,不需要任何其它硬件投入,同时可通过配置文件增、减被监控程序,其投入较小,实施简单方便,而且具有很强的可扩展性。3.通过本专利技术的方法来守护需要自动运行的程序,我们可以在用户可接受的时间范围内保证所有被监控程序7XM持续运行。附图说明图1是现有技术中基于双机热备方式保证系统持续运行的结构示意图。图2是本专利技术一种基于windows服务控制器的自动运行系统的流程示意图。图3是本专利技术一种基于windows服务控制器的自动运行系统的实施例中短信增值服务系统结构示意图。具体实施例方式下面我们结合附图和具体的实施例来对本专利技术的做进一步的详细阐述,要求更为清楚明了地明白本专利技术的结构和工作流程,但不能以此来限制本专利技术的保护范围。本专利技术基于windows服务控制器的系统自动运行方法的主要思路是将需要自动运行的后台程序模块改造为windows服务程序(1)将原后台程序主程序部分封装成1个函数,如ServiceStart ; (2)增加1个函数,如ServiceStop,处理服务中止信号时,修改对应全局变量,如程序退出标志;(3)在Windows服务框架servicejiiain中调用 krviceMart,在 service_ctrl 中若为 SERVICE_C0NTR0L_ST0P 消息码,调用 krviceStop。 并在改造后的windows服务程序中创建标识程序运行正常的种子文件和标识程序失败的标志文件;创建一个监控程序模块以定时监控种子文件和标志文件;监控程序模块根据种子文件和标志文件,向服务控制器发送停止、运行消息,服务控制程序根据上述指令来重新启动相应的windows服务程序。本专利技术的方法运行情况如图2所示,图2是本专利技术一种基于WINDOWS服务控制器的自动运行系统的流程示意图。上述基于windows服务控制器的系统自动运行方法的详细运行步骤如下①将需要自动运行的目标程序模块修改为windows服务程序,创建一个监控程序模块以监控该windows服务程序;②在windows服务程序的关键流程中创建种子文件,该种子文件表示需要自动运行的目标程序模块运行正常,种子文件在设定的时间内定期生成;在windows服务程序的失败关键点中创建标志文件,该标志文件表示需要自动运行的目标程序模块运行异常,需要重新运行;③所述的监控程序模块在监控windows服务程序时,要定期检查种子文件(1)若存在种子文件,则表明被监控的需要自动运行的目标程序模块运行正常,立即删除该种子文件;(2)若不存在种子文件且不存在的标志文件,表明windows服务程序未运行且未自行发现故障,监控程序模块则向windows服务控制器发送停止该种子文件所对应的windows服务程序运行的指令,以关闭该本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于windows服务控制器的系统自动运行方法,其特征在于,该方法将后台程序改造为windows服务程序,并在windows服务程序中创建标识程序模块运行正常的种子文件和标识程序失败的标志文件;同时创建一个监控程序模块以定时监控种子文件和标志文件;监控程序模块根据种子文件和标志文件,向windows服务控制器发送停止及运行信息,由windows服务控制器重新启动相应的服务程序。2.根据权利要求1所述的一种基于windows服务控制器的系统自动运行方法,其特征在于,该方法的详细运行步骤如下①将需要自动运行的目标程序模块修改为windows服务程序,创建一个监控程序模块以监控该windows服务程序;②在windows服务程序的关键流程中创建种子文件,该种子文件表示需要自动运行的目标程序模块运行正常,种子文件在设定的时间内定期生成;在windows服务程序的失败关键点中创建标志文件,该标志文件表示需要自动运行的目标程序模块运行异常,需要重新运行;③所述的监控程序模块在监控wind...

【专利技术属性】
技术研发人员:许晓晓张国祥
申请(专利权)人:上海洲信信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术