CN102436397B - 一种基于windows服务控制器的系统自动运行方法 - Google Patents
一种基于windows服务控制器的系统自动运行方法 Download PDFInfo
- Publication number
- CN102436397B CN102436397B CN201110309732.5A CN201110309732A CN102436397B CN 102436397 B CN102436397 B CN 102436397B CN 201110309732 A CN201110309732 A CN 201110309732A CN 102436397 B CN102436397 B CN 102436397B
- Authority
- CN
- China
- Prior art keywords
- windows
- program
- file
- background service
- program module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000012544 monitoring process Methods 0.000 claims description 5
- 238000011017 operating method Methods 0.000 claims description 3
- 230000005856 abnormality Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Landscapes
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种基于windows服务控制器的系统自动运行方法,该方法是基于windows服务控制器,通过监控程序和windows后台服务程序文件接口,(1)windows后台服务程序定时生成标识程序运行正常的种子文件;(2)监控程序定时删除对应种子文件,若在指定时间内未发现种子文件时,(3)通过向windows服务控制器发送停止、启动消息,保证windows后台服务程序持续运行,被监控服务程序也可以主动生成程序异常标志文件,监控程序监测到异常标志文件,向windows服务控制器发送停止、启动消息,重新运行windows后台服务程序。本发明的方法以较少的改动,保证被监控的windows后台服务程序7×24小时运行。
Description
技术领域
本发明涉及计算机技术,特别是提供了一种基于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后台服务程序的失败关键点中创建标志文件,该标志文件表示需要自动运行的目标程序模块运行异常,需要重新运行;
③ 所述的监控程序模块在监控windows后台服务程序时,要定期检查种子文件:(1)若存在种子文件,则表明被监控的需要自动运行的目标程序模块运行正常,立即删除该种子文件;(2)若不存在种子文件且不存在的标志文件,表明windows后台服务程序未运行且未自行发现故障,监控程序模块则向windows服务控制器发送停止该种子文件所对应的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服务控制器的系统自动运行方法与现有技术相比具有如下技术优点:
1.本发明的实现方法只需要将现有程序改造为服务程序,并在程序关键点中增加创建种子文件或者异常文件的代码,并不需要对原有软件做任何其它改造和扩展,因此可以保证原有程序结构,确保软件的稳定性和服务质量。
2.本发明的实现方法只是加了一个监控守护进程,不需要任何其它硬件投入,同时可通过配置文件增、减被监控程序,其投入较小,实施简单方便,而且具有很强的可扩展性。
3.通过本发明的方法来守护需要自动运行的程序,我们可以在用户可接受的时间范围内保证所有被监控程序7×24持续运行。
附图说明
图1是现有技术中基于双机热备方式保证系统持续运行的结构示意图。
图2是本发明一种基于windows服务控制器的自动运行系统的流程示意图。
图3是本发明一种基于windows服务控制器的自动运行系统的实施例中短信增值服务系统结构示意图。
具体实施方式
下面我们结合附图和具体的实施例来对本发明的一种基于windows服务控制器的系统自动运行方法做进一步的详细阐述,要求更为清楚明了地明白本发明的结构和工作流程,但不能以此来限制本发明的保护范围。
本发明基于windows服务控制器的系统自动运行方法的主要思路是将需要自动运行的后台程序模块改造为windows后台服务程序:(1)将原后台程序主程序部分封装成1个函数,如ServiceStart;(2)增加1个函数,如ServiceStop,处理服务中止信号时,修改对应全局变量,如程序退出标志;(3)在Windows服务框架service_main中调用ServiceStart,在service_ctrl中若为SERVICE_CONTROL_STOP消息码,调用ServiceStop。并在改造后的windows后台服务程序中创建标识目标程序模块运行正常的种子文件和标识目标程序模块失败的标志文件;创建一个监控程序模块以定时监控种子文件和标志文件;监控程序模块根据种子文件和标志文件,向服务控制器发送停止、运行消息,服务控制程序根据上述指令来重新启动相应的windows后台服务程序。
本发明的方法运行情况如图2所示,图2是本发明一种基于WINDOWS服务控制器的自动运行系统的流程示意图。上述基于windows服务控制器的系统自动运行方法的详细运行步骤如下:
① 将需要自动运行的目标程序模块修改为windows后台服务程序,创建一个监控程序模块以监控该windows后台服务程序;
② 在windows后台服务程序的关键流程中创建种子文件,该种子文件表示需要自动运行的目标程序模块运行正常,种子文件在设定的时间内定期生成;在windows后台服务程序的失败关键点中创建标志文件,该标志文件表示需要自动运行的目标程序模块运行异常,需要重新运行;
③ 所述的监控程序模块在监控windows后台服务程序时,要定期检查种子文件:(1)若存在种子文件,则表明被监控的需要自动运行的目标程序模块运行正常,立即删除该种子文件;(2)若不存在种子文件且不存在的标志文件,表明windows后台服务程序未运行且未自行发现故障,监控程序模块则向windows服务控制器发送停止该种子文件所对应的windows后台服务程序运行的指令,以关闭该windows后台服务程序,随后立即发送启动该windows后台服务程序的指令,以重新启动该windows后台服务程序;
④ 若监控程序模块发现不存在种子文件但存在有标志文件,表明目标程序模块出现故障主动要求重新启动,则监控程序模块立即向windows服务控制器发送启动该windows后台服务程序的指令,以重新启动该windows后台服务程序。
本发明是一种基于windows服务控制器的自动运行系统的实现方法,其通过在将目标程序修改为windows后台服务程序,并定时生成种子文件,并通过跟监控程序进程的结合,从而保证目标程序在系统内7×24小时运行。
实施例1
基于本发明,我们为了进一步实现在windows系统下短信增值服务功能,我们设计了多个软件程序模块以保证其正常运行。如图3所示。该系统各软件组成部分及其功能简介参见表1。
这里的多个后台程序按照本发明的方法保证其需要长时间正常运行。为短信增值服务系统服务的各个程序模块主要包括有短信日志过滤程序、H2接口程序、SMPP接口程序、SGIP通信程序、短信解析程序、短信指令处理程序。
上述各个目标程序按照发明要求设计为windows后台服务程序,并在关键点创建种子文件,通过跟守护服务进程结合,从而保证整个短信增值系统的7×24小时运行。
表1短信增值服务系统程序组成部分及其功能简介:
1)将被每个监控程序设计为相应的windows后台服务程序。
2)每个被监控服务程序,每隔一定的周期(周期的长短可以自行配置),创建一个表示程序正常活动运行的种子文件。
3)被监控服务程序在关键点执行失败时可以创建标识程序运行失败的标志文件,这个标志文件是被监控服务程序主动要求重启的标志。
4)在监控程序模块的配置文件中,记录需要监控的服务程序个数,以及每个服务程序的服务名称、执行文件名称、活动标志文件名称和异常文件名称。
5)监控程序按照配置的时间间隔,轮询每个windows后台服务程序所生成的种子文件,若存在种子文件,则删除该种子文件;若不存在种子文件或者发现异常文件,则表明在配置的周期内,该服务程序未创建文件,服务程序可能已停止,监控程序向windows服务控制器发送重新启动信号,完成windows后台服务程序的重新启动。
本发明的方法是基于windows服务控制器,通过监控程序和windows后台服务程序文件接口,(1)windows后台服务程序定时生成标识程序运行正常的种子文件;(2)监控程序定时删除对应种子文件,若在指定时间内未发现种子文件时,(3)通过向windows服务控制器发送停止、启动消息,保证windows后台服务程序持续运行,被监控服务程序也可以主动生成程序异常标志文件,监控程序监测到异常标志文件,向windows服务控制器发送停止、启动消息,重新运行windows后台服务程序。本发明的方法以较少的改动,保证被监控的windows后台服务程序7×24小时运行。除了上述系统方法以外,在本发明的方法,还可以应用于任何需要保证程序持续运行的系统。
Claims (2)
1.一种基于windows服务控制器的系统自动运行方法,其特征在于,该方法将需要自动运行的目标程序模块改造为windows后台服务程序,并在windows后台服务程序中创建标识目标程序模块运行正常的种子文件和标识目标程序模块失败的标志文件;同时创建一个监控程序模块以定时监控种子文件和标志文件;监控程序模块根据种子文件和标志文件,向windows服务控制器发送停止及运行信息,由windows服务控制器重新启动相应的windows后台服务程序,该方法的详细运行步骤如下:
① 将需要自动运行的目标程序模块修改为windows后台服务程序,创建一个监控程序模块以监控该windows后台服务程序;
② 在windows后台服务程序的关键流程中创建种子文件,该种子文件表示需要自动运行的目标程序模块运行正常,种子文件在设定的时间内定期生成;在windows后台服务程序的失败关键点中创建标志文件,该标志文件表示需要自动运行的目标程序模块运行异常,需要重新运行;
③ 所述的监控程序模块在监控windows后台服务程序时,要定期检查种子文件:(1)若存在种子文件,则表明被监控的需要自动运行的目标程序模块运行正常,立即删除该种子文件;(2)若不存在种子文件且不存在标志文件,表明windows后台服务程序未正常运行且未自行发现故障,监控程序模块则向windows服务控制器发送停止该种子文件所对应的windows后台服务程序运行的指令,以关闭该windows后台服务程序,随后立即发送启动该windows后台服务程序的指令,以重新启动该windows后台服务程序;
④ 若监控程序模块发现不存在种子文件但存在有标志文件,表明目标程序模块出现故障主动要求重新启动,则监控程序模块立即向windows服务控制器发送启动该windows后台服务程序的指令,以重新启动该windows后台服务程序。
2.根据权利要求1所述的一种基于windows服务控制器的系统自动运行方法,其特征在于,监控程序模块可以同时监控多个windows后台服务程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110309732.5A CN102436397B (zh) | 2011-10-13 | 2011-10-13 | 一种基于windows服务控制器的系统自动运行方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110309732.5A CN102436397B (zh) | 2011-10-13 | 2011-10-13 | 一种基于windows服务控制器的系统自动运行方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102436397A CN102436397A (zh) | 2012-05-02 |
CN102436397B true CN102436397B (zh) | 2014-09-24 |
Family
ID=45984476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110309732.5A Active CN102436397B (zh) | 2011-10-13 | 2011-10-13 | 一种基于windows服务控制器的系统自动运行方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102436397B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105487847B (zh) * | 2014-09-19 | 2019-09-03 | 阿里巴巴集团控股有限公司 | 一种功能发布方法和设备 |
CN112677659B (zh) * | 2020-12-22 | 2022-09-09 | 厦门喵宝科技有限公司 | 一种便携式智能打印装置的控制方法及打印装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1160246A (zh) * | 1996-03-18 | 1997-09-24 | 宏碁电脑股份有限公司 | 具有检错处理功能的数据处理系统 |
CN101079002A (zh) * | 2007-07-03 | 2007-11-28 | 广东省环境保护监测中心站 | 侦听式计算机运行监控装置及其监控方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101309148B (zh) * | 2008-06-24 | 2010-09-29 | 中兴通讯股份有限公司 | 一种软件看门狗系统 |
CN101354677B (zh) * | 2008-09-11 | 2014-12-03 | 青岛海信移动通信技术股份有限公司 | 一种应用程序运行状态的检测方法及装置 |
-
2011
- 2011-10-13 CN CN201110309732.5A patent/CN102436397B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1160246A (zh) * | 1996-03-18 | 1997-09-24 | 宏碁电脑股份有限公司 | 具有检错处理功能的数据处理系统 |
CN101079002A (zh) * | 2007-07-03 | 2007-11-28 | 广东省环境保护监测中心站 | 侦听式计算机运行监控装置及其监控方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102436397A (zh) | 2012-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107783975B (zh) | 分布式数据库同步处理的方法和装置 | |
US10152382B2 (en) | Method and system for monitoring virtual machine cluster | |
CN106202075B (zh) | 一种数据库主备切换的方法及装置 | |
CN102209100B (zh) | 一种任务调度云处理系统及其方法 | |
US10545807B2 (en) | Method and system for acquiring parameter sets at a preset time interval and matching parameters to obtain a fault scenario type | |
US8516295B2 (en) | System and method of collecting and reporting exceptions associated with information technology services | |
CN111274052A (zh) | 数据分发方法、服务器及计算机可读存储介质 | |
CN103324565B (zh) | 日志监控方法 | |
CN105227347A (zh) | 一种通用的运维监控方法及运维监控系统 | |
CN103678051B (zh) | 一种集群数据处理系统中的在线故障容错方法 | |
US20190014175A1 (en) | Computer servers for datacenter management | |
CN102737016B (zh) | 基于并行处理的信息文件生成系统及方法 | |
CN106789398A (zh) | 一种媒体大数据hadoop集群监控的方法 | |
CN103067209A (zh) | 一种心跳模块自检测方法 | |
CN104601668A (zh) | 基于状态管理的数据推送方法、装置和系统 | |
CN107729213B (zh) | 一种后台任务监控方法及装置 | |
CN106294795A (zh) | 一种数据库切换方法及系统 | |
CN102436397B (zh) | 一种基于windows服务控制器的系统自动运行方法 | |
CN117130730A (zh) | 面向联邦Kubernetes集群的元数据管理方法 | |
US20120239988A1 (en) | Computing unit, method of managing computing unit, and computing unit management program | |
JP2019049802A (ja) | 障害解析支援装置、インシデント管理システム、障害解析支援方法及びプログラム | |
CN109728957B (zh) | 一种交互式运维的方法及装置 | |
CN103595771A (zh) | 一种集群的并行业务组控制和管理的方法 | |
CN111162938A (zh) | 数据处理系统及方法 | |
EP2495660A1 (en) | Information processing device and method for controlling information processing device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20240219 Address after: No. 163 Liujiao South Lane, Qiaokou District, Wuhan City, Hubei Province, 430022 Patentee after: Hubei elite Shenghua Information Technology Co.,Ltd. Country or region after: China Address before: Room 1103-4, No. 912 Gonghe Xin Road, Pudong New Area, Shanghai Patentee before: Shanghai Trasin Information Technology Co.,Ltd. Country or region before: China |