一种应用服务程序稳定运行控制方法及系统 【技术领域】
本发明涉及计算机技术领域,尤其涉及Windows应用程序稳定运行的控制方法及系统。
背景技术
在Windows环境下,一些要求自动化的业务系统中,需要开发Windows服务在后台24小时不间断运行。一般在应用服务中使用定时器,定时执行某项任务。但是由于Windows操作系统、应用服务本身、开发工具运行库的不稳定,可能造成应用服务程序在长时间运行时,异常终止。从而影响业务系统正常运作。
现有的自动化业务系统中,一般通过人工巡检,检查应用服务程序是否正常运行,在应用服务程序不运行时对其人工启动。由于人工定时巡检应用服务程序成本过高,且无法及时发现应用服务程序的运行状况,导致自动化业务系统仍时有中断停止的故障出现。
【发明内容】
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种应用服务程序稳定运行控制方法及系统,其可以解决自动化业务程序长时间运行过程中的稳定性问题,使自动化业务程序在自动终止时能自动再启动,保证不间断运行。
本发明解决其技术问题所采用的技术方案是:
构造一种应用服务程序稳定运行控制方法,其包括以下步骤:
A、监控驱动器接收来自应用服务器的开始监控指令,从应用服务器中获取当前运行时间及超时时限;
B、监控驱动器接收应用服务器的更新指令,从应用服务器中获取本次更新的运行时间;
C、侦听服务器计算本次更新的运行时间和上次运行时间的时间差,并将所述时间差与所述超时时限进行比较;
D、侦听服务器在所述时间差大于所述超时时限时,产生复位信息;在所述时间差小于等于所述超时时限时,产生运行正常信息,将所述更新的运行时间作为新的当前运行时间,继续执行所述步骤B;
E、监控驱动器等待侦听服务器反馈来的信息,并判断信息是复位信息还是运行正常信息;
F、当信息是复位信息时,监控驱动器向应用服务器发送复位操作指令,控制应用程序复位重新启动,并继续执行步骤A。
本发明所述的应用服务程序稳定运行控制方法,其中,还包括步骤:
存储所有接收到的所述应用服务器的运行时间信息,包括正常运行时间和出故障的时间。
本发明还提供了一种应用服务程序稳定运行控制系统,其中,包括监控驱动装置和侦听服务器;
所述监控驱动装置,用于接收来自应用服务器的开始监控指令,从应用服务器中获取当前运行时间及超时时限,接收应用服务器的更新指令,从应用服务器中获取本次更新的运行时间,并在接收到所述侦听服务器的复位信息后,向应用服务器发送复位操作指令;
所述侦听服务器,用于计算所述本次更新的运行时间和所述上次运行时间的时间差,并将所述时间差与所述超时时限进行比较,在所述时间差大于所述超时时限时,向所述监控驱动装置发送复位信息,在所述时间差小于等于所述超时时限时,将所述更新的运行时间作为新的当前运行时间,并向所述监控驱动装置发送运行正常信息。
本发明所述的控制系统,其中,所述监控驱动装置包括监控启动模块、更新模块、消息发送模块、反馈信息接收模块、反馈信息判断模块和复位模块:其中,
所述监控启动模块,用于连接所述应用服务器的调用开始监控接口,接收来自应用服务器的开始监控指令,从应用服务器中获取当前运行时间及超时时限;
所述更新模块,用于连接所述应用服务器的调用更新时间接口,接收应用服务器的更新指令,从应用服务器中获取本次更新的运行时间;
所述消息发送模块,用于向所述侦听服务器发送所述当前运行时间及超时时限、更新的运行时间;
反馈信息接收模块,用于接收所述侦听服务器反馈的信息;
所述反馈信息判断模块,用于判断所述侦听服务器反馈的信息是否为复位信息;
所述复位模块,用于在所述侦听服务器反馈的信息为复位信息时,向应用服务器发送复位操作指令。
本发明所述的控制系统,其中,所述侦听服务器包括消息接收模块、超时判断模块和信息反馈模块;其中,
所述消息接收模块,用于接收所述监控驱动装置发送的所述当前运行时间及超时时限、更新的运行时间;
所述超时判断模块,用于计算所述本次更新的运行时间和所述上次运行时间的时间差,并将所述时间差与所述超时时限进行比较;
所述信息反馈模块,用于在所述时间差大于所述超时时限时,向所述监控驱动装置发送复位信息,在所述时间差小于等于所述超时时限时,将所述更新的运行时间作为新的当前运行时间,并向所述监控驱动装置发送运行正常信息。
本发明所述的控制系统,其中,所述监控驱动装置还包括结束监控模块,用于连接所述应用服务器的调用结束监控接口,并通过所述消息发送模块向所述侦听服务器发送结束监控信息。
本发明所述的控制系统,其中,还包括连接所述侦听服务器的数据库,用于存储接收到的所述应用服务器的运行时间信息。
本发明通过对应用服务程序进行实施侦听及监控,可以解决自动化业务程序长时间运行过程中的稳定性问题,使自动化业务程序在自动终止时能自动再启动,保证其不间断运行,为业务系统的稳定性提供保障。而且记录应用服务程序的运行时间信息,便于对应用服务程序的运进行跟踪、分析。
【附图说明】
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明实施例的应用服务程序稳定运行控制方法流程图;
图2是本发明实施例的应用服务程序稳定运行控制系统原理框图。
【具体实施方式】
下面结合图示,对本发明的优选实施例作详细介绍。
本发明较佳实施例的应用服务程序稳定运行控制方法流程图如图1所示,包括以下步骤:
S101、监控驱动器接收来自应用服务器的开始监控指令,从应用服务器中获取当前运行时间及超时时限;
S102、监控驱动器接收应用服务器的更新指令,从应用服务器中获取本次更新的运行时间;
S103、侦听服务器计算所述本次更新的运行时间和上次运行时间的时间差,并将时间差与超时时限进行比较;
S104、在时间差大于超时时限时,侦听服务器产生复位信息;
S105、在时间差小于等于超时时限时,侦听服务器将更新的运行时间作为新的当前运行时间,并产生运行正常信息;
S106、监控驱动器等待侦听服务器反馈来的信息,并判断信息是复位信息还是运行正常信息;
S107、当信息是复位信息时,监控驱动器向应用服务器发送复位操作指令,控制应用程序复位重新启动,并继续执行步骤S101;
当接收到的是运行正常信息时,结束判断,并继续执行步骤S102。
为了对应用程序的运行状况进行跟踪,分析其出故障的频率,本实施例的控制方法还包括步骤:
S108、将所有接收到的应用服务器的运行时间信息存储至数据库中,包括正常运行时间和出故障的时间,以便于进行后期分析维护。
本发明还提供了一种可完成以上控制方法各步骤的应用服务程序稳定运行控制系统,包括监控驱动装置10和侦听服务器20,其原理框图如图2所示。其中,监控驱动装置10主要安装于被监控的应用程序所在的应用服务器30上,侦听服务器20可以是设置在远程的服务器。因此可以采用一台侦听服务器20来实现对多台应用服务器30上的应用程序的监控,只需根据不同应用服务器30的IP地址信息进行区分即可。而每个应用服务器30上都要对应安装一个监控驱动装置10。
本实施例中,监控驱动装置10主要用于接收来自应用服务器30的开始监控指令,从应用服务器30中获取当前运行时间及超时时限,接收应用服务器30的更新指令,从应用服务器30中获取应用程序更新的运行时间,并在接收到侦听服务器20的复位信息后,向应用服务器30发送复位操作指令,强制应用程序复位。侦听服务器20用于计算应用程序本次更新的运行时间和上次运行时间的时间差,并将该时间差与预先接收到的超时时限进行比较,当该时间差大于超时时限时,向监控驱动装置10发送复位信息,当该时间差小于等于超时时限时,将更新的运行时间作为新的当前运行时间,用于与下一次接收到的新的当前运行时间来计算时间差,并向监控驱动装置10发送运行正常信息。
本实施例的控制系统中,如图2所示,监控驱动装置10具体可包括监控启动模块11、更新模块12、消息发送模块14、反馈信息接收模块15、反馈信息判断模块16和复位模块17。
其中,监控启动模块11用于连接应用服务器30的调用开始监控接口31,接收来自应用服务器30的开始监控指令,从应用服务器30中获取应用程序当前运行时间及超时时限。更新模块12用于连接应用服务器30的调用更新时间接口32,接收应用服务器30的更新指令,从应用服务器30中获取本次更新的运行时间。其中应用服务器30中应用程序更新频率是用户在各应用程序中根据需要设定的。消息发送模块14用于向侦听服务器20发送应用程序当前运行时间及超时时限、更新的运行时间。反馈信息接收模块15用于接收侦听服务器20反馈的信息,该反馈的信息是复位信息或运行正常信息。反馈信息判断模块16用于判断侦听服务器20反馈的信息是否为复位信息。当是复位信息时,则通过复位模块17向应用服务器30发送复位操作指令,强制应用程序复位。
本实施例的控制系统中,如图2所示,侦听服务器20包括消息接收模块21、超时判断模块22和信息反馈模块23。其中,消息接收模块21用于接收监控驱动装置10发送的应用程序的当前运行时间及超时时限、更新的运行时间。超时判断模块22用于计算更新的运行时间和开始运行时间的时间差,并将该时间差与超时时限进行比较。信息反馈模块23用于在时间差大于超时时限时,向监控驱动装置10发送复位信息;在时间差小于等于超时时限时,将更新的运行时间作为新的当前运行时间,并向监控驱动装置10发送运行正常信息。
本实施例的控制系统中,如图2所示,监控驱动装置10还包括结束监控模块13,用于连接应用服务器30的调用结束监控接口33,并通过消息发送模块14向侦听服务器20发送结束监控信息。
本实施例的控制系统中,如图2所示,还包括连接侦听服务器20的数据库40,用于存储接收到的应用服务器30的运行数据信息,包括正常运行时间和判断出来的出故障的时间,以便于进行应用程序的分析维护。
本发明以上实施例中,以一台侦听服务器对应监控一台应用服务器为例进行了说明,当需要监控多台应用服务器时,只需将不同应用服务器发送来的时间消息,及超时判断结果等数据按照该应用服务器对应的IP地址信息进行接收、存储、计算等操作,即可完成多台应用服务器的监控,在此不再赘述。
本发明通过对应用服务程序进行实施侦听及监控,可以解决自动化业务程序长时间运行过程中的稳定性问题,使自动化业务程序在自动终止时能自动再启动,保证其不间断运行,为业务系统的稳定性提供保障。而且记录应用服务程序的运行时间信息,便于对应用服务程序的运行状况进行跟踪、分析。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。