《一种进程守护方法.pdf》由会员分享,可在线阅读,更多相关《一种进程守护方法.pdf(6页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102436404 A (43)申请公布日 2012.05.02 C N 1 0 2 4 3 6 4 0 4 A *CN102436404A* (21)申请号 201110246854.4 (22)申请日 2011.08.24 G06F 11/00(2006.01) G06F 11/30(2006.01) (71)申请人苏州阔地网络科技有限公司 地址 215121 江苏省苏州市苏州工业园区葑 亭大道666号唯亭智能产业园8楼 (72)发明人胡加明 (54) 发明名称 一种进程守护方法 (57) 摘要 本发明提供一种进程守护方法,包括以下步 骤。守护进程实时监测工作进程。
2、的运行。当守护 进程监测到工作进程停止执行任务时,守护进程 分析工作进程停止执行任务的原因,并分析获得 导致所述原因的线程。守护进程根据恢复策略分 别处理工作进程中的问题线程以及正常线程。 (51)Int.Cl. (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 1 页 说明书 3 页 附图 1 页 CN 102436411 A 1/1页 2 1.一种进程守护方法,其特征在于,包括以下步骤: 守护进程实时监测工作进程的运行; 当所述守护进程监测到所述工作进程停止执行任务时,所述守护进程分析所述工作进 程停止执行任务的原因,并分析获得导致所述原因的线程; 所述守护进程根据恢。
3、复策略分别处理所述工作进程中的问题线程以及正常线程。 2.根据权利要求1所述的进程守护方法,其特征在于,当所述工作进程停止执行任务 的原因为工作进程的资源需求达到警戒值时,所述恢复策略为:所述守护进程重启所述工 作进程中的正常线程,以执行未完成的任务,所述守护进程将问题线程执行的任务分配给 其他工作进程中资源需求最低的工作进程执行。 3.根据权利要求2所述的进程守护方法,其特征在于,所述工作进程的资源需求指CPU 占用率、内存占用率或磁盘空间占用率。 4.根据权利要求1所述的进程守护方法,其特征在于,当所述工作进程停止执行任务 的原因为工作进程的资源需求达到警戒值时,所述恢复策略为:所述守护进。
4、程重启所述工 作进程中的正常线程,以执行未完成的任务,所述守护进程根据工作进程的优先级将问题 线程执行的任务分配给其他工作进程中优先级最低的工作进程执行。 5.根据权利要求4所述的进程守护方法,其特征在于,所述工作进程的资源需求指CPU 占用率、内存占用率或磁盘空间占用率。 6.根据权利要求1所述的进程守护方法,其特征在于,当所述工作进程停止执行任务 的原因为业务需求问题时,所述恢复策略为:所述守护进程重启所述工作进程中的正常线 程,以执行未完成的任务,所述守护进程调用其他正常进程中的线程执行问题线程执行的 任务。 7.根据权利要求6所述的进程守护方法,其特征在于,所述业务需求问题指业务请求 。
5、长时间未处理。 8.根据权利要求7所述的进程守护方法,其特征在于,所述业务请求包括查询请求、删 除请求、修改请求以及增加请求。 权 利 要 求 书CN 102436404 A CN 102436411 A 1/3页 3 一种进程守护方法 技术领域 0001 本发明属于网络技术领域,尤其涉及一种进程守护方法。 背景技术 0002 目前,网站的运转极大程度上依赖于服务器的稳定运行。目前较多网站采用主从 复制架构,且amoeba进程在主从复制架构中对数据读写分离起着重要作用。然而,amoeba 进程于运行过程中存在停止运行的情况,从而很大程度影响网站的稳定性。 发明内容 0003 本发明提供一种进程。
6、守护方法,以解决上述问题。 0004 本发明提供一种进程守护方法,包括以下步骤。守护进程实时监测工作进程的运 行。当守护进程监测到工作进程停止执行任务时,守护进程分析工作进程停止执行任务的 原因,并分析获得导致所述原因的线程。守护进程根据恢复策略分别处理工作进程中的问 题线程以及正常线程。 0005 相较于先前技术,根据本发明提供的进程守护方法,守护进程监测工作进程,并分 析获得导致工作进程中的问题线程,再根据恢复策略处理问题线程。如此,可以防止工作进 程突然停止执行任务而造成损失,从而提高操作的稳定性。 附图说明 0006 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本。
7、发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中: 0007 图1所示为根据本发明的较佳实施例提供的进程守护方法的流程图。 具体实施方式 0008 下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的 情况下,本申请中的实施例及实施例中的特征可以相互组合。 0009 图1所示为根据本发明的较佳实施例提供的进程守护方法的流程图。如图1所示, 本发明较佳实施例提供的进程守护方法包括步骤101103。 0010 于步骤101,守护进程实时监测工作进程的运行。其中,工作进程指核心业务进程。 于此,工作进程例如为mysql主从复制架构中的amoeba进程。
8、。然而,本发明并不限定于此。 具体而言,守护进程实时监控工作进程是否正常执行任务。 0011 于步骤102,当守护进程监测到工作进程停止执行任务时,守护进程分析工作进程 停止执行任务的原因,并分析获得导致所述原因的线程。具体而言,一个工作进程可包括多 个线程。当守护进程监测到工作进程停止执行任务时,守护进程会根据记录的工作进程的 资源需求以及业务需求情况分析工作进程停止执行任务的原因。此外,当守护进程分析得 到工作进程停止执行任务的原因后,守护进程会继续分析到底是工作进程中的哪个线程的 说 明 书CN 102436404 A CN 102436411 A 2/3页 4 运行产生问题而导致上述原。
9、因,从而获得工作进程中的问题线程。 0012 于步骤103,守护进程根据恢复策略分别处理工作进程中的问题线程以及正常线 程。 0013 于本实施例中,当工作进程停止执行任务的原因为工作进程的资源需求达到警戒 值时,恢复策略为:守护进程重启工作进程中的正常进程,以执行未完成的任务,守护进程 将问题线程执行的任务分配给其他工作进程中资源需求最低的工作进程执行。其中,工作 进程的资源需求例如指CPU占用率、内存占用率或磁盘空间占用率。然而,本发明并不限定 于此。于实际应用中,可根据实际需要进行设置。 0014 具体而言,以三个工作进程AC,工作进程A包括三个线程ac为例说明。其 中,工作进程A的线程。
10、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。 0015 此外,于另一较佳实施例中,当工作进程停止执行任务的原因为工作进程的资源 需求达到警戒值时,恢复策略为:守护进程重启工作进程中。
11、的正常进程,以执行未完成的任 务,守护进程根据工作进程的优先级将问题线程执行的任务分配给其他工作进程中优先级 最低的工作进程执行。其中,工作进程的资源需求例如指CPU占用率、内存占用率或磁盘空 间占用率。然而,本发明并不限定于此。于实际应用中,可根据实际需要进行设置。 0016 具体而言,以三个工作进程AC,工作进程A包括三个线程ac为例说明。其 中,工作进程AC的优先级顺序为:工作进程A的优先级高于工作进程B,工作进程B的 优先级高于工作进程C。而且,工作进程A的线程a的CPU占用率为50,线程b和线程c 的CPU占用率分别为5。当工作进程A的资源需求(例如,CPU占用率)达到警戒值(例 如。
12、,60)时,守护进程分析获得导致上述原因的线程为工作进程A的线程a。此时,恢复策 略为:守护进程重启工作进程A中的正常线程b和c,以执行未完成的任务,守护进程根据 工作进程的优先级将问题线程a执行的任务分配给工作进程B和C中优先级较低的工作进 程C执行。其中,守护进程不会重启问题线程a。 0017 此外,于本实施例中,当工作进程停止执行任务的原因为业务需求问题时,恢复策 略为:守护进程重启工作进程中的正常线程,以执行未完成的任务,守护进程调用其他正常 进程中的线程执行问题线程执行的任务。其中,业务需求问题包括业务请求长时间未处理 的问题。业务请求例如包括查询请求、删除请求、修改请求以及增加请求。
13、。然而,本发明对 此不作任何限定。 0018 具体而言,以四个工作进程AD,工作进程A包括四个线程a1a4,工作进程B 包括三个线程b1b3,工作进程C包括四个线程c1c4,工作进程D包括三件d1d3 为例进行说明。其中,工作进程A的线程a1执行查询请求、线程a2执行删除请求,线程a3 执行修改请求,线程a4执行增加请求。当工作进程A停止执行任务的原因为长时间未处理 查询请求时,守护进程分析获得问题线程为工作进程A的线程a1。此时,恢复策略为:守护 进程重启工作进程A中的正常线程a2a4,以执行未完成的任务,守护进程调用正常进程 说 明 书CN 102436404 A CN 102436411。
14、 A 3/3页 5 (例如,工作进程B、C或D)中的空闲线程执行问题线程a1执行的查询任务。 0019 以下举例说明上述正常进程中的空闲线程的选取方式。根据其他正常进程的资源 需求(例如,CPU占用率)和警戒值(例如,60)的比值设置正常进程的优先级。其中, CPU占用率和警戒值的比值越小优先级越高。此外,通过线程的CPU占用率判断线程的空闲 程度,CPU占用率越低则线程越空闲。例如,工作进程BD的CPU占用率和警戒值的比值 从大到小的顺序为:工作进程D、工作进程C、工作进程B。据此,工作进程BD的优先级 从高到低的顺序为:工作进程B、工作进程C、工作进程D。另外,在工作进程B中线程的空 闲程。
15、度从高到低的顺序为:线程b1、线程b2、线程b3。此时,根据恢复策略,守护进程调用 工作进程B中的线程b1执行问题线程a1执行的查询任务。 0020 综上所述,根据本发明较佳实施例提供的进程守护方法,守护进程监测工作进程, 并分析获得导致工作进程中的问题线程,再根据恢复策略处理问题线程。如此,可以防止工 作进程突然停止执行任务而造成损失,从而提高操作的稳定性。 0021 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。 说 明 书CN 102436404 A CN 102436411 A 1/1页 6 图1 说 明 书 附 图CN 102436404 A 。