一种进程守护方法

文档序号:6431488阅读:131来源:国知局
专利名称:一种进程守护方法
技术领域
本发明属于网络技术领域,尤其涉及一种进程守护方法。
背景技术
目前,网站的运转极大程度上依赖于服务器的稳定运行。目前较多网站采用主从复制架构,且amoeki进程在主从复制架构中对数据读写分离起着重要作用。然而,amoeba 进程于运行过程中存在停止运行的情况,从而很大程度影响网站的稳定性。

发明内容
本发明提供一种进程守护方法,以解决上述问题。本发明提供一种进程守护方法,包括以下步骤。守护进程实时监测工作进程的运行。当守护进程监测到工作进程停止执行任务时,守护进程分析工作进程停止执行任务的原因,并分析获得导致所述原因的线程。守护进程根据恢复策略分别处理工作进程中的问题线程以及正常线程。相较于先前技术,根据本发明提供的进程守护方法,守护进程监测工作进程,并分析获得导致工作进程中的问题线程,再根据恢复策略处理问题线程。如此,可以防止工作进程突然停止执行任务而造成损失,从而提高操作的稳定性。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1所示为根据本发明的较佳实施例提供的进程守护方法的流程图。
具体实施例方式下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。图1所示为根据本发明的较佳实施例提供的进程守护方法的流程图。如图1所示, 本发明较佳实施例提供的进程守护方法包括步骤101 103。于步骤101,守护进程实时监测工作进程的运行。其中,工作进程指核心业务进程。 于此,工作进程例如为mysql主从复制架构中的amoeki进程。然而,本发明并不限定于此。 具体而言,守护进程实时监控工作进程是否正常执行任务。于步骤102,当守护进程监测到工作进程停止执行任务时,守护进程分析工作进程停止执行任务的原因,并分析获得导致所述原因的线程。具体而言,一个工作进程可包括多个线程。当守护进程监测到工作进程停止执行任务时,守护进程会根据记录的工作进程的资源需求以及业务需求情况分析工作进程停止执行任务的原因。此外,当守护进程分析得到工作进程停止执行任务的原因后,守护进程会继续分析到底是工作进程中的哪个线程的运行产生问题而导致上述原因,从而获得工作进程中的问题线程。于步骤103,守护进程根据恢复策略分别处理工作进程中的问题线程以及正常线程。于本实施例中,当工作进程停止执行任务的原因为工作进程的资源需求达到警戒值时,恢复策略为守护进程重启工作进程中的正常进程,以执行未完成的任务,守护进程将问题线程执行的任务分配给其他工作进程中资源需求最低的工作进程执行。其中,工作进程的资源需求例如指CPU占用率、内存占用率或磁盘空间占用率。然而,本发明并不限定于此。于实际应用中,可根据实际需要进行设置。具体而言,以三个工作进程A C,工作进程A包括三个线程a c为例说明。其中,工作进程A的线程a的CPU占用率为50%,线程b和线程c的CPU占用率分别为5%。 工作进程B的CPU占用率为6 %,工作进程C的CPU占用率为4%,即工作进程C的资源需求小于工作进程B。当工作进程A的资源需求(例如,CPU占用率)达到警戒值(例如,60% ) 时,守护进程分析获得导致上述原因的线程为工作进程A的线程a。此时,恢复策略为守护进程重启工作进程A中的正常线程b和c,以执行未完成的任务,守护进程将问题线程a 执行的任务分配给工作进程C执行。其中,守护进程不会重启问题线程a。此外,于另一较佳实施例中,当工作进程停止执行任务的原因为工作进程的资源需求达到警戒值时,恢复策略为守护进程重启工作进程中的正常进程,以执行未完成的任务,守护进程根据工作进程的优先级将问题线程执行的任务分配给其他工作进程中优先级最低的工作进程执行。其中,工作进程的资源需求例如指CPU占用率、内存占用率或磁盘空间占用率。然而,本发明并不限定于此。于实际应用中,可根据实际需要进行设置。具体而言,以三个工作进程A C,工作进程A包括三个线程a c为例说明。其中,工作进程A C的优先级顺序为工作进程A的优先级高于工作进程B,工作进程B的优先级高于工作进程C。而且,工作进程A的线程a的CPU占用率为50%,线程b和线程c 的CPU占用率分别为5%。当工作进程A的资源需求(例如,CPU占用率)达到警戒值(例如,60%)时,守护进程分析获得导致上述原因的线程为工作进程A的线程a。此时,恢复策略为守护进程重启工作进程A中的正常线程b和c,以执行未完成的任务,守护进程根据工作进程的优先级将问题线程a执行的任务分配给工作进程B和C中优先级较低的工作进程C执行。其中,守护进程不会重启问题线程a。此外,于本实施例中,当工作进程停止执行任务的原因为业务需求问题时,恢复策略为守护进程重启工作进程中的正常线程,以执行未完成的任务,守护进程调用其他正常进程中的线程执行问题线程执行的任务。其中,业务需求问题包括业务请求长时间未处理的问题。业务请求例如包括查询请求、删除请求、修改请求以及增加请求。然而,本发明对此不作任何限定。具体而言,以四个工作进程A D,工作进程A包括四个线程al a4,工作进程B 包括三个线程bl b3,工作进程C包括四个线程cl c4,工作进程D包括三件dl d3 为例进行说明。其中,工作进程A的线程al执行查询请求、线程a2执行删除请求,线程a3 执行修改请求,线程a4执行增加请求。当工作进程A停止执行任务的原因为长时间未处理查询请求时,守护进程分析获得问题线程为工作进程A的线程al。此时,恢复策略为守护进程重启工作进程A中的正常线程a2 a4,以执行未完成的任务,守护进程调用正常进程(例如,工作进程B、C或D)中的空闲线程执行问题线程al执行的查询任务。以下举例说明上述正常进程中的空闲线程的选取方式。根据其他正常进程的资源需求(例如,CPU占用率)和警戒值(例如,60% )的比值设置正常进程的优先级。其中, CPU占用率和警戒值的比值越小优先级越高。此外,通过线程的CPU占用率判断线程的空闲程度,CPU占用率越低则线程越空闲。例如,工作进程B D的CPU占用率和警戒值的比值从大到小的顺序为工作进程D、工作进程C、工作进程B。据此,工作进程B D的优先级从高到低的顺序为工作进程B、工作进程C、工作进程D。另外,在工作进程B中线程的空闲程度从高到低的顺序为线程bl、线程1^2、线程b3。此时,根据恢复策略,守护进程调用工作进程B中的线程bl执行问题线程al执行的查询任务。综上所述,根据本发明较佳实施例提供的进程守护方法,守护进程监测工作进程, 并分析获得导致工作进程中的问题线程,再根据恢复策略处理问题线程。如此,可以防止工作进程突然停止执行任务而造成损失,从而提高操作的稳定性。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种进程守护方法,其特征在于,包括以下步骤守护进程实时监测工作进程的运行;当所述守护进程监测到所述工作进程停止执行任务时,所述守护进程分析所述工作进程停止执行任务的原因,并分析获得导致所述原因的线程;所述守护进程根据恢复策略分别处理所述工作进程中的问题线程以及正常线程。
2.根据权利要求1所述的进程守护方法,其特征在于,当所述工作进程停止执行任务的原因为工作进程的资源需求达到警戒值时,所述恢复策略为所述守护进程重启所述工作进程中的正常线程,以执行未完成的任务,所述守护进程将问题线程执行的任务分配给其他工作进程中资源需求最低的工作进程执行。
3.根据权利要求2所述的进程守护方法,其特征在于,所述工作进程的资源需求指CPU 占用率、内存占用率或磁盘空间占用率。
4.根据权利要求1所述的进程守护方法,其特征在于,当所述工作进程停止执行任务的原因为工作进程的资源需求达到警戒值时,所述恢复策略为所述守护进程重启所述工作进程中的正常线程,以执行未完成的任务,所述守护进程根据工作进程的优先级将问题线程执行的任务分配给其他工作进程中优先级最低的工作进程执行。
5.根据权利要求4所述的进程守护方法,其特征在于,所述工作进程的资源需求指CPU 占用率、内存占用率或磁盘空间占用率。
6.根据权利要求1所述的进程守护方法,其特征在于,当所述工作进程停止执行任务的原因为业务需求问题时,所述恢复策略为所述守护进程重启所述工作进程中的正常线程,以执行未完成的任务,所述守护进程调用其他正常进程中的线程执行问题线程执行的任务。
7.根据权利要求6所述的进程守护方法,其特征在于,所述业务需求问题指业务请求长时间未处理。
8.根据权利要求7所述的进程守护方法,其特征在于,所述业务请求包括查询请求、删除请求、修改请求以及增加请求。
全文摘要
本发明提供一种进程守护方法,包括以下步骤。守护进程实时监测工作进程的运行。当守护进程监测到工作进程停止执行任务时,守护进程分析工作进程停止执行任务的原因,并分析获得导致所述原因的线程。守护进程根据恢复策略分别处理工作进程中的问题线程以及正常线程。
文档编号G06F11/00GK102436404SQ20111024685
公开日2012年5月2日 申请日期2011年8月24日 优先权日2011年8月24日
发明者胡加明 申请人:苏州阔地网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1