著录项信息
专利名称 | 一种进程守护方法 |
申请号 | CN201110246854.4 | 申请日期 | 2011-08-24 |
法律状态 | 暂无 | 申报国家 | 中国 |
公开/公告日 | 2012-05-02 | 公开/公告号 | CN102436404A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F11/00 | IPC分类号 | G;0;6;F;1;1;/;0;0;;;G;0;6;F;1;1;/;3;0查看分类表>
|
申请人 | 苏州阔地网络科技有限公司 | 申请人地址 | 江苏省苏州市苏州工业园区葑亭大道666号唯亭智能产业园8楼
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 阔地教育科技有限公司 | 当前权利人 | 阔地教育科技有限公司 |
发明人 | 胡加明 |
代理机构 | 暂无 | 代理人 | 暂无 |
摘要
本发明提供一种进程守护方法,包括以下步骤。守护进程实时监测工作进程的运行。当守护进程监测到工作进程停止执行任务时,守护进程分析工作进程停止执行任务的原因,并分析获得导致所述原因的线程。守护进程根据恢复策略分别处理工作进程中的问题线程以及正常线程。
1.一种进程守护方法,其特征在于,包括以下步骤:
守护进程实时监测工作进程的运行;
当所述守护进程监测到所述工作进程停止执行任务时,所述守护进程分析所述工作进程停止执行任务的原因,并分析获得导致所述原因的线程;
所述守护进程根据恢复策略分别处理所述工作进程中的问题线程以及正常线程,其中,当所述工作进程停止执行任务的原因为工作进程的资源需求达到警戒值时,所述恢复策略为:所述守护进程重启所述工作进程中的正常线程,以执行未完成的任务,所述守护进程将问题线程执行的任务分配给其他工作进程中资源需求最低的工作进程执行,或者,所述恢复策略为:所述守护进程重启所述工作进程中的正常线程,以执行未完成的任务,所述守护进程根据工作进程的优先级将问题线程执行的任务分配给其他工作进程中优先级最低的工作进程执行,
当所述工作进程停止执行任务的原因为业务需求问题时,所述恢复策略为:所述守护进程重启所述工作进程中的正常线程,以执行未完成的任务,所述守护进程调用其他正常进程中的线程执行问题线程执行的任务。
2.根据权利要求1所述的进程守护方法,其特征在于,所述工作进程的资源需求指CPU占用率、内存占用率或磁盘空间占用率。
3.根据权利要求1所述的进程守护方法,其特征在于,所述业务需求问题指业务请求长时间未处理。
4.根据权利要求3所述的进程守护方法,其特征在于,所述业务请求包括查询请求、删除请求、修改请求以及增加请求。
一种进程守护方法\n技术领域\n[0001] 本发明属于网络技术领域,尤其涉及一种进程守护方法。\n背景技术\n[0002] 目前,网站的运转极大程度上依赖于服务器的稳定运行。目前较多网站采用主从复制架构,且amoeba进程在主从复制架构中对数据读写分离起着重要作用。然而,amoeba进程于运行过程中存在停止运行的情况,从而很大程度影响网站的稳定性。\n发明内容\n[0003] 本发明提供一种进程守护方法,以解决上述问题。\n[0004] 本发明提供一种进程守护方法,包括以下步骤。守护进程实时监测工作进程的运行。当守护进程监测到工作进程停止执行任务时,守护进程分析工作进程停止执行任务的原因,并分析获得导致所述原因的线程。守护进程根据恢复策略分别处理工作进程中的问题线程以及正常线程。其中,当工作进程停止执行任务的原因为工作进程的资源需求达到警戒值时,恢复策略为:守护进程重启工作进程中的正常线程,以执行未完成的任务,守护进程将问题线程执行的任务分配给其他工作进程中资源需求最低的工作进程执行,或者,恢复策略为:守护进程重启工作进程中的正常线程,以执行未完成的任务,守护进程根据工作进程的优先级将问题线程执行的任务分配给其他工作进程中优先级最低的工作进程执行。当工作进程停止执行任务的原因为业务需求问题时,恢复策略为:守护进程重启工作进程中的正常线程,以执行未完成的任务,守护进程调用其他正常进程中的线程执行问题线程执行的任务。\n[0005] 相较于先前技术,根据本发明提供的进程守护方法,守护进程监测工作进程,并分析获得导致工作进程中的问题线程,再根据恢复策略处理问题线程。如此,可以防止工作进程突然停止执行任务而造成损失,从而提高操作的稳定性。\n附图说明\n[0006] 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:\n[0007] 图1所示为根据本发明的较佳实施例提供的进程守护方法的流程图。\n具体实施方式\n[0008] 下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。\n[0009] 图1所示为根据本发明的较佳实施例提供的进程守护方法的流程图。如图1所示,本发明较佳实施例提供的进程守护方法包括步骤101~103。\n[0010] 于步骤101,守护进程实时监测工作进程的运行。其中,工作进程指核心业务进程。\n于此,工作进程例如为mysql主从复制架构中的amoeba进程。然而,本发明并不限定于此。\n具体而言,守护进程实时监控工作进程是否正常执行任务。\n[0011] 于步骤102,当守护进程监测到工作进程停止执行任务时,守护进程分析工作进程停止执行任务的原因,并分析获得导致所述原因的线程。具体而言,一个工作进程可包括多个线程。当守护进程监测到工作进程停止执行任务时,守护进程会根据记录的工作进程的资源需求以及业务需求情况分析工作进程停止执行任务的原因。此外,当守护进程分析得到工作进程停止执行任务的原因后,守护进程会继续分析到底是工作进程中的哪个线程的运行产生问题而导致上述原因,从而获得工作进程中的问题线程。\n[0012] 于步骤103,守护进程根据恢复策略分别处理工作进程中的问题线程以及正常线程。\n[0013] 于本实施例中,当工作进程停止执行任务的原因为工作进程的资源需求达到警戒值时,恢复策略为:守护进程重启工作进程中的正常进程,以执行未完成的任务,守护进程将问题线程执行的任务分配给其他工作进程中资源需求最低的工作进程执行。其中,工作进程的资源需求例如指CPU占用率、内存占用率或磁盘空间占用率。然而,本发明并不限定于此。于实际应用中,可根据实际需要进行设置。\n[0014] 具体而言,以三个工作进程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。\n[0015] 此外,于另一较佳实施例中,当工作进程停止执行任务的原因为工作进程的资源需求达到警戒值时,恢复策略为:守护进程重启工作进程中的正常进程,以执行未完成的任务,守护进程根据工作进程的优先级将问题线程执行的任务分配给其他工作进程中优先级最低的工作进程执行。其中,工作进程的资源需求例如指CPU占用率、内存占用率或磁盘空间占用率。然而,本发明并不限定于此。于实际应用中,可根据实际需要进行设置。\n[0016] 具体而言,以三个工作进程A~C,工作进程A包括三个线程a~c为例说明。其中,工作进程A~C的优先级顺序为:工作进程A的优先级高于工作进程B,工作进程B的优先级高于工作进程C。而且,工作进程A的线程a的CPU占用率为50%,线程b和线程c的CPU占用率分别为5%。当工作进程A的资源需求(例如,CPU占用率)达到警戒值(例如,\n60%)时,守护进程分析获得导致上述原因的线程为工作进程A的线程a。此时,恢复策略为:\n守护进程重启工作进程A中的正常线程b和c,以执行未完成的任务,守护进程根据工作进程的优先级将问题线程a执行的任务分配给工作进程B和C中优先级较低的工作进程C执行。其中,守护进程不会重启问题线程a。\n[0017] 此外,于本实施例中,当工作进程停止执行任务的原因为业务需求问题时,恢复策略为:守护进程重启工作进程中的正常线程,以执行未完成的任务,守护进程调用其他正常进程中的线程执行问题线程执行的任务。其中,业务需求问题包括业务请求长时间未处理的问题。业务请求例如包括查询请求、删除请求、修改请求以及增加请求。然而,本发明对此不作任何限定。\n[0018] 具体而言,以四个工作进程A~D,工作进程A包括四个线程a1~a4,工作进程B包括三个线程b1~b3,工作进程C包括四个线程c1~c4,工作进程D包括三件d1~d3为例进行说明。其中,工作进程A的线程a1执行查询请求、线程a2执行删除请求,线程a3执行修改请求,线程a4执行增加请求。当工作进程A停止执行任务的原因为长时间未处理查询请求时,守护进程分析获得问题线程为工作进程A的线程a1。此时,恢复策略为:守护进程重启工作进程A中的正常线程a2~a4,以执行未完成的任务,守护进程调用正常进程(例如,工作进程B、C或D)中的空闲线程执行问题线程a1执行的查询任务。\n[0019] 以下举例说明上述正常进程中的空闲线程的选取方式。根据其他正常进程的资源需求(例如,CPU占用率)和警戒值(例如,60%)的比值设置正常进程的优先级。其中,CPU占用率和警戒值的比值越小优先级越高。此外,通过线程的CPU占用率判断线程的空闲程度,CPU占用率越低则线程越空闲。例如,工作进程B~D的CPU占用率和警戒值的比值从大到小的顺序为:工作进程D、工作进程C、工作进程B。据此,工作进程B~D的优先级从高到低的顺序为:工作进程B、工作进程C、工作进程D。另外,在工作进程B中线程的空闲程度从高到低的顺序为:线程b1、线程b2、线程b3。此时,根据恢复策略,守护进程调用工作进程B中的线程b1执行问题线程a1执行的查询任务。\n[0020] 综上所述,根据本发明较佳实施例提供的进程守护方法,守护进程监测工作进程,并分析获得导致工作进程中的问题线程,再根据恢复策略处理问题线程。如此,可以防止工作进程突然停止执行任务而造成损失,从而提高操作的稳定性。\n[0021] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
法律信息
- 2016-12-07
专利权人的姓名或者名称、地址的变更
专利权人由苏州阔地网络科技有限公司变更为阔地教育科技有限公司
地址由215121 江苏省苏州市苏州工业园区葑亭大道666号唯亭智能产业园8楼变更为215121 江苏省苏州市苏州工业园区葑亭大道666号唯亭智能产业园8楼
- 2013-08-14
- 2012-06-27
实质审查的生效
IPC(主分类): G06F 11/00
专利申请号: 201110246854.4
申请日: 2011.08.24
- 2012-05-02
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2011-06-22
|
2011-02-28
| | |
2
| |
2010-11-24
|
2010-07-12
| | |
3
| |
2009-03-18
|
2008-11-05
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |